diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..fc6204f --- /dev/null +++ b/.eslintignore @@ -0,0 +1,5 @@ +assets +style +dist +node_modules +.eslintrc.js \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..42f2671 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,20 @@ +module.exports = { + env: { + "browser": true, + "es6": true, + "es2017": true + }, + root: true, + parser: "@typescript-eslint/parser", + parserOptions: { + project: "tsconfig.json", + tsconfigRootDir: ".", + }, + plugins: [ + "powerbi-visuals" + ], + extends: [ + "plugin:powerbi-visuals/recommended" + ], + rules: {} +}; \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..76add87 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules +dist \ No newline at end of file diff --git a/.tmp/build/.tmp/precompile/visualPlugin.d.ts b/.tmp/build/.tmp/precompile/visualPlugin.d.ts new file mode 100644 index 0000000..c6b5e3b --- /dev/null +++ b/.tmp/build/.tmp/precompile/visualPlugin.d.ts @@ -0,0 +1,4 @@ +import powerbiVisualsApi from "powerbi-visuals-api"; +import IVisualPlugin = powerbiVisualsApi.visuals.plugins.IVisualPlugin; +declare var exampleD7B3346A52CC4CC7A469ED9D0938BF65: IVisualPlugin; +export default exampleD7B3346A52CC4CC7A469ED9D0938BF65; diff --git a/.tmp/build/src/viewer/BimModel.d.ts b/.tmp/build/src/viewer/BimModel.d.ts new file mode 100644 index 0000000..b400961 --- /dev/null +++ b/.tmp/build/src/viewer/BimModel.d.ts @@ -0,0 +1,18 @@ +import * as THREE from "three"; +import { Context } from "./core"; +import { MaterialManager } from "./material/MaterialManager"; +import { IfcLoader } from "./model/ifc/IfcLoader"; +export declare class BimModel { + private container; + private canvas; + /** + * + */ + scene: THREE.Scene; + material: MaterialManager; + context: Context; + ifcLoader: IfcLoader; + constructor(container: HTMLDivElement, canvas: HTMLCanvasElement); + loadModel(buffer: Uint8Array, btn: HTMLButtonElement): void; + private loadFragment; +} diff --git a/.tmp/build/src/viewer/Event.d.ts b/.tmp/build/src/viewer/Event.d.ts new file mode 100644 index 0000000..c611cc8 --- /dev/null +++ b/.tmp/build/src/viewer/Event.d.ts @@ -0,0 +1,42 @@ +/** + * Simple event handler by + * [Jason Kleban](https://gist.github.com/JasonKleban/50cee44960c225ac1993c922563aa540). + * Keep in mind that: + * - If you want to remove it later, you might want to declare the callback as + * an object. + * - If you want to maintain the reference to `this`, you will need to declare + * the callback as an arrow function. + */ +export declare class Event { + /** + * Add a callback to this event instance. + * @param handler - the callback to be added to this event. + */ + on(handler: T extends void ? { + (): void; + } : { + (data: T): void; + }): void; + /** + * Removes a callback from this event instance. + * @param handler - the callback to be removed from this event. + */ + off(handler: T extends void ? { + (): void; + } : { + (data: T): void; + }): void; + /** + * Triggers all the callbacks assigned to this event. + */ + trigger: T extends void ? { + (): void; + } : { + (data?: T): void; + }; + /** + * Gets rid of all the suscribed events. + */ + reset(): void; + private handlers; +} diff --git a/.tmp/build/src/viewer/core/BoxCube.d.ts b/.tmp/build/src/viewer/core/BoxCube.d.ts new file mode 100644 index 0000000..63dd983 --- /dev/null +++ b/.tmp/build/src/viewer/core/BoxCube.d.ts @@ -0,0 +1,85 @@ +import { BoxGeometry, EdgesGeometry, LineSegments, Mesh, Scene } from "three"; +import { TextGeometry } from "three/examples/jsm/geometries/TextGeometry.js"; +/** + * @param {Object three JS} scene + * @param {class or object} material => material manager + */ +export declare class BoxCube { + private _scene; + private _material; + private _loader; + private _font; + constructor(scene: Scene, material: any); + /** + * release memories + */ + dispose(): void; + private init; + /** + * + * @param {*} item + */ + static disposeItem(item: any): void; + /** + * + * @param {*} name + * @param {*} x0 + * @param {*} y0 + * @param {*} z0 + * @param {*} x1 + * @param {*} y1 + * @param {*} z1 + * @returns + */ + private initItem; + /** + * + * @returns + */ + private initRing; + /** + * + * @returns + */ + initOutLine(): LineSegments, any>; + /** + * + * @param {*} scene + * @param {*} name + * @param {*} x1 + * @param {*} y1 + * @param {*} z1 + * @returns + */ + initTextSide(name: any, x1: any, y1: any, z1: any): Mesh; + /** + * + * @param {*} scene + * @param {*} name + * @param {*} nameText + * @param {*} x1 + * @param {*} y1 + * @param {*} z1 + * @returns + */ + initTextRing(name: any, x1: any, y1: any, z1: any): Mesh; + /** + * + * @param {*} name + * @param {*} textCube + */ + rotateRing(name: string, textCube: TextGeometry): void; + /** + * + * @param {*} name + * @param {*} textCube + */ + rotateTextCube(name: any, textCube: any): void; +} +/** + * + * @param {*} view + * @param {*} name + * @returns + */ +export declare function switchPick(contextCamera: any, name: any): void; diff --git a/.tmp/build/src/viewer/core/Camera.d.ts b/.tmp/build/src/viewer/core/Camera.d.ts new file mode 100644 index 0000000..5233d9e --- /dev/null +++ b/.tmp/build/src/viewer/core/Camera.d.ts @@ -0,0 +1,28 @@ +import * as THREE from "three"; +import CameraControls from "camera-controls"; +export declare class Camera { + maxFar: number; + minFar: number; + radius: number; + private _size; + set size(size: THREE.Vector2); + get size(): THREE.Vector2; + private _protection; + set projection(projection: boolean); + get projection(): boolean; + private static getSubsetOfThree; + private setupCameraControls; + private _domElement; + private _OrthographicCamera; + private _PerspectiveCamera; + currentCamera: THREE.PerspectiveCamera | THREE.OrthographicCamera; + controls: CameraControls; + private initPerspectiveCamera; + private initOrthographicCamera; + /** + * + */ + constructor(domElement: HTMLDivElement | HTMLCanvasElement, size: THREE.Vector2); + dispose(): void; + update(delta?: number): void; +} diff --git a/.tmp/build/src/viewer/core/Context.d.ts b/.tmp/build/src/viewer/core/Context.d.ts new file mode 100644 index 0000000..1544e83 --- /dev/null +++ b/.tmp/build/src/viewer/core/Context.d.ts @@ -0,0 +1,48 @@ +import * as THREE from "three"; +import { Camera } from "./Camera"; +import { Renderer } from "./Renderer"; +import { RayCaster } from "./RayCaster"; +import { Event } from "../Event"; +import { ViewPoint } from "./ViewPoint"; +export declare class Context { + onInitialized: Event; + private _clock; + private _axes; + private initAxes; + private _ambientLight; + private initAmbientLight; + private _directionalLight; + private initDirectionalLight; + private _size; + set size(size: THREE.Vector2); + get size(): THREE.Vector2; + set OrbitPoint(point: THREE.Vector3); + private _viewSphere; + set viewSphere(viewSphere: THREE.Sphere); + get viewSphere(): THREE.Sphere; + fitToModelLoaded(sphere: THREE.Sphere): void; + fitToSphere(sphere: THREE.Sphere): void; + renderer: Renderer; + camera: Camera; + RayCaster: RayCaster; + private _scene; + private _container; + private _material; + private _canvas; + private _cubeView; + private _postProduction; + viewPoint: ViewPoint; + constructor(scene: THREE.Scene, container: HTMLDivElement, canvas: HTMLCanvasElement, material: any); + dispose(): void; + /** + * resize window + */ + set resize(resize: boolean); + set keyEvent(keyEvent: boolean); + onResize: (e: any) => void; + keyShift: boolean; + onKeyDown: (e: any) => void; + onKeyUp: (e: any) => void; + render(): void; + private update; +} diff --git a/.tmp/build/src/viewer/core/CubeView.d.ts b/.tmp/build/src/viewer/core/CubeView.d.ts new file mode 100644 index 0000000..7ede447 --- /dev/null +++ b/.tmp/build/src/viewer/core/CubeView.d.ts @@ -0,0 +1,81 @@ +import { AmbientLight, DirectionalLight, PerspectiveCamera, OrthographicCamera, Raycaster, Scene, Vector2, WebGLRenderer } from "three"; +import { BoxCube } from "./BoxCube"; +import { Camera } from "."; +/** + * Cube View Class + */ +export declare class CubeView { + radius: number; + scene: Scene; + private canvas; + private initCanvas; + container: HTMLDivElement; + private initContainer; + _size: Vector2; + set size(size: Vector2); + get size(): Vector2; + _boxCube: BoxCube; + renderer: WebGLRenderer; + /** + *initialize renderer + */ + private initRenderer; + /** + * + */ + _PerspectiveCamera: PerspectiveCamera; + private initPerspectiveCamera; + _OrthographicCamera: OrthographicCamera; + private initOrthographicCamera; + camera: PerspectiveCamera | OrthographicCamera; + private initCamera; + _contextContainer: HTMLDivElement; + _contextCamera: Camera; + _material: any; + constructor(contextContainer: HTMLDivElement, contextCamera: Camera, material: any); + /** + * release memories + */ + dispose(): void; + /** + * initialize light + */ + _AmbientLight: AmbientLight; + _DirectionalLight: DirectionalLight; + private initLight; + /** + *initialize raycaster + */ + mouse: Vector2; + rayCaster: Raycaster; + initRayCaster(): void; + /** + * + * @param {Event} event + * @returns {object} object to wanna cast + */ + cast(event: any): import("three").Intersection>[]; + /** + *event when hover on Box + */ + set event(event: boolean); + mousemove: (event: any) => void; + mouseout: (event: any) => void; + onClick: (event: any) => void; + _found: any | null; + set found(event: any); + get found(): any; + /** + * reset material with only object is children of scene has userData.Element=true or not null + */ + resetMaterial(): void; + /** + * + * @param {boolean} visible toggle visibility + */ + onVisibility(visible: any): void; + /** + * must be called this function will + */ + update(): void; +} diff --git a/.tmp/build/src/viewer/core/Event.d.ts b/.tmp/build/src/viewer/core/Event.d.ts new file mode 100644 index 0000000..c611cc8 --- /dev/null +++ b/.tmp/build/src/viewer/core/Event.d.ts @@ -0,0 +1,42 @@ +/** + * Simple event handler by + * [Jason Kleban](https://gist.github.com/JasonKleban/50cee44960c225ac1993c922563aa540). + * Keep in mind that: + * - If you want to remove it later, you might want to declare the callback as + * an object. + * - If you want to maintain the reference to `this`, you will need to declare + * the callback as an arrow function. + */ +export declare class Event { + /** + * Add a callback to this event instance. + * @param handler - the callback to be added to this event. + */ + on(handler: T extends void ? { + (): void; + } : { + (data: T): void; + }): void; + /** + * Removes a callback from this event instance. + * @param handler - the callback to be removed from this event. + */ + off(handler: T extends void ? { + (): void; + } : { + (data: T): void; + }): void; + /** + * Triggers all the callbacks assigned to this event. + */ + trigger: T extends void ? { + (): void; + } : { + (data?: T): void; + }; + /** + * Gets rid of all the suscribed events. + */ + reset(): void; + private handlers; +} diff --git a/.tmp/build/src/viewer/core/PostProduction/PostProduction.d.ts b/.tmp/build/src/viewer/core/PostProduction/PostProduction.d.ts new file mode 100644 index 0000000..98243b9 --- /dev/null +++ b/.tmp/build/src/viewer/core/PostProduction/PostProduction.d.ts @@ -0,0 +1,56 @@ +import * as THREE from "three"; +import { EffectComposer } from "three/examples/jsm/postprocessing/EffectComposer"; +import { RenderPass } from "three/examples/jsm/postprocessing/RenderPass"; +import { ShaderPass } from "three/examples/jsm/postprocessing/ShaderPass"; +import { CustomEffectsPass } from "./custom-effects-pass"; +import CameraControls from "camera-controls"; +export declare class PostProduction { + private scene; + private camera; + private size; + private renderer; + private domElement; + private controls; + excludedItems: Set>; + readonly composer: EffectComposer; + private _enabled; + private _initialized; + private _n8ao?; + private _customEffects?; + private _basePass?; + private _gammaPass?; + private _depthTexture?; + private readonly _renderTarget; + get basePass(): RenderPass; + get gammaPass(): ShaderPass; + get customEffects(): CustomEffectsPass; + get n8ao(): any; + get enabled(): boolean; + set enabled(active: boolean); + constructor(scene: THREE.Scene, camera: THREE.PerspectiveCamera | THREE.OrthographicCamera, size: THREE.Vector2, renderer: THREE.WebGLRenderer, domElement: HTMLDivElement | HTMLCanvasElement, controls: CameraControls); + dispose(): void; + setSize(): void; + update(): void; + updateCamera(): void; + private initialize; + updateProjection(camera: THREE.Camera): void; + isUserControllingCamera: boolean; + isControlSleeping: boolean; + lastWheelUsed: number; + lastResized: number; + resizeDelay: number; + visible: boolean; + set setupEvents(setupEvents: boolean); + onControlStart: () => void; + onWake: () => void; + onResize: () => void; + onControl: () => void; + onControlEnd: () => void; + onWheel: () => void; + onSleep: () => void; + private updatePasses; + private newCustomPass; + private newGammaPass; + private newSaoPass; + private newBasePass; +} diff --git a/.tmp/build/src/viewer/core/PostProduction/custom-effects-pass.d.ts b/.tmp/build/src/viewer/core/PostProduction/custom-effects-pass.d.ts new file mode 100644 index 0000000..f03308f --- /dev/null +++ b/.tmp/build/src/viewer/core/PostProduction/custom-effects-pass.d.ts @@ -0,0 +1,54 @@ +import * as THREE from "three"; +import { Pass, FullScreenQuad } from "three/examples/jsm/postprocessing/Pass"; +export declare class CustomEffectsPass extends Pass { + resolution: THREE.Vector2; + renderScene: THREE.Scene; + renderCamera: THREE.Camera; + fsQuad: FullScreenQuad; + normalOverrideMaterial: THREE.ShaderMaterial; + glossOverrideMaterial: THREE.ShaderMaterial; + planeBuffer: THREE.WebGLRenderTarget; + glossBuffer: THREE.WebGLRenderTarget; + outlineBuffer: THREE.WebGLRenderTarget; + excludedMeshes: THREE.Mesh[]; + outlinedMeshes: { + [name: string]: { + meshes: Set; + material: THREE.MeshBasicMaterial; + }; + }; + private _outlineScene; + private _outlineEnabled; + private _lineColor; + private _opacity; + private _tolerance; + private _glossEnabled; + private _glossExponent; + private _minGloss; + private _maxGloss; + private _outlinesNeedsUpdate; + get lineColor(): number; + set lineColor(lineColor: number); + get tolerance(): number; + set tolerance(value: number); + get opacity(): number; + set opacity(value: number); + get glossEnabled(): boolean; + set glossEnabled(active: boolean); + get glossExponent(): number; + set glossExponent(value: number); + get minGloss(): number; + set minGloss(value: number); + get maxGloss(): number; + set maxGloss(value: number); + get outlineEnabled(): boolean; + set outlineEnabled(active: boolean); + constructor(resolution: THREE.Vector2, renderScene: THREE.Scene, renderCamera: THREE.PerspectiveCamera | THREE.OrthographicCamera); + dispose(): void; + setSize(width: number, height: number): void; + render(renderer: THREE.WebGLRenderer, writeBuffer: any, readBuffer: any): void; + get vertexShader(): string; + get fragmentShader(): string; + createOutlinePostProcessMaterial(): THREE.ShaderMaterial; + private newRenderTarget; +} diff --git a/.tmp/build/src/viewer/core/PostProduction/index.d.ts b/.tmp/build/src/viewer/core/PostProduction/index.d.ts new file mode 100644 index 0000000..1dc9c50 --- /dev/null +++ b/.tmp/build/src/viewer/core/PostProduction/index.d.ts @@ -0,0 +1 @@ +export * from "./PostProduction"; diff --git a/.tmp/build/src/viewer/core/PostProduction/plane-distance-shader.d.ts b/.tmp/build/src/viewer/core/PostProduction/plane-distance-shader.d.ts new file mode 100644 index 0000000..73a11ab --- /dev/null +++ b/.tmp/build/src/viewer/core/PostProduction/plane-distance-shader.d.ts @@ -0,0 +1,2 @@ +import * as THREE from "three"; +export declare function getPlaneDistanceMaterial(): THREE.ShaderMaterial; diff --git a/.tmp/build/src/viewer/core/PostProduction/projected-normal-shader.d.ts b/.tmp/build/src/viewer/core/PostProduction/projected-normal-shader.d.ts new file mode 100644 index 0000000..31b70a3 --- /dev/null +++ b/.tmp/build/src/viewer/core/PostProduction/projected-normal-shader.d.ts @@ -0,0 +1,2 @@ +import * as THREE from "three"; +export declare function getProjectedNormalMaterial(): THREE.ShaderMaterial; diff --git a/.tmp/build/src/viewer/core/RayCaster.d.ts b/.tmp/build/src/viewer/core/RayCaster.d.ts new file mode 100644 index 0000000..e29ba8e --- /dev/null +++ b/.tmp/build/src/viewer/core/RayCaster.d.ts @@ -0,0 +1,20 @@ +import * as THREE from "three"; +import { MeshType } from "../enum"; +export declare class RayCaster { + private _scene; + private _renderer; + private _camera; + private _rayCaster; + private _mouse; + private setUpRaycaster; + _filterType: MeshType; + set filterType(filterType: MeshType); + get filterType(): MeshType; + setRayCaster(event: MouseEvent): void; + getRayCastModel(event: MouseEvent, filterModel: []): any; + getRayCastPlane(event: MouseEvent, plane: THREE.Plane): any; + /** + * + */ + constructor(scene: THREE.Scene, renderer: any, camera: any); +} diff --git a/.tmp/build/src/viewer/core/Renderer.d.ts b/.tmp/build/src/viewer/core/Renderer.d.ts new file mode 100644 index 0000000..b5ee19b --- /dev/null +++ b/.tmp/build/src/viewer/core/Renderer.d.ts @@ -0,0 +1,20 @@ +import * as THREE from "three"; +import { CSS2DRenderer } from "three/examples/jsm/renderers/CSS2DRenderer"; +export declare class Renderer { + private _size; + set size(size: THREE.Vector2); + get size(): THREE.Vector2; + set theme(dark: any); + private initRenderer; + private initLabelRenderer; + renderer: THREE.WebGLRenderer; + labelRenderer: CSS2DRenderer; + domElement: HTMLDivElement | HTMLCanvasElement; + private _container; + /** + * + */ + constructor(container: HTMLDivElement, size: THREE.Vector2, canvas: HTMLCanvasElement); + dispose(): void; + update(scene: THREE.Scene, camera: any): void; +} diff --git a/.tmp/build/src/viewer/core/ViewPoint.d.ts b/.tmp/build/src/viewer/core/ViewPoint.d.ts new file mode 100644 index 0000000..23aa15d --- /dev/null +++ b/.tmp/build/src/viewer/core/ViewPoint.d.ts @@ -0,0 +1,14 @@ +export declare class ViewPoint { + private domElement; + /** + * + */ + private static cursor; + constructor(domElement: HTMLDivElement | HTMLCanvasElement); + _orbit: boolean; + set orbit(orbit: boolean); + get orbit(): boolean; + _point: string; + set point(point: string); + get point(): string; +} diff --git a/.tmp/build/src/viewer/core/index.d.ts b/.tmp/build/src/viewer/core/index.d.ts new file mode 100644 index 0000000..70a66d2 --- /dev/null +++ b/.tmp/build/src/viewer/core/index.d.ts @@ -0,0 +1,5 @@ +export * from "./Camera"; +export * from "./RayCaster"; +export * from "./Renderer"; +export * from "./Context"; +export * from "./CubeView"; diff --git a/.tmp/build/src/viewer/enum.d.ts b/.tmp/build/src/viewer/enum.d.ts new file mode 100644 index 0000000..48a85f9 --- /dev/null +++ b/.tmp/build/src/viewer/enum.d.ts @@ -0,0 +1,10 @@ +export declare enum ViewType { + ThreeD = 0, + Floor = 1, + Section = 2, + Elevation = 3 +} +export declare enum MeshType { + model = 0, + fragment = 1 +} diff --git a/.tmp/build/src/viewer/material/DefaultMaterial.d.ts b/.tmp/build/src/viewer/material/DefaultMaterial.d.ts new file mode 100644 index 0000000..c94162e --- /dev/null +++ b/.tmp/build/src/viewer/material/DefaultMaterial.d.ts @@ -0,0 +1,10 @@ +import { MeshLambertMaterial, MeshBasicMaterial } from "three"; +export declare function createMaterial(color?: string | null, transparent?: boolean, opacity?: number): MeshLambertMaterial; +export declare const CubeViewMaterial: { + normalCube: MeshLambertMaterial; + hoverCube: MeshLambertMaterial; + textCube: MeshLambertMaterial; + ring: MeshLambertMaterial; + textRing: MeshLambertMaterial; + outLineCube: MeshBasicMaterial; +}; diff --git a/.tmp/build/src/viewer/material/LightColor.d.ts b/.tmp/build/src/viewer/material/LightColor.d.ts new file mode 100644 index 0000000..3cd5bfd --- /dev/null +++ b/.tmp/build/src/viewer/material/LightColor.d.ts @@ -0,0 +1,10 @@ +import { Color } from "three"; +export declare const LightColor: { + light: number; + normalCube: Color; + hoverCube: Color; + textCube: Color; + refPlan: Color; + ring: Color; +}; +export declare function getColorRGB(r: any, g: any, b: any): Color; diff --git a/.tmp/build/src/viewer/material/MaterialManager.d.ts b/.tmp/build/src/viewer/material/MaterialManager.d.ts new file mode 100644 index 0000000..e936594 --- /dev/null +++ b/.tmp/build/src/viewer/material/MaterialManager.d.ts @@ -0,0 +1,24 @@ +import { MeshLambertMaterial, MeshBasicMaterial } from "three"; +import { LineMaterial } from "three/examples/jsm/lines/LineMaterial"; +export declare class MaterialManager { + highlight: MeshLambertMaterial; + select: MeshLambertMaterial; + normalCube: MeshLambertMaterial; + hoverCube: MeshLambertMaterial; + textCube: MeshLambertMaterial; + ring: MeshLambertMaterial; + textRing: MeshLambertMaterial; + outLineCube: MeshBasicMaterial; + dimension: LineMaterial; + modelMaterials: []; + constructor(); + /** + * release all materials memory + */ + dispose(): void; + /** + * release the material memory + * @param {} material + */ + static disposeMaterial(material: any): void; +} diff --git a/.tmp/build/src/viewer/model/ModelSetting.d.ts b/.tmp/build/src/viewer/model/ModelSetting.d.ts new file mode 100644 index 0000000..d19e603 --- /dev/null +++ b/.tmp/build/src/viewer/model/ModelSetting.d.ts @@ -0,0 +1,22 @@ +import * as WEBIFC from "web-ifc"; +/** Configuration of the IFC-fragment conversion. */ +export declare class ModelSetting { + /** Whether to extract the IFC properties into a JSON. */ + includeProperties: boolean; + /** + * Generate the geometry for categories that are not included by default, + * like IFCSPACE. + */ + optionalCategories: number[]; + /** Path of the WASM for [web-ifc](https://github.com/ifcjs/web-ifc). */ + wasm: { + path: string; + absolute: boolean; + }; + /** List of categories that won't be converted to fragments. */ + excludedCategories: Set; + /** Whether to save the absolute location of all IFC items. */ + saveLocations: boolean; + /** Loader settings for [web-ifc](https://github.com/ifcjs/web-ifc). */ + webIfc: WEBIFC.LoaderSettings; +} diff --git a/.tmp/build/src/viewer/model/Utils/BVH.d.ts b/.tmp/build/src/viewer/model/Utils/BVH.d.ts new file mode 100644 index 0000000..e0b9eec --- /dev/null +++ b/.tmp/build/src/viewer/model/Utils/BVH.d.ts @@ -0,0 +1,9 @@ +import { BufferGeometry } from 'three'; +export declare class BvhManager { + private computeBoundsTree?; + private disposeBoundsTree?; + private acceleratedRaycast?; + initializeMeshBVH(computeBoundsTree: any, disposeBoundsTree: any, acceleratedRaycast: any): void; + applyThreeMeshBVH(geometry: BufferGeometry): void; + private setupThreeMeshBVH; +} diff --git a/.tmp/build/src/viewer/model/Utils/BoundingBox.d.ts b/.tmp/build/src/viewer/model/Utils/BoundingBox.d.ts new file mode 100644 index 0000000..7420741 --- /dev/null +++ b/.tmp/build/src/viewer/model/Utils/BoundingBox.d.ts @@ -0,0 +1,27 @@ +import * as THREE from "three"; +import { FragmentsGroup } from "bim-fragment"; +/** + * A simple implementation of bounding box that works for fragments. The resulting bbox is not 100% precise, but + * it's fast, and should suffice for general use cases such as camera zooming. + */ +export declare class BoundingBox { + enabled: boolean; + private _absoluteMin; + private _absoluteMax; + constructor(); + static getDimensions(bbox: THREE.Box3): { + width: number; + height: number; + depth: number; + center: THREE.Vector3; + }; + static newBound(positive: boolean): THREE.Vector3; + static getBounds(points: THREE.Vector3[], min?: THREE.Vector3, max?: THREE.Vector3): THREE.Box3; + get(): THREE.Box3; + getMesh(): THREE.Mesh; + reset(): void; + add(group: FragmentsGroup): void; + addFragment(fragment: any): void; + getSphere(): THREE.Sphere; + private static getFragmentBounds; +} diff --git a/.tmp/build/src/viewer/model/Utils/DataConverter.d.ts b/.tmp/build/src/viewer/model/Utils/DataConverter.d.ts new file mode 100644 index 0000000..f2f87b5 --- /dev/null +++ b/.tmp/build/src/viewer/model/Utils/DataConverter.d.ts @@ -0,0 +1,33 @@ +import * as WEBIFC from "web-ifc"; +import * as FRAGS from "bim-fragment"; +import { IfcGeometries } from "./GeometryReader"; +import { ModelSetting } from "../ModelSetting"; +import { IfcItemsCategories } from "./IfcCategories"; +export declare class DataConverter { + settings: ModelSetting; + categories: IfcItemsCategories; + private _model; + private _ifcCategories; + private _bbox; + private _fragmentKey; + private _keyFragmentMap; + private _itemKeyMap; + private _propertyExporter; + private readonly _spatialTree; + constructor(); + cleanUp(): void; + saveIfcCategories(webIfc: WEBIFC.IfcAPI): void; + generate(webIfc: WEBIFC.IfcAPI, geometries: IfcGeometries): Promise; + private saveModelData; + private getBoundingBox; + private getIfcMetadata; + private getMetadataEntry; + private getProjectID; + private getCoordinationMatrix; + private getModelProperties; + private createAllFragments; + private setupModel; + private setupFragment; + private saveExpressID; + private getFragmentsGroupData; +} diff --git a/.tmp/build/src/viewer/model/Utils/GeometryReader.d.ts b/.tmp/build/src/viewer/model/Utils/GeometryReader.d.ts new file mode 100644 index 0000000..484d315 --- /dev/null +++ b/.tmp/build/src/viewer/model/Utils/GeometryReader.d.ts @@ -0,0 +1,33 @@ +import * as THREE from "three"; +import * as WEBIFC from "web-ifc"; +import { BvhManager } from "./BVH"; +export interface IfcGeometries { + [id: string]: { + buffer: THREE.BufferGeometry; + instances: { + color: WEBIFC.Color; + matrix: number[]; + expressID: number; + }[]; + }; +} +export declare class GeometryReader { + private _api; + saveLocations: boolean; + items: IfcGeometries; + locations: { + [itemID: number]: [number, number, number]; + }; + BVH: BvhManager; + get api(): WEBIFC.IfcAPI; + /** + * + */ + constructor(); + cleanUp(): void; + streamMesh(webifc: WEBIFC.IfcAPI, mesh: WEBIFC.FlatMesh, forceTransparent?: boolean): void; + private newBufferGeometry; + private getIndices; + private getVertices; + private constructBuffer; +} diff --git a/.tmp/build/src/viewer/model/Utils/IfcCategories.d.ts b/.tmp/build/src/viewer/model/Utils/IfcCategories.d.ts new file mode 100644 index 0000000..b319c04 --- /dev/null +++ b/.tmp/build/src/viewer/model/Utils/IfcCategories.d.ts @@ -0,0 +1,7 @@ +import * as WEBIFC from "web-ifc"; +export interface IfcItemsCategories { + [itemID: number]: number; +} +export declare class IfcCategories { + getAll(webIfc: WEBIFC.IfcAPI, modelID: number): IfcItemsCategories; +} diff --git a/.tmp/build/src/viewer/model/Utils/IfcCategoryMap.d.ts b/.tmp/build/src/viewer/model/Utils/IfcCategoryMap.d.ts new file mode 100644 index 0000000..a2446e7 --- /dev/null +++ b/.tmp/build/src/viewer/model/Utils/IfcCategoryMap.d.ts @@ -0,0 +1,3 @@ +export declare const IfcCategoryMap: { + [key: number]: string; +}; diff --git a/.tmp/build/src/viewer/model/Utils/IfcElements.d.ts b/.tmp/build/src/viewer/model/Utils/IfcElements.d.ts new file mode 100644 index 0000000..30f5440 --- /dev/null +++ b/.tmp/build/src/viewer/model/Utils/IfcElements.d.ts @@ -0,0 +1,3 @@ +export declare const IfcElements: { + [key: number]: string; +}; diff --git a/.tmp/build/src/viewer/model/Utils/IfcGeometryTypes.d.ts b/.tmp/build/src/viewer/model/Utils/IfcGeometryTypes.d.ts new file mode 100644 index 0000000..3fe63c1 --- /dev/null +++ b/.tmp/build/src/viewer/model/Utils/IfcGeometryTypes.d.ts @@ -0,0 +1 @@ +export declare const GeometryTypes: Set; diff --git a/.tmp/build/src/viewer/model/Utils/IfcJsonExporter.d.ts b/.tmp/build/src/viewer/model/Utils/IfcJsonExporter.d.ts new file mode 100644 index 0000000..0f17639 --- /dev/null +++ b/.tmp/build/src/viewer/model/Utils/IfcJsonExporter.d.ts @@ -0,0 +1,22 @@ +import * as WEBIFC from "web-ifc"; +import { Event } from "../../Event"; +/** + * Object to export all the properties from an IFC to a JS object. + */ +export declare class IfcJsonExporter { + loadProgress: Event<{ + progress: number; + total: number; + }>; + propertiesSerialized: Event; + size?: number; + private _progress; + /** + * Exports all the properties of an IFC into an array of JS objects. + * @webIfc The instance of [web-ifc]{@link https://github.com/ifcjs/web-ifc} to use. + * @modelID ID of the IFC model whose properties to extract. + */ + export(webIfc: WEBIFC.IfcAPI, modelID: number): Promise; + private getAllGeometriesIDs; + private getStructure; +} diff --git a/.tmp/build/src/viewer/model/Utils/IfcPropertiesUtils.d.ts b/.tmp/build/src/viewer/model/Utils/IfcPropertiesUtils.d.ts new file mode 100644 index 0000000..bf4e4ac --- /dev/null +++ b/.tmp/build/src/viewer/model/Utils/IfcPropertiesUtils.d.ts @@ -0,0 +1,29 @@ +import { IfcProperties } from "bim-fragment"; +export declare class IfcPropertiesUtils { + static getUnits(properties: IfcProperties): number; + static findItemByGuid(properties: IfcProperties, guid: string): { + [attribute: string]: any; + }; + static findItemOfType(properties: IfcProperties, type: number): { + [attribute: string]: any; + }; + static getAllItemsOfType(properties: IfcProperties, type: number): any[]; + static getRelationMap(properties: IfcProperties, relationType: number, onElementsFound?: (relatingID: number, relatedIDs: number[]) => void): { + [relatingID: number]: number[]; + }; + static getQsetQuantities(properties: IfcProperties, expressID: number, onQuantityFound?: (expressID: number) => void): number[] | null; + static getPsetProps(properties: IfcProperties, expressID: number, onPropFound?: (expressID: number) => void): number[] | null; + static getPsetRel(properties: IfcProperties, psetID: number): number; + static getQsetRel(properties: IfcProperties, qsetID: number): number; + static getEntityName(properties: IfcProperties, entityID: number): { + key: string; + name: string; + }; + static getQuantityValue(properties: IfcProperties, quantityID: number): { + key: string; + value: any; + }; + static isRel(expressID: number): boolean; + static attributeExists(properties: IfcProperties, expressID: number, attribute: string): boolean; + static groupEntitiesByType(properties: IfcProperties, expressIDs: Set | number[]): Map>; +} diff --git a/.tmp/build/src/viewer/model/Utils/Misc.d.ts b/.tmp/build/src/viewer/model/Utils/Misc.d.ts new file mode 100644 index 0000000..2f81e85 --- /dev/null +++ b/.tmp/build/src/viewer/model/Utils/Misc.d.ts @@ -0,0 +1,10 @@ +import { Fragment } from "bim-fragment"; +import * as THREE from "three"; +export declare function numberOfDigits(x: number): number; +export declare function toCompositeID(id: number, count: number): string; +export declare function tooeenRandomId(): string; +export declare function generateExpressIDFragmentIDMap(fragmentsList: Fragment[]): { + [fragmentID: string]: Set; +}; +export declare function generateIfcGUID(): string; +export declare function bufferGeometryToIndexed(geometry: THREE.BufferGeometry): void; diff --git a/.tmp/build/src/viewer/model/Utils/SpatialStructure.d.ts b/.tmp/build/src/viewer/model/Utils/SpatialStructure.d.ts new file mode 100644 index 0000000..adabc3b --- /dev/null +++ b/.tmp/build/src/viewer/model/Utils/SpatialStructure.d.ts @@ -0,0 +1,8 @@ +import * as WEBIFC from "web-ifc"; +import { IfcItemsCategories } from "./IfcCategories"; +export declare class SpatialStructure { + itemsByFloor: IfcItemsCategories; + private _units; + setUp(webIfc: WEBIFC.IfcAPI): Promise; + cleanUp(): void; +} diff --git a/.tmp/build/src/viewer/model/Utils/Unit.d.ts b/.tmp/build/src/viewer/model/Utils/Unit.d.ts new file mode 100644 index 0000000..c46f749 --- /dev/null +++ b/.tmp/build/src/viewer/model/Utils/Unit.d.ts @@ -0,0 +1,10 @@ +import * as WEBIFC from "web-ifc"; +import * as THREE from "three"; +export declare class Units { + factor: number; + complement: number; + apply(matrix: THREE.Matrix4): void; + setUp(webIfc: WEBIFC.IfcAPI): void; + private getLengthUnits; + private getScaleMatrix; +} diff --git a/.tmp/build/src/viewer/model/Utils/index.d.ts b/.tmp/build/src/viewer/model/Utils/index.d.ts new file mode 100644 index 0000000..b97e39f --- /dev/null +++ b/.tmp/build/src/viewer/model/Utils/index.d.ts @@ -0,0 +1,5 @@ +export * from "./DataConverter"; +export * from "./GeometryReader"; +export * from "./Misc"; +export * from "./IfcPropertiesUtils"; +export * from "./BoundingBox"; diff --git a/.tmp/build/src/viewer/model/fragment/FragmentHighlighter.d.ts b/.tmp/build/src/viewer/model/fragment/FragmentHighlighter.d.ts new file mode 100644 index 0000000..6b270ad --- /dev/null +++ b/.tmp/build/src/viewer/model/fragment/FragmentHighlighter.d.ts @@ -0,0 +1,47 @@ +import * as THREE from "three"; +import { Fragment } from "bim-fragment"; +import { FragmentManager } from "./FragmentManager"; +import { Event } from "../../Event"; +interface FragmentIdMap { + [fragmentID: string]: Set; +} +interface HighlightEvents { + [highlighterName: string]: { + onHighlight: Event; + onClear: Event; + }; +} +interface HighlightMaterials { + [name: string]: THREE.Material[] | undefined; +} +export declare class FragmentHighlighter { + enabled: boolean; + highlightMats: HighlightMaterials; + events: HighlightEvents; + private tempMatrix; + selection: { + [selectionID: string]: FragmentIdMap; + }; + private _fragmentManager; + constructor(fragmentManager: FragmentManager); + dispose(): void; + add(name: string, material?: THREE.Material[]): void; + update(): void; + highlight(name: string, result: any, removePrevious?: boolean): { + id: string; + fragments: Fragment[]; + }; + highlightByID(name: string, ids: { + [fragmentID: string]: Set | string[]; + }, removePrevious?: boolean): void; + /** + * Clears any selection previously made by calling {@link highlight}. + */ + clear(name?: string): void; + private addComposites; + private clearStyle; + private updateFragmentHighlight; + private checkSelection; + private addHighlightToFragment; +} +export {}; diff --git a/.tmp/build/src/viewer/model/fragment/FragmentManager.d.ts b/.tmp/build/src/viewer/model/fragment/FragmentManager.d.ts new file mode 100644 index 0000000..20b8951 --- /dev/null +++ b/.tmp/build/src/viewer/model/fragment/FragmentManager.d.ts @@ -0,0 +1,36 @@ +import { Fragment, FragmentsGroup } from "bim-fragment"; +import * as THREE from "three"; +import { Event } from "../../Event"; +/** + * Object that can efficiently load binary files that contain + * [fragment geometry](https://github.com/ifcjs/fragment). + */ +export declare class FragmentManager { + /** All the created [fragments](https://github.com/ifcjs/fragment). */ + list: { + [guid: string]: Fragment; + }; + groups: FragmentsGroup[]; + onFragmentsLoaded: Event; + private _loader; + /** The list of meshes of the created fragments. */ + get meshes(): THREE.Mesh, THREE.Material | THREE.Material[], THREE.Object3DEventMap>[]; + /** {@link Component.get} */ + dispose(): void; + disposeGroup(group: FragmentsGroup): void; + /** Disposes all existing fragments */ + reset(): void; + /** + * Loads one or many fragments into the scene. + * @param data - the bytes containing the data for the fragments to load. + * @returns the list of IDs of the loaded fragments. + */ + load(data: Uint8Array): FragmentsGroup; + /** + * Export the specified fragments. + * @param group - the fragments group to be exported. + * @returns the exported data as binary buffer. + */ + export(group: FragmentsGroup): Uint8Array; + private removeFragmentMesh; +} diff --git a/.tmp/build/src/viewer/model/fragment/index.d.ts b/.tmp/build/src/viewer/model/fragment/index.d.ts new file mode 100644 index 0000000..477db9e --- /dev/null +++ b/.tmp/build/src/viewer/model/fragment/index.d.ts @@ -0,0 +1,2 @@ +export * from "./FragmentManager"; +export * from "./FragmentHighlighter"; diff --git a/.tmp/build/src/viewer/model/ifc/IfcLoader.d.ts b/.tmp/build/src/viewer/model/ifc/IfcLoader.d.ts new file mode 100644 index 0000000..d612304 --- /dev/null +++ b/.tmp/build/src/viewer/model/ifc/IfcLoader.d.ts @@ -0,0 +1,32 @@ +import * as THREE from "three"; +import * as WEBIFC from "web-ifc"; +import { FragmentsGroup } from "bim-fragment"; +import { Event } from "../../Event"; +import { FragmentHighlighter } from "../fragment"; +export declare class IfcLoader { + ifcLoaded: Event; + locationsSaved: Event<{ + [id: number]: number[]; + }>; + api: WEBIFC.IfcAPI; + private readonly _geometryReader; + private readonly _dataConverter; + private readonly _fragmentManager; + FragmentHighlighter: FragmentHighlighter; + get settings(): import("../ModelSetting").ModelSetting; + /** + * + */ + get meshes(): THREE.Mesh, THREE.Material | THREE.Material[], THREE.Object3DEventMap>[]; + get groups(): FragmentsGroup[]; + get sphere(): THREE.Sphere; + get corner(): THREE.Vector3; + constructor(); + dispose(): void; + spatialTree: any[]; + loadFragment(data: Uint8Array): void; + private static setupModelLoader; + private static getSpatialTree; + static getSphereFromSpheres(spheres: THREE.Sphere[]): THREE.Sphere; + static getSphere(boundingBox: THREE.Box3): THREE.Sphere; +} diff --git a/.tmp/build/src/visual.d.ts b/.tmp/build/src/visual.d.ts new file mode 100644 index 0000000..d875480 --- /dev/null +++ b/.tmp/build/src/visual.d.ts @@ -0,0 +1,18 @@ +import powerbi from "powerbi-visuals-api"; +import VisualConstructorOptions = powerbi.extensibility.visual.VisualConstructorOptions; +import VisualUpdateOptions = powerbi.extensibility.visual.VisualUpdateOptions; +import IVisual = powerbi.extensibility.visual.IVisual; +import { BimModel } from "./viewer/BimModel"; +export declare class Visual implements IVisual { + private target; + private updateCount; + constructor(options: VisualConstructorOptions); + update(options: VisualUpdateOptions): void; + canvas: HTMLCanvasElement; + container: HTMLDivElement; + private initContainer; + bimModel: BimModel; + private initScene; + private initButton; + private loadFileLocal; +} diff --git a/.tmp/drop/pbiviz.json b/.tmp/drop/pbiviz.json new file mode 100644 index 0000000..181acd4 --- /dev/null +++ b/.tmp/drop/pbiviz.json @@ -0,0 +1 @@ +{"visual":{"name":"example","displayName":"example","guid":"exampleD7B3346A52CC4CC7A469ED9D0938BF65","visualClassName":"Visual","version":"1.0.0.0","description":"asdasd","supportUrl":"asdasda","gitHubUrl":"asdasdad"},"author":{"name":"asdasda","email":"asdasdad"},"apiVersion":"5.3.0","style":"style/visual.less","stringResources":{},"capabilities":{"dataRoles":[{"displayName":"Category Data","name":"category","kind":"Grouping"},{"displayName":"Measure Data","name":"measure","kind":"Measure"}],"objects":{"dataPoint":{"properties":{"defaultColor":{"type":{"fill":{"solid":{"color":true}}}},"showAllDataPoints":{"type":{"bool":true}},"fill":{"type":{"fill":{"solid":{"color":true}}}},"fillRule":{"type":{"fill":{}}},"fontSize":{"type":{"formatting":{"fontSize":true}}}}}},"dataViewMappings":[{"categorical":{"categories":{"for":{"in":"category"},"dataReductionAlgorithm":{"top":{}}},"values":{"select":[{"bind":{"to":"measure"}}]}}}],"privileges":[]},"content":{"js":"/*! For license information please see visual.js.LICENSE.txt */\nvar exampleD7B3346A52CC4CC7A469ED9D0938BF65;(()=>{var e={9073:e=>{e.exports={glyphs:{0:{x_min:43,x_max:722,ha:765,o:\"m 722 495 q 703 281 722 375 q 643 121 684 186 q 538 20 602 55 q 381 -14 473 -14 q 232 20 295 -14 q 126 121 168 55 q 63 281 84 186 q 43 495 43 375 q 61 710 43 615 q 120 871 80 805 q 225 972 161 937 q 381 1007 290 1007 q 530 972 467 1007 q 637 871 594 937 q 700 711 679 806 q 722 495 722 616 m 253 495 q 281 240 253 326 q 381 155 310 155 q 481 240 450 155 q 511 495 511 325 q 481 751 511 665 q 381 837 450 837 q 321 815 346 837 q 281 751 297 794 q 259 644 266 708 q 253 495 253 580 \"},1:{x_min:63,x_max:555.25,ha:765,o:\"m 555 0 l 345 0 l 345 574 q 345 616 345 591 q 346 668 345 641 q 348 721 347 694 q 350 771 349 749 q 338 759 347 767 q 320 741 330 751 q 299 721 310 731 q 278 702 288 711 l 164 611 l 63 737 l 382 992 l 555 992 l 555 0 \"},2:{x_min:53.296875,x_max:720.8125,ha:765,o:\"m 720 0 l 56 0 l 56 145 l 287 397 q 367 485 331 444 q 428 563 403 525 q 468 640 454 601 q 482 725 482 679 q 452 803 482 775 q 372 831 422 831 q 269 804 318 831 q 166 729 220 778 l 53 864 q 117 917 83 892 q 190 962 150 942 q 278 994 230 982 q 386 1006 326 1006 q 513 986 457 1006 q 610 930 570 966 q 671 842 650 894 q 693 726 693 790 q 672 614 693 668 q 617 510 652 561 q 535 408 581 459 q 436 305 489 358 l 317 185 l 317 176 l 720 176 l 720 0 \"},3:{x_min:39,x_max:711,ha:765,o:\"m 682 768 q 665 675 682 717 q 619 603 648 634 q 552 551 591 572 q 467 520 513 531 l 467 516 q 649 443 587 501 q 711 287 711 385 q 687 167 711 222 q 615 71 664 112 q 493 8 567 31 q 320 -14 420 -14 q 170 0 240 -14 q 39 39 99 12 l 39 217 q 103 188 69 200 q 171 166 137 175 q 237 153 204 157 q 299 148 270 148 q 396 159 357 148 q 458 190 435 170 q 490 237 481 210 q 500 298 500 265 q 488 353 500 329 q 447 396 475 378 q 374 423 419 413 q 262 432 328 432 l 192 432 l 192 580 l 260 580 q 362 591 321 580 q 427 622 402 602 q 461 667 451 641 q 471 722 471 693 q 439 806 471 776 q 336 836 406 836 q 276 829 304 836 q 224 813 248 823 q 180 792 200 803 q 145 768 161 780 l 40 908 q 102 946 68 929 q 175 977 135 964 q 259 998 214 991 q 356 1006 305 1006 q 489 989 429 1006 q 592 943 549 973 q 658 869 635 913 q 682 768 682 825 \"},4:{x_min:3,x_max:741.625,ha:765,o:\"m 741 205 l 622 205 l 622 0 l 412 0 l 412 205 l 3 205 l 3 351 l 423 992 l 622 992 l 622 368 l 741 368 l 741 205 m 412 368 l 412 536 q 412 562 412 545 q 413 599 412 578 q 415 643 414 620 q 417 686 416 665 q 419 721 418 706 q 420 743 420 736 l 414 743 q 387 683 402 715 q 352 619 372 651 l 187 368 l 412 368 \"},5:{x_min:58,x_max:707,ha:765,o:\"m 405 634 q 524 614 469 634 q 620 556 579 594 q 683 461 660 518 q 707 331 707 405 q 681 186 707 250 q 607 78 656 122 q 486 9 559 33 q 320 -14 414 -14 q 246 -10 283 -14 q 176 0 210 -7 q 112 15 142 5 q 58 39 82 26 l 58 220 q 113 194 81 206 q 178 174 144 182 q 245 160 211 165 q 310 155 279 155 q 449 193 401 155 q 496 313 496 231 q 450 425 496 387 q 306 464 403 464 q 268 462 288 464 q 229 456 248 460 q 192 449 209 453 q 161 442 174 446 l 78 486 l 115 992 l 639 992 l 639 817 l 297 817 l 280 619 q 331 629 302 624 q 405 634 360 634 \"},6:{x_min:52,x_max:724,ha:765,o:\"m 52 420 q 59 562 52 492 q 87 698 67 633 q 141 818 107 762 q 228 915 176 874 q 354 979 281 956 q 526 1003 428 1003 q 558 1002 541 1003 q 592 1000 574 1001 q 625 997 609 999 q 655 992 642 995 l 655 826 q 600 836 629 832 q 542 840 571 840 q 393 817 451 840 q 299 753 334 794 q 250 655 265 712 q 233 528 236 598 l 241 528 q 273 574 254 553 q 318 611 293 595 q 376 635 344 626 q 448 644 408 644 q 563 622 512 644 q 650 561 615 601 q 705 463 686 521 q 724 329 724 405 q 701 185 724 249 q 636 77 678 121 q 534 9 594 32 q 400 -14 475 -14 q 263 12 327 -14 q 152 91 199 38 q 78 227 105 145 q 52 420 52 308 m 393 155 q 442 165 420 155 q 480 197 464 176 q 504 250 496 218 q 513 327 513 282 q 484 440 513 398 q 396 481 455 481 q 341 469 366 481 q 298 437 316 457 q 271 394 281 418 q 262 345 262 369 q 270 277 262 311 q 295 216 278 243 q 336 172 311 189 q 393 155 360 155 \"},7:{x_min:37,x_max:721,ha:765,o:\"m 140 0 l 493 815 l 37 815 l 37 990 l 721 990 l 721 859 l 359 0 l 140 0 \"},8:{x_min:49,x_max:717,ha:765,o:\"m 383 1004 q 499 989 444 1004 q 595 944 554 974 q 661 869 637 914 q 686 764 686 825 q 672 683 686 720 q 635 618 658 647 q 579 565 611 588 q 508 523 546 542 q 585 476 547 502 q 652 418 623 450 q 699 346 681 386 q 717 256 717 306 q 692 144 717 195 q 624 59 668 94 q 518 5 580 24 q 383 -14 457 -14 q 240 4 303 -14 q 135 56 178 22 q 71 140 93 90 q 49 251 49 189 q 63 342 49 302 q 104 416 78 383 q 165 473 130 448 q 239 518 199 499 q 176 563 205 539 q 126 618 147 588 q 92 685 105 648 q 80 766 80 722 q 104 869 80 825 q 171 944 129 913 q 268 989 213 974 q 383 1004 323 1004 m 259 263 q 267 213 259 236 q 290 174 274 190 q 328 149 305 158 q 381 139 351 139 q 475 173 444 139 q 506 262 506 207 q 496 313 506 290 q 469 355 485 336 q 431 391 452 374 q 389 422 410 407 l 376 431 q 328 399 349 417 q 291 361 306 382 q 267 316 276 340 q 259 263 259 292 m 382 850 q 345 843 362 850 q 316 823 328 836 q 297 791 304 810 q 290 749 290 773 q 297 700 290 721 q 317 664 305 679 q 347 635 330 648 q 383 611 364 623 q 418 634 401 621 q 447 664 434 647 q 468 701 460 680 q 475 749 475 722 q 468 791 475 773 q 449 823 461 810 q 419 843 436 836 q 382 850 402 850 \"},9:{x_min:43,x_max:715,ha:765,o:\"m 715 568 q 707 425 715 496 q 679 290 699 355 q 625 170 659 226 q 538 73 590 114 q 412 9 485 32 q 239 -14 338 -14 q 208 -13 225 -14 q 174 -11 191 -12 q 140 -8 156 -10 q 112 -4 124 -7 l 112 163 q 165 152 136 156 q 224 148 194 148 q 373 171 315 148 q 467 235 432 194 q 516 333 501 276 q 533 459 530 390 l 525 459 q 492 413 511 434 q 448 377 473 392 q 390 352 422 361 q 318 344 357 344 q 202 365 254 344 q 116 426 151 386 q 61 524 80 466 q 43 658 43 582 q 65 802 43 739 q 130 911 88 866 q 232 979 172 955 q 366 1003 292 1003 q 503 976 439 1003 q 614 897 567 950 q 687 761 660 843 q 715 568 715 679 m 373 833 q 324 823 347 833 q 286 792 302 813 q 262 738 270 770 q 253 661 253 705 q 282 548 253 590 q 371 506 311 506 q 425 518 401 506 q 468 550 450 530 q 495 594 485 569 q 504 643 504 618 q 496 711 504 677 q 471 772 488 745 q 430 816 455 799 q 373 833 406 833 \"},ǻ:{x_min:58,x_max:694,ha:798,o:\"m 306 1189 l 306 1199 q 336 1229 320 1213 q 369 1263 353 1246 q 399 1298 385 1281 q 425 1331 414 1316 l 657 1331 l 657 1322 q 620 1292 646 1310 q 562 1255 594 1275 q 498 1218 530 1236 q 443 1189 466 1201 l 306 1189 m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 572 975 q 558 907 572 937 q 522 856 545 877 q 467 824 498 835 q 399 813 436 813 q 330 824 362 813 q 277 856 299 835 q 243 906 255 876 q 231 974 231 937 q 243 1041 231 1011 q 277 1091 255 1071 q 330 1123 299 1112 q 399 1135 362 1135 q 466 1123 435 1135 q 521 1091 497 1112 q 558 1041 544 1071 q 572 975 572 1012 m 467 974 q 448 1021 467 1004 q 401 1038 430 1038 q 354 1021 372 1038 q 335 974 335 1004 q 351 926 335 944 q 401 909 368 909 q 448 926 430 909 q 467 974 467 944 \"},Á:{x_min:-.25,x_max:903.25,ha:903,o:\"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 335 1071 l 335 1089 q 365 1134 349 1108 q 397 1187 381 1160 q 427 1242 413 1215 q 453 1293 442 1269 l 685 1293 l 685 1278 q 663 1250 677 1266 q 630 1214 649 1233 q 591 1175 612 1195 q 549 1136 570 1155 q 507 1100 527 1117 q 472 1071 488 1083 l 335 1071 \"},ĥ:{x_min:109,x_max:767,ha:871,o:\"m 767 0 l 560 0 l 560 442 q 534 565 560 524 q 456 606 509 606 q 389 590 416 606 q 345 542 362 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 1055 l 315 1055 l 315 840 q 314 780 315 811 q 311 722 313 748 q 306 661 308 690 l 317 661 q 402 746 350 720 q 518 773 453 773 q 620 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 m 594 1109 q 522 1161 559 1131 q 449 1227 484 1190 q 377 1161 412 1190 q 307 1109 342 1131 l 170 1109 l 170 1127 q 209 1172 187 1146 q 252 1225 230 1198 q 294 1280 274 1253 q 330 1331 315 1307 l 571 1331 q 606 1280 586 1307 q 648 1225 626 1253 q 692 1172 670 1198 q 732 1127 715 1146 l 732 1109 l 594 1109 \"},Κ:{x_min:125,x_max:880.25,ha:880,o:\"m 880 0 l 641 0 l 413 412 l 335 354 l 335 0 l 125 0 l 125 992 l 335 992 l 335 514 l 417 654 l 644 992 l 877 992 l 561 544 l 880 0 \"},\"»\":{x_min:58,x_max:759,ha:813,o:\"m 759 370 l 549 63 l 401 143 l 548 380 l 401 616 l 549 697 l 759 388 l 759 370 m 416 370 l 206 63 l 58 143 l 205 380 l 58 616 l 206 697 l 416 388 l 416 370 \"},\"∆\":{x_min:39,x_max:820,ha:859,o:\"m 39 120 l 311 996 l 549 996 l 820 119 l 820 0 l 39 0 l 39 120 m 457 701 q 451 726 455 709 q 442 764 446 744 q 434 800 437 783 q 429 823 430 817 q 425 800 429 817 q 417 764 422 783 q 409 726 413 744 q 403 700 405 708 l 253 174 l 606 174 l 457 701 \"},ў:{x_min:-.25,x_max:749.25,ha:749,o:\"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 m 702 1085 q 677 985 696 1030 q 618 909 657 941 q 518 859 580 877 q 367 842 457 842 q 215 858 275 842 q 117 907 154 875 q 64 983 81 939 q 44 1085 48 1028 l 230 1085 q 243 1020 233 1045 q 269 981 252 995 q 311 961 285 967 q 373 955 337 955 q 427 962 402 955 q 470 983 452 968 q 499 1023 488 998 q 515 1085 511 1048 l 702 1085 \"},ţ:{x_min:32,x_max:530,ha:575,o:\"m 416 152 q 474 158 446 152 q 530 175 501 165 l 530 20 q 457 -4 500 5 q 364 -14 414 -14 q 271 -2 314 -14 q 198 38 229 9 q 148 115 166 67 q 131 237 131 164 l 131 604 l 32 604 l 32 691 l 145 759 l 205 919 l 337 919 l 337 758 l 521 758 l 521 604 l 337 604 l 337 238 q 359 173 337 194 q 416 152 381 152 m 174 -288 q 186 -242 180 -268 q 197 -188 192 -216 q 208 -134 203 -161 q 215 -85 213 -107 l 407 -85 l 407 -98 q 358 -198 386 -145 q 294 -307 330 -251 l 174 -307 l 174 -288 \"},\"«\":{x_min:56,x_max:757,ha:813,o:\"m 56 388 l 265 697 l 414 616 l 266 380 l 414 143 l 265 63 l 56 370 l 56 388 m 399 388 l 608 697 l 757 616 l 609 380 l 757 143 l 608 63 l 399 370 l 399 388 \"},í:{x_min:99,x_max:449,ha:424,o:\"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 99 842 l 99 860 q 129 905 113 879 q 161 958 145 931 q 191 1013 177 986 q 217 1064 206 1040 l 449 1064 l 449 1049 q 427 1021 441 1037 q 394 985 413 1004 q 355 946 376 966 q 313 907 334 926 q 271 871 291 888 q 236 842 252 854 l 99 842 \"},ņ:{x_min:109,x_max:767,ha:871,o:\"m 767 0 l 560 0 l 560 442 q 535 565 560 524 q 456 606 510 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 m 317 -288 q 329 -242 323 -268 q 340 -188 335 -216 q 351 -134 346 -161 q 358 -85 356 -107 l 550 -85 l 550 -98 q 501 -198 529 -145 q 437 -307 473 -251 l 317 -307 l 317 -288 \"},µ:{x_min:109,x_max:766,ha:875,o:\"m 315 315 q 341 193 315 234 q 421 152 366 152 q 486 168 460 152 q 529 216 513 184 q 552 295 545 248 q 559 401 559 341 l 559 758 l 766 758 l 766 0 l 607 0 l 578 102 l 570 102 q 511 15 547 44 q 425 -14 476 -14 q 358 1 388 -14 q 309 47 328 17 q 312 -10 310 18 q 314 -64 313 -35 q 315 -117 315 -92 l 315 -334 l 109 -334 l 109 758 l 315 758 l 315 315 \"},ỳ:{x_min:-.25,x_max:749.25,ha:749,o:\"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 m 324 842 q 269 889 301 860 q 205 946 236 917 q 148 1004 174 976 q 112 1049 122 1031 l 112 1064 l 343 1064 q 369 1013 354 1040 q 399 958 383 986 q 431 905 415 931 q 462 860 447 879 l 462 842 l 324 842 \"},Ι:{x_min:44.28125,x_max:495.96875,ha:541,o:\"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 \"},Ύ:{x_min:-39,x_max:1005.25,ha:1004,o:\"m 599 583 l 778 992 l 1005 992 l 704 385 l 704 0 l 494 0 l 494 379 l 192 992 l 420 992 l 599 583 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 \"},ѕ:{x_min:66,x_max:614,ha:668,o:\"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 \"},Ш:{x_min:125,x_max:1317,ha:1442,o:\"m 825 174 l 1106 174 l 1106 992 l 1317 992 l 1317 0 l 125 0 l 125 992 l 335 992 l 335 174 l 615 174 l 615 992 l 825 992 l 825 174 \"},M:{x_min:125,x_max:1143,ha:1268,o:\"m 523 0 l 305 778 l 299 778 q 306 657 303 715 q 308 605 307 632 q 310 553 309 579 q 311 503 311 527 q 312 461 312 480 l 312 0 l 125 0 l 125 992 l 410 992 l 625 233 l 629 233 l 856 992 l 1143 992 l 1143 0 l 947 0 l 947 469 q 947 509 947 487 q 948 556 947 531 q 950 607 949 581 q 951 657 951 633 q 956 776 954 714 l 951 776 l 716 0 l 523 0 \"},Ψ:{x_min:74,x_max:1088,ha:1161,o:\"m 1088 667 q 1067 510 1088 578 q 1000 393 1046 441 q 882 321 954 346 q 706 296 809 296 l 674 296 l 674 0 l 487 0 l 487 296 l 455 296 q 279 320 351 296 q 160 391 206 344 q 94 507 115 439 q 74 664 74 576 l 74 992 l 270 992 l 270 665 q 283 566 270 605 q 321 504 296 526 q 383 472 347 481 q 468 462 420 462 l 487 462 l 487 992 l 674 992 l 674 462 l 692 462 q 771 471 735 462 q 835 502 808 479 q 876 563 861 524 q 892 662 892 602 l 892 992 l 1088 992 l 1088 667 \"},ũ:{x_min:104,x_max:762,ha:871,o:\"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 322 906 q 288 890 301 906 q 268 840 276 874 l 167 840 q 184 934 171 894 q 220 999 198 973 q 272 1037 242 1024 q 337 1050 301 1050 q 391 1040 365 1050 q 444 1017 418 1030 q 495 995 470 1005 q 545 985 521 985 q 578 1001 566 985 q 599 1051 591 1017 l 701 1051 q 683 958 696 997 q 646 893 669 919 q 594 854 624 867 q 530 842 565 842 q 476 852 503 842 q 423 874 448 862 q 372 896 397 886 q 322 906 346 906 \"},ŭ:{x_min:104,x_max:762,ha:871,o:\"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 678 1071 q 656 978 674 1020 q 608 906 639 936 q 532 858 576 875 q 429 842 487 842 q 325 858 369 842 q 250 904 280 874 q 204 976 220 934 q 186 1071 188 1018 l 301 1071 q 313 1024 304 1041 q 339 998 323 1007 q 378 987 355 989 q 430 985 401 985 q 477 988 455 985 q 516 1000 499 991 q 545 1026 534 1009 q 559 1071 557 1043 l 678 1071 \"},\"―\":{x_min:56,x_max:1333,ha:1389,o:\"m 56 296 l 56 452 l 1333 452 l 1333 296 l 56 296 \"},\"{\":{x_min:21,x_max:492,ha:505,o:\"m 195 183 q 150 277 195 249 q 21 304 105 304 l 21 467 q 96 473 63 467 q 151 494 129 479 q 185 532 173 509 q 195 587 196 555 l 195 803 q 207 889 195 853 q 254 947 220 924 q 345 981 287 970 q 492 992 403 992 l 492 838 q 442 833 464 838 q 405 819 420 829 q 382 790 390 808 q 374 743 374 772 l 374 540 q 215 390 369 414 l 215 382 q 334 333 293 370 q 374 232 376 295 l 374 29 q 382 -18 374 0 q 405 -47 390 -36 q 442 -61 420 -57 q 492 -66 464 -66 l 492 -220 q 345 -209 403 -220 q 254 -175 287 -198 q 207 -116 220 -152 q 195 -30 195 -80 l 195 183 \"},\"¼\":{x_min:32,x_max:1141.203125,ha:1224,o:\"m 929 992 l 378 0 l 216 0 l 767 992 l 929 992 m 365 397 l 204 397 l 204 700 q 204 734 204 713 q 205 776 204 755 q 207 814 206 797 q 209 840 208 832 q 198 828 205 835 q 185 813 192 820 q 171 799 178 805 q 158 787 164 792 l 105 746 l 32 832 l 235 992 l 365 992 l 365 397 m 1141 101 l 1056 101 l 1056 0 l 895 0 l 895 101 l 635 101 l 635 207 l 896 599 l 1056 599 l 1056 217 l 1141 217 l 1141 101 m 895 217 l 895 328 q 896 388 895 356 q 899 453 897 419 q 889 429 895 444 q 875 399 882 415 q 860 370 867 384 q 846 346 852 356 l 760 217 l 895 217 \"},Ḿ:{x_min:125,x_max:1143,ha:1268,o:\"m 523 0 l 305 778 l 299 778 q 306 657 303 715 q 308 605 307 632 q 310 553 309 579 q 311 503 311 527 q 312 461 312 480 l 312 0 l 125 0 l 125 992 l 410 992 l 625 233 l 629 233 l 856 992 l 1143 992 l 1143 0 l 947 0 l 947 469 q 947 509 947 487 q 948 556 947 531 q 950 607 949 581 q 951 657 951 633 q 956 776 954 714 l 951 776 l 716 0 l 523 0 m 533 1073 l 533 1091 q 563 1136 547 1110 q 595 1189 579 1162 q 625 1244 611 1217 q 651 1295 640 1271 l 883 1295 l 883 1280 q 861 1252 875 1268 q 828 1216 847 1235 q 789 1177 810 1197 q 747 1138 768 1157 q 705 1102 725 1119 q 670 1073 686 1085 l 533 1073 \"},ι:{x_min:109,x_max:509,ha:538,o:\"m 315 758 l 315 236 q 337 171 315 192 q 395 150 359 150 q 453 157 425 150 q 509 174 480 164 l 509 20 q 436 -4 479 5 q 342 -14 393 -14 q 250 -2 292 -14 q 176 37 207 9 q 126 115 144 66 q 109 237 109 163 l 109 758 l 315 758 \"},IJ:{x_min:44.28125,x_max:876,ha:1e3,o:\"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 539 -292 q 462 -287 495 -292 q 406 -277 429 -283 l 406 -103 q 458 -112 431 -108 q 518 -117 486 -117 q 576 -110 549 -117 q 623 -86 603 -103 q 654 -42 643 -70 q 665 27 665 -14 l 665 992 l 876 992 l 876 35 q 851 -111 876 -49 q 782 -213 826 -173 q 675 -273 737 -254 q 539 -292 614 -292 \"},Ê:{x_min:125,x_max:703,ha:778,o:\"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 565 1071 q 493 1123 530 1093 q 420 1189 455 1152 q 348 1123 383 1152 q 278 1071 313 1093 l 141 1071 l 141 1089 q 180 1134 158 1108 q 223 1187 201 1160 q 265 1242 245 1215 q 301 1293 286 1269 l 542 1293 q 577 1242 557 1269 q 619 1187 597 1215 q 663 1134 641 1160 q 703 1089 686 1108 l 703 1071 l 565 1071 \"},Ά:{x_min:-37,x_max:903.25,ha:903,o:\"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m -37 789 q -24 835 -30 809 q -13 889 -18 861 q -3 943 -7 916 q 4 993 1 970 l 196 993 l 196 978 q 147 879 175 932 q 83 771 119 826 l -37 771 l -37 789 \"},\")\":{x_min:41,x_max:415,ha:471,o:\"m 415 380 q 402 214 415 296 q 365 57 390 133 q 301 -89 340 -19 q 210 -220 263 -158 l 42 -220 q 125 -84 89 -156 q 186 64 162 -12 q 223 221 211 141 q 235 381 235 301 q 186 704 235 547 q 41 992 137 861 l 210 992 q 301 857 263 928 q 365 708 340 785 q 402 547 390 630 q 415 380 415 465 \"},ε:{x_min:53,x_max:677,ha:729,o:\"m 531 464 l 531 316 l 432 316 q 299 292 340 316 q 259 221 259 267 q 268 187 259 202 q 297 161 277 172 q 348 145 317 150 q 424 139 379 139 q 498 144 462 139 q 566 159 533 150 q 626 180 598 168 q 676 203 654 191 l 676 38 q 557 0 627 14 q 400 -14 488 -14 q 242 1 308 -14 q 134 46 177 17 q 72 115 92 74 q 53 206 53 156 q 66 278 53 248 q 104 330 79 308 q 163 366 128 352 q 240 387 198 379 l 240 394 q 129 457 165 411 q 93 571 93 502 q 117 664 93 626 q 184 726 142 702 q 283 762 227 751 q 403 773 340 773 q 477 768 440 773 q 550 757 515 764 q 617 739 585 749 q 677 716 649 728 l 620 566 q 527 603 576 586 q 421 619 478 619 q 365 615 390 619 q 324 603 341 612 q 297 581 306 594 q 287 547 287 567 q 325 483 287 502 q 444 464 363 464 l 531 464 \"},э:{x_min:50,x_max:607,ha:676,o:\"m 266 -14 q 147 -3 199 -14 q 50 32 96 7 l 50 193 q 144 154 95 170 q 250 139 194 139 q 351 177 312 139 q 395 303 389 216 l 148 303 l 148 451 l 395 451 q 267 619 386 619 q 185 606 224 619 q 112 576 145 593 l 54 718 q 99 738 74 728 q 153 755 124 747 q 214 768 182 763 q 280 773 246 773 q 409 754 349 773 q 513 691 469 735 q 581 572 556 646 q 607 387 607 498 q 584 209 607 284 q 518 83 561 133 q 411 10 474 34 q 266 -14 347 -14 \"},ш:{x_min:109,x_max:1195,ha:1304,o:\"m 1195 0 l 109 0 l 109 758 l 315 758 l 315 153 l 549 153 l 549 758 l 755 758 l 755 153 l 988 153 l 988 758 l 1195 758 l 1195 0 \"},Я:{x_min:-7.25,x_max:743,ha:868,o:\"m 449 381 l 226 0 l -7 0 l 270 444 q 210 478 240 457 q 155 532 179 499 q 116 609 131 564 q 101 716 101 654 q 193 923 101 854 q 470 992 286 992 l 743 992 l 743 0 l 532 0 l 532 381 l 449 381 m 532 817 l 449 817 q 347 787 383 817 q 311 690 311 758 q 345 586 311 624 q 453 547 380 547 l 532 547 l 532 817 \"},a:{x_min:58,x_max:694,ha:798,o:\"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 \"},Ę:{x_min:125,x_max:696,ha:778,o:\"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 520 -154 q 535 -196 520 -182 q 574 -209 550 -209 q 617 -205 595 -209 q 652 -197 638 -201 l 652 -318 q 605 -329 630 -324 q 546 -334 580 -334 q 475 -322 507 -334 q 422 -290 444 -310 q 388 -241 400 -269 q 377 -177 377 -212 q 386 -124 377 -148 q 412 -78 395 -99 q 451 -38 429 -57 q 499 0 473 -19 l 620 0 q 546 -81 573 -44 q 520 -154 520 -118 \"},Z:{x_min:33,x_max:716,ha:749,o:\"m 716 0 l 33 0 l 33 137 l 453 817 l 45 817 l 45 992 l 703 992 l 703 855 l 283 174 l 716 174 l 716 0 \"},\" \":{x_min:0,x_max:0,ha:231},k:{x_min:109,x_max:819.25,ha:819,o:\"m 307 412 l 383 527 l 568 758 l 801 758 l 527 429 l 819 0 l 580 0 l 396 291 l 315 235 l 315 0 l 109 0 l 109 1055 l 315 1055 l 315 584 l 305 412 l 307 412 \"},Ù:{x_min:118,x_max:876,ha:994,o:\"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 479 1071 q 424 1118 456 1089 q 360 1175 391 1146 q 303 1233 329 1205 q 267 1278 277 1260 l 267 1293 l 498 1293 q 524 1242 509 1269 q 554 1187 538 1215 q 586 1134 570 1160 q 617 1089 602 1108 l 617 1071 l 479 1071 \"},Ů:{x_min:118,x_max:876,ha:994,o:\"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 671 1231 q 657 1163 671 1193 q 621 1112 644 1133 q 566 1080 597 1091 q 498 1069 535 1069 q 430 1080 461 1069 q 377 1112 399 1091 q 343 1162 355 1132 q 331 1230 331 1193 q 343 1297 331 1267 q 377 1347 355 1327 q 430 1379 399 1368 q 498 1391 461 1391 q 566 1379 534 1391 q 620 1347 597 1368 q 657 1297 643 1327 q 671 1231 671 1268 m 565 1230 q 547 1278 565 1260 q 501 1295 529 1295 q 454 1278 472 1295 q 436 1230 436 1260 q 452 1182 436 1199 q 501 1164 468 1164 q 547 1182 529 1164 q 565 1230 565 1199 \"},\"¢\":{x_min:97,x_max:672.984375,ha:765,o:\"m 368 -14 l 368 126 q 255 160 305 134 q 170 230 205 185 q 115 343 134 276 q 97 504 97 411 q 115 668 97 599 q 170 783 134 737 q 256 855 206 829 q 368 889 306 880 l 368 1006 l 488 1006 l 488 895 q 540 890 514 894 q 590 881 565 887 q 635 869 614 876 q 672 855 656 863 l 614 705 q 582 718 600 711 q 545 729 564 724 q 507 737 526 734 q 472 741 488 741 q 396 727 427 741 q 344 685 365 713 q 316 613 324 656 q 307 510 307 570 q 346 339 307 393 q 472 284 384 284 q 572 297 524 284 q 654 326 620 309 l 654 164 q 577 133 619 144 q 488 122 535 123 l 488 -14 l 368 -14 \"},В:{x_min:125,x_max:818,ha:892,o:\"m 125 992 l 415 992 q 579 978 508 992 q 697 936 649 965 q 768 858 744 906 q 793 740 793 810 q 782 662 793 698 q 752 597 772 625 q 705 551 733 569 q 640 526 677 532 l 640 519 q 709 496 677 511 q 766 454 742 480 q 804 386 790 427 q 818 287 818 345 q 794 166 818 219 q 726 76 770 113 q 618 19 681 39 q 474 0 554 0 l 125 0 l 125 992 m 335 599 l 444 599 q 509 606 483 599 q 552 627 536 613 q 575 662 568 641 q 582 711 582 683 q 547 792 582 768 q 434 817 511 817 l 335 817 l 335 599 m 335 432 l 335 174 l 459 174 q 529 184 501 174 q 575 211 557 193 q 600 253 592 228 q 607 309 607 278 q 600 359 607 336 q 574 398 592 382 q 527 423 556 414 q 454 432 497 432 l 335 432 \"},І:{x_min:44.28125,x_max:495.96875,ha:541,o:\"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 \"},ē:{x_min:69,x_max:741,ha:807,o:\"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 204 985 l 622 985 l 622 842 l 204 842 l 204 985 \"},β:{x_min:109,x_max:827,ha:875,o:\"m 450 1063 q 579 1046 520 1063 q 681 996 638 1029 q 748 913 724 963 q 773 796 773 862 q 721 636 773 695 q 574 562 669 578 l 574 558 q 679 532 633 551 q 759 481 726 513 q 809 402 791 449 q 827 292 827 356 q 805 162 827 219 q 743 66 783 105 q 646 6 702 27 q 519 -14 589 -14 q 406 -3 458 -14 q 315 28 354 7 l 315 -334 l 109 -334 l 109 743 q 135 887 109 826 q 207 986 161 947 q 315 1044 252 1025 q 450 1063 377 1063 m 444 896 q 394 888 418 896 q 353 860 371 880 q 326 806 336 840 q 315 720 315 772 l 315 199 q 349 179 330 188 q 388 164 368 171 q 427 155 408 158 q 464 152 447 152 q 578 193 540 152 q 615 311 615 235 q 601 382 615 353 q 563 429 587 411 q 506 455 538 447 q 437 462 474 462 l 388 462 l 388 629 l 424 629 q 487 639 461 629 q 531 667 513 649 q 557 712 549 686 q 566 769 566 737 q 532 865 566 833 q 444 896 499 896 \"},\"≠\":{x_min:60,x_max:705,ha:765,o:\"m 367 284 l 281 97 l 145 154 l 204 284 l 60 284 l 60 433 l 273 433 l 327 546 l 60 546 l 60 695 l 395 695 l 484 885 l 620 827 l 557 695 l 705 695 l 705 546 l 490 546 l 436 433 l 705 433 l 705 284 l 367 284 \"},\"‼\":{x_min:79,x_max:712,ha:791,o:\"m 281 330 l 116 330 l 81 992 l 316 992 l 281 330 m 79 97 q 88 151 79 129 q 113 187 97 173 q 151 206 129 200 q 198 213 173 213 q 243 206 221 213 q 280 187 264 200 q 306 151 297 173 q 316 97 316 129 q 306 45 316 66 q 280 9 297 23 q 243 -11 264 -5 q 198 -18 221 -18 q 151 -11 173 -18 q 113 9 129 -5 q 88 45 97 23 q 79 97 79 66 m 677 330 l 512 330 l 477 992 l 712 992 l 677 330 m 475 97 q 484 151 475 129 q 509 187 493 173 q 547 206 525 200 q 594 213 569 213 q 639 206 617 213 q 676 187 660 200 q 702 151 693 173 q 712 97 712 129 q 702 45 712 66 q 676 9 693 23 q 639 -11 660 -5 q 594 -18 617 -18 q 547 -11 569 -18 q 509 9 525 -5 q 484 45 493 23 q 475 97 475 66 \"},\"¥\":{x_min:4.75,x_max:776.25,ha:765,o:\"m 390 583 l 563 992 l 776 992 l 530 485 l 662 485 l 662 364 l 496 364 l 496 271 l 662 271 l 662 150 l 496 150 l 496 0 l 286 0 l 286 150 l 117 150 l 117 271 l 286 271 l 286 364 l 117 364 l 117 485 l 247 485 l 4 992 l 219 992 l 390 583 \"},Ĥ:{x_min:125,x_max:882,ha:1007,o:\"m 882 0 l 671 0 l 671 428 l 335 428 l 335 0 l 125 0 l 125 992 l 335 992 l 335 603 l 671 603 l 671 992 l 882 992 l 882 0 m 642 1071 q 570 1123 607 1093 q 497 1189 532 1152 q 425 1123 460 1152 q 355 1071 390 1093 l 218 1071 l 218 1089 q 257 1134 235 1108 q 300 1187 278 1160 q 342 1242 322 1215 q 378 1293 363 1269 l 619 1293 q 654 1242 634 1269 q 696 1187 674 1215 q 740 1134 718 1160 q 780 1089 763 1108 l 780 1071 l 642 1071 \"},U:{x_min:118,x_max:876,ha:994,o:\"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 \"},Ñ:{x_min:125,x_max:963,ha:1088,o:\"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 m 423 1135 q 389 1119 402 1135 q 369 1069 377 1103 l 268 1069 q 285 1163 272 1123 q 321 1228 299 1202 q 373 1266 343 1253 q 438 1279 402 1279 q 492 1269 466 1279 q 545 1246 519 1259 q 596 1224 571 1234 q 646 1214 622 1214 q 679 1230 667 1214 q 700 1280 692 1246 l 802 1280 q 784 1187 797 1226 q 747 1122 770 1148 q 695 1083 725 1096 q 631 1071 666 1071 q 577 1081 604 1071 q 524 1103 549 1091 q 473 1125 498 1115 q 423 1135 447 1135 \"},F:{x_min:125,x_max:693,ha:762,o:\"m 330 0 l 125 0 l 125 992 l 693 992 l 693 817 l 330 817 l 330 564 l 667 564 l 667 389 l 330 389 l 330 0 \"},ϑ:{x_min:28.03125,x_max:933.140625,ha:975,o:\"m 628 675 q 609 777 622 732 q 576 853 595 822 q 533 900 558 884 q 482 916 509 916 q 430 897 449 916 q 410 840 410 878 q 422 780 410 809 q 459 727 433 750 q 526 690 484 704 q 628 675 567 675 m 845 524 q 846 511 846 519 q 847 494 847 503 q 847 477 847 485 q 847 463 847 468 q 838 339 847 399 q 809 226 829 279 q 758 129 790 173 q 681 53 727 85 q 576 3 636 21 q 440 -14 516 -14 q 300 4 354 -14 q 215 55 246 23 q 174 127 185 86 q 163 210 163 167 q 167 281 163 246 q 171 346 171 317 q 162 384 171 374 q 135 393 152 393 q 103 387 120 393 q 76 374 87 380 l 28 500 q 119 541 68 523 q 233 560 170 560 q 332 528 296 560 q 367 437 367 496 q 362 349 367 394 q 357 256 357 304 q 363 215 357 234 q 382 182 369 196 q 416 160 396 168 q 467 152 437 152 q 593 230 550 152 q 635 478 635 309 q 635 486 635 480 q 635 498 635 492 q 635 511 635 505 q 634 521 634 517 q 433 552 515 523 q 300 628 351 581 q 226 732 249 674 q 204 849 204 790 q 219 938 204 897 q 269 1008 235 978 q 352 1053 302 1037 q 471 1070 403 1070 q 621 1040 558 1070 q 727 958 684 1011 q 796 833 771 906 q 834 675 822 761 l 933 675 l 933 524 l 845 524 \"},Ќ:{x_min:125,x_max:878.25,ha:878,o:\"m 878 0 l 639 0 l 335 502 l 335 0 l 125 0 l 125 992 l 335 992 l 335 511 l 635 992 l 859 992 l 552 515 l 878 0 m 338 1071 l 338 1089 q 368 1134 352 1108 q 400 1187 384 1160 q 430 1242 416 1215 q 456 1293 445 1269 l 688 1293 l 688 1278 q 666 1250 680 1266 q 633 1214 652 1233 q 594 1175 615 1195 q 552 1136 573 1155 q 510 1100 530 1117 q 475 1071 491 1083 l 338 1071 \"},å:{x_min:58,x_max:694,ha:798,o:\"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 571 1002 q 557 934 571 964 q 521 883 544 904 q 466 851 497 862 q 398 840 435 840 q 330 851 361 840 q 277 883 299 862 q 243 933 255 903 q 231 1001 231 964 q 243 1068 231 1038 q 277 1118 255 1098 q 330 1150 299 1139 q 398 1162 361 1162 q 466 1150 434 1162 q 520 1118 497 1139 q 557 1068 543 1098 q 571 1002 571 1039 m 465 1001 q 447 1049 465 1031 q 401 1066 429 1066 q 354 1049 372 1066 q 336 1001 336 1031 q 352 953 336 970 q 401 935 368 935 q 447 953 429 935 q 465 1001 465 970 \"},Ϋ:{x_min:-.25,x_max:812.25,ha:811,o:\"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 m 174 1182 q 181 1223 174 1206 q 201 1251 188 1240 q 231 1268 214 1263 q 268 1274 248 1274 q 305 1268 288 1274 q 335 1251 322 1263 q 356 1223 348 1240 q 364 1182 364 1206 q 356 1142 364 1159 q 335 1114 348 1125 q 305 1097 322 1102 q 268 1092 288 1092 q 231 1097 248 1092 q 201 1114 214 1102 q 181 1142 188 1125 q 174 1182 174 1159 m 447 1182 q 454 1223 447 1206 q 474 1251 461 1240 q 505 1268 487 1263 q 543 1274 522 1274 q 579 1268 562 1274 q 610 1251 596 1263 q 631 1223 623 1240 q 639 1182 639 1206 q 631 1142 639 1159 q 610 1114 623 1125 q 579 1097 596 1102 q 543 1092 562 1092 q 474 1114 502 1092 q 447 1182 447 1136 \"},ō:{x_min:69,x_max:762,ha:832,o:\"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 206 985 l 624 985 l 624 842 l 206 842 l 206 985 \"},\"”\":{x_min:16,x_max:601,ha:615,o:\"m 284 977 q 261 898 274 939 q 232 815 248 857 q 198 731 216 772 q 164 652 181 690 l 16 652 q 35 737 25 692 q 54 827 45 782 q 71 913 63 871 q 83 992 78 956 l 273 992 l 284 977 m 601 977 q 578 898 591 939 q 548 815 564 857 q 515 731 532 772 q 481 652 498 690 l 332 652 q 352 737 342 692 q 371 827 362 782 q 387 913 380 871 q 400 992 395 956 l 590 992 l 601 977 \"},ö:{x_min:69,x_max:762,ha:832,o:\"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 181 953 q 188 994 181 977 q 208 1022 195 1011 q 238 1039 221 1034 q 275 1045 255 1045 q 312 1039 295 1045 q 342 1022 329 1034 q 363 994 355 1011 q 371 953 371 977 q 363 913 371 930 q 342 885 355 896 q 312 868 329 873 q 275 863 295 863 q 238 868 255 863 q 208 885 221 873 q 188 913 195 896 q 181 953 181 930 m 454 953 q 461 994 454 977 q 481 1022 468 1011 q 512 1039 494 1034 q 550 1045 529 1045 q 586 1039 569 1045 q 617 1022 603 1034 q 638 994 630 1011 q 646 953 646 977 q 638 913 646 930 q 617 885 630 896 q 586 868 603 873 q 550 863 569 863 q 481 885 509 863 q 454 953 454 907 \"},ć:{x_min:69,x_max:664,ha:693,o:\"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 m 314 842 l 314 860 q 344 905 328 879 q 376 958 360 931 q 406 1013 392 986 q 432 1064 421 1040 l 664 1064 l 664 1049 q 642 1021 656 1037 q 609 985 628 1004 q 570 946 591 966 q 528 907 549 926 q 486 871 506 888 q 451 842 467 854 l 314 842 \"},þ:{x_min:109,x_max:775,ha:844,o:\"m 315 659 q 348 704 329 683 q 391 739 366 724 q 445 764 415 755 q 512 773 475 773 q 619 747 571 773 q 701 673 667 722 q 755 550 736 623 q 775 380 775 476 q 756 209 775 283 q 702 86 737 136 q 619 11 668 36 q 512 -14 571 -14 q 445 -6 475 -14 q 390 12 414 0 q 348 42 366 25 q 315 77 330 58 l 306 77 q 311 35 308 55 q 314 0 313 18 q 315 -27 315 -17 l 315 -334 l 109 -334 l 109 1055 l 315 1055 l 315 789 q 314 751 315 773 q 311 708 313 728 q 306 659 308 684 l 315 659 m 443 606 q 384 594 408 606 q 345 556 360 581 q 323 492 330 531 q 315 403 317 454 l 315 380 q 322 282 315 325 q 343 211 328 239 q 383 167 358 182 q 444 152 407 152 q 534 211 505 152 q 563 382 563 269 q 534 550 563 494 q 443 606 505 606 \"},\"]\":{x_min:35,x_max:363,ha:460,o:\"m 35 -76 l 183 -76 l 183 848 l 35 848 l 35 992 l 363 992 l 363 -220 l 35 -220 l 35 -76 \"},А:{x_min:-.25,x_max:903.25,ha:903,o:\"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 \"},\"′\":{x_min:90,x_max:279.21875,ha:370,o:\"m 279 992 l 251 634 l 117 634 l 90 992 l 279 992 \"},Ы:{x_min:125,x_max:1078,ha:1203,o:\"m 769 310 q 746 179 769 237 q 678 81 724 121 q 560 21 631 42 q 390 0 489 0 l 125 0 l 125 992 l 335 992 l 335 613 l 408 613 q 569 590 501 613 q 681 527 637 568 q 747 432 726 487 q 769 310 769 376 m 335 174 l 393 174 q 462 182 431 174 q 514 205 492 189 q 547 247 536 221 q 558 310 558 273 q 546 374 558 349 q 510 413 534 399 q 453 432 487 427 q 378 438 420 438 l 335 438 l 335 174 m 1078 0 l 867 0 l 867 992 l 1078 992 l 1078 0 \"},ẁ:{x_min:-.25,x_max:1120.25,ha:1120,o:\"m 688 0 l 629 265 q 622 297 626 276 q 612 346 618 319 q 601 403 607 372 q 589 463 595 433 q 559 613 575 532 l 555 613 q 527 462 539 532 q 515 402 521 432 q 504 344 510 371 q 494 296 499 317 q 487 262 490 274 l 426 0 l 204 0 l 0 758 l 205 758 l 282 422 q 294 359 288 395 q 306 284 301 322 q 317 213 312 246 q 324 160 322 179 l 328 160 q 331 193 329 172 q 337 237 334 214 q 344 286 341 261 q 352 332 348 311 q 359 371 356 354 q 364 394 362 387 l 447 758 l 674 758 l 754 394 q 763 348 757 379 q 774 281 768 317 q 784 212 780 246 q 789 160 788 178 l 793 160 q 800 210 795 176 q 811 281 805 243 q 824 357 817 320 q 837 422 831 395 l 917 758 l 1120 758 l 913 0 l 688 0 m 529 842 q 474 889 506 860 q 410 946 441 917 q 353 1004 379 976 q 317 1049 327 1031 l 317 1064 l 548 1064 q 574 1013 559 1040 q 604 958 588 986 q 636 905 620 931 q 667 860 652 879 l 667 842 l 529 842 \"},ĭ:{x_min:-34,x_max:458,ha:424,o:\"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 458 1071 q 436 978 454 1020 q 388 906 419 936 q 312 858 356 875 q 209 842 267 842 q 105 858 149 842 q 30 904 60 874 q -15 976 0 934 q -34 1071 -31 1018 l 81 1071 q 93 1024 84 1041 q 119 998 103 1007 q 158 987 135 989 q 210 985 181 985 q 257 988 235 985 q 296 1000 279 991 q 325 1026 314 1009 q 339 1071 337 1043 l 458 1071 \"},R:{x_min:125,x_max:875.25,ha:875,o:\"m 335 545 l 393 545 q 520 581 481 545 q 558 685 558 616 q 517 786 558 756 q 389 817 476 817 l 335 817 l 335 545 m 335 379 l 335 0 l 125 0 l 125 992 l 396 992 q 678 918 587 992 q 769 694 769 844 q 755 601 769 642 q 719 527 741 559 q 666 471 696 495 q 604 430 637 447 q 739 215 679 310 q 789 136 765 175 q 832 67 813 98 q 863 18 851 37 l 875 0 l 641 0 l 427 379 l 335 379 \"},Ż:{x_min:33,x_max:716,ha:749,o:\"m 716 0 l 33 0 l 33 137 l 453 817 l 45 817 l 45 992 l 703 992 l 703 855 l 283 174 l 716 174 l 716 0 m 275 1183 q 283 1232 275 1213 q 307 1263 292 1251 q 343 1280 323 1275 q 387 1285 364 1285 q 430 1280 410 1285 q 466 1263 451 1275 q 490 1232 481 1251 q 500 1183 500 1213 q 490 1135 500 1155 q 466 1104 481 1115 q 430 1087 451 1092 q 387 1082 410 1082 q 343 1087 364 1082 q 307 1104 323 1092 q 283 1135 292 1115 q 275 1183 275 1155 \"},ħ:{x_min:3,x_max:767,ha:871,o:\"m 767 0 l 560 0 l 560 400 q 534 522 560 482 q 456 563 509 563 q 389 547 416 563 q 345 498 362 530 q 322 420 329 467 q 315 314 315 374 l 315 0 l 109 0 l 109 808 l 3 808 l 3 946 l 109 946 l 109 1055 l 315 1055 l 315 946 l 529 946 l 529 808 l 315 808 l 315 796 q 314 736 315 767 q 311 678 313 705 l 306 617 l 317 617 q 402 703 350 677 q 518 730 453 730 q 620 714 575 730 q 699 664 666 698 q 749 577 731 630 q 767 452 767 525 l 767 0 \"},õ:{x_min:69,x_max:762,ha:832,o:\"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 301 906 q 267 890 280 906 q 247 840 255 874 l 146 840 q 163 934 150 894 q 199 999 177 973 q 251 1037 221 1024 q 316 1050 280 1050 q 370 1040 344 1050 q 423 1017 397 1030 q 474 995 449 1005 q 524 985 500 985 q 557 1001 545 985 q 578 1051 570 1017 l 680 1051 q 662 958 675 997 q 625 893 648 919 q 573 854 603 867 q 509 842 544 842 q 455 852 482 842 q 402 874 427 862 q 351 896 376 886 q 301 906 325 906 \"},\"˙\":{x_min:100,x_max:325,ha:424,o:\"m 100 954 q 108 1003 100 984 q 132 1034 117 1022 q 168 1051 148 1046 q 212 1056 189 1056 q 255 1051 235 1056 q 291 1034 276 1046 q 315 1003 306 1022 q 325 954 325 984 q 315 906 325 926 q 291 875 306 886 q 255 858 276 863 q 212 853 235 853 q 168 858 189 853 q 132 875 148 863 q 108 906 117 886 q 100 954 100 926 \"},ê:{x_min:69,x_max:741,ha:807,o:\"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 556 842 q 484 894 521 864 q 411 960 446 923 q 339 894 374 923 q 269 842 304 864 l 132 842 l 132 860 q 171 905 149 879 q 214 958 192 931 q 256 1013 236 986 q 292 1064 277 1040 l 533 1064 q 568 1013 548 1040 q 610 958 588 986 q 654 905 632 931 q 694 860 677 879 l 694 842 l 556 842 \"},\"″\":{x_min:90,x_max:565.21875,ha:656,o:\"m 279 992 l 251 634 l 117 634 l 90 992 l 279 992 m 565 992 l 537 634 l 403 634 l 376 992 l 565 992 \"},\"„\":{x_min:43,x_max:628,ha:720,o:\"m 312 145 q 289 67 302 108 q 259 -15 275 26 q 226 -99 243 -57 q 192 -179 209 -141 l 43 -179 q 63 -92 53 -137 q 82 -3 73 -48 q 98 82 91 40 q 111 161 106 125 l 301 161 l 312 145 m 628 145 q 605 67 618 108 q 575 -15 591 26 q 542 -99 559 -57 q 508 -179 525 -141 l 359 -179 q 379 -92 369 -137 q 398 -3 389 -48 q 414 82 407 40 q 427 161 422 125 l 617 161 l 628 145 \"},ч:{x_min:83,x_max:760,ha:869,o:\"m 289 758 l 289 471 q 311 400 289 422 q 369 379 333 379 q 464 392 419 379 q 553 428 508 406 l 553 758 l 760 758 l 760 0 l 553 0 l 553 298 q 505 274 530 286 q 451 252 479 261 q 390 237 422 243 q 321 232 358 232 q 222 247 266 232 q 147 293 178 262 q 99 369 116 323 q 83 476 83 415 l 83 758 l 289 758 \"},δ:{x_min:69,x_max:762,ha:832,o:\"m 314 622 q 261 666 287 642 q 217 719 236 691 q 186 782 197 748 q 175 854 175 815 q 195 943 175 904 q 253 1009 216 982 q 344 1049 291 1035 q 462 1063 397 1063 q 544 1057 506 1063 q 618 1042 583 1052 q 686 1019 652 1033 q 754 987 719 1005 l 679 841 q 568 891 621 872 q 461 909 515 909 q 418 904 435 909 q 390 889 401 898 q 374 867 379 879 q 369 841 369 855 q 380 805 369 823 q 412 769 390 788 q 466 730 434 750 q 541 686 498 709 q 708 538 655 622 q 762 346 762 455 q 737 185 762 253 q 666 73 712 117 q 556 7 620 28 q 412 -14 491 -14 q 274 6 337 -14 q 166 67 212 27 q 94 164 120 106 q 69 296 69 222 q 87 422 69 368 q 139 515 106 476 q 217 580 172 554 q 314 622 262 606 m 550 333 q 541 399 550 369 q 517 454 533 429 q 480 500 502 479 q 432 537 459 520 q 381 512 408 529 q 332 468 354 496 q 295 400 309 440 q 280 305 280 360 q 289 244 280 272 q 315 195 298 216 q 356 163 332 175 q 412 152 381 152 q 514 198 478 152 q 550 333 550 244 \"},Â:{x_min:-.25,x_max:903.25,ha:903,o:\"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 596 1071 q 524 1123 561 1093 q 451 1189 486 1152 q 379 1123 414 1152 q 309 1071 344 1093 l 172 1071 l 172 1089 q 211 1134 189 1108 q 254 1187 232 1160 q 296 1242 276 1215 q 332 1293 317 1269 l 573 1293 q 608 1242 588 1269 q 650 1187 628 1215 q 694 1134 672 1160 q 734 1089 717 1108 l 734 1071 l 596 1071 \"},Į:{x_min:44.28125,x_max:495.96875,ha:541,o:\"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 272 -154 q 287 -196 272 -182 q 326 -209 302 -209 q 369 -205 347 -209 q 404 -197 390 -201 l 404 -318 q 357 -329 382 -324 q 298 -334 332 -334 q 227 -322 259 -334 q 174 -290 196 -310 q 140 -241 152 -269 q 129 -177 129 -212 q 138 -124 129 -148 q 164 -78 147 -99 q 203 -38 181 -57 q 251 0 225 -19 l 372 0 q 298 -81 325 -44 q 272 -154 272 -118 \"},ω:{x_min:81,x_max:1091,ha:1171,o:\"m 798 -14 q 722 -3 755 -14 q 663 25 689 6 q 620 72 638 45 q 589 133 602 100 l 582 133 q 551 72 570 100 q 508 25 533 45 q 450 -3 483 6 q 374 -14 416 -14 q 245 14 300 -14 q 154 92 190 42 q 99 213 117 143 q 81 367 81 283 q 85 472 81 423 q 99 568 90 521 q 124 662 109 615 q 158 758 138 708 l 360 758 q 296 573 316 666 q 275 378 275 480 q 282 286 275 327 q 303 215 289 244 q 340 168 317 185 q 393 152 362 152 q 439 163 421 152 q 468 195 458 174 q 484 248 479 217 q 489 319 489 279 l 489 517 l 683 517 l 683 319 q 688 248 683 279 q 703 195 692 217 q 733 163 714 174 q 779 152 751 152 q 832 168 810 152 q 868 214 854 185 q 889 285 883 244 q 896 375 896 326 q 876 572 896 477 q 811 758 855 666 l 1012 758 q 1047 662 1032 708 q 1072 568 1062 615 q 1086 472 1082 521 q 1091 367 1091 423 q 1072 213 1091 283 q 1017 92 1053 143 q 925 14 980 42 q 798 -14 870 -14 \"},Ţ:{x_min:28,x_max:735,ha:762,o:\"m 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 0 m 250 -288 q 262 -242 256 -268 q 273 -188 268 -216 q 284 -134 279 -161 q 291 -85 289 -107 l 483 -85 l 483 -98 q 434 -198 462 -145 q 370 -307 406 -251 l 250 -307 l 250 -288 \"},\"´\":{x_min:225,x_max:575,ha:802,o:\"m 225 842 l 225 860 q 255 905 239 879 q 287 958 271 931 q 317 1013 303 986 q 343 1064 332 1040 l 575 1064 l 575 1049 q 553 1021 567 1037 q 520 985 539 1004 q 481 946 502 966 q 439 907 460 926 q 397 871 417 888 q 362 842 378 854 l 225 842 \"},Ĉ:{x_min:81,x_max:836.296875,ha:885,o:\"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 m 666 1071 q 594 1123 631 1093 q 521 1189 556 1152 q 449 1123 484 1152 q 379 1071 414 1093 l 242 1071 l 242 1089 q 281 1134 259 1108 q 324 1187 302 1160 q 366 1242 346 1215 q 402 1293 387 1269 l 643 1293 q 678 1242 658 1269 q 720 1187 698 1215 q 764 1134 742 1160 q 804 1089 787 1108 l 804 1071 l 666 1071 \"},И:{x_min:125,x_max:963,ha:1088,o:\"m 125 992 l 312 992 l 312 522 q 311 484 312 505 q 310 440 311 463 q 309 395 310 417 q 307 350 308 372 q 302 248 304 300 l 306 248 l 712 992 l 963 992 l 963 0 l 775 0 l 775 466 q 777 554 775 505 q 781 646 779 602 q 788 750 784 698 l 782 750 l 375 0 l 125 0 l 125 992 \"},Љ:{x_min:11,x_max:1270,ha:1332,o:\"m 837 613 l 910 613 q 1070 590 1003 613 q 1182 527 1138 568 q 1248 432 1227 487 q 1270 310 1270 376 q 1247 179 1270 237 q 1179 81 1225 121 q 1061 21 1132 42 q 892 0 990 0 l 627 0 l 627 817 l 471 817 q 453 677 463 753 q 433 525 444 601 q 412 380 423 449 q 390 258 401 310 q 355 142 376 193 q 303 56 335 91 q 226 3 272 21 q 115 -14 179 -14 q 59 -10 85 -14 q 11 1 33 -6 l 11 174 q 46 164 28 168 q 85 160 64 160 q 120 170 105 160 q 147 203 135 179 q 170 264 159 226 q 191 361 180 303 q 207 457 197 395 q 230 603 218 520 q 257 785 243 686 q 284 992 271 884 l 837 992 l 837 613 m 837 174 l 894 174 q 963 182 932 174 q 1015 205 993 189 q 1048 247 1036 221 q 1059 310 1059 273 q 1047 374 1059 349 q 1011 413 1034 399 q 954 432 988 427 q 880 438 921 438 l 837 438 l 837 174 \"},р:{x_min:109,x_max:775,ha:844,o:\"m 507 -14 q 440 -5 470 -14 q 388 15 411 2 q 347 45 365 28 q 315 81 330 62 l 305 81 q 310 37 307 57 q 314 0 312 19 q 315 -27 315 -17 l 315 -334 l 109 -334 l 109 758 l 277 758 l 306 659 l 315 659 q 348 703 330 682 q 390 739 366 723 q 445 763 414 754 q 512 773 475 773 q 619 747 571 773 q 702 673 668 722 q 756 550 737 623 q 775 380 775 476 q 755 209 775 283 q 700 86 735 136 q 615 11 664 36 q 507 -14 566 -14 m 443 606 q 384 594 408 606 q 345 556 360 581 q 323 492 330 531 q 315 403 317 454 l 315 380 q 322 282 315 325 q 343 211 328 239 q 383 167 358 182 q 444 152 407 152 q 534 211 505 152 q 563 382 563 269 q 534 550 563 494 q 443 606 505 606 \"},Ω:{x_min:37,x_max:999,ha:1031,o:\"m 518 832 q 344 759 399 832 q 290 547 290 686 q 299 434 290 487 q 329 336 308 381 q 384 253 350 290 q 470 189 419 217 l 470 0 l 37 0 l 37 176 l 289 176 q 200 248 240 206 q 132 343 160 290 q 89 459 104 396 q 74 591 74 521 q 102 762 74 685 q 187 893 130 838 q 326 977 243 948 q 518 1007 409 1007 q 709 977 627 1007 q 848 893 792 948 q 933 761 905 838 q 962 589 962 684 q 946 458 962 520 q 902 343 931 396 q 834 248 874 290 q 744 176 794 206 l 999 176 l 999 0 l 561 0 l 561 189 q 649 253 614 216 q 705 336 684 290 q 736 435 727 382 q 745 548 745 488 q 691 759 745 686 q 518 832 636 832 \"},т:{x_min:32,x_max:694,ha:726,o:\"m 694 758 l 694 604 l 466 604 l 466 0 l 260 0 l 260 604 l 32 604 l 32 758 l 694 758 \"},П:{x_min:125,x_max:854,ha:979,o:\"m 854 0 l 643 0 l 643 817 l 335 817 l 335 0 l 125 0 l 125 992 l 854 992 l 854 0 \"},Ö:{x_min:81,x_max:970,ha:1050,o:\"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 291 1182 q 298 1223 291 1206 q 318 1251 305 1240 q 348 1268 331 1263 q 385 1274 365 1274 q 422 1268 405 1274 q 452 1251 439 1263 q 473 1223 465 1240 q 481 1182 481 1206 q 473 1142 481 1159 q 452 1114 465 1125 q 422 1097 439 1102 q 385 1092 405 1092 q 348 1097 365 1092 q 318 1114 331 1102 q 298 1142 305 1125 q 291 1182 291 1159 m 564 1182 q 571 1223 564 1206 q 591 1251 578 1240 q 622 1268 604 1263 q 660 1274 639 1274 q 696 1268 679 1274 q 727 1251 713 1263 q 748 1223 740 1240 q 756 1182 756 1206 q 748 1142 756 1159 q 727 1114 740 1125 q 696 1097 713 1102 q 660 1092 679 1092 q 591 1114 619 1092 q 564 1182 564 1136 \"},z:{x_min:37,x_max:595,ha:635,o:\"m 595 0 l 37 0 l 37 117 l 347 604 l 58 604 l 58 758 l 582 758 l 582 628 l 281 153 l 595 153 l 595 0 \"},\"™\":{x_min:11,x_max:978,ha:1040,o:\"m 258 503 l 145 503 l 145 895 l 11 895 l 11 992 l 393 992 l 393 895 l 258 895 l 258 503 m 648 503 l 536 861 l 531 861 q 532 839 532 850 q 533 817 533 827 q 534 799 533 807 q 534 786 534 790 l 534 503 l 424 503 l 424 992 l 591 992 l 699 646 l 815 992 l 978 992 l 978 503 l 864 503 l 864 779 q 864 795 864 785 q 865 818 864 806 q 865 841 865 829 q 866 861 866 853 l 862 861 l 744 503 l 648 503 \"},Θ:{x_min:81,x_max:970,ha:1050,o:\"m 674 589 l 674 414 l 377 414 l 377 589 l 674 589 m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 \"},Ř:{x_min:125,x_max:875.25,ha:875,o:\"m 335 545 l 393 545 q 520 581 481 545 q 558 685 558 616 q 517 786 558 756 q 389 817 476 817 l 335 817 l 335 545 m 335 379 l 335 0 l 125 0 l 125 992 l 396 992 q 678 918 587 992 q 769 694 769 844 q 755 601 769 642 q 719 527 741 559 q 666 471 696 495 q 604 430 637 447 q 739 215 679 310 q 789 136 765 175 q 832 67 813 98 q 863 18 851 37 l 875 0 l 641 0 l 427 379 l 335 379 m 704 1274 q 664 1229 687 1255 q 620 1176 642 1203 q 578 1121 598 1148 q 543 1071 558 1094 l 302 1071 q 266 1121 287 1094 q 224 1176 246 1148 q 181 1229 202 1203 q 142 1274 159 1255 l 142 1293 l 279 1293 q 349 1240 314 1270 q 421 1174 384 1211 q 494 1240 456 1211 q 566 1293 531 1270 l 704 1293 l 704 1274 \"},Ň:{x_min:125,x_max:963,ha:1088,o:\"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 m 816 1274 q 776 1229 799 1255 q 732 1176 754 1203 q 690 1121 710 1148 q 655 1071 670 1094 l 414 1071 q 378 1121 399 1094 q 336 1176 358 1148 q 293 1229 314 1203 q 254 1274 271 1255 l 254 1293 l 391 1293 q 461 1240 426 1270 q 533 1174 496 1211 q 606 1240 568 1211 q 678 1293 643 1270 l 816 1293 l 816 1274 \"},É:{x_min:125,x_max:696,ha:778,o:\"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 288 1071 l 288 1089 q 318 1134 302 1108 q 350 1187 334 1160 q 380 1242 366 1215 q 406 1293 395 1269 l 638 1293 l 638 1278 q 616 1250 630 1266 q 583 1214 602 1233 q 544 1175 565 1195 q 502 1136 523 1155 q 460 1100 480 1117 q 425 1071 441 1083 l 288 1071 \"},и:{x_min:109,x_max:849,ha:958,o:\"m 303 758 l 303 463 q 301 401 303 440 q 296 324 299 362 q 288 231 292 280 l 606 758 l 849 758 l 849 0 l 654 0 l 654 296 q 656 364 654 325 q 661 438 659 402 q 668 524 664 480 l 351 0 l 109 0 l 109 758 l 303 758 \"},\"³\":{x_min:40,x_max:470,ha:526,o:\"m 451 846 q 423 766 451 800 q 335 712 396 732 l 335 703 q 395 682 370 697 q 437 649 420 668 q 461 608 453 631 q 470 562 470 586 q 410 433 470 480 q 224 386 350 386 q 128 397 173 386 q 40 433 84 409 l 40 562 q 129 518 84 535 q 224 501 174 501 q 298 519 275 501 q 322 573 322 537 q 316 600 322 587 q 298 623 311 613 q 263 639 285 633 q 208 645 241 645 l 132 645 l 132 754 l 193 754 q 249 760 228 754 q 283 776 271 766 q 299 800 295 787 q 303 828 303 814 q 286 871 303 854 q 235 888 269 888 q 175 875 203 888 q 109 834 147 862 l 41 930 q 134 982 83 961 q 255 1004 185 1004 q 333 992 297 1004 q 395 961 369 981 q 436 911 421 940 q 451 846 451 882 \"},\"[\":{x_min:97,x_max:425,ha:460,o:\"m 425 -220 l 97 -220 l 97 992 l 425 992 l 425 848 l 276 848 l 276 -76 l 425 -76 l 425 -220 \"},ζ:{x_min:69,x_max:650,ha:657,o:\"m 650 -25 q 642 -86 650 -55 q 622 -147 634 -117 q 595 -205 610 -177 q 563 -257 579 -233 l 355 -257 q 392 -202 374 -230 q 425 -147 411 -174 q 447 -98 439 -121 q 455 -56 455 -74 q 451 -40 455 -48 q 435 -24 447 -31 q 401 -9 423 -16 q 343 5 379 -2 q 228 41 279 17 q 142 104 177 66 q 87 195 106 142 q 69 315 69 247 q 96 484 69 404 q 172 639 124 565 q 282 781 219 713 q 413 913 344 849 q 385 907 402 909 q 348 904 367 905 q 311 902 329 903 q 282 901 293 901 l 108 901 l 108 1055 l 646 1055 l 646 929 q 504 788 563 853 q 404 665 444 722 q 339 559 363 608 q 301 468 314 510 q 284 391 288 426 q 280 326 280 355 q 292 245 280 275 q 326 196 304 214 q 381 169 349 178 q 452 151 412 159 q 546 121 508 138 q 607 81 583 103 q 640 32 630 59 q 650 -25 650 6 \"},\"∏\":{x_min:113,x_max:917,ha:1030,o:\"m 700 -310 l 700 817 l 329 817 l 329 -310 l 113 -310 l 113 992 l 917 992 l 917 -310 l 700 -310 \"},Έ:{x_min:-39,x_max:793,ha:875,o:\"m 793 0 l 222 0 l 222 992 l 793 992 l 793 817 l 432 817 l 432 602 l 767 602 l 767 427 l 432 427 l 432 174 l 793 174 l 793 0 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 \"},Ρ:{x_min:125,x_max:769,ha:831,o:\"m 335 526 l 377 526 q 513 561 467 526 q 558 674 558 596 q 517 782 558 747 q 389 817 476 817 l 335 817 l 335 526 m 769 682 q 749 557 769 616 q 684 451 729 497 q 565 379 639 406 q 383 352 492 352 l 335 352 l 335 0 l 125 0 l 125 992 l 400 992 q 565 970 496 992 q 680 909 635 949 q 747 812 725 869 q 769 682 769 754 \"},ğ:{x_min:14,x_max:735.140625,ha:766,o:\"m 735 757 l 735 644 l 624 610 q 643 562 638 587 q 649 509 649 537 q 630 403 649 451 q 576 322 612 356 q 486 269 540 288 q 360 251 432 251 q 326 252 345 251 q 299 256 308 254 q 279 232 286 244 q 271 201 271 219 q 280 179 271 187 q 303 165 289 170 q 336 158 317 160 q 375 157 355 157 l 493 157 q 591 144 547 157 q 664 106 634 131 q 710 40 694 80 q 727 -54 727 0 q 701 -170 727 -118 q 624 -258 675 -222 q 497 -314 573 -295 q 322 -334 421 -334 q 187 -319 244 -334 q 91 -277 129 -304 q 33 -211 52 -249 q 14 -123 14 -172 q 28 -51 14 -81 q 66 0 42 -20 q 120 36 90 22 q 182 57 150 49 q 154 74 168 63 q 129 99 140 85 q 111 131 118 113 q 104 167 104 148 q 110 206 104 189 q 128 239 116 224 q 159 268 141 254 q 200 296 177 282 q 105 379 140 322 q 71 513 71 436 q 89 622 71 574 q 145 704 108 670 q 236 755 182 737 q 360 773 290 773 q 391 771 374 773 q 424 767 408 769 q 455 762 441 764 q 477 757 469 759 l 735 757 m 193 -107 q 200 -141 193 -125 q 224 -169 207 -157 q 266 -189 240 -181 q 331 -196 293 -196 q 490 -166 437 -196 q 543 -85 543 -135 q 510 -27 543 -42 q 408 -13 477 -13 l 312 -13 q 273 -17 294 -13 q 234 -33 252 -22 q 205 -62 217 -44 q 193 -107 193 -80 m 265 510 q 289 415 265 448 q 360 381 312 381 q 432 415 410 381 q 454 510 454 448 q 432 607 454 571 q 360 643 410 643 q 265 510 265 643 m 592 1071 q 570 978 588 1020 q 522 906 553 936 q 446 858 490 875 q 343 842 401 842 q 239 858 283 842 q 164 904 194 874 q 118 976 134 934 q 100 1071 102 1018 l 215 1071 q 227 1024 218 1041 q 253 998 237 1007 q 292 987 269 989 q 344 985 315 985 q 391 988 369 985 q 430 1000 413 991 q 459 1026 448 1009 q 473 1071 471 1043 l 592 1071 \"},ª:{x_min:32,x_max:444,ha:504,o:\"m 351 518 l 330 592 q 264 531 303 553 q 181 510 226 510 q 120 519 147 510 q 73 546 92 528 q 42 594 53 565 q 32 661 32 622 q 46 730 32 701 q 88 776 60 758 q 155 803 115 794 q 246 815 195 812 l 307 818 q 287 876 307 859 q 230 894 267 894 q 170 883 203 894 q 102 855 137 872 l 58 947 q 150 986 100 969 q 262 1003 200 1003 q 342 989 308 1003 q 399 952 376 976 q 432 894 421 928 q 444 817 444 859 l 444 518 l 351 518 m 251 732 q 209 723 225 730 q 184 707 193 716 q 172 685 175 697 q 169 661 169 674 q 181 623 169 636 q 213 611 194 611 q 252 619 234 611 q 281 639 269 626 q 300 671 294 653 q 307 712 307 690 l 307 736 l 251 732 \"},ї:{x_min:-21,x_max:444,ha:424,o:\"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m -21 953 q -13 994 -21 977 q 6 1022 -6 1011 q 36 1039 19 1034 q 73 1045 53 1045 q 110 1039 93 1045 q 140 1022 127 1034 q 161 994 153 1011 q 169 953 169 977 q 161 913 169 930 q 140 885 153 896 q 110 868 127 873 q 73 863 93 863 q 36 868 53 863 q 6 885 19 873 q -13 913 -6 896 q -21 953 -21 930 m 252 953 q 259 994 252 977 q 279 1022 266 1011 q 310 1039 292 1034 q 348 1045 327 1045 q 384 1039 367 1045 q 415 1022 401 1034 q 436 994 428 1011 q 444 953 444 977 q 436 913 444 930 q 415 885 428 896 q 384 868 401 873 q 348 863 367 863 q 279 885 307 863 q 252 953 252 907 \"},T:{x_min:28,x_max:735,ha:762,o:\"m 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 0 \"},š:{x_min:63,x_max:625,ha:668,o:\"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 m 625 1045 q 585 1000 608 1026 q 541 947 563 974 q 499 892 519 919 q 464 842 479 865 l 223 842 q 187 892 208 865 q 145 947 167 919 q 102 1000 123 974 q 63 1045 80 1026 l 63 1064 l 200 1064 q 270 1011 235 1041 q 342 945 305 982 q 415 1011 377 982 q 487 1064 452 1041 l 625 1064 l 625 1045 \"},є:{x_min:69,x_max:648.703125,ha:693,o:\"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 759 482 773 q 648 722 597 746 l 588 575 q 501 607 543 595 q 422 619 459 619 q 324 578 358 619 q 280 451 290 536 l 527 451 l 527 303 l 280 303 q 322 179 288 219 q 419 139 355 139 q 527 154 479 139 q 627 193 576 169 l 627 35 q 532 -1 580 10 q 424 -14 484 -14 \"},Þ:{x_min:125,x_max:769,ha:831,o:\"m 769 522 q 751 400 769 458 q 694 297 734 342 q 590 225 654 252 q 429 199 525 199 l 335 199 l 335 0 l 125 0 l 125 992 l 335 992 l 335 837 l 444 837 q 589 814 528 837 q 690 751 650 792 q 749 652 730 710 q 769 522 769 594 m 335 365 l 393 365 q 517 402 476 365 q 558 523 558 438 q 522 634 558 598 q 406 670 485 670 l 335 670 l 335 365 \"},j:{x_min:-56,x_max:324.5,ha:424,o:\"m 68 -334 q 1 -329 36 -334 q -56 -317 -32 -324 l -56 -154 q -16 -164 -34 -161 q 24 -167 1 -167 q 56 -162 41 -167 q 83 -144 72 -157 q 101 -109 94 -131 q 108 -52 108 -87 l 108 758 l 315 758 l 315 -82 q 301 -180 315 -134 q 259 -260 288 -226 q 182 -314 229 -294 q 68 -334 135 -334 m 99 953 q 108 1002 99 983 q 132 1033 116 1021 q 168 1050 147 1045 q 211 1055 188 1055 q 255 1050 234 1055 q 290 1033 275 1045 q 315 1002 306 1021 q 324 953 324 983 q 315 905 324 925 q 290 874 306 885 q 255 857 275 862 q 211 852 234 852 q 168 857 188 852 q 132 874 147 862 q 108 905 116 885 q 99 953 99 925 \"},Σ:{x_min:53,x_max:721,ha:768,o:\"m 53 0 l 53 165 l 347 519 l 61 831 l 61 992 l 681 992 l 681 819 l 416 819 q 381 821 404 819 q 337 823 358 822 q 282 827 311 825 l 565 521 l 266 165 q 336 169 303 167 q 365 170 350 170 q 394 172 380 171 q 419 173 407 172 q 438 173 430 173 l 721 173 l 721 0 l 53 0 \"},ϒ:{x_min:-.25,x_max:817,ha:821,o:\"m 404 578 q 436 667 420 622 q 470 752 453 711 q 504 830 487 793 q 539 895 521 866 q 572 941 555 921 q 610 973 589 960 q 657 993 631 987 q 717 1000 683 1000 q 770 995 746 1000 q 817 981 793 991 l 817 825 q 797 830 809 827 q 770 833 784 833 q 750 830 760 833 q 731 820 741 827 q 712 801 722 813 q 689 771 701 789 q 653 707 675 749 q 606 612 631 666 q 556 498 581 559 q 512 376 531 437 l 512 0 l 302 0 l 302 379 l 0 992 l 227 992 l 404 578 \"},ℓ:{x_min:27.5625,x_max:645,ha:695,o:\"m 420 125 q 478 159 456 125 q 504 265 501 194 l 645 265 q 628 147 642 199 q 585 60 614 96 q 512 6 557 25 q 400 -12 466 -12 q 297 5 343 -12 q 218 55 250 22 q 168 140 185 89 q 151 258 151 191 l 151 344 q 93 328 125 336 q 27 311 62 320 l 27 445 q 91 463 60 453 q 151 482 122 472 l 151 761 q 166 872 151 825 q 213 947 182 918 q 291 990 244 976 q 399 1004 338 1004 q 493 988 451 1004 q 564 944 535 973 q 609 875 593 916 q 625 783 625 834 q 606 664 625 715 q 553 570 588 612 q 465 493 517 528 q 345 425 413 459 l 345 251 q 349 200 345 223 q 362 160 354 177 q 385 134 371 144 q 420 125 400 125 m 446 779 q 435 849 446 824 q 397 874 423 874 q 356 848 367 874 q 345 779 345 822 l 345 572 q 422 653 399 600 q 446 779 446 705 \"},ĉ:{x_min:69,x_max:677,ha:693,o:\"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 m 539 842 q 467 894 504 864 q 394 960 429 923 q 322 894 357 923 q 252 842 287 864 l 115 842 l 115 860 q 154 905 132 879 q 197 958 175 931 q 239 1013 219 986 q 275 1064 260 1040 l 516 1064 q 551 1013 531 1040 q 593 958 571 986 q 637 905 615 931 q 677 860 660 879 l 677 842 l 539 842 \"},ī:{x_min:4,x_max:422,ha:424,o:\"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 4 985 l 422 985 l 422 842 l 4 842 l 4 985 \"},О:{x_min:81,x_max:970,ha:1050,o:\"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 \"},ξ:{x_min:69,x_max:650,ha:657,o:\"m 69 297 q 82 382 69 344 q 122 453 96 421 q 182 509 147 484 q 260 550 218 533 l 260 557 q 150 616 189 573 q 112 727 112 658 q 123 792 112 764 q 158 843 135 821 q 220 882 182 865 q 308 910 257 898 q 227 906 265 908 q 196 904 212 905 q 166 903 180 903 q 140 902 151 902 q 123 901 129 901 l 108 901 l 108 1055 l 613 1055 l 613 910 l 568 910 q 474 899 519 910 q 394 867 428 888 q 339 814 359 846 q 318 739 318 782 q 326 688 318 710 q 352 650 333 665 q 402 627 371 635 q 480 620 433 620 l 577 620 l 577 482 l 475 482 q 326 439 372 482 q 280 310 280 396 q 292 239 280 266 q 326 195 304 212 q 381 169 349 178 q 452 151 412 159 q 546 121 508 138 q 607 81 583 103 q 640 32 630 59 q 650 -25 650 5 q 642 -86 650 -55 q 622 -147 634 -117 q 595 -205 610 -177 q 563 -257 579 -233 l 355 -257 q 392 -202 374 -230 q 425 -147 411 -174 q 447 -98 439 -121 q 455 -57 455 -74 q 451 -40 455 -48 q 435 -24 447 -31 q 401 -9 423 -16 q 343 5 379 -1 q 228 41 279 17 q 142 101 177 65 q 87 186 106 138 q 69 297 69 235 \"},Ď:{x_min:125,x_max:892,ha:973,o:\"m 892 505 q 857 285 892 379 q 758 127 823 190 q 600 31 693 63 q 386 0 506 0 l 125 0 l 125 992 l 415 992 q 612 960 524 992 q 762 868 700 929 q 858 715 824 806 q 892 505 892 624 m 681 499 q 665 641 681 581 q 616 740 648 701 q 538 798 584 779 q 432 817 492 817 l 335 817 l 335 174 l 413 174 q 614 255 547 174 q 681 499 681 336 m 739 1274 q 699 1229 722 1255 q 655 1176 677 1203 q 613 1121 633 1148 q 578 1071 593 1094 l 337 1071 q 301 1121 322 1094 q 259 1176 281 1148 q 216 1229 237 1203 q 177 1274 194 1255 l 177 1293 l 314 1293 q 384 1240 349 1270 q 456 1174 419 1211 q 529 1240 491 1211 q 601 1293 566 1270 l 739 1293 l 739 1274 \"},\"&\":{x_min:56,x_max:1e3,ha:1003,o:\"m 1000 0 l 744 0 l 678 67 q 559 8 624 30 q 415 -14 493 -14 q 267 6 333 -14 q 154 63 201 26 q 81 152 107 100 q 56 267 56 204 q 68 361 56 320 q 104 435 81 402 q 160 495 127 468 q 233 547 193 523 q 190 607 208 578 q 161 664 172 636 q 145 720 150 692 q 141 779 141 748 q 161 874 141 832 q 219 945 182 915 q 307 990 256 974 q 419 1006 358 1006 q 527 991 477 1006 q 611 950 576 977 q 667 882 647 922 q 688 790 688 841 q 672 704 688 743 q 632 632 657 665 q 572 571 607 598 q 498 519 538 543 l 673 337 q 716 432 697 382 q 747 532 734 481 l 959 532 q 935 450 948 493 q 903 364 921 407 q 861 278 885 321 q 809 197 838 236 l 1000 0 m 267 287 q 278 233 267 257 q 309 193 289 209 q 355 168 329 177 q 413 159 382 159 q 490 170 455 159 q 555 200 525 180 l 346 423 q 288 362 308 395 q 267 287 267 330 m 493 762 q 486 798 493 783 q 469 822 480 812 q 445 836 458 831 q 418 840 432 840 q 389 836 404 840 q 362 823 374 832 q 343 798 350 814 q 335 761 335 783 q 351 694 335 725 q 393 632 366 663 q 468 691 442 662 q 493 762 493 721 \"},G:{x_min:81,x_max:895,ha:1006,o:\"m 502 557 l 895 557 l 895 42 q 815 18 855 29 q 732 1 775 8 q 642 -9 689 -5 q 542 -14 595 -14 q 345 18 431 -14 q 200 116 259 51 q 111 276 142 181 q 81 497 81 372 q 114 708 81 613 q 214 868 148 802 q 377 970 281 934 q 599 1006 474 1006 q 754 989 678 1006 q 893 944 830 972 l 823 776 q 719 815 777 799 q 597 831 661 831 q 473 806 528 831 q 378 738 418 782 q 318 632 339 694 q 297 492 297 569 q 311 358 297 419 q 357 253 326 298 q 438 185 388 209 q 555 160 487 160 q 631 165 600 160 q 689 174 662 169 l 689 382 l 502 382 l 502 557 \"},ΰ:{x_min:97,x_max:780,ha:861,o:\"m 426 -12 q 266 15 330 -12 q 165 91 202 42 q 112 205 127 139 q 97 345 97 270 l 97 758 l 303 758 l 303 340 q 335 197 303 241 q 432 154 366 154 q 493 168 467 154 q 537 213 520 182 q 564 295 555 244 q 573 417 573 345 q 569 503 573 461 q 559 586 566 545 q 544 670 553 628 q 524 758 535 712 l 732 758 q 752 670 744 712 q 767 587 761 629 q 776 502 773 545 q 780 410 780 459 q 757 221 780 301 q 689 90 734 141 q 579 13 645 38 q 426 -12 513 -12 m 151 953 q 173 1023 151 1001 q 231 1044 195 1044 q 290 1023 267 1044 q 313 953 313 1001 q 290 885 313 907 q 231 863 267 863 q 173 885 195 863 q 151 953 151 907 m 537 953 q 559 1023 537 1001 q 618 1044 581 1044 q 677 1023 654 1044 q 700 953 700 1001 q 677 885 700 907 q 618 863 654 863 q 559 885 581 863 q 537 953 537 907 m 355 959 q 367 1006 361 980 q 379 1059 373 1032 q 389 1114 385 1087 q 397 1164 394 1141 l 575 1164 l 575 1150 q 520 1050 553 1104 q 448 942 487 996 l 355 942 l 355 959 \"},\"`\":{x_min:225,x_max:575,ha:802,o:\"m 437 842 q 382 889 414 860 q 318 946 349 917 q 261 1004 287 976 q 225 1049 235 1031 l 225 1064 l 456 1064 q 482 1013 467 1040 q 512 958 496 986 q 544 905 528 931 q 575 860 560 879 l 575 842 l 437 842 \"},ŏ:{x_min:69,x_max:762,ha:832,o:\"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 660 1071 q 638 978 656 1020 q 590 906 621 936 q 514 858 558 875 q 411 842 469 842 q 307 858 351 842 q 232 904 262 874 q 186 976 202 934 q 168 1071 170 1018 l 283 1071 q 295 1024 286 1041 q 321 998 305 1007 q 360 987 337 989 q 412 985 383 985 q 459 988 437 985 q 498 1000 481 991 q 527 1026 516 1009 q 541 1071 539 1043 l 660 1071 \"},ý:{x_min:-.25,x_max:749.25,ha:749,o:\"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 m 267 842 l 267 860 q 297 905 281 879 q 329 958 313 931 q 359 1013 345 986 q 385 1064 374 1040 l 617 1064 l 617 1049 q 595 1021 609 1037 q 562 985 581 1004 q 523 946 544 966 q 481 907 502 926 q 439 871 459 888 q 404 842 420 854 l 267 842 \"},º:{x_min:39,x_max:472,ha:511,o:\"m 472 756 q 456 652 472 697 q 413 574 441 606 q 344 526 384 543 q 254 510 304 510 q 168 526 207 510 q 99 574 128 543 q 54 652 70 606 q 39 756 39 697 q 54 861 39 815 q 97 938 69 907 q 166 986 125 970 q 257 1003 206 1003 q 342 986 303 1003 q 410 938 381 970 q 455 861 439 907 q 472 756 472 815 m 176 757 q 194 653 176 688 q 256 618 213 618 q 316 653 297 618 q 335 757 335 688 q 316 860 335 826 q 256 894 297 894 q 194 860 213 894 q 176 757 176 826 \"},\"∞\":{x_min:77,x_max:905,ha:982,o:\"m 905 486 q 889 398 905 440 q 845 325 873 357 q 777 275 816 294 q 690 256 738 256 q 580 286 630 256 q 487 376 530 315 q 397 292 447 324 q 294 261 348 261 q 207 277 247 261 q 137 323 167 293 q 92 395 108 353 q 77 490 77 437 q 92 579 77 537 q 136 651 108 620 q 205 700 165 682 q 294 718 245 718 q 399 690 350 718 q 491 600 449 663 q 580 684 531 654 q 690 715 628 715 q 777 698 738 715 q 845 652 816 682 q 889 580 873 622 q 905 486 905 537 m 307 400 q 362 422 336 400 q 413 490 388 444 q 363 556 389 534 q 305 578 337 578 q 272 571 287 578 q 247 551 257 564 q 230 523 236 539 q 225 488 225 507 q 230 455 225 471 q 245 427 235 439 q 271 407 255 415 q 307 400 286 400 m 675 574 q 566 487 619 574 q 618 420 591 444 q 676 396 646 396 q 709 403 694 396 q 734 422 724 410 q 750 451 744 435 q 756 486 756 468 q 750 521 756 505 q 734 549 744 537 q 708 567 723 561 q 675 574 693 574 \"},ź:{x_min:37,x_max:595,ha:635,o:\"m 595 0 l 37 0 l 37 117 l 347 604 l 58 604 l 58 758 l 582 758 l 582 628 l 281 153 l 595 153 l 595 0 m 212 842 l 212 860 q 242 905 226 879 q 274 958 258 931 q 304 1013 290 986 q 330 1064 319 1040 l 562 1064 l 562 1049 q 540 1021 554 1037 q 507 985 526 1004 q 468 946 489 966 q 426 907 447 926 q 384 871 404 888 q 349 842 365 854 l 212 842 \"},я:{x_min:-.25,x_max:673,ha:782,o:\"m 223 0 l 0 0 l 196 305 q 141 337 166 317 q 96 384 115 357 q 66 446 77 411 q 56 524 56 481 q 76 624 56 580 q 135 697 97 668 q 226 742 173 727 q 343 758 279 758 l 673 758 l 673 0 l 466 0 l 466 283 l 385 283 l 223 0 m 262 521 q 293 447 262 473 q 372 421 323 421 l 466 421 l 466 610 l 350 610 q 311 603 328 610 q 284 584 295 596 q 268 555 273 571 q 262 521 262 539 \"},Ё:{x_min:125,x_max:696,ha:778,o:\"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 186 1182 q 193 1223 186 1206 q 213 1251 200 1240 q 243 1268 226 1263 q 280 1274 260 1274 q 317 1268 300 1274 q 347 1251 334 1263 q 368 1223 360 1240 q 376 1182 376 1206 q 368 1142 376 1159 q 347 1114 360 1125 q 317 1097 334 1102 q 280 1092 300 1092 q 243 1097 260 1092 q 213 1114 226 1102 q 193 1142 200 1125 q 186 1182 186 1159 m 459 1182 q 466 1223 459 1206 q 486 1251 473 1240 q 517 1268 499 1263 q 555 1274 534 1274 q 591 1268 574 1274 q 622 1251 608 1263 q 643 1223 635 1240 q 651 1182 651 1206 q 643 1142 651 1159 q 622 1114 635 1125 q 591 1097 608 1102 q 555 1092 574 1092 q 486 1114 514 1092 q 459 1182 459 1136 \"},ń:{x_min:109,x_max:767,ha:871,o:\"m 767 0 l 560 0 l 560 442 q 535 565 560 524 q 456 606 510 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 m 320 842 l 320 860 q 350 905 334 879 q 382 958 366 931 q 412 1013 398 986 q 438 1064 427 1040 l 670 1064 l 670 1049 q 648 1021 662 1037 q 615 985 634 1004 q 576 946 597 966 q 534 907 555 926 q 492 871 512 888 q 457 842 473 854 l 320 842 \"},\" \":{x_min:0,x_max:0,ha:347},Г:{x_min:125,x_max:696,ha:724,o:\"m 696 992 l 696 817 l 335 817 l 335 0 l 125 0 l 125 992 l 696 992 \"},Ь:{x_min:125,x_max:769,ha:831,o:\"m 769 310 q 746 179 769 237 q 678 81 724 121 q 560 21 631 42 q 390 0 489 0 l 125 0 l 125 992 l 335 992 l 335 613 l 408 613 q 569 590 501 613 q 681 527 637 568 q 747 432 726 487 q 769 310 769 376 m 335 174 l 393 174 q 462 182 431 174 q 514 205 492 189 q 547 247 536 221 q 558 310 558 273 q 546 374 558 349 q 510 413 534 399 q 453 432 487 427 q 378 438 420 438 l 335 438 l 335 174 \"},\"¤\":{x_min:62,x_max:703,ha:765,o:\"m 114 490 q 123 561 114 527 q 149 624 133 594 l 62 710 l 162 810 l 249 724 q 312 750 278 741 q 381 760 347 760 q 451 750 418 760 q 515 722 483 741 l 601 810 l 703 713 l 615 625 q 642 562 632 597 q 652 490 652 527 q 642 419 652 452 q 615 355 633 386 l 700 271 l 601 173 l 515 257 q 452 232 485 241 q 381 223 418 223 q 310 231 344 223 q 247 257 276 239 l 162 174 l 63 272 l 149 357 q 114 490 114 418 m 262 490 q 272 440 262 464 q 297 399 281 417 q 335 372 313 382 q 381 362 356 362 q 428 372 406 362 q 467 399 450 382 q 493 440 484 417 q 503 490 503 464 q 493 541 503 518 q 467 582 484 565 q 428 610 450 599 q 381 620 406 620 q 335 610 356 620 q 297 582 313 599 q 272 541 281 565 q 262 490 262 518 \"},Ĝ:{x_min:81,x_max:895,ha:1006,o:\"m 502 557 l 895 557 l 895 42 q 815 18 855 29 q 732 1 775 8 q 642 -9 689 -5 q 542 -14 595 -14 q 345 18 431 -14 q 200 116 259 51 q 111 276 142 181 q 81 497 81 372 q 114 708 81 613 q 214 868 148 802 q 377 970 281 934 q 599 1006 474 1006 q 754 989 678 1006 q 893 944 830 972 l 823 776 q 719 815 777 799 q 597 831 661 831 q 473 806 528 831 q 378 738 418 782 q 318 632 339 694 q 297 492 297 569 q 311 358 297 419 q 357 253 326 298 q 438 185 388 209 q 555 160 487 160 q 631 165 600 160 q 689 174 662 169 l 689 382 l 502 382 l 502 557 m 690 1071 q 618 1123 655 1093 q 545 1189 580 1152 q 473 1123 508 1152 q 403 1071 438 1093 l 266 1071 l 266 1089 q 305 1134 283 1108 q 348 1187 326 1160 q 390 1242 370 1215 q 426 1293 411 1269 l 667 1293 q 702 1242 682 1269 q 744 1187 722 1215 q 788 1134 766 1160 q 828 1089 811 1108 l 828 1071 l 690 1071 \"},p:{x_min:109,x_max:775,ha:844,o:\"m 507 -14 q 440 -5 470 -14 q 388 15 411 2 q 347 45 365 28 q 315 81 330 62 l 305 81 q 310 37 307 57 q 314 0 312 19 q 315 -27 315 -17 l 315 -334 l 109 -334 l 109 758 l 277 758 l 306 659 l 315 659 q 348 703 330 682 q 390 739 366 723 q 445 763 414 754 q 512 773 475 773 q 619 747 571 773 q 702 673 668 722 q 756 550 737 623 q 775 380 775 476 q 755 209 775 283 q 700 86 735 136 q 615 11 664 36 q 507 -14 566 -14 m 443 606 q 384 594 408 606 q 345 556 360 581 q 323 492 330 531 q 315 403 317 454 l 315 380 q 322 282 315 325 q 343 211 328 239 q 383 167 358 182 q 444 152 407 152 q 534 211 505 152 q 563 382 563 269 q 534 550 563 494 q 443 606 505 606 \"},Ю:{x_min:125,x_max:1350,ha:1430,o:\"m 1350 496 q 1324 287 1350 382 q 1248 126 1299 193 q 1118 22 1196 59 q 932 -14 1040 -14 q 760 17 834 -14 q 634 105 686 48 q 554 245 583 163 q 518 427 525 326 l 335 427 l 335 0 l 125 0 l 125 992 l 335 992 l 335 602 l 522 602 q 562 769 532 695 q 644 897 593 844 q 767 978 694 949 q 934 1007 840 1007 q 1119 970 1040 1007 q 1248 867 1197 934 q 1324 706 1299 800 q 1350 496 1350 612 m 734 496 q 746 355 734 417 q 782 250 758 293 q 845 184 807 207 q 934 160 882 160 q 1024 184 986 160 q 1086 250 1061 207 q 1122 355 1110 293 q 1133 496 1133 417 q 1122 636 1133 574 q 1086 742 1110 698 q 1025 808 1062 785 q 935 832 987 832 q 846 808 883 832 q 783 742 808 785 q 746 636 758 698 q 734 496 734 574 \"},ο:{x_min:69,x_max:762,ha:832,o:\"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 \"},S:{x_min:63.46875,x_max:668,ha:728,o:\"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 \"},\"/\":{x_min:9.75,x_max:567.25,ha:574,o:\"m 567 992 l 197 0 l 9 0 l 379 992 l 567 992 \"},Ŧ:{x_min:28,x_max:735,ha:762,o:\"m 487 0 l 277 0 l 277 404 l 116 404 l 116 576 l 277 576 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 576 l 648 576 l 648 404 l 487 404 l 487 0 \"},ђ:{x_min:3,x_max:767,ha:871,o:\"m 521 -334 q 454 -329 488 -334 q 396 -317 419 -324 l 396 -154 q 435 -164 417 -161 q 476 -167 453 -167 q 509 -162 494 -167 q 535 -144 524 -157 q 553 -109 547 -131 q 560 -52 560 -87 l 560 414 q 533 526 560 489 q 456 563 506 563 q 389 547 416 563 q 345 498 362 530 q 322 420 329 467 q 315 314 315 374 l 315 0 l 109 0 l 109 808 l 3 808 l 3 946 l 109 946 l 109 1055 l 315 1055 l 315 946 l 529 946 l 529 808 l 315 808 l 315 796 q 314 736 315 768 q 311 679 313 705 l 306 618 l 317 618 q 402 703 350 677 q 518 730 453 730 q 620 714 575 730 q 699 664 666 698 q 749 577 731 630 q 767 452 767 525 l 767 -82 q 753 -180 767 -134 q 711 -260 740 -226 q 634 -314 681 -294 q 521 -334 587 -334 \"},y:{x_min:-.25,x_max:749.25,ha:749,o:\"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 \"},Π:{x_min:125,x_max:854,ha:979,o:\"m 854 0 l 643 0 l 643 817 l 335 817 l 335 0 l 125 0 l 125 992 l 854 992 l 854 0 \"},\"‗\":{x_min:-3,x_max:574,ha:571,o:\"m 574 -314 l -3 -314 l -3 -219 l 574 -219 l 574 -314 m 574 -125 l -3 -125 l -3 -31 l 574 -31 l 574 -125 \"},\"–\":{x_min:56,x_max:639,ha:695,o:\"m 56 296 l 56 452 l 639 452 l 639 296 l 56 296 \"},ë:{x_min:69,x_max:741,ha:807,o:\"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 181 953 q 188 994 181 977 q 208 1022 195 1011 q 238 1039 221 1034 q 275 1045 255 1045 q 312 1039 295 1045 q 342 1022 329 1034 q 363 994 355 1011 q 371 953 371 977 q 363 913 371 930 q 342 885 355 896 q 312 868 329 873 q 275 863 295 863 q 238 868 255 863 q 208 885 221 873 q 188 913 195 896 q 181 953 181 930 m 454 953 q 461 994 454 977 q 481 1022 468 1011 q 512 1039 494 1034 q 550 1045 529 1045 q 586 1039 569 1045 q 617 1022 603 1034 q 638 994 630 1011 q 646 953 646 977 q 638 913 646 930 q 617 885 630 896 q 586 868 603 873 q 550 863 569 863 q 481 885 509 863 q 454 953 454 907 \"},б:{x_min:69,x_max:766,ha:851,o:\"m 69 454 q 90 677 69 579 q 158 844 111 774 q 278 959 205 915 q 455 1022 351 1003 q 595 1045 524 1035 q 742 1067 666 1056 l 766 886 q 694 876 732 882 q 617 865 656 871 q 542 853 578 859 q 477 843 507 847 q 394 821 429 835 q 334 779 358 807 q 296 706 309 752 q 280 590 284 661 l 288 590 q 318 630 300 610 q 362 667 336 651 q 421 695 388 684 q 494 706 454 706 q 607 684 556 706 q 692 622 657 663 q 747 519 728 581 q 766 374 766 457 q 740 204 766 277 q 669 83 715 131 q 558 10 622 34 q 416 -14 494 -14 q 272 16 336 -14 q 163 106 208 47 q 93 253 118 166 q 69 454 69 340 m 427 152 q 479 162 455 152 q 519 196 502 173 q 545 259 536 220 q 554 355 554 298 q 547 437 554 400 q 528 499 541 473 q 492 538 514 524 q 439 552 470 552 q 384 539 410 552 q 337 508 358 526 q 301 470 316 490 q 280 435 286 450 q 287 331 280 382 q 311 240 294 279 q 356 176 327 200 q 427 152 384 152 \"},ƒ:{x_min:120,x_max:714,ha:765,o:\"m 491 -81 q 478 -180 491 -134 q 435 -260 465 -225 q 359 -314 406 -294 q 245 -334 312 -334 q 177 -329 212 -334 q 120 -317 143 -324 l 120 -154 q 159 -164 140 -161 q 200 -167 177 -167 q 232 -162 217 -167 q 259 -143 247 -156 q 278 -108 271 -130 q 285 -51 285 -86 l 285 547 l 171 547 l 171 646 l 285 701 l 285 756 q 302 877 285 829 q 352 953 320 925 q 431 994 385 982 q 535 1006 478 1006 q 641 996 598 1006 q 714 974 684 986 l 665 822 q 621 835 644 829 q 567 841 598 841 q 509 815 526 841 q 493 748 493 789 l 493 701 l 647 701 l 647 547 l 493 547 l 491 -81 \"},у:{x_min:-.25,x_max:749.25,ha:749,o:\"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 \"},J:{x_min:-135,x_max:335,ha:460,o:\"m -1 -292 q -78 -287 -45 -292 q -135 -277 -111 -283 l -135 -103 q -82 -112 -109 -108 q -22 -117 -54 -117 q 35 -110 8 -117 q 82 -86 62 -103 q 113 -42 102 -70 q 124 27 124 -14 l 124 992 l 335 992 l 335 35 q 310 -111 335 -49 q 241 -213 285 -173 q 134 -273 196 -254 q -1 -292 73 -292 \"},ŷ:{x_min:-.25,x_max:749.25,ha:749,o:\"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 m 519 842 q 447 894 484 864 q 374 960 409 923 q 302 894 337 923 q 232 842 267 864 l 95 842 l 95 860 q 134 905 112 879 q 177 958 155 931 q 219 1013 199 986 q 255 1064 240 1040 l 496 1064 q 531 1013 511 1040 q 573 958 551 986 q 617 905 595 931 q 657 860 640 879 l 657 842 l 519 842 \"},ŕ:{x_min:109,x_max:580,ha:603,o:\"m 504 773 q 522 772 512 773 q 541 771 532 772 q 558 769 550 770 q 570 766 565 768 l 570 572 q 555 575 564 574 q 535 578 545 576 q 514 579 524 579 q 497 579 504 579 q 423 569 457 579 q 366 536 390 559 q 329 476 342 513 q 315 386 315 439 l 315 0 l 109 0 l 109 758 l 265 758 l 296 644 l 306 644 q 341 697 322 673 q 383 738 360 721 q 436 763 407 754 q 504 773 466 773 m 230 842 l 230 860 q 260 905 244 879 q 292 958 276 931 q 322 1013 308 986 q 348 1064 337 1040 l 580 1064 l 580 1049 q 558 1021 572 1037 q 525 985 544 1004 q 486 946 507 966 q 444 907 465 926 q 402 871 422 888 q 367 842 383 854 l 230 842 \"},ώ:{x_min:81,x_max:1091,ha:1171,o:\"m 798 -14 q 722 -3 755 -14 q 663 25 689 6 q 620 72 638 45 q 589 133 602 100 l 582 133 q 551 72 570 100 q 508 25 533 45 q 450 -3 483 6 q 374 -14 416 -14 q 245 14 300 -14 q 154 92 190 42 q 99 213 117 143 q 81 367 81 283 q 85 472 81 423 q 99 568 90 521 q 124 662 109 615 q 158 758 138 708 l 360 758 q 296 573 316 666 q 275 378 275 480 q 282 286 275 327 q 303 215 289 244 q 340 168 317 185 q 393 152 362 152 q 439 163 421 152 q 468 195 458 174 q 484 248 479 217 q 489 319 489 279 l 489 517 l 683 517 l 683 319 q 688 248 683 279 q 703 195 692 217 q 733 163 714 174 q 779 152 751 152 q 832 168 810 152 q 868 214 854 185 q 889 285 883 244 q 896 375 896 326 q 876 572 896 477 q 811 758 855 666 l 1012 758 q 1047 662 1032 708 q 1072 568 1062 615 q 1086 472 1082 521 q 1091 367 1091 423 q 1072 213 1091 283 q 1017 92 1053 143 q 925 14 980 42 q 798 -14 870 -14 m 521 860 q 533 906 527 880 q 544 960 539 932 q 555 1014 550 987 q 562 1064 559 1041 l 754 1064 l 754 1049 q 705 950 733 1003 q 641 842 677 897 l 521 842 l 521 860 \"},\"˘\":{x_min:154,x_max:646,ha:802,o:\"m 646 1071 q 624 978 642 1020 q 576 906 607 936 q 500 858 544 875 q 397 842 455 842 q 293 858 337 842 q 218 904 248 874 q 172 976 188 934 q 154 1071 156 1018 l 269 1071 q 281 1024 272 1041 q 307 998 291 1007 q 346 987 323 989 q 398 985 369 985 q 445 988 423 985 q 484 1000 467 991 q 513 1026 502 1009 q 527 1071 525 1043 l 646 1071 \"},D:{x_min:125,x_max:892,ha:973,o:\"m 892 505 q 857 285 892 379 q 758 127 823 190 q 600 31 693 63 q 386 0 506 0 l 125 0 l 125 992 l 415 992 q 612 960 524 992 q 762 868 700 929 q 858 715 824 806 q 892 505 892 624 m 681 499 q 665 641 681 581 q 616 740 648 701 q 538 798 584 779 q 432 817 492 817 l 335 817 l 335 174 l 413 174 q 614 255 547 174 q 681 499 681 336 \"},ł:{x_min:.203125,x_max:458.6875,ha:458,o:\"m 331 630 l 379 659 l 458 526 l 331 450 l 331 0 l 125 0 l 125 323 l 76 294 l 0 427 l 125 503 l 125 1055 l 331 1055 l 331 630 \"},ĺ:{x_min:109,x_max:472,ha:424,o:\"m 315 0 l 109 0 l 109 1055 l 315 1055 l 315 0 m 122 1110 l 122 1128 q 152 1173 136 1147 q 184 1226 168 1199 q 214 1281 200 1254 q 240 1332 229 1308 l 472 1332 l 472 1317 q 450 1289 464 1305 q 417 1253 436 1272 q 378 1214 399 1234 q 336 1175 357 1194 q 294 1139 314 1156 q 259 1110 275 1122 l 122 1110 \"},ц:{x_min:109,x_max:894,ha:914,o:\"m 783 151 l 894 151 l 894 -272 l 715 -272 l 715 0 l 109 0 l 109 758 l 315 758 l 315 155 l 576 155 l 576 758 l 783 758 l 783 151 \"},Л:{x_min:11,x_max:854,ha:979,o:\"m 854 0 l 643 0 l 643 817 l 470 817 q 452 677 462 753 q 432 525 443 601 q 411 380 422 449 q 389 258 400 310 q 355 142 375 193 q 303 56 334 91 q 225 3 271 21 q 114 -14 179 -14 q 59 -10 85 -14 q 11 1 33 -6 l 11 174 q 46 164 28 168 q 84 160 63 160 q 119 170 104 160 q 146 203 134 179 q 169 264 159 226 q 190 361 179 303 q 206 457 196 395 q 229 603 217 520 q 256 785 242 686 q 283 992 270 884 l 854 992 l 854 0 \"},$:{x_min:66,x_max:720,ha:765,o:\"m 720 310 q 702 216 720 259 q 648 140 684 172 q 559 86 612 107 q 437 58 507 65 l 437 -80 l 345 -80 l 345 56 q 261 61 300 57 q 190 72 223 65 q 126 90 157 80 q 67 114 96 101 l 67 293 q 129 266 95 279 q 199 242 163 253 q 272 224 235 232 q 345 215 309 217 l 345 430 q 333 435 339 432 q 322 439 327 437 q 313 443 317 441 q 204 492 251 466 q 127 550 158 518 q 81 620 96 582 q 66 708 66 659 q 85 800 66 759 q 140 873 104 842 q 228 923 176 904 q 345 948 280 942 l 345 1055 l 437 1055 l 437 953 q 558 936 496 949 q 688 893 620 922 l 619 734 q 527 766 575 752 q 437 783 479 780 l 437 584 l 464 575 q 576 526 528 551 q 656 470 625 501 q 704 400 688 439 q 720 310 720 361 m 515 306 q 511 334 515 322 q 497 357 507 346 q 473 375 488 367 q 437 393 458 384 l 437 222 q 496 249 477 228 q 515 306 515 269 m 270 712 q 288 659 270 681 q 345 624 305 638 l 345 782 q 289 761 307 778 q 270 712 270 745 \"},w:{x_min:-.25,x_max:1120.25,ha:1120,o:\"m 688 0 l 629 265 q 622 297 626 276 q 612 346 618 319 q 601 403 607 372 q 589 463 595 433 q 559 613 575 532 l 555 613 q 527 462 539 532 q 515 402 521 432 q 504 344 510 371 q 494 296 499 317 q 487 262 490 274 l 426 0 l 204 0 l 0 758 l 205 758 l 282 422 q 294 359 288 395 q 306 284 301 322 q 317 213 312 246 q 324 160 322 179 l 328 160 q 331 193 329 172 q 337 237 334 214 q 344 286 341 261 q 352 332 348 311 q 359 371 356 354 q 364 394 362 387 l 447 758 l 674 758 l 754 394 q 763 348 757 379 q 774 281 768 317 q 784 212 780 246 q 789 160 788 178 l 793 160 q 800 210 795 176 q 811 281 805 243 q 824 357 817 320 q 837 422 831 395 l 917 758 l 1120 758 l 913 0 l 688 0 \"},о:{x_min:69,x_max:762,ha:832,o:\"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 \"},Д:{x_min:7,x_max:978,ha:1006,o:\"m 7 174 l 84 174 q 158 338 122 252 q 226 523 195 424 q 281 738 256 622 q 324 992 307 854 l 846 992 l 846 174 l 978 174 l 978 -289 l 772 -289 l 772 0 l 212 0 l 212 -289 l 7 -289 l 7 174 m 490 817 q 463 663 480 745 q 421 497 445 581 q 367 331 397 413 q 305 174 338 248 l 635 174 l 635 817 l 490 817 \"},Ç:{x_min:81,x_max:836.296875,ha:885,o:\"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 m 628 -169 q 617 -239 628 -208 q 582 -290 606 -269 q 517 -322 558 -311 q 418 -334 477 -334 q 363 -329 387 -334 q 319 -319 338 -325 l 319 -205 q 341 -210 329 -208 q 367 -215 354 -213 q 393 -218 380 -217 q 416 -220 406 -220 q 450 -210 435 -220 q 465 -178 465 -201 q 440 -133 465 -153 q 352 -105 414 -114 l 405 0 l 536 0 l 517 -41 q 558 -59 538 -48 q 593 -87 578 -71 q 618 -124 608 -103 q 628 -169 628 -144 \"},Ŝ:{x_min:63.46875,x_max:668,ha:728,o:\"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 m 530 1071 q 458 1123 495 1093 q 385 1189 420 1152 q 313 1123 348 1152 q 243 1071 278 1093 l 106 1071 l 106 1089 q 145 1134 123 1108 q 188 1187 166 1160 q 230 1242 210 1215 q 266 1293 251 1269 l 507 1293 q 542 1242 522 1269 q 584 1187 562 1215 q 628 1134 606 1160 q 668 1089 651 1108 l 668 1071 l 530 1071 \"},C:{x_min:81,x_max:836.296875,ha:885,o:\"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 \"},Ḁ:{x_min:-.25,x_max:903.25,ha:903,o:\"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 622 -244 q 608 -312 622 -282 q 572 -363 595 -342 q 517 -395 548 -384 q 449 -407 486 -407 q 381 -395 412 -407 q 328 -363 350 -384 q 294 -313 306 -343 q 282 -245 282 -283 q 294 -178 282 -208 q 328 -128 306 -148 q 381 -96 350 -107 q 449 -85 412 -85 q 517 -96 485 -85 q 571 -128 548 -107 q 608 -178 594 -148 q 622 -244 622 -207 m 516 -245 q 498 -197 516 -215 q 452 -180 480 -180 q 405 -197 423 -180 q 387 -245 387 -215 q 403 -293 387 -276 q 452 -311 419 -311 q 498 -293 480 -311 q 516 -245 516 -276 \"},Ĵ:{x_min:-135,x_max:508,ha:460,o:\"m -1 -292 q -78 -287 -45 -292 q -135 -277 -111 -283 l -135 -103 q -82 -112 -109 -108 q -22 -117 -54 -117 q 35 -110 8 -117 q 82 -86 62 -103 q 113 -42 102 -70 q 124 27 124 -14 l 124 992 l 335 992 l 335 35 q 310 -111 335 -49 q 241 -213 285 -173 q 134 -273 196 -254 q -1 -292 73 -292 m 370 1071 q 298 1123 335 1093 q 225 1189 260 1152 q 153 1123 188 1152 q 83 1071 118 1093 l -54 1071 l -54 1089 q -14 1134 -36 1108 q 28 1187 6 1160 q 70 1242 50 1215 q 106 1293 91 1269 l 347 1293 q 382 1242 362 1269 q 424 1187 402 1215 q 468 1134 446 1160 q 508 1089 491 1108 l 508 1071 l 370 1071 \"},È:{x_min:125,x_max:696,ha:778,o:\"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 388 1071 q 333 1118 365 1089 q 269 1175 300 1146 q 212 1233 238 1205 q 176 1278 186 1260 l 176 1293 l 407 1293 q 433 1242 418 1269 q 463 1187 447 1215 q 495 1134 479 1160 q 526 1089 511 1108 l 526 1071 l 388 1071 \"},fi:{x_min:28,x_max:863.359375,ha:961,o:\"m 503 604 l 348 604 l 348 0 l 142 0 l 142 604 l 28 604 l 28 703 l 142 758 l 142 813 q 159 934 142 886 q 209 1010 177 982 q 288 1051 242 1039 q 392 1063 334 1063 q 497 1053 454 1063 q 570 1030 540 1043 l 521 877 q 477 890 500 884 q 422 896 454 896 q 365 871 382 896 q 348 804 348 845 l 348 758 l 503 758 l 503 604 m 638 953 q 647 1002 638 983 q 671 1033 655 1021 q 707 1050 686 1045 q 750 1055 727 1055 q 794 1050 773 1055 q 829 1033 814 1045 q 854 1002 845 1021 q 863 953 863 983 q 854 905 863 925 q 829 874 845 885 q 794 857 814 862 q 750 852 773 852 q 707 857 727 852 q 671 874 686 862 q 647 905 655 885 q 638 953 638 925 m 853 0 l 647 0 l 647 758 l 853 758 l 853 0 \"},X:{x_min:-.25,x_max:871.25,ha:871,o:\"m 871 0 l 631 0 l 428 375 l 224 0 l 0 0 l 301 511 l 20 992 l 252 992 l 438 635 l 620 992 l 847 992 l 563 500 l 871 0 \"},ô:{x_min:69,x_max:762,ha:832,o:\"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 557 842 q 485 894 522 864 q 412 960 447 923 q 340 894 375 923 q 270 842 305 864 l 133 842 l 133 860 q 172 905 150 879 q 215 958 193 931 q 257 1013 237 986 q 293 1064 278 1040 l 534 1064 q 569 1013 549 1040 q 611 958 589 986 q 655 905 633 931 q 695 860 678 879 l 695 842 l 557 842 \"},Ė:{x_min:125,x_max:696,ha:778,o:\"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 296 1164 q 304 1213 296 1194 q 328 1244 313 1232 q 364 1261 344 1256 q 408 1266 385 1266 q 451 1261 431 1266 q 487 1244 472 1256 q 511 1213 502 1232 q 521 1164 521 1194 q 511 1116 521 1136 q 487 1085 502 1096 q 451 1068 472 1073 q 408 1063 431 1063 q 364 1068 385 1063 q 328 1085 344 1073 q 304 1116 313 1096 q 296 1164 296 1136 \"},г:{x_min:109,x_max:590,ha:623,o:\"m 590 758 l 590 604 l 315 604 l 315 0 l 109 0 l 109 758 l 590 758 \"},Ŀ:{x_min:125,x_max:696,ha:743,o:\"m 125 0 l 125 992 l 335 992 l 335 174 l 696 174 l 696 0 l 125 0 m 452 509 q 460 558 452 539 q 484 589 469 577 q 520 606 500 601 q 564 611 541 611 q 607 606 587 611 q 643 589 628 601 q 667 558 658 577 q 677 509 677 539 q 667 461 677 481 q 643 430 658 441 q 607 413 628 418 q 564 408 587 408 q 520 413 541 408 q 484 430 500 418 q 460 461 469 441 q 452 509 452 481 \"},х:{x_min:6.75,x_max:754.25,ha:761,o:\"m 263 387 l 19 758 l 254 758 l 380 530 l 508 758 l 743 758 l 495 387 l 754 0 l 519 0 l 380 245 l 241 0 l 6 0 l 263 387 \"},ŋ:{x_min:109,x_max:767,ha:871,o:\"m 521 -334 q 454 -329 489 -334 q 397 -317 420 -324 l 397 -154 q 435 -164 417 -161 q 476 -167 453 -167 q 509 -162 494 -167 q 535 -143 524 -156 q 553 -108 547 -130 q 560 -51 560 -86 l 560 458 q 533 569 560 532 q 456 606 507 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 -82 q 753 -180 767 -134 q 711 -260 740 -226 q 634 -314 681 -294 q 521 -334 588 -334 \"},Ч:{x_min:74,x_max:831,ha:956,o:\"m 831 0 l 620 0 l 620 383 q 545 356 581 368 q 475 337 509 345 q 408 326 441 330 q 341 322 375 322 q 229 339 278 322 q 144 389 179 356 q 92 471 110 422 q 74 581 74 519 l 74 992 l 284 992 l 284 641 q 312 533 284 569 q 408 496 341 496 q 509 509 458 496 q 620 547 559 522 l 620 992 l 831 992 l 831 0 \"},ü:{x_min:104,x_max:762,ha:871,o:\"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 200 953 q 207 994 200 977 q 227 1022 214 1011 q 257 1039 240 1034 q 294 1045 274 1045 q 331 1039 314 1045 q 361 1022 348 1034 q 382 994 374 1011 q 390 953 390 977 q 382 913 390 930 q 361 885 374 896 q 331 868 348 873 q 294 863 314 863 q 257 868 274 863 q 227 885 240 873 q 207 913 214 896 q 200 953 200 930 m 473 953 q 480 994 473 977 q 500 1022 487 1011 q 531 1039 513 1034 q 569 1045 548 1045 q 605 1039 588 1045 q 636 1022 622 1034 q 657 994 649 1011 q 665 953 665 977 q 657 913 665 930 q 636 885 649 896 q 605 868 622 873 q 569 863 588 863 q 500 885 528 863 q 473 953 473 907 \"},ь:{x_min:109,x_max:762,ha:818,o:\"m 315 467 l 449 467 q 685 411 609 467 q 762 242 762 356 q 744 142 762 187 q 688 65 726 97 q 591 17 650 34 q 447 0 531 0 l 109 0 l 109 758 l 315 758 l 315 467 m 555 239 q 525 300 555 281 q 436 319 495 319 l 315 319 l 315 147 l 438 147 q 522 168 490 147 q 555 239 555 189 \"},Ÿ:{x_min:-.25,x_max:812.25,ha:811,o:\"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 m 174 1182 q 181 1223 174 1206 q 201 1251 188 1240 q 231 1268 214 1263 q 268 1274 248 1274 q 305 1268 288 1274 q 335 1251 322 1263 q 356 1223 348 1240 q 364 1182 364 1206 q 356 1142 364 1159 q 335 1114 348 1125 q 305 1097 322 1102 q 268 1092 288 1092 q 231 1097 248 1092 q 201 1114 214 1102 q 181 1142 188 1125 q 174 1182 174 1159 m 447 1182 q 454 1223 447 1206 q 474 1251 461 1240 q 505 1268 487 1263 q 543 1274 522 1274 q 579 1268 562 1274 q 610 1251 596 1263 q 631 1223 623 1240 q 639 1182 639 1206 q 631 1142 639 1159 q 610 1114 623 1125 q 579 1097 596 1102 q 543 1092 562 1092 q 474 1114 502 1092 q 447 1182 447 1136 \"},\"€\":{x_min:45,x_max:755.671875,ha:765,o:\"m 520 829 q 405 781 450 829 q 345 644 360 734 l 584 644 l 584 523 l 335 523 q 334 512 335 517 q 333 500 333 506 q 333 488 333 494 q 333 468 333 475 q 335 447 333 461 l 542 447 l 542 326 l 346 326 q 410 197 364 238 q 533 155 457 155 q 631 167 586 155 q 717 199 676 179 l 717 26 q 630 -3 678 6 q 518 -14 582 -14 q 261 74 355 -14 q 137 326 167 162 l 45 326 l 45 447 l 125 447 q 122 469 122 458 q 122 488 122 480 q 122 507 122 498 q 123 523 123 517 l 45 523 l 45 644 l 135 644 q 178 793 148 727 q 257 904 209 859 q 370 974 305 950 q 516 999 435 999 q 643 984 586 999 q 755 943 701 970 l 690 786 q 604 817 644 806 q 520 829 563 829 \"},в:{x_min:109,x_max:791,ha:853,o:\"m 767 560 q 729 457 767 500 q 615 402 691 414 l 615 397 q 688 378 655 392 q 743 342 720 364 q 778 291 765 320 q 791 228 791 262 q 773 136 791 178 q 717 64 755 94 q 619 17 679 34 q 475 0 560 0 l 109 0 l 109 758 l 473 758 q 590 747 537 758 q 683 714 644 737 q 744 653 722 691 q 767 560 767 616 m 579 241 q 549 306 579 286 q 458 326 519 326 l 315 326 l 315 147 l 461 147 q 509 152 487 147 q 546 168 530 157 q 570 198 561 180 q 579 241 579 216 m 555 543 q 463 610 555 610 l 315 610 l 315 464 l 442 464 q 527 482 498 464 q 555 543 555 501 \"},Η:{x_min:125,x_max:882,ha:1007,o:\"m 882 0 l 671 0 l 671 428 l 335 428 l 335 0 l 125 0 l 125 992 l 335 992 l 335 603 l 671 603 l 671 992 l 882 992 l 882 0 \"},С:{x_min:81,x_max:836.296875,ha:885,o:\"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 \"},ß:{x_min:109,x_max:897,ha:946,o:\"m 805 841 q 791 765 805 798 q 755 706 776 732 q 709 661 734 680 q 662 625 683 641 q 627 594 641 609 q 612 565 612 580 q 621 540 612 551 q 647 515 629 528 q 692 484 665 501 q 758 441 720 467 q 817 398 791 420 q 860 350 843 376 q 887 292 878 323 q 897 220 897 261 q 817 45 897 104 q 584 -14 738 -14 q 469 -4 518 -14 q 379 28 420 5 l 379 192 q 419 170 395 181 q 468 151 442 160 q 521 138 494 143 q 571 133 548 133 q 655 154 625 133 q 685 218 685 175 q 680 250 685 236 q 661 278 675 264 q 622 309 648 292 q 557 348 597 325 q 485 394 514 373 q 438 437 456 416 q 413 481 420 458 q 405 532 405 505 q 419 594 405 567 q 454 641 433 620 q 499 679 475 662 q 545 715 524 697 q 580 753 566 733 q 593 801 593 774 q 560 870 593 844 q 460 896 526 896 q 351 864 388 896 q 315 761 315 831 l 315 0 l 109 0 l 109 772 q 134 901 109 846 q 205 991 159 955 q 317 1045 251 1027 q 461 1063 382 1063 q 602 1048 539 1063 q 711 1005 666 1033 q 781 936 756 977 q 805 841 805 894 \"},њ:{x_min:109,x_max:1143,ha:1198,o:\"m 737 467 l 829 467 q 1066 411 989 467 q 1143 242 1143 356 q 1125 142 1143 187 q 1069 65 1107 97 q 971 17 1031 34 q 828 0 912 0 l 531 0 l 531 310 l 315 310 l 315 0 l 109 0 l 109 758 l 315 758 l 315 468 l 531 468 l 531 758 l 737 758 l 737 467 m 936 239 q 906 300 936 281 q 817 319 876 319 l 737 319 l 737 147 l 819 147 q 903 168 871 147 q 936 239 936 189 \"},Ű:{x_min:118,x_max:876,ha:994,o:\"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 272 1071 l 272 1089 q 302 1134 286 1108 q 334 1187 318 1160 q 364 1242 350 1215 q 389 1293 379 1269 l 594 1293 l 594 1278 q 572 1250 586 1266 q 539 1214 558 1233 q 500 1175 521 1195 q 457 1136 478 1155 q 416 1100 436 1117 q 381 1071 396 1083 l 272 1071 m 541 1071 l 541 1089 q 571 1134 555 1108 q 603 1187 587 1160 q 633 1242 619 1215 q 658 1293 648 1269 l 863 1293 l 863 1278 q 841 1250 855 1266 q 808 1214 827 1233 q 769 1175 790 1195 q 727 1136 748 1155 q 686 1100 705 1117 q 650 1071 666 1083 l 541 1071 \"},c:{x_min:69,x_max:648.703125,ha:693,o:\"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 \"},\"¶\":{x_min:77,x_max:792,ha:910,o:\"m 792 -176 l 682 -176 l 682 919 l 569 919 l 569 -176 l 460 -176 l 460 379 q 361 367 418 367 q 244 384 296 367 q 154 441 191 401 q 97 546 117 481 q 77 706 77 611 q 99 873 77 806 q 161 980 121 939 q 258 1038 201 1021 q 382 1055 314 1055 l 792 1055 l 792 -176 \"},Ή:{x_min:-39,x_max:965,ha:1091,o:\"m 965 0 l 754 0 l 754 428 l 418 428 l 418 0 l 208 0 l 208 992 l 418 992 l 418 603 l 754 603 l 754 992 l 965 992 l 965 0 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 \"},Ὅ:{x_min:-269,x_max:1026,ha:1106,o:\"m 1026 496 q 999 287 1026 382 q 917 126 972 193 q 778 22 862 59 q 581 -14 695 -14 q 383 22 467 -14 q 245 126 299 59 q 163 288 190 193 q 137 498 137 382 q 163 707 137 613 q 245 867 190 801 q 384 970 300 934 q 582 1007 467 1007 q 779 970 696 1007 q 917 867 863 934 q 999 706 972 800 q 1026 496 1026 612 m 353 496 q 366 355 353 417 q 408 250 380 293 q 479 184 436 207 q 581 160 522 160 q 685 184 641 160 q 755 250 728 207 q 796 355 783 293 q 809 496 809 417 q 796 636 809 574 q 755 742 783 698 q 685 808 728 785 q 582 832 642 832 q 480 808 523 832 q 408 742 436 785 q 366 636 380 698 q 353 496 353 574 m -269 858 q -258 904 -269 881 q -223 947 -247 927 q -162 980 -199 966 q -70 1003 -124 995 l -70 952 q -143 925 -119 937 q -166 893 -166 912 q -154 874 -166 880 q -126 862 -141 868 q -98 848 -111 857 q -86 820 -86 839 q -107 780 -86 795 q -173 765 -128 765 q -210 770 -193 765 q -241 787 -228 775 q -261 816 -254 798 q -269 858 -269 834 m -34 788 q -21 834 -28 808 q -5 887 -13 859 q 9 942 1 915 q 21 993 16 969 l 199 993 l 199 979 q 172 930 188 956 q 137 876 156 904 q 98 822 119 849 q 58 771 77 795 l -34 771 l -34 788 \"},γ:{x_min:.75,x_max:747.25,ha:747,o:\"m 483 12 q 452 -76 466 -29 q 430 -167 439 -122 q 417 -255 421 -213 q 412 -334 412 -298 l 201 -334 q 206 -264 201 -305 q 220 -176 211 -223 q 242 -82 229 -130 q 268 8 254 -34 l 0 758 l 215 758 l 314 423 q 332 359 323 395 q 350 286 342 322 q 365 218 359 249 q 374 168 371 186 l 378 168 q 384 218 380 189 q 397 278 389 246 q 413 345 404 310 q 433 413 422 379 l 531 758 l 747 758 l 483 12 \"},\"­\":{x_min:41,x_max:406,ha:447,o:\"m 41 287 l 41 457 l 406 457 l 406 287 l 41 287 \"},\":\":{x_min:79,x_max:316,ha:396,o:\"m 79 97 q 88 151 79 129 q 113 187 97 173 q 151 206 129 200 q 198 213 173 213 q 243 206 221 213 q 280 187 264 200 q 306 151 297 173 q 316 97 316 129 q 306 45 316 66 q 280 9 297 23 q 243 -11 264 -5 q 198 -18 221 -18 q 151 -11 173 -18 q 113 9 129 -5 q 88 45 97 23 q 79 97 79 66 m 79 657 q 88 711 79 689 q 113 747 97 733 q 151 766 129 760 q 198 773 173 773 q 243 766 221 773 q 280 747 264 760 q 306 711 297 733 q 316 657 316 689 q 306 604 316 626 q 280 568 297 582 q 243 548 264 554 q 198 542 221 542 q 151 548 173 542 q 113 568 129 554 q 88 604 97 582 q 79 657 79 626 \"},ś:{x_min:66,x_max:614,ha:668,o:\"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 m 232 842 l 232 860 q 262 905 246 879 q 294 958 278 931 q 324 1013 310 986 q 350 1064 339 1040 l 582 1064 l 582 1049 q 560 1021 574 1037 q 527 985 546 1004 q 488 946 509 966 q 446 907 467 926 q 404 871 424 888 q 369 842 385 854 l 232 842 \"},\" \":{x_min:0,x_max:0,ha:361},У:{x_min:-.25,x_max:851.25,ha:851,o:\"m 851 992 l 563 290 q 503 162 534 218 q 431 66 473 105 q 332 6 389 27 q 194 -14 275 -14 q 120 -8 159 -14 q 46 6 80 -3 l 46 185 q 118 166 79 171 q 194 160 158 160 q 253 169 229 160 q 294 195 277 178 q 322 232 311 211 q 343 279 334 254 l 0 992 l 222 992 l 409 563 q 420 538 414 553 q 431 509 426 524 q 441 482 437 495 q 446 465 446 470 l 454 465 q 458 483 455 471 q 465 510 461 496 q 473 538 469 524 q 482 562 478 552 l 634 992 l 851 992 \"},\"¾\":{x_min:61,x_max:1161.203125,ha:1224,o:\"m 977 992 l 426 0 l 264 0 l 815 992 l 977 992 m 1161 101 l 1076 101 l 1076 0 l 915 0 l 915 101 l 655 101 l 655 207 l 916 599 l 1076 599 l 1076 217 l 1161 217 l 1161 101 m 915 217 l 915 328 q 916 388 915 356 q 919 453 917 419 q 909 429 915 444 q 895 399 902 415 q 880 370 887 384 q 866 346 872 356 l 780 217 l 915 217 m 472 846 q 444 766 472 800 q 356 712 417 732 l 356 703 q 416 682 391 697 q 458 649 441 668 q 482 608 474 631 q 491 562 491 586 q 431 433 491 480 q 245 386 371 386 q 149 397 194 386 q 61 433 105 409 l 61 562 q 150 518 105 535 q 245 501 195 501 q 319 519 296 501 q 343 573 343 537 q 337 600 343 587 q 319 623 332 613 q 284 639 306 633 q 229 645 262 645 l 153 645 l 153 754 l 214 754 q 270 760 249 754 q 304 776 292 766 q 320 800 316 787 q 324 828 324 814 q 307 871 324 854 q 256 888 290 888 q 196 875 224 888 q 130 834 168 862 l 62 930 q 155 982 104 961 q 276 1004 206 1004 q 354 992 318 1004 q 416 961 390 981 q 457 911 442 940 q 472 846 472 882 \"},Ί:{x_min:-39,x_max:666.96875,ha:711,o:\"m 666 0 l 215 0 l 215 119 l 336 174 l 336 817 l 215 872 l 215 992 l 666 992 l 666 872 l 546 817 l 546 174 l 666 119 l 666 0 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 \"},ʼn:{x_min:16,x_max:937,ha:1040,o:\"m 937 0 l 730 0 l 730 442 q 705 565 730 524 q 626 606 680 606 q 558 590 585 606 q 515 542 531 574 q 492 463 499 510 q 485 356 485 416 l 485 0 l 279 0 l 279 758 l 437 758 l 464 661 l 476 661 q 516 711 492 690 q 567 746 539 732 q 626 766 595 760 q 690 773 657 773 q 791 757 745 773 q 869 707 836 741 q 919 620 901 673 q 937 494 937 568 l 937 0 m 273 992 l 284 977 q 261 898 274 939 q 232 815 248 857 q 198 731 216 772 q 164 652 181 690 l 16 652 q 35 737 25 692 q 54 827 45 782 q 71 913 63 871 q 83 992 78 956 l 273 992 \"},Ģ:{x_min:81,x_max:895,ha:1006,o:\"m 502 557 l 895 557 l 895 42 q 815 18 855 29 q 732 1 775 8 q 642 -9 689 -5 q 542 -14 595 -14 q 345 18 431 -14 q 200 116 259 51 q 111 276 142 181 q 81 497 81 372 q 114 708 81 613 q 214 868 148 802 q 377 970 281 934 q 599 1006 474 1006 q 754 989 678 1006 q 893 944 830 972 l 823 776 q 719 815 777 799 q 597 831 661 831 q 473 806 528 831 q 378 738 418 782 q 318 632 339 694 q 297 492 297 569 q 311 358 297 419 q 357 253 326 298 q 438 185 388 209 q 555 160 487 160 q 631 165 600 160 q 689 174 662 169 l 689 382 l 502 382 l 502 557 m 427 -288 q 439 -242 433 -268 q 450 -188 445 -216 q 461 -134 456 -161 q 468 -85 466 -107 l 660 -85 l 660 -98 q 611 -198 639 -145 q 547 -307 583 -251 l 427 -307 l 427 -288 \"},m:{x_min:109,x_max:1204,ha:1308,o:\"m 759 0 l 553 0 l 553 442 q 528 565 553 524 q 452 606 504 606 q 386 590 412 606 q 344 542 360 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 345 711 322 690 q 395 746 368 732 q 452 766 422 760 q 514 773 483 773 q 646 746 592 773 q 730 661 701 719 l 747 661 q 786 711 763 690 q 837 746 809 732 q 896 766 865 760 q 958 773 927 773 q 1142 706 1080 773 q 1204 494 1204 640 l 1204 0 l 997 0 l 997 442 q 972 565 997 524 q 896 606 948 606 q 791 548 822 606 q 759 380 759 489 l 759 0 \"},Е:{x_min:125,x_max:696,ha:778,o:\"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 \"},ž:{x_min:37,x_max:612,ha:635,o:\"m 595 0 l 37 0 l 37 117 l 347 604 l 58 604 l 58 758 l 582 758 l 582 628 l 281 153 l 595 153 l 595 0 m 612 1045 q 572 1000 595 1026 q 528 947 550 974 q 486 892 506 919 q 451 842 466 865 l 210 842 q 174 892 195 865 q 132 947 154 919 q 89 1000 110 974 q 50 1045 67 1026 l 50 1064 l 187 1064 q 257 1011 222 1041 q 329 945 292 982 q 402 1011 364 982 q 474 1064 439 1041 l 612 1064 l 612 1045 \"},á:{x_min:58,x_max:694,ha:798,o:\"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 300 842 l 300 860 q 330 905 314 879 q 362 958 346 931 q 392 1013 378 986 q 418 1064 407 1040 l 650 1064 l 650 1049 q 628 1021 642 1037 q 595 985 614 1004 q 556 946 577 966 q 514 907 535 926 q 472 871 492 888 q 437 842 453 854 l 300 842 \"},\"×\":{x_min:73.9375,x_max:691.796875,ha:765,o:\"m 276 490 l 73 694 l 176 799 l 380 596 l 587 799 l 691 697 l 484 490 l 689 285 l 587 181 l 380 386 l 176 183 l 75 286 l 276 490 \"},п:{x_min:109,x_max:755,ha:864,o:\"m 755 758 l 755 0 l 548 0 l 548 604 l 315 604 l 315 0 l 109 0 l 109 758 l 755 758 \"},Ǻ:{x_min:-.25,x_max:903.25,ha:903,o:\"m 622 991 q 614 936 622 961 q 590 891 605 911 l 903 0 l 690 0 l 619 225 l 282 225 l 212 0 l 0 0 l 311 891 q 282 990 282 931 q 294 1058 282 1028 q 328 1108 306 1088 q 381 1140 350 1129 q 450 1152 413 1152 q 517 1140 486 1152 q 572 1108 548 1129 q 609 1058 595 1088 q 622 991 622 1029 m 574 400 l 510 596 q 498 631 506 606 q 480 687 489 657 q 463 747 471 717 q 451 798 455 777 q 444 767 449 785 q 434 728 440 748 q 422 687 428 708 q 411 648 416 666 q 401 616 405 630 q 394 596 396 602 l 331 400 l 574 400 m 368 1189 l 368 1199 q 398 1229 382 1213 q 431 1263 415 1246 q 461 1298 447 1281 q 486 1331 475 1316 l 718 1331 l 718 1322 q 681 1292 707 1310 q 624 1255 656 1275 q 561 1218 593 1236 q 505 1189 529 1201 l 368 1189 m 518 990 q 500 1038 518 1020 q 452 1055 481 1055 q 405 1038 424 1055 q 386 990 386 1020 q 401 943 386 961 q 445 925 415 926 l 458 925 q 501 943 484 926 q 518 990 518 961 \"},K:{x_min:125,x_max:880.25,ha:880,o:\"m 880 0 l 641 0 l 413 412 l 335 354 l 335 0 l 125 0 l 125 992 l 335 992 l 335 514 l 417 654 l 644 992 l 877 992 l 561 544 l 880 0 \"},\"¨\":{x_min:168,x_max:633,ha:802,o:\"m 168 953 q 175 994 168 977 q 195 1022 182 1011 q 225 1039 208 1034 q 262 1045 242 1045 q 299 1039 282 1045 q 329 1022 316 1034 q 350 994 342 1011 q 358 953 358 977 q 350 913 358 930 q 329 885 342 896 q 299 868 316 873 q 262 863 282 863 q 225 868 242 863 q 195 885 208 873 q 175 913 182 896 q 168 953 168 930 m 441 953 q 448 994 441 977 q 468 1022 455 1011 q 499 1039 481 1034 q 537 1045 516 1045 q 573 1039 556 1045 q 604 1022 590 1034 q 625 994 617 1011 q 633 953 633 977 q 625 913 633 930 q 604 885 617 896 q 573 868 590 873 q 537 863 556 863 q 468 885 496 863 q 441 953 441 907 \"},Y:{x_min:-.25,x_max:812.25,ha:811,o:\"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 \"},E:{x_min:125,x_max:696,ha:778,o:\"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 \"},Ô:{x_min:81,x_max:970,ha:1050,o:\"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 662 1071 q 590 1123 627 1093 q 517 1189 552 1152 q 445 1123 480 1152 q 375 1071 410 1093 l 238 1071 l 238 1089 q 277 1134 255 1108 q 320 1187 298 1160 q 362 1242 342 1215 q 398 1293 383 1269 l 639 1293 q 674 1242 654 1269 q 716 1187 694 1215 q 760 1134 738 1160 q 800 1089 783 1108 l 800 1071 l 662 1071 \"},Є:{x_min:81,x_max:836.296875,ha:885,o:\"m 543 831 q 450 814 492 831 q 376 766 408 797 q 324 689 344 735 q 298 586 304 644 l 676 586 l 676 411 l 297 411 q 367 225 304 290 q 544 160 429 160 q 666 174 604 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 767 765 q 655 811 711 791 q 543 831 598 831 \"},Ï:{x_min:37,x_max:502,ha:541,o:\"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 37 1182 q 44 1223 37 1206 q 64 1251 51 1240 q 94 1268 77 1263 q 131 1274 111 1274 q 168 1268 151 1274 q 198 1251 185 1263 q 219 1223 211 1240 q 227 1182 227 1206 q 219 1142 227 1159 q 198 1114 211 1125 q 168 1097 185 1102 q 131 1092 151 1092 q 94 1097 111 1092 q 64 1114 77 1102 q 44 1142 51 1125 q 37 1182 37 1159 m 310 1182 q 317 1223 310 1206 q 337 1251 324 1240 q 368 1268 350 1263 q 406 1274 385 1274 q 442 1268 425 1274 q 473 1251 459 1263 q 494 1223 486 1240 q 502 1182 502 1206 q 494 1142 502 1159 q 473 1114 486 1125 q 442 1097 459 1102 q 406 1092 425 1092 q 337 1114 365 1092 q 310 1182 310 1136 \"},ġ:{x_min:14,x_max:735.140625,ha:766,o:\"m 735 757 l 735 644 l 624 610 q 643 562 638 587 q 649 509 649 537 q 630 403 649 451 q 576 322 612 356 q 486 269 540 288 q 360 251 432 251 q 326 252 345 251 q 299 256 308 254 q 279 232 286 244 q 271 201 271 219 q 280 179 271 187 q 303 165 289 170 q 336 158 317 160 q 375 157 355 157 l 493 157 q 591 144 547 157 q 664 106 634 131 q 710 40 694 80 q 727 -54 727 0 q 701 -170 727 -118 q 624 -258 675 -222 q 497 -314 573 -295 q 322 -334 421 -334 q 187 -319 244 -334 q 91 -277 129 -304 q 33 -211 52 -249 q 14 -123 14 -172 q 28 -51 14 -81 q 66 0 42 -20 q 120 36 90 22 q 182 57 150 49 q 154 74 168 63 q 129 99 140 85 q 111 131 118 113 q 104 167 104 148 q 110 206 104 189 q 128 239 116 224 q 159 268 141 254 q 200 296 177 282 q 105 379 140 322 q 71 513 71 436 q 89 622 71 574 q 145 704 108 670 q 236 755 182 737 q 360 773 290 773 q 391 771 374 773 q 424 767 408 769 q 455 762 441 764 q 477 757 469 759 l 735 757 m 193 -107 q 200 -141 193 -125 q 224 -169 207 -157 q 266 -189 240 -181 q 331 -196 293 -196 q 490 -166 437 -196 q 543 -85 543 -135 q 510 -27 543 -42 q 408 -13 477 -13 l 312 -13 q 273 -17 294 -13 q 234 -33 252 -22 q 205 -62 217 -44 q 193 -107 193 -80 m 265 510 q 289 415 265 448 q 360 381 312 381 q 432 415 410 381 q 454 510 454 448 q 432 607 454 571 q 360 643 410 643 q 265 510 265 643 m 251 954 q 259 1003 251 984 q 283 1034 268 1022 q 319 1051 299 1046 q 363 1056 340 1056 q 406 1051 386 1056 q 442 1034 427 1046 q 466 1003 457 1022 q 476 954 476 984 q 466 906 476 926 q 442 875 457 886 q 406 858 427 863 q 363 853 386 853 q 319 858 340 853 q 283 875 299 863 q 259 906 268 886 q 251 954 251 926 \"},έ:{x_min:53,x_max:677,ha:729,o:\"m 531 464 l 531 316 l 432 316 q 299 292 340 316 q 259 221 259 267 q 268 187 259 202 q 297 161 277 172 q 348 145 317 150 q 424 139 379 139 q 498 144 462 139 q 566 159 533 150 q 626 180 598 168 q 676 203 654 191 l 676 38 q 557 0 627 14 q 400 -14 488 -14 q 242 1 308 -14 q 134 46 177 17 q 72 115 92 74 q 53 206 53 156 q 66 278 53 248 q 104 330 79 308 q 163 366 128 352 q 240 387 198 379 l 240 394 q 129 457 165 411 q 93 571 93 502 q 117 664 93 626 q 184 726 142 702 q 283 762 227 751 q 403 773 340 773 q 477 768 440 773 q 550 757 515 764 q 617 739 585 749 q 677 716 649 728 l 620 566 q 527 603 576 586 q 421 619 478 619 q 365 615 390 619 q 324 603 341 612 q 297 581 306 594 q 287 547 287 567 q 325 483 287 502 q 444 464 363 464 l 531 464 m 323 860 q 335 906 329 880 q 346 960 341 932 q 357 1014 352 987 q 364 1064 361 1041 l 556 1064 l 556 1049 q 507 950 535 1003 q 443 842 479 897 l 323 842 l 323 860 \"},\" \":{x_min:0,x_max:0,ha:463},ϋ:{x_min:97,x_max:780,ha:861,o:\"m 426 -12 q 266 15 330 -12 q 165 91 202 42 q 112 205 127 139 q 97 345 97 270 l 97 758 l 303 758 l 303 340 q 335 197 303 241 q 432 154 366 154 q 493 168 467 154 q 537 213 520 182 q 564 295 555 244 q 573 417 573 345 q 569 503 573 461 q 559 586 566 545 q 544 670 553 628 q 524 758 535 712 l 732 758 q 752 670 744 712 q 767 587 761 629 q 776 502 773 545 q 780 410 780 459 q 757 221 780 301 q 689 90 734 141 q 579 13 645 38 q 426 -12 513 -12 m 199 953 q 206 994 199 977 q 226 1022 213 1011 q 256 1039 239 1034 q 293 1045 273 1045 q 330 1039 313 1045 q 360 1022 347 1034 q 381 994 373 1011 q 389 953 389 977 q 381 913 389 930 q 360 885 373 896 q 330 868 347 873 q 293 863 313 863 q 256 868 273 863 q 226 885 239 873 q 206 913 213 896 q 199 953 199 930 m 472 953 q 479 994 472 977 q 499 1022 486 1011 q 530 1039 512 1034 q 568 1045 547 1045 q 604 1039 587 1045 q 635 1022 621 1034 q 656 994 648 1011 q 664 953 664 977 q 656 913 664 930 q 635 885 648 896 q 604 868 621 873 q 568 863 587 863 q 499 885 527 863 q 472 953 472 907 \"},й:{x_min:109,x_max:849,ha:958,o:\"m 303 758 l 303 463 q 301 401 303 440 q 296 324 299 362 q 288 231 292 280 l 606 758 l 849 758 l 849 0 l 654 0 l 654 296 q 656 364 654 325 q 661 438 659 402 q 668 524 664 480 l 351 0 l 109 0 l 109 758 l 303 758 m 806 1085 q 781 985 800 1030 q 722 909 761 941 q 622 859 684 877 q 471 842 561 842 q 319 858 379 842 q 221 907 258 875 q 168 983 185 939 q 148 1085 152 1028 l 334 1085 q 347 1020 337 1045 q 373 981 356 995 q 415 961 389 967 q 477 955 441 955 q 531 962 506 955 q 574 983 556 968 q 603 1023 592 998 q 619 1085 615 1048 l 806 1085 \"},b:{x_min:109,x_max:775,ha:844,o:\"m 512 773 q 619 747 571 773 q 701 673 667 722 q 755 550 736 623 q 775 380 775 476 q 755 209 775 282 q 701 85 736 135 q 616 11 665 36 q 507 -14 567 -14 q 440 -5 469 -14 q 387 15 410 2 q 347 46 364 29 q 315 82 330 64 l 301 82 l 267 0 l 109 0 l 109 1055 l 315 1055 l 315 809 q 314 761 315 787 q 311 712 313 734 q 307 659 309 686 l 315 659 q 348 704 330 683 q 390 739 366 724 q 445 764 414 755 q 512 773 475 773 m 443 606 q 384 594 408 606 q 345 556 360 581 q 323 492 330 531 q 315 403 317 454 l 315 380 q 322 282 315 325 q 343 211 328 239 q 383 167 358 182 q 444 152 407 152 q 534 211 505 152 q 563 382 563 269 q 534 550 563 494 q 443 606 505 606 \"},ύ:{x_min:97,x_max:780,ha:861,o:\"m 426 -12 q 266 15 330 -12 q 165 91 202 42 q 112 205 127 139 q 97 345 97 270 l 97 758 l 303 758 l 303 340 q 335 197 303 241 q 432 154 366 154 q 493 168 467 154 q 537 213 520 182 q 564 295 555 244 q 573 417 573 345 q 569 503 573 461 q 559 586 566 545 q 544 670 553 628 q 524 758 535 712 l 732 758 q 752 670 744 712 q 767 587 761 629 q 776 502 773 545 q 780 410 780 459 q 757 221 780 301 q 689 90 734 141 q 579 13 645 38 q 426 -12 513 -12 m 354 860 q 366 906 360 880 q 377 960 372 932 q 388 1014 383 987 q 395 1064 392 1041 l 587 1064 l 587 1049 q 538 950 566 1003 q 474 842 510 897 l 354 842 l 354 860 \"},fl:{x_min:28,x_max:853.859375,ha:961,o:\"m 503 604 l 348 604 l 348 0 l 142 0 l 142 604 l 28 604 l 28 703 l 142 758 l 142 813 q 159 934 142 886 q 209 1010 177 982 q 288 1051 242 1039 q 392 1063 334 1063 q 497 1053 454 1063 q 570 1030 540 1043 l 521 877 q 477 890 500 884 q 422 896 454 896 q 365 871 382 896 q 348 804 348 845 l 348 758 l 503 758 l 503 604 m 853 0 l 647 0 l 647 1055 l 853 1055 l 853 0 \"},ф:{x_min:69,x_max:1034,ha:1103,o:\"m 651 762 q 815 722 744 753 q 935 641 887 691 q 1009 525 984 591 q 1034 379 1034 458 q 1010 232 1034 299 q 938 115 986 165 q 818 34 890 66 q 651 -5 747 3 l 651 -334 l 457 -334 l 457 -5 q 291 35 364 3 q 170 116 219 66 q 94 233 120 167 q 69 379 69 299 q 92 527 69 460 q 163 645 115 595 q 284 725 211 694 q 457 762 357 755 l 457 1055 l 651 1055 l 651 762 m 280 378 q 292 292 280 331 q 327 222 304 252 q 382 173 349 192 q 457 148 415 154 l 457 608 q 383 582 415 602 q 327 532 350 562 q 292 463 305 502 q 280 378 280 424 m 822 378 q 810 463 822 424 q 776 532 798 502 q 722 580 754 562 q 651 606 691 599 l 651 148 q 724 173 692 154 q 777 222 755 192 q 810 292 799 252 q 822 378 822 331 \"},Ŋ:{x_min:113,x_max:950,ha:1063,o:\"m 634 -292 q 557 -287 590 -292 q 501 -277 524 -283 l 501 -103 q 553 -112 526 -108 q 614 -117 581 -117 q 670 -111 643 -117 q 719 -92 697 -106 q 756 -55 741 -78 q 775 2 771 -32 l 293 750 l 287 750 q 294 646 291 698 q 298 554 296 602 q 300 466 300 505 l 300 0 l 113 0 l 113 992 l 378 992 l 768 387 l 772 387 q 768 489 770 439 q 766 534 767 511 q 764 579 765 556 q 763 623 763 602 q 762 661 762 644 l 762 992 l 950 992 l 950 0 q 926 -130 950 -75 q 862 -221 903 -186 q 763 -274 821 -257 q 634 -292 705 -292 \"},Ũ:{x_min:118,x_max:876,ha:994,o:\"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 382 1135 q 348 1119 361 1135 q 328 1069 336 1103 l 227 1069 q 244 1163 231 1123 q 280 1228 258 1202 q 332 1266 302 1253 q 397 1279 361 1279 q 451 1269 425 1279 q 504 1246 478 1259 q 555 1224 530 1234 q 605 1214 581 1214 q 638 1230 626 1214 q 659 1280 651 1246 l 761 1280 q 743 1187 756 1226 q 706 1122 729 1148 q 654 1083 684 1096 q 590 1071 625 1071 q 536 1081 563 1071 q 483 1103 508 1091 q 432 1125 457 1115 q 382 1135 406 1135 \"},Щ:{x_min:125,x_max:1464,ha:1492,o:\"m 825 174 l 1106 174 l 1106 992 l 1317 992 l 1317 166 l 1464 147 l 1464 -289 l 1258 -289 l 1258 0 l 125 0 l 125 992 l 335 992 l 335 174 l 615 174 l 615 992 l 825 992 l 825 174 \"},L:{x_min:125,x_max:696,ha:743,o:\"m 125 0 l 125 992 l 335 992 l 335 174 l 696 174 l 696 0 l 125 0 \"},ď:{x_min:69,x_max:1031,ha:844,o:\"m 329 -14 q 224 11 271 -14 q 141 85 176 36 q 88 208 107 134 q 69 377 69 281 q 88 549 69 475 q 142 672 107 622 q 227 747 178 722 q 335 773 276 773 q 402 764 372 773 q 457 741 433 756 q 500 706 481 726 q 534 663 520 687 l 541 663 q 534 716 537 690 q 528 765 530 739 q 526 813 526 791 l 526 1055 l 735 1055 l 735 0 l 575 0 l 534 99 l 526 99 q 493 54 512 75 q 451 18 475 34 q 397 -5 427 3 q 329 -14 367 -14 m 406 152 q 467 164 442 152 q 508 202 492 177 q 531 266 524 228 q 540 355 539 304 l 540 378 q 533 476 540 433 q 511 547 526 519 q 470 591 496 576 q 404 606 444 606 q 310 547 340 606 q 280 376 280 489 q 310 208 280 264 q 406 152 341 152 m 798 851 q 810 898 804 872 q 821 951 816 924 q 832 1006 827 979 q 839 1056 837 1033 l 1031 1056 l 1031 1042 q 982 942 1010 996 q 918 834 954 888 l 798 834 l 798 851 \"},Ο:{x_min:81,x_max:970,ha:1050,o:\"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 \"},Ĭ:{x_min:22,x_max:514,ha:541,o:\"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 514 1300 q 492 1207 510 1249 q 444 1135 475 1165 q 368 1087 412 1104 q 265 1071 323 1071 q 161 1087 205 1071 q 86 1133 116 1103 q 40 1205 56 1163 q 22 1300 24 1247 l 137 1300 q 149 1253 140 1270 q 175 1227 159 1236 q 214 1216 191 1218 q 266 1214 237 1214 q 313 1217 291 1214 q 352 1229 335 1220 q 381 1255 370 1238 q 395 1300 393 1272 l 514 1300 \"},ŧ:{x_min:32,x_max:530,ha:575,o:\"m 416 152 q 474 158 446 152 q 530 175 501 165 l 530 20 q 457 -4 500 5 q 364 -14 414 -14 q 271 -2 314 -14 q 198 37 229 8 q 148 114 166 66 q 131 234 131 162 l 131 334 l 44 334 l 44 472 l 131 472 l 131 604 l 32 604 l 32 692 l 145 759 l 205 924 l 337 924 l 337 758 l 521 758 l 521 604 l 337 604 l 337 472 l 498 472 l 498 334 l 337 334 l 337 236 q 359 172 337 193 q 416 152 381 152 \"},À:{x_min:-.25,x_max:903.25,ha:903,o:\"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 429 1071 q 374 1118 406 1089 q 310 1175 341 1146 q 253 1233 279 1205 q 217 1278 227 1260 l 217 1293 l 448 1293 q 474 1242 459 1269 q 504 1187 488 1215 q 536 1134 520 1160 q 567 1089 552 1108 l 567 1071 l 429 1071 \"},Ϊ:{x_min:37,x_max:502,ha:541,o:\"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 37 1182 q 44 1223 37 1206 q 64 1251 51 1240 q 94 1268 77 1263 q 131 1274 111 1274 q 168 1268 151 1274 q 198 1251 185 1263 q 219 1223 211 1240 q 227 1182 227 1206 q 219 1142 227 1159 q 198 1114 211 1125 q 168 1097 185 1102 q 131 1092 151 1092 q 94 1097 111 1092 q 64 1114 77 1102 q 44 1142 51 1125 q 37 1182 37 1159 m 310 1182 q 317 1223 310 1206 q 337 1251 324 1240 q 368 1268 350 1263 q 406 1274 385 1274 q 442 1268 425 1274 q 473 1251 459 1263 q 494 1223 486 1240 q 502 1182 502 1206 q 494 1142 502 1159 q 473 1114 486 1125 q 442 1097 459 1102 q 406 1092 425 1092 q 337 1114 365 1092 q 310 1182 310 1136 \"},ḁ:{x_min:58,x_max:694,ha:798,o:\"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 563 -244 q 549 -312 563 -282 q 513 -363 536 -342 q 458 -395 489 -384 q 390 -407 427 -407 q 322 -395 353 -407 q 269 -363 291 -384 q 235 -313 247 -343 q 223 -245 223 -283 q 235 -178 223 -208 q 269 -128 247 -148 q 322 -96 291 -107 q 390 -85 353 -85 q 458 -96 426 -85 q 512 -128 489 -107 q 549 -178 535 -148 q 563 -244 563 -207 m 457 -245 q 439 -197 457 -215 q 393 -180 421 -180 q 346 -197 364 -180 q 328 -245 328 -215 q 344 -293 328 -276 q 393 -311 360 -311 q 439 -293 421 -311 q 457 -245 457 -276 \"},\"½\":{x_min:32,x_max:1164.28125,ha:1224,o:\"m 929 992 l 378 0 l 216 0 l 767 992 l 929 992 m 365 397 l 204 397 l 204 700 q 204 734 204 713 q 205 776 204 755 q 207 814 206 797 q 209 840 208 832 q 198 828 205 835 q 185 813 192 820 q 171 799 178 805 q 158 787 164 792 l 105 746 l 32 832 l 235 992 l 365 992 l 365 397 m 1164 0 l 725 0 l 725 111 l 877 260 q 930 313 909 290 q 963 354 951 335 q 981 388 976 372 q 986 422 986 404 q 970 462 986 448 q 926 476 953 476 q 869 462 899 476 q 803 418 839 449 l 719 521 q 818 584 763 560 q 947 609 873 609 q 1029 597 992 609 q 1092 564 1066 586 q 1133 511 1118 543 q 1148 438 1148 479 q 1139 379 1148 406 q 1112 323 1131 351 q 1065 265 1094 295 q 996 197 1037 234 l 925 132 l 1164 132 l 1164 0 \"},\"'\":{x_min:90,x_max:279.21875,ha:370,o:\"m 279 992 l 251 634 l 117 634 l 90 992 l 279 992 \"},ij:{x_min:100.1875,x_max:721.5,ha:821,o:\"m 100 953 q 109 1002 100 983 q 133 1033 117 1021 q 169 1050 148 1045 q 212 1055 189 1055 q 256 1050 235 1055 q 291 1033 276 1045 q 316 1002 307 1021 q 325 953 325 983 q 316 905 325 925 q 291 874 307 885 q 256 857 276 862 q 212 852 235 852 q 169 857 189 852 q 133 874 148 862 q 109 905 117 885 q 100 953 100 925 m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 465 -334 q 398 -329 433 -334 q 341 -317 364 -324 l 341 -154 q 380 -164 362 -161 q 421 -167 398 -167 q 453 -162 438 -167 q 480 -144 469 -157 q 498 -109 491 -131 q 505 -52 505 -87 l 505 758 l 712 758 l 712 -82 q 698 -180 712 -134 q 656 -260 685 -226 q 579 -314 626 -294 q 465 -334 532 -334 m 496 953 q 505 1002 496 983 q 529 1033 513 1021 q 565 1050 544 1045 q 608 1055 585 1055 q 652 1050 631 1055 q 687 1033 672 1045 q 712 1002 703 1021 q 721 953 721 983 q 712 905 721 925 q 687 874 703 885 q 652 857 672 862 q 608 852 631 852 q 565 857 585 852 q 529 874 544 862 q 505 905 513 885 q 496 953 496 925 \"},Р:{x_min:125,x_max:769,ha:831,o:\"m 335 526 l 377 526 q 513 561 467 526 q 558 674 558 596 q 517 782 558 747 q 389 817 476 817 l 335 817 l 335 526 m 769 682 q 749 557 769 616 q 684 451 729 497 q 565 379 639 406 q 383 352 492 352 l 335 352 l 335 0 l 125 0 l 125 992 l 400 992 q 565 970 496 992 q 680 909 635 949 q 747 812 725 869 q 769 682 769 754 \"},\"˛\":{x_min:7,x_max:282,ha:286,o:\"m 150 -154 q 165 -196 150 -182 q 204 -209 180 -209 q 247 -205 225 -209 q 282 -197 268 -201 l 282 -318 q 235 -329 260 -324 q 176 -334 210 -334 q 105 -322 137 -334 q 52 -290 74 -310 q 18 -241 30 -269 q 7 -177 7 -212 q 16 -124 7 -148 q 42 -78 25 -99 q 81 -38 59 -57 q 129 0 103 -19 l 250 0 q 176 -81 203 -44 q 150 -154 150 -118 \"},Ć:{x_min:81,x_max:836.296875,ha:885,o:\"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 m 434 1071 l 434 1089 q 464 1134 448 1108 q 496 1187 480 1160 q 526 1242 512 1215 q 552 1293 541 1269 l 784 1293 l 784 1278 q 762 1250 776 1266 q 729 1214 748 1233 q 690 1175 711 1195 q 648 1136 669 1155 q 606 1100 626 1117 q 571 1071 587 1083 l 434 1071 \"},Т:{x_min:28,x_max:735,ha:762,o:\"m 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 0 \"},\"£\":{x_min:56,x_max:739,ha:765,o:\"m 461 1006 q 596 989 535 1006 q 711 950 656 973 l 649 794 q 563 824 602 813 q 482 836 524 836 q 413 810 438 836 q 388 719 388 784 l 388 589 l 608 589 l 608 441 l 388 441 l 388 344 q 379 279 388 306 q 355 231 369 251 q 322 198 340 211 q 285 174 304 184 l 739 174 l 739 0 l 56 0 l 56 166 q 107 193 84 179 q 145 227 129 207 q 169 275 161 247 q 178 342 178 303 l 178 441 l 57 441 l 57 589 l 178 589 l 178 721 q 199 852 178 798 q 258 940 220 906 q 347 990 295 974 q 461 1006 399 1006 \"},ů:{x_min:104,x_max:762,ha:871,o:\"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 604 1002 q 590 934 604 964 q 554 883 577 904 q 499 851 530 862 q 431 840 468 840 q 363 851 394 840 q 310 883 332 862 q 276 933 288 903 q 264 1001 264 964 q 276 1068 264 1038 q 310 1118 288 1098 q 363 1150 332 1139 q 431 1162 394 1162 q 499 1150 467 1162 q 553 1118 530 1139 q 590 1068 576 1098 q 604 1002 604 1039 m 498 1001 q 480 1049 498 1031 q 434 1066 462 1066 q 387 1049 405 1066 q 369 1001 369 1031 q 385 953 369 970 q 434 935 401 935 q 480 953 462 935 q 498 1001 498 970 \"},Ō:{x_min:81,x_max:970,ha:1050,o:\"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 316 1214 l 734 1214 l 734 1071 l 316 1071 l 316 1214 \"},а:{x_min:58,x_max:694,ha:798,o:\"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 \"},Ğ:{x_min:81,x_max:895,ha:1006,o:\"m 502 557 l 895 557 l 895 42 q 815 18 855 29 q 732 1 775 8 q 642 -9 689 -5 q 542 -14 595 -14 q 345 18 431 -14 q 200 116 259 51 q 111 276 142 181 q 81 497 81 372 q 114 708 81 613 q 214 868 148 802 q 377 970 281 934 q 599 1006 474 1006 q 754 989 678 1006 q 893 944 830 972 l 823 776 q 719 815 777 799 q 597 831 661 831 q 473 806 528 831 q 378 738 418 782 q 318 632 339 694 q 297 492 297 569 q 311 358 297 419 q 357 253 326 298 q 438 185 388 209 q 555 160 487 160 q 631 165 600 160 q 689 174 662 169 l 689 382 l 502 382 l 502 557 m 782 1300 q 760 1207 778 1249 q 712 1135 743 1165 q 636 1087 680 1104 q 533 1071 591 1071 q 429 1087 473 1071 q 354 1133 384 1103 q 308 1205 324 1163 q 290 1300 292 1247 l 405 1300 q 417 1253 408 1270 q 443 1227 427 1236 q 482 1216 459 1218 q 534 1214 505 1214 q 581 1217 559 1214 q 620 1229 603 1220 q 649 1255 638 1238 q 663 1300 661 1272 l 782 1300 \"},v:{x_min:-.25,x_max:749.25,ha:749,o:\"m 268 0 l 0 758 l 216 758 l 341 326 q 361 245 353 287 q 372 170 370 204 l 376 170 q 387 247 378 206 q 407 326 395 287 l 532 758 l 749 758 l 480 0 l 268 0 \"},Ї:{x_min:37,x_max:502,ha:541,o:\"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 37 1182 q 44 1223 37 1206 q 64 1251 51 1240 q 94 1268 77 1263 q 131 1274 111 1274 q 168 1268 151 1274 q 198 1251 185 1263 q 219 1223 211 1240 q 227 1182 227 1206 q 219 1142 227 1159 q 198 1114 211 1125 q 168 1097 185 1102 q 131 1092 151 1092 q 94 1097 111 1092 q 64 1114 77 1102 q 44 1142 51 1125 q 37 1182 37 1159 m 310 1182 q 317 1223 310 1206 q 337 1251 324 1240 q 368 1268 350 1263 q 406 1274 385 1274 q 442 1268 425 1274 q 473 1251 459 1263 q 494 1223 486 1240 q 502 1182 502 1206 q 494 1142 502 1159 q 473 1114 486 1125 q 442 1097 459 1102 q 406 1092 425 1092 q 337 1114 365 1092 q 310 1182 310 1136 \"},û:{x_min:104,x_max:762,ha:871,o:\"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 571 842 q 499 894 536 864 q 426 960 461 923 q 354 894 389 923 q 284 842 319 864 l 147 842 l 147 860 q 186 905 164 879 q 229 958 207 931 q 271 1013 251 986 q 307 1064 292 1040 l 548 1064 q 583 1013 563 1040 q 625 958 603 986 q 669 905 647 931 q 709 860 692 879 l 709 842 l 571 842 \"},Ź:{x_min:33,x_max:716,ha:749,o:\"m 716 0 l 33 0 l 33 137 l 453 817 l 45 817 l 45 992 l 703 992 l 703 855 l 283 174 l 716 174 l 716 0 m 264 1071 l 264 1089 q 294 1134 278 1108 q 326 1187 310 1160 q 356 1242 342 1215 q 382 1293 371 1269 l 614 1293 l 614 1278 q 592 1250 606 1266 q 559 1214 578 1233 q 520 1175 541 1195 q 478 1136 499 1155 q 436 1100 456 1117 q 401 1071 417 1083 l 264 1071 \"},ˉ:{x_min:178,x_max:596,ha:774,o:\"m 178 985 l 596 985 l 596 842 l 178 842 l 178 985 \"},Ĺ:{x_min:125,x_max:696,ha:743,o:\"m 125 0 l 125 992 l 335 992 l 335 174 l 696 174 l 696 0 l 125 0 m 182 1071 l 182 1089 q 212 1134 196 1108 q 244 1187 228 1160 q 274 1242 260 1215 q 300 1293 289 1269 l 532 1293 l 532 1278 q 510 1250 524 1266 q 477 1214 496 1233 q 438 1175 459 1195 q 396 1136 417 1155 q 354 1100 374 1117 q 319 1071 335 1083 l 182 1071 \"},\"₤\":{x_min:56,x_max:739,ha:765,o:\"m 461 1006 q 596 989 535 1006 q 711 950 656 973 l 649 794 q 563 824 602 813 q 483 836 525 836 q 414 810 439 836 q 389 720 389 784 l 389 644 l 597 644 l 597 523 l 389 523 l 389 447 l 597 447 l 597 326 l 388 326 q 376 269 386 293 q 352 227 367 245 q 321 197 338 210 q 287 176 304 185 l 739 176 l 739 0 l 56 0 l 56 168 q 104 192 83 179 q 142 223 126 205 q 166 266 157 242 q 178 326 175 291 l 57 326 l 57 447 l 178 447 l 178 523 l 57 523 l 57 644 l 178 644 l 178 722 q 199 852 178 798 q 258 940 220 906 q 347 990 295 974 q 461 1006 399 1006 \"},Č:{x_min:81,x_max:836.296875,ha:885,o:\"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 m 808 1274 q 768 1229 791 1255 q 724 1176 746 1203 q 682 1121 702 1148 q 647 1071 662 1094 l 406 1071 q 370 1121 391 1094 q 328 1176 350 1148 q 285 1229 306 1203 q 246 1274 263 1255 l 246 1293 l 383 1293 q 453 1240 418 1270 q 525 1174 488 1211 q 598 1240 560 1211 q 670 1293 635 1270 l 808 1293 l 808 1274 \"},x:{x_min:6.75,x_max:754.25,ha:761,o:\"m 263 387 l 19 758 l 254 758 l 380 530 l 508 758 l 743 758 l 495 387 l 754 0 l 519 0 l 380 245 l 241 0 l 6 0 l 263 387 \"},è:{x_min:69,x_max:741,ha:807,o:\"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 392 842 q 337 889 369 860 q 273 946 304 917 q 216 1004 242 976 q 180 1049 190 1031 l 180 1064 l 411 1064 q 437 1013 422 1040 q 467 958 451 986 q 499 905 483 931 q 530 860 515 879 l 530 842 l 392 842 \"},Ń:{x_min:125,x_max:963,ha:1088,o:\"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 m 417 1071 l 417 1089 q 447 1134 431 1108 q 479 1187 463 1160 q 509 1242 495 1215 q 535 1293 524 1269 l 767 1293 l 767 1278 q 745 1250 759 1266 q 712 1214 731 1233 q 673 1175 694 1195 q 631 1136 652 1155 q 589 1100 609 1117 q 554 1071 570 1083 l 417 1071 \"},ḿ:{x_min:109,x_max:1204,ha:1308,o:\"m 759 0 l 553 0 l 553 442 q 528 565 553 524 q 452 606 504 606 q 386 590 412 606 q 344 542 360 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 345 711 322 690 q 395 746 368 732 q 452 766 422 760 q 514 773 483 773 q 646 746 592 773 q 730 661 701 719 l 747 661 q 786 711 763 690 q 837 746 809 732 q 896 766 865 760 q 958 773 927 773 q 1142 706 1080 773 q 1204 494 1204 640 l 1204 0 l 997 0 l 997 442 q 972 565 997 524 q 896 606 948 606 q 791 548 822 606 q 759 380 759 489 l 759 0 m 546 842 l 546 860 q 576 905 560 879 q 608 958 592 931 q 638 1013 624 986 q 664 1064 653 1040 l 896 1064 l 896 1049 q 874 1021 888 1037 q 841 985 860 1004 q 802 946 823 966 q 760 907 781 926 q 718 871 738 888 q 683 842 699 854 l 546 842 \"},μ:{x_min:109,x_max:766,ha:875,o:\"m 315 315 q 341 193 315 234 q 421 152 366 152 q 486 168 460 152 q 529 216 513 184 q 552 295 545 248 q 559 401 559 341 l 559 758 l 766 758 l 766 0 l 607 0 l 578 102 l 570 102 q 511 15 547 44 q 425 -14 476 -14 q 358 1 388 -14 q 309 47 328 17 q 312 -10 310 18 q 314 -64 313 -35 q 315 -117 315 -92 l 315 -334 l 109 -334 l 109 758 l 315 758 l 315 315 \"},\".\":{x_min:79,x_max:316,ha:396,o:\"m 79 97 q 88 151 79 129 q 113 187 97 173 q 151 206 129 200 q 198 213 173 213 q 243 206 221 213 q 280 187 264 200 q 306 151 297 173 q 316 97 316 129 q 306 45 316 66 q 280 9 297 23 q 243 -11 264 -5 q 198 -18 221 -18 q 151 -11 173 -18 q 113 9 129 -5 q 88 45 97 23 q 79 97 79 66 \"},\"‘\":{x_min:16,x_max:284,ha:298,o:\"m 25 652 l 16 666 q 38 744 25 703 q 67 828 51 786 q 100 912 83 870 q 135 992 118 954 l 284 992 q 263 905 273 950 q 244 816 254 861 q 228 730 235 772 q 215 652 220 687 l 25 652 \"},π:{x_min:17,x_max:936,ha:985,o:\"m 840 148 q 886 154 864 148 q 928 171 908 160 l 928 23 q 899 9 915 15 q 862 -2 882 2 q 821 -10 842 -7 q 778 -14 799 -14 q 691 -1 730 -14 q 625 38 652 11 q 584 108 599 65 q 570 209 570 150 l 570 604 l 381 604 l 381 0 l 175 0 l 175 604 l 17 604 l 17 690 l 137 758 l 936 758 l 936 604 l 776 604 l 776 216 q 795 164 776 181 q 840 148 813 148 \"},l:{x_min:109,x_max:315.859375,ha:424,o:\"m 315 0 l 109 0 l 109 1055 l 315 1055 l 315 0 \"},Ъ:{x_min:28,x_max:920,ha:982,o:\"m 920 310 q 897 179 920 237 q 829 81 875 121 q 711 21 782 42 q 542 0 640 0 l 277 0 l 277 817 l 28 817 l 28 992 l 487 992 l 487 613 l 560 613 q 720 590 653 613 q 832 527 788 568 q 898 432 877 487 q 920 310 920 376 m 487 174 l 544 174 q 613 182 583 174 q 665 205 644 189 q 698 247 687 221 q 709 310 709 273 q 697 374 709 349 q 661 413 685 399 q 605 432 638 427 q 530 438 572 438 l 487 438 l 487 174 \"},\" \":{x_min:0,x_max:0,ha:139},Ś:{x_min:63.46875,x_max:668,ha:728,o:\"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 m 278 1071 l 278 1089 q 308 1134 292 1108 q 340 1187 324 1160 q 370 1242 356 1215 q 396 1293 385 1269 l 628 1293 l 628 1278 q 606 1250 620 1266 q 573 1214 592 1233 q 534 1175 555 1195 q 492 1136 513 1155 q 450 1100 470 1117 q 415 1071 431 1083 l 278 1071 \"},Ü:{x_min:118,x_max:876,ha:994,o:\"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 267 1182 q 274 1223 267 1206 q 294 1251 281 1240 q 324 1268 307 1263 q 361 1274 341 1274 q 398 1268 381 1274 q 428 1251 415 1263 q 449 1223 441 1240 q 457 1182 457 1206 q 449 1142 457 1159 q 428 1114 441 1125 q 398 1097 415 1102 q 361 1092 381 1092 q 324 1097 341 1092 q 294 1114 307 1102 q 274 1142 281 1125 q 267 1182 267 1159 m 540 1182 q 547 1223 540 1206 q 567 1251 554 1240 q 598 1268 580 1263 q 636 1274 615 1274 q 672 1268 655 1274 q 703 1251 689 1263 q 724 1223 716 1240 q 732 1182 732 1206 q 724 1142 732 1159 q 703 1114 716 1125 q 672 1097 689 1102 q 636 1092 655 1092 q 567 1114 595 1092 q 540 1182 540 1136 \"},à:{x_min:58,x_max:694,ha:798,o:\"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 375 842 q 320 889 352 860 q 256 946 287 917 q 199 1004 225 976 q 163 1049 173 1031 l 163 1064 l 394 1064 q 420 1013 405 1040 q 450 958 434 986 q 482 905 466 931 q 513 860 498 879 l 513 842 l 375 842 \"},η:{x_min:109,x_max:767,ha:871,o:\"m 560 -334 l 560 438 q 534 564 560 522 q 454 606 509 606 q 388 590 415 606 q 345 542 362 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 345 710 322 689 q 395 745 368 732 q 452 766 422 759 q 515 773 483 773 q 704 702 642 773 q 767 487 767 632 l 767 -334 l 560 -334 \"},ó:{x_min:69,x_max:762,ha:832,o:\"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 294 842 l 294 860 q 324 905 308 879 q 356 958 340 931 q 386 1013 372 986 q 412 1064 401 1040 l 644 1064 l 644 1049 q 622 1021 636 1037 q 589 985 608 1004 q 550 946 571 966 q 508 907 529 926 q 466 871 486 888 q 431 842 447 854 l 294 842 \"},\"¦\":{x_min:309,x_max:457.53125,ha:765,o:\"m 309 1051 l 457 1051 l 457 499 l 309 499 l 309 1051 m 309 238 l 457 238 l 457 -315 l 309 -315 l 309 238 \"},Ő:{x_min:81,x_max:970,ha:1050,o:\"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 310 1071 l 310 1089 q 340 1134 324 1108 q 372 1187 356 1160 q 402 1242 388 1215 q 427 1293 417 1269 l 632 1293 l 632 1278 q 610 1250 624 1266 q 577 1214 596 1233 q 538 1175 559 1195 q 495 1136 516 1155 q 454 1100 474 1117 q 419 1071 434 1083 l 310 1071 m 579 1071 l 579 1089 q 609 1134 593 1108 q 641 1187 625 1160 q 671 1242 657 1215 q 696 1293 686 1269 l 901 1293 l 901 1278 q 879 1250 893 1266 q 846 1214 865 1233 q 807 1175 828 1195 q 765 1136 786 1155 q 724 1100 743 1117 q 688 1071 704 1083 l 579 1071 \"},Ž:{x_min:33,x_max:716,ha:749,o:\"m 716 0 l 33 0 l 33 137 l 453 817 l 45 817 l 45 992 l 703 992 l 703 855 l 283 174 l 716 174 l 716 0 m 645 1274 q 605 1229 628 1255 q 561 1176 583 1203 q 519 1121 539 1148 q 484 1071 499 1094 l 243 1071 q 207 1121 228 1094 q 165 1176 187 1148 q 122 1229 143 1203 q 83 1274 100 1255 l 83 1293 l 220 1293 q 290 1240 255 1270 q 362 1174 325 1211 q 435 1240 397 1211 q 507 1293 472 1270 l 645 1293 l 645 1274 \"},е:{x_min:69,x_max:741,ha:807,o:\"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 \"},Î:{x_min:-11,x_max:551,ha:541,o:\"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 413 1071 q 341 1123 378 1093 q 268 1189 303 1152 q 196 1123 231 1152 q 126 1071 161 1093 l -11 1071 l -11 1089 q 28 1134 6 1108 q 71 1187 49 1160 q 113 1242 93 1215 q 149 1293 134 1269 l 390 1293 q 425 1242 405 1269 q 467 1187 445 1215 q 511 1134 489 1160 q 551 1089 534 1108 l 551 1071 l 413 1071 \"},e:{x_min:69,x_max:741,ha:807,o:\"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 \"},ό:{x_min:69,x_max:762,ha:832,o:\"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 343 860 q 355 906 349 880 q 366 960 361 932 q 377 1014 372 987 q 384 1064 381 1041 l 576 1064 l 576 1049 q 527 950 555 1003 q 463 842 499 897 l 343 842 l 343 860 \"},Ĕ:{x_min:125,x_max:696,ha:778,o:\"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 658 1300 q 636 1207 654 1249 q 588 1135 619 1165 q 512 1087 556 1104 q 409 1071 467 1071 q 305 1087 349 1071 q 230 1133 260 1103 q 184 1205 200 1163 q 166 1300 168 1247 l 281 1300 q 293 1253 284 1270 q 319 1227 303 1236 q 358 1216 335 1218 q 410 1214 381 1214 q 457 1217 435 1214 q 496 1229 479 1220 q 525 1255 514 1238 q 539 1300 537 1272 l 658 1300 \"},ļ:{x_min:82,x_max:315.859375,ha:424,o:\"m 315 0 l 109 0 l 109 1055 l 315 1055 l 315 0 m 82 -288 q 94 -242 88 -268 q 105 -188 100 -216 q 116 -134 111 -161 q 123 -85 121 -107 l 315 -85 l 315 -98 q 266 -198 294 -145 q 202 -307 238 -251 l 82 -307 l 82 -288 \"},\" \":{x_min:0,x_max:0,ha:695},Ѓ:{x_min:125,x_max:696,ha:724,o:\"m 696 992 l 696 817 l 335 817 l 335 0 l 125 0 l 125 992 l 696 992 m 288 1071 l 288 1089 q 318 1134 302 1108 q 350 1187 334 1160 q 380 1242 366 1215 q 406 1293 395 1269 l 638 1293 l 638 1278 q 616 1250 630 1266 q 583 1214 602 1233 q 544 1175 565 1195 q 502 1136 523 1155 q 460 1100 480 1117 q 425 1071 441 1083 l 288 1071 \"},ò:{x_min:69,x_max:762,ha:832,o:\"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 396 842 q 341 889 373 860 q 277 946 308 917 q 220 1004 246 976 q 184 1049 194 1031 l 184 1064 l 415 1064 q 441 1013 426 1040 q 471 958 455 986 q 503 905 487 931 q 534 860 519 879 l 534 842 l 396 842 \"},ffl:{x_min:28,x_max:1389.859375,ha:1498,o:\"m 503 604 l 348 604 l 348 0 l 142 0 l 142 604 l 28 604 l 28 703 l 142 758 l 142 813 q 159 934 142 886 q 209 1010 177 982 q 288 1051 242 1039 q 392 1063 334 1063 q 497 1053 454 1063 q 570 1030 540 1043 l 521 877 q 477 890 500 884 q 422 896 454 896 q 365 871 382 896 q 348 804 348 845 l 348 758 l 503 758 l 503 604 m 1041 604 l 886 604 l 886 0 l 680 0 l 680 604 l 566 604 l 566 703 l 680 758 l 680 813 q 697 934 680 886 q 747 1010 715 982 q 826 1051 780 1039 q 930 1063 872 1063 q 1035 1053 992 1063 q 1108 1030 1078 1043 l 1059 877 q 1015 890 1038 884 q 960 896 992 896 q 903 871 920 896 q 886 804 886 845 l 886 758 l 1041 758 l 1041 604 m 1389 0 l 1183 0 l 1183 1055 l 1389 1055 l 1389 0 \"},\"^\":{x_min:5,x_max:736,ha:739,o:\"m 5 353 l 302 997 l 399 997 l 736 353 l 573 353 l 355 788 q 259 569 308 679 q 165 353 211 458 l 5 353 \"},ⁿ:{x_min:69,x_max:500,ha:560,o:\"m 363 518 l 363 792 q 346 865 363 843 q 296 887 329 887 q 256 880 273 887 q 227 857 238 874 q 211 813 216 841 q 206 744 206 785 l 206 518 l 69 518 l 69 992 l 180 992 l 199 937 l 207 937 q 262 986 230 970 q 341 1003 295 1003 q 500 833 500 1003 l 500 518 l 363 518 \"},к:{x_min:109,x_max:818.25,ha:818,o:\"m 563 758 l 791 758 l 522 394 l 818 0 l 583 0 l 315 384 l 315 0 l 109 0 l 109 758 l 315 758 l 315 389 l 563 758 \"},\"\":{x_min:57,x_max:1346,ha:1389,o:\"m 57 823 l 57 1030 l 262 1030 l 262 954 l 132 954 l 132 823 l 57 823 m 1139 954 l 1139 1030 l 1346 1030 l 1346 823 l 1272 823 l 1272 954 l 1139 954 m 57 -260 l 57 -54 l 132 -54 l 132 -186 l 262 -186 l 262 -260 l 57 -260 m 1139 -260 l 1139 -186 l 1272 -186 l 1272 -54 l 1346 -54 l 1346 -260 l 1139 -260 m 875 -260 l 875 -186 l 1060 -186 l 1060 -260 l 875 -260 m 345 -260 l 345 -186 l 528 -186 l 528 -260 l 345 -260 m 345 954 l 345 1030 l 528 1030 l 528 954 l 345 954 m 1346 26 l 1272 26 l 1272 210 l 1346 210 l 1346 26 m 1346 558 l 1272 558 l 1272 742 l 1346 742 l 1346 558 m 610 -260 l 610 -186 l 794 -186 l 794 -260 l 610 -260 m 132 26 l 57 26 l 57 210 l 132 210 l 132 26 m 610 954 l 610 1030 l 794 1030 l 794 954 l 610 954 m 875 954 l 875 1030 l 1060 1030 l 1060 954 l 875 954 m 132 291 l 57 291 l 57 476 l 132 476 l 132 291 m 132 558 l 57 558 l 57 742 l 132 742 l 132 558 m 1346 291 l 1272 291 l 1272 476 l 1346 476 l 1346 291 m 408 224 q 276 277 322 224 q 231 427 231 331 q 276 577 231 525 q 408 631 322 630 q 540 578 494 631 q 586 427 586 525 q 540 277 586 331 q 408 224 494 224 m 408 294 q 478 329 457 294 q 499 427 499 364 q 478 525 499 490 q 408 559 457 559 q 339 525 361 559 q 317 427 317 490 q 339 329 317 364 q 408 294 361 294 m 643 626 l 759 626 q 871 603 833 626 q 909 524 909 580 q 893 468 909 491 q 847 439 878 445 l 847 437 q 903 406 886 429 q 921 344 921 383 q 884 259 921 289 q 783 229 847 229 l 643 229 l 643 626 m 726 469 l 770 469 q 814 480 801 469 q 826 513 826 491 q 812 546 826 536 q 766 556 798 556 l 726 556 l 726 469 m 726 402 l 726 298 l 776 298 q 822 312 809 298 q 834 352 834 327 q 821 388 834 374 q 773 402 809 402 l 726 402 m 956 231 l 956 300 q 978 297 967 298 q 1002 295 989 295 q 1044 307 1028 295 q 1061 353 1061 319 l 1061 626 l 1146 626 l 1146 356 q 1110 258 1146 292 q 1011 225 1075 225 q 956 231 969 225 \"},ū:{x_min:104,x_max:762,ha:871,o:\"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 224 985 l 642 985 l 642 842 l 224 842 l 224 985 \"},ˆ:{x_min:119,x_max:681,ha:802,o:\"m 543 842 q 471 894 508 864 q 398 960 433 923 q 326 894 361 923 q 256 842 291 864 l 119 842 l 119 860 q 158 905 136 879 q 201 958 179 931 q 243 1013 223 986 q 279 1064 264 1040 l 520 1064 q 555 1013 535 1040 q 597 958 575 986 q 641 905 619 931 q 681 860 664 879 l 681 842 l 543 842 \"},Ẅ:{x_min:-.25,x_max:1287.25,ha:1287,o:\"m 1048 0 l 809 0 l 687 489 q 681 517 684 499 q 672 559 677 536 q 663 607 667 582 q 654 656 658 632 q 647 700 650 679 q 642 732 644 720 q 638 700 641 720 q 631 656 635 679 q 622 608 627 633 q 613 559 618 582 q 605 517 609 536 q 598 487 601 498 l 477 0 l 238 0 l 0 992 l 206 992 l 319 450 q 325 418 321 439 q 333 372 328 398 q 343 318 338 346 q 353 262 348 289 q 361 211 357 235 q 368 173 366 188 q 373 211 370 188 q 381 260 377 234 q 390 314 385 286 q 399 366 395 342 q 407 409 404 390 q 413 436 411 428 l 551 992 l 735 992 l 873 436 q 879 409 875 428 q 887 366 882 390 q 896 314 891 342 q 905 260 901 286 q 913 211 910 234 q 919 173 917 188 q 925 211 921 188 q 933 262 929 235 q 943 318 938 289 q 953 372 948 346 q 962 418 958 398 q 967 450 965 439 l 1080 992 l 1287 992 l 1048 0 m 410 1182 q 417 1223 410 1206 q 437 1251 424 1240 q 467 1268 450 1263 q 504 1274 484 1274 q 541 1268 524 1274 q 571 1251 558 1263 q 592 1223 584 1240 q 600 1182 600 1206 q 592 1142 600 1159 q 571 1114 584 1125 q 541 1097 558 1102 q 504 1092 524 1092 q 467 1097 484 1092 q 437 1114 450 1102 q 417 1142 424 1125 q 410 1182 410 1159 m 683 1182 q 690 1223 683 1206 q 710 1251 697 1240 q 741 1268 723 1263 q 779 1274 758 1274 q 815 1268 798 1274 q 846 1251 832 1263 q 867 1223 859 1240 q 875 1182 875 1206 q 867 1142 875 1159 q 846 1114 859 1125 q 815 1097 832 1102 q 779 1092 798 1092 q 710 1114 738 1092 q 683 1182 683 1136 \"},č:{x_min:69,x_max:687,ha:693,o:\"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 m 687 1045 q 647 1000 670 1026 q 603 947 625 974 q 561 892 581 919 q 526 842 541 865 l 285 842 q 249 892 270 865 q 207 947 229 919 q 164 1000 185 974 q 125 1045 142 1026 l 125 1064 l 262 1064 q 332 1011 297 1041 q 404 945 367 982 q 477 1011 439 982 q 549 1064 514 1041 l 687 1064 l 687 1045 \"},\"’\":{x_min:16,x_max:284,ha:298,o:\"m 273 992 l 284 977 q 261 898 274 939 q 232 815 248 857 q 198 731 216 772 q 164 652 181 690 l 16 652 q 35 737 25 692 q 54 827 45 782 q 71 913 63 871 q 83 992 78 956 l 273 992 \"},Ν:{x_min:125,x_max:963,ha:1088,o:\"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 \"},\"-\":{x_min:41,x_max:406,ha:447,o:\"m 41 287 l 41 457 l 406 457 l 406 287 l 41 287 \"},Q:{x_min:81,x_max:999.25,ha:1050,o:\"m 970 496 q 956 345 970 416 q 916 215 943 274 q 849 112 889 157 q 754 36 809 66 l 999 -236 l 729 -236 l 547 -12 q 538 -13 542 -12 q 531 -14 535 -14 q 525 -14 527 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 \"},ј:{x_min:-56,x_max:324.5,ha:424,o:\"m 68 -334 q 1 -329 36 -334 q -56 -317 -32 -324 l -56 -154 q -16 -164 -34 -161 q 24 -167 1 -167 q 56 -162 41 -167 q 83 -144 72 -157 q 101 -109 94 -131 q 108 -52 108 -87 l 108 758 l 315 758 l 315 -82 q 301 -180 315 -134 q 259 -260 288 -226 q 182 -314 229 -294 q 68 -334 135 -334 m 99 953 q 108 1002 99 983 q 132 1033 116 1021 q 168 1050 147 1045 q 211 1055 188 1055 q 255 1050 234 1055 q 290 1033 275 1045 q 315 1002 306 1021 q 324 953 324 983 q 315 905 324 925 q 290 874 306 885 q 255 857 275 862 q 211 852 234 852 q 168 857 188 852 q 132 874 147 862 q 108 905 116 885 q 99 953 99 925 \"},ě:{x_min:69,x_max:741,ha:807,o:\"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 698 1045 q 658 1000 681 1026 q 614 947 636 974 q 572 892 592 919 q 537 842 552 865 l 296 842 q 260 892 281 865 q 218 947 240 919 q 175 1000 196 974 q 136 1045 153 1026 l 136 1064 l 273 1064 q 343 1011 308 1041 q 415 945 378 982 q 488 1011 450 982 q 560 1064 525 1041 l 698 1064 l 698 1045 \"},œ:{x_min:69,x_max:1222,ha:1289,o:\"m 922 -14 q 774 11 842 -14 q 657 90 706 36 q 551 11 612 37 q 413 -14 489 -14 q 274 12 337 -14 q 166 88 211 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 335 773 q 548 746 488 773 q 653 667 608 719 q 759 746 698 720 q 895 773 821 773 q 1031 750 970 773 q 1134 683 1092 727 q 1199 574 1176 639 q 1222 427 1222 510 l 1222 327 l 757 327 l 757 321 q 808 187 761 235 q 936 139 854 139 q 1001 143 970 139 q 1062 154 1032 146 q 1120 172 1091 161 q 1179 198 1149 184 l 1179 39 q 1124 15 1151 25 q 1066 -1 1096 5 q 1000 -10 1035 -7 q 922 -14 965 -14 m 280 380 q 312 209 280 267 q 416 152 344 152 q 519 210 487 152 q 551 380 551 267 q 519 550 551 494 q 414 606 487 606 q 312 550 343 606 q 280 380 280 494 m 896 625 q 844 616 868 625 q 803 586 821 606 q 775 536 786 567 q 761 465 764 506 l 1027 465 q 1018 529 1026 499 q 993 579 1010 558 q 953 613 977 601 q 896 625 928 625 \"},\"#\":{x_min:31,x_max:867,ha:897,o:\"m 677 574 l 645 414 l 821 414 l 821 275 l 619 275 l 567 0 l 417 0 l 470 275 l 339 275 l 287 0 l 142 0 l 192 275 l 31 275 l 31 414 l 218 414 l 250 574 l 80 574 l 80 714 l 275 714 l 328 990 l 476 990 l 424 714 l 558 714 l 611 990 l 757 990 l 704 714 l 867 714 l 867 574 l 677 574 m 365 414 l 498 414 l 530 574 l 397 574 l 365 414 \"},Џ:{x_min:125,x_max:854,ha:979,o:\"m 854 0 l 593 0 l 593 -289 l 388 -289 l 388 0 l 125 0 l 125 992 l 335 992 l 335 174 l 643 174 l 643 992 l 854 992 l 854 0 \"},Å:{x_min:-.25,x_max:903.25,ha:903,o:\"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 622 1062 q 608 994 622 1024 q 572 943 595 964 q 517 911 548 922 q 449 900 486 900 q 381 911 412 900 q 328 943 350 922 q 294 993 306 963 q 282 1061 282 1024 q 294 1128 282 1098 q 328 1178 306 1158 q 381 1210 350 1199 q 449 1222 412 1222 q 517 1210 485 1222 q 571 1178 548 1199 q 608 1128 594 1158 q 622 1062 622 1099 m 516 1061 q 498 1109 516 1091 q 452 1126 480 1126 q 405 1109 423 1126 q 387 1061 387 1091 q 403 1013 387 1030 q 452 995 419 995 q 498 1013 480 995 q 516 1061 516 1030 \"},ș:{x_min:66,x_max:614,ha:668,o:\"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 m 218 -288 q 230 -242 224 -268 q 241 -188 236 -216 q 252 -134 247 -161 q 259 -85 257 -107 l 451 -85 l 451 -98 q 402 -198 430 -145 q 338 -307 374 -251 l 218 -307 l 218 -288 \"},\"¸\":{x_min:-25,x_max:284,ha:285,o:\"m 284 -169 q 273 -239 284 -208 q 238 -290 262 -269 q 173 -322 214 -311 q 74 -334 133 -334 q 19 -329 43 -334 q -25 -319 -5 -325 l -25 -205 q -2 -210 -14 -208 q 23 -215 10 -213 q 49 -218 36 -217 q 72 -220 62 -220 q 106 -210 91 -220 q 121 -178 121 -201 q 96 -133 121 -153 q 8 -105 70 -114 l 61 0 l 192 0 l 173 -41 q 214 -59 194 -48 q 249 -87 234 -71 q 274 -124 264 -103 q 284 -169 284 -144 \"},\"=\":{x_min:60,x_max:705,ha:765,o:\"m 60 546 l 60 695 l 705 695 l 705 546 l 60 546 m 60 284 l 60 433 l 705 433 l 705 284 l 60 284 \"},ρ:{x_min:82,x_max:754,ha:823,o:\"m 754 379 q 733 211 754 284 q 676 88 713 138 q 584 12 638 38 q 464 -14 530 -14 q 369 0 415 -14 q 288 38 323 15 l 278 38 q 283 -22 280 9 q 287 -80 285 -48 q 288 -143 288 -112 l 288 -334 l 82 -334 l 82 380 q 106 547 82 474 q 174 670 130 620 q 281 746 218 720 q 422 773 344 773 q 554 746 494 773 q 660 670 615 720 q 729 546 704 619 q 754 379 754 472 m 417 606 q 360 594 384 606 q 320 556 336 582 q 296 489 304 529 q 288 390 288 448 l 288 210 q 347 166 314 181 q 417 152 381 152 q 474 165 450 152 q 513 205 497 178 q 535 276 528 233 q 542 379 542 318 q 535 483 542 440 q 513 554 528 526 q 474 594 497 581 q 417 606 450 606 \"},Ћ:{x_min:28,x_max:989,ha:1063,o:\"m 778 0 l 778 348 q 755 432 778 408 q 677 457 731 457 l 487 457 l 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 728 992 l 728 817 l 487 817 l 487 632 l 692 632 q 817 614 762 632 q 910 561 872 596 q 969 477 949 526 q 989 364 989 427 l 989 0 l 778 0 \"},ú:{x_min:104,x_max:762,ha:871,o:\"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 313 842 l 313 860 q 343 905 327 879 q 375 958 359 931 q 405 1013 391 986 q 431 1064 420 1040 l 663 1064 l 663 1049 q 641 1021 655 1037 q 608 985 627 1004 q 569 946 590 966 q 527 907 548 926 q 485 871 505 888 q 450 842 466 854 l 313 842 \"},\"˚\":{x_min:231,x_max:571,ha:802,o:\"m 571 1002 q 557 934 571 964 q 521 883 544 904 q 466 851 497 862 q 398 840 435 840 q 330 851 361 840 q 277 883 299 862 q 243 933 255 903 q 231 1001 231 964 q 243 1068 231 1038 q 277 1118 255 1098 q 330 1150 299 1139 q 398 1162 361 1162 q 466 1150 434 1162 q 520 1118 497 1139 q 557 1068 543 1098 q 571 1002 571 1039 m 465 1001 q 447 1049 465 1031 q 401 1066 429 1066 q 354 1049 372 1066 q 336 1001 336 1031 q 352 953 336 970 q 401 935 368 935 q 447 953 429 935 q 465 1001 465 970 \"},д:{x_min:20,x_max:860,ha:879,o:\"m 542 153 l 542 604 l 428 604 q 382 365 411 478 q 300 153 352 252 l 542 153 m 860 -272 l 681 -272 l 681 0 l 198 0 l 198 -272 l 20 -272 l 20 153 l 83 153 q 150 280 121 210 q 199 428 178 350 q 233 589 220 505 q 255 758 247 673 l 749 758 l 749 153 l 860 153 l 860 -272 \"},\"¯\":{x_min:-4,x_max:699,ha:695,o:\"m 699 1056 l -4 1056 l -4 1192 l 699 1192 l 699 1056 \"},u:{x_min:104,x_max:762,ha:871,o:\"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 \"},З:{x_min:63.859375,x_max:784,ha:844,o:\"m 753 759 q 735 668 753 709 q 687 598 718 628 q 614 548 656 568 q 521 521 572 529 l 521 517 q 632 491 583 510 q 715 441 681 471 q 766 371 748 411 q 784 281 784 331 q 758 162 784 216 q 684 68 733 108 q 562 7 634 29 q 395 -14 490 -14 q 210 0 290 -14 q 72 39 130 13 l 72 215 q 136 188 101 200 q 208 169 171 177 q 281 157 245 161 q 349 152 318 152 q 520 190 467 152 q 573 296 573 227 q 554 357 573 332 q 499 399 535 382 q 413 423 464 415 q 300 431 363 431 l 220 431 l 220 598 l 290 598 q 415 606 366 598 q 494 632 465 615 q 535 672 523 649 q 547 727 547 696 q 507 808 547 778 q 390 839 467 839 q 264 816 322 839 q 154 757 206 794 l 63 897 q 136 942 99 922 q 217 976 174 962 q 311 998 260 991 q 424 1006 363 1006 q 563 987 501 1006 q 666 936 624 969 q 730 858 708 903 q 753 759 753 813 \"},Α:{x_min:-.25,x_max:903.25,ha:903,o:\"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 \"},\"⅝\":{x_min:61,x_max:1183,ha:1224,o:\"m 273 789 q 358 776 319 789 q 426 739 397 764 q 472 679 455 715 q 489 597 489 644 q 424 441 489 496 q 236 386 360 386 q 141 394 187 386 q 61 421 94 403 l 61 551 q 98 538 78 544 q 140 528 119 532 q 183 521 162 523 q 223 518 205 518 q 309 538 276 518 q 341 604 341 558 q 311 666 341 645 q 226 687 281 687 q 185 683 209 687 q 145 675 162 680 l 71 703 l 96 992 l 448 992 l 448 859 l 207 859 l 196 783 q 230 787 210 785 q 273 789 249 789 m 960 992 l 409 0 l 247 0 l 798 992 l 960 992 m 951 607 q 1033 597 995 607 q 1100 569 1071 588 q 1144 523 1128 551 q 1161 458 1161 495 q 1153 413 1161 434 q 1132 376 1146 393 q 1102 347 1119 360 q 1064 323 1084 334 q 1108 295 1087 309 q 1146 263 1129 281 q 1172 221 1162 244 q 1183 169 1183 198 q 1166 95 1183 129 q 1119 36 1149 61 q 1046 -2 1088 11 q 951 -16 1003 -16 q 851 -2 894 -16 q 778 34 808 10 q 734 92 749 58 q 719 165 719 126 q 727 218 719 195 q 751 259 736 241 q 785 291 765 277 q 825 317 804 305 q 792 345 807 330 q 764 376 776 359 q 746 414 752 393 q 740 458 740 434 q 756 523 740 495 q 802 569 773 550 q 869 597 831 587 q 951 607 908 607 m 866 169 q 887 114 866 135 q 949 92 908 92 q 1013 114 991 92 q 1035 169 1035 135 q 1012 223 1035 201 q 948 261 989 246 l 939 264 q 885 226 904 248 q 866 169 866 203 m 949 498 q 903 482 919 498 q 887 447 887 467 q 906 403 887 420 q 951 373 924 387 q 975 386 964 379 q 995 402 987 393 q 1008 422 1003 411 q 1013 447 1013 433 q 998 482 1013 467 q 949 498 983 498 \"},é:{x_min:69,x_max:741,ha:807,o:\"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 304 842 l 304 860 q 334 905 318 879 q 366 958 350 931 q 396 1013 382 986 q 422 1064 411 1040 l 654 1064 l 654 1049 q 632 1021 646 1037 q 599 985 618 1004 q 560 946 581 966 q 518 907 539 926 q 476 871 496 888 q 441 842 457 854 l 304 842 \"},Ş:{x_min:63.46875,x_max:668,ha:728,o:\"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 m 510 -169 q 499 -239 510 -208 q 464 -290 488 -269 q 399 -322 440 -311 q 300 -334 359 -334 q 245 -329 269 -334 q 201 -319 220 -325 l 201 -205 q 223 -210 211 -208 q 249 -215 236 -213 q 275 -218 262 -217 q 298 -220 288 -220 q 332 -210 317 -220 q 347 -178 347 -201 q 322 -133 347 -153 q 234 -105 296 -114 l 287 0 l 418 0 l 399 -41 q 440 -59 420 -48 q 475 -87 460 -71 q 500 -124 490 -103 q 510 -169 510 -144 \"},B:{x_min:125,x_max:818,ha:892,o:\"m 125 992 l 415 992 q 579 978 508 992 q 697 936 649 965 q 768 858 744 906 q 793 740 793 810 q 782 662 793 698 q 752 597 772 625 q 705 551 733 569 q 640 526 677 532 l 640 519 q 709 496 677 511 q 766 454 742 480 q 804 386 790 427 q 818 287 818 345 q 794 166 818 219 q 726 76 770 113 q 618 19 681 39 q 474 0 554 0 l 125 0 l 125 992 m 335 599 l 444 599 q 509 606 483 599 q 552 627 536 613 q 575 662 568 641 q 582 711 582 683 q 547 792 582 768 q 434 817 511 817 l 335 817 l 335 599 m 335 432 l 335 174 l 459 174 q 529 184 501 174 q 575 211 557 193 q 600 253 592 228 q 607 309 607 278 q 600 359 607 336 q 574 398 592 382 q 527 423 556 414 q 454 432 497 432 l 335 432 \"},\"…\":{x_min:79,x_max:1109,ha:1188,o:\"m 79 97 q 88 151 79 129 q 113 187 97 173 q 151 206 129 200 q 198 213 173 213 q 243 206 221 213 q 280 187 264 200 q 306 151 297 173 q 316 97 316 129 q 306 45 316 66 q 280 9 297 23 q 243 -11 264 -5 q 198 -18 221 -18 q 151 -11 173 -18 q 113 9 129 -5 q 88 45 97 23 q 79 97 79 66 m 475 97 q 484 151 475 129 q 509 187 493 173 q 547 206 525 200 q 595 213 569 213 q 640 206 618 213 q 677 187 661 200 q 703 151 694 173 q 713 97 713 129 q 703 45 713 66 q 677 9 694 23 q 640 -11 661 -5 q 595 -18 618 -18 q 547 -11 569 -18 q 509 9 525 -5 q 484 45 493 23 q 475 97 475 66 m 872 97 q 881 151 872 129 q 906 187 890 173 q 944 206 922 200 q 991 213 966 213 q 1036 206 1014 213 q 1073 187 1057 200 q 1099 151 1090 173 q 1109 97 1109 129 q 1099 45 1109 66 q 1073 9 1090 23 q 1036 -11 1057 -5 q 991 -18 1014 -18 q 944 -11 966 -18 q 906 9 922 -5 q 881 45 890 23 q 872 97 872 66 \"},H:{x_min:125,x_max:882,ha:1007,o:\"m 882 0 l 671 0 l 671 428 l 335 428 l 335 0 l 125 0 l 125 992 l 335 992 l 335 603 l 671 603 l 671 992 l 882 992 l 882 0 \"},î:{x_min:-70,x_max:492,ha:424,o:\"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 354 842 q 282 894 319 864 q 209 960 244 923 q 137 894 172 923 q 67 842 102 864 l -70 842 l -70 860 q -30 905 -52 879 q 12 958 -9 931 q 54 1013 34 986 q 90 1064 75 1040 l 331 1064 q 366 1013 346 1040 q 408 958 386 986 q 452 905 430 931 q 492 860 475 879 l 492 842 l 354 842 \"},ν:{x_min:3.75,x_max:731,ha:785,o:\"m 3 758 l 216 758 l 345 337 q 356 301 350 322 q 367 258 362 280 q 378 217 373 237 q 387 183 384 197 l 393 183 q 453 294 428 235 q 494 423 478 353 q 516 576 509 493 q 524 758 524 659 l 731 758 q 718 545 731 645 q 674 353 705 446 q 589 174 642 261 q 454 0 536 87 l 268 0 l 3 758 \"},Ό:{x_min:-39,x_max:1026,ha:1106,o:\"m 1026 496 q 999 287 1026 382 q 917 126 972 193 q 778 22 862 59 q 581 -14 695 -14 q 383 22 467 -14 q 245 126 299 59 q 163 288 190 193 q 137 498 137 382 q 163 707 137 613 q 245 867 190 801 q 384 970 300 934 q 582 1007 467 1007 q 779 970 696 1007 q 917 867 863 934 q 999 706 972 800 q 1026 496 1026 612 m 353 496 q 366 355 353 417 q 408 250 380 293 q 479 184 436 207 q 581 160 522 160 q 685 184 641 160 q 755 250 728 207 q 796 355 783 293 q 809 496 809 417 q 796 636 809 574 q 755 742 783 698 q 685 808 728 785 q 582 832 642 832 q 480 808 523 832 q 408 742 436 785 q 366 636 380 698 q 353 496 353 574 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 \"},\"−\":{x_min:60,x_max:705,ha:765,o:\"m 60 415 l 60 564 l 705 564 l 705 415 l 60 415 \"},\"⅜\":{x_min:40,x_max:1183,ha:1224,o:\"m 451 846 q 423 766 451 800 q 335 712 396 732 l 335 703 q 395 682 370 697 q 437 649 420 668 q 461 608 453 631 q 470 562 470 586 q 410 433 470 480 q 224 386 350 386 q 128 397 173 386 q 40 433 84 409 l 40 562 q 129 518 84 535 q 224 501 174 501 q 298 519 275 501 q 322 573 322 537 q 316 600 322 587 q 298 623 311 613 q 263 639 285 633 q 208 645 241 645 l 132 645 l 132 754 l 193 754 q 249 760 228 754 q 283 776 271 766 q 299 800 295 787 q 303 828 303 814 q 286 871 303 854 q 235 888 269 888 q 175 875 203 888 q 109 834 147 862 l 41 930 q 134 982 83 961 q 255 1004 185 1004 q 333 992 297 1004 q 395 961 369 981 q 436 911 421 940 q 451 846 451 882 m 960 992 l 409 0 l 247 0 l 798 992 l 960 992 m 951 607 q 1033 597 995 607 q 1100 569 1071 588 q 1144 523 1128 551 q 1161 458 1161 495 q 1153 413 1161 434 q 1132 376 1146 393 q 1102 347 1119 360 q 1064 323 1084 334 q 1108 295 1087 309 q 1146 263 1129 281 q 1172 221 1162 244 q 1183 169 1183 198 q 1166 95 1183 129 q 1119 36 1149 61 q 1046 -2 1088 11 q 951 -16 1003 -16 q 851 -2 894 -16 q 778 34 808 10 q 734 92 749 58 q 719 165 719 126 q 727 218 719 195 q 751 259 736 241 q 785 291 765 277 q 825 317 804 305 q 792 345 807 330 q 764 376 776 359 q 746 414 752 393 q 740 458 740 434 q 756 523 740 495 q 802 569 773 550 q 869 597 831 587 q 951 607 908 607 m 866 169 q 887 114 866 135 q 949 92 908 92 q 1013 114 991 92 q 1035 169 1035 135 q 1012 223 1035 201 q 948 261 989 246 l 939 264 q 885 226 904 248 q 866 169 866 203 m 949 498 q 903 482 919 498 q 887 447 887 467 q 906 403 887 420 q 951 373 924 387 q 975 386 964 379 q 995 402 987 393 q 1008 422 1003 411 q 1013 447 1013 433 q 998 482 1013 467 q 949 498 983 498 \"},ǰ:{x_min:-70,x_max:492,ha:424,o:\"m 68 -334 q 1 -329 36 -334 q -56 -317 -32 -324 l -56 -154 q -16 -164 -34 -161 q 24 -167 1 -167 q 56 -162 41 -167 q 83 -144 72 -157 q 101 -109 94 -131 q 108 -52 108 -87 l 108 758 l 315 758 l 315 -82 q 301 -180 315 -134 q 259 -260 288 -226 q 182 -314 229 -294 q 68 -334 135 -334 m 492 1045 q 452 1000 475 1026 q 408 947 430 974 q 366 892 386 919 q 331 842 346 865 l 90 842 q 54 892 75 865 q 12 947 34 919 q -30 1000 -9 974 q -70 1045 -52 1026 l -70 1064 l 67 1064 q 137 1011 102 1041 q 209 945 172 982 q 282 1011 244 982 q 354 1064 319 1041 l 492 1064 l 492 1045 \"},ā:{x_min:58,x_max:694,ha:798,o:\"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 189 985 l 607 985 l 607 842 l 189 842 l 189 985 \"},ĵ:{x_min:-70,x_max:492,ha:424,o:\"m 68 -334 q 1 -329 36 -334 q -56 -317 -32 -324 l -56 -154 q -16 -164 -34 -161 q 24 -167 1 -167 q 56 -162 41 -167 q 83 -144 72 -157 q 101 -109 94 -131 q 108 -52 108 -87 l 108 758 l 315 758 l 315 -82 q 301 -180 315 -134 q 259 -260 288 -226 q 182 -314 229 -294 q 68 -334 135 -334 m 354 842 q 282 894 319 864 q 209 960 244 923 q 137 894 172 923 q 67 842 102 864 l -70 842 l -70 860 q -30 905 -52 879 q 12 958 -9 931 q 54 1013 34 986 q 90 1064 75 1040 l 331 1064 q 366 1013 346 1040 q 408 958 386 986 q 452 905 430 931 q 492 860 475 879 l 492 842 l 354 842 \"},Ĩ:{x_min:3,x_max:537,ha:541,o:\"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 158 1135 q 124 1119 137 1135 q 104 1069 112 1103 l 3 1069 q 20 1163 7 1123 q 56 1228 34 1202 q 108 1266 78 1253 q 173 1279 137 1279 q 227 1269 201 1279 q 280 1246 254 1259 q 331 1224 306 1234 q 381 1214 357 1214 q 414 1230 402 1214 q 435 1280 427 1246 l 537 1280 q 519 1187 532 1226 q 482 1122 505 1148 q 430 1083 460 1096 q 366 1071 401 1071 q 312 1081 339 1071 q 259 1103 284 1091 q 208 1125 233 1115 q 158 1135 182 1135 \"},\"*\":{x_min:42.8125,x_max:714.546875,ha:757,o:\"m 467 1055 l 439 805 l 692 875 l 714 704 l 483 688 l 635 487 l 481 405 l 375 617 l 282 406 l 122 487 l 272 688 l 42 706 l 69 875 l 316 805 l 289 1055 l 467 1055 \"},ă:{x_min:58,x_max:694,ha:798,o:\"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 654 1071 q 632 978 650 1020 q 584 906 615 936 q 508 858 552 875 q 405 842 463 842 q 301 858 345 842 q 226 904 256 874 q 180 976 196 934 q 162 1071 164 1018 l 277 1071 q 289 1024 280 1041 q 315 998 299 1007 q 354 987 331 989 q 406 985 377 985 q 453 988 431 985 q 492 1000 475 991 q 521 1026 510 1009 q 535 1071 533 1043 l 654 1071 \"},Χ:{x_min:-.25,x_max:871.25,ha:871,o:\"m 871 0 l 631 0 l 428 375 l 224 0 l 0 0 l 301 511 l 20 992 l 252 992 l 438 635 l 620 992 l 847 992 l 563 500 l 871 0 \"},\"†\":{x_min:83,x_max:633,ha:717,o:\"m 633 628 l 408 649 l 445 0 l 256 0 l 294 649 l 83 628 l 83 792 l 294 772 l 256 1055 l 445 1055 l 408 772 l 633 792 l 633 628 \"},\"°\":{x_min:63,x_max:532,ha:595,o:\"m 63 771 q 81 862 63 819 q 131 936 99 904 q 206 987 163 968 q 297 1006 248 1006 q 389 987 346 1006 q 463 936 432 968 q 513 862 495 904 q 532 771 532 819 q 513 679 532 722 q 463 605 495 637 q 389 555 432 573 q 297 538 346 538 q 206 555 248 538 q 131 605 163 573 q 81 679 99 637 q 63 771 63 722 m 211 771 q 218 735 211 752 q 236 705 224 718 q 263 685 248 692 q 297 677 279 677 q 330 685 314 677 q 358 705 346 692 q 376 735 369 718 q 383 771 383 752 q 376 807 383 790 q 358 838 369 825 q 330 858 346 851 q 297 866 314 866 q 263 858 279 866 q 236 838 248 851 q 218 807 224 825 q 211 771 211 790 \"},Ξ:{x_min:55,x_max:682,ha:737,o:\"m 138 602 l 598 602 l 598 427 l 138 427 l 138 602 m 83 992 l 654 992 l 654 817 l 83 817 l 83 992 m 682 174 l 682 0 l 55 0 l 55 174 l 682 174 \"},Ķ:{x_min:125,x_max:880.25,ha:880,o:\"m 880 0 l 641 0 l 413 412 l 335 354 l 335 0 l 125 0 l 125 992 l 335 992 l 335 514 l 417 654 l 644 992 l 877 992 l 561 544 l 880 0 m 300 -288 q 312 -242 306 -268 q 323 -188 318 -216 q 334 -134 329 -161 q 341 -85 339 -107 l 533 -85 l 533 -98 q 484 -198 512 -145 q 420 -307 456 -251 l 300 -307 l 300 -288 \"},ŵ:{x_min:-.25,x_max:1120.25,ha:1120,o:\"m 688 0 l 629 265 q 622 297 626 276 q 612 346 618 319 q 601 403 607 372 q 589 463 595 433 q 559 613 575 532 l 555 613 q 527 462 539 532 q 515 402 521 432 q 504 344 510 371 q 494 296 499 317 q 487 262 490 274 l 426 0 l 204 0 l 0 758 l 205 758 l 282 422 q 294 359 288 395 q 306 284 301 322 q 317 213 312 246 q 324 160 322 179 l 328 160 q 331 193 329 172 q 337 237 334 214 q 344 286 341 261 q 352 332 348 311 q 359 371 356 354 q 364 394 362 387 l 447 758 l 674 758 l 754 394 q 763 348 757 379 q 774 281 768 317 q 784 212 780 246 q 789 160 788 178 l 793 160 q 800 210 795 176 q 811 281 805 243 q 824 357 817 320 q 837 422 831 395 l 917 758 l 1120 758 l 913 0 l 688 0 m 702 842 q 630 894 667 864 q 557 960 592 923 q 485 894 520 923 q 415 842 450 864 l 278 842 l 278 860 q 317 905 295 879 q 360 958 338 931 q 402 1013 382 986 q 438 1064 423 1040 l 679 1064 q 714 1013 694 1040 q 756 958 734 986 q 800 905 778 931 q 840 860 823 879 l 840 842 l 702 842 \"},\"΄\":{x_min:319,x_max:552,ha:802,o:\"m 319 860 q 331 906 325 880 q 342 960 337 932 q 353 1014 348 987 q 360 1064 357 1041 l 552 1064 l 552 1049 q 503 950 531 1003 q 439 842 475 897 l 319 842 l 319 860 \"},ǽ:{x_min:58,x_max:1159,ha:1225,o:\"m 860 -14 q 698 20 771 -14 q 578 125 625 54 q 521 62 549 89 q 459 19 492 36 q 384 -5 426 2 q 287 -14 342 -14 q 199 0 241 -14 q 126 44 157 15 q 76 119 94 74 q 58 226 58 164 q 135 404 58 346 q 367 467 212 461 l 488 471 l 488 528 q 460 598 488 575 q 384 620 433 620 q 289 606 335 620 q 195 568 242 592 l 128 705 q 254 755 185 737 q 399 774 323 774 q 618 685 544 774 q 832 773 704 773 q 968 750 907 773 q 1071 683 1029 727 q 1136 574 1113 639 q 1159 427 1159 510 l 1159 327 l 694 327 q 708 248 696 283 q 744 189 721 213 q 799 152 767 165 q 873 139 831 139 q 996 154 937 139 q 1116 199 1056 168 l 1116 39 q 1061 15 1089 25 q 1003 -1 1034 5 q 937 -10 972 -7 q 860 -14 902 -14 m 488 351 l 419 348 q 348 337 377 347 q 302 312 320 328 q 277 274 285 296 q 269 226 269 252 q 292 159 269 178 q 353 139 316 139 q 406 149 382 139 q 449 177 431 158 q 477 225 467 197 q 488 289 488 252 l 488 351 m 833 625 q 740 586 777 625 q 698 465 704 548 l 964 465 q 955 529 963 499 q 931 579 947 558 q 890 613 915 601 q 833 625 866 625 m 513 842 l 513 860 q 543 905 527 879 q 575 958 559 931 q 605 1013 591 986 q 631 1064 620 1040 l 863 1064 l 863 1049 q 841 1021 855 1037 q 808 985 827 1004 q 769 946 790 966 q 727 907 748 926 q 685 871 705 888 q 650 842 666 854 l 513 842 \"},Β:{x_min:125,x_max:818,ha:892,o:\"m 125 992 l 415 992 q 579 978 508 992 q 697 936 649 965 q 768 858 744 906 q 793 740 793 810 q 782 662 793 698 q 752 597 772 625 q 705 551 733 569 q 640 526 677 532 l 640 519 q 709 496 677 511 q 766 454 742 480 q 804 386 790 427 q 818 287 818 345 q 794 166 818 219 q 726 76 770 113 q 618 19 681 39 q 474 0 554 0 l 125 0 l 125 992 m 335 599 l 444 599 q 509 606 483 599 q 552 627 536 613 q 575 662 568 641 q 582 711 582 683 q 547 792 582 768 q 434 817 511 817 l 335 817 l 335 599 m 335 432 l 335 174 l 459 174 q 529 184 501 174 q 575 211 557 193 q 600 253 592 228 q 607 309 607 278 q 600 359 607 336 q 574 398 592 382 q 527 423 556 414 q 454 432 497 432 l 335 432 \"},Ļ:{x_min:125,x_max:696,ha:743,o:\"m 125 0 l 125 992 l 335 992 l 335 174 l 696 174 l 696 0 l 125 0 m 268 -288 q 280 -242 274 -268 q 291 -188 286 -216 q 302 -134 297 -161 q 309 -85 307 -107 l 501 -85 l 501 -98 q 452 -198 480 -145 q 388 -307 424 -251 l 268 -307 l 268 -288 \"},Õ:{x_min:81,x_max:970,ha:1050,o:\"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 415 1135 q 381 1119 394 1135 q 361 1069 369 1103 l 260 1069 q 277 1163 264 1123 q 313 1228 291 1202 q 365 1266 335 1253 q 430 1279 394 1279 q 484 1269 458 1279 q 537 1246 511 1259 q 588 1224 563 1234 q 638 1214 614 1214 q 671 1230 659 1214 q 692 1280 684 1246 l 794 1280 q 776 1187 789 1226 q 739 1122 762 1148 q 687 1083 717 1096 q 623 1071 658 1071 q 569 1081 596 1071 q 516 1103 541 1091 q 465 1125 490 1115 q 415 1135 439 1135 \"},\"№\":{x_min:92,x_max:1321,ha:1372,o:\"m 807 0 l 577 0 l 272 710 l 262 710 q 271 608 267 659 q 276 516 274 565 q 279 426 279 467 l 279 0 l 92 0 l 92 992 l 321 992 l 625 286 l 636 286 q 627 379 631 332 q 622 468 624 420 q 619 559 619 516 l 619 992 l 807 992 l 807 0 m 901 0 l 901 132 l 1306 132 l 1306 0 l 901 0 m 1321 438 q 1305 333 1321 379 q 1262 256 1290 287 q 1193 207 1233 224 q 1102 191 1152 191 q 1016 207 1056 191 q 948 256 977 224 q 903 333 919 287 q 888 438 888 379 q 903 542 888 497 q 946 619 918 588 q 1015 667 974 651 q 1105 684 1055 684 q 1190 667 1151 684 q 1259 619 1230 651 q 1304 542 1287 588 q 1321 438 1321 497 m 1058 438 q 1069 334 1058 369 q 1104 299 1080 299 q 1139 334 1128 299 q 1150 438 1150 369 q 1139 541 1150 507 q 1104 575 1128 575 q 1069 541 1080 575 q 1058 438 1058 507 \"},χ:{x_min:-33.1875,x_max:789.25,ha:781,o:\"m 155 768 q 235 756 202 768 q 291 721 268 745 q 332 661 314 698 q 365 573 349 624 l 412 423 l 581 758 l 789 758 l 501 236 l 625 -87 q 644 -126 634 -111 q 666 -151 654 -141 q 693 -164 678 -160 q 725 -167 707 -167 q 753 -166 738 -167 q 789 -159 767 -164 l 789 -313 q 761 -322 774 -319 q 733 -328 748 -326 q 701 -332 718 -331 q 664 -334 685 -334 q 586 -321 620 -334 q 527 -284 552 -308 q 482 -222 501 -259 q 447 -135 462 -184 l 379 85 l 187 -334 l -33 -334 l 286 270 l 202 511 q 183 555 194 538 q 161 583 173 573 q 136 597 149 593 q 108 601 122 601 q 76 599 95 601 q 36 588 57 596 l 36 747 q 92 761 64 755 q 155 768 120 768 \"},ί:{x_min:109,x_max:509,ha:538,o:\"m 315 758 l 315 236 q 337 171 315 192 q 395 150 359 150 q 453 157 425 150 q 509 174 480 164 l 509 20 q 436 -4 479 5 q 342 -14 393 -14 q 250 -2 292 -14 q 176 37 207 9 q 126 115 144 66 q 109 237 109 163 l 109 758 l 315 758 m 140 860 q 152 906 146 880 q 163 960 158 932 q 174 1014 169 987 q 181 1064 178 1041 l 373 1064 l 373 1049 q 324 950 352 1003 q 260 842 296 897 l 140 842 l 140 860 \"},Ζ:{x_min:33,x_max:716,ha:749,o:\"m 716 0 l 33 0 l 33 137 l 453 817 l 45 817 l 45 992 l 703 992 l 703 855 l 283 174 l 716 174 l 716 0 \"},Ľ:{x_min:125,x_max:696,ha:743,o:\"m 125 0 l 125 992 l 335 992 l 335 174 l 696 174 l 696 0 l 125 0 m 444 788 q 456 835 450 809 q 467 888 462 861 q 478 943 473 916 q 485 993 483 970 l 677 993 l 677 979 q 628 879 656 933 q 564 771 600 825 l 444 771 l 444 788 \"},ť:{x_min:32,x_max:654,ha:575,o:\"m 416 152 q 474 158 446 152 q 530 175 501 165 l 530 20 q 457 -4 500 5 q 364 -14 414 -14 q 271 -2 314 -14 q 198 38 229 9 q 148 115 166 67 q 131 237 131 164 l 131 604 l 32 604 l 32 691 l 145 759 l 205 919 l 337 919 l 337 758 l 521 758 l 521 604 l 337 604 l 337 238 q 359 173 337 194 q 416 152 381 152 m 421 865 q 433 912 427 886 q 444 965 439 938 q 455 1020 450 993 q 462 1070 460 1047 l 654 1070 l 654 1056 q 605 956 633 1010 q 541 848 577 902 l 421 848 l 421 865 \"},o:{x_min:69,x_max:762,ha:832,o:\"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 \"},Ѕ:{x_min:63.46875,x_max:668,ha:728,o:\"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 \"},\"�\":{x_min:57.328125,x_max:1331.03125,ha:1389,o:\"m 693 1055 l 1331 419 l 693 -216 l 57 419 l 693 1055 m 737 249 l 737 280 q 748 331 737 310 q 811 392 759 352 q 904 488 878 443 q 931 592 931 532 q 914 676 931 639 q 866 737 897 712 q 791 775 835 762 q 692 789 747 789 q 632 783 662 789 q 572 769 601 778 q 514 747 542 759 q 464 722 487 736 l 519 601 q 608 640 565 624 q 689 656 651 656 q 753 636 732 656 q 774 584 774 616 q 761 528 774 551 q 692 461 747 505 q 620 384 645 425 q 595 289 595 343 l 595 249 l 737 249 m 577 62 q 601 -4 577 20 q 672 -29 625 -29 q 742 -4 718 -29 q 767 62 767 20 q 742 130 767 105 q 672 155 718 155 q 601 130 625 155 q 577 62 577 105 \"},d:{x_min:69,x_max:735,ha:844,o:\"m 329 -14 q 224 11 271 -14 q 141 85 176 36 q 88 208 107 134 q 69 377 69 281 q 88 549 69 475 q 142 672 107 622 q 227 747 178 722 q 335 773 276 773 q 402 764 372 773 q 457 741 433 756 q 500 706 481 726 q 534 663 520 687 l 541 663 q 534 716 537 690 q 528 765 530 739 q 526 813 526 791 l 526 1055 l 735 1055 l 735 0 l 575 0 l 534 99 l 526 99 q 493 54 512 75 q 451 18 475 34 q 397 -5 427 3 q 329 -14 367 -14 m 406 152 q 467 164 442 152 q 508 202 492 177 q 531 266 524 228 q 540 355 539 304 l 540 378 q 533 476 540 433 q 511 547 526 519 q 470 591 496 576 q 404 606 444 606 q 310 547 340 606 q 280 376 280 489 q 310 208 280 264 q 406 152 341 152 \"},\",\":{x_min:43,x_max:312,ha:403,o:\"m 312 145 q 289 67 302 108 q 259 -15 275 26 q 226 -99 243 -57 q 192 -179 209 -141 l 43 -179 q 63 -92 53 -137 q 82 -3 73 -48 q 98 82 91 40 q 111 161 106 125 l 301 161 l 312 145 \"},'\"':{x_min:90,x_max:565.21875,ha:656,o:\"m 279 992 l 251 634 l 117 634 l 90 992 l 279 992 m 565 992 l 537 634 l 403 634 l 376 992 l 565 992 \"},ľ:{x_min:109,x_max:611,ha:424,o:\"m 315 0 l 109 0 l 109 1055 l 315 1055 l 315 0 m 378 851 q 390 898 384 872 q 401 951 396 924 q 412 1006 407 979 q 419 1056 417 1033 l 611 1056 l 611 1042 q 562 942 590 996 q 498 834 534 888 l 378 834 l 378 851 \"},ė:{x_min:69,x_max:741,ha:807,o:\"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 296 954 q 304 1003 296 984 q 328 1034 313 1022 q 364 1051 344 1046 q 408 1056 385 1056 q 451 1051 431 1056 q 487 1034 472 1046 q 511 1003 502 1022 q 521 954 521 984 q 511 906 521 926 q 487 875 502 886 q 451 858 472 863 q 408 853 431 853 q 364 858 385 853 q 328 875 344 863 q 304 906 313 886 q 296 954 296 926 \"},Í:{x_min:44.28125,x_max:510,ha:541,o:\"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 160 1071 l 160 1089 q 190 1134 174 1108 q 222 1187 206 1160 q 252 1242 238 1215 q 278 1293 267 1269 l 510 1293 l 510 1278 q 488 1250 502 1266 q 455 1214 474 1233 q 416 1175 437 1195 q 374 1136 395 1155 q 332 1100 352 1117 q 297 1071 313 1083 l 160 1071 \"},Ú:{x_min:118,x_max:876,ha:994,o:\"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 387 1071 l 387 1089 q 417 1134 401 1108 q 449 1187 433 1160 q 479 1242 465 1215 q 505 1293 494 1269 l 737 1293 l 737 1278 q 715 1250 729 1266 q 682 1214 701 1233 q 643 1175 664 1195 q 601 1136 622 1155 q 559 1100 579 1117 q 524 1071 540 1083 l 387 1071 \"},\" \":{x_min:0,x_max:0,ha:278},Ŷ:{x_min:-.25,x_max:812.25,ha:811,o:\"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 m 548 1071 q 476 1123 513 1093 q 403 1189 438 1152 q 331 1123 366 1152 q 261 1071 296 1093 l 124 1071 l 124 1089 q 163 1134 141 1108 q 206 1187 184 1160 q 248 1242 228 1215 q 284 1293 269 1269 l 525 1293 q 560 1242 540 1269 q 602 1187 580 1215 q 646 1134 624 1160 q 686 1089 669 1108 l 686 1071 l 548 1071 \"},Ý:{x_min:-.25,x_max:812.25,ha:811,o:\"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 m 287 1071 l 287 1089 q 317 1134 301 1108 q 349 1187 333 1160 q 379 1242 365 1215 q 405 1293 394 1269 l 637 1293 l 637 1278 q 615 1250 629 1266 q 582 1214 601 1233 q 543 1175 564 1195 q 501 1136 522 1155 q 459 1100 479 1117 q 424 1071 440 1083 l 287 1071 \"},ŝ:{x_min:66,x_max:633,ha:668,o:\"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 m 495 842 q 423 894 460 864 q 350 960 385 923 q 278 894 313 923 q 208 842 243 864 l 71 842 l 71 860 q 110 905 88 879 q 153 958 131 931 q 195 1013 175 986 q 231 1064 216 1040 l 472 1064 q 507 1013 487 1040 q 549 958 527 986 q 593 905 571 931 q 633 860 616 879 l 633 842 l 495 842 \"},\" \":{x_min:0,x_max:0,ha:1389},ą:{x_min:58,x_max:702,ha:798,o:\"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 570 -154 q 585 -196 570 -182 q 624 -209 600 -209 q 667 -205 645 -209 q 702 -197 688 -201 l 702 -318 q 655 -329 680 -324 q 596 -334 630 -334 q 525 -322 557 -334 q 472 -290 494 -310 q 438 -241 450 -269 q 427 -177 427 -212 q 436 -124 427 -148 q 462 -78 445 -99 q 501 -38 479 -57 q 549 0 523 -19 l 670 0 q 596 -81 623 -44 q 570 -154 570 -118 \"},\"​\":{x_min:0,x_max:0,ha:0},ã:{x_min:58,x_max:694,ha:798,o:\"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 289 906 q 255 890 268 906 q 235 840 243 874 l 134 840 q 151 934 138 894 q 187 999 165 973 q 239 1037 209 1024 q 304 1050 268 1050 q 358 1040 332 1050 q 411 1017 385 1030 q 462 995 437 1005 q 512 985 488 985 q 545 1001 533 985 q 566 1051 558 1017 l 668 1051 q 650 958 663 997 q 613 893 636 919 q 561 854 591 867 q 497 842 532 842 q 443 852 470 842 q 390 874 415 862 q 339 896 364 886 q 289 906 313 906 \"},æ:{x_min:58,x_max:1159,ha:1225,o:\"m 860 -14 q 698 20 771 -14 q 578 125 625 54 q 521 62 549 89 q 459 19 492 36 q 384 -5 426 2 q 287 -14 342 -14 q 199 0 241 -14 q 126 44 157 15 q 76 119 94 74 q 58 226 58 164 q 135 404 58 346 q 367 467 212 461 l 488 471 l 488 528 q 460 598 488 575 q 384 620 433 620 q 289 606 335 620 q 195 568 242 592 l 128 705 q 254 755 185 737 q 399 774 323 774 q 618 685 544 774 q 832 773 704 773 q 968 750 907 773 q 1071 683 1029 727 q 1136 574 1113 639 q 1159 427 1159 510 l 1159 327 l 694 327 q 708 248 696 283 q 744 189 721 213 q 799 152 767 165 q 873 139 831 139 q 996 154 937 139 q 1116 199 1056 168 l 1116 39 q 1061 15 1089 25 q 1003 -1 1034 5 q 937 -10 972 -7 q 860 -14 902 -14 m 488 351 l 419 348 q 348 337 377 347 q 302 312 320 328 q 277 274 285 296 q 269 226 269 252 q 292 159 269 178 q 353 139 316 139 q 406 149 382 139 q 449 177 431 158 q 477 225 467 197 q 488 289 488 252 l 488 351 m 833 625 q 740 586 777 625 q 698 465 704 548 l 964 465 q 955 529 963 499 q 931 579 947 558 q 890 613 915 601 q 833 625 866 625 \"},ĩ:{x_min:-55,x_max:479,ha:424,o:\"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 100 906 q 66 890 79 906 q 46 840 54 874 l -55 840 q -37 934 -50 894 q -1 999 -23 973 q 50 1037 20 1024 q 115 1050 79 1050 q 169 1040 143 1050 q 222 1017 196 1030 q 273 995 248 1005 q 323 985 299 985 q 356 1001 344 985 q 377 1051 369 1017 l 479 1051 q 461 958 474 997 q 424 893 447 919 q 372 854 402 867 q 308 842 343 842 q 254 852 281 842 q 201 874 226 862 q 150 896 175 886 q 100 906 124 906 \"},\"~\":{x_min:60,x_max:705,ha:765,o:\"m 358 417 q 313 435 333 428 q 278 447 294 443 q 248 453 262 452 q 218 455 234 455 q 177 449 198 455 q 136 431 156 442 q 96 405 116 420 q 60 373 77 390 l 60 530 q 137 585 94 566 q 233 604 180 604 q 271 602 253 604 q 307 595 288 600 q 350 582 326 591 q 406 560 374 574 q 451 542 432 549 q 487 531 471 535 q 518 525 503 526 q 547 523 532 523 q 587 529 566 523 q 629 547 608 536 q 668 573 649 558 q 705 605 688 588 l 705 448 q 531 375 636 375 q 493 376 511 375 q 457 382 476 378 q 414 395 438 387 q 358 417 390 404 \"},ŀ:{x_min:109,x_max:620,ha:603,o:\"m 315 0 l 109 0 l 109 1055 l 315 1055 l 315 0 m 395 471 q 403 520 395 501 q 427 551 412 539 q 463 568 443 563 q 507 573 484 573 q 550 568 530 573 q 586 551 571 563 q 610 520 601 539 q 620 471 620 501 q 610 423 620 443 q 586 392 601 403 q 550 375 571 380 q 507 370 530 370 q 463 375 484 370 q 427 392 443 380 q 403 423 412 403 q 395 471 395 443 \"},Ċ:{x_min:81,x_max:836.296875,ha:885,o:\"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 m 424 1183 q 432 1232 424 1213 q 456 1263 441 1251 q 492 1280 472 1275 q 536 1285 513 1285 q 579 1280 559 1285 q 615 1263 600 1275 q 639 1232 630 1251 q 649 1183 649 1213 q 639 1135 649 1155 q 615 1104 630 1115 q 579 1087 600 1092 q 536 1082 559 1082 q 492 1087 513 1082 q 456 1104 472 1092 q 432 1135 441 1115 q 424 1183 424 1155 \"},\"¡\":{x_min:79,x_max:316,ha:397,o:\"m 113 410 l 278 410 l 313 -250 l 79 -250 l 113 410 m 316 642 q 306 588 316 610 q 281 552 297 566 q 243 533 265 539 q 196 527 221 527 q 151 533 173 527 q 114 552 130 539 q 88 588 97 566 q 79 642 79 610 q 88 695 79 673 q 114 731 97 717 q 151 751 130 745 q 196 758 173 758 q 243 751 221 758 q 281 731 265 745 q 306 695 297 717 q 316 642 316 673 \"},ẅ:{x_min:-.25,x_max:1120.25,ha:1120,o:\"m 688 0 l 629 265 q 622 297 626 276 q 612 346 618 319 q 601 403 607 372 q 589 463 595 433 q 559 613 575 532 l 555 613 q 527 462 539 532 q 515 402 521 432 q 504 344 510 371 q 494 296 499 317 q 487 262 490 274 l 426 0 l 204 0 l 0 758 l 205 758 l 282 422 q 294 359 288 395 q 306 284 301 322 q 317 213 312 246 q 324 160 322 179 l 328 160 q 331 193 329 172 q 337 237 334 214 q 344 286 341 261 q 352 332 348 311 q 359 371 356 354 q 364 394 362 387 l 447 758 l 674 758 l 754 394 q 763 348 757 379 q 774 281 768 317 q 784 212 780 246 q 789 160 788 178 l 793 160 q 800 210 795 176 q 811 281 805 243 q 824 357 817 320 q 837 422 831 395 l 917 758 l 1120 758 l 913 0 l 688 0 m 327 953 q 334 994 327 977 q 354 1022 341 1011 q 384 1039 367 1034 q 421 1045 401 1045 q 458 1039 441 1045 q 488 1022 475 1034 q 509 994 501 1011 q 517 953 517 977 q 509 913 517 930 q 488 885 501 896 q 458 868 475 873 q 421 863 441 863 q 384 868 401 863 q 354 885 367 873 q 334 913 341 896 q 327 953 327 930 m 600 953 q 607 994 600 977 q 627 1022 614 1011 q 658 1039 640 1034 q 696 1045 675 1045 q 732 1039 715 1045 q 763 1022 749 1034 q 784 994 776 1011 q 792 953 792 977 q 784 913 792 930 q 763 885 776 896 q 732 868 749 873 q 696 863 715 863 q 627 885 655 863 q 600 953 600 907 \"},К:{x_min:125,x_max:878.25,ha:878,o:\"m 878 0 l 639 0 l 335 502 l 335 0 l 125 0 l 125 992 l 335 992 l 335 511 l 635 992 l 859 992 l 552 515 l 878 0 \"},Γ:{x_min:125,x_max:696,ha:724,o:\"m 696 992 l 696 817 l 335 817 l 335 0 l 125 0 l 125 992 l 696 992 \"},P:{x_min:125,x_max:769,ha:831,o:\"m 335 526 l 377 526 q 513 561 467 526 q 558 674 558 596 q 517 782 558 747 q 389 817 476 817 l 335 817 l 335 526 m 769 682 q 749 557 769 616 q 684 451 729 497 q 565 379 639 406 q 383 352 492 352 l 335 352 l 335 0 l 125 0 l 125 992 l 400 992 q 565 970 496 992 q 680 909 635 949 q 747 812 725 869 q 769 682 769 754 \"},\"%\":{x_min:43,x_max:1181,ha:1224,o:\"m 213 695 q 229 566 213 608 q 278 523 244 523 q 327 565 311 523 q 343 695 343 607 q 278 865 343 865 q 229 823 244 865 q 213 695 213 781 m 514 695 q 500 564 514 622 q 457 465 486 505 q 383 404 427 425 q 276 383 338 383 q 175 404 219 383 q 102 465 131 425 q 57 564 72 505 q 43 695 43 622 q 56 826 43 769 q 98 924 70 884 q 171 984 127 963 q 276 1006 215 1006 q 379 984 335 1006 q 453 924 423 963 q 498 826 483 884 q 514 695 514 769 m 967 992 l 416 0 l 254 0 l 805 992 l 967 992 m 880 299 q 896 170 880 213 q 945 128 911 128 q 994 170 978 128 q 1010 299 1010 212 q 945 469 1010 469 q 896 427 911 469 q 880 299 880 386 m 1181 300 q 1167 168 1181 226 q 1123 70 1153 110 q 1050 9 1094 30 q 943 -12 1005 -12 q 842 9 885 -12 q 769 70 798 30 q 724 168 739 110 q 710 300 710 226 q 723 430 710 373 q 765 528 737 488 q 838 588 794 567 q 943 610 882 610 q 1046 588 1001 610 q 1120 528 1090 567 q 1165 430 1150 488 q 1181 300 1181 373 \"},ϖ:{x_min:35.03125,x_max:1310.578125,ha:1346,o:\"m 886 -14 q 810 -3 843 -14 q 751 25 777 6 q 708 72 726 45 q 677 133 690 100 l 670 133 q 640 72 658 100 q 596 25 621 45 q 538 -3 571 6 q 462 -14 505 -14 q 334 9 389 -14 q 243 79 279 33 q 188 190 206 124 q 170 341 170 256 q 181 474 170 407 q 212 604 193 541 l 35 604 l 35 689 l 148 758 l 1310 758 l 1310 604 l 1135 604 q 1166 474 1154 541 q 1179 341 1179 407 q 1160 190 1179 256 q 1105 79 1141 124 q 1013 9 1068 33 q 886 -14 958 -14 m 984 348 q 973 474 984 409 q 944 604 963 540 l 403 604 q 374 477 384 541 q 364 350 364 413 q 392 200 364 249 q 481 152 420 152 q 527 163 509 152 q 557 195 546 174 q 572 248 567 217 q 577 320 577 279 l 577 412 l 771 412 l 771 320 q 776 248 771 279 q 791 195 780 217 q 821 163 802 174 q 867 152 839 152 q 956 200 929 152 q 984 348 984 249 \"},_:{x_min:-3,x_max:574,ha:571,o:\"m 574 -219 l -3 -219 l -3 -125 l 574 -125 l 574 -219 \"},ñ:{x_min:109,x_max:767,ha:871,o:\"m 767 0 l 560 0 l 560 442 q 535 565 560 524 q 456 606 510 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 m 324 906 q 290 890 303 906 q 270 840 278 874 l 169 840 q 186 934 173 894 q 222 999 200 973 q 274 1037 244 1024 q 339 1050 303 1050 q 393 1040 367 1050 q 446 1017 420 1030 q 497 995 472 1005 q 547 985 523 985 q 580 1001 568 985 q 601 1051 593 1017 l 703 1051 q 685 958 698 997 q 648 893 671 919 q 596 854 626 867 q 532 842 567 842 q 478 852 505 842 q 425 874 450 862 q 374 896 399 886 q 324 906 348 906 \"},Ŕ:{x_min:125,x_max:875.25,ha:875,o:\"m 335 545 l 393 545 q 520 581 481 545 q 558 685 558 616 q 517 786 558 756 q 389 817 476 817 l 335 817 l 335 545 m 335 379 l 335 0 l 125 0 l 125 992 l 396 992 q 678 918 587 992 q 769 694 769 844 q 755 601 769 642 q 719 527 741 559 q 666 471 696 495 q 604 430 637 447 q 739 215 679 310 q 789 136 765 175 q 832 67 813 98 q 863 18 851 37 l 875 0 l 641 0 l 427 379 l 335 379 m 310 1071 l 310 1089 q 340 1134 324 1108 q 372 1187 356 1160 q 402 1242 388 1215 q 428 1293 417 1269 l 660 1293 l 660 1278 q 638 1250 652 1266 q 605 1214 624 1233 q 566 1175 587 1195 q 524 1136 545 1155 q 482 1100 502 1117 q 447 1071 463 1083 l 310 1071 \"},\"‚\":{x_min:43,x_max:312,ha:403,o:\"m 312 145 q 289 67 302 108 q 259 -15 275 26 q 226 -99 243 -57 q 192 -179 209 -141 l 43 -179 q 63 -92 53 -137 q 82 -3 73 -48 q 98 82 91 40 q 111 161 106 125 l 301 161 l 312 145 \"},\"⅞\":{x_min:45,x_max:1145,ha:1224,o:\"m 109 397 l 336 859 l 45 859 l 45 992 l 498 992 l 498 882 l 270 397 l 109 397 m 899 992 l 348 0 l 186 0 l 737 992 l 899 992 m 913 607 q 995 597 957 607 q 1062 569 1033 588 q 1106 523 1090 551 q 1123 458 1123 495 q 1115 413 1123 434 q 1094 376 1108 393 q 1064 347 1081 360 q 1026 323 1046 334 q 1070 295 1049 309 q 1108 263 1091 281 q 1134 221 1124 244 q 1145 169 1145 198 q 1128 95 1145 129 q 1081 36 1111 61 q 1008 -2 1050 11 q 913 -16 965 -16 q 813 -2 856 -16 q 740 34 770 10 q 696 92 711 58 q 681 165 681 126 q 689 218 681 195 q 713 259 698 241 q 747 291 727 277 q 787 317 766 305 q 754 345 769 330 q 726 376 738 359 q 708 414 714 393 q 702 458 702 434 q 718 523 702 495 q 764 569 735 550 q 831 597 793 587 q 913 607 870 607 m 828 169 q 849 114 828 135 q 911 92 870 92 q 975 114 953 92 q 997 169 997 135 q 974 223 997 201 q 910 261 951 246 l 901 264 q 847 226 866 248 q 828 169 828 203 m 911 498 q 865 482 881 498 q 849 447 849 467 q 868 403 849 420 q 913 373 886 387 q 937 386 926 379 q 957 402 949 393 q 970 422 965 411 q 975 447 975 433 q 960 482 975 467 q 911 498 945 498 \"},Æ:{x_min:0,x_max:1198,ha:1280,o:\"m 1198 0 l 628 0 l 628 235 l 315 235 l 213 0 l 0 0 l 444 992 l 1198 992 l 1198 817 l 838 817 l 838 602 l 1173 602 l 1173 427 l 838 427 l 838 174 l 1198 174 l 1198 0 m 392 410 l 628 410 l 628 810 l 562 810 l 392 410 \"},\"₣\":{x_min:24,x_max:693,ha:765,o:\"m 335 299 l 518 299 l 518 178 l 335 178 l 335 0 l 125 0 l 125 178 l 24 178 l 24 299 l 125 299 l 125 992 l 693 992 l 693 822 l 335 822 l 335 592 l 667 592 l 667 422 l 335 422 l 335 299 \"},Ū:{x_min:118,x_max:876,ha:994,o:\"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 287 1214 l 705 1214 l 705 1071 l 287 1071 l 287 1214 \"},ы:{x_min:109,x_max:1031,ha:1139,o:\"m 315 467 l 407 467 q 644 411 567 467 q 721 242 721 356 q 703 142 721 187 q 647 65 685 97 q 550 17 609 34 q 405 0 490 0 l 109 0 l 109 758 l 315 758 l 315 467 m 514 239 q 484 300 514 281 q 395 319 454 319 l 315 319 l 315 147 l 397 147 q 444 152 423 147 q 481 168 466 156 q 505 196 496 179 q 514 239 514 214 m 1031 0 l 824 0 l 824 758 l 1031 758 l 1031 0 \"},ѓ:{x_min:109,x_max:590,ha:623,o:\"m 590 758 l 590 604 l 315 604 l 315 0 l 109 0 l 109 758 l 590 758 m 231 842 l 231 860 q 261 905 245 879 q 293 958 277 931 q 323 1013 309 986 q 349 1064 338 1040 l 581 1064 l 581 1049 q 559 1021 573 1037 q 526 985 545 1004 q 487 946 508 966 q 445 907 466 926 q 403 871 423 888 q 368 842 384 854 l 231 842 \"},Œ:{x_min:81,x_max:1228,ha:1310,o:\"m 1228 0 l 657 0 q 594 -10 627 -6 q 525 -14 561 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 412 1007 q 596 1003 563 1007 q 660 992 629 999 l 1228 992 l 1228 817 l 868 817 l 868 602 l 1203 602 l 1203 427 l 868 427 l 868 174 l 1228 174 l 1228 0 m 526 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 599 167 566 160 q 658 187 632 174 l 658 804 q 600 824 632 817 q 526 832 567 832 \"},\"΅\":{x_min:126,x_max:675,ha:802,o:\"m 126 953 q 148 1023 126 1001 q 206 1044 170 1044 q 265 1023 242 1044 q 288 953 288 1001 q 265 885 288 907 q 206 863 242 863 q 148 885 170 863 q 126 953 126 907 m 512 953 q 534 1023 512 1001 q 593 1044 556 1044 q 652 1023 629 1044 q 675 953 675 1001 q 652 885 675 907 q 593 863 629 863 q 534 885 556 863 q 512 953 512 907 m 330 959 q 342 1006 336 980 q 354 1059 348 1032 q 364 1114 360 1087 q 372 1164 369 1141 l 550 1164 l 550 1150 q 495 1050 528 1104 q 423 942 462 996 l 330 942 l 330 959 \"},Ą:{x_min:-.25,x_max:903.25,ha:903,o:\"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 712 -154 q 727 -196 712 -182 q 766 -209 742 -209 q 809 -205 787 -209 q 844 -197 830 -201 l 844 -318 q 797 -329 822 -324 q 738 -334 772 -334 q 667 -322 699 -334 q 614 -290 636 -310 q 580 -241 592 -269 q 569 -177 569 -212 q 578 -124 569 -148 q 604 -78 587 -99 q 643 -38 621 -57 q 691 0 665 -19 l 812 0 q 738 -81 765 -44 q 712 -154 712 -118 \"},Њ:{x_min:125,x_max:1274,ha:1336,o:\"m 1274 310 q 1251 179 1274 237 q 1183 81 1229 121 q 1066 21 1137 42 q 896 0 994 0 l 632 0 l 632 429 l 335 429 l 335 0 l 125 0 l 125 992 l 335 992 l 335 604 l 632 604 l 632 992 l 842 992 l 842 612 l 915 612 q 1075 589 1008 612 q 1187 527 1142 567 q 1252 431 1231 487 q 1274 310 1274 376 m 842 174 l 899 174 q 967 182 937 174 q 1019 205 998 189 q 1052 247 1041 221 q 1063 311 1063 274 q 1051 375 1063 350 q 1015 414 1038 400 q 959 434 992 429 q 885 439 926 439 l 842 439 l 842 174 \"},\"›\":{x_min:55,x_max:413,ha:469,o:\"m 413 370 l 203 63 l 55 143 l 202 380 l 55 616 l 203 697 l 413 388 l 413 370 \"},ћ:{x_min:3,x_max:767,ha:871,o:\"m 767 0 l 560 0 l 560 400 q 534 522 560 482 q 456 563 509 563 q 389 547 416 563 q 345 498 362 530 q 322 420 329 467 q 315 314 315 374 l 315 0 l 109 0 l 109 808 l 3 808 l 3 946 l 109 946 l 109 1055 l 315 1055 l 315 946 l 529 946 l 529 808 l 315 808 l 315 796 q 314 736 315 768 q 311 679 313 705 l 306 618 l 317 618 q 402 703 350 677 q 518 730 453 730 q 620 714 575 730 q 699 664 666 698 q 749 577 731 630 q 767 452 767 525 l 767 0 \"},\"<\":{x_min:60,x_max:705,ha:765,o:\"m 705 138 l 60 434 l 60 531 l 705 868 l 705 705 l 268 490 l 705 300 l 705 138 \"},\"¬\":{x_min:60,x_max:705,ha:765,o:\"m 705 168 l 556 168 l 556 415 l 60 415 l 60 564 l 705 564 l 705 168 \"},t:{x_min:32,x_max:530,ha:575,o:\"m 416 152 q 474 158 446 152 q 530 175 501 165 l 530 20 q 457 -4 500 5 q 364 -14 414 -14 q 271 -2 314 -14 q 198 38 229 9 q 148 115 166 67 q 131 237 131 164 l 131 604 l 32 604 l 32 691 l 145 759 l 205 919 l 337 919 l 337 758 l 521 758 l 521 604 l 337 604 l 337 238 q 359 173 337 194 q 416 152 381 152 \"},Ц:{x_min:125,x_max:1002,ha:1030,o:\"m 855 166 l 1002 147 l 1002 -289 l 796 -289 l 796 0 l 125 0 l 125 992 l 335 992 l 335 174 l 644 174 l 644 992 l 855 992 l 855 166 \"},ù:{x_min:104,x_max:762,ha:871,o:\"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 395 842 q 340 889 372 860 q 276 946 307 917 q 219 1004 245 976 q 183 1049 193 1031 l 183 1064 l 414 1064 q 440 1013 425 1040 q 470 958 454 986 q 502 905 486 931 q 533 860 518 879 l 533 842 l 395 842 \"},ï:{x_min:-21,x_max:444,ha:424,o:\"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m -21 953 q -13 994 -21 977 q 6 1022 -6 1011 q 36 1039 19 1034 q 73 1045 53 1045 q 110 1039 93 1045 q 140 1022 127 1034 q 161 994 153 1011 q 169 953 169 977 q 161 913 169 930 q 140 885 153 896 q 110 868 127 873 q 73 863 93 863 q 36 868 53 863 q 6 885 19 873 q -13 913 -6 896 q -21 953 -21 930 m 252 953 q 259 994 252 977 q 279 1022 266 1011 q 310 1039 292 1034 q 348 1045 327 1045 q 384 1039 367 1045 q 415 1022 401 1034 q 436 994 428 1011 q 444 953 444 977 q 436 913 444 930 q 415 885 428 896 q 384 868 401 873 q 348 863 367 863 q 279 885 307 863 q 252 953 252 907 \"},Ф:{x_min:62,x_max:1077,ha:1139,o:\"m 663 305 l 671 305 q 763 321 724 305 q 828 366 802 337 q 867 433 854 394 q 881 516 881 471 q 869 592 881 556 q 834 656 858 629 q 774 700 810 684 q 688 717 738 717 l 663 717 l 663 305 m 476 -14 l 476 139 l 462 139 q 328 155 387 139 q 225 199 269 171 q 149 264 181 227 q 99 343 118 301 q 70 429 79 385 q 62 514 62 472 q 84 649 62 583 q 153 768 106 716 q 272 852 200 820 q 442 884 343 884 l 476 884 l 476 1006 l 663 1006 l 663 884 l 696 884 q 867 852 795 884 q 985 768 938 820 q 1054 649 1032 716 q 1077 514 1077 583 q 1068 429 1077 472 q 1039 343 1059 385 q 989 264 1020 301 q 913 199 958 227 q 810 155 869 171 q 676 139 751 139 l 663 139 l 663 -14 l 476 -14 m 476 717 l 451 717 q 365 700 401 717 q 305 656 328 684 q 269 592 281 629 q 258 516 258 556 q 271 433 258 471 q 310 366 284 394 q 375 321 336 337 q 467 305 414 305 l 476 305 l 476 717 \"},Ò:{x_min:81,x_max:970,ha:1050,o:\"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 495 1071 q 440 1118 472 1089 q 376 1175 407 1146 q 319 1233 345 1205 q 283 1278 293 1260 l 283 1293 l 514 1293 q 540 1242 525 1269 q 570 1187 554 1215 q 602 1134 586 1160 q 633 1089 618 1108 l 633 1071 l 495 1071 \"},I:{x_min:44.28125,x_max:495.96875,ha:541,o:\"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 \"},\"˝\":{x_min:106,x_max:697,ha:802,o:\"m 106 842 l 106 860 q 136 905 120 879 q 168 958 152 931 q 198 1013 184 986 q 223 1064 213 1040 l 428 1064 l 428 1049 q 406 1021 420 1037 q 373 985 392 1004 q 334 946 355 966 q 291 907 312 926 q 250 871 270 888 q 215 842 230 854 l 106 842 m 375 842 l 375 860 q 405 905 389 879 q 437 958 421 931 q 467 1013 453 986 q 492 1064 482 1040 l 697 1064 l 697 1049 q 675 1021 689 1037 q 642 985 661 1004 q 603 946 624 966 q 561 907 582 926 q 520 871 539 888 q 484 842 500 854 l 375 842 \"},\"·\":{x_min:79,x_max:316,ha:396,o:\"m 79 490 q 88 544 79 522 q 113 580 97 566 q 151 599 129 593 q 198 606 173 606 q 243 599 221 606 q 280 580 264 593 q 306 544 297 566 q 316 490 316 522 q 306 437 316 459 q 280 401 297 415 q 243 381 264 387 q 198 375 221 375 q 151 381 173 375 q 113 401 129 387 q 88 437 97 415 q 79 490 79 459 \"},\"¿\":{x_min:45,x_max:628,ha:638,o:\"m 465 410 l 465 359 q 457 297 465 325 q 436 243 450 269 q 398 194 421 218 q 342 145 375 171 q 294 105 314 122 q 262 70 274 87 q 245 34 250 53 q 239 -9 239 15 q 266 -73 239 -48 q 345 -98 292 -98 q 446 -78 392 -98 q 558 -30 501 -58 l 628 -180 q 564 -213 598 -197 q 492 -239 529 -228 q 417 -258 455 -251 q 343 -265 379 -265 q 218 -248 274 -265 q 125 -200 163 -231 q 65 -123 86 -168 q 45 -19 45 -77 q 54 56 45 22 q 82 118 63 89 q 129 174 101 147 q 194 231 157 201 q 240 270 222 253 q 268 301 258 286 q 282 332 278 316 q 285 370 285 349 l 285 410 l 465 410 m 487 642 q 477 588 487 610 q 452 552 468 566 q 414 533 436 539 q 367 527 392 527 q 322 533 344 527 q 285 552 301 539 q 259 588 268 566 q 250 642 250 610 q 259 695 250 673 q 285 731 268 717 q 322 751 301 745 q 367 758 344 758 q 414 751 392 758 q 452 731 436 745 q 477 695 468 717 q 487 642 487 673 \"},ſ:{x_min:109,x_max:537,ha:504,o:\"m 389 896 q 332 870 349 896 q 315 804 315 844 l 315 0 l 109 0 l 109 814 q 126 934 109 886 q 176 1010 144 982 q 255 1051 209 1039 q 358 1063 301 1063 q 464 1053 421 1063 q 537 1030 507 1043 l 488 877 q 444 890 467 884 q 389 896 421 896 \"},Ђ:{x_min:28,x_max:989,ha:1063,o:\"m 713 -12 q 642 -6 677 -12 q 575 13 606 0 l 575 184 q 636 162 606 170 q 691 154 666 154 q 724 157 708 154 q 752 171 740 160 q 771 202 764 182 q 778 260 778 223 l 778 346 q 755 431 778 407 q 677 456 731 456 l 487 456 l 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 728 992 l 728 817 l 487 817 l 487 631 l 692 631 q 817 613 762 631 q 910 560 872 595 q 969 476 949 526 q 989 363 989 426 l 989 276 q 919 61 989 134 q 713 -12 850 -12 \"},ű:{x_min:104,x_max:804,ha:871,o:\"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 213 842 l 213 860 q 243 905 227 879 q 275 958 259 931 q 305 1013 291 986 q 330 1064 320 1040 l 535 1064 l 535 1049 q 513 1021 527 1037 q 480 985 499 1004 q 441 946 462 966 q 398 907 419 926 q 357 871 377 888 q 322 842 337 854 l 213 842 m 482 842 l 482 860 q 512 905 496 879 q 544 958 528 931 q 574 1013 560 986 q 599 1064 589 1040 l 804 1064 l 804 1049 q 782 1021 796 1037 q 749 985 768 1004 q 710 946 731 966 q 668 907 689 926 q 627 871 646 888 q 591 842 607 854 l 482 842 \"},Ǽ:{x_min:0,x_max:1198,ha:1280,o:\"m 1198 0 l 628 0 l 628 235 l 315 235 l 213 0 l 0 0 l 444 992 l 1198 992 l 1198 817 l 838 817 l 838 602 l 1173 602 l 1173 427 l 838 427 l 838 174 l 1198 174 l 1198 0 m 392 410 l 628 410 l 628 810 l 562 810 l 392 410 m 666 1071 l 666 1089 q 696 1134 680 1108 q 728 1187 712 1160 q 758 1242 744 1215 q 784 1293 773 1269 l 1016 1293 l 1016 1278 q 994 1250 1008 1266 q 961 1214 980 1233 q 922 1175 943 1195 q 880 1136 901 1155 q 838 1100 858 1117 q 803 1071 819 1083 l 666 1071 \"},φ:{x_min:69,x_max:1003,ha:1072,o:\"m 808 397 q 802 481 808 442 q 783 551 796 521 q 748 599 770 582 q 696 616 727 616 q 642 589 661 616 q 622 497 622 563 l 622 145 q 699 169 665 149 q 758 223 734 190 q 795 300 782 256 q 808 397 808 345 m 428 -334 l 428 -8 q 285 26 351 0 q 172 98 220 52 q 96 213 124 145 q 69 376 69 282 q 80 489 69 435 q 112 592 91 543 q 162 687 133 641 q 226 775 191 732 l 375 677 q 328 605 349 641 q 293 533 307 570 q 271 456 278 496 q 263 370 263 416 q 276 277 263 316 q 311 211 289 238 q 363 168 333 184 q 428 145 393 152 l 428 497 q 447 615 428 564 q 501 700 467 666 q 583 752 536 735 q 688 770 631 770 q 819 744 760 770 q 918 671 877 719 q 981 555 959 623 q 1003 401 1003 487 q 971 230 1003 304 q 888 106 940 157 q 766 27 835 56 q 622 -8 697 0 l 622 -334 l 428 -334 \"},\";\":{x_min:43,x_max:316,ha:403,o:\"m 301 161 l 312 145 q 289 67 302 108 q 259 -15 275 26 q 226 -99 243 -57 q 192 -179 209 -141 l 43 -179 q 63 -92 53 -137 q 82 -3 73 -48 q 98 82 91 40 q 111 161 106 125 l 301 161 m 79 657 q 88 711 79 689 q 113 747 97 733 q 151 766 129 760 q 198 773 173 773 q 243 766 221 773 q 280 747 264 760 q 306 711 297 733 q 316 657 316 689 q 306 604 316 626 q 280 568 297 582 q 243 548 264 554 q 198 542 221 542 q 151 548 173 542 q 113 568 129 554 q 88 604 97 582 q 79 657 79 626 \"},Ș:{x_min:63.46875,x_max:668,ha:728,o:\"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 m 238 -288 q 250 -242 244 -268 q 261 -188 256 -216 q 272 -134 267 -161 q 279 -85 277 -107 l 471 -85 l 471 -98 q 422 -198 450 -145 q 358 -307 394 -251 l 238 -307 l 238 -288 \"},Ġ:{x_min:81,x_max:895,ha:1006,o:\"m 502 557 l 895 557 l 895 42 q 815 18 855 29 q 732 1 775 8 q 642 -9 689 -5 q 542 -14 595 -14 q 345 18 431 -14 q 200 116 259 51 q 111 276 142 181 q 81 497 81 372 q 114 708 81 613 q 214 868 148 802 q 377 970 281 934 q 599 1006 474 1006 q 754 989 678 1006 q 893 944 830 972 l 823 776 q 719 815 777 799 q 597 831 661 831 q 473 806 528 831 q 378 738 418 782 q 318 632 339 694 q 297 492 297 569 q 311 358 297 419 q 357 253 326 298 q 438 185 388 209 q 555 160 487 160 q 631 165 600 160 q 689 174 662 169 l 689 382 l 502 382 l 502 557 m 437 1183 q 445 1232 437 1213 q 469 1263 454 1251 q 505 1280 485 1275 q 549 1285 526 1285 q 592 1280 572 1285 q 628 1263 613 1275 q 652 1232 643 1251 q 662 1183 662 1213 q 652 1135 662 1155 q 628 1104 643 1115 q 592 1087 613 1092 q 549 1082 572 1082 q 505 1087 526 1082 q 469 1104 485 1092 q 445 1135 454 1115 q 437 1183 437 1155 \"},n:{x_min:109,x_max:767,ha:871,o:\"m 767 0 l 560 0 l 560 442 q 535 565 560 524 q 456 606 510 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 \"},ά:{x_min:69,x_max:834,ha:864,o:\"m 399 152 q 457 165 433 152 q 495 204 480 177 q 516 272 509 231 q 524 369 523 312 l 524 377 q 518 475 524 432 q 497 546 512 517 q 458 589 482 575 q 397 604 434 604 q 308 546 337 604 q 280 375 280 487 q 309 207 280 263 q 399 152 337 152 m 332 -14 q 224 11 273 -14 q 141 85 175 36 q 87 207 106 134 q 69 376 69 280 q 88 546 69 473 q 143 670 107 620 q 231 745 179 720 q 346 771 282 771 q 411 763 382 771 q 464 742 440 756 q 506 706 487 728 q 540 656 525 685 l 550 656 q 569 708 557 680 q 600 758 581 736 l 784 758 q 768 702 776 735 q 752 628 759 669 q 740 542 745 588 q 736 451 736 497 l 736 239 q 740 201 736 216 q 753 176 745 185 q 771 163 761 167 q 793 159 781 159 q 815 162 802 159 q 834 166 828 164 l 834 3 q 816 -2 828 0 q 790 -8 805 -5 q 761 -12 776 -10 q 734 -14 747 -14 q 667 -8 697 -14 q 614 10 637 -3 q 573 45 590 23 q 542 100 555 67 l 529 100 q 497 56 516 77 q 455 19 478 35 q 401 -5 431 3 q 332 -14 370 -14 m 367 860 q 379 906 373 880 q 390 960 385 932 q 401 1014 396 987 q 408 1064 405 1041 l 600 1064 l 600 1049 q 551 950 579 1003 q 487 842 523 897 l 367 842 l 367 860 \"},ϊ:{x_min:3,x_max:509,ha:538,o:\"m 315 758 l 315 236 q 337 171 315 192 q 395 150 359 150 q 453 157 425 150 q 509 174 480 164 l 509 20 q 436 -4 479 5 q 342 -14 393 -14 q 250 -2 292 -14 q 176 37 207 9 q 126 115 144 66 q 109 237 109 163 l 109 758 l 315 758 m 3 953 q 10 994 3 977 q 30 1022 17 1011 q 60 1039 43 1034 q 97 1045 77 1045 q 134 1039 117 1045 q 164 1022 151 1034 q 185 994 177 1011 q 193 953 193 977 q 185 913 193 930 q 164 885 177 896 q 134 868 151 873 q 97 863 117 863 q 60 868 77 863 q 30 885 43 873 q 10 913 17 896 q 3 953 3 930 m 276 953 q 283 994 276 977 q 303 1022 290 1011 q 334 1039 316 1034 q 372 1045 351 1045 q 408 1039 391 1045 q 439 1022 425 1034 q 460 994 452 1011 q 468 953 468 977 q 460 913 468 930 q 439 885 452 896 q 408 868 425 873 q 372 863 391 863 q 303 885 331 863 q 276 953 276 907 \"},\"\\ufeff\":{x_min:0,x_max:0,ha:0},ģ:{x_min:14,x_max:735.140625,ha:766,o:\"m 735 757 l 735 644 l 624 610 q 643 562 638 587 q 649 509 649 537 q 630 403 649 451 q 576 322 612 356 q 486 269 540 288 q 360 251 432 251 q 326 252 345 251 q 299 256 308 254 q 279 232 286 244 q 271 201 271 219 q 280 179 271 187 q 303 165 289 170 q 336 158 317 160 q 375 157 355 157 l 493 157 q 591 144 547 157 q 664 106 634 131 q 710 40 694 80 q 727 -54 727 0 q 701 -170 727 -118 q 624 -258 675 -222 q 497 -314 573 -295 q 322 -334 421 -334 q 187 -319 244 -334 q 91 -277 129 -304 q 33 -211 52 -249 q 14 -123 14 -172 q 28 -51 14 -81 q 66 0 42 -20 q 120 36 90 22 q 182 57 150 49 q 154 74 168 63 q 129 99 140 85 q 111 131 118 113 q 104 167 104 148 q 110 206 104 189 q 128 239 116 224 q 159 268 141 254 q 200 296 177 282 q 105 379 140 322 q 71 513 71 436 q 89 622 71 574 q 145 704 108 670 q 236 755 182 737 q 360 773 290 773 q 391 771 374 773 q 424 767 408 769 q 455 762 441 764 q 477 757 469 759 l 735 757 m 193 -107 q 200 -141 193 -125 q 224 -169 207 -157 q 266 -189 240 -181 q 331 -196 293 -196 q 490 -166 437 -196 q 543 -85 543 -135 q 510 -27 543 -42 q 408 -13 477 -13 l 312 -13 q 273 -17 294 -13 q 234 -33 252 -22 q 205 -62 217 -44 q 193 -107 193 -80 m 265 510 q 289 415 265 448 q 360 381 312 381 q 432 415 410 381 q 454 510 454 448 q 432 607 454 571 q 360 643 410 643 q 265 510 265 643 m 497 1045 q 484 999 490 1025 q 473 945 478 973 q 462 891 467 918 q 455 842 457 864 l 264 842 l 264 856 q 312 955 284 902 q 376 1064 340 1008 l 497 1064 l 497 1045 \"},\"∂\":{x_min:40,x_max:761,ha:807,o:\"m 761 623 q 749 477 761 552 q 715 331 738 402 q 656 198 691 260 q 571 88 620 135 q 459 13 522 40 q 318 -14 396 -14 q 183 9 236 -14 q 97 73 129 33 q 52 164 65 112 q 40 270 40 215 q 48 359 40 311 q 74 456 56 408 q 122 549 93 504 q 194 628 151 594 q 292 683 236 662 q 420 704 348 704 q 549 676 492 704 q 508 798 541 756 q 412 839 474 839 q 367 834 391 839 q 317 818 343 828 q 264 794 291 808 q 212 761 237 779 l 212 944 q 323 990 266 974 q 439 1006 380 1006 q 594 974 532 1006 q 692 889 656 942 q 745 767 729 836 q 761 623 761 698 m 321 152 q 395 179 361 152 q 457 251 429 206 q 504 356 484 297 q 535 480 524 415 q 497 533 525 515 q 433 550 470 550 q 375 536 401 550 q 329 499 350 522 q 294 446 309 476 q 270 383 280 416 q 256 317 260 350 q 251 255 251 284 q 267 179 251 206 q 321 152 283 152 \"},κ:{x_min:109,x_max:819,ha:819,o:\"m 307 383 l 393 515 l 580 758 l 801 758 l 527 421 l 819 0 l 585 0 l 396 283 l 315 227 l 315 0 l 109 0 l 109 758 l 315 758 l 315 559 q 314 501 315 532 q 310 444 312 470 q 305 383 307 412 l 307 383 \"},\"‡\":{x_min:84,x_max:648,ha:730,o:\"m 423 378 l 648 399 l 648 234 l 423 256 l 460 0 l 271 0 l 309 256 l 84 234 l 84 399 l 309 378 l 277 533 l 309 677 l 84 656 l 84 820 l 309 800 l 271 1055 l 460 1055 l 423 800 l 648 820 l 648 656 l 423 677 l 454 533 l 423 378 \"},ň:{x_min:109,x_max:767,ha:871,o:\"m 767 0 l 560 0 l 560 442 q 535 565 560 524 q 456 606 510 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 m 717 1045 q 677 1000 700 1026 q 633 947 655 974 q 591 892 611 919 q 556 842 571 865 l 315 842 q 279 892 300 865 q 237 947 259 919 q 194 1000 215 974 q 155 1045 172 1026 l 155 1064 l 292 1064 q 362 1011 327 1041 q 434 945 397 982 q 507 1011 469 982 q 579 1064 544 1041 l 717 1064 l 717 1045 \"},\"√\":{x_min:25,x_max:865,ha:762,o:\"m 450 -10 l 326 -10 l 144 491 l 25 491 l 25 635 l 245 635 l 384 249 l 716 1192 l 865 1192 l 450 -10 \"},ę:{x_min:69,x_max:741,ha:807,o:\"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 536 -140 q 551 -182 536 -168 q 590 -195 566 -195 q 633 -191 611 -195 q 668 -183 654 -187 l 668 -304 q 621 -315 646 -310 q 562 -320 596 -320 q 491 -308 523 -320 q 438 -276 460 -296 q 404 -227 416 -255 q 393 -163 393 -198 q 402 -110 393 -134 q 428 -64 411 -85 q 467 -24 445 -43 q 515 14 489 -5 l 636 14 q 562 -67 589 -30 q 536 -140 536 -104 \"},į:{x_min:73,x_max:348,ha:424,o:\"m 100 953 q 109 1002 100 983 q 133 1033 117 1021 q 169 1050 148 1045 q 212 1055 189 1055 q 256 1050 235 1055 q 291 1033 276 1045 q 316 1002 307 1021 q 325 953 325 983 q 316 905 325 925 q 291 874 307 885 q 256 857 276 862 q 212 852 235 852 q 169 857 189 852 q 133 874 148 862 q 109 905 117 885 q 100 953 100 925 m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 216 -154 q 231 -196 216 -182 q 270 -209 246 -209 q 313 -205 291 -209 q 348 -197 334 -201 l 348 -318 q 301 -329 326 -324 q 242 -334 276 -334 q 171 -322 203 -334 q 118 -290 140 -310 q 84 -241 96 -269 q 73 -177 73 -212 q 82 -124 73 -148 q 108 -78 91 -99 q 147 -38 125 -57 q 195 0 169 -19 l 316 0 q 242 -81 269 -44 q 216 -154 216 -118 \"},Τ:{x_min:28,x_max:735,ha:762,o:\"m 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 0 \"},\"≈\":{x_min:60,x_max:705,ha:765,o:\"m 358 551 q 313 569 333 562 q 278 581 294 577 q 248 587 262 586 q 218 589 234 589 q 177 583 198 589 q 136 565 156 576 q 96 539 116 554 q 60 507 77 524 l 60 664 q 137 719 94 700 q 233 738 180 738 q 271 736 253 738 q 307 729 288 734 q 350 716 326 725 q 406 694 374 708 q 451 676 432 683 q 487 665 471 669 q 518 659 503 660 q 547 657 532 657 q 587 663 566 657 q 629 681 608 670 q 668 707 649 692 q 705 739 688 722 l 705 582 q 531 509 636 509 q 493 510 511 509 q 457 516 476 512 q 414 529 438 521 q 358 551 390 538 m 358 280 q 313 298 333 291 q 278 310 294 306 q 248 316 262 315 q 218 318 234 318 q 177 312 198 318 q 136 294 156 305 q 96 268 116 283 q 60 236 77 253 l 60 393 q 137 448 94 429 q 233 467 180 467 q 271 465 253 467 q 307 458 288 463 q 350 445 326 454 q 406 423 374 437 q 451 405 432 412 q 487 394 471 398 q 518 388 503 389 q 547 386 532 386 q 587 392 566 386 q 629 410 608 399 q 668 436 649 421 q 705 468 688 451 l 705 311 q 531 238 636 238 q 493 239 511 238 q 457 245 476 241 q 414 258 438 250 q 358 280 390 267 \"},ΐ:{x_min:-38,x_max:511,ha:538,o:\"m 315 758 l 315 236 q 337 171 315 192 q 395 150 359 150 q 453 157 425 150 q 509 174 480 164 l 509 20 q 436 -4 479 5 q 342 -14 393 -14 q 250 -2 292 -14 q 176 37 207 9 q 126 115 144 66 q 109 237 109 163 l 109 758 l 315 758 m -38 953 q -15 1023 -38 1001 q 42 1044 6 1044 q 101 1023 78 1044 q 124 953 124 1001 q 101 885 124 907 q 42 863 78 863 q -15 885 6 863 q -38 953 -38 907 m 348 953 q 370 1023 348 1001 q 429 1044 392 1044 q 488 1023 465 1044 q 511 953 511 1001 q 488 885 511 907 q 429 863 465 863 q 370 885 392 863 q 348 953 348 907 m 166 959 q 178 1006 172 980 q 190 1059 184 1032 q 200 1114 196 1087 q 208 1164 205 1141 l 386 1164 l 386 1150 q 331 1050 364 1104 q 259 942 298 996 l 166 942 l 166 959 \"},ĸ:{x_min:109,x_max:819,ha:819,o:\"m 307 383 l 393 515 l 580 758 l 801 758 l 527 421 l 819 0 l 585 0 l 396 283 l 315 227 l 315 0 l 109 0 l 109 758 l 315 758 l 315 559 q 314 501 315 532 q 310 444 312 470 q 305 383 307 412 l 307 383 \"},g:{x_min:14,x_max:735.140625,ha:766,o:\"m 735 757 l 735 644 l 624 610 q 643 562 638 587 q 649 509 649 537 q 630 403 649 451 q 576 322 612 356 q 486 269 540 288 q 360 251 432 251 q 326 252 345 251 q 299 256 308 254 q 279 232 286 244 q 271 201 271 219 q 280 179 271 187 q 303 165 289 170 q 336 158 317 160 q 375 157 355 157 l 493 157 q 591 144 547 157 q 664 106 634 131 q 710 40 694 80 q 727 -54 727 0 q 701 -170 727 -118 q 624 -258 675 -222 q 497 -314 573 -295 q 322 -334 421 -334 q 187 -319 244 -334 q 91 -277 129 -304 q 33 -211 52 -249 q 14 -123 14 -172 q 28 -51 14 -81 q 66 0 42 -20 q 120 36 90 22 q 182 57 150 49 q 154 74 168 63 q 129 99 140 85 q 111 131 118 113 q 104 167 104 148 q 110 206 104 189 q 128 239 116 224 q 159 268 141 254 q 200 296 177 282 q 105 379 140 322 q 71 513 71 436 q 89 622 71 574 q 145 704 108 670 q 236 755 182 737 q 360 773 290 773 q 391 771 374 773 q 424 767 408 769 q 455 762 441 764 q 477 757 469 759 l 735 757 m 193 -107 q 200 -141 193 -125 q 224 -169 207 -157 q 266 -189 240 -181 q 331 -196 293 -196 q 490 -166 437 -196 q 543 -85 543 -135 q 510 -27 543 -42 q 408 -13 477 -13 l 312 -13 q 273 -17 294 -13 q 234 -33 252 -22 q 205 -62 217 -44 q 193 -107 193 -80 m 265 510 q 289 415 265 448 q 360 381 312 381 q 432 415 410 381 q 454 510 454 448 q 432 607 454 571 q 360 643 410 643 q 265 510 265 643 \"},ǿ:{x_min:69,x_max:762,ha:832,o:\"m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 339 -7 374 -14 q 271 11 304 0 l 233 -51 l 123 9 l 169 84 q 95 209 122 134 q 69 380 69 283 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 498 764 459 773 q 572 739 537 755 l 605 793 l 713 728 l 671 661 q 738 541 714 612 q 762 380 762 470 m 280 380 q 288 278 280 322 l 480 589 q 414 606 453 606 q 312 550 343 606 q 280 380 280 494 m 550 380 q 546 457 550 424 l 365 162 q 389 154 376 156 q 415 152 401 152 q 518 210 486 152 q 550 380 550 267 m 294 842 l 294 860 q 324 905 308 879 q 356 958 340 931 q 386 1013 372 986 q 412 1064 401 1040 l 644 1064 l 644 1049 q 622 1021 636 1037 q 589 985 608 1004 q 550 946 571 966 q 508 907 529 926 q 466 871 486 888 q 431 842 447 854 l 294 842 \"},\"²\":{x_min:31.578125,x_max:476.28125,ha:526,o:\"m 476 397 l 37 397 l 37 508 l 189 657 q 242 710 221 687 q 275 751 263 732 q 293 785 288 769 q 298 819 298 801 q 282 859 298 845 q 238 873 265 873 q 181 859 211 873 q 115 815 151 846 l 31 918 q 130 981 75 957 q 259 1006 185 1006 q 341 994 304 1006 q 404 961 378 983 q 445 908 430 940 q 460 835 460 876 q 451 776 460 803 q 424 720 443 748 q 377 662 406 692 q 308 594 349 631 l 237 529 l 476 529 l 476 397 \"},Ã:{x_min:-.25,x_max:903.25,ha:903,o:\"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 342 1135 q 308 1119 321 1135 q 288 1069 296 1103 l 187 1069 q 204 1163 191 1123 q 240 1228 218 1202 q 292 1266 262 1253 q 357 1279 321 1279 q 411 1269 385 1279 q 464 1246 438 1259 q 515 1224 490 1234 q 565 1214 541 1214 q 598 1230 586 1214 q 619 1280 611 1246 l 721 1280 q 703 1187 716 1226 q 666 1122 689 1148 q 614 1083 644 1096 q 550 1071 585 1071 q 496 1081 523 1071 q 443 1103 468 1091 q 392 1125 417 1115 q 342 1135 366 1135 \"},Ј:{x_min:-135,x_max:335,ha:460,o:\"m -1 -292 q -78 -287 -45 -292 q -135 -277 -111 -283 l -135 -103 q -82 -112 -109 -108 q -22 -117 -54 -117 q 35 -110 8 -117 q 82 -86 62 -103 q 113 -42 102 -70 q 124 27 124 -14 l 124 992 l 335 992 l 335 35 q 310 -111 335 -49 q 241 -213 285 -173 q 134 -273 196 -254 q -1 -292 73 -292 \"},\"©\":{x_min:68,x_max:1088,ha:1156,o:\"m 606 699 q 504 645 540 699 q 468 495 468 591 q 501 344 468 397 q 606 291 534 291 q 690 302 645 291 q 774 331 735 312 l 774 212 q 695 187 735 196 q 603 178 655 178 q 476 201 530 178 q 385 266 422 224 q 331 366 349 308 q 313 497 313 425 q 330 625 313 567 q 383 725 348 683 q 473 789 419 766 q 597 813 526 813 q 706 799 654 813 q 804 765 758 786 l 754 659 q 606 699 677 699 m 68 495 q 86 631 68 566 q 137 753 104 696 q 217 856 170 809 q 320 936 264 903 q 442 987 377 969 q 578 1006 507 1006 q 713 987 648 1006 q 835 936 778 969 q 938 856 892 903 q 1018 753 985 809 q 1069 631 1051 696 q 1088 495 1088 566 q 1069 359 1088 425 q 1018 238 1051 294 q 938 134 985 181 q 835 55 892 88 q 713 3 778 21 q 578 -14 648 -14 q 442 3 507 -14 q 320 55 377 21 q 217 134 264 88 q 137 238 170 181 q 86 359 104 294 q 68 495 68 425 m 164 496 q 196 334 164 409 q 285 203 229 259 q 416 114 341 147 q 578 82 491 82 q 739 114 664 82 q 870 203 814 147 q 959 334 926 259 q 991 496 991 409 q 959 657 991 582 q 870 788 926 732 q 739 877 814 844 q 578 909 664 909 q 416 877 491 909 q 285 788 341 844 q 196 657 229 732 q 164 496 164 582 \"},\"≥\":{x_min:60,x_max:705,ha:765,o:\"m 60 0 l 60 148 l 705 148 l 705 0 l 60 0 m 60 341 l 496 531 l 60 746 l 60 909 l 705 573 l 705 475 l 60 179 l 60 341 \"},Ă:{x_min:-.25,x_max:903.25,ha:903,o:\"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 698 1300 q 676 1207 694 1249 q 628 1135 659 1165 q 552 1087 596 1104 q 449 1071 507 1071 q 345 1087 389 1071 q 270 1133 300 1103 q 224 1205 240 1163 q 206 1300 208 1247 l 321 1300 q 333 1253 324 1270 q 359 1227 343 1236 q 398 1216 375 1218 q 450 1214 421 1214 q 497 1217 475 1214 q 536 1229 519 1220 q 565 1255 554 1238 q 579 1300 577 1272 l 698 1300 \"},ґ:{x_min:109,x_max:619,ha:669,o:\"m 315 0 l 109 0 l 109 758 l 440 758 l 440 965 l 619 965 l 619 604 l 315 604 l 315 0 \"},ÿ:{x_min:-.25,x_max:749.25,ha:749,o:\"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 m 143 953 q 150 994 143 977 q 170 1022 157 1011 q 200 1039 183 1034 q 237 1045 217 1045 q 274 1039 257 1045 q 304 1022 291 1034 q 325 994 317 1011 q 333 953 333 977 q 325 913 333 930 q 304 885 317 896 q 274 868 291 873 q 237 863 257 863 q 200 868 217 863 q 170 885 183 873 q 150 913 157 896 q 143 953 143 930 m 416 953 q 423 994 416 977 q 443 1022 430 1011 q 474 1039 456 1034 q 512 1045 491 1045 q 548 1039 531 1045 q 579 1022 565 1034 q 600 994 592 1011 q 608 953 608 977 q 600 913 608 930 q 579 885 592 896 q 548 868 565 873 q 512 863 531 863 q 443 885 471 863 q 416 953 416 907 \"},Ł:{x_min:1.5625,x_max:696,ha:743,o:\"m 125 0 l 125 333 l 78 306 l 1 439 l 125 514 l 125 992 l 335 992 l 335 641 l 432 701 l 511 568 l 335 461 l 335 173 l 696 173 l 696 0 l 125 0 \"},\" \":{x_min:0,x_max:0,ha:372},\"∫\":{x_min:.234375,x_max:572.65625,ha:572,o:\"m 465 881 q 410 856 430 881 q 390 788 390 832 l 390 -76 q 371 -193 390 -144 q 319 -272 353 -241 q 238 -319 285 -304 q 132 -334 190 -334 q 61 -326 94 -334 q 0 -306 28 -319 l 0 -133 q 51 -152 23 -144 q 107 -160 79 -160 q 164 -135 147 -160 q 182 -64 182 -110 l 182 798 q 200 914 182 866 q 253 994 219 963 q 334 1040 287 1025 q 440 1055 382 1055 q 572 1027 514 1055 l 572 855 q 520 873 548 865 q 465 881 492 881 \"},\"\\\\\":{x_min:7.75,x_max:566.25,ha:574,o:\"m 195 992 l 566 0 l 378 0 l 7 992 l 195 992 \"},Ì:{x_min:29,x_max:495.96875,ha:541,o:\"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 241 1071 q 186 1118 218 1089 q 122 1175 153 1146 q 65 1233 91 1205 q 29 1278 39 1260 l 29 1293 l 260 1293 q 286 1242 271 1269 q 316 1187 300 1215 q 348 1134 332 1160 q 379 1089 364 1108 l 379 1071 l 241 1071 \"},ъ:{x_min:32,x_max:927,ha:983,o:\"m 479 758 l 479 467 l 612 467 q 850 411 773 467 q 927 242 927 356 q 909 142 927 187 q 853 65 891 97 q 756 17 815 34 q 611 0 696 0 l 273 0 l 273 604 l 32 604 l 32 758 l 479 758 m 720 239 q 690 300 720 281 q 600 319 660 319 l 479 319 l 479 147 l 603 147 q 650 152 629 147 q 687 168 671 156 q 711 196 702 179 q 720 239 720 214 \"},ς:{x_min:69,x_max:650,ha:657,o:\"m 69 335 q 94 544 69 460 q 166 679 119 628 q 278 751 212 730 q 424 773 344 773 q 540 758 482 773 q 649 718 598 744 l 589 562 q 502 594 544 581 q 424 606 461 606 q 314 540 348 606 q 280 340 280 473 q 292 264 280 293 q 327 216 305 234 q 381 188 349 198 q 453 168 413 177 q 546 137 508 155 q 607 95 584 118 q 640 44 630 72 q 650 -15 650 16 q 642 -78 650 -46 q 622 -142 634 -111 q 595 -202 610 -173 q 563 -257 579 -231 l 355 -257 q 392 -199 374 -228 q 425 -141 411 -169 q 447 -88 439 -113 q 455 -46 455 -64 q 451 -27 455 -36 q 435 -10 447 -18 q 401 5 423 -2 q 343 21 379 12 q 228 60 279 34 q 142 125 177 86 q 87 216 106 164 q 69 335 69 268 \"},Ē:{x_min:125,x_max:696,ha:778,o:\"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 202 1214 l 620 1214 l 620 1071 l 202 1071 l 202 1214 \"},\"!\":{x_min:79,x_max:316,ha:397,o:\"m 281 330 l 116 330 l 81 992 l 316 992 l 281 330 m 79 97 q 88 151 79 129 q 113 187 97 173 q 151 206 129 200 q 198 213 173 213 q 243 206 221 213 q 280 187 264 200 q 306 151 297 173 q 316 97 316 129 q 306 45 316 66 q 280 9 297 23 q 243 -11 264 -5 q 198 -18 221 -18 q 151 -11 173 -18 q 113 9 129 -5 q 88 45 97 23 q 79 97 79 66 \"},ç:{x_min:69,x_max:648.703125,ha:693,o:\"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 m 528 -169 q 517 -239 528 -208 q 482 -290 506 -269 q 417 -322 458 -311 q 318 -334 377 -334 q 263 -329 287 -334 q 219 -319 238 -325 l 219 -205 q 241 -210 229 -208 q 267 -215 254 -213 q 293 -218 280 -217 q 316 -220 306 -220 q 350 -210 335 -220 q 365 -178 365 -201 q 340 -133 365 -153 q 252 -105 314 -114 l 305 0 l 436 0 l 417 -41 q 458 -59 438 -48 q 493 -87 478 -71 q 518 -124 508 -103 q 528 -169 528 -144 \"},Й:{x_min:125,x_max:963,ha:1088,o:\"m 125 992 l 312 992 l 312 522 q 311 484 312 505 q 310 440 311 463 q 309 395 310 417 q 307 350 308 372 q 302 248 304 300 l 306 248 l 712 992 l 963 992 l 963 0 l 775 0 l 775 466 q 777 554 775 505 q 781 646 779 602 q 788 750 784 698 l 782 750 l 375 0 l 125 0 l 125 992 m 864 1314 q 839 1214 858 1259 q 780 1138 819 1170 q 680 1088 742 1106 q 529 1071 619 1071 q 377 1087 437 1071 q 279 1136 316 1104 q 226 1212 243 1168 q 206 1314 210 1257 l 392 1314 q 405 1249 395 1274 q 431 1210 414 1224 q 473 1190 447 1196 q 535 1184 499 1184 q 589 1191 564 1184 q 632 1212 614 1197 q 661 1252 650 1227 q 677 1314 673 1277 l 864 1314 \"},Б:{x_min:125,x_max:769,ha:831,o:\"m 335 613 l 408 613 q 569 590 501 613 q 681 527 637 568 q 747 432 726 487 q 769 310 769 376 q 746 179 769 237 q 678 81 724 121 q 560 21 631 42 q 390 0 489 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 613 m 335 174 l 393 174 q 462 182 431 174 q 514 205 492 189 q 547 247 536 221 q 558 310 558 273 q 546 374 558 349 q 510 413 534 399 q 453 432 487 427 q 378 438 420 438 l 335 438 l 335 174 \"},đ:{x_min:69,x_max:841,ha:844,o:\"m 331 -14 q 224 9 272 -14 q 142 80 176 33 q 88 196 107 127 q 69 356 69 265 q 88 518 69 448 q 143 635 107 588 q 228 706 178 682 q 337 730 277 730 q 404 721 373 730 q 459 698 434 713 q 502 662 483 683 q 536 618 522 642 l 543 618 q 536 673 539 645 q 530 724 532 696 q 528 776 528 751 l 528 811 l 315 811 l 315 946 l 528 946 l 528 1055 l 735 1055 l 735 946 l 841 946 l 841 811 l 735 811 l 735 0 l 576 0 l 536 97 l 528 97 q 495 54 513 74 q 453 18 477 33 q 399 -5 429 3 q 331 -14 369 -14 m 407 150 q 469 162 444 150 q 510 196 495 173 q 534 254 526 219 q 542 335 541 289 l 542 354 q 535 443 542 405 q 513 508 528 482 q 471 548 497 534 q 406 561 445 561 q 310 508 341 561 q 280 353 280 455 q 310 201 280 252 q 407 150 341 150 \"},ċ:{x_min:69,x_max:648.703125,ha:693,o:\"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 m 302 954 q 310 1003 302 984 q 334 1034 319 1022 q 370 1051 350 1046 q 414 1056 391 1056 q 457 1051 437 1056 q 493 1034 478 1046 q 517 1003 508 1022 q 527 954 527 984 q 517 906 527 926 q 493 875 508 886 q 457 858 478 863 q 414 853 437 853 q 370 858 391 853 q 334 875 350 863 q 310 906 319 886 q 302 954 302 926 \"},Ā:{x_min:-.25,x_max:903.25,ha:903,o:\"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 243 1214 l 661 1214 l 661 1071 l 243 1071 l 243 1214 \"},Ẃ:{x_min:-.25,x_max:1287.25,ha:1287,o:\"m 1048 0 l 809 0 l 687 489 q 681 517 684 499 q 672 559 677 536 q 663 607 667 582 q 654 656 658 632 q 647 700 650 679 q 642 732 644 720 q 638 700 641 720 q 631 656 635 679 q 622 608 627 633 q 613 559 618 582 q 605 517 609 536 q 598 487 601 498 l 477 0 l 238 0 l 0 992 l 206 992 l 319 450 q 325 418 321 439 q 333 372 328 398 q 343 318 338 346 q 353 262 348 289 q 361 211 357 235 q 368 173 366 188 q 373 211 370 188 q 381 260 377 234 q 390 314 385 286 q 399 366 395 342 q 407 409 404 390 q 413 436 411 428 l 551 992 l 735 992 l 873 436 q 879 409 875 428 q 887 366 882 390 q 896 314 891 342 q 905 260 901 286 q 913 211 910 234 q 919 173 917 188 q 925 211 921 188 q 933 262 929 235 q 943 318 938 289 q 953 372 948 346 q 962 418 958 398 q 967 450 965 439 l 1080 992 l 1287 992 l 1048 0 m 553 1071 l 553 1089 q 583 1134 567 1108 q 615 1187 599 1160 q 645 1242 631 1215 q 671 1293 660 1269 l 903 1293 l 903 1278 q 881 1250 895 1266 q 848 1214 867 1233 q 809 1175 830 1195 q 767 1136 788 1155 q 725 1100 745 1117 q 690 1071 706 1083 l 553 1071 \"},ø:{x_min:69,x_max:762,ha:832,o:\"m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 339 -7 374 -14 q 271 11 304 0 l 233 -51 l 123 9 l 169 84 q 95 209 122 134 q 69 380 69 283 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 498 764 459 773 q 572 739 537 755 l 605 793 l 713 728 l 671 661 q 738 541 714 612 q 762 380 762 470 m 280 380 q 288 278 280 322 l 480 589 q 414 606 453 606 q 312 550 343 606 q 280 380 280 494 m 550 380 q 546 457 550 424 l 365 162 q 389 154 376 156 q 415 152 401 152 q 518 210 486 152 q 550 380 550 267 \"},â:{x_min:58,x_max:694,ha:798,o:\"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 544 841 q 472 893 509 863 q 399 959 434 922 q 327 893 362 922 q 257 841 292 863 l 120 841 l 120 859 q 159 904 137 878 q 202 957 180 930 q 244 1012 224 985 q 280 1063 265 1039 l 521 1063 q 556 1012 536 1039 q 598 957 576 985 q 642 904 620 930 q 682 859 665 878 l 682 841 l 544 841 \"},\"}\":{x_min:21,x_max:492,ha:505,o:\"m 318 -30 q 305 -116 318 -80 q 258 -175 292 -152 q 167 -209 225 -198 q 21 -220 109 -220 l 21 -66 q 69 -61 48 -66 q 106 -47 91 -57 q 130 -18 122 -36 q 138 29 138 0 l 138 232 q 178 333 136 295 q 296 382 219 370 l 296 390 q 138 540 143 414 l 138 743 q 130 790 138 772 q 106 819 122 808 q 69 833 91 829 q 21 838 48 838 l 21 992 q 167 981 109 992 q 258 947 225 970 q 305 889 292 924 q 318 803 318 853 l 318 587 q 328 532 317 555 q 361 494 339 509 q 416 473 383 479 q 492 467 449 467 l 492 304 q 362 277 407 304 q 318 183 318 249 l 318 -30 \"},Δ:{x_min:39,x_max:820,ha:859,o:\"m 39 120 l 311 996 l 549 996 l 820 119 l 820 0 l 39 0 l 39 120 m 457 701 q 451 726 455 709 q 442 764 446 744 q 434 800 437 783 q 429 823 430 817 q 425 800 429 817 q 417 764 422 783 q 409 726 413 744 q 403 700 405 708 l 253 174 l 606 174 l 457 701 \"},\"‰\":{x_min:43,x_max:1695,ha:1738,o:\"m 967 992 l 416 0 l 254 0 l 805 992 l 967 992 m 880 299 q 896 170 880 213 q 945 128 911 128 q 994 170 978 128 q 1010 299 1010 212 q 945 469 1010 469 q 896 427 911 469 q 880 299 880 386 m 1181 300 q 1167 168 1181 226 q 1123 70 1153 110 q 1050 9 1094 30 q 943 -12 1005 -12 q 842 9 885 -12 q 769 70 798 30 q 724 168 739 110 q 710 300 710 226 q 723 430 710 373 q 765 528 737 488 q 838 588 794 567 q 943 610 882 610 q 1046 588 1001 610 q 1120 528 1090 567 q 1165 430 1150 488 q 1181 300 1181 373 m 1394 299 q 1410 170 1394 213 q 1458 128 1425 128 q 1508 170 1492 128 q 1524 299 1524 212 q 1458 469 1524 469 q 1410 427 1425 469 q 1394 299 1394 386 m 1695 300 q 1681 168 1695 226 q 1638 70 1667 110 q 1564 9 1608 30 q 1457 -12 1519 -12 q 1356 9 1400 -12 q 1283 70 1312 30 q 1238 168 1253 110 q 1224 300 1224 226 q 1237 430 1224 373 q 1279 528 1251 488 q 1352 588 1308 567 q 1457 610 1396 610 q 1560 588 1515 610 q 1634 528 1604 567 q 1679 430 1664 488 q 1695 300 1695 373 m 213 695 q 229 566 213 608 q 278 523 244 523 q 327 565 311 523 q 343 695 343 607 q 278 865 343 865 q 229 823 244 865 q 213 695 213 781 m 514 695 q 500 564 514 622 q 457 465 486 505 q 383 404 427 425 q 276 383 338 383 q 175 404 219 383 q 102 465 131 425 q 57 564 72 505 q 43 695 43 622 q 56 826 43 769 q 98 924 70 884 q 171 984 127 963 q 276 1006 215 1006 q 379 984 335 1006 q 453 924 423 963 q 498 826 483 884 q 514 695 514 769 \"},Ä:{x_min:-.25,x_max:903.25,ha:903,o:\"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 220 1182 q 227 1223 220 1206 q 247 1251 234 1240 q 277 1268 260 1263 q 314 1274 294 1274 q 351 1268 334 1274 q 381 1251 368 1263 q 402 1223 394 1240 q 410 1182 410 1206 q 402 1142 410 1159 q 381 1114 394 1125 q 351 1097 368 1102 q 314 1092 334 1092 q 277 1097 294 1092 q 247 1114 260 1102 q 227 1142 234 1125 q 220 1182 220 1159 m 493 1182 q 500 1223 493 1206 q 520 1251 507 1240 q 551 1268 533 1263 q 589 1274 568 1274 q 625 1268 608 1274 q 656 1251 642 1263 q 677 1223 669 1240 q 685 1182 685 1206 q 677 1142 685 1159 q 656 1114 669 1125 q 625 1097 642 1102 q 589 1092 608 1092 q 520 1114 548 1092 q 493 1182 493 1136 \"},ř:{x_min:57,x_max:619,ha:603,o:\"m 504 773 q 522 772 512 773 q 541 771 532 772 q 558 769 550 770 q 570 766 565 768 l 570 572 q 555 575 564 574 q 535 578 545 576 q 514 579 524 579 q 497 579 504 579 q 423 569 457 579 q 366 536 390 559 q 329 476 342 513 q 315 386 315 439 l 315 0 l 109 0 l 109 758 l 265 758 l 296 644 l 306 644 q 341 697 322 673 q 383 738 360 721 q 436 763 407 754 q 504 773 466 773 m 619 1045 q 579 1000 602 1026 q 535 947 557 974 q 493 892 513 919 q 458 842 473 865 l 217 842 q 181 892 202 865 q 139 947 161 919 q 96 1000 117 974 q 57 1045 74 1026 l 57 1064 l 194 1064 q 264 1011 229 1041 q 336 945 299 982 q 409 1011 371 982 q 481 1064 446 1041 l 619 1064 l 619 1045 \"},\"—\":{x_min:56,x_max:1333,ha:1389,o:\"m 56 296 l 56 452 l 1333 452 l 1333 296 l 56 296 \"},N:{x_min:125,x_max:963,ha:1088,o:\"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 \"},\"⁄\":{x_min:-267.25,x_max:445.25,ha:180,o:\"m 445 992 l -105 0 l -267 0 l 283 992 l 445 992 \"},М:{x_min:125,x_max:1143,ha:1268,o:\"m 523 0 l 305 778 l 299 778 q 306 657 303 715 q 308 605 307 632 q 310 553 309 579 q 311 503 311 527 q 312 461 312 480 l 312 0 l 125 0 l 125 992 l 410 992 l 625 233 l 629 233 l 856 992 l 1143 992 l 1143 0 l 947 0 l 947 469 q 947 509 947 487 q 948 556 947 531 q 950 607 949 581 q 951 657 951 633 q 956 776 954 714 l 951 776 l 716 0 l 523 0 \"},Ó:{x_min:81,x_max:970,ha:1050,o:\"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 400 1071 l 400 1089 q 430 1134 414 1108 q 462 1187 446 1160 q 492 1242 478 1215 q 518 1293 507 1269 l 750 1293 l 750 1278 q 728 1250 742 1266 q 695 1214 714 1233 q 656 1175 677 1195 q 614 1136 635 1155 q 572 1100 592 1117 q 537 1071 553 1083 l 400 1071 \"},\"˜\":{x_min:134,x_max:668,ha:802,o:\"m 289 906 q 255 890 268 906 q 235 840 243 874 l 134 840 q 151 934 138 894 q 187 999 165 973 q 239 1037 209 1024 q 304 1050 268 1050 q 358 1040 332 1050 q 411 1017 385 1030 q 462 995 437 1005 q 512 985 488 985 q 545 1001 533 985 q 566 1051 558 1017 l 668 1051 q 650 958 663 997 q 613 893 636 919 q 561 854 591 867 q 497 842 532 842 q 443 852 470 842 q 390 874 415 862 q 339 896 364 886 q 289 906 313 906 \"},\" \":{x_min:0,x_max:0,ha:695},ˇ:{x_min:119,x_max:681,ha:802,o:\"m 681 1045 q 641 1000 664 1026 q 597 947 619 974 q 555 892 575 919 q 520 842 535 865 l 279 842 q 243 892 264 865 q 201 947 223 919 q 158 1000 179 974 q 119 1045 136 1026 l 119 1064 l 256 1064 q 326 1011 291 1041 q 398 945 361 982 q 471 1011 433 982 q 543 1064 508 1041 l 681 1064 l 681 1045 \"},ų:{x_min:104,x_max:762,ha:871,o:\"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 625 -154 q 640 -196 625 -182 q 679 -209 655 -209 q 722 -205 700 -209 q 757 -197 743 -201 l 757 -318 q 710 -329 735 -324 q 651 -334 685 -334 q 580 -322 612 -334 q 527 -290 549 -310 q 493 -241 505 -269 q 482 -177 482 -212 q 491 -124 482 -148 q 517 -78 500 -99 q 556 -38 534 -57 q 604 0 578 -19 l 725 0 q 651 -81 678 -44 q 625 -154 625 -118 \"},Ў:{x_min:-.25,x_max:851.25,ha:851,o:\"m 851 992 l 563 290 q 503 162 534 218 q 431 66 473 105 q 332 6 389 27 q 194 -14 275 -14 q 120 -8 159 -14 q 46 6 80 -3 l 46 185 q 118 166 79 171 q 194 160 158 160 q 253 169 229 160 q 294 195 277 178 q 322 232 311 211 q 343 279 334 254 l 0 992 l 222 992 l 409 563 q 420 538 414 553 q 431 509 426 524 q 441 482 437 495 q 446 465 446 470 l 454 465 q 458 483 455 471 q 465 510 461 496 q 473 538 469 524 q 482 562 478 552 l 634 992 l 851 992 m 753 1314 q 728 1214 747 1259 q 669 1138 708 1170 q 569 1088 631 1106 q 418 1071 508 1071 q 266 1087 326 1071 q 168 1136 205 1104 q 115 1212 132 1168 q 95 1314 99 1257 l 281 1314 q 294 1249 284 1274 q 320 1210 303 1224 q 362 1190 336 1196 q 424 1184 388 1184 q 478 1191 453 1184 q 521 1212 503 1197 q 550 1252 539 1227 q 566 1314 562 1277 l 753 1314 \"},Ŭ:{x_min:118,x_max:876,ha:994,o:\"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 741 1300 q 719 1207 737 1249 q 671 1135 702 1165 q 595 1087 639 1104 q 492 1071 550 1071 q 388 1087 432 1071 q 313 1133 343 1103 q 267 1205 283 1163 q 249 1300 251 1247 l 364 1300 q 376 1253 367 1270 q 402 1227 386 1236 q 441 1216 418 1218 q 493 1214 464 1214 q 540 1217 518 1214 q 579 1229 562 1220 q 608 1255 597 1238 q 622 1300 620 1272 l 741 1300 \"},ĝ:{x_min:14,x_max:735.140625,ha:766,o:\"m 735 757 l 735 644 l 624 610 q 643 562 638 587 q 649 509 649 537 q 630 403 649 451 q 576 322 612 356 q 486 269 540 288 q 360 251 432 251 q 326 252 345 251 q 299 256 308 254 q 279 232 286 244 q 271 201 271 219 q 280 179 271 187 q 303 165 289 170 q 336 158 317 160 q 375 157 355 157 l 493 157 q 591 144 547 157 q 664 106 634 131 q 710 40 694 80 q 727 -54 727 0 q 701 -170 727 -118 q 624 -258 675 -222 q 497 -314 573 -295 q 322 -334 421 -334 q 187 -319 244 -334 q 91 -277 129 -304 q 33 -211 52 -249 q 14 -123 14 -172 q 28 -51 14 -81 q 66 0 42 -20 q 120 36 90 22 q 182 57 150 49 q 154 74 168 63 q 129 99 140 85 q 111 131 118 113 q 104 167 104 148 q 110 206 104 189 q 128 239 116 224 q 159 268 141 254 q 200 296 177 282 q 105 379 140 322 q 71 513 71 436 q 89 622 71 574 q 145 704 108 670 q 236 755 182 737 q 360 773 290 773 q 391 771 374 773 q 424 767 408 769 q 455 762 441 764 q 477 757 469 759 l 735 757 m 193 -107 q 200 -141 193 -125 q 224 -169 207 -157 q 266 -189 240 -181 q 331 -196 293 -196 q 490 -166 437 -196 q 543 -85 543 -135 q 510 -27 543 -42 q 408 -13 477 -13 l 312 -13 q 273 -17 294 -13 q 234 -33 252 -22 q 205 -62 217 -44 q 193 -107 193 -80 m 265 510 q 289 415 265 448 q 360 381 312 381 q 432 415 410 381 q 454 510 454 448 q 432 607 454 571 q 360 643 410 643 q 265 510 265 643 m 504 842 q 432 894 469 864 q 359 960 394 923 q 287 894 322 923 q 217 842 252 864 l 80 842 l 80 860 q 119 905 97 879 q 162 958 140 931 q 204 1013 184 986 q 240 1064 225 1040 l 481 1064 q 516 1013 496 1040 q 558 958 536 986 q 602 905 580 931 q 642 860 625 879 l 642 842 l 504 842 \"},Ω:{x_min:37,x_max:999,ha:1031,o:\"m 518 832 q 344 759 399 832 q 290 547 290 686 q 299 434 290 487 q 329 336 308 381 q 384 253 350 290 q 470 189 419 217 l 470 0 l 37 0 l 37 176 l 289 176 q 200 248 240 206 q 132 343 160 290 q 89 459 104 396 q 74 591 74 521 q 102 762 74 685 q 187 893 130 838 q 326 977 243 948 q 518 1007 409 1007 q 709 977 627 1007 q 848 893 792 948 q 933 761 905 838 q 962 589 962 684 q 946 458 962 520 q 902 343 931 396 q 834 248 874 290 q 744 176 794 206 l 999 176 l 999 0 l 561 0 l 561 189 q 649 253 614 216 q 705 336 684 290 q 736 435 727 382 q 745 548 745 488 q 691 759 745 686 q 518 832 636 832 \"},s:{x_min:66,x_max:614,ha:668,o:\"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 \"},\"?\":{x_min:17,x_max:601,ha:638,o:\"m 180 330 l 180 380 q 187 442 180 414 q 208 496 194 470 q 246 545 223 521 q 302 595 269 569 q 351 635 331 617 q 383 670 370 653 q 400 706 395 687 q 406 750 406 725 q 380 814 406 789 q 299 839 353 839 q 198 819 252 839 q 86 771 144 800 l 17 921 q 80 953 46 938 q 151 980 114 968 q 226 999 188 992 q 301 1006 264 1006 q 426 989 370 1006 q 520 940 482 972 q 580 863 559 909 q 601 760 601 818 q 591 683 601 717 q 563 621 582 650 q 516 566 544 592 q 451 509 488 539 q 404 470 422 487 q 376 439 386 453 q 362 408 366 424 q 359 370 359 392 l 359 330 l 180 330 m 158 97 q 167 151 158 129 q 192 187 176 173 q 230 206 208 200 q 278 213 252 213 q 323 206 301 213 q 360 187 344 200 q 386 151 377 173 q 396 97 396 129 q 386 45 396 66 q 360 9 377 23 q 323 -11 344 -5 q 278 -18 301 -18 q 230 -11 252 -18 q 192 9 208 -5 q 167 45 176 23 q 158 97 158 66 \"},Ņ:{x_min:125,x_max:963,ha:1088,o:\"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 m 385 -288 q 397 -242 391 -268 q 408 -188 403 -216 q 419 -134 414 -161 q 426 -85 424 -107 l 618 -85 l 618 -98 q 569 -198 597 -145 q 505 -307 541 -251 l 385 -307 l 385 -288 \"},Ī:{x_min:44.28125,x_max:495.96875,ha:541,o:\"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 62 1214 l 480 1214 l 480 1071 l 62 1071 l 62 1214 \"},Μ:{x_min:125,x_max:1143,ha:1268,o:\"m 523 0 l 305 778 l 299 778 q 306 657 303 715 q 308 605 307 632 q 310 553 309 579 q 311 503 311 527 q 312 461 312 480 l 312 0 l 125 0 l 125 992 l 410 992 l 625 233 l 629 233 l 856 992 l 1143 992 l 1143 0 l 947 0 l 947 469 q 947 509 947 487 q 948 556 947 531 q 950 607 949 581 q 951 657 951 633 q 956 776 954 714 l 951 776 l 716 0 l 523 0 \"},\"•\":{x_min:66,x_max:455,ha:522,o:\"m 66 507 q 80 606 66 566 q 121 673 95 647 q 183 711 148 699 q 260 723 219 723 q 336 711 300 723 q 398 673 371 699 q 439 606 424 647 q 455 507 455 566 q 439 409 455 450 q 398 342 424 368 q 336 304 371 316 q 260 292 300 292 q 183 304 219 292 q 121 342 148 316 q 80 409 95 368 q 66 507 66 450 \"},н:{x_min:109,x_max:770,ha:878,o:\"m 315 758 l 315 466 l 563 466 l 563 758 l 770 758 l 770 0 l 563 0 l 563 312 l 315 312 l 315 0 l 109 0 l 109 758 l 315 758 \"},\"(\":{x_min:56,x_max:430,ha:471,o:\"m 56 380 q 68 547 56 465 q 105 708 80 630 q 169 857 130 785 q 260 992 207 928 l 430 992 q 284 704 333 861 q 235 381 235 547 q 247 221 235 301 q 284 64 259 141 q 345 -84 308 -12 q 428 -220 381 -156 l 260 -220 q 169 -89 207 -158 q 105 57 130 -19 q 68 214 80 133 q 56 380 56 296 \"},\"◊\":{x_min:60,x_max:749,ha:810,o:\"m 749 498 l 443 0 l 365 0 l 60 498 l 365 999 l 443 999 l 749 498 m 569 498 l 404 776 l 239 498 l 404 221 l 569 498 \"},α:{x_min:69,x_max:834,ha:864,o:\"m 399 152 q 457 165 433 152 q 495 204 480 177 q 516 272 509 231 q 524 369 523 312 l 524 377 q 518 475 524 432 q 497 546 512 517 q 458 589 482 575 q 397 604 434 604 q 308 546 337 604 q 280 375 280 487 q 309 207 280 263 q 399 152 337 152 m 332 -14 q 224 11 273 -14 q 141 85 175 36 q 87 207 106 134 q 69 376 69 280 q 88 546 69 473 q 143 670 107 620 q 231 745 179 720 q 346 771 282 771 q 411 763 382 771 q 464 742 440 756 q 506 706 487 728 q 540 656 525 685 l 550 656 q 569 708 557 680 q 600 758 581 736 l 784 758 q 768 702 776 735 q 752 628 759 669 q 740 542 745 588 q 736 451 736 497 l 736 239 q 740 201 736 216 q 753 176 745 185 q 771 163 761 167 q 793 159 781 159 q 815 162 802 159 q 834 166 828 164 l 834 3 q 816 -2 828 0 q 790 -8 805 -5 q 761 -12 776 -10 q 734 -14 747 -14 q 667 -8 697 -14 q 614 10 637 -3 q 573 45 590 23 q 542 100 555 67 l 529 100 q 497 56 516 77 q 455 19 478 35 q 401 -5 431 3 q 332 -14 370 -14 \"},Ħ:{x_min:0,x_max:1007,ha:1007,o:\"m 1007 860 l 1007 722 l 882 722 l 882 0 l 671 0 l 671 428 l 335 428 l 335 0 l 125 0 l 125 722 l 0 722 l 0 860 l 125 860 l 125 992 l 335 992 l 335 860 l 671 860 l 671 992 l 882 992 l 882 860 l 1007 860 m 671 603 l 671 722 l 335 722 l 335 603 l 671 603 \"},м:{x_min:109,x_max:1036,ha:1145,o:\"m 1036 0 l 841 0 l 841 597 q 831 554 837 583 q 816 491 825 526 q 795 415 807 455 q 770 338 784 376 l 645 0 l 498 0 l 373 341 q 349 415 360 378 q 330 488 339 453 q 315 551 321 522 q 303 597 308 579 l 303 0 l 109 0 l 109 758 l 399 758 l 516 434 q 539 360 529 398 q 555 290 549 322 q 565 233 561 258 q 571 198 569 209 q 578 234 573 210 q 589 290 582 259 q 606 358 596 322 q 628 429 616 393 l 748 758 l 1036 758 l 1036 0 \"},з:{x_min:53,x_max:676,ha:729,o:\"m 288 464 q 428 481 379 464 q 477 544 477 498 q 445 601 477 582 q 338 619 412 619 q 285 616 313 619 q 229 606 257 612 q 173 591 201 600 q 120 571 145 583 l 58 716 q 121 738 88 728 q 192 757 154 749 q 271 768 229 764 q 364 773 314 773 q 474 760 421 773 q 567 723 527 748 q 631 660 607 698 q 656 568 656 621 q 617 458 656 499 q 514 399 578 417 l 514 393 q 577 371 548 384 q 628 338 606 358 q 663 289 650 318 q 676 218 676 260 q 654 129 676 172 q 590 55 633 87 q 481 4 547 23 q 324 -14 415 -14 q 169 -2 238 -14 q 53 31 99 8 l 53 197 q 100 176 74 186 q 156 157 126 165 q 220 144 186 149 q 288 139 253 139 q 359 143 326 139 q 416 158 392 148 q 455 185 441 169 q 469 226 469 202 q 425 294 469 272 q 288 316 380 316 l 221 316 l 221 464 l 288 464 \"},Ґ:{x_min:125,x_max:723,ha:751,o:\"m 335 0 l 125 0 l 125 992 l 535 992 l 535 1202 l 723 1202 l 723 817 l 335 817 l 335 0 \"},Û:{x_min:118,x_max:876,ha:994,o:\"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 639 1071 q 567 1123 604 1093 q 494 1189 529 1152 q 422 1123 457 1152 q 352 1071 387 1093 l 215 1071 l 215 1089 q 254 1134 232 1108 q 297 1187 275 1160 q 339 1242 319 1215 q 375 1293 360 1269 l 616 1293 q 651 1242 631 1269 q 693 1187 671 1215 q 737 1134 715 1160 q 777 1089 760 1108 l 777 1071 l 639 1071 \"},і:{x_min:100.1875,x_max:325.359375,ha:424,o:\"m 100 953 q 109 1002 100 983 q 133 1033 117 1021 q 169 1050 148 1045 q 212 1055 189 1055 q 256 1050 235 1055 q 291 1033 276 1045 q 316 1002 307 1021 q 325 953 325 983 q 316 905 325 925 q 291 874 307 885 q 256 857 276 862 q 212 852 235 852 q 169 857 189 852 q 133 874 148 862 q 109 905 117 885 q 100 953 100 925 m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 \"},V:{x_min:-.25,x_max:847.25,ha:847,o:\"m 634 992 l 847 992 l 537 0 l 308 0 l 0 992 l 212 992 l 380 394 q 389 356 383 383 q 401 296 395 329 q 414 231 408 263 q 423 176 420 198 q 433 231 427 198 q 446 296 439 263 q 459 355 453 328 q 469 394 465 382 l 634 992 \"},Ŗ:{x_min:125,x_max:875.25,ha:875,o:\"m 335 545 l 393 545 q 520 581 481 545 q 558 685 558 616 q 517 786 558 756 q 389 817 476 817 l 335 817 l 335 545 m 335 379 l 335 0 l 125 0 l 125 992 l 396 992 q 678 918 587 992 q 769 694 769 844 q 755 601 769 642 q 719 527 741 559 q 666 471 696 495 q 604 430 637 447 q 739 215 679 310 q 789 136 765 175 q 832 67 813 98 q 863 18 851 37 l 875 0 l 641 0 l 427 379 l 335 379 m 332 -288 q 344 -242 338 -268 q 355 -188 350 -216 q 366 -134 361 -161 q 373 -85 371 -107 l 565 -85 l 565 -98 q 516 -198 544 -145 q 452 -307 488 -251 l 332 -307 l 332 -288 \"},\"@\":{x_min:69,x_max:1134,ha:1203,o:\"m 1134 509 q 1118 382 1134 445 q 1072 269 1103 319 q 994 188 1041 219 q 883 158 946 158 q 834 164 857 158 q 793 182 812 170 q 760 210 774 194 q 738 245 746 226 l 728 245 q 698 212 715 228 q 661 184 682 196 q 614 165 640 172 q 559 158 589 158 q 459 177 503 158 q 385 232 415 196 q 340 317 356 267 q 325 427 325 367 q 346 556 325 497 q 406 656 367 614 q 501 722 445 699 q 627 746 558 746 q 690 742 658 746 q 753 733 723 739 q 810 721 783 728 q 855 708 836 714 l 841 423 q 840 394 840 408 q 840 376 840 380 q 844 329 840 347 q 855 300 848 311 q 872 286 863 290 q 891 282 881 282 q 932 300 915 282 q 961 349 950 318 q 979 422 973 381 q 985 511 985 464 q 959 665 985 597 q 888 780 933 733 q 779 851 842 827 q 642 875 716 875 q 459 841 538 875 q 327 744 380 806 q 247 598 274 682 q 219 412 219 513 q 243 246 219 318 q 313 125 266 174 q 428 50 360 76 q 586 25 497 25 q 664 30 624 25 q 744 43 704 35 q 822 62 783 51 q 895 87 860 74 l 895 -42 q 753 -87 831 -70 q 588 -104 676 -104 q 368 -69 465 -104 q 205 31 272 -34 q 104 192 139 97 q 69 408 69 287 q 87 569 69 492 q 140 712 105 646 q 224 832 174 778 q 338 924 274 886 q 478 983 401 962 q 642 1004 555 1004 q 839 969 749 1004 q 995 871 929 935 q 1097 715 1060 807 q 1134 509 1134 624 m 482 425 q 508 315 482 349 q 576 282 533 282 q 625 295 604 282 q 659 332 646 308 q 679 390 672 356 q 688 465 686 423 l 696 615 q 665 620 683 618 q 627 622 646 622 q 560 605 587 622 q 515 560 532 588 q 490 497 497 533 q 482 425 482 461 \"},ʼ:{x_min:16,x_max:284,ha:298,o:\"m 273 992 l 284 977 q 261 898 274 939 q 232 815 248 857 q 198 731 216 772 q 164 652 181 690 l 16 652 q 35 737 25 692 q 54 827 45 782 q 71 913 63 871 q 83 992 78 956 l 273 992 \"},\"℅\":{x_min:43,x_max:1020,ha:1063,o:\"m 837 992 l 313 0 l 150 0 l 674 992 l 837 992 m 1020 232 q 1004 128 1020 173 q 961 50 989 82 q 892 2 932 19 q 802 -14 852 -14 q 716 2 755 -14 q 647 50 676 19 q 602 128 618 82 q 587 232 587 173 q 602 337 587 291 q 645 414 617 383 q 714 462 673 446 q 805 479 754 479 q 890 462 851 479 q 958 414 929 446 q 1003 337 987 383 q 1020 232 1020 291 m 757 233 q 768 153 757 179 q 804 126 779 126 q 838 153 827 126 q 849 233 849 179 q 838 312 849 286 q 804 338 827 338 q 768 312 779 338 q 757 233 757 286 m 270 513 q 178 527 220 513 q 106 572 136 542 q 59 647 76 602 q 43 752 43 692 q 59 866 43 819 q 107 942 76 912 q 179 985 137 971 q 270 999 221 999 q 342 988 306 999 q 409 956 378 977 l 377 830 q 332 850 354 843 q 290 858 309 858 q 231 830 250 858 q 213 754 213 801 q 231 679 213 706 q 287 653 249 653 q 346 661 319 653 q 396 682 373 668 l 396 551 q 340 523 372 534 q 270 513 307 513 \"},i:{x_min:100.1875,x_max:325.359375,ha:424,o:\"m 100 953 q 109 1002 100 983 q 133 1033 117 1021 q 169 1050 148 1045 q 212 1055 189 1055 q 256 1050 235 1055 q 291 1033 276 1045 q 316 1002 307 1021 q 325 953 325 983 q 316 905 325 925 q 291 874 307 885 q 256 857 276 862 q 212 852 235 852 q 169 857 189 852 q 133 874 148 862 q 109 905 117 885 q 100 953 100 925 m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 \"},ќ:{x_min:109,x_max:818.25,ha:818,o:\"m 563 758 l 791 758 l 522 394 l 818 0 l 583 0 l 315 384 l 315 0 l 109 0 l 109 758 l 315 758 l 315 389 l 563 758 m 330 842 l 330 860 q 360 905 344 879 q 392 958 376 931 q 422 1013 408 986 q 448 1064 437 1040 l 680 1064 l 680 1049 q 658 1021 672 1037 q 625 985 644 1004 q 586 946 607 966 q 544 907 565 926 q 502 871 522 888 q 467 842 483 854 l 330 842 \"},\"≤\":{x_min:60,x_max:706.34375,ha:765,o:\"m 60 0 l 60 148 l 705 148 l 705 0 l 60 0 m 706 179 l 61 475 l 61 573 l 706 909 l 706 746 l 270 531 l 706 341 l 706 179 \"},ё:{x_min:69,x_max:741,ha:807,o:\"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 181 953 q 188 994 181 977 q 208 1022 195 1011 q 238 1039 221 1034 q 275 1045 255 1045 q 312 1039 295 1045 q 342 1022 329 1034 q 363 994 355 1011 q 371 953 371 977 q 363 913 371 930 q 342 885 355 896 q 312 868 329 873 q 275 863 295 863 q 238 868 255 863 q 208 885 221 873 q 188 913 195 896 q 181 953 181 930 m 454 953 q 461 994 454 977 q 481 1022 468 1011 q 512 1039 494 1034 q 550 1045 529 1045 q 586 1039 569 1045 q 617 1022 603 1034 q 638 994 630 1011 q 646 953 646 977 q 638 913 646 930 q 617 885 630 896 q 586 868 603 873 q 550 863 569 863 q 481 885 509 863 q 454 953 454 907 \"},υ:{x_min:97,x_max:780,ha:861,o:\"m 426 -12 q 266 15 330 -12 q 165 91 202 42 q 112 205 127 139 q 97 345 97 270 l 97 758 l 303 758 l 303 340 q 335 197 303 241 q 432 154 366 154 q 493 168 467 154 q 537 213 520 182 q 564 295 555 244 q 573 417 573 345 q 569 503 573 461 q 559 586 566 545 q 544 670 553 628 q 524 758 535 712 l 732 758 q 752 670 744 712 q 767 587 761 629 q 776 502 773 545 q 780 410 780 459 q 757 221 780 301 q 689 90 734 141 q 579 13 645 38 q 426 -12 513 -12 \"},ĕ:{x_min:69,x_max:741,ha:807,o:\"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 651 1071 q 629 978 647 1020 q 581 906 612 936 q 505 858 549 875 q 402 842 460 842 q 298 858 342 842 q 223 904 253 874 q 177 976 193 934 q 159 1071 161 1018 l 274 1071 q 286 1024 277 1041 q 312 998 296 1007 q 351 987 328 989 q 403 985 374 985 q 450 988 428 985 q 489 1000 472 991 q 518 1026 507 1009 q 532 1071 530 1043 l 651 1071 \"},ffi:{x_min:28,x_max:1399.359375,ha:1498,o:\"m 503 604 l 348 604 l 348 0 l 142 0 l 142 604 l 28 604 l 28 703 l 142 758 l 142 813 q 159 934 142 886 q 209 1010 177 982 q 288 1051 242 1039 q 392 1063 334 1063 q 497 1053 454 1063 q 570 1030 540 1043 l 521 877 q 477 890 500 884 q 422 896 454 896 q 365 871 382 896 q 348 804 348 845 l 348 758 l 503 758 l 503 604 m 1041 604 l 886 604 l 886 0 l 680 0 l 680 604 l 566 604 l 566 703 l 680 758 l 680 813 q 697 934 680 886 q 747 1010 715 982 q 826 1051 780 1039 q 930 1063 872 1063 q 1035 1053 992 1063 q 1108 1030 1078 1043 l 1059 877 q 1015 890 1038 884 q 960 896 992 896 q 903 871 920 896 q 886 804 886 845 l 886 758 l 1041 758 l 1041 604 m 1174 953 q 1183 1002 1174 983 q 1207 1033 1191 1021 q 1243 1050 1222 1045 q 1286 1055 1263 1055 q 1330 1050 1309 1055 q 1365 1033 1350 1045 q 1390 1002 1381 1021 q 1399 953 1399 983 q 1390 905 1399 925 q 1365 874 1381 885 q 1330 857 1350 862 q 1286 852 1309 852 q 1243 857 1263 852 q 1207 874 1222 862 q 1183 905 1191 885 q 1174 953 1174 925 m 1389 0 l 1183 0 l 1183 758 l 1389 758 l 1389 0 \"},ż:{x_min:37,x_max:595,ha:635,o:\"m 595 0 l 37 0 l 37 117 l 347 604 l 58 604 l 58 758 l 582 758 l 582 628 l 281 153 l 595 153 l 595 0 m 214 954 q 222 1003 214 984 q 246 1034 231 1022 q 282 1051 262 1046 q 326 1056 303 1056 q 369 1051 349 1056 q 405 1034 390 1046 q 429 1003 420 1022 q 439 954 439 984 q 429 906 439 926 q 405 875 420 886 q 369 858 390 863 q 326 853 349 853 q 282 858 303 853 q 246 875 262 863 q 222 906 231 886 q 214 954 214 926 \"},Э:{x_min:48.359375,x_max:784,ha:865,o:\"m 348 831 q 229 812 287 831 q 115 766 171 793 l 48 936 q 192 987 116 968 q 354 1006 268 1006 q 536 971 457 1006 q 671 871 616 937 q 755 710 726 805 q 784 494 784 615 q 757 285 784 379 q 676 125 731 192 q 537 22 621 59 q 338 -14 453 -14 q 263 -10 299 -14 q 195 -1 228 -7 q 130 13 162 4 q 66 36 98 23 l 66 213 q 199 174 137 188 q 321 160 260 160 q 499 223 436 160 q 567 411 562 285 l 188 411 l 188 586 l 566 586 q 548 689 564 644 q 504 766 532 735 q 436 814 475 797 q 348 831 396 831 \"},ő:{x_min:69,x_max:774,ha:832,o:\"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 183 842 l 183 860 q 213 905 197 879 q 245 958 229 931 q 275 1013 261 986 q 300 1064 290 1040 l 505 1064 l 505 1049 q 483 1021 497 1037 q 450 985 469 1004 q 411 946 432 966 q 368 907 389 926 q 327 871 347 888 q 292 842 307 854 l 183 842 m 452 842 l 452 860 q 482 905 466 879 q 514 958 498 931 q 544 1013 530 986 q 569 1064 559 1040 l 774 1064 l 774 1049 q 752 1021 766 1037 q 719 985 738 1004 q 680 946 701 966 q 638 907 659 926 q 597 871 616 888 q 561 842 577 854 l 452 842 \"},Ŏ:{x_min:81,x_max:970,ha:1050,o:\"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 770 1300 q 748 1207 766 1249 q 700 1135 731 1165 q 624 1087 668 1104 q 521 1071 579 1071 q 417 1087 461 1071 q 342 1133 372 1103 q 296 1205 312 1163 q 278 1300 280 1247 l 393 1300 q 405 1253 396 1270 q 431 1227 415 1236 q 470 1216 447 1218 q 522 1214 493 1214 q 569 1217 547 1214 q 608 1229 591 1220 q 637 1255 626 1238 q 651 1300 649 1272 l 770 1300 \"},ю:{x_min:109,x_max:1114,ha:1184,o:\"m 1114 380 q 1090 212 1114 285 q 1024 88 1067 138 q 919 12 981 38 q 779 -14 856 -14 q 657 5 713 -14 q 558 66 601 25 q 488 168 516 106 q 452 313 461 229 l 315 313 l 315 0 l 109 0 l 109 758 l 315 758 l 315 467 l 454 467 q 492 597 464 540 q 562 693 519 654 q 660 752 604 732 q 783 773 716 773 q 916 747 855 773 q 1020 671 976 721 q 1089 548 1064 621 q 1114 380 1114 474 m 658 380 q 687 209 658 267 q 781 152 716 152 q 873 209 845 152 q 902 380 902 267 q 873 550 902 494 q 779 606 845 606 q 687 550 716 606 q 658 380 658 494 \"},İ:{x_min:44.28125,x_max:495.96875,ha:541,o:\"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 154 1183 q 162 1232 154 1213 q 186 1263 171 1251 q 222 1280 202 1275 q 266 1285 243 1285 q 309 1280 289 1285 q 345 1263 330 1275 q 369 1232 360 1251 q 379 1183 379 1213 q 369 1135 379 1155 q 345 1104 360 1115 q 309 1087 330 1092 q 266 1082 289 1082 q 222 1087 243 1082 q 186 1104 202 1092 q 162 1135 171 1115 q 154 1183 154 1155 \"},Ě:{x_min:124,x_max:696,ha:778,o:\"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 686 1274 q 646 1229 669 1255 q 602 1176 624 1203 q 560 1121 580 1148 q 525 1071 540 1094 l 284 1071 q 248 1121 269 1094 q 206 1176 228 1148 q 163 1229 184 1203 q 124 1274 141 1255 l 124 1293 l 261 1293 q 331 1240 296 1270 q 403 1174 366 1211 q 476 1240 438 1211 q 548 1293 513 1270 l 686 1293 l 686 1274 \"},\"‹\":{x_min:55,x_max:413,ha:469,o:\"m 55 388 l 264 697 l 413 616 l 265 380 l 413 143 l 264 63 l 55 370 l 55 388 \"},ķ:{x_min:109,x_max:819.25,ha:819,o:\"m 307 412 l 383 527 l 568 758 l 801 758 l 527 429 l 819 0 l 580 0 l 396 291 l 315 235 l 315 0 l 109 0 l 109 1055 l 315 1055 l 315 584 l 305 412 l 307 412 m 303 -288 q 315 -242 309 -268 q 326 -188 321 -216 q 337 -134 332 -161 q 344 -85 342 -107 l 536 -85 l 536 -98 q 487 -198 515 -145 q 423 -307 459 -251 l 303 -307 l 303 -288 \"},ì:{x_min:-29,x_max:321,ha:424,o:\"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 183 842 q 128 889 160 860 q 64 946 95 917 q 7 1004 33 976 q -29 1049 -18 1031 l -29 1064 l 202 1064 q 228 1013 213 1040 q 258 958 242 986 q 290 905 274 931 q 321 860 306 879 l 321 842 l 183 842 \"},\"±\":{x_min:60.09375,x_max:705.765625,ha:765,o:\"m 309 457 l 60 457 l 60 606 l 309 606 l 309 856 l 457 856 l 457 606 l 705 606 l 705 457 l 457 457 l 457 209 l 309 209 l 309 457 m 60 0 l 60 148 l 705 148 l 705 0 l 60 0 \"},\"|\":{x_min:309,x_max:457.53125,ha:765,o:\"m 309 1051 l 457 1051 l 457 -315 l 309 -315 l 309 1051 \"},\"§\":{x_min:72,x_max:607,ha:675,o:\"m 82 546 q 89 601 82 576 q 108 648 96 626 q 137 686 121 669 q 172 715 154 703 q 105 782 129 742 q 82 873 82 822 q 101 954 82 917 q 157 1016 121 990 q 244 1056 193 1042 q 356 1070 294 1070 q 485 1054 425 1070 q 602 1013 545 1038 l 547 884 q 453 923 501 906 q 353 941 405 941 q 273 925 298 941 q 248 877 248 909 q 256 845 248 860 q 282 818 264 831 q 327 791 299 804 q 392 762 354 778 q 480 720 440 743 q 547 669 519 697 q 591 606 575 641 q 607 530 607 572 q 583 421 607 462 q 522 354 560 379 q 585 291 564 327 q 607 205 607 255 q 585 114 607 155 q 526 45 564 74 q 432 1 487 17 q 308 -14 377 -14 q 176 0 234 -14 q 72 39 119 14 l 72 181 q 129 155 98 167 q 190 134 159 144 q 252 120 222 125 q 309 114 282 114 q 372 120 347 114 q 412 137 397 127 q 434 162 427 148 q 440 193 440 177 q 435 224 440 210 q 415 250 430 237 q 372 277 400 262 q 300 310 345 291 q 207 353 248 331 q 139 402 166 375 q 96 464 111 430 q 82 546 82 499 m 234 561 q 272 485 234 518 q 390 418 310 452 l 400 414 q 420 431 411 421 q 437 453 430 441 q 449 480 445 465 q 454 512 454 495 q 447 552 454 534 q 422 588 440 571 q 373 622 404 605 q 295 656 342 639 q 272 642 283 651 q 253 620 261 632 q 239 593 244 608 q 234 561 234 578 \"},џ:{x_min:109,x_max:783,ha:892,o:\"m 109 0 l 109 758 l 315 758 l 315 153 l 576 153 l 576 758 l 783 758 l 783 0 l 531 0 l 531 -272 l 353 -272 l 353 0 l 109 0 \"},љ:{x_min:0,x_max:1143,ha:1198,o:\"m 530 0 l 530 604 l 392 604 q 358 319 378 437 q 308 127 339 201 q 231 20 277 54 q 118 -14 185 -14 q 0 6 46 -14 l 0 165 q 31 155 14 159 q 66 152 48 152 q 97 162 82 152 q 126 198 112 172 q 152 268 140 224 q 175 380 164 312 q 196 540 186 447 q 214 758 205 633 l 736 758 l 736 467 l 829 467 q 1066 411 989 467 q 1143 242 1143 356 q 1125 142 1143 187 q 1069 65 1107 97 q 971 17 1031 34 q 827 0 911 0 l 530 0 m 936 239 q 906 300 936 281 q 816 319 876 319 l 736 319 l 736 147 l 819 147 q 903 168 870 147 q 936 239 936 189 \"},q:{x_min:69,x_max:735,ha:844,o:\"m 407 152 q 470 164 444 152 q 511 202 495 177 q 534 265 526 227 q 542 354 541 303 l 542 379 q 535 476 542 434 q 513 548 529 519 q 471 591 497 577 q 406 606 445 606 q 311 548 341 606 q 280 378 280 489 q 311 208 280 264 q 407 152 342 152 m 331 -14 q 224 11 272 -14 q 141 85 176 36 q 87 208 106 134 q 69 377 69 281 q 88 548 69 474 q 143 672 107 622 q 228 747 178 722 q 337 773 277 773 q 405 764 375 773 q 460 741 436 756 q 504 706 485 726 q 538 663 523 687 l 543 663 l 560 758 l 735 758 l 735 -334 l 528 -334 l 528 -13 q 529 19 528 0 q 532 57 531 39 q 536 101 534 79 l 528 101 q 496 56 514 78 q 453 19 478 35 q 399 -4 429 4 q 331 -14 369 -14 \"},\"˳\":{x_min:60,x_max:400,ha:463,o:\"m 400 -244 q 386 -312 400 -282 q 350 -363 373 -342 q 295 -395 326 -384 q 227 -407 264 -407 q 159 -395 190 -407 q 106 -363 128 -384 q 72 -313 84 -343 q 60 -245 60 -283 q 72 -178 60 -208 q 106 -128 84 -148 q 159 -96 128 -107 q 227 -85 190 -85 q 295 -96 263 -85 q 349 -128 326 -107 q 386 -178 372 -148 q 400 -244 400 -207 m 294 -245 q 276 -197 294 -215 q 230 -180 258 -180 q 183 -197 201 -180 q 165 -245 165 -215 q 181 -293 165 -276 q 230 -311 197 -311 q 276 -293 258 -311 q 294 -245 294 -276 \"},ή:{x_min:109,x_max:767,ha:871,o:\"m 560 -334 l 560 438 q 534 564 560 522 q 454 606 509 606 q 388 590 415 606 q 345 542 362 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 345 710 322 689 q 395 745 368 732 q 452 766 422 759 q 515 773 483 773 q 704 702 642 773 q 767 487 767 632 l 767 -334 l 560 -334 m 366 860 q 378 906 372 880 q 389 960 384 932 q 400 1014 395 987 q 407 1064 404 1041 l 599 1064 l 599 1049 q 550 950 578 1003 q 486 842 522 897 l 366 842 l 366 860 \"},Ж:{x_min:-.25,x_max:1254.25,ha:1254,o:\"m 324 516 l 18 992 l 235 992 l 529 512 l 529 992 l 725 992 l 725 512 l 1018 992 l 1235 992 l 929 516 l 1254 0 l 1029 0 l 725 503 l 725 0 l 529 0 l 529 503 l 224 0 l 0 0 l 324 516 \"},\"®\":{x_min:68,x_max:1088,ha:1156,o:\"m 785 614 q 758 513 785 550 q 688 456 732 475 l 848 185 l 676 185 l 555 414 l 523 414 l 523 185 l 368 185 l 368 806 l 547 806 q 727 758 670 806 q 785 614 785 711 m 523 528 l 545 528 q 609 547 590 528 q 629 611 629 566 q 623 650 629 635 q 608 675 618 666 q 581 688 597 684 q 543 692 565 692 l 523 692 l 523 528 m 68 495 q 86 631 68 566 q 137 753 104 696 q 217 856 170 809 q 320 936 264 903 q 442 987 377 969 q 578 1006 507 1006 q 713 987 648 1006 q 835 936 778 969 q 938 856 892 903 q 1018 753 985 809 q 1069 631 1051 696 q 1088 495 1088 566 q 1069 359 1088 425 q 1018 238 1051 294 q 938 134 985 181 q 835 55 892 88 q 713 3 778 21 q 578 -14 648 -14 q 442 3 507 -14 q 320 55 377 21 q 217 134 264 88 q 137 238 170 181 q 86 359 104 294 q 68 495 68 425 m 164 496 q 196 334 164 409 q 285 203 229 259 q 416 114 341 147 q 578 82 491 82 q 739 114 664 82 q 870 203 814 147 q 959 334 926 259 q 991 496 991 409 q 959 657 991 582 q 870 788 926 732 q 739 877 814 844 q 578 909 664 909 q 416 877 491 909 q 285 788 341 844 q 196 657 229 732 q 164 496 164 582 \"},Н:{x_min:125,x_max:882,ha:1007,o:\"m 882 0 l 671 0 l 671 428 l 335 428 l 335 0 l 125 0 l 125 992 l 335 992 l 335 603 l 671 603 l 671 992 l 882 992 l 882 0 \"},Ε:{x_min:125,x_max:696,ha:778,o:\"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 \"},\"₧\":{x_min:125,x_max:1172,ha:1211,o:\"m 321 527 l 363 527 q 498 562 453 527 q 544 675 544 597 q 503 782 544 747 q 375 817 462 817 l 321 817 l 321 527 m 740 682 q 720 557 740 617 q 655 452 700 498 q 537 380 610 407 q 355 353 463 353 l 321 353 l 321 0 l 125 0 l 125 992 l 372 992 q 537 970 467 992 q 651 909 606 949 q 718 812 696 869 q 740 682 740 755 m 1070 138 q 1123 145 1099 138 q 1172 162 1147 151 l 1172 20 q 1101 -4 1142 5 q 1010 -14 1059 -14 q 923 -2 962 -14 q 855 35 883 8 q 812 107 827 62 q 797 218 797 151 l 797 436 l 699 436 l 699 507 l 812 575 l 878 735 l 992 735 l 992 574 l 1163 574 l 1163 436 l 992 436 l 992 225 q 998 189 992 205 q 1015 161 1004 173 q 1039 144 1025 150 q 1070 138 1053 138 \"},л:{x_min:0,x_max:746,ha:855,o:\"m 746 0 l 539 0 l 539 604 l 392 604 q 358 319 378 437 q 308 127 339 201 q 231 20 277 54 q 118 -14 185 -14 q 0 7 46 -14 l 0 173 q 31 163 14 167 q 66 159 48 159 q 97 169 82 159 q 126 205 112 179 q 152 274 140 231 q 175 384 164 318 q 196 543 186 451 q 214 758 205 635 l 746 758 l 746 0 \"},σ:{x_min:69,x_max:845,ha:872,o:\"m 774 314 q 750 184 774 244 q 683 80 727 124 q 572 11 638 36 q 419 -14 505 -14 q 275 10 340 -14 q 165 83 211 34 q 94 203 119 131 q 69 369 69 275 q 97 548 69 474 q 177 669 125 622 q 305 738 230 716 q 474 760 380 760 l 845 760 l 845 593 l 653 593 q 699 538 678 567 q 738 474 721 508 q 764 400 754 440 q 774 314 774 360 m 280 362 q 288 276 280 315 q 314 210 297 237 q 358 167 331 182 q 422 152 384 152 q 485 166 459 152 q 529 206 512 180 q 554 267 545 231 q 562 347 562 303 q 543 486 562 428 q 487 593 523 544 l 458 593 q 378 582 412 593 q 322 543 344 570 q 290 471 301 516 q 280 362 280 427 \"},θ:{x_min:69,x_max:761,ha:831,o:\"m 761 528 q 742 300 761 401 q 681 129 723 199 q 573 22 639 59 q 413 -14 507 -14 q 261 22 326 -14 q 153 129 196 59 q 90 300 111 199 q 69 528 69 401 q 87 757 69 656 q 148 927 106 857 q 255 1034 189 997 q 413 1071 320 1071 q 566 1034 501 1071 q 674 928 631 998 q 739 758 718 859 q 761 528 761 657 m 413 133 q 514 212 483 133 q 549 454 545 292 l 280 454 q 313 213 282 294 q 413 133 343 133 m 415 923 q 316 845 347 923 q 281 608 286 766 l 549 608 q 514 845 545 766 q 415 923 482 923 \"},\" \":{x_min:0,x_max:0,ha:361},\"∑\":{x_min:28,x_max:869,ha:876,o:\"m 28 -310 l 28 -194 l 418 371 l 38 879 l 38 992 l 829 992 l 829 825 l 316 825 l 651 375 l 299 -135 l 869 -135 l 869 -310 l 28 -310 \"},Ώ:{x_min:-39,x_max:1060,ha:1092,o:\"m 579 832 q 405 759 460 832 q 351 547 351 686 q 360 434 351 487 q 390 336 369 381 q 445 253 411 290 q 531 189 480 217 l 531 0 l 98 0 l 98 176 l 350 176 q 261 248 301 206 q 193 343 221 290 q 150 459 165 396 q 135 591 135 521 q 163 762 135 685 q 248 893 191 838 q 387 977 304 948 q 579 1007 470 1007 q 770 977 688 1007 q 909 893 853 948 q 994 761 966 838 q 1023 589 1023 684 q 1007 458 1023 520 q 963 343 992 396 q 895 248 935 290 q 805 176 855 206 l 1060 176 l 1060 0 l 622 0 l 622 189 q 710 253 675 216 q 766 336 745 290 q 797 435 788 382 q 806 548 806 488 q 752 759 806 686 q 579 832 697 832 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 \"},ẃ:{x_min:-.25,x_max:1120.25,ha:1120,o:\"m 688 0 l 629 265 q 622 297 626 276 q 612 346 618 319 q 601 403 607 372 q 589 463 595 433 q 559 613 575 532 l 555 613 q 527 462 539 532 q 515 402 521 432 q 504 344 510 371 q 494 296 499 317 q 487 262 490 274 l 426 0 l 204 0 l 0 758 l 205 758 l 282 422 q 294 359 288 395 q 306 284 301 322 q 317 213 312 246 q 324 160 322 179 l 328 160 q 331 193 329 172 q 337 237 334 214 q 344 286 341 261 q 352 332 348 311 q 359 371 356 354 q 364 394 362 387 l 447 758 l 674 758 l 754 394 q 763 348 757 379 q 774 281 768 317 q 784 212 780 246 q 789 160 788 178 l 793 160 q 800 210 795 176 q 811 281 805 243 q 824 357 817 320 q 837 422 831 395 l 917 758 l 1120 758 l 913 0 l 688 0 m 453 842 l 453 860 q 483 905 467 879 q 515 958 499 931 q 545 1013 531 986 q 571 1064 560 1040 l 803 1064 l 803 1049 q 781 1021 795 1037 q 748 985 767 1004 q 709 946 730 966 q 667 907 688 926 q 625 871 645 888 q 590 842 606 854 l 453 842 \"},\"+\":{x_min:60.09375,x_max:705.765625,ha:765,o:\"m 309 415 l 60 415 l 60 564 l 309 564 l 309 814 l 457 814 l 457 564 l 705 564 l 705 415 l 457 415 l 457 168 l 309 168 l 309 415 \"},Ë:{x_min:125,x_max:696,ha:778,o:\"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 186 1182 q 193 1223 186 1206 q 213 1251 200 1240 q 243 1268 226 1263 q 280 1274 260 1274 q 317 1268 300 1274 q 347 1251 334 1263 q 368 1223 360 1240 q 376 1182 376 1206 q 368 1142 376 1159 q 347 1114 360 1125 q 317 1097 334 1102 q 280 1092 300 1092 q 243 1097 260 1092 q 213 1114 226 1102 q 193 1142 200 1125 q 186 1182 186 1159 m 459 1182 q 466 1223 459 1206 q 486 1251 473 1240 q 517 1268 499 1263 q 555 1274 534 1274 q 591 1268 574 1274 q 622 1251 608 1263 q 643 1223 635 1240 q 651 1182 651 1206 q 643 1142 651 1159 q 622 1114 635 1125 q 591 1097 608 1102 q 555 1092 574 1092 q 486 1114 514 1092 q 459 1182 459 1136 \"},Š:{x_min:63.46875,x_max:668,ha:728,o:\"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 m 655 1274 q 615 1229 638 1255 q 571 1176 593 1203 q 529 1121 549 1148 q 494 1071 509 1094 l 253 1071 q 217 1121 238 1094 q 175 1176 197 1148 q 132 1229 153 1203 q 93 1274 110 1255 l 93 1293 l 230 1293 q 300 1240 265 1270 q 372 1174 335 1211 q 445 1240 407 1211 q 517 1293 482 1270 l 655 1293 l 655 1274 \"},\" \":{x_min:0,x_max:0,ha:1389},ð:{x_min:50,x_max:744,ha:802,o:\"m 310 887 q 260 917 286 901 q 205 949 234 934 l 270 1065 q 363 1018 320 1041 q 445 969 407 995 l 599 1063 l 667 959 l 549 887 q 634 787 598 840 q 695 673 671 734 q 731 540 719 611 q 744 388 744 470 q 719 217 744 291 q 649 91 695 142 q 539 12 604 39 q 394 -14 475 -14 q 256 9 319 -14 q 147 76 193 32 q 75 184 101 120 q 50 331 50 248 q 72 478 50 414 q 133 585 94 541 q 228 652 173 629 q 350 675 284 675 q 461 653 415 675 q 529 598 507 631 l 543 599 q 490 711 524 659 q 411 802 456 764 l 254 704 l 185 810 l 310 887 m 532 360 q 524 421 532 392 q 500 472 516 450 q 458 508 483 495 q 398 521 432 521 q 293 474 324 521 q 261 330 261 426 q 269 252 261 287 q 293 192 277 217 q 336 153 310 167 q 398 139 362 139 q 501 194 469 139 q 532 360 532 249 \"},щ:{x_min:109,x_max:1307,ha:1327,o:\"m 1196 149 l 1307 149 l 1307 -272 l 1128 -272 l 1128 0 l 109 0 l 109 758 l 315 758 l 315 153 l 549 153 l 549 758 l 755 758 l 755 153 l 989 153 l 989 758 l 1196 758 l 1196 149 \"},℮:{x_min:69,x_max:789,ha:860,o:\"m 429 -24 q 273 7 341 -24 q 161 92 206 39 q 92 215 115 146 q 69 359 69 284 q 83 480 69 426 q 124 577 98 534 q 185 651 150 620 q 259 702 219 682 q 343 733 299 723 q 429 743 386 743 q 571 716 506 743 q 685 639 637 689 q 761 518 734 589 q 789 358 789 447 l 227 358 l 227 117 q 264 86 242 101 q 312 60 286 71 q 368 41 338 48 q 429 34 398 34 q 518 45 479 34 q 590 76 558 56 q 648 126 622 96 q 697 193 674 155 l 746 165 q 693 92 721 126 q 628 31 665 58 q 542 -9 590 5 q 429 -24 493 -24 m 632 417 l 632 605 q 599 633 619 618 q 553 659 579 647 q 495 678 527 671 q 428 686 463 686 q 363 679 393 686 q 309 661 334 673 q 264 636 284 650 q 227 606 244 622 l 227 417 l 632 417 \"},Φ:{x_min:62,x_max:1077,ha:1139,o:\"m 663 305 l 671 305 q 763 321 724 305 q 828 366 802 337 q 867 433 854 394 q 881 516 881 471 q 869 592 881 556 q 834 656 858 629 q 774 700 810 684 q 688 717 738 717 l 663 717 l 663 305 m 476 -14 l 476 139 l 462 139 q 328 155 387 139 q 225 199 269 171 q 149 264 181 227 q 99 343 118 301 q 70 429 79 385 q 62 514 62 472 q 84 649 62 583 q 153 768 106 716 q 272 852 200 820 q 442 884 343 884 l 476 884 l 476 1006 l 663 1006 l 663 884 l 696 884 q 867 852 795 884 q 985 768 938 820 q 1054 649 1032 716 q 1077 514 1077 583 q 1068 429 1077 472 q 1039 343 1059 385 q 989 264 1020 301 q 913 199 958 227 q 810 155 869 171 q 676 139 751 139 l 663 139 l 663 -14 l 476 -14 m 476 717 l 451 717 q 365 700 401 717 q 305 656 328 684 q 269 592 281 629 q 258 516 258 556 q 271 433 258 471 q 310 366 284 394 q 375 321 336 337 q 467 305 414 305 l 476 305 l 476 717 \"},ş:{x_min:66,x_max:614,ha:668,o:\"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 m 473 -169 q 462 -239 473 -208 q 427 -290 451 -269 q 362 -322 403 -311 q 263 -334 322 -334 q 208 -329 232 -334 q 164 -319 183 -325 l 164 -205 q 186 -210 174 -208 q 212 -215 199 -213 q 238 -218 225 -217 q 261 -220 251 -220 q 295 -210 280 -220 q 310 -178 310 -201 q 285 -133 310 -153 q 197 -105 259 -114 l 250 0 l 381 0 l 362 -41 q 403 -59 383 -48 q 438 -87 423 -71 q 463 -124 453 -103 q 473 -169 473 -144 \"},\" \":{x_min:0,x_max:0,ha:765},ı:{x_min:109,x_max:315.859375,ha:424,o:\"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 \"},ä:{x_min:58,x_max:694,ha:798,o:\"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 173 953 q 180 994 173 977 q 200 1022 187 1011 q 230 1039 213 1034 q 267 1045 247 1045 q 304 1039 287 1045 q 334 1022 321 1034 q 355 994 347 1011 q 363 953 363 977 q 355 913 363 930 q 334 885 347 896 q 304 868 321 873 q 267 863 287 863 q 230 868 247 863 q 200 885 213 873 q 180 913 187 896 q 173 953 173 930 m 446 953 q 453 994 446 977 q 473 1022 460 1011 q 504 1039 486 1034 q 542 1045 521 1045 q 578 1039 561 1045 q 609 1022 595 1034 q 630 994 622 1011 q 638 953 638 977 q 630 913 638 930 q 609 885 622 896 q 578 868 595 873 q 542 863 561 863 q 473 885 501 863 q 446 953 446 907 \"},\"¹\":{x_min:63,x_max:396.421875,ha:526,o:\"m 396 397 l 235 397 l 235 700 q 235 734 235 713 q 236 776 235 755 q 238 814 237 797 q 240 840 239 832 q 229 828 236 835 q 216 813 223 820 q 202 799 209 805 q 189 787 195 792 l 136 746 l 63 832 l 266 992 l 396 992 l 396 397 \"},W:{x_min:-.25,x_max:1287.25,ha:1287,o:\"m 1048 0 l 809 0 l 687 489 q 681 517 684 499 q 672 559 677 536 q 663 607 667 582 q 654 656 658 632 q 647 700 650 679 q 642 732 644 720 q 638 700 641 720 q 631 656 635 679 q 622 608 627 633 q 613 559 618 582 q 605 517 609 536 q 598 487 601 498 l 477 0 l 238 0 l 0 992 l 206 992 l 319 450 q 325 418 321 439 q 333 372 328 398 q 343 318 338 346 q 353 262 348 289 q 361 211 357 235 q 368 173 366 188 q 373 211 370 188 q 381 260 377 234 q 390 314 385 286 q 399 366 395 342 q 407 409 404 390 q 413 436 411 428 l 551 992 l 735 992 l 873 436 q 879 409 875 428 q 887 366 882 390 q 896 314 891 342 q 905 260 901 286 q 913 211 910 234 q 919 173 917 188 q 925 211 921 188 q 933 262 929 235 q 943 318 938 289 q 953 372 948 346 q 962 418 958 398 q 967 450 965 439 l 1080 992 l 1287 992 l 1048 0 \"},λ:{x_min:4.75,x_max:806,ha:813,o:\"m 4 0 l 305 716 l 283 779 q 256 836 270 815 q 226 870 242 858 q 190 886 209 882 q 145 890 170 890 q 110 887 127 890 q 81 881 93 884 l 81 1052 q 103 1056 90 1054 q 131 1060 116 1059 q 161 1062 146 1061 q 188 1064 176 1064 q 295 1047 251 1064 q 373 1000 340 1031 q 430 923 406 968 q 473 820 453 878 l 653 296 q 681 226 667 253 q 707 184 694 199 q 734 164 721 169 q 761 159 746 159 q 782 161 770 159 q 806 166 794 163 l 806 6 q 783 -1 797 2 q 753 -7 770 -5 q 720 -12 737 -10 q 691 -14 704 -14 q 621 -3 651 -14 q 570 28 592 7 q 532 76 547 48 q 503 140 516 105 l 441 324 q 413 409 425 369 q 394 484 400 450 l 389 484 q 379 445 385 466 q 368 405 374 425 q 356 365 362 384 q 344 328 350 345 l 219 0 l 4 0 \"},\">\":{x_min:60,x_max:705,ha:765,o:\"m 60 300 l 496 490 l 60 705 l 60 868 l 705 531 l 705 434 l 60 138 l 60 300 \"},τ:{x_min:27,x_max:666.140625,ha:720,o:\"m 424 604 l 424 238 q 446 173 424 194 q 503 152 468 152 q 561 158 534 152 q 618 175 589 165 l 618 20 q 545 -4 588 5 q 451 -14 502 -14 q 359 -2 402 -14 q 285 38 316 9 q 236 115 254 67 q 218 237 218 164 l 218 604 l 27 604 l 27 689 l 140 758 l 666 758 l 666 604 l 424 604 \"},Ų:{x_min:118,x_max:876,ha:994,o:\"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 514 -154 q 529 -196 514 -182 q 568 -209 544 -209 q 611 -205 589 -209 q 646 -197 632 -201 l 646 -318 q 599 -329 624 -324 q 540 -334 574 -334 q 469 -322 501 -334 q 416 -290 438 -310 q 382 -241 394 -269 q 371 -177 371 -212 q 380 -124 371 -148 q 406 -78 389 -99 q 445 -38 423 -57 q 493 0 467 -19 l 614 0 q 540 -81 567 -44 q 514 -154 514 -118 \"},Ŵ:{x_min:-.25,x_max:1287.25,ha:1287,o:\"m 1048 0 l 809 0 l 687 489 q 681 517 684 499 q 672 559 677 536 q 663 607 667 582 q 654 656 658 632 q 647 700 650 679 q 642 732 644 720 q 638 700 641 720 q 631 656 635 679 q 622 608 627 633 q 613 559 618 582 q 605 517 609 536 q 598 487 601 498 l 477 0 l 238 0 l 0 992 l 206 992 l 319 450 q 325 418 321 439 q 333 372 328 398 q 343 318 338 346 q 353 262 348 289 q 361 211 357 235 q 368 173 366 188 q 373 211 370 188 q 381 260 377 234 q 390 314 385 286 q 399 366 395 342 q 407 409 404 390 q 413 436 411 428 l 551 992 l 735 992 l 873 436 q 879 409 875 428 q 887 366 882 390 q 896 314 891 342 q 905 260 901 286 q 913 211 910 234 q 919 173 917 188 q 925 211 921 188 q 933 262 929 235 q 943 318 938 289 q 953 372 948 346 q 962 418 958 398 q 967 450 965 439 l 1080 992 l 1287 992 l 1048 0 m 785 1071 q 713 1123 750 1093 q 640 1189 675 1152 q 568 1123 603 1152 q 498 1071 533 1093 l 361 1071 l 361 1089 q 400 1134 378 1108 q 443 1187 421 1160 q 485 1242 465 1215 q 521 1293 506 1269 l 762 1293 q 797 1242 777 1269 q 839 1187 817 1215 q 883 1134 861 1160 q 923 1089 906 1108 l 923 1071 l 785 1071 \"},\"‛\":{x_min:16,x_max:284,ha:298,o:\"m 215 992 q 228 913 220 956 q 244 827 235 871 q 263 737 254 782 q 284 652 273 692 l 135 652 q 100 731 118 690 q 67 815 83 772 q 38 898 51 857 q 16 977 25 939 l 25 992 l 215 992 \"},Ð:{x_min:32.078125,x_max:892,ha:973,o:\"m 32 577 l 125 577 l 125 992 l 415 992 q 612 960 524 992 q 762 868 700 929 q 858 715 824 806 q 892 505 892 624 q 857 285 892 379 q 758 127 823 190 q 600 31 693 63 q 386 0 506 0 l 125 0 l 125 402 l 32 402 l 32 577 m 681 499 q 665 641 681 581 q 616 740 648 701 q 538 798 584 779 q 432 817 492 817 l 335 817 l 335 577 l 495 577 l 495 402 l 335 402 l 335 174 l 413 174 q 614 255 547 174 q 681 499 681 336 \"},Λ:{x_min:-.25,x_max:847.25,ha:847,o:\"m 469 597 q 459 637 466 610 q 446 696 453 664 q 433 761 439 728 q 423 815 427 793 q 414 760 420 793 q 401 695 408 728 q 389 636 395 663 q 380 597 383 609 l 212 0 l 0 0 l 308 992 l 537 992 l 847 0 l 634 0 l 469 597 \"},\"·\":{x_min:79,x_max:316,ha:396,o:\"m 79 489 q 88 543 79 521 q 113 579 97 565 q 151 598 129 592 q 198 605 173 605 q 243 598 221 605 q 280 579 264 592 q 306 543 297 565 q 316 489 316 521 q 306 437 316 458 q 280 401 297 415 q 243 380 264 386 q 198 374 221 374 q 151 380 173 374 q 113 401 129 386 q 88 437 97 415 q 79 489 79 458 \"},Х:{x_min:-.25,x_max:871.25,ha:871,o:\"m 871 0 l 631 0 l 428 375 l 224 0 l 0 0 l 301 511 l 20 992 l 252 992 l 438 635 l 620 992 l 847 992 l 563 500 l 871 0 \"},Υ:{x_min:-.25,x_max:812.25,ha:811,o:\"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 \"},r:{x_min:109,x_max:570,ha:603,o:\"m 504 773 q 522 772 512 773 q 541 771 532 772 q 558 769 550 770 q 570 766 565 768 l 570 572 q 555 575 564 574 q 535 578 545 576 q 514 579 524 579 q 497 579 504 579 q 423 569 457 579 q 366 536 390 559 q 329 476 342 513 q 315 386 315 439 l 315 0 l 109 0 l 109 758 l 265 758 l 296 644 l 306 644 q 341 697 322 673 q 383 738 360 721 q 436 763 407 754 q 504 773 466 773 \"},ж:{x_min:-.25,x_max:1171.25,ha:1171,o:\"m 489 389 l 489 758 l 695 758 l 695 389 l 930 758 l 1145 758 l 900 394 l 1171 0 l 950 0 l 695 384 l 695 0 l 489 0 l 489 384 l 220 0 l 0 0 l 284 394 l 25 758 l 239 758 l 489 389 \"},Ø:{x_min:81,x_max:970,ha:1050,o:\"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 316 27 403 -14 l 268 -51 l 154 11 l 209 102 q 112 270 144 170 q 81 498 81 371 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 640 995 588 1007 q 737 963 693 984 l 784 1038 l 897 973 l 843 886 q 938 720 906 819 q 970 496 970 621 m 297 496 q 329 296 297 374 l 639 802 q 526 832 592 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 699 q 297 496 297 574 m 753 496 q 724 691 753 612 l 415 188 q 465 169 438 175 q 525 162 492 162 q 629 185 585 162 q 699 251 672 208 q 740 356 727 294 q 753 496 753 418 \"},Ỳ:{x_min:-.25,x_max:812.25,ha:811,o:\"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 m 362 1071 q 307 1118 339 1089 q 243 1175 274 1146 q 186 1233 212 1205 q 150 1278 160 1260 l 150 1293 l 381 1293 q 407 1242 392 1269 q 437 1187 421 1215 q 469 1134 453 1160 q 500 1089 485 1108 l 500 1071 l 362 1071 \"},\"÷\":{x_min:60,x_max:705,ha:765,o:\"m 60 415 l 60 564 l 705 564 l 705 415 l 60 415 m 288 224 q 295 259 288 245 q 315 282 302 273 q 346 294 328 290 q 382 298 363 298 q 418 294 401 298 q 448 282 435 290 q 469 259 461 273 q 477 224 477 245 q 469 190 477 204 q 448 167 461 176 q 418 154 435 158 q 382 150 401 150 q 346 154 363 150 q 315 167 328 158 q 295 190 302 176 q 288 224 288 204 m 288 754 q 295 789 288 775 q 315 812 302 803 q 346 825 328 821 q 382 829 363 829 q 418 825 401 829 q 448 812 435 821 q 469 789 461 803 q 477 754 477 775 q 469 720 477 734 q 448 697 461 706 q 418 684 435 688 q 382 680 401 680 q 346 684 363 680 q 315 697 328 688 q 295 720 302 706 q 288 754 288 734 \"},с:{x_min:69,x_max:648.703125,ha:693,o:\"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 \"},h:{x_min:109,x_max:767,ha:871,o:\"m 767 0 l 560 0 l 560 442 q 534 565 560 524 q 456 606 509 606 q 389 590 416 606 q 345 542 362 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 1055 l 315 1055 l 315 840 q 314 780 315 811 q 311 722 313 748 q 306 661 308 690 l 317 661 q 402 746 350 720 q 518 773 453 773 q 620 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 \"},f:{x_min:28,x_max:570,ha:538,o:\"m 503 604 l 348 604 l 348 0 l 142 0 l 142 604 l 28 604 l 28 703 l 142 758 l 142 813 q 159 934 142 886 q 209 1010 177 982 q 288 1051 242 1039 q 392 1063 334 1063 q 497 1053 454 1063 q 570 1030 540 1043 l 521 877 q 477 890 500 884 q 422 896 454 896 q 365 871 382 896 q 348 804 348 845 l 348 758 l 503 758 l 503 604 \"},\"“\":{x_min:16,x_max:601,ha:615,o:\"m 332 666 q 355 744 341 703 q 384 828 368 786 q 417 912 400 870 q 452 992 435 954 l 601 992 q 580 905 590 950 q 561 816 570 861 q 545 730 552 772 q 532 652 537 687 l 342 652 l 332 666 m 16 666 q 38 744 25 703 q 67 828 51 786 q 100 912 83 870 q 135 992 118 954 l 284 992 q 263 905 273 950 q 244 816 254 861 q 228 730 235 772 q 215 652 220 687 l 25 652 l 16 666 \"},A:{x_min:-.25,x_max:903.25,ha:903,o:\"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 \"},O:{x_min:81,x_max:970,ha:1050,o:\"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 \"},Đ:{x_min:32.078125,x_max:892,ha:973,o:\"m 32 577 l 125 577 l 125 992 l 415 992 q 612 960 524 992 q 762 868 700 929 q 858 715 824 806 q 892 505 892 624 q 857 285 892 379 q 758 127 823 190 q 600 31 693 63 q 386 0 506 0 l 125 0 l 125 402 l 32 402 l 32 577 m 681 499 q 665 641 681 581 q 616 740 648 701 q 538 798 584 779 q 432 817 492 817 l 335 817 l 335 577 l 495 577 l 495 402 l 335 402 l 335 174 l 413 174 q 614 255 547 174 q 681 499 681 336 \"},Ǿ:{x_min:81,x_max:970,ha:1050,o:\"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 316 27 403 -14 l 268 -51 l 154 11 l 209 102 q 112 270 144 170 q 81 498 81 371 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 640 995 588 1007 q 737 963 693 984 l 784 1038 l 897 973 l 843 886 q 938 720 906 819 q 970 496 970 621 m 297 496 q 329 296 297 374 l 639 802 q 526 832 592 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 699 q 297 496 297 574 m 753 496 q 724 691 753 612 l 415 188 q 465 169 438 175 q 525 162 492 162 q 629 185 585 162 q 699 251 672 208 q 740 356 727 294 q 753 496 753 418 m 400 1071 l 400 1089 q 430 1134 414 1108 q 462 1187 446 1160 q 492 1242 478 1215 q 518 1293 507 1269 l 750 1293 l 750 1278 q 728 1250 742 1266 q 695 1214 714 1233 q 656 1175 677 1195 q 614 1136 635 1155 q 572 1100 592 1117 q 537 1071 553 1083 l 400 1071 \"},\"⅛\":{x_min:40,x_max:1159,ha:1224,o:\"m 373 397 l 212 397 l 212 700 q 212 734 212 713 q 213 776 212 755 q 215 814 214 797 q 217 840 216 832 q 206 828 213 835 q 193 813 200 820 q 179 799 186 805 q 166 787 172 792 l 113 746 l 40 832 l 243 992 l 373 992 l 373 397 m 913 992 l 362 0 l 200 0 l 751 992 l 913 992 m 927 607 q 1009 597 971 607 q 1076 569 1047 588 q 1120 523 1104 551 q 1137 458 1137 495 q 1129 413 1137 434 q 1108 376 1122 393 q 1078 347 1095 360 q 1040 323 1060 334 q 1084 295 1063 309 q 1122 263 1105 281 q 1148 221 1138 244 q 1159 169 1159 198 q 1142 95 1159 129 q 1095 36 1125 61 q 1022 -2 1064 11 q 927 -16 979 -16 q 827 -2 870 -16 q 754 34 784 10 q 710 92 725 58 q 695 165 695 126 q 703 218 695 195 q 727 259 712 241 q 761 291 741 277 q 801 317 780 305 q 768 345 783 330 q 740 376 752 359 q 722 414 728 393 q 716 458 716 434 q 732 523 716 495 q 778 569 749 550 q 845 597 807 587 q 927 607 884 607 m 842 169 q 863 114 842 135 q 925 92 884 92 q 989 114 967 92 q 1011 169 1011 135 q 988 223 1011 201 q 924 261 965 246 l 915 264 q 861 226 880 248 q 842 169 842 203 m 925 498 q 879 482 895 498 q 863 447 863 467 q 882 403 863 420 q 927 373 900 387 q 951 386 940 379 q 971 402 963 393 q 984 422 979 411 q 989 447 989 433 q 974 482 989 467 q 925 498 959 498 \"},Ẁ:{x_min:-.25,x_max:1287.25,ha:1287,o:\"m 1048 0 l 809 0 l 687 489 q 681 517 684 499 q 672 559 677 536 q 663 607 667 582 q 654 656 658 632 q 647 700 650 679 q 642 732 644 720 q 638 700 641 720 q 631 656 635 679 q 622 608 627 633 q 613 559 618 582 q 605 517 609 536 q 598 487 601 498 l 477 0 l 238 0 l 0 992 l 206 992 l 319 450 q 325 418 321 439 q 333 372 328 398 q 343 318 338 346 q 353 262 348 289 q 361 211 357 235 q 368 173 366 188 q 373 211 370 188 q 381 260 377 234 q 390 314 385 286 q 399 366 395 342 q 407 409 404 390 q 413 436 411 428 l 551 992 l 735 992 l 873 436 q 879 409 875 428 q 887 366 882 390 q 896 314 891 342 q 905 260 901 286 q 913 211 910 234 q 919 173 917 188 q 925 211 921 188 q 933 262 929 235 q 943 318 938 289 q 953 372 948 346 q 962 418 958 398 q 967 450 965 439 l 1080 992 l 1287 992 l 1048 0 m 594 1071 q 539 1118 571 1089 q 475 1175 506 1146 q 418 1233 444 1205 q 382 1278 392 1260 l 382 1293 l 613 1293 q 639 1242 624 1269 q 669 1187 653 1215 q 701 1134 685 1160 q 732 1089 717 1108 l 732 1071 l 594 1071 \"},Ť:{x_min:28,x_max:735,ha:762,o:\"m 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 0 m 664 1274 q 624 1229 647 1255 q 580 1176 602 1203 q 538 1121 558 1148 q 503 1071 518 1094 l 262 1071 q 226 1121 247 1094 q 184 1176 206 1148 q 141 1229 162 1203 q 102 1274 119 1255 l 102 1293 l 239 1293 q 309 1240 274 1270 q 381 1174 344 1211 q 454 1240 416 1211 q 526 1293 491 1270 l 664 1293 l 664 1274 \"},ψ:{x_min:97,x_max:1047,ha:1128,o:\"m 662 1054 l 662 142 q 747 162 711 148 q 806 205 782 177 q 841 278 829 234 q 852 389 852 323 q 837 571 852 481 q 798 758 821 661 l 993 758 q 1034 571 1021 660 q 1047 389 1047 482 q 1017 208 1047 283 q 935 86 987 134 q 813 16 883 39 q 662 -12 743 -7 l 662 -334 l 468 -334 l 468 -12 q 318 12 387 -9 q 201 80 250 34 q 124 199 152 126 q 97 376 97 272 l 97 758 l 291 758 l 291 368 q 300 267 291 308 q 330 199 309 225 q 384 159 351 172 q 468 141 418 145 l 468 1054 l 662 1054 \"},ŗ:{x_min:77,x_max:570,ha:603,o:\"m 504 773 q 522 772 512 773 q 541 771 532 772 q 558 769 550 770 q 570 766 565 768 l 570 572 q 555 575 564 574 q 535 578 545 576 q 514 579 524 579 q 497 579 504 579 q 423 569 457 579 q 366 536 390 559 q 329 476 342 513 q 315 386 315 439 l 315 0 l 109 0 l 109 758 l 265 758 l 296 644 l 306 644 q 341 697 322 673 q 383 738 360 721 q 436 763 407 754 q 504 773 466 773 m 77 -288 q 89 -242 83 -268 q 100 -188 95 -216 q 111 -134 106 -161 q 118 -85 116 -107 l 310 -85 l 310 -98 q 261 -198 289 -145 q 197 -307 233 -251 l 77 -307 l 77 -288 \"}},cssFontWeight:\"bold\",ascender:1290,underlinePosition:-154,cssFontStyle:\"normal\",boundingBox:{yMin:-407,xMin:-269,yMax:1391,xMax:1695},resolution:1e3,original_font_information:{postscript_name:\"DroidSans-Bold\",version_string:\"Version 1.00 build 107\",vendor_url:\"http://www.ascendercorp.com/\",full_font_name:\"Droid Sans Bold\",font_family_name:\"Droid Sans\",copyright:\"Digitized data copyright © 2006, Google Corporation.\",description:\"Droid Sans is a humanist sans serif typeface designed for user interfaces and electronic communication.\",trademark:\"Droid is a trademark of Google and may be registered in certain jurisdictions.\",designer:\"\",designer_url:\"http://www.ascendercorp.com/typedesigners.html\",unique_font_identifier:\"Ascender - Droid Sans Bold\",license_url:\"http://ascendercorp.com/eula10.html\",license_description:\"This font software is the valuable property of Ascender Corporation and/or its suppliers and its use by you is covered under the terms of a license agreement. This font software is licensed to you by Ascender Corporation for your personal or business use on up to five personal computers. You may not use this font software on more than five personal computers unless you have obtained a license from Ascender to do so. Except as specifically permitted by the license, you may not copy this font software.\\n\\nIf you have any questions, please review the license agreement you received with this font software, and/or contact Ascender Corporation. \\n\\nContact Information:\\nAscender Corporation\\nWeb http://www.ascendercorp.com/\",manufacturer_name:\"Ascender Corporation\",font_sub_family_name:\"Bold\"},descender:-328,familyName:\"Droid Sans\",lineHeight:1617,underlineThickness:102}},9473:e=>{var t,n,s=e.exports={};function i(){throw new Error(\"setTimeout has not been defined\")}function a(){throw new Error(\"clearTimeout has not been defined\")}function l(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t=\"function\"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{n=\"function\"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var r,o=[],c=!1,u=-1;function p(){c&&r&&(c=!1,r.length?o=r.concat(o):u=-1,o.length&&h())}function h(){if(!c){var e=l(p);c=!0;for(var t=o.length;t;){for(r=o,o=[];++u1)for(var n=1;n{\"use strict\";n.d(t,{I:()=>r});var s=n(9477),i=n(508),a=n(5743),l=n(4211);class r{container;canvas;scene=new s.xsS;material=new a.P;context;ifcLoader=new l.Z;constructor(e,t){this.container=e,this.canvas=t,this.context=new i._y(this.scene,this.container,this.canvas,this.material)}loadModel(e,t){this.ifcLoader.ifcLoaded.on((e=>{this.scene.add(e),t.textContent=this.scene.children.length.toString()})),this.ifcLoader?.loadFragment(e)}loadFragment=async e=>{this.ifcLoader.ifcLoaded.on((e=>{this.scene.add(e)})),this.ifcLoader?.loadFragment(e)}}},6318:(e,t,n)=>{\"use strict\";n.d(t,{j:()=>s});class s{on(e){this.handlers.push(e)}off(e){this.handlers=this.handlers.filter((t=>t!==e))}trigger=e=>{this.handlers.slice(0).forEach((t=>t(e)))};reset(){this.handlers.length=0}handlers=[]}},6934:(e,t,n)=>{\"use strict\";n.d(t,{_:()=>o});var s=n(9073),i=n.n(s),a=n(9477),l=n(7157),r=n(1711);class o{_scene;_material;_loader=new l.J;_font;constructor(e,t){this._scene=e,this._material=t,this._font=this._loader.parse(i()),this.init()}dispose(){this._scene.children.forEach((e=>{e.userData.dispose&&o.disposeItem(e)}))}init(){this.initItem(\"left\",96,96,16,0,0,56),this.initTextSide(\"L\",-20,-24,64),this.initItem(\"right\",96,96,16,0,0,-56),this.initTextSide(\"R\",-30,-24,64),this.initItem(\"top\",96,16,96,0,56,0),this.initTextSide(\"T\",-20,-24,64),this.initItem(\"bottom\",96,16,96,0,-56,0),this.initTextSide(\"BO\",-55,-24,64),this.initItem(\"front\",16,96,96,56,0,0),this.initTextSide(\"F\",-30,-24,64),this.initItem(\"back\",16,96,96,-56,0,0),this.initTextSide(\"B\",-30,-24,64),this.initTextRing(\"W\",-32,-62,105),this.initTextRing(\"E\",-16,-62,-105),this.initTextRing(\"N\",-105,-62,20),this.initTextRing(\"S\",105,-62,20),this.initItem(\"left_front\",16,96,16,56,0,56),this.initItem(\"left_back\",16,96,16,-56,0,56),this.initItem(\"right_front\",16,96,16,56,0,-56),this.initItem(\"right_back\",16,96,16,-56,0,-56),this.initItem(\"top_left\",96,16,16,0,56,56),this.initItem(\"top_right\",96,16,16,0,56,-56),this.initItem(\"top_front\",16,16,96,56,56,0),this.initItem(\"top_back\",16,16,96,-56,56,0),this.initItem(\"bottom_left\",96,16,16,0,-56,56),this.initItem(\"bottom_right\",96,16,16,0,-56,-56),this.initItem(\"bottom_front\",16,16,96,56,-56,0),this.initItem(\"bottom_back\",16,16,96,-56,-56,0),this.initItem(\"top_left_front\",16,16,16,56,56,56),this.initItem(\"top_left_back\",16,16,16,-56,56,56),this.initItem(\"top_right_front\",16,16,16,56,56,-56),this.initItem(\"top_right_back\",16,16,16,-56,56,-56),this.initItem(\"bottom_left_front\",16,16,16,56,-56,56),this.initItem(\"bottom_left_back\",16,16,16,-56,-56,56),this.initItem(\"bottom_right_front\",16,16,16,56,-56,-56),this.initItem(\"bottom_right_back\",16,16,16,-56,-56,-56),this.initRing(),this.initOutLine()}static disposeItem(e){e.geometry.dispose(),e.geometry=null,e.removeFromParent(),e=null}initItem(e,t,n,s,i,l,r){const o=new a.DvJ(t,n,s);o.translate(i,l,r);const c=new a.Kj0(o,this._material.normalCube);return c.userData.Element=!0,c.userData.dispose=!0,c.name=e,this._scene.add(c),c}initRing(){const e=new a.o8S(100,160,30);e.rotateX(-Math.PI/2),e.translate(0,-65,0);const t=new a.Kj0(e,this._material.ring);return t.userData.dispose=!0,this._scene.add(t),t}initOutLine(){const e=new a.DvJ(128,128,128),t=new a.TOt(e),n=new a.ejS(t,this._material.outLineCube);return n.userData.dispose=!0,this._scene.add(n),n}initTextSide(e,t,n,s){const i={font:this._font,size:60,height:2},l=new r.M(e,i);l.translate(t,n,s),this.rotateTextCube(e,l);const o=new a.Kj0(l,this._material.textCube);return o.userData.dispose=!0,this._scene.add(o),o}initTextRing(e,t,n,s){const i={font:this._font,size:40,height:2},l=new r.M(e,i);this.rotateRing(e,l),l.translate(t,n,s);const o=new a.Kj0(l,this._material.textRing);return o.userData.dispose=!0,o.userData.Element=!0,this._scene.add(o),o}rotateRing(e,t){switch(e){case\"W\":t.rotateX(Math.PI/2);break;case\"E\":t.rotateX(-Math.PI/2);break;case\"S\":t.rotateY(Math.PI/2),t.rotateZ(-Math.PI/2);break;case\"N\":t.rotateY(Math.PI/2),t.rotateZ(Math.PI/2)}}rotateTextCube(e,t){switch(e){case\"L\":default:break;case\"R\":t.rotateY(Math.PI);break;case\"T\":t.rotateY(Math.PI/2),t.rotateZ(Math.PI/2);break;case\"BO\":t.rotateX(Math.PI/2);break;case\"F\":t.rotateY(Math.PI/2);break;case\"B\":t.rotateY(-Math.PI/2)}}}},6443:(e,t,n)=>{\"use strict\";n.d(t,{V:()=>a});var s=n(9477),i=n(105);class a{maxFar=1e7;minFar=.1;radius=50;_size;set size(e){this._size=e.clone(),this._OrthographicCamera.left=e.x/-50,this._OrthographicCamera.right=e.y/50,this._PerspectiveCamera.aspect=e.x/e.y,this._OrthographicCamera.updateProjectionMatrix(),this._PerspectiveCamera.updateProjectionMatrix()}get size(){return this._size}_protection=!0;set projection(e){this._protection=e,this.currentCamera=e?this._PerspectiveCamera:this._OrthographicCamera}get projection(){return this._protection}static getSubsetOfThree(){return{MOUSE:s.RsA,Vector2:s.FM8,Vector3:s.Pa4,Vector4:s.Ltg,Quaternion:s._fP,Matrix4:s.yGw,Spherical:s.$V,Box3:s.ZzF,Sphere:s.aLr,Raycaster:s.iMs,MathUtils:s.M8C}}setupCameraControls(){i.Z.install({THREE:a.getSubsetOfThree()});const e=new i.Z(this.currentCamera,this._domElement);return e.smoothTime=.001,e.dollyToCursor=!0,e.dollyDragInverted=!0,e.infinityDolly=!1,e.dollySpeed=5,e.setTarget(0,0,0),e.mouseButtons.left=i.Z.ACTION.ROTATE,e.mouseButtons.right=i.Z.ACTION.OFFSET,e.mouseButtons.middle=i.Z.ACTION.ZOOM,e.mouseButtons.wheel=i.Z.ACTION.ZOOM,e}_domElement;_OrthographicCamera;_PerspectiveCamera;currentCamera;controls;initPerspectiveCamera(){const e=new s.cPb(45,this.size.x/this.size.y,.1,this.maxFar);return e.position.set(this.radius,this.radius,this.radius),e.lookAt(new s.Pa4(0,0,0)),e}initOrthographicCamera(){const e=new s.iKG(this.size.x/-50,this.size.x/50,this.size.y/50,this.size.y/-50,-1*this.minFar,this.maxFar);return e.position.set(this.radius,this.radius,this.radius),e.lookAt(new s.Pa4(0,0,0)),e}constructor(e,t){this._domElement=e,this._size=t,this._PerspectiveCamera=this.initPerspectiveCamera(),this._OrthographicCamera=this.initOrthographicCamera(),this.projection=!0,this.controls=this.setupCameraControls()}dispose(){this.controls.dispose()}update(e){this.currentCamera.updateProjectionMatrix(),this.controls.update(e)}}},3385:(e,t,n)=>{\"use strict\";n.d(t,{_:()=>p});var s=n(9477),i=n(6443),a=n(5650),l=n(6970),r=n(6318),o=n(8893),c=n(7023),u=n(1897);class p{onInitialized=new r.j;_clock=new s.SUY;_axes;initAxes(){this._axes=new s.y8_(3),this._axes.material.depthTest=!1,this._axes.renderOrder=1,this._scene.add(this._axes)}_ambientLight;initAmbientLight(){this._ambientLight=new s.Mig(16777215,2),this._scene.add(this._ambientLight)}_directionalLight;initDirectionalLight(){this._directionalLight=new s.Ox3(16777215,2),this._directionalLight.position.set(100,100,100),this._directionalLight.target.position.set(0,0,0),this._directionalLight.castShadow=!0,this._directionalLight.shadow.bias=-.001,this._directionalLight.shadow.mapSize.width=2048,this._directionalLight.shadow.mapSize.height=2048,this._directionalLight.shadow.camera.near=.1,this._directionalLight.shadow.camera.far=1e3,this._directionalLight.shadow.camera.left=10,this._directionalLight.shadow.camera.right=-10,this._directionalLight.shadow.camera.top=10,this._directionalLight.shadow.camera.bottom=-10,this._scene.add(this._directionalLight),this._scene.add(this._directionalLight.target)}_size;set size(e){this._size=e.clone(),this.renderer&&(this.renderer.size=e),this.camera&&(this.camera.size=e)}get size(){return this._size}set OrbitPoint(e){const t=e||this.viewSphere.center;t&&this.camera.controls.setOrbitPoint(t.x,t.y,t.z)}_viewSphere=new s.aLr(new s.Pa4,30);set viewSphere(e){this._viewSphere=e.clone()}get viewSphere(){return this._viewSphere}fitToModelLoaded(e){this.viewSphere=e,this.fitToSphere(this.viewSphere);const t=this.viewSphere.center;this.OrbitPoint=t}fitToSphere(e){this.camera.controls&&this.camera.controls.fitToSphere(e,!0)}renderer;camera;RayCaster;_scene;_container;_material;_canvas;_cubeView;_postProduction;viewPoint;constructor(e,t,n,r){this._scene=e,this._container=t,this._canvas=n,this._material=r,this.size=new s.FM8(this._container.clientWidth,this._container.clientHeight),this.renderer=new a.T(this._container,this.size,this._canvas),this.camera=new i.V(this.renderer.domElement,this.size),this.RayCaster=new l.S(this._scene,this.renderer,this.camera),this._postProduction=new c.G(this._scene,this.camera.currentCamera,this.size,this.renderer.renderer,this.renderer.domElement,this.camera.controls),this._postProduction.enabled=!0,this._postProduction.setupEvents=!0,this.viewPoint=new u.e(this.renderer.domElement),this.initAxes(),this.initAmbientLight(),this.initDirectionalLight(),this._cubeView=new o.y(this._container,this.camera,this._material),this._clock.start(),this.render(),this._scene.background=new s.Ilk(2107698),this.resize=!0,this.keyEvent=!0}dispose(){this.resize=!1,this.keyEvent=!1,this.renderer.dispose(),this.camera.dispose(),this._container.remove(),this._canvas.remove(),this._axes&&(this._axes.geometry.dispose(),this._axes.geometry=null,this._axes.removeFromParent(),this._axes.material?.dispose(),this._axes.material=null,this._axes=null),this._cubeView&&this._cubeView.dispose(),this._clock.stop(),this._postProduction&&this._postProduction.dispose()}set resize(e){e?window.addEventListener(\"resize\",this.onResize):window.removeEventListener(\"resize\",this.onResize)}set keyEvent(e){e?(document.addEventListener(\"keydown\",this.onKeyDown),document.addEventListener(\"keyup\",this.onKeyUp)):(document.removeEventListener(\"keydown\",this.onKeyDown),document.removeEventListener(\"keyup\",this.onKeyUp))}onResize=e=>{const t=new s.FM8(this._container.clientWidth,this._container.clientHeight);this.size=t};keyShift=!1;onKeyDown=e=>{17===e.keyCode&&(this.viewPoint.orbit=!0),this.keyShift=16===e.keyCode};onKeyUp=e=>{this.viewPoint.orbit=!1,this.keyShift=!1};render(){this._clock.start(),this.update(),this.onInitialized.trigger(this)}update=()=>{const e=this._clock.getDelta();this.camera.update(e),this._postProduction&&this._postProduction.enabled?this._postProduction.composer.render():this.renderer.renderer.render(this._scene,this.camera.currentCamera),this.renderer.labelRenderer.render(this._scene,this.camera.currentCamera),this._cubeView&&this._cubeView.update(),this.renderer.renderer.setAnimationLoop(this.update)}}},8893:(e,t,n)=>{\"use strict\";n.d(t,{y:()=>a});var s=n(9477),i=n(6934);class a{radius=500;scene=new s.xsS;canvas;initCanvas(){const e=document.createElement(\"canvas\");return e.style.position=\"absolute\",e.style.width=\"100%\",e.style.height=\"100%\",e}container;initContainer(){const e=document.createElement(\"div\");return e.style.position=\"absolute\",e.style.width=\"80px\",e.style.height=\"80px\",e.style.right=\"0px\",e}_size=new s.FM8;set size(e){this._size=e.clone()}get size(){return this._size}_boxCube;renderer;initRenderer(){this.renderer=new s.CP7({canvas:this.canvas,alpha:!0,antialias:!0}),this.renderer.setSize(this.size.x,this.size.y),this.renderer.setPixelRatio(Math.min(window.devicePixelRatio,2)),this.renderer.localClippingEnabled=!0}_PerspectiveCamera;initPerspectiveCamera(){const e=new s.cPb(45,this.size.x/this.size.y,1,2e3);return e.userData.radius=this.radius,e.position.set(this.radius,this.radius,this.radius),e}_OrthographicCamera;initOrthographicCamera(){const e=new s.iKG(this.size.x/-1,this.size.x/1,this.size.y/1,this.size.y/-1,-1e3,1e3);return e.position.set(120,120,120),e}camera;initCamera(){this._PerspectiveCamera=this.initPerspectiveCamera(),this._OrthographicCamera=this.initOrthographicCamera(),this.camera=this._contextCamera.projection?this._PerspectiveCamera:this._OrthographicCamera}_contextContainer;_contextCamera;_material;constructor(e,t,n){this._contextContainer=e,this._contextCamera=t,this._material=n,this.container=this.initContainer(),this.canvas=this.initCanvas(),this.container.appendChild(this.canvas),this._contextContainer.appendChild(this.container),this.size=new s.FM8(this.container.clientWidth,this.container.clientHeight),this.initCamera(),this.initLight(),this.initRenderer(),this.initRayCaster(),this._boxCube=new i._(this.scene,this._material),this.event=!0}dispose(){this.event=!1,this.renderer.setAnimationLoop(null),this.renderer.renderLists.dispose(),this._boxCube.dispose(),this.canvas.remove(),this.container.remove()}_AmbientLight;_DirectionalLight;initLight(){this._AmbientLight=new s.Mig(16777215,2),this.scene.add(this._AmbientLight),this._DirectionalLight=new s.Ox3(16777215,2),this._DirectionalLight.position.set(350,350,350),this._DirectionalLight.target.position.set(-0,0,0),this._DirectionalLight.castShadow=!0,this._DirectionalLight.shadow.bias=-.001,this._DirectionalLight.shadow.mapSize.width=2048,this._DirectionalLight.shadow.mapSize.height=2048,this._DirectionalLight.shadow.camera.near=.1,this._DirectionalLight.shadow.camera.far=100,this._DirectionalLight.shadow.camera.left=10,this._DirectionalLight.shadow.camera.right=-10,this._DirectionalLight.shadow.camera.top=10,this._DirectionalLight.shadow.camera.bottom=-10,this.scene.add(this._DirectionalLight)}mouse;rayCaster;initRayCaster(){this.rayCaster=new s.iMs,this.mouse=new s.FM8}cast(e){const t=this.renderer.domElement.getBoundingClientRect(),n=e.clientX-t.left,s=e.clientY-t.top,i=t.right-t.left;this.mouse.x=n/i*2-1;const a=t.bottom-t.top;return this.mouse.y=-s/a*2+1,this.rayCaster.setFromCamera(this.mouse,this.camera),this.rayCaster.intersectObjects(this.scene.children.filter((e=>e.userData.Element)))}set event(e){const{domElement:t}=this.renderer;e?(t.addEventListener(\"mousemove\",this.mousemove),t.addEventListener(\"mouseout\",this.mouseout),t.addEventListener(\"click\",this.onClick)):(t.removeEventListener(\"mousemove\",this.mousemove),t.removeEventListener(\"mouseout\",this.mouseout),t.removeEventListener(\"click\",this.onClick))}mousemove=e=>{this.resetMaterial(),this.found=e};mouseout=e=>{this.resetMaterial()};onClick=e=>{console.log(this.found)};_found;set found(e){this._found=this.cast(e)[0];const{domElement:t}=this.renderer;this._found?(t.style.cursor=\"pointer\",this._found.object.material=this._material.hoverCube):t.style.cursor=\"default\"}get found(){return this._found}resetMaterial(){const{normalCube:e}=this._material;this.scene.children.filter((e=>e.userData.Element)).forEach((t=>{t.material=e}))}onVisibility(e){this.container.style.display=e?\"block\":\"none\"}update(){const e=this._contextCamera.controls.getPosition(new s.Pa4),t=this._contextCamera.controls.getTarget(new s.Pa4),n=new s.Pa4(e.x-t.x,e.y-t.y,e.z-t.z).normalize(),i=new s.Pa4(0,0,0).add(n.multiplyScalar(this.camera.userData.radius));this.camera.position.x=i.x,this.camera.position.y=i.y,this.camera.position.z=i.z,this._DirectionalLight.position.set(i.x,i.y,i.z),this.camera.lookAt(0,0,0),this.camera.updateProjectionMatrix(),this.renderer.render(this.scene,this.camera)}}},5844:(e,t,n)=>{\"use strict\";n.d(t,{G:()=>u});var s=n(9477),i=n(1279),a=n(4458),l=n(8904),r=n(7531),o=n(2448),c=n(7633);class u{scene;camera;size;renderer;domElement;controls;excludedItems=new Set;composer;_enabled=!1;_initialized=!1;_n8ao;_customEffects;_basePass;_gammaPass;_depthTexture;_renderTarget;get basePass(){if(!this._basePass)throw new Error(\"Custom effects not initialized!\");return this._basePass}get gammaPass(){if(!this._gammaPass)throw new Error(\"Custom effects not initialized!\");return this._gammaPass}get customEffects(){if(!this._customEffects)throw new Error(\"Custom effects not initialized!\");return this._customEffects}get n8ao(){if(!this._n8ao)throw new Error(\"Custom effects not initialized!\");return this._n8ao}get enabled(){return this._enabled}set enabled(e){this._initialized||this.initialize(),this._enabled=e}constructor(e,t,n,a,l,r){this.scene=e,this.camera=t,this.size=n,this.renderer=a,this.domElement=l,this.controls=r,this._renderTarget=new s.dd2(window.innerWidth,window.innerHeight),this._renderTarget.texture.colorSpace=\"srgb-linear\",this.composer=new i.x(this.renderer,this._renderTarget),this.composer.setSize(window.innerWidth,window.innerHeight)}dispose(){this._renderTarget.dispose(),this._depthTexture?.dispose(),this._customEffects?.dispose(),this._gammaPass?.dispose(),this._n8ao?.dispose(),this.excludedItems.clear(),this.setupEvents=!1}setSize(){if(this._initialized){const e=this.size.x,t=this.size.y;this.composer.setSize(e,t),this.basePass.setSize(e,t),this.n8ao.setSize(e,t),this.customEffects.setSize(e,t),this.gammaPass.setSize(e,t)}}update(){this._enabled&&this.composer.render()}updateCamera(){}initialize(){this.renderer.outputColorSpace=\"srgb\",this.renderer.toneMapping=s.uL9,this.newBasePass(),this.newSaoPass(),this.newGammaPass(),this.newCustomPass(),this._initialized=!0,this.updatePasses()}updateProjection(e){this.composer.passes.forEach((t=>{t.camera=e})),this.update()}isUserControllingCamera=!1;isControlSleeping=!0;lastWheelUsed=0;lastResized=0;resizeDelay=500;visible=!1;set setupEvents(e){e?(this.controls.addEventListener(\"control\",this.onControl),this.controls.addEventListener(\"controlstart\",this.onControlStart),this.controls.addEventListener(\"wake\",this.onWake),this.controls.addEventListener(\"controlend\",this.onControlEnd),this.controls.addEventListener(\"sleep\",this.onSleep),this.domElement.addEventListener(\"wheel\",this.onWheel)):(this.controls.removeEventListener(\"control\",this.onControl),this.controls.removeEventListener(\"controlstart\",this.onControlStart),this.controls.removeEventListener(\"wake\",this.onWake),this.controls.removeEventListener(\"controlend\",this.onControlEnd),this.controls.removeEventListener(\"sleep\",this.onSleep),this.domElement.removeEventListener(\"wheel\",this.onWheel))}onControlStart=()=>{this.isUserControllingCamera=!0};onWake=()=>{this.isControlSleeping=!1};onResize=()=>{this.enabled&&(this.lastResized=performance.now(),this.visible=!1,setTimeout((()=>{performance.now()-this.lastResized>=this.resizeDelay&&(this.visible=!0)}),this.resizeDelay))};onControl=()=>{this.enabled&&(this.visible=!1)};onControlEnd=()=>{this.enabled&&(this.isUserControllingCamera=!1,!this.isUserControllingCamera&&this.isControlSleeping&&(this.visible=!0))};onWheel=()=>{this.enabled&&(this.lastResized=performance.now())};onSleep=()=>{if(!this.enabled)return;this.isControlSleeping=!0;const e=performance.now();setTimeout((()=>{this.lastWheelUsed>e||!this.isUserControllingCamera&&this.isControlSleeping&&(this.visible=!0)}),200)};updatePasses(){for(const e of this.composer.passes)this.composer.removePass(e);this._basePass&&this.composer.addPass(this.basePass),this.composer.addPass(this.gammaPass),this.composer.addPass(this.n8ao),this.composer.addPass(this.customEffects)}newCustomPass(){this._customEffects=new c.U(this.size.clone(),this.scene,this.camera)}newGammaPass(){this._gammaPass=new r.T(o.Y)}newSaoPass(){this._n8ao=new l.e(this.scene,this.camera,this.size.x,this.size.y);const{configuration:e}=this._n8ao;e.aoSamples=16,e.denoiseSamples=1,e.denoiseRadius=13,e.aoRadius=1,e.distanceFalloff=4,e.aoRadius=1,e.intensity=4,e.halfRes=!0,e.color=(new s.Ilk).setHex(13421772,\"srgb-linear\")}newBasePass(){this._basePass=new a.C(this.scene,this.camera)}}},7633:(e,t,n)=>{\"use strict\";n.d(t,{U:()=>r});var s=n(9477),i=n(8304),a=n(8949),l=n(2088);class r extends i.w{resolution;renderScene;renderCamera;fsQuad;normalOverrideMaterial;glossOverrideMaterial;planeBuffer;glossBuffer;outlineBuffer;excludedMeshes=[];outlinedMeshes={};_outlineScene=new s.xsS;_outlineEnabled=!1;_lineColor=10066329;_opacity=.4;_tolerance=3;_glossEnabled=!0;_glossExponent=1.9;_minGloss=-.1;_maxGloss=.1;_outlinesNeedsUpdate=!1;get lineColor(){return this._lineColor}set lineColor(e){this._lineColor=e,this.fsQuad.material.uniforms.lineColor.value.set(e)}get tolerance(){return this._tolerance}set tolerance(e){this._tolerance=e,this.fsQuad.material.uniforms.tolerance.value=e}get opacity(){return this._opacity}set opacity(e){this._opacity=e,this.fsQuad.material.uniforms.opacity.value=e}get glossEnabled(){return this._glossEnabled}set glossEnabled(e){e!==this._glossEnabled&&(this._glossEnabled=e,this.fsQuad.material.uniforms.glossEnabled.value=e?1:0)}get glossExponent(){return this._glossExponent}set glossExponent(e){this._glossExponent=e,this.fsQuad.material.uniforms.glossExponent.value=e}get minGloss(){return this._minGloss}set minGloss(e){this._minGloss=e,this.fsQuad.material.uniforms.minGloss.value=e}get maxGloss(){return(new s.vBJ).color.convertLinearToSRGB(),this._maxGloss}set maxGloss(e){this._maxGloss=e,this.fsQuad.material.uniforms.maxGloss.value=e}get outlineEnabled(){return this._outlineEnabled}set outlineEnabled(e){e!==this._outlineEnabled&&(this._outlineEnabled=e,this.fsQuad.material.uniforms.outlineEnabled.value=e?1:0)}constructor(e,t,n){super(),this.renderScene=t,this.renderCamera=n,this.resolution=new s.FM8(e.x,e.y),this.fsQuad=new i.T,this.fsQuad.material=this.createOutlinePostProcessMaterial(),this.planeBuffer=this.newRenderTarget(),this.glossBuffer=this.newRenderTarget(),this.outlineBuffer=this.newRenderTarget();const r=(0,a.Q)();this.normalOverrideMaterial=r;const o=(0,l.i)();this.glossOverrideMaterial=o}dispose(){this.planeBuffer.dispose(),this.glossBuffer.dispose(),this.outlineBuffer.dispose(),this.normalOverrideMaterial.dispose(),this.glossOverrideMaterial.dispose(),this.fsQuad.dispose(),this.excludedMeshes=[],this._outlineScene.children=[];for(const e in this.outlinedMeshes)this.outlinedMeshes[e].material.dispose()}setSize(e,t){this.planeBuffer.setSize(e,t),this.glossBuffer.setSize(e,t),this.outlineBuffer.setSize(e,t),this.resolution.set(e,t),this.fsQuad.material.uniforms.screenSize.value.set(this.resolution.x,this.resolution.y,1/this.resolution.x,1/this.resolution.y)}render(e,t,n){const i=t.depthBuffer;t.depthBuffer=!1;const a=this.renderScene.overrideMaterial,l=this.renderScene.background;this.renderScene.background=null;for(const e of this.excludedMeshes)e.visible=!1;if(e.setRenderTarget(this.planeBuffer),this.renderScene.overrideMaterial=this.normalOverrideMaterial,e.render(this.renderScene,this.renderCamera),this._glossEnabled&&(e.setRenderTarget(this.glossBuffer),this.renderScene.overrideMaterial=this.glossOverrideMaterial,e.render(this.renderScene,this.renderCamera)),this.renderScene.overrideMaterial=a,this._outlineEnabled){let t=!1;for(const e in this.outlinedMeshes){const n=this.outlinedMeshes[e];for(const e of n.meshes)t=!0,e.userData.materialPreOutline=e.material,e.material=n.material,e.userData.groupsPreOutline=e.geometry.groups,e.geometry.groups=[],e instanceof s.SPe&&(e.userData.colorPreOutline=e.instanceColor,e.instanceColor=null),e.userData.parentPreOutline=e.parent,this._outlineScene.add(e)}(t||this._outlinesNeedsUpdate)&&(e.setRenderTarget(this.outlineBuffer),e.render(this._outlineScene,this.renderCamera),this._outlinesNeedsUpdate=t);for(const e in this.outlinedMeshes){const t=this.outlinedMeshes[e];for(const e of t.meshes)e.material=e.userData.materialPreOutline,e.geometry.groups=e.userData.groupsPreOutline,e instanceof s.SPe&&(e.instanceColor=e.userData.colorPreOutline),e.userData.parentPreOutline&&e.userData.parentPreOutline.add(e),e.userData.materialPreOutline=void 0,e.userData.groupsPreOutline=void 0,e.userData.colorPreOutline=void 0,e.userData.parentPreOutline=void 0}}for(const e of this.excludedMeshes)e.visible=!0;this.renderScene.background=l;const r=this.fsQuad.material;r.uniforms.planeBuffer.value=this.planeBuffer.texture,r.uniforms.glossBuffer.value=this.glossBuffer.texture,r.uniforms.outlineBuffer.value=this.outlineBuffer.texture,r.uniforms.sceneColorBuffer.value=n.texture,this.renderToScreen?(e.setRenderTarget(null),this.fsQuad.render(e)):(e.setRenderTarget(t),this.fsQuad.render(e)),t.depthBuffer=i}get vertexShader(){return\"\\n\\t varying vec2 vUv;\\n\\t void main() {\\n\\t \\tvUv = uv;\\n\\t \\tgl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\\n\\t }\\n\\t\"}get fragmentShader(){return\"\\n\\t uniform sampler2D sceneColorBuffer;\\n\\t uniform sampler2D planeBuffer;\\n\\t uniform sampler2D glossBuffer;\\n\\t uniform sampler2D outlineBuffer;\\n\\t uniform vec4 screenSize;\\n\\t uniform vec3 lineColor;\\n\\t \\n\\t uniform float outlineEnabled;\\n\\t \\n uniform int width;\\n\\t uniform float opacity;\\n uniform float tolerance;\\n uniform float glossExponent;\\n uniform float minGloss;\\n uniform float maxGloss;\\n uniform float glossEnabled;\\n\\n\\t varying vec2 vUv;\\n\\n\\t vec4 getValue(sampler2D buffer, int x, int y) {\\n\\t \\treturn texture2D(buffer, vUv + screenSize.zw * vec2(x, y));\\n\\t }\\n\\n float normalDiff(vec3 normal1, vec3 normal2) {\\n return ((dot(normal1, normal2) - 1.) * -1.) / 2.;\\n }\\n\\n // Returns 0 if it's background, 1 if it's not\\n float getIsBackground(vec3 normal) {\\n float background = 1.0;\\n background *= step(normal.x, 0.);\\n background *= step(normal.y, 0.);\\n background *= step(normal.z, 0.);\\n background = (background - 1.) * -1.;\\n return background;\\n }\\n\\n\\t void main() {\\n\\t \\n\\t vec4 sceneColor = getValue(sceneColorBuffer, 0, 0);\\n\\t vec3 normSceneColor = normalize(sceneColor.rgb);\\n \\n vec4 plane = getValue(planeBuffer, 0, 0);\\n\\t vec3 normal = plane.xyz;\\n float distance = plane.w;\\n \\n vec3 normalTop = getValue(planeBuffer, 0, width).rgb;\\n vec3 normalBottom = getValue(planeBuffer, 0, -width).rgb;\\n vec3 normalRight = getValue(planeBuffer, width, 0).rgb;\\n vec3 normalLeft = getValue(planeBuffer, -width, 0).rgb;\\n vec3 normalTopRight = getValue(planeBuffer, width, width).rgb;\\n vec3 normalTopLeft = getValue(planeBuffer, -width, width).rgb;\\n vec3 normalBottomRight = getValue(planeBuffer, width, -width).rgb;\\n vec3 normalBottomLeft = getValue(planeBuffer, -width, -width).rgb;\\n \\n float distanceTop = getValue(planeBuffer, 0, width).a;\\n float distanceBottom = getValue(planeBuffer, 0, -width).a;\\n float distanceRight = getValue(planeBuffer, width, 0).a;\\n float distanceLeft = getValue(planeBuffer, -width, 0).a;\\n float distanceTopRight = getValue(planeBuffer, width, width).a;\\n float distanceTopLeft = getValue(planeBuffer, -width, width).a;\\n float distanceBottomRight = getValue(planeBuffer, width, -width).a;\\n float distanceBottomLeft = getValue(planeBuffer, -width, -width).a;\\n \\n vec3 sceneColorTop = normalize(getValue(sceneColorBuffer, 1, 0).rgb);\\n vec3 sceneColorBottom = normalize(getValue(sceneColorBuffer, -1, 0).rgb);\\n vec3 sceneColorLeft = normalize(getValue(sceneColorBuffer, 0, -1).rgb);\\n vec3 sceneColorRight = normalize(getValue(sceneColorBuffer, 0, 1).rgb);\\n vec3 sceneColorTopRight = normalize(getValue(sceneColorBuffer, 1, 1).rgb);\\n vec3 sceneColorBottomRight = normalize(getValue(sceneColorBuffer, -1, 1).rgb);\\n vec3 sceneColorTopLeft = normalize(getValue(sceneColorBuffer, 1, 1).rgb);\\n vec3 sceneColorBottomLeft = normalize(getValue(sceneColorBuffer, -1, 1).rgb);\\n\\n // Checks if the planes of this texel and the neighbour texels are different\\n\\n float planeDiff = 0.0;\\n\\n planeDiff += step(0.001, normalDiff(normal, normalTop));\\n planeDiff += step(0.001, normalDiff(normal, normalBottom));\\n planeDiff += step(0.001, normalDiff(normal, normalLeft));\\n planeDiff += step(0.001, normalDiff(normal, normalRight));\\n planeDiff += step(0.001, normalDiff(normal, normalTopRight));\\n planeDiff += step(0.001, normalDiff(normal, normalTopLeft));\\n planeDiff += step(0.001, normalDiff(normal, normalBottomRight));\\n planeDiff += step(0.001, normalDiff(normal, normalBottomLeft));\\n \\n planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorTop));\\n planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorBottom));\\n planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorLeft));\\n planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorRight));\\n \\tplaneDiff += step(0.001, normalDiff(normSceneColor, sceneColorTopRight));\\n planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorTopLeft));\\n planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorBottomRight));\\n planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorBottomLeft));\\n\\n planeDiff += step(0.001, abs(distance - distanceTop));\\n planeDiff += step(0.001, abs(distance - distanceBottom));\\n planeDiff += step(0.001, abs(distance - distanceLeft));\\n planeDiff += step(0.001, abs(distance - distanceRight));\\n planeDiff += step(0.001, abs(distance - distanceTopRight));\\n planeDiff += step(0.001, abs(distance - distanceTopLeft));\\n planeDiff += step(0.001, abs(distance - distanceBottomRight));\\n planeDiff += step(0.001, abs(distance - distanceBottomLeft));\\n\\n // Add extra background outline\\n\\n int width2 = width + 1;\\n vec3 normalTop2 = getValue(planeBuffer, 0, width2).rgb;\\n vec3 normalBottom2 = getValue(planeBuffer, 0, -width2).rgb;\\n vec3 normalRight2 = getValue(planeBuffer, width2, 0).rgb;\\n vec3 normalLeft2 = getValue(planeBuffer, -width2, 0).rgb;\\n vec3 normalTopRight2 = getValue(planeBuffer, width2, width2).rgb;\\n vec3 normalTopLeft2 = getValue(planeBuffer, -width2, width2).rgb;\\n vec3 normalBottomRight2 = getValue(planeBuffer, width2, -width2).rgb;\\n vec3 normalBottomLeft2 = getValue(planeBuffer, -width2, -width2).rgb;\\n\\n planeDiff += -(getIsBackground(normalTop2) - 1.);\\n planeDiff += -(getIsBackground(normalBottom2) - 1.);\\n planeDiff += -(getIsBackground(normalRight2) - 1.);\\n planeDiff += -(getIsBackground(normalLeft2) - 1.);\\n planeDiff += -(getIsBackground(normalTopRight2) - 1.);\\n planeDiff += -(getIsBackground(normalBottomRight2) - 1.);\\n planeDiff += -(getIsBackground(normalBottomRight2) - 1.);\\n planeDiff += -(getIsBackground(normalBottomLeft2) - 1.);\\n\\n // Tolerance sets the minimum amount of differences to consider\\n // this texel an edge\\n\\n float line = step(tolerance, planeDiff);\\n\\n // Exclude background and apply opacity\\n\\n float background = getIsBackground(normal);\\n line *= background;\\n line *= opacity;\\n \\n // Add gloss\\n \\n vec3 gloss = getValue(glossBuffer, 0, 0).xyz;\\n float diffGloss = abs(maxGloss - minGloss);\\n vec3 glossExpVector = vec3(glossExponent,glossExponent,glossExponent);\\n gloss = min(pow(gloss, glossExpVector), vec3(1.,1.,1.));\\n gloss *= diffGloss;\\n gloss += minGloss;\\n vec4 glossedColor = sceneColor + vec4(gloss, 1.) * glossEnabled;\\n \\n vec4 corrected = mix(sceneColor, glossedColor, background);\\n \\n // Draw lines\\n \\n corrected = mix(corrected, vec4(lineColor, 1.), line);\\n \\n // Add outline\\n \\n vec4 outlinePreview =getValue(outlineBuffer, 0, 0);\\n float outlineColorCorrection = 1. / max(0.2, outlinePreview.a);\\n vec3 outlineColor = outlinePreview.rgb * outlineColorCorrection;\\n \\n // thickness between 10 and 2, opacity between 1 and 0.2\\n\\t int outlineThickness = int(outlinePreview.a * 10.);\\n\\t \\n\\t float outlineDiff = 0.;\\n \\n outlineDiff += step(0.1, getValue(outlineBuffer, 0, 0).a);\\n outlineDiff += step(0.1, getValue(outlineBuffer, 1, 0).a);\\n outlineDiff += step(0.1, getValue(outlineBuffer, -1, 0).a);\\n outlineDiff += step(0.1, getValue(outlineBuffer, 0, -1).a);\\n outlineDiff += step(0.1, getValue(outlineBuffer, 0, 1).a);\\n outlineDiff += step(0.1, getValue(outlineBuffer, outlineThickness, 0).a);\\n outlineDiff += step(0.1, getValue(outlineBuffer, -outlineThickness, 0).a);\\n outlineDiff += step(0.1, getValue(outlineBuffer, 0, -outlineThickness).a);\\n outlineDiff += step(0.1, getValue(outlineBuffer, 0, outlineThickness).a);\\n outlineDiff += step(0.1, getValue(outlineBuffer, outlineThickness, outlineThickness).a);\\n outlineDiff += step(0.1, getValue(outlineBuffer, -outlineThickness, outlineThickness).a);\\n outlineDiff += step(0.1, getValue(outlineBuffer, -outlineThickness, -outlineThickness).a);\\n outlineDiff += step(0.1, getValue(outlineBuffer, outlineThickness, -outlineThickness).a);\\n \\n float outLine = step(4., outlineDiff) * step(outlineDiff, 12.) * outlineEnabled;\\n corrected = mix(corrected, vec4(outlineColor, 1.), outLine);\\n \\n gl_FragColor = corrected;\\n\\t}\\n\\t\\t\\t\"}createOutlinePostProcessMaterial(){return new s.jyz({uniforms:{opacity:{value:this._opacity},debugVisualize:{value:0},sceneColorBuffer:{value:null},tolerance:{value:this._tolerance},planeBuffer:{value:null},glossBuffer:{value:null},outlineBuffer:{value:null},glossEnabled:{value:1},minGloss:{value:this._minGloss},maxGloss:{value:this._maxGloss},outlineEnabled:{value:0},glossExponent:{value:this._glossExponent},width:{value:1},lineColor:{value:new s.Ilk(this._lineColor)},screenSize:{value:new s.Ltg(this.resolution.x,this.resolution.y,1/this.resolution.x,1/this.resolution.y)}},vertexShader:this.vertexShader,fragmentShader:this.fragmentShader})}newRenderTarget(){const e=new s.dd2(this.resolution.x,this.resolution.y);return e.texture.colorSpace=\"srgb-linear\",e.texture.format=s.wk1,e.texture.type=s.cLu,e.texture.minFilter=s.TyD,e.texture.magFilter=s.TyD,e.texture.generateMipmaps=!1,e.stencilBuffer=!1,e}}},7023:(e,t,n)=>{\"use strict\";n.d(t,{G:()=>s.G});var s=n(5844)},8949:(e,t,n)=>{\"use strict\";n.d(t,{Q:()=>i});var s=n(9477);function i(){return new s.jyz({side:2,clipping:!0,uniforms:{},vertexShader:\"\\n varying vec4 vColor;\\n \\n #include \\n \\n void main() {\\n #include \\n \\n vec4 absPosition = vec4(position, 1.0);\\n vec3 trueNormal = normal;\\n \\n #ifdef USE_INSTANCING\\n absPosition = instanceMatrix * absPosition;\\n trueNormal = (instanceMatrix * vec4(normal, 0.)).xyz;\\n #endif\\n \\n absPosition = modelMatrix * absPosition;\\n trueNormal = (normalize(modelMatrix * vec4(trueNormal, 0.))).xyz;\\n \\n vec3 planePosition = absPosition.xyz / 40.;\\n float d = abs(dot(trueNormal, planePosition));\\n vColor = vec4(abs(trueNormal), d);\\n gl_Position = projectionMatrix * viewMatrix * absPosition;\\n \\n #include \\n #include \\n }\\n \",fragmentShader:\"\\n varying vec4 vColor;\\n \\n #include \\n \\n void main() {\\n #include \\n gl_FragColor = vColor;\\n }\\n \"})}},2088:(e,t,n)=>{\"use strict\";n.d(t,{i:()=>i});var s=n(9477);function i(){return new s.jyz({side:2,clipping:!0,uniforms:{},vertexShader:\"\\n varying vec3 vCameraPosition;\\n varying vec3 vPosition;\\n varying vec3 vNormal;\\n \\n #include \\n \\n void main() {\\n #include \\n \\n vec4 absPosition = vec4(position, 1.0);\\n vNormal = normal;\\n \\n #ifdef USE_INSTANCING\\n absPosition = instanceMatrix * absPosition;\\n vNormal = (instanceMatrix * vec4(normal, 0.)).xyz;\\n #endif\\n \\n absPosition = modelMatrix * absPosition;\\n vNormal = (normalize(modelMatrix * vec4(vNormal, 0.))).xyz;\\n \\n gl_Position = projectionMatrix * viewMatrix * absPosition;\\n \\n vCameraPosition = cameraPosition;\\n vPosition = absPosition.xyz;\\n \\n #include \\n #include \\n }\\n \",fragmentShader:\"\\n varying vec3 vCameraPosition;\\n varying vec3 vPosition;\\n varying vec3 vNormal;\\n \\n #include \\n \\n void main() {\\n #include \\n vec3 cameraPixelVec = normalize(vCameraPosition - vPosition);\\n float difference = abs(dot(vNormal, cameraPixelVec));\\n \\n // This achieves a double gloss effect: when the surface is perpendicular and when it's parallel\\n difference = abs((difference * 2.) - 1.);\\n \\n gl_FragColor = vec4(difference, difference, difference, 1.);\\n }\\n \"})}},6970:(e,t,n)=>{\"use strict\";n.d(t,{S:()=>a});var s=n(9477),i=n(262);class a{_scene;_renderer;_camera;_rayCaster=new s.iMs;_mouse=new s.FM8;setUpRaycaster(){this._rayCaster.params.Points.threshold=50}_filterType=i.o.model;set filterType(e){this._filterType=e}get filterType(){return this._filterType}setRayCaster(e){const t=this._renderer.domElement.getBoundingClientRect(),n=e.clientX-t.left,s=e.clientY-t.top,i=t.right-t.left,a=t.bottom-t.top;this._mouse.x=n/i*2-1,this._mouse.y=-s/a*2+1,this._rayCaster.setFromCamera(this._mouse,this._camera.currentCamera)}getRayCastModel(e,t){return this.setRayCaster(e),this._rayCaster.intersectObjects(t)[0]}getRayCastPlane(e,t){return this.setRayCaster(e),this._renderer.ray.intersectPlane(t,new s.Pa4)}constructor(e,t,n){this._scene=e,this._renderer=t,this._camera=n,this.setUpRaycaster()}}},5650:(e,t,n)=>{\"use strict\";n.d(t,{T:()=>a});var s=n(9477),i=n(1764);class a{_size;set size(e){this._size=e.clone(),this.renderer.setSize(e.x,e.y),this.labelRenderer.setSize(e.x,e.y)}get size(){return this._size}set theme(e){this.renderer.setClearAlpha(e?1:0)}initRenderer(e){const t=new s.CP7({canvas:e,alpha:!0,antialias:!0,logarithmicDepthBuffer:!0});return t.setSize(this.size.x,this.size.y),t.setPixelRatio(Math.min(window.devicePixelRatio,2)),t.localClippingEnabled=!0,t.shadowMap.enabled=!0,t}initLabelRenderer(){const e=new i.M;return e.domElement.style.position=\"absolute\",e.domElement.style.top=\"0\",e.domElement.style.outline=\"none\",e.domElement.style.border=\"none\",e.setSize(this.size.x,this.size.y),e.domElement.dataType=!0,e}renderer;labelRenderer;domElement;_container;constructor(e,t,n){this._container=e,this._size=t,this.renderer=this.initRenderer(n),this.labelRenderer=this.initLabelRenderer(),this._container.appendChild(this.labelRenderer.domElement),this.domElement=this.labelRenderer.domElement,this.theme=!1}dispose(){this.renderer.setAnimationLoop(null),this.renderer.renderLists.dispose(),this.labelRenderer.domElement.remove()}update(e,t){this.renderer.render(e,t),this.labelRenderer.render(e,t)}}},1897:(e,t,n)=>{\"use strict\";n.d(t,{e:()=>s});class s{domElement;static cursor={canvas:\"canvas-cursor\",comment:\"comment-cursor\",extrude:\"extrude-cursor\",highlighter:\"highlighter-cursor\",maker:\"maker-cursor\",orbit:\"orbit-cursor\",pen:\"pen-cursor\",pencil:\"pencil-cursor\",pointer:\"pointer-cursor\",pan:\"pan-cursor\"};constructor(e){this.domElement=e,this.point=\"canvas\"}_orbit=!1;set orbit(e){this._orbit=e,this.domElement.className=e?s.cursor.orbit:s.cursor[this.point]}get orbit(){return this._orbit}_point=\"canvas\";set point(e){this.orbit||(this._point=e,this.domElement.className=s.cursor[e])}get point(){return this._point}}},508:(e,t,n)=>{\"use strict\";n.d(t,{_y:()=>s._}),n(6443),n(6970);var s=n(3385);n(8893)},262:(e,t,n)=>{\"use strict\";var s,i;n.d(t,{o:()=>i}),function(e){e[e.ThreeD=0]=\"ThreeD\",e[e.Floor=1]=\"Floor\",e[e.Section=2]=\"Section\",e[e.Elevation=3]=\"Elevation\"}(s||(s={})),function(e){e[e.model=0]=\"model\",e[e.fragment=1]=\"fragment\"}(i||(i={}))},8802:(e,t,n)=>{\"use strict\";n.d(t,{h:()=>a,w:()=>l});var s=n(9477),i=n(5927);function a(e=null,t=!1,n=1){return new s.YBo({transparent:t,opacity:n,color:e||\"#\"+Math.floor(16777215*Math.random()).toString(16),side:s.ehD,depthWrite:!0,depthTest:!1})}const l={normalCube:new s.YBo({transparent:!0,opacity:.9,color:i.C.normalCube,depthTest:!0,side:s.ehD,depthWrite:!0}),hoverCube:new s.YBo({transparent:!0,opacity:1,color:\"green\",depthTest:!0}),textCube:new s.YBo({transparent:!0,opacity:.7,color:\"blue\",depthTest:!0}),ring:new s.YBo({transparent:!0,opacity:.3,color:\"blue\",side:s.ehD,depthWrite:!0,depthTest:!0}),textRing:new s.YBo({transparent:!0,opacity:1,color:\"red\",side:s.ehD,depthWrite:!0,depthTest:!0}),outLineCube:new s.vBJ({transparent:!0,opacity:1,color:\"black\",side:s.ehD,depthWrite:!0,depthTest:!0})}},5927:(e,t,n)=>{\"use strict\";n.d(t,{C:()=>i});var s=n(9477);const i={light:4210752,normalCube:new s.Ilk(\"rgb(255, 255, 255)\"),hoverCube:new s.Ilk(\"rgb(14, 237, 51)\"),textCube:new s.Ilk(\"rgb(255, 0, 0)\"),refPlan:new s.Ilk(\"rgb(245, 245, 245)\"),ring:new s.Ilk(\"rgb(255, 0, 0)\")}},5743:(e,t,n)=>{\"use strict\";n.d(t,{P:()=>a});var s=n(8802),i=n(1911);class a{highlight;select;normalCube;hoverCube;textCube;ring;textRing;outLineCube;dimension;modelMaterials;constructor(){this.highlight=(0,s.h)(\"red\",!0,.51),this.select=(0,s.h)(\"#08c73b\",!0,1),this.normalCube=s.w.normalCube,this.hoverCube=s.w.hoverCube,this.textCube=s.w.textCube,this.ring=s.w.ring,this.textRing=s.w.textRing,this.outLineCube=s.w.outLineCube,this.dimension=new i.Y({linewidth:4,vertexColors:!0,dashed:!1,alphaToCoverage:!0,depthTest:!1}),this.modelMaterials=[]}dispose(){a.disposeMaterial(this.highlight),a.disposeMaterial(this.select),a.disposeMaterial(this.normalCube),a.disposeMaterial(this.hoverCube),a.disposeMaterial(this.textCube),a.disposeMaterial(this.textRing),a.disposeMaterial(this.outLineCube),a.disposeMaterial(this.dimension),this.modelMaterials=[]}static disposeMaterial(e){e.dispose(),e=null}}},5959:(e,t,n)=>{\"use strict\";n.d(t,{G:()=>i});var s=n(7555);class i{includeProperties=!0;optionalCategories=[s.MNr];wasm={path:\"/\",absolute:!1};excludedCategories=new Set;saveLocations=!1;webIfc={COORDINATE_TO_ORIGIN:!0,USE_FAST_BOOLS:!0,OPTIMIZE_PROFILES:!0}}},4704:(e,t,n)=>{\"use strict\";n.d(t,{T:()=>i});var s=n(9477);class i{computeBoundsTree;disposeBoundsTree;acceleratedRaycast;initializeMeshBVH(e,t,n){this.computeBoundsTree=e,this.disposeBoundsTree=t,this.acceleratedRaycast=n,this.setupThreeMeshBVH()}applyThreeMeshBVH(e){this.computeBoundsTree&&e.computeBoundsTree()}setupThreeMeshBVH(){this.computeBoundsTree&&this.disposeBoundsTree&&this.acceleratedRaycast&&(s.u9r.prototype.computeBoundsTree=this.computeBoundsTree,s.u9r.prototype.disposeBoundsTree=this.disposeBoundsTree,s.Kj0.prototype.raycast=this.acceleratedRaycast)}}},633:(e,t,n)=>{\"use strict\";n.d(t,{k:()=>i});var s=n(9477);class i{enabled=!0;_absoluteMin;_absoluteMax;constructor(){this._absoluteMin=i.newBound(!0),this._absoluteMax=i.newBound(!1)}static getDimensions(e){const{min:t,max:n}=e,i=Math.abs(n.x-t.x),a=Math.abs(n.y-t.y),l=Math.abs(n.z-t.z),r=new s.Pa4;return r.subVectors(n,t).divideScalar(2).add(t),{width:i,height:a,depth:l,center:r}}static newBound(e){const t=e?1:-1;return new s.Pa4(t*Number.MAX_VALUE,t*Number.MAX_VALUE,t*Number.MAX_VALUE)}static getBounds(e,t,n){const i=n||this.newBound(!1),a=t||this.newBound(!0);for(const t of e)t.xi.x&&(i.x=t.x),t.y>i.y&&(i.y=t.y),t.z>i.z&&(i.z=t.z);return new s.ZzF(t,n)}get(){const e=this._absoluteMin.clone(),t=this._absoluteMax.clone();return new s.ZzF(e,t)}getMesh(){const e=new s.ZzF(this._absoluteMin,this._absoluteMax),t=i.getDimensions(e),{width:n,height:a,depth:l,center:r}=t,o=new s.DvJ(n,a,l),c=new s.Kj0(o);return c.position.copy(r),c}reset(){this._absoluteMin=i.newBound(!1),this._absoluteMax=i.newBound(!0)}add(e){for(const t of e.items)this.addFragment(t)}addFragment(e){const t=i.getFragmentBounds(e);console.log(t);const n=new s.yGw;for(let s=0;sthis._absoluteMax.x&&(this._absoluteMax.x=a.x),a.y>this._absoluteMax.y&&(this._absoluteMax.y=a.y),a.z>this._absoluteMax.z&&(this._absoluteMax.z=a.z)}}getSphere(){const e=this._absoluteMin.clone(),t=this._absoluteMax.clone(),n=Math.abs((t.x-e.x)/2),i=Math.abs((t.y-e.y)/2),a=Math.abs((t.z-e.z)/2),l=new s.Pa4(e.x+n,e.y+i,e.z+a),r=l.distanceTo(e);return new s.aLr(l,r)}static getFragmentBounds(e){const t=e.mesh.geometry.attributes.position,n=Number.MAX_VALUE,i=-n,a=new s.Pa4(n,n,n),l=new s.Pa4(i,i,i),r=Array.from(e.mesh.geometry.index.array);for(const e of r){const n=t.getX(e),s=t.getY(e),i=t.getZ(e);nl.x&&(l.x=n),s>l.y&&(l.y=s),i>l.z&&(l.z=i)}return new s.ZzF(a,l)}}},1631:(e,t,n)=>{\"use strict\";n.d(t,{n:()=>d});var s=n(9477),i=n(7555),a=n(8250),l=n(140),r=n(5959),o=n(2822),c=n(633),u=n(2181),p=n(6273),h=n(1732);class d{settings=new r.G;categories={};_model=new a.Sf;_ifcCategories=new o.$;_bbox=new c.k;_fragmentKey=0;_keyFragmentMap={};_itemKeyMap={};_propertyExporter=new u.P;_spatialTree=new h.$;constructor(){}cleanUp(){this._fragmentKey=0,this.categories={},this._model=new a.Sf,this._ifcCategories=new o.$,this._keyFragmentMap={},this._itemKeyMap={}}saveIfcCategories(e){this.categories=this._ifcCategories.getAll(e,0)}async generate(e,t){return this.createAllFragments(t),await this.saveModelData(e),this._model}async saveModelData(e){const t=this.getFragmentsGroupData();this._model.keyFragments=this._keyFragmentMap,this._model.data=t,this._model.coordinationMatrix=this.getCoordinationMatrix(e),this._model.properties=await this.getModelProperties(e),this._model.uuid=this.getProjectID(e)||this._model.uuid,this._model.ifcMetadata=this.getIfcMetadata(e),this._model.boundingBox=this.getBoundingBox()}getBoundingBox(){this._bbox.add(this._model);const e=this._bbox.get();return this._bbox.reset(),e}getIfcMetadata(e){const{FILE_NAME:t,FILE_DESCRIPTION:n}=i;return{name:this.getMetadataEntry(e,t),description:this.getMetadataEntry(e,n),schema:e.GetModelSchema(0)||\"IFC2X3\",maxExpressID:e.GetMaxExpressID(0)}}getMetadataEntry(e,t){let n=\"\";const s=e.GetHeaderLine(0,t)||\"\";if(!s)return n;for(const e of s.arguments)if(null!=e)if(Array.isArray(e))for(const t of e)n+=`${t.value}|`;else n+=`${e.value}|`;return n}getProjectID(e){const t=e.GetLineIDsWithType(0,i.t8E).get(0);return e.GetLine(0,t).GlobalId.value}getCoordinationMatrix(e){const t=e.GetCoordinationMatrix(0);return(new s.yGw).fromArray(t)}async getModelProperties(e){return this.settings.includeProperties?new Promise((t=>{this._propertyExporter.propertiesSerialized.on((e=>{t(e)})),this._propertyExporter.export(e,0)})):{}}createAllFragments(e){const t={},n=new s.yGw,i=new s.Ilk;for(const l in e){const{buffer:r,instances:o}=e[l],c=1!==o[0].color.w,u=c?.4:1,h=new s.YBo({transparent:c,opacity:u});if(1!==u&&(h.depthWrite=!1,h.polygonOffset=!0,h.polygonOffsetFactor=5,h.polygonOffsetUnits=1),1===o.length){const e=o[0],{x:i,y:a,z:l,w:c}=e.color,u=`${i}-${a}-${l}-${c}`;t[u]||(h.color=(new s.Ilk).setRGB(i,a,l,\"srgb\"),t[u]={material:h,geometries:[],expressIDs:[]}),n.fromArray(e.matrix),r.applyMatrix4(n),t[u].geometries.push(r),t[u].expressIDs.push(e.expressID.toString());continue}const d=new a.HY(r,h,o.length);this._keyFragmentMap[this._fragmentKey]=d.id;const f=new Set;for(let e=0;e{this.setupFragment(e)}))}setupFragment=e=>{e.mesh.castShadow=!0,e.mesh.receiveShadow=!0,e.mesh.geometry.computeBoundingBox(),e.mesh.geometry.computeBoundingSphere(),e.mesh.geometry.computeVertexNormals()};saveExpressID(e){this._itemKeyMap[e]||(this._itemKeyMap[e]=[]),this._itemKeyMap[e].push(this._fragmentKey)}getFragmentsGroupData(){const e={};for(const t in this._itemKeyMap){const n=[],s=[],i=parseInt(t,10),a=this._spatialTree.itemsByFloor[i]||0,l=this.categories[i]||0;s.push(a,l);for(const e of this._itemKeyMap[t])n.push(e);e[i]=[n,s]}return e}}},9172:(e,t,n)=>{\"use strict\";n.d(t,{R:()=>l});var s=n(9477),i=n(4704),a=n(3320);class l{_api;saveLocations=!1;items={};locations={};BVH=new i.T;get api(){return this._api?this._api:null}constructor(){this.BVH.initializeMeshBVH(a.Xy,a.sn,a.uL)}cleanUp(){this.items={},this.locations={},this._api=null}streamMesh(e,t,n=!1){this._api=e;const i=t.geometries.size(),a=new s.Pa4,l=new s.yGw,r=new s.Pa4;for(let e=0;e{\"use strict\";n.d(t,{$:()=>i});var s=n(3406);class i{getAll(e,t){const n={},i=Object.keys(s.O).map((e=>parseInt(e,10)));for(let s=0;s{},3406:(e,t,n)=>{\"use strict\";n.d(t,{O:()=>s});const s={103090709:\"IFCPROJECT\",4097777520:\"IFCSITE\",4031249490:\"IFCBUILDING\",3124254112:\"IFCBUILDINGSTOREY\",3856911033:\"IFCSPACE\",1674181508:\"IFCANNOTATION\",25142252:\"IFCCONTROLLER\",32344328:\"IFCBOILER\",76236018:\"IFCLAMP\",90941305:\"IFCPUMP\",177149247:\"IFCAIRTERMINALBOX\",182646315:\"IFCFLOWINSTRUMENT\",263784265:\"IFCFURNISHINGELEMENT\",264262732:\"IFCELECTRICGENERATOR\",277319702:\"IFCAUDIOVISUALAPPLIANCE\",310824031:\"IFCPIPEFITTING\",331165859:\"IFCSTAIR\",342316401:\"IFCDUCTFITTING\",377706215:\"IFCMECHANICALFASTENER\",395920057:\"IFCDOOR\",402227799:\"IFCELECTRICMOTOR\",413509423:\"IFCSYSTEMFURNITUREELEMENT\",484807127:\"IFCEVAPORATOR\",486154966:\"IFCWINDOWSTANDARDCASE\",629592764:\"IFCLIGHTFIXTURE\",630975310:\"IFCUNITARYCONTROLELEMENT\",635142910:\"IFCCABLECARRIERFITTING\",639361253:\"IFCCOIL\",647756555:\"IFCFASTENER\",707683696:\"IFCFLOWSTORAGEDEVICE\",738039164:\"IFCPROTECTIVEDEVICE\",753842376:\"IFCBEAM\",812556717:\"IFCTANK\",819412036:\"IFCFILTER\",843113511:\"IFCCOLUMN\",862014818:\"IFCELECTRICDISTRIBUTIONBOARD\",900683007:\"IFCFOOTING\",905975707:\"IFCCOLUMNSTANDARDCASE\",926996030:\"IFCVOIDINGFEATURE\",979691226:\"IFCREINFORCINGBAR\",987401354:\"IFCFLOWSEGMENT\",1003880860:\"IFCELECTRICTIMECONTROL\",1051757585:\"IFCCABLEFITTING\",1052013943:\"IFCDISTRIBUTIONCHAMBERELEMENT\",1062813311:\"IFCDISTRIBUTIONCONTROLELEMENT\",1073191201:\"IFCMEMBER\",1095909175:\"IFCBUILDINGELEMENTPROXY\",1156407060:\"IFCPLATESTANDARDCASE\",1162798199:\"IFCSWITCHINGDEVICE\",1329646415:\"IFCSHADINGDEVICE\",1335981549:\"IFCDISCRETEACCESSORY\",1360408905:\"IFCDUCTSILENCER\",1404847402:\"IFCSTACKTERMINAL\",1426591983:\"IFCFIRESUPPRESSIONTERMINAL\",1437502449:\"IFCMEDICALDEVICE\",1509553395:\"IFCFURNITURE\",1529196076:\"IFCSLAB\",1620046519:\"IFCTRANSPORTELEMENT\",1634111441:\"IFCAIRTERMINAL\",1658829314:\"IFCENERGYCONVERSIONDEVICE\",1677625105:\"IFCCIVILELEMENT\",1687234759:\"IFCPILE\",1904799276:\"IFCELECTRICAPPLIANCE\",1911478936:\"IFCMEMBERSTANDARDCASE\",1945004755:\"IFCDISTRIBUTIONELEMENT\",1973544240:\"IFCCOVERING\",1999602285:\"IFCSPACEHEATER\",2016517767:\"IFCROOF\",2056796094:\"IFCAIRTOAIRHEATRECOVERY\",2058353004:\"IFCFLOWCONTROLLER\",2068733104:\"IFCHUMIDIFIER\",2176052936:\"IFCJUNCTIONBOX\",2188021234:\"IFCFLOWMETER\",2223149337:\"IFCFLOWTERMINAL\",2262370178:\"IFCRAILING\",2272882330:\"IFCCONDENSER\",2295281155:\"IFCPROTECTIVEDEVICETRIPPINGUNIT\",2320036040:\"IFCREINFORCINGMESH\",2347447852:\"IFCTENDONANCHOR\",2391383451:\"IFCVIBRATIONISOLATOR\",2391406946:\"IFCWALL\",2474470126:\"IFCMOTORCONNECTION\",2769231204:\"IFCVIRTUALELEMENT\",2814081492:\"IFCENGINE\",2906023776:\"IFCBEAMSTANDARDCASE\",2938176219:\"IFCBURNER\",2979338954:\"IFCBUILDINGELEMENTPART\",3024970846:\"IFCRAMP\",3026737570:\"IFCTUBEBUNDLE\",3027962421:\"IFCSLABSTANDARDCASE\",3040386961:\"IFCDISTRIBUTIONFLOWELEMENT\",3053780830:\"IFCSANITARYTERMINAL\",3079942009:\"IFCOPENINGSTANDARDCASE\",3087945054:\"IFCALARM\",3101698114:\"IFCSURFACEFEATURE\",3127900445:\"IFCSLABELEMENTEDCASE\",3132237377:\"IFCFLOWMOVINGDEVICE\",3171933400:\"IFCPLATE\",3221913625:\"IFCCOMMUNICATIONSAPPLIANCE\",3242481149:\"IFCDOORSTANDARDCASE\",3283111854:\"IFCRAMPFLIGHT\",3296154744:\"IFCCHIMNEY\",3304561284:\"IFCWINDOW\",3310460725:\"IFCELECTRICFLOWSTORAGEDEVICE\",3319311131:\"IFCHEATEXCHANGER\",3415622556:\"IFCFAN\",3420628829:\"IFCSOLARDEVICE\",3493046030:\"IFCGEOGRAPHICELEMENT\",3495092785:\"IFCCURTAINWALL\",3508470533:\"IFCFLOWTREATMENTDEVICE\",3512223829:\"IFCWALLSTANDARDCASE\",3518393246:\"IFCDUCTSEGMENT\",3571504051:\"IFCCOMPRESSOR\",3588315303:\"IFCOPENINGELEMENT\",3612865200:\"IFCPIPESEGMENT\",3640358203:\"IFCCOOLINGTOWER\",3651124850:\"IFCPROJECTIONELEMENT\",3694346114:\"IFCOUTLET\",3747195512:\"IFCEVAPORATIVECOOLER\",3758799889:\"IFCCABLECARRIERSEGMENT\",3824725483:\"IFCTENDON\",3825984169:\"IFCTRANSFORMER\",3902619387:\"IFCCHILLER\",4074379575:\"IFCDAMPER\",4086658281:\"IFCSENSOR\",4123344466:\"IFCELEMENTASSEMBLY\",4136498852:\"IFCCOOLEDBEAM\",4156078855:\"IFCWALLELEMENTEDCASE\",4175244083:\"IFCINTERCEPTOR\",4207607924:\"IFCVALVE\",4217484030:\"IFCCABLESEGMENT\",4237592921:\"IFCWASTETERMINAL\",4252922144:\"IFCSTAIRFLIGHT\",4278956645:\"IFCFLOWFITTING\",4288193352:\"IFCACTUATOR\",4292641817:\"IFCUNITARYEQUIPMENT\",3009204131:\"IFCGRID\"}},8879:(e,t,n)=>{\"use strict\";n.d(t,{l:()=>s});const s=new Set([1123145078,574549367,1675464909,2059837836,3798115385,32440307,3125803723,3207858831,2740243338,2624227202,4240577450,3615266464,3724593414,220341763,477187591,1878645084,1300840506,3303107099,1607154358,1878645084,846575682,1351298697,2417041796,3049322572,3331915920,1416205885,776857604,3285139300,3958052878,2827736869,2732653382,673634403,3448662350,4142052618,2924175390,803316827,2556980723,1809719519,2205249479,807026263,3737207727,1660063152,2347385850,3940055652,2705031697,3732776249,2485617015,2611217952,1704287377,2937912522,2770003689,1281925730,1484403080,3448662350,4142052618,3800577675,4006246654,3590301190,1383045692,2775532180,2047409740,370225590,3593883385,2665983363,4124623270,812098782,3649129432,987898635,1105321065,3510044353,1635779807,2603310189,3406155212,1310608509,4261334040,2736907675,3649129432,1136057603,1260505505,4182860854,2713105998,2898889636,59481748,3749851601,3486308946,3150382593,1062206242,3264961684,15328376,1485152156,370225590,1981873012,2859738748,45288368,2614616156,2732653382,775493141,2147822146,2601014836,2629017746,1186437898,2367409068,1213902940,3632507154,3900360178,476780140,1472233963,2804161546,3008276851,738692330,374418227,315944413,3905492369,3570813810,2571569899,178912537,2294589976,1437953363,2133299955,572779678,3092502836,388784114,2624227202,1425443689,3057273783,2347385850,1682466193,2519244187,2839578677,3958567839,2513912981,2830218821,427810014])},2181:(e,t,n)=>{\"use strict\";n.d(t,{P:()=>l});var s=n(7555),i=n(8879),a=n(6318);class l{loadProgress=new a.j;propertiesSerialized=new a.j;size;_progress=0;async export(e,t){const n=await this.getAllGeometriesIDs(t,e);let s={};s.coordinationMatrix=e.GetCoordinationMatrix(t);const i=await e.GetAllLines(t),a=i.size();this._progress=.1;let l=0;for(let r=0;rthis.size&&(this.propertiesSerialized.trigger(s),s=null,s={},l=0),r/a>this._progress&&(this.loadProgress.trigger({progress:r,total:a}),this._progress+=.1)}this.propertiesSerialized.trigger(s),s=null}async getAllGeometriesIDs(e,t){const n=new Set,a=new Set;this.getStructure(s.t8E,a,t),this.getStructure(s.bYJ,a,t),this.getStructure(s.ko9,a,t),this.getStructure(s.BII,a,t),this.getStructure(s.MNr,a,t);for(const e of a){const s=t.GetLine(0,e).ObjectPlacement;if(!s||null===s.value)continue;const i=s.value;n.add(i);const a=t.GetLine(0,i).RelativePlacement;if(!a||null===a.value)continue;n.add(a.value);const l=t.GetLine(0,a.value).Location;l&&null!==l.value&&n.add(l.value)}const l=new Set,r=Array.from(i.l);for(let s=0;s{\"use strict\";n(7555),n(9654)},6273:(e,t,n)=>{\"use strict\";function s(e,t){const n=.1**(s=t,Math.max(Math.floor(Math.log10(Math.abs(s))),0)+1);var s;let i=(e+=t*n).toString();if(t%10==0)for(let e=0;es})},1732:(e,t,n)=>{\"use strict\";n.d(t,{$:()=>a});var s=n(7555),i=n(635);class a{itemsByFloor={};_units=new i.n;async setUp(e){this._units.setUp(e),this.cleanUp();try{const t=e.GetLineIDsWithType(0,s.QHT),n=new Set,i=e.GetLineIDsWithType(0,s.MNr);for(let e=0;e{\"use strict\";n.d(t,{n:()=>a});var s=n(7555),i=n(9477);class a{factor=1;complement=1;apply(e){const t=this.getScaleMatrix().multiply(e);e.copy(t)}setUp(e){this.factor=1;const t=this.getLengthUnits(e),n=null==t,s=void 0===t.Name||null===t.Name;n||s||(\"FOOT\"===t.Name.value?this.factor=.3048:\"MILLI\"===t.Prefix?.value&&(this.complement=.001))}getLengthUnits(e){try{const t=e.GetLineIDsWithType(0,s.qaL).get(0),n=e.GetLine(0,t).Units[0].value;return e.GetLine(0,n)}catch(e){return console.log(\"Could not get units\"),null}}getScaleMatrix(){const e=this.factor;return(new i.yGw).fromArray([e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1])}}},1741:(e,t,n)=>{\"use strict\";n.d(t,{Rm:()=>i.R,ap:()=>a.ap,nE:()=>s.n});var s=n(1631),i=n(9172),a=n(6273);n(5112)},8890:(e,t,n)=>{\"use strict\";n.d(t,{y:()=>l});var s=n(9477),i=n(1741),a=n(6318);class l{enabled=!0;highlightMats={};events={};tempMatrix=new s.yGw;selection={};_fragmentManager;constructor(e){this._fragmentManager=e}dispose(){this.highlightMats={}}add(e,t){if(this.highlightMats[e])throw new Error(\"A highlight with this name already exists.\");this.highlightMats[e]=t,this.selection[e]={},this.events[e]={onHighlight:new a.j,onClear:new a.j},this.update()}update(){for(const e in this._fragmentManager.list){const t=this._fragmentManager.list[e];this.addHighlightToFragment(t)}}highlight(e,t,n=!0){if(!this.enabled)return null;this.checkSelection(e);const s=[];if(!t)return this.clear(e),null;const i=t.object,a=i.geometry,l=t.face?.a,r=t.instanceId;if(!a||void 0===l||void 0===r)return null;n&&this.clear(e),this.selection[e][i.uuid]||(this.selection[e][i.uuid]=new Set),s.push(i.fragment);const o=i.fragment.getVertexBlockID(a,l),c=i.fragment.getItemID(r,o).replace(/\\..*/,\"\"),u=parseInt(c,10);this.selection[e][i.uuid].add(c),this.addComposites(i,u,e),this.updateFragmentHighlight(e,i.uuid);const p=i.fragment.group;if(p){const t=p.data[u][0];for(let n=0;n1)s.getInstance(0,this.tempMatrix),i.setInstance(0,{ids:Array.from(s.ids),transform:this.tempMatrix}),i.blocks.setVisibility(!0,n,!0);else{let e=0;for(const t of n){i.mesh.count=e+1;const{instanceID:n}=s.getInstanceAndBlockID(t);s.getInstance(n,this.tempMatrix),i.setInstance(e,{ids:[t],transform:this.tempMatrix}),e++}}this.events[e].onHighlight.trigger(this.selection[e])}}checkSelection(e){if(!this.selection[e])throw new Error(`Selection ${e} does not exist.`)}addHighlightToFragment(e){for(const t in this.highlightMats)if(!e.fragments[t]){const n=this.highlightMats[t],s=e.addFragment(t,n);s.mesh.renderOrder=2,s.mesh.frustumCulled=!1}}}},1242:(e,t,n)=>{\"use strict\";n.d(t,{f:()=>a});var s=n(8250),i=n(6318);class a{list={};groups=[];onFragmentsLoaded=new i.j;_loader=new s.ei;get meshes(){const e=[];for(const t in this.list)e.push(this.list[t].mesh);return e}dispose(){for(const e of this.groups)e.dispose(!0);this.groups=[],this.list={}}disposeGroup(e){for(const t of e.items)this.removeFragmentMesh(t),delete this.list[t.id];e.dispose(!0);const t=this.groups.indexOf(e);this.groups.splice(t,1)}reset(){for(const e in this.list)this.list[e].dispose();this.list={}}load(e){const t=this._loader.import(e),n=[];for(const e of t.items)e.group=t,this.list[e.id]=e,n.push(e.id);return this.groups.push(t),this.onFragmentsLoaded.trigger(t),t}export(e){return this._loader.export(e)}removeFragmentMesh(e){}}},849:(e,t,n)=>{\"use strict\";n.d(t,{f:()=>s.f,y:()=>i.y});var s=n(1242),i=n(8890)},4211:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>o});var s=n(9477),i=n(7555),a=n(1741),l=n(6318),r=n(849);class o{ifcLoaded=new l.j;locationsSaved=new l.j;api;_geometryReader=new a.Rm;_dataConverter=new a.nE;_fragmentManager=new r.f;FragmentHighlighter;get settings(){return this._dataConverter.settings}get meshes(){return this._fragmentManager.meshes}get groups(){return this._fragmentManager.groups}get sphere(){if(0===this.groups.length)return new s.aLr(new s.Pa4(0,0,0),40);const e=this.groups.filter((e=>e.boundingBox)).map((e=>o.getSphere(e.boundingBox)));return o.getSphereFromSpheres(e)}get corner(){if(0===this.groups.length)return new s.Pa4(40,40,40);const e=this.groups.filter((e=>e.boundingBox)).map((e=>e.boundingBox.max)),t=Math.max(...e.map((e=>e.x))),n=Math.max(...e.map((e=>e.y))),i=Math.max(...e.map((e=>e.z)));return new s.Pa4(t,n,i)}constructor(){this.api=new i.nRS,this.FragmentHighlighter=new r.y(this._fragmentManager)}dispose(){this._geometryReader.cleanUp(),this._dataConverter.cleanUp(),this.api=null,this._geometryReader=null,this._dataConverter=null,this.FragmentHighlighter.dispose(),this._fragmentManager.dispose(),this.spatialTree=[],this.ifcLoaded.reset()}spatialTree=[];loadFragment(e){const t=this._fragmentManager.load(e);this.ifcLoaded.trigger(t)}static setupModelLoader(e){e.children.forEach((e=>{e.castShadow=!0,e.receiveShadow=!0}))}static getSpatialTree(e){const t={};return Object.keys(e.spatialTree).forEach((n=>{t[e.spatialTree[n]]||(t[e.spatialTree[n]]=[]),\"IFCSPACE\"!==e[n].type&&t[e.spatialTree[n]].push(e[n])})),Object.keys(t).map((n=>({buildingStorey:e[n],children:[...t[n]]})))}static getSphereFromSpheres(e){const t=e.map((e=>e.center)),n=t.reduce(((e,t)=>e+t.x),0)/t.length,i=t.reduce(((e,t)=>e+t.y),0)/t.length,a=t.reduce(((e,t)=>e+t.z),0)/t.length,l=Math.max(...e.map((e=>e.radius)));return new s.aLr(new s.Pa4(n,i,a),l)}static getSphere(e){const{max:t,min:n}=e,i=t.clone().sub(n.clone()).normalize(),a=t.distanceTo(n),l=t.clone().add(i.multiplyScalar(.5*-a));return new s.aLr(l,.5*a)}}},1887:(e,t,n)=>{\"use strict\";n.d(t,{u:()=>i});var s=n(1811);class i{target;updateCount;constructor(e){console.log(\"Visual constructor\",e),this.target=e.element,this.updateCount=0}update(e){this.target&&document&&(this.initContainer(),this.initScene())}canvas;container;initContainer(){this.canvas=document.createElement(\"canvas\"),this.canvas.style.width=\"100%\",this.canvas.style.height=\"100%\",this.canvas.style.position=\"absolute\",this.container=document.createElement(\"div\"),this.container.style.width=\"100%\",this.container.style.height=\"100%\",this.container.style.position=\"relative\",this.container.appendChild(this.canvas),this.target.appendChild(this.container)}bimModel;initScene(){this.bimModel=new s.I(this.container,this.canvas),this.initButton()}initButton(){const e=document.createElement(\"div\");e.style.position=\"absolute\",e.style.zIndex=\"1000\";const t=document.createElement(\"button\");t.style.outline=\"none\",t.style.border=\"none\",t.style.cursor=\"pointer\",e.appendChild(t),this.container.appendChild(e),t.textContent=this.bimModel.scene.children.length.toString(),t.addEventListener(\"click\",(()=>{this.loadFileLocal(t)}))}loadFileLocal(e){const t=document.createElement(\"input\");t.setAttribute(\"type\",\"file\"),t.setAttribute(\"accept\",\".frag\"),t.click();const n=this.bimModel;t.onchange=async function(t){const s=t.target.files[0],i=new FileReader;i.onload=()=>{const t=i.result,s=new Uint8Array(t);n.loadModel(s,e)},i.onerror=()=>{e.textContent=\"Error\"},i.readAsArrayBuffer(s)},t.remove()}}},7080:(e,t,n)=>{\"use strict\";n.d(t,{n:()=>s});class s{constructor(e){this.fragment=e,this._visibilityInitialized=!1,this._originalIndex=new Map,this._idIndexIndexMap={};const t=e.mesh.geometry.attributes.blockID.array;this.ids=new Set(t),this.visibleIds=new Set(this.ids)}get count(){return this.ids.size}setVisibility(e,t=new Set(this.fragment.items),n=!1){const s=this.fragment.mesh.geometry,i=s.index;this._visibilityInitialized||this.initializeVisibility(i,s),n&&i.array.fill(0);for(const n of t){const a=this._idIndexIndexMap[n];for(const n of a){const a=this._originalIndex.get(n);if(void 0===a)continue;const l=s.attributes.blockID.getX(a),r=this.fragment.items[l];if(t.has(r)){e?this.visibleIds.add(l):this.visibleIds.delete(l);const t=e?a:0;i.setX(n,t)}}}i.needsUpdate=!0}initializeVisibility(e,t){for(let n=0;n{\"use strict\";n.d(t,{M:()=>a});var s=n(8823),i=n(4791);class a{static apply(e){a.initialized||(s.u9r.prototype.computeBoundsTree=i.Xy,s.u9r.prototype.disposeBoundsTree=i.sn,s.Kj0.prototype.raycast=i.uL,a.initialized=!0),e.boundsTree||e.computeBoundsTree()}static dispose(e){e.disposeBoundsTree()}}a.initialized=!1},6859:(e,t,n)=>{\"use strict\";n.d(t,{H:()=>s.H,S:()=>i.S});var s=n(3064),i=n(1358)},3064:(e,t,n)=>{\"use strict\";n.d(t,{H:()=>i});var s=n(76);class i{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFragment(e,t){return(t||new i).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFragment(e,t){return e.setPosition(e.position()+s.XU),(t||new i).__init(e.readInt32(e.position())+e.position(),e)}position(e){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readFloat32(this.bb.__vector(this.bb_pos+t)+4*e):0}positionLength(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__vector_len(this.bb_pos+e):0}positionArray(){const e=this.bb.__offset(this.bb_pos,4);return e?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}normal(e){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readFloat32(this.bb.__vector(this.bb_pos+t)+4*e):0}normalLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}normalArray(){const e=this.bb.__offset(this.bb_pos,6);return e?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}index(e){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt32(this.bb.__vector(this.bb_pos+t)+4*e):0}indexLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}indexArray(){const e=this.bb.__offset(this.bb_pos,8);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}blockId(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt32(this.bb.__vector(this.bb_pos+t)+4*e):0}blockIdLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}blockIdArray(){const e=this.bb.__offset(this.bb_pos,10);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}groups(e){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readFloat32(this.bb.__vector(this.bb_pos+t)+4*e):0}groupsLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}groupsArray(){const e=this.bb.__offset(this.bb_pos,12);return e?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}materials(e){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readFloat32(this.bb.__vector(this.bb_pos+t)+4*e):0}materialsLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}materialsArray(){const e=this.bb.__offset(this.bb_pos,14);return e?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}matrices(e){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readFloat32(this.bb.__vector(this.bb_pos+t)+4*e):0}matricesLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}matricesArray(){const e=this.bb.__offset(this.bb_pos,16);return e?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}colors(e){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readFloat32(this.bb.__vector(this.bb_pos+t)+4*e):0}colorsLength(){const e=this.bb.__offset(this.bb_pos,18);return e?this.bb.__vector_len(this.bb_pos+e):0}colorsArray(){const e=this.bb.__offset(this.bb_pos,18);return e?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}ids(e){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.__string(this.bb_pos+t,e):null}id(e){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.__string(this.bb_pos+t,e):null}composites(e){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.__string(this.bb_pos+t,e):null}static startFragment(e){e.startObject(11)}static addPosition(e,t){e.addFieldOffset(0,t,0)}static createPositionVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addFloat32(t[n]);return e.endVector()}static startPositionVector(e,t){e.startVector(4,t,4)}static addNormal(e,t){e.addFieldOffset(1,t,0)}static createNormalVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addFloat32(t[n]);return e.endVector()}static startNormalVector(e,t){e.startVector(4,t,4)}static addIndex(e,t){e.addFieldOffset(2,t,0)}static createIndexVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addInt32(t[n]);return e.endVector()}static startIndexVector(e,t){e.startVector(4,t,4)}static addBlockId(e,t){e.addFieldOffset(3,t,0)}static createBlockIdVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addInt32(t[n]);return e.endVector()}static startBlockIdVector(e,t){e.startVector(4,t,4)}static addGroups(e,t){e.addFieldOffset(4,t,0)}static createGroupsVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addFloat32(t[n]);return e.endVector()}static startGroupsVector(e,t){e.startVector(4,t,4)}static addMaterials(e,t){e.addFieldOffset(5,t,0)}static createMaterialsVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addFloat32(t[n]);return e.endVector()}static startMaterialsVector(e,t){e.startVector(4,t,4)}static addMatrices(e,t){e.addFieldOffset(6,t,0)}static createMatricesVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addFloat32(t[n]);return e.endVector()}static startMatricesVector(e,t){e.startVector(4,t,4)}static addColors(e,t){e.addFieldOffset(7,t,0)}static createColorsVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addFloat32(t[n]);return e.endVector()}static startColorsVector(e,t){e.startVector(4,t,4)}static addIds(e,t){e.addFieldOffset(8,t,0)}static addId(e,t){e.addFieldOffset(9,t,0)}static addComposites(e,t){e.addFieldOffset(10,t,0)}static endFragment(e){return e.endObject()}static createFragment(e,t,n,s,a,l,r,o,c,u,p,h){return i.startFragment(e),i.addPosition(e,t),i.addNormal(e,n),i.addIndex(e,s),i.addBlockId(e,a),i.addGroups(e,l),i.addMaterials(e,r),i.addMatrices(e,o),i.addColors(e,c),i.addIds(e,u),i.addId(e,p),i.addComposites(e,h),i.endFragment(e)}}},1358:(e,t,n)=>{\"use strict\";n.d(t,{S:()=>a});var s=n(76),i=n(3064);class a{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFragmentsGroup(e,t){return(t||new a).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFragmentsGroup(e,t){return e.setPosition(e.position()+s.XU),(t||new a).__init(e.readInt32(e.position())+e.position(),e)}items(e,t){const n=this.bb.__offset(this.bb_pos,4);return n?(t||new i.H).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*e),this.bb):null}itemsLength(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__vector_len(this.bb_pos+e):0}coordinationMatrix(e){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readFloat32(this.bb.__vector(this.bb_pos+t)+4*e):0}coordinationMatrixLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}coordinationMatrixArray(){const e=this.bb.__offset(this.bb_pos,6);return e?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}ids(e){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint32(this.bb.__vector(this.bb_pos+t)+4*e):0}idsLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}idsArray(){const 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}itemsKeys(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readUint32(this.bb.__vector(this.bb_pos+t)+4*e):0}itemsKeysLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}itemsKeysArray(){const e=this.bb.__offset(this.bb_pos,10);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}itemsKeysIndices(e){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readUint32(this.bb.__vector(this.bb_pos+t)+4*e):0}itemsKeysIndicesLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}itemsKeysIndicesArray(){const 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}itemsRels(e){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readUint32(this.bb.__vector(this.bb_pos+t)+4*e):0}itemsRelsLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}itemsRelsArray(){const e=this.bb.__offset(this.bb_pos,14);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}itemsRelsIndices(e){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readUint32(this.bb.__vector(this.bb_pos+t)+4*e):0}itemsRelsIndicesLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}itemsRelsIndicesArray(){const e=this.bb.__offset(this.bb_pos,16);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}fragmentKeys(e){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__string(this.bb_pos+t,e):null}id(e){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.__string(this.bb_pos+t,e):null}name(e){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.__string(this.bb_pos+t,e):null}ifcName(e){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.__string(this.bb_pos+t,e):null}ifcDescription(e){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.__string(this.bb_pos+t,e):null}ifcSchema(e){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.__string(this.bb_pos+t,e):null}maxExpressId(){const e=this.bb.__offset(this.bb_pos,30);return e?this.bb.readUint32(this.bb_pos+e):0}boundingBox(e){const t=this.bb.__offset(this.bb_pos,32);return t?this.bb.readFloat32(this.bb.__vector(this.bb_pos+t)+4*e):0}boundingBoxLength(){const e=this.bb.__offset(this.bb_pos,32);return e?this.bb.__vector_len(this.bb_pos+e):0}boundingBoxArray(){const e=this.bb.__offset(this.bb_pos,32);return e?new Float32Array(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 startFragmentsGroup(e){e.startObject(15)}static addItems(e,t){e.addFieldOffset(0,t,0)}static createItemsVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addOffset(t[n]);return e.endVector()}static startItemsVector(e,t){e.startVector(4,t,4)}static addCoordinationMatrix(e,t){e.addFieldOffset(1,t,0)}static createCoordinationMatrixVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addFloat32(t[n]);return e.endVector()}static startCoordinationMatrixVector(e,t){e.startVector(4,t,4)}static addIds(e,t){e.addFieldOffset(2,t,0)}static createIdsVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addInt32(t[n]);return e.endVector()}static startIdsVector(e,t){e.startVector(4,t,4)}static addItemsKeys(e,t){e.addFieldOffset(3,t,0)}static createItemsKeysVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addInt32(t[n]);return e.endVector()}static startItemsKeysVector(e,t){e.startVector(4,t,4)}static addItemsKeysIndices(e,t){e.addFieldOffset(4,t,0)}static createItemsKeysIndicesVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addInt32(t[n]);return e.endVector()}static startItemsKeysIndicesVector(e,t){e.startVector(4,t,4)}static addItemsRels(e,t){e.addFieldOffset(5,t,0)}static createItemsRelsVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addInt32(t[n]);return e.endVector()}static startItemsRelsVector(e,t){e.startVector(4,t,4)}static addItemsRelsIndices(e,t){e.addFieldOffset(6,t,0)}static createItemsRelsIndicesVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addInt32(t[n]);return e.endVector()}static startItemsRelsIndicesVector(e,t){e.startVector(4,t,4)}static addFragmentKeys(e,t){e.addFieldOffset(7,t,0)}static addId(e,t){e.addFieldOffset(8,t,0)}static addName(e,t){e.addFieldOffset(9,t,0)}static addIfcName(e,t){e.addFieldOffset(10,t,0)}static addIfcDescription(e,t){e.addFieldOffset(11,t,0)}static addIfcSchema(e,t){e.addFieldOffset(12,t,0)}static addMaxExpressId(e,t){e.addFieldInt32(13,t,0)}static addBoundingBox(e,t){e.addFieldOffset(14,t,0)}static createBoundingBoxVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addFloat32(t[n]);return e.endVector()}static startBoundingBoxVector(e,t){e.startVector(4,t,4)}static endFragmentsGroup(e){return e.endObject()}static finishFragmentsGroupBuffer(e,t){e.finish(t)}static finishSizePrefixedFragmentsGroupBuffer(e,t){e.finish(t,void 0,!0)}static createFragmentsGroup(e,t,n,s,i,l,r,o,c,u,p,h,d,f,I,m){return a.startFragmentsGroup(e),a.addItems(e,t),a.addCoordinationMatrix(e,n),a.addIds(e,s),a.addItemsKeys(e,i),a.addItemsKeysIndices(e,l),a.addItemsRels(e,r),a.addItemsRelsIndices(e,o),a.addFragmentKeys(e,c),a.addId(e,u),a.addName(e,p),a.addIfcName(e,h),a.addIfcDescription(e,d),a.addIfcSchema(e,f),a.addMaxExpressId(e,I),a.addBoundingBox(e,m),a.endFragmentsGroup(e)}}},3644:(e,t,n)=>{\"use strict\";n.d(t,{G:()=>l});var s=n(8823),i=n(3814),a=n(2040);class l extends s.SPe{constructor(e,t,n,s){super(e,t,n),this.elementCount=0,this.exportOptions={trs:!1,onlyVisible:!1,truncateDrawRange:!0,binary:!0,maxTextureSize:0},this.exporter=new i.M,this.material=l.newMaterialArray(t),this.geometry=this.newFragmentGeometry(e),this.fragment=s}exportData(){const e=this.geometry.attributes.position.array,t=this.geometry.attributes.normal.array,n=Array.from(this.geometry.attributes.blockID.array),i=Array.from(this.geometry.index.array),a=[];for(const e of this.geometry.groups){const t=e.materialIndex||0,{start:n,count:s}=e;a.push(n,s,t)}const l=[];if(Array.isArray(this.material))for(const e of this.material){const t=e.opacity,n=e.transparent?1:0,i=new s.Ilk(e.color).toArray();l.push(t,n,...i)}const r=Array.from(this.instanceMatrix.array);let o;return o=null!==this.instanceColor?Array.from(this.instanceColor.array):[],{position:e,normal:t,index:i,blockID:n,groups:a,materials:l,matrices:r,colors:o}}export(){const e=this;return new Promise((t=>{this.exporter.parse(e,(e=>t(e)),(e=>console.log(e)),this.exportOptions)}))}newFragmentGeometry(e){if(!e.index)throw new Error(\"The geometry must be indexed!\");if(!e.attributes.blockID){const t=e.attributes.position.count,n=new Uint16Array(t);n.fill(this.elementCount++),e.attributes.blockID=new a.Tl(n,1)}const t=e.index.count;return l.initializeGroups(e,t),e}static initializeGroups(e,t){e.groups.length||e.groups.push({start:0,count:t,materialIndex:0})}static newMaterialArray(e){return Array.isArray(e)||(e=[e]),e}}},8967:(e,t,n)=>{\"use strict\";n.d(t,{H:()=>r});var s=n(8823),i=n(3644),a=n(7080),l=n(3439);class r{constructor(e,t,n){this.fragments={},this.items=[],this.hiddenInstances={},this.composites={},this.mesh=new i.G(e,t,n,this),this.id=this.mesh.uuid,this.capacity=n,this.blocks=new a.n(this),l.M.apply(e)}get ids(){const e=new Set;for(const t of this.items)e.add(t);for(const t in this.hiddenInstances)e.add(t);return e}dispose(e=!0){this.items=null,this.group=void 0,this.mesh&&(e&&(this.mesh.material.forEach((e=>e.dispose())),this.mesh.material=[],l.M.dispose(this.mesh.geometry),this.mesh.geometry.dispose(),this.mesh.geometry=null),this.mesh.removeFromParent(),this.mesh.dispose(),this.mesh.fragment=null,this.mesh=null),this.disposeNestedFragments()}getItemID(e,t){const n=this.getItemIndex(e,t);return this.items[n]}getInstanceAndBlockID(e){const t=this.items.indexOf(e);return{instanceID:this.getInstanceIDFromIndex(t),blockID:t%this.blocks.count}}getVertexBlockID(e,t){return e.attributes.blockID.array[t]}getItemData(e){const t=this.items.indexOf(e);return{instanceID:Math.ceil(t/this.blocks.count),blockID:t%this.blocks.count}}getInstance(e,t){return this.mesh.getMatrixAt(e,t)}setInstance(e,t){this.checkIfInstanceExist(e),this.mesh.setMatrixAt(e,t.transform),this.mesh.instanceMatrix.needsUpdate=!0,t.color&&this.mesh.instanceColor&&(this.mesh.setColorAt(e,t.color),this.mesh.instanceColor.needsUpdate=!0),t.ids&&this.saveItemsInMap(t.ids,e)}addInstances(e){this.resizeCapacityIfNeeded(e.length);const t=this.mesh.count;this.mesh.count+=e.length;for(let n=0;n1)this.blocks.setVisibility(!0);else{const e=Object.keys(this.hiddenInstances);this.makeInstancesVisible(e),this.hiddenInstances={}}}setVisibility(e,t=this.ids){this.blocks.count>1?this.blocks.setVisibility(e,t):this.toggleInstanceVisibility(e,t)}resize(e){var t;const n=this.createFragmentMeshWithNewSize(e);this.capacity=e;const s=this.mesh;null===(t=s.parent)||void 0===t||t.add(n),s.removeFromParent(),this.mesh=n,s.dispose()}exportData(){return{...this.mesh.exportData(),ids:this.items.join(\"|\"),id:this.id}}copyGroups(e){e.groups=[];for(const t of this.mesh.geometry.groups)e.groups.push({...t})}initializeGeometry(){const e=new s.u9r;return e.setAttribute(\"position\",this.mesh.geometry.attributes.position),e.setAttribute(\"normal\",this.mesh.geometry.attributes.normal),e.setAttribute(\"blockID\",this.mesh.geometry.attributes.blockID),e.setIndex(Array.from(this.mesh.geometry.index.array)),e}saveItemsInMap(e,t){this.checkBlockNumberValid(e);let n=0;for(const s of e){const e=this.getItemIndex(t,n);this.items[e]=s,n++}}resizeCapacityIfNeeded(e){const t=e+this.mesh.count;t>this.capacity&&this.resize(t)}createFragmentMeshWithNewSize(e){const t=new i.G(this.mesh.geometry,this.mesh.material,e,this);return t.count=this.mesh.count,t}disposeNestedFragments(){const e=Object.values(this.fragments);for(let t=0;tthis.blocks.count)throw new Error(`You passed more items (${e.length}) than blocks in this instance (${this.blocks.count})`)}checkIfInstanceExist(e){if(e>this.mesh.count)throw new Error(`The given index (${e}) exceeds the instances in this fragment (${this.mesh.count})`)}deleteAndRearrangeInstances(e){const t=[];for(const n of e){const e=this.deleteAndRearrange(n);e&&t.push(e)}for(const t of e)delete this.hiddenInstances[t];return t}deleteAndRearrange(e){const t=this.items.indexOf(e);if(-1===t)return null;this.mesh.count--;const n=t===this.mesh.count,i=this.getInstanceIDFromIndex(t),a=new s.yGw,l=new s.Ilk,r=new s.yGw;this.mesh.getMatrixAt(i,r);const o={ids:[e],transform:r};if(this.mesh.instanceColor){const e=new s.Ilk;this.mesh.getColorAt(i,e),o.color=e}if(n)return this.items.pop(),o;const c=this.mesh.count;return this.items[t]=this.items[c],this.items.pop(),this.mesh.getMatrixAt(c,a),this.mesh.setMatrixAt(i,a),this.mesh.instanceMatrix.needsUpdate=!0,this.mesh.instanceColor&&(this.mesh.getColorAt(c,l),this.mesh.setColorAt(i,l),this.mesh.instanceColor.needsUpdate=!0),o}getItemIndex(e,t){return e*this.blocks.count+t}getInstanceIDFromIndex(e){return Math.trunc(e/this.blocks.count)}toggleInstanceVisibility(e,t){e?this.makeInstancesVisible(t):this.makeInstancesInvisible(t)}makeInstancesInvisible(e){e=this.filterHiddenItems(e,!1);const t=this.deleteAndRearrangeInstances(e);for(const e of t)e.ids&&(this.hiddenInstances[e.ids[0]]=e)}makeInstancesVisible(e){const t=[];e=this.filterHiddenItems(e,!0);for(const n of e){const e=this.hiddenInstances[n];void 0!==e&&(t.push(e),delete this.hiddenInstances[n])}this.addInstances(t)}filterHiddenItems(e,t){const n=Object.keys(this.hiddenInstances),s=[];for(const i of e){const e=t&&n.includes(i),a=!t&&!n.includes(i);(e||a)&&s.push(i)}return s}}},5625:(e,t,n)=>{\"use strict\";n.d(t,{S:()=>i});var s=n(8823);class i extends s.ZAu{constructor(){super(...arguments),this.items=[],this.boundingBox=new s.ZzF,this.coordinationMatrix=new s.yGw,this.keyFragments={},this.data={},this.ifcMetadata={name:\"\",description:\"\",schema:\"IFC2X3\",maxExpressID:0}}getFragmentMap(e){const t={};for(const n of e){const e=this.data[n];if(e)for(const s of e[0]){const e=this.keyFragments[s];t[e]||(t[e]=new Set),t[e].add(n)}}return t}dispose(e=!0){for(const t of this.items)t.dispose(e);this.coordinationMatrix=new s.yGw,this.keyFragments={},this.data={},this.properties={}}}},3323:(e,t,n)=>{\"use strict\";n.d(t,{j:()=>a});var s=n(8823),i=n(4606);class a{static merge(e,t=!1){const n=[],s=[];for(const i of e){const e=this.mergeGeomsOfSameMaterial(i,t);n.push(e),s.push(e.index.count)}const a=(0,i.n4)(n);return this.setupMaterialGroups(s,a),this.cleanUp(n),a}static async mergeGltfMeshes(e){const t=new s.u9r,n=e[0].geometry.attributes;return this.getMeshesAttributes(t,n),this.getMeshesIndices(t,e),t}static getMeshesAttributes(e,t){e.setAttribute(\"blockID\",t._blockid),e.setAttribute(\"position\",t.position),e.setAttribute(\"normal\",t.normal),e.groups=[]}static getMeshesIndices(e,t){const n={index:0,material:0},s=[];for(const i of t){const t=i.geometry.index;this.getIndicesOfMesh(t,s),this.getMeshGroup(e,n,t),this.cleanUpMesh(i)}e.setIndex(s)}static getMeshGroup(e,t,n){e.groups.push({start:t.index,count:n.count,materialIndex:t.material++}),t.index+=n.count}static cleanUpMesh(e){e.geometry.setIndex([]),e.geometry.attributes={},e.geometry.dispose()}static getIndicesOfMesh(e,t){for(const n of e.array)t.push(n)}static cleanUp(e){e.forEach((e=>e.dispose())),e.length=0}static setupMaterialGroups(e,t){let n=0,s=0;for(const i of e){const e={start:n,count:i,materialIndex:s++};t.groups.push(e),n+=i}}static mergeGeomsOfSameMaterial(e,t){this.checkAllGeometriesAreIndexed(e),t&&this.splitByBlocks(e);const n=(0,i.n4)(e);return this.cleanUp(e),n}static splitByBlocks(e){let t=0;for(const n of e){const e=n.attributes.position.count,i=new Uint16Array(e).fill(t++);n.setAttribute(\"blockID\",new s.TlE(i,1))}}static checkAllGeometriesAreIndexed(e){for(const t of e)if(!t.index)throw new Error(\"All geometries must be indexed!\")}}},8250:(e,t,n)=>{\"use strict\";n.d(t,{HY:()=>i.H,Sf:()=>l.S,ei:()=>a.e,j0:()=>s.j});var s=n(3323),i=n(8967),a=n(5821),l=n(5625)},5821:(e,t,n)=>{\"use strict\";n.d(t,{e:()=>o});var s=n(8823),i=n(76),a=n(6859),l=n(8967),r=n(5625);class o{constructor(){this.fragmentIDSeparator=\"|\"}import(e){const t=new i.cZ(e),n=a.S.getRootAsFragmentsGroup(t),s=this.constructFragmentGroup(n),r=n.itemsLength();for(let e=0;e1;if(o&&c)return{instances:[{ids:r,transform:(new s.yGw).fromArray(t)}],colors:i};const u=[];for(let e=0;e{\"use strict\";n.d(t,{Z:()=>X});const s=Object.freeze({NONE:0,ROTATE:1,TRUCK:2,OFFSET:4,DOLLY:8,ZOOM:16,TOUCH_ROTATE:32,TOUCH_TRUCK:64,TOUCH_OFFSET:128,TOUCH_DOLLY:256,TOUCH_ZOOM:512,TOUCH_DOLLY_TRUCK:1024,TOUCH_DOLLY_OFFSET:2048,TOUCH_DOLLY_ROTATE:4096,TOUCH_ZOOM_TRUCK:8192,TOUCH_ZOOM_OFFSET:16384,TOUCH_ZOOM_ROTATE:32768});function i(e){return e.isPerspectiveCamera}function a(e){return e.isOrthographicCamera}const l=2*Math.PI,r=Math.PI/2,o=1e-5,c=Math.PI/180;function u(e,t,n){return Math.max(t,Math.min(n,e))}function p(e,t=o){return Math.abs(e)0==f>p&&(f=p,n.value=(f-p)/a),f}function y(e,t,n,s,i=1/0,a,l){const r=2/(s=Math.max(1e-4,s)),o=r*a,c=1/(1+o+.48*o*o+.235*o*o*o);let u=t.x,p=t.y,h=t.z,d=e.x-u,f=e.y-p,I=e.z-h;const m=u,y=p,v=h,w=i*s,T=d*d+f*f+I*I;if(T>w*w){const e=Math.sqrt(T);d=d/e*w,f=f/e*w,I=I/e*w}u=e.x-d,p=e.y-f,h=e.z-I;const E=(n.x+r*d)*a,g=(n.y+r*f)*a,R=(n.z+r*I)*a;n.x=(n.x-r*E)*c,n.y=(n.y-r*g)*c,n.z=(n.z-r*R)*c,l.x=u+(d+E)*c,l.y=p+(f+g)*c,l.z=h+(I+R)*c;const D=m-e.x,S=y-e.y,b=v-e.z;return D*(l.x-m)+S*(l.y-y)+b*(l.z-v)>0&&(l.x=m,l.y=y,l.z=v,n.x=(l.x-m)/a,n.y=(l.y-y)/a,n.z=(l.z-v)/a),l}function v(e,t){t.set(0,0),e.forEach((e=>{t.x+=e.clientX,t.y+=e.clientY})),t.x/=e.length,t.y/=e.length}function w(e,t){return!!a(e)&&(console.warn(`${t} is not supported in OrthographicCamera`),!0)}class T{constructor(){this._listeners={}}addEventListener(e,t){const n=this._listeners;void 0===n[e]&&(n[e]=[]),-1===n[e].indexOf(t)&&n[e].push(t)}hasEventListener(e,t){const n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)}removeEventListener(e,t){const n=this._listeners[e];if(void 0!==n){const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}removeAllEventListeners(e){e?Array.isArray(this._listeners[e])&&(this._listeners[e].length=0):this._listeners={}}dispatchEvent(e){const t=this._listeners[e.type];if(void 0!==t){e.target=this;const n=t.slice(0);for(let t=0,s=n.length;t{},this._enabled=!0,this._state=s.NONE,this._viewport=null,this._changedDolly=0,this._changedZoom=0,this._hasRested=!0,this._boundaryEnclosesCamera=!1,this._needsUpdate=!0,this._updatedLastTime=!1,this._elementRect=new DOMRect,this._isDragging=!1,this._activePointers=[],this._lockedPointer=null,this._interactiveArea=new DOMRect(0,0,1,1),this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._isUserControllingOffset=!1,this._isUserControllingZoom=!1,this._lastDollyDirection=0,this._thetaVelocity={value:0},this._phiVelocity={value:0},this._radiusVelocity={value:0},this._targetVelocity=new S.Vector3,this._focalOffsetVelocity=new S.Vector3,this._zoomVelocity={value:0},this._truckInternal=(e,t,n)=>{let s,l;if(i(this._camera)){const n=x.copy(this._camera.position).sub(this._target),i=this._camera.getEffectiveFOV()*c,a=n.length()*Math.tan(.5*i);s=this.truckSpeed*e*a/this._elementRect.height,l=this.truckSpeed*t*a/this._elementRect.height}else{if(!a(this._camera))return;{const n=this._camera;s=e*(n.right-n.left)/n.zoom/this._elementRect.width,l=t*(n.top-n.bottom)/n.zoom/this._elementRect.height}}this.verticalDragToForward?(n?this.setFocalOffset(this._focalOffsetEnd.x+s,this._focalOffsetEnd.y,this._focalOffsetEnd.z,!0):this.truck(s,0,!0),this.forward(-l,!0)):n?this.setFocalOffset(this._focalOffsetEnd.x+s,this._focalOffsetEnd.y+l,this._focalOffsetEnd.z,!0):this.truck(s,l,!0)},this._rotateInternal=(e,t)=>{const n=l*this.azimuthRotateSpeed*e/this._elementRect.height,s=l*this.polarRotateSpeed*t/this._elementRect.height;this.rotate(n,s,!0)},this._dollyInternal=(e,t,n)=>{const s=Math.pow(.95,-e*this.dollySpeed),i=this._sphericalEnd.radius,a=this._sphericalEnd.radius*s,l=u(a,this.minDistance,this.maxDistance),r=l-a;this.infinityDolly&&this.dollyToCursor?this._dollyToNoClamp(a,!0):this.infinityDolly&&!this.dollyToCursor?(this.dollyInFixed(r,!0),this._dollyToNoClamp(l,!0)):this._dollyToNoClamp(l,!0),this.dollyToCursor&&(this._changedDolly+=(this.infinityDolly?a:l)-i,this._dollyControlCoord.set(t,n)),this._lastDollyDirection=Math.sign(-e)},this._zoomInternal=(e,t,n)=>{const s=Math.pow(.95,e*this.dollySpeed),i=this._zoom,a=this._zoom*s;this.zoomTo(a,!0),this.dollyToCursor&&(this._changedZoom+=a-i,this._dollyControlCoord.set(t,n))},void 0===S&&console.error(\"camera-controls: `THREE` is undefined. You must first run `CameraControls.install( { THREE: THREE } )`. Check the docs for further information.\"),this._camera=e,this._yAxisUpSpace=(new S.Quaternion).setFromUnitVectors(this._camera.up,N),this._yAxisUpSpaceInverse=this._yAxisUpSpace.clone().invert(),this._state=s.NONE,this._target=new S.Vector3,this._targetEnd=this._target.clone(),this._focalOffset=new S.Vector3,this._focalOffsetEnd=this._focalOffset.clone(),this._spherical=(new S.Spherical).setFromVector3(x.copy(this._camera.position).applyQuaternion(this._yAxisUpSpace)),this._sphericalEnd=this._spherical.clone(),this._lastDistance=this._spherical.radius,this._zoom=this._camera.zoom,this._zoomEnd=this._zoom,this._lastZoom=this._zoom,this._nearPlaneCorners=[new S.Vector3,new S.Vector3,new S.Vector3,new S.Vector3],this._updateNearPlaneCorners(),this._boundary=new S.Box3(new S.Vector3(-1/0,-1/0,-1/0),new S.Vector3(1/0,1/0,1/0)),this._cameraUp0=this._camera.up.clone(),this._target0=this._target.clone(),this._position0=this._camera.position.clone(),this._zoom0=this._zoom,this._focalOffset0=this._focalOffset.clone(),this._dollyControlCoord=new S.Vector2,this.mouseButtons={left:s.ROTATE,middle:s.DOLLY,right:s.TRUCK,wheel:i(this._camera)?s.DOLLY:a(this._camera)?s.ZOOM:s.NONE},this.touches={one:s.TOUCH_ROTATE,two:i(this._camera)?s.TOUCH_DOLLY_TRUCK:a(this._camera)?s.TOUCH_ZOOM_TRUCK:s.NONE,three:s.TOUCH_TRUCK};const n=new S.Vector2,r=new S.Vector2,o=new S.Vector2,p=e=>{if(!this._enabled||!this._domElement)return;if(0!==this._interactiveArea.left||0!==this._interactiveArea.top||1!==this._interactiveArea.width||1!==this._interactiveArea.height){const t=this._domElement.getBoundingClientRect(),n=e.clientX/t.width,s=e.clientY/t.height;if(nthis._interactiveArea.right||sthis._interactiveArea.bottom)return}const t=\"mouse\"!==e.pointerType?null:1==(1&e.buttons)?1:4==(4&e.buttons)?4:2==(2&e.buttons)?2:null;if(null!==t){const e=this._findPointerByMouseButton(t);e&&this._disposePointer(e)}if(1==(1&e.buttons)&&this._lockedPointer)return;const n={pointerId:e.pointerId,clientX:e.clientX,clientY:e.clientY,deltaX:0,deltaY:0,mouseButton:t};this._activePointers.push(n),this._domElement.ownerDocument.removeEventListener(\"pointermove\",d,{passive:!1}),this._domElement.ownerDocument.removeEventListener(\"pointerup\",I),this._domElement.ownerDocument.addEventListener(\"pointermove\",d,{passive:!1}),this._domElement.ownerDocument.addEventListener(\"pointerup\",I),this._isDragging=!0,g(e)},h=e=>{if(!this._enabled||!this._domElement||this._lockedPointer)return;if(0!==this._interactiveArea.left||0!==this._interactiveArea.top||1!==this._interactiveArea.width||1!==this._interactiveArea.height){const t=this._domElement.getBoundingClientRect(),n=e.clientX/t.width,s=e.clientY/t.height;if(nthis._interactiveArea.right||sthis._interactiveArea.bottom)return}const t=1==(1&e.buttons)?1:4==(4&e.buttons)?4:2==(2&e.buttons)?2:null;if(null!==t){const e=this._findPointerByMouseButton(t);e&&this._disposePointer(e)}const n={pointerId:1,clientX:e.clientX,clientY:e.clientY,deltaX:0,deltaY:0,mouseButton:1==(1&e.buttons)?1:1==(4&e.buttons)?4:1==(2&e.buttons)?2:null};this._activePointers.push(n),this._domElement.ownerDocument.removeEventListener(\"mousemove\",f),this._domElement.ownerDocument.removeEventListener(\"mouseup\",m),this._domElement.ownerDocument.addEventListener(\"mousemove\",f),this._domElement.ownerDocument.addEventListener(\"mouseup\",m),this._isDragging=!0,g(e)},d=e=>{e.cancelable&&e.preventDefault();const t=e.pointerId,n=this._lockedPointer||this._findPointerById(t);if(n){if(n.clientX=e.clientX,n.clientY=e.clientY,n.deltaX=e.movementX,n.deltaY=e.movementY,this._state=0,\"touch\"===e.pointerType)switch(this._activePointers.length){case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three}else(!this._isDragging&&this._lockedPointer||this._isDragging&&1==(1&e.buttons))&&(this._state=this._state|this.mouseButtons.left),this._isDragging&&4==(4&e.buttons)&&(this._state=this._state|this.mouseButtons.middle),this._isDragging&&2==(2&e.buttons)&&(this._state=this._state|this.mouseButtons.right);b()}},f=e=>{const t=this._lockedPointer||this._findPointerById(1);t&&(t.clientX=e.clientX,t.clientY=e.clientY,t.deltaX=e.movementX,t.deltaY=e.movementY,this._state=0,(this._lockedPointer||1==(1&e.buttons))&&(this._state=this._state|this.mouseButtons.left),4==(4&e.buttons)&&(this._state=this._state|this.mouseButtons.middle),2==(2&e.buttons)&&(this._state=this._state|this.mouseButtons.right),b())},I=e=>{const t=this._findPointerById(e.pointerId);if(!t||t!==this._lockedPointer){if(t&&this._disposePointer(t),\"touch\"===e.pointerType)switch(this._activePointers.length){case 0:this._state=s.NONE;break;case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three}else this._state=s.NONE;O()}},m=()=>{const e=this._findPointerById(1);e&&e===this._lockedPointer||(e&&this._disposePointer(e),this._state=s.NONE,O())};let y=-1;const w=e=>{if(!this._domElement)return;if(!this._enabled||this.mouseButtons.wheel===s.NONE)return;if(0!==this._interactiveArea.left||0!==this._interactiveArea.top||1!==this._interactiveArea.width||1!==this._interactiveArea.height){const t=this._domElement.getBoundingClientRect(),n=e.clientX/t.width,s=e.clientY/t.height;if(nthis._interactiveArea.right||sthis._interactiveArea.bottom)return}if(e.preventDefault(),this.dollyToCursor||this.mouseButtons.wheel===s.ROTATE||this.mouseButtons.wheel===s.TRUCK){const e=performance.now();y-e<1e3&&this._getClientRect(this._elementRect),y=e}const t=R?-1:-3,n=1===e.deltaMode?e.deltaY/t:e.deltaY/(10*t),i=this.dollyToCursor?(e.clientX-this._elementRect.x)/this._elementRect.width*2-1:0,a=this.dollyToCursor?(e.clientY-this._elementRect.y)/this._elementRect.height*-2+1:0;switch(this.mouseButtons.wheel){case s.ROTATE:this._rotateInternal(e.deltaX,e.deltaY),this._isUserControllingRotate=!0;break;case s.TRUCK:this._truckInternal(e.deltaX,e.deltaY,!1),this._isUserControllingTruck=!0;break;case s.OFFSET:this._truckInternal(e.deltaX,e.deltaY,!0),this._isUserControllingOffset=!0;break;case s.DOLLY:this._dollyInternal(-n,i,a),this._isUserControllingDolly=!0;break;case s.ZOOM:this._zoomInternal(-n,i,a),this._isUserControllingZoom=!0}this.dispatchEvent({type:\"control\"})},T=e=>{if(this._domElement&&this._enabled){if(this.mouseButtons.right===X.ACTION.NONE){const t=e instanceof PointerEvent?e.pointerId:(MouseEvent,0),n=this._findPointerById(t);return n&&this._disposePointer(n),this._domElement.ownerDocument.removeEventListener(\"pointermove\",d,{passive:!1}),this._domElement.ownerDocument.removeEventListener(\"pointerup\",I),this._domElement.ownerDocument.removeEventListener(\"mousemove\",f),void this._domElement.ownerDocument.removeEventListener(\"mouseup\",m)}e.preventDefault()}},g=e=>{if(this._enabled){if(v(this._activePointers,A),this._getClientRect(this._elementRect),n.copy(A),r.copy(A),this._activePointers.length>=2){const e=A.x-this._activePointers[1].clientX,t=A.y-this._activePointers[1].clientY,n=Math.sqrt(e*e+t*t);o.set(0,n);const s=.5*(this._activePointers[0].clientX+this._activePointers[1].clientX),i=.5*(this._activePointers[0].clientY+this._activePointers[1].clientY);r.set(s,i)}if(this._state=0,e)if(\"pointerType\"in e&&\"touch\"===e.pointerType)switch(this._activePointers.length){case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three}else this._lockedPointer||1!=(1&e.buttons)||(this._state=this._state|this.mouseButtons.left),4==(4&e.buttons)&&(this._state=this._state|this.mouseButtons.middle),2==(2&e.buttons)&&(this._state=this._state|this.mouseButtons.right);else this._lockedPointer&&(this._state=this._state|this.mouseButtons.left);(this._state&s.ROTATE)!==s.ROTATE&&(this._state&s.TOUCH_ROTATE)!==s.TOUCH_ROTATE&&(this._state&s.TOUCH_DOLLY_ROTATE)!==s.TOUCH_DOLLY_ROTATE&&(this._state&s.TOUCH_ZOOM_ROTATE)!==s.TOUCH_ZOOM_ROTATE||(this._sphericalEnd.theta=this._spherical.theta,this._sphericalEnd.phi=this._spherical.phi,this._thetaVelocity.value=0,this._phiVelocity.value=0),(this._state&s.TRUCK)!==s.TRUCK&&(this._state&s.TOUCH_TRUCK)!==s.TOUCH_TRUCK&&(this._state&s.TOUCH_DOLLY_TRUCK)!==s.TOUCH_DOLLY_TRUCK&&(this._state&s.TOUCH_ZOOM_TRUCK)!==s.TOUCH_ZOOM_TRUCK||(this._targetEnd.copy(this._target),this._targetVelocity.set(0,0,0)),(this._state&s.DOLLY)!==s.DOLLY&&(this._state&s.TOUCH_DOLLY)!==s.TOUCH_DOLLY&&(this._state&s.TOUCH_DOLLY_TRUCK)!==s.TOUCH_DOLLY_TRUCK&&(this._state&s.TOUCH_DOLLY_OFFSET)!==s.TOUCH_DOLLY_OFFSET&&(this._state&s.TOUCH_DOLLY_ROTATE)!==s.TOUCH_DOLLY_ROTATE||(this._sphericalEnd.radius=this._spherical.radius,this._radiusVelocity.value=0),(this._state&s.ZOOM)!==s.ZOOM&&(this._state&s.TOUCH_ZOOM)!==s.TOUCH_ZOOM&&(this._state&s.TOUCH_ZOOM_TRUCK)!==s.TOUCH_ZOOM_TRUCK&&(this._state&s.TOUCH_ZOOM_OFFSET)!==s.TOUCH_ZOOM_OFFSET&&(this._state&s.TOUCH_ZOOM_ROTATE)!==s.TOUCH_ZOOM_ROTATE||(this._zoomEnd=this._zoom,this._zoomVelocity.value=0),(this._state&s.OFFSET)!==s.OFFSET&&(this._state&s.TOUCH_OFFSET)!==s.TOUCH_OFFSET&&(this._state&s.TOUCH_DOLLY_OFFSET)!==s.TOUCH_DOLLY_OFFSET&&(this._state&s.TOUCH_ZOOM_OFFSET)!==s.TOUCH_ZOOM_OFFSET||(this._focalOffsetEnd.copy(this._focalOffset),this._focalOffsetVelocity.set(0,0,0)),this.dispatchEvent({type:\"controlstart\"})}},b=()=>{if(!this._enabled)return;v(this._activePointers,A);const e=this._domElement&&document.pointerLockElement===this._domElement?this._lockedPointer||this._activePointers[0]:null,t=e?-e.deltaX:r.x-A.x,i=e?-e.deltaY:r.y-A.y;if(r.copy(A),(this._state&s.ROTATE)!==s.ROTATE&&(this._state&s.TOUCH_ROTATE)!==s.TOUCH_ROTATE&&(this._state&s.TOUCH_DOLLY_ROTATE)!==s.TOUCH_DOLLY_ROTATE&&(this._state&s.TOUCH_ZOOM_ROTATE)!==s.TOUCH_ZOOM_ROTATE||(this._rotateInternal(t,i),this._isUserControllingRotate=!0),(this._state&s.DOLLY)===s.DOLLY||(this._state&s.ZOOM)===s.ZOOM){const e=this.dollyToCursor?(n.x-this._elementRect.x)/this._elementRect.width*2-1:0,t=this.dollyToCursor?(n.y-this._elementRect.y)/this._elementRect.height*-2+1:0,a=this.dollyDragInverted?-1:1;(this._state&s.DOLLY)===s.DOLLY?(this._dollyInternal(a*i*E,e,t),this._isUserControllingDolly=!0):(this._zoomInternal(a*i*E,e,t),this._isUserControllingZoom=!0)}if((this._state&s.TOUCH_DOLLY)===s.TOUCH_DOLLY||(this._state&s.TOUCH_ZOOM)===s.TOUCH_ZOOM||(this._state&s.TOUCH_DOLLY_TRUCK)===s.TOUCH_DOLLY_TRUCK||(this._state&s.TOUCH_ZOOM_TRUCK)===s.TOUCH_ZOOM_TRUCK||(this._state&s.TOUCH_DOLLY_OFFSET)===s.TOUCH_DOLLY_OFFSET||(this._state&s.TOUCH_ZOOM_OFFSET)===s.TOUCH_ZOOM_OFFSET||(this._state&s.TOUCH_DOLLY_ROTATE)===s.TOUCH_DOLLY_ROTATE||(this._state&s.TOUCH_ZOOM_ROTATE)===s.TOUCH_ZOOM_ROTATE){const e=A.x-this._activePointers[1].clientX,t=A.y-this._activePointers[1].clientY,n=Math.sqrt(e*e+t*t),i=o.y-n;o.set(0,n);const a=this.dollyToCursor?(r.x-this._elementRect.x)/this._elementRect.width*2-1:0,l=this.dollyToCursor?(r.y-this._elementRect.y)/this._elementRect.height*-2+1:0;(this._state&s.TOUCH_DOLLY)===s.TOUCH_DOLLY||(this._state&s.TOUCH_DOLLY_ROTATE)===s.TOUCH_DOLLY_ROTATE||(this._state&s.TOUCH_DOLLY_TRUCK)===s.TOUCH_DOLLY_TRUCK||(this._state&s.TOUCH_DOLLY_OFFSET)===s.TOUCH_DOLLY_OFFSET?(this._dollyInternal(i*E,a,l),this._isUserControllingDolly=!0):(this._zoomInternal(i*E,a,l),this._isUserControllingZoom=!0)}(this._state&s.TRUCK)!==s.TRUCK&&(this._state&s.TOUCH_TRUCK)!==s.TOUCH_TRUCK&&(this._state&s.TOUCH_DOLLY_TRUCK)!==s.TOUCH_DOLLY_TRUCK&&(this._state&s.TOUCH_ZOOM_TRUCK)!==s.TOUCH_ZOOM_TRUCK||(this._truckInternal(t,i,!1),this._isUserControllingTruck=!0),(this._state&s.OFFSET)!==s.OFFSET&&(this._state&s.TOUCH_OFFSET)!==s.TOUCH_OFFSET&&(this._state&s.TOUCH_DOLLY_OFFSET)!==s.TOUCH_DOLLY_OFFSET&&(this._state&s.TOUCH_ZOOM_OFFSET)!==s.TOUCH_ZOOM_OFFSET||(this._truckInternal(t,i,!0),this._isUserControllingOffset=!0),this.dispatchEvent({type:\"control\"})},O=()=>{v(this._activePointers,A),r.copy(A),(0===this._activePointers.length||1===this._activePointers.length&&this._activePointers[0]===this._lockedPointer)&&(this._isDragging=!1),0===this._activePointers.length&&this._domElement&&(this._domElement.ownerDocument.removeEventListener(\"pointermove\",d,{passive:!1}),this._domElement.ownerDocument.removeEventListener(\"mousemove\",f),this._domElement.ownerDocument.removeEventListener(\"pointerup\",I),this._domElement.ownerDocument.removeEventListener(\"mouseup\",m),this.dispatchEvent({type:\"controlend\"}))};this.lockPointer=()=>{this._enabled&&this._domElement&&(this.cancel(),this._lockedPointer={pointerId:-1,clientX:0,clientY:0,deltaX:0,deltaY:0,mouseButton:null},this._activePointers.push(this._lockedPointer),this._domElement.ownerDocument.removeEventListener(\"pointermove\",d,{passive:!1}),this._domElement.ownerDocument.removeEventListener(\"pointerup\",I),this._domElement.requestPointerLock(),this._domElement.ownerDocument.addEventListener(\"pointerlockchange\",C),this._domElement.ownerDocument.addEventListener(\"pointerlockerror\",L),this._domElement.ownerDocument.addEventListener(\"pointermove\",d,{passive:!1}),this._domElement.ownerDocument.addEventListener(\"pointerup\",I),g())},this.unlockPointer=()=>{null!==this._lockedPointer&&(this._disposePointer(this._lockedPointer),this._lockedPointer=null),document.exitPointerLock(),this.cancel(),this._domElement&&(this._domElement.ownerDocument.removeEventListener(\"pointerlockchange\",C),this._domElement.ownerDocument.removeEventListener(\"pointerlockerror\",L))};const C=()=>{this._domElement&&this._domElement.ownerDocument.pointerLockElement===this._domElement||this.unlockPointer()},L=()=>{this.unlockPointer()};this._addAllEventListeners=e=>{this._domElement=e,this._domElement.style.touchAction=\"none\",this._domElement.style.userSelect=\"none\",this._domElement.style.webkitUserSelect=\"none\",this._domElement.addEventListener(\"pointerdown\",p),D&&this._domElement.addEventListener(\"mousedown\",h),this._domElement.addEventListener(\"pointercancel\",I),this._domElement.addEventListener(\"wheel\",w,{passive:!1}),this._domElement.addEventListener(\"contextmenu\",T)},this._removeAllEventListeners=()=>{this._domElement&&(this._domElement.style.touchAction=\"\",this._domElement.style.userSelect=\"\",this._domElement.style.webkitUserSelect=\"\",this._domElement.removeEventListener(\"pointerdown\",p),this._domElement.removeEventListener(\"mousedown\",h),this._domElement.removeEventListener(\"pointercancel\",I),this._domElement.removeEventListener(\"wheel\",w,{passive:!1}),this._domElement.removeEventListener(\"contextmenu\",T),this._domElement.ownerDocument.removeEventListener(\"pointermove\",d,{passive:!1}),this._domElement.ownerDocument.removeEventListener(\"mousemove\",f),this._domElement.ownerDocument.removeEventListener(\"pointerup\",I),this._domElement.ownerDocument.removeEventListener(\"mouseup\",m),this._domElement.ownerDocument.removeEventListener(\"pointerlockchange\",C),this._domElement.ownerDocument.removeEventListener(\"pointerlockerror\",L))},this.cancel=()=>{this._state!==s.NONE&&(this._state=s.NONE,this._activePointers.length=0,O())},t&&this.connect(t),this.update(0)}get camera(){return this._camera}set camera(e){this._camera=e,this.updateCameraUp(),this._camera.updateProjectionMatrix(),this._updateNearPlaneCorners(),this._needsUpdate=!0}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._domElement&&(e?(this._domElement.style.touchAction=\"none\",this._domElement.style.userSelect=\"none\",this._domElement.style.webkitUserSelect=\"none\"):(this.cancel(),this._domElement.style.touchAction=\"\",this._domElement.style.userSelect=\"\",this._domElement.style.webkitUserSelect=\"\"))}get active(){return!this._hasRested}get currentAction(){return this._state}get distance(){return this._spherical.radius}set distance(e){this._spherical.radius===e&&this._sphericalEnd.radius===e||(this._spherical.radius=e,this._sphericalEnd.radius=e,this._needsUpdate=!0)}get azimuthAngle(){return this._spherical.theta}set azimuthAngle(e){this._spherical.theta===e&&this._sphericalEnd.theta===e||(this._spherical.theta=e,this._sphericalEnd.theta=e,this._needsUpdate=!0)}get polarAngle(){return this._spherical.phi}set polarAngle(e){this._spherical.phi===e&&this._sphericalEnd.phi===e||(this._spherical.phi=e,this._sphericalEnd.phi=e,this._needsUpdate=!0)}get boundaryEnclosesCamera(){return this._boundaryEnclosesCamera}set boundaryEnclosesCamera(e){this._boundaryEnclosesCamera=e,this._needsUpdate=!0}set interactiveArea(e){this._interactiveArea.width=u(e.width,0,1),this._interactiveArea.height=u(e.height,0,1),this._interactiveArea.x=u(e.x,0,1-this._interactiveArea.width),this._interactiveArea.y=u(e.x,0,1-this._interactiveArea.height)}addEventListener(e,t){super.addEventListener(e,t)}removeEventListener(e,t){super.removeEventListener(e,t)}rotate(e,t,n=!1){return this.rotateTo(this._sphericalEnd.theta+e,this._sphericalEnd.phi+t,n)}rotateAzimuthTo(e,t=!1){return this.rotateTo(e,this._sphericalEnd.phi,t)}rotatePolarTo(e,t=!1){return this.rotateTo(this._sphericalEnd.theta,e,t)}rotateTo(e,t,n=!1){this._isUserControllingRotate=!1;const s=u(e,this.minAzimuthAngle,this.maxAzimuthAngle),i=u(t,this.minPolarAngle,this.maxPolarAngle);this._sphericalEnd.theta=s,this._sphericalEnd.phi=i,this._sphericalEnd.makeSafe(),this._needsUpdate=!0,n||(this._spherical.theta=this._sphericalEnd.theta,this._spherical.phi=this._sphericalEnd.phi);const a=!n||h(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&h(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold);return this._createOnRestPromise(a)}dolly(e,t=!1){return this.dollyTo(this._sphericalEnd.radius-e,t)}dollyTo(e,t=!1){return this._isUserControllingDolly=!1,this._lastDollyDirection=0,this._changedDolly=0,this._dollyToNoClamp(u(e,this.minDistance,this.maxDistance),t)}_dollyToNoClamp(e,t=!1){const n=this._sphericalEnd.radius;if(this.colliderMeshes.length>=1){const t=this._collisionTest(),s=h(t,this._spherical.radius);if(!(n>e)&&s)return Promise.resolve();this._sphericalEnd.radius=Math.min(e,t)}else this._sphericalEnd.radius=e;this._needsUpdate=!0,t||(this._spherical.radius=this._sphericalEnd.radius);const s=!t||h(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(s)}dollyInFixed(e,t=!1){this._targetEnd.add(this._getCameraDirection(P).multiplyScalar(e)),t||this._target.copy(this._targetEnd);const n=!t||h(this._target.x,this._targetEnd.x,this.restThreshold)&&h(this._target.y,this._targetEnd.y,this.restThreshold)&&h(this._target.z,this._targetEnd.z,this.restThreshold);return this._createOnRestPromise(n)}zoom(e,t=!1){return this.zoomTo(this._zoomEnd+e,t)}zoomTo(e,t=!1){this._isUserControllingZoom=!1,this._zoomEnd=u(e,this.minZoom,this.maxZoom),this._needsUpdate=!0,t||(this._zoom=this._zoomEnd);const n=!t||h(this._zoom,this._zoomEnd,this.restThreshold);return this._changedZoom=0,this._createOnRestPromise(n)}pan(e,t,n=!1){return console.warn(\"`pan` has been renamed to `truck`\"),this.truck(e,t,n)}truck(e,t,n=!1){this._camera.updateMatrix(),q.setFromMatrixColumn(this._camera.matrix,0),_.setFromMatrixColumn(this._camera.matrix,1),q.multiplyScalar(e),_.multiplyScalar(-t);const s=x.copy(q).add(_),i=C.copy(this._targetEnd).add(s);return this.moveTo(i.x,i.y,i.z,n)}forward(e,t=!1){x.setFromMatrixColumn(this._camera.matrix,0),x.crossVectors(this._camera.up,x),x.multiplyScalar(e);const n=C.copy(this._targetEnd).add(x);return this.moveTo(n.x,n.y,n.z,t)}elevate(e,t=!1){return x.copy(this._camera.up).multiplyScalar(e),this.moveTo(this._targetEnd.x+x.x,this._targetEnd.y+x.y,this._targetEnd.z+x.z,t)}moveTo(e,t,n,s=!1){this._isUserControllingTruck=!1;const i=x.set(e,t,n).sub(this._targetEnd);this._encloseToBoundary(this._targetEnd,i,this.boundaryFriction),this._needsUpdate=!0,s||this._target.copy(this._targetEnd);const a=!s||h(this._target.x,this._targetEnd.x,this.restThreshold)&&h(this._target.y,this._targetEnd.y,this.restThreshold)&&h(this._target.z,this._targetEnd.z,this.restThreshold);return this._createOnRestPromise(a)}lookInDirectionOf(e,t,n,s=!1){const i=x.set(e,t,n).sub(this._targetEnd).normalize().multiplyScalar(-this._sphericalEnd.radius);return this.setPosition(i.x,i.y,i.z,s)}fitToBox(e,t,{cover:n=!1,paddingLeft:s=0,paddingRight:l=0,paddingBottom:o=0,paddingTop:c=0}={}){const u=[],p=e.isBox3?G.copy(e):G.setFromObject(e);p.isEmpty()&&(console.warn(\"camera-controls: fitTo() cannot be used with an empty box. Aborting\"),Promise.resolve());const f=d(this._sphericalEnd.theta,r),I=d(this._sphericalEnd.phi,r);u.push(this.rotateTo(f,I,t));const m=x.setFromSpherical(this._sphericalEnd).normalize(),y=z.setFromUnitVectors(m,O),v=h(Math.abs(m.y),1);v&&y.multiply(W.setFromAxisAngle(N,f)),y.multiply(this._yAxisUpSpaceInverse);const w=V.makeEmpty();C.copy(p.min).applyQuaternion(y),w.expandByPoint(C),C.copy(p.min).setX(p.max.x).applyQuaternion(y),w.expandByPoint(C),C.copy(p.min).setY(p.max.y).applyQuaternion(y),w.expandByPoint(C),C.copy(p.max).setZ(p.min.z).applyQuaternion(y),w.expandByPoint(C),C.copy(p.min).setZ(p.max.z).applyQuaternion(y),w.expandByPoint(C),C.copy(p.max).setY(p.min.y).applyQuaternion(y),w.expandByPoint(C),C.copy(p.max).setX(p.min.x).applyQuaternion(y),w.expandByPoint(C),C.copy(p.max).applyQuaternion(y),w.expandByPoint(C),w.min.x-=s,w.min.y-=o,w.max.x+=l,w.max.y+=c,y.setFromUnitVectors(O,m),v&&y.premultiply(W.invert()),y.premultiply(this._yAxisUpSpace);const T=w.getSize(x),E=w.getCenter(C).applyQuaternion(y);if(i(this._camera)){const e=this.getDistanceToFitBox(T.x,T.y,T.z,n);u.push(this.moveTo(E.x,E.y,E.z,t)),u.push(this.dollyTo(e,t)),u.push(this.setFocalOffset(0,0,0,t))}else if(a(this._camera)){const e=this._camera,s=e.right-e.left,i=e.top-e.bottom,a=n?Math.max(s/T.x,i/T.y):Math.min(s/T.x,i/T.y);u.push(this.moveTo(E.x,E.y,E.z,t)),u.push(this.zoomTo(a,t)),u.push(this.setFocalOffset(0,0,0,t))}return Promise.all(u)}fitToSphere(e,t){const n=[],s=e instanceof S.Sphere?j.copy(e):X.createBoundingSphere(e,j);if(n.push(this.moveTo(s.center.x,s.center.y,s.center.z,t)),i(this._camera)){const e=this.getDistanceToFitSphere(s.radius);n.push(this.dollyTo(e,t))}else if(a(this._camera)){const e=this._camera.right-this._camera.left,i=this._camera.top-this._camera.bottom,a=2*s.radius,l=Math.min(e/a,i/a);n.push(this.zoomTo(l,t))}return n.push(this.setFocalOffset(0,0,0,t)),Promise.all(n)}setLookAt(e,t,n,s,i,a,l=!1){this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._lastDollyDirection=0,this._changedDolly=0;const r=C.set(s,i,a),o=x.set(e,t,n);this._targetEnd.copy(r),this._sphericalEnd.setFromVector3(o.sub(r).applyQuaternion(this._yAxisUpSpace)),this.normalizeRotations(),this._needsUpdate=!0,l||(this._target.copy(this._targetEnd),this._spherical.copy(this._sphericalEnd));const c=!l||h(this._target.x,this._targetEnd.x,this.restThreshold)&&h(this._target.y,this._targetEnd.y,this.restThreshold)&&h(this._target.z,this._targetEnd.z,this.restThreshold)&&h(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&h(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold)&&h(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(c)}lerpLookAt(e,t,n,s,i,a,l,r,o,c,u,p,d,f=!1){this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._lastDollyDirection=0,this._changedDolly=0;const I=x.set(s,i,a),m=C.set(e,t,n);U.setFromVector3(m.sub(I).applyQuaternion(this._yAxisUpSpace));const y=L.set(c,u,p),v=C.set(l,r,o);F.setFromVector3(v.sub(y).applyQuaternion(this._yAxisUpSpace)),this._targetEnd.copy(I.lerp(y,d));const w=F.theta-U.theta,T=F.phi-U.phi,E=F.radius-U.radius;this._sphericalEnd.set(U.radius+E*d,U.phi+T*d,U.theta+w*d),this.normalizeRotations(),this._needsUpdate=!0,f||(this._target.copy(this._targetEnd),this._spherical.copy(this._sphericalEnd));const g=!f||h(this._target.x,this._targetEnd.x,this.restThreshold)&&h(this._target.y,this._targetEnd.y,this.restThreshold)&&h(this._target.z,this._targetEnd.z,this.restThreshold)&&h(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&h(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold)&&h(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(g)}setPosition(e,t,n,s=!1){return this.setLookAt(e,t,n,this._targetEnd.x,this._targetEnd.y,this._targetEnd.z,s)}setTarget(e,t,n,s=!1){const i=this.getPosition(x),a=this.setLookAt(i.x,i.y,i.z,e,t,n,s);return this._sphericalEnd.phi=u(this._sphericalEnd.phi,this.minPolarAngle,this.maxPolarAngle),a}setFocalOffset(e,t,n,s=!1){this._isUserControllingOffset=!1,this._focalOffsetEnd.set(e,t,n),this._needsUpdate=!0,s||this._focalOffset.copy(this._focalOffsetEnd);const i=!s||h(this._focalOffset.x,this._focalOffsetEnd.x,this.restThreshold)&&h(this._focalOffset.y,this._focalOffsetEnd.y,this.restThreshold)&&h(this._focalOffset.z,this._focalOffsetEnd.z,this.restThreshold);return this._createOnRestPromise(i)}setOrbitPoint(e,t,n){this._camera.updateMatrixWorld(),q.setFromMatrixColumn(this._camera.matrixWorldInverse,0),_.setFromMatrixColumn(this._camera.matrixWorldInverse,1),M.setFromMatrixColumn(this._camera.matrixWorldInverse,2);const s=x.set(e,t,n),i=s.distanceTo(this._camera.position),a=s.sub(this._camera.position);q.multiplyScalar(a.x),_.multiplyScalar(a.y),M.multiplyScalar(a.z),x.copy(q).add(_).add(M),x.z=x.z+i,this.dollyTo(i,!1),this.setFocalOffset(-x.x,x.y,-x.z,!1),this.moveTo(e,t,n,!1)}setBoundary(e){if(!e)return this._boundary.min.set(-1/0,-1/0,-1/0),this._boundary.max.set(1/0,1/0,1/0),void(this._needsUpdate=!0);this._boundary.copy(e),this._boundary.clampPoint(this._targetEnd,this._targetEnd),this._needsUpdate=!0}setViewport(e,t,n,s){null!==e?(this._viewport=this._viewport||new S.Vector4,\"number\"==typeof e?this._viewport.set(e,t,n,s):this._viewport.copy(e)):this._viewport=null}getDistanceToFitBox(e,t,n,s=!1){if(w(this._camera,\"getDistanceToFitBox\"))return this._spherical.radius;const i=e/t,a=this._camera.getEffectiveFOV()*c,l=this._camera.aspect;return.5*((s?i>l:it.pointerId===e))}_findPointerByMouseButton(e){return this._activePointers.find((t=>t.mouseButton===e))}_disposePointer(e){this._activePointers.splice(this._activePointers.indexOf(e),1)}_encloseToBoundary(e,t,n){const s=t.lengthSq();if(0===s)return e;const i=C.copy(t).add(e),a=this._boundary.clampPoint(i,L).sub(i),l=a.lengthSq();if(0===l)return e.add(t);if(l===s)return e;if(0===n)return e.add(t).add(a);{const s=1+n*l/t.dot(a);return e.add(C.copy(t).multiplyScalar(s)).add(a.multiplyScalar(1-n))}}_updateNearPlaneCorners(){if(i(this._camera)){const e=this._camera,t=e.near,n=e.getEffectiveFOV()*c,s=Math.tan(.5*n)*t,i=s*e.aspect;this._nearPlaneCorners[0].set(-i,-s,0),this._nearPlaneCorners[1].set(i,-s,0),this._nearPlaneCorners[2].set(i,s,0),this._nearPlaneCorners[3].set(-i,s,0)}else if(a(this._camera)){const e=this._camera,t=1/e.zoom,n=e.left*t,s=e.right*t,i=e.top*t,a=e.bottom*t;this._nearPlaneCorners[0].set(n,i,0),this._nearPlaneCorners[1].set(s,i,0),this._nearPlaneCorners[2].set(s,a,0),this._nearPlaneCorners[3].set(n,a,0)}}_collisionTest(){let e=1/0;if(!(this.colliderMeshes.length>=1))return e;if(w(this._camera,\"_collisionTest\"))return e;const t=this._getTargetDirection(P);k.lookAt(b,t,this._camera.up);for(let n=0;n<4;n++){const s=C.copy(this._nearPlaneCorners[n]);s.applyMatrix4(k);const i=L.addVectors(this._target,s);Y.set(i,t),Y.far=this._spherical.radius+1;const a=Y.intersectObjects(this.colliderMeshes);0!==a.length&&a[0].distance{const t=()=>{this.removeEventListener(\"rest\",t),e()};this.addEventListener(\"rest\",t)})))}_addAllEventListeners(e){}_removeAllEventListeners(){}get dampingFactor(){return console.warn(\".dampingFactor has been deprecated. use smoothTime (in seconds) instead.\"),0}set dampingFactor(e){console.warn(\".dampingFactor has been deprecated. use smoothTime (in seconds) instead.\")}get draggingDampingFactor(){return console.warn(\".draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead.\"),0}set draggingDampingFactor(e){console.warn(\".draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead.\")}static createBoundingSphere(e,t=new S.Sphere){const n=t,s=n.center;G.makeEmpty(),e.traverseVisible((e=>{e.isMesh&&G.expandByObject(e)})),G.getCenter(s);let i=0;return e.traverseVisible((e=>{if(!e.isMesh)return;const t=e,n=t.geometry.clone();n.applyMatrix4(t.matrixWorld);const a=n.attributes.position;for(let e=0,t=a.count;e{\"use strict\";n.d(t,{I:()=>a});var s=n(1856),i=n(222);class a{constructor(e){let t;this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null,this.text_encoder=new TextEncoder,t=e||1024,this.bb=s.c.allocate(t),this.space=t}clear(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null}forceDefaults(e){this.force_defaults=e}dataBuffer(){return this.bb}asUint8Array(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())}prep(e,t){e>this.minalign&&(this.minalign=e);const n=1+~(this.bb.capacity()-this.space+t)&e-1;for(;this.space=0&&0==this.vtable[t];t--);const n=t+1;for(;t>=0;t--)this.addInt16(0!=this.vtable[t]?e-this.vtable[t]:0);this.addInt16(e-this.object_start);const s=(n+2)*i.LN;this.addInt16(s);let a=0;const l=this.space;e:for(t=0;t=0;t--)this.writeInt8(e.charCodeAt(t))}this.prep(this.minalign,i.Q4+s),this.addOffset(e),s&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,t){this.finish(e,t,!0)}requiredField(e,t){const n=this.bb.capacity()-e,s=n-this.bb.readInt32(n);if(!(t{\"use strict\";n.d(t,{c:()=>l});var s=n(222),i=n(7176),a=n(7296);class l{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(e){return new l(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,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeInt32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeUint32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeInt64(e,t){this.writeInt32(e,Number(BigInt.asIntN(32,t))),this.writeInt32(e+4,Number(BigInt.asIntN(32,t>>BigInt(32))))}writeUint64(e,t){this.writeUint32(e,Number(BigInt.asUintN(32,t))),this.writeUint32(e+4,Number(BigInt.asUintN(32,t>>BigInt(32))))}writeFloat32(e,t){i.vE[0]=t,this.writeInt32(e,i.LB[0])}writeFloat64(e,t){i.BZ[0]=t,this.writeInt32(e,i.LB[i.r?0:1]),this.writeInt32(e+4,i.LB[i.r?1:0])}getBufferIdentifier(){if(this.bytes_.length{\"use strict\";n.d(t,{LN:()=>s,Q4:()=>i,XU:()=>l,jL:()=>a});const s=2,i=4,a=4,l=4},7296:(e,t,n)=>{\"use strict\";var s;n.d(t,{e:()=>s}),function(e){e[e.UTF8_BYTES=1]=\"UTF8_BYTES\",e[e.UTF16_STRING=2]=\"UTF16_STRING\"}(s||(s={}))},76:(e,t,n)=>{\"use strict\";n.d(t,{Ib:()=>i.I,XU:()=>s.XU,cZ:()=>a.c});var s=n(222),i=(n(7176),n(7296),n(2978)),a=n(1856)},7176:(e,t,n)=>{\"use strict\";n.d(t,{BZ:()=>a,LB:()=>s,r:()=>l,vE:()=>i});const s=new Int32Array(2),i=new Float32Array(s.buffer),a=new Float64Array(s.buffer),l=1===new Uint16Array(new Uint8Array([1,0]).buffer)[0]},7555:(e,t,n)=>{\"use strict\";n.d(t,{BII:()=>Hc,FILE_DESCRIPTION:()=>Rm,FILE_NAME:()=>Dm,G0A:()=>po,MNr:()=>io,QHT:()=>Cu,bYJ:()=>lo,ko9:()=>Uc,nRS:()=>jm,qaL:()=>Hf,t8E:()=>pp});var s,i,a,l,r,o=n(9473),c=Object.defineProperty,u=Object.defineProperties,p=Object.getOwnPropertyDescriptors,h=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable,I=(e,t,n)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,m=(e,t)=>{for(var n in t||(t={}))d.call(t,n)&&I(e,n,t[n]);if(h)for(var n of h(t))f.call(t,n)&&I(e,n,t[n]);return e},y=(e,t)=>function(){return t||(0,e[Object.keys(e)[0]])((t={exports:{}}).exports,t),t.exports},v=(e,t,n)=>new Promise(((s,i)=>{var a=e=>{try{r(n.next(e))}catch(e){i(e)}},l=e=>{try{r(n.throw(e))}catch(e){i(e)}},r=e=>e.done?s(e.value):Promise.resolve(e.value).then(a,l);r((n=n.apply(e,t)).next())})),w=y({\"dist/web-ifc-mt.js\"(e,t){var n,s=(n=\"undefined\"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(e={}){function t(){return O.buffer!=q.buffer&&Y(),q}function s(){return O.buffer!=q.buffer&&Y(),_}function i(){return O.buffer!=q.buffer&&Y(),M}function a(){return O.buffer!=q.buffer&&Y(),H}function l(){return O.buffer!=q.buffer&&Y(),B}function r(){return O.buffer!=q.buffer&&Y(),U}function c(){return O.buffer!=q.buffer&&Y(),G}var u,p,h=void 0!==e?e:{};h.ready=new Promise((function(e,t){u=e,p=t}));var d,f,I,m=Object.assign({},h),y=\"./this.program\",v=(e,t)=>{throw t},w=\"object\"==typeof window,T=\"function\"==typeof importScripts,E=\"object\"==typeof o&&\"object\"==typeof o.versions&&\"string\"==typeof o.versions.node,g=h.ENVIRONMENT_IS_PTHREAD||!1,R=\"\";function D(e){return h.locateFile?h.locateFile(e,R):R+e}(w||T)&&(T?R=self.location.href:\"undefined\"!=typeof document&&document.currentScript&&(R=document.currentScript.src),n&&(R=n),R=0!==R.indexOf(\"blob:\")?R.substr(0,R.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):\"\",d=e=>{var t=new XMLHttpRequest;return t.open(\"GET\",e,!1),t.send(null),t.responseText},T&&(I=e=>{var t=new XMLHttpRequest;return t.open(\"GET\",e,!1),t.responseType=\"arraybuffer\",t.send(null),new Uint8Array(t.response)}),f=(e,t,n)=>{var s=new XMLHttpRequest;s.open(\"GET\",e,!0),s.responseType=\"arraybuffer\",s.onload=()=>{200==s.status||0==s.status&&s.response?t(s.response):n()},s.onerror=n,s.send(null)});var S,b=h.print||console.log.bind(console),N=h.printErr||console.warn.bind(console);Object.assign(h,m),m=null,h.arguments&&h.arguments,h.thisProgram&&(y=h.thisProgram),h.quit&&(v=h.quit),h.wasmBinary&&(S=h.wasmBinary);var O,A,x=h.noExitRuntime||!0;\"object\"!=typeof WebAssembly&&le(\"no native wasm support detected\");var C,L=!1;function P(e,t){e||le(t)}var q,_,M,H,B,U,F,G,V=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf8\"):void 0;function j(e,t,n){for(var s=(t>>>=0)+n,i=t;e[i]&&!(i>=s);)++i;if(i-t>16&&e.buffer&&V)return V.decode(e.buffer instanceof SharedArrayBuffer?e.slice(t,i):e.subarray(t,i));for(var a=\"\";t>10,56320|1023&c)}}else a+=String.fromCharCode((31&l)<<6|r)}else a+=String.fromCharCode(l)}return a}function z(e,t){return(e>>>=0)?j(s(),e,t):\"\"}function W(e,t,n,s){if(!(s>0))return 0;for(var i=n>>>=0,a=n+s-1,l=0;l=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&e.charCodeAt(++l)),r<=127){if(n>=a)break;t[n++>>>0]=r}else if(r<=2047){if(n+1>=a)break;t[n++>>>0]=192|r>>6,t[n++>>>0]=128|63&r}else if(r<=65535){if(n+2>=a)break;t[n++>>>0]=224|r>>12,t[n++>>>0]=128|r>>6&63,t[n++>>>0]=128|63&r}else{if(n+3>=a)break;t[n++>>>0]=240|r>>18,t[n++>>>0]=128|r>>12&63,t[n++>>>0]=128|r>>6&63,t[n++>>>0]=128|63&r}}return t[n>>>0]=0,n-i}function k(e){for(var t=0,n=0;n=55296&&s<=57343?(t+=4,++n):t+=3}return t}function Y(){var e=O.buffer;h.HEAP8=q=new Int8Array(e),h.HEAP16=M=new Int16Array(e),h.HEAP32=B=new Int32Array(e),h.HEAPU8=_=new Uint8Array(e),h.HEAPU16=H=new Uint16Array(e),h.HEAPU32=U=new Uint32Array(e),h.HEAPF32=F=new Float32Array(e),h.HEAPF64=G=new Float64Array(e)}var X,K=h.INITIAL_MEMORY||16777216;if(P(K>=5242880,\"INITIAL_MEMORY should be larger than STACK_SIZE, was \"+K+\"! (STACK_SIZE=5242880)\"),g)O=h.wasmMemory;else if(h.wasmMemory)O=h.wasmMemory;else if(!((O=new WebAssembly.Memory({initial:K/65536,maximum:65536,shared:!0})).buffer instanceof SharedArrayBuffer))throw N(\"requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag\"),E&&N(\"(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)\"),Error(\"bad memory\");Y(),K=O.buffer.byteLength;var Z=[],Q=[],J=[];function $(){return x}function ee(){g||(h.noFSInit||Te.init.initialized||Te.init(),Te.ignorePermissions=!1,ye.init(),Se(Q))}var te=0,ne=null,se=null;function ie(e){te++,h.monitorRunDependencies&&h.monitorRunDependencies(te)}function ae(e){if(te--,h.monitorRunDependencies&&h.monitorRunDependencies(te),0==te&&(null!==ne&&(clearInterval(ne),ne=null),se)){var t=se;se=null,t()}}function le(e){h.onAbort&&h.onAbort(e),N(e=\"Aborted(\"+e+\")\"),L=!0,C=1,e+=\". Build with -sASSERTIONS for more info.\";var t=new WebAssembly.RuntimeError(e);throw p(t),t}var re,oe,ce;function ue(e){return e.startsWith(\"data:application/octet-stream;base64,\")}function pe(e){try{if(e==re&&S)return new Uint8Array(S);if(I)return I(e);throw\"both async and sync fetching of the wasm failed\"}catch(e){le(e)}}function he(e){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+e+\")\",this.status=e}function de(e){var t=De.pthreads[e];P(t),De.returnWorkerToPool(t)}ue(re=\"web-ifc-mt.wasm\")||(re=D(re));var fe={isAbs:e=>\"/\"===e.charAt(0),splitPath:e=>/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var n=0,s=e.length-1;s>=0;s--){var i=e[s];\".\"===i?e.splice(s,1):\"..\"===i?(e.splice(s,1),n++):n&&(e.splice(s,1),n--)}if(t)for(;n;n--)e.unshift(\"..\");return e},normalize:e=>{var t=fe.isAbs(e),n=\"/\"===e.substr(-1);return(e=fe.normalizeArray(e.split(\"/\").filter((e=>!!e)),!t).join(\"/\"))||t||(e=\".\"),e&&n&&(e+=\"/\"),(t?\"/\":\"\")+e},dirname:e=>{var t=fe.splitPath(e),n=t[0],s=t[1];return n||s?(s&&(s=s.substr(0,s.length-1)),n+s):\".\"},basename:e=>{if(\"/\"===e)return\"/\";var t=(e=(e=fe.normalize(e)).replace(/\\/$/,\"\")).lastIndexOf(\"/\");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return fe.normalize(e.join(\"/\"))},join2:(e,t)=>fe.normalize(e+\"/\"+t)},Ie={resolve:function(){for(var e=\"\",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var s=n>=0?arguments[n]:Te.cwd();if(\"string\"!=typeof s)throw new TypeError(\"Arguments to path.resolve must be strings\");if(!s)return\"\";e=s+\"/\"+e,t=fe.isAbs(s)}return(t?\"/\":\"\")+(e=fe.normalizeArray(e.split(\"/\").filter((e=>!!e)),!t).join(\"/\"))||\".\"},relative:(e,t)=>{function n(e){for(var t=0;t=0&&\"\"===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=Ie.resolve(e).substr(1),t=Ie.resolve(t).substr(1);for(var s=n(e.split(\"/\")),i=n(t.split(\"/\")),a=Math.min(s.length,i.length),l=a,r=0;r0?n:k(e)+1,i=new Array(s),a=W(e,i,0,i.length);return t&&(i.length=a),i}var ye={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){ye.ttys[e]={input:[],output:[],ops:t},Te.registerDevice(e,ye.stream_ops)},stream_ops:{open:function(e){var t=ye.ttys[e.node.rdev];if(!t)throw new Te.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,n,s,i){if(!e.tty||!e.tty.ops.get_char)throw new Te.ErrnoError(60);for(var a=0,l=0;l0&&(b(j(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(N(j(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(N(j(e.output,0)),e.output=[])}}};function ve(e){le()}var we={ops_table:null,mount:function(e){return we.createNode(null,\"/\",16895,0)},createNode:function(e,t,n,s){if(Te.isBlkdev(n)||Te.isFIFO(n))throw new Te.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:Te.chrdev_stream_ops}});var i=Te.createNode(e,t,n,s);return Te.isDir(i.mode)?(i.node_ops=we.ops_table.dir.node,i.stream_ops=we.ops_table.dir.stream,i.contents={}):Te.isFile(i.mode)?(i.node_ops=we.ops_table.file.node,i.stream_ops=we.ops_table.file.stream,i.usedBytes=0,i.contents=null):Te.isLink(i.mode)?(i.node_ops=we.ops_table.link.node,i.stream_ops=we.ops_table.link.stream):Te.isChrdev(i.mode)&&(i.node_ops=we.ops_table.chrdev.node,i.stream_ops=we.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){t>>>=0;var n=e.contents?e.contents.length:0;if(!(n>=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),0!=n&&(t=Math.max(t,256));var s=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(s.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(t>>>=0,e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=Te.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Te.isDir(e.mode)?t.size=4096:Te.isFile(e.mode)?t.size=e.usedBytes:Te.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&we.resizeFileStorage(e,t.size)},lookup:function(e,t){throw Te.genericErrors[44]},mknod:function(e,t,n,s){return we.createNode(e,t,n,s)},rename:function(e,t,n){if(Te.isDir(e.mode)){var s;try{s=Te.lookupNode(t,n)}catch(e){}if(s)for(var i in s.contents)throw new Te.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=n,t.contents[n]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var n=Te.lookupNode(e,t);for(var s in n.contents)throw new Te.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[\".\",\"..\"];for(var n in e.contents)e.contents.hasOwnProperty(n)&&t.push(n);return t},symlink:function(e,t,n){var s=we.createNode(e,t,41471,0);return s.link=n,s},readlink:function(e){if(!Te.isLink(e.mode))throw new Te.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,n,s,i){var a=e.node.contents;if(i>=e.node.usedBytes)return 0;var l=Math.min(e.node.usedBytes-i,s);if(l>8&&a.subarray)t.set(a.subarray(i,i+l),n);else for(var r=0;r0||s+n>>=0,t().set(o,l>>>0)}else r=!1,l=o.byteOffset;return{ptr:l,allocated:r}},msync:function(e,t,n,s,i){return we.stream_ops.write(e,t,0,s,n,!1),0}}},Te={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:\"/\",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(e,t={})=>{if(!(e=Ie.resolve(e)))return{path:\"\",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new Te.ErrnoError(32);for(var n=e.split(\"/\").filter((e=>!!e)),s=Te.root,i=\"/\",a=0;a40)throw new Te.ErrnoError(32)}}return{path:i,node:s}},getPath:e=>{for(var t;;){if(Te.isRoot(e)){var n=e.mount.mountpoint;return t?\"/\"!==n[n.length-1]?n+\"/\"+t:n+t:n}t=t?e.name+\"/\"+t:e.name,e=e.parent}},hashName:(e,t)=>{for(var n=0,s=0;s>>0)%Te.nameTable.length},hashAddNode:e=>{var t=Te.hashName(e.parent.id,e.name);e.name_next=Te.nameTable[t],Te.nameTable[t]=e},hashRemoveNode:e=>{var t=Te.hashName(e.parent.id,e.name);if(Te.nameTable[t]===e)Te.nameTable[t]=e.name_next;else for(var n=Te.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:(e,t)=>{var n=Te.mayLookup(e);if(n)throw new Te.ErrnoError(n,e);for(var s=Te.hashName(e.id,t),i=Te.nameTable[s];i;i=i.name_next){var a=i.name;if(i.parent.id===e.id&&a===t)return i}return Te.lookup(e,t)},createNode:(e,t,n,s)=>{var i=new Te.FSNode(e,t,n,s);return Te.hashAddNode(i),i},destroyNode:e=>{Te.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagModes:{r:0,\"r+\":2,w:577,\"w+\":578,a:1089,\"a+\":1090},modeStringToFlags:e=>{var t=Te.flagModes[e];if(void 0===t)throw new Error(\"Unknown file open mode: \"+e);return t},flagsToPermissionString:e=>{var t=[\"r\",\"w\",\"rw\"][3&e];return 512&e&&(t+=\"w\"),t},nodePermissions:(e,t)=>Te.ignorePermissions||(!t.includes(\"r\")||292&e.mode)&&(!t.includes(\"w\")||146&e.mode)&&(!t.includes(\"x\")||73&e.mode)?0:2,mayLookup:e=>Te.nodePermissions(e,\"x\")||(e.node_ops.lookup?0:2),mayCreate:(e,t)=>{try{return Te.lookupNode(e,t),20}catch(e){}return Te.nodePermissions(e,\"wx\")},mayDelete:(e,t,n)=>{var s;try{s=Te.lookupNode(e,t)}catch(e){return e.errno}var i=Te.nodePermissions(e,\"wx\");if(i)return i;if(n){if(!Te.isDir(s.mode))return 54;if(Te.isRoot(s)||Te.getPath(s)===Te.cwd())return 10}else if(Te.isDir(s.mode))return 31;return 0},mayOpen:(e,t)=>e?Te.isLink(e.mode)?32:Te.isDir(e.mode)&&(\"r\"!==Te.flagsToPermissionString(t)||512&t)?31:Te.nodePermissions(e,Te.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,t=Te.MAX_OPEN_FDS)=>{for(var n=e;n<=t;n++)if(!Te.streams[n])return n;throw new Te.ErrnoError(33)},getStream:e=>Te.streams[e],createStream:(e,t,n)=>{Te.FSStream||(Te.FSStream=function(){this.shared={}},Te.FSStream.prototype={},Object.defineProperties(Te.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new Te.FSStream,e);var s=Te.nextfd(t,n);return e.fd=s,Te.streams[s]=e,e},closeStream:e=>{Te.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=Te.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new Te.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{Te.devices[e]={stream_ops:t}},getDevice:e=>Te.devices[e],getMounts:e=>{for(var t=[],n=[e];n.length;){var s=n.pop();t.push(s),n.push.apply(n,s.mounts)}return t},syncfs:(e,t)=>{\"function\"==typeof e&&(t=e,e=!1),Te.syncFSRequests++,Te.syncFSRequests>1&&N(\"warning: \"+Te.syncFSRequests+\" FS.syncfs operations in flight at once, probably just doing extra work\");var n=Te.getMounts(Te.root.mount),s=0;function i(e){return Te.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,i(e));++s>=n.length&&i(null)}n.forEach((t=>{if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)}))},mount:(e,t,n)=>{var s,i=\"/\"===n,a=!n;if(i&&Te.root)throw new Te.ErrnoError(10);if(!i&&!a){var l=Te.lookupPath(n,{follow_mount:!1});if(n=l.path,s=l.node,Te.isMountpoint(s))throw new Te.ErrnoError(10);if(!Te.isDir(s.mode))throw new Te.ErrnoError(54)}var r={type:e,opts:t,mountpoint:n,mounts:[]},o=e.mount(r);return o.mount=r,r.root=o,i?Te.root=o:s&&(s.mounted=r,s.mount&&s.mount.mounts.push(r)),o},unmount:e=>{var t=Te.lookupPath(e,{follow_mount:!1});if(!Te.isMountpoint(t.node))throw new Te.ErrnoError(28);var n=t.node,s=n.mounted,i=Te.getMounts(s);Object.keys(Te.nameTable).forEach((e=>{for(var t=Te.nameTable[e];t;){var n=t.name_next;i.includes(t.mount)&&Te.destroyNode(t),t=n}})),n.mounted=null;var a=n.mount.mounts.indexOf(s);n.mount.mounts.splice(a,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,n)=>{var s=Te.lookupPath(e,{parent:!0}).node,i=fe.basename(e);if(!i||\".\"===i||\"..\"===i)throw new Te.ErrnoError(28);var a=Te.mayCreate(s,i);if(a)throw new Te.ErrnoError(a);if(!s.node_ops.mknod)throw new Te.ErrnoError(63);return s.node_ops.mknod(s,i,t,n)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Te.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Te.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var n=e.split(\"/\"),s=\"\",i=0;i(void 0===n&&(n=t,t=438),t|=8192,Te.mknod(e,t,n)),symlink:(e,t)=>{if(!Ie.resolve(e))throw new Te.ErrnoError(44);var n=Te.lookupPath(t,{parent:!0}).node;if(!n)throw new Te.ErrnoError(44);var s=fe.basename(t),i=Te.mayCreate(n,s);if(i)throw new Te.ErrnoError(i);if(!n.node_ops.symlink)throw new Te.ErrnoError(63);return n.node_ops.symlink(n,s,e)},rename:(e,t)=>{var n,s,i=fe.dirname(e),a=fe.dirname(t),l=fe.basename(e),r=fe.basename(t);if(n=Te.lookupPath(e,{parent:!0}).node,s=Te.lookupPath(t,{parent:!0}).node,!n||!s)throw new Te.ErrnoError(44);if(n.mount!==s.mount)throw new Te.ErrnoError(75);var o,c=Te.lookupNode(n,l),u=Ie.relative(e,a);if(\".\"!==u.charAt(0))throw new Te.ErrnoError(28);if(\".\"!==(u=Ie.relative(t,i)).charAt(0))throw new Te.ErrnoError(55);try{o=Te.lookupNode(s,r)}catch(e){}if(c!==o){var p=Te.isDir(c.mode),h=Te.mayDelete(n,l,p);if(h)throw new Te.ErrnoError(h);if(h=o?Te.mayDelete(s,r,p):Te.mayCreate(s,r))throw new Te.ErrnoError(h);if(!n.node_ops.rename)throw new Te.ErrnoError(63);if(Te.isMountpoint(c)||o&&Te.isMountpoint(o))throw new Te.ErrnoError(10);if(s!==n&&(h=Te.nodePermissions(n,\"w\")))throw new Te.ErrnoError(h);Te.hashRemoveNode(c);try{n.node_ops.rename(c,s,r)}catch(e){throw e}finally{Te.hashAddNode(c)}}},rmdir:e=>{var t=Te.lookupPath(e,{parent:!0}).node,n=fe.basename(e),s=Te.lookupNode(t,n),i=Te.mayDelete(t,n,!0);if(i)throw new Te.ErrnoError(i);if(!t.node_ops.rmdir)throw new Te.ErrnoError(63);if(Te.isMountpoint(s))throw new Te.ErrnoError(10);t.node_ops.rmdir(t,n),Te.destroyNode(s)},readdir:e=>{var t=Te.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Te.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=Te.lookupPath(e,{parent:!0}).node;if(!t)throw new Te.ErrnoError(44);var n=fe.basename(e),s=Te.lookupNode(t,n),i=Te.mayDelete(t,n,!1);if(i)throw new Te.ErrnoError(i);if(!t.node_ops.unlink)throw new Te.ErrnoError(63);if(Te.isMountpoint(s))throw new Te.ErrnoError(10);t.node_ops.unlink(t,n),Te.destroyNode(s)},readlink:e=>{var t=Te.lookupPath(e).node;if(!t)throw new Te.ErrnoError(44);if(!t.node_ops.readlink)throw new Te.ErrnoError(28);return Ie.resolve(Te.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var n=Te.lookupPath(e,{follow:!t}).node;if(!n)throw new Te.ErrnoError(44);if(!n.node_ops.getattr)throw new Te.ErrnoError(63);return n.node_ops.getattr(n)},lstat:e=>Te.stat(e,!0),chmod:(e,t,n)=>{var s;if(!(s=\"string\"==typeof e?Te.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);s.node_ops.setattr(s,{mode:4095&t|-4096&s.mode,timestamp:Date.now()})},lchmod:(e,t)=>{Te.chmod(e,t,!0)},fchmod:(e,t)=>{var n=Te.getStream(e);if(!n)throw new Te.ErrnoError(8);Te.chmod(n.node,t)},chown:(e,t,n,s)=>{var i;if(!(i=\"string\"==typeof e?Te.lookupPath(e,{follow:!s}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);i.node_ops.setattr(i,{timestamp:Date.now()})},lchown:(e,t,n)=>{Te.chown(e,t,n,!0)},fchown:(e,t,n)=>{var s=Te.getStream(e);if(!s)throw new Te.ErrnoError(8);Te.chown(s.node,t,n)},truncate:(e,t)=>{if(t<0)throw new Te.ErrnoError(28);var n;if(!(n=\"string\"==typeof e?Te.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);if(Te.isDir(n.mode))throw new Te.ErrnoError(31);if(!Te.isFile(n.mode))throw new Te.ErrnoError(28);var s=Te.nodePermissions(n,\"w\");if(s)throw new Te.ErrnoError(s);n.node_ops.setattr(n,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var n=Te.getStream(e);if(!n)throw new Te.ErrnoError(8);if(0==(2097155&n.flags))throw new Te.ErrnoError(28);Te.truncate(n.node,t)},utime:(e,t,n)=>{var s=Te.lookupPath(e,{follow:!0}).node;s.node_ops.setattr(s,{timestamp:Math.max(t,n)})},open:(e,t,n)=>{if(\"\"===e)throw new Te.ErrnoError(44);var s;if(n=void 0===n?438:n,n=64&(t=\"string\"==typeof t?Te.modeStringToFlags(t):t)?4095&n|32768:0,\"object\"==typeof e)s=e;else{e=fe.normalize(e);try{s=Te.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var i=!1;if(64&t)if(s){if(128&t)throw new Te.ErrnoError(20)}else s=Te.mknod(e,n,0),i=!0;if(!s)throw new Te.ErrnoError(44);if(Te.isChrdev(s.mode)&&(t&=-513),65536&t&&!Te.isDir(s.mode))throw new Te.ErrnoError(54);if(!i){var a=Te.mayOpen(s,t);if(a)throw new Te.ErrnoError(a)}512&t&&!i&&Te.truncate(s,0),t&=-131713;var l=Te.createStream({node:s,path:Te.getPath(s),flags:t,seekable:!0,position:0,stream_ops:s.stream_ops,ungotten:[],error:!1});return l.stream_ops.open&&l.stream_ops.open(l),!h.logReadFiles||1&t||(Te.readFiles||(Te.readFiles={}),e in Te.readFiles||(Te.readFiles[e]=1)),l},close:e=>{if(Te.isClosed(e))throw new Te.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Te.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,n)=>{if(Te.isClosed(e))throw new Te.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Te.ErrnoError(70);if(0!=n&&1!=n&&2!=n)throw new Te.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,n),e.ungotten=[],e.position},read:(e,t,n,s,i)=>{if(n>>>=0,s<0||i<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(1==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.read)throw new Te.ErrnoError(28);var a=void 0!==i;if(a){if(!e.seekable)throw new Te.ErrnoError(70)}else i=e.position;var l=e.stream_ops.read(e,t,n,s,i);return a||(e.position+=l),l},write:(e,t,n,s,i,a)=>{if(n>>>=0,s<0||i<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.write)throw new Te.ErrnoError(28);e.seekable&&1024&e.flags&&Te.llseek(e,0,2);var l=void 0!==i;if(l){if(!e.seekable)throw new Te.ErrnoError(70)}else i=e.position;var r=e.stream_ops.write(e,t,n,s,i,a);return l||(e.position+=r),r},allocate:(e,t,n)=>{if(Te.isClosed(e))throw new Te.ErrnoError(8);if(t<0||n<=0)throw new Te.ErrnoError(28);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(!Te.isFile(e.node.mode)&&!Te.isDir(e.node.mode))throw new Te.ErrnoError(43);if(!e.stream_ops.allocate)throw new Te.ErrnoError(138);e.stream_ops.allocate(e,t,n)},mmap:(e,t,n,s,i)=>{if(0!=(2&s)&&0==(2&i)&&2!=(2097155&e.flags))throw new Te.ErrnoError(2);if(1==(2097155&e.flags))throw new Te.ErrnoError(2);if(!e.stream_ops.mmap)throw new Te.ErrnoError(43);return e.stream_ops.mmap(e,t,n,s,i)},msync:(e,t,n,s,i)=>(n>>>=0,e.stream_ops.msync?e.stream_ops.msync(e,t,n,s,i):0),munmap:e=>0,ioctl:(e,t,n)=>{if(!e.stream_ops.ioctl)throw new Te.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile:(e,t={})=>{if(t.flags=t.flags||0,t.encoding=t.encoding||\"binary\",\"utf8\"!==t.encoding&&\"binary\"!==t.encoding)throw new Error('Invalid encoding type \"'+t.encoding+'\"');var n,s=Te.open(e,t.flags),i=Te.stat(e).size,a=new Uint8Array(i);return Te.read(s,a,0,i,0),\"utf8\"===t.encoding?n=j(a,0):\"binary\"===t.encoding&&(n=a),Te.close(s),n},writeFile:(e,t,n={})=>{n.flags=n.flags||577;var s=Te.open(e,n.flags,n.mode);if(\"string\"==typeof t){var i=new Uint8Array(k(t)+1),a=W(t,i,0,i.length);Te.write(s,i,0,a,void 0,n.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error(\"Unsupported data type\");Te.write(s,t,0,t.byteLength,void 0,n.canOwn)}Te.close(s)},cwd:()=>Te.currentPath,chdir:e=>{var t=Te.lookupPath(e,{follow:!0});if(null===t.node)throw new Te.ErrnoError(44);if(!Te.isDir(t.node.mode))throw new Te.ErrnoError(54);var n=Te.nodePermissions(t.node,\"x\");if(n)throw new Te.ErrnoError(n);Te.currentPath=t.path},createDefaultDirectories:()=>{Te.mkdir(\"/tmp\"),Te.mkdir(\"/home\"),Te.mkdir(\"/home/web_user\")},createDefaultDevices:()=>{Te.mkdir(\"/dev\"),Te.registerDevice(Te.makedev(1,3),{read:()=>0,write:(e,t,n,s,i)=>s}),Te.mkdev(\"/dev/null\",Te.makedev(1,3)),ye.register(Te.makedev(5,0),ye.default_tty_ops),ye.register(Te.makedev(6,0),ye.default_tty1_ops),Te.mkdev(\"/dev/tty\",Te.makedev(5,0)),Te.mkdev(\"/dev/tty1\",Te.makedev(6,0));var e=function(){if(\"object\"==typeof crypto&&\"function\"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}return()=>le(\"randomDevice\")}();Te.createDevice(\"/dev\",\"random\",e),Te.createDevice(\"/dev\",\"urandom\",e),Te.mkdir(\"/dev/shm\"),Te.mkdir(\"/dev/shm/tmp\")},createSpecialDirectories:()=>{Te.mkdir(\"/proc\");var e=Te.mkdir(\"/proc/self\");Te.mkdir(\"/proc/self/fd\"),Te.mount({mount:()=>{var t=Te.createNode(e,\"fd\",16895,73);return t.node_ops={lookup:(e,t)=>{var n=+t,s=Te.getStream(n);if(!s)throw new Te.ErrnoError(8);var i={parent:null,mount:{mountpoint:\"fake\"},node_ops:{readlink:()=>s.path}};return i.parent=i,i}},t}},{},\"/proc/self/fd\")},createStandardStreams:()=>{h.stdin?Te.createDevice(\"/dev\",\"stdin\",h.stdin):Te.symlink(\"/dev/tty\",\"/dev/stdin\"),h.stdout?Te.createDevice(\"/dev\",\"stdout\",null,h.stdout):Te.symlink(\"/dev/tty\",\"/dev/stdout\"),h.stderr?Te.createDevice(\"/dev\",\"stderr\",null,h.stderr):Te.symlink(\"/dev/tty1\",\"/dev/stderr\"),Te.open(\"/dev/stdin\",0),Te.open(\"/dev/stdout\",1),Te.open(\"/dev/stderr\",1)},ensureErrnoError:()=>{Te.ErrnoError||(Te.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message=\"FS error\"},Te.ErrnoError.prototype=new Error,Te.ErrnoError.prototype.constructor=Te.ErrnoError,[44].forEach((e=>{Te.genericErrors[e]=new Te.ErrnoError(e),Te.genericErrors[e].stack=\"\"})))},staticInit:()=>{Te.ensureErrnoError(),Te.nameTable=new Array(4096),Te.mount(we,{},\"/\"),Te.createDefaultDirectories(),Te.createDefaultDevices(),Te.createSpecialDirectories(),Te.filesystems={MEMFS:we}},init:(e,t,n)=>{Te.init.initialized=!0,Te.ensureErrnoError(),h.stdin=e||h.stdin,h.stdout=t||h.stdout,h.stderr=n||h.stderr,Te.createStandardStreams()},quit:()=>{Te.init.initialized=!1;for(var e=0;e{var n=0;return e&&(n|=365),t&&(n|=146),n},findObject:(e,t)=>{var n=Te.analyzePath(e,t);return n.exists?n.object:null},analyzePath:(e,t)=>{try{e=(s=Te.lookupPath(e,{follow:!t})).path}catch(e){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var s=Te.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=s.path,n.parentObject=s.node,n.name=fe.basename(e),s=Te.lookupPath(e,{follow:!t}),n.exists=!0,n.path=s.path,n.object=s.node,n.name=s.node.name,n.isRoot=\"/\"===s.path}catch(e){n.error=e.errno}return n},createPath:(e,t,n,s)=>{e=\"string\"==typeof e?e:Te.getPath(e);for(var i=t.split(\"/\").reverse();i.length;){var a=i.pop();if(a){var l=fe.join2(e,a);try{Te.mkdir(l)}catch(e){}e=l}}return l},createFile:(e,t,n,s,i)=>{var a=fe.join2(\"string\"==typeof e?e:Te.getPath(e),t),l=Te.getMode(s,i);return Te.create(a,l)},createDataFile:(e,t,n,s,i,a)=>{var l=t;e&&(e=\"string\"==typeof e?e:Te.getPath(e),l=t?fe.join2(e,t):e);var r=Te.getMode(s,i),o=Te.create(l,r);if(n){if(\"string\"==typeof n){for(var c=new Array(n.length),u=0,p=n.length;u{var i=fe.join2(\"string\"==typeof e?e:Te.getPath(e),t),a=Te.getMode(!!n,!!s);Te.createDevice.major||(Te.createDevice.major=64);var l=Te.makedev(Te.createDevice.major++,0);return Te.registerDevice(l,{open:e=>{e.seekable=!1},close:e=>{s&&s.buffer&&s.buffer.length&&s(10)},read:(e,t,s,i,a)=>{for(var l=0,r=0;r{for(var l=0;l{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(\"undefined\"!=typeof XMLHttpRequest)throw new Error(\"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.\");if(!d)throw new Error(\"Cannot load without read() or XMLHttpRequest.\");try{e.contents=me(d(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new Te.ErrnoError(29)}},createLazyFile:(e,n,s,i,a)=>{function l(){this.lengthKnown=!1,this.chunks=[]}if(l.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}},l.prototype.setDataGetter=function(e){this.getter=e},l.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open(\"HEAD\",s,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error(\"Couldn't load \"+s+\". Status: \"+e.status);var t,n=Number(e.getResponseHeader(\"Content-length\")),i=(t=e.getResponseHeader(\"Accept-Ranges\"))&&\"bytes\"===t,a=(t=e.getResponseHeader(\"Content-Encoding\"))&&\"gzip\"===t,l=1048576;i||(l=n);var r=this;r.setDataGetter((e=>{var t=e*l,i=(e+1)*l-1;if(i=Math.min(i,n-1),void 0===r.chunks[e]&&(r.chunks[e]=((e,t)=>{if(e>t)throw new Error(\"invalid range (\"+e+\", \"+t+\") or no bytes requested!\");if(t>n-1)throw new Error(\"only \"+n+\" bytes available! programmer error!\");var i=new XMLHttpRequest;if(i.open(\"GET\",s,!1),n!==l&&i.setRequestHeader(\"Range\",\"bytes=\"+e+\"-\"+t),i.responseType=\"arraybuffer\",i.overrideMimeType&&i.overrideMimeType(\"text/plain; charset=x-user-defined\"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error(\"Couldn't load \"+s+\". Status: \"+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):me(i.responseText||\"\",!0)})(t,i)),void 0===r.chunks[e])throw new Error(\"doXHR failed!\");return r.chunks[e]})),!a&&n||(l=n=1,n=this.getter(0).length,l=n,b(\"LazyFiles on gzip forces download of the whole file when length is accessed\")),this._length=n,this._chunkSize=l,this.lengthKnown=!0},\"undefined\"!=typeof XMLHttpRequest){if(!T)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";var r=new l;Object.defineProperties(r,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var o={isDevice:!1,contents:r}}else o={isDevice:!1,url:s};var c=Te.createFile(e,n,o,i,a);o.contents?c.contents=o.contents:o.url&&(c.contents=null,c.url=o.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var u={};function p(e,t,n,s,i){var a=e.node.contents;if(i>=a.length)return 0;var l=Math.min(a.length-i,s);if(a.slice)for(var r=0;r{var t=c.stream_ops[e];u[e]=function(){return Te.forceLoadFile(c),t.apply(null,arguments)}})),u.read=(e,t,n,s,i)=>(Te.forceLoadFile(c),p(e,t,n,s,i)),u.mmap=(e,n,s,i,a)=>{Te.forceLoadFile(c);var l=ve();if(!l)throw new Te.ErrnoError(48);return p(e,t(),l,n,s),{ptr:l,allocated:!0}},c.stream_ops=u,c},createPreloadedFile:(e,t,n,s,i,a,l,r,o,c)=>{var u=t?Ie.resolve(fe.join2(e,t)):e;function p(n){function p(n){c&&c(),r||Te.createDataFile(e,t,n,s,i,o),a&&a(),ae()}Browser.handledByPreloadPlugin(n,u,p,(()=>{l&&l(),ae()}))||p(n)}ie(),\"string\"==typeof n?function(e,t,n,s){var i=\"al \"+e;f(e,(t=>{P(t,'Loading data file \"'+e+'\" failed (no arrayBuffer).'),p(new Uint8Array(t)),i&&ae()}),(t=>{if(!n)throw'Loading data file \"'+e+'\" failed.';n()})),i&&ie()}(n,0,l):p(n)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>\"EM_FS_\"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:\"FILE_DATA\",saveFilesToDB:(e,t=(()=>{}),n=(()=>{}))=>{var s=Te.indexedDB();try{var i=s.open(Te.DB_NAME(),Te.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=()=>{b(\"creating db\"),i.result.createObjectStore(Te.DB_STORE_NAME)},i.onsuccess=()=>{var s=i.result.transaction([Te.DB_STORE_NAME],\"readwrite\"),a=s.objectStore(Te.DB_STORE_NAME),l=0,r=0,o=e.length;function c(){0==r?t():n()}e.forEach((e=>{var t=a.put(Te.analyzePath(e).object.contents,e);t.onsuccess=()=>{++l+r==o&&c()},t.onerror=()=>{r++,l+r==o&&c()}})),s.onerror=n},i.onerror=n},loadFilesFromDB:(e,t=(()=>{}),n=(()=>{}))=>{var s=Te.indexedDB();try{var i=s.open(Te.DB_NAME(),Te.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=n,i.onsuccess=()=>{var s=i.result;try{var a=s.transaction([Te.DB_STORE_NAME],\"readonly\")}catch(e){return void n(e)}var l=a.objectStore(Te.DB_STORE_NAME),r=0,o=0,c=e.length;function u(){0==o?t():n()}e.forEach((e=>{var t=l.get(e);t.onsuccess=()=>{Te.analyzePath(e).exists&&Te.unlink(e),Te.createDataFile(fe.dirname(e),fe.basename(e),t.result,!0,!0,!0),++r+o==c&&u()},t.onerror=()=>{o++,r+o==c&&u()}})),a.onerror=n},i.onerror=n}},Ee={DEFAULT_POLLMASK:5,calculateAt:function(e,t,n){if(fe.isAbs(t))return t;var s;if(s=-100===e?Te.cwd():Ee.getStreamFromFD(e).path,0==t.length){if(!n)throw new Te.ErrnoError(44);return s}return fe.join2(s,t)},doStat:function(e,t,n){try{var s=e(t)}catch(e){if(e&&e.node&&fe.normalize(t)!==fe.normalize(Te.getPath(e.node)))return-54;throw e}l()[n>>>2]=s.dev,l()[n+8>>>2]=s.ino,l()[n+12>>>2]=s.mode,r()[n+16>>>2]=s.nlink,l()[n+20>>>2]=s.uid,l()[n+24>>>2]=s.gid,l()[n+28>>>2]=s.rdev,ce=[s.size>>>0,(oe=s.size,+Math.abs(oe)>=1?oe>0?(0|Math.min(+Math.floor(oe/4294967296),4294967295))>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],l()[n+40>>>2]=ce[0],l()[n+44>>>2]=ce[1],l()[n+48>>>2]=4096,l()[n+52>>>2]=s.blocks;var i=s.atime.getTime(),a=s.mtime.getTime(),o=s.ctime.getTime();return ce=[Math.floor(i/1e3)>>>0,(oe=Math.floor(i/1e3),+Math.abs(oe)>=1?oe>0?(0|Math.min(+Math.floor(oe/4294967296),4294967295))>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],l()[n+56>>>2]=ce[0],l()[n+60>>>2]=ce[1],r()[n+64>>>2]=i%1e3*1e3,ce=[Math.floor(a/1e3)>>>0,(oe=Math.floor(a/1e3),+Math.abs(oe)>=1?oe>0?(0|Math.min(+Math.floor(oe/4294967296),4294967295))>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],l()[n+72>>>2]=ce[0],l()[n+76>>>2]=ce[1],r()[n+80>>>2]=a%1e3*1e3,ce=[Math.floor(o/1e3)>>>0,(oe=Math.floor(o/1e3),+Math.abs(oe)>=1?oe>0?(0|Math.min(+Math.floor(oe/4294967296),4294967295))>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],l()[n+88>>>2]=ce[0],l()[n+92>>>2]=ce[1],r()[n+96>>>2]=o%1e3*1e3,ce=[s.ino>>>0,(oe=s.ino,+Math.abs(oe)>=1?oe>0?(0|Math.min(+Math.floor(oe/4294967296),4294967295))>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],l()[n+104>>>2]=ce[0],l()[n+108>>>2]=ce[1],0},doMsync:function(e,t,n,i,a){if(!Te.isFile(t.node.mode))throw new Te.ErrnoError(43);if(2&i)return 0;e>>>=0;var l=s().slice(e,e+n);Te.msync(t,l,a,n,i)},varargs:void 0,get:function(){return Ee.varargs+=4,l()[Ee.varargs-4>>>2]},getStr:function(e){return z(e)},getStreamFromFD:function(e){var t=Te.getStream(e);if(!t)throw new Te.ErrnoError(8);return t}};function ge(e){if(g)return Xt(1,1,e);C=e,$()||(De.terminateAllThreads(),h.onExit&&h.onExit(e),L=!0),v(e,new he(e))}var Re=function(e,t){if(C=e,!t&&g)throw be(e),\"unwind\";ge(e)},De={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){g?De.initWorker():De.initMainThread()},initMainThread:function(){for(var e=navigator.hardwareConcurrency;e--;)De.allocateUnusedWorker()},initWorker:function(){x=!1},setExitStatus:function(e){C=e},terminateAllThreads:function(){for(var e of Object.values(De.pthreads))De.returnWorkerToPool(e);for(var e of De.unusedWorkers)e.terminate();De.unusedWorkers=[]},returnWorkerToPool:function(e){var t=e.pthread_ptr;delete De.pthreads[t],De.unusedWorkers.push(e),De.runningWorkers.splice(De.runningWorkers.indexOf(e),1),e.pthread_ptr=0,wn(t)},receiveObjectTransfer:function(e){},threadInitTLS:function(){De.tlsInitFunctions.forEach((e=>e()))},loadWasmModuleToWorker:e=>new Promise((t=>{e.onmessage=n=>{var s,i=n.data,a=i.cmd;if(e.pthread_ptr&&(De.currentProxiedOperationCallerThread=e.pthread_ptr),i.targetThread&&i.targetThread!=fn()){var l=De.pthreads[i.targetThread];return l?l.postMessage(i,i.transferList):N('Internal error! Worker sent a message \"'+a+'\" to target pthread '+i.targetThread+\", but that thread no longer exists!\"),void(De.currentProxiedOperationCallerThread=void 0)}\"processProxyingQueue\"===a?Vt(i.queue):\"spawnThread\"===a?function(e){var t=De.getNewWorker();if(!t)return 6;De.runningWorkers.push(t),De.pthreads[e.pthread_ptr]=t,t.pthread_ptr=e.pthread_ptr;var n={cmd:\"run\",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};t.postMessage(n,e.transferList)}(i):\"cleanupThread\"===a?de(i.thread):\"killThread\"===a?function(e){var t=De.pthreads[e];delete De.pthreads[e],t.terminate(),wn(e),De.runningWorkers.splice(De.runningWorkers.indexOf(t),1),t.pthread_ptr=0}(i.thread):\"cancelThread\"===a?(s=i.thread,De.pthreads[s].postMessage({cmd:\"cancel\"})):\"loaded\"===a?(e.loaded=!0,t(e)):\"print\"===a?b(\"Thread \"+i.threadId+\": \"+i.text):\"printErr\"===a?N(\"Thread \"+i.threadId+\": \"+i.text):\"alert\"===a?alert(\"Thread \"+i.threadId+\": \"+i.text):\"setimmediate\"===i.target?e.postMessage(i):\"callHandler\"===a?h[i.handler](...i.args):a&&N(\"worker sent an unknown command \"+a),De.currentProxiedOperationCallerThread=void 0},e.onerror=e=>{throw N(\"worker sent an error! \"+e.filename+\":\"+e.lineno+\": \"+e.message),e};var s=[];for(var i of[\"onExit\",\"onAbort\",\"print\",\"printErr\"])h.hasOwnProperty(i)&&s.push(i);e.postMessage({cmd:\"load\",handlers:s,urlOrBlob:h.mainScriptUrlOrBlob||n,wasmMemory:O,wasmModule:A})})),loadWasmModuleToAllWorkers:function(e){if(g)return e();Promise.all(De.unusedWorkers.map(De.loadWasmModuleToWorker)).then(e)},allocateUnusedWorker:function(){var e,t=D(\"web-ifc-mt.worker.js\");e=new Worker(t),De.unusedWorkers.push(e)},getNewWorker:function(){return 0==De.unusedWorkers.length&&(De.allocateUnusedWorker(),De.loadWasmModuleToWorker(De.unusedWorkers[0])),De.unusedWorkers.pop()}};function Se(e){for(;e.length>0;)e.shift()(h)}function be(e){if(g)return Xt(2,0,e);try{Re(e)}catch(e){!function(e){if(e instanceof he||\"unwind\"==e)return C;v(1,e)}(e)}}h.PThread=De,h.establishStackSpace=function(){var e=fn(),t=l()[e+52>>>2],n=l()[e+56>>>2];gn(t,t-n),Dn(t)};var Ne=[];function Oe(e){var t=Ne[e];return t||(e>=Ne.length&&(Ne.length=e+1),Ne[e]=t=X.get(e)),t}function Ae(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){r()[this.ptr+4>>>2]=e},this.get_type=function(){return r()[this.ptr+4>>>2]},this.set_destructor=function(e){r()[this.ptr+8>>>2]=e},this.get_destructor=function(){return r()[this.ptr+8>>>2]},this.set_refcount=function(e){l()[this.ptr>>>2]=e},this.set_caught=function(e){e=e?1:0,t()[this.ptr+12>>>0]=e},this.get_caught=function(){return 0!=t()[this.ptr+12>>>0]},this.set_rethrown=function(e){e=e?1:0,t()[this.ptr+13>>>0]=e},this.get_rethrown=function(){return 0!=t()[this.ptr+13>>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){Atomics.add(l(),this.ptr+0>>2,1)},this.release_ref=function(){return 1===Atomics.sub(l(),this.ptr+0>>2,1)},this.set_adjusted_ptr=function(e){r()[this.ptr+16>>>2]=e},this.get_adjusted_ptr=function(){return r()[this.ptr+16>>>2]},this.get_exception_ptr=function(){if(bn(this.get_type()))return r()[this.excPtr>>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}h.invokeEntryPoint=function(e,t){var n=Oe(e)(t);$()?De.setExitStatus(n):Tn(n)};var xe=\"To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking\",Ce={};function Le(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function Pe(e){return this.fromWireType(l()[e>>>2])}var qe={},_e={},Me={},He=48,Be=57;function Ue(e){if(void 0===e)return\"_unknown\";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,\"$\")).charCodeAt(0);return t>=He&&t<=Be?\"_\"+e:e}function Fe(e,t){return e=Ue(e),new Function(\"body\",\"return function \"+e+'() {\\n \"use strict\"; return body.apply(this, arguments);\\n};\\n')(t)}function Ge(e,t){var n=Fe(t,(function(e){this.name=t,this.message=e;var n=new Error(e).stack;void 0!==n&&(this.stack=this.toString()+\"\\n\"+n.replace(/^Error(:[^\\n]*)?\\n/,\"\"))}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+\": \"+this.message},n}var Ve=void 0;function je(e){throw new Ve(e)}function ze(e,t,n){function s(t){var s=n(t);s.length!==e.length&&je(\"Mismatched type converter count\");for(var i=0;i{_e.hasOwnProperty(e)?i[t]=_e[e]:(a.push(e),qe.hasOwnProperty(e)||(qe[e]=[]),qe[e].push((()=>{i[t]=_e[e],++l===a.length&&s(i)})))})),0===a.length&&s(i)}var We={};function ke(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(\"Unknown type size: \"+e)}}var Ye=void 0;function Xe(e){for(var t=\"\",n=e;s()[n>>>0];)t+=Ye[s()[n++>>>0]];return t}var Ke=void 0;function Ze(e){throw new Ke(e)}function Qe(e,t,n={}){if(!(\"argPackAdvance\"in t))throw new TypeError(\"registerType registeredInstance requires argPackAdvance\");var s=t.name;if(e||Ze('type \"'+s+'\" must have a positive integer typeid pointer'),_e.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;Ze(\"Cannot register type '\"+s+\"' twice\")}if(_e[e]=t,delete Me[e],qe.hasOwnProperty(e)){var i=qe[e];delete qe[e],i.forEach((e=>e()))}}function Je(e){Ze(e.$$.ptrType.registeredClass.name+\" instance already deleted\")}var $e=!1;function et(e){}function tt(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function nt(e,t,n){if(t===n)return e;if(void 0===n.baseClass)return null;var s=nt(e,t,n.baseClass);return null===s?null:n.downcast(s)}var st={};var it=[];function at(){for(;it.length;){var e=it.pop();e.$$.deleteScheduled=!1,e.delete()}}var lt=void 0;var rt={};function ot(e,t){return t.ptrType&&t.ptr||je(\"makeClassHandle requires ptr and ptrType\"),!!t.smartPtrType!=!!t.smartPtr&&je(\"Both smartPtrType and smartPtr must be specified\"),t.count={value:1},ct(Object.create(e,{$$:{value:t}}))}function ct(e){return\"undefined\"==typeof FinalizationRegistry?(ct=e=>e,e):($e=new FinalizationRegistry((e=>{tt(e.$$)})),et=e=>$e.unregister(e),(ct=e=>{var t=e.$$;if(t.smartPtr){var n={$$:t};$e.register(e,n,e)}return e})(e))}function ut(){}function pt(e,t,n){if(void 0===e[t].overloadTable){var s=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Ze(\"Function '\"+n+\"' called with an invalid number of arguments (\"+arguments.length+\") - expects one of (\"+e[t].overloadTable+\")!\"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[s.argCount]=s}}function ht(e,t,n){h.hasOwnProperty(e)?((void 0===n||void 0!==h[e].overloadTable&&void 0!==h[e].overloadTable[n])&&Ze(\"Cannot register public name '\"+e+\"' twice\"),pt(h,e,e),h.hasOwnProperty(n)&&Ze(\"Cannot register multiple overloads of a function with the same number of arguments (\"+n+\")!\"),h[e].overloadTable[n]=t):(h[e]=t,void 0!==n&&(h[e].numArguments=n))}function dt(e,t,n,s,i,a,l,r){this.name=e,this.constructor=t,this.instancePrototype=n,this.rawDestructor=s,this.baseClass=i,this.getActualType=a,this.upcast=l,this.downcast=r,this.pureVirtualFunctions=[]}function ft(e,t,n){for(;t!==n;)t.upcast||Ze(\"Expected null or instance of \"+n.name+\", got an instance of \"+t.name),e=t.upcast(e),t=t.baseClass;return e}function It(e,t){if(null===t)return this.isReference&&Ze(\"null is not a valid \"+this.name),0;t.$$||Ze('Cannot pass \"'+Lt(t)+'\" as a '+this.name),t.$$.ptr||Ze(\"Cannot pass deleted object as a pointer of type \"+this.name);var n=t.$$.ptrType.registeredClass;return ft(t.$$.ptr,n,this.registeredClass)}function mt(e,t){var n;if(null===t)return this.isReference&&Ze(\"null is not a valid \"+this.name),this.isSmartPointer?(n=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,n),n):0;t.$$||Ze('Cannot pass \"'+Lt(t)+'\" as a '+this.name),t.$$.ptr||Ze(\"Cannot pass deleted object as a pointer of type \"+this.name),!this.isConst&&t.$$.ptrType.isConst&&Ze(\"Cannot convert argument of type \"+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+\" to parameter type \"+this.name);var s=t.$$.ptrType.registeredClass;if(n=ft(t.$$.ptr,s,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Ze(\"Passing raw pointer to smart pointer is illegal\"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?n=t.$$.smartPtr:Ze(\"Cannot convert argument of type \"+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+\" to parameter type \"+this.name);break;case 1:n=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)n=t.$$.smartPtr;else{var i=t.clone();n=this.rawShare(n,At.toHandle((function(){i.delete()}))),null!==e&&e.push(this.rawDestructor,n)}break;default:Ze(\"Unsupporting sharing policy\")}return n}function yt(e,t){if(null===t)return this.isReference&&Ze(\"null is not a valid \"+this.name),0;t.$$||Ze('Cannot pass \"'+Lt(t)+'\" as a '+this.name),t.$$.ptr||Ze(\"Cannot pass deleted object as a pointer of type \"+this.name),t.$$.ptrType.isConst&&Ze(\"Cannot convert argument of type \"+t.$$.ptrType.name+\" to parameter type \"+this.name);var n=t.$$.ptrType.registeredClass;return ft(t.$$.ptr,n,this.registeredClass)}function vt(e,t,n,s,i,a,l,r,o,c,u){this.name=e,this.registeredClass=t,this.isReference=n,this.isConst=s,this.isSmartPointer=i,this.pointeeType=a,this.sharingPolicy=l,this.rawGetPointee=r,this.rawConstructor=o,this.rawShare=c,this.rawDestructor=u,i||void 0!==t.baseClass?this.toWireType=mt:s?(this.toWireType=It,this.destructorFunction=null):(this.toWireType=yt,this.destructorFunction=null)}function wt(e,t,n){h.hasOwnProperty(e)||je(\"Replacing nonexistant public symbol\"),void 0!==h[e].overloadTable&&void 0!==n?h[e].overloadTable[n]=t:(h[e]=t,h[e].argCount=n)}function Tt(e,t){var n,s,i,a=(e=Xe(e)).includes(\"j\")?(n=e,s=t,i=[],function(){return i.length=0,Object.assign(i,arguments),function(e,t,n){return e.includes(\"j\")?function(e,t,n){var s=h[\"dynCall_\"+e];return n&&n.length?s.apply(null,[t].concat(n)):s.call(null,t)}(e,t,n):Oe(t).apply(null,n)}(n,s,i)}):Oe(t);return\"function\"!=typeof a&&Ze(\"unknown function pointer with signature \"+e+\": \"+t),a}var Et=void 0;function gt(e){var t=In(e),n=Xe(t);return En(t),n}function Rt(e,t){var n=[],s={};throw t.forEach((function e(t){s[t]||_e[t]||(Me[t]?Me[t].forEach(e):(n.push(t),s[t]=!0))})),new Et(e+\": \"+n.map(gt).join([\", \"]))}function Dt(e,t){for(var n=[],s=0;s>>2]);return n}function St(e,t,n,s,i){var a=t.length;a<2&&Ze(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");for(var l=null!==t[1]&&null!==n,r=!1,o=1;o0?\", \":\"\")+p),h+=(c?\"var rv = \":\"\")+\"invoker(fn\"+(p.length>0?\", \":\"\")+p+\");\\n\",r)h+=\"runDestructors(destructors);\\n\";else for(o=l?1:2;o4&&0==--Nt[e].refcount&&(Nt[e]=void 0,bt.push(e))}var At={toValue:e=>(e||Ze(\"Cannot use deleted val. handle = \"+e),Nt[e].value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=bt.length?bt.pop():Nt.length;return Nt[t]={refcount:1,value:e},t}}};function xt(e,n,o){switch(n){case 0:return function(e){var n=o?t():s();return this.fromWireType(n[e>>>0])};case 1:return function(e){var t=o?i():a();return this.fromWireType(t[e>>>1])};case 2:return function(e){var t=o?l():r();return this.fromWireType(t[e>>>2])};default:throw new TypeError(\"Unknown integer type: \"+e)}}function Ct(e,t){var n=_e[e];return void 0===n&&Ze(t+\" has unknown type \"+gt(e)),n}function Lt(e){if(null===e)return\"null\";var t=typeof e;return\"object\"===t||\"array\"===t||\"function\"===t?e.toString():\"\"+e}function Pt(e,t){switch(t){case 2:return function(e){return this.fromWireType((O.buffer!=q.buffer&&Y(),F)[e>>>2])};case 3:return function(e){return this.fromWireType(c()[e>>>3])};default:throw new TypeError(\"Unknown float type: \"+e)}}function qt(e,n,o){switch(n){case 0:return o?function(e){return t()[e>>>0]}:function(e){return s()[e>>>0]};case 1:return o?function(e){return i()[e>>>1]}:function(e){return a()[e>>>1]};case 2:return o?function(e){return l()[e>>>2]}:function(e){return r()[e>>>2]};default:throw new TypeError(\"Unknown integer type: \"+e)}}var _t=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf-16le\"):void 0;function Mt(e,t){for(var n=e,l=n>>1,r=l+t/2;!(l>=r)&&a()[l>>>0];)++l;if((n=l<<1)-e>32&&_t)return _t.decode(s().slice(e,n));for(var o=\"\",c=0;!(c>=t/2);++c){var u=i()[e+2*c>>>1];if(0==u)break;o+=String.fromCharCode(u)}return o}function Ht(e,t,n){if(void 0===n&&(n=2147483647),n<2)return 0;for(var s=t,a=(n-=2)<2*e.length?n/2:e.length,l=0;l>>1]=r,t+=2}return i()[t>>>1]=0,t-s}function Bt(e){return 2*e.length}function Ut(e,t){for(var n=0,s=\"\";!(n>=t/4);){var i=l()[e+4*n>>>2];if(0==i)break;if(++n,i>=65536){var a=i-65536;s+=String.fromCharCode(55296|a>>10,56320|1023&a)}else s+=String.fromCharCode(i)}return s}function Ft(e,t,n){if(void 0===n&&(n=2147483647),n<4)return 0;for(var s=t>>>=0,i=s+n-4,a=0;a=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&e.charCodeAt(++a)),l()[t>>>2]=r,(t+=4)+4>i)break}return l()[t>>>2]=0,t-s}function Gt(e){for(var t=0,n=0;n=55296&&s<=57343&&++n,t+=4}return t}function Vt(e){Atomics.store(l(),e>>2,1),fn()&&vn(e),Atomics.compareExchange(l(),e>>2,1,0)}h.executeNotifiedProxyingQueue=Vt;var jt,zt={};function Wt(e){var t=zt[e];return void 0===t?Xe(e):t}function kt(){return\"object\"==typeof globalThis?globalThis:Function(\"return this\")()}function Yt(e){Yt.shown||(Yt.shown={}),Yt.shown[e]||(Yt.shown[e]=1,N(e))}function Xt(e,t){var n,s,i,a=arguments.length-2,l=arguments;return n=()=>{for(var n=a,s=Sn(8*n),i=s>>3,r=0;r>>0]=o}return yn(e,n,s,t)},s=Rn(),i=n(),Dn(s),i}jt=()=>performance.timeOrigin+performance.now();var Kt=[];function Zt(e){var t=O.buffer;try{return O.grow(e-t.byteLength+65535>>>16),Y(),1}catch(e){}}var Qt={};function Jt(){if(!Jt.strings){var e={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(\"object\"==typeof navigator&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:y||\"./this.program\"};for(var t in Qt)void 0===Qt[t]?delete e[t]:e[t]=Qt[t];var n=[];for(var t in e)n.push(t+\"=\"+e[t]);Jt.strings=n}return Jt.strings}function $t(e,n){if(g)return Xt(3,1,e,n);var s=0;return Jt().forEach((function(i,a){var l=n+s;r()[e+4*a>>>2]=l,function(e,n,s){for(var i=0;i>>0]=e.charCodeAt(i);t()[n>>>0]=0}(i,l),s+=i.length+1})),0}function en(e,t){if(g)return Xt(4,1,e,t);var n=Jt();r()[e>>>2]=n.length;var s=0;return n.forEach((function(e){s+=e.length+1})),r()[t>>>2]=s,0}function tn(e){if(g)return Xt(5,1,e);try{var t=Ee.getStreamFromFD(e);return Te.close(t),0}catch(e){if(void 0===Te||!(e instanceof Te.ErrnoError))throw e;return e.errno}}function nn(e,n,s,i){if(g)return Xt(6,1,e,n,s,i);try{var a=function(e,n,s,i){for(var a=0,l=0;l>>2],c=r()[n+4>>>2];n+=8;var u=Te.read(e,t(),o,c,i);if(u<0)return-1;if(a+=u,u>>2]=a,0}catch(e){if(void 0===Te||!(e instanceof Te.ErrnoError))throw e;return e.errno}}function sn(e,t,n,s,i){if(g)return Xt(7,1,e,t,n,s,i);try{var a=(c=n)+2097152>>>0<4194305-!!(o=t)?(o>>>0)+4294967296*c:NaN;if(isNaN(a))return 61;var r=Ee.getStreamFromFD(e);return Te.llseek(r,a,s),ce=[r.position>>>0,(oe=r.position,+Math.abs(oe)>=1?oe>0?(0|Math.min(+Math.floor(oe/4294967296),4294967295))>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],l()[i>>>2]=ce[0],l()[i+4>>>2]=ce[1],r.getdents&&0===a&&0===s&&(r.getdents=null),0}catch(e){if(void 0===Te||!(e instanceof Te.ErrnoError))throw e;return e.errno}var o,c}function an(e,n,s,i){if(g)return Xt(8,1,e,n,s,i);try{var a=function(e,n,s,i){for(var a=0,l=0;l>>2],c=r()[n+4>>>2];n+=8;var u=Te.write(e,t(),o,c,i);if(u<0)return-1;a+=u,void 0!==i&&(i+=u)}return a}(Ee.getStreamFromFD(e),n,s);return r()[i>>>2]=a,0}catch(e){if(void 0===Te||!(e instanceof Te.ErrnoError))throw e;return e.errno}}function ln(e){return e%4==0&&(e%100!=0||e%400==0)}var rn=[31,29,31,30,31,30,31,31,30,31,30,31],on=[31,28,31,30,31,30,31,31,30,31,30,31];De.init();var cn=function(e,t,n,s){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Te.nextInode++,this.name=t,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=s};Object.defineProperties(cn.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return Te.isDir(this.mode)}},isDevice:{get:function(){return Te.isChrdev(this.mode)}}}),Te.FSNode=cn,Te.staticInit(),Ve=h.InternalError=Ge(Error,\"InternalError\"),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Ye=e}(),Ke=h.BindingError=Ge(Error,\"BindingError\"),ut.prototype.isAliasOf=function(e){if(!(this instanceof ut))return!1;if(!(e instanceof ut))return!1;for(var t=this.$$.ptrType.registeredClass,n=this.$$.ptr,s=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)n=t.upcast(n),t=t.baseClass;for(;s.baseClass;)i=s.upcast(i),s=s.baseClass;return t===s&&n===i},ut.prototype.clone=function(){if(this.$$.ptr||Je(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=ct(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},ut.prototype.delete=function(){this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ze(\"Object already scheduled for deletion\"),et(this),tt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},ut.prototype.isDeleted=function(){return!this.$$.ptr},ut.prototype.deleteLater=function(){return this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ze(\"Object already scheduled for deletion\"),it.push(this),1===it.length&<&<(at),this.$$.deleteScheduled=!0,this},h.getInheritedInstanceCount=function(){return Object.keys(rt).length},h.getLiveInheritedInstances=function(){var e=[];for(var t in rt)rt.hasOwnProperty(t)&&e.push(rt[t]);return e},h.flushPendingDeletes=at,h.setDelayFunction=function(e){lt=e,it.length&<&<(at)},vt.prototype.getPointee=function(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},vt.prototype.destructor=function(e){this.rawDestructor&&this.rawDestructor(e)},vt.prototype.argPackAdvance=8,vt.prototype.readValueFromPointer=Pe,vt.prototype.deleteObject=function(e){null!==e&&e.delete()},vt.prototype.fromWireType=function(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var n=function(e,t){return t=function(e,t){for(void 0===t&&Ze(\"ptr should not be undefined\");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),rt[t]}(this.registeredClass,t);if(void 0!==n){if(0===n.$$.count.value)return n.$$.ptr=t,n.$$.smartPtr=e,n.clone();var s=n.clone();return this.destructor(e),s}function i(){return this.isSmartPointer?ot(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):ot(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,l=this.registeredClass.getActualType(t),r=st[l];if(!r)return i.call(this);a=this.isConst?r.constPointerType:r.pointerType;var o=nt(t,this.registeredClass,a.registeredClass);return null===o?i.call(this):this.isSmartPointer?ot(a.registeredClass.instancePrototype,{ptrType:a,ptr:o,smartPtrType:this,smartPtr:e}):ot(a.registeredClass.instancePrototype,{ptrType:a,ptr:o})},Et=h.UnboundTypeError=Ge(Error,\"UnboundTypeError\"),h.count_emval_handles=function(){for(var e=0,t=5;t{var i=e[n],a=t.getter,l=t.getterContext,r=e[n+s],o=t.setter,c=t.setterContext;t.read=e=>i.fromWireType(a(l,e)),t.write=(e,t)=>{var n=[];o(c,e,r.toWireType(n,t)),Le(n)}})),[{name:t.name,fromWireType:function(e){for(var t=new Array(s),i=0;ie.getterReturnType)).concat(i.map((e=>e.setterArgumentType))),(e=>{var a={};return i.forEach(((t,n)=>{var s=t.fieldName,l=e[n],r=t.getter,o=t.getterContext,c=e[n+i.length],u=t.setter,p=t.setterContext;a[s]={read:e=>l.fromWireType(r(o,e)),write:(e,t)=>{var n=[];u(p,e,c.toWireType(n,t)),Le(n)}}})),[{name:t.name,fromWireType:function(e){var t={};for(var n in a)t[n]=a[n].read(e);return s(e),t},toWireType:function(e,t){for(var i in a)if(!(i in t))throw new TypeError('Missing field: \"'+i+'\"');var l=n();for(i in a)a[i].write(l,t[i]);return null!==e&&e.push(s,l),l},argPackAdvance:8,readValueFromPointer:Pe,destructorFunction:s}]}))},I:function(e,t,n,s,i){},ca:function(e,n,s,a,r){var o=ke(s);Qe(e,{name:n=Xe(n),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?a:r},argPackAdvance:8,readValueFromPointer:function(e){var a;if(1===s)a=t();else if(2===s)a=i();else{if(4!==s)throw new TypeError(\"Unknown boolean type size: \"+n);a=l()}return this.fromWireType(a[e>>>o])},destructorFunction:null})},q:function(e,t,n,s,i,a,l,r,o,c,u,p,h){u=Xe(u),a=Tt(i,a),r&&(r=Tt(l,r)),c&&(c=Tt(o,c)),h=Tt(p,h);var d=Ue(u);ht(d,(function(){Rt(\"Cannot construct \"+u+\" due to unbound types\",[s])})),ze([e,t,n],s?[s]:[],(function(t){var n,i;t=t[0],i=s?(n=t.registeredClass).instancePrototype:ut.prototype;var l=Fe(d,(function(){if(Object.getPrototypeOf(this)!==o)throw new Ke(\"Use 'new' to construct \"+u);if(void 0===p.constructor_body)throw new Ke(u+\" has no accessible constructor\");var e=p.constructor_body[arguments.length];if(void 0===e)throw new Ke(\"Tried to invoke ctor of \"+u+\" with invalid number of parameters (\"+arguments.length+\") - expected (\"+Object.keys(p.constructor_body).toString()+\") parameters instead!\");return e.apply(this,arguments)})),o=Object.create(i,{constructor:{value:l}});l.prototype=o;var p=new dt(u,l,o,h,n,a,r,c),f=new vt(u,p,!0,!1,!1),I=new vt(u+\"*\",p,!1,!1,!1),m=new vt(u+\" const*\",p,!1,!0,!1);return st[e]={pointerType:I,constPointerType:m},wt(d,l),[f,I,m]}))},p:function(e,t,n,s,i,a){P(t>0);var l=Dt(t,n);i=Tt(s,i),ze([],[e],(function(e){var n=\"constructor \"+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Ke(\"Cannot register multiple constructors with identical number of parameters (\"+(t-1)+\") for class '\"+e.name+\"'! Overload resolution is currently only performed using the parameter count, not actual type info!\");return e.registeredClass.constructor_body[t-1]=()=>{Rt(\"Cannot construct \"+e.name+\" due to unbound types\",l)},ze([],l,(function(s){return s.splice(1,0,null),e.registeredClass.constructor_body[t-1]=St(n,s,null,i,a),[]})),[]}))},c:function(e,t,n,s,i,a,l,r){var o=Dt(n,s);t=Xe(t),a=Tt(i,a),ze([],[e],(function(e){var s=(e=e[0]).name+\".\"+t;function i(){Rt(\"Cannot call \"+s+\" due to unbound types\",o)}t.startsWith(\"@@\")&&(t=Symbol[t.substring(2)]),r&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,u=c[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===n-2?(i.argCount=n-2,i.className=e.name,c[t]=i):(pt(c,t,s),c[t].overloadTable[n-2]=i),ze([],o,(function(i){var r=St(s,i,e,a,l);return void 0===c[t].overloadTable?(r.argCount=n-2,c[t]=r):c[t].overloadTable[n-2]=r,[]})),[]}))},ba:function(e,t){Qe(e,{name:t=Xe(t),fromWireType:function(e){var t=At.toValue(e);return Ot(e),t},toWireType:function(e,t){return At.toHandle(t)},argPackAdvance:8,readValueFromPointer:Pe,destructorFunction:null})},E:function(e,t,n,s){var i=ke(n);function a(){}t=Xe(t),a.values={},Qe(e,{name:t,constructor:a,fromWireType:function(e){return this.constructor.values[e]},toWireType:function(e,t){return t.value},argPackAdvance:8,readValueFromPointer:xt(t,i,s),destructorFunction:null}),ht(t,a)},u:function(e,t,n){var s=Ct(e,\"enum\");t=Xe(t);var i=s.constructor,a=Object.create(s.constructor.prototype,{value:{value:n},constructor:{value:Fe(s.name+\"_\"+t,(function(){}))}});i.values[n]=a,i[t]=a},C:function(e,t,n){var s=ke(n);Qe(e,{name:t=Xe(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:Pt(t,s),destructorFunction:null})},d:function(e,t,n,s,i,a){var l=Dt(t,n);e=Xe(e),i=Tt(s,i),ht(e,(function(){Rt(\"Cannot call \"+e+\" due to unbound types\",l)}),t-1),ze([],l,(function(n){var s=[n[0],null].concat(n.slice(1));return wt(e,St(e,s,null,i,a),t-1),[]}))},t:function(e,t,n,s,i){t=Xe(t),-1===i&&(i=4294967295);var a=ke(n),l=e=>e;if(0===s){var r=32-8*n;l=e=>e<>>r}var o=t.includes(\"unsigned\");Qe(e,{name:t,fromWireType:l,toWireType:o?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:qt(t,a,0!==s),destructorFunction:null})},j:function(e,t,n){var s=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){e>>=2;var t=r(),n=t[e>>>0],i=t[e+1>>>0];return new s(t.buffer,i,n)}Qe(e,{name:n=Xe(n),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},D:function(e,t){var n=\"std::string\"===(t=Xe(t));Qe(e,{name:t,fromWireType:function(e){var t,i=r()[e>>>2],a=e+4;if(n)for(var l=a,o=0;o<=i;++o){var c=a+o;if(o==i||0==s()[c>>>0]){var u=z(l,c-l);void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),l=c+1}}else{var p=new Array(i);for(o=0;o>>0]);t=p.join(\"\")}return En(e),t},toWireType:function(e,t){var i;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var a=\"string\"==typeof t;a||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||Ze(\"Cannot pass non-string to std::string\"),i=n&&a?k(t):t.length;var l,o,c=dn(4+i+1),u=c+4;if(u>>>=0,r()[c>>>2]=i,n&&a)l=u,o=i+1,W(t,s(),l,o);else if(a)for(var p=0;p255&&(En(u),Ze(\"String has UTF-16 code units that do not fit in 8 bits\")),s()[u+p>>>0]=h}else for(p=0;p>>0]=t[p];return null!==e&&e.push(En,c),c},argPackAdvance:8,readValueFromPointer:Pe,destructorFunction:function(e){En(e)}})},y:function(e,t,n){var s,i,l,o,c;n=Xe(n),2===t?(s=Mt,i=Ht,o=Bt,l=()=>a(),c=1):4===t&&(s=Ut,i=Ft,o=Gt,l=()=>r(),c=2),Qe(e,{name:n,fromWireType:function(e){for(var n,i=r()[e>>>2],a=l(),o=e+4,u=0;u<=i;++u){var p=e+4+u*t;if(u==i||0==a[p>>>c]){var h=s(o,p-o);void 0===n?n=h:(n+=String.fromCharCode(0),n+=h),o=p+t}}return En(e),n},toWireType:function(e,s){\"string\"!=typeof s&&Ze(\"Cannot pass non-string to C++ string type \"+n);var a=o(s),l=dn(4+a+t);return l>>>=0,r()[l>>>2]=a>>c,i(s,l+4,a+t),null!==e&&e.push(En,l),l},argPackAdvance:8,readValueFromPointer:Pe,destructorFunction:function(e){En(e)}})},fa:function(e,t,n,s,i,a){Ce[e]={name:Xe(t),rawConstructor:Tt(n,s),rawDestructor:Tt(i,a),elements:[]}},m:function(e,t,n,s,i,a,l,r,o){Ce[e].elements.push({getterReturnType:t,getter:Tt(n,s),getterContext:i,setterArgumentType:a,setter:Tt(l,r),setterContext:o})},s:function(e,t,n,s,i,a){We[e]={name:Xe(t),rawConstructor:Tt(n,s),rawDestructor:Tt(i,a),fields:[]}},f:function(e,t,n,s,i,a,l,r,o,c){We[e].fields.push({fieldName:Xe(t),getterReturnType:n,getter:Tt(s,i),getterContext:a,setterArgumentType:l,setter:Tt(r,o),setterContext:c})},da:function(e,t){Qe(e,{isVoid:!0,name:t=Xe(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},Z:function(e){N(z(e))},W:function(e,t,n,s){if(e==t)setTimeout((()=>Vt(s)));else if(g)postMessage({targetThread:e,cmd:\"processProxyingQueue\",queue:s});else{var i=De.pthreads[e];if(!i)return;i.postMessage({cmd:\"processProxyingQueue\",queue:s})}return 1},T:function(e,t,n){return-1},l:function(e,t,n){e=At.toValue(e),t=Ct(t,\"emval::as\");var s=[],i=At.toHandle(s);return r()[n>>>2]=i,t.toWireType(s,e)},x:function(e,t,n,s){e=At.toValue(e);for(var i=function(e,t){for(var n=new Array(e),s=0;s>>2],\"parameter \"+s);return n}(t,n),a=new Array(t),l=0;l4&&(Nt[e].refcount+=1)},G:function(e,t){return(e=At.toValue(e))instanceof At.toValue(t)},z:function(e){return\"number\"==typeof(e=At.toValue(e))},F:function(e){return\"string\"==typeof(e=At.toValue(e))},ga:function(){return At.toHandle([])},g:function(e){return At.toHandle(Wt(e))},w:function(){return At.toHandle({})},k:function(e){Le(At.toValue(e)),Ot(e)},n:function(e,t,n){e=At.toValue(e),t=At.toValue(t),n=At.toValue(n),e[t]=n},e:function(e,t){var n=(e=Ct(e,\"_emval_take_value\")).readValueFromPointer(t);return At.toHandle(n)},B:function(){le(\"\")},V:function(){T||Yt(\"Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread\")},v:jt,X:function(e,t,n){s().copyWithin(e>>>0,t>>>0,t+n>>>0)},S:function(e,t,n){Kt.length=t;for(var s=n>>3,i=0;i>>0];return pn[e].apply(null,Kt)},Q:function(e){var t=s().length;if((e>>>=0)<=t)return!1;var n,i=4294901760;if(e>i)return!1;for(var a=1;a<=4;a*=2){var l=t*(1+.2/a);if(l=Math.min(l,e+100663296),Zt(Math.min(i,(n=Math.max(e,l))+(65536-n%65536)%65536)))return!0}return!1},aa:function(){throw\"unwind\"},M:$t,N:en,J:Re,O:tn,P:nn,H:sn,R:an,a:O||h.wasmMemory,L:function(e,n,s,i,a){return function(e,n,s,i){var a=l()[i+40>>>2],r={tm_sec:l()[i>>>2],tm_min:l()[i+4>>>2],tm_hour:l()[i+8>>>2],tm_mday:l()[i+12>>>2],tm_mon:l()[i+16>>>2],tm_year:l()[i+20>>>2],tm_wday:l()[i+24>>>2],tm_yday:l()[i+28>>>2],tm_isdst:l()[i+32>>>2],tm_gmtoff:l()[i+36>>>2],tm_zone:a?z(a):\"\"},o=z(s),c={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var u in c)o=o.replace(new RegExp(u,\"g\"),c[u]);var p=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],h=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function d(e,t,n){for(var s=\"number\"==typeof e?e.toString():e||\"\";s.length0?1:0}var s;return 0===(s=n(e.getFullYear()-t.getFullYear()))&&0===(s=n(e.getMonth()-t.getMonth()))&&(s=n(e.getDate()-t.getDate())),s}function m(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function y(e){var t=function(e,t){for(var n=new Date(e.getTime());t>0;){var s=ln(n.getFullYear()),i=n.getMonth(),a=(s?rn:on)[i];if(!(t>a-n.getDate()))return n.setDate(n.getDate()+t),n;t-=a-n.getDate()+1,n.setDate(1),i<11?n.setMonth(i+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n}(new Date(e.tm_year+1900,0,1),e.tm_yday),n=new Date(t.getFullYear(),0,4),s=new Date(t.getFullYear()+1,0,4),i=m(n),a=m(s);return I(i,t)<=0?I(a,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var v={\"%a\":function(e){return p[e.tm_wday].substring(0,3)},\"%A\":function(e){return p[e.tm_wday]},\"%b\":function(e){return h[e.tm_mon].substring(0,3)},\"%B\":function(e){return h[e.tm_mon]},\"%C\":function(e){return f((e.tm_year+1900)/100|0,2)},\"%d\":function(e){return f(e.tm_mday,2)},\"%e\":function(e){return d(e.tm_mday,2,\" \")},\"%g\":function(e){return y(e).toString().substring(2)},\"%G\":function(e){return y(e)},\"%H\":function(e){return f(e.tm_hour,2)},\"%I\":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),f(t,2)},\"%j\":function(e){return f(e.tm_mday+function(e,t){for(var n=0,s=0;s<=t;n+=e[s++]);return n}(ln(e.tm_year+1900)?rn:on,e.tm_mon-1),3)},\"%m\":function(e){return f(e.tm_mon+1,2)},\"%M\":function(e){return f(e.tm_min,2)},\"%n\":function(){return\"\\n\"},\"%p\":function(e){return e.tm_hour>=0&&e.tm_hour<12?\"AM\":\"PM\"},\"%S\":function(e){return f(e.tm_sec,2)},\"%t\":function(){return\"\\t\"},\"%u\":function(e){return e.tm_wday||7},\"%U\":function(e){var t=e.tm_yday+7-e.tm_wday;return f(Math.floor(t/7),2)},\"%V\":function(e){var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var n=(e.tm_wday+371-e.tm_yday)%7;4==n||3==n&&ln(e.tm_year)||(t=1)}}else{t=52;var s=(e.tm_wday+7-e.tm_yday-1)%7;(4==s||5==s&&ln(e.tm_year%400-1))&&t++}return f(t,2)},\"%w\":function(e){return e.tm_wday},\"%W\":function(e){var t=e.tm_yday+7-(e.tm_wday+6)%7;return f(Math.floor(t/7),2)},\"%y\":function(e){return(e.tm_year+1900).toString().substring(2)},\"%Y\":function(e){return e.tm_year+1900},\"%z\":function(e){var t=e.tm_gmtoff,n=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(n?\"+\":\"-\")+String(\"0000\"+t).slice(-4)},\"%Z\":function(e){return e.tm_zone},\"%%\":function(){return\"%\"}};for(var u in o=o.replace(/%%/g,\"\\0\\0\"),v)o.includes(u)&&(o=o.replace(new RegExp(u,\"g\"),v[u](r)));var w,T,E=me(o=o.replace(/\\0\\0/g,\"%\"),!1);return E.length>n?0:(w=E,T=e,t().set(w,T>>>0),E.length-1)}(e,n,s,i)}},dn=(function(){var e={a:hn};function t(e,t){var n,s,i=e.exports;h.asm=i,n=h.asm.ka,De.tlsInitFunctions.push(n),X=h.asm.ia,s=h.asm.ha,Q.unshift(s),A=t,De.loadWasmModuleToAllWorkers((()=>ae()))}function n(e){t(e.instance,e.module)}function s(t){return(S||!w&&!T||\"function\"!=typeof fetch?Promise.resolve().then((function(){return pe(re)})):fetch(re,{credentials:\"same-origin\"}).then((function(e){if(!e.ok)throw\"failed to load wasm binary file at '\"+re+\"'\";return e.arrayBuffer()})).catch((function(){return pe(re)}))).then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){N(\"failed to asynchronously prepare wasm: \"+e),le(e)}))}if(ie(),h.instantiateWasm)try{return h.instantiateWasm(e,t)}catch(e){N(\"Module.instantiateWasm callback failed with error: \"+e),p(e)}(S||\"function\"!=typeof WebAssembly.instantiateStreaming||ue(re)||\"function\"!=typeof fetch?s(n):fetch(re,{credentials:\"same-origin\"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(n,(function(e){return N(\"wasm streaming compile failed: \"+e),N(\"falling back to ArrayBuffer instantiation\"),s(n)}))}))).catch(p)}(),function(){return(dn=h.asm.ja).apply(null,arguments)}),fn=(h.__emscripten_tls_init=function(){return(h.__emscripten_tls_init=h.asm.ka).apply(null,arguments)},h._pthread_self=function(){return(fn=h._pthread_self=h.asm.la).apply(null,arguments)}),In=h.___getTypeName=function(){return(In=h.___getTypeName=h.asm.ma).apply(null,arguments)},mn=(h.__embind_initialize_bindings=function(){return(h.__embind_initialize_bindings=h.asm.na).apply(null,arguments)},h.__emscripten_thread_init=function(){return(mn=h.__emscripten_thread_init=h.asm.oa).apply(null,arguments)}),yn=(h.__emscripten_thread_crashed=function(){return(h.__emscripten_thread_crashed=h.asm.pa).apply(null,arguments)},function(){return(yn=h.asm.qa).apply(null,arguments)}),vn=h.__emscripten_proxy_execute_task_queue=function(){return(vn=h.__emscripten_proxy_execute_task_queue=h.asm.ra).apply(null,arguments)},wn=function(){return(wn=h.asm.sa).apply(null,arguments)},Tn=h.__emscripten_thread_exit=function(){return(Tn=h.__emscripten_thread_exit=h.asm.ta).apply(null,arguments)},En=function(){return(En=h.asm.ua).apply(null,arguments)},gn=function(){return(gn=h.asm.va).apply(null,arguments)},Rn=function(){return(Rn=h.asm.wa).apply(null,arguments)},Dn=function(){return(Dn=h.asm.xa).apply(null,arguments)},Sn=function(){return(Sn=h.asm.ya).apply(null,arguments)},bn=function(){return(bn=h.asm.za).apply(null,arguments)};function Nn(){if(!(te>0)){if(g)return u(h),ee(),void startWorker(h);!function(){if(h.preRun)for(\"function\"==typeof h.preRun&&(h.preRun=[h.preRun]);h.preRun.length;)e=h.preRun.shift(),Z.unshift(e);var e;Se(Z)}(),te>0||(h.setStatus?(h.setStatus(\"Running...\"),setTimeout((function(){setTimeout((function(){h.setStatus(\"\")}),1),e()}),1)):e())}function e(){un||(un=!0,h.calledRun=!0,L||(ee(),u(h),h.onRuntimeInitialized&&h.onRuntimeInitialized(),function(){if(!g){if(h.postRun)for(\"function\"==typeof h.postRun&&(h.postRun=[h.postRun]);h.postRun.length;)e=h.postRun.shift(),J.unshift(e);var e;Se(J)}}()))}}if(h.dynCall_jiji=function(){return(h.dynCall_jiji=h.asm.Aa).apply(null,arguments)},h.dynCall_viijii=function(){return(h.dynCall_viijii=h.asm.Ba).apply(null,arguments)},h.dynCall_iiiiij=function(){return(h.dynCall_iiiiij=h.asm.Ca).apply(null,arguments)},h.dynCall_iiiiijj=function(){return(h.dynCall_iiiiijj=h.asm.Da).apply(null,arguments)},h.dynCall_iiiiiijj=function(){return(h.dynCall_iiiiiijj=h.asm.Ea).apply(null,arguments)},h.keepRuntimeAlive=$,h.wasmMemory=O,h.ExitStatus=he,h.PThread=De,se=function e(){un||Nn(),un||(se=e)},h.preInit)for(\"function\"==typeof h.preInit&&(h.preInit=[h.preInit]);h.preInit.length>0;)h.preInit.pop()();return Nn(),e.ready});\"object\"==typeof e&&\"object\"==typeof t?t.exports=s:\"function\"==typeof define&&define.amd?define([],(function(){return s})):\"object\"==typeof e&&(e.WebIFCWasm=s)}}),T=y({\"dist/web-ifc.js\"(e,t){var n,s=(n=\"undefined\"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(e={}){var t,s,i=void 0!==e?e:{};i.ready=new Promise((function(e,n){t=e,s=n}));var a,l,r,o=Object.assign({},i),c=\"./this.program\",u=\"\";\"undefined\"!=typeof document&&document.currentScript&&(u=document.currentScript.src),n&&(u=n),u=0!==u.indexOf(\"blob:\")?u.substr(0,u.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):\"\",a=e=>{var t=new XMLHttpRequest;return t.open(\"GET\",e,!1),t.send(null),t.responseText},l=(e,t,n)=>{var s=new XMLHttpRequest;s.open(\"GET\",e,!0),s.responseType=\"arraybuffer\",s.onload=()=>{200==s.status||0==s.status&&s.response?t(s.response):n()},s.onerror=n,s.send(null)};var p,h,d=i.print||console.log.bind(console),f=i.printErr||console.warn.bind(console);Object.assign(i,o),o=null,i.arguments&&i.arguments,i.thisProgram&&(c=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(p=i.wasmBinary),i.noExitRuntime,\"object\"!=typeof WebAssembly&&F(\"no native wasm support detected\");var I=!1;function m(e,t){e||F(t)}var y,v,w,T,E,g,R,D,S,b=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf8\"):void 0;function N(e,t,n){for(var s=(t>>>=0)+n,i=t;e[i]&&!(i>=s);)++i;if(i-t>16&&e.buffer&&b)return b.decode(e.subarray(t,i));for(var a=\"\";t>10,56320|1023&c)}}else a+=String.fromCharCode((31&l)<<6|r)}else a+=String.fromCharCode(l)}return a}function O(e,t){return(e>>>=0)?N(v,e,t):\"\"}function A(e,t,n,s){if(!(s>0))return 0;for(var i=n>>>=0,a=n+s-1,l=0;l=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&e.charCodeAt(++l)),r<=127){if(n>=a)break;t[n++>>>0]=r}else if(r<=2047){if(n+1>=a)break;t[n++>>>0]=192|r>>6,t[n++>>>0]=128|63&r}else if(r<=65535){if(n+2>=a)break;t[n++>>>0]=224|r>>12,t[n++>>>0]=128|r>>6&63,t[n++>>>0]=128|63&r}else{if(n+3>=a)break;t[n++>>>0]=240|r>>18,t[n++>>>0]=128|r>>12&63,t[n++>>>0]=128|r>>6&63,t[n++>>>0]=128|63&r}}return t[n>>>0]=0,n-i}function x(e){for(var t=0,n=0;n=55296&&s<=57343?(t+=4,++n):t+=3}return t}function C(){var e=h.buffer;i.HEAP8=y=new Int8Array(e),i.HEAP16=w=new Int16Array(e),i.HEAP32=E=new Int32Array(e),i.HEAPU8=v=new Uint8Array(e),i.HEAPU16=T=new Uint16Array(e),i.HEAPU32=g=new Uint32Array(e),i.HEAPF32=R=new Float32Array(e),i.HEAPF64=D=new Float64Array(e)}var L=[],P=[],q=[],_=0,M=null,H=null;function B(e){_++,i.monitorRunDependencies&&i.monitorRunDependencies(_)}function U(e){if(_--,i.monitorRunDependencies&&i.monitorRunDependencies(_),0==_&&(null!==M&&(clearInterval(M),M=null),H)){var t=H;H=null,t()}}function F(e){i.onAbort&&i.onAbort(e),f(e=\"Aborted(\"+e+\")\"),I=!0,e+=\". Build with -sASSERTIONS for more info.\";var t=new WebAssembly.RuntimeError(e);throw s(t),t}var G,V,j,z;function W(e){return e.startsWith(\"data:application/octet-stream;base64,\")}function k(e){try{if(e==G&&p)return new Uint8Array(p);if(r)return r(e);throw\"both async and sync fetching of the wasm failed\"}catch(e){F(e)}}function Y(e){for(;e.length>0;)e.shift()(i)}function X(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){g[this.ptr+4>>>2]=e},this.get_type=function(){return g[this.ptr+4>>>2]},this.set_destructor=function(e){g[this.ptr+8>>>2]=e},this.get_destructor=function(){return g[this.ptr+8>>>2]},this.set_refcount=function(e){E[this.ptr>>>2]=e},this.set_caught=function(e){e=e?1:0,y[this.ptr+12>>>0]=e},this.get_caught=function(){return 0!=y[this.ptr+12>>>0]},this.set_rethrown=function(e){e=e?1:0,y[this.ptr+13>>>0]=e},this.get_rethrown=function(){return 0!=y[this.ptr+13>>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=E[this.ptr>>>2];E[this.ptr>>>2]=e+1},this.release_ref=function(){var e=E[this.ptr>>>2];return E[this.ptr>>>2]=e-1,1===e},this.set_adjusted_ptr=function(e){g[this.ptr+16>>>2]=e},this.get_adjusted_ptr=function(){return g[this.ptr+16>>>2]},this.get_exception_ptr=function(){if(Ct(this.get_type()))return g[this.excPtr>>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}W(G=\"web-ifc.wasm\")||(V=G,G=i.locateFile?i.locateFile(V,u):u+V);var K={};function Z(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function Q(e){return this.fromWireType(E[e>>>2])}var J={},$={},ee={},te=48,ne=57;function se(e){if(void 0===e)return\"_unknown\";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,\"$\")).charCodeAt(0);return t>=te&&t<=ne?\"_\"+e:e}function ie(e,t){return e=se(e),new Function(\"body\",\"return function \"+e+'() {\\n \"use strict\"; return body.apply(this, arguments);\\n};\\n')(t)}function ae(e,t){var n=ie(t,(function(e){this.name=t,this.message=e;var n=new Error(e).stack;void 0!==n&&(this.stack=this.toString()+\"\\n\"+n.replace(/^Error(:[^\\n]*)?\\n/,\"\"))}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+\": \"+this.message},n}var le=void 0;function re(e){throw new le(e)}function oe(e,t,n){function s(t){var s=n(t);s.length!==e.length&&re(\"Mismatched type converter count\");for(var i=0;i{$.hasOwnProperty(e)?i[t]=$[e]:(a.push(e),J.hasOwnProperty(e)||(J[e]=[]),J[e].push((()=>{i[t]=$[e],++l===a.length&&s(i)})))})),0===a.length&&s(i)}var ce={};function ue(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(\"Unknown type size: \"+e)}}var pe=void 0;function he(e){for(var t=\"\",n=e;v[n>>>0];)t+=pe[v[n++>>>0]];return t}var de=void 0;function fe(e){throw new de(e)}function Ie(e,t,n={}){if(!(\"argPackAdvance\"in t))throw new TypeError(\"registerType registeredInstance requires argPackAdvance\");var s=t.name;if(e||fe('type \"'+s+'\" must have a positive integer typeid pointer'),$.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;fe(\"Cannot register type '\"+s+\"' twice\")}if($[e]=t,delete ee[e],J.hasOwnProperty(e)){var i=J[e];delete J[e],i.forEach((e=>e()))}}function me(e){fe(e.$$.ptrType.registeredClass.name+\" instance already deleted\")}var ye=!1;function ve(e){}function we(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function Te(e,t,n){if(t===n)return e;if(void 0===n.baseClass)return null;var s=Te(e,t,n.baseClass);return null===s?null:n.downcast(s)}var Ee={};var ge=[];function Re(){for(;ge.length;){var e=ge.pop();e.$$.deleteScheduled=!1,e.delete()}}var De=void 0;var Se={};function be(e,t){return t.ptrType&&t.ptr||re(\"makeClassHandle requires ptr and ptrType\"),!!t.smartPtrType!=!!t.smartPtr&&re(\"Both smartPtrType and smartPtr must be specified\"),t.count={value:1},Ne(Object.create(e,{$$:{value:t}}))}function Ne(e){return\"undefined\"==typeof FinalizationRegistry?(Ne=e=>e,e):(ye=new FinalizationRegistry((e=>{we(e.$$)})),ve=e=>ye.unregister(e),(Ne=e=>{var t=e.$$;if(t.smartPtr){var n={$$:t};ye.register(e,n,e)}return e})(e))}function Oe(){}function Ae(e,t,n){if(void 0===e[t].overloadTable){var s=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||fe(\"Function '\"+n+\"' called with an invalid number of arguments (\"+arguments.length+\") - expects one of (\"+e[t].overloadTable+\")!\"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[s.argCount]=s}}function xe(e,t,n){i.hasOwnProperty(e)?((void 0===n||void 0!==i[e].overloadTable&&void 0!==i[e].overloadTable[n])&&fe(\"Cannot register public name '\"+e+\"' twice\"),Ae(i,e,e),i.hasOwnProperty(n)&&fe(\"Cannot register multiple overloads of a function with the same number of arguments (\"+n+\")!\"),i[e].overloadTable[n]=t):(i[e]=t,void 0!==n&&(i[e].numArguments=n))}function Ce(e,t,n,s,i,a,l,r){this.name=e,this.constructor=t,this.instancePrototype=n,this.rawDestructor=s,this.baseClass=i,this.getActualType=a,this.upcast=l,this.downcast=r,this.pureVirtualFunctions=[]}function Le(e,t,n){for(;t!==n;)t.upcast||fe(\"Expected null or instance of \"+n.name+\", got an instance of \"+t.name),e=t.upcast(e),t=t.baseClass;return e}function Pe(e,t){if(null===t)return this.isReference&&fe(\"null is not a valid \"+this.name),0;t.$$||fe('Cannot pass \"'+Je(t)+'\" as a '+this.name),t.$$.ptr||fe(\"Cannot pass deleted object as a pointer of type \"+this.name);var n=t.$$.ptrType.registeredClass;return Le(t.$$.ptr,n,this.registeredClass)}function qe(e,t){var n;if(null===t)return this.isReference&&fe(\"null is not a valid \"+this.name),this.isSmartPointer?(n=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,n),n):0;t.$$||fe('Cannot pass \"'+Je(t)+'\" as a '+this.name),t.$$.ptr||fe(\"Cannot pass deleted object as a pointer of type \"+this.name),!this.isConst&&t.$$.ptrType.isConst&&fe(\"Cannot convert argument of type \"+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+\" to parameter type \"+this.name);var s=t.$$.ptrType.registeredClass;if(n=Le(t.$$.ptr,s,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&fe(\"Passing raw pointer to smart pointer is illegal\"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?n=t.$$.smartPtr:fe(\"Cannot convert argument of type \"+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+\" to parameter type \"+this.name);break;case 1:n=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)n=t.$$.smartPtr;else{var i=t.clone();n=this.rawShare(n,Ke.toHandle((function(){i.delete()}))),null!==e&&e.push(this.rawDestructor,n)}break;default:fe(\"Unsupporting sharing policy\")}return n}function _e(e,t){if(null===t)return this.isReference&&fe(\"null is not a valid \"+this.name),0;t.$$||fe('Cannot pass \"'+Je(t)+'\" as a '+this.name),t.$$.ptr||fe(\"Cannot pass deleted object as a pointer of type \"+this.name),t.$$.ptrType.isConst&&fe(\"Cannot convert argument of type \"+t.$$.ptrType.name+\" to parameter type \"+this.name);var n=t.$$.ptrType.registeredClass;return Le(t.$$.ptr,n,this.registeredClass)}function Me(e,t,n,s,i,a,l,r,o,c,u){this.name=e,this.registeredClass=t,this.isReference=n,this.isConst=s,this.isSmartPointer=i,this.pointeeType=a,this.sharingPolicy=l,this.rawGetPointee=r,this.rawConstructor=o,this.rawShare=c,this.rawDestructor=u,i||void 0!==t.baseClass?this.toWireType=qe:s?(this.toWireType=Pe,this.destructorFunction=null):(this.toWireType=_e,this.destructorFunction=null)}function He(e,t,n){i.hasOwnProperty(e)||re(\"Replacing nonexistant public symbol\"),void 0!==i[e].overloadTable&&void 0!==n?i[e].overloadTable[n]=t:(i[e]=t,i[e].argCount=n)}var Be=[];function Ue(e){var t=Be[e];return t||(e>=Be.length&&(Be.length=e+1),Be[e]=t=S.get(e)),t}function Fe(e,t){var n,s,a,l=(e=he(e)).includes(\"j\")?(n=e,s=t,a=[],function(){return a.length=0,Object.assign(a,arguments),function(e,t,n){return e.includes(\"j\")?function(e,t,n){var s=i[\"dynCall_\"+e];return n&&n.length?s.apply(null,[t].concat(n)):s.call(null,t)}(e,t,n):Ue(t).apply(null,n)}(n,s,a)}):Ue(t);return\"function\"!=typeof l&&fe(\"unknown function pointer with signature \"+e+\": \"+t),l}var Ge=void 0;function Ve(e){var t=At(e),n=he(t);return xt(t),n}function je(e,t){var n=[],s={};throw t.forEach((function e(t){s[t]||$[t]||(ee[t]?ee[t].forEach(e):(n.push(t),s[t]=!0))})),new Ge(e+\": \"+n.map(Ve).join([\", \"]))}function ze(e,t){for(var n=[],s=0;s>>2]);return n}function We(e,t,n,s,i){var a=t.length;a<2&&fe(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");for(var l=null!==t[1]&&null!==n,r=!1,o=1;o0?\", \":\"\")+p),h+=(c?\"var rv = \":\"\")+\"invoker(fn\"+(p.length>0?\", \":\"\")+p+\");\\n\",r)h+=\"runDestructors(destructors);\\n\";else for(o=l?1:2;o4&&0==--Ye[e].refcount&&(Ye[e]=void 0,ke.push(e))}var Ke={toValue:e=>(e||fe(\"Cannot use deleted val. handle = \"+e),Ye[e].value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=ke.length?ke.pop():Ye.length;return Ye[t]={refcount:1,value:e},t}}};function Ze(e,t,n){switch(t){case 0:return function(e){var t=n?y:v;return this.fromWireType(t[e>>>0])};case 1:return function(e){var t=n?w:T;return this.fromWireType(t[e>>>1])};case 2:return function(e){var t=n?E:g;return this.fromWireType(t[e>>>2])};default:throw new TypeError(\"Unknown integer type: \"+e)}}function Qe(e,t){var n=$[e];return void 0===n&&fe(t+\" has unknown type \"+Ve(e)),n}function Je(e){if(null===e)return\"null\";var t=typeof e;return\"object\"===t||\"array\"===t||\"function\"===t?e.toString():\"\"+e}function $e(e,t){switch(t){case 2:return function(e){return this.fromWireType(R[e>>>2])};case 3:return function(e){return this.fromWireType(D[e>>>3])};default:throw new TypeError(\"Unknown float type: \"+e)}}function et(e,t,n){switch(t){case 0:return n?function(e){return y[e>>>0]}:function(e){return v[e>>>0]};case 1:return n?function(e){return w[e>>>1]}:function(e){return T[e>>>1]};case 2:return n?function(e){return E[e>>>2]}:function(e){return g[e>>>2]};default:throw new TypeError(\"Unknown integer type: \"+e)}}var tt=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf-16le\"):void 0;function nt(e,t){for(var n=e,s=n>>1,i=s+t/2;!(s>=i)&&T[s>>>0];)++s;if((n=s<<1)-e>32&&tt)return tt.decode(v.subarray(e>>>0,n>>>0));for(var a=\"\",l=0;!(l>=t/2);++l){var r=w[e+2*l>>>1];if(0==r)break;a+=String.fromCharCode(r)}return a}function st(e,t,n){if(void 0===n&&(n=2147483647),n<2)return 0;for(var s=t,i=(n-=2)<2*e.length?n/2:e.length,a=0;a>>1]=l,t+=2}return w[t>>>1]=0,t-s}function it(e){return 2*e.length}function at(e,t){for(var n=0,s=\"\";!(n>=t/4);){var i=E[e+4*n>>>2];if(0==i)break;if(++n,i>=65536){var a=i-65536;s+=String.fromCharCode(55296|a>>10,56320|1023&a)}else s+=String.fromCharCode(i)}return s}function lt(e,t,n){if(void 0===n&&(n=2147483647),n<4)return 0;for(var s=t>>>=0,i=s+n-4,a=0;a=55296&&l<=57343&&(l=65536+((1023&l)<<10)|1023&e.charCodeAt(++a)),E[t>>>2]=l,(t+=4)+4>i)break}return E[t>>>2]=0,t-s}function rt(e){for(var t=0,n=0;n=55296&&s<=57343&&++n,t+=4}return t}var ot={};function ct(e){var t=ot[e];return void 0===t?he(e):t}function ut(){return\"object\"==typeof globalThis?globalThis:Function(\"return this\")()}function pt(e){var t=h.buffer;try{return h.grow(e-t.byteLength+65535>>>16),C(),1}catch(e){}}var ht={};function dt(){if(!dt.strings){var e={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(\"object\"==typeof navigator&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:c||\"./this.program\"};for(var t in ht)void 0===ht[t]?delete e[t]:e[t]=ht[t];var n=[];for(var t in e)n.push(t+\"=\"+e[t]);dt.strings=n}return dt.strings}var ft={isAbs:e=>\"/\"===e.charAt(0),splitPath:e=>/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var n=0,s=e.length-1;s>=0;s--){var i=e[s];\".\"===i?e.splice(s,1):\"..\"===i?(e.splice(s,1),n++):n&&(e.splice(s,1),n--)}if(t)for(;n;n--)e.unshift(\"..\");return e},normalize:e=>{var t=ft.isAbs(e),n=\"/\"===e.substr(-1);return(e=ft.normalizeArray(e.split(\"/\").filter((e=>!!e)),!t).join(\"/\"))||t||(e=\".\"),e&&n&&(e+=\"/\"),(t?\"/\":\"\")+e},dirname:e=>{var t=ft.splitPath(e),n=t[0],s=t[1];return n||s?(s&&(s=s.substr(0,s.length-1)),n+s):\".\"},basename:e=>{if(\"/\"===e)return\"/\";var t=(e=(e=ft.normalize(e)).replace(/\\/$/,\"\")).lastIndexOf(\"/\");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ft.normalize(e.join(\"/\"))},join2:(e,t)=>ft.normalize(e+\"/\"+t)},It={resolve:function(){for(var e=\"\",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var s=n>=0?arguments[n]:Tt.cwd();if(\"string\"!=typeof s)throw new TypeError(\"Arguments to path.resolve must be strings\");if(!s)return\"\";e=s+\"/\"+e,t=ft.isAbs(s)}return(t?\"/\":\"\")+(e=ft.normalizeArray(e.split(\"/\").filter((e=>!!e)),!t).join(\"/\"))||\".\"},relative:(e,t)=>{function n(e){for(var t=0;t=0&&\"\"===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=It.resolve(e).substr(1),t=It.resolve(t).substr(1);for(var s=n(e.split(\"/\")),i=n(t.split(\"/\")),a=Math.min(s.length,i.length),l=a,r=0;r0?n:x(e)+1,i=new Array(s),a=A(e,i,0,i.length);return t&&(i.length=a),i}var yt={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){yt.ttys[e]={input:[],output:[],ops:t},Tt.registerDevice(e,yt.stream_ops)},stream_ops:{open:function(e){var t=yt.ttys[e.node.rdev];if(!t)throw new Tt.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,n,s,i){if(!e.tty||!e.tty.ops.get_char)throw new Tt.ErrnoError(60);for(var a=0,l=0;l0&&(d(N(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(f(N(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(f(N(e.output,0)),e.output=[])}}};function vt(e){F()}var wt={ops_table:null,mount:function(e){return wt.createNode(null,\"/\",16895,0)},createNode:function(e,t,n,s){if(Tt.isBlkdev(n)||Tt.isFIFO(n))throw new Tt.ErrnoError(63);wt.ops_table||(wt.ops_table={dir:{node:{getattr:wt.node_ops.getattr,setattr:wt.node_ops.setattr,lookup:wt.node_ops.lookup,mknod:wt.node_ops.mknod,rename:wt.node_ops.rename,unlink:wt.node_ops.unlink,rmdir:wt.node_ops.rmdir,readdir:wt.node_ops.readdir,symlink:wt.node_ops.symlink},stream:{llseek:wt.stream_ops.llseek}},file:{node:{getattr:wt.node_ops.getattr,setattr:wt.node_ops.setattr},stream:{llseek:wt.stream_ops.llseek,read:wt.stream_ops.read,write:wt.stream_ops.write,allocate:wt.stream_ops.allocate,mmap:wt.stream_ops.mmap,msync:wt.stream_ops.msync}},link:{node:{getattr:wt.node_ops.getattr,setattr:wt.node_ops.setattr,readlink:wt.node_ops.readlink},stream:{}},chrdev:{node:{getattr:wt.node_ops.getattr,setattr:wt.node_ops.setattr},stream:Tt.chrdev_stream_ops}});var i=Tt.createNode(e,t,n,s);return Tt.isDir(i.mode)?(i.node_ops=wt.ops_table.dir.node,i.stream_ops=wt.ops_table.dir.stream,i.contents={}):Tt.isFile(i.mode)?(i.node_ops=wt.ops_table.file.node,i.stream_ops=wt.ops_table.file.stream,i.usedBytes=0,i.contents=null):Tt.isLink(i.mode)?(i.node_ops=wt.ops_table.link.node,i.stream_ops=wt.ops_table.link.stream):Tt.isChrdev(i.mode)&&(i.node_ops=wt.ops_table.chrdev.node,i.stream_ops=wt.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){t>>>=0;var n=e.contents?e.contents.length:0;if(!(n>=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),0!=n&&(t=Math.max(t,256));var s=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(s.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(t>>>=0,e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=Tt.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Tt.isDir(e.mode)?t.size=4096:Tt.isFile(e.mode)?t.size=e.usedBytes:Tt.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&wt.resizeFileStorage(e,t.size)},lookup:function(e,t){throw Tt.genericErrors[44]},mknod:function(e,t,n,s){return wt.createNode(e,t,n,s)},rename:function(e,t,n){if(Tt.isDir(e.mode)){var s;try{s=Tt.lookupNode(t,n)}catch(e){}if(s)for(var i in s.contents)throw new Tt.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=n,t.contents[n]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var n=Tt.lookupNode(e,t);for(var s in n.contents)throw new Tt.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[\".\",\"..\"];for(var n in e.contents)e.contents.hasOwnProperty(n)&&t.push(n);return t},symlink:function(e,t,n){var s=wt.createNode(e,t,41471,0);return s.link=n,s},readlink:function(e){if(!Tt.isLink(e.mode))throw new Tt.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,n,s,i){var a=e.node.contents;if(i>=e.node.usedBytes)return 0;var l=Math.min(e.node.usedBytes-i,s);if(l>8&&a.subarray)t.set(a.subarray(i,i+l),n);else for(var r=0;r0||n+t>>=0,y.set(r,a>>>0)}else l=!1,a=r.byteOffset;return{ptr:a,allocated:l}},msync:function(e,t,n,s,i){return wt.stream_ops.write(e,t,0,s,n,!1),0}}},Tt={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:\"/\",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(e,t={})=>{if(!(e=It.resolve(e)))return{path:\"\",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new Tt.ErrnoError(32);for(var n=e.split(\"/\").filter((e=>!!e)),s=Tt.root,i=\"/\",a=0;a40)throw new Tt.ErrnoError(32)}}return{path:i,node:s}},getPath:e=>{for(var t;;){if(Tt.isRoot(e)){var n=e.mount.mountpoint;return t?\"/\"!==n[n.length-1]?n+\"/\"+t:n+t:n}t=t?e.name+\"/\"+t:e.name,e=e.parent}},hashName:(e,t)=>{for(var n=0,s=0;s>>0)%Tt.nameTable.length},hashAddNode:e=>{var t=Tt.hashName(e.parent.id,e.name);e.name_next=Tt.nameTable[t],Tt.nameTable[t]=e},hashRemoveNode:e=>{var t=Tt.hashName(e.parent.id,e.name);if(Tt.nameTable[t]===e)Tt.nameTable[t]=e.name_next;else for(var n=Tt.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:(e,t)=>{var n=Tt.mayLookup(e);if(n)throw new Tt.ErrnoError(n,e);for(var s=Tt.hashName(e.id,t),i=Tt.nameTable[s];i;i=i.name_next){var a=i.name;if(i.parent.id===e.id&&a===t)return i}return Tt.lookup(e,t)},createNode:(e,t,n,s)=>{var i=new Tt.FSNode(e,t,n,s);return Tt.hashAddNode(i),i},destroyNode:e=>{Tt.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagModes:{r:0,\"r+\":2,w:577,\"w+\":578,a:1089,\"a+\":1090},modeStringToFlags:e=>{var t=Tt.flagModes[e];if(void 0===t)throw new Error(\"Unknown file open mode: \"+e);return t},flagsToPermissionString:e=>{var t=[\"r\",\"w\",\"rw\"][3&e];return 512&e&&(t+=\"w\"),t},nodePermissions:(e,t)=>Tt.ignorePermissions||(!t.includes(\"r\")||292&e.mode)&&(!t.includes(\"w\")||146&e.mode)&&(!t.includes(\"x\")||73&e.mode)?0:2,mayLookup:e=>Tt.nodePermissions(e,\"x\")||(e.node_ops.lookup?0:2),mayCreate:(e,t)=>{try{return Tt.lookupNode(e,t),20}catch(e){}return Tt.nodePermissions(e,\"wx\")},mayDelete:(e,t,n)=>{var s;try{s=Tt.lookupNode(e,t)}catch(e){return e.errno}var i=Tt.nodePermissions(e,\"wx\");if(i)return i;if(n){if(!Tt.isDir(s.mode))return 54;if(Tt.isRoot(s)||Tt.getPath(s)===Tt.cwd())return 10}else if(Tt.isDir(s.mode))return 31;return 0},mayOpen:(e,t)=>e?Tt.isLink(e.mode)?32:Tt.isDir(e.mode)&&(\"r\"!==Tt.flagsToPermissionString(t)||512&t)?31:Tt.nodePermissions(e,Tt.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,t=Tt.MAX_OPEN_FDS)=>{for(var n=e;n<=t;n++)if(!Tt.streams[n])return n;throw new Tt.ErrnoError(33)},getStream:e=>Tt.streams[e],createStream:(e,t,n)=>{Tt.FSStream||(Tt.FSStream=function(){this.shared={}},Tt.FSStream.prototype={},Object.defineProperties(Tt.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new Tt.FSStream,e);var s=Tt.nextfd(t,n);return e.fd=s,Tt.streams[s]=e,e},closeStream:e=>{Tt.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=Tt.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new Tt.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{Tt.devices[e]={stream_ops:t}},getDevice:e=>Tt.devices[e],getMounts:e=>{for(var t=[],n=[e];n.length;){var s=n.pop();t.push(s),n.push.apply(n,s.mounts)}return t},syncfs:(e,t)=>{\"function\"==typeof e&&(t=e,e=!1),Tt.syncFSRequests++,Tt.syncFSRequests>1&&f(\"warning: \"+Tt.syncFSRequests+\" FS.syncfs operations in flight at once, probably just doing extra work\");var n=Tt.getMounts(Tt.root.mount),s=0;function i(e){return Tt.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,i(e));++s>=n.length&&i(null)}n.forEach((t=>{if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)}))},mount:(e,t,n)=>{var s,i=\"/\"===n,a=!n;if(i&&Tt.root)throw new Tt.ErrnoError(10);if(!i&&!a){var l=Tt.lookupPath(n,{follow_mount:!1});if(n=l.path,s=l.node,Tt.isMountpoint(s))throw new Tt.ErrnoError(10);if(!Tt.isDir(s.mode))throw new Tt.ErrnoError(54)}var r={type:e,opts:t,mountpoint:n,mounts:[]},o=e.mount(r);return o.mount=r,r.root=o,i?Tt.root=o:s&&(s.mounted=r,s.mount&&s.mount.mounts.push(r)),o},unmount:e=>{var t=Tt.lookupPath(e,{follow_mount:!1});if(!Tt.isMountpoint(t.node))throw new Tt.ErrnoError(28);var n=t.node,s=n.mounted,i=Tt.getMounts(s);Object.keys(Tt.nameTable).forEach((e=>{for(var t=Tt.nameTable[e];t;){var n=t.name_next;i.includes(t.mount)&&Tt.destroyNode(t),t=n}})),n.mounted=null;var a=n.mount.mounts.indexOf(s);n.mount.mounts.splice(a,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,n)=>{var s=Tt.lookupPath(e,{parent:!0}).node,i=ft.basename(e);if(!i||\".\"===i||\"..\"===i)throw new Tt.ErrnoError(28);var a=Tt.mayCreate(s,i);if(a)throw new Tt.ErrnoError(a);if(!s.node_ops.mknod)throw new Tt.ErrnoError(63);return s.node_ops.mknod(s,i,t,n)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Tt.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Tt.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var n=e.split(\"/\"),s=\"\",i=0;i(void 0===n&&(n=t,t=438),t|=8192,Tt.mknod(e,t,n)),symlink:(e,t)=>{if(!It.resolve(e))throw new Tt.ErrnoError(44);var n=Tt.lookupPath(t,{parent:!0}).node;if(!n)throw new Tt.ErrnoError(44);var s=ft.basename(t),i=Tt.mayCreate(n,s);if(i)throw new Tt.ErrnoError(i);if(!n.node_ops.symlink)throw new Tt.ErrnoError(63);return n.node_ops.symlink(n,s,e)},rename:(e,t)=>{var n,s,i=ft.dirname(e),a=ft.dirname(t),l=ft.basename(e),r=ft.basename(t);if(n=Tt.lookupPath(e,{parent:!0}).node,s=Tt.lookupPath(t,{parent:!0}).node,!n||!s)throw new Tt.ErrnoError(44);if(n.mount!==s.mount)throw new Tt.ErrnoError(75);var o,c=Tt.lookupNode(n,l),u=It.relative(e,a);if(\".\"!==u.charAt(0))throw new Tt.ErrnoError(28);if(\".\"!==(u=It.relative(t,i)).charAt(0))throw new Tt.ErrnoError(55);try{o=Tt.lookupNode(s,r)}catch(e){}if(c!==o){var p=Tt.isDir(c.mode),h=Tt.mayDelete(n,l,p);if(h)throw new Tt.ErrnoError(h);if(h=o?Tt.mayDelete(s,r,p):Tt.mayCreate(s,r))throw new Tt.ErrnoError(h);if(!n.node_ops.rename)throw new Tt.ErrnoError(63);if(Tt.isMountpoint(c)||o&&Tt.isMountpoint(o))throw new Tt.ErrnoError(10);if(s!==n&&(h=Tt.nodePermissions(n,\"w\")))throw new Tt.ErrnoError(h);Tt.hashRemoveNode(c);try{n.node_ops.rename(c,s,r)}catch(e){throw e}finally{Tt.hashAddNode(c)}}},rmdir:e=>{var t=Tt.lookupPath(e,{parent:!0}).node,n=ft.basename(e),s=Tt.lookupNode(t,n),i=Tt.mayDelete(t,n,!0);if(i)throw new Tt.ErrnoError(i);if(!t.node_ops.rmdir)throw new Tt.ErrnoError(63);if(Tt.isMountpoint(s))throw new Tt.ErrnoError(10);t.node_ops.rmdir(t,n),Tt.destroyNode(s)},readdir:e=>{var t=Tt.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Tt.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=Tt.lookupPath(e,{parent:!0}).node;if(!t)throw new Tt.ErrnoError(44);var n=ft.basename(e),s=Tt.lookupNode(t,n),i=Tt.mayDelete(t,n,!1);if(i)throw new Tt.ErrnoError(i);if(!t.node_ops.unlink)throw new Tt.ErrnoError(63);if(Tt.isMountpoint(s))throw new Tt.ErrnoError(10);t.node_ops.unlink(t,n),Tt.destroyNode(s)},readlink:e=>{var t=Tt.lookupPath(e).node;if(!t)throw new Tt.ErrnoError(44);if(!t.node_ops.readlink)throw new Tt.ErrnoError(28);return It.resolve(Tt.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var n=Tt.lookupPath(e,{follow:!t}).node;if(!n)throw new Tt.ErrnoError(44);if(!n.node_ops.getattr)throw new Tt.ErrnoError(63);return n.node_ops.getattr(n)},lstat:e=>Tt.stat(e,!0),chmod:(e,t,n)=>{var s;if(!(s=\"string\"==typeof e?Tt.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new Tt.ErrnoError(63);s.node_ops.setattr(s,{mode:4095&t|-4096&s.mode,timestamp:Date.now()})},lchmod:(e,t)=>{Tt.chmod(e,t,!0)},fchmod:(e,t)=>{var n=Tt.getStream(e);if(!n)throw new Tt.ErrnoError(8);Tt.chmod(n.node,t)},chown:(e,t,n,s)=>{var i;if(!(i=\"string\"==typeof e?Tt.lookupPath(e,{follow:!s}).node:e).node_ops.setattr)throw new Tt.ErrnoError(63);i.node_ops.setattr(i,{timestamp:Date.now()})},lchown:(e,t,n)=>{Tt.chown(e,t,n,!0)},fchown:(e,t,n)=>{var s=Tt.getStream(e);if(!s)throw new Tt.ErrnoError(8);Tt.chown(s.node,t,n)},truncate:(e,t)=>{if(t<0)throw new Tt.ErrnoError(28);var n;if(!(n=\"string\"==typeof e?Tt.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Tt.ErrnoError(63);if(Tt.isDir(n.mode))throw new Tt.ErrnoError(31);if(!Tt.isFile(n.mode))throw new Tt.ErrnoError(28);var s=Tt.nodePermissions(n,\"w\");if(s)throw new Tt.ErrnoError(s);n.node_ops.setattr(n,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var n=Tt.getStream(e);if(!n)throw new Tt.ErrnoError(8);if(0==(2097155&n.flags))throw new Tt.ErrnoError(28);Tt.truncate(n.node,t)},utime:(e,t,n)=>{var s=Tt.lookupPath(e,{follow:!0}).node;s.node_ops.setattr(s,{timestamp:Math.max(t,n)})},open:(e,t,n)=>{if(\"\"===e)throw new Tt.ErrnoError(44);var s;if(n=void 0===n?438:n,n=64&(t=\"string\"==typeof t?Tt.modeStringToFlags(t):t)?4095&n|32768:0,\"object\"==typeof e)s=e;else{e=ft.normalize(e);try{s=Tt.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var a=!1;if(64&t)if(s){if(128&t)throw new Tt.ErrnoError(20)}else s=Tt.mknod(e,n,0),a=!0;if(!s)throw new Tt.ErrnoError(44);if(Tt.isChrdev(s.mode)&&(t&=-513),65536&t&&!Tt.isDir(s.mode))throw new Tt.ErrnoError(54);if(!a){var l=Tt.mayOpen(s,t);if(l)throw new Tt.ErrnoError(l)}512&t&&!a&&Tt.truncate(s,0),t&=-131713;var r=Tt.createStream({node:s,path:Tt.getPath(s),flags:t,seekable:!0,position:0,stream_ops:s.stream_ops,ungotten:[],error:!1});return r.stream_ops.open&&r.stream_ops.open(r),!i.logReadFiles||1&t||(Tt.readFiles||(Tt.readFiles={}),e in Tt.readFiles||(Tt.readFiles[e]=1)),r},close:e=>{if(Tt.isClosed(e))throw new Tt.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Tt.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,n)=>{if(Tt.isClosed(e))throw new Tt.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Tt.ErrnoError(70);if(0!=n&&1!=n&&2!=n)throw new Tt.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,n),e.ungotten=[],e.position},read:(e,t,n,s,i)=>{if(n>>>=0,s<0||i<0)throw new Tt.ErrnoError(28);if(Tt.isClosed(e))throw new Tt.ErrnoError(8);if(1==(2097155&e.flags))throw new Tt.ErrnoError(8);if(Tt.isDir(e.node.mode))throw new Tt.ErrnoError(31);if(!e.stream_ops.read)throw new Tt.ErrnoError(28);var a=void 0!==i;if(a){if(!e.seekable)throw new Tt.ErrnoError(70)}else i=e.position;var l=e.stream_ops.read(e,t,n,s,i);return a||(e.position+=l),l},write:(e,t,n,s,i,a)=>{if(n>>>=0,s<0||i<0)throw new Tt.ErrnoError(28);if(Tt.isClosed(e))throw new Tt.ErrnoError(8);if(0==(2097155&e.flags))throw new Tt.ErrnoError(8);if(Tt.isDir(e.node.mode))throw new Tt.ErrnoError(31);if(!e.stream_ops.write)throw new Tt.ErrnoError(28);e.seekable&&1024&e.flags&&Tt.llseek(e,0,2);var l=void 0!==i;if(l){if(!e.seekable)throw new Tt.ErrnoError(70)}else i=e.position;var r=e.stream_ops.write(e,t,n,s,i,a);return l||(e.position+=r),r},allocate:(e,t,n)=>{if(Tt.isClosed(e))throw new Tt.ErrnoError(8);if(t<0||n<=0)throw new Tt.ErrnoError(28);if(0==(2097155&e.flags))throw new Tt.ErrnoError(8);if(!Tt.isFile(e.node.mode)&&!Tt.isDir(e.node.mode))throw new Tt.ErrnoError(43);if(!e.stream_ops.allocate)throw new Tt.ErrnoError(138);e.stream_ops.allocate(e,t,n)},mmap:(e,t,n,s,i)=>{if(0!=(2&s)&&0==(2&i)&&2!=(2097155&e.flags))throw new Tt.ErrnoError(2);if(1==(2097155&e.flags))throw new Tt.ErrnoError(2);if(!e.stream_ops.mmap)throw new Tt.ErrnoError(43);return e.stream_ops.mmap(e,t,n,s,i)},msync:(e,t,n,s,i)=>(n>>>=0,e.stream_ops.msync?e.stream_ops.msync(e,t,n,s,i):0),munmap:e=>0,ioctl:(e,t,n)=>{if(!e.stream_ops.ioctl)throw new Tt.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile:(e,t={})=>{if(t.flags=t.flags||0,t.encoding=t.encoding||\"binary\",\"utf8\"!==t.encoding&&\"binary\"!==t.encoding)throw new Error('Invalid encoding type \"'+t.encoding+'\"');var n,s=Tt.open(e,t.flags),i=Tt.stat(e).size,a=new Uint8Array(i);return Tt.read(s,a,0,i,0),\"utf8\"===t.encoding?n=N(a,0):\"binary\"===t.encoding&&(n=a),Tt.close(s),n},writeFile:(e,t,n={})=>{n.flags=n.flags||577;var s=Tt.open(e,n.flags,n.mode);if(\"string\"==typeof t){var i=new Uint8Array(x(t)+1),a=A(t,i,0,i.length);Tt.write(s,i,0,a,void 0,n.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error(\"Unsupported data type\");Tt.write(s,t,0,t.byteLength,void 0,n.canOwn)}Tt.close(s)},cwd:()=>Tt.currentPath,chdir:e=>{var t=Tt.lookupPath(e,{follow:!0});if(null===t.node)throw new Tt.ErrnoError(44);if(!Tt.isDir(t.node.mode))throw new Tt.ErrnoError(54);var n=Tt.nodePermissions(t.node,\"x\");if(n)throw new Tt.ErrnoError(n);Tt.currentPath=t.path},createDefaultDirectories:()=>{Tt.mkdir(\"/tmp\"),Tt.mkdir(\"/home\"),Tt.mkdir(\"/home/web_user\")},createDefaultDevices:()=>{Tt.mkdir(\"/dev\"),Tt.registerDevice(Tt.makedev(1,3),{read:()=>0,write:(e,t,n,s,i)=>s}),Tt.mkdev(\"/dev/null\",Tt.makedev(1,3)),yt.register(Tt.makedev(5,0),yt.default_tty_ops),yt.register(Tt.makedev(6,0),yt.default_tty1_ops),Tt.mkdev(\"/dev/tty\",Tt.makedev(5,0)),Tt.mkdev(\"/dev/tty1\",Tt.makedev(6,0));var e=function(){if(\"object\"==typeof crypto&&\"function\"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}return()=>F(\"randomDevice\")}();Tt.createDevice(\"/dev\",\"random\",e),Tt.createDevice(\"/dev\",\"urandom\",e),Tt.mkdir(\"/dev/shm\"),Tt.mkdir(\"/dev/shm/tmp\")},createSpecialDirectories:()=>{Tt.mkdir(\"/proc\");var e=Tt.mkdir(\"/proc/self\");Tt.mkdir(\"/proc/self/fd\"),Tt.mount({mount:()=>{var t=Tt.createNode(e,\"fd\",16895,73);return t.node_ops={lookup:(e,t)=>{var n=+t,s=Tt.getStream(n);if(!s)throw new Tt.ErrnoError(8);var i={parent:null,mount:{mountpoint:\"fake\"},node_ops:{readlink:()=>s.path}};return i.parent=i,i}},t}},{},\"/proc/self/fd\")},createStandardStreams:()=>{i.stdin?Tt.createDevice(\"/dev\",\"stdin\",i.stdin):Tt.symlink(\"/dev/tty\",\"/dev/stdin\"),i.stdout?Tt.createDevice(\"/dev\",\"stdout\",null,i.stdout):Tt.symlink(\"/dev/tty\",\"/dev/stdout\"),i.stderr?Tt.createDevice(\"/dev\",\"stderr\",null,i.stderr):Tt.symlink(\"/dev/tty1\",\"/dev/stderr\"),Tt.open(\"/dev/stdin\",0),Tt.open(\"/dev/stdout\",1),Tt.open(\"/dev/stderr\",1)},ensureErrnoError:()=>{Tt.ErrnoError||(Tt.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message=\"FS error\"},Tt.ErrnoError.prototype=new Error,Tt.ErrnoError.prototype.constructor=Tt.ErrnoError,[44].forEach((e=>{Tt.genericErrors[e]=new Tt.ErrnoError(e),Tt.genericErrors[e].stack=\"\"})))},staticInit:()=>{Tt.ensureErrnoError(),Tt.nameTable=new Array(4096),Tt.mount(wt,{},\"/\"),Tt.createDefaultDirectories(),Tt.createDefaultDevices(),Tt.createSpecialDirectories(),Tt.filesystems={MEMFS:wt}},init:(e,t,n)=>{Tt.init.initialized=!0,Tt.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=n||i.stderr,Tt.createStandardStreams()},quit:()=>{Tt.init.initialized=!1;for(var e=0;e{var n=0;return e&&(n|=365),t&&(n|=146),n},findObject:(e,t)=>{var n=Tt.analyzePath(e,t);return n.exists?n.object:null},analyzePath:(e,t)=>{try{e=(s=Tt.lookupPath(e,{follow:!t})).path}catch(e){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var s=Tt.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=s.path,n.parentObject=s.node,n.name=ft.basename(e),s=Tt.lookupPath(e,{follow:!t}),n.exists=!0,n.path=s.path,n.object=s.node,n.name=s.node.name,n.isRoot=\"/\"===s.path}catch(e){n.error=e.errno}return n},createPath:(e,t,n,s)=>{e=\"string\"==typeof e?e:Tt.getPath(e);for(var i=t.split(\"/\").reverse();i.length;){var a=i.pop();if(a){var l=ft.join2(e,a);try{Tt.mkdir(l)}catch(e){}e=l}}return l},createFile:(e,t,n,s,i)=>{var a=ft.join2(\"string\"==typeof e?e:Tt.getPath(e),t),l=Tt.getMode(s,i);return Tt.create(a,l)},createDataFile:(e,t,n,s,i,a)=>{var l=t;e&&(e=\"string\"==typeof e?e:Tt.getPath(e),l=t?ft.join2(e,t):e);var r=Tt.getMode(s,i),o=Tt.create(l,r);if(n){if(\"string\"==typeof n){for(var c=new Array(n.length),u=0,p=n.length;u{var i=ft.join2(\"string\"==typeof e?e:Tt.getPath(e),t),a=Tt.getMode(!!n,!!s);Tt.createDevice.major||(Tt.createDevice.major=64);var l=Tt.makedev(Tt.createDevice.major++,0);return Tt.registerDevice(l,{open:e=>{e.seekable=!1},close:e=>{s&&s.buffer&&s.buffer.length&&s(10)},read:(e,t,s,i,a)=>{for(var l=0,r=0;r{for(var l=0;l{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(\"undefined\"!=typeof XMLHttpRequest)throw new Error(\"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.\");if(!a)throw new Error(\"Cannot load without read() or XMLHttpRequest.\");try{e.contents=mt(a(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new Tt.ErrnoError(29)}},createLazyFile:(e,t,n,s,i)=>{function a(){this.lengthKnown=!1,this.chunks=[]}var l;if(a.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open(\"HEAD\",n,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error(\"Couldn't load \"+n+\". Status: \"+e.status);var t,s=Number(e.getResponseHeader(\"Content-length\")),i=(t=e.getResponseHeader(\"Accept-Ranges\"))&&\"bytes\"===t,a=(t=e.getResponseHeader(\"Content-Encoding\"))&&\"gzip\"===t,l=1048576;i||(l=s);var r=this;r.setDataGetter((e=>{var t=e*l,i=(e+1)*l-1;if(i=Math.min(i,s-1),void 0===r.chunks[e]&&(r.chunks[e]=((e,t)=>{if(e>t)throw new Error(\"invalid range (\"+e+\", \"+t+\") or no bytes requested!\");if(t>s-1)throw new Error(\"only \"+s+\" bytes available! programmer error!\");var i=new XMLHttpRequest;if(i.open(\"GET\",n,!1),s!==l&&i.setRequestHeader(\"Range\",\"bytes=\"+e+\"-\"+t),i.responseType=\"arraybuffer\",i.overrideMimeType&&i.overrideMimeType(\"text/plain; charset=x-user-defined\"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error(\"Couldn't load \"+n+\". Status: \"+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):mt(i.responseText||\"\",!0)})(t,i)),void 0===r.chunks[e])throw new Error(\"doXHR failed!\");return r.chunks[e]})),!a&&s||(l=s=1,s=this.getter(0).length,l=s,d(\"LazyFiles on gzip forces download of the whole file when length is accessed\")),this._length=s,this._chunkSize=l,this.lengthKnown=!0},\"undefined\"!=typeof XMLHttpRequest)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";l={isDevice:!1,url:n};var r=Tt.createFile(e,t,l,s,i);l.contents?r.contents=l.contents:l.url&&(r.contents=null,r.url=l.url),Object.defineProperties(r,{usedBytes:{get:function(){return this.contents.length}}});var o={};function c(e,t,n,s,i){var a=e.node.contents;if(i>=a.length)return 0;var l=Math.min(a.length-i,s);if(a.slice)for(var r=0;r{var t=r.stream_ops[e];o[e]=function(){return Tt.forceLoadFile(r),t.apply(null,arguments)}})),o.read=(e,t,n,s,i)=>(Tt.forceLoadFile(r),c(e,t,n,s,i)),o.mmap=(e,t,n,s,i)=>{Tt.forceLoadFile(r);var a=vt();if(!a)throw new Tt.ErrnoError(48);return c(e,y,a,t,n),{ptr:a,allocated:!0}},r.stream_ops=o,r},createPreloadedFile:(e,t,n,s,i,a,r,o,c,u)=>{var p=t?It.resolve(ft.join2(e,t)):e;function h(n){function l(n){u&&u(),o||Tt.createDataFile(e,t,n,s,i,c),a&&a(),U()}Browser.handledByPreloadPlugin(n,p,l,(()=>{r&&r(),U()}))||l(n)}B(),\"string\"==typeof n?function(e,t,n,s){var i=\"al \"+e;l(e,(t=>{m(t,'Loading data file \"'+e+'\" failed (no arrayBuffer).'),h(new Uint8Array(t)),i&&U()}),(t=>{if(!n)throw'Loading data file \"'+e+'\" failed.';n()})),i&&B()}(n,0,r):h(n)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>\"EM_FS_\"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:\"FILE_DATA\",saveFilesToDB:(e,t=(()=>{}),n=(()=>{}))=>{var s=Tt.indexedDB();try{var i=s.open(Tt.DB_NAME(),Tt.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=()=>{d(\"creating db\"),i.result.createObjectStore(Tt.DB_STORE_NAME)},i.onsuccess=()=>{var s=i.result.transaction([Tt.DB_STORE_NAME],\"readwrite\"),a=s.objectStore(Tt.DB_STORE_NAME),l=0,r=0,o=e.length;function c(){0==r?t():n()}e.forEach((e=>{var t=a.put(Tt.analyzePath(e).object.contents,e);t.onsuccess=()=>{++l+r==o&&c()},t.onerror=()=>{r++,l+r==o&&c()}})),s.onerror=n},i.onerror=n},loadFilesFromDB:(e,t=(()=>{}),n=(()=>{}))=>{var s=Tt.indexedDB();try{var i=s.open(Tt.DB_NAME(),Tt.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=n,i.onsuccess=()=>{var s=i.result;try{var a=s.transaction([Tt.DB_STORE_NAME],\"readonly\")}catch(e){return void n(e)}var l=a.objectStore(Tt.DB_STORE_NAME),r=0,o=0,c=e.length;function u(){0==o?t():n()}e.forEach((e=>{var t=l.get(e);t.onsuccess=()=>{Tt.analyzePath(e).exists&&Tt.unlink(e),Tt.createDataFile(ft.dirname(e),ft.basename(e),t.result,!0,!0,!0),++r+o==c&&u()},t.onerror=()=>{o++,r+o==c&&u()}})),a.onerror=n},i.onerror=n}},Et={DEFAULT_POLLMASK:5,calculateAt:function(e,t,n){if(ft.isAbs(t))return t;var s;if(s=-100===e?Tt.cwd():Et.getStreamFromFD(e).path,0==t.length){if(!n)throw new Tt.ErrnoError(44);return s}return ft.join2(s,t)},doStat:function(e,t,n){try{var s=e(t)}catch(e){if(e&&e.node&&ft.normalize(t)!==ft.normalize(Tt.getPath(e.node)))return-54;throw e}E[n>>>2]=s.dev,E[n+8>>>2]=s.ino,E[n+12>>>2]=s.mode,g[n+16>>>2]=s.nlink,E[n+20>>>2]=s.uid,E[n+24>>>2]=s.gid,E[n+28>>>2]=s.rdev,z=[s.size>>>0,(j=s.size,+Math.abs(j)>=1?j>0?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],E[n+40>>>2]=z[0],E[n+44>>>2]=z[1],E[n+48>>>2]=4096,E[n+52>>>2]=s.blocks;var i=s.atime.getTime(),a=s.mtime.getTime(),l=s.ctime.getTime();return z=[Math.floor(i/1e3)>>>0,(j=Math.floor(i/1e3),+Math.abs(j)>=1?j>0?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],E[n+56>>>2]=z[0],E[n+60>>>2]=z[1],g[n+64>>>2]=i%1e3*1e3,z=[Math.floor(a/1e3)>>>0,(j=Math.floor(a/1e3),+Math.abs(j)>=1?j>0?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],E[n+72>>>2]=z[0],E[n+76>>>2]=z[1],g[n+80>>>2]=a%1e3*1e3,z=[Math.floor(l/1e3)>>>0,(j=Math.floor(l/1e3),+Math.abs(j)>=1?j>0?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],E[n+88>>>2]=z[0],E[n+92>>>2]=z[1],g[n+96>>>2]=l%1e3*1e3,z=[s.ino>>>0,(j=s.ino,+Math.abs(j)>=1?j>0?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],E[n+104>>>2]=z[0],E[n+108>>>2]=z[1],0},doMsync:function(e,t,n,s,i){if(!Tt.isFile(t.node.mode))throw new Tt.ErrnoError(43);if(2&s)return 0;e>>>=0;var a=v.slice(e,e+n);Tt.msync(t,a,i,n,s)},varargs:void 0,get:function(){return Et.varargs+=4,E[Et.varargs-4>>>2]},getStr:function(e){return O(e)},getStreamFromFD:function(e){var t=Tt.getStream(e);if(!t)throw new Tt.ErrnoError(8);return t}};function gt(e){return e%4==0&&(e%100!=0||e%400==0)}var Rt=[31,29,31,30,31,30,31,31,30,31,30,31],Dt=[31,28,31,30,31,30,31,31,30,31,30,31];le=i.InternalError=ae(Error,\"InternalError\"),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);pe=e}(),de=i.BindingError=ae(Error,\"BindingError\"),Oe.prototype.isAliasOf=function(e){if(!(this instanceof Oe))return!1;if(!(e instanceof Oe))return!1;for(var t=this.$$.ptrType.registeredClass,n=this.$$.ptr,s=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)n=t.upcast(n),t=t.baseClass;for(;s.baseClass;)i=s.upcast(i),s=s.baseClass;return t===s&&n===i},Oe.prototype.clone=function(){if(this.$$.ptr||me(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=Ne(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},Oe.prototype.delete=function(){this.$$.ptr||me(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&fe(\"Object already scheduled for deletion\"),ve(this),we(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},Oe.prototype.isDeleted=function(){return!this.$$.ptr},Oe.prototype.deleteLater=function(){return this.$$.ptr||me(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&fe(\"Object already scheduled for deletion\"),ge.push(this),1===ge.length&&De&&De(Re),this.$$.deleteScheduled=!0,this},i.getInheritedInstanceCount=function(){return Object.keys(Se).length},i.getLiveInheritedInstances=function(){var e=[];for(var t in Se)Se.hasOwnProperty(t)&&e.push(Se[t]);return e},i.flushPendingDeletes=Re,i.setDelayFunction=function(e){De=e,ge.length&&De&&De(Re)},Me.prototype.getPointee=function(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},Me.prototype.destructor=function(e){this.rawDestructor&&this.rawDestructor(e)},Me.prototype.argPackAdvance=8,Me.prototype.readValueFromPointer=Q,Me.prototype.deleteObject=function(e){null!==e&&e.delete()},Me.prototype.fromWireType=function(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var n=function(e,t){return t=function(e,t){for(void 0===t&&fe(\"ptr should not be undefined\");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),Se[t]}(this.registeredClass,t);if(void 0!==n){if(0===n.$$.count.value)return n.$$.ptr=t,n.$$.smartPtr=e,n.clone();var s=n.clone();return this.destructor(e),s}function i(){return this.isSmartPointer?be(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):be(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,l=this.registeredClass.getActualType(t),r=Ee[l];if(!r)return i.call(this);a=this.isConst?r.constPointerType:r.pointerType;var o=Te(t,this.registeredClass,a.registeredClass);return null===o?i.call(this):this.isSmartPointer?be(a.registeredClass.instancePrototype,{ptrType:a,ptr:o,smartPtrType:this,smartPtr:e}):be(a.registeredClass.instancePrototype,{ptrType:a,ptr:o})},Ge=i.UnboundTypeError=ae(Error,\"UnboundTypeError\"),i.count_emval_handles=function(){for(var e=0,t=5;t{var i=e[n],a=t.getter,l=t.getterContext,r=e[n+s],o=t.setter,c=t.setterContext;t.read=e=>i.fromWireType(a(l,e)),t.write=(e,t)=>{var n=[];o(c,e,r.toWireType(n,t)),Z(n)}})),[{name:t.name,fromWireType:function(e){for(var t=new Array(s),i=0;ie.getterReturnType)).concat(i.map((e=>e.setterArgumentType))),(e=>{var a={};return i.forEach(((t,n)=>{var s=t.fieldName,l=e[n],r=t.getter,o=t.getterContext,c=e[n+i.length],u=t.setter,p=t.setterContext;a[s]={read:e=>l.fromWireType(r(o,e)),write:(e,t)=>{var n=[];u(p,e,c.toWireType(n,t)),Z(n)}}})),[{name:t.name,fromWireType:function(e){var t={};for(var n in a)t[n]=a[n].read(e);return s(e),t},toWireType:function(e,t){for(var i in a)if(!(i in t))throw new TypeError('Missing field: \"'+i+'\"');var l=n();for(i in a)a[i].write(l,t[i]);return null!==e&&e.push(s,l),l},argPackAdvance:8,readValueFromPointer:Q,destructorFunction:s}]}))},G:function(e,t,n,s,i){},Q:function(e,t,n,s,i){var a=ue(n);Ie(e,{name:t=he(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?s:i},argPackAdvance:8,readValueFromPointer:function(e){var s;if(1===n)s=y;else if(2===n)s=w;else{if(4!==n)throw new TypeError(\"Unknown boolean type size: \"+t);s=E}return this.fromWireType(s[e>>>a])},destructorFunction:null})},p:function(e,t,n,s,i,a,l,r,o,c,u,p,h){u=he(u),a=Fe(i,a),r&&(r=Fe(l,r)),c&&(c=Fe(o,c)),h=Fe(p,h);var d=se(u);xe(d,(function(){je(\"Cannot construct \"+u+\" due to unbound types\",[s])})),oe([e,t,n],s?[s]:[],(function(t){var n,i;t=t[0],i=s?(n=t.registeredClass).instancePrototype:Oe.prototype;var l=ie(d,(function(){if(Object.getPrototypeOf(this)!==o)throw new de(\"Use 'new' to construct \"+u);if(void 0===p.constructor_body)throw new de(u+\" has no accessible constructor\");var e=p.constructor_body[arguments.length];if(void 0===e)throw new de(\"Tried to invoke ctor of \"+u+\" with invalid number of parameters (\"+arguments.length+\") - expected (\"+Object.keys(p.constructor_body).toString()+\") parameters instead!\");return e.apply(this,arguments)})),o=Object.create(i,{constructor:{value:l}});l.prototype=o;var p=new Ce(u,l,o,h,n,a,r,c),f=new Me(u,p,!0,!1,!1),I=new Me(u+\"*\",p,!1,!1,!1),m=new Me(u+\" const*\",p,!1,!0,!1);return Ee[e]={pointerType:I,constPointerType:m},He(d,l),[f,I,m]}))},o:function(e,t,n,s,i,a){m(t>0);var l=ze(t,n);i=Fe(s,i),oe([],[e],(function(e){var n=\"constructor \"+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new de(\"Cannot register multiple constructors with identical number of parameters (\"+(t-1)+\") for class '\"+e.name+\"'! Overload resolution is currently only performed using the parameter count, not actual type info!\");return e.registeredClass.constructor_body[t-1]=()=>{je(\"Cannot construct \"+e.name+\" due to unbound types\",l)},oe([],l,(function(s){return s.splice(1,0,null),e.registeredClass.constructor_body[t-1]=We(n,s,null,i,a),[]})),[]}))},b:function(e,t,n,s,i,a,l,r){var o=ze(n,s);t=he(t),a=Fe(i,a),oe([],[e],(function(e){var s=(e=e[0]).name+\".\"+t;function i(){je(\"Cannot call \"+s+\" due to unbound types\",o)}t.startsWith(\"@@\")&&(t=Symbol[t.substring(2)]),r&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,u=c[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===n-2?(i.argCount=n-2,i.className=e.name,c[t]=i):(Ae(c,t,s),c[t].overloadTable[n-2]=i),oe([],o,(function(i){var r=We(s,i,e,a,l);return void 0===c[t].overloadTable?(r.argCount=n-2,c[t]=r):c[t].overloadTable[n-2]=r,[]})),[]}))},P:function(e,t){Ie(e,{name:t=he(t),fromWireType:function(e){var t=Ke.toValue(e);return Xe(e),t},toWireType:function(e,t){return Ke.toHandle(t)},argPackAdvance:8,readValueFromPointer:Q,destructorFunction:null})},C:function(e,t,n,s){var i=ue(n);function a(){}t=he(t),a.values={},Ie(e,{name:t,constructor:a,fromWireType:function(e){return this.constructor.values[e]},toWireType:function(e,t){return t.value},argPackAdvance:8,readValueFromPointer:Ze(t,i,s),destructorFunction:null}),xe(t,a)},t:function(e,t,n){var s=Qe(e,\"enum\");t=he(t);var i=s.constructor,a=Object.create(s.constructor.prototype,{value:{value:n},constructor:{value:ie(s.name+\"_\"+t,(function(){}))}});i.values[n]=a,i[t]=a},A:function(e,t,n){var s=ue(n);Ie(e,{name:t=he(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:$e(t,s),destructorFunction:null})},c:function(e,t,n,s,i,a){var l=ze(t,n);e=he(e),i=Fe(s,i),xe(e,(function(){je(\"Cannot call \"+e+\" due to unbound types\",l)}),t-1),oe([],l,(function(n){var s=[n[0],null].concat(n.slice(1));return He(e,We(e,s,null,i,a),t-1),[]}))},s:function(e,t,n,s,i){t=he(t),-1===i&&(i=4294967295);var a=ue(n),l=e=>e;if(0===s){var r=32-8*n;l=e=>e<>>r}var o=t.includes(\"unsigned\");Ie(e,{name:t,fromWireType:l,toWireType:o?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:et(t,a,0!==s),destructorFunction:null})},i:function(e,t,n){var s=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=g,n=t[(e>>=2)>>>0],i=t[e+1>>>0];return new s(t.buffer,i,n)}Ie(e,{name:n=he(n),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},B:function(e,t){var n=\"std::string\"===(t=he(t));Ie(e,{name:t,fromWireType:function(e){var t,s=g[e>>>2],i=e+4;if(n)for(var a=i,l=0;l<=s;++l){var r=i+l;if(l==s||0==v[r>>>0]){var o=O(a,r-a);void 0===t?t=o:(t+=String.fromCharCode(0),t+=o),a=r+1}}else{var c=new Array(s);for(l=0;l>>0]);t=c.join(\"\")}return xt(e),t},toWireType:function(e,t){var s;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var i=\"string\"==typeof t;i||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||fe(\"Cannot pass non-string to std::string\"),s=n&&i?x(t):t.length;var a=Ot(4+s+1),l=a+4;if(l>>>=0,g[a>>>2]=s,n&&i)A(t,v,l,s+1);else if(i)for(var r=0;r255&&(xt(l),fe(\"String has UTF-16 code units that do not fit in 8 bits\")),v[l+r>>>0]=o}else for(r=0;r>>0]=t[r];return null!==e&&e.push(xt,a),a},argPackAdvance:8,readValueFromPointer:Q,destructorFunction:function(e){xt(e)}})},w:function(e,t,n){var s,i,a,l,r;n=he(n),2===t?(s=nt,i=st,l=it,a=()=>T,r=1):4===t&&(s=at,i=lt,l=rt,a=()=>g,r=2),Ie(e,{name:n,fromWireType:function(e){for(var n,i=g[e>>>2],l=a(),o=e+4,c=0;c<=i;++c){var u=e+4+c*t;if(c==i||0==l[u>>>r]){var p=s(o,u-o);void 0===n?n=p:(n+=String.fromCharCode(0),n+=p),o=u+t}}return xt(e),n},toWireType:function(e,s){\"string\"!=typeof s&&fe(\"Cannot pass non-string to C++ string type \"+n);var a=l(s),o=Ot(4+a+t);return g[(o>>>=0)>>>2]=a>>r,i(s,o+4,a+t),null!==e&&e.push(xt,o),o},argPackAdvance:8,readValueFromPointer:Q,destructorFunction:function(e){xt(e)}})},T:function(e,t,n,s,i,a){K[e]={name:he(t),rawConstructor:Fe(n,s),rawDestructor:Fe(i,a),elements:[]}},l:function(e,t,n,s,i,a,l,r,o){K[e].elements.push({getterReturnType:t,getter:Fe(n,s),getterContext:i,setterArgumentType:a,setter:Fe(l,r),setterContext:o})},r:function(e,t,n,s,i,a){ce[e]={name:he(t),rawConstructor:Fe(n,s),rawDestructor:Fe(i,a),fields:[]}},e:function(e,t,n,s,i,a,l,r,o,c){ce[e].fields.push({fieldName:he(t),getterReturnType:n,getter:Fe(s,i),getterContext:a,setterArgumentType:l,setter:Fe(r,o),setterContext:c})},R:function(e,t){Ie(e,{isVoid:!0,name:t=he(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},k:function(e,t,n){e=Ke.toValue(e),t=Qe(t,\"emval::as\");var s=[],i=Ke.toHandle(s);return g[n>>>2]=i,t.toWireType(s,e)},v:function(e,t,n,s){e=Ke.toValue(e);for(var i=function(e,t){for(var n=new Array(e),s=0;s>>2],\"parameter \"+s);return n}(t,n),a=new Array(t),l=0;l4&&(Ye[e].refcount+=1)},E:function(e,t){return(e=Ke.toValue(e))instanceof Ke.toValue(t)},x:function(e){return\"number\"==typeof(e=Ke.toValue(e))},D:function(e){return\"string\"==typeof(e=Ke.toValue(e))},U:function(){return Ke.toHandle([])},f:function(e){return Ke.toHandle(ct(e))},u:function(){return Ke.toHandle({})},j:function(e){Z(Ke.toValue(e)),Xe(e)},m:function(e,t,n){e=Ke.toValue(e),t=Ke.toValue(t),n=Ke.toValue(n),e[t]=n},d:function(e,t){var n=(e=Qe(e,\"_emval_take_value\")).readValueFromPointer(t);return Ke.toHandle(n)},z:function(){F(\"\")},O:function(e,t,n){v.copyWithin(e>>>0,t>>>0,t+n>>>0)},M:function(e){var t,n=v.length,s=4294901760;if((e>>>=0)>s)return!1;for(var i=1;i<=4;i*=2){var a=n*(1+.2/i);if(a=Math.min(a,e+100663296),pt(Math.min(s,(t=Math.max(e,a))+(65536-t%65536)%65536)))return!0}return!1},I:function(e,t){var n=0;return dt().forEach((function(s,i){var a=t+n;g[e+4*i>>>2]=a,function(e,t,n){for(var s=0;s>>0]=e.charCodeAt(s);y[t>>>0]=0}(s,a),n+=s.length+1})),0},J:function(e,t){var n=dt();g[e>>>2]=n.length;var s=0;return n.forEach((function(e){s+=e.length+1})),g[t>>>2]=s,0},K:function(e){try{var t=Et.getStreamFromFD(e);return Tt.close(t),0}catch(e){if(void 0===Tt||!(e instanceof Tt.ErrnoError))throw e;return e.errno}},L:function(e,t,n,s){try{var i=function(e,t,n,s){for(var i=0,a=0;a>>2],r=g[t+4>>>2];t+=8;var o=Tt.read(e,y,l,r,s);if(o<0)return-1;if(i+=o,o>>2]=i,0}catch(e){if(void 0===Tt||!(e instanceof Tt.ErrnoError))throw e;return e.errno}},F:function(e,t,n,s,i){try{var a=(o=n)+2097152>>>0<4194305-!!(r=t)?(r>>>0)+4294967296*o:NaN;if(isNaN(a))return 61;var l=Et.getStreamFromFD(e);return Tt.llseek(l,a,s),z=[l.position>>>0,(j=l.position,+Math.abs(j)>=1?j>0?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],E[i>>>2]=z[0],E[i+4>>>2]=z[1],l.getdents&&0===a&&0===s&&(l.getdents=null),0}catch(e){if(void 0===Tt||!(e instanceof Tt.ErrnoError))throw e;return e.errno}var r,o},N:function(e,t,n,s){try{var i=function(e,t,n,s){for(var i=0,a=0;a>>2],r=g[t+4>>>2];t+=8;var o=Tt.write(e,y,l,r,s);if(o<0)return-1;i+=o,void 0!==s&&(s+=o)}return i}(Et.getStreamFromFD(e),t,n);return g[s>>>2]=i,0}catch(e){if(void 0===Tt||!(e instanceof Tt.ErrnoError))throw e;return e.errno}},H:function(e,t,n,s,i){return function(e,t,n,s){var i=E[s+40>>>2],a={tm_sec:E[s>>>2],tm_min:E[s+4>>>2],tm_hour:E[s+8>>>2],tm_mday:E[s+12>>>2],tm_mon:E[s+16>>>2],tm_year:E[s+20>>>2],tm_wday:E[s+24>>>2],tm_yday:E[s+28>>>2],tm_isdst:E[s+32>>>2],tm_gmtoff:E[s+36>>>2],tm_zone:i?O(i):\"\"},l=O(n),r={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var o in r)l=l.replace(new RegExp(o,\"g\"),r[o]);var c=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],u=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function p(e,t,n){for(var s=\"number\"==typeof e?e.toString():e||\"\";s.length0?1:0}var s;return 0===(s=n(e.getFullYear()-t.getFullYear()))&&0===(s=n(e.getMonth()-t.getMonth()))&&(s=n(e.getDate()-t.getDate())),s}function f(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function I(e){var t=function(e,t){for(var n=new Date(e.getTime());t>0;){var s=gt(n.getFullYear()),i=n.getMonth(),a=(s?Rt:Dt)[i];if(!(t>a-n.getDate()))return n.setDate(n.getDate()+t),n;t-=a-n.getDate()+1,n.setDate(1),i<11?n.setMonth(i+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n}(new Date(e.tm_year+1900,0,1),e.tm_yday),n=new Date(t.getFullYear(),0,4),s=new Date(t.getFullYear()+1,0,4),i=f(n),a=f(s);return d(i,t)<=0?d(a,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var m={\"%a\":function(e){return c[e.tm_wday].substring(0,3)},\"%A\":function(e){return c[e.tm_wday]},\"%b\":function(e){return u[e.tm_mon].substring(0,3)},\"%B\":function(e){return u[e.tm_mon]},\"%C\":function(e){return h((e.tm_year+1900)/100|0,2)},\"%d\":function(e){return h(e.tm_mday,2)},\"%e\":function(e){return p(e.tm_mday,2,\" \")},\"%g\":function(e){return I(e).toString().substring(2)},\"%G\":function(e){return I(e)},\"%H\":function(e){return h(e.tm_hour,2)},\"%I\":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),h(t,2)},\"%j\":function(e){return h(e.tm_mday+function(e,t){for(var n=0,s=0;s<=t;n+=e[s++]);return n}(gt(e.tm_year+1900)?Rt:Dt,e.tm_mon-1),3)},\"%m\":function(e){return h(e.tm_mon+1,2)},\"%M\":function(e){return h(e.tm_min,2)},\"%n\":function(){return\"\\n\"},\"%p\":function(e){return e.tm_hour>=0&&e.tm_hour<12?\"AM\":\"PM\"},\"%S\":function(e){return h(e.tm_sec,2)},\"%t\":function(){return\"\\t\"},\"%u\":function(e){return e.tm_wday||7},\"%U\":function(e){var t=e.tm_yday+7-e.tm_wday;return h(Math.floor(t/7),2)},\"%V\":function(e){var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var n=(e.tm_wday+371-e.tm_yday)%7;4==n||3==n&>(e.tm_year)||(t=1)}}else{t=52;var s=(e.tm_wday+7-e.tm_yday-1)%7;(4==s||5==s&>(e.tm_year%400-1))&&t++}return h(t,2)},\"%w\":function(e){return e.tm_wday},\"%W\":function(e){var t=e.tm_yday+7-(e.tm_wday+6)%7;return h(Math.floor(t/7),2)},\"%y\":function(e){return(e.tm_year+1900).toString().substring(2)},\"%Y\":function(e){return e.tm_year+1900},\"%z\":function(e){var t=e.tm_gmtoff,n=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(n?\"+\":\"-\")+String(\"0000\"+t).slice(-4)},\"%Z\":function(e){return e.tm_zone},\"%%\":function(){return\"%\"}};for(var o in l=l.replace(/%%/g,\"\\0\\0\"),m)l.includes(o)&&(l=l.replace(new RegExp(o,\"g\"),m[o](a)));var v,w,T=mt(l=l.replace(/\\0\\0/g,\"%\"),!1);return T.length>t?0:(v=T,w=e,y.set(v,w>>>0),T.length-1)}(e,t,n,s)}},Ot=(function(){var e={a:Nt};function t(e,t){var n,s=e.exports;i.asm=s,h=i.asm.V,C(),S=i.asm.X,n=i.asm.W,P.unshift(n),U()}function n(e){t(e.instance)}function a(t){return(p||\"function\"!=typeof fetch?Promise.resolve().then((function(){return k(G)})):fetch(G,{credentials:\"same-origin\"}).then((function(e){if(!e.ok)throw\"failed to load wasm binary file at '\"+G+\"'\";return e.arrayBuffer()})).catch((function(){return k(G)}))).then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){f(\"failed to asynchronously prepare wasm: \"+e),F(e)}))}if(B(),i.instantiateWasm)try{return i.instantiateWasm(e,t)}catch(e){f(\"Module.instantiateWasm callback failed with error: \"+e),s(e)}(p||\"function\"!=typeof WebAssembly.instantiateStreaming||W(G)||\"function\"!=typeof fetch?a(n):fetch(G,{credentials:\"same-origin\"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(n,(function(e){return f(\"wasm streaming compile failed: \"+e),f(\"falling back to ArrayBuffer instantiation\"),a(n)}))}))).catch(s)}(),function(){return(Ot=i.asm.Y).apply(null,arguments)}),At=i.___getTypeName=function(){return(At=i.___getTypeName=i.asm.Z).apply(null,arguments)},xt=(i.__embind_initialize_bindings=function(){return(i.__embind_initialize_bindings=i.asm._).apply(null,arguments)},function(){return(xt=i.asm.$).apply(null,arguments)}),Ct=function(){return(Ct=i.asm.aa).apply(null,arguments)};function Lt(){function e(){bt||(bt=!0,i.calledRun=!0,I||(i.noFSInit||Tt.init.initialized||Tt.init(),Tt.ignorePermissions=!1,yt.init(),Y(P),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for(\"function\"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)e=i.postRun.shift(),q.unshift(e);var e;Y(q)}()))}_>0||(function(){if(i.preRun)for(\"function\"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)e=i.preRun.shift(),L.unshift(e);var e;Y(L)}(),_>0||(i.setStatus?(i.setStatus(\"Running...\"),setTimeout((function(){setTimeout((function(){i.setStatus(\"\")}),1),e()}),1)):e()))}if(i.dynCall_jiji=function(){return(i.dynCall_jiji=i.asm.ba).apply(null,arguments)},i.dynCall_viijii=function(){return(i.dynCall_viijii=i.asm.ca).apply(null,arguments)},i.dynCall_iiiiij=function(){return(i.dynCall_iiiiij=i.asm.da).apply(null,arguments)},i.dynCall_iiiiijj=function(){return(i.dynCall_iiiiijj=i.asm.ea).apply(null,arguments)},i.dynCall_iiiiiijj=function(){return(i.dynCall_iiiiiijj=i.asm.fa).apply(null,arguments)},H=function e(){bt||Lt(),bt||(H=e)},i.preInit)for(\"function\"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return Lt(),e.ready});\"object\"==typeof e&&\"object\"==typeof t?t.exports=s:\"function\"==typeof define&&define.amd?define([],(function(){return s})):\"object\"==typeof e&&(e.WebIFCWasm=s)}}),E=1971632696,g=2680139844,R=24726584,D=3693000487,S=3460952963,b=3999819293,N=3314249567,O=4196446775,A=325726236,x=3425753595,C=991950508,L=3798194928,P=3290496277,q=1383356374,_=2182337498,M=234836483,H=2078563270,B=1638804497,U=1154579445,F=2696325953,G=2713699986,V=2142170206,j=3376911765,z=1077100507,W=3071239417,k=479945903,Y=3426335179,X=1502416096,K=2940368186,Z=3203706013,Q=3862327254,J=1876633798,$=963979645,ee=644574406,te=3649138523,ne=1662888072,se=317615605,ie=1545765605,ae=4266260250,le=3956297820,re=1530820697,oe=840318589,ce=1953115116,ue=618700268,pe=2281632017,he=3663046924,de=42703149,fe=1894708472,Ie=3599934289,me=33720170,ye=1027922057,ve=544395925,we=3649235739,Te=550521510,Ee=146592293,ge=3818125796,Re=4021432810,De=1891881377,Se=3992365140,be=1763565496,Ne=1946335990,Oe=514975943,Ae=506776471,xe=710110818,Ce=1950438474,Le=976884017,Pe=525669439,qe=1770583370,_e=2176059722,Me=679976338,He=3948183225,Be=2568555532,Ue=2898700619,Fe=1594536857,Ge=4230923436,Ve=4228831410,je=1310830890,ze=24185140,We=4234616927,ke=1306400036,Ye=4189326743,Xe=2000195564,Ke=3497074424,Ze=1626504194,Qe=3651464721,Je=1229763772,$e=3665877780,et=782932809,tt=2735484536,nt=1356537516,st=1290935644,it=1862484736,at=1441486842,lt=1033248425,rt=3381221214,ot=2485787929,ct=590820931,ut=3465909080,pt=593015953,ht=4212018352,dt=3425423356,ft=823603102,It=2165702409,mt=222769930,yt=2691318326,vt=25142252,wt=3087945054,Tt=4288193352,Et=630975310,gt=4086658281,Rt=2295281155,Dt=182646315,St=1426591983,bt=819412036,Nt=3415622556,Ot=1003880860,At=402227799,xt=264262732,Ct=3310460725,Lt=862014818,Pt=1904799276,qt=1360408905,_t=3518393246,Mt=342316401,Ht=562808652,Bt=4074379575,Ut=3640358203,Ft=4136498852,Gt=2272882330,Vt=3571504051,jt=3221913625,zt=639361253,Wt=3902619387,kt=4217484030,Yt=1051757585,Xt=3758799889,Kt=635142910,Zt=2938176219,Qt=32344328,Jt=2906023776,$t=277319702,en=2056796094,tn=177149247,nn=1634111441,sn=486154966,an=4237592921,ln=4156078855,rn=4207607924,on=4292641817,cn=3179687236,un=3026737570,pn=3825984169,hn=812556717,dn=1162798199,fn=385403989,In=1404847402,mn=1999602285,yn=3420628829,vn=3027962421,wn=3127900445,Tn=1329646415,En=3053780830,gn=2572171363,Rn=1232101972,Dn=90941305,Sn=655969474,bn=738039164,Nn=1156407060,On=3612865200,An=310824031,xn=3694346114,Cn=144952367,Ln=2474470126,Pn=1911478936,qn=1437502449,_n=629592764,Mn=76236018,Hn=2176052936,Bn=4175244083,Un=2068733104,Fn=3319311131,Gn=2188021234,Vn=1209101575,jn=484807127,zn=3747195512,Wn=2814081492,kn=2417008758,Yn=3242481149,Xn=3205830791,Kn=400855858,Zn=905975707,Qn=1677625105,Jn=3296154744,$n=2674252688,es=2188180465,ts=1177604601,ns=39481116,ss=1136057603,is=2461110595,as=1532957894,ls=4088093105,rs=4009809668,os=926996030,cs=2391383451,us=2415094496,ps=3081323446,hs=413509423,ds=3101698114,fs=3657597509,Is=2757150158,ms=1004757350,ys=338393293,vs=1072016465,ws=4074543187,Ts=2157484638,Es=2781568857,gs=2310774935,Rs=964333572,Ds=683857671,Ss=1469900589,bs=2839578677,Ns=1158309216,Os=3079942009,As=1114901282,xs=3113134337,Cs=3946677679,Ls=2571569899,Ps=3493046030,qs=1509553395,_s=1893162501,Ms=2853485674,Hs=4148101412,Bs=132023988,Us=2397081782,Fs=2323601079,Gs=1213902940,Vs=1525564444,js=4105962743,zs=2185764099,Ws=15328376,ks=3875453745,Ys=3893394355,Xs=2197970202,Ks=167062518,Zs=2887950389,Qs=2603310189,Js=1635779807,$s=2916149573,ei=1935646853,ti=2387106220,ni=3206491090,si=699246055,ii=4095615324,ai=603775116,li=4015995234,ri=2481509218,oi=463610769,ci=710998568,ui=1412071761,pi=3663146110,hi=3243963512,di=816062949,fi=1521410863,Ii=3523091289,mi=427948657,yi=307848117,vi=1462361463,wi=2565941209,Ti=1027710054,Ei=3521284610,gi=492091185,Ri=653396225,Di=569719735,Si=3967405729,bi=1682466193,Ni=428585644,Oi=2294589976,Ai=178912537,xi=4095422895,Ci=2652556860,Li=2804161546,Pi=4024345920,qi=2629017746,_i=1815067380,Mi=3419103109,Hi=2574617495,Bi=2059837836,Ui=1675464909,Fi=574549367,Gi=3406155212,Vi=3698973494,ji=3736923433,zi=901063453,Wi=1096409881,ki=1042787934,Yi=1608871552,Xi=2943643501,Ki=2090586900,Zi=1482703590,Qi=3778827333,Ji=2998442950,$i=853536259,ea=3404854881,ta=3079605661,na=2852063980,sa=3708119e3,ia=1585845231,aa=2133299955,la=1437953363,ra=3570813810,oa=1437805879,ca=297599258,ua=211053100,pa=2713554722,ha=3285139300,da=1236880293,fa=3611470254,Ia=2771591690,ma=1549132990,ya=2934153892,va=609421318,wa=3478079324,Ta=3843373140,Ea=552965576,ga=164193824,Ra=2235152071,Da=1847252529,Sa=3057273783,ba=1785450214,Na=775493141,Oa=979691226,Aa=3700593921,xa=1062813311,Ca=1052013943,La=578613899,Pa=2454782716,qa=753842376,_a=3001207471,Ma=2874132201,Ha=3304561284,Ba=3512223829,Ua=2391406946,Fa=3313531582,Ga=2347447852,Va=3824725483,ja=2515109513,za=4252922144,Wa=331165859,ka=1529196076,Ya=1783015770,Xa=1376911519,Ka=2016517767,Za=2320036040,Qa=3027567501,Ja=3055160366,$a=3283111854,el=3024970846,tl=2262370178,nl=3171933400,sl=1687234759,il=1073191201,al=900683007,ll=3508470533,rl=2223149337,ol=707683696,cl=987401354,ul=3132237377,pl=4037862832,hl=4278956645,dl=2058353004,fl=4222183408,Il=1810631287,ml=346874300,yl=1658829314,vl=857184966,wl=1634875225,Tl=712377611,El=1217240411,gl=1365060375,Rl=1534661035,Dl=3277789161,Sl=663422040,bl=855621170,Nl=2030761528,Ol=3760055223,Al=869906466,xl=395920057,Cl=3041715199,Ll=3040386961,Pl=1945004755,ql=2063403501,_l=1599208980,Ml=2635815018,Hl=1335981549,Bl=4147604152,Ul=3961806047,Fl=3495092785,Gl=1973544240,Vl=2954562838,jl=335055490,zl=488727124,Wl=1060000209,kl=3898045240,Yl=1163958913,Xl=2188551683,Kl=2816379211,Zl=3850581409,Ql=843113511,Jl=2301859152,$l=2611217952,er=2951183804,tr=1285652485,nr=3293546465,sr=395041908,ir=1909888760,ar=1095909175,lr=2979338954,rr=52481810,or=3299480353,cr=231477066,ur=1916977116,pr=819618141,hr=1967976161,dr=3460190687,fr=2470393545,Ir=1871374353,mr=3352864051,yr=1411407467,vr=3821786052,wr=1213861670,Tr=1033361043,Er=3342526732,gr=4218914973,Rr=1028945134,Dr=1133259667,Sr=1898987631,br=2769231204,Nr=728799441,Or=1911125066,Ar=1600972822,xr=3593883385,Cr=1620046519,Lr=1692211062,Pr=1637806684,qr=5716631,_r=2254336722,Mr=2315554128,Hr=148013059,Br=1975003073,Ur=2986769608,Fr=1235345126,Gr=734778138,Vr=2082059205,jr=3987759626,zr=1621171031,Wr=1252848954,kr=1721250024,Yr=1807405624,Xr=2445595289,Kr=214636428,Zr=4243806635,Qr=1179482911,Jr=682877961,$r=1039846685,eo=3112655638,to=3812236995,no=652456506,so=1305183839,io=3856911033,ao=2533589738,lo=4097777520,ro=4105383287,oo=3517283431,co=1768891740,uo=2863920197,po=160246688,ho=2324767716,fo=2893384427,Io=3248260540,mo=2250791053,yo=1842657554,vo=3651124850,wo=3642467123,To=2904328755,Eo=2744685151,go=3740093272,Ro=3724593414,Do=4017108033,So=4231323485,bo=804291784,No=3327091369,Oo=2382730787,Ao=2837617999,xo=3425660407,Co=3588315303,Lo=4143007308,Po=1916936684,qo=977012517,_o=3181161470,Mo=2108223431,Ho=377706215,Bo=2506943328,Uo=1161773419,Fo=1051575348,Go=3827777499,Vo=4288270099,jo=2391368822,zo=1806887404,Wo=1251058090,ko=2706460486,Yo=3009204131,Xo=200128114,Ko=814719939,Zo=263784265,Qo=3009222698,Jo=2297155007,$o=1339347760,ec=1834744321,tc=1482959167,nc=3815607619,sc=3198132628,ic=3907093117,ac=1287392070,lc=2143335405,rc=2827207264,oc=2489546625,cc=647756555,uc=3737207727,pc=807026263,hc=3390157468,dc=3174744832,fc=3272907226,Ic=1962604670,mc=2107101300,yc=1704287377,vc=2590856083,wc=1623761950,Tc=4123344466,Ec=1758889154,gc=360485395,Rc=3849074793,Dc=3256556792,Sc=681481545,bc=1457835157,Nc=3295246426,Oc=1916426348,Ac=1419761937,xc=3895139033,Cc=3293443760,Lc=2559216714,Pc=2510884976,qc=3732776249,_c=300633059,Mc=2937912522,Hc=3124254112,Bc=1950629157,Uc=4031249490,Fc=1260505505,Gc=3649129432,Vc=1334484129,jc=3207858831,zc=1674181508,Wc=2296667514,kc=2097647324,Yc=3473067441,Xc=1580310250,Kc=4124788165,Zc=2809605785,Qc=2028607225,Jc=4070609034,$c=2218152070,eu=3979015343,tu=3689010777,nu=530289379,su=3136571912,iu=3544373492,au=451544542,lu=3893378262,ru=2706606064,ou=3626867408,cu=4158566097,uu=1856042241,pu=2914609552,hu=1401173127,du=3451746338,fu=366585022,Iu=4122056220,mu=1058617721,yu=1245217292,vu=750771296,wu=202636808,Tu=2051452291,Eu=3268803585,gu=4189434867,Ru=279856033,Du=3940055652,Su=781010003,bu=4186316022,Nu=693640335,Ou=2551354335,Au=2802773753,xu=886880790,Cu=3242617779,Lu=3678494232,Pu=504942748,qu=1638771189,_u=3912681535,Mu=2127690289,Hu=3190031847,Bu=4201705270,Uu=3945020480,Fu=1204542856,Gu=826625072,Vu=2851387026,ju=2655215786,zu=3840914261,Wu=982818633,ku=2728634034,Yu=919958153,Xu=4095574036,Ku=1327628568,Zu=1865459582,Qu=205026976,Ju=3372526763,$u=2857406711,ep=4278684876,tp=1307041759,np=2495723537,sp=1683148259,ip=3939117080,ap=3454111270,lp=2798486643,rp=2770003689,op=3219374653,cp=1451395588,up=4194566429,pp=103090709,hp=4208778838,dp=2945172077,fp=220341763,Ip=603570806,mp=3566463478,yp=3505215534,vp=3388369263,wp=3888040117,Tp=1425443689,Ep=1281925730,gp=572779678,Rp=1484403080,Dp=987898635,Sp=1268542332,bp=4238390223,Np=3455213021,Op=315944413,Ap=4203026998,xp=374418227,Cp=2047409740,Lp=477187591,Pp=80994333,qp=2835456948,_p=2777663545,Mp=339256511,Hp=1883228015,Bp=1472233963,Up=4006246654,Fp=445594917,Gp=3073041342,Vp=526551008,jp=1714330368,zp=2963535650,Wp=32440307,kp=4054601972,Yp=606661476,Xp=693772133,Kp=2827736869,Zp=2601014836,Qp=2147822146,Jp=2506170314,$p=194851669,eh=4133800736,th=2485617015,nh=2205249479,sh=1383045692,ih=1416205885,ah=3331915920,lh=3486308946,rh=3749851601,oh=59481748,ch=1123145078,uh=2898889636,ph=2713105998,hh=2581212453,dh=4182860854,fh=2736907675,Ih=2740243338,mh=3125803723,yh=4261334040,vh=1302238472,wh=2265737646,Th=669184980,Eh=3288037868,gh=2543172580,Rh=1299126871,Dh=512836454,Sh=336235671,bh=2759199220,Nh=1417489154,Oh=427810014,Ah=2347495698,xh=1628702193,Ch=1345879162,Lh=2715220739,Ph=3124975700,qh=4282788508,_h=3028897424,Mh=3071757647,Hh=230924584,Bh=1260650574,Uh=2247615214,Fh=1878645084,Gh=2513912981,Vh=2233826070,jh=3653947884,zh=3843319758,Wh=1190533807,kh=1597423693,Yh=1973038258,Xh=2473145415,Kh=2668620305,Zh=1595516126,Qh=390701378,Jh=1202362311,$h=2485662743,ed=723233188,td=2609359061,nd=4124623270,sd=2411513650,id=1509187699,ad=2778083089,ld=478536968,rd=3765753017,od=3413951693,cd=3615266464,ud=110355661,pd=3650150729,hd=3357820518,dd=941946838,fd=2752243245,Id=4166981789,md=1680319473,yd=871118103,vd=673634403,wd=179317114,Td=433424934,Ed=2559016684,gd=759155922,Rd=2775532180,Dd=2924175390,Sd=1423911732,bd=4022376103,Nd=2067069095,Od=1663979128,Ad=2004835150,xd=597895409,Cd=3021840470,Ld=2519244187,Pd=2529465313,qd=1029017970,_d=2665983363,Md=2833995503,Hd=219451334,Bd=1430189142,Ud=2022407955,Fd=2347385850,Gd=1008929658,Vd=2624227202,jd=3422422726,zd=1520743889,Wd=4266656042,kd=2604431987,Yd=125510826,Xd=1402838566,Kd=3741457305,Zd=3905492369,Qd=812098782,Jd=178086475,$d=3590301190,ef=4142052618,tf=2453401579,nf=3448662350,sf=738692330,af=4219587988,lf=3008276851,rf=803316827,of=1809719519,cf=2556980723,uf=476780140,pf=3900360178,hf=4170525392,df=3732053477,ff=3632507154,If=3800577675,mf=2889183280,yf=3050246964,vf=45288368,wf=1981873012,Tf=370225590,Ef=1485152156,gf=2542286263,Rf=776857604,Df=647927063,Sf=3150382593,bf=616511568,Nf=2705031697,Of=1310608509,Af=3798115385,xf=2297822566,Cf=3612888222,Lf=962685235,Pf=2442683028,qf=891718957,_f=1907098498,Mf=2799835756,Hf=180925521,Bf=1735638870,Uf=1377556343,Ff=1718945513,Gf=1210645708,Vf=2552916305,jf=1742049831,zf=280115917,Wf=1640371178,kf=2636378356,Yf=1983826977,Xf=1447204868,Kf=912023232,Zf=626085974,Qf=1351298697,Jf=846575682,$f=1607154358,eI=3303107099,tI=1300840506,nI=3049322572,sI=3958052878,iI=2830218821,aI=3408363356,lI=2525727697,rI=3692461612,oI=4240577450,cI=3982875396,uI=867548509,pI=4165799628,hI=2042790032,dI=448429030,fI=1660063152,II=1076942058,mI=1580146022,yI=2692823254,vI=825690147,wI=2405470396,TI=3252649465,EI=931644368,gI=2093928680,RI=2044713172,DI=3710013099,SI=148025276,bI=3896028662,NI=2598011224,OI=2802850158,AI=2095639259,xI=1304840413,CI=2022622350,LI=1775413392,PI=3213052703,qI=3727388367,_I=3355820592,MI=2226359599,HI=101040310,BI=2077209135,UI=1411181986,FI=4251960020,GI=2251480897,VI=3701648758,jI=3368373690,zI=677618848,WI=3265635763,kI=1303795690,YI=3303938423,XI=248100487,KI=1838606355,ZI=3452421091,QI=2655187982,JI=3548104201,$I=1040185647,em=2242383968,tm=3796139169,nm=770865208,sm=1154170062,im=3510044353,am=2367409068,lm=1105321065,rm=539742890,om=602808272,cm=347226245,um=613356794,pm=1658513725,hm=2732653382,dm=2614616156,fm=3264961684,Im=1098599126,mm=747523909,ym=2069777674,vm=1387855156,wm=3367102660,Tm=1560379544,Em=3869604511,gm=1110488051,Rm=599546466,Dm=1390159747,Sm=1109904537,bm=class{constructor(e){this.value=e,this.type=5}},Nm=class{constructor(e){this.expressID=e,this.type=0}},Om=[],Am={},xm={},Cm={},Lm={},Pm={},qm=[];function _m(e,t){return Array.isArray(t)&&t.map((t=>_m(e,t))),t.typecode?Pm[e][t.typecode](t.value):t.value}function Mm(e){return e.value=e.value.toString(),e.valueType=e.type,e.type=2,e.label=e.constructor.name.toUpperCase(),e}(i=s||(s={})).IFC2X3=\"IFC2X3\",i.IFC4=\"IFC4\",i.IFC4X3=\"IFC4X3\",qm[1]=[\"IFC2X3\",\"IFC2X_FINAL\"],Om[1]={3630933823:(e,t)=>new a.IfcActorRole(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcText(t[2].value):null),618182010:(e,t)=>new a.IfcAddress(e,t[0],t[1]?new a.IfcText(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),639542469:(e,t)=>new a.IfcApplication(e,new bm(t[0].value),new a.IfcLabel(t[1].value),new a.IfcLabel(t[2].value),new a.IfcIdentifier(t[3].value)),411424972:(e,t)=>new a.IfcAppliedValue(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null),1110488051:(e,t)=>new a.IfcAppliedValueRelationship(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2],t[3]?new a.IfcLabel(t[3].value):null,t[4]?new a.IfcText(t[4].value):null),130549933:(e,t)=>new a.IfcApproval(e,t[0]?new a.IfcText(t[0].value):null,new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcLabel(t[3].value):null,t[4]?new a.IfcText(t[4].value):null,new a.IfcLabel(t[5].value),new a.IfcIdentifier(t[6].value)),2080292479:(e,t)=>new a.IfcApprovalActorRelationship(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value)),390851274:(e,t)=>new a.IfcApprovalPropertyRelationship(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value)),3869604511:(e,t)=>new a.IfcApprovalRelationship(e,new bm(t[0].value),new bm(t[1].value),t[2]?new a.IfcText(t[2].value):null,new a.IfcLabel(t[3].value)),4037036970:(e,t)=>new a.IfcBoundaryCondition(e,t[0]?new a.IfcLabel(t[0].value):null),1560379544:(e,t)=>new a.IfcBoundaryEdgeCondition(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcModulusOfLinearSubgradeReactionMeasure(t[1].value):null,t[2]?new a.IfcModulusOfLinearSubgradeReactionMeasure(t[2].value):null,t[3]?new a.IfcModulusOfLinearSubgradeReactionMeasure(t[3].value):null,t[4]?new a.IfcModulusOfRotationalSubgradeReactionMeasure(t[4].value):null,t[5]?new a.IfcModulusOfRotationalSubgradeReactionMeasure(t[5].value):null,t[6]?new a.IfcModulusOfRotationalSubgradeReactionMeasure(t[6].value):null),3367102660:(e,t)=>new a.IfcBoundaryFaceCondition(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcModulusOfSubgradeReactionMeasure(t[1].value):null,t[2]?new a.IfcModulusOfSubgradeReactionMeasure(t[2].value):null,t[3]?new a.IfcModulusOfSubgradeReactionMeasure(t[3].value):null),1387855156:(e,t)=>new a.IfcBoundaryNodeCondition(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLinearStiffnessMeasure(t[1].value):null,t[2]?new a.IfcLinearStiffnessMeasure(t[2].value):null,t[3]?new a.IfcLinearStiffnessMeasure(t[3].value):null,t[4]?new a.IfcRotationalStiffnessMeasure(t[4].value):null,t[5]?new a.IfcRotationalStiffnessMeasure(t[5].value):null,t[6]?new a.IfcRotationalStiffnessMeasure(t[6].value):null),2069777674:(e,t)=>new a.IfcBoundaryNodeConditionWarping(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLinearStiffnessMeasure(t[1].value):null,t[2]?new a.IfcLinearStiffnessMeasure(t[2].value):null,t[3]?new a.IfcLinearStiffnessMeasure(t[3].value):null,t[4]?new a.IfcRotationalStiffnessMeasure(t[4].value):null,t[5]?new a.IfcRotationalStiffnessMeasure(t[5].value):null,t[6]?new a.IfcRotationalStiffnessMeasure(t[6].value):null,t[7]?new a.IfcWarpingMomentMeasure(t[7].value):null),622194075:(e,t)=>new a.IfcCalendarDate(e,new a.IfcDayInMonthNumber(t[0].value),new a.IfcMonthInYearNumber(t[1].value),new a.IfcYearNumber(t[2].value)),747523909:(e,t)=>new a.IfcClassification(e,new a.IfcLabel(t[0].value),new a.IfcLabel(t[1].value),t[2]?new bm(t[2].value):null,new a.IfcLabel(t[3].value)),1767535486:(e,t)=>new a.IfcClassificationItem(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new a.IfcLabel(t[2].value)),1098599126:(e,t)=>new a.IfcClassificationItemRelationship(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),938368621:(e,t)=>new a.IfcClassificationNotation(e,t[0].map((e=>new bm(e.value)))),3639012971:(e,t)=>new a.IfcClassificationNotationFacet(e,new a.IfcLabel(t[0].value)),3264961684:(e,t)=>new a.IfcColourSpecification(e,t[0]?new a.IfcLabel(t[0].value):null),2859738748:(e,t)=>new a.IfcConnectionGeometry(e),2614616156:(e,t)=>new a.IfcConnectionPointGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),4257277454:(e,t)=>new a.IfcConnectionPortGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value)),2732653382:(e,t)=>new a.IfcConnectionSurfaceGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),1959218052:(e,t)=>new a.IfcConstraint(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2],t[3]?new a.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null),1658513725:(e,t)=>new a.IfcConstraintAggregationRelationship(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value))),t[4]),613356794:(e,t)=>new a.IfcConstraintClassificationRelationship(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),347226245:(e,t)=>new a.IfcConstraintRelationship(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),1065062679:(e,t)=>new a.IfcCoordinatedUniversalTimeOffset(e,new a.IfcHourInDay(t[0].value),t[1]?new a.IfcMinuteInHour(t[1].value):null,t[2]),602808272:(e,t)=>new a.IfcCostValue(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null,new a.IfcLabel(t[6].value),t[7]?new a.IfcText(t[7].value):null),539742890:(e,t)=>new a.IfcCurrencyRelationship(e,new bm(t[0].value),new bm(t[1].value),new a.IfcPositiveRatioMeasure(t[2].value),new bm(t[3].value),t[4]?new bm(t[4].value):null),1105321065:(e,t)=>new a.IfcCurveStyleFont(e,t[0]?new a.IfcLabel(t[0].value):null,t[1].map((e=>new bm(e.value)))),2367409068:(e,t)=>new a.IfcCurveStyleFontAndScaling(e,t[0]?new a.IfcLabel(t[0].value):null,new bm(t[1].value),new a.IfcPositiveRatioMeasure(t[2].value)),3510044353:(e,t)=>new a.IfcCurveStyleFontPattern(e,new a.IfcLengthMeasure(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value)),1072939445:(e,t)=>new a.IfcDateAndTime(e,new bm(t[0].value),new bm(t[1].value)),1765591967:(e,t)=>new a.IfcDerivedUnit(e,t[0].map((e=>new bm(e.value))),t[1],t[2]?new a.IfcLabel(t[2].value):null),1045800335:(e,t)=>new a.IfcDerivedUnitElement(e,new bm(t[0].value),t[1].value),2949456006:(e,t)=>new a.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value),1376555844:(e,t)=>new a.IfcDocumentElectronicFormat(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),1154170062:(e,t)=>new a.IfcDocumentInformation(e,new a.IfcIdentifier(t[0].value),new a.IfcLabel(t[1].value),t[2]?new a.IfcText(t[2].value):null,t[3]?t[3].map((e=>new bm(e.value))):null,t[4]?new a.IfcText(t[4].value):null,t[5]?new a.IfcText(t[5].value):null,t[6]?new a.IfcText(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new bm(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]?new bm(t[11].value):null,t[12]?new bm(t[12].value):null,t[13]?new bm(t[13].value):null,t[14]?new bm(t[14].value):null,t[15],t[16]),770865208:(e,t)=>new a.IfcDocumentInformationRelationship(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),3796139169:(e,t)=>new a.IfcDraughtingCalloutRelationship(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value)),1648886627:(e,t)=>new a.IfcEnvironmentalImpactValue(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null,new a.IfcLabel(t[6].value),t[7],t[8]?new a.IfcLabel(t[8].value):null),3200245327:(e,t)=>new a.IfcExternalReference(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcIdentifier(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),2242383968:(e,t)=>new a.IfcExternallyDefinedHatchStyle(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcIdentifier(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),1040185647:(e,t)=>new a.IfcExternallyDefinedSurfaceStyle(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcIdentifier(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),3207319532:(e,t)=>new a.IfcExternallyDefinedSymbol(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcIdentifier(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),3548104201:(e,t)=>new a.IfcExternallyDefinedTextFont(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcIdentifier(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),852622518:(e,t)=>new a.IfcGridAxis(e,t[0]?new a.IfcLabel(t[0].value):null,new bm(t[1].value),new a.IfcBoolean(t[2].value)),3020489413:(e,t)=>new a.IfcIrregularTimeSeriesValue(e,new bm(t[0].value),t[1].map((e=>_m(1,e)))),2655187982:(e,t)=>new a.IfcLibraryInformation(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new bm(e.value))):null),3452421091:(e,t)=>new a.IfcLibraryReference(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcIdentifier(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),4162380809:(e,t)=>new a.IfcLightDistributionData(e,new a.IfcPlaneAngleMeasure(t[0].value),t[1].map((e=>new a.IfcPlaneAngleMeasure(e.value))),t[2].map((e=>new a.IfcLuminousIntensityDistributionMeasure(e.value)))),1566485204:(e,t)=>new a.IfcLightIntensityDistribution(e,t[0],t[1].map((e=>new bm(e.value)))),30780891:(e,t)=>new a.IfcLocalTime(e,new a.IfcHourInDay(t[0].value),t[1]?new a.IfcMinuteInHour(t[1].value):null,t[2]?new a.IfcSecondInMinute(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new a.IfcDaylightSavingHour(t[4].value):null),1838606355:(e,t)=>new a.IfcMaterial(e,new a.IfcLabel(t[0].value)),1847130766:(e,t)=>new a.IfcMaterialClassificationRelationship(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value)),248100487:(e,t)=>new a.IfcMaterialLayer(e,t[0]?new bm(t[0].value):null,new a.IfcPositiveLengthMeasure(t[1].value),t[2]?new a.IfcLogical(t[2].value):null),3303938423:(e,t)=>new a.IfcMaterialLayerSet(e,t[0].map((e=>new bm(e.value))),t[1]?new a.IfcLabel(t[1].value):null),1303795690:(e,t)=>new a.IfcMaterialLayerSetUsage(e,new bm(t[0].value),t[1],t[2],new a.IfcLengthMeasure(t[3].value)),2199411900:(e,t)=>new a.IfcMaterialList(e,t[0].map((e=>new bm(e.value)))),3265635763:(e,t)=>new a.IfcMaterialProperties(e,new bm(t[0].value)),2597039031:(e,t)=>new a.IfcMeasureWithUnit(e,_m(1,t[0]),new bm(t[1].value)),4256014907:(e,t)=>new a.IfcMechanicalMaterialProperties(e,new bm(t[0].value),t[1]?new a.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new a.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new a.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new a.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new a.IfcThermalExpansionCoefficientMeasure(t[5].value):null),677618848:(e,t)=>new a.IfcMechanicalSteelMaterialProperties(e,new bm(t[0].value),t[1]?new a.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new a.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new a.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new a.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new a.IfcThermalExpansionCoefficientMeasure(t[5].value):null,t[6]?new a.IfcPressureMeasure(t[6].value):null,t[7]?new a.IfcPressureMeasure(t[7].value):null,t[8]?new a.IfcPositiveRatioMeasure(t[8].value):null,t[9]?new a.IfcModulusOfElasticityMeasure(t[9].value):null,t[10]?new a.IfcPressureMeasure(t[10].value):null,t[11]?new a.IfcPositiveRatioMeasure(t[11].value):null,t[12]?t[12].map((e=>new bm(e.value))):null),3368373690:(e,t)=>new a.IfcMetric(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2],t[3]?new a.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7],t[8]?new a.IfcLabel(t[8].value):null,new bm(t[9].value)),2706619895:(e,t)=>new a.IfcMonetaryUnit(e,t[0]),1918398963:(e,t)=>new a.IfcNamedUnit(e,new bm(t[0].value),t[1]),3701648758:(e,t)=>new a.IfcObjectPlacement(e),2251480897:(e,t)=>new a.IfcObjective(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2],t[3]?new a.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null,t[9],t[10]?new a.IfcLabel(t[10].value):null),1227763645:(e,t)=>new a.IfcOpticalMaterialProperties(e,new bm(t[0].value),t[1]?new a.IfcPositiveRatioMeasure(t[1].value):null,t[2]?new a.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new a.IfcPositiveRatioMeasure(t[3].value):null,t[4]?new a.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new a.IfcPositiveRatioMeasure(t[5].value):null,t[6]?new a.IfcPositiveRatioMeasure(t[6].value):null,t[7]?new a.IfcPositiveRatioMeasure(t[7].value):null,t[8]?new a.IfcPositiveRatioMeasure(t[8].value):null,t[9]?new a.IfcPositiveRatioMeasure(t[9].value):null),4251960020:(e,t)=>new a.IfcOrganization(e,t[0]?new a.IfcIdentifier(t[0].value):null,new a.IfcLabel(t[1].value),t[2]?new a.IfcText(t[2].value):null,t[3]?t[3].map((e=>new bm(e.value))):null,t[4]?t[4].map((e=>new bm(e.value))):null),1411181986:(e,t)=>new a.IfcOrganizationRelationship(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),1207048766:(e,t)=>new a.IfcOwnerHistory(e,new bm(t[0].value),new bm(t[1].value),t[2],t[3],t[4]?new a.IfcTimeStamp(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new a.IfcTimeStamp(t[7].value)),2077209135:(e,t)=>new a.IfcPerson(e,t[0]?new a.IfcIdentifier(t[0].value):null,t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3]?t[3].map((e=>new a.IfcLabel(e.value))):null,t[4]?t[4].map((e=>new a.IfcLabel(e.value))):null,t[5]?t[5].map((e=>new a.IfcLabel(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?t[7].map((e=>new bm(e.value))):null),101040310:(e,t)=>new a.IfcPersonAndOrganization(e,new bm(t[0].value),new bm(t[1].value),t[2]?t[2].map((e=>new bm(e.value))):null),2483315170:(e,t)=>new a.IfcPhysicalQuantity(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null),2226359599:(e,t)=>new a.IfcPhysicalSimpleQuantity(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null),3355820592:(e,t)=>new a.IfcPostalAddress(e,t[0],t[1]?new a.IfcText(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcLabel(t[3].value):null,t[4]?t[4].map((e=>new a.IfcLabel(e.value))):null,t[5]?new a.IfcLabel(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]?new a.IfcLabel(t[9].value):null),3727388367:(e,t)=>new a.IfcPreDefinedItem(e,new a.IfcLabel(t[0].value)),990879717:(e,t)=>new a.IfcPreDefinedSymbol(e,new a.IfcLabel(t[0].value)),3213052703:(e,t)=>new a.IfcPreDefinedTerminatorSymbol(e,new a.IfcLabel(t[0].value)),1775413392:(e,t)=>new a.IfcPreDefinedTextFont(e,new a.IfcLabel(t[0].value)),2022622350:(e,t)=>new a.IfcPresentationLayerAssignment(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new a.IfcIdentifier(t[3].value):null),1304840413:(e,t)=>new a.IfcPresentationLayerWithStyle(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new a.IfcIdentifier(t[3].value):null,t[4].value,t[5].value,t[6].value,t[7]?t[7].map((e=>new bm(e.value))):null),3119450353:(e,t)=>new a.IfcPresentationStyle(e,t[0]?new a.IfcLabel(t[0].value):null),2417041796:(e,t)=>new a.IfcPresentationStyleAssignment(e,t[0].map((e=>new bm(e.value)))),2095639259:(e,t)=>new a.IfcProductRepresentation(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value)))),2267347899:(e,t)=>new a.IfcProductsOfCombustionProperties(e,new bm(t[0].value),t[1]?new a.IfcSpecificHeatCapacityMeasure(t[1].value):null,t[2]?new a.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new a.IfcPositiveRatioMeasure(t[3].value):null,t[4]?new a.IfcPositiveRatioMeasure(t[4].value):null),3958567839:(e,t)=>new a.IfcProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null),2802850158:(e,t)=>new a.IfcProfileProperties(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null),2598011224:(e,t)=>new a.IfcProperty(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null),3896028662:(e,t)=>new a.IfcPropertyConstraintRelationship(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null),148025276:(e,t)=>new a.IfcPropertyDependencyRelationship(e,new bm(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcText(t[4].value):null),3710013099:(e,t)=>new a.IfcPropertyEnumeration(e,new a.IfcLabel(t[0].value),t[1].map((e=>_m(1,e))),t[2]?new bm(t[2].value):null),2044713172:(e,t)=>new a.IfcQuantityArea(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new a.IfcAreaMeasure(t[3].value)),2093928680:(e,t)=>new a.IfcQuantityCount(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new a.IfcCountMeasure(t[3].value)),931644368:(e,t)=>new a.IfcQuantityLength(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new a.IfcLengthMeasure(t[3].value)),3252649465:(e,t)=>new a.IfcQuantityTime(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new a.IfcTimeMeasure(t[3].value)),2405470396:(e,t)=>new a.IfcQuantityVolume(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new a.IfcVolumeMeasure(t[3].value)),825690147:(e,t)=>new a.IfcQuantityWeight(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new a.IfcMassMeasure(t[3].value)),2692823254:(e,t)=>new a.IfcReferencesValueDocument(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null),1580146022:(e,t)=>new a.IfcReinforcementBarProperties(e,new a.IfcAreaMeasure(t[0].value),new a.IfcLabel(t[1].value),t[2],t[3]?new a.IfcLengthMeasure(t[3].value):null,t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new a.IfcCountMeasure(t[5].value):null),1222501353:(e,t)=>new a.IfcRelaxation(e,new a.IfcNormalisedRatioMeasure(t[0].value),new a.IfcNormalisedRatioMeasure(t[1].value)),1076942058:(e,t)=>new a.IfcRepresentation(e,new bm(t[0].value),t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),3377609919:(e,t)=>new a.IfcRepresentationContext(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLabel(t[1].value):null),3008791417:(e,t)=>new a.IfcRepresentationItem(e),1660063152:(e,t)=>new a.IfcRepresentationMap(e,new bm(t[0].value),new bm(t[1].value)),3679540991:(e,t)=>new a.IfcRibPlateProfileProperties(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?new a.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new a.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new a.IfcPositiveLengthMeasure(t[5].value):null,t[6]),2341007311:(e,t)=>new a.IfcRoot(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null),448429030:(e,t)=>new a.IfcSIUnit(e,t[0],t[1],t[2]),2042790032:(e,t)=>new a.IfcSectionProperties(e,t[0],new bm(t[1].value),t[2]?new bm(t[2].value):null),4165799628:(e,t)=>new a.IfcSectionReinforcementProperties(e,new a.IfcLengthMeasure(t[0].value),new a.IfcLengthMeasure(t[1].value),t[2]?new a.IfcLengthMeasure(t[2].value):null,t[3],new bm(t[4].value),t[5].map((e=>new bm(e.value)))),867548509:(e,t)=>new a.IfcShapeAspect(e,t[0].map((e=>new bm(e.value))),t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcText(t[2].value):null,t[3].value,new bm(t[4].value)),3982875396:(e,t)=>new a.IfcShapeModel(e,new bm(t[0].value),t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),4240577450:(e,t)=>new a.IfcShapeRepresentation(e,new bm(t[0].value),t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),3692461612:(e,t)=>new a.IfcSimpleProperty(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null),2273995522:(e,t)=>new a.IfcStructuralConnectionCondition(e,t[0]?new a.IfcLabel(t[0].value):null),2162789131:(e,t)=>new a.IfcStructuralLoad(e,t[0]?new a.IfcLabel(t[0].value):null),2525727697:(e,t)=>new a.IfcStructuralLoadStatic(e,t[0]?new a.IfcLabel(t[0].value):null),3408363356:(e,t)=>new a.IfcStructuralLoadTemperature(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new a.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new a.IfcThermodynamicTemperatureMeasure(t[3].value):null),2830218821:(e,t)=>new a.IfcStyleModel(e,new bm(t[0].value),t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),3958052878:(e,t)=>new a.IfcStyledItem(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),3049322572:(e,t)=>new a.IfcStyledRepresentation(e,new bm(t[0].value),t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),1300840506:(e,t)=>new a.IfcSurfaceStyle(e,t[0]?new a.IfcLabel(t[0].value):null,t[1],t[2].map((e=>new bm(e.value)))),3303107099:(e,t)=>new a.IfcSurfaceStyleLighting(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new bm(t[3].value)),1607154358:(e,t)=>new a.IfcSurfaceStyleRefraction(e,t[0]?new a.IfcReal(t[0].value):null,t[1]?new a.IfcReal(t[1].value):null),846575682:(e,t)=>new a.IfcSurfaceStyleShading(e,new bm(t[0].value)),1351298697:(e,t)=>new a.IfcSurfaceStyleWithTextures(e,t[0].map((e=>new bm(e.value)))),626085974:(e,t)=>new a.IfcSurfaceTexture(e,t[0].value,t[1].value,t[2],t[3]?new bm(t[3].value):null),1290481447:(e,t)=>new a.IfcSymbolStyle(e,t[0]?new a.IfcLabel(t[0].value):null,_m(1,t[1])),985171141:(e,t)=>new a.IfcTable(e,t[0].value,t[1].map((e=>new bm(e.value)))),531007025:(e,t)=>new a.IfcTableRow(e,t[0].map((e=>_m(1,e))),t[1].value),912023232:(e,t)=>new a.IfcTelecomAddress(e,t[0],t[1]?new a.IfcText(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3]?t[3].map((e=>new a.IfcLabel(e.value))):null,t[4]?t[4].map((e=>new a.IfcLabel(e.value))):null,t[5]?new a.IfcLabel(t[5].value):null,t[6]?t[6].map((e=>new a.IfcLabel(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null),1447204868:(e,t)=>new a.IfcTextStyle(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?new bm(t[2].value):null,new bm(t[3].value)),1983826977:(e,t)=>new a.IfcTextStyleFontModel(e,new a.IfcLabel(t[0].value),t[1]?t[1].map((e=>new a.IfcTextFontName(e.value))):null,t[2]?new a.IfcFontStyle(t[2].value):null,t[3]?new a.IfcFontVariant(t[3].value):null,t[4]?new a.IfcFontWeight(t[4].value):null,_m(1,t[5])),2636378356:(e,t)=>new a.IfcTextStyleForDefinedFont(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),1640371178:(e,t)=>new a.IfcTextStyleTextModel(e,t[0]?_m(1,t[0]):null,t[1]?new a.IfcTextAlignment(t[1].value):null,t[2]?new a.IfcTextDecoration(t[2].value):null,t[3]?_m(1,t[3]):null,t[4]?_m(1,t[4]):null,t[5]?new a.IfcTextTransformation(t[5].value):null,t[6]?_m(1,t[6]):null),1484833681:(e,t)=>new a.IfcTextStyleWithBoxCharacteristics(e,t[0]?new a.IfcPositiveLengthMeasure(t[0].value):null,t[1]?new a.IfcPositiveLengthMeasure(t[1].value):null,t[2]?new a.IfcPlaneAngleMeasure(t[2].value):null,t[3]?new a.IfcPlaneAngleMeasure(t[3].value):null,t[4]?_m(1,t[4]):null),280115917:(e,t)=>new a.IfcTextureCoordinate(e),1742049831:(e,t)=>new a.IfcTextureCoordinateGenerator(e,new a.IfcLabel(t[0].value),t[1].map((e=>_m(1,e)))),2552916305:(e,t)=>new a.IfcTextureMap(e,t[0].map((e=>new bm(e.value)))),1210645708:(e,t)=>new a.IfcTextureVertex(e,t[0].map((e=>new a.IfcParameterValue(e.value)))),3317419933:(e,t)=>new a.IfcThermalMaterialProperties(e,new bm(t[0].value),t[1]?new a.IfcSpecificHeatCapacityMeasure(t[1].value):null,t[2]?new a.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new a.IfcThermodynamicTemperatureMeasure(t[3].value):null,t[4]?new a.IfcThermalConductivityMeasure(t[4].value):null),3101149627:(e,t)=>new a.IfcTimeSeries(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4],t[5],t[6]?new a.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null),1718945513:(e,t)=>new a.IfcTimeSeriesReferenceRelationship(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),581633288:(e,t)=>new a.IfcTimeSeriesValue(e,t[0].map((e=>_m(1,e)))),1377556343:(e,t)=>new a.IfcTopologicalRepresentationItem(e),1735638870:(e,t)=>new a.IfcTopologyRepresentation(e,new bm(t[0].value),t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),180925521:(e,t)=>new a.IfcUnitAssignment(e,t[0].map((e=>new bm(e.value)))),2799835756:(e,t)=>new a.IfcVertex(e),3304826586:(e,t)=>new a.IfcVertexBasedTextureMap(e,t[0].map((e=>new bm(e.value))),t[1].map((e=>new bm(e.value)))),1907098498:(e,t)=>new a.IfcVertexPoint(e,new bm(t[0].value)),891718957:(e,t)=>new a.IfcVirtualGridIntersection(e,t[0].map((e=>new bm(e.value))),t[1].map((e=>new a.IfcLengthMeasure(e.value)))),1065908215:(e,t)=>new a.IfcWaterProperties(e,new bm(t[0].value),t[1]?t[1].value:null,t[2]?new a.IfcIonConcentrationMeasure(t[2].value):null,t[3]?new a.IfcIonConcentrationMeasure(t[3].value):null,t[4]?new a.IfcIonConcentrationMeasure(t[4].value):null,t[5]?new a.IfcNormalisedRatioMeasure(t[5].value):null,t[6]?new a.IfcPHMeasure(t[6].value):null,t[7]?new a.IfcNormalisedRatioMeasure(t[7].value):null),2442683028:(e,t)=>new a.IfcAnnotationOccurrence(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),962685235:(e,t)=>new a.IfcAnnotationSurfaceOccurrence(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),3612888222:(e,t)=>new a.IfcAnnotationSymbolOccurrence(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),2297822566:(e,t)=>new a.IfcAnnotationTextOccurrence(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),3798115385:(e,t)=>new a.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value)),1310608509:(e,t)=>new a.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value)),2705031697:(e,t)=>new a.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),616511568:(e,t)=>new a.IfcBlobTexture(e,t[0].value,t[1].value,t[2],t[3]?new bm(t[3].value):null,new a.IfcIdentifier(t[4].value),t[5].value),3150382593:(e,t)=>new a.IfcCenterLineProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value)),647927063:(e,t)=>new a.IfcClassificationReference(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcIdentifier(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3]?new bm(t[3].value):null),776857604:(e,t)=>new a.IfcColourRgb(e,t[0]?new a.IfcLabel(t[0].value):null,new a.IfcNormalisedRatioMeasure(t[1].value),new a.IfcNormalisedRatioMeasure(t[2].value),new a.IfcNormalisedRatioMeasure(t[3].value)),2542286263:(e,t)=>new a.IfcComplexProperty(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null,new a.IfcIdentifier(t[2].value),t[3].map((e=>new bm(e.value)))),1485152156:(e,t)=>new a.IfcCompositeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new a.IfcLabel(t[3].value):null),370225590:(e,t)=>new a.IfcConnectedFaceSet(e,t[0].map((e=>new bm(e.value)))),1981873012:(e,t)=>new a.IfcConnectionCurveGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),45288368:(e,t)=>new a.IfcConnectionPointEccentricity(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new a.IfcLengthMeasure(t[2].value):null,t[3]?new a.IfcLengthMeasure(t[3].value):null,t[4]?new a.IfcLengthMeasure(t[4].value):null),3050246964:(e,t)=>new a.IfcContextDependentUnit(e,new bm(t[0].value),t[1],new a.IfcLabel(t[2].value)),2889183280:(e,t)=>new a.IfcConversionBasedUnit(e,new bm(t[0].value),t[1],new a.IfcLabel(t[2].value),new bm(t[3].value)),3800577675:(e,t)=>new a.IfcCurveStyle(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?_m(1,t[2]):null,t[3]?new bm(t[3].value):null),3632507154:(e,t)=>new a.IfcDerivedProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4]?new a.IfcLabel(t[4].value):null),2273265877:(e,t)=>new a.IfcDimensionCalloutRelationship(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value)),1694125774:(e,t)=>new a.IfcDimensionPair(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value)),3732053477:(e,t)=>new a.IfcDocumentReference(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcIdentifier(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),4170525392:(e,t)=>new a.IfcDraughtingPreDefinedTextFont(e,new a.IfcLabel(t[0].value)),3900360178:(e,t)=>new a.IfcEdge(e,new bm(t[0].value),new bm(t[1].value)),476780140:(e,t)=>new a.IfcEdgeCurve(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),t[3].value),1860660968:(e,t)=>new a.IfcExtendedMaterialProperties(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]?new a.IfcText(t[2].value):null,new a.IfcLabel(t[3].value)),2556980723:(e,t)=>new a.IfcFace(e,t[0].map((e=>new bm(e.value)))),1809719519:(e,t)=>new a.IfcFaceBound(e,new bm(t[0].value),t[1].value),803316827:(e,t)=>new a.IfcFaceOuterBound(e,new bm(t[0].value),t[1].value),3008276851:(e,t)=>new a.IfcFaceSurface(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),t[2].value),4219587988:(e,t)=>new a.IfcFailureConnectionCondition(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcForceMeasure(t[1].value):null,t[2]?new a.IfcForceMeasure(t[2].value):null,t[3]?new a.IfcForceMeasure(t[3].value):null,t[4]?new a.IfcForceMeasure(t[4].value):null,t[5]?new a.IfcForceMeasure(t[5].value):null,t[6]?new a.IfcForceMeasure(t[6].value):null),738692330:(e,t)=>new a.IfcFillAreaStyle(e,t[0]?new a.IfcLabel(t[0].value):null,t[1].map((e=>new bm(e.value)))),3857492461:(e,t)=>new a.IfcFuelProperties(e,new bm(t[0].value),t[1]?new a.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new a.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new a.IfcHeatingValueMeasure(t[3].value):null,t[4]?new a.IfcHeatingValueMeasure(t[4].value):null),803998398:(e,t)=>new a.IfcGeneralMaterialProperties(e,new bm(t[0].value),t[1]?new a.IfcMolecularWeightMeasure(t[1].value):null,t[2]?new a.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new a.IfcMassDensityMeasure(t[3].value):null),1446786286:(e,t)=>new a.IfcGeneralProfileProperties(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?new a.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new a.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new a.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new a.IfcAreaMeasure(t[6].value):null),3448662350:(e,t)=>new a.IfcGeometricRepresentationContext(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLabel(t[1].value):null,new a.IfcDimensionCount(t[2].value),t[3]?t[3].value:null,new bm(t[4].value),t[5]?new bm(t[5].value):null),2453401579:(e,t)=>new a.IfcGeometricRepresentationItem(e),4142052618:(e,t)=>new a.IfcGeometricRepresentationSubContext(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),t[3]?new a.IfcPositiveRatioMeasure(t[3].value):null,t[4],t[5]?new a.IfcLabel(t[5].value):null),3590301190:(e,t)=>new a.IfcGeometricSet(e,t[0].map((e=>new bm(e.value)))),178086475:(e,t)=>new a.IfcGridPlacement(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),812098782:(e,t)=>new a.IfcHalfSpaceSolid(e,new bm(t[0].value),t[1].value),2445078500:(e,t)=>new a.IfcHygroscopicMaterialProperties(e,new bm(t[0].value),t[1]?new a.IfcPositiveRatioMeasure(t[1].value):null,t[2]?new a.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new a.IfcIsothermalMoistureCapacityMeasure(t[3].value):null,t[4]?new a.IfcVaporPermeabilityMeasure(t[4].value):null,t[5]?new a.IfcMoistureDiffusivityMeasure(t[5].value):null),3905492369:(e,t)=>new a.IfcImageTexture(e,t[0].value,t[1].value,t[2],t[3]?new bm(t[3].value):null,new a.IfcIdentifier(t[4].value)),3741457305:(e,t)=>new a.IfcIrregularTimeSeries(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4],t[5],t[6]?new a.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,t[8].map((e=>new bm(e.value)))),1402838566:(e,t)=>new a.IfcLightSource(e,t[0]?new a.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new a.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new a.IfcNormalisedRatioMeasure(t[3].value):null),125510826:(e,t)=>new a.IfcLightSourceAmbient(e,t[0]?new a.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new a.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new a.IfcNormalisedRatioMeasure(t[3].value):null),2604431987:(e,t)=>new a.IfcLightSourceDirectional(e,t[0]?new a.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new a.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new a.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value)),4266656042:(e,t)=>new a.IfcLightSourceGoniometric(e,t[0]?new a.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new a.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new a.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),t[5]?new bm(t[5].value):null,new a.IfcThermodynamicTemperatureMeasure(t[6].value),new a.IfcLuminousFluxMeasure(t[7].value),t[8],new bm(t[9].value)),1520743889:(e,t)=>new a.IfcLightSourcePositional(e,t[0]?new a.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new a.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new a.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcReal(t[6].value),new a.IfcReal(t[7].value),new a.IfcReal(t[8].value)),3422422726:(e,t)=>new a.IfcLightSourceSpot(e,t[0]?new a.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new a.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new a.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcReal(t[6].value),new a.IfcReal(t[7].value),new a.IfcReal(t[8].value),new bm(t[9].value),t[10]?new a.IfcReal(t[10].value):null,new a.IfcPositivePlaneAngleMeasure(t[11].value),new a.IfcPositivePlaneAngleMeasure(t[12].value)),2624227202:(e,t)=>new a.IfcLocalPlacement(e,t[0]?new bm(t[0].value):null,new bm(t[1].value)),1008929658:(e,t)=>new a.IfcLoop(e),2347385850:(e,t)=>new a.IfcMappedItem(e,new bm(t[0].value),new bm(t[1].value)),2022407955:(e,t)=>new a.IfcMaterialDefinitionRepresentation(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),1430189142:(e,t)=>new a.IfcMechanicalConcreteMaterialProperties(e,new bm(t[0].value),t[1]?new a.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new a.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new a.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new a.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new a.IfcThermalExpansionCoefficientMeasure(t[5].value):null,t[6]?new a.IfcPressureMeasure(t[6].value):null,t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new a.IfcText(t[8].value):null,t[9]?new a.IfcText(t[9].value):null,t[10]?new a.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new a.IfcText(t[11].value):null),219451334:(e,t)=>new a.IfcObjectDefinition(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null),2833995503:(e,t)=>new a.IfcOneDirectionRepeatFactor(e,new bm(t[0].value)),2665983363:(e,t)=>new a.IfcOpenShell(e,t[0].map((e=>new bm(e.value)))),1029017970:(e,t)=>new a.IfcOrientedEdge(e,new bm(t[0].value),t[1].value),2529465313:(e,t)=>new a.IfcParameterizedProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value)),2519244187:(e,t)=>new a.IfcPath(e,t[0].map((e=>new bm(e.value)))),3021840470:(e,t)=>new a.IfcPhysicalComplexQuantity(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new a.IfcLabel(t[3].value),t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcLabel(t[5].value):null),597895409:(e,t)=>new a.IfcPixelTexture(e,t[0].value,t[1].value,t[2],t[3]?new bm(t[3].value):null,new a.IfcInteger(t[4].value),new a.IfcInteger(t[5].value),new a.IfcInteger(t[6].value),t[7].map((e=>e.value))),2004835150:(e,t)=>new a.IfcPlacement(e,new bm(t[0].value)),1663979128:(e,t)=>new a.IfcPlanarExtent(e,new a.IfcLengthMeasure(t[0].value),new a.IfcLengthMeasure(t[1].value)),2067069095:(e,t)=>new a.IfcPoint(e),4022376103:(e,t)=>new a.IfcPointOnCurve(e,new bm(t[0].value),new a.IfcParameterValue(t[1].value)),1423911732:(e,t)=>new a.IfcPointOnSurface(e,new bm(t[0].value),new a.IfcParameterValue(t[1].value),new a.IfcParameterValue(t[2].value)),2924175390:(e,t)=>new a.IfcPolyLoop(e,t[0].map((e=>new bm(e.value)))),2775532180:(e,t)=>new a.IfcPolygonalBoundedHalfSpace(e,new bm(t[0].value),t[1].value,new bm(t[2].value),new bm(t[3].value)),759155922:(e,t)=>new a.IfcPreDefinedColour(e,new a.IfcLabel(t[0].value)),2559016684:(e,t)=>new a.IfcPreDefinedCurveFont(e,new a.IfcLabel(t[0].value)),433424934:(e,t)=>new a.IfcPreDefinedDimensionSymbol(e,new a.IfcLabel(t[0].value)),179317114:(e,t)=>new a.IfcPreDefinedPointMarkerSymbol(e,new a.IfcLabel(t[0].value)),673634403:(e,t)=>new a.IfcProductDefinitionShape(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value)))),871118103:(e,t)=>new a.IfcPropertyBoundedValue(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?_m(1,t[2]):null,t[3]?_m(1,t[3]):null,t[4]?new bm(t[4].value):null),1680319473:(e,t)=>new a.IfcPropertyDefinition(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null),4166981789:(e,t)=>new a.IfcPropertyEnumeratedValue(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>_m(1,e))),t[3]?new bm(t[3].value):null),2752243245:(e,t)=>new a.IfcPropertyListValue(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>_m(1,e))),t[3]?new bm(t[3].value):null),941946838:(e,t)=>new a.IfcPropertyReferenceValue(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,new bm(t[3].value)),3357820518:(e,t)=>new a.IfcPropertySetDefinition(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null),3650150729:(e,t)=>new a.IfcPropertySingleValue(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?_m(1,t[2]):null,t[3]?new bm(t[3].value):null),110355661:(e,t)=>new a.IfcPropertyTableValue(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>_m(1,e))),t[3].map((e=>_m(1,e))),t[4]?new a.IfcText(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),3615266464:(e,t)=>new a.IfcRectangleProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value)),3413951693:(e,t)=>new a.IfcRegularTimeSeries(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4],t[5],t[6]?new a.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,new a.IfcTimeMeasure(t[8].value),t[9].map((e=>new bm(e.value)))),3765753017:(e,t)=>new a.IfcReinforcementDefinitionProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5].map((e=>new bm(e.value)))),478536968:(e,t)=>new a.IfcRelationship(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null),2778083089:(e,t)=>new a.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value)),1509187699:(e,t)=>new a.IfcSectionedSpine(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2].map((e=>new bm(e.value)))),2411513650:(e,t)=>new a.IfcServiceLifeFactor(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4],t[5]?_m(1,t[5]):null,_m(1,t[6]),t[7]?_m(1,t[7]):null),4124623270:(e,t)=>new a.IfcShellBasedSurfaceModel(e,t[0].map((e=>new bm(e.value)))),2609359061:(e,t)=>new a.IfcSlippageConnectionCondition(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLengthMeasure(t[1].value):null,t[2]?new a.IfcLengthMeasure(t[2].value):null,t[3]?new a.IfcLengthMeasure(t[3].value):null),723233188:(e,t)=>new a.IfcSolidModel(e),2485662743:(e,t)=>new a.IfcSoundProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new a.IfcBoolean(t[4].value),t[5],t[6].map((e=>new bm(e.value)))),1202362311:(e,t)=>new a.IfcSoundValue(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new a.IfcFrequencyMeasure(t[5].value),t[6]?_m(1,t[6]):null),390701378:(e,t)=>new a.IfcSpaceThermalLoadProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcPositiveRatioMeasure(t[4].value):null,t[5],t[6],t[7]?new a.IfcText(t[7].value):null,new a.IfcPowerMeasure(t[8].value),t[9]?new a.IfcPowerMeasure(t[9].value):null,t[10]?new bm(t[10].value):null,t[11]?new a.IfcLabel(t[11].value):null,t[12]?new a.IfcLabel(t[12].value):null,t[13]),1595516126:(e,t)=>new a.IfcStructuralLoadLinearForce(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLinearForceMeasure(t[1].value):null,t[2]?new a.IfcLinearForceMeasure(t[2].value):null,t[3]?new a.IfcLinearForceMeasure(t[3].value):null,t[4]?new a.IfcLinearMomentMeasure(t[4].value):null,t[5]?new a.IfcLinearMomentMeasure(t[5].value):null,t[6]?new a.IfcLinearMomentMeasure(t[6].value):null),2668620305:(e,t)=>new a.IfcStructuralLoadPlanarForce(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcPlanarForceMeasure(t[1].value):null,t[2]?new a.IfcPlanarForceMeasure(t[2].value):null,t[3]?new a.IfcPlanarForceMeasure(t[3].value):null),2473145415:(e,t)=>new a.IfcStructuralLoadSingleDisplacement(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLengthMeasure(t[1].value):null,t[2]?new a.IfcLengthMeasure(t[2].value):null,t[3]?new a.IfcLengthMeasure(t[3].value):null,t[4]?new a.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new a.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new a.IfcPlaneAngleMeasure(t[6].value):null),1973038258:(e,t)=>new a.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLengthMeasure(t[1].value):null,t[2]?new a.IfcLengthMeasure(t[2].value):null,t[3]?new a.IfcLengthMeasure(t[3].value):null,t[4]?new a.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new a.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new a.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new a.IfcCurvatureMeasure(t[7].value):null),1597423693:(e,t)=>new a.IfcStructuralLoadSingleForce(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcForceMeasure(t[1].value):null,t[2]?new a.IfcForceMeasure(t[2].value):null,t[3]?new a.IfcForceMeasure(t[3].value):null,t[4]?new a.IfcTorqueMeasure(t[4].value):null,t[5]?new a.IfcTorqueMeasure(t[5].value):null,t[6]?new a.IfcTorqueMeasure(t[6].value):null),1190533807:(e,t)=>new a.IfcStructuralLoadSingleForceWarping(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcForceMeasure(t[1].value):null,t[2]?new a.IfcForceMeasure(t[2].value):null,t[3]?new a.IfcForceMeasure(t[3].value):null,t[4]?new a.IfcTorqueMeasure(t[4].value):null,t[5]?new a.IfcTorqueMeasure(t[5].value):null,t[6]?new a.IfcTorqueMeasure(t[6].value):null,t[7]?new a.IfcWarpingMomentMeasure(t[7].value):null),3843319758:(e,t)=>new a.IfcStructuralProfileProperties(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?new a.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new a.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new a.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new a.IfcAreaMeasure(t[6].value):null,t[7]?new a.IfcMomentOfInertiaMeasure(t[7].value):null,t[8]?new a.IfcMomentOfInertiaMeasure(t[8].value):null,t[9]?new a.IfcMomentOfInertiaMeasure(t[9].value):null,t[10]?new a.IfcMomentOfInertiaMeasure(t[10].value):null,t[11]?new a.IfcWarpingConstantMeasure(t[11].value):null,t[12]?new a.IfcLengthMeasure(t[12].value):null,t[13]?new a.IfcLengthMeasure(t[13].value):null,t[14]?new a.IfcAreaMeasure(t[14].value):null,t[15]?new a.IfcAreaMeasure(t[15].value):null,t[16]?new a.IfcSectionModulusMeasure(t[16].value):null,t[17]?new a.IfcSectionModulusMeasure(t[17].value):null,t[18]?new a.IfcSectionModulusMeasure(t[18].value):null,t[19]?new a.IfcSectionModulusMeasure(t[19].value):null,t[20]?new a.IfcSectionModulusMeasure(t[20].value):null,t[21]?new a.IfcLengthMeasure(t[21].value):null,t[22]?new a.IfcLengthMeasure(t[22].value):null),3653947884:(e,t)=>new a.IfcStructuralSteelProfileProperties(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?new a.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new a.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new a.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new a.IfcAreaMeasure(t[6].value):null,t[7]?new a.IfcMomentOfInertiaMeasure(t[7].value):null,t[8]?new a.IfcMomentOfInertiaMeasure(t[8].value):null,t[9]?new a.IfcMomentOfInertiaMeasure(t[9].value):null,t[10]?new a.IfcMomentOfInertiaMeasure(t[10].value):null,t[11]?new a.IfcWarpingConstantMeasure(t[11].value):null,t[12]?new a.IfcLengthMeasure(t[12].value):null,t[13]?new a.IfcLengthMeasure(t[13].value):null,t[14]?new a.IfcAreaMeasure(t[14].value):null,t[15]?new a.IfcAreaMeasure(t[15].value):null,t[16]?new a.IfcSectionModulusMeasure(t[16].value):null,t[17]?new a.IfcSectionModulusMeasure(t[17].value):null,t[18]?new a.IfcSectionModulusMeasure(t[18].value):null,t[19]?new a.IfcSectionModulusMeasure(t[19].value):null,t[20]?new a.IfcSectionModulusMeasure(t[20].value):null,t[21]?new a.IfcLengthMeasure(t[21].value):null,t[22]?new a.IfcLengthMeasure(t[22].value):null,t[23]?new a.IfcAreaMeasure(t[23].value):null,t[24]?new a.IfcAreaMeasure(t[24].value):null,t[25]?new a.IfcPositiveRatioMeasure(t[25].value):null,t[26]?new a.IfcPositiveRatioMeasure(t[26].value):null),2233826070:(e,t)=>new a.IfcSubedge(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value)),2513912981:(e,t)=>new a.IfcSurface(e),1878645084:(e,t)=>new a.IfcSurfaceStyleRendering(e,new bm(t[0].value),t[1]?new a.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?_m(1,t[7]):null,t[8]),2247615214:(e,t)=>new a.IfcSweptAreaSolid(e,new bm(t[0].value),new bm(t[1].value)),1260650574:(e,t)=>new a.IfcSweptDiskSolid(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value),t[2]?new a.IfcPositiveLengthMeasure(t[2].value):null,new a.IfcParameterValue(t[3].value),new a.IfcParameterValue(t[4].value)),230924584:(e,t)=>new a.IfcSweptSurface(e,new bm(t[0].value),new bm(t[1].value)),3071757647:(e,t)=>new a.IfcTShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcPositiveLengthMeasure(t[6].value),t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new a.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new a.IfcPlaneAngleMeasure(t[11].value):null,t[12]?new a.IfcPositiveLengthMeasure(t[12].value):null),3028897424:(e,t)=>new a.IfcTerminatorSymbol(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null,new bm(t[3].value)),4282788508:(e,t)=>new a.IfcTextLiteral(e,new a.IfcPresentableText(t[0].value),new bm(t[1].value),t[2]),3124975700:(e,t)=>new a.IfcTextLiteralWithExtent(e,new a.IfcPresentableText(t[0].value),new bm(t[1].value),t[2],new bm(t[3].value),new a.IfcBoxAlignment(t[4].value)),2715220739:(e,t)=>new a.IfcTrapeziumProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcLengthMeasure(t[6].value)),1345879162:(e,t)=>new a.IfcTwoDirectionRepeatFactor(e,new bm(t[0].value),new bm(t[1].value)),1628702193:(e,t)=>new a.IfcTypeObject(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null),2347495698:(e,t)=>new a.IfcTypeProduct(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null),427810014:(e,t)=>new a.IfcUShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcPositiveLengthMeasure(t[6].value),t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new a.IfcPlaneAngleMeasure(t[9].value):null,t[10]?new a.IfcPositiveLengthMeasure(t[10].value):null),1417489154:(e,t)=>new a.IfcVector(e,new bm(t[0].value),new a.IfcLengthMeasure(t[1].value)),2759199220:(e,t)=>new a.IfcVertexLoop(e,new bm(t[0].value)),336235671:(e,t)=>new a.IfcWindowLiningProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new a.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new a.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new a.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new a.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new a.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new a.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new bm(t[12].value):null),512836454:(e,t)=>new a.IfcWindowPanelProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4],t[5],t[6]?new a.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new bm(t[8].value):null),1299126871:(e,t)=>new a.IfcWindowStyle(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8],t[9],t[10].value,t[11].value),2543172580:(e,t)=>new a.IfcZShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcPositiveLengthMeasure(t[6].value),t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null),3288037868:(e,t)=>new a.IfcAnnotationCurveOccurrence(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),669184980:(e,t)=>new a.IfcAnnotationFillArea(e,new bm(t[0].value),t[1]?t[1].map((e=>new bm(e.value))):null),2265737646:(e,t)=>new a.IfcAnnotationFillAreaOccurrence(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]),1302238472:(e,t)=>new a.IfcAnnotationSurface(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),4261334040:(e,t)=>new a.IfcAxis1Placement(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),3125803723:(e,t)=>new a.IfcAxis2Placement2D(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),2740243338:(e,t)=>new a.IfcAxis2Placement3D(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new bm(t[2].value):null),2736907675:(e,t)=>new a.IfcBooleanResult(e,t[0],new bm(t[1].value),new bm(t[2].value)),4182860854:(e,t)=>new a.IfcBoundedSurface(e),2581212453:(e,t)=>new a.IfcBoundingBox(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value),new a.IfcPositiveLengthMeasure(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value)),2713105998:(e,t)=>new a.IfcBoxedHalfSpace(e,new bm(t[0].value),t[1].value,new bm(t[2].value)),2898889636:(e,t)=>new a.IfcCShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcPositiveLengthMeasure(t[6].value),t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null),1123145078:(e,t)=>new a.IfcCartesianPoint(e,t[0].map((e=>new a.IfcLengthMeasure(e.value)))),59481748:(e,t)=>new a.IfcCartesianTransformationOperator(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?t[3].value:null),3749851601:(e,t)=>new a.IfcCartesianTransformationOperator2D(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?t[3].value:null),3486308946:(e,t)=>new a.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?t[3].value:null,t[4]?t[4].value:null),3331915920:(e,t)=>new a.IfcCartesianTransformationOperator3D(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?t[3].value:null,t[4]?new bm(t[4].value):null),1416205885:(e,t)=>new a.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?t[3].value:null,t[4]?new bm(t[4].value):null,t[5]?t[5].value:null,t[6]?t[6].value:null),1383045692:(e,t)=>new a.IfcCircleProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value)),2205249479:(e,t)=>new a.IfcClosedShell(e,t[0].map((e=>new bm(e.value)))),2485617015:(e,t)=>new a.IfcCompositeCurveSegment(e,t[0],t[1].value,new bm(t[2].value)),4133800736:(e,t)=>new a.IfcCraneRailAShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),t[5]?new a.IfcPositiveLengthMeasure(t[5].value):null,new a.IfcPositiveLengthMeasure(t[6].value),new a.IfcPositiveLengthMeasure(t[7].value),new a.IfcPositiveLengthMeasure(t[8].value),new a.IfcPositiveLengthMeasure(t[9].value),new a.IfcPositiveLengthMeasure(t[10].value),new a.IfcPositiveLengthMeasure(t[11].value),new a.IfcPositiveLengthMeasure(t[12].value),new a.IfcPositiveLengthMeasure(t[13].value),t[14]?new a.IfcPositiveLengthMeasure(t[14].value):null),194851669:(e,t)=>new a.IfcCraneRailFShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),t[5]?new a.IfcPositiveLengthMeasure(t[5].value):null,new a.IfcPositiveLengthMeasure(t[6].value),new a.IfcPositiveLengthMeasure(t[7].value),new a.IfcPositiveLengthMeasure(t[8].value),new a.IfcPositiveLengthMeasure(t[9].value),new a.IfcPositiveLengthMeasure(t[10].value),t[11]?new a.IfcPositiveLengthMeasure(t[11].value):null),2506170314:(e,t)=>new a.IfcCsgPrimitive3D(e,new bm(t[0].value)),2147822146:(e,t)=>new a.IfcCsgSolid(e,new bm(t[0].value)),2601014836:(e,t)=>new a.IfcCurve(e),2827736869:(e,t)=>new a.IfcCurveBoundedPlane(e,new bm(t[0].value),new bm(t[1].value),t[2]?t[2].map((e=>new bm(e.value))):null),693772133:(e,t)=>new a.IfcDefinedSymbol(e,new bm(t[0].value),new bm(t[1].value)),606661476:(e,t)=>new a.IfcDimensionCurve(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),4054601972:(e,t)=>new a.IfcDimensionCurveTerminator(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null,new bm(t[3].value),t[4]),32440307:(e,t)=>new a.IfcDirection(e,t[0].map((e=>e.value))),2963535650:(e,t)=>new a.IfcDoorLiningProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new a.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new a.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new a.IfcLengthMeasure(t[9].value):null,t[10]?new a.IfcLengthMeasure(t[10].value):null,t[11]?new a.IfcLengthMeasure(t[11].value):null,t[12]?new a.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new a.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new bm(t[14].value):null),1714330368:(e,t)=>new a.IfcDoorPanelProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new a.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new bm(t[8].value):null),526551008:(e,t)=>new a.IfcDoorStyle(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8],t[9],t[10].value,t[11].value),3073041342:(e,t)=>new a.IfcDraughtingCallout(e,t[0].map((e=>new bm(e.value)))),445594917:(e,t)=>new a.IfcDraughtingPreDefinedColour(e,new a.IfcLabel(t[0].value)),4006246654:(e,t)=>new a.IfcDraughtingPreDefinedCurveFont(e,new a.IfcLabel(t[0].value)),1472233963:(e,t)=>new a.IfcEdgeLoop(e,t[0].map((e=>new bm(e.value)))),1883228015:(e,t)=>new a.IfcElementQuantity(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5].map((e=>new bm(e.value)))),339256511:(e,t)=>new a.IfcElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),2777663545:(e,t)=>new a.IfcElementarySurface(e,new bm(t[0].value)),2835456948:(e,t)=>new a.IfcEllipseProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value)),80994333:(e,t)=>new a.IfcEnergyProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4],t[5]?new a.IfcLabel(t[5].value):null),477187591:(e,t)=>new a.IfcExtrudedAreaSolid(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value)),2047409740:(e,t)=>new a.IfcFaceBasedSurfaceModel(e,t[0].map((e=>new bm(e.value)))),374418227:(e,t)=>new a.IfcFillAreaStyleHatching(e,new bm(t[0].value),new bm(t[1].value),t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,new a.IfcPlaneAngleMeasure(t[4].value)),4203026998:(e,t)=>new a.IfcFillAreaStyleTileSymbolWithStyle(e,new bm(t[0].value)),315944413:(e,t)=>new a.IfcFillAreaStyleTiles(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),new a.IfcPositiveRatioMeasure(t[2].value)),3455213021:(e,t)=>new a.IfcFluidFlowProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4],t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,new bm(t[8].value),t[9]?new bm(t[9].value):null,t[10]?new a.IfcLabel(t[10].value):null,t[11]?new a.IfcThermodynamicTemperatureMeasure(t[11].value):null,t[12]?new a.IfcThermodynamicTemperatureMeasure(t[12].value):null,t[13]?new bm(t[13].value):null,t[14]?new bm(t[14].value):null,t[15]?_m(1,t[15]):null,t[16]?new a.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new a.IfcLinearVelocityMeasure(t[17].value):null,t[18]?new a.IfcPressureMeasure(t[18].value):null),4238390223:(e,t)=>new a.IfcFurnishingElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),1268542332:(e,t)=>new a.IfcFurnitureType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),987898635:(e,t)=>new a.IfcGeometricCurveSet(e,t[0].map((e=>new bm(e.value)))),1484403080:(e,t)=>new a.IfcIShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcPositiveLengthMeasure(t[6].value),t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null),572779678:(e,t)=>new a.IfcLShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,new a.IfcPositiveLengthMeasure(t[5].value),t[6]?new a.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new a.IfcPlaneAngleMeasure(t[8].value):null,t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new a.IfcPositiveLengthMeasure(t[10].value):null),1281925730:(e,t)=>new a.IfcLine(e,new bm(t[0].value),new bm(t[1].value)),1425443689:(e,t)=>new a.IfcManifoldSolidBrep(e,new bm(t[0].value)),3888040117:(e,t)=>new a.IfcObject(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),3388369263:(e,t)=>new a.IfcOffsetCurve2D(e,new bm(t[0].value),new a.IfcLengthMeasure(t[1].value),t[2].value),3505215534:(e,t)=>new a.IfcOffsetCurve3D(e,new bm(t[0].value),new a.IfcLengthMeasure(t[1].value),t[2].value,new bm(t[3].value)),3566463478:(e,t)=>new a.IfcPermeableCoveringProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4],t[5],t[6]?new a.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new bm(t[8].value):null),603570806:(e,t)=>new a.IfcPlanarBox(e,new a.IfcLengthMeasure(t[0].value),new a.IfcLengthMeasure(t[1].value),new bm(t[2].value)),220341763:(e,t)=>new a.IfcPlane(e,new bm(t[0].value)),2945172077:(e,t)=>new a.IfcProcess(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),4208778838:(e,t)=>new a.IfcProduct(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),103090709:(e,t)=>new a.IfcProject(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcLabel(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7].map((e=>new bm(e.value))),new bm(t[8].value)),4194566429:(e,t)=>new a.IfcProjectionCurve(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),1451395588:(e,t)=>new a.IfcPropertySet(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value)))),3219374653:(e,t)=>new a.IfcProxy(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]?new a.IfcLabel(t[8].value):null),2770003689:(e,t)=>new a.IfcRectangleHollowProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),t[6]?new a.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null),2798486643:(e,t)=>new a.IfcRectangularPyramid(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value),new a.IfcPositiveLengthMeasure(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value)),3454111270:(e,t)=>new a.IfcRectangularTrimmedSurface(e,new bm(t[0].value),new a.IfcParameterValue(t[1].value),new a.IfcParameterValue(t[2].value),new a.IfcParameterValue(t[3].value),new a.IfcParameterValue(t[4].value),t[5].value,t[6].value),3939117080:(e,t)=>new a.IfcRelAssigns(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5]),1683148259:(e,t)=>new a.IfcRelAssignsToActor(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),t[7]?new bm(t[7].value):null),2495723537:(e,t)=>new a.IfcRelAssignsToControl(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),1307041759:(e,t)=>new a.IfcRelAssignsToGroup(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),4278684876:(e,t)=>new a.IfcRelAssignsToProcess(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),t[7]?new bm(t[7].value):null),2857406711:(e,t)=>new a.IfcRelAssignsToProduct(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),3372526763:(e,t)=>new a.IfcRelAssignsToProjectOrder(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),205026976:(e,t)=>new a.IfcRelAssignsToResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),1865459582:(e,t)=>new a.IfcRelAssociates(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value)))),1327628568:(e,t)=>new a.IfcRelAssociatesAppliedValue(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),4095574036:(e,t)=>new a.IfcRelAssociatesApproval(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),919958153:(e,t)=>new a.IfcRelAssociatesClassification(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),2728634034:(e,t)=>new a.IfcRelAssociatesConstraint(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new a.IfcLabel(t[5].value),new bm(t[6].value)),982818633:(e,t)=>new a.IfcRelAssociatesDocument(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),3840914261:(e,t)=>new a.IfcRelAssociatesLibrary(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),2655215786:(e,t)=>new a.IfcRelAssociatesMaterial(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),2851387026:(e,t)=>new a.IfcRelAssociatesProfileProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),826625072:(e,t)=>new a.IfcRelConnects(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null),1204542856:(e,t)=>new a.IfcRelConnectsElements(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value)),3945020480:(e,t)=>new a.IfcRelConnectsPathElements(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value),t[7]?t[7].map((e=>e.value)):null,t[8]?t[8].map((e=>e.value)):null,t[9],t[10]),4201705270:(e,t)=>new a.IfcRelConnectsPortToElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),3190031847:(e,t)=>new a.IfcRelConnectsPorts(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null),2127690289:(e,t)=>new a.IfcRelConnectsStructuralActivity(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),3912681535:(e,t)=>new a.IfcRelConnectsStructuralElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),1638771189:(e,t)=>new a.IfcRelConnectsStructuralMember(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new a.IfcLengthMeasure(t[8].value):null,t[9]?new bm(t[9].value):null),504942748:(e,t)=>new a.IfcRelConnectsWithEccentricity(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new a.IfcLengthMeasure(t[8].value):null,t[9]?new bm(t[9].value):null,new bm(t[10].value)),3678494232:(e,t)=>new a.IfcRelConnectsWithRealizingElements(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value),t[7].map((e=>new bm(e.value))),t[8]?new a.IfcLabel(t[8].value):null),3242617779:(e,t)=>new a.IfcRelContainedInSpatialStructure(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),886880790:(e,t)=>new a.IfcRelCoversBldgElements(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2802773753:(e,t)=>new a.IfcRelCoversSpaces(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2551354335:(e,t)=>new a.IfcRelDecomposes(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),693640335:(e,t)=>new a.IfcRelDefines(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value)))),4186316022:(e,t)=>new a.IfcRelDefinesByProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),781010003:(e,t)=>new a.IfcRelDefinesByType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),3940055652:(e,t)=>new a.IfcRelFillsElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),279856033:(e,t)=>new a.IfcRelFlowControlElements(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),4189434867:(e,t)=>new a.IfcRelInteractionRequirements(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcCountMeasure(t[4].value):null,t[5]?new a.IfcNormalisedRatioMeasure(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),new bm(t[8].value)),3268803585:(e,t)=>new a.IfcRelNests(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2051452291:(e,t)=>new a.IfcRelOccupiesSpaces(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),t[7]?new bm(t[7].value):null),202636808:(e,t)=>new a.IfcRelOverridesProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value),t[6].map((e=>new bm(e.value)))),750771296:(e,t)=>new a.IfcRelProjectsElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),1245217292:(e,t)=>new a.IfcRelReferencedInSpatialStructure(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),1058617721:(e,t)=>new a.IfcRelSchedulesCostItems(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),4122056220:(e,t)=>new a.IfcRelSequence(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),new a.IfcTimeMeasure(t[6].value),t[7]),366585022:(e,t)=>new a.IfcRelServicesBuildings(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),3451746338:(e,t)=>new a.IfcRelSpaceBoundary(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]),1401173127:(e,t)=>new a.IfcRelVoidsElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),2914609552:(e,t)=>new a.IfcResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),1856042241:(e,t)=>new a.IfcRevolvedAreaSolid(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new a.IfcPlaneAngleMeasure(t[3].value)),4158566097:(e,t)=>new a.IfcRightCircularCone(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value),new a.IfcPositiveLengthMeasure(t[2].value)),3626867408:(e,t)=>new a.IfcRightCircularCylinder(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value),new a.IfcPositiveLengthMeasure(t[2].value)),2706606064:(e,t)=>new a.IfcSpatialStructureElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]),3893378262:(e,t)=>new a.IfcSpatialStructureElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),451544542:(e,t)=>new a.IfcSphere(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value)),3544373492:(e,t)=>new a.IfcStructuralActivity(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),3136571912:(e,t)=>new a.IfcStructuralItem(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),530289379:(e,t)=>new a.IfcStructuralMember(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),3689010777:(e,t)=>new a.IfcStructuralReaction(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),3979015343:(e,t)=>new a.IfcStructuralSurfaceMember(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null),2218152070:(e,t)=>new a.IfcStructuralSurfaceMemberVarying(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9].map((e=>new a.IfcPositiveLengthMeasure(e.value))),new bm(t[10].value)),4070609034:(e,t)=>new a.IfcStructuredDimensionCallout(e,t[0].map((e=>new bm(e.value)))),2028607225:(e,t)=>new a.IfcSurfaceCurveSweptAreaSolid(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new a.IfcParameterValue(t[3].value),new a.IfcParameterValue(t[4].value),new bm(t[5].value)),2809605785:(e,t)=>new a.IfcSurfaceOfLinearExtrusion(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new a.IfcLengthMeasure(t[3].value)),4124788165:(e,t)=>new a.IfcSurfaceOfRevolution(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value)),1580310250:(e,t)=>new a.IfcSystemFurnitureElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),3473067441:(e,t)=>new a.IfcTask(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),t[6]?new a.IfcLabel(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null),2097647324:(e,t)=>new a.IfcTransportElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2296667514:(e,t)=>new a.IfcActor(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new bm(t[5].value)),1674181508:(e,t)=>new a.IfcAnnotation(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),3207858831:(e,t)=>new a.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcPositiveLengthMeasure(t[6].value),t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,new a.IfcPositiveLengthMeasure(t[8].value),t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new a.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new a.IfcPositiveLengthMeasure(t[11].value):null),1334484129:(e,t)=>new a.IfcBlock(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value),new a.IfcPositiveLengthMeasure(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value)),3649129432:(e,t)=>new a.IfcBooleanClippingResult(e,t[0],new bm(t[1].value),new bm(t[2].value)),1260505505:(e,t)=>new a.IfcBoundedCurve(e),4031249490:(e,t)=>new a.IfcBuilding(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8],t[9]?new a.IfcLengthMeasure(t[9].value):null,t[10]?new a.IfcLengthMeasure(t[10].value):null,t[11]?new bm(t[11].value):null),1950629157:(e,t)=>new a.IfcBuildingElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),3124254112:(e,t)=>new a.IfcBuildingStorey(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8],t[9]?new a.IfcLengthMeasure(t[9].value):null),2937912522:(e,t)=>new a.IfcCircleHollowProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value)),300633059:(e,t)=>new a.IfcColumnType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3732776249:(e,t)=>new a.IfcCompositeCurve(e,t[0].map((e=>new bm(e.value))),t[1].value),2510884976:(e,t)=>new a.IfcConic(e,new bm(t[0].value)),2559216714:(e,t)=>new a.IfcConstructionResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcIdentifier(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7],t[8]?new bm(t[8].value):null),3293443760:(e,t)=>new a.IfcControl(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),3895139033:(e,t)=>new a.IfcCostItem(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),1419761937:(e,t)=>new a.IfcCostSchedule(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,new a.IfcIdentifier(t[11].value),t[12]),1916426348:(e,t)=>new a.IfcCoveringType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3295246426:(e,t)=>new a.IfcCrewResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcIdentifier(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7],t[8]?new bm(t[8].value):null),1457835157:(e,t)=>new a.IfcCurtainWallType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),681481545:(e,t)=>new a.IfcDimensionCurveDirectedCallout(e,t[0].map((e=>new bm(e.value)))),3256556792:(e,t)=>new a.IfcDistributionElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),3849074793:(e,t)=>new a.IfcDistributionFlowElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),360485395:(e,t)=>new a.IfcElectricalBaseProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4],t[5]?new a.IfcLabel(t[5].value):null,t[6],new a.IfcElectricVoltageMeasure(t[7].value),new a.IfcFrequencyMeasure(t[8].value),t[9]?new a.IfcElectricCurrentMeasure(t[9].value):null,t[10]?new a.IfcElectricCurrentMeasure(t[10].value):null,t[11]?new a.IfcPowerMeasure(t[11].value):null,t[12]?new a.IfcPowerMeasure(t[12].value):null,t[13].value),1758889154:(e,t)=>new a.IfcElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),4123344466:(e,t)=>new a.IfcElementAssembly(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8],t[9]),1623761950:(e,t)=>new a.IfcElementComponent(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),2590856083:(e,t)=>new a.IfcElementComponentType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),1704287377:(e,t)=>new a.IfcEllipse(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value),new a.IfcPositiveLengthMeasure(t[2].value)),2107101300:(e,t)=>new a.IfcEnergyConversionDeviceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),1962604670:(e,t)=>new a.IfcEquipmentElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3272907226:(e,t)=>new a.IfcEquipmentStandard(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),3174744832:(e,t)=>new a.IfcEvaporativeCoolerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3390157468:(e,t)=>new a.IfcEvaporatorType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),807026263:(e,t)=>new a.IfcFacetedBrep(e,new bm(t[0].value)),3737207727:(e,t)=>new a.IfcFacetedBrepWithVoids(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),647756555:(e,t)=>new a.IfcFastener(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),2489546625:(e,t)=>new a.IfcFastenerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),2827207264:(e,t)=>new a.IfcFeatureElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),2143335405:(e,t)=>new a.IfcFeatureElementAddition(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),1287392070:(e,t)=>new a.IfcFeatureElementSubtraction(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3907093117:(e,t)=>new a.IfcFlowControllerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),3198132628:(e,t)=>new a.IfcFlowFittingType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),3815607619:(e,t)=>new a.IfcFlowMeterType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1482959167:(e,t)=>new a.IfcFlowMovingDeviceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),1834744321:(e,t)=>new a.IfcFlowSegmentType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),1339347760:(e,t)=>new a.IfcFlowStorageDeviceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),2297155007:(e,t)=>new a.IfcFlowTerminalType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),3009222698:(e,t)=>new a.IfcFlowTreatmentDeviceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),263784265:(e,t)=>new a.IfcFurnishingElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),814719939:(e,t)=>new a.IfcFurnitureStandard(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),200128114:(e,t)=>new a.IfcGasTerminalType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3009204131:(e,t)=>new a.IfcGrid(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7].map((e=>new bm(e.value))),t[8].map((e=>new bm(e.value))),t[9]?t[9].map((e=>new bm(e.value))):null),2706460486:(e,t)=>new a.IfcGroup(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),1251058090:(e,t)=>new a.IfcHeatExchangerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1806887404:(e,t)=>new a.IfcHumidifierType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2391368822:(e,t)=>new a.IfcInventory(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5],new bm(t[6].value),t[7].map((e=>new bm(e.value))),new bm(t[8].value),t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null),4288270099:(e,t)=>new a.IfcJunctionBoxType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3827777499:(e,t)=>new a.IfcLaborResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcIdentifier(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7],t[8]?new bm(t[8].value):null,t[9]?new a.IfcText(t[9].value):null),1051575348:(e,t)=>new a.IfcLampType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1161773419:(e,t)=>new a.IfcLightFixtureType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2506943328:(e,t)=>new a.IfcLinearDimension(e,t[0].map((e=>new bm(e.value)))),377706215:(e,t)=>new a.IfcMechanicalFastener(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null),2108223431:(e,t)=>new a.IfcMechanicalFastenerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),3181161470:(e,t)=>new a.IfcMemberType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),977012517:(e,t)=>new a.IfcMotorConnectionType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1916936684:(e,t)=>new a.IfcMove(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),t[6]?new a.IfcLabel(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null,new bm(t[10].value),new bm(t[11].value),t[12]?t[12].map((e=>new a.IfcText(e.value))):null),4143007308:(e,t)=>new a.IfcOccupant(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new bm(t[5].value),t[6]),3588315303:(e,t)=>new a.IfcOpeningElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3425660407:(e,t)=>new a.IfcOrderAction(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),t[6]?new a.IfcLabel(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null,new a.IfcIdentifier(t[10].value)),2837617999:(e,t)=>new a.IfcOutletType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2382730787:(e,t)=>new a.IfcPerformanceHistory(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcLabel(t[5].value)),3327091369:(e,t)=>new a.IfcPermit(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value)),804291784:(e,t)=>new a.IfcPipeFittingType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),4231323485:(e,t)=>new a.IfcPipeSegmentType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),4017108033:(e,t)=>new a.IfcPlateType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3724593414:(e,t)=>new a.IfcPolyline(e,t[0].map((e=>new bm(e.value)))),3740093272:(e,t)=>new a.IfcPort(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),2744685151:(e,t)=>new a.IfcProcedure(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),t[6],t[7]?new a.IfcLabel(t[7].value):null),2904328755:(e,t)=>new a.IfcProjectOrder(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),t[6],t[7]?new a.IfcLabel(t[7].value):null),3642467123:(e,t)=>new a.IfcProjectOrderRecord(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5].map((e=>new bm(e.value))),t[6]),3651124850:(e,t)=>new a.IfcProjectionElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),1842657554:(e,t)=>new a.IfcProtectiveDeviceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2250791053:(e,t)=>new a.IfcPumpType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3248260540:(e,t)=>new a.IfcRadiusDimension(e,t[0].map((e=>new bm(e.value)))),2893384427:(e,t)=>new a.IfcRailingType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2324767716:(e,t)=>new a.IfcRampFlightType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),160246688:(e,t)=>new a.IfcRelAggregates(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2863920197:(e,t)=>new a.IfcRelAssignsTasks(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),t[7]?new bm(t[7].value):null),1768891740:(e,t)=>new a.IfcSanitaryTerminalType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3517283431:(e,t)=>new a.IfcScheduleTimeControl(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null,t[11]?new bm(t[11].value):null,t[12]?new bm(t[12].value):null,t[13]?new a.IfcTimeMeasure(t[13].value):null,t[14]?new a.IfcTimeMeasure(t[14].value):null,t[15]?new a.IfcTimeMeasure(t[15].value):null,t[16]?new a.IfcTimeMeasure(t[16].value):null,t[17]?new a.IfcTimeMeasure(t[17].value):null,t[18]?t[18].value:null,t[19]?new bm(t[19].value):null,t[20]?new a.IfcTimeMeasure(t[20].value):null,t[21]?new a.IfcTimeMeasure(t[21].value):null,t[22]?new a.IfcPositiveRatioMeasure(t[22].value):null),4105383287:(e,t)=>new a.IfcServiceLife(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5],new a.IfcTimeMeasure(t[6].value)),4097777520:(e,t)=>new a.IfcSite(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8],t[9]?new a.IfcCompoundPlaneAngleMeasure(t[9].map((e=>e.value))):null,t[10]?new a.IfcCompoundPlaneAngleMeasure(t[10].map((e=>e.value))):null,t[11]?new a.IfcLengthMeasure(t[11].value):null,t[12]?new a.IfcLabel(t[12].value):null,t[13]?new bm(t[13].value):null),2533589738:(e,t)=>new a.IfcSlabType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3856911033:(e,t)=>new a.IfcSpace(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new a.IfcLengthMeasure(t[10].value):null),1305183839:(e,t)=>new a.IfcSpaceHeaterType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),652456506:(e,t)=>new a.IfcSpaceProgram(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),t[6]?new a.IfcAreaMeasure(t[6].value):null,t[7]?new a.IfcAreaMeasure(t[7].value):null,t[8]?new bm(t[8].value):null,new a.IfcAreaMeasure(t[9].value)),3812236995:(e,t)=>new a.IfcSpaceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3112655638:(e,t)=>new a.IfcStackTerminalType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1039846685:(e,t)=>new a.IfcStairFlightType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),682877961:(e,t)=>new a.IfcStructuralAction(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9].value,t[10]?new bm(t[10].value):null),1179482911:(e,t)=>new a.IfcStructuralConnection(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),4243806635:(e,t)=>new a.IfcStructuralCurveConnection(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),214636428:(e,t)=>new a.IfcStructuralCurveMember(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]),2445595289:(e,t)=>new a.IfcStructuralCurveMemberVarying(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]),1807405624:(e,t)=>new a.IfcStructuralLinearAction(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9].value,t[10]?new bm(t[10].value):null,t[11]),1721250024:(e,t)=>new a.IfcStructuralLinearActionVarying(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9].value,t[10]?new bm(t[10].value):null,t[11],new bm(t[12].value),t[13].map((e=>new bm(e.value)))),1252848954:(e,t)=>new a.IfcStructuralLoadGroup(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new a.IfcRatioMeasure(t[8].value):null,t[9]?new a.IfcLabel(t[9].value):null),1621171031:(e,t)=>new a.IfcStructuralPlanarAction(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9].value,t[10]?new bm(t[10].value):null,t[11]),3987759626:(e,t)=>new a.IfcStructuralPlanarActionVarying(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9].value,t[10]?new bm(t[10].value):null,t[11],new bm(t[12].value),t[13].map((e=>new bm(e.value)))),2082059205:(e,t)=>new a.IfcStructuralPointAction(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9].value,t[10]?new bm(t[10].value):null),734778138:(e,t)=>new a.IfcStructuralPointConnection(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),1235345126:(e,t)=>new a.IfcStructuralPointReaction(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),2986769608:(e,t)=>new a.IfcStructuralResultGroup(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5],t[6]?new bm(t[6].value):null,t[7].value),1975003073:(e,t)=>new a.IfcStructuralSurfaceConnection(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),148013059:(e,t)=>new a.IfcSubContractResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcIdentifier(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7],t[8]?new bm(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new a.IfcText(t[10].value):null),2315554128:(e,t)=>new a.IfcSwitchingDeviceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2254336722:(e,t)=>new a.IfcSystem(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),5716631:(e,t)=>new a.IfcTankType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1637806684:(e,t)=>new a.IfcTimeSeriesSchedule(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6],new bm(t[7].value)),1692211062:(e,t)=>new a.IfcTransformerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1620046519:(e,t)=>new a.IfcTransportElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8],t[9]?new a.IfcMassMeasure(t[9].value):null,t[10]?new a.IfcCountMeasure(t[10].value):null),3593883385:(e,t)=>new a.IfcTrimmedCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2].map((e=>new bm(e.value))),t[3].value,t[4]),1600972822:(e,t)=>new a.IfcTubeBundleType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1911125066:(e,t)=>new a.IfcUnitaryEquipmentType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),728799441:(e,t)=>new a.IfcValveType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2769231204:(e,t)=>new a.IfcVirtualElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),1898987631:(e,t)=>new a.IfcWallType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1133259667:(e,t)=>new a.IfcWasteTerminalType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1028945134:(e,t)=>new a.IfcWorkControl(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),new bm(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]?new a.IfcTimeMeasure(t[9].value):null,t[10]?new a.IfcTimeMeasure(t[10].value):null,new bm(t[11].value),t[12]?new bm(t[12].value):null,t[13],t[14]?new a.IfcLabel(t[14].value):null),4218914973:(e,t)=>new a.IfcWorkPlan(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),new bm(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]?new a.IfcTimeMeasure(t[9].value):null,t[10]?new a.IfcTimeMeasure(t[10].value):null,new bm(t[11].value),t[12]?new bm(t[12].value):null,t[13],t[14]?new a.IfcLabel(t[14].value):null),3342526732:(e,t)=>new a.IfcWorkSchedule(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),new bm(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]?new a.IfcTimeMeasure(t[9].value):null,t[10]?new a.IfcTimeMeasure(t[10].value):null,new bm(t[11].value),t[12]?new bm(t[12].value):null,t[13],t[14]?new a.IfcLabel(t[14].value):null),1033361043:(e,t)=>new a.IfcZone(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),1213861670:(e,t)=>new a.Ifc2DCompositeCurve(e,t[0].map((e=>new bm(e.value))),t[1].value),3821786052:(e,t)=>new a.IfcActionRequest(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value)),1411407467:(e,t)=>new a.IfcAirTerminalBoxType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3352864051:(e,t)=>new a.IfcAirTerminalType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1871374353:(e,t)=>new a.IfcAirToAirHeatRecoveryType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2470393545:(e,t)=>new a.IfcAngularDimension(e,t[0].map((e=>new bm(e.value)))),3460190687:(e,t)=>new a.IfcAsset(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),new bm(t[6].value),new bm(t[7].value),new bm(t[8].value),new bm(t[9].value),new bm(t[10].value),new bm(t[11].value),new bm(t[12].value),new bm(t[13].value)),1967976161:(e,t)=>new a.IfcBSplineCurve(e,t[0].value,t[1].map((e=>new bm(e.value))),t[2],t[3].value,t[4].value),819618141:(e,t)=>new a.IfcBeamType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1916977116:(e,t)=>new a.IfcBezierCurve(e,t[0].value,t[1].map((e=>new bm(e.value))),t[2],t[3].value,t[4].value),231477066:(e,t)=>new a.IfcBoilerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3299480353:(e,t)=>new a.IfcBuildingElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),52481810:(e,t)=>new a.IfcBuildingElementComponent(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),2979338954:(e,t)=>new a.IfcBuildingElementPart(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),1095909175:(e,t)=>new a.IfcBuildingElementProxy(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]),1909888760:(e,t)=>new a.IfcBuildingElementProxyType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),395041908:(e,t)=>new a.IfcCableCarrierFittingType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3293546465:(e,t)=>new a.IfcCableCarrierSegmentType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1285652485:(e,t)=>new a.IfcCableSegmentType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2951183804:(e,t)=>new a.IfcChillerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2611217952:(e,t)=>new a.IfcCircle(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value)),2301859152:(e,t)=>new a.IfcCoilType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),843113511:(e,t)=>new a.IfcColumn(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3850581409:(e,t)=>new a.IfcCompressorType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2816379211:(e,t)=>new a.IfcCondenserType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2188551683:(e,t)=>new a.IfcCondition(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),1163958913:(e,t)=>new a.IfcConditionCriterion(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new bm(t[5].value),new bm(t[6].value)),3898045240:(e,t)=>new a.IfcConstructionEquipmentResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcIdentifier(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7],t[8]?new bm(t[8].value):null),1060000209:(e,t)=>new a.IfcConstructionMaterialResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcIdentifier(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7],t[8]?new bm(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new a.IfcRatioMeasure(t[10].value):null),488727124:(e,t)=>new a.IfcConstructionProductResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcIdentifier(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7],t[8]?new bm(t[8].value):null),335055490:(e,t)=>new a.IfcCooledBeamType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2954562838:(e,t)=>new a.IfcCoolingTowerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1973544240:(e,t)=>new a.IfcCovering(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]),3495092785:(e,t)=>new a.IfcCurtainWall(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3961806047:(e,t)=>new a.IfcDamperType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),4147604152:(e,t)=>new a.IfcDiameterDimension(e,t[0].map((e=>new bm(e.value)))),1335981549:(e,t)=>new a.IfcDiscreteAccessory(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),2635815018:(e,t)=>new a.IfcDiscreteAccessoryType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),1599208980:(e,t)=>new a.IfcDistributionChamberElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2063403501:(e,t)=>new a.IfcDistributionControlElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),1945004755:(e,t)=>new a.IfcDistributionElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3040386961:(e,t)=>new a.IfcDistributionFlowElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3041715199:(e,t)=>new a.IfcDistributionPort(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]),395920057:(e,t)=>new a.IfcDoor(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null),869906466:(e,t)=>new a.IfcDuctFittingType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3760055223:(e,t)=>new a.IfcDuctSegmentType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2030761528:(e,t)=>new a.IfcDuctSilencerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),855621170:(e,t)=>new a.IfcEdgeFeature(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null),663422040:(e,t)=>new a.IfcElectricApplianceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3277789161:(e,t)=>new a.IfcElectricFlowStorageDeviceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1534661035:(e,t)=>new a.IfcElectricGeneratorType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1365060375:(e,t)=>new a.IfcElectricHeaterType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1217240411:(e,t)=>new a.IfcElectricMotorType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),712377611:(e,t)=>new a.IfcElectricTimeControlType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1634875225:(e,t)=>new a.IfcElectricalCircuit(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),857184966:(e,t)=>new a.IfcElectricalElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),1658829314:(e,t)=>new a.IfcEnergyConversionDevice(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),346874300:(e,t)=>new a.IfcFanType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1810631287:(e,t)=>new a.IfcFilterType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),4222183408:(e,t)=>new a.IfcFireSuppressionTerminalType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2058353004:(e,t)=>new a.IfcFlowController(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),4278956645:(e,t)=>new a.IfcFlowFitting(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),4037862832:(e,t)=>new a.IfcFlowInstrumentType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3132237377:(e,t)=>new a.IfcFlowMovingDevice(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),987401354:(e,t)=>new a.IfcFlowSegment(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),707683696:(e,t)=>new a.IfcFlowStorageDevice(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),2223149337:(e,t)=>new a.IfcFlowTerminal(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3508470533:(e,t)=>new a.IfcFlowTreatmentDevice(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),900683007:(e,t)=>new a.IfcFooting(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]),1073191201:(e,t)=>new a.IfcMember(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),1687234759:(e,t)=>new a.IfcPile(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8],t[9]),3171933400:(e,t)=>new a.IfcPlate(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),2262370178:(e,t)=>new a.IfcRailing(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]),3024970846:(e,t)=>new a.IfcRamp(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]),3283111854:(e,t)=>new a.IfcRampFlight(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3055160366:(e,t)=>new a.IfcRationalBezierCurve(e,t[0].value,t[1].map((e=>new bm(e.value))),t[2],t[3].value,t[4].value,t[5].map((e=>e.value))),3027567501:(e,t)=>new a.IfcReinforcingElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),2320036040:(e,t)=>new a.IfcReinforcingMesh(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new a.IfcPositiveLengthMeasure(t[10].value):null,new a.IfcPositiveLengthMeasure(t[11].value),new a.IfcPositiveLengthMeasure(t[12].value),new a.IfcAreaMeasure(t[13].value),new a.IfcAreaMeasure(t[14].value),new a.IfcPositiveLengthMeasure(t[15].value),new a.IfcPositiveLengthMeasure(t[16].value)),2016517767:(e,t)=>new a.IfcRoof(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]),1376911519:(e,t)=>new a.IfcRoundedEdgeFeature(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null),1783015770:(e,t)=>new a.IfcSensorType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1529196076:(e,t)=>new a.IfcSlab(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]),331165859:(e,t)=>new a.IfcStair(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]),4252922144:(e,t)=>new a.IfcStairFlight(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?t[8].value:null,t[9]?t[9].value:null,t[10]?new a.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new a.IfcPositiveLengthMeasure(t[11].value):null),2515109513:(e,t)=>new a.IfcStructuralAnalysisModel(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5],t[6]?new bm(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?t[8].map((e=>new bm(e.value))):null),3824725483:(e,t)=>new a.IfcTendon(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9],new a.IfcPositiveLengthMeasure(t[10].value),new a.IfcAreaMeasure(t[11].value),t[12]?new a.IfcForceMeasure(t[12].value):null,t[13]?new a.IfcPressureMeasure(t[13].value):null,t[14]?new a.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new a.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new a.IfcPositiveLengthMeasure(t[16].value):null),2347447852:(e,t)=>new a.IfcTendonAnchor(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),3313531582:(e,t)=>new a.IfcVibrationIsolatorType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2391406946:(e,t)=>new a.IfcWall(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3512223829:(e,t)=>new a.IfcWallStandardCase(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3304561284:(e,t)=>new a.IfcWindow(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null),2874132201:(e,t)=>new a.IfcActuatorType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3001207471:(e,t)=>new a.IfcAlarmType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),753842376:(e,t)=>new a.IfcBeam(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),2454782716:(e,t)=>new a.IfcChamferEdgeFeature(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new a.IfcPositiveLengthMeasure(t[10].value):null),578613899:(e,t)=>new a.IfcControllerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1052013943:(e,t)=>new a.IfcDistributionChamberElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),1062813311:(e,t)=>new a.IfcDistributionControlElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcIdentifier(t[8].value):null),3700593921:(e,t)=>new a.IfcElectricDistributionPoint(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8],t[9]?new a.IfcLabel(t[9].value):null),979691226:(e,t)=>new a.IfcReinforcingBar(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,new a.IfcPositiveLengthMeasure(t[9].value),new a.IfcAreaMeasure(t[10].value),t[11]?new a.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13])},xm[1]={618182010:[Kf,_I],411424972:[1648886627,om],4037036970:[ym,vm,wm,Tm],1387855156:[ym],3264961684:[Rf],2859738748:[wf,hm,4257277454,vf,dm],2614616156:[vf],1959218052:[GI,jI],3796139169:[1694125774,2273265877],3200245327:[df,Df,ZI,JI,3207319532,$I,em],3265635763:[2445078500,803998398,3857492461,1860660968,1065908215,3317419933,2267347899,1227763645,Bd,zI,4256014907],4256014907:[Bd,zI],1918398963:[mf,yf,dI],3701648758:[Vd,Jd],2483315170:[Cd,vI,wI,TI,EI,gI,RI,MI],2226359599:[vI,wI,TI,EI,gI,RI],3727388367:[Up,Ed,Fp,gd,hf,Yf,LI,wd,Td,PI,990879717],990879717:[wd,Td,PI],1775413392:[hf,Yf],2022622350:[xI],3119450353:[sf,If,Xf,1290481447,tI],2095639259:[vd,Ud],3958567839:[gp,jc,Rp,qp,$p,eh,Mc,sh,uh,gh,Oh,Lh,Mh,rp,ad,cd,Pd,ff,Ef,Sf,Of,Nf,Af],2802850158:[jh,zh,1446786286,3679540991],2598011224:[gf,ud,pd,dd,fd,Id,yd,rI],1076942058:[nI,iI,Bf,oI,cI],3377609919:[ef,nf],3008791417:[Fd,Op,Ap,xp,Cp,Bl,fr,Io,Bo,Sc,Jc,Gp,Wp,Xp,$l,yc,Pc,Ja,ur,hr,xr,Ro,wr,qc,Fc,yp,vp,Ep,Zp,Vc,au,ou,cu,lp,Jp,th,ih,ah,lh,rh,oh,hh,Gc,fh,vh,Th,Nh,Ph,qh,fp,_p,ap,Kp,dh,Kc,Zc,Hh,Gh,uc,pc,Tp,Qp,Bh,Qc,uu,Lp,Uh,ed,nd,id,ch,Sd,bd,Nd,Ip,Od,Ih,mh,yh,Ad,Ch,Md,jd,zd,Wd,kd,Yd,Xd,ph,Rd,Qd,Dp,$d,tf,Ld,Bp,bh,Dd,Gd,rf,of,lf,cf,Vh,qd,uf,pf,nh,_d,Tf,_f,Mf,Uf,wh,up,Yp,Eh,xf,kp,_h,Cf,Lf,Pf,sI],2341007311:[Su,wu,bu,Nu,po,Eu,Ou,hu,du,fu,Iu,yu,vu,gu,Ru,Du,Au,xu,Cu,Pu,qu,_u,Mu,Hu,Bu,Lu,Uu,Fu,Gu,Vu,ju,zu,Wu,ku,Yu,Xu,Ku,Zu,Qu,$u,ep,tp,uo,mu,Ju,np,Tu,sp,ip,ld,cp,mp,Np,gc,Pp,Hp,jp,zp,Dh,Sh,Qh,Jh,$h,sd,rd,hd,md,Xl,dr,Tr,ja,wl,_r,Ur,Wr,jo,ko,Yl,vr,Er,gr,Rr,Pr,no,ro,oo,wo,To,No,Oo,Ko,fc,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,pp,Cl,go,Yo,vl,xa,Ca,ll,rl,ol,cl,ul,hl,Aa,dl,yl,Ll,Pl,qa,Ha,Ba,Ua,za,Wa,ka,Ka,$a,el,tl,nl,sl,il,al,xl,Fl,Gl,Ql,ar,Oa,Ga,Va,Za,Qa,lr,rr,or,br,Cr,Zo,Pa,Xa,bl,Co,ac,vo,lc,rc,Ic,Hl,Ho,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,Vr,jr,zr,kr,Yr,Jr,Fr,tu,iu,io,lo,Hc,Uc,ru,op,hp,Eo,xo,Po,Yc,dp,wp,Fa,Ml,Mo,oc,vc,La,_a,Ma,Ya,pl,ql,_l,Il,Nl,Qo,fl,gl,Sl,mr,Dr,eo,co,Ao,Uo,Fo,Xo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,sr,bo,Vo,sc,Tl,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,cr,Ir,Or,Ar,Lr,so,qo,zo,Wo,hc,dc,mc,Rc,Dc,ir,pr,Sr,$r,ao,ho,fo,Do,_o,bc,Oc,_c,Bc,kc,to,lu,Xc,Sp,bp,Mp,Vp,Rh,Ah,xh,Hd],3982875396:[Bf,oI],3692461612:[ud,pd,dd,fd,Id,yd],2273995522:[td,af],2162789131:[Wh,kh,Yh,Xh,Kh,Zh,aI,lI],2525727697:[Wh,kh,Yh,Xh,Kh,Zh,aI],2830218821:[nI],3958052878:[wh,up,Yp,Eh,xf,kp,_h,Cf,Lf,Pf],846575682:[Fh],626085974:[xd,Zd,bf],280115917:[Vf,jf],3101149627:[od,Kd],1377556343:[Ld,Bp,bh,Dd,Gd,rf,of,lf,cf,Vh,qd,uf,pf,nh,_d,Tf,_f,Mf],2799835756:[_f],2442683028:[wh,up,Yp,Eh,xf,kp,_h,Cf,Lf],3612888222:[kp,_h],3798115385:[Nf],1310608509:[Sf],370225590:[nh,_d],3900360178:[Vh,qd,uf],2556980723:[lf],1809719519:[rf],1446786286:[jh,zh],3448662350:[ef],2453401579:[Op,Ap,xp,Cp,Bl,fr,Io,Bo,Sc,Jc,Gp,Wp,Xp,$l,yc,Pc,Ja,ur,hr,xr,Ro,wr,qc,Fc,yp,vp,Ep,Zp,Vc,au,ou,cu,lp,Jp,th,ih,ah,lh,rh,oh,hh,Gc,fh,vh,Th,Nh,Ph,qh,fp,_p,ap,Kp,dh,Kc,Zc,Hh,Gh,uc,pc,Tp,Qp,Bh,Qc,uu,Lp,Uh,ed,nd,id,ch,Sd,bd,Nd,Ip,Od,Ih,mh,yh,Ad,Ch,Md,jd,zd,Wd,kd,Yd,Xd,ph,Rd,Qd,Dp,$d],3590301190:[Dp],812098782:[ph,Rd],1402838566:[jd,zd,Wd,kd,Yd],1520743889:[jd],1008929658:[Bp,bh,Dd],219451334:[Xl,dr,Tr,ja,wl,_r,Ur,Wr,jo,ko,Yl,vr,Er,gr,Rr,Pr,no,ro,oo,wo,To,No,Oo,Ko,fc,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,pp,Cl,go,Yo,vl,xa,Ca,ll,rl,ol,cl,ul,hl,Aa,dl,yl,Ll,Pl,qa,Ha,Ba,Ua,za,Wa,ka,Ka,$a,el,tl,nl,sl,il,al,xl,Fl,Gl,Ql,ar,Oa,Ga,Va,Za,Qa,lr,rr,or,br,Cr,Zo,Pa,Xa,bl,Co,ac,vo,lc,rc,Ic,Hl,Ho,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,Vr,jr,zr,kr,Yr,Jr,Fr,tu,iu,io,lo,Hc,Uc,ru,op,hp,Eo,xo,Po,Yc,dp,wp,Fa,Ml,Mo,oc,vc,La,_a,Ma,Ya,pl,ql,_l,Il,Nl,Qo,fl,gl,Sl,mr,Dr,eo,co,Ao,Uo,Fo,Xo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,sr,bo,Vo,sc,Tl,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,cr,Ir,Or,Ar,Lr,so,qo,zo,Wo,hc,dc,mc,Rc,Dc,ir,pr,Sr,$r,ao,ho,fo,Do,_o,bc,Oc,_c,Bc,kc,to,lu,Xc,Sp,bp,Mp,Vp,Rh,Ah,xh],2833995503:[Ch],2529465313:[gp,jc,Rp,qp,$p,eh,Mc,sh,uh,gh,Oh,Lh,Mh,rp,ad,cd],2004835150:[Ih,mh,yh],1663979128:[Ip],2067069095:[ch,Sd,bd],759155922:[Fp],2559016684:[Up],1680319473:[cp,mp,Np,gc,Pp,Hp,jp,zp,Dh,Sh,Qh,Jh,$h,sd,rd,hd],3357820518:[cp,mp,Np,gc,Pp,Hp,jp,zp,Dh,Sh,Qh,Jh,$h,sd,rd],3615266464:[rp,ad],478536968:[Su,wu,bu,Nu,po,Eu,Ou,hu,du,fu,Iu,yu,vu,gu,Ru,Du,Au,xu,Cu,Pu,qu,_u,Mu,Hu,Bu,Lu,Uu,Fu,Gu,Vu,ju,zu,Wu,ku,Yu,Xu,Ku,Zu,Qu,$u,ep,tp,uo,mu,Ju,np,Tu,sp,ip],723233188:[uc,pc,Tp,Qp,Bh,Qc,uu,Lp,Uh],2473145415:[Yh],1597423693:[Wh],3843319758:[jh],2513912981:[fp,_p,ap,Kp,dh,Kc,Zc,Hh],2247615214:[Qc,uu,Lp],230924584:[Kc,Zc],3028897424:[kp],4282788508:[Ph],1628702193:[Fa,Ml,Mo,oc,vc,La,_a,Ma,Ya,pl,ql,_l,Il,Nl,Qo,fl,gl,Sl,mr,Dr,eo,co,Ao,Uo,Fo,Xo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,sr,bo,Vo,sc,Tl,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,cr,Ir,Or,Ar,Lr,so,qo,zo,Wo,hc,dc,mc,Rc,Dc,ir,pr,Sr,$r,ao,ho,fo,Do,_o,bc,Oc,_c,Bc,kc,to,lu,Xc,Sp,bp,Mp,Vp,Rh,Ah],2347495698:[Fa,Ml,Mo,oc,vc,La,_a,Ma,Ya,pl,ql,_l,Il,Nl,Qo,fl,gl,Sl,mr,Dr,eo,co,Ao,Uo,Fo,Xo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,sr,bo,Vo,sc,Tl,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,cr,Ir,Or,Ar,Lr,so,qo,zo,Wo,hc,dc,mc,Rc,Dc,ir,pr,Sr,$r,ao,ho,fo,Do,_o,bc,Oc,_c,Bc,kc,to,lu,Xc,Sp,bp,Mp,Vp,Rh],3288037868:[up,Yp],2736907675:[Gc],4182860854:[ap,Kp],59481748:[ih,ah,lh,rh],3749851601:[lh],3331915920:[ih],1383045692:[Mc],2506170314:[Vc,au,ou,cu,lp],2601014836:[$l,yc,Pc,Ja,ur,hr,xr,Ro,wr,qc,Fc,yp,vp,Ep],3073041342:[Bl,fr,Io,Bo,Sc,Jc],339256511:[Fa,Ml,Mo,oc,vc,La,_a,Ma,Ya,pl,ql,_l,Il,Nl,Qo,fl,gl,Sl,mr,Dr,eo,co,Ao,Uo,Fo,Xo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,sr,bo,Vo,sc,Tl,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,cr,Ir,Or,Ar,Lr,so,qo,zo,Wo,hc,dc,mc,Rc,Dc,ir,pr,Sr,$r,ao,ho,fo,Do,_o,bc,Oc,_c,Bc,kc,to,lu,Xc,Sp,bp],2777663545:[fp],80994333:[gc],4238390223:[Xc,Sp],1484403080:[jc],1425443689:[uc,pc],3888040117:[Xl,dr,Tr,ja,wl,_r,Ur,Wr,jo,ko,Yl,vr,Er,gr,Rr,Pr,no,ro,oo,wo,To,No,Oo,Ko,fc,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,pp,Cl,go,Yo,vl,xa,Ca,ll,rl,ol,cl,ul,hl,Aa,dl,yl,Ll,Pl,qa,Ha,Ba,Ua,za,Wa,ka,Ka,$a,el,tl,nl,sl,il,al,xl,Fl,Gl,Ql,ar,Oa,Ga,Va,Za,Qa,lr,rr,or,br,Cr,Zo,Pa,Xa,bl,Co,ac,vo,lc,rc,Ic,Hl,Ho,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,Vr,jr,zr,kr,Yr,Jr,Fr,tu,iu,io,lo,Hc,Uc,ru,op,hp,Eo,xo,Po,Yc,dp],2945172077:[Eo,xo,Po,Yc],4208778838:[Cl,go,Yo,vl,xa,Ca,ll,rl,ol,cl,ul,hl,Aa,dl,yl,Ll,Pl,qa,Ha,Ba,Ua,za,Wa,ka,Ka,$a,el,tl,nl,sl,il,al,xl,Fl,Gl,Ql,ar,Oa,Ga,Va,Za,Qa,lr,rr,or,br,Cr,Zo,Pa,Xa,bl,Co,ac,vo,lc,rc,Ic,Hl,Ho,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,Vr,jr,zr,kr,Yr,Jr,Fr,tu,iu,io,lo,Hc,Uc,ru,op],3939117080:[Qu,$u,ep,tp,uo,mu,Ju,np,Tu,sp],1683148259:[Tu],2495723537:[uo,mu,Ju],1865459582:[Vu,ju,zu,Wu,ku,Yu,Xu,Ku],826625072:[hu,du,fu,Iu,yu,vu,gu,Ru,Du,Au,xu,Cu,Pu,qu,_u,Mu,Hu,Bu,Lu,Uu,Fu],1204542856:[Lu,Uu],1638771189:[Pu],2551354335:[po,Eu],693640335:[Su,wu,bu],4186316022:[wu],2914609552:[zl,Wl,kl,Hr,Go,Nc,Lc],2706606064:[io,lo,Hc,Uc],3893378262:[to],3544373492:[Vr,jr,zr,kr,Yr,Jr,Fr,tu],3136571912:[Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu],530289379:[Xr,Kr,$c,eu],3689010777:[Fr],3979015343:[$c],3473067441:[xo,Po],2296667514:[Lo],1260505505:[Ja,ur,hr,xr,Ro,wr,qc],1950629157:[ir,pr,Sr,$r,ao,ho,fo,Do,_o,bc,Oc,_c],3732776249:[wr],2510884976:[$l,yc],2559216714:[zl,Wl,kl,Hr,Go,Nc],3293443760:[Yl,vr,Er,gr,Rr,Pr,no,ro,oo,wo,To,No,Oo,Ko,fc,Ac,xc],681481545:[Bl,fr,Io,Bo],3256556792:[La,_a,Ma,Ya,pl,ql,_l,Il,Nl,Qo,fl,gl,Sl,mr,Dr,eo,co,Ao,Uo,Fo,Xo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,sr,bo,Vo,sc,Tl,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,cr,Ir,Or,Ar,Lr,so,qo,zo,Wo,hc,dc,mc,Rc],3849074793:[_l,Il,Nl,Qo,fl,gl,Sl,mr,Dr,eo,co,Ao,Uo,Fo,Xo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,sr,bo,Vo,sc,Tl,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,cr,Ir,Or,Ar,Lr,so,qo,zo,Wo,hc,dc,mc],1758889154:[vl,xa,Ca,ll,rl,ol,cl,ul,hl,Aa,dl,yl,Ll,Pl,qa,Ha,Ba,Ua,za,Wa,ka,Ka,$a,el,tl,nl,sl,il,al,xl,Fl,Gl,Ql,ar,Oa,Ga,Va,Za,Qa,lr,rr,or,br,Cr,Zo,Pa,Xa,bl,Co,ac,vo,lc,rc,Ic,Hl,Ho,cc,wc,Tc],1623761950:[Hl,Ho,cc],2590856083:[Fa,Ml,Mo,oc],2107101300:[El,Rl,Vl,jl,Kl,Jl,er,cr,Ir,Or,Ar,Lr,so,qo,zo,Wo,hc,dc],647756555:[Ho],2489546625:[Mo],2827207264:[Pa,Xa,bl,Co,ac,vo,lc],2143335405:[vo],1287392070:[Pa,Xa,bl,Co],3907093117:[Tl,Ul,yr,Nr,Mr,yo,nc],3198132628:[Al,sr,bo,Vo],1482959167:[ml,Zl,mo],1834744321:[Ol,tr,nr,So],1339347760:[Dl,qr],2297155007:[fl,gl,Sl,mr,Dr,eo,co,Ao,Uo,Fo,Xo],3009222698:[Il,Nl],2706460486:[Xl,dr,Tr,ja,wl,_r,Ur,Wr,jo],3740093272:[Cl],682877961:[Vr,jr,zr,kr,Yr],1179482911:[Br,Gr,Zr],214636428:[Xr],1807405624:[kr],1621171031:[jr],2254336722:[ja,wl],1028945134:[Er,gr],1967976161:[Ja,ur],1916977116:[Ja],3299480353:[qa,Ha,Ba,Ua,za,Wa,ka,Ka,$a,el,tl,nl,sl,il,al,xl,Fl,Gl,Ql,ar,Oa,Ga,Va,Za,Qa,lr,rr],52481810:[Oa,Ga,Va,Za,Qa,lr],2635815018:[Fa],2063403501:[La,_a,Ma,Ya,pl],1945004755:[xa,Ca,ll,rl,ol,cl,ul,hl,Aa,dl,yl,Ll],3040386961:[Ca,ll,rl,ol,cl,ul,hl,Aa,dl,yl],855621170:[Pa,Xa],2058353004:[Aa],3027567501:[Oa,Ga,Va,Za],2391406946:[Ba]},Am[1]={618182010:[[\"OfPerson\",BI,7,!0],[\"OfOrganization\",FI,4,!0]],411424972:[[\"ValuesReferenced\",yI,1,!0],[\"ValueOfComponents\",gm,0,!0],[\"IsComponentIn\",gm,1,!0]],130549933:[[\"Actors\",2080292479,1,!0],[\"IsRelatedWith\",Em,0,!0],[\"Relates\",Em,1,!0]],747523909:[[\"Contains\",1767535486,1,!0]],1767535486:[[\"IsClassifiedItemIn\",Im,1,!0],[\"IsClassifyingItemIn\",Im,0,!0]],1959218052:[[\"ClassifiedAs\",um,0,!0],[\"RelatesConstraints\",cm,2,!0],[\"IsRelatedWith\",cm,3,!0],[\"PropertiesForConstraint\",bI,0,!0],[\"Aggregates\",pm,2,!0],[\"IsAggregatedIn\",pm,3,!0]],602808272:[[\"ValuesReferenced\",yI,1,!0],[\"ValueOfComponents\",gm,0,!0],[\"IsComponentIn\",gm,1,!0]],1154170062:[[\"IsPointedTo\",nm,1,!0],[\"IsPointer\",nm,0,!0]],1648886627:[[\"ValuesReferenced\",yI,1,!0],[\"ValueOfComponents\",gm,0,!0],[\"IsComponentIn\",gm,1,!0]],852622518:[[\"PartOfW\",Yo,9,!0],[\"PartOfV\",Yo,8,!0],[\"PartOfU\",Yo,7,!0],[\"HasIntersections\",qf,0,!0]],3452421091:[[\"ReferenceIntoLibrary\",QI,4,!0]],1838606355:[[\"HasRepresentation\",Ud,3,!0],[\"ClassifiedAs\",1847130766,1,!0]],248100487:[[\"ToMaterialLayerSet\",YI,0,!1]],3368373690:[[\"ClassifiedAs\",um,0,!0],[\"RelatesConstraints\",cm,2,!0],[\"IsRelatedWith\",cm,3,!0],[\"PropertiesForConstraint\",bI,0,!0],[\"Aggregates\",pm,2,!0],[\"IsAggregatedIn\",pm,3,!0]],3701648758:[[\"PlacesObject\",hp,5,!0],[\"ReferencedByPlacements\",Vd,0,!0]],2251480897:[[\"ClassifiedAs\",um,0,!0],[\"RelatesConstraints\",cm,2,!0],[\"IsRelatedWith\",cm,3,!0],[\"PropertiesForConstraint\",bI,0,!0],[\"Aggregates\",pm,2,!0],[\"IsAggregatedIn\",pm,3,!0]],4251960020:[[\"IsRelatedBy\",UI,3,!0],[\"Relates\",UI,2,!0],[\"Engages\",HI,1,!0]],2077209135:[[\"EngagedIn\",HI,0,!0]],2483315170:[[\"PartOfComplex\",Cd,2,!0]],2226359599:[[\"PartOfComplex\",Cd,2,!0]],3355820592:[[\"OfPerson\",BI,7,!0],[\"OfOrganization\",FI,4,!0]],2598011224:[[\"PropertyForDependance\",SI,0,!0],[\"PropertyDependsOn\",SI,1,!0],[\"PartOfComplex\",gf,3,!0]],2044713172:[[\"PartOfComplex\",Cd,2,!0]],2093928680:[[\"PartOfComplex\",Cd,2,!0]],931644368:[[\"PartOfComplex\",Cd,2,!0]],3252649465:[[\"PartOfComplex\",Cd,2,!0]],2405470396:[[\"PartOfComplex\",Cd,2,!0]],825690147:[[\"PartOfComplex\",Cd,2,!0]],1076942058:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0]],3377609919:[[\"RepresentationsInContext\",II,0,!0]],3008791417:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1660063152:[[\"MapUsage\",Fd,0,!0]],3982875396:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0],[\"OfShapeAspect\",uI,0,!0]],4240577450:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0],[\"OfShapeAspect\",uI,0,!0]],3692461612:[[\"PropertyForDependance\",SI,0,!0],[\"PropertyDependsOn\",SI,1,!0],[\"PartOfComplex\",gf,3,!0]],2830218821:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0]],3958052878:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3049322572:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0]],531007025:[[\"OfTable\",985171141,1,!1]],912023232:[[\"OfPerson\",BI,7,!0],[\"OfOrganization\",FI,4,!0]],280115917:[[\"AnnotatedSurface\",vh,1,!0]],1742049831:[[\"AnnotatedSurface\",vh,1,!0]],2552916305:[[\"AnnotatedSurface\",vh,1,!0]],3101149627:[[\"DocumentedBy\",Ff,0,!0]],1377556343:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1735638870:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0],[\"OfShapeAspect\",uI,0,!0]],2799835756:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1907098498:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2442683028:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],962685235:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3612888222:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2297822566:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2542286263:[[\"PropertyForDependance\",SI,0,!0],[\"PropertyDependsOn\",SI,1,!0],[\"PartOfComplex\",gf,3,!0]],370225590:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3732053477:[[\"ReferenceToDocument\",sm,3,!0]],3900360178:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],476780140:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2556980723:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1809719519:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],803316827:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3008276851:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3448662350:[[\"RepresentationsInContext\",II,0,!0],[\"HasSubContexts\",ef,6,!0]],2453401579:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4142052618:[[\"RepresentationsInContext\",II,0,!0],[\"HasSubContexts\",ef,6,!0]],3590301190:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],178086475:[[\"PlacesObject\",hp,5,!0],[\"ReferencedByPlacements\",Vd,0,!0]],812098782:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3741457305:[[\"DocumentedBy\",Ff,0,!0]],1402838566:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],125510826:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2604431987:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4266656042:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1520743889:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3422422726:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2624227202:[[\"PlacesObject\",hp,5,!0],[\"ReferencedByPlacements\",Vd,0,!0]],1008929658:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2347385850:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],219451334:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0]],2833995503:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2665983363:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1029017970:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2519244187:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3021840470:[[\"PartOfComplex\",Cd,2,!0]],2004835150:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1663979128:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2067069095:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4022376103:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1423911732:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2924175390:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2775532180:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],673634403:[[\"ShapeOfProduct\",hp,6,!0],[\"HasShapeAspects\",uI,4,!0]],871118103:[[\"PropertyForDependance\",SI,0,!0],[\"PropertyDependsOn\",SI,1,!0],[\"PartOfComplex\",gf,3,!0]],1680319473:[[\"HasAssociations\",Zu,4,!0]],4166981789:[[\"PropertyForDependance\",SI,0,!0],[\"PropertyDependsOn\",SI,1,!0],[\"PartOfComplex\",gf,3,!0]],2752243245:[[\"PropertyForDependance\",SI,0,!0],[\"PropertyDependsOn\",SI,1,!0],[\"PartOfComplex\",gf,3,!0]],941946838:[[\"PropertyForDependance\",SI,0,!0],[\"PropertyDependsOn\",SI,1,!0],[\"PartOfComplex\",gf,3,!0]],3357820518:[[\"HasAssociations\",Zu,4,!0],[\"PropertyDefinitionOf\",bu,5,!0],[\"DefinesType\",xh,5,!0]],3650150729:[[\"PropertyForDependance\",SI,0,!0],[\"PropertyDependsOn\",SI,1,!0],[\"PartOfComplex\",gf,3,!0]],110355661:[[\"PropertyForDependance\",SI,0,!0],[\"PropertyDependsOn\",SI,1,!0],[\"PartOfComplex\",gf,3,!0]],3413951693:[[\"DocumentedBy\",Ff,0,!0]],3765753017:[[\"HasAssociations\",Zu,4,!0],[\"PropertyDefinitionOf\",bu,5,!0],[\"DefinesType\",xh,5,!0]],1509187699:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2411513650:[[\"HasAssociations\",Zu,4,!0],[\"PropertyDefinitionOf\",bu,5,!0],[\"DefinesType\",xh,5,!0]],4124623270:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],723233188:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2485662743:[[\"HasAssociations\",Zu,4,!0],[\"PropertyDefinitionOf\",bu,5,!0],[\"DefinesType\",xh,5,!0]],1202362311:[[\"HasAssociations\",Zu,4,!0],[\"PropertyDefinitionOf\",bu,5,!0],[\"DefinesType\",xh,5,!0]],390701378:[[\"HasAssociations\",Zu,4,!0],[\"PropertyDefinitionOf\",bu,5,!0],[\"DefinesType\",xh,5,!0]],2233826070:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2513912981:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2247615214:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1260650574:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],230924584:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3028897424:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4282788508:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3124975700:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1345879162:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1628702193:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2347495698:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1417489154:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2759199220:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],336235671:[[\"HasAssociations\",Zu,4,!0],[\"PropertyDefinitionOf\",bu,5,!0],[\"DefinesType\",xh,5,!0]],512836454:[[\"HasAssociations\",Zu,4,!0],[\"PropertyDefinitionOf\",bu,5,!0],[\"DefinesType\",xh,5,!0]],1299126871:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3288037868:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],669184980:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2265737646:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1302238472:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4261334040:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3125803723:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2740243338:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2736907675:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4182860854:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2581212453:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2713105998:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1123145078:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],59481748:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3749851601:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3486308946:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3331915920:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1416205885:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2205249479:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2485617015:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"UsingCurves\",qc,0,!0]],2506170314:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2147822146:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2601014836:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2827736869:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],693772133:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],606661476:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"AnnotatedBySymbols\",_h,3,!0]],4054601972:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],32440307:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2963535650:[[\"HasAssociations\",Zu,4,!0],[\"PropertyDefinitionOf\",bu,5,!0],[\"DefinesType\",xh,5,!0]],1714330368:[[\"HasAssociations\",Zu,4,!0],[\"PropertyDefinitionOf\",bu,5,!0],[\"DefinesType\",xh,5,!0]],526551008:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3073041342:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"IsRelatedFromCallout\",tm,3,!0],[\"IsRelatedToCallout\",tm,2,!0]],1472233963:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1883228015:[[\"HasAssociations\",Zu,4,!0],[\"PropertyDefinitionOf\",bu,5,!0],[\"DefinesType\",xh,5,!0]],339256511:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2777663545:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],80994333:[[\"HasAssociations\",Zu,4,!0],[\"PropertyDefinitionOf\",bu,5,!0],[\"DefinesType\",xh,5,!0]],477187591:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2047409740:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],374418227:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4203026998:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],315944413:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3455213021:[[\"HasAssociations\",Zu,4,!0],[\"PropertyDefinitionOf\",bu,5,!0],[\"DefinesType\",xh,5,!0]],4238390223:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1268542332:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],987898635:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1281925730:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1425443689:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3888040117:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0]],3388369263:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3505215534:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3566463478:[[\"HasAssociations\",Zu,4,!0],[\"PropertyDefinitionOf\",bu,5,!0],[\"DefinesType\",xh,5,!0]],603570806:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],220341763:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2945172077:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"OperatesOn\",ep,6,!0],[\"IsSuccessorFrom\",Iu,5,!0],[\"IsPredecessorTo\",Iu,4,!0]],4208778838:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0]],103090709:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0]],4194566429:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1451395588:[[\"HasAssociations\",Zu,4,!0],[\"PropertyDefinitionOf\",bu,5,!0],[\"DefinesType\",xh,5,!0]],3219374653:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0]],2798486643:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3454111270:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2914609552:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ResourceOf\",Qu,6,!0]],1856042241:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4158566097:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3626867408:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2706606064:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ReferencesElements\",yu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ContainsElements\",Cu,5,!0]],3893378262:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],451544542:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3544373492:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!1]],3136571912:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0]],530289379:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ReferencesElement\",_u,5,!0],[\"ConnectedBy\",qu,4,!0]],3689010777:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!1],[\"Causes\",Jr,10,!0]],3979015343:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ReferencesElement\",_u,5,!0],[\"ConnectedBy\",qu,4,!0]],2218152070:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ReferencesElement\",_u,5,!0],[\"ConnectedBy\",qu,4,!0]],4070609034:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"IsRelatedFromCallout\",tm,3,!0],[\"IsRelatedToCallout\",tm,2,!0]],2028607225:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2809605785:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4124788165:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1580310250:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3473067441:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"OperatesOn\",ep,6,!0],[\"IsSuccessorFrom\",Iu,5,!0],[\"IsPredecessorTo\",Iu,4,!0]],2097647324:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2296667514:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"IsActingUpon\",sp,6,!0]],1674181508:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainedInStructure\",Cu,4,!0]],1334484129:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3649129432:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1260505505:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4031249490:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ReferencesElements\",yu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ContainsElements\",Cu,5,!0]],1950629157:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3124254112:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ReferencesElements\",yu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ContainsElements\",Cu,5,!0]],300633059:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3732776249:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2510884976:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2559216714:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ResourceOf\",Qu,6,!0]],3293443760:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0]],3895139033:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0]],1419761937:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0]],1916426348:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3295246426:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ResourceOf\",Qu,6,!0]],1457835157:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],681481545:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"IsRelatedFromCallout\",tm,3,!0],[\"IsRelatedToCallout\",tm,2,!0]],3256556792:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3849074793:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],360485395:[[\"HasAssociations\",Zu,4,!0],[\"PropertyDefinitionOf\",bu,5,!0],[\"DefinesType\",xh,5,!0]],1758889154:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],4123344466:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],1623761950:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],2590856083:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1704287377:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2107101300:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1962604670:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],3272907226:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0]],3174744832:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3390157468:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],807026263:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3737207727:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],647756555:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],2489546625:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2827207264:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],2143335405:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"ProjectsElements\",vu,5,!1]],1287392070:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"VoidsElements\",hu,5,!1]],3907093117:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3198132628:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3815607619:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1482959167:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1834744321:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1339347760:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2297155007:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3009222698:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],263784265:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],814719939:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0]],200128114:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3009204131:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainedInStructure\",Cu,4,!0]],2706460486:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"IsGroupedBy\",tp,6,!1]],1251058090:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1806887404:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2391368822:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"IsGroupedBy\",tp,6,!1]],4288270099:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3827777499:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ResourceOf\",Qu,6,!0]],1051575348:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1161773419:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2506943328:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"IsRelatedFromCallout\",tm,3,!0],[\"IsRelatedToCallout\",tm,2,!0]],377706215:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],2108223431:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3181161470:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],977012517:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1916936684:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"OperatesOn\",ep,6,!0],[\"IsSuccessorFrom\",Iu,5,!0],[\"IsPredecessorTo\",Iu,4,!0]],4143007308:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"IsActingUpon\",sp,6,!0]],3588315303:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"VoidsElements\",hu,5,!1],[\"HasFillings\",Du,4,!0]],3425660407:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"OperatesOn\",ep,6,!0],[\"IsSuccessorFrom\",Iu,5,!0],[\"IsPredecessorTo\",Iu,4,!0]],2837617999:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2382730787:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0]],3327091369:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0]],804291784:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],4231323485:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],4017108033:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3724593414:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3740093272:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainedIn\",Bu,4,!1],[\"ConnectedFrom\",Hu,5,!0],[\"ConnectedTo\",Hu,4,!0]],2744685151:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"OperatesOn\",ep,6,!0],[\"IsSuccessorFrom\",Iu,5,!0],[\"IsPredecessorTo\",Iu,4,!0]],2904328755:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0]],3642467123:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0]],3651124850:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"ProjectsElements\",vu,5,!1]],1842657554:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2250791053:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3248260540:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"IsRelatedFromCallout\",tm,3,!0],[\"IsRelatedToCallout\",tm,2,!0]],2893384427:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2324767716:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1768891740:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3517283431:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0],[\"ScheduleTimeControlAssigned\",uo,7,!1]],4105383287:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0]],4097777520:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ReferencesElements\",yu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ContainsElements\",Cu,5,!0]],2533589738:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3856911033:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ReferencesElements\",yu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ContainsElements\",Cu,5,!0],[\"HasCoverings\",Au,4,!0],[\"BoundedBy\",du,4,!0]],1305183839:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],652456506:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0],[\"HasInteractionReqsFrom\",gu,7,!0],[\"HasInteractionReqsTo\",gu,8,!0]],3812236995:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3112655638:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1039846685:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],682877961:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!1]],1179482911:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectsStructuralMembers\",qu,5,!0]],4243806635:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectsStructuralMembers\",qu,5,!0]],214636428:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ReferencesElement\",_u,5,!0],[\"ConnectedBy\",qu,4,!0]],2445595289:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ReferencesElement\",_u,5,!0],[\"ConnectedBy\",qu,4,!0]],1807405624:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!1]],1721250024:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!1]],1252848954:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"IsGroupedBy\",tp,6,!1],[\"SourceOfResultGroup\",Ur,6,!0],[\"LoadGroupFor\",ja,7,!0]],1621171031:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!1]],3987759626:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!1]],2082059205:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!1]],734778138:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectsStructuralMembers\",qu,5,!0]],1235345126:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!1],[\"Causes\",Jr,10,!0]],2986769608:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"IsGroupedBy\",tp,6,!1],[\"ResultGroupFor\",ja,8,!0]],1975003073:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectsStructuralMembers\",qu,5,!0]],148013059:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ResourceOf\",Qu,6,!0]],2315554128:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2254336722:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"IsGroupedBy\",tp,6,!1],[\"ServicesBuildings\",fu,4,!0]],5716631:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1637806684:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0]],1692211062:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1620046519:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],3593883385:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1600972822:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1911125066:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],728799441:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2769231204:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],1898987631:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1133259667:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1028945134:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0]],4218914973:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0]],3342526732:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0]],1033361043:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"IsGroupedBy\",tp,6,!1]],1213861670:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3821786052:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0]],1411407467:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3352864051:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1871374353:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2470393545:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"IsRelatedFromCallout\",tm,3,!0],[\"IsRelatedToCallout\",tm,2,!0]],3460190687:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"IsGroupedBy\",tp,6,!1]],1967976161:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],819618141:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1916977116:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],231477066:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3299480353:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],52481810:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],2979338954:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],1095909175:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],1909888760:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],395041908:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3293546465:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1285652485:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2951183804:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2611217952:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2301859152:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],843113511:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],3850581409:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2816379211:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2188551683:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"IsGroupedBy\",tp,6,!1]],1163958913:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"Controls\",np,6,!0]],3898045240:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ResourceOf\",Qu,6,!0]],1060000209:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ResourceOf\",Qu,6,!0]],488727124:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ResourceOf\",Qu,6,!0]],335055490:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2954562838:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1973544240:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"CoversSpaces\",Au,5,!0],[\"Covers\",xu,5,!0]],3495092785:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],3961806047:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],4147604152:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"IsRelatedFromCallout\",tm,3,!0],[\"IsRelatedToCallout\",tm,2,!0]],1335981549:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],2635815018:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1599208980:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2063403501:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1945004755:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],3040386961:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasControlElements\",Ru,5,!0]],3041715199:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainedIn\",Bu,4,!1],[\"ConnectedFrom\",Hu,5,!0],[\"ConnectedTo\",Hu,4,!0]],395920057:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],869906466:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3760055223:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2030761528:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],855621170:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"VoidsElements\",hu,5,!1]],663422040:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3277789161:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1534661035:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1365060375:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1217240411:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],712377611:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1634875225:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"IsGroupedBy\",tp,6,!1],[\"ServicesBuildings\",fu,4,!0]],857184966:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],1658829314:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasControlElements\",Ru,5,!0]],346874300:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1810631287:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],4222183408:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2058353004:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasControlElements\",Ru,5,!0]],4278956645:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasControlElements\",Ru,5,!0]],4037862832:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3132237377:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasControlElements\",Ru,5,!0]],987401354:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasControlElements\",Ru,5,!0]],707683696:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasControlElements\",Ru,5,!0]],2223149337:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasControlElements\",Ru,5,!0]],3508470533:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasControlElements\",Ru,5,!0]],900683007:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],1073191201:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],1687234759:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],3171933400:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],2262370178:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],3024970846:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],3283111854:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],3055160366:[[\"LayerAssignments\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3027567501:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],2320036040:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],2016517767:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],1376911519:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"VoidsElements\",hu,5,!1]],1783015770:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1529196076:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],331165859:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],4252922144:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],2515109513:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"IsGroupedBy\",tp,6,!1],[\"ServicesBuildings\",fu,4,!0]],3824725483:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],2347447852:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],3313531582:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],2391406946:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],3512223829:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],3304561284:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],2874132201:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],3001207471:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],753842376:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]],2454782716:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"VoidsElements\",hu,5,!1]],578613899:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"ObjectTypeOf\",Su,5,!0]],1052013943:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasControlElements\",Ru,5,!0]],1062813311:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"AssignedToFlowElement\",Ru,4,!0]],3700593921:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasControlElements\",Ru,5,!0]],979691226:[[\"HasAssignments\",ip,4,!0],[\"IsDecomposedBy\",Ou,4,!0],[\"Decomposes\",Ou,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",Nu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"HasStructuralMember\",_u,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"HasCoverings\",xu,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0]]},Cm[1]={3630933823:(e,t)=>new a.IfcActorRole(e,t[0],t[1],t[2]),618182010:(e,t)=>new a.IfcAddress(e,t[0],t[1],t[2]),639542469:(e,t)=>new a.IfcApplication(e,t[0],t[1],t[2],t[3]),411424972:(e,t)=>new a.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5]),1110488051:(e,t)=>new a.IfcAppliedValueRelationship(e,t[0],t[1],t[2],t[3],t[4]),130549933:(e,t)=>new a.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2080292479:(e,t)=>new a.IfcApprovalActorRelationship(e,t[0],t[1],t[2]),390851274:(e,t)=>new a.IfcApprovalPropertyRelationship(e,t[0],t[1]),3869604511:(e,t)=>new a.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3]),4037036970:(e,t)=>new a.IfcBoundaryCondition(e,t[0]),1560379544:(e,t)=>new a.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3367102660:(e,t)=>new a.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3]),1387855156:(e,t)=>new a.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2069777674:(e,t)=>new a.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),622194075:(e,t)=>new a.IfcCalendarDate(e,t[0],t[1],t[2]),747523909:(e,t)=>new a.IfcClassification(e,t[0],t[1],t[2],t[3]),1767535486:(e,t)=>new a.IfcClassificationItem(e,t[0],t[1],t[2]),1098599126:(e,t)=>new a.IfcClassificationItemRelationship(e,t[0],t[1]),938368621:(e,t)=>new a.IfcClassificationNotation(e,t[0]),3639012971:(e,t)=>new a.IfcClassificationNotationFacet(e,t[0]),3264961684:(e,t)=>new a.IfcColourSpecification(e,t[0]),2859738748:(e,t)=>new a.IfcConnectionGeometry(e),2614616156:(e,t)=>new a.IfcConnectionPointGeometry(e,t[0],t[1]),4257277454:(e,t)=>new a.IfcConnectionPortGeometry(e,t[0],t[1],t[2]),2732653382:(e,t)=>new a.IfcConnectionSurfaceGeometry(e,t[0],t[1]),1959218052:(e,t)=>new a.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1658513725:(e,t)=>new a.IfcConstraintAggregationRelationship(e,t[0],t[1],t[2],t[3],t[4]),613356794:(e,t)=>new a.IfcConstraintClassificationRelationship(e,t[0],t[1]),347226245:(e,t)=>new a.IfcConstraintRelationship(e,t[0],t[1],t[2],t[3]),1065062679:(e,t)=>new a.IfcCoordinatedUniversalTimeOffset(e,t[0],t[1],t[2]),602808272:(e,t)=>new a.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),539742890:(e,t)=>new a.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4]),1105321065:(e,t)=>new a.IfcCurveStyleFont(e,t[0],t[1]),2367409068:(e,t)=>new a.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2]),3510044353:(e,t)=>new a.IfcCurveStyleFontPattern(e,t[0],t[1]),1072939445:(e,t)=>new a.IfcDateAndTime(e,t[0],t[1]),1765591967:(e,t)=>new a.IfcDerivedUnit(e,t[0],t[1],t[2]),1045800335:(e,t)=>new a.IfcDerivedUnitElement(e,t[0],t[1]),2949456006:(e,t)=>new a.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1376555844:(e,t)=>new a.IfcDocumentElectronicFormat(e,t[0],t[1],t[2]),1154170062:(e,t)=>new a.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),770865208:(e,t)=>new a.IfcDocumentInformationRelationship(e,t[0],t[1],t[2]),3796139169:(e,t)=>new a.IfcDraughtingCalloutRelationship(e,t[0],t[1],t[2],t[3]),1648886627:(e,t)=>new a.IfcEnvironmentalImpactValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3200245327:(e,t)=>new a.IfcExternalReference(e,t[0],t[1],t[2]),2242383968:(e,t)=>new a.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2]),1040185647:(e,t)=>new a.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2]),3207319532:(e,t)=>new a.IfcExternallyDefinedSymbol(e,t[0],t[1],t[2]),3548104201:(e,t)=>new a.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2]),852622518:(e,t)=>new a.IfcGridAxis(e,t[0],t[1],t[2]),3020489413:(e,t)=>new a.IfcIrregularTimeSeriesValue(e,t[0],t[1]),2655187982:(e,t)=>new a.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4]),3452421091:(e,t)=>new a.IfcLibraryReference(e,t[0],t[1],t[2]),4162380809:(e,t)=>new a.IfcLightDistributionData(e,t[0],t[1],t[2]),1566485204:(e,t)=>new a.IfcLightIntensityDistribution(e,t[0],t[1]),30780891:(e,t)=>new a.IfcLocalTime(e,t[0],t[1],t[2],t[3],t[4]),1838606355:(e,t)=>new a.IfcMaterial(e,t[0]),1847130766:(e,t)=>new a.IfcMaterialClassificationRelationship(e,t[0],t[1]),248100487:(e,t)=>new a.IfcMaterialLayer(e,t[0],t[1],t[2]),3303938423:(e,t)=>new a.IfcMaterialLayerSet(e,t[0],t[1]),1303795690:(e,t)=>new a.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3]),2199411900:(e,t)=>new a.IfcMaterialList(e,t[0]),3265635763:(e,t)=>new a.IfcMaterialProperties(e,t[0]),2597039031:(e,t)=>new a.IfcMeasureWithUnit(e,t[0],t[1]),4256014907:(e,t)=>new a.IfcMechanicalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),677618848:(e,t)=>new a.IfcMechanicalSteelMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),3368373690:(e,t)=>new a.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2706619895:(e,t)=>new a.IfcMonetaryUnit(e,t[0]),1918398963:(e,t)=>new a.IfcNamedUnit(e,t[0],t[1]),3701648758:(e,t)=>new a.IfcObjectPlacement(e),2251480897:(e,t)=>new a.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1227763645:(e,t)=>new a.IfcOpticalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4251960020:(e,t)=>new a.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4]),1411181986:(e,t)=>new a.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3]),1207048766:(e,t)=>new a.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2077209135:(e,t)=>new a.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),101040310:(e,t)=>new a.IfcPersonAndOrganization(e,t[0],t[1],t[2]),2483315170:(e,t)=>new a.IfcPhysicalQuantity(e,t[0],t[1]),2226359599:(e,t)=>new a.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2]),3355820592:(e,t)=>new a.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3727388367:(e,t)=>new a.IfcPreDefinedItem(e,t[0]),990879717:(e,t)=>new a.IfcPreDefinedSymbol(e,t[0]),3213052703:(e,t)=>new a.IfcPreDefinedTerminatorSymbol(e,t[0]),1775413392:(e,t)=>new a.IfcPreDefinedTextFont(e,t[0]),2022622350:(e,t)=>new a.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3]),1304840413:(e,t)=>new a.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3119450353:(e,t)=>new a.IfcPresentationStyle(e,t[0]),2417041796:(e,t)=>new a.IfcPresentationStyleAssignment(e,t[0]),2095639259:(e,t)=>new a.IfcProductRepresentation(e,t[0],t[1],t[2]),2267347899:(e,t)=>new a.IfcProductsOfCombustionProperties(e,t[0],t[1],t[2],t[3],t[4]),3958567839:(e,t)=>new a.IfcProfileDef(e,t[0],t[1]),2802850158:(e,t)=>new a.IfcProfileProperties(e,t[0],t[1]),2598011224:(e,t)=>new a.IfcProperty(e,t[0],t[1]),3896028662:(e,t)=>new a.IfcPropertyConstraintRelationship(e,t[0],t[1],t[2],t[3]),148025276:(e,t)=>new a.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4]),3710013099:(e,t)=>new a.IfcPropertyEnumeration(e,t[0],t[1],t[2]),2044713172:(e,t)=>new a.IfcQuantityArea(e,t[0],t[1],t[2],t[3]),2093928680:(e,t)=>new a.IfcQuantityCount(e,t[0],t[1],t[2],t[3]),931644368:(e,t)=>new a.IfcQuantityLength(e,t[0],t[1],t[2],t[3]),3252649465:(e,t)=>new a.IfcQuantityTime(e,t[0],t[1],t[2],t[3]),2405470396:(e,t)=>new a.IfcQuantityVolume(e,t[0],t[1],t[2],t[3]),825690147:(e,t)=>new a.IfcQuantityWeight(e,t[0],t[1],t[2],t[3]),2692823254:(e,t)=>new a.IfcReferencesValueDocument(e,t[0],t[1],t[2],t[3]),1580146022:(e,t)=>new a.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),1222501353:(e,t)=>new a.IfcRelaxation(e,t[0],t[1]),1076942058:(e,t)=>new a.IfcRepresentation(e,t[0],t[1],t[2],t[3]),3377609919:(e,t)=>new a.IfcRepresentationContext(e,t[0],t[1]),3008791417:(e,t)=>new a.IfcRepresentationItem(e),1660063152:(e,t)=>new a.IfcRepresentationMap(e,t[0],t[1]),3679540991:(e,t)=>new a.IfcRibPlateProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2341007311:(e,t)=>new a.IfcRoot(e,t[0],t[1],t[2],t[3]),448429030:(e,t)=>new a.IfcSIUnit(e,t[0],t[1],t[2]),2042790032:(e,t)=>new a.IfcSectionProperties(e,t[0],t[1],t[2]),4165799628:(e,t)=>new a.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),867548509:(e,t)=>new a.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4]),3982875396:(e,t)=>new a.IfcShapeModel(e,t[0],t[1],t[2],t[3]),4240577450:(e,t)=>new a.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3]),3692461612:(e,t)=>new a.IfcSimpleProperty(e,t[0],t[1]),2273995522:(e,t)=>new a.IfcStructuralConnectionCondition(e,t[0]),2162789131:(e,t)=>new a.IfcStructuralLoad(e,t[0]),2525727697:(e,t)=>new a.IfcStructuralLoadStatic(e,t[0]),3408363356:(e,t)=>new a.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3]),2830218821:(e,t)=>new a.IfcStyleModel(e,t[0],t[1],t[2],t[3]),3958052878:(e,t)=>new a.IfcStyledItem(e,t[0],t[1],t[2]),3049322572:(e,t)=>new a.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3]),1300840506:(e,t)=>new a.IfcSurfaceStyle(e,t[0],t[1],t[2]),3303107099:(e,t)=>new a.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3]),1607154358:(e,t)=>new a.IfcSurfaceStyleRefraction(e,t[0],t[1]),846575682:(e,t)=>new a.IfcSurfaceStyleShading(e,t[0]),1351298697:(e,t)=>new a.IfcSurfaceStyleWithTextures(e,t[0]),626085974:(e,t)=>new a.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3]),1290481447:(e,t)=>new a.IfcSymbolStyle(e,t[0],t[1]),985171141:(e,t)=>new a.IfcTable(e,t[0],t[1]),531007025:(e,t)=>new a.IfcTableRow(e,t[0],t[1]),912023232:(e,t)=>new a.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1447204868:(e,t)=>new a.IfcTextStyle(e,t[0],t[1],t[2],t[3]),1983826977:(e,t)=>new a.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5]),2636378356:(e,t)=>new a.IfcTextStyleForDefinedFont(e,t[0],t[1]),1640371178:(e,t)=>new a.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1484833681:(e,t)=>new a.IfcTextStyleWithBoxCharacteristics(e,t[0],t[1],t[2],t[3],t[4]),280115917:(e,t)=>new a.IfcTextureCoordinate(e),1742049831:(e,t)=>new a.IfcTextureCoordinateGenerator(e,t[0],t[1]),2552916305:(e,t)=>new a.IfcTextureMap(e,t[0]),1210645708:(e,t)=>new a.IfcTextureVertex(e,t[0]),3317419933:(e,t)=>new a.IfcThermalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4]),3101149627:(e,t)=>new a.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1718945513:(e,t)=>new a.IfcTimeSeriesReferenceRelationship(e,t[0],t[1]),581633288:(e,t)=>new a.IfcTimeSeriesValue(e,t[0]),1377556343:(e,t)=>new a.IfcTopologicalRepresentationItem(e),1735638870:(e,t)=>new a.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3]),180925521:(e,t)=>new a.IfcUnitAssignment(e,t[0]),2799835756:(e,t)=>new a.IfcVertex(e),3304826586:(e,t)=>new a.IfcVertexBasedTextureMap(e,t[0],t[1]),1907098498:(e,t)=>new a.IfcVertexPoint(e,t[0]),891718957:(e,t)=>new a.IfcVirtualGridIntersection(e,t[0],t[1]),1065908215:(e,t)=>new a.IfcWaterProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2442683028:(e,t)=>new a.IfcAnnotationOccurrence(e,t[0],t[1],t[2]),962685235:(e,t)=>new a.IfcAnnotationSurfaceOccurrence(e,t[0],t[1],t[2]),3612888222:(e,t)=>new a.IfcAnnotationSymbolOccurrence(e,t[0],t[1],t[2]),2297822566:(e,t)=>new a.IfcAnnotationTextOccurrence(e,t[0],t[1],t[2]),3798115385:(e,t)=>new a.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2]),1310608509:(e,t)=>new a.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2]),2705031697:(e,t)=>new a.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3]),616511568:(e,t)=>new a.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5]),3150382593:(e,t)=>new a.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3]),647927063:(e,t)=>new a.IfcClassificationReference(e,t[0],t[1],t[2],t[3]),776857604:(e,t)=>new a.IfcColourRgb(e,t[0],t[1],t[2],t[3]),2542286263:(e,t)=>new a.IfcComplexProperty(e,t[0],t[1],t[2],t[3]),1485152156:(e,t)=>new a.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3]),370225590:(e,t)=>new a.IfcConnectedFaceSet(e,t[0]),1981873012:(e,t)=>new a.IfcConnectionCurveGeometry(e,t[0],t[1]),45288368:(e,t)=>new a.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4]),3050246964:(e,t)=>new a.IfcContextDependentUnit(e,t[0],t[1],t[2]),2889183280:(e,t)=>new a.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3]),3800577675:(e,t)=>new a.IfcCurveStyle(e,t[0],t[1],t[2],t[3]),3632507154:(e,t)=>new a.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4]),2273265877:(e,t)=>new a.IfcDimensionCalloutRelationship(e,t[0],t[1],t[2],t[3]),1694125774:(e,t)=>new a.IfcDimensionPair(e,t[0],t[1],t[2],t[3]),3732053477:(e,t)=>new a.IfcDocumentReference(e,t[0],t[1],t[2]),4170525392:(e,t)=>new a.IfcDraughtingPreDefinedTextFont(e,t[0]),3900360178:(e,t)=>new a.IfcEdge(e,t[0],t[1]),476780140:(e,t)=>new a.IfcEdgeCurve(e,t[0],t[1],t[2],t[3]),1860660968:(e,t)=>new a.IfcExtendedMaterialProperties(e,t[0],t[1],t[2],t[3]),2556980723:(e,t)=>new a.IfcFace(e,t[0]),1809719519:(e,t)=>new a.IfcFaceBound(e,t[0],t[1]),803316827:(e,t)=>new a.IfcFaceOuterBound(e,t[0],t[1]),3008276851:(e,t)=>new a.IfcFaceSurface(e,t[0],t[1],t[2]),4219587988:(e,t)=>new a.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),738692330:(e,t)=>new a.IfcFillAreaStyle(e,t[0],t[1]),3857492461:(e,t)=>new a.IfcFuelProperties(e,t[0],t[1],t[2],t[3],t[4]),803998398:(e,t)=>new a.IfcGeneralMaterialProperties(e,t[0],t[1],t[2],t[3]),1446786286:(e,t)=>new a.IfcGeneralProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3448662350:(e,t)=>new a.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5]),2453401579:(e,t)=>new a.IfcGeometricRepresentationItem(e),4142052618:(e,t)=>new a.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5]),3590301190:(e,t)=>new a.IfcGeometricSet(e,t[0]),178086475:(e,t)=>new a.IfcGridPlacement(e,t[0],t[1]),812098782:(e,t)=>new a.IfcHalfSpaceSolid(e,t[0],t[1]),2445078500:(e,t)=>new a.IfcHygroscopicMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),3905492369:(e,t)=>new a.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4]),3741457305:(e,t)=>new a.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1402838566:(e,t)=>new a.IfcLightSource(e,t[0],t[1],t[2],t[3]),125510826:(e,t)=>new a.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3]),2604431987:(e,t)=>new a.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4]),4266656042:(e,t)=>new a.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1520743889:(e,t)=>new a.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3422422726:(e,t)=>new a.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),2624227202:(e,t)=>new a.IfcLocalPlacement(e,t[0],t[1]),1008929658:(e,t)=>new a.IfcLoop(e),2347385850:(e,t)=>new a.IfcMappedItem(e,t[0],t[1]),2022407955:(e,t)=>new a.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3]),1430189142:(e,t)=>new a.IfcMechanicalConcreteMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),219451334:(e,t)=>new a.IfcObjectDefinition(e,t[0],t[1],t[2],t[3]),2833995503:(e,t)=>new a.IfcOneDirectionRepeatFactor(e,t[0]),2665983363:(e,t)=>new a.IfcOpenShell(e,t[0]),1029017970:(e,t)=>new a.IfcOrientedEdge(e,t[0],t[1]),2529465313:(e,t)=>new a.IfcParameterizedProfileDef(e,t[0],t[1],t[2]),2519244187:(e,t)=>new a.IfcPath(e,t[0]),3021840470:(e,t)=>new a.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5]),597895409:(e,t)=>new a.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2004835150:(e,t)=>new a.IfcPlacement(e,t[0]),1663979128:(e,t)=>new a.IfcPlanarExtent(e,t[0],t[1]),2067069095:(e,t)=>new a.IfcPoint(e),4022376103:(e,t)=>new a.IfcPointOnCurve(e,t[0],t[1]),1423911732:(e,t)=>new a.IfcPointOnSurface(e,t[0],t[1],t[2]),2924175390:(e,t)=>new a.IfcPolyLoop(e,t[0]),2775532180:(e,t)=>new a.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3]),759155922:(e,t)=>new a.IfcPreDefinedColour(e,t[0]),2559016684:(e,t)=>new a.IfcPreDefinedCurveFont(e,t[0]),433424934:(e,t)=>new a.IfcPreDefinedDimensionSymbol(e,t[0]),179317114:(e,t)=>new a.IfcPreDefinedPointMarkerSymbol(e,t[0]),673634403:(e,t)=>new a.IfcProductDefinitionShape(e,t[0],t[1],t[2]),871118103:(e,t)=>new a.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4]),1680319473:(e,t)=>new a.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3]),4166981789:(e,t)=>new a.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3]),2752243245:(e,t)=>new a.IfcPropertyListValue(e,t[0],t[1],t[2],t[3]),941946838:(e,t)=>new a.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3]),3357820518:(e,t)=>new a.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3]),3650150729:(e,t)=>new a.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3]),110355661:(e,t)=>new a.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3615266464:(e,t)=>new a.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4]),3413951693:(e,t)=>new a.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3765753017:(e,t)=>new a.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),478536968:(e,t)=>new a.IfcRelationship(e,t[0],t[1],t[2],t[3]),2778083089:(e,t)=>new a.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5]),1509187699:(e,t)=>new a.IfcSectionedSpine(e,t[0],t[1],t[2]),2411513650:(e,t)=>new a.IfcServiceLifeFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4124623270:(e,t)=>new a.IfcShellBasedSurfaceModel(e,t[0]),2609359061:(e,t)=>new a.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3]),723233188:(e,t)=>new a.IfcSolidModel(e),2485662743:(e,t)=>new a.IfcSoundProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1202362311:(e,t)=>new a.IfcSoundValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),390701378:(e,t)=>new a.IfcSpaceThermalLoadProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),1595516126:(e,t)=>new a.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2668620305:(e,t)=>new a.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3]),2473145415:(e,t)=>new a.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1973038258:(e,t)=>new a.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1597423693:(e,t)=>new a.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1190533807:(e,t)=>new a.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3843319758:(e,t)=>new a.IfcStructuralProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22]),3653947884:(e,t)=>new a.IfcStructuralSteelProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25],t[26]),2233826070:(e,t)=>new a.IfcSubedge(e,t[0],t[1],t[2]),2513912981:(e,t)=>new a.IfcSurface(e),1878645084:(e,t)=>new a.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2247615214:(e,t)=>new a.IfcSweptAreaSolid(e,t[0],t[1]),1260650574:(e,t)=>new a.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4]),230924584:(e,t)=>new a.IfcSweptSurface(e,t[0],t[1]),3071757647:(e,t)=>new a.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),3028897424:(e,t)=>new a.IfcTerminatorSymbol(e,t[0],t[1],t[2],t[3]),4282788508:(e,t)=>new a.IfcTextLiteral(e,t[0],t[1],t[2]),3124975700:(e,t)=>new a.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4]),2715220739:(e,t)=>new a.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1345879162:(e,t)=>new a.IfcTwoDirectionRepeatFactor(e,t[0],t[1]),1628702193:(e,t)=>new a.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5]),2347495698:(e,t)=>new a.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),427810014:(e,t)=>new a.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1417489154:(e,t)=>new a.IfcVector(e,t[0],t[1]),2759199220:(e,t)=>new a.IfcVertexLoop(e,t[0]),336235671:(e,t)=>new a.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),512836454:(e,t)=>new a.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1299126871:(e,t)=>new a.IfcWindowStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2543172580:(e,t)=>new a.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3288037868:(e,t)=>new a.IfcAnnotationCurveOccurrence(e,t[0],t[1],t[2]),669184980:(e,t)=>new a.IfcAnnotationFillArea(e,t[0],t[1]),2265737646:(e,t)=>new a.IfcAnnotationFillAreaOccurrence(e,t[0],t[1],t[2],t[3],t[4]),1302238472:(e,t)=>new a.IfcAnnotationSurface(e,t[0],t[1]),4261334040:(e,t)=>new a.IfcAxis1Placement(e,t[0],t[1]),3125803723:(e,t)=>new a.IfcAxis2Placement2D(e,t[0],t[1]),2740243338:(e,t)=>new a.IfcAxis2Placement3D(e,t[0],t[1],t[2]),2736907675:(e,t)=>new a.IfcBooleanResult(e,t[0],t[1],t[2]),4182860854:(e,t)=>new a.IfcBoundedSurface(e),2581212453:(e,t)=>new a.IfcBoundingBox(e,t[0],t[1],t[2],t[3]),2713105998:(e,t)=>new a.IfcBoxedHalfSpace(e,t[0],t[1],t[2]),2898889636:(e,t)=>new a.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1123145078:(e,t)=>new a.IfcCartesianPoint(e,t[0]),59481748:(e,t)=>new a.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3]),3749851601:(e,t)=>new a.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3]),3486308946:(e,t)=>new a.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4]),3331915920:(e,t)=>new a.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4]),1416205885:(e,t)=>new a.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1383045692:(e,t)=>new a.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3]),2205249479:(e,t)=>new a.IfcClosedShell(e,t[0]),2485617015:(e,t)=>new a.IfcCompositeCurveSegment(e,t[0],t[1],t[2]),4133800736:(e,t)=>new a.IfcCraneRailAShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14]),194851669:(e,t)=>new a.IfcCraneRailFShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2506170314:(e,t)=>new a.IfcCsgPrimitive3D(e,t[0]),2147822146:(e,t)=>new a.IfcCsgSolid(e,t[0]),2601014836:(e,t)=>new a.IfcCurve(e),2827736869:(e,t)=>new a.IfcCurveBoundedPlane(e,t[0],t[1],t[2]),693772133:(e,t)=>new a.IfcDefinedSymbol(e,t[0],t[1]),606661476:(e,t)=>new a.IfcDimensionCurve(e,t[0],t[1],t[2]),4054601972:(e,t)=>new a.IfcDimensionCurveTerminator(e,t[0],t[1],t[2],t[3],t[4]),32440307:(e,t)=>new a.IfcDirection(e,t[0]),2963535650:(e,t)=>new a.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14]),1714330368:(e,t)=>new a.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),526551008:(e,t)=>new a.IfcDoorStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),3073041342:(e,t)=>new a.IfcDraughtingCallout(e,t[0]),445594917:(e,t)=>new a.IfcDraughtingPreDefinedColour(e,t[0]),4006246654:(e,t)=>new a.IfcDraughtingPreDefinedCurveFont(e,t[0]),1472233963:(e,t)=>new a.IfcEdgeLoop(e,t[0]),1883228015:(e,t)=>new a.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5]),339256511:(e,t)=>new a.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2777663545:(e,t)=>new a.IfcElementarySurface(e,t[0]),2835456948:(e,t)=>new a.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4]),80994333:(e,t)=>new a.IfcEnergyProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),477187591:(e,t)=>new a.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3]),2047409740:(e,t)=>new a.IfcFaceBasedSurfaceModel(e,t[0]),374418227:(e,t)=>new a.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4]),4203026998:(e,t)=>new a.IfcFillAreaStyleTileSymbolWithStyle(e,t[0]),315944413:(e,t)=>new a.IfcFillAreaStyleTiles(e,t[0],t[1],t[2]),3455213021:(e,t)=>new a.IfcFluidFlowProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18]),4238390223:(e,t)=>new a.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1268542332:(e,t)=>new a.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),987898635:(e,t)=>new a.IfcGeometricCurveSet(e,t[0]),1484403080:(e,t)=>new a.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),572779678:(e,t)=>new a.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1281925730:(e,t)=>new a.IfcLine(e,t[0],t[1]),1425443689:(e,t)=>new a.IfcManifoldSolidBrep(e,t[0]),3888040117:(e,t)=>new a.IfcObject(e,t[0],t[1],t[2],t[3],t[4]),3388369263:(e,t)=>new a.IfcOffsetCurve2D(e,t[0],t[1],t[2]),3505215534:(e,t)=>new a.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3]),3566463478:(e,t)=>new a.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),603570806:(e,t)=>new a.IfcPlanarBox(e,t[0],t[1],t[2]),220341763:(e,t)=>new a.IfcPlane(e,t[0]),2945172077:(e,t)=>new a.IfcProcess(e,t[0],t[1],t[2],t[3],t[4]),4208778838:(e,t)=>new a.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),103090709:(e,t)=>new a.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4194566429:(e,t)=>new a.IfcProjectionCurve(e,t[0],t[1],t[2]),1451395588:(e,t)=>new a.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4]),3219374653:(e,t)=>new a.IfcProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2770003689:(e,t)=>new a.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2798486643:(e,t)=>new a.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3]),3454111270:(e,t)=>new a.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3939117080:(e,t)=>new a.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5]),1683148259:(e,t)=>new a.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2495723537:(e,t)=>new a.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1307041759:(e,t)=>new a.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),4278684876:(e,t)=>new a.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2857406711:(e,t)=>new a.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3372526763:(e,t)=>new a.IfcRelAssignsToProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),205026976:(e,t)=>new a.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1865459582:(e,t)=>new a.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4]),1327628568:(e,t)=>new a.IfcRelAssociatesAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5]),4095574036:(e,t)=>new a.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5]),919958153:(e,t)=>new a.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5]),2728634034:(e,t)=>new a.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),982818633:(e,t)=>new a.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5]),3840914261:(e,t)=>new a.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5]),2655215786:(e,t)=>new a.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5]),2851387026:(e,t)=>new a.IfcRelAssociatesProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),826625072:(e,t)=>new a.IfcRelConnects(e,t[0],t[1],t[2],t[3]),1204542856:(e,t)=>new a.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3945020480:(e,t)=>new a.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4201705270:(e,t)=>new a.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),3190031847:(e,t)=>new a.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2127690289:(e,t)=>new a.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5]),3912681535:(e,t)=>new a.IfcRelConnectsStructuralElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),1638771189:(e,t)=>new a.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),504942748:(e,t)=>new a.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3678494232:(e,t)=>new a.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3242617779:(e,t)=>new a.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5]),886880790:(e,t)=>new a.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5]),2802773753:(e,t)=>new a.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5]),2551354335:(e,t)=>new a.IfcRelDecomposes(e,t[0],t[1],t[2],t[3],t[4],t[5]),693640335:(e,t)=>new a.IfcRelDefines(e,t[0],t[1],t[2],t[3],t[4]),4186316022:(e,t)=>new a.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),781010003:(e,t)=>new a.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5]),3940055652:(e,t)=>new a.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),279856033:(e,t)=>new a.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5]),4189434867:(e,t)=>new a.IfcRelInteractionRequirements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3268803585:(e,t)=>new a.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5]),2051452291:(e,t)=>new a.IfcRelOccupiesSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),202636808:(e,t)=>new a.IfcRelOverridesProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),750771296:(e,t)=>new a.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),1245217292:(e,t)=>new a.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5]),1058617721:(e,t)=>new a.IfcRelSchedulesCostItems(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),4122056220:(e,t)=>new a.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),366585022:(e,t)=>new a.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5]),3451746338:(e,t)=>new a.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1401173127:(e,t)=>new a.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),2914609552:(e,t)=>new a.IfcResource(e,t[0],t[1],t[2],t[3],t[4]),1856042241:(e,t)=>new a.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3]),4158566097:(e,t)=>new a.IfcRightCircularCone(e,t[0],t[1],t[2]),3626867408:(e,t)=>new a.IfcRightCircularCylinder(e,t[0],t[1],t[2]),2706606064:(e,t)=>new a.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3893378262:(e,t)=>new a.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),451544542:(e,t)=>new a.IfcSphere(e,t[0],t[1]),3544373492:(e,t)=>new a.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3136571912:(e,t)=>new a.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),530289379:(e,t)=>new a.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3689010777:(e,t)=>new a.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3979015343:(e,t)=>new a.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2218152070:(e,t)=>new a.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4070609034:(e,t)=>new a.IfcStructuredDimensionCallout(e,t[0]),2028607225:(e,t)=>new a.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5]),2809605785:(e,t)=>new a.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3]),4124788165:(e,t)=>new a.IfcSurfaceOfRevolution(e,t[0],t[1],t[2]),1580310250:(e,t)=>new a.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3473067441:(e,t)=>new a.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2097647324:(e,t)=>new a.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2296667514:(e,t)=>new a.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5]),1674181508:(e,t)=>new a.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3207858831:(e,t)=>new a.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1334484129:(e,t)=>new a.IfcBlock(e,t[0],t[1],t[2],t[3]),3649129432:(e,t)=>new a.IfcBooleanClippingResult(e,t[0],t[1],t[2]),1260505505:(e,t)=>new a.IfcBoundedCurve(e),4031249490:(e,t)=>new a.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1950629157:(e,t)=>new a.IfcBuildingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3124254112:(e,t)=>new a.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2937912522:(e,t)=>new a.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4]),300633059:(e,t)=>new a.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3732776249:(e,t)=>new a.IfcCompositeCurve(e,t[0],t[1]),2510884976:(e,t)=>new a.IfcConic(e,t[0]),2559216714:(e,t)=>new a.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3293443760:(e,t)=>new a.IfcControl(e,t[0],t[1],t[2],t[3],t[4]),3895139033:(e,t)=>new a.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4]),1419761937:(e,t)=>new a.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),1916426348:(e,t)=>new a.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3295246426:(e,t)=>new a.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1457835157:(e,t)=>new a.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),681481545:(e,t)=>new a.IfcDimensionCurveDirectedCallout(e,t[0]),3256556792:(e,t)=>new a.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3849074793:(e,t)=>new a.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),360485395:(e,t)=>new a.IfcElectricalBaseProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),1758889154:(e,t)=>new a.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4123344466:(e,t)=>new a.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1623761950:(e,t)=>new a.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2590856083:(e,t)=>new a.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1704287377:(e,t)=>new a.IfcEllipse(e,t[0],t[1],t[2]),2107101300:(e,t)=>new a.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1962604670:(e,t)=>new a.IfcEquipmentElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3272907226:(e,t)=>new a.IfcEquipmentStandard(e,t[0],t[1],t[2],t[3],t[4]),3174744832:(e,t)=>new a.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3390157468:(e,t)=>new a.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),807026263:(e,t)=>new a.IfcFacetedBrep(e,t[0]),3737207727:(e,t)=>new a.IfcFacetedBrepWithVoids(e,t[0],t[1]),647756555:(e,t)=>new a.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2489546625:(e,t)=>new a.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2827207264:(e,t)=>new a.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2143335405:(e,t)=>new a.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1287392070:(e,t)=>new a.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3907093117:(e,t)=>new a.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3198132628:(e,t)=>new a.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3815607619:(e,t)=>new a.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1482959167:(e,t)=>new a.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1834744321:(e,t)=>new a.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1339347760:(e,t)=>new a.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2297155007:(e,t)=>new a.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3009222698:(e,t)=>new a.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),263784265:(e,t)=>new a.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),814719939:(e,t)=>new a.IfcFurnitureStandard(e,t[0],t[1],t[2],t[3],t[4]),200128114:(e,t)=>new a.IfcGasTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3009204131:(e,t)=>new a.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2706460486:(e,t)=>new a.IfcGroup(e,t[0],t[1],t[2],t[3],t[4]),1251058090:(e,t)=>new a.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1806887404:(e,t)=>new a.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2391368822:(e,t)=>new a.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4288270099:(e,t)=>new a.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3827777499:(e,t)=>new a.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1051575348:(e,t)=>new a.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1161773419:(e,t)=>new a.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2506943328:(e,t)=>new a.IfcLinearDimension(e,t[0]),377706215:(e,t)=>new a.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2108223431:(e,t)=>new a.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3181161470:(e,t)=>new a.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),977012517:(e,t)=>new a.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1916936684:(e,t)=>new a.IfcMove(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),4143007308:(e,t)=>new a.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3588315303:(e,t)=>new a.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3425660407:(e,t)=>new a.IfcOrderAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2837617999:(e,t)=>new a.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2382730787:(e,t)=>new a.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5]),3327091369:(e,t)=>new a.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5]),804291784:(e,t)=>new a.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4231323485:(e,t)=>new a.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4017108033:(e,t)=>new a.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3724593414:(e,t)=>new a.IfcPolyline(e,t[0]),3740093272:(e,t)=>new a.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2744685151:(e,t)=>new a.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2904328755:(e,t)=>new a.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3642467123:(e,t)=>new a.IfcProjectOrderRecord(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3651124850:(e,t)=>new a.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1842657554:(e,t)=>new a.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2250791053:(e,t)=>new a.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3248260540:(e,t)=>new a.IfcRadiusDimension(e,t[0]),2893384427:(e,t)=>new a.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2324767716:(e,t)=>new a.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),160246688:(e,t)=>new a.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5]),2863920197:(e,t)=>new a.IfcRelAssignsTasks(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1768891740:(e,t)=>new a.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3517283431:(e,t)=>new a.IfcScheduleTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22]),4105383287:(e,t)=>new a.IfcServiceLife(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),4097777520:(e,t)=>new a.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),2533589738:(e,t)=>new a.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3856911033:(e,t)=>new a.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1305183839:(e,t)=>new a.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),652456506:(e,t)=>new a.IfcSpaceProgram(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3812236995:(e,t)=>new a.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3112655638:(e,t)=>new a.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1039846685:(e,t)=>new a.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),682877961:(e,t)=>new a.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1179482911:(e,t)=>new a.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4243806635:(e,t)=>new a.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),214636428:(e,t)=>new a.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2445595289:(e,t)=>new a.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1807405624:(e,t)=>new a.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1721250024:(e,t)=>new a.IfcStructuralLinearActionVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),1252848954:(e,t)=>new a.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1621171031:(e,t)=>new a.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),3987759626:(e,t)=>new a.IfcStructuralPlanarActionVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),2082059205:(e,t)=>new a.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),734778138:(e,t)=>new a.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1235345126:(e,t)=>new a.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2986769608:(e,t)=>new a.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1975003073:(e,t)=>new a.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),148013059:(e,t)=>new a.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2315554128:(e,t)=>new a.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2254336722:(e,t)=>new a.IfcSystem(e,t[0],t[1],t[2],t[3],t[4]),5716631:(e,t)=>new a.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1637806684:(e,t)=>new a.IfcTimeSeriesSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1692211062:(e,t)=>new a.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1620046519:(e,t)=>new a.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3593883385:(e,t)=>new a.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4]),1600972822:(e,t)=>new a.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1911125066:(e,t)=>new a.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),728799441:(e,t)=>new a.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2769231204:(e,t)=>new a.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1898987631:(e,t)=>new a.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1133259667:(e,t)=>new a.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1028945134:(e,t)=>new a.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14]),4218914973:(e,t)=>new a.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14]),3342526732:(e,t)=>new a.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14]),1033361043:(e,t)=>new a.IfcZone(e,t[0],t[1],t[2],t[3],t[4]),1213861670:(e,t)=>new a.Ifc2DCompositeCurve(e,t[0],t[1]),3821786052:(e,t)=>new a.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5]),1411407467:(e,t)=>new a.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3352864051:(e,t)=>new a.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1871374353:(e,t)=>new a.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2470393545:(e,t)=>new a.IfcAngularDimension(e,t[0]),3460190687:(e,t)=>new a.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),1967976161:(e,t)=>new a.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4]),819618141:(e,t)=>new a.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1916977116:(e,t)=>new a.IfcBezierCurve(e,t[0],t[1],t[2],t[3],t[4]),231477066:(e,t)=>new a.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3299480353:(e,t)=>new a.IfcBuildingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),52481810:(e,t)=>new a.IfcBuildingElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2979338954:(e,t)=>new a.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1095909175:(e,t)=>new a.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1909888760:(e,t)=>new a.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),395041908:(e,t)=>new a.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3293546465:(e,t)=>new a.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1285652485:(e,t)=>new a.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2951183804:(e,t)=>new a.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2611217952:(e,t)=>new a.IfcCircle(e,t[0],t[1]),2301859152:(e,t)=>new a.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),843113511:(e,t)=>new a.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3850581409:(e,t)=>new a.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2816379211:(e,t)=>new a.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2188551683:(e,t)=>new a.IfcCondition(e,t[0],t[1],t[2],t[3],t[4]),1163958913:(e,t)=>new a.IfcConditionCriterion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3898045240:(e,t)=>new a.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1060000209:(e,t)=>new a.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),488727124:(e,t)=>new a.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),335055490:(e,t)=>new a.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2954562838:(e,t)=>new a.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1973544240:(e,t)=>new a.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3495092785:(e,t)=>new a.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3961806047:(e,t)=>new a.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4147604152:(e,t)=>new a.IfcDiameterDimension(e,t[0]),1335981549:(e,t)=>new a.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2635815018:(e,t)=>new a.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1599208980:(e,t)=>new a.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2063403501:(e,t)=>new a.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1945004755:(e,t)=>new a.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3040386961:(e,t)=>new a.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3041715199:(e,t)=>new a.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),395920057:(e,t)=>new a.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),869906466:(e,t)=>new a.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3760055223:(e,t)=>new a.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2030761528:(e,t)=>new a.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),855621170:(e,t)=>new a.IfcEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),663422040:(e,t)=>new a.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3277789161:(e,t)=>new a.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1534661035:(e,t)=>new a.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1365060375:(e,t)=>new a.IfcElectricHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1217240411:(e,t)=>new a.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),712377611:(e,t)=>new a.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1634875225:(e,t)=>new a.IfcElectricalCircuit(e,t[0],t[1],t[2],t[3],t[4]),857184966:(e,t)=>new a.IfcElectricalElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1658829314:(e,t)=>new a.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),346874300:(e,t)=>new a.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1810631287:(e,t)=>new a.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4222183408:(e,t)=>new a.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2058353004:(e,t)=>new a.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4278956645:(e,t)=>new a.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4037862832:(e,t)=>new a.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3132237377:(e,t)=>new a.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),987401354:(e,t)=>new a.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),707683696:(e,t)=>new a.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2223149337:(e,t)=>new a.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3508470533:(e,t)=>new a.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),900683007:(e,t)=>new a.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1073191201:(e,t)=>new a.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1687234759:(e,t)=>new a.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3171933400:(e,t)=>new a.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2262370178:(e,t)=>new a.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3024970846:(e,t)=>new a.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3283111854:(e,t)=>new a.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3055160366:(e,t)=>new a.IfcRationalBezierCurve(e,t[0],t[1],t[2],t[3],t[4],t[5]),3027567501:(e,t)=>new a.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2320036040:(e,t)=>new a.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),2016517767:(e,t)=>new a.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1376911519:(e,t)=>new a.IfcRoundedEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1783015770:(e,t)=>new a.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1529196076:(e,t)=>new a.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),331165859:(e,t)=>new a.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4252922144:(e,t)=>new a.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2515109513:(e,t)=>new a.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3824725483:(e,t)=>new a.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),2347447852:(e,t)=>new a.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3313531582:(e,t)=>new a.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2391406946:(e,t)=>new a.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3512223829:(e,t)=>new a.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3304561284:(e,t)=>new a.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2874132201:(e,t)=>new a.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3001207471:(e,t)=>new a.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),753842376:(e,t)=>new a.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2454782716:(e,t)=>new a.IfcChamferEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),578613899:(e,t)=>new a.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1052013943:(e,t)=>new a.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1062813311:(e,t)=>new a.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3700593921:(e,t)=>new a.IfcElectricDistributionPoint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),979691226:(e,t)=>new a.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},Lm[1]={3630933823:e=>[e.Role,e.UserDefinedRole,e.Description],618182010:e=>[e.Purpose,e.Description,e.UserDefinedPurpose],639542469:e=>[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier],411424972:e=>[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate],1110488051:e=>[e.ComponentOfTotal,e.Components,e.ArithmeticOperator,e.Name,e.Description],130549933:e=>[e.Description,e.ApprovalDateTime,e.ApprovalStatus,e.ApprovalLevel,e.ApprovalQualifier,e.Name,e.Identifier],2080292479:e=>[e.Actor,e.Approval,e.Role],390851274:e=>[e.ApprovedProperties,e.Approval],3869604511:e=>[e.RelatedApproval,e.RelatingApproval,e.Description,e.Name],4037036970:e=>[e.Name],1560379544:e=>[e.Name,e.LinearStiffnessByLengthX,e.LinearStiffnessByLengthY,e.LinearStiffnessByLengthZ,e.RotationalStiffnessByLengthX,e.RotationalStiffnessByLengthY,e.RotationalStiffnessByLengthZ],3367102660:e=>[e.Name,e.LinearStiffnessByAreaX,e.LinearStiffnessByAreaY,e.LinearStiffnessByAreaZ],1387855156:e=>[e.Name,e.LinearStiffnessX,e.LinearStiffnessY,e.LinearStiffnessZ,e.RotationalStiffnessX,e.RotationalStiffnessY,e.RotationalStiffnessZ],2069777674:e=>[e.Name,e.LinearStiffnessX,e.LinearStiffnessY,e.LinearStiffnessZ,e.RotationalStiffnessX,e.RotationalStiffnessY,e.RotationalStiffnessZ,e.WarpingStiffness],622194075:e=>[e.DayComponent,e.MonthComponent,e.YearComponent],747523909:e=>[e.Source,e.Edition,e.EditionDate,e.Name],1767535486:e=>[e.Notation,e.ItemOf,e.Title],1098599126:e=>[e.RelatingItem,e.RelatedItems],938368621:e=>[e.NotationFacets],3639012971:e=>[e.NotationValue],3264961684:e=>[e.Name],2859738748:e=>[],2614616156:e=>[e.PointOnRelatingElement,e.PointOnRelatedElement],4257277454:e=>[e.LocationAtRelatingElement,e.LocationAtRelatedElement,e.ProfileOfPort],2732653382:e=>[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement],1959218052:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade],1658513725:e=>[e.Name,e.Description,e.RelatingConstraint,e.RelatedConstraints,e.LogicalAggregator],613356794:e=>[e.ClassifiedConstraint,e.RelatedClassifications],347226245:e=>[e.Name,e.Description,e.RelatingConstraint,e.RelatedConstraints],1065062679:e=>[e.HourOffset,e.MinuteOffset,e.Sense],602808272:e=>[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.CostType,e.Condition],539742890:e=>[e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource],1105321065:e=>[e.Name,e.PatternList],2367409068:e=>[e.Name,e.CurveFont,e.CurveFontScaling],3510044353:e=>[e.VisibleSegmentLength,e.InvisibleSegmentLength],1072939445:e=>[e.DateComponent,e.TimeComponent],1765591967:e=>[e.Elements,e.UnitType,e.UserDefinedType],1045800335:e=>[e.Unit,e.Exponent],2949456006:e=>[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent],1376555844:e=>[e.FileExtension,e.MimeContentType,e.MimeSubtype],1154170062:e=>[e.DocumentId,e.Name,e.Description,e.DocumentReferences,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status],770865208:e=>[e.RelatingDocument,e.RelatedDocuments,e.RelationshipType],3796139169:e=>[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout],1648886627:e=>[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.ImpactType,e.Category,e.UserDefinedCategory],3200245327:e=>[e.Location,e.ItemReference,e.Name],2242383968:e=>[e.Location,e.ItemReference,e.Name],1040185647:e=>[e.Location,e.ItemReference,e.Name],3207319532:e=>[e.Location,e.ItemReference,e.Name],3548104201:e=>[e.Location,e.ItemReference,e.Name],852622518:e=>{var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:e=>[e.TimeStamp,e.ListValues.map((e=>Mm(e)))],2655187982:e=>[e.Name,e.Version,e.Publisher,e.VersionDate,e.LibraryReference],3452421091:e=>[e.Location,e.ItemReference,e.Name],4162380809:e=>[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity],1566485204:e=>[e.LightDistributionCurve,e.DistributionData],30780891:e=>[e.HourComponent,e.MinuteComponent,e.SecondComponent,e.Zone,e.DaylightSavingOffset],1838606355:e=>[e.Name],1847130766:e=>[e.MaterialClassifications,e.ClassifiedMaterial],248100487:e=>{var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString()]},3303938423:e=>[e.MaterialLayers,e.LayerSetName],1303795690:e=>[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine],2199411900:e=>[e.Materials],3265635763:e=>[e.Material],2597039031:e=>[Mm(e.ValueComponent),e.UnitComponent],4256014907:e=>[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient],677618848:e=>[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient,e.YieldStress,e.UltimateStress,e.UltimateStrain,e.HardeningModule,e.ProportionalStress,e.PlasticStrain,e.Relaxations],3368373690:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue],2706619895:e=>[e.Currency],1918398963:e=>[e.Dimensions,e.UnitType],3701648758:e=>[],2251480897:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.ResultValues,e.ObjectiveQualifier,e.UserDefinedQualifier],1227763645:e=>[e.Material,e.VisibleTransmittance,e.SolarTransmittance,e.ThermalIrTransmittance,e.ThermalIrEmissivityBack,e.ThermalIrEmissivityFront,e.VisibleReflectanceBack,e.VisibleReflectanceFront,e.SolarReflectanceFront,e.SolarReflectanceBack],4251960020:e=>[e.Id,e.Name,e.Description,e.Roles,e.Addresses],1411181986:e=>[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations],1207048766:e=>[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate],2077209135:e=>[e.Id,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses],101040310:e=>[e.ThePerson,e.TheOrganization,e.Roles],2483315170:e=>[e.Name,e.Description],2226359599:e=>[e.Name,e.Description,e.Unit],3355820592:e=>[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country],3727388367:e=>[e.Name],990879717:e=>[e.Name],3213052703:e=>[e.Name],1775413392:e=>[e.Name],2022622350:e=>[e.Name,e.Description,e.AssignedItems,e.Identifier],1304840413:e=>[e.Name,e.Description,e.AssignedItems,e.Identifier,e.LayerOn,e.LayerFrozen,e.LayerBlocked,e.LayerStyles],3119450353:e=>[e.Name],2417041796:e=>[e.Styles],2095639259:e=>[e.Name,e.Description,e.Representations],2267347899:e=>[e.Material,e.SpecificHeatCapacity,e.N20Content,e.COContent,e.CO2Content],3958567839:e=>[e.ProfileType,e.ProfileName],2802850158:e=>[e.ProfileName,e.ProfileDefinition],2598011224:e=>[e.Name,e.Description],3896028662:e=>[e.RelatingConstraint,e.RelatedProperties,e.Name,e.Description],148025276:e=>[e.DependingProperty,e.DependantProperty,e.Name,e.Description,e.Expression],3710013099:e=>[e.Name,e.EnumerationValues.map((e=>Mm(e))),e.Unit],2044713172:e=>[e.Name,e.Description,e.Unit,e.AreaValue],2093928680:e=>[e.Name,e.Description,e.Unit,e.CountValue],931644368:e=>[e.Name,e.Description,e.Unit,e.LengthValue],3252649465:e=>[e.Name,e.Description,e.Unit,e.TimeValue],2405470396:e=>[e.Name,e.Description,e.Unit,e.VolumeValue],825690147:e=>[e.Name,e.Description,e.Unit,e.WeightValue],2692823254:e=>[e.ReferencedDocument,e.ReferencingValues,e.Name,e.Description],1580146022:e=>[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount],1222501353:e=>[e.RelaxationValue,e.InitialStress],1076942058:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],3377609919:e=>[e.ContextIdentifier,e.ContextType],3008791417:e=>[],1660063152:e=>[e.MappingOrigin,e.MappedRepresentation],3679540991:e=>[e.ProfileName,e.ProfileDefinition,e.Thickness,e.RibHeight,e.RibWidth,e.RibSpacing,e.Direction],2341007311:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],448429030:e=>[e.Dimensions,e.UnitType,e.Prefix,e.Name],2042790032:e=>[e.SectionType,e.StartProfile,e.EndProfile],4165799628:e=>[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions],867548509:e=>[e.ShapeRepresentations,e.Name,e.Description,e.ProductDefinitional,e.PartOfProductDefinitionShape],3982875396:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],4240577450:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],3692461612:e=>[e.Name,e.Description],2273995522:e=>[e.Name],2162789131:e=>[e.Name],2525727697:e=>[e.Name],3408363356:e=>[e.Name,e.DeltaT_Constant,e.DeltaT_Y,e.DeltaT_Z],2830218821:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],3958052878:e=>[e.Item,e.Styles,e.Name],3049322572:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],1300840506:e=>[e.Name,e.Side,e.Styles],3303107099:e=>[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour],1607154358:e=>[e.RefractionIndex,e.DispersionFactor],846575682:e=>[e.SurfaceColour],1351298697:e=>[e.Textures],626085974:e=>[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform],1290481447:e=>[e.Name,Mm(e.StyleOfSymbol)],985171141:e=>[e.Name,e.Rows],531007025:e=>[e.RowCells.map((e=>Mm(e))),e.IsHeading],912023232:e=>[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL],1447204868:e=>[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle],1983826977:e=>[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Mm(e.FontSize)],2636378356:e=>[e.Colour,e.BackgroundColour],1640371178:e=>[e.TextIndent?Mm(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Mm(e.LetterSpacing):null,e.WordSpacing?Mm(e.WordSpacing):null,e.TextTransform,e.LineHeight?Mm(e.LineHeight):null],1484833681:e=>[e.BoxHeight,e.BoxWidth,e.BoxSlantAngle,e.BoxRotateAngle,e.CharacterSpacing?Mm(e.CharacterSpacing):null],280115917:e=>[],1742049831:e=>[e.Mode,e.Parameter.map((e=>Mm(e)))],2552916305:e=>[e.TextureMaps],1210645708:e=>[e.Coordinates],3317419933:e=>[e.Material,e.SpecificHeatCapacity,e.BoilingPoint,e.FreezingPoint,e.ThermalConductivity],3101149627:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit],1718945513:e=>[e.ReferencedTimeSeries,e.TimeSeriesReferences],581633288:e=>[e.ListValues.map((e=>Mm(e)))],1377556343:e=>[],1735638870:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],180925521:e=>[e.Units],2799835756:e=>[],3304826586:e=>[e.TextureVertices,e.TexturePoints],1907098498:e=>[e.VertexGeometry],891718957:e=>[e.IntersectingAxes,e.OffsetDistances],1065908215:e=>[e.Material,e.IsPotable,e.Hardness,e.AlkalinityConcentration,e.AcidityConcentration,e.ImpuritiesContent,e.PHLevel,e.DissolvedSolidsContent],2442683028:e=>[e.Item,e.Styles,e.Name],962685235:e=>[e.Item,e.Styles,e.Name],3612888222:e=>[e.Item,e.Styles,e.Name],2297822566:e=>[e.Item,e.Styles,e.Name],3798115385:e=>[e.ProfileType,e.ProfileName,e.OuterCurve],1310608509:e=>[e.ProfileType,e.ProfileName,e.Curve],2705031697:e=>[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves],616511568:e=>[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.RasterFormat,e.RasterCode],3150382593:e=>[e.ProfileType,e.ProfileName,e.Curve,e.Thickness],647927063:e=>[e.Location,e.ItemReference,e.Name,e.ReferencedSource],776857604:e=>[e.Name,e.Red,e.Green,e.Blue],2542286263:e=>[e.Name,e.Description,e.UsageName,e.HasProperties],1485152156:e=>[e.ProfileType,e.ProfileName,e.Profiles,e.Label],370225590:e=>[e.CfsFaces],1981873012:e=>[e.CurveOnRelatingElement,e.CurveOnRelatedElement],45288368:e=>[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ],3050246964:e=>[e.Dimensions,e.UnitType,e.Name],2889183280:e=>[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor],3800577675:e=>[e.Name,e.CurveFont,e.CurveWidth?Mm(e.CurveWidth):null,e.CurveColour],3632507154:e=>[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label],2273265877:e=>[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout],1694125774:e=>[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout],3732053477:e=>[e.Location,e.ItemReference,e.Name],4170525392:e=>[e.Name],3900360178:e=>[e.EdgeStart,e.EdgeEnd],476780140:e=>[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,e.SameSense],1860660968:e=>[e.Material,e.ExtendedProperties,e.Description,e.Name],2556980723:e=>[e.Bounds],1809719519:e=>[e.Bound,e.Orientation],803316827:e=>[e.Bound,e.Orientation],3008276851:e=>[e.Bounds,e.FaceSurface,e.SameSense],4219587988:e=>[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ],738692330:e=>[e.Name,e.FillStyles],3857492461:e=>[e.Material,e.CombustionTemperature,e.CarbonContent,e.LowerHeatingValue,e.HigherHeatingValue],803998398:e=>[e.Material,e.MolecularWeight,e.Porosity,e.MassDensity],1446786286:e=>[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea],3448662350:e=>[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth],2453401579:e=>[],4142052618:e=>[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView],3590301190:e=>[e.Elements],178086475:e=>[e.PlacementLocation,e.PlacementRefDirection],812098782:e=>[e.BaseSurface,e.AgreementFlag],2445078500:e=>[e.Material,e.UpperVaporResistanceFactor,e.LowerVaporResistanceFactor,e.IsothermalMoistureCapacity,e.VaporPermeability,e.MoistureDiffusivity],3905492369:e=>[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.UrlReference],3741457305:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values],1402838566:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity],125510826:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity],2604431987:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation],4266656042:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource],1520743889:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation],3422422726:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle],2624227202:e=>[e.PlacementRelTo,e.RelativePlacement],1008929658:e=>[],2347385850:e=>[e.MappingSource,e.MappingTarget],2022407955:e=>[e.Name,e.Description,e.Representations,e.RepresentedMaterial],1430189142:e=>[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient,e.CompressiveStrength,e.MaxAggregateSize,e.AdmixturesDescription,e.Workability,e.ProtectivePoreRatio,e.WaterImpermeability],219451334:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],2833995503:e=>[e.RepeatFactor],2665983363:e=>[e.CfsFaces],1029017970:e=>[e.EdgeStart,e.EdgeEnd,e.EdgeElement,e.Orientation],2529465313:e=>[e.ProfileType,e.ProfileName,e.Position],2519244187:e=>[e.EdgeList],3021840470:e=>[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage],597895409:e=>[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.Width,e.Height,e.ColourComponents,e.Pixel],2004835150:e=>[e.Location],1663979128:e=>[e.SizeInX,e.SizeInY],2067069095:e=>[],4022376103:e=>[e.BasisCurve,e.PointParameter],1423911732:e=>[e.BasisSurface,e.PointParameterU,e.PointParameterV],2924175390:e=>[e.Polygon],2775532180:e=>[e.BaseSurface,e.AgreementFlag,e.Position,e.PolygonalBoundary],759155922:e=>[e.Name],2559016684:e=>[e.Name],433424934:e=>[e.Name],179317114:e=>[e.Name],673634403:e=>[e.Name,e.Description,e.Representations],871118103:e=>[e.Name,e.Description,e.UpperBoundValue?Mm(e.UpperBoundValue):null,e.LowerBoundValue?Mm(e.LowerBoundValue):null,e.Unit],1680319473:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],4166981789:e=>[e.Name,e.Description,e.EnumerationValues.map((e=>Mm(e))),e.EnumerationReference],2752243245:e=>[e.Name,e.Description,e.ListValues.map((e=>Mm(e))),e.Unit],941946838:e=>[e.Name,e.Description,e.UsageName,e.PropertyReference],3357820518:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],3650150729:e=>[e.Name,e.Description,e.NominalValue?Mm(e.NominalValue):null,e.Unit],110355661:e=>[e.Name,e.Description,e.DefiningValues.map((e=>Mm(e))),e.DefinedValues.map((e=>Mm(e))),e.Expression,e.DefiningUnit,e.DefinedUnit],3615266464:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim],3413951693:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values],3765753017:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions],478536968:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],2778083089:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius],1509187699:e=>[e.SpineCurve,e.CrossSections,e.CrossSectionPositions],2411513650:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PredefinedType,e.UpperValue?Mm(e.UpperValue):null,Mm(e.MostUsedValue),e.LowerValue?Mm(e.LowerValue):null],4124623270:e=>[e.SbsmBoundary],2609359061:e=>[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ],723233188:e=>[],2485662743:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,null==(t=e.IsAttenuating)?void 0:t.toString(),e.SoundScale,e.SoundValues]},1202362311:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.SoundLevelTimeSeries,e.Frequency,e.SoundLevelSingleValue?Mm(e.SoundLevelSingleValue):null],390701378:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableValueRatio,e.ThermalLoadSource,e.PropertySource,e.SourceDescription,e.MaximumValue,e.MinimumValue,e.ThermalLoadTimeSeriesValues,e.UserDefinedThermalLoadSource,e.UserDefinedPropertySource,e.ThermalLoadType],1595516126:e=>[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ],2668620305:e=>[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ],2473145415:e=>[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ],1973038258:e=>[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion],1597423693:e=>[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ],1190533807:e=>[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment],3843319758:e=>[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea,e.TorsionalConstantX,e.MomentOfInertiaYZ,e.MomentOfInertiaY,e.MomentOfInertiaZ,e.WarpingConstant,e.ShearCentreZ,e.ShearCentreY,e.ShearDeformationAreaZ,e.ShearDeformationAreaY,e.MaximumSectionModulusY,e.MinimumSectionModulusY,e.MaximumSectionModulusZ,e.MinimumSectionModulusZ,e.TorsionalSectionModulus,e.CentreOfGravityInX,e.CentreOfGravityInY],3653947884:e=>[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea,e.TorsionalConstantX,e.MomentOfInertiaYZ,e.MomentOfInertiaY,e.MomentOfInertiaZ,e.WarpingConstant,e.ShearCentreZ,e.ShearCentreY,e.ShearDeformationAreaZ,e.ShearDeformationAreaY,e.MaximumSectionModulusY,e.MinimumSectionModulusY,e.MaximumSectionModulusZ,e.MinimumSectionModulusZ,e.TorsionalSectionModulus,e.CentreOfGravityInX,e.CentreOfGravityInY,e.ShearAreaZ,e.ShearAreaY,e.PlasticShapeFactorY,e.PlasticShapeFactorZ],2233826070:e=>[e.EdgeStart,e.EdgeEnd,e.ParentEdge],2513912981:e=>[],1878645084:e=>[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Mm(e.SpecularHighlight):null,e.ReflectanceMethod],2247615214:e=>[e.SweptArea,e.Position],1260650574:e=>[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam],230924584:e=>[e.SweptCurve,e.Position],3071757647:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope,e.CentreOfGravityInY],3028897424:e=>[e.Item,e.Styles,e.Name,e.AnnotatedCurve],4282788508:e=>[e.Literal,e.Placement,e.Path],3124975700:e=>[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment],2715220739:e=>[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset],1345879162:e=>[e.RepeatFactor,e.SecondRepeatFactor],1628702193:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets],2347495698:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag],427810014:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope,e.CentreOfGravityInX],1417489154:e=>[e.Orientation,e.Magnitude],2759199220:e=>[e.LoopVertex],336235671:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle],512836454:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle],1299126871:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ConstructionType,e.OperationType,e.ParameterTakesPrecedence,e.Sizeable],2543172580:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius],3288037868:e=>[e.Item,e.Styles,e.Name],669184980:e=>[e.OuterBoundary,e.InnerBoundaries],2265737646:e=>[e.Item,e.Styles,e.Name,e.FillStyleTarget,e.GlobalOrLocal],1302238472:e=>[e.Item,e.TextureCoordinates],4261334040:e=>[e.Location,e.Axis],3125803723:e=>[e.Location,e.RefDirection],2740243338:e=>[e.Location,e.Axis,e.RefDirection],2736907675:e=>[e.Operator,e.FirstOperand,e.SecondOperand],4182860854:e=>[],2581212453:e=>[e.Corner,e.XDim,e.YDim,e.ZDim],2713105998:e=>[e.BaseSurface,e.AgreementFlag,e.Enclosure],2898889636:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius,e.CentreOfGravityInX],1123145078:e=>[e.Coordinates],59481748:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale],3749851601:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale],3486308946:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2],3331915920:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3],1416205885:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3],1383045692:e=>[e.ProfileType,e.ProfileName,e.Position,e.Radius],2205249479:e=>[e.CfsFaces],2485617015:e=>[e.Transition,e.SameSense,e.ParentCurve],4133800736:e=>[e.ProfileType,e.ProfileName,e.Position,e.OverallHeight,e.BaseWidth2,e.Radius,e.HeadWidth,e.HeadDepth2,e.HeadDepth3,e.WebThickness,e.BaseWidth4,e.BaseDepth1,e.BaseDepth2,e.BaseDepth3,e.CentreOfGravityInY],194851669:e=>[e.ProfileType,e.ProfileName,e.Position,e.OverallHeight,e.HeadWidth,e.Radius,e.HeadDepth2,e.HeadDepth3,e.WebThickness,e.BaseDepth1,e.BaseDepth2,e.CentreOfGravityInY],2506170314:e=>[e.Position],2147822146:e=>[e.TreeRootExpression],2601014836:e=>[],2827736869:e=>[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries],693772133:e=>[e.Definition,e.Target],606661476:e=>[e.Item,e.Styles,e.Name],4054601972:e=>[e.Item,e.Styles,e.Name,e.AnnotatedCurve,e.Role],32440307:e=>[e.DirectionRatios],2963535650:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle],1714330368:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle],526551008:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.OperationType,e.ConstructionType,e.ParameterTakesPrecedence,e.Sizeable],3073041342:e=>[e.Contents],445594917:e=>[e.Name],4006246654:e=>[e.Name],1472233963:e=>[e.EdgeList],1883228015:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities],339256511:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2777663545:e=>[e.Position],2835456948:e=>[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2],80994333:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.EnergySequence,e.UserDefinedEnergySequence],477187591:e=>[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth],2047409740:e=>[e.FbsmFaces],374418227:e=>[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle],4203026998:e=>[e.Symbol],315944413:e=>[e.TilingPattern,e.Tiles,e.TilingScale],3455213021:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PropertySource,e.FlowConditionTimeSeries,e.VelocityTimeSeries,e.FlowrateTimeSeries,e.Fluid,e.PressureTimeSeries,e.UserDefinedPropertySource,e.TemperatureSingleValue,e.WetBulbTemperatureSingleValue,e.WetBulbTemperatureTimeSeries,e.TemperatureTimeSeries,e.FlowrateSingleValue?Mm(e.FlowrateSingleValue):null,e.FlowConditionSingleValue,e.VelocitySingleValue,e.PressureSingleValue],4238390223:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1268542332:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace],987898635:e=>[e.Elements],1484403080:e=>[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius],572779678:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope,e.CentreOfGravityInX,e.CentreOfGravityInY],1281925730:e=>[e.Pnt,e.Dir],1425443689:e=>[e.Outer],3888040117:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],3388369263:e=>[e.BasisCurve,e.Distance,e.SelfIntersect],3505215534:e=>[e.BasisCurve,e.Distance,e.SelfIntersect,e.RefDirection],3566463478:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle],603570806:e=>[e.SizeInX,e.SizeInY,e.Placement],220341763:e=>[e.Position],2945172077:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],4208778838:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],103090709:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext],4194566429:e=>[e.Item,e.Styles,e.Name],1451395588:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties],3219374653:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.ProxyType,e.Tag],2770003689:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius],2798486643:e=>[e.Position,e.XLength,e.YLength,e.Height],3454111270:e=>[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,e.Usense,e.Vsense],3939117080:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType],1683148259:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole],2495723537:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl],1307041759:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup],4278684876:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess],2857406711:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct],3372526763:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl],205026976:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource],1865459582:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects],1327628568:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingAppliedValue],4095574036:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval],919958153:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification],2728634034:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint],982818633:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument],3840914261:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary],2655215786:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial],2851387026:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingProfileProperties,e.ProfileSectionLocation,e.ProfileOrientation],826625072:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],1204542856:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement],3945020480:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType],4201705270:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement],3190031847:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement],2127690289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity],3912681535:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralMember],1638771189:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem],504942748:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint],3678494232:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType],3242617779:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure],886880790:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings],2802773753:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedSpace,e.RelatedCoverings],2551354335:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects],693640335:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects],4186316022:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition],781010003:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType],3940055652:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement],279856033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement],4189434867:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DailyInteraction,e.ImportanceRating,e.LocationOfInteraction,e.RelatedSpaceProgram,e.RelatingSpaceProgram],3268803585:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects],2051452291:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole],202636808:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition,e.OverridingProperties],750771296:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement],1245217292:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure],1058617721:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl],4122056220:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType],366585022:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings],3451746338:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary],1401173127:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement],2914609552:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],1856042241:e=>[e.SweptArea,e.Position,e.Axis,e.Angle],4158566097:e=>[e.Position,e.Height,e.BottomRadius],3626867408:e=>[e.Position,e.Height,e.Radius],2706606064:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType],3893378262:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],451544542:e=>[e.Position,e.Radius],3544373492:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],3136571912:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],530289379:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],3689010777:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],3979015343:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness],2218152070:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness,e.SubsequentThickness,e.VaryingThicknessLocation],4070609034:e=>[e.Contents],2028607225:e=>[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.ReferenceSurface],2809605785:e=>[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth],4124788165:e=>[e.SweptCurve,e.Position,e.AxisPosition],1580310250:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3473067441:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority],2097647324:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2296667514:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor],1674181508:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],3207858831:e=>[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.CentreOfGravityInY],1334484129:e=>[e.Position,e.XLength,e.YLength,e.ZLength],3649129432:e=>[e.Operator,e.FirstOperand,e.SecondOperand],1260505505:e=>[],4031249490:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress],1950629157:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3124254112:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation],2937912522:e=>[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness],300633059:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3732776249:e=>[e.Segments,e.SelfIntersect],2510884976:e=>[e.Position],2559216714:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity],3293443760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],3895139033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],1419761937:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.SubmittedBy,e.PreparedBy,e.SubmittedOn,e.Status,e.TargetUsers,e.UpdateDate,e.ID,e.PredefinedType],1916426348:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3295246426:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity],1457835157:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],681481545:e=>[e.Contents],3256556792:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3849074793:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],360485395:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.EnergySequence,e.UserDefinedEnergySequence,e.ElectricCurrentType,e.InputVoltage,e.InputFrequency,e.FullLoadCurrent,e.MinimumCircuitCurrent,e.MaximumPowerInput,e.RatedPowerInput,e.InputPhase],1758889154:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4123344466:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType],1623761950:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2590856083:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1704287377:e=>[e.Position,e.SemiAxis1,e.SemiAxis2],2107101300:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1962604670:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3272907226:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],3174744832:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3390157468:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],807026263:e=>[e.Outer],3737207727:e=>[e.Outer,e.Voids],647756555:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2489546625:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2827207264:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2143335405:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1287392070:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3907093117:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3198132628:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3815607619:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1482959167:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1834744321:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1339347760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2297155007:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3009222698:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],263784265:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],814719939:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],200128114:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3009204131:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes],2706460486:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],1251058090:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1806887404:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2391368822:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.InventoryType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue],4288270099:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3827777499:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.SkillSet],1051575348:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1161773419:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2506943328:e=>[e.Contents],377706215:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength],2108223431:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3181161470:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],977012517:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1916936684:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority,e.MoveFrom,e.MoveTo,e.PunchList],4143007308:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType],3588315303:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3425660407:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority,e.ActionID],2837617999:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2382730787:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LifeCyclePhase],3327091369:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PermitID],804291784:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4231323485:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4017108033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3724593414:e=>[e.Points],3740093272:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],2744685151:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ProcedureID,e.ProcedureType,e.UserDefinedProcedureType],2904328755:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ID,e.PredefinedType,e.Status],3642467123:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Records,e.PredefinedType],3651124850:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1842657554:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2250791053:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3248260540:e=>[e.Contents],2893384427:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2324767716:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],160246688:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects],2863920197:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl,e.TimeForTask],1768891740:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3517283431:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ActualStart,e.EarlyStart,e.LateStart,e.ScheduleStart,e.ActualFinish,e.EarlyFinish,e.LateFinish,e.ScheduleFinish,e.ScheduleDuration,e.ActualDuration,e.RemainingTime,e.FreeFloat,e.TotalFloat,e.IsCritical,e.StatusTime,e.StartFloat,e.FinishFloat,e.Completion],4105383287:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ServiceLifeType,e.ServiceLifeDuration],4097777520:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress],2533589738:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3856911033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.InteriorOrExteriorSpace,e.ElevationWithFlooring],1305183839:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],652456506:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.SpaceProgramIdentifier,e.MaxRequiredArea,e.MinRequiredArea,e.RequestedLocation,e.StandardRequiredArea],3812236995:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3112655638:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1039846685:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],682877961:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy],1179482911:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition],4243806635:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition],214636428:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType],2445595289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType],1807405624:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue],1721250024:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue,e.VaryingAppliedLoadLocation,e.SubsequentAppliedLoads],1252848954:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose],1621171031:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue],3987759626:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue,e.VaryingAppliedLoadLocation,e.SubsequentAppliedLoads],2082059205:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy],734778138:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition],1235345126:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],2986769608:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,e.IsLinear],1975003073:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition],148013059:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.SubContractor,e.JobDescription],2315554128:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2254336722:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],5716631:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1637806684:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ApplicableDates,e.TimeSeriesScheduleType,e.TimeSeries],1692211062:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1620046519:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OperationType,e.CapacityByWeight,e.CapacityByNumber],3593883385:e=>[e.BasisCurve,e.Trim1,e.Trim2,e.SenseAgreement,e.MasterRepresentation],1600972822:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1911125066:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],728799441:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2769231204:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1898987631:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1133259667:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1028945134:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType],4218914973:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType],3342526732:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType],1033361043:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],1213861670:e=>[e.Segments,e.SelfIntersect],3821786052:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.RequestID],1411407467:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3352864051:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1871374353:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2470393545:e=>[e.Contents],3460190687:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.AssetID,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue],1967976161:e=>[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect],819618141:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1916977116:e=>[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect],231477066:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3299480353:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],52481810:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2979338954:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1095909175:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.CompositionType],1909888760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],395041908:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3293546465:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1285652485:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2951183804:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2611217952:e=>[e.Position,e.Radius],2301859152:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],843113511:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3850581409:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2816379211:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2188551683:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],1163958913:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Criterion,e.CriterionDateTime],3898045240:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity],1060000209:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.Suppliers,e.UsageRatio],488727124:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity],335055490:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2954562838:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1973544240:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3495092785:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3961806047:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4147604152:e=>[e.Contents],1335981549:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2635815018:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1599208980:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2063403501:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1945004755:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3040386961:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3041715199:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection],395920057:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth],869906466:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3760055223:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2030761528:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],855621170:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength],663422040:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3277789161:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1534661035:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1365060375:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1217240411:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],712377611:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1634875225:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],857184966:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1658829314:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],346874300:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1810631287:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4222183408:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2058353004:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4278956645:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4037862832:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3132237377:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],987401354:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],707683696:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2223149337:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3508470533:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],900683007:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1073191201:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1687234759:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType],3171933400:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2262370178:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3024970846:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType],3283111854:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3055160366:e=>[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect,e.WeightsData],3027567501:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade],2320036040:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing],2016517767:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType],1376911519:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength,e.Radius],1783015770:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1529196076:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],331165859:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType],4252922144:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRiser,e.NumberOfTreads,e.RiserHeight,e.TreadLength],2515109513:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults],3824725483:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius],2347447852:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade],3313531582:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2391406946:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3512223829:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3304561284:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth],2874132201:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3001207471:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],753842376:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2454782716:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength,e.Width,e.Height],578613899:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1052013943:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1062813311:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ControlElementId],3700593921:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.DistributionPointFunction,e.UserDefinedFunction],979691226:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarRole,e.BarSurface]},Pm[1]={3699917729:e=>new a.IfcAbsorbedDoseMeasure(e),4182062534:e=>new a.IfcAccelerationMeasure(e),360377573:e=>new a.IfcAmountOfSubstanceMeasure(e),632304761:e=>new a.IfcAngularVelocityMeasure(e),2650437152:e=>new a.IfcAreaMeasure(e),2735952531:e=>new a.IfcBoolean(e),1867003952:e=>new a.IfcBoxAlignment(e),2991860651:e=>new a.IfcComplexNumber(e.map((e=>e.value))),3812528620:e=>new a.IfcCompoundPlaneAngleMeasure(e.map((e=>e.value))),3238673880:e=>new a.IfcContextDependentMeasure(e),1778710042:e=>new a.IfcCountMeasure(e),94842927:e=>new a.IfcCurvatureMeasure(e),86635668:e=>new a.IfcDayInMonthNumber(e),300323983:e=>new a.IfcDaylightSavingHour(e),1514641115:e=>new a.IfcDescriptiveMeasure(e),4134073009:e=>new a.IfcDimensionCount(e),524656162:e=>new a.IfcDoseEquivalentMeasure(e),69416015:e=>new a.IfcDynamicViscosityMeasure(e),1827137117:e=>new a.IfcElectricCapacitanceMeasure(e),3818826038:e=>new a.IfcElectricChargeMeasure(e),2093906313:e=>new a.IfcElectricConductanceMeasure(e),3790457270:e=>new a.IfcElectricCurrentMeasure(e),2951915441:e=>new a.IfcElectricResistanceMeasure(e),2506197118:e=>new a.IfcElectricVoltageMeasure(e),2078135608:e=>new a.IfcEnergyMeasure(e),1102727119:e=>new a.IfcFontStyle(e),2715512545:e=>new a.IfcFontVariant(e),2590844177:e=>new a.IfcFontWeight(e),1361398929:e=>new a.IfcForceMeasure(e),3044325142:e=>new a.IfcFrequencyMeasure(e),3064340077:e=>new a.IfcGloballyUniqueId(e),3113092358:e=>new a.IfcHeatFluxDensityMeasure(e),1158859006:e=>new a.IfcHeatingValueMeasure(e),2589826445:e=>new a.IfcHourInDay(e),983778844:e=>new a.IfcIdentifier(e),3358199106:e=>new a.IfcIlluminanceMeasure(e),2679005408:e=>new a.IfcInductanceMeasure(e),1939436016:e=>new a.IfcInteger(e),3809634241:e=>new a.IfcIntegerCountRateMeasure(e),3686016028:e=>new a.IfcIonConcentrationMeasure(e),3192672207:e=>new a.IfcIsothermalMoistureCapacityMeasure(e),2054016361:e=>new a.IfcKinematicViscosityMeasure(e),3258342251:e=>new a.IfcLabel(e),1243674935:e=>new a.IfcLengthMeasure(e),191860431:e=>new a.IfcLinearForceMeasure(e),2128979029:e=>new a.IfcLinearMomentMeasure(e),1307019551:e=>new a.IfcLinearStiffnessMeasure(e),3086160713:e=>new a.IfcLinearVelocityMeasure(e),503418787:e=>new a.IfcLogical(e),2095003142:e=>new a.IfcLuminousFluxMeasure(e),2755797622:e=>new a.IfcLuminousIntensityDistributionMeasure(e),151039812:e=>new a.IfcLuminousIntensityMeasure(e),286949696:e=>new a.IfcMagneticFluxDensityMeasure(e),2486716878:e=>new a.IfcMagneticFluxMeasure(e),1477762836:e=>new a.IfcMassDensityMeasure(e),4017473158:e=>new a.IfcMassFlowRateMeasure(e),3124614049:e=>new a.IfcMassMeasure(e),3531705166:e=>new a.IfcMassPerLengthMeasure(e),102610177:e=>new a.IfcMinuteInHour(e),3341486342:e=>new a.IfcModulusOfElasticityMeasure(e),2173214787:e=>new a.IfcModulusOfLinearSubgradeReactionMeasure(e),1052454078:e=>new a.IfcModulusOfRotationalSubgradeReactionMeasure(e),1753493141:e=>new a.IfcModulusOfSubgradeReactionMeasure(e),3177669450:e=>new a.IfcMoistureDiffusivityMeasure(e),1648970520:e=>new a.IfcMolecularWeightMeasure(e),3114022597:e=>new a.IfcMomentOfInertiaMeasure(e),2615040989:e=>new a.IfcMonetaryMeasure(e),765770214:e=>new a.IfcMonthInYearNumber(e),2095195183:e=>new a.IfcNormalisedRatioMeasure(e),2395907400:e=>new a.IfcNumericMeasure(e),929793134:e=>new a.IfcPHMeasure(e),2260317790:e=>new a.IfcParameterValue(e),2642773653:e=>new a.IfcPlanarForceMeasure(e),4042175685:e=>new a.IfcPlaneAngleMeasure(e),2815919920:e=>new a.IfcPositiveLengthMeasure(e),3054510233:e=>new a.IfcPositivePlaneAngleMeasure(e),1245737093:e=>new a.IfcPositiveRatioMeasure(e),1364037233:e=>new a.IfcPowerMeasure(e),2169031380:e=>new a.IfcPresentableText(e),3665567075:e=>new a.IfcPressureMeasure(e),3972513137:e=>new a.IfcRadioActivityMeasure(e),96294661:e=>new a.IfcRatioMeasure(e),200335297:e=>new a.IfcReal(e),2133746277:e=>new a.IfcRotationalFrequencyMeasure(e),1755127002:e=>new a.IfcRotationalMassMeasure(e),3211557302:e=>new a.IfcRotationalStiffnessMeasure(e),2766185779:e=>new a.IfcSecondInMinute(e),3467162246:e=>new a.IfcSectionModulusMeasure(e),2190458107:e=>new a.IfcSectionalAreaIntegralMeasure(e),408310005:e=>new a.IfcShearModulusMeasure(e),3471399674:e=>new a.IfcSolidAngleMeasure(e),846465480:e=>new a.IfcSoundPowerMeasure(e),993287707:e=>new a.IfcSoundPressureMeasure(e),3477203348:e=>new a.IfcSpecificHeatCapacityMeasure(e),2757832317:e=>new a.IfcSpecularExponent(e),361837227:e=>new a.IfcSpecularRoughness(e),58845555:e=>new a.IfcTemperatureGradientMeasure(e),2801250643:e=>new a.IfcText(e),1460886941:e=>new a.IfcTextAlignment(e),3490877962:e=>new a.IfcTextDecoration(e),603696268:e=>new a.IfcTextFontName(e),296282323:e=>new a.IfcTextTransformation(e),232962298:e=>new a.IfcThermalAdmittanceMeasure(e),2645777649:e=>new a.IfcThermalConductivityMeasure(e),2281867870:e=>new a.IfcThermalExpansionCoefficientMeasure(e),857959152:e=>new a.IfcThermalResistanceMeasure(e),2016195849:e=>new a.IfcThermalTransmittanceMeasure(e),743184107:e=>new a.IfcThermodynamicTemperatureMeasure(e),2726807636:e=>new a.IfcTimeMeasure(e),2591213694:e=>new a.IfcTimeStamp(e),1278329552:e=>new a.IfcTorqueMeasure(e),3345633955:e=>new a.IfcVaporPermeabilityMeasure(e),3458127941:e=>new a.IfcVolumeMeasure(e),2593997549:e=>new a.IfcVolumetricFlowRateMeasure(e),51269191:e=>new a.IfcWarpingConstantMeasure(e),1718600412:e=>new a.IfcWarpingMomentMeasure(e),4065007721:e=>new a.IfcYearNumber(e)},function(e){e.IfcAbsorbedDoseMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAccelerationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAmountOfSubstanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAngularVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAreaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcBoolean=class{constructor(e){this.type=3,this.value=\"true\"==e}},e.IfcBoxAlignment=class{constructor(e){this.value=e,this.type=1}},e.IfcComplexNumber=class{constructor(e){this.value=e}},e.IfcCompoundPlaneAngleMeasure=class{constructor(e){this.value=e}},e.IfcContextDependentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcCountMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcCurvatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDayInMonthNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDaylightSavingHour=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDescriptiveMeasure=class{constructor(e){this.value=e,this.type=1}};class t{constructor(e){this.type=4,this.value=parseFloat(e)}}e.IfcDimensionCount=t,e.IfcDoseEquivalentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDynamicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricCapacitanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricChargeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricConductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricCurrentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricVoltageMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcEnergyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcFontStyle=class{constructor(e){this.value=e,this.type=1}},e.IfcFontVariant=class{constructor(e){this.value=e,this.type=1}},e.IfcFontWeight=class{constructor(e){this.value=e,this.type=1}},e.IfcForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcGloballyUniqueId=class{constructor(e){this.value=e,this.type=1}},e.IfcHeatFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcHeatingValueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcHourInDay=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIdentifier=class{constructor(e){this.value=e,this.type=1}},e.IfcIlluminanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcInductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIntegerCountRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIonConcentrationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIsothermalMoistureCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcKinematicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLabel=class{constructor(e){this.value=e,this.type=1}},e.IfcLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLogical=class{constructor(e){this.type=3,this.value=\"true\"==e}},e.IfcLuminousFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLuminousIntensityDistributionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLuminousIntensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMagneticFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMagneticFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassPerLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMinuteInHour=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfElasticityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfLinearSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfRotationalSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMoistureDiffusivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMolecularWeightMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMomentOfInertiaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMonetaryMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMonthInYearNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcNormalisedRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcNumericMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPHMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcParameterValue=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPlanarForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositiveLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositivePlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositiveRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPresentableText=class{constructor(e){this.value=e,this.type=1}},e.IfcPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRadioActivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcReal=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSecondInMinute=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSectionModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSectionalAreaIntegralMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcShearModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSolidAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecificHeatCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecularExponent=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecularRoughness=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTemperatureGradientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcText=class{constructor(e){this.value=e,this.type=1}},e.IfcTextAlignment=class{constructor(e){this.value=e,this.type=1}},e.IfcTextDecoration=class{constructor(e){this.value=e,this.type=1}},e.IfcTextFontName=class{constructor(e){this.value=e,this.type=1}},e.IfcTextTransformation=class{constructor(e){this.value=e,this.type=1}},e.IfcThermalAdmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalConductivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalExpansionCoefficientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalTransmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermodynamicTemperatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTimeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTimeStamp=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTorqueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcVaporPermeabilityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcVolumeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcVolumetricFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcWarpingConstantMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcWarpingMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcYearNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};class n{}n.DEAD_LOAD_G={type:3,value:\"DEAD_LOAD_G\"},n.COMPLETION_G1={type:3,value:\"COMPLETION_G1\"},n.LIVE_LOAD_Q={type:3,value:\"LIVE_LOAD_Q\"},n.SNOW_S={type:3,value:\"SNOW_S\"},n.WIND_W={type:3,value:\"WIND_W\"},n.PRESTRESSING_P={type:3,value:\"PRESTRESSING_P\"},n.SETTLEMENT_U={type:3,value:\"SETTLEMENT_U\"},n.TEMPERATURE_T={type:3,value:\"TEMPERATURE_T\"},n.EARTHQUAKE_E={type:3,value:\"EARTHQUAKE_E\"},n.FIRE={type:3,value:\"FIRE\"},n.IMPULSE={type:3,value:\"IMPULSE\"},n.IMPACT={type:3,value:\"IMPACT\"},n.TRANSPORT={type:3,value:\"TRANSPORT\"},n.ERECTION={type:3,value:\"ERECTION\"},n.PROPPING={type:3,value:\"PROPPING\"},n.SYSTEM_IMPERFECTION={type:3,value:\"SYSTEM_IMPERFECTION\"},n.SHRINKAGE={type:3,value:\"SHRINKAGE\"},n.CREEP={type:3,value:\"CREEP\"},n.LACK_OF_FIT={type:3,value:\"LACK_OF_FIT\"},n.BUOYANCY={type:3,value:\"BUOYANCY\"},n.ICE={type:3,value:\"ICE\"},n.CURRENT={type:3,value:\"CURRENT\"},n.WAVE={type:3,value:\"WAVE\"},n.RAIN={type:3,value:\"RAIN\"},n.BRAKES={type:3,value:\"BRAKES\"},n.USERDEFINED={type:3,value:\"USERDEFINED\"},n.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcActionSourceTypeEnum=n;class s{}s.PERMANENT_G={type:3,value:\"PERMANENT_G\"},s.VARIABLE_Q={type:3,value:\"VARIABLE_Q\"},s.EXTRAORDINARY_A={type:3,value:\"EXTRAORDINARY_A\"},s.USERDEFINED={type:3,value:\"USERDEFINED\"},s.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcActionTypeEnum=s;class i{}i.ELECTRICACTUATOR={type:3,value:\"ELECTRICACTUATOR\"},i.HANDOPERATEDACTUATOR={type:3,value:\"HANDOPERATEDACTUATOR\"},i.HYDRAULICACTUATOR={type:3,value:\"HYDRAULICACTUATOR\"},i.PNEUMATICACTUATOR={type:3,value:\"PNEUMATICACTUATOR\"},i.THERMOSTATICACTUATOR={type:3,value:\"THERMOSTATICACTUATOR\"},i.USERDEFINED={type:3,value:\"USERDEFINED\"},i.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcActuatorTypeEnum=i;class a{}a.OFFICE={type:3,value:\"OFFICE\"},a.SITE={type:3,value:\"SITE\"},a.HOME={type:3,value:\"HOME\"},a.DISTRIBUTIONPOINT={type:3,value:\"DISTRIBUTIONPOINT\"},a.USERDEFINED={type:3,value:\"USERDEFINED\"},e.IfcAddressTypeEnum=a;class l{}l.AHEAD={type:3,value:\"AHEAD\"},l.BEHIND={type:3,value:\"BEHIND\"},e.IfcAheadOrBehind=l;class r{}r.CONSTANTFLOW={type:3,value:\"CONSTANTFLOW\"},r.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:\"VARIABLEFLOWPRESSUREDEPENDANT\"},r.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:\"VARIABLEFLOWPRESSUREINDEPENDANT\"},r.USERDEFINED={type:3,value:\"USERDEFINED\"},r.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAirTerminalBoxTypeEnum=r;class o{}o.GRILLE={type:3,value:\"GRILLE\"},o.REGISTER={type:3,value:\"REGISTER\"},o.DIFFUSER={type:3,value:\"DIFFUSER\"},o.EYEBALL={type:3,value:\"EYEBALL\"},o.IRIS={type:3,value:\"IRIS\"},o.LINEARGRILLE={type:3,value:\"LINEARGRILLE\"},o.LINEARDIFFUSER={type:3,value:\"LINEARDIFFUSER\"},o.USERDEFINED={type:3,value:\"USERDEFINED\"},o.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAirTerminalTypeEnum=o;class c{}c.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:\"FIXEDPLATECOUNTERFLOWEXCHANGER\"},c.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:\"FIXEDPLATECROSSFLOWEXCHANGER\"},c.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:\"FIXEDPLATEPARALLELFLOWEXCHANGER\"},c.ROTARYWHEEL={type:3,value:\"ROTARYWHEEL\"},c.RUNAROUNDCOILLOOP={type:3,value:\"RUNAROUNDCOILLOOP\"},c.HEATPIPE={type:3,value:\"HEATPIPE\"},c.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:\"TWINTOWERENTHALPYRECOVERYLOOPS\"},c.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:\"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS\"},c.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:\"THERMOSIPHONCOILTYPEHEATEXCHANGERS\"},c.USERDEFINED={type:3,value:\"USERDEFINED\"},c.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAirToAirHeatRecoveryTypeEnum=c;class u{}u.BELL={type:3,value:\"BELL\"},u.BREAKGLASSBUTTON={type:3,value:\"BREAKGLASSBUTTON\"},u.LIGHT={type:3,value:\"LIGHT\"},u.MANUALPULLBOX={type:3,value:\"MANUALPULLBOX\"},u.SIREN={type:3,value:\"SIREN\"},u.WHISTLE={type:3,value:\"WHISTLE\"},u.USERDEFINED={type:3,value:\"USERDEFINED\"},u.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAlarmTypeEnum=u;class p{}p.IN_PLANE_LOADING_2D={type:3,value:\"IN_PLANE_LOADING_2D\"},p.OUT_PLANE_LOADING_2D={type:3,value:\"OUT_PLANE_LOADING_2D\"},p.LOADING_3D={type:3,value:\"LOADING_3D\"},p.USERDEFINED={type:3,value:\"USERDEFINED\"},p.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAnalysisModelTypeEnum=p;class h{}h.FIRST_ORDER_THEORY={type:3,value:\"FIRST_ORDER_THEORY\"},h.SECOND_ORDER_THEORY={type:3,value:\"SECOND_ORDER_THEORY\"},h.THIRD_ORDER_THEORY={type:3,value:\"THIRD_ORDER_THEORY\"},h.FULL_NONLINEAR_THEORY={type:3,value:\"FULL_NONLINEAR_THEORY\"},h.USERDEFINED={type:3,value:\"USERDEFINED\"},h.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAnalysisTheoryTypeEnum=h;class d{}d.ADD={type:3,value:\"ADD\"},d.DIVIDE={type:3,value:\"DIVIDE\"},d.MULTIPLY={type:3,value:\"MULTIPLY\"},d.SUBTRACT={type:3,value:\"SUBTRACT\"},e.IfcArithmeticOperatorEnum=d;class f{}f.SITE={type:3,value:\"SITE\"},f.FACTORY={type:3,value:\"FACTORY\"},f.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAssemblyPlaceEnum=f;class I{}I.POLYLINE_FORM={type:3,value:\"POLYLINE_FORM\"},I.CIRCULAR_ARC={type:3,value:\"CIRCULAR_ARC\"},I.ELLIPTIC_ARC={type:3,value:\"ELLIPTIC_ARC\"},I.PARABOLIC_ARC={type:3,value:\"PARABOLIC_ARC\"},I.HYPERBOLIC_ARC={type:3,value:\"HYPERBOLIC_ARC\"},I.UNSPECIFIED={type:3,value:\"UNSPECIFIED\"},e.IfcBSplineCurveForm=I;class m{}m.BEAM={type:3,value:\"BEAM\"},m.JOIST={type:3,value:\"JOIST\"},m.LINTEL={type:3,value:\"LINTEL\"},m.T_BEAM={type:3,value:\"T_BEAM\"},m.USERDEFINED={type:3,value:\"USERDEFINED\"},m.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBeamTypeEnum=m;class y{}y.GREATERTHAN={type:3,value:\"GREATERTHAN\"},y.GREATERTHANOREQUALTO={type:3,value:\"GREATERTHANOREQUALTO\"},y.LESSTHAN={type:3,value:\"LESSTHAN\"},y.LESSTHANOREQUALTO={type:3,value:\"LESSTHANOREQUALTO\"},y.EQUALTO={type:3,value:\"EQUALTO\"},y.NOTEQUALTO={type:3,value:\"NOTEQUALTO\"},e.IfcBenchmarkEnum=y;class v{}v.WATER={type:3,value:\"WATER\"},v.STEAM={type:3,value:\"STEAM\"},v.USERDEFINED={type:3,value:\"USERDEFINED\"},v.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBoilerTypeEnum=v;class w{}w.UNION={type:3,value:\"UNION\"},w.INTERSECTION={type:3,value:\"INTERSECTION\"},w.DIFFERENCE={type:3,value:\"DIFFERENCE\"},e.IfcBooleanOperator=w;class T{}T.USERDEFINED={type:3,value:\"USERDEFINED\"},T.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBuildingElementProxyTypeEnum=T;class E{}E.BEND={type:3,value:\"BEND\"},E.CROSS={type:3,value:\"CROSS\"},E.REDUCER={type:3,value:\"REDUCER\"},E.TEE={type:3,value:\"TEE\"},E.USERDEFINED={type:3,value:\"USERDEFINED\"},E.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCableCarrierFittingTypeEnum=E;class g{}g.CABLELADDERSEGMENT={type:3,value:\"CABLELADDERSEGMENT\"},g.CABLETRAYSEGMENT={type:3,value:\"CABLETRAYSEGMENT\"},g.CABLETRUNKINGSEGMENT={type:3,value:\"CABLETRUNKINGSEGMENT\"},g.CONDUITSEGMENT={type:3,value:\"CONDUITSEGMENT\"},g.USERDEFINED={type:3,value:\"USERDEFINED\"},g.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCableCarrierSegmentTypeEnum=g;class R{}R.CABLESEGMENT={type:3,value:\"CABLESEGMENT\"},R.CONDUCTORSEGMENT={type:3,value:\"CONDUCTORSEGMENT\"},R.USERDEFINED={type:3,value:\"USERDEFINED\"},R.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCableSegmentTypeEnum=R;class D{}D.NOCHANGE={type:3,value:\"NOCHANGE\"},D.MODIFIED={type:3,value:\"MODIFIED\"},D.ADDED={type:3,value:\"ADDED\"},D.DELETED={type:3,value:\"DELETED\"},D.MODIFIEDADDED={type:3,value:\"MODIFIEDADDED\"},D.MODIFIEDDELETED={type:3,value:\"MODIFIEDDELETED\"},e.IfcChangeActionEnum=D;class S{}S.AIRCOOLED={type:3,value:\"AIRCOOLED\"},S.WATERCOOLED={type:3,value:\"WATERCOOLED\"},S.HEATRECOVERY={type:3,value:\"HEATRECOVERY\"},S.USERDEFINED={type:3,value:\"USERDEFINED\"},S.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcChillerTypeEnum=S;class b{}b.DXCOOLINGCOIL={type:3,value:\"DXCOOLINGCOIL\"},b.WATERCOOLINGCOIL={type:3,value:\"WATERCOOLINGCOIL\"},b.STEAMHEATINGCOIL={type:3,value:\"STEAMHEATINGCOIL\"},b.WATERHEATINGCOIL={type:3,value:\"WATERHEATINGCOIL\"},b.ELECTRICHEATINGCOIL={type:3,value:\"ELECTRICHEATINGCOIL\"},b.GASHEATINGCOIL={type:3,value:\"GASHEATINGCOIL\"},b.USERDEFINED={type:3,value:\"USERDEFINED\"},b.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCoilTypeEnum=b;class N{}N.COLUMN={type:3,value:\"COLUMN\"},N.USERDEFINED={type:3,value:\"USERDEFINED\"},N.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcColumnTypeEnum=N;class O{}O.DYNAMIC={type:3,value:\"DYNAMIC\"},O.RECIPROCATING={type:3,value:\"RECIPROCATING\"},O.ROTARY={type:3,value:\"ROTARY\"},O.SCROLL={type:3,value:\"SCROLL\"},O.TROCHOIDAL={type:3,value:\"TROCHOIDAL\"},O.SINGLESTAGE={type:3,value:\"SINGLESTAGE\"},O.BOOSTER={type:3,value:\"BOOSTER\"},O.OPENTYPE={type:3,value:\"OPENTYPE\"},O.HERMETIC={type:3,value:\"HERMETIC\"},O.SEMIHERMETIC={type:3,value:\"SEMIHERMETIC\"},O.WELDEDSHELLHERMETIC={type:3,value:\"WELDEDSHELLHERMETIC\"},O.ROLLINGPISTON={type:3,value:\"ROLLINGPISTON\"},O.ROTARYVANE={type:3,value:\"ROTARYVANE\"},O.SINGLESCREW={type:3,value:\"SINGLESCREW\"},O.TWINSCREW={type:3,value:\"TWINSCREW\"},O.USERDEFINED={type:3,value:\"USERDEFINED\"},O.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCompressorTypeEnum=O;class A{}A.WATERCOOLEDSHELLTUBE={type:3,value:\"WATERCOOLEDSHELLTUBE\"},A.WATERCOOLEDSHELLCOIL={type:3,value:\"WATERCOOLEDSHELLCOIL\"},A.WATERCOOLEDTUBEINTUBE={type:3,value:\"WATERCOOLEDTUBEINTUBE\"},A.WATERCOOLEDBRAZEDPLATE={type:3,value:\"WATERCOOLEDBRAZEDPLATE\"},A.AIRCOOLED={type:3,value:\"AIRCOOLED\"},A.EVAPORATIVECOOLED={type:3,value:\"EVAPORATIVECOOLED\"},A.USERDEFINED={type:3,value:\"USERDEFINED\"},A.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCondenserTypeEnum=A;class x{}x.ATPATH={type:3,value:\"ATPATH\"},x.ATSTART={type:3,value:\"ATSTART\"},x.ATEND={type:3,value:\"ATEND\"},x.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcConnectionTypeEnum=x;class C{}C.HARD={type:3,value:\"HARD\"},C.SOFT={type:3,value:\"SOFT\"},C.ADVISORY={type:3,value:\"ADVISORY\"},C.USERDEFINED={type:3,value:\"USERDEFINED\"},C.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcConstraintEnum=C;class L{}L.FLOATING={type:3,value:\"FLOATING\"},L.PROPORTIONAL={type:3,value:\"PROPORTIONAL\"},L.PROPORTIONALINTEGRAL={type:3,value:\"PROPORTIONALINTEGRAL\"},L.PROPORTIONALINTEGRALDERIVATIVE={type:3,value:\"PROPORTIONALINTEGRALDERIVATIVE\"},L.TIMEDTWOPOSITION={type:3,value:\"TIMEDTWOPOSITION\"},L.TWOPOSITION={type:3,value:\"TWOPOSITION\"},L.USERDEFINED={type:3,value:\"USERDEFINED\"},L.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcControllerTypeEnum=L;class P{}P.ACTIVE={type:3,value:\"ACTIVE\"},P.PASSIVE={type:3,value:\"PASSIVE\"},P.USERDEFINED={type:3,value:\"USERDEFINED\"},P.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCooledBeamTypeEnum=P;class q{}q.NATURALDRAFT={type:3,value:\"NATURALDRAFT\"},q.MECHANICALINDUCEDDRAFT={type:3,value:\"MECHANICALINDUCEDDRAFT\"},q.MECHANICALFORCEDDRAFT={type:3,value:\"MECHANICALFORCEDDRAFT\"},q.USERDEFINED={type:3,value:\"USERDEFINED\"},q.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCoolingTowerTypeEnum=q;class _{}_.BUDGET={type:3,value:\"BUDGET\"},_.COSTPLAN={type:3,value:\"COSTPLAN\"},_.ESTIMATE={type:3,value:\"ESTIMATE\"},_.TENDER={type:3,value:\"TENDER\"},_.PRICEDBILLOFQUANTITIES={type:3,value:\"PRICEDBILLOFQUANTITIES\"},_.UNPRICEDBILLOFQUANTITIES={type:3,value:\"UNPRICEDBILLOFQUANTITIES\"},_.SCHEDULEOFRATES={type:3,value:\"SCHEDULEOFRATES\"},_.USERDEFINED={type:3,value:\"USERDEFINED\"},_.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCostScheduleTypeEnum=_;class M{}M.CEILING={type:3,value:\"CEILING\"},M.FLOORING={type:3,value:\"FLOORING\"},M.CLADDING={type:3,value:\"CLADDING\"},M.ROOFING={type:3,value:\"ROOFING\"},M.INSULATION={type:3,value:\"INSULATION\"},M.MEMBRANE={type:3,value:\"MEMBRANE\"},M.SLEEVING={type:3,value:\"SLEEVING\"},M.WRAPPING={type:3,value:\"WRAPPING\"},M.USERDEFINED={type:3,value:\"USERDEFINED\"},M.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCoveringTypeEnum=M;class H{}H.AED={type:3,value:\"AED\"},H.AES={type:3,value:\"AES\"},H.ATS={type:3,value:\"ATS\"},H.AUD={type:3,value:\"AUD\"},H.BBD={type:3,value:\"BBD\"},H.BEG={type:3,value:\"BEG\"},H.BGL={type:3,value:\"BGL\"},H.BHD={type:3,value:\"BHD\"},H.BMD={type:3,value:\"BMD\"},H.BND={type:3,value:\"BND\"},H.BRL={type:3,value:\"BRL\"},H.BSD={type:3,value:\"BSD\"},H.BWP={type:3,value:\"BWP\"},H.BZD={type:3,value:\"BZD\"},H.CAD={type:3,value:\"CAD\"},H.CBD={type:3,value:\"CBD\"},H.CHF={type:3,value:\"CHF\"},H.CLP={type:3,value:\"CLP\"},H.CNY={type:3,value:\"CNY\"},H.CYS={type:3,value:\"CYS\"},H.CZK={type:3,value:\"CZK\"},H.DDP={type:3,value:\"DDP\"},H.DEM={type:3,value:\"DEM\"},H.DKK={type:3,value:\"DKK\"},H.EGL={type:3,value:\"EGL\"},H.EST={type:3,value:\"EST\"},H.EUR={type:3,value:\"EUR\"},H.FAK={type:3,value:\"FAK\"},H.FIM={type:3,value:\"FIM\"},H.FJD={type:3,value:\"FJD\"},H.FKP={type:3,value:\"FKP\"},H.FRF={type:3,value:\"FRF\"},H.GBP={type:3,value:\"GBP\"},H.GIP={type:3,value:\"GIP\"},H.GMD={type:3,value:\"GMD\"},H.GRX={type:3,value:\"GRX\"},H.HKD={type:3,value:\"HKD\"},H.HUF={type:3,value:\"HUF\"},H.ICK={type:3,value:\"ICK\"},H.IDR={type:3,value:\"IDR\"},H.ILS={type:3,value:\"ILS\"},H.INR={type:3,value:\"INR\"},H.IRP={type:3,value:\"IRP\"},H.ITL={type:3,value:\"ITL\"},H.JMD={type:3,value:\"JMD\"},H.JOD={type:3,value:\"JOD\"},H.JPY={type:3,value:\"JPY\"},H.KES={type:3,value:\"KES\"},H.KRW={type:3,value:\"KRW\"},H.KWD={type:3,value:\"KWD\"},H.KYD={type:3,value:\"KYD\"},H.LKR={type:3,value:\"LKR\"},H.LUF={type:3,value:\"LUF\"},H.MTL={type:3,value:\"MTL\"},H.MUR={type:3,value:\"MUR\"},H.MXN={type:3,value:\"MXN\"},H.MYR={type:3,value:\"MYR\"},H.NLG={type:3,value:\"NLG\"},H.NZD={type:3,value:\"NZD\"},H.OMR={type:3,value:\"OMR\"},H.PGK={type:3,value:\"PGK\"},H.PHP={type:3,value:\"PHP\"},H.PKR={type:3,value:\"PKR\"},H.PLN={type:3,value:\"PLN\"},H.PTN={type:3,value:\"PTN\"},H.QAR={type:3,value:\"QAR\"},H.RUR={type:3,value:\"RUR\"},H.SAR={type:3,value:\"SAR\"},H.SCR={type:3,value:\"SCR\"},H.SEK={type:3,value:\"SEK\"},H.SGD={type:3,value:\"SGD\"},H.SKP={type:3,value:\"SKP\"},H.THB={type:3,value:\"THB\"},H.TRL={type:3,value:\"TRL\"},H.TTD={type:3,value:\"TTD\"},H.TWD={type:3,value:\"TWD\"},H.USD={type:3,value:\"USD\"},H.VEB={type:3,value:\"VEB\"},H.VND={type:3,value:\"VND\"},H.XEU={type:3,value:\"XEU\"},H.ZAR={type:3,value:\"ZAR\"},H.ZWD={type:3,value:\"ZWD\"},H.NOK={type:3,value:\"NOK\"},e.IfcCurrencyEnum=H;class B{}B.USERDEFINED={type:3,value:\"USERDEFINED\"},B.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCurtainWallTypeEnum=B;class U{}U.CONTROLDAMPER={type:3,value:\"CONTROLDAMPER\"},U.FIREDAMPER={type:3,value:\"FIREDAMPER\"},U.SMOKEDAMPER={type:3,value:\"SMOKEDAMPER\"},U.FIRESMOKEDAMPER={type:3,value:\"FIRESMOKEDAMPER\"},U.BACKDRAFTDAMPER={type:3,value:\"BACKDRAFTDAMPER\"},U.RELIEFDAMPER={type:3,value:\"RELIEFDAMPER\"},U.BLASTDAMPER={type:3,value:\"BLASTDAMPER\"},U.GRAVITYDAMPER={type:3,value:\"GRAVITYDAMPER\"},U.GRAVITYRELIEFDAMPER={type:3,value:\"GRAVITYRELIEFDAMPER\"},U.BALANCINGDAMPER={type:3,value:\"BALANCINGDAMPER\"},U.FUMEHOODEXHAUST={type:3,value:\"FUMEHOODEXHAUST\"},U.USERDEFINED={type:3,value:\"USERDEFINED\"},U.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDamperTypeEnum=U;class F{}F.MEASURED={type:3,value:\"MEASURED\"},F.PREDICTED={type:3,value:\"PREDICTED\"},F.SIMULATED={type:3,value:\"SIMULATED\"},F.USERDEFINED={type:3,value:\"USERDEFINED\"},F.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDataOriginEnum=F;class G{}G.ANGULARVELOCITYUNIT={type:3,value:\"ANGULARVELOCITYUNIT\"},G.COMPOUNDPLANEANGLEUNIT={type:3,value:\"COMPOUNDPLANEANGLEUNIT\"},G.DYNAMICVISCOSITYUNIT={type:3,value:\"DYNAMICVISCOSITYUNIT\"},G.HEATFLUXDENSITYUNIT={type:3,value:\"HEATFLUXDENSITYUNIT\"},G.INTEGERCOUNTRATEUNIT={type:3,value:\"INTEGERCOUNTRATEUNIT\"},G.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:\"ISOTHERMALMOISTURECAPACITYUNIT\"},G.KINEMATICVISCOSITYUNIT={type:3,value:\"KINEMATICVISCOSITYUNIT\"},G.LINEARVELOCITYUNIT={type:3,value:\"LINEARVELOCITYUNIT\"},G.MASSDENSITYUNIT={type:3,value:\"MASSDENSITYUNIT\"},G.MASSFLOWRATEUNIT={type:3,value:\"MASSFLOWRATEUNIT\"},G.MOISTUREDIFFUSIVITYUNIT={type:3,value:\"MOISTUREDIFFUSIVITYUNIT\"},G.MOLECULARWEIGHTUNIT={type:3,value:\"MOLECULARWEIGHTUNIT\"},G.SPECIFICHEATCAPACITYUNIT={type:3,value:\"SPECIFICHEATCAPACITYUNIT\"},G.THERMALADMITTANCEUNIT={type:3,value:\"THERMALADMITTANCEUNIT\"},G.THERMALCONDUCTANCEUNIT={type:3,value:\"THERMALCONDUCTANCEUNIT\"},G.THERMALRESISTANCEUNIT={type:3,value:\"THERMALRESISTANCEUNIT\"},G.THERMALTRANSMITTANCEUNIT={type:3,value:\"THERMALTRANSMITTANCEUNIT\"},G.VAPORPERMEABILITYUNIT={type:3,value:\"VAPORPERMEABILITYUNIT\"},G.VOLUMETRICFLOWRATEUNIT={type:3,value:\"VOLUMETRICFLOWRATEUNIT\"},G.ROTATIONALFREQUENCYUNIT={type:3,value:\"ROTATIONALFREQUENCYUNIT\"},G.TORQUEUNIT={type:3,value:\"TORQUEUNIT\"},G.MOMENTOFINERTIAUNIT={type:3,value:\"MOMENTOFINERTIAUNIT\"},G.LINEARMOMENTUNIT={type:3,value:\"LINEARMOMENTUNIT\"},G.LINEARFORCEUNIT={type:3,value:\"LINEARFORCEUNIT\"},G.PLANARFORCEUNIT={type:3,value:\"PLANARFORCEUNIT\"},G.MODULUSOFELASTICITYUNIT={type:3,value:\"MODULUSOFELASTICITYUNIT\"},G.SHEARMODULUSUNIT={type:3,value:\"SHEARMODULUSUNIT\"},G.LINEARSTIFFNESSUNIT={type:3,value:\"LINEARSTIFFNESSUNIT\"},G.ROTATIONALSTIFFNESSUNIT={type:3,value:\"ROTATIONALSTIFFNESSUNIT\"},G.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:\"MODULUSOFSUBGRADEREACTIONUNIT\"},G.ACCELERATIONUNIT={type:3,value:\"ACCELERATIONUNIT\"},G.CURVATUREUNIT={type:3,value:\"CURVATUREUNIT\"},G.HEATINGVALUEUNIT={type:3,value:\"HEATINGVALUEUNIT\"},G.IONCONCENTRATIONUNIT={type:3,value:\"IONCONCENTRATIONUNIT\"},G.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:\"LUMINOUSINTENSITYDISTRIBUTIONUNIT\"},G.MASSPERLENGTHUNIT={type:3,value:\"MASSPERLENGTHUNIT\"},G.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:\"MODULUSOFLINEARSUBGRADEREACTIONUNIT\"},G.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:\"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT\"},G.PHUNIT={type:3,value:\"PHUNIT\"},G.ROTATIONALMASSUNIT={type:3,value:\"ROTATIONALMASSUNIT\"},G.SECTIONAREAINTEGRALUNIT={type:3,value:\"SECTIONAREAINTEGRALUNIT\"},G.SECTIONMODULUSUNIT={type:3,value:\"SECTIONMODULUSUNIT\"},G.SOUNDPOWERUNIT={type:3,value:\"SOUNDPOWERUNIT\"},G.SOUNDPRESSUREUNIT={type:3,value:\"SOUNDPRESSUREUNIT\"},G.TEMPERATUREGRADIENTUNIT={type:3,value:\"TEMPERATUREGRADIENTUNIT\"},G.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:\"THERMALEXPANSIONCOEFFICIENTUNIT\"},G.WARPINGCONSTANTUNIT={type:3,value:\"WARPINGCONSTANTUNIT\"},G.WARPINGMOMENTUNIT={type:3,value:\"WARPINGMOMENTUNIT\"},G.USERDEFINED={type:3,value:\"USERDEFINED\"},e.IfcDerivedUnitEnum=G;class V{}V.ORIGIN={type:3,value:\"ORIGIN\"},V.TARGET={type:3,value:\"TARGET\"},e.IfcDimensionExtentUsage=V;class j{}j.POSITIVE={type:3,value:\"POSITIVE\"},j.NEGATIVE={type:3,value:\"NEGATIVE\"},e.IfcDirectionSenseEnum=j;class z{}z.FORMEDDUCT={type:3,value:\"FORMEDDUCT\"},z.INSPECTIONCHAMBER={type:3,value:\"INSPECTIONCHAMBER\"},z.INSPECTIONPIT={type:3,value:\"INSPECTIONPIT\"},z.MANHOLE={type:3,value:\"MANHOLE\"},z.METERCHAMBER={type:3,value:\"METERCHAMBER\"},z.SUMP={type:3,value:\"SUMP\"},z.TRENCH={type:3,value:\"TRENCH\"},z.VALVECHAMBER={type:3,value:\"VALVECHAMBER\"},z.USERDEFINED={type:3,value:\"USERDEFINED\"},z.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDistributionChamberElementTypeEnum=z;class W{}W.PUBLIC={type:3,value:\"PUBLIC\"},W.RESTRICTED={type:3,value:\"RESTRICTED\"},W.CONFIDENTIAL={type:3,value:\"CONFIDENTIAL\"},W.PERSONAL={type:3,value:\"PERSONAL\"},W.USERDEFINED={type:3,value:\"USERDEFINED\"},W.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDocumentConfidentialityEnum=W;class k{}k.DRAFT={type:3,value:\"DRAFT\"},k.FINALDRAFT={type:3,value:\"FINALDRAFT\"},k.FINAL={type:3,value:\"FINAL\"},k.REVISION={type:3,value:\"REVISION\"},k.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDocumentStatusEnum=k;class Y{}Y.SWINGING={type:3,value:\"SWINGING\"},Y.DOUBLE_ACTING={type:3,value:\"DOUBLE_ACTING\"},Y.SLIDING={type:3,value:\"SLIDING\"},Y.FOLDING={type:3,value:\"FOLDING\"},Y.REVOLVING={type:3,value:\"REVOLVING\"},Y.ROLLINGUP={type:3,value:\"ROLLINGUP\"},Y.USERDEFINED={type:3,value:\"USERDEFINED\"},Y.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDoorPanelOperationEnum=Y;class X{}X.LEFT={type:3,value:\"LEFT\"},X.MIDDLE={type:3,value:\"MIDDLE\"},X.RIGHT={type:3,value:\"RIGHT\"},X.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDoorPanelPositionEnum=X;class K{}K.ALUMINIUM={type:3,value:\"ALUMINIUM\"},K.HIGH_GRADE_STEEL={type:3,value:\"HIGH_GRADE_STEEL\"},K.STEEL={type:3,value:\"STEEL\"},K.WOOD={type:3,value:\"WOOD\"},K.ALUMINIUM_WOOD={type:3,value:\"ALUMINIUM_WOOD\"},K.ALUMINIUM_PLASTIC={type:3,value:\"ALUMINIUM_PLASTIC\"},K.PLASTIC={type:3,value:\"PLASTIC\"},K.USERDEFINED={type:3,value:\"USERDEFINED\"},K.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDoorStyleConstructionEnum=K;class Z{}Z.SINGLE_SWING_LEFT={type:3,value:\"SINGLE_SWING_LEFT\"},Z.SINGLE_SWING_RIGHT={type:3,value:\"SINGLE_SWING_RIGHT\"},Z.DOUBLE_DOOR_SINGLE_SWING={type:3,value:\"DOUBLE_DOOR_SINGLE_SWING\"},Z.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:\"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT\"},Z.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:\"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT\"},Z.DOUBLE_SWING_LEFT={type:3,value:\"DOUBLE_SWING_LEFT\"},Z.DOUBLE_SWING_RIGHT={type:3,value:\"DOUBLE_SWING_RIGHT\"},Z.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:\"DOUBLE_DOOR_DOUBLE_SWING\"},Z.SLIDING_TO_LEFT={type:3,value:\"SLIDING_TO_LEFT\"},Z.SLIDING_TO_RIGHT={type:3,value:\"SLIDING_TO_RIGHT\"},Z.DOUBLE_DOOR_SLIDING={type:3,value:\"DOUBLE_DOOR_SLIDING\"},Z.FOLDING_TO_LEFT={type:3,value:\"FOLDING_TO_LEFT\"},Z.FOLDING_TO_RIGHT={type:3,value:\"FOLDING_TO_RIGHT\"},Z.DOUBLE_DOOR_FOLDING={type:3,value:\"DOUBLE_DOOR_FOLDING\"},Z.REVOLVING={type:3,value:\"REVOLVING\"},Z.ROLLINGUP={type:3,value:\"ROLLINGUP\"},Z.USERDEFINED={type:3,value:\"USERDEFINED\"},Z.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDoorStyleOperationEnum=Z;class Q{}Q.BEND={type:3,value:\"BEND\"},Q.CONNECTOR={type:3,value:\"CONNECTOR\"},Q.ENTRY={type:3,value:\"ENTRY\"},Q.EXIT={type:3,value:\"EXIT\"},Q.JUNCTION={type:3,value:\"JUNCTION\"},Q.OBSTRUCTION={type:3,value:\"OBSTRUCTION\"},Q.TRANSITION={type:3,value:\"TRANSITION\"},Q.USERDEFINED={type:3,value:\"USERDEFINED\"},Q.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDuctFittingTypeEnum=Q;class J{}J.RIGIDSEGMENT={type:3,value:\"RIGIDSEGMENT\"},J.FLEXIBLESEGMENT={type:3,value:\"FLEXIBLESEGMENT\"},J.USERDEFINED={type:3,value:\"USERDEFINED\"},J.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDuctSegmentTypeEnum=J;class ${}$.FLATOVAL={type:3,value:\"FLATOVAL\"},$.RECTANGULAR={type:3,value:\"RECTANGULAR\"},$.ROUND={type:3,value:\"ROUND\"},$.USERDEFINED={type:3,value:\"USERDEFINED\"},$.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDuctSilencerTypeEnum=$;class ee{}ee.COMPUTER={type:3,value:\"COMPUTER\"},ee.DIRECTWATERHEATER={type:3,value:\"DIRECTWATERHEATER\"},ee.DISHWASHER={type:3,value:\"DISHWASHER\"},ee.ELECTRICCOOKER={type:3,value:\"ELECTRICCOOKER\"},ee.ELECTRICHEATER={type:3,value:\"ELECTRICHEATER\"},ee.FACSIMILE={type:3,value:\"FACSIMILE\"},ee.FREESTANDINGFAN={type:3,value:\"FREESTANDINGFAN\"},ee.FREEZER={type:3,value:\"FREEZER\"},ee.FRIDGE_FREEZER={type:3,value:\"FRIDGE_FREEZER\"},ee.HANDDRYER={type:3,value:\"HANDDRYER\"},ee.INDIRECTWATERHEATER={type:3,value:\"INDIRECTWATERHEATER\"},ee.MICROWAVE={type:3,value:\"MICROWAVE\"},ee.PHOTOCOPIER={type:3,value:\"PHOTOCOPIER\"},ee.PRINTER={type:3,value:\"PRINTER\"},ee.REFRIGERATOR={type:3,value:\"REFRIGERATOR\"},ee.RADIANTHEATER={type:3,value:\"RADIANTHEATER\"},ee.SCANNER={type:3,value:\"SCANNER\"},ee.TELEPHONE={type:3,value:\"TELEPHONE\"},ee.TUMBLEDRYER={type:3,value:\"TUMBLEDRYER\"},ee.TV={type:3,value:\"TV\"},ee.VENDINGMACHINE={type:3,value:\"VENDINGMACHINE\"},ee.WASHINGMACHINE={type:3,value:\"WASHINGMACHINE\"},ee.WATERHEATER={type:3,value:\"WATERHEATER\"},ee.WATERCOOLER={type:3,value:\"WATERCOOLER\"},ee.USERDEFINED={type:3,value:\"USERDEFINED\"},ee.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricApplianceTypeEnum=ee;class te{}te.ALTERNATING={type:3,value:\"ALTERNATING\"},te.DIRECT={type:3,value:\"DIRECT\"},te.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricCurrentEnum=te;class ne{}ne.ALARMPANEL={type:3,value:\"ALARMPANEL\"},ne.CONSUMERUNIT={type:3,value:\"CONSUMERUNIT\"},ne.CONTROLPANEL={type:3,value:\"CONTROLPANEL\"},ne.DISTRIBUTIONBOARD={type:3,value:\"DISTRIBUTIONBOARD\"},ne.GASDETECTORPANEL={type:3,value:\"GASDETECTORPANEL\"},ne.INDICATORPANEL={type:3,value:\"INDICATORPANEL\"},ne.MIMICPANEL={type:3,value:\"MIMICPANEL\"},ne.MOTORCONTROLCENTRE={type:3,value:\"MOTORCONTROLCENTRE\"},ne.SWITCHBOARD={type:3,value:\"SWITCHBOARD\"},ne.USERDEFINED={type:3,value:\"USERDEFINED\"},ne.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricDistributionPointFunctionEnum=ne;class se{}se.BATTERY={type:3,value:\"BATTERY\"},se.CAPACITORBANK={type:3,value:\"CAPACITORBANK\"},se.HARMONICFILTER={type:3,value:\"HARMONICFILTER\"},se.INDUCTORBANK={type:3,value:\"INDUCTORBANK\"},se.UPS={type:3,value:\"UPS\"},se.USERDEFINED={type:3,value:\"USERDEFINED\"},se.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricFlowStorageDeviceTypeEnum=se;class ie{}ie.USERDEFINED={type:3,value:\"USERDEFINED\"},ie.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricGeneratorTypeEnum=ie;class ae{}ae.ELECTRICPOINTHEATER={type:3,value:\"ELECTRICPOINTHEATER\"},ae.ELECTRICCABLEHEATER={type:3,value:\"ELECTRICCABLEHEATER\"},ae.ELECTRICMATHEATER={type:3,value:\"ELECTRICMATHEATER\"},ae.USERDEFINED={type:3,value:\"USERDEFINED\"},ae.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricHeaterTypeEnum=ae;class le{}le.DC={type:3,value:\"DC\"},le.INDUCTION={type:3,value:\"INDUCTION\"},le.POLYPHASE={type:3,value:\"POLYPHASE\"},le.RELUCTANCESYNCHRONOUS={type:3,value:\"RELUCTANCESYNCHRONOUS\"},le.SYNCHRONOUS={type:3,value:\"SYNCHRONOUS\"},le.USERDEFINED={type:3,value:\"USERDEFINED\"},le.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricMotorTypeEnum=le;class re{}re.TIMECLOCK={type:3,value:\"TIMECLOCK\"},re.TIMEDELAY={type:3,value:\"TIMEDELAY\"},re.RELAY={type:3,value:\"RELAY\"},re.USERDEFINED={type:3,value:\"USERDEFINED\"},re.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricTimeControlTypeEnum=re;class oe{}oe.ACCESSORY_ASSEMBLY={type:3,value:\"ACCESSORY_ASSEMBLY\"},oe.ARCH={type:3,value:\"ARCH\"},oe.BEAM_GRID={type:3,value:\"BEAM_GRID\"},oe.BRACED_FRAME={type:3,value:\"BRACED_FRAME\"},oe.GIRDER={type:3,value:\"GIRDER\"},oe.REINFORCEMENT_UNIT={type:3,value:\"REINFORCEMENT_UNIT\"},oe.RIGID_FRAME={type:3,value:\"RIGID_FRAME\"},oe.SLAB_FIELD={type:3,value:\"SLAB_FIELD\"},oe.TRUSS={type:3,value:\"TRUSS\"},oe.USERDEFINED={type:3,value:\"USERDEFINED\"},oe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElementAssemblyTypeEnum=oe;class ce{}ce.COMPLEX={type:3,value:\"COMPLEX\"},ce.ELEMENT={type:3,value:\"ELEMENT\"},ce.PARTIAL={type:3,value:\"PARTIAL\"},e.IfcElementCompositionEnum=ce;class ue{}ue.PRIMARY={type:3,value:\"PRIMARY\"},ue.SECONDARY={type:3,value:\"SECONDARY\"},ue.TERTIARY={type:3,value:\"TERTIARY\"},ue.AUXILIARY={type:3,value:\"AUXILIARY\"},ue.USERDEFINED={type:3,value:\"USERDEFINED\"},ue.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcEnergySequenceEnum=ue;class pe{}pe.COMBINEDVALUE={type:3,value:\"COMBINEDVALUE\"},pe.DISPOSAL={type:3,value:\"DISPOSAL\"},pe.EXTRACTION={type:3,value:\"EXTRACTION\"},pe.INSTALLATION={type:3,value:\"INSTALLATION\"},pe.MANUFACTURE={type:3,value:\"MANUFACTURE\"},pe.TRANSPORTATION={type:3,value:\"TRANSPORTATION\"},pe.USERDEFINED={type:3,value:\"USERDEFINED\"},pe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcEnvironmentalImpactCategoryEnum=pe;class he{}he.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:\"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER\"},he.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:\"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER\"},he.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:\"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER\"},he.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:\"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER\"},he.DIRECTEVAPORATIVEAIRWASHER={type:3,value:\"DIRECTEVAPORATIVEAIRWASHER\"},he.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:\"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER\"},he.INDIRECTEVAPORATIVEWETCOIL={type:3,value:\"INDIRECTEVAPORATIVEWETCOIL\"},he.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:\"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER\"},he.INDIRECTDIRECTCOMBINATION={type:3,value:\"INDIRECTDIRECTCOMBINATION\"},he.USERDEFINED={type:3,value:\"USERDEFINED\"},he.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcEvaporativeCoolerTypeEnum=he;class de{}de.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:\"DIRECTEXPANSIONSHELLANDTUBE\"},de.DIRECTEXPANSIONTUBEINTUBE={type:3,value:\"DIRECTEXPANSIONTUBEINTUBE\"},de.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:\"DIRECTEXPANSIONBRAZEDPLATE\"},de.FLOODEDSHELLANDTUBE={type:3,value:\"FLOODEDSHELLANDTUBE\"},de.SHELLANDCOIL={type:3,value:\"SHELLANDCOIL\"},de.USERDEFINED={type:3,value:\"USERDEFINED\"},de.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcEvaporatorTypeEnum=de;class fe{}fe.CENTRIFUGALFORWARDCURVED={type:3,value:\"CENTRIFUGALFORWARDCURVED\"},fe.CENTRIFUGALRADIAL={type:3,value:\"CENTRIFUGALRADIAL\"},fe.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:\"CENTRIFUGALBACKWARDINCLINEDCURVED\"},fe.CENTRIFUGALAIRFOIL={type:3,value:\"CENTRIFUGALAIRFOIL\"},fe.TUBEAXIAL={type:3,value:\"TUBEAXIAL\"},fe.VANEAXIAL={type:3,value:\"VANEAXIAL\"},fe.PROPELLORAXIAL={type:3,value:\"PROPELLORAXIAL\"},fe.USERDEFINED={type:3,value:\"USERDEFINED\"},fe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFanTypeEnum=fe;class Ie{}Ie.AIRPARTICLEFILTER={type:3,value:\"AIRPARTICLEFILTER\"},Ie.ODORFILTER={type:3,value:\"ODORFILTER\"},Ie.OILFILTER={type:3,value:\"OILFILTER\"},Ie.STRAINER={type:3,value:\"STRAINER\"},Ie.WATERFILTER={type:3,value:\"WATERFILTER\"},Ie.USERDEFINED={type:3,value:\"USERDEFINED\"},Ie.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFilterTypeEnum=Ie;class me{}me.BREECHINGINLET={type:3,value:\"BREECHINGINLET\"},me.FIREHYDRANT={type:3,value:\"FIREHYDRANT\"},me.HOSEREEL={type:3,value:\"HOSEREEL\"},me.SPRINKLER={type:3,value:\"SPRINKLER\"},me.SPRINKLERDEFLECTOR={type:3,value:\"SPRINKLERDEFLECTOR\"},me.USERDEFINED={type:3,value:\"USERDEFINED\"},me.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFireSuppressionTerminalTypeEnum=me;class ye{}ye.SOURCE={type:3,value:\"SOURCE\"},ye.SINK={type:3,value:\"SINK\"},ye.SOURCEANDSINK={type:3,value:\"SOURCEANDSINK\"},ye.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFlowDirectionEnum=ye;class ve{}ve.PRESSUREGAUGE={type:3,value:\"PRESSUREGAUGE\"},ve.THERMOMETER={type:3,value:\"THERMOMETER\"},ve.AMMETER={type:3,value:\"AMMETER\"},ve.FREQUENCYMETER={type:3,value:\"FREQUENCYMETER\"},ve.POWERFACTORMETER={type:3,value:\"POWERFACTORMETER\"},ve.PHASEANGLEMETER={type:3,value:\"PHASEANGLEMETER\"},ve.VOLTMETER_PEAK={type:3,value:\"VOLTMETER_PEAK\"},ve.VOLTMETER_RMS={type:3,value:\"VOLTMETER_RMS\"},ve.USERDEFINED={type:3,value:\"USERDEFINED\"},ve.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFlowInstrumentTypeEnum=ve;class we{}we.ELECTRICMETER={type:3,value:\"ELECTRICMETER\"},we.ENERGYMETER={type:3,value:\"ENERGYMETER\"},we.FLOWMETER={type:3,value:\"FLOWMETER\"},we.GASMETER={type:3,value:\"GASMETER\"},we.OILMETER={type:3,value:\"OILMETER\"},we.WATERMETER={type:3,value:\"WATERMETER\"},we.USERDEFINED={type:3,value:\"USERDEFINED\"},we.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFlowMeterTypeEnum=we;class Te{}Te.FOOTING_BEAM={type:3,value:\"FOOTING_BEAM\"},Te.PAD_FOOTING={type:3,value:\"PAD_FOOTING\"},Te.PILE_CAP={type:3,value:\"PILE_CAP\"},Te.STRIP_FOOTING={type:3,value:\"STRIP_FOOTING\"},Te.USERDEFINED={type:3,value:\"USERDEFINED\"},Te.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFootingTypeEnum=Te;class Ee{}Ee.GASAPPLIANCE={type:3,value:\"GASAPPLIANCE\"},Ee.GASBOOSTER={type:3,value:\"GASBOOSTER\"},Ee.GASBURNER={type:3,value:\"GASBURNER\"},Ee.USERDEFINED={type:3,value:\"USERDEFINED\"},Ee.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcGasTerminalTypeEnum=Ee;class ge{}ge.GRAPH_VIEW={type:3,value:\"GRAPH_VIEW\"},ge.SKETCH_VIEW={type:3,value:\"SKETCH_VIEW\"},ge.MODEL_VIEW={type:3,value:\"MODEL_VIEW\"},ge.PLAN_VIEW={type:3,value:\"PLAN_VIEW\"},ge.REFLECTED_PLAN_VIEW={type:3,value:\"REFLECTED_PLAN_VIEW\"},ge.SECTION_VIEW={type:3,value:\"SECTION_VIEW\"},ge.ELEVATION_VIEW={type:3,value:\"ELEVATION_VIEW\"},ge.USERDEFINED={type:3,value:\"USERDEFINED\"},ge.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcGeometricProjectionEnum=ge;class Re{}Re.GLOBAL_COORDS={type:3,value:\"GLOBAL_COORDS\"},Re.LOCAL_COORDS={type:3,value:\"LOCAL_COORDS\"},e.IfcGlobalOrLocalEnum=Re;class De{}De.PLATE={type:3,value:\"PLATE\"},De.SHELLANDTUBE={type:3,value:\"SHELLANDTUBE\"},De.USERDEFINED={type:3,value:\"USERDEFINED\"},De.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcHeatExchangerTypeEnum=De;class Se{}Se.STEAMINJECTION={type:3,value:\"STEAMINJECTION\"},Se.ADIABATICAIRWASHER={type:3,value:\"ADIABATICAIRWASHER\"},Se.ADIABATICPAN={type:3,value:\"ADIABATICPAN\"},Se.ADIABATICWETTEDELEMENT={type:3,value:\"ADIABATICWETTEDELEMENT\"},Se.ADIABATICATOMIZING={type:3,value:\"ADIABATICATOMIZING\"},Se.ADIABATICULTRASONIC={type:3,value:\"ADIABATICULTRASONIC\"},Se.ADIABATICRIGIDMEDIA={type:3,value:\"ADIABATICRIGIDMEDIA\"},Se.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:\"ADIABATICCOMPRESSEDAIRNOZZLE\"},Se.ASSISTEDELECTRIC={type:3,value:\"ASSISTEDELECTRIC\"},Se.ASSISTEDNATURALGAS={type:3,value:\"ASSISTEDNATURALGAS\"},Se.ASSISTEDPROPANE={type:3,value:\"ASSISTEDPROPANE\"},Se.ASSISTEDBUTANE={type:3,value:\"ASSISTEDBUTANE\"},Se.ASSISTEDSTEAM={type:3,value:\"ASSISTEDSTEAM\"},Se.USERDEFINED={type:3,value:\"USERDEFINED\"},Se.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcHumidifierTypeEnum=Se;class be{}be.INTERNAL={type:3,value:\"INTERNAL\"},be.EXTERNAL={type:3,value:\"EXTERNAL\"},be.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcInternalOrExternalEnum=be;class Ne{}Ne.ASSETINVENTORY={type:3,value:\"ASSETINVENTORY\"},Ne.SPACEINVENTORY={type:3,value:\"SPACEINVENTORY\"},Ne.FURNITUREINVENTORY={type:3,value:\"FURNITUREINVENTORY\"},Ne.USERDEFINED={type:3,value:\"USERDEFINED\"},Ne.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcInventoryTypeEnum=Ne;class Oe{}Oe.USERDEFINED={type:3,value:\"USERDEFINED\"},Oe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcJunctionBoxTypeEnum=Oe;class Ae{}Ae.COMPACTFLUORESCENT={type:3,value:\"COMPACTFLUORESCENT\"},Ae.FLUORESCENT={type:3,value:\"FLUORESCENT\"},Ae.HIGHPRESSUREMERCURY={type:3,value:\"HIGHPRESSUREMERCURY\"},Ae.HIGHPRESSURESODIUM={type:3,value:\"HIGHPRESSURESODIUM\"},Ae.METALHALIDE={type:3,value:\"METALHALIDE\"},Ae.TUNGSTENFILAMENT={type:3,value:\"TUNGSTENFILAMENT\"},Ae.USERDEFINED={type:3,value:\"USERDEFINED\"},Ae.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLampTypeEnum=Ae;class xe{}xe.AXIS1={type:3,value:\"AXIS1\"},xe.AXIS2={type:3,value:\"AXIS2\"},xe.AXIS3={type:3,value:\"AXIS3\"},e.IfcLayerSetDirectionEnum=xe;class Ce{}Ce.TYPE_A={type:3,value:\"TYPE_A\"},Ce.TYPE_B={type:3,value:\"TYPE_B\"},Ce.TYPE_C={type:3,value:\"TYPE_C\"},Ce.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLightDistributionCurveEnum=Ce;class Le{}Le.COMPACTFLUORESCENT={type:3,value:\"COMPACTFLUORESCENT\"},Le.FLUORESCENT={type:3,value:\"FLUORESCENT\"},Le.HIGHPRESSUREMERCURY={type:3,value:\"HIGHPRESSUREMERCURY\"},Le.HIGHPRESSURESODIUM={type:3,value:\"HIGHPRESSURESODIUM\"},Le.LIGHTEMITTINGDIODE={type:3,value:\"LIGHTEMITTINGDIODE\"},Le.LOWPRESSURESODIUM={type:3,value:\"LOWPRESSURESODIUM\"},Le.LOWVOLTAGEHALOGEN={type:3,value:\"LOWVOLTAGEHALOGEN\"},Le.MAINVOLTAGEHALOGEN={type:3,value:\"MAINVOLTAGEHALOGEN\"},Le.METALHALIDE={type:3,value:\"METALHALIDE\"},Le.TUNGSTENFILAMENT={type:3,value:\"TUNGSTENFILAMENT\"},Le.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLightEmissionSourceEnum=Le;class Pe{}Pe.POINTSOURCE={type:3,value:\"POINTSOURCE\"},Pe.DIRECTIONSOURCE={type:3,value:\"DIRECTIONSOURCE\"},Pe.USERDEFINED={type:3,value:\"USERDEFINED\"},Pe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLightFixtureTypeEnum=Pe;class qe{}qe.LOAD_GROUP={type:3,value:\"LOAD_GROUP\"},qe.LOAD_CASE={type:3,value:\"LOAD_CASE\"},qe.LOAD_COMBINATION_GROUP={type:3,value:\"LOAD_COMBINATION_GROUP\"},qe.LOAD_COMBINATION={type:3,value:\"LOAD_COMBINATION\"},qe.USERDEFINED={type:3,value:\"USERDEFINED\"},qe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLoadGroupTypeEnum=qe;class _e{}_e.LOGICALAND={type:3,value:\"LOGICALAND\"},_e.LOGICALOR={type:3,value:\"LOGICALOR\"},e.IfcLogicalOperatorEnum=_e;class Me{}Me.BRACE={type:3,value:\"BRACE\"},Me.CHORD={type:3,value:\"CHORD\"},Me.COLLAR={type:3,value:\"COLLAR\"},Me.MEMBER={type:3,value:\"MEMBER\"},Me.MULLION={type:3,value:\"MULLION\"},Me.PLATE={type:3,value:\"PLATE\"},Me.POST={type:3,value:\"POST\"},Me.PURLIN={type:3,value:\"PURLIN\"},Me.RAFTER={type:3,value:\"RAFTER\"},Me.STRINGER={type:3,value:\"STRINGER\"},Me.STRUT={type:3,value:\"STRUT\"},Me.STUD={type:3,value:\"STUD\"},Me.USERDEFINED={type:3,value:\"USERDEFINED\"},Me.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcMemberTypeEnum=Me;class He{}He.BELTDRIVE={type:3,value:\"BELTDRIVE\"},He.COUPLING={type:3,value:\"COUPLING\"},He.DIRECTDRIVE={type:3,value:\"DIRECTDRIVE\"},He.USERDEFINED={type:3,value:\"USERDEFINED\"},He.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcMotorConnectionTypeEnum=He;class Be{}Be.NULL={type:3,value:\"NULL\"},e.IfcNullStyle=Be;class Ue{}Ue.PRODUCT={type:3,value:\"PRODUCT\"},Ue.PROCESS={type:3,value:\"PROCESS\"},Ue.CONTROL={type:3,value:\"CONTROL\"},Ue.RESOURCE={type:3,value:\"RESOURCE\"},Ue.ACTOR={type:3,value:\"ACTOR\"},Ue.GROUP={type:3,value:\"GROUP\"},Ue.PROJECT={type:3,value:\"PROJECT\"},Ue.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcObjectTypeEnum=Ue;class Fe{}Fe.CODECOMPLIANCE={type:3,value:\"CODECOMPLIANCE\"},Fe.DESIGNINTENT={type:3,value:\"DESIGNINTENT\"},Fe.HEALTHANDSAFETY={type:3,value:\"HEALTHANDSAFETY\"},Fe.REQUIREMENT={type:3,value:\"REQUIREMENT\"},Fe.SPECIFICATION={type:3,value:\"SPECIFICATION\"},Fe.TRIGGERCONDITION={type:3,value:\"TRIGGERCONDITION\"},Fe.USERDEFINED={type:3,value:\"USERDEFINED\"},Fe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcObjectiveEnum=Fe;class Ge{}Ge.ASSIGNEE={type:3,value:\"ASSIGNEE\"},Ge.ASSIGNOR={type:3,value:\"ASSIGNOR\"},Ge.LESSEE={type:3,value:\"LESSEE\"},Ge.LESSOR={type:3,value:\"LESSOR\"},Ge.LETTINGAGENT={type:3,value:\"LETTINGAGENT\"},Ge.OWNER={type:3,value:\"OWNER\"},Ge.TENANT={type:3,value:\"TENANT\"},Ge.USERDEFINED={type:3,value:\"USERDEFINED\"},Ge.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcOccupantTypeEnum=Ge;class Ve{}Ve.AUDIOVISUALOUTLET={type:3,value:\"AUDIOVISUALOUTLET\"},Ve.COMMUNICATIONSOUTLET={type:3,value:\"COMMUNICATIONSOUTLET\"},Ve.POWEROUTLET={type:3,value:\"POWEROUTLET\"},Ve.USERDEFINED={type:3,value:\"USERDEFINED\"},Ve.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcOutletTypeEnum=Ve;class je{}je.GRILL={type:3,value:\"GRILL\"},je.LOUVER={type:3,value:\"LOUVER\"},je.SCREEN={type:3,value:\"SCREEN\"},je.USERDEFINED={type:3,value:\"USERDEFINED\"},je.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPermeableCoveringOperationEnum=je;class ze{}ze.PHYSICAL={type:3,value:\"PHYSICAL\"},ze.VIRTUAL={type:3,value:\"VIRTUAL\"},ze.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPhysicalOrVirtualEnum=ze;class We{}We.CAST_IN_PLACE={type:3,value:\"CAST_IN_PLACE\"},We.COMPOSITE={type:3,value:\"COMPOSITE\"},We.PRECAST_CONCRETE={type:3,value:\"PRECAST_CONCRETE\"},We.PREFAB_STEEL={type:3,value:\"PREFAB_STEEL\"},We.USERDEFINED={type:3,value:\"USERDEFINED\"},We.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPileConstructionEnum=We;class ke{}ke.COHESION={type:3,value:\"COHESION\"},ke.FRICTION={type:3,value:\"FRICTION\"},ke.SUPPORT={type:3,value:\"SUPPORT\"},ke.USERDEFINED={type:3,value:\"USERDEFINED\"},ke.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPileTypeEnum=ke;class Ye{}Ye.BEND={type:3,value:\"BEND\"},Ye.CONNECTOR={type:3,value:\"CONNECTOR\"},Ye.ENTRY={type:3,value:\"ENTRY\"},Ye.EXIT={type:3,value:\"EXIT\"},Ye.JUNCTION={type:3,value:\"JUNCTION\"},Ye.OBSTRUCTION={type:3,value:\"OBSTRUCTION\"},Ye.TRANSITION={type:3,value:\"TRANSITION\"},Ye.USERDEFINED={type:3,value:\"USERDEFINED\"},Ye.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPipeFittingTypeEnum=Ye;class Xe{}Xe.FLEXIBLESEGMENT={type:3,value:\"FLEXIBLESEGMENT\"},Xe.RIGIDSEGMENT={type:3,value:\"RIGIDSEGMENT\"},Xe.GUTTER={type:3,value:\"GUTTER\"},Xe.SPOOL={type:3,value:\"SPOOL\"},Xe.USERDEFINED={type:3,value:\"USERDEFINED\"},Xe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPipeSegmentTypeEnum=Xe;class Ke{}Ke.CURTAIN_PANEL={type:3,value:\"CURTAIN_PANEL\"},Ke.SHEET={type:3,value:\"SHEET\"},Ke.USERDEFINED={type:3,value:\"USERDEFINED\"},Ke.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPlateTypeEnum=Ke;class Ze{}Ze.ADVICE_CAUTION={type:3,value:\"ADVICE_CAUTION\"},Ze.ADVICE_NOTE={type:3,value:\"ADVICE_NOTE\"},Ze.ADVICE_WARNING={type:3,value:\"ADVICE_WARNING\"},Ze.CALIBRATION={type:3,value:\"CALIBRATION\"},Ze.DIAGNOSTIC={type:3,value:\"DIAGNOSTIC\"},Ze.SHUTDOWN={type:3,value:\"SHUTDOWN\"},Ze.STARTUP={type:3,value:\"STARTUP\"},Ze.USERDEFINED={type:3,value:\"USERDEFINED\"},Ze.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcProcedureTypeEnum=Ze;class Qe{}Qe.CURVE={type:3,value:\"CURVE\"},Qe.AREA={type:3,value:\"AREA\"},e.IfcProfileTypeEnum=Qe;class Je{}Je.CHANGE={type:3,value:\"CHANGE\"},Je.MAINTENANCE={type:3,value:\"MAINTENANCE\"},Je.MOVE={type:3,value:\"MOVE\"},Je.PURCHASE={type:3,value:\"PURCHASE\"},Je.WORK={type:3,value:\"WORK\"},Je.USERDEFINED={type:3,value:\"USERDEFINED\"},Je.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcProjectOrderRecordTypeEnum=Je;class $e{}$e.CHANGEORDER={type:3,value:\"CHANGEORDER\"},$e.MAINTENANCEWORKORDER={type:3,value:\"MAINTENANCEWORKORDER\"},$e.MOVEORDER={type:3,value:\"MOVEORDER\"},$e.PURCHASEORDER={type:3,value:\"PURCHASEORDER\"},$e.WORKORDER={type:3,value:\"WORKORDER\"},$e.USERDEFINED={type:3,value:\"USERDEFINED\"},$e.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcProjectOrderTypeEnum=$e;class et{}et.PROJECTED_LENGTH={type:3,value:\"PROJECTED_LENGTH\"},et.TRUE_LENGTH={type:3,value:\"TRUE_LENGTH\"},e.IfcProjectedOrTrueLengthEnum=et;class tt{}tt.DESIGN={type:3,value:\"DESIGN\"},tt.DESIGNMAXIMUM={type:3,value:\"DESIGNMAXIMUM\"},tt.DESIGNMINIMUM={type:3,value:\"DESIGNMINIMUM\"},tt.SIMULATED={type:3,value:\"SIMULATED\"},tt.ASBUILT={type:3,value:\"ASBUILT\"},tt.COMMISSIONING={type:3,value:\"COMMISSIONING\"},tt.MEASURED={type:3,value:\"MEASURED\"},tt.USERDEFINED={type:3,value:\"USERDEFINED\"},tt.NOTKNOWN={type:3,value:\"NOTKNOWN\"},e.IfcPropertySourceEnum=tt;class nt{}nt.FUSEDISCONNECTOR={type:3,value:\"FUSEDISCONNECTOR\"},nt.CIRCUITBREAKER={type:3,value:\"CIRCUITBREAKER\"},nt.EARTHFAILUREDEVICE={type:3,value:\"EARTHFAILUREDEVICE\"},nt.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:\"RESIDUALCURRENTCIRCUITBREAKER\"},nt.RESIDUALCURRENTSWITCH={type:3,value:\"RESIDUALCURRENTSWITCH\"},nt.VARISTOR={type:3,value:\"VARISTOR\"},nt.USERDEFINED={type:3,value:\"USERDEFINED\"},nt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcProtectiveDeviceTypeEnum=nt;class st{}st.CIRCULATOR={type:3,value:\"CIRCULATOR\"},st.ENDSUCTION={type:3,value:\"ENDSUCTION\"},st.SPLITCASE={type:3,value:\"SPLITCASE\"},st.VERTICALINLINE={type:3,value:\"VERTICALINLINE\"},st.VERTICALTURBINE={type:3,value:\"VERTICALTURBINE\"},st.USERDEFINED={type:3,value:\"USERDEFINED\"},st.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPumpTypeEnum=st;class it{}it.HANDRAIL={type:3,value:\"HANDRAIL\"},it.GUARDRAIL={type:3,value:\"GUARDRAIL\"},it.BALUSTRADE={type:3,value:\"BALUSTRADE\"},it.USERDEFINED={type:3,value:\"USERDEFINED\"},it.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRailingTypeEnum=it;class at{}at.STRAIGHT={type:3,value:\"STRAIGHT\"},at.SPIRAL={type:3,value:\"SPIRAL\"},at.USERDEFINED={type:3,value:\"USERDEFINED\"},at.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRampFlightTypeEnum=at;class lt{}lt.STRAIGHT_RUN_RAMP={type:3,value:\"STRAIGHT_RUN_RAMP\"},lt.TWO_STRAIGHT_RUN_RAMP={type:3,value:\"TWO_STRAIGHT_RUN_RAMP\"},lt.QUARTER_TURN_RAMP={type:3,value:\"QUARTER_TURN_RAMP\"},lt.TWO_QUARTER_TURN_RAMP={type:3,value:\"TWO_QUARTER_TURN_RAMP\"},lt.HALF_TURN_RAMP={type:3,value:\"HALF_TURN_RAMP\"},lt.SPIRAL_RAMP={type:3,value:\"SPIRAL_RAMP\"},lt.USERDEFINED={type:3,value:\"USERDEFINED\"},lt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRampTypeEnum=lt;class rt{}rt.BLINN={type:3,value:\"BLINN\"},rt.FLAT={type:3,value:\"FLAT\"},rt.GLASS={type:3,value:\"GLASS\"},rt.MATT={type:3,value:\"MATT\"},rt.METAL={type:3,value:\"METAL\"},rt.MIRROR={type:3,value:\"MIRROR\"},rt.PHONG={type:3,value:\"PHONG\"},rt.PLASTIC={type:3,value:\"PLASTIC\"},rt.STRAUSS={type:3,value:\"STRAUSS\"},rt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcReflectanceMethodEnum=rt;class ot{}ot.MAIN={type:3,value:\"MAIN\"},ot.SHEAR={type:3,value:\"SHEAR\"},ot.LIGATURE={type:3,value:\"LIGATURE\"},ot.STUD={type:3,value:\"STUD\"},ot.PUNCHING={type:3,value:\"PUNCHING\"},ot.EDGE={type:3,value:\"EDGE\"},ot.RING={type:3,value:\"RING\"},ot.USERDEFINED={type:3,value:\"USERDEFINED\"},ot.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcReinforcingBarRoleEnum=ot;class ct{}ct.PLAIN={type:3,value:\"PLAIN\"},ct.TEXTURED={type:3,value:\"TEXTURED\"},e.IfcReinforcingBarSurfaceEnum=ct;class ut{}ut.CONSUMED={type:3,value:\"CONSUMED\"},ut.PARTIALLYCONSUMED={type:3,value:\"PARTIALLYCONSUMED\"},ut.NOTCONSUMED={type:3,value:\"NOTCONSUMED\"},ut.OCCUPIED={type:3,value:\"OCCUPIED\"},ut.PARTIALLYOCCUPIED={type:3,value:\"PARTIALLYOCCUPIED\"},ut.NOTOCCUPIED={type:3,value:\"NOTOCCUPIED\"},ut.USERDEFINED={type:3,value:\"USERDEFINED\"},ut.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcResourceConsumptionEnum=ut;class pt{}pt.DIRECTION_X={type:3,value:\"DIRECTION_X\"},pt.DIRECTION_Y={type:3,value:\"DIRECTION_Y\"},e.IfcRibPlateDirectionEnum=pt;class ht{}ht.SUPPLIER={type:3,value:\"SUPPLIER\"},ht.MANUFACTURER={type:3,value:\"MANUFACTURER\"},ht.CONTRACTOR={type:3,value:\"CONTRACTOR\"},ht.SUBCONTRACTOR={type:3,value:\"SUBCONTRACTOR\"},ht.ARCHITECT={type:3,value:\"ARCHITECT\"},ht.STRUCTURALENGINEER={type:3,value:\"STRUCTURALENGINEER\"},ht.COSTENGINEER={type:3,value:\"COSTENGINEER\"},ht.CLIENT={type:3,value:\"CLIENT\"},ht.BUILDINGOWNER={type:3,value:\"BUILDINGOWNER\"},ht.BUILDINGOPERATOR={type:3,value:\"BUILDINGOPERATOR\"},ht.MECHANICALENGINEER={type:3,value:\"MECHANICALENGINEER\"},ht.ELECTRICALENGINEER={type:3,value:\"ELECTRICALENGINEER\"},ht.PROJECTMANAGER={type:3,value:\"PROJECTMANAGER\"},ht.FACILITIESMANAGER={type:3,value:\"FACILITIESMANAGER\"},ht.CIVILENGINEER={type:3,value:\"CIVILENGINEER\"},ht.COMISSIONINGENGINEER={type:3,value:\"COMISSIONINGENGINEER\"},ht.ENGINEER={type:3,value:\"ENGINEER\"},ht.OWNER={type:3,value:\"OWNER\"},ht.CONSULTANT={type:3,value:\"CONSULTANT\"},ht.CONSTRUCTIONMANAGER={type:3,value:\"CONSTRUCTIONMANAGER\"},ht.FIELDCONSTRUCTIONMANAGER={type:3,value:\"FIELDCONSTRUCTIONMANAGER\"},ht.RESELLER={type:3,value:\"RESELLER\"},ht.USERDEFINED={type:3,value:\"USERDEFINED\"},e.IfcRoleEnum=ht;class dt{}dt.FLAT_ROOF={type:3,value:\"FLAT_ROOF\"},dt.SHED_ROOF={type:3,value:\"SHED_ROOF\"},dt.GABLE_ROOF={type:3,value:\"GABLE_ROOF\"},dt.HIP_ROOF={type:3,value:\"HIP_ROOF\"},dt.HIPPED_GABLE_ROOF={type:3,value:\"HIPPED_GABLE_ROOF\"},dt.GAMBREL_ROOF={type:3,value:\"GAMBREL_ROOF\"},dt.MANSARD_ROOF={type:3,value:\"MANSARD_ROOF\"},dt.BARREL_ROOF={type:3,value:\"BARREL_ROOF\"},dt.RAINBOW_ROOF={type:3,value:\"RAINBOW_ROOF\"},dt.BUTTERFLY_ROOF={type:3,value:\"BUTTERFLY_ROOF\"},dt.PAVILION_ROOF={type:3,value:\"PAVILION_ROOF\"},dt.DOME_ROOF={type:3,value:\"DOME_ROOF\"},dt.FREEFORM={type:3,value:\"FREEFORM\"},dt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRoofTypeEnum=dt;class ft{}ft.EXA={type:3,value:\"EXA\"},ft.PETA={type:3,value:\"PETA\"},ft.TERA={type:3,value:\"TERA\"},ft.GIGA={type:3,value:\"GIGA\"},ft.MEGA={type:3,value:\"MEGA\"},ft.KILO={type:3,value:\"KILO\"},ft.HECTO={type:3,value:\"HECTO\"},ft.DECA={type:3,value:\"DECA\"},ft.DECI={type:3,value:\"DECI\"},ft.CENTI={type:3,value:\"CENTI\"},ft.MILLI={type:3,value:\"MILLI\"},ft.MICRO={type:3,value:\"MICRO\"},ft.NANO={type:3,value:\"NANO\"},ft.PICO={type:3,value:\"PICO\"},ft.FEMTO={type:3,value:\"FEMTO\"},ft.ATTO={type:3,value:\"ATTO\"},e.IfcSIPrefix=ft;class It{}It.AMPERE={type:3,value:\"AMPERE\"},It.BECQUEREL={type:3,value:\"BECQUEREL\"},It.CANDELA={type:3,value:\"CANDELA\"},It.COULOMB={type:3,value:\"COULOMB\"},It.CUBIC_METRE={type:3,value:\"CUBIC_METRE\"},It.DEGREE_CELSIUS={type:3,value:\"DEGREE_CELSIUS\"},It.FARAD={type:3,value:\"FARAD\"},It.GRAM={type:3,value:\"GRAM\"},It.GRAY={type:3,value:\"GRAY\"},It.HENRY={type:3,value:\"HENRY\"},It.HERTZ={type:3,value:\"HERTZ\"},It.JOULE={type:3,value:\"JOULE\"},It.KELVIN={type:3,value:\"KELVIN\"},It.LUMEN={type:3,value:\"LUMEN\"},It.LUX={type:3,value:\"LUX\"},It.METRE={type:3,value:\"METRE\"},It.MOLE={type:3,value:\"MOLE\"},It.NEWTON={type:3,value:\"NEWTON\"},It.OHM={type:3,value:\"OHM\"},It.PASCAL={type:3,value:\"PASCAL\"},It.RADIAN={type:3,value:\"RADIAN\"},It.SECOND={type:3,value:\"SECOND\"},It.SIEMENS={type:3,value:\"SIEMENS\"},It.SIEVERT={type:3,value:\"SIEVERT\"},It.SQUARE_METRE={type:3,value:\"SQUARE_METRE\"},It.STERADIAN={type:3,value:\"STERADIAN\"},It.TESLA={type:3,value:\"TESLA\"},It.VOLT={type:3,value:\"VOLT\"},It.WATT={type:3,value:\"WATT\"},It.WEBER={type:3,value:\"WEBER\"},e.IfcSIUnitName=It;class mt{}mt.BATH={type:3,value:\"BATH\"},mt.BIDET={type:3,value:\"BIDET\"},mt.CISTERN={type:3,value:\"CISTERN\"},mt.SHOWER={type:3,value:\"SHOWER\"},mt.SINK={type:3,value:\"SINK\"},mt.SANITARYFOUNTAIN={type:3,value:\"SANITARYFOUNTAIN\"},mt.TOILETPAN={type:3,value:\"TOILETPAN\"},mt.URINAL={type:3,value:\"URINAL\"},mt.WASHHANDBASIN={type:3,value:\"WASHHANDBASIN\"},mt.WCSEAT={type:3,value:\"WCSEAT\"},mt.USERDEFINED={type:3,value:\"USERDEFINED\"},mt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSanitaryTerminalTypeEnum=mt;class yt{}yt.UNIFORM={type:3,value:\"UNIFORM\"},yt.TAPERED={type:3,value:\"TAPERED\"},e.IfcSectionTypeEnum=yt;class vt{}vt.CO2SENSOR={type:3,value:\"CO2SENSOR\"},vt.FIRESENSOR={type:3,value:\"FIRESENSOR\"},vt.FLOWSENSOR={type:3,value:\"FLOWSENSOR\"},vt.GASSENSOR={type:3,value:\"GASSENSOR\"},vt.HEATSENSOR={type:3,value:\"HEATSENSOR\"},vt.HUMIDITYSENSOR={type:3,value:\"HUMIDITYSENSOR\"},vt.LIGHTSENSOR={type:3,value:\"LIGHTSENSOR\"},vt.MOISTURESENSOR={type:3,value:\"MOISTURESENSOR\"},vt.MOVEMENTSENSOR={type:3,value:\"MOVEMENTSENSOR\"},vt.PRESSURESENSOR={type:3,value:\"PRESSURESENSOR\"},vt.SMOKESENSOR={type:3,value:\"SMOKESENSOR\"},vt.SOUNDSENSOR={type:3,value:\"SOUNDSENSOR\"},vt.TEMPERATURESENSOR={type:3,value:\"TEMPERATURESENSOR\"},vt.USERDEFINED={type:3,value:\"USERDEFINED\"},vt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSensorTypeEnum=vt;class wt{}wt.START_START={type:3,value:\"START_START\"},wt.START_FINISH={type:3,value:\"START_FINISH\"},wt.FINISH_START={type:3,value:\"FINISH_START\"},wt.FINISH_FINISH={type:3,value:\"FINISH_FINISH\"},wt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSequenceEnum=wt;class Tt{}Tt.A_QUALITYOFCOMPONENTS={type:3,value:\"A_QUALITYOFCOMPONENTS\"},Tt.B_DESIGNLEVEL={type:3,value:\"B_DESIGNLEVEL\"},Tt.C_WORKEXECUTIONLEVEL={type:3,value:\"C_WORKEXECUTIONLEVEL\"},Tt.D_INDOORENVIRONMENT={type:3,value:\"D_INDOORENVIRONMENT\"},Tt.E_OUTDOORENVIRONMENT={type:3,value:\"E_OUTDOORENVIRONMENT\"},Tt.F_INUSECONDITIONS={type:3,value:\"F_INUSECONDITIONS\"},Tt.G_MAINTENANCELEVEL={type:3,value:\"G_MAINTENANCELEVEL\"},Tt.USERDEFINED={type:3,value:\"USERDEFINED\"},Tt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcServiceLifeFactorTypeEnum=Tt;class Et{}Et.ACTUALSERVICELIFE={type:3,value:\"ACTUALSERVICELIFE\"},Et.EXPECTEDSERVICELIFE={type:3,value:\"EXPECTEDSERVICELIFE\"},Et.OPTIMISTICREFERENCESERVICELIFE={type:3,value:\"OPTIMISTICREFERENCESERVICELIFE\"},Et.PESSIMISTICREFERENCESERVICELIFE={type:3,value:\"PESSIMISTICREFERENCESERVICELIFE\"},Et.REFERENCESERVICELIFE={type:3,value:\"REFERENCESERVICELIFE\"},e.IfcServiceLifeTypeEnum=Et;class gt{}gt.FLOOR={type:3,value:\"FLOOR\"},gt.ROOF={type:3,value:\"ROOF\"},gt.LANDING={type:3,value:\"LANDING\"},gt.BASESLAB={type:3,value:\"BASESLAB\"},gt.USERDEFINED={type:3,value:\"USERDEFINED\"},gt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSlabTypeEnum=gt;class Rt{}Rt.DBA={type:3,value:\"DBA\"},Rt.DBB={type:3,value:\"DBB\"},Rt.DBC={type:3,value:\"DBC\"},Rt.NC={type:3,value:\"NC\"},Rt.NR={type:3,value:\"NR\"},Rt.USERDEFINED={type:3,value:\"USERDEFINED\"},Rt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSoundScaleEnum=Rt;class Dt{}Dt.SECTIONALRADIATOR={type:3,value:\"SECTIONALRADIATOR\"},Dt.PANELRADIATOR={type:3,value:\"PANELRADIATOR\"},Dt.TUBULARRADIATOR={type:3,value:\"TUBULARRADIATOR\"},Dt.CONVECTOR={type:3,value:\"CONVECTOR\"},Dt.BASEBOARDHEATER={type:3,value:\"BASEBOARDHEATER\"},Dt.FINNEDTUBEUNIT={type:3,value:\"FINNEDTUBEUNIT\"},Dt.UNITHEATER={type:3,value:\"UNITHEATER\"},Dt.USERDEFINED={type:3,value:\"USERDEFINED\"},Dt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSpaceHeaterTypeEnum=Dt;class St{}St.USERDEFINED={type:3,value:\"USERDEFINED\"},St.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSpaceTypeEnum=St;class bt{}bt.BIRDCAGE={type:3,value:\"BIRDCAGE\"},bt.COWL={type:3,value:\"COWL\"},bt.RAINWATERHOPPER={type:3,value:\"RAINWATERHOPPER\"},bt.USERDEFINED={type:3,value:\"USERDEFINED\"},bt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStackTerminalTypeEnum=bt;class Nt{}Nt.STRAIGHT={type:3,value:\"STRAIGHT\"},Nt.WINDER={type:3,value:\"WINDER\"},Nt.SPIRAL={type:3,value:\"SPIRAL\"},Nt.CURVED={type:3,value:\"CURVED\"},Nt.FREEFORM={type:3,value:\"FREEFORM\"},Nt.USERDEFINED={type:3,value:\"USERDEFINED\"},Nt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStairFlightTypeEnum=Nt;class Ot{}Ot.STRAIGHT_RUN_STAIR={type:3,value:\"STRAIGHT_RUN_STAIR\"},Ot.TWO_STRAIGHT_RUN_STAIR={type:3,value:\"TWO_STRAIGHT_RUN_STAIR\"},Ot.QUARTER_WINDING_STAIR={type:3,value:\"QUARTER_WINDING_STAIR\"},Ot.QUARTER_TURN_STAIR={type:3,value:\"QUARTER_TURN_STAIR\"},Ot.HALF_WINDING_STAIR={type:3,value:\"HALF_WINDING_STAIR\"},Ot.HALF_TURN_STAIR={type:3,value:\"HALF_TURN_STAIR\"},Ot.TWO_QUARTER_WINDING_STAIR={type:3,value:\"TWO_QUARTER_WINDING_STAIR\"},Ot.TWO_QUARTER_TURN_STAIR={type:3,value:\"TWO_QUARTER_TURN_STAIR\"},Ot.THREE_QUARTER_WINDING_STAIR={type:3,value:\"THREE_QUARTER_WINDING_STAIR\"},Ot.THREE_QUARTER_TURN_STAIR={type:3,value:\"THREE_QUARTER_TURN_STAIR\"},Ot.SPIRAL_STAIR={type:3,value:\"SPIRAL_STAIR\"},Ot.DOUBLE_RETURN_STAIR={type:3,value:\"DOUBLE_RETURN_STAIR\"},Ot.CURVED_RUN_STAIR={type:3,value:\"CURVED_RUN_STAIR\"},Ot.TWO_CURVED_RUN_STAIR={type:3,value:\"TWO_CURVED_RUN_STAIR\"},Ot.USERDEFINED={type:3,value:\"USERDEFINED\"},Ot.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStairTypeEnum=Ot;class At{}At.READWRITE={type:3,value:\"READWRITE\"},At.READONLY={type:3,value:\"READONLY\"},At.LOCKED={type:3,value:\"LOCKED\"},At.READWRITELOCKED={type:3,value:\"READWRITELOCKED\"},At.READONLYLOCKED={type:3,value:\"READONLYLOCKED\"},e.IfcStateEnum=At;class xt{}xt.RIGID_JOINED_MEMBER={type:3,value:\"RIGID_JOINED_MEMBER\"},xt.PIN_JOINED_MEMBER={type:3,value:\"PIN_JOINED_MEMBER\"},xt.CABLE={type:3,value:\"CABLE\"},xt.TENSION_MEMBER={type:3,value:\"TENSION_MEMBER\"},xt.COMPRESSION_MEMBER={type:3,value:\"COMPRESSION_MEMBER\"},xt.USERDEFINED={type:3,value:\"USERDEFINED\"},xt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStructuralCurveTypeEnum=xt;class Ct{}Ct.BENDING_ELEMENT={type:3,value:\"BENDING_ELEMENT\"},Ct.MEMBRANE_ELEMENT={type:3,value:\"MEMBRANE_ELEMENT\"},Ct.SHELL={type:3,value:\"SHELL\"},Ct.USERDEFINED={type:3,value:\"USERDEFINED\"},Ct.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStructuralSurfaceTypeEnum=Ct;class Lt{}Lt.POSITIVE={type:3,value:\"POSITIVE\"},Lt.NEGATIVE={type:3,value:\"NEGATIVE\"},Lt.BOTH={type:3,value:\"BOTH\"},e.IfcSurfaceSide=Lt;class Pt{}Pt.BUMP={type:3,value:\"BUMP\"},Pt.OPACITY={type:3,value:\"OPACITY\"},Pt.REFLECTION={type:3,value:\"REFLECTION\"},Pt.SELFILLUMINATION={type:3,value:\"SELFILLUMINATION\"},Pt.SHININESS={type:3,value:\"SHININESS\"},Pt.SPECULAR={type:3,value:\"SPECULAR\"},Pt.TEXTURE={type:3,value:\"TEXTURE\"},Pt.TRANSPARENCYMAP={type:3,value:\"TRANSPARENCYMAP\"},Pt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSurfaceTextureEnum=Pt;class qt{}qt.CONTACTOR={type:3,value:\"CONTACTOR\"},qt.EMERGENCYSTOP={type:3,value:\"EMERGENCYSTOP\"},qt.STARTER={type:3,value:\"STARTER\"},qt.SWITCHDISCONNECTOR={type:3,value:\"SWITCHDISCONNECTOR\"},qt.TOGGLESWITCH={type:3,value:\"TOGGLESWITCH\"},qt.USERDEFINED={type:3,value:\"USERDEFINED\"},qt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSwitchingDeviceTypeEnum=qt;class _t{}_t.PREFORMED={type:3,value:\"PREFORMED\"},_t.SECTIONAL={type:3,value:\"SECTIONAL\"},_t.EXPANSION={type:3,value:\"EXPANSION\"},_t.PRESSUREVESSEL={type:3,value:\"PRESSUREVESSEL\"},_t.USERDEFINED={type:3,value:\"USERDEFINED\"},_t.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTankTypeEnum=_t;class Mt{}Mt.STRAND={type:3,value:\"STRAND\"},Mt.WIRE={type:3,value:\"WIRE\"},Mt.BAR={type:3,value:\"BAR\"},Mt.COATED={type:3,value:\"COATED\"},Mt.USERDEFINED={type:3,value:\"USERDEFINED\"},Mt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTendonTypeEnum=Mt;class Ht{}Ht.LEFT={type:3,value:\"LEFT\"},Ht.RIGHT={type:3,value:\"RIGHT\"},Ht.UP={type:3,value:\"UP\"},Ht.DOWN={type:3,value:\"DOWN\"},e.IfcTextPath=Ht;class Bt{}Bt.PEOPLE={type:3,value:\"PEOPLE\"},Bt.LIGHTING={type:3,value:\"LIGHTING\"},Bt.EQUIPMENT={type:3,value:\"EQUIPMENT\"},Bt.VENTILATIONINDOORAIR={type:3,value:\"VENTILATIONINDOORAIR\"},Bt.VENTILATIONOUTSIDEAIR={type:3,value:\"VENTILATIONOUTSIDEAIR\"},Bt.RECIRCULATEDAIR={type:3,value:\"RECIRCULATEDAIR\"},Bt.EXHAUSTAIR={type:3,value:\"EXHAUSTAIR\"},Bt.AIREXCHANGERATE={type:3,value:\"AIREXCHANGERATE\"},Bt.DRYBULBTEMPERATURE={type:3,value:\"DRYBULBTEMPERATURE\"},Bt.RELATIVEHUMIDITY={type:3,value:\"RELATIVEHUMIDITY\"},Bt.INFILTRATION={type:3,value:\"INFILTRATION\"},Bt.USERDEFINED={type:3,value:\"USERDEFINED\"},Bt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcThermalLoadSourceEnum=Bt;class Ut{}Ut.SENSIBLE={type:3,value:\"SENSIBLE\"},Ut.LATENT={type:3,value:\"LATENT\"},Ut.RADIANT={type:3,value:\"RADIANT\"},Ut.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcThermalLoadTypeEnum=Ut;class Ft{}Ft.CONTINUOUS={type:3,value:\"CONTINUOUS\"},Ft.DISCRETE={type:3,value:\"DISCRETE\"},Ft.DISCRETEBINARY={type:3,value:\"DISCRETEBINARY\"},Ft.PIECEWISEBINARY={type:3,value:\"PIECEWISEBINARY\"},Ft.PIECEWISECONSTANT={type:3,value:\"PIECEWISECONSTANT\"},Ft.PIECEWISECONTINUOUS={type:3,value:\"PIECEWISECONTINUOUS\"},Ft.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTimeSeriesDataTypeEnum=Ft;class Gt{}Gt.ANNUAL={type:3,value:\"ANNUAL\"},Gt.MONTHLY={type:3,value:\"MONTHLY\"},Gt.WEEKLY={type:3,value:\"WEEKLY\"},Gt.DAILY={type:3,value:\"DAILY\"},Gt.USERDEFINED={type:3,value:\"USERDEFINED\"},Gt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTimeSeriesScheduleTypeEnum=Gt;class Vt{}Vt.CURRENT={type:3,value:\"CURRENT\"},Vt.FREQUENCY={type:3,value:\"FREQUENCY\"},Vt.VOLTAGE={type:3,value:\"VOLTAGE\"},Vt.USERDEFINED={type:3,value:\"USERDEFINED\"},Vt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTransformerTypeEnum=Vt;class jt{}jt.DISCONTINUOUS={type:3,value:\"DISCONTINUOUS\"},jt.CONTINUOUS={type:3,value:\"CONTINUOUS\"},jt.CONTSAMEGRADIENT={type:3,value:\"CONTSAMEGRADIENT\"},jt.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:\"CONTSAMEGRADIENTSAMECURVATURE\"},e.IfcTransitionCode=jt;class zt{}zt.ELEVATOR={type:3,value:\"ELEVATOR\"},zt.ESCALATOR={type:3,value:\"ESCALATOR\"},zt.MOVINGWALKWAY={type:3,value:\"MOVINGWALKWAY\"},zt.USERDEFINED={type:3,value:\"USERDEFINED\"},zt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTransportElementTypeEnum=zt;class Wt{}Wt.CARTESIAN={type:3,value:\"CARTESIAN\"},Wt.PARAMETER={type:3,value:\"PARAMETER\"},Wt.UNSPECIFIED={type:3,value:\"UNSPECIFIED\"},e.IfcTrimmingPreference=Wt;class kt{}kt.FINNED={type:3,value:\"FINNED\"},kt.USERDEFINED={type:3,value:\"USERDEFINED\"},kt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTubeBundleTypeEnum=kt;class Yt{}Yt.ABSORBEDDOSEUNIT={type:3,value:\"ABSORBEDDOSEUNIT\"},Yt.AMOUNTOFSUBSTANCEUNIT={type:3,value:\"AMOUNTOFSUBSTANCEUNIT\"},Yt.AREAUNIT={type:3,value:\"AREAUNIT\"},Yt.DOSEEQUIVALENTUNIT={type:3,value:\"DOSEEQUIVALENTUNIT\"},Yt.ELECTRICCAPACITANCEUNIT={type:3,value:\"ELECTRICCAPACITANCEUNIT\"},Yt.ELECTRICCHARGEUNIT={type:3,value:\"ELECTRICCHARGEUNIT\"},Yt.ELECTRICCONDUCTANCEUNIT={type:3,value:\"ELECTRICCONDUCTANCEUNIT\"},Yt.ELECTRICCURRENTUNIT={type:3,value:\"ELECTRICCURRENTUNIT\"},Yt.ELECTRICRESISTANCEUNIT={type:3,value:\"ELECTRICRESISTANCEUNIT\"},Yt.ELECTRICVOLTAGEUNIT={type:3,value:\"ELECTRICVOLTAGEUNIT\"},Yt.ENERGYUNIT={type:3,value:\"ENERGYUNIT\"},Yt.FORCEUNIT={type:3,value:\"FORCEUNIT\"},Yt.FREQUENCYUNIT={type:3,value:\"FREQUENCYUNIT\"},Yt.ILLUMINANCEUNIT={type:3,value:\"ILLUMINANCEUNIT\"},Yt.INDUCTANCEUNIT={type:3,value:\"INDUCTANCEUNIT\"},Yt.LENGTHUNIT={type:3,value:\"LENGTHUNIT\"},Yt.LUMINOUSFLUXUNIT={type:3,value:\"LUMINOUSFLUXUNIT\"},Yt.LUMINOUSINTENSITYUNIT={type:3,value:\"LUMINOUSINTENSITYUNIT\"},Yt.MAGNETICFLUXDENSITYUNIT={type:3,value:\"MAGNETICFLUXDENSITYUNIT\"},Yt.MAGNETICFLUXUNIT={type:3,value:\"MAGNETICFLUXUNIT\"},Yt.MASSUNIT={type:3,value:\"MASSUNIT\"},Yt.PLANEANGLEUNIT={type:3,value:\"PLANEANGLEUNIT\"},Yt.POWERUNIT={type:3,value:\"POWERUNIT\"},Yt.PRESSUREUNIT={type:3,value:\"PRESSUREUNIT\"},Yt.RADIOACTIVITYUNIT={type:3,value:\"RADIOACTIVITYUNIT\"},Yt.SOLIDANGLEUNIT={type:3,value:\"SOLIDANGLEUNIT\"},Yt.THERMODYNAMICTEMPERATUREUNIT={type:3,value:\"THERMODYNAMICTEMPERATUREUNIT\"},Yt.TIMEUNIT={type:3,value:\"TIMEUNIT\"},Yt.VOLUMEUNIT={type:3,value:\"VOLUMEUNIT\"},Yt.USERDEFINED={type:3,value:\"USERDEFINED\"},e.IfcUnitEnum=Yt;class Xt{}Xt.AIRHANDLER={type:3,value:\"AIRHANDLER\"},Xt.AIRCONDITIONINGUNIT={type:3,value:\"AIRCONDITIONINGUNIT\"},Xt.SPLITSYSTEM={type:3,value:\"SPLITSYSTEM\"},Xt.ROOFTOPUNIT={type:3,value:\"ROOFTOPUNIT\"},Xt.USERDEFINED={type:3,value:\"USERDEFINED\"},Xt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcUnitaryEquipmentTypeEnum=Xt;class Kt{}Kt.AIRRELEASE={type:3,value:\"AIRRELEASE\"},Kt.ANTIVACUUM={type:3,value:\"ANTIVACUUM\"},Kt.CHANGEOVER={type:3,value:\"CHANGEOVER\"},Kt.CHECK={type:3,value:\"CHECK\"},Kt.COMMISSIONING={type:3,value:\"COMMISSIONING\"},Kt.DIVERTING={type:3,value:\"DIVERTING\"},Kt.DRAWOFFCOCK={type:3,value:\"DRAWOFFCOCK\"},Kt.DOUBLECHECK={type:3,value:\"DOUBLECHECK\"},Kt.DOUBLEREGULATING={type:3,value:\"DOUBLEREGULATING\"},Kt.FAUCET={type:3,value:\"FAUCET\"},Kt.FLUSHING={type:3,value:\"FLUSHING\"},Kt.GASCOCK={type:3,value:\"GASCOCK\"},Kt.GASTAP={type:3,value:\"GASTAP\"},Kt.ISOLATING={type:3,value:\"ISOLATING\"},Kt.MIXING={type:3,value:\"MIXING\"},Kt.PRESSUREREDUCING={type:3,value:\"PRESSUREREDUCING\"},Kt.PRESSURERELIEF={type:3,value:\"PRESSURERELIEF\"},Kt.REGULATING={type:3,value:\"REGULATING\"},Kt.SAFETYCUTOFF={type:3,value:\"SAFETYCUTOFF\"},Kt.STEAMTRAP={type:3,value:\"STEAMTRAP\"},Kt.STOPCOCK={type:3,value:\"STOPCOCK\"},Kt.USERDEFINED={type:3,value:\"USERDEFINED\"},Kt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcValveTypeEnum=Kt;class Zt{}Zt.COMPRESSION={type:3,value:\"COMPRESSION\"},Zt.SPRING={type:3,value:\"SPRING\"},Zt.USERDEFINED={type:3,value:\"USERDEFINED\"},Zt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcVibrationIsolatorTypeEnum=Zt;class Qt{}Qt.STANDARD={type:3,value:\"STANDARD\"},Qt.POLYGONAL={type:3,value:\"POLYGONAL\"},Qt.SHEAR={type:3,value:\"SHEAR\"},Qt.ELEMENTEDWALL={type:3,value:\"ELEMENTEDWALL\"},Qt.PLUMBINGWALL={type:3,value:\"PLUMBINGWALL\"},Qt.USERDEFINED={type:3,value:\"USERDEFINED\"},Qt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWallTypeEnum=Qt;class Jt{}Jt.FLOORTRAP={type:3,value:\"FLOORTRAP\"},Jt.FLOORWASTE={type:3,value:\"FLOORWASTE\"},Jt.GULLYSUMP={type:3,value:\"GULLYSUMP\"},Jt.GULLYTRAP={type:3,value:\"GULLYTRAP\"},Jt.GREASEINTERCEPTOR={type:3,value:\"GREASEINTERCEPTOR\"},Jt.OILINTERCEPTOR={type:3,value:\"OILINTERCEPTOR\"},Jt.PETROLINTERCEPTOR={type:3,value:\"PETROLINTERCEPTOR\"},Jt.ROOFDRAIN={type:3,value:\"ROOFDRAIN\"},Jt.WASTEDISPOSALUNIT={type:3,value:\"WASTEDISPOSALUNIT\"},Jt.WASTETRAP={type:3,value:\"WASTETRAP\"},Jt.USERDEFINED={type:3,value:\"USERDEFINED\"},Jt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWasteTerminalTypeEnum=Jt;class $t{}$t.SIDEHUNGRIGHTHAND={type:3,value:\"SIDEHUNGRIGHTHAND\"},$t.SIDEHUNGLEFTHAND={type:3,value:\"SIDEHUNGLEFTHAND\"},$t.TILTANDTURNRIGHTHAND={type:3,value:\"TILTANDTURNRIGHTHAND\"},$t.TILTANDTURNLEFTHAND={type:3,value:\"TILTANDTURNLEFTHAND\"},$t.TOPHUNG={type:3,value:\"TOPHUNG\"},$t.BOTTOMHUNG={type:3,value:\"BOTTOMHUNG\"},$t.PIVOTHORIZONTAL={type:3,value:\"PIVOTHORIZONTAL\"},$t.PIVOTVERTICAL={type:3,value:\"PIVOTVERTICAL\"},$t.SLIDINGHORIZONTAL={type:3,value:\"SLIDINGHORIZONTAL\"},$t.SLIDINGVERTICAL={type:3,value:\"SLIDINGVERTICAL\"},$t.REMOVABLECASEMENT={type:3,value:\"REMOVABLECASEMENT\"},$t.FIXEDCASEMENT={type:3,value:\"FIXEDCASEMENT\"},$t.OTHEROPERATION={type:3,value:\"OTHEROPERATION\"},$t.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWindowPanelOperationEnum=$t;class en{}en.LEFT={type:3,value:\"LEFT\"},en.MIDDLE={type:3,value:\"MIDDLE\"},en.RIGHT={type:3,value:\"RIGHT\"},en.BOTTOM={type:3,value:\"BOTTOM\"},en.TOP={type:3,value:\"TOP\"},en.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWindowPanelPositionEnum=en;class tn{}tn.ALUMINIUM={type:3,value:\"ALUMINIUM\"},tn.HIGH_GRADE_STEEL={type:3,value:\"HIGH_GRADE_STEEL\"},tn.STEEL={type:3,value:\"STEEL\"},tn.WOOD={type:3,value:\"WOOD\"},tn.ALUMINIUM_WOOD={type:3,value:\"ALUMINIUM_WOOD\"},tn.PLASTIC={type:3,value:\"PLASTIC\"},tn.OTHER_CONSTRUCTION={type:3,value:\"OTHER_CONSTRUCTION\"},tn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWindowStyleConstructionEnum=tn;class nn{}nn.SINGLE_PANEL={type:3,value:\"SINGLE_PANEL\"},nn.DOUBLE_PANEL_VERTICAL={type:3,value:\"DOUBLE_PANEL_VERTICAL\"},nn.DOUBLE_PANEL_HORIZONTAL={type:3,value:\"DOUBLE_PANEL_HORIZONTAL\"},nn.TRIPLE_PANEL_VERTICAL={type:3,value:\"TRIPLE_PANEL_VERTICAL\"},nn.TRIPLE_PANEL_BOTTOM={type:3,value:\"TRIPLE_PANEL_BOTTOM\"},nn.TRIPLE_PANEL_TOP={type:3,value:\"TRIPLE_PANEL_TOP\"},nn.TRIPLE_PANEL_LEFT={type:3,value:\"TRIPLE_PANEL_LEFT\"},nn.TRIPLE_PANEL_RIGHT={type:3,value:\"TRIPLE_PANEL_RIGHT\"},nn.TRIPLE_PANEL_HORIZONTAL={type:3,value:\"TRIPLE_PANEL_HORIZONTAL\"},nn.USERDEFINED={type:3,value:\"USERDEFINED\"},nn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWindowStyleOperationEnum=nn;class sn{}sn.ACTUAL={type:3,value:\"ACTUAL\"},sn.BASELINE={type:3,value:\"BASELINE\"},sn.PLANNED={type:3,value:\"PLANNED\"},sn.USERDEFINED={type:3,value:\"USERDEFINED\"},sn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWorkControlTypeEnum=sn,e.IfcActorRole=class extends Nm{constructor(e,t,n,s){super(e),this.Role=t,this.UserDefinedRole=n,this.Description=s,this.type=3630933823}};class an extends Nm{constructor(e,t,n,s){super(e),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.type=618182010}}e.IfcAddress=an,e.IfcApplication=class extends Nm{constructor(e,t,n,s,i){super(e),this.ApplicationDeveloper=t,this.Version=n,this.ApplicationFullName=s,this.ApplicationIdentifier=i,this.type=639542469}};class ln extends Nm{constructor(e,t,n,s,i,a,l){super(e),this.Name=t,this.Description=n,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=a,this.FixedUntilDate=l,this.type=411424972}}e.IfcAppliedValue=ln,e.IfcAppliedValueRelationship=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.ComponentOfTotal=t,this.Components=n,this.ArithmeticOperator=s,this.Name=i,this.Description=a,this.type=1110488051}},e.IfcApproval=class extends Nm{constructor(e,t,n,s,i,a,l,r){super(e),this.Description=t,this.ApprovalDateTime=n,this.ApprovalStatus=s,this.ApprovalLevel=i,this.ApprovalQualifier=a,this.Name=l,this.Identifier=r,this.type=130549933}},e.IfcApprovalActorRelationship=class extends Nm{constructor(e,t,n,s){super(e),this.Actor=t,this.Approval=n,this.Role=s,this.type=2080292479}},e.IfcApprovalPropertyRelationship=class extends Nm{constructor(e,t,n){super(e),this.ApprovedProperties=t,this.Approval=n,this.type=390851274}},e.IfcApprovalRelationship=class extends Nm{constructor(e,t,n,s,i){super(e),this.RelatedApproval=t,this.RelatingApproval=n,this.Description=s,this.Name=i,this.type=3869604511}};class rn extends Nm{constructor(e,t){super(e),this.Name=t,this.type=4037036970}}e.IfcBoundaryCondition=rn,e.IfcBoundaryEdgeCondition=class extends rn{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.LinearStiffnessByLengthX=n,this.LinearStiffnessByLengthY=s,this.LinearStiffnessByLengthZ=i,this.RotationalStiffnessByLengthX=a,this.RotationalStiffnessByLengthY=l,this.RotationalStiffnessByLengthZ=r,this.type=1560379544}},e.IfcBoundaryFaceCondition=class extends rn{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.LinearStiffnessByAreaX=n,this.LinearStiffnessByAreaY=s,this.LinearStiffnessByAreaZ=i,this.type=3367102660}};class on extends rn{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.LinearStiffnessX=n,this.LinearStiffnessY=s,this.LinearStiffnessZ=i,this.RotationalStiffnessX=a,this.RotationalStiffnessY=l,this.RotationalStiffnessZ=r,this.type=1387855156}}e.IfcBoundaryNodeCondition=on,e.IfcBoundaryNodeConditionWarping=class extends on{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.LinearStiffnessX=n,this.LinearStiffnessY=s,this.LinearStiffnessZ=i,this.RotationalStiffnessX=a,this.RotationalStiffnessY=l,this.RotationalStiffnessZ=r,this.WarpingStiffness=o,this.type=2069777674}},e.IfcCalendarDate=class extends Nm{constructor(e,t,n,s){super(e),this.DayComponent=t,this.MonthComponent=n,this.YearComponent=s,this.type=622194075}},e.IfcClassification=class extends Nm{constructor(e,t,n,s,i){super(e),this.Source=t,this.Edition=n,this.EditionDate=s,this.Name=i,this.type=747523909}},e.IfcClassificationItem=class extends Nm{constructor(e,t,n,s){super(e),this.Notation=t,this.ItemOf=n,this.Title=s,this.type=1767535486}},e.IfcClassificationItemRelationship=class extends Nm{constructor(e,t,n){super(e),this.RelatingItem=t,this.RelatedItems=n,this.type=1098599126}},e.IfcClassificationNotation=class extends Nm{constructor(e,t){super(e),this.NotationFacets=t,this.type=938368621}},e.IfcClassificationNotationFacet=class extends Nm{constructor(e,t){super(e),this.NotationValue=t,this.type=3639012971}};class cn extends Nm{constructor(e,t){super(e),this.Name=t,this.type=3264961684}}e.IfcColourSpecification=cn;class un extends Nm{constructor(e){super(e),this.type=2859738748}}e.IfcConnectionGeometry=un;class pn extends un{constructor(e,t,n){super(e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=n,this.type=2614616156}}e.IfcConnectionPointGeometry=pn,e.IfcConnectionPortGeometry=class extends un{constructor(e,t,n,s){super(e),this.LocationAtRelatingElement=t,this.LocationAtRelatedElement=n,this.ProfileOfPort=s,this.type=4257277454}},e.IfcConnectionSurfaceGeometry=class extends un{constructor(e,t,n){super(e),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=n,this.type=2732653382}};class hn extends Nm{constructor(e,t,n,s,i,a,l,r){super(e),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.type=1959218052}}e.IfcConstraint=hn,e.IfcConstraintAggregationRelationship=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.Name=t,this.Description=n,this.RelatingConstraint=s,this.RelatedConstraints=i,this.LogicalAggregator=a,this.type=1658513725}},e.IfcConstraintClassificationRelationship=class extends Nm{constructor(e,t,n){super(e),this.ClassifiedConstraint=t,this.RelatedClassifications=n,this.type=613356794}},e.IfcConstraintRelationship=class extends Nm{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.RelatingConstraint=s,this.RelatedConstraints=i,this.type=347226245}},e.IfcCoordinatedUniversalTimeOffset=class extends Nm{constructor(e,t,n,s){super(e),this.HourOffset=t,this.MinuteOffset=n,this.Sense=s,this.type=1065062679}},e.IfcCostValue=class extends ln{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.Name=t,this.Description=n,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=a,this.FixedUntilDate=l,this.CostType=r,this.Condition=o,this.type=602808272}},e.IfcCurrencyRelationship=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.RelatingMonetaryUnit=t,this.RelatedMonetaryUnit=n,this.ExchangeRate=s,this.RateDateTime=i,this.RateSource=a,this.type=539742890}},e.IfcCurveStyleFont=class extends Nm{constructor(e,t,n){super(e),this.Name=t,this.PatternList=n,this.type=1105321065}},e.IfcCurveStyleFontAndScaling=class extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.CurveFont=n,this.CurveFontScaling=s,this.type=2367409068}},e.IfcCurveStyleFontPattern=class extends Nm{constructor(e,t,n){super(e),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=n,this.type=3510044353}},e.IfcDateAndTime=class extends Nm{constructor(e,t,n){super(e),this.DateComponent=t,this.TimeComponent=n,this.type=1072939445}},e.IfcDerivedUnit=class extends Nm{constructor(e,t,n,s){super(e),this.Elements=t,this.UnitType=n,this.UserDefinedType=s,this.type=1765591967}},e.IfcDerivedUnitElement=class extends Nm{constructor(e,t,n){super(e),this.Unit=t,this.Exponent=n,this.type=1045800335}},e.IfcDimensionalExponents=class extends Nm{constructor(e,t,n,s,i,a,l,r){super(e),this.LengthExponent=t,this.MassExponent=n,this.TimeExponent=s,this.ElectricCurrentExponent=i,this.ThermodynamicTemperatureExponent=a,this.AmountOfSubstanceExponent=l,this.LuminousIntensityExponent=r,this.type=2949456006}},e.IfcDocumentElectronicFormat=class extends Nm{constructor(e,t,n,s){super(e),this.FileExtension=t,this.MimeContentType=n,this.MimeSubtype=s,this.type=1376555844}},e.IfcDocumentInformation=class extends Nm{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e),this.DocumentId=t,this.Name=n,this.Description=s,this.DocumentReferences=i,this.Purpose=a,this.IntendedUse=l,this.Scope=r,this.Revision=o,this.DocumentOwner=c,this.Editors=u,this.CreationTime=p,this.LastRevisionTime=h,this.ElectronicFormat=d,this.ValidFrom=f,this.ValidUntil=I,this.Confidentiality=m,this.Status=y,this.type=1154170062}},e.IfcDocumentInformationRelationship=class extends Nm{constructor(e,t,n,s){super(e),this.RelatingDocument=t,this.RelatedDocuments=n,this.RelationshipType=s,this.type=770865208}};class dn extends Nm{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.RelatingDraughtingCallout=s,this.RelatedDraughtingCallout=i,this.type=3796139169}}e.IfcDraughtingCalloutRelationship=dn,e.IfcEnvironmentalImpactValue=class extends ln{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.Name=t,this.Description=n,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=a,this.FixedUntilDate=l,this.ImpactType=r,this.Category=o,this.UserDefinedCategory=c,this.type=1648886627}};class fn extends Nm{constructor(e,t,n,s){super(e),this.Location=t,this.ItemReference=n,this.Name=s,this.type=3200245327}}e.IfcExternalReference=fn,e.IfcExternallyDefinedHatchStyle=class extends fn{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.ItemReference=n,this.Name=s,this.type=2242383968}},e.IfcExternallyDefinedSurfaceStyle=class extends fn{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.ItemReference=n,this.Name=s,this.type=1040185647}},e.IfcExternallyDefinedSymbol=class extends fn{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.ItemReference=n,this.Name=s,this.type=3207319532}},e.IfcExternallyDefinedTextFont=class extends fn{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.ItemReference=n,this.Name=s,this.type=3548104201}},e.IfcGridAxis=class extends Nm{constructor(e,t,n,s){super(e),this.AxisTag=t,this.AxisCurve=n,this.SameSense=s,this.type=852622518}},e.IfcIrregularTimeSeriesValue=class extends Nm{constructor(e,t,n){super(e),this.TimeStamp=t,this.ListValues=n,this.type=3020489413}},e.IfcLibraryInformation=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.Name=t,this.Version=n,this.Publisher=s,this.VersionDate=i,this.LibraryReference=a,this.type=2655187982}},e.IfcLibraryReference=class extends fn{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.ItemReference=n,this.Name=s,this.type=3452421091}},e.IfcLightDistributionData=class extends Nm{constructor(e,t,n,s){super(e),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=n,this.LuminousIntensity=s,this.type=4162380809}},e.IfcLightIntensityDistribution=class extends Nm{constructor(e,t,n){super(e),this.LightDistributionCurve=t,this.DistributionData=n,this.type=1566485204}},e.IfcLocalTime=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.HourComponent=t,this.MinuteComponent=n,this.SecondComponent=s,this.Zone=i,this.DaylightSavingOffset=a,this.type=30780891}},e.IfcMaterial=class extends Nm{constructor(e,t){super(e),this.Name=t,this.type=1838606355}},e.IfcMaterialClassificationRelationship=class extends Nm{constructor(e,t,n){super(e),this.MaterialClassifications=t,this.ClassifiedMaterial=n,this.type=1847130766}},e.IfcMaterialLayer=class extends Nm{constructor(e,t,n,s){super(e),this.Material=t,this.LayerThickness=n,this.IsVentilated=s,this.type=248100487}},e.IfcMaterialLayerSet=class extends Nm{constructor(e,t,n){super(e),this.MaterialLayers=t,this.LayerSetName=n,this.type=3303938423}},e.IfcMaterialLayerSetUsage=class extends Nm{constructor(e,t,n,s,i){super(e),this.ForLayerSet=t,this.LayerSetDirection=n,this.DirectionSense=s,this.OffsetFromReferenceLine=i,this.type=1303795690}},e.IfcMaterialList=class extends Nm{constructor(e,t){super(e),this.Materials=t,this.type=2199411900}};class In extends Nm{constructor(e,t){super(e),this.Material=t,this.type=3265635763}}e.IfcMaterialProperties=In,e.IfcMeasureWithUnit=class extends Nm{constructor(e,t,n){super(e),this.ValueComponent=t,this.UnitComponent=n,this.type=2597039031}};class mn extends In{constructor(e,t,n,s,i,a,l){super(e,t),this.Material=t,this.DynamicViscosity=n,this.YoungModulus=s,this.ShearModulus=i,this.PoissonRatio=a,this.ThermalExpansionCoefficient=l,this.type=4256014907}}e.IfcMechanicalMaterialProperties=mn,e.IfcMechanicalSteelMaterialProperties=class extends mn{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l),this.Material=t,this.DynamicViscosity=n,this.YoungModulus=s,this.ShearModulus=i,this.PoissonRatio=a,this.ThermalExpansionCoefficient=l,this.YieldStress=r,this.UltimateStress=o,this.UltimateStrain=c,this.HardeningModule=u,this.ProportionalStress=p,this.PlasticStrain=h,this.Relaxations=d,this.type=677618848}},e.IfcMetric=class extends hn{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.Benchmark=o,this.ValueSource=c,this.DataValue=u,this.type=3368373690}},e.IfcMonetaryUnit=class extends Nm{constructor(e,t){super(e),this.Currency=t,this.type=2706619895}};class yn extends Nm{constructor(e,t,n){super(e),this.Dimensions=t,this.UnitType=n,this.type=1918398963}}e.IfcNamedUnit=yn;class vn extends Nm{constructor(e){super(e),this.type=3701648758}}e.IfcObjectPlacement=vn,e.IfcObjective=class extends hn{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.BenchmarkValues=o,this.ResultValues=c,this.ObjectiveQualifier=u,this.UserDefinedQualifier=p,this.type=2251480897}},e.IfcOpticalMaterialProperties=class extends In{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t),this.Material=t,this.VisibleTransmittance=n,this.SolarTransmittance=s,this.ThermalIrTransmittance=i,this.ThermalIrEmissivityBack=a,this.ThermalIrEmissivityFront=l,this.VisibleReflectanceBack=r,this.VisibleReflectanceFront=o,this.SolarReflectanceFront=c,this.SolarReflectanceBack=u,this.type=1227763645}},e.IfcOrganization=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.Id=t,this.Name=n,this.Description=s,this.Roles=i,this.Addresses=a,this.type=4251960020}},e.IfcOrganizationRelationship=class extends Nm{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.RelatingOrganization=s,this.RelatedOrganizations=i,this.type=1411181986}},e.IfcOwnerHistory=class extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.OwningUser=t,this.OwningApplication=n,this.State=s,this.ChangeAction=i,this.LastModifiedDate=a,this.LastModifyingUser=l,this.LastModifyingApplication=r,this.CreationDate=o,this.type=1207048766}},e.IfcPerson=class extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.Id=t,this.FamilyName=n,this.GivenName=s,this.MiddleNames=i,this.PrefixTitles=a,this.SuffixTitles=l,this.Roles=r,this.Addresses=o,this.type=2077209135}},e.IfcPersonAndOrganization=class extends Nm{constructor(e,t,n,s){super(e),this.ThePerson=t,this.TheOrganization=n,this.Roles=s,this.type=101040310}};class wn extends Nm{constructor(e,t,n){super(e),this.Name=t,this.Description=n,this.type=2483315170}}e.IfcPhysicalQuantity=wn;class Tn extends wn{constructor(e,t,n,s){super(e,t,n),this.Name=t,this.Description=n,this.Unit=s,this.type=2226359599}}e.IfcPhysicalSimpleQuantity=Tn,e.IfcPostalAddress=class extends an{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.InternalLocation=i,this.AddressLines=a,this.PostalBox=l,this.Town=r,this.Region=o,this.PostalCode=c,this.Country=u,this.type=3355820592}};class En extends Nm{constructor(e,t){super(e),this.Name=t,this.type=3727388367}}e.IfcPreDefinedItem=En;class gn extends En{constructor(e,t){super(e,t),this.Name=t,this.type=990879717}}e.IfcPreDefinedSymbol=gn,e.IfcPreDefinedTerminatorSymbol=class extends gn{constructor(e,t){super(e,t),this.Name=t,this.type=3213052703}};class Rn extends En{constructor(e,t){super(e,t),this.Name=t,this.type=1775413392}}e.IfcPreDefinedTextFont=Rn;class Dn extends Nm{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.AssignedItems=s,this.Identifier=i,this.type=2022622350}}e.IfcPresentationLayerAssignment=Dn,e.IfcPresentationLayerWithStyle=class extends Dn{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i),this.Name=t,this.Description=n,this.AssignedItems=s,this.Identifier=i,this.LayerOn=a,this.LayerFrozen=l,this.LayerBlocked=r,this.LayerStyles=o,this.type=1304840413}};class Sn extends Nm{constructor(e,t){super(e),this.Name=t,this.type=3119450353}}e.IfcPresentationStyle=Sn,e.IfcPresentationStyleAssignment=class extends Nm{constructor(e,t){super(e),this.Styles=t,this.type=2417041796}};class bn extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.Representations=s,this.type=2095639259}}e.IfcProductRepresentation=bn,e.IfcProductsOfCombustionProperties=class extends In{constructor(e,t,n,s,i,a){super(e,t),this.Material=t,this.SpecificHeatCapacity=n,this.N20Content=s,this.COContent=i,this.CO2Content=a,this.type=2267347899}};class Nn extends Nm{constructor(e,t,n){super(e),this.ProfileType=t,this.ProfileName=n,this.type=3958567839}}e.IfcProfileDef=Nn;class On extends Nm{constructor(e,t,n){super(e),this.ProfileName=t,this.ProfileDefinition=n,this.type=2802850158}}e.IfcProfileProperties=On;class An extends Nm{constructor(e,t,n){super(e),this.Name=t,this.Description=n,this.type=2598011224}}e.IfcProperty=An,e.IfcPropertyConstraintRelationship=class extends Nm{constructor(e,t,n,s,i){super(e),this.RelatingConstraint=t,this.RelatedProperties=n,this.Name=s,this.Description=i,this.type=3896028662}},e.IfcPropertyDependencyRelationship=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.DependingProperty=t,this.DependantProperty=n,this.Name=s,this.Description=i,this.Expression=a,this.type=148025276}},e.IfcPropertyEnumeration=class extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.EnumerationValues=n,this.Unit=s,this.type=3710013099}},e.IfcQuantityArea=class extends Tn{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.AreaValue=i,this.type=2044713172}},e.IfcQuantityCount=class extends Tn{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.CountValue=i,this.type=2093928680}},e.IfcQuantityLength=class extends Tn{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.LengthValue=i,this.type=931644368}},e.IfcQuantityTime=class extends Tn{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.TimeValue=i,this.type=3252649465}},e.IfcQuantityVolume=class extends Tn{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.VolumeValue=i,this.type=2405470396}},e.IfcQuantityWeight=class extends Tn{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.WeightValue=i,this.type=825690147}},e.IfcReferencesValueDocument=class extends Nm{constructor(e,t,n,s,i){super(e),this.ReferencedDocument=t,this.ReferencingValues=n,this.Name=s,this.Description=i,this.type=2692823254}},e.IfcReinforcementBarProperties=class extends Nm{constructor(e,t,n,s,i,a,l){super(e),this.TotalCrossSectionArea=t,this.SteelGrade=n,this.BarSurface=s,this.EffectiveDepth=i,this.NominalBarDiameter=a,this.BarCount=l,this.type=1580146022}},e.IfcRelaxation=class extends Nm{constructor(e,t,n){super(e),this.RelaxationValue=t,this.InitialStress=n,this.type=1222501353}};class xn extends Nm{constructor(e,t,n,s,i){super(e),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=1076942058}}e.IfcRepresentation=xn;class Cn extends Nm{constructor(e,t,n){super(e),this.ContextIdentifier=t,this.ContextType=n,this.type=3377609919}}e.IfcRepresentationContext=Cn;class Ln extends Nm{constructor(e){super(e),this.type=3008791417}}e.IfcRepresentationItem=Ln,e.IfcRepresentationMap=class extends Nm{constructor(e,t,n){super(e),this.MappingOrigin=t,this.MappedRepresentation=n,this.type=1660063152}},e.IfcRibPlateProfileProperties=class extends On{constructor(e,t,n,s,i,a,l,r){super(e,t,n),this.ProfileName=t,this.ProfileDefinition=n,this.Thickness=s,this.RibHeight=i,this.RibWidth=a,this.RibSpacing=l,this.Direction=r,this.type=3679540991}};class Pn extends Nm{constructor(e,t,n,s,i){super(e),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=2341007311}}e.IfcRoot=Pn,e.IfcSIUnit=class extends yn{constructor(e,t,n,s){super(e,new bm(0),t),this.UnitType=t,this.Prefix=n,this.Name=s,this.type=448429030}},e.IfcSectionProperties=class extends Nm{constructor(e,t,n,s){super(e),this.SectionType=t,this.StartProfile=n,this.EndProfile=s,this.type=2042790032}},e.IfcSectionReinforcementProperties=class extends Nm{constructor(e,t,n,s,i,a,l){super(e),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=n,this.TransversePosition=s,this.ReinforcementRole=i,this.SectionDefinition=a,this.CrossSectionReinforcementDefinitions=l,this.type=4165799628}},e.IfcShapeAspect=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.ShapeRepresentations=t,this.Name=n,this.Description=s,this.ProductDefinitional=i,this.PartOfProductDefinitionShape=a,this.type=867548509}};class qn extends xn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=3982875396}}e.IfcShapeModel=qn,e.IfcShapeRepresentation=class extends qn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=4240577450}};class _n extends An{constructor(e,t,n){super(e,t,n),this.Name=t,this.Description=n,this.type=3692461612}}e.IfcSimpleProperty=_n;class Mn extends Nm{constructor(e,t){super(e),this.Name=t,this.type=2273995522}}e.IfcStructuralConnectionCondition=Mn;class Hn extends Nm{constructor(e,t){super(e),this.Name=t,this.type=2162789131}}e.IfcStructuralLoad=Hn;class Bn extends Hn{constructor(e,t){super(e,t),this.Name=t,this.type=2525727697}}e.IfcStructuralLoadStatic=Bn,e.IfcStructuralLoadTemperature=class extends Bn{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.DeltaT_Constant=n,this.DeltaT_Y=s,this.DeltaT_Z=i,this.type=3408363356}};class Un extends xn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=2830218821}}e.IfcStyleModel=Un;class Fn extends Ln{constructor(e,t,n,s){super(e),this.Item=t,this.Styles=n,this.Name=s,this.type=3958052878}}e.IfcStyledItem=Fn,e.IfcStyledRepresentation=class extends Un{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=3049322572}},e.IfcSurfaceStyle=class extends Sn{constructor(e,t,n,s){super(e,t),this.Name=t,this.Side=n,this.Styles=s,this.type=1300840506}},e.IfcSurfaceStyleLighting=class extends Nm{constructor(e,t,n,s,i){super(e),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=n,this.TransmissionColour=s,this.ReflectanceColour=i,this.type=3303107099}},e.IfcSurfaceStyleRefraction=class extends Nm{constructor(e,t,n){super(e),this.RefractionIndex=t,this.DispersionFactor=n,this.type=1607154358}};class Gn extends Nm{constructor(e,t){super(e),this.SurfaceColour=t,this.type=846575682}}e.IfcSurfaceStyleShading=Gn,e.IfcSurfaceStyleWithTextures=class extends Nm{constructor(e,t){super(e),this.Textures=t,this.type=1351298697}};class Vn extends Nm{constructor(e,t,n,s,i){super(e),this.RepeatS=t,this.RepeatT=n,this.TextureType=s,this.TextureTransform=i,this.type=626085974}}e.IfcSurfaceTexture=Vn,e.IfcSymbolStyle=class extends Sn{constructor(e,t,n){super(e,t),this.Name=t,this.StyleOfSymbol=n,this.type=1290481447}},e.IfcTable=class extends Nm{constructor(e,t,n){super(e),this.Name=t,this.Rows=n,this.type=985171141}},e.IfcTableRow=class extends Nm{constructor(e,t,n){super(e),this.RowCells=t,this.IsHeading=n,this.type=531007025}},e.IfcTelecomAddress=class extends an{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.TelephoneNumbers=i,this.FacsimileNumbers=a,this.PagerNumber=l,this.ElectronicMailAddresses=r,this.WWWHomePageURL=o,this.type=912023232}},e.IfcTextStyle=class extends Sn{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.TextCharacterAppearance=n,this.TextStyle=s,this.TextFontStyle=i,this.type=1447204868}},e.IfcTextStyleFontModel=class extends Rn{constructor(e,t,n,s,i,a,l){super(e,t),this.Name=t,this.FontFamily=n,this.FontStyle=s,this.FontVariant=i,this.FontWeight=a,this.FontSize=l,this.type=1983826977}},e.IfcTextStyleForDefinedFont=class extends Nm{constructor(e,t,n){super(e),this.Colour=t,this.BackgroundColour=n,this.type=2636378356}},e.IfcTextStyleTextModel=class extends Nm{constructor(e,t,n,s,i,a,l,r){super(e),this.TextIndent=t,this.TextAlign=n,this.TextDecoration=s,this.LetterSpacing=i,this.WordSpacing=a,this.TextTransform=l,this.LineHeight=r,this.type=1640371178}},e.IfcTextStyleWithBoxCharacteristics=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.BoxHeight=t,this.BoxWidth=n,this.BoxSlantAngle=s,this.BoxRotateAngle=i,this.CharacterSpacing=a,this.type=1484833681}};class jn extends Nm{constructor(e){super(e),this.type=280115917}}e.IfcTextureCoordinate=jn,e.IfcTextureCoordinateGenerator=class extends jn{constructor(e,t,n){super(e),this.Mode=t,this.Parameter=n,this.type=1742049831}},e.IfcTextureMap=class extends jn{constructor(e,t){super(e),this.TextureMaps=t,this.type=2552916305}},e.IfcTextureVertex=class extends Nm{constructor(e,t){super(e),this.Coordinates=t,this.type=1210645708}},e.IfcThermalMaterialProperties=class extends In{constructor(e,t,n,s,i,a){super(e,t),this.Material=t,this.SpecificHeatCapacity=n,this.BoilingPoint=s,this.FreezingPoint=i,this.ThermalConductivity=a,this.type=3317419933}};class zn extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.type=3101149627}}e.IfcTimeSeries=zn,e.IfcTimeSeriesReferenceRelationship=class extends Nm{constructor(e,t,n){super(e),this.ReferencedTimeSeries=t,this.TimeSeriesReferences=n,this.type=1718945513}},e.IfcTimeSeriesValue=class extends Nm{constructor(e,t){super(e),this.ListValues=t,this.type=581633288}};class Wn extends Ln{constructor(e){super(e),this.type=1377556343}}e.IfcTopologicalRepresentationItem=Wn,e.IfcTopologyRepresentation=class extends qn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=1735638870}},e.IfcUnitAssignment=class extends Nm{constructor(e,t){super(e),this.Units=t,this.type=180925521}};class kn extends Wn{constructor(e){super(e),this.type=2799835756}}e.IfcVertex=kn,e.IfcVertexBasedTextureMap=class extends Nm{constructor(e,t,n){super(e),this.TextureVertices=t,this.TexturePoints=n,this.type=3304826586}},e.IfcVertexPoint=class extends kn{constructor(e,t){super(e),this.VertexGeometry=t,this.type=1907098498}},e.IfcVirtualGridIntersection=class extends Nm{constructor(e,t,n){super(e),this.IntersectingAxes=t,this.OffsetDistances=n,this.type=891718957}},e.IfcWaterProperties=class extends In{constructor(e,t,n,s,i,a,l,r,o){super(e,t),this.Material=t,this.IsPotable=n,this.Hardness=s,this.AlkalinityConcentration=i,this.AcidityConcentration=a,this.ImpuritiesContent=l,this.PHLevel=r,this.DissolvedSolidsContent=o,this.type=1065908215}};class Yn extends Fn{constructor(e,t,n,s){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.type=2442683028}}e.IfcAnnotationOccurrence=Yn,e.IfcAnnotationSurfaceOccurrence=class extends Yn{constructor(e,t,n,s){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.type=962685235}};class Xn extends Yn{constructor(e,t,n,s){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.type=3612888222}}e.IfcAnnotationSymbolOccurrence=Xn,e.IfcAnnotationTextOccurrence=class extends Yn{constructor(e,t,n,s){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.type=2297822566}};class Kn extends Nn{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.OuterCurve=s,this.type=3798115385}}e.IfcArbitraryClosedProfileDef=Kn;class Zn extends Nn{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Curve=s,this.type=1310608509}}e.IfcArbitraryOpenProfileDef=Zn,e.IfcArbitraryProfileDefWithVoids=class extends Kn{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.OuterCurve=s,this.InnerCurves=i,this.type=2705031697}},e.IfcBlobTexture=class extends Vn{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.RepeatS=t,this.RepeatT=n,this.TextureType=s,this.TextureTransform=i,this.RasterFormat=a,this.RasterCode=l,this.type=616511568}},e.IfcCenterLineProfileDef=class extends Zn{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Curve=s,this.Thickness=i,this.type=3150382593}},e.IfcClassificationReference=class extends fn{constructor(e,t,n,s,i){super(e,t,n,s),this.Location=t,this.ItemReference=n,this.Name=s,this.ReferencedSource=i,this.type=647927063}},e.IfcColourRgb=class extends cn{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.Red=n,this.Green=s,this.Blue=i,this.type=776857604}},e.IfcComplexProperty=class extends An{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.UsageName=s,this.HasProperties=i,this.type=2542286263}},e.IfcCompositeProfileDef=class extends Nn{constructor(e,t,n,s,i){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Profiles=s,this.Label=i,this.type=1485152156}};class Qn extends Wn{constructor(e,t){super(e),this.CfsFaces=t,this.type=370225590}}e.IfcConnectedFaceSet=Qn,e.IfcConnectionCurveGeometry=class extends un{constructor(e,t,n){super(e),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=n,this.type=1981873012}},e.IfcConnectionPointEccentricity=class extends pn{constructor(e,t,n,s,i,a){super(e,t,n),this.PointOnRelatingElement=t,this.PointOnRelatedElement=n,this.EccentricityInX=s,this.EccentricityInY=i,this.EccentricityInZ=a,this.type=45288368}},e.IfcContextDependentUnit=class extends yn{constructor(e,t,n,s){super(e,t,n),this.Dimensions=t,this.UnitType=n,this.Name=s,this.type=3050246964}},e.IfcConversionBasedUnit=class extends yn{constructor(e,t,n,s,i){super(e,t,n),this.Dimensions=t,this.UnitType=n,this.Name=s,this.ConversionFactor=i,this.type=2889183280}},e.IfcCurveStyle=class extends Sn{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.CurveFont=n,this.CurveWidth=s,this.CurveColour=i,this.type=3800577675}},e.IfcDerivedProfileDef=class extends Nn{constructor(e,t,n,s,i,a){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.ParentProfile=s,this.Operator=i,this.Label=a,this.type=3632507154}},e.IfcDimensionCalloutRelationship=class extends dn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.Name=t,this.Description=n,this.RelatingDraughtingCallout=s,this.RelatedDraughtingCallout=i,this.type=2273265877}},e.IfcDimensionPair=class extends dn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.Name=t,this.Description=n,this.RelatingDraughtingCallout=s,this.RelatedDraughtingCallout=i,this.type=1694125774}},e.IfcDocumentReference=class extends fn{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.ItemReference=n,this.Name=s,this.type=3732053477}},e.IfcDraughtingPreDefinedTextFont=class extends Rn{constructor(e,t){super(e,t),this.Name=t,this.type=4170525392}};class Jn extends Wn{constructor(e,t,n){super(e),this.EdgeStart=t,this.EdgeEnd=n,this.type=3900360178}}e.IfcEdge=Jn,e.IfcEdgeCurve=class extends Jn{constructor(e,t,n,s,i){super(e,t,n),this.EdgeStart=t,this.EdgeEnd=n,this.EdgeGeometry=s,this.SameSense=i,this.type=476780140}},e.IfcExtendedMaterialProperties=class extends In{constructor(e,t,n,s,i){super(e,t),this.Material=t,this.ExtendedProperties=n,this.Description=s,this.Name=i,this.type=1860660968}};class $n extends Wn{constructor(e,t){super(e),this.Bounds=t,this.type=2556980723}}e.IfcFace=$n;class es extends Wn{constructor(e,t,n){super(e),this.Bound=t,this.Orientation=n,this.type=1809719519}}e.IfcFaceBound=es,e.IfcFaceOuterBound=class extends es{constructor(e,t,n){super(e,t,n),this.Bound=t,this.Orientation=n,this.type=803316827}},e.IfcFaceSurface=class extends $n{constructor(e,t,n,s){super(e,t),this.Bounds=t,this.FaceSurface=n,this.SameSense=s,this.type=3008276851}},e.IfcFailureConnectionCondition=class extends Mn{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.TensionFailureX=n,this.TensionFailureY=s,this.TensionFailureZ=i,this.CompressionFailureX=a,this.CompressionFailureY=l,this.CompressionFailureZ=r,this.type=4219587988}},e.IfcFillAreaStyle=class extends Sn{constructor(e,t,n){super(e,t),this.Name=t,this.FillStyles=n,this.type=738692330}},e.IfcFuelProperties=class extends In{constructor(e,t,n,s,i,a){super(e,t),this.Material=t,this.CombustionTemperature=n,this.CarbonContent=s,this.LowerHeatingValue=i,this.HigherHeatingValue=a,this.type=3857492461}},e.IfcGeneralMaterialProperties=class extends In{constructor(e,t,n,s,i){super(e,t),this.Material=t,this.MolecularWeight=n,this.Porosity=s,this.MassDensity=i,this.type=803998398}};class ts extends On{constructor(e,t,n,s,i,a,l,r){super(e,t,n),this.ProfileName=t,this.ProfileDefinition=n,this.PhysicalWeight=s,this.Perimeter=i,this.MinimumPlateThickness=a,this.MaximumPlateThickness=l,this.CrossSectionArea=r,this.type=1446786286}}e.IfcGeneralProfileProperties=ts;class ns extends Cn{constructor(e,t,n,s,i,a,l){super(e,t,n),this.ContextIdentifier=t,this.ContextType=n,this.CoordinateSpaceDimension=s,this.Precision=i,this.WorldCoordinateSystem=a,this.TrueNorth=l,this.type=3448662350}}e.IfcGeometricRepresentationContext=ns;class ss extends Ln{constructor(e){super(e),this.type=2453401579}}e.IfcGeometricRepresentationItem=ss,e.IfcGeometricRepresentationSubContext=class extends ns{constructor(e,n,s,i,a,l,r){super(e,n,s,new t(0),null,new bm(0),null),this.ContextIdentifier=n,this.ContextType=s,this.ParentContext=i,this.TargetScale=a,this.TargetView=l,this.UserDefinedTargetView=r,this.type=4142052618}};class is extends ss{constructor(e,t){super(e),this.Elements=t,this.type=3590301190}}e.IfcGeometricSet=is,e.IfcGridPlacement=class extends vn{constructor(e,t,n){super(e),this.PlacementLocation=t,this.PlacementRefDirection=n,this.type=178086475}};class as extends ss{constructor(e,t,n){super(e),this.BaseSurface=t,this.AgreementFlag=n,this.type=812098782}}e.IfcHalfSpaceSolid=as,e.IfcHygroscopicMaterialProperties=class extends In{constructor(e,t,n,s,i,a,l){super(e,t),this.Material=t,this.UpperVaporResistanceFactor=n,this.LowerVaporResistanceFactor=s,this.IsothermalMoistureCapacity=i,this.VaporPermeability=a,this.MoistureDiffusivity=l,this.type=2445078500}},e.IfcImageTexture=class extends Vn{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.RepeatS=t,this.RepeatT=n,this.TextureType=s,this.TextureTransform=i,this.UrlReference=a,this.type=3905492369}},e.IfcIrregularTimeSeries=class extends zn{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.Values=c,this.type=3741457305}};class ls extends ss{constructor(e,t,n,s,i){super(e),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.type=1402838566}}e.IfcLightSource=ls,e.IfcLightSourceAmbient=class extends ls{constructor(e,t,n,s,i){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.type=125510826}},e.IfcLightSourceDirectional=class extends ls{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Orientation=a,this.type=2604431987}},e.IfcLightSourceGoniometric=class extends ls{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.ColourAppearance=l,this.ColourTemperature=r,this.LuminousFlux=o,this.LightEmissionSource=c,this.LightDistributionDataSource=u,this.type=4266656042}};class rs extends ls{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.Radius=l,this.ConstantAttenuation=r,this.DistanceAttenuation=o,this.QuadricAttenuation=c,this.type=1520743889}}e.IfcLightSourcePositional=rs,e.IfcLightSourceSpot=class extends rs{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.Radius=l,this.ConstantAttenuation=r,this.DistanceAttenuation=o,this.QuadricAttenuation=c,this.Orientation=u,this.ConcentrationExponent=p,this.SpreadAngle=h,this.BeamWidthAngle=d,this.type=3422422726}},e.IfcLocalPlacement=class extends vn{constructor(e,t,n){super(e),this.PlacementRelTo=t,this.RelativePlacement=n,this.type=2624227202}};class os extends Wn{constructor(e){super(e),this.type=1008929658}}e.IfcLoop=os,e.IfcMappedItem=class extends Ln{constructor(e,t,n){super(e),this.MappingSource=t,this.MappingTarget=n,this.type=2347385850}},e.IfcMaterialDefinitionRepresentation=class extends bn{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Representations=s,this.RepresentedMaterial=i,this.type=2022407955}},e.IfcMechanicalConcreteMaterialProperties=class extends mn{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l),this.Material=t,this.DynamicViscosity=n,this.YoungModulus=s,this.ShearModulus=i,this.PoissonRatio=a,this.ThermalExpansionCoefficient=l,this.CompressiveStrength=r,this.MaxAggregateSize=o,this.AdmixturesDescription=c,this.Workability=u,this.ProtectivePoreRatio=p,this.WaterImpermeability=h,this.type=1430189142}};class cs extends Pn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=219451334}}e.IfcObjectDefinition=cs;class us extends ss{constructor(e,t){super(e),this.RepeatFactor=t,this.type=2833995503}}e.IfcOneDirectionRepeatFactor=us,e.IfcOpenShell=class extends Qn{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2665983363}},e.IfcOrientedEdge=class extends Jn{constructor(e,t,n){super(e,new bm(0),new bm(0)),this.EdgeElement=t,this.Orientation=n,this.type=1029017970}};class ps extends Nn{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.type=2529465313}}e.IfcParameterizedProfileDef=ps,e.IfcPath=class extends Wn{constructor(e,t){super(e),this.EdgeList=t,this.type=2519244187}},e.IfcPhysicalComplexQuantity=class extends wn{constructor(e,t,n,s,i,a,l){super(e,t,n),this.Name=t,this.Description=n,this.HasQuantities=s,this.Discrimination=i,this.Quality=a,this.Usage=l,this.type=3021840470}},e.IfcPixelTexture=class extends Vn{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i),this.RepeatS=t,this.RepeatT=n,this.TextureType=s,this.TextureTransform=i,this.Width=a,this.Height=l,this.ColourComponents=r,this.Pixel=o,this.type=597895409}};class hs extends ss{constructor(e,t){super(e),this.Location=t,this.type=2004835150}}e.IfcPlacement=hs;class ds extends ss{constructor(e,t,n){super(e),this.SizeInX=t,this.SizeInY=n,this.type=1663979128}}e.IfcPlanarExtent=ds;class fs extends ss{constructor(e){super(e),this.type=2067069095}}e.IfcPoint=fs,e.IfcPointOnCurve=class extends fs{constructor(e,t,n){super(e),this.BasisCurve=t,this.PointParameter=n,this.type=4022376103}},e.IfcPointOnSurface=class extends fs{constructor(e,t,n,s){super(e),this.BasisSurface=t,this.PointParameterU=n,this.PointParameterV=s,this.type=1423911732}},e.IfcPolyLoop=class extends os{constructor(e,t){super(e),this.Polygon=t,this.type=2924175390}},e.IfcPolygonalBoundedHalfSpace=class extends as{constructor(e,t,n,s,i){super(e,t,n),this.BaseSurface=t,this.AgreementFlag=n,this.Position=s,this.PolygonalBoundary=i,this.type=2775532180}};class Is extends En{constructor(e,t){super(e,t),this.Name=t,this.type=759155922}}e.IfcPreDefinedColour=Is;class ms extends En{constructor(e,t){super(e,t),this.Name=t,this.type=2559016684}}e.IfcPreDefinedCurveFont=ms,e.IfcPreDefinedDimensionSymbol=class extends gn{constructor(e,t){super(e,t),this.Name=t,this.type=433424934}},e.IfcPreDefinedPointMarkerSymbol=class extends gn{constructor(e,t){super(e,t),this.Name=t,this.type=179317114}},e.IfcProductDefinitionShape=class extends bn{constructor(e,t,n,s){super(e,t,n,s),this.Name=t,this.Description=n,this.Representations=s,this.type=673634403}},e.IfcPropertyBoundedValue=class extends _n{constructor(e,t,n,s,i,a){super(e,t,n),this.Name=t,this.Description=n,this.UpperBoundValue=s,this.LowerBoundValue=i,this.Unit=a,this.type=871118103}};class ys extends Pn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=1680319473}}e.IfcPropertyDefinition=ys,e.IfcPropertyEnumeratedValue=class extends _n{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.EnumerationValues=s,this.EnumerationReference=i,this.type=4166981789}},e.IfcPropertyListValue=class extends _n{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.ListValues=s,this.Unit=i,this.type=2752243245}},e.IfcPropertyReferenceValue=class extends _n{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.UsageName=s,this.PropertyReference=i,this.type=941946838}};class vs extends ys{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=3357820518}}e.IfcPropertySetDefinition=vs,e.IfcPropertySingleValue=class extends _n{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.NominalValue=s,this.Unit=i,this.type=3650150729}},e.IfcPropertyTableValue=class extends _n{constructor(e,t,n,s,i,a,l,r){super(e,t,n),this.Name=t,this.Description=n,this.DefiningValues=s,this.DefinedValues=i,this.Expression=a,this.DefiningUnit=l,this.DefinedUnit=r,this.type=110355661}};class ws extends ps{constructor(e,t,n,s,i,a){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.type=3615266464}}e.IfcRectangleProfileDef=ws,e.IfcRegularTimeSeries=class extends zn{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.TimeStep=c,this.Values=u,this.type=3413951693}},e.IfcReinforcementDefinitionProperties=class extends vs{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.DefinitionType=a,this.ReinforcementSectionDefinitions=l,this.type=3765753017}};class Ts extends Pn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=478536968}}e.IfcRelationship=Ts,e.IfcRoundedRectangleProfileDef=class extends ws{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.RoundingRadius=l,this.type=2778083089}},e.IfcSectionedSpine=class extends ss{constructor(e,t,n,s){super(e),this.SpineCurve=t,this.CrossSections=n,this.CrossSectionPositions=s,this.type=1509187699}},e.IfcServiceLifeFactor=class extends vs{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.PredefinedType=a,this.UpperValue=l,this.MostUsedValue=r,this.LowerValue=o,this.type=2411513650}},e.IfcShellBasedSurfaceModel=class extends ss{constructor(e,t){super(e),this.SbsmBoundary=t,this.type=4124623270}},e.IfcSlippageConnectionCondition=class extends Mn{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.SlippageX=n,this.SlippageY=s,this.SlippageZ=i,this.type=2609359061}};class Es extends ss{constructor(e){super(e),this.type=723233188}}e.IfcSolidModel=Es,e.IfcSoundProperties=class extends vs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.IsAttenuating=a,this.SoundScale=l,this.SoundValues=r,this.type=2485662743}},e.IfcSoundValue=class extends vs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.SoundLevelTimeSeries=a,this.Frequency=l,this.SoundLevelSingleValue=r,this.type=1202362311}},e.IfcSpaceThermalLoadProperties=class extends vs{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableValueRatio=a,this.ThermalLoadSource=l,this.PropertySource=r,this.SourceDescription=o,this.MaximumValue=c,this.MinimumValue=u,this.ThermalLoadTimeSeriesValues=p,this.UserDefinedThermalLoadSource=h,this.UserDefinedPropertySource=d,this.ThermalLoadType=f,this.type=390701378}},e.IfcStructuralLoadLinearForce=class extends Bn{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.LinearForceX=n,this.LinearForceY=s,this.LinearForceZ=i,this.LinearMomentX=a,this.LinearMomentY=l,this.LinearMomentZ=r,this.type=1595516126}},e.IfcStructuralLoadPlanarForce=class extends Bn{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.PlanarForceX=n,this.PlanarForceY=s,this.PlanarForceZ=i,this.type=2668620305}};class gs extends Bn{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.DisplacementX=n,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=a,this.RotationalDisplacementRY=l,this.RotationalDisplacementRZ=r,this.type=2473145415}}e.IfcStructuralLoadSingleDisplacement=gs,e.IfcStructuralLoadSingleDisplacementDistortion=class extends gs{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.DisplacementX=n,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=a,this.RotationalDisplacementRY=l,this.RotationalDisplacementRZ=r,this.Distortion=o,this.type=1973038258}};class Rs extends Bn{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.ForceX=n,this.ForceY=s,this.ForceZ=i,this.MomentX=a,this.MomentY=l,this.MomentZ=r,this.type=1597423693}}e.IfcStructuralLoadSingleForce=Rs,e.IfcStructuralLoadSingleForceWarping=class extends Rs{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.ForceX=n,this.ForceY=s,this.ForceZ=i,this.MomentX=a,this.MomentY=l,this.MomentZ=r,this.WarpingMoment=o,this.type=1190533807}};class Ds extends ts{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T,E,g,R){super(e,t,n,s,i,a,l,r),this.ProfileName=t,this.ProfileDefinition=n,this.PhysicalWeight=s,this.Perimeter=i,this.MinimumPlateThickness=a,this.MaximumPlateThickness=l,this.CrossSectionArea=r,this.TorsionalConstantX=o,this.MomentOfInertiaYZ=c,this.MomentOfInertiaY=u,this.MomentOfInertiaZ=p,this.WarpingConstant=h,this.ShearCentreZ=d,this.ShearCentreY=f,this.ShearDeformationAreaZ=I,this.ShearDeformationAreaY=m,this.MaximumSectionModulusY=y,this.MinimumSectionModulusY=v,this.MaximumSectionModulusZ=w,this.MinimumSectionModulusZ=T,this.TorsionalSectionModulus=E,this.CentreOfGravityInX=g,this.CentreOfGravityInY=R,this.type=3843319758}}e.IfcStructuralProfileProperties=Ds,e.IfcStructuralSteelProfileProperties=class extends Ds{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T,E,g,R,D,S,b,N){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T,E,g,R),this.ProfileName=t,this.ProfileDefinition=n,this.PhysicalWeight=s,this.Perimeter=i,this.MinimumPlateThickness=a,this.MaximumPlateThickness=l,this.CrossSectionArea=r,this.TorsionalConstantX=o,this.MomentOfInertiaYZ=c,this.MomentOfInertiaY=u,this.MomentOfInertiaZ=p,this.WarpingConstant=h,this.ShearCentreZ=d,this.ShearCentreY=f,this.ShearDeformationAreaZ=I,this.ShearDeformationAreaY=m,this.MaximumSectionModulusY=y,this.MinimumSectionModulusY=v,this.MaximumSectionModulusZ=w,this.MinimumSectionModulusZ=T,this.TorsionalSectionModulus=E,this.CentreOfGravityInX=g,this.CentreOfGravityInY=R,this.ShearAreaZ=D,this.ShearAreaY=S,this.PlasticShapeFactorY=b,this.PlasticShapeFactorZ=N,this.type=3653947884}},e.IfcSubedge=class extends Jn{constructor(e,t,n,s){super(e,t,n),this.EdgeStart=t,this.EdgeEnd=n,this.ParentEdge=s,this.type=2233826070}};class Ss extends ss{constructor(e){super(e),this.type=2513912981}}e.IfcSurface=Ss,e.IfcSurfaceStyleRendering=class extends Gn{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t),this.SurfaceColour=t,this.Transparency=n,this.DiffuseColour=s,this.TransmissionColour=i,this.DiffuseTransmissionColour=a,this.ReflectionColour=l,this.SpecularColour=r,this.SpecularHighlight=o,this.ReflectanceMethod=c,this.type=1878645084}};class bs extends Es{constructor(e,t,n){super(e),this.SweptArea=t,this.Position=n,this.type=2247615214}}e.IfcSweptAreaSolid=bs,e.IfcSweptDiskSolid=class extends Es{constructor(e,t,n,s,i,a){super(e),this.Directrix=t,this.Radius=n,this.InnerRadius=s,this.StartParam=i,this.EndParam=a,this.type=1260650574}};class Ns extends Ss{constructor(e,t,n){super(e),this.SweptCurve=t,this.Position=n,this.type=230924584}}e.IfcSweptSurface=Ns,e.IfcTShapeProfileDef=class extends ps{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.FlangeEdgeRadius=c,this.WebEdgeRadius=u,this.WebSlope=p,this.FlangeSlope=h,this.CentreOfGravityInY=d,this.type=3071757647}};class Os extends Xn{constructor(e,t,n,s,i){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.AnnotatedCurve=i,this.type=3028897424}}e.IfcTerminatorSymbol=Os;class As extends ss{constructor(e,t,n,s){super(e),this.Literal=t,this.Placement=n,this.Path=s,this.type=4282788508}}e.IfcTextLiteral=As,e.IfcTextLiteralWithExtent=class extends As{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Literal=t,this.Placement=n,this.Path=s,this.Extent=i,this.BoxAlignment=a,this.type=3124975700}},e.IfcTrapeziumProfileDef=class extends ps{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.BottomXDim=i,this.TopXDim=a,this.YDim=l,this.TopXOffset=r,this.type=2715220739}},e.IfcTwoDirectionRepeatFactor=class extends us{constructor(e,t,n){super(e,t),this.RepeatFactor=t,this.SecondRepeatFactor=n,this.type=1345879162}};class xs extends cs{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.type=1628702193}}e.IfcTypeObject=xs;class Cs extends xs{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.type=2347495698}}e.IfcTypeProduct=Cs,e.IfcUShapeProfileDef=class extends ps{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.EdgeRadius=c,this.FlangeSlope=u,this.CentreOfGravityInX=p,this.type=427810014}},e.IfcVector=class extends ss{constructor(e,t,n){super(e),this.Orientation=t,this.Magnitude=n,this.type=1417489154}},e.IfcVertexLoop=class extends os{constructor(e,t){super(e),this.LoopVertex=t,this.type=2759199220}},e.IfcWindowLiningProperties=class extends vs{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.LiningDepth=a,this.LiningThickness=l,this.TransomThickness=r,this.MullionThickness=o,this.FirstTransomOffset=c,this.SecondTransomOffset=u,this.FirstMullionOffset=p,this.SecondMullionOffset=h,this.ShapeAspectStyle=d,this.type=336235671}},e.IfcWindowPanelProperties=class extends vs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.OperationType=a,this.PanelPosition=l,this.FrameDepth=r,this.FrameThickness=o,this.ShapeAspectStyle=c,this.type=512836454}},e.IfcWindowStyle=class extends Cs{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ConstructionType=c,this.OperationType=u,this.ParameterTakesPrecedence=p,this.Sizeable=h,this.type=1299126871}},e.IfcZShapeProfileDef=class extends ps{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.EdgeRadius=c,this.type=2543172580}};class Ls extends Yn{constructor(e,t,n,s){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.type=3288037868}}e.IfcAnnotationCurveOccurrence=Ls,e.IfcAnnotationFillArea=class extends ss{constructor(e,t,n){super(e),this.OuterBoundary=t,this.InnerBoundaries=n,this.type=669184980}},e.IfcAnnotationFillAreaOccurrence=class extends Yn{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.FillStyleTarget=i,this.GlobalOrLocal=a,this.type=2265737646}},e.IfcAnnotationSurface=class extends ss{constructor(e,t,n){super(e),this.Item=t,this.TextureCoordinates=n,this.type=1302238472}},e.IfcAxis1Placement=class extends hs{constructor(e,t,n){super(e,t),this.Location=t,this.Axis=n,this.type=4261334040}},e.IfcAxis2Placement2D=class extends hs{constructor(e,t,n){super(e,t),this.Location=t,this.RefDirection=n,this.type=3125803723}},e.IfcAxis2Placement3D=class extends hs{constructor(e,t,n,s){super(e,t),this.Location=t,this.Axis=n,this.RefDirection=s,this.type=2740243338}};class Ps extends ss{constructor(e,t,n,s){super(e),this.Operator=t,this.FirstOperand=n,this.SecondOperand=s,this.type=2736907675}}e.IfcBooleanResult=Ps;class qs extends Ss{constructor(e){super(e),this.type=4182860854}}e.IfcBoundedSurface=qs,e.IfcBoundingBox=class extends ss{constructor(e,t,n,s,i){super(e),this.Corner=t,this.XDim=n,this.YDim=s,this.ZDim=i,this.type=2581212453}},e.IfcBoxedHalfSpace=class extends as{constructor(e,t,n,s){super(e,t,n),this.BaseSurface=t,this.AgreementFlag=n,this.Enclosure=s,this.type=2713105998}},e.IfcCShapeProfileDef=class extends ps{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.Width=a,this.WallThickness=l,this.Girth=r,this.InternalFilletRadius=o,this.CentreOfGravityInX=c,this.type=2898889636}},e.IfcCartesianPoint=class extends fs{constructor(e,t){super(e),this.Coordinates=t,this.type=1123145078}};class _s extends ss{constructor(e,t,n,s,i){super(e),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.type=59481748}}e.IfcCartesianTransformationOperator=_s;class Ms extends _s{constructor(e,t,n,s,i){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.type=3749851601}}e.IfcCartesianTransformationOperator2D=Ms,e.IfcCartesianTransformationOperator2DnonUniform=class extends Ms{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Scale2=a,this.type=3486308946}};class Hs extends _s{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Axis3=a,this.type=3331915920}}e.IfcCartesianTransformationOperator3D=Hs,e.IfcCartesianTransformationOperator3DnonUniform=class extends Hs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Axis3=a,this.Scale2=l,this.Scale3=r,this.type=1416205885}};class Bs extends ps{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Radius=i,this.type=1383045692}}e.IfcCircleProfileDef=Bs,e.IfcClosedShell=class extends Qn{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2205249479}},e.IfcCompositeCurveSegment=class extends ss{constructor(e,t,n,s){super(e),this.Transition=t,this.SameSense=n,this.ParentCurve=s,this.type=2485617015}},e.IfcCraneRailAShapeProfileDef=class extends ps{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.OverallHeight=i,this.BaseWidth2=a,this.Radius=l,this.HeadWidth=r,this.HeadDepth2=o,this.HeadDepth3=c,this.WebThickness=u,this.BaseWidth4=p,this.BaseDepth1=h,this.BaseDepth2=d,this.BaseDepth3=f,this.CentreOfGravityInY=I,this.type=4133800736}},e.IfcCraneRailFShapeProfileDef=class extends ps{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.OverallHeight=i,this.HeadWidth=a,this.Radius=l,this.HeadDepth2=r,this.HeadDepth3=o,this.WebThickness=c,this.BaseDepth1=u,this.BaseDepth2=p,this.CentreOfGravityInY=h,this.type=194851669}};class Us extends ss{constructor(e,t){super(e),this.Position=t,this.type=2506170314}}e.IfcCsgPrimitive3D=Us,e.IfcCsgSolid=class extends Es{constructor(e,t){super(e),this.TreeRootExpression=t,this.type=2147822146}};class Fs extends ss{constructor(e){super(e),this.type=2601014836}}e.IfcCurve=Fs,e.IfcCurveBoundedPlane=class extends qs{constructor(e,t,n,s){super(e),this.BasisSurface=t,this.OuterBoundary=n,this.InnerBoundaries=s,this.type=2827736869}},e.IfcDefinedSymbol=class extends ss{constructor(e,t,n){super(e),this.Definition=t,this.Target=n,this.type=693772133}},e.IfcDimensionCurve=class extends Ls{constructor(e,t,n,s){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.type=606661476}},e.IfcDimensionCurveTerminator=class extends Os{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Item=t,this.Styles=n,this.Name=s,this.AnnotatedCurve=i,this.Role=a,this.type=4054601972}},e.IfcDirection=class extends ss{constructor(e,t){super(e),this.DirectionRatios=t,this.type=32440307}},e.IfcDoorLiningProperties=class extends vs{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.LiningDepth=a,this.LiningThickness=l,this.ThresholdDepth=r,this.ThresholdThickness=o,this.TransomThickness=c,this.TransomOffset=u,this.LiningOffset=p,this.ThresholdOffset=h,this.CasingThickness=d,this.CasingDepth=f,this.ShapeAspectStyle=I,this.type=2963535650}},e.IfcDoorPanelProperties=class extends vs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.PanelDepth=a,this.PanelOperation=l,this.PanelWidth=r,this.PanelPosition=o,this.ShapeAspectStyle=c,this.type=1714330368}},e.IfcDoorStyle=class extends Cs{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.OperationType=c,this.ConstructionType=u,this.ParameterTakesPrecedence=p,this.Sizeable=h,this.type=526551008}};class Gs extends ss{constructor(e,t){super(e),this.Contents=t,this.type=3073041342}}e.IfcDraughtingCallout=Gs,e.IfcDraughtingPreDefinedColour=class extends Is{constructor(e,t){super(e,t),this.Name=t,this.type=445594917}},e.IfcDraughtingPreDefinedCurveFont=class extends ms{constructor(e,t){super(e,t),this.Name=t,this.type=4006246654}},e.IfcEdgeLoop=class extends os{constructor(e,t){super(e),this.EdgeList=t,this.type=1472233963}},e.IfcElementQuantity=class extends vs{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.MethodOfMeasurement=a,this.Quantities=l,this.type=1883228015}};class Vs extends Cs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=339256511}}e.IfcElementType=Vs;class js extends Ss{constructor(e,t){super(e),this.Position=t,this.type=2777663545}}e.IfcElementarySurface=js,e.IfcEllipseProfileDef=class extends ps{constructor(e,t,n,s,i,a){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.SemiAxis1=i,this.SemiAxis2=a,this.type=2835456948}};class zs extends vs{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.EnergySequence=a,this.UserDefinedEnergySequence=l,this.type=80994333}}e.IfcEnergyProperties=zs,e.IfcExtrudedAreaSolid=class extends bs{constructor(e,t,n,s,i){super(e,t,n),this.SweptArea=t,this.Position=n,this.ExtrudedDirection=s,this.Depth=i,this.type=477187591}},e.IfcFaceBasedSurfaceModel=class extends ss{constructor(e,t){super(e),this.FbsmFaces=t,this.type=2047409740}},e.IfcFillAreaStyleHatching=class extends ss{constructor(e,t,n,s,i,a){super(e),this.HatchLineAppearance=t,this.StartOfNextHatchLine=n,this.PointOfReferenceHatchLine=s,this.PatternStart=i,this.HatchLineAngle=a,this.type=374418227}},e.IfcFillAreaStyleTileSymbolWithStyle=class extends ss{constructor(e,t){super(e),this.Symbol=t,this.type=4203026998}},e.IfcFillAreaStyleTiles=class extends ss{constructor(e,t,n,s){super(e),this.TilingPattern=t,this.Tiles=n,this.TilingScale=s,this.type=315944413}},e.IfcFluidFlowProperties=class extends vs{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.PropertySource=a,this.FlowConditionTimeSeries=l,this.VelocityTimeSeries=r,this.FlowrateTimeSeries=o,this.Fluid=c,this.PressureTimeSeries=u,this.UserDefinedPropertySource=p,this.TemperatureSingleValue=h,this.WetBulbTemperatureSingleValue=d,this.WetBulbTemperatureTimeSeries=f,this.TemperatureTimeSeries=I,this.FlowrateSingleValue=m,this.FlowConditionSingleValue=y,this.VelocitySingleValue=v,this.PressureSingleValue=w,this.type=3455213021}};class Ws extends Vs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=4238390223}}e.IfcFurnishingElementType=Ws,e.IfcFurnitureType=class extends Ws{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.AssemblyPlace=u,this.type=1268542332}},e.IfcGeometricCurveSet=class extends is{constructor(e,t){super(e,t),this.Elements=t,this.type=987898635}};class ks extends ps{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.OverallWidth=i,this.OverallDepth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.type=1484403080}}e.IfcIShapeProfileDef=ks,e.IfcLShapeProfileDef=class extends ps{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.Width=a,this.Thickness=l,this.FilletRadius=r,this.EdgeRadius=o,this.LegSlope=c,this.CentreOfGravityInX=u,this.CentreOfGravityInY=p,this.type=572779678}},e.IfcLine=class extends Fs{constructor(e,t,n){super(e),this.Pnt=t,this.Dir=n,this.type=1281925730}};class Ys extends Es{constructor(e,t){super(e),this.Outer=t,this.type=1425443689}}e.IfcManifoldSolidBrep=Ys;class Xs extends cs{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=3888040117}}e.IfcObject=Xs,e.IfcOffsetCurve2D=class extends Fs{constructor(e,t,n,s){super(e),this.BasisCurve=t,this.Distance=n,this.SelfIntersect=s,this.type=3388369263}},e.IfcOffsetCurve3D=class extends Fs{constructor(e,t,n,s,i){super(e),this.BasisCurve=t,this.Distance=n,this.SelfIntersect=s,this.RefDirection=i,this.type=3505215534}},e.IfcPermeableCoveringProperties=class extends vs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.OperationType=a,this.PanelPosition=l,this.FrameDepth=r,this.FrameThickness=o,this.ShapeAspectStyle=c,this.type=3566463478}},e.IfcPlanarBox=class extends ds{constructor(e,t,n,s){super(e,t,n),this.SizeInX=t,this.SizeInY=n,this.Placement=s,this.type=603570806}},e.IfcPlane=class extends js{constructor(e,t){super(e,t),this.Position=t,this.type=220341763}};class Ks extends Xs{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2945172077}}e.IfcProcess=Ks;class Zs extends Xs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=4208778838}}e.IfcProduct=Zs,e.IfcProject=class extends Xs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.Phase=r,this.RepresentationContexts=o,this.UnitsInContext=c,this.type=103090709}},e.IfcProjectionCurve=class extends Ls{constructor(e,t,n,s){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.type=4194566429}},e.IfcPropertySet=class extends vs{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.HasProperties=a,this.type=1451395588}},e.IfcProxy=class extends Zs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.ProxyType=o,this.Tag=c,this.type=3219374653}},e.IfcRectangleHollowProfileDef=class extends ws{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.WallThickness=l,this.InnerFilletRadius=r,this.OuterFilletRadius=o,this.type=2770003689}},e.IfcRectangularPyramid=class extends Us{constructor(e,t,n,s,i){super(e,t),this.Position=t,this.XLength=n,this.YLength=s,this.Height=i,this.type=2798486643}},e.IfcRectangularTrimmedSurface=class extends qs{constructor(e,t,n,s,i,a,l,r){super(e),this.BasisSurface=t,this.U1=n,this.V1=s,this.U2=i,this.V2=a,this.Usense=l,this.Vsense=r,this.type=3454111270}};class Qs extends Ts{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.type=3939117080}}e.IfcRelAssigns=Qs;class Js extends Qs{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingActor=r,this.ActingRole=o,this.type=1683148259}}e.IfcRelAssignsToActor=Js;class $s extends Qs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingControl=r,this.type=2495723537}}e.IfcRelAssignsToControl=$s,e.IfcRelAssignsToGroup=class extends Qs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingGroup=r,this.type=1307041759}},e.IfcRelAssignsToProcess=class extends Qs{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingProcess=r,this.QuantityInProcess=o,this.type=4278684876}},e.IfcRelAssignsToProduct=class extends Qs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingProduct=r,this.type=2857406711}},e.IfcRelAssignsToProjectOrder=class extends $s{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingControl=r,this.type=3372526763}},e.IfcRelAssignsToResource=class extends Qs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingResource=r,this.type=205026976}};class ei extends Ts{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.type=1865459582}}e.IfcRelAssociates=ei,e.IfcRelAssociatesAppliedValue=class extends ei{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingAppliedValue=l,this.type=1327628568}},e.IfcRelAssociatesApproval=class extends ei{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingApproval=l,this.type=4095574036}},e.IfcRelAssociatesClassification=class extends ei{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingClassification=l,this.type=919958153}},e.IfcRelAssociatesConstraint=class extends ei{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.Intent=l,this.RelatingConstraint=r,this.type=2728634034}},e.IfcRelAssociatesDocument=class extends ei{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingDocument=l,this.type=982818633}},e.IfcRelAssociatesLibrary=class extends ei{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingLibrary=l,this.type=3840914261}},e.IfcRelAssociatesMaterial=class extends ei{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingMaterial=l,this.type=2655215786}},e.IfcRelAssociatesProfileProperties=class extends ei{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingProfileProperties=l,this.ProfileSectionLocation=r,this.ProfileOrientation=o,this.type=2851387026}};class ti extends Ts{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=826625072}}e.IfcRelConnects=ti;class ni extends ti{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.type=1204542856}}e.IfcRelConnectsElements=ni,e.IfcRelConnectsPathElements=class extends ni{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.RelatingPriorities=o,this.RelatedPriorities=c,this.RelatedConnectionType=u,this.RelatingConnectionType=p,this.type=3945020480}},e.IfcRelConnectsPortToElement=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingPort=a,this.RelatedElement=l,this.type=4201705270}},e.IfcRelConnectsPorts=class extends ti{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingPort=a,this.RelatedPort=l,this.RealizingElement=r,this.type=3190031847}},e.IfcRelConnectsStructuralActivity=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedStructuralActivity=l,this.type=2127690289}},e.IfcRelConnectsStructuralElement=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedStructuralMember=l,this.type=3912681535}};class si extends ti{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingStructuralMember=a,this.RelatedStructuralConnection=l,this.AppliedCondition=r,this.AdditionalConditions=o,this.SupportedLength=c,this.ConditionCoordinateSystem=u,this.type=1638771189}}e.IfcRelConnectsStructuralMember=si,e.IfcRelConnectsWithEccentricity=class extends si{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingStructuralMember=a,this.RelatedStructuralConnection=l,this.AppliedCondition=r,this.AdditionalConditions=o,this.SupportedLength=c,this.ConditionCoordinateSystem=u,this.ConnectionConstraint=p,this.type=504942748}},e.IfcRelConnectsWithRealizingElements=class extends ni{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.RealizingElements=o,this.ConnectionType=c,this.type=3678494232}},e.IfcRelContainedInSpatialStructure=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedElements=a,this.RelatingStructure=l,this.type=3242617779}},e.IfcRelCoversBldgElements=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingBuildingElement=a,this.RelatedCoverings=l,this.type=886880790}},e.IfcRelCoversSpaces=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedSpace=a,this.RelatedCoverings=l,this.type=2802773753}};class ii extends Ts{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingObject=a,this.RelatedObjects=l,this.type=2551354335}}e.IfcRelDecomposes=ii;class ai extends Ts{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.type=693640335}}e.IfcRelDefines=ai;class li extends ai{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingPropertyDefinition=l,this.type=4186316022}}e.IfcRelDefinesByProperties=li,e.IfcRelDefinesByType=class extends ai{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingType=l,this.type=781010003}},e.IfcRelFillsElement=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingOpeningElement=a,this.RelatedBuildingElement=l,this.type=3940055652}},e.IfcRelFlowControlElements=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedControlElements=a,this.RelatingFlowElement=l,this.type=279856033}},e.IfcRelInteractionRequirements=class extends ti{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.DailyInteraction=a,this.ImportanceRating=l,this.LocationOfInteraction=r,this.RelatedSpaceProgram=o,this.RelatingSpaceProgram=c,this.type=4189434867}},e.IfcRelNests=class extends ii{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingObject=a,this.RelatedObjects=l,this.type=3268803585}},e.IfcRelOccupiesSpaces=class extends Js{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingActor=r,this.ActingRole=o,this.type=2051452291}},e.IfcRelOverridesProperties=class extends li{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingPropertyDefinition=l,this.OverridingProperties=r,this.type=202636808}},e.IfcRelProjectsElement=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedFeatureElement=l,this.type=750771296}},e.IfcRelReferencedInSpatialStructure=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedElements=a,this.RelatingStructure=l,this.type=1245217292}},e.IfcRelSchedulesCostItems=class extends $s{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingControl=r,this.type=1058617721}},e.IfcRelSequence=class extends ti{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingProcess=a,this.RelatedProcess=l,this.TimeLag=r,this.SequenceType=o,this.type=4122056220}},e.IfcRelServicesBuildings=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSystem=a,this.RelatedBuildings=l,this.type=366585022}},e.IfcRelSpaceBoundary=class extends ti{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedBuildingElement=l,this.ConnectionGeometry=r,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=c,this.type=3451746338}},e.IfcRelVoidsElement=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingBuildingElement=a,this.RelatedOpeningElement=l,this.type=1401173127}};class ri extends Xs{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2914609552}}e.IfcResource=ri,e.IfcRevolvedAreaSolid=class extends bs{constructor(e,t,n,s,i){super(e,t,n),this.SweptArea=t,this.Position=n,this.Axis=s,this.Angle=i,this.type=1856042241}},e.IfcRightCircularCone=class extends Us{constructor(e,t,n,s){super(e,t),this.Position=t,this.Height=n,this.BottomRadius=s,this.type=4158566097}},e.IfcRightCircularCylinder=class extends Us{constructor(e,t,n,s){super(e,t),this.Position=t,this.Height=n,this.Radius=s,this.type=3626867408}};class oi extends Zs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.type=2706606064}}e.IfcSpatialStructureElement=oi;class ci extends Vs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3893378262}}e.IfcSpatialStructureElementType=ci,e.IfcSphere=class extends Us{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=451544542}};class ui extends Zs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=3544373492}}e.IfcStructuralActivity=ui;class pi extends Zs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=3136571912}}e.IfcStructuralItem=pi;class hi extends pi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=530289379}}e.IfcStructuralMember=hi;class di extends ui{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=3689010777}}e.IfcStructuralReaction=di;class fi extends hi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Thickness=c,this.type=3979015343}}e.IfcStructuralSurfaceMember=fi,e.IfcStructuralSurfaceMemberVarying=class extends fi{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Thickness=c,this.SubsequentThickness=u,this.VaryingThicknessLocation=p,this.type=2218152070}},e.IfcStructuredDimensionCallout=class extends Gs{constructor(e,t){super(e,t),this.Contents=t,this.type=4070609034}},e.IfcSurfaceCurveSweptAreaSolid=class extends bs{constructor(e,t,n,s,i,a,l){super(e,t,n),this.SweptArea=t,this.Position=n,this.Directrix=s,this.StartParam=i,this.EndParam=a,this.ReferenceSurface=l,this.type=2028607225}},e.IfcSurfaceOfLinearExtrusion=class extends Ns{constructor(e,t,n,s,i){super(e,t,n),this.SweptCurve=t,this.Position=n,this.ExtrudedDirection=s,this.Depth=i,this.type=2809605785}},e.IfcSurfaceOfRevolution=class extends Ns{constructor(e,t,n,s){super(e,t,n),this.SweptCurve=t,this.Position=n,this.AxisPosition=s,this.type=4124788165}},e.IfcSystemFurnitureElementType=class extends Ws{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1580310250}};class Ii extends Ks{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TaskId=l,this.Status=r,this.WorkMethod=o,this.IsMilestone=c,this.Priority=u,this.type=3473067441}}e.IfcTask=Ii,e.IfcTransportElementType=class extends Vs{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2097647324}};class mi extends Xs{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheActor=l,this.type=2296667514}}e.IfcActor=mi,e.IfcAnnotation=class extends Zs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=1674181508}},e.IfcAsymmetricIShapeProfileDef=class extends ks{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.OverallWidth=i,this.OverallDepth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.TopFlangeWidth=c,this.TopFlangeThickness=u,this.TopFlangeFilletRadius=p,this.CentreOfGravityInY=h,this.type=3207858831}},e.IfcBlock=class extends Us{constructor(e,t,n,s,i){super(e,t),this.Position=t,this.XLength=n,this.YLength=s,this.ZLength=i,this.type=1334484129}},e.IfcBooleanClippingResult=class extends Ps{constructor(e,t,n,s){super(e,t,n,s),this.Operator=t,this.FirstOperand=n,this.SecondOperand=s,this.type=3649129432}};class yi extends Fs{constructor(e){super(e),this.type=1260505505}}e.IfcBoundedCurve=yi,e.IfcBuilding=class extends oi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.ElevationOfRefHeight=u,this.ElevationOfTerrain=p,this.BuildingAddress=h,this.type=4031249490}};class vi extends Vs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1950629157}}e.IfcBuildingElementType=vi,e.IfcBuildingStorey=class extends oi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.Elevation=u,this.type=3124254112}},e.IfcCircleHollowProfileDef=class extends Bs{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Radius=i,this.WallThickness=a,this.type=2937912522}},e.IfcColumnType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=300633059}};class wi extends yi{constructor(e,t,n){super(e),this.Segments=t,this.SelfIntersect=n,this.type=3732776249}}e.IfcCompositeCurve=wi;class Ti extends Fs{constructor(e,t){super(e),this.Position=t,this.type=2510884976}}e.IfcConic=Ti;class Ei extends ri{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ResourceIdentifier=l,this.ResourceGroup=r,this.ResourceConsumption=o,this.BaseQuantity=c,this.type=2559216714}}e.IfcConstructionResource=Ei;class gi extends Xs{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=3293443760}}e.IfcControl=gi,e.IfcCostItem=class extends gi{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=3895139033}},e.IfcCostSchedule=class extends gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.SubmittedBy=l,this.PreparedBy=r,this.SubmittedOn=o,this.Status=c,this.TargetUsers=u,this.UpdateDate=p,this.ID=h,this.PredefinedType=d,this.type=1419761937}},e.IfcCoveringType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1916426348}},e.IfcCrewResource=class extends Ei{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ResourceIdentifier=l,this.ResourceGroup=r,this.ResourceConsumption=o,this.BaseQuantity=c,this.type=3295246426}},e.IfcCurtainWallType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1457835157}};class Ri extends Gs{constructor(e,t){super(e,t),this.Contents=t,this.type=681481545}}e.IfcDimensionCurveDirectedCallout=Ri;class Di extends Vs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3256556792}}e.IfcDistributionElementType=Di;class Si extends Di{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3849074793}}e.IfcDistributionFlowElementType=Si,e.IfcElectricalBaseProperties=class extends zs{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.EnergySequence=a,this.UserDefinedEnergySequence=l,this.ElectricCurrentType=r,this.InputVoltage=o,this.InputFrequency=c,this.FullLoadCurrent=u,this.MinimumCircuitCurrent=p,this.MaximumPowerInput=h,this.RatedPowerInput=d,this.InputPhase=f,this.type=360485395}};class bi extends Zs{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1758889154}}e.IfcElement=bi,e.IfcElementAssembly=class extends bi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.AssemblyPlace=c,this.PredefinedType=u,this.type=4123344466}};class Ni extends bi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1623761950}}e.IfcElementComponent=Ni;class Oi extends Vs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2590856083}}e.IfcElementComponentType=Oi,e.IfcEllipse=class extends Ti{constructor(e,t,n,s){super(e,t),this.Position=t,this.SemiAxis1=n,this.SemiAxis2=s,this.type=1704287377}};class Ai extends Si{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2107101300}}e.IfcEnergyConversionDeviceType=Ai,e.IfcEquipmentElement=class extends bi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1962604670}},e.IfcEquipmentStandard=class extends gi{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=3272907226}},e.IfcEvaporativeCoolerType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3174744832}},e.IfcEvaporatorType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3390157468}},e.IfcFacetedBrep=class extends Ys{constructor(e,t){super(e,t),this.Outer=t,this.type=807026263}},e.IfcFacetedBrepWithVoids=class extends Ys{constructor(e,t,n){super(e,t),this.Outer=t,this.Voids=n,this.type=3737207727}};class xi extends Ni{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=647756555}}e.IfcFastener=xi;class Ci extends Oi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2489546625}}e.IfcFastenerType=Ci;class Li extends bi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2827207264}}e.IfcFeatureElement=Li;class Pi extends Li{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2143335405}}e.IfcFeatureElementAddition=Pi;class qi extends Li{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1287392070}}e.IfcFeatureElementSubtraction=qi;class _i extends Si{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3907093117}}e.IfcFlowControllerType=_i;class Mi extends Si{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3198132628}}e.IfcFlowFittingType=Mi,e.IfcFlowMeterType=class extends _i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3815607619}};class Hi extends Si{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1482959167}}e.IfcFlowMovingDeviceType=Hi;class Bi extends Si{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1834744321}}e.IfcFlowSegmentType=Bi;class Ui extends Si{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1339347760}}e.IfcFlowStorageDeviceType=Ui;class Fi extends Si{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2297155007}}e.IfcFlowTerminalType=Fi;class Gi extends Si{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3009222698}}e.IfcFlowTreatmentDeviceType=Gi,e.IfcFurnishingElement=class extends bi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=263784265}},e.IfcFurnitureStandard=class extends gi{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=814719939}},e.IfcGasTerminalType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=200128114}},e.IfcGrid=class extends Zs{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.UAxes=o,this.VAxes=c,this.WAxes=u,this.type=3009204131}};class Vi extends Xs{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2706460486}}e.IfcGroup=Vi,e.IfcHeatExchangerType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1251058090}},e.IfcHumidifierType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1806887404}},e.IfcInventory=class extends Vi{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.InventoryType=l,this.Jurisdiction=r,this.ResponsiblePersons=o,this.LastUpdateDate=c,this.CurrentValue=u,this.OriginalValue=p,this.type=2391368822}},e.IfcJunctionBoxType=class extends Mi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4288270099}},e.IfcLaborResource=class extends Ei{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ResourceIdentifier=l,this.ResourceGroup=r,this.ResourceConsumption=o,this.BaseQuantity=c,this.SkillSet=u,this.type=3827777499}},e.IfcLampType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1051575348}},e.IfcLightFixtureType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1161773419}},e.IfcLinearDimension=class extends Ri{constructor(e,t){super(e,t),this.Contents=t,this.type=2506943328}},e.IfcMechanicalFastener=class extends xi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.NominalDiameter=c,this.NominalLength=u,this.type=377706215}},e.IfcMechanicalFastenerType=class extends Ci{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2108223431}},e.IfcMemberType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3181161470}},e.IfcMotorConnectionType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=977012517}},e.IfcMove=class extends Ii{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TaskId=l,this.Status=r,this.WorkMethod=o,this.IsMilestone=c,this.Priority=u,this.MoveFrom=p,this.MoveTo=h,this.PunchList=d,this.type=1916936684}},e.IfcOccupant=class extends mi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheActor=l,this.PredefinedType=r,this.type=4143007308}},e.IfcOpeningElement=class extends qi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3588315303}},e.IfcOrderAction=class extends Ii{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TaskId=l,this.Status=r,this.WorkMethod=o,this.IsMilestone=c,this.Priority=u,this.ActionID=p,this.type=3425660407}},e.IfcOutletType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2837617999}},e.IfcPerformanceHistory=class extends gi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LifeCyclePhase=l,this.type=2382730787}},e.IfcPermit=class extends gi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PermitID=l,this.type=3327091369}},e.IfcPipeFittingType=class extends Mi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=804291784}},e.IfcPipeSegmentType=class extends Bi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4231323485}},e.IfcPlateType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4017108033}},e.IfcPolyline=class extends yi{constructor(e,t){super(e),this.Points=t,this.type=3724593414}};class ji extends Zs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=3740093272}}e.IfcPort=ji,e.IfcProcedure=class extends Ks{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ProcedureID=l,this.ProcedureType=r,this.UserDefinedProcedureType=o,this.type=2744685151}},e.IfcProjectOrder=class extends gi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ID=l,this.PredefinedType=r,this.Status=o,this.type=2904328755}},e.IfcProjectOrderRecord=class extends gi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Records=l,this.PredefinedType=r,this.type=3642467123}},e.IfcProjectionElement=class extends Pi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3651124850}},e.IfcProtectiveDeviceType=class extends _i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1842657554}},e.IfcPumpType=class extends Hi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2250791053}},e.IfcRadiusDimension=class extends Ri{constructor(e,t){super(e,t),this.Contents=t,this.type=3248260540}},e.IfcRailingType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2893384427}},e.IfcRampFlightType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2324767716}},e.IfcRelAggregates=class extends ii{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingObject=a,this.RelatedObjects=l,this.type=160246688}},e.IfcRelAssignsTasks=class extends $s{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingControl=r,this.TimeForTask=o,this.type=2863920197}},e.IfcSanitaryTerminalType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1768891740}},e.IfcScheduleTimeControl=class extends gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T,E,g,R){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ActualStart=l,this.EarlyStart=r,this.LateStart=o,this.ScheduleStart=c,this.ActualFinish=u,this.EarlyFinish=p,this.LateFinish=h,this.ScheduleFinish=d,this.ScheduleDuration=f,this.ActualDuration=I,this.RemainingTime=m,this.FreeFloat=y,this.TotalFloat=v,this.IsCritical=w,this.StatusTime=T,this.StartFloat=E,this.FinishFloat=g,this.Completion=R,this.type=3517283431}},e.IfcServiceLife=class extends gi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ServiceLifeType=l,this.ServiceLifeDuration=r,this.type=4105383287}},e.IfcSite=class extends oi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.RefLatitude=u,this.RefLongitude=p,this.RefElevation=h,this.LandTitleNumber=d,this.SiteAddress=f,this.type=4097777520}},e.IfcSlabType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2533589738}},e.IfcSpace=class extends oi{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.InteriorOrExteriorSpace=u,this.ElevationWithFlooring=p,this.type=3856911033}},e.IfcSpaceHeaterType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1305183839}},e.IfcSpaceProgram=class extends gi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.SpaceProgramIdentifier=l,this.MaxRequiredArea=r,this.MinRequiredArea=o,this.RequestedLocation=c,this.StandardRequiredArea=u,this.type=652456506}},e.IfcSpaceType=class extends ci{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3812236995}},e.IfcStackTerminalType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3112655638}},e.IfcStairFlightType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1039846685}};class zi extends ui{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.CausedBy=p,this.type=682877961}}e.IfcStructuralAction=zi;class Wi extends pi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.type=1179482911}}e.IfcStructuralConnection=Wi,e.IfcStructuralCurveConnection=class extends Wi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.type=4243806635}};class ki extends hi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.type=214636428}}e.IfcStructuralCurveMember=ki,e.IfcStructuralCurveMemberVarying=class extends ki{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.type=2445595289}};class Yi extends zi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.CausedBy=p,this.ProjectedOrTrue=h,this.type=1807405624}}e.IfcStructuralLinearAction=Yi,e.IfcStructuralLinearActionVarying=class extends Yi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c,u,p,h),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.CausedBy=p,this.ProjectedOrTrue=h,this.VaryingAppliedLoadLocation=d,this.SubsequentAppliedLoads=f,this.type=1721250024}},e.IfcStructuralLoadGroup=class extends Vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.ActionType=r,this.ActionSource=o,this.Coefficient=c,this.Purpose=u,this.type=1252848954}};class Xi extends zi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.CausedBy=p,this.ProjectedOrTrue=h,this.type=1621171031}}e.IfcStructuralPlanarAction=Xi,e.IfcStructuralPlanarActionVarying=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c,u,p,h),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.CausedBy=p,this.ProjectedOrTrue=h,this.VaryingAppliedLoadLocation=d,this.SubsequentAppliedLoads=f,this.type=3987759626}},e.IfcStructuralPointAction=class extends zi{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.CausedBy=p,this.type=2082059205}},e.IfcStructuralPointConnection=class extends Wi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.type=734778138}},e.IfcStructuralPointReaction=class extends di{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=1235345126}},e.IfcStructuralResultGroup=class extends Vi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheoryType=l,this.ResultForLoadGroup=r,this.IsLinear=o,this.type=2986769608}},e.IfcStructuralSurfaceConnection=class extends Wi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.type=1975003073}},e.IfcSubContractResource=class extends Ei{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ResourceIdentifier=l,this.ResourceGroup=r,this.ResourceConsumption=o,this.BaseQuantity=c,this.SubContractor=u,this.JobDescription=p,this.type=148013059}},e.IfcSwitchingDeviceType=class extends _i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2315554128}};class Ki extends Vi{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2254336722}}e.IfcSystem=Ki,e.IfcTankType=class extends Ui{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=5716631}},e.IfcTimeSeriesSchedule=class extends gi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ApplicableDates=l,this.TimeSeriesScheduleType=r,this.TimeSeries=o,this.type=1637806684}},e.IfcTransformerType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1692211062}},e.IfcTransportElement=class extends bi{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OperationType=c,this.CapacityByWeight=u,this.CapacityByNumber=p,this.type=1620046519}},e.IfcTrimmedCurve=class extends yi{constructor(e,t,n,s,i,a){super(e),this.BasisCurve=t,this.Trim1=n,this.Trim2=s,this.SenseAgreement=i,this.MasterRepresentation=a,this.type=3593883385}},e.IfcTubeBundleType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1600972822}},e.IfcUnitaryEquipmentType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1911125066}},e.IfcValveType=class extends _i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=728799441}},e.IfcVirtualElement=class extends bi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2769231204}},e.IfcWallType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1898987631}},e.IfcWasteTerminalType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1133259667}};class Zi extends gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identifier=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.WorkControlType=f,this.UserDefinedControlType=I,this.type=1028945134}}e.IfcWorkControl=Zi,e.IfcWorkPlan=class extends Zi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identifier=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.WorkControlType=f,this.UserDefinedControlType=I,this.type=4218914973}},e.IfcWorkSchedule=class extends Zi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identifier=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.WorkControlType=f,this.UserDefinedControlType=I,this.type=3342526732}},e.IfcZone=class extends Vi{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=1033361043}},e.Ifc2DCompositeCurve=class extends wi{constructor(e,t,n){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.type=1213861670}},e.IfcActionRequest=class extends gi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.RequestID=l,this.type=3821786052}},e.IfcAirTerminalBoxType=class extends _i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1411407467}},e.IfcAirTerminalType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3352864051}},e.IfcAirToAirHeatRecoveryType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1871374353}},e.IfcAngularDimension=class extends Ri{constructor(e,t){super(e,t),this.Contents=t,this.type=2470393545}},e.IfcAsset=class extends Vi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.AssetID=l,this.OriginalValue=r,this.CurrentValue=o,this.TotalReplacementCost=c,this.Owner=u,this.User=p,this.ResponsiblePerson=h,this.IncorporationDate=d,this.DepreciatedValue=f,this.type=3460190687}};class Qi extends yi{constructor(e,t,n,s,i,a){super(e),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.type=1967976161}}e.IfcBSplineCurve=Qi,e.IfcBeamType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=819618141}};class Ji extends Qi{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.type=1916977116}}e.IfcBezierCurve=Ji,e.IfcBoilerType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=231477066}};class $i extends bi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3299480353}}e.IfcBuildingElement=$i;class ea extends $i{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=52481810}}e.IfcBuildingElementComponent=ea,e.IfcBuildingElementPart=class extends ea{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2979338954}},e.IfcBuildingElementProxy=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.CompositionType=c,this.type=1095909175}},e.IfcBuildingElementProxyType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1909888760}},e.IfcCableCarrierFittingType=class extends Mi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=395041908}},e.IfcCableCarrierSegmentType=class extends Bi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3293546465}},e.IfcCableSegmentType=class extends Bi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1285652485}},e.IfcChillerType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2951183804}},e.IfcCircle=class extends Ti{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=2611217952}},e.IfcCoilType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2301859152}},e.IfcColumn=class extends $i{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=843113511}},e.IfcCompressorType=class extends Hi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3850581409}},e.IfcCondenserType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2816379211}},e.IfcCondition=class extends Vi{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2188551683}},e.IfcConditionCriterion=class extends gi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Criterion=l,this.CriterionDateTime=r,this.type=1163958913}},e.IfcConstructionEquipmentResource=class extends Ei{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ResourceIdentifier=l,this.ResourceGroup=r,this.ResourceConsumption=o,this.BaseQuantity=c,this.type=3898045240}},e.IfcConstructionMaterialResource=class extends Ei{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ResourceIdentifier=l,this.ResourceGroup=r,this.ResourceConsumption=o,this.BaseQuantity=c,this.Suppliers=u,this.UsageRatio=p,this.type=1060000209}},e.IfcConstructionProductResource=class extends Ei{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ResourceIdentifier=l,this.ResourceGroup=r,this.ResourceConsumption=o,this.BaseQuantity=c,this.type=488727124}},e.IfcCooledBeamType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=335055490}},e.IfcCoolingTowerType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2954562838}},e.IfcCovering=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1973544240}},e.IfcCurtainWall=class extends $i{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3495092785}},e.IfcDamperType=class extends _i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3961806047}},e.IfcDiameterDimension=class extends Ri{constructor(e,t){super(e,t),this.Contents=t,this.type=4147604152}},e.IfcDiscreteAccessory=class extends Ni{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1335981549}};class ta extends Oi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2635815018}}e.IfcDiscreteAccessoryType=ta,e.IfcDistributionChamberElementType=class extends Si{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1599208980}};class na extends Di{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2063403501}}e.IfcDistributionControlElementType=na;class sa extends bi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1945004755}}e.IfcDistributionElement=sa;class ia extends sa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3040386961}}e.IfcDistributionFlowElement=ia,e.IfcDistributionPort=class extends ji{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.FlowDirection=o,this.type=3041715199}},e.IfcDoor=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OverallHeight=c,this.OverallWidth=u,this.type=395920057}},e.IfcDuctFittingType=class extends Mi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=869906466}},e.IfcDuctSegmentType=class extends Bi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3760055223}},e.IfcDuctSilencerType=class extends Gi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2030761528}};class aa extends qi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.FeatureLength=c,this.type=855621170}}e.IfcEdgeFeature=aa,e.IfcElectricApplianceType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=663422040}},e.IfcElectricFlowStorageDeviceType=class extends Ui{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3277789161}},e.IfcElectricGeneratorType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1534661035}},e.IfcElectricHeaterType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1365060375}},e.IfcElectricMotorType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1217240411}},e.IfcElectricTimeControlType=class extends _i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=712377611}},e.IfcElectricalCircuit=class extends Ki{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=1634875225}},e.IfcElectricalElement=class extends bi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=857184966}},e.IfcEnergyConversionDevice=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1658829314}},e.IfcFanType=class extends Hi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=346874300}},e.IfcFilterType=class extends Gi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1810631287}},e.IfcFireSuppressionTerminalType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4222183408}};class la extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2058353004}}e.IfcFlowController=la,e.IfcFlowFitting=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=4278956645}},e.IfcFlowInstrumentType=class extends na{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4037862832}},e.IfcFlowMovingDevice=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3132237377}},e.IfcFlowSegment=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=987401354}},e.IfcFlowStorageDevice=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=707683696}},e.IfcFlowTerminal=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2223149337}},e.IfcFlowTreatmentDevice=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3508470533}},e.IfcFooting=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=900683007}},e.IfcMember=class extends $i{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1073191201}},e.IfcPile=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.ConstructionType=u,this.type=1687234759}},e.IfcPlate=class extends $i{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3171933400}},e.IfcRailing=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2262370178}},e.IfcRamp=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.ShapeType=c,this.type=3024970846}},e.IfcRampFlight=class extends $i{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3283111854}},e.IfcRationalBezierCurve=class extends Ji{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.WeightsData=l,this.type=3055160366}};class ra extends ea{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.type=3027567501}}e.IfcReinforcingElement=ra,e.IfcReinforcingMesh=class extends ra{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.MeshLength=u,this.MeshWidth=p,this.LongitudinalBarNominalDiameter=h,this.TransverseBarNominalDiameter=d,this.LongitudinalBarCrossSectionArea=f,this.TransverseBarCrossSectionArea=I,this.LongitudinalBarSpacing=m,this.TransverseBarSpacing=y,this.type=2320036040}},e.IfcRoof=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.ShapeType=c,this.type=2016517767}},e.IfcRoundedEdgeFeature=class extends aa{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.FeatureLength=c,this.Radius=u,this.type=1376911519}},e.IfcSensorType=class extends na{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1783015770}},e.IfcSlab=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1529196076}},e.IfcStair=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.ShapeType=c,this.type=331165859}},e.IfcStairFlight=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.NumberOfRiser=c,this.NumberOfTreads=u,this.RiserHeight=p,this.TreadLength=h,this.type=4252922144}},e.IfcStructuralAnalysisModel=class extends Ki{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.OrientationOf2DPlane=r,this.LoadedBy=o,this.HasResults=c,this.type=2515109513}},e.IfcTendon=class extends ra{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.PredefinedType=u,this.NominalDiameter=p,this.CrossSectionArea=h,this.TensionForce=d,this.PreStress=f,this.FrictionCoefficient=I,this.AnchorageSlip=m,this.MinCurvatureRadius=y,this.type=3824725483}},e.IfcTendonAnchor=class extends ra{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.type=2347447852}},e.IfcVibrationIsolatorType=class extends ta{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3313531582}};class oa extends $i{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2391406946}}e.IfcWall=oa,e.IfcWallStandardCase=class extends oa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3512223829}},e.IfcWindow=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OverallHeight=c,this.OverallWidth=u,this.type=3304561284}},e.IfcActuatorType=class extends na{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2874132201}},e.IfcAlarmType=class extends na{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3001207471}},e.IfcBeam=class extends $i{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=753842376}},e.IfcChamferEdgeFeature=class extends aa{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.FeatureLength=c,this.Width=u,this.Height=p,this.type=2454782716}},e.IfcControllerType=class extends na{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=578613899}},e.IfcDistributionChamberElement=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1052013943}},e.IfcDistributionControlElement=class extends sa{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.ControlElementId=c,this.type=1062813311}},e.IfcElectricDistributionPoint=class extends la{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.DistributionPointFunction=c,this.UserDefinedFunction=u,this.type=3700593921}},e.IfcReinforcingBar=class extends ra{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.NominalDiameter=u,this.CrossSectionArea=p,this.BarLength=h,this.BarRole=d,this.BarSurface=f,this.type=979691226}}}(a||(a={})),qm[2]=[\"IFC4\",\"IFC4X1\",\"IFC4X2\"],Om[2]={3630933823:(e,t)=>new l.IfcActorRole(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcText(t[2].value):null),618182010:(e,t)=>new l.IfcAddress(e,t[0],t[1]?new l.IfcText(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null),639542469:(e,t)=>new l.IfcApplication(e,new bm(t[0].value),new l.IfcLabel(t[1].value),new l.IfcLabel(t[2].value),new l.IfcIdentifier(t[3].value)),411424972:(e,t)=>new l.IfcAppliedValue(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new l.IfcDate(t[4].value):null,t[5]?new l.IfcDate(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((e=>new bm(e.value))):null),130549933:(e,t)=>new l.IfcApproval(e,t[0]?new l.IfcIdentifier(t[0].value):null,t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcText(t[2].value):null,t[3]?new l.IfcDateTime(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null),4037036970:(e,t)=>new l.IfcBoundaryCondition(e,t[0]?new l.IfcLabel(t[0].value):null),1560379544:(e,t)=>new l.IfcBoundaryEdgeCondition(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?_m(2,t[1]):null,t[2]?_m(2,t[2]):null,t[3]?_m(2,t[3]):null,t[4]?_m(2,t[4]):null,t[5]?_m(2,t[5]):null,t[6]?_m(2,t[6]):null),3367102660:(e,t)=>new l.IfcBoundaryFaceCondition(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?_m(2,t[1]):null,t[2]?_m(2,t[2]):null,t[3]?_m(2,t[3]):null),1387855156:(e,t)=>new l.IfcBoundaryNodeCondition(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?_m(2,t[1]):null,t[2]?_m(2,t[2]):null,t[3]?_m(2,t[3]):null,t[4]?_m(2,t[4]):null,t[5]?_m(2,t[5]):null,t[6]?_m(2,t[6]):null),2069777674:(e,t)=>new l.IfcBoundaryNodeConditionWarping(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?_m(2,t[1]):null,t[2]?_m(2,t[2]):null,t[3]?_m(2,t[3]):null,t[4]?_m(2,t[4]):null,t[5]?_m(2,t[5]):null,t[6]?_m(2,t[6]):null,t[7]?_m(2,t[7]):null),2859738748:(e,t)=>new l.IfcConnectionGeometry(e),2614616156:(e,t)=>new l.IfcConnectionPointGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),2732653382:(e,t)=>new l.IfcConnectionSurfaceGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),775493141:(e,t)=>new l.IfcConnectionVolumeGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),1959218052:(e,t)=>new l.IfcConstraint(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2],t[3]?new l.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new l.IfcDateTime(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null),1785450214:(e,t)=>new l.IfcCoordinateOperation(e,new bm(t[0].value),new bm(t[1].value)),1466758467:(e,t)=>new l.IfcCoordinateReferenceSystem(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new l.IfcIdentifier(t[2].value):null,t[3]?new l.IfcIdentifier(t[3].value):null),602808272:(e,t)=>new l.IfcCostValue(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new l.IfcDate(t[4].value):null,t[5]?new l.IfcDate(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((e=>new bm(e.value))):null),1765591967:(e,t)=>new l.IfcDerivedUnit(e,t[0].map((e=>new bm(e.value))),t[1],t[2]?new l.IfcLabel(t[2].value):null),1045800335:(e,t)=>new l.IfcDerivedUnitElement(e,new bm(t[0].value),t[1].value),2949456006:(e,t)=>new l.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value),4294318154:(e,t)=>new l.IfcExternalInformation(e),3200245327:(e,t)=>new l.IfcExternalReference(e,t[0]?new l.IfcURIReference(t[0].value):null,t[1]?new l.IfcIdentifier(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null),2242383968:(e,t)=>new l.IfcExternallyDefinedHatchStyle(e,t[0]?new l.IfcURIReference(t[0].value):null,t[1]?new l.IfcIdentifier(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null),1040185647:(e,t)=>new l.IfcExternallyDefinedSurfaceStyle(e,t[0]?new l.IfcURIReference(t[0].value):null,t[1]?new l.IfcIdentifier(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null),3548104201:(e,t)=>new l.IfcExternallyDefinedTextFont(e,t[0]?new l.IfcURIReference(t[0].value):null,t[1]?new l.IfcIdentifier(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null),852622518:(e,t)=>new l.IfcGridAxis(e,t[0]?new l.IfcLabel(t[0].value):null,new bm(t[1].value),new l.IfcBoolean(t[2].value)),3020489413:(e,t)=>new l.IfcIrregularTimeSeriesValue(e,new l.IfcDateTime(t[0].value),t[1].map((e=>_m(2,e)))),2655187982:(e,t)=>new l.IfcLibraryInformation(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new l.IfcDateTime(t[3].value):null,t[4]?new l.IfcURIReference(t[4].value):null,t[5]?new l.IfcText(t[5].value):null),3452421091:(e,t)=>new l.IfcLibraryReference(e,t[0]?new l.IfcURIReference(t[0].value):null,t[1]?new l.IfcIdentifier(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLanguageId(t[4].value):null,t[5]?new bm(t[5].value):null),4162380809:(e,t)=>new l.IfcLightDistributionData(e,new l.IfcPlaneAngleMeasure(t[0].value),t[1].map((e=>new l.IfcPlaneAngleMeasure(e.value))),t[2].map((e=>new l.IfcLuminousIntensityDistributionMeasure(e.value)))),1566485204:(e,t)=>new l.IfcLightIntensityDistribution(e,t[0],t[1].map((e=>new bm(e.value)))),3057273783:(e,t)=>new l.IfcMapConversion(e,new bm(t[0].value),new bm(t[1].value),new l.IfcLengthMeasure(t[2].value),new l.IfcLengthMeasure(t[3].value),new l.IfcLengthMeasure(t[4].value),t[5]?new l.IfcReal(t[5].value):null,t[6]?new l.IfcReal(t[6].value):null,t[7]?new l.IfcReal(t[7].value):null),1847130766:(e,t)=>new l.IfcMaterialClassificationRelationship(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value)),760658860:(e,t)=>new l.IfcMaterialDefinition(e),248100487:(e,t)=>new l.IfcMaterialLayer(e,t[0]?new bm(t[0].value):null,new l.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new l.IfcLogical(t[2].value):null,t[3]?new l.IfcLabel(t[3].value):null,t[4]?new l.IfcText(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]?new l.IfcInteger(t[6].value):null),3303938423:(e,t)=>new l.IfcMaterialLayerSet(e,t[0].map((e=>new bm(e.value))),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcText(t[2].value):null),1847252529:(e,t)=>new l.IfcMaterialLayerWithOffsets(e,t[0]?new bm(t[0].value):null,new l.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new l.IfcLogical(t[2].value):null,t[3]?new l.IfcLabel(t[3].value):null,t[4]?new l.IfcText(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]?new l.IfcInteger(t[6].value):null,t[7],new l.IfcLengthMeasure(t[8].value)),2199411900:(e,t)=>new l.IfcMaterialList(e,t[0].map((e=>new bm(e.value)))),2235152071:(e,t)=>new l.IfcMaterialProfile(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new bm(t[3].value),t[4]?new l.IfcInteger(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null),164193824:(e,t)=>new l.IfcMaterialProfileSet(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new bm(t[3].value):null),552965576:(e,t)=>new l.IfcMaterialProfileWithOffsets(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new bm(t[3].value),t[4]?new l.IfcInteger(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,new l.IfcLengthMeasure(t[6].value)),1507914824:(e,t)=>new l.IfcMaterialUsageDefinition(e),2597039031:(e,t)=>new l.IfcMeasureWithUnit(e,_m(2,t[0]),new bm(t[1].value)),3368373690:(e,t)=>new l.IfcMetric(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2],t[3]?new l.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new l.IfcDateTime(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7],t[8]?new l.IfcLabel(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null),2706619895:(e,t)=>new l.IfcMonetaryUnit(e,new l.IfcLabel(t[0].value)),1918398963:(e,t)=>new l.IfcNamedUnit(e,new bm(t[0].value),t[1]),3701648758:(e,t)=>new l.IfcObjectPlacement(e),2251480897:(e,t)=>new l.IfcObjective(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2],t[3]?new l.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new l.IfcDateTime(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8],t[9],t[10]?new l.IfcLabel(t[10].value):null),4251960020:(e,t)=>new l.IfcOrganization(e,t[0]?new l.IfcIdentifier(t[0].value):null,new l.IfcLabel(t[1].value),t[2]?new l.IfcText(t[2].value):null,t[3]?t[3].map((e=>new bm(e.value))):null,t[4]?t[4].map((e=>new bm(e.value))):null),1207048766:(e,t)=>new l.IfcOwnerHistory(e,new bm(t[0].value),new bm(t[1].value),t[2],t[3],t[4]?new l.IfcTimeStamp(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new l.IfcTimeStamp(t[7].value)),2077209135:(e,t)=>new l.IfcPerson(e,t[0]?new l.IfcIdentifier(t[0].value):null,t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?t[3].map((e=>new l.IfcLabel(e.value))):null,t[4]?t[4].map((e=>new l.IfcLabel(e.value))):null,t[5]?t[5].map((e=>new l.IfcLabel(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?t[7].map((e=>new bm(e.value))):null),101040310:(e,t)=>new l.IfcPersonAndOrganization(e,new bm(t[0].value),new bm(t[1].value),t[2]?t[2].map((e=>new bm(e.value))):null),2483315170:(e,t)=>new l.IfcPhysicalQuantity(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null),2226359599:(e,t)=>new l.IfcPhysicalSimpleQuantity(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null),3355820592:(e,t)=>new l.IfcPostalAddress(e,t[0],t[1]?new l.IfcText(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcLabel(t[3].value):null,t[4]?t[4].map((e=>new l.IfcLabel(e.value))):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?new l.IfcLabel(t[9].value):null),677532197:(e,t)=>new l.IfcPresentationItem(e),2022622350:(e,t)=>new l.IfcPresentationLayerAssignment(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new l.IfcIdentifier(t[3].value):null),1304840413:(e,t)=>new l.IfcPresentationLayerWithStyle(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new l.IfcIdentifier(t[3].value):null,new l.IfcLogical(t[4].value),new l.IfcLogical(t[5].value),new l.IfcLogical(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null),3119450353:(e,t)=>new l.IfcPresentationStyle(e,t[0]?new l.IfcLabel(t[0].value):null),2417041796:(e,t)=>new l.IfcPresentationStyleAssignment(e,t[0].map((e=>new bm(e.value)))),2095639259:(e,t)=>new l.IfcProductRepresentation(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value)))),3958567839:(e,t)=>new l.IfcProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null),3843373140:(e,t)=>new l.IfcProjectedCRS(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new l.IfcIdentifier(t[2].value):null,t[3]?new l.IfcIdentifier(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new bm(t[6].value):null),986844984:(e,t)=>new l.IfcPropertyAbstraction(e),3710013099:(e,t)=>new l.IfcPropertyEnumeration(e,new l.IfcLabel(t[0].value),t[1].map((e=>_m(2,e))),t[2]?new bm(t[2].value):null),2044713172:(e,t)=>new l.IfcQuantityArea(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcAreaMeasure(t[3].value),t[4]?new l.IfcLabel(t[4].value):null),2093928680:(e,t)=>new l.IfcQuantityCount(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcCountMeasure(t[3].value),t[4]?new l.IfcLabel(t[4].value):null),931644368:(e,t)=>new l.IfcQuantityLength(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcLengthMeasure(t[3].value),t[4]?new l.IfcLabel(t[4].value):null),3252649465:(e,t)=>new l.IfcQuantityTime(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcTimeMeasure(t[3].value),t[4]?new l.IfcLabel(t[4].value):null),2405470396:(e,t)=>new l.IfcQuantityVolume(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcVolumeMeasure(t[3].value),t[4]?new l.IfcLabel(t[4].value):null),825690147:(e,t)=>new l.IfcQuantityWeight(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcMassMeasure(t[3].value),t[4]?new l.IfcLabel(t[4].value):null),3915482550:(e,t)=>new l.IfcRecurrencePattern(e,t[0],t[1]?t[1].map((e=>new l.IfcDayInMonthNumber(e.value))):null,t[2]?t[2].map((e=>new l.IfcDayInWeekNumber(e.value))):null,t[3]?t[3].map((e=>new l.IfcMonthInYearNumber(e.value))):null,t[4]?new l.IfcInteger(t[4].value):null,t[5]?new l.IfcInteger(t[5].value):null,t[6]?new l.IfcInteger(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null),2433181523:(e,t)=>new l.IfcReference(e,t[0]?new l.IfcIdentifier(t[0].value):null,t[1]?new l.IfcIdentifier(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?t[3].map((e=>new l.IfcInteger(e.value))):null,t[4]?new bm(t[4].value):null),1076942058:(e,t)=>new l.IfcRepresentation(e,new bm(t[0].value),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),3377609919:(e,t)=>new l.IfcRepresentationContext(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcLabel(t[1].value):null),3008791417:(e,t)=>new l.IfcRepresentationItem(e),1660063152:(e,t)=>new l.IfcRepresentationMap(e,new bm(t[0].value),new bm(t[1].value)),2439245199:(e,t)=>new l.IfcResourceLevelRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null),2341007311:(e,t)=>new l.IfcRoot(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),448429030:(e,t)=>new l.IfcSIUnit(e,t[0],t[1],t[2]),1054537805:(e,t)=>new l.IfcSchedulingTime(e,t[0]?new l.IfcLabel(t[0].value):null,t[1],t[2]?new l.IfcLabel(t[2].value):null),867548509:(e,t)=>new l.IfcShapeAspect(e,t[0].map((e=>new bm(e.value))),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcText(t[2].value):null,new l.IfcLogical(t[3].value),t[4]?new bm(t[4].value):null),3982875396:(e,t)=>new l.IfcShapeModel(e,new bm(t[0].value),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),4240577450:(e,t)=>new l.IfcShapeRepresentation(e,new bm(t[0].value),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),2273995522:(e,t)=>new l.IfcStructuralConnectionCondition(e,t[0]?new l.IfcLabel(t[0].value):null),2162789131:(e,t)=>new l.IfcStructuralLoad(e,t[0]?new l.IfcLabel(t[0].value):null),3478079324:(e,t)=>new l.IfcStructuralLoadConfiguration(e,t[0]?new l.IfcLabel(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?t[2].map((e=>new l.IfcLengthMeasure(e.value))):null),609421318:(e,t)=>new l.IfcStructuralLoadOrResult(e,t[0]?new l.IfcLabel(t[0].value):null),2525727697:(e,t)=>new l.IfcStructuralLoadStatic(e,t[0]?new l.IfcLabel(t[0].value):null),3408363356:(e,t)=>new l.IfcStructuralLoadTemperature(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new l.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new l.IfcThermodynamicTemperatureMeasure(t[3].value):null),2830218821:(e,t)=>new l.IfcStyleModel(e,new bm(t[0].value),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),3958052878:(e,t)=>new l.IfcStyledItem(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new l.IfcLabel(t[2].value):null),3049322572:(e,t)=>new l.IfcStyledRepresentation(e,new bm(t[0].value),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),2934153892:(e,t)=>new l.IfcSurfaceReinforcementArea(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?t[1].map((e=>new l.IfcLengthMeasure(e.value))):null,t[2]?t[2].map((e=>new l.IfcLengthMeasure(e.value))):null,t[3]?new l.IfcRatioMeasure(t[3].value):null),1300840506:(e,t)=>new l.IfcSurfaceStyle(e,t[0]?new l.IfcLabel(t[0].value):null,t[1],t[2].map((e=>new bm(e.value)))),3303107099:(e,t)=>new l.IfcSurfaceStyleLighting(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new bm(t[3].value)),1607154358:(e,t)=>new l.IfcSurfaceStyleRefraction(e,t[0]?new l.IfcReal(t[0].value):null,t[1]?new l.IfcReal(t[1].value):null),846575682:(e,t)=>new l.IfcSurfaceStyleShading(e,new bm(t[0].value),t[1]?new l.IfcNormalisedRatioMeasure(t[1].value):null),1351298697:(e,t)=>new l.IfcSurfaceStyleWithTextures(e,t[0].map((e=>new bm(e.value)))),626085974:(e,t)=>new l.IfcSurfaceTexture(e,new l.IfcBoolean(t[0].value),new l.IfcBoolean(t[1].value),t[2]?new l.IfcIdentifier(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new l.IfcIdentifier(e.value))):null),985171141:(e,t)=>new l.IfcTable(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?t[1].map((e=>new bm(e.value))):null,t[2]?t[2].map((e=>new bm(e.value))):null),2043862942:(e,t)=>new l.IfcTableColumn(e,t[0]?new l.IfcIdentifier(t[0].value):null,t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcText(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new bm(t[4].value):null),531007025:(e,t)=>new l.IfcTableRow(e,t[0]?t[0].map((e=>_m(2,e))):null,t[1]?new l.IfcBoolean(t[1].value):null),1549132990:(e,t)=>new l.IfcTaskTime(e,t[0]?new l.IfcLabel(t[0].value):null,t[1],t[2]?new l.IfcLabel(t[2].value):null,t[3],t[4]?new l.IfcDuration(t[4].value):null,t[5]?new l.IfcDateTime(t[5].value):null,t[6]?new l.IfcDateTime(t[6].value):null,t[7]?new l.IfcDateTime(t[7].value):null,t[8]?new l.IfcDateTime(t[8].value):null,t[9]?new l.IfcDateTime(t[9].value):null,t[10]?new l.IfcDateTime(t[10].value):null,t[11]?new l.IfcDuration(t[11].value):null,t[12]?new l.IfcDuration(t[12].value):null,t[13]?new l.IfcBoolean(t[13].value):null,t[14]?new l.IfcDateTime(t[14].value):null,t[15]?new l.IfcDuration(t[15].value):null,t[16]?new l.IfcDateTime(t[16].value):null,t[17]?new l.IfcDateTime(t[17].value):null,t[18]?new l.IfcDuration(t[18].value):null,t[19]?new l.IfcPositiveRatioMeasure(t[19].value):null),2771591690:(e,t)=>new l.IfcTaskTimeRecurring(e,t[0]?new l.IfcLabel(t[0].value):null,t[1],t[2]?new l.IfcLabel(t[2].value):null,t[3],t[4]?new l.IfcDuration(t[4].value):null,t[5]?new l.IfcDateTime(t[5].value):null,t[6]?new l.IfcDateTime(t[6].value):null,t[7]?new l.IfcDateTime(t[7].value):null,t[8]?new l.IfcDateTime(t[8].value):null,t[9]?new l.IfcDateTime(t[9].value):null,t[10]?new l.IfcDateTime(t[10].value):null,t[11]?new l.IfcDuration(t[11].value):null,t[12]?new l.IfcDuration(t[12].value):null,t[13]?new l.IfcBoolean(t[13].value):null,t[14]?new l.IfcDateTime(t[14].value):null,t[15]?new l.IfcDuration(t[15].value):null,t[16]?new l.IfcDateTime(t[16].value):null,t[17]?new l.IfcDateTime(t[17].value):null,t[18]?new l.IfcDuration(t[18].value):null,t[19]?new l.IfcPositiveRatioMeasure(t[19].value):null,new bm(t[20].value)),912023232:(e,t)=>new l.IfcTelecomAddress(e,t[0],t[1]?new l.IfcText(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?t[3].map((e=>new l.IfcLabel(e.value))):null,t[4]?t[4].map((e=>new l.IfcLabel(e.value))):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]?t[6].map((e=>new l.IfcLabel(e.value))):null,t[7]?new l.IfcURIReference(t[7].value):null,t[8]?t[8].map((e=>new l.IfcURIReference(e.value))):null),1447204868:(e,t)=>new l.IfcTextStyle(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?new bm(t[2].value):null,new bm(t[3].value),t[4]?new l.IfcBoolean(t[4].value):null),2636378356:(e,t)=>new l.IfcTextStyleForDefinedFont(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),1640371178:(e,t)=>new l.IfcTextStyleTextModel(e,t[0]?_m(2,t[0]):null,t[1]?new l.IfcTextAlignment(t[1].value):null,t[2]?new l.IfcTextDecoration(t[2].value):null,t[3]?_m(2,t[3]):null,t[4]?_m(2,t[4]):null,t[5]?new l.IfcTextTransformation(t[5].value):null,t[6]?_m(2,t[6]):null),280115917:(e,t)=>new l.IfcTextureCoordinate(e,t[0].map((e=>new bm(e.value)))),1742049831:(e,t)=>new l.IfcTextureCoordinateGenerator(e,t[0].map((e=>new bm(e.value))),new l.IfcLabel(t[1].value),t[2]?t[2].map((e=>new l.IfcReal(e.value))):null),2552916305:(e,t)=>new l.IfcTextureMap(e,t[0].map((e=>new bm(e.value))),t[1].map((e=>new bm(e.value))),new bm(t[2].value)),1210645708:(e,t)=>new l.IfcTextureVertex(e,t[0].map((e=>new l.IfcParameterValue(e.value)))),3611470254:(e,t)=>new l.IfcTextureVertexList(e,t[0].map((e=>new l.IfcParameterValue(e.value)))),1199560280:(e,t)=>new l.IfcTimePeriod(e,new l.IfcTime(t[0].value),new l.IfcTime(t[1].value)),3101149627:(e,t)=>new l.IfcTimeSeries(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,new l.IfcDateTime(t[2].value),new l.IfcDateTime(t[3].value),t[4],t[5],t[6]?new l.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null),581633288:(e,t)=>new l.IfcTimeSeriesValue(e,t[0].map((e=>_m(2,e)))),1377556343:(e,t)=>new l.IfcTopologicalRepresentationItem(e),1735638870:(e,t)=>new l.IfcTopologyRepresentation(e,new bm(t[0].value),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),180925521:(e,t)=>new l.IfcUnitAssignment(e,t[0].map((e=>new bm(e.value)))),2799835756:(e,t)=>new l.IfcVertex(e),1907098498:(e,t)=>new l.IfcVertexPoint(e,new bm(t[0].value)),891718957:(e,t)=>new l.IfcVirtualGridIntersection(e,t[0].map((e=>new bm(e.value))),t[1].map((e=>new l.IfcLengthMeasure(e.value)))),1236880293:(e,t)=>new l.IfcWorkTime(e,t[0]?new l.IfcLabel(t[0].value):null,t[1],t[2]?new l.IfcLabel(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new l.IfcDate(t[4].value):null,t[5]?new l.IfcDate(t[5].value):null),3869604511:(e,t)=>new l.IfcApprovalRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),3798115385:(e,t)=>new l.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,new bm(t[2].value)),1310608509:(e,t)=>new l.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,new bm(t[2].value)),2705031697:(e,t)=>new l.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),616511568:(e,t)=>new l.IfcBlobTexture(e,new l.IfcBoolean(t[0].value),new l.IfcBoolean(t[1].value),t[2]?new l.IfcIdentifier(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new l.IfcIdentifier(e.value))):null,new l.IfcIdentifier(t[5].value),new l.IfcBinary(t[6].value)),3150382593:(e,t)=>new l.IfcCenterLineProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,new bm(t[2].value),new l.IfcPositiveLengthMeasure(t[3].value)),747523909:(e,t)=>new l.IfcClassification(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcDate(t[2].value):null,new l.IfcLabel(t[3].value),t[4]?new l.IfcText(t[4].value):null,t[5]?new l.IfcURIReference(t[5].value):null,t[6]?t[6].map((e=>new l.IfcIdentifier(e.value))):null),647927063:(e,t)=>new l.IfcClassificationReference(e,t[0]?new l.IfcURIReference(t[0].value):null,t[1]?new l.IfcIdentifier(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new l.IfcText(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null),3285139300:(e,t)=>new l.IfcColourRgbList(e,t[0].map((e=>new l.IfcNormalisedRatioMeasure(e.value)))),3264961684:(e,t)=>new l.IfcColourSpecification(e,t[0]?new l.IfcLabel(t[0].value):null),1485152156:(e,t)=>new l.IfcCompositeProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new l.IfcLabel(t[3].value):null),370225590:(e,t)=>new l.IfcConnectedFaceSet(e,t[0].map((e=>new bm(e.value)))),1981873012:(e,t)=>new l.IfcConnectionCurveGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),45288368:(e,t)=>new l.IfcConnectionPointEccentricity(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLengthMeasure(t[2].value):null,t[3]?new l.IfcLengthMeasure(t[3].value):null,t[4]?new l.IfcLengthMeasure(t[4].value):null),3050246964:(e,t)=>new l.IfcContextDependentUnit(e,new bm(t[0].value),t[1],new l.IfcLabel(t[2].value)),2889183280:(e,t)=>new l.IfcConversionBasedUnit(e,new bm(t[0].value),t[1],new l.IfcLabel(t[2].value),new bm(t[3].value)),2713554722:(e,t)=>new l.IfcConversionBasedUnitWithOffset(e,new bm(t[0].value),t[1],new l.IfcLabel(t[2].value),new bm(t[3].value),new l.IfcReal(t[4].value)),539742890:(e,t)=>new l.IfcCurrencyRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value),new l.IfcPositiveRatioMeasure(t[4].value),t[5]?new l.IfcDateTime(t[5].value):null,t[6]?new bm(t[6].value):null),3800577675:(e,t)=>new l.IfcCurveStyle(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?_m(2,t[2]):null,t[3]?new bm(t[3].value):null,t[4]?new l.IfcBoolean(t[4].value):null),1105321065:(e,t)=>new l.IfcCurveStyleFont(e,t[0]?new l.IfcLabel(t[0].value):null,t[1].map((e=>new bm(e.value)))),2367409068:(e,t)=>new l.IfcCurveStyleFontAndScaling(e,t[0]?new l.IfcLabel(t[0].value):null,new bm(t[1].value),new l.IfcPositiveRatioMeasure(t[2].value)),3510044353:(e,t)=>new l.IfcCurveStyleFontPattern(e,new l.IfcLengthMeasure(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value)),3632507154:(e,t)=>new l.IfcDerivedProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4]?new l.IfcLabel(t[4].value):null),1154170062:(e,t)=>new l.IfcDocumentInformation(e,new l.IfcIdentifier(t[0].value),new l.IfcLabel(t[1].value),t[2]?new l.IfcText(t[2].value):null,t[3]?new l.IfcURIReference(t[3].value):null,t[4]?new l.IfcText(t[4].value):null,t[5]?new l.IfcText(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new bm(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new l.IfcDateTime(t[10].value):null,t[11]?new l.IfcDateTime(t[11].value):null,t[12]?new l.IfcIdentifier(t[12].value):null,t[13]?new l.IfcDate(t[13].value):null,t[14]?new l.IfcDate(t[14].value):null,t[15],t[16]),770865208:(e,t)=>new l.IfcDocumentInformationRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value))),t[4]?new l.IfcLabel(t[4].value):null),3732053477:(e,t)=>new l.IfcDocumentReference(e,t[0]?new l.IfcURIReference(t[0].value):null,t[1]?new l.IfcIdentifier(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null),3900360178:(e,t)=>new l.IfcEdge(e,new bm(t[0].value),new bm(t[1].value)),476780140:(e,t)=>new l.IfcEdgeCurve(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new l.IfcBoolean(t[3].value)),211053100:(e,t)=>new l.IfcEventTime(e,t[0]?new l.IfcLabel(t[0].value):null,t[1],t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcDateTime(t[3].value):null,t[4]?new l.IfcDateTime(t[4].value):null,t[5]?new l.IfcDateTime(t[5].value):null,t[6]?new l.IfcDateTime(t[6].value):null),297599258:(e,t)=>new l.IfcExtendedProperties(e,t[0]?new l.IfcIdentifier(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value)))),1437805879:(e,t)=>new l.IfcExternalReferenceRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),2556980723:(e,t)=>new l.IfcFace(e,t[0].map((e=>new bm(e.value)))),1809719519:(e,t)=>new l.IfcFaceBound(e,new bm(t[0].value),new l.IfcBoolean(t[1].value)),803316827:(e,t)=>new l.IfcFaceOuterBound(e,new bm(t[0].value),new l.IfcBoolean(t[1].value)),3008276851:(e,t)=>new l.IfcFaceSurface(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new l.IfcBoolean(t[2].value)),4219587988:(e,t)=>new l.IfcFailureConnectionCondition(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcForceMeasure(t[1].value):null,t[2]?new l.IfcForceMeasure(t[2].value):null,t[3]?new l.IfcForceMeasure(t[3].value):null,t[4]?new l.IfcForceMeasure(t[4].value):null,t[5]?new l.IfcForceMeasure(t[5].value):null,t[6]?new l.IfcForceMeasure(t[6].value):null),738692330:(e,t)=>new l.IfcFillAreaStyle(e,t[0]?new l.IfcLabel(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new l.IfcBoolean(t[2].value):null),3448662350:(e,t)=>new l.IfcGeometricRepresentationContext(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcLabel(t[1].value):null,new l.IfcDimensionCount(t[2].value),t[3]?new l.IfcReal(t[3].value):null,new bm(t[4].value),t[5]?new bm(t[5].value):null),2453401579:(e,t)=>new l.IfcGeometricRepresentationItem(e),4142052618:(e,t)=>new l.IfcGeometricRepresentationSubContext(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcLabel(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcPositiveRatioMeasure(t[3].value):null,t[4],t[5]?new l.IfcLabel(t[5].value):null),3590301190:(e,t)=>new l.IfcGeometricSet(e,t[0].map((e=>new bm(e.value)))),178086475:(e,t)=>new l.IfcGridPlacement(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),812098782:(e,t)=>new l.IfcHalfSpaceSolid(e,new bm(t[0].value),new l.IfcBoolean(t[1].value)),3905492369:(e,t)=>new l.IfcImageTexture(e,new l.IfcBoolean(t[0].value),new l.IfcBoolean(t[1].value),t[2]?new l.IfcIdentifier(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new l.IfcIdentifier(e.value))):null,new l.IfcURIReference(t[5].value)),3570813810:(e,t)=>new l.IfcIndexedColourMap(e,new bm(t[0].value),t[1]?new l.IfcNormalisedRatioMeasure(t[1].value):null,new bm(t[2].value),t[3].map((e=>new l.IfcPositiveInteger(e.value)))),1437953363:(e,t)=>new l.IfcIndexedTextureMap(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new bm(t[2].value)),2133299955:(e,t)=>new l.IfcIndexedTriangleTextureMap(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new bm(t[2].value),t[3]?t[3].map((e=>new l.IfcPositiveInteger(e.value))):null),3741457305:(e,t)=>new l.IfcIrregularTimeSeries(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,new l.IfcDateTime(t[2].value),new l.IfcDateTime(t[3].value),t[4],t[5],t[6]?new l.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,t[8].map((e=>new bm(e.value)))),1585845231:(e,t)=>new l.IfcLagTime(e,t[0]?new l.IfcLabel(t[0].value):null,t[1],t[2]?new l.IfcLabel(t[2].value):null,_m(2,t[3]),t[4]),1402838566:(e,t)=>new l.IfcLightSource(e,t[0]?new l.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new l.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new l.IfcNormalisedRatioMeasure(t[3].value):null),125510826:(e,t)=>new l.IfcLightSourceAmbient(e,t[0]?new l.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new l.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new l.IfcNormalisedRatioMeasure(t[3].value):null),2604431987:(e,t)=>new l.IfcLightSourceDirectional(e,t[0]?new l.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new l.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new l.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value)),4266656042:(e,t)=>new l.IfcLightSourceGoniometric(e,t[0]?new l.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new l.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new l.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),t[5]?new bm(t[5].value):null,new l.IfcThermodynamicTemperatureMeasure(t[6].value),new l.IfcLuminousFluxMeasure(t[7].value),t[8],new bm(t[9].value)),1520743889:(e,t)=>new l.IfcLightSourcePositional(e,t[0]?new l.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new l.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new l.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcReal(t[6].value),new l.IfcReal(t[7].value),new l.IfcReal(t[8].value)),3422422726:(e,t)=>new l.IfcLightSourceSpot(e,t[0]?new l.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new l.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new l.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcReal(t[6].value),new l.IfcReal(t[7].value),new l.IfcReal(t[8].value),new bm(t[9].value),t[10]?new l.IfcReal(t[10].value):null,new l.IfcPositivePlaneAngleMeasure(t[11].value),new l.IfcPositivePlaneAngleMeasure(t[12].value)),2624227202:(e,t)=>new l.IfcLocalPlacement(e,t[0]?new bm(t[0].value):null,new bm(t[1].value)),1008929658:(e,t)=>new l.IfcLoop(e),2347385850:(e,t)=>new l.IfcMappedItem(e,new bm(t[0].value),new bm(t[1].value)),1838606355:(e,t)=>new l.IfcMaterial(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null),3708119e3:(e,t)=>new l.IfcMaterialConstituent(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcNormalisedRatioMeasure(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null),2852063980:(e,t)=>new l.IfcMaterialConstituentSet(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2]?t[2].map((e=>new bm(e.value))):null),2022407955:(e,t)=>new l.IfcMaterialDefinitionRepresentation(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),1303795690:(e,t)=>new l.IfcMaterialLayerSetUsage(e,new bm(t[0].value),t[1],t[2],new l.IfcLengthMeasure(t[3].value),t[4]?new l.IfcPositiveLengthMeasure(t[4].value):null),3079605661:(e,t)=>new l.IfcMaterialProfileSetUsage(e,new bm(t[0].value),t[1]?new l.IfcCardinalPointReference(t[1].value):null,t[2]?new l.IfcPositiveLengthMeasure(t[2].value):null),3404854881:(e,t)=>new l.IfcMaterialProfileSetUsageTapering(e,new bm(t[0].value),t[1]?new l.IfcCardinalPointReference(t[1].value):null,t[2]?new l.IfcPositiveLengthMeasure(t[2].value):null,new bm(t[3].value),t[4]?new l.IfcCardinalPointReference(t[4].value):null),3265635763:(e,t)=>new l.IfcMaterialProperties(e,t[0]?new l.IfcIdentifier(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),853536259:(e,t)=>new l.IfcMaterialRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value))),t[4]?new l.IfcLabel(t[4].value):null),2998442950:(e,t)=>new l.IfcMirroredProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcLabel(t[3].value):null),219451334:(e,t)=>new l.IfcObjectDefinition(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),2665983363:(e,t)=>new l.IfcOpenShell(e,t[0].map((e=>new bm(e.value)))),1411181986:(e,t)=>new l.IfcOrganizationRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),1029017970:(e,t)=>new l.IfcOrientedEdge(e,new bm(t[0].value),new l.IfcBoolean(t[1].value)),2529465313:(e,t)=>new l.IfcParameterizedProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null),2519244187:(e,t)=>new l.IfcPath(e,t[0].map((e=>new bm(e.value)))),3021840470:(e,t)=>new l.IfcPhysicalComplexQuantity(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new l.IfcLabel(t[3].value),t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null),597895409:(e,t)=>new l.IfcPixelTexture(e,new l.IfcBoolean(t[0].value),new l.IfcBoolean(t[1].value),t[2]?new l.IfcIdentifier(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new l.IfcIdentifier(e.value))):null,new l.IfcInteger(t[5].value),new l.IfcInteger(t[6].value),new l.IfcInteger(t[7].value),t[8].map((e=>new l.IfcBinary(e.value)))),2004835150:(e,t)=>new l.IfcPlacement(e,new bm(t[0].value)),1663979128:(e,t)=>new l.IfcPlanarExtent(e,new l.IfcLengthMeasure(t[0].value),new l.IfcLengthMeasure(t[1].value)),2067069095:(e,t)=>new l.IfcPoint(e),4022376103:(e,t)=>new l.IfcPointOnCurve(e,new bm(t[0].value),new l.IfcParameterValue(t[1].value)),1423911732:(e,t)=>new l.IfcPointOnSurface(e,new bm(t[0].value),new l.IfcParameterValue(t[1].value),new l.IfcParameterValue(t[2].value)),2924175390:(e,t)=>new l.IfcPolyLoop(e,t[0].map((e=>new bm(e.value)))),2775532180:(e,t)=>new l.IfcPolygonalBoundedHalfSpace(e,new bm(t[0].value),new l.IfcBoolean(t[1].value),new bm(t[2].value),new bm(t[3].value)),3727388367:(e,t)=>new l.IfcPreDefinedItem(e,new l.IfcLabel(t[0].value)),3778827333:(e,t)=>new l.IfcPreDefinedProperties(e),1775413392:(e,t)=>new l.IfcPreDefinedTextFont(e,new l.IfcLabel(t[0].value)),673634403:(e,t)=>new l.IfcProductDefinitionShape(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value)))),2802850158:(e,t)=>new l.IfcProfileProperties(e,t[0]?new l.IfcIdentifier(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),2598011224:(e,t)=>new l.IfcProperty(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null),1680319473:(e,t)=>new l.IfcPropertyDefinition(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),148025276:(e,t)=>new l.IfcPropertyDependencyRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4]?new l.IfcText(t[4].value):null),3357820518:(e,t)=>new l.IfcPropertySetDefinition(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),1482703590:(e,t)=>new l.IfcPropertyTemplateDefinition(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),2090586900:(e,t)=>new l.IfcQuantitySet(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),3615266464:(e,t)=>new l.IfcRectangleProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value)),3413951693:(e,t)=>new l.IfcRegularTimeSeries(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,new l.IfcDateTime(t[2].value),new l.IfcDateTime(t[3].value),t[4],t[5],t[6]?new l.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,new l.IfcTimeMeasure(t[8].value),t[9].map((e=>new bm(e.value)))),1580146022:(e,t)=>new l.IfcReinforcementBarProperties(e,new l.IfcAreaMeasure(t[0].value),new l.IfcLabel(t[1].value),t[2],t[3]?new l.IfcLengthMeasure(t[3].value):null,t[4]?new l.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new l.IfcCountMeasure(t[5].value):null),478536968:(e,t)=>new l.IfcRelationship(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),2943643501:(e,t)=>new l.IfcResourceApprovalRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),1608871552:(e,t)=>new l.IfcResourceConstraintRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),1042787934:(e,t)=>new l.IfcResourceTime(e,t[0]?new l.IfcLabel(t[0].value):null,t[1],t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcDuration(t[3].value):null,t[4]?new l.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new l.IfcDateTime(t[5].value):null,t[6]?new l.IfcDateTime(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcDuration(t[8].value):null,t[9]?new l.IfcBoolean(t[9].value):null,t[10]?new l.IfcDateTime(t[10].value):null,t[11]?new l.IfcDuration(t[11].value):null,t[12]?new l.IfcPositiveRatioMeasure(t[12].value):null,t[13]?new l.IfcDateTime(t[13].value):null,t[14]?new l.IfcDateTime(t[14].value):null,t[15]?new l.IfcDuration(t[15].value):null,t[16]?new l.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new l.IfcPositiveRatioMeasure(t[17].value):null),2778083089:(e,t)=>new l.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value)),2042790032:(e,t)=>new l.IfcSectionProperties(e,t[0],new bm(t[1].value),t[2]?new bm(t[2].value):null),4165799628:(e,t)=>new l.IfcSectionReinforcementProperties(e,new l.IfcLengthMeasure(t[0].value),new l.IfcLengthMeasure(t[1].value),t[2]?new l.IfcLengthMeasure(t[2].value):null,t[3],new bm(t[4].value),t[5].map((e=>new bm(e.value)))),1509187699:(e,t)=>new l.IfcSectionedSpine(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2].map((e=>new bm(e.value)))),4124623270:(e,t)=>new l.IfcShellBasedSurfaceModel(e,t[0].map((e=>new bm(e.value)))),3692461612:(e,t)=>new l.IfcSimpleProperty(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null),2609359061:(e,t)=>new l.IfcSlippageConnectionCondition(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcLengthMeasure(t[1].value):null,t[2]?new l.IfcLengthMeasure(t[2].value):null,t[3]?new l.IfcLengthMeasure(t[3].value):null),723233188:(e,t)=>new l.IfcSolidModel(e),1595516126:(e,t)=>new l.IfcStructuralLoadLinearForce(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcLinearForceMeasure(t[1].value):null,t[2]?new l.IfcLinearForceMeasure(t[2].value):null,t[3]?new l.IfcLinearForceMeasure(t[3].value):null,t[4]?new l.IfcLinearMomentMeasure(t[4].value):null,t[5]?new l.IfcLinearMomentMeasure(t[5].value):null,t[6]?new l.IfcLinearMomentMeasure(t[6].value):null),2668620305:(e,t)=>new l.IfcStructuralLoadPlanarForce(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcPlanarForceMeasure(t[1].value):null,t[2]?new l.IfcPlanarForceMeasure(t[2].value):null,t[3]?new l.IfcPlanarForceMeasure(t[3].value):null),2473145415:(e,t)=>new l.IfcStructuralLoadSingleDisplacement(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcLengthMeasure(t[1].value):null,t[2]?new l.IfcLengthMeasure(t[2].value):null,t[3]?new l.IfcLengthMeasure(t[3].value):null,t[4]?new l.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new l.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new l.IfcPlaneAngleMeasure(t[6].value):null),1973038258:(e,t)=>new l.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcLengthMeasure(t[1].value):null,t[2]?new l.IfcLengthMeasure(t[2].value):null,t[3]?new l.IfcLengthMeasure(t[3].value):null,t[4]?new l.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new l.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new l.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new l.IfcCurvatureMeasure(t[7].value):null),1597423693:(e,t)=>new l.IfcStructuralLoadSingleForce(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcForceMeasure(t[1].value):null,t[2]?new l.IfcForceMeasure(t[2].value):null,t[3]?new l.IfcForceMeasure(t[3].value):null,t[4]?new l.IfcTorqueMeasure(t[4].value):null,t[5]?new l.IfcTorqueMeasure(t[5].value):null,t[6]?new l.IfcTorqueMeasure(t[6].value):null),1190533807:(e,t)=>new l.IfcStructuralLoadSingleForceWarping(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcForceMeasure(t[1].value):null,t[2]?new l.IfcForceMeasure(t[2].value):null,t[3]?new l.IfcForceMeasure(t[3].value):null,t[4]?new l.IfcTorqueMeasure(t[4].value):null,t[5]?new l.IfcTorqueMeasure(t[5].value):null,t[6]?new l.IfcTorqueMeasure(t[6].value):null,t[7]?new l.IfcWarpingMomentMeasure(t[7].value):null),2233826070:(e,t)=>new l.IfcSubedge(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value)),2513912981:(e,t)=>new l.IfcSurface(e),1878645084:(e,t)=>new l.IfcSurfaceStyleRendering(e,new bm(t[0].value),t[1]?new l.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?_m(2,t[7]):null,t[8]),2247615214:(e,t)=>new l.IfcSweptAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),1260650574:(e,t)=>new l.IfcSweptDiskSolid(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),t[2]?new l.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new l.IfcParameterValue(t[3].value):null,t[4]?new l.IfcParameterValue(t[4].value):null),1096409881:(e,t)=>new l.IfcSweptDiskSolidPolygonal(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),t[2]?new l.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new l.IfcParameterValue(t[3].value):null,t[4]?new l.IfcParameterValue(t[4].value):null,t[5]?new l.IfcPositiveLengthMeasure(t[5].value):null),230924584:(e,t)=>new l.IfcSweptSurface(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),3071757647:(e,t)=>new l.IfcTShapeProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcPositiveLengthMeasure(t[6].value),t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new l.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new l.IfcNonNegativeLengthMeasure(t[9].value):null,t[10]?new l.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new l.IfcPlaneAngleMeasure(t[11].value):null),901063453:(e,t)=>new l.IfcTessellatedItem(e),4282788508:(e,t)=>new l.IfcTextLiteral(e,new l.IfcPresentableText(t[0].value),new bm(t[1].value),t[2]),3124975700:(e,t)=>new l.IfcTextLiteralWithExtent(e,new l.IfcPresentableText(t[0].value),new bm(t[1].value),t[2],new bm(t[3].value),new l.IfcBoxAlignment(t[4].value)),1983826977:(e,t)=>new l.IfcTextStyleFontModel(e,new l.IfcLabel(t[0].value),t[1].map((e=>new l.IfcTextFontName(e.value))),t[2]?new l.IfcFontStyle(t[2].value):null,t[3]?new l.IfcFontVariant(t[3].value):null,t[4]?new l.IfcFontWeight(t[4].value):null,_m(2,t[5])),2715220739:(e,t)=>new l.IfcTrapeziumProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcLengthMeasure(t[6].value)),1628702193:(e,t)=>new l.IfcTypeObject(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null),3736923433:(e,t)=>new l.IfcTypeProcess(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),2347495698:(e,t)=>new l.IfcTypeProduct(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null),3698973494:(e,t)=>new l.IfcTypeResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),427810014:(e,t)=>new l.IfcUShapeProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcPositiveLengthMeasure(t[6].value),t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new l.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new l.IfcPlaneAngleMeasure(t[9].value):null),1417489154:(e,t)=>new l.IfcVector(e,new bm(t[0].value),new l.IfcLengthMeasure(t[1].value)),2759199220:(e,t)=>new l.IfcVertexLoop(e,new bm(t[0].value)),1299126871:(e,t)=>new l.IfcWindowStyle(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8],t[9],new l.IfcBoolean(t[10].value),new l.IfcBoolean(t[11].value)),2543172580:(e,t)=>new l.IfcZShapeProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcPositiveLengthMeasure(t[6].value),t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new l.IfcNonNegativeLengthMeasure(t[8].value):null),3406155212:(e,t)=>new l.IfcAdvancedFace(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new l.IfcBoolean(t[2].value)),669184980:(e,t)=>new l.IfcAnnotationFillArea(e,new bm(t[0].value),t[1]?t[1].map((e=>new bm(e.value))):null),3207858831:(e,t)=>new l.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcPositiveLengthMeasure(t[6].value),t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null,new l.IfcPositiveLengthMeasure(t[8].value),t[9]?new l.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new l.IfcNonNegativeLengthMeasure(t[10].value):null,t[11]?new l.IfcNonNegativeLengthMeasure(t[11].value):null,t[12]?new l.IfcPlaneAngleMeasure(t[12].value):null,t[13]?new l.IfcNonNegativeLengthMeasure(t[13].value):null,t[14]?new l.IfcPlaneAngleMeasure(t[14].value):null),4261334040:(e,t)=>new l.IfcAxis1Placement(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),3125803723:(e,t)=>new l.IfcAxis2Placement2D(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),2740243338:(e,t)=>new l.IfcAxis2Placement3D(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new bm(t[2].value):null),2736907675:(e,t)=>new l.IfcBooleanResult(e,t[0],new bm(t[1].value),new bm(t[2].value)),4182860854:(e,t)=>new l.IfcBoundedSurface(e),2581212453:(e,t)=>new l.IfcBoundingBox(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),new l.IfcPositiveLengthMeasure(t[2].value),new l.IfcPositiveLengthMeasure(t[3].value)),2713105998:(e,t)=>new l.IfcBoxedHalfSpace(e,new bm(t[0].value),new l.IfcBoolean(t[1].value),new bm(t[2].value)),2898889636:(e,t)=>new l.IfcCShapeProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcPositiveLengthMeasure(t[6].value),t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null),1123145078:(e,t)=>new l.IfcCartesianPoint(e,t[0].map((e=>new l.IfcLengthMeasure(e.value)))),574549367:(e,t)=>new l.IfcCartesianPointList(e),1675464909:(e,t)=>new l.IfcCartesianPointList2D(e,t[0].map((e=>new l.IfcLengthMeasure(e.value)))),2059837836:(e,t)=>new l.IfcCartesianPointList3D(e,t[0].map((e=>new l.IfcLengthMeasure(e.value)))),59481748:(e,t)=>new l.IfcCartesianTransformationOperator(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcReal(t[3].value):null),3749851601:(e,t)=>new l.IfcCartesianTransformationOperator2D(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcReal(t[3].value):null),3486308946:(e,t)=>new l.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcReal(t[3].value):null,t[4]?new l.IfcReal(t[4].value):null),3331915920:(e,t)=>new l.IfcCartesianTransformationOperator3D(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcReal(t[3].value):null,t[4]?new bm(t[4].value):null),1416205885:(e,t)=>new l.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcReal(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new l.IfcReal(t[5].value):null,t[6]?new l.IfcReal(t[6].value):null),1383045692:(e,t)=>new l.IfcCircleProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value)),2205249479:(e,t)=>new l.IfcClosedShell(e,t[0].map((e=>new bm(e.value)))),776857604:(e,t)=>new l.IfcColourRgb(e,t[0]?new l.IfcLabel(t[0].value):null,new l.IfcNormalisedRatioMeasure(t[1].value),new l.IfcNormalisedRatioMeasure(t[2].value),new l.IfcNormalisedRatioMeasure(t[3].value)),2542286263:(e,t)=>new l.IfcComplexProperty(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null,new l.IfcIdentifier(t[2].value),t[3].map((e=>new bm(e.value)))),2485617015:(e,t)=>new l.IfcCompositeCurveSegment(e,t[0],new l.IfcBoolean(t[1].value),new bm(t[2].value)),2574617495:(e,t)=>new l.IfcConstructionResourceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null),3419103109:(e,t)=>new l.IfcContext(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new bm(t[8].value):null),1815067380:(e,t)=>new l.IfcCrewResourceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),2506170314:(e,t)=>new l.IfcCsgPrimitive3D(e,new bm(t[0].value)),2147822146:(e,t)=>new l.IfcCsgSolid(e,new bm(t[0].value)),2601014836:(e,t)=>new l.IfcCurve(e),2827736869:(e,t)=>new l.IfcCurveBoundedPlane(e,new bm(t[0].value),new bm(t[1].value),t[2]?t[2].map((e=>new bm(e.value))):null),2629017746:(e,t)=>new l.IfcCurveBoundedSurface(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),new l.IfcBoolean(t[2].value)),32440307:(e,t)=>new l.IfcDirection(e,t[0].map((e=>new l.IfcReal(e.value)))),526551008:(e,t)=>new l.IfcDoorStyle(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8],t[9],new l.IfcBoolean(t[10].value),new l.IfcBoolean(t[11].value)),1472233963:(e,t)=>new l.IfcEdgeLoop(e,t[0].map((e=>new bm(e.value)))),1883228015:(e,t)=>new l.IfcElementQuantity(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5].map((e=>new bm(e.value)))),339256511:(e,t)=>new l.IfcElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),2777663545:(e,t)=>new l.IfcElementarySurface(e,new bm(t[0].value)),2835456948:(e,t)=>new l.IfcEllipseProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value)),4024345920:(e,t)=>new l.IfcEventType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new l.IfcLabel(t[11].value):null),477187591:(e,t)=>new l.IfcExtrudedAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new l.IfcPositiveLengthMeasure(t[3].value)),2804161546:(e,t)=>new l.IfcExtrudedAreaSolidTapered(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new l.IfcPositiveLengthMeasure(t[3].value),new bm(t[4].value)),2047409740:(e,t)=>new l.IfcFaceBasedSurfaceModel(e,t[0].map((e=>new bm(e.value)))),374418227:(e,t)=>new l.IfcFillAreaStyleHatching(e,new bm(t[0].value),new bm(t[1].value),t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,new l.IfcPlaneAngleMeasure(t[4].value)),315944413:(e,t)=>new l.IfcFillAreaStyleTiles(e,t[0].map((e=>new bm(e.value))),t[1].map((e=>new bm(e.value))),new l.IfcPositiveRatioMeasure(t[2].value)),2652556860:(e,t)=>new l.IfcFixedReferenceSweptAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcParameterValue(t[3].value):null,t[4]?new l.IfcParameterValue(t[4].value):null,new bm(t[5].value)),4238390223:(e,t)=>new l.IfcFurnishingElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),1268542332:(e,t)=>new l.IfcFurnitureType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]),4095422895:(e,t)=>new l.IfcGeographicElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),987898635:(e,t)=>new l.IfcGeometricCurveSet(e,t[0].map((e=>new bm(e.value)))),1484403080:(e,t)=>new l.IfcIShapeProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcPositiveLengthMeasure(t[6].value),t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new l.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new l.IfcPlaneAngleMeasure(t[9].value):null),178912537:(e,t)=>new l.IfcIndexedPolygonalFace(e,t[0].map((e=>new l.IfcPositiveInteger(e.value)))),2294589976:(e,t)=>new l.IfcIndexedPolygonalFaceWithVoids(e,t[0].map((e=>new l.IfcPositiveInteger(e.value))),t[1].map((e=>new l.IfcPositiveInteger(e.value)))),572779678:(e,t)=>new l.IfcLShapeProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),t[4]?new l.IfcPositiveLengthMeasure(t[4].value):null,new l.IfcPositiveLengthMeasure(t[5].value),t[6]?new l.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new l.IfcPlaneAngleMeasure(t[8].value):null),428585644:(e,t)=>new l.IfcLaborResourceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),1281925730:(e,t)=>new l.IfcLine(e,new bm(t[0].value),new bm(t[1].value)),1425443689:(e,t)=>new l.IfcManifoldSolidBrep(e,new bm(t[0].value)),3888040117:(e,t)=>new l.IfcObject(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null),3388369263:(e,t)=>new l.IfcOffsetCurve2D(e,new bm(t[0].value),new l.IfcLengthMeasure(t[1].value),new l.IfcLogical(t[2].value)),3505215534:(e,t)=>new l.IfcOffsetCurve3D(e,new bm(t[0].value),new l.IfcLengthMeasure(t[1].value),new l.IfcLogical(t[2].value),new bm(t[3].value)),1682466193:(e,t)=>new l.IfcPcurve(e,new bm(t[0].value),new bm(t[1].value)),603570806:(e,t)=>new l.IfcPlanarBox(e,new l.IfcLengthMeasure(t[0].value),new l.IfcLengthMeasure(t[1].value),new bm(t[2].value)),220341763:(e,t)=>new l.IfcPlane(e,new bm(t[0].value)),759155922:(e,t)=>new l.IfcPreDefinedColour(e,new l.IfcLabel(t[0].value)),2559016684:(e,t)=>new l.IfcPreDefinedCurveFont(e,new l.IfcLabel(t[0].value)),3967405729:(e,t)=>new l.IfcPreDefinedPropertySet(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),569719735:(e,t)=>new l.IfcProcedureType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2945172077:(e,t)=>new l.IfcProcess(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null),4208778838:(e,t)=>new l.IfcProduct(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),103090709:(e,t)=>new l.IfcProject(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new bm(t[8].value):null),653396225:(e,t)=>new l.IfcProjectLibrary(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new bm(t[8].value):null),871118103:(e,t)=>new l.IfcPropertyBoundedValue(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?_m(2,t[2]):null,t[3]?_m(2,t[3]):null,t[4]?new bm(t[4].value):null,t[5]?_m(2,t[5]):null),4166981789:(e,t)=>new l.IfcPropertyEnumeratedValue(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?t[2].map((e=>_m(2,e))):null,t[3]?new bm(t[3].value):null),2752243245:(e,t)=>new l.IfcPropertyListValue(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?t[2].map((e=>_m(2,e))):null,t[3]?new bm(t[3].value):null),941946838:(e,t)=>new l.IfcPropertyReferenceValue(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new l.IfcText(t[2].value):null,t[3]?new bm(t[3].value):null),1451395588:(e,t)=>new l.IfcPropertySet(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value)))),492091185:(e,t)=>new l.IfcPropertySetTemplate(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4],t[5]?new l.IfcIdentifier(t[5].value):null,t[6].map((e=>new bm(e.value)))),3650150729:(e,t)=>new l.IfcPropertySingleValue(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?_m(2,t[2]):null,t[3]?new bm(t[3].value):null),110355661:(e,t)=>new l.IfcPropertyTableValue(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?t[2].map((e=>_m(2,e))):null,t[3]?t[3].map((e=>_m(2,e))):null,t[4]?new l.IfcText(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]),3521284610:(e,t)=>new l.IfcPropertyTemplate(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),3219374653:(e,t)=>new l.IfcProxy(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]?new l.IfcLabel(t[8].value):null),2770003689:(e,t)=>new l.IfcRectangleHollowProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),t[6]?new l.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null),2798486643:(e,t)=>new l.IfcRectangularPyramid(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),new l.IfcPositiveLengthMeasure(t[2].value),new l.IfcPositiveLengthMeasure(t[3].value)),3454111270:(e,t)=>new l.IfcRectangularTrimmedSurface(e,new bm(t[0].value),new l.IfcParameterValue(t[1].value),new l.IfcParameterValue(t[2].value),new l.IfcParameterValue(t[3].value),new l.IfcParameterValue(t[4].value),new l.IfcBoolean(t[5].value),new l.IfcBoolean(t[6].value)),3765753017:(e,t)=>new l.IfcReinforcementDefinitionProperties(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5].map((e=>new bm(e.value)))),3939117080:(e,t)=>new l.IfcRelAssigns(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5]),1683148259:(e,t)=>new l.IfcRelAssignsToActor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),t[7]?new bm(t[7].value):null),2495723537:(e,t)=>new l.IfcRelAssignsToControl(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),1307041759:(e,t)=>new l.IfcRelAssignsToGroup(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),1027710054:(e,t)=>new l.IfcRelAssignsToGroupByFactor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),new l.IfcRatioMeasure(t[7].value)),4278684876:(e,t)=>new l.IfcRelAssignsToProcess(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),t[7]?new bm(t[7].value):null),2857406711:(e,t)=>new l.IfcRelAssignsToProduct(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),205026976:(e,t)=>new l.IfcRelAssignsToResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),1865459582:(e,t)=>new l.IfcRelAssociates(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value)))),4095574036:(e,t)=>new l.IfcRelAssociatesApproval(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),919958153:(e,t)=>new l.IfcRelAssociatesClassification(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),2728634034:(e,t)=>new l.IfcRelAssociatesConstraint(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5]?new l.IfcLabel(t[5].value):null,new bm(t[6].value)),982818633:(e,t)=>new l.IfcRelAssociatesDocument(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),3840914261:(e,t)=>new l.IfcRelAssociatesLibrary(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),2655215786:(e,t)=>new l.IfcRelAssociatesMaterial(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),826625072:(e,t)=>new l.IfcRelConnects(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),1204542856:(e,t)=>new l.IfcRelConnectsElements(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value)),3945020480:(e,t)=>new l.IfcRelConnectsPathElements(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value),t[7]?t[7].map((e=>new l.IfcInteger(e.value))):null,t[8]?t[8].map((e=>new l.IfcInteger(e.value))):null,t[9],t[10]),4201705270:(e,t)=>new l.IfcRelConnectsPortToElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),3190031847:(e,t)=>new l.IfcRelConnectsPorts(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null),2127690289:(e,t)=>new l.IfcRelConnectsStructuralActivity(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),1638771189:(e,t)=>new l.IfcRelConnectsStructuralMember(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new l.IfcLengthMeasure(t[8].value):null,t[9]?new bm(t[9].value):null),504942748:(e,t)=>new l.IfcRelConnectsWithEccentricity(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new l.IfcLengthMeasure(t[8].value):null,t[9]?new bm(t[9].value):null,new bm(t[10].value)),3678494232:(e,t)=>new l.IfcRelConnectsWithRealizingElements(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value),t[7].map((e=>new bm(e.value))),t[8]?new l.IfcLabel(t[8].value):null),3242617779:(e,t)=>new l.IfcRelContainedInSpatialStructure(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),886880790:(e,t)=>new l.IfcRelCoversBldgElements(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2802773753:(e,t)=>new l.IfcRelCoversSpaces(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2565941209:(e,t)=>new l.IfcRelDeclares(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2551354335:(e,t)=>new l.IfcRelDecomposes(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),693640335:(e,t)=>new l.IfcRelDefines(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),1462361463:(e,t)=>new l.IfcRelDefinesByObject(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),4186316022:(e,t)=>new l.IfcRelDefinesByProperties(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),307848117:(e,t)=>new l.IfcRelDefinesByTemplate(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),781010003:(e,t)=>new l.IfcRelDefinesByType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),3940055652:(e,t)=>new l.IfcRelFillsElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),279856033:(e,t)=>new l.IfcRelFlowControlElements(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),427948657:(e,t)=>new l.IfcRelInterferesElements(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8].value),3268803585:(e,t)=>new l.IfcRelNests(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),750771296:(e,t)=>new l.IfcRelProjectsElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),1245217292:(e,t)=>new l.IfcRelReferencedInSpatialStructure(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),4122056220:(e,t)=>new l.IfcRelSequence(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7],t[8]?new l.IfcLabel(t[8].value):null),366585022:(e,t)=>new l.IfcRelServicesBuildings(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),3451746338:(e,t)=>new l.IfcRelSpaceBoundary(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7],t[8]),3523091289:(e,t)=>new l.IfcRelSpaceBoundary1stLevel(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7],t[8],t[9]?new bm(t[9].value):null),1521410863:(e,t)=>new l.IfcRelSpaceBoundary2ndLevel(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7],t[8],t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null),1401173127:(e,t)=>new l.IfcRelVoidsElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),816062949:(e,t)=>new l.IfcReparametrisedCompositeCurveSegment(e,t[0],new l.IfcBoolean(t[1].value),new bm(t[2].value),new l.IfcParameterValue(t[3].value)),2914609552:(e,t)=>new l.IfcResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null),1856042241:(e,t)=>new l.IfcRevolvedAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new l.IfcPlaneAngleMeasure(t[3].value)),3243963512:(e,t)=>new l.IfcRevolvedAreaSolidTapered(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new l.IfcPlaneAngleMeasure(t[3].value),new bm(t[4].value)),4158566097:(e,t)=>new l.IfcRightCircularCone(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),new l.IfcPositiveLengthMeasure(t[2].value)),3626867408:(e,t)=>new l.IfcRightCircularCylinder(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),new l.IfcPositiveLengthMeasure(t[2].value)),3663146110:(e,t)=>new l.IfcSimplePropertyTemplate(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4],t[5]?new l.IfcLabel(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new l.IfcLabel(t[10].value):null,t[11]),1412071761:(e,t)=>new l.IfcSpatialElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null),710998568:(e,t)=>new l.IfcSpatialElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),2706606064:(e,t)=>new l.IfcSpatialStructureElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]),3893378262:(e,t)=>new l.IfcSpatialStructureElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),463610769:(e,t)=>new l.IfcSpatialZone(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]),2481509218:(e,t)=>new l.IfcSpatialZoneType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]?new l.IfcLabel(t[10].value):null),451544542:(e,t)=>new l.IfcSphere(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value)),4015995234:(e,t)=>new l.IfcSphericalSurface(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value)),3544373492:(e,t)=>new l.IfcStructuralActivity(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),3136571912:(e,t)=>new l.IfcStructuralItem(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),530289379:(e,t)=>new l.IfcStructuralMember(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),3689010777:(e,t)=>new l.IfcStructuralReaction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),3979015343:(e,t)=>new l.IfcStructuralSurfaceMember(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]?new l.IfcPositiveLengthMeasure(t[8].value):null),2218152070:(e,t)=>new l.IfcStructuralSurfaceMemberVarying(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]?new l.IfcPositiveLengthMeasure(t[8].value):null),603775116:(e,t)=>new l.IfcStructuralSurfaceReaction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]),4095615324:(e,t)=>new l.IfcSubContractResourceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),699246055:(e,t)=>new l.IfcSurfaceCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]),2028607225:(e,t)=>new l.IfcSurfaceCurveSweptAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcParameterValue(t[3].value):null,t[4]?new l.IfcParameterValue(t[4].value):null,new bm(t[5].value)),2809605785:(e,t)=>new l.IfcSurfaceOfLinearExtrusion(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new l.IfcLengthMeasure(t[3].value)),4124788165:(e,t)=>new l.IfcSurfaceOfRevolution(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value)),1580310250:(e,t)=>new l.IfcSystemFurnitureElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3473067441:(e,t)=>new l.IfcTask(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,new l.IfcBoolean(t[9].value),t[10]?new l.IfcInteger(t[10].value):null,t[11]?new bm(t[11].value):null,t[12]),3206491090:(e,t)=>new l.IfcTaskType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]?new l.IfcLabel(t[10].value):null),2387106220:(e,t)=>new l.IfcTessellatedFaceSet(e,new bm(t[0].value)),1935646853:(e,t)=>new l.IfcToroidalSurface(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),new l.IfcPositiveLengthMeasure(t[2].value)),2097647324:(e,t)=>new l.IfcTransportElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2916149573:(e,t)=>new l.IfcTriangulatedFaceSet(e,new bm(t[0].value),t[1]?t[1].map((e=>new l.IfcParameterValue(e.value))):null,t[2]?new l.IfcBoolean(t[2].value):null,t[3].map((e=>new l.IfcPositiveInteger(e.value))),t[4]?t[4].map((e=>new l.IfcPositiveInteger(e.value))):null),336235671:(e,t)=>new l.IfcWindowLiningProperties(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new l.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new l.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new l.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new l.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new l.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new l.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new bm(t[12].value):null,t[13]?new l.IfcLengthMeasure(t[13].value):null,t[14]?new l.IfcLengthMeasure(t[14].value):null,t[15]?new l.IfcLengthMeasure(t[15].value):null),512836454:(e,t)=>new l.IfcWindowPanelProperties(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4],t[5],t[6]?new l.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new l.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new bm(t[8].value):null),2296667514:(e,t)=>new l.IfcActor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,new bm(t[5].value)),1635779807:(e,t)=>new l.IfcAdvancedBrep(e,new bm(t[0].value)),2603310189:(e,t)=>new l.IfcAdvancedBrepWithVoids(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),1674181508:(e,t)=>new l.IfcAnnotation(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),2887950389:(e,t)=>new l.IfcBSplineSurface(e,new l.IfcInteger(t[0].value),new l.IfcInteger(t[1].value),t[2].map((e=>new bm(e.value))),t[3],new l.IfcLogical(t[4].value),new l.IfcLogical(t[5].value),new l.IfcLogical(t[6].value)),167062518:(e,t)=>new l.IfcBSplineSurfaceWithKnots(e,new l.IfcInteger(t[0].value),new l.IfcInteger(t[1].value),t[2].map((e=>new bm(e.value))),t[3],new l.IfcLogical(t[4].value),new l.IfcLogical(t[5].value),new l.IfcLogical(t[6].value),t[7].map((e=>new l.IfcInteger(e.value))),t[8].map((e=>new l.IfcInteger(e.value))),t[9].map((e=>new l.IfcParameterValue(e.value))),t[10].map((e=>new l.IfcParameterValue(e.value))),t[11]),1334484129:(e,t)=>new l.IfcBlock(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),new l.IfcPositiveLengthMeasure(t[2].value),new l.IfcPositiveLengthMeasure(t[3].value)),3649129432:(e,t)=>new l.IfcBooleanClippingResult(e,t[0],new bm(t[1].value),new bm(t[2].value)),1260505505:(e,t)=>new l.IfcBoundedCurve(e),4031249490:(e,t)=>new l.IfcBuilding(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8],t[9]?new l.IfcLengthMeasure(t[9].value):null,t[10]?new l.IfcLengthMeasure(t[10].value):null,t[11]?new bm(t[11].value):null),1950629157:(e,t)=>new l.IfcBuildingElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),3124254112:(e,t)=>new l.IfcBuildingStorey(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8],t[9]?new l.IfcLengthMeasure(t[9].value):null),2197970202:(e,t)=>new l.IfcChimneyType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2937912522:(e,t)=>new l.IfcCircleHollowProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value)),3893394355:(e,t)=>new l.IfcCivilElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),300633059:(e,t)=>new l.IfcColumnType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3875453745:(e,t)=>new l.IfcComplexPropertyTemplate(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5],t[6]?t[6].map((e=>new bm(e.value))):null),3732776249:(e,t)=>new l.IfcCompositeCurve(e,t[0].map((e=>new bm(e.value))),new l.IfcLogical(t[1].value)),15328376:(e,t)=>new l.IfcCompositeCurveOnSurface(e,t[0].map((e=>new bm(e.value))),new l.IfcLogical(t[1].value)),2510884976:(e,t)=>new l.IfcConic(e,new bm(t[0].value)),2185764099:(e,t)=>new l.IfcConstructionEquipmentResourceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),4105962743:(e,t)=>new l.IfcConstructionMaterialResourceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),1525564444:(e,t)=>new l.IfcConstructionProductResourceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),2559216714:(e,t)=>new l.IfcConstructionResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null),3293443760:(e,t)=>new l.IfcControl(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null),3895139033:(e,t)=>new l.IfcCostItem(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6],t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?t[8].map((e=>new bm(e.value))):null),1419761937:(e,t)=>new l.IfcCostSchedule(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6],t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcDateTime(t[8].value):null,t[9]?new l.IfcDateTime(t[9].value):null),1916426348:(e,t)=>new l.IfcCoveringType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3295246426:(e,t)=>new l.IfcCrewResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),1457835157:(e,t)=>new l.IfcCurtainWallType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1213902940:(e,t)=>new l.IfcCylindricalSurface(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value)),3256556792:(e,t)=>new l.IfcDistributionElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),3849074793:(e,t)=>new l.IfcDistributionFlowElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),2963535650:(e,t)=>new l.IfcDoorLiningProperties(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new l.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new l.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new l.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new l.IfcLengthMeasure(t[9].value):null,t[10]?new l.IfcLengthMeasure(t[10].value):null,t[11]?new l.IfcLengthMeasure(t[11].value):null,t[12]?new l.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new l.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new bm(t[14].value):null,t[15]?new l.IfcLengthMeasure(t[15].value):null,t[16]?new l.IfcLengthMeasure(t[16].value):null),1714330368:(e,t)=>new l.IfcDoorPanelProperties(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new l.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new bm(t[8].value):null),2323601079:(e,t)=>new l.IfcDoorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new l.IfcBoolean(t[11].value):null,t[12]?new l.IfcLabel(t[12].value):null),445594917:(e,t)=>new l.IfcDraughtingPreDefinedColour(e,new l.IfcLabel(t[0].value)),4006246654:(e,t)=>new l.IfcDraughtingPreDefinedCurveFont(e,new l.IfcLabel(t[0].value)),1758889154:(e,t)=>new l.IfcElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),4123344466:(e,t)=>new l.IfcElementAssembly(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8],t[9]),2397081782:(e,t)=>new l.IfcElementAssemblyType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1623761950:(e,t)=>new l.IfcElementComponent(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),2590856083:(e,t)=>new l.IfcElementComponentType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),1704287377:(e,t)=>new l.IfcEllipse(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),new l.IfcPositiveLengthMeasure(t[2].value)),2107101300:(e,t)=>new l.IfcEnergyConversionDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),132023988:(e,t)=>new l.IfcEngineType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3174744832:(e,t)=>new l.IfcEvaporativeCoolerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3390157468:(e,t)=>new l.IfcEvaporatorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4148101412:(e,t)=>new l.IfcEvent(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7],t[8],t[9]?new l.IfcLabel(t[9].value):null,t[10]?new bm(t[10].value):null),2853485674:(e,t)=>new l.IfcExternalSpatialStructureElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null),807026263:(e,t)=>new l.IfcFacetedBrep(e,new bm(t[0].value)),3737207727:(e,t)=>new l.IfcFacetedBrepWithVoids(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),647756555:(e,t)=>new l.IfcFastener(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2489546625:(e,t)=>new l.IfcFastenerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2827207264:(e,t)=>new l.IfcFeatureElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),2143335405:(e,t)=>new l.IfcFeatureElementAddition(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),1287392070:(e,t)=>new l.IfcFeatureElementSubtraction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),3907093117:(e,t)=>new l.IfcFlowControllerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),3198132628:(e,t)=>new l.IfcFlowFittingType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),3815607619:(e,t)=>new l.IfcFlowMeterType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1482959167:(e,t)=>new l.IfcFlowMovingDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),1834744321:(e,t)=>new l.IfcFlowSegmentType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),1339347760:(e,t)=>new l.IfcFlowStorageDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),2297155007:(e,t)=>new l.IfcFlowTerminalType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),3009222698:(e,t)=>new l.IfcFlowTreatmentDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),1893162501:(e,t)=>new l.IfcFootingType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),263784265:(e,t)=>new l.IfcFurnishingElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),1509553395:(e,t)=>new l.IfcFurniture(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3493046030:(e,t)=>new l.IfcGeographicElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3009204131:(e,t)=>new l.IfcGrid(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7].map((e=>new bm(e.value))),t[8].map((e=>new bm(e.value))),t[9]?t[9].map((e=>new bm(e.value))):null,t[10]),2706460486:(e,t)=>new l.IfcGroup(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null),1251058090:(e,t)=>new l.IfcHeatExchangerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1806887404:(e,t)=>new l.IfcHumidifierType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2571569899:(e,t)=>new l.IfcIndexedPolyCurve(e,new bm(t[0].value),t[1]?t[1].map((e=>_m(2,e))):null,t[2]?new l.IfcBoolean(t[2].value):null),3946677679:(e,t)=>new l.IfcInterceptorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3113134337:(e,t)=>new l.IfcIntersectionCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]),2391368822:(e,t)=>new l.IfcInventory(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5],t[6]?new bm(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new l.IfcDate(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null),4288270099:(e,t)=>new l.IfcJunctionBoxType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3827777499:(e,t)=>new l.IfcLaborResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),1051575348:(e,t)=>new l.IfcLampType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1161773419:(e,t)=>new l.IfcLightFixtureType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),377706215:(e,t)=>new l.IfcMechanicalFastener(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new l.IfcPositiveLengthMeasure(t[9].value):null,t[10]),2108223431:(e,t)=>new l.IfcMechanicalFastenerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]?new l.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new l.IfcPositiveLengthMeasure(t[11].value):null),1114901282:(e,t)=>new l.IfcMedicalDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3181161470:(e,t)=>new l.IfcMemberType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),977012517:(e,t)=>new l.IfcMotorConnectionType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4143007308:(e,t)=>new l.IfcOccupant(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,new bm(t[5].value),t[6]),3588315303:(e,t)=>new l.IfcOpeningElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3079942009:(e,t)=>new l.IfcOpeningStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2837617999:(e,t)=>new l.IfcOutletType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2382730787:(e,t)=>new l.IfcPerformanceHistory(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,new l.IfcLabel(t[6].value),t[7]),3566463478:(e,t)=>new l.IfcPermeableCoveringProperties(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4],t[5],t[6]?new l.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new l.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new bm(t[8].value):null),3327091369:(e,t)=>new l.IfcPermit(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6],t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcText(t[8].value):null),1158309216:(e,t)=>new l.IfcPileType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),804291784:(e,t)=>new l.IfcPipeFittingType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4231323485:(e,t)=>new l.IfcPipeSegmentType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4017108033:(e,t)=>new l.IfcPlateType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2839578677:(e,t)=>new l.IfcPolygonalFaceSet(e,new bm(t[0].value),t[1]?new l.IfcBoolean(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?t[3].map((e=>new l.IfcPositiveInteger(e.value))):null),3724593414:(e,t)=>new l.IfcPolyline(e,t[0].map((e=>new bm(e.value)))),3740093272:(e,t)=>new l.IfcPort(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),2744685151:(e,t)=>new l.IfcProcedure(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]),2904328755:(e,t)=>new l.IfcProjectOrder(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6],t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcText(t[8].value):null),3651124850:(e,t)=>new l.IfcProjectionElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1842657554:(e,t)=>new l.IfcProtectiveDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2250791053:(e,t)=>new l.IfcPumpType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2893384427:(e,t)=>new l.IfcRailingType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2324767716:(e,t)=>new l.IfcRampFlightType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1469900589:(e,t)=>new l.IfcRampType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),683857671:(e,t)=>new l.IfcRationalBSplineSurfaceWithKnots(e,new l.IfcInteger(t[0].value),new l.IfcInteger(t[1].value),t[2].map((e=>new bm(e.value))),t[3],new l.IfcLogical(t[4].value),new l.IfcLogical(t[5].value),new l.IfcLogical(t[6].value),t[7].map((e=>new l.IfcInteger(e.value))),t[8].map((e=>new l.IfcInteger(e.value))),t[9].map((e=>new l.IfcParameterValue(e.value))),t[10].map((e=>new l.IfcParameterValue(e.value))),t[11],t[12].map((e=>new l.IfcReal(e.value)))),3027567501:(e,t)=>new l.IfcReinforcingElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),964333572:(e,t)=>new l.IfcReinforcingElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),2320036040:(e,t)=>new l.IfcReinforcingMesh(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?new l.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new l.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new l.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new l.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new l.IfcAreaMeasure(t[13].value):null,t[14]?new l.IfcAreaMeasure(t[14].value):null,t[15]?new l.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new l.IfcPositiveLengthMeasure(t[16].value):null,t[17]),2310774935:(e,t)=>new l.IfcReinforcingMeshType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]?new l.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new l.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new l.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new l.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new l.IfcAreaMeasure(t[14].value):null,t[15]?new l.IfcAreaMeasure(t[15].value):null,t[16]?new l.IfcPositiveLengthMeasure(t[16].value):null,t[17]?new l.IfcPositiveLengthMeasure(t[17].value):null,t[18]?new l.IfcLabel(t[18].value):null,t[19]?t[19].map((e=>_m(2,e))):null),160246688:(e,t)=>new l.IfcRelAggregates(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2781568857:(e,t)=>new l.IfcRoofType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1768891740:(e,t)=>new l.IfcSanitaryTerminalType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2157484638:(e,t)=>new l.IfcSeamCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]),4074543187:(e,t)=>new l.IfcShadingDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4097777520:(e,t)=>new l.IfcSite(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8],t[9]?new l.IfcCompoundPlaneAngleMeasure(t[9].map((e=>e.value))):null,t[10]?new l.IfcCompoundPlaneAngleMeasure(t[10].map((e=>e.value))):null,t[11]?new l.IfcLengthMeasure(t[11].value):null,t[12]?new l.IfcLabel(t[12].value):null,t[13]?new bm(t[13].value):null),2533589738:(e,t)=>new l.IfcSlabType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1072016465:(e,t)=>new l.IfcSolarDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3856911033:(e,t)=>new l.IfcSpace(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new l.IfcLengthMeasure(t[10].value):null),1305183839:(e,t)=>new l.IfcSpaceHeaterType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3812236995:(e,t)=>new l.IfcSpaceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]?new l.IfcLabel(t[10].value):null),3112655638:(e,t)=>new l.IfcStackTerminalType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1039846685:(e,t)=>new l.IfcStairFlightType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),338393293:(e,t)=>new l.IfcStairType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),682877961:(e,t)=>new l.IfcStructuralAction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new l.IfcBoolean(t[9].value):null),1179482911:(e,t)=>new l.IfcStructuralConnection(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),1004757350:(e,t)=>new l.IfcStructuralCurveAction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new l.IfcBoolean(t[9].value):null,t[10],t[11]),4243806635:(e,t)=>new l.IfcStructuralCurveConnection(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,new bm(t[8].value)),214636428:(e,t)=>new l.IfcStructuralCurveMember(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],new bm(t[8].value)),2445595289:(e,t)=>new l.IfcStructuralCurveMemberVarying(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],new bm(t[8].value)),2757150158:(e,t)=>new l.IfcStructuralCurveReaction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]),1807405624:(e,t)=>new l.IfcStructuralLinearAction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new l.IfcBoolean(t[9].value):null,t[10],t[11]),1252848954:(e,t)=>new l.IfcStructuralLoadGroup(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new l.IfcRatioMeasure(t[8].value):null,t[9]?new l.IfcLabel(t[9].value):null),2082059205:(e,t)=>new l.IfcStructuralPointAction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new l.IfcBoolean(t[9].value):null),734778138:(e,t)=>new l.IfcStructuralPointConnection(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null),1235345126:(e,t)=>new l.IfcStructuralPointReaction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),2986769608:(e,t)=>new l.IfcStructuralResultGroup(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5],t[6]?new bm(t[6].value):null,new l.IfcBoolean(t[7].value)),3657597509:(e,t)=>new l.IfcStructuralSurfaceAction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new l.IfcBoolean(t[9].value):null,t[10],t[11]),1975003073:(e,t)=>new l.IfcStructuralSurfaceConnection(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),148013059:(e,t)=>new l.IfcSubContractResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),3101698114:(e,t)=>new l.IfcSurfaceFeature(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2315554128:(e,t)=>new l.IfcSwitchingDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2254336722:(e,t)=>new l.IfcSystem(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null),413509423:(e,t)=>new l.IfcSystemFurnitureElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),5716631:(e,t)=>new l.IfcTankType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3824725483:(e,t)=>new l.IfcTendon(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]?new l.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new l.IfcAreaMeasure(t[11].value):null,t[12]?new l.IfcForceMeasure(t[12].value):null,t[13]?new l.IfcPressureMeasure(t[13].value):null,t[14]?new l.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new l.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new l.IfcPositiveLengthMeasure(t[16].value):null),2347447852:(e,t)=>new l.IfcTendonAnchor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3081323446:(e,t)=>new l.IfcTendonAnchorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2415094496:(e,t)=>new l.IfcTendonType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]?new l.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new l.IfcAreaMeasure(t[11].value):null,t[12]?new l.IfcPositiveLengthMeasure(t[12].value):null),1692211062:(e,t)=>new l.IfcTransformerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1620046519:(e,t)=>new l.IfcTransportElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3593883385:(e,t)=>new l.IfcTrimmedCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2].map((e=>new bm(e.value))),new l.IfcBoolean(t[3].value),t[4]),1600972822:(e,t)=>new l.IfcTubeBundleType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1911125066:(e,t)=>new l.IfcUnitaryEquipmentType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),728799441:(e,t)=>new l.IfcValveType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2391383451:(e,t)=>new l.IfcVibrationIsolator(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3313531582:(e,t)=>new l.IfcVibrationIsolatorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2769231204:(e,t)=>new l.IfcVirtualElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),926996030:(e,t)=>new l.IfcVoidingFeature(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1898987631:(e,t)=>new l.IfcWallType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1133259667:(e,t)=>new l.IfcWasteTerminalType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4009809668:(e,t)=>new l.IfcWindowType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new l.IfcBoolean(t[11].value):null,t[12]?new l.IfcLabel(t[12].value):null),4088093105:(e,t)=>new l.IfcWorkCalendar(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]),1028945134:(e,t)=>new l.IfcWorkControl(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,new l.IfcDateTime(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?new l.IfcDuration(t[9].value):null,t[10]?new l.IfcDuration(t[10].value):null,new l.IfcDateTime(t[11].value),t[12]?new l.IfcDateTime(t[12].value):null),4218914973:(e,t)=>new l.IfcWorkPlan(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,new l.IfcDateTime(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?new l.IfcDuration(t[9].value):null,t[10]?new l.IfcDuration(t[10].value):null,new l.IfcDateTime(t[11].value),t[12]?new l.IfcDateTime(t[12].value):null,t[13]),3342526732:(e,t)=>new l.IfcWorkSchedule(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,new l.IfcDateTime(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?new l.IfcDuration(t[9].value):null,t[10]?new l.IfcDuration(t[10].value):null,new l.IfcDateTime(t[11].value),t[12]?new l.IfcDateTime(t[12].value):null,t[13]),1033361043:(e,t)=>new l.IfcZone(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null),3821786052:(e,t)=>new l.IfcActionRequest(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6],t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcText(t[8].value):null),1411407467:(e,t)=>new l.IfcAirTerminalBoxType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3352864051:(e,t)=>new l.IfcAirTerminalType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1871374353:(e,t)=>new l.IfcAirToAirHeatRecoveryType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3460190687:(e,t)=>new l.IfcAsset(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null,t[11]?new bm(t[11].value):null,t[12]?new l.IfcDate(t[12].value):null,t[13]?new bm(t[13].value):null),1532957894:(e,t)=>new l.IfcAudioVisualApplianceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1967976161:(e,t)=>new l.IfcBSplineCurve(e,new l.IfcInteger(t[0].value),t[1].map((e=>new bm(e.value))),t[2],new l.IfcLogical(t[3].value),new l.IfcLogical(t[4].value)),2461110595:(e,t)=>new l.IfcBSplineCurveWithKnots(e,new l.IfcInteger(t[0].value),t[1].map((e=>new bm(e.value))),t[2],new l.IfcLogical(t[3].value),new l.IfcLogical(t[4].value),t[5].map((e=>new l.IfcInteger(e.value))),t[6].map((e=>new l.IfcParameterValue(e.value))),t[7]),819618141:(e,t)=>new l.IfcBeamType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),231477066:(e,t)=>new l.IfcBoilerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1136057603:(e,t)=>new l.IfcBoundaryCurve(e,t[0].map((e=>new bm(e.value))),new l.IfcLogical(t[1].value)),3299480353:(e,t)=>new l.IfcBuildingElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),2979338954:(e,t)=>new l.IfcBuildingElementPart(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),39481116:(e,t)=>new l.IfcBuildingElementPartType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1095909175:(e,t)=>new l.IfcBuildingElementProxy(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1909888760:(e,t)=>new l.IfcBuildingElementProxyType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1177604601:(e,t)=>new l.IfcBuildingSystem(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5],t[6]?new l.IfcLabel(t[6].value):null),2188180465:(e,t)=>new l.IfcBurnerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),395041908:(e,t)=>new l.IfcCableCarrierFittingType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3293546465:(e,t)=>new l.IfcCableCarrierSegmentType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2674252688:(e,t)=>new l.IfcCableFittingType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1285652485:(e,t)=>new l.IfcCableSegmentType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2951183804:(e,t)=>new l.IfcChillerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3296154744:(e,t)=>new l.IfcChimney(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2611217952:(e,t)=>new l.IfcCircle(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value)),1677625105:(e,t)=>new l.IfcCivilElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),2301859152:(e,t)=>new l.IfcCoilType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),843113511:(e,t)=>new l.IfcColumn(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),905975707:(e,t)=>new l.IfcColumnStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),400855858:(e,t)=>new l.IfcCommunicationsApplianceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3850581409:(e,t)=>new l.IfcCompressorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2816379211:(e,t)=>new l.IfcCondenserType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3898045240:(e,t)=>new l.IfcConstructionEquipmentResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),1060000209:(e,t)=>new l.IfcConstructionMaterialResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),488727124:(e,t)=>new l.IfcConstructionProductResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),335055490:(e,t)=>new l.IfcCooledBeamType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2954562838:(e,t)=>new l.IfcCoolingTowerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1973544240:(e,t)=>new l.IfcCovering(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3495092785:(e,t)=>new l.IfcCurtainWall(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3961806047:(e,t)=>new l.IfcDamperType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1335981549:(e,t)=>new l.IfcDiscreteAccessory(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2635815018:(e,t)=>new l.IfcDiscreteAccessoryType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1599208980:(e,t)=>new l.IfcDistributionChamberElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2063403501:(e,t)=>new l.IfcDistributionControlElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),1945004755:(e,t)=>new l.IfcDistributionElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),3040386961:(e,t)=>new l.IfcDistributionFlowElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),3041715199:(e,t)=>new l.IfcDistributionPort(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8],t[9]),3205830791:(e,t)=>new l.IfcDistributionSystem(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]),395920057:(e,t)=>new l.IfcDoor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new l.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new l.IfcLabel(t[12].value):null),3242481149:(e,t)=>new l.IfcDoorStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new l.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new l.IfcLabel(t[12].value):null),869906466:(e,t)=>new l.IfcDuctFittingType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3760055223:(e,t)=>new l.IfcDuctSegmentType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2030761528:(e,t)=>new l.IfcDuctSilencerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),663422040:(e,t)=>new l.IfcElectricApplianceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2417008758:(e,t)=>new l.IfcElectricDistributionBoardType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3277789161:(e,t)=>new l.IfcElectricFlowStorageDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1534661035:(e,t)=>new l.IfcElectricGeneratorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1217240411:(e,t)=>new l.IfcElectricMotorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),712377611:(e,t)=>new l.IfcElectricTimeControlType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1658829314:(e,t)=>new l.IfcEnergyConversionDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),2814081492:(e,t)=>new l.IfcEngine(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3747195512:(e,t)=>new l.IfcEvaporativeCooler(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),484807127:(e,t)=>new l.IfcEvaporator(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1209101575:(e,t)=>new l.IfcExternalSpatialElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]),346874300:(e,t)=>new l.IfcFanType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1810631287:(e,t)=>new l.IfcFilterType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4222183408:(e,t)=>new l.IfcFireSuppressionTerminalType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2058353004:(e,t)=>new l.IfcFlowController(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),4278956645:(e,t)=>new l.IfcFlowFitting(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),4037862832:(e,t)=>new l.IfcFlowInstrumentType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2188021234:(e,t)=>new l.IfcFlowMeter(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3132237377:(e,t)=>new l.IfcFlowMovingDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),987401354:(e,t)=>new l.IfcFlowSegment(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),707683696:(e,t)=>new l.IfcFlowStorageDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),2223149337:(e,t)=>new l.IfcFlowTerminal(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),3508470533:(e,t)=>new l.IfcFlowTreatmentDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),900683007:(e,t)=>new l.IfcFooting(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3319311131:(e,t)=>new l.IfcHeatExchanger(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2068733104:(e,t)=>new l.IfcHumidifier(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4175244083:(e,t)=>new l.IfcInterceptor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2176052936:(e,t)=>new l.IfcJunctionBox(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),76236018:(e,t)=>new l.IfcLamp(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),629592764:(e,t)=>new l.IfcLightFixture(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1437502449:(e,t)=>new l.IfcMedicalDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1073191201:(e,t)=>new l.IfcMember(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1911478936:(e,t)=>new l.IfcMemberStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2474470126:(e,t)=>new l.IfcMotorConnection(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),144952367:(e,t)=>new l.IfcOuterBoundaryCurve(e,t[0].map((e=>new bm(e.value))),new l.IfcLogical(t[1].value)),3694346114:(e,t)=>new l.IfcOutlet(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1687234759:(e,t)=>new l.IfcPile(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8],t[9]),310824031:(e,t)=>new l.IfcPipeFitting(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3612865200:(e,t)=>new l.IfcPipeSegment(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3171933400:(e,t)=>new l.IfcPlate(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1156407060:(e,t)=>new l.IfcPlateStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),738039164:(e,t)=>new l.IfcProtectiveDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),655969474:(e,t)=>new l.IfcProtectiveDeviceTrippingUnitType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),90941305:(e,t)=>new l.IfcPump(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2262370178:(e,t)=>new l.IfcRailing(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3024970846:(e,t)=>new l.IfcRamp(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3283111854:(e,t)=>new l.IfcRampFlight(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1232101972:(e,t)=>new l.IfcRationalBSplineCurveWithKnots(e,new l.IfcInteger(t[0].value),t[1].map((e=>new bm(e.value))),t[2],new l.IfcLogical(t[3].value),new l.IfcLogical(t[4].value),t[5].map((e=>new l.IfcInteger(e.value))),t[6].map((e=>new l.IfcParameterValue(e.value))),t[7],t[8].map((e=>new l.IfcReal(e.value)))),979691226:(e,t)=>new l.IfcReinforcingBar(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?new l.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new l.IfcAreaMeasure(t[10].value):null,t[11]?new l.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13]),2572171363:(e,t)=>new l.IfcReinforcingBarType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]?new l.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new l.IfcAreaMeasure(t[11].value):null,t[12]?new l.IfcPositiveLengthMeasure(t[12].value):null,t[13],t[14]?new l.IfcLabel(t[14].value):null,t[15]?t[15].map((e=>_m(2,e))):null),2016517767:(e,t)=>new l.IfcRoof(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3053780830:(e,t)=>new l.IfcSanitaryTerminal(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1783015770:(e,t)=>new l.IfcSensorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1329646415:(e,t)=>new l.IfcShadingDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1529196076:(e,t)=>new l.IfcSlab(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3127900445:(e,t)=>new l.IfcSlabElementedCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3027962421:(e,t)=>new l.IfcSlabStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3420628829:(e,t)=>new l.IfcSolarDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1999602285:(e,t)=>new l.IfcSpaceHeater(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1404847402:(e,t)=>new l.IfcStackTerminal(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),331165859:(e,t)=>new l.IfcStair(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4252922144:(e,t)=>new l.IfcStairFlight(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcInteger(t[8].value):null,t[9]?new l.IfcInteger(t[9].value):null,t[10]?new l.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new l.IfcPositiveLengthMeasure(t[11].value):null,t[12]),2515109513:(e,t)=>new l.IfcStructuralAnalysisModel(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5],t[6]?new bm(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null),385403989:(e,t)=>new l.IfcStructuralLoadCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new l.IfcRatioMeasure(t[8].value):null,t[9]?new l.IfcLabel(t[9].value):null,t[10]?t[10].map((e=>new l.IfcRatioMeasure(e.value))):null),1621171031:(e,t)=>new l.IfcStructuralPlanarAction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new l.IfcBoolean(t[9].value):null,t[10],t[11]),1162798199:(e,t)=>new l.IfcSwitchingDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),812556717:(e,t)=>new l.IfcTank(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3825984169:(e,t)=>new l.IfcTransformer(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3026737570:(e,t)=>new l.IfcTubeBundle(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3179687236:(e,t)=>new l.IfcUnitaryControlElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4292641817:(e,t)=>new l.IfcUnitaryEquipment(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4207607924:(e,t)=>new l.IfcValve(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2391406946:(e,t)=>new l.IfcWall(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4156078855:(e,t)=>new l.IfcWallElementedCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3512223829:(e,t)=>new l.IfcWallStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4237592921:(e,t)=>new l.IfcWasteTerminal(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3304561284:(e,t)=>new l.IfcWindow(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new l.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new l.IfcLabel(t[12].value):null),486154966:(e,t)=>new l.IfcWindowStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new l.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new l.IfcLabel(t[12].value):null),2874132201:(e,t)=>new l.IfcActuatorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1634111441:(e,t)=>new l.IfcAirTerminal(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),177149247:(e,t)=>new l.IfcAirTerminalBox(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2056796094:(e,t)=>new l.IfcAirToAirHeatRecovery(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3001207471:(e,t)=>new l.IfcAlarmType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),277319702:(e,t)=>new l.IfcAudioVisualAppliance(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),753842376:(e,t)=>new l.IfcBeam(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2906023776:(e,t)=>new l.IfcBeamStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),32344328:(e,t)=>new l.IfcBoiler(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2938176219:(e,t)=>new l.IfcBurner(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),635142910:(e,t)=>new l.IfcCableCarrierFitting(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3758799889:(e,t)=>new l.IfcCableCarrierSegment(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1051757585:(e,t)=>new l.IfcCableFitting(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4217484030:(e,t)=>new l.IfcCableSegment(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3902619387:(e,t)=>new l.IfcChiller(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),639361253:(e,t)=>new l.IfcCoil(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3221913625:(e,t)=>new l.IfcCommunicationsAppliance(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3571504051:(e,t)=>new l.IfcCompressor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2272882330:(e,t)=>new l.IfcCondenser(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),578613899:(e,t)=>new l.IfcControllerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4136498852:(e,t)=>new l.IfcCooledBeam(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3640358203:(e,t)=>new l.IfcCoolingTower(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4074379575:(e,t)=>new l.IfcDamper(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1052013943:(e,t)=>new l.IfcDistributionChamberElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),562808652:(e,t)=>new l.IfcDistributionCircuit(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]),1062813311:(e,t)=>new l.IfcDistributionControlElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),342316401:(e,t)=>new l.IfcDuctFitting(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3518393246:(e,t)=>new l.IfcDuctSegment(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1360408905:(e,t)=>new l.IfcDuctSilencer(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1904799276:(e,t)=>new l.IfcElectricAppliance(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),862014818:(e,t)=>new l.IfcElectricDistributionBoard(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3310460725:(e,t)=>new l.IfcElectricFlowStorageDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),264262732:(e,t)=>new l.IfcElectricGenerator(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),402227799:(e,t)=>new l.IfcElectricMotor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1003880860:(e,t)=>new l.IfcElectricTimeControl(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3415622556:(e,t)=>new l.IfcFan(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),819412036:(e,t)=>new l.IfcFilter(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1426591983:(e,t)=>new l.IfcFireSuppressionTerminal(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),182646315:(e,t)=>new l.IfcFlowInstrument(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2295281155:(e,t)=>new l.IfcProtectiveDeviceTrippingUnit(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4086658281:(e,t)=>new l.IfcSensor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),630975310:(e,t)=>new l.IfcUnitaryControlElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4288193352:(e,t)=>new l.IfcActuator(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3087945054:(e,t)=>new l.IfcAlarm(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),25142252:(e,t)=>new l.IfcController(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8])},xm[2]={618182010:[Kf,_I],411424972:[om],4037036970:[ym,vm,wm,Tm],1387855156:[ym],2859738748:[wf,Na,hm,vf,dm],2614616156:[vf],1959218052:[GI,jI],1785450214:[Sa],1466758467:[Ta],4294318154:[sm,mm,QI],3200245327:[df,Df,ZI,JI,$I,em],760658860:[na,sa,KI,ga,Ea,Ra,YI,Da,XI],248100487:[Da],2235152071:[Ea],1507914824:[ea,ta,kI],1918398963:[pa,mf,yf,dI],3701648758:[Vd,Jd],2483315170:[Cd,vI,wI,TI,EI,gI,RI,MI],2226359599:[vI,wI,TI,EI,gI,RI],677532197:[Up,Ed,Fp,gd,Yf,LI,qI,ra,im,am,lm,Rf,fm,ha,fa,Gf,aa,la,Vf,jf,zf,Wf,kf,xd,Zd,bf,Zf,Qf,Fh,Jf,$f,eI],2022622350:[xI],3119450353:[sf,If,Xf,tI],2095639259:[vd,Ud],3958567839:[gp,Rp,qp,Mc,sh,uh,jc,gh,Oh,Lh,Mh,rp,ad,cd,Pd,Ji,ff,Ef,Sf,Of,Nf,Af],986844984:[gf,ud,pd,dd,fd,Id,yd,rI,NI,pI,hI,mI,Qi,OI,WI,ca,DI],1076942058:[nI,iI,Bf,oI,cI],3377609919:[ef,nf],3008791417:[Fd,Op,xp,Cp,Wp,$l,yc,Pc,Rn,is,hr,xr,Ro,Ls,Cn,ss,Ws,qc,Fc,Ts,xs,si,bi,yp,vp,Ep,Zp,Vc,au,ou,cu,lp,Jp,di,th,ih,ah,lh,rh,oh,Bi,Ui,Fi,hh,Gc,fh,Th,Nh,Ph,qh,bs,$s,ti,Oi,Ai,zi,Gs,ei,li,fp,_p,Ds,Ks,Zs,ap,qi,Kp,dh,Kc,Zc,Hh,Gh,uc,pc,Qs,Js,Tp,Qp,Wi,Bh,Qc,hi,uu,Ci,Li,Lp,Uh,ed,nd,id,ch,Sd,bd,Nd,Ip,Od,Ih,mh,yh,Ad,jd,zd,Wd,kd,Yd,Xd,ph,Rd,Qd,Dp,$d,tf,Ld,Bp,bh,Dd,Gd,rf,of,Gi,lf,cf,Vh,qd,uf,pf,nh,_d,Tf,_f,Mf,Uf,sI],2439245199:[Yi,Xi,SI,UI,$i,oa,nm,rm,Em],2341007311:[Su,yi,bu,vi,Nu,po,hu,vu,Eu,Ou,wi,fi,Ii,du,fu,Iu,yu,mi,Ru,Du,Au,xu,Cu,Pu,qu,Mu,Hu,Bu,Lu,Uu,Fu,Gu,ju,zu,Wu,ku,Yu,Xu,Zu,Qu,$u,ep,Ti,tp,np,sp,ip,ld,ks,pi,Ei,gi,Zi,cp,mp,jp,zp,Dh,Sh,rd,Si,Hp,Ki,hd,md,dr,ja,Ht,Xn,ts,Tr,_r,Ur,fn,Wr,jo,ko,vr,Er,gr,Rr,ls,To,No,Oo,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,Cl,go,Yo,vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,En,xn,qn,_n,Mn,rl,Ct,hn,ol,_t,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,Jt,qa,sn,Ha,Ba,ln,Ua,za,Wa,vn,wn,ka,Tn,Ka,$a,el,tl,Nn,nl,sl,Pn,il,al,Yn,xl,Fl,Gl,Zn,Ql,Jn,ar,or,br,Cr,Ps,hs,qs,Zo,ds,os,Os,Co,ac,vo,lc,rc,Hl,lr,cs,Oa,Ga,Va,Za,Qa,Ho,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu,iu,Vn,Ms,oi,io,lo,Hc,Uc,ru,ui,op,hp,Eo,Hs,Yc,dp,wp,Ri,pp,Mi,Vs,js,zs,ii,Ni,_i,Hi,Vi,ri,to,lu,ci,Ml,ns,Fa,gn,us,ps,gs,Rs,Mo,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,co,Ao,As,Uo,Fo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,pr,rs,Sr,ys,$r,ao,ws,Es,Ss,ho,fo,Do,Ns,_o,_s,Fs,bc,Oc,_c,Xs,Bc,kc,xi,Xc,Sp,bp,Mp,Vp,Rh,Ah,ni,Di,Pi,ji,xh,Hd],1054537805:[ki,ia,ua,da,Ia,ma],3982875396:[Bf,oI],2273995522:[td,af],2162789131:[ya,Wh,kh,Yh,Xh,Kh,Zh,aI,lI,va,wa],609421318:[ya,Wh,kh,Yh,Xh,Kh,Zh,aI,lI],2525727697:[Wh,kh,Yh,Xh,Kh,Zh,aI],2830218821:[nI],846575682:[Fh],626085974:[xd,Zd,bf],1549132990:[Ia],280115917:[aa,la,Vf,jf],3101149627:[od,Kd],1377556343:[Ld,Bp,bh,Dd,Gd,rf,of,Gi,lf,cf,Vh,qd,uf,pf,nh,_d,Tf,_f,Mf],2799835756:[_f],3798115385:[Nf],1310608509:[Sf],3264961684:[Rf],370225590:[nh,_d],2889183280:[pa],3632507154:[Ji],3900360178:[Vh,qd,uf],297599258:[OI,WI],2556980723:[Gi,lf],1809719519:[rf],3008276851:[Gi],3448662350:[ef],2453401579:[Op,xp,Cp,Wp,$l,yc,Pc,Rn,is,hr,xr,Ro,Ls,Cn,ss,Ws,qc,Fc,Ts,xs,si,bi,yp,vp,Ep,Zp,Vc,au,ou,cu,lp,Jp,di,th,ih,ah,lh,rh,oh,Bi,Ui,Fi,hh,Gc,fh,Th,Nh,Ph,qh,bs,$s,ti,Oi,Ai,zi,Gs,ei,li,fp,_p,Ds,Ks,Zs,ap,qi,Kp,dh,Kc,Zc,Hh,Gh,uc,pc,Qs,Js,Tp,Qp,Wi,Bh,Qc,hi,uu,Ci,Li,Lp,Uh,ed,nd,id,ch,Sd,bd,Nd,Ip,Od,Ih,mh,yh,Ad,jd,zd,Wd,kd,Yd,Xd,ph,Rd,Qd,Dp,$d],3590301190:[Dp],812098782:[ph,Rd],1437953363:[aa],1402838566:[jd,zd,Wd,kd,Yd],1520743889:[jd],1008929658:[Bp,bh,Dd],3079605661:[ea],219451334:[dr,ja,Ht,Xn,ts,Tr,_r,Ur,fn,Wr,jo,ko,vr,Er,gr,Rr,ls,To,No,Oo,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,Cl,go,Yo,vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,En,xn,qn,_n,Mn,rl,Ct,hn,ol,_t,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,Jt,qa,sn,Ha,Ba,ln,Ua,za,Wa,vn,wn,ka,Tn,Ka,$a,el,tl,Nn,nl,sl,Pn,il,al,Yn,xl,Fl,Gl,Zn,Ql,Jn,ar,or,br,Cr,Ps,hs,qs,Zo,ds,os,Os,Co,ac,vo,lc,rc,Hl,lr,cs,Oa,Ga,Va,Za,Qa,Ho,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu,iu,Vn,Ms,oi,io,lo,Hc,Uc,ru,ui,op,hp,Eo,Hs,Yc,dp,wp,Ri,pp,Mi,Vs,js,zs,ii,Ni,_i,Hi,Vi,ri,to,lu,ci,Ml,ns,Fa,gn,us,ps,gs,Rs,Mo,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,co,Ao,As,Uo,Fo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,pr,rs,Sr,ys,$r,ao,ws,Es,Ss,ho,fo,Do,Ns,_o,_s,Fs,bc,Oc,_c,Xs,Bc,kc,xi,Xc,Sp,bp,Mp,Vp,Rh,Ah,ni,Di,Pi,ji,xh],2529465313:[gp,Rp,qp,Mc,sh,uh,jc,gh,Oh,Lh,Mh,rp,ad,cd],2004835150:[Ih,mh,yh],1663979128:[Ip],2067069095:[ch,Sd,bd],3727388367:[Up,Ed,Fp,gd,Yf,LI],3778827333:[pI,hI,mI],1775413392:[Yf],2598011224:[gf,ud,pd,dd,fd,Id,yd,rI],1680319473:[ks,pi,Ei,gi,Zi,cp,mp,jp,zp,Dh,Sh,rd,Si,Hp,Ki,hd],3357820518:[cp,mp,jp,zp,Dh,Sh,rd,Si,Hp,Ki],1482703590:[ks,pi,Ei,gi],2090586900:[Hp],3615266464:[rp,ad],478536968:[Su,yi,bu,vi,Nu,po,hu,vu,Eu,Ou,wi,fi,Ii,du,fu,Iu,yu,mi,Ru,Du,Au,xu,Cu,Pu,qu,Mu,Hu,Bu,Lu,Uu,Fu,Gu,ju,zu,Wu,ku,Yu,Xu,Zu,Qu,$u,ep,Ti,tp,np,sp,ip],3692461612:[ud,pd,dd,fd,Id,yd],723233188:[uc,pc,Qs,Js,Tp,Qp,Wi,Bh,Qc,hi,uu,Ci,Li,Lp,Uh],2473145415:[Yh],1597423693:[Wh],2513912981:[Gs,ei,li,fp,_p,Ds,Ks,Zs,ap,qi,Kp,dh,Kc,Zc,Hh],2247615214:[Qc,hi,uu,Ci,Li,Lp],1260650574:[Wi],230924584:[Kc,Zc],901063453:[bs,$s,ti,Oi,Ai],4282788508:[Ph],1628702193:[Vs,js,zs,ii,Ni,_i,Hi,Vi,ri,to,lu,ci,Ml,ns,Fa,gn,us,ps,gs,Rs,Mo,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,co,Ao,As,Uo,Fo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,pr,rs,Sr,ys,$r,ao,ws,Es,Ss,ho,fo,Do,Ns,_o,_s,Fs,bc,Oc,_c,Xs,Bc,kc,xi,Xc,Sp,bp,Mp,Vp,Rh,Ah,ni,Di,Pi,ji],3736923433:[ni,Di,Pi],2347495698:[ri,to,lu,ci,Ml,ns,Fa,gn,us,ps,gs,Rs,Mo,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,co,Ao,As,Uo,Fo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,pr,rs,Sr,ys,$r,ao,ws,Es,Ss,ho,fo,Do,Ns,_o,_s,Fs,bc,Oc,_c,Xs,Bc,kc,xi,Xc,Sp,bp,Mp,Vp,Rh],3698973494:[Vs,js,zs,ii,Ni,_i,Hi],2736907675:[Gc],4182860854:[Ds,Ks,Zs,ap,qi,Kp],574549367:[Bi,Ui],59481748:[ih,ah,lh,rh],3749851601:[lh],3331915920:[ih],1383045692:[Mc],2485617015:[di],2574617495:[Vs,js,zs,ii,Ni,_i],3419103109:[Ri,pp],2506170314:[Vc,au,ou,cu,lp],2601014836:[$l,yc,Pc,Rn,is,hr,xr,Ro,Ls,Cn,ss,Ws,qc,Fc,Ts,xs,si,bi,yp,vp,Ep],339256511:[Ml,ns,Fa,gn,us,ps,gs,Rs,Mo,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,co,Ao,As,Uo,Fo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,pr,rs,Sr,ys,$r,ao,ws,Es,Ss,ho,fo,Do,Ns,_o,_s,Fs,bc,Oc,_c,Xs,Bc,kc,xi,Xc,Sp,bp],2777663545:[Gs,ei,li,fp],477187591:[Li],4238390223:[Xc,Sp],178912537:[Oi],1425443689:[uc,pc,Qs,Js],3888040117:[dr,ja,Ht,Xn,ts,Tr,_r,Ur,fn,Wr,jo,ko,vr,Er,gr,Rr,ls,To,No,Oo,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,Cl,go,Yo,vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,En,xn,qn,_n,Mn,rl,Ct,hn,ol,_t,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,Jt,qa,sn,Ha,Ba,ln,Ua,za,Wa,vn,wn,ka,Tn,Ka,$a,el,tl,Nn,nl,sl,Pn,il,al,Yn,xl,Fl,Gl,Zn,Ql,Jn,ar,or,br,Cr,Ps,hs,qs,Zo,ds,os,Os,Co,ac,vo,lc,rc,Hl,lr,cs,Oa,Ga,Va,Za,Qa,Ho,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu,iu,Vn,Ms,oi,io,lo,Hc,Uc,ru,ui,op,hp,Eo,Hs,Yc,dp],759155922:[Fp],2559016684:[Up],3967405729:[mp,jp,zp,Dh,Sh,rd],2945172077:[Eo,Hs,Yc],4208778838:[Cl,go,Yo,vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,En,xn,qn,_n,Mn,rl,Ct,hn,ol,_t,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,Jt,qa,sn,Ha,Ba,ln,Ua,za,Wa,vn,wn,ka,Tn,Ka,$a,el,tl,Nn,nl,sl,Pn,il,al,Yn,xl,Fl,Gl,Zn,Ql,Jn,ar,or,br,Cr,Ps,hs,qs,Zo,ds,os,Os,Co,ac,vo,lc,rc,Hl,lr,cs,Oa,Ga,Va,Za,Qa,Ho,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu,iu,Vn,Ms,oi,io,lo,Hc,Uc,ru,ui,op],3521284610:[ks,pi],3939117080:[Qu,$u,ep,Ti,tp,np,sp],1307041759:[Ti],1865459582:[ju,zu,Wu,ku,Yu,Xu],826625072:[fi,Ii,du,fu,Iu,yu,mi,Ru,Du,Au,xu,Cu,Pu,qu,Mu,Hu,Bu,Lu,Uu,Fu],1204542856:[Lu,Uu],1638771189:[Pu],2551354335:[po,hu,vu,Eu],693640335:[Su,yi,bu,vi],3451746338:[fi,Ii],3523091289:[fi],2914609552:[zl,Wl,kl,Hr,Go,Nc,Lc],1856042241:[hi],1412071761:[Vn,Ms,oi,io,lo,Hc,Uc,ru],710998568:[ri,to,lu],2706606064:[io,lo,Hc,Uc],3893378262:[to],3544373492:[zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu],3136571912:[Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu],530289379:[Xr,Kr,$c,eu],3689010777:[Fr,Is,ai],3979015343:[$c],699246055:[Ts,xs],2387106220:[bs,$s],2296667514:[Lo],1635779807:[Qs],2887950389:[Ds,Ks],167062518:[Ds],1260505505:[Rn,is,hr,xr,Ro,Ls,Cn,ss,Ws,qc],1950629157:[ir,pr,rs,Sr,ys,$r,ao,ws,Es,Ss,ho,fo,Do,Ns,_o,_s,Fs,bc,Oc,_c,Xs],3732776249:[Cn,ss,Ws],15328376:[Cn,ss],2510884976:[$l,yc],2559216714:[zl,Wl,kl,Hr,Go,Nc],3293443760:[vr,Er,gr,Rr,ls,To,No,Oo,Ac,xc],3256556792:[La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,co,Ao,As,Uo,Fo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc],3849074793:[_l,Il,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,co,Ao,As,Uo,Fo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc],1758889154:[vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,En,xn,qn,_n,Mn,rl,Ct,hn,ol,_t,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,Jt,qa,sn,Ha,Ba,ln,Ua,za,Wa,vn,wn,ka,Tn,Ka,$a,el,tl,Nn,nl,sl,Pn,il,al,Yn,xl,Fl,Gl,Zn,Ql,Jn,ar,or,br,Cr,Ps,hs,qs,Zo,ds,os,Os,Co,ac,vo,lc,rc,Hl,lr,cs,Oa,Ga,Va,Za,Qa,Ho,cc,wc,Tc],1623761950:[Hl,lr,cs,Oa,Ga,Va,Za,Qa,Ho,cc],2590856083:[Ml,ns,Fa,gn,us,ps,gs,Rs,Mo,oc],2107101300:[El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs],2853485674:[Vn],807026263:[uc],2827207264:[ds,os,Os,Co,ac,vo,lc],2143335405:[vo],1287392070:[os,Os,Co],3907093117:[Tl,kn,Ul,yr,Nr,Mr,yo,nc],3198132628:[Al,$n,sr,bo,Vo],1482959167:[ml,Zl,mo],1834744321:[Ol,tr,nr,So],1339347760:[Dl,qr],2297155007:[fl,Sl,Kn,as,mr,Dr,eo,so,co,Ao,As,Uo,Fo],3009222698:[Il,Nl,Cs],263784265:[hs,qs],2706460486:[dr,ja,Ht,Xn,ts,Tr,_r,Ur,fn,Wr,jo],3588315303:[Os],3740093272:[Cl],3027567501:[Oa,Ga,Va,Za],964333572:[gn,us,ps,gs],682877961:[zr,fs,Vr,Yr,ms],1179482911:[Br,Gr,Zr],1004757350:[Yr],214636428:[Xr],1252848954:[fn],3657597509:[zr],2254336722:[ja,Ht,Xn,ts,Tr],1028945134:[Er,gr],1967976161:[Rn,is],2461110595:[Rn],1136057603:[Cn],3299480353:[Jt,qa,sn,Ha,Ba,ln,Ua,za,Wa,vn,wn,ka,Tn,Ka,$a,el,tl,Nn,nl,sl,Pn,il,al,Yn,xl,Fl,Gl,Zn,Ql,Jn,ar],843113511:[Zn],2063403501:[La,_a,Ma,cn,Ya,Sn,pl],1945004755:[vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,En,xn,qn,_n,Mn,rl,Ct,hn,ol,_t,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll],3040386961:[Ca,bt,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,En,xn,qn,_n,Mn,rl,Ct,hn,ol,_t,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl],3205830791:[Ht],395920057:[Yn],1658829314:[At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn],2058353004:[Ot,Lt,Bt,tn,rn,dn,bn,Gn],4278956645:[Mt,Yt,Kt,An,Hn],3132237377:[Nt,Vt,Dn],987401354:[_t,kt,Xt,On],707683696:[Ct,hn],2223149337:[St,Pt,jt,$t,nn,an,In,mn,En,xn,qn,_n,Mn],3508470533:[bt,qt,Bn],1073191201:[Pn],3171933400:[Nn],1529196076:[vn,wn],2391406946:[Ba,ln],3304561284:[sn],753842376:[Jt],1062813311:[vt,wt,Tt,Et,gt,Rt,Dt]},Am[2]={3630933823:[[\"HasExternalReference\",oa,3,!0]],618182010:[[\"OfPerson\",BI,7,!0],[\"OfOrganization\",FI,4,!0]],411424972:[[\"HasExternalReference\",oa,3,!0]],130549933:[[\"HasExternalReferences\",oa,3,!0],[\"ApprovedObjects\",Xu,5,!0],[\"ApprovedResources\",Xi,3,!0],[\"IsRelatedWith\",Em,3,!0],[\"Relates\",Em,2,!0]],1959218052:[[\"HasExternalReferences\",oa,3,!0],[\"PropertiesForConstraint\",Yi,2,!0]],1466758467:[[\"HasCoordinateOperation\",ba,0,!0]],602808272:[[\"HasExternalReference\",oa,3,!0]],3200245327:[[\"ExternalReferenceForResources\",oa,2,!0]],2242383968:[[\"ExternalReferenceForResources\",oa,2,!0]],1040185647:[[\"ExternalReferenceForResources\",oa,2,!0]],3548104201:[[\"ExternalReferenceForResources\",oa,2,!0]],852622518:[[\"PartOfW\",Yo,9,!0],[\"PartOfV\",Yo,8,!0],[\"PartOfU\",Yo,7,!0],[\"HasIntersections\",qf,0,!0]],2655187982:[[\"LibraryInfoForObjects\",zu,5,!0],[\"HasLibraryReferences\",ZI,5,!0]],3452421091:[[\"ExternalReferenceForResources\",oa,2,!0],[\"LibraryRefForObjects\",zu,5,!0]],760658860:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0]],248100487:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0],[\"ToMaterialLayerSet\",YI,0,!1]],3303938423:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0]],1847252529:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0],[\"ToMaterialLayerSet\",YI,0,!1]],2235152071:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0],[\"ToMaterialProfileSet\",ga,2,!1]],164193824:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0]],552965576:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0],[\"ToMaterialProfileSet\",ga,2,!1]],1507914824:[[\"AssociatedTo\",ju,5,!0]],3368373690:[[\"HasExternalReferences\",oa,3,!0],[\"PropertiesForConstraint\",Yi,2,!0]],3701648758:[[\"PlacesObject\",hp,5,!0],[\"ReferencedByPlacements\",Vd,0,!0]],2251480897:[[\"HasExternalReferences\",oa,3,!0],[\"PropertiesForConstraint\",Yi,2,!0]],4251960020:[[\"IsRelatedBy\",UI,3,!0],[\"Relates\",UI,2,!0],[\"Engages\",HI,1,!0]],2077209135:[[\"EngagedIn\",HI,0,!0]],2483315170:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],2226359599:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],3355820592:[[\"OfPerson\",BI,7,!0],[\"OfOrganization\",FI,4,!0]],3958567839:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],3843373140:[[\"HasCoordinateOperation\",ba,0,!0]],986844984:[[\"HasExternalReferences\",oa,3,!0]],3710013099:[[\"HasExternalReferences\",oa,3,!0]],2044713172:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],2093928680:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],931644368:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],3252649465:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],2405470396:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],825690147:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],1076942058:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0]],3377609919:[[\"RepresentationsInContext\",II,0,!0]],3008791417:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1660063152:[[\"HasShapeAspects\",uI,4,!0],[\"MapUsage\",Fd,0,!0]],3982875396:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0],[\"OfShapeAspect\",uI,0,!0]],4240577450:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0],[\"OfShapeAspect\",uI,0,!0]],2830218821:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0]],3958052878:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3049322572:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0]],626085974:[[\"IsMappedBy\",zf,0,!0],[\"UsedInStyles\",Qf,0,!0]],912023232:[[\"OfPerson\",BI,7,!0],[\"OfOrganization\",FI,4,!0]],3101149627:[[\"HasExternalReference\",oa,3,!0]],1377556343:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1735638870:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0],[\"OfShapeAspect\",uI,0,!0]],2799835756:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1907098498:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3798115385:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],1310608509:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],2705031697:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],616511568:[[\"IsMappedBy\",zf,0,!0],[\"UsedInStyles\",Qf,0,!0]],3150382593:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],747523909:[[\"ClassificationForObjects\",Yu,5,!0],[\"HasReferences\",Df,3,!0]],647927063:[[\"ExternalReferenceForResources\",oa,2,!0],[\"ClassificationRefForObjects\",Yu,5,!0],[\"HasReferences\",Df,3,!0]],1485152156:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],370225590:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3050246964:[[\"HasExternalReference\",oa,3,!0]],2889183280:[[\"HasExternalReference\",oa,3,!0]],2713554722:[[\"HasExternalReference\",oa,3,!0]],3632507154:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],1154170062:[[\"DocumentInfoForObjects\",Wu,5,!0],[\"HasDocumentReferences\",df,4,!0],[\"IsPointedTo\",nm,3,!0],[\"IsPointer\",nm,2,!0]],3732053477:[[\"ExternalReferenceForResources\",oa,2,!0],[\"DocumentRefForObjects\",Wu,5,!0]],3900360178:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],476780140:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],297599258:[[\"HasExternalReferences\",oa,3,!0]],2556980723:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"HasTextureMaps\",Vf,2,!0]],1809719519:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],803316827:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3008276851:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"HasTextureMaps\",Vf,2,!0]],3448662350:[[\"RepresentationsInContext\",II,0,!0],[\"HasSubContexts\",ef,6,!0],[\"HasCoordinateOperation\",ba,0,!0]],2453401579:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4142052618:[[\"RepresentationsInContext\",II,0,!0],[\"HasSubContexts\",ef,6,!0],[\"HasCoordinateOperation\",ba,0,!0]],3590301190:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],178086475:[[\"PlacesObject\",hp,5,!0],[\"ReferencedByPlacements\",Vd,0,!0]],812098782:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3905492369:[[\"IsMappedBy\",zf,0,!0],[\"UsedInStyles\",Qf,0,!0]],3741457305:[[\"HasExternalReference\",oa,3,!0]],1402838566:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],125510826:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2604431987:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4266656042:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1520743889:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3422422726:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2624227202:[[\"PlacesObject\",hp,5,!0],[\"ReferencedByPlacements\",Vd,0,!0]],1008929658:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2347385850:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1838606355:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0],[\"HasRepresentation\",Ud,3,!0],[\"IsRelatedWith\",$i,3,!0],[\"RelatesTo\",$i,2,!0]],3708119e3:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0],[\"ToMaterialConstituentSet\",na,2,!1]],2852063980:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0]],1303795690:[[\"AssociatedTo\",ju,5,!0]],3079605661:[[\"AssociatedTo\",ju,5,!0]],3404854881:[[\"AssociatedTo\",ju,5,!0]],3265635763:[[\"HasExternalReferences\",oa,3,!0]],2998442950:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],219451334:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0]],2665983363:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1029017970:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2529465313:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],2519244187:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3021840470:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],597895409:[[\"IsMappedBy\",zf,0,!0],[\"UsedInStyles\",Qf,0,!0]],2004835150:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1663979128:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2067069095:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4022376103:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1423911732:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2924175390:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2775532180:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3778827333:[[\"HasExternalReferences\",oa,3,!0]],673634403:[[\"ShapeOfProduct\",hp,6,!0],[\"HasShapeAspects\",uI,4,!0]],2802850158:[[\"HasExternalReferences\",oa,3,!0]],2598011224:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],1680319473:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0]],3357820518:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],1482703590:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0]],2090586900:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],3615266464:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],3413951693:[[\"HasExternalReference\",oa,3,!0]],1580146022:[[\"HasExternalReferences\",oa,3,!0]],2778083089:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],2042790032:[[\"HasExternalReferences\",oa,3,!0]],4165799628:[[\"HasExternalReferences\",oa,3,!0]],1509187699:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4124623270:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3692461612:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],723233188:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2233826070:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2513912981:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2247615214:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1260650574:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1096409881:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],230924584:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3071757647:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],901063453:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4282788508:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3124975700:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2715220739:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],1628702193:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0]],3736923433:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"OperatesOn\",ep,6,!0]],2347495698:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3698973494:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ResourceOf\",Qu,6,!0]],427810014:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],1417489154:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2759199220:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1299126871:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2543172580:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],3406155212:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"HasTextureMaps\",Vf,2,!0]],669184980:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3207858831:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],4261334040:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3125803723:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2740243338:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2736907675:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4182860854:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2581212453:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2713105998:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2898889636:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],1123145078:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],574549367:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1675464909:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2059837836:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],59481748:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3749851601:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3486308946:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3331915920:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1416205885:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1383045692:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],2205249479:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2542286263:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],2485617015:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"UsingCurves\",qc,0,!0]],2574617495:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ResourceOf\",Qu,6,!0]],3419103109:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Declares\",wi,4,!0]],1815067380:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ResourceOf\",Qu,6,!0]],2506170314:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2147822146:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2601014836:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2827736869:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2629017746:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],32440307:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],526551008:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1472233963:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1883228015:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],339256511:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2777663545:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2835456948:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],4024345920:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"OperatesOn\",ep,6,!0]],477187591:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2804161546:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2047409740:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],374418227:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],315944413:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2652556860:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4238390223:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1268542332:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4095422895:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],987898635:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1484403080:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],178912537:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"ToFaceSet\",bs,2,!0]],2294589976:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"ToFaceSet\",bs,2,!0]],572779678:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],428585644:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ResourceOf\",Qu,6,!0]],1281925730:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1425443689:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3888040117:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0]],3388369263:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3505215534:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1682466193:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],603570806:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],220341763:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3967405729:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],569719735:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"OperatesOn\",ep,6,!0]],2945172077:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsPredecessorTo\",Iu,4,!0],[\"IsSuccessorFrom\",Iu,5,!0],[\"OperatesOn\",ep,6,!0]],4208778838:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0]],103090709:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Declares\",wi,4,!0]],653396225:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Declares\",wi,4,!0]],871118103:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],4166981789:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],2752243245:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],941946838:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],1451395588:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],492091185:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Defines\",yi,5,!0]],3650150729:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],110355661:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],3521284610:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"PartOfComplexTemplate\",ks,6,!0],[\"PartOfPsetTemplate\",gi,6,!0]],3219374653:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0]],2770003689:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],2798486643:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3454111270:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3765753017:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],3523091289:[[\"InnerBoundaries\",Ii,9,!0]],1521410863:[[\"InnerBoundaries\",Ii,9,!0],[\"Corresponds\",fi,10,!0]],816062949:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"UsingCurves\",qc,0,!0]],2914609552:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ResourceOf\",Qu,6,!0]],1856042241:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3243963512:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4158566097:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3626867408:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3663146110:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"PartOfComplexTemplate\",ks,6,!0],[\"PartOfPsetTemplate\",gi,6,!0]],1412071761:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0]],710998568:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2706606064:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0]],3893378262:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],463610769:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0]],2481509218:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],451544542:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4015995234:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3544373492:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],3136571912:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0]],530289379:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectedBy\",qu,4,!0]],3689010777:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],3979015343:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectedBy\",qu,4,!0]],2218152070:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectedBy\",qu,4,!0]],603775116:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],4095615324:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ResourceOf\",Qu,6,!0]],699246055:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2028607225:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2809605785:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4124788165:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1580310250:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3473067441:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsPredecessorTo\",Iu,4,!0],[\"IsSuccessorFrom\",Iu,5,!0],[\"OperatesOn\",ep,6,!0]],3206491090:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"OperatesOn\",ep,6,!0]],2387106220:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"HasColours\",ra,0,!0],[\"HasTextures\",la,1,!0]],1935646853:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2097647324:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2916149573:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"HasColours\",ra,0,!0],[\"HasTextures\",la,1,!0]],336235671:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],512836454:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],2296667514:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsActingUpon\",sp,6,!0]],1635779807:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2603310189:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1674181508:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainedInStructure\",Cu,4,!0]],2887950389:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],167062518:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1334484129:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3649129432:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1260505505:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4031249490:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0]],1950629157:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3124254112:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0]],2197970202:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2937912522:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],3893394355:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],300633059:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3875453745:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"PartOfComplexTemplate\",ks,6,!0],[\"PartOfPsetTemplate\",gi,6,!0]],3732776249:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],15328376:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2510884976:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2185764099:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ResourceOf\",Qu,6,!0]],4105962743:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ResourceOf\",Qu,6,!0]],1525564444:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ResourceOf\",Qu,6,!0]],2559216714:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ResourceOf\",Qu,6,!0]],3293443760:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],3895139033:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],1419761937:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],1916426348:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3295246426:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ResourceOf\",Qu,6,!0]],1457835157:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1213902940:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3256556792:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3849074793:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2963535650:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],1714330368:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],2323601079:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1758889154:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],4123344466:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2397081782:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1623761950:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2590856083:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1704287377:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2107101300:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],132023988:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3174744832:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3390157468:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4148101412:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsPredecessorTo\",Iu,4,!0],[\"IsSuccessorFrom\",Iu,5,!0],[\"OperatesOn\",ep,6,!0]],2853485674:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0]],807026263:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3737207727:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],647756555:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2489546625:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2827207264:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2143335405:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"ProjectsElements\",vu,5,!1]],1287392070:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"VoidsElements\",hu,5,!1]],3907093117:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3198132628:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3815607619:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1482959167:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1834744321:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1339347760:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2297155007:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3009222698:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1893162501:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],263784265:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],1509553395:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],3493046030:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],3009204131:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainedInStructure\",Cu,4,!0]],2706460486:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0]],1251058090:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1806887404:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2571569899:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3946677679:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3113134337:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2391368822:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0]],4288270099:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3827777499:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ResourceOf\",Qu,6,!0]],1051575348:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1161773419:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],377706215:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2108223431:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1114901282:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3181161470:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],977012517:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4143007308:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsActingUpon\",sp,6,!0]],3588315303:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"VoidsElements\",hu,5,!1],[\"HasFillings\",Du,4,!0]],3079942009:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"VoidsElements\",hu,5,!1],[\"HasFillings\",Du,4,!0]],2837617999:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2382730787:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],3566463478:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],3327091369:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],1158309216:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],804291784:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4231323485:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4017108033:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2839578677:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"HasColours\",ra,0,!0],[\"HasTextures\",la,1,!0]],3724593414:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3740093272:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainedIn\",Bu,4,!0],[\"ConnectedFrom\",Hu,5,!0],[\"ConnectedTo\",Hu,4,!0]],2744685151:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsPredecessorTo\",Iu,4,!0],[\"IsSuccessorFrom\",Iu,5,!0],[\"OperatesOn\",ep,6,!0]],2904328755:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],3651124850:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"ProjectsElements\",vu,5,!1]],1842657554:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2250791053:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2893384427:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2324767716:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1469900589:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],683857671:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3027567501:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],964333572:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2320036040:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2310774935:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2781568857:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1768891740:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2157484638:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4074543187:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4097777520:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0]],2533589738:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1072016465:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3856911033:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"HasCoverings\",Au,4,!0],[\"BoundedBy\",du,4,!0]],1305183839:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3812236995:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3112655638:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1039846685:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],338393293:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],682877961:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],1179482911:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectsStructuralMembers\",qu,5,!0]],1004757350:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],4243806635:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectsStructuralMembers\",qu,5,!0]],214636428:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectedBy\",qu,4,!0]],2445595289:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectedBy\",qu,4,!0]],2757150158:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],1807405624:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],1252848954:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"SourceOfResultGroup\",Ur,6,!0],[\"LoadGroupFor\",ja,7,!0]],2082059205:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],734778138:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectsStructuralMembers\",qu,5,!0]],1235345126:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],2986769608:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ResultGroupFor\",ja,8,!0]],3657597509:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],1975003073:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectsStructuralMembers\",qu,5,!0]],148013059:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ResourceOf\",Qu,6,!0]],3101698114:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2315554128:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2254336722:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ServicesBuildings\",fu,4,!0]],413509423:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],5716631:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3824725483:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2347447852:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],3081323446:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2415094496:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1692211062:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1620046519:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],3593883385:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1600972822:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1911125066:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],728799441:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2391383451:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],3313531582:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2769231204:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],926996030:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"VoidsElements\",hu,5,!1]],1898987631:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1133259667:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4009809668:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4088093105:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],1028945134:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],4218914973:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],3342526732:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],1033361043:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ServicesBuildings\",fu,4,!0]],3821786052:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],1411407467:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3352864051:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1871374353:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3460190687:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0]],1532957894:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1967976161:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2461110595:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],819618141:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],231477066:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1136057603:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3299480353:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2979338954:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],39481116:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1095909175:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],1909888760:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1177604601:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ServicesBuildings\",fu,4,!0]],2188180465:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],395041908:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3293546465:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2674252688:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1285652485:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2951183804:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3296154744:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2611217952:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1677625105:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2301859152:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],843113511:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],905975707:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],400855858:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3850581409:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2816379211:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3898045240:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ResourceOf\",Qu,6,!0]],1060000209:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ResourceOf\",Qu,6,!0]],488727124:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ResourceOf\",Qu,6,!0]],335055490:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2954562838:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1973544240:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"CoversSpaces\",Au,5,!0],[\"CoversElements\",xu,5,!0]],3495092785:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],3961806047:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1335981549:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2635815018:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1599208980:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2063403501:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1945004755:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0]],3040386961:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3041715199:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainedIn\",Bu,4,!0],[\"ConnectedFrom\",Hu,5,!0],[\"ConnectedTo\",Hu,4,!0]],3205830791:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ServicesBuildings\",fu,4,!0]],395920057:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],3242481149:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],869906466:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3760055223:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2030761528:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],663422040:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2417008758:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3277789161:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1534661035:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1217240411:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],712377611:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1658829314:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2814081492:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3747195512:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],484807127:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1209101575:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"BoundedBy\",du,4,!0]],346874300:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1810631287:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4222183408:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2058353004:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],4278956645:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],4037862832:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2188021234:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3132237377:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],987401354:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],707683696:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2223149337:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3508470533:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],900683007:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],3319311131:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2068733104:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],4175244083:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2176052936:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],76236018:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],629592764:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1437502449:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1073191201:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],1911478936:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2474470126:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],144952367:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3694346114:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1687234759:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],310824031:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3612865200:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3171933400:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],1156407060:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],738039164:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],655969474:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],90941305:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2262370178:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],3024970846:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],3283111854:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],1232101972:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],979691226:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2572171363:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2016517767:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],3053780830:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1783015770:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1329646415:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],1529196076:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],3127900445:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],3027962421:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],3420628829:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1999602285:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1404847402:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],331165859:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],4252922144:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2515109513:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ServicesBuildings\",fu,4,!0]],385403989:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"SourceOfResultGroup\",Ur,6,!0],[\"LoadGroupFor\",ja,7,!0]],1621171031:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],1162798199:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],812556717:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3825984169:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3026737570:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3179687236:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4292641817:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],4207607924:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2391406946:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],4156078855:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],3512223829:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],4237592921:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3304561284:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],486154966:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2874132201:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1634111441:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],177149247:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2056796094:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3001207471:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],277319702:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],753842376:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],2906023776:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0]],32344328:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2938176219:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],635142910:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3758799889:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1051757585:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],4217484030:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3902619387:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],639361253:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3221913625:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3571504051:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2272882330:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],578613899:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4136498852:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3640358203:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],4074379575:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1052013943:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],562808652:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ServicesBuildings\",fu,4,!0]],1062813311:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"AssignedToFlowElement\",Ru,4,!0]],342316401:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3518393246:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1360408905:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1904799276:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],862014818:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3310460725:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],264262732:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],402227799:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1003880860:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3415622556:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],819412036:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1426591983:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],182646315:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"AssignedToFlowElement\",Ru,4,!0]],2295281155:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"AssignedToFlowElement\",Ru,4,!0]],4086658281:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"AssignedToFlowElement\",Ru,4,!0]],630975310:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"AssignedToFlowElement\",Ru,4,!0]],4288193352:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"AssignedToFlowElement\",Ru,4,!0]],3087945054:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"AssignedToFlowElement\",Ru,4,!0]],25142252:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"ReferencedInStructures\",yu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasPorts\",Bu,5,!0],[\"AssignedToFlowElement\",Ru,4,!0]]},Cm[2]={3630933823:(e,t)=>new l.IfcActorRole(e,t[0],t[1],t[2]),618182010:(e,t)=>new l.IfcAddress(e,t[0],t[1],t[2]),639542469:(e,t)=>new l.IfcApplication(e,t[0],t[1],t[2],t[3]),411424972:(e,t)=>new l.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),130549933:(e,t)=>new l.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4037036970:(e,t)=>new l.IfcBoundaryCondition(e,t[0]),1560379544:(e,t)=>new l.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3367102660:(e,t)=>new l.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3]),1387855156:(e,t)=>new l.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2069777674:(e,t)=>new l.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2859738748:(e,t)=>new l.IfcConnectionGeometry(e),2614616156:(e,t)=>new l.IfcConnectionPointGeometry(e,t[0],t[1]),2732653382:(e,t)=>new l.IfcConnectionSurfaceGeometry(e,t[0],t[1]),775493141:(e,t)=>new l.IfcConnectionVolumeGeometry(e,t[0],t[1]),1959218052:(e,t)=>new l.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1785450214:(e,t)=>new l.IfcCoordinateOperation(e,t[0],t[1]),1466758467:(e,t)=>new l.IfcCoordinateReferenceSystem(e,t[0],t[1],t[2],t[3]),602808272:(e,t)=>new l.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1765591967:(e,t)=>new l.IfcDerivedUnit(e,t[0],t[1],t[2]),1045800335:(e,t)=>new l.IfcDerivedUnitElement(e,t[0],t[1]),2949456006:(e,t)=>new l.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),4294318154:(e,t)=>new l.IfcExternalInformation(e),3200245327:(e,t)=>new l.IfcExternalReference(e,t[0],t[1],t[2]),2242383968:(e,t)=>new l.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2]),1040185647:(e,t)=>new l.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2]),3548104201:(e,t)=>new l.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2]),852622518:(e,t)=>new l.IfcGridAxis(e,t[0],t[1],t[2]),3020489413:(e,t)=>new l.IfcIrregularTimeSeriesValue(e,t[0],t[1]),2655187982:(e,t)=>new l.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4],t[5]),3452421091:(e,t)=>new l.IfcLibraryReference(e,t[0],t[1],t[2],t[3],t[4],t[5]),4162380809:(e,t)=>new l.IfcLightDistributionData(e,t[0],t[1],t[2]),1566485204:(e,t)=>new l.IfcLightIntensityDistribution(e,t[0],t[1]),3057273783:(e,t)=>new l.IfcMapConversion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1847130766:(e,t)=>new l.IfcMaterialClassificationRelationship(e,t[0],t[1]),760658860:(e,t)=>new l.IfcMaterialDefinition(e),248100487:(e,t)=>new l.IfcMaterialLayer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3303938423:(e,t)=>new l.IfcMaterialLayerSet(e,t[0],t[1],t[2]),1847252529:(e,t)=>new l.IfcMaterialLayerWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2199411900:(e,t)=>new l.IfcMaterialList(e,t[0]),2235152071:(e,t)=>new l.IfcMaterialProfile(e,t[0],t[1],t[2],t[3],t[4],t[5]),164193824:(e,t)=>new l.IfcMaterialProfileSet(e,t[0],t[1],t[2],t[3]),552965576:(e,t)=>new l.IfcMaterialProfileWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1507914824:(e,t)=>new l.IfcMaterialUsageDefinition(e),2597039031:(e,t)=>new l.IfcMeasureWithUnit(e,t[0],t[1]),3368373690:(e,t)=>new l.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2706619895:(e,t)=>new l.IfcMonetaryUnit(e,t[0]),1918398963:(e,t)=>new l.IfcNamedUnit(e,t[0],t[1]),3701648758:(e,t)=>new l.IfcObjectPlacement(e),2251480897:(e,t)=>new l.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4251960020:(e,t)=>new l.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4]),1207048766:(e,t)=>new l.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2077209135:(e,t)=>new l.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),101040310:(e,t)=>new l.IfcPersonAndOrganization(e,t[0],t[1],t[2]),2483315170:(e,t)=>new l.IfcPhysicalQuantity(e,t[0],t[1]),2226359599:(e,t)=>new l.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2]),3355820592:(e,t)=>new l.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),677532197:(e,t)=>new l.IfcPresentationItem(e),2022622350:(e,t)=>new l.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3]),1304840413:(e,t)=>new l.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3119450353:(e,t)=>new l.IfcPresentationStyle(e,t[0]),2417041796:(e,t)=>new l.IfcPresentationStyleAssignment(e,t[0]),2095639259:(e,t)=>new l.IfcProductRepresentation(e,t[0],t[1],t[2]),3958567839:(e,t)=>new l.IfcProfileDef(e,t[0],t[1]),3843373140:(e,t)=>new l.IfcProjectedCRS(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),986844984:(e,t)=>new l.IfcPropertyAbstraction(e),3710013099:(e,t)=>new l.IfcPropertyEnumeration(e,t[0],t[1],t[2]),2044713172:(e,t)=>new l.IfcQuantityArea(e,t[0],t[1],t[2],t[3],t[4]),2093928680:(e,t)=>new l.IfcQuantityCount(e,t[0],t[1],t[2],t[3],t[4]),931644368:(e,t)=>new l.IfcQuantityLength(e,t[0],t[1],t[2],t[3],t[4]),3252649465:(e,t)=>new l.IfcQuantityTime(e,t[0],t[1],t[2],t[3],t[4]),2405470396:(e,t)=>new l.IfcQuantityVolume(e,t[0],t[1],t[2],t[3],t[4]),825690147:(e,t)=>new l.IfcQuantityWeight(e,t[0],t[1],t[2],t[3],t[4]),3915482550:(e,t)=>new l.IfcRecurrencePattern(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2433181523:(e,t)=>new l.IfcReference(e,t[0],t[1],t[2],t[3],t[4]),1076942058:(e,t)=>new l.IfcRepresentation(e,t[0],t[1],t[2],t[3]),3377609919:(e,t)=>new l.IfcRepresentationContext(e,t[0],t[1]),3008791417:(e,t)=>new l.IfcRepresentationItem(e),1660063152:(e,t)=>new l.IfcRepresentationMap(e,t[0],t[1]),2439245199:(e,t)=>new l.IfcResourceLevelRelationship(e,t[0],t[1]),2341007311:(e,t)=>new l.IfcRoot(e,t[0],t[1],t[2],t[3]),448429030:(e,t)=>new l.IfcSIUnit(e,t[0],t[1],t[2]),1054537805:(e,t)=>new l.IfcSchedulingTime(e,t[0],t[1],t[2]),867548509:(e,t)=>new l.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4]),3982875396:(e,t)=>new l.IfcShapeModel(e,t[0],t[1],t[2],t[3]),4240577450:(e,t)=>new l.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3]),2273995522:(e,t)=>new l.IfcStructuralConnectionCondition(e,t[0]),2162789131:(e,t)=>new l.IfcStructuralLoad(e,t[0]),3478079324:(e,t)=>new l.IfcStructuralLoadConfiguration(e,t[0],t[1],t[2]),609421318:(e,t)=>new l.IfcStructuralLoadOrResult(e,t[0]),2525727697:(e,t)=>new l.IfcStructuralLoadStatic(e,t[0]),3408363356:(e,t)=>new l.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3]),2830218821:(e,t)=>new l.IfcStyleModel(e,t[0],t[1],t[2],t[3]),3958052878:(e,t)=>new l.IfcStyledItem(e,t[0],t[1],t[2]),3049322572:(e,t)=>new l.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3]),2934153892:(e,t)=>new l.IfcSurfaceReinforcementArea(e,t[0],t[1],t[2],t[3]),1300840506:(e,t)=>new l.IfcSurfaceStyle(e,t[0],t[1],t[2]),3303107099:(e,t)=>new l.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3]),1607154358:(e,t)=>new l.IfcSurfaceStyleRefraction(e,t[0],t[1]),846575682:(e,t)=>new l.IfcSurfaceStyleShading(e,t[0],t[1]),1351298697:(e,t)=>new l.IfcSurfaceStyleWithTextures(e,t[0]),626085974:(e,t)=>new l.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3],t[4]),985171141:(e,t)=>new l.IfcTable(e,t[0],t[1],t[2]),2043862942:(e,t)=>new l.IfcTableColumn(e,t[0],t[1],t[2],t[3],t[4]),531007025:(e,t)=>new l.IfcTableRow(e,t[0],t[1]),1549132990:(e,t)=>new l.IfcTaskTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19]),2771591690:(e,t)=>new l.IfcTaskTimeRecurring(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20]),912023232:(e,t)=>new l.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1447204868:(e,t)=>new l.IfcTextStyle(e,t[0],t[1],t[2],t[3],t[4]),2636378356:(e,t)=>new l.IfcTextStyleForDefinedFont(e,t[0],t[1]),1640371178:(e,t)=>new l.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),280115917:(e,t)=>new l.IfcTextureCoordinate(e,t[0]),1742049831:(e,t)=>new l.IfcTextureCoordinateGenerator(e,t[0],t[1],t[2]),2552916305:(e,t)=>new l.IfcTextureMap(e,t[0],t[1],t[2]),1210645708:(e,t)=>new l.IfcTextureVertex(e,t[0]),3611470254:(e,t)=>new l.IfcTextureVertexList(e,t[0]),1199560280:(e,t)=>new l.IfcTimePeriod(e,t[0],t[1]),3101149627:(e,t)=>new l.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),581633288:(e,t)=>new l.IfcTimeSeriesValue(e,t[0]),1377556343:(e,t)=>new l.IfcTopologicalRepresentationItem(e),1735638870:(e,t)=>new l.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3]),180925521:(e,t)=>new l.IfcUnitAssignment(e,t[0]),2799835756:(e,t)=>new l.IfcVertex(e),1907098498:(e,t)=>new l.IfcVertexPoint(e,t[0]),891718957:(e,t)=>new l.IfcVirtualGridIntersection(e,t[0],t[1]),1236880293:(e,t)=>new l.IfcWorkTime(e,t[0],t[1],t[2],t[3],t[4],t[5]),3869604511:(e,t)=>new l.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3]),3798115385:(e,t)=>new l.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2]),1310608509:(e,t)=>new l.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2]),2705031697:(e,t)=>new l.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3]),616511568:(e,t)=>new l.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3150382593:(e,t)=>new l.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3]),747523909:(e,t)=>new l.IfcClassification(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),647927063:(e,t)=>new l.IfcClassificationReference(e,t[0],t[1],t[2],t[3],t[4],t[5]),3285139300:(e,t)=>new l.IfcColourRgbList(e,t[0]),3264961684:(e,t)=>new l.IfcColourSpecification(e,t[0]),1485152156:(e,t)=>new l.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3]),370225590:(e,t)=>new l.IfcConnectedFaceSet(e,t[0]),1981873012:(e,t)=>new l.IfcConnectionCurveGeometry(e,t[0],t[1]),45288368:(e,t)=>new l.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4]),3050246964:(e,t)=>new l.IfcContextDependentUnit(e,t[0],t[1],t[2]),2889183280:(e,t)=>new l.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3]),2713554722:(e,t)=>new l.IfcConversionBasedUnitWithOffset(e,t[0],t[1],t[2],t[3],t[4]),539742890:(e,t)=>new l.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3800577675:(e,t)=>new l.IfcCurveStyle(e,t[0],t[1],t[2],t[3],t[4]),1105321065:(e,t)=>new l.IfcCurveStyleFont(e,t[0],t[1]),2367409068:(e,t)=>new l.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2]),3510044353:(e,t)=>new l.IfcCurveStyleFontPattern(e,t[0],t[1]),3632507154:(e,t)=>new l.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4]),1154170062:(e,t)=>new l.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),770865208:(e,t)=>new l.IfcDocumentInformationRelationship(e,t[0],t[1],t[2],t[3],t[4]),3732053477:(e,t)=>new l.IfcDocumentReference(e,t[0],t[1],t[2],t[3],t[4]),3900360178:(e,t)=>new l.IfcEdge(e,t[0],t[1]),476780140:(e,t)=>new l.IfcEdgeCurve(e,t[0],t[1],t[2],t[3]),211053100:(e,t)=>new l.IfcEventTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),297599258:(e,t)=>new l.IfcExtendedProperties(e,t[0],t[1],t[2]),1437805879:(e,t)=>new l.IfcExternalReferenceRelationship(e,t[0],t[1],t[2],t[3]),2556980723:(e,t)=>new l.IfcFace(e,t[0]),1809719519:(e,t)=>new l.IfcFaceBound(e,t[0],t[1]),803316827:(e,t)=>new l.IfcFaceOuterBound(e,t[0],t[1]),3008276851:(e,t)=>new l.IfcFaceSurface(e,t[0],t[1],t[2]),4219587988:(e,t)=>new l.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),738692330:(e,t)=>new l.IfcFillAreaStyle(e,t[0],t[1],t[2]),3448662350:(e,t)=>new l.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5]),2453401579:(e,t)=>new l.IfcGeometricRepresentationItem(e),4142052618:(e,t)=>new l.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5]),3590301190:(e,t)=>new l.IfcGeometricSet(e,t[0]),178086475:(e,t)=>new l.IfcGridPlacement(e,t[0],t[1]),812098782:(e,t)=>new l.IfcHalfSpaceSolid(e,t[0],t[1]),3905492369:(e,t)=>new l.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4],t[5]),3570813810:(e,t)=>new l.IfcIndexedColourMap(e,t[0],t[1],t[2],t[3]),1437953363:(e,t)=>new l.IfcIndexedTextureMap(e,t[0],t[1],t[2]),2133299955:(e,t)=>new l.IfcIndexedTriangleTextureMap(e,t[0],t[1],t[2],t[3]),3741457305:(e,t)=>new l.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1585845231:(e,t)=>new l.IfcLagTime(e,t[0],t[1],t[2],t[3],t[4]),1402838566:(e,t)=>new l.IfcLightSource(e,t[0],t[1],t[2],t[3]),125510826:(e,t)=>new l.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3]),2604431987:(e,t)=>new l.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4]),4266656042:(e,t)=>new l.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1520743889:(e,t)=>new l.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3422422726:(e,t)=>new l.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),2624227202:(e,t)=>new l.IfcLocalPlacement(e,t[0],t[1]),1008929658:(e,t)=>new l.IfcLoop(e),2347385850:(e,t)=>new l.IfcMappedItem(e,t[0],t[1]),1838606355:(e,t)=>new l.IfcMaterial(e,t[0],t[1],t[2]),3708119e3:(e,t)=>new l.IfcMaterialConstituent(e,t[0],t[1],t[2],t[3],t[4]),2852063980:(e,t)=>new l.IfcMaterialConstituentSet(e,t[0],t[1],t[2]),2022407955:(e,t)=>new l.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3]),1303795690:(e,t)=>new l.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3],t[4]),3079605661:(e,t)=>new l.IfcMaterialProfileSetUsage(e,t[0],t[1],t[2]),3404854881:(e,t)=>new l.IfcMaterialProfileSetUsageTapering(e,t[0],t[1],t[2],t[3],t[4]),3265635763:(e,t)=>new l.IfcMaterialProperties(e,t[0],t[1],t[2],t[3]),853536259:(e,t)=>new l.IfcMaterialRelationship(e,t[0],t[1],t[2],t[3],t[4]),2998442950:(e,t)=>new l.IfcMirroredProfileDef(e,t[0],t[1],t[2],t[3]),219451334:(e,t)=>new l.IfcObjectDefinition(e,t[0],t[1],t[2],t[3]),2665983363:(e,t)=>new l.IfcOpenShell(e,t[0]),1411181986:(e,t)=>new l.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3]),1029017970:(e,t)=>new l.IfcOrientedEdge(e,t[0],t[1]),2529465313:(e,t)=>new l.IfcParameterizedProfileDef(e,t[0],t[1],t[2]),2519244187:(e,t)=>new l.IfcPath(e,t[0]),3021840470:(e,t)=>new l.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5]),597895409:(e,t)=>new l.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2004835150:(e,t)=>new l.IfcPlacement(e,t[0]),1663979128:(e,t)=>new l.IfcPlanarExtent(e,t[0],t[1]),2067069095:(e,t)=>new l.IfcPoint(e),4022376103:(e,t)=>new l.IfcPointOnCurve(e,t[0],t[1]),1423911732:(e,t)=>new l.IfcPointOnSurface(e,t[0],t[1],t[2]),2924175390:(e,t)=>new l.IfcPolyLoop(e,t[0]),2775532180:(e,t)=>new l.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3]),3727388367:(e,t)=>new l.IfcPreDefinedItem(e,t[0]),3778827333:(e,t)=>new l.IfcPreDefinedProperties(e),1775413392:(e,t)=>new l.IfcPreDefinedTextFont(e,t[0]),673634403:(e,t)=>new l.IfcProductDefinitionShape(e,t[0],t[1],t[2]),2802850158:(e,t)=>new l.IfcProfileProperties(e,t[0],t[1],t[2],t[3]),2598011224:(e,t)=>new l.IfcProperty(e,t[0],t[1]),1680319473:(e,t)=>new l.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3]),148025276:(e,t)=>new l.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4]),3357820518:(e,t)=>new l.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3]),1482703590:(e,t)=>new l.IfcPropertyTemplateDefinition(e,t[0],t[1],t[2],t[3]),2090586900:(e,t)=>new l.IfcQuantitySet(e,t[0],t[1],t[2],t[3]),3615266464:(e,t)=>new l.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4]),3413951693:(e,t)=>new l.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1580146022:(e,t)=>new l.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),478536968:(e,t)=>new l.IfcRelationship(e,t[0],t[1],t[2],t[3]),2943643501:(e,t)=>new l.IfcResourceApprovalRelationship(e,t[0],t[1],t[2],t[3]),1608871552:(e,t)=>new l.IfcResourceConstraintRelationship(e,t[0],t[1],t[2],t[3]),1042787934:(e,t)=>new l.IfcResourceTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17]),2778083089:(e,t)=>new l.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5]),2042790032:(e,t)=>new l.IfcSectionProperties(e,t[0],t[1],t[2]),4165799628:(e,t)=>new l.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),1509187699:(e,t)=>new l.IfcSectionedSpine(e,t[0],t[1],t[2]),4124623270:(e,t)=>new l.IfcShellBasedSurfaceModel(e,t[0]),3692461612:(e,t)=>new l.IfcSimpleProperty(e,t[0],t[1]),2609359061:(e,t)=>new l.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3]),723233188:(e,t)=>new l.IfcSolidModel(e),1595516126:(e,t)=>new l.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2668620305:(e,t)=>new l.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3]),2473145415:(e,t)=>new l.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1973038258:(e,t)=>new l.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1597423693:(e,t)=>new l.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1190533807:(e,t)=>new l.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2233826070:(e,t)=>new l.IfcSubedge(e,t[0],t[1],t[2]),2513912981:(e,t)=>new l.IfcSurface(e),1878645084:(e,t)=>new l.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2247615214:(e,t)=>new l.IfcSweptAreaSolid(e,t[0],t[1]),1260650574:(e,t)=>new l.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4]),1096409881:(e,t)=>new l.IfcSweptDiskSolidPolygonal(e,t[0],t[1],t[2],t[3],t[4],t[5]),230924584:(e,t)=>new l.IfcSweptSurface(e,t[0],t[1]),3071757647:(e,t)=>new l.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),901063453:(e,t)=>new l.IfcTessellatedItem(e),4282788508:(e,t)=>new l.IfcTextLiteral(e,t[0],t[1],t[2]),3124975700:(e,t)=>new l.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4]),1983826977:(e,t)=>new l.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5]),2715220739:(e,t)=>new l.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1628702193:(e,t)=>new l.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5]),3736923433:(e,t)=>new l.IfcTypeProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2347495698:(e,t)=>new l.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3698973494:(e,t)=>new l.IfcTypeResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),427810014:(e,t)=>new l.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1417489154:(e,t)=>new l.IfcVector(e,t[0],t[1]),2759199220:(e,t)=>new l.IfcVertexLoop(e,t[0]),1299126871:(e,t)=>new l.IfcWindowStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2543172580:(e,t)=>new l.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3406155212:(e,t)=>new l.IfcAdvancedFace(e,t[0],t[1],t[2]),669184980:(e,t)=>new l.IfcAnnotationFillArea(e,t[0],t[1]),3207858831:(e,t)=>new l.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14]),4261334040:(e,t)=>new l.IfcAxis1Placement(e,t[0],t[1]),3125803723:(e,t)=>new l.IfcAxis2Placement2D(e,t[0],t[1]),2740243338:(e,t)=>new l.IfcAxis2Placement3D(e,t[0],t[1],t[2]),2736907675:(e,t)=>new l.IfcBooleanResult(e,t[0],t[1],t[2]),4182860854:(e,t)=>new l.IfcBoundedSurface(e),2581212453:(e,t)=>new l.IfcBoundingBox(e,t[0],t[1],t[2],t[3]),2713105998:(e,t)=>new l.IfcBoxedHalfSpace(e,t[0],t[1],t[2]),2898889636:(e,t)=>new l.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1123145078:(e,t)=>new l.IfcCartesianPoint(e,t[0]),574549367:(e,t)=>new l.IfcCartesianPointList(e),1675464909:(e,t)=>new l.IfcCartesianPointList2D(e,t[0]),2059837836:(e,t)=>new l.IfcCartesianPointList3D(e,t[0]),59481748:(e,t)=>new l.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3]),3749851601:(e,t)=>new l.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3]),3486308946:(e,t)=>new l.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4]),3331915920:(e,t)=>new l.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4]),1416205885:(e,t)=>new l.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1383045692:(e,t)=>new l.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3]),2205249479:(e,t)=>new l.IfcClosedShell(e,t[0]),776857604:(e,t)=>new l.IfcColourRgb(e,t[0],t[1],t[2],t[3]),2542286263:(e,t)=>new l.IfcComplexProperty(e,t[0],t[1],t[2],t[3]),2485617015:(e,t)=>new l.IfcCompositeCurveSegment(e,t[0],t[1],t[2]),2574617495:(e,t)=>new l.IfcConstructionResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3419103109:(e,t)=>new l.IfcContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1815067380:(e,t)=>new l.IfcCrewResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2506170314:(e,t)=>new l.IfcCsgPrimitive3D(e,t[0]),2147822146:(e,t)=>new l.IfcCsgSolid(e,t[0]),2601014836:(e,t)=>new l.IfcCurve(e),2827736869:(e,t)=>new l.IfcCurveBoundedPlane(e,t[0],t[1],t[2]),2629017746:(e,t)=>new l.IfcCurveBoundedSurface(e,t[0],t[1],t[2]),32440307:(e,t)=>new l.IfcDirection(e,t[0]),526551008:(e,t)=>new l.IfcDoorStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1472233963:(e,t)=>new l.IfcEdgeLoop(e,t[0]),1883228015:(e,t)=>new l.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5]),339256511:(e,t)=>new l.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2777663545:(e,t)=>new l.IfcElementarySurface(e,t[0]),2835456948:(e,t)=>new l.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4]),4024345920:(e,t)=>new l.IfcEventType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),477187591:(e,t)=>new l.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3]),2804161546:(e,t)=>new l.IfcExtrudedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4]),2047409740:(e,t)=>new l.IfcFaceBasedSurfaceModel(e,t[0]),374418227:(e,t)=>new l.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4]),315944413:(e,t)=>new l.IfcFillAreaStyleTiles(e,t[0],t[1],t[2]),2652556860:(e,t)=>new l.IfcFixedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5]),4238390223:(e,t)=>new l.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1268542332:(e,t)=>new l.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4095422895:(e,t)=>new l.IfcGeographicElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),987898635:(e,t)=>new l.IfcGeometricCurveSet(e,t[0]),1484403080:(e,t)=>new l.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),178912537:(e,t)=>new l.IfcIndexedPolygonalFace(e,t[0]),2294589976:(e,t)=>new l.IfcIndexedPolygonalFaceWithVoids(e,t[0],t[1]),572779678:(e,t)=>new l.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),428585644:(e,t)=>new l.IfcLaborResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1281925730:(e,t)=>new l.IfcLine(e,t[0],t[1]),1425443689:(e,t)=>new l.IfcManifoldSolidBrep(e,t[0]),3888040117:(e,t)=>new l.IfcObject(e,t[0],t[1],t[2],t[3],t[4]),3388369263:(e,t)=>new l.IfcOffsetCurve2D(e,t[0],t[1],t[2]),3505215534:(e,t)=>new l.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3]),1682466193:(e,t)=>new l.IfcPcurve(e,t[0],t[1]),603570806:(e,t)=>new l.IfcPlanarBox(e,t[0],t[1],t[2]),220341763:(e,t)=>new l.IfcPlane(e,t[0]),759155922:(e,t)=>new l.IfcPreDefinedColour(e,t[0]),2559016684:(e,t)=>new l.IfcPreDefinedCurveFont(e,t[0]),3967405729:(e,t)=>new l.IfcPreDefinedPropertySet(e,t[0],t[1],t[2],t[3]),569719735:(e,t)=>new l.IfcProcedureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2945172077:(e,t)=>new l.IfcProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),4208778838:(e,t)=>new l.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),103090709:(e,t)=>new l.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),653396225:(e,t)=>new l.IfcProjectLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),871118103:(e,t)=>new l.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4],t[5]),4166981789:(e,t)=>new l.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3]),2752243245:(e,t)=>new l.IfcPropertyListValue(e,t[0],t[1],t[2],t[3]),941946838:(e,t)=>new l.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3]),1451395588:(e,t)=>new l.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4]),492091185:(e,t)=>new l.IfcPropertySetTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3650150729:(e,t)=>new l.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3]),110355661:(e,t)=>new l.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3521284610:(e,t)=>new l.IfcPropertyTemplate(e,t[0],t[1],t[2],t[3]),3219374653:(e,t)=>new l.IfcProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2770003689:(e,t)=>new l.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2798486643:(e,t)=>new l.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3]),3454111270:(e,t)=>new l.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3765753017:(e,t)=>new l.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),3939117080:(e,t)=>new l.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5]),1683148259:(e,t)=>new l.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2495723537:(e,t)=>new l.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1307041759:(e,t)=>new l.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1027710054:(e,t)=>new l.IfcRelAssignsToGroupByFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4278684876:(e,t)=>new l.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2857406711:(e,t)=>new l.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),205026976:(e,t)=>new l.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1865459582:(e,t)=>new l.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4]),4095574036:(e,t)=>new l.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5]),919958153:(e,t)=>new l.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5]),2728634034:(e,t)=>new l.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),982818633:(e,t)=>new l.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5]),3840914261:(e,t)=>new l.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5]),2655215786:(e,t)=>new l.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5]),826625072:(e,t)=>new l.IfcRelConnects(e,t[0],t[1],t[2],t[3]),1204542856:(e,t)=>new l.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3945020480:(e,t)=>new l.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4201705270:(e,t)=>new l.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),3190031847:(e,t)=>new l.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2127690289:(e,t)=>new l.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5]),1638771189:(e,t)=>new l.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),504942748:(e,t)=>new l.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3678494232:(e,t)=>new l.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3242617779:(e,t)=>new l.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5]),886880790:(e,t)=>new l.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5]),2802773753:(e,t)=>new l.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5]),2565941209:(e,t)=>new l.IfcRelDeclares(e,t[0],t[1],t[2],t[3],t[4],t[5]),2551354335:(e,t)=>new l.IfcRelDecomposes(e,t[0],t[1],t[2],t[3]),693640335:(e,t)=>new l.IfcRelDefines(e,t[0],t[1],t[2],t[3]),1462361463:(e,t)=>new l.IfcRelDefinesByObject(e,t[0],t[1],t[2],t[3],t[4],t[5]),4186316022:(e,t)=>new l.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),307848117:(e,t)=>new l.IfcRelDefinesByTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5]),781010003:(e,t)=>new l.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5]),3940055652:(e,t)=>new l.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),279856033:(e,t)=>new l.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5]),427948657:(e,t)=>new l.IfcRelInterferesElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3268803585:(e,t)=>new l.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5]),750771296:(e,t)=>new l.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),1245217292:(e,t)=>new l.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5]),4122056220:(e,t)=>new l.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),366585022:(e,t)=>new l.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5]),3451746338:(e,t)=>new l.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3523091289:(e,t)=>new l.IfcRelSpaceBoundary1stLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1521410863:(e,t)=>new l.IfcRelSpaceBoundary2ndLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1401173127:(e,t)=>new l.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),816062949:(e,t)=>new l.IfcReparametrisedCompositeCurveSegment(e,t[0],t[1],t[2],t[3]),2914609552:(e,t)=>new l.IfcResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1856042241:(e,t)=>new l.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3]),3243963512:(e,t)=>new l.IfcRevolvedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4]),4158566097:(e,t)=>new l.IfcRightCircularCone(e,t[0],t[1],t[2]),3626867408:(e,t)=>new l.IfcRightCircularCylinder(e,t[0],t[1],t[2]),3663146110:(e,t)=>new l.IfcSimplePropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1412071761:(e,t)=>new l.IfcSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),710998568:(e,t)=>new l.IfcSpatialElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2706606064:(e,t)=>new l.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3893378262:(e,t)=>new l.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),463610769:(e,t)=>new l.IfcSpatialZone(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2481509218:(e,t)=>new l.IfcSpatialZoneType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),451544542:(e,t)=>new l.IfcSphere(e,t[0],t[1]),4015995234:(e,t)=>new l.IfcSphericalSurface(e,t[0],t[1]),3544373492:(e,t)=>new l.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3136571912:(e,t)=>new l.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),530289379:(e,t)=>new l.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3689010777:(e,t)=>new l.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3979015343:(e,t)=>new l.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2218152070:(e,t)=>new l.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),603775116:(e,t)=>new l.IfcStructuralSurfaceReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4095615324:(e,t)=>new l.IfcSubContractResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),699246055:(e,t)=>new l.IfcSurfaceCurve(e,t[0],t[1],t[2]),2028607225:(e,t)=>new l.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5]),2809605785:(e,t)=>new l.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3]),4124788165:(e,t)=>new l.IfcSurfaceOfRevolution(e,t[0],t[1],t[2]),1580310250:(e,t)=>new l.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3473067441:(e,t)=>new l.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),3206491090:(e,t)=>new l.IfcTaskType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2387106220:(e,t)=>new l.IfcTessellatedFaceSet(e,t[0]),1935646853:(e,t)=>new l.IfcToroidalSurface(e,t[0],t[1],t[2]),2097647324:(e,t)=>new l.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2916149573:(e,t)=>new l.IfcTriangulatedFaceSet(e,t[0],t[1],t[2],t[3],t[4]),336235671:(e,t)=>new l.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]),512836454:(e,t)=>new l.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2296667514:(e,t)=>new l.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5]),1635779807:(e,t)=>new l.IfcAdvancedBrep(e,t[0]),2603310189:(e,t)=>new l.IfcAdvancedBrepWithVoids(e,t[0],t[1]),1674181508:(e,t)=>new l.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2887950389:(e,t)=>new l.IfcBSplineSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),167062518:(e,t)=>new l.IfcBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1334484129:(e,t)=>new l.IfcBlock(e,t[0],t[1],t[2],t[3]),3649129432:(e,t)=>new l.IfcBooleanClippingResult(e,t[0],t[1],t[2]),1260505505:(e,t)=>new l.IfcBoundedCurve(e),4031249490:(e,t)=>new l.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1950629157:(e,t)=>new l.IfcBuildingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3124254112:(e,t)=>new l.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2197970202:(e,t)=>new l.IfcChimneyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2937912522:(e,t)=>new l.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4]),3893394355:(e,t)=>new l.IfcCivilElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),300633059:(e,t)=>new l.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3875453745:(e,t)=>new l.IfcComplexPropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3732776249:(e,t)=>new l.IfcCompositeCurve(e,t[0],t[1]),15328376:(e,t)=>new l.IfcCompositeCurveOnSurface(e,t[0],t[1]),2510884976:(e,t)=>new l.IfcConic(e,t[0]),2185764099:(e,t)=>new l.IfcConstructionEquipmentResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),4105962743:(e,t)=>new l.IfcConstructionMaterialResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1525564444:(e,t)=>new l.IfcConstructionProductResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2559216714:(e,t)=>new l.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3293443760:(e,t)=>new l.IfcControl(e,t[0],t[1],t[2],t[3],t[4],t[5]),3895139033:(e,t)=>new l.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1419761937:(e,t)=>new l.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1916426348:(e,t)=>new l.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3295246426:(e,t)=>new l.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1457835157:(e,t)=>new l.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1213902940:(e,t)=>new l.IfcCylindricalSurface(e,t[0],t[1]),3256556792:(e,t)=>new l.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3849074793:(e,t)=>new l.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2963535650:(e,t)=>new l.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),1714330368:(e,t)=>new l.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2323601079:(e,t)=>new l.IfcDoorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),445594917:(e,t)=>new l.IfcDraughtingPreDefinedColour(e,t[0]),4006246654:(e,t)=>new l.IfcDraughtingPreDefinedCurveFont(e,t[0]),1758889154:(e,t)=>new l.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4123344466:(e,t)=>new l.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2397081782:(e,t)=>new l.IfcElementAssemblyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1623761950:(e,t)=>new l.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2590856083:(e,t)=>new l.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1704287377:(e,t)=>new l.IfcEllipse(e,t[0],t[1],t[2]),2107101300:(e,t)=>new l.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),132023988:(e,t)=>new l.IfcEngineType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3174744832:(e,t)=>new l.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3390157468:(e,t)=>new l.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4148101412:(e,t)=>new l.IfcEvent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2853485674:(e,t)=>new l.IfcExternalSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),807026263:(e,t)=>new l.IfcFacetedBrep(e,t[0]),3737207727:(e,t)=>new l.IfcFacetedBrepWithVoids(e,t[0],t[1]),647756555:(e,t)=>new l.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2489546625:(e,t)=>new l.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2827207264:(e,t)=>new l.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2143335405:(e,t)=>new l.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1287392070:(e,t)=>new l.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3907093117:(e,t)=>new l.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3198132628:(e,t)=>new l.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3815607619:(e,t)=>new l.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1482959167:(e,t)=>new l.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1834744321:(e,t)=>new l.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1339347760:(e,t)=>new l.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2297155007:(e,t)=>new l.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3009222698:(e,t)=>new l.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1893162501:(e,t)=>new l.IfcFootingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),263784265:(e,t)=>new l.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1509553395:(e,t)=>new l.IfcFurniture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3493046030:(e,t)=>new l.IfcGeographicElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3009204131:(e,t)=>new l.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2706460486:(e,t)=>new l.IfcGroup(e,t[0],t[1],t[2],t[3],t[4]),1251058090:(e,t)=>new l.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1806887404:(e,t)=>new l.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2571569899:(e,t)=>new l.IfcIndexedPolyCurve(e,t[0],t[1],t[2]),3946677679:(e,t)=>new l.IfcInterceptorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3113134337:(e,t)=>new l.IfcIntersectionCurve(e,t[0],t[1],t[2]),2391368822:(e,t)=>new l.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4288270099:(e,t)=>new l.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3827777499:(e,t)=>new l.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1051575348:(e,t)=>new l.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1161773419:(e,t)=>new l.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),377706215:(e,t)=>new l.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2108223431:(e,t)=>new l.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1114901282:(e,t)=>new l.IfcMedicalDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3181161470:(e,t)=>new l.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),977012517:(e,t)=>new l.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4143007308:(e,t)=>new l.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3588315303:(e,t)=>new l.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3079942009:(e,t)=>new l.IfcOpeningStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2837617999:(e,t)=>new l.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2382730787:(e,t)=>new l.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3566463478:(e,t)=>new l.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3327091369:(e,t)=>new l.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1158309216:(e,t)=>new l.IfcPileType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),804291784:(e,t)=>new l.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4231323485:(e,t)=>new l.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4017108033:(e,t)=>new l.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2839578677:(e,t)=>new l.IfcPolygonalFaceSet(e,t[0],t[1],t[2],t[3]),3724593414:(e,t)=>new l.IfcPolyline(e,t[0]),3740093272:(e,t)=>new l.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2744685151:(e,t)=>new l.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2904328755:(e,t)=>new l.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3651124850:(e,t)=>new l.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1842657554:(e,t)=>new l.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2250791053:(e,t)=>new l.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2893384427:(e,t)=>new l.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2324767716:(e,t)=>new l.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1469900589:(e,t)=>new l.IfcRampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),683857671:(e,t)=>new l.IfcRationalBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),3027567501:(e,t)=>new l.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),964333572:(e,t)=>new l.IfcReinforcingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2320036040:(e,t)=>new l.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17]),2310774935:(e,t)=>new l.IfcReinforcingMeshType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19]),160246688:(e,t)=>new l.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5]),2781568857:(e,t)=>new l.IfcRoofType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1768891740:(e,t)=>new l.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2157484638:(e,t)=>new l.IfcSeamCurve(e,t[0],t[1],t[2]),4074543187:(e,t)=>new l.IfcShadingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4097777520:(e,t)=>new l.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),2533589738:(e,t)=>new l.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1072016465:(e,t)=>new l.IfcSolarDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3856911033:(e,t)=>new l.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1305183839:(e,t)=>new l.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3812236995:(e,t)=>new l.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3112655638:(e,t)=>new l.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1039846685:(e,t)=>new l.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),338393293:(e,t)=>new l.IfcStairType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),682877961:(e,t)=>new l.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1179482911:(e,t)=>new l.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1004757350:(e,t)=>new l.IfcStructuralCurveAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),4243806635:(e,t)=>new l.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),214636428:(e,t)=>new l.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2445595289:(e,t)=>new l.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2757150158:(e,t)=>new l.IfcStructuralCurveReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1807405624:(e,t)=>new l.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1252848954:(e,t)=>new l.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2082059205:(e,t)=>new l.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),734778138:(e,t)=>new l.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1235345126:(e,t)=>new l.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2986769608:(e,t)=>new l.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3657597509:(e,t)=>new l.IfcStructuralSurfaceAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1975003073:(e,t)=>new l.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),148013059:(e,t)=>new l.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3101698114:(e,t)=>new l.IfcSurfaceFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2315554128:(e,t)=>new l.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2254336722:(e,t)=>new l.IfcSystem(e,t[0],t[1],t[2],t[3],t[4]),413509423:(e,t)=>new l.IfcSystemFurnitureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),5716631:(e,t)=>new l.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3824725483:(e,t)=>new l.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),2347447852:(e,t)=>new l.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3081323446:(e,t)=>new l.IfcTendonAnchorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2415094496:(e,t)=>new l.IfcTendonType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),1692211062:(e,t)=>new l.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1620046519:(e,t)=>new l.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3593883385:(e,t)=>new l.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4]),1600972822:(e,t)=>new l.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1911125066:(e,t)=>new l.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),728799441:(e,t)=>new l.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2391383451:(e,t)=>new l.IfcVibrationIsolator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3313531582:(e,t)=>new l.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2769231204:(e,t)=>new l.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),926996030:(e,t)=>new l.IfcVoidingFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1898987631:(e,t)=>new l.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1133259667:(e,t)=>new l.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4009809668:(e,t)=>new l.IfcWindowType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),4088093105:(e,t)=>new l.IfcWorkCalendar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1028945134:(e,t)=>new l.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),4218914973:(e,t)=>new l.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),3342526732:(e,t)=>new l.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),1033361043:(e,t)=>new l.IfcZone(e,t[0],t[1],t[2],t[3],t[4],t[5]),3821786052:(e,t)=>new l.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1411407467:(e,t)=>new l.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3352864051:(e,t)=>new l.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1871374353:(e,t)=>new l.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3460190687:(e,t)=>new l.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),1532957894:(e,t)=>new l.IfcAudioVisualApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1967976161:(e,t)=>new l.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4]),2461110595:(e,t)=>new l.IfcBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),819618141:(e,t)=>new l.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),231477066:(e,t)=>new l.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1136057603:(e,t)=>new l.IfcBoundaryCurve(e,t[0],t[1]),3299480353:(e,t)=>new l.IfcBuildingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2979338954:(e,t)=>new l.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),39481116:(e,t)=>new l.IfcBuildingElementPartType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1095909175:(e,t)=>new l.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1909888760:(e,t)=>new l.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1177604601:(e,t)=>new l.IfcBuildingSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2188180465:(e,t)=>new l.IfcBurnerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),395041908:(e,t)=>new l.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3293546465:(e,t)=>new l.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2674252688:(e,t)=>new l.IfcCableFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1285652485:(e,t)=>new l.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2951183804:(e,t)=>new l.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3296154744:(e,t)=>new l.IfcChimney(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2611217952:(e,t)=>new l.IfcCircle(e,t[0],t[1]),1677625105:(e,t)=>new l.IfcCivilElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2301859152:(e,t)=>new l.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),843113511:(e,t)=>new l.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),905975707:(e,t)=>new l.IfcColumnStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),400855858:(e,t)=>new l.IfcCommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3850581409:(e,t)=>new l.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2816379211:(e,t)=>new l.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3898045240:(e,t)=>new l.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1060000209:(e,t)=>new l.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),488727124:(e,t)=>new l.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),335055490:(e,t)=>new l.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2954562838:(e,t)=>new l.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1973544240:(e,t)=>new l.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3495092785:(e,t)=>new l.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3961806047:(e,t)=>new l.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1335981549:(e,t)=>new l.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2635815018:(e,t)=>new l.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1599208980:(e,t)=>new l.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2063403501:(e,t)=>new l.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1945004755:(e,t)=>new l.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3040386961:(e,t)=>new l.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3041715199:(e,t)=>new l.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3205830791:(e,t)=>new l.IfcDistributionSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),395920057:(e,t)=>new l.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),3242481149:(e,t)=>new l.IfcDoorStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),869906466:(e,t)=>new l.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3760055223:(e,t)=>new l.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2030761528:(e,t)=>new l.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),663422040:(e,t)=>new l.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2417008758:(e,t)=>new l.IfcElectricDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3277789161:(e,t)=>new l.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1534661035:(e,t)=>new l.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1217240411:(e,t)=>new l.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),712377611:(e,t)=>new l.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1658829314:(e,t)=>new l.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2814081492:(e,t)=>new l.IfcEngine(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3747195512:(e,t)=>new l.IfcEvaporativeCooler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),484807127:(e,t)=>new l.IfcEvaporator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1209101575:(e,t)=>new l.IfcExternalSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),346874300:(e,t)=>new l.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1810631287:(e,t)=>new l.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4222183408:(e,t)=>new l.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2058353004:(e,t)=>new l.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4278956645:(e,t)=>new l.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4037862832:(e,t)=>new l.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2188021234:(e,t)=>new l.IfcFlowMeter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3132237377:(e,t)=>new l.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),987401354:(e,t)=>new l.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),707683696:(e,t)=>new l.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2223149337:(e,t)=>new l.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3508470533:(e,t)=>new l.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),900683007:(e,t)=>new l.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3319311131:(e,t)=>new l.IfcHeatExchanger(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2068733104:(e,t)=>new l.IfcHumidifier(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4175244083:(e,t)=>new l.IfcInterceptor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2176052936:(e,t)=>new l.IfcJunctionBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),76236018:(e,t)=>new l.IfcLamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),629592764:(e,t)=>new l.IfcLightFixture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1437502449:(e,t)=>new l.IfcMedicalDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1073191201:(e,t)=>new l.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1911478936:(e,t)=>new l.IfcMemberStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2474470126:(e,t)=>new l.IfcMotorConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),144952367:(e,t)=>new l.IfcOuterBoundaryCurve(e,t[0],t[1]),3694346114:(e,t)=>new l.IfcOutlet(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1687234759:(e,t)=>new l.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),310824031:(e,t)=>new l.IfcPipeFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3612865200:(e,t)=>new l.IfcPipeSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3171933400:(e,t)=>new l.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1156407060:(e,t)=>new l.IfcPlateStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),738039164:(e,t)=>new l.IfcProtectiveDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),655969474:(e,t)=>new l.IfcProtectiveDeviceTrippingUnitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),90941305:(e,t)=>new l.IfcPump(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2262370178:(e,t)=>new l.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3024970846:(e,t)=>new l.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3283111854:(e,t)=>new l.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1232101972:(e,t)=>new l.IfcRationalBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),979691226:(e,t)=>new l.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),2572171363:(e,t)=>new l.IfcReinforcingBarType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]),2016517767:(e,t)=>new l.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3053780830:(e,t)=>new l.IfcSanitaryTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1783015770:(e,t)=>new l.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1329646415:(e,t)=>new l.IfcShadingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1529196076:(e,t)=>new l.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3127900445:(e,t)=>new l.IfcSlabElementedCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3027962421:(e,t)=>new l.IfcSlabStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3420628829:(e,t)=>new l.IfcSolarDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1999602285:(e,t)=>new l.IfcSpaceHeater(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1404847402:(e,t)=>new l.IfcStackTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),331165859:(e,t)=>new l.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4252922144:(e,t)=>new l.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),2515109513:(e,t)=>new l.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),385403989:(e,t)=>new l.IfcStructuralLoadCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1621171031:(e,t)=>new l.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1162798199:(e,t)=>new l.IfcSwitchingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),812556717:(e,t)=>new l.IfcTank(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3825984169:(e,t)=>new l.IfcTransformer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3026737570:(e,t)=>new l.IfcTubeBundle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3179687236:(e,t)=>new l.IfcUnitaryControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4292641817:(e,t)=>new l.IfcUnitaryEquipment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4207607924:(e,t)=>new l.IfcValve(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2391406946:(e,t)=>new l.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4156078855:(e,t)=>new l.IfcWallElementedCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3512223829:(e,t)=>new l.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4237592921:(e,t)=>new l.IfcWasteTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3304561284:(e,t)=>new l.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),486154966:(e,t)=>new l.IfcWindowStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),2874132201:(e,t)=>new l.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1634111441:(e,t)=>new l.IfcAirTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),177149247:(e,t)=>new l.IfcAirTerminalBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2056796094:(e,t)=>new l.IfcAirToAirHeatRecovery(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3001207471:(e,t)=>new l.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),277319702:(e,t)=>new l.IfcAudioVisualAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),753842376:(e,t)=>new l.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2906023776:(e,t)=>new l.IfcBeamStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),32344328:(e,t)=>new l.IfcBoiler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2938176219:(e,t)=>new l.IfcBurner(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),635142910:(e,t)=>new l.IfcCableCarrierFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3758799889:(e,t)=>new l.IfcCableCarrierSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1051757585:(e,t)=>new l.IfcCableFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4217484030:(e,t)=>new l.IfcCableSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3902619387:(e,t)=>new l.IfcChiller(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),639361253:(e,t)=>new l.IfcCoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3221913625:(e,t)=>new l.IfcCommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3571504051:(e,t)=>new l.IfcCompressor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2272882330:(e,t)=>new l.IfcCondenser(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),578613899:(e,t)=>new l.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4136498852:(e,t)=>new l.IfcCooledBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3640358203:(e,t)=>new l.IfcCoolingTower(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4074379575:(e,t)=>new l.IfcDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1052013943:(e,t)=>new l.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),562808652:(e,t)=>new l.IfcDistributionCircuit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1062813311:(e,t)=>new l.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),342316401:(e,t)=>new l.IfcDuctFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3518393246:(e,t)=>new l.IfcDuctSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1360408905:(e,t)=>new l.IfcDuctSilencer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1904799276:(e,t)=>new l.IfcElectricAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),862014818:(e,t)=>new l.IfcElectricDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3310460725:(e,t)=>new l.IfcElectricFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),264262732:(e,t)=>new l.IfcElectricGenerator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),402227799:(e,t)=>new l.IfcElectricMotor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1003880860:(e,t)=>new l.IfcElectricTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3415622556:(e,t)=>new l.IfcFan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),819412036:(e,t)=>new l.IfcFilter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1426591983:(e,t)=>new l.IfcFireSuppressionTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),182646315:(e,t)=>new l.IfcFlowInstrument(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2295281155:(e,t)=>new l.IfcProtectiveDeviceTrippingUnit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4086658281:(e,t)=>new l.IfcSensor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),630975310:(e,t)=>new l.IfcUnitaryControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4288193352:(e,t)=>new l.IfcActuator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3087945054:(e,t)=>new l.IfcAlarm(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),25142252:(e,t)=>new l.IfcController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},Lm[2]={3630933823:e=>[e.Role,e.UserDefinedRole,e.Description],618182010:e=>[e.Purpose,e.Description,e.UserDefinedPurpose],639542469:e=>[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier],411424972:e=>[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components],130549933:e=>[e.Identifier,e.Name,e.Description,e.TimeOfApproval,e.Status,e.Level,e.Qualifier,e.RequestingApproval,e.GivingApproval],4037036970:e=>[e.Name],1560379544:e=>[e.Name,e.TranslationalStiffnessByLengthX?Mm(e.TranslationalStiffnessByLengthX):null,e.TranslationalStiffnessByLengthY?Mm(e.TranslationalStiffnessByLengthY):null,e.TranslationalStiffnessByLengthZ?Mm(e.TranslationalStiffnessByLengthZ):null,e.RotationalStiffnessByLengthX?Mm(e.RotationalStiffnessByLengthX):null,e.RotationalStiffnessByLengthY?Mm(e.RotationalStiffnessByLengthY):null,e.RotationalStiffnessByLengthZ?Mm(e.RotationalStiffnessByLengthZ):null],3367102660:e=>[e.Name,e.TranslationalStiffnessByAreaX?Mm(e.TranslationalStiffnessByAreaX):null,e.TranslationalStiffnessByAreaY?Mm(e.TranslationalStiffnessByAreaY):null,e.TranslationalStiffnessByAreaZ?Mm(e.TranslationalStiffnessByAreaZ):null],1387855156:e=>[e.Name,e.TranslationalStiffnessX?Mm(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Mm(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Mm(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Mm(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Mm(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Mm(e.RotationalStiffnessZ):null],2069777674:e=>[e.Name,e.TranslationalStiffnessX?Mm(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Mm(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Mm(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Mm(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Mm(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Mm(e.RotationalStiffnessZ):null,e.WarpingStiffness?Mm(e.WarpingStiffness):null],2859738748:e=>[],2614616156:e=>[e.PointOnRelatingElement,e.PointOnRelatedElement],2732653382:e=>[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement],775493141:e=>[e.VolumeOnRelatingElement,e.VolumeOnRelatedElement],1959218052:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade],1785450214:e=>[e.SourceCRS,e.TargetCRS],1466758467:e=>[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum],602808272:e=>[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components],1765591967:e=>[e.Elements,e.UnitType,e.UserDefinedType],1045800335:e=>[e.Unit,e.Exponent],2949456006:e=>[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent],4294318154:e=>[],3200245327:e=>[e.Location,e.Identification,e.Name],2242383968:e=>[e.Location,e.Identification,e.Name],1040185647:e=>[e.Location,e.Identification,e.Name],3548104201:e=>[e.Location,e.Identification,e.Name],852622518:e=>{var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:e=>[e.TimeStamp,e.ListValues.map((e=>Mm(e)))],2655187982:e=>[e.Name,e.Version,e.Publisher,e.VersionDate,e.Location,e.Description],3452421091:e=>[e.Location,e.Identification,e.Name,e.Description,e.Language,e.ReferencedLibrary],4162380809:e=>[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity],1566485204:e=>[e.LightDistributionCurve,e.DistributionData],3057273783:e=>[e.SourceCRS,e.TargetCRS,e.Eastings,e.Northings,e.OrthogonalHeight,e.XAxisAbscissa,e.XAxisOrdinate,e.Scale],1847130766:e=>[e.MaterialClassifications,e.ClassifiedMaterial],760658860:e=>[],248100487:e=>{var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority]},3303938423:e=>[e.MaterialLayers,e.LayerSetName,e.Description],1847252529:e=>{var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority,e.OffsetDirection,e.OffsetValues]},2199411900:e=>[e.Materials],2235152071:e=>[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category],164193824:e=>[e.Name,e.Description,e.MaterialProfiles,e.CompositeProfile],552965576:e=>[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category,e.OffsetValues],1507914824:e=>[],2597039031:e=>[Mm(e.ValueComponent),e.UnitComponent],3368373690:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue,e.ReferencePath],2706619895:e=>[e.Currency],1918398963:e=>[e.Dimensions,e.UnitType],3701648758:e=>[],2251480897:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.LogicalAggregator,e.ObjectiveQualifier,e.UserDefinedQualifier],4251960020:e=>[e.Identification,e.Name,e.Description,e.Roles,e.Addresses],1207048766:e=>[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate],2077209135:e=>[e.Identification,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses],101040310:e=>[e.ThePerson,e.TheOrganization,e.Roles],2483315170:e=>[e.Name,e.Description],2226359599:e=>[e.Name,e.Description,e.Unit],3355820592:e=>[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country],677532197:e=>[],2022622350:e=>[e.Name,e.Description,e.AssignedItems,e.Identifier],1304840413:e=>{var t,n,s;return[e.Name,e.Description,e.AssignedItems,e.Identifier,null==(t=e.LayerOn)?void 0:t.toString(),null==(n=e.LayerFrozen)?void 0:n.toString(),null==(s=e.LayerBlocked)?void 0:s.toString(),e.LayerStyles]},3119450353:e=>[e.Name],2417041796:e=>[e.Styles],2095639259:e=>[e.Name,e.Description,e.Representations],3958567839:e=>[e.ProfileType,e.ProfileName],3843373140:e=>[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum,e.MapProjection,e.MapZone,e.MapUnit],986844984:e=>[],3710013099:e=>[e.Name,e.EnumerationValues.map((e=>Mm(e))),e.Unit],2044713172:e=>[e.Name,e.Description,e.Unit,e.AreaValue,e.Formula],2093928680:e=>[e.Name,e.Description,e.Unit,e.CountValue,e.Formula],931644368:e=>[e.Name,e.Description,e.Unit,e.LengthValue,e.Formula],3252649465:e=>[e.Name,e.Description,e.Unit,e.TimeValue,e.Formula],2405470396:e=>[e.Name,e.Description,e.Unit,e.VolumeValue,e.Formula],825690147:e=>[e.Name,e.Description,e.Unit,e.WeightValue,e.Formula],3915482550:e=>[e.RecurrenceType,e.DayComponent,e.WeekdayComponent,e.MonthComponent,e.Position,e.Interval,e.Occurrences,e.TimePeriods],2433181523:e=>[e.TypeIdentifier,e.AttributeIdentifier,e.InstanceName,e.ListPositions,e.InnerReference],1076942058:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],3377609919:e=>[e.ContextIdentifier,e.ContextType],3008791417:e=>[],1660063152:e=>[e.MappingOrigin,e.MappedRepresentation],2439245199:e=>[e.Name,e.Description],2341007311:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],448429030:e=>[e.Dimensions,e.UnitType,e.Prefix,e.Name],1054537805:e=>[e.Name,e.DataOrigin,e.UserDefinedDataOrigin],867548509:e=>{var t;return[e.ShapeRepresentations,e.Name,e.Description,null==(t=e.ProductDefinitional)?void 0:t.toString(),e.PartOfProductDefinitionShape]},3982875396:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],4240577450:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],2273995522:e=>[e.Name],2162789131:e=>[e.Name],3478079324:e=>[e.Name,e.Values,e.Locations],609421318:e=>[e.Name],2525727697:e=>[e.Name],3408363356:e=>[e.Name,e.DeltaTConstant,e.DeltaTY,e.DeltaTZ],2830218821:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],3958052878:e=>[e.Item,e.Styles,e.Name],3049322572:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],2934153892:e=>[e.Name,e.SurfaceReinforcement1,e.SurfaceReinforcement2,e.ShearReinforcement],1300840506:e=>[e.Name,e.Side,e.Styles],3303107099:e=>[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour],1607154358:e=>[e.RefractionIndex,e.DispersionFactor],846575682:e=>[e.SurfaceColour,e.Transparency],1351298697:e=>[e.Textures],626085974:e=>{var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter]},985171141:e=>[e.Name,e.Rows,e.Columns],2043862942:e=>[e.Identifier,e.Name,e.Description,e.Unit,e.ReferencePath],531007025:e=>{var t;return[e.RowCells?e.RowCells.map((e=>Mm(e))):null,null==(t=e.IsHeading)?void 0:t.toString()]},1549132990:e=>{var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion]},2771591690:e=>{var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion,e.Recurrence]},912023232:e=>[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL,e.MessagingIDs],1447204868:e=>{var t;return[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},2636378356:e=>[e.Colour,e.BackgroundColour],1640371178:e=>[e.TextIndent?Mm(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Mm(e.LetterSpacing):null,e.WordSpacing?Mm(e.WordSpacing):null,e.TextTransform,e.LineHeight?Mm(e.LineHeight):null],280115917:e=>[e.Maps],1742049831:e=>[e.Maps,e.Mode,e.Parameter],2552916305:e=>[e.Maps,e.Vertices,e.MappedTo],1210645708:e=>[e.Coordinates],3611470254:e=>[e.TexCoordsList],1199560280:e=>[e.StartTime,e.EndTime],3101149627:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit],581633288:e=>[e.ListValues.map((e=>Mm(e)))],1377556343:e=>[],1735638870:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],180925521:e=>[e.Units],2799835756:e=>[],1907098498:e=>[e.VertexGeometry],891718957:e=>[e.IntersectingAxes,e.OffsetDistances],1236880293:e=>[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.RecurrencePattern,e.Start,e.Finish],3869604511:e=>[e.Name,e.Description,e.RelatingApproval,e.RelatedApprovals],3798115385:e=>[e.ProfileType,e.ProfileName,e.OuterCurve],1310608509:e=>[e.ProfileType,e.ProfileName,e.Curve],2705031697:e=>[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves],616511568:e=>{var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.RasterFormat,e.RasterCode]},3150382593:e=>[e.ProfileType,e.ProfileName,e.Curve,e.Thickness],747523909:e=>[e.Source,e.Edition,e.EditionDate,e.Name,e.Description,e.Location,e.ReferenceTokens],647927063:e=>[e.Location,e.Identification,e.Name,e.ReferencedSource,e.Description,e.Sort],3285139300:e=>[e.ColourList],3264961684:e=>[e.Name],1485152156:e=>[e.ProfileType,e.ProfileName,e.Profiles,e.Label],370225590:e=>[e.CfsFaces],1981873012:e=>[e.CurveOnRelatingElement,e.CurveOnRelatedElement],45288368:e=>[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ],3050246964:e=>[e.Dimensions,e.UnitType,e.Name],2889183280:e=>[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor],2713554722:e=>[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor,e.ConversionOffset],539742890:e=>[e.Name,e.Description,e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource],3800577675:e=>{var t;return[e.Name,e.CurveFont,e.CurveWidth?Mm(e.CurveWidth):null,e.CurveColour,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},1105321065:e=>[e.Name,e.PatternList],2367409068:e=>[e.Name,e.CurveFont,e.CurveFontScaling],3510044353:e=>[e.VisibleSegmentLength,e.InvisibleSegmentLength],3632507154:e=>[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label],1154170062:e=>[e.Identification,e.Name,e.Description,e.Location,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status],770865208:e=>[e.Name,e.Description,e.RelatingDocument,e.RelatedDocuments,e.RelationshipType],3732053477:e=>[e.Location,e.Identification,e.Name,e.Description,e.ReferencedDocument],3900360178:e=>[e.EdgeStart,e.EdgeEnd],476780140:e=>{var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,null==(t=e.SameSense)?void 0:t.toString()]},211053100:e=>[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ActualDate,e.EarlyDate,e.LateDate,e.ScheduleDate],297599258:e=>[e.Name,e.Description,e.Properties],1437805879:e=>[e.Name,e.Description,e.RelatingReference,e.RelatedResourceObjects],2556980723:e=>[e.Bounds],1809719519:e=>{var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},803316827:e=>{var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},3008276851:e=>{var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},4219587988:e=>[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ],738692330:e=>{var t;return[e.Name,e.FillStyles,null==(t=e.ModelorDraughting)?void 0:t.toString()]},3448662350:e=>[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth],2453401579:e=>[],4142052618:e=>[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView],3590301190:e=>[e.Elements],178086475:e=>[e.PlacementLocation,e.PlacementRefDirection],812098782:e=>{var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString()]},3905492369:e=>{var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.URLReference]},3570813810:e=>[e.MappedTo,e.Opacity,e.Colours,e.ColourIndex],1437953363:e=>[e.Maps,e.MappedTo,e.TexCoords],2133299955:e=>[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndex],3741457305:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values],1585845231:e=>[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,Mm(e.LagValue),e.DurationType],1402838566:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity],125510826:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity],2604431987:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation],4266656042:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource],1520743889:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation],3422422726:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle],2624227202:e=>[e.PlacementRelTo,e.RelativePlacement],1008929658:e=>[],2347385850:e=>[e.MappingSource,e.MappingTarget],1838606355:e=>[e.Name,e.Description,e.Category],3708119e3:e=>[e.Name,e.Description,e.Material,e.Fraction,e.Category],2852063980:e=>[e.Name,e.Description,e.MaterialConstituents],2022407955:e=>[e.Name,e.Description,e.Representations,e.RepresentedMaterial],1303795690:e=>[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine,e.ReferenceExtent],3079605661:e=>[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent],3404854881:e=>[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent,e.ForProfileEndSet,e.CardinalEndPoint],3265635763:e=>[e.Name,e.Description,e.Properties,e.Material],853536259:e=>[e.Name,e.Description,e.RelatingMaterial,e.RelatedMaterials,e.Expression],2998442950:e=>[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label],219451334:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],2665983363:e=>[e.CfsFaces],1411181986:e=>[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations],1029017970:e=>{var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeElement,null==(t=e.Orientation)?void 0:t.toString()]},2529465313:e=>[e.ProfileType,e.ProfileName,e.Position],2519244187:e=>[e.EdgeList],3021840470:e=>[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage],597895409:e=>{var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.Width,e.Height,e.ColourComponents,e.Pixel]},2004835150:e=>[e.Location],1663979128:e=>[e.SizeInX,e.SizeInY],2067069095:e=>[],4022376103:e=>[e.BasisCurve,e.PointParameter],1423911732:e=>[e.BasisSurface,e.PointParameterU,e.PointParameterV],2924175390:e=>[e.Polygon],2775532180:e=>{var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Position,e.PolygonalBoundary]},3727388367:e=>[e.Name],3778827333:e=>[],1775413392:e=>[e.Name],673634403:e=>[e.Name,e.Description,e.Representations],2802850158:e=>[e.Name,e.Description,e.Properties,e.ProfileDefinition],2598011224:e=>[e.Name,e.Description],1680319473:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],148025276:e=>[e.Name,e.Description,e.DependingProperty,e.DependantProperty,e.Expression],3357820518:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],1482703590:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],2090586900:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],3615266464:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim],3413951693:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values],1580146022:e=>[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount],478536968:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],2943643501:e=>[e.Name,e.Description,e.RelatedResourceObjects,e.RelatingApproval],1608871552:e=>[e.Name,e.Description,e.RelatingConstraint,e.RelatedResourceObjects],1042787934:e=>{var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ScheduleWork,e.ScheduleUsage,e.ScheduleStart,e.ScheduleFinish,e.ScheduleContour,e.LevelingDelay,null==(t=e.IsOverAllocated)?void 0:t.toString(),e.StatusTime,e.ActualWork,e.ActualUsage,e.ActualStart,e.ActualFinish,e.RemainingWork,e.RemainingUsage,e.Completion]},2778083089:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius],2042790032:e=>[e.SectionType,e.StartProfile,e.EndProfile],4165799628:e=>[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions],1509187699:e=>[e.SpineCurve,e.CrossSections,e.CrossSectionPositions],4124623270:e=>[e.SbsmBoundary],3692461612:e=>[e.Name,e.Description],2609359061:e=>[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ],723233188:e=>[],1595516126:e=>[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ],2668620305:e=>[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ],2473145415:e=>[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ],1973038258:e=>[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion],1597423693:e=>[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ],1190533807:e=>[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment],2233826070:e=>[e.EdgeStart,e.EdgeEnd,e.ParentEdge],2513912981:e=>[],1878645084:e=>[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Mm(e.SpecularHighlight):null,e.ReflectanceMethod],2247615214:e=>[e.SweptArea,e.Position],1260650574:e=>[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam],1096409881:e=>[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam,e.FilletRadius],230924584:e=>[e.SweptCurve,e.Position],3071757647:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope],901063453:e=>[],4282788508:e=>[e.Literal,e.Placement,e.Path],3124975700:e=>[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment],1983826977:e=>[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Mm(e.FontSize)],2715220739:e=>[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset],1628702193:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets],3736923433:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType],2347495698:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag],3698973494:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType],427810014:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope],1417489154:e=>[e.Orientation,e.Magnitude],2759199220:e=>[e.LoopVertex],1299126871:e=>{var t,n;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ConstructionType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),null==(n=e.Sizeable)?void 0:n.toString()]},2543172580:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius],3406155212:e=>{var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},669184980:e=>[e.OuterBoundary,e.InnerBoundaries],3207858831:e=>[e.ProfileType,e.ProfileName,e.Position,e.BottomFlangeWidth,e.OverallDepth,e.WebThickness,e.BottomFlangeThickness,e.BottomFlangeFilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.BottomFlangeEdgeRadius,e.BottomFlangeSlope,e.TopFlangeEdgeRadius,e.TopFlangeSlope],4261334040:e=>[e.Location,e.Axis],3125803723:e=>[e.Location,e.RefDirection],2740243338:e=>[e.Location,e.Axis,e.RefDirection],2736907675:e=>[e.Operator,e.FirstOperand,e.SecondOperand],4182860854:e=>[],2581212453:e=>[e.Corner,e.XDim,e.YDim,e.ZDim],2713105998:e=>{var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Enclosure]},2898889636:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius],1123145078:e=>[e.Coordinates],574549367:e=>[],1675464909:e=>[e.CoordList],2059837836:e=>[e.CoordList],59481748:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale],3749851601:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale],3486308946:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2],3331915920:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3],1416205885:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3],1383045692:e=>[e.ProfileType,e.ProfileName,e.Position,e.Radius],2205249479:e=>[e.CfsFaces],776857604:e=>[e.Name,e.Red,e.Green,e.Blue],2542286263:e=>[e.Name,e.Description,e.UsageName,e.HasProperties],2485617015:e=>{var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve]},2574617495:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity],3419103109:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext],1815067380:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],2506170314:e=>[e.Position],2147822146:e=>[e.TreeRootExpression],2601014836:e=>[],2827736869:e=>[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries],2629017746:e=>{var t;return[e.BasisSurface,e.Boundaries,null==(t=e.ImplicitOuter)?void 0:t.toString()]},32440307:e=>[e.DirectionRatios],526551008:e=>{var t,n;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.OperationType,e.ConstructionType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),null==(n=e.Sizeable)?void 0:n.toString()]},1472233963:e=>[e.EdgeList],1883228015:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities],339256511:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2777663545:e=>[e.Position],2835456948:e=>[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2],4024345920:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType],477187591:e=>[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth],2804161546:e=>[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth,e.EndSweptArea],2047409740:e=>[e.FbsmFaces],374418227:e=>[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle],315944413:e=>[e.TilingPattern,e.Tiles,e.TilingScale],2652556860:e=>[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.FixedReference],4238390223:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1268542332:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace,e.PredefinedType],4095422895:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],987898635:e=>[e.Elements],1484403080:e=>[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.FlangeSlope],178912537:e=>[e.CoordIndex],2294589976:e=>[e.CoordIndex,e.InnerCoordIndices],572779678:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope],428585644:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1281925730:e=>[e.Pnt,e.Dir],1425443689:e=>[e.Outer],3888040117:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],3388369263:e=>{var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString()]},3505215534:e=>{var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString(),e.RefDirection]},1682466193:e=>[e.BasisSurface,e.ReferenceCurve],603570806:e=>[e.SizeInX,e.SizeInY,e.Placement],220341763:e=>[e.Position],759155922:e=>[e.Name],2559016684:e=>[e.Name],3967405729:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],569719735:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType],2945172077:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription],4208778838:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],103090709:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext],653396225:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext],871118103:e=>[e.Name,e.Description,e.UpperBoundValue?Mm(e.UpperBoundValue):null,e.LowerBoundValue?Mm(e.LowerBoundValue):null,e.Unit,e.SetPointValue?Mm(e.SetPointValue):null],4166981789:e=>[e.Name,e.Description,e.EnumerationValues?e.EnumerationValues.map((e=>Mm(e))):null,e.EnumerationReference],2752243245:e=>[e.Name,e.Description,e.ListValues?e.ListValues.map((e=>Mm(e))):null,e.Unit],941946838:e=>[e.Name,e.Description,e.UsageName,e.PropertyReference],1451395588:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties],492091185:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.ApplicableEntity,e.HasPropertyTemplates],3650150729:e=>[e.Name,e.Description,e.NominalValue?Mm(e.NominalValue):null,e.Unit],110355661:e=>[e.Name,e.Description,e.DefiningValues?e.DefiningValues.map((e=>Mm(e))):null,e.DefinedValues?e.DefinedValues.map((e=>Mm(e))):null,e.Expression,e.DefiningUnit,e.DefinedUnit,e.CurveInterpolation],3521284610:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],3219374653:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.ProxyType,e.Tag],2770003689:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius],2798486643:e=>[e.Position,e.XLength,e.YLength,e.Height],3454111270:e=>{var t,n;return[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,null==(t=e.Usense)?void 0:t.toString(),null==(n=e.Vsense)?void 0:n.toString()]},3765753017:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions],3939117080:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType],1683148259:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole],2495723537:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl],1307041759:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup],1027710054:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup,e.Factor],4278684876:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess],2857406711:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct],205026976:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource],1865459582:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects],4095574036:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval],919958153:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification],2728634034:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint],982818633:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument],3840914261:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary],2655215786:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial],826625072:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],1204542856:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement],3945020480:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType],4201705270:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement],3190031847:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement],2127690289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity],1638771189:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem],504942748:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint],3678494232:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType],3242617779:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure],886880790:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings],2802773753:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedCoverings],2565941209:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingContext,e.RelatedDefinitions],2551354335:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],693640335:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],1462361463:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingObject],4186316022:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition],307848117:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedPropertySets,e.RelatingTemplate],781010003:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType],3940055652:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement],279856033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement],427948657:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedElement,e.InterferenceGeometry,e.InterferenceType,e.ImpliedOrder],3268803585:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects],750771296:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement],1245217292:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure],4122056220:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType,e.UserDefinedSequenceType],366585022:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings],3451746338:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary],3523091289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary],1521410863:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary,e.CorrespondingBoundary],1401173127:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement],816062949:e=>{var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve,e.ParamLength]},2914609552:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription],1856042241:e=>[e.SweptArea,e.Position,e.Axis,e.Angle],3243963512:e=>[e.SweptArea,e.Position,e.Axis,e.Angle,e.EndSweptArea],4158566097:e=>[e.Position,e.Height,e.BottomRadius],3626867408:e=>[e.Position,e.Height,e.Radius],3663146110:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.PrimaryMeasureType,e.SecondaryMeasureType,e.Enumerators,e.PrimaryUnit,e.SecondaryUnit,e.Expression,e.AccessState],1412071761:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName],710998568:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2706606064:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType],3893378262:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],463610769:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType],2481509218:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName],451544542:e=>[e.Position,e.Radius],4015995234:e=>[e.Position,e.Radius],3544373492:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],3136571912:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],530289379:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],3689010777:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],3979015343:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness],2218152070:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness],603775116:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType],4095615324:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],699246055:e=>[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation],2028607225:e=>[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.ReferenceSurface],2809605785:e=>[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth],4124788165:e=>[e.SweptCurve,e.Position,e.AxisPosition],1580310250:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3473067441:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Status,e.WorkMethod,null==(t=e.IsMilestone)?void 0:t.toString(),e.Priority,e.TaskTime,e.PredefinedType]},3206491090:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.WorkMethod],2387106220:e=>[e.Coordinates],1935646853:e=>[e.Position,e.MajorRadius,e.MinorRadius],2097647324:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2916149573:e=>{var t;return[e.Coordinates,e.Normals,null==(t=e.Closed)?void 0:t.toString(),e.CoordIndex,e.PnIndex]},336235671:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle,e.LiningOffset,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY],512836454:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle],2296667514:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor],1635779807:e=>[e.Outer],2603310189:e=>[e.Outer,e.Voids],1674181508:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],2887950389:e=>{var t,n,s;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(s=e.SelfIntersect)?void 0:s.toString()]},167062518:e=>{var t,n,s;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(s=e.SelfIntersect)?void 0:s.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec]},1334484129:e=>[e.Position,e.XLength,e.YLength,e.ZLength],3649129432:e=>[e.Operator,e.FirstOperand,e.SecondOperand],1260505505:e=>[],4031249490:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress],1950629157:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3124254112:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation],2197970202:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2937912522:e=>[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness],3893394355:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],300633059:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3875453745:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.UsageName,e.TemplateType,e.HasPropertyTemplates],3732776249:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},15328376:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},2510884976:e=>[e.Position],2185764099:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],4105962743:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1525564444:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],2559216714:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity],3293443760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification],3895139033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.CostValues,e.CostQuantities],1419761937:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.SubmittedOn,e.UpdateDate],1916426348:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3295246426:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1457835157:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1213902940:e=>[e.Position,e.Radius],3256556792:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3849074793:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2963535650:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY],1714330368:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle],2323601079:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedOperationType]},445594917:e=>[e.Name],4006246654:e=>[e.Name],1758889154:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4123344466:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType],2397081782:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1623761950:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2590856083:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1704287377:e=>[e.Position,e.SemiAxis1,e.SemiAxis2],2107101300:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],132023988:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3174744832:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3390157468:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4148101412:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType,e.EventOccurenceTime],2853485674:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName],807026263:e=>[e.Outer],3737207727:e=>[e.Outer,e.Voids],647756555:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2489546625:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2827207264:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2143335405:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1287392070:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3907093117:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3198132628:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3815607619:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1482959167:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1834744321:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1339347760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2297155007:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3009222698:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1893162501:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],263784265:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1509553395:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3493046030:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3009204131:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes,e.PredefinedType],2706460486:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],1251058090:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1806887404:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2571569899:e=>{var t;return[e.Points,e.Segments?e.Segments.map((e=>Mm(e))):null,null==(t=e.SelfIntersect)?void 0:t.toString()]},3946677679:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3113134337:e=>[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation],2391368822:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue],4288270099:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3827777499:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1051575348:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1161773419:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],377706215:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength,e.PredefinedType],2108223431:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.NominalLength],1114901282:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3181161470:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],977012517:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4143007308:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType],3588315303:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3079942009:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2837617999:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2382730787:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LifeCyclePhase,e.PredefinedType],3566463478:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle],3327091369:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription],1158309216:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],804291784:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4231323485:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4017108033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2839578677:e=>{var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Faces,e.PnIndex]},3724593414:e=>[e.Points],3740093272:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],2744685151:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType],2904328755:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription],3651124850:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1842657554:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2250791053:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2893384427:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2324767716:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1469900589:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],683857671:e=>{var t,n,s;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(s=e.SelfIntersect)?void 0:s.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec,e.WeightsData]},3027567501:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade],964333572:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2320036040:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.PredefinedType],2310774935:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((e=>Mm(e))):null],160246688:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects],2781568857:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1768891740:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2157484638:e=>[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation],4074543187:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4097777520:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress],2533589738:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1072016465:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3856911033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType,e.ElevationWithFlooring],1305183839:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3812236995:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName],3112655638:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1039846685:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],338393293:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],682877961:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},1179482911:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition],1004757350:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},4243806635:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.Axis],214636428:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis],2445595289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis],2757150158:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType],1807405624:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1252848954:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose],2082059205:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},734778138:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.ConditionCoordinateSystem],1235345126:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],2986769608:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,null==(t=e.IsLinear)?void 0:t.toString()]},3657597509:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1975003073:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition],148013059:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],3101698114:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2315554128:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2254336722:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],413509423:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],5716631:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3824725483:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius],2347447852:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType],3081323446:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2415094496:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.SheathDiameter],1692211062:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1620046519:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3593883385:e=>{var t;return[e.BasisCurve,e.Trim1,e.Trim2,null==(t=e.SenseAgreement)?void 0:t.toString(),e.MasterRepresentation]},1600972822:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1911125066:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],728799441:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2391383451:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3313531582:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2769231204:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],926996030:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1898987631:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1133259667:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4009809668:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.PartitioningType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedPartitioningType]},4088093105:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.WorkingTimes,e.ExceptionTimes,e.PredefinedType],1028945134:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime],4218914973:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType],3342526732:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType],1033361043:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName],3821786052:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription],1411407467:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3352864051:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1871374353:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3460190687:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue],1532957894:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1967976161:e=>{var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString()]},2461110595:e=>{var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec]},819618141:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],231477066:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1136057603:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3299480353:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2979338954:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],39481116:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1095909175:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1909888760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1177604601:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName],2188180465:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],395041908:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3293546465:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2674252688:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1285652485:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2951183804:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3296154744:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2611217952:e=>[e.Position,e.Radius],1677625105:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2301859152:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],843113511:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],905975707:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],400855858:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3850581409:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2816379211:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3898045240:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1060000209:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],488727124:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],335055490:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2954562838:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1973544240:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3495092785:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3961806047:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1335981549:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2635815018:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1599208980:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2063403501:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1945004755:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3040386961:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3041715199:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection,e.PredefinedType,e.SystemType],3205830791:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType],395920057:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType],3242481149:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType],869906466:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3760055223:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2030761528:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],663422040:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2417008758:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3277789161:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1534661035:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1217240411:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],712377611:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1658829314:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2814081492:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3747195512:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],484807127:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1209101575:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType],346874300:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1810631287:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4222183408:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2058353004:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4278956645:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4037862832:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2188021234:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3132237377:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],987401354:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],707683696:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2223149337:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3508470533:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],900683007:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3319311131:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2068733104:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4175244083:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2176052936:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],76236018:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],629592764:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1437502449:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1073191201:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1911478936:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2474470126:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],144952367:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3694346114:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1687234759:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType],310824031:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3612865200:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3171933400:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1156407060:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],738039164:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],655969474:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],90941305:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2262370178:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3024970846:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3283111854:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1232101972:e=>{var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec,e.WeightsData]},979691226:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.PredefinedType,e.BarSurface],2572171363:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarSurface,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((e=>Mm(e))):null],2016517767:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3053780830:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1783015770:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1329646415:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1529196076:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3127900445:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3027962421:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3420628829:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1999602285:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1404847402:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],331165859:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4252922144:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRisers,e.NumberOfTreads,e.RiserHeight,e.TreadLength,e.PredefinedType],2515109513:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults,e.SharedPlacement],385403989:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose,e.SelfWeightCoefficients],1621171031:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1162798199:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],812556717:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3825984169:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3026737570:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3179687236:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4292641817:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4207607924:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2391406946:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4156078855:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3512223829:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4237592921:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3304561284:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType],486154966:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType],2874132201:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1634111441:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],177149247:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2056796094:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3001207471:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],277319702:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],753842376:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2906023776:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],32344328:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2938176219:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],635142910:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3758799889:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1051757585:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4217484030:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3902619387:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],639361253:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3221913625:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3571504051:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2272882330:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],578613899:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4136498852:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3640358203:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4074379575:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1052013943:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],562808652:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType],1062813311:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],342316401:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3518393246:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1360408905:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1904799276:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],862014818:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3310460725:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],264262732:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],402227799:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1003880860:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3415622556:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],819412036:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1426591983:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],182646315:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2295281155:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4086658281:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],630975310:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4288193352:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3087945054:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],25142252:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},Pm[2]={3699917729:e=>new l.IfcAbsorbedDoseMeasure(e),4182062534:e=>new l.IfcAccelerationMeasure(e),360377573:e=>new l.IfcAmountOfSubstanceMeasure(e),632304761:e=>new l.IfcAngularVelocityMeasure(e),3683503648:e=>new l.IfcArcIndex(e.map((e=>e.value))),1500781891:e=>new l.IfcAreaDensityMeasure(e),2650437152:e=>new l.IfcAreaMeasure(e),2314439260:e=>new l.IfcBinary(e),2735952531:e=>new l.IfcBoolean(e),1867003952:e=>new l.IfcBoxAlignment(e),1683019596:e=>new l.IfcCardinalPointReference(e),2991860651:e=>new l.IfcComplexNumber(e.map((e=>e.value))),3812528620:e=>new l.IfcCompoundPlaneAngleMeasure(e.map((e=>e.value))),3238673880:e=>new l.IfcContextDependentMeasure(e),1778710042:e=>new l.IfcCountMeasure(e),94842927:e=>new l.IfcCurvatureMeasure(e),937566702:e=>new l.IfcDate(e),2195413836:e=>new l.IfcDateTime(e),86635668:e=>new l.IfcDayInMonthNumber(e),3701338814:e=>new l.IfcDayInWeekNumber(e),1514641115:e=>new l.IfcDescriptiveMeasure(e),4134073009:e=>new l.IfcDimensionCount(e),524656162:e=>new l.IfcDoseEquivalentMeasure(e),2541165894:e=>new l.IfcDuration(e),69416015:e=>new l.IfcDynamicViscosityMeasure(e),1827137117:e=>new l.IfcElectricCapacitanceMeasure(e),3818826038:e=>new l.IfcElectricChargeMeasure(e),2093906313:e=>new l.IfcElectricConductanceMeasure(e),3790457270:e=>new l.IfcElectricCurrentMeasure(e),2951915441:e=>new l.IfcElectricResistanceMeasure(e),2506197118:e=>new l.IfcElectricVoltageMeasure(e),2078135608:e=>new l.IfcEnergyMeasure(e),1102727119:e=>new l.IfcFontStyle(e),2715512545:e=>new l.IfcFontVariant(e),2590844177:e=>new l.IfcFontWeight(e),1361398929:e=>new l.IfcForceMeasure(e),3044325142:e=>new l.IfcFrequencyMeasure(e),3064340077:e=>new l.IfcGloballyUniqueId(e),3113092358:e=>new l.IfcHeatFluxDensityMeasure(e),1158859006:e=>new l.IfcHeatingValueMeasure(e),983778844:e=>new l.IfcIdentifier(e),3358199106:e=>new l.IfcIlluminanceMeasure(e),2679005408:e=>new l.IfcInductanceMeasure(e),1939436016:e=>new l.IfcInteger(e),3809634241:e=>new l.IfcIntegerCountRateMeasure(e),3686016028:e=>new l.IfcIonConcentrationMeasure(e),3192672207:e=>new l.IfcIsothermalMoistureCapacityMeasure(e),2054016361:e=>new l.IfcKinematicViscosityMeasure(e),3258342251:e=>new l.IfcLabel(e),1275358634:e=>new l.IfcLanguageId(e),1243674935:e=>new l.IfcLengthMeasure(e),1774176899:e=>new l.IfcLineIndex(e.map((e=>e.value))),191860431:e=>new l.IfcLinearForceMeasure(e),2128979029:e=>new l.IfcLinearMomentMeasure(e),1307019551:e=>new l.IfcLinearStiffnessMeasure(e),3086160713:e=>new l.IfcLinearVelocityMeasure(e),503418787:e=>new l.IfcLogical(e),2095003142:e=>new l.IfcLuminousFluxMeasure(e),2755797622:e=>new l.IfcLuminousIntensityDistributionMeasure(e),151039812:e=>new l.IfcLuminousIntensityMeasure(e),286949696:e=>new l.IfcMagneticFluxDensityMeasure(e),2486716878:e=>new l.IfcMagneticFluxMeasure(e),1477762836:e=>new l.IfcMassDensityMeasure(e),4017473158:e=>new l.IfcMassFlowRateMeasure(e),3124614049:e=>new l.IfcMassMeasure(e),3531705166:e=>new l.IfcMassPerLengthMeasure(e),3341486342:e=>new l.IfcModulusOfElasticityMeasure(e),2173214787:e=>new l.IfcModulusOfLinearSubgradeReactionMeasure(e),1052454078:e=>new l.IfcModulusOfRotationalSubgradeReactionMeasure(e),1753493141:e=>new l.IfcModulusOfSubgradeReactionMeasure(e),3177669450:e=>new l.IfcMoistureDiffusivityMeasure(e),1648970520:e=>new l.IfcMolecularWeightMeasure(e),3114022597:e=>new l.IfcMomentOfInertiaMeasure(e),2615040989:e=>new l.IfcMonetaryMeasure(e),765770214:e=>new l.IfcMonthInYearNumber(e),525895558:e=>new l.IfcNonNegativeLengthMeasure(e),2095195183:e=>new l.IfcNormalisedRatioMeasure(e),2395907400:e=>new l.IfcNumericMeasure(e),929793134:e=>new l.IfcPHMeasure(e),2260317790:e=>new l.IfcParameterValue(e),2642773653:e=>new l.IfcPlanarForceMeasure(e),4042175685:e=>new l.IfcPlaneAngleMeasure(e),1790229001:e=>new l.IfcPositiveInteger(e),2815919920:e=>new l.IfcPositiveLengthMeasure(e),3054510233:e=>new l.IfcPositivePlaneAngleMeasure(e),1245737093:e=>new l.IfcPositiveRatioMeasure(e),1364037233:e=>new l.IfcPowerMeasure(e),2169031380:e=>new l.IfcPresentableText(e),3665567075:e=>new l.IfcPressureMeasure(e),2798247006:e=>new l.IfcPropertySetDefinitionSet(e.map((e=>e.value))),3972513137:e=>new l.IfcRadioActivityMeasure(e),96294661:e=>new l.IfcRatioMeasure(e),200335297:e=>new l.IfcReal(e),2133746277:e=>new l.IfcRotationalFrequencyMeasure(e),1755127002:e=>new l.IfcRotationalMassMeasure(e),3211557302:e=>new l.IfcRotationalStiffnessMeasure(e),3467162246:e=>new l.IfcSectionModulusMeasure(e),2190458107:e=>new l.IfcSectionalAreaIntegralMeasure(e),408310005:e=>new l.IfcShearModulusMeasure(e),3471399674:e=>new l.IfcSolidAngleMeasure(e),4157543285:e=>new l.IfcSoundPowerLevelMeasure(e),846465480:e=>new l.IfcSoundPowerMeasure(e),3457685358:e=>new l.IfcSoundPressureLevelMeasure(e),993287707:e=>new l.IfcSoundPressureMeasure(e),3477203348:e=>new l.IfcSpecificHeatCapacityMeasure(e),2757832317:e=>new l.IfcSpecularExponent(e),361837227:e=>new l.IfcSpecularRoughness(e),58845555:e=>new l.IfcTemperatureGradientMeasure(e),1209108979:e=>new l.IfcTemperatureRateOfChangeMeasure(e),2801250643:e=>new l.IfcText(e),1460886941:e=>new l.IfcTextAlignment(e),3490877962:e=>new l.IfcTextDecoration(e),603696268:e=>new l.IfcTextFontName(e),296282323:e=>new l.IfcTextTransformation(e),232962298:e=>new l.IfcThermalAdmittanceMeasure(e),2645777649:e=>new l.IfcThermalConductivityMeasure(e),2281867870:e=>new l.IfcThermalExpansionCoefficientMeasure(e),857959152:e=>new l.IfcThermalResistanceMeasure(e),2016195849:e=>new l.IfcThermalTransmittanceMeasure(e),743184107:e=>new l.IfcThermodynamicTemperatureMeasure(e),4075327185:e=>new l.IfcTime(e),2726807636:e=>new l.IfcTimeMeasure(e),2591213694:e=>new l.IfcTimeStamp(e),1278329552:e=>new l.IfcTorqueMeasure(e),950732822:e=>new l.IfcURIReference(e),3345633955:e=>new l.IfcVaporPermeabilityMeasure(e),3458127941:e=>new l.IfcVolumeMeasure(e),2593997549:e=>new l.IfcVolumetricFlowRateMeasure(e),51269191:e=>new l.IfcWarpingConstantMeasure(e),1718600412:e=>new l.IfcWarpingMomentMeasure(e)},function(e){e.IfcAbsorbedDoseMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAccelerationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAmountOfSubstanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAngularVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcArcIndex=class{constructor(e){this.value=e}},e.IfcAreaDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAreaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcBinary=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcBoolean=class{constructor(e){this.type=3,this.value=\"true\"==e}},e.IfcBoxAlignment=class{constructor(e){this.value=e,this.type=1}},e.IfcCardinalPointReference=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcComplexNumber=class{constructor(e){this.value=e}},e.IfcCompoundPlaneAngleMeasure=class{constructor(e){this.value=e}},e.IfcContextDependentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcCountMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcCurvatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDate=class{constructor(e){this.value=e,this.type=1}},e.IfcDateTime=class{constructor(e){this.value=e,this.type=1}},e.IfcDayInMonthNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDayInWeekNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDescriptiveMeasure=class{constructor(e){this.value=e,this.type=1}};class t{constructor(e){this.type=4,this.value=parseFloat(e)}}e.IfcDimensionCount=t,e.IfcDoseEquivalentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDuration=class{constructor(e){this.value=e,this.type=1}},e.IfcDynamicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricCapacitanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricChargeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricConductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricCurrentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricVoltageMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcEnergyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcFontStyle=class{constructor(e){this.value=e,this.type=1}},e.IfcFontVariant=class{constructor(e){this.value=e,this.type=1}},e.IfcFontWeight=class{constructor(e){this.value=e,this.type=1}},e.IfcForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcGloballyUniqueId=class{constructor(e){this.value=e,this.type=1}},e.IfcHeatFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcHeatingValueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIdentifier=class{constructor(e){this.value=e,this.type=1}},e.IfcIlluminanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcInductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIntegerCountRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIonConcentrationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIsothermalMoistureCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcKinematicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLabel=class{constructor(e){this.value=e,this.type=1}},e.IfcLanguageId=class{constructor(e){this.value=e,this.type=1}},e.IfcLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLineIndex=class{constructor(e){this.value=e}},e.IfcLinearForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLogical=class{constructor(e){this.type=3,this.value=\"true\"==e}},e.IfcLuminousFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLuminousIntensityDistributionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLuminousIntensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMagneticFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMagneticFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassPerLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfElasticityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfLinearSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfRotationalSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMoistureDiffusivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMolecularWeightMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMomentOfInertiaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMonetaryMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMonthInYearNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcNonNegativeLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcNormalisedRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcNumericMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPHMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcParameterValue=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPlanarForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositiveInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositiveLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositivePlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositiveRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPresentableText=class{constructor(e){this.value=e,this.type=1}},e.IfcPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPropertySetDefinitionSet=class{constructor(e){this.value=e}},e.IfcRadioActivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcReal=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSectionModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSectionalAreaIntegralMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcShearModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSolidAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPowerLevelMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPressureLevelMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecificHeatCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecularExponent=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecularRoughness=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTemperatureGradientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTemperatureRateOfChangeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcText=class{constructor(e){this.value=e,this.type=1}},e.IfcTextAlignment=class{constructor(e){this.value=e,this.type=1}},e.IfcTextDecoration=class{constructor(e){this.value=e,this.type=1}},e.IfcTextFontName=class{constructor(e){this.value=e,this.type=1}},e.IfcTextTransformation=class{constructor(e){this.value=e,this.type=1}},e.IfcThermalAdmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalConductivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalExpansionCoefficientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalTransmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermodynamicTemperatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTime=class{constructor(e){this.value=e,this.type=1}},e.IfcTimeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTimeStamp=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTorqueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcURIReference=class{constructor(e){this.value=e,this.type=1}},e.IfcVaporPermeabilityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcVolumeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcVolumetricFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcWarpingConstantMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcWarpingMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};class n{}n.EMAIL={type:3,value:\"EMAIL\"},n.FAX={type:3,value:\"FAX\"},n.PHONE={type:3,value:\"PHONE\"},n.POST={type:3,value:\"POST\"},n.VERBAL={type:3,value:\"VERBAL\"},n.USERDEFINED={type:3,value:\"USERDEFINED\"},n.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcActionRequestTypeEnum=n;class s{}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\"},e.IfcActionSourceTypeEnum=s;class i{}i.PERMANENT_G={type:3,value:\"PERMANENT_G\"},i.VARIABLE_Q={type:3,value:\"VARIABLE_Q\"},i.EXTRAORDINARY_A={type:3,value:\"EXTRAORDINARY_A\"},i.USERDEFINED={type:3,value:\"USERDEFINED\"},i.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcActionTypeEnum=i;class a{}a.ELECTRICACTUATOR={type:3,value:\"ELECTRICACTUATOR\"},a.HANDOPERATEDACTUATOR={type:3,value:\"HANDOPERATEDACTUATOR\"},a.HYDRAULICACTUATOR={type:3,value:\"HYDRAULICACTUATOR\"},a.PNEUMATICACTUATOR={type:3,value:\"PNEUMATICACTUATOR\"},a.THERMOSTATICACTUATOR={type:3,value:\"THERMOSTATICACTUATOR\"},a.USERDEFINED={type:3,value:\"USERDEFINED\"},a.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcActuatorTypeEnum=a;class l{}l.OFFICE={type:3,value:\"OFFICE\"},l.SITE={type:3,value:\"SITE\"},l.HOME={type:3,value:\"HOME\"},l.DISTRIBUTIONPOINT={type:3,value:\"DISTRIBUTIONPOINT\"},l.USERDEFINED={type:3,value:\"USERDEFINED\"},e.IfcAddressTypeEnum=l;class r{}r.CONSTANTFLOW={type:3,value:\"CONSTANTFLOW\"},r.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:\"VARIABLEFLOWPRESSUREDEPENDANT\"},r.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:\"VARIABLEFLOWPRESSUREINDEPENDANT\"},r.USERDEFINED={type:3,value:\"USERDEFINED\"},r.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAirTerminalBoxTypeEnum=r;class o{}o.DIFFUSER={type:3,value:\"DIFFUSER\"},o.GRILLE={type:3,value:\"GRILLE\"},o.LOUVRE={type:3,value:\"LOUVRE\"},o.REGISTER={type:3,value:\"REGISTER\"},o.USERDEFINED={type:3,value:\"USERDEFINED\"},o.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAirTerminalTypeEnum=o;class c{}c.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:\"FIXEDPLATECOUNTERFLOWEXCHANGER\"},c.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:\"FIXEDPLATECROSSFLOWEXCHANGER\"},c.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:\"FIXEDPLATEPARALLELFLOWEXCHANGER\"},c.ROTARYWHEEL={type:3,value:\"ROTARYWHEEL\"},c.RUNAROUNDCOILLOOP={type:3,value:\"RUNAROUNDCOILLOOP\"},c.HEATPIPE={type:3,value:\"HEATPIPE\"},c.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:\"TWINTOWERENTHALPYRECOVERYLOOPS\"},c.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:\"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS\"},c.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:\"THERMOSIPHONCOILTYPEHEATEXCHANGERS\"},c.USERDEFINED={type:3,value:\"USERDEFINED\"},c.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAirToAirHeatRecoveryTypeEnum=c;class u{}u.BELL={type:3,value:\"BELL\"},u.BREAKGLASSBUTTON={type:3,value:\"BREAKGLASSBUTTON\"},u.LIGHT={type:3,value:\"LIGHT\"},u.MANUALPULLBOX={type:3,value:\"MANUALPULLBOX\"},u.SIREN={type:3,value:\"SIREN\"},u.WHISTLE={type:3,value:\"WHISTLE\"},u.USERDEFINED={type:3,value:\"USERDEFINED\"},u.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAlarmTypeEnum=u;class p{}p.IN_PLANE_LOADING_2D={type:3,value:\"IN_PLANE_LOADING_2D\"},p.OUT_PLANE_LOADING_2D={type:3,value:\"OUT_PLANE_LOADING_2D\"},p.LOADING_3D={type:3,value:\"LOADING_3D\"},p.USERDEFINED={type:3,value:\"USERDEFINED\"},p.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAnalysisModelTypeEnum=p;class h{}h.FIRST_ORDER_THEORY={type:3,value:\"FIRST_ORDER_THEORY\"},h.SECOND_ORDER_THEORY={type:3,value:\"SECOND_ORDER_THEORY\"},h.THIRD_ORDER_THEORY={type:3,value:\"THIRD_ORDER_THEORY\"},h.FULL_NONLINEAR_THEORY={type:3,value:\"FULL_NONLINEAR_THEORY\"},h.USERDEFINED={type:3,value:\"USERDEFINED\"},h.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAnalysisTheoryTypeEnum=h;class d{}d.ADD={type:3,value:\"ADD\"},d.DIVIDE={type:3,value:\"DIVIDE\"},d.MULTIPLY={type:3,value:\"MULTIPLY\"},d.SUBTRACT={type:3,value:\"SUBTRACT\"},e.IfcArithmeticOperatorEnum=d;class f{}f.SITE={type:3,value:\"SITE\"},f.FACTORY={type:3,value:\"FACTORY\"},f.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAssemblyPlaceEnum=f;class I{}I.AMPLIFIER={type:3,value:\"AMPLIFIER\"},I.CAMERA={type:3,value:\"CAMERA\"},I.DISPLAY={type:3,value:\"DISPLAY\"},I.MICROPHONE={type:3,value:\"MICROPHONE\"},I.PLAYER={type:3,value:\"PLAYER\"},I.PROJECTOR={type:3,value:\"PROJECTOR\"},I.RECEIVER={type:3,value:\"RECEIVER\"},I.SPEAKER={type:3,value:\"SPEAKER\"},I.SWITCHER={type:3,value:\"SWITCHER\"},I.TELEPHONE={type:3,value:\"TELEPHONE\"},I.TUNER={type:3,value:\"TUNER\"},I.USERDEFINED={type:3,value:\"USERDEFINED\"},I.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAudioVisualApplianceTypeEnum=I;class m{}m.POLYLINE_FORM={type:3,value:\"POLYLINE_FORM\"},m.CIRCULAR_ARC={type:3,value:\"CIRCULAR_ARC\"},m.ELLIPTIC_ARC={type:3,value:\"ELLIPTIC_ARC\"},m.PARABOLIC_ARC={type:3,value:\"PARABOLIC_ARC\"},m.HYPERBOLIC_ARC={type:3,value:\"HYPERBOLIC_ARC\"},m.UNSPECIFIED={type:3,value:\"UNSPECIFIED\"},e.IfcBSplineCurveForm=m;class y{}y.PLANE_SURF={type:3,value:\"PLANE_SURF\"},y.CYLINDRICAL_SURF={type:3,value:\"CYLINDRICAL_SURF\"},y.CONICAL_SURF={type:3,value:\"CONICAL_SURF\"},y.SPHERICAL_SURF={type:3,value:\"SPHERICAL_SURF\"},y.TOROIDAL_SURF={type:3,value:\"TOROIDAL_SURF\"},y.SURF_OF_REVOLUTION={type:3,value:\"SURF_OF_REVOLUTION\"},y.RULED_SURF={type:3,value:\"RULED_SURF\"},y.GENERALISED_CONE={type:3,value:\"GENERALISED_CONE\"},y.QUADRIC_SURF={type:3,value:\"QUADRIC_SURF\"},y.SURF_OF_LINEAR_EXTRUSION={type:3,value:\"SURF_OF_LINEAR_EXTRUSION\"},y.UNSPECIFIED={type:3,value:\"UNSPECIFIED\"},e.IfcBSplineSurfaceForm=y;class v{}v.BEAM={type:3,value:\"BEAM\"},v.JOIST={type:3,value:\"JOIST\"},v.HOLLOWCORE={type:3,value:\"HOLLOWCORE\"},v.LINTEL={type:3,value:\"LINTEL\"},v.SPANDREL={type:3,value:\"SPANDREL\"},v.T_BEAM={type:3,value:\"T_BEAM\"},v.USERDEFINED={type:3,value:\"USERDEFINED\"},v.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBeamTypeEnum=v;class w{}w.GREATERTHAN={type:3,value:\"GREATERTHAN\"},w.GREATERTHANOREQUALTO={type:3,value:\"GREATERTHANOREQUALTO\"},w.LESSTHAN={type:3,value:\"LESSTHAN\"},w.LESSTHANOREQUALTO={type:3,value:\"LESSTHANOREQUALTO\"},w.EQUALTO={type:3,value:\"EQUALTO\"},w.NOTEQUALTO={type:3,value:\"NOTEQUALTO\"},w.INCLUDES={type:3,value:\"INCLUDES\"},w.NOTINCLUDES={type:3,value:\"NOTINCLUDES\"},w.INCLUDEDIN={type:3,value:\"INCLUDEDIN\"},w.NOTINCLUDEDIN={type:3,value:\"NOTINCLUDEDIN\"},e.IfcBenchmarkEnum=w;class T{}T.WATER={type:3,value:\"WATER\"},T.STEAM={type:3,value:\"STEAM\"},T.USERDEFINED={type:3,value:\"USERDEFINED\"},T.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBoilerTypeEnum=T;class E{}E.UNION={type:3,value:\"UNION\"},E.INTERSECTION={type:3,value:\"INTERSECTION\"},E.DIFFERENCE={type:3,value:\"DIFFERENCE\"},e.IfcBooleanOperator=E;class g{}g.INSULATION={type:3,value:\"INSULATION\"},g.PRECASTPANEL={type:3,value:\"PRECASTPANEL\"},g.USERDEFINED={type:3,value:\"USERDEFINED\"},g.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBuildingElementPartTypeEnum=g;class R{}R.COMPLEX={type:3,value:\"COMPLEX\"},R.ELEMENT={type:3,value:\"ELEMENT\"},R.PARTIAL={type:3,value:\"PARTIAL\"},R.PROVISIONFORVOID={type:3,value:\"PROVISIONFORVOID\"},R.PROVISIONFORSPACE={type:3,value:\"PROVISIONFORSPACE\"},R.USERDEFINED={type:3,value:\"USERDEFINED\"},R.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBuildingElementProxyTypeEnum=R;class D{}D.FENESTRATION={type:3,value:\"FENESTRATION\"},D.FOUNDATION={type:3,value:\"FOUNDATION\"},D.LOADBEARING={type:3,value:\"LOADBEARING\"},D.OUTERSHELL={type:3,value:\"OUTERSHELL\"},D.SHADING={type:3,value:\"SHADING\"},D.TRANSPORT={type:3,value:\"TRANSPORT\"},D.USERDEFINED={type:3,value:\"USERDEFINED\"},D.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBuildingSystemTypeEnum=D;class S{}S.USERDEFINED={type:3,value:\"USERDEFINED\"},S.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBurnerTypeEnum=S;class b{}b.BEND={type:3,value:\"BEND\"},b.CROSS={type:3,value:\"CROSS\"},b.REDUCER={type:3,value:\"REDUCER\"},b.TEE={type:3,value:\"TEE\"},b.USERDEFINED={type:3,value:\"USERDEFINED\"},b.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCableCarrierFittingTypeEnum=b;class N{}N.CABLELADDERSEGMENT={type:3,value:\"CABLELADDERSEGMENT\"},N.CABLETRAYSEGMENT={type:3,value:\"CABLETRAYSEGMENT\"},N.CABLETRUNKINGSEGMENT={type:3,value:\"CABLETRUNKINGSEGMENT\"},N.CONDUITSEGMENT={type:3,value:\"CONDUITSEGMENT\"},N.USERDEFINED={type:3,value:\"USERDEFINED\"},N.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCableCarrierSegmentTypeEnum=N;class O{}O.CONNECTOR={type:3,value:\"CONNECTOR\"},O.ENTRY={type:3,value:\"ENTRY\"},O.EXIT={type:3,value:\"EXIT\"},O.JUNCTION={type:3,value:\"JUNCTION\"},O.TRANSITION={type:3,value:\"TRANSITION\"},O.USERDEFINED={type:3,value:\"USERDEFINED\"},O.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCableFittingTypeEnum=O;class A{}A.BUSBARSEGMENT={type:3,value:\"BUSBARSEGMENT\"},A.CABLESEGMENT={type:3,value:\"CABLESEGMENT\"},A.CONDUCTORSEGMENT={type:3,value:\"CONDUCTORSEGMENT\"},A.CORESEGMENT={type:3,value:\"CORESEGMENT\"},A.USERDEFINED={type:3,value:\"USERDEFINED\"},A.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCableSegmentTypeEnum=A;class x{}x.NOCHANGE={type:3,value:\"NOCHANGE\"},x.MODIFIED={type:3,value:\"MODIFIED\"},x.ADDED={type:3,value:\"ADDED\"},x.DELETED={type:3,value:\"DELETED\"},x.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcChangeActionEnum=x;class C{}C.AIRCOOLED={type:3,value:\"AIRCOOLED\"},C.WATERCOOLED={type:3,value:\"WATERCOOLED\"},C.HEATRECOVERY={type:3,value:\"HEATRECOVERY\"},C.USERDEFINED={type:3,value:\"USERDEFINED\"},C.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcChillerTypeEnum=C;class L{}L.USERDEFINED={type:3,value:\"USERDEFINED\"},L.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcChimneyTypeEnum=L;class P{}P.DXCOOLINGCOIL={type:3,value:\"DXCOOLINGCOIL\"},P.ELECTRICHEATINGCOIL={type:3,value:\"ELECTRICHEATINGCOIL\"},P.GASHEATINGCOIL={type:3,value:\"GASHEATINGCOIL\"},P.HYDRONICCOIL={type:3,value:\"HYDRONICCOIL\"},P.STEAMHEATINGCOIL={type:3,value:\"STEAMHEATINGCOIL\"},P.WATERCOOLINGCOIL={type:3,value:\"WATERCOOLINGCOIL\"},P.WATERHEATINGCOIL={type:3,value:\"WATERHEATINGCOIL\"},P.USERDEFINED={type:3,value:\"USERDEFINED\"},P.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCoilTypeEnum=P;class q{}q.COLUMN={type:3,value:\"COLUMN\"},q.PILASTER={type:3,value:\"PILASTER\"},q.USERDEFINED={type:3,value:\"USERDEFINED\"},q.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcColumnTypeEnum=q;class _{}_.ANTENNA={type:3,value:\"ANTENNA\"},_.COMPUTER={type:3,value:\"COMPUTER\"},_.FAX={type:3,value:\"FAX\"},_.GATEWAY={type:3,value:\"GATEWAY\"},_.MODEM={type:3,value:\"MODEM\"},_.NETWORKAPPLIANCE={type:3,value:\"NETWORKAPPLIANCE\"},_.NETWORKBRIDGE={type:3,value:\"NETWORKBRIDGE\"},_.NETWORKHUB={type:3,value:\"NETWORKHUB\"},_.PRINTER={type:3,value:\"PRINTER\"},_.REPEATER={type:3,value:\"REPEATER\"},_.ROUTER={type:3,value:\"ROUTER\"},_.SCANNER={type:3,value:\"SCANNER\"},_.USERDEFINED={type:3,value:\"USERDEFINED\"},_.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCommunicationsApplianceTypeEnum=_;class M{}M.P_COMPLEX={type:3,value:\"P_COMPLEX\"},M.Q_COMPLEX={type:3,value:\"Q_COMPLEX\"},e.IfcComplexPropertyTemplateTypeEnum=M;class H{}H.DYNAMIC={type:3,value:\"DYNAMIC\"},H.RECIPROCATING={type:3,value:\"RECIPROCATING\"},H.ROTARY={type:3,value:\"ROTARY\"},H.SCROLL={type:3,value:\"SCROLL\"},H.TROCHOIDAL={type:3,value:\"TROCHOIDAL\"},H.SINGLESTAGE={type:3,value:\"SINGLESTAGE\"},H.BOOSTER={type:3,value:\"BOOSTER\"},H.OPENTYPE={type:3,value:\"OPENTYPE\"},H.HERMETIC={type:3,value:\"HERMETIC\"},H.SEMIHERMETIC={type:3,value:\"SEMIHERMETIC\"},H.WELDEDSHELLHERMETIC={type:3,value:\"WELDEDSHELLHERMETIC\"},H.ROLLINGPISTON={type:3,value:\"ROLLINGPISTON\"},H.ROTARYVANE={type:3,value:\"ROTARYVANE\"},H.SINGLESCREW={type:3,value:\"SINGLESCREW\"},H.TWINSCREW={type:3,value:\"TWINSCREW\"},H.USERDEFINED={type:3,value:\"USERDEFINED\"},H.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCompressorTypeEnum=H;class B{}B.AIRCOOLED={type:3,value:\"AIRCOOLED\"},B.EVAPORATIVECOOLED={type:3,value:\"EVAPORATIVECOOLED\"},B.WATERCOOLED={type:3,value:\"WATERCOOLED\"},B.WATERCOOLEDBRAZEDPLATE={type:3,value:\"WATERCOOLEDBRAZEDPLATE\"},B.WATERCOOLEDSHELLCOIL={type:3,value:\"WATERCOOLEDSHELLCOIL\"},B.WATERCOOLEDSHELLTUBE={type:3,value:\"WATERCOOLEDSHELLTUBE\"},B.WATERCOOLEDTUBEINTUBE={type:3,value:\"WATERCOOLEDTUBEINTUBE\"},B.USERDEFINED={type:3,value:\"USERDEFINED\"},B.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCondenserTypeEnum=B;class U{}U.ATPATH={type:3,value:\"ATPATH\"},U.ATSTART={type:3,value:\"ATSTART\"},U.ATEND={type:3,value:\"ATEND\"},U.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcConnectionTypeEnum=U;class F{}F.HARD={type:3,value:\"HARD\"},F.SOFT={type:3,value:\"SOFT\"},F.ADVISORY={type:3,value:\"ADVISORY\"},F.USERDEFINED={type:3,value:\"USERDEFINED\"},F.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcConstraintEnum=F;class G{}G.DEMOLISHING={type:3,value:\"DEMOLISHING\"},G.EARTHMOVING={type:3,value:\"EARTHMOVING\"},G.ERECTING={type:3,value:\"ERECTING\"},G.HEATING={type:3,value:\"HEATING\"},G.LIGHTING={type:3,value:\"LIGHTING\"},G.PAVING={type:3,value:\"PAVING\"},G.PUMPING={type:3,value:\"PUMPING\"},G.TRANSPORTING={type:3,value:\"TRANSPORTING\"},G.USERDEFINED={type:3,value:\"USERDEFINED\"},G.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcConstructionEquipmentResourceTypeEnum=G;class V{}V.AGGREGATES={type:3,value:\"AGGREGATES\"},V.CONCRETE={type:3,value:\"CONCRETE\"},V.DRYWALL={type:3,value:\"DRYWALL\"},V.FUEL={type:3,value:\"FUEL\"},V.GYPSUM={type:3,value:\"GYPSUM\"},V.MASONRY={type:3,value:\"MASONRY\"},V.METAL={type:3,value:\"METAL\"},V.PLASTIC={type:3,value:\"PLASTIC\"},V.WOOD={type:3,value:\"WOOD\"},V.NOTDEFINED={type:3,value:\"NOTDEFINED\"},V.USERDEFINED={type:3,value:\"USERDEFINED\"},e.IfcConstructionMaterialResourceTypeEnum=V;class j{}j.ASSEMBLY={type:3,value:\"ASSEMBLY\"},j.FORMWORK={type:3,value:\"FORMWORK\"},j.USERDEFINED={type:3,value:\"USERDEFINED\"},j.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcConstructionProductResourceTypeEnum=j;class z{}z.FLOATING={type:3,value:\"FLOATING\"},z.PROGRAMMABLE={type:3,value:\"PROGRAMMABLE\"},z.PROPORTIONAL={type:3,value:\"PROPORTIONAL\"},z.MULTIPOSITION={type:3,value:\"MULTIPOSITION\"},z.TWOPOSITION={type:3,value:\"TWOPOSITION\"},z.USERDEFINED={type:3,value:\"USERDEFINED\"},z.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcControllerTypeEnum=z;class W{}W.ACTIVE={type:3,value:\"ACTIVE\"},W.PASSIVE={type:3,value:\"PASSIVE\"},W.USERDEFINED={type:3,value:\"USERDEFINED\"},W.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCooledBeamTypeEnum=W;class k{}k.NATURALDRAFT={type:3,value:\"NATURALDRAFT\"},k.MECHANICALINDUCEDDRAFT={type:3,value:\"MECHANICALINDUCEDDRAFT\"},k.MECHANICALFORCEDDRAFT={type:3,value:\"MECHANICALFORCEDDRAFT\"},k.USERDEFINED={type:3,value:\"USERDEFINED\"},k.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCoolingTowerTypeEnum=k;class Y{}Y.USERDEFINED={type:3,value:\"USERDEFINED\"},Y.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCostItemTypeEnum=Y;class X{}X.BUDGET={type:3,value:\"BUDGET\"},X.COSTPLAN={type:3,value:\"COSTPLAN\"},X.ESTIMATE={type:3,value:\"ESTIMATE\"},X.TENDER={type:3,value:\"TENDER\"},X.PRICEDBILLOFQUANTITIES={type:3,value:\"PRICEDBILLOFQUANTITIES\"},X.UNPRICEDBILLOFQUANTITIES={type:3,value:\"UNPRICEDBILLOFQUANTITIES\"},X.SCHEDULEOFRATES={type:3,value:\"SCHEDULEOFRATES\"},X.USERDEFINED={type:3,value:\"USERDEFINED\"},X.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCostScheduleTypeEnum=X;class K{}K.CEILING={type:3,value:\"CEILING\"},K.FLOORING={type:3,value:\"FLOORING\"},K.CLADDING={type:3,value:\"CLADDING\"},K.ROOFING={type:3,value:\"ROOFING\"},K.MOLDING={type:3,value:\"MOLDING\"},K.SKIRTINGBOARD={type:3,value:\"SKIRTINGBOARD\"},K.INSULATION={type:3,value:\"INSULATION\"},K.MEMBRANE={type:3,value:\"MEMBRANE\"},K.SLEEVING={type:3,value:\"SLEEVING\"},K.WRAPPING={type:3,value:\"WRAPPING\"},K.USERDEFINED={type:3,value:\"USERDEFINED\"},K.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCoveringTypeEnum=K;class Z{}Z.OFFICE={type:3,value:\"OFFICE\"},Z.SITE={type:3,value:\"SITE\"},Z.USERDEFINED={type:3,value:\"USERDEFINED\"},Z.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCrewResourceTypeEnum=Z;class Q{}Q.USERDEFINED={type:3,value:\"USERDEFINED\"},Q.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCurtainWallTypeEnum=Q;class J{}J.LINEAR={type:3,value:\"LINEAR\"},J.LOG_LINEAR={type:3,value:\"LOG_LINEAR\"},J.LOG_LOG={type:3,value:\"LOG_LOG\"},J.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCurveInterpolationEnum=J;class ${}$.BACKDRAFTDAMPER={type:3,value:\"BACKDRAFTDAMPER\"},$.BALANCINGDAMPER={type:3,value:\"BALANCINGDAMPER\"},$.BLASTDAMPER={type:3,value:\"BLASTDAMPER\"},$.CONTROLDAMPER={type:3,value:\"CONTROLDAMPER\"},$.FIREDAMPER={type:3,value:\"FIREDAMPER\"},$.FIRESMOKEDAMPER={type:3,value:\"FIRESMOKEDAMPER\"},$.FUMEHOODEXHAUST={type:3,value:\"FUMEHOODEXHAUST\"},$.GRAVITYDAMPER={type:3,value:\"GRAVITYDAMPER\"},$.GRAVITYRELIEFDAMPER={type:3,value:\"GRAVITYRELIEFDAMPER\"},$.RELIEFDAMPER={type:3,value:\"RELIEFDAMPER\"},$.SMOKEDAMPER={type:3,value:\"SMOKEDAMPER\"},$.USERDEFINED={type:3,value:\"USERDEFINED\"},$.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDamperTypeEnum=$;class ee{}ee.MEASURED={type:3,value:\"MEASURED\"},ee.PREDICTED={type:3,value:\"PREDICTED\"},ee.SIMULATED={type:3,value:\"SIMULATED\"},ee.USERDEFINED={type:3,value:\"USERDEFINED\"},ee.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDataOriginEnum=ee;class te{}te.ANGULARVELOCITYUNIT={type:3,value:\"ANGULARVELOCITYUNIT\"},te.AREADENSITYUNIT={type:3,value:\"AREADENSITYUNIT\"},te.COMPOUNDPLANEANGLEUNIT={type:3,value:\"COMPOUNDPLANEANGLEUNIT\"},te.DYNAMICVISCOSITYUNIT={type:3,value:\"DYNAMICVISCOSITYUNIT\"},te.HEATFLUXDENSITYUNIT={type:3,value:\"HEATFLUXDENSITYUNIT\"},te.INTEGERCOUNTRATEUNIT={type:3,value:\"INTEGERCOUNTRATEUNIT\"},te.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:\"ISOTHERMALMOISTURECAPACITYUNIT\"},te.KINEMATICVISCOSITYUNIT={type:3,value:\"KINEMATICVISCOSITYUNIT\"},te.LINEARVELOCITYUNIT={type:3,value:\"LINEARVELOCITYUNIT\"},te.MASSDENSITYUNIT={type:3,value:\"MASSDENSITYUNIT\"},te.MASSFLOWRATEUNIT={type:3,value:\"MASSFLOWRATEUNIT\"},te.MOISTUREDIFFUSIVITYUNIT={type:3,value:\"MOISTUREDIFFUSIVITYUNIT\"},te.MOLECULARWEIGHTUNIT={type:3,value:\"MOLECULARWEIGHTUNIT\"},te.SPECIFICHEATCAPACITYUNIT={type:3,value:\"SPECIFICHEATCAPACITYUNIT\"},te.THERMALADMITTANCEUNIT={type:3,value:\"THERMALADMITTANCEUNIT\"},te.THERMALCONDUCTANCEUNIT={type:3,value:\"THERMALCONDUCTANCEUNIT\"},te.THERMALRESISTANCEUNIT={type:3,value:\"THERMALRESISTANCEUNIT\"},te.THERMALTRANSMITTANCEUNIT={type:3,value:\"THERMALTRANSMITTANCEUNIT\"},te.VAPORPERMEABILITYUNIT={type:3,value:\"VAPORPERMEABILITYUNIT\"},te.VOLUMETRICFLOWRATEUNIT={type:3,value:\"VOLUMETRICFLOWRATEUNIT\"},te.ROTATIONALFREQUENCYUNIT={type:3,value:\"ROTATIONALFREQUENCYUNIT\"},te.TORQUEUNIT={type:3,value:\"TORQUEUNIT\"},te.MOMENTOFINERTIAUNIT={type:3,value:\"MOMENTOFINERTIAUNIT\"},te.LINEARMOMENTUNIT={type:3,value:\"LINEARMOMENTUNIT\"},te.LINEARFORCEUNIT={type:3,value:\"LINEARFORCEUNIT\"},te.PLANARFORCEUNIT={type:3,value:\"PLANARFORCEUNIT\"},te.MODULUSOFELASTICITYUNIT={type:3,value:\"MODULUSOFELASTICITYUNIT\"},te.SHEARMODULUSUNIT={type:3,value:\"SHEARMODULUSUNIT\"},te.LINEARSTIFFNESSUNIT={type:3,value:\"LINEARSTIFFNESSUNIT\"},te.ROTATIONALSTIFFNESSUNIT={type:3,value:\"ROTATIONALSTIFFNESSUNIT\"},te.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:\"MODULUSOFSUBGRADEREACTIONUNIT\"},te.ACCELERATIONUNIT={type:3,value:\"ACCELERATIONUNIT\"},te.CURVATUREUNIT={type:3,value:\"CURVATUREUNIT\"},te.HEATINGVALUEUNIT={type:3,value:\"HEATINGVALUEUNIT\"},te.IONCONCENTRATIONUNIT={type:3,value:\"IONCONCENTRATIONUNIT\"},te.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:\"LUMINOUSINTENSITYDISTRIBUTIONUNIT\"},te.MASSPERLENGTHUNIT={type:3,value:\"MASSPERLENGTHUNIT\"},te.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:\"MODULUSOFLINEARSUBGRADEREACTIONUNIT\"},te.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:\"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT\"},te.PHUNIT={type:3,value:\"PHUNIT\"},te.ROTATIONALMASSUNIT={type:3,value:\"ROTATIONALMASSUNIT\"},te.SECTIONAREAINTEGRALUNIT={type:3,value:\"SECTIONAREAINTEGRALUNIT\"},te.SECTIONMODULUSUNIT={type:3,value:\"SECTIONMODULUSUNIT\"},te.SOUNDPOWERLEVELUNIT={type:3,value:\"SOUNDPOWERLEVELUNIT\"},te.SOUNDPOWERUNIT={type:3,value:\"SOUNDPOWERUNIT\"},te.SOUNDPRESSURELEVELUNIT={type:3,value:\"SOUNDPRESSURELEVELUNIT\"},te.SOUNDPRESSUREUNIT={type:3,value:\"SOUNDPRESSUREUNIT\"},te.TEMPERATUREGRADIENTUNIT={type:3,value:\"TEMPERATUREGRADIENTUNIT\"},te.TEMPERATURERATEOFCHANGEUNIT={type:3,value:\"TEMPERATURERATEOFCHANGEUNIT\"},te.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:\"THERMALEXPANSIONCOEFFICIENTUNIT\"},te.WARPINGCONSTANTUNIT={type:3,value:\"WARPINGCONSTANTUNIT\"},te.WARPINGMOMENTUNIT={type:3,value:\"WARPINGMOMENTUNIT\"},te.USERDEFINED={type:3,value:\"USERDEFINED\"},e.IfcDerivedUnitEnum=te;class ne{}ne.POSITIVE={type:3,value:\"POSITIVE\"},ne.NEGATIVE={type:3,value:\"NEGATIVE\"},e.IfcDirectionSenseEnum=ne;class se{}se.ANCHORPLATE={type:3,value:\"ANCHORPLATE\"},se.BRACKET={type:3,value:\"BRACKET\"},se.SHOE={type:3,value:\"SHOE\"},se.USERDEFINED={type:3,value:\"USERDEFINED\"},se.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDiscreteAccessoryTypeEnum=se;class ie{}ie.FORMEDDUCT={type:3,value:\"FORMEDDUCT\"},ie.INSPECTIONCHAMBER={type:3,value:\"INSPECTIONCHAMBER\"},ie.INSPECTIONPIT={type:3,value:\"INSPECTIONPIT\"},ie.MANHOLE={type:3,value:\"MANHOLE\"},ie.METERCHAMBER={type:3,value:\"METERCHAMBER\"},ie.SUMP={type:3,value:\"SUMP\"},ie.TRENCH={type:3,value:\"TRENCH\"},ie.VALVECHAMBER={type:3,value:\"VALVECHAMBER\"},ie.USERDEFINED={type:3,value:\"USERDEFINED\"},ie.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDistributionChamberElementTypeEnum=ie;class ae{}ae.CABLE={type:3,value:\"CABLE\"},ae.CABLECARRIER={type:3,value:\"CABLECARRIER\"},ae.DUCT={type:3,value:\"DUCT\"},ae.PIPE={type:3,value:\"PIPE\"},ae.USERDEFINED={type:3,value:\"USERDEFINED\"},ae.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDistributionPortTypeEnum=ae;class le{}le.AIRCONDITIONING={type:3,value:\"AIRCONDITIONING\"},le.AUDIOVISUAL={type:3,value:\"AUDIOVISUAL\"},le.CHEMICAL={type:3,value:\"CHEMICAL\"},le.CHILLEDWATER={type:3,value:\"CHILLEDWATER\"},le.COMMUNICATION={type:3,value:\"COMMUNICATION\"},le.COMPRESSEDAIR={type:3,value:\"COMPRESSEDAIR\"},le.CONDENSERWATER={type:3,value:\"CONDENSERWATER\"},le.CONTROL={type:3,value:\"CONTROL\"},le.CONVEYING={type:3,value:\"CONVEYING\"},le.DATA={type:3,value:\"DATA\"},le.DISPOSAL={type:3,value:\"DISPOSAL\"},le.DOMESTICCOLDWATER={type:3,value:\"DOMESTICCOLDWATER\"},le.DOMESTICHOTWATER={type:3,value:\"DOMESTICHOTWATER\"},le.DRAINAGE={type:3,value:\"DRAINAGE\"},le.EARTHING={type:3,value:\"EARTHING\"},le.ELECTRICAL={type:3,value:\"ELECTRICAL\"},le.ELECTROACOUSTIC={type:3,value:\"ELECTROACOUSTIC\"},le.EXHAUST={type:3,value:\"EXHAUST\"},le.FIREPROTECTION={type:3,value:\"FIREPROTECTION\"},le.FUEL={type:3,value:\"FUEL\"},le.GAS={type:3,value:\"GAS\"},le.HAZARDOUS={type:3,value:\"HAZARDOUS\"},le.HEATING={type:3,value:\"HEATING\"},le.LIGHTING={type:3,value:\"LIGHTING\"},le.LIGHTNINGPROTECTION={type:3,value:\"LIGHTNINGPROTECTION\"},le.MUNICIPALSOLIDWASTE={type:3,value:\"MUNICIPALSOLIDWASTE\"},le.OIL={type:3,value:\"OIL\"},le.OPERATIONAL={type:3,value:\"OPERATIONAL\"},le.POWERGENERATION={type:3,value:\"POWERGENERATION\"},le.RAINWATER={type:3,value:\"RAINWATER\"},le.REFRIGERATION={type:3,value:\"REFRIGERATION\"},le.SECURITY={type:3,value:\"SECURITY\"},le.SEWAGE={type:3,value:\"SEWAGE\"},le.SIGNAL={type:3,value:\"SIGNAL\"},le.STORMWATER={type:3,value:\"STORMWATER\"},le.TELEPHONE={type:3,value:\"TELEPHONE\"},le.TV={type:3,value:\"TV\"},le.VACUUM={type:3,value:\"VACUUM\"},le.VENT={type:3,value:\"VENT\"},le.VENTILATION={type:3,value:\"VENTILATION\"},le.WASTEWATER={type:3,value:\"WASTEWATER\"},le.WATERSUPPLY={type:3,value:\"WATERSUPPLY\"},le.USERDEFINED={type:3,value:\"USERDEFINED\"},le.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDistributionSystemEnum=le;class re{}re.PUBLIC={type:3,value:\"PUBLIC\"},re.RESTRICTED={type:3,value:\"RESTRICTED\"},re.CONFIDENTIAL={type:3,value:\"CONFIDENTIAL\"},re.PERSONAL={type:3,value:\"PERSONAL\"},re.USERDEFINED={type:3,value:\"USERDEFINED\"},re.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDocumentConfidentialityEnum=re;class oe{}oe.DRAFT={type:3,value:\"DRAFT\"},oe.FINALDRAFT={type:3,value:\"FINALDRAFT\"},oe.FINAL={type:3,value:\"FINAL\"},oe.REVISION={type:3,value:\"REVISION\"},oe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDocumentStatusEnum=oe;class ce{}ce.SWINGING={type:3,value:\"SWINGING\"},ce.DOUBLE_ACTING={type:3,value:\"DOUBLE_ACTING\"},ce.SLIDING={type:3,value:\"SLIDING\"},ce.FOLDING={type:3,value:\"FOLDING\"},ce.REVOLVING={type:3,value:\"REVOLVING\"},ce.ROLLINGUP={type:3,value:\"ROLLINGUP\"},ce.FIXEDPANEL={type:3,value:\"FIXEDPANEL\"},ce.USERDEFINED={type:3,value:\"USERDEFINED\"},ce.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDoorPanelOperationEnum=ce;class ue{}ue.LEFT={type:3,value:\"LEFT\"},ue.MIDDLE={type:3,value:\"MIDDLE\"},ue.RIGHT={type:3,value:\"RIGHT\"},ue.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDoorPanelPositionEnum=ue;class pe{}pe.ALUMINIUM={type:3,value:\"ALUMINIUM\"},pe.HIGH_GRADE_STEEL={type:3,value:\"HIGH_GRADE_STEEL\"},pe.STEEL={type:3,value:\"STEEL\"},pe.WOOD={type:3,value:\"WOOD\"},pe.ALUMINIUM_WOOD={type:3,value:\"ALUMINIUM_WOOD\"},pe.ALUMINIUM_PLASTIC={type:3,value:\"ALUMINIUM_PLASTIC\"},pe.PLASTIC={type:3,value:\"PLASTIC\"},pe.USERDEFINED={type:3,value:\"USERDEFINED\"},pe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDoorStyleConstructionEnum=pe;class he{}he.SINGLE_SWING_LEFT={type:3,value:\"SINGLE_SWING_LEFT\"},he.SINGLE_SWING_RIGHT={type:3,value:\"SINGLE_SWING_RIGHT\"},he.DOUBLE_DOOR_SINGLE_SWING={type:3,value:\"DOUBLE_DOOR_SINGLE_SWING\"},he.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:\"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT\"},he.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:\"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT\"},he.DOUBLE_SWING_LEFT={type:3,value:\"DOUBLE_SWING_LEFT\"},he.DOUBLE_SWING_RIGHT={type:3,value:\"DOUBLE_SWING_RIGHT\"},he.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:\"DOUBLE_DOOR_DOUBLE_SWING\"},he.SLIDING_TO_LEFT={type:3,value:\"SLIDING_TO_LEFT\"},he.SLIDING_TO_RIGHT={type:3,value:\"SLIDING_TO_RIGHT\"},he.DOUBLE_DOOR_SLIDING={type:3,value:\"DOUBLE_DOOR_SLIDING\"},he.FOLDING_TO_LEFT={type:3,value:\"FOLDING_TO_LEFT\"},he.FOLDING_TO_RIGHT={type:3,value:\"FOLDING_TO_RIGHT\"},he.DOUBLE_DOOR_FOLDING={type:3,value:\"DOUBLE_DOOR_FOLDING\"},he.REVOLVING={type:3,value:\"REVOLVING\"},he.ROLLINGUP={type:3,value:\"ROLLINGUP\"},he.USERDEFINED={type:3,value:\"USERDEFINED\"},he.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDoorStyleOperationEnum=he;class de{}de.DOOR={type:3,value:\"DOOR\"},de.GATE={type:3,value:\"GATE\"},de.TRAPDOOR={type:3,value:\"TRAPDOOR\"},de.USERDEFINED={type:3,value:\"USERDEFINED\"},de.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDoorTypeEnum=de;class fe{}fe.SINGLE_SWING_LEFT={type:3,value:\"SINGLE_SWING_LEFT\"},fe.SINGLE_SWING_RIGHT={type:3,value:\"SINGLE_SWING_RIGHT\"},fe.DOUBLE_DOOR_SINGLE_SWING={type:3,value:\"DOUBLE_DOOR_SINGLE_SWING\"},fe.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:\"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT\"},fe.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:\"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT\"},fe.DOUBLE_SWING_LEFT={type:3,value:\"DOUBLE_SWING_LEFT\"},fe.DOUBLE_SWING_RIGHT={type:3,value:\"DOUBLE_SWING_RIGHT\"},fe.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:\"DOUBLE_DOOR_DOUBLE_SWING\"},fe.SLIDING_TO_LEFT={type:3,value:\"SLIDING_TO_LEFT\"},fe.SLIDING_TO_RIGHT={type:3,value:\"SLIDING_TO_RIGHT\"},fe.DOUBLE_DOOR_SLIDING={type:3,value:\"DOUBLE_DOOR_SLIDING\"},fe.FOLDING_TO_LEFT={type:3,value:\"FOLDING_TO_LEFT\"},fe.FOLDING_TO_RIGHT={type:3,value:\"FOLDING_TO_RIGHT\"},fe.DOUBLE_DOOR_FOLDING={type:3,value:\"DOUBLE_DOOR_FOLDING\"},fe.REVOLVING={type:3,value:\"REVOLVING\"},fe.ROLLINGUP={type:3,value:\"ROLLINGUP\"},fe.SWING_FIXED_LEFT={type:3,value:\"SWING_FIXED_LEFT\"},fe.SWING_FIXED_RIGHT={type:3,value:\"SWING_FIXED_RIGHT\"},fe.USERDEFINED={type:3,value:\"USERDEFINED\"},fe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDoorTypeOperationEnum=fe;class Ie{}Ie.BEND={type:3,value:\"BEND\"},Ie.CONNECTOR={type:3,value:\"CONNECTOR\"},Ie.ENTRY={type:3,value:\"ENTRY\"},Ie.EXIT={type:3,value:\"EXIT\"},Ie.JUNCTION={type:3,value:\"JUNCTION\"},Ie.OBSTRUCTION={type:3,value:\"OBSTRUCTION\"},Ie.TRANSITION={type:3,value:\"TRANSITION\"},Ie.USERDEFINED={type:3,value:\"USERDEFINED\"},Ie.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDuctFittingTypeEnum=Ie;class me{}me.RIGIDSEGMENT={type:3,value:\"RIGIDSEGMENT\"},me.FLEXIBLESEGMENT={type:3,value:\"FLEXIBLESEGMENT\"},me.USERDEFINED={type:3,value:\"USERDEFINED\"},me.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDuctSegmentTypeEnum=me;class ye{}ye.FLATOVAL={type:3,value:\"FLATOVAL\"},ye.RECTANGULAR={type:3,value:\"RECTANGULAR\"},ye.ROUND={type:3,value:\"ROUND\"},ye.USERDEFINED={type:3,value:\"USERDEFINED\"},ye.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDuctSilencerTypeEnum=ye;class ve{}ve.DISHWASHER={type:3,value:\"DISHWASHER\"},ve.ELECTRICCOOKER={type:3,value:\"ELECTRICCOOKER\"},ve.FREESTANDINGELECTRICHEATER={type:3,value:\"FREESTANDINGELECTRICHEATER\"},ve.FREESTANDINGFAN={type:3,value:\"FREESTANDINGFAN\"},ve.FREESTANDINGWATERHEATER={type:3,value:\"FREESTANDINGWATERHEATER\"},ve.FREESTANDINGWATERCOOLER={type:3,value:\"FREESTANDINGWATERCOOLER\"},ve.FREEZER={type:3,value:\"FREEZER\"},ve.FRIDGE_FREEZER={type:3,value:\"FRIDGE_FREEZER\"},ve.HANDDRYER={type:3,value:\"HANDDRYER\"},ve.KITCHENMACHINE={type:3,value:\"KITCHENMACHINE\"},ve.MICROWAVE={type:3,value:\"MICROWAVE\"},ve.PHOTOCOPIER={type:3,value:\"PHOTOCOPIER\"},ve.REFRIGERATOR={type:3,value:\"REFRIGERATOR\"},ve.TUMBLEDRYER={type:3,value:\"TUMBLEDRYER\"},ve.VENDINGMACHINE={type:3,value:\"VENDINGMACHINE\"},ve.WASHINGMACHINE={type:3,value:\"WASHINGMACHINE\"},ve.USERDEFINED={type:3,value:\"USERDEFINED\"},ve.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricApplianceTypeEnum=ve;class we{}we.CONSUMERUNIT={type:3,value:\"CONSUMERUNIT\"},we.DISTRIBUTIONBOARD={type:3,value:\"DISTRIBUTIONBOARD\"},we.MOTORCONTROLCENTRE={type:3,value:\"MOTORCONTROLCENTRE\"},we.SWITCHBOARD={type:3,value:\"SWITCHBOARD\"},we.USERDEFINED={type:3,value:\"USERDEFINED\"},we.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricDistributionBoardTypeEnum=we;class Te{}Te.BATTERY={type:3,value:\"BATTERY\"},Te.CAPACITORBANK={type:3,value:\"CAPACITORBANK\"},Te.HARMONICFILTER={type:3,value:\"HARMONICFILTER\"},Te.INDUCTORBANK={type:3,value:\"INDUCTORBANK\"},Te.UPS={type:3,value:\"UPS\"},Te.USERDEFINED={type:3,value:\"USERDEFINED\"},Te.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricFlowStorageDeviceTypeEnum=Te;class Ee{}Ee.CHP={type:3,value:\"CHP\"},Ee.ENGINEGENERATOR={type:3,value:\"ENGINEGENERATOR\"},Ee.STANDALONE={type:3,value:\"STANDALONE\"},Ee.USERDEFINED={type:3,value:\"USERDEFINED\"},Ee.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricGeneratorTypeEnum=Ee;class ge{}ge.DC={type:3,value:\"DC\"},ge.INDUCTION={type:3,value:\"INDUCTION\"},ge.POLYPHASE={type:3,value:\"POLYPHASE\"},ge.RELUCTANCESYNCHRONOUS={type:3,value:\"RELUCTANCESYNCHRONOUS\"},ge.SYNCHRONOUS={type:3,value:\"SYNCHRONOUS\"},ge.USERDEFINED={type:3,value:\"USERDEFINED\"},ge.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricMotorTypeEnum=ge;class Re{}Re.TIMECLOCK={type:3,value:\"TIMECLOCK\"},Re.TIMEDELAY={type:3,value:\"TIMEDELAY\"},Re.RELAY={type:3,value:\"RELAY\"},Re.USERDEFINED={type:3,value:\"USERDEFINED\"},Re.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricTimeControlTypeEnum=Re;class De{}De.ACCESSORY_ASSEMBLY={type:3,value:\"ACCESSORY_ASSEMBLY\"},De.ARCH={type:3,value:\"ARCH\"},De.BEAM_GRID={type:3,value:\"BEAM_GRID\"},De.BRACED_FRAME={type:3,value:\"BRACED_FRAME\"},De.GIRDER={type:3,value:\"GIRDER\"},De.REINFORCEMENT_UNIT={type:3,value:\"REINFORCEMENT_UNIT\"},De.RIGID_FRAME={type:3,value:\"RIGID_FRAME\"},De.SLAB_FIELD={type:3,value:\"SLAB_FIELD\"},De.TRUSS={type:3,value:\"TRUSS\"},De.USERDEFINED={type:3,value:\"USERDEFINED\"},De.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElementAssemblyTypeEnum=De;class Se{}Se.COMPLEX={type:3,value:\"COMPLEX\"},Se.ELEMENT={type:3,value:\"ELEMENT\"},Se.PARTIAL={type:3,value:\"PARTIAL\"},e.IfcElementCompositionEnum=Se;class be{}be.EXTERNALCOMBUSTION={type:3,value:\"EXTERNALCOMBUSTION\"},be.INTERNALCOMBUSTION={type:3,value:\"INTERNALCOMBUSTION\"},be.USERDEFINED={type:3,value:\"USERDEFINED\"},be.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcEngineTypeEnum=be;class Ne{}Ne.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:\"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER\"},Ne.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:\"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER\"},Ne.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:\"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER\"},Ne.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:\"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER\"},Ne.DIRECTEVAPORATIVEAIRWASHER={type:3,value:\"DIRECTEVAPORATIVEAIRWASHER\"},Ne.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:\"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER\"},Ne.INDIRECTEVAPORATIVEWETCOIL={type:3,value:\"INDIRECTEVAPORATIVEWETCOIL\"},Ne.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:\"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER\"},Ne.INDIRECTDIRECTCOMBINATION={type:3,value:\"INDIRECTDIRECTCOMBINATION\"},Ne.USERDEFINED={type:3,value:\"USERDEFINED\"},Ne.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcEvaporativeCoolerTypeEnum=Ne;class Oe{}Oe.DIRECTEXPANSION={type:3,value:\"DIRECTEXPANSION\"},Oe.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:\"DIRECTEXPANSIONSHELLANDTUBE\"},Oe.DIRECTEXPANSIONTUBEINTUBE={type:3,value:\"DIRECTEXPANSIONTUBEINTUBE\"},Oe.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:\"DIRECTEXPANSIONBRAZEDPLATE\"},Oe.FLOODEDSHELLANDTUBE={type:3,value:\"FLOODEDSHELLANDTUBE\"},Oe.SHELLANDCOIL={type:3,value:\"SHELLANDCOIL\"},Oe.USERDEFINED={type:3,value:\"USERDEFINED\"},Oe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcEvaporatorTypeEnum=Oe;class Ae{}Ae.EVENTRULE={type:3,value:\"EVENTRULE\"},Ae.EVENTMESSAGE={type:3,value:\"EVENTMESSAGE\"},Ae.EVENTTIME={type:3,value:\"EVENTTIME\"},Ae.EVENTCOMPLEX={type:3,value:\"EVENTCOMPLEX\"},Ae.USERDEFINED={type:3,value:\"USERDEFINED\"},Ae.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcEventTriggerTypeEnum=Ae;class xe{}xe.STARTEVENT={type:3,value:\"STARTEVENT\"},xe.ENDEVENT={type:3,value:\"ENDEVENT\"},xe.INTERMEDIATEEVENT={type:3,value:\"INTERMEDIATEEVENT\"},xe.USERDEFINED={type:3,value:\"USERDEFINED\"},xe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcEventTypeEnum=xe;class Ce{}Ce.EXTERNAL={type:3,value:\"EXTERNAL\"},Ce.EXTERNAL_EARTH={type:3,value:\"EXTERNAL_EARTH\"},Ce.EXTERNAL_WATER={type:3,value:\"EXTERNAL_WATER\"},Ce.EXTERNAL_FIRE={type:3,value:\"EXTERNAL_FIRE\"},Ce.USERDEFINED={type:3,value:\"USERDEFINED\"},Ce.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcExternalSpatialElementTypeEnum=Ce;class Le{}Le.CENTRIFUGALFORWARDCURVED={type:3,value:\"CENTRIFUGALFORWARDCURVED\"},Le.CENTRIFUGALRADIAL={type:3,value:\"CENTRIFUGALRADIAL\"},Le.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:\"CENTRIFUGALBACKWARDINCLINEDCURVED\"},Le.CENTRIFUGALAIRFOIL={type:3,value:\"CENTRIFUGALAIRFOIL\"},Le.TUBEAXIAL={type:3,value:\"TUBEAXIAL\"},Le.VANEAXIAL={type:3,value:\"VANEAXIAL\"},Le.PROPELLORAXIAL={type:3,value:\"PROPELLORAXIAL\"},Le.USERDEFINED={type:3,value:\"USERDEFINED\"},Le.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFanTypeEnum=Le;class Pe{}Pe.GLUE={type:3,value:\"GLUE\"},Pe.MORTAR={type:3,value:\"MORTAR\"},Pe.WELD={type:3,value:\"WELD\"},Pe.USERDEFINED={type:3,value:\"USERDEFINED\"},Pe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFastenerTypeEnum=Pe;class qe{}qe.AIRPARTICLEFILTER={type:3,value:\"AIRPARTICLEFILTER\"},qe.COMPRESSEDAIRFILTER={type:3,value:\"COMPRESSEDAIRFILTER\"},qe.ODORFILTER={type:3,value:\"ODORFILTER\"},qe.OILFILTER={type:3,value:\"OILFILTER\"},qe.STRAINER={type:3,value:\"STRAINER\"},qe.WATERFILTER={type:3,value:\"WATERFILTER\"},qe.USERDEFINED={type:3,value:\"USERDEFINED\"},qe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFilterTypeEnum=qe;class _e{}_e.BREECHINGINLET={type:3,value:\"BREECHINGINLET\"},_e.FIREHYDRANT={type:3,value:\"FIREHYDRANT\"},_e.HOSEREEL={type:3,value:\"HOSEREEL\"},_e.SPRINKLER={type:3,value:\"SPRINKLER\"},_e.SPRINKLERDEFLECTOR={type:3,value:\"SPRINKLERDEFLECTOR\"},_e.USERDEFINED={type:3,value:\"USERDEFINED\"},_e.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFireSuppressionTerminalTypeEnum=_e;class Me{}Me.SOURCE={type:3,value:\"SOURCE\"},Me.SINK={type:3,value:\"SINK\"},Me.SOURCEANDSINK={type:3,value:\"SOURCEANDSINK\"},Me.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFlowDirectionEnum=Me;class He{}He.PRESSUREGAUGE={type:3,value:\"PRESSUREGAUGE\"},He.THERMOMETER={type:3,value:\"THERMOMETER\"},He.AMMETER={type:3,value:\"AMMETER\"},He.FREQUENCYMETER={type:3,value:\"FREQUENCYMETER\"},He.POWERFACTORMETER={type:3,value:\"POWERFACTORMETER\"},He.PHASEANGLEMETER={type:3,value:\"PHASEANGLEMETER\"},He.VOLTMETER_PEAK={type:3,value:\"VOLTMETER_PEAK\"},He.VOLTMETER_RMS={type:3,value:\"VOLTMETER_RMS\"},He.USERDEFINED={type:3,value:\"USERDEFINED\"},He.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFlowInstrumentTypeEnum=He;class Be{}Be.ENERGYMETER={type:3,value:\"ENERGYMETER\"},Be.GASMETER={type:3,value:\"GASMETER\"},Be.OILMETER={type:3,value:\"OILMETER\"},Be.WATERMETER={type:3,value:\"WATERMETER\"},Be.USERDEFINED={type:3,value:\"USERDEFINED\"},Be.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFlowMeterTypeEnum=Be;class Ue{}Ue.CAISSON_FOUNDATION={type:3,value:\"CAISSON_FOUNDATION\"},Ue.FOOTING_BEAM={type:3,value:\"FOOTING_BEAM\"},Ue.PAD_FOOTING={type:3,value:\"PAD_FOOTING\"},Ue.PILE_CAP={type:3,value:\"PILE_CAP\"},Ue.STRIP_FOOTING={type:3,value:\"STRIP_FOOTING\"},Ue.USERDEFINED={type:3,value:\"USERDEFINED\"},Ue.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFootingTypeEnum=Ue;class Fe{}Fe.CHAIR={type:3,value:\"CHAIR\"},Fe.TABLE={type:3,value:\"TABLE\"},Fe.DESK={type:3,value:\"DESK\"},Fe.BED={type:3,value:\"BED\"},Fe.FILECABINET={type:3,value:\"FILECABINET\"},Fe.SHELF={type:3,value:\"SHELF\"},Fe.SOFA={type:3,value:\"SOFA\"},Fe.USERDEFINED={type:3,value:\"USERDEFINED\"},Fe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFurnitureTypeEnum=Fe;class Ge{}Ge.TERRAIN={type:3,value:\"TERRAIN\"},Ge.USERDEFINED={type:3,value:\"USERDEFINED\"},Ge.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcGeographicElementTypeEnum=Ge;class Ve{}Ve.GRAPH_VIEW={type:3,value:\"GRAPH_VIEW\"},Ve.SKETCH_VIEW={type:3,value:\"SKETCH_VIEW\"},Ve.MODEL_VIEW={type:3,value:\"MODEL_VIEW\"},Ve.PLAN_VIEW={type:3,value:\"PLAN_VIEW\"},Ve.REFLECTED_PLAN_VIEW={type:3,value:\"REFLECTED_PLAN_VIEW\"},Ve.SECTION_VIEW={type:3,value:\"SECTION_VIEW\"},Ve.ELEVATION_VIEW={type:3,value:\"ELEVATION_VIEW\"},Ve.USERDEFINED={type:3,value:\"USERDEFINED\"},Ve.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcGeometricProjectionEnum=Ve;class je{}je.GLOBAL_COORDS={type:3,value:\"GLOBAL_COORDS\"},je.LOCAL_COORDS={type:3,value:\"LOCAL_COORDS\"},e.IfcGlobalOrLocalEnum=je;class ze{}ze.RECTANGULAR={type:3,value:\"RECTANGULAR\"},ze.RADIAL={type:3,value:\"RADIAL\"},ze.TRIANGULAR={type:3,value:\"TRIANGULAR\"},ze.IRREGULAR={type:3,value:\"IRREGULAR\"},ze.USERDEFINED={type:3,value:\"USERDEFINED\"},ze.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcGridTypeEnum=ze;class We{}We.PLATE={type:3,value:\"PLATE\"},We.SHELLANDTUBE={type:3,value:\"SHELLANDTUBE\"},We.USERDEFINED={type:3,value:\"USERDEFINED\"},We.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcHeatExchangerTypeEnum=We;class ke{}ke.STEAMINJECTION={type:3,value:\"STEAMINJECTION\"},ke.ADIABATICAIRWASHER={type:3,value:\"ADIABATICAIRWASHER\"},ke.ADIABATICPAN={type:3,value:\"ADIABATICPAN\"},ke.ADIABATICWETTEDELEMENT={type:3,value:\"ADIABATICWETTEDELEMENT\"},ke.ADIABATICATOMIZING={type:3,value:\"ADIABATICATOMIZING\"},ke.ADIABATICULTRASONIC={type:3,value:\"ADIABATICULTRASONIC\"},ke.ADIABATICRIGIDMEDIA={type:3,value:\"ADIABATICRIGIDMEDIA\"},ke.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:\"ADIABATICCOMPRESSEDAIRNOZZLE\"},ke.ASSISTEDELECTRIC={type:3,value:\"ASSISTEDELECTRIC\"},ke.ASSISTEDNATURALGAS={type:3,value:\"ASSISTEDNATURALGAS\"},ke.ASSISTEDPROPANE={type:3,value:\"ASSISTEDPROPANE\"},ke.ASSISTEDBUTANE={type:3,value:\"ASSISTEDBUTANE\"},ke.ASSISTEDSTEAM={type:3,value:\"ASSISTEDSTEAM\"},ke.USERDEFINED={type:3,value:\"USERDEFINED\"},ke.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcHumidifierTypeEnum=ke;class Ye{}Ye.CYCLONIC={type:3,value:\"CYCLONIC\"},Ye.GREASE={type:3,value:\"GREASE\"},Ye.OIL={type:3,value:\"OIL\"},Ye.PETROL={type:3,value:\"PETROL\"},Ye.USERDEFINED={type:3,value:\"USERDEFINED\"},Ye.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcInterceptorTypeEnum=Ye;class Xe{}Xe.INTERNAL={type:3,value:\"INTERNAL\"},Xe.EXTERNAL={type:3,value:\"EXTERNAL\"},Xe.EXTERNAL_EARTH={type:3,value:\"EXTERNAL_EARTH\"},Xe.EXTERNAL_WATER={type:3,value:\"EXTERNAL_WATER\"},Xe.EXTERNAL_FIRE={type:3,value:\"EXTERNAL_FIRE\"},Xe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcInternalOrExternalEnum=Xe;class Ke{}Ke.ASSETINVENTORY={type:3,value:\"ASSETINVENTORY\"},Ke.SPACEINVENTORY={type:3,value:\"SPACEINVENTORY\"},Ke.FURNITUREINVENTORY={type:3,value:\"FURNITUREINVENTORY\"},Ke.USERDEFINED={type:3,value:\"USERDEFINED\"},Ke.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcInventoryTypeEnum=Ke;class Ze{}Ze.DATA={type:3,value:\"DATA\"},Ze.POWER={type:3,value:\"POWER\"},Ze.USERDEFINED={type:3,value:\"USERDEFINED\"},Ze.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcJunctionBoxTypeEnum=Ze;class Qe{}Qe.UNIFORM_KNOTS={type:3,value:\"UNIFORM_KNOTS\"},Qe.QUASI_UNIFORM_KNOTS={type:3,value:\"QUASI_UNIFORM_KNOTS\"},Qe.PIECEWISE_BEZIER_KNOTS={type:3,value:\"PIECEWISE_BEZIER_KNOTS\"},Qe.UNSPECIFIED={type:3,value:\"UNSPECIFIED\"},e.IfcKnotType=Qe;class Je{}Je.ADMINISTRATION={type:3,value:\"ADMINISTRATION\"},Je.CARPENTRY={type:3,value:\"CARPENTRY\"},Je.CLEANING={type:3,value:\"CLEANING\"},Je.CONCRETE={type:3,value:\"CONCRETE\"},Je.DRYWALL={type:3,value:\"DRYWALL\"},Je.ELECTRIC={type:3,value:\"ELECTRIC\"},Je.FINISHING={type:3,value:\"FINISHING\"},Je.FLOORING={type:3,value:\"FLOORING\"},Je.GENERAL={type:3,value:\"GENERAL\"},Je.HVAC={type:3,value:\"HVAC\"},Je.LANDSCAPING={type:3,value:\"LANDSCAPING\"},Je.MASONRY={type:3,value:\"MASONRY\"},Je.PAINTING={type:3,value:\"PAINTING\"},Je.PAVING={type:3,value:\"PAVING\"},Je.PLUMBING={type:3,value:\"PLUMBING\"},Je.ROOFING={type:3,value:\"ROOFING\"},Je.SITEGRADING={type:3,value:\"SITEGRADING\"},Je.STEELWORK={type:3,value:\"STEELWORK\"},Je.SURVEYING={type:3,value:\"SURVEYING\"},Je.USERDEFINED={type:3,value:\"USERDEFINED\"},Je.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLaborResourceTypeEnum=Je;class $e{}$e.COMPACTFLUORESCENT={type:3,value:\"COMPACTFLUORESCENT\"},$e.FLUORESCENT={type:3,value:\"FLUORESCENT\"},$e.HALOGEN={type:3,value:\"HALOGEN\"},$e.HIGHPRESSUREMERCURY={type:3,value:\"HIGHPRESSUREMERCURY\"},$e.HIGHPRESSURESODIUM={type:3,value:\"HIGHPRESSURESODIUM\"},$e.LED={type:3,value:\"LED\"},$e.METALHALIDE={type:3,value:\"METALHALIDE\"},$e.OLED={type:3,value:\"OLED\"},$e.TUNGSTENFILAMENT={type:3,value:\"TUNGSTENFILAMENT\"},$e.USERDEFINED={type:3,value:\"USERDEFINED\"},$e.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLampTypeEnum=$e;class et{}et.AXIS1={type:3,value:\"AXIS1\"},et.AXIS2={type:3,value:\"AXIS2\"},et.AXIS3={type:3,value:\"AXIS3\"},e.IfcLayerSetDirectionEnum=et;class tt{}tt.TYPE_A={type:3,value:\"TYPE_A\"},tt.TYPE_B={type:3,value:\"TYPE_B\"},tt.TYPE_C={type:3,value:\"TYPE_C\"},tt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLightDistributionCurveEnum=tt;class nt{}nt.COMPACTFLUORESCENT={type:3,value:\"COMPACTFLUORESCENT\"},nt.FLUORESCENT={type:3,value:\"FLUORESCENT\"},nt.HIGHPRESSUREMERCURY={type:3,value:\"HIGHPRESSUREMERCURY\"},nt.HIGHPRESSURESODIUM={type:3,value:\"HIGHPRESSURESODIUM\"},nt.LIGHTEMITTINGDIODE={type:3,value:\"LIGHTEMITTINGDIODE\"},nt.LOWPRESSURESODIUM={type:3,value:\"LOWPRESSURESODIUM\"},nt.LOWVOLTAGEHALOGEN={type:3,value:\"LOWVOLTAGEHALOGEN\"},nt.MAINVOLTAGEHALOGEN={type:3,value:\"MAINVOLTAGEHALOGEN\"},nt.METALHALIDE={type:3,value:\"METALHALIDE\"},nt.TUNGSTENFILAMENT={type:3,value:\"TUNGSTENFILAMENT\"},nt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLightEmissionSourceEnum=nt;class st{}st.POINTSOURCE={type:3,value:\"POINTSOURCE\"},st.DIRECTIONSOURCE={type:3,value:\"DIRECTIONSOURCE\"},st.SECURITYLIGHTING={type:3,value:\"SECURITYLIGHTING\"},st.USERDEFINED={type:3,value:\"USERDEFINED\"},st.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLightFixtureTypeEnum=st;class it{}it.LOAD_GROUP={type:3,value:\"LOAD_GROUP\"},it.LOAD_CASE={type:3,value:\"LOAD_CASE\"},it.LOAD_COMBINATION={type:3,value:\"LOAD_COMBINATION\"},it.USERDEFINED={type:3,value:\"USERDEFINED\"},it.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLoadGroupTypeEnum=it;class at{}at.LOGICALAND={type:3,value:\"LOGICALAND\"},at.LOGICALOR={type:3,value:\"LOGICALOR\"},at.LOGICALXOR={type:3,value:\"LOGICALXOR\"},at.LOGICALNOTAND={type:3,value:\"LOGICALNOTAND\"},at.LOGICALNOTOR={type:3,value:\"LOGICALNOTOR\"},e.IfcLogicalOperatorEnum=at;class lt{}lt.ANCHORBOLT={type:3,value:\"ANCHORBOLT\"},lt.BOLT={type:3,value:\"BOLT\"},lt.DOWEL={type:3,value:\"DOWEL\"},lt.NAIL={type:3,value:\"NAIL\"},lt.NAILPLATE={type:3,value:\"NAILPLATE\"},lt.RIVET={type:3,value:\"RIVET\"},lt.SCREW={type:3,value:\"SCREW\"},lt.SHEARCONNECTOR={type:3,value:\"SHEARCONNECTOR\"},lt.STAPLE={type:3,value:\"STAPLE\"},lt.STUDSHEARCONNECTOR={type:3,value:\"STUDSHEARCONNECTOR\"},lt.USERDEFINED={type:3,value:\"USERDEFINED\"},lt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcMechanicalFastenerTypeEnum=lt;class rt{}rt.AIRSTATION={type:3,value:\"AIRSTATION\"},rt.FEEDAIRUNIT={type:3,value:\"FEEDAIRUNIT\"},rt.OXYGENGENERATOR={type:3,value:\"OXYGENGENERATOR\"},rt.OXYGENPLANT={type:3,value:\"OXYGENPLANT\"},rt.VACUUMSTATION={type:3,value:\"VACUUMSTATION\"},rt.USERDEFINED={type:3,value:\"USERDEFINED\"},rt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcMedicalDeviceTypeEnum=rt;class ot{}ot.BRACE={type:3,value:\"BRACE\"},ot.CHORD={type:3,value:\"CHORD\"},ot.COLLAR={type:3,value:\"COLLAR\"},ot.MEMBER={type:3,value:\"MEMBER\"},ot.MULLION={type:3,value:\"MULLION\"},ot.PLATE={type:3,value:\"PLATE\"},ot.POST={type:3,value:\"POST\"},ot.PURLIN={type:3,value:\"PURLIN\"},ot.RAFTER={type:3,value:\"RAFTER\"},ot.STRINGER={type:3,value:\"STRINGER\"},ot.STRUT={type:3,value:\"STRUT\"},ot.STUD={type:3,value:\"STUD\"},ot.USERDEFINED={type:3,value:\"USERDEFINED\"},ot.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcMemberTypeEnum=ot;class ct{}ct.BELTDRIVE={type:3,value:\"BELTDRIVE\"},ct.COUPLING={type:3,value:\"COUPLING\"},ct.DIRECTDRIVE={type:3,value:\"DIRECTDRIVE\"},ct.USERDEFINED={type:3,value:\"USERDEFINED\"},ct.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcMotorConnectionTypeEnum=ct;class ut{}ut.NULL={type:3,value:\"NULL\"},e.IfcNullStyle=ut;class pt{}pt.PRODUCT={type:3,value:\"PRODUCT\"},pt.PROCESS={type:3,value:\"PROCESS\"},pt.CONTROL={type:3,value:\"CONTROL\"},pt.RESOURCE={type:3,value:\"RESOURCE\"},pt.ACTOR={type:3,value:\"ACTOR\"},pt.GROUP={type:3,value:\"GROUP\"},pt.PROJECT={type:3,value:\"PROJECT\"},pt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcObjectTypeEnum=pt;class ht{}ht.CODECOMPLIANCE={type:3,value:\"CODECOMPLIANCE\"},ht.CODEWAIVER={type:3,value:\"CODEWAIVER\"},ht.DESIGNINTENT={type:3,value:\"DESIGNINTENT\"},ht.EXTERNAL={type:3,value:\"EXTERNAL\"},ht.HEALTHANDSAFETY={type:3,value:\"HEALTHANDSAFETY\"},ht.MERGECONFLICT={type:3,value:\"MERGECONFLICT\"},ht.MODELVIEW={type:3,value:\"MODELVIEW\"},ht.PARAMETER={type:3,value:\"PARAMETER\"},ht.REQUIREMENT={type:3,value:\"REQUIREMENT\"},ht.SPECIFICATION={type:3,value:\"SPECIFICATION\"},ht.TRIGGERCONDITION={type:3,value:\"TRIGGERCONDITION\"},ht.USERDEFINED={type:3,value:\"USERDEFINED\"},ht.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcObjectiveEnum=ht;class dt{}dt.ASSIGNEE={type:3,value:\"ASSIGNEE\"},dt.ASSIGNOR={type:3,value:\"ASSIGNOR\"},dt.LESSEE={type:3,value:\"LESSEE\"},dt.LESSOR={type:3,value:\"LESSOR\"},dt.LETTINGAGENT={type:3,value:\"LETTINGAGENT\"},dt.OWNER={type:3,value:\"OWNER\"},dt.TENANT={type:3,value:\"TENANT\"},dt.USERDEFINED={type:3,value:\"USERDEFINED\"},dt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcOccupantTypeEnum=dt;class ft{}ft.OPENING={type:3,value:\"OPENING\"},ft.RECESS={type:3,value:\"RECESS\"},ft.USERDEFINED={type:3,value:\"USERDEFINED\"},ft.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcOpeningElementTypeEnum=ft;class It{}It.AUDIOVISUALOUTLET={type:3,value:\"AUDIOVISUALOUTLET\"},It.COMMUNICATIONSOUTLET={type:3,value:\"COMMUNICATIONSOUTLET\"},It.POWEROUTLET={type:3,value:\"POWEROUTLET\"},It.DATAOUTLET={type:3,value:\"DATAOUTLET\"},It.TELEPHONEOUTLET={type:3,value:\"TELEPHONEOUTLET\"},It.USERDEFINED={type:3,value:\"USERDEFINED\"},It.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcOutletTypeEnum=It;class mt{}mt.USERDEFINED={type:3,value:\"USERDEFINED\"},mt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPerformanceHistoryTypeEnum=mt;class yt{}yt.GRILL={type:3,value:\"GRILL\"},yt.LOUVER={type:3,value:\"LOUVER\"},yt.SCREEN={type:3,value:\"SCREEN\"},yt.USERDEFINED={type:3,value:\"USERDEFINED\"},yt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPermeableCoveringOperationEnum=yt;class vt{}vt.ACCESS={type:3,value:\"ACCESS\"},vt.BUILDING={type:3,value:\"BUILDING\"},vt.WORK={type:3,value:\"WORK\"},vt.USERDEFINED={type:3,value:\"USERDEFINED\"},vt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPermitTypeEnum=vt;class wt{}wt.PHYSICAL={type:3,value:\"PHYSICAL\"},wt.VIRTUAL={type:3,value:\"VIRTUAL\"},wt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPhysicalOrVirtualEnum=wt;class Tt{}Tt.CAST_IN_PLACE={type:3,value:\"CAST_IN_PLACE\"},Tt.COMPOSITE={type:3,value:\"COMPOSITE\"},Tt.PRECAST_CONCRETE={type:3,value:\"PRECAST_CONCRETE\"},Tt.PREFAB_STEEL={type:3,value:\"PREFAB_STEEL\"},Tt.USERDEFINED={type:3,value:\"USERDEFINED\"},Tt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPileConstructionEnum=Tt;class Et{}Et.BORED={type:3,value:\"BORED\"},Et.DRIVEN={type:3,value:\"DRIVEN\"},Et.JETGROUTING={type:3,value:\"JETGROUTING\"},Et.COHESION={type:3,value:\"COHESION\"},Et.FRICTION={type:3,value:\"FRICTION\"},Et.SUPPORT={type:3,value:\"SUPPORT\"},Et.USERDEFINED={type:3,value:\"USERDEFINED\"},Et.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPileTypeEnum=Et;class gt{}gt.BEND={type:3,value:\"BEND\"},gt.CONNECTOR={type:3,value:\"CONNECTOR\"},gt.ENTRY={type:3,value:\"ENTRY\"},gt.EXIT={type:3,value:\"EXIT\"},gt.JUNCTION={type:3,value:\"JUNCTION\"},gt.OBSTRUCTION={type:3,value:\"OBSTRUCTION\"},gt.TRANSITION={type:3,value:\"TRANSITION\"},gt.USERDEFINED={type:3,value:\"USERDEFINED\"},gt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPipeFittingTypeEnum=gt;class Rt{}Rt.CULVERT={type:3,value:\"CULVERT\"},Rt.FLEXIBLESEGMENT={type:3,value:\"FLEXIBLESEGMENT\"},Rt.RIGIDSEGMENT={type:3,value:\"RIGIDSEGMENT\"},Rt.GUTTER={type:3,value:\"GUTTER\"},Rt.SPOOL={type:3,value:\"SPOOL\"},Rt.USERDEFINED={type:3,value:\"USERDEFINED\"},Rt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPipeSegmentTypeEnum=Rt;class Dt{}Dt.CURTAIN_PANEL={type:3,value:\"CURTAIN_PANEL\"},Dt.SHEET={type:3,value:\"SHEET\"},Dt.USERDEFINED={type:3,value:\"USERDEFINED\"},Dt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPlateTypeEnum=Dt;class St{}St.CURVE3D={type:3,value:\"CURVE3D\"},St.PCURVE_S1={type:3,value:\"PCURVE_S1\"},St.PCURVE_S2={type:3,value:\"PCURVE_S2\"},e.IfcPreferredSurfaceCurveRepresentation=St;class bt{}bt.ADVICE_CAUTION={type:3,value:\"ADVICE_CAUTION\"},bt.ADVICE_NOTE={type:3,value:\"ADVICE_NOTE\"},bt.ADVICE_WARNING={type:3,value:\"ADVICE_WARNING\"},bt.CALIBRATION={type:3,value:\"CALIBRATION\"},bt.DIAGNOSTIC={type:3,value:\"DIAGNOSTIC\"},bt.SHUTDOWN={type:3,value:\"SHUTDOWN\"},bt.STARTUP={type:3,value:\"STARTUP\"},bt.USERDEFINED={type:3,value:\"USERDEFINED\"},bt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcProcedureTypeEnum=bt;class Nt{}Nt.CURVE={type:3,value:\"CURVE\"},Nt.AREA={type:3,value:\"AREA\"},e.IfcProfileTypeEnum=Nt;class Ot{}Ot.CHANGEORDER={type:3,value:\"CHANGEORDER\"},Ot.MAINTENANCEWORKORDER={type:3,value:\"MAINTENANCEWORKORDER\"},Ot.MOVEORDER={type:3,value:\"MOVEORDER\"},Ot.PURCHASEORDER={type:3,value:\"PURCHASEORDER\"},Ot.WORKORDER={type:3,value:\"WORKORDER\"},Ot.USERDEFINED={type:3,value:\"USERDEFINED\"},Ot.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcProjectOrderTypeEnum=Ot;class At{}At.PROJECTED_LENGTH={type:3,value:\"PROJECTED_LENGTH\"},At.TRUE_LENGTH={type:3,value:\"TRUE_LENGTH\"},e.IfcProjectedOrTrueLengthEnum=At;class xt{}xt.USERDEFINED={type:3,value:\"USERDEFINED\"},xt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcProjectionElementTypeEnum=xt;class Ct{}Ct.PSET_TYPEDRIVENONLY={type:3,value:\"PSET_TYPEDRIVENONLY\"},Ct.PSET_TYPEDRIVENOVERRIDE={type:3,value:\"PSET_TYPEDRIVENOVERRIDE\"},Ct.PSET_OCCURRENCEDRIVEN={type:3,value:\"PSET_OCCURRENCEDRIVEN\"},Ct.PSET_PERFORMANCEDRIVEN={type:3,value:\"PSET_PERFORMANCEDRIVEN\"},Ct.QTO_TYPEDRIVENONLY={type:3,value:\"QTO_TYPEDRIVENONLY\"},Ct.QTO_TYPEDRIVENOVERRIDE={type:3,value:\"QTO_TYPEDRIVENOVERRIDE\"},Ct.QTO_OCCURRENCEDRIVEN={type:3,value:\"QTO_OCCURRENCEDRIVEN\"},Ct.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPropertySetTemplateTypeEnum=Ct;class Lt{}Lt.ELECTRONIC={type:3,value:\"ELECTRONIC\"},Lt.ELECTROMAGNETIC={type:3,value:\"ELECTROMAGNETIC\"},Lt.RESIDUALCURRENT={type:3,value:\"RESIDUALCURRENT\"},Lt.THERMAL={type:3,value:\"THERMAL\"},Lt.USERDEFINED={type:3,value:\"USERDEFINED\"},Lt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcProtectiveDeviceTrippingUnitTypeEnum=Lt;class Pt{}Pt.CIRCUITBREAKER={type:3,value:\"CIRCUITBREAKER\"},Pt.EARTHLEAKAGECIRCUITBREAKER={type:3,value:\"EARTHLEAKAGECIRCUITBREAKER\"},Pt.EARTHINGSWITCH={type:3,value:\"EARTHINGSWITCH\"},Pt.FUSEDISCONNECTOR={type:3,value:\"FUSEDISCONNECTOR\"},Pt.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:\"RESIDUALCURRENTCIRCUITBREAKER\"},Pt.RESIDUALCURRENTSWITCH={type:3,value:\"RESIDUALCURRENTSWITCH\"},Pt.VARISTOR={type:3,value:\"VARISTOR\"},Pt.USERDEFINED={type:3,value:\"USERDEFINED\"},Pt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcProtectiveDeviceTypeEnum=Pt;class qt{}qt.CIRCULATOR={type:3,value:\"CIRCULATOR\"},qt.ENDSUCTION={type:3,value:\"ENDSUCTION\"},qt.SPLITCASE={type:3,value:\"SPLITCASE\"},qt.SUBMERSIBLEPUMP={type:3,value:\"SUBMERSIBLEPUMP\"},qt.SUMPPUMP={type:3,value:\"SUMPPUMP\"},qt.VERTICALINLINE={type:3,value:\"VERTICALINLINE\"},qt.VERTICALTURBINE={type:3,value:\"VERTICALTURBINE\"},qt.USERDEFINED={type:3,value:\"USERDEFINED\"},qt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPumpTypeEnum=qt;class _t{}_t.HANDRAIL={type:3,value:\"HANDRAIL\"},_t.GUARDRAIL={type:3,value:\"GUARDRAIL\"},_t.BALUSTRADE={type:3,value:\"BALUSTRADE\"},_t.USERDEFINED={type:3,value:\"USERDEFINED\"},_t.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRailingTypeEnum=_t;class Mt{}Mt.STRAIGHT={type:3,value:\"STRAIGHT\"},Mt.SPIRAL={type:3,value:\"SPIRAL\"},Mt.USERDEFINED={type:3,value:\"USERDEFINED\"},Mt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRampFlightTypeEnum=Mt;class Ht{}Ht.STRAIGHT_RUN_RAMP={type:3,value:\"STRAIGHT_RUN_RAMP\"},Ht.TWO_STRAIGHT_RUN_RAMP={type:3,value:\"TWO_STRAIGHT_RUN_RAMP\"},Ht.QUARTER_TURN_RAMP={type:3,value:\"QUARTER_TURN_RAMP\"},Ht.TWO_QUARTER_TURN_RAMP={type:3,value:\"TWO_QUARTER_TURN_RAMP\"},Ht.HALF_TURN_RAMP={type:3,value:\"HALF_TURN_RAMP\"},Ht.SPIRAL_RAMP={type:3,value:\"SPIRAL_RAMP\"},Ht.USERDEFINED={type:3,value:\"USERDEFINED\"},Ht.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRampTypeEnum=Ht;class Bt{}Bt.DAILY={type:3,value:\"DAILY\"},Bt.WEEKLY={type:3,value:\"WEEKLY\"},Bt.MONTHLY_BY_DAY_OF_MONTH={type:3,value:\"MONTHLY_BY_DAY_OF_MONTH\"},Bt.MONTHLY_BY_POSITION={type:3,value:\"MONTHLY_BY_POSITION\"},Bt.BY_DAY_COUNT={type:3,value:\"BY_DAY_COUNT\"},Bt.BY_WEEKDAY_COUNT={type:3,value:\"BY_WEEKDAY_COUNT\"},Bt.YEARLY_BY_DAY_OF_MONTH={type:3,value:\"YEARLY_BY_DAY_OF_MONTH\"},Bt.YEARLY_BY_POSITION={type:3,value:\"YEARLY_BY_POSITION\"},e.IfcRecurrenceTypeEnum=Bt;class Ut{}Ut.BLINN={type:3,value:\"BLINN\"},Ut.FLAT={type:3,value:\"FLAT\"},Ut.GLASS={type:3,value:\"GLASS\"},Ut.MATT={type:3,value:\"MATT\"},Ut.METAL={type:3,value:\"METAL\"},Ut.MIRROR={type:3,value:\"MIRROR\"},Ut.PHONG={type:3,value:\"PHONG\"},Ut.PLASTIC={type:3,value:\"PLASTIC\"},Ut.STRAUSS={type:3,value:\"STRAUSS\"},Ut.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcReflectanceMethodEnum=Ut;class Ft{}Ft.MAIN={type:3,value:\"MAIN\"},Ft.SHEAR={type:3,value:\"SHEAR\"},Ft.LIGATURE={type:3,value:\"LIGATURE\"},Ft.STUD={type:3,value:\"STUD\"},Ft.PUNCHING={type:3,value:\"PUNCHING\"},Ft.EDGE={type:3,value:\"EDGE\"},Ft.RING={type:3,value:\"RING\"},Ft.ANCHORING={type:3,value:\"ANCHORING\"},Ft.USERDEFINED={type:3,value:\"USERDEFINED\"},Ft.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcReinforcingBarRoleEnum=Ft;class Gt{}Gt.PLAIN={type:3,value:\"PLAIN\"},Gt.TEXTURED={type:3,value:\"TEXTURED\"},e.IfcReinforcingBarSurfaceEnum=Gt;class Vt{}Vt.ANCHORING={type:3,value:\"ANCHORING\"},Vt.EDGE={type:3,value:\"EDGE\"},Vt.LIGATURE={type:3,value:\"LIGATURE\"},Vt.MAIN={type:3,value:\"MAIN\"},Vt.PUNCHING={type:3,value:\"PUNCHING\"},Vt.RING={type:3,value:\"RING\"},Vt.SHEAR={type:3,value:\"SHEAR\"},Vt.STUD={type:3,value:\"STUD\"},Vt.USERDEFINED={type:3,value:\"USERDEFINED\"},Vt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcReinforcingBarTypeEnum=Vt;class jt{}jt.USERDEFINED={type:3,value:\"USERDEFINED\"},jt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcReinforcingMeshTypeEnum=jt;class zt{}zt.SUPPLIER={type:3,value:\"SUPPLIER\"},zt.MANUFACTURER={type:3,value:\"MANUFACTURER\"},zt.CONTRACTOR={type:3,value:\"CONTRACTOR\"},zt.SUBCONTRACTOR={type:3,value:\"SUBCONTRACTOR\"},zt.ARCHITECT={type:3,value:\"ARCHITECT\"},zt.STRUCTURALENGINEER={type:3,value:\"STRUCTURALENGINEER\"},zt.COSTENGINEER={type:3,value:\"COSTENGINEER\"},zt.CLIENT={type:3,value:\"CLIENT\"},zt.BUILDINGOWNER={type:3,value:\"BUILDINGOWNER\"},zt.BUILDINGOPERATOR={type:3,value:\"BUILDINGOPERATOR\"},zt.MECHANICALENGINEER={type:3,value:\"MECHANICALENGINEER\"},zt.ELECTRICALENGINEER={type:3,value:\"ELECTRICALENGINEER\"},zt.PROJECTMANAGER={type:3,value:\"PROJECTMANAGER\"},zt.FACILITIESMANAGER={type:3,value:\"FACILITIESMANAGER\"},zt.CIVILENGINEER={type:3,value:\"CIVILENGINEER\"},zt.COMMISSIONINGENGINEER={type:3,value:\"COMMISSIONINGENGINEER\"},zt.ENGINEER={type:3,value:\"ENGINEER\"},zt.OWNER={type:3,value:\"OWNER\"},zt.CONSULTANT={type:3,value:\"CONSULTANT\"},zt.CONSTRUCTIONMANAGER={type:3,value:\"CONSTRUCTIONMANAGER\"},zt.FIELDCONSTRUCTIONMANAGER={type:3,value:\"FIELDCONSTRUCTIONMANAGER\"},zt.RESELLER={type:3,value:\"RESELLER\"},zt.USERDEFINED={type:3,value:\"USERDEFINED\"},e.IfcRoleEnum=zt;class Wt{}Wt.FLAT_ROOF={type:3,value:\"FLAT_ROOF\"},Wt.SHED_ROOF={type:3,value:\"SHED_ROOF\"},Wt.GABLE_ROOF={type:3,value:\"GABLE_ROOF\"},Wt.HIP_ROOF={type:3,value:\"HIP_ROOF\"},Wt.HIPPED_GABLE_ROOF={type:3,value:\"HIPPED_GABLE_ROOF\"},Wt.GAMBREL_ROOF={type:3,value:\"GAMBREL_ROOF\"},Wt.MANSARD_ROOF={type:3,value:\"MANSARD_ROOF\"},Wt.BARREL_ROOF={type:3,value:\"BARREL_ROOF\"},Wt.RAINBOW_ROOF={type:3,value:\"RAINBOW_ROOF\"},Wt.BUTTERFLY_ROOF={type:3,value:\"BUTTERFLY_ROOF\"},Wt.PAVILION_ROOF={type:3,value:\"PAVILION_ROOF\"},Wt.DOME_ROOF={type:3,value:\"DOME_ROOF\"},Wt.FREEFORM={type:3,value:\"FREEFORM\"},Wt.USERDEFINED={type:3,value:\"USERDEFINED\"},Wt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRoofTypeEnum=Wt;class kt{}kt.EXA={type:3,value:\"EXA\"},kt.PETA={type:3,value:\"PETA\"},kt.TERA={type:3,value:\"TERA\"},kt.GIGA={type:3,value:\"GIGA\"},kt.MEGA={type:3,value:\"MEGA\"},kt.KILO={type:3,value:\"KILO\"},kt.HECTO={type:3,value:\"HECTO\"},kt.DECA={type:3,value:\"DECA\"},kt.DECI={type:3,value:\"DECI\"},kt.CENTI={type:3,value:\"CENTI\"},kt.MILLI={type:3,value:\"MILLI\"},kt.MICRO={type:3,value:\"MICRO\"},kt.NANO={type:3,value:\"NANO\"},kt.PICO={type:3,value:\"PICO\"},kt.FEMTO={type:3,value:\"FEMTO\"},kt.ATTO={type:3,value:\"ATTO\"},e.IfcSIPrefix=kt;class Yt{}Yt.AMPERE={type:3,value:\"AMPERE\"},Yt.BECQUEREL={type:3,value:\"BECQUEREL\"},Yt.CANDELA={type:3,value:\"CANDELA\"},Yt.COULOMB={type:3,value:\"COULOMB\"},Yt.CUBIC_METRE={type:3,value:\"CUBIC_METRE\"},Yt.DEGREE_CELSIUS={type:3,value:\"DEGREE_CELSIUS\"},Yt.FARAD={type:3,value:\"FARAD\"},Yt.GRAM={type:3,value:\"GRAM\"},Yt.GRAY={type:3,value:\"GRAY\"},Yt.HENRY={type:3,value:\"HENRY\"},Yt.HERTZ={type:3,value:\"HERTZ\"},Yt.JOULE={type:3,value:\"JOULE\"},Yt.KELVIN={type:3,value:\"KELVIN\"},Yt.LUMEN={type:3,value:\"LUMEN\"},Yt.LUX={type:3,value:\"LUX\"},Yt.METRE={type:3,value:\"METRE\"},Yt.MOLE={type:3,value:\"MOLE\"},Yt.NEWTON={type:3,value:\"NEWTON\"},Yt.OHM={type:3,value:\"OHM\"},Yt.PASCAL={type:3,value:\"PASCAL\"},Yt.RADIAN={type:3,value:\"RADIAN\"},Yt.SECOND={type:3,value:\"SECOND\"},Yt.SIEMENS={type:3,value:\"SIEMENS\"},Yt.SIEVERT={type:3,value:\"SIEVERT\"},Yt.SQUARE_METRE={type:3,value:\"SQUARE_METRE\"},Yt.STERADIAN={type:3,value:\"STERADIAN\"},Yt.TESLA={type:3,value:\"TESLA\"},Yt.VOLT={type:3,value:\"VOLT\"},Yt.WATT={type:3,value:\"WATT\"},Yt.WEBER={type:3,value:\"WEBER\"},e.IfcSIUnitName=Yt;class Xt{}Xt.BATH={type:3,value:\"BATH\"},Xt.BIDET={type:3,value:\"BIDET\"},Xt.CISTERN={type:3,value:\"CISTERN\"},Xt.SHOWER={type:3,value:\"SHOWER\"},Xt.SINK={type:3,value:\"SINK\"},Xt.SANITARYFOUNTAIN={type:3,value:\"SANITARYFOUNTAIN\"},Xt.TOILETPAN={type:3,value:\"TOILETPAN\"},Xt.URINAL={type:3,value:\"URINAL\"},Xt.WASHHANDBASIN={type:3,value:\"WASHHANDBASIN\"},Xt.WCSEAT={type:3,value:\"WCSEAT\"},Xt.USERDEFINED={type:3,value:\"USERDEFINED\"},Xt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSanitaryTerminalTypeEnum=Xt;class Kt{}Kt.UNIFORM={type:3,value:\"UNIFORM\"},Kt.TAPERED={type:3,value:\"TAPERED\"},e.IfcSectionTypeEnum=Kt;class Zt{}Zt.COSENSOR={type:3,value:\"COSENSOR\"},Zt.CO2SENSOR={type:3,value:\"CO2SENSOR\"},Zt.CONDUCTANCESENSOR={type:3,value:\"CONDUCTANCESENSOR\"},Zt.CONTACTSENSOR={type:3,value:\"CONTACTSENSOR\"},Zt.FIRESENSOR={type:3,value:\"FIRESENSOR\"},Zt.FLOWSENSOR={type:3,value:\"FLOWSENSOR\"},Zt.FROSTSENSOR={type:3,value:\"FROSTSENSOR\"},Zt.GASSENSOR={type:3,value:\"GASSENSOR\"},Zt.HEATSENSOR={type:3,value:\"HEATSENSOR\"},Zt.HUMIDITYSENSOR={type:3,value:\"HUMIDITYSENSOR\"},Zt.IDENTIFIERSENSOR={type:3,value:\"IDENTIFIERSENSOR\"},Zt.IONCONCENTRATIONSENSOR={type:3,value:\"IONCONCENTRATIONSENSOR\"},Zt.LEVELSENSOR={type:3,value:\"LEVELSENSOR\"},Zt.LIGHTSENSOR={type:3,value:\"LIGHTSENSOR\"},Zt.MOISTURESENSOR={type:3,value:\"MOISTURESENSOR\"},Zt.MOVEMENTSENSOR={type:3,value:\"MOVEMENTSENSOR\"},Zt.PHSENSOR={type:3,value:\"PHSENSOR\"},Zt.PRESSURESENSOR={type:3,value:\"PRESSURESENSOR\"},Zt.RADIATIONSENSOR={type:3,value:\"RADIATIONSENSOR\"},Zt.RADIOACTIVITYSENSOR={type:3,value:\"RADIOACTIVITYSENSOR\"},Zt.SMOKESENSOR={type:3,value:\"SMOKESENSOR\"},Zt.SOUNDSENSOR={type:3,value:\"SOUNDSENSOR\"},Zt.TEMPERATURESENSOR={type:3,value:\"TEMPERATURESENSOR\"},Zt.WINDSENSOR={type:3,value:\"WINDSENSOR\"},Zt.USERDEFINED={type:3,value:\"USERDEFINED\"},Zt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSensorTypeEnum=Zt;class Qt{}Qt.START_START={type:3,value:\"START_START\"},Qt.START_FINISH={type:3,value:\"START_FINISH\"},Qt.FINISH_START={type:3,value:\"FINISH_START\"},Qt.FINISH_FINISH={type:3,value:\"FINISH_FINISH\"},Qt.USERDEFINED={type:3,value:\"USERDEFINED\"},Qt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSequenceEnum=Qt;class Jt{}Jt.JALOUSIE={type:3,value:\"JALOUSIE\"},Jt.SHUTTER={type:3,value:\"SHUTTER\"},Jt.AWNING={type:3,value:\"AWNING\"},Jt.USERDEFINED={type:3,value:\"USERDEFINED\"},Jt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcShadingDeviceTypeEnum=Jt;class $t{}$t.P_SINGLEVALUE={type:3,value:\"P_SINGLEVALUE\"},$t.P_ENUMERATEDVALUE={type:3,value:\"P_ENUMERATEDVALUE\"},$t.P_BOUNDEDVALUE={type:3,value:\"P_BOUNDEDVALUE\"},$t.P_LISTVALUE={type:3,value:\"P_LISTVALUE\"},$t.P_TABLEVALUE={type:3,value:\"P_TABLEVALUE\"},$t.P_REFERENCEVALUE={type:3,value:\"P_REFERENCEVALUE\"},$t.Q_LENGTH={type:3,value:\"Q_LENGTH\"},$t.Q_AREA={type:3,value:\"Q_AREA\"},$t.Q_VOLUME={type:3,value:\"Q_VOLUME\"},$t.Q_COUNT={type:3,value:\"Q_COUNT\"},$t.Q_WEIGHT={type:3,value:\"Q_WEIGHT\"},$t.Q_TIME={type:3,value:\"Q_TIME\"},e.IfcSimplePropertyTemplateTypeEnum=$t;class en{}en.FLOOR={type:3,value:\"FLOOR\"},en.ROOF={type:3,value:\"ROOF\"},en.LANDING={type:3,value:\"LANDING\"},en.BASESLAB={type:3,value:\"BASESLAB\"},en.USERDEFINED={type:3,value:\"USERDEFINED\"},en.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSlabTypeEnum=en;class tn{}tn.SOLARCOLLECTOR={type:3,value:\"SOLARCOLLECTOR\"},tn.SOLARPANEL={type:3,value:\"SOLARPANEL\"},tn.USERDEFINED={type:3,value:\"USERDEFINED\"},tn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSolarDeviceTypeEnum=tn;class nn{}nn.CONVECTOR={type:3,value:\"CONVECTOR\"},nn.RADIATOR={type:3,value:\"RADIATOR\"},nn.USERDEFINED={type:3,value:\"USERDEFINED\"},nn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSpaceHeaterTypeEnum=nn;class sn{}sn.SPACE={type:3,value:\"SPACE\"},sn.PARKING={type:3,value:\"PARKING\"},sn.GFA={type:3,value:\"GFA\"},sn.INTERNAL={type:3,value:\"INTERNAL\"},sn.EXTERNAL={type:3,value:\"EXTERNAL\"},sn.USERDEFINED={type:3,value:\"USERDEFINED\"},sn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSpaceTypeEnum=sn;class an{}an.CONSTRUCTION={type:3,value:\"CONSTRUCTION\"},an.FIRESAFETY={type:3,value:\"FIRESAFETY\"},an.LIGHTING={type:3,value:\"LIGHTING\"},an.OCCUPANCY={type:3,value:\"OCCUPANCY\"},an.SECURITY={type:3,value:\"SECURITY\"},an.THERMAL={type:3,value:\"THERMAL\"},an.TRANSPORT={type:3,value:\"TRANSPORT\"},an.VENTILATION={type:3,value:\"VENTILATION\"},an.USERDEFINED={type:3,value:\"USERDEFINED\"},an.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSpatialZoneTypeEnum=an;class ln{}ln.BIRDCAGE={type:3,value:\"BIRDCAGE\"},ln.COWL={type:3,value:\"COWL\"},ln.RAINWATERHOPPER={type:3,value:\"RAINWATERHOPPER\"},ln.USERDEFINED={type:3,value:\"USERDEFINED\"},ln.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStackTerminalTypeEnum=ln;class rn{}rn.STRAIGHT={type:3,value:\"STRAIGHT\"},rn.WINDER={type:3,value:\"WINDER\"},rn.SPIRAL={type:3,value:\"SPIRAL\"},rn.CURVED={type:3,value:\"CURVED\"},rn.FREEFORM={type:3,value:\"FREEFORM\"},rn.USERDEFINED={type:3,value:\"USERDEFINED\"},rn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStairFlightTypeEnum=rn;class on{}on.STRAIGHT_RUN_STAIR={type:3,value:\"STRAIGHT_RUN_STAIR\"},on.TWO_STRAIGHT_RUN_STAIR={type:3,value:\"TWO_STRAIGHT_RUN_STAIR\"},on.QUARTER_WINDING_STAIR={type:3,value:\"QUARTER_WINDING_STAIR\"},on.QUARTER_TURN_STAIR={type:3,value:\"QUARTER_TURN_STAIR\"},on.HALF_WINDING_STAIR={type:3,value:\"HALF_WINDING_STAIR\"},on.HALF_TURN_STAIR={type:3,value:\"HALF_TURN_STAIR\"},on.TWO_QUARTER_WINDING_STAIR={type:3,value:\"TWO_QUARTER_WINDING_STAIR\"},on.TWO_QUARTER_TURN_STAIR={type:3,value:\"TWO_QUARTER_TURN_STAIR\"},on.THREE_QUARTER_WINDING_STAIR={type:3,value:\"THREE_QUARTER_WINDING_STAIR\"},on.THREE_QUARTER_TURN_STAIR={type:3,value:\"THREE_QUARTER_TURN_STAIR\"},on.SPIRAL_STAIR={type:3,value:\"SPIRAL_STAIR\"},on.DOUBLE_RETURN_STAIR={type:3,value:\"DOUBLE_RETURN_STAIR\"},on.CURVED_RUN_STAIR={type:3,value:\"CURVED_RUN_STAIR\"},on.TWO_CURVED_RUN_STAIR={type:3,value:\"TWO_CURVED_RUN_STAIR\"},on.USERDEFINED={type:3,value:\"USERDEFINED\"},on.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStairTypeEnum=on;class cn{}cn.READWRITE={type:3,value:\"READWRITE\"},cn.READONLY={type:3,value:\"READONLY\"},cn.LOCKED={type:3,value:\"LOCKED\"},cn.READWRITELOCKED={type:3,value:\"READWRITELOCKED\"},cn.READONLYLOCKED={type:3,value:\"READONLYLOCKED\"},e.IfcStateEnum=cn;class un{}un.CONST={type:3,value:\"CONST\"},un.LINEAR={type:3,value:\"LINEAR\"},un.POLYGONAL={type:3,value:\"POLYGONAL\"},un.EQUIDISTANT={type:3,value:\"EQUIDISTANT\"},un.SINUS={type:3,value:\"SINUS\"},un.PARABOLA={type:3,value:\"PARABOLA\"},un.DISCRETE={type:3,value:\"DISCRETE\"},un.USERDEFINED={type:3,value:\"USERDEFINED\"},un.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStructuralCurveActivityTypeEnum=un;class pn{}pn.RIGID_JOINED_MEMBER={type:3,value:\"RIGID_JOINED_MEMBER\"},pn.PIN_JOINED_MEMBER={type:3,value:\"PIN_JOINED_MEMBER\"},pn.CABLE={type:3,value:\"CABLE\"},pn.TENSION_MEMBER={type:3,value:\"TENSION_MEMBER\"},pn.COMPRESSION_MEMBER={type:3,value:\"COMPRESSION_MEMBER\"},pn.USERDEFINED={type:3,value:\"USERDEFINED\"},pn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStructuralCurveMemberTypeEnum=pn;class hn{}hn.CONST={type:3,value:\"CONST\"},hn.BILINEAR={type:3,value:\"BILINEAR\"},hn.DISCRETE={type:3,value:\"DISCRETE\"},hn.ISOCONTOUR={type:3,value:\"ISOCONTOUR\"},hn.USERDEFINED={type:3,value:\"USERDEFINED\"},hn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStructuralSurfaceActivityTypeEnum=hn;class dn{}dn.BENDING_ELEMENT={type:3,value:\"BENDING_ELEMENT\"},dn.MEMBRANE_ELEMENT={type:3,value:\"MEMBRANE_ELEMENT\"},dn.SHELL={type:3,value:\"SHELL\"},dn.USERDEFINED={type:3,value:\"USERDEFINED\"},dn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStructuralSurfaceMemberTypeEnum=dn;class fn{}fn.PURCHASE={type:3,value:\"PURCHASE\"},fn.WORK={type:3,value:\"WORK\"},fn.USERDEFINED={type:3,value:\"USERDEFINED\"},fn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSubContractResourceTypeEnum=fn;class In{}In.MARK={type:3,value:\"MARK\"},In.TAG={type:3,value:\"TAG\"},In.TREATMENT={type:3,value:\"TREATMENT\"},In.USERDEFINED={type:3,value:\"USERDEFINED\"},In.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSurfaceFeatureTypeEnum=In;class mn{}mn.POSITIVE={type:3,value:\"POSITIVE\"},mn.NEGATIVE={type:3,value:\"NEGATIVE\"},mn.BOTH={type:3,value:\"BOTH\"},e.IfcSurfaceSide=mn;class yn{}yn.CONTACTOR={type:3,value:\"CONTACTOR\"},yn.DIMMERSWITCH={type:3,value:\"DIMMERSWITCH\"},yn.EMERGENCYSTOP={type:3,value:\"EMERGENCYSTOP\"},yn.KEYPAD={type:3,value:\"KEYPAD\"},yn.MOMENTARYSWITCH={type:3,value:\"MOMENTARYSWITCH\"},yn.SELECTORSWITCH={type:3,value:\"SELECTORSWITCH\"},yn.STARTER={type:3,value:\"STARTER\"},yn.SWITCHDISCONNECTOR={type:3,value:\"SWITCHDISCONNECTOR\"},yn.TOGGLESWITCH={type:3,value:\"TOGGLESWITCH\"},yn.USERDEFINED={type:3,value:\"USERDEFINED\"},yn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSwitchingDeviceTypeEnum=yn;class vn{}vn.PANEL={type:3,value:\"PANEL\"},vn.WORKSURFACE={type:3,value:\"WORKSURFACE\"},vn.USERDEFINED={type:3,value:\"USERDEFINED\"},vn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSystemFurnitureElementTypeEnum=vn;class wn{}wn.BASIN={type:3,value:\"BASIN\"},wn.BREAKPRESSURE={type:3,value:\"BREAKPRESSURE\"},wn.EXPANSION={type:3,value:\"EXPANSION\"},wn.FEEDANDEXPANSION={type:3,value:\"FEEDANDEXPANSION\"},wn.PRESSUREVESSEL={type:3,value:\"PRESSUREVESSEL\"},wn.STORAGE={type:3,value:\"STORAGE\"},wn.VESSEL={type:3,value:\"VESSEL\"},wn.USERDEFINED={type:3,value:\"USERDEFINED\"},wn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTankTypeEnum=wn;class Tn{}Tn.ELAPSEDTIME={type:3,value:\"ELAPSEDTIME\"},Tn.WORKTIME={type:3,value:\"WORKTIME\"},Tn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTaskDurationEnum=Tn;class En{}En.ATTENDANCE={type:3,value:\"ATTENDANCE\"},En.CONSTRUCTION={type:3,value:\"CONSTRUCTION\"},En.DEMOLITION={type:3,value:\"DEMOLITION\"},En.DISMANTLE={type:3,value:\"DISMANTLE\"},En.DISPOSAL={type:3,value:\"DISPOSAL\"},En.INSTALLATION={type:3,value:\"INSTALLATION\"},En.LOGISTIC={type:3,value:\"LOGISTIC\"},En.MAINTENANCE={type:3,value:\"MAINTENANCE\"},En.MOVE={type:3,value:\"MOVE\"},En.OPERATION={type:3,value:\"OPERATION\"},En.REMOVAL={type:3,value:\"REMOVAL\"},En.RENOVATION={type:3,value:\"RENOVATION\"},En.USERDEFINED={type:3,value:\"USERDEFINED\"},En.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTaskTypeEnum=En;class gn{}gn.COUPLER={type:3,value:\"COUPLER\"},gn.FIXED_END={type:3,value:\"FIXED_END\"},gn.TENSIONING_END={type:3,value:\"TENSIONING_END\"},gn.USERDEFINED={type:3,value:\"USERDEFINED\"},gn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTendonAnchorTypeEnum=gn;class Rn{}Rn.BAR={type:3,value:\"BAR\"},Rn.COATED={type:3,value:\"COATED\"},Rn.STRAND={type:3,value:\"STRAND\"},Rn.WIRE={type:3,value:\"WIRE\"},Rn.USERDEFINED={type:3,value:\"USERDEFINED\"},Rn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTendonTypeEnum=Rn;class Dn{}Dn.LEFT={type:3,value:\"LEFT\"},Dn.RIGHT={type:3,value:\"RIGHT\"},Dn.UP={type:3,value:\"UP\"},Dn.DOWN={type:3,value:\"DOWN\"},e.IfcTextPath=Dn;class Sn{}Sn.CONTINUOUS={type:3,value:\"CONTINUOUS\"},Sn.DISCRETE={type:3,value:\"DISCRETE\"},Sn.DISCRETEBINARY={type:3,value:\"DISCRETEBINARY\"},Sn.PIECEWISEBINARY={type:3,value:\"PIECEWISEBINARY\"},Sn.PIECEWISECONSTANT={type:3,value:\"PIECEWISECONSTANT\"},Sn.PIECEWISECONTINUOUS={type:3,value:\"PIECEWISECONTINUOUS\"},Sn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTimeSeriesDataTypeEnum=Sn;class bn{}bn.CURRENT={type:3,value:\"CURRENT\"},bn.FREQUENCY={type:3,value:\"FREQUENCY\"},bn.INVERTER={type:3,value:\"INVERTER\"},bn.RECTIFIER={type:3,value:\"RECTIFIER\"},bn.VOLTAGE={type:3,value:\"VOLTAGE\"},bn.USERDEFINED={type:3,value:\"USERDEFINED\"},bn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTransformerTypeEnum=bn;class Nn{}Nn.DISCONTINUOUS={type:3,value:\"DISCONTINUOUS\"},Nn.CONTINUOUS={type:3,value:\"CONTINUOUS\"},Nn.CONTSAMEGRADIENT={type:3,value:\"CONTSAMEGRADIENT\"},Nn.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:\"CONTSAMEGRADIENTSAMECURVATURE\"},e.IfcTransitionCode=Nn;class On{}On.ELEVATOR={type:3,value:\"ELEVATOR\"},On.ESCALATOR={type:3,value:\"ESCALATOR\"},On.MOVINGWALKWAY={type:3,value:\"MOVINGWALKWAY\"},On.CRANEWAY={type:3,value:\"CRANEWAY\"},On.LIFTINGGEAR={type:3,value:\"LIFTINGGEAR\"},On.USERDEFINED={type:3,value:\"USERDEFINED\"},On.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTransportElementTypeEnum=On;class An{}An.CARTESIAN={type:3,value:\"CARTESIAN\"},An.PARAMETER={type:3,value:\"PARAMETER\"},An.UNSPECIFIED={type:3,value:\"UNSPECIFIED\"},e.IfcTrimmingPreference=An;class xn{}xn.FINNED={type:3,value:\"FINNED\"},xn.USERDEFINED={type:3,value:\"USERDEFINED\"},xn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTubeBundleTypeEnum=xn;class Cn{}Cn.ABSORBEDDOSEUNIT={type:3,value:\"ABSORBEDDOSEUNIT\"},Cn.AMOUNTOFSUBSTANCEUNIT={type:3,value:\"AMOUNTOFSUBSTANCEUNIT\"},Cn.AREAUNIT={type:3,value:\"AREAUNIT\"},Cn.DOSEEQUIVALENTUNIT={type:3,value:\"DOSEEQUIVALENTUNIT\"},Cn.ELECTRICCAPACITANCEUNIT={type:3,value:\"ELECTRICCAPACITANCEUNIT\"},Cn.ELECTRICCHARGEUNIT={type:3,value:\"ELECTRICCHARGEUNIT\"},Cn.ELECTRICCONDUCTANCEUNIT={type:3,value:\"ELECTRICCONDUCTANCEUNIT\"},Cn.ELECTRICCURRENTUNIT={type:3,value:\"ELECTRICCURRENTUNIT\"},Cn.ELECTRICRESISTANCEUNIT={type:3,value:\"ELECTRICRESISTANCEUNIT\"},Cn.ELECTRICVOLTAGEUNIT={type:3,value:\"ELECTRICVOLTAGEUNIT\"},Cn.ENERGYUNIT={type:3,value:\"ENERGYUNIT\"},Cn.FORCEUNIT={type:3,value:\"FORCEUNIT\"},Cn.FREQUENCYUNIT={type:3,value:\"FREQUENCYUNIT\"},Cn.ILLUMINANCEUNIT={type:3,value:\"ILLUMINANCEUNIT\"},Cn.INDUCTANCEUNIT={type:3,value:\"INDUCTANCEUNIT\"},Cn.LENGTHUNIT={type:3,value:\"LENGTHUNIT\"},Cn.LUMINOUSFLUXUNIT={type:3,value:\"LUMINOUSFLUXUNIT\"},Cn.LUMINOUSINTENSITYUNIT={type:3,value:\"LUMINOUSINTENSITYUNIT\"},Cn.MAGNETICFLUXDENSITYUNIT={type:3,value:\"MAGNETICFLUXDENSITYUNIT\"},Cn.MAGNETICFLUXUNIT={type:3,value:\"MAGNETICFLUXUNIT\"},Cn.MASSUNIT={type:3,value:\"MASSUNIT\"},Cn.PLANEANGLEUNIT={type:3,value:\"PLANEANGLEUNIT\"},Cn.POWERUNIT={type:3,value:\"POWERUNIT\"},Cn.PRESSUREUNIT={type:3,value:\"PRESSUREUNIT\"},Cn.RADIOACTIVITYUNIT={type:3,value:\"RADIOACTIVITYUNIT\"},Cn.SOLIDANGLEUNIT={type:3,value:\"SOLIDANGLEUNIT\"},Cn.THERMODYNAMICTEMPERATUREUNIT={type:3,value:\"THERMODYNAMICTEMPERATUREUNIT\"},Cn.TIMEUNIT={type:3,value:\"TIMEUNIT\"},Cn.VOLUMEUNIT={type:3,value:\"VOLUMEUNIT\"},Cn.USERDEFINED={type:3,value:\"USERDEFINED\"},e.IfcUnitEnum=Cn;class Ln{}Ln.ALARMPANEL={type:3,value:\"ALARMPANEL\"},Ln.CONTROLPANEL={type:3,value:\"CONTROLPANEL\"},Ln.GASDETECTIONPANEL={type:3,value:\"GASDETECTIONPANEL\"},Ln.INDICATORPANEL={type:3,value:\"INDICATORPANEL\"},Ln.MIMICPANEL={type:3,value:\"MIMICPANEL\"},Ln.HUMIDISTAT={type:3,value:\"HUMIDISTAT\"},Ln.THERMOSTAT={type:3,value:\"THERMOSTAT\"},Ln.WEATHERSTATION={type:3,value:\"WEATHERSTATION\"},Ln.USERDEFINED={type:3,value:\"USERDEFINED\"},Ln.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcUnitaryControlElementTypeEnum=Ln;class Pn{}Pn.AIRHANDLER={type:3,value:\"AIRHANDLER\"},Pn.AIRCONDITIONINGUNIT={type:3,value:\"AIRCONDITIONINGUNIT\"},Pn.DEHUMIDIFIER={type:3,value:\"DEHUMIDIFIER\"},Pn.SPLITSYSTEM={type:3,value:\"SPLITSYSTEM\"},Pn.ROOFTOPUNIT={type:3,value:\"ROOFTOPUNIT\"},Pn.USERDEFINED={type:3,value:\"USERDEFINED\"},Pn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcUnitaryEquipmentTypeEnum=Pn;class qn{}qn.AIRRELEASE={type:3,value:\"AIRRELEASE\"},qn.ANTIVACUUM={type:3,value:\"ANTIVACUUM\"},qn.CHANGEOVER={type:3,value:\"CHANGEOVER\"},qn.CHECK={type:3,value:\"CHECK\"},qn.COMMISSIONING={type:3,value:\"COMMISSIONING\"},qn.DIVERTING={type:3,value:\"DIVERTING\"},qn.DRAWOFFCOCK={type:3,value:\"DRAWOFFCOCK\"},qn.DOUBLECHECK={type:3,value:\"DOUBLECHECK\"},qn.DOUBLEREGULATING={type:3,value:\"DOUBLEREGULATING\"},qn.FAUCET={type:3,value:\"FAUCET\"},qn.FLUSHING={type:3,value:\"FLUSHING\"},qn.GASCOCK={type:3,value:\"GASCOCK\"},qn.GASTAP={type:3,value:\"GASTAP\"},qn.ISOLATING={type:3,value:\"ISOLATING\"},qn.MIXING={type:3,value:\"MIXING\"},qn.PRESSUREREDUCING={type:3,value:\"PRESSUREREDUCING\"},qn.PRESSURERELIEF={type:3,value:\"PRESSURERELIEF\"},qn.REGULATING={type:3,value:\"REGULATING\"},qn.SAFETYCUTOFF={type:3,value:\"SAFETYCUTOFF\"},qn.STEAMTRAP={type:3,value:\"STEAMTRAP\"},qn.STOPCOCK={type:3,value:\"STOPCOCK\"},qn.USERDEFINED={type:3,value:\"USERDEFINED\"},qn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcValveTypeEnum=qn;class _n{}_n.COMPRESSION={type:3,value:\"COMPRESSION\"},_n.SPRING={type:3,value:\"SPRING\"},_n.USERDEFINED={type:3,value:\"USERDEFINED\"},_n.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcVibrationIsolatorTypeEnum=_n;class Mn{}Mn.CUTOUT={type:3,value:\"CUTOUT\"},Mn.NOTCH={type:3,value:\"NOTCH\"},Mn.HOLE={type:3,value:\"HOLE\"},Mn.MITER={type:3,value:\"MITER\"},Mn.CHAMFER={type:3,value:\"CHAMFER\"},Mn.EDGE={type:3,value:\"EDGE\"},Mn.USERDEFINED={type:3,value:\"USERDEFINED\"},Mn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcVoidingFeatureTypeEnum=Mn;class Hn{}Hn.MOVABLE={type:3,value:\"MOVABLE\"},Hn.PARAPET={type:3,value:\"PARAPET\"},Hn.PARTITIONING={type:3,value:\"PARTITIONING\"},Hn.PLUMBINGWALL={type:3,value:\"PLUMBINGWALL\"},Hn.SHEAR={type:3,value:\"SHEAR\"},Hn.SOLIDWALL={type:3,value:\"SOLIDWALL\"},Hn.STANDARD={type:3,value:\"STANDARD\"},Hn.POLYGONAL={type:3,value:\"POLYGONAL\"},Hn.ELEMENTEDWALL={type:3,value:\"ELEMENTEDWALL\"},Hn.USERDEFINED={type:3,value:\"USERDEFINED\"},Hn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWallTypeEnum=Hn;class Bn{}Bn.FLOORTRAP={type:3,value:\"FLOORTRAP\"},Bn.FLOORWASTE={type:3,value:\"FLOORWASTE\"},Bn.GULLYSUMP={type:3,value:\"GULLYSUMP\"},Bn.GULLYTRAP={type:3,value:\"GULLYTRAP\"},Bn.ROOFDRAIN={type:3,value:\"ROOFDRAIN\"},Bn.WASTEDISPOSALUNIT={type:3,value:\"WASTEDISPOSALUNIT\"},Bn.WASTETRAP={type:3,value:\"WASTETRAP\"},Bn.USERDEFINED={type:3,value:\"USERDEFINED\"},Bn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWasteTerminalTypeEnum=Bn;class Un{}Un.SIDEHUNGRIGHTHAND={type:3,value:\"SIDEHUNGRIGHTHAND\"},Un.SIDEHUNGLEFTHAND={type:3,value:\"SIDEHUNGLEFTHAND\"},Un.TILTANDTURNRIGHTHAND={type:3,value:\"TILTANDTURNRIGHTHAND\"},Un.TILTANDTURNLEFTHAND={type:3,value:\"TILTANDTURNLEFTHAND\"},Un.TOPHUNG={type:3,value:\"TOPHUNG\"},Un.BOTTOMHUNG={type:3,value:\"BOTTOMHUNG\"},Un.PIVOTHORIZONTAL={type:3,value:\"PIVOTHORIZONTAL\"},Un.PIVOTVERTICAL={type:3,value:\"PIVOTVERTICAL\"},Un.SLIDINGHORIZONTAL={type:3,value:\"SLIDINGHORIZONTAL\"},Un.SLIDINGVERTICAL={type:3,value:\"SLIDINGVERTICAL\"},Un.REMOVABLECASEMENT={type:3,value:\"REMOVABLECASEMENT\"},Un.FIXEDCASEMENT={type:3,value:\"FIXEDCASEMENT\"},Un.OTHEROPERATION={type:3,value:\"OTHEROPERATION\"},Un.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWindowPanelOperationEnum=Un;class Fn{}Fn.LEFT={type:3,value:\"LEFT\"},Fn.MIDDLE={type:3,value:\"MIDDLE\"},Fn.RIGHT={type:3,value:\"RIGHT\"},Fn.BOTTOM={type:3,value:\"BOTTOM\"},Fn.TOP={type:3,value:\"TOP\"},Fn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWindowPanelPositionEnum=Fn;class Gn{}Gn.ALUMINIUM={type:3,value:\"ALUMINIUM\"},Gn.HIGH_GRADE_STEEL={type:3,value:\"HIGH_GRADE_STEEL\"},Gn.STEEL={type:3,value:\"STEEL\"},Gn.WOOD={type:3,value:\"WOOD\"},Gn.ALUMINIUM_WOOD={type:3,value:\"ALUMINIUM_WOOD\"},Gn.PLASTIC={type:3,value:\"PLASTIC\"},Gn.OTHER_CONSTRUCTION={type:3,value:\"OTHER_CONSTRUCTION\"},Gn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWindowStyleConstructionEnum=Gn;class Vn{}Vn.SINGLE_PANEL={type:3,value:\"SINGLE_PANEL\"},Vn.DOUBLE_PANEL_VERTICAL={type:3,value:\"DOUBLE_PANEL_VERTICAL\"},Vn.DOUBLE_PANEL_HORIZONTAL={type:3,value:\"DOUBLE_PANEL_HORIZONTAL\"},Vn.TRIPLE_PANEL_VERTICAL={type:3,value:\"TRIPLE_PANEL_VERTICAL\"},Vn.TRIPLE_PANEL_BOTTOM={type:3,value:\"TRIPLE_PANEL_BOTTOM\"},Vn.TRIPLE_PANEL_TOP={type:3,value:\"TRIPLE_PANEL_TOP\"},Vn.TRIPLE_PANEL_LEFT={type:3,value:\"TRIPLE_PANEL_LEFT\"},Vn.TRIPLE_PANEL_RIGHT={type:3,value:\"TRIPLE_PANEL_RIGHT\"},Vn.TRIPLE_PANEL_HORIZONTAL={type:3,value:\"TRIPLE_PANEL_HORIZONTAL\"},Vn.USERDEFINED={type:3,value:\"USERDEFINED\"},Vn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWindowStyleOperationEnum=Vn;class jn{}jn.WINDOW={type:3,value:\"WINDOW\"},jn.SKYLIGHT={type:3,value:\"SKYLIGHT\"},jn.LIGHTDOME={type:3,value:\"LIGHTDOME\"},jn.USERDEFINED={type:3,value:\"USERDEFINED\"},jn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWindowTypeEnum=jn;class zn{}zn.SINGLE_PANEL={type:3,value:\"SINGLE_PANEL\"},zn.DOUBLE_PANEL_VERTICAL={type:3,value:\"DOUBLE_PANEL_VERTICAL\"},zn.DOUBLE_PANEL_HORIZONTAL={type:3,value:\"DOUBLE_PANEL_HORIZONTAL\"},zn.TRIPLE_PANEL_VERTICAL={type:3,value:\"TRIPLE_PANEL_VERTICAL\"},zn.TRIPLE_PANEL_BOTTOM={type:3,value:\"TRIPLE_PANEL_BOTTOM\"},zn.TRIPLE_PANEL_TOP={type:3,value:\"TRIPLE_PANEL_TOP\"},zn.TRIPLE_PANEL_LEFT={type:3,value:\"TRIPLE_PANEL_LEFT\"},zn.TRIPLE_PANEL_RIGHT={type:3,value:\"TRIPLE_PANEL_RIGHT\"},zn.TRIPLE_PANEL_HORIZONTAL={type:3,value:\"TRIPLE_PANEL_HORIZONTAL\"},zn.USERDEFINED={type:3,value:\"USERDEFINED\"},zn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWindowTypePartitioningEnum=zn;class Wn{}Wn.FIRSTSHIFT={type:3,value:\"FIRSTSHIFT\"},Wn.SECONDSHIFT={type:3,value:\"SECONDSHIFT\"},Wn.THIRDSHIFT={type:3,value:\"THIRDSHIFT\"},Wn.USERDEFINED={type:3,value:\"USERDEFINED\"},Wn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWorkCalendarTypeEnum=Wn;class kn{}kn.ACTUAL={type:3,value:\"ACTUAL\"},kn.BASELINE={type:3,value:\"BASELINE\"},kn.PLANNED={type:3,value:\"PLANNED\"},kn.USERDEFINED={type:3,value:\"USERDEFINED\"},kn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWorkPlanTypeEnum=kn;class Yn{}Yn.ACTUAL={type:3,value:\"ACTUAL\"},Yn.BASELINE={type:3,value:\"BASELINE\"},Yn.PLANNED={type:3,value:\"PLANNED\"},Yn.USERDEFINED={type:3,value:\"USERDEFINED\"},Yn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWorkScheduleTypeEnum=Yn,e.IfcActorRole=class extends Nm{constructor(e,t,n,s){super(e),this.Role=t,this.UserDefinedRole=n,this.Description=s,this.type=3630933823}};class Xn extends Nm{constructor(e,t,n,s){super(e),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.type=618182010}}e.IfcAddress=Xn,e.IfcApplication=class extends Nm{constructor(e,t,n,s,i){super(e),this.ApplicationDeveloper=t,this.Version=n,this.ApplicationFullName=s,this.ApplicationIdentifier=i,this.type=639542469}};class Kn extends Nm{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e),this.Name=t,this.Description=n,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=a,this.FixedUntilDate=l,this.Category=r,this.Condition=o,this.ArithmeticOperator=c,this.Components=u,this.type=411424972}}e.IfcAppliedValue=Kn,e.IfcApproval=class extends Nm{constructor(e,t,n,s,i,a,l,r,o,c){super(e),this.Identifier=t,this.Name=n,this.Description=s,this.TimeOfApproval=i,this.Status=a,this.Level=l,this.Qualifier=r,this.RequestingApproval=o,this.GivingApproval=c,this.type=130549933}};class Zn extends Nm{constructor(e,t){super(e),this.Name=t,this.type=4037036970}}e.IfcBoundaryCondition=Zn,e.IfcBoundaryEdgeCondition=class extends Zn{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.TranslationalStiffnessByLengthX=n,this.TranslationalStiffnessByLengthY=s,this.TranslationalStiffnessByLengthZ=i,this.RotationalStiffnessByLengthX=a,this.RotationalStiffnessByLengthY=l,this.RotationalStiffnessByLengthZ=r,this.type=1560379544}},e.IfcBoundaryFaceCondition=class extends Zn{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.TranslationalStiffnessByAreaX=n,this.TranslationalStiffnessByAreaY=s,this.TranslationalStiffnessByAreaZ=i,this.type=3367102660}};class Qn extends Zn{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.TranslationalStiffnessX=n,this.TranslationalStiffnessY=s,this.TranslationalStiffnessZ=i,this.RotationalStiffnessX=a,this.RotationalStiffnessY=l,this.RotationalStiffnessZ=r,this.type=1387855156}}e.IfcBoundaryNodeCondition=Qn,e.IfcBoundaryNodeConditionWarping=class extends Qn{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.TranslationalStiffnessX=n,this.TranslationalStiffnessY=s,this.TranslationalStiffnessZ=i,this.RotationalStiffnessX=a,this.RotationalStiffnessY=l,this.RotationalStiffnessZ=r,this.WarpingStiffness=o,this.type=2069777674}};class Jn extends Nm{constructor(e){super(e),this.type=2859738748}}e.IfcConnectionGeometry=Jn;class $n extends Jn{constructor(e,t,n){super(e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=n,this.type=2614616156}}e.IfcConnectionPointGeometry=$n,e.IfcConnectionSurfaceGeometry=class extends Jn{constructor(e,t,n){super(e),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=n,this.type=2732653382}},e.IfcConnectionVolumeGeometry=class extends Jn{constructor(e,t,n){super(e),this.VolumeOnRelatingElement=t,this.VolumeOnRelatedElement=n,this.type=775493141}};class es extends Nm{constructor(e,t,n,s,i,a,l,r){super(e),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.type=1959218052}}e.IfcConstraint=es;class ts extends Nm{constructor(e,t,n){super(e),this.SourceCRS=t,this.TargetCRS=n,this.type=1785450214}}e.IfcCoordinateOperation=ts;class ns extends Nm{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.GeodeticDatum=s,this.VerticalDatum=i,this.type=1466758467}}e.IfcCoordinateReferenceSystem=ns,e.IfcCostValue=class extends Kn{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c,u),this.Name=t,this.Description=n,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=a,this.FixedUntilDate=l,this.Category=r,this.Condition=o,this.ArithmeticOperator=c,this.Components=u,this.type=602808272}},e.IfcDerivedUnit=class extends Nm{constructor(e,t,n,s){super(e),this.Elements=t,this.UnitType=n,this.UserDefinedType=s,this.type=1765591967}},e.IfcDerivedUnitElement=class extends Nm{constructor(e,t,n){super(e),this.Unit=t,this.Exponent=n,this.type=1045800335}},e.IfcDimensionalExponents=class extends Nm{constructor(e,t,n,s,i,a,l,r){super(e),this.LengthExponent=t,this.MassExponent=n,this.TimeExponent=s,this.ElectricCurrentExponent=i,this.ThermodynamicTemperatureExponent=a,this.AmountOfSubstanceExponent=l,this.LuminousIntensityExponent=r,this.type=2949456006}};class ss extends Nm{constructor(e){super(e),this.type=4294318154}}e.IfcExternalInformation=ss;class is extends Nm{constructor(e,t,n,s){super(e),this.Location=t,this.Identification=n,this.Name=s,this.type=3200245327}}e.IfcExternalReference=is,e.IfcExternallyDefinedHatchStyle=class extends is{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.type=2242383968}},e.IfcExternallyDefinedSurfaceStyle=class extends is{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.type=1040185647}},e.IfcExternallyDefinedTextFont=class extends is{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.type=3548104201}},e.IfcGridAxis=class extends Nm{constructor(e,t,n,s){super(e),this.AxisTag=t,this.AxisCurve=n,this.SameSense=s,this.type=852622518}},e.IfcIrregularTimeSeriesValue=class extends Nm{constructor(e,t,n){super(e),this.TimeStamp=t,this.ListValues=n,this.type=3020489413}},e.IfcLibraryInformation=class extends ss{constructor(e,t,n,s,i,a,l){super(e),this.Name=t,this.Version=n,this.Publisher=s,this.VersionDate=i,this.Location=a,this.Description=l,this.type=2655187982}},e.IfcLibraryReference=class extends is{constructor(e,t,n,s,i,a,l){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.Description=i,this.Language=a,this.ReferencedLibrary=l,this.type=3452421091}},e.IfcLightDistributionData=class extends Nm{constructor(e,t,n,s){super(e),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=n,this.LuminousIntensity=s,this.type=4162380809}},e.IfcLightIntensityDistribution=class extends Nm{constructor(e,t,n){super(e),this.LightDistributionCurve=t,this.DistributionData=n,this.type=1566485204}},e.IfcMapConversion=class extends ts{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n),this.SourceCRS=t,this.TargetCRS=n,this.Eastings=s,this.Northings=i,this.OrthogonalHeight=a,this.XAxisAbscissa=l,this.XAxisOrdinate=r,this.Scale=o,this.type=3057273783}},e.IfcMaterialClassificationRelationship=class extends Nm{constructor(e,t,n){super(e),this.MaterialClassifications=t,this.ClassifiedMaterial=n,this.type=1847130766}};class as extends Nm{constructor(e){super(e),this.type=760658860}}e.IfcMaterialDefinition=as;class ls extends as{constructor(e,t,n,s,i,a,l,r){super(e),this.Material=t,this.LayerThickness=n,this.IsVentilated=s,this.Name=i,this.Description=a,this.Category=l,this.Priority=r,this.type=248100487}}e.IfcMaterialLayer=ls,e.IfcMaterialLayerSet=class extends as{constructor(e,t,n,s){super(e),this.MaterialLayers=t,this.LayerSetName=n,this.Description=s,this.type=3303938423}},e.IfcMaterialLayerWithOffsets=class extends ls{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.Material=t,this.LayerThickness=n,this.IsVentilated=s,this.Name=i,this.Description=a,this.Category=l,this.Priority=r,this.OffsetDirection=o,this.OffsetValues=c,this.type=1847252529}},e.IfcMaterialList=class extends Nm{constructor(e,t){super(e),this.Materials=t,this.type=2199411900}};class rs extends as{constructor(e,t,n,s,i,a,l){super(e),this.Name=t,this.Description=n,this.Material=s,this.Profile=i,this.Priority=a,this.Category=l,this.type=2235152071}}e.IfcMaterialProfile=rs,e.IfcMaterialProfileSet=class extends as{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.MaterialProfiles=s,this.CompositeProfile=i,this.type=164193824}},e.IfcMaterialProfileWithOffsets=class extends rs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.Name=t,this.Description=n,this.Material=s,this.Profile=i,this.Priority=a,this.Category=l,this.OffsetValues=r,this.type=552965576}};class os extends Nm{constructor(e){super(e),this.type=1507914824}}e.IfcMaterialUsageDefinition=os,e.IfcMeasureWithUnit=class extends Nm{constructor(e,t,n){super(e),this.ValueComponent=t,this.UnitComponent=n,this.type=2597039031}},e.IfcMetric=class extends es{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.Benchmark=o,this.ValueSource=c,this.DataValue=u,this.ReferencePath=p,this.type=3368373690}},e.IfcMonetaryUnit=class extends Nm{constructor(e,t){super(e),this.Currency=t,this.type=2706619895}};class cs extends Nm{constructor(e,t,n){super(e),this.Dimensions=t,this.UnitType=n,this.type=1918398963}}e.IfcNamedUnit=cs;class us extends Nm{constructor(e){super(e),this.type=3701648758}}e.IfcObjectPlacement=us,e.IfcObjective=class extends es{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.BenchmarkValues=o,this.LogicalAggregator=c,this.ObjectiveQualifier=u,this.UserDefinedQualifier=p,this.type=2251480897}},e.IfcOrganization=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.Identification=t,this.Name=n,this.Description=s,this.Roles=i,this.Addresses=a,this.type=4251960020}},e.IfcOwnerHistory=class extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.OwningUser=t,this.OwningApplication=n,this.State=s,this.ChangeAction=i,this.LastModifiedDate=a,this.LastModifyingUser=l,this.LastModifyingApplication=r,this.CreationDate=o,this.type=1207048766}},e.IfcPerson=class extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.Identification=t,this.FamilyName=n,this.GivenName=s,this.MiddleNames=i,this.PrefixTitles=a,this.SuffixTitles=l,this.Roles=r,this.Addresses=o,this.type=2077209135}},e.IfcPersonAndOrganization=class extends Nm{constructor(e,t,n,s){super(e),this.ThePerson=t,this.TheOrganization=n,this.Roles=s,this.type=101040310}};class ps extends Nm{constructor(e,t,n){super(e),this.Name=t,this.Description=n,this.type=2483315170}}e.IfcPhysicalQuantity=ps;class hs extends ps{constructor(e,t,n,s){super(e,t,n),this.Name=t,this.Description=n,this.Unit=s,this.type=2226359599}}e.IfcPhysicalSimpleQuantity=hs,e.IfcPostalAddress=class extends Xn{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.InternalLocation=i,this.AddressLines=a,this.PostalBox=l,this.Town=r,this.Region=o,this.PostalCode=c,this.Country=u,this.type=3355820592}};class ds extends Nm{constructor(e){super(e),this.type=677532197}}e.IfcPresentationItem=ds;class fs extends Nm{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.AssignedItems=s,this.Identifier=i,this.type=2022622350}}e.IfcPresentationLayerAssignment=fs,e.IfcPresentationLayerWithStyle=class extends fs{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i),this.Name=t,this.Description=n,this.AssignedItems=s,this.Identifier=i,this.LayerOn=a,this.LayerFrozen=l,this.LayerBlocked=r,this.LayerStyles=o,this.type=1304840413}};class Is extends Nm{constructor(e,t){super(e),this.Name=t,this.type=3119450353}}e.IfcPresentationStyle=Is,e.IfcPresentationStyleAssignment=class extends Nm{constructor(e,t){super(e),this.Styles=t,this.type=2417041796}};class ms extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.Representations=s,this.type=2095639259}}e.IfcProductRepresentation=ms;class ys extends Nm{constructor(e,t,n){super(e),this.ProfileType=t,this.ProfileName=n,this.type=3958567839}}e.IfcProfileDef=ys,e.IfcProjectedCRS=class extends ns{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.Name=t,this.Description=n,this.GeodeticDatum=s,this.VerticalDatum=i,this.MapProjection=a,this.MapZone=l,this.MapUnit=r,this.type=3843373140}};class vs extends Nm{constructor(e){super(e),this.type=986844984}}e.IfcPropertyAbstraction=vs,e.IfcPropertyEnumeration=class extends vs{constructor(e,t,n,s){super(e),this.Name=t,this.EnumerationValues=n,this.Unit=s,this.type=3710013099}},e.IfcQuantityArea=class extends hs{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.AreaValue=i,this.Formula=a,this.type=2044713172}},e.IfcQuantityCount=class extends hs{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.CountValue=i,this.Formula=a,this.type=2093928680}},e.IfcQuantityLength=class extends hs{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.LengthValue=i,this.Formula=a,this.type=931644368}},e.IfcQuantityTime=class extends hs{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.TimeValue=i,this.Formula=a,this.type=3252649465}},e.IfcQuantityVolume=class extends hs{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.VolumeValue=i,this.Formula=a,this.type=2405470396}},e.IfcQuantityWeight=class extends hs{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.WeightValue=i,this.Formula=a,this.type=825690147}},e.IfcRecurrencePattern=class extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.RecurrenceType=t,this.DayComponent=n,this.WeekdayComponent=s,this.MonthComponent=i,this.Position=a,this.Interval=l,this.Occurrences=r,this.TimePeriods=o,this.type=3915482550}},e.IfcReference=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.TypeIdentifier=t,this.AttributeIdentifier=n,this.InstanceName=s,this.ListPositions=i,this.InnerReference=a,this.type=2433181523}};class ws extends Nm{constructor(e,t,n,s,i){super(e),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=1076942058}}e.IfcRepresentation=ws;class Ts extends Nm{constructor(e,t,n){super(e),this.ContextIdentifier=t,this.ContextType=n,this.type=3377609919}}e.IfcRepresentationContext=Ts;class Es extends Nm{constructor(e){super(e),this.type=3008791417}}e.IfcRepresentationItem=Es,e.IfcRepresentationMap=class extends Nm{constructor(e,t,n){super(e),this.MappingOrigin=t,this.MappedRepresentation=n,this.type=1660063152}};class gs extends Nm{constructor(e,t,n){super(e),this.Name=t,this.Description=n,this.type=2439245199}}e.IfcResourceLevelRelationship=gs;class Rs extends Nm{constructor(e,t,n,s,i){super(e),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=2341007311}}e.IfcRoot=Rs,e.IfcSIUnit=class extends cs{constructor(e,t,n,s){super(e,new bm(0),t),this.UnitType=t,this.Prefix=n,this.Name=s,this.type=448429030}};class Ds extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.type=1054537805}}e.IfcSchedulingTime=Ds,e.IfcShapeAspect=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.ShapeRepresentations=t,this.Name=n,this.Description=s,this.ProductDefinitional=i,this.PartOfProductDefinitionShape=a,this.type=867548509}};class Ss extends ws{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=3982875396}}e.IfcShapeModel=Ss,e.IfcShapeRepresentation=class extends Ss{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=4240577450}};class bs extends Nm{constructor(e,t){super(e),this.Name=t,this.type=2273995522}}e.IfcStructuralConnectionCondition=bs;class Ns extends Nm{constructor(e,t){super(e),this.Name=t,this.type=2162789131}}e.IfcStructuralLoad=Ns,e.IfcStructuralLoadConfiguration=class extends Ns{constructor(e,t,n,s){super(e,t),this.Name=t,this.Values=n,this.Locations=s,this.type=3478079324}};class Os extends Ns{constructor(e,t){super(e,t),this.Name=t,this.type=609421318}}e.IfcStructuralLoadOrResult=Os;class As extends Os{constructor(e,t){super(e,t),this.Name=t,this.type=2525727697}}e.IfcStructuralLoadStatic=As,e.IfcStructuralLoadTemperature=class extends As{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.DeltaTConstant=n,this.DeltaTY=s,this.DeltaTZ=i,this.type=3408363356}};class xs extends ws{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=2830218821}}e.IfcStyleModel=xs,e.IfcStyledItem=class extends Es{constructor(e,t,n,s){super(e),this.Item=t,this.Styles=n,this.Name=s,this.type=3958052878}},e.IfcStyledRepresentation=class extends xs{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=3049322572}},e.IfcSurfaceReinforcementArea=class extends Os{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.SurfaceReinforcement1=n,this.SurfaceReinforcement2=s,this.ShearReinforcement=i,this.type=2934153892}},e.IfcSurfaceStyle=class extends Is{constructor(e,t,n,s){super(e,t),this.Name=t,this.Side=n,this.Styles=s,this.type=1300840506}},e.IfcSurfaceStyleLighting=class extends ds{constructor(e,t,n,s,i){super(e),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=n,this.TransmissionColour=s,this.ReflectanceColour=i,this.type=3303107099}},e.IfcSurfaceStyleRefraction=class extends ds{constructor(e,t,n){super(e),this.RefractionIndex=t,this.DispersionFactor=n,this.type=1607154358}};class Cs extends ds{constructor(e,t,n){super(e),this.SurfaceColour=t,this.Transparency=n,this.type=846575682}}e.IfcSurfaceStyleShading=Cs,e.IfcSurfaceStyleWithTextures=class extends ds{constructor(e,t){super(e),this.Textures=t,this.type=1351298697}};class Ls extends ds{constructor(e,t,n,s,i,a){super(e),this.RepeatS=t,this.RepeatT=n,this.Mode=s,this.TextureTransform=i,this.Parameter=a,this.type=626085974}}e.IfcSurfaceTexture=Ls,e.IfcTable=class extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.Rows=n,this.Columns=s,this.type=985171141}},e.IfcTableColumn=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.Identifier=t,this.Name=n,this.Description=s,this.Unit=i,this.ReferencePath=a,this.type=2043862942}},e.IfcTableRow=class extends Nm{constructor(e,t,n){super(e),this.RowCells=t,this.IsHeading=n,this.type=531007025}};class Ps extends Ds{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.DurationType=i,this.ScheduleDuration=a,this.ScheduleStart=l,this.ScheduleFinish=r,this.EarlyStart=o,this.EarlyFinish=c,this.LateStart=u,this.LateFinish=p,this.FreeFloat=h,this.TotalFloat=d,this.IsCritical=f,this.StatusTime=I,this.ActualDuration=m,this.ActualStart=y,this.ActualFinish=v,this.RemainingTime=w,this.Completion=T,this.type=1549132990}}e.IfcTaskTime=Ps,e.IfcTaskTimeRecurring=class extends Ps{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T,E){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.DurationType=i,this.ScheduleDuration=a,this.ScheduleStart=l,this.ScheduleFinish=r,this.EarlyStart=o,this.EarlyFinish=c,this.LateStart=u,this.LateFinish=p,this.FreeFloat=h,this.TotalFloat=d,this.IsCritical=f,this.StatusTime=I,this.ActualDuration=m,this.ActualStart=y,this.ActualFinish=v,this.RemainingTime=w,this.Completion=T,this.Recurrence=E,this.type=2771591690}},e.IfcTelecomAddress=class extends Xn{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.TelephoneNumbers=i,this.FacsimileNumbers=a,this.PagerNumber=l,this.ElectronicMailAddresses=r,this.WWWHomePageURL=o,this.MessagingIDs=c,this.type=912023232}},e.IfcTextStyle=class extends Is{constructor(e,t,n,s,i,a){super(e,t),this.Name=t,this.TextCharacterAppearance=n,this.TextStyle=s,this.TextFontStyle=i,this.ModelOrDraughting=a,this.type=1447204868}},e.IfcTextStyleForDefinedFont=class extends ds{constructor(e,t,n){super(e),this.Colour=t,this.BackgroundColour=n,this.type=2636378356}},e.IfcTextStyleTextModel=class extends ds{constructor(e,t,n,s,i,a,l,r){super(e),this.TextIndent=t,this.TextAlign=n,this.TextDecoration=s,this.LetterSpacing=i,this.WordSpacing=a,this.TextTransform=l,this.LineHeight=r,this.type=1640371178}};class qs extends ds{constructor(e,t){super(e),this.Maps=t,this.type=280115917}}e.IfcTextureCoordinate=qs,e.IfcTextureCoordinateGenerator=class extends qs{constructor(e,t,n,s){super(e,t),this.Maps=t,this.Mode=n,this.Parameter=s,this.type=1742049831}},e.IfcTextureMap=class extends qs{constructor(e,t,n,s){super(e,t),this.Maps=t,this.Vertices=n,this.MappedTo=s,this.type=2552916305}},e.IfcTextureVertex=class extends ds{constructor(e,t){super(e),this.Coordinates=t,this.type=1210645708}},e.IfcTextureVertexList=class extends ds{constructor(e,t){super(e),this.TexCoordsList=t,this.type=3611470254}},e.IfcTimePeriod=class extends Nm{constructor(e,t,n){super(e),this.StartTime=t,this.EndTime=n,this.type=1199560280}};class _s extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.type=3101149627}}e.IfcTimeSeries=_s,e.IfcTimeSeriesValue=class extends Nm{constructor(e,t){super(e),this.ListValues=t,this.type=581633288}};class Ms extends Es{constructor(e){super(e),this.type=1377556343}}e.IfcTopologicalRepresentationItem=Ms,e.IfcTopologyRepresentation=class extends Ss{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=1735638870}},e.IfcUnitAssignment=class extends Nm{constructor(e,t){super(e),this.Units=t,this.type=180925521}};class Hs extends Ms{constructor(e){super(e),this.type=2799835756}}e.IfcVertex=Hs,e.IfcVertexPoint=class extends Hs{constructor(e,t){super(e),this.VertexGeometry=t,this.type=1907098498}},e.IfcVirtualGridIntersection=class extends Nm{constructor(e,t,n){super(e),this.IntersectingAxes=t,this.OffsetDistances=n,this.type=891718957}},e.IfcWorkTime=class extends Ds{constructor(e,t,n,s,i,a,l){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.RecurrencePattern=i,this.Start=a,this.Finish=l,this.type=1236880293}},e.IfcApprovalRelationship=class extends gs{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatingApproval=s,this.RelatedApprovals=i,this.type=3869604511}};class Bs extends ys{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.OuterCurve=s,this.type=3798115385}}e.IfcArbitraryClosedProfileDef=Bs;class Us extends ys{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Curve=s,this.type=1310608509}}e.IfcArbitraryOpenProfileDef=Us,e.IfcArbitraryProfileDefWithVoids=class extends Bs{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.OuterCurve=s,this.InnerCurves=i,this.type=2705031697}},e.IfcBlobTexture=class extends Ls{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.RepeatS=t,this.RepeatT=n,this.Mode=s,this.TextureTransform=i,this.Parameter=a,this.RasterFormat=l,this.RasterCode=r,this.type=616511568}},e.IfcCenterLineProfileDef=class extends Us{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Curve=s,this.Thickness=i,this.type=3150382593}},e.IfcClassification=class extends ss{constructor(e,t,n,s,i,a,l,r){super(e),this.Source=t,this.Edition=n,this.EditionDate=s,this.Name=i,this.Description=a,this.Location=l,this.ReferenceTokens=r,this.type=747523909}},e.IfcClassificationReference=class extends is{constructor(e,t,n,s,i,a,l){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.ReferencedSource=i,this.Description=a,this.Sort=l,this.type=647927063}},e.IfcColourRgbList=class extends ds{constructor(e,t){super(e),this.ColourList=t,this.type=3285139300}};class Fs extends ds{constructor(e,t){super(e),this.Name=t,this.type=3264961684}}e.IfcColourSpecification=Fs,e.IfcCompositeProfileDef=class extends ys{constructor(e,t,n,s,i){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Profiles=s,this.Label=i,this.type=1485152156}};class Gs extends Ms{constructor(e,t){super(e),this.CfsFaces=t,this.type=370225590}}e.IfcConnectedFaceSet=Gs,e.IfcConnectionCurveGeometry=class extends Jn{constructor(e,t,n){super(e),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=n,this.type=1981873012}},e.IfcConnectionPointEccentricity=class extends $n{constructor(e,t,n,s,i,a){super(e,t,n),this.PointOnRelatingElement=t,this.PointOnRelatedElement=n,this.EccentricityInX=s,this.EccentricityInY=i,this.EccentricityInZ=a,this.type=45288368}},e.IfcContextDependentUnit=class extends cs{constructor(e,t,n,s){super(e,t,n),this.Dimensions=t,this.UnitType=n,this.Name=s,this.type=3050246964}};class Vs extends cs{constructor(e,t,n,s,i){super(e,t,n),this.Dimensions=t,this.UnitType=n,this.Name=s,this.ConversionFactor=i,this.type=2889183280}}e.IfcConversionBasedUnit=Vs,e.IfcConversionBasedUnitWithOffset=class extends Vs{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Dimensions=t,this.UnitType=n,this.Name=s,this.ConversionFactor=i,this.ConversionOffset=a,this.type=2713554722}},e.IfcCurrencyRelationship=class extends gs{constructor(e,t,n,s,i,a,l,r){super(e,t,n),this.Name=t,this.Description=n,this.RelatingMonetaryUnit=s,this.RelatedMonetaryUnit=i,this.ExchangeRate=a,this.RateDateTime=l,this.RateSource=r,this.type=539742890}},e.IfcCurveStyle=class extends Is{constructor(e,t,n,s,i,a){super(e,t),this.Name=t,this.CurveFont=n,this.CurveWidth=s,this.CurveColour=i,this.ModelOrDraughting=a,this.type=3800577675}},e.IfcCurveStyleFont=class extends ds{constructor(e,t,n){super(e),this.Name=t,this.PatternList=n,this.type=1105321065}},e.IfcCurveStyleFontAndScaling=class extends ds{constructor(e,t,n,s){super(e),this.Name=t,this.CurveFont=n,this.CurveFontScaling=s,this.type=2367409068}},e.IfcCurveStyleFontPattern=class extends ds{constructor(e,t,n){super(e),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=n,this.type=3510044353}};class js extends ys{constructor(e,t,n,s,i,a){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.ParentProfile=s,this.Operator=i,this.Label=a,this.type=3632507154}}e.IfcDerivedProfileDef=js,e.IfcDocumentInformation=class extends ss{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e),this.Identification=t,this.Name=n,this.Description=s,this.Location=i,this.Purpose=a,this.IntendedUse=l,this.Scope=r,this.Revision=o,this.DocumentOwner=c,this.Editors=u,this.CreationTime=p,this.LastRevisionTime=h,this.ElectronicFormat=d,this.ValidFrom=f,this.ValidUntil=I,this.Confidentiality=m,this.Status=y,this.type=1154170062}},e.IfcDocumentInformationRelationship=class extends gs{constructor(e,t,n,s,i,a){super(e,t,n),this.Name=t,this.Description=n,this.RelatingDocument=s,this.RelatedDocuments=i,this.RelationshipType=a,this.type=770865208}},e.IfcDocumentReference=class extends is{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.Description=i,this.ReferencedDocument=a,this.type=3732053477}};class zs extends Ms{constructor(e,t,n){super(e),this.EdgeStart=t,this.EdgeEnd=n,this.type=3900360178}}e.IfcEdge=zs,e.IfcEdgeCurve=class extends zs{constructor(e,t,n,s,i){super(e,t,n),this.EdgeStart=t,this.EdgeEnd=n,this.EdgeGeometry=s,this.SameSense=i,this.type=476780140}},e.IfcEventTime=class extends Ds{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.ActualDate=i,this.EarlyDate=a,this.LateDate=l,this.ScheduleDate=r,this.type=211053100}};class Ws extends vs{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.Properties=s,this.type=297599258}}e.IfcExtendedProperties=Ws,e.IfcExternalReferenceRelationship=class extends gs{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatingReference=s,this.RelatedResourceObjects=i,this.type=1437805879}};class ks extends Ms{constructor(e,t){super(e),this.Bounds=t,this.type=2556980723}}e.IfcFace=ks;class Ys extends Ms{constructor(e,t,n){super(e),this.Bound=t,this.Orientation=n,this.type=1809719519}}e.IfcFaceBound=Ys,e.IfcFaceOuterBound=class extends Ys{constructor(e,t,n){super(e,t,n),this.Bound=t,this.Orientation=n,this.type=803316827}};class Xs extends ks{constructor(e,t,n,s){super(e,t),this.Bounds=t,this.FaceSurface=n,this.SameSense=s,this.type=3008276851}}e.IfcFaceSurface=Xs,e.IfcFailureConnectionCondition=class extends bs{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.TensionFailureX=n,this.TensionFailureY=s,this.TensionFailureZ=i,this.CompressionFailureX=a,this.CompressionFailureY=l,this.CompressionFailureZ=r,this.type=4219587988}},e.IfcFillAreaStyle=class extends Is{constructor(e,t,n,s){super(e,t),this.Name=t,this.FillStyles=n,this.ModelorDraughting=s,this.type=738692330}};class Ks extends Ts{constructor(e,t,n,s,i,a,l){super(e,t,n),this.ContextIdentifier=t,this.ContextType=n,this.CoordinateSpaceDimension=s,this.Precision=i,this.WorldCoordinateSystem=a,this.TrueNorth=l,this.type=3448662350}}e.IfcGeometricRepresentationContext=Ks;class Zs extends Es{constructor(e){super(e),this.type=2453401579}}e.IfcGeometricRepresentationItem=Zs,e.IfcGeometricRepresentationSubContext=class extends Ks{constructor(e,n,s,i,a,l,r){super(e,n,s,new t(0),null,new bm(0),null),this.ContextIdentifier=n,this.ContextType=s,this.ParentContext=i,this.TargetScale=a,this.TargetView=l,this.UserDefinedTargetView=r,this.type=4142052618}};class Qs extends Zs{constructor(e,t){super(e),this.Elements=t,this.type=3590301190}}e.IfcGeometricSet=Qs,e.IfcGridPlacement=class extends us{constructor(e,t,n){super(e),this.PlacementLocation=t,this.PlacementRefDirection=n,this.type=178086475}};class Js extends Zs{constructor(e,t,n){super(e),this.BaseSurface=t,this.AgreementFlag=n,this.type=812098782}}e.IfcHalfSpaceSolid=Js,e.IfcImageTexture=class extends Ls{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.RepeatS=t,this.RepeatT=n,this.Mode=s,this.TextureTransform=i,this.Parameter=a,this.URLReference=l,this.type=3905492369}},e.IfcIndexedColourMap=class extends ds{constructor(e,t,n,s,i){super(e),this.MappedTo=t,this.Opacity=n,this.Colours=s,this.ColourIndex=i,this.type=3570813810}};class $s extends qs{constructor(e,t,n,s){super(e,t),this.Maps=t,this.MappedTo=n,this.TexCoords=s,this.type=1437953363}}e.IfcIndexedTextureMap=$s,e.IfcIndexedTriangleTextureMap=class extends $s{constructor(e,t,n,s,i){super(e,t,n,s),this.Maps=t,this.MappedTo=n,this.TexCoords=s,this.TexCoordIndex=i,this.type=2133299955}},e.IfcIrregularTimeSeries=class extends _s{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.Values=c,this.type=3741457305}},e.IfcLagTime=class extends Ds{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.LagValue=i,this.DurationType=a,this.type=1585845231}};class ei extends Zs{constructor(e,t,n,s,i){super(e),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.type=1402838566}}e.IfcLightSource=ei,e.IfcLightSourceAmbient=class extends ei{constructor(e,t,n,s,i){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.type=125510826}},e.IfcLightSourceDirectional=class extends ei{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Orientation=a,this.type=2604431987}},e.IfcLightSourceGoniometric=class extends ei{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.ColourAppearance=l,this.ColourTemperature=r,this.LuminousFlux=o,this.LightEmissionSource=c,this.LightDistributionDataSource=u,this.type=4266656042}};class ti extends ei{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.Radius=l,this.ConstantAttenuation=r,this.DistanceAttenuation=o,this.QuadricAttenuation=c,this.type=1520743889}}e.IfcLightSourcePositional=ti,e.IfcLightSourceSpot=class extends ti{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.Radius=l,this.ConstantAttenuation=r,this.DistanceAttenuation=o,this.QuadricAttenuation=c,this.Orientation=u,this.ConcentrationExponent=p,this.SpreadAngle=h,this.BeamWidthAngle=d,this.type=3422422726}},e.IfcLocalPlacement=class extends us{constructor(e,t,n){super(e),this.PlacementRelTo=t,this.RelativePlacement=n,this.type=2624227202}};class ni extends Ms{constructor(e){super(e),this.type=1008929658}}e.IfcLoop=ni,e.IfcMappedItem=class extends Es{constructor(e,t,n){super(e),this.MappingSource=t,this.MappingTarget=n,this.type=2347385850}},e.IfcMaterial=class extends as{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.Category=s,this.type=1838606355}},e.IfcMaterialConstituent=class extends as{constructor(e,t,n,s,i,a){super(e),this.Name=t,this.Description=n,this.Material=s,this.Fraction=i,this.Category=a,this.type=3708119e3}},e.IfcMaterialConstituentSet=class extends as{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.MaterialConstituents=s,this.type=2852063980}},e.IfcMaterialDefinitionRepresentation=class extends ms{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Representations=s,this.RepresentedMaterial=i,this.type=2022407955}},e.IfcMaterialLayerSetUsage=class extends os{constructor(e,t,n,s,i,a){super(e),this.ForLayerSet=t,this.LayerSetDirection=n,this.DirectionSense=s,this.OffsetFromReferenceLine=i,this.ReferenceExtent=a,this.type=1303795690}};class si extends os{constructor(e,t,n,s){super(e),this.ForProfileSet=t,this.CardinalPoint=n,this.ReferenceExtent=s,this.type=3079605661}}e.IfcMaterialProfileSetUsage=si,e.IfcMaterialProfileSetUsageTapering=class extends si{constructor(e,t,n,s,i,a){super(e,t,n,s),this.ForProfileSet=t,this.CardinalPoint=n,this.ReferenceExtent=s,this.ForProfileEndSet=i,this.CardinalEndPoint=a,this.type=3404854881}},e.IfcMaterialProperties=class extends Ws{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Properties=s,this.Material=i,this.type=3265635763}},e.IfcMaterialRelationship=class extends gs{constructor(e,t,n,s,i,a){super(e,t,n),this.Name=t,this.Description=n,this.RelatingMaterial=s,this.RelatedMaterials=i,this.Expression=a,this.type=853536259}},e.IfcMirroredProfileDef=class extends js{constructor(e,t,n,s,i){super(e,t,n,s,new bm(0),i),this.ProfileType=t,this.ProfileName=n,this.ParentProfile=s,this.Label=i,this.type=2998442950}};class ii extends Rs{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=219451334}}e.IfcObjectDefinition=ii,e.IfcOpenShell=class extends Gs{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2665983363}},e.IfcOrganizationRelationship=class extends gs{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatingOrganization=s,this.RelatedOrganizations=i,this.type=1411181986}},e.IfcOrientedEdge=class extends zs{constructor(e,t,n){super(e,new bm(0),new bm(0)),this.EdgeElement=t,this.Orientation=n,this.type=1029017970}};class ai extends ys{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.type=2529465313}}e.IfcParameterizedProfileDef=ai,e.IfcPath=class extends Ms{constructor(e,t){super(e),this.EdgeList=t,this.type=2519244187}},e.IfcPhysicalComplexQuantity=class extends ps{constructor(e,t,n,s,i,a,l){super(e,t,n),this.Name=t,this.Description=n,this.HasQuantities=s,this.Discrimination=i,this.Quality=a,this.Usage=l,this.type=3021840470}},e.IfcPixelTexture=class extends Ls{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a),this.RepeatS=t,this.RepeatT=n,this.Mode=s,this.TextureTransform=i,this.Parameter=a,this.Width=l,this.Height=r,this.ColourComponents=o,this.Pixel=c,this.type=597895409}};class li extends Zs{constructor(e,t){super(e),this.Location=t,this.type=2004835150}}e.IfcPlacement=li;class ri extends Zs{constructor(e,t,n){super(e),this.SizeInX=t,this.SizeInY=n,this.type=1663979128}}e.IfcPlanarExtent=ri;class oi extends Zs{constructor(e){super(e),this.type=2067069095}}e.IfcPoint=oi,e.IfcPointOnCurve=class extends oi{constructor(e,t,n){super(e),this.BasisCurve=t,this.PointParameter=n,this.type=4022376103}},e.IfcPointOnSurface=class extends oi{constructor(e,t,n,s){super(e),this.BasisSurface=t,this.PointParameterU=n,this.PointParameterV=s,this.type=1423911732}},e.IfcPolyLoop=class extends ni{constructor(e,t){super(e),this.Polygon=t,this.type=2924175390}},e.IfcPolygonalBoundedHalfSpace=class extends Js{constructor(e,t,n,s,i){super(e,t,n),this.BaseSurface=t,this.AgreementFlag=n,this.Position=s,this.PolygonalBoundary=i,this.type=2775532180}};class ci extends ds{constructor(e,t){super(e),this.Name=t,this.type=3727388367}}e.IfcPreDefinedItem=ci;class ui extends vs{constructor(e){super(e),this.type=3778827333}}e.IfcPreDefinedProperties=ui;class pi extends ci{constructor(e,t){super(e,t),this.Name=t,this.type=1775413392}}e.IfcPreDefinedTextFont=pi,e.IfcProductDefinitionShape=class extends ms{constructor(e,t,n,s){super(e,t,n,s),this.Name=t,this.Description=n,this.Representations=s,this.type=673634403}},e.IfcProfileProperties=class extends Ws{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Properties=s,this.ProfileDefinition=i,this.type=2802850158}};class hi extends vs{constructor(e,t,n){super(e),this.Name=t,this.Description=n,this.type=2598011224}}e.IfcProperty=hi;class di extends Rs{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=1680319473}}e.IfcPropertyDefinition=di,e.IfcPropertyDependencyRelationship=class extends gs{constructor(e,t,n,s,i,a){super(e,t,n),this.Name=t,this.Description=n,this.DependingProperty=s,this.DependantProperty=i,this.Expression=a,this.type=148025276}};class fi extends di{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=3357820518}}e.IfcPropertySetDefinition=fi;class Ii extends di{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=1482703590}}e.IfcPropertyTemplateDefinition=Ii;class mi extends fi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=2090586900}}e.IfcQuantitySet=mi;class yi extends ai{constructor(e,t,n,s,i,a){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.type=3615266464}}e.IfcRectangleProfileDef=yi,e.IfcRegularTimeSeries=class extends _s{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.TimeStep=c,this.Values=u,this.type=3413951693}},e.IfcReinforcementBarProperties=class extends ui{constructor(e,t,n,s,i,a,l){super(e),this.TotalCrossSectionArea=t,this.SteelGrade=n,this.BarSurface=s,this.EffectiveDepth=i,this.NominalBarDiameter=a,this.BarCount=l,this.type=1580146022}};class vi extends Rs{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=478536968}}e.IfcRelationship=vi,e.IfcResourceApprovalRelationship=class extends gs{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatedResourceObjects=s,this.RelatingApproval=i,this.type=2943643501}},e.IfcResourceConstraintRelationship=class extends gs{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatingConstraint=s,this.RelatedResourceObjects=i,this.type=1608871552}},e.IfcResourceTime=class extends Ds{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.ScheduleWork=i,this.ScheduleUsage=a,this.ScheduleStart=l,this.ScheduleFinish=r,this.ScheduleContour=o,this.LevelingDelay=c,this.IsOverAllocated=u,this.StatusTime=p,this.ActualWork=h,this.ActualUsage=d,this.ActualStart=f,this.ActualFinish=I,this.RemainingWork=m,this.RemainingUsage=y,this.Completion=v,this.type=1042787934}},e.IfcRoundedRectangleProfileDef=class extends yi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.RoundingRadius=l,this.type=2778083089}},e.IfcSectionProperties=class extends ui{constructor(e,t,n,s){super(e),this.SectionType=t,this.StartProfile=n,this.EndProfile=s,this.type=2042790032}},e.IfcSectionReinforcementProperties=class extends ui{constructor(e,t,n,s,i,a,l){super(e),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=n,this.TransversePosition=s,this.ReinforcementRole=i,this.SectionDefinition=a,this.CrossSectionReinforcementDefinitions=l,this.type=4165799628}},e.IfcSectionedSpine=class extends Zs{constructor(e,t,n,s){super(e),this.SpineCurve=t,this.CrossSections=n,this.CrossSectionPositions=s,this.type=1509187699}},e.IfcShellBasedSurfaceModel=class extends Zs{constructor(e,t){super(e),this.SbsmBoundary=t,this.type=4124623270}};class wi extends hi{constructor(e,t,n){super(e,t,n),this.Name=t,this.Description=n,this.type=3692461612}}e.IfcSimpleProperty=wi,e.IfcSlippageConnectionCondition=class extends bs{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.SlippageX=n,this.SlippageY=s,this.SlippageZ=i,this.type=2609359061}};class Ti extends Zs{constructor(e){super(e),this.type=723233188}}e.IfcSolidModel=Ti,e.IfcStructuralLoadLinearForce=class extends As{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.LinearForceX=n,this.LinearForceY=s,this.LinearForceZ=i,this.LinearMomentX=a,this.LinearMomentY=l,this.LinearMomentZ=r,this.type=1595516126}},e.IfcStructuralLoadPlanarForce=class extends As{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.PlanarForceX=n,this.PlanarForceY=s,this.PlanarForceZ=i,this.type=2668620305}};class Ei extends As{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.DisplacementX=n,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=a,this.RotationalDisplacementRY=l,this.RotationalDisplacementRZ=r,this.type=2473145415}}e.IfcStructuralLoadSingleDisplacement=Ei,e.IfcStructuralLoadSingleDisplacementDistortion=class extends Ei{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.DisplacementX=n,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=a,this.RotationalDisplacementRY=l,this.RotationalDisplacementRZ=r,this.Distortion=o,this.type=1973038258}};class gi extends As{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.ForceX=n,this.ForceY=s,this.ForceZ=i,this.MomentX=a,this.MomentY=l,this.MomentZ=r,this.type=1597423693}}e.IfcStructuralLoadSingleForce=gi,e.IfcStructuralLoadSingleForceWarping=class extends gi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.ForceX=n,this.ForceY=s,this.ForceZ=i,this.MomentX=a,this.MomentY=l,this.MomentZ=r,this.WarpingMoment=o,this.type=1190533807}},e.IfcSubedge=class extends zs{constructor(e,t,n,s){super(e,t,n),this.EdgeStart=t,this.EdgeEnd=n,this.ParentEdge=s,this.type=2233826070}};class Ri extends Zs{constructor(e){super(e),this.type=2513912981}}e.IfcSurface=Ri,e.IfcSurfaceStyleRendering=class extends Cs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n),this.SurfaceColour=t,this.Transparency=n,this.DiffuseColour=s,this.TransmissionColour=i,this.DiffuseTransmissionColour=a,this.ReflectionColour=l,this.SpecularColour=r,this.SpecularHighlight=o,this.ReflectanceMethod=c,this.type=1878645084}};class Di extends Ti{constructor(e,t,n){super(e),this.SweptArea=t,this.Position=n,this.type=2247615214}}e.IfcSweptAreaSolid=Di;class Si extends Ti{constructor(e,t,n,s,i,a){super(e),this.Directrix=t,this.Radius=n,this.InnerRadius=s,this.StartParam=i,this.EndParam=a,this.type=1260650574}}e.IfcSweptDiskSolid=Si,e.IfcSweptDiskSolidPolygonal=class extends Si{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.Directrix=t,this.Radius=n,this.InnerRadius=s,this.StartParam=i,this.EndParam=a,this.FilletRadius=l,this.type=1096409881}};class bi extends Ri{constructor(e,t,n){super(e),this.SweptCurve=t,this.Position=n,this.type=230924584}}e.IfcSweptSurface=bi,e.IfcTShapeProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.FlangeEdgeRadius=c,this.WebEdgeRadius=u,this.WebSlope=p,this.FlangeSlope=h,this.type=3071757647}};class Ni extends Zs{constructor(e){super(e),this.type=901063453}}e.IfcTessellatedItem=Ni;class Oi extends Zs{constructor(e,t,n,s){super(e),this.Literal=t,this.Placement=n,this.Path=s,this.type=4282788508}}e.IfcTextLiteral=Oi,e.IfcTextLiteralWithExtent=class extends Oi{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Literal=t,this.Placement=n,this.Path=s,this.Extent=i,this.BoxAlignment=a,this.type=3124975700}},e.IfcTextStyleFontModel=class extends pi{constructor(e,t,n,s,i,a,l){super(e,t),this.Name=t,this.FontFamily=n,this.FontStyle=s,this.FontVariant=i,this.FontWeight=a,this.FontSize=l,this.type=1983826977}},e.IfcTrapeziumProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.BottomXDim=i,this.TopXDim=a,this.YDim=l,this.TopXOffset=r,this.type=2715220739}};class Ai extends ii{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.type=1628702193}}e.IfcTypeObject=Ai;class xi extends Ai{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ProcessType=c,this.type=3736923433}}e.IfcTypeProcess=xi;class Ci extends Ai{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.type=2347495698}}e.IfcTypeProduct=Ci;class Li extends Ai{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.type=3698973494}}e.IfcTypeResource=Li,e.IfcUShapeProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.EdgeRadius=c,this.FlangeSlope=u,this.type=427810014}},e.IfcVector=class extends Zs{constructor(e,t,n){super(e),this.Orientation=t,this.Magnitude=n,this.type=1417489154}},e.IfcVertexLoop=class extends ni{constructor(e,t){super(e),this.LoopVertex=t,this.type=2759199220}},e.IfcWindowStyle=class extends Ci{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ConstructionType=c,this.OperationType=u,this.ParameterTakesPrecedence=p,this.Sizeable=h,this.type=1299126871}},e.IfcZShapeProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.EdgeRadius=c,this.type=2543172580}},e.IfcAdvancedFace=class extends Xs{constructor(e,t,n,s){super(e,t,n,s),this.Bounds=t,this.FaceSurface=n,this.SameSense=s,this.type=3406155212}},e.IfcAnnotationFillArea=class extends Zs{constructor(e,t,n){super(e),this.OuterBoundary=t,this.InnerBoundaries=n,this.type=669184980}},e.IfcAsymmetricIShapeProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.BottomFlangeWidth=i,this.OverallDepth=a,this.WebThickness=l,this.BottomFlangeThickness=r,this.BottomFlangeFilletRadius=o,this.TopFlangeWidth=c,this.TopFlangeThickness=u,this.TopFlangeFilletRadius=p,this.BottomFlangeEdgeRadius=h,this.BottomFlangeSlope=d,this.TopFlangeEdgeRadius=f,this.TopFlangeSlope=I,this.type=3207858831}},e.IfcAxis1Placement=class extends li{constructor(e,t,n){super(e,t),this.Location=t,this.Axis=n,this.type=4261334040}},e.IfcAxis2Placement2D=class extends li{constructor(e,t,n){super(e,t),this.Location=t,this.RefDirection=n,this.type=3125803723}},e.IfcAxis2Placement3D=class extends li{constructor(e,t,n,s){super(e,t),this.Location=t,this.Axis=n,this.RefDirection=s,this.type=2740243338}};class Pi extends Zs{constructor(e,t,n,s){super(e),this.Operator=t,this.FirstOperand=n,this.SecondOperand=s,this.type=2736907675}}e.IfcBooleanResult=Pi;class qi extends Ri{constructor(e){super(e),this.type=4182860854}}e.IfcBoundedSurface=qi,e.IfcBoundingBox=class extends Zs{constructor(e,t,n,s,i){super(e),this.Corner=t,this.XDim=n,this.YDim=s,this.ZDim=i,this.type=2581212453}},e.IfcBoxedHalfSpace=class extends Js{constructor(e,t,n,s){super(e,t,n),this.BaseSurface=t,this.AgreementFlag=n,this.Enclosure=s,this.type=2713105998}},e.IfcCShapeProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.Width=a,this.WallThickness=l,this.Girth=r,this.InternalFilletRadius=o,this.type=2898889636}},e.IfcCartesianPoint=class extends oi{constructor(e,t){super(e),this.Coordinates=t,this.type=1123145078}};class _i extends Zs{constructor(e){super(e),this.type=574549367}}e.IfcCartesianPointList=_i,e.IfcCartesianPointList2D=class extends _i{constructor(e,t){super(e),this.CoordList=t,this.type=1675464909}},e.IfcCartesianPointList3D=class extends _i{constructor(e,t){super(e),this.CoordList=t,this.type=2059837836}};class Mi extends Zs{constructor(e,t,n,s,i){super(e),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.type=59481748}}e.IfcCartesianTransformationOperator=Mi;class Hi extends Mi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.type=3749851601}}e.IfcCartesianTransformationOperator2D=Hi,e.IfcCartesianTransformationOperator2DnonUniform=class extends Hi{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Scale2=a,this.type=3486308946}};class Bi extends Mi{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Axis3=a,this.type=3331915920}}e.IfcCartesianTransformationOperator3D=Bi,e.IfcCartesianTransformationOperator3DnonUniform=class extends Bi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Axis3=a,this.Scale2=l,this.Scale3=r,this.type=1416205885}};class Ui extends ai{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Radius=i,this.type=1383045692}}e.IfcCircleProfileDef=Ui,e.IfcClosedShell=class extends Gs{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2205249479}},e.IfcColourRgb=class extends Fs{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.Red=n,this.Green=s,this.Blue=i,this.type=776857604}},e.IfcComplexProperty=class extends hi{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.UsageName=s,this.HasProperties=i,this.type=2542286263}};class Fi extends Zs{constructor(e,t,n,s){super(e),this.Transition=t,this.SameSense=n,this.ParentCurve=s,this.type=2485617015}}e.IfcCompositeCurveSegment=Fi;class Gi extends Li{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.type=2574617495}}e.IfcConstructionResourceType=Gi;class Vi extends ii{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.Phase=r,this.RepresentationContexts=o,this.UnitsInContext=c,this.type=3419103109}}e.IfcContext=Vi,e.IfcCrewResourceType=class extends Gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=1815067380}};class ji extends Zs{constructor(e,t){super(e),this.Position=t,this.type=2506170314}}e.IfcCsgPrimitive3D=ji,e.IfcCsgSolid=class extends Ti{constructor(e,t){super(e),this.TreeRootExpression=t,this.type=2147822146}};class zi extends Zs{constructor(e){super(e),this.type=2601014836}}e.IfcCurve=zi,e.IfcCurveBoundedPlane=class extends qi{constructor(e,t,n,s){super(e),this.BasisSurface=t,this.OuterBoundary=n,this.InnerBoundaries=s,this.type=2827736869}},e.IfcCurveBoundedSurface=class extends qi{constructor(e,t,n,s){super(e),this.BasisSurface=t,this.Boundaries=n,this.ImplicitOuter=s,this.type=2629017746}},e.IfcDirection=class extends Zs{constructor(e,t){super(e),this.DirectionRatios=t,this.type=32440307}},e.IfcDoorStyle=class extends Ci{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.OperationType=c,this.ConstructionType=u,this.ParameterTakesPrecedence=p,this.Sizeable=h,this.type=526551008}},e.IfcEdgeLoop=class extends ni{constructor(e,t){super(e),this.EdgeList=t,this.type=1472233963}},e.IfcElementQuantity=class extends mi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.MethodOfMeasurement=a,this.Quantities=l,this.type=1883228015}};class Wi extends Ci{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=339256511}}e.IfcElementType=Wi;class ki extends Ri{constructor(e,t){super(e),this.Position=t,this.type=2777663545}}e.IfcElementarySurface=ki,e.IfcEllipseProfileDef=class extends ai{constructor(e,t,n,s,i,a){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.SemiAxis1=i,this.SemiAxis2=a,this.type=2835456948}},e.IfcEventType=class extends xi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ProcessType=c,this.PredefinedType=u,this.EventTriggerType=p,this.UserDefinedEventTriggerType=h,this.type=4024345920}};class Yi extends Di{constructor(e,t,n,s,i){super(e,t,n),this.SweptArea=t,this.Position=n,this.ExtrudedDirection=s,this.Depth=i,this.type=477187591}}e.IfcExtrudedAreaSolid=Yi,e.IfcExtrudedAreaSolidTapered=class extends Yi{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.SweptArea=t,this.Position=n,this.ExtrudedDirection=s,this.Depth=i,this.EndSweptArea=a,this.type=2804161546}},e.IfcFaceBasedSurfaceModel=class extends Zs{constructor(e,t){super(e),this.FbsmFaces=t,this.type=2047409740}},e.IfcFillAreaStyleHatching=class extends Zs{constructor(e,t,n,s,i,a){super(e),this.HatchLineAppearance=t,this.StartOfNextHatchLine=n,this.PointOfReferenceHatchLine=s,this.PatternStart=i,this.HatchLineAngle=a,this.type=374418227}},e.IfcFillAreaStyleTiles=class extends Zs{constructor(e,t,n,s){super(e),this.TilingPattern=t,this.Tiles=n,this.TilingScale=s,this.type=315944413}},e.IfcFixedReferenceSweptAreaSolid=class extends Di{constructor(e,t,n,s,i,a,l){super(e,t,n),this.SweptArea=t,this.Position=n,this.Directrix=s,this.StartParam=i,this.EndParam=a,this.FixedReference=l,this.type=2652556860}};class Xi extends Wi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=4238390223}}e.IfcFurnishingElementType=Xi,e.IfcFurnitureType=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.AssemblyPlace=u,this.PredefinedType=p,this.type=1268542332}},e.IfcGeographicElementType=class extends Wi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4095422895}},e.IfcGeometricCurveSet=class extends Qs{constructor(e,t){super(e,t),this.Elements=t,this.type=987898635}},e.IfcIShapeProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.OverallWidth=i,this.OverallDepth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.FlangeEdgeRadius=c,this.FlangeSlope=u,this.type=1484403080}};class Ki extends Ni{constructor(e,t){super(e),this.CoordIndex=t,this.type=178912537}}e.IfcIndexedPolygonalFace=Ki,e.IfcIndexedPolygonalFaceWithVoids=class extends Ki{constructor(e,t,n){super(e,t),this.CoordIndex=t,this.InnerCoordIndices=n,this.type=2294589976}},e.IfcLShapeProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.Width=a,this.Thickness=l,this.FilletRadius=r,this.EdgeRadius=o,this.LegSlope=c,this.type=572779678}},e.IfcLaborResourceType=class extends Gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=428585644}},e.IfcLine=class extends zi{constructor(e,t,n){super(e),this.Pnt=t,this.Dir=n,this.type=1281925730}};class Zi extends Ti{constructor(e,t){super(e),this.Outer=t,this.type=1425443689}}e.IfcManifoldSolidBrep=Zi;class Qi extends ii{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=3888040117}}e.IfcObject=Qi,e.IfcOffsetCurve2D=class extends zi{constructor(e,t,n,s){super(e),this.BasisCurve=t,this.Distance=n,this.SelfIntersect=s,this.type=3388369263}},e.IfcOffsetCurve3D=class extends zi{constructor(e,t,n,s,i){super(e),this.BasisCurve=t,this.Distance=n,this.SelfIntersect=s,this.RefDirection=i,this.type=3505215534}},e.IfcPcurve=class extends zi{constructor(e,t,n){super(e),this.BasisSurface=t,this.ReferenceCurve=n,this.type=1682466193}},e.IfcPlanarBox=class extends ri{constructor(e,t,n,s){super(e,t,n),this.SizeInX=t,this.SizeInY=n,this.Placement=s,this.type=603570806}},e.IfcPlane=class extends ki{constructor(e,t){super(e,t),this.Position=t,this.type=220341763}};class Ji extends ci{constructor(e,t){super(e,t),this.Name=t,this.type=759155922}}e.IfcPreDefinedColour=Ji;class $i extends ci{constructor(e,t){super(e,t),this.Name=t,this.type=2559016684}}e.IfcPreDefinedCurveFont=$i;class ea extends fi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=3967405729}}e.IfcPreDefinedPropertySet=ea,e.IfcProcedureType=class extends xi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ProcessType=c,this.PredefinedType=u,this.type=569719735}};class ta extends Qi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.type=2945172077}}e.IfcProcess=ta;class na extends Qi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=4208778838}}e.IfcProduct=na,e.IfcProject=class extends Vi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.Phase=r,this.RepresentationContexts=o,this.UnitsInContext=c,this.type=103090709}},e.IfcProjectLibrary=class extends Vi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.Phase=r,this.RepresentationContexts=o,this.UnitsInContext=c,this.type=653396225}},e.IfcPropertyBoundedValue=class extends wi{constructor(e,t,n,s,i,a,l){super(e,t,n),this.Name=t,this.Description=n,this.UpperBoundValue=s,this.LowerBoundValue=i,this.Unit=a,this.SetPointValue=l,this.type=871118103}},e.IfcPropertyEnumeratedValue=class extends wi{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.EnumerationValues=s,this.EnumerationReference=i,this.type=4166981789}},e.IfcPropertyListValue=class extends wi{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.ListValues=s,this.Unit=i,this.type=2752243245}},e.IfcPropertyReferenceValue=class extends wi{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.UsageName=s,this.PropertyReference=i,this.type=941946838}},e.IfcPropertySet=class extends fi{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.HasProperties=a,this.type=1451395588}},e.IfcPropertySetTemplate=class extends Ii{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.TemplateType=a,this.ApplicableEntity=l,this.HasPropertyTemplates=r,this.type=492091185}},e.IfcPropertySingleValue=class extends wi{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.NominalValue=s,this.Unit=i,this.type=3650150729}},e.IfcPropertyTableValue=class extends wi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n),this.Name=t,this.Description=n,this.DefiningValues=s,this.DefinedValues=i,this.Expression=a,this.DefiningUnit=l,this.DefinedUnit=r,this.CurveInterpolation=o,this.type=110355661}};class sa extends Ii{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=3521284610}}e.IfcPropertyTemplate=sa,e.IfcProxy=class extends na{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.ProxyType=o,this.Tag=c,this.type=3219374653}},e.IfcRectangleHollowProfileDef=class extends yi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.WallThickness=l,this.InnerFilletRadius=r,this.OuterFilletRadius=o,this.type=2770003689}},e.IfcRectangularPyramid=class extends ji{constructor(e,t,n,s,i){super(e,t),this.Position=t,this.XLength=n,this.YLength=s,this.Height=i,this.type=2798486643}},e.IfcRectangularTrimmedSurface=class extends qi{constructor(e,t,n,s,i,a,l,r){super(e),this.BasisSurface=t,this.U1=n,this.V1=s,this.U2=i,this.V2=a,this.Usense=l,this.Vsense=r,this.type=3454111270}},e.IfcReinforcementDefinitionProperties=class extends ea{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.DefinitionType=a,this.ReinforcementSectionDefinitions=l,this.type=3765753017}};class ia extends vi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.type=3939117080}}e.IfcRelAssigns=ia,e.IfcRelAssignsToActor=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingActor=r,this.ActingRole=o,this.type=1683148259}},e.IfcRelAssignsToControl=class extends ia{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingControl=r,this.type=2495723537}};class aa extends ia{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingGroup=r,this.type=1307041759}}e.IfcRelAssignsToGroup=aa,e.IfcRelAssignsToGroupByFactor=class extends aa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingGroup=r,this.Factor=o,this.type=1027710054}},e.IfcRelAssignsToProcess=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingProcess=r,this.QuantityInProcess=o,this.type=4278684876}},e.IfcRelAssignsToProduct=class extends ia{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingProduct=r,this.type=2857406711}},e.IfcRelAssignsToResource=class extends ia{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingResource=r,this.type=205026976}};class la extends vi{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.type=1865459582}}e.IfcRelAssociates=la,e.IfcRelAssociatesApproval=class extends la{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingApproval=l,this.type=4095574036}},e.IfcRelAssociatesClassification=class extends la{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingClassification=l,this.type=919958153}},e.IfcRelAssociatesConstraint=class extends la{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.Intent=l,this.RelatingConstraint=r,this.type=2728634034}},e.IfcRelAssociatesDocument=class extends la{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingDocument=l,this.type=982818633}},e.IfcRelAssociatesLibrary=class extends la{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingLibrary=l,this.type=3840914261}},e.IfcRelAssociatesMaterial=class extends la{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingMaterial=l,this.type=2655215786}};class ra extends vi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=826625072}}e.IfcRelConnects=ra;class oa extends ra{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.type=1204542856}}e.IfcRelConnectsElements=oa,e.IfcRelConnectsPathElements=class extends oa{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.RelatingPriorities=o,this.RelatedPriorities=c,this.RelatedConnectionType=u,this.RelatingConnectionType=p,this.type=3945020480}},e.IfcRelConnectsPortToElement=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingPort=a,this.RelatedElement=l,this.type=4201705270}},e.IfcRelConnectsPorts=class extends ra{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingPort=a,this.RelatedPort=l,this.RealizingElement=r,this.type=3190031847}},e.IfcRelConnectsStructuralActivity=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedStructuralActivity=l,this.type=2127690289}};class ca extends ra{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingStructuralMember=a,this.RelatedStructuralConnection=l,this.AppliedCondition=r,this.AdditionalConditions=o,this.SupportedLength=c,this.ConditionCoordinateSystem=u,this.type=1638771189}}e.IfcRelConnectsStructuralMember=ca,e.IfcRelConnectsWithEccentricity=class extends ca{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingStructuralMember=a,this.RelatedStructuralConnection=l,this.AppliedCondition=r,this.AdditionalConditions=o,this.SupportedLength=c,this.ConditionCoordinateSystem=u,this.ConnectionConstraint=p,this.type=504942748}},e.IfcRelConnectsWithRealizingElements=class extends oa{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.RealizingElements=o,this.ConnectionType=c,this.type=3678494232}},e.IfcRelContainedInSpatialStructure=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedElements=a,this.RelatingStructure=l,this.type=3242617779}},e.IfcRelCoversBldgElements=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingBuildingElement=a,this.RelatedCoverings=l,this.type=886880790}},e.IfcRelCoversSpaces=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedCoverings=l,this.type=2802773753}},e.IfcRelDeclares=class extends vi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingContext=a,this.RelatedDefinitions=l,this.type=2565941209}};class ua extends vi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=2551354335}}e.IfcRelDecomposes=ua;class pa extends vi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=693640335}}e.IfcRelDefines=pa,e.IfcRelDefinesByObject=class extends pa{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingObject=l,this.type=1462361463}},e.IfcRelDefinesByProperties=class extends pa{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingPropertyDefinition=l,this.type=4186316022}},e.IfcRelDefinesByTemplate=class extends pa{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedPropertySets=a,this.RelatingTemplate=l,this.type=307848117}},e.IfcRelDefinesByType=class extends pa{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingType=l,this.type=781010003}},e.IfcRelFillsElement=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingOpeningElement=a,this.RelatedBuildingElement=l,this.type=3940055652}},e.IfcRelFlowControlElements=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedControlElements=a,this.RelatingFlowElement=l,this.type=279856033}},e.IfcRelInterferesElements=class extends ra{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedElement=l,this.InterferenceGeometry=r,this.InterferenceType=o,this.ImpliedOrder=c,this.type=427948657}},e.IfcRelNests=class extends ua{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingObject=a,this.RelatedObjects=l,this.type=3268803585}},e.IfcRelProjectsElement=class extends ua{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedFeatureElement=l,this.type=750771296}},e.IfcRelReferencedInSpatialStructure=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedElements=a,this.RelatingStructure=l,this.type=1245217292}},e.IfcRelSequence=class extends ra{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingProcess=a,this.RelatedProcess=l,this.TimeLag=r,this.SequenceType=o,this.UserDefinedSequenceType=c,this.type=4122056220}},e.IfcRelServicesBuildings=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSystem=a,this.RelatedBuildings=l,this.type=366585022}};class ha extends ra{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedBuildingElement=l,this.ConnectionGeometry=r,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=c,this.type=3451746338}}e.IfcRelSpaceBoundary=ha;class da extends ha{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedBuildingElement=l,this.ConnectionGeometry=r,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=c,this.ParentBoundary=u,this.type=3523091289}}e.IfcRelSpaceBoundary1stLevel=da,e.IfcRelSpaceBoundary2ndLevel=class extends da{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedBuildingElement=l,this.ConnectionGeometry=r,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=c,this.ParentBoundary=u,this.CorrespondingBoundary=p,this.type=1521410863}},e.IfcRelVoidsElement=class extends ua{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingBuildingElement=a,this.RelatedOpeningElement=l,this.type=1401173127}},e.IfcReparametrisedCompositeCurveSegment=class extends Fi{constructor(e,t,n,s,i){super(e,t,n,s),this.Transition=t,this.SameSense=n,this.ParentCurve=s,this.ParamLength=i,this.type=816062949}};class fa extends Qi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.type=2914609552}}e.IfcResource=fa;class Ia extends Di{constructor(e,t,n,s,i){super(e,t,n),this.SweptArea=t,this.Position=n,this.Axis=s,this.Angle=i,this.type=1856042241}}e.IfcRevolvedAreaSolid=Ia,e.IfcRevolvedAreaSolidTapered=class extends Ia{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.SweptArea=t,this.Position=n,this.Axis=s,this.Angle=i,this.EndSweptArea=a,this.type=3243963512}},e.IfcRightCircularCone=class extends ji{constructor(e,t,n,s){super(e,t),this.Position=t,this.Height=n,this.BottomRadius=s,this.type=4158566097}},e.IfcRightCircularCylinder=class extends ji{constructor(e,t,n,s){super(e,t),this.Position=t,this.Height=n,this.Radius=s,this.type=3626867408}},e.IfcSimplePropertyTemplate=class extends sa{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.TemplateType=a,this.PrimaryMeasureType=l,this.SecondaryMeasureType=r,this.Enumerators=o,this.PrimaryUnit=c,this.SecondaryUnit=u,this.Expression=p,this.AccessState=h,this.type=3663146110}};class ma extends na{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.type=1412071761}}e.IfcSpatialElement=ma;class ya extends Ci{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=710998568}}e.IfcSpatialElementType=ya;class va extends ma{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.type=2706606064}}e.IfcSpatialStructureElement=va;class wa extends ya{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3893378262}}e.IfcSpatialStructureElementType=wa,e.IfcSpatialZone=class extends ma{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.PredefinedType=c,this.type=463610769}},e.IfcSpatialZoneType=class extends ya{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.LongName=p,this.type=2481509218}},e.IfcSphere=class extends ji{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=451544542}},e.IfcSphericalSurface=class extends ki{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=4015995234}};class Ta extends na{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=3544373492}}e.IfcStructuralActivity=Ta;class Ea extends na{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=3136571912}}e.IfcStructuralItem=Ea;class ga extends Ea{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=530289379}}e.IfcStructuralMember=ga;class Ra extends Ta{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=3689010777}}e.IfcStructuralReaction=Ra;class Da extends ga{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Thickness=c,this.type=3979015343}}e.IfcStructuralSurfaceMember=Da,e.IfcStructuralSurfaceMemberVarying=class extends Da{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Thickness=c,this.type=2218152070}},e.IfcStructuralSurfaceReaction=class extends Ra{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.PredefinedType=u,this.type=603775116}},e.IfcSubContractResourceType=class extends Gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=4095615324}};class Sa extends zi{constructor(e,t,n,s){super(e),this.Curve3D=t,this.AssociatedGeometry=n,this.MasterRepresentation=s,this.type=699246055}}e.IfcSurfaceCurve=Sa,e.IfcSurfaceCurveSweptAreaSolid=class extends Di{constructor(e,t,n,s,i,a,l){super(e,t,n),this.SweptArea=t,this.Position=n,this.Directrix=s,this.StartParam=i,this.EndParam=a,this.ReferenceSurface=l,this.type=2028607225}},e.IfcSurfaceOfLinearExtrusion=class extends bi{constructor(e,t,n,s,i){super(e,t,n),this.SweptCurve=t,this.Position=n,this.ExtrudedDirection=s,this.Depth=i,this.type=2809605785}},e.IfcSurfaceOfRevolution=class extends bi{constructor(e,t,n,s){super(e,t,n),this.SweptCurve=t,this.Position=n,this.AxisPosition=s,this.type=4124788165}},e.IfcSystemFurnitureElementType=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1580310250}},e.IfcTask=class extends ta{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Status=o,this.WorkMethod=c,this.IsMilestone=u,this.Priority=p,this.TaskTime=h,this.PredefinedType=d,this.type=3473067441}},e.IfcTaskType=class extends xi{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ProcessType=c,this.PredefinedType=u,this.WorkMethod=p,this.type=3206491090}};class ba extends Ni{constructor(e,t){super(e),this.Coordinates=t,this.type=2387106220}}e.IfcTessellatedFaceSet=ba,e.IfcToroidalSurface=class extends ki{constructor(e,t,n,s){super(e,t),this.Position=t,this.MajorRadius=n,this.MinorRadius=s,this.type=1935646853}},e.IfcTransportElementType=class extends Wi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2097647324}},e.IfcTriangulatedFaceSet=class extends ba{constructor(e,t,n,s,i,a){super(e,t),this.Coordinates=t,this.Normals=n,this.Closed=s,this.CoordIndex=i,this.PnIndex=a,this.type=2916149573}},e.IfcWindowLiningProperties=class extends ea{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.LiningDepth=a,this.LiningThickness=l,this.TransomThickness=r,this.MullionThickness=o,this.FirstTransomOffset=c,this.SecondTransomOffset=u,this.FirstMullionOffset=p,this.SecondMullionOffset=h,this.ShapeAspectStyle=d,this.LiningOffset=f,this.LiningToPanelOffsetX=I,this.LiningToPanelOffsetY=m,this.type=336235671}},e.IfcWindowPanelProperties=class extends ea{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.OperationType=a,this.PanelPosition=l,this.FrameDepth=r,this.FrameThickness=o,this.ShapeAspectStyle=c,this.type=512836454}};class Na extends Qi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheActor=l,this.type=2296667514}}e.IfcActor=Na;class Oa extends Zi{constructor(e,t){super(e,t),this.Outer=t,this.type=1635779807}}e.IfcAdvancedBrep=Oa,e.IfcAdvancedBrepWithVoids=class extends Oa{constructor(e,t,n){super(e,t),this.Outer=t,this.Voids=n,this.type=2603310189}},e.IfcAnnotation=class extends na{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=1674181508}};class Aa extends qi{constructor(e,t,n,s,i,a,l,r){super(e),this.UDegree=t,this.VDegree=n,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=a,this.VClosed=l,this.SelfIntersect=r,this.type=2887950389}}e.IfcBSplineSurface=Aa;class xa extends Aa{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r),this.UDegree=t,this.VDegree=n,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=a,this.VClosed=l,this.SelfIntersect=r,this.UMultiplicities=o,this.VMultiplicities=c,this.UKnots=u,this.VKnots=p,this.KnotSpec=h,this.type=167062518}}e.IfcBSplineSurfaceWithKnots=xa,e.IfcBlock=class extends ji{constructor(e,t,n,s,i){super(e,t),this.Position=t,this.XLength=n,this.YLength=s,this.ZLength=i,this.type=1334484129}},e.IfcBooleanClippingResult=class extends Pi{constructor(e,t,n,s){super(e,t,n,s),this.Operator=t,this.FirstOperand=n,this.SecondOperand=s,this.type=3649129432}};class Ca extends zi{constructor(e){super(e),this.type=1260505505}}e.IfcBoundedCurve=Ca,e.IfcBuilding=class extends va{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.ElevationOfRefHeight=u,this.ElevationOfTerrain=p,this.BuildingAddress=h,this.type=4031249490}};class La extends Wi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1950629157}}e.IfcBuildingElementType=La,e.IfcBuildingStorey=class extends va{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.Elevation=u,this.type=3124254112}},e.IfcChimneyType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2197970202}},e.IfcCircleHollowProfileDef=class extends Ui{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Radius=i,this.WallThickness=a,this.type=2937912522}},e.IfcCivilElementType=class extends Wi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3893394355}},e.IfcColumnType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=300633059}},e.IfcComplexPropertyTemplate=class extends sa{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.UsageName=a,this.TemplateType=l,this.HasPropertyTemplates=r,this.type=3875453745}};class Pa extends Ca{constructor(e,t,n){super(e),this.Segments=t,this.SelfIntersect=n,this.type=3732776249}}e.IfcCompositeCurve=Pa;class qa extends Pa{constructor(e,t,n){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.type=15328376}}e.IfcCompositeCurveOnSurface=qa;class _a extends zi{constructor(e,t){super(e),this.Position=t,this.type=2510884976}}e.IfcConic=_a,e.IfcConstructionEquipmentResourceType=class extends Gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=2185764099}},e.IfcConstructionMaterialResourceType=class extends Gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=4105962743}},e.IfcConstructionProductResourceType=class extends Gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=1525564444}};class Ma extends fa{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.type=2559216714}}e.IfcConstructionResource=Ma;class Ha extends Qi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.type=3293443760}}e.IfcControl=Ha,e.IfcCostItem=class extends Ha{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.CostValues=o,this.CostQuantities=c,this.type=3895139033}},e.IfcCostSchedule=class extends Ha{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.Status=o,this.SubmittedOn=c,this.UpdateDate=u,this.type=1419761937}},e.IfcCoveringType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1916426348}},e.IfcCrewResource=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=3295246426}},e.IfcCurtainWallType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1457835157}},e.IfcCylindricalSurface=class extends ki{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=1213902940}};class Ba extends Wi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3256556792}}e.IfcDistributionElementType=Ba;class Ua extends Ba{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3849074793}}e.IfcDistributionFlowElementType=Ua,e.IfcDoorLiningProperties=class extends ea{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.LiningDepth=a,this.LiningThickness=l,this.ThresholdDepth=r,this.ThresholdThickness=o,this.TransomThickness=c,this.TransomOffset=u,this.LiningOffset=p,this.ThresholdOffset=h,this.CasingThickness=d,this.CasingDepth=f,this.ShapeAspectStyle=I,this.LiningToPanelOffsetX=m,this.LiningToPanelOffsetY=y,this.type=2963535650}},e.IfcDoorPanelProperties=class extends ea{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.PanelDepth=a,this.PanelOperation=l,this.PanelWidth=r,this.PanelPosition=o,this.ShapeAspectStyle=c,this.type=1714330368}},e.IfcDoorType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.OperationType=p,this.ParameterTakesPrecedence=h,this.UserDefinedOperationType=d,this.type=2323601079}},e.IfcDraughtingPreDefinedColour=class extends Ji{constructor(e,t){super(e,t),this.Name=t,this.type=445594917}},e.IfcDraughtingPreDefinedCurveFont=class extends $i{constructor(e,t){super(e,t),this.Name=t,this.type=4006246654}};class Fa extends na{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1758889154}}e.IfcElement=Fa,e.IfcElementAssembly=class extends Fa{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.AssemblyPlace=c,this.PredefinedType=u,this.type=4123344466}},e.IfcElementAssemblyType=class extends Wi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2397081782}};class Ga extends Fa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1623761950}}e.IfcElementComponent=Ga;class Va extends Wi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2590856083}}e.IfcElementComponentType=Va,e.IfcEllipse=class extends _a{constructor(e,t,n,s){super(e,t),this.Position=t,this.SemiAxis1=n,this.SemiAxis2=s,this.type=1704287377}};class ja extends Ua{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2107101300}}e.IfcEnergyConversionDeviceType=ja,e.IfcEngineType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=132023988}},e.IfcEvaporativeCoolerType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3174744832}},e.IfcEvaporatorType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3390157468}},e.IfcEvent=class extends ta{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.PredefinedType=o,this.EventTriggerType=c,this.UserDefinedEventTriggerType=u,this.EventOccurenceTime=p,this.type=4148101412}};class za extends ma{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.type=2853485674}}e.IfcExternalSpatialStructureElement=za;class Wa extends Zi{constructor(e,t){super(e,t),this.Outer=t,this.type=807026263}}e.IfcFacetedBrep=Wa,e.IfcFacetedBrepWithVoids=class extends Wa{constructor(e,t,n){super(e,t),this.Outer=t,this.Voids=n,this.type=3737207727}},e.IfcFastener=class extends Ga{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=647756555}},e.IfcFastenerType=class extends Va{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2489546625}};class ka extends Fa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2827207264}}e.IfcFeatureElement=ka;class Ya extends ka{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2143335405}}e.IfcFeatureElementAddition=Ya;class Xa extends ka{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1287392070}}e.IfcFeatureElementSubtraction=Xa;class Ka extends Ua{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3907093117}}e.IfcFlowControllerType=Ka;class Za extends Ua{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3198132628}}e.IfcFlowFittingType=Za,e.IfcFlowMeterType=class extends Ka{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3815607619}};class Qa extends Ua{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1482959167}}e.IfcFlowMovingDeviceType=Qa;class Ja extends Ua{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1834744321}}e.IfcFlowSegmentType=Ja;class $a extends Ua{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1339347760}}e.IfcFlowStorageDeviceType=$a;class el extends Ua{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2297155007}}e.IfcFlowTerminalType=el;class tl extends Ua{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3009222698}}e.IfcFlowTreatmentDeviceType=tl,e.IfcFootingType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1893162501}};class nl extends Fa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=263784265}}e.IfcFurnishingElement=nl,e.IfcFurniture=class extends nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1509553395}},e.IfcGeographicElement=class extends Fa{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3493046030}},e.IfcGrid=class extends na{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.UAxes=o,this.VAxes=c,this.WAxes=u,this.PredefinedType=p,this.type=3009204131}};class sl extends Qi{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2706460486}}e.IfcGroup=sl,e.IfcHeatExchangerType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1251058090}},e.IfcHumidifierType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1806887404}},e.IfcIndexedPolyCurve=class extends Ca{constructor(e,t,n,s){super(e),this.Points=t,this.Segments=n,this.SelfIntersect=s,this.type=2571569899}},e.IfcInterceptorType=class extends tl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3946677679}},e.IfcIntersectionCurve=class extends Sa{constructor(e,t,n,s){super(e,t,n,s),this.Curve3D=t,this.AssociatedGeometry=n,this.MasterRepresentation=s,this.type=3113134337}},e.IfcInventory=class extends sl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.Jurisdiction=r,this.ResponsiblePersons=o,this.LastUpdateDate=c,this.CurrentValue=u,this.OriginalValue=p,this.type=2391368822}},e.IfcJunctionBoxType=class extends Za{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4288270099}},e.IfcLaborResource=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=3827777499}},e.IfcLampType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1051575348}},e.IfcLightFixtureType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1161773419}},e.IfcMechanicalFastener=class extends Ga{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.NominalDiameter=c,this.NominalLength=u,this.PredefinedType=p,this.type=377706215}},e.IfcMechanicalFastenerType=class extends Va{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.NominalDiameter=p,this.NominalLength=h,this.type=2108223431}},e.IfcMedicalDeviceType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1114901282}},e.IfcMemberType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3181161470}},e.IfcMotorConnectionType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=977012517}},e.IfcOccupant=class extends Na{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheActor=l,this.PredefinedType=r,this.type=4143007308}};class il extends Xa{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3588315303}}e.IfcOpeningElement=il,e.IfcOpeningStandardCase=class extends il{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3079942009}},e.IfcOutletType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2837617999}},e.IfcPerformanceHistory=class extends Ha{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LifeCyclePhase=r,this.PredefinedType=o,this.type=2382730787}},e.IfcPermeableCoveringProperties=class extends ea{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.OperationType=a,this.PanelPosition=l,this.FrameDepth=r,this.FrameThickness=o,this.ShapeAspectStyle=c,this.type=3566463478}},e.IfcPermit=class extends Ha{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.Status=o,this.LongDescription=c,this.type=3327091369}},e.IfcPileType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1158309216}},e.IfcPipeFittingType=class extends Za{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=804291784}},e.IfcPipeSegmentType=class extends Ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4231323485}},e.IfcPlateType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4017108033}},e.IfcPolygonalFaceSet=class extends ba{constructor(e,t,n,s,i){super(e,t),this.Coordinates=t,this.Closed=n,this.Faces=s,this.PnIndex=i,this.type=2839578677}},e.IfcPolyline=class extends Ca{constructor(e,t){super(e),this.Points=t,this.type=3724593414}};class al extends na{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=3740093272}}e.IfcPort=al,e.IfcProcedure=class extends ta{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.PredefinedType=o,this.type=2744685151}},e.IfcProjectOrder=class extends Ha{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.Status=o,this.LongDescription=c,this.type=2904328755}},e.IfcProjectionElement=class extends Ya{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3651124850}},e.IfcProtectiveDeviceType=class extends Ka{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1842657554}},e.IfcPumpType=class extends Qa{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2250791053}},e.IfcRailingType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2893384427}},e.IfcRampFlightType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2324767716}},e.IfcRampType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1469900589}},e.IfcRationalBSplineSurfaceWithKnots=class extends xa{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c,u,p,h),this.UDegree=t,this.VDegree=n,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=a,this.VClosed=l,this.SelfIntersect=r,this.UMultiplicities=o,this.VMultiplicities=c,this.UKnots=u,this.VKnots=p,this.KnotSpec=h,this.WeightsData=d,this.type=683857671}};class ll extends Ga{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.type=3027567501}}e.IfcReinforcingElement=ll;class rl extends Va{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=964333572}}e.IfcReinforcingElementType=rl,e.IfcReinforcingMesh=class extends ll{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.MeshLength=u,this.MeshWidth=p,this.LongitudinalBarNominalDiameter=h,this.TransverseBarNominalDiameter=d,this.LongitudinalBarCrossSectionArea=f,this.TransverseBarCrossSectionArea=I,this.LongitudinalBarSpacing=m,this.TransverseBarSpacing=y,this.PredefinedType=v,this.type=2320036040}},e.IfcReinforcingMeshType=class extends rl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.MeshLength=p,this.MeshWidth=h,this.LongitudinalBarNominalDiameter=d,this.TransverseBarNominalDiameter=f,this.LongitudinalBarCrossSectionArea=I,this.TransverseBarCrossSectionArea=m,this.LongitudinalBarSpacing=y,this.TransverseBarSpacing=v,this.BendingShapeCode=w,this.BendingParameters=T,this.type=2310774935}},e.IfcRelAggregates=class extends ua{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingObject=a,this.RelatedObjects=l,this.type=160246688}},e.IfcRoofType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2781568857}},e.IfcSanitaryTerminalType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1768891740}},e.IfcSeamCurve=class extends Sa{constructor(e,t,n,s){super(e,t,n,s),this.Curve3D=t,this.AssociatedGeometry=n,this.MasterRepresentation=s,this.type=2157484638}},e.IfcShadingDeviceType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4074543187}},e.IfcSite=class extends va{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.RefLatitude=u,this.RefLongitude=p,this.RefElevation=h,this.LandTitleNumber=d,this.SiteAddress=f,this.type=4097777520}},e.IfcSlabType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2533589738}},e.IfcSolarDeviceType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1072016465}},e.IfcSpace=class extends va{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.PredefinedType=u,this.ElevationWithFlooring=p,this.type=3856911033}},e.IfcSpaceHeaterType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1305183839}},e.IfcSpaceType=class extends wa{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.LongName=p,this.type=3812236995}},e.IfcStackTerminalType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3112655638}},e.IfcStairFlightType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1039846685}},e.IfcStairType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=338393293}};class ol extends Ta{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.type=682877961}}e.IfcStructuralAction=ol;class cl extends Ea{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.type=1179482911}}e.IfcStructuralConnection=cl;class ul extends ol{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.ProjectedOrTrue=p,this.PredefinedType=h,this.type=1004757350}}e.IfcStructuralCurveAction=ul,e.IfcStructuralCurveConnection=class extends cl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.Axis=c,this.type=4243806635}};class pl extends ga{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Axis=c,this.type=214636428}}e.IfcStructuralCurveMember=pl,e.IfcStructuralCurveMemberVarying=class extends pl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Axis=c,this.type=2445595289}},e.IfcStructuralCurveReaction=class extends Ra{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.PredefinedType=u,this.type=2757150158}},e.IfcStructuralLinearAction=class extends ul{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p,h),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.ProjectedOrTrue=p,this.PredefinedType=h,this.type=1807405624}};class hl extends sl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.ActionType=r,this.ActionSource=o,this.Coefficient=c,this.Purpose=u,this.type=1252848954}}e.IfcStructuralLoadGroup=hl,e.IfcStructuralPointAction=class extends ol{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.type=2082059205}},e.IfcStructuralPointConnection=class extends cl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.ConditionCoordinateSystem=c,this.type=734778138}},e.IfcStructuralPointReaction=class extends Ra{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=1235345126}},e.IfcStructuralResultGroup=class extends sl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheoryType=l,this.ResultForLoadGroup=r,this.IsLinear=o,this.type=2986769608}};class dl extends ol{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.ProjectedOrTrue=p,this.PredefinedType=h,this.type=3657597509}}e.IfcStructuralSurfaceAction=dl,e.IfcStructuralSurfaceConnection=class extends cl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.type=1975003073}},e.IfcSubContractResource=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=148013059}},e.IfcSurfaceFeature=class extends ka{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3101698114}},e.IfcSwitchingDeviceType=class extends Ka{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2315554128}};class fl extends sl{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2254336722}}e.IfcSystem=fl,e.IfcSystemFurnitureElement=class extends nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=413509423}},e.IfcTankType=class extends $a{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=5716631}},e.IfcTendon=class extends ll{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.PredefinedType=u,this.NominalDiameter=p,this.CrossSectionArea=h,this.TensionForce=d,this.PreStress=f,this.FrictionCoefficient=I,this.AnchorageSlip=m,this.MinCurvatureRadius=y,this.type=3824725483}},e.IfcTendonAnchor=class extends ll{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.PredefinedType=u,this.type=2347447852}},e.IfcTendonAnchorType=class extends rl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3081323446}},e.IfcTendonType=class extends rl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.NominalDiameter=p,this.CrossSectionArea=h,this.SheathDiameter=d,this.type=2415094496}},e.IfcTransformerType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1692211062}},e.IfcTransportElement=class extends Fa{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1620046519}},e.IfcTrimmedCurve=class extends Ca{constructor(e,t,n,s,i,a){super(e),this.BasisCurve=t,this.Trim1=n,this.Trim2=s,this.SenseAgreement=i,this.MasterRepresentation=a,this.type=3593883385}},e.IfcTubeBundleType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1600972822}},e.IfcUnitaryEquipmentType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1911125066}},e.IfcValveType=class extends Ka{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=728799441}},e.IfcVibrationIsolator=class extends Ga{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2391383451}},e.IfcVibrationIsolatorType=class extends Va{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3313531582}},e.IfcVirtualElement=class extends Fa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2769231204}},e.IfcVoidingFeature=class extends Xa{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=926996030}},e.IfcWallType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1898987631}},e.IfcWasteTerminalType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1133259667}},e.IfcWindowType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.PartitioningType=p,this.ParameterTakesPrecedence=h,this.UserDefinedPartitioningType=d,this.type=4009809668}},e.IfcWorkCalendar=class extends Ha{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.WorkingTimes=r,this.ExceptionTimes=o,this.PredefinedType=c,this.type=4088093105}};class Il extends Ha{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.type=1028945134}}e.IfcWorkControl=Il,e.IfcWorkPlan=class extends Il{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.PredefinedType=f,this.type=4218914973}},e.IfcWorkSchedule=class extends Il{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.PredefinedType=f,this.type=3342526732}},e.IfcZone=class extends fl{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.type=1033361043}},e.IfcActionRequest=class extends Ha{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.Status=o,this.LongDescription=c,this.type=3821786052}},e.IfcAirTerminalBoxType=class extends Ka{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1411407467}},e.IfcAirTerminalType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3352864051}},e.IfcAirToAirHeatRecoveryType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1871374353}},e.IfcAsset=class extends sl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.OriginalValue=r,this.CurrentValue=o,this.TotalReplacementCost=c,this.Owner=u,this.User=p,this.ResponsiblePerson=h,this.IncorporationDate=d,this.DepreciatedValue=f,this.type=3460190687}},e.IfcAudioVisualApplianceType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1532957894}};class ml extends Ca{constructor(e,t,n,s,i,a){super(e),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.type=1967976161}}e.IfcBSplineCurve=ml;class yl extends ml{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.KnotMultiplicities=l,this.Knots=r,this.KnotSpec=o,this.type=2461110595}}e.IfcBSplineCurveWithKnots=yl,e.IfcBeamType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=819618141}},e.IfcBoilerType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=231477066}};class vl extends qa{constructor(e,t,n){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.type=1136057603}}e.IfcBoundaryCurve=vl;class wl extends Fa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3299480353}}e.IfcBuildingElement=wl,e.IfcBuildingElementPart=class extends Ga{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2979338954}},e.IfcBuildingElementPartType=class extends Va{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=39481116}},e.IfcBuildingElementProxy=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1095909175}},e.IfcBuildingElementProxyType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1909888760}},e.IfcBuildingSystem=class extends fl{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.LongName=r,this.type=1177604601}},e.IfcBurnerType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2188180465}},e.IfcCableCarrierFittingType=class extends Za{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=395041908}},e.IfcCableCarrierSegmentType=class extends Ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3293546465}},e.IfcCableFittingType=class extends Za{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2674252688}},e.IfcCableSegmentType=class extends Ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1285652485}},e.IfcChillerType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2951183804}},e.IfcChimney=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3296154744}},e.IfcCircle=class extends _a{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=2611217952}},e.IfcCivilElement=class extends Fa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1677625105}},e.IfcCoilType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2301859152}};class Tl extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=843113511}}e.IfcColumn=Tl,e.IfcColumnStandardCase=class extends Tl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=905975707}},e.IfcCommunicationsApplianceType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=400855858}},e.IfcCompressorType=class extends Qa{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3850581409}},e.IfcCondenserType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2816379211}},e.IfcConstructionEquipmentResource=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=3898045240}},e.IfcConstructionMaterialResource=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=1060000209}},e.IfcConstructionProductResource=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=488727124}},e.IfcCooledBeamType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=335055490}},e.IfcCoolingTowerType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2954562838}},e.IfcCovering=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1973544240}},e.IfcCurtainWall=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3495092785}},e.IfcDamperType=class extends Ka{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3961806047}},e.IfcDiscreteAccessory=class extends Ga{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1335981549}},e.IfcDiscreteAccessoryType=class extends Va{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2635815018}},e.IfcDistributionChamberElementType=class extends Ua{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1599208980}};class El extends Ba{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2063403501}}e.IfcDistributionControlElementType=El;class gl extends Fa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1945004755}}e.IfcDistributionElement=gl;class Rl extends gl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3040386961}}e.IfcDistributionFlowElement=Rl,e.IfcDistributionPort=class extends al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.FlowDirection=o,this.PredefinedType=c,this.SystemType=u,this.type=3041715199}};class Dl extends fl{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.PredefinedType=r,this.type=3205830791}}e.IfcDistributionSystem=Dl;class Sl extends wl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OverallHeight=c,this.OverallWidth=u,this.PredefinedType=p,this.OperationType=h,this.UserDefinedOperationType=d,this.type=395920057}}e.IfcDoor=Sl,e.IfcDoorStandardCase=class extends Sl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OverallHeight=c,this.OverallWidth=u,this.PredefinedType=p,this.OperationType=h,this.UserDefinedOperationType=d,this.type=3242481149}},e.IfcDuctFittingType=class extends Za{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=869906466}},e.IfcDuctSegmentType=class extends Ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3760055223}},e.IfcDuctSilencerType=class extends tl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2030761528}},e.IfcElectricApplianceType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=663422040}},e.IfcElectricDistributionBoardType=class extends Ka{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2417008758}},e.IfcElectricFlowStorageDeviceType=class extends $a{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3277789161}},e.IfcElectricGeneratorType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1534661035}},e.IfcElectricMotorType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1217240411}},e.IfcElectricTimeControlType=class extends Ka{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=712377611}};class bl extends Rl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1658829314}}e.IfcEnergyConversionDevice=bl,e.IfcEngine=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2814081492}},e.IfcEvaporativeCooler=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3747195512}},e.IfcEvaporator=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=484807127}},e.IfcExternalSpatialElement=class extends za{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.PredefinedType=c,this.type=1209101575}},e.IfcFanType=class extends Qa{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=346874300}},e.IfcFilterType=class extends tl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1810631287}},e.IfcFireSuppressionTerminalType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4222183408}};class Nl extends Rl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2058353004}}e.IfcFlowController=Nl;class Ol extends Rl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=4278956645}}e.IfcFlowFitting=Ol,e.IfcFlowInstrumentType=class extends El{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4037862832}},e.IfcFlowMeter=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2188021234}};class Al extends Rl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3132237377}}e.IfcFlowMovingDevice=Al;class xl extends Rl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=987401354}}e.IfcFlowSegment=xl;class Cl extends Rl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=707683696}}e.IfcFlowStorageDevice=Cl;class Ll extends Rl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2223149337}}e.IfcFlowTerminal=Ll;class Pl extends Rl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3508470533}}e.IfcFlowTreatmentDevice=Pl,e.IfcFooting=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=900683007}},e.IfcHeatExchanger=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3319311131}},e.IfcHumidifier=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2068733104}},e.IfcInterceptor=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4175244083}},e.IfcJunctionBox=class extends Ol{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2176052936}},e.IfcLamp=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=76236018}},e.IfcLightFixture=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=629592764}},e.IfcMedicalDevice=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1437502449}};class ql extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1073191201}}e.IfcMember=ql,e.IfcMemberStandardCase=class extends ql{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1911478936}},e.IfcMotorConnection=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2474470126}},e.IfcOuterBoundaryCurve=class extends vl{constructor(e,t,n){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.type=144952367}},e.IfcOutlet=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3694346114}},e.IfcPile=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.ConstructionType=u,this.type=1687234759}},e.IfcPipeFitting=class extends Ol{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=310824031}},e.IfcPipeSegment=class extends xl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3612865200}};class _l extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3171933400}}e.IfcPlate=_l,e.IfcPlateStandardCase=class extends _l{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1156407060}},e.IfcProtectiveDevice=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=738039164}},e.IfcProtectiveDeviceTrippingUnitType=class extends El{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=655969474}},e.IfcPump=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=90941305}},e.IfcRailing=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2262370178}},e.IfcRamp=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3024970846}},e.IfcRampFlight=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3283111854}},e.IfcRationalBSplineCurveWithKnots=class extends yl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.KnotMultiplicities=l,this.Knots=r,this.KnotSpec=o,this.WeightsData=c,this.type=1232101972}},e.IfcReinforcingBar=class extends ll{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.NominalDiameter=u,this.CrossSectionArea=p,this.BarLength=h,this.PredefinedType=d,this.BarSurface=f,this.type=979691226}},e.IfcReinforcingBarType=class extends rl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.NominalDiameter=p,this.CrossSectionArea=h,this.BarLength=d,this.BarSurface=f,this.BendingShapeCode=I,this.BendingParameters=m,this.type=2572171363}},e.IfcRoof=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2016517767}},e.IfcSanitaryTerminal=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3053780830}},e.IfcSensorType=class extends El{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1783015770}},e.IfcShadingDevice=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1329646415}};class Ml extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1529196076}}e.IfcSlab=Ml,e.IfcSlabElementedCase=class extends Ml{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3127900445}},e.IfcSlabStandardCase=class extends Ml{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3027962421}},e.IfcSolarDevice=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3420628829}},e.IfcSpaceHeater=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1999602285}},e.IfcStackTerminal=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1404847402}},e.IfcStair=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=331165859}},e.IfcStairFlight=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.NumberOfRisers=c,this.NumberOfTreads=u,this.RiserHeight=p,this.TreadLength=h,this.PredefinedType=d,this.type=4252922144}},e.IfcStructuralAnalysisModel=class extends fl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.OrientationOf2DPlane=r,this.LoadedBy=o,this.HasResults=c,this.SharedPlacement=u,this.type=2515109513}},e.IfcStructuralLoadCase=class extends hl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.ActionType=r,this.ActionSource=o,this.Coefficient=c,this.Purpose=u,this.SelfWeightCoefficients=p,this.type=385403989}},e.IfcStructuralPlanarAction=class extends dl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p,h),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.ProjectedOrTrue=p,this.PredefinedType=h,this.type=1621171031}},e.IfcSwitchingDevice=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1162798199}},e.IfcTank=class extends Cl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=812556717}},e.IfcTransformer=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3825984169}},e.IfcTubeBundle=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3026737570}},e.IfcUnitaryControlElementType=class extends El{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3179687236}},e.IfcUnitaryEquipment=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4292641817}},e.IfcValve=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4207607924}};class Hl extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2391406946}}e.IfcWall=Hl,e.IfcWallElementedCase=class extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4156078855}},e.IfcWallStandardCase=class extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3512223829}},e.IfcWasteTerminal=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4237592921}};class Bl extends wl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OverallHeight=c,this.OverallWidth=u,this.PredefinedType=p,this.PartitioningType=h,this.UserDefinedPartitioningType=d,this.type=3304561284}}e.IfcWindow=Bl,e.IfcWindowStandardCase=class extends Bl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OverallHeight=c,this.OverallWidth=u,this.PredefinedType=p,this.PartitioningType=h,this.UserDefinedPartitioningType=d,this.type=486154966}},e.IfcActuatorType=class extends El{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2874132201}},e.IfcAirTerminal=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1634111441}},e.IfcAirTerminalBox=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=177149247}},e.IfcAirToAirHeatRecovery=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2056796094}},e.IfcAlarmType=class extends El{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3001207471}},e.IfcAudioVisualAppliance=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=277319702}};class Ul extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=753842376}}e.IfcBeam=Ul,e.IfcBeamStandardCase=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2906023776}},e.IfcBoiler=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=32344328}},e.IfcBurner=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2938176219}},e.IfcCableCarrierFitting=class extends Ol{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=635142910}},e.IfcCableCarrierSegment=class extends xl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3758799889}},e.IfcCableFitting=class extends Ol{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1051757585}},e.IfcCableSegment=class extends xl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4217484030}},e.IfcChiller=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3902619387}},e.IfcCoil=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=639361253}},e.IfcCommunicationsAppliance=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3221913625}},e.IfcCompressor=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3571504051}},e.IfcCondenser=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2272882330}},e.IfcControllerType=class extends El{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=578613899}},e.IfcCooledBeam=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4136498852}},e.IfcCoolingTower=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3640358203}},e.IfcDamper=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4074379575}},e.IfcDistributionChamberElement=class extends Rl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1052013943}},e.IfcDistributionCircuit=class extends Dl{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.PredefinedType=r,this.type=562808652}};class Fl extends gl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1062813311}}e.IfcDistributionControlElement=Fl,e.IfcDuctFitting=class extends Ol{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=342316401}},e.IfcDuctSegment=class extends xl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3518393246}},e.IfcDuctSilencer=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1360408905}},e.IfcElectricAppliance=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1904799276}},e.IfcElectricDistributionBoard=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=862014818}},e.IfcElectricFlowStorageDevice=class extends Cl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3310460725}},e.IfcElectricGenerator=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=264262732}},e.IfcElectricMotor=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=402227799}},e.IfcElectricTimeControl=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1003880860}},e.IfcFan=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3415622556}},e.IfcFilter=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=819412036}},e.IfcFireSuppressionTerminal=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1426591983}},e.IfcFlowInstrument=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=182646315}},e.IfcProtectiveDeviceTrippingUnit=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2295281155}},e.IfcSensor=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4086658281}},e.IfcUnitaryControlElement=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=630975310}},e.IfcActuator=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4288193352}},e.IfcAlarm=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3087945054}},e.IfcController=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=25142252}}}(l||(l={})),qm[3]=[\"IFC4X3\"],Om[3]={3630933823:(e,t)=>new r.IfcActorRole(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcText(t[2].value):null),618182010:(e,t)=>new r.IfcAddress(e,t[0],t[1]?new r.IfcText(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null),2879124712:(e,t)=>new r.IfcAlignmentParameterSegment(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null),3633395639:(e,t)=>new r.IfcAlignmentVerticalSegment(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,new r.IfcLengthMeasure(t[2].value),new r.IfcNonNegativeLengthMeasure(t[3].value),new r.IfcLengthMeasure(t[4].value),new r.IfcRatioMeasure(t[5].value),new r.IfcRatioMeasure(t[6].value),t[7]?new r.IfcLengthMeasure(t[7].value):null,t[8]),639542469:(e,t)=>new r.IfcApplication(e,new bm(t[0].value),new r.IfcLabel(t[1].value),new r.IfcLabel(t[2].value),new r.IfcIdentifier(t[3].value)),411424972:(e,t)=>new r.IfcAppliedValue(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new r.IfcDate(t[4].value):null,t[5]?new r.IfcDate(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((e=>new bm(e.value))):null),130549933:(e,t)=>new r.IfcApproval(e,t[0]?new r.IfcIdentifier(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcText(t[2].value):null,t[3]?new r.IfcDateTime(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null),4037036970:(e,t)=>new r.IfcBoundaryCondition(e,t[0]?new r.IfcLabel(t[0].value):null),1560379544:(e,t)=>new r.IfcBoundaryEdgeCondition(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?_m(3,t[1]):null,t[2]?_m(3,t[2]):null,t[3]?_m(3,t[3]):null,t[4]?_m(3,t[4]):null,t[5]?_m(3,t[5]):null,t[6]?_m(3,t[6]):null),3367102660:(e,t)=>new r.IfcBoundaryFaceCondition(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?_m(3,t[1]):null,t[2]?_m(3,t[2]):null,t[3]?_m(3,t[3]):null),1387855156:(e,t)=>new r.IfcBoundaryNodeCondition(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?_m(3,t[1]):null,t[2]?_m(3,t[2]):null,t[3]?_m(3,t[3]):null,t[4]?_m(3,t[4]):null,t[5]?_m(3,t[5]):null,t[6]?_m(3,t[6]):null),2069777674:(e,t)=>new r.IfcBoundaryNodeConditionWarping(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?_m(3,t[1]):null,t[2]?_m(3,t[2]):null,t[3]?_m(3,t[3]):null,t[4]?_m(3,t[4]):null,t[5]?_m(3,t[5]):null,t[6]?_m(3,t[6]):null,t[7]?_m(3,t[7]):null),2859738748:(e,t)=>new r.IfcConnectionGeometry(e),2614616156:(e,t)=>new r.IfcConnectionPointGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),2732653382:(e,t)=>new r.IfcConnectionSurfaceGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),775493141:(e,t)=>new r.IfcConnectionVolumeGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),1959218052:(e,t)=>new r.IfcConstraint(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2],t[3]?new r.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new r.IfcDateTime(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null),1785450214:(e,t)=>new r.IfcCoordinateOperation(e,new bm(t[0].value),new bm(t[1].value)),1466758467:(e,t)=>new r.IfcCoordinateReferenceSystem(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new r.IfcIdentifier(t[2].value):null,t[3]?new r.IfcIdentifier(t[3].value):null),602808272:(e,t)=>new r.IfcCostValue(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new r.IfcDate(t[4].value):null,t[5]?new r.IfcDate(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((e=>new bm(e.value))):null),1765591967:(e,t)=>new r.IfcDerivedUnit(e,t[0].map((e=>new bm(e.value))),t[1],t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcLabel(t[3].value):null),1045800335:(e,t)=>new r.IfcDerivedUnitElement(e,new bm(t[0].value),t[1].value),2949456006:(e,t)=>new r.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value),4294318154:(e,t)=>new r.IfcExternalInformation(e),3200245327:(e,t)=>new r.IfcExternalReference(e,t[0]?new r.IfcURIReference(t[0].value):null,t[1]?new r.IfcIdentifier(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null),2242383968:(e,t)=>new r.IfcExternallyDefinedHatchStyle(e,t[0]?new r.IfcURIReference(t[0].value):null,t[1]?new r.IfcIdentifier(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null),1040185647:(e,t)=>new r.IfcExternallyDefinedSurfaceStyle(e,t[0]?new r.IfcURIReference(t[0].value):null,t[1]?new r.IfcIdentifier(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null),3548104201:(e,t)=>new r.IfcExternallyDefinedTextFont(e,t[0]?new r.IfcURIReference(t[0].value):null,t[1]?new r.IfcIdentifier(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null),852622518:(e,t)=>new r.IfcGridAxis(e,t[0]?new r.IfcLabel(t[0].value):null,new bm(t[1].value),new r.IfcBoolean(t[2].value)),3020489413:(e,t)=>new r.IfcIrregularTimeSeriesValue(e,new r.IfcDateTime(t[0].value),t[1].map((e=>_m(3,e)))),2655187982:(e,t)=>new r.IfcLibraryInformation(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new r.IfcDateTime(t[3].value):null,t[4]?new r.IfcURIReference(t[4].value):null,t[5]?new r.IfcText(t[5].value):null),3452421091:(e,t)=>new r.IfcLibraryReference(e,t[0]?new r.IfcURIReference(t[0].value):null,t[1]?new r.IfcIdentifier(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLanguageId(t[4].value):null,t[5]?new bm(t[5].value):null),4162380809:(e,t)=>new r.IfcLightDistributionData(e,new r.IfcPlaneAngleMeasure(t[0].value),t[1].map((e=>new r.IfcPlaneAngleMeasure(e.value))),t[2].map((e=>new r.IfcLuminousIntensityDistributionMeasure(e.value)))),1566485204:(e,t)=>new r.IfcLightIntensityDistribution(e,t[0],t[1].map((e=>new bm(e.value)))),3057273783:(e,t)=>new r.IfcMapConversion(e,new bm(t[0].value),new bm(t[1].value),new r.IfcLengthMeasure(t[2].value),new r.IfcLengthMeasure(t[3].value),new r.IfcLengthMeasure(t[4].value),t[5]?new r.IfcReal(t[5].value):null,t[6]?new r.IfcReal(t[6].value):null,t[7]?new r.IfcReal(t[7].value):null,t[8]?new r.IfcReal(t[8].value):null,t[9]?new r.IfcReal(t[9].value):null),1847130766:(e,t)=>new r.IfcMaterialClassificationRelationship(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value)),760658860:(e,t)=>new r.IfcMaterialDefinition(e),248100487:(e,t)=>new r.IfcMaterialLayer(e,t[0]?new bm(t[0].value):null,new r.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new r.IfcLogical(t[2].value):null,t[3]?new r.IfcLabel(t[3].value):null,t[4]?new r.IfcText(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]?new r.IfcInteger(t[6].value):null),3303938423:(e,t)=>new r.IfcMaterialLayerSet(e,t[0].map((e=>new bm(e.value))),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcText(t[2].value):null),1847252529:(e,t)=>new r.IfcMaterialLayerWithOffsets(e,t[0]?new bm(t[0].value):null,new r.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new r.IfcLogical(t[2].value):null,t[3]?new r.IfcLabel(t[3].value):null,t[4]?new r.IfcText(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]?new r.IfcInteger(t[6].value):null,t[7],new r.IfcLengthMeasure(t[8].value)),2199411900:(e,t)=>new r.IfcMaterialList(e,t[0].map((e=>new bm(e.value)))),2235152071:(e,t)=>new r.IfcMaterialProfile(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new bm(t[3].value),t[4]?new r.IfcInteger(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null),164193824:(e,t)=>new r.IfcMaterialProfileSet(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new bm(t[3].value):null),552965576:(e,t)=>new r.IfcMaterialProfileWithOffsets(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new bm(t[3].value),t[4]?new r.IfcInteger(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,new r.IfcLengthMeasure(t[6].value)),1507914824:(e,t)=>new r.IfcMaterialUsageDefinition(e),2597039031:(e,t)=>new r.IfcMeasureWithUnit(e,_m(3,t[0]),new bm(t[1].value)),3368373690:(e,t)=>new r.IfcMetric(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2],t[3]?new r.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new r.IfcDateTime(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7],t[8]?new r.IfcLabel(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null),2706619895:(e,t)=>new r.IfcMonetaryUnit(e,new r.IfcLabel(t[0].value)),1918398963:(e,t)=>new r.IfcNamedUnit(e,new bm(t[0].value),t[1]),3701648758:(e,t)=>new r.IfcObjectPlacement(e,t[0]?new bm(t[0].value):null),2251480897:(e,t)=>new r.IfcObjective(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2],t[3]?new r.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new r.IfcDateTime(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8],t[9],t[10]?new r.IfcLabel(t[10].value):null),4251960020:(e,t)=>new r.IfcOrganization(e,t[0]?new r.IfcIdentifier(t[0].value):null,new r.IfcLabel(t[1].value),t[2]?new r.IfcText(t[2].value):null,t[3]?t[3].map((e=>new bm(e.value))):null,t[4]?t[4].map((e=>new bm(e.value))):null),1207048766:(e,t)=>new r.IfcOwnerHistory(e,new bm(t[0].value),new bm(t[1].value),t[2],t[3],t[4]?new r.IfcTimeStamp(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new r.IfcTimeStamp(t[7].value)),2077209135:(e,t)=>new r.IfcPerson(e,t[0]?new r.IfcIdentifier(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?t[3].map((e=>new r.IfcLabel(e.value))):null,t[4]?t[4].map((e=>new r.IfcLabel(e.value))):null,t[5]?t[5].map((e=>new r.IfcLabel(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?t[7].map((e=>new bm(e.value))):null),101040310:(e,t)=>new r.IfcPersonAndOrganization(e,new bm(t[0].value),new bm(t[1].value),t[2]?t[2].map((e=>new bm(e.value))):null),2483315170:(e,t)=>new r.IfcPhysicalQuantity(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null),2226359599:(e,t)=>new r.IfcPhysicalSimpleQuantity(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null),3355820592:(e,t)=>new r.IfcPostalAddress(e,t[0],t[1]?new r.IfcText(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcLabel(t[3].value):null,t[4]?t[4].map((e=>new r.IfcLabel(e.value))):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?new r.IfcLabel(t[9].value):null),677532197:(e,t)=>new r.IfcPresentationItem(e),2022622350:(e,t)=>new r.IfcPresentationLayerAssignment(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new r.IfcIdentifier(t[3].value):null),1304840413:(e,t)=>new r.IfcPresentationLayerWithStyle(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new r.IfcIdentifier(t[3].value):null,new r.IfcLogical(t[4].value),new r.IfcLogical(t[5].value),new r.IfcLogical(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null),3119450353:(e,t)=>new r.IfcPresentationStyle(e,t[0]?new r.IfcLabel(t[0].value):null),2095639259:(e,t)=>new r.IfcProductRepresentation(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value)))),3958567839:(e,t)=>new r.IfcProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null),3843373140:(e,t)=>new r.IfcProjectedCRS(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new r.IfcIdentifier(t[2].value):null,t[3]?new r.IfcIdentifier(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new bm(t[6].value):null),986844984:(e,t)=>new r.IfcPropertyAbstraction(e),3710013099:(e,t)=>new r.IfcPropertyEnumeration(e,new r.IfcLabel(t[0].value),t[1].map((e=>_m(3,e))),t[2]?new bm(t[2].value):null),2044713172:(e,t)=>new r.IfcQuantityArea(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcAreaMeasure(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),2093928680:(e,t)=>new r.IfcQuantityCount(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcCountMeasure(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),931644368:(e,t)=>new r.IfcQuantityLength(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcLengthMeasure(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),2691318326:(e,t)=>new r.IfcQuantityNumber(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcNumericMeasure(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),3252649465:(e,t)=>new r.IfcQuantityTime(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcTimeMeasure(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),2405470396:(e,t)=>new r.IfcQuantityVolume(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcVolumeMeasure(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),825690147:(e,t)=>new r.IfcQuantityWeight(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcMassMeasure(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),3915482550:(e,t)=>new r.IfcRecurrencePattern(e,t[0],t[1]?t[1].map((e=>new r.IfcDayInMonthNumber(e.value))):null,t[2]?t[2].map((e=>new r.IfcDayInWeekNumber(e.value))):null,t[3]?t[3].map((e=>new r.IfcMonthInYearNumber(e.value))):null,t[4]?new r.IfcInteger(t[4].value):null,t[5]?new r.IfcInteger(t[5].value):null,t[6]?new r.IfcInteger(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null),2433181523:(e,t)=>new r.IfcReference(e,t[0]?new r.IfcIdentifier(t[0].value):null,t[1]?new r.IfcIdentifier(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?t[3].map((e=>new r.IfcInteger(e.value))):null,t[4]?new bm(t[4].value):null),1076942058:(e,t)=>new r.IfcRepresentation(e,new bm(t[0].value),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),3377609919:(e,t)=>new r.IfcRepresentationContext(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null),3008791417:(e,t)=>new r.IfcRepresentationItem(e),1660063152:(e,t)=>new r.IfcRepresentationMap(e,new bm(t[0].value),new bm(t[1].value)),2439245199:(e,t)=>new r.IfcResourceLevelRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null),2341007311:(e,t)=>new r.IfcRoot(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),448429030:(e,t)=>new r.IfcSIUnit(e,new bm(t[0].value),t[1],t[2],t[3]),1054537805:(e,t)=>new r.IfcSchedulingTime(e,t[0]?new r.IfcLabel(t[0].value):null,t[1],t[2]?new r.IfcLabel(t[2].value):null),867548509:(e,t)=>new r.IfcShapeAspect(e,t[0].map((e=>new bm(e.value))),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcText(t[2].value):null,new r.IfcLogical(t[3].value),t[4]?new bm(t[4].value):null),3982875396:(e,t)=>new r.IfcShapeModel(e,new bm(t[0].value),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),4240577450:(e,t)=>new r.IfcShapeRepresentation(e,new bm(t[0].value),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),2273995522:(e,t)=>new r.IfcStructuralConnectionCondition(e,t[0]?new r.IfcLabel(t[0].value):null),2162789131:(e,t)=>new r.IfcStructuralLoad(e,t[0]?new r.IfcLabel(t[0].value):null),3478079324:(e,t)=>new r.IfcStructuralLoadConfiguration(e,t[0]?new r.IfcLabel(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?t[2].map((e=>new r.IfcLengthMeasure(e.value))):null),609421318:(e,t)=>new r.IfcStructuralLoadOrResult(e,t[0]?new r.IfcLabel(t[0].value):null),2525727697:(e,t)=>new r.IfcStructuralLoadStatic(e,t[0]?new r.IfcLabel(t[0].value):null),3408363356:(e,t)=>new r.IfcStructuralLoadTemperature(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new r.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new r.IfcThermodynamicTemperatureMeasure(t[3].value):null),2830218821:(e,t)=>new r.IfcStyleModel(e,new bm(t[0].value),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),3958052878:(e,t)=>new r.IfcStyledItem(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new r.IfcLabel(t[2].value):null),3049322572:(e,t)=>new r.IfcStyledRepresentation(e,new bm(t[0].value),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),2934153892:(e,t)=>new r.IfcSurfaceReinforcementArea(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?t[1].map((e=>new r.IfcLengthMeasure(e.value))):null,t[2]?t[2].map((e=>new r.IfcLengthMeasure(e.value))):null,t[3]?new r.IfcRatioMeasure(t[3].value):null),1300840506:(e,t)=>new r.IfcSurfaceStyle(e,t[0]?new r.IfcLabel(t[0].value):null,t[1],t[2].map((e=>new bm(e.value)))),3303107099:(e,t)=>new r.IfcSurfaceStyleLighting(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new bm(t[3].value)),1607154358:(e,t)=>new r.IfcSurfaceStyleRefraction(e,t[0]?new r.IfcReal(t[0].value):null,t[1]?new r.IfcReal(t[1].value):null),846575682:(e,t)=>new r.IfcSurfaceStyleShading(e,new bm(t[0].value),t[1]?new r.IfcNormalisedRatioMeasure(t[1].value):null),1351298697:(e,t)=>new r.IfcSurfaceStyleWithTextures(e,t[0].map((e=>new bm(e.value)))),626085974:(e,t)=>new r.IfcSurfaceTexture(e,new r.IfcBoolean(t[0].value),new r.IfcBoolean(t[1].value),t[2]?new r.IfcIdentifier(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new r.IfcIdentifier(e.value))):null),985171141:(e,t)=>new r.IfcTable(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?t[1].map((e=>new bm(e.value))):null,t[2]?t[2].map((e=>new bm(e.value))):null),2043862942:(e,t)=>new r.IfcTableColumn(e,t[0]?new r.IfcIdentifier(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcText(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new bm(t[4].value):null),531007025:(e,t)=>new r.IfcTableRow(e,t[0]?t[0].map((e=>_m(3,e))):null,t[1]?new r.IfcBoolean(t[1].value):null),1549132990:(e,t)=>new r.IfcTaskTime(e,t[0]?new r.IfcLabel(t[0].value):null,t[1],t[2]?new r.IfcLabel(t[2].value):null,t[3],t[4]?new r.IfcDuration(t[4].value):null,t[5]?new r.IfcDateTime(t[5].value):null,t[6]?new r.IfcDateTime(t[6].value):null,t[7]?new r.IfcDateTime(t[7].value):null,t[8]?new r.IfcDateTime(t[8].value):null,t[9]?new r.IfcDateTime(t[9].value):null,t[10]?new r.IfcDateTime(t[10].value):null,t[11]?new r.IfcDuration(t[11].value):null,t[12]?new r.IfcDuration(t[12].value):null,t[13]?new r.IfcBoolean(t[13].value):null,t[14]?new r.IfcDateTime(t[14].value):null,t[15]?new r.IfcDuration(t[15].value):null,t[16]?new r.IfcDateTime(t[16].value):null,t[17]?new r.IfcDateTime(t[17].value):null,t[18]?new r.IfcDuration(t[18].value):null,t[19]?new r.IfcPositiveRatioMeasure(t[19].value):null),2771591690:(e,t)=>new r.IfcTaskTimeRecurring(e,t[0]?new r.IfcLabel(t[0].value):null,t[1],t[2]?new r.IfcLabel(t[2].value):null,t[3],t[4]?new r.IfcDuration(t[4].value):null,t[5]?new r.IfcDateTime(t[5].value):null,t[6]?new r.IfcDateTime(t[6].value):null,t[7]?new r.IfcDateTime(t[7].value):null,t[8]?new r.IfcDateTime(t[8].value):null,t[9]?new r.IfcDateTime(t[9].value):null,t[10]?new r.IfcDateTime(t[10].value):null,t[11]?new r.IfcDuration(t[11].value):null,t[12]?new r.IfcDuration(t[12].value):null,t[13]?new r.IfcBoolean(t[13].value):null,t[14]?new r.IfcDateTime(t[14].value):null,t[15]?new r.IfcDuration(t[15].value):null,t[16]?new r.IfcDateTime(t[16].value):null,t[17]?new r.IfcDateTime(t[17].value):null,t[18]?new r.IfcDuration(t[18].value):null,t[19]?new r.IfcPositiveRatioMeasure(t[19].value):null,new bm(t[20].value)),912023232:(e,t)=>new r.IfcTelecomAddress(e,t[0],t[1]?new r.IfcText(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?t[3].map((e=>new r.IfcLabel(e.value))):null,t[4]?t[4].map((e=>new r.IfcLabel(e.value))):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]?t[6].map((e=>new r.IfcLabel(e.value))):null,t[7]?new r.IfcURIReference(t[7].value):null,t[8]?t[8].map((e=>new r.IfcURIReference(e.value))):null),1447204868:(e,t)=>new r.IfcTextStyle(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?new bm(t[2].value):null,new bm(t[3].value),t[4]?new r.IfcBoolean(t[4].value):null),2636378356:(e,t)=>new r.IfcTextStyleForDefinedFont(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),1640371178:(e,t)=>new r.IfcTextStyleTextModel(e,t[0]?_m(3,t[0]):null,t[1]?new r.IfcTextAlignment(t[1].value):null,t[2]?new r.IfcTextDecoration(t[2].value):null,t[3]?_m(3,t[3]):null,t[4]?_m(3,t[4]):null,t[5]?new r.IfcTextTransformation(t[5].value):null,t[6]?_m(3,t[6]):null),280115917:(e,t)=>new r.IfcTextureCoordinate(e,t[0].map((e=>new bm(e.value)))),1742049831:(e,t)=>new r.IfcTextureCoordinateGenerator(e,t[0].map((e=>new bm(e.value))),new r.IfcLabel(t[1].value),t[2]?t[2].map((e=>new r.IfcReal(e.value))):null),222769930:(e,t)=>new r.IfcTextureCoordinateIndices(e,t[0].map((e=>new r.IfcPositiveInteger(e.value))),new bm(t[1].value)),1010789467:(e,t)=>new r.IfcTextureCoordinateIndicesWithVoids(e,t[0].map((e=>new r.IfcPositiveInteger(e.value))),new bm(t[1].value),t[2].map((e=>new r.IfcPositiveInteger(e.value)))),2552916305:(e,t)=>new r.IfcTextureMap(e,t[0].map((e=>new bm(e.value))),t[1].map((e=>new bm(e.value))),new bm(t[2].value)),1210645708:(e,t)=>new r.IfcTextureVertex(e,t[0].map((e=>new r.IfcParameterValue(e.value)))),3611470254:(e,t)=>new r.IfcTextureVertexList(e,t[0].map((e=>new r.IfcParameterValue(e.value)))),1199560280:(e,t)=>new r.IfcTimePeriod(e,new r.IfcTime(t[0].value),new r.IfcTime(t[1].value)),3101149627:(e,t)=>new r.IfcTimeSeries(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,new r.IfcDateTime(t[2].value),new r.IfcDateTime(t[3].value),t[4],t[5],t[6]?new r.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null),581633288:(e,t)=>new r.IfcTimeSeriesValue(e,t[0].map((e=>_m(3,e)))),1377556343:(e,t)=>new r.IfcTopologicalRepresentationItem(e),1735638870:(e,t)=>new r.IfcTopologyRepresentation(e,new bm(t[0].value),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),180925521:(e,t)=>new r.IfcUnitAssignment(e,t[0].map((e=>new bm(e.value)))),2799835756:(e,t)=>new r.IfcVertex(e),1907098498:(e,t)=>new r.IfcVertexPoint(e,new bm(t[0].value)),891718957:(e,t)=>new r.IfcVirtualGridIntersection(e,t[0].map((e=>new bm(e.value))),t[1].map((e=>new r.IfcLengthMeasure(e.value)))),1236880293:(e,t)=>new r.IfcWorkTime(e,t[0]?new r.IfcLabel(t[0].value):null,t[1],t[2]?new r.IfcLabel(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new r.IfcDate(t[4].value):null,t[5]?new r.IfcDate(t[5].value):null),3752311538:(e,t)=>new r.IfcAlignmentCantSegment(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,new r.IfcLengthMeasure(t[2].value),new r.IfcNonNegativeLengthMeasure(t[3].value),new r.IfcLengthMeasure(t[4].value),t[5]?new r.IfcLengthMeasure(t[5].value):null,new r.IfcLengthMeasure(t[6].value),t[7]?new r.IfcLengthMeasure(t[7].value):null,t[8]),536804194:(e,t)=>new r.IfcAlignmentHorizontalSegment(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,new bm(t[2].value),new r.IfcPlaneAngleMeasure(t[3].value),new r.IfcLengthMeasure(t[4].value),new r.IfcLengthMeasure(t[5].value),new r.IfcNonNegativeLengthMeasure(t[6].value),t[7]?new r.IfcPositiveLengthMeasure(t[7].value):null,t[8]),3869604511:(e,t)=>new r.IfcApprovalRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),3798115385:(e,t)=>new r.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,new bm(t[2].value)),1310608509:(e,t)=>new r.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,new bm(t[2].value)),2705031697:(e,t)=>new r.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),616511568:(e,t)=>new r.IfcBlobTexture(e,new r.IfcBoolean(t[0].value),new r.IfcBoolean(t[1].value),t[2]?new r.IfcIdentifier(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new r.IfcIdentifier(e.value))):null,new r.IfcIdentifier(t[5].value),new r.IfcBinary(t[6].value)),3150382593:(e,t)=>new r.IfcCenterLineProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,new bm(t[2].value),new r.IfcPositiveLengthMeasure(t[3].value)),747523909:(e,t)=>new r.IfcClassification(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcDate(t[2].value):null,new r.IfcLabel(t[3].value),t[4]?new r.IfcText(t[4].value):null,t[5]?new r.IfcURIReference(t[5].value):null,t[6]?t[6].map((e=>new r.IfcIdentifier(e.value))):null),647927063:(e,t)=>new r.IfcClassificationReference(e,t[0]?new r.IfcURIReference(t[0].value):null,t[1]?new r.IfcIdentifier(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new r.IfcText(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null),3285139300:(e,t)=>new r.IfcColourRgbList(e,t[0].map((e=>new r.IfcNormalisedRatioMeasure(e.value)))),3264961684:(e,t)=>new r.IfcColourSpecification(e,t[0]?new r.IfcLabel(t[0].value):null),1485152156:(e,t)=>new r.IfcCompositeProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new r.IfcLabel(t[3].value):null),370225590:(e,t)=>new r.IfcConnectedFaceSet(e,t[0].map((e=>new bm(e.value)))),1981873012:(e,t)=>new r.IfcConnectionCurveGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),45288368:(e,t)=>new r.IfcConnectionPointEccentricity(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null,t[4]?new r.IfcLengthMeasure(t[4].value):null),3050246964:(e,t)=>new r.IfcContextDependentUnit(e,new bm(t[0].value),t[1],new r.IfcLabel(t[2].value)),2889183280:(e,t)=>new r.IfcConversionBasedUnit(e,new bm(t[0].value),t[1],new r.IfcLabel(t[2].value),new bm(t[3].value)),2713554722:(e,t)=>new r.IfcConversionBasedUnitWithOffset(e,new bm(t[0].value),t[1],new r.IfcLabel(t[2].value),new bm(t[3].value),new r.IfcReal(t[4].value)),539742890:(e,t)=>new r.IfcCurrencyRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value),new r.IfcPositiveRatioMeasure(t[4].value),t[5]?new r.IfcDateTime(t[5].value):null,t[6]?new bm(t[6].value):null),3800577675:(e,t)=>new r.IfcCurveStyle(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?_m(3,t[2]):null,t[3]?new bm(t[3].value):null,t[4]?new r.IfcBoolean(t[4].value):null),1105321065:(e,t)=>new r.IfcCurveStyleFont(e,t[0]?new r.IfcLabel(t[0].value):null,t[1].map((e=>new bm(e.value)))),2367409068:(e,t)=>new r.IfcCurveStyleFontAndScaling(e,t[0]?new r.IfcLabel(t[0].value):null,new bm(t[1].value),new r.IfcPositiveRatioMeasure(t[2].value)),3510044353:(e,t)=>new r.IfcCurveStyleFontPattern(e,new r.IfcLengthMeasure(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value)),3632507154:(e,t)=>new r.IfcDerivedProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),1154170062:(e,t)=>new r.IfcDocumentInformation(e,new r.IfcIdentifier(t[0].value),new r.IfcLabel(t[1].value),t[2]?new r.IfcText(t[2].value):null,t[3]?new r.IfcURIReference(t[3].value):null,t[4]?new r.IfcText(t[4].value):null,t[5]?new r.IfcText(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new bm(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new r.IfcDateTime(t[10].value):null,t[11]?new r.IfcDateTime(t[11].value):null,t[12]?new r.IfcIdentifier(t[12].value):null,t[13]?new r.IfcDate(t[13].value):null,t[14]?new r.IfcDate(t[14].value):null,t[15],t[16]),770865208:(e,t)=>new r.IfcDocumentInformationRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value))),t[4]?new r.IfcLabel(t[4].value):null),3732053477:(e,t)=>new r.IfcDocumentReference(e,t[0]?new r.IfcURIReference(t[0].value):null,t[1]?new r.IfcIdentifier(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null),3900360178:(e,t)=>new r.IfcEdge(e,new bm(t[0].value),new bm(t[1].value)),476780140:(e,t)=>new r.IfcEdgeCurve(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new r.IfcBoolean(t[3].value)),211053100:(e,t)=>new r.IfcEventTime(e,t[0]?new r.IfcLabel(t[0].value):null,t[1],t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcDateTime(t[3].value):null,t[4]?new r.IfcDateTime(t[4].value):null,t[5]?new r.IfcDateTime(t[5].value):null,t[6]?new r.IfcDateTime(t[6].value):null),297599258:(e,t)=>new r.IfcExtendedProperties(e,t[0]?new r.IfcIdentifier(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value)))),1437805879:(e,t)=>new r.IfcExternalReferenceRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),2556980723:(e,t)=>new r.IfcFace(e,t[0].map((e=>new bm(e.value)))),1809719519:(e,t)=>new r.IfcFaceBound(e,new bm(t[0].value),new r.IfcBoolean(t[1].value)),803316827:(e,t)=>new r.IfcFaceOuterBound(e,new bm(t[0].value),new r.IfcBoolean(t[1].value)),3008276851:(e,t)=>new r.IfcFaceSurface(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new r.IfcBoolean(t[2].value)),4219587988:(e,t)=>new r.IfcFailureConnectionCondition(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcForceMeasure(t[1].value):null,t[2]?new r.IfcForceMeasure(t[2].value):null,t[3]?new r.IfcForceMeasure(t[3].value):null,t[4]?new r.IfcForceMeasure(t[4].value):null,t[5]?new r.IfcForceMeasure(t[5].value):null,t[6]?new r.IfcForceMeasure(t[6].value):null),738692330:(e,t)=>new r.IfcFillAreaStyle(e,t[0]?new r.IfcLabel(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new r.IfcBoolean(t[2].value):null),3448662350:(e,t)=>new r.IfcGeometricRepresentationContext(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,new r.IfcDimensionCount(t[2].value),t[3]?new r.IfcReal(t[3].value):null,new bm(t[4].value),t[5]?new bm(t[5].value):null),2453401579:(e,t)=>new r.IfcGeometricRepresentationItem(e),4142052618:(e,t)=>new r.IfcGeometricRepresentationSubContext(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4]?new r.IfcPositiveRatioMeasure(t[4].value):null,t[5],t[6]?new r.IfcLabel(t[6].value):null),3590301190:(e,t)=>new r.IfcGeometricSet(e,t[0].map((e=>new bm(e.value)))),178086475:(e,t)=>new r.IfcGridPlacement(e,t[0]?new bm(t[0].value):null,new bm(t[1].value),t[2]?new bm(t[2].value):null),812098782:(e,t)=>new r.IfcHalfSpaceSolid(e,new bm(t[0].value),new r.IfcBoolean(t[1].value)),3905492369:(e,t)=>new r.IfcImageTexture(e,new r.IfcBoolean(t[0].value),new r.IfcBoolean(t[1].value),t[2]?new r.IfcIdentifier(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new r.IfcIdentifier(e.value))):null,new r.IfcURIReference(t[5].value)),3570813810:(e,t)=>new r.IfcIndexedColourMap(e,new bm(t[0].value),t[1]?new r.IfcNormalisedRatioMeasure(t[1].value):null,new bm(t[2].value),t[3].map((e=>new r.IfcPositiveInteger(e.value)))),1437953363:(e,t)=>new r.IfcIndexedTextureMap(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new bm(t[2].value)),2133299955:(e,t)=>new r.IfcIndexedTriangleTextureMap(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new bm(t[2].value),t[3]?t[3].map((e=>new r.IfcPositiveInteger(e.value))):null),3741457305:(e,t)=>new r.IfcIrregularTimeSeries(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,new r.IfcDateTime(t[2].value),new r.IfcDateTime(t[3].value),t[4],t[5],t[6]?new r.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,t[8].map((e=>new bm(e.value)))),1585845231:(e,t)=>new r.IfcLagTime(e,t[0]?new r.IfcLabel(t[0].value):null,t[1],t[2]?new r.IfcLabel(t[2].value):null,_m(3,t[3]),t[4]),1402838566:(e,t)=>new r.IfcLightSource(e,t[0]?new r.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new r.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new r.IfcNormalisedRatioMeasure(t[3].value):null),125510826:(e,t)=>new r.IfcLightSourceAmbient(e,t[0]?new r.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new r.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new r.IfcNormalisedRatioMeasure(t[3].value):null),2604431987:(e,t)=>new r.IfcLightSourceDirectional(e,t[0]?new r.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new r.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new r.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value)),4266656042:(e,t)=>new r.IfcLightSourceGoniometric(e,t[0]?new r.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new r.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new r.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),t[5]?new bm(t[5].value):null,new r.IfcThermodynamicTemperatureMeasure(t[6].value),new r.IfcLuminousFluxMeasure(t[7].value),t[8],new bm(t[9].value)),1520743889:(e,t)=>new r.IfcLightSourcePositional(e,t[0]?new r.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new r.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new r.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcReal(t[6].value),new r.IfcReal(t[7].value),new r.IfcReal(t[8].value)),3422422726:(e,t)=>new r.IfcLightSourceSpot(e,t[0]?new r.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new r.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new r.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcReal(t[6].value),new r.IfcReal(t[7].value),new r.IfcReal(t[8].value),new bm(t[9].value),t[10]?new r.IfcReal(t[10].value):null,new r.IfcPositivePlaneAngleMeasure(t[11].value),new r.IfcPositivePlaneAngleMeasure(t[12].value)),388784114:(e,t)=>new r.IfcLinearPlacement(e,t[0]?new bm(t[0].value):null,new bm(t[1].value),t[2]?new bm(t[2].value):null),2624227202:(e,t)=>new r.IfcLocalPlacement(e,t[0]?new bm(t[0].value):null,new bm(t[1].value)),1008929658:(e,t)=>new r.IfcLoop(e),2347385850:(e,t)=>new r.IfcMappedItem(e,new bm(t[0].value),new bm(t[1].value)),1838606355:(e,t)=>new r.IfcMaterial(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null),3708119e3:(e,t)=>new r.IfcMaterialConstituent(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),t[3]?new r.IfcNormalisedRatioMeasure(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null),2852063980:(e,t)=>new r.IfcMaterialConstituentSet(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2]?t[2].map((e=>new bm(e.value))):null),2022407955:(e,t)=>new r.IfcMaterialDefinitionRepresentation(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),1303795690:(e,t)=>new r.IfcMaterialLayerSetUsage(e,new bm(t[0].value),t[1],t[2],new r.IfcLengthMeasure(t[3].value),t[4]?new r.IfcPositiveLengthMeasure(t[4].value):null),3079605661:(e,t)=>new r.IfcMaterialProfileSetUsage(e,new bm(t[0].value),t[1]?new r.IfcCardinalPointReference(t[1].value):null,t[2]?new r.IfcPositiveLengthMeasure(t[2].value):null),3404854881:(e,t)=>new r.IfcMaterialProfileSetUsageTapering(e,new bm(t[0].value),t[1]?new r.IfcCardinalPointReference(t[1].value):null,t[2]?new r.IfcPositiveLengthMeasure(t[2].value):null,new bm(t[3].value),t[4]?new r.IfcCardinalPointReference(t[4].value):null),3265635763:(e,t)=>new r.IfcMaterialProperties(e,t[0]?new r.IfcIdentifier(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),853536259:(e,t)=>new r.IfcMaterialRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value))),t[4]?new r.IfcLabel(t[4].value):null),2998442950:(e,t)=>new r.IfcMirroredProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),219451334:(e,t)=>new r.IfcObjectDefinition(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),182550632:(e,t)=>new r.IfcOpenCrossProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,new r.IfcBoolean(t[2].value),t[3].map((e=>new r.IfcNonNegativeLengthMeasure(e.value))),t[4].map((e=>new r.IfcPlaneAngleMeasure(e.value))),t[5]?t[5].map((e=>new r.IfcLabel(e.value))):null,t[6]?new bm(t[6].value):null),2665983363:(e,t)=>new r.IfcOpenShell(e,t[0].map((e=>new bm(e.value)))),1411181986:(e,t)=>new r.IfcOrganizationRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),1029017970:(e,t)=>new r.IfcOrientedEdge(e,new bm(t[0].value),new bm(t[1].value),new r.IfcBoolean(t[2].value)),2529465313:(e,t)=>new r.IfcParameterizedProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null),2519244187:(e,t)=>new r.IfcPath(e,t[0].map((e=>new bm(e.value)))),3021840470:(e,t)=>new r.IfcPhysicalComplexQuantity(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new r.IfcLabel(t[3].value),t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null),597895409:(e,t)=>new r.IfcPixelTexture(e,new r.IfcBoolean(t[0].value),new r.IfcBoolean(t[1].value),t[2]?new r.IfcIdentifier(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new r.IfcIdentifier(e.value))):null,new r.IfcInteger(t[5].value),new r.IfcInteger(t[6].value),new r.IfcInteger(t[7].value),t[8].map((e=>new r.IfcBinary(e.value)))),2004835150:(e,t)=>new r.IfcPlacement(e,new bm(t[0].value)),1663979128:(e,t)=>new r.IfcPlanarExtent(e,new r.IfcLengthMeasure(t[0].value),new r.IfcLengthMeasure(t[1].value)),2067069095:(e,t)=>new r.IfcPoint(e),2165702409:(e,t)=>new r.IfcPointByDistanceExpression(e,_m(3,t[0]),t[1]?new r.IfcLengthMeasure(t[1].value):null,t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null,new bm(t[4].value)),4022376103:(e,t)=>new r.IfcPointOnCurve(e,new bm(t[0].value),new r.IfcParameterValue(t[1].value)),1423911732:(e,t)=>new r.IfcPointOnSurface(e,new bm(t[0].value),new r.IfcParameterValue(t[1].value),new r.IfcParameterValue(t[2].value)),2924175390:(e,t)=>new r.IfcPolyLoop(e,t[0].map((e=>new bm(e.value)))),2775532180:(e,t)=>new r.IfcPolygonalBoundedHalfSpace(e,new bm(t[0].value),new r.IfcBoolean(t[1].value),new bm(t[2].value),new bm(t[3].value)),3727388367:(e,t)=>new r.IfcPreDefinedItem(e,new r.IfcLabel(t[0].value)),3778827333:(e,t)=>new r.IfcPreDefinedProperties(e),1775413392:(e,t)=>new r.IfcPreDefinedTextFont(e,new r.IfcLabel(t[0].value)),673634403:(e,t)=>new r.IfcProductDefinitionShape(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value)))),2802850158:(e,t)=>new r.IfcProfileProperties(e,t[0]?new r.IfcIdentifier(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),2598011224:(e,t)=>new r.IfcProperty(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null),1680319473:(e,t)=>new r.IfcPropertyDefinition(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),148025276:(e,t)=>new r.IfcPropertyDependencyRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4]?new r.IfcText(t[4].value):null),3357820518:(e,t)=>new r.IfcPropertySetDefinition(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),1482703590:(e,t)=>new r.IfcPropertyTemplateDefinition(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),2090586900:(e,t)=>new r.IfcQuantitySet(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),3615266464:(e,t)=>new r.IfcRectangleProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value)),3413951693:(e,t)=>new r.IfcRegularTimeSeries(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,new r.IfcDateTime(t[2].value),new r.IfcDateTime(t[3].value),t[4],t[5],t[6]?new r.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,new r.IfcTimeMeasure(t[8].value),t[9].map((e=>new bm(e.value)))),1580146022:(e,t)=>new r.IfcReinforcementBarProperties(e,new r.IfcAreaMeasure(t[0].value),new r.IfcLabel(t[1].value),t[2],t[3]?new r.IfcLengthMeasure(t[3].value):null,t[4]?new r.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new r.IfcCountMeasure(t[5].value):null),478536968:(e,t)=>new r.IfcRelationship(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),2943643501:(e,t)=>new r.IfcResourceApprovalRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),1608871552:(e,t)=>new r.IfcResourceConstraintRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),1042787934:(e,t)=>new r.IfcResourceTime(e,t[0]?new r.IfcLabel(t[0].value):null,t[1],t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcDuration(t[3].value):null,t[4]?new r.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new r.IfcDateTime(t[5].value):null,t[6]?new r.IfcDateTime(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcDuration(t[8].value):null,t[9]?new r.IfcBoolean(t[9].value):null,t[10]?new r.IfcDateTime(t[10].value):null,t[11]?new r.IfcDuration(t[11].value):null,t[12]?new r.IfcPositiveRatioMeasure(t[12].value):null,t[13]?new r.IfcDateTime(t[13].value):null,t[14]?new r.IfcDateTime(t[14].value):null,t[15]?new r.IfcDuration(t[15].value):null,t[16]?new r.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new r.IfcPositiveRatioMeasure(t[17].value):null),2778083089:(e,t)=>new r.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value)),2042790032:(e,t)=>new r.IfcSectionProperties(e,t[0],new bm(t[1].value),t[2]?new bm(t[2].value):null),4165799628:(e,t)=>new r.IfcSectionReinforcementProperties(e,new r.IfcLengthMeasure(t[0].value),new r.IfcLengthMeasure(t[1].value),t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3],new bm(t[4].value),t[5].map((e=>new bm(e.value)))),1509187699:(e,t)=>new r.IfcSectionedSpine(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2].map((e=>new bm(e.value)))),823603102:(e,t)=>new r.IfcSegment(e,t[0]),4124623270:(e,t)=>new r.IfcShellBasedSurfaceModel(e,t[0].map((e=>new bm(e.value)))),3692461612:(e,t)=>new r.IfcSimpleProperty(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null),2609359061:(e,t)=>new r.IfcSlippageConnectionCondition(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLengthMeasure(t[1].value):null,t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null),723233188:(e,t)=>new r.IfcSolidModel(e),1595516126:(e,t)=>new r.IfcStructuralLoadLinearForce(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLinearForceMeasure(t[1].value):null,t[2]?new r.IfcLinearForceMeasure(t[2].value):null,t[3]?new r.IfcLinearForceMeasure(t[3].value):null,t[4]?new r.IfcLinearMomentMeasure(t[4].value):null,t[5]?new r.IfcLinearMomentMeasure(t[5].value):null,t[6]?new r.IfcLinearMomentMeasure(t[6].value):null),2668620305:(e,t)=>new r.IfcStructuralLoadPlanarForce(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcPlanarForceMeasure(t[1].value):null,t[2]?new r.IfcPlanarForceMeasure(t[2].value):null,t[3]?new r.IfcPlanarForceMeasure(t[3].value):null),2473145415:(e,t)=>new r.IfcStructuralLoadSingleDisplacement(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLengthMeasure(t[1].value):null,t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null,t[4]?new r.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new r.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new r.IfcPlaneAngleMeasure(t[6].value):null),1973038258:(e,t)=>new r.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLengthMeasure(t[1].value):null,t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null,t[4]?new r.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new r.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new r.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new r.IfcCurvatureMeasure(t[7].value):null),1597423693:(e,t)=>new r.IfcStructuralLoadSingleForce(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcForceMeasure(t[1].value):null,t[2]?new r.IfcForceMeasure(t[2].value):null,t[3]?new r.IfcForceMeasure(t[3].value):null,t[4]?new r.IfcTorqueMeasure(t[4].value):null,t[5]?new r.IfcTorqueMeasure(t[5].value):null,t[6]?new r.IfcTorqueMeasure(t[6].value):null),1190533807:(e,t)=>new r.IfcStructuralLoadSingleForceWarping(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcForceMeasure(t[1].value):null,t[2]?new r.IfcForceMeasure(t[2].value):null,t[3]?new r.IfcForceMeasure(t[3].value):null,t[4]?new r.IfcTorqueMeasure(t[4].value):null,t[5]?new r.IfcTorqueMeasure(t[5].value):null,t[6]?new r.IfcTorqueMeasure(t[6].value):null,t[7]?new r.IfcWarpingMomentMeasure(t[7].value):null),2233826070:(e,t)=>new r.IfcSubedge(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value)),2513912981:(e,t)=>new r.IfcSurface(e),1878645084:(e,t)=>new r.IfcSurfaceStyleRendering(e,new bm(t[0].value),t[1]?new r.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?_m(3,t[7]):null,t[8]),2247615214:(e,t)=>new r.IfcSweptAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),1260650574:(e,t)=>new r.IfcSweptDiskSolid(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),t[2]?new r.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new r.IfcParameterValue(t[3].value):null,t[4]?new r.IfcParameterValue(t[4].value):null),1096409881:(e,t)=>new r.IfcSweptDiskSolidPolygonal(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),t[2]?new r.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new r.IfcParameterValue(t[3].value):null,t[4]?new r.IfcParameterValue(t[4].value):null,t[5]?new r.IfcNonNegativeLengthMeasure(t[5].value):null),230924584:(e,t)=>new r.IfcSweptSurface(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),3071757647:(e,t)=>new r.IfcTShapeProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcPositiveLengthMeasure(t[6].value),t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new r.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new r.IfcNonNegativeLengthMeasure(t[9].value):null,t[10]?new r.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new r.IfcPlaneAngleMeasure(t[11].value):null),901063453:(e,t)=>new r.IfcTessellatedItem(e),4282788508:(e,t)=>new r.IfcTextLiteral(e,new r.IfcPresentableText(t[0].value),new bm(t[1].value),t[2]),3124975700:(e,t)=>new r.IfcTextLiteralWithExtent(e,new r.IfcPresentableText(t[0].value),new bm(t[1].value),t[2],new bm(t[3].value),new r.IfcBoxAlignment(t[4].value)),1983826977:(e,t)=>new r.IfcTextStyleFontModel(e,new r.IfcLabel(t[0].value),t[1].map((e=>new r.IfcTextFontName(e.value))),t[2]?new r.IfcFontStyle(t[2].value):null,t[3]?new r.IfcFontVariant(t[3].value):null,t[4]?new r.IfcFontWeight(t[4].value):null,_m(3,t[5])),2715220739:(e,t)=>new r.IfcTrapeziumProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcLengthMeasure(t[6].value)),1628702193:(e,t)=>new r.IfcTypeObject(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null),3736923433:(e,t)=>new r.IfcTypeProcess(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),2347495698:(e,t)=>new r.IfcTypeProduct(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null),3698973494:(e,t)=>new r.IfcTypeResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),427810014:(e,t)=>new r.IfcUShapeProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcPositiveLengthMeasure(t[6].value),t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new r.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new r.IfcPlaneAngleMeasure(t[9].value):null),1417489154:(e,t)=>new r.IfcVector(e,new bm(t[0].value),new r.IfcLengthMeasure(t[1].value)),2759199220:(e,t)=>new r.IfcVertexLoop(e,new bm(t[0].value)),2543172580:(e,t)=>new r.IfcZShapeProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcPositiveLengthMeasure(t[6].value),t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new r.IfcNonNegativeLengthMeasure(t[8].value):null),3406155212:(e,t)=>new r.IfcAdvancedFace(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new r.IfcBoolean(t[2].value)),669184980:(e,t)=>new r.IfcAnnotationFillArea(e,new bm(t[0].value),t[1]?t[1].map((e=>new bm(e.value))):null),3207858831:(e,t)=>new r.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcPositiveLengthMeasure(t[6].value),t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null,new r.IfcPositiveLengthMeasure(t[8].value),t[9]?new r.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new r.IfcNonNegativeLengthMeasure(t[10].value):null,t[11]?new r.IfcNonNegativeLengthMeasure(t[11].value):null,t[12]?new r.IfcPlaneAngleMeasure(t[12].value):null,t[13]?new r.IfcNonNegativeLengthMeasure(t[13].value):null,t[14]?new r.IfcPlaneAngleMeasure(t[14].value):null),4261334040:(e,t)=>new r.IfcAxis1Placement(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),3125803723:(e,t)=>new r.IfcAxis2Placement2D(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),2740243338:(e,t)=>new r.IfcAxis2Placement3D(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new bm(t[2].value):null),3425423356:(e,t)=>new r.IfcAxis2PlacementLinear(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new bm(t[2].value):null),2736907675:(e,t)=>new r.IfcBooleanResult(e,t[0],new bm(t[1].value),new bm(t[2].value)),4182860854:(e,t)=>new r.IfcBoundedSurface(e),2581212453:(e,t)=>new r.IfcBoundingBox(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),new r.IfcPositiveLengthMeasure(t[2].value),new r.IfcPositiveLengthMeasure(t[3].value)),2713105998:(e,t)=>new r.IfcBoxedHalfSpace(e,new bm(t[0].value),new r.IfcBoolean(t[1].value),new bm(t[2].value)),2898889636:(e,t)=>new r.IfcCShapeProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcPositiveLengthMeasure(t[6].value),t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null),1123145078:(e,t)=>new r.IfcCartesianPoint(e,t[0].map((e=>new r.IfcLengthMeasure(e.value)))),574549367:(e,t)=>new r.IfcCartesianPointList(e),1675464909:(e,t)=>new r.IfcCartesianPointList2D(e,t[0].map((e=>new r.IfcLengthMeasure(e.value))),t[1]?t[1].map((e=>new r.IfcLabel(e.value))):null),2059837836:(e,t)=>new r.IfcCartesianPointList3D(e,t[0].map((e=>new r.IfcLengthMeasure(e.value))),t[1]?t[1].map((e=>new r.IfcLabel(e.value))):null),59481748:(e,t)=>new r.IfcCartesianTransformationOperator(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new r.IfcReal(t[3].value):null),3749851601:(e,t)=>new r.IfcCartesianTransformationOperator2D(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new r.IfcReal(t[3].value):null),3486308946:(e,t)=>new r.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new r.IfcReal(t[3].value):null,t[4]?new r.IfcReal(t[4].value):null),3331915920:(e,t)=>new r.IfcCartesianTransformationOperator3D(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new r.IfcReal(t[3].value):null,t[4]?new bm(t[4].value):null),1416205885:(e,t)=>new r.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new r.IfcReal(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new r.IfcReal(t[5].value):null,t[6]?new r.IfcReal(t[6].value):null),1383045692:(e,t)=>new r.IfcCircleProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value)),2205249479:(e,t)=>new r.IfcClosedShell(e,t[0].map((e=>new bm(e.value)))),776857604:(e,t)=>new r.IfcColourRgb(e,t[0]?new r.IfcLabel(t[0].value):null,new r.IfcNormalisedRatioMeasure(t[1].value),new r.IfcNormalisedRatioMeasure(t[2].value),new r.IfcNormalisedRatioMeasure(t[3].value)),2542286263:(e,t)=>new r.IfcComplexProperty(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null,new r.IfcIdentifier(t[2].value),t[3].map((e=>new bm(e.value)))),2485617015:(e,t)=>new r.IfcCompositeCurveSegment(e,t[0],new r.IfcBoolean(t[1].value),new bm(t[2].value)),2574617495:(e,t)=>new r.IfcConstructionResourceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null),3419103109:(e,t)=>new r.IfcContext(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new bm(t[8].value):null),1815067380:(e,t)=>new r.IfcCrewResourceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),2506170314:(e,t)=>new r.IfcCsgPrimitive3D(e,new bm(t[0].value)),2147822146:(e,t)=>new r.IfcCsgSolid(e,new bm(t[0].value)),2601014836:(e,t)=>new r.IfcCurve(e),2827736869:(e,t)=>new r.IfcCurveBoundedPlane(e,new bm(t[0].value),new bm(t[1].value),t[2]?t[2].map((e=>new bm(e.value))):null),2629017746:(e,t)=>new r.IfcCurveBoundedSurface(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),new r.IfcBoolean(t[2].value)),4212018352:(e,t)=>new r.IfcCurveSegment(e,t[0],new bm(t[1].value),_m(3,t[2]),_m(3,t[3]),new bm(t[4].value)),32440307:(e,t)=>new r.IfcDirection(e,t[0].map((e=>new r.IfcReal(e.value)))),593015953:(e,t)=>new r.IfcDirectrixCurveSweptAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?_m(3,t[3]):null,t[4]?_m(3,t[4]):null),1472233963:(e,t)=>new r.IfcEdgeLoop(e,t[0].map((e=>new bm(e.value)))),1883228015:(e,t)=>new r.IfcElementQuantity(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5].map((e=>new bm(e.value)))),339256511:(e,t)=>new r.IfcElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),2777663545:(e,t)=>new r.IfcElementarySurface(e,new bm(t[0].value)),2835456948:(e,t)=>new r.IfcEllipseProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value)),4024345920:(e,t)=>new r.IfcEventType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new r.IfcLabel(t[11].value):null),477187591:(e,t)=>new r.IfcExtrudedAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new r.IfcPositiveLengthMeasure(t[3].value)),2804161546:(e,t)=>new r.IfcExtrudedAreaSolidTapered(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new r.IfcPositiveLengthMeasure(t[3].value),new bm(t[4].value)),2047409740:(e,t)=>new r.IfcFaceBasedSurfaceModel(e,t[0].map((e=>new bm(e.value)))),374418227:(e,t)=>new r.IfcFillAreaStyleHatching(e,new bm(t[0].value),new bm(t[1].value),t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,new r.IfcPlaneAngleMeasure(t[4].value)),315944413:(e,t)=>new r.IfcFillAreaStyleTiles(e,t[0].map((e=>new bm(e.value))),t[1].map((e=>new bm(e.value))),new r.IfcPositiveRatioMeasure(t[2].value)),2652556860:(e,t)=>new r.IfcFixedReferenceSweptAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?_m(3,t[3]):null,t[4]?_m(3,t[4]):null,new bm(t[5].value)),4238390223:(e,t)=>new r.IfcFurnishingElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),1268542332:(e,t)=>new r.IfcFurnitureType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]),4095422895:(e,t)=>new r.IfcGeographicElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),987898635:(e,t)=>new r.IfcGeometricCurveSet(e,t[0].map((e=>new bm(e.value)))),1484403080:(e,t)=>new r.IfcIShapeProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcPositiveLengthMeasure(t[6].value),t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new r.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new r.IfcPlaneAngleMeasure(t[9].value):null),178912537:(e,t)=>new r.IfcIndexedPolygonalFace(e,t[0].map((e=>new r.IfcPositiveInteger(e.value)))),2294589976:(e,t)=>new r.IfcIndexedPolygonalFaceWithVoids(e,t[0].map((e=>new r.IfcPositiveInteger(e.value))),t[1].map((e=>new r.IfcPositiveInteger(e.value)))),3465909080:(e,t)=>new r.IfcIndexedPolygonalTextureMap(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new bm(t[2].value),t[3].map((e=>new bm(e.value)))),572779678:(e,t)=>new r.IfcLShapeProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),t[4]?new r.IfcPositiveLengthMeasure(t[4].value):null,new r.IfcPositiveLengthMeasure(t[5].value),t[6]?new r.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new r.IfcPlaneAngleMeasure(t[8].value):null),428585644:(e,t)=>new r.IfcLaborResourceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),1281925730:(e,t)=>new r.IfcLine(e,new bm(t[0].value),new bm(t[1].value)),1425443689:(e,t)=>new r.IfcManifoldSolidBrep(e,new bm(t[0].value)),3888040117:(e,t)=>new r.IfcObject(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null),590820931:(e,t)=>new r.IfcOffsetCurve(e,new bm(t[0].value)),3388369263:(e,t)=>new r.IfcOffsetCurve2D(e,new bm(t[0].value),new r.IfcLengthMeasure(t[1].value),new r.IfcLogical(t[2].value)),3505215534:(e,t)=>new r.IfcOffsetCurve3D(e,new bm(t[0].value),new r.IfcLengthMeasure(t[1].value),new r.IfcLogical(t[2].value),new bm(t[3].value)),2485787929:(e,t)=>new r.IfcOffsetCurveByDistances(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]?new r.IfcLabel(t[2].value):null),1682466193:(e,t)=>new r.IfcPcurve(e,new bm(t[0].value),new bm(t[1].value)),603570806:(e,t)=>new r.IfcPlanarBox(e,new r.IfcLengthMeasure(t[0].value),new r.IfcLengthMeasure(t[1].value),new bm(t[2].value)),220341763:(e,t)=>new r.IfcPlane(e,new bm(t[0].value)),3381221214:(e,t)=>new r.IfcPolynomialCurve(e,new bm(t[0].value),t[1]?t[1].map((e=>new r.IfcReal(e.value))):null,t[2]?t[2].map((e=>new r.IfcReal(e.value))):null,t[3]?t[3].map((e=>new r.IfcReal(e.value))):null),759155922:(e,t)=>new r.IfcPreDefinedColour(e,new r.IfcLabel(t[0].value)),2559016684:(e,t)=>new r.IfcPreDefinedCurveFont(e,new r.IfcLabel(t[0].value)),3967405729:(e,t)=>new r.IfcPreDefinedPropertySet(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),569719735:(e,t)=>new r.IfcProcedureType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2945172077:(e,t)=>new r.IfcProcess(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null),4208778838:(e,t)=>new r.IfcProduct(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),103090709:(e,t)=>new r.IfcProject(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new bm(t[8].value):null),653396225:(e,t)=>new r.IfcProjectLibrary(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new bm(t[8].value):null),871118103:(e,t)=>new r.IfcPropertyBoundedValue(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?_m(3,t[2]):null,t[3]?_m(3,t[3]):null,t[4]?new bm(t[4].value):null,t[5]?_m(3,t[5]):null),4166981789:(e,t)=>new r.IfcPropertyEnumeratedValue(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?t[2].map((e=>_m(3,e))):null,t[3]?new bm(t[3].value):null),2752243245:(e,t)=>new r.IfcPropertyListValue(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?t[2].map((e=>_m(3,e))):null,t[3]?new bm(t[3].value):null),941946838:(e,t)=>new r.IfcPropertyReferenceValue(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new r.IfcText(t[2].value):null,t[3]?new bm(t[3].value):null),1451395588:(e,t)=>new r.IfcPropertySet(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value)))),492091185:(e,t)=>new r.IfcPropertySetTemplate(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4],t[5]?new r.IfcIdentifier(t[5].value):null,t[6].map((e=>new bm(e.value)))),3650150729:(e,t)=>new r.IfcPropertySingleValue(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?_m(3,t[2]):null,t[3]?new bm(t[3].value):null),110355661:(e,t)=>new r.IfcPropertyTableValue(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?t[2].map((e=>_m(3,e))):null,t[3]?t[3].map((e=>_m(3,e))):null,t[4]?new r.IfcText(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]),3521284610:(e,t)=>new r.IfcPropertyTemplate(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),2770003689:(e,t)=>new r.IfcRectangleHollowProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),t[6]?new r.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null),2798486643:(e,t)=>new r.IfcRectangularPyramid(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),new r.IfcPositiveLengthMeasure(t[2].value),new r.IfcPositiveLengthMeasure(t[3].value)),3454111270:(e,t)=>new r.IfcRectangularTrimmedSurface(e,new bm(t[0].value),new r.IfcParameterValue(t[1].value),new r.IfcParameterValue(t[2].value),new r.IfcParameterValue(t[3].value),new r.IfcParameterValue(t[4].value),new r.IfcBoolean(t[5].value),new r.IfcBoolean(t[6].value)),3765753017:(e,t)=>new r.IfcReinforcementDefinitionProperties(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5].map((e=>new bm(e.value)))),3939117080:(e,t)=>new r.IfcRelAssigns(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5]),1683148259:(e,t)=>new r.IfcRelAssignsToActor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),t[7]?new bm(t[7].value):null),2495723537:(e,t)=>new r.IfcRelAssignsToControl(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),1307041759:(e,t)=>new r.IfcRelAssignsToGroup(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),1027710054:(e,t)=>new r.IfcRelAssignsToGroupByFactor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),new r.IfcRatioMeasure(t[7].value)),4278684876:(e,t)=>new r.IfcRelAssignsToProcess(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),t[7]?new bm(t[7].value):null),2857406711:(e,t)=>new r.IfcRelAssignsToProduct(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),205026976:(e,t)=>new r.IfcRelAssignsToResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),1865459582:(e,t)=>new r.IfcRelAssociates(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value)))),4095574036:(e,t)=>new r.IfcRelAssociatesApproval(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),919958153:(e,t)=>new r.IfcRelAssociatesClassification(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),2728634034:(e,t)=>new r.IfcRelAssociatesConstraint(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5]?new r.IfcLabel(t[5].value):null,new bm(t[6].value)),982818633:(e,t)=>new r.IfcRelAssociatesDocument(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),3840914261:(e,t)=>new r.IfcRelAssociatesLibrary(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),2655215786:(e,t)=>new r.IfcRelAssociatesMaterial(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),1033248425:(e,t)=>new r.IfcRelAssociatesProfileDef(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),826625072:(e,t)=>new r.IfcRelConnects(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),1204542856:(e,t)=>new r.IfcRelConnectsElements(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value)),3945020480:(e,t)=>new r.IfcRelConnectsPathElements(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value),t[7]?t[7].map((e=>new r.IfcInteger(e.value))):null,t[8]?t[8].map((e=>new r.IfcInteger(e.value))):null,t[9],t[10]),4201705270:(e,t)=>new r.IfcRelConnectsPortToElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),3190031847:(e,t)=>new r.IfcRelConnectsPorts(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null),2127690289:(e,t)=>new r.IfcRelConnectsStructuralActivity(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),1638771189:(e,t)=>new r.IfcRelConnectsStructuralMember(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new r.IfcLengthMeasure(t[8].value):null,t[9]?new bm(t[9].value):null),504942748:(e,t)=>new r.IfcRelConnectsWithEccentricity(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new r.IfcLengthMeasure(t[8].value):null,t[9]?new bm(t[9].value):null,new bm(t[10].value)),3678494232:(e,t)=>new r.IfcRelConnectsWithRealizingElements(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value),t[7].map((e=>new bm(e.value))),t[8]?new r.IfcLabel(t[8].value):null),3242617779:(e,t)=>new r.IfcRelContainedInSpatialStructure(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),886880790:(e,t)=>new r.IfcRelCoversBldgElements(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2802773753:(e,t)=>new r.IfcRelCoversSpaces(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2565941209:(e,t)=>new r.IfcRelDeclares(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2551354335:(e,t)=>new r.IfcRelDecomposes(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),693640335:(e,t)=>new r.IfcRelDefines(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),1462361463:(e,t)=>new r.IfcRelDefinesByObject(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),4186316022:(e,t)=>new r.IfcRelDefinesByProperties(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),307848117:(e,t)=>new r.IfcRelDefinesByTemplate(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),781010003:(e,t)=>new r.IfcRelDefinesByType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),3940055652:(e,t)=>new r.IfcRelFillsElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),279856033:(e,t)=>new r.IfcRelFlowControlElements(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),427948657:(e,t)=>new r.IfcRelInterferesElements(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new r.IfcIdentifier(t[8].value):null,new r.IfcLogical(t[9].value)),3268803585:(e,t)=>new r.IfcRelNests(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),1441486842:(e,t)=>new r.IfcRelPositions(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),750771296:(e,t)=>new r.IfcRelProjectsElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),1245217292:(e,t)=>new r.IfcRelReferencedInSpatialStructure(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),4122056220:(e,t)=>new r.IfcRelSequence(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7],t[8]?new r.IfcLabel(t[8].value):null),366585022:(e,t)=>new r.IfcRelServicesBuildings(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),3451746338:(e,t)=>new r.IfcRelSpaceBoundary(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7],t[8]),3523091289:(e,t)=>new r.IfcRelSpaceBoundary1stLevel(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7],t[8],t[9]?new bm(t[9].value):null),1521410863:(e,t)=>new r.IfcRelSpaceBoundary2ndLevel(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7],t[8],t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null),1401173127:(e,t)=>new r.IfcRelVoidsElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),816062949:(e,t)=>new r.IfcReparametrisedCompositeCurveSegment(e,t[0],new r.IfcBoolean(t[1].value),new bm(t[2].value),new r.IfcParameterValue(t[3].value)),2914609552:(e,t)=>new r.IfcResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null),1856042241:(e,t)=>new r.IfcRevolvedAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new r.IfcPlaneAngleMeasure(t[3].value)),3243963512:(e,t)=>new r.IfcRevolvedAreaSolidTapered(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new r.IfcPlaneAngleMeasure(t[3].value),new bm(t[4].value)),4158566097:(e,t)=>new r.IfcRightCircularCone(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),new r.IfcPositiveLengthMeasure(t[2].value)),3626867408:(e,t)=>new r.IfcRightCircularCylinder(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),new r.IfcPositiveLengthMeasure(t[2].value)),1862484736:(e,t)=>new r.IfcSectionedSolid(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),1290935644:(e,t)=>new r.IfcSectionedSolidHorizontal(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2].map((e=>new bm(e.value)))),1356537516:(e,t)=>new r.IfcSectionedSurface(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2].map((e=>new bm(e.value)))),3663146110:(e,t)=>new r.IfcSimplePropertyTemplate(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4],t[5]?new r.IfcLabel(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new r.IfcLabel(t[10].value):null,t[11]),1412071761:(e,t)=>new r.IfcSpatialElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null),710998568:(e,t)=>new r.IfcSpatialElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),2706606064:(e,t)=>new r.IfcSpatialStructureElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]),3893378262:(e,t)=>new r.IfcSpatialStructureElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),463610769:(e,t)=>new r.IfcSpatialZone(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]),2481509218:(e,t)=>new r.IfcSpatialZoneType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]?new r.IfcLabel(t[10].value):null),451544542:(e,t)=>new r.IfcSphere(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value)),4015995234:(e,t)=>new r.IfcSphericalSurface(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value)),2735484536:(e,t)=>new r.IfcSpiral(e,t[0]?new bm(t[0].value):null),3544373492:(e,t)=>new r.IfcStructuralActivity(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),3136571912:(e,t)=>new r.IfcStructuralItem(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),530289379:(e,t)=>new r.IfcStructuralMember(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),3689010777:(e,t)=>new r.IfcStructuralReaction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),3979015343:(e,t)=>new r.IfcStructuralSurfaceMember(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]?new r.IfcPositiveLengthMeasure(t[8].value):null),2218152070:(e,t)=>new r.IfcStructuralSurfaceMemberVarying(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]?new r.IfcPositiveLengthMeasure(t[8].value):null),603775116:(e,t)=>new r.IfcStructuralSurfaceReaction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]),4095615324:(e,t)=>new r.IfcSubContractResourceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),699246055:(e,t)=>new r.IfcSurfaceCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]),2028607225:(e,t)=>new r.IfcSurfaceCurveSweptAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?_m(3,t[3]):null,t[4]?_m(3,t[4]):null,new bm(t[5].value)),2809605785:(e,t)=>new r.IfcSurfaceOfLinearExtrusion(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new r.IfcLengthMeasure(t[3].value)),4124788165:(e,t)=>new r.IfcSurfaceOfRevolution(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value)),1580310250:(e,t)=>new r.IfcSystemFurnitureElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3473067441:(e,t)=>new r.IfcTask(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,new r.IfcBoolean(t[9].value),t[10]?new r.IfcInteger(t[10].value):null,t[11]?new bm(t[11].value):null,t[12]),3206491090:(e,t)=>new r.IfcTaskType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]?new r.IfcLabel(t[10].value):null),2387106220:(e,t)=>new r.IfcTessellatedFaceSet(e,new bm(t[0].value),t[1]?new r.IfcBoolean(t[1].value):null),782932809:(e,t)=>new r.IfcThirdOrderPolynomialSpiral(e,t[0]?new bm(t[0].value):null,new r.IfcLengthMeasure(t[1].value),t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null,t[4]?new r.IfcLengthMeasure(t[4].value):null),1935646853:(e,t)=>new r.IfcToroidalSurface(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),new r.IfcPositiveLengthMeasure(t[2].value)),3665877780:(e,t)=>new r.IfcTransportationDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),2916149573:(e,t)=>new r.IfcTriangulatedFaceSet(e,new bm(t[0].value),t[1]?new r.IfcBoolean(t[1].value):null,t[2]?t[2].map((e=>new r.IfcParameterValue(e.value))):null,t[3].map((e=>new r.IfcPositiveInteger(e.value))),t[4]?t[4].map((e=>new r.IfcPositiveInteger(e.value))):null),1229763772:(e,t)=>new r.IfcTriangulatedIrregularNetwork(e,new bm(t[0].value),t[1]?new r.IfcBoolean(t[1].value):null,t[2]?t[2].map((e=>new r.IfcParameterValue(e.value))):null,t[3].map((e=>new r.IfcPositiveInteger(e.value))),t[4]?t[4].map((e=>new r.IfcPositiveInteger(e.value))):null,t[5].map((e=>new r.IfcInteger(e.value)))),3651464721:(e,t)=>new r.IfcVehicleType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),336235671:(e,t)=>new r.IfcWindowLiningProperties(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new r.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new r.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new r.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new r.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new r.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new r.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new bm(t[12].value):null,t[13]?new r.IfcLengthMeasure(t[13].value):null,t[14]?new r.IfcLengthMeasure(t[14].value):null,t[15]?new r.IfcLengthMeasure(t[15].value):null),512836454:(e,t)=>new r.IfcWindowPanelProperties(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4],t[5],t[6]?new r.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new r.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new bm(t[8].value):null),2296667514:(e,t)=>new r.IfcActor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,new bm(t[5].value)),1635779807:(e,t)=>new r.IfcAdvancedBrep(e,new bm(t[0].value)),2603310189:(e,t)=>new r.IfcAdvancedBrepWithVoids(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),1674181508:(e,t)=>new r.IfcAnnotation(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]),2887950389:(e,t)=>new r.IfcBSplineSurface(e,new r.IfcInteger(t[0].value),new r.IfcInteger(t[1].value),t[2].map((e=>new bm(e.value))),t[3],new r.IfcLogical(t[4].value),new r.IfcLogical(t[5].value),new r.IfcLogical(t[6].value)),167062518:(e,t)=>new r.IfcBSplineSurfaceWithKnots(e,new r.IfcInteger(t[0].value),new r.IfcInteger(t[1].value),t[2].map((e=>new bm(e.value))),t[3],new r.IfcLogical(t[4].value),new r.IfcLogical(t[5].value),new r.IfcLogical(t[6].value),t[7].map((e=>new r.IfcInteger(e.value))),t[8].map((e=>new r.IfcInteger(e.value))),t[9].map((e=>new r.IfcParameterValue(e.value))),t[10].map((e=>new r.IfcParameterValue(e.value))),t[11]),1334484129:(e,t)=>new r.IfcBlock(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),new r.IfcPositiveLengthMeasure(t[2].value),new r.IfcPositiveLengthMeasure(t[3].value)),3649129432:(e,t)=>new r.IfcBooleanClippingResult(e,t[0],new bm(t[1].value),new bm(t[2].value)),1260505505:(e,t)=>new r.IfcBoundedCurve(e),3124254112:(e,t)=>new r.IfcBuildingStorey(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]?new r.IfcLengthMeasure(t[9].value):null),1626504194:(e,t)=>new r.IfcBuiltElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),2197970202:(e,t)=>new r.IfcChimneyType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2937912522:(e,t)=>new r.IfcCircleHollowProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value)),3893394355:(e,t)=>new r.IfcCivilElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),3497074424:(e,t)=>new r.IfcClothoid(e,t[0]?new bm(t[0].value):null,new r.IfcLengthMeasure(t[1].value)),300633059:(e,t)=>new r.IfcColumnType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3875453745:(e,t)=>new r.IfcComplexPropertyTemplate(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5],t[6]?t[6].map((e=>new bm(e.value))):null),3732776249:(e,t)=>new r.IfcCompositeCurve(e,t[0].map((e=>new bm(e.value))),new r.IfcLogical(t[1].value)),15328376:(e,t)=>new r.IfcCompositeCurveOnSurface(e,t[0].map((e=>new bm(e.value))),new r.IfcLogical(t[1].value)),2510884976:(e,t)=>new r.IfcConic(e,new bm(t[0].value)),2185764099:(e,t)=>new r.IfcConstructionEquipmentResourceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),4105962743:(e,t)=>new r.IfcConstructionMaterialResourceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),1525564444:(e,t)=>new r.IfcConstructionProductResourceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),2559216714:(e,t)=>new r.IfcConstructionResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null),3293443760:(e,t)=>new r.IfcControl(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null),2000195564:(e,t)=>new r.IfcCosineSpiral(e,t[0]?new bm(t[0].value):null,new r.IfcLengthMeasure(t[1].value),t[2]?new r.IfcLengthMeasure(t[2].value):null),3895139033:(e,t)=>new r.IfcCostItem(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6],t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?t[8].map((e=>new bm(e.value))):null),1419761937:(e,t)=>new r.IfcCostSchedule(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6],t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcDateTime(t[8].value):null,t[9]?new r.IfcDateTime(t[9].value):null),4189326743:(e,t)=>new r.IfcCourseType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1916426348:(e,t)=>new r.IfcCoveringType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3295246426:(e,t)=>new r.IfcCrewResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),1457835157:(e,t)=>new r.IfcCurtainWallType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1213902940:(e,t)=>new r.IfcCylindricalSurface(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value)),1306400036:(e,t)=>new r.IfcDeepFoundationType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),4234616927:(e,t)=>new r.IfcDirectrixDerivedReferenceSweptAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?_m(3,t[3]):null,t[4]?_m(3,t[4]):null,new bm(t[5].value)),3256556792:(e,t)=>new r.IfcDistributionElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),3849074793:(e,t)=>new r.IfcDistributionFlowElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),2963535650:(e,t)=>new r.IfcDoorLiningProperties(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new r.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new r.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new r.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new r.IfcLengthMeasure(t[9].value):null,t[10]?new r.IfcLengthMeasure(t[10].value):null,t[11]?new r.IfcLengthMeasure(t[11].value):null,t[12]?new r.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new r.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new bm(t[14].value):null,t[15]?new r.IfcLengthMeasure(t[15].value):null,t[16]?new r.IfcLengthMeasure(t[16].value):null),1714330368:(e,t)=>new r.IfcDoorPanelProperties(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new r.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new bm(t[8].value):null),2323601079:(e,t)=>new r.IfcDoorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new r.IfcBoolean(t[11].value):null,t[12]?new r.IfcLabel(t[12].value):null),445594917:(e,t)=>new r.IfcDraughtingPreDefinedColour(e,new r.IfcLabel(t[0].value)),4006246654:(e,t)=>new r.IfcDraughtingPreDefinedCurveFont(e,new r.IfcLabel(t[0].value)),1758889154:(e,t)=>new r.IfcElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),4123344466:(e,t)=>new r.IfcElementAssembly(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8],t[9]),2397081782:(e,t)=>new r.IfcElementAssemblyType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1623761950:(e,t)=>new r.IfcElementComponent(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),2590856083:(e,t)=>new r.IfcElementComponentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),1704287377:(e,t)=>new r.IfcEllipse(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),new r.IfcPositiveLengthMeasure(t[2].value)),2107101300:(e,t)=>new r.IfcEnergyConversionDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),132023988:(e,t)=>new r.IfcEngineType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3174744832:(e,t)=>new r.IfcEvaporativeCoolerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3390157468:(e,t)=>new r.IfcEvaporatorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),4148101412:(e,t)=>new r.IfcEvent(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7],t[8],t[9]?new r.IfcLabel(t[9].value):null,t[10]?new bm(t[10].value):null),2853485674:(e,t)=>new r.IfcExternalSpatialStructureElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null),807026263:(e,t)=>new r.IfcFacetedBrep(e,new bm(t[0].value)),3737207727:(e,t)=>new r.IfcFacetedBrepWithVoids(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),24185140:(e,t)=>new r.IfcFacility(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]),1310830890:(e,t)=>new r.IfcFacilityPart(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]),4228831410:(e,t)=>new r.IfcFacilityPartCommon(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9],t[10]),647756555:(e,t)=>new r.IfcFastener(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2489546625:(e,t)=>new r.IfcFastenerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2827207264:(e,t)=>new r.IfcFeatureElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),2143335405:(e,t)=>new r.IfcFeatureElementAddition(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),1287392070:(e,t)=>new r.IfcFeatureElementSubtraction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),3907093117:(e,t)=>new r.IfcFlowControllerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),3198132628:(e,t)=>new r.IfcFlowFittingType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),3815607619:(e,t)=>new r.IfcFlowMeterType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1482959167:(e,t)=>new r.IfcFlowMovingDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),1834744321:(e,t)=>new r.IfcFlowSegmentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),1339347760:(e,t)=>new r.IfcFlowStorageDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),2297155007:(e,t)=>new r.IfcFlowTerminalType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),3009222698:(e,t)=>new r.IfcFlowTreatmentDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),1893162501:(e,t)=>new r.IfcFootingType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),263784265:(e,t)=>new r.IfcFurnishingElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),1509553395:(e,t)=>new r.IfcFurniture(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3493046030:(e,t)=>new r.IfcGeographicElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4230923436:(e,t)=>new r.IfcGeotechnicalElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),1594536857:(e,t)=>new r.IfcGeotechnicalStratum(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2898700619:(e,t)=>new r.IfcGradientCurve(e,t[0].map((e=>new bm(e.value))),new r.IfcLogical(t[1].value),new bm(t[2].value),t[3]?new bm(t[3].value):null),2706460486:(e,t)=>new r.IfcGroup(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null),1251058090:(e,t)=>new r.IfcHeatExchangerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1806887404:(e,t)=>new r.IfcHumidifierType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2568555532:(e,t)=>new r.IfcImpactProtectionDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3948183225:(e,t)=>new r.IfcImpactProtectionDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2571569899:(e,t)=>new r.IfcIndexedPolyCurve(e,new bm(t[0].value),t[1]?t[1].map((e=>_m(3,e))):null,new r.IfcLogical(t[2].value)),3946677679:(e,t)=>new r.IfcInterceptorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3113134337:(e,t)=>new r.IfcIntersectionCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]),2391368822:(e,t)=>new r.IfcInventory(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5],t[6]?new bm(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new r.IfcDate(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null),4288270099:(e,t)=>new r.IfcJunctionBoxType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),679976338:(e,t)=>new r.IfcKerbType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,new r.IfcBoolean(t[9].value)),3827777499:(e,t)=>new r.IfcLaborResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),1051575348:(e,t)=>new r.IfcLampType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1161773419:(e,t)=>new r.IfcLightFixtureType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2176059722:(e,t)=>new r.IfcLinearElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),1770583370:(e,t)=>new r.IfcLiquidTerminalType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),525669439:(e,t)=>new r.IfcMarineFacility(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]),976884017:(e,t)=>new r.IfcMarinePart(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9],t[10]),377706215:(e,t)=>new r.IfcMechanicalFastener(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new r.IfcPositiveLengthMeasure(t[9].value):null,t[10]),2108223431:(e,t)=>new r.IfcMechanicalFastenerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]?new r.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new r.IfcPositiveLengthMeasure(t[11].value):null),1114901282:(e,t)=>new r.IfcMedicalDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3181161470:(e,t)=>new r.IfcMemberType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1950438474:(e,t)=>new r.IfcMobileTelecommunicationsApplianceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),710110818:(e,t)=>new r.IfcMooringDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),977012517:(e,t)=>new r.IfcMotorConnectionType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),506776471:(e,t)=>new r.IfcNavigationElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),4143007308:(e,t)=>new r.IfcOccupant(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,new bm(t[5].value),t[6]),3588315303:(e,t)=>new r.IfcOpeningElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2837617999:(e,t)=>new r.IfcOutletType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),514975943:(e,t)=>new r.IfcPavementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2382730787:(e,t)=>new r.IfcPerformanceHistory(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,new r.IfcLabel(t[6].value),t[7]),3566463478:(e,t)=>new r.IfcPermeableCoveringProperties(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4],t[5],t[6]?new r.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new r.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new bm(t[8].value):null),3327091369:(e,t)=>new r.IfcPermit(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6],t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcText(t[8].value):null),1158309216:(e,t)=>new r.IfcPileType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),804291784:(e,t)=>new r.IfcPipeFittingType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),4231323485:(e,t)=>new r.IfcPipeSegmentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),4017108033:(e,t)=>new r.IfcPlateType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2839578677:(e,t)=>new r.IfcPolygonalFaceSet(e,new bm(t[0].value),t[1]?new r.IfcBoolean(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?t[3].map((e=>new r.IfcPositiveInteger(e.value))):null),3724593414:(e,t)=>new r.IfcPolyline(e,t[0].map((e=>new bm(e.value)))),3740093272:(e,t)=>new r.IfcPort(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),1946335990:(e,t)=>new r.IfcPositioningElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),2744685151:(e,t)=>new r.IfcProcedure(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]),2904328755:(e,t)=>new r.IfcProjectOrder(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6],t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcText(t[8].value):null),3651124850:(e,t)=>new r.IfcProjectionElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1842657554:(e,t)=>new r.IfcProtectiveDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2250791053:(e,t)=>new r.IfcPumpType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1763565496:(e,t)=>new r.IfcRailType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2893384427:(e,t)=>new r.IfcRailingType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3992365140:(e,t)=>new r.IfcRailway(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]),1891881377:(e,t)=>new r.IfcRailwayPart(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9],t[10]),2324767716:(e,t)=>new r.IfcRampFlightType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1469900589:(e,t)=>new r.IfcRampType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),683857671:(e,t)=>new r.IfcRationalBSplineSurfaceWithKnots(e,new r.IfcInteger(t[0].value),new r.IfcInteger(t[1].value),t[2].map((e=>new bm(e.value))),t[3],new r.IfcLogical(t[4].value),new r.IfcLogical(t[5].value),new r.IfcLogical(t[6].value),t[7].map((e=>new r.IfcInteger(e.value))),t[8].map((e=>new r.IfcInteger(e.value))),t[9].map((e=>new r.IfcParameterValue(e.value))),t[10].map((e=>new r.IfcParameterValue(e.value))),t[11],t[12].map((e=>new r.IfcReal(e.value)))),4021432810:(e,t)=>new r.IfcReferent(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]),3027567501:(e,t)=>new r.IfcReinforcingElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),964333572:(e,t)=>new r.IfcReinforcingElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),2320036040:(e,t)=>new r.IfcReinforcingMesh(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?new r.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new r.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new r.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new r.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new r.IfcAreaMeasure(t[13].value):null,t[14]?new r.IfcAreaMeasure(t[14].value):null,t[15]?new r.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new r.IfcPositiveLengthMeasure(t[16].value):null,t[17]),2310774935:(e,t)=>new r.IfcReinforcingMeshType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]?new r.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new r.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new r.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new r.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new r.IfcAreaMeasure(t[14].value):null,t[15]?new r.IfcAreaMeasure(t[15].value):null,t[16]?new r.IfcPositiveLengthMeasure(t[16].value):null,t[17]?new r.IfcPositiveLengthMeasure(t[17].value):null,t[18]?new r.IfcLabel(t[18].value):null,t[19]?t[19].map((e=>_m(3,e))):null),3818125796:(e,t)=>new r.IfcRelAdheresToElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),160246688:(e,t)=>new r.IfcRelAggregates(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),146592293:(e,t)=>new r.IfcRoad(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]),550521510:(e,t)=>new r.IfcRoadPart(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9],t[10]),2781568857:(e,t)=>new r.IfcRoofType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1768891740:(e,t)=>new r.IfcSanitaryTerminalType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2157484638:(e,t)=>new r.IfcSeamCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]),3649235739:(e,t)=>new r.IfcSecondOrderPolynomialSpiral(e,t[0]?new bm(t[0].value):null,new r.IfcLengthMeasure(t[1].value),t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null),544395925:(e,t)=>new r.IfcSegmentedReferenceCurve(e,t[0].map((e=>new bm(e.value))),new r.IfcLogical(t[1].value),new bm(t[2].value),t[3]?new bm(t[3].value):null),1027922057:(e,t)=>new r.IfcSeventhOrderPolynomialSpiral(e,t[0]?new bm(t[0].value):null,new r.IfcLengthMeasure(t[1].value),t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null,t[4]?new r.IfcLengthMeasure(t[4].value):null,t[5]?new r.IfcLengthMeasure(t[5].value):null,t[6]?new r.IfcLengthMeasure(t[6].value):null,t[7]?new r.IfcLengthMeasure(t[7].value):null,t[8]?new r.IfcLengthMeasure(t[8].value):null),4074543187:(e,t)=>new r.IfcShadingDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),33720170:(e,t)=>new r.IfcSign(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3599934289:(e,t)=>new r.IfcSignType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1894708472:(e,t)=>new r.IfcSignalType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),42703149:(e,t)=>new r.IfcSineSpiral(e,t[0]?new bm(t[0].value):null,new r.IfcLengthMeasure(t[1].value),t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null),4097777520:(e,t)=>new r.IfcSite(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]?new r.IfcCompoundPlaneAngleMeasure(t[9].map((e=>e.value))):null,t[10]?new r.IfcCompoundPlaneAngleMeasure(t[10].map((e=>e.value))):null,t[11]?new r.IfcLengthMeasure(t[11].value):null,t[12]?new r.IfcLabel(t[12].value):null,t[13]?new bm(t[13].value):null),2533589738:(e,t)=>new r.IfcSlabType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1072016465:(e,t)=>new r.IfcSolarDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3856911033:(e,t)=>new r.IfcSpace(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new r.IfcLengthMeasure(t[10].value):null),1305183839:(e,t)=>new r.IfcSpaceHeaterType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3812236995:(e,t)=>new r.IfcSpaceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]?new r.IfcLabel(t[10].value):null),3112655638:(e,t)=>new r.IfcStackTerminalType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1039846685:(e,t)=>new r.IfcStairFlightType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),338393293:(e,t)=>new r.IfcStairType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),682877961:(e,t)=>new r.IfcStructuralAction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new r.IfcBoolean(t[9].value):null),1179482911:(e,t)=>new r.IfcStructuralConnection(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),1004757350:(e,t)=>new r.IfcStructuralCurveAction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new r.IfcBoolean(t[9].value):null,t[10],t[11]),4243806635:(e,t)=>new r.IfcStructuralCurveConnection(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,new bm(t[8].value)),214636428:(e,t)=>new r.IfcStructuralCurveMember(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],new bm(t[8].value)),2445595289:(e,t)=>new r.IfcStructuralCurveMemberVarying(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],new bm(t[8].value)),2757150158:(e,t)=>new r.IfcStructuralCurveReaction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]),1807405624:(e,t)=>new r.IfcStructuralLinearAction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new r.IfcBoolean(t[9].value):null,t[10],t[11]),1252848954:(e,t)=>new r.IfcStructuralLoadGroup(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new r.IfcRatioMeasure(t[8].value):null,t[9]?new r.IfcLabel(t[9].value):null),2082059205:(e,t)=>new r.IfcStructuralPointAction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new r.IfcBoolean(t[9].value):null),734778138:(e,t)=>new r.IfcStructuralPointConnection(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null),1235345126:(e,t)=>new r.IfcStructuralPointReaction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),2986769608:(e,t)=>new r.IfcStructuralResultGroup(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5],t[6]?new bm(t[6].value):null,new r.IfcBoolean(t[7].value)),3657597509:(e,t)=>new r.IfcStructuralSurfaceAction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new r.IfcBoolean(t[9].value):null,t[10],t[11]),1975003073:(e,t)=>new r.IfcStructuralSurfaceConnection(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),148013059:(e,t)=>new r.IfcSubContractResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),3101698114:(e,t)=>new r.IfcSurfaceFeature(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2315554128:(e,t)=>new r.IfcSwitchingDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2254336722:(e,t)=>new r.IfcSystem(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null),413509423:(e,t)=>new r.IfcSystemFurnitureElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),5716631:(e,t)=>new r.IfcTankType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3824725483:(e,t)=>new r.IfcTendon(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]?new r.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new r.IfcAreaMeasure(t[11].value):null,t[12]?new r.IfcForceMeasure(t[12].value):null,t[13]?new r.IfcPressureMeasure(t[13].value):null,t[14]?new r.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new r.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new r.IfcPositiveLengthMeasure(t[16].value):null),2347447852:(e,t)=>new r.IfcTendonAnchor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3081323446:(e,t)=>new r.IfcTendonAnchorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3663046924:(e,t)=>new r.IfcTendonConduit(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2281632017:(e,t)=>new r.IfcTendonConduitType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2415094496:(e,t)=>new r.IfcTendonType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]?new r.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new r.IfcAreaMeasure(t[11].value):null,t[12]?new r.IfcPositiveLengthMeasure(t[12].value):null),618700268:(e,t)=>new r.IfcTrackElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1692211062:(e,t)=>new r.IfcTransformerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2097647324:(e,t)=>new r.IfcTransportElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1953115116:(e,t)=>new r.IfcTransportationDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),3593883385:(e,t)=>new r.IfcTrimmedCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2].map((e=>new bm(e.value))),new r.IfcBoolean(t[3].value),t[4]),1600972822:(e,t)=>new r.IfcTubeBundleType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1911125066:(e,t)=>new r.IfcUnitaryEquipmentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),728799441:(e,t)=>new r.IfcValveType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),840318589:(e,t)=>new r.IfcVehicle(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1530820697:(e,t)=>new r.IfcVibrationDamper(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3956297820:(e,t)=>new r.IfcVibrationDamperType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2391383451:(e,t)=>new r.IfcVibrationIsolator(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3313531582:(e,t)=>new r.IfcVibrationIsolatorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2769231204:(e,t)=>new r.IfcVirtualElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),926996030:(e,t)=>new r.IfcVoidingFeature(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1898987631:(e,t)=>new r.IfcWallType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1133259667:(e,t)=>new r.IfcWasteTerminalType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),4009809668:(e,t)=>new r.IfcWindowType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new r.IfcBoolean(t[11].value):null,t[12]?new r.IfcLabel(t[12].value):null),4088093105:(e,t)=>new r.IfcWorkCalendar(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]),1028945134:(e,t)=>new r.IfcWorkControl(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,new r.IfcDateTime(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?new r.IfcDuration(t[9].value):null,t[10]?new r.IfcDuration(t[10].value):null,new r.IfcDateTime(t[11].value),t[12]?new r.IfcDateTime(t[12].value):null),4218914973:(e,t)=>new r.IfcWorkPlan(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,new r.IfcDateTime(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?new r.IfcDuration(t[9].value):null,t[10]?new r.IfcDuration(t[10].value):null,new r.IfcDateTime(t[11].value),t[12]?new r.IfcDateTime(t[12].value):null,t[13]),3342526732:(e,t)=>new r.IfcWorkSchedule(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,new r.IfcDateTime(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?new r.IfcDuration(t[9].value):null,t[10]?new r.IfcDuration(t[10].value):null,new r.IfcDateTime(t[11].value),t[12]?new r.IfcDateTime(t[12].value):null,t[13]),1033361043:(e,t)=>new r.IfcZone(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null),3821786052:(e,t)=>new r.IfcActionRequest(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6],t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcText(t[8].value):null),1411407467:(e,t)=>new r.IfcAirTerminalBoxType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3352864051:(e,t)=>new r.IfcAirTerminalType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1871374353:(e,t)=>new r.IfcAirToAirHeatRecoveryType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),4266260250:(e,t)=>new r.IfcAlignmentCant(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new r.IfcPositiveLengthMeasure(t[7].value)),1545765605:(e,t)=>new r.IfcAlignmentHorizontal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),317615605:(e,t)=>new r.IfcAlignmentSegment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value)),1662888072:(e,t)=>new r.IfcAlignmentVertical(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),3460190687:(e,t)=>new r.IfcAsset(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null,t[11]?new bm(t[11].value):null,t[12]?new r.IfcDate(t[12].value):null,t[13]?new bm(t[13].value):null),1532957894:(e,t)=>new r.IfcAudioVisualApplianceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1967976161:(e,t)=>new r.IfcBSplineCurve(e,new r.IfcInteger(t[0].value),t[1].map((e=>new bm(e.value))),t[2],new r.IfcLogical(t[3].value),new r.IfcLogical(t[4].value)),2461110595:(e,t)=>new r.IfcBSplineCurveWithKnots(e,new r.IfcInteger(t[0].value),t[1].map((e=>new bm(e.value))),t[2],new r.IfcLogical(t[3].value),new r.IfcLogical(t[4].value),t[5].map((e=>new r.IfcInteger(e.value))),t[6].map((e=>new r.IfcParameterValue(e.value))),t[7]),819618141:(e,t)=>new r.IfcBeamType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3649138523:(e,t)=>new r.IfcBearingType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),231477066:(e,t)=>new r.IfcBoilerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1136057603:(e,t)=>new r.IfcBoundaryCurve(e,t[0].map((e=>new bm(e.value))),new r.IfcLogical(t[1].value)),644574406:(e,t)=>new r.IfcBridge(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]),963979645:(e,t)=>new r.IfcBridgePart(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9],t[10]),4031249490:(e,t)=>new r.IfcBuilding(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]?new r.IfcLengthMeasure(t[9].value):null,t[10]?new r.IfcLengthMeasure(t[10].value):null,t[11]?new bm(t[11].value):null),2979338954:(e,t)=>new r.IfcBuildingElementPart(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),39481116:(e,t)=>new r.IfcBuildingElementPartType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1909888760:(e,t)=>new r.IfcBuildingElementProxyType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1177604601:(e,t)=>new r.IfcBuildingSystem(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5],t[6]?new r.IfcLabel(t[6].value):null),1876633798:(e,t)=>new r.IfcBuiltElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),3862327254:(e,t)=>new r.IfcBuiltSystem(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5],t[6]?new r.IfcLabel(t[6].value):null),2188180465:(e,t)=>new r.IfcBurnerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),395041908:(e,t)=>new r.IfcCableCarrierFittingType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3293546465:(e,t)=>new r.IfcCableCarrierSegmentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2674252688:(e,t)=>new r.IfcCableFittingType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1285652485:(e,t)=>new r.IfcCableSegmentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3203706013:(e,t)=>new r.IfcCaissonFoundationType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2951183804:(e,t)=>new r.IfcChillerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3296154744:(e,t)=>new r.IfcChimney(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2611217952:(e,t)=>new r.IfcCircle(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value)),1677625105:(e,t)=>new r.IfcCivilElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),2301859152:(e,t)=>new r.IfcCoilType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),843113511:(e,t)=>new r.IfcColumn(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),400855858:(e,t)=>new r.IfcCommunicationsApplianceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3850581409:(e,t)=>new r.IfcCompressorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2816379211:(e,t)=>new r.IfcCondenserType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3898045240:(e,t)=>new r.IfcConstructionEquipmentResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),1060000209:(e,t)=>new r.IfcConstructionMaterialResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),488727124:(e,t)=>new r.IfcConstructionProductResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),2940368186:(e,t)=>new r.IfcConveyorSegmentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),335055490:(e,t)=>new r.IfcCooledBeamType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2954562838:(e,t)=>new r.IfcCoolingTowerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1502416096:(e,t)=>new r.IfcCourse(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1973544240:(e,t)=>new r.IfcCovering(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3495092785:(e,t)=>new r.IfcCurtainWall(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3961806047:(e,t)=>new r.IfcDamperType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3426335179:(e,t)=>new r.IfcDeepFoundation(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),1335981549:(e,t)=>new r.IfcDiscreteAccessory(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2635815018:(e,t)=>new r.IfcDiscreteAccessoryType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),479945903:(e,t)=>new r.IfcDistributionBoardType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1599208980:(e,t)=>new r.IfcDistributionChamberElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2063403501:(e,t)=>new r.IfcDistributionControlElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),1945004755:(e,t)=>new r.IfcDistributionElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),3040386961:(e,t)=>new r.IfcDistributionFlowElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),3041715199:(e,t)=>new r.IfcDistributionPort(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8],t[9]),3205830791:(e,t)=>new r.IfcDistributionSystem(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]),395920057:(e,t)=>new r.IfcDoor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new r.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new r.IfcLabel(t[12].value):null),869906466:(e,t)=>new r.IfcDuctFittingType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3760055223:(e,t)=>new r.IfcDuctSegmentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2030761528:(e,t)=>new r.IfcDuctSilencerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3071239417:(e,t)=>new r.IfcEarthworksCut(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1077100507:(e,t)=>new r.IfcEarthworksElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),3376911765:(e,t)=>new r.IfcEarthworksFill(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),663422040:(e,t)=>new r.IfcElectricApplianceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2417008758:(e,t)=>new r.IfcElectricDistributionBoardType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3277789161:(e,t)=>new r.IfcElectricFlowStorageDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2142170206:(e,t)=>new r.IfcElectricFlowTreatmentDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1534661035:(e,t)=>new r.IfcElectricGeneratorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1217240411:(e,t)=>new r.IfcElectricMotorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),712377611:(e,t)=>new r.IfcElectricTimeControlType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1658829314:(e,t)=>new r.IfcEnergyConversionDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),2814081492:(e,t)=>new r.IfcEngine(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3747195512:(e,t)=>new r.IfcEvaporativeCooler(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),484807127:(e,t)=>new r.IfcEvaporator(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1209101575:(e,t)=>new r.IfcExternalSpatialElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]),346874300:(e,t)=>new r.IfcFanType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1810631287:(e,t)=>new r.IfcFilterType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),4222183408:(e,t)=>new r.IfcFireSuppressionTerminalType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2058353004:(e,t)=>new r.IfcFlowController(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),4278956645:(e,t)=>new r.IfcFlowFitting(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),4037862832:(e,t)=>new r.IfcFlowInstrumentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2188021234:(e,t)=>new r.IfcFlowMeter(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3132237377:(e,t)=>new r.IfcFlowMovingDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),987401354:(e,t)=>new r.IfcFlowSegment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),707683696:(e,t)=>new r.IfcFlowStorageDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),2223149337:(e,t)=>new r.IfcFlowTerminal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),3508470533:(e,t)=>new r.IfcFlowTreatmentDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),900683007:(e,t)=>new r.IfcFooting(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2713699986:(e,t)=>new r.IfcGeotechnicalAssembly(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),3009204131:(e,t)=>new r.IfcGrid(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7].map((e=>new bm(e.value))),t[8].map((e=>new bm(e.value))),t[9]?t[9].map((e=>new bm(e.value))):null,t[10]),3319311131:(e,t)=>new r.IfcHeatExchanger(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2068733104:(e,t)=>new r.IfcHumidifier(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4175244083:(e,t)=>new r.IfcInterceptor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2176052936:(e,t)=>new r.IfcJunctionBox(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2696325953:(e,t)=>new r.IfcKerb(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,new r.IfcBoolean(t[8].value)),76236018:(e,t)=>new r.IfcLamp(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),629592764:(e,t)=>new r.IfcLightFixture(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1154579445:(e,t)=>new r.IfcLinearPositioningElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),1638804497:(e,t)=>new r.IfcLiquidTerminal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1437502449:(e,t)=>new r.IfcMedicalDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1073191201:(e,t)=>new r.IfcMember(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2078563270:(e,t)=>new r.IfcMobileTelecommunicationsAppliance(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),234836483:(e,t)=>new r.IfcMooringDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2474470126:(e,t)=>new r.IfcMotorConnection(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2182337498:(e,t)=>new r.IfcNavigationElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),144952367:(e,t)=>new r.IfcOuterBoundaryCurve(e,t[0].map((e=>new bm(e.value))),new r.IfcLogical(t[1].value)),3694346114:(e,t)=>new r.IfcOutlet(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1383356374:(e,t)=>new r.IfcPavement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1687234759:(e,t)=>new r.IfcPile(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8],t[9]),310824031:(e,t)=>new r.IfcPipeFitting(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3612865200:(e,t)=>new r.IfcPipeSegment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3171933400:(e,t)=>new r.IfcPlate(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),738039164:(e,t)=>new r.IfcProtectiveDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),655969474:(e,t)=>new r.IfcProtectiveDeviceTrippingUnitType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),90941305:(e,t)=>new r.IfcPump(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3290496277:(e,t)=>new r.IfcRail(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2262370178:(e,t)=>new r.IfcRailing(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3024970846:(e,t)=>new r.IfcRamp(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3283111854:(e,t)=>new r.IfcRampFlight(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1232101972:(e,t)=>new r.IfcRationalBSplineCurveWithKnots(e,new r.IfcInteger(t[0].value),t[1].map((e=>new bm(e.value))),t[2],new r.IfcLogical(t[3].value),new r.IfcLogical(t[4].value),t[5].map((e=>new r.IfcInteger(e.value))),t[6].map((e=>new r.IfcParameterValue(e.value))),t[7],t[8].map((e=>new r.IfcReal(e.value)))),3798194928:(e,t)=>new r.IfcReinforcedSoil(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),979691226:(e,t)=>new r.IfcReinforcingBar(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?new r.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new r.IfcAreaMeasure(t[10].value):null,t[11]?new r.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13]),2572171363:(e,t)=>new r.IfcReinforcingBarType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]?new r.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new r.IfcAreaMeasure(t[11].value):null,t[12]?new r.IfcPositiveLengthMeasure(t[12].value):null,t[13],t[14]?new r.IfcLabel(t[14].value):null,t[15]?t[15].map((e=>_m(3,e))):null),2016517767:(e,t)=>new r.IfcRoof(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3053780830:(e,t)=>new r.IfcSanitaryTerminal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1783015770:(e,t)=>new r.IfcSensorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1329646415:(e,t)=>new r.IfcShadingDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),991950508:(e,t)=>new r.IfcSignal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1529196076:(e,t)=>new r.IfcSlab(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3420628829:(e,t)=>new r.IfcSolarDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1999602285:(e,t)=>new r.IfcSpaceHeater(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1404847402:(e,t)=>new r.IfcStackTerminal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),331165859:(e,t)=>new r.IfcStair(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4252922144:(e,t)=>new r.IfcStairFlight(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcInteger(t[8].value):null,t[9]?new r.IfcInteger(t[9].value):null,t[10]?new r.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new r.IfcPositiveLengthMeasure(t[11].value):null,t[12]),2515109513:(e,t)=>new r.IfcStructuralAnalysisModel(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5],t[6]?new bm(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null),385403989:(e,t)=>new r.IfcStructuralLoadCase(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new r.IfcRatioMeasure(t[8].value):null,t[9]?new r.IfcLabel(t[9].value):null,t[10]?t[10].map((e=>new r.IfcRatioMeasure(e.value))):null),1621171031:(e,t)=>new r.IfcStructuralPlanarAction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new r.IfcBoolean(t[9].value):null,t[10],t[11]),1162798199:(e,t)=>new r.IfcSwitchingDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),812556717:(e,t)=>new r.IfcTank(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3425753595:(e,t)=>new r.IfcTrackElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3825984169:(e,t)=>new r.IfcTransformer(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1620046519:(e,t)=>new r.IfcTransportElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3026737570:(e,t)=>new r.IfcTubeBundle(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3179687236:(e,t)=>new r.IfcUnitaryControlElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),4292641817:(e,t)=>new r.IfcUnitaryEquipment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4207607924:(e,t)=>new r.IfcValve(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2391406946:(e,t)=>new r.IfcWall(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3512223829:(e,t)=>new r.IfcWallStandardCase(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4237592921:(e,t)=>new r.IfcWasteTerminal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3304561284:(e,t)=>new r.IfcWindow(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new r.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new r.IfcLabel(t[12].value):null),2874132201:(e,t)=>new r.IfcActuatorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1634111441:(e,t)=>new r.IfcAirTerminal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),177149247:(e,t)=>new r.IfcAirTerminalBox(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2056796094:(e,t)=>new r.IfcAirToAirHeatRecovery(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3001207471:(e,t)=>new r.IfcAlarmType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),325726236:(e,t)=>new r.IfcAlignment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]),277319702:(e,t)=>new r.IfcAudioVisualAppliance(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),753842376:(e,t)=>new r.IfcBeam(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4196446775:(e,t)=>new r.IfcBearing(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),32344328:(e,t)=>new r.IfcBoiler(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3314249567:(e,t)=>new r.IfcBorehole(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),1095909175:(e,t)=>new r.IfcBuildingElementProxy(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2938176219:(e,t)=>new r.IfcBurner(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),635142910:(e,t)=>new r.IfcCableCarrierFitting(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3758799889:(e,t)=>new r.IfcCableCarrierSegment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1051757585:(e,t)=>new r.IfcCableFitting(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4217484030:(e,t)=>new r.IfcCableSegment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3999819293:(e,t)=>new r.IfcCaissonFoundation(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3902619387:(e,t)=>new r.IfcChiller(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),639361253:(e,t)=>new r.IfcCoil(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3221913625:(e,t)=>new r.IfcCommunicationsAppliance(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3571504051:(e,t)=>new r.IfcCompressor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2272882330:(e,t)=>new r.IfcCondenser(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),578613899:(e,t)=>new r.IfcControllerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3460952963:(e,t)=>new r.IfcConveyorSegment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4136498852:(e,t)=>new r.IfcCooledBeam(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3640358203:(e,t)=>new r.IfcCoolingTower(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4074379575:(e,t)=>new r.IfcDamper(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3693000487:(e,t)=>new r.IfcDistributionBoard(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1052013943:(e,t)=>new r.IfcDistributionChamberElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),562808652:(e,t)=>new r.IfcDistributionCircuit(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]),1062813311:(e,t)=>new r.IfcDistributionControlElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),342316401:(e,t)=>new r.IfcDuctFitting(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3518393246:(e,t)=>new r.IfcDuctSegment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1360408905:(e,t)=>new r.IfcDuctSilencer(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1904799276:(e,t)=>new r.IfcElectricAppliance(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),862014818:(e,t)=>new r.IfcElectricDistributionBoard(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3310460725:(e,t)=>new r.IfcElectricFlowStorageDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),24726584:(e,t)=>new r.IfcElectricFlowTreatmentDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),264262732:(e,t)=>new r.IfcElectricGenerator(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),402227799:(e,t)=>new r.IfcElectricMotor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1003880860:(e,t)=>new r.IfcElectricTimeControl(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3415622556:(e,t)=>new r.IfcFan(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),819412036:(e,t)=>new r.IfcFilter(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1426591983:(e,t)=>new r.IfcFireSuppressionTerminal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),182646315:(e,t)=>new r.IfcFlowInstrument(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2680139844:(e,t)=>new r.IfcGeomodel(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),1971632696:(e,t)=>new r.IfcGeoslice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),2295281155:(e,t)=>new r.IfcProtectiveDeviceTrippingUnit(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4086658281:(e,t)=>new r.IfcSensor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),630975310:(e,t)=>new r.IfcUnitaryControlElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4288193352:(e,t)=>new r.IfcActuator(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3087945054:(e,t)=>new r.IfcAlarm(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),25142252:(e,t)=>new r.IfcController(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8])},xm[3]={618182010:[Kf,_I],2879124712:[536804194,3752311538,3633395639],411424972:[om],4037036970:[ym,vm,wm,Tm],1387855156:[ym],2859738748:[wf,Na,hm,vf,dm],2614616156:[vf],1959218052:[GI,jI],1785450214:[Sa],1466758467:[Ta],4294318154:[sm,mm,QI],3200245327:[df,Df,ZI,JI,$I,em],760658860:[na,sa,KI,ga,Ea,Ra,YI,Da,XI],248100487:[Da],2235152071:[Ea],1507914824:[ea,ta,kI],1918398963:[pa,mf,yf,dI],3701648758:[Vd,388784114,Jd],2483315170:[Cd,vI,wI,TI,yt,EI,gI,RI,MI],2226359599:[vI,wI,TI,yt,EI,gI,RI],677532197:[Up,Ed,Fp,gd,Yf,LI,qI,ra,im,am,lm,Rf,fm,ha,fa,Gf,ut,aa,la,Vf,jf,zf,Wf,kf,xd,Zd,bf,Zf,Qf,Fh,Jf,$f,eI],2022622350:[xI],3119450353:[sf,If,Xf,tI],2095639259:[vd,Ud],3958567839:[gp,Rp,qp,Mc,sh,uh,jc,gh,Oh,Lh,Mh,rp,ad,cd,Pd,182550632,Ji,ff,Ef,Sf,Of,Nf,Af],986844984:[gf,ud,pd,dd,fd,Id,yd,rI,NI,pI,hI,mI,Qi,OI,WI,ca,DI],1076942058:[nI,iI,Bf,oI,cI],3377609919:[ef,nf],3008791417:[Fd,Op,xp,Cp,Wp,$l,yc,Pc,Rn,is,hr,xr,Ro,Ls,ve,Ue,Cn,ss,Ws,qc,Fc,Ts,xs,si,de,ye,we,Xe,Ke,et,tt,rt,bi,ot,yp,vp,ct,Ep,Zp,Vc,au,ou,cu,lp,Jp,ih,ah,lh,rh,oh,Bi,Ui,Fi,hh,Gc,fh,Th,Nh,Ph,qh,bs,Je,$s,ti,Oi,Ai,zi,nt,Gs,ei,li,fp,_p,Ds,Ks,Zs,ap,qi,Kp,dh,Kc,Zc,Hh,Gh,st,it,uc,pc,Qs,Js,Tp,Qp,Wi,Bh,hi,uu,Li,Lp,Qc,We,Ci,pt,Uh,ed,nd,ht,di,th,ft,id,ch,Sd,bd,It,Nd,Ip,Od,dt,Ih,mh,yh,Ad,jd,zd,Wd,kd,Yd,Xd,ph,Rd,Qd,Dp,$d,tf,Ld,Bp,bh,Dd,Gd,rf,of,Gi,lf,cf,Vh,qd,uf,pf,nh,_d,Tf,_f,Mf,Uf,sI],2439245199:[Yi,Xi,SI,UI,$i,oa,nm,rm,Em],2341007311:[Su,yi,bu,vi,Nu,po,ge,hu,vu,Eu,Ou,wi,fi,Ii,du,fu,Iu,yu,at,mi,Ru,Du,Au,xu,Cu,Pu,qu,Mu,Hu,Bu,Lu,Uu,Fu,Gu,lt,ju,zu,Wu,ku,Yu,Xu,Zu,Qu,$u,ep,Ti,tp,np,sp,ip,ld,ks,pi,Ei,gi,Zi,cp,mp,jp,zp,Dh,Sh,rd,Si,Hp,Ki,hd,md,dr,ja,Ht,Xn,Q,ts,Tr,_r,Ur,fn,Wr,jo,ko,vr,Er,gr,Rr,ls,To,No,Oo,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,A,U,Yo,Re,Ne,Cl,go,ne,se,ie,ae,_e,vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,R,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,C,En,xn,H,qn,B,_n,Mn,rl,Ct,hn,ol,_t,S,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,D,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,ar,O,qa,Ha,Ba,Ua,x,za,Wa,ka,Tn,Ka,$a,el,tl,P,nl,q,_,M,il,F,al,L,j,z,xl,b,sl,Y,Fl,Gl,X,Ql,Jn,J,br,Cr,oe,ce,E,g,N,G,Fe,Ge,Ps,hs,qs,Zo,ds,W,os,Co,ac,vo,lc,rc,Hl,lr,cs,re,me,Oa,he,Ga,Va,Za,Qa,Ho,Be,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu,iu,Vn,Ms,oi,io,lo,$,Te,De,Le,Ve,je,Uc,ee,Ee,Se,Pe,ze,Hc,ru,ui,hp,Eo,Hs,Yc,dp,wp,Ri,pp,Mi,Vs,js,zs,ii,Ni,_i,Hi,Vi,ri,to,lu,ci,Ml,ns,Fa,le,Ie,gn,us,pe,ps,gs,Rs,Mo,He,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,V,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,fe,co,Ao,Ce,As,qe,Uo,Fo,Jo,Dl,qr,$o,Ol,K,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,k,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,te,pr,rs,Sr,ue,ys,$r,ao,ws,Es,Ss,ho,fo,be,Do,Oe,Ae,xe,_o,Me,_s,Fs,Z,Ns,ke,bc,Oc,Ye,_c,Xs,Ze,kc,Qe,$e,xi,Xc,Sp,bp,Mp,Ah,ni,Di,Pi,ji,xh,Hd],1054537805:[ki,ia,ua,da,Ia,ma],3982875396:[Bf,oI],2273995522:[td,af],2162789131:[ya,Wh,kh,Yh,Xh,Kh,Zh,aI,lI,va,wa],609421318:[ya,Wh,kh,Yh,Xh,Kh,Zh,aI,lI],2525727697:[Wh,kh,Yh,Xh,Kh,Zh,aI],2830218821:[nI],846575682:[Fh],626085974:[xd,Zd,bf],1549132990:[Ia],280115917:[ut,aa,la,Vf,jf],222769930:[1010789467],3101149627:[od,Kd],1377556343:[Ld,Bp,bh,Dd,Gd,rf,of,Gi,lf,cf,Vh,qd,uf,pf,nh,_d,Tf,_f,Mf],2799835756:[_f],3798115385:[Nf],1310608509:[Sf],3264961684:[Rf],370225590:[nh,_d],2889183280:[pa],3632507154:[Ji],3900360178:[Vh,qd,uf],297599258:[OI,WI],2556980723:[Gi,lf],1809719519:[rf],3008276851:[Gi],3448662350:[ef],2453401579:[Op,xp,Cp,Wp,$l,yc,Pc,Rn,is,hr,xr,Ro,Ls,ve,Ue,Cn,ss,Ws,qc,Fc,Ts,xs,si,de,ye,we,Xe,Ke,et,tt,rt,bi,ot,yp,vp,ct,Ep,Zp,Vc,au,ou,cu,lp,Jp,ih,ah,lh,rh,oh,Bi,Ui,Fi,hh,Gc,fh,Th,Nh,Ph,qh,bs,Je,$s,ti,Oi,Ai,zi,nt,Gs,ei,li,fp,_p,Ds,Ks,Zs,ap,qi,Kp,dh,Kc,Zc,Hh,Gh,st,it,uc,pc,Qs,Js,Tp,Qp,Wi,Bh,hi,uu,Li,Lp,Qc,We,Ci,pt,Uh,ed,nd,ht,di,th,ft,id,ch,Sd,bd,It,Nd,Ip,Od,dt,Ih,mh,yh,Ad,jd,zd,Wd,kd,Yd,Xd,ph,Rd,Qd,Dp,$d],3590301190:[Dp],812098782:[ph,Rd],1437953363:[ut,aa],1402838566:[jd,zd,Wd,kd,Yd],1520743889:[jd],1008929658:[Bp,bh,Dd],3079605661:[ea],219451334:[dr,ja,Ht,Xn,Q,ts,Tr,_r,Ur,fn,Wr,jo,ko,vr,Er,gr,Rr,ls,To,No,Oo,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,A,U,Yo,Re,Ne,Cl,go,ne,se,ie,ae,_e,vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,R,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,C,En,xn,H,qn,B,_n,Mn,rl,Ct,hn,ol,_t,S,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,D,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,ar,O,qa,Ha,Ba,Ua,x,za,Wa,ka,Tn,Ka,$a,el,tl,P,nl,q,_,M,il,F,al,L,j,z,xl,b,sl,Y,Fl,Gl,X,Ql,Jn,J,br,Cr,oe,ce,E,g,N,G,Fe,Ge,Ps,hs,qs,Zo,ds,W,os,Co,ac,vo,lc,rc,Hl,lr,cs,re,me,Oa,he,Ga,Va,Za,Qa,Ho,Be,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu,iu,Vn,Ms,oi,io,lo,$,Te,De,Le,Ve,je,Uc,ee,Ee,Se,Pe,ze,Hc,ru,ui,hp,Eo,Hs,Yc,dp,wp,Ri,pp,Mi,Vs,js,zs,ii,Ni,_i,Hi,Vi,ri,to,lu,ci,Ml,ns,Fa,le,Ie,gn,us,pe,ps,gs,Rs,Mo,He,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,V,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,fe,co,Ao,Ce,As,qe,Uo,Fo,Jo,Dl,qr,$o,Ol,K,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,k,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,te,pr,rs,Sr,ue,ys,$r,ao,ws,Es,Ss,ho,fo,be,Do,Oe,Ae,xe,_o,Me,_s,Fs,Z,Ns,ke,bc,Oc,Ye,_c,Xs,Ze,kc,Qe,$e,xi,Xc,Sp,bp,Mp,Ah,ni,Di,Pi,ji,xh],2529465313:[gp,Rp,qp,Mc,sh,uh,jc,gh,Oh,Lh,Mh,rp,ad,cd],2004835150:[dt,Ih,mh,yh],1663979128:[Ip],2067069095:[ch,Sd,bd,It],3727388367:[Up,Ed,Fp,gd,Yf,LI],3778827333:[pI,hI,mI],1775413392:[Yf],2598011224:[gf,ud,pd,dd,fd,Id,yd,rI],1680319473:[ks,pi,Ei,gi,Zi,cp,mp,jp,zp,Dh,Sh,rd,Si,Hp,Ki,hd],3357820518:[cp,mp,jp,zp,Dh,Sh,rd,Si,Hp,Ki],1482703590:[ks,pi,Ei,gi],2090586900:[Hp],3615266464:[rp,ad],478536968:[Su,yi,bu,vi,Nu,po,ge,hu,vu,Eu,Ou,wi,fi,Ii,du,fu,Iu,yu,at,mi,Ru,Du,Au,xu,Cu,Pu,qu,Mu,Hu,Bu,Lu,Uu,Fu,Gu,lt,ju,zu,Wu,ku,Yu,Xu,Zu,Qu,$u,ep,Ti,tp,np,sp,ip],823603102:[ht,di,th],3692461612:[ud,pd,dd,fd,Id,yd],723233188:[st,it,uc,pc,Qs,Js,Tp,Qp,Wi,Bh,hi,uu,Li,Lp,Qc,We,Ci,pt,Uh],2473145415:[Yh],1597423693:[Wh],2513912981:[nt,Gs,ei,li,fp,_p,Ds,Ks,Zs,ap,qi,Kp,dh,Kc,Zc,Hh],2247615214:[hi,uu,Li,Lp,Qc,We,Ci,pt],1260650574:[Wi],230924584:[Kc,Zc],901063453:[bs,Je,$s,ti,Oi,Ai],4282788508:[Ph],1628702193:[Vs,js,zs,ii,Ni,_i,Hi,Vi,ri,to,lu,ci,Ml,ns,Fa,le,Ie,gn,us,pe,ps,gs,Rs,Mo,He,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,V,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,fe,co,Ao,Ce,As,qe,Uo,Fo,Jo,Dl,qr,$o,Ol,K,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,k,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,te,pr,rs,Sr,ue,ys,$r,ao,ws,Es,Ss,ho,fo,be,Do,Oe,Ae,xe,_o,Me,_s,Fs,Z,Ns,ke,bc,Oc,Ye,_c,Xs,Ze,kc,Qe,$e,xi,Xc,Sp,bp,Mp,Ah,ni,Di,Pi,ji],3736923433:[ni,Di,Pi],2347495698:[ri,to,lu,ci,Ml,ns,Fa,le,Ie,gn,us,pe,ps,gs,Rs,Mo,He,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,V,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,fe,co,Ao,Ce,As,qe,Uo,Fo,Jo,Dl,qr,$o,Ol,K,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,k,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,te,pr,rs,Sr,ue,ys,$r,ao,ws,Es,Ss,ho,fo,be,Do,Oe,Ae,xe,_o,Me,_s,Fs,Z,Ns,ke,bc,Oc,Ye,_c,Xs,Ze,kc,Qe,$e,xi,Xc,Sp,bp,Mp],3698973494:[Vs,js,zs,ii,Ni,_i,Hi],2736907675:[Gc],4182860854:[Ds,Ks,Zs,ap,qi,Kp],574549367:[Bi,Ui],59481748:[ih,ah,lh,rh],3749851601:[lh],3331915920:[ih],1383045692:[Mc],2485617015:[di],2574617495:[Vs,js,zs,ii,Ni,_i],3419103109:[Ri,pp],2506170314:[Vc,au,ou,cu,lp],2601014836:[$l,yc,Pc,Rn,is,hr,xr,Ro,Ls,ve,Ue,Cn,ss,Ws,qc,Fc,Ts,xs,si,de,ye,we,Xe,Ke,et,tt,rt,bi,ot,yp,vp,ct,Ep],593015953:[Qc,We,Ci],339256511:[Ml,ns,Fa,le,Ie,gn,us,pe,ps,gs,Rs,Mo,He,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,V,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,fe,co,Ao,Ce,As,qe,Uo,Fo,Jo,Dl,qr,$o,Ol,K,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,k,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,te,pr,rs,Sr,ue,ys,$r,ao,ws,Es,Ss,ho,fo,be,Do,Oe,Ae,xe,_o,Me,_s,Fs,Z,Ns,ke,bc,Oc,Ye,_c,Xs,Ze,kc,Qe,$e,xi,Xc,Sp,bp],2777663545:[Gs,ei,li,fp],477187591:[Li],2652556860:[We],4238390223:[Xc,Sp],178912537:[Oi],1425443689:[uc,pc,Qs,Js],3888040117:[dr,ja,Ht,Xn,Q,ts,Tr,_r,Ur,fn,Wr,jo,ko,vr,Er,gr,Rr,ls,To,No,Oo,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,A,U,Yo,Re,Ne,Cl,go,ne,se,ie,ae,_e,vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,R,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,C,En,xn,H,qn,B,_n,Mn,rl,Ct,hn,ol,_t,S,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,D,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,ar,O,qa,Ha,Ba,Ua,x,za,Wa,ka,Tn,Ka,$a,el,tl,P,nl,q,_,M,il,F,al,L,j,z,xl,b,sl,Y,Fl,Gl,X,Ql,Jn,J,br,Cr,oe,ce,E,g,N,G,Fe,Ge,Ps,hs,qs,Zo,ds,W,os,Co,ac,vo,lc,rc,Hl,lr,cs,re,me,Oa,he,Ga,Va,Za,Qa,Ho,Be,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu,iu,Vn,Ms,oi,io,lo,$,Te,De,Le,Ve,je,Uc,ee,Ee,Se,Pe,ze,Hc,ru,ui,hp,Eo,Hs,Yc,dp],590820931:[ot,yp,vp],759155922:[Fp],2559016684:[Up],3967405729:[mp,jp,zp,Dh,Sh,rd],2945172077:[Eo,Hs,Yc],4208778838:[A,U,Yo,Re,Ne,Cl,go,ne,se,ie,ae,_e,vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,R,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,C,En,xn,H,qn,B,_n,Mn,rl,Ct,hn,ol,_t,S,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,D,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,ar,O,qa,Ha,Ba,Ua,x,za,Wa,ka,Tn,Ka,$a,el,tl,P,nl,q,_,M,il,F,al,L,j,z,xl,b,sl,Y,Fl,Gl,X,Ql,Jn,J,br,Cr,oe,ce,E,g,N,G,Fe,Ge,Ps,hs,qs,Zo,ds,W,os,Co,ac,vo,lc,rc,Hl,lr,cs,re,me,Oa,he,Ga,Va,Za,Qa,Ho,Be,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu,iu,Vn,Ms,oi,io,lo,$,Te,De,Le,Ve,je,Uc,ee,Ee,Se,Pe,ze,Hc,ru,ui],3521284610:[ks,pi],3939117080:[Qu,$u,ep,Ti,tp,np,sp],1307041759:[Ti],1865459582:[lt,ju,zu,Wu,ku,Yu,Xu],826625072:[fi,Ii,du,fu,Iu,yu,at,mi,Ru,Du,Au,xu,Cu,Pu,qu,Mu,Hu,Bu,Lu,Uu,Fu],1204542856:[Lu,Uu],1638771189:[Pu],2551354335:[po,ge,hu,vu,Eu],693640335:[Su,yi,bu,vi],3451746338:[fi,Ii],3523091289:[fi],2914609552:[zl,Wl,kl,Hr,Go,Nc,Lc],1856042241:[hi],1862484736:[st],1412071761:[Vn,Ms,oi,io,lo,$,Te,De,Le,Ve,je,Uc,ee,Ee,Se,Pe,ze,Hc,ru],710998568:[ri,to,lu],2706606064:[io,lo,$,Te,De,Le,Ve,je,Uc,ee,Ee,Se,Pe,ze,Hc],3893378262:[to],2735484536:[de,ye,we,Xe,Ke,et],3544373492:[zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu],3136571912:[Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu],530289379:[Xr,Kr,$c,eu],3689010777:[Fr,Is,ai],3979015343:[$c],699246055:[Ts,xs],2387106220:[bs,Je,$s],3665877780:[kc,Qe],2916149573:[Je],2296667514:[Lo],1635779807:[Qs],2887950389:[Ds,Ks],167062518:[Ds],1260505505:[Rn,is,hr,xr,Ro,Ls,ve,Ue,Cn,ss,Ws,qc],1626504194:[ir,te,pr,rs,Sr,ue,ys,$r,ao,ws,Es,Ss,ho,fo,be,Do,Oe,Ae,xe,_o,Me,_s,Fs,Z,Ns,ke,bc,Oc,Ye,_c,Xs],3732776249:[ve,Ue,Cn,ss,Ws],15328376:[Cn,ss],2510884976:[$l,yc],2559216714:[zl,Wl,kl,Hr,Go,Nc],3293443760:[vr,Er,gr,Rr,ls,To,No,Oo,Ac,xc],1306400036:[Z,Ns],3256556792:[La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,V,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,fe,co,Ao,Ce,As,qe,Uo,Fo,Jo,Dl,qr,$o,Ol,K,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,k,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc],3849074793:[_l,Il,V,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,fe,co,Ao,Ce,As,qe,Uo,Fo,Jo,Dl,qr,$o,Ol,K,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,k,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc],1758889154:[vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,R,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,C,En,xn,H,qn,B,_n,Mn,rl,Ct,hn,ol,_t,S,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,D,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,ar,O,qa,Ha,Ba,Ua,x,za,Wa,ka,Tn,Ka,$a,el,tl,P,nl,q,_,M,il,F,al,L,j,z,xl,b,sl,Y,Fl,Gl,X,Ql,Jn,J,br,Cr,oe,ce,E,g,N,G,Fe,Ge,Ps,hs,qs,Zo,ds,W,os,Co,ac,vo,lc,rc,Hl,lr,cs,re,me,Oa,he,Ga,Va,Za,Qa,Ho,Be,cc,wc,Tc],1623761950:[Hl,lr,cs,re,me,Oa,he,Ga,Va,Za,Qa,Ho,Be,cc],2590856083:[Ml,ns,Fa,le,Ie,gn,us,pe,ps,gs,Rs,Mo,He,oc],2107101300:[El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs],2853485674:[Vn],807026263:[uc],24185140:[Uc,ee,Ee,Se,Pe],1310830890:[$,Te,De,Le,Ve],2827207264:[ds,W,os,Co,ac,vo,lc],2143335405:[vo],1287392070:[W,os,Co],3907093117:[Tl,kn,k,Ul,yr,Nr,Mr,yo,nc],3198132628:[Al,$n,sr,bo,Vo],1482959167:[ml,Zl,mo],1834744321:[Ol,K,tr,nr,So],1339347760:[Dl,qr],2297155007:[fl,Sl,Kn,as,mr,Dr,eo,so,fe,co,Ao,Ce,As,qe,Uo,Fo],3009222698:[Il,V,Nl,Cs],263784265:[hs,qs],4230923436:[E,g,N,G,Fe],2706460486:[dr,ja,Ht,Xn,Q,ts,Tr,_r,Ur,fn,Wr,jo],2176059722:[ne,se,ie,ae],3740093272:[Cl],1946335990:[A,U,Yo,Re],3027567501:[Oa,he,Ga,Va,Za],964333572:[gn,us,pe,ps,gs],682877961:[zr,fs,Vr,Yr,ms],1179482911:[Br,Gr,Zr],1004757350:[Yr],214636428:[Xr],1252848954:[fn],3657597509:[zr],2254336722:[ja,Ht,Xn,Q,ts,Tr],1953115116:[Cr,oe],1028945134:[Er,gr],1967976161:[Rn,is],2461110595:[Rn],1136057603:[Cn],1876633798:[ar,O,qa,Ha,Ba,Ua,x,za,Wa,ka,Tn,Ka,$a,el,tl,P,nl,q,_,M,il,F,al,L,j,z,xl,b,sl,Y,Fl,Gl,X,Ql,Jn],3426335179:[b,sl],2063403501:[La,_a,Ma,cn,Ya,Sn,pl],1945004755:[vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,R,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,C,En,xn,H,qn,B,_n,Mn,rl,Ct,hn,ol,_t,S,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,D,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll],3040386961:[Ca,bt,R,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,C,En,xn,H,qn,B,_n,Mn,rl,Ct,hn,ol,_t,S,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,D,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl],3205830791:[Ht],1077100507:[L,j],1658829314:[At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn],2058353004:[Ot,Lt,D,Bt,tn,rn,dn,bn,Gn],4278956645:[Mt,Yt,Kt,An,Hn],3132237377:[Nt,Vt,Dn],987401354:[_t,S,kt,Xt,On],707683696:[Ct,hn],2223149337:[St,Pt,jt,$t,nn,an,In,mn,C,En,xn,H,qn,B,_n,Mn],3508470533:[bt,R,qt,Bn],2713699986:[E,g,N],1154579445:[A],2391406946:[Ba],1062813311:[vt,wt,Tt,Et,gt,Rt,Dt]},Am[3]={3630933823:[[\"HasExternalReference\",oa,3,!0]],618182010:[[\"OfPerson\",BI,7,!0],[\"OfOrganization\",FI,4,!0]],411424972:[[\"HasExternalReference\",oa,3,!0]],130549933:[[\"HasExternalReferences\",oa,3,!0],[\"ApprovedObjects\",Xu,5,!0],[\"ApprovedResources\",Xi,3,!0],[\"IsRelatedWith\",Em,3,!0],[\"Relates\",Em,2,!0]],1959218052:[[\"HasExternalReferences\",oa,3,!0],[\"PropertiesForConstraint\",Yi,2,!0]],1466758467:[[\"HasCoordinateOperation\",ba,0,!0]],602808272:[[\"HasExternalReference\",oa,3,!0]],3200245327:[[\"ExternalReferenceForResources\",oa,2,!0]],2242383968:[[\"ExternalReferenceForResources\",oa,2,!0]],1040185647:[[\"ExternalReferenceForResources\",oa,2,!0]],3548104201:[[\"ExternalReferenceForResources\",oa,2,!0]],852622518:[[\"PartOfW\",Yo,9,!0],[\"PartOfV\",Yo,8,!0],[\"PartOfU\",Yo,7,!0],[\"HasIntersections\",qf,0,!0]],2655187982:[[\"LibraryInfoForObjects\",zu,5,!0],[\"HasLibraryReferences\",ZI,5,!0]],3452421091:[[\"ExternalReferenceForResources\",oa,2,!0],[\"LibraryRefForObjects\",zu,5,!0]],760658860:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0]],248100487:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0],[\"ToMaterialLayerSet\",YI,0,!1]],3303938423:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0]],1847252529:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0],[\"ToMaterialLayerSet\",YI,0,!1]],2235152071:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0],[\"ToMaterialProfileSet\",ga,2,!1]],164193824:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0]],552965576:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0],[\"ToMaterialProfileSet\",ga,2,!1]],1507914824:[[\"AssociatedTo\",ju,5,!0]],3368373690:[[\"HasExternalReferences\",oa,3,!0],[\"PropertiesForConstraint\",Yi,2,!0]],3701648758:[[\"PlacesObject\",hp,5,!0],[\"ReferencedByPlacements\",VI,0,!0]],2251480897:[[\"HasExternalReferences\",oa,3,!0],[\"PropertiesForConstraint\",Yi,2,!0]],4251960020:[[\"IsRelatedBy\",UI,3,!0],[\"Relates\",UI,2,!0],[\"Engages\",HI,1,!0]],2077209135:[[\"EngagedIn\",HI,0,!0]],2483315170:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],2226359599:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],3355820592:[[\"OfPerson\",BI,7,!0],[\"OfOrganization\",FI,4,!0]],3958567839:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],3843373140:[[\"HasCoordinateOperation\",ba,0,!0]],986844984:[[\"HasExternalReferences\",oa,3,!0]],3710013099:[[\"HasExternalReferences\",oa,3,!0]],2044713172:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],2093928680:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],931644368:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],2691318326:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],3252649465:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],2405470396:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],825690147:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],1076942058:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0]],3377609919:[[\"RepresentationsInContext\",II,0,!0]],3008791417:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1660063152:[[\"HasShapeAspects\",uI,4,!0],[\"MapUsage\",Fd,0,!0]],867548509:[[\"HasExternalReferences\",oa,3,!0]],3982875396:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0],[\"OfShapeAspect\",uI,0,!0]],4240577450:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0],[\"OfShapeAspect\",uI,0,!0]],2830218821:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0]],3958052878:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3049322572:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0]],626085974:[[\"IsMappedBy\",zf,0,!0],[\"UsedInStyles\",Qf,0,!0]],912023232:[[\"OfPerson\",BI,7,!0],[\"OfOrganization\",FI,4,!0]],222769930:[[\"ToTexMap\",ut,3,!1]],1010789467:[[\"ToTexMap\",ut,3,!1]],3101149627:[[\"HasExternalReference\",oa,3,!0]],1377556343:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1735638870:[[\"RepresentationMap\",fI,1,!0],[\"LayerAssignments\",CI,2,!0],[\"OfProductRepresentation\",AI,2,!0],[\"OfShapeAspect\",uI,0,!0]],2799835756:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1907098498:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3798115385:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],1310608509:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],2705031697:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],616511568:[[\"IsMappedBy\",zf,0,!0],[\"UsedInStyles\",Qf,0,!0]],3150382593:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],747523909:[[\"ClassificationForObjects\",Yu,5,!0],[\"HasReferences\",Df,3,!0]],647927063:[[\"ExternalReferenceForResources\",oa,2,!0],[\"ClassificationRefForObjects\",Yu,5,!0],[\"HasReferences\",Df,3,!0]],1485152156:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],370225590:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3050246964:[[\"HasExternalReference\",oa,3,!0]],2889183280:[[\"HasExternalReference\",oa,3,!0]],2713554722:[[\"HasExternalReference\",oa,3,!0]],3632507154:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],1154170062:[[\"DocumentInfoForObjects\",Wu,5,!0],[\"HasDocumentReferences\",df,4,!0],[\"IsPointedTo\",nm,3,!0],[\"IsPointer\",nm,2,!0]],3732053477:[[\"ExternalReferenceForResources\",oa,2,!0],[\"DocumentRefForObjects\",Wu,5,!0]],3900360178:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],476780140:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],297599258:[[\"HasExternalReferences\",oa,3,!0]],2556980723:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"HasTextureMaps\",Vf,2,!0]],1809719519:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],803316827:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3008276851:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"HasTextureMaps\",Vf,2,!0]],3448662350:[[\"RepresentationsInContext\",II,0,!0],[\"HasSubContexts\",ef,6,!0],[\"HasCoordinateOperation\",ba,0,!0]],2453401579:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4142052618:[[\"RepresentationsInContext\",II,0,!0],[\"HasSubContexts\",ef,6,!0],[\"HasCoordinateOperation\",ba,0,!0]],3590301190:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],178086475:[[\"PlacesObject\",hp,5,!0],[\"ReferencedByPlacements\",VI,0,!0]],812098782:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3905492369:[[\"IsMappedBy\",zf,0,!0],[\"UsedInStyles\",Qf,0,!0]],3741457305:[[\"HasExternalReference\",oa,3,!0]],1402838566:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],125510826:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2604431987:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4266656042:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1520743889:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3422422726:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],388784114:[[\"PlacesObject\",hp,5,!0],[\"ReferencedByPlacements\",VI,0,!0]],2624227202:[[\"PlacesObject\",hp,5,!0],[\"ReferencedByPlacements\",VI,0,!0]],1008929658:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2347385850:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1838606355:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0],[\"HasRepresentation\",Ud,3,!0],[\"IsRelatedWith\",$i,3,!0],[\"RelatesTo\",$i,2,!0]],3708119e3:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0],[\"ToMaterialConstituentSet\",na,2,!1]],2852063980:[[\"AssociatedTo\",ju,5,!0],[\"HasExternalReferences\",oa,3,!0],[\"HasProperties\",WI,3,!0]],1303795690:[[\"AssociatedTo\",ju,5,!0]],3079605661:[[\"AssociatedTo\",ju,5,!0]],3404854881:[[\"AssociatedTo\",ju,5,!0]],3265635763:[[\"HasExternalReferences\",oa,3,!0]],2998442950:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],219451334:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0]],182550632:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],2665983363:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1029017970:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2529465313:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],2519244187:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3021840470:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfComplex\",Cd,2,!0]],597895409:[[\"IsMappedBy\",zf,0,!0],[\"UsedInStyles\",Qf,0,!0]],2004835150:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1663979128:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2067069095:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2165702409:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4022376103:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1423911732:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2924175390:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2775532180:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3778827333:[[\"HasExternalReferences\",oa,3,!0]],673634403:[[\"ShapeOfProduct\",hp,6,!0],[\"HasShapeAspects\",uI,4,!0]],2802850158:[[\"HasExternalReferences\",oa,3,!0]],2598011224:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],1680319473:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0]],3357820518:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],1482703590:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0]],2090586900:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],3615266464:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],3413951693:[[\"HasExternalReference\",oa,3,!0]],1580146022:[[\"HasExternalReferences\",oa,3,!0]],2778083089:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],2042790032:[[\"HasExternalReferences\",oa,3,!0]],4165799628:[[\"HasExternalReferences\",oa,3,!0]],1509187699:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],823603102:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"UsingCurves\",qc,0,!0]],4124623270:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3692461612:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],723233188:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2233826070:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2513912981:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2247615214:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1260650574:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1096409881:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],230924584:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3071757647:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],901063453:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4282788508:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3124975700:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2715220739:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],1628702193:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0]],3736923433:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"OperatesOn\",ep,6,!0]],2347495698:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3698973494:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ResourceOf\",Qu,6,!0]],427810014:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],1417489154:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2759199220:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2543172580:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],3406155212:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"HasTextureMaps\",Vf,2,!0]],669184980:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3207858831:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],4261334040:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3125803723:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2740243338:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3425423356:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2736907675:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4182860854:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2581212453:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2713105998:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2898889636:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],1123145078:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],574549367:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1675464909:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2059837836:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],59481748:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3749851601:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3486308946:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3331915920:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1416205885:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1383045692:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],2205249479:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2542286263:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],2485617015:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"UsingCurves\",qc,0,!0]],2574617495:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ResourceOf\",Qu,6,!0]],3419103109:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Declares\",wi,4,!0]],1815067380:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ResourceOf\",Qu,6,!0]],2506170314:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2147822146:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2601014836:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2827736869:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2629017746:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4212018352:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"UsingCurves\",qc,0,!0]],32440307:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],593015953:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1472233963:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1883228015:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],339256511:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2777663545:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2835456948:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],4024345920:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"OperatesOn\",ep,6,!0]],477187591:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2804161546:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2047409740:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],374418227:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],315944413:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2652556860:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4238390223:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1268542332:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4095422895:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],987898635:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1484403080:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],178912537:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"ToFaceSet\",bs,2,!0],[\"HasTexCoords\",mt,1,!0]],2294589976:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"ToFaceSet\",bs,2,!0],[\"HasTexCoords\",mt,1,!0]],572779678:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],428585644:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ResourceOf\",Qu,6,!0]],1281925730:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1425443689:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3888040117:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0]],590820931:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3388369263:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3505215534:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2485787929:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1682466193:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],603570806:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],220341763:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3381221214:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3967405729:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],569719735:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"OperatesOn\",ep,6,!0]],2945172077:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsPredecessorTo\",Iu,4,!0],[\"IsSuccessorFrom\",Iu,5,!0],[\"OperatesOn\",ep,6,!0]],4208778838:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0]],103090709:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Declares\",wi,4,!0]],653396225:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Declares\",wi,4,!0]],871118103:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],4166981789:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],2752243245:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],941946838:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],1451395588:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],492091185:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Defines\",yi,5,!0]],3650150729:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],110355661:[[\"HasExternalReferences\",oa,3,!0],[\"PartOfPset\",cp,4,!0],[\"PropertyForDependance\",SI,2,!0],[\"PropertyDependsOn\",SI,3,!0],[\"PartOfComplex\",gf,3,!0],[\"HasConstraints\",Yi,3,!0],[\"HasApprovals\",Xi,2,!0]],3521284610:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"PartOfComplexTemplate\",ks,6,!0],[\"PartOfPsetTemplate\",gi,6,!0]],2770003689:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],2798486643:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3454111270:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3765753017:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],3523091289:[[\"InnerBoundaries\",Ii,9,!0]],1521410863:[[\"InnerBoundaries\",Ii,9,!0],[\"Corresponds\",fi,10,!0]],816062949:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"UsingCurves\",qc,0,!0]],2914609552:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ResourceOf\",Qu,6,!0]],1856042241:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3243963512:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4158566097:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3626867408:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1862484736:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1290935644:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1356537516:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3663146110:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"PartOfComplexTemplate\",ks,6,!0],[\"PartOfPsetTemplate\",gi,6,!0]],1412071761:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],710998568:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2706606064:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],3893378262:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],463610769:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],2481509218:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],451544542:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4015995234:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2735484536:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3544373492:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],3136571912:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedStructuralActivity\",Mu,4,!0]],530289379:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectedBy\",qu,4,!0]],3689010777:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],3979015343:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectedBy\",qu,4,!0]],2218152070:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectedBy\",qu,4,!0]],603775116:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],4095615324:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ResourceOf\",Qu,6,!0]],699246055:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2028607225:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2809605785:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4124788165:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1580310250:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3473067441:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsPredecessorTo\",Iu,4,!0],[\"IsSuccessorFrom\",Iu,5,!0],[\"OperatesOn\",ep,6,!0]],3206491090:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"OperatesOn\",ep,6,!0]],2387106220:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"HasColours\",ra,0,!0],[\"HasTextures\",la,1,!0]],782932809:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1935646853:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3665877780:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2916149573:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"HasColours\",ra,0,!0],[\"HasTextures\",la,1,!0]],1229763772:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"HasColours\",ra,0,!0],[\"HasTextures\",la,1,!0]],3651464721:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],336235671:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],512836454:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],2296667514:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsActingUpon\",sp,6,!0]],1635779807:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2603310189:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1674181508:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainedInStructure\",Cu,4,!0]],2887950389:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],167062518:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1334484129:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3649129432:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1260505505:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3124254112:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],1626504194:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2197970202:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2937912522:[[\"HasExternalReference\",oa,3,!0],[\"HasProperties\",OI,3,!0]],3893394355:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3497074424:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],300633059:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3875453745:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"PartOfComplexTemplate\",ks,6,!0],[\"PartOfPsetTemplate\",gi,6,!0]],3732776249:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],15328376:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2510884976:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2185764099:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ResourceOf\",Qu,6,!0]],4105962743:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ResourceOf\",Qu,6,!0]],1525564444:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ResourceOf\",Qu,6,!0]],2559216714:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ResourceOf\",Qu,6,!0]],3293443760:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],2000195564:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3895139033:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],1419761937:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],4189326743:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1916426348:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3295246426:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ResourceOf\",Qu,6,!0]],1457835157:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1213902940:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1306400036:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4234616927:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3256556792:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3849074793:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2963535650:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],1714330368:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],2323601079:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1758889154:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],4123344466:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2397081782:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1623761950:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2590856083:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1704287377:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2107101300:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],132023988:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3174744832:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3390157468:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4148101412:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsPredecessorTo\",Iu,4,!0],[\"IsSuccessorFrom\",Iu,5,!0],[\"OperatesOn\",ep,6,!0]],2853485674:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],807026263:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3737207727:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],24185140:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],1310830890:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],4228831410:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],647756555:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2489546625:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2827207264:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2143335405:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"ProjectsElements\",vu,5,!1]],1287392070:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"VoidsElements\",hu,5,!1]],3907093117:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3198132628:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3815607619:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1482959167:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1834744321:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1339347760:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2297155007:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3009222698:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1893162501:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],263784265:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],1509553395:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3493046030:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],4230923436:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],1594536857:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2898700619:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2706460486:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ReferencedInStructures\",yu,4,!0]],1251058090:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1806887404:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2568555532:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3948183225:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2571569899:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3946677679:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3113134337:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2391368822:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ReferencedInStructures\",yu,4,!0]],4288270099:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],679976338:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3827777499:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ResourceOf\",Qu,6,!0]],1051575348:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1161773419:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2176059722:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0]],1770583370:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],525669439:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],976884017:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],377706215:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2108223431:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1114901282:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3181161470:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1950438474:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],710110818:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],977012517:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],506776471:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4143007308:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsActingUpon\",sp,6,!0]],3588315303:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"VoidsElements\",hu,5,!1],[\"HasFillings\",Du,4,!0]],2837617999:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],514975943:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2382730787:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],3566463478:[[\"HasContext\",wi,5,!0],[\"HasAssociations\",Zu,4,!0],[\"DefinesType\",xh,5,!0],[\"IsDefinedBy\",yi,4,!0],[\"DefinesOccurrence\",bu,5,!0]],3327091369:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],1158309216:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],804291784:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4231323485:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4017108033:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2839578677:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0],[\"HasColours\",ra,0,!0],[\"HasTextures\",la,1,!0]],3724593414:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3740093272:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainedIn\",Bu,4,!0],[\"ConnectedFrom\",Hu,5,!0],[\"ConnectedTo\",Hu,4,!0]],1946335990:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainedInStructure\",Cu,4,!0],[\"Positions\",at,4,!0]],2744685151:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsPredecessorTo\",Iu,4,!0],[\"IsSuccessorFrom\",Iu,5,!0],[\"OperatesOn\",ep,6,!0]],2904328755:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],3651124850:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"ProjectsElements\",vu,5,!1]],1842657554:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2250791053:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1763565496:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2893384427:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3992365140:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],1891881377:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],2324767716:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1469900589:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],683857671:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4021432810:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainedInStructure\",Cu,4,!0],[\"Positions\",at,4,!0]],3027567501:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],964333572:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2320036040:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2310774935:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],146592293:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],550521510:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],2781568857:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1768891740:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2157484638:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3649235739:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],544395925:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1027922057:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4074543187:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],33720170:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3599934289:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1894708472:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],42703149:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],4097777520:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],2533589738:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1072016465:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3856911033:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasCoverings\",Au,4,!0],[\"BoundedBy\",du,4,!0]],1305183839:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3812236995:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3112655638:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1039846685:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],338393293:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],682877961:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],1179482911:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectsStructuralMembers\",qu,5,!0]],1004757350:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],4243806635:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectsStructuralMembers\",qu,5,!0]],214636428:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectedBy\",qu,4,!0]],2445595289:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectedBy\",qu,4,!0]],2757150158:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],1807405624:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],1252848954:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ReferencedInStructures\",yu,4,!0],[\"SourceOfResultGroup\",Ur,6,!0],[\"LoadGroupFor\",ja,7,!0]],2082059205:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],734778138:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectsStructuralMembers\",qu,5,!0]],1235345126:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],2986769608:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ResultGroupFor\",ja,8,!0]],3657597509:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],1975003073:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedStructuralActivity\",Mu,4,!0],[\"ConnectsStructuralMembers\",qu,5,!0]],148013059:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ResourceOf\",Qu,6,!0]],3101698114:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"AdheresToElement\",ge,5,!1]],2315554128:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2254336722:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ServicesBuildings\",fu,4,!0],[\"ServicesFacilities\",yu,4,!0]],413509423:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],5716631:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3824725483:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2347447852:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3081323446:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3663046924:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2281632017:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2415094496:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],618700268:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1692211062:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2097647324:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1953115116:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3593883385:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1600972822:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1911125066:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],728799441:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],840318589:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],1530820697:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3956297820:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2391383451:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3313531582:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2769231204:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],926996030:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"VoidsElements\",hu,5,!1]],1898987631:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1133259667:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4009809668:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4088093105:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],1028945134:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],4218914973:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],3342526732:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],1033361043:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ServicesBuildings\",fu,4,!0],[\"ServicesFacilities\",yu,4,!0]],3821786052:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"Controls\",np,6,!0]],1411407467:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3352864051:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1871374353:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4266260250:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0]],1545765605:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0]],317615605:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0]],1662888072:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0]],3460190687:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ReferencedInStructures\",yu,4,!0]],1532957894:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1967976161:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],2461110595:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],819618141:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3649138523:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],231477066:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1136057603:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],644574406:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],963979645:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],4031249490:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0]],2979338954:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],39481116:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1909888760:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1177604601:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ServicesBuildings\",fu,4,!0],[\"ServicesFacilities\",yu,4,!0]],1876633798:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3862327254:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ServicesBuildings\",fu,4,!0],[\"ServicesFacilities\",yu,4,!0]],2188180465:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],395041908:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3293546465:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2674252688:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1285652485:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3203706013:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2951183804:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3296154744:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2611217952:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],1677625105:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2301859152:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],843113511:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],400855858:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3850581409:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2816379211:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3898045240:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ResourceOf\",Qu,6,!0]],1060000209:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ResourceOf\",Qu,6,!0]],488727124:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ResourceOf\",Qu,6,!0]],2940368186:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],335055490:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2954562838:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1502416096:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],1973544240:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"CoversSpaces\",Au,5,!0],[\"CoversElements\",xu,5,!0]],3495092785:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3961806047:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3426335179:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],1335981549:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2635815018:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],479945903:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1599208980:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2063403501:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1945004755:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0]],3040386961:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3041715199:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainedIn\",Bu,4,!0],[\"ConnectedFrom\",Hu,5,!0],[\"ConnectedTo\",Hu,4,!0]],3205830791:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ServicesBuildings\",fu,4,!0],[\"ServicesFacilities\",yu,4,!0]],395920057:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],869906466:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3760055223:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2030761528:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3071239417:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"VoidsElements\",hu,5,!1]],1077100507:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3376911765:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],663422040:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2417008758:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3277789161:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2142170206:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1534661035:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1217240411:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],712377611:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1658829314:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2814081492:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3747195512:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],484807127:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1209101575:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainsElements\",Cu,5,!0],[\"ServicedBySystems\",fu,5,!0],[\"ReferencesElements\",yu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"BoundedBy\",du,4,!0]],346874300:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1810631287:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4222183408:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2058353004:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],4278956645:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],4037862832:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2188021234:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3132237377:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],987401354:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],707683696:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2223149337:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3508470533:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],900683007:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2713699986:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3009204131:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainedInStructure\",Cu,4,!0],[\"Positions\",at,4,!0]],3319311131:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2068733104:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],4175244083:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2176052936:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2696325953:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],76236018:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],629592764:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1154579445:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainedInStructure\",Cu,4,!0],[\"Positions\",at,4,!0]],1638804497:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1437502449:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1073191201:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2078563270:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],234836483:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2474470126:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2182337498:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],144952367:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3694346114:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1383356374:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],1687234759:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],310824031:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3612865200:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3171933400:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],738039164:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],655969474:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],90941305:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3290496277:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2262370178:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3024970846:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3283111854:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],1232101972:[[\"LayerAssignment\",CI,2,!0],[\"StyledByItem\",sI,0,!0]],3798194928:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],979691226:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2572171363:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],2016517767:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3053780830:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1783015770:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1329646415:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],991950508:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1529196076:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3420628829:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1999602285:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1404847402:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],331165859:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],4252922144:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2515109513:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ServicesBuildings\",fu,4,!0],[\"ServicesFacilities\",yu,4,!0]],385403989:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ReferencedInStructures\",yu,4,!0],[\"SourceOfResultGroup\",Ur,6,!0],[\"LoadGroupFor\",ja,7,!0]],1621171031:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"AssignedToStructuralItem\",Mu,5,!0]],1162798199:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],812556717:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3425753595:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3825984169:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1620046519:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3026737570:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3179687236:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],4292641817:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],4207607924:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2391406946:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3512223829:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],4237592921:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3304561284:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2874132201:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],1634111441:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],177149247:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2056796094:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3001207471:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],325726236:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ContainedInStructure\",Cu,4,!0],[\"Positions\",at,4,!0]],277319702:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],753842376:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],4196446775:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],32344328:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3314249567:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],1095909175:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2938176219:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],635142910:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3758799889:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1051757585:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],4217484030:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3999819293:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],3902619387:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],639361253:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3221913625:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3571504051:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],2272882330:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],578613899:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"Types\",Su,5,!0],[\"ReferencedBy\",$u,6,!0]],3460952963:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],4136498852:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3640358203:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],4074379575:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3693000487:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1052013943:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],562808652:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"IsGroupedBy\",tp,6,!0],[\"ReferencedInStructures\",yu,4,!0],[\"ServicesBuildings\",fu,4,!0],[\"ServicesFacilities\",yu,4,!0]],1062813311:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"AssignedToFlowElement\",Ru,4,!0]],342316401:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3518393246:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1360408905:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1904799276:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],862014818:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3310460725:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],24726584:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],264262732:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],402227799:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1003880860:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],3415622556:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],819412036:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],1426591983:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"HasControlElements\",Ru,5,!0]],182646315:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"AssignedToFlowElement\",Ru,4,!0]],2680139844:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],1971632696:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0]],2295281155:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"AssignedToFlowElement\",Ru,4,!0]],4086658281:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"AssignedToFlowElement\",Ru,4,!0]],630975310:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"AssignedToFlowElement\",Ru,4,!0]],4288193352:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"AssignedToFlowElement\",Ru,4,!0]],3087945054:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"AssignedToFlowElement\",Ru,4,!0]],25142252:[[\"HasAssignments\",ip,4,!0],[\"Nests\",Eu,5,!0],[\"IsNestedBy\",Eu,4,!0],[\"HasContext\",wi,5,!0],[\"IsDecomposedBy\",po,4,!0],[\"Decomposes\",po,5,!0],[\"HasAssociations\",Zu,4,!0],[\"IsDeclaredBy\",vi,4,!0],[\"Declares\",vi,5,!0],[\"IsTypedBy\",Su,4,!0],[\"IsDefinedBy\",bu,4,!0],[\"ReferencedBy\",$u,6,!0],[\"PositionedRelativeTo\",at,5,!0],[\"ReferencedInStructures\",yu,4,!0],[\"FillsVoids\",Du,5,!0],[\"ConnectedTo\",Fu,5,!0],[\"IsInterferedByElements\",mi,5,!0],[\"InterferesElements\",mi,4,!0],[\"HasProjections\",vu,4,!0],[\"HasOpenings\",hu,4,!0],[\"IsConnectionRealization\",Lu,7,!0],[\"ProvidesBoundaries\",du,5,!0],[\"ConnectedFrom\",Fu,6,!0],[\"ContainedInStructure\",Cu,4,!0],[\"HasCoverings\",xu,4,!0],[\"HasSurfaceFeatures\",ge,4,!0],[\"HasPorts\",Bu,5,!0],[\"AssignedToFlowElement\",Ru,4,!0]]},Cm[3]={3630933823:(e,t)=>new r.IfcActorRole(e,t[0],t[1],t[2]),618182010:(e,t)=>new r.IfcAddress(e,t[0],t[1],t[2]),2879124712:(e,t)=>new r.IfcAlignmentParameterSegment(e,t[0],t[1]),3633395639:(e,t)=>new r.IfcAlignmentVerticalSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),639542469:(e,t)=>new r.IfcApplication(e,t[0],t[1],t[2],t[3]),411424972:(e,t)=>new r.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),130549933:(e,t)=>new r.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4037036970:(e,t)=>new r.IfcBoundaryCondition(e,t[0]),1560379544:(e,t)=>new r.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3367102660:(e,t)=>new r.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3]),1387855156:(e,t)=>new r.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2069777674:(e,t)=>new r.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2859738748:(e,t)=>new r.IfcConnectionGeometry(e),2614616156:(e,t)=>new r.IfcConnectionPointGeometry(e,t[0],t[1]),2732653382:(e,t)=>new r.IfcConnectionSurfaceGeometry(e,t[0],t[1]),775493141:(e,t)=>new r.IfcConnectionVolumeGeometry(e,t[0],t[1]),1959218052:(e,t)=>new r.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1785450214:(e,t)=>new r.IfcCoordinateOperation(e,t[0],t[1]),1466758467:(e,t)=>new r.IfcCoordinateReferenceSystem(e,t[0],t[1],t[2],t[3]),602808272:(e,t)=>new r.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1765591967:(e,t)=>new r.IfcDerivedUnit(e,t[0],t[1],t[2],t[3]),1045800335:(e,t)=>new r.IfcDerivedUnitElement(e,t[0],t[1]),2949456006:(e,t)=>new r.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),4294318154:(e,t)=>new r.IfcExternalInformation(e),3200245327:(e,t)=>new r.IfcExternalReference(e,t[0],t[1],t[2]),2242383968:(e,t)=>new r.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2]),1040185647:(e,t)=>new r.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2]),3548104201:(e,t)=>new r.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2]),852622518:(e,t)=>new r.IfcGridAxis(e,t[0],t[1],t[2]),3020489413:(e,t)=>new r.IfcIrregularTimeSeriesValue(e,t[0],t[1]),2655187982:(e,t)=>new r.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4],t[5]),3452421091:(e,t)=>new r.IfcLibraryReference(e,t[0],t[1],t[2],t[3],t[4],t[5]),4162380809:(e,t)=>new r.IfcLightDistributionData(e,t[0],t[1],t[2]),1566485204:(e,t)=>new r.IfcLightIntensityDistribution(e,t[0],t[1]),3057273783:(e,t)=>new r.IfcMapConversion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1847130766:(e,t)=>new r.IfcMaterialClassificationRelationship(e,t[0],t[1]),760658860:(e,t)=>new r.IfcMaterialDefinition(e),248100487:(e,t)=>new r.IfcMaterialLayer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3303938423:(e,t)=>new r.IfcMaterialLayerSet(e,t[0],t[1],t[2]),1847252529:(e,t)=>new r.IfcMaterialLayerWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2199411900:(e,t)=>new r.IfcMaterialList(e,t[0]),2235152071:(e,t)=>new r.IfcMaterialProfile(e,t[0],t[1],t[2],t[3],t[4],t[5]),164193824:(e,t)=>new r.IfcMaterialProfileSet(e,t[0],t[1],t[2],t[3]),552965576:(e,t)=>new r.IfcMaterialProfileWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1507914824:(e,t)=>new r.IfcMaterialUsageDefinition(e),2597039031:(e,t)=>new r.IfcMeasureWithUnit(e,t[0],t[1]),3368373690:(e,t)=>new r.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2706619895:(e,t)=>new r.IfcMonetaryUnit(e,t[0]),1918398963:(e,t)=>new r.IfcNamedUnit(e,t[0],t[1]),3701648758:(e,t)=>new r.IfcObjectPlacement(e,t[0]),2251480897:(e,t)=>new r.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4251960020:(e,t)=>new r.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4]),1207048766:(e,t)=>new r.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2077209135:(e,t)=>new r.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),101040310:(e,t)=>new r.IfcPersonAndOrganization(e,t[0],t[1],t[2]),2483315170:(e,t)=>new r.IfcPhysicalQuantity(e,t[0],t[1]),2226359599:(e,t)=>new r.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2]),3355820592:(e,t)=>new r.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),677532197:(e,t)=>new r.IfcPresentationItem(e),2022622350:(e,t)=>new r.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3]),1304840413:(e,t)=>new r.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3119450353:(e,t)=>new r.IfcPresentationStyle(e,t[0]),2095639259:(e,t)=>new r.IfcProductRepresentation(e,t[0],t[1],t[2]),3958567839:(e,t)=>new r.IfcProfileDef(e,t[0],t[1]),3843373140:(e,t)=>new r.IfcProjectedCRS(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),986844984:(e,t)=>new r.IfcPropertyAbstraction(e),3710013099:(e,t)=>new r.IfcPropertyEnumeration(e,t[0],t[1],t[2]),2044713172:(e,t)=>new r.IfcQuantityArea(e,t[0],t[1],t[2],t[3],t[4]),2093928680:(e,t)=>new r.IfcQuantityCount(e,t[0],t[1],t[2],t[3],t[4]),931644368:(e,t)=>new r.IfcQuantityLength(e,t[0],t[1],t[2],t[3],t[4]),2691318326:(e,t)=>new r.IfcQuantityNumber(e,t[0],t[1],t[2],t[3],t[4]),3252649465:(e,t)=>new r.IfcQuantityTime(e,t[0],t[1],t[2],t[3],t[4]),2405470396:(e,t)=>new r.IfcQuantityVolume(e,t[0],t[1],t[2],t[3],t[4]),825690147:(e,t)=>new r.IfcQuantityWeight(e,t[0],t[1],t[2],t[3],t[4]),3915482550:(e,t)=>new r.IfcRecurrencePattern(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2433181523:(e,t)=>new r.IfcReference(e,t[0],t[1],t[2],t[3],t[4]),1076942058:(e,t)=>new r.IfcRepresentation(e,t[0],t[1],t[2],t[3]),3377609919:(e,t)=>new r.IfcRepresentationContext(e,t[0],t[1]),3008791417:(e,t)=>new r.IfcRepresentationItem(e),1660063152:(e,t)=>new r.IfcRepresentationMap(e,t[0],t[1]),2439245199:(e,t)=>new r.IfcResourceLevelRelationship(e,t[0],t[1]),2341007311:(e,t)=>new r.IfcRoot(e,t[0],t[1],t[2],t[3]),448429030:(e,t)=>new r.IfcSIUnit(e,t[0],t[1],t[2],t[3]),1054537805:(e,t)=>new r.IfcSchedulingTime(e,t[0],t[1],t[2]),867548509:(e,t)=>new r.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4]),3982875396:(e,t)=>new r.IfcShapeModel(e,t[0],t[1],t[2],t[3]),4240577450:(e,t)=>new r.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3]),2273995522:(e,t)=>new r.IfcStructuralConnectionCondition(e,t[0]),2162789131:(e,t)=>new r.IfcStructuralLoad(e,t[0]),3478079324:(e,t)=>new r.IfcStructuralLoadConfiguration(e,t[0],t[1],t[2]),609421318:(e,t)=>new r.IfcStructuralLoadOrResult(e,t[0]),2525727697:(e,t)=>new r.IfcStructuralLoadStatic(e,t[0]),3408363356:(e,t)=>new r.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3]),2830218821:(e,t)=>new r.IfcStyleModel(e,t[0],t[1],t[2],t[3]),3958052878:(e,t)=>new r.IfcStyledItem(e,t[0],t[1],t[2]),3049322572:(e,t)=>new r.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3]),2934153892:(e,t)=>new r.IfcSurfaceReinforcementArea(e,t[0],t[1],t[2],t[3]),1300840506:(e,t)=>new r.IfcSurfaceStyle(e,t[0],t[1],t[2]),3303107099:(e,t)=>new r.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3]),1607154358:(e,t)=>new r.IfcSurfaceStyleRefraction(e,t[0],t[1]),846575682:(e,t)=>new r.IfcSurfaceStyleShading(e,t[0],t[1]),1351298697:(e,t)=>new r.IfcSurfaceStyleWithTextures(e,t[0]),626085974:(e,t)=>new r.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3],t[4]),985171141:(e,t)=>new r.IfcTable(e,t[0],t[1],t[2]),2043862942:(e,t)=>new r.IfcTableColumn(e,t[0],t[1],t[2],t[3],t[4]),531007025:(e,t)=>new r.IfcTableRow(e,t[0],t[1]),1549132990:(e,t)=>new r.IfcTaskTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19]),2771591690:(e,t)=>new r.IfcTaskTimeRecurring(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20]),912023232:(e,t)=>new r.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1447204868:(e,t)=>new r.IfcTextStyle(e,t[0],t[1],t[2],t[3],t[4]),2636378356:(e,t)=>new r.IfcTextStyleForDefinedFont(e,t[0],t[1]),1640371178:(e,t)=>new r.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),280115917:(e,t)=>new r.IfcTextureCoordinate(e,t[0]),1742049831:(e,t)=>new r.IfcTextureCoordinateGenerator(e,t[0],t[1],t[2]),222769930:(e,t)=>new r.IfcTextureCoordinateIndices(e,t[0],t[1]),1010789467:(e,t)=>new r.IfcTextureCoordinateIndicesWithVoids(e,t[0],t[1],t[2]),2552916305:(e,t)=>new r.IfcTextureMap(e,t[0],t[1],t[2]),1210645708:(e,t)=>new r.IfcTextureVertex(e,t[0]),3611470254:(e,t)=>new r.IfcTextureVertexList(e,t[0]),1199560280:(e,t)=>new r.IfcTimePeriod(e,t[0],t[1]),3101149627:(e,t)=>new r.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),581633288:(e,t)=>new r.IfcTimeSeriesValue(e,t[0]),1377556343:(e,t)=>new r.IfcTopologicalRepresentationItem(e),1735638870:(e,t)=>new r.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3]),180925521:(e,t)=>new r.IfcUnitAssignment(e,t[0]),2799835756:(e,t)=>new r.IfcVertex(e),1907098498:(e,t)=>new r.IfcVertexPoint(e,t[0]),891718957:(e,t)=>new r.IfcVirtualGridIntersection(e,t[0],t[1]),1236880293:(e,t)=>new r.IfcWorkTime(e,t[0],t[1],t[2],t[3],t[4],t[5]),3752311538:(e,t)=>new r.IfcAlignmentCantSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),536804194:(e,t)=>new r.IfcAlignmentHorizontalSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3869604511:(e,t)=>new r.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3]),3798115385:(e,t)=>new r.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2]),1310608509:(e,t)=>new r.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2]),2705031697:(e,t)=>new r.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3]),616511568:(e,t)=>new r.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3150382593:(e,t)=>new r.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3]),747523909:(e,t)=>new r.IfcClassification(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),647927063:(e,t)=>new r.IfcClassificationReference(e,t[0],t[1],t[2],t[3],t[4],t[5]),3285139300:(e,t)=>new r.IfcColourRgbList(e,t[0]),3264961684:(e,t)=>new r.IfcColourSpecification(e,t[0]),1485152156:(e,t)=>new r.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3]),370225590:(e,t)=>new r.IfcConnectedFaceSet(e,t[0]),1981873012:(e,t)=>new r.IfcConnectionCurveGeometry(e,t[0],t[1]),45288368:(e,t)=>new r.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4]),3050246964:(e,t)=>new r.IfcContextDependentUnit(e,t[0],t[1],t[2]),2889183280:(e,t)=>new r.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3]),2713554722:(e,t)=>new r.IfcConversionBasedUnitWithOffset(e,t[0],t[1],t[2],t[3],t[4]),539742890:(e,t)=>new r.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3800577675:(e,t)=>new r.IfcCurveStyle(e,t[0],t[1],t[2],t[3],t[4]),1105321065:(e,t)=>new r.IfcCurveStyleFont(e,t[0],t[1]),2367409068:(e,t)=>new r.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2]),3510044353:(e,t)=>new r.IfcCurveStyleFontPattern(e,t[0],t[1]),3632507154:(e,t)=>new r.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4]),1154170062:(e,t)=>new r.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),770865208:(e,t)=>new r.IfcDocumentInformationRelationship(e,t[0],t[1],t[2],t[3],t[4]),3732053477:(e,t)=>new r.IfcDocumentReference(e,t[0],t[1],t[2],t[3],t[4]),3900360178:(e,t)=>new r.IfcEdge(e,t[0],t[1]),476780140:(e,t)=>new r.IfcEdgeCurve(e,t[0],t[1],t[2],t[3]),211053100:(e,t)=>new r.IfcEventTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),297599258:(e,t)=>new r.IfcExtendedProperties(e,t[0],t[1],t[2]),1437805879:(e,t)=>new r.IfcExternalReferenceRelationship(e,t[0],t[1],t[2],t[3]),2556980723:(e,t)=>new r.IfcFace(e,t[0]),1809719519:(e,t)=>new r.IfcFaceBound(e,t[0],t[1]),803316827:(e,t)=>new r.IfcFaceOuterBound(e,t[0],t[1]),3008276851:(e,t)=>new r.IfcFaceSurface(e,t[0],t[1],t[2]),4219587988:(e,t)=>new r.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),738692330:(e,t)=>new r.IfcFillAreaStyle(e,t[0],t[1],t[2]),3448662350:(e,t)=>new r.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5]),2453401579:(e,t)=>new r.IfcGeometricRepresentationItem(e),4142052618:(e,t)=>new r.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3590301190:(e,t)=>new r.IfcGeometricSet(e,t[0]),178086475:(e,t)=>new r.IfcGridPlacement(e,t[0],t[1],t[2]),812098782:(e,t)=>new r.IfcHalfSpaceSolid(e,t[0],t[1]),3905492369:(e,t)=>new r.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4],t[5]),3570813810:(e,t)=>new r.IfcIndexedColourMap(e,t[0],t[1],t[2],t[3]),1437953363:(e,t)=>new r.IfcIndexedTextureMap(e,t[0],t[1],t[2]),2133299955:(e,t)=>new r.IfcIndexedTriangleTextureMap(e,t[0],t[1],t[2],t[3]),3741457305:(e,t)=>new r.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1585845231:(e,t)=>new r.IfcLagTime(e,t[0],t[1],t[2],t[3],t[4]),1402838566:(e,t)=>new r.IfcLightSource(e,t[0],t[1],t[2],t[3]),125510826:(e,t)=>new r.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3]),2604431987:(e,t)=>new r.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4]),4266656042:(e,t)=>new r.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1520743889:(e,t)=>new r.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3422422726:(e,t)=>new r.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),388784114:(e,t)=>new r.IfcLinearPlacement(e,t[0],t[1],t[2]),2624227202:(e,t)=>new r.IfcLocalPlacement(e,t[0],t[1]),1008929658:(e,t)=>new r.IfcLoop(e),2347385850:(e,t)=>new r.IfcMappedItem(e,t[0],t[1]),1838606355:(e,t)=>new r.IfcMaterial(e,t[0],t[1],t[2]),3708119e3:(e,t)=>new r.IfcMaterialConstituent(e,t[0],t[1],t[2],t[3],t[4]),2852063980:(e,t)=>new r.IfcMaterialConstituentSet(e,t[0],t[1],t[2]),2022407955:(e,t)=>new r.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3]),1303795690:(e,t)=>new r.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3],t[4]),3079605661:(e,t)=>new r.IfcMaterialProfileSetUsage(e,t[0],t[1],t[2]),3404854881:(e,t)=>new r.IfcMaterialProfileSetUsageTapering(e,t[0],t[1],t[2],t[3],t[4]),3265635763:(e,t)=>new r.IfcMaterialProperties(e,t[0],t[1],t[2],t[3]),853536259:(e,t)=>new r.IfcMaterialRelationship(e,t[0],t[1],t[2],t[3],t[4]),2998442950:(e,t)=>new r.IfcMirroredProfileDef(e,t[0],t[1],t[2],t[3],t[4]),219451334:(e,t)=>new r.IfcObjectDefinition(e,t[0],t[1],t[2],t[3]),182550632:(e,t)=>new r.IfcOpenCrossProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2665983363:(e,t)=>new r.IfcOpenShell(e,t[0]),1411181986:(e,t)=>new r.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3]),1029017970:(e,t)=>new r.IfcOrientedEdge(e,t[0],t[1],t[2]),2529465313:(e,t)=>new r.IfcParameterizedProfileDef(e,t[0],t[1],t[2]),2519244187:(e,t)=>new r.IfcPath(e,t[0]),3021840470:(e,t)=>new r.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5]),597895409:(e,t)=>new r.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2004835150:(e,t)=>new r.IfcPlacement(e,t[0]),1663979128:(e,t)=>new r.IfcPlanarExtent(e,t[0],t[1]),2067069095:(e,t)=>new r.IfcPoint(e),2165702409:(e,t)=>new r.IfcPointByDistanceExpression(e,t[0],t[1],t[2],t[3],t[4]),4022376103:(e,t)=>new r.IfcPointOnCurve(e,t[0],t[1]),1423911732:(e,t)=>new r.IfcPointOnSurface(e,t[0],t[1],t[2]),2924175390:(e,t)=>new r.IfcPolyLoop(e,t[0]),2775532180:(e,t)=>new r.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3]),3727388367:(e,t)=>new r.IfcPreDefinedItem(e,t[0]),3778827333:(e,t)=>new r.IfcPreDefinedProperties(e),1775413392:(e,t)=>new r.IfcPreDefinedTextFont(e,t[0]),673634403:(e,t)=>new r.IfcProductDefinitionShape(e,t[0],t[1],t[2]),2802850158:(e,t)=>new r.IfcProfileProperties(e,t[0],t[1],t[2],t[3]),2598011224:(e,t)=>new r.IfcProperty(e,t[0],t[1]),1680319473:(e,t)=>new r.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3]),148025276:(e,t)=>new r.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4]),3357820518:(e,t)=>new r.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3]),1482703590:(e,t)=>new r.IfcPropertyTemplateDefinition(e,t[0],t[1],t[2],t[3]),2090586900:(e,t)=>new r.IfcQuantitySet(e,t[0],t[1],t[2],t[3]),3615266464:(e,t)=>new r.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4]),3413951693:(e,t)=>new r.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1580146022:(e,t)=>new r.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),478536968:(e,t)=>new r.IfcRelationship(e,t[0],t[1],t[2],t[3]),2943643501:(e,t)=>new r.IfcResourceApprovalRelationship(e,t[0],t[1],t[2],t[3]),1608871552:(e,t)=>new r.IfcResourceConstraintRelationship(e,t[0],t[1],t[2],t[3]),1042787934:(e,t)=>new r.IfcResourceTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17]),2778083089:(e,t)=>new r.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5]),2042790032:(e,t)=>new r.IfcSectionProperties(e,t[0],t[1],t[2]),4165799628:(e,t)=>new r.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),1509187699:(e,t)=>new r.IfcSectionedSpine(e,t[0],t[1],t[2]),823603102:(e,t)=>new r.IfcSegment(e,t[0]),4124623270:(e,t)=>new r.IfcShellBasedSurfaceModel(e,t[0]),3692461612:(e,t)=>new r.IfcSimpleProperty(e,t[0],t[1]),2609359061:(e,t)=>new r.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3]),723233188:(e,t)=>new r.IfcSolidModel(e),1595516126:(e,t)=>new r.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2668620305:(e,t)=>new r.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3]),2473145415:(e,t)=>new r.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1973038258:(e,t)=>new r.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1597423693:(e,t)=>new r.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1190533807:(e,t)=>new r.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2233826070:(e,t)=>new r.IfcSubedge(e,t[0],t[1],t[2]),2513912981:(e,t)=>new r.IfcSurface(e),1878645084:(e,t)=>new r.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2247615214:(e,t)=>new r.IfcSweptAreaSolid(e,t[0],t[1]),1260650574:(e,t)=>new r.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4]),1096409881:(e,t)=>new r.IfcSweptDiskSolidPolygonal(e,t[0],t[1],t[2],t[3],t[4],t[5]),230924584:(e,t)=>new r.IfcSweptSurface(e,t[0],t[1]),3071757647:(e,t)=>new r.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),901063453:(e,t)=>new r.IfcTessellatedItem(e),4282788508:(e,t)=>new r.IfcTextLiteral(e,t[0],t[1],t[2]),3124975700:(e,t)=>new r.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4]),1983826977:(e,t)=>new r.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5]),2715220739:(e,t)=>new r.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1628702193:(e,t)=>new r.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5]),3736923433:(e,t)=>new r.IfcTypeProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2347495698:(e,t)=>new r.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3698973494:(e,t)=>new r.IfcTypeResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),427810014:(e,t)=>new r.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1417489154:(e,t)=>new r.IfcVector(e,t[0],t[1]),2759199220:(e,t)=>new r.IfcVertexLoop(e,t[0]),2543172580:(e,t)=>new r.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3406155212:(e,t)=>new r.IfcAdvancedFace(e,t[0],t[1],t[2]),669184980:(e,t)=>new r.IfcAnnotationFillArea(e,t[0],t[1]),3207858831:(e,t)=>new r.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14]),4261334040:(e,t)=>new r.IfcAxis1Placement(e,t[0],t[1]),3125803723:(e,t)=>new r.IfcAxis2Placement2D(e,t[0],t[1]),2740243338:(e,t)=>new r.IfcAxis2Placement3D(e,t[0],t[1],t[2]),3425423356:(e,t)=>new r.IfcAxis2PlacementLinear(e,t[0],t[1],t[2]),2736907675:(e,t)=>new r.IfcBooleanResult(e,t[0],t[1],t[2]),4182860854:(e,t)=>new r.IfcBoundedSurface(e),2581212453:(e,t)=>new r.IfcBoundingBox(e,t[0],t[1],t[2],t[3]),2713105998:(e,t)=>new r.IfcBoxedHalfSpace(e,t[0],t[1],t[2]),2898889636:(e,t)=>new r.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1123145078:(e,t)=>new r.IfcCartesianPoint(e,t[0]),574549367:(e,t)=>new r.IfcCartesianPointList(e),1675464909:(e,t)=>new r.IfcCartesianPointList2D(e,t[0],t[1]),2059837836:(e,t)=>new r.IfcCartesianPointList3D(e,t[0],t[1]),59481748:(e,t)=>new r.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3]),3749851601:(e,t)=>new r.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3]),3486308946:(e,t)=>new r.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4]),3331915920:(e,t)=>new r.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4]),1416205885:(e,t)=>new r.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1383045692:(e,t)=>new r.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3]),2205249479:(e,t)=>new r.IfcClosedShell(e,t[0]),776857604:(e,t)=>new r.IfcColourRgb(e,t[0],t[1],t[2],t[3]),2542286263:(e,t)=>new r.IfcComplexProperty(e,t[0],t[1],t[2],t[3]),2485617015:(e,t)=>new r.IfcCompositeCurveSegment(e,t[0],t[1],t[2]),2574617495:(e,t)=>new r.IfcConstructionResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3419103109:(e,t)=>new r.IfcContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1815067380:(e,t)=>new r.IfcCrewResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2506170314:(e,t)=>new r.IfcCsgPrimitive3D(e,t[0]),2147822146:(e,t)=>new r.IfcCsgSolid(e,t[0]),2601014836:(e,t)=>new r.IfcCurve(e),2827736869:(e,t)=>new r.IfcCurveBoundedPlane(e,t[0],t[1],t[2]),2629017746:(e,t)=>new r.IfcCurveBoundedSurface(e,t[0],t[1],t[2]),4212018352:(e,t)=>new r.IfcCurveSegment(e,t[0],t[1],t[2],t[3],t[4]),32440307:(e,t)=>new r.IfcDirection(e,t[0]),593015953:(e,t)=>new r.IfcDirectrixCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4]),1472233963:(e,t)=>new r.IfcEdgeLoop(e,t[0]),1883228015:(e,t)=>new r.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5]),339256511:(e,t)=>new r.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2777663545:(e,t)=>new r.IfcElementarySurface(e,t[0]),2835456948:(e,t)=>new r.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4]),4024345920:(e,t)=>new r.IfcEventType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),477187591:(e,t)=>new r.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3]),2804161546:(e,t)=>new r.IfcExtrudedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4]),2047409740:(e,t)=>new r.IfcFaceBasedSurfaceModel(e,t[0]),374418227:(e,t)=>new r.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4]),315944413:(e,t)=>new r.IfcFillAreaStyleTiles(e,t[0],t[1],t[2]),2652556860:(e,t)=>new r.IfcFixedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5]),4238390223:(e,t)=>new r.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1268542332:(e,t)=>new r.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4095422895:(e,t)=>new r.IfcGeographicElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),987898635:(e,t)=>new r.IfcGeometricCurveSet(e,t[0]),1484403080:(e,t)=>new r.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),178912537:(e,t)=>new r.IfcIndexedPolygonalFace(e,t[0]),2294589976:(e,t)=>new r.IfcIndexedPolygonalFaceWithVoids(e,t[0],t[1]),3465909080:(e,t)=>new r.IfcIndexedPolygonalTextureMap(e,t[0],t[1],t[2],t[3]),572779678:(e,t)=>new r.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),428585644:(e,t)=>new r.IfcLaborResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1281925730:(e,t)=>new r.IfcLine(e,t[0],t[1]),1425443689:(e,t)=>new r.IfcManifoldSolidBrep(e,t[0]),3888040117:(e,t)=>new r.IfcObject(e,t[0],t[1],t[2],t[3],t[4]),590820931:(e,t)=>new r.IfcOffsetCurve(e,t[0]),3388369263:(e,t)=>new r.IfcOffsetCurve2D(e,t[0],t[1],t[2]),3505215534:(e,t)=>new r.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3]),2485787929:(e,t)=>new r.IfcOffsetCurveByDistances(e,t[0],t[1],t[2]),1682466193:(e,t)=>new r.IfcPcurve(e,t[0],t[1]),603570806:(e,t)=>new r.IfcPlanarBox(e,t[0],t[1],t[2]),220341763:(e,t)=>new r.IfcPlane(e,t[0]),3381221214:(e,t)=>new r.IfcPolynomialCurve(e,t[0],t[1],t[2],t[3]),759155922:(e,t)=>new r.IfcPreDefinedColour(e,t[0]),2559016684:(e,t)=>new r.IfcPreDefinedCurveFont(e,t[0]),3967405729:(e,t)=>new r.IfcPreDefinedPropertySet(e,t[0],t[1],t[2],t[3]),569719735:(e,t)=>new r.IfcProcedureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2945172077:(e,t)=>new r.IfcProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),4208778838:(e,t)=>new r.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),103090709:(e,t)=>new r.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),653396225:(e,t)=>new r.IfcProjectLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),871118103:(e,t)=>new r.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4],t[5]),4166981789:(e,t)=>new r.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3]),2752243245:(e,t)=>new r.IfcPropertyListValue(e,t[0],t[1],t[2],t[3]),941946838:(e,t)=>new r.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3]),1451395588:(e,t)=>new r.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4]),492091185:(e,t)=>new r.IfcPropertySetTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3650150729:(e,t)=>new r.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3]),110355661:(e,t)=>new r.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3521284610:(e,t)=>new r.IfcPropertyTemplate(e,t[0],t[1],t[2],t[3]),2770003689:(e,t)=>new r.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2798486643:(e,t)=>new r.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3]),3454111270:(e,t)=>new r.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3765753017:(e,t)=>new r.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),3939117080:(e,t)=>new r.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5]),1683148259:(e,t)=>new r.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2495723537:(e,t)=>new r.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1307041759:(e,t)=>new r.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1027710054:(e,t)=>new r.IfcRelAssignsToGroupByFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4278684876:(e,t)=>new r.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2857406711:(e,t)=>new r.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),205026976:(e,t)=>new r.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1865459582:(e,t)=>new r.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4]),4095574036:(e,t)=>new r.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5]),919958153:(e,t)=>new r.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5]),2728634034:(e,t)=>new r.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),982818633:(e,t)=>new r.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5]),3840914261:(e,t)=>new r.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5]),2655215786:(e,t)=>new r.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5]),1033248425:(e,t)=>new r.IfcRelAssociatesProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5]),826625072:(e,t)=>new r.IfcRelConnects(e,t[0],t[1],t[2],t[3]),1204542856:(e,t)=>new r.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3945020480:(e,t)=>new r.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4201705270:(e,t)=>new r.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),3190031847:(e,t)=>new r.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2127690289:(e,t)=>new r.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5]),1638771189:(e,t)=>new r.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),504942748:(e,t)=>new r.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3678494232:(e,t)=>new r.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3242617779:(e,t)=>new r.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5]),886880790:(e,t)=>new r.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5]),2802773753:(e,t)=>new r.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5]),2565941209:(e,t)=>new r.IfcRelDeclares(e,t[0],t[1],t[2],t[3],t[4],t[5]),2551354335:(e,t)=>new r.IfcRelDecomposes(e,t[0],t[1],t[2],t[3]),693640335:(e,t)=>new r.IfcRelDefines(e,t[0],t[1],t[2],t[3]),1462361463:(e,t)=>new r.IfcRelDefinesByObject(e,t[0],t[1],t[2],t[3],t[4],t[5]),4186316022:(e,t)=>new r.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),307848117:(e,t)=>new r.IfcRelDefinesByTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5]),781010003:(e,t)=>new r.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5]),3940055652:(e,t)=>new r.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),279856033:(e,t)=>new r.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5]),427948657:(e,t)=>new r.IfcRelInterferesElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3268803585:(e,t)=>new r.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5]),1441486842:(e,t)=>new r.IfcRelPositions(e,t[0],t[1],t[2],t[3],t[4],t[5]),750771296:(e,t)=>new r.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),1245217292:(e,t)=>new r.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5]),4122056220:(e,t)=>new r.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),366585022:(e,t)=>new r.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5]),3451746338:(e,t)=>new r.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3523091289:(e,t)=>new r.IfcRelSpaceBoundary1stLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1521410863:(e,t)=>new r.IfcRelSpaceBoundary2ndLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1401173127:(e,t)=>new r.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),816062949:(e,t)=>new r.IfcReparametrisedCompositeCurveSegment(e,t[0],t[1],t[2],t[3]),2914609552:(e,t)=>new r.IfcResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1856042241:(e,t)=>new r.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3]),3243963512:(e,t)=>new r.IfcRevolvedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4]),4158566097:(e,t)=>new r.IfcRightCircularCone(e,t[0],t[1],t[2]),3626867408:(e,t)=>new r.IfcRightCircularCylinder(e,t[0],t[1],t[2]),1862484736:(e,t)=>new r.IfcSectionedSolid(e,t[0],t[1]),1290935644:(e,t)=>new r.IfcSectionedSolidHorizontal(e,t[0],t[1],t[2]),1356537516:(e,t)=>new r.IfcSectionedSurface(e,t[0],t[1],t[2]),3663146110:(e,t)=>new r.IfcSimplePropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1412071761:(e,t)=>new r.IfcSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),710998568:(e,t)=>new r.IfcSpatialElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2706606064:(e,t)=>new r.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3893378262:(e,t)=>new r.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),463610769:(e,t)=>new r.IfcSpatialZone(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2481509218:(e,t)=>new r.IfcSpatialZoneType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),451544542:(e,t)=>new r.IfcSphere(e,t[0],t[1]),4015995234:(e,t)=>new r.IfcSphericalSurface(e,t[0],t[1]),2735484536:(e,t)=>new r.IfcSpiral(e,t[0]),3544373492:(e,t)=>new r.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3136571912:(e,t)=>new r.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),530289379:(e,t)=>new r.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3689010777:(e,t)=>new r.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3979015343:(e,t)=>new r.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2218152070:(e,t)=>new r.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),603775116:(e,t)=>new r.IfcStructuralSurfaceReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4095615324:(e,t)=>new r.IfcSubContractResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),699246055:(e,t)=>new r.IfcSurfaceCurve(e,t[0],t[1],t[2]),2028607225:(e,t)=>new r.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5]),2809605785:(e,t)=>new r.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3]),4124788165:(e,t)=>new r.IfcSurfaceOfRevolution(e,t[0],t[1],t[2]),1580310250:(e,t)=>new r.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3473067441:(e,t)=>new r.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),3206491090:(e,t)=>new r.IfcTaskType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2387106220:(e,t)=>new r.IfcTessellatedFaceSet(e,t[0],t[1]),782932809:(e,t)=>new r.IfcThirdOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3],t[4]),1935646853:(e,t)=>new r.IfcToroidalSurface(e,t[0],t[1],t[2]),3665877780:(e,t)=>new r.IfcTransportationDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2916149573:(e,t)=>new r.IfcTriangulatedFaceSet(e,t[0],t[1],t[2],t[3],t[4]),1229763772:(e,t)=>new r.IfcTriangulatedIrregularNetwork(e,t[0],t[1],t[2],t[3],t[4],t[5]),3651464721:(e,t)=>new r.IfcVehicleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),336235671:(e,t)=>new r.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]),512836454:(e,t)=>new r.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2296667514:(e,t)=>new r.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5]),1635779807:(e,t)=>new r.IfcAdvancedBrep(e,t[0]),2603310189:(e,t)=>new r.IfcAdvancedBrepWithVoids(e,t[0],t[1]),1674181508:(e,t)=>new r.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2887950389:(e,t)=>new r.IfcBSplineSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),167062518:(e,t)=>new r.IfcBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1334484129:(e,t)=>new r.IfcBlock(e,t[0],t[1],t[2],t[3]),3649129432:(e,t)=>new r.IfcBooleanClippingResult(e,t[0],t[1],t[2]),1260505505:(e,t)=>new r.IfcBoundedCurve(e),3124254112:(e,t)=>new r.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1626504194:(e,t)=>new r.IfcBuiltElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2197970202:(e,t)=>new r.IfcChimneyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2937912522:(e,t)=>new r.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4]),3893394355:(e,t)=>new r.IfcCivilElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3497074424:(e,t)=>new r.IfcClothoid(e,t[0],t[1]),300633059:(e,t)=>new r.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3875453745:(e,t)=>new r.IfcComplexPropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3732776249:(e,t)=>new r.IfcCompositeCurve(e,t[0],t[1]),15328376:(e,t)=>new r.IfcCompositeCurveOnSurface(e,t[0],t[1]),2510884976:(e,t)=>new r.IfcConic(e,t[0]),2185764099:(e,t)=>new r.IfcConstructionEquipmentResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),4105962743:(e,t)=>new r.IfcConstructionMaterialResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1525564444:(e,t)=>new r.IfcConstructionProductResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2559216714:(e,t)=>new r.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3293443760:(e,t)=>new r.IfcControl(e,t[0],t[1],t[2],t[3],t[4],t[5]),2000195564:(e,t)=>new r.IfcCosineSpiral(e,t[0],t[1],t[2]),3895139033:(e,t)=>new r.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1419761937:(e,t)=>new r.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4189326743:(e,t)=>new r.IfcCourseType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1916426348:(e,t)=>new r.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3295246426:(e,t)=>new r.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1457835157:(e,t)=>new r.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1213902940:(e,t)=>new r.IfcCylindricalSurface(e,t[0],t[1]),1306400036:(e,t)=>new r.IfcDeepFoundationType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4234616927:(e,t)=>new r.IfcDirectrixDerivedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5]),3256556792:(e,t)=>new r.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3849074793:(e,t)=>new r.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2963535650:(e,t)=>new r.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),1714330368:(e,t)=>new r.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2323601079:(e,t)=>new r.IfcDoorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),445594917:(e,t)=>new r.IfcDraughtingPreDefinedColour(e,t[0]),4006246654:(e,t)=>new r.IfcDraughtingPreDefinedCurveFont(e,t[0]),1758889154:(e,t)=>new r.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4123344466:(e,t)=>new r.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2397081782:(e,t)=>new r.IfcElementAssemblyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1623761950:(e,t)=>new r.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2590856083:(e,t)=>new r.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1704287377:(e,t)=>new r.IfcEllipse(e,t[0],t[1],t[2]),2107101300:(e,t)=>new r.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),132023988:(e,t)=>new r.IfcEngineType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3174744832:(e,t)=>new r.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3390157468:(e,t)=>new r.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4148101412:(e,t)=>new r.IfcEvent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2853485674:(e,t)=>new r.IfcExternalSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),807026263:(e,t)=>new r.IfcFacetedBrep(e,t[0]),3737207727:(e,t)=>new r.IfcFacetedBrepWithVoids(e,t[0],t[1]),24185140:(e,t)=>new r.IfcFacility(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1310830890:(e,t)=>new r.IfcFacilityPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4228831410:(e,t)=>new r.IfcFacilityPartCommon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),647756555:(e,t)=>new r.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2489546625:(e,t)=>new r.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2827207264:(e,t)=>new r.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2143335405:(e,t)=>new r.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1287392070:(e,t)=>new r.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3907093117:(e,t)=>new r.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3198132628:(e,t)=>new r.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3815607619:(e,t)=>new r.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1482959167:(e,t)=>new r.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1834744321:(e,t)=>new r.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1339347760:(e,t)=>new r.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2297155007:(e,t)=>new r.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3009222698:(e,t)=>new r.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1893162501:(e,t)=>new r.IfcFootingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),263784265:(e,t)=>new r.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1509553395:(e,t)=>new r.IfcFurniture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3493046030:(e,t)=>new r.IfcGeographicElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4230923436:(e,t)=>new r.IfcGeotechnicalElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1594536857:(e,t)=>new r.IfcGeotechnicalStratum(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2898700619:(e,t)=>new r.IfcGradientCurve(e,t[0],t[1],t[2],t[3]),2706460486:(e,t)=>new r.IfcGroup(e,t[0],t[1],t[2],t[3],t[4]),1251058090:(e,t)=>new r.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1806887404:(e,t)=>new r.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2568555532:(e,t)=>new r.IfcImpactProtectionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3948183225:(e,t)=>new r.IfcImpactProtectionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2571569899:(e,t)=>new r.IfcIndexedPolyCurve(e,t[0],t[1],t[2]),3946677679:(e,t)=>new r.IfcInterceptorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3113134337:(e,t)=>new r.IfcIntersectionCurve(e,t[0],t[1],t[2]),2391368822:(e,t)=>new r.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4288270099:(e,t)=>new r.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),679976338:(e,t)=>new r.IfcKerbType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3827777499:(e,t)=>new r.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1051575348:(e,t)=>new r.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1161773419:(e,t)=>new r.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2176059722:(e,t)=>new r.IfcLinearElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1770583370:(e,t)=>new r.IfcLiquidTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),525669439:(e,t)=>new r.IfcMarineFacility(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),976884017:(e,t)=>new r.IfcMarinePart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),377706215:(e,t)=>new r.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2108223431:(e,t)=>new r.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1114901282:(e,t)=>new r.IfcMedicalDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3181161470:(e,t)=>new r.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1950438474:(e,t)=>new r.IfcMobileTelecommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),710110818:(e,t)=>new r.IfcMooringDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),977012517:(e,t)=>new r.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),506776471:(e,t)=>new r.IfcNavigationElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4143007308:(e,t)=>new r.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3588315303:(e,t)=>new r.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2837617999:(e,t)=>new r.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),514975943:(e,t)=>new r.IfcPavementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2382730787:(e,t)=>new r.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3566463478:(e,t)=>new r.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3327091369:(e,t)=>new r.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1158309216:(e,t)=>new r.IfcPileType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),804291784:(e,t)=>new r.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4231323485:(e,t)=>new r.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4017108033:(e,t)=>new r.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2839578677:(e,t)=>new r.IfcPolygonalFaceSet(e,t[0],t[1],t[2],t[3]),3724593414:(e,t)=>new r.IfcPolyline(e,t[0]),3740093272:(e,t)=>new r.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1946335990:(e,t)=>new r.IfcPositioningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2744685151:(e,t)=>new r.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2904328755:(e,t)=>new r.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3651124850:(e,t)=>new r.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1842657554:(e,t)=>new r.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2250791053:(e,t)=>new r.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1763565496:(e,t)=>new r.IfcRailType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2893384427:(e,t)=>new r.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3992365140:(e,t)=>new r.IfcRailway(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1891881377:(e,t)=>new r.IfcRailwayPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2324767716:(e,t)=>new r.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1469900589:(e,t)=>new r.IfcRampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),683857671:(e,t)=>new r.IfcRationalBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),4021432810:(e,t)=>new r.IfcReferent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3027567501:(e,t)=>new r.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),964333572:(e,t)=>new r.IfcReinforcingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2320036040:(e,t)=>new r.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17]),2310774935:(e,t)=>new r.IfcReinforcingMeshType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19]),3818125796:(e,t)=>new r.IfcRelAdheresToElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),160246688:(e,t)=>new r.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5]),146592293:(e,t)=>new r.IfcRoad(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),550521510:(e,t)=>new r.IfcRoadPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2781568857:(e,t)=>new r.IfcRoofType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1768891740:(e,t)=>new r.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2157484638:(e,t)=>new r.IfcSeamCurve(e,t[0],t[1],t[2]),3649235739:(e,t)=>new r.IfcSecondOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3]),544395925:(e,t)=>new r.IfcSegmentedReferenceCurve(e,t[0],t[1],t[2],t[3]),1027922057:(e,t)=>new r.IfcSeventhOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4074543187:(e,t)=>new r.IfcShadingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),33720170:(e,t)=>new r.IfcSign(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3599934289:(e,t)=>new r.IfcSignType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1894708472:(e,t)=>new r.IfcSignalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),42703149:(e,t)=>new r.IfcSineSpiral(e,t[0],t[1],t[2],t[3]),4097777520:(e,t)=>new r.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),2533589738:(e,t)=>new r.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1072016465:(e,t)=>new r.IfcSolarDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3856911033:(e,t)=>new r.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1305183839:(e,t)=>new r.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3812236995:(e,t)=>new r.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3112655638:(e,t)=>new r.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1039846685:(e,t)=>new r.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),338393293:(e,t)=>new r.IfcStairType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),682877961:(e,t)=>new r.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1179482911:(e,t)=>new r.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1004757350:(e,t)=>new r.IfcStructuralCurveAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),4243806635:(e,t)=>new r.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),214636428:(e,t)=>new r.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2445595289:(e,t)=>new r.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2757150158:(e,t)=>new r.IfcStructuralCurveReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1807405624:(e,t)=>new r.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1252848954:(e,t)=>new r.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2082059205:(e,t)=>new r.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),734778138:(e,t)=>new r.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1235345126:(e,t)=>new r.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2986769608:(e,t)=>new r.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3657597509:(e,t)=>new r.IfcStructuralSurfaceAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1975003073:(e,t)=>new r.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),148013059:(e,t)=>new r.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3101698114:(e,t)=>new r.IfcSurfaceFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2315554128:(e,t)=>new r.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2254336722:(e,t)=>new r.IfcSystem(e,t[0],t[1],t[2],t[3],t[4]),413509423:(e,t)=>new r.IfcSystemFurnitureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),5716631:(e,t)=>new r.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3824725483:(e,t)=>new r.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),2347447852:(e,t)=>new r.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3081323446:(e,t)=>new r.IfcTendonAnchorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3663046924:(e,t)=>new r.IfcTendonConduit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2281632017:(e,t)=>new r.IfcTendonConduitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2415094496:(e,t)=>new r.IfcTendonType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),618700268:(e,t)=>new r.IfcTrackElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1692211062:(e,t)=>new r.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2097647324:(e,t)=>new r.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1953115116:(e,t)=>new r.IfcTransportationDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3593883385:(e,t)=>new r.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4]),1600972822:(e,t)=>new r.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1911125066:(e,t)=>new r.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),728799441:(e,t)=>new r.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),840318589:(e,t)=>new r.IfcVehicle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1530820697:(e,t)=>new r.IfcVibrationDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3956297820:(e,t)=>new r.IfcVibrationDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2391383451:(e,t)=>new r.IfcVibrationIsolator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3313531582:(e,t)=>new r.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2769231204:(e,t)=>new r.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),926996030:(e,t)=>new r.IfcVoidingFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1898987631:(e,t)=>new r.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1133259667:(e,t)=>new r.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4009809668:(e,t)=>new r.IfcWindowType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),4088093105:(e,t)=>new r.IfcWorkCalendar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1028945134:(e,t)=>new r.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),4218914973:(e,t)=>new r.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),3342526732:(e,t)=>new r.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),1033361043:(e,t)=>new r.IfcZone(e,t[0],t[1],t[2],t[3],t[4],t[5]),3821786052:(e,t)=>new r.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1411407467:(e,t)=>new r.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3352864051:(e,t)=>new r.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1871374353:(e,t)=>new r.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4266260250:(e,t)=>new r.IfcAlignmentCant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1545765605:(e,t)=>new r.IfcAlignmentHorizontal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),317615605:(e,t)=>new r.IfcAlignmentSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1662888072:(e,t)=>new r.IfcAlignmentVertical(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3460190687:(e,t)=>new r.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),1532957894:(e,t)=>new r.IfcAudioVisualApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1967976161:(e,t)=>new r.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4]),2461110595:(e,t)=>new r.IfcBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),819618141:(e,t)=>new r.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3649138523:(e,t)=>new r.IfcBearingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),231477066:(e,t)=>new r.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1136057603:(e,t)=>new r.IfcBoundaryCurve(e,t[0],t[1]),644574406:(e,t)=>new r.IfcBridge(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),963979645:(e,t)=>new r.IfcBridgePart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4031249490:(e,t)=>new r.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2979338954:(e,t)=>new r.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),39481116:(e,t)=>new r.IfcBuildingElementPartType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1909888760:(e,t)=>new r.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1177604601:(e,t)=>new r.IfcBuildingSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1876633798:(e,t)=>new r.IfcBuiltElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3862327254:(e,t)=>new r.IfcBuiltSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2188180465:(e,t)=>new r.IfcBurnerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),395041908:(e,t)=>new r.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3293546465:(e,t)=>new r.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2674252688:(e,t)=>new r.IfcCableFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1285652485:(e,t)=>new r.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3203706013:(e,t)=>new r.IfcCaissonFoundationType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2951183804:(e,t)=>new r.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3296154744:(e,t)=>new r.IfcChimney(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2611217952:(e,t)=>new r.IfcCircle(e,t[0],t[1]),1677625105:(e,t)=>new r.IfcCivilElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2301859152:(e,t)=>new r.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),843113511:(e,t)=>new r.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),400855858:(e,t)=>new r.IfcCommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3850581409:(e,t)=>new r.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2816379211:(e,t)=>new r.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3898045240:(e,t)=>new r.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1060000209:(e,t)=>new r.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),488727124:(e,t)=>new r.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2940368186:(e,t)=>new r.IfcConveyorSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),335055490:(e,t)=>new r.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2954562838:(e,t)=>new r.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1502416096:(e,t)=>new r.IfcCourse(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1973544240:(e,t)=>new r.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3495092785:(e,t)=>new r.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3961806047:(e,t)=>new r.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3426335179:(e,t)=>new r.IfcDeepFoundation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1335981549:(e,t)=>new r.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2635815018:(e,t)=>new r.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),479945903:(e,t)=>new r.IfcDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1599208980:(e,t)=>new r.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2063403501:(e,t)=>new r.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1945004755:(e,t)=>new r.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3040386961:(e,t)=>new r.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3041715199:(e,t)=>new r.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3205830791:(e,t)=>new r.IfcDistributionSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),395920057:(e,t)=>new r.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),869906466:(e,t)=>new r.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3760055223:(e,t)=>new r.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2030761528:(e,t)=>new r.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3071239417:(e,t)=>new r.IfcEarthworksCut(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1077100507:(e,t)=>new r.IfcEarthworksElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3376911765:(e,t)=>new r.IfcEarthworksFill(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),663422040:(e,t)=>new r.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2417008758:(e,t)=>new r.IfcElectricDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3277789161:(e,t)=>new r.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2142170206:(e,t)=>new r.IfcElectricFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1534661035:(e,t)=>new r.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1217240411:(e,t)=>new r.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),712377611:(e,t)=>new r.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1658829314:(e,t)=>new r.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2814081492:(e,t)=>new r.IfcEngine(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3747195512:(e,t)=>new r.IfcEvaporativeCooler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),484807127:(e,t)=>new r.IfcEvaporator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1209101575:(e,t)=>new r.IfcExternalSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),346874300:(e,t)=>new r.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1810631287:(e,t)=>new r.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4222183408:(e,t)=>new r.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2058353004:(e,t)=>new r.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4278956645:(e,t)=>new r.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4037862832:(e,t)=>new r.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2188021234:(e,t)=>new r.IfcFlowMeter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3132237377:(e,t)=>new r.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),987401354:(e,t)=>new r.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),707683696:(e,t)=>new r.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2223149337:(e,t)=>new r.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3508470533:(e,t)=>new r.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),900683007:(e,t)=>new r.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2713699986:(e,t)=>new r.IfcGeotechnicalAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3009204131:(e,t)=>new r.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3319311131:(e,t)=>new r.IfcHeatExchanger(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2068733104:(e,t)=>new r.IfcHumidifier(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4175244083:(e,t)=>new r.IfcInterceptor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2176052936:(e,t)=>new r.IfcJunctionBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2696325953:(e,t)=>new r.IfcKerb(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),76236018:(e,t)=>new r.IfcLamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),629592764:(e,t)=>new r.IfcLightFixture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1154579445:(e,t)=>new r.IfcLinearPositioningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1638804497:(e,t)=>new r.IfcLiquidTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1437502449:(e,t)=>new r.IfcMedicalDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1073191201:(e,t)=>new r.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2078563270:(e,t)=>new r.IfcMobileTelecommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),234836483:(e,t)=>new r.IfcMooringDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2474470126:(e,t)=>new r.IfcMotorConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2182337498:(e,t)=>new r.IfcNavigationElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),144952367:(e,t)=>new r.IfcOuterBoundaryCurve(e,t[0],t[1]),3694346114:(e,t)=>new r.IfcOutlet(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1383356374:(e,t)=>new r.IfcPavement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1687234759:(e,t)=>new r.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),310824031:(e,t)=>new r.IfcPipeFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3612865200:(e,t)=>new r.IfcPipeSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3171933400:(e,t)=>new r.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),738039164:(e,t)=>new r.IfcProtectiveDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),655969474:(e,t)=>new r.IfcProtectiveDeviceTrippingUnitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),90941305:(e,t)=>new r.IfcPump(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3290496277:(e,t)=>new r.IfcRail(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2262370178:(e,t)=>new r.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3024970846:(e,t)=>new r.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3283111854:(e,t)=>new r.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1232101972:(e,t)=>new r.IfcRationalBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3798194928:(e,t)=>new r.IfcReinforcedSoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),979691226:(e,t)=>new r.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),2572171363:(e,t)=>new r.IfcReinforcingBarType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]),2016517767:(e,t)=>new r.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3053780830:(e,t)=>new r.IfcSanitaryTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1783015770:(e,t)=>new r.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1329646415:(e,t)=>new r.IfcShadingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),991950508:(e,t)=>new r.IfcSignal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1529196076:(e,t)=>new r.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3420628829:(e,t)=>new r.IfcSolarDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1999602285:(e,t)=>new r.IfcSpaceHeater(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1404847402:(e,t)=>new r.IfcStackTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),331165859:(e,t)=>new r.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4252922144:(e,t)=>new r.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),2515109513:(e,t)=>new r.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),385403989:(e,t)=>new r.IfcStructuralLoadCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1621171031:(e,t)=>new r.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1162798199:(e,t)=>new r.IfcSwitchingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),812556717:(e,t)=>new r.IfcTank(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3425753595:(e,t)=>new r.IfcTrackElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3825984169:(e,t)=>new r.IfcTransformer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1620046519:(e,t)=>new r.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3026737570:(e,t)=>new r.IfcTubeBundle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3179687236:(e,t)=>new r.IfcUnitaryControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4292641817:(e,t)=>new r.IfcUnitaryEquipment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4207607924:(e,t)=>new r.IfcValve(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2391406946:(e,t)=>new r.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3512223829:(e,t)=>new r.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4237592921:(e,t)=>new r.IfcWasteTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3304561284:(e,t)=>new r.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),2874132201:(e,t)=>new r.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1634111441:(e,t)=>new r.IfcAirTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),177149247:(e,t)=>new r.IfcAirTerminalBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2056796094:(e,t)=>new r.IfcAirToAirHeatRecovery(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3001207471:(e,t)=>new r.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),325726236:(e,t)=>new r.IfcAlignment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),277319702:(e,t)=>new r.IfcAudioVisualAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),753842376:(e,t)=>new r.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4196446775:(e,t)=>new r.IfcBearing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),32344328:(e,t)=>new r.IfcBoiler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3314249567:(e,t)=>new r.IfcBorehole(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1095909175:(e,t)=>new r.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2938176219:(e,t)=>new r.IfcBurner(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),635142910:(e,t)=>new r.IfcCableCarrierFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3758799889:(e,t)=>new r.IfcCableCarrierSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1051757585:(e,t)=>new r.IfcCableFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4217484030:(e,t)=>new r.IfcCableSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3999819293:(e,t)=>new r.IfcCaissonFoundation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3902619387:(e,t)=>new r.IfcChiller(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),639361253:(e,t)=>new r.IfcCoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3221913625:(e,t)=>new r.IfcCommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3571504051:(e,t)=>new r.IfcCompressor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2272882330:(e,t)=>new r.IfcCondenser(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),578613899:(e,t)=>new r.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3460952963:(e,t)=>new r.IfcConveyorSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4136498852:(e,t)=>new r.IfcCooledBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3640358203:(e,t)=>new r.IfcCoolingTower(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4074379575:(e,t)=>new r.IfcDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3693000487:(e,t)=>new r.IfcDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1052013943:(e,t)=>new r.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),562808652:(e,t)=>new r.IfcDistributionCircuit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1062813311:(e,t)=>new r.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),342316401:(e,t)=>new r.IfcDuctFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3518393246:(e,t)=>new r.IfcDuctSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1360408905:(e,t)=>new r.IfcDuctSilencer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1904799276:(e,t)=>new r.IfcElectricAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),862014818:(e,t)=>new r.IfcElectricDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3310460725:(e,t)=>new r.IfcElectricFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),24726584:(e,t)=>new r.IfcElectricFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),264262732:(e,t)=>new r.IfcElectricGenerator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),402227799:(e,t)=>new r.IfcElectricMotor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1003880860:(e,t)=>new r.IfcElectricTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3415622556:(e,t)=>new r.IfcFan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),819412036:(e,t)=>new r.IfcFilter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1426591983:(e,t)=>new r.IfcFireSuppressionTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),182646315:(e,t)=>new r.IfcFlowInstrument(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2680139844:(e,t)=>new r.IfcGeomodel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1971632696:(e,t)=>new r.IfcGeoslice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2295281155:(e,t)=>new r.IfcProtectiveDeviceTrippingUnit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4086658281:(e,t)=>new r.IfcSensor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),630975310:(e,t)=>new r.IfcUnitaryControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4288193352:(e,t)=>new r.IfcActuator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3087945054:(e,t)=>new r.IfcAlarm(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),25142252:(e,t)=>new r.IfcController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},Lm[3]={3630933823:e=>[e.Role,e.UserDefinedRole,e.Description],618182010:e=>[e.Purpose,e.Description,e.UserDefinedPurpose],2879124712:e=>[e.StartTag,e.EndTag],3633395639:e=>[e.StartTag,e.EndTag,e.StartDistAlong,e.HorizontalLength,e.StartHeight,e.StartGradient,e.EndGradient,e.RadiusOfCurvature,e.PredefinedType],639542469:e=>[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier],411424972:e=>[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components],130549933:e=>[e.Identifier,e.Name,e.Description,e.TimeOfApproval,e.Status,e.Level,e.Qualifier,e.RequestingApproval,e.GivingApproval],4037036970:e=>[e.Name],1560379544:e=>[e.Name,e.TranslationalStiffnessByLengthX?Mm(e.TranslationalStiffnessByLengthX):null,e.TranslationalStiffnessByLengthY?Mm(e.TranslationalStiffnessByLengthY):null,e.TranslationalStiffnessByLengthZ?Mm(e.TranslationalStiffnessByLengthZ):null,e.RotationalStiffnessByLengthX?Mm(e.RotationalStiffnessByLengthX):null,e.RotationalStiffnessByLengthY?Mm(e.RotationalStiffnessByLengthY):null,e.RotationalStiffnessByLengthZ?Mm(e.RotationalStiffnessByLengthZ):null],3367102660:e=>[e.Name,e.TranslationalStiffnessByAreaX?Mm(e.TranslationalStiffnessByAreaX):null,e.TranslationalStiffnessByAreaY?Mm(e.TranslationalStiffnessByAreaY):null,e.TranslationalStiffnessByAreaZ?Mm(e.TranslationalStiffnessByAreaZ):null],1387855156:e=>[e.Name,e.TranslationalStiffnessX?Mm(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Mm(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Mm(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Mm(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Mm(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Mm(e.RotationalStiffnessZ):null],2069777674:e=>[e.Name,e.TranslationalStiffnessX?Mm(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Mm(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Mm(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Mm(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Mm(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Mm(e.RotationalStiffnessZ):null,e.WarpingStiffness?Mm(e.WarpingStiffness):null],2859738748:e=>[],2614616156:e=>[e.PointOnRelatingElement,e.PointOnRelatedElement],2732653382:e=>[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement],775493141:e=>[e.VolumeOnRelatingElement,e.VolumeOnRelatedElement],1959218052:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade],1785450214:e=>[e.SourceCRS,e.TargetCRS],1466758467:e=>[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum],602808272:e=>[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components],1765591967:e=>[e.Elements,e.UnitType,e.UserDefinedType,e.Name],1045800335:e=>[e.Unit,e.Exponent],2949456006:e=>[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent],4294318154:e=>[],3200245327:e=>[e.Location,e.Identification,e.Name],2242383968:e=>[e.Location,e.Identification,e.Name],1040185647:e=>[e.Location,e.Identification,e.Name],3548104201:e=>[e.Location,e.Identification,e.Name],852622518:e=>{var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:e=>[e.TimeStamp,e.ListValues.map((e=>Mm(e)))],2655187982:e=>[e.Name,e.Version,e.Publisher,e.VersionDate,e.Location,e.Description],3452421091:e=>[e.Location,e.Identification,e.Name,e.Description,e.Language,e.ReferencedLibrary],4162380809:e=>[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity],1566485204:e=>[e.LightDistributionCurve,e.DistributionData],3057273783:e=>[e.SourceCRS,e.TargetCRS,e.Eastings,e.Northings,e.OrthogonalHeight,e.XAxisAbscissa,e.XAxisOrdinate,e.Scale,e.ScaleY,e.ScaleZ],1847130766:e=>[e.MaterialClassifications,e.ClassifiedMaterial],760658860:e=>[],248100487:e=>{var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority]},3303938423:e=>[e.MaterialLayers,e.LayerSetName,e.Description],1847252529:e=>{var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority,e.OffsetDirection,e.OffsetValues]},2199411900:e=>[e.Materials],2235152071:e=>[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category],164193824:e=>[e.Name,e.Description,e.MaterialProfiles,e.CompositeProfile],552965576:e=>[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category,e.OffsetValues],1507914824:e=>[],2597039031:e=>[Mm(e.ValueComponent),e.UnitComponent],3368373690:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue,e.ReferencePath],2706619895:e=>[e.Currency],1918398963:e=>[e.Dimensions,e.UnitType],3701648758:e=>[e.PlacementRelTo],2251480897:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.LogicalAggregator,e.ObjectiveQualifier,e.UserDefinedQualifier],4251960020:e=>[e.Identification,e.Name,e.Description,e.Roles,e.Addresses],1207048766:e=>[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate],2077209135:e=>[e.Identification,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses],101040310:e=>[e.ThePerson,e.TheOrganization,e.Roles],2483315170:e=>[e.Name,e.Description],2226359599:e=>[e.Name,e.Description,e.Unit],3355820592:e=>[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country],677532197:e=>[],2022622350:e=>[e.Name,e.Description,e.AssignedItems,e.Identifier],1304840413:e=>{var t,n,s;return[e.Name,e.Description,e.AssignedItems,e.Identifier,null==(t=e.LayerOn)?void 0:t.toString(),null==(n=e.LayerFrozen)?void 0:n.toString(),null==(s=e.LayerBlocked)?void 0:s.toString(),e.LayerStyles]},3119450353:e=>[e.Name],2095639259:e=>[e.Name,e.Description,e.Representations],3958567839:e=>[e.ProfileType,e.ProfileName],3843373140:e=>[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum,e.MapProjection,e.MapZone,e.MapUnit],986844984:e=>[],3710013099:e=>[e.Name,e.EnumerationValues.map((e=>Mm(e))),e.Unit],2044713172:e=>[e.Name,e.Description,e.Unit,e.AreaValue,e.Formula],2093928680:e=>[e.Name,e.Description,e.Unit,e.CountValue,e.Formula],931644368:e=>[e.Name,e.Description,e.Unit,e.LengthValue,e.Formula],2691318326:e=>[e.Name,e.Description,e.Unit,e.NumberValue,e.Formula],3252649465:e=>[e.Name,e.Description,e.Unit,e.TimeValue,e.Formula],2405470396:e=>[e.Name,e.Description,e.Unit,e.VolumeValue,e.Formula],825690147:e=>[e.Name,e.Description,e.Unit,e.WeightValue,e.Formula],3915482550:e=>[e.RecurrenceType,e.DayComponent,e.WeekdayComponent,e.MonthComponent,e.Position,e.Interval,e.Occurrences,e.TimePeriods],2433181523:e=>[e.TypeIdentifier,e.AttributeIdentifier,e.InstanceName,e.ListPositions,e.InnerReference],1076942058:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],3377609919:e=>[e.ContextIdentifier,e.ContextType],3008791417:e=>[],1660063152:e=>[e.MappingOrigin,e.MappedRepresentation],2439245199:e=>[e.Name,e.Description],2341007311:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],448429030:e=>[e.Dimensions,e.UnitType,e.Prefix,e.Name],1054537805:e=>[e.Name,e.DataOrigin,e.UserDefinedDataOrigin],867548509:e=>{var t;return[e.ShapeRepresentations,e.Name,e.Description,null==(t=e.ProductDefinitional)?void 0:t.toString(),e.PartOfProductDefinitionShape]},3982875396:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],4240577450:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],2273995522:e=>[e.Name],2162789131:e=>[e.Name],3478079324:e=>[e.Name,e.Values,e.Locations],609421318:e=>[e.Name],2525727697:e=>[e.Name],3408363356:e=>[e.Name,e.DeltaTConstant,e.DeltaTY,e.DeltaTZ],2830218821:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],3958052878:e=>[e.Item,e.Styles,e.Name],3049322572:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],2934153892:e=>[e.Name,e.SurfaceReinforcement1,e.SurfaceReinforcement2,e.ShearReinforcement],1300840506:e=>[e.Name,e.Side,e.Styles],3303107099:e=>[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour],1607154358:e=>[e.RefractionIndex,e.DispersionFactor],846575682:e=>[e.SurfaceColour,e.Transparency],1351298697:e=>[e.Textures],626085974:e=>{var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter]},985171141:e=>[e.Name,e.Rows,e.Columns],2043862942:e=>[e.Identifier,e.Name,e.Description,e.Unit,e.ReferencePath],531007025:e=>{var t;return[e.RowCells?e.RowCells.map((e=>Mm(e))):null,null==(t=e.IsHeading)?void 0:t.toString()]},1549132990:e=>{var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion]},2771591690:e=>{var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion,e.Recurrence]},912023232:e=>[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL,e.MessagingIDs],1447204868:e=>{var t;return[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},2636378356:e=>[e.Colour,e.BackgroundColour],1640371178:e=>[e.TextIndent?Mm(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Mm(e.LetterSpacing):null,e.WordSpacing?Mm(e.WordSpacing):null,e.TextTransform,e.LineHeight?Mm(e.LineHeight):null],280115917:e=>[e.Maps],1742049831:e=>[e.Maps,e.Mode,e.Parameter],222769930:e=>[e.TexCoordIndex,e.TexCoordsOf],1010789467:e=>[e.TexCoordIndex,e.TexCoordsOf,e.InnerTexCoordIndices],2552916305:e=>[e.Maps,e.Vertices,e.MappedTo],1210645708:e=>[e.Coordinates],3611470254:e=>[e.TexCoordsList],1199560280:e=>[e.StartTime,e.EndTime],3101149627:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit],581633288:e=>[e.ListValues.map((e=>Mm(e)))],1377556343:e=>[],1735638870:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],180925521:e=>[e.Units],2799835756:e=>[],1907098498:e=>[e.VertexGeometry],891718957:e=>[e.IntersectingAxes,e.OffsetDistances],1236880293:e=>[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.RecurrencePattern,e.StartDate,e.FinishDate],3752311538:e=>[e.StartTag,e.EndTag,e.StartDistAlong,e.HorizontalLength,e.StartCantLeft,e.EndCantLeft,e.StartCantRight,e.EndCantRight,e.PredefinedType],536804194:e=>[e.StartTag,e.EndTag,e.StartPoint,e.StartDirection,e.StartRadiusOfCurvature,e.EndRadiusOfCurvature,e.SegmentLength,e.GravityCenterLineHeight,e.PredefinedType],3869604511:e=>[e.Name,e.Description,e.RelatingApproval,e.RelatedApprovals],3798115385:e=>[e.ProfileType,e.ProfileName,e.OuterCurve],1310608509:e=>[e.ProfileType,e.ProfileName,e.Curve],2705031697:e=>[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves],616511568:e=>{var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.RasterFormat,e.RasterCode]},3150382593:e=>[e.ProfileType,e.ProfileName,e.Curve,e.Thickness],747523909:e=>[e.Source,e.Edition,e.EditionDate,e.Name,e.Description,e.Specification,e.ReferenceTokens],647927063:e=>[e.Location,e.Identification,e.Name,e.ReferencedSource,e.Description,e.Sort],3285139300:e=>[e.ColourList],3264961684:e=>[e.Name],1485152156:e=>[e.ProfileType,e.ProfileName,e.Profiles,e.Label],370225590:e=>[e.CfsFaces],1981873012:e=>[e.CurveOnRelatingElement,e.CurveOnRelatedElement],45288368:e=>[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ],3050246964:e=>[e.Dimensions,e.UnitType,e.Name],2889183280:e=>[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor],2713554722:e=>[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor,e.ConversionOffset],539742890:e=>[e.Name,e.Description,e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource],3800577675:e=>{var t;return[e.Name,e.CurveFont,e.CurveWidth?Mm(e.CurveWidth):null,e.CurveColour,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},1105321065:e=>[e.Name,e.PatternList],2367409068:e=>[e.Name,e.CurveStyleFont,e.CurveFontScaling],3510044353:e=>[e.VisibleSegmentLength,e.InvisibleSegmentLength],3632507154:e=>[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label],1154170062:e=>[e.Identification,e.Name,e.Description,e.Location,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status],770865208:e=>[e.Name,e.Description,e.RelatingDocument,e.RelatedDocuments,e.RelationshipType],3732053477:e=>[e.Location,e.Identification,e.Name,e.Description,e.ReferencedDocument],3900360178:e=>[e.EdgeStart,e.EdgeEnd],476780140:e=>{var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,null==(t=e.SameSense)?void 0:t.toString()]},211053100:e=>[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ActualDate,e.EarlyDate,e.LateDate,e.ScheduleDate],297599258:e=>[e.Name,e.Description,e.Properties],1437805879:e=>[e.Name,e.Description,e.RelatingReference,e.RelatedResourceObjects],2556980723:e=>[e.Bounds],1809719519:e=>{var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},803316827:e=>{var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},3008276851:e=>{var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},4219587988:e=>[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ],738692330:e=>{var t;return[e.Name,e.FillStyles,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},3448662350:e=>[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth],2453401579:e=>[],4142052618:e=>[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView],3590301190:e=>[e.Elements],178086475:e=>[e.PlacementRelTo,e.PlacementLocation,e.PlacementRefDirection],812098782:e=>{var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString()]},3905492369:e=>{var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.URLReference]},3570813810:e=>[e.MappedTo,e.Opacity,e.Colours,e.ColourIndex],1437953363:e=>[e.Maps,e.MappedTo,e.TexCoords],2133299955:e=>[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndex],3741457305:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values],1585845231:e=>[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,Mm(e.LagValue),e.DurationType],1402838566:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity],125510826:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity],2604431987:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation],4266656042:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource],1520743889:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation],3422422726:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle],388784114:e=>[e.PlacementRelTo,e.RelativePlacement,e.CartesianPosition],2624227202:e=>[e.PlacementRelTo,e.RelativePlacement],1008929658:e=>[],2347385850:e=>[e.MappingSource,e.MappingTarget],1838606355:e=>[e.Name,e.Description,e.Category],3708119e3:e=>[e.Name,e.Description,e.Material,e.Fraction,e.Category],2852063980:e=>[e.Name,e.Description,e.MaterialConstituents],2022407955:e=>[e.Name,e.Description,e.Representations,e.RepresentedMaterial],1303795690:e=>[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine,e.ReferenceExtent],3079605661:e=>[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent],3404854881:e=>[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent,e.ForProfileEndSet,e.CardinalEndPoint],3265635763:e=>[e.Name,e.Description,e.Properties,e.Material],853536259:e=>[e.Name,e.Description,e.RelatingMaterial,e.RelatedMaterials,e.MaterialExpression],2998442950:e=>[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label],219451334:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],182550632:e=>{var t;return[e.ProfileType,e.ProfileName,null==(t=e.HorizontalWidths)?void 0:t.toString(),e.Widths,e.Slopes,e.Tags,e.OffsetPoint]},2665983363:e=>[e.CfsFaces],1411181986:e=>[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations],1029017970:e=>{var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeElement,null==(t=e.Orientation)?void 0:t.toString()]},2529465313:e=>[e.ProfileType,e.ProfileName,e.Position],2519244187:e=>[e.EdgeList],3021840470:e=>[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage],597895409:e=>{var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.Width,e.Height,e.ColourComponents,e.Pixel]},2004835150:e=>[e.Location],1663979128:e=>[e.SizeInX,e.SizeInY],2067069095:e=>[],2165702409:e=>[Mm(e.DistanceAlong),e.OffsetLateral,e.OffsetVertical,e.OffsetLongitudinal,e.BasisCurve],4022376103:e=>[e.BasisCurve,e.PointParameter],1423911732:e=>[e.BasisSurface,e.PointParameterU,e.PointParameterV],2924175390:e=>[e.Polygon],2775532180:e=>{var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Position,e.PolygonalBoundary]},3727388367:e=>[e.Name],3778827333:e=>[],1775413392:e=>[e.Name],673634403:e=>[e.Name,e.Description,e.Representations],2802850158:e=>[e.Name,e.Description,e.Properties,e.ProfileDefinition],2598011224:e=>[e.Name,e.Specification],1680319473:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],148025276:e=>[e.Name,e.Description,e.DependingProperty,e.DependantProperty,e.Expression],3357820518:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],1482703590:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],2090586900:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],3615266464:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim],3413951693:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values],1580146022:e=>[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount],478536968:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],2943643501:e=>[e.Name,e.Description,e.RelatedResourceObjects,e.RelatingApproval],1608871552:e=>[e.Name,e.Description,e.RelatingConstraint,e.RelatedResourceObjects],1042787934:e=>{var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ScheduleWork,e.ScheduleUsage,e.ScheduleStart,e.ScheduleFinish,e.ScheduleContour,e.LevelingDelay,null==(t=e.IsOverAllocated)?void 0:t.toString(),e.StatusTime,e.ActualWork,e.ActualUsage,e.ActualStart,e.ActualFinish,e.RemainingWork,e.RemainingUsage,e.Completion]},2778083089:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius],2042790032:e=>[e.SectionType,e.StartProfile,e.EndProfile],4165799628:e=>[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions],1509187699:e=>[e.SpineCurve,e.CrossSections,e.CrossSectionPositions],823603102:e=>[e.Transition],4124623270:e=>[e.SbsmBoundary],3692461612:e=>[e.Name,e.Specification],2609359061:e=>[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ],723233188:e=>[],1595516126:e=>[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ],2668620305:e=>[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ],2473145415:e=>[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ],1973038258:e=>[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion],1597423693:e=>[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ],1190533807:e=>[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment],2233826070:e=>[e.EdgeStart,e.EdgeEnd,e.ParentEdge],2513912981:e=>[],1878645084:e=>[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Mm(e.SpecularHighlight):null,e.ReflectanceMethod],2247615214:e=>[e.SweptArea,e.Position],1260650574:e=>[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam],1096409881:e=>[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam,e.FilletRadius],230924584:e=>[e.SweptCurve,e.Position],3071757647:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope],901063453:e=>[],4282788508:e=>[e.Literal,e.Placement,e.Path],3124975700:e=>[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment],1983826977:e=>[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Mm(e.FontSize)],2715220739:e=>[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset],1628702193:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets],3736923433:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType],2347495698:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag],3698973494:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType],427810014:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope],1417489154:e=>[e.Orientation,e.Magnitude],2759199220:e=>[e.LoopVertex],2543172580:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius],3406155212:e=>{var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},669184980:e=>[e.OuterBoundary,e.InnerBoundaries],3207858831:e=>[e.ProfileType,e.ProfileName,e.Position,e.BottomFlangeWidth,e.OverallDepth,e.WebThickness,e.BottomFlangeThickness,e.BottomFlangeFilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.BottomFlangeEdgeRadius,e.BottomFlangeSlope,e.TopFlangeEdgeRadius,e.TopFlangeSlope],4261334040:e=>[e.Location,e.Axis],3125803723:e=>[e.Location,e.RefDirection],2740243338:e=>[e.Location,e.Axis,e.RefDirection],3425423356:e=>[e.Location,e.Axis,e.RefDirection],2736907675:e=>[e.Operator,e.FirstOperand,e.SecondOperand],4182860854:e=>[],2581212453:e=>[e.Corner,e.XDim,e.YDim,e.ZDim],2713105998:e=>{var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Enclosure]},2898889636:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius],1123145078:e=>[e.Coordinates],574549367:e=>[],1675464909:e=>[e.CoordList,e.TagList],2059837836:e=>[e.CoordList,e.TagList],59481748:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale],3749851601:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale],3486308946:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2],3331915920:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3],1416205885:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3],1383045692:e=>[e.ProfileType,e.ProfileName,e.Position,e.Radius],2205249479:e=>[e.CfsFaces],776857604:e=>[e.Name,e.Red,e.Green,e.Blue],2542286263:e=>[e.Name,e.Specification,e.UsageName,e.HasProperties],2485617015:e=>{var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve]},2574617495:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity],3419103109:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext],1815067380:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],2506170314:e=>[e.Position],2147822146:e=>[e.TreeRootExpression],2601014836:e=>[],2827736869:e=>[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries],2629017746:e=>{var t;return[e.BasisSurface,e.Boundaries,null==(t=e.ImplicitOuter)?void 0:t.toString()]},4212018352:e=>[e.Transition,e.Placement,Mm(e.SegmentStart),Mm(e.SegmentLength),e.ParentCurve],32440307:e=>[e.DirectionRatios],593015953:e=>[e.SweptArea,e.Position,e.Directrix,e.StartParam?Mm(e.StartParam):null,e.EndParam?Mm(e.EndParam):null],1472233963:e=>[e.EdgeList],1883228015:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities],339256511:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2777663545:e=>[e.Position],2835456948:e=>[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2],4024345920:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType],477187591:e=>[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth],2804161546:e=>[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth,e.EndSweptArea],2047409740:e=>[e.FbsmFaces],374418227:e=>[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle],315944413:e=>[e.TilingPattern,e.Tiles,e.TilingScale],2652556860:e=>[e.SweptArea,e.Position,e.Directrix,e.StartParam?Mm(e.StartParam):null,e.EndParam?Mm(e.EndParam):null,e.FixedReference],4238390223:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1268542332:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace,e.PredefinedType],4095422895:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],987898635:e=>[e.Elements],1484403080:e=>[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.FlangeSlope],178912537:e=>[e.CoordIndex],2294589976:e=>[e.CoordIndex,e.InnerCoordIndices],3465909080:e=>[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndices],572779678:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope],428585644:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1281925730:e=>[e.Pnt,e.Dir],1425443689:e=>[e.Outer],3888040117:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],590820931:e=>[e.BasisCurve],3388369263:e=>{var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString()]},3505215534:e=>{var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString(),e.RefDirection]},2485787929:e=>[e.BasisCurve,e.OffsetValues,e.Tag],1682466193:e=>[e.BasisSurface,e.ReferenceCurve],603570806:e=>[e.SizeInX,e.SizeInY,e.Placement],220341763:e=>[e.Position],3381221214:e=>[e.Position,e.CoefficientsX,e.CoefficientsY,e.CoefficientsZ],759155922:e=>[e.Name],2559016684:e=>[e.Name],3967405729:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],569719735:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType],2945172077:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription],4208778838:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],103090709:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext],653396225:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext],871118103:e=>[e.Name,e.Specification,e.UpperBoundValue?Mm(e.UpperBoundValue):null,e.LowerBoundValue?Mm(e.LowerBoundValue):null,e.Unit,e.SetPointValue?Mm(e.SetPointValue):null],4166981789:e=>[e.Name,e.Specification,e.EnumerationValues?e.EnumerationValues.map((e=>Mm(e))):null,e.EnumerationReference],2752243245:e=>[e.Name,e.Specification,e.ListValues?e.ListValues.map((e=>Mm(e))):null,e.Unit],941946838:e=>[e.Name,e.Specification,e.UsageName,e.PropertyReference],1451395588:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties],492091185:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.ApplicableEntity,e.HasPropertyTemplates],3650150729:e=>[e.Name,e.Specification,e.NominalValue?Mm(e.NominalValue):null,e.Unit],110355661:e=>[e.Name,e.Specification,e.DefiningValues?e.DefiningValues.map((e=>Mm(e))):null,e.DefinedValues?e.DefinedValues.map((e=>Mm(e))):null,e.Expression,e.DefiningUnit,e.DefinedUnit,e.CurveInterpolation],3521284610:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],2770003689:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius],2798486643:e=>[e.Position,e.XLength,e.YLength,e.Height],3454111270:e=>{var t,n;return[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,null==(t=e.Usense)?void 0:t.toString(),null==(n=e.Vsense)?void 0:n.toString()]},3765753017:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions],3939117080:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType],1683148259:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole],2495723537:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl],1307041759:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup],1027710054:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup,e.Factor],4278684876:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess],2857406711:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct],205026976:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource],1865459582:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects],4095574036:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval],919958153:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification],2728634034:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint],982818633:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument],3840914261:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary],2655215786:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial],1033248425:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingProfileDef],826625072:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],1204542856:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement],3945020480:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType],4201705270:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement],3190031847:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement],2127690289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity],1638771189:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem],504942748:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint],3678494232:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType],3242617779:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure],886880790:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings],2802773753:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedCoverings],2565941209:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingContext,e.RelatedDefinitions],2551354335:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],693640335:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],1462361463:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingObject],4186316022:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition],307848117:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedPropertySets,e.RelatingTemplate],781010003:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType],3940055652:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement],279856033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement],427948657:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedElement,e.InterferenceGeometry,e.InterferenceSpace,e.InterferenceType,null==(t=e.ImpliedOrder)?void 0:t.toString()]},3268803585:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects],1441486842:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPositioningElement,e.RelatedProducts],750771296:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement],1245217292:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure],4122056220:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType,e.UserDefinedSequenceType],366585022:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings],3451746338:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary],3523091289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary],1521410863:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary,e.CorrespondingBoundary],1401173127:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement],816062949:e=>{var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve,e.ParamLength]},2914609552:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription],1856042241:e=>[e.SweptArea,e.Position,e.Axis,e.Angle],3243963512:e=>[e.SweptArea,e.Position,e.Axis,e.Angle,e.EndSweptArea],4158566097:e=>[e.Position,e.Height,e.BottomRadius],3626867408:e=>[e.Position,e.Height,e.Radius],1862484736:e=>[e.Directrix,e.CrossSections],1290935644:e=>[e.Directrix,e.CrossSections,e.CrossSectionPositions],1356537516:e=>[e.Directrix,e.CrossSectionPositions,e.CrossSections],3663146110:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.PrimaryMeasureType,e.SecondaryMeasureType,e.Enumerators,e.PrimaryUnit,e.SecondaryUnit,e.Expression,e.AccessState],1412071761:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName],710998568:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2706606064:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType],3893378262:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],463610769:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType],2481509218:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName],451544542:e=>[e.Position,e.Radius],4015995234:e=>[e.Position,e.Radius],2735484536:e=>[e.Position],3544373492:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],3136571912:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],530289379:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],3689010777:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],3979015343:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness],2218152070:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness],603775116:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType],4095615324:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],699246055:e=>[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation],2028607225:e=>[e.SweptArea,e.Position,e.Directrix,e.StartParam?Mm(e.StartParam):null,e.EndParam?Mm(e.EndParam):null,e.ReferenceSurface],2809605785:e=>[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth],4124788165:e=>[e.SweptCurve,e.Position,e.AxisPosition],1580310250:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3473067441:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Status,e.WorkMethod,null==(t=e.IsMilestone)?void 0:t.toString(),e.Priority,e.TaskTime,e.PredefinedType]},3206491090:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.WorkMethod],2387106220:e=>{var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString()]},782932809:e=>[e.Position,e.CubicTerm,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm],1935646853:e=>[e.Position,e.MajorRadius,e.MinorRadius],3665877780:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2916149573:e=>{var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Normals,e.CoordIndex,e.PnIndex]},1229763772:e=>{var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Normals,e.CoordIndex,e.PnIndex,e.Flags]},3651464721:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],336235671:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle,e.LiningOffset,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY],512836454:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle],2296667514:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor],1635779807:e=>[e.Outer],2603310189:e=>[e.Outer,e.Voids],1674181508:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType],2887950389:e=>{var t,n,s;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(s=e.SelfIntersect)?void 0:s.toString()]},167062518:e=>{var t,n,s;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(s=e.SelfIntersect)?void 0:s.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec]},1334484129:e=>[e.Position,e.XLength,e.YLength,e.ZLength],3649129432:e=>[e.Operator,e.FirstOperand,e.SecondOperand],1260505505:e=>[],3124254112:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation],1626504194:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2197970202:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2937912522:e=>[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness],3893394355:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3497074424:e=>[e.Position,e.ClothoidConstant],300633059:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3875453745:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.UsageName,e.TemplateType,e.HasPropertyTemplates],3732776249:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},15328376:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},2510884976:e=>[e.Position],2185764099:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],4105962743:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1525564444:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],2559216714:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity],3293443760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification],2000195564:e=>[e.Position,e.CosineTerm,e.ConstantTerm],3895139033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.CostValues,e.CostQuantities],1419761937:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.SubmittedOn,e.UpdateDate],4189326743:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1916426348:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3295246426:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1457835157:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1213902940:e=>[e.Position,e.Radius],1306400036:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],4234616927:e=>[e.SweptArea,e.Position,e.Directrix,e.StartParam?Mm(e.StartParam):null,e.EndParam?Mm(e.EndParam):null,e.FixedReference],3256556792:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3849074793:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2963535650:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY],1714330368:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle],2323601079:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedOperationType]},445594917:e=>[e.Name],4006246654:e=>[e.Name],1758889154:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4123344466:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType],2397081782:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1623761950:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2590856083:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1704287377:e=>[e.Position,e.SemiAxis1,e.SemiAxis2],2107101300:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],132023988:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3174744832:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3390157468:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4148101412:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType,e.EventOccurenceTime],2853485674:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName],807026263:e=>[e.Outer],3737207727:e=>[e.Outer,e.Voids],24185140:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType],1310830890:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType],4228831410:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType],647756555:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2489546625:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2827207264:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2143335405:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1287392070:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3907093117:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3198132628:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3815607619:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1482959167:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1834744321:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1339347760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2297155007:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3009222698:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1893162501:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],263784265:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1509553395:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3493046030:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4230923436:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1594536857:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2898700619:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString(),e.BaseCurve,e.EndPoint]},2706460486:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],1251058090:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1806887404:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2568555532:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3948183225:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2571569899:e=>{var t;return[e.Points,e.Segments?e.Segments.map((e=>Mm(e))):null,null==(t=e.SelfIntersect)?void 0:t.toString()]},3946677679:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3113134337:e=>[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation],2391368822:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue],4288270099:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],679976338:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,null==(t=e.Mountable)?void 0:t.toString()]},3827777499:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1051575348:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1161773419:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2176059722:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],1770583370:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],525669439:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType],976884017:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType],377706215:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength,e.PredefinedType],2108223431:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.NominalLength],1114901282:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3181161470:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1950438474:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],710110818:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],977012517:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],506776471:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4143007308:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType],3588315303:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2837617999:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],514975943:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2382730787:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LifeCyclePhase,e.PredefinedType],3566463478:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle],3327091369:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription],1158309216:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],804291784:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4231323485:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4017108033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2839578677:e=>{var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Faces,e.PnIndex]},3724593414:e=>[e.Points],3740093272:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],1946335990:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],2744685151:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType],2904328755:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription],3651124850:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1842657554:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2250791053:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1763565496:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2893384427:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3992365140:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType],1891881377:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType],2324767716:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1469900589:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],683857671:e=>{var t,n,s;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(s=e.SelfIntersect)?void 0:s.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec,e.WeightsData]},4021432810:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType],3027567501:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade],964333572:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2320036040:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.PredefinedType],2310774935:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((e=>Mm(e))):null],3818125796:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedSurfaceFeatures],160246688:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects],146592293:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType],550521510:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType],2781568857:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1768891740:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2157484638:e=>[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation],3649235739:e=>[e.Position,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm],544395925:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString(),e.BaseCurve,e.EndPoint]},1027922057:e=>[e.Position,e.SepticTerm,e.SexticTerm,e.QuinticTerm,e.QuarticTerm,e.CubicTerm,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm],4074543187:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],33720170:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3599934289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1894708472:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],42703149:e=>[e.Position,e.SineTerm,e.LinearTerm,e.ConstantTerm],4097777520:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress],2533589738:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1072016465:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3856911033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType,e.ElevationWithFlooring],1305183839:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3812236995:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName],3112655638:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1039846685:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],338393293:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],682877961:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},1179482911:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition],1004757350:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},4243806635:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.AxisDirection],214636428:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis],2445595289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis],2757150158:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType],1807405624:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1252848954:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose],2082059205:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},734778138:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.ConditionCoordinateSystem],1235345126:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],2986769608:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,null==(t=e.IsLinear)?void 0:t.toString()]},3657597509:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1975003073:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition],148013059:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],3101698114:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2315554128:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2254336722:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],413509423:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],5716631:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3824725483:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius],2347447852:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType],3081323446:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3663046924:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType],2281632017:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2415094496:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.SheathDiameter],618700268:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1692211062:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2097647324:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1953115116:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3593883385:e=>{var t;return[e.BasisCurve,e.Trim1,e.Trim2,null==(t=e.SenseAgreement)?void 0:t.toString(),e.MasterRepresentation]},1600972822:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1911125066:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],728799441:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],840318589:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1530820697:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3956297820:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2391383451:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3313531582:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2769231204:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],926996030:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1898987631:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1133259667:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4009809668:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.PartitioningType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedPartitioningType]},4088093105:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.WorkingTimes,e.ExceptionTimes,e.PredefinedType],1028945134:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime],4218914973:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType],3342526732:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType],1033361043:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName],3821786052:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription],1411407467:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3352864051:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1871374353:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4266260250:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.RailHeadDistance],1545765605:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],317615605:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.DesignParameters],1662888072:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],3460190687:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue],1532957894:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1967976161:e=>{var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString()]},2461110595:e=>{var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec]},819618141:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3649138523:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],231477066:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1136057603:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},644574406:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType],963979645:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType],4031249490:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress],2979338954:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],39481116:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1909888760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1177604601:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName],1876633798:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3862327254:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName],2188180465:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],395041908:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3293546465:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2674252688:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1285652485:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3203706013:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2951183804:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3296154744:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2611217952:e=>[e.Position,e.Radius],1677625105:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2301859152:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],843113511:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],400855858:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3850581409:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2816379211:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3898045240:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1060000209:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],488727124:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],2940368186:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],335055490:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2954562838:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1502416096:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1973544240:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3495092785:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3961806047:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3426335179:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1335981549:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2635815018:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],479945903:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1599208980:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2063403501:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1945004755:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3040386961:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3041715199:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection,e.PredefinedType,e.SystemType],3205830791:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType],395920057:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType],869906466:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3760055223:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2030761528:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3071239417:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1077100507:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3376911765:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],663422040:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2417008758:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3277789161:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2142170206:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1534661035:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1217240411:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],712377611:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1658829314:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2814081492:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3747195512:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],484807127:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1209101575:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType],346874300:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1810631287:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4222183408:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2058353004:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4278956645:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4037862832:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2188021234:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3132237377:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],987401354:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],707683696:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2223149337:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3508470533:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],900683007:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2713699986:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3009204131:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes,e.PredefinedType],3319311131:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2068733104:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4175244083:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2176052936:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2696325953:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,null==(t=e.Mountable)?void 0:t.toString()]},76236018:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],629592764:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1154579445:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],1638804497:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1437502449:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1073191201:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2078563270:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],234836483:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2474470126:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2182337498:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],144952367:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3694346114:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1383356374:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1687234759:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType],310824031:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3612865200:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3171933400:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],738039164:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],655969474:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],90941305:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3290496277:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2262370178:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3024970846:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3283111854:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1232101972:e=>{var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec,e.WeightsData]},3798194928:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],979691226:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.PredefinedType,e.BarSurface],2572171363:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarSurface,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((e=>Mm(e))):null],2016517767:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3053780830:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1783015770:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1329646415:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],991950508:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1529196076:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3420628829:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1999602285:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1404847402:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],331165859:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4252922144:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRisers,e.NumberOfTreads,e.RiserHeight,e.TreadLength,e.PredefinedType],2515109513:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults,e.SharedPlacement],385403989:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose,e.SelfWeightCoefficients],1621171031:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1162798199:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],812556717:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3425753595:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3825984169:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1620046519:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3026737570:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3179687236:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4292641817:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4207607924:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2391406946:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3512223829:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4237592921:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3304561284:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType],2874132201:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1634111441:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],177149247:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2056796094:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3001207471:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],325726236:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType],277319702:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],753842376:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4196446775:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],32344328:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3314249567:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1095909175:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2938176219:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],635142910:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3758799889:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1051757585:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4217484030:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3999819293:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3902619387:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],639361253:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3221913625:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3571504051:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2272882330:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],578613899:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3460952963:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4136498852:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3640358203:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4074379575:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3693000487:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1052013943:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],562808652:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType],1062813311:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],342316401:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3518393246:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1360408905:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1904799276:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],862014818:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3310460725:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],24726584:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],264262732:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],402227799:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1003880860:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3415622556:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],819412036:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1426591983:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],182646315:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2680139844:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1971632696:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2295281155:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4086658281:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],630975310:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4288193352:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3087945054:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],25142252:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},Pm[3]={3699917729:e=>new r.IfcAbsorbedDoseMeasure(e),4182062534:e=>new r.IfcAccelerationMeasure(e),360377573:e=>new r.IfcAmountOfSubstanceMeasure(e),632304761:e=>new r.IfcAngularVelocityMeasure(e),3683503648:e=>new r.IfcArcIndex(e.map((e=>e.value))),1500781891:e=>new r.IfcAreaDensityMeasure(e),2650437152:e=>new r.IfcAreaMeasure(e),2314439260:e=>new r.IfcBinary(e),2735952531:e=>new r.IfcBoolean(e),1867003952:e=>new r.IfcBoxAlignment(e),1683019596:e=>new r.IfcCardinalPointReference(e),2991860651:e=>new r.IfcComplexNumber(e.map((e=>e.value))),3812528620:e=>new r.IfcCompoundPlaneAngleMeasure(e.map((e=>e.value))),3238673880:e=>new r.IfcContextDependentMeasure(e),1778710042:e=>new r.IfcCountMeasure(e),94842927:e=>new r.IfcCurvatureMeasure(e),937566702:e=>new r.IfcDate(e),2195413836:e=>new r.IfcDateTime(e),86635668:e=>new r.IfcDayInMonthNumber(e),3701338814:e=>new r.IfcDayInWeekNumber(e),1514641115:e=>new r.IfcDescriptiveMeasure(e),4134073009:e=>new r.IfcDimensionCount(e),524656162:e=>new r.IfcDoseEquivalentMeasure(e),2541165894:e=>new r.IfcDuration(e),69416015:e=>new r.IfcDynamicViscosityMeasure(e),1827137117:e=>new r.IfcElectricCapacitanceMeasure(e),3818826038:e=>new r.IfcElectricChargeMeasure(e),2093906313:e=>new r.IfcElectricConductanceMeasure(e),3790457270:e=>new r.IfcElectricCurrentMeasure(e),2951915441:e=>new r.IfcElectricResistanceMeasure(e),2506197118:e=>new r.IfcElectricVoltageMeasure(e),2078135608:e=>new r.IfcEnergyMeasure(e),1102727119:e=>new r.IfcFontStyle(e),2715512545:e=>new r.IfcFontVariant(e),2590844177:e=>new r.IfcFontWeight(e),1361398929:e=>new r.IfcForceMeasure(e),3044325142:e=>new r.IfcFrequencyMeasure(e),3064340077:e=>new r.IfcGloballyUniqueId(e),3113092358:e=>new r.IfcHeatFluxDensityMeasure(e),1158859006:e=>new r.IfcHeatingValueMeasure(e),983778844:e=>new r.IfcIdentifier(e),3358199106:e=>new r.IfcIlluminanceMeasure(e),2679005408:e=>new r.IfcInductanceMeasure(e),1939436016:e=>new r.IfcInteger(e),3809634241:e=>new r.IfcIntegerCountRateMeasure(e),3686016028:e=>new r.IfcIonConcentrationMeasure(e),3192672207:e=>new r.IfcIsothermalMoistureCapacityMeasure(e),2054016361:e=>new r.IfcKinematicViscosityMeasure(e),3258342251:e=>new r.IfcLabel(e),1275358634:e=>new r.IfcLanguageId(e),1243674935:e=>new r.IfcLengthMeasure(e),1774176899:e=>new r.IfcLineIndex(e.map((e=>e.value))),191860431:e=>new r.IfcLinearForceMeasure(e),2128979029:e=>new r.IfcLinearMomentMeasure(e),1307019551:e=>new r.IfcLinearStiffnessMeasure(e),3086160713:e=>new r.IfcLinearVelocityMeasure(e),503418787:e=>new r.IfcLogical(e),2095003142:e=>new r.IfcLuminousFluxMeasure(e),2755797622:e=>new r.IfcLuminousIntensityDistributionMeasure(e),151039812:e=>new r.IfcLuminousIntensityMeasure(e),286949696:e=>new r.IfcMagneticFluxDensityMeasure(e),2486716878:e=>new r.IfcMagneticFluxMeasure(e),1477762836:e=>new r.IfcMassDensityMeasure(e),4017473158:e=>new r.IfcMassFlowRateMeasure(e),3124614049:e=>new r.IfcMassMeasure(e),3531705166:e=>new r.IfcMassPerLengthMeasure(e),3341486342:e=>new r.IfcModulusOfElasticityMeasure(e),2173214787:e=>new r.IfcModulusOfLinearSubgradeReactionMeasure(e),1052454078:e=>new r.IfcModulusOfRotationalSubgradeReactionMeasure(e),1753493141:e=>new r.IfcModulusOfSubgradeReactionMeasure(e),3177669450:e=>new r.IfcMoistureDiffusivityMeasure(e),1648970520:e=>new r.IfcMolecularWeightMeasure(e),3114022597:e=>new r.IfcMomentOfInertiaMeasure(e),2615040989:e=>new r.IfcMonetaryMeasure(e),765770214:e=>new r.IfcMonthInYearNumber(e),525895558:e=>new r.IfcNonNegativeLengthMeasure(e),2095195183:e=>new r.IfcNormalisedRatioMeasure(e),2395907400:e=>new r.IfcNumericMeasure(e),929793134:e=>new r.IfcPHMeasure(e),2260317790:e=>new r.IfcParameterValue(e),2642773653:e=>new r.IfcPlanarForceMeasure(e),4042175685:e=>new r.IfcPlaneAngleMeasure(e),1790229001:e=>new r.IfcPositiveInteger(e),2815919920:e=>new r.IfcPositiveLengthMeasure(e),3054510233:e=>new r.IfcPositivePlaneAngleMeasure(e),1245737093:e=>new r.IfcPositiveRatioMeasure(e),1364037233:e=>new r.IfcPowerMeasure(e),2169031380:e=>new r.IfcPresentableText(e),3665567075:e=>new r.IfcPressureMeasure(e),2798247006:e=>new r.IfcPropertySetDefinitionSet(e.map((e=>e.value))),3972513137:e=>new r.IfcRadioActivityMeasure(e),96294661:e=>new r.IfcRatioMeasure(e),200335297:e=>new r.IfcReal(e),2133746277:e=>new r.IfcRotationalFrequencyMeasure(e),1755127002:e=>new r.IfcRotationalMassMeasure(e),3211557302:e=>new r.IfcRotationalStiffnessMeasure(e),3467162246:e=>new r.IfcSectionModulusMeasure(e),2190458107:e=>new r.IfcSectionalAreaIntegralMeasure(e),408310005:e=>new r.IfcShearModulusMeasure(e),3471399674:e=>new r.IfcSolidAngleMeasure(e),4157543285:e=>new r.IfcSoundPowerLevelMeasure(e),846465480:e=>new r.IfcSoundPowerMeasure(e),3457685358:e=>new r.IfcSoundPressureLevelMeasure(e),993287707:e=>new r.IfcSoundPressureMeasure(e),3477203348:e=>new r.IfcSpecificHeatCapacityMeasure(e),2757832317:e=>new r.IfcSpecularExponent(e),361837227:e=>new r.IfcSpecularRoughness(e),58845555:e=>new r.IfcTemperatureGradientMeasure(e),1209108979:e=>new r.IfcTemperatureRateOfChangeMeasure(e),2801250643:e=>new r.IfcText(e),1460886941:e=>new r.IfcTextAlignment(e),3490877962:e=>new r.IfcTextDecoration(e),603696268:e=>new r.IfcTextFontName(e),296282323:e=>new r.IfcTextTransformation(e),232962298:e=>new r.IfcThermalAdmittanceMeasure(e),2645777649:e=>new r.IfcThermalConductivityMeasure(e),2281867870:e=>new r.IfcThermalExpansionCoefficientMeasure(e),857959152:e=>new r.IfcThermalResistanceMeasure(e),2016195849:e=>new r.IfcThermalTransmittanceMeasure(e),743184107:e=>new r.IfcThermodynamicTemperatureMeasure(e),4075327185:e=>new r.IfcTime(e),2726807636:e=>new r.IfcTimeMeasure(e),2591213694:e=>new r.IfcTimeStamp(e),1278329552:e=>new r.IfcTorqueMeasure(e),950732822:e=>new r.IfcURIReference(e),3345633955:e=>new r.IfcVaporPermeabilityMeasure(e),3458127941:e=>new r.IfcVolumeMeasure(e),2593997549:e=>new r.IfcVolumetricFlowRateMeasure(e),51269191:e=>new r.IfcWarpingConstantMeasure(e),1718600412:e=>new r.IfcWarpingMomentMeasure(e)},function(e){e.IfcAbsorbedDoseMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAccelerationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAmountOfSubstanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAngularVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcArcIndex=class{constructor(e){this.value=e}},e.IfcAreaDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAreaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcBinary=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcBoolean=class{constructor(e){this.type=3,this.value=\"true\"==e}},e.IfcBoxAlignment=class{constructor(e){this.value=e,this.type=1}},e.IfcCardinalPointReference=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcComplexNumber=class{constructor(e){this.value=e}},e.IfcCompoundPlaneAngleMeasure=class{constructor(e){this.value=e}},e.IfcContextDependentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcCountMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcCurvatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDate=class{constructor(e){this.value=e,this.type=1}},e.IfcDateTime=class{constructor(e){this.value=e,this.type=1}},e.IfcDayInMonthNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDayInWeekNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDescriptiveMeasure=class{constructor(e){this.value=e,this.type=1}};class t{constructor(e){this.type=4,this.value=parseFloat(e)}}e.IfcDimensionCount=t,e.IfcDoseEquivalentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDuration=class{constructor(e){this.value=e,this.type=1}},e.IfcDynamicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricCapacitanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricChargeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricConductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricCurrentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricVoltageMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcEnergyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcFontStyle=class{constructor(e){this.value=e,this.type=1}},e.IfcFontVariant=class{constructor(e){this.value=e,this.type=1}},e.IfcFontWeight=class{constructor(e){this.value=e,this.type=1}},e.IfcForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcGloballyUniqueId=class{constructor(e){this.value=e,this.type=1}},e.IfcHeatFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcHeatingValueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIdentifier=class{constructor(e){this.value=e,this.type=1}},e.IfcIlluminanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcInductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIntegerCountRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIonConcentrationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIsothermalMoistureCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcKinematicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLabel=class{constructor(e){this.value=e,this.type=1}},e.IfcLanguageId=class{constructor(e){this.value=e,this.type=1}},e.IfcLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLineIndex=class{constructor(e){this.value=e}},e.IfcLinearForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLogical=class{constructor(e){this.type=3,this.value=\"true\"==e}},e.IfcLuminousFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLuminousIntensityDistributionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLuminousIntensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMagneticFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMagneticFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassPerLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfElasticityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfLinearSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfRotationalSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMoistureDiffusivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMolecularWeightMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMomentOfInertiaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMonetaryMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMonthInYearNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcNonNegativeLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcNormalisedRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcNumericMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPHMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcParameterValue=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPlanarForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositiveInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositiveLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositivePlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositiveRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPresentableText=class{constructor(e){this.value=e,this.type=1}},e.IfcPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPropertySetDefinitionSet=class{constructor(e){this.value=e}},e.IfcRadioActivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcReal=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSectionModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSectionalAreaIntegralMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcShearModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSolidAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPowerLevelMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPressureLevelMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecificHeatCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecularExponent=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecularRoughness=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTemperatureGradientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTemperatureRateOfChangeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcText=class{constructor(e){this.value=e,this.type=1}},e.IfcTextAlignment=class{constructor(e){this.value=e,this.type=1}},e.IfcTextDecoration=class{constructor(e){this.value=e,this.type=1}},e.IfcTextFontName=class{constructor(e){this.value=e,this.type=1}},e.IfcTextTransformation=class{constructor(e){this.value=e,this.type=1}},e.IfcThermalAdmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalConductivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalExpansionCoefficientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalTransmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermodynamicTemperatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTime=class{constructor(e){this.value=e,this.type=1}},e.IfcTimeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTimeStamp=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTorqueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcURIReference=class{constructor(e){this.value=e,this.type=1}},e.IfcVaporPermeabilityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcVolumeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcVolumetricFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcWarpingConstantMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcWarpingMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};class n{}n.EMAIL={type:3,value:\"EMAIL\"},n.FAX={type:3,value:\"FAX\"},n.PHONE={type:3,value:\"PHONE\"},n.POST={type:3,value:\"POST\"},n.VERBAL={type:3,value:\"VERBAL\"},n.USERDEFINED={type:3,value:\"USERDEFINED\"},n.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcActionRequestTypeEnum=n;class s{}s.BRAKES={type:3,value:\"BRAKES\"},s.BUOYANCY={type:3,value:\"BUOYANCY\"},s.COMPLETION_G1={type:3,value:\"COMPLETION_G1\"},s.CREEP={type:3,value:\"CREEP\"},s.CURRENT={type:3,value:\"CURRENT\"},s.DEAD_LOAD_G={type:3,value:\"DEAD_LOAD_G\"},s.EARTHQUAKE_E={type:3,value:\"EARTHQUAKE_E\"},s.ERECTION={type:3,value:\"ERECTION\"},s.FIRE={type:3,value:\"FIRE\"},s.ICE={type:3,value:\"ICE\"},s.IMPACT={type:3,value:\"IMPACT\"},s.IMPULSE={type:3,value:\"IMPULSE\"},s.LACK_OF_FIT={type:3,value:\"LACK_OF_FIT\"},s.LIVE_LOAD_Q={type:3,value:\"LIVE_LOAD_Q\"},s.PRESTRESSING_P={type:3,value:\"PRESTRESSING_P\"},s.PROPPING={type:3,value:\"PROPPING\"},s.RAIN={type:3,value:\"RAIN\"},s.SETTLEMENT_U={type:3,value:\"SETTLEMENT_U\"},s.SHRINKAGE={type:3,value:\"SHRINKAGE\"},s.SNOW_S={type:3,value:\"SNOW_S\"},s.SYSTEM_IMPERFECTION={type:3,value:\"SYSTEM_IMPERFECTION\"},s.TEMPERATURE_T={type:3,value:\"TEMPERATURE_T\"},s.TRANSPORT={type:3,value:\"TRANSPORT\"},s.WAVE={type:3,value:\"WAVE\"},s.WIND_W={type:3,value:\"WIND_W\"},s.USERDEFINED={type:3,value:\"USERDEFINED\"},s.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcActionSourceTypeEnum=s;class i{}i.EXTRAORDINARY_A={type:3,value:\"EXTRAORDINARY_A\"},i.PERMANENT_G={type:3,value:\"PERMANENT_G\"},i.VARIABLE_Q={type:3,value:\"VARIABLE_Q\"},i.USERDEFINED={type:3,value:\"USERDEFINED\"},i.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcActionTypeEnum=i;class a{}a.ELECTRICACTUATOR={type:3,value:\"ELECTRICACTUATOR\"},a.HANDOPERATEDACTUATOR={type:3,value:\"HANDOPERATEDACTUATOR\"},a.HYDRAULICACTUATOR={type:3,value:\"HYDRAULICACTUATOR\"},a.PNEUMATICACTUATOR={type:3,value:\"PNEUMATICACTUATOR\"},a.THERMOSTATICACTUATOR={type:3,value:\"THERMOSTATICACTUATOR\"},a.USERDEFINED={type:3,value:\"USERDEFINED\"},a.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcActuatorTypeEnum=a;class l{}l.DISTRIBUTIONPOINT={type:3,value:\"DISTRIBUTIONPOINT\"},l.HOME={type:3,value:\"HOME\"},l.OFFICE={type:3,value:\"OFFICE\"},l.SITE={type:3,value:\"SITE\"},l.USERDEFINED={type:3,value:\"USERDEFINED\"},e.IfcAddressTypeEnum=l;class r{}r.CONSTANTFLOW={type:3,value:\"CONSTANTFLOW\"},r.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:\"VARIABLEFLOWPRESSUREDEPENDANT\"},r.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:\"VARIABLEFLOWPRESSUREINDEPENDANT\"},r.USERDEFINED={type:3,value:\"USERDEFINED\"},r.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAirTerminalBoxTypeEnum=r;class o{}o.DIFFUSER={type:3,value:\"DIFFUSER\"},o.GRILLE={type:3,value:\"GRILLE\"},o.LOUVRE={type:3,value:\"LOUVRE\"},o.REGISTER={type:3,value:\"REGISTER\"},o.USERDEFINED={type:3,value:\"USERDEFINED\"},o.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAirTerminalTypeEnum=o;class c{}c.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:\"FIXEDPLATECOUNTERFLOWEXCHANGER\"},c.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:\"FIXEDPLATECROSSFLOWEXCHANGER\"},c.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:\"FIXEDPLATEPARALLELFLOWEXCHANGER\"},c.HEATPIPE={type:3,value:\"HEATPIPE\"},c.ROTARYWHEEL={type:3,value:\"ROTARYWHEEL\"},c.RUNAROUNDCOILLOOP={type:3,value:\"RUNAROUNDCOILLOOP\"},c.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:\"THERMOSIPHONCOILTYPEHEATEXCHANGERS\"},c.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:\"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS\"},c.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:\"TWINTOWERENTHALPYRECOVERYLOOPS\"},c.USERDEFINED={type:3,value:\"USERDEFINED\"},c.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAirToAirHeatRecoveryTypeEnum=c;class u{}u.BELL={type:3,value:\"BELL\"},u.BREAKGLASSBUTTON={type:3,value:\"BREAKGLASSBUTTON\"},u.LIGHT={type:3,value:\"LIGHT\"},u.MANUALPULLBOX={type:3,value:\"MANUALPULLBOX\"},u.RAILWAYCROCODILE={type:3,value:\"RAILWAYCROCODILE\"},u.RAILWAYDETONATOR={type:3,value:\"RAILWAYDETONATOR\"},u.SIREN={type:3,value:\"SIREN\"},u.WHISTLE={type:3,value:\"WHISTLE\"},u.USERDEFINED={type:3,value:\"USERDEFINED\"},u.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAlarmTypeEnum=u;class p{}p.BLOSSCURVE={type:3,value:\"BLOSSCURVE\"},p.CONSTANTCANT={type:3,value:\"CONSTANTCANT\"},p.COSINECURVE={type:3,value:\"COSINECURVE\"},p.HELMERTCURVE={type:3,value:\"HELMERTCURVE\"},p.LINEARTRANSITION={type:3,value:\"LINEARTRANSITION\"},p.SINECURVE={type:3,value:\"SINECURVE\"},p.VIENNESEBEND={type:3,value:\"VIENNESEBEND\"},e.IfcAlignmentCantSegmentTypeEnum=p;class h{}h.BLOSSCURVE={type:3,value:\"BLOSSCURVE\"},h.CIRCULARARC={type:3,value:\"CIRCULARARC\"},h.CLOTHOID={type:3,value:\"CLOTHOID\"},h.COSINECURVE={type:3,value:\"COSINECURVE\"},h.CUBIC={type:3,value:\"CUBIC\"},h.HELMERTCURVE={type:3,value:\"HELMERTCURVE\"},h.LINE={type:3,value:\"LINE\"},h.SINECURVE={type:3,value:\"SINECURVE\"},h.VIENNESEBEND={type:3,value:\"VIENNESEBEND\"},e.IfcAlignmentHorizontalSegmentTypeEnum=h;class d{}d.USERDEFINED={type:3,value:\"USERDEFINED\"},d.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAlignmentTypeEnum=d;class f{}f.CIRCULARARC={type:3,value:\"CIRCULARARC\"},f.CLOTHOID={type:3,value:\"CLOTHOID\"},f.CONSTANTGRADIENT={type:3,value:\"CONSTANTGRADIENT\"},f.PARABOLICARC={type:3,value:\"PARABOLICARC\"},e.IfcAlignmentVerticalSegmentTypeEnum=f;class I{}I.IN_PLANE_LOADING_2D={type:3,value:\"IN_PLANE_LOADING_2D\"},I.LOADING_3D={type:3,value:\"LOADING_3D\"},I.OUT_PLANE_LOADING_2D={type:3,value:\"OUT_PLANE_LOADING_2D\"},I.USERDEFINED={type:3,value:\"USERDEFINED\"},I.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAnalysisModelTypeEnum=I;class m{}m.FIRST_ORDER_THEORY={type:3,value:\"FIRST_ORDER_THEORY\"},m.FULL_NONLINEAR_THEORY={type:3,value:\"FULL_NONLINEAR_THEORY\"},m.SECOND_ORDER_THEORY={type:3,value:\"SECOND_ORDER_THEORY\"},m.THIRD_ORDER_THEORY={type:3,value:\"THIRD_ORDER_THEORY\"},m.USERDEFINED={type:3,value:\"USERDEFINED\"},m.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAnalysisTheoryTypeEnum=m;class y{}y.ASBUILTAREA={type:3,value:\"ASBUILTAREA\"},y.ASBUILTLINE={type:3,value:\"ASBUILTLINE\"},y.ASBUILTPOINT={type:3,value:\"ASBUILTPOINT\"},y.ASSUMEDAREA={type:3,value:\"ASSUMEDAREA\"},y.ASSUMEDLINE={type:3,value:\"ASSUMEDLINE\"},y.ASSUMEDPOINT={type:3,value:\"ASSUMEDPOINT\"},y.NON_PHYSICAL_SIGNAL={type:3,value:\"NON_PHYSICAL_SIGNAL\"},y.SUPERELEVATIONEVENT={type:3,value:\"SUPERELEVATIONEVENT\"},y.WIDTHEVENT={type:3,value:\"WIDTHEVENT\"},y.USERDEFINED={type:3,value:\"USERDEFINED\"},y.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAnnotationTypeEnum=y;class v{}v.ADD={type:3,value:\"ADD\"},v.DIVIDE={type:3,value:\"DIVIDE\"},v.MULTIPLY={type:3,value:\"MULTIPLY\"},v.SUBTRACT={type:3,value:\"SUBTRACT\"},e.IfcArithmeticOperatorEnum=v;class w{}w.FACTORY={type:3,value:\"FACTORY\"},w.SITE={type:3,value:\"SITE\"},w.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAssemblyPlaceEnum=w;class T{}T.AMPLIFIER={type:3,value:\"AMPLIFIER\"},T.CAMERA={type:3,value:\"CAMERA\"},T.COMMUNICATIONTERMINAL={type:3,value:\"COMMUNICATIONTERMINAL\"},T.DISPLAY={type:3,value:\"DISPLAY\"},T.MICROPHONE={type:3,value:\"MICROPHONE\"},T.PLAYER={type:3,value:\"PLAYER\"},T.PROJECTOR={type:3,value:\"PROJECTOR\"},T.RECEIVER={type:3,value:\"RECEIVER\"},T.RECORDINGEQUIPMENT={type:3,value:\"RECORDINGEQUIPMENT\"},T.SPEAKER={type:3,value:\"SPEAKER\"},T.SWITCHER={type:3,value:\"SWITCHER\"},T.TELEPHONE={type:3,value:\"TELEPHONE\"},T.TUNER={type:3,value:\"TUNER\"},T.USERDEFINED={type:3,value:\"USERDEFINED\"},T.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcAudioVisualApplianceTypeEnum=T;class E{}E.CIRCULAR_ARC={type:3,value:\"CIRCULAR_ARC\"},E.ELLIPTIC_ARC={type:3,value:\"ELLIPTIC_ARC\"},E.HYPERBOLIC_ARC={type:3,value:\"HYPERBOLIC_ARC\"},E.PARABOLIC_ARC={type:3,value:\"PARABOLIC_ARC\"},E.POLYLINE_FORM={type:3,value:\"POLYLINE_FORM\"},E.UNSPECIFIED={type:3,value:\"UNSPECIFIED\"},e.IfcBSplineCurveForm=E;class g{}g.CONICAL_SURF={type:3,value:\"CONICAL_SURF\"},g.CYLINDRICAL_SURF={type:3,value:\"CYLINDRICAL_SURF\"},g.GENERALISED_CONE={type:3,value:\"GENERALISED_CONE\"},g.PLANE_SURF={type:3,value:\"PLANE_SURF\"},g.QUADRIC_SURF={type:3,value:\"QUADRIC_SURF\"},g.RULED_SURF={type:3,value:\"RULED_SURF\"},g.SPHERICAL_SURF={type:3,value:\"SPHERICAL_SURF\"},g.SURF_OF_LINEAR_EXTRUSION={type:3,value:\"SURF_OF_LINEAR_EXTRUSION\"},g.SURF_OF_REVOLUTION={type:3,value:\"SURF_OF_REVOLUTION\"},g.TOROIDAL_SURF={type:3,value:\"TOROIDAL_SURF\"},g.UNSPECIFIED={type:3,value:\"UNSPECIFIED\"},e.IfcBSplineSurfaceForm=g;class R{}R.BEAM={type:3,value:\"BEAM\"},R.CORNICE={type:3,value:\"CORNICE\"},R.DIAPHRAGM={type:3,value:\"DIAPHRAGM\"},R.EDGEBEAM={type:3,value:\"EDGEBEAM\"},R.GIRDER_SEGMENT={type:3,value:\"GIRDER_SEGMENT\"},R.HATSTONE={type:3,value:\"HATSTONE\"},R.HOLLOWCORE={type:3,value:\"HOLLOWCORE\"},R.JOIST={type:3,value:\"JOIST\"},R.LINTEL={type:3,value:\"LINTEL\"},R.PIERCAP={type:3,value:\"PIERCAP\"},R.SPANDREL={type:3,value:\"SPANDREL\"},R.T_BEAM={type:3,value:\"T_BEAM\"},R.USERDEFINED={type:3,value:\"USERDEFINED\"},R.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBeamTypeEnum=R;class D{}D.FIXED_MOVEMENT={type:3,value:\"FIXED_MOVEMENT\"},D.FREE_MOVEMENT={type:3,value:\"FREE_MOVEMENT\"},D.GUIDED_LONGITUDINAL={type:3,value:\"GUIDED_LONGITUDINAL\"},D.GUIDED_TRANSVERSAL={type:3,value:\"GUIDED_TRANSVERSAL\"},D.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBearingTypeDisplacementEnum=D;class S{}S.CYLINDRICAL={type:3,value:\"CYLINDRICAL\"},S.DISK={type:3,value:\"DISK\"},S.ELASTOMERIC={type:3,value:\"ELASTOMERIC\"},S.GUIDE={type:3,value:\"GUIDE\"},S.POT={type:3,value:\"POT\"},S.ROCKER={type:3,value:\"ROCKER\"},S.ROLLER={type:3,value:\"ROLLER\"},S.SPHERICAL={type:3,value:\"SPHERICAL\"},S.USERDEFINED={type:3,value:\"USERDEFINED\"},S.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBearingTypeEnum=S;class b{}b.EQUALTO={type:3,value:\"EQUALTO\"},b.GREATERTHAN={type:3,value:\"GREATERTHAN\"},b.GREATERTHANOREQUALTO={type:3,value:\"GREATERTHANOREQUALTO\"},b.INCLUDEDIN={type:3,value:\"INCLUDEDIN\"},b.INCLUDES={type:3,value:\"INCLUDES\"},b.LESSTHAN={type:3,value:\"LESSTHAN\"},b.LESSTHANOREQUALTO={type:3,value:\"LESSTHANOREQUALTO\"},b.NOTEQUALTO={type:3,value:\"NOTEQUALTO\"},b.NOTINCLUDEDIN={type:3,value:\"NOTINCLUDEDIN\"},b.NOTINCLUDES={type:3,value:\"NOTINCLUDES\"},e.IfcBenchmarkEnum=b;class N{}N.STEAM={type:3,value:\"STEAM\"},N.WATER={type:3,value:\"WATER\"},N.USERDEFINED={type:3,value:\"USERDEFINED\"},N.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBoilerTypeEnum=N;class O{}O.DIFFERENCE={type:3,value:\"DIFFERENCE\"},O.INTERSECTION={type:3,value:\"INTERSECTION\"},O.UNION={type:3,value:\"UNION\"},e.IfcBooleanOperator=O;class A{}A.ABUTMENT={type:3,value:\"ABUTMENT\"},A.DECK={type:3,value:\"DECK\"},A.DECK_SEGMENT={type:3,value:\"DECK_SEGMENT\"},A.FOUNDATION={type:3,value:\"FOUNDATION\"},A.PIER={type:3,value:\"PIER\"},A.PIER_SEGMENT={type:3,value:\"PIER_SEGMENT\"},A.PYLON={type:3,value:\"PYLON\"},A.SUBSTRUCTURE={type:3,value:\"SUBSTRUCTURE\"},A.SUPERSTRUCTURE={type:3,value:\"SUPERSTRUCTURE\"},A.SURFACESTRUCTURE={type:3,value:\"SURFACESTRUCTURE\"},A.USERDEFINED={type:3,value:\"USERDEFINED\"},A.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBridgePartTypeEnum=A;class x{}x.ARCHED={type:3,value:\"ARCHED\"},x.CABLE_STAYED={type:3,value:\"CABLE_STAYED\"},x.CANTILEVER={type:3,value:\"CANTILEVER\"},x.CULVERT={type:3,value:\"CULVERT\"},x.FRAMEWORK={type:3,value:\"FRAMEWORK\"},x.GIRDER={type:3,value:\"GIRDER\"},x.SUSPENSION={type:3,value:\"SUSPENSION\"},x.TRUSS={type:3,value:\"TRUSS\"},x.USERDEFINED={type:3,value:\"USERDEFINED\"},x.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBridgeTypeEnum=x;class C{}C.APRON={type:3,value:\"APRON\"},C.ARMOURUNIT={type:3,value:\"ARMOURUNIT\"},C.INSULATION={type:3,value:\"INSULATION\"},C.PRECASTPANEL={type:3,value:\"PRECASTPANEL\"},C.SAFETYCAGE={type:3,value:\"SAFETYCAGE\"},C.USERDEFINED={type:3,value:\"USERDEFINED\"},C.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBuildingElementPartTypeEnum=C;class L{}L.COMPLEX={type:3,value:\"COMPLEX\"},L.ELEMENT={type:3,value:\"ELEMENT\"},L.PARTIAL={type:3,value:\"PARTIAL\"},L.USERDEFINED={type:3,value:\"USERDEFINED\"},L.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBuildingElementProxyTypeEnum=L;class P{}P.EROSIONPREVENTION={type:3,value:\"EROSIONPREVENTION\"},P.FENESTRATION={type:3,value:\"FENESTRATION\"},P.FOUNDATION={type:3,value:\"FOUNDATION\"},P.LOADBEARING={type:3,value:\"LOADBEARING\"},P.OUTERSHELL={type:3,value:\"OUTERSHELL\"},P.PRESTRESSING={type:3,value:\"PRESTRESSING\"},P.REINFORCING={type:3,value:\"REINFORCING\"},P.SHADING={type:3,value:\"SHADING\"},P.TRANSPORT={type:3,value:\"TRANSPORT\"},P.USERDEFINED={type:3,value:\"USERDEFINED\"},P.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBuildingSystemTypeEnum=P;class q{}q.EROSIONPREVENTION={type:3,value:\"EROSIONPREVENTION\"},q.FENESTRATION={type:3,value:\"FENESTRATION\"},q.FOUNDATION={type:3,value:\"FOUNDATION\"},q.LOADBEARING={type:3,value:\"LOADBEARING\"},q.MOORING={type:3,value:\"MOORING\"},q.OUTERSHELL={type:3,value:\"OUTERSHELL\"},q.PRESTRESSING={type:3,value:\"PRESTRESSING\"},q.RAILWAYLINE={type:3,value:\"RAILWAYLINE\"},q.RAILWAYTRACK={type:3,value:\"RAILWAYTRACK\"},q.REINFORCING={type:3,value:\"REINFORCING\"},q.SHADING={type:3,value:\"SHADING\"},q.TRACKCIRCUIT={type:3,value:\"TRACKCIRCUIT\"},q.TRANSPORT={type:3,value:\"TRANSPORT\"},q.USERDEFINED={type:3,value:\"USERDEFINED\"},q.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBuiltSystemTypeEnum=q;class _{}_.USERDEFINED={type:3,value:\"USERDEFINED\"},_.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcBurnerTypeEnum=_;class M{}M.BEND={type:3,value:\"BEND\"},M.CONNECTOR={type:3,value:\"CONNECTOR\"},M.CROSS={type:3,value:\"CROSS\"},M.JUNCTION={type:3,value:\"JUNCTION\"},M.TEE={type:3,value:\"TEE\"},M.TRANSITION={type:3,value:\"TRANSITION\"},M.USERDEFINED={type:3,value:\"USERDEFINED\"},M.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCableCarrierFittingTypeEnum=M;class H{}H.CABLEBRACKET={type:3,value:\"CABLEBRACKET\"},H.CABLELADDERSEGMENT={type:3,value:\"CABLELADDERSEGMENT\"},H.CABLETRAYSEGMENT={type:3,value:\"CABLETRAYSEGMENT\"},H.CABLETRUNKINGSEGMENT={type:3,value:\"CABLETRUNKINGSEGMENT\"},H.CATENARYWIRE={type:3,value:\"CATENARYWIRE\"},H.CONDUITSEGMENT={type:3,value:\"CONDUITSEGMENT\"},H.DROPPER={type:3,value:\"DROPPER\"},H.USERDEFINED={type:3,value:\"USERDEFINED\"},H.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCableCarrierSegmentTypeEnum=H;class B{}B.CONNECTOR={type:3,value:\"CONNECTOR\"},B.ENTRY={type:3,value:\"ENTRY\"},B.EXIT={type:3,value:\"EXIT\"},B.FANOUT={type:3,value:\"FANOUT\"},B.JUNCTION={type:3,value:\"JUNCTION\"},B.TRANSITION={type:3,value:\"TRANSITION\"},B.USERDEFINED={type:3,value:\"USERDEFINED\"},B.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCableFittingTypeEnum=B;class U{}U.BUSBARSEGMENT={type:3,value:\"BUSBARSEGMENT\"},U.CABLESEGMENT={type:3,value:\"CABLESEGMENT\"},U.CONDUCTORSEGMENT={type:3,value:\"CONDUCTORSEGMENT\"},U.CONTACTWIRESEGMENT={type:3,value:\"CONTACTWIRESEGMENT\"},U.CORESEGMENT={type:3,value:\"CORESEGMENT\"},U.FIBERSEGMENT={type:3,value:\"FIBERSEGMENT\"},U.FIBERTUBE={type:3,value:\"FIBERTUBE\"},U.OPTICALCABLESEGMENT={type:3,value:\"OPTICALCABLESEGMENT\"},U.STITCHWIRE={type:3,value:\"STITCHWIRE\"},U.WIREPAIRSEGMENT={type:3,value:\"WIREPAIRSEGMENT\"},U.USERDEFINED={type:3,value:\"USERDEFINED\"},U.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCableSegmentTypeEnum=U;class F{}F.CAISSON={type:3,value:\"CAISSON\"},F.WELL={type:3,value:\"WELL\"},F.USERDEFINED={type:3,value:\"USERDEFINED\"},F.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCaissonFoundationTypeEnum=F;class G{}G.ADDED={type:3,value:\"ADDED\"},G.DELETED={type:3,value:\"DELETED\"},G.MODIFIED={type:3,value:\"MODIFIED\"},G.NOCHANGE={type:3,value:\"NOCHANGE\"},G.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcChangeActionEnum=G;class V{}V.AIRCOOLED={type:3,value:\"AIRCOOLED\"},V.HEATRECOVERY={type:3,value:\"HEATRECOVERY\"},V.WATERCOOLED={type:3,value:\"WATERCOOLED\"},V.USERDEFINED={type:3,value:\"USERDEFINED\"},V.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcChillerTypeEnum=V;class j{}j.USERDEFINED={type:3,value:\"USERDEFINED\"},j.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcChimneyTypeEnum=j;class z{}z.DXCOOLINGCOIL={type:3,value:\"DXCOOLINGCOIL\"},z.ELECTRICHEATINGCOIL={type:3,value:\"ELECTRICHEATINGCOIL\"},z.GASHEATINGCOIL={type:3,value:\"GASHEATINGCOIL\"},z.HYDRONICCOIL={type:3,value:\"HYDRONICCOIL\"},z.STEAMHEATINGCOIL={type:3,value:\"STEAMHEATINGCOIL\"},z.WATERCOOLINGCOIL={type:3,value:\"WATERCOOLINGCOIL\"},z.WATERHEATINGCOIL={type:3,value:\"WATERHEATINGCOIL\"},z.USERDEFINED={type:3,value:\"USERDEFINED\"},z.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCoilTypeEnum=z;class W{}W.COLUMN={type:3,value:\"COLUMN\"},W.PIERSTEM={type:3,value:\"PIERSTEM\"},W.PIERSTEM_SEGMENT={type:3,value:\"PIERSTEM_SEGMENT\"},W.PILASTER={type:3,value:\"PILASTER\"},W.STANDCOLUMN={type:3,value:\"STANDCOLUMN\"},W.USERDEFINED={type:3,value:\"USERDEFINED\"},W.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcColumnTypeEnum=W;class k{}k.ANTENNA={type:3,value:\"ANTENNA\"},k.AUTOMATON={type:3,value:\"AUTOMATON\"},k.COMPUTER={type:3,value:\"COMPUTER\"},k.FAX={type:3,value:\"FAX\"},k.GATEWAY={type:3,value:\"GATEWAY\"},k.INTELLIGENTPERIPHERAL={type:3,value:\"INTELLIGENTPERIPHERAL\"},k.IPNETWORKEQUIPMENT={type:3,value:\"IPNETWORKEQUIPMENT\"},k.LINESIDEELECTRONICUNIT={type:3,value:\"LINESIDEELECTRONICUNIT\"},k.MODEM={type:3,value:\"MODEM\"},k.NETWORKAPPLIANCE={type:3,value:\"NETWORKAPPLIANCE\"},k.NETWORKBRIDGE={type:3,value:\"NETWORKBRIDGE\"},k.NETWORKHUB={type:3,value:\"NETWORKHUB\"},k.OPTICALLINETERMINAL={type:3,value:\"OPTICALLINETERMINAL\"},k.OPTICALNETWORKUNIT={type:3,value:\"OPTICALNETWORKUNIT\"},k.PRINTER={type:3,value:\"PRINTER\"},k.RADIOBLOCKCENTER={type:3,value:\"RADIOBLOCKCENTER\"},k.REPEATER={type:3,value:\"REPEATER\"},k.ROUTER={type:3,value:\"ROUTER\"},k.SCANNER={type:3,value:\"SCANNER\"},k.TELECOMMAND={type:3,value:\"TELECOMMAND\"},k.TELEPHONYEXCHANGE={type:3,value:\"TELEPHONYEXCHANGE\"},k.TRANSITIONCOMPONENT={type:3,value:\"TRANSITIONCOMPONENT\"},k.TRANSPONDER={type:3,value:\"TRANSPONDER\"},k.TRANSPORTEQUIPMENT={type:3,value:\"TRANSPORTEQUIPMENT\"},k.USERDEFINED={type:3,value:\"USERDEFINED\"},k.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCommunicationsApplianceTypeEnum=k;class Y{}Y.P_COMPLEX={type:3,value:\"P_COMPLEX\"},Y.Q_COMPLEX={type:3,value:\"Q_COMPLEX\"},e.IfcComplexPropertyTemplateTypeEnum=Y;class X{}X.BOOSTER={type:3,value:\"BOOSTER\"},X.DYNAMIC={type:3,value:\"DYNAMIC\"},X.HERMETIC={type:3,value:\"HERMETIC\"},X.OPENTYPE={type:3,value:\"OPENTYPE\"},X.RECIPROCATING={type:3,value:\"RECIPROCATING\"},X.ROLLINGPISTON={type:3,value:\"ROLLINGPISTON\"},X.ROTARY={type:3,value:\"ROTARY\"},X.ROTARYVANE={type:3,value:\"ROTARYVANE\"},X.SCROLL={type:3,value:\"SCROLL\"},X.SEMIHERMETIC={type:3,value:\"SEMIHERMETIC\"},X.SINGLESCREW={type:3,value:\"SINGLESCREW\"},X.SINGLESTAGE={type:3,value:\"SINGLESTAGE\"},X.TROCHOIDAL={type:3,value:\"TROCHOIDAL\"},X.TWINSCREW={type:3,value:\"TWINSCREW\"},X.WELDEDSHELLHERMETIC={type:3,value:\"WELDEDSHELLHERMETIC\"},X.USERDEFINED={type:3,value:\"USERDEFINED\"},X.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCompressorTypeEnum=X;class K{}K.AIRCOOLED={type:3,value:\"AIRCOOLED\"},K.EVAPORATIVECOOLED={type:3,value:\"EVAPORATIVECOOLED\"},K.WATERCOOLED={type:3,value:\"WATERCOOLED\"},K.WATERCOOLEDBRAZEDPLATE={type:3,value:\"WATERCOOLEDBRAZEDPLATE\"},K.WATERCOOLEDSHELLCOIL={type:3,value:\"WATERCOOLEDSHELLCOIL\"},K.WATERCOOLEDSHELLTUBE={type:3,value:\"WATERCOOLEDSHELLTUBE\"},K.WATERCOOLEDTUBEINTUBE={type:3,value:\"WATERCOOLEDTUBEINTUBE\"},K.USERDEFINED={type:3,value:\"USERDEFINED\"},K.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCondenserTypeEnum=K;class Z{}Z.ATEND={type:3,value:\"ATEND\"},Z.ATPATH={type:3,value:\"ATPATH\"},Z.ATSTART={type:3,value:\"ATSTART\"},Z.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcConnectionTypeEnum=Z;class Q{}Q.ADVISORY={type:3,value:\"ADVISORY\"},Q.HARD={type:3,value:\"HARD\"},Q.SOFT={type:3,value:\"SOFT\"},Q.USERDEFINED={type:3,value:\"USERDEFINED\"},Q.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcConstraintEnum=Q;class J{}J.DEMOLISHING={type:3,value:\"DEMOLISHING\"},J.EARTHMOVING={type:3,value:\"EARTHMOVING\"},J.ERECTING={type:3,value:\"ERECTING\"},J.HEATING={type:3,value:\"HEATING\"},J.LIGHTING={type:3,value:\"LIGHTING\"},J.PAVING={type:3,value:\"PAVING\"},J.PUMPING={type:3,value:\"PUMPING\"},J.TRANSPORTING={type:3,value:\"TRANSPORTING\"},J.USERDEFINED={type:3,value:\"USERDEFINED\"},J.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcConstructionEquipmentResourceTypeEnum=J;class ${}$.AGGREGATES={type:3,value:\"AGGREGATES\"},$.CONCRETE={type:3,value:\"CONCRETE\"},$.DRYWALL={type:3,value:\"DRYWALL\"},$.FUEL={type:3,value:\"FUEL\"},$.GYPSUM={type:3,value:\"GYPSUM\"},$.MASONRY={type:3,value:\"MASONRY\"},$.METAL={type:3,value:\"METAL\"},$.PLASTIC={type:3,value:\"PLASTIC\"},$.WOOD={type:3,value:\"WOOD\"},$.USERDEFINED={type:3,value:\"USERDEFINED\"},$.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcConstructionMaterialResourceTypeEnum=$;class ee{}ee.ASSEMBLY={type:3,value:\"ASSEMBLY\"},ee.FORMWORK={type:3,value:\"FORMWORK\"},ee.USERDEFINED={type:3,value:\"USERDEFINED\"},ee.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcConstructionProductResourceTypeEnum=ee;class te{}te.FLOATING={type:3,value:\"FLOATING\"},te.MULTIPOSITION={type:3,value:\"MULTIPOSITION\"},te.PROGRAMMABLE={type:3,value:\"PROGRAMMABLE\"},te.PROPORTIONAL={type:3,value:\"PROPORTIONAL\"},te.TWOPOSITION={type:3,value:\"TWOPOSITION\"},te.USERDEFINED={type:3,value:\"USERDEFINED\"},te.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcControllerTypeEnum=te;class ne{}ne.BELTCONVEYOR={type:3,value:\"BELTCONVEYOR\"},ne.BUCKETCONVEYOR={type:3,value:\"BUCKETCONVEYOR\"},ne.CHUTECONVEYOR={type:3,value:\"CHUTECONVEYOR\"},ne.SCREWCONVEYOR={type:3,value:\"SCREWCONVEYOR\"},ne.USERDEFINED={type:3,value:\"USERDEFINED\"},ne.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcConveyorSegmentTypeEnum=ne;class se{}se.ACTIVE={type:3,value:\"ACTIVE\"},se.PASSIVE={type:3,value:\"PASSIVE\"},se.USERDEFINED={type:3,value:\"USERDEFINED\"},se.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCooledBeamTypeEnum=se;class ie{}ie.MECHANICALFORCEDDRAFT={type:3,value:\"MECHANICALFORCEDDRAFT\"},ie.MECHANICALINDUCEDDRAFT={type:3,value:\"MECHANICALINDUCEDDRAFT\"},ie.NATURALDRAFT={type:3,value:\"NATURALDRAFT\"},ie.USERDEFINED={type:3,value:\"USERDEFINED\"},ie.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCoolingTowerTypeEnum=ie;class ae{}ae.USERDEFINED={type:3,value:\"USERDEFINED\"},ae.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCostItemTypeEnum=ae;class le{}le.BUDGET={type:3,value:\"BUDGET\"},le.COSTPLAN={type:3,value:\"COSTPLAN\"},le.ESTIMATE={type:3,value:\"ESTIMATE\"},le.PRICEDBILLOFQUANTITIES={type:3,value:\"PRICEDBILLOFQUANTITIES\"},le.SCHEDULEOFRATES={type:3,value:\"SCHEDULEOFRATES\"},le.TENDER={type:3,value:\"TENDER\"},le.UNPRICEDBILLOFQUANTITIES={type:3,value:\"UNPRICEDBILLOFQUANTITIES\"},le.USERDEFINED={type:3,value:\"USERDEFINED\"},le.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCostScheduleTypeEnum=le;class re{}re.ARMOUR={type:3,value:\"ARMOUR\"},re.BALLASTBED={type:3,value:\"BALLASTBED\"},re.CORE={type:3,value:\"CORE\"},re.FILTER={type:3,value:\"FILTER\"},re.PAVEMENT={type:3,value:\"PAVEMENT\"},re.PROTECTION={type:3,value:\"PROTECTION\"},re.USERDEFINED={type:3,value:\"USERDEFINED\"},re.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCourseTypeEnum=re;class oe{}oe.CEILING={type:3,value:\"CEILING\"},oe.CLADDING={type:3,value:\"CLADDING\"},oe.COPING={type:3,value:\"COPING\"},oe.FLOORING={type:3,value:\"FLOORING\"},oe.INSULATION={type:3,value:\"INSULATION\"},oe.MEMBRANE={type:3,value:\"MEMBRANE\"},oe.MOLDING={type:3,value:\"MOLDING\"},oe.ROOFING={type:3,value:\"ROOFING\"},oe.SKIRTINGBOARD={type:3,value:\"SKIRTINGBOARD\"},oe.SLEEVING={type:3,value:\"SLEEVING\"},oe.TOPPING={type:3,value:\"TOPPING\"},oe.WRAPPING={type:3,value:\"WRAPPING\"},oe.USERDEFINED={type:3,value:\"USERDEFINED\"},oe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCoveringTypeEnum=oe;class ce{}ce.OFFICE={type:3,value:\"OFFICE\"},ce.SITE={type:3,value:\"SITE\"},ce.USERDEFINED={type:3,value:\"USERDEFINED\"},ce.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCrewResourceTypeEnum=ce;class ue{}ue.USERDEFINED={type:3,value:\"USERDEFINED\"},ue.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCurtainWallTypeEnum=ue;class pe{}pe.LINEAR={type:3,value:\"LINEAR\"},pe.LOG_LINEAR={type:3,value:\"LOG_LINEAR\"},pe.LOG_LOG={type:3,value:\"LOG_LOG\"},pe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcCurveInterpolationEnum=pe;class he{}he.BACKDRAFTDAMPER={type:3,value:\"BACKDRAFTDAMPER\"},he.BALANCINGDAMPER={type:3,value:\"BALANCINGDAMPER\"},he.BLASTDAMPER={type:3,value:\"BLASTDAMPER\"},he.CONTROLDAMPER={type:3,value:\"CONTROLDAMPER\"},he.FIREDAMPER={type:3,value:\"FIREDAMPER\"},he.FIRESMOKEDAMPER={type:3,value:\"FIRESMOKEDAMPER\"},he.FUMEHOODEXHAUST={type:3,value:\"FUMEHOODEXHAUST\"},he.GRAVITYDAMPER={type:3,value:\"GRAVITYDAMPER\"},he.GRAVITYRELIEFDAMPER={type:3,value:\"GRAVITYRELIEFDAMPER\"},he.RELIEFDAMPER={type:3,value:\"RELIEFDAMPER\"},he.SMOKEDAMPER={type:3,value:\"SMOKEDAMPER\"},he.USERDEFINED={type:3,value:\"USERDEFINED\"},he.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDamperTypeEnum=he;class de{}de.MEASURED={type:3,value:\"MEASURED\"},de.PREDICTED={type:3,value:\"PREDICTED\"},de.SIMULATED={type:3,value:\"SIMULATED\"},de.USERDEFINED={type:3,value:\"USERDEFINED\"},de.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDataOriginEnum=de;class fe{}fe.ACCELERATIONUNIT={type:3,value:\"ACCELERATIONUNIT\"},fe.ANGULARVELOCITYUNIT={type:3,value:\"ANGULARVELOCITYUNIT\"},fe.AREADENSITYUNIT={type:3,value:\"AREADENSITYUNIT\"},fe.COMPOUNDPLANEANGLEUNIT={type:3,value:\"COMPOUNDPLANEANGLEUNIT\"},fe.CURVATUREUNIT={type:3,value:\"CURVATUREUNIT\"},fe.DYNAMICVISCOSITYUNIT={type:3,value:\"DYNAMICVISCOSITYUNIT\"},fe.HEATFLUXDENSITYUNIT={type:3,value:\"HEATFLUXDENSITYUNIT\"},fe.HEATINGVALUEUNIT={type:3,value:\"HEATINGVALUEUNIT\"},fe.INTEGERCOUNTRATEUNIT={type:3,value:\"INTEGERCOUNTRATEUNIT\"},fe.IONCONCENTRATIONUNIT={type:3,value:\"IONCONCENTRATIONUNIT\"},fe.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:\"ISOTHERMALMOISTURECAPACITYUNIT\"},fe.KINEMATICVISCOSITYUNIT={type:3,value:\"KINEMATICVISCOSITYUNIT\"},fe.LINEARFORCEUNIT={type:3,value:\"LINEARFORCEUNIT\"},fe.LINEARMOMENTUNIT={type:3,value:\"LINEARMOMENTUNIT\"},fe.LINEARSTIFFNESSUNIT={type:3,value:\"LINEARSTIFFNESSUNIT\"},fe.LINEARVELOCITYUNIT={type:3,value:\"LINEARVELOCITYUNIT\"},fe.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:\"LUMINOUSINTENSITYDISTRIBUTIONUNIT\"},fe.MASSDENSITYUNIT={type:3,value:\"MASSDENSITYUNIT\"},fe.MASSFLOWRATEUNIT={type:3,value:\"MASSFLOWRATEUNIT\"},fe.MASSPERLENGTHUNIT={type:3,value:\"MASSPERLENGTHUNIT\"},fe.MODULUSOFELASTICITYUNIT={type:3,value:\"MODULUSOFELASTICITYUNIT\"},fe.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:\"MODULUSOFLINEARSUBGRADEREACTIONUNIT\"},fe.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:\"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT\"},fe.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:\"MODULUSOFSUBGRADEREACTIONUNIT\"},fe.MOISTUREDIFFUSIVITYUNIT={type:3,value:\"MOISTUREDIFFUSIVITYUNIT\"},fe.MOLECULARWEIGHTUNIT={type:3,value:\"MOLECULARWEIGHTUNIT\"},fe.MOMENTOFINERTIAUNIT={type:3,value:\"MOMENTOFINERTIAUNIT\"},fe.PHUNIT={type:3,value:\"PHUNIT\"},fe.PLANARFORCEUNIT={type:3,value:\"PLANARFORCEUNIT\"},fe.ROTATIONALFREQUENCYUNIT={type:3,value:\"ROTATIONALFREQUENCYUNIT\"},fe.ROTATIONALMASSUNIT={type:3,value:\"ROTATIONALMASSUNIT\"},fe.ROTATIONALSTIFFNESSUNIT={type:3,value:\"ROTATIONALSTIFFNESSUNIT\"},fe.SECTIONAREAINTEGRALUNIT={type:3,value:\"SECTIONAREAINTEGRALUNIT\"},fe.SECTIONMODULUSUNIT={type:3,value:\"SECTIONMODULUSUNIT\"},fe.SHEARMODULUSUNIT={type:3,value:\"SHEARMODULUSUNIT\"},fe.SOUNDPOWERLEVELUNIT={type:3,value:\"SOUNDPOWERLEVELUNIT\"},fe.SOUNDPOWERUNIT={type:3,value:\"SOUNDPOWERUNIT\"},fe.SOUNDPRESSURELEVELUNIT={type:3,value:\"SOUNDPRESSURELEVELUNIT\"},fe.SOUNDPRESSUREUNIT={type:3,value:\"SOUNDPRESSUREUNIT\"},fe.SPECIFICHEATCAPACITYUNIT={type:3,value:\"SPECIFICHEATCAPACITYUNIT\"},fe.TEMPERATUREGRADIENTUNIT={type:3,value:\"TEMPERATUREGRADIENTUNIT\"},fe.TEMPERATURERATEOFCHANGEUNIT={type:3,value:\"TEMPERATURERATEOFCHANGEUNIT\"},fe.THERMALADMITTANCEUNIT={type:3,value:\"THERMALADMITTANCEUNIT\"},fe.THERMALCONDUCTANCEUNIT={type:3,value:\"THERMALCONDUCTANCEUNIT\"},fe.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:\"THERMALEXPANSIONCOEFFICIENTUNIT\"},fe.THERMALRESISTANCEUNIT={type:3,value:\"THERMALRESISTANCEUNIT\"},fe.THERMALTRANSMITTANCEUNIT={type:3,value:\"THERMALTRANSMITTANCEUNIT\"},fe.TORQUEUNIT={type:3,value:\"TORQUEUNIT\"},fe.VAPORPERMEABILITYUNIT={type:3,value:\"VAPORPERMEABILITYUNIT\"},fe.VOLUMETRICFLOWRATEUNIT={type:3,value:\"VOLUMETRICFLOWRATEUNIT\"},fe.WARPINGCONSTANTUNIT={type:3,value:\"WARPINGCONSTANTUNIT\"},fe.WARPINGMOMENTUNIT={type:3,value:\"WARPINGMOMENTUNIT\"},fe.USERDEFINED={type:3,value:\"USERDEFINED\"},e.IfcDerivedUnitEnum=fe;class Ie{}Ie.NEGATIVE={type:3,value:\"NEGATIVE\"},Ie.POSITIVE={type:3,value:\"POSITIVE\"},e.IfcDirectionSenseEnum=Ie;class me{}me.ANCHORPLATE={type:3,value:\"ANCHORPLATE\"},me.BIRDPROTECTION={type:3,value:\"BIRDPROTECTION\"},me.BRACKET={type:3,value:\"BRACKET\"},me.CABLEARRANGER={type:3,value:\"CABLEARRANGER\"},me.ELASTIC_CUSHION={type:3,value:\"ELASTIC_CUSHION\"},me.EXPANSION_JOINT_DEVICE={type:3,value:\"EXPANSION_JOINT_DEVICE\"},me.FILLER={type:3,value:\"FILLER\"},me.FLASHING={type:3,value:\"FLASHING\"},me.INSULATOR={type:3,value:\"INSULATOR\"},me.LOCK={type:3,value:\"LOCK\"},me.PANEL_STRENGTHENING={type:3,value:\"PANEL_STRENGTHENING\"},me.POINTMACHINEMOUNTINGDEVICE={type:3,value:\"POINTMACHINEMOUNTINGDEVICE\"},me.POINT_MACHINE_LOCKING_DEVICE={type:3,value:\"POINT_MACHINE_LOCKING_DEVICE\"},me.RAILBRACE={type:3,value:\"RAILBRACE\"},me.RAILPAD={type:3,value:\"RAILPAD\"},me.RAIL_LUBRICATION={type:3,value:\"RAIL_LUBRICATION\"},me.RAIL_MECHANICAL_EQUIPMENT={type:3,value:\"RAIL_MECHANICAL_EQUIPMENT\"},me.SHOE={type:3,value:\"SHOE\"},me.SLIDINGCHAIR={type:3,value:\"SLIDINGCHAIR\"},me.SOUNDABSORPTION={type:3,value:\"SOUNDABSORPTION\"},me.TENSIONINGEQUIPMENT={type:3,value:\"TENSIONINGEQUIPMENT\"},me.USERDEFINED={type:3,value:\"USERDEFINED\"},me.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDiscreteAccessoryTypeEnum=me;class ye{}ye.CONSUMERUNIT={type:3,value:\"CONSUMERUNIT\"},ye.DISPATCHINGBOARD={type:3,value:\"DISPATCHINGBOARD\"},ye.DISTRIBUTIONBOARD={type:3,value:\"DISTRIBUTIONBOARD\"},ye.DISTRIBUTIONFRAME={type:3,value:\"DISTRIBUTIONFRAME\"},ye.MOTORCONTROLCENTRE={type:3,value:\"MOTORCONTROLCENTRE\"},ye.SWITCHBOARD={type:3,value:\"SWITCHBOARD\"},ye.USERDEFINED={type:3,value:\"USERDEFINED\"},ye.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDistributionBoardTypeEnum=ye;class ve{}ve.FORMEDDUCT={type:3,value:\"FORMEDDUCT\"},ve.INSPECTIONCHAMBER={type:3,value:\"INSPECTIONCHAMBER\"},ve.INSPECTIONPIT={type:3,value:\"INSPECTIONPIT\"},ve.MANHOLE={type:3,value:\"MANHOLE\"},ve.METERCHAMBER={type:3,value:\"METERCHAMBER\"},ve.SUMP={type:3,value:\"SUMP\"},ve.TRENCH={type:3,value:\"TRENCH\"},ve.VALVECHAMBER={type:3,value:\"VALVECHAMBER\"},ve.USERDEFINED={type:3,value:\"USERDEFINED\"},ve.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDistributionChamberElementTypeEnum=ve;class we{}we.CABLE={type:3,value:\"CABLE\"},we.CABLECARRIER={type:3,value:\"CABLECARRIER\"},we.DUCT={type:3,value:\"DUCT\"},we.PIPE={type:3,value:\"PIPE\"},we.WIRELESS={type:3,value:\"WIRELESS\"},we.USERDEFINED={type:3,value:\"USERDEFINED\"},we.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDistributionPortTypeEnum=we;class Te{}Te.AIRCONDITIONING={type:3,value:\"AIRCONDITIONING\"},Te.AUDIOVISUAL={type:3,value:\"AUDIOVISUAL\"},Te.CATENARY_SYSTEM={type:3,value:\"CATENARY_SYSTEM\"},Te.CHEMICAL={type:3,value:\"CHEMICAL\"},Te.CHILLEDWATER={type:3,value:\"CHILLEDWATER\"},Te.COMMUNICATION={type:3,value:\"COMMUNICATION\"},Te.COMPRESSEDAIR={type:3,value:\"COMPRESSEDAIR\"},Te.CONDENSERWATER={type:3,value:\"CONDENSERWATER\"},Te.CONTROL={type:3,value:\"CONTROL\"},Te.CONVEYING={type:3,value:\"CONVEYING\"},Te.DATA={type:3,value:\"DATA\"},Te.DISPOSAL={type:3,value:\"DISPOSAL\"},Te.DOMESTICCOLDWATER={type:3,value:\"DOMESTICCOLDWATER\"},Te.DOMESTICHOTWATER={type:3,value:\"DOMESTICHOTWATER\"},Te.DRAINAGE={type:3,value:\"DRAINAGE\"},Te.EARTHING={type:3,value:\"EARTHING\"},Te.ELECTRICAL={type:3,value:\"ELECTRICAL\"},Te.ELECTROACOUSTIC={type:3,value:\"ELECTROACOUSTIC\"},Te.EXHAUST={type:3,value:\"EXHAUST\"},Te.FIREPROTECTION={type:3,value:\"FIREPROTECTION\"},Te.FIXEDTRANSMISSIONNETWORK={type:3,value:\"FIXEDTRANSMISSIONNETWORK\"},Te.FUEL={type:3,value:\"FUEL\"},Te.GAS={type:3,value:\"GAS\"},Te.HAZARDOUS={type:3,value:\"HAZARDOUS\"},Te.HEATING={type:3,value:\"HEATING\"},Te.LIGHTING={type:3,value:\"LIGHTING\"},Te.LIGHTNINGPROTECTION={type:3,value:\"LIGHTNINGPROTECTION\"},Te.MOBILENETWORK={type:3,value:\"MOBILENETWORK\"},Te.MONITORINGSYSTEM={type:3,value:\"MONITORINGSYSTEM\"},Te.MUNICIPALSOLIDWASTE={type:3,value:\"MUNICIPALSOLIDWASTE\"},Te.OIL={type:3,value:\"OIL\"},Te.OPERATIONAL={type:3,value:\"OPERATIONAL\"},Te.OPERATIONALTELEPHONYSYSTEM={type:3,value:\"OPERATIONALTELEPHONYSYSTEM\"},Te.OVERHEAD_CONTACTLINE_SYSTEM={type:3,value:\"OVERHEAD_CONTACTLINE_SYSTEM\"},Te.POWERGENERATION={type:3,value:\"POWERGENERATION\"},Te.RAINWATER={type:3,value:\"RAINWATER\"},Te.REFRIGERATION={type:3,value:\"REFRIGERATION\"},Te.RETURN_CIRCUIT={type:3,value:\"RETURN_CIRCUIT\"},Te.SECURITY={type:3,value:\"SECURITY\"},Te.SEWAGE={type:3,value:\"SEWAGE\"},Te.SIGNAL={type:3,value:\"SIGNAL\"},Te.STORMWATER={type:3,value:\"STORMWATER\"},Te.TELEPHONE={type:3,value:\"TELEPHONE\"},Te.TV={type:3,value:\"TV\"},Te.VACUUM={type:3,value:\"VACUUM\"},Te.VENT={type:3,value:\"VENT\"},Te.VENTILATION={type:3,value:\"VENTILATION\"},Te.WASTEWATER={type:3,value:\"WASTEWATER\"},Te.WATERSUPPLY={type:3,value:\"WATERSUPPLY\"},Te.USERDEFINED={type:3,value:\"USERDEFINED\"},Te.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDistributionSystemEnum=Te;class Ee{}Ee.CONFIDENTIAL={type:3,value:\"CONFIDENTIAL\"},Ee.PERSONAL={type:3,value:\"PERSONAL\"},Ee.PUBLIC={type:3,value:\"PUBLIC\"},Ee.RESTRICTED={type:3,value:\"RESTRICTED\"},Ee.USERDEFINED={type:3,value:\"USERDEFINED\"},Ee.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDocumentConfidentialityEnum=Ee;class ge{}ge.DRAFT={type:3,value:\"DRAFT\"},ge.FINAL={type:3,value:\"FINAL\"},ge.FINALDRAFT={type:3,value:\"FINALDRAFT\"},ge.REVISION={type:3,value:\"REVISION\"},ge.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDocumentStatusEnum=ge;class Re{}Re.DOUBLE_ACTING={type:3,value:\"DOUBLE_ACTING\"},Re.FIXEDPANEL={type:3,value:\"FIXEDPANEL\"},Re.FOLDING={type:3,value:\"FOLDING\"},Re.REVOLVING={type:3,value:\"REVOLVING\"},Re.ROLLINGUP={type:3,value:\"ROLLINGUP\"},Re.SLIDING={type:3,value:\"SLIDING\"},Re.SWINGING={type:3,value:\"SWINGING\"},Re.USERDEFINED={type:3,value:\"USERDEFINED\"},Re.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDoorPanelOperationEnum=Re;class De{}De.LEFT={type:3,value:\"LEFT\"},De.MIDDLE={type:3,value:\"MIDDLE\"},De.RIGHT={type:3,value:\"RIGHT\"},De.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDoorPanelPositionEnum=De;class Se{}Se.ALUMINIUM={type:3,value:\"ALUMINIUM\"},Se.ALUMINIUM_PLASTIC={type:3,value:\"ALUMINIUM_PLASTIC\"},Se.ALUMINIUM_WOOD={type:3,value:\"ALUMINIUM_WOOD\"},Se.HIGH_GRADE_STEEL={type:3,value:\"HIGH_GRADE_STEEL\"},Se.PLASTIC={type:3,value:\"PLASTIC\"},Se.STEEL={type:3,value:\"STEEL\"},Se.WOOD={type:3,value:\"WOOD\"},Se.USERDEFINED={type:3,value:\"USERDEFINED\"},Se.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDoorStyleConstructionEnum=Se;class be{}be.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:\"DOUBLE_DOOR_DOUBLE_SWING\"},be.DOUBLE_DOOR_FOLDING={type:3,value:\"DOUBLE_DOOR_FOLDING\"},be.DOUBLE_DOOR_SINGLE_SWING={type:3,value:\"DOUBLE_DOOR_SINGLE_SWING\"},be.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:\"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT\"},be.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:\"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT\"},be.DOUBLE_DOOR_SLIDING={type:3,value:\"DOUBLE_DOOR_SLIDING\"},be.DOUBLE_SWING_LEFT={type:3,value:\"DOUBLE_SWING_LEFT\"},be.DOUBLE_SWING_RIGHT={type:3,value:\"DOUBLE_SWING_RIGHT\"},be.FOLDING_TO_LEFT={type:3,value:\"FOLDING_TO_LEFT\"},be.FOLDING_TO_RIGHT={type:3,value:\"FOLDING_TO_RIGHT\"},be.REVOLVING={type:3,value:\"REVOLVING\"},be.ROLLINGUP={type:3,value:\"ROLLINGUP\"},be.SINGLE_SWING_LEFT={type:3,value:\"SINGLE_SWING_LEFT\"},be.SINGLE_SWING_RIGHT={type:3,value:\"SINGLE_SWING_RIGHT\"},be.SLIDING_TO_LEFT={type:3,value:\"SLIDING_TO_LEFT\"},be.SLIDING_TO_RIGHT={type:3,value:\"SLIDING_TO_RIGHT\"},be.USERDEFINED={type:3,value:\"USERDEFINED\"},be.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDoorStyleOperationEnum=be;class Ne{}Ne.BOOM_BARRIER={type:3,value:\"BOOM_BARRIER\"},Ne.DOOR={type:3,value:\"DOOR\"},Ne.GATE={type:3,value:\"GATE\"},Ne.TRAPDOOR={type:3,value:\"TRAPDOOR\"},Ne.TURNSTILE={type:3,value:\"TURNSTILE\"},Ne.USERDEFINED={type:3,value:\"USERDEFINED\"},Ne.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDoorTypeEnum=Ne;class Oe{}Oe.DOUBLE_PANEL_DOUBLE_SWING={type:3,value:\"DOUBLE_PANEL_DOUBLE_SWING\"},Oe.DOUBLE_PANEL_FOLDING={type:3,value:\"DOUBLE_PANEL_FOLDING\"},Oe.DOUBLE_PANEL_LIFTING_VERTICAL={type:3,value:\"DOUBLE_PANEL_LIFTING_VERTICAL\"},Oe.DOUBLE_PANEL_SINGLE_SWING={type:3,value:\"DOUBLE_PANEL_SINGLE_SWING\"},Oe.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:\"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT\"},Oe.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:\"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT\"},Oe.DOUBLE_PANEL_SLIDING={type:3,value:\"DOUBLE_PANEL_SLIDING\"},Oe.DOUBLE_SWING_LEFT={type:3,value:\"DOUBLE_SWING_LEFT\"},Oe.DOUBLE_SWING_RIGHT={type:3,value:\"DOUBLE_SWING_RIGHT\"},Oe.FOLDING_TO_LEFT={type:3,value:\"FOLDING_TO_LEFT\"},Oe.FOLDING_TO_RIGHT={type:3,value:\"FOLDING_TO_RIGHT\"},Oe.LIFTING_HORIZONTAL={type:3,value:\"LIFTING_HORIZONTAL\"},Oe.LIFTING_VERTICAL_LEFT={type:3,value:\"LIFTING_VERTICAL_LEFT\"},Oe.LIFTING_VERTICAL_RIGHT={type:3,value:\"LIFTING_VERTICAL_RIGHT\"},Oe.REVOLVING_HORIZONTAL={type:3,value:\"REVOLVING_HORIZONTAL\"},Oe.REVOLVING_VERTICAL={type:3,value:\"REVOLVING_VERTICAL\"},Oe.ROLLINGUP={type:3,value:\"ROLLINGUP\"},Oe.SINGLE_SWING_LEFT={type:3,value:\"SINGLE_SWING_LEFT\"},Oe.SINGLE_SWING_RIGHT={type:3,value:\"SINGLE_SWING_RIGHT\"},Oe.SLIDING_TO_LEFT={type:3,value:\"SLIDING_TO_LEFT\"},Oe.SLIDING_TO_RIGHT={type:3,value:\"SLIDING_TO_RIGHT\"},Oe.SWING_FIXED_LEFT={type:3,value:\"SWING_FIXED_LEFT\"},Oe.SWING_FIXED_RIGHT={type:3,value:\"SWING_FIXED_RIGHT\"},Oe.USERDEFINED={type:3,value:\"USERDEFINED\"},Oe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDoorTypeOperationEnum=Oe;class Ae{}Ae.BEND={type:3,value:\"BEND\"},Ae.CONNECTOR={type:3,value:\"CONNECTOR\"},Ae.ENTRY={type:3,value:\"ENTRY\"},Ae.EXIT={type:3,value:\"EXIT\"},Ae.JUNCTION={type:3,value:\"JUNCTION\"},Ae.OBSTRUCTION={type:3,value:\"OBSTRUCTION\"},Ae.TRANSITION={type:3,value:\"TRANSITION\"},Ae.USERDEFINED={type:3,value:\"USERDEFINED\"},Ae.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDuctFittingTypeEnum=Ae;class xe{}xe.FLEXIBLESEGMENT={type:3,value:\"FLEXIBLESEGMENT\"},xe.RIGIDSEGMENT={type:3,value:\"RIGIDSEGMENT\"},xe.USERDEFINED={type:3,value:\"USERDEFINED\"},xe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDuctSegmentTypeEnum=xe;class Ce{}Ce.FLATOVAL={type:3,value:\"FLATOVAL\"},Ce.RECTANGULAR={type:3,value:\"RECTANGULAR\"},Ce.ROUND={type:3,value:\"ROUND\"},Ce.USERDEFINED={type:3,value:\"USERDEFINED\"},Ce.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcDuctSilencerTypeEnum=Ce;class Le{}Le.BASE_EXCAVATION={type:3,value:\"BASE_EXCAVATION\"},Le.CUT={type:3,value:\"CUT\"},Le.DREDGING={type:3,value:\"DREDGING\"},Le.EXCAVATION={type:3,value:\"EXCAVATION\"},Le.OVEREXCAVATION={type:3,value:\"OVEREXCAVATION\"},Le.PAVEMENTMILLING={type:3,value:\"PAVEMENTMILLING\"},Le.STEPEXCAVATION={type:3,value:\"STEPEXCAVATION\"},Le.TOPSOILREMOVAL={type:3,value:\"TOPSOILREMOVAL\"},Le.TRENCH={type:3,value:\"TRENCH\"},Le.USERDEFINED={type:3,value:\"USERDEFINED\"},Le.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcEarthworksCutTypeEnum=Le;class Pe{}Pe.BACKFILL={type:3,value:\"BACKFILL\"},Pe.COUNTERWEIGHT={type:3,value:\"COUNTERWEIGHT\"},Pe.EMBANKMENT={type:3,value:\"EMBANKMENT\"},Pe.SLOPEFILL={type:3,value:\"SLOPEFILL\"},Pe.SUBGRADE={type:3,value:\"SUBGRADE\"},Pe.SUBGRADEBED={type:3,value:\"SUBGRADEBED\"},Pe.TRANSITIONSECTION={type:3,value:\"TRANSITIONSECTION\"},Pe.USERDEFINED={type:3,value:\"USERDEFINED\"},Pe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcEarthworksFillTypeEnum=Pe;class qe{}qe.DISHWASHER={type:3,value:\"DISHWASHER\"},qe.ELECTRICCOOKER={type:3,value:\"ELECTRICCOOKER\"},qe.FREESTANDINGELECTRICHEATER={type:3,value:\"FREESTANDINGELECTRICHEATER\"},qe.FREESTANDINGFAN={type:3,value:\"FREESTANDINGFAN\"},qe.FREESTANDINGWATERCOOLER={type:3,value:\"FREESTANDINGWATERCOOLER\"},qe.FREESTANDINGWATERHEATER={type:3,value:\"FREESTANDINGWATERHEATER\"},qe.FREEZER={type:3,value:\"FREEZER\"},qe.FRIDGE_FREEZER={type:3,value:\"FRIDGE_FREEZER\"},qe.HANDDRYER={type:3,value:\"HANDDRYER\"},qe.KITCHENMACHINE={type:3,value:\"KITCHENMACHINE\"},qe.MICROWAVE={type:3,value:\"MICROWAVE\"},qe.PHOTOCOPIER={type:3,value:\"PHOTOCOPIER\"},qe.REFRIGERATOR={type:3,value:\"REFRIGERATOR\"},qe.TUMBLEDRYER={type:3,value:\"TUMBLEDRYER\"},qe.VENDINGMACHINE={type:3,value:\"VENDINGMACHINE\"},qe.WASHINGMACHINE={type:3,value:\"WASHINGMACHINE\"},qe.USERDEFINED={type:3,value:\"USERDEFINED\"},qe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricApplianceTypeEnum=qe;class _e{}_e.CONSUMERUNIT={type:3,value:\"CONSUMERUNIT\"},_e.DISTRIBUTIONBOARD={type:3,value:\"DISTRIBUTIONBOARD\"},_e.MOTORCONTROLCENTRE={type:3,value:\"MOTORCONTROLCENTRE\"},_e.SWITCHBOARD={type:3,value:\"SWITCHBOARD\"},_e.USERDEFINED={type:3,value:\"USERDEFINED\"},_e.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricDistributionBoardTypeEnum=_e;class Me{}Me.BATTERY={type:3,value:\"BATTERY\"},Me.CAPACITOR={type:3,value:\"CAPACITOR\"},Me.CAPACITORBANK={type:3,value:\"CAPACITORBANK\"},Me.COMPENSATOR={type:3,value:\"COMPENSATOR\"},Me.HARMONICFILTER={type:3,value:\"HARMONICFILTER\"},Me.INDUCTOR={type:3,value:\"INDUCTOR\"},Me.INDUCTORBANK={type:3,value:\"INDUCTORBANK\"},Me.RECHARGER={type:3,value:\"RECHARGER\"},Me.UPS={type:3,value:\"UPS\"},Me.USERDEFINED={type:3,value:\"USERDEFINED\"},Me.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricFlowStorageDeviceTypeEnum=Me;class He{}He.ELECTRONICFILTER={type:3,value:\"ELECTRONICFILTER\"},He.USERDEFINED={type:3,value:\"USERDEFINED\"},He.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricFlowTreatmentDeviceTypeEnum=He;class Be{}Be.CHP={type:3,value:\"CHP\"},Be.ENGINEGENERATOR={type:3,value:\"ENGINEGENERATOR\"},Be.STANDALONE={type:3,value:\"STANDALONE\"},Be.USERDEFINED={type:3,value:\"USERDEFINED\"},Be.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricGeneratorTypeEnum=Be;class Ue{}Ue.DC={type:3,value:\"DC\"},Ue.INDUCTION={type:3,value:\"INDUCTION\"},Ue.POLYPHASE={type:3,value:\"POLYPHASE\"},Ue.RELUCTANCESYNCHRONOUS={type:3,value:\"RELUCTANCESYNCHRONOUS\"},Ue.SYNCHRONOUS={type:3,value:\"SYNCHRONOUS\"},Ue.USERDEFINED={type:3,value:\"USERDEFINED\"},Ue.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricMotorTypeEnum=Ue;class Fe{}Fe.RELAY={type:3,value:\"RELAY\"},Fe.TIMECLOCK={type:3,value:\"TIMECLOCK\"},Fe.TIMEDELAY={type:3,value:\"TIMEDELAY\"},Fe.USERDEFINED={type:3,value:\"USERDEFINED\"},Fe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElectricTimeControlTypeEnum=Fe;class Ge{}Ge.ABUTMENT={type:3,value:\"ABUTMENT\"},Ge.ACCESSORY_ASSEMBLY={type:3,value:\"ACCESSORY_ASSEMBLY\"},Ge.ARCH={type:3,value:\"ARCH\"},Ge.BEAM_GRID={type:3,value:\"BEAM_GRID\"},Ge.BRACED_FRAME={type:3,value:\"BRACED_FRAME\"},Ge.CROSS_BRACING={type:3,value:\"CROSS_BRACING\"},Ge.DECK={type:3,value:\"DECK\"},Ge.DILATATIONPANEL={type:3,value:\"DILATATIONPANEL\"},Ge.ENTRANCEWORKS={type:3,value:\"ENTRANCEWORKS\"},Ge.GIRDER={type:3,value:\"GIRDER\"},Ge.GRID={type:3,value:\"GRID\"},Ge.MAST={type:3,value:\"MAST\"},Ge.PIER={type:3,value:\"PIER\"},Ge.PYLON={type:3,value:\"PYLON\"},Ge.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY={type:3,value:\"RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY\"},Ge.REINFORCEMENT_UNIT={type:3,value:\"REINFORCEMENT_UNIT\"},Ge.RIGID_FRAME={type:3,value:\"RIGID_FRAME\"},Ge.SHELTER={type:3,value:\"SHELTER\"},Ge.SIGNALASSEMBLY={type:3,value:\"SIGNALASSEMBLY\"},Ge.SLAB_FIELD={type:3,value:\"SLAB_FIELD\"},Ge.SUMPBUSTER={type:3,value:\"SUMPBUSTER\"},Ge.SUPPORTINGASSEMBLY={type:3,value:\"SUPPORTINGASSEMBLY\"},Ge.SUSPENSIONASSEMBLY={type:3,value:\"SUSPENSIONASSEMBLY\"},Ge.TRACKPANEL={type:3,value:\"TRACKPANEL\"},Ge.TRACTION_SWITCHING_ASSEMBLY={type:3,value:\"TRACTION_SWITCHING_ASSEMBLY\"},Ge.TRAFFIC_CALMING_DEVICE={type:3,value:\"TRAFFIC_CALMING_DEVICE\"},Ge.TRUSS={type:3,value:\"TRUSS\"},Ge.TURNOUTPANEL={type:3,value:\"TURNOUTPANEL\"},Ge.USERDEFINED={type:3,value:\"USERDEFINED\"},Ge.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcElementAssemblyTypeEnum=Ge;class Ve{}Ve.COMPLEX={type:3,value:\"COMPLEX\"},Ve.ELEMENT={type:3,value:\"ELEMENT\"},Ve.PARTIAL={type:3,value:\"PARTIAL\"},e.IfcElementCompositionEnum=Ve;class je{}je.EXTERNALCOMBUSTION={type:3,value:\"EXTERNALCOMBUSTION\"},je.INTERNALCOMBUSTION={type:3,value:\"INTERNALCOMBUSTION\"},je.USERDEFINED={type:3,value:\"USERDEFINED\"},je.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcEngineTypeEnum=je;class ze{}ze.DIRECTEVAPORATIVEAIRWASHER={type:3,value:\"DIRECTEVAPORATIVEAIRWASHER\"},ze.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:\"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER\"},ze.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:\"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER\"},ze.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:\"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER\"},ze.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:\"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER\"},ze.INDIRECTDIRECTCOMBINATION={type:3,value:\"INDIRECTDIRECTCOMBINATION\"},ze.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:\"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER\"},ze.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:\"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER\"},ze.INDIRECTEVAPORATIVEWETCOIL={type:3,value:\"INDIRECTEVAPORATIVEWETCOIL\"},ze.USERDEFINED={type:3,value:\"USERDEFINED\"},ze.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcEvaporativeCoolerTypeEnum=ze;class We{}We.DIRECTEXPANSION={type:3,value:\"DIRECTEXPANSION\"},We.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:\"DIRECTEXPANSIONBRAZEDPLATE\"},We.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:\"DIRECTEXPANSIONSHELLANDTUBE\"},We.DIRECTEXPANSIONTUBEINTUBE={type:3,value:\"DIRECTEXPANSIONTUBEINTUBE\"},We.FLOODEDSHELLANDTUBE={type:3,value:\"FLOODEDSHELLANDTUBE\"},We.SHELLANDCOIL={type:3,value:\"SHELLANDCOIL\"},We.USERDEFINED={type:3,value:\"USERDEFINED\"},We.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcEvaporatorTypeEnum=We;class ke{}ke.EVENTCOMPLEX={type:3,value:\"EVENTCOMPLEX\"},ke.EVENTMESSAGE={type:3,value:\"EVENTMESSAGE\"},ke.EVENTRULE={type:3,value:\"EVENTRULE\"},ke.EVENTTIME={type:3,value:\"EVENTTIME\"},ke.USERDEFINED={type:3,value:\"USERDEFINED\"},ke.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcEventTriggerTypeEnum=ke;class Ye{}Ye.ENDEVENT={type:3,value:\"ENDEVENT\"},Ye.INTERMEDIATEEVENT={type:3,value:\"INTERMEDIATEEVENT\"},Ye.STARTEVENT={type:3,value:\"STARTEVENT\"},Ye.USERDEFINED={type:3,value:\"USERDEFINED\"},Ye.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcEventTypeEnum=Ye;class Xe{}Xe.EXTERNAL={type:3,value:\"EXTERNAL\"},Xe.EXTERNAL_EARTH={type:3,value:\"EXTERNAL_EARTH\"},Xe.EXTERNAL_FIRE={type:3,value:\"EXTERNAL_FIRE\"},Xe.EXTERNAL_WATER={type:3,value:\"EXTERNAL_WATER\"},Xe.USERDEFINED={type:3,value:\"USERDEFINED\"},Xe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcExternalSpatialElementTypeEnum=Xe;class Ke{}Ke.ABOVEGROUND={type:3,value:\"ABOVEGROUND\"},Ke.BELOWGROUND={type:3,value:\"BELOWGROUND\"},Ke.JUNCTION={type:3,value:\"JUNCTION\"},Ke.LEVELCROSSING={type:3,value:\"LEVELCROSSING\"},Ke.SEGMENT={type:3,value:\"SEGMENT\"},Ke.SUBSTRUCTURE={type:3,value:\"SUBSTRUCTURE\"},Ke.SUPERSTRUCTURE={type:3,value:\"SUPERSTRUCTURE\"},Ke.TERMINAL={type:3,value:\"TERMINAL\"},Ke.USERDEFINED={type:3,value:\"USERDEFINED\"},Ke.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFacilityPartCommonTypeEnum=Ke;class Ze{}Ze.LATERAL={type:3,value:\"LATERAL\"},Ze.LONGITUDINAL={type:3,value:\"LONGITUDINAL\"},Ze.REGION={type:3,value:\"REGION\"},Ze.VERTICAL={type:3,value:\"VERTICAL\"},Ze.USERDEFINED={type:3,value:\"USERDEFINED\"},Ze.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFacilityUsageEnum=Ze;class Qe{}Qe.CENTRIFUGALAIRFOIL={type:3,value:\"CENTRIFUGALAIRFOIL\"},Qe.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:\"CENTRIFUGALBACKWARDINCLINEDCURVED\"},Qe.CENTRIFUGALFORWARDCURVED={type:3,value:\"CENTRIFUGALFORWARDCURVED\"},Qe.CENTRIFUGALRADIAL={type:3,value:\"CENTRIFUGALRADIAL\"},Qe.PROPELLORAXIAL={type:3,value:\"PROPELLORAXIAL\"},Qe.TUBEAXIAL={type:3,value:\"TUBEAXIAL\"},Qe.VANEAXIAL={type:3,value:\"VANEAXIAL\"},Qe.USERDEFINED={type:3,value:\"USERDEFINED\"},Qe.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFanTypeEnum=Qe;class Je{}Je.GLUE={type:3,value:\"GLUE\"},Je.MORTAR={type:3,value:\"MORTAR\"},Je.WELD={type:3,value:\"WELD\"},Je.USERDEFINED={type:3,value:\"USERDEFINED\"},Je.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFastenerTypeEnum=Je;class $e{}$e.AIRPARTICLEFILTER={type:3,value:\"AIRPARTICLEFILTER\"},$e.COMPRESSEDAIRFILTER={type:3,value:\"COMPRESSEDAIRFILTER\"},$e.ODORFILTER={type:3,value:\"ODORFILTER\"},$e.OILFILTER={type:3,value:\"OILFILTER\"},$e.STRAINER={type:3,value:\"STRAINER\"},$e.WATERFILTER={type:3,value:\"WATERFILTER\"},$e.USERDEFINED={type:3,value:\"USERDEFINED\"},$e.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFilterTypeEnum=$e;class et{}et.BREECHINGINLET={type:3,value:\"BREECHINGINLET\"},et.FIREHYDRANT={type:3,value:\"FIREHYDRANT\"},et.FIREMONITOR={type:3,value:\"FIREMONITOR\"},et.HOSEREEL={type:3,value:\"HOSEREEL\"},et.SPRINKLER={type:3,value:\"SPRINKLER\"},et.SPRINKLERDEFLECTOR={type:3,value:\"SPRINKLERDEFLECTOR\"},et.USERDEFINED={type:3,value:\"USERDEFINED\"},et.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFireSuppressionTerminalTypeEnum=et;class tt{}tt.SINK={type:3,value:\"SINK\"},tt.SOURCE={type:3,value:\"SOURCE\"},tt.SOURCEANDSINK={type:3,value:\"SOURCEANDSINK\"},tt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFlowDirectionEnum=tt;class nt{}nt.AMMETER={type:3,value:\"AMMETER\"},nt.COMBINED={type:3,value:\"COMBINED\"},nt.FREQUENCYMETER={type:3,value:\"FREQUENCYMETER\"},nt.PHASEANGLEMETER={type:3,value:\"PHASEANGLEMETER\"},nt.POWERFACTORMETER={type:3,value:\"POWERFACTORMETER\"},nt.PRESSUREGAUGE={type:3,value:\"PRESSUREGAUGE\"},nt.THERMOMETER={type:3,value:\"THERMOMETER\"},nt.VOLTMETER={type:3,value:\"VOLTMETER\"},nt.VOLTMETER_PEAK={type:3,value:\"VOLTMETER_PEAK\"},nt.VOLTMETER_RMS={type:3,value:\"VOLTMETER_RMS\"},nt.USERDEFINED={type:3,value:\"USERDEFINED\"},nt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFlowInstrumentTypeEnum=nt;class st{}st.ENERGYMETER={type:3,value:\"ENERGYMETER\"},st.GASMETER={type:3,value:\"GASMETER\"},st.OILMETER={type:3,value:\"OILMETER\"},st.WATERMETER={type:3,value:\"WATERMETER\"},st.USERDEFINED={type:3,value:\"USERDEFINED\"},st.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFlowMeterTypeEnum=st;class it{}it.CAISSON_FOUNDATION={type:3,value:\"CAISSON_FOUNDATION\"},it.FOOTING_BEAM={type:3,value:\"FOOTING_BEAM\"},it.PAD_FOOTING={type:3,value:\"PAD_FOOTING\"},it.PILE_CAP={type:3,value:\"PILE_CAP\"},it.STRIP_FOOTING={type:3,value:\"STRIP_FOOTING\"},it.USERDEFINED={type:3,value:\"USERDEFINED\"},it.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFootingTypeEnum=it;class at{}at.BED={type:3,value:\"BED\"},at.CHAIR={type:3,value:\"CHAIR\"},at.DESK={type:3,value:\"DESK\"},at.FILECABINET={type:3,value:\"FILECABINET\"},at.SHELF={type:3,value:\"SHELF\"},at.SOFA={type:3,value:\"SOFA\"},at.TABLE={type:3,value:\"TABLE\"},at.TECHNICALCABINET={type:3,value:\"TECHNICALCABINET\"},at.USERDEFINED={type:3,value:\"USERDEFINED\"},at.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcFurnitureTypeEnum=at;class lt{}lt.SOIL_BORING_POINT={type:3,value:\"SOIL_BORING_POINT\"},lt.TERRAIN={type:3,value:\"TERRAIN\"},lt.VEGETATION={type:3,value:\"VEGETATION\"},lt.USERDEFINED={type:3,value:\"USERDEFINED\"},lt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcGeographicElementTypeEnum=lt;class rt{}rt.ELEVATION_VIEW={type:3,value:\"ELEVATION_VIEW\"},rt.GRAPH_VIEW={type:3,value:\"GRAPH_VIEW\"},rt.MODEL_VIEW={type:3,value:\"MODEL_VIEW\"},rt.PLAN_VIEW={type:3,value:\"PLAN_VIEW\"},rt.REFLECTED_PLAN_VIEW={type:3,value:\"REFLECTED_PLAN_VIEW\"},rt.SECTION_VIEW={type:3,value:\"SECTION_VIEW\"},rt.SKETCH_VIEW={type:3,value:\"SKETCH_VIEW\"},rt.USERDEFINED={type:3,value:\"USERDEFINED\"},rt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcGeometricProjectionEnum=rt;class ot{}ot.SOLID={type:3,value:\"SOLID\"},ot.VOID={type:3,value:\"VOID\"},ot.WATER={type:3,value:\"WATER\"},ot.USERDEFINED={type:3,value:\"USERDEFINED\"},ot.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcGeotechnicalStratumTypeEnum=ot;class ct{}ct.GLOBAL_COORDS={type:3,value:\"GLOBAL_COORDS\"},ct.LOCAL_COORDS={type:3,value:\"LOCAL_COORDS\"},e.IfcGlobalOrLocalEnum=ct;class ut{}ut.IRREGULAR={type:3,value:\"IRREGULAR\"},ut.RADIAL={type:3,value:\"RADIAL\"},ut.RECTANGULAR={type:3,value:\"RECTANGULAR\"},ut.TRIANGULAR={type:3,value:\"TRIANGULAR\"},ut.USERDEFINED={type:3,value:\"USERDEFINED\"},ut.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcGridTypeEnum=ut;class pt{}pt.PLATE={type:3,value:\"PLATE\"},pt.SHELLANDTUBE={type:3,value:\"SHELLANDTUBE\"},pt.TURNOUTHEATING={type:3,value:\"TURNOUTHEATING\"},pt.USERDEFINED={type:3,value:\"USERDEFINED\"},pt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcHeatExchangerTypeEnum=pt;class ht{}ht.ADIABATICAIRWASHER={type:3,value:\"ADIABATICAIRWASHER\"},ht.ADIABATICATOMIZING={type:3,value:\"ADIABATICATOMIZING\"},ht.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:\"ADIABATICCOMPRESSEDAIRNOZZLE\"},ht.ADIABATICPAN={type:3,value:\"ADIABATICPAN\"},ht.ADIABATICRIGIDMEDIA={type:3,value:\"ADIABATICRIGIDMEDIA\"},ht.ADIABATICULTRASONIC={type:3,value:\"ADIABATICULTRASONIC\"},ht.ADIABATICWETTEDELEMENT={type:3,value:\"ADIABATICWETTEDELEMENT\"},ht.ASSISTEDBUTANE={type:3,value:\"ASSISTEDBUTANE\"},ht.ASSISTEDELECTRIC={type:3,value:\"ASSISTEDELECTRIC\"},ht.ASSISTEDNATURALGAS={type:3,value:\"ASSISTEDNATURALGAS\"},ht.ASSISTEDPROPANE={type:3,value:\"ASSISTEDPROPANE\"},ht.ASSISTEDSTEAM={type:3,value:\"ASSISTEDSTEAM\"},ht.STEAMINJECTION={type:3,value:\"STEAMINJECTION\"},ht.USERDEFINED={type:3,value:\"USERDEFINED\"},ht.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcHumidifierTypeEnum=ht;class dt{}dt.BUMPER={type:3,value:\"BUMPER\"},dt.CRASHCUSHION={type:3,value:\"CRASHCUSHION\"},dt.DAMPINGSYSTEM={type:3,value:\"DAMPINGSYSTEM\"},dt.FENDER={type:3,value:\"FENDER\"},dt.USERDEFINED={type:3,value:\"USERDEFINED\"},dt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcImpactProtectionDeviceTypeEnum=dt;class ft{}ft.CYCLONIC={type:3,value:\"CYCLONIC\"},ft.GREASE={type:3,value:\"GREASE\"},ft.OIL={type:3,value:\"OIL\"},ft.PETROL={type:3,value:\"PETROL\"},ft.USERDEFINED={type:3,value:\"USERDEFINED\"},ft.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcInterceptorTypeEnum=ft;class It{}It.EXTERNAL={type:3,value:\"EXTERNAL\"},It.EXTERNAL_EARTH={type:3,value:\"EXTERNAL_EARTH\"},It.EXTERNAL_FIRE={type:3,value:\"EXTERNAL_FIRE\"},It.EXTERNAL_WATER={type:3,value:\"EXTERNAL_WATER\"},It.INTERNAL={type:3,value:\"INTERNAL\"},It.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcInternalOrExternalEnum=It;class mt{}mt.ASSETINVENTORY={type:3,value:\"ASSETINVENTORY\"},mt.FURNITUREINVENTORY={type:3,value:\"FURNITUREINVENTORY\"},mt.SPACEINVENTORY={type:3,value:\"SPACEINVENTORY\"},mt.USERDEFINED={type:3,value:\"USERDEFINED\"},mt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcInventoryTypeEnum=mt;class yt{}yt.DATA={type:3,value:\"DATA\"},yt.POWER={type:3,value:\"POWER\"},yt.USERDEFINED={type:3,value:\"USERDEFINED\"},yt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcJunctionBoxTypeEnum=yt;class vt{}vt.PIECEWISE_BEZIER_KNOTS={type:3,value:\"PIECEWISE_BEZIER_KNOTS\"},vt.QUASI_UNIFORM_KNOTS={type:3,value:\"QUASI_UNIFORM_KNOTS\"},vt.UNIFORM_KNOTS={type:3,value:\"UNIFORM_KNOTS\"},vt.UNSPECIFIED={type:3,value:\"UNSPECIFIED\"},e.IfcKnotType=vt;class wt{}wt.ADMINISTRATION={type:3,value:\"ADMINISTRATION\"},wt.CARPENTRY={type:3,value:\"CARPENTRY\"},wt.CLEANING={type:3,value:\"CLEANING\"},wt.CONCRETE={type:3,value:\"CONCRETE\"},wt.DRYWALL={type:3,value:\"DRYWALL\"},wt.ELECTRIC={type:3,value:\"ELECTRIC\"},wt.FINISHING={type:3,value:\"FINISHING\"},wt.FLOORING={type:3,value:\"FLOORING\"},wt.GENERAL={type:3,value:\"GENERAL\"},wt.HVAC={type:3,value:\"HVAC\"},wt.LANDSCAPING={type:3,value:\"LANDSCAPING\"},wt.MASONRY={type:3,value:\"MASONRY\"},wt.PAINTING={type:3,value:\"PAINTING\"},wt.PAVING={type:3,value:\"PAVING\"},wt.PLUMBING={type:3,value:\"PLUMBING\"},wt.ROOFING={type:3,value:\"ROOFING\"},wt.SITEGRADING={type:3,value:\"SITEGRADING\"},wt.STEELWORK={type:3,value:\"STEELWORK\"},wt.SURVEYING={type:3,value:\"SURVEYING\"},wt.USERDEFINED={type:3,value:\"USERDEFINED\"},wt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLaborResourceTypeEnum=wt;class Tt{}Tt.COMPACTFLUORESCENT={type:3,value:\"COMPACTFLUORESCENT\"},Tt.FLUORESCENT={type:3,value:\"FLUORESCENT\"},Tt.HALOGEN={type:3,value:\"HALOGEN\"},Tt.HIGHPRESSUREMERCURY={type:3,value:\"HIGHPRESSUREMERCURY\"},Tt.HIGHPRESSURESODIUM={type:3,value:\"HIGHPRESSURESODIUM\"},Tt.LED={type:3,value:\"LED\"},Tt.METALHALIDE={type:3,value:\"METALHALIDE\"},Tt.OLED={type:3,value:\"OLED\"},Tt.TUNGSTENFILAMENT={type:3,value:\"TUNGSTENFILAMENT\"},Tt.USERDEFINED={type:3,value:\"USERDEFINED\"},Tt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLampTypeEnum=Tt;class Et{}Et.AXIS1={type:3,value:\"AXIS1\"},Et.AXIS2={type:3,value:\"AXIS2\"},Et.AXIS3={type:3,value:\"AXIS3\"},e.IfcLayerSetDirectionEnum=Et;class gt{}gt.TYPE_A={type:3,value:\"TYPE_A\"},gt.TYPE_B={type:3,value:\"TYPE_B\"},gt.TYPE_C={type:3,value:\"TYPE_C\"},gt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLightDistributionCurveEnum=gt;class Rt{}Rt.COMPACTFLUORESCENT={type:3,value:\"COMPACTFLUORESCENT\"},Rt.FLUORESCENT={type:3,value:\"FLUORESCENT\"},Rt.HIGHPRESSUREMERCURY={type:3,value:\"HIGHPRESSUREMERCURY\"},Rt.HIGHPRESSURESODIUM={type:3,value:\"HIGHPRESSURESODIUM\"},Rt.LIGHTEMITTINGDIODE={type:3,value:\"LIGHTEMITTINGDIODE\"},Rt.LOWPRESSURESODIUM={type:3,value:\"LOWPRESSURESODIUM\"},Rt.LOWVOLTAGEHALOGEN={type:3,value:\"LOWVOLTAGEHALOGEN\"},Rt.MAINVOLTAGEHALOGEN={type:3,value:\"MAINVOLTAGEHALOGEN\"},Rt.METALHALIDE={type:3,value:\"METALHALIDE\"},Rt.TUNGSTENFILAMENT={type:3,value:\"TUNGSTENFILAMENT\"},Rt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLightEmissionSourceEnum=Rt;class Dt{}Dt.DIRECTIONSOURCE={type:3,value:\"DIRECTIONSOURCE\"},Dt.POINTSOURCE={type:3,value:\"POINTSOURCE\"},Dt.SECURITYLIGHTING={type:3,value:\"SECURITYLIGHTING\"},Dt.USERDEFINED={type:3,value:\"USERDEFINED\"},Dt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLightFixtureTypeEnum=Dt;class St{}St.HOSEREEL={type:3,value:\"HOSEREEL\"},St.LOADINGARM={type:3,value:\"LOADINGARM\"},St.USERDEFINED={type:3,value:\"USERDEFINED\"},St.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLiquidTerminalTypeEnum=St;class bt{}bt.LOAD_CASE={type:3,value:\"LOAD_CASE\"},bt.LOAD_COMBINATION={type:3,value:\"LOAD_COMBINATION\"},bt.LOAD_GROUP={type:3,value:\"LOAD_GROUP\"},bt.USERDEFINED={type:3,value:\"USERDEFINED\"},bt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcLoadGroupTypeEnum=bt;class Nt{}Nt.LOGICALAND={type:3,value:\"LOGICALAND\"},Nt.LOGICALNOTAND={type:3,value:\"LOGICALNOTAND\"},Nt.LOGICALNOTOR={type:3,value:\"LOGICALNOTOR\"},Nt.LOGICALOR={type:3,value:\"LOGICALOR\"},Nt.LOGICALXOR={type:3,value:\"LOGICALXOR\"},e.IfcLogicalOperatorEnum=Nt;class Ot{}Ot.BARRIERBEACH={type:3,value:\"BARRIERBEACH\"},Ot.BREAKWATER={type:3,value:\"BREAKWATER\"},Ot.CANAL={type:3,value:\"CANAL\"},Ot.DRYDOCK={type:3,value:\"DRYDOCK\"},Ot.FLOATINGDOCK={type:3,value:\"FLOATINGDOCK\"},Ot.HYDROLIFT={type:3,value:\"HYDROLIFT\"},Ot.JETTY={type:3,value:\"JETTY\"},Ot.LAUNCHRECOVERY={type:3,value:\"LAUNCHRECOVERY\"},Ot.MARINEDEFENCE={type:3,value:\"MARINEDEFENCE\"},Ot.NAVIGATIONALCHANNEL={type:3,value:\"NAVIGATIONALCHANNEL\"},Ot.PORT={type:3,value:\"PORT\"},Ot.QUAY={type:3,value:\"QUAY\"},Ot.REVETMENT={type:3,value:\"REVETMENT\"},Ot.SHIPLIFT={type:3,value:\"SHIPLIFT\"},Ot.SHIPLOCK={type:3,value:\"SHIPLOCK\"},Ot.SHIPYARD={type:3,value:\"SHIPYARD\"},Ot.SLIPWAY={type:3,value:\"SLIPWAY\"},Ot.WATERWAY={type:3,value:\"WATERWAY\"},Ot.WATERWAYSHIPLIFT={type:3,value:\"WATERWAYSHIPLIFT\"},Ot.USERDEFINED={type:3,value:\"USERDEFINED\"},Ot.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcMarineFacilityTypeEnum=Ot;class At{}At.ABOVEWATERLINE={type:3,value:\"ABOVEWATERLINE\"},At.ANCHORAGE={type:3,value:\"ANCHORAGE\"},At.APPROACHCHANNEL={type:3,value:\"APPROACHCHANNEL\"},At.BELOWWATERLINE={type:3,value:\"BELOWWATERLINE\"},At.BERTHINGSTRUCTURE={type:3,value:\"BERTHINGSTRUCTURE\"},At.CHAMBER={type:3,value:\"CHAMBER\"},At.CILL_LEVEL={type:3,value:\"CILL_LEVEL\"},At.COPELEVEL={type:3,value:\"COPELEVEL\"},At.CORE={type:3,value:\"CORE\"},At.CREST={type:3,value:\"CREST\"},At.GATEHEAD={type:3,value:\"GATEHEAD\"},At.GUDINGSTRUCTURE={type:3,value:\"GUDINGSTRUCTURE\"},At.HIGHWATERLINE={type:3,value:\"HIGHWATERLINE\"},At.LANDFIELD={type:3,value:\"LANDFIELD\"},At.LEEWARDSIDE={type:3,value:\"LEEWARDSIDE\"},At.LOWWATERLINE={type:3,value:\"LOWWATERLINE\"},At.MANUFACTURING={type:3,value:\"MANUFACTURING\"},At.NAVIGATIONALAREA={type:3,value:\"NAVIGATIONALAREA\"},At.PROTECTION={type:3,value:\"PROTECTION\"},At.SHIPTRANSFER={type:3,value:\"SHIPTRANSFER\"},At.STORAGEAREA={type:3,value:\"STORAGEAREA\"},At.VEHICLESERVICING={type:3,value:\"VEHICLESERVICING\"},At.WATERFIELD={type:3,value:\"WATERFIELD\"},At.WEATHERSIDE={type:3,value:\"WEATHERSIDE\"},At.USERDEFINED={type:3,value:\"USERDEFINED\"},At.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcMarinePartTypeEnum=At;class xt{}xt.ANCHORBOLT={type:3,value:\"ANCHORBOLT\"},xt.BOLT={type:3,value:\"BOLT\"},xt.CHAIN={type:3,value:\"CHAIN\"},xt.COUPLER={type:3,value:\"COUPLER\"},xt.DOWEL={type:3,value:\"DOWEL\"},xt.NAIL={type:3,value:\"NAIL\"},xt.NAILPLATE={type:3,value:\"NAILPLATE\"},xt.RAILFASTENING={type:3,value:\"RAILFASTENING\"},xt.RAILJOINT={type:3,value:\"RAILJOINT\"},xt.RIVET={type:3,value:\"RIVET\"},xt.ROPE={type:3,value:\"ROPE\"},xt.SCREW={type:3,value:\"SCREW\"},xt.SHEARCONNECTOR={type:3,value:\"SHEARCONNECTOR\"},xt.STAPLE={type:3,value:\"STAPLE\"},xt.STUDSHEARCONNECTOR={type:3,value:\"STUDSHEARCONNECTOR\"},xt.USERDEFINED={type:3,value:\"USERDEFINED\"},xt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcMechanicalFastenerTypeEnum=xt;class Ct{}Ct.AIRSTATION={type:3,value:\"AIRSTATION\"},Ct.FEEDAIRUNIT={type:3,value:\"FEEDAIRUNIT\"},Ct.OXYGENGENERATOR={type:3,value:\"OXYGENGENERATOR\"},Ct.OXYGENPLANT={type:3,value:\"OXYGENPLANT\"},Ct.VACUUMSTATION={type:3,value:\"VACUUMSTATION\"},Ct.USERDEFINED={type:3,value:\"USERDEFINED\"},Ct.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcMedicalDeviceTypeEnum=Ct;class Lt{}Lt.ARCH_SEGMENT={type:3,value:\"ARCH_SEGMENT\"},Lt.BRACE={type:3,value:\"BRACE\"},Lt.CHORD={type:3,value:\"CHORD\"},Lt.COLLAR={type:3,value:\"COLLAR\"},Lt.MEMBER={type:3,value:\"MEMBER\"},Lt.MULLION={type:3,value:\"MULLION\"},Lt.PLATE={type:3,value:\"PLATE\"},Lt.POST={type:3,value:\"POST\"},Lt.PURLIN={type:3,value:\"PURLIN\"},Lt.RAFTER={type:3,value:\"RAFTER\"},Lt.STAY_CABLE={type:3,value:\"STAY_CABLE\"},Lt.STIFFENING_RIB={type:3,value:\"STIFFENING_RIB\"},Lt.STRINGER={type:3,value:\"STRINGER\"},Lt.STRUCTURALCABLE={type:3,value:\"STRUCTURALCABLE\"},Lt.STRUT={type:3,value:\"STRUT\"},Lt.STUD={type:3,value:\"STUD\"},Lt.SUSPENDER={type:3,value:\"SUSPENDER\"},Lt.SUSPENSION_CABLE={type:3,value:\"SUSPENSION_CABLE\"},Lt.TIEBAR={type:3,value:\"TIEBAR\"},Lt.USERDEFINED={type:3,value:\"USERDEFINED\"},Lt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcMemberTypeEnum=Lt;class Pt{}Pt.ACCESSPOINT={type:3,value:\"ACCESSPOINT\"},Pt.BASEBANDUNIT={type:3,value:\"BASEBANDUNIT\"},Pt.BASETRANSCEIVERSTATION={type:3,value:\"BASETRANSCEIVERSTATION\"},Pt.E_UTRAN_NODE_B={type:3,value:\"E_UTRAN_NODE_B\"},Pt.GATEWAY_GPRS_SUPPORT_NODE={type:3,value:\"GATEWAY_GPRS_SUPPORT_NODE\"},Pt.MASTERUNIT={type:3,value:\"MASTERUNIT\"},Pt.MOBILESWITCHINGCENTER={type:3,value:\"MOBILESWITCHINGCENTER\"},Pt.MSCSERVER={type:3,value:\"MSCSERVER\"},Pt.PACKETCONTROLUNIT={type:3,value:\"PACKETCONTROLUNIT\"},Pt.REMOTERADIOUNIT={type:3,value:\"REMOTERADIOUNIT\"},Pt.REMOTEUNIT={type:3,value:\"REMOTEUNIT\"},Pt.SERVICE_GPRS_SUPPORT_NODE={type:3,value:\"SERVICE_GPRS_SUPPORT_NODE\"},Pt.SUBSCRIBERSERVER={type:3,value:\"SUBSCRIBERSERVER\"},Pt.USERDEFINED={type:3,value:\"USERDEFINED\"},Pt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcMobileTelecommunicationsApplianceTypeEnum=Pt;class qt{}qt.BOLLARD={type:3,value:\"BOLLARD\"},qt.LINETENSIONER={type:3,value:\"LINETENSIONER\"},qt.MAGNETICDEVICE={type:3,value:\"MAGNETICDEVICE\"},qt.MOORINGHOOKS={type:3,value:\"MOORINGHOOKS\"},qt.VACUUMDEVICE={type:3,value:\"VACUUMDEVICE\"},qt.USERDEFINED={type:3,value:\"USERDEFINED\"},qt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcMooringDeviceTypeEnum=qt;class _t{}_t.BELTDRIVE={type:3,value:\"BELTDRIVE\"},_t.COUPLING={type:3,value:\"COUPLING\"},_t.DIRECTDRIVE={type:3,value:\"DIRECTDRIVE\"},_t.USERDEFINED={type:3,value:\"USERDEFINED\"},_t.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcMotorConnectionTypeEnum=_t;class Mt{}Mt.BEACON={type:3,value:\"BEACON\"},Mt.BUOY={type:3,value:\"BUOY\"},Mt.USERDEFINED={type:3,value:\"USERDEFINED\"},Mt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcNavigationElementTypeEnum=Mt;class Ht{}Ht.ACTOR={type:3,value:\"ACTOR\"},Ht.CONTROL={type:3,value:\"CONTROL\"},Ht.GROUP={type:3,value:\"GROUP\"},Ht.PROCESS={type:3,value:\"PROCESS\"},Ht.PRODUCT={type:3,value:\"PRODUCT\"},Ht.PROJECT={type:3,value:\"PROJECT\"},Ht.RESOURCE={type:3,value:\"RESOURCE\"},Ht.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcObjectTypeEnum=Ht;class Bt{}Bt.CODECOMPLIANCE={type:3,value:\"CODECOMPLIANCE\"},Bt.CODEWAIVER={type:3,value:\"CODEWAIVER\"},Bt.DESIGNINTENT={type:3,value:\"DESIGNINTENT\"},Bt.EXTERNAL={type:3,value:\"EXTERNAL\"},Bt.HEALTHANDSAFETY={type:3,value:\"HEALTHANDSAFETY\"},Bt.MERGECONFLICT={type:3,value:\"MERGECONFLICT\"},Bt.MODELVIEW={type:3,value:\"MODELVIEW\"},Bt.PARAMETER={type:3,value:\"PARAMETER\"},Bt.REQUIREMENT={type:3,value:\"REQUIREMENT\"},Bt.SPECIFICATION={type:3,value:\"SPECIFICATION\"},Bt.TRIGGERCONDITION={type:3,value:\"TRIGGERCONDITION\"},Bt.USERDEFINED={type:3,value:\"USERDEFINED\"},Bt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcObjectiveEnum=Bt;class Ut{}Ut.ASSIGNEE={type:3,value:\"ASSIGNEE\"},Ut.ASSIGNOR={type:3,value:\"ASSIGNOR\"},Ut.LESSEE={type:3,value:\"LESSEE\"},Ut.LESSOR={type:3,value:\"LESSOR\"},Ut.LETTINGAGENT={type:3,value:\"LETTINGAGENT\"},Ut.OWNER={type:3,value:\"OWNER\"},Ut.TENANT={type:3,value:\"TENANT\"},Ut.USERDEFINED={type:3,value:\"USERDEFINED\"},Ut.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcOccupantTypeEnum=Ut;class Ft{}Ft.OPENING={type:3,value:\"OPENING\"},Ft.RECESS={type:3,value:\"RECESS\"},Ft.USERDEFINED={type:3,value:\"USERDEFINED\"},Ft.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcOpeningElementTypeEnum=Ft;class Gt{}Gt.AUDIOVISUALOUTLET={type:3,value:\"AUDIOVISUALOUTLET\"},Gt.COMMUNICATIONSOUTLET={type:3,value:\"COMMUNICATIONSOUTLET\"},Gt.DATAOUTLET={type:3,value:\"DATAOUTLET\"},Gt.POWEROUTLET={type:3,value:\"POWEROUTLET\"},Gt.TELEPHONEOUTLET={type:3,value:\"TELEPHONEOUTLET\"},Gt.USERDEFINED={type:3,value:\"USERDEFINED\"},Gt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcOutletTypeEnum=Gt;class Vt{}Vt.FLEXIBLE={type:3,value:\"FLEXIBLE\"},Vt.RIGID={type:3,value:\"RIGID\"},Vt.USERDEFINED={type:3,value:\"USERDEFINED\"},Vt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPavementTypeEnum=Vt;class jt{}jt.USERDEFINED={type:3,value:\"USERDEFINED\"},jt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPerformanceHistoryTypeEnum=jt;class zt{}zt.GRILL={type:3,value:\"GRILL\"},zt.LOUVER={type:3,value:\"LOUVER\"},zt.SCREEN={type:3,value:\"SCREEN\"},zt.USERDEFINED={type:3,value:\"USERDEFINED\"},zt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPermeableCoveringOperationEnum=zt;class Wt{}Wt.ACCESS={type:3,value:\"ACCESS\"},Wt.BUILDING={type:3,value:\"BUILDING\"},Wt.WORK={type:3,value:\"WORK\"},Wt.USERDEFINED={type:3,value:\"USERDEFINED\"},Wt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPermitTypeEnum=Wt;class kt{}kt.PHYSICAL={type:3,value:\"PHYSICAL\"},kt.VIRTUAL={type:3,value:\"VIRTUAL\"},kt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPhysicalOrVirtualEnum=kt;class Yt{}Yt.CAST_IN_PLACE={type:3,value:\"CAST_IN_PLACE\"},Yt.COMPOSITE={type:3,value:\"COMPOSITE\"},Yt.PRECAST_CONCRETE={type:3,value:\"PRECAST_CONCRETE\"},Yt.PREFAB_STEEL={type:3,value:\"PREFAB_STEEL\"},Yt.USERDEFINED={type:3,value:\"USERDEFINED\"},Yt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPileConstructionEnum=Yt;class Xt{}Xt.BORED={type:3,value:\"BORED\"},Xt.COHESION={type:3,value:\"COHESION\"},Xt.DRIVEN={type:3,value:\"DRIVEN\"},Xt.FRICTION={type:3,value:\"FRICTION\"},Xt.JETGROUTING={type:3,value:\"JETGROUTING\"},Xt.SUPPORT={type:3,value:\"SUPPORT\"},Xt.USERDEFINED={type:3,value:\"USERDEFINED\"},Xt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPileTypeEnum=Xt;class Kt{}Kt.BEND={type:3,value:\"BEND\"},Kt.CONNECTOR={type:3,value:\"CONNECTOR\"},Kt.ENTRY={type:3,value:\"ENTRY\"},Kt.EXIT={type:3,value:\"EXIT\"},Kt.JUNCTION={type:3,value:\"JUNCTION\"},Kt.OBSTRUCTION={type:3,value:\"OBSTRUCTION\"},Kt.TRANSITION={type:3,value:\"TRANSITION\"},Kt.USERDEFINED={type:3,value:\"USERDEFINED\"},Kt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPipeFittingTypeEnum=Kt;class Zt{}Zt.CULVERT={type:3,value:\"CULVERT\"},Zt.FLEXIBLESEGMENT={type:3,value:\"FLEXIBLESEGMENT\"},Zt.GUTTER={type:3,value:\"GUTTER\"},Zt.RIGIDSEGMENT={type:3,value:\"RIGIDSEGMENT\"},Zt.SPOOL={type:3,value:\"SPOOL\"},Zt.USERDEFINED={type:3,value:\"USERDEFINED\"},Zt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPipeSegmentTypeEnum=Zt;class Qt{}Qt.BASE_PLATE={type:3,value:\"BASE_PLATE\"},Qt.COVER_PLATE={type:3,value:\"COVER_PLATE\"},Qt.CURTAIN_PANEL={type:3,value:\"CURTAIN_PANEL\"},Qt.FLANGE_PLATE={type:3,value:\"FLANGE_PLATE\"},Qt.GUSSET_PLATE={type:3,value:\"GUSSET_PLATE\"},Qt.SHEET={type:3,value:\"SHEET\"},Qt.SPLICE_PLATE={type:3,value:\"SPLICE_PLATE\"},Qt.STIFFENER_PLATE={type:3,value:\"STIFFENER_PLATE\"},Qt.WEB_PLATE={type:3,value:\"WEB_PLATE\"},Qt.USERDEFINED={type:3,value:\"USERDEFINED\"},Qt.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPlateTypeEnum=Qt;class Jt{}Jt.CURVE3D={type:3,value:\"CURVE3D\"},Jt.PCURVE_S1={type:3,value:\"PCURVE_S1\"},Jt.PCURVE_S2={type:3,value:\"PCURVE_S2\"},e.IfcPreferredSurfaceCurveRepresentation=Jt;class $t{}$t.ADVICE_CAUTION={type:3,value:\"ADVICE_CAUTION\"},$t.ADVICE_NOTE={type:3,value:\"ADVICE_NOTE\"},$t.ADVICE_WARNING={type:3,value:\"ADVICE_WARNING\"},$t.CALIBRATION={type:3,value:\"CALIBRATION\"},$t.DIAGNOSTIC={type:3,value:\"DIAGNOSTIC\"},$t.SHUTDOWN={type:3,value:\"SHUTDOWN\"},$t.STARTUP={type:3,value:\"STARTUP\"},$t.USERDEFINED={type:3,value:\"USERDEFINED\"},$t.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcProcedureTypeEnum=$t;class en{}en.AREA={type:3,value:\"AREA\"},en.CURVE={type:3,value:\"CURVE\"},e.IfcProfileTypeEnum=en;class tn{}tn.CHANGEORDER={type:3,value:\"CHANGEORDER\"},tn.MAINTENANCEWORKORDER={type:3,value:\"MAINTENANCEWORKORDER\"},tn.MOVEORDER={type:3,value:\"MOVEORDER\"},tn.PURCHASEORDER={type:3,value:\"PURCHASEORDER\"},tn.WORKORDER={type:3,value:\"WORKORDER\"},tn.USERDEFINED={type:3,value:\"USERDEFINED\"},tn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcProjectOrderTypeEnum=tn;class nn{}nn.PROJECTED_LENGTH={type:3,value:\"PROJECTED_LENGTH\"},nn.TRUE_LENGTH={type:3,value:\"TRUE_LENGTH\"},e.IfcProjectedOrTrueLengthEnum=nn;class sn{}sn.BLISTER={type:3,value:\"BLISTER\"},sn.DEVIATOR={type:3,value:\"DEVIATOR\"},sn.USERDEFINED={type:3,value:\"USERDEFINED\"},sn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcProjectionElementTypeEnum=sn;class an{}an.PSET_MATERIALDRIVEN={type:3,value:\"PSET_MATERIALDRIVEN\"},an.PSET_OCCURRENCEDRIVEN={type:3,value:\"PSET_OCCURRENCEDRIVEN\"},an.PSET_PERFORMANCEDRIVEN={type:3,value:\"PSET_PERFORMANCEDRIVEN\"},an.PSET_PROFILEDRIVEN={type:3,value:\"PSET_PROFILEDRIVEN\"},an.PSET_TYPEDRIVENONLY={type:3,value:\"PSET_TYPEDRIVENONLY\"},an.PSET_TYPEDRIVENOVERRIDE={type:3,value:\"PSET_TYPEDRIVENOVERRIDE\"},an.QTO_OCCURRENCEDRIVEN={type:3,value:\"QTO_OCCURRENCEDRIVEN\"},an.QTO_TYPEDRIVENONLY={type:3,value:\"QTO_TYPEDRIVENONLY\"},an.QTO_TYPEDRIVENOVERRIDE={type:3,value:\"QTO_TYPEDRIVENOVERRIDE\"},an.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPropertySetTemplateTypeEnum=an;class ln{}ln.ELECTROMAGNETIC={type:3,value:\"ELECTROMAGNETIC\"},ln.ELECTRONIC={type:3,value:\"ELECTRONIC\"},ln.RESIDUALCURRENT={type:3,value:\"RESIDUALCURRENT\"},ln.THERMAL={type:3,value:\"THERMAL\"},ln.USERDEFINED={type:3,value:\"USERDEFINED\"},ln.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcProtectiveDeviceTrippingUnitTypeEnum=ln;class rn{}rn.ANTI_ARCING_DEVICE={type:3,value:\"ANTI_ARCING_DEVICE\"},rn.CIRCUITBREAKER={type:3,value:\"CIRCUITBREAKER\"},rn.EARTHINGSWITCH={type:3,value:\"EARTHINGSWITCH\"},rn.EARTHLEAKAGECIRCUITBREAKER={type:3,value:\"EARTHLEAKAGECIRCUITBREAKER\"},rn.FUSEDISCONNECTOR={type:3,value:\"FUSEDISCONNECTOR\"},rn.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:\"RESIDUALCURRENTCIRCUITBREAKER\"},rn.RESIDUALCURRENTSWITCH={type:3,value:\"RESIDUALCURRENTSWITCH\"},rn.SPARKGAP={type:3,value:\"SPARKGAP\"},rn.VARISTOR={type:3,value:\"VARISTOR\"},rn.VOLTAGELIMITER={type:3,value:\"VOLTAGELIMITER\"},rn.USERDEFINED={type:3,value:\"USERDEFINED\"},rn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcProtectiveDeviceTypeEnum=rn;class on{}on.CIRCULATOR={type:3,value:\"CIRCULATOR\"},on.ENDSUCTION={type:3,value:\"ENDSUCTION\"},on.SPLITCASE={type:3,value:\"SPLITCASE\"},on.SUBMERSIBLEPUMP={type:3,value:\"SUBMERSIBLEPUMP\"},on.SUMPPUMP={type:3,value:\"SUMPPUMP\"},on.VERTICALINLINE={type:3,value:\"VERTICALINLINE\"},on.VERTICALTURBINE={type:3,value:\"VERTICALTURBINE\"},on.USERDEFINED={type:3,value:\"USERDEFINED\"},on.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcPumpTypeEnum=on;class cn{}cn.BLADE={type:3,value:\"BLADE\"},cn.CHECKRAIL={type:3,value:\"CHECKRAIL\"},cn.GUARDRAIL={type:3,value:\"GUARDRAIL\"},cn.RACKRAIL={type:3,value:\"RACKRAIL\"},cn.RAIL={type:3,value:\"RAIL\"},cn.STOCKRAIL={type:3,value:\"STOCKRAIL\"},cn.USERDEFINED={type:3,value:\"USERDEFINED\"},cn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRailTypeEnum=cn;class un{}un.BALUSTRADE={type:3,value:\"BALUSTRADE\"},un.FENCE={type:3,value:\"FENCE\"},un.GUARDRAIL={type:3,value:\"GUARDRAIL\"},un.HANDRAIL={type:3,value:\"HANDRAIL\"},un.USERDEFINED={type:3,value:\"USERDEFINED\"},un.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRailingTypeEnum=un;class pn{}pn.DILATATIONSUPERSTRUCTURE={type:3,value:\"DILATATIONSUPERSTRUCTURE\"},pn.LINESIDESTRUCTURE={type:3,value:\"LINESIDESTRUCTURE\"},pn.LINESIDESTRUCTUREPART={type:3,value:\"LINESIDESTRUCTUREPART\"},pn.PLAINTRACKSUPERSTRUCTURE={type:3,value:\"PLAINTRACKSUPERSTRUCTURE\"},pn.SUPERSTRUCTURE={type:3,value:\"SUPERSTRUCTURE\"},pn.TRACKSTRUCTURE={type:3,value:\"TRACKSTRUCTURE\"},pn.TRACKSTRUCTUREPART={type:3,value:\"TRACKSTRUCTUREPART\"},pn.TURNOUTSUPERSTRUCTURE={type:3,value:\"TURNOUTSUPERSTRUCTURE\"},pn.USERDEFINED={type:3,value:\"USERDEFINED\"},pn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRailwayPartTypeEnum=pn;class hn{}hn.USERDEFINED={type:3,value:\"USERDEFINED\"},hn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRailwayTypeEnum=hn;class dn{}dn.SPIRAL={type:3,value:\"SPIRAL\"},dn.STRAIGHT={type:3,value:\"STRAIGHT\"},dn.USERDEFINED={type:3,value:\"USERDEFINED\"},dn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRampFlightTypeEnum=dn;class fn{}fn.HALF_TURN_RAMP={type:3,value:\"HALF_TURN_RAMP\"},fn.QUARTER_TURN_RAMP={type:3,value:\"QUARTER_TURN_RAMP\"},fn.SPIRAL_RAMP={type:3,value:\"SPIRAL_RAMP\"},fn.STRAIGHT_RUN_RAMP={type:3,value:\"STRAIGHT_RUN_RAMP\"},fn.TWO_QUARTER_TURN_RAMP={type:3,value:\"TWO_QUARTER_TURN_RAMP\"},fn.TWO_STRAIGHT_RUN_RAMP={type:3,value:\"TWO_STRAIGHT_RUN_RAMP\"},fn.USERDEFINED={type:3,value:\"USERDEFINED\"},fn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRampTypeEnum=fn;class In{}In.BY_DAY_COUNT={type:3,value:\"BY_DAY_COUNT\"},In.BY_WEEKDAY_COUNT={type:3,value:\"BY_WEEKDAY_COUNT\"},In.DAILY={type:3,value:\"DAILY\"},In.MONTHLY_BY_DAY_OF_MONTH={type:3,value:\"MONTHLY_BY_DAY_OF_MONTH\"},In.MONTHLY_BY_POSITION={type:3,value:\"MONTHLY_BY_POSITION\"},In.WEEKLY={type:3,value:\"WEEKLY\"},In.YEARLY_BY_DAY_OF_MONTH={type:3,value:\"YEARLY_BY_DAY_OF_MONTH\"},In.YEARLY_BY_POSITION={type:3,value:\"YEARLY_BY_POSITION\"},e.IfcRecurrenceTypeEnum=In;class mn{}mn.BOUNDARY={type:3,value:\"BOUNDARY\"},mn.INTERSECTION={type:3,value:\"INTERSECTION\"},mn.KILOPOINT={type:3,value:\"KILOPOINT\"},mn.LANDMARK={type:3,value:\"LANDMARK\"},mn.MILEPOINT={type:3,value:\"MILEPOINT\"},mn.POSITION={type:3,value:\"POSITION\"},mn.REFERENCEMARKER={type:3,value:\"REFERENCEMARKER\"},mn.STATION={type:3,value:\"STATION\"},mn.USERDEFINED={type:3,value:\"USERDEFINED\"},mn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcReferentTypeEnum=mn;class yn{}yn.BLINN={type:3,value:\"BLINN\"},yn.FLAT={type:3,value:\"FLAT\"},yn.GLASS={type:3,value:\"GLASS\"},yn.MATT={type:3,value:\"MATT\"},yn.METAL={type:3,value:\"METAL\"},yn.MIRROR={type:3,value:\"MIRROR\"},yn.PHONG={type:3,value:\"PHONG\"},yn.PHYSICAL={type:3,value:\"PHYSICAL\"},yn.PLASTIC={type:3,value:\"PLASTIC\"},yn.STRAUSS={type:3,value:\"STRAUSS\"},yn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcReflectanceMethodEnum=yn;class vn{}vn.DYNAMICALLYCOMPACTED={type:3,value:\"DYNAMICALLYCOMPACTED\"},vn.GROUTED={type:3,value:\"GROUTED\"},vn.REPLACED={type:3,value:\"REPLACED\"},vn.ROLLERCOMPACTED={type:3,value:\"ROLLERCOMPACTED\"},vn.SURCHARGEPRELOADED={type:3,value:\"SURCHARGEPRELOADED\"},vn.VERTICALLYDRAINED={type:3,value:\"VERTICALLYDRAINED\"},vn.USERDEFINED={type:3,value:\"USERDEFINED\"},vn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcReinforcedSoilTypeEnum=vn;class wn{}wn.ANCHORING={type:3,value:\"ANCHORING\"},wn.EDGE={type:3,value:\"EDGE\"},wn.LIGATURE={type:3,value:\"LIGATURE\"},wn.MAIN={type:3,value:\"MAIN\"},wn.PUNCHING={type:3,value:\"PUNCHING\"},wn.RING={type:3,value:\"RING\"},wn.SHEAR={type:3,value:\"SHEAR\"},wn.STUD={type:3,value:\"STUD\"},wn.USERDEFINED={type:3,value:\"USERDEFINED\"},wn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcReinforcingBarRoleEnum=wn;class Tn{}Tn.PLAIN={type:3,value:\"PLAIN\"},Tn.TEXTURED={type:3,value:\"TEXTURED\"},e.IfcReinforcingBarSurfaceEnum=Tn;class En{}En.ANCHORING={type:3,value:\"ANCHORING\"},En.EDGE={type:3,value:\"EDGE\"},En.LIGATURE={type:3,value:\"LIGATURE\"},En.MAIN={type:3,value:\"MAIN\"},En.PUNCHING={type:3,value:\"PUNCHING\"},En.RING={type:3,value:\"RING\"},En.SHEAR={type:3,value:\"SHEAR\"},En.SPACEBAR={type:3,value:\"SPACEBAR\"},En.STUD={type:3,value:\"STUD\"},En.USERDEFINED={type:3,value:\"USERDEFINED\"},En.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcReinforcingBarTypeEnum=En;class gn{}gn.USERDEFINED={type:3,value:\"USERDEFINED\"},gn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcReinforcingMeshTypeEnum=gn;class Rn{}Rn.BICYCLECROSSING={type:3,value:\"BICYCLECROSSING\"},Rn.BUS_STOP={type:3,value:\"BUS_STOP\"},Rn.CARRIAGEWAY={type:3,value:\"CARRIAGEWAY\"},Rn.CENTRALISLAND={type:3,value:\"CENTRALISLAND\"},Rn.CENTRALRESERVE={type:3,value:\"CENTRALRESERVE\"},Rn.HARDSHOULDER={type:3,value:\"HARDSHOULDER\"},Rn.INTERSECTION={type:3,value:\"INTERSECTION\"},Rn.LAYBY={type:3,value:\"LAYBY\"},Rn.PARKINGBAY={type:3,value:\"PARKINGBAY\"},Rn.PASSINGBAY={type:3,value:\"PASSINGBAY\"},Rn.PEDESTRIAN_CROSSING={type:3,value:\"PEDESTRIAN_CROSSING\"},Rn.RAILWAYCROSSING={type:3,value:\"RAILWAYCROSSING\"},Rn.REFUGEISLAND={type:3,value:\"REFUGEISLAND\"},Rn.ROADSEGMENT={type:3,value:\"ROADSEGMENT\"},Rn.ROADSIDE={type:3,value:\"ROADSIDE\"},Rn.ROADSIDEPART={type:3,value:\"ROADSIDEPART\"},Rn.ROADWAYPLATEAU={type:3,value:\"ROADWAYPLATEAU\"},Rn.ROUNDABOUT={type:3,value:\"ROUNDABOUT\"},Rn.SHOULDER={type:3,value:\"SHOULDER\"},Rn.SIDEWALK={type:3,value:\"SIDEWALK\"},Rn.SOFTSHOULDER={type:3,value:\"SOFTSHOULDER\"},Rn.TOLLPLAZA={type:3,value:\"TOLLPLAZA\"},Rn.TRAFFICISLAND={type:3,value:\"TRAFFICISLAND\"},Rn.TRAFFICLANE={type:3,value:\"TRAFFICLANE\"},Rn.USERDEFINED={type:3,value:\"USERDEFINED\"},Rn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRoadPartTypeEnum=Rn;class Dn{}Dn.USERDEFINED={type:3,value:\"USERDEFINED\"},Dn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRoadTypeEnum=Dn;class Sn{}Sn.ARCHITECT={type:3,value:\"ARCHITECT\"},Sn.BUILDINGOPERATOR={type:3,value:\"BUILDINGOPERATOR\"},Sn.BUILDINGOWNER={type:3,value:\"BUILDINGOWNER\"},Sn.CIVILENGINEER={type:3,value:\"CIVILENGINEER\"},Sn.CLIENT={type:3,value:\"CLIENT\"},Sn.COMMISSIONINGENGINEER={type:3,value:\"COMMISSIONINGENGINEER\"},Sn.CONSTRUCTIONMANAGER={type:3,value:\"CONSTRUCTIONMANAGER\"},Sn.CONSULTANT={type:3,value:\"CONSULTANT\"},Sn.CONTRACTOR={type:3,value:\"CONTRACTOR\"},Sn.COSTENGINEER={type:3,value:\"COSTENGINEER\"},Sn.ELECTRICALENGINEER={type:3,value:\"ELECTRICALENGINEER\"},Sn.ENGINEER={type:3,value:\"ENGINEER\"},Sn.FACILITIESMANAGER={type:3,value:\"FACILITIESMANAGER\"},Sn.FIELDCONSTRUCTIONMANAGER={type:3,value:\"FIELDCONSTRUCTIONMANAGER\"},Sn.MANUFACTURER={type:3,value:\"MANUFACTURER\"},Sn.MECHANICALENGINEER={type:3,value:\"MECHANICALENGINEER\"},Sn.OWNER={type:3,value:\"OWNER\"},Sn.PROJECTMANAGER={type:3,value:\"PROJECTMANAGER\"},Sn.RESELLER={type:3,value:\"RESELLER\"},Sn.STRUCTURALENGINEER={type:3,value:\"STRUCTURALENGINEER\"},Sn.SUBCONTRACTOR={type:3,value:\"SUBCONTRACTOR\"},Sn.SUPPLIER={type:3,value:\"SUPPLIER\"},Sn.USERDEFINED={type:3,value:\"USERDEFINED\"},e.IfcRoleEnum=Sn;class bn{}bn.BARREL_ROOF={type:3,value:\"BARREL_ROOF\"},bn.BUTTERFLY_ROOF={type:3,value:\"BUTTERFLY_ROOF\"},bn.DOME_ROOF={type:3,value:\"DOME_ROOF\"},bn.FLAT_ROOF={type:3,value:\"FLAT_ROOF\"},bn.FREEFORM={type:3,value:\"FREEFORM\"},bn.GABLE_ROOF={type:3,value:\"GABLE_ROOF\"},bn.GAMBREL_ROOF={type:3,value:\"GAMBREL_ROOF\"},bn.HIPPED_GABLE_ROOF={type:3,value:\"HIPPED_GABLE_ROOF\"},bn.HIP_ROOF={type:3,value:\"HIP_ROOF\"},bn.MANSARD_ROOF={type:3,value:\"MANSARD_ROOF\"},bn.PAVILION_ROOF={type:3,value:\"PAVILION_ROOF\"},bn.RAINBOW_ROOF={type:3,value:\"RAINBOW_ROOF\"},bn.SHED_ROOF={type:3,value:\"SHED_ROOF\"},bn.USERDEFINED={type:3,value:\"USERDEFINED\"},bn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcRoofTypeEnum=bn;class Nn{}Nn.ATTO={type:3,value:\"ATTO\"},Nn.CENTI={type:3,value:\"CENTI\"},Nn.DECA={type:3,value:\"DECA\"},Nn.DECI={type:3,value:\"DECI\"},Nn.EXA={type:3,value:\"EXA\"},Nn.FEMTO={type:3,value:\"FEMTO\"},Nn.GIGA={type:3,value:\"GIGA\"},Nn.HECTO={type:3,value:\"HECTO\"},Nn.KILO={type:3,value:\"KILO\"},Nn.MEGA={type:3,value:\"MEGA\"},Nn.MICRO={type:3,value:\"MICRO\"},Nn.MILLI={type:3,value:\"MILLI\"},Nn.NANO={type:3,value:\"NANO\"},Nn.PETA={type:3,value:\"PETA\"},Nn.PICO={type:3,value:\"PICO\"},Nn.TERA={type:3,value:\"TERA\"},e.IfcSIPrefix=Nn;class On{}On.AMPERE={type:3,value:\"AMPERE\"},On.BECQUEREL={type:3,value:\"BECQUEREL\"},On.CANDELA={type:3,value:\"CANDELA\"},On.COULOMB={type:3,value:\"COULOMB\"},On.CUBIC_METRE={type:3,value:\"CUBIC_METRE\"},On.DEGREE_CELSIUS={type:3,value:\"DEGREE_CELSIUS\"},On.FARAD={type:3,value:\"FARAD\"},On.GRAM={type:3,value:\"GRAM\"},On.GRAY={type:3,value:\"GRAY\"},On.HENRY={type:3,value:\"HENRY\"},On.HERTZ={type:3,value:\"HERTZ\"},On.JOULE={type:3,value:\"JOULE\"},On.KELVIN={type:3,value:\"KELVIN\"},On.LUMEN={type:3,value:\"LUMEN\"},On.LUX={type:3,value:\"LUX\"},On.METRE={type:3,value:\"METRE\"},On.MOLE={type:3,value:\"MOLE\"},On.NEWTON={type:3,value:\"NEWTON\"},On.OHM={type:3,value:\"OHM\"},On.PASCAL={type:3,value:\"PASCAL\"},On.RADIAN={type:3,value:\"RADIAN\"},On.SECOND={type:3,value:\"SECOND\"},On.SIEMENS={type:3,value:\"SIEMENS\"},On.SIEVERT={type:3,value:\"SIEVERT\"},On.SQUARE_METRE={type:3,value:\"SQUARE_METRE\"},On.STERADIAN={type:3,value:\"STERADIAN\"},On.TESLA={type:3,value:\"TESLA\"},On.VOLT={type:3,value:\"VOLT\"},On.WATT={type:3,value:\"WATT\"},On.WEBER={type:3,value:\"WEBER\"},e.IfcSIUnitName=On;class An{}An.BATH={type:3,value:\"BATH\"},An.BIDET={type:3,value:\"BIDET\"},An.CISTERN={type:3,value:\"CISTERN\"},An.SANITARYFOUNTAIN={type:3,value:\"SANITARYFOUNTAIN\"},An.SHOWER={type:3,value:\"SHOWER\"},An.SINK={type:3,value:\"SINK\"},An.TOILETPAN={type:3,value:\"TOILETPAN\"},An.URINAL={type:3,value:\"URINAL\"},An.WASHHANDBASIN={type:3,value:\"WASHHANDBASIN\"},An.WCSEAT={type:3,value:\"WCSEAT\"},An.USERDEFINED={type:3,value:\"USERDEFINED\"},An.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSanitaryTerminalTypeEnum=An;class xn{}xn.TAPERED={type:3,value:\"TAPERED\"},xn.UNIFORM={type:3,value:\"UNIFORM\"},e.IfcSectionTypeEnum=xn;class Cn{}Cn.CO2SENSOR={type:3,value:\"CO2SENSOR\"},Cn.CONDUCTANCESENSOR={type:3,value:\"CONDUCTANCESENSOR\"},Cn.CONTACTSENSOR={type:3,value:\"CONTACTSENSOR\"},Cn.COSENSOR={type:3,value:\"COSENSOR\"},Cn.EARTHQUAKESENSOR={type:3,value:\"EARTHQUAKESENSOR\"},Cn.FIRESENSOR={type:3,value:\"FIRESENSOR\"},Cn.FLOWSENSOR={type:3,value:\"FLOWSENSOR\"},Cn.FOREIGNOBJECTDETECTIONSENSOR={type:3,value:\"FOREIGNOBJECTDETECTIONSENSOR\"},Cn.FROSTSENSOR={type:3,value:\"FROSTSENSOR\"},Cn.GASSENSOR={type:3,value:\"GASSENSOR\"},Cn.HEATSENSOR={type:3,value:\"HEATSENSOR\"},Cn.HUMIDITYSENSOR={type:3,value:\"HUMIDITYSENSOR\"},Cn.IDENTIFIERSENSOR={type:3,value:\"IDENTIFIERSENSOR\"},Cn.IONCONCENTRATIONSENSOR={type:3,value:\"IONCONCENTRATIONSENSOR\"},Cn.LEVELSENSOR={type:3,value:\"LEVELSENSOR\"},Cn.LIGHTSENSOR={type:3,value:\"LIGHTSENSOR\"},Cn.MOISTURESENSOR={type:3,value:\"MOISTURESENSOR\"},Cn.MOVEMENTSENSOR={type:3,value:\"MOVEMENTSENSOR\"},Cn.OBSTACLESENSOR={type:3,value:\"OBSTACLESENSOR\"},Cn.PHSENSOR={type:3,value:\"PHSENSOR\"},Cn.PRESSURESENSOR={type:3,value:\"PRESSURESENSOR\"},Cn.RADIATIONSENSOR={type:3,value:\"RADIATIONSENSOR\"},Cn.RADIOACTIVITYSENSOR={type:3,value:\"RADIOACTIVITYSENSOR\"},Cn.RAINSENSOR={type:3,value:\"RAINSENSOR\"},Cn.SMOKESENSOR={type:3,value:\"SMOKESENSOR\"},Cn.SNOWDEPTHSENSOR={type:3,value:\"SNOWDEPTHSENSOR\"},Cn.SOUNDSENSOR={type:3,value:\"SOUNDSENSOR\"},Cn.TEMPERATURESENSOR={type:3,value:\"TEMPERATURESENSOR\"},Cn.TRAINSENSOR={type:3,value:\"TRAINSENSOR\"},Cn.TURNOUTCLOSURESENSOR={type:3,value:\"TURNOUTCLOSURESENSOR\"},Cn.WHEELSENSOR={type:3,value:\"WHEELSENSOR\"},Cn.WINDSENSOR={type:3,value:\"WINDSENSOR\"},Cn.USERDEFINED={type:3,value:\"USERDEFINED\"},Cn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSensorTypeEnum=Cn;class Ln{}Ln.FINISH_FINISH={type:3,value:\"FINISH_FINISH\"},Ln.FINISH_START={type:3,value:\"FINISH_START\"},Ln.START_FINISH={type:3,value:\"START_FINISH\"},Ln.START_START={type:3,value:\"START_START\"},Ln.USERDEFINED={type:3,value:\"USERDEFINED\"},Ln.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSequenceEnum=Ln;class Pn{}Pn.AWNING={type:3,value:\"AWNING\"},Pn.JALOUSIE={type:3,value:\"JALOUSIE\"},Pn.SHUTTER={type:3,value:\"SHUTTER\"},Pn.USERDEFINED={type:3,value:\"USERDEFINED\"},Pn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcShadingDeviceTypeEnum=Pn;class qn{}qn.MARKER={type:3,value:\"MARKER\"},qn.MIRROR={type:3,value:\"MIRROR\"},qn.PICTORAL={type:3,value:\"PICTORAL\"},qn.USERDEFINED={type:3,value:\"USERDEFINED\"},qn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSignTypeEnum=qn;class _n{}_n.AUDIO={type:3,value:\"AUDIO\"},_n.MIXED={type:3,value:\"MIXED\"},_n.VISUAL={type:3,value:\"VISUAL\"},_n.USERDEFINED={type:3,value:\"USERDEFINED\"},_n.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSignalTypeEnum=_n;class Mn{}Mn.P_BOUNDEDVALUE={type:3,value:\"P_BOUNDEDVALUE\"},Mn.P_ENUMERATEDVALUE={type:3,value:\"P_ENUMERATEDVALUE\"},Mn.P_LISTVALUE={type:3,value:\"P_LISTVALUE\"},Mn.P_REFERENCEVALUE={type:3,value:\"P_REFERENCEVALUE\"},Mn.P_SINGLEVALUE={type:3,value:\"P_SINGLEVALUE\"},Mn.P_TABLEVALUE={type:3,value:\"P_TABLEVALUE\"},Mn.Q_AREA={type:3,value:\"Q_AREA\"},Mn.Q_COUNT={type:3,value:\"Q_COUNT\"},Mn.Q_LENGTH={type:3,value:\"Q_LENGTH\"},Mn.Q_NUMBER={type:3,value:\"Q_NUMBER\"},Mn.Q_TIME={type:3,value:\"Q_TIME\"},Mn.Q_VOLUME={type:3,value:\"Q_VOLUME\"},Mn.Q_WEIGHT={type:3,value:\"Q_WEIGHT\"},e.IfcSimplePropertyTemplateTypeEnum=Mn;class Hn{}Hn.APPROACH_SLAB={type:3,value:\"APPROACH_SLAB\"},Hn.BASESLAB={type:3,value:\"BASESLAB\"},Hn.FLOOR={type:3,value:\"FLOOR\"},Hn.LANDING={type:3,value:\"LANDING\"},Hn.PAVING={type:3,value:\"PAVING\"},Hn.ROOF={type:3,value:\"ROOF\"},Hn.SIDEWALK={type:3,value:\"SIDEWALK\"},Hn.TRACKSLAB={type:3,value:\"TRACKSLAB\"},Hn.WEARING={type:3,value:\"WEARING\"},Hn.USERDEFINED={type:3,value:\"USERDEFINED\"},Hn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSlabTypeEnum=Hn;class Bn{}Bn.SOLARCOLLECTOR={type:3,value:\"SOLARCOLLECTOR\"},Bn.SOLARPANEL={type:3,value:\"SOLARPANEL\"},Bn.USERDEFINED={type:3,value:\"USERDEFINED\"},Bn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSolarDeviceTypeEnum=Bn;class Un{}Un.CONVECTOR={type:3,value:\"CONVECTOR\"},Un.RADIATOR={type:3,value:\"RADIATOR\"},Un.USERDEFINED={type:3,value:\"USERDEFINED\"},Un.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSpaceHeaterTypeEnum=Un;class Fn{}Fn.BERTH={type:3,value:\"BERTH\"},Fn.EXTERNAL={type:3,value:\"EXTERNAL\"},Fn.GFA={type:3,value:\"GFA\"},Fn.INTERNAL={type:3,value:\"INTERNAL\"},Fn.PARKING={type:3,value:\"PARKING\"},Fn.SPACE={type:3,value:\"SPACE\"},Fn.USERDEFINED={type:3,value:\"USERDEFINED\"},Fn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSpaceTypeEnum=Fn;class Gn{}Gn.CONSTRUCTION={type:3,value:\"CONSTRUCTION\"},Gn.FIRESAFETY={type:3,value:\"FIRESAFETY\"},Gn.INTERFERENCE={type:3,value:\"INTERFERENCE\"},Gn.LIGHTING={type:3,value:\"LIGHTING\"},Gn.OCCUPANCY={type:3,value:\"OCCUPANCY\"},Gn.RESERVATION={type:3,value:\"RESERVATION\"},Gn.SECURITY={type:3,value:\"SECURITY\"},Gn.THERMAL={type:3,value:\"THERMAL\"},Gn.TRANSPORT={type:3,value:\"TRANSPORT\"},Gn.VENTILATION={type:3,value:\"VENTILATION\"},Gn.USERDEFINED={type:3,value:\"USERDEFINED\"},Gn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSpatialZoneTypeEnum=Gn;class Vn{}Vn.BIRDCAGE={type:3,value:\"BIRDCAGE\"},Vn.COWL={type:3,value:\"COWL\"},Vn.RAINWATERHOPPER={type:3,value:\"RAINWATERHOPPER\"},Vn.USERDEFINED={type:3,value:\"USERDEFINED\"},Vn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStackTerminalTypeEnum=Vn;class jn{}jn.CURVED={type:3,value:\"CURVED\"},jn.FREEFORM={type:3,value:\"FREEFORM\"},jn.SPIRAL={type:3,value:\"SPIRAL\"},jn.STRAIGHT={type:3,value:\"STRAIGHT\"},jn.WINDER={type:3,value:\"WINDER\"},jn.USERDEFINED={type:3,value:\"USERDEFINED\"},jn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStairFlightTypeEnum=jn;class zn{}zn.CURVED_RUN_STAIR={type:3,value:\"CURVED_RUN_STAIR\"},zn.DOUBLE_RETURN_STAIR={type:3,value:\"DOUBLE_RETURN_STAIR\"},zn.HALF_TURN_STAIR={type:3,value:\"HALF_TURN_STAIR\"},zn.HALF_WINDING_STAIR={type:3,value:\"HALF_WINDING_STAIR\"},zn.LADDER={type:3,value:\"LADDER\"},zn.QUARTER_TURN_STAIR={type:3,value:\"QUARTER_TURN_STAIR\"},zn.QUARTER_WINDING_STAIR={type:3,value:\"QUARTER_WINDING_STAIR\"},zn.SPIRAL_STAIR={type:3,value:\"SPIRAL_STAIR\"},zn.STRAIGHT_RUN_STAIR={type:3,value:\"STRAIGHT_RUN_STAIR\"},zn.THREE_QUARTER_TURN_STAIR={type:3,value:\"THREE_QUARTER_TURN_STAIR\"},zn.THREE_QUARTER_WINDING_STAIR={type:3,value:\"THREE_QUARTER_WINDING_STAIR\"},zn.TWO_CURVED_RUN_STAIR={type:3,value:\"TWO_CURVED_RUN_STAIR\"},zn.TWO_QUARTER_TURN_STAIR={type:3,value:\"TWO_QUARTER_TURN_STAIR\"},zn.TWO_QUARTER_WINDING_STAIR={type:3,value:\"TWO_QUARTER_WINDING_STAIR\"},zn.TWO_STRAIGHT_RUN_STAIR={type:3,value:\"TWO_STRAIGHT_RUN_STAIR\"},zn.USERDEFINED={type:3,value:\"USERDEFINED\"},zn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStairTypeEnum=zn;class Wn{}Wn.LOCKED={type:3,value:\"LOCKED\"},Wn.READONLY={type:3,value:\"READONLY\"},Wn.READONLYLOCKED={type:3,value:\"READONLYLOCKED\"},Wn.READWRITE={type:3,value:\"READWRITE\"},Wn.READWRITELOCKED={type:3,value:\"READWRITELOCKED\"},e.IfcStateEnum=Wn;class kn{}kn.CONST={type:3,value:\"CONST\"},kn.DISCRETE={type:3,value:\"DISCRETE\"},kn.EQUIDISTANT={type:3,value:\"EQUIDISTANT\"},kn.LINEAR={type:3,value:\"LINEAR\"},kn.PARABOLA={type:3,value:\"PARABOLA\"},kn.POLYGONAL={type:3,value:\"POLYGONAL\"},kn.SINUS={type:3,value:\"SINUS\"},kn.USERDEFINED={type:3,value:\"USERDEFINED\"},kn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStructuralCurveActivityTypeEnum=kn;class Yn{}Yn.CABLE={type:3,value:\"CABLE\"},Yn.COMPRESSION_MEMBER={type:3,value:\"COMPRESSION_MEMBER\"},Yn.PIN_JOINED_MEMBER={type:3,value:\"PIN_JOINED_MEMBER\"},Yn.RIGID_JOINED_MEMBER={type:3,value:\"RIGID_JOINED_MEMBER\"},Yn.TENSION_MEMBER={type:3,value:\"TENSION_MEMBER\"},Yn.USERDEFINED={type:3,value:\"USERDEFINED\"},Yn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStructuralCurveMemberTypeEnum=Yn;class Xn{}Xn.BILINEAR={type:3,value:\"BILINEAR\"},Xn.CONST={type:3,value:\"CONST\"},Xn.DISCRETE={type:3,value:\"DISCRETE\"},Xn.ISOCONTOUR={type:3,value:\"ISOCONTOUR\"},Xn.USERDEFINED={type:3,value:\"USERDEFINED\"},Xn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStructuralSurfaceActivityTypeEnum=Xn;class Kn{}Kn.BENDING_ELEMENT={type:3,value:\"BENDING_ELEMENT\"},Kn.MEMBRANE_ELEMENT={type:3,value:\"MEMBRANE_ELEMENT\"},Kn.SHELL={type:3,value:\"SHELL\"},Kn.USERDEFINED={type:3,value:\"USERDEFINED\"},Kn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcStructuralSurfaceMemberTypeEnum=Kn;class Zn{}Zn.PURCHASE={type:3,value:\"PURCHASE\"},Zn.WORK={type:3,value:\"WORK\"},Zn.USERDEFINED={type:3,value:\"USERDEFINED\"},Zn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSubContractResourceTypeEnum=Zn;class Qn{}Qn.DEFECT={type:3,value:\"DEFECT\"},Qn.HATCHMARKING={type:3,value:\"HATCHMARKING\"},Qn.LINEMARKING={type:3,value:\"LINEMARKING\"},Qn.MARK={type:3,value:\"MARK\"},Qn.NONSKIDSURFACING={type:3,value:\"NONSKIDSURFACING\"},Qn.PAVEMENTSURFACEMARKING={type:3,value:\"PAVEMENTSURFACEMARKING\"},Qn.RUMBLESTRIP={type:3,value:\"RUMBLESTRIP\"},Qn.SYMBOLMARKING={type:3,value:\"SYMBOLMARKING\"},Qn.TAG={type:3,value:\"TAG\"},Qn.TRANSVERSERUMBLESTRIP={type:3,value:\"TRANSVERSERUMBLESTRIP\"},Qn.TREATMENT={type:3,value:\"TREATMENT\"},Qn.USERDEFINED={type:3,value:\"USERDEFINED\"},Qn.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSurfaceFeatureTypeEnum=Qn;class Jn{}Jn.BOTH={type:3,value:\"BOTH\"},Jn.NEGATIVE={type:3,value:\"NEGATIVE\"},Jn.POSITIVE={type:3,value:\"POSITIVE\"},e.IfcSurfaceSide=Jn;class $n{}$n.CONTACTOR={type:3,value:\"CONTACTOR\"},$n.DIMMERSWITCH={type:3,value:\"DIMMERSWITCH\"},$n.EMERGENCYSTOP={type:3,value:\"EMERGENCYSTOP\"},$n.KEYPAD={type:3,value:\"KEYPAD\"},$n.MOMENTARYSWITCH={type:3,value:\"MOMENTARYSWITCH\"},$n.RELAY={type:3,value:\"RELAY\"},$n.SELECTORSWITCH={type:3,value:\"SELECTORSWITCH\"},$n.STARTER={type:3,value:\"STARTER\"},$n.START_AND_STOP_EQUIPMENT={type:3,value:\"START_AND_STOP_EQUIPMENT\"},$n.SWITCHDISCONNECTOR={type:3,value:\"SWITCHDISCONNECTOR\"},$n.TOGGLESWITCH={type:3,value:\"TOGGLESWITCH\"},$n.USERDEFINED={type:3,value:\"USERDEFINED\"},$n.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSwitchingDeviceTypeEnum=$n;class es{}es.PANEL={type:3,value:\"PANEL\"},es.SUBRACK={type:3,value:\"SUBRACK\"},es.WORKSURFACE={type:3,value:\"WORKSURFACE\"},es.USERDEFINED={type:3,value:\"USERDEFINED\"},es.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcSystemFurnitureElementTypeEnum=es;class ts{}ts.BASIN={type:3,value:\"BASIN\"},ts.BREAKPRESSURE={type:3,value:\"BREAKPRESSURE\"},ts.EXPANSION={type:3,value:\"EXPANSION\"},ts.FEEDANDEXPANSION={type:3,value:\"FEEDANDEXPANSION\"},ts.OILRETENTIONTRAY={type:3,value:\"OILRETENTIONTRAY\"},ts.PRESSUREVESSEL={type:3,value:\"PRESSUREVESSEL\"},ts.STORAGE={type:3,value:\"STORAGE\"},ts.VESSEL={type:3,value:\"VESSEL\"},ts.USERDEFINED={type:3,value:\"USERDEFINED\"},ts.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTankTypeEnum=ts;class ns{}ns.ELAPSEDTIME={type:3,value:\"ELAPSEDTIME\"},ns.WORKTIME={type:3,value:\"WORKTIME\"},ns.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTaskDurationEnum=ns;class ss{}ss.ADJUSTMENT={type:3,value:\"ADJUSTMENT\"},ss.ATTENDANCE={type:3,value:\"ATTENDANCE\"},ss.CALIBRATION={type:3,value:\"CALIBRATION\"},ss.CONSTRUCTION={type:3,value:\"CONSTRUCTION\"},ss.DEMOLITION={type:3,value:\"DEMOLITION\"},ss.DISMANTLE={type:3,value:\"DISMANTLE\"},ss.DISPOSAL={type:3,value:\"DISPOSAL\"},ss.EMERGENCY={type:3,value:\"EMERGENCY\"},ss.INSPECTION={type:3,value:\"INSPECTION\"},ss.INSTALLATION={type:3,value:\"INSTALLATION\"},ss.LOGISTIC={type:3,value:\"LOGISTIC\"},ss.MAINTENANCE={type:3,value:\"MAINTENANCE\"},ss.MOVE={type:3,value:\"MOVE\"},ss.OPERATION={type:3,value:\"OPERATION\"},ss.REMOVAL={type:3,value:\"REMOVAL\"},ss.RENOVATION={type:3,value:\"RENOVATION\"},ss.SAFETY={type:3,value:\"SAFETY\"},ss.SHUTDOWN={type:3,value:\"SHUTDOWN\"},ss.STARTUP={type:3,value:\"STARTUP\"},ss.TESTING={type:3,value:\"TESTING\"},ss.TROUBLESHOOTING={type:3,value:\"TROUBLESHOOTING\"},ss.USERDEFINED={type:3,value:\"USERDEFINED\"},ss.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTaskTypeEnum=ss;class is{}is.COUPLER={type:3,value:\"COUPLER\"},is.FIXED_END={type:3,value:\"FIXED_END\"},is.TENSIONING_END={type:3,value:\"TENSIONING_END\"},is.USERDEFINED={type:3,value:\"USERDEFINED\"},is.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTendonAnchorTypeEnum=is;class as{}as.COUPLER={type:3,value:\"COUPLER\"},as.DIABOLO={type:3,value:\"DIABOLO\"},as.DUCT={type:3,value:\"DUCT\"},as.GROUTING_DUCT={type:3,value:\"GROUTING_DUCT\"},as.TRUMPET={type:3,value:\"TRUMPET\"},as.USERDEFINED={type:3,value:\"USERDEFINED\"},as.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTendonConduitTypeEnum=as;class ls{}ls.BAR={type:3,value:\"BAR\"},ls.COATED={type:3,value:\"COATED\"},ls.STRAND={type:3,value:\"STRAND\"},ls.WIRE={type:3,value:\"WIRE\"},ls.USERDEFINED={type:3,value:\"USERDEFINED\"},ls.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTendonTypeEnum=ls;class rs{}rs.DOWN={type:3,value:\"DOWN\"},rs.LEFT={type:3,value:\"LEFT\"},rs.RIGHT={type:3,value:\"RIGHT\"},rs.UP={type:3,value:\"UP\"},e.IfcTextPath=rs;class os{}os.CONTINUOUS={type:3,value:\"CONTINUOUS\"},os.DISCRETE={type:3,value:\"DISCRETE\"},os.DISCRETEBINARY={type:3,value:\"DISCRETEBINARY\"},os.PIECEWISEBINARY={type:3,value:\"PIECEWISEBINARY\"},os.PIECEWISECONSTANT={type:3,value:\"PIECEWISECONSTANT\"},os.PIECEWISECONTINUOUS={type:3,value:\"PIECEWISECONTINUOUS\"},os.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTimeSeriesDataTypeEnum=os;class cs{}cs.BLOCKINGDEVICE={type:3,value:\"BLOCKINGDEVICE\"},cs.DERAILER={type:3,value:\"DERAILER\"},cs.FROG={type:3,value:\"FROG\"},cs.HALF_SET_OF_BLADES={type:3,value:\"HALF_SET_OF_BLADES\"},cs.SLEEPER={type:3,value:\"SLEEPER\"},cs.SPEEDREGULATOR={type:3,value:\"SPEEDREGULATOR\"},cs.TRACKENDOFALIGNMENT={type:3,value:\"TRACKENDOFALIGNMENT\"},cs.VEHICLESTOP={type:3,value:\"VEHICLESTOP\"},cs.USERDEFINED={type:3,value:\"USERDEFINED\"},cs.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTrackElementTypeEnum=cs;class us{}us.CHOPPER={type:3,value:\"CHOPPER\"},us.COMBINED={type:3,value:\"COMBINED\"},us.CURRENT={type:3,value:\"CURRENT\"},us.FREQUENCY={type:3,value:\"FREQUENCY\"},us.INVERTER={type:3,value:\"INVERTER\"},us.RECTIFIER={type:3,value:\"RECTIFIER\"},us.VOLTAGE={type:3,value:\"VOLTAGE\"},us.USERDEFINED={type:3,value:\"USERDEFINED\"},us.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTransformerTypeEnum=us;class ps{}ps.CONTINUOUS={type:3,value:\"CONTINUOUS\"},ps.CONTSAMEGRADIENT={type:3,value:\"CONTSAMEGRADIENT\"},ps.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:\"CONTSAMEGRADIENTSAMECURVATURE\"},ps.DISCONTINUOUS={type:3,value:\"DISCONTINUOUS\"},e.IfcTransitionCode=ps;class hs{}hs.CRANEWAY={type:3,value:\"CRANEWAY\"},hs.ELEVATOR={type:3,value:\"ELEVATOR\"},hs.ESCALATOR={type:3,value:\"ESCALATOR\"},hs.HAULINGGEAR={type:3,value:\"HAULINGGEAR\"},hs.LIFTINGGEAR={type:3,value:\"LIFTINGGEAR\"},hs.MOVINGWALKWAY={type:3,value:\"MOVINGWALKWAY\"},hs.USERDEFINED={type:3,value:\"USERDEFINED\"},hs.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTransportElementTypeEnum=hs;class ds{}ds.CARTESIAN={type:3,value:\"CARTESIAN\"},ds.PARAMETER={type:3,value:\"PARAMETER\"},ds.UNSPECIFIED={type:3,value:\"UNSPECIFIED\"},e.IfcTrimmingPreference=ds;class fs{}fs.FINNED={type:3,value:\"FINNED\"},fs.USERDEFINED={type:3,value:\"USERDEFINED\"},fs.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcTubeBundleTypeEnum=fs;class Is{}Is.ABSORBEDDOSEUNIT={type:3,value:\"ABSORBEDDOSEUNIT\"},Is.AMOUNTOFSUBSTANCEUNIT={type:3,value:\"AMOUNTOFSUBSTANCEUNIT\"},Is.AREAUNIT={type:3,value:\"AREAUNIT\"},Is.DOSEEQUIVALENTUNIT={type:3,value:\"DOSEEQUIVALENTUNIT\"},Is.ELECTRICCAPACITANCEUNIT={type:3,value:\"ELECTRICCAPACITANCEUNIT\"},Is.ELECTRICCHARGEUNIT={type:3,value:\"ELECTRICCHARGEUNIT\"},Is.ELECTRICCONDUCTANCEUNIT={type:3,value:\"ELECTRICCONDUCTANCEUNIT\"},Is.ELECTRICCURRENTUNIT={type:3,value:\"ELECTRICCURRENTUNIT\"},Is.ELECTRICRESISTANCEUNIT={type:3,value:\"ELECTRICRESISTANCEUNIT\"},Is.ELECTRICVOLTAGEUNIT={type:3,value:\"ELECTRICVOLTAGEUNIT\"},Is.ENERGYUNIT={type:3,value:\"ENERGYUNIT\"},Is.FORCEUNIT={type:3,value:\"FORCEUNIT\"},Is.FREQUENCYUNIT={type:3,value:\"FREQUENCYUNIT\"},Is.ILLUMINANCEUNIT={type:3,value:\"ILLUMINANCEUNIT\"},Is.INDUCTANCEUNIT={type:3,value:\"INDUCTANCEUNIT\"},Is.LENGTHUNIT={type:3,value:\"LENGTHUNIT\"},Is.LUMINOUSFLUXUNIT={type:3,value:\"LUMINOUSFLUXUNIT\"},Is.LUMINOUSINTENSITYUNIT={type:3,value:\"LUMINOUSINTENSITYUNIT\"},Is.MAGNETICFLUXDENSITYUNIT={type:3,value:\"MAGNETICFLUXDENSITYUNIT\"},Is.MAGNETICFLUXUNIT={type:3,value:\"MAGNETICFLUXUNIT\"},Is.MASSUNIT={type:3,value:\"MASSUNIT\"},Is.PLANEANGLEUNIT={type:3,value:\"PLANEANGLEUNIT\"},Is.POWERUNIT={type:3,value:\"POWERUNIT\"},Is.PRESSUREUNIT={type:3,value:\"PRESSUREUNIT\"},Is.RADIOACTIVITYUNIT={type:3,value:\"RADIOACTIVITYUNIT\"},Is.SOLIDANGLEUNIT={type:3,value:\"SOLIDANGLEUNIT\"},Is.THERMODYNAMICTEMPERATUREUNIT={type:3,value:\"THERMODYNAMICTEMPERATUREUNIT\"},Is.TIMEUNIT={type:3,value:\"TIMEUNIT\"},Is.VOLUMEUNIT={type:3,value:\"VOLUMEUNIT\"},Is.USERDEFINED={type:3,value:\"USERDEFINED\"},e.IfcUnitEnum=Is;class ms{}ms.ALARMPANEL={type:3,value:\"ALARMPANEL\"},ms.BASESTATIONCONTROLLER={type:3,value:\"BASESTATIONCONTROLLER\"},ms.COMBINED={type:3,value:\"COMBINED\"},ms.CONTROLPANEL={type:3,value:\"CONTROLPANEL\"},ms.GASDETECTIONPANEL={type:3,value:\"GASDETECTIONPANEL\"},ms.HUMIDISTAT={type:3,value:\"HUMIDISTAT\"},ms.INDICATORPANEL={type:3,value:\"INDICATORPANEL\"},ms.MIMICPANEL={type:3,value:\"MIMICPANEL\"},ms.THERMOSTAT={type:3,value:\"THERMOSTAT\"},ms.WEATHERSTATION={type:3,value:\"WEATHERSTATION\"},ms.USERDEFINED={type:3,value:\"USERDEFINED\"},ms.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcUnitaryControlElementTypeEnum=ms;class ys{}ys.AIRCONDITIONINGUNIT={type:3,value:\"AIRCONDITIONINGUNIT\"},ys.AIRHANDLER={type:3,value:\"AIRHANDLER\"},ys.DEHUMIDIFIER={type:3,value:\"DEHUMIDIFIER\"},ys.ROOFTOPUNIT={type:3,value:\"ROOFTOPUNIT\"},ys.SPLITSYSTEM={type:3,value:\"SPLITSYSTEM\"},ys.USERDEFINED={type:3,value:\"USERDEFINED\"},ys.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcUnitaryEquipmentTypeEnum=ys;class vs{}vs.AIRRELEASE={type:3,value:\"AIRRELEASE\"},vs.ANTIVACUUM={type:3,value:\"ANTIVACUUM\"},vs.CHANGEOVER={type:3,value:\"CHANGEOVER\"},vs.CHECK={type:3,value:\"CHECK\"},vs.COMMISSIONING={type:3,value:\"COMMISSIONING\"},vs.DIVERTING={type:3,value:\"DIVERTING\"},vs.DOUBLECHECK={type:3,value:\"DOUBLECHECK\"},vs.DOUBLEREGULATING={type:3,value:\"DOUBLEREGULATING\"},vs.DRAWOFFCOCK={type:3,value:\"DRAWOFFCOCK\"},vs.FAUCET={type:3,value:\"FAUCET\"},vs.FLUSHING={type:3,value:\"FLUSHING\"},vs.GASCOCK={type:3,value:\"GASCOCK\"},vs.GASTAP={type:3,value:\"GASTAP\"},vs.ISOLATING={type:3,value:\"ISOLATING\"},vs.MIXING={type:3,value:\"MIXING\"},vs.PRESSUREREDUCING={type:3,value:\"PRESSUREREDUCING\"},vs.PRESSURERELIEF={type:3,value:\"PRESSURERELIEF\"},vs.REGULATING={type:3,value:\"REGULATING\"},vs.SAFETYCUTOFF={type:3,value:\"SAFETYCUTOFF\"},vs.STEAMTRAP={type:3,value:\"STEAMTRAP\"},vs.STOPCOCK={type:3,value:\"STOPCOCK\"},vs.USERDEFINED={type:3,value:\"USERDEFINED\"},vs.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcValveTypeEnum=vs;class ws{}ws.CARGO={type:3,value:\"CARGO\"},ws.ROLLINGSTOCK={type:3,value:\"ROLLINGSTOCK\"},ws.VEHICLE={type:3,value:\"VEHICLE\"},ws.VEHICLEAIR={type:3,value:\"VEHICLEAIR\"},ws.VEHICLEMARINE={type:3,value:\"VEHICLEMARINE\"},ws.VEHICLETRACKED={type:3,value:\"VEHICLETRACKED\"},ws.VEHICLEWHEELED={type:3,value:\"VEHICLEWHEELED\"},ws.USERDEFINED={type:3,value:\"USERDEFINED\"},ws.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcVehicleTypeEnum=ws;class Ts{}Ts.AXIAL_YIELD={type:3,value:\"AXIAL_YIELD\"},Ts.BENDING_YIELD={type:3,value:\"BENDING_YIELD\"},Ts.FRICTION={type:3,value:\"FRICTION\"},Ts.RUBBER={type:3,value:\"RUBBER\"},Ts.SHEAR_YIELD={type:3,value:\"SHEAR_YIELD\"},Ts.VISCOUS={type:3,value:\"VISCOUS\"},Ts.USERDEFINED={type:3,value:\"USERDEFINED\"},Ts.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcVibrationDamperTypeEnum=Ts;class Es{}Es.BASE={type:3,value:\"BASE\"},Es.COMPRESSION={type:3,value:\"COMPRESSION\"},Es.SPRING={type:3,value:\"SPRING\"},Es.USERDEFINED={type:3,value:\"USERDEFINED\"},Es.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcVibrationIsolatorTypeEnum=Es;class gs{}gs.BOUNDARY={type:3,value:\"BOUNDARY\"},gs.CLEARANCE={type:3,value:\"CLEARANCE\"},gs.PROVISIONFORVOID={type:3,value:\"PROVISIONFORVOID\"},gs.USERDEFINED={type:3,value:\"USERDEFINED\"},gs.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcVirtualElementTypeEnum=gs;class Rs{}Rs.CHAMFER={type:3,value:\"CHAMFER\"},Rs.CUTOUT={type:3,value:\"CUTOUT\"},Rs.EDGE={type:3,value:\"EDGE\"},Rs.HOLE={type:3,value:\"HOLE\"},Rs.MITER={type:3,value:\"MITER\"},Rs.NOTCH={type:3,value:\"NOTCH\"},Rs.USERDEFINED={type:3,value:\"USERDEFINED\"},Rs.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcVoidingFeatureTypeEnum=Rs;class Ds{}Ds.ELEMENTEDWALL={type:3,value:\"ELEMENTEDWALL\"},Ds.MOVABLE={type:3,value:\"MOVABLE\"},Ds.PARAPET={type:3,value:\"PARAPET\"},Ds.PARTITIONING={type:3,value:\"PARTITIONING\"},Ds.PLUMBINGWALL={type:3,value:\"PLUMBINGWALL\"},Ds.POLYGONAL={type:3,value:\"POLYGONAL\"},Ds.RETAININGWALL={type:3,value:\"RETAININGWALL\"},Ds.SHEAR={type:3,value:\"SHEAR\"},Ds.SOLIDWALL={type:3,value:\"SOLIDWALL\"},Ds.STANDARD={type:3,value:\"STANDARD\"},Ds.WAVEWALL={type:3,value:\"WAVEWALL\"},Ds.USERDEFINED={type:3,value:\"USERDEFINED\"},Ds.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWallTypeEnum=Ds;class Ss{}Ss.FLOORTRAP={type:3,value:\"FLOORTRAP\"},Ss.FLOORWASTE={type:3,value:\"FLOORWASTE\"},Ss.GULLYSUMP={type:3,value:\"GULLYSUMP\"},Ss.GULLYTRAP={type:3,value:\"GULLYTRAP\"},Ss.ROOFDRAIN={type:3,value:\"ROOFDRAIN\"},Ss.WASTEDISPOSALUNIT={type:3,value:\"WASTEDISPOSALUNIT\"},Ss.WASTETRAP={type:3,value:\"WASTETRAP\"},Ss.USERDEFINED={type:3,value:\"USERDEFINED\"},Ss.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWasteTerminalTypeEnum=Ss;class bs{}bs.BOTTOMHUNG={type:3,value:\"BOTTOMHUNG\"},bs.FIXEDCASEMENT={type:3,value:\"FIXEDCASEMENT\"},bs.OTHEROPERATION={type:3,value:\"OTHEROPERATION\"},bs.PIVOTHORIZONTAL={type:3,value:\"PIVOTHORIZONTAL\"},bs.PIVOTVERTICAL={type:3,value:\"PIVOTVERTICAL\"},bs.REMOVABLECASEMENT={type:3,value:\"REMOVABLECASEMENT\"},bs.SIDEHUNGLEFTHAND={type:3,value:\"SIDEHUNGLEFTHAND\"},bs.SIDEHUNGRIGHTHAND={type:3,value:\"SIDEHUNGRIGHTHAND\"},bs.SLIDINGHORIZONTAL={type:3,value:\"SLIDINGHORIZONTAL\"},bs.SLIDINGVERTICAL={type:3,value:\"SLIDINGVERTICAL\"},bs.TILTANDTURNLEFTHAND={type:3,value:\"TILTANDTURNLEFTHAND\"},bs.TILTANDTURNRIGHTHAND={type:3,value:\"TILTANDTURNRIGHTHAND\"},bs.TOPHUNG={type:3,value:\"TOPHUNG\"},bs.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWindowPanelOperationEnum=bs;class Ns{}Ns.BOTTOM={type:3,value:\"BOTTOM\"},Ns.LEFT={type:3,value:\"LEFT\"},Ns.MIDDLE={type:3,value:\"MIDDLE\"},Ns.RIGHT={type:3,value:\"RIGHT\"},Ns.TOP={type:3,value:\"TOP\"},Ns.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWindowPanelPositionEnum=Ns;class Os{}Os.ALUMINIUM={type:3,value:\"ALUMINIUM\"},Os.ALUMINIUM_WOOD={type:3,value:\"ALUMINIUM_WOOD\"},Os.HIGH_GRADE_STEEL={type:3,value:\"HIGH_GRADE_STEEL\"},Os.OTHER_CONSTRUCTION={type:3,value:\"OTHER_CONSTRUCTION\"},Os.PLASTIC={type:3,value:\"PLASTIC\"},Os.STEEL={type:3,value:\"STEEL\"},Os.WOOD={type:3,value:\"WOOD\"},Os.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWindowStyleConstructionEnum=Os;class As{}As.DOUBLE_PANEL_HORIZONTAL={type:3,value:\"DOUBLE_PANEL_HORIZONTAL\"},As.DOUBLE_PANEL_VERTICAL={type:3,value:\"DOUBLE_PANEL_VERTICAL\"},As.SINGLE_PANEL={type:3,value:\"SINGLE_PANEL\"},As.TRIPLE_PANEL_BOTTOM={type:3,value:\"TRIPLE_PANEL_BOTTOM\"},As.TRIPLE_PANEL_HORIZONTAL={type:3,value:\"TRIPLE_PANEL_HORIZONTAL\"},As.TRIPLE_PANEL_LEFT={type:3,value:\"TRIPLE_PANEL_LEFT\"},As.TRIPLE_PANEL_RIGHT={type:3,value:\"TRIPLE_PANEL_RIGHT\"},As.TRIPLE_PANEL_TOP={type:3,value:\"TRIPLE_PANEL_TOP\"},As.TRIPLE_PANEL_VERTICAL={type:3,value:\"TRIPLE_PANEL_VERTICAL\"},As.USERDEFINED={type:3,value:\"USERDEFINED\"},As.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWindowStyleOperationEnum=As;class xs{}xs.LIGHTDOME={type:3,value:\"LIGHTDOME\"},xs.SKYLIGHT={type:3,value:\"SKYLIGHT\"},xs.WINDOW={type:3,value:\"WINDOW\"},xs.USERDEFINED={type:3,value:\"USERDEFINED\"},xs.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWindowTypeEnum=xs;class Cs{}Cs.DOUBLE_PANEL_HORIZONTAL={type:3,value:\"DOUBLE_PANEL_HORIZONTAL\"},Cs.DOUBLE_PANEL_VERTICAL={type:3,value:\"DOUBLE_PANEL_VERTICAL\"},Cs.SINGLE_PANEL={type:3,value:\"SINGLE_PANEL\"},Cs.TRIPLE_PANEL_BOTTOM={type:3,value:\"TRIPLE_PANEL_BOTTOM\"},Cs.TRIPLE_PANEL_HORIZONTAL={type:3,value:\"TRIPLE_PANEL_HORIZONTAL\"},Cs.TRIPLE_PANEL_LEFT={type:3,value:\"TRIPLE_PANEL_LEFT\"},Cs.TRIPLE_PANEL_RIGHT={type:3,value:\"TRIPLE_PANEL_RIGHT\"},Cs.TRIPLE_PANEL_TOP={type:3,value:\"TRIPLE_PANEL_TOP\"},Cs.TRIPLE_PANEL_VERTICAL={type:3,value:\"TRIPLE_PANEL_VERTICAL\"},Cs.USERDEFINED={type:3,value:\"USERDEFINED\"},Cs.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWindowTypePartitioningEnum=Cs;class Ls{}Ls.FIRSTSHIFT={type:3,value:\"FIRSTSHIFT\"},Ls.SECONDSHIFT={type:3,value:\"SECONDSHIFT\"},Ls.THIRDSHIFT={type:3,value:\"THIRDSHIFT\"},Ls.USERDEFINED={type:3,value:\"USERDEFINED\"},Ls.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWorkCalendarTypeEnum=Ls;class Ps{}Ps.ACTUAL={type:3,value:\"ACTUAL\"},Ps.BASELINE={type:3,value:\"BASELINE\"},Ps.PLANNED={type:3,value:\"PLANNED\"},Ps.USERDEFINED={type:3,value:\"USERDEFINED\"},Ps.NOTDEFINED={type:3,value:\"NOTDEFINED\"},e.IfcWorkPlanTypeEnum=Ps;class qs{}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\"},e.IfcWorkScheduleTypeEnum=qs,e.IfcActorRole=class extends Nm{constructor(e,t,n,s){super(e),this.Role=t,this.UserDefinedRole=n,this.Description=s,this.type=3630933823}};class _s extends Nm{constructor(e,t,n,s){super(e),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.type=618182010}}e.IfcAddress=_s;class Ms extends Nm{constructor(e,t,n){super(e),this.StartTag=t,this.EndTag=n,this.type=2879124712}}e.IfcAlignmentParameterSegment=Ms,e.IfcAlignmentVerticalSegment=class extends Ms{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n),this.StartTag=t,this.EndTag=n,this.StartDistAlong=s,this.HorizontalLength=i,this.StartHeight=a,this.StartGradient=l,this.EndGradient=r,this.RadiusOfCurvature=o,this.PredefinedType=c,this.type=3633395639}},e.IfcApplication=class extends Nm{constructor(e,t,n,s,i){super(e),this.ApplicationDeveloper=t,this.Version=n,this.ApplicationFullName=s,this.ApplicationIdentifier=i,this.type=639542469}};class Hs extends Nm{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e),this.Name=t,this.Description=n,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=a,this.FixedUntilDate=l,this.Category=r,this.Condition=o,this.ArithmeticOperator=c,this.Components=u,this.type=411424972}}e.IfcAppliedValue=Hs,e.IfcApproval=class extends Nm{constructor(e,t,n,s,i,a,l,r,o,c){super(e),this.Identifier=t,this.Name=n,this.Description=s,this.TimeOfApproval=i,this.Status=a,this.Level=l,this.Qualifier=r,this.RequestingApproval=o,this.GivingApproval=c,this.type=130549933}};class Bs extends Nm{constructor(e,t){super(e),this.Name=t,this.type=4037036970}}e.IfcBoundaryCondition=Bs,e.IfcBoundaryEdgeCondition=class extends Bs{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.TranslationalStiffnessByLengthX=n,this.TranslationalStiffnessByLengthY=s,this.TranslationalStiffnessByLengthZ=i,this.RotationalStiffnessByLengthX=a,this.RotationalStiffnessByLengthY=l,this.RotationalStiffnessByLengthZ=r,this.type=1560379544}},e.IfcBoundaryFaceCondition=class extends Bs{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.TranslationalStiffnessByAreaX=n,this.TranslationalStiffnessByAreaY=s,this.TranslationalStiffnessByAreaZ=i,this.type=3367102660}};class Us extends Bs{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.TranslationalStiffnessX=n,this.TranslationalStiffnessY=s,this.TranslationalStiffnessZ=i,this.RotationalStiffnessX=a,this.RotationalStiffnessY=l,this.RotationalStiffnessZ=r,this.type=1387855156}}e.IfcBoundaryNodeCondition=Us,e.IfcBoundaryNodeConditionWarping=class extends Us{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.TranslationalStiffnessX=n,this.TranslationalStiffnessY=s,this.TranslationalStiffnessZ=i,this.RotationalStiffnessX=a,this.RotationalStiffnessY=l,this.RotationalStiffnessZ=r,this.WarpingStiffness=o,this.type=2069777674}};class Fs extends Nm{constructor(e){super(e),this.type=2859738748}}e.IfcConnectionGeometry=Fs;class Gs extends Fs{constructor(e,t,n){super(e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=n,this.type=2614616156}}e.IfcConnectionPointGeometry=Gs,e.IfcConnectionSurfaceGeometry=class extends Fs{constructor(e,t,n){super(e),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=n,this.type=2732653382}},e.IfcConnectionVolumeGeometry=class extends Fs{constructor(e,t,n){super(e),this.VolumeOnRelatingElement=t,this.VolumeOnRelatedElement=n,this.type=775493141}};class Vs extends Nm{constructor(e,t,n,s,i,a,l,r){super(e),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.type=1959218052}}e.IfcConstraint=Vs;class js extends Nm{constructor(e,t,n){super(e),this.SourceCRS=t,this.TargetCRS=n,this.type=1785450214}}e.IfcCoordinateOperation=js;class zs extends Nm{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.GeodeticDatum=s,this.VerticalDatum=i,this.type=1466758467}}e.IfcCoordinateReferenceSystem=zs,e.IfcCostValue=class extends Hs{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c,u),this.Name=t,this.Description=n,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=a,this.FixedUntilDate=l,this.Category=r,this.Condition=o,this.ArithmeticOperator=c,this.Components=u,this.type=602808272}},e.IfcDerivedUnit=class extends Nm{constructor(e,t,n,s,i){super(e),this.Elements=t,this.UnitType=n,this.UserDefinedType=s,this.Name=i,this.type=1765591967}},e.IfcDerivedUnitElement=class extends Nm{constructor(e,t,n){super(e),this.Unit=t,this.Exponent=n,this.type=1045800335}},e.IfcDimensionalExponents=class extends Nm{constructor(e,t,n,s,i,a,l,r){super(e),this.LengthExponent=t,this.MassExponent=n,this.TimeExponent=s,this.ElectricCurrentExponent=i,this.ThermodynamicTemperatureExponent=a,this.AmountOfSubstanceExponent=l,this.LuminousIntensityExponent=r,this.type=2949456006}};class Ws extends Nm{constructor(e){super(e),this.type=4294318154}}e.IfcExternalInformation=Ws;class ks extends Nm{constructor(e,t,n,s){super(e),this.Location=t,this.Identification=n,this.Name=s,this.type=3200245327}}e.IfcExternalReference=ks,e.IfcExternallyDefinedHatchStyle=class extends ks{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.type=2242383968}},e.IfcExternallyDefinedSurfaceStyle=class extends ks{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.type=1040185647}},e.IfcExternallyDefinedTextFont=class extends ks{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.type=3548104201}},e.IfcGridAxis=class extends Nm{constructor(e,t,n,s){super(e),this.AxisTag=t,this.AxisCurve=n,this.SameSense=s,this.type=852622518}},e.IfcIrregularTimeSeriesValue=class extends Nm{constructor(e,t,n){super(e),this.TimeStamp=t,this.ListValues=n,this.type=3020489413}},e.IfcLibraryInformation=class extends Ws{constructor(e,t,n,s,i,a,l){super(e),this.Name=t,this.Version=n,this.Publisher=s,this.VersionDate=i,this.Location=a,this.Description=l,this.type=2655187982}},e.IfcLibraryReference=class extends ks{constructor(e,t,n,s,i,a,l){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.Description=i,this.Language=a,this.ReferencedLibrary=l,this.type=3452421091}},e.IfcLightDistributionData=class extends Nm{constructor(e,t,n,s){super(e),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=n,this.LuminousIntensity=s,this.type=4162380809}},e.IfcLightIntensityDistribution=class extends Nm{constructor(e,t,n){super(e),this.LightDistributionCurve=t,this.DistributionData=n,this.type=1566485204}},e.IfcMapConversion=class extends js{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n),this.SourceCRS=t,this.TargetCRS=n,this.Eastings=s,this.Northings=i,this.OrthogonalHeight=a,this.XAxisAbscissa=l,this.XAxisOrdinate=r,this.Scale=o,this.ScaleY=c,this.ScaleZ=u,this.type=3057273783}},e.IfcMaterialClassificationRelationship=class extends Nm{constructor(e,t,n){super(e),this.MaterialClassifications=t,this.ClassifiedMaterial=n,this.type=1847130766}};class Ys extends Nm{constructor(e){super(e),this.type=760658860}}e.IfcMaterialDefinition=Ys;class Xs extends Ys{constructor(e,t,n,s,i,a,l,r){super(e),this.Material=t,this.LayerThickness=n,this.IsVentilated=s,this.Name=i,this.Description=a,this.Category=l,this.Priority=r,this.type=248100487}}e.IfcMaterialLayer=Xs,e.IfcMaterialLayerSet=class extends Ys{constructor(e,t,n,s){super(e),this.MaterialLayers=t,this.LayerSetName=n,this.Description=s,this.type=3303938423}},e.IfcMaterialLayerWithOffsets=class extends Xs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.Material=t,this.LayerThickness=n,this.IsVentilated=s,this.Name=i,this.Description=a,this.Category=l,this.Priority=r,this.OffsetDirection=o,this.OffsetValues=c,this.type=1847252529}},e.IfcMaterialList=class extends Nm{constructor(e,t){super(e),this.Materials=t,this.type=2199411900}};class Ks extends Ys{constructor(e,t,n,s,i,a,l){super(e),this.Name=t,this.Description=n,this.Material=s,this.Profile=i,this.Priority=a,this.Category=l,this.type=2235152071}}e.IfcMaterialProfile=Ks,e.IfcMaterialProfileSet=class extends Ys{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.MaterialProfiles=s,this.CompositeProfile=i,this.type=164193824}},e.IfcMaterialProfileWithOffsets=class extends Ks{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.Name=t,this.Description=n,this.Material=s,this.Profile=i,this.Priority=a,this.Category=l,this.OffsetValues=r,this.type=552965576}};class Zs extends Nm{constructor(e){super(e),this.type=1507914824}}e.IfcMaterialUsageDefinition=Zs,e.IfcMeasureWithUnit=class extends Nm{constructor(e,t,n){super(e),this.ValueComponent=t,this.UnitComponent=n,this.type=2597039031}},e.IfcMetric=class extends Vs{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.Benchmark=o,this.ValueSource=c,this.DataValue=u,this.ReferencePath=p,this.type=3368373690}},e.IfcMonetaryUnit=class extends Nm{constructor(e,t){super(e),this.Currency=t,this.type=2706619895}};class Qs extends Nm{constructor(e,t,n){super(e),this.Dimensions=t,this.UnitType=n,this.type=1918398963}}e.IfcNamedUnit=Qs;class Js extends Nm{constructor(e,t){super(e),this.PlacementRelTo=t,this.type=3701648758}}e.IfcObjectPlacement=Js,e.IfcObjective=class extends Vs{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.BenchmarkValues=o,this.LogicalAggregator=c,this.ObjectiveQualifier=u,this.UserDefinedQualifier=p,this.type=2251480897}},e.IfcOrganization=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.Identification=t,this.Name=n,this.Description=s,this.Roles=i,this.Addresses=a,this.type=4251960020}},e.IfcOwnerHistory=class extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.OwningUser=t,this.OwningApplication=n,this.State=s,this.ChangeAction=i,this.LastModifiedDate=a,this.LastModifyingUser=l,this.LastModifyingApplication=r,this.CreationDate=o,this.type=1207048766}},e.IfcPerson=class extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.Identification=t,this.FamilyName=n,this.GivenName=s,this.MiddleNames=i,this.PrefixTitles=a,this.SuffixTitles=l,this.Roles=r,this.Addresses=o,this.type=2077209135}},e.IfcPersonAndOrganization=class extends Nm{constructor(e,t,n,s){super(e),this.ThePerson=t,this.TheOrganization=n,this.Roles=s,this.type=101040310}};class $s extends Nm{constructor(e,t,n){super(e),this.Name=t,this.Description=n,this.type=2483315170}}e.IfcPhysicalQuantity=$s;class ei extends $s{constructor(e,t,n,s){super(e,t,n),this.Name=t,this.Description=n,this.Unit=s,this.type=2226359599}}e.IfcPhysicalSimpleQuantity=ei,e.IfcPostalAddress=class extends _s{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.InternalLocation=i,this.AddressLines=a,this.PostalBox=l,this.Town=r,this.Region=o,this.PostalCode=c,this.Country=u,this.type=3355820592}};class ti extends Nm{constructor(e){super(e),this.type=677532197}}e.IfcPresentationItem=ti;class ni extends Nm{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.AssignedItems=s,this.Identifier=i,this.type=2022622350}}e.IfcPresentationLayerAssignment=ni,e.IfcPresentationLayerWithStyle=class extends ni{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i),this.Name=t,this.Description=n,this.AssignedItems=s,this.Identifier=i,this.LayerOn=a,this.LayerFrozen=l,this.LayerBlocked=r,this.LayerStyles=o,this.type=1304840413}};class si extends Nm{constructor(e,t){super(e),this.Name=t,this.type=3119450353}}e.IfcPresentationStyle=si;class ii extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.Representations=s,this.type=2095639259}}e.IfcProductRepresentation=ii;class ai extends Nm{constructor(e,t,n){super(e),this.ProfileType=t,this.ProfileName=n,this.type=3958567839}}e.IfcProfileDef=ai,e.IfcProjectedCRS=class extends zs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.Name=t,this.Description=n,this.GeodeticDatum=s,this.VerticalDatum=i,this.MapProjection=a,this.MapZone=l,this.MapUnit=r,this.type=3843373140}};class li extends Nm{constructor(e){super(e),this.type=986844984}}e.IfcPropertyAbstraction=li,e.IfcPropertyEnumeration=class extends li{constructor(e,t,n,s){super(e),this.Name=t,this.EnumerationValues=n,this.Unit=s,this.type=3710013099}},e.IfcQuantityArea=class extends ei{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.AreaValue=i,this.Formula=a,this.type=2044713172}},e.IfcQuantityCount=class extends ei{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.CountValue=i,this.Formula=a,this.type=2093928680}},e.IfcQuantityLength=class extends ei{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.LengthValue=i,this.Formula=a,this.type=931644368}},e.IfcQuantityNumber=class extends ei{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.NumberValue=i,this.Formula=a,this.type=2691318326}},e.IfcQuantityTime=class extends ei{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.TimeValue=i,this.Formula=a,this.type=3252649465}},e.IfcQuantityVolume=class extends ei{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.VolumeValue=i,this.Formula=a,this.type=2405470396}},e.IfcQuantityWeight=class extends ei{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.WeightValue=i,this.Formula=a,this.type=825690147}},e.IfcRecurrencePattern=class extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.RecurrenceType=t,this.DayComponent=n,this.WeekdayComponent=s,this.MonthComponent=i,this.Position=a,this.Interval=l,this.Occurrences=r,this.TimePeriods=o,this.type=3915482550}},e.IfcReference=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.TypeIdentifier=t,this.AttributeIdentifier=n,this.InstanceName=s,this.ListPositions=i,this.InnerReference=a,this.type=2433181523}};class ri extends Nm{constructor(e,t,n,s,i){super(e),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=1076942058}}e.IfcRepresentation=ri;class oi extends Nm{constructor(e,t,n){super(e),this.ContextIdentifier=t,this.ContextType=n,this.type=3377609919}}e.IfcRepresentationContext=oi;class ci extends Nm{constructor(e){super(e),this.type=3008791417}}e.IfcRepresentationItem=ci,e.IfcRepresentationMap=class extends Nm{constructor(e,t,n){super(e),this.MappingOrigin=t,this.MappedRepresentation=n,this.type=1660063152}};class ui extends Nm{constructor(e,t,n){super(e),this.Name=t,this.Description=n,this.type=2439245199}}e.IfcResourceLevelRelationship=ui;class pi extends Nm{constructor(e,t,n,s,i){super(e),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=2341007311}}e.IfcRoot=pi,e.IfcSIUnit=class extends Qs{constructor(e,t,n,s,i){super(e,t,n),this.Dimensions=t,this.UnitType=n,this.Prefix=s,this.Name=i,this.type=448429030}};class hi extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.type=1054537805}}e.IfcSchedulingTime=hi,e.IfcShapeAspect=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.ShapeRepresentations=t,this.Name=n,this.Description=s,this.ProductDefinitional=i,this.PartOfProductDefinitionShape=a,this.type=867548509}};class di extends ri{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=3982875396}}e.IfcShapeModel=di,e.IfcShapeRepresentation=class extends di{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=4240577450}};class fi extends Nm{constructor(e,t){super(e),this.Name=t,this.type=2273995522}}e.IfcStructuralConnectionCondition=fi;class Ii extends Nm{constructor(e,t){super(e),this.Name=t,this.type=2162789131}}e.IfcStructuralLoad=Ii,e.IfcStructuralLoadConfiguration=class extends Ii{constructor(e,t,n,s){super(e,t),this.Name=t,this.Values=n,this.Locations=s,this.type=3478079324}};class mi extends Ii{constructor(e,t){super(e,t),this.Name=t,this.type=609421318}}e.IfcStructuralLoadOrResult=mi;class yi extends mi{constructor(e,t){super(e,t),this.Name=t,this.type=2525727697}}e.IfcStructuralLoadStatic=yi,e.IfcStructuralLoadTemperature=class extends yi{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.DeltaTConstant=n,this.DeltaTY=s,this.DeltaTZ=i,this.type=3408363356}};class vi extends ri{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=2830218821}}e.IfcStyleModel=vi,e.IfcStyledItem=class extends ci{constructor(e,t,n,s){super(e),this.Item=t,this.Styles=n,this.Name=s,this.type=3958052878}},e.IfcStyledRepresentation=class extends vi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=3049322572}},e.IfcSurfaceReinforcementArea=class extends mi{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.SurfaceReinforcement1=n,this.SurfaceReinforcement2=s,this.ShearReinforcement=i,this.type=2934153892}},e.IfcSurfaceStyle=class extends si{constructor(e,t,n,s){super(e,t),this.Name=t,this.Side=n,this.Styles=s,this.type=1300840506}},e.IfcSurfaceStyleLighting=class extends ti{constructor(e,t,n,s,i){super(e),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=n,this.TransmissionColour=s,this.ReflectanceColour=i,this.type=3303107099}},e.IfcSurfaceStyleRefraction=class extends ti{constructor(e,t,n){super(e),this.RefractionIndex=t,this.DispersionFactor=n,this.type=1607154358}};class wi extends ti{constructor(e,t,n){super(e),this.SurfaceColour=t,this.Transparency=n,this.type=846575682}}e.IfcSurfaceStyleShading=wi,e.IfcSurfaceStyleWithTextures=class extends ti{constructor(e,t){super(e),this.Textures=t,this.type=1351298697}};class Ti extends ti{constructor(e,t,n,s,i,a){super(e),this.RepeatS=t,this.RepeatT=n,this.Mode=s,this.TextureTransform=i,this.Parameter=a,this.type=626085974}}e.IfcSurfaceTexture=Ti,e.IfcTable=class extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.Rows=n,this.Columns=s,this.type=985171141}},e.IfcTableColumn=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.Identifier=t,this.Name=n,this.Description=s,this.Unit=i,this.ReferencePath=a,this.type=2043862942}},e.IfcTableRow=class extends Nm{constructor(e,t,n){super(e),this.RowCells=t,this.IsHeading=n,this.type=531007025}};class Ei extends hi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.DurationType=i,this.ScheduleDuration=a,this.ScheduleStart=l,this.ScheduleFinish=r,this.EarlyStart=o,this.EarlyFinish=c,this.LateStart=u,this.LateFinish=p,this.FreeFloat=h,this.TotalFloat=d,this.IsCritical=f,this.StatusTime=I,this.ActualDuration=m,this.ActualStart=y,this.ActualFinish=v,this.RemainingTime=w,this.Completion=T,this.type=1549132990}}e.IfcTaskTime=Ei,e.IfcTaskTimeRecurring=class extends Ei{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T,E){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.DurationType=i,this.ScheduleDuration=a,this.ScheduleStart=l,this.ScheduleFinish=r,this.EarlyStart=o,this.EarlyFinish=c,this.LateStart=u,this.LateFinish=p,this.FreeFloat=h,this.TotalFloat=d,this.IsCritical=f,this.StatusTime=I,this.ActualDuration=m,this.ActualStart=y,this.ActualFinish=v,this.RemainingTime=w,this.Completion=T,this.Recurrence=E,this.type=2771591690}},e.IfcTelecomAddress=class extends _s{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.TelephoneNumbers=i,this.FacsimileNumbers=a,this.PagerNumber=l,this.ElectronicMailAddresses=r,this.WWWHomePageURL=o,this.MessagingIDs=c,this.type=912023232}},e.IfcTextStyle=class extends si{constructor(e,t,n,s,i,a){super(e,t),this.Name=t,this.TextCharacterAppearance=n,this.TextStyle=s,this.TextFontStyle=i,this.ModelOrDraughting=a,this.type=1447204868}},e.IfcTextStyleForDefinedFont=class extends ti{constructor(e,t,n){super(e),this.Colour=t,this.BackgroundColour=n,this.type=2636378356}},e.IfcTextStyleTextModel=class extends ti{constructor(e,t,n,s,i,a,l,r){super(e),this.TextIndent=t,this.TextAlign=n,this.TextDecoration=s,this.LetterSpacing=i,this.WordSpacing=a,this.TextTransform=l,this.LineHeight=r,this.type=1640371178}};class gi extends ti{constructor(e,t){super(e),this.Maps=t,this.type=280115917}}e.IfcTextureCoordinate=gi,e.IfcTextureCoordinateGenerator=class extends gi{constructor(e,t,n,s){super(e,t),this.Maps=t,this.Mode=n,this.Parameter=s,this.type=1742049831}};class Ri extends Nm{constructor(e,t,n){super(e),this.TexCoordIndex=t,this.TexCoordsOf=n,this.type=222769930}}e.IfcTextureCoordinateIndices=Ri,e.IfcTextureCoordinateIndicesWithVoids=class extends Ri{constructor(e,t,n,s){super(e,t,n),this.TexCoordIndex=t,this.TexCoordsOf=n,this.InnerTexCoordIndices=s,this.type=1010789467}},e.IfcTextureMap=class extends gi{constructor(e,t,n,s){super(e,t),this.Maps=t,this.Vertices=n,this.MappedTo=s,this.type=2552916305}},e.IfcTextureVertex=class extends ti{constructor(e,t){super(e),this.Coordinates=t,this.type=1210645708}},e.IfcTextureVertexList=class extends ti{constructor(e,t){super(e),this.TexCoordsList=t,this.type=3611470254}},e.IfcTimePeriod=class extends Nm{constructor(e,t,n){super(e),this.StartTime=t,this.EndTime=n,this.type=1199560280}};class Di extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.type=3101149627}}e.IfcTimeSeries=Di,e.IfcTimeSeriesValue=class extends Nm{constructor(e,t){super(e),this.ListValues=t,this.type=581633288}};class Si extends ci{constructor(e){super(e),this.type=1377556343}}e.IfcTopologicalRepresentationItem=Si,e.IfcTopologyRepresentation=class extends di{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=1735638870}},e.IfcUnitAssignment=class extends Nm{constructor(e,t){super(e),this.Units=t,this.type=180925521}};class bi extends Si{constructor(e){super(e),this.type=2799835756}}e.IfcVertex=bi,e.IfcVertexPoint=class extends bi{constructor(e,t){super(e),this.VertexGeometry=t,this.type=1907098498}},e.IfcVirtualGridIntersection=class extends Nm{constructor(e,t,n){super(e),this.IntersectingAxes=t,this.OffsetDistances=n,this.type=891718957}},e.IfcWorkTime=class extends hi{constructor(e,t,n,s,i,a,l){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.RecurrencePattern=i,this.StartDate=a,this.FinishDate=l,this.type=1236880293}},e.IfcAlignmentCantSegment=class extends Ms{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n),this.StartTag=t,this.EndTag=n,this.StartDistAlong=s,this.HorizontalLength=i,this.StartCantLeft=a,this.EndCantLeft=l,this.StartCantRight=r,this.EndCantRight=o,this.PredefinedType=c,this.type=3752311538}},e.IfcAlignmentHorizontalSegment=class extends Ms{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n),this.StartTag=t,this.EndTag=n,this.StartPoint=s,this.StartDirection=i,this.StartRadiusOfCurvature=a,this.EndRadiusOfCurvature=l,this.SegmentLength=r,this.GravityCenterLineHeight=o,this.PredefinedType=c,this.type=536804194}},e.IfcApprovalRelationship=class extends ui{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatingApproval=s,this.RelatedApprovals=i,this.type=3869604511}};class Ni extends ai{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.OuterCurve=s,this.type=3798115385}}e.IfcArbitraryClosedProfileDef=Ni;class Oi extends ai{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Curve=s,this.type=1310608509}}e.IfcArbitraryOpenProfileDef=Oi,e.IfcArbitraryProfileDefWithVoids=class extends Ni{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.OuterCurve=s,this.InnerCurves=i,this.type=2705031697}},e.IfcBlobTexture=class extends Ti{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.RepeatS=t,this.RepeatT=n,this.Mode=s,this.TextureTransform=i,this.Parameter=a,this.RasterFormat=l,this.RasterCode=r,this.type=616511568}},e.IfcCenterLineProfileDef=class extends Oi{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Curve=s,this.Thickness=i,this.type=3150382593}},e.IfcClassification=class extends Ws{constructor(e,t,n,s,i,a,l,r){super(e),this.Source=t,this.Edition=n,this.EditionDate=s,this.Name=i,this.Description=a,this.Specification=l,this.ReferenceTokens=r,this.type=747523909}},e.IfcClassificationReference=class extends ks{constructor(e,t,n,s,i,a,l){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.ReferencedSource=i,this.Description=a,this.Sort=l,this.type=647927063}},e.IfcColourRgbList=class extends ti{constructor(e,t){super(e),this.ColourList=t,this.type=3285139300}};class Ai extends ti{constructor(e,t){super(e),this.Name=t,this.type=3264961684}}e.IfcColourSpecification=Ai,e.IfcCompositeProfileDef=class extends ai{constructor(e,t,n,s,i){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Profiles=s,this.Label=i,this.type=1485152156}};class xi extends Si{constructor(e,t){super(e),this.CfsFaces=t,this.type=370225590}}e.IfcConnectedFaceSet=xi,e.IfcConnectionCurveGeometry=class extends Fs{constructor(e,t,n){super(e),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=n,this.type=1981873012}},e.IfcConnectionPointEccentricity=class extends Gs{constructor(e,t,n,s,i,a){super(e,t,n),this.PointOnRelatingElement=t,this.PointOnRelatedElement=n,this.EccentricityInX=s,this.EccentricityInY=i,this.EccentricityInZ=a,this.type=45288368}},e.IfcContextDependentUnit=class extends Qs{constructor(e,t,n,s){super(e,t,n),this.Dimensions=t,this.UnitType=n,this.Name=s,this.type=3050246964}};class Ci extends Qs{constructor(e,t,n,s,i){super(e,t,n),this.Dimensions=t,this.UnitType=n,this.Name=s,this.ConversionFactor=i,this.type=2889183280}}e.IfcConversionBasedUnit=Ci,e.IfcConversionBasedUnitWithOffset=class extends Ci{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Dimensions=t,this.UnitType=n,this.Name=s,this.ConversionFactor=i,this.ConversionOffset=a,this.type=2713554722}},e.IfcCurrencyRelationship=class extends ui{constructor(e,t,n,s,i,a,l,r){super(e,t,n),this.Name=t,this.Description=n,this.RelatingMonetaryUnit=s,this.RelatedMonetaryUnit=i,this.ExchangeRate=a,this.RateDateTime=l,this.RateSource=r,this.type=539742890}},e.IfcCurveStyle=class extends si{constructor(e,t,n,s,i,a){super(e,t),this.Name=t,this.CurveFont=n,this.CurveWidth=s,this.CurveColour=i,this.ModelOrDraughting=a,this.type=3800577675}},e.IfcCurveStyleFont=class extends ti{constructor(e,t,n){super(e),this.Name=t,this.PatternList=n,this.type=1105321065}},e.IfcCurveStyleFontAndScaling=class extends ti{constructor(e,t,n,s){super(e),this.Name=t,this.CurveStyleFont=n,this.CurveFontScaling=s,this.type=2367409068}},e.IfcCurveStyleFontPattern=class extends ti{constructor(e,t,n){super(e),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=n,this.type=3510044353}};class Li extends ai{constructor(e,t,n,s,i,a){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.ParentProfile=s,this.Operator=i,this.Label=a,this.type=3632507154}}e.IfcDerivedProfileDef=Li,e.IfcDocumentInformation=class extends Ws{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e),this.Identification=t,this.Name=n,this.Description=s,this.Location=i,this.Purpose=a,this.IntendedUse=l,this.Scope=r,this.Revision=o,this.DocumentOwner=c,this.Editors=u,this.CreationTime=p,this.LastRevisionTime=h,this.ElectronicFormat=d,this.ValidFrom=f,this.ValidUntil=I,this.Confidentiality=m,this.Status=y,this.type=1154170062}},e.IfcDocumentInformationRelationship=class extends ui{constructor(e,t,n,s,i,a){super(e,t,n),this.Name=t,this.Description=n,this.RelatingDocument=s,this.RelatedDocuments=i,this.RelationshipType=a,this.type=770865208}},e.IfcDocumentReference=class extends ks{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.Description=i,this.ReferencedDocument=a,this.type=3732053477}};class Pi extends Si{constructor(e,t,n){super(e),this.EdgeStart=t,this.EdgeEnd=n,this.type=3900360178}}e.IfcEdge=Pi,e.IfcEdgeCurve=class extends Pi{constructor(e,t,n,s,i){super(e,t,n),this.EdgeStart=t,this.EdgeEnd=n,this.EdgeGeometry=s,this.SameSense=i,this.type=476780140}},e.IfcEventTime=class extends hi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.ActualDate=i,this.EarlyDate=a,this.LateDate=l,this.ScheduleDate=r,this.type=211053100}};class qi extends li{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.Properties=s,this.type=297599258}}e.IfcExtendedProperties=qi,e.IfcExternalReferenceRelationship=class extends ui{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatingReference=s,this.RelatedResourceObjects=i,this.type=1437805879}};class _i extends Si{constructor(e,t){super(e),this.Bounds=t,this.type=2556980723}}e.IfcFace=_i;class Mi extends Si{constructor(e,t,n){super(e),this.Bound=t,this.Orientation=n,this.type=1809719519}}e.IfcFaceBound=Mi,e.IfcFaceOuterBound=class extends Mi{constructor(e,t,n){super(e,t,n),this.Bound=t,this.Orientation=n,this.type=803316827}};class Hi extends _i{constructor(e,t,n,s){super(e,t),this.Bounds=t,this.FaceSurface=n,this.SameSense=s,this.type=3008276851}}e.IfcFaceSurface=Hi,e.IfcFailureConnectionCondition=class extends fi{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.TensionFailureX=n,this.TensionFailureY=s,this.TensionFailureZ=i,this.CompressionFailureX=a,this.CompressionFailureY=l,this.CompressionFailureZ=r,this.type=4219587988}},e.IfcFillAreaStyle=class extends si{constructor(e,t,n,s){super(e,t),this.Name=t,this.FillStyles=n,this.ModelOrDraughting=s,this.type=738692330}};class Bi extends oi{constructor(e,t,n,s,i,a,l){super(e,t,n),this.ContextIdentifier=t,this.ContextType=n,this.CoordinateSpaceDimension=s,this.Precision=i,this.WorldCoordinateSystem=a,this.TrueNorth=l,this.type=3448662350}}e.IfcGeometricRepresentationContext=Bi;class Ui extends ci{constructor(e){super(e),this.type=2453401579}}e.IfcGeometricRepresentationItem=Ui,e.IfcGeometricRepresentationSubContext=class extends Bi{constructor(e,n,s,i,a,l,r,o){super(e,n,s,new t(0),null,i,null),this.ContextIdentifier=n,this.ContextType=s,this.WorldCoordinateSystem=i,this.ParentContext=a,this.TargetScale=l,this.TargetView=r,this.UserDefinedTargetView=o,this.type=4142052618}};class Fi extends Ui{constructor(e,t){super(e),this.Elements=t,this.type=3590301190}}e.IfcGeometricSet=Fi,e.IfcGridPlacement=class extends Js{constructor(e,t,n,s){super(e,t),this.PlacementRelTo=t,this.PlacementLocation=n,this.PlacementRefDirection=s,this.type=178086475}};class Gi extends Ui{constructor(e,t,n){super(e),this.BaseSurface=t,this.AgreementFlag=n,this.type=812098782}}e.IfcHalfSpaceSolid=Gi,e.IfcImageTexture=class extends Ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.RepeatS=t,this.RepeatT=n,this.Mode=s,this.TextureTransform=i,this.Parameter=a,this.URLReference=l,this.type=3905492369}},e.IfcIndexedColourMap=class extends ti{constructor(e,t,n,s,i){super(e),this.MappedTo=t,this.Opacity=n,this.Colours=s,this.ColourIndex=i,this.type=3570813810}};class Vi extends gi{constructor(e,t,n,s){super(e,t),this.Maps=t,this.MappedTo=n,this.TexCoords=s,this.type=1437953363}}e.IfcIndexedTextureMap=Vi,e.IfcIndexedTriangleTextureMap=class extends Vi{constructor(e,t,n,s,i){super(e,t,n,s),this.Maps=t,this.MappedTo=n,this.TexCoords=s,this.TexCoordIndex=i,this.type=2133299955}},e.IfcIrregularTimeSeries=class extends Di{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.Values=c,this.type=3741457305}},e.IfcLagTime=class extends hi{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.LagValue=i,this.DurationType=a,this.type=1585845231}};class ji extends Ui{constructor(e,t,n,s,i){super(e),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.type=1402838566}}e.IfcLightSource=ji,e.IfcLightSourceAmbient=class extends ji{constructor(e,t,n,s,i){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.type=125510826}},e.IfcLightSourceDirectional=class extends ji{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Orientation=a,this.type=2604431987}},e.IfcLightSourceGoniometric=class extends ji{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.ColourAppearance=l,this.ColourTemperature=r,this.LuminousFlux=o,this.LightEmissionSource=c,this.LightDistributionDataSource=u,this.type=4266656042}};class zi extends ji{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.Radius=l,this.ConstantAttenuation=r,this.DistanceAttenuation=o,this.QuadricAttenuation=c,this.type=1520743889}}e.IfcLightSourcePositional=zi,e.IfcLightSourceSpot=class extends zi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.Radius=l,this.ConstantAttenuation=r,this.DistanceAttenuation=o,this.QuadricAttenuation=c,this.Orientation=u,this.ConcentrationExponent=p,this.SpreadAngle=h,this.BeamWidthAngle=d,this.type=3422422726}},e.IfcLinearPlacement=class extends Js{constructor(e,t,n,s){super(e,t),this.PlacementRelTo=t,this.RelativePlacement=n,this.CartesianPosition=s,this.type=388784114}},e.IfcLocalPlacement=class extends Js{constructor(e,t,n){super(e,t),this.PlacementRelTo=t,this.RelativePlacement=n,this.type=2624227202}};class Wi extends Si{constructor(e){super(e),this.type=1008929658}}e.IfcLoop=Wi,e.IfcMappedItem=class extends ci{constructor(e,t,n){super(e),this.MappingSource=t,this.MappingTarget=n,this.type=2347385850}},e.IfcMaterial=class extends Ys{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.Category=s,this.type=1838606355}},e.IfcMaterialConstituent=class extends Ys{constructor(e,t,n,s,i,a){super(e),this.Name=t,this.Description=n,this.Material=s,this.Fraction=i,this.Category=a,this.type=3708119e3}},e.IfcMaterialConstituentSet=class extends Ys{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.MaterialConstituents=s,this.type=2852063980}},e.IfcMaterialDefinitionRepresentation=class extends ii{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Representations=s,this.RepresentedMaterial=i,this.type=2022407955}},e.IfcMaterialLayerSetUsage=class extends Zs{constructor(e,t,n,s,i,a){super(e),this.ForLayerSet=t,this.LayerSetDirection=n,this.DirectionSense=s,this.OffsetFromReferenceLine=i,this.ReferenceExtent=a,this.type=1303795690}};class ki extends Zs{constructor(e,t,n,s){super(e),this.ForProfileSet=t,this.CardinalPoint=n,this.ReferenceExtent=s,this.type=3079605661}}e.IfcMaterialProfileSetUsage=ki,e.IfcMaterialProfileSetUsageTapering=class extends ki{constructor(e,t,n,s,i,a){super(e,t,n,s),this.ForProfileSet=t,this.CardinalPoint=n,this.ReferenceExtent=s,this.ForProfileEndSet=i,this.CardinalEndPoint=a,this.type=3404854881}},e.IfcMaterialProperties=class extends qi{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Properties=s,this.Material=i,this.type=3265635763}},e.IfcMaterialRelationship=class extends ui{constructor(e,t,n,s,i,a){super(e,t,n),this.Name=t,this.Description=n,this.RelatingMaterial=s,this.RelatedMaterials=i,this.MaterialExpression=a,this.type=853536259}},e.IfcMirroredProfileDef=class extends Li{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.ProfileType=t,this.ProfileName=n,this.ParentProfile=s,this.Operator=i,this.Label=a,this.type=2998442950}};class Yi extends pi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=219451334}}e.IfcObjectDefinition=Yi,e.IfcOpenCrossProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.HorizontalWidths=s,this.Widths=i,this.Slopes=a,this.Tags=l,this.OffsetPoint=r,this.type=182550632}},e.IfcOpenShell=class extends xi{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2665983363}},e.IfcOrganizationRelationship=class extends ui{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatingOrganization=s,this.RelatedOrganizations=i,this.type=1411181986}},e.IfcOrientedEdge=class extends Pi{constructor(e,t,n,s){super(e,t,new bm(0)),this.EdgeStart=t,this.EdgeElement=n,this.Orientation=s,this.type=1029017970}};class Xi extends ai{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.type=2529465313}}e.IfcParameterizedProfileDef=Xi,e.IfcPath=class extends Si{constructor(e,t){super(e),this.EdgeList=t,this.type=2519244187}},e.IfcPhysicalComplexQuantity=class extends $s{constructor(e,t,n,s,i,a,l){super(e,t,n),this.Name=t,this.Description=n,this.HasQuantities=s,this.Discrimination=i,this.Quality=a,this.Usage=l,this.type=3021840470}},e.IfcPixelTexture=class extends Ti{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a),this.RepeatS=t,this.RepeatT=n,this.Mode=s,this.TextureTransform=i,this.Parameter=a,this.Width=l,this.Height=r,this.ColourComponents=o,this.Pixel=c,this.type=597895409}};class Ki extends Ui{constructor(e,t){super(e),this.Location=t,this.type=2004835150}}e.IfcPlacement=Ki;class Zi extends Ui{constructor(e,t,n){super(e),this.SizeInX=t,this.SizeInY=n,this.type=1663979128}}e.IfcPlanarExtent=Zi;class Qi extends Ui{constructor(e){super(e),this.type=2067069095}}e.IfcPoint=Qi,e.IfcPointByDistanceExpression=class extends Qi{constructor(e,t,n,s,i,a){super(e),this.DistanceAlong=t,this.OffsetLateral=n,this.OffsetVertical=s,this.OffsetLongitudinal=i,this.BasisCurve=a,this.type=2165702409}},e.IfcPointOnCurve=class extends Qi{constructor(e,t,n){super(e),this.BasisCurve=t,this.PointParameter=n,this.type=4022376103}},e.IfcPointOnSurface=class extends Qi{constructor(e,t,n,s){super(e),this.BasisSurface=t,this.PointParameterU=n,this.PointParameterV=s,this.type=1423911732}},e.IfcPolyLoop=class extends Wi{constructor(e,t){super(e),this.Polygon=t,this.type=2924175390}},e.IfcPolygonalBoundedHalfSpace=class extends Gi{constructor(e,t,n,s,i){super(e,t,n),this.BaseSurface=t,this.AgreementFlag=n,this.Position=s,this.PolygonalBoundary=i,this.type=2775532180}};class Ji extends ti{constructor(e,t){super(e),this.Name=t,this.type=3727388367}}e.IfcPreDefinedItem=Ji;class $i extends li{constructor(e){super(e),this.type=3778827333}}e.IfcPreDefinedProperties=$i;class ea extends Ji{constructor(e,t){super(e,t),this.Name=t,this.type=1775413392}}e.IfcPreDefinedTextFont=ea,e.IfcProductDefinitionShape=class extends ii{constructor(e,t,n,s){super(e,t,n,s),this.Name=t,this.Description=n,this.Representations=s,this.type=673634403}},e.IfcProfileProperties=class extends qi{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Properties=s,this.ProfileDefinition=i,this.type=2802850158}};class ta extends li{constructor(e,t,n){super(e),this.Name=t,this.Specification=n,this.type=2598011224}}e.IfcProperty=ta;class na extends pi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=1680319473}}e.IfcPropertyDefinition=na,e.IfcPropertyDependencyRelationship=class extends ui{constructor(e,t,n,s,i,a){super(e,t,n),this.Name=t,this.Description=n,this.DependingProperty=s,this.DependantProperty=i,this.Expression=a,this.type=148025276}};class sa extends na{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=3357820518}}e.IfcPropertySetDefinition=sa;class ia extends na{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=1482703590}}e.IfcPropertyTemplateDefinition=ia;class aa extends sa{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=2090586900}}e.IfcQuantitySet=aa;class la extends Xi{constructor(e,t,n,s,i,a){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.type=3615266464}}e.IfcRectangleProfileDef=la,e.IfcRegularTimeSeries=class extends Di{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.TimeStep=c,this.Values=u,this.type=3413951693}},e.IfcReinforcementBarProperties=class extends $i{constructor(e,t,n,s,i,a,l){super(e),this.TotalCrossSectionArea=t,this.SteelGrade=n,this.BarSurface=s,this.EffectiveDepth=i,this.NominalBarDiameter=a,this.BarCount=l,this.type=1580146022}};class ra extends pi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=478536968}}e.IfcRelationship=ra,e.IfcResourceApprovalRelationship=class extends ui{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatedResourceObjects=s,this.RelatingApproval=i,this.type=2943643501}},e.IfcResourceConstraintRelationship=class extends ui{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatingConstraint=s,this.RelatedResourceObjects=i,this.type=1608871552}},e.IfcResourceTime=class extends hi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.ScheduleWork=i,this.ScheduleUsage=a,this.ScheduleStart=l,this.ScheduleFinish=r,this.ScheduleContour=o,this.LevelingDelay=c,this.IsOverAllocated=u,this.StatusTime=p,this.ActualWork=h,this.ActualUsage=d,this.ActualStart=f,this.ActualFinish=I,this.RemainingWork=m,this.RemainingUsage=y,this.Completion=v,this.type=1042787934}},e.IfcRoundedRectangleProfileDef=class extends la{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.RoundingRadius=l,this.type=2778083089}},e.IfcSectionProperties=class extends $i{constructor(e,t,n,s){super(e),this.SectionType=t,this.StartProfile=n,this.EndProfile=s,this.type=2042790032}},e.IfcSectionReinforcementProperties=class extends $i{constructor(e,t,n,s,i,a,l){super(e),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=n,this.TransversePosition=s,this.ReinforcementRole=i,this.SectionDefinition=a,this.CrossSectionReinforcementDefinitions=l,this.type=4165799628}},e.IfcSectionedSpine=class extends Ui{constructor(e,t,n,s){super(e),this.SpineCurve=t,this.CrossSections=n,this.CrossSectionPositions=s,this.type=1509187699}};class oa extends Ui{constructor(e,t){super(e),this.Transition=t,this.type=823603102}}e.IfcSegment=oa,e.IfcShellBasedSurfaceModel=class extends Ui{constructor(e,t){super(e),this.SbsmBoundary=t,this.type=4124623270}};class ca extends ta{constructor(e,t,n){super(e,t,n),this.Name=t,this.Specification=n,this.type=3692461612}}e.IfcSimpleProperty=ca,e.IfcSlippageConnectionCondition=class extends fi{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.SlippageX=n,this.SlippageY=s,this.SlippageZ=i,this.type=2609359061}};class ua extends Ui{constructor(e){super(e),this.type=723233188}}e.IfcSolidModel=ua,e.IfcStructuralLoadLinearForce=class extends yi{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.LinearForceX=n,this.LinearForceY=s,this.LinearForceZ=i,this.LinearMomentX=a,this.LinearMomentY=l,this.LinearMomentZ=r,this.type=1595516126}},e.IfcStructuralLoadPlanarForce=class extends yi{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.PlanarForceX=n,this.PlanarForceY=s,this.PlanarForceZ=i,this.type=2668620305}};class pa extends yi{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.DisplacementX=n,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=a,this.RotationalDisplacementRY=l,this.RotationalDisplacementRZ=r,this.type=2473145415}}e.IfcStructuralLoadSingleDisplacement=pa,e.IfcStructuralLoadSingleDisplacementDistortion=class extends pa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.DisplacementX=n,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=a,this.RotationalDisplacementRY=l,this.RotationalDisplacementRZ=r,this.Distortion=o,this.type=1973038258}};class ha extends yi{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.ForceX=n,this.ForceY=s,this.ForceZ=i,this.MomentX=a,this.MomentY=l,this.MomentZ=r,this.type=1597423693}}e.IfcStructuralLoadSingleForce=ha,e.IfcStructuralLoadSingleForceWarping=class extends ha{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.ForceX=n,this.ForceY=s,this.ForceZ=i,this.MomentX=a,this.MomentY=l,this.MomentZ=r,this.WarpingMoment=o,this.type=1190533807}},e.IfcSubedge=class extends Pi{constructor(e,t,n,s){super(e,t,n),this.EdgeStart=t,this.EdgeEnd=n,this.ParentEdge=s,this.type=2233826070}};class da extends Ui{constructor(e){super(e),this.type=2513912981}}e.IfcSurface=da,e.IfcSurfaceStyleRendering=class extends wi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n),this.SurfaceColour=t,this.Transparency=n,this.DiffuseColour=s,this.TransmissionColour=i,this.DiffuseTransmissionColour=a,this.ReflectionColour=l,this.SpecularColour=r,this.SpecularHighlight=o,this.ReflectanceMethod=c,this.type=1878645084}};class fa extends ua{constructor(e,t,n){super(e),this.SweptArea=t,this.Position=n,this.type=2247615214}}e.IfcSweptAreaSolid=fa;class Ia extends ua{constructor(e,t,n,s,i,a){super(e),this.Directrix=t,this.Radius=n,this.InnerRadius=s,this.StartParam=i,this.EndParam=a,this.type=1260650574}}e.IfcSweptDiskSolid=Ia,e.IfcSweptDiskSolidPolygonal=class extends Ia{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.Directrix=t,this.Radius=n,this.InnerRadius=s,this.StartParam=i,this.EndParam=a,this.FilletRadius=l,this.type=1096409881}};class ma extends da{constructor(e,t,n){super(e),this.SweptCurve=t,this.Position=n,this.type=230924584}}e.IfcSweptSurface=ma,e.IfcTShapeProfileDef=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.FlangeEdgeRadius=c,this.WebEdgeRadius=u,this.WebSlope=p,this.FlangeSlope=h,this.type=3071757647}};class ya extends Ui{constructor(e){super(e),this.type=901063453}}e.IfcTessellatedItem=ya;class va extends Ui{constructor(e,t,n,s){super(e),this.Literal=t,this.Placement=n,this.Path=s,this.type=4282788508}}e.IfcTextLiteral=va,e.IfcTextLiteralWithExtent=class extends va{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Literal=t,this.Placement=n,this.Path=s,this.Extent=i,this.BoxAlignment=a,this.type=3124975700}},e.IfcTextStyleFontModel=class extends ea{constructor(e,t,n,s,i,a,l){super(e,t),this.Name=t,this.FontFamily=n,this.FontStyle=s,this.FontVariant=i,this.FontWeight=a,this.FontSize=l,this.type=1983826977}},e.IfcTrapeziumProfileDef=class extends Xi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.BottomXDim=i,this.TopXDim=a,this.YDim=l,this.TopXOffset=r,this.type=2715220739}};class wa extends Yi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.type=1628702193}}e.IfcTypeObject=wa;class Ta extends wa{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ProcessType=c,this.type=3736923433}}e.IfcTypeProcess=Ta;class Ea extends wa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.type=2347495698}}e.IfcTypeProduct=Ea;class ga extends wa{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.type=3698973494}}e.IfcTypeResource=ga,e.IfcUShapeProfileDef=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.EdgeRadius=c,this.FlangeSlope=u,this.type=427810014}},e.IfcVector=class extends Ui{constructor(e,t,n){super(e),this.Orientation=t,this.Magnitude=n,this.type=1417489154}},e.IfcVertexLoop=class extends Wi{constructor(e,t){super(e),this.LoopVertex=t,this.type=2759199220}},e.IfcZShapeProfileDef=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.EdgeRadius=c,this.type=2543172580}},e.IfcAdvancedFace=class extends Hi{constructor(e,t,n,s){super(e,t,n,s),this.Bounds=t,this.FaceSurface=n,this.SameSense=s,this.type=3406155212}},e.IfcAnnotationFillArea=class extends Ui{constructor(e,t,n){super(e),this.OuterBoundary=t,this.InnerBoundaries=n,this.type=669184980}},e.IfcAsymmetricIShapeProfileDef=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.BottomFlangeWidth=i,this.OverallDepth=a,this.WebThickness=l,this.BottomFlangeThickness=r,this.BottomFlangeFilletRadius=o,this.TopFlangeWidth=c,this.TopFlangeThickness=u,this.TopFlangeFilletRadius=p,this.BottomFlangeEdgeRadius=h,this.BottomFlangeSlope=d,this.TopFlangeEdgeRadius=f,this.TopFlangeSlope=I,this.type=3207858831}},e.IfcAxis1Placement=class extends Ki{constructor(e,t,n){super(e,t),this.Location=t,this.Axis=n,this.type=4261334040}},e.IfcAxis2Placement2D=class extends Ki{constructor(e,t,n){super(e,t),this.Location=t,this.RefDirection=n,this.type=3125803723}},e.IfcAxis2Placement3D=class extends Ki{constructor(e,t,n,s){super(e,t),this.Location=t,this.Axis=n,this.RefDirection=s,this.type=2740243338}},e.IfcAxis2PlacementLinear=class extends Ki{constructor(e,t,n,s){super(e,t),this.Location=t,this.Axis=n,this.RefDirection=s,this.type=3425423356}};class Ra extends Ui{constructor(e,t,n,s){super(e),this.Operator=t,this.FirstOperand=n,this.SecondOperand=s,this.type=2736907675}}e.IfcBooleanResult=Ra;class Da extends da{constructor(e){super(e),this.type=4182860854}}e.IfcBoundedSurface=Da,e.IfcBoundingBox=class extends Ui{constructor(e,t,n,s,i){super(e),this.Corner=t,this.XDim=n,this.YDim=s,this.ZDim=i,this.type=2581212453}},e.IfcBoxedHalfSpace=class extends Gi{constructor(e,t,n,s){super(e,t,n),this.BaseSurface=t,this.AgreementFlag=n,this.Enclosure=s,this.type=2713105998}},e.IfcCShapeProfileDef=class extends Xi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.Width=a,this.WallThickness=l,this.Girth=r,this.InternalFilletRadius=o,this.type=2898889636}},e.IfcCartesianPoint=class extends Qi{constructor(e,t){super(e),this.Coordinates=t,this.type=1123145078}};class Sa extends Ui{constructor(e){super(e),this.type=574549367}}e.IfcCartesianPointList=Sa,e.IfcCartesianPointList2D=class extends Sa{constructor(e,t,n){super(e),this.CoordList=t,this.TagList=n,this.type=1675464909}},e.IfcCartesianPointList3D=class extends Sa{constructor(e,t,n){super(e),this.CoordList=t,this.TagList=n,this.type=2059837836}};class ba extends Ui{constructor(e,t,n,s,i){super(e),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.type=59481748}}e.IfcCartesianTransformationOperator=ba;class Na extends ba{constructor(e,t,n,s,i){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.type=3749851601}}e.IfcCartesianTransformationOperator2D=Na,e.IfcCartesianTransformationOperator2DnonUniform=class extends Na{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Scale2=a,this.type=3486308946}};class Oa extends ba{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Axis3=a,this.type=3331915920}}e.IfcCartesianTransformationOperator3D=Oa,e.IfcCartesianTransformationOperator3DnonUniform=class extends Oa{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Axis3=a,this.Scale2=l,this.Scale3=r,this.type=1416205885}};class Aa extends Xi{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Radius=i,this.type=1383045692}}e.IfcCircleProfileDef=Aa,e.IfcClosedShell=class extends xi{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2205249479}},e.IfcColourRgb=class extends Ai{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.Red=n,this.Green=s,this.Blue=i,this.type=776857604}},e.IfcComplexProperty=class extends ta{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Specification=n,this.UsageName=s,this.HasProperties=i,this.type=2542286263}};class xa extends oa{constructor(e,t,n,s){super(e,t),this.Transition=t,this.SameSense=n,this.ParentCurve=s,this.type=2485617015}}e.IfcCompositeCurveSegment=xa;class Ca extends ga{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.type=2574617495}}e.IfcConstructionResourceType=Ca;class La extends Yi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.Phase=r,this.RepresentationContexts=o,this.UnitsInContext=c,this.type=3419103109}}e.IfcContext=La,e.IfcCrewResourceType=class extends Ca{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=1815067380}};class Pa extends Ui{constructor(e,t){super(e),this.Position=t,this.type=2506170314}}e.IfcCsgPrimitive3D=Pa,e.IfcCsgSolid=class extends ua{constructor(e,t){super(e),this.TreeRootExpression=t,this.type=2147822146}};class qa extends Ui{constructor(e){super(e),this.type=2601014836}}e.IfcCurve=qa,e.IfcCurveBoundedPlane=class extends Da{constructor(e,t,n,s){super(e),this.BasisSurface=t,this.OuterBoundary=n,this.InnerBoundaries=s,this.type=2827736869}},e.IfcCurveBoundedSurface=class extends Da{constructor(e,t,n,s){super(e),this.BasisSurface=t,this.Boundaries=n,this.ImplicitOuter=s,this.type=2629017746}},e.IfcCurveSegment=class extends oa{constructor(e,t,n,s,i,a){super(e,t),this.Transition=t,this.Placement=n,this.SegmentStart=s,this.SegmentLength=i,this.ParentCurve=a,this.type=4212018352}},e.IfcDirection=class extends Ui{constructor(e,t){super(e),this.DirectionRatios=t,this.type=32440307}};class _a extends fa{constructor(e,t,n,s,i,a){super(e,t,n),this.SweptArea=t,this.Position=n,this.Directrix=s,this.StartParam=i,this.EndParam=a,this.type=593015953}}e.IfcDirectrixCurveSweptAreaSolid=_a,e.IfcEdgeLoop=class extends Wi{constructor(e,t){super(e),this.EdgeList=t,this.type=1472233963}},e.IfcElementQuantity=class extends aa{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.MethodOfMeasurement=a,this.Quantities=l,this.type=1883228015}};class Ma extends Ea{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=339256511}}e.IfcElementType=Ma;class Ha extends da{constructor(e,t){super(e),this.Position=t,this.type=2777663545}}e.IfcElementarySurface=Ha,e.IfcEllipseProfileDef=class extends Xi{constructor(e,t,n,s,i,a){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.SemiAxis1=i,this.SemiAxis2=a,this.type=2835456948}},e.IfcEventType=class extends Ta{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ProcessType=c,this.PredefinedType=u,this.EventTriggerType=p,this.UserDefinedEventTriggerType=h,this.type=4024345920}};class Ba extends fa{constructor(e,t,n,s,i){super(e,t,n),this.SweptArea=t,this.Position=n,this.ExtrudedDirection=s,this.Depth=i,this.type=477187591}}e.IfcExtrudedAreaSolid=Ba,e.IfcExtrudedAreaSolidTapered=class extends Ba{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.SweptArea=t,this.Position=n,this.ExtrudedDirection=s,this.Depth=i,this.EndSweptArea=a,this.type=2804161546}},e.IfcFaceBasedSurfaceModel=class extends Ui{constructor(e,t){super(e),this.FbsmFaces=t,this.type=2047409740}},e.IfcFillAreaStyleHatching=class extends Ui{constructor(e,t,n,s,i,a){super(e),this.HatchLineAppearance=t,this.StartOfNextHatchLine=n,this.PointOfReferenceHatchLine=s,this.PatternStart=i,this.HatchLineAngle=a,this.type=374418227}},e.IfcFillAreaStyleTiles=class extends Ui{constructor(e,t,n,s){super(e),this.TilingPattern=t,this.Tiles=n,this.TilingScale=s,this.type=315944413}};class Ua extends _a{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.SweptArea=t,this.Position=n,this.Directrix=s,this.StartParam=i,this.EndParam=a,this.FixedReference=l,this.type=2652556860}}e.IfcFixedReferenceSweptAreaSolid=Ua;class Fa extends Ma{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=4238390223}}e.IfcFurnishingElementType=Fa,e.IfcFurnitureType=class extends Fa{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.AssemblyPlace=u,this.PredefinedType=p,this.type=1268542332}},e.IfcGeographicElementType=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4095422895}},e.IfcGeometricCurveSet=class extends Fi{constructor(e,t){super(e,t),this.Elements=t,this.type=987898635}},e.IfcIShapeProfileDef=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.OverallWidth=i,this.OverallDepth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.FlangeEdgeRadius=c,this.FlangeSlope=u,this.type=1484403080}};class Ga extends ya{constructor(e,t){super(e),this.CoordIndex=t,this.type=178912537}}e.IfcIndexedPolygonalFace=Ga,e.IfcIndexedPolygonalFaceWithVoids=class extends Ga{constructor(e,t,n){super(e,t),this.CoordIndex=t,this.InnerCoordIndices=n,this.type=2294589976}},e.IfcIndexedPolygonalTextureMap=class extends Vi{constructor(e,t,n,s,i){super(e,t,n,s),this.Maps=t,this.MappedTo=n,this.TexCoords=s,this.TexCoordIndices=i,this.type=3465909080}},e.IfcLShapeProfileDef=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.Width=a,this.Thickness=l,this.FilletRadius=r,this.EdgeRadius=o,this.LegSlope=c,this.type=572779678}},e.IfcLaborResourceType=class extends Ca{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=428585644}},e.IfcLine=class extends qa{constructor(e,t,n){super(e),this.Pnt=t,this.Dir=n,this.type=1281925730}};class Va extends ua{constructor(e,t){super(e),this.Outer=t,this.type=1425443689}}e.IfcManifoldSolidBrep=Va;class ja extends Yi{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=3888040117}}e.IfcObject=ja;class za extends qa{constructor(e,t){super(e),this.BasisCurve=t,this.type=590820931}}e.IfcOffsetCurve=za,e.IfcOffsetCurve2D=class extends za{constructor(e,t,n,s){super(e,t),this.BasisCurve=t,this.Distance=n,this.SelfIntersect=s,this.type=3388369263}},e.IfcOffsetCurve3D=class extends za{constructor(e,t,n,s,i){super(e,t),this.BasisCurve=t,this.Distance=n,this.SelfIntersect=s,this.RefDirection=i,this.type=3505215534}},e.IfcOffsetCurveByDistances=class extends za{constructor(e,t,n,s){super(e,t),this.BasisCurve=t,this.OffsetValues=n,this.Tag=s,this.type=2485787929}},e.IfcPcurve=class extends qa{constructor(e,t,n){super(e),this.BasisSurface=t,this.ReferenceCurve=n,this.type=1682466193}},e.IfcPlanarBox=class extends Zi{constructor(e,t,n,s){super(e,t,n),this.SizeInX=t,this.SizeInY=n,this.Placement=s,this.type=603570806}},e.IfcPlane=class extends Ha{constructor(e,t){super(e,t),this.Position=t,this.type=220341763}},e.IfcPolynomialCurve=class extends qa{constructor(e,t,n,s,i){super(e),this.Position=t,this.CoefficientsX=n,this.CoefficientsY=s,this.CoefficientsZ=i,this.type=3381221214}};class Wa extends Ji{constructor(e,t){super(e,t),this.Name=t,this.type=759155922}}e.IfcPreDefinedColour=Wa;class ka extends Ji{constructor(e,t){super(e,t),this.Name=t,this.type=2559016684}}e.IfcPreDefinedCurveFont=ka;class Ya extends sa{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=3967405729}}e.IfcPreDefinedPropertySet=Ya,e.IfcProcedureType=class extends Ta{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ProcessType=c,this.PredefinedType=u,this.type=569719735}};class Xa extends ja{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.type=2945172077}}e.IfcProcess=Xa;class Ka extends ja{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=4208778838}}e.IfcProduct=Ka,e.IfcProject=class extends La{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.Phase=r,this.RepresentationContexts=o,this.UnitsInContext=c,this.type=103090709}},e.IfcProjectLibrary=class extends La{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.Phase=r,this.RepresentationContexts=o,this.UnitsInContext=c,this.type=653396225}},e.IfcPropertyBoundedValue=class extends ca{constructor(e,t,n,s,i,a,l){super(e,t,n),this.Name=t,this.Specification=n,this.UpperBoundValue=s,this.LowerBoundValue=i,this.Unit=a,this.SetPointValue=l,this.type=871118103}},e.IfcPropertyEnumeratedValue=class extends ca{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Specification=n,this.EnumerationValues=s,this.EnumerationReference=i,this.type=4166981789}},e.IfcPropertyListValue=class extends ca{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Specification=n,this.ListValues=s,this.Unit=i,this.type=2752243245}},e.IfcPropertyReferenceValue=class extends ca{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Specification=n,this.UsageName=s,this.PropertyReference=i,this.type=941946838}},e.IfcPropertySet=class extends sa{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.HasProperties=a,this.type=1451395588}},e.IfcPropertySetTemplate=class extends ia{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.TemplateType=a,this.ApplicableEntity=l,this.HasPropertyTemplates=r,this.type=492091185}},e.IfcPropertySingleValue=class extends ca{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Specification=n,this.NominalValue=s,this.Unit=i,this.type=3650150729}},e.IfcPropertyTableValue=class extends ca{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n),this.Name=t,this.Specification=n,this.DefiningValues=s,this.DefinedValues=i,this.Expression=a,this.DefiningUnit=l,this.DefinedUnit=r,this.CurveInterpolation=o,this.type=110355661}};class Za extends ia{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=3521284610}}e.IfcPropertyTemplate=Za,e.IfcRectangleHollowProfileDef=class extends la{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.WallThickness=l,this.InnerFilletRadius=r,this.OuterFilletRadius=o,this.type=2770003689}},e.IfcRectangularPyramid=class extends Pa{constructor(e,t,n,s,i){super(e,t),this.Position=t,this.XLength=n,this.YLength=s,this.Height=i,this.type=2798486643}},e.IfcRectangularTrimmedSurface=class extends Da{constructor(e,t,n,s,i,a,l,r){super(e),this.BasisSurface=t,this.U1=n,this.V1=s,this.U2=i,this.V2=a,this.Usense=l,this.Vsense=r,this.type=3454111270}},e.IfcReinforcementDefinitionProperties=class extends Ya{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.DefinitionType=a,this.ReinforcementSectionDefinitions=l,this.type=3765753017}};class Qa extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.type=3939117080}}e.IfcRelAssigns=Qa,e.IfcRelAssignsToActor=class extends Qa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingActor=r,this.ActingRole=o,this.type=1683148259}},e.IfcRelAssignsToControl=class extends Qa{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingControl=r,this.type=2495723537}};class Ja extends Qa{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingGroup=r,this.type=1307041759}}e.IfcRelAssignsToGroup=Ja,e.IfcRelAssignsToGroupByFactor=class extends Ja{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingGroup=r,this.Factor=o,this.type=1027710054}},e.IfcRelAssignsToProcess=class extends Qa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingProcess=r,this.QuantityInProcess=o,this.type=4278684876}},e.IfcRelAssignsToProduct=class extends Qa{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingProduct=r,this.type=2857406711}},e.IfcRelAssignsToResource=class extends Qa{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingResource=r,this.type=205026976}};class $a extends ra{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.type=1865459582}}e.IfcRelAssociates=$a,e.IfcRelAssociatesApproval=class extends $a{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingApproval=l,this.type=4095574036}},e.IfcRelAssociatesClassification=class extends $a{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingClassification=l,this.type=919958153}},e.IfcRelAssociatesConstraint=class extends $a{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.Intent=l,this.RelatingConstraint=r,this.type=2728634034}},e.IfcRelAssociatesDocument=class extends $a{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingDocument=l,this.type=982818633}},e.IfcRelAssociatesLibrary=class extends $a{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingLibrary=l,this.type=3840914261}},e.IfcRelAssociatesMaterial=class extends $a{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingMaterial=l,this.type=2655215786}},e.IfcRelAssociatesProfileDef=class extends $a{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingProfileDef=l,this.type=1033248425}};class el extends ra{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=826625072}}e.IfcRelConnects=el;class tl extends el{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.type=1204542856}}e.IfcRelConnectsElements=tl,e.IfcRelConnectsPathElements=class extends tl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.RelatingPriorities=o,this.RelatedPriorities=c,this.RelatedConnectionType=u,this.RelatingConnectionType=p,this.type=3945020480}},e.IfcRelConnectsPortToElement=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingPort=a,this.RelatedElement=l,this.type=4201705270}},e.IfcRelConnectsPorts=class extends el{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingPort=a,this.RelatedPort=l,this.RealizingElement=r,this.type=3190031847}},e.IfcRelConnectsStructuralActivity=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedStructuralActivity=l,this.type=2127690289}};class nl extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingStructuralMember=a,this.RelatedStructuralConnection=l,this.AppliedCondition=r,this.AdditionalConditions=o,this.SupportedLength=c,this.ConditionCoordinateSystem=u,this.type=1638771189}}e.IfcRelConnectsStructuralMember=nl,e.IfcRelConnectsWithEccentricity=class extends nl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingStructuralMember=a,this.RelatedStructuralConnection=l,this.AppliedCondition=r,this.AdditionalConditions=o,this.SupportedLength=c,this.ConditionCoordinateSystem=u,this.ConnectionConstraint=p,this.type=504942748}},e.IfcRelConnectsWithRealizingElements=class extends tl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.RealizingElements=o,this.ConnectionType=c,this.type=3678494232}},e.IfcRelContainedInSpatialStructure=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedElements=a,this.RelatingStructure=l,this.type=3242617779}},e.IfcRelCoversBldgElements=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingBuildingElement=a,this.RelatedCoverings=l,this.type=886880790}},e.IfcRelCoversSpaces=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedCoverings=l,this.type=2802773753}},e.IfcRelDeclares=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingContext=a,this.RelatedDefinitions=l,this.type=2565941209}};class sl extends ra{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=2551354335}}e.IfcRelDecomposes=sl;class il extends ra{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=693640335}}e.IfcRelDefines=il,e.IfcRelDefinesByObject=class extends il{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingObject=l,this.type=1462361463}},e.IfcRelDefinesByProperties=class extends il{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingPropertyDefinition=l,this.type=4186316022}},e.IfcRelDefinesByTemplate=class extends il{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedPropertySets=a,this.RelatingTemplate=l,this.type=307848117}},e.IfcRelDefinesByType=class extends il{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingType=l,this.type=781010003}},e.IfcRelFillsElement=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingOpeningElement=a,this.RelatedBuildingElement=l,this.type=3940055652}},e.IfcRelFlowControlElements=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedControlElements=a,this.RelatingFlowElement=l,this.type=279856033}},e.IfcRelInterferesElements=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedElement=l,this.InterferenceGeometry=r,this.InterferenceSpace=o,this.InterferenceType=c,this.ImpliedOrder=u,this.type=427948657}},e.IfcRelNests=class extends sl{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingObject=a,this.RelatedObjects=l,this.type=3268803585}},e.IfcRelPositions=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingPositioningElement=a,this.RelatedProducts=l,this.type=1441486842}},e.IfcRelProjectsElement=class extends sl{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedFeatureElement=l,this.type=750771296}},e.IfcRelReferencedInSpatialStructure=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedElements=a,this.RelatingStructure=l,this.type=1245217292}},e.IfcRelSequence=class extends el{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingProcess=a,this.RelatedProcess=l,this.TimeLag=r,this.SequenceType=o,this.UserDefinedSequenceType=c,this.type=4122056220}},e.IfcRelServicesBuildings=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSystem=a,this.RelatedBuildings=l,this.type=366585022}};class al extends el{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedBuildingElement=l,this.ConnectionGeometry=r,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=c,this.type=3451746338}}e.IfcRelSpaceBoundary=al;class ll extends al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedBuildingElement=l,this.ConnectionGeometry=r,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=c,this.ParentBoundary=u,this.type=3523091289}}e.IfcRelSpaceBoundary1stLevel=ll,e.IfcRelSpaceBoundary2ndLevel=class extends ll{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedBuildingElement=l,this.ConnectionGeometry=r,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=c,this.ParentBoundary=u,this.CorrespondingBoundary=p,this.type=1521410863}},e.IfcRelVoidsElement=class extends sl{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingBuildingElement=a,this.RelatedOpeningElement=l,this.type=1401173127}},e.IfcReparametrisedCompositeCurveSegment=class extends xa{constructor(e,t,n,s,i){super(e,t,n,s),this.Transition=t,this.SameSense=n,this.ParentCurve=s,this.ParamLength=i,this.type=816062949}};class rl extends ja{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.type=2914609552}}e.IfcResource=rl;class ol extends fa{constructor(e,t,n,s,i){super(e,t,n),this.SweptArea=t,this.Position=n,this.Axis=s,this.Angle=i,this.type=1856042241}}e.IfcRevolvedAreaSolid=ol,e.IfcRevolvedAreaSolidTapered=class extends ol{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.SweptArea=t,this.Position=n,this.Axis=s,this.Angle=i,this.EndSweptArea=a,this.type=3243963512}},e.IfcRightCircularCone=class extends Pa{constructor(e,t,n,s){super(e,t),this.Position=t,this.Height=n,this.BottomRadius=s,this.type=4158566097}},e.IfcRightCircularCylinder=class extends Pa{constructor(e,t,n,s){super(e,t),this.Position=t,this.Height=n,this.Radius=s,this.type=3626867408}};class cl extends ua{constructor(e,t,n){super(e),this.Directrix=t,this.CrossSections=n,this.type=1862484736}}e.IfcSectionedSolid=cl,e.IfcSectionedSolidHorizontal=class extends cl{constructor(e,t,n,s){super(e,t,n),this.Directrix=t,this.CrossSections=n,this.CrossSectionPositions=s,this.type=1290935644}},e.IfcSectionedSurface=class extends da{constructor(e,t,n,s){super(e),this.Directrix=t,this.CrossSectionPositions=n,this.CrossSections=s,this.type=1356537516}},e.IfcSimplePropertyTemplate=class extends Za{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.TemplateType=a,this.PrimaryMeasureType=l,this.SecondaryMeasureType=r,this.Enumerators=o,this.PrimaryUnit=c,this.SecondaryUnit=u,this.Expression=p,this.AccessState=h,this.type=3663146110}};class ul extends Ka{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.type=1412071761}}e.IfcSpatialElement=ul;class pl extends Ea{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=710998568}}e.IfcSpatialElementType=pl;class hl extends ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.type=2706606064}}e.IfcSpatialStructureElement=hl;class dl extends pl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3893378262}}e.IfcSpatialStructureElementType=dl,e.IfcSpatialZone=class extends ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.PredefinedType=c,this.type=463610769}},e.IfcSpatialZoneType=class extends pl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.LongName=p,this.type=2481509218}},e.IfcSphere=class extends Pa{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=451544542}},e.IfcSphericalSurface=class extends Ha{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=4015995234}};class fl extends qa{constructor(e,t){super(e),this.Position=t,this.type=2735484536}}e.IfcSpiral=fl;class Il extends Ka{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=3544373492}}e.IfcStructuralActivity=Il;class ml extends Ka{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=3136571912}}e.IfcStructuralItem=ml;class yl extends ml{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=530289379}}e.IfcStructuralMember=yl;class vl extends Il{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=3689010777}}e.IfcStructuralReaction=vl;class wl extends yl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Thickness=c,this.type=3979015343}}e.IfcStructuralSurfaceMember=wl,e.IfcStructuralSurfaceMemberVarying=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Thickness=c,this.type=2218152070}},e.IfcStructuralSurfaceReaction=class extends vl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.PredefinedType=u,this.type=603775116}},e.IfcSubContractResourceType=class extends Ca{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=4095615324}};class Tl extends qa{constructor(e,t,n,s){super(e),this.Curve3D=t,this.AssociatedGeometry=n,this.MasterRepresentation=s,this.type=699246055}}e.IfcSurfaceCurve=Tl,e.IfcSurfaceCurveSweptAreaSolid=class extends _a{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.SweptArea=t,this.Position=n,this.Directrix=s,this.StartParam=i,this.EndParam=a,this.ReferenceSurface=l,this.type=2028607225}},e.IfcSurfaceOfLinearExtrusion=class extends ma{constructor(e,t,n,s,i){super(e,t,n),this.SweptCurve=t,this.Position=n,this.ExtrudedDirection=s,this.Depth=i,this.type=2809605785}},e.IfcSurfaceOfRevolution=class extends ma{constructor(e,t,n,s){super(e,t,n),this.SweptCurve=t,this.Position=n,this.AxisPosition=s,this.type=4124788165}},e.IfcSystemFurnitureElementType=class extends Fa{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1580310250}},e.IfcTask=class extends Xa{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Status=o,this.WorkMethod=c,this.IsMilestone=u,this.Priority=p,this.TaskTime=h,this.PredefinedType=d,this.type=3473067441}},e.IfcTaskType=class extends Ta{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ProcessType=c,this.PredefinedType=u,this.WorkMethod=p,this.type=3206491090}};class El extends ya{constructor(e,t,n){super(e),this.Coordinates=t,this.Closed=n,this.type=2387106220}}e.IfcTessellatedFaceSet=El,e.IfcThirdOrderPolynomialSpiral=class extends fl{constructor(e,t,n,s,i,a){super(e,t),this.Position=t,this.CubicTerm=n,this.QuadraticTerm=s,this.LinearTerm=i,this.ConstantTerm=a,this.type=782932809}},e.IfcToroidalSurface=class extends Ha{constructor(e,t,n,s){super(e,t),this.Position=t,this.MajorRadius=n,this.MinorRadius=s,this.type=1935646853}};class gl extends Ma{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3665877780}}e.IfcTransportationDeviceType=gl;class Rl extends El{constructor(e,t,n,s,i,a){super(e,t,n),this.Coordinates=t,this.Closed=n,this.Normals=s,this.CoordIndex=i,this.PnIndex=a,this.type=2916149573}}e.IfcTriangulatedFaceSet=Rl,e.IfcTriangulatedIrregularNetwork=class extends Rl{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.Coordinates=t,this.Closed=n,this.Normals=s,this.CoordIndex=i,this.PnIndex=a,this.Flags=l,this.type=1229763772}},e.IfcVehicleType=class extends gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3651464721}},e.IfcWindowLiningProperties=class extends Ya{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.LiningDepth=a,this.LiningThickness=l,this.TransomThickness=r,this.MullionThickness=o,this.FirstTransomOffset=c,this.SecondTransomOffset=u,this.FirstMullionOffset=p,this.SecondMullionOffset=h,this.ShapeAspectStyle=d,this.LiningOffset=f,this.LiningToPanelOffsetX=I,this.LiningToPanelOffsetY=m,this.type=336235671}},e.IfcWindowPanelProperties=class extends Ya{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.OperationType=a,this.PanelPosition=l,this.FrameDepth=r,this.FrameThickness=o,this.ShapeAspectStyle=c,this.type=512836454}};class Dl extends ja{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheActor=l,this.type=2296667514}}e.IfcActor=Dl;class Sl extends Va{constructor(e,t){super(e,t),this.Outer=t,this.type=1635779807}}e.IfcAdvancedBrep=Sl,e.IfcAdvancedBrepWithVoids=class extends Sl{constructor(e,t,n){super(e,t),this.Outer=t,this.Voids=n,this.type=2603310189}},e.IfcAnnotation=class extends Ka{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.type=1674181508}};class bl extends Da{constructor(e,t,n,s,i,a,l,r){super(e),this.UDegree=t,this.VDegree=n,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=a,this.VClosed=l,this.SelfIntersect=r,this.type=2887950389}}e.IfcBSplineSurface=bl;class Nl extends bl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r),this.UDegree=t,this.VDegree=n,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=a,this.VClosed=l,this.SelfIntersect=r,this.UMultiplicities=o,this.VMultiplicities=c,this.UKnots=u,this.VKnots=p,this.KnotSpec=h,this.type=167062518}}e.IfcBSplineSurfaceWithKnots=Nl,e.IfcBlock=class extends Pa{constructor(e,t,n,s,i){super(e,t),this.Position=t,this.XLength=n,this.YLength=s,this.ZLength=i,this.type=1334484129}},e.IfcBooleanClippingResult=class extends Ra{constructor(e,t,n,s){super(e,t,n,s),this.Operator=t,this.FirstOperand=n,this.SecondOperand=s,this.type=3649129432}};class Ol extends qa{constructor(e){super(e),this.type=1260505505}}e.IfcBoundedCurve=Ol,e.IfcBuildingStorey=class extends hl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.Elevation=u,this.type=3124254112}};class Al extends Ma{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1626504194}}e.IfcBuiltElementType=Al,e.IfcChimneyType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2197970202}},e.IfcCircleHollowProfileDef=class extends Aa{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Radius=i,this.WallThickness=a,this.type=2937912522}},e.IfcCivilElementType=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3893394355}},e.IfcClothoid=class extends fl{constructor(e,t,n){super(e,t),this.Position=t,this.ClothoidConstant=n,this.type=3497074424}},e.IfcColumnType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=300633059}},e.IfcComplexPropertyTemplate=class extends Za{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.UsageName=a,this.TemplateType=l,this.HasPropertyTemplates=r,this.type=3875453745}};class xl extends Ol{constructor(e,t,n){super(e),this.Segments=t,this.SelfIntersect=n,this.type=3732776249}}e.IfcCompositeCurve=xl;class Cl extends xl{constructor(e,t,n){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.type=15328376}}e.IfcCompositeCurveOnSurface=Cl;class Ll extends qa{constructor(e,t){super(e),this.Position=t,this.type=2510884976}}e.IfcConic=Ll,e.IfcConstructionEquipmentResourceType=class extends Ca{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=2185764099}},e.IfcConstructionMaterialResourceType=class extends Ca{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=4105962743}},e.IfcConstructionProductResourceType=class extends Ca{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=1525564444}};class Pl extends rl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.type=2559216714}}e.IfcConstructionResource=Pl;class ql extends ja{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.type=3293443760}}e.IfcControl=ql,e.IfcCosineSpiral=class extends fl{constructor(e,t,n,s){super(e,t),this.Position=t,this.CosineTerm=n,this.ConstantTerm=s,this.type=2000195564}},e.IfcCostItem=class extends ql{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.CostValues=o,this.CostQuantities=c,this.type=3895139033}},e.IfcCostSchedule=class extends ql{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.Status=o,this.SubmittedOn=c,this.UpdateDate=u,this.type=1419761937}},e.IfcCourseType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4189326743}},e.IfcCoveringType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1916426348}},e.IfcCrewResource=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=3295246426}},e.IfcCurtainWallType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1457835157}},e.IfcCylindricalSurface=class extends Ha{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=1213902940}};class _l extends Al{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1306400036}}e.IfcDeepFoundationType=_l,e.IfcDirectrixDerivedReferenceSweptAreaSolid=class extends Ua{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a,l),this.SweptArea=t,this.Position=n,this.Directrix=s,this.StartParam=i,this.EndParam=a,this.FixedReference=l,this.type=4234616927}};class Ml extends Ma{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3256556792}}e.IfcDistributionElementType=Ml;class Hl extends Ml{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3849074793}}e.IfcDistributionFlowElementType=Hl,e.IfcDoorLiningProperties=class extends Ya{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.LiningDepth=a,this.LiningThickness=l,this.ThresholdDepth=r,this.ThresholdThickness=o,this.TransomThickness=c,this.TransomOffset=u,this.LiningOffset=p,this.ThresholdOffset=h,this.CasingThickness=d,this.CasingDepth=f,this.ShapeAspectStyle=I,this.LiningToPanelOffsetX=m,this.LiningToPanelOffsetY=y,this.type=2963535650}},e.IfcDoorPanelProperties=class extends Ya{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.PanelDepth=a,this.PanelOperation=l,this.PanelWidth=r,this.PanelPosition=o,this.ShapeAspectStyle=c,this.type=1714330368}},e.IfcDoorType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.OperationType=p,this.ParameterTakesPrecedence=h,this.UserDefinedOperationType=d,this.type=2323601079}},e.IfcDraughtingPreDefinedColour=class extends Wa{constructor(e,t){super(e,t),this.Name=t,this.type=445594917}},e.IfcDraughtingPreDefinedCurveFont=class extends ka{constructor(e,t){super(e,t),this.Name=t,this.type=4006246654}};class Bl extends Ka{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1758889154}}e.IfcElement=Bl,e.IfcElementAssembly=class extends Bl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.AssemblyPlace=c,this.PredefinedType=u,this.type=4123344466}},e.IfcElementAssemblyType=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2397081782}};class Ul extends Bl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1623761950}}e.IfcElementComponent=Ul;class Fl extends Ma{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2590856083}}e.IfcElementComponentType=Fl,e.IfcEllipse=class extends Ll{constructor(e,t,n,s){super(e,t),this.Position=t,this.SemiAxis1=n,this.SemiAxis2=s,this.type=1704287377}};class Gl extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2107101300}}e.IfcEnergyConversionDeviceType=Gl,e.IfcEngineType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=132023988}},e.IfcEvaporativeCoolerType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3174744832}},e.IfcEvaporatorType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3390157468}},e.IfcEvent=class extends Xa{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.PredefinedType=o,this.EventTriggerType=c,this.UserDefinedEventTriggerType=u,this.EventOccurenceTime=p,this.type=4148101412}};class Vl extends ul{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.type=2853485674}}e.IfcExternalSpatialStructureElement=Vl;class jl extends Va{constructor(e,t){super(e,t),this.Outer=t,this.type=807026263}}e.IfcFacetedBrep=jl,e.IfcFacetedBrepWithVoids=class extends jl{constructor(e,t,n){super(e,t),this.Outer=t,this.Voids=n,this.type=3737207727}};class zl extends hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.type=24185140}}e.IfcFacility=zl;class Wl extends hl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.UsageType=u,this.type=1310830890}}e.IfcFacilityPart=Wl,e.IfcFacilityPartCommon=class extends Wl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.UsageType=u,this.PredefinedType=p,this.type=4228831410}},e.IfcFastener=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=647756555}},e.IfcFastenerType=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2489546625}};class kl extends Bl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2827207264}}e.IfcFeatureElement=kl;class Yl extends kl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2143335405}}e.IfcFeatureElementAddition=Yl;class Xl extends kl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1287392070}}e.IfcFeatureElementSubtraction=Xl;class Kl extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3907093117}}e.IfcFlowControllerType=Kl;class Zl extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3198132628}}e.IfcFlowFittingType=Zl,e.IfcFlowMeterType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3815607619}};class Ql extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1482959167}}e.IfcFlowMovingDeviceType=Ql;class Jl extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1834744321}}e.IfcFlowSegmentType=Jl;class $l extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1339347760}}e.IfcFlowStorageDeviceType=$l;class er extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2297155007}}e.IfcFlowTerminalType=er;class tr extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3009222698}}e.IfcFlowTreatmentDeviceType=tr,e.IfcFootingType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1893162501}};class nr extends Bl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=263784265}}e.IfcFurnishingElement=nr,e.IfcFurniture=class extends nr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1509553395}},e.IfcGeographicElement=class extends Bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3493046030}};class sr extends Bl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=4230923436}}e.IfcGeotechnicalElement=sr,e.IfcGeotechnicalStratum=class extends sr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1594536857}},e.IfcGradientCurve=class extends xl{constructor(e,t,n,s,i){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.BaseCurve=s,this.EndPoint=i,this.type=2898700619}};class ir extends ja{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2706460486}}e.IfcGroup=ir,e.IfcHeatExchangerType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1251058090}},e.IfcHumidifierType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1806887404}},e.IfcImpactProtectionDevice=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2568555532}},e.IfcImpactProtectionDeviceType=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3948183225}},e.IfcIndexedPolyCurve=class extends Ol{constructor(e,t,n,s){super(e),this.Points=t,this.Segments=n,this.SelfIntersect=s,this.type=2571569899}},e.IfcInterceptorType=class extends tr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3946677679}},e.IfcIntersectionCurve=class extends Tl{constructor(e,t,n,s){super(e,t,n,s),this.Curve3D=t,this.AssociatedGeometry=n,this.MasterRepresentation=s,this.type=3113134337}},e.IfcInventory=class extends ir{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.Jurisdiction=r,this.ResponsiblePersons=o,this.LastUpdateDate=c,this.CurrentValue=u,this.OriginalValue=p,this.type=2391368822}},e.IfcJunctionBoxType=class extends Zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4288270099}},e.IfcKerbType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.Mountable=u,this.type=679976338}},e.IfcLaborResource=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=3827777499}},e.IfcLampType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1051575348}},e.IfcLightFixtureType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1161773419}};class ar extends Ka{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=2176059722}}e.IfcLinearElement=ar,e.IfcLiquidTerminalType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1770583370}},e.IfcMarineFacility=class extends zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.PredefinedType=u,this.type=525669439}},e.IfcMarinePart=class extends Wl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.UsageType=u,this.PredefinedType=p,this.type=976884017}},e.IfcMechanicalFastener=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.NominalDiameter=c,this.NominalLength=u,this.PredefinedType=p,this.type=377706215}},e.IfcMechanicalFastenerType=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.NominalDiameter=p,this.NominalLength=h,this.type=2108223431}},e.IfcMedicalDeviceType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1114901282}},e.IfcMemberType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3181161470}},e.IfcMobileTelecommunicationsApplianceType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1950438474}},e.IfcMooringDeviceType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=710110818}},e.IfcMotorConnectionType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=977012517}},e.IfcNavigationElementType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=506776471}},e.IfcOccupant=class extends Dl{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheActor=l,this.PredefinedType=r,this.type=4143007308}},e.IfcOpeningElement=class extends Xl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3588315303}},e.IfcOutletType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2837617999}},e.IfcPavementType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=514975943}},e.IfcPerformanceHistory=class extends ql{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LifeCyclePhase=r,this.PredefinedType=o,this.type=2382730787}},e.IfcPermeableCoveringProperties=class extends Ya{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.OperationType=a,this.PanelPosition=l,this.FrameDepth=r,this.FrameThickness=o,this.ShapeAspectStyle=c,this.type=3566463478}},e.IfcPermit=class extends ql{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.Status=o,this.LongDescription=c,this.type=3327091369}},e.IfcPileType=class extends _l{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1158309216}},e.IfcPipeFittingType=class extends Zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=804291784}},e.IfcPipeSegmentType=class extends Jl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4231323485}},e.IfcPlateType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4017108033}},e.IfcPolygonalFaceSet=class extends El{constructor(e,t,n,s,i){super(e,t,n),this.Coordinates=t,this.Closed=n,this.Faces=s,this.PnIndex=i,this.type=2839578677}},e.IfcPolyline=class extends Ol{constructor(e,t){super(e),this.Points=t,this.type=3724593414}};class lr extends Ka{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=3740093272}}e.IfcPort=lr;class rr extends Ka{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=1946335990}}e.IfcPositioningElement=rr,e.IfcProcedure=class extends Xa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.PredefinedType=o,this.type=2744685151}},e.IfcProjectOrder=class extends ql{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.Status=o,this.LongDescription=c,this.type=2904328755}},e.IfcProjectionElement=class extends Yl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3651124850}},e.IfcProtectiveDeviceType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1842657554}},e.IfcPumpType=class extends Ql{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2250791053}},e.IfcRailType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1763565496}},e.IfcRailingType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2893384427}},e.IfcRailway=class extends zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.PredefinedType=u,this.type=3992365140}},e.IfcRailwayPart=class extends Wl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.UsageType=u,this.PredefinedType=p,this.type=1891881377}},e.IfcRampFlightType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2324767716}},e.IfcRampType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1469900589}},e.IfcRationalBSplineSurfaceWithKnots=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c,u,p,h),this.UDegree=t,this.VDegree=n,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=a,this.VClosed=l,this.SelfIntersect=r,this.UMultiplicities=o,this.VMultiplicities=c,this.UKnots=u,this.VKnots=p,this.KnotSpec=h,this.WeightsData=d,this.type=683857671}},e.IfcReferent=class extends rr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.type=4021432810}};class or extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.type=3027567501}}e.IfcReinforcingElement=or;class cr extends Fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=964333572}}e.IfcReinforcingElementType=cr,e.IfcReinforcingMesh=class extends or{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.MeshLength=u,this.MeshWidth=p,this.LongitudinalBarNominalDiameter=h,this.TransverseBarNominalDiameter=d,this.LongitudinalBarCrossSectionArea=f,this.TransverseBarCrossSectionArea=I,this.LongitudinalBarSpacing=m,this.TransverseBarSpacing=y,this.PredefinedType=v,this.type=2320036040}},e.IfcReinforcingMeshType=class extends cr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.MeshLength=p,this.MeshWidth=h,this.LongitudinalBarNominalDiameter=d,this.TransverseBarNominalDiameter=f,this.LongitudinalBarCrossSectionArea=I,this.TransverseBarCrossSectionArea=m,this.LongitudinalBarSpacing=y,this.TransverseBarSpacing=v,this.BendingShapeCode=w,this.BendingParameters=T,this.type=2310774935}},e.IfcRelAdheresToElement=class extends sl{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedSurfaceFeatures=l,this.type=3818125796}},e.IfcRelAggregates=class extends sl{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingObject=a,this.RelatedObjects=l,this.type=160246688}},e.IfcRoad=class extends zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.PredefinedType=u,this.type=146592293}},e.IfcRoadPart=class extends Wl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.UsageType=u,this.PredefinedType=p,this.type=550521510}},e.IfcRoofType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2781568857}},e.IfcSanitaryTerminalType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1768891740}},e.IfcSeamCurve=class extends Tl{constructor(e,t,n,s){super(e,t,n,s),this.Curve3D=t,this.AssociatedGeometry=n,this.MasterRepresentation=s,this.type=2157484638}},e.IfcSecondOrderPolynomialSpiral=class extends fl{constructor(e,t,n,s,i){super(e,t),this.Position=t,this.QuadraticTerm=n,this.LinearTerm=s,this.ConstantTerm=i,this.type=3649235739}},e.IfcSegmentedReferenceCurve=class extends xl{constructor(e,t,n,s,i){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.BaseCurve=s,this.EndPoint=i,this.type=544395925}},e.IfcSeventhOrderPolynomialSpiral=class extends fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t),this.Position=t,this.SepticTerm=n,this.SexticTerm=s,this.QuinticTerm=i,this.QuarticTerm=a,this.CubicTerm=l,this.QuadraticTerm=r,this.LinearTerm=o,this.ConstantTerm=c,this.type=1027922057}},e.IfcShadingDeviceType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4074543187}},e.IfcSign=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=33720170}},e.IfcSignType=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3599934289}},e.IfcSignalType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1894708472}},e.IfcSineSpiral=class extends fl{constructor(e,t,n,s,i){super(e,t),this.Position=t,this.SineTerm=n,this.LinearTerm=s,this.ConstantTerm=i,this.type=42703149}},e.IfcSite=class extends hl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.RefLatitude=u,this.RefLongitude=p,this.RefElevation=h,this.LandTitleNumber=d,this.SiteAddress=f,this.type=4097777520}},e.IfcSlabType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2533589738}},e.IfcSolarDeviceType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1072016465}},e.IfcSpace=class extends hl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.PredefinedType=u,this.ElevationWithFlooring=p,this.type=3856911033}},e.IfcSpaceHeaterType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1305183839}},e.IfcSpaceType=class extends dl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.LongName=p,this.type=3812236995}},e.IfcStackTerminalType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3112655638}},e.IfcStairFlightType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1039846685}},e.IfcStairType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=338393293}};class ur extends Il{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.type=682877961}}e.IfcStructuralAction=ur;class pr extends ml{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.type=1179482911}}e.IfcStructuralConnection=pr;class hr extends ur{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.ProjectedOrTrue=p,this.PredefinedType=h,this.type=1004757350}}e.IfcStructuralCurveAction=hr,e.IfcStructuralCurveConnection=class extends pr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.AxisDirection=c,this.type=4243806635}};class dr extends yl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Axis=c,this.type=214636428}}e.IfcStructuralCurveMember=dr,e.IfcStructuralCurveMemberVarying=class extends dr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Axis=c,this.type=2445595289}},e.IfcStructuralCurveReaction=class extends vl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.PredefinedType=u,this.type=2757150158}},e.IfcStructuralLinearAction=class extends hr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p,h),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.ProjectedOrTrue=p,this.PredefinedType=h,this.type=1807405624}};class fr extends ir{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.ActionType=r,this.ActionSource=o,this.Coefficient=c,this.Purpose=u,this.type=1252848954}}e.IfcStructuralLoadGroup=fr,e.IfcStructuralPointAction=class extends ur{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.type=2082059205}},e.IfcStructuralPointConnection=class extends pr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.ConditionCoordinateSystem=c,this.type=734778138}},e.IfcStructuralPointReaction=class extends vl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=1235345126}},e.IfcStructuralResultGroup=class extends ir{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheoryType=l,this.ResultForLoadGroup=r,this.IsLinear=o,this.type=2986769608}};class Ir extends ur{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.ProjectedOrTrue=p,this.PredefinedType=h,this.type=3657597509}}e.IfcStructuralSurfaceAction=Ir,e.IfcStructuralSurfaceConnection=class extends pr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.type=1975003073}},e.IfcSubContractResource=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=148013059}},e.IfcSurfaceFeature=class extends kl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3101698114}},e.IfcSwitchingDeviceType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2315554128}};class mr extends ir{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2254336722}}e.IfcSystem=mr,e.IfcSystemFurnitureElement=class extends nr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=413509423}},e.IfcTankType=class extends $l{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=5716631}},e.IfcTendon=class extends or{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.PredefinedType=u,this.NominalDiameter=p,this.CrossSectionArea=h,this.TensionForce=d,this.PreStress=f,this.FrictionCoefficient=I,this.AnchorageSlip=m,this.MinCurvatureRadius=y,this.type=3824725483}},e.IfcTendonAnchor=class extends or{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.PredefinedType=u,this.type=2347447852}},e.IfcTendonAnchorType=class extends cr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3081323446}},e.IfcTendonConduit=class extends or{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.PredefinedType=u,this.type=3663046924}},e.IfcTendonConduitType=class extends cr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2281632017}},e.IfcTendonType=class extends cr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.NominalDiameter=p,this.CrossSectionArea=h,this.SheathDiameter=d,this.type=2415094496}},e.IfcTrackElementType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=618700268}},e.IfcTransformerType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1692211062}},e.IfcTransportElementType=class extends gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2097647324}};class yr extends Bl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1953115116}}e.IfcTransportationDevice=yr,e.IfcTrimmedCurve=class extends Ol{constructor(e,t,n,s,i,a){super(e),this.BasisCurve=t,this.Trim1=n,this.Trim2=s,this.SenseAgreement=i,this.MasterRepresentation=a,this.type=3593883385}},e.IfcTubeBundleType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1600972822}},e.IfcUnitaryEquipmentType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1911125066}},e.IfcValveType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=728799441}},e.IfcVehicle=class extends yr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=840318589}},e.IfcVibrationDamper=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1530820697}},e.IfcVibrationDamperType=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3956297820}},e.IfcVibrationIsolator=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2391383451}},e.IfcVibrationIsolatorType=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3313531582}},e.IfcVirtualElement=class extends Bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2769231204}},e.IfcVoidingFeature=class extends Xl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=926996030}},e.IfcWallType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1898987631}},e.IfcWasteTerminalType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1133259667}},e.IfcWindowType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.PartitioningType=p,this.ParameterTakesPrecedence=h,this.UserDefinedPartitioningType=d,this.type=4009809668}},e.IfcWorkCalendar=class extends ql{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.WorkingTimes=r,this.ExceptionTimes=o,this.PredefinedType=c,this.type=4088093105}};class vr extends ql{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.type=1028945134}}e.IfcWorkControl=vr,e.IfcWorkPlan=class extends vr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.PredefinedType=f,this.type=4218914973}},e.IfcWorkSchedule=class extends vr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.PredefinedType=f,this.type=3342526732}},e.IfcZone=class extends mr{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.type=1033361043}},e.IfcActionRequest=class extends ql{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.Status=o,this.LongDescription=c,this.type=3821786052}},e.IfcAirTerminalBoxType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1411407467}},e.IfcAirTerminalType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3352864051}},e.IfcAirToAirHeatRecoveryType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1871374353}},e.IfcAlignmentCant=class extends ar{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.RailHeadDistance=o,this.type=4266260250}},e.IfcAlignmentHorizontal=class extends ar{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=1545765605}},e.IfcAlignmentSegment=class extends ar{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.DesignParameters=o,this.type=317615605}},e.IfcAlignmentVertical=class extends ar{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=1662888072}},e.IfcAsset=class extends ir{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.OriginalValue=r,this.CurrentValue=o,this.TotalReplacementCost=c,this.Owner=u,this.User=p,this.ResponsiblePerson=h,this.IncorporationDate=d,this.DepreciatedValue=f,this.type=3460190687}},e.IfcAudioVisualApplianceType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1532957894}};class wr extends Ol{constructor(e,t,n,s,i,a){super(e),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.type=1967976161}}e.IfcBSplineCurve=wr;class Tr extends wr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.KnotMultiplicities=l,this.Knots=r,this.KnotSpec=o,this.type=2461110595}}e.IfcBSplineCurveWithKnots=Tr,e.IfcBeamType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=819618141}},e.IfcBearingType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3649138523}},e.IfcBoilerType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=231477066}};class Er extends Cl{constructor(e,t,n){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.type=1136057603}}e.IfcBoundaryCurve=Er,e.IfcBridge=class extends zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.PredefinedType=u,this.type=644574406}},e.IfcBridgePart=class extends Wl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.UsageType=u,this.PredefinedType=p,this.type=963979645}},e.IfcBuilding=class extends zl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.ElevationOfRefHeight=u,this.ElevationOfTerrain=p,this.BuildingAddress=h,this.type=4031249490}},e.IfcBuildingElementPart=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2979338954}},e.IfcBuildingElementPartType=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=39481116}},e.IfcBuildingElementProxyType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1909888760}},e.IfcBuildingSystem=class extends mr{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.LongName=r,this.type=1177604601}};class gr extends Bl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1876633798}}e.IfcBuiltElement=gr,e.IfcBuiltSystem=class extends mr{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.LongName=r,this.type=3862327254}},e.IfcBurnerType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2188180465}},e.IfcCableCarrierFittingType=class extends Zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=395041908}},e.IfcCableCarrierSegmentType=class extends Jl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3293546465}},e.IfcCableFittingType=class extends Zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2674252688}},e.IfcCableSegmentType=class extends Jl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1285652485}},e.IfcCaissonFoundationType=class extends _l{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3203706013}},e.IfcChillerType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2951183804}},e.IfcChimney=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3296154744}},e.IfcCircle=class extends Ll{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=2611217952}},e.IfcCivilElement=class extends Bl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1677625105}},e.IfcCoilType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2301859152}},e.IfcColumn=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=843113511}},e.IfcCommunicationsApplianceType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=400855858}},e.IfcCompressorType=class extends Ql{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3850581409}},e.IfcCondenserType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2816379211}},e.IfcConstructionEquipmentResource=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=3898045240}},e.IfcConstructionMaterialResource=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=1060000209}},e.IfcConstructionProductResource=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=488727124}},e.IfcConveyorSegmentType=class extends Jl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2940368186}},e.IfcCooledBeamType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=335055490}},e.IfcCoolingTowerType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2954562838}},e.IfcCourse=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1502416096}},e.IfcCovering=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1973544240}},e.IfcCurtainWall=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3495092785}},e.IfcDamperType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3961806047}};class Rr extends gr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3426335179}}e.IfcDeepFoundation=Rr,e.IfcDiscreteAccessory=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1335981549}},e.IfcDiscreteAccessoryType=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2635815018}},e.IfcDistributionBoardType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=479945903}},e.IfcDistributionChamberElementType=class extends Hl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1599208980}};class Dr extends Ml{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2063403501}}e.IfcDistributionControlElementType=Dr;class Sr extends Bl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1945004755}}e.IfcDistributionElement=Sr;class br extends Sr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3040386961}}e.IfcDistributionFlowElement=br,e.IfcDistributionPort=class extends lr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.FlowDirection=o,this.PredefinedType=c,this.SystemType=u,this.type=3041715199}};class Nr extends mr{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.PredefinedType=r,this.type=3205830791}}e.IfcDistributionSystem=Nr,e.IfcDoor=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OverallHeight=c,this.OverallWidth=u,this.PredefinedType=p,this.OperationType=h,this.UserDefinedOperationType=d,this.type=395920057}},e.IfcDuctFittingType=class extends Zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=869906466}},e.IfcDuctSegmentType=class extends Jl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3760055223}},e.IfcDuctSilencerType=class extends tr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2030761528}},e.IfcEarthworksCut=class extends Xl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3071239417}};class Or extends gr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1077100507}}e.IfcEarthworksElement=Or,e.IfcEarthworksFill=class extends Or{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3376911765}},e.IfcElectricApplianceType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=663422040}},e.IfcElectricDistributionBoardType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2417008758}},e.IfcElectricFlowStorageDeviceType=class extends $l{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3277789161}},e.IfcElectricFlowTreatmentDeviceType=class extends tr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2142170206}},e.IfcElectricGeneratorType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1534661035}},e.IfcElectricMotorType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1217240411}},e.IfcElectricTimeControlType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=712377611}};class Ar extends br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1658829314}}e.IfcEnergyConversionDevice=Ar,e.IfcEngine=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2814081492}},e.IfcEvaporativeCooler=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3747195512}},e.IfcEvaporator=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=484807127}},e.IfcExternalSpatialElement=class extends Vl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.PredefinedType=c,this.type=1209101575}},e.IfcFanType=class extends Ql{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=346874300}},e.IfcFilterType=class extends tr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1810631287}},e.IfcFireSuppressionTerminalType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4222183408}};class xr extends br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2058353004}}e.IfcFlowController=xr;class Cr extends br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=4278956645}}e.IfcFlowFitting=Cr,e.IfcFlowInstrumentType=class extends Dr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4037862832}},e.IfcFlowMeter=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2188021234}};class Lr extends br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3132237377}}e.IfcFlowMovingDevice=Lr;class Pr extends br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=987401354}}e.IfcFlowSegment=Pr;class qr extends br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=707683696}}e.IfcFlowStorageDevice=qr;class _r extends br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2223149337}}e.IfcFlowTerminal=_r;class Mr extends br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3508470533}}e.IfcFlowTreatmentDevice=Mr,e.IfcFooting=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=900683007}};class Hr extends sr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2713699986}}e.IfcGeotechnicalAssembly=Hr,e.IfcGrid=class extends rr{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.UAxes=o,this.VAxes=c,this.WAxes=u,this.PredefinedType=p,this.type=3009204131}},e.IfcHeatExchanger=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3319311131}},e.IfcHumidifier=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2068733104}},e.IfcInterceptor=class extends Mr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4175244083}},e.IfcJunctionBox=class extends Cr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2176052936}},e.IfcKerb=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.Mountable=c,this.type=2696325953}},e.IfcLamp=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=76236018}},e.IfcLightFixture=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=629592764}};class Br extends rr{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=1154579445}}e.IfcLinearPositioningElement=Br,e.IfcLiquidTerminal=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1638804497}},e.IfcMedicalDevice=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1437502449}},e.IfcMember=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1073191201}},e.IfcMobileTelecommunicationsAppliance=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2078563270}},e.IfcMooringDevice=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=234836483}},e.IfcMotorConnection=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2474470126}},e.IfcNavigationElement=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2182337498}},e.IfcOuterBoundaryCurve=class extends Er{constructor(e,t,n){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.type=144952367}},e.IfcOutlet=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3694346114}},e.IfcPavement=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1383356374}},e.IfcPile=class extends Rr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.ConstructionType=u,this.type=1687234759}},e.IfcPipeFitting=class extends Cr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=310824031}},e.IfcPipeSegment=class extends Pr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3612865200}},e.IfcPlate=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3171933400}},e.IfcProtectiveDevice=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=738039164}},e.IfcProtectiveDeviceTrippingUnitType=class extends Dr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=655969474}},e.IfcPump=class extends Lr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=90941305}},e.IfcRail=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3290496277}},e.IfcRailing=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2262370178}},e.IfcRamp=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3024970846}},e.IfcRampFlight=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3283111854}},e.IfcRationalBSplineCurveWithKnots=class extends Tr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.KnotMultiplicities=l,this.Knots=r,this.KnotSpec=o,this.WeightsData=c,this.type=1232101972}},e.IfcReinforcedSoil=class extends Or{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3798194928}},e.IfcReinforcingBar=class extends or{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.NominalDiameter=u,this.CrossSectionArea=p,this.BarLength=h,this.PredefinedType=d,this.BarSurface=f,this.type=979691226}},e.IfcReinforcingBarType=class extends cr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.NominalDiameter=p,this.CrossSectionArea=h,this.BarLength=d,this.BarSurface=f,this.BendingShapeCode=I,this.BendingParameters=m,this.type=2572171363}},e.IfcRoof=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2016517767}},e.IfcSanitaryTerminal=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3053780830}},e.IfcSensorType=class extends Dr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1783015770}},e.IfcShadingDevice=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1329646415}},e.IfcSignal=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=991950508}},e.IfcSlab=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1529196076}},e.IfcSolarDevice=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3420628829}},e.IfcSpaceHeater=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1999602285}},e.IfcStackTerminal=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1404847402}},e.IfcStair=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=331165859}},e.IfcStairFlight=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.NumberOfRisers=c,this.NumberOfTreads=u,this.RiserHeight=p,this.TreadLength=h,this.PredefinedType=d,this.type=4252922144}},e.IfcStructuralAnalysisModel=class extends mr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.OrientationOf2DPlane=r,this.LoadedBy=o,this.HasResults=c,this.SharedPlacement=u,this.type=2515109513}},e.IfcStructuralLoadCase=class extends fr{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.ActionType=r,this.ActionSource=o,this.Coefficient=c,this.Purpose=u,this.SelfWeightCoefficients=p,this.type=385403989}},e.IfcStructuralPlanarAction=class extends Ir{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p,h),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.ProjectedOrTrue=p,this.PredefinedType=h,this.type=1621171031}},e.IfcSwitchingDevice=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1162798199}},e.IfcTank=class extends qr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=812556717}},e.IfcTrackElement=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3425753595}},e.IfcTransformer=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3825984169}},e.IfcTransportElement=class extends yr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1620046519}},e.IfcTubeBundle=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3026737570}},e.IfcUnitaryControlElementType=class extends Dr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3179687236}},e.IfcUnitaryEquipment=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4292641817}},e.IfcValve=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4207607924}};class Ur extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2391406946}}e.IfcWall=Ur,e.IfcWallStandardCase=class extends Ur{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3512223829}},e.IfcWasteTerminal=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4237592921}},e.IfcWindow=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OverallHeight=c,this.OverallWidth=u,this.PredefinedType=p,this.PartitioningType=h,this.UserDefinedPartitioningType=d,this.type=3304561284}},e.IfcActuatorType=class extends Dr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2874132201}},e.IfcAirTerminal=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1634111441}},e.IfcAirTerminalBox=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=177149247}},e.IfcAirToAirHeatRecovery=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2056796094}},e.IfcAlarmType=class extends Dr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3001207471}},e.IfcAlignment=class extends Br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.type=325726236}},e.IfcAudioVisualAppliance=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=277319702}},e.IfcBeam=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=753842376}},e.IfcBearing=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4196446775}},e.IfcBoiler=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=32344328}},e.IfcBorehole=class extends Hr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3314249567}},e.IfcBuildingElementProxy=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1095909175}},e.IfcBurner=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2938176219}},e.IfcCableCarrierFitting=class extends Cr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=635142910}},e.IfcCableCarrierSegment=class extends Pr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3758799889}},e.IfcCableFitting=class extends Cr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1051757585}},e.IfcCableSegment=class extends Pr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4217484030}},e.IfcCaissonFoundation=class extends Rr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3999819293}},e.IfcChiller=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3902619387}},e.IfcCoil=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=639361253}},e.IfcCommunicationsAppliance=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3221913625}},e.IfcCompressor=class extends Lr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3571504051}},e.IfcCondenser=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2272882330}},e.IfcControllerType=class extends Dr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=578613899}},e.IfcConveyorSegment=class extends Pr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3460952963}},e.IfcCooledBeam=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4136498852}},e.IfcCoolingTower=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3640358203}},e.IfcDamper=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4074379575}},e.IfcDistributionBoard=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3693000487}},e.IfcDistributionChamberElement=class extends br{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1052013943}},e.IfcDistributionCircuit=class extends Nr{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.PredefinedType=r,this.type=562808652}};class Fr extends Sr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1062813311}}e.IfcDistributionControlElement=Fr,e.IfcDuctFitting=class extends Cr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=342316401}},e.IfcDuctSegment=class extends Pr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3518393246}},e.IfcDuctSilencer=class extends Mr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1360408905}},e.IfcElectricAppliance=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1904799276}},e.IfcElectricDistributionBoard=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=862014818}},e.IfcElectricFlowStorageDevice=class extends qr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3310460725}},e.IfcElectricFlowTreatmentDevice=class extends Mr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=24726584}},e.IfcElectricGenerator=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=264262732}},e.IfcElectricMotor=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=402227799}},e.IfcElectricTimeControl=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1003880860}},e.IfcFan=class extends Lr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3415622556}},e.IfcFilter=class extends Mr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=819412036}},e.IfcFireSuppressionTerminal=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1426591983}},e.IfcFlowInstrument=class extends Fr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=182646315}},e.IfcGeomodel=class extends Hr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2680139844}},e.IfcGeoslice=class extends Hr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1971632696}},e.IfcProtectiveDeviceTrippingUnit=class extends Fr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2295281155}},e.IfcSensor=class extends Fr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4086658281}},e.IfcUnitaryControlElement=class extends Fr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=630975310}},e.IfcActuator=class extends Fr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4288193352}},e.IfcAlarm=class extends Fr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3087945054}},e.IfcController=class extends Fr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=25142252}}}(r||(r={}));var Hm,Bm,Um={aggregates:{name:po,relating:\"RelatingObject\",related:\"RelatedObjects\",key:\"children\"},spatial:{name:Cu,relating:\"RelatingStructure\",related:\"RelatedElements\",key:\"children\"},psets:{name:bu,relating:\"RelatingPropertyDefinition\",related:\"RelatedObjects\",key:\"IsDefinedBy\"},materials:{name:ju,relating:\"RelatingMaterial\",related:\"RelatedObjects\",key:\"HasAssociations\"},type:{name:Su,relating:\"RelatingType\",related:\"RelatedObjects\",key:\"IsDefinedBy\"}},Fm=class{constructor(e){this.api=e}getItemProperties(e,t,n=!1,s=!1){return v(this,null,(function*(){return this.api.GetLine(e,t,n,s)}))}getPropertySets(e,t=0,n=!1){return v(this,null,(function*(){return yield this.getRelatedProperties(e,t,Um.psets,n)}))}setPropertySets(e,t,n){return v(this,null,(function*(){return this.setItemProperties(e,t,n,Um.psets)}))}getTypeProperties(e,t=0,n=!1){return v(this,null,(function*(){return\"IFC2X3\"==this.api.GetModelSchema(e)?yield this.getRelatedProperties(e,t,Um.type,n):yield this.getRelatedProperties(e,t,(s=m({},Um.type),i={key:\"IsTypedBy\"},u(s,p(i))),n);var s,i}))}getMaterialsProperties(e,t=0,n=!1){return v(this,null,(function*(){return yield this.getRelatedProperties(e,t,Um.materials,n)}))}setMaterialsProperties(e,t,n){return v(this,null,(function*(){return this.setItemProperties(e,t,n,Um.materials)}))}getSpatialStructure(e,t=!1){return v(this,null,(function*(){const n=yield this.getSpatialTreeChunks(e),s=(yield this.api.GetLineIDsWithType(e,pp)).get(0),i=Fm.newIfcProject(s);return yield this.getSpatialNode(e,i,n,t),i}))}getRelatedProperties(e,t,n,s=!1){return v(this,null,(function*(){const i=[];let a=null;if(0!==t)a=yield this.api.GetLine(e,t,!1,!0)[n.key];else{let t=this.api.GetLineIDsWithType(e,n.name);a=[];for(let e=0;ee.value));null==e[s]?e[s]=i:e[s]=e[s].concat(i)}setItemProperties(e,t,n,s){return v(this,null,(function*(){Array.isArray(t)||(t=[t]),Array.isArray(n)||(n=[n]);let i=0;const a=[],l=[];for(const n of t){const t=yield this.api.GetLine(e,n,!1,!0);t[s.key]&&l.push(t)}if(l.length<1)return!1;const r=this.api.GetLineIDsWithType(e,s.name);for(let t=0;te.value===n.expressID))||t[s.key].push({type:5,value:n.expressID}),n[s.related].some((e=>e.value===t.expressID))||(n[s.related].push({type:5,value:t.expressID}),this.api.WriteLine(e,n));this.api.WriteLine(e,t)}return!0}))}};(Bm=Hm||(Hm={}))[Bm.LOG_LEVEL_DEBUG=0]=\"LOG_LEVEL_DEBUG\",Bm[Bm.LOG_LEVEL_INFO=1]=\"LOG_LEVEL_INFO\",Bm[Bm.LOG_LEVEL_WARN=2]=\"LOG_LEVEL_WARN\",Bm[Bm.LOG_LEVEL_ERROR=3]=\"LOG_LEVEL_ERROR\",Bm[Bm.LOG_LEVEL_OFF=4]=\"LOG_LEVEL_OFF\";var Gm,Vm=class{static setLogLevel(e){this.logLevel=e}static log(e,...t){this.logLevel<=3&&console.log(e,...t)}static debug(e,...t){this.logLevel<=0&&console.trace(\"DEBUG: \",e,...t)}static info(e,...t){this.logLevel<=1&&console.info(\"INFO: \",e,...t)}static warn(e,...t){this.logLevel<=2&&console.warn(\"WARN: \",e,...t)}static error(e,...t){this.logLevel<=3&&console.error(\"ERROR: \",e,...t)}};if(Vm.logLevel=1,\"undefined\"!=typeof self&&self.crossOriginIsolated)try{Gm=w()}catch(e){Gm=T()}else Gm=T();var jm=class{constructor(){this.wasmModule=void 0,this.wasmPath=\"\",this.isWasmPathAbsolute=!1,this.modelSchemaList=[],this.modelSchemaNameList=[],this.ifcGuidMap=new Map,this.deletedLines=new Map,this.properties=new Fm(this)}Init(e){return v(this,null,(function*(){if(Gm){let t=(e,t)=>e.endsWith(\".wasm\")?this.isWasmPathAbsolute?this.wasmPath+e:t+this.wasmPath+e:t+e;this.wasmModule=yield Gm({noInitialRun:!0,locateFile:e||t})}else Vm.error(\"Could not find wasm module at './web-ifc' from web-ifc-api.ts\")}))}OpenModels(e,t){let n=m({MEMORY_LIMIT:2147483648},t);n.MEMORY_LIMIT=n.MEMORY_LIMIT/e.length;let s=[];for(let t of e)s.push(this.OpenModel(t,n));return s}CreateSettings(e){let t=m({OPTIMIZE_PROFILES:!1,COORDINATE_TO_ORIGIN:!1,CIRCLE_SEGMENTS:12,TAPE_SIZE:67108864,MEMORY_LIMIT:2147483648},e),n=[\"USE_FAST_BOOLS\",\"CIRCLE_SEGMENTS_LOW\",\"CIRCLE_SEGMENTS_MEDIUM\",\"CIRCLE_SEGMENTS_HIGH\"];for(let e in n)e in t&&Vm.info(\"Use of deprecated settings \"+e+\" detected\");return t}LookupSchemaId(e){for(var t=0;t{let i=Math.min(e.byteLength-n,s),a=this.wasmModule.HEAPU8.subarray(t,t+i),l=e.subarray(n,n+i);return a.set(l),i}));this.deletedLines.set(s,new Set);var i=this.GetHeaderLine(s,Sm).arguments[0][0].value;return this.modelSchemaList[s]=this.LookupSchemaId(i),-1==this.modelSchemaList[s]?(Vm.error(\"Unsupported Schema:\"+i),this.CloseModel(s),-1):(Vm.info(\"Parsing Model using \"+i+\" Schema\"),s)}GetModelSchema(e){return this.modelSchemaNameList[e]}CreateModel(e,t){var n,s,i;let a=this.CreateSettings(t),l=this.wasmModule.CreateModel(a);if(this.modelSchemaList[l]=this.LookupSchemaId(e.schema),this.modelSchemaNameList[l]=e.schema,-1==this.modelSchemaList[l])return Vm.error(\"Unsupported Schema:\"+e.schema),this.CloseModel(l),-1;this.deletedLines.set(l,new Set);const r=e.name||\"web-ifc-model-\"+l+\".ifc\",o=(new Date).toISOString().slice(0,19),c=(null==(n=e.description)?void 0:n.map((e=>({type:1,value:e}))))||[{type:1,value:\"ViewDefinition [CoordinationView]\"}],u=(null==(s=e.authors)?void 0:s.map((e=>({type:1,value:e}))))||[null],p=(null==(i=e.organizations)?void 0:i.map((e=>({type:1,value:e}))))||[null],h=e.authorization?{type:1,value:e.authorization}:null;return this.wasmModule.WriteHeaderLine(l,Rm,[c,{type:1,value:\"2;1\"}]),this.wasmModule.WriteHeaderLine(l,Dm,[{type:1,value:r},{type:1,value:o},u,p,{type:1,value:\"ifcjs/web-ifc-api\"},{type:1,value:\"ifcjs/web-ifc-api\"},h]),this.wasmModule.WriteHeaderLine(l,Sm,[[{type:1,value:e.schema}]]),l}SaveModel(e){let t=this.wasmModule.GetModelSize(e),n=new Uint8Array(t+512),s=0;this.wasmModule.SaveModel(e,((e,t)=>{let i=this.wasmModule.HEAPU8.subarray(e,e+t);s=t,n.set(i,0)}));let i=new Uint8Array(s);return i.set(n.subarray(0,s),0),i}ExportFileAsIFC(e){return Vm.warn(\"ExportFileAsIFC is deprecated, use SaveModel instead\"),this.SaveModel(e)}GetGeometry(e,t){return this.wasmModule.GetGeometry(e,t)}GetHeaderLine(e,t){return this.wasmModule.GetHeaderLine(e,t)}GetAllTypesOfModel(e){let t=[];const n=Object.keys(Om[this.modelSchemaList[e]]).map((e=>parseInt(e)));for(let s=0;s0&&t.push({typeID:n[s],typeName:this.wasmModule.GetNameFromTypeCode(n[s])});return t}GetLine(e,t,n=!1,s=!1){if(!this.wasmModule.ValidateExpressID(e,t))return;let i,a=this.GetRawLineData(e,t);try{i=Om[this.modelSchemaList[e]][a.type](a.ID,a.arguments)}catch(e){return void Vm.error(\"Invalid IFC Line:\"+t)}n&&this.FlattenLine(e,i);let l=Am[this.modelSchemaList[e]][a.type];if(s&&null!=l)for(let s of l){s[3]?i[s[0]]=[]:i[s[0]]=null;let a=[s[1]];void 0!==xm[this.modelSchemaList[e]][s[1]]&&(a=a.concat(xm[this.modelSchemaList[e]][s[1]]));let l=this.wasmModule.GetInversePropertyForItem(e,t,a,s[2],s[3]);if(!s[3]&&l.size()>0)i[s[0]]=n?this.GetLine(e,l.get(0)):{type:5,value:l.get(0)};else for(let t=0;tparseInt(e)))}DeleteLine(e,t){this.wasmModule.RemoveLine(e,t),this.deletedLines.get(e).add(t)}WriteLine(e,t){if(-1!=t.expressID&&this.deletedLines.get(e).has(t.expressID))return void Vm.error(\"Cannot re-use deleted express ID\");if(-1!=t.expressID&&this.GetLineType(e,t.expressID)!=t.type&&0!=this.GetLineType(e,t.expressID))return void Vm.error(\"Cannot change type of existing IFC Line\");let n;for(n in t){const s=t[n];if(s&&void 0!==s.expressID)this.WriteLine(e,s),t[n]=new bm(s.expressID);else if(Array.isArray(s)&&s.length>0)for(let i=0;i{let s=t[n];if(s&&5===s.type)s.value&&(t[n]=this.GetLine(e,s.value,!0));else if(Array.isArray(s)&&s.length>0&&5===s[0].type)for(let i=0;i{\"use strict\";n.d(t,{$V:()=>i,EM:()=>u,L4:()=>r,Q_:()=>o,VQ:()=>p,dv:()=>s,ms:()=>a,wG:()=>c,xJ:()=>l});const s=0,i=1,a=2,l=2,r=1.25,o=1,c=32,u=65535,p=Math.pow(2,-24)},6204:(e,t,n)=>{\"use strict\";n.d(t,{r:()=>S});var s=n(8823),i=n(9531),a=n(3848),l=n(925),r=n(4942),o=n(7344),c=n(8408),u=n(4373),p=n(3824);const h=Symbol(\"skip tree generation\"),d=new s.ZzF,f=new s.ZzF,I=new s.yGw,m=new r.o,y=new r.o,v=new s.Pa4,w=new s.Pa4,T=new s.Pa4,E=new s.Pa4,g=new s.Pa4,R=new s.ZzF,D=new c.P((()=>new o.h));class S{static serialize(e,t={}){if(t.isBufferGeometry)return console.warn(\"MeshBVH.serialize: The arguments for the function have changed. See documentation for new signature.\"),S.serialize(arguments[0],{cloneBuffers:void 0===arguments[2]||arguments[2]});t={cloneBuffers:!0,...t};const n=e.geometry,s=e._roots,i=n.getIndex();let a;return a=t.cloneBuffers?{roots:s.map((e=>e.slice())),index:i.array.slice()}:{roots:s,index:i.array},a}static deserialize(e,t,n={}){if(\"boolean\"==typeof n)return console.warn(\"MeshBVH.deserialize: The arguments for the function have changed. See documentation for new signature.\"),S.deserialize(arguments[0],arguments[1],{setIndex:void 0===arguments[2]||arguments[2]});n={setIndex:!0,...n};const{index:i,roots:a}=e,l=new S(t,{...n,[h]:!0});if(l._roots=a,n.setIndex){const n=t.getIndex();if(null===n){const n=new s.TlE(e.index,1,!1);t.setIndex(n)}else n.array!==i&&(n.array.set(i),n.needsUpdate=!0)}return l}constructor(e,t={}){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((t=Object.assign({strategy:i.dv,maxDepth:40,maxLeafTris:10,verbose:!0,useSharedArrayBuffer:!1,setBoundingBox:!0,onProgress:null,[h]:!1},t)).useSharedArrayBuffer&&\"undefined\"==typeof SharedArrayBuffer)throw new Error(\"MeshBVH: SharedArrayBuffer is not available.\");this._roots=null,t[h]||(this._roots=(0,a.v)(e,t),!e.boundingBox&&t.setBoundingBox&&(e.boundingBox=this.getBoundingBox(new s.ZzF))),this.geometry=e}refit(e=null){e&&Array.isArray(e)&&(e=new Set(e));const t=this.geometry,n=t.index.array,s=t.attributes.position;let a,l,r,o,c=0;const u=this._roots;for(let e=0,t=u.length;ep&&(p=l),rh&&(h=r),od&&(d=o)}return(o[t+0]!==i||o[t+1]!==a||o[t+2]!==c||o[t+3]!==p||o[t+4]!==h||o[t+5]!==d)&&(o[t+0]=i,o[t+1]=a,o[t+2]=c,o[t+3]=p,o[t+4]=h,o[t+5]=d,!0)}{const n=t+8,s=l[t+6],i=n+a,r=s+a;let u=c,h=!1,d=!1;e?u||(h=e.has(i),d=e.has(r),u=!h&&!d):(h=!0,d=!0);const f=u||d;let I=!1;(u||h)&&(I=p(n,a,u));let m=!1;f&&(m=p(s,a,u));const y=I||m;if(y)for(let e=0;e<3;e++){const i=n+e,a=s+e,l=o[i],r=o[i+3],c=o[a],u=o[a+3];o[t+e]=lu?r:u}return y}}}traverse(e,t=0){const n=this._roots[t],s=new Uint32Array(n),a=new Uint16Array(n);!function t(l,r=0){const o=2*l,c=a[o+15]===i.EM;if(c){const t=s[l+6],i=a[o+14];e(r,c,new Float32Array(n,4*l,6),t,i)}else{const a=l+i.wG/4,o=s[l+6],u=s[l+7];e(r,c,new Float32Array(n,4*l,6),u)||(t(a,r+1),t(o,r+1))}}(0)}raycast(e,t=s.Wl3){const n=this._roots,i=this.geometry,a=[],r=t.isMaterial,o=Array.isArray(t),c=i.groups,u=r?t.side:t;for(let s=0,r=n.length;s{const a=3*n;return e(t,a,a+1,a+2,s,i)}}e={boundsTraverseOrder:n,intersectsBounds:e,intersectsTriangle:t,intersectsRange:null},console.warn(\"MeshBVH: Shapecast function signature has changed and now takes an object of callbacks as a second argument. See docs for new signature.\")}const i=D.getPrimitive();let{boundsTraverseOrder:a,intersectsBounds:r,intersectsRange:o,intersectsTriangle:c}=e;if(o&&c){const e=o;o=(t,n,a,l,r)=>!!e(t,n,a,l,r)||(0,p.TD)(t,n,s,c,a,l,i)}else o||(o=c?(e,t,n,a)=>(0,p.TD)(e,t,s,c,n,a,i):(e,t,n)=>n);let u=!1,h=0;for(const e of this._roots){if((0,l.RJ)(e),u=(0,l.aA)(0,s,r,o,a,h),(0,l.$D)(),u)break;h+=e.byteLength}return D.releasePrimitive(i),u}bvhcast(e,t,n){let{intersectsRanges:s,intersectsTriangles:i}=n;const a=this.geometry.index,l=this.geometry.attributes.position,r=e.geometry.index,o=e.geometry.attributes.position;I.copy(t).invert();const c=D.getPrimitive(),u=D.getPrimitive();if(i){function m(e,n,s,h,d,f,I,m){for(let y=s,v=s+h;yf.intersectsBox(e),intersectsRange:(t,n,i,a,l,r)=>(d.copy(r),d.applyMatrix4(I),e.shapecast({intersectsBounds:e=>d.intersectsBox(e),intersectsRange:(e,i,r,o,c)=>s(t,n,e,i,a,l,o,c)}))});return D.releasePrimitive(c),D.releasePrimitive(u),h}intersectsBox(e,t){return m.set(e.min,e.max,t),m.needsUpdate=!0,this.shapecast({intersectsBounds:e=>m.intersectsBox(e),intersectsTriangle:e=>m.intersectsTriangle(e)})}intersectsSphere(e){return this.shapecast({intersectsBounds:t=>e.intersectsBox(t),intersectsTriangle:t=>t.intersectsSphere(e)})}closestPointToGeometry(e,t,n={},s={},i=0,a=1/0){e.boundingBox||e.computeBoundingBox(),m.set(e.boundingBox.min,e.boundingBox.max,t),m.needsUpdate=!0;const l=this.geometry,r=l.attributes.position,o=l.index,c=e.attributes.position,u=e.index,h=D.getPrimitive(),d=D.getPrimitive();let f=w,v=T,R=null,S=null;s&&(R=E,S=g);let b=1/0,N=null,O=null;return I.copy(t).invert(),y.matrix.copy(I),this.shapecast({boundsTraverseOrder:e=>m.distanceToBox(e),intersectsBounds:(e,t,n)=>n{if(e.boundsTree)return e.boundsTree.shapecast({boundsTraverseOrder:e=>y.distanceToBox(e),intersectsBounds:(e,t,n)=>n{for(let l=3*e,I=3*(e+a);l(v.copy(e).clamp(t.min,t.max),v.distanceToSquared(e)),intersectsBounds:(e,t,n)=>n{t.closestPointToPoint(e,v);const s=e.distanceToSquared(v);return s{(0,u.YN)(0,new Float32Array(t),R),e.union(R)})),e}}},2622:(e,t,n)=>{\"use strict\";n.d(t,{i:()=>s});class s{constructor(){}}},3848:(e,t,n)=>{\"use strict\";n.d(t,{v:()=>h});var s=n(8823),i=n(2622),a=n(4373),l=n(9531);function r(e,t,n,s,i=null){let a=1/0,l=1/0,r=1/0,o=-1/0,c=-1/0,u=-1/0,p=1/0,h=1/0,d=1/0,f=-1/0,I=-1/0,m=-1/0;const y=null!==i;for(let s=6*t,i=6*(t+n);so&&(o=v),y&&tf&&(f=t);const w=e[s+2],T=e[s+3],E=w-T,g=w+T;Ec&&(c=g),y&&wI&&(I=w);const R=e[s+4],D=e[s+5],S=R-D,b=R+D;Su&&(u=b),y&&Rm&&(m=R)}s[0]=a,s[1]=l,s[2]=r,s[3]=o,s[4]=c,s[5]=u,y&&(i[0]=p,i[1]=h,i[2]=d,i[3]=f,i[4]=I,i[5]=m)}const o=32,c=(e,t)=>e.candidate-t.candidate,u=new Array(o).fill().map((()=>({count:0,bounds:new Float32Array(6),rightCacheBounds:new Float32Array(6),leftCacheBounds:new Float32Array(6),candidate:0}))),p=new Float32Array(6);function h(e,t){const n=function(e,t){function n(e){E&&E(e/g)}function h(t,s,d,E=null,g=0){if(!R&&g>=y&&(R=!0,v&&(console.warn(`MeshBVH: Max depth of ${y} reached when generating BVH. Consider increasing maxDepth.`),console.warn(e))),d<=w||g>=y)return n(s+d),t.offset=s,t.count=d,t;const D=function(e,t,n,s,i,r){let h=-1,d=0;if(r===l.dv)h=(0,a._x)(t),-1!==h&&(d=(t[h]+t[h+3])/2);else if(r===l.$V)h=(0,a._x)(e),-1!==h&&(d=function(e,t,n,s){let i=0;for(let a=t,l=t+n;a=l.candidate?(0,a.xT)(s,n,l.rightCacheBounds):((0,a.xT)(s,n,l.leftCacheBounds),l.count++)}}for(let n=0;n=o&&(i=o-1);const l=u[i];l.count++,(0,a.xT)(t,n,l.bounds)}const t=u[o-1];(0,a.js)(t.bounds,t.rightCacheBounds);for(let e=o-2;e>=0;e--){const t=u[e],n=u[e+1];(0,a.Lm)(t.bounds,n.rightCacheBounds,t.rightCacheBounds)}let c=0;for(let t=0;t=r;)l--;if(!(a65535?new Uint32Array(new i(4*n)):new Uint16Array(new i(2*n)),e.setIndex(new s.TlE(a,1));for(let e=0;em&&(m=i),c>m&&(m=c);const y=(m-u)/2,v=2*e;a[h+v+0]=u+y,a[h+v+1]=y+(Math.abs(u)+y)*l.VQ,ut[e+3]&&(t[e+3]=m)}}return a}(e,d),m=e.index.array,y=t.maxDepth,v=t.verbose,w=t.maxLeafTris,T=t.strategy,E=t.onProgress,g=e.index.count/3;let R=!1;const D=[],S=function(e){if(!e.groups||!e.groups.length)return[{offset:0,count:e.index.count/3}];const t=[],n=new Set;for(const t of e.groups)n.add(t.start),n.add(t.start+t.count);const s=Array.from(n.values()).sort(((e,t)=>e-t));for(let e=0;er&&(r=t);const n=e[s+2];no&&(o=n);const u=e[s+4];uc&&(c=u)}s[0]=i,s[1]=a,s[2]=l,s[3]=r,s[4]=o,s[5]=c}(I,e.offset,e.count,f),h(t,e.offset,e.count,f),D.push(t)}else for(let e of S){const t=new i.i;t.boundingData=new Float32Array(6),r(I,e.offset,e.count,t.boundingData,f),h(t,e.offset,e.count,f),D.push(t)}return D}(e,t);let h,d,f;const I=[],m=t.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;for(let e=0;eMath.pow(2,32))throw new Error(\"MeshBVH: Cannot store child pointer greater than 32 bits.\");return d[n+6]=r/4,r=v(r,i),d[n+7]=a,r}}}},925:(e,t,n)=>{\"use strict\";n.d(t,{$D:()=>b,P6:()=>m,RJ:()=>S,aA:()=>y,gt:()=>v,sP:()=>I});var s=n(8823),i=n(9531),a=n(4942),l=n(7344),r=n(95),o=n(3824),c=n(4373),u=n(8408),p=n(5765);const h=new s.ZzF,d=new s.Pa4,f=[\"x\",\"y\",\"z\"];function I(e,t,n,s,i){let a=2*e,l=g,o=R,c=D;if((0,p.ee)(a,o)){const l=(0,p.ew)(e,c),u=(0,p.ai)(a,o);(0,r.U$)(t,n,s,l,u,i)}else{const a=(0,p.lB)(e);w(a,l,s,d)&&I(a,t,n,s,i);const r=(0,p.J8)(e,c);w(r,l,s,d)&&I(r,t,n,s,i)}}function m(e,t,n,s){let i=2*e,a=g,l=R,o=D;if((0,p.ee)(i,l)){const a=(0,p.ew)(e,o),c=(0,p.ai)(i,l);return(0,r.rM)(t,n,s,a,c)}{const i=(0,p.ki)(e,o),l=f[i],r=s.direction[l]>=0;let c,u;r?(c=(0,p.lB)(e),u=(0,p.J8)(e,o)):(c=(0,p.J8)(e,o),u=(0,p.lB)(e));const h=w(c,a,s,d)?m(c,t,n,s):null;if(h){const e=h.point[l];if(r?e<=a[u+i]:e>=a[u+i+3])return h}const I=w(u,a,s,d)?m(u,t,n,s):null;return h&&I?h.distance<=I.distance?h:I:h||I||null}}const y=function(){let e,t;const n=[],a=new u.P((()=>new s.ZzF));return function(...s){e=a.getPrimitive(),t=a.getPrimitive(),n.push(e,t);const i=l(...s);a.releasePrimitive(e),a.releasePrimitive(t),n.pop(),n.pop();const r=n.length;return r>0&&(t=n[r-1],e=n[r-2]),i};function l(n,s,a,r,o=null,u=0,h=0){function d(e){let t=2*e,n=R,s=D;for(;!(0,p.ee)(t,n);)t=2*(e=(0,p.lB)(e));return(0,p.ew)(e,s)}function f(e){let t=2*e,n=R,s=D;for(;!(0,p.ee)(t,n);)t=2*(e=(0,p.J8)(e,s));return(0,p.ew)(e,s)+(0,p.ai)(t,n)}let I=2*n,m=g,y=R,v=D;if((0,p.ee)(I,y)){const t=(0,p.ew)(n,v),s=(0,p.ai)(I,y);return(0,c.YN)((0,p.V4)(n),m,e),r(t,s,!1,h,u+n,e)}{const I=(0,p.lB)(n),w=(0,p.J8)(n,v);let T,E,g,R,D=I,S=w;if(o&&(g=e,R=t,(0,c.YN)((0,p.V4)(D),m,g),(0,c.YN)((0,p.V4)(S),m,R),T=o(g),E=o(R),Er.intersectsBox(e),intersectsTriangle:e=>{e.a.applyMatrix4(d),e.b.applyMatrix4(d),e.c.applyMatrix4(d),e.needsUpdate=!0;for(let n=3*T,s=3*(E+T);n{\"use strict\";function s(e,t){return 65535===t[e+15]}function i(e,t){return t[e+6]}function a(e,t){return t[e+14]}function l(e){return e+8}function r(e,t){return t[e+6]}function o(e,t){return t[e+7]}function c(e){return e}n.d(t,{J8:()=>r,V4:()=>c,ai:()=>a,ee:()=>s,ew:()=>i,ki:()=>o,lB:()=>l})},7344:(e,t,n)=>{\"use strict\";n.d(t,{h:()=>r});var s=n(8823),i=n(6067),a=n(6075);function l(e){return Math.abs(e)<1e-15}class r extends s.CJI{constructor(...e){super(...e),this.isExtendedTriangle=!0,this.satAxes=new Array(4).fill().map((()=>new s.Pa4)),this.satBounds=new Array(4).fill().map((()=>new i.B)),this.points=[this.a,this.b,this.c],this.sphere=new s.aLr,this.plane=new s.JOQ,this.needsUpdate=!0}intersectsSphere(e){return(0,a.s_)(e,this)}update(){const e=this.a,t=this.b,n=this.c,s=this.points,i=this.satAxes,a=this.satBounds,l=i[0],r=a[0];this.getNormal(l),r.setFromPoints(l,s);const o=i[1],c=a[1];o.subVectors(e,t),c.setFromPoints(o,s);const u=i[2],p=a[2];u.subVectors(t,n),p.setFromPoints(u,s);const h=i[3],d=a[3];h.subVectors(n,e),d.setFromPoints(h,s),this.sphere.setFromPoints(this.points),this.plane.setFromNormalAndCoplanarPoint(l,e),this.needsUpdate=!1}}r.prototype.closestPointToSegment=function(){const e=new s.Pa4,t=new s.Pa4,n=new s.Zzh;return function(s,i=null,l=null){const{start:r,end:o}=s,c=this.points;let u,p=1/0;for(let r=0;r<3;r++){const o=(r+1)%3;n.start.copy(c[r]),n.end.copy(c[o]),(0,a.UX)(n,s,e,t),u=e.distanceToSquared(t),u1-1e-10){const e=this.satBounds,l=this.satAxes;n[0]=s.a,n[1]=s.b,n[2]=s.c;for(let t=0;t<4;t++){const s=e[t],i=l[t];if(a.setFromPoints(i,n),s.isSeparated(a))return!1}const u=s.satBounds,p=s.satAxes;t[0]=this.a,t[1]=this.b,t[2]=this.c;for(let e=0;e<4;e++){const n=u[e],s=p[e];if(a.setFromPoints(s,t),n.isSeparated(a))return!1}for(let e=0;e<4;e++){const s=l[e];for(let e=0;e<4;e++){const i=p[e];if(c.crossVectors(s,i),a.setFromPoints(c,t),o.setFromPoints(c,n),a.isSeparated(o))return!1}}return i&&(r||console.warn(\"ExtendedTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0.\"),i.start.set(0,0,0),i.end.set(0,0,0)),!0}{const e=this.points;let t=!1,n=0;for(let s=0;s<3;s++){const i=e[s],a=e[(s+1)%3];d.start.copy(i),d.end.copy(a),d.delta(u);const r=t?f.start:f.end,o=l(y.distanceToPoint(i));if(l(y.normal.dot(u))&&o){f.copy(d),n=2;break}if((y.intersectLine(d,r)||o)&&!l(r.distanceTo(a))){if(n++,t)break;t=!0}}if(1===n&&s.containsPoint(f.end))return i&&(i.start.copy(f.end),i.end.copy(f.end)),!0;if(2!==n)return!1;const a=s.points;let r=!1,o=0;for(let e=0;e<3;e++){const t=a[e],n=a[(e+1)%3];d.start.copy(t),d.end.copy(n),d.delta(p);const s=r?I.start:I.end,i=l(m.distanceToPoint(t));if(l(m.normal.dot(p))&&i){I.copy(d),o=2;break}if((m.intersectLine(d,s)||i)&&!l(s.distanceTo(n))){if(o++,r)break;r=!0}}if(1===o&&this.containsPoint(I.end))return i&&(i.start.copy(I.end),i.end.copy(I.end)),!0;if(2!==o)return!1;if(f.delta(u),I.delta(p),u.dot(p)<0){let e=I.start;I.start=I.end,I.end=e}const c=f.start.dot(u),v=f.end.dot(u),w=I.start.dot(u),T=I.end.dot(u);return(c===T||w===v||v0?i.start.copy(f.start):i.start.copy(I.start),h.subVectors(f.end,I.end),h.dot(u)<0?i.end.copy(f.end):i.end.copy(I.end)),!0)}}}(),r.prototype.distanceToPoint=function(){const e=new s.Pa4;return function(t){return this.closestPointToPoint(t,e),t.distanceTo(e)}}(),r.prototype.distanceToTriangle=function(){const e=new s.Pa4,t=new s.Pa4,n=[\"a\",\"b\",\"c\"],i=new s.Zzh,l=new s.Zzh;return function(s,r=null,o=null){const c=r||o?i:null;if(this.intersectsTriangle(s,c))return(r||o)&&(r&&c.getCenter(r),o&&c.getCenter(o)),0;let u=1/0;for(let t=0;t<3;t++){let i;const a=n[t],l=s[a];this.closestPointToPoint(l,e),i=l.distanceToSquared(e),i{\"use strict\";n.d(t,{UX:()=>a,s_:()=>l});var s=n(8823);const i=function(){const e=new s.Pa4,t=new s.Pa4,n=new s.Pa4;return function(s,i,a){const l=s.start,r=e,o=i.start,c=t;n.subVectors(l,o),e.subVectors(s.end,s.start),t.subVectors(i.end,i.start);const u=n.dot(c),p=c.dot(r),h=c.dot(c),d=n.dot(r),f=r.dot(r)*h-p*p;let I,m;I=0!==f?(u*p-d*h)/f:0,m=(u+I*p)/h,a.x=I,a.y=m}}(),a=function(){const e=new s.FM8,t=new s.Pa4,n=new s.Pa4;return function(s,a,l,r){i(s,a,e);let o=e.x,c=e.y;if(o>=0&&o<=1&&c>=0&&c<=1)return s.at(o,l),void a.at(c,r);if(o>=0&&o<=1)return c<0?a.at(0,r):a.at(1,r),void s.closestPointToPoint(r,!0,l);if(c>=0&&c<=1)return o<0?s.at(0,l):s.at(1,l),void a.closestPointToPoint(l,!0,r);{let e,i;e=o<0?s.start:s.end,i=c<0?a.start:a.end;const u=t,p=n;return s.closestPointToPoint(i,!0,t),a.closestPointToPoint(e,!0,n),u.distanceToSquared(i)<=p.distanceToSquared(e)?(l.copy(u),void r.copy(i)):(l.copy(e),void r.copy(p))}}}(),l=function(){const e=new s.Pa4,t=new s.Pa4,n=new s.JOQ,i=new s.Zzh;return function(s,a){const{radius:l,center:r}=s,{a:o,b:c,c:u}=a;if(i.start=o,i.end=c,i.closestPointToPoint(r,!0,e).distanceTo(r)<=l)return!0;if(i.start=o,i.end=u,i.closestPointToPoint(r,!0,e).distanceTo(r)<=l)return!0;if(i.start=c,i.end=u,i.closestPointToPoint(r,!0,e).distanceTo(r)<=l)return!0;const p=a.getPlane(n);if(Math.abs(p.distanceToPoint(r))<=l){const e=p.projectPoint(r,t);if(a.containsPoint(e))return!0}return!1}}()},4942:(e,t,n)=>{\"use strict\";n.d(t,{o:()=>r});var s=n(8823),i=n(6067),a=n(7344),l=n(6075);class r{constructor(e,t,n){this.isOrientedBox=!0,this.min=new s.Pa4,this.max=new s.Pa4,this.matrix=new s.yGw,this.invMatrix=new s.yGw,this.points=new Array(8).fill().map((()=>new s.Pa4)),this.satAxes=new Array(3).fill().map((()=>new s.Pa4)),this.satBounds=new Array(3).fill().map((()=>new i.B)),this.alignedSatBounds=new Array(3).fill().map((()=>new i.B)),this.needsUpdate=!1,e&&this.min.copy(e),t&&this.max.copy(t),n&&this.matrix.copy(n)}set(e,t,n){this.min.copy(e),this.max.copy(t),this.matrix.copy(n),this.needsUpdate=!0}copy(e){this.min.copy(e.min),this.max.copy(e.max),this.matrix.copy(e.matrix),this.needsUpdate=!0}}r.prototype.update=function(){const e=this.matrix,t=this.min,n=this.max,s=this.points;for(let i=0;i<=1;i++)for(let a=0;a<=1;a++)for(let l=0;l<=1;l++){const r=s[1*i|2*a|4*l];r.x=i?n.x:t.x,r.y=a?n.y:t.y,r.z=l?n.z:t.z,r.applyMatrix4(e)}const i=this.satBounds,a=this.satAxes,l=s[0];for(let e=0;e<3;e++){const t=a[e],n=i[e],r=s[1<new s.Zzh)),n=new Array(12).fill().map((()=>new s.Zzh)),i=new s.Pa4,a=new s.Pa4;return function(s,r=0,o=null,c=null){if(this.needsUpdate&&this.update(),this.intersectsBox(s))return(o||c)&&(s.getCenter(a),this.closestPointToPoint(a,i),s.closestPointToPoint(i,a),o&&o.copy(i),c&&c.copy(a)),0;const u=r*r,p=s.min,h=s.max,d=this.points;let f=1/0;for(let e=0;e<8;e++){const t=d[e];a.copy(t).clamp(p,h);const n=t.distanceToSquared(a);if(n{\"use strict\";n.d(t,{B:()=>i});var s=n(8823);class i{constructor(){this.min=1/0,this.max=-1/0}setFromPointsField(e,t){let n=1/0,s=-1/0;for(let i=0,a=e.length;is?a:s}this.min=n,this.max=s}setFromPoints(e,t){let n=1/0,s=-1/0;for(let i=0,a=t.length;is?l:s}this.min=n,this.max=s}isSeparated(e){return this.min>e.max||e.min>this.max}}i.prototype.setFromBox=function(){const e=new s.Pa4;return function(t,n){const s=n.min,i=n.max;let a=1/0,l=-1/0;for(let n=0;n<=1;n++)for(let r=0;r<=1;r++)for(let o=0;o<=1;o++){e.x=s.x*n+i.x*(1-n),e.y=s.y*r+i.y*(1-r),e.z=s.z*o+i.z*(1-o);const c=t.dot(e);a=Math.min(c,a),l=Math.max(c,l)}this.min=a,this.max=l}}(),new i},4373:(e,t,n)=>{\"use strict\";function s(e,t,n){return n.min.x=t[e],n.min.y=t[e+1],n.min.z=t[e+2],n.max.x=t[e+3],n.max.y=t[e+4],n.max.z=t[e+5],n}function i(e){let t=-1,n=-1/0;for(let s=0;s<3;s++){const i=e[s+3]-e[s];i>n&&(n=i,t=s)}return t}function a(e,t){t.set(e)}function l(e,t,n){let s,i;for(let a=0;a<3;a++){const l=a+3;s=e[a],i=t[a],n[a]=si?s:i}}function r(e,t,n){for(let s=0;s<3;s++){const i=t[e+2*s],a=t[e+2*s+1],l=i-a,r=i+a;ln[s+3]&&(n[s+3]=r)}}function o(e){const t=e[3]-e[0],n=e[4]-e[1],s=e[5]-e[2];return 2*(t*n+n*s+s*t)}n.d(t,{Lm:()=>l,Ok:()=>o,YN:()=>s,_x:()=>i,js:()=>a,xT:()=>r})},4791:(e,t,n)=>{\"use strict\";n.d(t,{Xy:()=>u,sn:()=>p,uL:()=>c});var s=n(8823),i=n(95),a=n(6204);const l=new s.zHn,r=new s.yGw,o=s.Kj0.prototype.raycast;function c(e,t){if(this.geometry.boundsTree){if(void 0===this.material)return;r.copy(this.matrixWorld).invert(),l.copy(e.ray).applyMatrix4(r);const n=this.geometry.boundsTree;if(!0===e.firstHitOnly){const s=(0,i.O)(n.raycastFirst(l,this.material),this,e);s&&t.push(s)}else{const s=n.raycast(l,this.material);for(let n=0,a=s.length;n{\"use strict\";n.d(t,{O:()=>l,U$:()=>i,rM:()=>a});var s=n(7488);function i(e,t,n,i,a,l){for(let r=i,o=i+a;rn.far?null:e)}},8408:(e,t,n)=>{\"use strict\";n.d(t,{P:()=>s});class s{constructor(e){this._getNewPrimitive=e,this._primitives=[]}getPrimitive(){const e=this._primitives;return 0===e.length?this._getNewPrimitive():e.pop()}releasePrimitive(e){this._primitives.push(e)}}},7488:(e,t,n)=>{\"use strict\";n.d(t,{b:()=>f});var s=n(8823);const i=new s.Pa4,a=new s.Pa4,l=new s.Pa4,r=new s.FM8,o=new s.FM8,c=new s.FM8,u=new s.Pa4,p=new s.Pa4,h=new s.Pa4,d=new s.Pa4;function f(e,t,n,f,I){const m=3*f,y=e.index.getX(m),v=e.index.getX(m+1),w=e.index.getX(m+2),{position:T,normal:E,uv:g,uv1:R}=e.attributes,D=function(e,t,n,f,I,m,y,v,w){i.fromBufferAttribute(t,m),a.fromBufferAttribute(t,y),l.fromBufferAttribute(t,v);const T=function(e,t,n,i,a,l){let r;return r=l===s._Li?e.intersectTriangle(i,n,t,!0,a):e.intersectTriangle(t,n,i,l!==s.ehD,a),null===r?null:{distance:e.origin.distanceTo(a),point:a.clone()}}(e,i,a,l,d,w);if(T){f&&(r.fromBufferAttribute(f,m),o.fromBufferAttribute(f,y),c.fromBufferAttribute(f,v),T.uv=s.CJI.getInterpolation(d,i,a,l,r,o,c,new s.FM8)),I&&(r.fromBufferAttribute(I,m),o.fromBufferAttribute(I,y),c.fromBufferAttribute(I,v),T.uv1=s.CJI.getInterpolation(d,i,a,l,r,o,c,new s.FM8)),n&&(u.fromBufferAttribute(n,m),p.fromBufferAttribute(n,y),h.fromBufferAttribute(n,v),T.normal=s.CJI.getInterpolation(d,i,a,l,u,p,h,new s.Pa4),T.normal.dot(e.direction)>0&&T.normal.multiplyScalar(-1));const t={a:m,b:y,c:v,normal:new s.Pa4,materialIndex:0};s.CJI.getNormal(i,a,l,t.normal),T.face=t,T.faceIndex=m}return T}(n,T,E,g,R,y,v,w,t);return D?(D.faceIndex=f,I&&I.push(D),D):null}},3824:(e,t,n)=>{\"use strict\";function s(e,t,n,s){const i=e.a,a=e.b,l=e.c;let r=t,o=t+1,c=t+2;n&&(r=n.getX(t),o=n.getX(t+1),c=n.getX(t+2)),i.x=s.getX(r),i.y=s.getY(r),i.z=s.getZ(r),a.x=s.getX(o),a.y=s.getY(o),a.z=s.getZ(o),l.x=s.getX(c),l.y=s.getY(c),l.z=s.getZ(c)}function i(e,t,n,i,a,l,r){const o=n.index,c=n.attributes.position;for(let n=e,u=t+e;ni,kg:()=>s}),n(8823)},8823:(e,t,n)=>{\"use strict\";n.d(t,{CJI:()=>en,D1R:()=>C,FM8:()=>me,Hw6:()=>Le,Ilk:()=>on,JOQ:()=>as,KI_:()=>Z,Kj0:()=>Vn,M8C:()=>Ie,NMF:()=>k,OoA:()=>S,Pa4:()=>Ge,SPe:()=>Za,Syv:()=>W,TlE:()=>dn,TyD:()=>b,Wl3:()=>r,YBo:()=>Qa,YLQ:()=>N,ZAu:()=>La,ZzF:()=>ze,Zzh:()=>wl,_Li:()=>o,aCh:()=>K,aH4:()=>O,aLr:()=>ot,ehD:()=>c,iUV:()=>ml,qyh:()=>x,rpg:()=>R,u9r:()=>Dn,uWy:()=>D,wem:()=>A,wk1:()=>H,xsS:()=>Ga,yGw:()=>yt,zHn:()=>mt});const s=\"152\",i=1,a=2,l=3,r=0,o=1,c=2,u=100,p=0,h=1,d=2,f=0,I=1,m=2,y=3,v=4,w=5,T=301,E=302,g=306,R=1e3,D=1001,S=1002,b=1003,N=1004,O=1005,A=1006,x=1007,C=1008,L=1009,P=1014,q=1015,_=1016,M=1020,H=1023,B=1026,U=1027,F=33776,G=33777,V=33778,j=33779,z=36492,W=2300,k=2301,Y=2302,X=3001,K=\"\",Z=\"srgb\",Q=\"srgb-linear\",J=\"display-p3\",$=7680,ee=\"300 es\",te=1035;class ne{addEventListener(e,t){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[e]&&(n[e]=[]),-1===n[e].indexOf(t)&&n[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return!1;const n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;const n=this._listeners[e];if(void 0!==n){const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;const t=this._listeners[e.type];if(void 0!==t){e.target=this;const n=t.slice(0);for(let t=0,s=n.length;t>8&255]+se[e>>16&255]+se[e>>24&255]+\"-\"+se[255&t]+se[t>>8&255]+\"-\"+se[t>>16&15|64]+se[t>>24&255]+\"-\"+se[63&n|128]+se[n>>8&255]+\"-\"+se[n>>16&255]+se[n>>24&255]+se[255&s]+se[s>>8&255]+se[s>>16&255]+se[s>>24&255]).toLowerCase()}function oe(e,t,n){return Math.max(t,Math.min(n,e))}function ce(e,t){return(e%t+t)%t}function ue(e,t,n){return(1-n)*e+n*t}function pe(e){return 0==(e&e-1)&&0!==e}function he(e){return Math.pow(2,Math.floor(Math.log(e)/Math.LN2))}function de(e,t){switch(t.constructor){case Float32Array:return e;case Uint16Array:return e/65535;case Uint8Array:return e/255;case Int16Array:return Math.max(e/32767,-1);case Int8Array:return Math.max(e/127,-1);default:throw new Error(\"Invalid component type.\")}}function fe(e,t){switch(t.constructor){case Float32Array:return e;case Uint16Array:return Math.round(65535*e);case Uint8Array:return Math.round(255*e);case Int16Array:return Math.round(32767*e);case Int8Array:return Math.round(127*e);default:throw new Error(\"Invalid component type.\")}}const Ie={DEG2RAD:ae,RAD2DEG:le,generateUUID:re,clamp:oe,euclideanModulo:ce,mapLinear:function(e,t,n,s,i){return s+(e-t)*(i-s)/(n-t)},inverseLerp:function(e,t,n){return e!==t?(n-e)/(t-e):0},lerp:ue,damp:function(e,t,n,s){return ue(e,t,1-Math.exp(-n*s))},pingpong:function(e,t=1){return t-Math.abs(ce(e,2*t)-t)},smoothstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*(3-2*e)},smootherstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*e*(e*(6*e-15)+10)},randInt:function(e,t){return e+Math.floor(Math.random()*(t-e+1))},randFloat:function(e,t){return e+Math.random()*(t-e)},randFloatSpread:function(e){return e*(.5-Math.random())},seededRandom:function(e){void 0!==e&&(ie=e);let t=ie+=1831565813;return t=Math.imul(t^t>>>15,1|t),t^=t+Math.imul(t^t>>>7,61|t),((t^t>>>14)>>>0)/4294967296},degToRad:function(e){return e*ae},radToDeg:function(e){return e*le},isPowerOfTwo:pe,ceilPowerOfTwo:function(e){return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))},floorPowerOfTwo:he,setQuaternionFromProperEuler:function(e,t,n,s,i){const a=Math.cos,l=Math.sin,r=a(n/2),o=l(n/2),c=a((t+s)/2),u=l((t+s)/2),p=a((t-s)/2),h=l((t-s)/2),d=a((s-t)/2),f=l((s-t)/2);switch(i){case\"XYX\":e.set(r*u,o*p,o*h,r*c);break;case\"YZY\":e.set(o*h,r*u,o*p,r*c);break;case\"ZXZ\":e.set(o*p,o*h,r*u,r*c);break;case\"XZX\":e.set(r*u,o*f,o*d,r*c);break;case\"YXY\":e.set(o*d,r*u,o*f,r*c);break;case\"ZYZ\":e.set(o*f,o*d,r*u,r*c);break;default:console.warn(\"THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: \"+i)}},normalize:fe,denormalize:de};class me{constructor(e=0,t=0){me.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,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,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;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,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,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,t){return this.x=e.x-t.x,this.y=e.y-t.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){const t=this.x,n=this.y,s=e.elements;return this.x=s[0]*t+s[3]*n+s[6],this.y=s[1]*t+s[4]*n+s[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,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(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){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(oe(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const n=Math.cos(t),s=Math.sin(t),i=this.x-e.x,a=this.y-e.y;return this.x=i*n-a*s+e.x,this.y=i*s+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class ye{constructor(){ye.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1]}set(e,t,n,s,i,a,l,r,o){const c=this.elements;return c[0]=e,c[1]=s,c[2]=l,c[3]=t,c[4]=i,c[5]=r,c[6]=n,c[7]=a,c[8]=o,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,s=t.elements,i=this.elements,a=n[0],l=n[3],r=n[6],o=n[1],c=n[4],u=n[7],p=n[2],h=n[5],d=n[8],f=s[0],I=s[3],m=s[6],y=s[1],v=s[4],w=s[7],T=s[2],E=s[5],g=s[8];return i[0]=a*f+l*y+r*T,i[3]=a*I+l*v+r*E,i[6]=a*m+l*w+r*g,i[1]=o*f+c*y+u*T,i[4]=o*I+c*v+u*E,i[7]=o*m+c*w+u*g,i[2]=p*f+h*y+d*T,i[5]=p*I+h*v+d*E,i[8]=p*m+h*w+d*g,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[1],s=e[2],i=e[3],a=e[4],l=e[5],r=e[6],o=e[7],c=e[8];return t*a*c-t*l*o-n*i*c+n*l*r+s*i*o-s*a*r}invert(){const e=this.elements,t=e[0],n=e[1],s=e[2],i=e[3],a=e[4],l=e[5],r=e[6],o=e[7],c=e[8],u=c*a-l*o,p=l*r-c*i,h=o*i-a*r,d=t*u+n*p+s*h;if(0===d)return this.set(0,0,0,0,0,0,0,0,0);const f=1/d;return e[0]=u*f,e[1]=(s*o-c*n)*f,e[2]=(l*n-s*a)*f,e[3]=p*f,e[4]=(c*t-s*r)*f,e[5]=(s*i-l*t)*f,e[6]=h*f,e[7]=(n*r-o*t)*f,e[8]=(a*t-n*i)*f,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,s,i,a,l){const r=Math.cos(i),o=Math.sin(i);return this.set(n*r,n*o,-n*(r*a+o*l)+a+e,-s*o,s*r,-s*(-o*a+r*l)+l+t,0,0,1),this}scale(e,t){return this.premultiply(ve.makeScale(e,t)),this}rotate(e){return this.premultiply(ve.makeRotation(-e)),this}translate(e,t){return this.premultiply(ve.makeTranslation(e,t)),this}makeTranslation(e,t){return this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,n=e.elements;for(let e=0;e<9;e++)if(t[e]!==n[e])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return(new this.constructor).fromArray(this.elements)}}const ve=new ye;function we(e){for(let t=e.length-1;t>=0;--t)if(e[t]>=65535)return!0;return!1}function Te(e){return document.createElementNS(\"http://www.w3.org/1999/xhtml\",e)}Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array;const Ee={};function ge(e){e in Ee||(Ee[e]=!0,console.warn(e))}function Re(e){return e<.04045?.0773993808*e:Math.pow(.9478672986*e+.0521327014,2.4)}function De(e){return e<.0031308?12.92*e:1.055*Math.pow(e,.41666)-.055}const Se=(new ye).fromArray([.8224621,.0331941,.0170827,.177538,.9668058,.0723974,-1e-7,1e-7,.9105199]),be=(new ye).fromArray([1.2249401,-.0420569,-.0196376,-.2249404,1.0420571,-.0786361,1e-7,0,1.0982735]),Ne={[Q]:e=>e,[Z]:e=>e.convertSRGBToLinear(),[J]:function(e){return e.convertSRGBToLinear().applyMatrix3(be)}},Oe={[Q]:e=>e,[Z]:e=>e.convertLinearToSRGB(),[J]:function(e){return e.applyMatrix3(Se).convertLinearToSRGB()}},Ae={enabled:!0,get legacyMode(){return console.warn(\"THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150.\"),!this.enabled},set legacyMode(e){console.warn(\"THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150.\"),this.enabled=!e},get workingColorSpace(){return Q},set workingColorSpace(e){console.warn(\"THREE.ColorManagement: .workingColorSpace is readonly.\")},convert:function(e,t,n){if(!1===this.enabled||t===n||!t||!n)return e;const s=Ne[t],i=Oe[n];if(void 0===s||void 0===i)throw new Error(`Unsupported color space conversion, \"${t}\" to \"${n}\".`);return i(s(e))},fromWorkingColorSpace:function(e,t){return this.convert(e,this.workingColorSpace,t)},toWorkingColorSpace:function(e,t){return this.convert(e,t,this.workingColorSpace)}};let xe;class Ce{static getDataURL(e){if(/^data:/i.test(e.src))return e.src;if(\"undefined\"==typeof HTMLCanvasElement)return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{void 0===xe&&(xe=Te(\"canvas\")),xe.width=e.width,xe.height=e.height;const n=xe.getContext(\"2d\");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=xe}return t.width>2048||t.height>2048?(console.warn(\"THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons\",e),t.toDataURL(\"image/jpeg\",.6)):t.toDataURL(\"image/png\")}static sRGBToLinear(e){if(\"undefined\"!=typeof HTMLImageElement&&e instanceof HTMLImageElement||\"undefined\"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||\"undefined\"!=typeof ImageBitmap&&e instanceof ImageBitmap){const t=Te(\"canvas\");t.width=e.width,t.height=e.height;const n=t.getContext(\"2d\");n.drawImage(e,0,0,e.width,e.height);const s=n.getImageData(0,0,e.width,e.height),i=s.data;for(let e=0;e0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:\"dispose\"})}transformUv(e){if(300!==this.mapping)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case R:e.x=e.x-Math.floor(e.x);break;case D:e.x=e.x<0?0:1;break;case S:1===Math.abs(Math.floor(e.x)%2)?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 R:e.y=e.y-Math.floor(e.y);break;case D:e.y=e.y<0?0:1;break;case S:1===Math.abs(Math.floor(e.y)%2)?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){!0===e&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return ge(\"THREE.Texture: Property .encoding has been replaced by .colorSpace.\"),this.colorSpace===Z?X:3e3}set encoding(e){ge(\"THREE.Texture: Property .encoding has been replaced by .colorSpace.\"),this.colorSpace=e===X?Z:K}}_e.DEFAULT_IMAGE=null,_e.DEFAULT_MAPPING=300,_e.DEFAULT_ANISOTROPY=1;class Me{constructor(e=0,t=0,n=0,s=1){Me.prototype.isVector4=!0,this.x=e,this.y=t,this.z=n,this.w=s}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,s){return this.x=e,this.y=t,this.z=n,this.w=s,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,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;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=void 0!==e.w?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,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,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,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.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){const t=this.x,n=this.y,s=this.z,i=this.w,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*s+a[12]*i,this.y=a[1]*t+a[5]*n+a[9]*s+a[13]*i,this.z=a[2]*t+a[6]*n+a[10]*s+a[14]*i,this.w=a[3]*t+a[7]*n+a[11]*s+a[15]*i,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,s,i;const a=.01,l=.1,r=e.elements,o=r[0],c=r[4],u=r[8],p=r[1],h=r[5],d=r[9],f=r[2],I=r[6],m=r[10];if(Math.abs(c-p)r&&e>y?ey?r=0?1:-1,s=1-t*t;if(s>Number.EPSILON){const i=Math.sqrt(s),a=Math.atan2(i,t*n);e=Math.sin(e*a)/i,l=Math.sin(l*a)/i}const i=l*n;if(r=r*e+p*i,o=o*e+h*i,c=c*e+d*i,u=u*e+f*i,e===1-l){const e=1/Math.sqrt(r*r+o*o+c*c+u*u);r*=e,o*=e,c*=e,u*=e}}e[t]=r,e[t+1]=o,e[t+2]=c,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,s,i,a){const l=n[s],r=n[s+1],o=n[s+2],c=n[s+3],u=i[a],p=i[a+1],h=i[a+2],d=i[a+3];return e[t]=l*d+c*u+r*h-o*p,e[t+1]=r*d+c*p+o*u-l*h,e[t+2]=o*d+c*h+l*p-r*u,e[t+3]=c*d-l*u-r*p-o*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,t,n,s){return this._x=e,this._y=t,this._z=n,this._w=s,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,t){const n=e._x,s=e._y,i=e._z,a=e._order,l=Math.cos,r=Math.sin,o=l(n/2),c=l(s/2),u=l(i/2),p=r(n/2),h=r(s/2),d=r(i/2);switch(a){case\"XYZ\":this._x=p*c*u+o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u-p*h*d;break;case\"YXZ\":this._x=p*c*u+o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u+p*h*d;break;case\"ZXY\":this._x=p*c*u-o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u-p*h*d;break;case\"ZYX\":this._x=p*c*u-o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u+p*h*d;break;case\"YZX\":this._x=p*c*u+o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u-p*h*d;break;case\"XZY\":this._x=p*c*u-o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u+p*h*d;break;default:console.warn(\"THREE.Quaternion: .setFromEuler() encountered an unknown order: \"+a)}return!1!==t&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const n=t/2,s=Math.sin(n);return this._x=e.x*s,this._y=e.y*s,this._z=e.z*s,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,n=t[0],s=t[4],i=t[8],a=t[1],l=t[5],r=t[9],o=t[2],c=t[6],u=t[10],p=n+l+u;if(p>0){const e=.5/Math.sqrt(p+1);this._w=.25/e,this._x=(c-r)*e,this._y=(i-o)*e,this._z=(a-s)*e}else if(n>l&&n>u){const e=2*Math.sqrt(1+n-l-u);this._w=(c-r)/e,this._x=.25*e,this._y=(s+a)/e,this._z=(i+o)/e}else if(l>u){const e=2*Math.sqrt(1+l-n-u);this._w=(i-o)/e,this._x=(s+a)/e,this._y=.25*e,this._z=(r+c)/e}else{const e=2*Math.sqrt(1+u-n-l);this._w=(a-s)/e,this._x=(i+o)/e,this._y=(r+c)/e,this._z=.25*e}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return nMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(oe(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(0===n)return this;const s=Math.min(1,t/n);return this.slerp(e,s),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 0===e?(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,t){const n=e._x,s=e._y,i=e._z,a=e._w,l=t._x,r=t._y,o=t._z,c=t._w;return this._x=n*c+a*l+s*o-i*r,this._y=s*c+a*r+i*l-n*o,this._z=i*c+a*o+n*r-s*l,this._w=a*c-n*l-s*r-i*o,this._onChangeCallback(),this}slerp(e,t){if(0===t)return this;if(1===t)return this.copy(e);const n=this._x,s=this._y,i=this._z,a=this._w;let l=a*e._w+n*e._x+s*e._y+i*e._z;if(l<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,l=-l):this.copy(e),l>=1)return this._w=a,this._x=n,this._y=s,this._z=i,this;const r=1-l*l;if(r<=Number.EPSILON){const e=1-t;return this._w=e*a+t*this._w,this._x=e*n+t*this._x,this._y=e*s+t*this._y,this._z=e*i+t*this._z,this.normalize(),this._onChangeCallback(),this}const o=Math.sqrt(r),c=Math.atan2(o,l),u=Math.sin((1-t)*c)/o,p=Math.sin(t*c)/o;return this._w=a*u+this._w*p,this._x=n*u+this._x*p,this._y=s*u+this._y*p,this._z=i*u+this._z*p,this._onChangeCallback(),this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){const e=Math.random(),t=Math.sqrt(1-e),n=Math.sqrt(e),s=2*Math.PI*Math.random(),i=2*Math.PI*Math.random();return this.set(t*Math.cos(s),n*Math.sin(i),n*Math.cos(i),t*Math.sin(s))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),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}}class Ge{constructor(e=0,t=0,n=0){Ge.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return void 0===n&&(n=this.z),this.x=e,this.y=t,this.z=n,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,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;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,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,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,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.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,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(je.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(je.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,s=this.z,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6]*s,this.y=i[1]*t+i[4]*n+i[7]*s,this.z=i[2]*t+i[5]*n+i[8]*s,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,s=this.z,i=e.elements,a=1/(i[3]*t+i[7]*n+i[11]*s+i[15]);return this.x=(i[0]*t+i[4]*n+i[8]*s+i[12])*a,this.y=(i[1]*t+i[5]*n+i[9]*s+i[13])*a,this.z=(i[2]*t+i[6]*n+i[10]*s+i[14])*a,this}applyQuaternion(e){const t=this.x,n=this.y,s=this.z,i=e.x,a=e.y,l=e.z,r=e.w,o=r*t+a*s-l*n,c=r*n+l*t-i*s,u=r*s+i*n-a*t,p=-i*t-a*n-l*s;return this.x=o*r+p*-i+c*-l-u*-a,this.y=c*r+p*-a+u*-i-o*-l,this.z=u*r+p*-l+o*-a-c*-i,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,s=this.z,i=e.elements;return this.x=i[0]*t+i[4]*n+i[8]*s,this.y=i[1]*t+i[5]*n+i[9]*s,this.z=i[2]*t+i[6]*n+i[10]*s,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,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(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,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,s=e.y,i=e.z,a=t.x,l=t.y,r=t.z;return this.x=s*r-i*l,this.y=i*a-n*r,this.z=n*l-s*a,this}projectOnVector(e){const t=e.lengthSq();if(0===t)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return Ve.copy(this).projectOnVector(e),this.sub(Ve)}reflect(e){return this.sub(Ve.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(oe(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,s=this.z-e.z;return t*t+n*n+s*s}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,t,n){const s=Math.sin(t)*e;return this.x=s*Math.sin(n),this.y=Math.cos(t)*e,this.z=s*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),s=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=s,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,4*t)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,3*t)}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,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=2*(Math.random()-.5),t=Math.random()*Math.PI*2,n=Math.sqrt(1-e**2);return this.x=n*Math.cos(t),this.y=n*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Ve=new Ge,je=new Fe;class ze{constructor(e=new Ge(1/0,1/0,1/0),t=new Ge(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,n=e.length;tthis.max.x||e.ythis.max.y||e.zthis.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,t){return t.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.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,ke),ke.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(et),tt.subVectors(this.max,et),Xe.subVectors(e.a,et),Ke.subVectors(e.b,et),Ze.subVectors(e.c,et),Qe.subVectors(Ke,Xe),Je.subVectors(Ze,Ke),$e.subVectors(Xe,Ze);let t=[0,-Qe.z,Qe.y,0,-Je.z,Je.y,0,-$e.z,$e.y,Qe.z,0,-Qe.x,Je.z,0,-Je.x,$e.z,0,-$e.x,-Qe.y,Qe.x,0,-Je.y,Je.x,0,-$e.y,$e.x,0];return!!it(t,Xe,Ke,Ze,tt)&&(t=[1,0,0,0,1,0,0,0,1],!!it(t,Xe,Ke,Ze,tt)&&(nt.crossVectors(Qe,Je),t=[nt.x,nt.y,nt.z],it(t,Xe,Ke,Ze,tt)))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,ke).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=.5*this.getSize(ke).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()||(We[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),We[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),We[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),We[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),We[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),We[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),We[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),We[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(We)),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)}}const We=[new Ge,new Ge,new Ge,new Ge,new Ge,new Ge,new Ge,new Ge],ke=new Ge,Ye=new ze,Xe=new Ge,Ke=new Ge,Ze=new Ge,Qe=new Ge,Je=new Ge,$e=new Ge,et=new Ge,tt=new Ge,nt=new Ge,st=new Ge;function it(e,t,n,s,i){for(let a=0,l=e.length-3;a<=l;a+=3){st.fromArray(e,a);const l=i.x*Math.abs(st.x)+i.y*Math.abs(st.y)+i.z*Math.abs(st.z),r=t.dot(st),o=n.dot(st),c=s.dot(st);if(Math.max(-Math.max(r,o,c),Math.min(r,o,c))>l)return!1}return!0}const at=new ze,lt=new Ge,rt=new Ge;class ot{constructor(e=new Ge,t=-1){this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const n=this.center;void 0!==t?n.copy(t):at.setFromPoints(e).getCenter(n);let s=0;for(let t=0,i=e.length;tthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}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;lt.subVectors(e,this.center);const t=lt.lengthSq();if(t>this.radius*this.radius){const e=Math.sqrt(t),n=.5*(e-this.radius);this.center.addScaledVector(lt,n/e),this.radius+=n}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(!0===this.center.equals(e.center)?this.radius=Math.max(this.radius,e.radius):(rt.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(lt.copy(e.center).add(rt)),this.expandByPoint(lt.copy(e.center).sub(rt))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const ct=new Ge,ut=new Ge,pt=new Ge,ht=new Ge,dt=new Ge,ft=new Ge,It=new Ge;class mt{constructor(e=new Ge,t=new Ge(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.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,ct)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=ct.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(ct.copy(this.origin).addScaledVector(this.direction,t),ct.distanceToSquared(e))}distanceSqToSegment(e,t,n,s){ut.copy(e).add(t).multiplyScalar(.5),pt.copy(t).sub(e).normalize(),ht.copy(this.origin).sub(ut);const i=.5*e.distanceTo(t),a=-this.direction.dot(pt),l=ht.dot(this.direction),r=-ht.dot(pt),o=ht.lengthSq(),c=Math.abs(1-a*a);let u,p,h,d;if(c>0)if(u=a*r-l,p=a*l-r,d=i*c,u>=0)if(p>=-d)if(p<=d){const e=1/c;u*=e,p*=e,h=u*(u+a*p+2*l)+p*(a*u+p+2*r)+o}else p=i,u=Math.max(0,-(a*p+l)),h=-u*u+p*(p+2*r)+o;else p=-i,u=Math.max(0,-(a*p+l)),h=-u*u+p*(p+2*r)+o;else p<=-d?(u=Math.max(0,-(-a*i+l)),p=u>0?-i:Math.min(Math.max(-i,-r),i),h=-u*u+p*(p+2*r)+o):p<=d?(u=0,p=Math.min(Math.max(-i,-r),i),h=p*(p+2*r)+o):(u=Math.max(0,-(a*i+l)),p=u>0?i:Math.min(Math.max(-i,-r),i),h=-u*u+p*(p+2*r)+o);else p=a>0?-i:i,u=Math.max(0,-(a*p+l)),h=-u*u+p*(p+2*r)+o;return n&&n.copy(this.origin).addScaledVector(this.direction,u),s&&s.copy(ut).addScaledVector(pt,p),h}intersectSphere(e,t){ct.subVectors(e.center,this.origin);const n=ct.dot(this.direction),s=ct.dot(ct)-n*n,i=e.radius*e.radius;if(s>i)return null;const a=Math.sqrt(i-s),l=n-a,r=n+a;return r<0?null:l<0?this.at(r,t):this.at(l,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(0===t)return 0===e.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){const n=this.distanceToPlane(e);return null===n?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return 0===t||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,s,i,a,l,r;const o=1/this.direction.x,c=1/this.direction.y,u=1/this.direction.z,p=this.origin;return o>=0?(n=(e.min.x-p.x)*o,s=(e.max.x-p.x)*o):(n=(e.max.x-p.x)*o,s=(e.min.x-p.x)*o),c>=0?(i=(e.min.y-p.y)*c,a=(e.max.y-p.y)*c):(i=(e.max.y-p.y)*c,a=(e.min.y-p.y)*c),n>a||i>s?null:((i>n||isNaN(n))&&(n=i),(a=0?(l=(e.min.z-p.z)*u,r=(e.max.z-p.z)*u):(l=(e.max.z-p.z)*u,r=(e.min.z-p.z)*u),n>r||l>s?null:((l>n||n!=n)&&(n=l),(r=0?n:s,t)))}intersectsBox(e){return null!==this.intersectBox(e,ct)}intersectTriangle(e,t,n,s,i){dt.subVectors(t,e),ft.subVectors(n,e),It.crossVectors(dt,ft);let a,l=this.direction.dot(It);if(l>0){if(s)return null;a=1}else{if(!(l<0))return null;a=-1,l=-l}ht.subVectors(this.origin,e);const r=a*this.direction.dot(ft.crossVectors(ht,ft));if(r<0)return null;const o=a*this.direction.dot(dt.cross(ht));if(o<0)return null;if(r+o>l)return null;const c=-a*ht.dot(It);return c<0?null:this.at(c/l,i)}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)}}class yt{constructor(){yt.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}set(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){const m=this.elements;return m[0]=e,m[4]=t,m[8]=n,m[12]=s,m[1]=i,m[5]=a,m[9]=l,m[13]=r,m[2]=o,m[6]=c,m[10]=u,m[14]=p,m[3]=h,m[7]=d,m[11]=f,m[15]=I,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 yt).fromArray(this.elements)}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){const t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,n=e.elements,s=1/vt.setFromMatrixColumn(e,0).length(),i=1/vt.setFromMatrixColumn(e,1).length(),a=1/vt.setFromMatrixColumn(e,2).length();return t[0]=n[0]*s,t[1]=n[1]*s,t[2]=n[2]*s,t[3]=0,t[4]=n[4]*i,t[5]=n[5]*i,t[6]=n[6]*i,t[7]=0,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,n=e.x,s=e.y,i=e.z,a=Math.cos(n),l=Math.sin(n),r=Math.cos(s),o=Math.sin(s),c=Math.cos(i),u=Math.sin(i);if(\"XYZ\"===e.order){const e=a*c,n=a*u,s=l*c,i=l*u;t[0]=r*c,t[4]=-r*u,t[8]=o,t[1]=n+s*o,t[5]=e-i*o,t[9]=-l*r,t[2]=i-e*o,t[6]=s+n*o,t[10]=a*r}else if(\"YXZ\"===e.order){const e=r*c,n=r*u,s=o*c,i=o*u;t[0]=e+i*l,t[4]=s*l-n,t[8]=a*o,t[1]=a*u,t[5]=a*c,t[9]=-l,t[2]=n*l-s,t[6]=i+e*l,t[10]=a*r}else if(\"ZXY\"===e.order){const e=r*c,n=r*u,s=o*c,i=o*u;t[0]=e-i*l,t[4]=-a*u,t[8]=s+n*l,t[1]=n+s*l,t[5]=a*c,t[9]=i-e*l,t[2]=-a*o,t[6]=l,t[10]=a*r}else if(\"ZYX\"===e.order){const e=a*c,n=a*u,s=l*c,i=l*u;t[0]=r*c,t[4]=s*o-n,t[8]=e*o+i,t[1]=r*u,t[5]=i*o+e,t[9]=n*o-s,t[2]=-o,t[6]=l*r,t[10]=a*r}else if(\"YZX\"===e.order){const e=a*r,n=a*o,s=l*r,i=l*o;t[0]=r*c,t[4]=i-e*u,t[8]=s*u+n,t[1]=u,t[5]=a*c,t[9]=-l*c,t[2]=-o*c,t[6]=n*u+s,t[10]=e-i*u}else if(\"XZY\"===e.order){const e=a*r,n=a*o,s=l*r,i=l*o;t[0]=r*c,t[4]=-u,t[8]=o*c,t[1]=e*u+i,t[5]=a*c,t[9]=n*u-s,t[2]=s*u-n,t[6]=l*c,t[10]=i*u+e}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Tt,e,Et)}lookAt(e,t,n){const s=this.elements;return Dt.subVectors(e,t),0===Dt.lengthSq()&&(Dt.z=1),Dt.normalize(),gt.crossVectors(n,Dt),0===gt.lengthSq()&&(1===Math.abs(n.z)?Dt.x+=1e-4:Dt.z+=1e-4,Dt.normalize(),gt.crossVectors(n,Dt)),gt.normalize(),Rt.crossVectors(Dt,gt),s[0]=gt.x,s[4]=Rt.x,s[8]=Dt.x,s[1]=gt.y,s[5]=Rt.y,s[9]=Dt.y,s[2]=gt.z,s[6]=Rt.z,s[10]=Dt.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,s=t.elements,i=this.elements,a=n[0],l=n[4],r=n[8],o=n[12],c=n[1],u=n[5],p=n[9],h=n[13],d=n[2],f=n[6],I=n[10],m=n[14],y=n[3],v=n[7],w=n[11],T=n[15],E=s[0],g=s[4],R=s[8],D=s[12],S=s[1],b=s[5],N=s[9],O=s[13],A=s[2],x=s[6],C=s[10],L=s[14],P=s[3],q=s[7],_=s[11],M=s[15];return i[0]=a*E+l*S+r*A+o*P,i[4]=a*g+l*b+r*x+o*q,i[8]=a*R+l*N+r*C+o*_,i[12]=a*D+l*O+r*L+o*M,i[1]=c*E+u*S+p*A+h*P,i[5]=c*g+u*b+p*x+h*q,i[9]=c*R+u*N+p*C+h*_,i[13]=c*D+u*O+p*L+h*M,i[2]=d*E+f*S+I*A+m*P,i[6]=d*g+f*b+I*x+m*q,i[10]=d*R+f*N+I*C+m*_,i[14]=d*D+f*O+I*L+m*M,i[3]=y*E+v*S+w*A+T*P,i[7]=y*g+v*b+w*x+T*q,i[11]=y*R+v*N+w*C+T*_,i[15]=y*D+v*O+w*L+T*M,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[4],s=e[8],i=e[12],a=e[1],l=e[5],r=e[9],o=e[13],c=e[2],u=e[6],p=e[10],h=e[14];return e[3]*(+i*r*u-s*o*u-i*l*p+n*o*p+s*l*h-n*r*h)+e[7]*(+t*r*h-t*o*p+i*a*p-s*a*h+s*o*c-i*r*c)+e[11]*(+t*o*u-t*l*h-i*a*u+n*a*h+i*l*c-n*o*c)+e[15]*(-s*l*c-t*r*u+t*l*p+s*a*u-n*a*p+n*r*c)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){const s=this.elements;return e.isVector3?(s[12]=e.x,s[13]=e.y,s[14]=e.z):(s[12]=e,s[13]=t,s[14]=n),this}invert(){const e=this.elements,t=e[0],n=e[1],s=e[2],i=e[3],a=e[4],l=e[5],r=e[6],o=e[7],c=e[8],u=e[9],p=e[10],h=e[11],d=e[12],f=e[13],I=e[14],m=e[15],y=u*I*o-f*p*o+f*r*h-l*I*h-u*r*m+l*p*m,v=d*p*o-c*I*o-d*r*h+a*I*h+c*r*m-a*p*m,w=c*f*o-d*u*o+d*l*h-a*f*h-c*l*m+a*u*m,T=d*u*r-c*f*r-d*l*p+a*f*p+c*l*I-a*u*I,E=t*y+n*v+s*w+i*T;if(0===E)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const g=1/E;return e[0]=y*g,e[1]=(f*p*i-u*I*i-f*s*h+n*I*h+u*s*m-n*p*m)*g,e[2]=(l*I*i-f*r*i+f*s*o-n*I*o-l*s*m+n*r*m)*g,e[3]=(u*r*i-l*p*i-u*s*o+n*p*o+l*s*h-n*r*h)*g,e[4]=v*g,e[5]=(c*I*i-d*p*i+d*s*h-t*I*h-c*s*m+t*p*m)*g,e[6]=(d*r*i-a*I*i-d*s*o+t*I*o+a*s*m-t*r*m)*g,e[7]=(a*p*i-c*r*i+c*s*o-t*p*o-a*s*h+t*r*h)*g,e[8]=w*g,e[9]=(d*u*i-c*f*i-d*n*h+t*f*h+c*n*m-t*u*m)*g,e[10]=(a*f*i-d*l*i+d*n*o-t*f*o-a*n*m+t*l*m)*g,e[11]=(c*l*i-a*u*i-c*n*o+t*u*o+a*n*h-t*l*h)*g,e[12]=T*g,e[13]=(c*f*s-d*u*s+d*n*p-t*f*p-c*n*I+t*u*I)*g,e[14]=(d*l*s-a*f*s-d*n*r+t*f*r+a*n*I-t*l*I)*g,e[15]=(a*u*s-c*l*s+c*n*r-t*u*r-a*n*p+t*l*p)*g,this}scale(e){const t=this.elements,n=e.x,s=e.y,i=e.z;return t[0]*=n,t[4]*=s,t[8]*=i,t[1]*=n,t[5]*=s,t[9]*=i,t[2]*=n,t[6]*=s,t[10]*=i,t[3]*=n,t[7]*=s,t[11]*=i,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],s=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,s))}makeTranslation(e,t,n){return this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const n=Math.cos(t),s=Math.sin(t),i=1-n,a=e.x,l=e.y,r=e.z,o=i*a,c=i*l;return this.set(o*a+n,o*l-s*r,o*r+s*l,0,o*l+s*r,c*l+n,c*r-s*a,0,o*r-s*l,c*r+s*a,i*r*r+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,s,i,a){return this.set(1,n,i,0,e,1,a,0,t,s,1,0,0,0,0,1),this}compose(e,t,n){const s=this.elements,i=t._x,a=t._y,l=t._z,r=t._w,o=i+i,c=a+a,u=l+l,p=i*o,h=i*c,d=i*u,f=a*c,I=a*u,m=l*u,y=r*o,v=r*c,w=r*u,T=n.x,E=n.y,g=n.z;return s[0]=(1-(f+m))*T,s[1]=(h+w)*T,s[2]=(d-v)*T,s[3]=0,s[4]=(h-w)*E,s[5]=(1-(p+m))*E,s[6]=(I+y)*E,s[7]=0,s[8]=(d+v)*g,s[9]=(I-y)*g,s[10]=(1-(p+f))*g,s[11]=0,s[12]=e.x,s[13]=e.y,s[14]=e.z,s[15]=1,this}decompose(e,t,n){const s=this.elements;let i=vt.set(s[0],s[1],s[2]).length();const a=vt.set(s[4],s[5],s[6]).length(),l=vt.set(s[8],s[9],s[10]).length();this.determinant()<0&&(i=-i),e.x=s[12],e.y=s[13],e.z=s[14],wt.copy(this);const r=1/i,o=1/a,c=1/l;return wt.elements[0]*=r,wt.elements[1]*=r,wt.elements[2]*=r,wt.elements[4]*=o,wt.elements[5]*=o,wt.elements[6]*=o,wt.elements[8]*=c,wt.elements[9]*=c,wt.elements[10]*=c,t.setFromRotationMatrix(wt),n.x=i,n.y=a,n.z=l,this}makePerspective(e,t,n,s,i,a){const l=this.elements,r=2*i/(t-e),o=2*i/(n-s),c=(t+e)/(t-e),u=(n+s)/(n-s),p=-(a+i)/(a-i),h=-2*a*i/(a-i);return l[0]=r,l[4]=0,l[8]=c,l[12]=0,l[1]=0,l[5]=o,l[9]=u,l[13]=0,l[2]=0,l[6]=0,l[10]=p,l[14]=h,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,n,s,i,a){const l=this.elements,r=1/(t-e),o=1/(n-s),c=1/(a-i),u=(t+e)*r,p=(n+s)*o,h=(a+i)*c;return l[0]=2*r,l[4]=0,l[8]=0,l[12]=-u,l[1]=0,l[5]=2*o,l[9]=0,l[13]=-p,l[2]=0,l[6]=0,l[10]=-2*c,l[14]=-h,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const t=this.elements,n=e.elements;for(let e=0;e<16;e++)if(t[e]!==n[e])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}}const vt=new Ge,wt=new yt,Tt=new Ge(0,0,0),Et=new Ge(1,1,1),gt=new Ge,Rt=new Ge,Dt=new Ge,St=new yt,bt=new Fe;class Nt{constructor(e=0,t=0,n=0,s=Nt.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=n,this._order=s}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,t,n,s=this._order){return this._x=e,this._y=t,this._z=n,this._order=s,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,t=this._order,n=!0){const s=e.elements,i=s[0],a=s[4],l=s[8],r=s[1],o=s[5],c=s[9],u=s[2],p=s[6],h=s[10];switch(t){case\"XYZ\":this._y=Math.asin(oe(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-c,h),this._z=Math.atan2(-a,i)):(this._x=Math.atan2(p,o),this._z=0);break;case\"YXZ\":this._x=Math.asin(-oe(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(l,h),this._z=Math.atan2(r,o)):(this._y=Math.atan2(-u,i),this._z=0);break;case\"ZXY\":this._x=Math.asin(oe(p,-1,1)),Math.abs(p)<.9999999?(this._y=Math.atan2(-u,h),this._z=Math.atan2(-a,o)):(this._y=0,this._z=Math.atan2(r,i));break;case\"ZYX\":this._y=Math.asin(-oe(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(p,h),this._z=Math.atan2(r,i)):(this._x=0,this._z=Math.atan2(-a,o));break;case\"YZX\":this._z=Math.asin(oe(r,-1,1)),Math.abs(r)<.9999999?(this._x=Math.atan2(-c,o),this._y=Math.atan2(-u,i)):(this._x=0,this._y=Math.atan2(l,h));break;case\"XZY\":this._z=Math.asin(-oe(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(p,o),this._y=Math.atan2(l,i)):(this._x=Math.atan2(-c,h),this._y=0);break;default:console.warn(\"THREE.Euler: .setFromRotationMatrix() encountered an unknown order: \"+t)}return this._order=t,!0===n&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return St.makeRotationFromQuaternion(e),this.setFromRotationMatrix(St,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return bt.setFromEuler(this),this.setFromQuaternion(bt,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],void 0!==e[3]&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+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}}Nt.DEFAULT_ORDER=\"XYZ\";class Ot{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let e=0;e1){for(let e=0;e0&&(n=n.concat(i))}return n}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(qt,e,_t),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(qt,Mt,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);const t=this.children;for(let n=0,s=t.length;n0&&(s.userData=this.userData),s.layers=this.layers.mask,s.matrix=this.matrix.toArray(),s.up=this.up.toArray(),!1===this.matrixAutoUpdate&&(s.matrixAutoUpdate=!1),this.isInstancedMesh&&(s.type=\"InstancedMesh\",s.count=this.count,s.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(s.instanceColor=this.instanceColor.toJSON())),this.isScene)this.background&&(this.background.isColor?s.background=this.background.toJSON():this.background.isTexture&&(s.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&!0!==this.environment.isRenderTargetTexture&&(s.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){s.geometry=i(e.geometries,this.geometry);const t=this.geometry.parameters;if(void 0!==t&&void 0!==t.shapes){const n=t.shapes;if(Array.isArray(n))for(let t=0,s=n.length;t0){s.children=[];for(let t=0;t0){s.animations=[];for(let t=0;t0&&(n.geometries=t),s.length>0&&(n.materials=s),i.length>0&&(n.textures=i),l.length>0&&(n.images=l),r.length>0&&(n.shapes=r),o.length>0&&(n.skeletons=o),c.length>0&&(n.animations=c),u.length>0&&(n.nodes=u)}return n.object=s,n;function a(e){const t=[];for(const n in e){const s=e[n];delete s.metadata,t.push(s)}return t}}clone(e){return(new this.constructor).copy(this,e)}copy(e,t=!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.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,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,this.userData=JSON.parse(JSON.stringify(e.userData)),!0===t)for(let t=0;t0?s.multiplyScalar(1/Math.sqrt(i)):s.set(0,0,0)}static getBarycoord(e,t,n,s,i){jt.subVectors(s,t),zt.subVectors(n,t),Wt.subVectors(e,t);const a=jt.dot(jt),l=jt.dot(zt),r=jt.dot(Wt),o=zt.dot(zt),c=zt.dot(Wt),u=a*o-l*l;if(0===u)return i.set(-2,-1,-1);const p=1/u,h=(o*r-l*c)*p,d=(a*c-l*r)*p;return i.set(1-h-d,d,h)}static containsPoint(e,t,n,s){return this.getBarycoord(e,t,n,s,kt),kt.x>=0&&kt.y>=0&&kt.x+kt.y<=1}static getUV(e,t,n,s,i,a,l,r){return!1===$t&&(console.warn(\"THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation().\"),$t=!0),this.getInterpolation(e,t,n,s,i,a,l,r)}static getInterpolation(e,t,n,s,i,a,l,r){return this.getBarycoord(e,t,n,s,kt),r.setScalar(0),r.addScaledVector(i,kt.x),r.addScaledVector(a,kt.y),r.addScaledVector(l,kt.z),r}static isFrontFacing(e,t,n,s){return jt.subVectors(n,t),zt.subVectors(e,t),jt.cross(zt).dot(s)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,s){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[s]),this}setFromAttributeAndIndices(e,t,n,s){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,s),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 jt.subVectors(this.c,this.b),zt.subVectors(this.a,this.b),.5*jt.cross(zt).length()}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return en.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return en.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,n,s,i){return!1===$t&&(console.warn(\"THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation().\"),$t=!0),en.getInterpolation(e,this.a,this.b,this.c,t,n,s,i)}getInterpolation(e,t,n,s,i){return en.getInterpolation(e,this.a,this.b,this.c,t,n,s,i)}containsPoint(e){return en.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return en.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,s=this.b,i=this.c;let a,l;Yt.subVectors(s,n),Xt.subVectors(i,n),Zt.subVectors(e,n);const r=Yt.dot(Zt),o=Xt.dot(Zt);if(r<=0&&o<=0)return t.copy(n);Qt.subVectors(e,s);const c=Yt.dot(Qt),u=Xt.dot(Qt);if(c>=0&&u<=c)return t.copy(s);const p=r*u-c*o;if(p<=0&&r>=0&&c<=0)return a=r/(r-c),t.copy(n).addScaledVector(Yt,a);Jt.subVectors(e,i);const h=Yt.dot(Jt),d=Xt.dot(Jt);if(d>=0&&h<=d)return t.copy(i);const f=h*o-r*d;if(f<=0&&o>=0&&d<=0)return l=o/(o-d),t.copy(n).addScaledVector(Xt,l);const I=c*d-h*u;if(I<=0&&u-c>=0&&h-d>=0)return Kt.subVectors(i,s),l=(u-c)/(u-c+(h-d)),t.copy(s).addScaledVector(Kt,l);const m=1/(I+f+p);return a=f*m,l=p*m,t.copy(n).addScaledVector(Yt,a).addScaledVector(Xt,l)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}let tn=0;class nn extends ne{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,\"id\",{value:tn++}),this.uuid=re(),this.name=\"\",this.type=\"Material\",this.blending=1,this.side=r,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=204,this.blendDst=205,this.blendEquation=u,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=3,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=519,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=$,this.stencilZFail=$,this.stencilZPass=$,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(void 0!==e)for(const t in e){const n=e[t];if(void 0===n){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const s=this[t];void 0!==s?s&&s.isColor?s.set(n):s&&s.isVector3&&n&&n.isVector3?s.copy(n):this[t]=n:console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`)}}toJSON(e){const t=void 0===e||\"string\"==typeof e;t&&(e={textures:{},images:{}});const n={metadata:{version:4.5,type:\"Material\",generator:\"Material.toJSON\"}};function s(e){const t=[];for(const n in e){const s=e[n];delete s.metadata,t.push(s)}return t}if(n.uuid=this.uuid,n.type=this.type,\"\"!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),void 0!==this.sheen&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(n.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(n.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,void 0!==this.combine&&(n.combine=this.combine)),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),void 0!==this.transmission&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),void 0!==this.thickness&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(n.size=this.size),null!==this.shadowSide&&(n.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(n.blending=this.blending),this.side!==r&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),!0===this.transparent&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,void 0!==this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(n.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!0===this.forceSinglePass&&(n.forceSinglePass=this.forceSinglePass),!0===this.wireframe&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),\"round\"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),\"round\"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(n.flatShading=this.flatShading),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),!1===this.fog&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData),t){const t=s(e.textures),i=s(e.images);t.length>0&&(n.textures=t),i.length>0&&(n.images=i)}return n}clone(){return(new this.constructor).copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let n=null;if(null!==t){const e=t.length;n=new Array(e);for(let s=0;s!==e;++s)n[s]=t[s].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:\"dispose\"})}set needsUpdate(e){!0===e&&this.version++}}const sn={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},an={h:0,s:0,l:0},ln={h:0,s:0,l:0};function rn(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+6*(t-e)*(2/3-n):e}class on{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,void 0===t&&void 0===n?this.set(e):this.setRGB(e,t,n)}set(e){return e&&e.isColor?this.copy(e):\"number\"==typeof e?this.setHex(e):\"string\"==typeof e&&this.setStyle(e),this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=Z){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(255&e)/255,Ae.toWorkingColorSpace(this,t),this}setRGB(e,t,n,s=Ae.workingColorSpace){return this.r=e,this.g=t,this.b=n,Ae.toWorkingColorSpace(this,s),this}setHSL(e,t,n,s=Ae.workingColorSpace){if(e=ce(e,1),t=oe(t,0,1),n=oe(n,0,1),0===t)this.r=this.g=this.b=n;else{const s=n<=.5?n*(1+t):n+t-n*t,i=2*n-s;this.r=rn(i,s,e+1/3),this.g=rn(i,s,e),this.b=rn(i,s,e-1/3)}return Ae.toWorkingColorSpace(this,s),this}setStyle(e,t=Z){function n(t){void 0!==t&&parseFloat(t)<1&&console.warn(\"THREE.Color: Alpha component of \"+e+\" will be ignored.\")}let s;if(s=/^(\\w+)\\(([^\\)]*)\\)/.exec(e)){let i;const a=s[1],l=s[2];switch(a){case\"rgb\":case\"rgba\":if(i=/^\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(l))return n(i[4]),this.setRGB(Math.min(255,parseInt(i[1],10))/255,Math.min(255,parseInt(i[2],10))/255,Math.min(255,parseInt(i[3],10))/255,t);if(i=/^\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(l))return n(i[4]),this.setRGB(Math.min(100,parseInt(i[1],10))/100,Math.min(100,parseInt(i[2],10))/100,Math.min(100,parseInt(i[3],10))/100,t);break;case\"hsl\":case\"hsla\":if(i=/^\\s*(\\d*\\.?\\d+)\\s*,\\s*(\\d*\\.?\\d+)\\%\\s*,\\s*(\\d*\\.?\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(l))return n(i[4]),this.setHSL(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,t);break;default:console.warn(\"THREE.Color: Unknown color model \"+e)}}else if(s=/^\\#([A-Fa-f\\d]+)$/.exec(e)){const n=s[1],i=n.length;if(3===i)return this.setRGB(parseInt(n.charAt(0),16)/15,parseInt(n.charAt(1),16)/15,parseInt(n.charAt(2),16)/15,t);if(6===i)return this.setHex(parseInt(n,16),t);console.warn(\"THREE.Color: Invalid hex color \"+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=Z){const n=sn[e.toLowerCase()];return void 0!==n?this.setHex(n,t):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=Re(e.r),this.g=Re(e.g),this.b=Re(e.b),this}copyLinearToSRGB(e){return this.r=De(e.r),this.g=De(e.g),this.b=De(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Z){return Ae.fromWorkingColorSpace(cn.copy(this),e),65536*Math.round(oe(255*cn.r,0,255))+256*Math.round(oe(255*cn.g,0,255))+Math.round(oe(255*cn.b,0,255))}getHexString(e=Z){return(\"000000\"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=Ae.workingColorSpace){Ae.fromWorkingColorSpace(cn.copy(this),t);const n=cn.r,s=cn.g,i=cn.b,a=Math.max(n,s,i),l=Math.min(n,s,i);let r,o;const c=(l+a)/2;if(l===a)r=0,o=0;else{const e=a-l;switch(o=c<=.5?e/(a+l):e/(2-a-l),a){case n:r=(s-i)/e+(s0&&(e.userData=this.userData),void 0!==this.parameters){const t=this.parameters;for(const n in t)void 0!==t[n]&&(e[n]=t[n]);return e}e.data={attributes:{}};const t=this.index;null!==t&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const n=this.attributes;for(const t in n){const s=n[t];e.data.attributes[t]=s.toJSON(e.data)}const s={};let i=!1;for(const t in this.morphAttributes){const n=this.morphAttributes[t],a=[];for(let t=0,s=n.length;t0&&(s[t]=a,i=!0)}i&&(e.data.morphAttributes=s,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const l=this.boundingSphere;return null!==l&&(e.data.boundingSphere={center:l.center.toArray(),radius:l.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;const t={};this.name=e.name;const n=e.index;null!==n&&this.setIndex(n.clone(t));const s=e.attributes;for(const e in s){const n=s[e];this.setAttribute(e,n.clone(t))}const i=e.morphAttributes;for(const e in i){const n=[],s=i[e];for(let e=0,i=s.length;e0){const n=e[t[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e(e.far-e.near)**2)return}Sn.copy(i).invert(),bn.copy(e.ray).applyMatrix4(Sn),null!==n.boundingBox&&!1===bn.intersectsBox(n.boundingBox)||this._computeIntersections(e,t)}}_computeIntersections(e,t){let n;const s=this.geometry,i=this.material,a=s.index,l=s.attributes.position,r=s.attributes.uv,o=s.attributes.uv1,c=s.attributes.normal,u=s.groups,p=s.drawRange;if(null!==a)if(Array.isArray(i))for(let s=0,l=u.length;sn.far?null:{distance:p,point:Gn.clone(),object:e}}(e,t,n,s,An,xn,Cn,Fn);if(h){i&&(qn.fromBufferAttribute(i,c),_n.fromBufferAttribute(i,u),Mn.fromBufferAttribute(i,p),h.uv=en.getInterpolation(Fn,An,xn,Cn,qn,_n,Mn,new me)),a&&(qn.fromBufferAttribute(a,c),_n.fromBufferAttribute(a,u),Mn.fromBufferAttribute(a,p),h.uv1=en.getInterpolation(Fn,An,xn,Cn,qn,_n,Mn,new me),h.uv2=h.uv1),l&&(Hn.fromBufferAttribute(l,c),Bn.fromBufferAttribute(l,u),Un.fromBufferAttribute(l,p),h.normal=en.getInterpolation(Fn,An,xn,Cn,Hn,Bn,Un,new Ge),h.normal.dot(s.direction)>0&&h.normal.multiplyScalar(-1));const e={a:c,b:u,c:p,normal:new Ge,materialIndex:0};en.getNormal(An,xn,Cn,e.normal),h.face=e}return h}class zn extends Dn{constructor(e=1,t=1,n=1,s=1,i=1,a=1){super(),this.type=\"BoxGeometry\",this.parameters={width:e,height:t,depth:n,widthSegments:s,heightSegments:i,depthSegments:a};const l=this;s=Math.floor(s),i=Math.floor(i),a=Math.floor(a);const r=[],o=[],c=[],u=[];let p=0,h=0;function d(e,t,n,s,i,a,d,f,I,m,y){const v=a/I,w=d/m,T=a/2,E=d/2,g=f/2,R=I+1,D=m+1;let S=0,b=0;const N=new Ge;for(let a=0;a0?1:-1,c.push(N.x,N.y,N.z),u.push(r/I),u.push(1-a/m),S+=1}}for(let e=0;e0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const n={};for(const e in this.extensions)!0===this.extensions[e]&&(n[e]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}}class Zn extends Vt{constructor(){super(),this.isCamera=!0,this.type=\"Camera\",this.matrixWorldInverse=new yt,this.projectionMatrix=new yt,this.projectionMatrixInverse=new yt}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}class Qn extends Zn{constructor(e=50,t=1,n=.1,s=2e3){super(),this.isPerspectiveCamera=!0,this.type=\"PerspectiveCamera\",this.fov=e,this.zoom=1,this.near=n,this.far=s,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=null===e.view?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=2*le*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(.5*ae*this.fov);return.5*this.getFilmHeight()/e}getEffectiveFOV(){return 2*le*Math.atan(Math.tan(.5*ae*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,n,s,i,a){this.aspect=e/t,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=s,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(.5*ae*this.fov)/this.zoom,n=2*t,s=this.aspect*n,i=-.5*s;const a=this.view;if(null!==this.view&&this.view.enabled){const e=a.fullWidth,l=a.fullHeight;i+=a.offsetX*s/e,t-=a.offsetY*n/l,s*=a.width/e,n*=a.height/l}const l=this.filmOffset;0!==l&&(i+=e*l/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+s,t,t-n,e,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,null!==this.view&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const Jn=-90;class $n extends Vt{constructor(e,t,n){super(),this.type=\"CubeCamera\",this.renderTarget=n;const s=new Qn(Jn,1,e,t);s.layers=this.layers,s.up.set(0,1,0),s.lookAt(1,0,0),this.add(s);const i=new Qn(Jn,1,e,t);i.layers=this.layers,i.up.set(0,1,0),i.lookAt(-1,0,0),this.add(i);const a=new Qn(Jn,1,e,t);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(0,1,0),this.add(a);const l=new Qn(Jn,1,e,t);l.layers=this.layers,l.up.set(0,0,1),l.lookAt(0,-1,0),this.add(l);const r=new Qn(Jn,1,e,t);r.layers=this.layers,r.up.set(0,1,0),r.lookAt(0,0,1),this.add(r);const o=new Qn(Jn,1,e,t);o.layers=this.layers,o.up.set(0,1,0),o.lookAt(0,0,-1),this.add(o)}update(e,t){null===this.parent&&this.updateMatrixWorld();const n=this.renderTarget,[s,i,a,l,r,o]=this.children,c=e.getRenderTarget(),u=e.toneMapping,p=e.xr.enabled;e.toneMapping=f,e.xr.enabled=!1;const h=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0),e.render(t,s),e.setRenderTarget(n,1),e.render(t,i),e.setRenderTarget(n,2),e.render(t,a),e.setRenderTarget(n,3),e.render(t,l),e.setRenderTarget(n,4),e.render(t,r),n.texture.generateMipmaps=h,e.setRenderTarget(n,5),e.render(t,o),e.setRenderTarget(c),e.toneMapping=u,e.xr.enabled=p,n.texture.needsPMREMUpdate=!0}}class es extends _e{constructor(e,t,n,s,i,a,l,r,o,c){super(e=void 0!==e?e:[],t=void 0!==t?t:T,n,s,i,a,l,r,o,c),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class ts extends He{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const n={width:e,height:e,depth:1},s=[n,n,n,n,n,n];void 0!==t.encoding&&(ge(\"THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace.\"),t.colorSpace=t.encoding===X?Z:K),this.texture=new es(s,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==t.generateMipmaps&&t.generateMipmaps,this.texture.minFilter=void 0!==t.minFilter?t.minFilter:A}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const n={tEquirect:{value:null}},s=\"\\n\\n\\t\\t\\t\\tvarying vec3 vWorldDirection;\\n\\n\\t\\t\\t\\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\n\\t\\t\\t\\t\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\t\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\n\\t\\t\\t\\t\\t#include \\n\\t\\t\\t\\t\\t#include \\n\\n\\t\\t\\t\\t}\\n\\t\\t\\t\",i=\"\\n\\n\\t\\t\\t\\tuniform sampler2D tEquirect;\\n\\n\\t\\t\\t\\tvarying vec3 vWorldDirection;\\n\\n\\t\\t\\t\\t#include \\n\\n\\t\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\t\\tvec3 direction = normalize( vWorldDirection );\\n\\n\\t\\t\\t\\t\\tvec2 sampleUV = equirectUv( direction );\\n\\n\\t\\t\\t\\t\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n\\n\\t\\t\\t\\t}\\n\\t\\t\\t\",a=new zn(5,5,5),l=new Kn({name:\"CubemapFromEquirect\",uniforms:Wn(n),vertexShader:s,fragmentShader:i,side:o,blending:0});l.uniforms.tEquirect.value=t;const r=new Vn(a,l),c=t.minFilter;return t.minFilter===C&&(t.minFilter=A),new $n(1,10,this).update(e,r),t.minFilter=c,r.geometry.dispose(),r.material.dispose(),this}clear(e,t,n,s){const i=e.getRenderTarget();for(let i=0;i<6;i++)e.setRenderTarget(this,i),e.clear(t,n,s);e.setRenderTarget(i)}}const ns=new Ge,ss=new Ge,is=new ye;class as{constructor(e=new Ge(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,n,s){return this.normal.set(e,t,n),this.constant=s,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,n){const s=ns.subVectors(n,t).cross(ss.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(s,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){const n=e.delta(ns),s=this.normal.dot(n);if(0===s)return 0===this.distanceToPoint(e.start)?t.copy(e.start):null;const i=-(e.start.dot(this.normal)+this.constant)/s;return i<0||i>1?null:t.copy(e.start).addScaledVector(n,i)}intersectsLine(e){const t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>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,t){const n=t||is.getNormalMatrix(e),s=this.coplanarPoint(ns).applyMatrix4(e),i=this.normal.applyMatrix3(n).normalize();return this.constant=-s.dot(i),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)}}const ls=new ot,rs=new Ge;class os{constructor(e=new as,t=new as,n=new as,s=new as,i=new as,a=new as){this.planes=[e,t,n,s,i,a]}set(e,t,n,s,i,a){const l=this.planes;return l[0].copy(e),l[1].copy(t),l[2].copy(n),l[3].copy(s),l[4].copy(i),l[5].copy(a),this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e){const t=this.planes,n=e.elements,s=n[0],i=n[1],a=n[2],l=n[3],r=n[4],o=n[5],c=n[6],u=n[7],p=n[8],h=n[9],d=n[10],f=n[11],I=n[12],m=n[13],y=n[14],v=n[15];return t[0].setComponents(l-s,u-r,f-p,v-I).normalize(),t[1].setComponents(l+s,u+r,f+p,v+I).normalize(),t[2].setComponents(l+i,u+o,f+h,v+m).normalize(),t[3].setComponents(l-i,u-o,f-h,v-m).normalize(),t[4].setComponents(l-a,u-c,f-d,v-y).normalize(),t[5].setComponents(l+a,u+c,f+d,v+y).normalize(),this}intersectsObject(e){if(void 0!==e.boundingSphere)null===e.boundingSphere&&e.computeBoundingSphere(),ls.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;null===t.boundingSphere&&t.computeBoundingSphere(),ls.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(ls)}intersectsSprite(e){return ls.center.set(0,0,0),ls.radius=.7071067811865476,ls.applyMatrix4(e.matrixWorld),this.intersectsSphere(ls)}intersectsSphere(e){const t=this.planes,n=e.center,s=-e.radius;for(let e=0;e<6;e++)if(t[e].distanceToPoint(n)0?e.max.x:e.min.x,rs.y=s.normal.y>0?e.max.y:e.min.y,rs.z=s.normal.z>0?e.max.z:e.min.z,s.distanceToPoint(rs)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function cs(){let e=null,t=!1,n=null,s=null;function i(t,a){n(t,a),s=e.requestAnimationFrame(i)}return{start:function(){!0!==t&&null!==n&&(s=e.requestAnimationFrame(i),t=!0)},stop:function(){e.cancelAnimationFrame(s),t=!1},setAnimationLoop:function(e){n=e},setContext:function(t){e=t}}}function us(e,t){const n=t.isWebGL2,s=new WeakMap;return{get:function(e){return e.isInterleavedBufferAttribute&&(e=e.data),s.get(e)},remove:function(t){t.isInterleavedBufferAttribute&&(t=t.data);const n=s.get(t);n&&(e.deleteBuffer(n.buffer),s.delete(t))},update:function(t,i){if(t.isGLBufferAttribute){const e=s.get(t);return void((!e||e.version 0\\n\\tvec4 plane;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\\n\\t\\tplane = clippingPlanes[ i ];\\n\\t\\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\\n\\t\\tbool clipped = true;\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\\n\\t\\t\\tplane = clippingPlanes[ i ];\\n\\t\\t\\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t\\tif ( clipped ) discard;\\n\\t#endif\\n#endif\",clipping_planes_pars_fragment:\"#if NUM_CLIPPING_PLANES > 0\\n\\tvarying vec3 vClipPosition;\\n\\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\\n#endif\",clipping_planes_pars_vertex:\"#if NUM_CLIPPING_PLANES > 0\\n\\tvarying vec3 vClipPosition;\\n#endif\",clipping_planes_vertex:\"#if NUM_CLIPPING_PLANES > 0\\n\\tvClipPosition = - mvPosition.xyz;\\n#endif\",color_fragment:\"#if defined( USE_COLOR_ALPHA )\\n\\tdiffuseColor *= vColor;\\n#elif defined( USE_COLOR )\\n\\tdiffuseColor.rgb *= vColor;\\n#endif\",color_pars_fragment:\"#if defined( USE_COLOR_ALPHA )\\n\\tvarying vec4 vColor;\\n#elif defined( USE_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\",color_pars_vertex:\"#if defined( USE_COLOR_ALPHA )\\n\\tvarying vec4 vColor;\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\",color_vertex:\"#if defined( USE_COLOR_ALPHA )\\n\\tvColor = vec4( 1.0 );\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\\n\\tvColor = vec3( 1.0 );\\n#endif\\n#ifdef USE_COLOR\\n\\tvColor *= color;\\n#endif\\n#ifdef USE_INSTANCING_COLOR\\n\\tvColor.xyz *= instanceColor.xyz;\\n#endif\",common:\"#define PI 3.141592653589793\\n#define PI2 6.283185307179586\\n#define PI_HALF 1.5707963267948966\\n#define RECIPROCAL_PI 0.3183098861837907\\n#define RECIPROCAL_PI2 0.15915494309189535\\n#define EPSILON 1e-6\\n#ifndef saturate\\n#define saturate( a ) clamp( a, 0.0, 1.0 )\\n#endif\\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\\nfloat pow2( const in float x ) { return x*x; }\\nvec3 pow2( const in vec3 x ) { return x*x; }\\nfloat pow3( const in float x ) { return x*x*x; }\\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\\nhighp float rand( const in vec2 uv ) {\\n\\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n\\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\\n\\treturn fract( sin( sn ) * c );\\n}\\n#ifdef HIGH_PRECISION\\n\\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\\n#else\\n\\tfloat precisionSafeLength( vec3 v ) {\\n\\t\\tfloat maxComponent = max3( abs( v ) );\\n\\t\\treturn length( v / maxComponent ) * maxComponent;\\n\\t}\\n#endif\\nstruct IncidentLight {\\n\\tvec3 color;\\n\\tvec3 direction;\\n\\tbool visible;\\n};\\nstruct ReflectedLight {\\n\\tvec3 directDiffuse;\\n\\tvec3 directSpecular;\\n\\tvec3 indirectDiffuse;\\n\\tvec3 indirectSpecular;\\n};\\nstruct GeometricContext {\\n\\tvec3 position;\\n\\tvec3 normal;\\n\\tvec3 viewDir;\\n#ifdef USE_CLEARCOAT\\n\\tvec3 clearcoatNormal;\\n#endif\\n};\\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n}\\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\\n}\\nmat3 transposeMat3( const in mat3 m ) {\\n\\tmat3 tmp;\\n\\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\\n\\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\\n\\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\\n\\treturn tmp;\\n}\\nfloat luminance( const in vec3 rgb ) {\\n\\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\\n\\treturn dot( weights, rgb );\\n}\\nbool isPerspectiveMatrix( mat4 m ) {\\n\\treturn m[ 2 ][ 3 ] == - 1.0;\\n}\\nvec2 equirectUv( in vec3 dir ) {\\n\\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\\n\\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\\n\\treturn vec2( u, v );\\n}\\nvec3 BRDF_Lambert( const in vec3 diffuseColor ) {\\n\\treturn RECIPROCAL_PI * diffuseColor;\\n}\\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\\n\\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\\n\\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\\n}\\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\\n\\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\\n\\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\\n} // validated\",cube_uv_reflection_fragment:\"#ifdef ENVMAP_TYPE_CUBE_UV\\n\\t#define cubeUV_minMipLevel 4.0\\n\\t#define cubeUV_minTileSize 16.0\\n\\tfloat getFace( vec3 direction ) {\\n\\t\\tvec3 absDirection = abs( direction );\\n\\t\\tfloat face = - 1.0;\\n\\t\\tif ( absDirection.x > absDirection.z ) {\\n\\t\\t\\tif ( absDirection.x > absDirection.y )\\n\\t\\t\\t\\tface = direction.x > 0.0 ? 0.0 : 3.0;\\n\\t\\t\\telse\\n\\t\\t\\t\\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\\t\\t} else {\\n\\t\\t\\tif ( absDirection.z > absDirection.y )\\n\\t\\t\\t\\tface = direction.z > 0.0 ? 2.0 : 5.0;\\n\\t\\t\\telse\\n\\t\\t\\t\\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\\t\\t}\\n\\t\\treturn face;\\n\\t}\\n\\tvec2 getUV( vec3 direction, float face ) {\\n\\t\\tvec2 uv;\\n\\t\\tif ( face == 0.0 ) {\\n\\t\\t\\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\\n\\t\\t} else if ( face == 1.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\\n\\t\\t} else if ( face == 2.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\\n\\t\\t} else if ( face == 3.0 ) {\\n\\t\\t\\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\\n\\t\\t} else if ( face == 4.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\\n\\t\\t} else {\\n\\t\\t\\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\\n\\t\\t}\\n\\t\\treturn 0.5 * ( uv + 1.0 );\\n\\t}\\n\\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\\n\\t\\tfloat face = getFace( direction );\\n\\t\\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\\n\\t\\tmipInt = max( mipInt, cubeUV_minMipLevel );\\n\\t\\tfloat faceSize = exp2( mipInt );\\n\\t\\thighp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\\n\\t\\tif ( face > 2.0 ) {\\n\\t\\t\\tuv.y += faceSize;\\n\\t\\t\\tface -= 3.0;\\n\\t\\t}\\n\\t\\tuv.x += face * faceSize;\\n\\t\\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\\n\\t\\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\\n\\t\\tuv.x *= CUBEUV_TEXEL_WIDTH;\\n\\t\\tuv.y *= CUBEUV_TEXEL_HEIGHT;\\n\\t\\t#ifdef texture2DGradEXT\\n\\t\\t\\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\\n\\t\\t#else\\n\\t\\t\\treturn texture2D( envMap, uv ).rgb;\\n\\t\\t#endif\\n\\t}\\n\\t#define cubeUV_r0 1.0\\n\\t#define cubeUV_v0 0.339\\n\\t#define cubeUV_m0 - 2.0\\n\\t#define cubeUV_r1 0.8\\n\\t#define cubeUV_v1 0.276\\n\\t#define cubeUV_m1 - 1.0\\n\\t#define cubeUV_r4 0.4\\n\\t#define cubeUV_v4 0.046\\n\\t#define cubeUV_m4 2.0\\n\\t#define cubeUV_r5 0.305\\n\\t#define cubeUV_v5 0.016\\n\\t#define cubeUV_m5 3.0\\n\\t#define cubeUV_r6 0.21\\n\\t#define cubeUV_v6 0.0038\\n\\t#define cubeUV_m6 4.0\\n\\tfloat roughnessToMip( float roughness ) {\\n\\t\\tfloat mip = 0.0;\\n\\t\\tif ( roughness >= cubeUV_r1 ) {\\n\\t\\t\\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\\n\\t\\t} else if ( roughness >= cubeUV_r4 ) {\\n\\t\\t\\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\\n\\t\\t} else if ( roughness >= cubeUV_r5 ) {\\n\\t\\t\\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\\n\\t\\t} else if ( roughness >= cubeUV_r6 ) {\\n\\t\\t\\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\\n\\t\\t} else {\\n\\t\\t\\tmip = - 2.0 * log2( 1.16 * roughness );\\t\\t}\\n\\t\\treturn mip;\\n\\t}\\n\\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\\n\\t\\tfloat mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\\n\\t\\tfloat mipF = fract( mip );\\n\\t\\tfloat mipInt = floor( mip );\\n\\t\\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\\n\\t\\tif ( mipF == 0.0 ) {\\n\\t\\t\\treturn vec4( color0, 1.0 );\\n\\t\\t} else {\\n\\t\\t\\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\\n\\t\\t\\treturn vec4( mix( color0, color1, mipF ), 1.0 );\\n\\t\\t}\\n\\t}\\n#endif\",defaultnormal_vertex:\"vec3 transformedNormal = objectNormal;\\n#ifdef USE_INSTANCING\\n\\tmat3 m = mat3( instanceMatrix );\\n\\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\\n\\ttransformedNormal = m * transformedNormal;\\n#endif\\ntransformedNormal = normalMatrix * transformedNormal;\\n#ifdef FLIP_SIDED\\n\\ttransformedNormal = - transformedNormal;\\n#endif\\n#ifdef USE_TANGENT\\n\\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\\n\\t#ifdef FLIP_SIDED\\n\\t\\ttransformedTangent = - transformedTangent;\\n\\t#endif\\n#endif\",displacementmap_pars_vertex:\"#ifdef USE_DISPLACEMENTMAP\\n\\tuniform sampler2D displacementMap;\\n\\tuniform float displacementScale;\\n\\tuniform float displacementBias;\\n#endif\",displacementmap_vertex:\"#ifdef USE_DISPLACEMENTMAP\\n\\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias );\\n#endif\",emissivemap_fragment:\"#ifdef USE_EMISSIVEMAP\\n\\tvec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\\n\\ttotalEmissiveRadiance *= emissiveColor.rgb;\\n#endif\",emissivemap_pars_fragment:\"#ifdef USE_EMISSIVEMAP\\n\\tuniform sampler2D emissiveMap;\\n#endif\",encodings_fragment:\"gl_FragColor = linearToOutputTexel( gl_FragColor );\",encodings_pars_fragment:\"vec4 LinearToLinear( in vec4 value ) {\\n\\treturn value;\\n}\\nvec4 LinearTosRGB( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\\n}\",envmap_fragment:\"#ifdef USE_ENVMAP\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvec3 cameraToFrag;\\n\\t\\tif ( isOrthographic ) {\\n\\t\\t\\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\\t\\t} else {\\n\\t\\t\\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\\n\\t\\t}\\n\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#else\\n\\t\\tvec3 reflectVec = vReflect;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n\\t#else\\n\\t\\tvec4 envColor = vec4( 0.0 );\\n\\t#endif\\n\\t#ifdef ENVMAP_BLENDING_MULTIPLY\\n\\t\\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_MIX )\\n\\t\\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_ADD )\\n\\t\\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\\n\\t#endif\\n#endif\",envmap_common_pars_fragment:\"#ifdef USE_ENVMAP\\n\\tuniform float envMapIntensity;\\n\\tuniform float flipEnvMap;\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tuniform samplerCube envMap;\\n\\t#else\\n\\t\\tuniform sampler2D envMap;\\n\\t#endif\\n\\t\\n#endif\",envmap_pars_fragment:\"#ifdef USE_ENVMAP\\n\\tuniform float reflectivity;\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\\n\\t\\t#define ENV_WORLDPOS\\n\\t#endif\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t\\tuniform float refractionRatio;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t#endif\\n#endif\",envmap_pars_vertex:\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\\n\\t\\t#define ENV_WORLDPOS\\n\\t#endif\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\t\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n#endif\",envmap_physical_pars_fragment:\"#if defined( USE_ENVMAP )\\n\\tvec3 getIBLIrradiance( const in vec3 normal ) {\\n\\t\\t#if defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\\n\\t\\t\\treturn PI * envMapColor.rgb * envMapIntensity;\\n\\t\\t#else\\n\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t#endif\\n\\t}\\n\\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\\n\\t\\t#if defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 reflectVec = reflect( - viewDir, normal );\\n\\t\\t\\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\\n\\t\\t\\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\\n\\t\\t\\treturn envMapColor.rgb * envMapIntensity;\\n\\t\\t#else\\n\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t#endif\\n\\t}\\n#endif\",envmap_vertex:\"#ifdef USE_ENVMAP\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvWorldPosition = worldPosition.xyz;\\n\\t#else\\n\\t\\tvec3 cameraToVertex;\\n\\t\\tif ( isOrthographic ) {\\n\\t\\t\\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\\t\\t} else {\\n\\t\\t\\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\\n\\t\\t}\\n\\t\\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvReflect = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#endif\\n#endif\",fog_vertex:\"#ifdef USE_FOG\\n\\tvFogDepth = - mvPosition.z;\\n#endif\",fog_pars_vertex:\"#ifdef USE_FOG\\n\\tvarying float vFogDepth;\\n#endif\",fog_fragment:\"#ifdef USE_FOG\\n\\t#ifdef FOG_EXP2\\n\\t\\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\\n\\t#else\\n\\t\\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\\n\\t#endif\\n\\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\",fog_pars_fragment:\"#ifdef USE_FOG\\n\\tuniform vec3 fogColor;\\n\\tvarying float vFogDepth;\\n\\t#ifdef FOG_EXP2\\n\\t\\tuniform float fogDensity;\\n\\t#else\\n\\t\\tuniform float fogNear;\\n\\t\\tuniform float fogFar;\\n\\t#endif\\n#endif\",gradientmap_pars_fragment:\"#ifdef USE_GRADIENTMAP\\n\\tuniform sampler2D gradientMap;\\n#endif\\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\\n\\tfloat dotNL = dot( normal, lightDirection );\\n\\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\\n\\t#ifdef USE_GRADIENTMAP\\n\\t\\treturn vec3( texture2D( gradientMap, coord ).r );\\n\\t#else\\n\\t\\tvec2 fw = fwidth( coord ) * 0.5;\\n\\t\\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\\n\\t#endif\\n}\",lightmap_fragment:\"#ifdef USE_LIGHTMAP\\n\\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\\n\\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\\n\\treflectedLight.indirectDiffuse += lightMapIrradiance;\\n#endif\",lightmap_pars_fragment:\"#ifdef USE_LIGHTMAP\\n\\tuniform sampler2D lightMap;\\n\\tuniform float lightMapIntensity;\\n#endif\",lights_lambert_fragment:\"LambertMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularStrength = specularStrength;\",lights_lambert_pars_fragment:\"varying vec3 vViewPosition;\\nstruct LambertMaterial {\\n\\tvec3 diffuseColor;\\n\\tfloat specularStrength;\\n};\\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Lambert\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Lambert\",lights_pars_begin:\"uniform bool receiveShadow;\\nuniform vec3 ambientLightColor;\\nuniform vec3 lightProbe[ 9 ];\\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\\n\\tfloat x = normal.x, y = normal.y, z = normal.z;\\n\\tvec3 result = shCoefficients[ 0 ] * 0.886227;\\n\\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\\n\\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\\n\\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\\n\\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\\n\\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\\n\\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\\n\\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\\n\\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\\n\\treturn result;\\n}\\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\\n\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\\n\\treturn irradiance;\\n}\\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\\n\\tvec3 irradiance = ambientLightColor;\\n\\treturn irradiance;\\n}\\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\\n\\t#if defined ( LEGACY_LIGHTS )\\n\\t\\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\\n\\t\\t\\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\\n\\t\\t}\\n\\t\\treturn 1.0;\\n\\t#else\\n\\t\\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\\n\\t\\tif ( cutoffDistance > 0.0 ) {\\n\\t\\t\\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\\n\\t\\t}\\n\\t\\treturn distanceFalloff;\\n\\t#endif\\n}\\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\\n\\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\\n}\\n#if NUM_DIR_LIGHTS > 0\\n\\tstruct DirectionalLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t};\\n\\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\\n\\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tlight.color = directionalLight.color;\\n\\t\\tlight.direction = directionalLight.direction;\\n\\t\\tlight.visible = true;\\n\\t}\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\tstruct PointLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t};\\n\\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\\n\\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tvec3 lVector = pointLight.position - geometry.position;\\n\\t\\tlight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tlight.color = pointLight.color;\\n\\t\\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\\n\\t\\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tstruct SpotLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tfloat coneCos;\\n\\t\\tfloat penumbraCos;\\n\\t};\\n\\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\\n\\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tvec3 lVector = spotLight.position - geometry.position;\\n\\t\\tlight.direction = normalize( lVector );\\n\\t\\tfloat angleCos = dot( light.direction, spotLight.direction );\\n\\t\\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\\n\\t\\tif ( spotAttenuation > 0.0 ) {\\n\\t\\t\\tfloat lightDistance = length( lVector );\\n\\t\\t\\tlight.color = spotLight.color * spotAttenuation;\\n\\t\\t\\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\\n\\t\\t\\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\\t\\t} else {\\n\\t\\t\\tlight.color = vec3( 0.0 );\\n\\t\\t\\tlight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tstruct RectAreaLight {\\n\\t\\tvec3 color;\\n\\t\\tvec3 position;\\n\\t\\tvec3 halfWidth;\\n\\t\\tvec3 halfHeight;\\n\\t};\\n\\tuniform sampler2D ltc_1;\\tuniform sampler2D ltc_2;\\n\\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tstruct HemisphereLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 skyColor;\\n\\t\\tvec3 groundColor;\\n\\t};\\n\\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\\n\\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\\n\\t\\tfloat dotNL = dot( normal, hemiLight.direction );\\n\\t\\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\\n\\t\\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\\n\\t\\treturn irradiance;\\n\\t}\\n#endif\",lights_toon_fragment:\"ToonMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\",lights_toon_pars_fragment:\"varying vec3 vViewPosition;\\nstruct ToonMaterial {\\n\\tvec3 diffuseColor;\\n};\\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Toon\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Toon\",lights_phong_fragment:\"BlinnPhongMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularColor = specular;\\nmaterial.specularShininess = shininess;\\nmaterial.specularStrength = specularStrength;\",lights_phong_pars_fragment:\"varying vec3 vViewPosition;\\nstruct BlinnPhongMaterial {\\n\\tvec3 diffuseColor;\\n\\tvec3 specularColor;\\n\\tfloat specularShininess;\\n\\tfloat specularStrength;\\n};\\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n\\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\\n}\\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_BlinnPhong\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_BlinnPhong\",lights_physical_fragment:\"PhysicalMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\\nmaterial.roughness = min( material.roughness, 1.0 );\\n#ifdef IOR\\n\\tmaterial.ior = ior;\\n\\t#ifdef USE_SPECULAR\\n\\t\\tfloat specularIntensityFactor = specularIntensity;\\n\\t\\tvec3 specularColorFactor = specularColor;\\n\\t\\t#ifdef USE_SPECULAR_COLORMAP\\n\\t\\t\\tspecularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\\n\\t\\t#endif\\n\\t\\t#ifdef USE_SPECULAR_INTENSITYMAP\\n\\t\\t\\tspecularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\\n\\t\\t#endif\\n\\t\\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\\n\\t#else\\n\\t\\tfloat specularIntensityFactor = 1.0;\\n\\t\\tvec3 specularColorFactor = vec3( 1.0 );\\n\\t\\tmaterial.specularF90 = 1.0;\\n\\t#endif\\n\\tmaterial.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\\n#else\\n\\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\\n\\tmaterial.specularF90 = 1.0;\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tmaterial.clearcoat = clearcoat;\\n\\tmaterial.clearcoatRoughness = clearcoatRoughness;\\n\\tmaterial.clearcoatF0 = vec3( 0.04 );\\n\\tmaterial.clearcoatF90 = 1.0;\\n\\t#ifdef USE_CLEARCOATMAP\\n\\t\\tmaterial.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\t\\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;\\n\\t#endif\\n\\tmaterial.clearcoat = saturate( material.clearcoat );\\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\\n\\tmaterial.clearcoatRoughness += geometryRoughness;\\n\\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\\tmaterial.iridescence = iridescence;\\n\\tmaterial.iridescenceIOR = iridescenceIOR;\\n\\t#ifdef USE_IRIDESCENCEMAP\\n\\t\\tmaterial.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;\\n\\t#endif\\n\\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\t\\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;\\n\\t#else\\n\\t\\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\\n\\t#endif\\n#endif\\n#ifdef USE_SHEEN\\n\\tmaterial.sheenColor = sheenColor;\\n\\t#ifdef USE_SHEEN_COLORMAP\\n\\t\\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\\n\\t#endif\\n\\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\\n\\t#ifdef USE_SHEEN_ROUGHNESSMAP\\n\\t\\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\\n\\t#endif\\n#endif\",lights_physical_pars_fragment:\"struct PhysicalMaterial {\\n\\tvec3 diffuseColor;\\n\\tfloat roughness;\\n\\tvec3 specularColor;\\n\\tfloat specularF90;\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat clearcoat;\\n\\t\\tfloat clearcoatRoughness;\\n\\t\\tvec3 clearcoatF0;\\n\\t\\tfloat clearcoatF90;\\n\\t#endif\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tfloat iridescence;\\n\\t\\tfloat iridescenceIOR;\\n\\t\\tfloat iridescenceThickness;\\n\\t\\tvec3 iridescenceFresnel;\\n\\t\\tvec3 iridescenceF0;\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tvec3 sheenColor;\\n\\t\\tfloat sheenRoughness;\\n\\t#endif\\n\\t#ifdef IOR\\n\\t\\tfloat ior;\\n\\t#endif\\n\\t#ifdef USE_TRANSMISSION\\n\\t\\tfloat transmission;\\n\\t\\tfloat transmissionAlpha;\\n\\t\\tfloat thickness;\\n\\t\\tfloat attenuationDistance;\\n\\t\\tvec3 attenuationColor;\\n\\t#endif\\n};\\nvec3 clearcoatSpecular = vec3( 0.0 );\\nvec3 sheenSpecular = vec3( 0.0 );\\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\\n float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\\n float x2 = x * x;\\n float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\\n return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\\n}\\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\treturn 0.5 / max( gv + gl, EPSILON );\\n}\\nfloat D_GGX( const in float alpha, const in float dotNH ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\\n\\treturn RECIPROCAL_PI * a2 / pow2( denom );\\n}\\n#ifdef USE_CLEARCOAT\\n\\tvec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\\n\\t\\tvec3 f0 = material.clearcoatF0;\\n\\t\\tfloat f90 = material.clearcoatF90;\\n\\t\\tfloat roughness = material.clearcoatRoughness;\\n\\t\\tfloat alpha = pow2( roughness );\\n\\t\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\t\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\t\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\t\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\t\\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\\t\\tvec3 F = F_Schlick( f0, f90, dotVH );\\n\\t\\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\t\\tfloat D = D_GGX( alpha, dotNH );\\n\\t\\treturn F * ( V * D );\\n\\t}\\n#endif\\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\\n\\tvec3 f0 = material.specularColor;\\n\\tfloat f90 = material.specularF90;\\n\\tfloat roughness = material.roughness;\\n\\tfloat alpha = pow2( roughness );\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\\tvec3 F = F_Schlick( f0, f90, dotVH );\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tF = mix( F, material.iridescenceFresnel, material.iridescence );\\n\\t#endif\\n\\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\tfloat D = D_GGX( alpha, dotNH );\\n\\treturn F * ( V * D );\\n}\\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\\n\\tconst float LUT_SIZE = 64.0;\\n\\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\\n\\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\\n\\tfloat dotNV = saturate( dot( N, V ) );\\n\\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\\n\\tuv = uv * LUT_SCALE + LUT_BIAS;\\n\\treturn uv;\\n}\\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\\n\\tfloat l = length( f );\\n\\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\\n}\\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\\n\\tfloat x = dot( v1, v2 );\\n\\tfloat y = abs( x );\\n\\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\\n\\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\\n\\tfloat v = a / b;\\n\\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\\n\\treturn cross( v1, v2 ) * theta_sintheta;\\n}\\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\\n\\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\\n\\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\\n\\tvec3 lightNormal = cross( v1, v2 );\\n\\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\\n\\tvec3 T1, T2;\\n\\tT1 = normalize( V - N * dot( V, N ) );\\n\\tT2 = - cross( N, T1 );\\n\\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\\n\\tvec3 coords[ 4 ];\\n\\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\\n\\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\\n\\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\\n\\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\\n\\tcoords[ 0 ] = normalize( coords[ 0 ] );\\n\\tcoords[ 1 ] = normalize( coords[ 1 ] );\\n\\tcoords[ 2 ] = normalize( coords[ 2 ] );\\n\\tcoords[ 3 ] = normalize( coords[ 3 ] );\\n\\tvec3 vectorFormFactor = vec3( 0.0 );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\\n\\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\\n\\treturn vec3( result );\\n}\\n#if defined( USE_SHEEN )\\nfloat D_Charlie( float roughness, float dotNH ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tfloat invAlpha = 1.0 / alpha;\\n\\tfloat cos2h = dotNH * dotNH;\\n\\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\\n\\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\\n}\\nfloat V_Neubelt( float dotNV, float dotNL ) {\\n\\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\\n}\\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat D = D_Charlie( sheenRoughness, dotNH );\\n\\tfloat V = V_Neubelt( dotNV, dotNL );\\n\\treturn sheenColor * ( D * V );\\n}\\n#endif\\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat r2 = roughness * roughness;\\n\\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\\n\\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\\n\\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\\n\\treturn saturate( DG * RECIPROCAL_PI );\\n}\\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\\n\\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\\n\\tvec4 r = roughness * c0 + c1;\\n\\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\\n\\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\\n\\treturn fab;\\n}\\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\\n\\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\\treturn specularColor * fab.x + specularF90 * fab.y;\\n}\\n#ifdef USE_IRIDESCENCE\\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\\n#else\\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\\n#endif\\n\\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\\n\\t#else\\n\\t\\tvec3 Fr = specularColor;\\n\\t#endif\\n\\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\\n\\tfloat Ess = fab.x + fab.y;\\n\\tfloat Ems = 1.0 - Ess;\\n\\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\\n\\tsingleScatter += FssEss;\\n\\tmultiScatter += Fms * Ems;\\n}\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t\\tvec3 normal = geometry.normal;\\n\\t\\tvec3 viewDir = geometry.viewDir;\\n\\t\\tvec3 position = geometry.position;\\n\\t\\tvec3 lightPos = rectAreaLight.position;\\n\\t\\tvec3 halfWidth = rectAreaLight.halfWidth;\\n\\t\\tvec3 halfHeight = rectAreaLight.halfHeight;\\n\\t\\tvec3 lightColor = rectAreaLight.color;\\n\\t\\tfloat roughness = material.roughness;\\n\\t\\tvec3 rectCoords[ 4 ];\\n\\t\\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\\t\\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\\n\\t\\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\\n\\t\\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\\n\\t\\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\\n\\t\\tvec4 t1 = texture2D( ltc_1, uv );\\n\\t\\tvec4 t2 = texture2D( ltc_2, uv );\\n\\t\\tmat3 mInv = mat3(\\n\\t\\t\\tvec3( t1.x, 0, t1.y ),\\n\\t\\t\\tvec3( 0, 1, 0 ),\\n\\t\\t\\tvec3( t1.z, 0, t1.w )\\n\\t\\t);\\n\\t\\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\\n\\t\\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\\n\\t\\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\\n\\t}\\n#endif\\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\\n\\t\\tvec3 ccIrradiance = dotNLcc * directLight.color;\\n\\t\\tclearcoatSpecular += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material );\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\\n\\t#endif\\n\\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material );\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\\n\\t#endif\\n\\tvec3 singleScattering = vec3( 0.0 );\\n\\tvec3 multiScattering = vec3( 0.0 );\\n\\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tcomputeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\\n\\t#else\\n\\t\\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\\n\\t#endif\\n\\tvec3 totalScattering = singleScattering + multiScattering;\\n\\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\\n\\treflectedLight.indirectSpecular += radiance * singleScattering;\\n\\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\\n\\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Physical\\n#define RE_Direct_RectArea\\t\\tRE_Direct_RectArea_Physical\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Physical\\n#define RE_IndirectSpecular\\t\\tRE_IndirectSpecular_Physical\\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\\n\\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\\n}\",lights_fragment_begin:\"\\nGeometricContext geometry;\\ngeometry.position = - vViewPosition;\\ngeometry.normal = normal;\\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\\n#ifdef USE_CLEARCOAT\\n\\tgeometry.clearcoatNormal = clearcoatNormal;\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\\tfloat dotNVi = saturate( dot( normal, geometry.viewDir ) );\\n\\tif ( material.iridescenceThickness == 0.0 ) {\\n\\t\\tmaterial.iridescence = 0.0;\\n\\t} else {\\n\\t\\tmaterial.iridescence = saturate( material.iridescence );\\n\\t}\\n\\tif ( material.iridescence > 0.0 ) {\\n\\t\\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\\n\\t\\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\\n\\t}\\n#endif\\nIncidentLight directLight;\\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tPointLight pointLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tgetPointLightInfo( pointLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\\n\\t\\tpointLightShadow = pointLightShadows[ i ];\\n\\t\\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tSpotLight spotLight;\\n\\tvec4 spotColor;\\n\\tvec3 spotLightCoord;\\n\\tbool inSpotLightMap;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tgetSpotLightInfo( spotLight, geometry, directLight );\\n\\t\\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\\n\\t\\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\\n\\t\\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\\n\\t\\t#else\\n\\t\\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\\n\\t\\t#endif\\n\\t\\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\\n\\t\\t\\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\\n\\t\\t\\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\\n\\t\\t\\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\\n\\t\\t\\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\\n\\t\\t#endif\\n\\t\\t#undef SPOT_LIGHT_MAP_INDEX\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\tspotLightShadow = spotLightShadows[ i ];\\n\\t\\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tDirectionalLight directionalLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\\n\\t\\tdirectionalLightShadow = directionalLightShadows[ i ];\\n\\t\\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\\n\\tRectAreaLight rectAreaLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\\n\\t\\trectAreaLight = rectAreaLights[ i ];\\n\\t\\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if defined( RE_IndirectDiffuse )\\n\\tvec3 iblIrradiance = vec3( 0.0 );\\n\\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\\n\\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\\n\\t#if ( NUM_HEMI_LIGHTS > 0 )\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\t\\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tvec3 radiance = vec3( 0.0 );\\n\\tvec3 clearcoatRadiance = vec3( 0.0 );\\n#endif\",lights_fragment_maps:\"#if defined( RE_IndirectDiffuse )\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\\n\\t\\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\\n\\t\\tirradiance += lightMapIrradiance;\\n\\t#endif\\n\\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tiblIrradiance += getIBLIrradiance( geometry.normal );\\n\\t#endif\\n#endif\\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\\n\\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\\n\\t#endif\\n#endif\",lights_fragment_end:\"#if defined( RE_IndirectDiffuse )\\n\\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\\n#endif\",logdepthbuf_fragment:\"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\\n\\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\\n#endif\",logdepthbuf_pars_fragment:\"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\\n\\tuniform float logDepthBufFC;\\n\\tvarying float vFragDepth;\\n\\tvarying float vIsPerspective;\\n#endif\",logdepthbuf_pars_vertex:\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t\\tvarying float vIsPerspective;\\n\\t#else\\n\\t\\tuniform float logDepthBufFC;\\n\\t#endif\\n#endif\",logdepthbuf_vertex:\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvFragDepth = 1.0 + gl_Position.w;\\n\\t\\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\\n\\t#else\\n\\t\\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\\n\\t\\t\\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\\n\\t\\t\\tgl_Position.z *= gl_Position.w;\\n\\t\\t}\\n\\t#endif\\n#endif\",map_fragment:\"#ifdef USE_MAP\\n\\tdiffuseColor *= texture2D( map, vMapUv );\\n#endif\",map_pars_fragment:\"#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\",map_particle_fragment:\"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\\t#if defined( USE_POINTS_UV )\\n\\t\\tvec2 uv = vUv;\\n\\t#else\\n\\t\\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\\n\\t#endif\\n#endif\\n#ifdef USE_MAP\\n\\tdiffuseColor *= texture2D( map, uv );\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\\n#endif\",map_particle_pars_fragment:\"#if defined( USE_POINTS_UV )\\n\\tvarying vec2 vUv;\\n#else\\n\\t#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\\t\\tuniform mat3 uvTransform;\\n\\t#endif\\n#endif\\n#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tuniform sampler2D alphaMap;\\n#endif\",metalnessmap_fragment:\"float metalnessFactor = metalness;\\n#ifdef USE_METALNESSMAP\\n\\tvec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );\\n\\tmetalnessFactor *= texelMetalness.b;\\n#endif\",metalnessmap_pars_fragment:\"#ifdef USE_METALNESSMAP\\n\\tuniform sampler2D metalnessMap;\\n#endif\",morphcolor_vertex:\"#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\\n\\tvColor *= morphTargetBaseInfluence;\\n\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\t#if defined( USE_COLOR_ALPHA )\\n\\t\\t\\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\\n\\t\\t#elif defined( USE_COLOR )\\n\\t\\t\\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\\n\\t\\t#endif\\n\\t}\\n#endif\",morphnormal_vertex:\"#ifdef USE_MORPHNORMALS\\n\\tobjectNormal *= morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\t\\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\\n\\t\\t}\\n\\t#else\\n\\t\\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\\n\\t\\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\\n\\t\\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\\n\\t\\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\\n\\t#endif\\n#endif\",morphtarget_pars_vertex:\"#ifdef USE_MORPHTARGETS\\n\\tuniform float morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\\n\\t\\tuniform sampler2DArray morphTargetsTexture;\\n\\t\\tuniform ivec2 morphTargetsTextureSize;\\n\\t\\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\\n\\t\\t\\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\\n\\t\\t\\tint y = texelIndex / morphTargetsTextureSize.x;\\n\\t\\t\\tint x = texelIndex - y * morphTargetsTextureSize.x;\\n\\t\\t\\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\\n\\t\\t\\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\\n\\t\\t}\\n\\t#else\\n\\t\\t#ifndef USE_MORPHNORMALS\\n\\t\\t\\tuniform float morphTargetInfluences[ 8 ];\\n\\t\\t#else\\n\\t\\t\\tuniform float morphTargetInfluences[ 4 ];\\n\\t\\t#endif\\n\\t#endif\\n#endif\",morphtarget_vertex:\"#ifdef USE_MORPHTARGETS\\n\\ttransformed *= morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\t\\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\\n\\t\\t}\\n\\t#else\\n\\t\\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\\n\\t\\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\\n\\t\\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\\n\\t\\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\\n\\t\\t#ifndef USE_MORPHNORMALS\\n\\t\\t\\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\\n\\t\\t\\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\\n\\t\\t\\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\\n\\t\\t\\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\\n\\t\\t#endif\\n\\t#endif\\n#endif\",normal_fragment_begin:\"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\\n#ifdef FLAT_SHADED\\n\\tvec3 fdx = dFdx( vViewPosition );\\n\\tvec3 fdy = dFdy( vViewPosition );\\n\\tvec3 normal = normalize( cross( fdx, fdy ) );\\n#else\\n\\tvec3 normal = normalize( vNormal );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal *= faceDirection;\\n\\t#endif\\n#endif\\n#ifdef USE_NORMALMAP_TANGENTSPACE\\n\\t#ifdef USE_TANGENT\\n\\t\\tmat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\\n\\t#else\\n\\t\\tmat3 tbn = getTangentFrame( - vViewPosition, normal, vNormalMapUv );\\n\\t#endif\\n\\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\\n\\t\\ttbn[0] *= faceDirection;\\n\\t\\ttbn[1] *= faceDirection;\\n\\t#endif\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\t#ifdef USE_TANGENT\\n\\t\\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\\n\\t#else\\n\\t\\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\\n\\t#endif\\n\\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\\n\\t\\ttbn2[0] *= faceDirection;\\n\\t\\ttbn2[1] *= faceDirection;\\n\\t#endif\\n#endif\\nvec3 geometryNormal = normal;\",normal_fragment_maps:\"#ifdef USE_NORMALMAP_OBJECTSPACE\\n\\tnormal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\\n\\t#ifdef FLIP_SIDED\\n\\t\\tnormal = - normal;\\n\\t#endif\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal = normal * faceDirection;\\n\\t#endif\\n\\tnormal = normalize( normalMatrix * normal );\\n#elif defined( USE_NORMALMAP_TANGENTSPACE )\\n\\tvec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\\n\\tmapN.xy *= normalScale;\\n\\tnormal = normalize( tbn * mapN );\\n#elif defined( USE_BUMPMAP )\\n\\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\\n#endif\",normal_pars_fragment:\"#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\",normal_pars_vertex:\"#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\",normal_vertex:\"#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n\\t#ifdef USE_TANGENT\\n\\t\\tvTangent = normalize( transformedTangent );\\n\\t\\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\\n\\t#endif\\n#endif\",normalmap_pars_fragment:\"#ifdef USE_NORMALMAP\\n\\tuniform sampler2D normalMap;\\n\\tuniform vec2 normalScale;\\n#endif\\n#ifdef USE_NORMALMAP_OBJECTSPACE\\n\\tuniform mat3 normalMatrix;\\n#endif\\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\\n\\tmat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\\n\\t\\tvec3 q0 = dFdx( eye_pos.xyz );\\n\\t\\tvec3 q1 = dFdy( eye_pos.xyz );\\n\\t\\tvec2 st0 = dFdx( uv.st );\\n\\t\\tvec2 st1 = dFdy( uv.st );\\n\\t\\tvec3 N = surf_norm;\\n\\t\\tvec3 q1perp = cross( q1, N );\\n\\t\\tvec3 q0perp = cross( N, q0 );\\n\\t\\tvec3 T = q1perp * st0.x + q0perp * st1.x;\\n\\t\\tvec3 B = q1perp * st0.y + q0perp * st1.y;\\n\\t\\tfloat det = max( dot( T, T ), dot( B, B ) );\\n\\t\\tfloat scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );\\n\\t\\treturn mat3( T * scale, B * scale, N );\\n\\t}\\n#endif\",clearcoat_normal_fragment_begin:\"#ifdef USE_CLEARCOAT\\n\\tvec3 clearcoatNormal = geometryNormal;\\n#endif\",clearcoat_normal_fragment_maps:\"#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\\n\\tclearcoatMapN.xy *= clearcoatNormalScale;\\n\\tclearcoatNormal = normalize( tbn2 * clearcoatMapN );\\n#endif\",clearcoat_pars_fragment:\"#ifdef USE_CLEARCOATMAP\\n\\tuniform sampler2D clearcoatMap;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tuniform sampler2D clearcoatNormalMap;\\n\\tuniform vec2 clearcoatNormalScale;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tuniform sampler2D clearcoatRoughnessMap;\\n#endif\",iridescence_pars_fragment:\"#ifdef USE_IRIDESCENCEMAP\\n\\tuniform sampler2D iridescenceMap;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\tuniform sampler2D iridescenceThicknessMap;\\n#endif\",output_fragment:\"#ifdef OPAQUE\\ndiffuseColor.a = 1.0;\\n#endif\\n#ifdef USE_TRANSMISSION\\ndiffuseColor.a *= material.transmissionAlpha + 0.1;\\n#endif\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\",packing:\"vec3 packNormalToRGB( const in vec3 normal ) {\\n\\treturn normalize( normal ) * 0.5 + 0.5;\\n}\\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\\n\\treturn 2.0 * rgb.xyz - 1.0;\\n}\\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\\nconst float ShiftRight8 = 1. / 256.;\\nvec4 packDepthToRGBA( const in float v ) {\\n\\tvec4 r = vec4( fract( v * PackFactors ), v );\\n\\tr.yzw -= r.xyz * ShiftRight8;\\treturn r * PackUpscale;\\n}\\nfloat unpackRGBAToDepth( const in vec4 v ) {\\n\\treturn dot( v, UnpackFactors );\\n}\\nvec2 packDepthToRG( in highp float v ) {\\n\\treturn packDepthToRGBA( v ).yx;\\n}\\nfloat unpackRGToDepth( const in highp vec2 v ) {\\n\\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\\n}\\nvec4 pack2HalfToRGBA( vec2 v ) {\\n\\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\\n\\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\\n}\\nvec2 unpackRGBATo2Half( vec4 v ) {\\n\\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\\n}\\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( viewZ + near ) / ( near - far );\\n}\\nfloat orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) {\\n\\treturn depth * ( near - far ) - near;\\n}\\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\\n}\\nfloat perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {\\n\\treturn ( near * far ) / ( ( far - near ) * depth - far );\\n}\",premultiplied_alpha_fragment:\"#ifdef PREMULTIPLIED_ALPHA\\n\\tgl_FragColor.rgb *= gl_FragColor.a;\\n#endif\",project_vertex:\"vec4 mvPosition = vec4( transformed, 1.0 );\\n#ifdef USE_INSTANCING\\n\\tmvPosition = instanceMatrix * mvPosition;\\n#endif\\nmvPosition = modelViewMatrix * mvPosition;\\ngl_Position = projectionMatrix * mvPosition;\",dithering_fragment:\"#ifdef DITHERING\\n\\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\\n#endif\",dithering_pars_fragment:\"#ifdef DITHERING\\n\\tvec3 dithering( vec3 color ) {\\n\\t\\tfloat grid_position = rand( gl_FragCoord.xy );\\n\\t\\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\\n\\t\\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\\n\\t\\treturn color + dither_shift_RGB;\\n\\t}\\n#endif\",roughnessmap_fragment:\"float roughnessFactor = roughness;\\n#ifdef USE_ROUGHNESSMAP\\n\\tvec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );\\n\\troughnessFactor *= texelRoughness.g;\\n#endif\",roughnessmap_pars_fragment:\"#ifdef USE_ROUGHNESSMAP\\n\\tuniform sampler2D roughnessMap;\\n#endif\",shadowmap_pars_fragment:\"#if NUM_SPOT_LIGHT_COORDS > 0\\n\\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\\n#endif\\n#if NUM_SPOT_LIGHT_MAPS > 0\\n\\tuniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\\n#endif\\n#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tstruct SpotLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tstruct PointLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t\\tfloat shadowCameraNear;\\n\\t\\t\\tfloat shadowCameraFar;\\n\\t\\t};\\n\\t\\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\\n\\t\\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\\n\\t}\\n\\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\\n\\t\\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\\n\\t}\\n\\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\\n\\t\\tfloat occlusion = 1.0;\\n\\t\\tvec2 distribution = texture2DDistribution( shadow, uv );\\n\\t\\tfloat hard_shadow = step( compare , distribution.x );\\n\\t\\tif (hard_shadow != 1.0 ) {\\n\\t\\t\\tfloat distance = compare - distribution.x ;\\n\\t\\t\\tfloat variance = max( 0.00000, distribution.y * distribution.y );\\n\\t\\t\\tfloat softness_probability = variance / (variance + distance * distance );\\t\\t\\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\\t\\t\\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\\n\\t\\t}\\n\\t\\treturn occlusion;\\n\\t}\\n\\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tfloat shadow = 1.0;\\n\\t\\tshadowCoord.xyz /= shadowCoord.w;\\n\\t\\tshadowCoord.z += shadowBias;\\n\\t\\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\\n\\t\\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\\n\\t\\tif ( frustumTest ) {\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx2 = dx0 / 2.0;\\n\\t\\t\\tfloat dy2 = dy0 / 2.0;\\n\\t\\t\\tfloat dx3 = dx1 / 2.0;\\n\\t\\t\\tfloat dy3 = dy1 / 2.0;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 17.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx = texelSize.x;\\n\\t\\t\\tfloat dy = texelSize.y;\\n\\t\\t\\tvec2 uv = shadowCoord.xy;\\n\\t\\t\\tvec2 f = fract( uv * shadowMapSize + 0.5 );\\n\\t\\t\\tuv -= f * texelSize;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t f.x ),\\n\\t\\t\\t\\t\\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t f.x ),\\n\\t\\t\\t\\t\\t f.y )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#else\\n\\t\\t\\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn shadow;\\n\\t}\\n\\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\\n\\t\\tvec3 absV = abs( v );\\n\\t\\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\\n\\t\\tabsV *= scaleToCube;\\n\\t\\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\\n\\t\\tvec2 planar = v.xy;\\n\\t\\tfloat almostATexel = 1.5 * texelSizeY;\\n\\t\\tfloat almostOne = 1.0 - almostATexel;\\n\\t\\tif ( absV.z >= almostOne ) {\\n\\t\\t\\tif ( v.z > 0.0 )\\n\\t\\t\\t\\tplanar.x = 4.0 - v.x;\\n\\t\\t} else if ( absV.x >= almostOne ) {\\n\\t\\t\\tfloat signX = sign( v.x );\\n\\t\\t\\tplanar.x = v.z * signX + 2.0 * signX;\\n\\t\\t} else if ( absV.y >= almostOne ) {\\n\\t\\t\\tfloat signY = sign( v.y );\\n\\t\\t\\tplanar.x = v.x + 2.0 * signY + 2.0;\\n\\t\\t\\tplanar.y = v.z * signY - 2.0;\\n\\t\\t}\\n\\t\\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\\n\\t}\\n\\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\\n\\t\\tvec3 lightToPosition = shadowCoord.xyz;\\n\\t\\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\\t\\tdp += shadowBias;\\n\\t\\tvec3 bd3D = normalize( lightToPosition );\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\\n\\t\\t#endif\\n\\t}\\n#endif\",shadowmap_pars_vertex:\"#if NUM_SPOT_LIGHT_COORDS > 0\\n\\tuniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\\n\\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\\n#endif\\n#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t\\tstruct SpotLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tstruct PointLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t\\tfloat shadowCameraNear;\\n\\t\\t\\tfloat shadowCameraFar;\\n\\t\\t};\\n\\t\\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t#endif\\n#endif\",shadowmap_vertex:\"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\\n\\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\tvec4 shadowWorldPosition;\\n#endif\\n#if defined( USE_SHADOWMAP )\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\t\\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\t\\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\\n#if NUM_SPOT_LIGHT_COORDS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition;\\n\\t\\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\t\\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\\n\\t\\t#endif\\n\\t\\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\",shadowmask_pars_fragment:\"float getShadowMask() {\\n\\tfloat shadow = 1.0;\\n\\t#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tspotLight = spotLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tpointLight = pointLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#endif\\n\\treturn shadow;\\n}\",skinbase_vertex:\"#ifdef USE_SKINNING\\n\\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\\n\\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\\n\\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\\n\\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\\n#endif\",skinning_pars_vertex:\"#ifdef USE_SKINNING\\n\\tuniform mat4 bindMatrix;\\n\\tuniform mat4 bindMatrixInverse;\\n\\tuniform highp sampler2D boneTexture;\\n\\tuniform int boneTextureSize;\\n\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\tfloat j = i * 4.0;\\n\\t\\tfloat x = mod( j, float( boneTextureSize ) );\\n\\t\\tfloat y = floor( j / float( boneTextureSize ) );\\n\\t\\tfloat dx = 1.0 / float( boneTextureSize );\\n\\t\\tfloat dy = 1.0 / float( boneTextureSize );\\n\\t\\ty = dy * ( y + 0.5 );\\n\\t\\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\\n\\t\\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\\n\\t\\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\\n\\t\\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\\n\\t\\tmat4 bone = mat4( v1, v2, v3, v4 );\\n\\t\\treturn bone;\\n\\t}\\n#endif\",skinning_vertex:\"#ifdef USE_SKINNING\\n\\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\\n\\tvec4 skinned = vec4( 0.0 );\\n\\tskinned += boneMatX * skinVertex * skinWeight.x;\\n\\tskinned += boneMatY * skinVertex * skinWeight.y;\\n\\tskinned += boneMatZ * skinVertex * skinWeight.z;\\n\\tskinned += boneMatW * skinVertex * skinWeight.w;\\n\\ttransformed = ( bindMatrixInverse * skinned ).xyz;\\n#endif\",skinnormal_vertex:\"#ifdef USE_SKINNING\\n\\tmat4 skinMatrix = mat4( 0.0 );\\n\\tskinMatrix += skinWeight.x * boneMatX;\\n\\tskinMatrix += skinWeight.y * boneMatY;\\n\\tskinMatrix += skinWeight.z * boneMatZ;\\n\\tskinMatrix += skinWeight.w * boneMatW;\\n\\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\\n\\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\\n\\t#ifdef USE_TANGENT\\n\\t\\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\\n\\t#endif\\n#endif\",specularmap_fragment:\"float specularStrength;\\n#ifdef USE_SPECULARMAP\\n\\tvec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );\\n\\tspecularStrength = texelSpecular.r;\\n#else\\n\\tspecularStrength = 1.0;\\n#endif\",specularmap_pars_fragment:\"#ifdef USE_SPECULARMAP\\n\\tuniform sampler2D specularMap;\\n#endif\",tonemapping_fragment:\"#if defined( TONE_MAPPING )\\n\\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\\n#endif\",tonemapping_pars_fragment:\"#ifndef saturate\\n#define saturate( a ) clamp( a, 0.0, 1.0 )\\n#endif\\nuniform float toneMappingExposure;\\nvec3 LinearToneMapping( vec3 color ) {\\n\\treturn toneMappingExposure * color;\\n}\\nvec3 ReinhardToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\treturn saturate( color / ( vec3( 1.0 ) + color ) );\\n}\\nvec3 OptimizedCineonToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\tcolor = max( vec3( 0.0 ), color - 0.004 );\\n\\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\\n}\\nvec3 RRTAndODTFit( vec3 v ) {\\n\\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\\n\\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\\n\\treturn a / b;\\n}\\nvec3 ACESFilmicToneMapping( vec3 color ) {\\n\\tconst mat3 ACESInputMat = mat3(\\n\\t\\tvec3( 0.59719, 0.07600, 0.02840 ),\\t\\tvec3( 0.35458, 0.90834, 0.13383 ),\\n\\t\\tvec3( 0.04823, 0.01566, 0.83777 )\\n\\t);\\n\\tconst mat3 ACESOutputMat = mat3(\\n\\t\\tvec3( 1.60475, -0.10208, -0.00327 ),\\t\\tvec3( -0.53108, 1.10813, -0.07276 ),\\n\\t\\tvec3( -0.07367, -0.00605, 1.07602 )\\n\\t);\\n\\tcolor *= toneMappingExposure / 0.6;\\n\\tcolor = ACESInputMat * color;\\n\\tcolor = RRTAndODTFit( color );\\n\\tcolor = ACESOutputMat * color;\\n\\treturn saturate( color );\\n}\\nvec3 CustomToneMapping( vec3 color ) { return color; }\",transmission_fragment:\"#ifdef USE_TRANSMISSION\\n\\tmaterial.transmission = transmission;\\n\\tmaterial.transmissionAlpha = 1.0;\\n\\tmaterial.thickness = thickness;\\n\\tmaterial.attenuationDistance = attenuationDistance;\\n\\tmaterial.attenuationColor = attenuationColor;\\n\\t#ifdef USE_TRANSMISSIONMAP\\n\\t\\tmaterial.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\\n\\t#endif\\n\\t#ifdef USE_THICKNESSMAP\\n\\t\\tmaterial.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\\n\\t#endif\\n\\tvec3 pos = vWorldPosition;\\n\\tvec3 v = normalize( cameraPosition - pos );\\n\\tvec3 n = inverseTransformDirection( normal, viewMatrix );\\n\\tvec4 transmission = getIBLVolumeRefraction(\\n\\t\\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\\n\\t\\tpos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\\n\\t\\tmaterial.attenuationColor, material.attenuationDistance );\\n\\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmission.a, material.transmission );\\n\\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, material.transmission );\\n#endif\",transmission_pars_fragment:\"#ifdef USE_TRANSMISSION\\n\\tuniform float transmission;\\n\\tuniform float thickness;\\n\\tuniform float attenuationDistance;\\n\\tuniform vec3 attenuationColor;\\n\\t#ifdef USE_TRANSMISSIONMAP\\n\\t\\tuniform sampler2D transmissionMap;\\n\\t#endif\\n\\t#ifdef USE_THICKNESSMAP\\n\\t\\tuniform sampler2D thicknessMap;\\n\\t#endif\\n\\tuniform vec2 transmissionSamplerSize;\\n\\tuniform sampler2D transmissionSamplerMap;\\n\\tuniform mat4 modelMatrix;\\n\\tuniform mat4 projectionMatrix;\\n\\tvarying vec3 vWorldPosition;\\n\\tfloat w0( float a ) {\\n\\t\\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\\n\\t}\\n\\tfloat w1( float a ) {\\n\\t\\treturn ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 );\\n\\t}\\n\\tfloat w2( float a ){\\n\\t\\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\\n\\t}\\n\\tfloat w3( float a ) {\\n\\t\\treturn ( 1.0 / 6.0 ) * ( a * a * a );\\n\\t}\\n\\tfloat g0( float a ) {\\n\\t\\treturn w0( a ) + w1( a );\\n\\t}\\n\\tfloat g1( float a ) {\\n\\t\\treturn w2( a ) + w3( a );\\n\\t}\\n\\tfloat h0( float a ) {\\n\\t\\treturn - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\\n\\t}\\n\\tfloat h1( float a ) {\\n\\t\\treturn 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\\n\\t}\\n\\tvec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {\\n\\t\\tuv = uv * texelSize.zw + 0.5;\\n\\t\\tvec2 iuv = floor( uv );\\n\\t\\tvec2 fuv = fract( uv );\\n\\t\\tfloat g0x = g0( fuv.x );\\n\\t\\tfloat g1x = g1( fuv.x );\\n\\t\\tfloat h0x = h0( fuv.x );\\n\\t\\tfloat h1x = h1( fuv.x );\\n\\t\\tfloat h0y = h0( fuv.y );\\n\\t\\tfloat h1y = h1( fuv.y );\\n\\t\\tvec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\\n\\t\\tvec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\\n\\t\\tvec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\\n\\t\\tvec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\\n\\t\\treturn g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\\n\\t\\t\\tg1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\\n\\t}\\n\\tvec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\\n\\t\\tvec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\\n\\t\\tvec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\\n\\t\\tvec2 fLodSizeInv = 1.0 / fLodSize;\\n\\t\\tvec2 cLodSizeInv = 1.0 / cLodSize;\\n\\t\\tvec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );\\n\\t\\tvec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );\\n\\t\\treturn mix( fSample, cSample, fract( lod ) );\\n\\t}\\n\\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\\n\\t\\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\\n\\t\\tvec3 modelScale;\\n\\t\\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\\n\\t\\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\\n\\t\\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\\n\\t\\treturn normalize( refractionVector ) * thickness * modelScale;\\n\\t}\\n\\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\\n\\t\\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\\n\\t}\\n\\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\\n\\t\\tfloat lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\\n\\t\\treturn textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\\n\\t}\\n\\tvec3 applyVolumeAttenuation( const in vec3 radiance, const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\\n\\t\\tif ( isinf( attenuationDistance ) ) {\\n\\t\\t\\treturn radiance;\\n\\t\\t} else {\\n\\t\\t\\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\\n\\t\\t\\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\\t\\t\\treturn transmittance * radiance;\\n\\t\\t}\\n\\t}\\n\\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\\n\\t\\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\\n\\t\\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\\n\\t\\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\\n\\t\\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\\n\\t\\tvec3 refractedRayExit = position + transmissionRay;\\n\\t\\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\\n\\t\\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\\n\\t\\trefractionCoords += 1.0;\\n\\t\\trefractionCoords /= 2.0;\\n\\t\\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\\n\\t\\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\\n\\t\\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\\n\\t\\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\\n\\t}\\n#endif\",uv_pars_fragment:\"#ifdef USE_UV\\n\\tvarying vec2 vUv;\\n#endif\\n#ifdef USE_MAP\\n\\tvarying vec2 vMapUv;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tvarying vec2 vAlphaMapUv;\\n#endif\\n#ifdef USE_LIGHTMAP\\n\\tvarying vec2 vLightMapUv;\\n#endif\\n#ifdef USE_AOMAP\\n\\tvarying vec2 vAoMapUv;\\n#endif\\n#ifdef USE_BUMPMAP\\n\\tvarying vec2 vBumpMapUv;\\n#endif\\n#ifdef USE_NORMALMAP\\n\\tvarying vec2 vNormalMapUv;\\n#endif\\n#ifdef USE_EMISSIVEMAP\\n\\tvarying vec2 vEmissiveMapUv;\\n#endif\\n#ifdef USE_METALNESSMAP\\n\\tvarying vec2 vMetalnessMapUv;\\n#endif\\n#ifdef USE_ROUGHNESSMAP\\n\\tvarying vec2 vRoughnessMapUv;\\n#endif\\n#ifdef USE_CLEARCOATMAP\\n\\tvarying vec2 vClearcoatMapUv;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tvarying vec2 vClearcoatNormalMapUv;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tvarying vec2 vClearcoatRoughnessMapUv;\\n#endif\\n#ifdef USE_IRIDESCENCEMAP\\n\\tvarying vec2 vIridescenceMapUv;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\tvarying vec2 vIridescenceThicknessMapUv;\\n#endif\\n#ifdef USE_SHEEN_COLORMAP\\n\\tvarying vec2 vSheenColorMapUv;\\n#endif\\n#ifdef USE_SHEEN_ROUGHNESSMAP\\n\\tvarying vec2 vSheenRoughnessMapUv;\\n#endif\\n#ifdef USE_SPECULARMAP\\n\\tvarying vec2 vSpecularMapUv;\\n#endif\\n#ifdef USE_SPECULAR_COLORMAP\\n\\tvarying vec2 vSpecularColorMapUv;\\n#endif\\n#ifdef USE_SPECULAR_INTENSITYMAP\\n\\tvarying vec2 vSpecularIntensityMapUv;\\n#endif\\n#ifdef USE_TRANSMISSIONMAP\\n\\tuniform mat3 transmissionMapTransform;\\n\\tvarying vec2 vTransmissionMapUv;\\n#endif\\n#ifdef USE_THICKNESSMAP\\n\\tuniform mat3 thicknessMapTransform;\\n\\tvarying vec2 vThicknessMapUv;\\n#endif\",uv_pars_vertex:\"#ifdef USE_UV\\n\\tvarying vec2 vUv;\\n#endif\\n#ifdef USE_MAP\\n\\tuniform mat3 mapTransform;\\n\\tvarying vec2 vMapUv;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tuniform mat3 alphaMapTransform;\\n\\tvarying vec2 vAlphaMapUv;\\n#endif\\n#ifdef USE_LIGHTMAP\\n\\tuniform mat3 lightMapTransform;\\n\\tvarying vec2 vLightMapUv;\\n#endif\\n#ifdef USE_AOMAP\\n\\tuniform mat3 aoMapTransform;\\n\\tvarying vec2 vAoMapUv;\\n#endif\\n#ifdef USE_BUMPMAP\\n\\tuniform mat3 bumpMapTransform;\\n\\tvarying vec2 vBumpMapUv;\\n#endif\\n#ifdef USE_NORMALMAP\\n\\tuniform mat3 normalMapTransform;\\n\\tvarying vec2 vNormalMapUv;\\n#endif\\n#ifdef USE_DISPLACEMENTMAP\\n\\tuniform mat3 displacementMapTransform;\\n\\tvarying vec2 vDisplacementMapUv;\\n#endif\\n#ifdef USE_EMISSIVEMAP\\n\\tuniform mat3 emissiveMapTransform;\\n\\tvarying vec2 vEmissiveMapUv;\\n#endif\\n#ifdef USE_METALNESSMAP\\n\\tuniform mat3 metalnessMapTransform;\\n\\tvarying vec2 vMetalnessMapUv;\\n#endif\\n#ifdef USE_ROUGHNESSMAP\\n\\tuniform mat3 roughnessMapTransform;\\n\\tvarying vec2 vRoughnessMapUv;\\n#endif\\n#ifdef USE_CLEARCOATMAP\\n\\tuniform mat3 clearcoatMapTransform;\\n\\tvarying vec2 vClearcoatMapUv;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tuniform mat3 clearcoatNormalMapTransform;\\n\\tvarying vec2 vClearcoatNormalMapUv;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tuniform mat3 clearcoatRoughnessMapTransform;\\n\\tvarying vec2 vClearcoatRoughnessMapUv;\\n#endif\\n#ifdef USE_SHEEN_COLORMAP\\n\\tuniform mat3 sheenColorMapTransform;\\n\\tvarying vec2 vSheenColorMapUv;\\n#endif\\n#ifdef USE_SHEEN_ROUGHNESSMAP\\n\\tuniform mat3 sheenRoughnessMapTransform;\\n\\tvarying vec2 vSheenRoughnessMapUv;\\n#endif\\n#ifdef USE_IRIDESCENCEMAP\\n\\tuniform mat3 iridescenceMapTransform;\\n\\tvarying vec2 vIridescenceMapUv;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\tuniform mat3 iridescenceThicknessMapTransform;\\n\\tvarying vec2 vIridescenceThicknessMapUv;\\n#endif\\n#ifdef USE_SPECULARMAP\\n\\tuniform mat3 specularMapTransform;\\n\\tvarying vec2 vSpecularMapUv;\\n#endif\\n#ifdef USE_SPECULAR_COLORMAP\\n\\tuniform mat3 specularColorMapTransform;\\n\\tvarying vec2 vSpecularColorMapUv;\\n#endif\\n#ifdef USE_SPECULAR_INTENSITYMAP\\n\\tuniform mat3 specularIntensityMapTransform;\\n\\tvarying vec2 vSpecularIntensityMapUv;\\n#endif\\n#ifdef USE_TRANSMISSIONMAP\\n\\tuniform mat3 transmissionMapTransform;\\n\\tvarying vec2 vTransmissionMapUv;\\n#endif\\n#ifdef USE_THICKNESSMAP\\n\\tuniform mat3 thicknessMapTransform;\\n\\tvarying vec2 vThicknessMapUv;\\n#endif\",uv_vertex:\"#ifdef USE_UV\\n\\tvUv = vec3( uv, 1 ).xy;\\n#endif\\n#ifdef USE_MAP\\n\\tvMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tvAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_LIGHTMAP\\n\\tvLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_AOMAP\\n\\tvAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_BUMPMAP\\n\\tvBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_NORMALMAP\\n\\tvNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_DISPLACEMENTMAP\\n\\tvDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_EMISSIVEMAP\\n\\tvEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_METALNESSMAP\\n\\tvMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_ROUGHNESSMAP\\n\\tvRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_CLEARCOATMAP\\n\\tvClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tvClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tvClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_IRIDESCENCEMAP\\n\\tvIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\tvIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SHEEN_COLORMAP\\n\\tvSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SHEEN_ROUGHNESSMAP\\n\\tvSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SPECULARMAP\\n\\tvSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SPECULAR_COLORMAP\\n\\tvSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SPECULAR_INTENSITYMAP\\n\\tvSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_TRANSMISSIONMAP\\n\\tvTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_THICKNESSMAP\\n\\tvThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\\n#endif\",worldpos_vertex:\"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\\n\\tvec4 worldPosition = vec4( transformed, 1.0 );\\n\\t#ifdef USE_INSTANCING\\n\\t\\tworldPosition = instanceMatrix * worldPosition;\\n\\t#endif\\n\\tworldPosition = modelMatrix * worldPosition;\\n#endif\",background_vert:\"varying vec2 vUv;\\nuniform mat3 uvTransform;\\nvoid main() {\\n\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n\\tgl_Position = vec4( position.xy, 1.0, 1.0 );\\n}\",background_frag:\"uniform sampler2D t2D;\\nuniform float backgroundIntensity;\\nvarying vec2 vUv;\\nvoid main() {\\n\\tvec4 texColor = texture2D( t2D, vUv );\\n\\ttexColor.rgb *= backgroundIntensity;\\n\\tgl_FragColor = texColor;\\n\\t#include \\n\\t#include \\n}\",backgroundCube_vert:\"varying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n\\tgl_Position.z = gl_Position.w;\\n}\",backgroundCube_frag:\"#ifdef ENVMAP_TYPE_CUBE\\n\\tuniform samplerCube envMap;\\n#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\tuniform sampler2D envMap;\\n#endif\\nuniform float flipEnvMap;\\nuniform float backgroundBlurriness;\\nuniform float backgroundIntensity;\\nvarying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\\n\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tvec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness );\\n\\t#else\\n\\t\\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\t#endif\\n\\ttexColor.rgb *= backgroundIntensity;\\n\\tgl_FragColor = texColor;\\n\\t#include \\n\\t#include \\n}\",cube_vert:\"varying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n\\tgl_Position.z = gl_Position.w;\\n}\",cube_frag:\"uniform samplerCube tCube;\\nuniform float tFlip;\\nuniform float opacity;\\nvarying vec3 vWorldDirection;\\nvoid main() {\\n\\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\\n\\tgl_FragColor = texColor;\\n\\tgl_FragColor.a *= opacity;\\n\\t#include \\n\\t#include \\n}\",depth_vert:\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvHighPrecisionZW = gl_Position.zw;\\n}\",depth_frag:\"#if DEPTH_PACKING == 3200\\n\\tuniform float opacity;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tdiffuseColor.a = opacity;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\\n\\t#elif DEPTH_PACKING == 3201\\n\\t\\tgl_FragColor = packDepthToRGBA( fragCoordZ );\\n\\t#endif\\n}\",distanceRGBA_vert:\"#define DISTANCE\\nvarying vec3 vWorldPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvWorldPosition = worldPosition.xyz;\\n}\",distanceRGBA_frag:\"#define DISTANCE\\nuniform vec3 referencePosition;\\nuniform float nearDistance;\\nuniform float farDistance;\\nvarying vec3 vWorldPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main () {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\tfloat dist = length( vWorldPosition - referencePosition );\\n\\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\\n\\tdist = saturate( dist );\\n\\tgl_FragColor = packDepthToRGBA( dist );\\n}\",equirect_vert:\"varying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n}\",equirect_frag:\"uniform sampler2D tEquirect;\\nvarying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\tvec3 direction = normalize( vWorldDirection );\\n\\tvec2 sampleUV = equirectUv( direction );\\n\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n\\t#include \\n\\t#include \\n}\",linedashed_vert:\"uniform float scale;\\nattribute float lineDistance;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\tvLineDistance = scale * lineDistance;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",linedashed_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float dashSize;\\nuniform float totalSize;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\\n\\t\\tdiscard;\\n\\t}\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshbasic_vert:\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshbasic_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\\n\\t\\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vec3( 1.0 );\\n\\t#endif\\n\\t#include \\n\\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\\n\\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshlambert_vert:\"#define LAMBERT\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshlambert_frag:\"#define LAMBERT\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshmatcap_vert:\"#define MATCAP\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n}\",meshmatcap_frag:\"#define MATCAP\\nuniform vec3 diffuse;\\nuniform float opacity;\\nuniform sampler2D matcap;\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 viewDir = normalize( vViewPosition );\\n\\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\\n\\tvec3 y = cross( viewDir, x );\\n\\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\\n\\t#ifdef USE_MATCAP\\n\\t\\tvec4 matcapColor = texture2D( matcap, uv );\\n\\t#else\\n\\t\\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\\n\\t#endif\\n\\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshnormal_vert:\"#define NORMAL\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n}\",meshnormal_frag:\"#define NORMAL\\nuniform float opacity;\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\\n\\t#ifdef OPAQUE\\n\\t\\tgl_FragColor.a = 1.0;\\n\\t#endif\\n}\",meshphong_vert:\"#define PHONG\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshphong_frag:\"#define PHONG\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshphysical_vert:\"#define STANDARD\\nvarying vec3 vViewPosition;\\n#ifdef USE_TRANSMISSION\\n\\tvarying vec3 vWorldPosition;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n#ifdef USE_TRANSMISSION\\n\\tvWorldPosition = worldPosition.xyz;\\n#endif\\n}\",meshphysical_frag:\"#define STANDARD\\n#ifdef PHYSICAL\\n\\t#define IOR\\n\\t#define USE_SPECULAR\\n#endif\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifdef IOR\\n\\tuniform float ior;\\n#endif\\n#ifdef USE_SPECULAR\\n\\tuniform float specularIntensity;\\n\\tuniform vec3 specularColor;\\n\\t#ifdef USE_SPECULAR_COLORMAP\\n\\t\\tuniform sampler2D specularColorMap;\\n\\t#endif\\n\\t#ifdef USE_SPECULAR_INTENSITYMAP\\n\\t\\tuniform sampler2D specularIntensityMap;\\n\\t#endif\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tuniform float clearcoat;\\n\\tuniform float clearcoatRoughness;\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\\tuniform float iridescence;\\n\\tuniform float iridescenceIOR;\\n\\tuniform float iridescenceThicknessMinimum;\\n\\tuniform float iridescenceThicknessMaximum;\\n#endif\\n#ifdef USE_SHEEN\\n\\tuniform vec3 sheenColor;\\n\\tuniform float sheenRoughness;\\n\\t#ifdef USE_SHEEN_COLORMAP\\n\\t\\tuniform sampler2D sheenColorMap;\\n\\t#endif\\n\\t#ifdef USE_SHEEN_ROUGHNESSMAP\\n\\t\\tuniform sampler2D sheenRoughnessMap;\\n\\t#endif\\n#endif\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\\n\\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\\n\\t#include \\n\\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\\n\\t#ifdef USE_SHEEN\\n\\t\\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\\n\\t\\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\\n\\t\\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\\n\\t\\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshtoon_vert:\"#define TOON\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshtoon_frag:\"#define TOON\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",points_vert:\"uniform float size;\\nuniform float scale;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#ifdef USE_POINTS_UV\\n\\tvarying vec2 vUv;\\n\\tuniform mat3 uvTransform;\\n#endif\\nvoid main() {\\n\\t#ifdef USE_POINTS_UV\\n\\t\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tgl_PointSize = size;\\n\\t#ifdef USE_SIZEATTENUATION\\n\\t\\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\\t\\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",points_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",shadow_vert:\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",shadow_frag:\"uniform vec3 color;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\\n\\t#include \\n\\t#include \\n\\t#include \\n}\",sprite_vert:\"uniform float rotation;\\nuniform vec2 center;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\tvec2 scale;\\n\\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\\n\\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\\n\\t#ifndef USE_SIZEATTENUATION\\n\\t\\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\\t\\tif ( isPerspective ) scale *= - mvPosition.z;\\n\\t#endif\\n\\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\\n\\tvec2 rotatedPosition;\\n\\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\\n\\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\\n\\tmvPosition.xy += rotatedPosition;\\n\\tgl_Position = projectionMatrix * mvPosition;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\",sprite_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\"},ds={common:{diffuse:{value:new on(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new ye},alphaMap:{value:null},alphaMapTransform:{value:new ye},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new ye}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new ye}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new ye}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new ye},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new ye},normalScale:{value:new me(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new ye},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new ye}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new ye}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new ye}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new on(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new on(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new ye}},sprite:{diffuse:{value:new on(16777215)},opacity:{value:1},center:{value:new me(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new ye},alphaMap:{value:null},alphaTest:{value:0}}},fs={basic:{uniforms:kn([ds.common,ds.specularmap,ds.envmap,ds.aomap,ds.lightmap,ds.fog]),vertexShader:hs.meshbasic_vert,fragmentShader:hs.meshbasic_frag},lambert:{uniforms:kn([ds.common,ds.specularmap,ds.envmap,ds.aomap,ds.lightmap,ds.emissivemap,ds.bumpmap,ds.normalmap,ds.displacementmap,ds.fog,ds.lights,{emissive:{value:new on(0)}}]),vertexShader:hs.meshlambert_vert,fragmentShader:hs.meshlambert_frag},phong:{uniforms:kn([ds.common,ds.specularmap,ds.envmap,ds.aomap,ds.lightmap,ds.emissivemap,ds.bumpmap,ds.normalmap,ds.displacementmap,ds.fog,ds.lights,{emissive:{value:new on(0)},specular:{value:new on(1118481)},shininess:{value:30}}]),vertexShader:hs.meshphong_vert,fragmentShader:hs.meshphong_frag},standard:{uniforms:kn([ds.common,ds.envmap,ds.aomap,ds.lightmap,ds.emissivemap,ds.bumpmap,ds.normalmap,ds.displacementmap,ds.roughnessmap,ds.metalnessmap,ds.fog,ds.lights,{emissive:{value:new on(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:hs.meshphysical_vert,fragmentShader:hs.meshphysical_frag},toon:{uniforms:kn([ds.common,ds.aomap,ds.lightmap,ds.emissivemap,ds.bumpmap,ds.normalmap,ds.displacementmap,ds.gradientmap,ds.fog,ds.lights,{emissive:{value:new on(0)}}]),vertexShader:hs.meshtoon_vert,fragmentShader:hs.meshtoon_frag},matcap:{uniforms:kn([ds.common,ds.bumpmap,ds.normalmap,ds.displacementmap,ds.fog,{matcap:{value:null}}]),vertexShader:hs.meshmatcap_vert,fragmentShader:hs.meshmatcap_frag},points:{uniforms:kn([ds.points,ds.fog]),vertexShader:hs.points_vert,fragmentShader:hs.points_frag},dashed:{uniforms:kn([ds.common,ds.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:hs.linedashed_vert,fragmentShader:hs.linedashed_frag},depth:{uniforms:kn([ds.common,ds.displacementmap]),vertexShader:hs.depth_vert,fragmentShader:hs.depth_frag},normal:{uniforms:kn([ds.common,ds.bumpmap,ds.normalmap,ds.displacementmap,{opacity:{value:1}}]),vertexShader:hs.meshnormal_vert,fragmentShader:hs.meshnormal_frag},sprite:{uniforms:kn([ds.sprite,ds.fog]),vertexShader:hs.sprite_vert,fragmentShader:hs.sprite_frag},background:{uniforms:{uvTransform:{value:new ye},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:hs.background_vert,fragmentShader:hs.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:hs.backgroundCube_vert,fragmentShader:hs.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:hs.cube_vert,fragmentShader:hs.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:hs.equirect_vert,fragmentShader:hs.equirect_frag},distanceRGBA:{uniforms:kn([ds.common,ds.displacementmap,{referencePosition:{value:new Ge},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:hs.distanceRGBA_vert,fragmentShader:hs.distanceRGBA_frag},shadow:{uniforms:kn([ds.lights,ds.fog,{color:{value:new on(0)},opacity:{value:1}}]),vertexShader:hs.shadow_vert,fragmentShader:hs.shadow_frag}};fs.physical={uniforms:kn([fs.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new ye},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new ye},clearcoatNormalScale:{value:new me(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new ye},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new ye},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new ye},sheen:{value:0},sheenColor:{value:new on(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new ye},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new ye},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new ye},transmissionSamplerSize:{value:new me},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new ye},attenuationDistance:{value:0},attenuationColor:{value:new on(0)},specularColor:{value:new on(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new ye},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new ye}}]),vertexShader:hs.meshphysical_vert,fragmentShader:hs.meshphysical_frag};const Is={r:0,b:0,g:0};function ms(e,t,n,s,i,a,l){const c=new on(0);let u,p,h=!0===a?0:1,d=null,f=0,I=null;function m(t,n){t.getRGB(Is,Yn(e)),s.buffers.color.setClear(Is.r,Is.g,Is.b,n,l)}return{getClearColor:function(){return c},setClearColor:function(e,t=1){c.set(e),h=t,m(c,h)},getClearAlpha:function(){return h},setClearAlpha:function(e){h=e,m(c,h)},render:function(a,y){let v=!1,w=!0===y.isScene?y.background:null;switch(w&&w.isTexture&&(w=(y.backgroundBlurriness>0?n:t).get(w)),null===w?m(c,h):w&&w.isColor&&(m(w,1),v=!0),e.xr.getEnvironmentBlendMode()){case\"opaque\":v=!0;break;case\"additive\":s.buffers.color.setClear(0,0,0,1,l),v=!0;break;case\"alpha-blend\":s.buffers.color.setClear(0,0,0,0,l),v=!0}(e.autoClear||v)&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),w&&(w.isCubeTexture||w.mapping===g)?(void 0===p&&(p=new Vn(new zn(1,1,1),new Kn({name:\"BackgroundCubeMaterial\",uniforms:Wn(fs.backgroundCube.uniforms),vertexShader:fs.backgroundCube.vertexShader,fragmentShader:fs.backgroundCube.fragmentShader,side:o,depthTest:!1,depthWrite:!1,fog:!1})),p.geometry.deleteAttribute(\"normal\"),p.geometry.deleteAttribute(\"uv\"),p.onBeforeRender=function(e,t,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(p.material,\"envMap\",{get:function(){return this.uniforms.envMap.value}}),i.update(p)),p.material.uniforms.envMap.value=w,p.material.uniforms.flipEnvMap.value=w.isCubeTexture&&!1===w.isRenderTargetTexture?-1:1,p.material.uniforms.backgroundBlurriness.value=y.backgroundBlurriness,p.material.uniforms.backgroundIntensity.value=y.backgroundIntensity,p.material.toneMapped=w.colorSpace!==Z,d===w&&f===w.version&&I===e.toneMapping||(p.material.needsUpdate=!0,d=w,f=w.version,I=e.toneMapping),p.layers.enableAll(),a.unshift(p,p.geometry,p.material,0,0,null)):w&&w.isTexture&&(void 0===u&&(u=new Vn(new ps(2,2),new Kn({name:\"BackgroundMaterial\",uniforms:Wn(fs.background.uniforms),vertexShader:fs.background.vertexShader,fragmentShader:fs.background.fragmentShader,side:r,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute(\"normal\"),Object.defineProperty(u.material,\"map\",{get:function(){return this.uniforms.t2D.value}}),i.update(u)),u.material.uniforms.t2D.value=w,u.material.uniforms.backgroundIntensity.value=y.backgroundIntensity,u.material.toneMapped=w.colorSpace!==Z,!0===w.matrixAutoUpdate&&w.updateMatrix(),u.material.uniforms.uvTransform.value.copy(w.matrix),d===w&&f===w.version&&I===e.toneMapping||(u.material.needsUpdate=!0,d=w,f=w.version,I=e.toneMapping),u.layers.enableAll(),a.unshift(u,u.geometry,u.material,0,0,null))}}}function ys(e,t,n,s){const i=e.getParameter(e.MAX_VERTEX_ATTRIBS),a=s.isWebGL2?null:t.get(\"OES_vertex_array_object\"),l=s.isWebGL2||null!==a,r={},o=d(null);let c=o,u=!1;function p(t){return s.isWebGL2?e.bindVertexArray(t):a.bindVertexArrayOES(t)}function h(t){return s.isWebGL2?e.deleteVertexArray(t):a.deleteVertexArrayOES(t)}function d(e){const t=[],n=[],s=[];for(let e=0;e=0){const n=i[t];let s=a[t];if(void 0===s&&(\"instanceMatrix\"===t&&e.instanceMatrix&&(s=e.instanceMatrix),\"instanceColor\"===t&&e.instanceColor&&(s=e.instanceColor)),void 0===n)return!0;if(n.attribute!==s)return!0;if(s&&n.data!==s.data)return!0;l++}return c.attributesNum!==l||c.index!==s}(i,w,h,T),E&&function(e,t,n,s){const i={},a=t.attributes;let l=0;const r=n.getAttributes();for(const t in r)if(r[t].location>=0){let n=a[t];void 0===n&&(\"instanceMatrix\"===t&&e.instanceMatrix&&(n=e.instanceMatrix),\"instanceColor\"===t&&e.instanceColor&&(n=e.instanceColor));const s={};s.attribute=n,n&&n.data&&(s.data=n.data),i[t]=s,l++}c.attributes=i,c.attributesNum=l,c.index=s}(i,w,h,T)}else{const e=!0===o.wireframe;c.geometry===w.id&&c.program===h.id&&c.wireframe===e||(c.geometry=w.id,c.program=h.id,c.wireframe=e,E=!0)}null!==T&&n.update(T,e.ELEMENT_ARRAY_BUFFER),(E||u)&&(u=!1,function(i,a,l,r){if(!1===s.isWebGL2&&(i.isInstancedMesh||r.isInstancedBufferGeometry)&&null===t.get(\"ANGLE_instanced_arrays\"))return;f();const o=r.attributes,c=l.getAttributes(),u=a.defaultAttributeValues;for(const t in c){const s=c[t];if(s.location>=0){let a=o[t];if(void 0===a&&(\"instanceMatrix\"===t&&i.instanceMatrix&&(a=i.instanceMatrix),\"instanceColor\"===t&&i.instanceColor&&(a=i.instanceColor)),void 0!==a){const t=a.normalized,l=a.itemSize,o=n.get(a);if(void 0===o)continue;const c=o.buffer,u=o.type,p=o.bytesPerElement;if(a.isInterleavedBufferAttribute){const n=a.data,o=n.stride,h=a.offset;if(n.isInstancedInterleavedBuffer){for(let e=0;e0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision>0)return\"highp\";t=\"mediump\"}return\"mediump\"===t&&e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.MEDIUM_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?\"mediump\":\"lowp\"}const a=\"undefined\"!=typeof WebGL2RenderingContext&&\"WebGL2RenderingContext\"===e.constructor.name;let l=void 0!==n.precision?n.precision:\"highp\";const r=i(l);r!==l&&(console.warn(\"THREE.WebGLRenderer:\",l,\"not supported, using\",r,\"instead.\"),l=r);const o=a||t.has(\"WEBGL_draw_buffers\"),c=!0===n.logarithmicDepthBuffer,u=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),p=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),h=e.getParameter(e.MAX_TEXTURE_SIZE),d=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),f=e.getParameter(e.MAX_VERTEX_ATTRIBS),I=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),m=e.getParameter(e.MAX_VARYING_VECTORS),y=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),v=p>0,w=a||t.has(\"OES_texture_float\");return{isWebGL2:a,drawBuffers:o,getMaxAnisotropy:function(){if(void 0!==s)return s;if(!0===t.has(\"EXT_texture_filter_anisotropic\")){const n=t.get(\"EXT_texture_filter_anisotropic\");s=e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else s=0;return s},getMaxPrecision:i,precision:l,logarithmicDepthBuffer:c,maxTextures:u,maxVertexTextures:p,maxTextureSize:h,maxCubemapSize:d,maxAttributes:f,maxVertexUniforms:I,maxVaryings:m,maxFragmentUniforms:y,vertexTextures:v,floatFragmentTextures:w,floatVertexTextures:v&&w,maxSamples:a?e.getParameter(e.MAX_SAMPLES):0}}function Ts(e){const t=this;let n=null,s=0,i=!1,a=!1;const l=new as,r=new ye,o={value:null,needsUpdate:!1};function c(e,n,s,i){const a=null!==e?e.length:0;let c=null;if(0!==a){if(c=o.value,!0!==i||null===c){const t=s+4*a,i=n.matrixWorldInverse;r.getNormalMatrix(i),(null===c||c.length0),t.numPlanes=s,t.numIntersection=0);else{const e=a?0:s,t=4*e;let i=f.clippingState||null;o.value=i,i=c(p,r,t,u);for(let e=0;e!==t;++e)i[e]=n[e];f.clippingState=i,this.numIntersection=h?this.numPlanes:0,this.numPlanes+=e}}}function Es(e){let t=new WeakMap;function n(e,t){return 303===t?e.mapping=T:304===t&&(e.mapping=E),e}function s(e){const n=e.target;n.removeEventListener(\"dispose\",s);const i=t.get(n);void 0!==i&&(t.delete(n),i.dispose())}return{get:function(i){if(i&&i.isTexture&&!1===i.isRenderTargetTexture){const a=i.mapping;if(303===a||304===a){if(t.has(i))return n(t.get(i).texture,i.mapping);{const a=i.image;if(a&&a.height>0){const l=new ts(a.height/2);return l.fromEquirectangularTexture(e,i),t.set(i,l),i.addEventListener(\"dispose\",s),n(l.texture,i.mapping)}return null}}}return i},dispose:function(){t=new WeakMap}}}class gs extends Zn{constructor(e=-1,t=1,n=1,s=-1,i=.1,a=2e3){super(),this.isOrthographicCamera=!0,this.type=\"OrthographicCamera\",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=s,this.near=i,this.far=a,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=null===e.view?null:Object.assign({},e.view),this}setViewOffset(e,t,n,s,i,a){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=s,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,s=(this.top+this.bottom)/2;let i=n-e,a=n+e,l=s+t,r=s-t;if(null!==this.view&&this.view.enabled){const e=(this.right-this.left)/this.view.fullWidth/this.zoom,t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=e*this.view.offsetX,a=i+e*this.view.width,l-=t*this.view.offsetY,r=l-t*this.view.height}this.projectionMatrix.makeOrthographic(i,a,l,r,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,null!==this.view&&(t.object.view=Object.assign({},this.view)),t}}const Rs=[.125,.215,.35,.446,.526,.582],Ds=new gs,Ss=new on;let bs=null;const Ns=(1+Math.sqrt(5))/2,Os=1/Ns,As=[new Ge(1,1,1),new Ge(-1,1,1),new Ge(1,1,-1),new Ge(-1,1,-1),new Ge(0,Ns,Os),new Ge(0,Ns,-Os),new Ge(Os,0,Ns),new Ge(-Os,0,Ns),new Ge(Ns,Os,0),new Ge(-Ns,Os,0)];class xs{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,s=100){bs=this._renderer.getRenderTarget(),this._setSize(256);const i=this._allocateTargets();return i.depthBuffer=!0,this._sceneToCubeUV(e,n,s,i),t>0&&this._blur(i,0,0,t),this._applyPMREM(i),this._cleanup(i),i}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=qs(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=Ps(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let e=0;ee-4?r=Rs[l-e+4-1]:0===l&&(r=0),s.push(r);const o=1/(a-2),c=-o,u=1+o,p=[c,c,u,c,u,u,c,c,u,u,c,u],h=6,d=6,f=3,I=2,m=1,y=new Float32Array(f*d*h),v=new Float32Array(I*d*h),w=new Float32Array(m*d*h);for(let e=0;e2?0:-1,s=[t,n,0,t+2/3,n,0,t+2/3,n+1,0,t,n,0,t+2/3,n+1,0,t,n+1,0];y.set(s,f*d*e),v.set(p,I*d*e);const i=[e,e,e,e,e,e];w.set(i,m*d*e)}const T=new Dn;T.setAttribute(\"position\",new dn(y,f)),T.setAttribute(\"uv\",new dn(v,I)),T.setAttribute(\"faceIndex\",new dn(w,m)),t.push(T),i>4&&i--}return{lodPlanes:t,sizeLods:n,sigmas:s}}(s)),this._blurMaterial=function(e,t,n){const s=new Float32Array(20),i=new Ge(0,1,0);return new Kn({name:\"SphericalGaussianBlur\",defines:{n:20,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${e}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:s},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:\"\\n\\n\\t\\tprecision mediump float;\\n\\t\\tprecision mediump int;\\n\\n\\t\\tattribute float faceIndex;\\n\\n\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t// RH coordinate system; PMREM face-indexing convention\\n\\t\\tvec3 getDirection( vec2 uv, float face ) {\\n\\n\\t\\t\\tuv = 2.0 * uv - 1.0;\\n\\n\\t\\t\\tvec3 direction = vec3( uv, 1.0 );\\n\\n\\t\\t\\tif ( face == 0.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx; // ( 1, v, u ) pos x\\n\\n\\t\\t\\t} else if ( face == 1.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\\n\\n\\t\\t\\t} else if ( face == 2.0 ) {\\n\\n\\t\\t\\t\\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\\n\\n\\t\\t\\t} else if ( face == 3.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\\n\\n\\t\\t\\t} else if ( face == 4.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\\n\\n\\t\\t\\t} else if ( face == 5.0 ) {\\n\\n\\t\\t\\t\\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn direction;\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvOutputDirection = getDirection( uv, faceIndex );\\n\\t\\t\\tgl_Position = vec4( position, 1.0 );\\n\\n\\t\\t}\\n\\t\",fragmentShader:\"\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform sampler2D envMap;\\n\\t\\t\\tuniform int samples;\\n\\t\\t\\tuniform float weights[ n ];\\n\\t\\t\\tuniform bool latitudinal;\\n\\t\\t\\tuniform float dTheta;\\n\\t\\t\\tuniform float mipInt;\\n\\t\\t\\tuniform vec3 poleAxis;\\n\\n\\t\\t\\t#define ENVMAP_TYPE_CUBE_UV\\n\\t\\t\\t#include \\n\\n\\t\\t\\tvec3 getSample( float theta, vec3 axis ) {\\n\\n\\t\\t\\t\\tfloat cosTheta = cos( theta );\\n\\t\\t\\t\\t// Rodrigues' axis-angle rotation\\n\\t\\t\\t\\tvec3 sampleDirection = vOutputDirection * cosTheta\\n\\t\\t\\t\\t\\t+ cross( axis, vOutputDirection ) * sin( theta )\\n\\t\\t\\t\\t\\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\\n\\n\\t\\t\\t\\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\\n\\n\\t\\t\\t\\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\\n\\n\\t\\t\\t\\t\\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\taxis = normalize( axis );\\n\\n\\t\\t\\t\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\t\\t\\t\\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\\n\\n\\t\\t\\t\\tfor ( int i = 1; i < n; i++ ) {\\n\\n\\t\\t\\t\\t\\tif ( i >= samples ) {\\n\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tfloat theta = dTheta * float( i );\\n\\t\\t\\t\\t\\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\\n\\t\\t\\t\\t\\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t}\\n\\t\\t\",blending:0,depthTest:!1,depthWrite:!1})}(s,e,t)}return s}_compileMaterial(e){const t=new Vn(this._lodPlanes[0],e);this._renderer.compile(t,Ds)}_sceneToCubeUV(e,t,n,s){const i=new Qn(90,1,t,n),a=[1,-1,1,1,1,1],l=[1,1,1,-1,-1,-1],r=this._renderer,c=r.autoClear,u=r.toneMapping;r.getClearColor(Ss),r.toneMapping=f,r.autoClear=!1;const p=new un({name:\"PMREM.Background\",side:o,depthWrite:!1,depthTest:!1}),h=new Vn(new zn,p);let d=!1;const I=e.background;I?I.isColor&&(p.color.copy(I),e.background=null,d=!0):(p.color.copy(Ss),d=!0);for(let t=0;t<6;t++){const n=t%3;0===n?(i.up.set(0,a[t],0),i.lookAt(l[t],0,0)):1===n?(i.up.set(0,0,a[t]),i.lookAt(0,l[t],0)):(i.up.set(0,a[t],0),i.lookAt(0,0,l[t]));const o=this._cubeSize;Ls(s,n*o,t>2?o:0,o,o),r.setRenderTarget(s),d&&r.render(h,i),r.render(e,i)}h.geometry.dispose(),h.material.dispose(),r.toneMapping=u,r.autoClear=c,e.background=I}_textureToCubeUV(e,t){const n=this._renderer,s=e.mapping===T||e.mapping===E;s?(null===this._cubemapMaterial&&(this._cubemapMaterial=qs()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===e.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=Ps());const i=s?this._cubemapMaterial:this._equirectMaterial,a=new Vn(this._lodPlanes[0],i);i.uniforms.envMap.value=e;const l=this._cubeSize;Ls(t,0,0,3*l,2*l),n.setRenderTarget(t),n.render(a,Ds)}_applyPMREM(e){const t=this._renderer,n=t.autoClear;t.autoClear=!1;for(let t=1;t20&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${f} samples when the maximum is set to 20`);const I=[];let m=0;for(let e=0;e<20;++e){const t=e/d,n=Math.exp(-t*t/2);I.push(n),0===e?m+=n:ey-4?s-y+4:0),4*(this._cubeSize-v),3*v,2*v),r.setRenderTarget(t),r.render(c,Ds)}}function Cs(e,t,n){const s=new He(e,t,n);return s.texture.mapping=g,s.texture.name=\"PMREM.cubeUv\",s.scissorTest=!0,s}function Ls(e,t,n,s,i){e.viewport.set(t,n,s,i),e.scissor.set(t,n,s,i)}function Ps(){return new Kn({name:\"EquirectangularToCubeUV\",uniforms:{envMap:{value:null}},vertexShader:\"\\n\\n\\t\\tprecision mediump float;\\n\\t\\tprecision mediump int;\\n\\n\\t\\tattribute float faceIndex;\\n\\n\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t// RH coordinate system; PMREM face-indexing convention\\n\\t\\tvec3 getDirection( vec2 uv, float face ) {\\n\\n\\t\\t\\tuv = 2.0 * uv - 1.0;\\n\\n\\t\\t\\tvec3 direction = vec3( uv, 1.0 );\\n\\n\\t\\t\\tif ( face == 0.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx; // ( 1, v, u ) pos x\\n\\n\\t\\t\\t} else if ( face == 1.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\\n\\n\\t\\t\\t} else if ( face == 2.0 ) {\\n\\n\\t\\t\\t\\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\\n\\n\\t\\t\\t} else if ( face == 3.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\\n\\n\\t\\t\\t} else if ( face == 4.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\\n\\n\\t\\t\\t} else if ( face == 5.0 ) {\\n\\n\\t\\t\\t\\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn direction;\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvOutputDirection = getDirection( uv, faceIndex );\\n\\t\\t\\tgl_Position = vec4( position, 1.0 );\\n\\n\\t\\t}\\n\\t\",fragmentShader:\"\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform sampler2D envMap;\\n\\n\\t\\t\\t#include \\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tvec3 outputDirection = normalize( vOutputDirection );\\n\\t\\t\\t\\tvec2 uv = equirectUv( outputDirection );\\n\\n\\t\\t\\t\\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\\n\\n\\t\\t\\t}\\n\\t\\t\",blending:0,depthTest:!1,depthWrite:!1})}function qs(){return new Kn({name:\"CubemapToCubeUV\",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:\"\\n\\n\\t\\tprecision mediump float;\\n\\t\\tprecision mediump int;\\n\\n\\t\\tattribute float faceIndex;\\n\\n\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t// RH coordinate system; PMREM face-indexing convention\\n\\t\\tvec3 getDirection( vec2 uv, float face ) {\\n\\n\\t\\t\\tuv = 2.0 * uv - 1.0;\\n\\n\\t\\t\\tvec3 direction = vec3( uv, 1.0 );\\n\\n\\t\\t\\tif ( face == 0.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx; // ( 1, v, u ) pos x\\n\\n\\t\\t\\t} else if ( face == 1.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\\n\\n\\t\\t\\t} else if ( face == 2.0 ) {\\n\\n\\t\\t\\t\\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\\n\\n\\t\\t\\t} else if ( face == 3.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\\n\\n\\t\\t\\t} else if ( face == 4.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\\n\\n\\t\\t\\t} else if ( face == 5.0 ) {\\n\\n\\t\\t\\t\\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn direction;\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvOutputDirection = getDirection( uv, faceIndex );\\n\\t\\t\\tgl_Position = vec4( position, 1.0 );\\n\\n\\t\\t}\\n\\t\",fragmentShader:\"\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tuniform float flipEnvMap;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform samplerCube envMap;\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\\n\\n\\t\\t\\t}\\n\\t\\t\",blending:0,depthTest:!1,depthWrite:!1})}function _s(e){let t=new WeakMap,n=null;function s(e){const n=e.target;n.removeEventListener(\"dispose\",s);const i=t.get(n);void 0!==i&&(t.delete(n),i.dispose())}return{get:function(i){if(i&&i.isTexture){const a=i.mapping,l=303===a||304===a,r=a===T||a===E;if(l||r){if(i.isRenderTargetTexture&&!0===i.needsPMREMUpdate){i.needsPMREMUpdate=!1;let s=t.get(i);return null===n&&(n=new xs(e)),s=l?n.fromEquirectangular(i,s):n.fromCubemap(i,s),t.set(i,s),s.texture}if(t.has(i))return t.get(i).texture;{const a=i.image;if(l&&a&&a.height>0||r&&a&&function(e){let t=0;for(let n=0;n<6;n++)void 0!==e[n]&&t++;return 6===t}(a)){null===n&&(n=new xs(e));const a=l?n.fromEquirectangular(i):n.fromCubemap(i);return t.set(i,a),i.addEventListener(\"dispose\",s),a.texture}return null}}}return i},dispose:function(){t=new WeakMap,null!==n&&(n.dispose(),n=null)}}}function Ms(e){const t={};function n(n){if(void 0!==t[n])return t[n];let s;switch(n){case\"WEBGL_depth_texture\":s=e.getExtension(\"WEBGL_depth_texture\")||e.getExtension(\"MOZ_WEBGL_depth_texture\")||e.getExtension(\"WEBKIT_WEBGL_depth_texture\");break;case\"EXT_texture_filter_anisotropic\":s=e.getExtension(\"EXT_texture_filter_anisotropic\")||e.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||e.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\");break;case\"WEBGL_compressed_texture_s3tc\":s=e.getExtension(\"WEBGL_compressed_texture_s3tc\")||e.getExtension(\"MOZ_WEBGL_compressed_texture_s3tc\")||e.getExtension(\"WEBKIT_WEBGL_compressed_texture_s3tc\");break;case\"WEBGL_compressed_texture_pvrtc\":s=e.getExtension(\"WEBGL_compressed_texture_pvrtc\")||e.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\");break;default:s=e.getExtension(n)}return t[n]=s,s}return{has:function(e){return null!==n(e)},init:function(e){e.isWebGL2?n(\"EXT_color_buffer_float\"):(n(\"WEBGL_depth_texture\"),n(\"OES_texture_float\"),n(\"OES_texture_half_float\"),n(\"OES_texture_half_float_linear\"),n(\"OES_standard_derivatives\"),n(\"OES_element_index_uint\"),n(\"OES_vertex_array_object\"),n(\"ANGLE_instanced_arrays\")),n(\"OES_texture_float_linear\"),n(\"EXT_color_buffer_half_float\"),n(\"WEBGL_multisampled_render_to_texture\")},get:function(e){const t=n(e);return null===t&&console.warn(\"THREE.WebGLRenderer: \"+e+\" extension not supported.\"),t}}}function Hs(e,t,n,s){const i={},a=new WeakMap;function l(e){const r=e.target;null!==r.index&&t.remove(r.index);for(const e in r.attributes)t.remove(r.attributes[e]);r.removeEventListener(\"dispose\",l),delete i[r.id];const o=a.get(r);o&&(t.remove(o),a.delete(r)),s.releaseStatesOfGeometry(r),!0===r.isInstancedBufferGeometry&&delete r._maxInstanceCount,n.memory.geometries--}function r(e){const n=[],s=e.index,i=e.attributes.position;let l=0;if(null!==s){const e=s.array;l=s.version;for(let t=0,s=e.length;tt.maxTextureSize&&(S=Math.ceil(D/t.maxTextureSize),D=t.maxTextureSize);const b=new Float32Array(D*S*4*d),N=new Be(b,D,S,d);N.type=q,N.needsUpdate=!0;const O=4*R;for(let x=0;x0)return e;const i=t*n;let a=Xs[i];if(void 0===a&&(a=new Float32Array(i),Xs[i]=a),0!==t){s.toArray(a,0);for(let s=1,i=0;s!==t;++s)i+=n,e[s].toArray(a,i)}return a}function ei(e,t){if(e.length!==t.length)return!1;for(let n=0,s=e.length;n\":\" \"} ${i}: ${n[e]}`)}return s.join(\"\\n\")}(e.getShaderSource(t),s)}return i}function Qi(e,t){const n=function(e){switch(e){case Q:return[\"Linear\",\"( value )\"];case Z:return[\"sRGB\",\"( value )\"];default:return console.warn(\"THREE.WebGLProgram: Unsupported color space:\",e),[\"Linear\",\"( value )\"]}}(t);return\"vec4 \"+e+\"( vec4 value ) { return LinearTo\"+n[0]+n[1]+\"; }\"}function Ji(e,t){let n;switch(t){case I:n=\"Linear\";break;case m:n=\"Reinhard\";break;case y:n=\"OptimizedCineon\";break;case v:n=\"ACESFilmic\";break;case w:n=\"Custom\";break;default:console.warn(\"THREE.WebGLProgram: Unsupported toneMapping:\",t),n=\"Linear\"}return\"vec3 \"+e+\"( vec3 color ) { return \"+n+\"ToneMapping( color ); }\"}function $i(e){return\"\"!==e}function ea(e,t){const n=t.numSpotLightShadows+t.numSpotLightMaps-t.numSpotLightShadowsWithMaps;return e.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,t.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,n).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,t.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,t.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,t.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,t.numPointLightShadows)}function ta(e,t){return e.replace(/NUM_CLIPPING_PLANES/g,t.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,t.numClippingPlanes-t.numClipIntersection)}const na=/^[ \\t]*#include +<([\\w\\d./]+)>/gm;function sa(e){return e.replace(na,ia)}function ia(e,t){const n=hs[t];if(void 0===n)throw new Error(\"Can not resolve #include <\"+t+\">\");return sa(n)}const aa=/#pragma unroll_loop_start\\s+for\\s*\\(\\s*int\\s+i\\s*=\\s*(\\d+)\\s*;\\s*i\\s*<\\s*(\\d+)\\s*;\\s*i\\s*\\+\\+\\s*\\)\\s*{([\\s\\S]+?)}\\s+#pragma unroll_loop_end/g;function la(e){return e.replace(aa,ra)}function ra(e,t,n,s){let i=\"\";for(let e=parseInt(t);e0&&(b+=\"\\n\"),N=[R,D].filter($i).join(\"\\n\"),N.length>0&&(N+=\"\\n\")):(b=[oa(n),\"#define SHADER_NAME \"+n.shaderName,D,n.instancing?\"#define USE_INSTANCING\":\"\",n.instancingColor?\"#define USE_INSTANCING_COLOR\":\"\",n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp2?\"#define FOG_EXP2\":\"\",n.map?\"#define USE_MAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+y:\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.normalMapObjectSpace?\"#define USE_NORMALMAP_OBJECTSPACE\":\"\",n.normalMapTangentSpace?\"#define USE_NORMALMAP_TANGENTSPACE\":\"\",n.displacementMap?\"#define USE_DISPLACEMENTMAP\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",n.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",n.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",n.iridescenceMap?\"#define USE_IRIDESCENCEMAP\":\"\",n.iridescenceThicknessMap?\"#define USE_IRIDESCENCE_THICKNESSMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.specularColorMap?\"#define USE_SPECULAR_COLORMAP\":\"\",n.specularIntensityMap?\"#define USE_SPECULAR_INTENSITYMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.transmission?\"#define USE_TRANSMISSION\":\"\",n.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",n.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",n.sheenColorMap?\"#define USE_SHEEN_COLORMAP\":\"\",n.sheenRoughnessMap?\"#define USE_SHEEN_ROUGHNESSMAP\":\"\",n.mapUv?\"#define MAP_UV \"+n.mapUv:\"\",n.alphaMapUv?\"#define ALPHAMAP_UV \"+n.alphaMapUv:\"\",n.lightMapUv?\"#define LIGHTMAP_UV \"+n.lightMapUv:\"\",n.aoMapUv?\"#define AOMAP_UV \"+n.aoMapUv:\"\",n.emissiveMapUv?\"#define EMISSIVEMAP_UV \"+n.emissiveMapUv:\"\",n.bumpMapUv?\"#define BUMPMAP_UV \"+n.bumpMapUv:\"\",n.normalMapUv?\"#define NORMALMAP_UV \"+n.normalMapUv:\"\",n.displacementMapUv?\"#define DISPLACEMENTMAP_UV \"+n.displacementMapUv:\"\",n.metalnessMapUv?\"#define METALNESSMAP_UV \"+n.metalnessMapUv:\"\",n.roughnessMapUv?\"#define ROUGHNESSMAP_UV \"+n.roughnessMapUv:\"\",n.clearcoatMapUv?\"#define CLEARCOATMAP_UV \"+n.clearcoatMapUv:\"\",n.clearcoatNormalMapUv?\"#define CLEARCOAT_NORMALMAP_UV \"+n.clearcoatNormalMapUv:\"\",n.clearcoatRoughnessMapUv?\"#define CLEARCOAT_ROUGHNESSMAP_UV \"+n.clearcoatRoughnessMapUv:\"\",n.iridescenceMapUv?\"#define IRIDESCENCEMAP_UV \"+n.iridescenceMapUv:\"\",n.iridescenceThicknessMapUv?\"#define IRIDESCENCE_THICKNESSMAP_UV \"+n.iridescenceThicknessMapUv:\"\",n.sheenColorMapUv?\"#define SHEEN_COLORMAP_UV \"+n.sheenColorMapUv:\"\",n.sheenRoughnessMapUv?\"#define SHEEN_ROUGHNESSMAP_UV \"+n.sheenRoughnessMapUv:\"\",n.specularMapUv?\"#define SPECULARMAP_UV \"+n.specularMapUv:\"\",n.specularColorMapUv?\"#define SPECULAR_COLORMAP_UV \"+n.specularColorMapUv:\"\",n.specularIntensityMapUv?\"#define SPECULAR_INTENSITYMAP_UV \"+n.specularIntensityMapUv:\"\",n.transmissionMapUv?\"#define TRANSMISSIONMAP_UV \"+n.transmissionMapUv:\"\",n.thicknessMapUv?\"#define THICKNESSMAP_UV \"+n.thicknessMapUv:\"\",n.vertexTangents?\"#define USE_TANGENT\":\"\",n.vertexColors?\"#define USE_COLOR\":\"\",n.vertexAlphas?\"#define USE_COLOR_ALPHA\":\"\",n.vertexUv1s?\"#define USE_UV1\":\"\",n.vertexUv2s?\"#define USE_UV2\":\"\",n.vertexUv3s?\"#define USE_UV3\":\"\",n.pointsUvs?\"#define USE_POINTS_UV\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.skinning?\"#define USE_SKINNING\":\"\",n.morphTargets?\"#define USE_MORPHTARGETS\":\"\",n.morphNormals&&!1===n.flatShading?\"#define USE_MORPHNORMALS\":\"\",n.morphColors&&n.isWebGL2?\"#define USE_MORPHCOLORS\":\"\",n.morphTargetsCount>0&&n.isWebGL2?\"#define MORPHTARGETS_TEXTURE\":\"\",n.morphTargetsCount>0&&n.isWebGL2?\"#define MORPHTARGETS_TEXTURE_STRIDE \"+n.morphTextureStride:\"\",n.morphTargetsCount>0&&n.isWebGL2?\"#define MORPHTARGETS_COUNT \"+n.morphTargetsCount:\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+I:\"\",n.sizeAttenuation?\"#define USE_SIZEATTENUATION\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?\"#define USE_LOGDEPTHBUF_EXT\":\"\",\"uniform mat4 modelMatrix;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform mat4 viewMatrix;\",\"uniform mat3 normalMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",\"#ifdef USE_INSTANCING\",\"\\tattribute mat4 instanceMatrix;\",\"#endif\",\"#ifdef USE_INSTANCING_COLOR\",\"\\tattribute vec3 instanceColor;\",\"#endif\",\"attribute vec3 position;\",\"attribute vec3 normal;\",\"attribute vec2 uv;\",\"#ifdef USE_UV1\",\"\\tattribute vec2 uv1;\",\"#endif\",\"#ifdef USE_UV2\",\"\\tattribute vec2 uv2;\",\"#endif\",\"#ifdef USE_UV3\",\"\\tattribute vec2 uv3;\",\"#endif\",\"#ifdef USE_TANGENT\",\"\\tattribute vec4 tangent;\",\"#endif\",\"#if defined( USE_COLOR_ALPHA )\",\"\\tattribute vec4 color;\",\"#elif defined( USE_COLOR )\",\"\\tattribute vec3 color;\",\"#endif\",\"#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )\",\"\\tattribute vec3 morphTarget0;\",\"\\tattribute vec3 morphTarget1;\",\"\\tattribute vec3 morphTarget2;\",\"\\tattribute vec3 morphTarget3;\",\"\\t#ifdef USE_MORPHNORMALS\",\"\\t\\tattribute vec3 morphNormal0;\",\"\\t\\tattribute vec3 morphNormal1;\",\"\\t\\tattribute vec3 morphNormal2;\",\"\\t\\tattribute vec3 morphNormal3;\",\"\\t#else\",\"\\t\\tattribute vec3 morphTarget4;\",\"\\t\\tattribute vec3 morphTarget5;\",\"\\t\\tattribute vec3 morphTarget6;\",\"\\t\\tattribute vec3 morphTarget7;\",\"\\t#endif\",\"#endif\",\"#ifdef USE_SKINNING\",\"\\tattribute vec4 skinIndex;\",\"\\tattribute vec4 skinWeight;\",\"#endif\",\"\\n\"].filter($i).join(\"\\n\"),N=[R,oa(n),\"#define SHADER_NAME \"+n.shaderName,D,n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp2?\"#define FOG_EXP2\":\"\",n.map?\"#define USE_MAP\":\"\",n.matcap?\"#define USE_MATCAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+m:\"\",n.envMap?\"#define \"+y:\"\",n.envMap?\"#define \"+v:\"\",w?\"#define CUBEUV_TEXEL_WIDTH \"+w.texelWidth:\"\",w?\"#define CUBEUV_TEXEL_HEIGHT \"+w.texelHeight:\"\",w?\"#define CUBEUV_MAX_MIP \"+w.maxMip+\".0\":\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.normalMapObjectSpace?\"#define USE_NORMALMAP_OBJECTSPACE\":\"\",n.normalMapTangentSpace?\"#define USE_NORMALMAP_TANGENTSPACE\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.clearcoat?\"#define USE_CLEARCOAT\":\"\",n.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",n.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",n.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",n.iridescence?\"#define USE_IRIDESCENCE\":\"\",n.iridescenceMap?\"#define USE_IRIDESCENCEMAP\":\"\",n.iridescenceThicknessMap?\"#define USE_IRIDESCENCE_THICKNESSMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.specularColorMap?\"#define USE_SPECULAR_COLORMAP\":\"\",n.specularIntensityMap?\"#define USE_SPECULAR_INTENSITYMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.alphaTest?\"#define USE_ALPHATEST\":\"\",n.sheen?\"#define USE_SHEEN\":\"\",n.sheenColorMap?\"#define USE_SHEEN_COLORMAP\":\"\",n.sheenRoughnessMap?\"#define USE_SHEEN_ROUGHNESSMAP\":\"\",n.transmission?\"#define USE_TRANSMISSION\":\"\",n.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",n.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",n.vertexTangents?\"#define USE_TANGENT\":\"\",n.vertexColors||n.instancingColor?\"#define USE_COLOR\":\"\",n.vertexAlphas?\"#define USE_COLOR_ALPHA\":\"\",n.vertexUv1s?\"#define USE_UV1\":\"\",n.vertexUv2s?\"#define USE_UV2\":\"\",n.vertexUv3s?\"#define USE_UV3\":\"\",n.pointsUvs?\"#define USE_POINTS_UV\":\"\",n.gradientMap?\"#define USE_GRADIENTMAP\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+I:\"\",n.premultipliedAlpha?\"#define PREMULTIPLIED_ALPHA\":\"\",n.useLegacyLights?\"#define LEGACY_LIGHTS\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?\"#define USE_LOGDEPTHBUF_EXT\":\"\",\"uniform mat4 viewMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",n.toneMapping!==f?\"#define TONE_MAPPING\":\"\",n.toneMapping!==f?hs.tonemapping_pars_fragment:\"\",n.toneMapping!==f?Ji(\"toneMapping\",n.toneMapping):\"\",n.dithering?\"#define DITHERING\":\"\",n.opaque?\"#define OPAQUE\":\"\",hs.encodings_pars_fragment,Qi(\"linearToOutputTexel\",n.outputColorSpace),n.useDepthPacking?\"#define DEPTH_PACKING \"+n.depthPacking:\"\",\"\\n\"].filter($i).join(\"\\n\")),c=sa(c),c=ea(c,n),c=ta(c,n),u=sa(u),u=ea(u,n),u=ta(u,n),c=la(c),u=la(u),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(O=\"#version 300 es\\n\",b=[\"precision mediump sampler2DArray;\",\"#define attribute in\",\"#define varying out\",\"#define texture2D texture\"].join(\"\\n\")+\"\\n\"+b,N=[\"#define varying in\",n.glslVersion===ee?\"\":\"layout(location = 0) out highp vec4 pc_fragColor;\",n.glslVersion===ee?\"\":\"#define gl_FragColor pc_fragColor\",\"#define gl_FragDepthEXT gl_FragDepth\",\"#define texture2D texture\",\"#define textureCube texture\",\"#define texture2DProj textureProj\",\"#define texture2DLodEXT textureLod\",\"#define texture2DProjLodEXT textureProjLod\",\"#define textureCubeLodEXT textureLod\",\"#define texture2DGradEXT textureGrad\",\"#define texture2DProjGradEXT textureProjGrad\",\"#define textureCubeGradEXT textureGrad\"].join(\"\\n\")+\"\\n\"+N);const A=O+b+c,x=O+N+u,C=Xi(r,r.VERTEX_SHADER,A),L=Xi(r,r.FRAGMENT_SHADER,x);if(r.attachShader(S,C),r.attachShader(S,L),void 0!==n.index0AttributeName?r.bindAttribLocation(S,0,n.index0AttributeName):!0===n.morphTargets&&r.bindAttribLocation(S,0,\"position\"),r.linkProgram(S),e.debug.checkShaderErrors){const t=r.getProgramInfoLog(S).trim(),n=r.getShaderInfoLog(C).trim(),s=r.getShaderInfoLog(L).trim();let i=!0,a=!0;if(!1===r.getProgramParameter(S,r.LINK_STATUS))if(i=!1,\"function\"==typeof e.debug.onShaderError)e.debug.onShaderError(r,S,C,L);else{const e=Zi(r,C,\"vertex\"),n=Zi(r,L,\"fragment\");console.error(\"THREE.WebGLProgram: Shader Error \"+r.getError()+\" - VALIDATE_STATUS \"+r.getProgramParameter(S,r.VALIDATE_STATUS)+\"\\n\\nProgram Info Log: \"+t+\"\\n\"+e+\"\\n\"+n)}else\"\"!==t?console.warn(\"THREE.WebGLProgram: Program Info Log:\",t):\"\"!==n&&\"\"!==s||(a=!1);a&&(this.diagnostics={runnable:i,programLog:t,vertexShader:{log:n,prefix:b},fragmentShader:{log:s,prefix:N}})}let P,q;return r.deleteShader(C),r.deleteShader(L),this.getUniforms=function(){return void 0===P&&(P=new Yi(r,S)),P},this.getAttributes=function(){return void 0===q&&(q=function(e,t){const n={},s=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES);for(let i=0;i0,K=a.iridescence>0,Z=a.sheen>0,J=a.transmission>0,$=X&&!!a.clearcoatMap,ee=X&&!!a.clearcoatNormalMap,te=X&&!!a.clearcoatRoughnessMap,ne=K&&!!a.iridescenceMap,se=K&&!!a.iridescenceThicknessMap,ie=Z&&!!a.sheenColorMap,ae=Z&&!!a.sheenRoughnessMap,le=!!a.specularMap,re=!!a.specularColorMap,oe=!!a.specularIntensityMap,ce=J&&!!a.transmissionMap,ue=J&&!!a.thicknessMap,pe=!!a.gradientMap,he=!!a.alphaMap,de=a.alphaTest>0,fe=!!a.extensions,Ie=!!R.attributes.uv1,me=!!R.attributes.uv2,ye=!!R.attributes.uv3;return{isWebGL2:h,shaderID:N,shaderName:a.type,vertexShader:x,fragmentShader:C,defines:a.defines,customVertexShaderID:L,customFragmentShaderID:P,isRawShaderMaterial:!0===a.isRawShaderMaterial,glslVersion:a.glslVersion,precision:m,instancing:M,instancingColor:M&&null!==T.instanceColor,supportsVertexTextures:I,outputColorSpace:null===_?e.outputColorSpace:!0===_.isXRRenderTarget?_.texture.colorSpace:Q,map:H,matcap:B,envMap:U,envMapMode:U&&S.mapping,envMapCubeUVHeight:b,aoMap:F,lightMap:G,bumpMap:V,normalMap:j,displacementMap:I&&z,emissiveMap:W,normalMapObjectSpace:j&&1===a.normalMapType,normalMapTangentSpace:j&&0===a.normalMapType,metalnessMap:k,roughnessMap:Y,clearcoat:X,clearcoatMap:$,clearcoatNormalMap:ee,clearcoatRoughnessMap:te,iridescence:K,iridescenceMap:ne,iridescenceThicknessMap:se,sheen:Z,sheenColorMap:ie,sheenRoughnessMap:ae,specularMap:le,specularColorMap:re,specularIntensityMap:oe,transmission:J,transmissionMap:ce,thicknessMap:ue,gradientMap:pe,opaque:!1===a.transparent&&1===a.blending,alphaMap:he,alphaTest:de,combine:a.combine,mapUv:H&&v(a.map.channel),aoMapUv:F&&v(a.aoMap.channel),lightMapUv:G&&v(a.lightMap.channel),bumpMapUv:V&&v(a.bumpMap.channel),normalMapUv:j&&v(a.normalMap.channel),displacementMapUv:z&&v(a.displacementMap.channel),emissiveMapUv:W&&v(a.emissiveMap.channel),metalnessMapUv:k&&v(a.metalnessMap.channel),roughnessMapUv:Y&&v(a.roughnessMap.channel),clearcoatMapUv:$&&v(a.clearcoatMap.channel),clearcoatNormalMapUv:ee&&v(a.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:te&&v(a.clearcoatRoughnessMap.channel),iridescenceMapUv:ne&&v(a.iridescenceMap.channel),iridescenceThicknessMapUv:se&&v(a.iridescenceThicknessMap.channel),sheenColorMapUv:ie&&v(a.sheenColorMap.channel),sheenRoughnessMapUv:ae&&v(a.sheenRoughnessMap.channel),specularMapUv:le&&v(a.specularMap.channel),specularColorMapUv:re&&v(a.specularColorMap.channel),specularIntensityMapUv:oe&&v(a.specularIntensityMap.channel),transmissionMapUv:ce&&v(a.transmissionMap.channel),thicknessMapUv:ue&&v(a.thicknessMap.channel),alphaMapUv:he&&v(a.alphaMap.channel),vertexTangents:j&&!!R.attributes.tangent,vertexColors:a.vertexColors,vertexAlphas:!0===a.vertexColors&&!!R.attributes.color&&4===R.attributes.color.itemSize,vertexUv1s:Ie,vertexUv2s:me,vertexUv3s:ye,pointsUvs:!0===T.isPoints&&!!R.attributes.uv&&(H||he),fog:!!E,useFog:!0===a.fog,fogExp2:E&&E.isFogExp2,flatShading:!0===a.flatShading,sizeAttenuation:!0===a.sizeAttenuation,logarithmicDepthBuffer:d,skinning:!0===T.isSkinnedMesh,morphTargets:void 0!==R.morphAttributes.position,morphNormals:void 0!==R.morphAttributes.normal,morphColors:void 0!==R.morphAttributes.color,morphTargetsCount:A,morphTextureStride:q,numDirLights:r.directional.length,numPointLights:r.point.length,numSpotLights:r.spot.length,numSpotLightMaps:r.spotLightMap.length,numRectAreaLights:r.rectArea.length,numHemiLights:r.hemi.length,numDirLightShadows:r.directionalShadowMap.length,numPointLightShadows:r.pointShadowMap.length,numSpotLightShadows:r.spotShadowMap.length,numSpotLightShadowsWithMaps:r.numSpotLightShadowsWithMaps,numClippingPlanes:l.numPlanes,numClipIntersection:l.numIntersection,dithering:a.dithering,shadowMapEnabled:e.shadowMap.enabled&&p.length>0,shadowMapType:e.shadowMap.type,toneMapping:a.toneMapped?e.toneMapping:f,useLegacyLights:e.useLegacyLights,premultipliedAlpha:a.premultipliedAlpha,doubleSided:a.side===c,flipSided:a.side===o,useDepthPacking:a.depthPacking>=0,depthPacking:a.depthPacking||0,index0AttributeName:a.index0AttributeName,extensionDerivatives:fe&&!0===a.extensions.derivatives,extensionFragDepth:fe&&!0===a.extensions.fragDepth,extensionDrawBuffers:fe&&!0===a.extensions.drawBuffers,extensionShaderTextureLOD:fe&&!0===a.extensions.shaderTextureLOD,rendererExtensionFragDepth:h||s.has(\"EXT_frag_depth\"),rendererExtensionDrawBuffers:h||s.has(\"WEBGL_draw_buffers\"),rendererExtensionShaderTextureLod:h||s.has(\"EXT_shader_texture_lod\"),customProgramCacheKey:a.customProgramCacheKey()}},getProgramCacheKey:function(t){const n=[];if(t.shaderID?n.push(t.shaderID):(n.push(t.customVertexShaderID),n.push(t.customFragmentShaderID)),void 0!==t.defines)for(const e in t.defines)n.push(e),n.push(t.defines[e]);return!1===t.isRawShaderMaterial&&(function(e,t){e.push(t.precision),e.push(t.outputColorSpace),e.push(t.envMapMode),e.push(t.envMapCubeUVHeight),e.push(t.mapUv),e.push(t.alphaMapUv),e.push(t.lightMapUv),e.push(t.aoMapUv),e.push(t.bumpMapUv),e.push(t.normalMapUv),e.push(t.displacementMapUv),e.push(t.emissiveMapUv),e.push(t.metalnessMapUv),e.push(t.roughnessMapUv),e.push(t.clearcoatMapUv),e.push(t.clearcoatNormalMapUv),e.push(t.clearcoatRoughnessMapUv),e.push(t.iridescenceMapUv),e.push(t.iridescenceThicknessMapUv),e.push(t.sheenColorMapUv),e.push(t.sheenRoughnessMapUv),e.push(t.specularMapUv),e.push(t.specularColorMapUv),e.push(t.specularIntensityMapUv),e.push(t.transmissionMapUv),e.push(t.thicknessMapUv),e.push(t.combine),e.push(t.fogExp2),e.push(t.sizeAttenuation),e.push(t.morphTargetsCount),e.push(t.morphAttributeCount),e.push(t.numDirLights),e.push(t.numPointLights),e.push(t.numSpotLights),e.push(t.numSpotLightMaps),e.push(t.numHemiLights),e.push(t.numRectAreaLights),e.push(t.numDirLightShadows),e.push(t.numPointLightShadows),e.push(t.numSpotLightShadows),e.push(t.numSpotLightShadowsWithMaps),e.push(t.shadowMapType),e.push(t.toneMapping),e.push(t.numClippingPlanes),e.push(t.numClipIntersection),e.push(t.depthPacking)}(n,t),function(e,t){r.disableAll(),t.isWebGL2&&r.enable(0),t.supportsVertexTextures&&r.enable(1),t.instancing&&r.enable(2),t.instancingColor&&r.enable(3),t.matcap&&r.enable(4),t.envMap&&r.enable(5),t.normalMapObjectSpace&&r.enable(6),t.normalMapTangentSpace&&r.enable(7),t.clearcoat&&r.enable(8),t.iridescence&&r.enable(9),t.alphaTest&&r.enable(10),t.vertexColors&&r.enable(11),t.vertexAlphas&&r.enable(12),t.vertexUv1s&&r.enable(13),t.vertexUv2s&&r.enable(14),t.vertexUv3s&&r.enable(15),t.vertexTangents&&r.enable(16),e.push(r.mask),r.disableAll(),t.fog&&r.enable(0),t.useFog&&r.enable(1),t.flatShading&&r.enable(2),t.logarithmicDepthBuffer&&r.enable(3),t.skinning&&r.enable(4),t.morphTargets&&r.enable(5),t.morphNormals&&r.enable(6),t.morphColors&&r.enable(7),t.premultipliedAlpha&&r.enable(8),t.shadowMapEnabled&&r.enable(9),t.useLegacyLights&&r.enable(10),t.doubleSided&&r.enable(11),t.flipSided&&r.enable(12),t.useDepthPacking&&r.enable(13),t.dithering&&r.enable(14),t.transmission&&r.enable(15),t.sheen&&r.enable(16),t.opaque&&r.enable(17),t.pointsUvs&&r.enable(18),e.push(r.mask)}(n,t),n.push(e.outputColorSpace)),n.push(t.customProgramCacheKey),n.join()},getUniforms:function(e){const t=y[e.type];let n;if(t){const e=fs[t];n=Xn.clone(e.uniforms)}else n=e.uniforms;return n},acquireProgram:function(t,n){let s;for(let e=0,t=p.length;e0?s.push(u):!0===l.transparent?i.push(u):n.push(u)},unshift:function(e,t,l,r,o,c){const u=a(e,t,l,r,o,c);l.transmission>0?s.unshift(u):!0===l.transparent?i.unshift(u):n.unshift(u)},finish:function(){for(let n=t,s=e.length;n1&&n.sort(e||Ia),s.length>1&&s.sort(t||ma),i.length>1&&i.sort(t||ma)}}}function va(){let e=new WeakMap;return{get:function(t,n){const s=e.get(t);let i;return void 0===s?(i=new ya,e.set(t,[i])):n>=s.length?(i=new ya,s.push(i)):i=s[n],i},dispose:function(){e=new WeakMap}}}function wa(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case\"DirectionalLight\":n={direction:new Ge,color:new on};break;case\"SpotLight\":n={position:new Ge,direction:new Ge,color:new on,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case\"PointLight\":n={position:new Ge,color:new on,distance:0,decay:0};break;case\"HemisphereLight\":n={direction:new Ge,skyColor:new on,groundColor:new on};break;case\"RectAreaLight\":n={color:new on,position:new Ge,halfWidth:new Ge,halfHeight:new Ge}}return e[t.id]=n,n}}}let Ta=0;function Ea(e,t){return(t.castShadow?2:0)-(e.castShadow?2:0)+(t.map?1:0)-(e.map?1:0)}function ga(e,t){const n=new wa,s=function(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case\"DirectionalLight\":case\"SpotLight\":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new me};break;case\"PointLight\":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new me,shadowCameraNear:1,shadowCameraFar:1e3}}return e[t.id]=n,n}}}(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0};for(let e=0;e<9;e++)i.probe.push(new Ge);const a=new Ge,l=new yt,r=new yt;return{setup:function(a,l){let r=0,o=0,c=0;for(let e=0;e<9;e++)i.probe[e].set(0,0,0);let u=0,p=0,h=0,d=0,f=0,I=0,m=0,y=0,v=0,w=0;a.sort(Ea);const T=!0===l?Math.PI:1;for(let e=0,t=a.length;e0&&(t.isWebGL2||!0===e.has(\"OES_texture_float_linear\")?(i.rectAreaLTC1=ds.LTC_FLOAT_1,i.rectAreaLTC2=ds.LTC_FLOAT_2):!0===e.has(\"OES_texture_half_float_linear\")?(i.rectAreaLTC1=ds.LTC_HALF_1,i.rectAreaLTC2=ds.LTC_HALF_2):console.error(\"THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.\")),i.ambient[0]=r,i.ambient[1]=o,i.ambient[2]=c;const E=i.hash;E.directionalLength===u&&E.pointLength===p&&E.spotLength===h&&E.rectAreaLength===d&&E.hemiLength===f&&E.numDirectionalShadows===I&&E.numPointShadows===m&&E.numSpotShadows===y&&E.numSpotMaps===v||(i.directional.length=u,i.spot.length=h,i.rectArea.length=d,i.point.length=p,i.hemi.length=f,i.directionalShadow.length=I,i.directionalShadowMap.length=I,i.pointShadow.length=m,i.pointShadowMap.length=m,i.spotShadow.length=y,i.spotShadowMap.length=y,i.directionalShadowMatrix.length=I,i.pointShadowMatrix.length=m,i.spotLightMatrix.length=y+v-w,i.spotLightMap.length=v,i.numSpotLightShadowsWithMaps=w,E.directionalLength=u,E.pointLength=p,E.spotLength=h,E.rectAreaLength=d,E.hemiLength=f,E.numDirectionalShadows=I,E.numPointShadows=m,E.numSpotShadows=y,E.numSpotMaps=v,i.version=Ta++)},setupView:function(e,t){let n=0,s=0,o=0,c=0,u=0;const p=t.matrixWorldInverse;for(let t=0,h=e.length;t=a.length?(l=new Ra(e,t),a.push(l)):l=a[i],l},dispose:function(){n=new WeakMap}}}class Sa extends nn{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type=\"MeshDepthMaterial\",this.depthPacking=3200,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class ba extends nn{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type=\"MeshDistanceMaterial\",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}function Na(e,t,n){let s=new os;const a=new me,u=new me,p=new Me,h=new Sa({depthPacking:3201}),d=new ba,f={},I=n.maxTextureSize,m={[r]:o,[o]:r,[c]:c},y=new Kn({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new me},radius:{value:4}},vertexShader:\"void main() {\\n\\tgl_Position = vec4( position, 1.0 );\\n}\",fragmentShader:\"uniform sampler2D shadow_pass;\\nuniform vec2 resolution;\\nuniform float radius;\\n#include \\nvoid main() {\\n\\tconst float samples = float( VSM_SAMPLES );\\n\\tfloat mean = 0.0;\\n\\tfloat squared_mean = 0.0;\\n\\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\\n\\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\\n\\tfor ( float i = 0.0; i < samples; i ++ ) {\\n\\t\\tfloat uvOffset = uvStart + i * uvStride;\\n\\t\\t#ifdef HORIZONTAL_PASS\\n\\t\\t\\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\\n\\t\\t\\tmean += distribution.x;\\n\\t\\t\\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\\n\\t\\t#else\\n\\t\\t\\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\\n\\t\\t\\tmean += depth;\\n\\t\\t\\tsquared_mean += depth * depth;\\n\\t\\t#endif\\n\\t}\\n\\tmean = mean / samples;\\n\\tsquared_mean = squared_mean / samples;\\n\\tfloat std_dev = sqrt( squared_mean - mean * mean );\\n\\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\\n}\"}),v=y.clone();v.defines.HORIZONTAL_PASS=1;const w=new Dn;w.setAttribute(\"position\",new dn(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const T=new Vn(w,y),E=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=i;let g=this.type;function R(n,s){const i=t.update(T);y.defines.VSM_SAMPLES!==n.blurSamples&&(y.defines.VSM_SAMPLES=n.blurSamples,v.defines.VSM_SAMPLES=n.blurSamples,y.needsUpdate=!0,v.needsUpdate=!0),null===n.mapPass&&(n.mapPass=new He(a.x,a.y)),y.uniforms.shadow_pass.value=n.map.texture,y.uniforms.resolution.value=n.mapSize,y.uniforms.radius.value=n.radius,e.setRenderTarget(n.mapPass),e.clear(),e.renderBufferDirect(s,null,i,y,T,null),v.uniforms.shadow_pass.value=n.mapPass.texture,v.uniforms.resolution.value=n.mapSize,v.uniforms.radius.value=n.radius,e.setRenderTarget(n.map),e.clear(),e.renderBufferDirect(s,null,i,v,T,null)}function D(t,n,s,i){let a=null;const r=!0===s.isPointLight?t.customDistanceMaterial:t.customDepthMaterial;if(void 0!==r)a=r;else if(a=!0===s.isPointLight?d:h,e.localClippingEnabled&&!0===n.clipShadows&&Array.isArray(n.clippingPlanes)&&0!==n.clippingPlanes.length||n.displacementMap&&0!==n.displacementScale||n.alphaMap&&n.alphaTest>0||n.map&&n.alphaTest>0){const e=a.uuid,t=n.uuid;let s=f[e];void 0===s&&(s={},f[e]=s);let i=s[t];void 0===i&&(i=a.clone(),s[t]=i),a=i}return a.visible=n.visible,a.wireframe=n.wireframe,a.side=i===l?null!==n.shadowSide?n.shadowSide:n.side:null!==n.shadowSide?n.shadowSide:m[n.side],a.alphaMap=n.alphaMap,a.alphaTest=n.alphaTest,a.map=n.map,a.clipShadows=n.clipShadows,a.clippingPlanes=n.clippingPlanes,a.clipIntersection=n.clipIntersection,a.displacementMap=n.displacementMap,a.displacementScale=n.displacementScale,a.displacementBias=n.displacementBias,a.wireframeLinewidth=n.wireframeLinewidth,a.linewidth=n.linewidth,!0===s.isPointLight&&!0===a.isMeshDistanceMaterial&&(e.properties.get(a).light=s),a}function S(n,i,a,r,o){if(!1===n.visible)return;if(n.layers.test(i.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&o===l)&&(!n.frustumCulled||s.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(a.matrixWorldInverse,n.matrixWorld);const s=t.update(n),i=n.material;if(Array.isArray(i)){const t=s.groups;for(let l=0,c=t.length;lI||a.y>I)&&(a.x>I&&(u.x=Math.floor(I/m.x),a.x=u.x*m.x,c.mapSize.x=u.x),a.y>I&&(u.y=Math.floor(I/m.y),a.y=u.y*m.y,c.mapSize.y=u.y)),null===c.map||!0===d||!0===f){const e=this.type!==l?{minFilter:b,magFilter:b}:{};null!==c.map&&c.map.dispose(),c.map=new He(a.x,a.y,e),c.map.texture.name=o.name+\".shadowMap\",c.camera.updateProjectionMatrix()}e.setRenderTarget(c.map),e.clear();const y=c.getViewportCount();for(let e=0;e=1):-1!==q.indexOf(\"OpenGL ES\")&&(P=parseFloat(/^OpenGL ES (\\d)/.exec(q)[1]),L=P>=2);let _=null,M={};const H=e.getParameter(e.SCISSOR_BOX),B=e.getParameter(e.VIEWPORT),U=(new Me).fromArray(H),F=(new Me).fromArray(B);function G(t,n,i,a){const l=new Uint8Array(4),r=e.createTexture();e.bindTexture(t,r),e.texParameteri(t,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(t,e.TEXTURE_MAG_FILTER,e.NEAREST);for(let r=0;rs||e.height>s)&&(i=s/Math.max(e.width,e.height)),i<1||!0===t){if(\"undefined\"!=typeof HTMLImageElement&&e instanceof HTMLImageElement||\"undefined\"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||\"undefined\"!=typeof ImageBitmap&&e instanceof ImageBitmap){const s=t?he:Math.floor,a=s(i*e.width),l=s(i*e.height);void 0===I&&(I=v(a,l));const r=n?v(a,l):I;return r.width=a,r.height=l,r.getContext(\"2d\").drawImage(e,0,0,a,l),console.warn(\"THREE.WebGLRenderer: Texture has been resized from (\"+e.width+\"x\"+e.height+\") to (\"+a+\"x\"+l+\").\"),r}return\"data\"in e&&console.warn(\"THREE.WebGLRenderer: Image in DataTexture is too big (\"+e.width+\"x\"+e.height+\").\"),e}return e}function T(e){return pe(e.width)&&pe(e.height)}function E(e,t){return e.generateMipmaps&&t&&e.minFilter!==b&&e.minFilter!==A}function g(t){e.generateMipmap(t)}function F(n,s,i,a,l=!1){if(!1===r)return s;if(null!==n){if(void 0!==e[n])return e[n];console.warn(\"THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '\"+n+\"'\")}let o=s;return s===e.RED&&(i===e.FLOAT&&(o=e.R32F),i===e.HALF_FLOAT&&(o=e.R16F),i===e.UNSIGNED_BYTE&&(o=e.R8)),s===e.RG&&(i===e.FLOAT&&(o=e.RG32F),i===e.HALF_FLOAT&&(o=e.RG16F),i===e.UNSIGNED_BYTE&&(o=e.RG8)),s===e.RGBA&&(i===e.FLOAT&&(o=e.RGBA32F),i===e.HALF_FLOAT&&(o=e.RGBA16F),i===e.UNSIGNED_BYTE&&(o=a===Z&&!1===l?e.SRGB8_ALPHA8:e.RGBA8),i===e.UNSIGNED_SHORT_4_4_4_4&&(o=e.RGBA4),i===e.UNSIGNED_SHORT_5_5_5_1&&(o=e.RGB5_A1)),o!==e.R16F&&o!==e.R32F&&o!==e.RG16F&&o!==e.RG32F&&o!==e.RGBA16F&&o!==e.RGBA32F||t.get(\"EXT_color_buffer_float\"),o}function G(e,t,n){return!0===E(e,n)||e.isFramebufferTexture&&e.minFilter!==b&&e.minFilter!==A?Math.log2(Math.max(t.width,t.height))+1:void 0!==e.mipmaps&&e.mipmaps.length>0?e.mipmaps.length:e.isCompressedTexture&&Array.isArray(e.image)?t.mipmaps.length:1}function V(t){return t===b||t===N||t===O?e.NEAREST:e.LINEAR}function j(e){const t=e.target;t.removeEventListener(\"dispose\",j),function(e){const t=s.get(e);if(void 0===t.__webglInit)return;const n=e.source,i=m.get(n);if(i){const s=i[t.__cacheKey];s.usedTimes--,0===s.usedTimes&&W(e),0===Object.keys(i).length&&m.delete(n)}s.remove(e)}(t),t.isVideoTexture&&f.delete(t)}function z(t){const n=t.target;n.removeEventListener(\"dispose\",z),function(t){const n=t.texture,i=s.get(t),a=s.get(n);if(void 0!==a.__webglTexture&&(e.deleteTexture(a.__webglTexture),l.memory.textures--),t.depthTexture&&t.depthTexture.dispose(),t.isWebGLCubeRenderTarget)for(let t=0;t<6;t++)e.deleteFramebuffer(i.__webglFramebuffer[t]),i.__webglDepthbuffer&&e.deleteRenderbuffer(i.__webglDepthbuffer[t]);else{if(e.deleteFramebuffer(i.__webglFramebuffer),i.__webglDepthbuffer&&e.deleteRenderbuffer(i.__webglDepthbuffer),i.__webglMultisampledFramebuffer&&e.deleteFramebuffer(i.__webglMultisampledFramebuffer),i.__webglColorRenderbuffer)for(let t=0;t0&&a.__version!==t.version){const e=t.image;if(null===e)console.warn(\"THREE.WebGLRenderer: Texture marked for update but no image data found.\");else{if(!1!==e.complete)return void ne(a,t,i);console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is incomplete\")}}n.bindTexture(e.TEXTURE_2D,a.__webglTexture,e.TEXTURE0+i)}const X={[R]:e.REPEAT,[D]:e.CLAMP_TO_EDGE,[S]:e.MIRRORED_REPEAT},J={[b]:e.NEAREST,[N]:e.NEAREST_MIPMAP_NEAREST,[O]:e.NEAREST_MIPMAP_LINEAR,[A]:e.LINEAR,[x]:e.LINEAR_MIPMAP_NEAREST,[C]:e.LINEAR_MIPMAP_LINEAR};function $(n,a,l){if(l?(e.texParameteri(n,e.TEXTURE_WRAP_S,X[a.wrapS]),e.texParameteri(n,e.TEXTURE_WRAP_T,X[a.wrapT]),n!==e.TEXTURE_3D&&n!==e.TEXTURE_2D_ARRAY||e.texParameteri(n,e.TEXTURE_WRAP_R,X[a.wrapR]),e.texParameteri(n,e.TEXTURE_MAG_FILTER,J[a.magFilter]),e.texParameteri(n,e.TEXTURE_MIN_FILTER,J[a.minFilter])):(e.texParameteri(n,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(n,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),n!==e.TEXTURE_3D&&n!==e.TEXTURE_2D_ARRAY||e.texParameteri(n,e.TEXTURE_WRAP_R,e.CLAMP_TO_EDGE),a.wrapS===D&&a.wrapT===D||console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.\"),e.texParameteri(n,e.TEXTURE_MAG_FILTER,V(a.magFilter)),e.texParameteri(n,e.TEXTURE_MIN_FILTER,V(a.minFilter)),a.minFilter!==b&&a.minFilter!==A&&console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.\")),!0===t.has(\"EXT_texture_filter_anisotropic\")){const l=t.get(\"EXT_texture_filter_anisotropic\");if(a.magFilter===b)return;if(a.minFilter!==O&&a.minFilter!==C)return;if(a.type===q&&!1===t.has(\"OES_texture_float_linear\"))return;if(!1===r&&a.type===_&&!1===t.has(\"OES_texture_half_float_linear\"))return;(a.anisotropy>1||s.get(a).__currentAnisotropy)&&(e.texParameterf(n,l.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,i.getMaxAnisotropy())),s.get(a).__currentAnisotropy=a.anisotropy)}}function ee(t,n){let s=!1;void 0===t.__webglInit&&(t.__webglInit=!0,n.addEventListener(\"dispose\",j));const i=n.source;let a=m.get(i);void 0===a&&(a={},m.set(i,a));const r=function(e){const t=[];return t.push(e.wrapS),t.push(e.wrapT),t.push(e.wrapR||0),t.push(e.magFilter),t.push(e.minFilter),t.push(e.anisotropy),t.push(e.internalFormat),t.push(e.format),t.push(e.type),t.push(e.generateMipmaps),t.push(e.premultiplyAlpha),t.push(e.flipY),t.push(e.unpackAlignment),t.push(e.colorSpace),t.join()}(n);if(r!==t.__cacheKey){void 0===a[r]&&(a[r]={texture:e.createTexture(),usedTimes:0},l.memory.textures++,s=!0),a[r].usedTimes++;const i=a[t.__cacheKey];void 0!==i&&(a[t.__cacheKey].usedTimes--,0===i.usedTimes&&W(n)),t.__cacheKey=r,t.__webglTexture=a[r].texture}return s}function ne(t,i,l){let o=e.TEXTURE_2D;(i.isDataArrayTexture||i.isCompressedArrayTexture)&&(o=e.TEXTURE_2D_ARRAY),i.isData3DTexture&&(o=e.TEXTURE_3D);const c=ee(t,i),p=i.source;n.bindTexture(o,t.__webglTexture,e.TEXTURE0+l);const h=s.get(p);if(p.version!==h.__version||!0===c){n.activeTexture(e.TEXTURE0+l),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,i.flipY),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.premultiplyAlpha),e.pixelStorei(e.UNPACK_ALIGNMENT,i.unpackAlignment),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.NONE);const t=function(e){return!r&&(e.wrapS!==D||e.wrapT!==D||e.minFilter!==b&&e.minFilter!==A)}(i)&&!1===T(i.image);let s=w(i.image,t,!1,u);s=oe(i,s);const d=T(s)||r,f=a.convert(i.format,i.colorSpace);let I,m=a.convert(i.type),y=F(i.internalFormat,f,m,i.colorSpace);$(o,i,d);const v=i.mipmaps,R=r&&!0!==i.isVideoTexture,S=void 0===h.__version||!0===c,N=G(i,s,d);if(i.isDepthTexture)y=e.DEPTH_COMPONENT,r?y=i.type===q?e.DEPTH_COMPONENT32F:i.type===P?e.DEPTH_COMPONENT24:i.type===M?e.DEPTH24_STENCIL8:e.DEPTH_COMPONENT16:i.type===q&&console.error(\"WebGLRenderer: Floating point depth texture requires WebGL2.\"),i.format===B&&y===e.DEPTH_COMPONENT&&1012!==i.type&&i.type!==P&&(console.warn(\"THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.\"),i.type=P,m=a.convert(i.type)),i.format===U&&y===e.DEPTH_COMPONENT&&(y=e.DEPTH_STENCIL,i.type!==M&&(console.warn(\"THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.\"),i.type=M,m=a.convert(i.type))),S&&(R?n.texStorage2D(e.TEXTURE_2D,1,y,s.width,s.height):n.texImage2D(e.TEXTURE_2D,0,y,s.width,s.height,0,f,m,null));else if(i.isDataTexture)if(v.length>0&&d){R&&S&&n.texStorage2D(e.TEXTURE_2D,N,y,v[0].width,v[0].height);for(let t=0,s=v.length;t>=1,i>>=1}}else if(v.length>0&&d){R&&S&&n.texStorage2D(e.TEXTURE_2D,N,y,v[0].width,v[0].height);for(let t=0,s=v.length;t=e.TEXTURE_CUBE_MAP_POSITIVE_X&&o<=e.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&e.framebufferTexture2D(e.FRAMEBUFFER,r,o,s.get(l).__webglTexture,0),n.bindFramebuffer(e.FRAMEBUFFER,null)}function ie(t,n,s){if(e.bindRenderbuffer(e.RENDERBUFFER,t),n.depthBuffer&&!n.stencilBuffer){let i=e.DEPTH_COMPONENT16;if(s||re(n)){const t=n.depthTexture;t&&t.isDepthTexture&&(t.type===q?i=e.DEPTH_COMPONENT32F:t.type===P&&(i=e.DEPTH_COMPONENT24));const s=le(n);re(n)?h.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,s,i,n.width,n.height):e.renderbufferStorageMultisample(e.RENDERBUFFER,s,i,n.width,n.height)}else e.renderbufferStorage(e.RENDERBUFFER,i,n.width,n.height);e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t)}else if(n.depthBuffer&&n.stencilBuffer){const i=le(n);s&&!1===re(n)?e.renderbufferStorageMultisample(e.RENDERBUFFER,i,e.DEPTH24_STENCIL8,n.width,n.height):re(n)?h.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,i,e.DEPTH24_STENCIL8,n.width,n.height):e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_STENCIL,n.width,n.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,t)}else{const t=!0===n.isWebGLMultipleRenderTargets?n.texture:[n.texture];for(let i=0;i0&&!0===t.has(\"WEBGL_multisampled_render_to_texture\")&&!1!==n.__useRenderToTexture}function oe(e,n){const s=e.colorSpace,i=e.format,a=e.type;return!0===e.isCompressedTexture||e.format===te||s!==Q&&s!==K&&(s===Z?!1===r?!0===t.has(\"EXT_sRGB\")&&i===H?(e.format=te,e.minFilter=A,e.generateMipmaps=!1):n=Ce.sRGBToLinear(n):i===H&&a===L||console.warn(\"THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType.\"):console.error(\"THREE.WebGLTextures: Unsupported texture color space:\",s)),n}this.allocateTextureUnit=function(){const e=k;return e>=o&&console.warn(\"THREE.WebGLTextures: Trying to use \"+e+\" texture units while this GPU supports only \"+o),k+=1,e},this.resetTextureUnits=function(){k=0},this.setTexture2D=Y,this.setTexture2DArray=function(t,i){const a=s.get(t);t.version>0&&a.__version!==t.version?ne(a,t,i):n.bindTexture(e.TEXTURE_2D_ARRAY,a.__webglTexture,e.TEXTURE0+i)},this.setTexture3D=function(t,i){const a=s.get(t);t.version>0&&a.__version!==t.version?ne(a,t,i):n.bindTexture(e.TEXTURE_3D,a.__webglTexture,e.TEXTURE0+i)},this.setTextureCube=function(t,i){const l=s.get(t);t.version>0&&l.__version!==t.version?function(t,i,l){if(6!==i.image.length)return;const o=ee(t,i),u=i.source;n.bindTexture(e.TEXTURE_CUBE_MAP,t.__webglTexture,e.TEXTURE0+l);const p=s.get(u);if(u.version!==p.__version||!0===o){n.activeTexture(e.TEXTURE0+l),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,i.flipY),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.premultiplyAlpha),e.pixelStorei(e.UNPACK_ALIGNMENT,i.unpackAlignment),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.NONE);const t=i.isCompressedTexture||i.image[0].isCompressedTexture,s=i.image[0]&&i.image[0].isDataTexture,h=[];for(let e=0;e<6;e++)h[e]=t||s?s?i.image[e].image:i.image[e]:w(i.image[e],!1,!0,c),h[e]=oe(i,h[e]);const d=h[0],f=T(d)||r,I=a.convert(i.format,i.colorSpace),m=a.convert(i.type),y=F(i.internalFormat,I,m,i.colorSpace),v=r&&!0!==i.isVideoTexture,R=void 0===p.__version||!0===o;let D,S=G(i,d,f);if($(e.TEXTURE_CUBE_MAP,i,f),t){v&&R&&n.texStorage2D(e.TEXTURE_CUBE_MAP,S,y,d.width,d.height);for(let t=0;t<6;t++){D=h[t].mipmaps;for(let s=0;s0&&S++,n.texStorage2D(e.TEXTURE_CUBE_MAP,S,y,h[0].width,h[0].height));for(let t=0;t<6;t++)if(s){v?n.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,0,0,h[t].width,h[t].height,I,m,h[t].data):n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,y,h[t].width,h[t].height,0,I,m,h[t].data);for(let s=0;s0&&!1===re(t)){const s=h?o:[o];c.__webglMultisampledFramebuffer=e.createFramebuffer(),c.__webglColorRenderbuffer=[],n.bindFramebuffer(e.FRAMEBUFFER,c.__webglMultisampledFramebuffer);for(let n=0;n0&&!1===re(t)){const i=t.isWebGLMultipleRenderTargets?t.texture:[t.texture],a=t.width,l=t.height;let r=e.COLOR_BUFFER_BIT;const o=[],c=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,u=s.get(t),p=!0===t.isWebGLMultipleRenderTargets;if(p)for(let t=0;tr+c?(o.inputState.pinching=!1,this.dispatchEvent({type:\"pinchend\",handedness:e.handedness,target:this})):!o.inputState.pinching&&l<=r-c&&(o.inputState.pinching=!0,this.dispatchEvent({type:\"pinchstart\",handedness:e.handedness,target:this}))}else null!==r&&e.gripSpace&&(i=t.getPose(e.gripSpace,n),null!==i&&(r.matrix.fromArray(i.transform.matrix),r.matrix.decompose(r.position,r.rotation,r.scale),r.matrixWorldNeedsUpdate=!0,i.linearVelocity?(r.hasLinearVelocity=!0,r.linearVelocity.copy(i.linearVelocity)):r.hasLinearVelocity=!1,i.angularVelocity?(r.hasAngularVelocity=!0,r.angularVelocity.copy(i.angularVelocity)):r.hasAngularVelocity=!1));null!==l&&(s=t.getPose(e.targetRaySpace,n),null===s&&null!==i&&(s=i),null!==s&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1,this.dispatchEvent(Pa)))}return null!==l&&(l.visible=null!==s),null!==r&&(r.visible=null!==i),null!==o&&(o.visible=null!==a),this}_getHandJoint(e,t){if(void 0===e.joints[t.jointName]){const n=new La;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}}class _a extends _e{constructor(e,t,n,s,i,a,l,r,o,c){if((c=void 0!==c?c:B)!==B&&c!==U)throw new Error(\"DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat\");void 0===n&&c===B&&(n=P),void 0===n&&c===U&&(n=M),super(null,s,i,a,l,r,c,n,o),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=void 0!==l?l:b,this.minFilter=void 0!==r?r:b,this.flipY=!1,this.generateMipmaps=!1}}class Ma extends ne{constructor(e,t){super();const n=this;let s=null,i=1,a=null,l=\"local-floor\",r=1,o=null,c=null,u=null,p=null,h=null,d=null;const f=t.getContextAttributes();let I=null,m=null;const y=[],v=[],w=new Set,T=new Map,E=new Qn;E.layers.enable(1),E.viewport=new Me;const g=new Qn;g.layers.enable(2),g.viewport=new Me;const R=[E,g],D=new Ca;D.layers.enable(1),D.layers.enable(2);let S=null,b=null;function N(e){const t=v.indexOf(e.inputSource);if(-1===t)return;const n=y[t];void 0!==n&&(n.update(e.inputSource,e.frame,o||a),n.dispatchEvent({type:e.type,data:e.inputSource}))}function O(){s.removeEventListener(\"select\",N),s.removeEventListener(\"selectstart\",N),s.removeEventListener(\"selectend\",N),s.removeEventListener(\"squeeze\",N),s.removeEventListener(\"squeezestart\",N),s.removeEventListener(\"squeezeend\",N),s.removeEventListener(\"end\",O),s.removeEventListener(\"inputsourceschange\",A);for(let e=0;e=0&&(v[s]=null,y[s].disconnect(n))}for(let t=0;t=v.length){v.push(n),s=e;break}if(null===v[e]){v[e]=n,s=e;break}}if(-1===s)break}const i=y[s];i&&i.connect(n)}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=y[e];return void 0===t&&(t=new qa,y[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=y[e];return void 0===t&&(t=new qa,y[e]=t),t.getGripSpace()},this.getHand=function(e){let t=y[e];return void 0===t&&(t=new qa,y[e]=t),t.getHandSpace()},this.setFramebufferScaleFactor=function(e){i=e,!0===n.isPresenting&&console.warn(\"THREE.WebXRManager: Cannot change framebuffer scale while presenting.\")},this.setReferenceSpaceType=function(e){l=e,!0===n.isPresenting&&console.warn(\"THREE.WebXRManager: Cannot change reference space type while presenting.\")},this.getReferenceSpace=function(){return o||a},this.setReferenceSpace=function(e){o=e},this.getBaseLayer=function(){return null!==p?p:h},this.getBinding=function(){return u},this.getFrame=function(){return d},this.getSession=function(){return s},this.setSession=async function(c){if(s=c,null!==s){if(I=e.getRenderTarget(),s.addEventListener(\"select\",N),s.addEventListener(\"selectstart\",N),s.addEventListener(\"selectend\",N),s.addEventListener(\"squeeze\",N),s.addEventListener(\"squeezestart\",N),s.addEventListener(\"squeezeend\",N),s.addEventListener(\"end\",O),s.addEventListener(\"inputsourceschange\",A),!0!==f.xrCompatible&&await t.makeXRCompatible(),void 0===s.renderState.layers||!1===e.capabilities.isWebGL2){const n={antialias:void 0!==s.renderState.layers||f.antialias,alpha:!0,depth:f.depth,stencil:f.stencil,framebufferScaleFactor:i};h=new XRWebGLLayer(s,t,n),s.updateRenderState({baseLayer:h}),m=new He(h.framebufferWidth,h.framebufferHeight,{format:H,type:L,colorSpace:e.outputColorSpace,stencilBuffer:f.stencil})}else{let n=null,a=null,l=null;f.depth&&(l=f.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,n=f.stencil?U:B,a=f.stencil?M:P);const r={colorFormat:t.RGBA8,depthFormat:l,scaleFactor:i};u=new XRWebGLBinding(s,t),p=u.createProjectionLayer(r),s.updateRenderState({layers:[p]}),m=new He(p.textureWidth,p.textureHeight,{format:H,type:L,depthTexture:new _a(p.textureWidth,p.textureHeight,a,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:f.stencil,colorSpace:e.outputColorSpace,samples:f.antialias?4:0}),e.properties.get(m).__ignoreDepthValues=p.ignoreDepthValues}m.isXRRenderTarget=!0,this.setFoveation(r),o=null,a=await s.requestReferenceSpace(l),F.setContext(s),F.start(),n.isPresenting=!0,n.dispatchEvent({type:\"sessionstart\"})}},this.getEnvironmentBlendMode=function(){if(null!==s)return s.environmentBlendMode};const x=new Ge,C=new Ge;function q(e,t){null===t?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(null===s)return;D.near=g.near=E.near=e.near,D.far=g.far=E.far=e.far,S===D.near&&b===D.far||(s.updateRenderState({depthNear:D.near,depthFar:D.far}),S=D.near,b=D.far);const t=e.parent,n=D.cameras;q(D,t);for(let e=0;et&&(T.set(e,e.lastChangedTime),n.dispatchEvent({type:\"planechanged\",data:e}))}else w.add(e),T.set(e,s.lastChangedTime),n.dispatchEvent({type:\"planeadded\",data:e})}d=null})),this.setAnimationLoop=function(e){_=e},this.dispose=function(){}}}function Ha(e,t){function n(e,t){!0===e.matrixAutoUpdate&&e.updateMatrix(),t.value.copy(e.matrix)}function s(s,i){s.opacity.value=i.opacity,i.color&&s.diffuse.value.copy(i.color),i.emissive&&s.emissive.value.copy(i.emissive).multiplyScalar(i.emissiveIntensity),i.map&&(s.map.value=i.map,n(i.map,s.mapTransform)),i.alphaMap&&(s.alphaMap.value=i.alphaMap,n(i.alphaMap,s.alphaMapTransform)),i.bumpMap&&(s.bumpMap.value=i.bumpMap,n(i.bumpMap,s.bumpMapTransform),s.bumpScale.value=i.bumpScale,i.side===o&&(s.bumpScale.value*=-1)),i.normalMap&&(s.normalMap.value=i.normalMap,n(i.normalMap,s.normalMapTransform),s.normalScale.value.copy(i.normalScale),i.side===o&&s.normalScale.value.negate()),i.displacementMap&&(s.displacementMap.value=i.displacementMap,n(i.displacementMap,s.displacementMapTransform),s.displacementScale.value=i.displacementScale,s.displacementBias.value=i.displacementBias),i.emissiveMap&&(s.emissiveMap.value=i.emissiveMap,n(i.emissiveMap,s.emissiveMapTransform)),i.specularMap&&(s.specularMap.value=i.specularMap,n(i.specularMap,s.specularMapTransform)),i.alphaTest>0&&(s.alphaTest.value=i.alphaTest);const a=t.get(i).envMap;if(a&&(s.envMap.value=a,s.flipEnvMap.value=a.isCubeTexture&&!1===a.isRenderTargetTexture?-1:1,s.reflectivity.value=i.reflectivity,s.ior.value=i.ior,s.refractionRatio.value=i.refractionRatio),i.lightMap){s.lightMap.value=i.lightMap;const t=!0===e.useLegacyLights?Math.PI:1;s.lightMapIntensity.value=i.lightMapIntensity*t,n(i.lightMap,s.lightMapTransform)}i.aoMap&&(s.aoMap.value=i.aoMap,s.aoMapIntensity.value=i.aoMapIntensity,n(i.aoMap,s.aoMapTransform))}return{refreshFogUniforms:function(t,n){n.color.getRGB(t.fogColor.value,Yn(e)),n.isFog?(t.fogNear.value=n.near,t.fogFar.value=n.far):n.isFogExp2&&(t.fogDensity.value=n.density)},refreshMaterialUniforms:function(e,i,a,l,r){i.isMeshBasicMaterial||i.isMeshLambertMaterial?s(e,i):i.isMeshToonMaterial?(s(e,i),function(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap)}(e,i)):i.isMeshPhongMaterial?(s(e,i),function(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4)}(e,i)):i.isMeshStandardMaterial?(s(e,i),function(e,s){e.metalness.value=s.metalness,s.metalnessMap&&(e.metalnessMap.value=s.metalnessMap,n(s.metalnessMap,e.metalnessMapTransform)),e.roughness.value=s.roughness,s.roughnessMap&&(e.roughnessMap.value=s.roughnessMap,n(s.roughnessMap,e.roughnessMapTransform));t.get(s).envMap&&(e.envMapIntensity.value=s.envMapIntensity)}(e,i),i.isMeshPhysicalMaterial&&function(e,t,s){e.ior.value=t.ior,t.sheen>0&&(e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),e.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap,n(t.sheenColorMap,e.sheenColorMapTransform)),t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap,n(t.sheenRoughnessMap,e.sheenRoughnessMapTransform))),t.clearcoat>0&&(e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap,n(t.clearcoatMap,e.clearcoatMapTransform)),t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap,n(t.clearcoatRoughnessMap,e.clearcoatRoughnessMapTransform)),t.clearcoatNormalMap&&(e.clearcoatNormalMap.value=t.clearcoatNormalMap,n(t.clearcoatNormalMap,e.clearcoatNormalMapTransform),e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),t.side===o&&e.clearcoatNormalScale.value.negate())),t.iridescence>0&&(e.iridescence.value=t.iridescence,e.iridescenceIOR.value=t.iridescenceIOR,e.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],e.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(e.iridescenceMap.value=t.iridescenceMap,n(t.iridescenceMap,e.iridescenceMapTransform)),t.iridescenceThicknessMap&&(e.iridescenceThicknessMap.value=t.iridescenceThicknessMap,n(t.iridescenceThicknessMap,e.iridescenceThicknessMapTransform))),t.transmission>0&&(e.transmission.value=t.transmission,e.transmissionSamplerMap.value=s.texture,e.transmissionSamplerSize.value.set(s.width,s.height),t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap,n(t.transmissionMap,e.transmissionMapTransform)),e.thickness.value=t.thickness,t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap,n(t.thicknessMap,e.thicknessMapTransform)),e.attenuationDistance.value=t.attenuationDistance,e.attenuationColor.value.copy(t.attenuationColor)),e.specularIntensity.value=t.specularIntensity,e.specularColor.value.copy(t.specularColor),t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap,n(t.specularColorMap,e.specularColorMapTransform)),t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap,n(t.specularIntensityMap,e.specularIntensityMapTransform))}(e,i,r)):i.isMeshMatcapMaterial?(s(e,i),function(e,t){t.matcap&&(e.matcap.value=t.matcap)}(e,i)):i.isMeshDepthMaterial?s(e,i):i.isMeshDistanceMaterial?(s(e,i),function(e,n){const s=t.get(n).light;e.referencePosition.value.setFromMatrixPosition(s.matrixWorld),e.nearDistance.value=s.shadow.camera.near,e.farDistance.value=s.shadow.camera.far}(e,i)):i.isMeshNormalMaterial?s(e,i):i.isLineBasicMaterial?(function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform))}(e,i),i.isLineDashedMaterial&&function(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}(e,i)):i.isPointsMaterial?function(e,t,s,i){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*s,e.scale.value=.5*i,t.map&&(e.map.value=t.map,n(t.map,e.uvTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}(e,i,a,l):i.isSpriteMaterial?function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}(e,i):i.isShadowMaterial?(e.color.value.copy(i.color),e.opacity.value=i.opacity):i.isShaderMaterial&&(i.uniformsNeedUpdate=!1)}}}function Ba(e,t,n,s){let i={},a={},l=[];const r=n.isWebGL2?e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS):0;function o(e,t,n){const s=e.value;if(void 0===n[t]){if(\"number\"==typeof s)n[t]=s;else{const e=Array.isArray(s)?s:[s],i=[];for(let t=0;t0&&(s=n%16,0!==s&&16-s-a.boundary<0&&(n+=16-s,i.__offset=n)),n+=a.storage}s=n%16,s>0&&(n+=16-s),e.__size=n,e.__cache={}}(n),h=function(t){const n=function(){for(let e=0;e0&&function(e,t,n,s){if(null===Y){const e=te.isWebGL2;Y=new He(1024,1024,{generateMipmaps:!0,type:ee.has(\"EXT_color_buffer_half_float\")?_:L,minFilter:C,samples:e&&!0===u?4:0})}const i=E.getRenderTarget();E.setRenderTarget(Y),E.clear();const a=E.toneMapping;E.toneMapping=f,Fe(e,n,s),ae.updateMultisampleRenderTarget(Y),ae.updateRenderTargetMipmap(Y);let l=!1;for(let e=0,i=t.length;e0&&Fe(i,t,n),a.length>0&&Fe(a,t,n),l.length>0&&Fe(l,t,n),ne.buffers.depth.setTest(!0),ne.buffers.depth.setMask(!0),ne.buffers.color.setMask(!0),ne.setPolygonOffset(!1)}function Fe(e,t,n){const s=!0===t.isScene?t.overrideMaterial:null;for(let i=0,a=e.length;i0?T[T.length-1]:null,w.pop(),y=w.length>0?w[w.length-1]:null},this.getActiveCubeFace=function(){return R},this.getActiveMipmapLevel=function(){return D},this.getRenderTarget=function(){return S},this.setRenderTargetTextures=function(e,t,n){ie.get(e.texture).__webglTexture=t,ie.get(e.depthTexture).__webglTexture=n;const s=ie.get(e);s.__hasExternalTextures=!0,s.__hasExternalTextures&&(s.__autoAllocateDepthBuffer=void 0===n,s.__autoAllocateDepthBuffer||!0===ee.has(\"WEBGL_multisampled_render_to_texture\")&&(console.warn(\"THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided\"),s.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(e,t){const n=ie.get(e);n.__webglFramebuffer=t,n.__useDefaultFramebuffer=void 0===t},this.setRenderTarget=function(e,t=0,n=0){S=e,R=t,D=n;let s=!0,i=null,a=!1,l=!1;if(e){const n=ie.get(e);void 0!==n.__useDefaultFramebuffer?(ne.bindFramebuffer(De.FRAMEBUFFER,null),s=!1):void 0===n.__webglFramebuffer?ae.setupRenderTarget(e):n.__hasExternalTextures&&ae.rebindTextures(e,ie.get(e.texture).__webglTexture,ie.get(e.depthTexture).__webglTexture);const r=e.texture;(r.isData3DTexture||r.isDataArrayTexture||r.isCompressedArrayTexture)&&(l=!0);const o=ie.get(e).__webglFramebuffer;e.isWebGLCubeRenderTarget?(i=o[t],a=!0):i=te.isWebGL2&&e.samples>0&&!1===ae.useMultisampledRTT(e)?ie.get(e).__webglMultisampledFramebuffer:o,O.copy(e.viewport),A.copy(e.scissor),x=e.scissorTest}else O.copy(G).multiplyScalar(B).floor(),A.copy(V).multiplyScalar(B).floor(),x=j;if(ne.bindFramebuffer(De.FRAMEBUFFER,i)&&te.drawBuffers&&s&&ne.drawBuffers(e,i),ne.viewport(O),ne.scissor(A),ne.setScissorTest(x),a){const s=ie.get(e.texture);De.framebufferTexture2D(De.FRAMEBUFFER,De.COLOR_ATTACHMENT0,De.TEXTURE_CUBE_MAP_POSITIVE_X+t,s.__webglTexture,n)}else if(l){const s=ie.get(e.texture),i=t||0;De.framebufferTextureLayer(De.FRAMEBUFFER,De.COLOR_ATTACHMENT0,s.__webglTexture,n||0,i)}b=-1},this.readRenderTargetPixels=function(e,t,n,s,i,a,l){if(!e||!e.isWebGLRenderTarget)return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");let r=ie.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&void 0!==l&&(r=r[l]),r){ne.bindFramebuffer(De.FRAMEBUFFER,r);try{const l=e.texture,r=l.format,o=l.type;if(r!==H&&Ee.convert(r)!==De.getParameter(De.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.\");const c=o===_&&(ee.has(\"EXT_color_buffer_half_float\")||te.isWebGL2&&ee.has(\"EXT_color_buffer_float\"));if(!(o===L||Ee.convert(o)===De.getParameter(De.IMPLEMENTATION_COLOR_READ_TYPE)||o===q&&(te.isWebGL2||ee.has(\"OES_texture_float\")||ee.has(\"WEBGL_color_buffer_float\"))||c))return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.\");t>=0&&t<=e.width-s&&n>=0&&n<=e.height-i&&De.readPixels(t,n,s,i,Ee.convert(r),Ee.convert(o),a)}finally{const e=null!==S?ie.get(S).__webglFramebuffer:null;ne.bindFramebuffer(De.FRAMEBUFFER,e)}}},this.copyFramebufferToTexture=function(e,t,n=0){const s=Math.pow(2,-n),i=Math.floor(t.image.width*s),a=Math.floor(t.image.height*s);ae.setTexture2D(t,0),De.copyTexSubImage2D(De.TEXTURE_2D,n,0,0,e.x,e.y,i,a),ne.unbindTexture()},this.copyTextureToTexture=function(e,t,n,s=0){const i=t.image.width,a=t.image.height,l=Ee.convert(n.format),r=Ee.convert(n.type);ae.setTexture2D(n,0),De.pixelStorei(De.UNPACK_FLIP_Y_WEBGL,n.flipY),De.pixelStorei(De.UNPACK_PREMULTIPLY_ALPHA_WEBGL,n.premultiplyAlpha),De.pixelStorei(De.UNPACK_ALIGNMENT,n.unpackAlignment),t.isDataTexture?De.texSubImage2D(De.TEXTURE_2D,s,e.x,e.y,i,a,l,r,t.image.data):t.isCompressedTexture?De.compressedTexSubImage2D(De.TEXTURE_2D,s,e.x,e.y,t.mipmaps[0].width,t.mipmaps[0].height,l,t.mipmaps[0].data):De.texSubImage2D(De.TEXTURE_2D,s,e.x,e.y,l,r,t.image),0===s&&n.generateMipmaps&&De.generateMipmap(De.TEXTURE_2D),ne.unbindTexture()},this.copyTextureToTexture3D=function(e,t,n,s,i=0){if(E.isWebGL1Renderer)return void console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.\");const a=e.max.x-e.min.x+1,l=e.max.y-e.min.y+1,r=e.max.z-e.min.z+1,o=Ee.convert(s.format),c=Ee.convert(s.type);let u;if(s.isData3DTexture)ae.setTexture3D(s,0),u=De.TEXTURE_3D;else{if(!s.isDataArrayTexture)return void console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.\");ae.setTexture2DArray(s,0),u=De.TEXTURE_2D_ARRAY}De.pixelStorei(De.UNPACK_FLIP_Y_WEBGL,s.flipY),De.pixelStorei(De.UNPACK_PREMULTIPLY_ALPHA_WEBGL,s.premultiplyAlpha),De.pixelStorei(De.UNPACK_ALIGNMENT,s.unpackAlignment);const p=De.getParameter(De.UNPACK_ROW_LENGTH),h=De.getParameter(De.UNPACK_IMAGE_HEIGHT),d=De.getParameter(De.UNPACK_SKIP_PIXELS),f=De.getParameter(De.UNPACK_SKIP_ROWS),I=De.getParameter(De.UNPACK_SKIP_IMAGES),m=n.isCompressedTexture?n.mipmaps[0]:n.image;De.pixelStorei(De.UNPACK_ROW_LENGTH,m.width),De.pixelStorei(De.UNPACK_IMAGE_HEIGHT,m.height),De.pixelStorei(De.UNPACK_SKIP_PIXELS,e.min.x),De.pixelStorei(De.UNPACK_SKIP_ROWS,e.min.y),De.pixelStorei(De.UNPACK_SKIP_IMAGES,e.min.z),n.isDataTexture||n.isData3DTexture?De.texSubImage3D(u,i,t.x,t.y,t.z,a,l,r,o,c,m.data):n.isCompressedArrayTexture?(console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture.\"),De.compressedTexSubImage3D(u,i,t.x,t.y,t.z,a,l,r,o,m.data)):De.texSubImage3D(u,i,t.x,t.y,t.z,a,l,r,o,c,m),De.pixelStorei(De.UNPACK_ROW_LENGTH,p),De.pixelStorei(De.UNPACK_IMAGE_HEIGHT,h),De.pixelStorei(De.UNPACK_SKIP_PIXELS,d),De.pixelStorei(De.UNPACK_SKIP_ROWS,f),De.pixelStorei(De.UNPACK_SKIP_IMAGES,I),0===i&&s.generateMipmaps&&De.generateMipmap(u),ne.unbindTexture()},this.initTexture=function(e){e.isCubeTexture?ae.setTextureCube(e,0):e.isData3DTexture?ae.setTexture3D(e,0):e.isDataArrayTexture||e.isCompressedArrayTexture?ae.setTexture2DArray(e,0):ae.setTexture2D(e,0),ne.unbindTexture()},this.resetState=function(){R=0,D=0,S=null,ne.reset(),ge.reset()},\"undefined\"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}get physicallyCorrectLights(){return console.warn(\"THREE.WebGLRenderer: the property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead.\"),!this.useLegacyLights}set physicallyCorrectLights(e){console.warn(\"THREE.WebGLRenderer: the property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead.\"),this.useLegacyLights=!e}get outputEncoding(){return console.warn(\"THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead.\"),this.outputColorSpace===Z?X:3e3}set outputEncoding(e){console.warn(\"THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead.\"),this.outputColorSpace=e===X?Z:Q}}(class extends Fa{}).prototype.isWebGL1Renderer=!0;class Ga extends Vt{constructor(){super(),this.isScene=!0,this.type=\"Scene\",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,\"undefined\"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}copy(e,t){return super.copy(e,t),null!==e.background&&(this.background=e.background.clone()),null!==e.environment&&(this.environment=e.environment.clone()),null!==e.fog&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,null!==e.overrideMaterial&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return null!==this.fog&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),1!==this.backgroundIntensity&&(t.object.backgroundIntensity=this.backgroundIntensity),t}get autoUpdate(){return console.warn(\"THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144.\"),this.matrixWorldAutoUpdate}set autoUpdate(e){console.warn(\"THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144.\"),this.matrixWorldAutoUpdate=e}}class Va extends dn{constructor(e,t,n,s=1){super(e,t,n),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=s}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){const e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}}const ja=new yt,za=new yt,Wa=[],ka=new ze,Ya=new yt,Xa=new Vn,Ka=new ot;class Za extends Vn{constructor(e,t,n){super(e,t),this.isInstancedMesh=!0,this.instanceMatrix=new Va(new Float32Array(16*n),16),this.instanceColor=null,this.count=n,this.boundingBox=null,this.boundingSphere=null;for(let e=0;e=i)break e;{const l=t[1];e=i)break t}a=n,n=0}}for(;n>>1;et;)--a;if(++a,0!==i||a!==s){i>=a&&(a=Math.max(a,1),i=a-1);const e=this.getValueSize();this.times=Ja(n,i,a),this.values=Ja(this.values,i*e,a*e)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!=0&&(console.error(\"THREE.KeyframeTrack: Invalid value size in track.\",this),e=!1);const n=this.times,s=this.values,i=n.length;0===i&&(console.error(\"THREE.KeyframeTrack: Track is empty.\",this),e=!1);let a=null;for(let t=0;t!==i;t++){const s=n[t];if(\"number\"==typeof s&&isNaN(s)){console.error(\"THREE.KeyframeTrack: Time is not a valid number.\",this,t,s),e=!1;break}if(null!==a&&a>s){console.error(\"THREE.KeyframeTrack: Out of order keys.\",this,t,s,a),e=!1;break}a=s}if(void 0!==s&&el(s))for(let t=0,n=s.length;t!==n;++t){const n=s[t];if(isNaN(n)){console.error(\"THREE.KeyframeTrack: Value is not a valid number.\",this,t,n),e=!1;break}}return e}optimize(){const e=Ja(this.times),t=Ja(this.values),n=this.getValueSize(),s=this.getInterpolation()===Y,i=e.length-1;let a=1;for(let l=1;l0){e[a]=e[i];for(let e=i*n,s=a*n,l=0;l!==n;++l)t[s+l]=t[e+l];++a}return a!==e.length?(this.times=Ja(e,0,a),this.values=Ja(t,0,a*n)):(this.times=e,this.values=t),this}clone(){const e=Ja(this.times,0),t=Ja(this.values,0),n=new(0,this.constructor)(this.name,e,t);return n.createInterpolant=this.createInterpolant,n}}al.prototype.TimeBufferType=Float32Array,al.prototype.ValueBufferType=Float32Array,al.prototype.DefaultInterpolation=k;class ll extends al{}ll.prototype.ValueTypeName=\"bool\",ll.prototype.ValueBufferType=Array,ll.prototype.DefaultInterpolation=W,ll.prototype.InterpolantFactoryMethodLinear=void 0,ll.prototype.InterpolantFactoryMethodSmooth=void 0;(class extends al{}).prototype.ValueTypeName=\"color\";(class extends al{}).prototype.ValueTypeName=\"number\";class rl extends tl{constructor(e,t,n,s){super(e,t,n,s)}interpolate_(e,t,n,s){const i=this.resultBuffer,a=this.sampleValues,l=this.valueSize,r=(n-t)/(s-t);let o=e*l;for(let e=o+l;o!==e;o+=4)Fe.slerpFlat(i,0,a,o-l,a,o,r);return i}}class ol extends al{InterpolantFactoryMethodLinear(e){return new rl(this.times,this.values,this.getValueSize(),e)}}ol.prototype.ValueTypeName=\"quaternion\",ol.prototype.DefaultInterpolation=k,ol.prototype.InterpolantFactoryMethodSmooth=void 0;class cl extends al{}cl.prototype.ValueTypeName=\"string\",cl.prototype.ValueBufferType=Array,cl.prototype.DefaultInterpolation=W,cl.prototype.InterpolantFactoryMethodLinear=void 0,cl.prototype.InterpolantFactoryMethodSmooth=void 0;(class extends al{}).prototype.ValueTypeName=\"vector\";const ul=\"\\\\[\\\\]\\\\.:\\\\/\",pl=new RegExp(\"[\"+ul+\"]\",\"g\"),hl=\"[^\"+ul+\"]\",dl=\"[^\"+ul.replace(\"\\\\.\",\"\")+\"]\",fl=new RegExp(\"^\"+/((?:WC+[\\/:])*)/.source.replace(\"WC\",hl)+/(WCOD+)?/.source.replace(\"WCOD\",dl)+/(?:\\.(WC+)(?:\\[(.+)\\])?)?/.source.replace(\"WC\",hl)+/\\.(WC+)(?:\\[(.+)\\])?/.source.replace(\"WC\",hl)+\"$\"),Il=[\"material\",\"materials\",\"bones\",\"map\"];class ml{constructor(e,t,n){this.path=t,this.parsedPath=n||ml.parseTrackName(t),this.node=ml.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new ml.Composite(e,t,n):new ml(e,t,n)}static sanitizeNodeName(e){return e.replace(/\\s/g,\"_\").replace(pl,\"\")}static parseTrackName(e){const t=fl.exec(e);if(null===t)throw new Error(\"PropertyBinding: Cannot parse trackName: \"+e);const n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},s=n.nodeName&&n.nodeName.lastIndexOf(\".\");if(void 0!==s&&-1!==s){const e=n.nodeName.substring(s+1);-1!==Il.indexOf(e)&&(n.nodeName=n.nodeName.substring(0,s),n.objectName=e)}if(null===n.propertyName||0===n.propertyName.length)throw new Error(\"PropertyBinding: can not parse propertyName from trackName: \"+e);return n}static findNode(e,t){if(void 0===t||\"\"===t||\".\"===t||-1===t||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(void 0!==n)return n}if(e.children){const n=function(e){for(let s=0;s{\"use strict\";n.d(t,{M:()=>a});var s=n(8823);const i={POSITION:[\"byte\",\"byte normalized\",\"unsigned byte\",\"unsigned byte normalized\",\"short\",\"short normalized\",\"unsigned short\",\"unsigned short normalized\"],NORMAL:[\"byte normalized\",\"short normalized\"],TANGENT:[\"byte normalized\",\"short normalized\"],TEXCOORD:[\"byte\",\"byte normalized\",\"unsigned byte\",\"short\",\"short normalized\",\"unsigned short\"]};class a{constructor(){this.pluginCallbacks=[],this.register((function(e){return new T(e)})),this.register((function(e){return new E(e)})),this.register((function(e){return new D(e)})),this.register((function(e){return new S(e)})),this.register((function(e){return new b(e)})),this.register((function(e){return new N(e)})),this.register((function(e){return new g(e)})),this.register((function(e){return new R(e)})),this.register((function(e){return new O(e)})),this.register((function(e){return new A(e)}))}register(e){return-1===this.pluginCallbacks.indexOf(e)&&this.pluginCallbacks.push(e),this}unregister(e){return-1!==this.pluginCallbacks.indexOf(e)&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,n,s){const i=new w,a=[];for(let e=0,t=this.pluginCallbacks.length;ee.toBlob(n,t)));let n;return\"image/jpeg\"===t?n=.92:\"image/webp\"===t&&(n=.8),e.convertToBlob({type:t,quality:n})}class w{constructor(){this.plugins=[],this.options={},this.pending=[],this.buffers=[],this.byteOffset=0,this.buffers=[],this.nodeMap=new Map,this.skins=[],this.extensionsUsed={},this.extensionsRequired={},this.uids=new Map,this.uid=0,this.json={asset:{version:\"2.0\",generator:\"THREE.GLTFExporter\"}},this.cache={meshes:new Map,attributes:new Map,attributesNormalized:new Map,materials:new Map,textures:new Map,images:new Map}}setPlugins(e){this.plugins=e}async write(e,t,n={}){this.options=Object.assign({binary:!1,trs:!1,onlyVisible:!0,maxTextureSize:1/0,animations:[],includeCustomExtensions:!1},n),this.options.animations.length>0&&(this.options.trs=!0),this.processInput(e),await Promise.all(this.pending);const s=this,i=s.buffers,a=s.json;n=s.options;const l=s.extensionsUsed,r=s.extensionsRequired,o=new Blob(i,{type:\"application/octet-stream\"}),c=Object.keys(l),u=Object.keys(r);if(c.length>0&&(a.extensionsUsed=c),u.length>0&&(a.extensionsRequired=u),a.buffers&&a.buffers.length>0&&(a.buffers[0].byteLength=o.size),!0===n.binary){const e=new FileReader;e.readAsArrayBuffer(o),e.onloadend=function(){const n=m(e.result),s=new DataView(new ArrayBuffer(8));s.setUint32(0,n.byteLength,!0),s.setUint32(4,5130562,!0);const i=m((l=JSON.stringify(a),(new TextEncoder).encode(l).buffer),32);var l;const r=new DataView(new ArrayBuffer(8));r.setUint32(0,i.byteLength,!0),r.setUint32(4,1313821514,!0);const o=new ArrayBuffer(12),c=new DataView(o);c.setUint32(0,1179937895,!0),c.setUint32(4,2,!0);const u=12+r.byteLength+i.byteLength+s.byteLength+n.byteLength;c.setUint32(8,u,!0);const p=new Blob([o,r,i,s,n],{type:\"application/octet-stream\"}),h=new FileReader;h.readAsArrayBuffer(p),h.onloadend=function(){t(h.result)}}}else if(a.buffers&&a.buffers.length>0){const e=new FileReader;e.readAsDataURL(o),e.onloadend=function(){const n=e.result;a.buffers[0].uri=n,t(a)}}else t(a)}serializeUserData(e,t){if(0===Object.keys(e.userData).length)return;const n=this.options,s=this.extensionsUsed;try{const i=JSON.parse(JSON.stringify(e.userData));if(n.includeCustomExtensions&&i.gltfExtensions){void 0===t.extensions&&(t.extensions={});for(const e in i.gltfExtensions)t.extensions[e]=i.gltfExtensions[e],s[e]=!0;delete i.gltfExtensions}Object.keys(i).length>0&&(t.extras=i)}catch(t){console.warn(\"THREE.GLTFExporter: userData of '\"+e.name+\"' won't be serialized because of JSON.stringify error - \"+t.message)}}getUID(e,t=!1){if(!1===this.uids.has(e)){const t=new Map;t.set(!0,this.uid++),t.set(!1,this.uid++),this.uids.set(e,t)}return this.uids.get(e).get(t)}isNormalizedNormalAttribute(e){if(this.cache.attributesNormalized.has(e))return!1;const t=new s.Pa4;for(let n=0,s=e.count;n5e-4)return!1;return!0}createNormalizedNormalAttribute(e){const t=this.cache;if(t.attributesNormalized.has(e))return t.attributesNormalized.get(e);const n=e.clone(),i=new s.Pa4;for(let e=0,t=n.count;e4?i=e.array[a*e.itemSize+n]:(0===n?i=e.getX(a):1===n?i=e.getY(a):2===n?i=e.getZ(a):3===n&&(i=e.getW(a)),!0===e.normalized&&(i=s.M8C.normalize(i,e.array))),5126===t?d.setFloat32(f,i,!0):5124===t?d.setInt32(f,i,!0):5125===t?d.setUint32(f,i,!0):t===o?d.setInt16(f,i,!0):t===c?d.setUint16(f,i,!0):t===l?d.setInt8(f,i):t===r&&d.setUint8(f,i),f+=p}const m={buffer:this.processBuffer(d.buffer),byteOffset:this.byteOffset,byteLength:h};return void 0!==a&&(m.target=a),34962===a&&(m.byteStride=e.itemSize*p),this.byteOffset+=h,u.bufferViews.push(m),{id:u.bufferViews.length-1,byteLength:0}}processBufferViewImage(e){const t=this,n=t.json;return n.bufferViews||(n.bufferViews=[]),new Promise((function(s){const i=new FileReader;i.readAsArrayBuffer(e),i.onloadend=function(){const e=m(i.result),a={buffer:t.processBuffer(e),byteOffset:t.byteOffset,byteLength:e.byteLength};t.byteOffset+=e.byteLength,s(n.bufferViews.push(a)-1)}}))}processAccessor(e,t,n,i){const a=this.json;let u;if(e.array.constructor===Float32Array)u=5126;else if(e.array.constructor===Int32Array)u=5124;else if(e.array.constructor===Uint32Array)u=5125;else if(e.array.constructor===Int16Array)u=o;else if(e.array.constructor===Uint16Array)u=c;else if(e.array.constructor===Int8Array)u=l;else{if(e.array.constructor!==Uint8Array)throw new Error(\"THREE.GLTFExporter: Unsupported bufferAttribute component type.\");u=r}if(void 0===n&&(n=0),void 0===i&&(i=e.count),0===i)return null;const p=function(e,t,n){const i={min:new Array(e.itemSize).fill(Number.POSITIVE_INFINITY),max:new Array(e.itemSize).fill(Number.NEGATIVE_INFINITY)};for(let a=t;a4?n=e.array[a*e.itemSize+t]:(0===t?n=e.getX(a):1===t?n=e.getY(a):2===t?n=e.getZ(a):3===t&&(n=e.getW(a)),!0===e.normalized&&(n=s.M8C.normalize(n,e.array))),i.min[t]=Math.min(i.min[t],n),i.max[t]=Math.max(i.max[t],n)}return i}(e,n,i);let h;void 0!==t&&(h=e===t.index?34963:34962);const d=this.processBufferView(e,u,n,i,h),f={bufferView:d.id,byteOffset:d.byteOffset,componentType:u,count:i,max:p.max,min:p.min,type:{1:\"SCALAR\",2:\"VEC2\",3:\"VEC3\",4:\"VEC4\",9:\"MAT3\",16:\"MAT4\"}[e.itemSize]};return!0===e.normalized&&(f.normalized=!0),a.accessors||(a.accessors=[]),a.accessors.push(f)-1}processImage(e,t,n,i=\"image/png\"){if(null!==e){const a=this,l=a.cache,r=a.json,o=a.options,c=a.pending;l.images.has(e)||l.images.set(e,{});const u=l.images.get(e),p=i+\":flipY/\"+n.toString();if(void 0!==u[p])return u[p];r.images||(r.images=[]);const h={mimeType:i},d=y();d.width=Math.min(e.width,o.maxTextureSize),d.height=Math.min(e.height,o.maxTextureSize);const f=d.getContext(\"2d\");if(!0===n&&(f.translate(0,d.height),f.scale(1,-1)),void 0!==e.data){t!==s.wk1&&console.error(\"GLTFExporter: Only RGBAFormat is supported.\"),(e.width>o.maxTextureSize||e.height>o.maxTextureSize)&&console.warn(\"GLTFExporter: Image size is bigger than maxTextureSize\",e);const n=new Uint8ClampedArray(e.height*e.width*4);for(let t=0;ta.processBufferViewImage(e))).then((e=>{h.bufferView=e}))):void 0!==d.toDataURL?h.uri=d.toDataURL(i):c.push(v(d,i).then((e=>(new FileReader).readAsDataURL(e))).then((e=>{h.uri=e})));const I=r.images.push(h)-1;return u[p]=I,I}throw new Error(\"THREE.GLTFExporter: No valid image data found. Unable to process texture.\")}processSampler(e){const t=this.json;t.samplers||(t.samplers=[]);const n={magFilter:p[e.magFilter],minFilter:p[e.minFilter],wrapS:p[e.wrapS],wrapT:p[e.wrapT]};return t.samplers.push(n)-1}processTexture(e){const t=this.cache,n=this.json;if(t.textures.has(e))return t.textures.get(e);n.textures||(n.textures=[]);let s=e.userData.mimeType;\"image/webp\"===s&&(s=\"image/png\");const i={sampler:this.processSampler(e),source:this.processImage(e.image,e.format,e.flipY,s)};e.name&&(i.name=e.name),this._invokeAll((function(t){t.writeTexture&&t.writeTexture(e,i)}));const a=n.textures.push(i)-1;return t.textures.set(e,a),a}processMaterial(e){const t=this.cache,n=this.json;if(t.materials.has(e))return t.materials.get(e);if(e.isShaderMaterial)return console.warn(\"GLTFExporter: THREE.ShaderMaterial not supported.\"),null;n.materials||(n.materials=[]);const i={pbrMetallicRoughness:{}};!0!==e.isMeshStandardMaterial&&!0!==e.isMeshBasicMaterial&&console.warn(\"GLTFExporter: Use MeshStandardMaterial or MeshBasicMaterial for best results.\");const a=e.color.toArray().concat([e.opacity]);if(f(a,[1,1,1,1])||(i.pbrMetallicRoughness.baseColorFactor=a),e.isMeshStandardMaterial?(i.pbrMetallicRoughness.metallicFactor=e.metalness,i.pbrMetallicRoughness.roughnessFactor=e.roughness):(i.pbrMetallicRoughness.metallicFactor=.5,i.pbrMetallicRoughness.roughnessFactor=.5),e.metalnessMap||e.roughnessMap){const t=this.buildMetalRoughTexture(e.metalnessMap,e.roughnessMap),n={index:this.processTexture(t),channel:t.channel};this.applyTextureTransform(n,t),i.pbrMetallicRoughness.metallicRoughnessTexture=n}if(e.map){const t={index:this.processTexture(e.map),texCoord:e.map.channel};this.applyTextureTransform(t,e.map),i.pbrMetallicRoughness.baseColorTexture=t}if(e.emissive){const t=e.emissive;if(Math.max(t.r,t.g,t.b)>0&&(i.emissiveFactor=e.emissive.toArray()),e.emissiveMap){const t={index:this.processTexture(e.emissiveMap),texCoord:e.emissiveMap.channel};this.applyTextureTransform(t,e.emissiveMap),i.emissiveTexture=t}}if(e.normalMap){const t={index:this.processTexture(e.normalMap),texCoord:e.normalMap.channel};e.normalScale&&1!==e.normalScale.x&&(t.scale=e.normalScale.x),this.applyTextureTransform(t,e.normalMap),i.normalTexture=t}if(e.aoMap){const t={index:this.processTexture(e.aoMap),texCoord:e.aoMap.channel};1!==e.aoMapIntensity&&(t.strength=e.aoMapIntensity),this.applyTextureTransform(t,e.aoMap),i.occlusionTexture=t}e.transparent?i.alphaMode=\"BLEND\":e.alphaTest>0&&(i.alphaMode=\"MASK\",i.alphaCutoff=e.alphaTest),e.side===s.ehD&&(i.doubleSided=!0),\"\"!==e.name&&(i.name=e.name),this.serializeUserData(e,i),this._invokeAll((function(t){t.writeMaterial&&t.writeMaterial(e,i)}));const l=n.materials.push(i)-1;return t.materials.set(e,l),l}processMesh(e){const t=this.cache,n=this.json,i=[e.geometry.uuid];if(Array.isArray(e.material))for(let t=0,n=e.material.length;t0){const n=[],s=[],i={};if(void 0!==e.morphTargetDictionary)for(const t in e.morphTargetDictionary)i[e.morphTargetDictionary[t]]=t;for(let a=0;a0&&(o.extras={},o.extras.targetNames=s)}const I=Array.isArray(e.material);if(I&&0===l.groups.length)return null;const m=I?e.material:[e.material],y=I?l.groups:[{materialIndex:0,start:void 0,count:void 0}];for(let e=0,n=y.length;e0&&(n.targets=p),null!==l.index){let s=this.getUID(l.index);void 0===y[e].start&&void 0===y[e].count||(s+=\":\"+y[e].start+\":\"+y[e].count),t.attributes.has(s)?n.indices=t.attributes.get(s):(n.indices=this.processAccessor(l.index,l,y[e].start,y[e].count),t.attributes.set(s,n.indices)),null===n.indices&&delete n.indices}const s=this.processMaterial(m[y[e].materialIndex]);null!==s&&(n.material=s),u.push(n)}o.primitives=u,n.meshes||(n.meshes=[]),this._invokeAll((function(t){t.writeMesh&&t.writeMesh(e,o)}));const v=n.meshes.push(o)-1;return t.meshes.set(a,v),v}detectMeshQuantization(e,t){if(this.extensionsUsed[u])return;let n;switch(t.array.constructor){case Int8Array:n=\"byte\";break;case Uint8Array:n=\"unsigned byte\";break;case Int16Array:n=\"short\";break;case Uint16Array:n=\"unsigned short\";break;default:return}t.normalized&&(n+=\" normalized\");const s=e.split(\"_\",1)[0];i[s]&&i[s].includes(n)&&(this.extensionsUsed[u]=!0,this.extensionsRequired[u]=!0)}processCamera(e){const t=this.json;t.cameras||(t.cameras=[]);const n=e.isOrthographicCamera,i={type:n?\"orthographic\":\"perspective\"};return n?i.orthographic={xmag:2*e.right,ymag:2*e.top,zfar:e.far<=0?.001:e.far,znear:e.near<0?0:e.near}:i.perspective={aspectRatio:e.aspect,yfov:s.M8C.degToRad(e.fov),zfar:e.far<=0?.001:e.far,znear:e.near<0?0:e.near},\"\"!==e.name&&(i.name=e.type),t.cameras.push(i)-1}processAnimation(e,t){const n=this.json,i=this.nodeMap;n.animations||(n.animations=[]);const l=(e=a.Utils.mergeMorphTargetTracks(e.clone(),t)).tracks,r=[],o=[];for(let e=0;e0){const t=[];for(let s=0,i=e.children.length;s0&&(i.children=t)}this._invokeAll((function(t){t.writeNode&&t.writeNode(e,i)}));const a=t.nodes.push(i)-1;return s.set(e,a),a}processScene(e){const t=this.json,n=this.options;t.scenes||(t.scenes=[],t.scene=0);const s={};\"\"!==e.name&&(s.name=e.name),t.scenes.push(s);const i=[];for(let t=0,s=e.children.length;t0&&(s.nodes=i),this.serializeUserData(e,s)}processObjects(e){const t=new s.xsS;t.name=\"AuxScene\";for(let n=0;n0&&this.processObjects(n);for(let e=0;e0&&(a.range=e.distance)):e.isSpotLight&&(a.type=\"spot\",e.distance>0&&(a.range=e.distance),a.spot={},a.spot.innerConeAngle=(e.penumbra-1)*e.angle*-1,a.spot.outerConeAngle=e.angle),void 0!==e.decay&&2!==e.decay&&console.warn(\"THREE.GLTFExporter: Light decay may be lost. glTF is physically-based, and expects light.decay=2.\"),!e.target||e.target.parent===e&&0===e.target.position.x&&0===e.target.position.y&&-1===e.target.position.z||console.warn(\"THREE.GLTFExporter: Light direction may be lost. For best results, make light.target a child of the light with position 0,0,-1.\"),i[this.name]||(s.extensions=s.extensions||{},s.extensions[this.name]={lights:[]},i[this.name]=!0);const l=s.extensions[this.name].lights;l.push(a),t.extensions=t.extensions||{},t.extensions[this.name]={light:l.length-1}}}class E{constructor(e){this.writer=e,this.name=\"KHR_materials_unlit\"}writeMaterial(e,t){if(!e.isMeshBasicMaterial)return;const n=this.writer.extensionsUsed;t.extensions=t.extensions||{},t.extensions[this.name]={},n[this.name]=!0,t.pbrMetallicRoughness.metallicFactor=0,t.pbrMetallicRoughness.roughnessFactor=.9}}class g{constructor(e){this.writer=e,this.name=\"KHR_materials_clearcoat\"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||0===e.clearcoat)return;const n=this.writer,s=n.extensionsUsed,i={};if(i.clearcoatFactor=e.clearcoat,e.clearcoatMap){const t={index:n.processTexture(e.clearcoatMap),texCoord:e.clearcoatMap.channel};n.applyTextureTransform(t,e.clearcoatMap),i.clearcoatTexture=t}if(i.clearcoatRoughnessFactor=e.clearcoatRoughness,e.clearcoatRoughnessMap){const t={index:n.processTexture(e.clearcoatRoughnessMap),texCoord:e.clearcoatRoughnessMap.channel};n.applyTextureTransform(t,e.clearcoatRoughnessMap),i.clearcoatRoughnessTexture=t}if(e.clearcoatNormalMap){const t={index:n.processTexture(e.clearcoatNormalMap),texCoord:e.clearcoatNormalMap.channel};n.applyTextureTransform(t,e.clearcoatNormalMap),i.clearcoatNormalTexture=t}t.extensions=t.extensions||{},t.extensions[this.name]=i,s[this.name]=!0}}class R{constructor(e){this.writer=e,this.name=\"KHR_materials_iridescence\"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||0===e.iridescence)return;const n=this.writer,s=n.extensionsUsed,i={};if(i.iridescenceFactor=e.iridescence,e.iridescenceMap){const t={index:n.processTexture(e.iridescenceMap),texCoord:e.iridescenceMap.channel};n.applyTextureTransform(t,e.iridescenceMap),i.iridescenceTexture=t}if(i.iridescenceIor=e.iridescenceIOR,i.iridescenceThicknessMinimum=e.iridescenceThicknessRange[0],i.iridescenceThicknessMaximum=e.iridescenceThicknessRange[1],e.iridescenceThicknessMap){const t={index:n.processTexture(e.iridescenceThicknessMap),texCoord:e.iridescenceThicknessMap.channel};n.applyTextureTransform(t,e.iridescenceThicknessMap),i.iridescenceThicknessTexture=t}t.extensions=t.extensions||{},t.extensions[this.name]=i,s[this.name]=!0}}class D{constructor(e){this.writer=e,this.name=\"KHR_materials_transmission\"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||0===e.transmission)return;const n=this.writer,s=n.extensionsUsed,i={};if(i.transmissionFactor=e.transmission,e.transmissionMap){const t={index:n.processTexture(e.transmissionMap),texCoord:e.transmissionMap.channel};n.applyTextureTransform(t,e.transmissionMap),i.transmissionTexture=t}t.extensions=t.extensions||{},t.extensions[this.name]=i,s[this.name]=!0}}class S{constructor(e){this.writer=e,this.name=\"KHR_materials_volume\"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||0===e.transmission)return;const n=this.writer,s=n.extensionsUsed,i={};if(i.thicknessFactor=e.thickness,e.thicknessMap){const t={index:n.processTexture(e.thicknessMap),texCoord:e.thicknessMap.channel};n.applyTextureTransform(t,e.thicknessMap),i.thicknessTexture=t}i.attenuationDistance=e.attenuationDistance,i.attenuationColor=e.attenuationColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=i,s[this.name]=!0}}class b{constructor(e){this.writer=e,this.name=\"KHR_materials_ior\"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||1.5===e.ior)return;const n=this.writer.extensionsUsed,s={};s.ior=e.ior,t.extensions=t.extensions||{},t.extensions[this.name]=s,n[this.name]=!0}}class N{constructor(e){this.writer=e,this.name=\"KHR_materials_specular\"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||1===e.specularIntensity&&e.specularColor.equals(d)&&!e.specularIntensityMap&&!e.specularColorTexture)return;const n=this.writer,s=n.extensionsUsed,i={};if(e.specularIntensityMap){const t={index:n.processTexture(e.specularIntensityMap),texCoord:e.specularIntensityMap.channel};n.applyTextureTransform(t,e.specularIntensityMap),i.specularTexture=t}if(e.specularColorMap){const t={index:n.processTexture(e.specularColorMap),texCoord:e.specularColorMap.channel};n.applyTextureTransform(t,e.specularColorMap),i.specularColorTexture=t}i.specularFactor=e.specularIntensity,i.specularColorFactor=e.specularColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=i,s[this.name]=!0}}class O{constructor(e){this.writer=e,this.name=\"KHR_materials_sheen\"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||0==e.sheen)return;const n=this.writer,s=n.extensionsUsed,i={};if(e.sheenRoughnessMap){const t={index:n.processTexture(e.sheenRoughnessMap),texCoord:e.sheenRoughnessMap.channel};n.applyTextureTransform(t,e.sheenRoughnessMap),i.sheenRoughnessTexture=t}if(e.sheenColorMap){const t={index:n.processTexture(e.sheenColorMap),texCoord:e.sheenColorMap.channel};n.applyTextureTransform(t,e.sheenColorMap),i.sheenColorTexture=t}i.sheenRoughnessFactor=e.sheenRoughness,i.sheenColorFactor=e.sheenColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=i,s[this.name]=!0}}class A{constructor(e){this.writer=e,this.name=\"KHR_materials_emissive_strength\"}writeMaterial(e,t){if(!e.isMeshStandardMaterial||1===e.emissiveIntensity)return;const n=this.writer.extensionsUsed,s={};s.emissiveStrength=e.emissiveIntensity,t.extensions=t.extensions||{},t.extensions[this.name]=s,n[this.name]=!0}}a.Utils={insertKeyframe:function(e,t){const n=.001,s=e.getValueSize(),i=new e.TimeBufferType(e.times.length+1),a=new e.ValueBufferType(e.values.length+s),l=e.createInterpolant(new e.ValueBufferType(s));let r;if(0===e.times.length){i[0]=t;for(let e=0;ee.times[e.times.length-1]){if(Math.abs(e.times[e.times.length-1]-t)t){i.set(e.times.slice(0,o+1),0),i[o+1]=t,i.set(e.times.slice(o+1),o+2),a.set(e.values.slice(0,(o+1)*s),0),a.set(l.evaluate(t),(o+1)*s),a.set(e.values.slice((o+1)*s),(o+2)*s),r=o+1;break}}return e.times=i,e.values=a,r},mergeMorphTargetTracks:function(e,t){const n=[],i={},a=e.tracks;for(let e=0;e{\"use strict\";n.d(t,{n4:()=>i});var s=n(8823);function i(e,t=!1){const n=null!==e[0].index,i=new Set(Object.keys(e[0].attributes)),l=new Set(Object.keys(e[0].morphAttributes)),r={},o={},c=e[0].morphTargetsRelative,u=new s.u9r;let p=0;for(let s=0;s{\"use strict\";n.d(t,{W2J:()=>s});const s=35044},2040:(e,t,n)=>{\"use strict\";n.d(t,{Tl:()=>c});var s=n(3262),i=n(6672),a=n(1965),l=n(8965);const r=new s.P,o=new i.F;class c{constructor(e,t,n=!1){if(Array.isArray(e))throw new TypeError(\"THREE.BufferAttribute: array should be a Typed Array.\");this.isBufferAttribute=!0,this.name=\"\",this.array=e,this.itemSize=t,this.count=void 0!==e?e.length/t:0,this.normalized=n,this.usage=l.W2J,this.updateRange={offset:0,count:-1},this.version=0}onUploadCallback(){}set needsUpdate(e){!0===e&&this.version++}setUsage(e){return this.usage=e,this}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}copyAt(e,t,n){e*=this.itemSize,n*=t.itemSize;for(let s=0,i=this.itemSize;s{\"use strict\";function s(e,t,n){return Math.max(t,Math.min(n,e))}function i(e,t){switch(t.constructor){case Float32Array:return e;case Uint16Array:return e/65535;case Uint8Array:return e/255;case Int16Array:return Math.max(e/32767,-1);case Int8Array:return Math.max(e/127,-1);default:throw new Error(\"Invalid component type.\")}}function a(e,t){switch(t.constructor){case Float32Array:return e;case Uint16Array:return Math.round(65535*e);case Uint8Array:return Math.round(255*e);case Int16Array:return Math.round(32767*e);case Int8Array:return Math.round(127*e);default:throw new Error(\"Invalid component type.\")}}n.d(t,{Fv:()=>a,cY:()=>i,uZ:()=>s}),Math.PI,Math.PI},2137:(e,t,n)=>{\"use strict\";n.d(t,{_:()=>i});var s=n(1965);class i{constructor(e=0,t=0,n=0,s=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=n,this._w=s}static slerpFlat(e,t,n,s,i,a,l){let r=n[s+0],o=n[s+1],c=n[s+2],u=n[s+3];const p=i[a+0],h=i[a+1],d=i[a+2],f=i[a+3];if(0===l)return e[t+0]=r,e[t+1]=o,e[t+2]=c,void(e[t+3]=u);if(1===l)return e[t+0]=p,e[t+1]=h,e[t+2]=d,void(e[t+3]=f);if(u!==f||r!==p||o!==h||c!==d){let e=1-l;const t=r*p+o*h+c*d+u*f,n=t>=0?1:-1,s=1-t*t;if(s>Number.EPSILON){const i=Math.sqrt(s),a=Math.atan2(i,t*n);e=Math.sin(e*a)/i,l=Math.sin(l*a)/i}const i=l*n;if(r=r*e+p*i,o=o*e+h*i,c=c*e+d*i,u=u*e+f*i,e===1-l){const e=1/Math.sqrt(r*r+o*o+c*c+u*u);r*=e,o*=e,c*=e,u*=e}}e[t]=r,e[t+1]=o,e[t+2]=c,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,s,i,a){const l=n[s],r=n[s+1],o=n[s+2],c=n[s+3],u=i[a],p=i[a+1],h=i[a+2],d=i[a+3];return e[t]=l*d+c*u+r*h-o*p,e[t+1]=r*d+c*p+o*u-l*h,e[t+2]=o*d+c*h+l*p-r*u,e[t+3]=c*d-l*u-r*p-o*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,t,n,s){return this._x=e,this._y=t,this._z=n,this._w=s,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,t){const n=e._x,s=e._y,i=e._z,a=e._order,l=Math.cos,r=Math.sin,o=l(n/2),c=l(s/2),u=l(i/2),p=r(n/2),h=r(s/2),d=r(i/2);switch(a){case\"XYZ\":this._x=p*c*u+o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u-p*h*d;break;case\"YXZ\":this._x=p*c*u+o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u+p*h*d;break;case\"ZXY\":this._x=p*c*u-o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u-p*h*d;break;case\"ZYX\":this._x=p*c*u-o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u+p*h*d;break;case\"YZX\":this._x=p*c*u+o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u-p*h*d;break;case\"XZY\":this._x=p*c*u-o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u+p*h*d;break;default:console.warn(\"THREE.Quaternion: .setFromEuler() encountered an unknown order: \"+a)}return!1!==t&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const n=t/2,s=Math.sin(n);return this._x=e.x*s,this._y=e.y*s,this._z=e.z*s,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,n=t[0],s=t[4],i=t[8],a=t[1],l=t[5],r=t[9],o=t[2],c=t[6],u=t[10],p=n+l+u;if(p>0){const e=.5/Math.sqrt(p+1);this._w=.25/e,this._x=(c-r)*e,this._y=(i-o)*e,this._z=(a-s)*e}else if(n>l&&n>u){const e=2*Math.sqrt(1+n-l-u);this._w=(c-r)/e,this._x=.25*e,this._y=(s+a)/e,this._z=(i+o)/e}else if(l>u){const e=2*Math.sqrt(1+l-n-u);this._w=(i-o)/e,this._x=(s+a)/e,this._y=.25*e,this._z=(r+c)/e}else{const e=2*Math.sqrt(1+u-n-l);this._w=(a-s)/e,this._x=(i+o)/e,this._y=(r+c)/e,this._z=.25*e}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return nMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(s.uZ(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(0===n)return this;const s=Math.min(1,t/n);return this.slerp(e,s),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 0===e?(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,t){const n=e._x,s=e._y,i=e._z,a=e._w,l=t._x,r=t._y,o=t._z,c=t._w;return this._x=n*c+a*l+s*o-i*r,this._y=s*c+a*r+i*l-n*o,this._z=i*c+a*o+n*r-s*l,this._w=a*c-n*l-s*r-i*o,this._onChangeCallback(),this}slerp(e,t){if(0===t)return this;if(1===t)return this.copy(e);const n=this._x,s=this._y,i=this._z,a=this._w;let l=a*e._w+n*e._x+s*e._y+i*e._z;if(l<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,l=-l):this.copy(e),l>=1)return this._w=a,this._x=n,this._y=s,this._z=i,this;const r=1-l*l;if(r<=Number.EPSILON){const e=1-t;return this._w=e*a+t*this._w,this._x=e*n+t*this._x,this._y=e*s+t*this._y,this._z=e*i+t*this._z,this.normalize(),this._onChangeCallback(),this}const o=Math.sqrt(r),c=Math.atan2(o,l),u=Math.sin((1-t)*c)/o,p=Math.sin(t*c)/o;return this._w=a*u+this._w*p,this._x=n*u+this._x*p,this._y=s*u+this._y*p,this._z=i*u+this._z*p,this._onChangeCallback(),this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){const e=Math.random(),t=Math.sqrt(1-e),n=Math.sqrt(e),s=2*Math.PI*Math.random(),i=2*Math.PI*Math.random();return this.set(t*Math.cos(s),n*Math.sin(i),n*Math.cos(i),t*Math.sin(s))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),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}}},6672:(e,t,n)=>{\"use strict\";n.d(t,{F:()=>i});var s=n(1965);class i{constructor(e=0,t=0){i.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,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,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;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,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,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,t){return this.x=e.x-t.x,this.y=e.y-t.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){const t=this.x,n=this.y,s=e.elements;return this.x=s[0]*t+s[3]*n+s[6],this.y=s[1]*t+s[4]*n+s[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,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(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){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(s.uZ(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const n=Math.cos(t),s=Math.sin(t),i=this.x-e.x,a=this.y-e.y;return this.x=i*n-a*s+e.x,this.y=i*s+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}},3262:(e,t,n)=>{\"use strict\";n.d(t,{P:()=>a});var s=n(1965),i=n(2137);class a{constructor(e=0,t=0,n=0){a.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return void 0===n&&(n=this.z),this.x=e,this.y=t,this.z=n,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,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;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,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,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,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.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,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(r.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(r.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,s=this.z,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6]*s,this.y=i[1]*t+i[4]*n+i[7]*s,this.z=i[2]*t+i[5]*n+i[8]*s,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,s=this.z,i=e.elements,a=1/(i[3]*t+i[7]*n+i[11]*s+i[15]);return this.x=(i[0]*t+i[4]*n+i[8]*s+i[12])*a,this.y=(i[1]*t+i[5]*n+i[9]*s+i[13])*a,this.z=(i[2]*t+i[6]*n+i[10]*s+i[14])*a,this}applyQuaternion(e){const t=this.x,n=this.y,s=this.z,i=e.x,a=e.y,l=e.z,r=e.w,o=r*t+a*s-l*n,c=r*n+l*t-i*s,u=r*s+i*n-a*t,p=-i*t-a*n-l*s;return this.x=o*r+p*-i+c*-l-u*-a,this.y=c*r+p*-a+u*-i-o*-l,this.z=u*r+p*-l+o*-a-c*-i,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,s=this.z,i=e.elements;return this.x=i[0]*t+i[4]*n+i[8]*s,this.y=i[1]*t+i[5]*n+i[9]*s,this.z=i[2]*t+i[6]*n+i[10]*s,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,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(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,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,s=e.y,i=e.z,a=t.x,l=t.y,r=t.z;return this.x=s*r-i*l,this.y=i*a-n*r,this.z=n*l-s*a,this}projectOnVector(e){const t=e.lengthSq();if(0===t)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return l.copy(this).projectOnVector(e),this.sub(l)}reflect(e){return this.sub(l.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(s.uZ(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,s=this.z-e.z;return t*t+n*n+s*s}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,t,n){const s=Math.sin(t)*e;return this.x=s*Math.sin(n),this.y=Math.cos(t)*e,this.z=s*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),s=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=s,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,4*t)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,3*t)}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,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=2*(Math.random()-.5),t=Math.random()*Math.PI*2,n=Math.sqrt(1-e**2);return this.x=n*Math.cos(t),this.y=n*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const l=new a,r=new i._},8904:(e,t,n)=>{\"use strict\";n.d(t,{e:()=>I});var s=n(9477),i=n(8304);const a=new s.u9r;a.setAttribute(\"position\",new s.TlE(new Float32Array([-1,-1,3,-1,-1,3]),2)),a.setAttribute(\"uv\",new s.TlE(new Float32Array([0,0,2,0,0,2]),2)),a.boundingSphere=new s.aLr,a.computeBoundingSphere=function(){};const l=new s.iKG;class r{constructor(e){this._mesh=new s.Kj0(a,e),this._mesh.frustumCulled=!1}render(e){e.render(this._mesh,l)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}dispose(){this._mesh.material.dispose(),this._mesh.geometry.dispose()}}const o={uniforms:{sceneDiffuse:{value:null},sceneDepth:{value:null},sceneNormal:{value:null},projMat:{value:new s.yGw},viewMat:{value:new s.yGw},projViewMat:{value:new s.yGw},projectionMatrixInv:{value:new s.yGw},viewMatrixInv:{value:new s.yGw},cameraPos:{value:new s.Pa4},resolution:{value:new s.FM8},time:{value:0},samples:{value:[]},samplesR:{value:[]},bluenoise:{value:null},distanceFalloff:{value:1},radius:{value:5},near:{value:.1},far:{value:1e3},logDepth:{value:!1},ortho:{value:!1},screenSpaceRadius:{value:!1}},depthWrite:!1,depthTest:!1,vertexShader:\"\\nvarying vec2 vUv;\\nvoid main() {\\n vUv = uv;\\n gl_Position = vec4(position, 1);\\n}\",fragmentShader:\"\\n #define SAMPLES 16\\n #define FSAMPLES 16.0\\nuniform sampler2D sceneDiffuse;\\nuniform highp sampler2D sceneNormal;\\nuniform highp sampler2D sceneDepth;\\nuniform mat4 projectionMatrixInv;\\nuniform mat4 viewMatrixInv;\\nuniform mat4 projMat;\\nuniform mat4 viewMat;\\nuniform mat4 projViewMat;\\nuniform vec3 cameraPos;\\nuniform vec2 resolution;\\nuniform float time;\\nuniform vec3[SAMPLES] samples;\\nuniform float[SAMPLES] samplesR;\\nuniform float radius;\\nuniform float distanceFalloff;\\nuniform float near;\\nuniform float far;\\nuniform bool logDepth;\\nuniform bool ortho;\\nuniform bool screenSpaceRadius;\\nuniform sampler2D bluenoise;\\n varying vec2 vUv;\\n highp float linearize_depth(highp float d, highp float zNear,highp float zFar)\\n {\\n return (zFar * zNear) / (zFar - d * (zFar - zNear));\\n }\\n highp float linearize_depth_ortho(highp float d, highp float nearZ, highp float farZ) {\\n return nearZ + (farZ - nearZ) * d;\\n }\\n highp float linearize_depth_log(highp float d, highp float nearZ,highp float farZ) {\\n float depth = pow(2.0, d * log2(farZ + 1.0)) - 1.0;\\n float a = farZ / (farZ - nearZ);\\n float b = farZ * nearZ / (nearZ - farZ);\\n float linDepth = a + b / depth;\\n return ortho ? linearize_depth_ortho(\\n linDepth,\\n nearZ,\\n farZ\\n ) :linearize_depth(linDepth, nearZ, farZ);\\n }\\n\\n vec3 getWorldPosLog(vec3 posS) {\\n vec2 uv = posS.xy;\\n float z = posS.z;\\n float nearZ =near;\\n float farZ = far;\\n float depth = pow(2.0, z * log2(farZ + 1.0)) - 1.0;\\n float a = farZ / (farZ - nearZ);\\n float b = farZ * nearZ / (nearZ - farZ);\\n float linDepth = a + b / depth;\\n vec4 clipVec = vec4(uv, linDepth, 1.0) * 2.0 - 1.0;\\n vec4 wpos = projectionMatrixInv * clipVec;\\n return wpos.xyz / wpos.w;\\n }\\n vec3 getWorldPos(float depth, vec2 coord) {\\n #ifdef LOGDEPTH\\n return getWorldPosLog(vec3(coord, depth));\\n #endif\\n float z = depth * 2.0 - 1.0;\\n vec4 clipSpacePosition = vec4(coord * 2.0 - 1.0, z, 1.0);\\n vec4 viewSpacePosition = projectionMatrixInv * clipSpacePosition;\\n // Perspective division\\n vec4 worldSpacePosition = viewSpacePosition;\\n worldSpacePosition.xyz /= worldSpacePosition.w;\\n return worldSpacePosition.xyz;\\n }\\n\\n vec3 computeNormal(vec3 worldPos, vec2 vUv) {\\n ivec2 p = ivec2(vUv * resolution);\\n float c0 = texelFetch(sceneDepth, p, 0).x;\\n float l2 = texelFetch(sceneDepth, p - ivec2(2, 0), 0).x;\\n float l1 = texelFetch(sceneDepth, p - ivec2(1, 0), 0).x;\\n float r1 = texelFetch(sceneDepth, p + ivec2(1, 0), 0).x;\\n float r2 = texelFetch(sceneDepth, p + ivec2(2, 0), 0).x;\\n float b2 = texelFetch(sceneDepth, p - ivec2(0, 2), 0).x;\\n float b1 = texelFetch(sceneDepth, p - ivec2(0, 1), 0).x;\\n float t1 = texelFetch(sceneDepth, p + ivec2(0, 1), 0).x;\\n float t2 = texelFetch(sceneDepth, p + ivec2(0, 2), 0).x;\\n\\n float dl = abs((2.0 * l1 - l2) - c0);\\n float dr = abs((2.0 * r1 - r2) - c0);\\n float db = abs((2.0 * b1 - b2) - c0);\\n float dt = abs((2.0 * t1 - t2) - c0);\\n\\n vec3 ce = getWorldPos(c0, vUv).xyz;\\n\\n vec3 dpdx = (dl < dr) ? ce - getWorldPos(l1, (vUv - vec2(1.0 / resolution.x, 0.0))).xyz\\n : -ce + getWorldPos(r1, (vUv + vec2(1.0 / resolution.x, 0.0))).xyz;\\n vec3 dpdy = (db < dt) ? ce - getWorldPos(b1, (vUv - vec2(0.0, 1.0 / resolution.y))).xyz\\n : -ce + getWorldPos(t1, (vUv + vec2(0.0, 1.0 / resolution.y))).xyz;\\n\\n return normalize(cross(dpdx, dpdy));\\n}\\n\\nvoid main() {\\n vec4 diffuse = texture2D(sceneDiffuse, vUv);\\n float depth = texture2D(sceneDepth, vUv).x;\\n if (depth == 1.0) {\\n gl_FragColor = vec4(vec3(1.0), 1.0);\\n return;\\n }\\n vec3 worldPos = getWorldPos(depth, vUv);\\n // vec3 normal = texture2D(sceneNormal, vUv).rgb;//computeNormal(worldPos, vUv);\\n #ifdef HALFRES\\n vec3 normal = texture2D(sceneNormal, vUv).rgb;\\n #else\\n vec3 normal = computeNormal(worldPos, vUv);\\n #endif\\n vec4 noise = texture2D(bluenoise, gl_FragCoord.xy / 128.0);\\n vec3 randomVec = normalize(noise.rgb * 2.0 - 1.0);\\n vec3 tangent = normalize(randomVec - normal * dot(randomVec, normal));\\n vec3 bitangent = cross(normal, tangent);\\n mat3 tbn = mat3(tangent, bitangent, normal);\\n float occluded = 0.0;\\n float totalWeight = 0.0;\\n /* float radiusScreen = distance(\\n worldPos,\\n getWorldPos(depth, vUv + \\n vec2(48.0, 0.0) / resolution)\\n );/*vUv.x < 0.5 ? radius : min(distance(\\n worldPos,\\n getWorldPos(depth, vUv + \\n vec2(100.0, 0.0) / resolution)\\n ), radius);\\n float distanceFalloffScreen = radiusScreen * 0.2;*/\\n float radiusToUse = screenSpaceRadius ? distance(\\n worldPos,\\n getWorldPos(depth, vUv +\\n vec2(radius, 0.0) / resolution)\\n ) : radius;\\n float distanceFalloffToUse =screenSpaceRadius ?\\n radiusToUse * distanceFalloff\\n : distanceFalloff;\\n float bias = (0.1 / near) * fwidth(distance(worldPos, cameraPos)) / radiusToUse;\\n for(float i = 0.0; i < FSAMPLES; i++) {\\n vec3 sampleDirection = \\n tbn * \\n samples[int(i)];\\n ;\\n float moveAmt = samplesR[int(mod(i + noise.a * FSAMPLES, FSAMPLES))];\\n vec3 samplePos = worldPos + radiusToUse * moveAmt * sampleDirection;\\n vec4 offset = projMat * vec4(samplePos, 1.0);\\n offset.xyz /= offset.w;\\n offset.xyz = offset.xyz * 0.5 + 0.5;\\n float sampleDepth = textureLod(sceneDepth, offset.xy, 0.0).x;\\n /*float distSample = logDepth ? linearize_depth_log(sampleDepth, near, far) \\n (ortho ? linearize_depth_ortho(sampleDepth, near, far) : linearize_depth(sampleDepth, near, far));*/\\n #ifdef LOGDEPTH\\n float distSample = linearize_depth_log(sampleDepth, near, far);\\n #else\\n float distSample = ortho ? linearize_depth_ortho(sampleDepth, near, far) : linearize_depth(sampleDepth, near, far);\\n #endif\\n float distWorld = ortho ? linearize_depth_ortho(offset.z, near, far) : linearize_depth(offset.z, near, far);\\n float rangeCheck = smoothstep(0.0, 1.0, distanceFalloffToUse / (abs(distSample - distWorld)));\\n vec2 diff = gl_FragCoord.xy - ( offset.xy * resolution);\\n float weight = dot(sampleDirection, normal);\\n occluded += rangeCheck * weight * \\n (distSample + bias\\n < distWorld ? 1.0 : 0.0) * (\\n (dot(\\n diff,\\n diff\\n \\n ) < 1.0 || (sampleDepth == depth) || (\\n offset.x < 0.0 || offset.x > 1.0 || offset.y < 0.0 || offset.y > 1.0\\n ) ? 0.0 : 1.0)\\n );\\n totalWeight += weight;\\n }\\n float occ = clamp(1.0 - occluded / totalWeight, 0.0, 1.0);\\n gl_FragColor = vec4(0.5 + 0.5 * normal, occ);\\n}\"},c={uniforms:{sceneDiffuse:{value:null},sceneDepth:{value:null},tDiffuse:{value:null},projMat:{value:new s.yGw},viewMat:{value:new s.yGw},projectionMatrixInv:{value:new s.yGw},viewMatrixInv:{value:new s.yGw},cameraPos:{value:new s.Pa4},resolution:{value:new s.FM8},color:{value:new s.Pa4(0,0,0)},blueNoise:{value:null},downsampledDepth:{value:null},time:{value:0},intensity:{value:10},renderMode:{value:0},gammaCorrection:{value:!1},logDepth:{value:!1},ortho:{value:!1},near:{value:.1},far:{value:1e3},screenSpaceRadius:{value:!1},radius:{value:0},distanceFalloff:{value:1},fog:{value:!1},fogExp:{value:!1},fogDensity:{value:0},fogNear:{value:1/0},fogFar:{value:1/0},colorMultiply:{value:!0}},depthWrite:!1,depthTest:!1,vertexShader:\"\\n\\t\\tvarying vec2 vUv;\\n\\t\\tvoid main() {\\n\\t\\t\\tvUv = uv;\\n\\t\\t\\tgl_Position = vec4(position, 1);\\n\\t\\t}\",fragmentShader:\"\\n\\t\\tuniform sampler2D sceneDiffuse;\\n uniform highp sampler2D sceneDepth;\\n uniform highp sampler2D downsampledDepth;\\n uniform sampler2D tDiffuse;\\n uniform sampler2D blueNoise;\\n uniform vec2 resolution;\\n uniform vec3 color;\\n uniform mat4 projectionMatrixInv;\\n uniform mat4 viewMatrixInv;\\n uniform float intensity;\\n uniform float renderMode;\\n uniform float near;\\n uniform float far;\\n uniform bool gammaCorrection;\\n uniform bool logDepth;\\n uniform bool ortho;\\n uniform bool screenSpaceRadius;\\n uniform bool fog;\\n uniform bool fogExp;\\n uniform bool colorMultiply;\\n uniform float fogDensity;\\n uniform float fogNear;\\n uniform float fogFar;\\n uniform float radius;\\n uniform float distanceFalloff;\\n uniform vec3 cameraPos;\\n varying vec2 vUv;\\n highp float linearize_depth(highp float d, highp float zNear,highp float zFar)\\n {\\n return (zFar * zNear) / (zFar - d * (zFar - zNear));\\n }\\n highp float linearize_depth_ortho(highp float d, highp float nearZ, highp float farZ) {\\n return nearZ + (farZ - nearZ) * d;\\n }\\n highp float linearize_depth_log(highp float d, highp float nearZ,highp float farZ) {\\n float depth = pow(2.0, d * log2(farZ + 1.0)) - 1.0;\\n float a = farZ / (farZ - nearZ);\\n float b = farZ * nearZ / (nearZ - farZ);\\n float linDepth = a + b / depth;\\n return ortho ? linearize_depth_ortho(\\n linDepth,\\n nearZ,\\n farZ\\n ) :linearize_depth(linDepth, nearZ, farZ);\\n }\\n vec3 getWorldPosLog(vec3 posS) {\\n vec2 uv = posS.xy;\\n float z = posS.z;\\n float nearZ =near;\\n float farZ = far;\\n float depth = pow(2.0, z * log2(farZ + 1.0)) - 1.0;\\n float a = farZ / (farZ - nearZ);\\n float b = farZ * nearZ / (nearZ - farZ);\\n float linDepth = a + b / depth;\\n vec4 clipVec = vec4(uv, linDepth, 1.0) * 2.0 - 1.0;\\n vec4 wpos = projectionMatrixInv * clipVec;\\n return wpos.xyz / wpos.w;\\n }\\n vec3 getWorldPos(float depth, vec2 coord) {\\n // if (logDepth) {\\n #ifdef LOGDEPTH\\n return getWorldPosLog(vec3(coord, depth));\\n #endif\\n // }\\n float z = depth * 2.0 - 1.0;\\n vec4 clipSpacePosition = vec4(coord * 2.0 - 1.0, z, 1.0);\\n vec4 viewSpacePosition = projectionMatrixInv * clipSpacePosition;\\n // Perspective division\\n vec4 worldSpacePosition = viewSpacePosition;\\n worldSpacePosition.xyz /= worldSpacePosition.w;\\n return worldSpacePosition.xyz;\\n }\\n \\n vec3 computeNormal(vec3 worldPos, vec2 vUv) {\\n ivec2 p = ivec2(vUv * resolution);\\n float c0 = texelFetch(sceneDepth, p, 0).x;\\n float l2 = texelFetch(sceneDepth, p - ivec2(2, 0), 0).x;\\n float l1 = texelFetch(sceneDepth, p - ivec2(1, 0), 0).x;\\n float r1 = texelFetch(sceneDepth, p + ivec2(1, 0), 0).x;\\n float r2 = texelFetch(sceneDepth, p + ivec2(2, 0), 0).x;\\n float b2 = texelFetch(sceneDepth, p - ivec2(0, 2), 0).x;\\n float b1 = texelFetch(sceneDepth, p - ivec2(0, 1), 0).x;\\n float t1 = texelFetch(sceneDepth, p + ivec2(0, 1), 0).x;\\n float t2 = texelFetch(sceneDepth, p + ivec2(0, 2), 0).x;\\n \\n float dl = abs((2.0 * l1 - l2) - c0);\\n float dr = abs((2.0 * r1 - r2) - c0);\\n float db = abs((2.0 * b1 - b2) - c0);\\n float dt = abs((2.0 * t1 - t2) - c0);\\n \\n vec3 ce = getWorldPos(c0, vUv).xyz;\\n \\n vec3 dpdx = (dl < dr) ? ce - getWorldPos(l1, (vUv - vec2(1.0 / resolution.x, 0.0))).xyz\\n : -ce + getWorldPos(r1, (vUv + vec2(1.0 / resolution.x, 0.0))).xyz;\\n vec3 dpdy = (db < dt) ? ce - getWorldPos(b1, (vUv - vec2(0.0, 1.0 / resolution.y))).xyz\\n : -ce + getWorldPos(t1, (vUv + vec2(0.0, 1.0 / resolution.y))).xyz;\\n \\n return normalize(cross(dpdx, dpdy));\\n }\\n\\n #include \\n #include \\n void main() {\\n //vec4 texel = texture2D(tDiffuse, vUv);//vec3(0.0);\\n vec4 sceneTexel = texture2D(sceneDiffuse, vUv);\\n float depth = texture2D(\\n sceneDepth,\\n vUv\\n ).x;\\n #ifdef HALFRES \\n vec4 texel;\\n if (depth == 1.0) {\\n texel = vec4(0.0, 0.0, 0.0, 1.0);\\n } else {\\n vec3 worldPos = getWorldPos(depth, vUv);\\n vec3 normal = computeNormal(getWorldPos(depth, vUv), vUv);\\n // vec4 texel = texture2D(tDiffuse, vUv);\\n // Find closest depth;\\n float totalWeight = 0.0;\\n float radiusToUse = screenSpaceRadius ? distance(\\n worldPos,\\n getWorldPos(depth, vUv +\\n vec2(radius, 0.0) / resolution)\\n ) : radius;\\n float distanceFalloffToUse =screenSpaceRadius ?\\n radiusToUse * distanceFalloff\\n : distanceFalloff;\\n for(float x = -1.0; x <= 1.0; x++) {\\n for(float y = -1.0; y <= 1.0; y++) {\\n vec2 offset = vec2(x, y);\\n ivec2 p = ivec2(\\n (vUv * resolution * 0.5) + offset\\n );\\n vec2 pUv = vec2(p) / (resolution * 0.5);\\n float sampleDepth = texelFetch(downsampledDepth,p, 0).x;\\n vec4 sampleInfo = texelFetch(tDiffuse, p, 0);\\n vec3 normalSample = sampleInfo.xyz * 2.0 - 1.0;\\n vec3 worldPosSample = getWorldPos(sampleDepth, pUv);\\n float tangentPlaneDist = abs(dot(worldPos - worldPosSample, normal));\\n float rangeCheck = exp(-1.0 * tangentPlaneDist * (1.0 / distanceFalloffToUse)) * max(dot(normal, normalSample), 0.0);\\n float weight = rangeCheck;\\n totalWeight += weight;\\n texel += sampleInfo * weight;\\n }\\n }\\n if (totalWeight == 0.0) {\\n texel = texture2D(tDiffuse, vUv);\\n } else {\\n texel /= totalWeight;\\n }\\n }\\n #else\\n vec4 texel = texture2D(tDiffuse, vUv);\\n #endif\\n\\n #ifdef LOGDEPTH\\n texel.a = clamp(texel.a, 0.0, 1.0);\\n if (texel.a == 0.0) {\\n texel.a = 1.0;\\n }\\n #endif\\n \\n float finalAo = pow(texel.a, intensity);\\n float fogFactor;\\n float fogDepth = distance(\\n cameraPos,\\n getWorldPos(depth, vUv)\\n );\\n if (fog) {\\n if (fogExp) {\\n fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );\\n } else {\\n fogFactor = smoothstep( fogNear, fogFar, fogDepth );\\n }\\n }\\n finalAo = mix(finalAo, 1.0, fogFactor);\\n vec3 aoApplied = color * mix(vec3(1.0), sceneTexel.rgb, float(colorMultiply));\\n if (renderMode == 0.0) {\\n gl_FragColor = vec4( mix(sceneTexel.rgb, aoApplied, 1.0 - finalAo), sceneTexel.a);\\n } else if (renderMode == 1.0) {\\n gl_FragColor = vec4( mix(vec3(1.0), aoApplied, 1.0 - finalAo), sceneTexel.a);\\n } else if (renderMode == 2.0) {\\n gl_FragColor = vec4( sceneTexel.rgb, sceneTexel.a);\\n } else if (renderMode == 3.0) {\\n if (vUv.x < 0.5) {\\n gl_FragColor = vec4( sceneTexel.rgb, sceneTexel.a);\\n } else if (abs(vUv.x - 0.5) < 1.0 / resolution.x) {\\n gl_FragColor = vec4(1.0);\\n } else {\\n gl_FragColor = vec4( mix(sceneTexel.rgb, aoApplied, 1.0 - finalAo), sceneTexel.a);\\n }\\n } else if (renderMode == 4.0) {\\n if (vUv.x < 0.5) {\\n gl_FragColor = vec4( sceneTexel.rgb, sceneTexel.a);\\n } else if (abs(vUv.x - 0.5) < 1.0 / resolution.x) {\\n gl_FragColor = vec4(1.0);\\n } else {\\n gl_FragColor = vec4( mix(vec3(1.0), aoApplied, 1.0 - finalAo), sceneTexel.a);\\n }\\n }\\n #include \\n if (gammaCorrection) {\\n gl_FragColor = LinearTosRGB(gl_FragColor);\\n }\\n }\\n \"},u={uniforms:{sceneDiffuse:{value:null},sceneDepth:{value:null},tDiffuse:{value:null},projMat:{value:new s.yGw},viewMat:{value:new s.yGw},projectionMatrixInv:{value:new s.yGw},viewMatrixInv:{value:new s.yGw},cameraPos:{value:new s.Pa4},resolution:{value:new s.FM8},time:{value:0},r:{value:5},blueNoise:{value:null},radius:{value:12},worldRadius:{value:5},index:{value:0},poissonDisk:{value:[]},distanceFalloff:{value:1},near:{value:.1},far:{value:1e3},logDepth:{value:!1},screenSpaceRadius:{value:!1}},depthWrite:!1,depthTest:!1,vertexShader:\"\\n\\t\\tvarying vec2 vUv;\\n\\t\\tvoid main() {\\n\\t\\t\\tvUv = uv;\\n\\t\\t\\tgl_Position = vec4(position, 1.0);\\n\\t\\t}\",fragmentShader:\"\\n\\t\\tuniform sampler2D sceneDiffuse;\\n uniform highp sampler2D sceneDepth;\\n uniform sampler2D tDiffuse;\\n uniform sampler2D blueNoise;\\n uniform mat4 projectionMatrixInv;\\n uniform mat4 viewMatrixInv;\\n uniform vec2 resolution;\\n uniform float r;\\n uniform float radius;\\n uniform float worldRadius;\\n uniform float index;\\n uniform float near;\\n uniform float far;\\n uniform float distanceFalloff;\\n uniform bool logDepth;\\n uniform bool screenSpaceRadius;\\n varying vec2 vUv;\\n\\n highp float linearize_depth(highp float d, highp float zNear,highp float zFar)\\n {\\n highp float z_n = 2.0 * d - 1.0;\\n return 2.0 * zNear * zFar / (zFar + zNear - z_n * (zFar - zNear));\\n }\\n highp float linearize_depth_log(highp float d, highp float nearZ,highp float farZ) {\\n float depth = pow(2.0, d * log2(farZ + 1.0)) - 1.0;\\n float a = farZ / (farZ - nearZ);\\n float b = farZ * nearZ / (nearZ - farZ);\\n float linDepth = a + b / depth;\\n return linearize_depth(linDepth, nearZ, farZ);\\n }\\n highp float linearize_depth_ortho(highp float d, highp float nearZ, highp float farZ) {\\n return nearZ + (farZ - nearZ) * d;\\n }\\n vec3 getWorldPosLog(vec3 posS) {\\n vec2 uv = posS.xy;\\n float z = posS.z;\\n float nearZ =near;\\n float farZ = far;\\n float depth = pow(2.0, z * log2(farZ + 1.0)) - 1.0;\\n float a = farZ / (farZ - nearZ);\\n float b = farZ * nearZ / (nearZ - farZ);\\n float linDepth = a + b / depth;\\n vec4 clipVec = vec4(uv, linDepth, 1.0) * 2.0 - 1.0;\\n vec4 wpos = projectionMatrixInv * clipVec;\\n return wpos.xyz / wpos.w;\\n }\\n vec3 getWorldPos(float depth, vec2 coord) {\\n #ifdef LOGDEPTH\\n return getWorldPosLog(vec3(coord, depth));\\n #endif\\n \\n float z = depth * 2.0 - 1.0;\\n vec4 clipSpacePosition = vec4(coord * 2.0 - 1.0, z, 1.0);\\n vec4 viewSpacePosition = projectionMatrixInv * clipSpacePosition;\\n // Perspective division\\n vec4 worldSpacePosition = viewSpacePosition;\\n worldSpacePosition.xyz /= worldSpacePosition.w;\\n return worldSpacePosition.xyz;\\n }\\n #include \\n #define NUM_SAMPLES 16\\n uniform vec2 poissonDisk[NUM_SAMPLES];\\n void main() {\\n const float pi = 3.14159;\\n vec2 texelSize = vec2(1.0 / resolution.x, 1.0 / resolution.y);\\n vec2 uv = vUv;\\n vec4 data = texture2D(tDiffuse, vUv);\\n float occlusion = data.a;\\n float baseOcc = data.a;\\n vec3 normal = data.rgb * 2.0 - 1.0;\\n float count = 1.0;\\n float d = texture2D(sceneDepth, vUv).x;\\n if (d == 1.0) {\\n gl_FragColor = data;\\n return;\\n }\\n vec3 worldPos = getWorldPos(d, vUv);\\n float size = radius;\\n float angle;\\n if (index == 0.0) {\\n angle = texture2D(blueNoise, gl_FragCoord.xy / 128.0).x * PI2;\\n } else if (index == 1.0) {\\n angle = texture2D(blueNoise, gl_FragCoord.xy / 128.0).y * PI2;\\n } else if (index == 2.0) {\\n angle = texture2D(blueNoise, gl_FragCoord.xy / 128.0).z * PI2;\\n } else {\\n angle = texture2D(blueNoise, gl_FragCoord.xy / 128.0).w * PI2;\\n }\\n\\n mat2 rotationMatrix = mat2(cos(angle), -sin(angle), sin(angle), cos(angle));\\n float radiusToUse = screenSpaceRadius ? distance(\\n worldPos,\\n getWorldPos(d, vUv +\\n vec2(worldRadius, 0.0) / resolution)\\n ) : worldRadius;\\n float distanceFalloffToUse =screenSpaceRadius ?\\n radiusToUse * distanceFalloff\\n : distanceFalloff;\\n\\n\\n for(int i = 0; i < NUM_SAMPLES; i++) {\\n vec2 offset = (rotationMatrix * poissonDisk[i]) * texelSize * size;\\n vec4 dataSample = texture2D(tDiffuse, uv + offset);\\n float occSample = dataSample.a;\\n vec3 normalSample = dataSample.rgb * 2.0 - 1.0;\\n float dSample = texture2D(sceneDepth, uv + offset).x;\\n vec3 worldPosSample = getWorldPos(dSample, uv + offset);\\n float tangentPlaneDist = abs(dot(worldPos - worldPosSample, normal));\\n float rangeCheck = dSample == 1.0 ? 0.0 :exp(-1.0 * tangentPlaneDist * (1.0 / distanceFalloffToUse)) * max(dot(normal, normalSample), 0.0) * (1.0 - abs(occSample - baseOcc));\\n occlusion += occSample * rangeCheck;\\n count += rangeCheck;\\n }\\n if (count > 0.0) {\\n occlusion /= count;\\n }\\n #ifdef LOGDEPTH\\n occlusion = clamp(occlusion, 0.0, 1.0);\\n if (occlusion == 0.0) {\\n occlusion = 1.0;\\n }\\n #endif\\n gl_FragColor = vec4(0.5 + 0.5 * normal, occlusion);\\n }\\n \"},p={uniforms:{sceneDepth:{value:null},resolution:{value:new s.FM8},near:{value:.1},far:{value:1e3},viewMatrixInv:{value:new s.yGw},projectionMatrixInv:{value:new s.yGw},logDepth:{value:!1}},depthWrite:!1,depthTest:!1,vertexShader:\"\\n varying vec2 vUv;\\n void main() {\\n vUv = uv;\\n gl_Position = vec4(position, 1);\\n }\",fragmentShader:\"\\n uniform highp sampler2D sceneDepth;\\n uniform vec2 resolution;\\n uniform float near;\\n uniform float far;\\n uniform bool logDepth;\\n uniform mat4 viewMatrixInv;\\n uniform mat4 projectionMatrixInv;\\n varying vec2 vUv;\\n layout(location = 1) out vec4 gNormal;\\n vec3 getWorldPosLog(vec3 posS) {\\n vec2 uv = posS.xy;\\n float z = posS.z;\\n float nearZ =near;\\n float farZ = far;\\n float depth = pow(2.0, z * log2(farZ + 1.0)) - 1.0;\\n float a = farZ / (farZ - nearZ);\\n float b = farZ * nearZ / (nearZ - farZ);\\n float linDepth = a + b / depth;\\n vec4 clipVec = vec4(uv, linDepth, 1.0) * 2.0 - 1.0;\\n vec4 wpos = projectionMatrixInv * clipVec;\\n return wpos.xyz / wpos.w;\\n }\\n vec3 getWorldPos(float depth, vec2 coord) {\\n if (logDepth) {\\n return getWorldPosLog(vec3(coord, depth));\\n }\\n float z = depth * 2.0 - 1.0;\\n vec4 clipSpacePosition = vec4(coord * 2.0 - 1.0, z, 1.0);\\n vec4 viewSpacePosition = projectionMatrixInv * clipSpacePosition;\\n // Perspective division\\n vec4 worldSpacePosition = viewSpacePosition;\\n worldSpacePosition.xyz /= worldSpacePosition.w;\\n return worldSpacePosition.xyz;\\n }\\n \\n vec3 computeNormal(vec3 worldPos, vec2 vUv) {\\n ivec2 p = ivec2(vUv * resolution);\\n float c0 = texelFetch(sceneDepth, p, 0).x;\\n float l2 = texelFetch(sceneDepth, p - ivec2(2, 0), 0).x;\\n float l1 = texelFetch(sceneDepth, p - ivec2(1, 0), 0).x;\\n float r1 = texelFetch(sceneDepth, p + ivec2(1, 0), 0).x;\\n float r2 = texelFetch(sceneDepth, p + ivec2(2, 0), 0).x;\\n float b2 = texelFetch(sceneDepth, p - ivec2(0, 2), 0).x;\\n float b1 = texelFetch(sceneDepth, p - ivec2(0, 1), 0).x;\\n float t1 = texelFetch(sceneDepth, p + ivec2(0, 1), 0).x;\\n float t2 = texelFetch(sceneDepth, p + ivec2(0, 2), 0).x;\\n \\n float dl = abs((2.0 * l1 - l2) - c0);\\n float dr = abs((2.0 * r1 - r2) - c0);\\n float db = abs((2.0 * b1 - b2) - c0);\\n float dt = abs((2.0 * t1 - t2) - c0);\\n \\n vec3 ce = getWorldPos(c0, vUv).xyz;\\n \\n vec3 dpdx = (dl < dr) ? ce - getWorldPos(l1, (vUv - vec2(1.0 / resolution.x, 0.0))).xyz\\n : -ce + getWorldPos(r1, (vUv + vec2(1.0 / resolution.x, 0.0))).xyz;\\n vec3 dpdy = (db < dt) ? ce - getWorldPos(b1, (vUv - vec2(0.0, 1.0 / resolution.y))).xyz\\n : -ce + getWorldPos(t1, (vUv + vec2(0.0, 1.0 / resolution.y))).xyz;\\n \\n return normalize(cross(dpdx, dpdy));\\n }\\n void main() {\\n vec2 uv = vUv - vec2(0.5) / resolution;\\n vec2 pixelSize = vec2(1.0) / resolution;\\n vec2[] uvSamples = vec2[4](\\n uv,\\n uv + vec2(pixelSize.x, 0.0),\\n uv + vec2(0.0, pixelSize.y),\\n uv + pixelSize\\n );\\n float depth00 = texture2D(sceneDepth, uvSamples[0]).r;\\n float depth10 = texture2D(sceneDepth, uvSamples[1]).r;\\n float depth01 = texture2D(sceneDepth, uvSamples[2]).r;\\n float depth11 = texture2D(sceneDepth, uvSamples[3]).r;\\n float minDepth = min(min(depth00, depth10), min(depth01, depth11));\\n float maxDepth = max(max(depth00, depth10), max(depth01, depth11));\\n float targetDepth = minDepth;\\n // Checkerboard pattern to avoid artifacts\\n if (mod(gl_FragCoord.x + gl_FragCoord.y, 2.0) > 0.5) { \\n targetDepth = maxDepth;\\n }\\n int chosenIndex = 0;\\n float[] samples = float[4](depth00, depth10, depth01, depth11);\\n for(int i = 0; i < 4; ++i) {\\n if (samples[i] == targetDepth) {\\n chosenIndex = i;\\n break;\\n }\\n }\\n gl_FragColor = vec4(samples[chosenIndex], 0.0, 0.0, 1.0);\\n gNormal = vec4(computeNormal(\\n getWorldPos(samples[chosenIndex], uvSamples[chosenIndex]), uvSamples[chosenIndex]\\n ), 0.0);\\n /* float[] samples = float[4](depth00, depth10, depth01, depth11);\\n float c = 0.25 * (depth00 + depth10 + depth01 + depth11);\\n float[] distances = float[4](depth00, depth10, depth01, depth11);\\n float maxDistance = max(max(distances[0], distances[1]), max(distances[2], distances[3]));\\n\\n int remaining[3];\\n int rejected[3];\\n int i, j, k;\\n\\n for(i = 0, j = 0, k = 0; i < 4; ++i) {\\n if (distances[i] < maxDistance) {\\n remaining[j++] = i;\\n } else {\\n rejected[k++] = i;\\n }\\n }\\n for(;j < 3;++j) {\\n remaining[j] = rejected[--k];\\n }\\n vec3 s = vec3(\\n samples[remaining[0]],\\n samples[remaining[1]],\\n samples[remaining[2]]\\n );\\n c = (s.x + s.y + s.z) / 3.0;\\n\\n distances[0] = abs(c - s.x);\\n distances[1] = abs(c - s.y);\\n distances[2] = abs(c - s.z);\\n\\n float minDistance = min(min(distances[0], distances[1]), distances[2]);\\n\\n for(i = 0; i < 3; ++i) {\\n if (distances[i] == minDistance) {\\n break;\\n }\\n }*/\\n /* gl_FragColor = vec4(samples[remaining[i]], 0.0, 0.0, 0.0);\\n gNormal = vec4(computeNormal(\\n getWorldPos(samples[remaining[i]], uvSamples[remaining[i]]), uvSamples[remaining[i]]\\n ), 0.0);*/\\n }\"};var h=\"5L7pP4UXrOIr/VZ1G3f6p89FIWU7lqc7J3DPxKjJUXODJoHQzf/aNVM+ABlvhXeBGN7iC0WkmTjEaAqOItBfBdaK5KSGV1ET5SOKl3x9JOX5w2sAl6+6KjDhVUHgbqq7DZ5EeYzbdSNxtrQLW/KkPJoOTG4u5CBUZkCKHniY9l7DUgjuz708zG1HIC8qfohi1vPjPH9Lq47ksjRrjwXD4MlVCjdAqYFGodQ8tRmHkOfq4wVRIAHvoavPHvN1lpk3X4Y1yzAPGe8S9KBs3crc4GwlU1dEOXiWol/mgQqxkNqB1xd04+0Bmpwj0GcCc4NUi+c731FUxjvaexCkCJ0qhrJJ++htWqetNC4NewClu8aFRSwrqiJEGe+qtTg4CYCHaF1wJI0sy/ZBQAI0qAMyBvVjWZlv2pdkCaro9eWDLK5I4mbb8E4d7hZr9dDJiTJm6Bmb5S+2F7yal/JPdeLUfwq7jmVLaQfhv4tWMJAt7V4sG9LuAv2oPJgSj1nnlBvPibfHM2TrlWHwGCLGxW/5Jm2TotaDL+pHDM5pn1r0UuTZ24N8S5k68bLHW9tfD+2k4zGev23ExJb4YTRKWrj82N5LjJ26lj1BkGZ0CsXLGGELoPaYQomjTqPxYqhfwOwDliNGVqux9ffuybqOKgsbB51B1GbZfG8vHDBE2JQGib1mnCmWOWAMJcHN0cKeDHYTflbDTVXajtr68mwfRje6WueQ/6yWqmZMLWNH7P27zGFhMFqaqfg11Q88g/9UA/FROe9yfq0yOO0pnNAxvepFy2BpEbcgG+mCyjCC01JWlOZlIPdf1TtlyOt7L94ToYGCukoFt4OqwOrofamjECpSgKLLmrRM+sNRAw12eaqk8KtdFk7pn2IcDQiPXCh16t1a+psi+w9towHTKPyQM0StKr61b2BnN1HU+aezFNBLfHTiXwhGTbdxLLmrsAGIVSiNAeCGE8GlB0iOv2v78kP0CTmAPUEqnHYRSDlP+L6m/rYjEK6Q85GRDJi2W20/7NLPpSOaMR++IFvpkcwRuc59j8hh9tYlc1xjdt2jmp9KJczB7U9P43inuxLOv11P5/HYH5d6gLB0CsbGC8APjh+EcCP0zFWqlaACZweLhVfv3yiyd8R3bdVg8sRKsxPvhDaPpiFp9+MN+0Ua0bsPr+lhxfZhMhlevkLbR4ZvcSRP6ApQLy3+eMh9ehCB3z5DVAaN3P6J8pi5Qa88ZQsOuCTWyH6q8yMfBw8y8nm6jaOxJhPH6Hf0I4jmALUBsWKH4gWBnyijHh7z3/1HhQzFLRDRrIQwUtu11yk7U0gDw/FatOIZOJaBx3UqbUxSZ6dboFPm5pAyyXC2wYdSWlpZx/D2C6hDO2sJM4HT9IKWWmDkZIO2si/6BKHruXIEDpfAtz3xDlIdKnnlqnkfCyy6vNOPyuoWsSWBeiN0mcfIrnOtp2j7bxjOkr25skfS/lwOC692cEp7TKSlymbsyzoWg/0AN66SvQYo6BqpNwPpTaUu25zMWlwVUdfu1EEdc0O06TI0JmHk4f6GZQbfOs//OdgtGPO6uLoadJycR8Z80rkd88QoNmimZd8vcpQKScCFkxH1RMTkPlN3K7CL/NSMOiXEvxrn9VyUPFee63uRflgaPMSsafvqMgzTt3T1RaHNLLFatQbD0Vha4YXZ/6Ake7onM65nC9cyLkteYkDfHoJtef7wCrWXTK0+vH38VUBcFJP0+uUXpkiK0gDXNA39HL/qdVcaOA16kd2gzq8aHpNSaKtgMLJC6fdLLS/I/4lUWV2+djY9Rc3QuJOUrlHFQERtXN4xJaAHZERCUQZ9ND2pEtZg8dsnilcnqmqYn3c1sRyK0ziKpHNytEyi2gmzxEFchvT1uBWxZUikkAlWuyqvvhteSG9kFhTLNM97s3X1iS2UbE6cvApgbmeJ/KqtP0NNT3bZiG9TURInCZtVsNZzYus6On0wcdMlVfqo8XLhT5ojaOk4DtCyeoQkBt1mf5luFNaLFjI/1cnPefyCQwcq5ia/4pN4NB+xE/3SEPsliJypS964SI6o5fDVa0IERR8DoeQ+1iyRLU1qGYexB61ph4pkG1rf3c2YD6By1pFCmww9B0r2VjFeaubkIdgWx4RKLQRPLENdGo8ezI5mkNtdCws19aP1uHhenD+HKa8GDeLulb2fiMRhU2xJzzz9e4yOMPvEnGEfbCiQ17nUDpcFDWthr68mhZ4WiHUkRpaVWJNExuULcGkuyVLsQj59pf6OHFR7tofhy9FMrWPCEvX1d5sCVJt8yBFiB6NoOuwMy4wlso9I2G4E5/5B2c6vIZUUY9fFujT3hpkdTuVhbhBwLCtnlIjBpN4cq+waZ0wXSrmebcl+dcrb7sPh9jKxFINkScDTBgjSUfLkC3huJJs/M4M8AOFxbbSIVpBUarYFmLpGsv+V6TJnWNTwI41tubwo7QSI1VOdRKT/Pp8U3oK2ciDbeuWnAGAANvQjGfcewdAdo6H83XzqlK/4yudtFHJSv9Y+qJskwnVToH1I0+tJ3vsLBXtlvMzLIxUj/8LcqZnrNHfVRgabFNXW0qpUvDgxnP3f54KooR3NI+2Q/VHAYFigMkQE5dLH6C6fGs/TKeE6E2jOhZQcP9/rrJjJKcLYdn5cw6XLCUe9F7quk5Yhac+nYL5HOXvp6Q/5qbiQHkuebanX77YSNx34YaWYpcEHuY1u/lEVTCQ7taPaw3oNcn/qJhMzGPZUs3XAq48wj/hCIO2d5aFdfXnS0yg57/jxzDJBwkdOgeVnyyh19Iz1UqiysT4J1eeKwUuWEYln23ydtP7g3R1BnvnxqFPAnOMgOIop2dkXPfUh/9ZKV3ZQbZNactPD4ql5Qg9CxSBnIwzlj/tseQKWRstwNbf17neGwDFFWdm/8f+nDWt/WlKV3MUiAm3ci6xXMDSL5ubPXBg/gKEE7TsZVGUcrIbdXILcMngvGs7unvlPJh6oadeBDqiAviIZ/iyiUMdQZAuf/YBAY0VP1hcgInuWoKbx31AOjyTN2OOHrlthB3ny9JKHOAc8BMvqopikPldcwIQoFxTccKKIeI815GcwaKDLsMbCsxegrzXl8E0bpic/xffU9y1DCgeKZoF2PIY77RIn6kSRdBiGd8NtNwT74dyeFBMkYraPkudN26x9NPuBt4iCOAnBFaNSKVgKiZQruw22kM1fgBKG7cPYAxdHJ8M4V/jzBn2jEJg+jk/jjV4oMmMNOpKB5oVpVh7tK529Z+5vKZ0NSY2A4YdcT0x4BdkoNEDrpsTmekSTjvx9ZBiTHrm9M/n/hGmgpjz4WEjttRfAEy5DYH5vCK/9GuVPa4hoApFaNlrFD/n2PpKOw24iKujKhVIz41p1E0HwsCd/c17OA0H0RjZi1V/rjJLexUzpmXTMIMuzaOBbU4dxvQMgyvxJvR6DyF3BaHkaqT4P3FRYlm+zh8EEGgmkNqD1WRUubDW62VqLoH8UEelIpL7C8CguWWGGCAIDPma9bnh+7IJSt0Cn6ACER2mYk8dLsrN70RUVLiE0ig+08yPY9IOtuqHf/KYsT84BwhMcVq7t8q1WVjpJGNyXdtIPIjhAzabtrX03Itn29QO3TCixE9WpkHIOdAoGvqCrw1D3x9g9Px8u0yZZuulZuGy0veSY34KDSlhsO1zx2ZMrpDBzCHPB4niwApk6NevIvmBxU3+4yaewDvgEQDJ6Of5iRxjAIpp9UO8EzNY4blj4qh8SCSZTqbe/lShE6tNU9Y5IoWHeJxPcHF9KwYQD7lFcIpcscHrcfkHJfL2lL1zczKywEF7BwkjXEirgBcvNWayatqdTVT5oLbzTmED3EOYBSXFyb2VIYk3t0dOZWJdG1nP+W7Qfyeb8MSIyUGKEA57ptPxrPHKYGZPHsuBqQuVSrn0i8KJX+rlzAqo8AawchsJ26FckxTf5+joTcw+2y8c8bushpRYEbgrdr64ltEYPV2AbVgKXV3XACoD1gbs01CExbJALkuItjfYN3+6I8kbiTYmdzBLaNC+xu9z/eXcRQV1Lo8cJoSsKyWJPuTncu5vcmfMUAWmuwhjymK1rhYR8pQMXNQg9X+5ha5fEnap+LhUL1d5SURZz9rGdOWLhrMcMKSaU3LhOQ/6a6qSCwgzQxCW2gFs53fpvfWxhH+xDHdKRV6w29nQ6rNqd9by+zm1OpzYyJwvFyOkrVXQUwt4HaapnweCa7Tj2Mp/tT4YcY3Q/tk1czgkzlV5mpDrdp1spOYB8ionAwxujjdhj5y9qEHu0uc36PAKAYsKLaEoiwPnob0pdluPWdv4sNSlG8GWViI+x/Z4DkW/kSs2iE3ADFjg4TCvgCbX3v0Hz0KZkerrpzEIukAusidDs2g/w0zgmLnZXvVr5kkpwQTLZ0L6uaTHl0LVikIuNIVPmL3fOQJqIdfzymUN0zucIrDintBn6ICl/inj5zteISv5hEMGMqtHc2ghcFJvmH3ZhIZi34vqqTFCb9pltTYz582Y3dwYaHb9khdfve1YryzEwEKbI8qm62qv+NyllC+WxLLAJjz0ZaEF2aTn35qeFmkbP6LDYcbwqWxA0WKsteB7vy8bRHE4r8LhubWDc0pbe90XckSDDAkRej0TQlmWsWwaz18Tx2phykVvwuIRzf4kt9srT8N7gsMjMs0NLAAldabFf2tiMoaaxHcZSX51WPc1BrwApMxih227qTZkcgtkdK1h314XvZKUKh/XysWYnk1ST4kiBI1B9OlfTjB3WHzTAReFLofsGtikwpIXzQBc/gOjz2Thlj36WN0sxyf4RmAFtrYt64fwm+ThjbhlmUTZzebLl4yAkAqzJSfjPBZS2H/IvkkTUdVh0qdB6EuiHEjEil5lk9BTPzxmoW4Jx543hiyy4ASdYA2DNoprsR9iwGFwFG3F2vIROy4L5CZrl230+k733JwboSNBKngsaFPtqo+q3mFFSjC1k0kIAFmKihaYSwaSF7konmYHZWmchuaq15TpneA2ADSRvA07I7US0lTOOfKrgxhzRl0uJihcEZhhYWxObjvNTJ/5sR4Aa5wOQhGClGLb746cJhQ2E6Jie1hbGgWxUH7YSKETptrTeR/xfcMNk2WM12S0XElC9klR8O7jLYekEOZdscP0ypSdoCVZAoK+2ju2PHE869Q9rxCs9DVQco4BriiPbCjN/8tBjsah4IuboR5QbmbyDpcdXVxGMxvWKIjocBuKbjb+B4HvkunbG0wX0IFCjQKoNMFIKcJSJXtkP3EO+J16uh4img0LQlBAOYwBLupu5r1NALMo0g3xkd9b4f7KoCBWHeyk24FmYUCy/PGLv0xErOTyORp8TJ5nnc2k1dOVBTJok7iHye9dwxwRVP3c7eAS8pMmJYHGpzIHz6ii2WJm8HMTPAZdA4q+ugj3PNCL/N45kyglqvQV4f/+ryDDG5RPy5HVoV9FVuJcq2dxF9Y0heVoipV6q1LyfAeuMzbsUV+rsSBmCSV+1CdKlxy0T0Y6Om0X6701URm2Ml6DIQgJ/3KO6kwcMYRrmKsY7TfxWhSXZll+1PfyRXe9HS0t1IKTQMZL7ZqQ8D/o+en57Y9XAQ9C+kZYykNr0xOMxEwu2+Cppm69mQyTm3H7QX6kHvXF201r+KVAf354qypJC5OHSeBU47bM1bTaVmdVEWQ+9CcvvHdu8Ue5UndHM+EeukmR82voQpetZ7WJjyXs+tPS60nk09gymuORoHNtbm0VuvyigiEvOsyHiRBW7V6FyTCppLPEHvesan91SlEh1/QEunq+qgREFXByDwNKcAH5s8/RFg8hP4wcPmFqX0xXGSKY087bqRLsBZe52jThx0XLkhKQUWPvI18WQQS3g2Ra1pzQ1oNFKdfJJjyaH5tJH6w0/upJobwB8KZ5cIs9LnVGxfBaHXBfvLkNpab7dpU6TdcbBIc+A4bqXE/Xt8/xsGQOdoXra4Us5nDAM6v2BNBQaGMmgMfQQV+ikTteSHvyl8wUxULiYRIEKaiDxpBJnyf9OoqQdZVJ8ahqOvuwqq5mnDUAUzUr/Lvs1wLu2F+r4eZMfJPL4gV5mKLkITmozRnTvA7VABaxZmFRtkhvU5iH9RQ1z26ku7aABokvptx7RKZBVL6dveLKOzg0NC7HAxcg5kE1wuyJiEQLOpO0ma3AtWD2Q2Wmn2oPZeDYAwVyEpxuwDy7ivmdUDSL95ol3h2JByTMovOCgxZ1q4E5nwwa7+4WtDAse6bDdr27XgAi5Px3IWbyZ/vRiECKwOMeJSuIl8A4Ds0emI3SgKVVWVO5uyiEUET+ucEq0casA+DQyhzRc8j+Plo0pxKynB/t0uXod1FVV4fX1sC4kDfwFaUDGQ4p9HYgaMqIWX3OF/S8+vcR0JS0bDapWKJwAIIQiRUzvh5YwtzkjccbbrT9Ky/qt5X7MAGA0lzh43mDF9EB6lCGuO/aFCMhdOqNryvd73KdJNy3mxtT8AqgmG4xq7eE1jKu6rV0g8UGyMatzyIMjiOCf4lIJFzAfwDbIfC72TJ/TK+cGsLR8blpjlEILjD8Mxr7IffhbFhgo12CzXRQ2O8JqBJ70+t12385tSmFC8Or+U8svOaoGoojT1/EmjRMT7x2iTUZ7Ny02VGeMZTtGy029tGN1/9k7x3mFu63lYnaWjfJT1m1zpWO3HSXpGkFqVd/m3kDMv4X9rmLOpwEeu8r6TI6C2zUG+MT6v90OU3y5hKqLhpyFLGtkZhDmUg/W1JGSmA8N1TapR4Kny+P6+DuMadZ9+xBbv06nfOjMwkoTsjG0zFmNbvlxEjw+Pl5QYK+V8Qyb+nknZ0Nb/Ofi9+V0eoNtTrtD1/0wzUGGG5u2D/J1ouO/PjXFJVx6LurVnPOyFVbZx7s3ZSjSq+7YN3wzTbFbUvP8GBh7cKieJt56SIowQ2I577+UEXrxUKMFO+XaLLCALuiJWB2vUdpsT+kQ+adoeTfwOulXhd/KZ7ygjj6PhvGT1xzfT7hTwd6dzSB4xV70CesHC0dsg2VyujlMGBKjg5snbrHHX/LNj3SsoLGSX+bZNTDDCNTXh+dCVPlj4K8+hJ/kVddrbtZw26Hx5qYiv3oNNg5blHRSPtmojhZmBQAz8sLC9nAuWNSz1dIofFtlryEKklbdkhBCcx5dhj7pinXDNlCeatCeTCEjYCpZ3HRf5QzUcRR1Tdb3gwtYtpPdgMxmWfJGoZSu1EsCJbIhS16Ed97+8br4Ar1mB1GcnZVx/HPtJl4CgbHXrrDPwlE4od8deRQYLt9IlsvCqgesMmLAVxB+igH7WGTcY/e3lLHJ4rkBgh2p1QpUBRb/cSQsJCbosFDkalbJigimldVK7TIHKSq2w8mezku9hgw8fXJxGdXoL1ggma52kXzjP78l0d0zMwtTVlt0FqnRyGLPGEjmICzgSp7XPFlUr7AeMclQ4opqwBFInziM5F8oJJ8qeuckGOnAcZZOLl1+ZhGF17pfIuujipwFJL7ChIIB2vlo0IQZGTJPNa2YjNcGUw+a/gWYLkCp+bOGIYhWr08UIE709ZEHlUoEbumzgpJv1D0+hWYNEpj+laoZIK5weO2DFwLL6UBYNrXTm9YvvxeN9U9oKsB3zKBwzFFwDgid5ESMhy68xBnVa55sCZd+l5AnzT8etYjIwF/BGwEx1jjzFv32bk6EeJulESARh8RZ48o7rKw67UZpudPa15SDnL8AL8xMV2SC0D1P53p190zhCFkMmEiir2olwxcJppl/kLm6/0QSUQLNaxi1AC3Pg1CTosX2YQr73PjEIxIlg4mJ62vP7ZyoHE55B0SX9YrrrCPtNsrJEwtn6KOSt7nLT3n3DLJTPbLulcqQ1kETP6Huts29oP+JLEqRGWgnrqMD+mhCl1XCZifjgQ39AeudE8pyu2DqnYU3PyPbJhStq1HbP+VxgseWL+hQ+4w1okADlA9WqoaRuoS7IY77Cm40cJiE6FLomUMltT+xO3Upcv5dzSh9F57hodSBnMHukcH1kd9tqlpprBQ/Ij9E+wMQXrZG5PlzwYJ6jmRdnQtRj64wC/7vsDaaMFteBOUDR4ebRrNZJHhwlNEK9Bz3k7jqOV5KJpL74p2sQnd7vLE374Jz+G7H3RUbX17SobYOe9wKkL/Ja/zeiKExOBmPo0X29bURQMxJkN4ddbrHnOkn6+M1zTZHo0efsB23WSSsByfmye2ZuTEZ12J3Y8ffT6Fcv8XVfA/k+p+xJGreKHJRVUIBqfEIlRt987/QXkssXuvLkECSpVEBs+gE1meB6Xn1RWISG6sV3+KOVjiE9wGdRHS8rmTERRnk0mDNU/+kOQYN/6jdeq0IHeh9c6xlSNICo9OcX1MmAiEuvGay43xCZgxHeZqD7etZMigoJI5V2q7xDcXcPort7AEjLwWlEf4ouzy2iPa3lxpcJWdIcHjhLZf1zg/Kv3/yN1voOmCLrI1Fe0MuFbB0TFSUt+t4Wqe2Mj1o2KS0TFQPGRlFm26IvVP9OXKIQkjfueRtMPoqLfVgDhplKvWWJA673+52FgEEgm+HwEgzOjaTuBz639XtCTwaQL/DrCeRdXun0VU3HDmNmTkc6YrNR6tTVWnbqHwykSBswchFLnvouR0KRhDhZiTYYYNWdvXzY+61Jz5IBcTJavGXr9BcHdk/3tqaLbwCbfpwjxCFSUs1xfFcRzRfMAl+QYuCpsYGz9H01poc1LyzhXwmODmUSg/xFq/RosgYikz4Om/ni9QCcr28ZPISaKrY7O+CspM/s+sHtnA9o9WgFWhcBX2LDN2/AL5uB6UxL/RaBp7EI+JHGz6MeLfvSNJnBgI9THFdUwmg1AXb9pvd7ccLqRdmcHLRT1I2VuEAghBduBm7pHNrZIjb2UVrijpZPlGL68hr+SDlC31mdis0BjP4aZFEOcw+uB17y5u7WOnho60Vcy7gRr7BZ9z5zY1uIwo+tW1YKpuQpdR0Vi7AxKmaIa4jXTjUh7MRlNM0W/Ut/CSD7atFd4soMsX7QbcrUZZaWuN0KOVCL9E09UcJlX+esWK56mre/s6UO9ks0owQ+foaVopkuKG+HZYbE1L1e0VwY2J53aCpwC77HqtpyNtoIlBVzOPtFvzBpDV9TjiP3CcTTGqLKh+m7urHvtHSB/+cGuRk4SsTma9sPCVJ19UPvaAv5WB8u57lNeUewwKpXmmKm5XZV91+FqCCT6nVrrrOgXfYmGFlVjqsSn3/yufkGIdtmdD0yVBcYFR3hDx43e3E4iuiEtP3Me9gcsBqveQdKojKR//qD2nEDY0IktMgFvH+SqVWi9mAorym92NEGbY8MeDjp553MiTXCRSASPt+Ga5q7pB9vwFQCTpaoevx0yEfrq9rMs3eU6wclBMJ9Ve8m6QuLYZ58J41YG3jW/khW92h6M/vbFIUPuopZ6VVtpciesU74Ef7ic8iSymDohGeUn4ubT0vRsXmbsjaJaYhL8f+8I5EiD5l680MJbxX/4GYrOg4iPQqpKp0qddSu/HKtznHeVyxgTwhfEORMCwnaqetVSzvidaWN9P+fXtGXfEP9cTdwx2gKVfDdICq7hecgRhIs0qlCt6+5pGlCc6kWoplHa/KjP+FJdXBU/IDoKMxRjFhSYkggIkhvRKiN/b2ud8URPF+lB87AGAwyMjr/Wju2Uj5IrppXZWjI3d14BdKE2fhALyQPmHqqA+AXd2LwvRHcBq4mhOQ4oNRWH7wpzc6Pggfcbv9kqhLxrJKEaJqA6Rxi+TDNOJstd5DoRVCDjmVspCVyHJsFEWPg9+NA8l1e4X2PDvOd5MPZAGw6LRhWqeZoSQcPf9/dGJYAyzCmttlRnx0BfrKQ/G9i5DVJft9fuJwMi3OD/0Dv1bRoxcXAyZ0wMJ6rwk9RjRTF4ZK8JviCCNuVt/BqQYiphOzWCpnbwOZt6qXuiAabQWrS4mNXQ7cEErXR/yJcbdFp5nWE1bPBjD0fmG3ovMxmOq5blpcOs0DtNQpci1t+9DKERWAO53IVV/S4yhMklvIp0j0FIQgwjdUptqmoMYGVWSI5YkTKLHZdXRDv9zs+HdFZt1QVcdlGOgATro3fg6ticCrDQKUJC7bYX50wdvetilEwVenHhlr85HMLRLTD6nDXWId4ORLwwe5IXiOhpuZTVTv+xdkTxJofqeCRM/jcZqQlU0gFVTlYlfwMi6HKR2YG4fQ8TOtgR+yV+BMZb6L5OwDc/28/xdfD7GXFaVA2ZSObiIxBwT2Zev637EuvpM6rxcogdM4FJFa0ZhF7nrqtNsqWg5M7hZMORpjd4szf/wS+Ahs1shY54Ct5J1dOBO4sdEtSnRc0P9PhgyOCt6aQW98R22DpAcNTDe72AHK40vutKTPfpokghRPuGvz0dulBPKfC3O4KVDCyWrJGO7Ikdu06A0keKlVfi0tGcpO0NhzXEh75NHyMysAMV19fq7//sPC0For1k2uFEvq8lwrMAfmP7afR69U2RqaILHe7glpc8HmVf87Qb2ohsw+Di9U+ePdHLecS66MhB/0OwdcXR5WBcWTZLGq/kiAaT+bzkjR8GIpWdv6pfIgQ+Q0xdiKvo+gNB7/Nf9knNJGxnh7LeZEFtMn517tNc74PPS0M4K3I6HHZqNPA+VZcBc/g5a2ARyqKrJ4Z3krsuA+VOJJz2KJpBMgCCWFln3u7k6/q3DETAubKG/pt3ObaNT0NI0Qug90L2ip5dHnZJUjPTvK5E96aX/4mRU2u8n8kh6MKbY7ANBro3huF06U+JvfyELQP25oIaj+n0ITQ4KT9rXZD4EtBIOj95fYNldDN3io/VMIvWNj9P/b95WEMq8UAVfG2XG0N6fSYdnBEC7sUEbatbDICH9qA8TTuW9kEt9DlFOZFP7bdfYLa/khSY8W5K/AkIIAPXtMvyVKyESjKx9nfragssxC0jFMVY94d8lOAwRocdS/l/P43cBGa3IqDa0ihGPcmwS8O8Vj16Uy55rOrnN0shhRJZdW8I7F0Q0KeHc35GFo4aJOFc25gNafBu1V/VO0qS4Qkb6wjRrnlepUWjtYyaDABZceValuOMtoDdeIITWKOJiwGPpB12lQgwkmXh9M86podb0D117mNQ8ElluFvbaS8RTKQ6lyj88dUwoJU/ofOeubhoXWBF8eNumkVJu+As3ED/AvLlrV91UowIWI2m8HBG+a3k247ZKAGYsOcWe7fTWqL8eqwM5ZFuoXbeugPKuMOAtOsN+4dSwkhrSAlfGNTzFwEmCNWtzpa9CgPbYNcmoHtO8pj8qMvlGET6nrkJoQ2lp5MEUV1E2A4ZH70JUlCLXvqTIpZlzyxdr5p/GZiD1/BuFOGbyfFzhuxaC/l3lC2jjt6GNRBa06AqqPlYtdA7kiidYa5Qi0/XpXiMDyMXNOj3kmJEaXufW0GO8+DF8OoMULX1vvjCePKNis4AmxQKLCF+cjf/wyilCJvuiyLVPSdsuRTPZ0AhpdDF/1uFmDwG7iP3qYwNsKzqd3sYdnMolCOuQOIHWy1eQpWhuV+jmSeAC5zCc0/KsOIXkZPdiw8vtB33jEBpezpGDBP4JLY2wH1J7Fzp8y8RICqVd25mDT2tDb/L1mh4fv9TOfDH5dTeATqu+diOZi+/sIt18hiTovPsVQVaqXLPRx/4R/uH/86tBMcF+WBkThKLfblcVCIECc8DgNRVX97KdrsCeIK+CvJZMfwrftcDZDZyp7G8HeKl7bPYnTKX88dXAwAyz66O2chkPDHy/2K2XcT/61XnlAKgPwtI8yP9Vu45yh55KHhJu93mL4nfo8szp/IyDjmFHtSMqqoWsj8WaVhbjXgzZxcqZcyOe7pUK6aXF/Y32LnBOt0WN28UmHRiOpL525C63I2JQPX8vvOU0fz2ij74OeJ1Apgu3JRObfdo9xGDpp7cv3TdULEfNS6Gu3EJu7drBsBsogUqUc6wAUW3ux0/1hLVI/JEKJrAGm8g72C2aJSsGAsKFW4CBvBXVlNIKa5r7HvT1BeGYBfxTR1vhNlFFNN8WQYwr39yT/13XzRGiF2IsfE8HcN0+lN1zN/OnzekVBKkFY11GgrK5CLxrE/2HCEMwQb9yOuP2rTXiZzTEETp/ismFGcTWmbM9G1Sn2D/x3G74uWYZY4rgKB2Zo2bTKS6QnM5x1Yee66Y1L7K44AyiY5K2MH5wrTwxMFh+S8LzNQ25z6sunWZyiRwFIIvSnioltUXNiOr+XMZ6O9h9HcHxZJkfF0tUm6QkU7iJ2ozXARitiL86aqVsMOpmvdIBROhUoanPtCjgft8up3hAaKpw9Qs9MzYtBA2ijHXotzarkV3zKEK0dFFQUwT74NgCmGGuSCEDmFCezXPC9BhyGhmzNa6rQeQQz+r9CmGUZjIQEPsHwe86oCOQhWaHERsv5ia9rZvJ//7UXO7B329YUkLLAiqpLRsVV5XpcfdawlJqi/BVcCqO6dr9YJTFFRMVGhfUbB9YWNvYPY6RyaydAFYq1YIBQxuNAGfYWLMAHtt2XRHoOKCLz+qf5HCVBDOPOktQ3SdJBfxUkaiD585bmTzMwU3oeXUHZ55EC99Kz9kk4ZXMIENwVVpqW2JmGIcUiutIMj2KkpjE2QD+dIZUCxcX57kH7hiuUPnKCTdaw4KN95XPeFRvMcvo5L8LexWqvaJPECzwXCs/4XPAlSMpWUzBBjK3pEnkbueMkMJQrYcnXf7PjbAoJra1VLX4YuscQLpaeYWbT+h24hCFrfcHjxxx6WTSe4AGY/KHRZCQKqTuFWt0D8RmGWmvXSdg1ptIefYPshuIVZT7CV4Ny67fvjJugy0TNYHqoCO45CB88kxrvIsih19DqjD0UqiJsTFPcGW3P/ULOG3nb8CjpgVTIoa5nO9ZYEX4uEHu8hLXrJPjV1lTQ5xTdZVagg+Wj8V0EE4yPsTc345KM6lVXqLiHtm+G6edC4GVEiPgd98g+twSYm18gCsPnjqlLcFm9e72CLJbYD+ocIZOxuVjrX6IKh9fh7WqdIZ66x9PWkDGOVVGkx7jM76Ywe16DX9ng205kg5eq+R2q2MguTJxYv/wWHliD9mOYpzZKNXYC3Wr4iBGkm54hBwkPzFhiX/VBHdVH/KJ1ZIMOHxIN6arKdxrm6EBsgwDt0mPe0MX1HRUMq8ctcmysU6xX0bzM1J07kAvq33jw1q0Pq2cyMWme8F7aVkfhzZEFdyi8fVBQav0YZqvAjZ83WKH726rBx5Bn7GHFthR6H4lFsltu+jWmsAibJ3kpWMG/QbncU7n9skIBL0MuXXtj9sJg+4Dl0XhKJ1LcrMydaIgyrgZgScP4k8YQvcsBmD26X1iYXKLzMYfZn2IfRjznsrJ1e5cnl/3a5xiNoI6n1x1U36FWckJbyx+hiSZg0QqAqeeSvzFYMlZ2REnO/a6yoQhu7PdHMYEPFIvfyGeyCU8e7rpju4DrlOhszj9rOIpNsvCkuD+TLyf5J7D/wsPkBpscFVI1q7oUSU9bN30vH5AqnO7bsf+9rGhtVjOJQ32H9hHSAzR2ape4L0Cz4WxaySm4jvuGXwkFp5NMMLrgZ8LdA+5uLuyxO5SMOmJNDBcbbLefv7z6LyxBwltnfQLd7qqpG1MmNcoLUcx73BkNF/xpdS0cKd6G646ntChXSeTZJJTFYGw39T7fqXDPKoG2cF7/ZcTvME42gXLVjTqzAER1Rt5m7GYsh0X0+XgOeW9MJqE5j/rpGzY6vUu6ACcCTzDMdZHiWELpDnvgE1hmztLcSYz0MtNyUBLqvylUJJnJu79Sku9NMHCTkgqozTnhMFfduV2NLCSYvAI5HUvQp1h/M02vKFD6eosIkGTg6mujUo1W8hy5Knf/erkBQC9LzNqPAYCgR+hczgevta88NNqSlBZryq9QNeUK7RpbvHjoNhUKAAeNYH55LeTW36KyFaXdAkBvyNP9xmRuBokPi2OhqDby6IZ61mwfzG+GmACkS+G80A4WGON5izgJWeeDK91jzusfOi0RmEsVJXwbVUr8u/J2LCQaMnHhi+wJTEPN9tS2b6W4GRGCNmtjAMgPsP357nOeD3H2tcDAPu5xQBKMHf/j4ZhXlkvvy3YmBJsjsd4pSOlfPZCnw5JvzxEXM5JIc+E2mU4CgB0mdJnH4NEsCHYNeVRDXFNuyZUE4nuvaJf1h+11AWLdAZ72D9XNRcxfb2+XHZN/SN48U7yl+sNZhg5gn/PD8wkBtnRj1zBUPIWnoMP6yGUEEzuT+VaX3x2jEIZAZsr3rs9wCfY1Ss0EdIFFzBbyruUup4EPanbSYew5tf16/ZWVup5iykttuqL4xoC/jdZWsAZeSfDSd3fP9kbyAFYXkf0Q2lmxaTkKRZrCo9XCoiUG4yP1URJ5G7+HSOhhJp0Anz0N07QZtyFUye6rcgiOFbtyoO1lkuV0iQ602MTyFK9xLqNHtNy4cJaTO6hjtiwNynVc34ZA6H7k8ai6S6eF6jIG0xJx+JfP97lzuCZr8vU5SIzImaNpiQhyvDbz23//PJcOk7hD4iIvJzfIgOGIR6ZPEJpWHZQoacbF+omeHw8aWHaNOfaIyGeG4lEryMfhtNmWh4RAIpn8dLs7ZE2eTVDwK++xDoSUgh47WDmKlZ/k6OosEUoQjk7Q+Kp7OxwgMFShAv6z4pTW8loVj2+qXLQ0T3hmIue8qHy1o/HXjm089m71t6mrrUyDftqMYtmfvQXKDlZ+K1HR/FkqPSqcjGlcPPIwbMw3wIFKBdVMJ4pFLt+oOIkWZMw8pkoYZ3byw4LmAF+7BdicGXFcb5PWtDw5XNNVc6eB9dv0rAEpgr5J+bLr010bpfGw+IkRoxDbkDFmQdEQUSElP5bViLo1ur/23KN0jEwl+rGC6AUMKxHcv+T9F1Ktpn8jSSrKxJnVkK8UD/tH5DN6nXB8mjUdFU539e9ywLtLYCwmHYVEVqnFmdubduaSd1ivIo4pTsX+mJcOAkrR1D60RIoocCBIdwJhCBM1rOE2XSlPo0U+khALvw+zfxYzwzd4roWlLJkZheFRR8QB8v4USwmAcDswUZ2P/7v7Xa51Fs7orYebYyww4YW5869Y/c6Kq2eTR9HLSjYuChTkXaDygoo8nz/yJ0KzfX8oowaNAwz8HvQdlLU9V9hjqYMURyYvPzZ60G0itmUdZwB+sY6rUkMAZZtWStbDFmnk/dQorhwr3121XQWffrK3as0g29ASwxbsZ3dZAq/96b7/XWckbjmo8+jwdE680DzoEUUivnBgowMuBQxHXoGyp+w/cSGY88rWtmwoyNNIvChs/QsZRnbdV7y8x7t2RkliJV/j8e6qfctrTsMV22zoqgQuTSNFh7U7p/Q49L0kygXNnEYXCBDgi5BeNWxu7VjULcUHI+lGj+OTCEATzWrDmaynq3wT9IAejtvh3esCu6sEu9JOsXxMDpqxm4Tzl+pt2Wa5Bq3TM5TKH4N7KLir8FGIPA569+uJ1VEL3fW8Jyigz/nEUjAVYrdCWq2MnS4hQVgcvXq9aF7Xke/k++rAtIQqckPNwjKrV2t7HCOrA1ps88Y5Rw1Zp+9itnB71j8tNiQc7mV1kUCQXkoi5fOsq1uC6hUPUL7Z69NAM6lg0c/aeiifHoi35v+pVBh7CDM1XfvYpiK5JIbIQFHafmnhHfRTnMagKcjdE7zzgtxkTPKVrObTySTT51g9bB5ro/dzn/sB24fNM2LGJuRQsmC49PLi1jTRfZaLpo8Txxxczij5Pl2vur+S1wQW3W5qyVcIUySZHtFDQHv+EYDoZG1T1J7D91vEIV8dHzUBzW1UyuxRbP+M/CM/vsas6RzmS5traXnQ0Jzv9hYXxKHcs15TQCP744XsLjzFjILYURXFnhM+nnV0iO6nwls9TR4tlz1J9/NvE8FGg5mgpZA4htS05AK0NnU2gxuqf2vjCyWlm3ypKvaX4vxh8Um1MHGB2NTeAFhbDyGm+5w2zqJAWxVlj6dVePb5yR+aMhuz05YubCQJ0BOtoYQ6PoDoW5fCwCtXj5SHvCgL/3B5z2mcXWaRTf8/GsFAfX/ntdWZWFc2xg8MJeenwZ4dZUToce43If4zVb1ex3BMAWGhgkPwR5EgktZhW3Yi+nsnZTUr9FYI160YhAraB0zMV+ouHz6hYm25/ETDM0MTmcypoGgZISSkfwYAQaHGY45yZ91K4A4Mm4fnbMk8GTc4orypT3NLBqAxYdcY/qCH82PpIkmVOEHi1NoYaUymuImLLcib5pmd2MHTB3JR+4rLdRc3gtQ9zeFdciciRiWviu3HkqaLSxJeI2rgc7OKQslItumACQow89elXmi4P3gTZeCauvMH5nF4VrBcLjjwGD+KlKqe/RWIEgT2wGqAgSuL6b+RTTPnQZzxZ5y5HQJkEEKJp5NfoB8hJBM8qn6xbOFtyzBjVBrwSS1zCJR3lEc9ODQ5Wu/xct9/2Q6qLHnmNx6XwZus/i8rEd6UsVxGtoDrm+Br0L5oUojlwdcqyVV4PIMsR60JhZwJtgX7izQWj+GOeF9DA8Wexdmv6DWjgR8LEBp9YuPAM8tJDu3uCumNqHnF2ATYX/tuVO55OgQuiUhmDmJbF9jJyifBRtxOVI9DCNLUY71IXZYTuiYcnILQ/XHuVJ8aHDStL0N+3eYNvXwHi2vEiTPnBqzsC4TsPnFVnYY042j5i7C11AVdBZ1pGSa52jM9dIL119rry0mgGxFzI8xPs+7bmMfYKh37A4HtA081olG1m9S4Zch2hoNCGVvVhd6UL7C2d5hKIBHoB+Uxarq/4aQXhh7IWjSj+ca7Vhqb4+ZwY3nHXh2S9JH4XZxQojbe/eINxYlozTYtT2rpU/xbj+W2hXjFQ+z+dQ8wh9751MP0UpjutQdxz3/FJYAEG5BF400JXWCBs7KrCRf/l+F+d9EuwVk6thOPDB+HNS9iWlLmDgXvY6K0vgiyoeA3An+jWufdAG1suUMBuJT+/w0FNJZbObUT8c5q5WtQxASQF6E+/u8UwVBs1eo8jTamCrcdhZJlADJbqn3crcDHQlBQNGq7btcGKiJXW6q0cn3F0xzf+k1JJS2testB3rx15ZPTDXm8QV5XE2qxBOdM2n6t5YbxyNOmEdsHx+hMp+y9pWkcgw1NikeXuafJvzcjaNwE1Ad6gG79S68aO7jWpKgBETYLmV4ONHhBk7Be8tjf2WVvWMDQvQdOnk448yeMv1tQKU1xev0L171e/qxkMZbmkfKnd29XRCK2hgNNJhwt1qiYWZGKz7Di6K3fGDT7DO2YQ7WU33svE/WKGbWQEvzUV2w+VNYDocI4yxQ6i3i4zU2TjmjCwu5Pk+Ja9HSwLpEoUswq3tFJ1jimthgMXd7KjSl6Qd0K+vxWT8G4/+xITHsWDGSfQTSdFQth5uVVfa8wrkDZHTGVgpJys2ik+3I0dSf6TNo6A/sVptyY/kx1hdAWKPI6t/xj6s+fPMU3hg1vkEB0RRHq/tCy3KUUhzU/d0JKxTyjvUms5iy1GbOFco0NA4t83SK9sBmtLWm4kOLLflyxqgQYP08iyXwYXzKnlQ6VTipuaspSJ9g5H5Lu3eLMnPKbhcwuEg0VZ80ppJWjUnhS3rL35erzysp+fJhxsUs86m28/UwW+IgrS5Y0zWaxlFJ8xML5wk8sg1ragF+eNajyI0Y4mwStxt1RZH2BjaAhvu+SnNNIK88thEgZEsoHv+ii+OMmXJL7dnAiINVDz3tCnqDgpQX9OguNGgZj3axcjq1UgxDw785yNIpqNiLgv57399jVmJ0/RStNswaFIs6FtnkilFZldxj6m562jL4p5g3Y9XCiXRJX6nq2PGJFifFR7EyPG4jDMnBM4t+O8ZpEp3th7TCxEw+ZG4afHl4sNFaqxyLh6+979tt0Aq9BrqI+CS2U7HJoKiGmyVU1lFa3/0O5mNC1bzRgNMy+GXyifLwJP7FwUSUmxmVRpn+gnXWoIuswPutsiciurvN6lsMG7yqEc2Y5ZI3jrPgPq0xEKPZpF7teJa0TQn8BQL4Th+hjv2ByfwKookyXEmj0d1KMcsmfKaeKK3cZZubiYqmSCrnGpYTwgPk5itKucVtjViuswQsDR6TuyGSIHYvlz7wkLg1Rr0K9kV1o8RgABlhbLrN74cVWJW6TnfXN0q12JFMpUbEa8t1+j440FA+17o8qa8PQ9igkctVROVIfB3jU5vtGm5pYYHYSDvU2TEc15pIz19ka1q6c/7WXfF8+POkApdOw7nn7Kqz6V4tru7NXgnA/u0g6+fPRT3hp/QrDQwMsjwNCZxdWrR6pgCBDJNc7/KAlwC0UZ4yWQs0KsuwbbOgcTxQPK54wiXr7s+221hzZ8RVxfoRUKM3e4lpxHC83JllxlrV760tl06f7/65qhE1jhMfivAUXIXfRMe3uY/G2TpWYzDrw5Cm5cS062Bx9lhHq9gtJp8xZwAtSdSuW/Kd7+orEAiswA76N8ezmVGYgNaYlQ/xk930LAWAtKVBC4U6R08L45IohB1kFia7XJs0TcaT2zBZoLFuOGu4iJaoAnfjL3uS6gnRH7G7A+aT6ETlmkYUfgrBuaSLLDJfhPJe01PfN0oqBTeQURasl3N8BZiQSgdr0aDv3hPTiog4NSyfAUyy98WP7dnTDWQTY+Qwzgk1uxwRqHl5MpC/84Cuw1TXfRlgJrwPop10kCHjmffnFdxCe2J3R3J5j+3H/sZn3IUu3Suy+I+dAOMWvzwExNR3RRPVelZAhtarKlXPWNjPRIVP4JsAFSRXs3o/fSYAPaV/zP8q6DltH47/rYhCLdy/LrpOsbaLf09eACcClJosNefetNElkSFSuCgeY7oTAAl+8Y2zOXJb/bgEDpoDXfQqc6lnlBr/WsmVznkBS1M7ufiqpxvKXjwvR4WxLbh5NbMNy8LsnX4UiuAi8XonbSUcVZKQOWBYUecSOMj6jMG8gHu7WNreBHY90lV7FocDprSrSbexkAtMW9KlXcnrOyLnZdodGYdxz8aw71HztIqLhRdCOB6NyzHPoS2hDy6wLk0I5Jr2t+U0A+A7EsgSn/Ih03A5CspHnVF4MOic+Lck3m61Um+GHDEe4DrHBhmgtDlRQl1XJ/V/VumCHtUDDcZCkgjVMBOmVOGYW0Rcdi1ahdjhBcFlfjA+5cRjBop1aNDvdrf7CxkLVgxiCxhRctW8wczM8+kVmIrGtkaHGlr8y2D098HXE23r7fnJFUU68zyeyM265igNOGPzFG0dIgUDWN6S3ZcfMERJdWVvpGhVEHXNLeWqHiTcF3wOt0FbJY4XHEpmkoG9MQPJJ4ueQ01+MB+SR0rCSGzlE8zod19q75LlLWgzogpnJoD4gPxUYcX+Gpc5Ly4nk+Zm8LDXcNR7SNVxLh6NAcx8ekjb/AC7ADlRnfuHaHJaBodZr7RBX9FLTvocY6kY8bavdAkQicE9bbwGLkZu6whTCJ56lOvM39ijehpTOFqR3V53nQx4hfOvwRPU2y2w7UU8yiRbcyaX6jGJ9CRvl9ybV1tebTp5MMuMnwLcx/lven0w9T0atJuiUE2WtYGiVMaP3EchABl5AsyaCpu/BKAWDFvU2vaCL2/fJBKCKLjxG6xzT4Mh4wHhH3/EqsGSoQAHu2wbHmXHj2LvoW19GXDa2oyeKRwGG1PU+S7mE/S+UmjHiDF1oqJ0R5QsdjAZYN1MzpNX5YDqWYfhfdjAXyFQaVyGKkp1oEGTR8MK6jaGfRDFd41u2Ex8ac8jKPYu3pXsk8gu+m9tr1RVzTTuDsACW4S1h32yFHX7qpXSmA0QVEcR8W9j2Juu0pcYqTmdis88VgT3gq7iYue5Hx/3K6hFQa9rZrNSDcjaSQlNn4LSqs20bypnKqpzvnnxjMdz5StbzvoAJKgVZa4DLCVoJW765/KyTF4s4YztmAT1c0pTmKJHTpa106FegDo8p2zD6uOnwpYi0vJlRMDe9wPT6964UfAf6lq3qWypUOx9q6BbKEYt7K3gWMXDNN6wAm1fNnSOnZ4JkbPq7jLQrl0wL1V7QwO/sXneKGfTgUL28I5iPVG9dA2gS7Ki005JUR7Vmw4gX4TJvy1WS74cIXD08LCF5obqcZwamuoZ+FPMJEck0TLHjyH1baPr55/Cy0ptDfRJ7d89pbP48tLMHG5dO11Z8xSSpPGQSgXDWmpsNsmm+MvxJjMCi7OFDHxxpmTtjgnOCq+c7Fi1DybfhAntviKccz+sj+OPKPYOKeYYPLvq6MpUx/chSvBccg9dfbeqetQNCs3eiCFZTU1mrDido/mib64STMgsa+IKLk9PyxGGbVSQB9GsHto6f5prAFIbRDSItDedz3t5+Nn69FFS0nEfmkF7hKBmNVce5xv65USKGBoHYxJyutSGnRIq7vMDsAMvirOEJOzNi5Kt7fypuSU2c2Npo6UH5jMOkePH0TwgpammO3Fb2FX6f11309z/mqRmQ949HHRj/wMzKNx95M9pwKf+UQkMEwisL3YVotvHhCv4y00Ui0Ql8dR7tGqFcSdYtmoAOuAodkBNs4PZSjAAF7S/szwLddFMdCyB/dWPgFUiUE+WmUUCjYrKfJLQfNNpQ4NKaF57w7Kp/isZVwQPUJyjJavN3fQNKU+F74jVBJYQEcEdw0Niinyea0l9PJ1/AcTm/LI91RZjDvLI81pnat7RKU2P4/TnIAa3hIEfeg4iGQ+wTDlURK6YjNpN5s5VkQW9w7sDYKU4XmjyZsCQLxztqd4SDQvLyuPDhURAJXKfR1c7tq3mRu4usFHPqz7HgS0X7kNxiWWR3fb3uVwbgKpmgLYkwKrXKt09COw4MjhxeZlDXKy7nNLHXAIKPtferWQnZLboonQXK81x+BB3oUidBehK1swSXxVbscj/LsfONu/xYEXYPM3aMqIYd+2hAnFvDHbdrJLhGEd3sG5PyxqhzejhQJo9wauFK3xmPYqxB99J8zYU9/yzrEZNzzbvPoR9vUlE3Ha4zspVDzHHffPZMJ1VLZkKqGCf8ZqupqMt6T+NRPfmPm2xeDgvzMrRJEL4/zzlu7Z35smvzbgeC25VP2CUrZkRxEi15A0769ojdO1d7C9OG+swj1ROMM3NgKdeBADoRMeJkRZcZ1FbQu6C0BS9NNSaoxtFzYT4lX7+PQ7BKa84yrN+ujVVef+SgnEie1G0N+eOtbZF/UU+wkeerWjloYqFiqo0vBnmxh+TwNMo9I/8lfU2XTCT0K4OoWE08ipyNHjxHvfhY6qa3x4HzdQ8+jkiO5+j91YkihS5memfpFREHP/2veN5XcRue2zCVuAub8V6vDlOvyP+PBm+owyRhMmng5wwGGIXsOkQekXrXpE/6dFjkHwwoFoj5bIFiqp+4wHpSWRbv2xGrRpd2c87FzMP6Hfj/3LWIBqFiNOAxBw+AAP1XqUBszdZhzOSQrQS4Ein4fyV7MaGsB0VsMF4bPb4lx/foTGQRJv45LpoxDd84xCawHaX7jpXUrOdkFxx2oUvY2xqpgIvcVufwd+zAnaaVTnEyDXD7S/o/xrrk4mgTjXhcjj5Rzrbr23NmuZQvpdNzny5MCR9bwvIRIqzOZZLsstZSCDYa56JTvzxgBs20dYTtTUbe21uljlWqGfSh2bYAzOpf6UguK30ZxNXgLHs6Y6urtxFA5iLYvlue5mDONW0MOtQjhqr8fRbCkYneiDkvzHkQVT4F9v9vxh2SIGPBH8bZb8ugo/BSgXojeSdNXbBAIDsB6DUNSXnwlu/bFLaCqSbvu4+YLplwO1JbtrMf9ZUfsxerAZjB7E/zl3qwgK27FswemUmSM4i37YAVhQSocuV8AcDI/CSeCDNPavESshDQ8A/lVIrAJAMdP/rHXouiNU8RL/TIvfQiuZEb6dkIKMGGOW5kT8vO8pivWnT4v7qmwuJo52AS1r/RyQ2g/7c9ZJgmMIzf0GvJJRfMNu1utRNuLWHOm9JIMcJK3qiDtVpGCDP45W1oTTMUnMC91kYhP0GHjhCW8V38xhjHgFFBfuWMsmSQ9MvNqKXiqtUhDAkIy0PW7YSKaKUv6zctAiIk+Jt17kG6LpNVOeMvJnlVBaJSkKe0HTJJUMvf8R2zna35/yh2wNlWLzIP3BJR5aRNxkV94ICOlycI1/JYRZtzvWMNoIpQrdNvyBuBydhSwhRwPo079Xk/XQZpbhzN/KK4NbdJQV0JIMP+Y5UBIM3TTYlFGYVjcvA5yVozkimco91Fx/eo+ydgAx1gMezTh+bYxCtXPYkMoPdtaElRusxlmdSV9zgF4Np+iylun3LVxCycAFxGCFsmARf6y4I6zXY0tx81aQyalr3/ih+ZjxGNWdhItgNLdEZ/BOIJpPoAveh2bKbEFxU/M0+4xqDo3Ox8MnNn8Lmv15NJigSvJV+y2W/ZogEXNiv0/nuFzZGr0pKujOShzcdkEVlMw8mNZXZCbtM9V+mfawtLxCTvo+enFWhJcFv8LVTFycDjPGBXRQKNN+z68HJtYdpH++g5WdhQpCO+DE7Qdu6TmZgtetrpU2ZlgpslOx+4hb3aXaqbdc92LCh51er8vm1GQ9uWD9+fAPRV50ixhgc5zi2Jsg1xQVxzlaELRWJ5biyF+eCwNV0oFnTbBHr3Glm9qlGVOpoOsQC8hlNG88fxeAekkCGnHFn6i5WzyO7ShDYbZ2KM4eqndyy01v+6TFhmkxgc0dndt7EzRCcEfBxSaWZwcev6MDZcuvSZQ9CNSd4Tx25TY6UAbrhikuP1vNFfPdZhCG1pe6vx4D6Ez3zIb0zDa42FPpxWvIpEeXb7YTcfZOahSpSYaWLH/vq0F3U1KO7ZxliZpoMBBYJs91IE0bOkrPNQ/USYY0qKCO3CU+AFbOYxzKWBkIglrX34377BZ18MKQCv1KWfIHEeguSpvrNH5RQOD4LeiH2gdx1MOAKphlL41F4RpxaU4dy8xERFgqoyICQq9XmQ8WJSokwqvhQM0fLtsvyCO2PAkJ3BZg5IqoR5q/GdTLgOWPFR53Nqw9Ma5vBzZcQ4+iZgetmKg5ZIn+/7Jbi+VlViXuD9CaAUtdEmnwWTS7wZWuskVvc/SDaaKV+Jz6HrZTHo3UrAu0IZDBkXWmL+mTTjdTb1A+MdhKkY/hvFNwXj1FzUngsN58u/kTdJ3Xi0hy7efR6faAOi4SKGaiOty8lxDFkiD9wq2GW1EZEsoWGw/WzxXhWDzYY8CC7WuLFHc+x19jhH+FiLXwDIARRtnkJPF2BUPZ9+grZ3tjqAWhhN3h74w5pooRQUNATy05A9HDLnILGSCtfESoSilqtqAIQ/TV2t3KhOc+teDf5t+DqZDdB8Ob9YXyklrSO73pR0QAxPvQj57c6FIR5dOciqeHZ2LRABMROo8Jk8V6JFewCL8TCd/A5MSbXLky1cW7mXobqgeEXdFDoEydKo5oCuyn+2JYI/7pIGFAzErlHZ5hOaiT17HC3zp2HpJwsIAb4/oIoZ8x8ak43Yp83Ermq55Dg8HxKGHXbXs47sh0PzQELTGFsf5eO3lYAuJjMneoYWk8W/3tW2WLntEKBZEW4hOFgo8K58Rj0vk5KLyezu1d8SO/JcuxpOJqFUM2sxBmbQ/9qqwb90R0WulpR/Ju84bQ5/fTh7po/pbBb7AQaYNdK3fatD3K4TLHAaa66MQzp/+ZGyCjzo5OXRzJ8UHyg/YpNHvvlOpwQIOjakpLHwGV4WsLDPjEIqG23ily3LL0dlkYQxj3Xx0ApCo35zYGoGOtIclYS83MnI5TwVdQ+Hg453WFQN694DaqhGaL/dm0KncXYqXLi5polgT4DOrzD4oSVhrkh8GW2PaXjOFDCLPcn4RQj8dRGIJuV81LxMPZ0UL6zpkaebhbFBxcRJe38UiTbUPDjFWk2jBqzrBvXcKmgdDcmRyJhIpuq+3DQY464AlY42z2EM0yIK0I6b+VgpanMfpdWo7OxKY8RM5tSJv340/qD8SxrYsybMuUkF8fHj7HcvxEPC5YYrH4LW1YKg6QaeFZLvPbrHZHvi4OXLKkN8cGQO8019OKqcv6QnBlj01e7qS5evoGm53rv+VmDxxCXDiOrDg+IaPeMPrn8TJ1oReXYI3yb+4HQbikxP5TQXHk4YXPUv95+KmkxGsRgTwP71YiMpqNXp0loHZeXRp9i3euKrVtxMM0e6XAoACwNtcc6sOuhZVb1htBLudzahrDFt5GkdlwHjZl5y0LbvSHwII+qYeDwRKTTzyXaInHIM+8rc5TrjUlPRVwB5LKFpQnV8e7vLv7T7V/iJTW9h9TnRtNCSGcofBWYm5P7wZcAq3AFamEW/GMbo27ldz0plt5HI53ddWkn9IuCZY+Iy0MATUh3YenRTbVgdLYtu893SuN6EL4e9V4NhlzUjI8nOS6B99ecyC1Ot8sDahQpWHbmt2YvWGyL3S9tEVLKYs+LnghBmmSl2uPWfqPobPwBHNLW21LUjfZb7jfLMTsMp3icGO1npK/rCsUgdBVKVg0Ys+/WKuTmVJoC8Oe5h3PK1TQhbpZ2ytP9nlutQPtLAEt+CVT90DfVkn7lHLOX8AfS6HLzfHeAhu1alnl19RHKV1LI0G7RPzYgVaSpX7th9f06uo2WpxjL86i/2uzK2qj/ClHbGDyQr3F9/axmq4kJ7zZFVXVVwfiFr5bhUGVZeQJHKFAcsnqPKsb8vHyB9SpFpT9U1U7D4aS9vYgqajxhC+hOkolJV2dKAxysCkWBo3SPiPUrSQYZxOWwWCoQzbV0oeaDEcgUtqI3nq9TSmpQ688/+wb26P2CHLY1H7q5lypXSrnwnnztq/jN1o9lyvLmLyGguV0VJnDCREkiUNrZqGG06MsyA+Phd9CuFoM5M1Pyk7S6TJaHdTw0ni3n5ysAup0kyxr65lFc81NcH8xSmpp+iOEtQZrH/y01k1rGMRJAGFhi+nDecpUlnrh+qBOCMZCcSCovOPJrxjZnZJDMLdpMVu+tBSVS1nKxsYjY9Dtq1/++riVfLUVhzofIcIgQQPOqHioELxU3EpCcZMoL9laa5YlOZAMEp5apx7CphrkL+fyKbBAf8ctwVd93FTo7F5Oc/alNsCgK6lHruPROtN2RybiLqx8P5LTUZXU+Aoyz08zYHasR3U8hPDKj+6arWXR9yWdJoMn45prCSURKKy3+JHgvs2Ot6v6GbEtdCumgCttv2VNoU3KOqUwqNIWHqYm4eMijTM9VWB7umEyp7UPOI8fduHJY0W9xSCZdvc2xMjo3Zdu2o/WZKDMOSh9UmLvo45IBppD2dG++HJu8kbfFdlwuIxk2KHhgHQeNKcHhFkYGRzL2VJVMOAb0Co64wvds5CaYl9ZmBm4zuGDeaO2eI1XM4+rD/HmZyRF62SabgAe8TF43VuMutigJJMfbW2UK0azGLFbOfujnHD+GGBYmSmOQbUCOY99HYvswBQA6r9hrc2jtsUUxLVjxnZ4JnIrTwIVdWCTPtpJpvlA7m01/4tbUMyz9mv1jdN1jkiHQCJXXKg8bJ+aqW6rbwbn5yDSHBTcFXIegrhHGAjJOZI1pyP83Z3vMYTAJoo8V9IwyS+U6OVg78+IhSYHDYjRs8FrF8smHQ9h4qAYxp49rRP2d5uxLAuP72GvZaYvfeLOkMrcg0PkPuq7NsXhMFmiZa6PKBH1l+oKHI5DBLdZCvCwTPdXqmnz8gLzVRb/ixLTSdit2nrzt0x+5rDeZT+ac31NKNskQs6noKlQccyD3UxzfVZFmcbpmrfPsZD0Ve34xpKWk/E9Khn4A5yVPVq+dwnv0EyYecPqXGU7R8suTW0A6NJWweLI3iSGDlQXzMYsSWkSMhFTfyA2vTDt/3wXk+mVU6bRNkZvNnyVHYiA4tmnNwdh/RVsk/EgSerfTIf5VBmuAc2IKSeL5Nbrg3acgFj80mI8SWsc3dNAGCBLLMP89gH5UnLTKq78d9SxQH/g7DVnBh/qnBdw5CDrw/uMzcdXSxWqGIFcnQZt/1aOHxUg88MN2w+FPx/V75gy2wzEVe6G51PQIR2tZsxbv62HhgjwtlzrVREw/yzlaAiuXC26cnpvQzWXp2mOgihyPCWqq38nEadX2T7f1Y5zGxEGBaT//IcL/BsquAJX5EDbX8X1p8nLWR2yyjFRvqC/jssoCJBCDJOsZvoBfXqQSEKhNARH1YfueeKBslAwLi24/wAO1BHptlf1kQFNsOPlDvlYednrEp3a4SAz/G7LIVEsZBu0EKWZu/euB/XKdkGonP6t6lgEcCOw8mceuzvEVzyoPnMyzrqoNQXJb9C8ZCXSiedKiCgNwfNkpVlHbUgE2Rb9WFScOeEad+T+jT8XlSc8rcvkIuhAv/gxRu2eb2GonLTyokjcGF1EBpCJbhy2H3lhL0rdZIw1okA5pBg2oRfQceXTPzhuNKorTEF7t1UIgDqIo7/loxyTgbtKu29o9K9KujvCqUGyPY7upcfiZLNBVKh5uXAAZjQjhlhBp0ukmO4Avxu4xAVhCtnsOIA/tAm94U3HEuSr3wq+ZLo8pyoC9EB/q3pOzQRyCTkozmJwo1Ln/2xEbtNnS2S0NUIS3yz3/mBIdxONHxqP9FW+uoGI1F415lI1nZwK0SoPA0+flaokBGEoXgZnO4GOExU7VOjdPns59ekmDxqNhEHeAF5i5N/3W2NC1XGFjTpqLrnCECiwVkOTrLtp2ehUIaejOG6+1336YQSKMSsL4zhUjw6SQKryVRz5Ldn3R5/r8AOi02RJkQXPdvPsl/FMg96E/cJmIFLmEDzr1Gkh9G3zisG4pqM/MV6XIz+CtDUh6hmJB97VzN8jaPSS90vgDjvnaNlKky2/zIhE9ObugwrftI+Oi2a4VVaB/Mwn3VmaWjsU9NOf2usbcN/GLQMjvfeU/YvyEERPKw1leXZWWk1HXzY3P9MUq6MZq1hkEgFzds51mv8mnp1i4pQprPwY0TId1szXwe5TG+R5mMD76nGPQr7/EhQWksjsgGs7Zy5QYvMcGV5tcXJR+6hlHFIAc/M6XjkKYtwm673Bi+K1tNO9i1YBePTur4I+gMsOK7f7980mcJXhgdWdhNzUN2JvFsvXq3zZRG2V30sJtJYxj0aUv1u4/ppVHi1iHnTY3gDHsrQS8YwMX5XwZ2gcFYYe2wd7ZO9swr0gb8zf/fXx8QWKPXcK1UdJk3760B/TMlpWLCbhkqVoSTsOqzgkmFmFteCCTGhNyvFhw1RrTIWzRxq8Tj5FirvKvtkp2GAVhnZ7vnr71pyI0rKwQbVxKZuqM7GAvn2mRBj5p8djlHUsh/r/eBECptpbbjP5nFyuN4mvQLZCaxeTkDUzd/kNGLIzBFv1CElQO+xmf7Dzt1f7GM1Bh+wLDCJZlhcVDXbtPuGssdEie3lZNiWcXMTjZtWAT5MCmpq6JCRuFSHZYGKcSFZ9kOYJfEqLIcWdzpTA+Hmu+ktgSUwXVSwkaa/aHdZXh7IOyrudCBalCZpgXGRNbhN2XpEY60DXXO1Ci5ayZSoxtG0WRCC50+XtgWz7qgX5MRA5S+jzXCYy7O7Nn0ljVxiBxQNCZKZMTqi6mPfy2LZx76uyRUXHjnpJJEimflHDUxyX7fFg7iJvSrsZMH6Uv2xbfQNx5eCbx3oKycUrBY22KPmgfg/w07CDVsw6tb5VxPg5/X38cQtXI47U7MAGGjO28II12T+PjaXHlstPtkUQNn0DKkCYis+kVAkA1wyAJgYKLGnKD3nlVCarYqCkNIZbiVwO2Ydjl7N6iOtvvbAfuq7VKZLo0jEdw1YdsRaHcuJQulgb51JyELzYBkP1hd03IDcZfPg5XmNvYQSOINsCSn3BuLtkCPZRalK7+S97zxvJHiJCZJM9XP785NZ8B8fqDe/Ot0BS3PH1ptErwxBtpgfOj4d/41nrSjJQf9bV1kfdBHJxYbHILxOsWkZvoP/Z4Sl0Yx3bDjTF96xf96+6uIoQ351Ce6DeTwTnkPr20YwATlnhskWIddUohklNITCq/07zkiEc3B58uiBG6d9YAc4h/7s44FN2RG1UuZWeojrOZIhElvDP4KqHcOYbqqS95o7ilQH5ONJfy+aYiB+sPpn35HfHG3duLpNvBjXc+Klf4IKrFHjeVty02xPTNnbdL4gtkqPqMLhSgR/fDXzxJbSScqewiF1wdVoJ/fGL/nGWZfVlDHOQKD+/i/mqwXqvNqxtZeRHwoe/bodk66B9soOnZp36gdzVMRRQsQiBFf+HXjRcrRf9FsGghw3+qoN0JeeMvDJrkSBPsESDai/uVOzn2Ohge+UVdi050fdWpsjP0D/QuTdYs6QyI9xnhU8WT2+KBKzoZ7Bq8fOdKPeLulUhJjT34/EOnUloqus8+pzqNh/UdUOhgTlrbkuTfsaIYDm87u/GNIl3N53uaU8bgaBjpz0jdu1f59K4KFDtwUUeEUoeYx6DEkWKHdi7dtHhQF44lbysk7PqERrsuAQu2D5tDMl7kFoGdI8r/s8rMytJzYBU40wqeFvTl0ZVLdOB6Ya9E/f8VPbGx5MdpYqYMLMyB0QxVdnoJ+tgAQVWfH+jtOHD3PsjuT8dOTSrupuvHWRHQoGI1Qj1Hc6k+Mg84FAZ/gzl3SEzuGWZKFwuo2D3EiG95D2Z1szTqAuFRmT1nEh20tkC4ysmXx6JtN0taK1iRR62s2uNW5rSAvMEJ8yotr3UhJe22brlQn8Gvcq1I0aODaHJucQKVe6SXyfcDWODMw8xf+2C7Zx5a4Qlh7pJs550DictL4OxcDXKvVmLgVWRwb3moxv4kcxzm89EERJXCl7X/BziBkGQWOHPGF+6K5NFJYOFVv4+NyFq+OPMaSWZKoydplufY+CYyL63T8MCMmwqLTmAE8h0prhi174wnx7DHZWYuRJSYZ63uz97AGOzyI3aebclnud77znbZetbWUripe+AadLQeZPtWsF+FNiaXCy/98km137lWewyc7Gamai1Hd3Ls+KMMVh0R3NKTQ08TIClDfMKwUGKy/7YZlJHU3uW60X0r74Afh02v5MJgVOYkjmors6GAaDU7yKHydfkXYd6nEjYc76xws1LDLWCNNKBtUHNyLseOyNDgmHiJ41lXvq638RzDGis8WIniOb/pbTs+HsQVGPi6mxG+CU+oflMR6/qx3pVP+GPgqa0U0lo8MVmI1cBgSnPGgrh+J+m9TVg8nivua0EQP7xai44ruC5gsAVOp9bLsDXfHQujo6IpBmpfbbU8PDavZpTuJtmflVQuOImnRQ5kKoQz2NBFjdiHH3cF9QLgDP5vz/W5trCy22Uk+TCjXjdbCCHB3rJhKYTwiyQUf8xu6yTKtIwrbw4tzFgXDODmWYEnnpDupk3b4AP3qz4AZ2En5wi6aZV287AgCF4vH8TlWLni1E5Hd93vLxSYLBWSuj3eXGFtWyWpBkIeKu+YsBh19VeakA8OePM0ILu6dYYl9DNIK3kU1ybH+A5xYhFI/EqSX3vtNs6V5eQgxYLvu0hYFjiG+n8JzqLQVROiVa8XNQDYJtDAetPFSuEtGI3B8rnbbrNo9TJn/z3lRYq0ecBIe7a03vLESwhKOm1bGTk2kPMv/Sh9wyCOmIore7JhSFT9HIjonBfi+gcdDLfFt7dpShJmW1gkcXmitWwm1cC480CraHm/or2MHphB9Q1bmt/SBXFqXJdcv5GTt3IS2fRgqThhInCjRkh7Dk1iS2vMBLSGtRPppb4FEu762JehUMQxxLQre365CKoJGvJwVde91XQ+bDp5ZsMu/QHmLgITmwGXSpQFQlQBajqquxlwIOe2cyfezaSHIoRNLcwjW+epnmAtmmWA9KU29v/cA2iuWbj9ZV7HR4anhHkjbxnzKPHnIZ7Mm5wAf2o/3xUhnfH++quS20TdhalHgNhusidPKWyKWV8ZjFLgb1fX2r7ifLyUtxuKHHIfCWXQJ/DKeU61vxmPT34MTi2Q9r7/sK1CYuHVqMBsgtfenn31bUzCoyPN89KiO5wHveqnk3uyHnJSUBVTQQ3NyRPmeRKTQvWEBZ4QWcSgMyZF0RQgvUXRcp6KflF056fwahSioP622TdcTVYi4cAwSZLWDvfjoKFLMowPQpzn6ogXHc93fFA5NZmnwslSuesOyNI1EE3RM8kzat6thkmpOiGmm69Yn8yNuxz1YuuPWekoybkee106T9WTPXo44ea9E5QH2Ig6FZn716DBa2FyXHG1B+YfnmhbEpANlOi61BoGO4+G3WMJDokJXj9GhNsFqdaLjA1pkhLP+/mGCZoYsxNI+A+sMvWyoj+PMWeR8koRz+r9pNVEWT70WhiAkNTrojdr0sBLwxIM7D4zT+cVy96ZE+ABi9CqkM9VK7iOfkJVp7AqCqQ9EZ9emn8rB8zfoQZUBrVd6YS2AqiTFt0nJ8HfPGmnBWf3Xi5CgyWoLAmHJp/AfTdHB0+Ns5DlhL6UJ+O/6xys+CWVKtL9S8fVHkpwZZMJn6jVtiUTtXjywmiVXw9a6f/G7Qd4tZtcoS3aytxXYA9aGGmEeBobjiammhUaMDicH3nlOkDvvz19NqWOvHC2SMv7OQHtDIykYerPuoLz6SQNOBtw6oX2Sj3ZLITBDcWNx9CuZYYVaE+vleXnATrwn+PnuQ34jL52tp85aIOk684SUlQ8uyO2t+eIOHndZ3oxD+BcMAba/JVxRYUAUZoEw3D80WWOz0/ul+fYbhFnffx3PgOy2LLiu82D5FMSpi+Pd4EkIFTgfv7p/0vnX1wp0VpNzyXs/5S/4z0RFS21vIF67k1ERTfFuhLM/8fdbKognohMqTNF/+oqvXXLuJB7IHeDdn1X2eParLBEpz8y9CAN2g5VdE7EimekAOhkw+tTzqeEsgyQL4iVDnWrP/RcBd6CDm16/5t+I1SAxCn9wo8knzmpg8DYP8V/vHw8Stu7cliAt+G/VR4XPNZXWF2rZBeQO75os2jFJrbtkfhN9BzHT4HGgXTjyTy8NGsiQdeOw12GjYKCyxP+34kRHZqYsn0pFvVubB0+/emKRgiGXNRWQwMSvAB1xvTprD0Zyt08BjP/4W9HGNfNBcA0Qb9qF5hdQ4dDqpKAFLoIW2gFEVKOganw3M9/4WP9ckP0/g6kaJDRurtxNgT+PjvWYEWlFa80wKYCkd/0ZChV94njjGyg0t98Pz3AL2AFAhvRRiJwdfRcQqqhWkv/o6X45d5w1YLJOye3v7rgta7Ya0jAl/an42ng5Wz4S5we7n2+1W94JnpoGyV8WW2HYjKLkKmp4hBKlNtb5y4W1MrsG/wfq2N5Xrz2kqhdPQL/YoxgCQd6Y2KNkADVu7TxugQRWVuNL0BUj3JRFyWNeCmB74Wsz54OPnbq0GFFxzSkoiJ3Rtq8yEJMKvOMMalFKH7YFHKjb2nwrKVfuUUuRtTfJDiBuaEHHoX+MUrM2bBaAsSdnY5PjqcMBn/wwojQxzt2MoOCC3OEArr09ghhsj2M0mue5ntQcmcC1R/sK3zfShGJuazS+mJUeKxk5u36CYj8+SJCq8ZEv7bNf1+BywGeDQoTDGq6Yh1xW3Suwo2O/ykazTPK/TdVOICyiwK8MuQpK+FX3mqSPzxfLwFJ/iYDjs0WgW2kqXYgm+gkNToB5+jYH83Xlt0cbtEmkkBaVGlHz61rVuWzrK1yjn5nYHKvKCrBPPRth3AKDQQB83fdrbgIeIfB3iHya5NPpEyxbzmtN5Dnk7GqrQ4uu4h3QSoHU+74zs31cWqIx4SZ2bwWLvIxUtR6gufZhNZoMcmSB5z1O9TKvHMORD+VmuiqzsyJKA1OaApB+b9x6u9FTvUkalgl0r7raV+wRqimc2D7B1z/OiSagdd5UME2igLGUcgPlMSX1VsKQp/9yDiYei87KTBA2NPCUmgaLwVdvQFFFxWp2vGCY/KCUvxt3FOu6xIgwS4Vybvbj6feUCkrQPpO/wPHJPhAobSj/aa5YrUvjHMcQkDZwfc9mvghrk/PIPvcJa5InhVBfjh3Xr9vIvA4ac+m+pywS/EqkSX55xgiyj0TB1EE0NT3W2CPFdVD88P72SpdFzHS/6XsmbGtM8JE/m8eojzd4PM1bNADliZ+XG/9hbcKg6PftVKyKKt/8Bz4lGsHyT0VKj2vDGp/qDGBajSHrqzmpEjW5LXsb5kTV6HgbMcnPW2dzQju9N1sI/gPVlgGmk0bHKOX2Ws1q4aPizhcM/XiJ5EZNUK6bZNUeFaUJVTvGxglRUY7vdnoVOe0Raho3huh1XDeTlHpk/2gBjjhUQXe8FN5A4zcRqkNtKpSVq0xyw9j3yQlQxq/Lnqklpz8lXmzHkz8sX9HJjHwyn8UAjblvN0ZFIk4liejx0lVACoKvpsT9+pQoLY4weMHRzcuVC60DUFkaqLfclS4UJti5WK4FE3dYcc0OilX50uscLJomlR6pXriD6ELNNBWOSMt50CJjPkyt3Zn/xj1dlPVP1t6XExK+b3jMoULLPOrEGvjELfAMM1qcuBb0AijkIuFca8f8xapUlkvLjmmJW7RK94r8HaPzvmHHSqX9MXdivNI4A+JHy0VCe79UZZJvzMGzpnsj+Q6k3EItDBiA12fTMlSbEOMAWCdQq9TtyUiAaAqJozMzryEg0k+yVHqCc/DyJcCE2V4WXIhEnsOc5c8f4ChWfUaONhPPWogpDs/lyVCvp3m0NSfrAJKNiVy5aNC9gZ6c9BqwYgj/cDO3kdam6gCjhR+akALFYmt4ixHkWxKhDTGs5K+CwRiKJnvxP9dbxRPCBHbiVa8gsd2GuiNHZD98MNwXMdMC0MubVodd7dnyk3UQFfCIIL1osPxY0ZJ6DvZXwtZ2I0th6aqlTMULVo+lhSIU/5qO63lTSa3MgPRJEOi0AJ8/UlZuvgqLw9dyEDQoHTKWOsq+6fzoAyvIpv14fLaY+braPd6NkSaq0RClMenK1QLH87NZriUaeuCo6SZ7/CfUt2K6VOt0AjIK2jR0vorf6R8+TVzxZb+QdLimH9pU5tQc73xW93QRPMGy/gCK+R+YzmV4fHK52GWBEBL05EEoTY6OYG1WWji66dWnVTg0uPNw839p/yjLxkCfdTaH+v6hVUCd6HlROj6W8Mil6AYGC7NI2+qkZvJh/dAw/iQspXQNwwWHr6slLIp0hBHYTDh/J7Ba7ZR6cp3iU4bSXdmzhTahYDev4yKiIHyN64EANhI5OHYv1G4KXfIOvQizYWchPhzQg5eVGNMxsqrvWVxjtIbkKuHzE+IcA2NZ83GKz0D8z5zmgRnoJGKigseP9TmMS7BgAqtqyixA/SLc1KEUWrhXOQ6kA5ZQRazp3wwSa404cppBnfsS8EsEpbr/gXyW36cZ9pt1RhzyxGxDUmnZeBz/Uf1AP+gyLIg9x04u1fThm2w/H1ZXGvVqsO1VqutV5gUhFkdkwoCjzz3F3FUr1v0njGYT2mSZYvoF/fSd1W11c5VIhkEO06US5wYRmHVPYXmZnbK5YHQ8pkIDJ0yqssqFK34CuHE8RWb+Dr4omk779QOOcYomAMYQ9ILt2KUk2uNlahW/IjGtenuGLxb/t3aFoVz4oNwMZ7iyp4td8mdzgJAfnCcYtklubGAUB9k6bGC5DSkf5VFarnGEBWz600VGR8QywZ+jIYFZbtKT2QdDOYP6k7D8qVgEZByGmRedZRWaQDTggLyNgDD6pQwEeSs82+hTxWypqwU3zuAWqfwil+mytzVnKztyvMFJyJwPFaPr4Z3mTjyxCR2Jv674JVGGMUSWb0l+GtcYtd+NBGChwr8mB2hlyccget9liJhQEb0XgXfgVRlHlbO+jlZ9CcAew0Nw+tRcWgNnz/GL9Kur7RohRhaYZBBmQA6JhvzkazHRcdZDn0zDkfBmYP1PfQjP3d6qqx6gE7vrb3lBKEfK3Y/nCe4COdpr23oZCoIpssGXmqE8CGpO2bEwkSN6uqeqR4UtWR+xsgOzNeR49PTLJpFEAkXha5YaecJ8t/KR+eG7/HKV23zPZAMvHDC1rdxQ0l+6wlIgZbUybjBe6yusL7isRuuYYwg4+8+4lia2ox8RCdvmXlt00ZshBnAIfLkSwIqUzCcsD/d1ZG6Az728L4FCIqBKpbA6bzkJ87lYQpbaHpwPpqu3S0UqNDCwgg3q9MEn02X16E4xibz/rLx7NMDtHcwMOt9r1dVU6Hws9TvJVH7THrnSFESgN5eBy53Nq2Fdb8mySTxz5CitvVE+ZjHaYS3hq9Bax+uS7TxMIT4qJE7HGdsHM1/9uPNBylhP04Lck39JMe8v2dPOSJzyQoy8m/8Fc6h+X+5/mBVA9jAsG4vmx/KdUW+NXxgRt//SS2Ib7aGILsjOz+ZZQu/NMeuAsP1pFRTN90rqIVULbJ20ZJlrjoZD1VxHEoDFFGVWCVOT3jGK+vFD06gc3yDUSnZ7ZHjGmw4ZiAglY2nm78aUpXxI4BfUHqL6YQKFDCazUIryLi53RczlaTh0ry7WN4WpWK9sPJ0J49fu6RGUMYZd3+NrRvEdOrS5n+EJOTkr4lNzo8vawcYnR/n1Dq0rCHu5o2BGBEHABJbsFLi/mlWFO1MjpvUu6UPJjXlXse6MtBROT/mQfyegWGmFRQ7Q/O+rJp471+tQF10+bvkExfBoTQrewd5UwhAUODpyeW+aK6vx2AroUo2bGBZ/ZjcsJFfMYEMsm47LdQSq7T7peI2Ex+4/9oIAJGfhidbXA9UYPNhxigFTg83CETNYfYVkoambj3vv4MZNtE/wrIfTguBNqkQk9ebLPTmY2U4UCzbYqPKO5vjaZXeVksobDAJzhVjoU7p9TdFmNMyLyCQJryBSOcm0hFk/pcwcV15KZ/+IIqeQGPkTbiY1haWSnuQYBeyW5uSPHGtYw28cQS/v3rToNAUGVBSQ6zpBt4CHvaOfEJhuDJYZCcxvPeOStdCzaoSQn9nDe8wDc1MXrJ0+9N9TAKcS6u8ANLCLY4UfHLGf884/LFIn4OLOlRcNl7FS1IJgu1/vLm4INkgHt5ISp2vC3MFJHz1zJnopnKS1AgJtCmhJRZDaW6wis8CJ0KAJW0Yy0+kWI3lJ9N8yqJht68FMNVgkgaAGi5LuKmkZWm+ztKvf9gT8hJrXZkM/QdHI6wy9BqVeWa7g7ZM1YLbUv37YSnLmGsCrl/UVi/tG+fZbzY4bGye0zH08VQpGmyd/v++fS9EtasmbkQEIYnmLZLxO+tNHp3myIGwYBZVXjlWvrCiQcsP/Fu9l0HWmLBu3gvuJ4phtJsXXllJdM8iZIQR8Z6zEMs+cqVL7+TYhxDd0c0l4sbyIEw6N+V0v3ZbUlidyekdcz/aIomGdZtmdI+1QUrrHw7eDXT+G3zbTZMXxpEgJc4zY5bH5az8eHzwoo8QUleUKpVRrsErGmSF6GPJ2OltKYL6/C4zx4rHdcfsrQTcWBmrBWMMiFiU4NGtpYeACqYafRyu8j8x7ltp3nxVbsPO0MSoaR8tv61/q+YCqHX3h4vy4HzjCYEl+4ZDtj2+mawuj4J0rBpcDw+spzuCQ2khFbks09lPGxK8HYJl0Y/lNLUxGLZ+2h6+EFSaD22bYzF7dk/EhCWh6u/v1HUVKC/r/Wl6JHtd1V68J9zdOTgbvJuQug4r4vUV3JJolQQ5tecHKqcNoYjOIs6BZTlfB+yHGfGdxTKsGxbU/4taKuH8Qpd/M7fIG5zebrpiDHV97T4jiUNt7K64/u1e/+erXV34aOjfddcKNO76EzIf1pfD+KivBsRlzlsjj17aDPq/lnKHQCLsD+3TK021HNzhZyuwpLRKS3KE0XH/0TqUOr3VqLMcsSZM6349QJDznPG+sUqeS6wwMWp28TAoDKdmjzW6f+2au71HsOzLIeWencRa5JapKkVTYpvwMIC8u2L+/hYGJmk0588rq6Nnqe041NMzU6lj1K5KmSj0ZRiVpzu2FSTl4PBYHAuhe5dtwnRQwvvNqIELVxKMFWedxxB7UO4zpYRe2x0zH4X6pI2m4g6YdCs08vR9B7omy/goQUYbUZA+wJamq7/c0FhkNm74Mp05NSCK1Dcy1+9qp82p8XVkUB4+SsVRJ/Tqtn8v2esmemr7zjCfjLicMb05JqNoL6zzz0KaYkXeStBrF9+T7EbZTo2Fa/wS5NhJvRoZc8QUfS46HX8HIZ8A6LK8zKtROnakAnEEFoonVlvYR71xYuBAXbjtxfu/bteN8WkArB3//qp+3btpi2SIMyK6rX03iCLnzOd2OrPnD6xqgVT35e6NUMpN7EJSz0DRRzyze1J+Dx3cfx0M577W84qifD51mZG8VNbBf+5PxmGGrGOmkO+Q41YnCkx51D+X3CXsNAjaz/XfcPJUXJ00vaQyfYDtmFq4kU1ZHdnep48T4IskzPsYT9or3rd/ubiYLqeBqjnGbuNWb9ZdPDxkeBmJwYTjsTU+VugQmtz5+C3QBX0piVh3d7BK+Hk4mO3q8qJVQXeIqs4hKuRvBfIwwUyKg9W1x8dv+EwESuk2Bgs1+Zc3wzx4eGasynWs3V360wH3fKXZFTckeHZdgtzTqcQPC2hCHhSXyFMyljvrneLE+c+b/YQ0XcDBam1oAPzvKmmcgER6AqnyC32Ic4HMP4FQN2rh4Y2ntrawByV+9oq/Z8hdwQEPYRYiELBCnuGGXDQbl3ZLuUo0vfKU/AuMwYfNXmNM2vkn/GRrpc5WDP+MEL80tbJDZfDNBRfpfcvVpf75u0LrkIIjnU4adaolZWzB2yjIVwNrF7zF//n4N5xHeaGc7Vh1EYRdc0h2l23qFvLBNQ5kHbmX8Yta2Vj4DU6eBN3XyJBvJf9iL4x+hw1hx/7Ej5U8EZr/Qhgoni5r9PxBfU3fdvXICGW9DzST7GV141bvyMDXblFG5PizNjJUVAWNSxIAStz6+eDAbkYeAKTj6DIR6ysFvZAloBLCgSdMFd3ol/WXDQh3BbBtLqO9hp08BfumZjLpTJGRAIHzDizXZfhbgqejNSS27BIXQLV0muwzgXGqYt9McSvtLWo1Fos3k6Nu2qGyFftqQyDz0/bmgvtZyiFce/SLYnjt2Q9BnlmUVBWOtbDPvUgOSizvJDhdiSkbLLP96MJ7dKO3eUK2nZnpb4s4b2XGF4T6gC4qo9TDv9z2SY4Rffb/RjPs76P0YiWADpPB/nQjC2tDRlxt4sdNCIjmMsLgU+cr8cpyaMSYI9maP4HHww2jTPkGKvF6H6+DFAF+jAZKT9oi23gpZ2zavE0xXPkF7a2FTNJ3bwxvsJV+o0fXZAkmouYq6B2+6ccHhnUIeL10QtZaPoZPJB7/Xry/2Nv+JJFmQ/p2NSiO5bYGA8ej1vh5QlWhaX3JMs5gMBnyyIfXIMf4im0WEUnCPAJzq9q04Tmxzy7nGKKEf31kAp6IFk95aj0AogL7iljLVJlOXNvV7BwZn4dKfuZweSEZBqy+Mvual0TVDHiwHuIuXbvaw+OkU7aeAfck0Hc6H0jgt9g6Rxb6dAuaiKEN1cUYtD88y0b9Arq1q6ML9B20/FunTnZNF+IHgsg641FfllDFpQ+dqrIPKQ8IkLx/2ppx0ivQSrehNaf5dwtBjnPHroRGzG/RWOdiW0COPzepxIqcsWjhfmBXSUD7YCvPm/qTGcSnhcriFKew6a5s0AgK03I1gEifX6y90cJBY9REbQ7yW/XB+zAXN1XZQVEs7r+0ajtx8KvVBKJksKj5YFGdhEennMbwgCJJIMdt/pJD6FIcNVegt2LiQS70DAJeiNNG86dQVNYNZmYEfo8oa002xKLh1+rHlBX40iY8Wlv7FqswQFktpyLn5oSdo1jBRz8V3aRIOmhSnrs2wxGwGBEVEXvRm8RZVvSQ0xlKMVWs9Y7nnmJ9jEVuDL08D2ES3plzvCNP3FpKQeSknFeVBXv5T1Yk0/X5vdj1J1LYa6Ffxxrv90ObLHARkCI+tz6+0i5cZTinvgIYLMVnV/OL+m4RCsTy/+9VQPsYv6X2qSSlVdQ3KM1SOntMNUBpb4C0MsDh10xHQ0cbJK0gsR6X93ru63BDYbRZmPISt1casVwVVE7+u3l55XJGJ0Ev6S+2zpNqOAH66RuzpVskXE6X8x6wHOfp5PAI/7YG3Zozh1U27IXGEEKIm13Rt/nTE3pKWA7i1NFdVQKQ0CNdqEsBkjiuM41dd5rIbR4DMnoDva07v1esxYBGU4JWJUJQyejYbI9p7pqjrpHZUNlz2exX1lTAks+WxY6CExoPlSlNNv6AIsE0VdPmHOj4m0a8bigDelTpIL1WoePLhblmhRlkPDKiZvkzz6eG8vLeJjCGJL1+VFa4QREBVyuhcpZm1ygJm9kuQ+8v4yEMw0VO+TKee6sMFRVc/kS4IirJupnw48LoR2aRk+GuDBZ25xnKFxdSYqZqvWlEcemsbzl7wvQg5z2xKxEUsquyGziyzd/X+XFl/ct9KRLzyyb6ComIL8Wam9x6LPNZXvhO0QQZmQ8T2MFjmRJ42WyRzfyLGkJKft94uO0Yy6Fflo3AoIEon3XBygpi3Je932ToU5EKoikvqkeLFACpsBN5dseemiMdHxOJKrVJDdTS0qCcTzPCyz506oyENFdelskwdghmUnWyXK2WeJX2CBXudNUBON/i8kMdtJm52REvmGqVmxe5aricuTCGLbgZtYvigT++E7xltEh/ZgUoMP+d8vaPU/HdhZaUjsgQ8OoqZeezvNR2JFm2on+IliVyYQ/58LmZ2stgKoBbs4SllwiTpNRw7ecL2WR8bbg05aTN00C8aGWtReWSsYsirJ0K0I97flI2gJRRN717wESryWahXUAFZAdyD08j9SIZQm+wq5GkoUkK5cQ3wk1x01x4fKLPgPIj6D6lZiylqvWGtl6KxCfoSQXlNZIHeDsrIRqhINxdrCinM0iMMkveNxhqrEzhnBn8F6nXVY5zUDLzOXpp338I2HycFa2pueObEof3HQgFEMnHS3/CDKwJAyYl3HyA4X5vXUE8MMa79gYELseTf0IEUJRsfSa873vl6n29lFq+GCqF1I+mB5PSyLFvgHv6hG5Hd14PAHTKhY+xzCgOwwRZxygPwNET0UiO9ynH0p3j7GAFEs+VSjl4ArhHJbySohRLfm6B7FxxYJLJxJlQr5UdD+5Vs0nM6CehSZZNYw4FzcpYoL6nS+wGGSNKLVLXgbgvzAbT4B1J4GMS16IKMlo5S/dzM/NM4NI+a1Fuk4qwaewoHqGp78vgp+SkuhLyAVhI2Or50Id4LlHwRon9o7JT3D2pibchFvFi2VTEx6cLX/qorW2YGSSmnu9+M8teW9DIRH1TfabuDIuLk16NFz3kNr5QLPGAd0JzN2IYFA140yqfi9LfBcZI3aUK/Gt2bfMMk8eqttN8c92OmUYKUaHbB9C9cpEwaOYs49MztuGtI0VMqDDHN8HiRP55BpRIJtIWbSyi0/LOC94XhzqGVyuzaVaBfg0f++sV8wy7ytxlQYA9w1ejE0XaCkpM9zbOrymf4OrEaIyQX84Z9e6wQ1czIvOihnSaq/fcFdkxJcMzE2kWcARwWT1U80dW6B+v6HdclWMyMWLYr49iKWrhm7o1yumJKxVGiv1Rx3Tw61jrh+vuNjikpFRxa0F9G7ZWs57nuhaIeT8ZRjYzuyq4WZBEXs4CyfvmZxGcS4/G2aWon2O/UkjqrfdbBUF0yavSPdNJacaaZxFQNejGDPK7SCF82XxiahbNpwFs/t07gbCJkDUvvKjqaYv1SNJBa21RKsOuGJNKO/F6HTjc1Q5t8lqLL4e83gWTT4aubYGtE+D4e9zdPPo2R3dvG7bDrCQosp62YhTaV3B/kEQGqtzvu59fbgA6lFyGe7urhYr3TWCBFYBmrEpB78fWnXUEd1z0LSzMcWL6vuh4CJYR0tg1jX4H0wkw9mkbM07MXopLJ2Rt7/aL3Hl3MjO8h/1lqNlK74QTbgkurmgd23XflEcMhjO52Y/Wsz+CqwkBCDN8SUcd0hvJ6srikURdDKw75ZZMyms8NdzvzfsXreeCzpVaPKbkgWo0BlD+qWqaXziVa7YTSezNkCD1UBphMwE3IFwG3+Oja0AILbwR+VMjirrIkRPt+DMtp+OKLpkiE15AVv3jn19brZGZkhhAsuT2sTiWSjLvxJkMICAGdQY6CcJ1bmQsycrXCCxoxrME8B5k7aYQkl31h4kmnvmUA1Uo5bGEJkzebQNuMeVIRwKr7shM3Y3iowzuO8Jm833ALhjeDbR9i+ajGdiv5nuQcBDW0PZ0CB/GHvnmE702e3iEmWKin/StmkbfvsVh9mXnjLzZCRfht3g5Fu6OpDSsq1DSVUie4hNThGTSTWkOhTKbARv54Bxp1m/BqW0CfvfUJMQYci+HzQBrAw7lHJI8klNzq1wbwtxf0zzTFIpYQcsU3ddDWDMuciKmN+BHJ47B6FkgX4uR5QSWzLqgN2wQK1aLp2hgMJGqMII4rLK56VcDk89QQhw6cy8PCM19olNpuDwdrQFvP+77wiyyKx8Z4MVJNxV5vJWOwvF+aDouZMW5HNno5d960qcPPO89qYm6Zh6UO7MyFx272aWYtu/0+UZ6eThOP3s/uMGRarrYNGVN2bkl0VbM7ZArP2AnCQLuPoIbkry4nTS/RsIdFmPg98zeYI4R0RY41FQsBym1OXnJcHtmKPjfEXuujVQGfCPrCZsaT+vFbMFWIvUy7OxquIvdi2DVp3+q3E3NGG06d/cz77wgHGWrfcy5LJIzCMZHkk6m2QnZCXYVXwMsVhJI9nJcgG/CrU5lgDb/DlVEsXG06BHIuqVfnTyLdAQZYmJlEEk43pdgF69V12XC+sB9W5Tfm3jPwiHn/VmGszkYx+Er49CLbyk3hDBSKuzDj+nzCo77ZO40EIP4ZROdSwWlf5S8wfYcAzjNdj/aZ8uknw3tur126RfCzMA+cUo5mPaZL9cVp33X0mRTUIS2vgtwDRgsSSX5xcJUWR8gZbdeqyqQEEAeDu3+BMlrgYP2SH/le2u1yfVFn5JX9VQ04X9mmABR/KOd3rAYqR+OQwLWao9MXVS1y+0OKo0FlXuirKuPaY1BQbY3Vo05Gf/+N+u4rDcFBQqiCrYhgRAEjvVW9eNCaOsukcJWEaDuo/pWCYGJLadm4ssTCPvVVEJNBfVXAcTIxH4EFtWFMJUy5of50QNXNZBl+oRuFIkdbt04DeU6j2A3vzzP+IkMahLD6zBVJv+xRBIc5fODvnJMmJRMI8kcyMFqxpeWZAHxC68tGFNyl6yyGN95SwNYXwDSIQCPlL9bzjZaWNWvs5puiP2lbEBlDw5vCHtVmb/sD8QBgOhRassChwM5o5g4lhlD4u86wmdmVmhmEXnCyLeQJ0rRtqYIWRhg72ieDnqmPvOkDTWtKR38TeJwrK/7IRYfbNspygrU6yV9YtJyw3I3uEkDgbPrpcNUpISYvzv3beFg3ZN+swedqf3IVKkcdiAezu/KpHGHPyvX9oT6qzTS342/DenW9ctM197UfFl4rk21KxSma1KnLIWlGGasMF4+G3dxTnqBscul4CqNda6Qy8ita7HCzKlYa86yljm+HQA2B5ArJoZy4LNxeT9izFuQhEoEhUTNJQj2pCc/O44h8GpQX6XgpaAvAQJLVNq0yXGFbzb3O54XQ6sm557+lT3A+VWPyCJn1MLbsssHIdFhJcMtBFQYi0bS+exQ4Rq74xNE2CIRSzi3nj5TNy2AoO0gdyBC0/2iH67UB581jmM92OHqgD4EzAzyxDauPnlIdZu0nWwB4dtxWN+meq/faIuQpK2hoRP/ULwIJ9r3xyxtXxfFwJ3YquXldSEnxoPiYD85u0OAHvKOG6+3eBraUiOgvdfp1EjiroeSLLFutuPPV9XqhAReYPaRy87OAkV5tzSqvyfufCvOMTtkpxApWsJ9n+cNM2uBWu4lj1oDjGasCfCt6cfgCzh6UbZanbL/qCgf/iHjKYaavIiRLJrU2BuzdsP97XHkXLYbbfsHVTlXSohKOXOJ+3LiR6ix9UFLo9qieejYk+P4e5wC64jGQLSxJzYt3cErx1Rtc2+xlJaEBynLN4hLl/qOrgBM7a+yswC0Mh2OieA4SR6MfM9WK/FOWbVyoUBIUAKOhhIZp2LOgukk0/DInn7sF7dRP6Nw77MaAcYg6k0gdjQN9/1wtGVSBm+6LwkI+xfcK9l+JiWepXul+/EEdV7XXp/9lUsW4RQmIkda9H38FJj3EYJTrG4hEU9YWtNd2lKI1683cXFVzSMkh+2nuu9K0JUBoAnrYkKVZpAKF9G7y5n/KMZrP2xPuUFSOaruqriffSEX9Euj/k5dgewEyQCFTif83LhkIjt5qJ1LyI4ynIznWl1SoAdecEp+I5WmKBB2fr5yw33NX94q6HIP0jW3Np2E0r1f7fUjqdxV+iCRULU+yAwPXFvTL7HqfFLj+wCfIbOg+nsW03rGTf1haLvAZA/nC52pSDnC4f0qOiA6WtK20BldZUaA6GO3m5ZOCGyemGK4a12hM3BXnbladA/yTRV+pH7IiT/9WOijGGNXzV+K4wmdmRjU3It+QwUCRat2mGkEHhOcQY06pWeQqBGjHkWcceX8/drkk+tYysHMXVk8hLhLGjUVgivK1Ra4K+RtUcZO5fkVkWQ4W8fyo2tafhGEDSsflUH7yj8wsATBE9YpskR+r7Ac8xqdxtEAfRioGXSprjbLI2DAZZz9HAYR7rUHzvh/UPpFvrLbd/hFf7sF3RimWNpiGsQRZ11RqfZkck9IJu/FPU2DYr/HWUdskJHuLufXCvDbKn0F9sM31Hn3zIuAMTUc+tQsO9ll6jnNnW9Ulo7d32jEQMqJIrWQL5+Se0a8lKRp+XhYp4IfyUaTRC58vFEjKupeFEpU4EOp1AjeALc7vZV0ovza8QSl3ru6xFpY0/ckElMOChkhLWSDHLCKaFK/qC/SIfT50GJZnkCr5SgXZRddXq8Gc6XNjIzSdCF+9YlUFKMiri/sn1Gp/dEMhARah97GidLqitLNBlF+H8XoQmdrM3GXBSCN6izNn2ON0OzpCxOuM917OZCw2ZC0DSvNuTOFCGGYf1TYgUbgK2KKc4zm/25dz3GhVpFqs6x4yhZBbiy/6FD1vXW/aIcDiSUoIhwrUtxuGGZijb47Jz8JfUTblzx4eNPbXeYpygkQo1xXonjeouTuJvAH/zH+FK50zOLAtbN9AO6xjfX09CsjKitMVlHWmmQybLoBHBPkC5IbAZxvs3cH1VAcy2X90WL6y/0SXNsGeLBdr1OWVuYg+/wUNiR7QnP2ec7jNrZZOosT6Olwn02Dh6zSwKoDnMFLfk7lBO0p9mWjex7gEFXNfxFO19qmaoISUZEgdTuy7sHgrD/36o3XeFdzLFoFnOJa4yaENBXdTSmVZacz+5IGdVkEgjQt/TxuhNGHGtQuzNDfM4iNZ28Ly9S9WkUGMNAfDRLr4ipZkJxUA6HnlOi4Yb04/Ze8rB+HEXpDGC5Jpr4fN62LQh8o6kxknE1P5/rNmz43jehFlRUvCyNi3Y5St7lC7a2ogCt3Za6M7AshQdbVV2+R2DuuiLEJz0MLhnn/1/F2Z2U3h560PrnhR0Gc/5GW5DwO/DGrR/4PvL046BKjUp1lfrtKfE4osRTS9/oB0GrNW3cYgvhU8ld61sHhKOf4P94t4n7h9zdRXDaFv4ORPHokkY+NA9QA49RmsGMfJLu1/RXuluq0J4fsUUBoa9dL9T0yDJXvGtuoln8aYrNzoapa7E8cR73/wX6KwBPpwCUUlxsBtOj0rnca7zu5FqJC5W0U8Yt529SAI0S6nmWnS8zguQLRzf/gRLaqSQ6E9T6Q84u1cs56dzBMv2eBG+zAKw2V0x1NJX1gC8M2MYZpScdXEKPG1442UFWTEUlkM9OjbR4FurtJNV4IqEu1htlgltESO0SeZMHZ1JM7bNtYegevwPSCmW+S8uEGj7FTSSV0HbDg1rOnt4Ws8DxqN2T/HOXNd5NGboZ8VTSD6g6rLWcoWOwsyeG08GPG6KHPiLRunEdTPNmY74ObRGT1VCHP7nmBYmjnH+kqK6rDyrEoNjdqc8uG8yZrHWBXU9weqD5rpQ6S/annq7P/GiYepA2ZDdJA/GbdxpHYatPgkXt5sop564gVHZamW6cq/cdADaLCXWt1WgK7y11WaQR90YOen8BECQ56pmJbLvzzfWBhUUJP+dAEEK4o4wZv2+IBAFEdNkNF3mKntsLE5PDLA/IEiV0rziyORzLJsoxRMCQV/HlpCkXsaizcHT/vxU9iadf2hOkKehGum3973fFs7uRlqxz/oDerFL0617PqG+VYIxjeRb2IRLZJGH8vp8ITzF7U7HUg8Crs3WpVY5r8wxn8tzGvUUwY5csVu15Vmm1xcs0UL/lUCkrOXdLtlaa4pHLeQgpd/vu1ZzjMOcgzfQaIwiZK+fMZjRLAHUf83TSCOkovb3xPkD0jElmb4TBqFrwn8G4KWr+RM58qhCnlVimQ390m8YLz+fNHbBRDs7GJgHSK+v5Z9cwZq4glnR2eTjnqTy8Wo7BEg24CL/RT1AKzOIE7muo8oegzn8R6qab08LzTcbb0ippsScfjQoJhsr4jKG2pMVczpCYqptZcGD5rxTHFbL3+NDnEUptRMyARhF2FMiM7pgaB/IpAna1AHa5EPt7oBdzMGg7kOdSOpxrPXbdP3l/+QCfCLMpCsxFd3VAxA/IPVvK8JaenCYCadhyZ6rJeGxTUh11+OOAjrXIJxb/EbIy8rv6h7hywPp9ZhPCcgt9BN808JhGIaKwtL85jO5nipQyAF690xJ9A2DMuCx55TSG88fN6rqBMYDI+I+DtFmoAqJB27B/xxN9xMLnQwLcLCHOx4GIFCq3/6i7gwJePjoG/HKNb0XjhuEQmYFzTgtt/uIo1bBX4C+y1jrb+R0mRj+RyaDkRus8W4WW73qbcjpjIh2tGUY6KJyhEaKiK+LHG5euQeYZO4zXoKbZOWiJTvJNNVrWugpXkIIIE4zK/g4JKATQjtaC1qbJ6khaJHxOTS2goU5zGyjmaPKvVPrBh27E7E2iZ/6omwpBARV/9EKeU1m4Msz8Q7y3MzEF0C8VIIqAxB+Fk8qG970lhV/ZIX6CsxiHqybemqil3Qv/cWKm96fPoMJWSA1dcF03dSwSyNMdvKKBCYVYLuqr2pISKPaNRJJw2R43RNE6avh/TNA1tGJ/ilW/e4LbOvIh7cS2OsbjyXcD6WS0DYaDa+og0lSxehZQiDSt2fVdtF+DO7/cEUAM3uju47Fl17rUPkRPaheA+6/jpSYK5Nh6rSwO8Pbi1y4/L0L5SStva0NcscpH0pw/3Y9+Eqw1SDVvRn2r2d8vRC6YhQywdhKWraKGBMILqjiU2l5d3jb1tnQIwi95QiTJW7MAjJD4Plr9FGRGlM4NQyAiG8wSAKUbRCpmxE+zk9YhXjiC/Rbt983pV0VzovJW+90dH65IOb2VS+Wk+MpsRgZ86uEuxeGPyB++07HlAwqFjq0sm5Lvom/rcHSaLduJrDdabujYJRWbbY2QZptvGwTHAiaqsAafE9NQa2oq6hV8+E2YRbdEcrirxyx9JVWpti7CsFfA/egMevH0MR40/X1jQzMYbw6mr01MI833RiE3EuU79cpspC8tuN6QxFB7ExHF8yrFQ4vRniEkTgKc8kT2tC2HgNJJ+l/FwYXky6qbHj1cMtBGVOw3SFMHn5l5odYVrLqhL6R4DujKq/CEsEj742QjUogvrSb9DOh1Mm5Z7n6MI+YHii3bWp2abi25FJIiX3GM/137MQVr4wwQ5IQETnYx0CoXX1nLeqLjQ2VlOulhy58iVxN5d0Q2TEV6MPr+wA6lluGEC5890db42elDUvTbbMcjHGrT7WA4eEhNLqVT35NhLruSPkwg1UCAUz94Dj23i6dqS1MPh40Oyi0W+wfoWYXIw+siweU3qKdQM/IWLUwDjgMQuiK+CTyRgR/Cg+XmfazCLiF1JChK7C2x+ROCl4t2WjYngGRxBWRQqqrNqx1EesLx8Z8GOimBJK3Ip3O0TWp1z6fhibUBvCtBpCBH7Wz0MrsYEtW/6gd/rLbB2IcMxOrxgW5u+/ZBOjd+9Zg9SRf7ln5tqXgM7wZE2rj4u7BOezWvuyca2TpJkQOR8U/bR+LRjmN6RAS7MCfYSPtJWSbZYnQL8vGmJb39SyiYiER2Via1nlShjJEe3JgCwTOTiIQJ5h+NQeEs7qWkpIDJiQHb7VwcR7T1gLGhKAqUT5DPO5zvGPny/DOh+Lo+Xhxf5wTkF5p5yY0vM1gw2UZQ2nhCedQ+PBxACaAeuBYTyBs9aNWvYATPBLUtXJ3H/+rMIUQ3Xz5MJKdV6OhLEEK73rb9hfjPlA0gKO4j120U6VHh4AJvL3WqjaY/KCbwpCzUCADZmnJdpD4p4U5ry6/YuhcWXcVV4dFm5J8qADBWw9jPITjUtkf0lhIJkzhXLTcXQBZaaunvCCxyWh6ifYzNTTCGJcUD6DyfGam2zj4qdBy7DwBaL2S2IxicF7F2ubPDvx0+DEQVydAIF4Utn+/niyxDQpGlaaG5eRQcfYEHaZeHBOfZ8x6KnSsZnB8YZbLVBcEF3Mv/87cj4r/BYDYAaUWrrm/rWPImSVpvPlB3xQvVG305B+bCj4kIW4ZWzFnX7/nApDibPZxncAV04laDsD872g54z55DZylkUKHXF7Y5iFwsc0HDovYpJ1P+XIAb4pKZnw/e2BrTZn6jCeAAvAt6Z8EdXqS/KoRwK37xhZL7w17n2PYpqnoCtRAvnU/CocUq+el+PFEwM2GkhLBAJXvVbqxBMfPWlA8XMNY1+dfsV9Uy0C+WgSzcXw/ylN23DlELK9DPZ1nzFCvyDWygh1ABv0LXhuVuDEraYOrX0J/NpbYoxjl/mfncXN1DorfumMjOo/dWEk/OvdZ8w/66CtISpGM2htGRpT929qEz+kRM+2XpAqcSS9GOrLWVVUVIm3Ez/yIqAWm019Td/ytbE6eeYJaY+mJpelcp0h+4Y1hmcF9J6cZQEJi7foY8n1psVTCzE0QYMX+ScYxKxb/bU9eproUaSNTxHeNhomtba4y/CfLAZYXndn5ndeIjFIsRWRpwX3HwrIsKxRgd52tRs/iun5uy44w8u2wZgayiPbOTWGXUn/BDqak5EZebXbdQHyE0yEhUO5HcDnE6xlAuZFDSKLDTTZz9bWcfe1wy8KhSOwh15cBRibt+faUQgl7/5na6Nl5d1o7iUWTjOhjQa4z2Pha1PNGSn0hZFeICMKGtHJ6EGQbB+HF6+M2e8YSQjJ2cnG2SVpdzXlnkzxYqwXv0s0WM8nggSh7Viq5joXNiF3RJ0A9637p1HFJd2I7GrQ4ZTOWRi8jcZaL/25Pox9feMT7VDPV6TT++0Ri3a1aLS8IABZh2dWfxnBmXDWPdvrxmBiF3eePVqd2ZM5bI9YAN23/3qVLElDeD61xvgRdjkXkl2tqif3zsX1gGp9mzEm6suh1kWL75XC2kXlrCreiNi2pfI+iWVFJDXPd3MBNp7VSAZRp1jpt3ug1pQEM470lZXwotpDljklvGxuNeKwTuKNJw0EK74nc0d851QXL9P4pxZdM7pkmbA7IU2S2Xa/AJRP2VOz3Kyp9oW6FgoQi4noNkoHeNnprbQod8n+dQSSbMzNRZIuL/riHaxoOHkaGYwROCZwqcbK1tUnU2Qt1J+3UTvklj6wOD/d8lrZG7ucjZiCyHxK5XVtzq9lDJ4N1FvARCTUfnLeOLc5bmrtGvb8mmsr0lDDyR5607k41wzglZH1fExfmsXrEjiNLSzSKGb7FVusl07/BgeCclDsQkds2G654GVeUpX7UHaqQBEmJsIyvfxvz85+WyRaoYuQfSH9WpJLeUoXpUt7+Crnl1Jqz+eARyCmzL59OUUBwBuoQAl5VddIrfG6xvDA/RZBOV5AfwjOrJ2xRo4N42rCSFCcnOY7xfewl6tVLetiM2tGLqRLc9k/owyHriX1A9BnluzfDc5xdEUKyuwzWPG+tZGNDV0WLl1JyHPflzcBpj92G0AR0lGaMSZuKui5/LUMn69X9wPKc6FVkNEHEjHjQKPQjuFCokjN+N/6DlMscpE48IhHIa0Ghrc36GwGEiPRymXWKD/di92yfjZjDM3fdHBdwSxJRSBVKHSwh6Ey1/zWZRZ4kk+KMS8HuroIw1UPa+PDVpsSIKvmqZnZisbfHFWNW/dl9n5+wM4VIzhmrETz3k9WU3s+z84SHh2f7dGT/G5WvoisBYAgwm+pqFS0A8xyhy4PiKfgS+6TgnQD5hDEerpzgFSaMcw3yvDZ0+xfL0yznf0uY8N6APiqHdoJZOWqTPnTIbeBLc5dvFdh+mvD+sDtl8BAWzYR7QkSgnx30Ru7TH5a/g4byacurCNvG0lTgpkj9w42uqBp1zMsKr2riOCQwfCRKkuSX9CGADOYGqCHh1JUsk6RwvI9OvM9fCJoL7Sap8NUQ7mAvdB2ougA01NdqxVo8NeGta0R9C7QybiN4uAtDxw2zLTG9+0we68JkqZrj9tJilUV/f4wOLc83GfstXOVF2bAJ6zf56YworQQEDj6QnC+lqyMkGAr0QuAikm0jqS7fy9bYSBz5hekPILc94b8aUau3Kt69QI1kFEmcb19aFQA4bSegA9/hFi61RDIVQ7iOBqViYdGaK8d3zH5qWIjed0hR9e6o4zELdXWhOVOcPCmZIYYXvgUsAyGUoCszsCiTdwOaPEL2kRnYh0mNSZGb6/kr8XfbyUdbEZ7mDBYy0yTDxhkrpIoJmVutN6FHk/E4cTEolaGnv7x+QxQIKZus8IEygpdtBDxj+lC5M6HaJ313pLDYbjpCA+oYl11ISRJ/fB2oIdDBHFLefQmF1uHk7vtSmIyI7Q9HG0qxu8QRWecP8ipKR1o4bGrAhR2KcGEDE6k8r2F7N9lNUZCswXi/EXaOlPb9fdsaw1Sspku1xrmyADIImEs//XiPqI3Jl8BlrsHf1mAVCBmlqE7usMbDEpilt45ia5CXzVqlIZ95Fesu48LEATS3dyXVEjwQAqVbFBttbLfXvX4LhaGKv6P3XBsKWvqEFfq1rPYdohHtQH03ehlVMpZ/BRCBFV6dffGCrIa7OngRAbORd6wsIcR/gQSxhfrfHFmb9Ws3Pk/SikwIvAIYljNbXbvIpKTROSiPcmBDp4hxLkrjR+MfBFZLV5I4usLY6WYmjhT2kzW9XAxxLYCELLIf6lg6p/GFgpoRTm+yQ6PYtmKVvdTHyBxv28y3vTiy+reYBZqmC7x0TDasiMCcA+TxdKgDY4s61MpZyI1+RUzeMfx1qh9MBXg1tI/HSKpcUj7+qTrwp35J3ezefo6UZiEWMPBtx0/tJyaej7NUmUHVRBJfB1q0bsw4yHfui2ZOPNh/6R2/I0j09t9QGeRxpuJzB6DNbaPTOmER6WTXYEGXq7DhzkvCP247uSz6r7MfaasDs419fVF4RAt4XoxkFRmk3sjrhpNSeuDoG5RpjE4pI3rH/ESPaF6RIIJBiAbVU/ct/nKrDmBQPBYlNob0WmW07GhOvvz0m/BXTsPB8qA8Iesm6PsDuOLEEm5+jbniDFyXfndwIXHgWBB1GCyGV52MU+5iXguncQS8T+WyxaPDqCCXMjwPJxGObdF8mBkG2+SpqaBQkeN+1IL8Cbb72d3ySQUR/uO+N9v36KAiKVEPx8EERU0vfKi53JWN50+LSYqgHmF0UrnnHCNpcwfX8ezokGL4sK/rgFZlXnIqg6a8EJh7DfMOwMgTwRjjZ+TrXsj7SA6EaMRroFgxXRIOGDPYZgkadllrCosfuVZqNQwAY1cDJzuD4ocR7PgZYXbCA3g9Jd1PRx7PyRTNad56qFMVIv/9AYYd32opL/KQOuEa2LIoyMUHWsHVeJEgDnTAizkdfigKSmZVUDrztoGXA+B+9B+MYT2q5BETXJUKRLiEw3upTpXnlh7hkEk8/0D3rV1lUxxSlnDzLfFArxdnXRhBNu085RxiTwTISjItGPuj0MQknBfLTi9AeLTT9QUKRG7bxHm7P2Kei6fVAeNBP31q/OVsTuBJZfKaxLodsCxObxFdyJNLV2tAt+2SCAO5/VWcDOd7Or0wzbVGwbXJr73+/PYn3VfNQ4CSxdqgXNPWDqh9ZFVRQbSeb+bFmOpdkO7C70y6dTSHVuHlIY33/KV1QHDJ226atG4ltS4fk0ZNDrmPZ2Lps6qyMYO+Wkmsyw/ECuxfXcZ0zM7vmLjkk/LsX/XG0vaL3KZb2C51I5TVf8fBJmMxHHzKvaXDwSTGiya0f8ZZ3olqbqcd2cjXM0jicXlX0cJsaB81POyuItwEiYZwsHn4gymrnlD0mfAro2YoSC7KxDdL1DQVO+0a7fN1fLkv8ElaXx46Z8EGJ/W6akIr6uEuiFIQB9fHujgNzIzAgaDEYVITJJO5XQkyimdgaTBvra1hUbw4jb8imqVpd7G9dSoQVNPatqBlbm7NLsdI/einfpw6HdFlo9bpLb/wBxf2BGK/YWhn6LhzEvBuRuBZJTDv7HV9WfnA2SyT3HV/F6f+23aOYC8rxO7QQ1FI4/0m/OAHdCwYedzx6F6TIlSh668B+Id3ZxNP3V+Z82Tt/AHYSzDsxyYC8mxyk+Za4Q6u8y70AKpUm1NPP2WMeSHfqCc5mUcG67RR+sJWZg7P5iG4FPnFmWKv1nwwk+fM0IIA5p7xmHnj1zbj89sN0hc81tzI6enBjIyPd6P5GXzsmp9IRHKS506SAEK7IxfjQLxkNK1x+M8YAYLrD1qWXqo03kTvXgYllmtbguZX1FQGpXYjbZzgqSLxcXTKqQ/GhYqBJzZtvPaYGODBTozt0Rw6/vP+hTUJGOAYcEWWr5Mqy4792lLWmElkf2k2HiF5268DSkEL2oQl+VXl2NXgbfa8xxQoI7lpuNkURcA/pNz/go3LD+w41q4eQy20ecjCwekr0XfODump0XPUm2vvNfk4P/tAVA2PLhl21zoFOrSKjd6D1AiMtz/f41uWlBWCDDY4tDRMhyGsls4GW7P8b0/dGx6VTgC6oCCWxMyJyOgl5RPaFDE/EzGGGL9XUm5X9L3crn0DvEELm/Vx6HwlGWtnfZK7dA8/zJkr9b7PBgLeFlmXyfUBxZHF8kxgW5tcxvkEz0roS70jNLvk3QNCTUIwCHnqk5NRDEaewDCzjTR5lKzNzx1RHHJNiZZJ0lXrAsSM03iKPyYNdJfMwUAvRlKP49yIx7XS9cvseBWVvGNAc2I0PmR6Xc9KjqauqjgG/Q8i16OIPtQ2Ll3qDkunTNq2O65AEFG5qycHaB2/159N4n67iMEpyNowNdkq/ZlDxsX4dRKNvBUJaYqhID70qa2Rgq8+AzqTaJhuYrqrDDO1n/0rWggrBcFsYwo7ujJZblKGamFf+3B5MTAXNUOKn5PW91Gx56gtqTqz1dYMML1dFR/KZUZom7Wky7v9EfKnYbBseAvDuBFBFFCuXnhvWc/JS4ipUIe59Ls/kL+W5lteo1xt5bkJYfug17vGw6cqrOjTG4nQXZ+RbEDCMTf5JZ4DBcuVv+tGPyucc3B6R9NMF/lc4ubulrqcBPhRUjGBILbQ+4uBJ9eUHMAj2ijfMskRMLcV5FdgqIWhiEvxNVlZSRrzTzySfBUjZHCJQtbgDZ8nRWLwk6rQKWD5aSHuJh0vBgvlNTP+a4P7p59l0FYBPtoNpiFl/dOo05KHesQCueTxj7IB6io9sqTWxTu2PK2C3ACiXWNyxs52441hxg3eco87pSRV1NUvQeac35o3tgUpXtmtl2yHh3QO1mQ55wSqIri3PtVxJ57l0nOuyav/0ixzLEq3QlLZmLb8Y2JVlrdQMjhpcC1j0DS+VHrYIB4JgyXacVu9PCRoC5Y2+p8qfeJA3OFreaabxWxz5omyn/l55+ufQkO5e9iODCdLWl2crwLrUpaMCi8EUcVXGb3Z8oBCUdwuuohn1sivwQp1O+DaRFYXIbHQibdPfq4dU8WeiYJ4WKMlNEuQr/BRIGwOrAIM3Ppjmzvh27Lyx6xK14sUHgNy2ggNG57CBbXznFP/0NVrUQef5mMdso3AJ33SJxInqYebzcZ2pEVYHYczXE/+mcptBHb4ANtGohwQabL1xmFHav/wFH/al8TKjzGnYiFLEifJHL7OJD0x/rtzWuCrDToEWPBNtRKXFZqz/kBH6gsxzy/TUzP6R+C/A456FbGm8soK/uYyafgNmX0re6fgXeehUvtDCXdAUJElJt7AMv+VMdIrrOK7TAaHo6E8Khx1rq48yOqMqtC08so9cQh/AV760CiEtSm6PBL7JKCZBV4m7t8Gbbc4TQRawpuwTFyS/vt1JBnAQUBDPdEddlJlVAfbGy+OKkohOw9BB/JY9rDZQK1o/kpfl82umHijUnj0gVqhJCsrzUxYl+ygkRPDEPZqUIo/+AtsGplmBSxL8bUE1iBc8lCtShF2iqMC1DdHIH1DcucbSNtxOF9LY4IMng4T9eTYzDr+gnOPVxWBYMambJUexTzxyvFOneFg3r4FBEHqG3QZRgnKISYUQKv9B23A8vhFRe8uNZpBtiMtXqOQlVEbO/HzkRbqVaGj4s2XRVlhO+ewkvEaTp4pNLXG1OVF6ncxf3Fq94KmGuG29LLsFI1fuX35J0TsRNGo+TCioyTrXLVEjPztNVQL1/q5tGSrMPhfJEaQxHcrnqhVVqN1gfF+JK9Pgcud/lGa+Ig7eKQpJuUN+PYhBYQ/b6ahi4nLNe5+d8rQlfK/gl3OQ3WDGWuUMOt1YlBKoX+99JWlZr6tTAVgDF0NSHs5fqbU0euO7cXKnvVB3taBFHP6/KKZCBfGqzNo6DgZgiAELh1EYOni64dmOWUuwAQCKu+L8tnTFLlL6uKkaNtO8YGlOBVU9mQFYx4aGPgGEI/HTycxYXBClfKbmSErtcsuhalOh73FnzRz/thPjvRJcRwPtZmCHs1nYjivLMWWGprl4fRUOlrCDiwNU+9TZuaVsuCxj/4DzKfcla139igH7Z+0uskWkEq/c0mrsRLlVpl8ln0G77hwK9rLKc+RLeI6KLKy3Um5C6Of3qiKNoY/7ad3EFvdP4VICsuTMTii/bee9efmKAiym0A+l3hS7SofuEJ46In7BEO+Kf597wnd6s5mL1d5zNRBdOEmfNKyPdUuCW3u/SfFQes7nYlfV/B1DOE9p/pmgK+bx+eZdZUMu44uBGlaPvej5wxU9aumiyt/uCCZ4PyO0OYfFAMMqTaYcI8GxYeHO/3tDJsJisLleLpS/gvPLbEksIm3R4OCJ21S4P//uyzQ4EJZyYmWZjtknKJbz0vFEi0zDWnZHl4kvpMSPlVI8cEAG5r0JoNN59joEsMhUcPZ1YtIDYX9cnR711x6SQEnBGgTz6d3b1iebIdotlgqE03w87xlD0+qEykcVizaOB3Z+ocaMGWybZTIdpR4niV9mDm65EzKK8VQq59iMlABk54A7zAlMdkYNmaRuWJN+bLJ7RqEZf8vrpM0+3cwD0NctuwJJA13JIJVFlPStNIXzAW4pp1OnTx3rMZQfF+o4p92WDkF2tx1MUdC14Er9l1RlYsEYnOubj2IotL4tkgKwnE219ZsjXb8PJFkzakaWhRBJAkgbR6myiYFsJgC/lellsN9g1ML0j4HX4rwIzHbq20FDkBdfqN9SUnIbJf0QQr+QxHx4f0kRekXaqKZYUXYMbRKa6OObLPOaKGft7xFAgT2pHuSw7kdfloER91zsJPWQJbkAzyDFkkgUg80kW7n7n+WBN3CMXA3lU6QR23Ipx/98577h2OGkpcp5YiTX/TikBkcza+iwBGNBi/j+GwW8tGbKxpiSNEQqUDdqfscbVMQ+OSYGoeQKSLwREfUGDjR/emc+ZAJsy3sraTZkpHFZAI69dwO1dvsOw/Q+O/2lgghmEsk6NKzmfI+OYuOG2UoagP9Le/y9UABk4VHk54+6fW891qe1yVDT2KUc5hNeePBaQwVb5BQYPt/+2xEpqsHC4GY37hXyRSGvfwYa7DGUDbMKd8vud28h67mpOl7fe4uFRe/HOKf3TFs+9RX+QpL0+C2b4R/8VfkUQOABt4tcaDV34nU/UFXBUDvPYMYe0F24AZPIWphY9bLwt+tWvmuWwhvAgPN1rxvo3hpXvQNSPsVKgFUKENrmSCjWPYCUoQfJFpepI6oqpsVwJt6IlBFGO4soABNOS2KtnF9P7E9sSLK1WWOdGvYNhxKO5/D5ACMSM3oLy6XvjzPe57hP26DKKsIbhLZqcz8tJOcm1zlVKV87cVqDh5iOgGkNIKp7JU8eBp4VRPvv6peu3DR+ROhro3GOnpo6Cdltkq395hUi+pDXzwcONA2YjC4BKvX3JGZi77wJboSzwwPelRCe5297Gau3hHdjkNfDMaoCdfo4BX1IthlFNEHUm2nTsuiPe/rOux7FSlxIwT09NqnvyBmWQYcleqlPEreuoCZRFvXL07v84AxlxNdJM/atDmCjpmzumIoYOf4uVqV/8ZnSwV78WW0S0R7AwI0EDq4B6IaI6AUBwPrNLY0eeSw24zQ6qVAgBGW5aK79Mg+Skj4XxdPl8axMl4x6nwmnAfEBIju1ssp4yr/gdi9kl+ScGW3r5NVqJ1fXRkW9O0A6JBottvWGypQioSH2C46bepNpt5dXRK28XY0hseEnW9fDBaUMHziavWy8Q7jttulrsjOd5WunqGz20rPiwX/3fdKuQgv0g4CDqGBMamo9htCyKqN0qTOxWP5MmZG0lur+eIMwtcrfYqJujT19J3dps8mrCySt1MRdmlNIykG8cIMszw/nMlRV1DmpxNn2zf3gflXm1sXSH00EqrICj29dnyNSbIteQOqjPLqBf2QDDVVCAgcCz7vER9m5X4XkTIeB4ppqaFa2UHE05QSkAhs7FkyPf40UFGlKG8GnrdKq0ZLUk9m5jleTBwhdDsYP8HCDKRE6LS48qLHD4pvSl3XFvmH8KBEmyeyNwwJzAJQd8MqhmKsdandB6Ec1bHOw8agmVGP/vvY2C60X8AnR2r2HhdkUbclW9+ozjmxmipA1AJIZnqxg4aa1Le0RHfU2vkpf68y/rFMYgCXue7eNqxoS0NkOw9a9/WcDFJOh0Grb8zYjPgaSDENIFMCM0H5OlIqq2r2FKGkaQSMzVm87r9L7fysa4xxVMD0h7CIExLBVbCe1/r/WavK3yPhHVe3XBjyVTDOqI4/90N/Cm5KnqxFrVYOHbwMIXa3GwNwVME+38OpXvNwD6l+jN8BDCRDEjGDFC+WObTdm+5/tfm0QeEfVUYFtA7gTobiCnl8rywroMyBHNClofz+W7OhssrGuos+fRhh8kBA+Ni0fYdhKK+qCZaY0LUDpn17UUKCX6dOZccCYzSsD2iSQP74pFnhlkOzACsapdT20zbjF6ZqLgELUPT8IglaX38zP6zfdyBF+NjNf247XNtmIz4QCO5iRy/GcS8jjaWMfTxI3EbUvzrprtgRQDOz/eMnyVQVbbFiTMZfhfQLeu+j6iY0Qs/QYGFdHefwzAYuVpPhVZK/tXsy6DAioLlmNDzAu1eQ5ihCnobO+MOZtSD0+uTpiOAvPwGWf52xDUHj4zbdFtZULPV4c1TmWflDGMkg/Ia6kPHprHErwFTGoBg+1D6oX8lSPdz5srAF0RbktUTmq44+USAYYowZQOVbM3BWMc603Oy9SQD3buNTgzJ7yaMBbo/pjkzVrpW5xYH0Ra11ykiz32vo4nBg9Zvm92KHWhJm7uQJV5DMPA1JHBWBMcjz/uZupwXqjoTffeHZ17N3waXUaR7cZDs94ewlhsbQrmI7/A4zJDUZj0qKiVQhn3f3AneEhDwl6GUdCBdKY14q9n6ay58twW2PRXXPJ6UE6TUs6oqH/0xgDpP3bx/mfcCUy5oo91agCPtpTfowGZ0tyw5mIOsUqvdURDhjuWLX/WIqaPlYx3zmJ3ahTcxtC5xQgKWrQskF57LaOvwYN0lzIwz/joNYkiZwLyB7Joi0CsWWRC6SapEN5TClIisNQtNPmfwKaKYb+Hguo76RtcQMXdRZWjEJNHq8KZKeg/uWWDOW6aygLP9JDrNNW7JfWDyHPR8GL+29zBAD5FY1WZXsmYfdKU1VTLLzAHERJJGTpwKZH5k0uZrDYM8zG9WX+RVDM8bsmN8cI2wKz0Td8GEq9T4DvY6FuhMsqPGHC1tkLdxuwBYP0Lu2RvjXaxodrZhKfkkIwGcfm+lFS4WMFPCz3FwWwuvNLNqv7c85xnk3aXWl49yCW0YTzTqwyKuKWSIFJum5G8BBjvxx2yDOZMh18M2WhRGX5VA0p3eAilBsGa54P+iEat2c0lLnTrXg7fzDLJrjO/213hRmT/92zHwHShntUiR+9KUWKWRcx9OrMWfefEo/p2FR7dbNWoP/P/se7JJUfBzJixcPvTzMvSTQrccDAmpwoLnh6pnsAF37U9Cakvwb0EZzywhYhfUyAZ4oAu4R1X55yrbJifKRbLIC6NaYqZxbpzV9ec4/SFSjJKEvmVGa9tHfUJayAvrPPbVHNaxlbdJOOn7f43GTTdGGufXu/daAhuYtol2y5rFVUxlDpyKCfYRz3fOyJZEjhxizetlF5kpK8kUuEpKNWnSG9VEdmcn7Tu0/U9Pho+IZiTincXepD9zQXGusmr6j19TKRCe4dmbGmRl1cDDNABYeOKT51fHc6+d1Q9T2n1UMmkd+aiSUgNIrogqtnInezaEs7HmtmpjKttWg7ulLhPvEEnGE5TqPY3iCItPzYojGET4V755b+cNmqdG6OBTlbYjDs4AAp+ho1Iq8R/eWa0/FOyB4K5JLQ/WqwpaNPuaoufHcJMEld4peiw/7uIRZ9U4otV2lACBY2PfSUUu7vJ/iZUtvPoJmd8K/BmbnNo2iumTtQxEeARnjsHdzf1JrE1L6NGFsI7t81c5GCgmWILKM5pWDA5HO53I6aju6916JkUl1YcYyk9Hwwf/waKzGbNaeXD2d1jBd+rriDyPgR5p32kxAb41vjMM5QjUrVztISMmbVDBnx2qArnLJ6ECRGZcfK4U6LCAMxRtE+Y32MobWIYqbeJLCsaF4pCXyZjPABVmN36NRAavX8RXO80JuF2m/Snmg2NL0dSW67EVH9I4fcFSjpL73r6ohLh/V+uK3786Tpz4u9p1byZEEFVjn4eK4wBNeQ7DGhdbFbRTt6/9b55EBMfJGakrqZ4U+Fgnh2uIpidUcG+iBjHE5HMRX2ZKkKLyYQElkw/Kbj2w8OvDaxd8rzWoSUnwkiP9DB4L1FBdrrf9anTqNfPehHTBlyG9cgcQLrR8tQEZN9zuxs8BV1Zf+cIk9kSStcCODphQCbZP7NYhgTuqPh967gyo6DhJVEeM/gq2arEo3NkVtX7D7mzM4zzsjwEazeZbygY6xwP5F5NLqPJ0Hxncni2XMn/GdHQmTbQF1zee4LOhZaDlBzMZLsKXcJ3sJsBmPODcSW/FKYiVgzz7wLdz0C3bFpTwedWpIZzG+H0kpS6hOFF5yNj/xUGHEQK75qxYUFuXq2vFITPVf7aaAWUF+eBV5VbBqFcUccHNaTmGaDdRTdXTurKJ8ATxX0DHWz2qNhGP4nrYJRCKI12hvvahdfR6RlR+zca42mjybVuHEEGrU2KvnHy9+mmlQDH4jYHZKC6knkne5Q28ldgrISAF0p2u8YVTy2bGLZqUkIV6zWDXi0DuZMiQhOJwUgZQNnrjzpboxif7CaCAFdxHukA5fPTubF6aLOTWCnS/EP8ZSOIyNGpkn86BVLEgxNoCo5XDdJHdnSB0Zy+5O4NQSsoKdZzikwg0eSvXAE6j6WW27irlXjNHHxiuOY/LaFsSgXv62JfK2/O09r1DMjpxv32Y457Wd8wFBf9V6i6CdLP2Z9qNFsxcP88S7N6b5FAkZAkO78T3f4mpUVnXed/QQC1AAudBr+gg118i202+jHf4m1tBvD2iwt/8PqoAWQSajReU2kDJ91lZ9cqfgKVbzge5mUlKDSh7aeClFOoVz9UEdTQyNyjj+u7JaX9DWyqtt6955fcvBJF1aKEjjPQjYV4+FQr9Fnd8NqWavBRL91OUcILzXVselzvLQtPmmvtdhkUNi8G+O+b/qcVyHvls9lJjRGbe0YWtuq9zXA02yIjtBjoQd1vY0EmEFvb3u3xiPt9Wix6NZ7ljWQVbw229SAPrh/hsIECHTLmxKxWD3/K6TUieQeqJIfpcIoOQcgmvHDyyRUevzKImeikRzg+ly1+qSicz7hh/DCm/39Fyk6M86XNkhcEgJKANNt1matUHBPuMmqkqR0Irsee0uIofjg8efSzC4Ml6OzAV1PuydANODV+SaVqKrg8qTvT2ROpiQHqoOAq3EdFRo1QW+1ak/AYmGEVA4cF99A82GRm5mLHhLHqOSqBVNF5d+tjFko2morW+bAtWqE3Mhi2uYPJEeL+puWOoJaLV9uHtQIj2GvjqEnPiF3gSNk2kq1rb+v31DDwcalu1nsmfE1n7J39uQgliDyyoBoudkZrUtnIUrDsC6iGs/DA1YU+EpC8VYQ4iw91D0O8kJIRK0Zo3YzUzYnm6vxq+9EDAP5SWf+Eyupwlhcyq7rgfu0UcsS/cyy18bZBvpooyg1q0GNkTJ+MwtXBtDoaChHEqMdF/a7GjUgboSb8jHDJrfqRhQ/bbI62r8nHoOa6UgOaJLxxg1EhXpXmkd3Rch7uNxgpPzxP/mBdrGsygnoth1z7Q/YLYJb7LwpuGREdhP+ef4imi3CBmJrq9pWR8/s43S4uxqNYHUv9ha9RBACBhuz+S4xTQTZaCKSoDHnxC8CxGhiHczvJUTlt4rrWQpu9+AvsrR2wMvwqpTTd2ETTsO/P3JJiLBUvcs0TXCPCRY2h9Nx8ZqMz8XSEqa9ByDLoNM8PxxK/62v/Wkztb9dlxfHsl4u4UjIZo5lD7knNDevOZvFRYHhwFE22lXrX+Sffrt3y9R1DKaG/GlAPLQQX/Hetzpmce0TT69U3cFZSUWj1hcJa25OoCXx3O5jXSizjPu68eF6JRu4ly0GPmihJAcdY54LAu+PeTtHdGWaRfb6RVp9zxwP+2PoTSQm+qFhD5LkhsYuT1IwWLIAUjU9P0z7IOUj2QP4sYABt2vX5hJCVUnjOBPVGQTmwyR8LSRc2WvhlmD4DMitovW8AmruHvsuxxMnY/ybXB0f6jgvY+7tMu0sJN5r4DBEBXa37SH5PepbiAlY5L6+09qF9dbg57qZdXr+Lkj+9ODwIdoY9Ogs9QXAMPBK9sNLNDM1mFaODMVpqeBBx3+/X8BkyPofOmxl+kYJsG1PP50FDBXj0A4uVUwSXOnyDvjHd5pupMiy5DyOMVDjPDi22YVTeKKPxtGz5/wLm/x/DzHO4PBKlriUyR2fdazZ8MZwZO2yzm40RwLqezNhsNT7aqhOqWBMfTbYcyVtVzrROKLQ/cw8h9MBYgLQZ5m7RtajLhjAmwWRubbOysVY9+MbTxulvSqQymjxTj0/yGmowXOk8LorLHbyciHZbi5Wipq5e028xOnXPq0SO1Ei/BmXFCr+iw4toQwld1d5KXZJaq1eDPduqLEuVRpKA9CzB7KJsTTpdrYpMaOsIFM7Wgr9Oh/caoRAohQN6A6HSrmbUuxffYlS4ymc4W40QYfauuqpQ/JTXe2l3gW1vBU3Q0CQWi+YnGMAlM7QCe806vIrrgQmejgYb3z21bFn0KNZj8qMbtk0fubcrDYYwmBhjZezZtAK7N3MQKKCODWwtmN/WYEGctudKJzRB3xrBGIXPbh2oyOsQ4psvw2packPl36ulG2AlW5rvS3xsDrZG0jPgcLNOBZVquBKudvtx5EyYnivmLREWPn30cbkfL4RsfTwuJVSFZZJFh6UkofGq/bkz/WqbPwyDk8xppCVNz7JQstijvxEWrb40THMQJebLnzyY2q2jx2SLecaR7/0b676f5ddR3aDQqQxzS6YlPvFcYbw+8vic5SAk75H9CSsEorQCVlJSk7DU5HBRkzDnV2QtTJe9fsfqy1sQNBXqUXzv+3HDVDSjlHNPKEmNGm5+zlEP/Pa0mLR8hxOG5PeuHfsO4YAaC+btxGwKVWC9Se7tv8fBJBx1n+Kox6GyPB1SVukkNQkjh9dl8s6dR8uwRo6Ep3zrpyoDHwNvpGU0zV5/27gpveUjCyrt2ZF4TOPsS/WygLkfE2dbNXsNDXjU0kggbh+REnbrOGVNbeYAoc4ZX0aRdyTYOFzlRKaGo4MoHLkMH9FMwYlY+jItBYVbIzsByLIUmu7xM7N3q4VtOAzdBtYpwYx/5yTIIJ9yh2VZWg/uPZimDRgASUeaIeF/TU+n3NBLOkQvsf4CKuJi9s4FqpE2p0HLaw6yIcFU8mcl8Jx6XPWv+eL9Uv+Eyr1QVYQfaJcVwJ6kjFn9GSZ3uvbIxaZMwi7x+nNLp60sgdzogotqc5oVT+LDsygUDk+S361me7L2BWYFkcDER/Rx+J0tgDZ6wwKRu7kFtxCpqtt19WgsF6LzpqmDlLORvOsY68JnuZgBdo7ozFmFR6uGXxbySNeCvPKl92vkVsYEYjZ70nSsNQz9WiIy0pcd4Cjnd16gHVj3X+IIr+ZH/gTnYy0JQvVtpoQKA3yqTH8ZK5WAWFLSXjNeHCwtYmaan6uJoOWW3ktmR0n9j0uxSEniCHfobcaa4adhh6U65iKCHer9DsvpoFJxkj5jhGLhPSjJ+hLddzatV/1Ocn1CE5uZoZAMtgkhUYN5zk9+VUjJxOTjDsX8kQFan+fCSw0rK8IhXNp3dynfHXSYCNq076Pn60lpsgbLC41pl75UNjAtdkXJ0OFBP9SOFxYd/qxoACmCf2c4BNjgll3P8P77ikGQPLbKe6Bprf5RR7SLTcoLj+WEriYD+XvlnCQ6gwN09MIkc6PH+xS8JfJD7iyBoSsLx/L/1AzaxG7e0eIP2dxroERhpC6jg8arrg7XQBksDHIJZIPRhy16WjWaucMUOLtxrgBU9rezETjoCtMnBYdaOAagkVHdueRkp+p0+SRoZ4ejQaCwhOiYRYYJC7NsV73oO8dwYLioC3qILoo9B/eMud5uERJdTB+L3gaZcXObntZ43fegezhpmSwHyw4dM10xfsXF1MY5XAR1XmGR9Qz8Yrc2BSBiUUf1wSye1tGQLKtmsheBI0zWEKzJu8/tdWQ84lcWgnXo9INPwDU5XiJi0OyBQbwRH1ahR14L10g9kAYWlDK/0N3VzcgYYursjTtw/2wSHmfTGJsx5NOXmMmVliBLLHGu6G0jFBLZtUkH7EzFzorhlKhKRrLqXXlXpO8crQ3CHEcZLu9XzwCc9SvkPe94gxwonijdizLHtGfLLKLF1cdtXMFa7Mf4P/JQHiBZIRXBzCKoqPaIuvh7X4/SQdEJnxbsIECUF90ZnrLUpBjTXiX4XAc3Mse7eTXKyZp8Q3Sf1S3esZyDQl+BBER4PmbGOeQ+K1112FbEeyqQZg56WiQ0jRCUmP+Kew9A1ZxSjutLVOfkpuBwoSkP4RGNoe7WrmyTXKI6nk1Tnz0oe2Vm3PjBDf8Gwhe+fwAYSAjlPra1TtCj1uu1GcdIAm6ViQn9Srqf1ym9fPIxInLxt48mCIl6DSTi4ZJ+XkJrz2dXWQqhpSF4nNWapdIjJH+p1Opedufkw0xHlr4vORb9BCJ3W8vAPdZSqI7VxbNaaOfqhI/8w7L9horVKv7MLnEr2l2XgUM6+i5Ix58xgRlYVxa+ltEdaupD5yktPEOlldMIatEHTM9j7h7hxVvQPEbtQP6BmDdVaPz2u/o7+Aiy4lsXGE+Km2ss6828uqY4y28croxcwQBaemP2+4hEA88WmmXnQTmIMFje/i5qVzP/dynhApy5GEB55hU7+jPdveexxyrULupZB1hjyqISvKscuKXOXZUnp8dPLlTkOIlOhMu9t4Vx5PLPIDK0SdUiZ95AlS0+/1macnq6hXYYejgXigt9NePxN2PY9CC0HftH0q8httvBeLZ48ootbmSIZgK7/Wm1zqq/lUDZBL6CYC5KDyLg/WfRKIQMNyN2X432uLr/f/9AoV132hvDNWvIbdgJKmzFwnqjd8+MjwrCINW480Y/0ve7EpvtXHg4WzJv5MuILg89gjdMk86QRO9Q/YKdmb+HV6eMqRTq/oudO/E6zvH3NzGgHNz/zI4Clc1kXUMDTrnDpBI2KbWe//7iI6d1A8nhX4F+4tGki7hfsA4VOK83fdLmcdAGqQRjtItVXa3J7vhE+x0h3K+fVJpM2FZDdY7gVF9ME1rtQmyQOE+F7b6vQAUregqMnIegpxtIKRhyTvfx+DFWZLf+VUZHUO+CicH8sE+9LpldACFUpG+WMfE56X+8xIB5l+Eu4ij2kBUNYythq4o1kyIEuD1kt9XQ97gS9+waaIHokWae6jm/Y8Govgmk31Z2M0SBZAIeudbA/y6RkBys3zsWVHoPxD73jIs92cougppJ3Uxf/pQcoOw/qt20epdVJgHhT5/Rg5mNf+bvQ4LJnwSxs7VE9Qc/myZF4IFBUAom49bMTIghVW6RJ2gfXkP6ovc0THTEpxZWx4zTkARVTfH75vftaIkZptS+h3ERciwL+zFBfxojqrdRqqdkYWAVmXpf+ueckOfXPrN5b9eEwl8OJWgoXwyPM73RDn5ix09+qYTUbhIRquBAIHnO03H3q5TFdSXzP+sPDF+FV61ALiJwLttts7/NF2qhFJI57p4sixeZfoEtm0Dg5wGwPCH6tc6aqO8oe5R+IkDR8TuyFEN2w2kBdTxxvejaSoap3bQlCW4svakUIjVrpe7zCbbcGL0xSe/T3hysCfb20Xj0oFitmmY1Q+1QAbHJj3MfeeZfxuvYYoF7mLnb9sF2SPQEFrRwt08qapY0ODw4ReEM3TamVg4j3BvgKWWLIeWrMXPSM+I3hBzjUn6TbqMNWIPDWj5FBYrWBwXYB71BOpmX+5iYomjHoQ7LUcQ867QRS3qZXYnBbLy/FO2tEGfzE/rGyNxED2nvMySIIs4Fx3fZIsIZn/tCkocG9krZ5TWha4eDI3zmyCQeBMYsXlRDNsMfjEEBFh6/Qhq12c9IUp606kEY5bwbG/QnU+IAyJhlftn2f8iRL5A7v4R9oAJGU2GYjNHqZUGg2z6az4YMtQyXcV9X9WBRlaYnfVIRsmuVGDhDBIoG6C8AkCK6LdXd0NgeShgVCNpx7iacd6L5r4rVi1Gco6rCBwBfwyIJs4Fhnq8IZrURn9zhkJ2FenUPijnbIom4cDNJT3zqMfvySGt4ko2KqwoGDH25QLfuWMbcuRhuQwYKgCX9VgClxETR6DM5DNjTv7F3ysG0kI8NKZ5AZDzjJnJD4VVPwVR/fNKHpzgM8QQGSapVEbQCuiSw0xjHphp0eDxZeames1Mp9WwQ2puhmhj5ql1Lv0eYJEpN8RFa01yfNY0KZkTpYzcO/Ckhbb36k9esVXSMPl1G/K7/sR9Mcqvz7tEmdFwGaO02c6azfLxlRg6byx5y5aqHXBgH+N8X+0pGSjHsaENs0tEcJU4XtLrRLBJGIFVEe3TvIYkvc3siaU1d3xi9t7TPq1L/+hMRqojqmp8jBLyo7KEuYZeOKHFM3mUkV+XkyhiFhmwxtLgSsGMbh8fE6hCR2rTOIinlmsF74yj7IpViQkLbyCbrvDt5/yX6I7Y1abrFs7QBI3D9QnlxlwbgZHvFTKeaFKcI3NvUQFQURMimQ5M+eF6vwSlYff+7/cWpYmvPrIh9BVONzVYOe2tQdAWWT5fJSYL5Upt0L6Dl/pZObBEdo+FPC4b2+iU09eJ6vb/kc2/uq9CvCUV9KB+C/CPAJdOu7vq8wf/Yxy8081PEnm7VGsIzzoFYnDvfYTUyPhdXV2yICWljxWqkyEe4e1n+SZCRACDyiLTdzj5Dq5ThMdA+CNJhV09iM2iW1Pgf2XiLDkIpNo8ugDtNdVTMEBsO+uHzrqEI+EwMOFr2gevD8TkmyjvrYH9Bw6rkARUFwc7DRpOCIaACn2Edjv7bmiS3MFeVgdj1y0Rv+v1DYqY6EwHst3CNlpq6XBW7Q/fu+F1R20aHUR5Z1LIZ7wvY0E/w99bKzAyUjG7671ZUYF6F5+Ynv4Cm0twLZ+GTrBp8VL/LMeq8XYgzYldrklMglyWJS7iWBhdA5GraO3m3rO2AorN4N62bHcpIhG8kbvIkybnRVTEWt5a5f7iIYJN61OO1gLp+lMKa9CuaUR/y9eoF3/jHgqh6iPSadglFYQ/GTsLkzIXMTFtBelXwJHtvmQtoXItuOsLGvL2IK/M295YD8SaNfSND8zTfgUXGYQRyrzsPYC1cxWOto+YkW9R3EinZBFUy/5HWXF6WeqLcPADGeJH3U642mjV9hMqA/GY+7DcN2bpls25VizlGv+FyH0qhDmmd0gUS8y90rDX+Xk6y6McJ6S7gM/DYcoTHv/2NeKg4rjMw8TqrlL9LBcLKWQxtuJxVX7ObKDCs6fNlfUj6iRrGPFdJD+ziFknCJKgixZ5RJQEQZi2MefRmUYi5crYu3Oh50a5Jf+upvNzFAo7KhxO8WRvoqnLO0wvvdcPsaVUOIcvfZoUierdTyFyoxwnJI91KCBroEodybtBGshuLseewOL8RJP+H2Oqsca/SYdeeRtivXY+FFQeTQ33eeX3DdtS0+wgHXVCCQk/CkG/az4aY+ExO9eyJRmpeKAXose57USPZEoRKo6m3uIY0rsGhjw0xAS7X1DuBTFVuo29v3dChgu70cPjpl5/xQmrPdA36PXNZRWOszr9FtTYYxG7dHUooremnYo1QnUGWsN/xygLq9TDGLLhVH/pc4pD+15uGiALFzU4PINmfD25G8LAsJea1dQlpC1s7rkYJUQqIwFNDY4Eh0dawLn8fCol/rhUCEbEHM1dJlCBpXxKfm7zt/ZpsbXgy68nEkEoLjs9rk0E9GFFZoYLZv/4qZR7nl7qBbeALu0FWvdWoNb4hCvlkME+i5nbMafn9uVxxXlpXBlOxHA7IKvKJLMXQanWkuK9A+2VI1JSDoY06+R0/g5TPJIHfO3roljfhM9ncx6Qrk66xY1H0+2UgF+oQgm28A27u9+T4rGo0sT6suA8Jdwthg1T9gojZro33dFb5pubkZ5ZHchLzsKkibaR3DHxf769V4iImNuKKrpgMMK8vcvF4YgFx9Asca63MVyNPtp5+zXPASns3bwdmsxnn1S54GTdkB4DwX4L7JXMnQGqIaS+mPgWxbIZbFcDNIrMilEIEGFczfvcACtmReTyzqnpITyfsh5QK4RKX9ZWtvUy4bWXjsLYbNV7MrrZsT82c9cmf4f8I0sSYqVIlcUYgI782imxBuEKs3OWcogWDmwlr9TGLtVSSTlyzHUW4PU9f7Wv06gLioBSoAf5esTj3FD9kKtTKQZfTKEIOcCYWcfIk4IkcfoFGKSLqsHhBpBOTfEJ6dxkBJXCSlknDrb8XJYO4/96XFd4ThAg4/Heg3u5p1kP3QG2yMuUrty2cFQaT3cWMABIB2diEu/1KfFFSKbfjTp8aUhb99C/ZA5m7h8JWsGwT5Ml9Uhw6CmNHyRA15TyVwIsOH0I1tFeVqQaoqT7wGjyqrJ9bI+WtpjMv5CAGQfj+k2aPOJZ/zLvxAtkd/Bzh9BZPEwVE0I0DI82uWK72P5+mHKig5zbXYrQE5bSNA9/gHvSND2qLV3hLPnoJp5q/NeZX7mhb2aWf7qkF8iM4HEHQ6YiYA+E+kPmfMGabHq62QBi8sSJ3yb68iTcA4YT6f+gJb6G3adGkY9eeu7XQZiQEi2fXRSKUOj/zLkyh4R3hOAX6xhT1yCvCHT2Jb9tAzSMxe0RFbM3g6b/VHgP8nyZkt45j1ZYBTwOpQIaFU7nU5focNbiclNOds9b6I+FOnBXwyAf1ViJPMKBBofmR8wg+77g5o3CiYUzQ+KdNxUo14XQc58/GKrIq3XSIefM9azql5sX7KlTsU8DGT1HlHIYnd10cJYsAEHoN0mLKcHTySHsjTFesKWsmK+siZFXhlavE6F44mweXOrX6FBoELRrvIrsst4OH+O47VaML4CK/cNrjlTodfRr3u2XZsHCcw9kXLGX/15sm10DYmP3G3387x7LDyVoplrs0pzIvfcy41eb2Ob/wM6tQNLxQKnfSbL0eyYL+RWR09qeHT/lWpCFvcISYlmdF/jMaIWDyxE/LA1tguYOSiQtSqHfgqHr1n/k5nFhnUBnU1J1eys/8qySmWwIplgfD3uNcFHlg6trf2B11Om/f7E9onO53sWHhas4nNuhBJsUn2OjOnOAFZi2dcAvexHytVxIdybjHcEdXUcp0jkab19hwZ0RddTUGjtyulBmpbfGD+4d+oynTEjmMlYS/pfoCyhEk9XbgbBf7wtFs5qleFrCmB0NrUYZLxmw+2wFqYEUy2hYP3ZxY8uhRZeFXZfhOD58zGBx7lo4yMjiBc0zvOGqVQm8d4tk1CRpyGJOGJWVU4EpHPxqgMP6hV7f0IxJugziIEJHavrZauRXe0/THYEOKpl/a4jm/fah+oAzHRBqwetjJBSjNp5LaZ3ZUNQElZJBDOF1e4muumSHF6da394Cvppq45QN1B2wYBfbx4Y9fnq5b+heTNTCmP9XhMQGniDhmdhGzfPUY5YPvTUhEcaaA2ucNDUO/xvaUVhXDIodrM/05R31bnFkjUjn34N7Aiuagl9VB9SjYsu83Ws9eoevaZVwZMC4uiZko2GtNzZCyMHRq6GKhvEGBiM1gLyvMZk3eR2dGcn19YX72JnDBY6RWncG7lGAg0YZR9lyoCyQ13gtnyBi05gPlO9yOeIYGqQrhgRpR+pAvx4czdaBMpVI7SgZMAhMSsdPUEQ9stTtwSabBmrln0uHsOMhDvi0bNRUWUmqnu3eiLgzk2XKGyTaHCe59vZZcmDkk8aOO6pTw5H+DWALBPMcCOmfIz4cF9E5zesXbQkQNDFk7vlnAcetbpid+Ce9MnTb3Clhv0lL7lyusJYCpLpalVXmQ67YNR+IIDh9vW7XeWnU3FFfdnO0yqCON1josSLVMTTaH/T3Q7Y+gOUofDwwXaGyGRB+4GRC2kk7zANlgd7PmE5kXda4IpmTbP2OqUJ/O9EXW4aslQR5PtYy3tNMamtk4Lwzb6WIFll7MVBneG5vPfEGslblvK4unzLLIvceI6WxhiZNc/nr10k9nn8ikKPz5jmA9oC+lWIE8QR4XYTcO6WZ7VMORykmWLBbTE1NQc8/TBpYSaYjlsyOK50EEwZC6/hyMiltFDU/OcVfSs/4s0Rk68qJkU5mIFxzQcySQSzLKmqQzkbb2ZlC8MLMP8Tt/ui2UK3r3IoyOWjDNfAV+2/iYAbaU/gcEuC9PqZbBCpHpobrsMSJpIpAbdk+lZArMaQfdQP2kY9Krk6TsjNb/ad7Ghc/HTlJyxRISEoijGyuLhUJB5Ch35PrR1oibmRE3vvhC5cWj/AFFMlliT5ELHoj9ieMLEG0BOkVRUXKuv2bfaF8AdXORnzTtMfXYqB8UVY5TvybX4Mkg9YXaiDDrp7KV8wVHpmx3MIlmRkznG4Q7DbYNTZBEi2yxQfQW37NrAOyCP8AXP/EHi/BLLFg/ip1tleZLojlnpdzKgSmJyi4IRDWNifCtFxTRjzh2z9DNa3KUZLZnixrksQWHwp2gRkmuu7HYPHYIQrdjih0WnNb7CL7hFDLjbfGaVLQh5Fu7SHtZTqDYzgY4QnM/x2PC8v6+qmCAMbOvWxZOIxjgpUF1ud2/e41K1bJAXPTZ0ctJLsigJDqNH6fNsXGGXNx7cwJPgP6INK3Qxc3ylfv0L1e9m37k+CqkJJTN6MvvQuae8WjO1l0JvBh6yHIrZgf/Bt/DNS1QULgHfUCLdwH6GVXxn8JChzrTEJL4dTZGD6nCwPWD+eeU/jxNc/wph/HYngIZcSTOnA7ZoHemc7pUYXx0Nr45Sbce9CyAvFnCzoIYbXxoDXYVwt/7sf509VEfvoLzjbFrRKr4vntb5dgeDiwRX6neO0yQZsOSoVjVvOOSAuP4PT+ezKgOTL5CMeBFh5fTyCTneXHNexLrs1pBpLHH3kmt/Gi6938ByjJyGR1wM7/rvRQQoS1drQjQ0vefqIJKlavxUAyi0PuILAyGGfaeCzz00DKjY1cowpRuwwf7rYPEZOByjttnqj6EUZ84F5gZp+4HJmTpMjNq0q/lyKFhwHKG0wkVp5h+gESx82VKGR+mbao8YOh23JnEy+eNJ45yos7d1gFc6GC67dt+OzE5TpAYicEpe2YtuuIHNt0hQpdLBdS8eqx9D9RSrya3h16jYIp9Ogfv58USTrQa6bOJgC6Fuw3VSohoUOQpQ/XY+PVKw2eV8Q1N6yxzymT6QIiLizm3kcA+jtFVJVj/IlTTGr7Tj6P8fQmh0ag3AJfRbLs8nmEQ1QHGUtaUv9djTgKNG5hVLyiujHLL77tNlHcYLwqquU6Z2V+WMoDwfBiMDqK39/tNhs7dXQhQTHYkold5VgNmV+WJr8ETyoKTHTS8g1RZL+KCbZw1LZoGTgR6eNleq+XGRggG9pbw1+WcW0jzJpvQle+pDWTA3yPaJogeuohg7EijR/48Se6kjwNpGStelAHWNOtzrfgmNxtH9r1eSRWLz79nRNF5th43Vy+rZ9FcwK7PlfJojQmk6yDIgDVpS2IJtFflHkl2pdrA/ZK4Grks9dfURGUNk54HimplKaYEZX5dE2M9W/60vxTLBE6XeIZ01h4YiHBHGMX+eAHZAHpSk2dFZUbQL/ylbq8VdzyOCnwzB532xAsz2XqmJFNJCZ6YuvEpyZtLa07GuhPki8MeZUI63KN4jC30SSX7/bWpsMyfpqrzmMI+cCYlmRUB0Mu4kG/untuIlFzWG2JnuSThOvNB87WuxDF4K9MPLtApA2nPV+2yMqZtQu/5eBgMzg8/6FBhddJz3kV0onK4Jbo71w6dhI4czF3ksh7/wVe0vAH8B/pVGb1v7xscPIhg6KL+hvTtq6g1+kCPpBURUhkj6yrfPgZ3/Xtc22MaQJp0ouI8smF0IW7P8ZfkCNRlxyoz5rOlXJ2YoBYf+hZJACLpIW6Ecg7s2fptIWtvuAgGvGV7dSNLkYv17ghjkJQx6tLucnApd6V56PAKNj/7Yyi6MOC9uwvXC4HnQSolMT49c6/5ZRIfWauOyw+arQBxET3gqjgZPldHDuhPDdYxffuJ1ityuwa75OUwVzCfQ3DhhKAfuieBFYqqN1i5usxjNFwKad4V39gjt2wLjcS1yX59qz0LCyVW9KbSYU9A28hy5DC7hdtdQxRU9PX4vfg8R4KZzpT7OhJe4Rwnuob88KsYJT3Xdb5uQj/iI2b9k+IAL2RazReg2nxwi3ia771jH8mWcStAs1NJu+cMgx6oarFqLe8b1HSRxQ7za0WtQhVKdhOSo+l5MyUbO7l4rtMf8vOidRDYSBoESyiDirZR/lirb7mNwOHR9B00U3KDHjR+/6/p0FjHCVpWNOzJcWfIRQkZ6XmbdXoGNbYi+/6K31kVQSpEiFHlf0XTAzQKDh03BJv6aoldSXInQfAEINY34mN7TGvaILI1iq1F8qQD9LdUyM1y1GkmIcoViAyaqPmTF6srtanuyTM4L1D0wyuj0tEVAfuycGdwEON4fnsCqlt5T6S1obgnUutprS4s5WpzQgzd4U9TRXJErli2+o2bS7A/uISBZhgh/679K/zLda6gWtuZwAvTGNdCbAN9uwZti3Hk9kKWrIq/zDHz00+fSYLcc5sgjgY5sWd/F9nGirgGojICMTxUzGmVVyjsC+0iZ7i++UKuLA2KCekIgylXj+DAZVKUFgBgXYW5+1bwyASMUltB5MhCcaMuivyyhZw3MJ7OjjmJyH+sH7zwWOwFaztw+KQpl6ETunGZ4wgXDkkep9RDpXHKdERy5R1KfOfi61l4kXklOVi+UvIPbGuKxTqSuKxjgg5aUU0X3V/EKdOugbYyeYKlYTyfe6Py6u2Z+A0k4k2giHiUVqkoC8MKxTXxmChSs68WryAMhUxyo84ORdwTONcLdmrVJbnyH+ugmyyx9iKEPADsMijuo2U3uJDa7Wnfr9gcycQq006VxIwrhk0FV/BDjqzquNOsEJXdrimGw0G+JVU4/5BNk+lE5kSCYz9cOOfNBtbtPUoVHnu1jfPwwGlaTc7GUxPcDFnEgwaHh5znVnSwPAAdXz5o6vI34Epz0NKfx11wmUjfW8nTAn60/CwPV4XjHM2yzXbq/EA9hUimpPyH+gMWQc8fiEpaTtk7l1iADxvDO8EMdlaQ0nXdXnhCuCrsoC+Uvlb9IaXpTbhDyzTzYYUPRsJ1khYU6+UMPk1YHn7mE5V3/F28Yia/wrwDdF+R6TmVzsqudzix7NyUGk46wXs0WaHIURcZDicGiV7SEhoVNTU0zgBoaSd49LNnCcmSgWRMUa0JKdpcVnfovdDcIyEcqOXD4VeP1baW1O5XKi8DuZzNuEL/drafxlkHz2RIla0Jp8ILNn7S3fdeg9UhAx9q0+SKtkZq2KsJrdjjyAjr3GfTjVIDAz98414NxYOtS7EWs2ZaFK7+4WBYoC5Hkeq4b/TVXen2W5sxGUXGVbea0PfIOieEzqtacY9iZH8JBwrLvaO9mQx8S8Xs1qoQA5mRuhLUFIcDGMj1wJK/K+vclB5Bl071Plrpq5+L4WJ77f/haemR3QBDVN+DYo/NMMFkqokI7b1nRwuzDmI5dEx4XMlGANd6UtZZVQ12+CHjwiLfAM9yPWaei6wRjGbxBRZUWxyt/lA3BanlqVbrdSdMBG5p3j4Pa9sSfYjUr77zB9h2qpnC6V8u1+XFmGBTP3y97KCCHykGfB6mbCNng2OYcDfFxSp12MaqtqOwry+xB9gUkHlnfW9DENAGqcYOxFOWwZHAJEeIuPuyLr3pc8euQGkJA6K1rmHJDoeAl370hmHY+Wk02WBNr6bOj8owlbEPXZobBQ/xU4JVN9l2GH0nnIedokXyCvBiq+jOf90wECFhhyXgaKiOos+J5t5i72+cySCooSeyr88ULT2mwUuMCLDw9Pty72PByiEtatpiqNeZF8Kladg4jD+8iY+w8ru/PveAVmrABMft/YevFyzmyB1LNidUz8yrnolKmitwK2bPJrQzSfyMg7RCZtnj801QmxB2Hh1RdODJ04NYCR84mkyeVmLrySQsPfWBiZawIPusj3W803YTrCIFZh55a7RhYSAh5uolGsv0TMC+pfZ8CJFMfhrjIkPX4iPlpoVij0m+1EDPaObMhssohxiQLjAb8un88eH/6Z8SnJxoDDY9JjIkM28xe9G9BMqE8CdRizNqXF+yzFoq+i0JXmGCunk6mGwVz7dw0Aht2yZLXL1jgrrUpP84ikBVljLiJmABWcOUt5aq4e2FLPP4IYwNw6/6kBGhUw92jqGvzzSz2IXFoSGkFThCZ6Hdi95k3hbTR+UyOtNXxKf3qOHtoG1+tO5u2H6XvCe4OZ0IsSdV2C22f4X0XRjnoLI9dkAJcmaPzyLbgrWgj/dizWHsrNz5PzGCCZ7zywhZMyk6RrEJ5ucZ5k4Fosm8+U94ZyJFHYaHthMhJSLgoHd9plpggxNFeaBMx2BdSg8d0qM1P9s3xHTr7n+uvFsfU5qJafAkyfAi/gC+OLxCw0uMl/XJ+id3bpdG4VxQwyKvZaxCWrPaRHIy9KcdR43jv9jfykGUTzB9KjyF1G0SkyMHMeY5wgAmcEp9B8ffD92GR4FQExXAD/Rm70xyf9mrg0HowJ+Y5o1trz3gJx6Em+pGPt0PvCVSXsmyA7BLMqIiL8iKyvmFzR0O7FJPoUD5dZJ1eKn4tDUJJ4Umb72XTHqR1qs8KsHPpu1Bas2jM6FoTMyoX5aScTz2RVJH0xso6SkxxuMBg3uUblz4fj83SnK1GADX8ZJtrY6l5lrbF1/ZuSi1BShVAdFnfBB3Sh1SW4KQz2mL+Y4svWwspzeGp4W6pTFKdMDjOxHzkJHkAfLjLjqf+T1Axa9og+Cl7gRTi70bSWjsQM9F19HqH1IdJOoerLMQTLpuVpFU//G6/hsxG6sFsnzMJ7n73SbIizBrcriqJQot6sKe+uP1gONUVuBIPlDJA49atkvafSdkS4NR+zciAFrwoHjdIsVSJKqDxAVrM15uFJb4cUI1Z5j3Wgo4gLqLZDMdNtYKJ1P7oBTGSBKZGTqguAYXj9FtcQ4sSbuwAvEKj0iSHfGzNYpAzMhIVEl+O5tVLe4s/3uEd9Gsrl6bogS5HKQwX3XK8Vnj7lf+5qIQiTSzRnfkEpdxxgU0LAZG7OSxjiHkVD2gFaZ1GjKhIedce7dFUwac8qA8Ut250wwH7O4rKHFECWEhhPfyyNNFFWeFrcIjCB9QkpXuz0U80DXFirexggv6bCvxlzrpYL2A02HykHogeIIum14ATyzZnKSfKNZqYUHkFr6qN2/mPO1WK01C9CpwXcl3fLEficn+qMiFNH5a/JFJBAF2ZZWJ5EP8mGzPCF9CDlr0z0YHruP+6bAUG47CNw5yDdR0WDTjq/DqDE8W+/fc6iTB4r9945YbHjR76ZqoOFAkp3KnRniRLdWK5iKvLCCH/Jf9vzHnX4LfdHlAiEucOADd6aaTJnMDTB0DnLoW9pvA/TvJPoH2GYOwUyBgDkGv7VLqRPzjz9nIWylnnWqIlm7L9YRAuucHIleKaTQCeUrXP0Wnyp2nmBxzeDiVOPsap6l6MYLHO4xg8HBAK3J1dgvBpIjcYDKZexJV5mf8c0hpw5ODKTwdkKCeeTezcPXh/9nI/FlRcIYy8sH3nKCQ0EEucVi+uinLNXGTmZXSuB5jYC2k1R6X8FYDLSs7G3qg+Wa30/SZZVsN+vbIWPDRqs9HMz/V2eXRrxClGwzMRZTnpwuqrD1GTjLUluOf9uPygJGxe+/EB6Ak5UCCsCWe2GLD5iZX8ywqGyaP9CGKOOsQ504tSVjAMPPpKo7Ex8LT3xYdh4QReijfasLvMKd8/bu689y+WY+S8IO9LXV7KYzmOOycnb7imsjeiBPCZgNd2Hd2fLIQOaLorPkKjFZcGRaNO6lp+pBPTMvw9QIbYuQZBlhu48VmV3i/3Y0m71BChUWR3cdNSS4D96YC5J0Y7ZFqMHBW6G9p9pf1EMvsoq2dzX2wSvNYXqdP47zyePLrk+nreb97cBNao7U34lHDXeFQ+HqT8XvcE26g42SyQZmHFRlH2UZ0kohpcgm7Li2wAo0IHMre/0XfRV0HtarB6og11KC3Z7/RUcqKzEPA7ZEJQgZNgBZE02MFT702HN67p516Nvqkm0Gjx83wQdQMeqxlml8LDK0V5SdTdnatEK7C+bhiQ3CLRBupVuTeGYhJY/BbrqiE1SY1vdXZ2SFuvNbcrI6ErGJV8/qH1acDEtu58Cm9IYXlR4R//8FS+sjKjiIPcuzVQ+9bV25MODrRYTzxFJYbLhp2Um/HKOncgLdKHj7tOrMZfxR6CrV1qRAGh+vD5dMMDkqvh3RtFI8M/B+95gOm4879zLjARkfVycAOqjJdoBfgWjWNsJnafTkmc7B3nIQv/Doeol9zaGW/DlpeEHHLSCVAFpPcoRFbXqIB0NIfCnsKcK8GmaNVe1S1WmDjR9kV2WjYdDpu3d+gX3edjZ363f9jQEbUhFXtuRXOQv+gmYCubqBrqUoagUdP7xj0HIFEZg93/KZ2CrZfN9t0A6WcpUJBI5WLyoLnqf11jJxzi7XP7icTGifXh8HPdPwOvmb7A1BFcfY2H1yrgpQ9LL1WPc8f4dqfuE91BNq8DtcEql3/06rGk4gsNyWI77GnH9IKwUsAFlrpUmA3zzUPojorig8/2Cbd3TjsCKM9wxliCLyKPngKsM1KFkqM6bMFtyxYYrU2eewcxYM6RkLIzuCbt2tjjkrWkSVoIS5lGaeH9ACsgsCD8uBJTg2FG+jOXwTTSCvGIWOiSPmrIKKcqEISVvUcMWhHEeUKjXTMdtBmPl8s4WipwTYa2j7rmaa0RNf7IXAOT77NGep/q0h0KdWRo5UPERTufgAqHgtum1dZEPq6OH8ILA+nokd8MXPhCko+zgkNqNlrLQew5ugiVBI+TSaF0+Nh/0lIpsCoBQWlDacVD+Vx3x3aSXTbkp6URafBo7r4W0YMJYL0MnwFM5mzSBvH459mHAZ0yzT09dEXgjVW9/ggg2LxRO6yGo5FTpGQS5EwMSjG3crtd3U4X4CO+KX5W46TC5B/X/DpEipFhWLaE6rpYO0r44KwsS9Ge9H2dfFY3QNvXA1sWHN6WR25HgQ091u/FmxcmTXpvXerH0b5xRi1MwmGmrK4ZAT1TapoD8+smzXuW4xfFWkVDOL7zk9xNtB53A3+dJrIzc5OTB601UXSFtQkX3hWaSnhB0fIWaxp9w7vGQDYtDAeTTDigrLMhVNfLUpJcIxhrMjO0Amicb+Ubauev6gApJbByzVQRTWq047GGRSYgxukHnlk5+xWTYTi31cQQCJ9ILZRJ3tV05M1AIgNeeDW2H8IBJqkzSl9nnKSajGYOD7eMyjHHWbG4SEV8CvAH8Iew6SodPSlX4spOyb4O8XdYQ2bne98jMMolgBIbc8j1VfPhmdPcqVcmf5qMjZcC2VzGSMF9s4863hYPVGq86Huy5cmg6zBz+qDU3yje9vmEr3yJ6kZhF5z8UdlkJdjq/581O9VuCR2B3lyEAfQoUZot9HdVILawreyRxAy11JlpE3UoO/fi5/5omkUs0A7Gvb5+bsteFVIW+9l+qR2dINow47smAidv0bLLEr/yqKcUanjvixyzAQCM5CVzq0r7rDR9M7wjLxBq9eBWRVmyK9TfSJqXHjL8T3l8phqzWGZrkRC5oiPO6C5Wf59fFDP+ituUaiEqytebX0Feyu7U5Leql5gBMTdDPsmK7KUOyA5TuWxjGc7dN7kJKEYpro0VWRhjMArMIGbutu6vN2OSHb6nvd508S4Q34uCRKu96bSAD7YHASNVhzXv8N8jroYf5Y7E9s4wTpkvo3BZkkWqpF0M1vka3jjUC/JuZvw9V8avX+D9bciICl12vr/bQJxDe+TN9MQwDJwOe5HRWZKtCtH/1/2brHVDE381FF3JIILjZf20UTFL4MLwmZtFv3M88Bv1x6hEyoaAlZ5p5QEWzlw8bJBt8orARhiododtduYtJBSF7octT9JzbeKdozaif0LBWL/u9RjbeVNLZ8UV44Ye6Sz56Vn8QlwftWL01WoPryii3ZZ930Zx6Ins/HGvGQmHAD+2qvuKQAs8Y6ublb+Dvhp3Y2NNMjsuzOvb6m4YtkPzbhlctKadex8tBQuo0zhmSxfDIZm5VnEDdG2vZ6kcykYFxgAz3wrkVyXQnwxyQIeYMIHQYT+257jBWD0yJIiC3PqmohMzTC/65XVgSsowG2kgnlR7pYY18nBQ8aVfJ64D79rH2pymM4xMU1Zk/OS14XiDcldhO0c0RhQxiPSY72XYxpiaKVYmzOcEvI1PzQa7+LVZ6pBIwn8ffWvhqa38b3IskTs4RBkYs9i+i9/AqdAQg2IOeWv2fuo5tEcFyefI9nATJXQchbBEQO2Cj3kaBe2X+81o97B22kYSwjOkgZybf53qZFQ6p/N0dL/VnuL1cYTGi8k6rMpkKGx4j+Mc/fcHUVNXTKhyO10FkvHiN+qSbJGepJ/aLXoLZ8RET0Bshv/4hAQgzeS7yl0n74cedqdnmAeHmQ2CyXvMM0MWpEvA2ezZIKU+WvUSaGpTt1kvMloerqnqxHLfT01Yh2n3iD29EWnrQsyjedi1I5SUgvQKBM9G+oAai15cO1con2QFz3UK7w7ZgzM+vPmbk2QqR87fzlbdTSAhrLXzqVfLnWBA/4+5aC+0BRMZ6iX9lH3QXtKU9D01K3HprdilL456y5lsl38VQaMbz9hk0LgquziMY01Znz2WE4ClHG9cF/e7stVmn89oNFUE9NZ1RAc97KzDEWHLoKwlCG6L20/2Gj7/M6PDhsvhY+FMzYRg+v/0jo2gPT0UTCfaLBDRVvKQgUSYPMG1dr6ox7ohepBUS0msHq/V7A6Y9WfKDgSLatqTzwhOXnuXAoFc1LsdlV/Nv7XHqg5TAohZGa1mOn44SyY1fyPMCxL1QmxvhBC7mxDyj9DUnBpbjdAzrBW0mUzZ51brDVW3f0A8oKL6FYBf0mwK6YxDMJogq94OPgpZyKHKBYvJXMfs6u0pYnEn/jPeTVQMK6uY9Egww5setjqwdQmwi1ea0/uoNw7QKPorCWZohFt4VB+HUy/ObjCDdxryIg/y0wXGMwFyftSyf0v/ESOVaUNOHg1aA0SQ0KOwx/oqBneMvSoxZc7SqvQaHcx3ZLg7I0FQgQ9799KuVGTfGNgWvzIMnHqMNnCyCLJMNoNQK9XA4Wkq+6tVuCUREehKj+szE6KlaSwgAPfb6JeGqIyBrjJK/wNw2yPaYB9wHia3A56M5r4OplAvdVjO1vrsc4I8LAy1zqqpo0yM1hfixHeLNDG6ufXaX/4mWxYpqL3hBHpPbnox49P3jj/wGgdZFaJe1JTer036xd0Xak5qCI6SV86xqAdAChv6sj7ESw0SU7w0leCi/08lfYfucRQHdzjO3JkA7lvHw0ouMCSCweP+ms5HlStT1HLlgQ/pkLQ0HiDkuoPtTY6fDW0UPlH3ebKJKJsiIlEwAnWQ1ExfQhfs1IRdbEO6sgyC7u2YqSye9WFoH3s0+d4P2X78UPcUsRitbiSflMds3+5ixk47wEAbwHOouv3l0AUb9zZIP32hh+8n3fJx3LXT4wqErJXRmufydvyJuKW5IkA+rD7B5y3hJGUFrf+je8x2WEZ93MMZZjKF3R4hY4E82J7y0z9znWEXqtnGce0dejOBkrf6CbP1VCh4ixhRvmOXO9yA0A2XQqeWYNfk1eUkRWlybRDBiE5SOOtjudxOpqC6Hv0XRqdL58/dsrEItVoppvb13l9MrZRKzOe/vtw9JP9aAkOa7ra6MbT/3YE4LlEJ5ticKWKe+rOGibg+N20Vx6Vg7J3byZG9+hIpULnZWH4Tq3LmlMA+oUfgAbbzPl3twbDuQozSElI95KSsXaBWevUxIWPQdY+4eolMlTtLwn+51SP6BWFEiioYy+r2Rza4OqKJPMbx7t0CZCtpMKxYQ5JCowbAH7J4Y3Eh3C04j1H/2a7qH3cVo01mg0KjVVR59qENmLLCnQ4LNMS3i2XshEK7QAIvi4D+egZPpMUywog3s+tqRiaGXIEMFp3rd3TuvLXVT9tpJGxjgQLGMKXmGL1MVjoN97by2NaOn0JoIbOQqeBIHTVbBYNON5DD3XP+rStPIfVbuHd+90TJpGh8BlfV0dLneK2wDMnndVGVvQLhvaQxu6sL3XsvtxmQzeFWUSHLeAlmTc9yNQKkXtOJWS9faewS8yotiXdJQ6EI1vpVOHgh46gljSllVDRx9qlH7i2QFU/dKpaQEbpAFUBI/eSUGbpgT2ORGcUGXXDWjQJQo+nCkQVnIMRUCP367os5Iw4Rb3LDvOi+/mwcBozzUa4WkjVcSIURKO3RTFCiY9j3O6C5MBS6Y0WbBooC0nOzhKxL8xMIIaM/tnyEzIdlABrz3f9XlCiQ0hh+C7/bNp14eUvnjcHWjBOSw8E7BjzeXkRQkpIuZSOriwZ8PiOLZxCkXFOQ4hbXa4Tu69lccJ9Hd0F1lxkg5QnAhhfx5WdcTkBH3SibBUMCLPb/cYypz6s4GGDMV5smYibldp//j9gbCEhqanpxLsoexOMik4SOt879z21iz+8V3wgG8CicQsmxcsqCc5QUqOZhnpO4qAFgzHF+noxN835P4xf5EsOcPvYWwtzK3WEYVGy5tuvxE5WZB246SGIDgeC4sMge0B4p70Tse4b6NjlPHW+90GmqnySqY83r0ilaew46qmwi4RzmOcPehbn4YPCoISjQ44RURV++dfU53vcKhkSj6cWuh75tdSSUNMysFwoP+lN2gGTwxOfrha9wWxDPpimhEBVrt6dcBIvdoUbCLTDQDZuUOVVhZP4sATqq8z7Ai0STnGxzKmAHG+3I+/tvrDN/OOTHwR6W5aWSRj+M5wmS5hfdvimlus2z4pE6RV+l6scSEX3XjFUVgbSuuufln4qZfmgBxNvIZmkPtMh4WHAtuqRVdgDOLksqdhjqc9jrNVpRsYL4L5fXaKhNXYNJfTorxbaoSpoqj6ZEp05xsc4y4Qryx7BRs3iYvuHRbCUsiCPmmGdUPXDn6H7woEjiz1YeriH6NPF5au5aVrtcw0DvEgLLKMuVq6QvzE1mu+x9AFhhIEE3jVvzGWs7x+IBGJ2hfG8Kb57q5sDsPmddrc0s2doavGt3j59SpKkbETAVxcSwwHbpAEsYTNPM1KhVl7EPpQp+gNotyPx7hI11xG47CrYE7+4xlCFpaDwvf9FWescjE9qNrcgCXvSeme0GAOo6QjsttWQcRguwWZb6OG1VPN2xZcfyUeEGLHhPkrziDDf4SHNaCcXXJ9CtFdyRMVueZNWqaoSKhpFI91MMLSXju3pGbSzJlM8FPf/oxZbRADvlZZCyb8fbb4mQVBZZ3GWV4hj4PCrLA1qQvEqs9XLsRnoal9WaSQhWRzLJmCurnGGRc6wxyAAejp0pAR70k0M8R+ziXphTbSz5jU2xp2cFe1EhegrqPqjFAtYWbYwsm9X969oYf76RSVpD5DfI8iDfFILBkfvnZaZtHikQ2tfNY1T0QOYafZ+dfiQjWZxqrDxXDWbc/jYZSbOzpgJ0HvC9wodOgTk5d5d9dmNrnM0LH8bvtI4zgktUZdf/DkYM10EF8yMhbFqvpMTi+TaLBUNd9aLSzSGAqu41xsKxsEYHFPhxozYZMPCafc4U5t8Ja7k34czb9pTsN2JFnwl8AmZSpI39KzBoEcD8fz0CAcio2KlaDIhPF8V0HkEbwc2c0mkpBazhOMI1d4cxnKG15nlJ+haP4D9g/H1z7jIEHS7enL9st+r19iJpqLFuJiKD2NT7LXyBzaAcFxIJ/fo4roeZSvHUyfgqUjSVcPiszEAuk4Fgqjxih+ln6TZW8b5sbDIvrB1Ul++c1B63XbFgHdVJTaRPzIXeh5f5u+QYvfa7pHyQV0ZUIv4SnfFMvTC0g0/fdaaBd9rcpxu/CBpbobKZgCIyVRDZGdPlZs8UGyu7+Hxb64E/k0YIIyG0d7ZSIcU1dOwyAQt25Ow5B4W/oUhgU+Gf+qB/Eqf+V11+GylEkiyGag2sSabnAwgaqTr549u7USX8FH6EnKLv1g9jl2zIU7C6GM3aeDn8kP+9aBM0Agrl165RV4/UHaXPnrBjs3YOHlrMK9jziNkwwt6+rC5FPPvSm2uVuOQouD4+Rk/8X2VoT+8bijB9PNpfsOsNhiSOVgntu7dzfzJItraFExs2ylPt0vanTgZJP3SIxPvZsgaDSBNmxIh0KPLS+EZkJ1Xy0gY8WVOZDbYF9v0GJta6+GUy7ek8lisYumJ1nyw90NF5n7L6H1aFMYqA/WI2COJA7pWaf9Ugf5pniETIJNyNXtonwZOLeCG380p2a2m5Fs4WDJIbVCtkJ77ah+h3HMvJJ0fzW8OXfnZDuzbWB935lP5zr2+vOc7CL44LjNt8p2deJJKd+d8n1mwKwxWxUjkxJRVlpIqwq1a+Sfeu1oNGDaOXyS/LVoiWAi4/RFFK77j8sVBWyTeqc13DCYWKdEbHTgEcIdtBewm3fvU99V8J4gYLJijdis2O/D+3FBz8kG/SwAXwjzKgO1TmXuA3syLPxxfnEUxttkUPpzQJgAzcN6o79tpHr3QWX3TVy4USKZJPX/G7/sFv7TB2RKaM9LvG8518UTl/oNK6/mqMpSOqsv0xRVzNjumgamqz/e3LG3e1lkrW5SquqlrDJIrN90AProjO2hsva2vAv1ZNPbHVfvH6K8KnMmDbXcZImS+YAXafdXLVILS/Q0MSKuRaLPQABT6AsH1SpBlkiSLXyhT/gT5IbfD6Z1Jx0n7l33o2uGW4lgd8BRn8WUeEHBHEn2SCXVQwlREQtvN7iSC2y8qSngF4ytc3vgOucrGccauebyUn9sdKmkhMom+XHRGLg4yr7NW/ZAq8UDCTjimw0unj204NYoihtZTNdXwgmCpqzA6Y4a3S/braI7FEXELgpjVSnB+dqkyFq3Tny2G8lAz1OtN0TZdE3wgbqL8XtsE5Ut1NayTqmPNmEhJVC0f6ZfMop0HP5VawTxA+lq1XoeRAoIGH0ojuV+9O13sh2V2zoxj5jVyNGuZDtqZVlEeSIRI05PVi7nZfKw+EuT5YTkdX/qnx/AmQXABJR8mEbt5A8Oab2RqMdG+P0zvDI0gODnGDSO2w4ZOrD1zi5LnYaIljibbOMhpDWcwsd6Ry5eUmiLQ24OpaErO6a3/sYLybm9xOJLqfn7DNg/5SKBxEfKNyyUYP4KtkSMQI5Xo7dHcIhqH4l3CRK/gB7WtFU6bj0mReNJIitL8grYbUyZpqDuMDT5s5WQsWjOEmRSbMiH7HIkEIPvRu0WxMnRCJKjGFWdlKGqK96T7jlsEHCjsPjk/9VEQ4W5qB2tRAFGJ5YGgbmyYxqxGxduvkNdd3IZKcIbvtEtH4X7aHeyV4Dcn4wkEzUNRRhISM51Av5I1mwi2lj3DP8d6K9iFzNVDCSb+eb9pBu+SEqYrvFC8WKSi8OcZDj50KV871120hgz6n6OZy1KOh8OzKNuCKFt9mVlUfJKzD9gcuL53q+oTHGGIKFz4+4/zLC13N3l3y4Fn9dzM02uGyBGoJXmF3jrwW9OguOsh1FVykE1suM6kC/e005VRngkgcn29tixbfGSx7k8JzTId+5wTXE1HgKXCtGlwA7L6FxS+RUGGP2az1Em91D7THACjjqlVdoDOltQ7Yb4S8n4kG/m/CvtFfQB0e/e/JMgICLGKds6v5THENB7WYOdJ0P5s3GQzdbeXjUAG5Y2WCUBs5LZ6xDZzv1L7jfUHqBbmnHW7U4g+UTYB/tW7B0Ya0JAbpzWFSoVQH6CbY6q9fM8ccelwWdxeWdjZm+TcmBAHpje+emw8T5mUgl7Omvks7D2xk04/HjynzVyBN2dI3dBgxTkB1keL9tMN0WgyjY0ddKI8pigHP9lOa8hb7F2bZIa/FqS6JJPPHnlyPbVl+weIG7j4ocmWH/OkvaT4qtcbnafk2ocwOkjSqUob66ehit1UDMwKXreD2R92MZugTHNe/PWAZesANg9eBbm2p+4kqK52j8MW3AhqaffDN+kK195DUM4FLVYm8BQhOF+OWoM5tTD8LImCNRenutbU6qRxpaMDXCBU37/K3Y7eobcg/IaZaBuw44FteI67Hdgufk5VqCDjlK7jDBUtVq07hpPI9ymWW/m3nNLQlusNGDSBNYXOUBDRWNnHira/1eo9GEwVgpXn2tG1PUUxT15p/fbfGXCvpsj0QlzwErC0ge/Oqlsh7E0QhpqDAcvlBJOiXDD/bv01SkM269rmghWHJPUbmpq4trj7H6cCMXMIwWgOLaTXR0w3tamzJpReC8FXDNwkxSCbmg/ag17JdPyptz7mR3k6KvXor6tFCfEv85TW7CDWLEap1AC12Ym+LK9/CxdKPnXz9Qz4xNXGn3sG1wAfthifQfjDyiCnLo2uhuMzI9yKxH4PUTt52mReMLmnHFrrLpDYcPC+cU7ge55guYhGv/ANB92YzoXrI+Hs6gdXnnfE8GGhfydGwvKBKCtpDecGnu41Mz28j9/LTVtSV9WZEoxANMgPGo4BDbY2p69ixYGQWATdyg9TRDAK7f/Lrlubat60yuVZ9wcwqZ7NBP71mX6NEgdvfK1EgMnkZzsDQl/wWDHdAoOYCo4pKwY5I/V26cKTO4aMYcV/YDdgglOtas2KtIXBJAcgotsV4YfF+CDN4T5WdX808VdXh3/UXLrAdcMDF3QIXj1HyUHIOkXBH7DXICbJt9eNiowRXiuB0d1J/FqjPFe2IlNdXnwFwpRusB5PLSv0Lk/AdI1gQmao8wwLmnoh/L9riMbMMsWAOI+5B71d+lGTKlxx4hQn4ixRfedyZUUsRcpGrgAS1XqCKzggl0/LFuyQpe9BsgvZGkEHQ4ELkl6bcLtiHZ+7uFxmRjnV7v8PP1Whug1igIT3OTMnmb/dGJPuGKY5fRdvWoatxfNU3ABi+fY7eHiPqC0gQDpAC19twVfWBtBur+ST+y7fzmSE5Q0C3mcp8/31XIdqm7sEZJHtFnXBgaTyG+fWRGAY70K10IBvKH2TE6IMzm1k92/Cn2payTupKTtojgP3uaWIgFVgV0lD0WGR0PanqiKtrBFwqznvb/rz2PgpSjWd2BESLQpxY+6tmKXZnjvY9xfR12CQ8o/aKz1t+XxCSzy0uE5f/kaFUCrwxjL8gT7SEUJshp//5/yvPFJHgJlgsvXp+gRQCSzz+vS6rl3BhMsbj/HzwJYz8GsWppOQDGVswlOHEaFE/qhImhDrt2DUfNxtt21GW7KwJRn9/mtYIjlnnwgESPEpwoLyTru3SsVGzRxnZG6x+BiseUs57lTdb3H8KG7UPeH1SSjy9wZHELnar9x5cOtOR7lOvyjWm4Ab18Q+qoMxxLCFit0V8SmOu7AU8XGY3eSXb6Ly+kaQmDkRlOstgmcj+rD34KNz7LTvLL0O1Z9J/nCjp+1flOFgtbd7Yg0t5eNrPuppxYxJfSpnJRNL4S3YTffnV+x+zVsuioseET/On2wNi/TnL2rAQIKswi7Er3Sv48D/+PLsa2WJOSk6DqcCLmusILDiz0FwKEhMewrxtNyM2IAE0/6hiopIQoUgC6U8CLirhWbfVibSnCGZlF5uywIcaUlcEaYP/evokbi1NSquO62XNnWR4+fB3M1N7LaI5pwdHYOKEjg9OaSiTtEDypKGOVxZhdQS0jEvZ46foNS4SBpwZfPn60p6pQldNUmimhWeU5LUnEpZYjPJU6hmAsh4AKaLFfJANrZ9ou428yoEIFuiY9UgOYkqtSUocWxyijxK+NTtuDdbh7NJcyLIl6CUBWQjZiL34Bk0Qe3vmT9tpIKus3r5CvEdEu5Va2Wxm8CQJT9bESzuFBeH0QIRybKFAUVqNa9tCXukd1jwLXYKWsuMuFda8R1UjVG2cvAZ+R3lBV+nLksL4Ti6lubX3hKFcSyFsG5rK9pJt5nlSGIkBLP/HFqLL/KX0S96NdOo4CS+GYPBk+lBZxz6Yie12vvUj8l4t1ik/5PmvbLOTPCcaoPeZ7APUQIKIcxcNUDin3R1okbeAUGwt7Ja3G0ntQokBhlajisyXeqbfPLrTTKpTauclKp+DGdyBsbzFHEYtIqZnlLe5wjluF/UID6EgwWPGj0FVKM59Jom3+0Y1QTb+IKqHZv/0FIEEuVItlJHSixdza2w0UN80Hyc/eUGv6SBybC/EEs9cOcLBR1eeQXXe7p7hfIhtxxBrGhk9n7jom/4LXF125WzPmMCUiNyE8iO7sVSmRf/iSNFBveZWGPeCirfJ8a43fk5jCfA3NPEJyMAamu3Q5im0DKo8aonWXtye9iE8vraixlVTAGSXFMjP3+XiOE9jrnXTDzARnt7+9gvHctQpaAI0za6N7bq9R1lb55jILwmx4Ih4OA0K1/Xx7B9jytPFBRhEO8xqXLhxotsIRjnGRvnkMK/KJ1YhE9T2mNmclLYgMSn+7dzik8BzoHt+EcXstV8yNpTspqsnS96ATq3A66NbF449w9JqViBt4gWi7yVzt3kR4XSJ8iEB5anMqG+EsSyrMQVv0sMeEysGx+yYs6G2xPJw3zqTq4RzDQXPhYra/VMlt7E8zzl4D7L3HS3kkWf4ZkmFmnjcENPQdkmohl6p/gqkOg+8McyzNxxb5Fl19DsSr3MTuSMqhSKDn95ibzYCEdrZXJiKaqu7BFBuju+jSObOPchog2IsE/u/3U/UK2mntvSnD0qNkPYoRTskBnLJ3NJamL0V4sEbryX8NMr7MKMJ0+h2+xMKY4KERpvUrd0c6ABXWHqLdY1QTugC/5dhdoLy3+KwgG5FnL0MZw6qvOvHkKQRoQrcKLuwUld15s05QxurH67A9eAr02a/vUWNBIgP6vOa69ZZuZKElWttIerRDGIAkZ54fw7HBctSZtfspPxaliwbOEH/Laxot3ZQonzvXknSVodzZHA1Jw7BcNRsYvl+KJ0Y6pMRPpIbaN/QSuHtnjUoej+vlVhq5021xMUPKxCK/D8rSRbOmduHG85/JrIimgo5wXWP83lLvRaxwCxeTGVt44fTUqsfUARmQcS3f5DbHR9SZ4nJYIEvcCjIqLezJ3I6S7xBop57j3ZyMQX0Xxr5mc6IUmrlOXM9fJG5iDZQQ9rWsGZ0Y26GzTAEsD6pjPuDa1XAT1MRpxyZ8zN53sl1YEV0E0EHvZqcnBnqMTXRh6zC9PwDXEk3OHs2zLLIjBhY5+7lDxp1X0qcm8XtWorat33mUx+kEDDgaDUdpclQq/ZM6mMYoF433nKbCKDxCozugSPVaRjNPosMDy8FujvIJSb763XuBGBIYLS9x+HZhYiUa9xod0xKV9aRt7yczWWlLgfK8qn4fULHMBSP48m/wTWfDBdTH8uDAKt5WM033+2bCpxDhmZtE+d7XP65yBTOf9/EWaCG+Gs9/5kVbWS0JlfoDH6Si2tVCzCRGfV0XZAUWfXOMJ5F9dkMagbwaeqVqqbVONDQGg8zID5MUV7IkazdAz4JLOXsn1RuZnoZNIGV2Na15+dRKYUAmXFmkWBJpPMBwT8N4bd8VZwBnhm3WzH9S0sbpoP0sgf2OmPvQ6smMyfkVK+OLjXYubmtioAhdwDb5/pLRg3PGwfHEz6v9OOe4AK8iw2cma49tV44In8Rc9jGcqSQlFXPdlC8366ke4U/ITFy0/SQBl1vWvGk40KycwWGaLf8cCtEi/4X2W8961i6lYnpfNQhGcQyC8s2oIOW+Pw545Thq3ZBEyNC8YDr/pzCEmBI8U3A4IiQJoHiD9kUMNd8wfzysC2Kqc4OGeWYsJxmDev4Jn4HV+vqpgN6xxSEMABhRMdTteHiJAgnQEX9BR2V1sNqh5EcMvQNYYa5+bblQn7Rli1UFCtQkP6ECmGkxmPNkg2CGS2mmf0/WEuTZSyPMtbbrnftPgleOmJ3jSm0m1EU9fQHQo1NZti+KczpJ8mSYIVtXzXh4rNJcL3Fm7Bbftpjmj5UnuDpPk8HvqKOj2DGJyk4R0Md1x7umiH0DTOXaLwO0EI94k7n6R8nfqiwekgUQZ1rRek0HViM5YN0JLWp4f4NRE8ErcGNSHZd58+9Kx8lmkc9ogfQmX0rX1kB8QQzNbH+eVDee0jOQNUgQcew3y+0QbifXrtLHXDIxsqsej41Kz7vfcQRE1zUnY2phYNILK8a657zyHNMzPiRhxs28s1JX2kiCMEloubOXnc8BzU+n7LM9wztf63eFWN/eWHXVivSdCWg5DfWsk2CF8aFJrOP277QEPdkWlOlewCVEkLjyd5wUn9ZzaKOJKnDQDLfliiRLTKlU8TOeQj8jOU8FfpM9tayJTDpxw6sVlZuJRAILfxn+QAGIB/W1FGDjuuVu62hFDBdvzVSfge95Ebf9pclp0GrpV3S+gwBWn5J7aGiim/fRyIN7YVVXJsnAnVeq90vDdAV0XearTqjT2Ck/AMkBW6T/ls/6VUVnFWs01wxkahKR0tRwyLRKgHefm3RWie/pTVQpUMZw+/7ozQSW+7vuZd8lsvT1iX5rwlpiaFnOnDbHsr1As6vLETd5HVbcBCGbJHcS7ax9Byd50jdYyagUtjAaHYX8ryyuR/bDkw1o4j8+hXMfbzy+CVmgrfRDyl4dn+5LxrqRAXLoDKpQREAHqdLSsVSJh1s8KnZ/SsUVq27cq+O6LMSBmhT4X3E750rmWwCsoCre6bT//oFWYALjp2SbcxnULBaTvnYDHtfEbO1m/3c9nJk8ZO5KHQTV88ivTWN/S2EXwmisTPdcupMrvI8e48QZdkZu9WHyKron7MKhGFJw6Z0KZ3tleVrvvJo89siUwByPY+Hs4gkKPBQbLQOaedcv/xeM+Ih8rl1eHEC/C65xWVciToVqSGp9HfbhVzFSrO6kBnv7mJwnRLvMEwqiNankVdJJMw4icU3lKyw/ecNSWIUddqlbThYMiq8nHjRRufs+28cq0OI9zhpvxFvFgSZE/eAYvm0x+9lZO+EH9NkBngaqU1NMYhdombNuy3awUN9p0mJQ//e9L65YbShgoc+ZUlNy+c6F6gDEHXV0JrzevPIZFAe2RyRa2dNqzLvihAAMCszYueqszzXRkSyobx5+LTLK2V3lfg3wbS9DzP3QW7VHdHbjZcttQRvtjrGveJnNn2DE2ZDIbvkCrT0H8RzbGDdmIq4P1ey+hoY/W6NuZKOz4dv4HUNznxdKV1Wf3MvqUv35r2jTKvpPWBUWNm5fytX/QJwp6qkIOsSx7Y67BSCbCDVLM8/VcMG+T0j+INrgL9sfT1ICtACH8BI0G6ViUZPVzzCmQHW2oVIwZjAoFl6+meO/pD8teO1E+1y03mCpYfW9S8qhtH2GhlFlebPf4NbezVv9xbXKWz0xezRNQWqUqtYRTUbuzK7KTvjG4rQHfzBpVmK4wDLnSIwdSzTSk1fPNeY0WOpPZTLlvQ59xwgfFrb326vT2hS1JAZ9E6sujFtKTiJ7bxI6o4cBhDaX+adXREThhR+MwA4TqD7rga/o9iY7d6TVRe14CS2S3iSQsD0R6ApnhG/2Wa0A0AY2NtWTjmabdKU+KgIRDP9RQYVjXiF1qC+xyNVG03I9vpmEpY/G/zC4nLOKgXAZ/uTikHI9Afbkhfgfgo9arWbix5eH7WUo9RQygDzwCnVSjbXc7MihEufVj6WGbK963pw8VjY3RS8IH1cy2yZbIcKLO5CgAUcXJfF2+McnDLKtXxyZaf7SPA6KJq+zF2NHyfoeTOwHhGqNcnHVr1hT73pcoyXyfvCYBnG1Bp/aR9t8hoI7CXM3UZOisWGA1SHZ2jf7k9GlRnp3mF/c1AV+JjvUsnZrsybEOQJg/dn/9eJkyykQHjbF56zgcPX6DdMG03WKUMlYz+uOZ+5DZy9E9MZOZ9GMoLFdrIPPQQLjv+GlCMpoyHPXkzIODjHAID2PrnaRpqWVHh0rnieDILKq+Emrd5RnjgE9pDUXWTmHaKuqqYlcgEz4zbi46dbWrAAFBjsQq1rLHIiPJEcwFLCOY4JNlXRXQJqCUKXk2d1RSBGzDP6HDSpo863BhVRFFF6uIpjQV7j5ebFe3UkkO/+coIo2BTAcgBqOtQ134s9a4QJvofuqBYMGOBMsWZ+sn/2AOxDx6SfAnDFGw==\";Uint8Array.from(atob(h),(e=>e.charCodeAt(0)));const d=Uint8Array.from(atob(h),(e=>e.charCodeAt(0)));function f(e,t,n){if(t.getQueryParameter(e,t.QUERY_RESULT_AVAILABLE)){const s=t.getQueryParameter(e,t.QUERY_RESULT)/1e6;n.lastTime=s}else setTimeout((()=>{f(e,t,n)}),1)}class I extends i.w{constructor(e,t,n=512,i=512){super(),this.width=n,this.height=i,this.clear=!0,this.camera=t,this.scene=e,this.configuration=new Proxy({aoSamples:16,aoRadius:5,denoiseSamples:8,denoiseRadius:12,distanceFalloff:1,intensity:5,denoiseIterations:2,renderMode:0,color:new s.Ilk(0,0,0),gammaCorrection:!0,logarithmicDepthBuffer:!1,screenSpaceRadius:!1,halfRes:!1,depthAwareUpsampling:!0,autoRenderBeauty:!0,colorMultiply:!0},{set:(e,t,n)=>{const s=e[t];return e[t]=n,\"aoSamples\"===t&&s!==n&&this.configureAOPass(this.configuration.logarithmicDepthBuffer),\"denoiseSamples\"===t&&s!==n&&this.configureDenoisePass(this.configuration.logarithmicDepthBuffer),\"halfRes\"===t&&s!==n&&(this.configureAOPass(this.configuration.logarithmicDepthBuffer),this.configureHalfResTargets(),this.configureEffectCompositer(this.configuration.logarithmicDepthBuffer),this.setSize(this.width,this.height)),\"depthAwareUpsampling\"===t&&s!==n&&this.configureEffectCompositer(this.configuration.logarithmicDepthBuffer),!0}}),this.samples=[],this.samplesR=[],this.samplesDenoise=[],this.configureEffectCompositer(this.configuration.logarithmicDepthBuffer),this.configureSampleDependentPasses(),this.configureHalfResTargets(),this.beautyRenderTarget=new s.dd2(this.width,this.height,{minFilter:s.wem,magFilter:s.TyD}),this.beautyRenderTarget.depthTexture=new s.$YQ(this.width,this.height,s.JQ4),this.beautyRenderTarget.depthTexture.format=s.qkB,this.writeTargetInternal=new s.dd2(this.width,this.height,{minFilter:s.wem,magFilter:s.wem,depthBuffer:!1}),this.readTargetInternal=new s.dd2(this.width,this.height,{minFilter:s.wem,magFilter:s.wem,depthBuffer:!1}),this.bluenoise=new s.IEO(d,128,128),this.bluenoise.colorSpace=s.aCh,this.bluenoise.wrapS=s.rpg,this.bluenoise.wrapT=s.rpg,this.bluenoise.minFilter=s.TyD,this.bluenoise.magFilter=s.TyD,this.bluenoise.needsUpdate=!0,this.lastTime=0,this._r=new s.FM8,this._c=new s.Ilk}configureHalfResTargets(){this.configuration.halfRes?(this.depthDownsampleTarget=new s.kFz(this.width/2,this.height/2,2),this.depthDownsampleTarget.texture[0].format=s.hEm,this.depthDownsampleTarget.texture[0].type=s.VzW,this.depthDownsampleTarget.texture[0].minFilter=s.TyD,this.depthDownsampleTarget.texture[0].magFilter=s.TyD,this.depthDownsampleTarget.texture[0].depthBuffer=!1,this.depthDownsampleTarget.texture[1].format=s.wk1,this.depthDownsampleTarget.texture[1].type=s.cLu,this.depthDownsampleTarget.texture[1].minFilter=s.TyD,this.depthDownsampleTarget.texture[1].magFilter=s.TyD,this.depthDownsampleTarget.texture[1].depthBuffer=!1,this.depthDownsampleQuad=new r(new s.jyz(p))):(this.depthDownsampleTarget&&(this.depthDownsampleTarget.dispose(),this.depthDownsampleTarget=null),this.depthDownsampleQuad&&(this.depthDownsampleQuad.dispose(),this.depthDownsampleQuad=null))}configureSampleDependentPasses(){this.configureAOPass(this.configuration.logarithmicDepthBuffer),this.configureDenoisePass(this.configuration.logarithmicDepthBuffer)}configureAOPass(e=!1){this.samples=this.generateHemisphereSamples(this.configuration.aoSamples),this.samplesR=this.generateHemisphereSamplesR(this.configuration.aoSamples);const t={...o};t.fragmentShader=t.fragmentShader.replace(\"16\",this.configuration.aoSamples).replace(\"16.0\",this.configuration.aoSamples+\".0\"),e&&(t.fragmentShader=\"#define LOGDEPTH\\n\"+t.fragmentShader),this.configuration.halfRes&&(t.fragmentShader=\"#define HALFRES\\n\"+t.fragmentShader),this.effectShaderQuad?(this.effectShaderQuad.material.dispose(),this.effectShaderQuad.material=new s.jyz(t)):this.effectShaderQuad=new r(new s.jyz(t))}configureDenoisePass(e=!1){this.samplesDenoise=this.generateDenoiseSamples(this.configuration.denoiseSamples,11);const t={...u};t.fragmentShader=t.fragmentShader.replace(\"16\",this.configuration.denoiseSamples),e&&(t.fragmentShader=\"#define LOGDEPTH\\n\"+t.fragmentShader),this.poissonBlurQuad?(this.poissonBlurQuad.material.dispose(),this.poissonBlurQuad.material=new s.jyz(t)):this.poissonBlurQuad=new r(new s.jyz(t))}configureEffectCompositer(e=!1){const t={...c};e&&(t.fragmentShader=\"#define LOGDEPTH\\n\"+t.fragmentShader),this.configuration.halfRes&&this.configuration.depthAwareUpsampling&&(t.fragmentShader=\"#define HALFRES\\n\"+t.fragmentShader),this.effectCompositerQuad?(this.effectCompositerQuad.material.dispose(),this.effectCompositerQuad.material=new s.jyz(t)):this.effectCompositerQuad=new r(new s.jyz(t))}generateHemisphereSamples(e){const t=[];for(let n=0;n{\"use strict\";n.d(t,{$V:()=>i,B_:()=>h,EM:()=>u,L4:()=>r,Q_:()=>o,VQ:()=>p,dv:()=>s,ms:()=>a,wG:()=>c,xJ:()=>l});const s=0,i=1,a=2,l=2,r=1.25,o=1,c=32,u=65535,p=Math.pow(2,-24),h=Symbol(\"SKIP_GENERATION\")},6156:(e,t,n)=>{\"use strict\";n.d(t,{r:()=>O});var s=n(9477),i=n(5760),a=n(5107),l=n(9401),r=n(8317),o=n(9072),c=n(6148),u=n(7735),p=n(575),h=n(1173),d=n(664),f=n(9472),I=n(1787),m=n(7808),y=n(5727),v=n(7569),w=n(8217),T=n(5544),E=n(6657),g=n(135),R=n(6133),D=n(3503),S=n(9772);const b=new l.o,N=new s.ZzF;class O{static serialize(e,t={}){t={cloneBuffers:!0,...t};const n=e.geometry,s=e._roots,i=e._indirectBuffer,a=n.getIndex();let l;return l=t.cloneBuffers?{roots:s.map((e=>e.slice())),index:a.array.slice(),indirectBuffer:i?i.slice():null}:{roots:s,index:a.array,indirectBuffer:i},l}static deserialize(e,t,n={}){n={setIndex:!0,indirect:Boolean(e.indirectBuffer),...n};const{index:a,roots:l,indirectBuffer:r}=e,o=new O(t,{...n,[i.B_]:!0});if(o._roots=l,o._indirectBuffer=r||null,n.setIndex){const n=t.getIndex();if(null===n){const n=new s.TlE(e.index,1,!1);t.setIndex(n)}else n.array!==a&&(n.array.set(a),n.needsUpdate=!0)}return o}get indirect(){return!!this._indirectBuffer}constructor(e,t={}){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((t=Object.assign({strategy:i.dv,maxDepth:40,maxLeafTris:10,verbose:!0,useSharedArrayBuffer:!1,setBoundingBox:!0,onProgress:null,indirect:!1,[i.B_]:!1},t)).useSharedArrayBuffer&&!(0,S.Y)())throw new Error(\"MeshBVH: SharedArrayBuffer is not available.\");this.geometry=e,this._roots=null,this._indirectBuffer=null,t[i.B_]||((0,a.v)(this,t),!e.boundingBox&&t.setBoundingBox&&(e.boundingBox=this.getBoundingBox(new s.ZzF)));const{_indirectBuffer:n}=this;this.resolveTriangleIndex=t.indirect?e=>n[e]:e=>e}refit(e=null){return(this.indirect?w.o:h.C)(this,e)}traverse(e,t=0){const n=this._roots[t],s=new Uint32Array(n),a=new Uint16Array(n);!function t(l,r=0){const o=2*l,c=a[o+15]===i.EM;if(c){const t=s[l+6],i=a[o+14];e(r,c,new Float32Array(n,4*l,6),t,i)}else{const a=l+i.wG/4,o=s[l+6],u=s[l+7];e(r,c,new Float32Array(n,4*l,6),u)||(t(a,r+1),t(o,r+1))}}(0)}raycast(e,t=s.Wl3){const n=this._roots,i=this.geometry,a=[],l=t.isMaterial,r=Array.isArray(t),o=i.groups,c=l?t.side:t,u=this.indirect?T.X:d.s;for(let s=0,i=n.length;s!!e(s,i,a,r,o)||n(s,i,this,l,a,r,t)}else a||(a=l?(e,s,i,a)=>n(e,s,this,l,i,a,t):(e,t,n)=>n);let r=!1,u=0;const h=this._roots;for(let e=0,t=h.length;eb.intersectsBox(e),intersectsTriangle:e=>b.intersectsTriangle(e)})}intersectsSphere(e){return this.shapecast({intersectsBounds:t=>e.intersectsBox(t),intersectsTriangle:t=>t.intersectsSphere(e)})}closestPointToGeometry(e,t,n={},s={},i=0,a=1/0){return(this.indirect?R.r:m.Z)(this,e,t,n,s,i,a)}closestPointToPoint(e,t={},n=0,s=1/0){return(0,u.b)(this,e,t,n,s)}getBoundingBox(e){return e.makeEmpty(),this._roots.forEach((t=>{(0,r.YN)(0,new Float32Array(t),N),e.union(N)})),e}}},6898:(e,t,n)=>{\"use strict\";n.d(t,{i:()=>s});class s{constructor(){}}},5107:(e,t,n)=>{\"use strict\";n.d(t,{v:()=>u});var s=n(8137),i=n(3670),a=n(7791),l=n(6898),r=n(5760),o=n(6653),c=n(9728);function u(e,t){const n=e.geometry;t.indirect&&(e._indirectBuffer=function(e,t){const n=(e.index?e.index.count:e.attributes.position.count)/3,s=n>65536,i=s?4:2,a=t?new SharedArrayBuffer(n*i):new ArrayBuffer(n*i),l=s?new Uint32Array(a):new Uint16Array(a);for(let e=0,t=l.length;e=u&&(y=!0,p&&(console.warn(`MeshBVH: Max depth of ${u} reached when generating BVH. Consider increasing maxDepth.`),console.warn(n))),s<=h||c>=u)return D(t+s),e.offset=t,e.count=s,e;const f=(0,a.X)(e.boundingData,o,T,t,s,d);if(-1===f.axis)return D(t+s),e.offset=t,e.count=s,e;const I=E(m,r,T,t,s,f);if(I===t||I===t+s)D(t+s),e.offset=t,e.count=s;else{e.splitAxis=f.axis;const n=new l.i,a=t,r=I-t;e.left=n,n.boundingData=new Float32Array(6),(0,i.zX)(T,a,r,n.boundingData,w),S(n,a,r,w,c+1);const o=new l.i,u=I,p=s-r;e.right=o,o.boundingData=new Float32Array(6),(0,i.zX)(T,u,p,o.boundingData,w),S(o,u,p,w,c+1)}return e}}(e,t);let p,h,d;const f=[],I=t.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;for(let e=0;eMath.pow(2,32))throw new Error(\"MeshBVH: Cannot store child pointer greater than 32 bits.\");return h[n+6]=l/4,l=y(l,i),h[n+7]=a,l}}}},3670:(e,t,n)=>{\"use strict\";n.d(t,{LR:()=>o,cu:()=>r,zX:()=>l});var s=n(5760),i=n(8317),a=n(8137);function l(e,t,n,s,i=null){let a=1/0,l=1/0,r=1/0,o=-1/0,c=-1/0,u=-1/0,p=1/0,h=1/0,d=1/0,f=-1/0,I=-1/0,m=-1/0;const y=null!==i;for(let s=6*t,i=6*(t+n);so&&(o=v),y&&tf&&(f=t);const w=e[s+2],T=e[s+3],E=w-T,g=w+T;Ec&&(c=g),y&&wI&&(I=w);const R=e[s+4],D=e[s+5],S=R-D,b=R+D;Su&&(u=b),y&&Rm&&(m=R)}s[0]=a,s[1]=l,s[2]=r,s[3]=o,s[4]=c,s[5]=u,y&&(i[0]=p,i[1]=h,i[2]=d,i[3]=f,i[4]=I,i[5]=m)}function r(e,t,n,s){let i=1/0,a=1/0,l=1/0,r=-1/0,o=-1/0,c=-1/0;for(let s=6*t,u=6*(t+n);sr&&(r=t);const n=e[s+2];no&&(o=n);const u=e[s+4];uc&&(c=u)}s[0]=i,s[1]=a,s[2]=l,s[3]=r,s[4]=o,s[5]=c}function o(e,t){(0,i.ay)(t);const n=e.attributes.position,l=e.index?e.index.array:null,r=(0,a.YU)(e),o=new Float32Array(6*r),c=n.normalized,u=n.array,p=n.offset||0;let h=3;n.isInterleavedBufferAttribute&&(h=n.data.stride);const d=[\"getX\",\"getY\",\"getZ\"];for(let e=0;em&&(m=l),p>m&&(m=p);const y=(m-h)/2,v=2*e;o[a+v+0]=h+y,o[a+v+1]=y+(Math.abs(h)+y)*s.VQ,ht[e+3]&&(t[e+3]=m)}}return o}},8137:(e,t,n)=>{\"use strict\";n.d(t,{BB:()=>a,JM:()=>r,Kz:()=>l,YU:()=>i,t3:()=>o});var s=n(9477);function i(e){return function(e){return e.index?e.index.count:e.attributes.position.count}(e)/3}function a(e,t){if(!e.index){const n=e.attributes.position.count,i=function(e,t=ArrayBuffer){return e>65535?new Uint32Array(new t(4*e)):new Uint16Array(new t(2*e))}(n,t.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer);e.setIndex(new s.TlE(i,1));for(let e=0;ee-t));for(let e=0;ee.offset-t.offset)),s=n[n.length-1];s.count=Math.min(t-s.offset,s.count);let a=0;return n.forEach((({count:e})=>a+=e)),t!==a}},6653:(e,t,n)=>{\"use strict\";function s(e,t,n,s,i,a){let l=s,r=s+i-1;const o=a.pos,c=2*a.axis;for(;;){for(;l<=r&&n[6*l+c]=o;)r--;if(!(ls})},9728:(e,t,n)=>{\"use strict\";function s(e,t,n,s,i,a){let l=s,r=s+i-1;const o=a.pos,c=2*a.axis;for(;;){for(;l<=r&&n[6*l+c]=o;)r--;if(!(ls})},7791:(e,t,n)=>{\"use strict\";n.d(t,{X:()=>c});var s=n(8317),i=n(5760);const a=32,l=(e,t)=>e.candidate-t.candidate,r=new Array(a).fill().map((()=>({count:0,bounds:new Float32Array(6),rightCacheBounds:new Float32Array(6),leftCacheBounds:new Float32Array(6),candidate:0}))),o=new Float32Array(6);function c(e,t,n,c,u,p){let h=-1,d=0;if(p===i.dv)h=(0,s._x)(t),-1!==h&&(d=(t[h]+t[h+3])/2);else if(p===i.$V)h=(0,s._x)(e),-1!==h&&(d=function(e,t,n,s){let i=0;for(let a=t,l=t+n;a=l.candidate?(0,s.xT)(i,n,l.rightCacheBounds):((0,s.xT)(i,n,l.leftCacheBounds),l.count++)}}for(let n=0;n=a&&(i=a-1);const l=r[i];l.count++,(0,s.xT)(t,n,l.bounds)}const t=r[a-1];(0,s.js)(t.bounds,t.rightCacheBounds);for(let e=a-2;e>=0;e--){const t=r[e],n=r[e+1];(0,s.Lm)(t.bounds,n.rightCacheBounds,t.rightCacheBounds)}let l=0;for(let t=0;t{\"use strict\";n.d(t,{p:()=>c});var s=n(9477),i=n(5784),a=n(9072);const l=new s.yGw,r=new s.ZzF,o=new s.ZzF;function c(e,t,n,s){let{intersectsRanges:c,intersectsTriangles:u}=s;const p=e.geometry.index,h=e.geometry.attributes.position,d=t.geometry.index,f=t.geometry.attributes.position;l.copy(n).invert();const I=a.g.getPrimitive(),m=a.g.getPrimitive();if(u){const e=(e,t,s,a,l,r,o,c)=>{for(let y=s,v=s+a;yo.intersectsBox(e),intersectsRange:(e,n,s,i,a,o)=>(r.copy(o),r.applyMatrix4(l),t.shapecast({intersectsBounds:e=>r.intersectsBox(e),intersectsRange:(t,s,l,r,o)=>c(e,n,t,s,i,a,r,o)}))});return a.g.releasePrimitive(I),a.g.releasePrimitive(m),y}},3503:(e,t,n)=>{\"use strict\";n.d(t,{h:()=>c});var s=n(9477),i=n(5784),a=n(9072);const l=new s.yGw,r=new s.ZzF,o=new s.ZzF;function c(e,t,n,s){let{intersectsRanges:c,intersectsTriangles:u}=s;const p=e.geometry.index,h=e.geometry.attributes.position,d=t.geometry.index,f=t.geometry.attributes.position;l.copy(n).invert();const I=a.g.getPrimitive(),m=a.g.getPrimitive();if(u){const s=(s,a,l,r,o,c,y,v)=>{for(let w=l,T=l+r;wo.intersectsBox(e),intersectsRange:(e,n,s,i,a,o)=>(r.copy(o),r.applyMatrix4(l),t.shapecast({intersectsBounds:e=>r.intersectsBox(e),intersectsRange:(t,s,l,r,o)=>c(e,n,t,s,i,a,r,o)}))});return a.g.releasePrimitive(I),a.g.releasePrimitive(m),y}},7808:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>I});var s=n(9477),i=n(9401),a=n(5784),l=n(8137),r=n(9072);const o=new s.yGw,c=new i.o,u=new i.o,p=new s.Pa4,h=new s.Pa4,d=new s.Pa4,f=new s.Pa4;function I(e,t,n,s={},i={},I=0,m=1/0){t.boundingBox||t.computeBoundingBox(),c.set(t.boundingBox.min,t.boundingBox.max,n),c.needsUpdate=!0;const y=e.geometry,v=y.attributes.position,w=y.index,T=t.attributes.position,E=t.index,g=r.g.getPrimitive(),R=r.g.getPrimitive();let D=p,S=h,b=null,N=null;i&&(b=d,N=f);let O=1/0,A=null,x=null;return o.copy(n).invert(),u.matrix.copy(o),e.shapecast({boundsTraverseOrder:e=>c.distanceToBox(e),intersectsBounds:(e,t,n)=>n{if(t.boundsTree)return t.boundsTree.shapecast({boundsTraverseOrder:e=>u.distanceToBox(e),intersectsBounds:(e,t,n)=>n{for(let l=t,r=t+i;l{\"use strict\";n.d(t,{r:()=>I});var s=n(9477),i=n(9401),a=n(5784),l=n(8137),r=n(9072);const o=new s.yGw,c=new i.o,u=new i.o,p=new s.Pa4,h=new s.Pa4,d=new s.Pa4,f=new s.Pa4;function I(e,t,n,s={},i={},I=0,m=1/0){t.boundingBox||t.computeBoundingBox(),c.set(t.boundingBox.min,t.boundingBox.max,n),c.needsUpdate=!0;const y=e.geometry,v=y.attributes.position,w=y.index,T=t.attributes.position,E=t.index,g=r.g.getPrimitive(),R=r.g.getPrimitive();let D=p,S=h,b=null,N=null;i&&(b=d,N=f);let O=1/0,A=null,x=null;return o.copy(n).invert(),u.matrix.copy(o),e.shapecast({boundsTraverseOrder:e=>c.distanceToBox(e),intersectsBounds:(e,t,n)=>n{if(t.boundsTree){const l=t.boundsTree;return l.shapecast({boundsTraverseOrder:e=>u.distanceToBox(e),intersectsBounds:(e,t,n)=>n{for(let o=t,c=t+r;o{\"use strict\";n.d(t,{b:()=>l});var s=n(9477);const i=new s.Pa4,a=new s.Pa4;function l(e,t,n={},s=0,l=1/0){const r=s*s,o=l*l;let c=1/0,u=null;if(e.shapecast({boundsTraverseOrder:e=>(i.copy(t).clamp(e.min,e.max),i.distanceToSquared(t)),intersectsBounds:(e,t,n)=>n{e.closestPointToPoint(t,i);const s=t.distanceToSquared(i);return s{\"use strict\";n.d(t,{g:()=>m});var s=n(9477),i=n(9401),a=n(9714),l=n(5784),r=n(8317),o=n(4584),c=n(3125);const u=new s.ZzF,p=new a.h,h=new a.h,d=new s.yGw,f=new i.o,I=new i.o;function m(e,t,n,s){c.BufferStack.setBuffer(e._roots[t]);const i=y(0,e,n,s);return c.BufferStack.clearBuffer(),i}function y(e,t,n,s,i=null){const{float32Array:a,uint16Array:m,uint32Array:v}=c.BufferStack;let w=2*e;if(null===i&&(n.boundingBox||n.computeBoundingBox(),f.set(n.boundingBox.min,n.boundingBox.max,s),i=f),!(0,o.ee)(w,m)){const l=e+8,c=v[e+6];return(0,r.YN)((0,o.V4)(l),a,u),i.intersectsBox(u)&&y(l,t,n,s,i)?!0:((0,r.YN)((0,o.V4)(c),a,u),!(!i.intersectsBox(u)||!y(c,t,n,s,i)))}{const i=t.geometry,c=i.index,u=i.attributes.position,f=n.index,y=n.attributes.position,T=(0,o.ew)(e,v),E=(0,o.ai)(w,m);if(d.copy(s).invert(),n.boundsTree)return(0,r.YN)((0,o.V4)(e),a,I),I.matrix.copy(d),I.needsUpdate=!0,n.boundsTree.shapecast({intersectsBounds:e=>I.intersectsBox(e),intersectsTriangle:e=>{e.a.applyMatrix4(s),e.b.applyMatrix4(s),e.c.applyMatrix4(s),e.needsUpdate=!0;for(let t=3*T,n=3*(E+T);t{\"use strict\";n.d(t,{_:()=>m});var s=n(9477),i=n(9401),a=n(9714),l=n(5784),r=n(8317),o=n(4584),c=n(3125);const u=new s.ZzF,p=new a.h,h=new a.h,d=new s.yGw,f=new i.o,I=new i.o;function m(e,t,n,s){c.BufferStack.setBuffer(e._roots[t]);const i=y(0,e,n,s);return c.BufferStack.clearBuffer(),i}function y(e,t,n,s,i=null){const{float32Array:a,uint16Array:m,uint32Array:v}=c.BufferStack;let w=2*e;if(null===i&&(n.boundingBox||n.computeBoundingBox(),f.set(n.boundingBox.min,n.boundingBox.max,s),i=f),!(0,o.ee)(w,m)){const l=e+8,c=v[e+6];return(0,r.YN)((0,o.V4)(l),a,u),i.intersectsBox(u)&&y(l,t,n,s,i)?!0:((0,r.YN)((0,o.V4)(c),a,u),!(!i.intersectsBox(u)||!y(c,t,n,s,i)))}{const i=t.geometry,c=i.index,u=i.attributes.position,f=n.index,y=n.attributes.position,T=(0,o.ew)(e,v),E=(0,o.ai)(w,m);if(d.copy(s).invert(),n.boundsTree)return(0,r.YN)((0,o.V4)(e),a,I),I.matrix.copy(d),I.needsUpdate=!0,n.boundsTree.shapecast({intersectsBounds:e=>I.intersectsBox(e),intersectsTriangle:e=>{e.a.applyMatrix4(s),e.b.applyMatrix4(s),e.c.applyMatrix4(s),e.needsUpdate=!0;for(let n=T,s=E+T;n{\"use strict\";n.d(t,{s:()=>c});var s=n(9477),i=n(7901),a=n(4584),l=n(3125),r=n(575);const o=new s.Pa4;function c(e,t,n,s,i){l.BufferStack.setBuffer(e._roots[t]),u(0,e,n,s,i),l.BufferStack.clearBuffer()}function u(e,t,n,s,c){const{float32Array:p,uint16Array:h,uint32Array:d}=l.BufferStack,f=2*e;if((0,a.ee)(f,h)){const i=(0,a.ew)(e,d),l=(0,a.ai)(f,h);(0,r.U$)(t,n,s,i,l,c)}else{const l=(0,a.lB)(e);(0,i.B)(l,p,s,o)&&u(l,t,n,s,c);const r=(0,a.J8)(e,d);(0,i.B)(r,p,s,o)&&u(r,t,n,s,c)}}},9472:(e,t,n)=>{\"use strict\";n.d(t,{P:()=>u});var s=n(9477),i=n(4584),a=n(3125),l=n(7901),r=n(575);const o=new s.Pa4,c=[\"x\",\"y\",\"z\"];function u(e,t,n,s){a.BufferStack.setBuffer(e._roots[t]);const i=p(0,e,n,s);return a.BufferStack.clearBuffer(),i}function p(e,t,n,s){const{float32Array:u,uint16Array:h,uint32Array:d}=a.BufferStack;let f=2*e;if((0,i.ee)(f,h)){const a=(0,i.ew)(e,d),l=(0,i.ai)(f,h);return(0,r.rM)(t,n,s,a,l)}{const a=(0,i.ki)(e,d),r=c[a],h=s.direction[r]>=0;let f,I;h?(f=(0,i.lB)(e),I=(0,i.J8)(e,d)):(f=(0,i.J8)(e,d),I=(0,i.lB)(e));const m=(0,l.B)(f,u,s,o)?p(f,t,n,s):null;if(m){const e=m.point[r];if(h?e<=u[I+a]:e>=u[I+a+3])return m}const y=(0,l.B)(I,u,s,o)?p(I,t,n,s):null;return m&&y?m.distance<=y.distance?m:y:m||y||null}}},6657:(e,t,n)=>{\"use strict\";n.d(t,{P:()=>u});var s=n(9477),i=n(4584),a=n(3125),l=n(7901),r=n(7569);const o=new s.Pa4,c=[\"x\",\"y\",\"z\"];function u(e,t,n,s){a.BufferStack.setBuffer(e._roots[t]);const i=p(0,e,n,s);return a.BufferStack.clearBuffer(),i}function p(e,t,n,s){const{float32Array:u,uint16Array:h,uint32Array:d}=a.BufferStack;let f=2*e;if((0,i.ee)(f,h)){const a=(0,i.ew)(e,d),l=(0,i.ai)(f,h);return(0,r.qx)(t,n,s,a,l)}{const a=(0,i.ki)(e,d),r=c[a],h=s.direction[r]>=0;let f,I;h?(f=(0,i.lB)(e),I=(0,i.J8)(e,d)):(f=(0,i.J8)(e,d),I=(0,i.lB)(e));const m=(0,l.B)(f,u,s,o)?p(f,t,n,s):null;if(m){const e=m.point[r];if(h?e<=u[I+a]:e>=u[I+a+3])return m}const y=(0,l.B)(I,u,s,o)?p(I,t,n,s):null;return m&&y?m.distance<=y.distance?m:y:m||y||null}}},5544:(e,t,n)=>{\"use strict\";n.d(t,{X:()=>c});var s=n(9477),i=n(7901),a=n(4584),l=n(3125),r=n(7569);const o=new s.Pa4;function c(e,t,n,s,i){l.BufferStack.setBuffer(e._roots[t]),u(0,e,n,s,i),l.BufferStack.clearBuffer()}function u(e,t,n,s,c){const{float32Array:p,uint16Array:h,uint32Array:d}=l.BufferStack,f=2*e;if((0,a.ee)(f,h)){const i=(0,a.ew)(e,d),l=(0,a.ai)(f,h);(0,r.Rf)(t,n,s,i,l,c)}else{const l=(0,a.lB)(e);(0,i.B)(l,p,s,o)&&u(l,t,n,s,c);const r=(0,a.J8)(e,d);(0,i.B)(r,p,s,o)&&u(r,t,n,s,c)}}},1173:(e,t,n)=>{\"use strict\";n.d(t,{C:()=>i});var s=n(5760);function i(e,t=null){t&&Array.isArray(t)&&(t=new Set(t));const n=e.geometry,i=n.index?n.index.array:null,a=n.attributes.position;let l,r,o,c,u=0;const p=e._roots;for(let e=0,t=p.length;ep&&(p=r),oh&&(h=o),cd&&(d=c)}return(c[e+0]!==n||c[e+1]!==s||c[e+2]!==l||c[e+3]!==p||c[e+4]!==h||c[e+5]!==d)&&(c[e+0]=n,c[e+1]=s,c[e+2]=l,c[e+3]=p,c[e+4]=h,c[e+5]=d,!0)}{const s=e+8,i=r[e+6],a=s+n,o=i+n;let u=l,p=!1,d=!1;t?u||(p=t.has(a),d=t.has(o),u=!p&&!d):(p=!0,d=!0);const f=u||d;let I=!1;(u||p)&&(I=h(s,n,u));let m=!1;f&&(m=h(i,n,u));const y=I||m;if(y)for(let t=0;t<3;t++){const n=s+t,a=i+t,l=c[n],r=c[n+3],o=c[a],u=c[a+3];c[e+t]=lu?r:u}return y}}}},8217:(e,t,n)=>{\"use strict\";n.d(t,{o:()=>i});var s=n(5760);function i(e,t=null){t&&Array.isArray(t)&&(t=new Set(t));const n=e.geometry,i=n.index?n.index.array:null,a=n.attributes.position;let l,r,o,c,u=0;const p=e._roots;for(let e=0,t=p.length;eh&&(h=r),od&&(d=o),cf&&(f=c)}}return(c[n+0]!==s||c[n+1]!==l||c[n+2]!==u||c[n+3]!==h||c[n+4]!==d||c[n+5]!==f)&&(c[n+0]=s,c[n+1]=l,c[n+2]=u,c[n+3]=h,c[n+4]=d,c[n+5]=f,!0)}{const e=n+8,s=r[n+6],i=e+l,a=s+l;let o=u,p=!1,d=!1;t?o||(p=t.has(i),d=t.has(a),o=!p&&!d):(p=!0,d=!0);const f=o||d;let I=!1;(o||p)&&(I=h(e,l,o));let m=!1;f&&(m=h(s,l,o));const y=I||m;if(y)for(let t=0;t<3;t++){const i=e+t,a=s+t,l=c[i],r=c[i+3],o=c[a],u=c[a+3];c[n+t]=lu?r:u}return y}}}},6148:(e,t,n)=>{\"use strict\";n.d(t,{a:()=>d});var s=n(9477),i=n(5760),a=n(8317),l=n(3195),r=n(4584),o=n(3125);let c,u;const p=[],h=new l.P((()=>new s.ZzF));function d(e,t,n,s,i,a){c=h.getPrimitive(),u=h.getPrimitive(),p.push(c,u),o.BufferStack.setBuffer(e._roots[t]);const l=f(0,e.geometry,n,s,i,a);o.BufferStack.clearBuffer(),h.releasePrimitive(c),h.releasePrimitive(u),p.pop(),p.pop();const r=p.length;return r>0&&(u=p[r-1],c=p[r-2]),l}function f(e,t,n,s,l=null,p=0,h=0){const{float32Array:d,uint16Array:I,uint32Array:m}=o.BufferStack;let y=2*e;if((0,r.ee)(y,I)){const v=(0,r.ew)(e,m),w=(0,r.ai)(y,I);return(0,a.YN)((0,r.V4)(e),d,c),s(v,w,!1,h,p+e,c)}{const T=(0,r.lB)(e),E=(0,r.J8)(e,m);let g,R,D,S,b=T,N=E;if(l&&(D=c,S=u,(0,a.YN)((0,r.V4)(b),d,D),(0,a.YN)((0,r.V4)(N),d,S),g=l(D),R=l(S),R{\"use strict\";n.d(t,{BufferStack:()=>s});const s=new class{constructor(){this.float32Array=null,this.uint16Array=null,this.uint32Array=null;const e=[];let t=null;this.setBuffer=n=>{t&&e.push(t),t=n,this.float32Array=new Float32Array(n),this.uint16Array=new Uint16Array(n),this.uint32Array=new Uint32Array(n)},this.clearBuffer=()=>{t=null,this.float32Array=null,this.uint16Array=null,this.uint32Array=null,0!==e.length&&this.setBuffer(e.pop())}}}},7901:(e,t,n)=>{\"use strict\";n.d(t,{B:()=>l});var s=n(9477),i=n(8317);const a=new s.ZzF;function l(e,t,n,s){return(0,i.YN)(e,t,a),n.intersectBox(a,s)}},575:(e,t,n)=>{\"use strict\";n.d(t,{TD:()=>r,U$:()=>a,rM:()=>l});var s=n(4997),i=n(5784);function a(e,t,n,i,a,l){const{geometry:r,_indirectBuffer:o}=e;for(let e=i,o=i+a;e{\"use strict\";n.d(t,{Rf:()=>a,XO:()=>r,qx:()=>l});var s=n(4997),i=n(5784);function a(e,t,n,i,a,l){const{geometry:r,_indirectBuffer:o}=e;for(let e=i,c=i+a;e{\"use strict\";function s(e,t){return 65535===t[e+15]}function i(e,t){return t[e+6]}function a(e,t){return t[e+14]}function l(e){return e+8}function r(e,t){return t[e+6]}function o(e,t){return t[e+7]}function c(e){return e}n.d(t,{J8:()=>r,V4:()=>c,ai:()=>a,ee:()=>s,ew:()=>i,ki:()=>o,lB:()=>l})},9714:(e,t,n)=>{\"use strict\";n.d(t,{h:()=>r});var s=n(9477),i=n(8131),a=n(4928);function l(e){return Math.abs(e)<1e-15}class r extends s.CJI{constructor(...e){super(...e),this.isExtendedTriangle=!0,this.satAxes=new Array(4).fill().map((()=>new s.Pa4)),this.satBounds=new Array(4).fill().map((()=>new i.B)),this.points=[this.a,this.b,this.c],this.sphere=new s.aLr,this.plane=new s.JOQ,this.needsUpdate=!0}intersectsSphere(e){return(0,a.s_)(e,this)}update(){const e=this.a,t=this.b,n=this.c,s=this.points,i=this.satAxes,a=this.satBounds,l=i[0],r=a[0];this.getNormal(l),r.setFromPoints(l,s);const o=i[1],c=a[1];o.subVectors(e,t),c.setFromPoints(o,s);const u=i[2],p=a[2];u.subVectors(t,n),p.setFromPoints(u,s);const h=i[3],d=a[3];h.subVectors(n,e),d.setFromPoints(h,s),this.sphere.setFromPoints(this.points),this.plane.setFromNormalAndCoplanarPoint(l,e),this.needsUpdate=!1}}r.prototype.closestPointToSegment=function(){const e=new s.Pa4,t=new s.Pa4,n=new s.Zzh;return function(s,i=null,l=null){const{start:r,end:o}=s,c=this.points;let u,p=1/0;for(let r=0;r<3;r++){const o=(r+1)%3;n.start.copy(c[r]),n.end.copy(c[o]),(0,a.UX)(n,s,e,t),u=e.distanceToSquared(t),u=2){(1===a?n.start:n.end).copy(y),i=2;break}if(i++,2===i&&-1===a)break}}return i}return function(s,i=null,l=!1){this.needsUpdate&&this.update(),s.isExtendedTriangle?s.needsUpdate&&s.update():(e.copy(s),e.update(),s=e);const r=this.plane,u=s.plane;if(Math.abs(r.normal.dot(u.normal))>1-1e-10){const e=this.satBounds,r=this.satAxes;n[0]=s.a,n[1]=s.b,n[2]=s.c;for(let t=0;t<4;t++){const s=e[t],i=r[t];if(a.setFromPoints(i,n),s.isSeparated(a))return!1}const u=s.satBounds,p=s.satAxes;t[0]=this.a,t[1]=this.b,t[2]=this.c;for(let e=0;e<4;e++){const n=u[e],s=p[e];if(a.setFromPoints(s,t),n.isSeparated(a))return!1}for(let e=0;e<4;e++){const s=r[e];for(let e=0;e<4;e++){const i=p[e];if(c.crossVectors(s,i),a.setFromPoints(c,t),o.setFromPoints(c,n),a.isSeparated(o))return!1}}return i&&(l||console.warn(\"ExtendedTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0.\"),i.start.set(0,0,0),i.end.set(0,0,0)),!0}{const e=v(this,u,I);if(1===e&&s.containsPoint(I.end))return i&&(i.start.copy(I.end),i.end.copy(I.end)),!0;if(2!==e)return!1;const t=v(s,r,m);if(1===t&&this.containsPoint(m.end))return i&&(i.start.copy(m.end),i.end.copy(m.end)),!0;if(2!==t)return!1;if(I.delta(p),m.delta(h),p.dot(h)<0){let e=m.start;m.start=m.end,m.end=e}const n=I.start.dot(p),a=I.end.dot(p),l=m.start.dot(p),o=m.end.dot(p);return(n===o||l===a||a0?i.start.copy(I.start):i.start.copy(m.start),d.subVectors(I.end,m.end),d.dot(p)<0?i.end.copy(I.end):i.end.copy(m.end)),!0)}}}(),r.prototype.distanceToPoint=function(){const e=new s.Pa4;return function(t){return this.closestPointToPoint(t,e),t.distanceTo(e)}}(),r.prototype.distanceToTriangle=function(){const e=new s.Pa4,t=new s.Pa4,n=[\"a\",\"b\",\"c\"],i=new s.Zzh,l=new s.Zzh;return function(s,r=null,o=null){const c=r||o?i:null;if(this.intersectsTriangle(s,c))return(r||o)&&(r&&c.getCenter(r),o&&c.getCenter(o)),0;let u=1/0;for(let t=0;t<3;t++){let i;const a=n[t],l=s[a];this.closestPointToPoint(l,e),i=l.distanceToSquared(e),i{\"use strict\";n.d(t,{UX:()=>a,s_:()=>l});var s=n(9477);const i=function(){const e=new s.Pa4,t=new s.Pa4,n=new s.Pa4;return function(s,i,a){const l=s.start,r=e,o=i.start,c=t;n.subVectors(l,o),e.subVectors(s.end,s.start),t.subVectors(i.end,i.start);const u=n.dot(c),p=c.dot(r),h=c.dot(c),d=n.dot(r),f=r.dot(r)*h-p*p;let I,m;I=0!==f?(u*p-d*h)/f:0,m=(u+I*p)/h,a.x=I,a.y=m}}(),a=function(){const e=new s.FM8,t=new s.Pa4,n=new s.Pa4;return function(s,a,l,r){i(s,a,e);let o=e.x,c=e.y;if(o>=0&&o<=1&&c>=0&&c<=1)return s.at(o,l),void a.at(c,r);if(o>=0&&o<=1)return c<0?a.at(0,r):a.at(1,r),void s.closestPointToPoint(r,!0,l);if(c>=0&&c<=1)return o<0?s.at(0,l):s.at(1,l),void a.closestPointToPoint(l,!0,r);{let e,i;e=o<0?s.start:s.end,i=c<0?a.start:a.end;const u=t,p=n;return s.closestPointToPoint(i,!0,t),a.closestPointToPoint(e,!0,n),u.distanceToSquared(i)<=p.distanceToSquared(e)?(l.copy(u),void r.copy(i)):(l.copy(e),void r.copy(p))}}}(),l=function(){const e=new s.Pa4,t=new s.Pa4,n=new s.JOQ,i=new s.Zzh;return function(s,a){const{radius:l,center:r}=s,{a:o,b:c,c:u}=a;if(i.start=o,i.end=c,i.closestPointToPoint(r,!0,e).distanceTo(r)<=l)return!0;if(i.start=o,i.end=u,i.closestPointToPoint(r,!0,e).distanceTo(r)<=l)return!0;if(i.start=c,i.end=u,i.closestPointToPoint(r,!0,e).distanceTo(r)<=l)return!0;const p=a.getPlane(n);if(Math.abs(p.distanceToPoint(r))<=l){const e=p.projectPoint(r,t);if(a.containsPoint(e))return!0}return!1}}()},9401:(e,t,n)=>{\"use strict\";n.d(t,{o:()=>r});var s=n(9477),i=n(8131),a=n(9714),l=n(4928);class r{constructor(e,t,n){this.isOrientedBox=!0,this.min=new s.Pa4,this.max=new s.Pa4,this.matrix=new s.yGw,this.invMatrix=new s.yGw,this.points=new Array(8).fill().map((()=>new s.Pa4)),this.satAxes=new Array(3).fill().map((()=>new s.Pa4)),this.satBounds=new Array(3).fill().map((()=>new i.B)),this.alignedSatBounds=new Array(3).fill().map((()=>new i.B)),this.needsUpdate=!1,e&&this.min.copy(e),t&&this.max.copy(t),n&&this.matrix.copy(n)}set(e,t,n){this.min.copy(e),this.max.copy(t),this.matrix.copy(n),this.needsUpdate=!0}copy(e){this.min.copy(e.min),this.max.copy(e.max),this.matrix.copy(e.matrix),this.needsUpdate=!0}}r.prototype.update=function(){const e=this.matrix,t=this.min,n=this.max,s=this.points;for(let i=0;i<=1;i++)for(let a=0;a<=1;a++)for(let l=0;l<=1;l++){const r=s[1*i|2*a|4*l];r.x=i?n.x:t.x,r.y=a?n.y:t.y,r.z=l?n.z:t.z,r.applyMatrix4(e)}const i=this.satBounds,a=this.satAxes,l=s[0];for(let e=0;e<3;e++){const t=a[e],n=i[e],r=s[1<new s.Zzh)),n=new Array(12).fill().map((()=>new s.Zzh)),i=new s.Pa4,a=new s.Pa4;return function(s,r=0,o=null,c=null){if(this.needsUpdate&&this.update(),this.intersectsBox(s))return(o||c)&&(s.getCenter(a),this.closestPointToPoint(a,i),s.closestPointToPoint(i,a),o&&o.copy(i),c&&c.copy(a)),0;const u=r*r,p=s.min,h=s.max,d=this.points;let f=1/0;for(let e=0;e<8;e++){const t=d[e];a.copy(t).clamp(p,h);const n=t.distanceToSquared(a);if(n{\"use strict\";n.d(t,{B:()=>i});var s=n(9477);class i{constructor(){this.min=1/0,this.max=-1/0}setFromPointsField(e,t){let n=1/0,s=-1/0;for(let i=0,a=e.length;is?a:s}this.min=n,this.max=s}setFromPoints(e,t){let n=1/0,s=-1/0;for(let i=0,a=t.length;is?l:s}this.min=n,this.max=s}isSeparated(e){return this.min>e.max||e.min>this.max}}i.prototype.setFromBox=function(){const e=new s.Pa4;return function(t,n){const s=n.min,i=n.max;let a=1/0,l=-1/0;for(let n=0;n<=1;n++)for(let r=0;r<=1;r++)for(let o=0;o<=1;o++){e.x=s.x*n+i.x*(1-n),e.y=s.y*r+i.y*(1-r),e.z=s.z*o+i.z*(1-o);const c=t.dot(e);a=Math.min(c,a),l=Math.max(c,l)}this.min=a,this.max=l}}(),new i},8317:(e,t,n)=>{\"use strict\";function s(e,t,n){return n.min.x=t[e],n.min.y=t[e+1],n.min.z=t[e+2],n.max.x=t[e+3],n.max.y=t[e+4],n.max.z=t[e+5],n}function i(e){e[0]=e[1]=e[2]=1/0,e[3]=e[4]=e[5]=-1/0}function a(e){let t=-1,n=-1/0;for(let s=0;s<3;s++){const i=e[s+3]-e[s];i>n&&(n=i,t=s)}return t}function l(e,t){t.set(e)}function r(e,t,n){let s,i;for(let a=0;a<3;a++){const l=a+3;s=e[a],i=t[a],n[a]=si?s:i}}function o(e,t,n){for(let s=0;s<3;s++){const i=t[e+2*s],a=t[e+2*s+1],l=i-a,r=i+a;ln[s+3]&&(n[s+3]=r)}}function c(e){const t=e[3]-e[0],n=e[4]-e[1],s=e[5]-e[2];return 2*(t*n+n*s+s*t)}n.d(t,{Lm:()=>r,Ok:()=>c,YN:()=>s,_x:()=>a,ay:()=>i,js:()=>l,xT:()=>o})},9772:(e,t,n)=>{\"use strict\";function s(){return\"undefined\"!=typeof SharedArrayBuffer}n.d(t,{Y:()=>s})},9072:(e,t,n)=>{\"use strict\";n.d(t,{g:()=>l});var s=n(9714),i=n(3195);class a extends i.P{constructor(){super((()=>new s.h))}}const l=new a},3320:(e,t,n)=>{\"use strict\";n.d(t,{Xy:()=>u,sn:()=>p,uL:()=>c});var s=n(9477),i=n(5192),a=n(6156);const l=new s.zHn,r=new s.yGw,o=s.Kj0.prototype.raycast;function c(e,t){if(this.geometry.boundsTree){if(void 0===this.material)return;r.copy(this.matrixWorld).invert(),l.copy(e.ray).applyMatrix4(r);const n=this.geometry.boundsTree;if(!0===e.firstHitOnly){const s=(0,i.O)(n.raycastFirst(l,this.material),this,e);s&&t.push(s)}else{const s=n.raycast(l,this.material);for(let n=0,a=s.length;n{\"use strict\";function s(e,t,n){return null===e?null:(e.point.applyMatrix4(t.matrixWorld),e.distance=e.point.distanceTo(n.ray.origin),e.object=t,e.distancen.far?null:e)}n.d(t,{O:()=>s})},3195:(e,t,n)=>{\"use strict\";n.d(t,{P:()=>s});class s{constructor(e){this._getNewPrimitive=e,this._primitives=[]}getPrimitive(){const e=this._primitives;return 0===e.length?this._getNewPrimitive():e.pop()}releasePrimitive(e){this._primitives.push(e)}}},4997:(e,t,n)=>{\"use strict\";n.d(t,{b:()=>f});var s=n(9477);const i=new s.Pa4,a=new s.Pa4,l=new s.Pa4,r=new s.FM8,o=new s.FM8,c=new s.FM8,u=new s.Pa4,p=new s.Pa4,h=new s.Pa4,d=new s.Pa4;function f(e,t,n,f,I){const m=3*f;let y=m+0,v=m+1,w=m+2;const T=e.index;e.index&&(y=T.getX(y),v=T.getX(v),w=T.getX(w));const{position:E,normal:g,uv:R,uv1:D}=e.attributes,S=function(e,t,n,f,I,m,y,v,w){i.fromBufferAttribute(t,m),a.fromBufferAttribute(t,y),l.fromBufferAttribute(t,v);const T=function(e,t,n,i,a,l){let r;return r=l===s._Li?e.intersectTriangle(i,n,t,!0,a):e.intersectTriangle(t,n,i,l!==s.ehD,a),null===r?null:{distance:e.origin.distanceTo(a),point:a.clone()}}(e,i,a,l,d,w);if(T){f&&(r.fromBufferAttribute(f,m),o.fromBufferAttribute(f,y),c.fromBufferAttribute(f,v),T.uv=s.CJI.getInterpolation(d,i,a,l,r,o,c,new s.FM8)),I&&(r.fromBufferAttribute(I,m),o.fromBufferAttribute(I,y),c.fromBufferAttribute(I,v),T.uv1=s.CJI.getInterpolation(d,i,a,l,r,o,c,new s.FM8)),n&&(u.fromBufferAttribute(n,m),p.fromBufferAttribute(n,y),h.fromBufferAttribute(n,v),T.normal=s.CJI.getInterpolation(d,i,a,l,u,p,h,new s.Pa4),T.normal.dot(e.direction)>0&&T.normal.multiplyScalar(-1));const t={a:m,b:y,c:v,normal:new s.Pa4,materialIndex:0};s.CJI.getNormal(i,a,l,t.normal),T.face=t,T.faceIndex=m}return T}(n,E,g,R,D,y,v,w,t);return S?(S.faceIndex=f,I&&I.push(S),S):null}},5784:(e,t,n)=>{\"use strict\";function s(e,t,n,s){const i=e.a,a=e.b,l=e.c;let r=t,o=t+1,c=t+2;n&&(r=n.getX(r),o=n.getX(o),c=n.getX(c)),i.x=s.getX(r),i.y=s.getY(r),i.z=s.getZ(r),a.x=s.getX(o),a.y=s.getY(o),a.z=s.getZ(o),l.x=s.getX(c),l.y=s.getY(c),l.z=s.getZ(c)}n.d(t,{k:()=>s}),n(9477)},9477:(e,t,n)=>{\"use strict\";n.d(t,{$V:()=>to,$YQ:()=>za,CJI:()=>cn,CP7:()=>Xa,DvJ:()=>Jn,FM8:()=>Te,IEO:()=>Za,Ilk:()=>mn,JOQ:()=>ds,JQ4:()=>q,Kj0:()=>Zn,Ltg:()=>Ve,M8C:()=>we,Mig:()=>Vr,O7d:()=>hr,Ox3:()=>Gr,Pa4:()=>Ke,RsA:()=>i,SPe:()=>al,SUY:()=>jr,TOt:()=>Hl,T_1:()=>lo,TlE:()=>En,TyD:()=>O,Vj0:()=>gs,VzW:()=>_,Wl3:()=>o,YBo:()=>Ir,ZzF:()=>Je,Zzh:()=>io,_Li:()=>c,_fP:()=>Xe,a$l:()=>Dn,aCh:()=>Q,aLr:()=>mt,aNw:()=>Cr,cLu:()=>M,cPb:()=>as,dd2:()=>ze,ehD:()=>u,ejS:()=>Il,hEm:()=>G,hH6:()=>qr,iKG:()=>xs,iMs:()=>Jr,jFi:()=>p,jyz:()=>ss,kFz:()=>Ye,o8S:()=>fr,qkB:()=>U,rBU:()=>Es,rDY:()=>ns,rpg:()=>S,u9r:()=>Ln,uL9:()=>m,vBJ:()=>vn,wem:()=>x,wk1:()=>B,xsS:()=>Ka,y8_:()=>ao,yGw:()=>St,zHn:()=>Dt});const s=\"156\",i={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},a=1,l=2,r=3,o=0,c=1,u=2,p=0,h=100,d=0,f=1,I=2,m=0,y=1,v=2,w=3,T=4,E=5,g=301,R=302,D=306,S=1e3,b=1001,N=1002,O=1003,A=1005,x=1006,C=1008,L=1009,P=1012,q=1014,_=1015,M=1016,H=1020,B=1023,U=1026,F=1027,G=1028,V=33776,j=33777,z=33778,W=33779,k=36492,Y=2300,X=2301,K=2302,Z=3001,Q=\"\",J=\"srgb\",$=\"srgb-linear\",ee=\"display-p3\",te=7680,ne=\"300 es\",se=1035,ie=2e3,ae=2001;class le{addEventListener(e,t){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[e]&&(n[e]=[]),-1===n[e].indexOf(t)&&n[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return!1;const n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;const n=this._listeners[e];if(void 0!==n){const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;const t=this._listeners[e.type];if(void 0!==t){e.target=this;const n=t.slice(0);for(let t=0,s=n.length;t>8&255]+re[e>>16&255]+re[e>>24&255]+\"-\"+re[255&t]+re[t>>8&255]+\"-\"+re[t>>16&15|64]+re[t>>24&255]+\"-\"+re[63&n|128]+re[n>>8&255]+\"-\"+re[n>>16&255]+re[n>>24&255]+re[255&s]+re[s>>8&255]+re[s>>16&255]+re[s>>24&255]).toLowerCase()}function he(e,t,n){return Math.max(t,Math.min(n,e))}function de(e,t){return(e%t+t)%t}function fe(e,t,n){return(1-n)*e+n*t}function Ie(e){return 0==(e&e-1)&&0!==e}function me(e){return Math.pow(2,Math.floor(Math.log(e)/Math.LN2))}function ye(e,t){switch(t.constructor){case Float32Array:return e;case Uint32Array:return e/4294967295;case Uint16Array:return e/65535;case Uint8Array:return e/255;case Int32Array:return Math.max(e/2147483647,-1);case Int16Array:return Math.max(e/32767,-1);case Int8Array:return Math.max(e/127,-1);default:throw new Error(\"Invalid component type.\")}}function ve(e,t){switch(t.constructor){case Float32Array:return e;case Uint32Array:return Math.round(4294967295*e);case Uint16Array:return Math.round(65535*e);case Uint8Array:return Math.round(255*e);case Int32Array:return Math.round(2147483647*e);case Int16Array:return Math.round(32767*e);case Int8Array:return Math.round(127*e);default:throw new Error(\"Invalid component type.\")}}const we={DEG2RAD:ce,RAD2DEG:ue,generateUUID:pe,clamp:he,euclideanModulo:de,mapLinear:function(e,t,n,s,i){return s+(e-t)*(i-s)/(n-t)},inverseLerp:function(e,t,n){return e!==t?(n-e)/(t-e):0},lerp:fe,damp:function(e,t,n,s){return fe(e,t,1-Math.exp(-n*s))},pingpong:function(e,t=1){return t-Math.abs(de(e,2*t)-t)},smoothstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*(3-2*e)},smootherstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*e*(e*(6*e-15)+10)},randInt:function(e,t){return e+Math.floor(Math.random()*(t-e+1))},randFloat:function(e,t){return e+Math.random()*(t-e)},randFloatSpread:function(e){return e*(.5-Math.random())},seededRandom:function(e){void 0!==e&&(oe=e);let t=oe+=1831565813;return t=Math.imul(t^t>>>15,1|t),t^=t+Math.imul(t^t>>>7,61|t),((t^t>>>14)>>>0)/4294967296},degToRad:function(e){return e*ce},radToDeg:function(e){return e*ue},isPowerOfTwo:Ie,ceilPowerOfTwo:function(e){return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))},floorPowerOfTwo:me,setQuaternionFromProperEuler:function(e,t,n,s,i){const a=Math.cos,l=Math.sin,r=a(n/2),o=l(n/2),c=a((t+s)/2),u=l((t+s)/2),p=a((t-s)/2),h=l((t-s)/2),d=a((s-t)/2),f=l((s-t)/2);switch(i){case\"XYX\":e.set(r*u,o*p,o*h,r*c);break;case\"YZY\":e.set(o*h,r*u,o*p,r*c);break;case\"ZXZ\":e.set(o*p,o*h,r*u,r*c);break;case\"XZX\":e.set(r*u,o*f,o*d,r*c);break;case\"YXY\":e.set(o*d,r*u,o*f,r*c);break;case\"ZYZ\":e.set(o*f,o*d,r*u,r*c);break;default:console.warn(\"THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: \"+i)}},normalize:ve,denormalize:ye};class Te{constructor(e=0,t=0){Te.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,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,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;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,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,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,t){return this.x=e.x-t.x,this.y=e.y-t.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){const t=this.x,n=this.y,s=e.elements;return this.x=s[0]*t+s[3]*n+s[6],this.y=s[1]*t+s[4]*n+s[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,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(he(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const n=Math.cos(t),s=Math.sin(t),i=this.x-e.x,a=this.y-e.y;return this.x=i*n-a*s+e.x,this.y=i*s+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Ee{constructor(e,t,n,s,i,a,l,r,o){Ee.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],void 0!==e&&this.set(e,t,n,s,i,a,l,r,o)}set(e,t,n,s,i,a,l,r,o){const c=this.elements;return c[0]=e,c[1]=s,c[2]=l,c[3]=t,c[4]=i,c[5]=r,c[6]=n,c[7]=a,c[8]=o,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,s=t.elements,i=this.elements,a=n[0],l=n[3],r=n[6],o=n[1],c=n[4],u=n[7],p=n[2],h=n[5],d=n[8],f=s[0],I=s[3],m=s[6],y=s[1],v=s[4],w=s[7],T=s[2],E=s[5],g=s[8];return i[0]=a*f+l*y+r*T,i[3]=a*I+l*v+r*E,i[6]=a*m+l*w+r*g,i[1]=o*f+c*y+u*T,i[4]=o*I+c*v+u*E,i[7]=o*m+c*w+u*g,i[2]=p*f+h*y+d*T,i[5]=p*I+h*v+d*E,i[8]=p*m+h*w+d*g,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[1],s=e[2],i=e[3],a=e[4],l=e[5],r=e[6],o=e[7],c=e[8];return t*a*c-t*l*o-n*i*c+n*l*r+s*i*o-s*a*r}invert(){const e=this.elements,t=e[0],n=e[1],s=e[2],i=e[3],a=e[4],l=e[5],r=e[6],o=e[7],c=e[8],u=c*a-l*o,p=l*r-c*i,h=o*i-a*r,d=t*u+n*p+s*h;if(0===d)return this.set(0,0,0,0,0,0,0,0,0);const f=1/d;return e[0]=u*f,e[1]=(s*o-c*n)*f,e[2]=(l*n-s*a)*f,e[3]=p*f,e[4]=(c*t-s*r)*f,e[5]=(s*i-l*t)*f,e[6]=h*f,e[7]=(n*r-o*t)*f,e[8]=(a*t-n*i)*f,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,s,i,a,l){const r=Math.cos(i),o=Math.sin(i);return this.set(n*r,n*o,-n*(r*a+o*l)+a+e,-s*o,s*r,-s*(-o*a+r*l)+l+t,0,0,1),this}scale(e,t){return this.premultiply(ge.makeScale(e,t)),this}rotate(e){return this.premultiply(ge.makeRotation(-e)),this}translate(e,t){return this.premultiply(ge.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,n=e.elements;for(let e=0;e<9;e++)if(t[e]!==n[e])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return(new this.constructor).fromArray(this.elements)}}const ge=new Ee;function Re(e){for(let t=e.length-1;t>=0;--t)if(e[t]>=65535)return!0;return!1}function De(e){return document.createElementNS(\"http://www.w3.org/1999/xhtml\",e)}function Se(){const e=De(\"canvas\");return e.style.display=\"block\",e}Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array;const be={};function Ne(e){e in be||(be[e]=!0,console.warn(e))}function Oe(e){return e<.04045?.0773993808*e:Math.pow(.9478672986*e+.0521327014,2.4)}function Ae(e){return e<.0031308?12.92*e:1.055*Math.pow(e,.41666)-.055}const xe=(new Ee).fromArray([.8224621,.0331941,.0170827,.177538,.9668058,.0723974,-1e-7,1e-7,.9105199]),Ce=(new Ee).fromArray([1.2249401,-.0420569,-.0196376,-.2249404,1.0420571,-.0786361,1e-7,0,1.0982735]),Le={[$]:e=>e,[J]:e=>e.convertSRGBToLinear(),[ee]:function(e){return e.convertSRGBToLinear().applyMatrix3(Ce)}},Pe={[$]:e=>e,[J]:e=>e.convertLinearToSRGB(),[ee]:function(e){return e.applyMatrix3(xe).convertLinearToSRGB()}},qe={enabled:!0,get legacyMode(){return console.warn(\"THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150.\"),!this.enabled},set legacyMode(e){console.warn(\"THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150.\"),this.enabled=!e},get workingColorSpace(){return $},set workingColorSpace(e){console.warn(\"THREE.ColorManagement: .workingColorSpace is readonly.\")},convert:function(e,t,n){if(!1===this.enabled||t===n||!t||!n)return e;const s=Le[t],i=Pe[n];if(void 0===s||void 0===i)throw new Error(`Unsupported color space conversion, \"${t}\" to \"${n}\".`);return i(s(e))},fromWorkingColorSpace:function(e,t){return this.convert(e,this.workingColorSpace,t)},toWorkingColorSpace:function(e,t){return this.convert(e,t,this.workingColorSpace)}};let _e;class Me{static getDataURL(e){if(/^data:/i.test(e.src))return e.src;if(\"undefined\"==typeof HTMLCanvasElement)return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{void 0===_e&&(_e=De(\"canvas\")),_e.width=e.width,_e.height=e.height;const n=_e.getContext(\"2d\");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=_e}return t.width>2048||t.height>2048?(console.warn(\"THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons\",e),t.toDataURL(\"image/jpeg\",.6)):t.toDataURL(\"image/png\")}static sRGBToLinear(e){if(\"undefined\"!=typeof HTMLImageElement&&e instanceof HTMLImageElement||\"undefined\"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||\"undefined\"!=typeof ImageBitmap&&e instanceof ImageBitmap){const t=De(\"canvas\");t.width=e.width,t.height=e.height;const n=t.getContext(\"2d\");n.drawImage(e,0,0,e.width,e.height);const s=n.getImageData(0,0,e.width,e.height),i=s.data;for(let e=0;e0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:\"dispose\"})}transformUv(e){if(300!==this.mapping)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case S:e.x=e.x-Math.floor(e.x);break;case b:e.x=e.x<0?0:1;break;case N:1===Math.abs(Math.floor(e.x)%2)?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 S:e.y=e.y-Math.floor(e.y);break;case b:e.y=e.y<0?0:1;break;case N:1===Math.abs(Math.floor(e.y)%2)?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){!0===e&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return Ne(\"THREE.Texture: Property .encoding has been replaced by .colorSpace.\"),this.colorSpace===J?Z:3e3}set encoding(e){Ne(\"THREE.Texture: Property .encoding has been replaced by .colorSpace.\"),this.colorSpace=e===Z?J:Q}}Ge.DEFAULT_IMAGE=null,Ge.DEFAULT_MAPPING=300,Ge.DEFAULT_ANISOTROPY=1;class Ve{constructor(e=0,t=0,n=0,s=1){Ve.prototype.isVector4=!0,this.x=e,this.y=t,this.z=n,this.w=s}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,s){return this.x=e,this.y=t,this.z=n,this.w=s,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,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;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=void 0!==e.w?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,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,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,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.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){const t=this.x,n=this.y,s=this.z,i=this.w,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*s+a[12]*i,this.y=a[1]*t+a[5]*n+a[9]*s+a[13]*i,this.z=a[2]*t+a[6]*n+a[10]*s+a[14]*i,this.w=a[3]*t+a[7]*n+a[11]*s+a[15]*i,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,s,i;const a=.01,l=.1,r=e.elements,o=r[0],c=r[4],u=r[8],p=r[1],h=r[5],d=r[9],f=r[2],I=r[6],m=r[10];if(Math.abs(c-p)r&&e>y?ey?r=0?1:-1,s=1-t*t;if(s>Number.EPSILON){const i=Math.sqrt(s),a=Math.atan2(i,t*n);e=Math.sin(e*a)/i,l=Math.sin(l*a)/i}const i=l*n;if(r=r*e+p*i,o=o*e+h*i,c=c*e+d*i,u=u*e+f*i,e===1-l){const e=1/Math.sqrt(r*r+o*o+c*c+u*u);r*=e,o*=e,c*=e,u*=e}}e[t]=r,e[t+1]=o,e[t+2]=c,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,s,i,a){const l=n[s],r=n[s+1],o=n[s+2],c=n[s+3],u=i[a],p=i[a+1],h=i[a+2],d=i[a+3];return e[t]=l*d+c*u+r*h-o*p,e[t+1]=r*d+c*p+o*u-l*h,e[t+2]=o*d+c*h+l*p-r*u,e[t+3]=c*d-l*u-r*p-o*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,t,n,s){return this._x=e,this._y=t,this._z=n,this._w=s,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,t){const n=e._x,s=e._y,i=e._z,a=e._order,l=Math.cos,r=Math.sin,o=l(n/2),c=l(s/2),u=l(i/2),p=r(n/2),h=r(s/2),d=r(i/2);switch(a){case\"XYZ\":this._x=p*c*u+o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u-p*h*d;break;case\"YXZ\":this._x=p*c*u+o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u+p*h*d;break;case\"ZXY\":this._x=p*c*u-o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u-p*h*d;break;case\"ZYX\":this._x=p*c*u-o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u+p*h*d;break;case\"YZX\":this._x=p*c*u+o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u-p*h*d;break;case\"XZY\":this._x=p*c*u-o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u+p*h*d;break;default:console.warn(\"THREE.Quaternion: .setFromEuler() encountered an unknown order: \"+a)}return!1!==t&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const n=t/2,s=Math.sin(n);return this._x=e.x*s,this._y=e.y*s,this._z=e.z*s,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,n=t[0],s=t[4],i=t[8],a=t[1],l=t[5],r=t[9],o=t[2],c=t[6],u=t[10],p=n+l+u;if(p>0){const e=.5/Math.sqrt(p+1);this._w=.25/e,this._x=(c-r)*e,this._y=(i-o)*e,this._z=(a-s)*e}else if(n>l&&n>u){const e=2*Math.sqrt(1+n-l-u);this._w=(c-r)/e,this._x=.25*e,this._y=(s+a)/e,this._z=(i+o)/e}else if(l>u){const e=2*Math.sqrt(1+l-n-u);this._w=(i-o)/e,this._x=(s+a)/e,this._y=.25*e,this._z=(r+c)/e}else{const e=2*Math.sqrt(1+u-n-l);this._w=(a-s)/e,this._x=(i+o)/e,this._y=(r+c)/e,this._z=.25*e}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return nMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(he(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(0===n)return this;const s=Math.min(1,t/n);return this.slerp(e,s),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 0===e?(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,t){const n=e._x,s=e._y,i=e._z,a=e._w,l=t._x,r=t._y,o=t._z,c=t._w;return this._x=n*c+a*l+s*o-i*r,this._y=s*c+a*r+i*l-n*o,this._z=i*c+a*o+n*r-s*l,this._w=a*c-n*l-s*r-i*o,this._onChangeCallback(),this}slerp(e,t){if(0===t)return this;if(1===t)return this.copy(e);const n=this._x,s=this._y,i=this._z,a=this._w;let l=a*e._w+n*e._x+s*e._y+i*e._z;if(l<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,l=-l):this.copy(e),l>=1)return this._w=a,this._x=n,this._y=s,this._z=i,this;const r=1-l*l;if(r<=Number.EPSILON){const e=1-t;return this._w=e*a+t*this._w,this._x=e*n+t*this._x,this._y=e*s+t*this._y,this._z=e*i+t*this._z,this.normalize(),this._onChangeCallback(),this}const o=Math.sqrt(r),c=Math.atan2(o,l),u=Math.sin((1-t)*c)/o,p=Math.sin(t*c)/o;return this._w=a*u+this._w*p,this._x=n*u+this._x*p,this._y=s*u+this._y*p,this._z=i*u+this._z*p,this._onChangeCallback(),this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){const e=Math.random(),t=Math.sqrt(1-e),n=Math.sqrt(e),s=2*Math.PI*Math.random(),i=2*Math.PI*Math.random();return this.set(t*Math.cos(s),n*Math.sin(i),n*Math.cos(i),t*Math.sin(s))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),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}}class Ke{constructor(e=0,t=0,n=0){Ke.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return void 0===n&&(n=this.z),this.x=e,this.y=t,this.z=n,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,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;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,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,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,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.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,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(Qe.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(Qe.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,s=this.z,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6]*s,this.y=i[1]*t+i[4]*n+i[7]*s,this.z=i[2]*t+i[5]*n+i[8]*s,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,s=this.z,i=e.elements,a=1/(i[3]*t+i[7]*n+i[11]*s+i[15]);return this.x=(i[0]*t+i[4]*n+i[8]*s+i[12])*a,this.y=(i[1]*t+i[5]*n+i[9]*s+i[13])*a,this.z=(i[2]*t+i[6]*n+i[10]*s+i[14])*a,this}applyQuaternion(e){const t=this.x,n=this.y,s=this.z,i=e.x,a=e.y,l=e.z,r=e.w,o=r*t+a*s-l*n,c=r*n+l*t-i*s,u=r*s+i*n-a*t,p=-i*t-a*n-l*s;return this.x=o*r+p*-i+c*-l-u*-a,this.y=c*r+p*-a+u*-i-o*-l,this.z=u*r+p*-l+o*-a-c*-i,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,s=this.z,i=e.elements;return this.x=i[0]*t+i[4]*n+i[8]*s,this.y=i[1]*t+i[5]*n+i[9]*s,this.z=i[2]*t+i[6]*n+i[10]*s,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,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,s=e.y,i=e.z,a=t.x,l=t.y,r=t.z;return this.x=s*r-i*l,this.y=i*a-n*r,this.z=n*l-s*a,this}projectOnVector(e){const t=e.lengthSq();if(0===t)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return Ze.copy(this).projectOnVector(e),this.sub(Ze)}reflect(e){return this.sub(Ze.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(he(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,s=this.z-e.z;return t*t+n*n+s*s}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,t,n){const s=Math.sin(t)*e;return this.x=s*Math.sin(n),this.y=Math.cos(t)*e,this.z=s*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),s=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=s,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,4*t)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,3*t)}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,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=2*(Math.random()-.5),t=Math.random()*Math.PI*2,n=Math.sqrt(1-e**2);return this.x=n*Math.cos(t),this.y=n*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Ze=new Ke,Qe=new Xe;class Je{constructor(e=new Ke(1/0,1/0,1/0),t=new Ke(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,n=e.length;tthis.max.x||e.ythis.max.y||e.zthis.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,t){return t.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.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,et),et.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(ot),ct.subVectors(this.max,ot),nt.subVectors(e.a,ot),st.subVectors(e.b,ot),it.subVectors(e.c,ot),at.subVectors(st,nt),lt.subVectors(it,st),rt.subVectors(nt,it);let t=[0,-at.z,at.y,0,-lt.z,lt.y,0,-rt.z,rt.y,at.z,0,-at.x,lt.z,0,-lt.x,rt.z,0,-rt.x,-at.y,at.x,0,-lt.y,lt.x,0,-rt.y,rt.x,0];return!!ht(t,nt,st,it,ct)&&(t=[1,0,0,0,1,0,0,0,1],!!ht(t,nt,st,it,ct)&&(ut.crossVectors(at,lt),t=[ut.x,ut.y,ut.z],ht(t,nt,st,it,ct)))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,et).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=.5*this.getSize(et).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()||($e[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),$e[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),$e[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),$e[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),$e[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),$e[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),$e[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),$e[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints($e)),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)}}const $e=[new Ke,new Ke,new Ke,new Ke,new Ke,new Ke,new Ke,new Ke],et=new Ke,tt=new Je,nt=new Ke,st=new Ke,it=new Ke,at=new Ke,lt=new Ke,rt=new Ke,ot=new Ke,ct=new Ke,ut=new Ke,pt=new Ke;function ht(e,t,n,s,i){for(let a=0,l=e.length-3;a<=l;a+=3){pt.fromArray(e,a);const l=i.x*Math.abs(pt.x)+i.y*Math.abs(pt.y)+i.z*Math.abs(pt.z),r=t.dot(pt),o=n.dot(pt),c=s.dot(pt);if(Math.max(-Math.max(r,o,c),Math.min(r,o,c))>l)return!1}return!0}const dt=new Je,ft=new Ke,It=new Ke;class mt{constructor(e=new Ke,t=-1){this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const n=this.center;void 0!==t?n.copy(t):dt.setFromPoints(e).getCenter(n);let s=0;for(let t=0,i=e.length;tthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}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;ft.subVectors(e,this.center);const t=ft.lengthSq();if(t>this.radius*this.radius){const e=Math.sqrt(t),n=.5*(e-this.radius);this.center.addScaledVector(ft,n/e),this.radius+=n}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(!0===this.center.equals(e.center)?this.radius=Math.max(this.radius,e.radius):(It.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(ft.copy(e.center).add(It)),this.expandByPoint(ft.copy(e.center).sub(It))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const yt=new Ke,vt=new Ke,wt=new Ke,Tt=new Ke,Et=new Ke,gt=new Ke,Rt=new Ke;class Dt{constructor(e=new Ke,t=new Ke(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.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,yt)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=yt.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(yt.copy(this.origin).addScaledVector(this.direction,t),yt.distanceToSquared(e))}distanceSqToSegment(e,t,n,s){vt.copy(e).add(t).multiplyScalar(.5),wt.copy(t).sub(e).normalize(),Tt.copy(this.origin).sub(vt);const i=.5*e.distanceTo(t),a=-this.direction.dot(wt),l=Tt.dot(this.direction),r=-Tt.dot(wt),o=Tt.lengthSq(),c=Math.abs(1-a*a);let u,p,h,d;if(c>0)if(u=a*r-l,p=a*l-r,d=i*c,u>=0)if(p>=-d)if(p<=d){const e=1/c;u*=e,p*=e,h=u*(u+a*p+2*l)+p*(a*u+p+2*r)+o}else p=i,u=Math.max(0,-(a*p+l)),h=-u*u+p*(p+2*r)+o;else p=-i,u=Math.max(0,-(a*p+l)),h=-u*u+p*(p+2*r)+o;else p<=-d?(u=Math.max(0,-(-a*i+l)),p=u>0?-i:Math.min(Math.max(-i,-r),i),h=-u*u+p*(p+2*r)+o):p<=d?(u=0,p=Math.min(Math.max(-i,-r),i),h=p*(p+2*r)+o):(u=Math.max(0,-(a*i+l)),p=u>0?i:Math.min(Math.max(-i,-r),i),h=-u*u+p*(p+2*r)+o);else p=a>0?-i:i,u=Math.max(0,-(a*p+l)),h=-u*u+p*(p+2*r)+o;return n&&n.copy(this.origin).addScaledVector(this.direction,u),s&&s.copy(vt).addScaledVector(wt,p),h}intersectSphere(e,t){yt.subVectors(e.center,this.origin);const n=yt.dot(this.direction),s=yt.dot(yt)-n*n,i=e.radius*e.radius;if(s>i)return null;const a=Math.sqrt(i-s),l=n-a,r=n+a;return r<0?null:l<0?this.at(r,t):this.at(l,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(0===t)return 0===e.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){const n=this.distanceToPlane(e);return null===n?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return 0===t||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,s,i,a,l,r;const o=1/this.direction.x,c=1/this.direction.y,u=1/this.direction.z,p=this.origin;return o>=0?(n=(e.min.x-p.x)*o,s=(e.max.x-p.x)*o):(n=(e.max.x-p.x)*o,s=(e.min.x-p.x)*o),c>=0?(i=(e.min.y-p.y)*c,a=(e.max.y-p.y)*c):(i=(e.max.y-p.y)*c,a=(e.min.y-p.y)*c),n>a||i>s?null:((i>n||isNaN(n))&&(n=i),(a=0?(l=(e.min.z-p.z)*u,r=(e.max.z-p.z)*u):(l=(e.max.z-p.z)*u,r=(e.min.z-p.z)*u),n>r||l>s?null:((l>n||n!=n)&&(n=l),(r=0?n:s,t)))}intersectsBox(e){return null!==this.intersectBox(e,yt)}intersectTriangle(e,t,n,s,i){Et.subVectors(t,e),gt.subVectors(n,e),Rt.crossVectors(Et,gt);let a,l=this.direction.dot(Rt);if(l>0){if(s)return null;a=1}else{if(!(l<0))return null;a=-1,l=-l}Tt.subVectors(this.origin,e);const r=a*this.direction.dot(gt.crossVectors(Tt,gt));if(r<0)return null;const o=a*this.direction.dot(Et.cross(Tt));if(o<0)return null;if(r+o>l)return null;const c=-a*Tt.dot(Rt);return c<0?null:this.at(c/l,i)}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)}}class St{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){St.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],void 0!==e&&this.set(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I)}set(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){const m=this.elements;return m[0]=e,m[4]=t,m[8]=n,m[12]=s,m[1]=i,m[5]=a,m[9]=l,m[13]=r,m[2]=o,m[6]=c,m[10]=u,m[14]=p,m[3]=h,m[7]=d,m[11]=f,m[15]=I,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 St).fromArray(this.elements)}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){const t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,n=e.elements,s=1/bt.setFromMatrixColumn(e,0).length(),i=1/bt.setFromMatrixColumn(e,1).length(),a=1/bt.setFromMatrixColumn(e,2).length();return t[0]=n[0]*s,t[1]=n[1]*s,t[2]=n[2]*s,t[3]=0,t[4]=n[4]*i,t[5]=n[5]*i,t[6]=n[6]*i,t[7]=0,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,n=e.x,s=e.y,i=e.z,a=Math.cos(n),l=Math.sin(n),r=Math.cos(s),o=Math.sin(s),c=Math.cos(i),u=Math.sin(i);if(\"XYZ\"===e.order){const e=a*c,n=a*u,s=l*c,i=l*u;t[0]=r*c,t[4]=-r*u,t[8]=o,t[1]=n+s*o,t[5]=e-i*o,t[9]=-l*r,t[2]=i-e*o,t[6]=s+n*o,t[10]=a*r}else if(\"YXZ\"===e.order){const e=r*c,n=r*u,s=o*c,i=o*u;t[0]=e+i*l,t[4]=s*l-n,t[8]=a*o,t[1]=a*u,t[5]=a*c,t[9]=-l,t[2]=n*l-s,t[6]=i+e*l,t[10]=a*r}else if(\"ZXY\"===e.order){const e=r*c,n=r*u,s=o*c,i=o*u;t[0]=e-i*l,t[4]=-a*u,t[8]=s+n*l,t[1]=n+s*l,t[5]=a*c,t[9]=i-e*l,t[2]=-a*o,t[6]=l,t[10]=a*r}else if(\"ZYX\"===e.order){const e=a*c,n=a*u,s=l*c,i=l*u;t[0]=r*c,t[4]=s*o-n,t[8]=e*o+i,t[1]=r*u,t[5]=i*o+e,t[9]=n*o-s,t[2]=-o,t[6]=l*r,t[10]=a*r}else if(\"YZX\"===e.order){const e=a*r,n=a*o,s=l*r,i=l*o;t[0]=r*c,t[4]=i-e*u,t[8]=s*u+n,t[1]=u,t[5]=a*c,t[9]=-l*c,t[2]=-o*c,t[6]=n*u+s,t[10]=e-i*u}else if(\"XZY\"===e.order){const e=a*r,n=a*o,s=l*r,i=l*o;t[0]=r*c,t[4]=-u,t[8]=o*c,t[1]=e*u+i,t[5]=a*c,t[9]=n*u-s,t[2]=s*u-n,t[6]=l*c,t[10]=i*u+e}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Ot,e,At)}lookAt(e,t,n){const s=this.elements;return Lt.subVectors(e,t),0===Lt.lengthSq()&&(Lt.z=1),Lt.normalize(),xt.crossVectors(n,Lt),0===xt.lengthSq()&&(1===Math.abs(n.z)?Lt.x+=1e-4:Lt.z+=1e-4,Lt.normalize(),xt.crossVectors(n,Lt)),xt.normalize(),Ct.crossVectors(Lt,xt),s[0]=xt.x,s[4]=Ct.x,s[8]=Lt.x,s[1]=xt.y,s[5]=Ct.y,s[9]=Lt.y,s[2]=xt.z,s[6]=Ct.z,s[10]=Lt.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,s=t.elements,i=this.elements,a=n[0],l=n[4],r=n[8],o=n[12],c=n[1],u=n[5],p=n[9],h=n[13],d=n[2],f=n[6],I=n[10],m=n[14],y=n[3],v=n[7],w=n[11],T=n[15],E=s[0],g=s[4],R=s[8],D=s[12],S=s[1],b=s[5],N=s[9],O=s[13],A=s[2],x=s[6],C=s[10],L=s[14],P=s[3],q=s[7],_=s[11],M=s[15];return i[0]=a*E+l*S+r*A+o*P,i[4]=a*g+l*b+r*x+o*q,i[8]=a*R+l*N+r*C+o*_,i[12]=a*D+l*O+r*L+o*M,i[1]=c*E+u*S+p*A+h*P,i[5]=c*g+u*b+p*x+h*q,i[9]=c*R+u*N+p*C+h*_,i[13]=c*D+u*O+p*L+h*M,i[2]=d*E+f*S+I*A+m*P,i[6]=d*g+f*b+I*x+m*q,i[10]=d*R+f*N+I*C+m*_,i[14]=d*D+f*O+I*L+m*M,i[3]=y*E+v*S+w*A+T*P,i[7]=y*g+v*b+w*x+T*q,i[11]=y*R+v*N+w*C+T*_,i[15]=y*D+v*O+w*L+T*M,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[4],s=e[8],i=e[12],a=e[1],l=e[5],r=e[9],o=e[13],c=e[2],u=e[6],p=e[10],h=e[14];return e[3]*(+i*r*u-s*o*u-i*l*p+n*o*p+s*l*h-n*r*h)+e[7]*(+t*r*h-t*o*p+i*a*p-s*a*h+s*o*c-i*r*c)+e[11]*(+t*o*u-t*l*h-i*a*u+n*a*h+i*l*c-n*o*c)+e[15]*(-s*l*c-t*r*u+t*l*p+s*a*u-n*a*p+n*r*c)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){const s=this.elements;return e.isVector3?(s[12]=e.x,s[13]=e.y,s[14]=e.z):(s[12]=e,s[13]=t,s[14]=n),this}invert(){const e=this.elements,t=e[0],n=e[1],s=e[2],i=e[3],a=e[4],l=e[5],r=e[6],o=e[7],c=e[8],u=e[9],p=e[10],h=e[11],d=e[12],f=e[13],I=e[14],m=e[15],y=u*I*o-f*p*o+f*r*h-l*I*h-u*r*m+l*p*m,v=d*p*o-c*I*o-d*r*h+a*I*h+c*r*m-a*p*m,w=c*f*o-d*u*o+d*l*h-a*f*h-c*l*m+a*u*m,T=d*u*r-c*f*r-d*l*p+a*f*p+c*l*I-a*u*I,E=t*y+n*v+s*w+i*T;if(0===E)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const g=1/E;return e[0]=y*g,e[1]=(f*p*i-u*I*i-f*s*h+n*I*h+u*s*m-n*p*m)*g,e[2]=(l*I*i-f*r*i+f*s*o-n*I*o-l*s*m+n*r*m)*g,e[3]=(u*r*i-l*p*i-u*s*o+n*p*o+l*s*h-n*r*h)*g,e[4]=v*g,e[5]=(c*I*i-d*p*i+d*s*h-t*I*h-c*s*m+t*p*m)*g,e[6]=(d*r*i-a*I*i-d*s*o+t*I*o+a*s*m-t*r*m)*g,e[7]=(a*p*i-c*r*i+c*s*o-t*p*o-a*s*h+t*r*h)*g,e[8]=w*g,e[9]=(d*u*i-c*f*i-d*n*h+t*f*h+c*n*m-t*u*m)*g,e[10]=(a*f*i-d*l*i+d*n*o-t*f*o-a*n*m+t*l*m)*g,e[11]=(c*l*i-a*u*i-c*n*o+t*u*o+a*n*h-t*l*h)*g,e[12]=T*g,e[13]=(c*f*s-d*u*s+d*n*p-t*f*p-c*n*I+t*u*I)*g,e[14]=(d*l*s-a*f*s-d*n*r+t*f*r+a*n*I-t*l*I)*g,e[15]=(a*u*s-c*l*s+c*n*r-t*u*r-a*n*p+t*l*p)*g,this}scale(e){const t=this.elements,n=e.x,s=e.y,i=e.z;return t[0]*=n,t[4]*=s,t[8]*=i,t[1]*=n,t[5]*=s,t[9]*=i,t[2]*=n,t[6]*=s,t[10]*=i,t[3]*=n,t[7]*=s,t[11]*=i,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],s=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,s))}makeTranslation(e,t,n){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,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const n=Math.cos(t),s=Math.sin(t),i=1-n,a=e.x,l=e.y,r=e.z,o=i*a,c=i*l;return this.set(o*a+n,o*l-s*r,o*r+s*l,0,o*l+s*r,c*l+n,c*r-s*a,0,o*r-s*l,c*r+s*a,i*r*r+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,s,i,a){return this.set(1,n,i,0,e,1,a,0,t,s,1,0,0,0,0,1),this}compose(e,t,n){const s=this.elements,i=t._x,a=t._y,l=t._z,r=t._w,o=i+i,c=a+a,u=l+l,p=i*o,h=i*c,d=i*u,f=a*c,I=a*u,m=l*u,y=r*o,v=r*c,w=r*u,T=n.x,E=n.y,g=n.z;return s[0]=(1-(f+m))*T,s[1]=(h+w)*T,s[2]=(d-v)*T,s[3]=0,s[4]=(h-w)*E,s[5]=(1-(p+m))*E,s[6]=(I+y)*E,s[7]=0,s[8]=(d+v)*g,s[9]=(I-y)*g,s[10]=(1-(p+f))*g,s[11]=0,s[12]=e.x,s[13]=e.y,s[14]=e.z,s[15]=1,this}decompose(e,t,n){const s=this.elements;let i=bt.set(s[0],s[1],s[2]).length();const a=bt.set(s[4],s[5],s[6]).length(),l=bt.set(s[8],s[9],s[10]).length();this.determinant()<0&&(i=-i),e.x=s[12],e.y=s[13],e.z=s[14],Nt.copy(this);const r=1/i,o=1/a,c=1/l;return Nt.elements[0]*=r,Nt.elements[1]*=r,Nt.elements[2]*=r,Nt.elements[4]*=o,Nt.elements[5]*=o,Nt.elements[6]*=o,Nt.elements[8]*=c,Nt.elements[9]*=c,Nt.elements[10]*=c,t.setFromRotationMatrix(Nt),n.x=i,n.y=a,n.z=l,this}makePerspective(e,t,n,s,i,a,l=2e3){const r=this.elements,o=2*i/(t-e),c=2*i/(n-s),u=(t+e)/(t-e),p=(n+s)/(n-s);let h,d;if(l===ie)h=-(a+i)/(a-i),d=-2*a*i/(a-i);else{if(l!==ae)throw new Error(\"THREE.Matrix4.makePerspective(): Invalid coordinate system: \"+l);h=-a/(a-i),d=-a*i/(a-i)}return r[0]=o,r[4]=0,r[8]=u,r[12]=0,r[1]=0,r[5]=c,r[9]=p,r[13]=0,r[2]=0,r[6]=0,r[10]=h,r[14]=d,r[3]=0,r[7]=0,r[11]=-1,r[15]=0,this}makeOrthographic(e,t,n,s,i,a,l=2e3){const r=this.elements,o=1/(t-e),c=1/(n-s),u=1/(a-i),p=(t+e)*o,h=(n+s)*c;let d,f;if(l===ie)d=(a+i)*u,f=-2*u;else{if(l!==ae)throw new Error(\"THREE.Matrix4.makeOrthographic(): Invalid coordinate system: \"+l);d=i*u,f=-1*u}return r[0]=2*o,r[4]=0,r[8]=0,r[12]=-p,r[1]=0,r[5]=2*c,r[9]=0,r[13]=-h,r[2]=0,r[6]=0,r[10]=f,r[14]=-d,r[3]=0,r[7]=0,r[11]=0,r[15]=1,this}equals(e){const t=this.elements,n=e.elements;for(let e=0;e<16;e++)if(t[e]!==n[e])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}}const bt=new Ke,Nt=new St,Ot=new Ke(0,0,0),At=new Ke(1,1,1),xt=new Ke,Ct=new Ke,Lt=new Ke,Pt=new St,qt=new Xe;class _t{constructor(e=0,t=0,n=0,s=_t.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=n,this._order=s}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,t,n,s=this._order){return this._x=e,this._y=t,this._z=n,this._order=s,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,t=this._order,n=!0){const s=e.elements,i=s[0],a=s[4],l=s[8],r=s[1],o=s[5],c=s[9],u=s[2],p=s[6],h=s[10];switch(t){case\"XYZ\":this._y=Math.asin(he(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-c,h),this._z=Math.atan2(-a,i)):(this._x=Math.atan2(p,o),this._z=0);break;case\"YXZ\":this._x=Math.asin(-he(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(l,h),this._z=Math.atan2(r,o)):(this._y=Math.atan2(-u,i),this._z=0);break;case\"ZXY\":this._x=Math.asin(he(p,-1,1)),Math.abs(p)<.9999999?(this._y=Math.atan2(-u,h),this._z=Math.atan2(-a,o)):(this._y=0,this._z=Math.atan2(r,i));break;case\"ZYX\":this._y=Math.asin(-he(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(p,h),this._z=Math.atan2(r,i)):(this._x=0,this._z=Math.atan2(-a,o));break;case\"YZX\":this._z=Math.asin(he(r,-1,1)),Math.abs(r)<.9999999?(this._x=Math.atan2(-c,o),this._y=Math.atan2(-u,i)):(this._x=0,this._y=Math.atan2(l,h));break;case\"XZY\":this._z=Math.asin(-he(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(p,o),this._y=Math.atan2(l,i)):(this._x=Math.atan2(-c,h),this._y=0);break;default:console.warn(\"THREE.Euler: .setFromRotationMatrix() encountered an unknown order: \"+t)}return this._order=t,!0===n&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return Pt.makeRotationFromQuaternion(e),this.setFromRotationMatrix(Pt,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return qt.setFromEuler(this),this.setFromQuaternion(qt,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],void 0!==e[3]&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+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}}_t.DEFAULT_ORDER=\"XYZ\";class Mt{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let e=0;e1){for(let e=0;e0&&(n=n.concat(i))}return n}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Vt,e,jt),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Vt,zt,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);const t=this.children;for(let n=0,s=t.length;n0&&(s.userData=this.userData),s.layers=this.layers.mask,s.matrix=this.matrix.toArray(),s.up=this.up.toArray(),!1===this.matrixAutoUpdate&&(s.matrixAutoUpdate=!1),this.isInstancedMesh&&(s.type=\"InstancedMesh\",s.count=this.count,s.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(s.instanceColor=this.instanceColor.toJSON())),this.isScene)this.background&&(this.background.isColor?s.background=this.background.toJSON():this.background.isTexture&&(s.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&!0!==this.environment.isRenderTargetTexture&&(s.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){s.geometry=i(e.geometries,this.geometry);const t=this.geometry.parameters;if(void 0!==t&&void 0!==t.shapes){const n=t.shapes;if(Array.isArray(n))for(let t=0,s=n.length;t0){s.children=[];for(let t=0;t0){s.animations=[];for(let t=0;t0&&(n.geometries=t),s.length>0&&(n.materials=s),i.length>0&&(n.textures=i),l.length>0&&(n.images=l),r.length>0&&(n.shapes=r),o.length>0&&(n.skeletons=o),c.length>0&&(n.animations=c),u.length>0&&(n.nodes=u)}return n.object=s,n;function a(e){const t=[];for(const n in e){const s=e[n];delete s.metadata,t.push(s)}return t}}clone(e){return(new this.constructor).copy(this,e)}copy(e,t=!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.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,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)),!0===t)for(let t=0;t0?s.multiplyScalar(1/Math.sqrt(i)):s.set(0,0,0)}static getBarycoord(e,t,n,s,i){Qt.subVectors(s,t),Jt.subVectors(n,t),$t.subVectors(e,t);const a=Qt.dot(Qt),l=Qt.dot(Jt),r=Qt.dot($t),o=Jt.dot(Jt),c=Jt.dot($t),u=a*o-l*l;if(0===u)return i.set(-2,-1,-1);const p=1/u,h=(o*r-l*c)*p,d=(a*c-l*r)*p;return i.set(1-h-d,d,h)}static containsPoint(e,t,n,s){return this.getBarycoord(e,t,n,s,en),en.x>=0&&en.y>=0&&en.x+en.y<=1}static getUV(e,t,n,s,i,a,l,r){return!1===on&&(console.warn(\"THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation().\"),on=!0),this.getInterpolation(e,t,n,s,i,a,l,r)}static getInterpolation(e,t,n,s,i,a,l,r){return this.getBarycoord(e,t,n,s,en),r.setScalar(0),r.addScaledVector(i,en.x),r.addScaledVector(a,en.y),r.addScaledVector(l,en.z),r}static isFrontFacing(e,t,n,s){return Qt.subVectors(n,t),Jt.subVectors(e,t),Qt.cross(Jt).dot(s)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,s){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[s]),this}setFromAttributeAndIndices(e,t,n,s){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,s),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 Qt.subVectors(this.c,this.b),Jt.subVectors(this.a,this.b),.5*Qt.cross(Jt).length()}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return cn.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return cn.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,n,s,i){return!1===on&&(console.warn(\"THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation().\"),on=!0),cn.getInterpolation(e,this.a,this.b,this.c,t,n,s,i)}getInterpolation(e,t,n,s,i){return cn.getInterpolation(e,this.a,this.b,this.c,t,n,s,i)}containsPoint(e){return cn.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return cn.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,s=this.b,i=this.c;let a,l;tn.subVectors(s,n),nn.subVectors(i,n),an.subVectors(e,n);const r=tn.dot(an),o=nn.dot(an);if(r<=0&&o<=0)return t.copy(n);ln.subVectors(e,s);const c=tn.dot(ln),u=nn.dot(ln);if(c>=0&&u<=c)return t.copy(s);const p=r*u-c*o;if(p<=0&&r>=0&&c<=0)return a=r/(r-c),t.copy(n).addScaledVector(tn,a);rn.subVectors(e,i);const h=tn.dot(rn),d=nn.dot(rn);if(d>=0&&h<=d)return t.copy(i);const f=h*o-r*d;if(f<=0&&o>=0&&d<=0)return l=o/(o-d),t.copy(n).addScaledVector(nn,l);const I=c*d-h*u;if(I<=0&&u-c>=0&&h-d>=0)return sn.subVectors(i,s),l=(u-c)/(u-c+(h-d)),t.copy(s).addScaledVector(sn,l);const m=1/(I+f+p);return a=f*m,l=p*m,t.copy(n).addScaledVector(tn,a).addScaledVector(nn,l)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}let un=0;class pn extends le{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,\"id\",{value:un++}),this.uuid=pe(),this.name=\"\",this.type=\"Material\",this.blending=1,this.side=o,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.alphaHash=!1,this.blendSrc=204,this.blendDst=205,this.blendEquation=h,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=3,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=519,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=te,this.stencilZFail=te,this.stencilZPass=te,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(void 0!==e)for(const t in e){const n=e[t];if(void 0===n){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const s=this[t];void 0!==s?s&&s.isColor?s.set(n):s&&s.isVector3&&n&&n.isVector3?s.copy(n):this[t]=n:console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`)}}toJSON(e){const t=void 0===e||\"string\"==typeof e;t&&(e={textures:{},images:{}});const n={metadata:{version:4.6,type:\"Material\",generator:\"Material.toJSON\"}};function s(e){const t=[];for(const n in e){const s=e[n];delete s.metadata,t.push(s)}return t}if(n.uuid=this.uuid,n.type=this.type,\"\"!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),void 0!==this.sheen&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(n.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(n.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),void 0!==this.anisotropy&&(n.anisotropy=this.anisotropy),void 0!==this.anisotropyRotation&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,void 0!==this.combine&&(n.combine=this.combine)),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),void 0!==this.transmission&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),void 0!==this.thickness&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(n.size=this.size),null!==this.shadowSide&&(n.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(n.blending=this.blending),this.side!==o&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),!0===this.transparent&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,void 0!==this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.alphaHash&&(n.alphaHash=this.alphaHash),!0===this.alphaToCoverage&&(n.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!0===this.forceSinglePass&&(n.forceSinglePass=this.forceSinglePass),!0===this.wireframe&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),\"round\"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),\"round\"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(n.flatShading=this.flatShading),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),!1===this.fog&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData),t){const t=s(e.textures),i=s(e.images);t.length>0&&(n.textures=t),i.length>0&&(n.images=i)}return n}clone(){return(new this.constructor).copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let n=null;if(null!==t){const e=t.length;n=new Array(e);for(let s=0;s!==e;++s)n[s]=t[s].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:\"dispose\"})}set needsUpdate(e){!0===e&&this.version++}}const hn={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},dn={h:0,s:0,l:0},fn={h:0,s:0,l:0};function In(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+6*(t-e)*(2/3-n):e}class mn{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,n)}set(e,t,n){if(void 0===t&&void 0===n){const t=e;t&&t.isColor?this.copy(t):\"number\"==typeof t?this.setHex(t):\"string\"==typeof t&&this.setStyle(t)}else this.setRGB(e,t,n);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=J){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(255&e)/255,qe.toWorkingColorSpace(this,t),this}setRGB(e,t,n,s=qe.workingColorSpace){return this.r=e,this.g=t,this.b=n,qe.toWorkingColorSpace(this,s),this}setHSL(e,t,n,s=qe.workingColorSpace){if(e=de(e,1),t=he(t,0,1),n=he(n,0,1),0===t)this.r=this.g=this.b=n;else{const s=n<=.5?n*(1+t):n+t-n*t,i=2*n-s;this.r=In(i,s,e+1/3),this.g=In(i,s,e),this.b=In(i,s,e-1/3)}return qe.toWorkingColorSpace(this,s),this}setStyle(e,t=J){function n(t){void 0!==t&&parseFloat(t)<1&&console.warn(\"THREE.Color: Alpha component of \"+e+\" will be ignored.\")}let s;if(s=/^(\\w+)\\(([^\\)]*)\\)/.exec(e)){let i;const a=s[1],l=s[2];switch(a){case\"rgb\":case\"rgba\":if(i=/^\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(l))return n(i[4]),this.setRGB(Math.min(255,parseInt(i[1],10))/255,Math.min(255,parseInt(i[2],10))/255,Math.min(255,parseInt(i[3],10))/255,t);if(i=/^\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(l))return n(i[4]),this.setRGB(Math.min(100,parseInt(i[1],10))/100,Math.min(100,parseInt(i[2],10))/100,Math.min(100,parseInt(i[3],10))/100,t);break;case\"hsl\":case\"hsla\":if(i=/^\\s*(\\d*\\.?\\d+)\\s*,\\s*(\\d*\\.?\\d+)\\%\\s*,\\s*(\\d*\\.?\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(l))return n(i[4]),this.setHSL(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,t);break;default:console.warn(\"THREE.Color: Unknown color model \"+e)}}else if(s=/^\\#([A-Fa-f\\d]+)$/.exec(e)){const n=s[1],i=n.length;if(3===i)return this.setRGB(parseInt(n.charAt(0),16)/15,parseInt(n.charAt(1),16)/15,parseInt(n.charAt(2),16)/15,t);if(6===i)return this.setHex(parseInt(n,16),t);console.warn(\"THREE.Color: Invalid hex color \"+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=J){const n=hn[e.toLowerCase()];return void 0!==n?this.setHex(n,t):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=Oe(e.r),this.g=Oe(e.g),this.b=Oe(e.b),this}copyLinearToSRGB(e){return this.r=Ae(e.r),this.g=Ae(e.g),this.b=Ae(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=J){return qe.fromWorkingColorSpace(yn.copy(this),e),65536*Math.round(he(255*yn.r,0,255))+256*Math.round(he(255*yn.g,0,255))+Math.round(he(255*yn.b,0,255))}getHexString(e=J){return(\"000000\"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=qe.workingColorSpace){qe.fromWorkingColorSpace(yn.copy(this),t);const n=yn.r,s=yn.g,i=yn.b,a=Math.max(n,s,i),l=Math.min(n,s,i);let r,o;const c=(l+a)/2;if(l===a)r=0,o=0;else{const e=a-l;switch(o=c<=.5?e/(a+l):e/(2-a-l),a){case n:r=(s-i)/e+(s0&&(e.userData=this.userData),void 0!==this.parameters){const t=this.parameters;for(const n in t)void 0!==t[n]&&(e[n]=t[n]);return e}e.data={attributes:{}};const t=this.index;null!==t&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const n=this.attributes;for(const t in n){const s=n[t];e.data.attributes[t]=s.toJSON(e.data)}const s={};let i=!1;for(const t in this.morphAttributes){const n=this.morphAttributes[t],a=[];for(let t=0,s=n.length;t0&&(s[t]=a,i=!0)}i&&(e.data.morphAttributes=s,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const l=this.boundingSphere;return null!==l&&(e.data.boundingSphere={center:l.center.toArray(),radius:l.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;const t={};this.name=e.name;const n=e.index;null!==n&&this.setIndex(n.clone(t));const s=e.attributes;for(const e in s){const n=s[e];this.setAttribute(e,n.clone(t))}const i=e.morphAttributes;for(const e in i){const n=[],s=i[e];for(let e=0,i=s.length;e0){const n=e[t[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e(e.far-e.near)**2)return}Pn.copy(i).invert(),qn.copy(e.ray).applyMatrix4(Pn),null!==n.boundingBox&&!1===qn.intersectsBox(n.boundingBox)||this._computeIntersections(e,t,qn)}}_computeIntersections(e,t,n){let s;const i=this.geometry,a=this.material,l=i.index,r=i.attributes.position,o=i.attributes.uv,c=i.attributes.uv1,u=i.attributes.normal,p=i.groups,h=i.drawRange;if(null!==l)if(Array.isArray(a))for(let i=0,r=p.length;in.far?null:{distance:p,point:Kn.clone(),object:e}}(e,t,n,s,Hn,Bn,Un,Xn);if(h){i&&(Vn.fromBufferAttribute(i,r),jn.fromBufferAttribute(i,u),zn.fromBufferAttribute(i,p),h.uv=cn.getInterpolation(Xn,Hn,Bn,Un,Vn,jn,zn,new Te)),a&&(Vn.fromBufferAttribute(a,r),jn.fromBufferAttribute(a,u),zn.fromBufferAttribute(a,p),h.uv1=cn.getInterpolation(Xn,Hn,Bn,Un,Vn,jn,zn,new Te),h.uv2=h.uv1),l&&(Wn.fromBufferAttribute(l,r),kn.fromBufferAttribute(l,u),Yn.fromBufferAttribute(l,p),h.normal=cn.getInterpolation(Xn,Hn,Bn,Un,Wn,kn,Yn,new Ke),h.normal.dot(s.direction)>0&&h.normal.multiplyScalar(-1));const e={a:r,b:u,c:p,normal:new Ke,materialIndex:0};cn.getNormal(Hn,Bn,Un,e.normal),h.face=e}return h}class Jn extends Ln{constructor(e=1,t=1,n=1,s=1,i=1,a=1){super(),this.type=\"BoxGeometry\",this.parameters={width:e,height:t,depth:n,widthSegments:s,heightSegments:i,depthSegments:a};const l=this;s=Math.floor(s),i=Math.floor(i),a=Math.floor(a);const r=[],o=[],c=[],u=[];let p=0,h=0;function d(e,t,n,s,i,a,d,f,I,m,y){const v=a/I,w=d/m,T=a/2,E=d/2,g=f/2,R=I+1,D=m+1;let S=0,b=0;const N=new Ke;for(let a=0;a0?1:-1,c.push(N.x,N.y,N.z),u.push(r/I),u.push(1-a/m),S+=1}}for(let e=0;e0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const n={};for(const e in this.extensions)!0===this.extensions[e]&&(n[e]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}}class is extends Zt{constructor(){super(),this.isCamera=!0,this.type=\"Camera\",this.matrixWorldInverse=new St,this.projectionMatrix=new St,this.projectionMatrixInverse=new St,this.coordinateSystem=ie}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}class as extends is{constructor(e=50,t=1,n=.1,s=2e3){super(),this.isPerspectiveCamera=!0,this.type=\"PerspectiveCamera\",this.fov=e,this.zoom=1,this.near=n,this.far=s,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=null===e.view?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=2*ue*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(.5*ce*this.fov);return.5*this.getFilmHeight()/e}getEffectiveFOV(){return 2*ue*Math.atan(Math.tan(.5*ce*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,n,s,i,a){this.aspect=e/t,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=s,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(.5*ce*this.fov)/this.zoom,n=2*t,s=this.aspect*n,i=-.5*s;const a=this.view;if(null!==this.view&&this.view.enabled){const e=a.fullWidth,l=a.fullHeight;i+=a.offsetX*s/e,t-=a.offsetY*n/l,s*=a.width/e,n*=a.height/l}const l=this.filmOffset;0!==l&&(i+=e*l/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+s,t,t-n,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,null!==this.view&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const ls=-90;class rs extends Zt{constructor(e,t,n){super(),this.type=\"CubeCamera\",this.renderTarget=n,this.coordinateSystem=null;const s=new as(ls,1,e,t);s.layers=this.layers,this.add(s);const i=new as(ls,1,e,t);i.layers=this.layers,this.add(i);const a=new as(ls,1,e,t);a.layers=this.layers,this.add(a);const l=new as(ls,1,e,t);l.layers=this.layers,this.add(l);const r=new as(ls,1,e,t);r.layers=this.layers,this.add(r);const o=new as(ls,1,e,t);o.layers=this.layers,this.add(o)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[n,s,i,a,l,r]=t;for(const e of t)this.remove(e);if(e===ie)n.up.set(0,1,0),n.lookAt(1,0,0),s.up.set(0,1,0),s.lookAt(-1,0,0),i.up.set(0,0,-1),i.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),l.up.set(0,1,0),l.lookAt(0,0,1),r.up.set(0,1,0),r.lookAt(0,0,-1);else{if(e!==ae)throw new Error(\"THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: \"+e);n.up.set(0,-1,0),n.lookAt(-1,0,0),s.up.set(0,-1,0),s.lookAt(1,0,0),i.up.set(0,0,1),i.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),l.up.set(0,-1,0),l.lookAt(0,0,1),r.up.set(0,-1,0),r.lookAt(0,0,-1)}for(const e of t)this.add(e),e.updateMatrixWorld()}update(e,t){null===this.parent&&this.updateMatrixWorld();const n=this.renderTarget;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,i,a,l,r,o]=this.children,c=e.getRenderTarget(),u=e.xr.enabled;e.xr.enabled=!1;const p=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0),e.render(t,s),e.setRenderTarget(n,1),e.render(t,i),e.setRenderTarget(n,2),e.render(t,a),e.setRenderTarget(n,3),e.render(t,l),e.setRenderTarget(n,4),e.render(t,r),n.texture.generateMipmaps=p,e.setRenderTarget(n,5),e.render(t,o),e.setRenderTarget(c),e.xr.enabled=u,n.texture.needsPMREMUpdate=!0}}class os extends Ge{constructor(e,t,n,s,i,a,l,r,o,c){super(e=void 0!==e?e:[],t=void 0!==t?t:g,n,s,i,a,l,r,o,c),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class cs extends ze{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const n={width:e,height:e,depth:1},s=[n,n,n,n,n,n];void 0!==t.encoding&&(Ne(\"THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace.\"),t.colorSpace=t.encoding===Z?J:Q),this.texture=new os(s,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==t.generateMipmaps&&t.generateMipmaps,this.texture.minFilter=void 0!==t.minFilter?t.minFilter:x}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const n={tEquirect:{value:null}},s=\"\\n\\n\\t\\t\\t\\tvarying vec3 vWorldDirection;\\n\\n\\t\\t\\t\\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\n\\t\\t\\t\\t\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\t\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\n\\t\\t\\t\\t\\t#include \\n\\t\\t\\t\\t\\t#include \\n\\n\\t\\t\\t\\t}\\n\\t\\t\\t\",i=\"\\n\\n\\t\\t\\t\\tuniform sampler2D tEquirect;\\n\\n\\t\\t\\t\\tvarying vec3 vWorldDirection;\\n\\n\\t\\t\\t\\t#include \\n\\n\\t\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\t\\tvec3 direction = normalize( vWorldDirection );\\n\\n\\t\\t\\t\\t\\tvec2 sampleUV = equirectUv( direction );\\n\\n\\t\\t\\t\\t\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n\\n\\t\\t\\t\\t}\\n\\t\\t\\t\",a=new Jn(5,5,5),l=new ss({name:\"CubemapFromEquirect\",uniforms:$n(n),vertexShader:s,fragmentShader:i,side:c,blending:p});l.uniforms.tEquirect.value=t;const r=new Zn(a,l),o=t.minFilter;return t.minFilter===C&&(t.minFilter=x),new rs(1,10,this).update(e,r),t.minFilter=o,r.geometry.dispose(),r.material.dispose(),this}clear(e,t,n,s){const i=e.getRenderTarget();for(let i=0;i<6;i++)e.setRenderTarget(this,i),e.clear(t,n,s);e.setRenderTarget(i)}}const us=new Ke,ps=new Ke,hs=new Ee;class ds{constructor(e=new Ke(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,n,s){return this.normal.set(e,t,n),this.constant=s,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,n){const s=us.subVectors(n,t).cross(ps.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(s,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){const n=e.delta(us),s=this.normal.dot(n);if(0===s)return 0===this.distanceToPoint(e.start)?t.copy(e.start):null;const i=-(e.start.dot(this.normal)+this.constant)/s;return i<0||i>1?null:t.copy(e.start).addScaledVector(n,i)}intersectsLine(e){const t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>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,t){const n=t||hs.getNormalMatrix(e),s=this.coplanarPoint(us).applyMatrix4(e),i=this.normal.applyMatrix3(n).normalize();return this.constant=-s.dot(i),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)}}const fs=new mt,Is=new Ke;class ms{constructor(e=new ds,t=new ds,n=new ds,s=new ds,i=new ds,a=new ds){this.planes=[e,t,n,s,i,a]}set(e,t,n,s,i,a){const l=this.planes;return l[0].copy(e),l[1].copy(t),l[2].copy(n),l[3].copy(s),l[4].copy(i),l[5].copy(a),this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e,t=2e3){const n=this.planes,s=e.elements,i=s[0],a=s[1],l=s[2],r=s[3],o=s[4],c=s[5],u=s[6],p=s[7],h=s[8],d=s[9],f=s[10],I=s[11],m=s[12],y=s[13],v=s[14],w=s[15];if(n[0].setComponents(r-i,p-o,I-h,w-m).normalize(),n[1].setComponents(r+i,p+o,I+h,w+m).normalize(),n[2].setComponents(r+a,p+c,I+d,w+y).normalize(),n[3].setComponents(r-a,p-c,I-d,w-y).normalize(),n[4].setComponents(r-l,p-u,I-f,w-v).normalize(),t===ie)n[5].setComponents(r+l,p+u,I+f,w+v).normalize();else{if(t!==ae)throw new Error(\"THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: \"+t);n[5].setComponents(l,u,f,v).normalize()}return this}intersectsObject(e){if(void 0!==e.boundingSphere)null===e.boundingSphere&&e.computeBoundingSphere(),fs.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;null===t.boundingSphere&&t.computeBoundingSphere(),fs.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(fs)}intersectsSprite(e){return fs.center.set(0,0,0),fs.radius=.7071067811865476,fs.applyMatrix4(e.matrixWorld),this.intersectsSphere(fs)}intersectsSphere(e){const t=this.planes,n=e.center,s=-e.radius;for(let e=0;e<6;e++)if(t[e].distanceToPoint(n)0?e.max.x:e.min.x,Is.y=s.normal.y>0?e.max.y:e.min.y,Is.z=s.normal.z>0?e.max.z:e.min.z,s.distanceToPoint(Is)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function ys(){let e=null,t=!1,n=null,s=null;function i(t,a){n(t,a),s=e.requestAnimationFrame(i)}return{start:function(){!0!==t&&null!==n&&(s=e.requestAnimationFrame(i),t=!0)},stop:function(){e.cancelAnimationFrame(s),t=!1},setAnimationLoop:function(e){n=e},setContext:function(t){e=t}}}function vs(e,t){const n=t.isWebGL2,s=new WeakMap;return{get:function(e){return e.isInterleavedBufferAttribute&&(e=e.data),s.get(e)},remove:function(t){t.isInterleavedBufferAttribute&&(t=t.data);const n=s.get(t);n&&(e.deleteBuffer(n.buffer),s.delete(t))},update:function(t,i){if(t.isGLBufferAttribute){const e=s.get(t);return void((!e||e.version 0\\n\\tvec4 plane;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\\n\\t\\tplane = clippingPlanes[ i ];\\n\\t\\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\\n\\t\\tbool clipped = true;\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\\n\\t\\t\\tplane = clippingPlanes[ i ];\\n\\t\\t\\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t\\tif ( clipped ) discard;\\n\\t#endif\\n#endif\",clipping_planes_pars_fragment:\"#if NUM_CLIPPING_PLANES > 0\\n\\tvarying vec3 vClipPosition;\\n\\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\\n#endif\",clipping_planes_pars_vertex:\"#if NUM_CLIPPING_PLANES > 0\\n\\tvarying vec3 vClipPosition;\\n#endif\",clipping_planes_vertex:\"#if NUM_CLIPPING_PLANES > 0\\n\\tvClipPosition = - mvPosition.xyz;\\n#endif\",color_fragment:\"#if defined( USE_COLOR_ALPHA )\\n\\tdiffuseColor *= vColor;\\n#elif defined( USE_COLOR )\\n\\tdiffuseColor.rgb *= vColor;\\n#endif\",color_pars_fragment:\"#if defined( USE_COLOR_ALPHA )\\n\\tvarying vec4 vColor;\\n#elif defined( USE_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\",color_pars_vertex:\"#if defined( USE_COLOR_ALPHA )\\n\\tvarying vec4 vColor;\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\",color_vertex:\"#if defined( USE_COLOR_ALPHA )\\n\\tvColor = vec4( 1.0 );\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\\n\\tvColor = vec3( 1.0 );\\n#endif\\n#ifdef USE_COLOR\\n\\tvColor *= color;\\n#endif\\n#ifdef USE_INSTANCING_COLOR\\n\\tvColor.xyz *= instanceColor.xyz;\\n#endif\",common:\"#define PI 3.141592653589793\\n#define PI2 6.283185307179586\\n#define PI_HALF 1.5707963267948966\\n#define RECIPROCAL_PI 0.3183098861837907\\n#define RECIPROCAL_PI2 0.15915494309189535\\n#define EPSILON 1e-6\\n#ifndef saturate\\n#define saturate( a ) clamp( a, 0.0, 1.0 )\\n#endif\\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\\nfloat pow2( const in float x ) { return x*x; }\\nvec3 pow2( const in vec3 x ) { return x*x; }\\nfloat pow3( const in float x ) { return x*x*x; }\\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\\nhighp float rand( const in vec2 uv ) {\\n\\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n\\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\\n\\treturn fract( sin( sn ) * c );\\n}\\n#ifdef HIGH_PRECISION\\n\\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\\n#else\\n\\tfloat precisionSafeLength( vec3 v ) {\\n\\t\\tfloat maxComponent = max3( abs( v ) );\\n\\t\\treturn length( v / maxComponent ) * maxComponent;\\n\\t}\\n#endif\\nstruct IncidentLight {\\n\\tvec3 color;\\n\\tvec3 direction;\\n\\tbool visible;\\n};\\nstruct ReflectedLight {\\n\\tvec3 directDiffuse;\\n\\tvec3 directSpecular;\\n\\tvec3 indirectDiffuse;\\n\\tvec3 indirectSpecular;\\n};\\nstruct GeometricContext {\\n\\tvec3 position;\\n\\tvec3 normal;\\n\\tvec3 viewDir;\\n#ifdef USE_CLEARCOAT\\n\\tvec3 clearcoatNormal;\\n#endif\\n};\\n#ifdef USE_ALPHAHASH\\n\\tvarying vec3 vPosition;\\n#endif\\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n}\\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\\n}\\nmat3 transposeMat3( const in mat3 m ) {\\n\\tmat3 tmp;\\n\\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\\n\\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\\n\\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\\n\\treturn tmp;\\n}\\nfloat luminance( const in vec3 rgb ) {\\n\\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\\n\\treturn dot( weights, rgb );\\n}\\nbool isPerspectiveMatrix( mat4 m ) {\\n\\treturn m[ 2 ][ 3 ] == - 1.0;\\n}\\nvec2 equirectUv( in vec3 dir ) {\\n\\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\\n\\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\\n\\treturn vec2( u, v );\\n}\\nvec3 BRDF_Lambert( const in vec3 diffuseColor ) {\\n\\treturn RECIPROCAL_PI * diffuseColor;\\n}\\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\\n\\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\\n\\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\\n}\\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\\n\\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\\n\\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\\n} // validated\",cube_uv_reflection_fragment:\"#ifdef ENVMAP_TYPE_CUBE_UV\\n\\t#define cubeUV_minMipLevel 4.0\\n\\t#define cubeUV_minTileSize 16.0\\n\\tfloat getFace( vec3 direction ) {\\n\\t\\tvec3 absDirection = abs( direction );\\n\\t\\tfloat face = - 1.0;\\n\\t\\tif ( absDirection.x > absDirection.z ) {\\n\\t\\t\\tif ( absDirection.x > absDirection.y )\\n\\t\\t\\t\\tface = direction.x > 0.0 ? 0.0 : 3.0;\\n\\t\\t\\telse\\n\\t\\t\\t\\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\\t\\t} else {\\n\\t\\t\\tif ( absDirection.z > absDirection.y )\\n\\t\\t\\t\\tface = direction.z > 0.0 ? 2.0 : 5.0;\\n\\t\\t\\telse\\n\\t\\t\\t\\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\\t\\t}\\n\\t\\treturn face;\\n\\t}\\n\\tvec2 getUV( vec3 direction, float face ) {\\n\\t\\tvec2 uv;\\n\\t\\tif ( face == 0.0 ) {\\n\\t\\t\\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\\n\\t\\t} else if ( face == 1.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\\n\\t\\t} else if ( face == 2.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\\n\\t\\t} else if ( face == 3.0 ) {\\n\\t\\t\\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\\n\\t\\t} else if ( face == 4.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\\n\\t\\t} else {\\n\\t\\t\\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\\n\\t\\t}\\n\\t\\treturn 0.5 * ( uv + 1.0 );\\n\\t}\\n\\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\\n\\t\\tfloat face = getFace( direction );\\n\\t\\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\\n\\t\\tmipInt = max( mipInt, cubeUV_minMipLevel );\\n\\t\\tfloat faceSize = exp2( mipInt );\\n\\t\\thighp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\\n\\t\\tif ( face > 2.0 ) {\\n\\t\\t\\tuv.y += faceSize;\\n\\t\\t\\tface -= 3.0;\\n\\t\\t}\\n\\t\\tuv.x += face * faceSize;\\n\\t\\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\\n\\t\\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\\n\\t\\tuv.x *= CUBEUV_TEXEL_WIDTH;\\n\\t\\tuv.y *= CUBEUV_TEXEL_HEIGHT;\\n\\t\\t#ifdef texture2DGradEXT\\n\\t\\t\\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\\n\\t\\t#else\\n\\t\\t\\treturn texture2D( envMap, uv ).rgb;\\n\\t\\t#endif\\n\\t}\\n\\t#define cubeUV_r0 1.0\\n\\t#define cubeUV_v0 0.339\\n\\t#define cubeUV_m0 - 2.0\\n\\t#define cubeUV_r1 0.8\\n\\t#define cubeUV_v1 0.276\\n\\t#define cubeUV_m1 - 1.0\\n\\t#define cubeUV_r4 0.4\\n\\t#define cubeUV_v4 0.046\\n\\t#define cubeUV_m4 2.0\\n\\t#define cubeUV_r5 0.305\\n\\t#define cubeUV_v5 0.016\\n\\t#define cubeUV_m5 3.0\\n\\t#define cubeUV_r6 0.21\\n\\t#define cubeUV_v6 0.0038\\n\\t#define cubeUV_m6 4.0\\n\\tfloat roughnessToMip( float roughness ) {\\n\\t\\tfloat mip = 0.0;\\n\\t\\tif ( roughness >= cubeUV_r1 ) {\\n\\t\\t\\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\\n\\t\\t} else if ( roughness >= cubeUV_r4 ) {\\n\\t\\t\\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\\n\\t\\t} else if ( roughness >= cubeUV_r5 ) {\\n\\t\\t\\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\\n\\t\\t} else if ( roughness >= cubeUV_r6 ) {\\n\\t\\t\\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\\n\\t\\t} else {\\n\\t\\t\\tmip = - 2.0 * log2( 1.16 * roughness );\\t\\t}\\n\\t\\treturn mip;\\n\\t}\\n\\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\\n\\t\\tfloat mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\\n\\t\\tfloat mipF = fract( mip );\\n\\t\\tfloat mipInt = floor( mip );\\n\\t\\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\\n\\t\\tif ( mipF == 0.0 ) {\\n\\t\\t\\treturn vec4( color0, 1.0 );\\n\\t\\t} else {\\n\\t\\t\\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\\n\\t\\t\\treturn vec4( mix( color0, color1, mipF ), 1.0 );\\n\\t\\t}\\n\\t}\\n#endif\",defaultnormal_vertex:\"vec3 transformedNormal = objectNormal;\\n#ifdef USE_INSTANCING\\n\\tmat3 m = mat3( instanceMatrix );\\n\\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\\n\\ttransformedNormal = m * transformedNormal;\\n#endif\\ntransformedNormal = normalMatrix * transformedNormal;\\n#ifdef FLIP_SIDED\\n\\ttransformedNormal = - transformedNormal;\\n#endif\\n#ifdef USE_TANGENT\\n\\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\\n\\t#ifdef FLIP_SIDED\\n\\t\\ttransformedTangent = - transformedTangent;\\n\\t#endif\\n#endif\",displacementmap_pars_vertex:\"#ifdef USE_DISPLACEMENTMAP\\n\\tuniform sampler2D displacementMap;\\n\\tuniform float displacementScale;\\n\\tuniform float displacementBias;\\n#endif\",displacementmap_vertex:\"#ifdef USE_DISPLACEMENTMAP\\n\\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias );\\n#endif\",emissivemap_fragment:\"#ifdef USE_EMISSIVEMAP\\n\\tvec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\\n\\ttotalEmissiveRadiance *= emissiveColor.rgb;\\n#endif\",emissivemap_pars_fragment:\"#ifdef USE_EMISSIVEMAP\\n\\tuniform sampler2D emissiveMap;\\n#endif\",colorspace_fragment:\"gl_FragColor = linearToOutputTexel( gl_FragColor );\",colorspace_pars_fragment:\"vec4 LinearToLinear( in vec4 value ) {\\n\\treturn value;\\n}\\nvec4 LinearTosRGB( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\\n}\",envmap_fragment:\"#ifdef USE_ENVMAP\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvec3 cameraToFrag;\\n\\t\\tif ( isOrthographic ) {\\n\\t\\t\\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\\t\\t} else {\\n\\t\\t\\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\\n\\t\\t}\\n\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#else\\n\\t\\tvec3 reflectVec = vReflect;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n\\t#else\\n\\t\\tvec4 envColor = vec4( 0.0 );\\n\\t#endif\\n\\t#ifdef ENVMAP_BLENDING_MULTIPLY\\n\\t\\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_MIX )\\n\\t\\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_ADD )\\n\\t\\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\\n\\t#endif\\n#endif\",envmap_common_pars_fragment:\"#ifdef USE_ENVMAP\\n\\tuniform float envMapIntensity;\\n\\tuniform float flipEnvMap;\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tuniform samplerCube envMap;\\n\\t#else\\n\\t\\tuniform sampler2D envMap;\\n\\t#endif\\n\\t\\n#endif\",envmap_pars_fragment:\"#ifdef USE_ENVMAP\\n\\tuniform float reflectivity;\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\\n\\t\\t#define ENV_WORLDPOS\\n\\t#endif\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t\\tuniform float refractionRatio;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t#endif\\n#endif\",envmap_pars_vertex:\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\\n\\t\\t#define ENV_WORLDPOS\\n\\t#endif\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\t\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n#endif\",envmap_physical_pars_fragment:\"#ifdef USE_ENVMAP\\n\\tvec3 getIBLIrradiance( const in vec3 normal ) {\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE_UV\\n\\t\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\\n\\t\\t\\treturn PI * envMapColor.rgb * envMapIntensity;\\n\\t\\t#else\\n\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t#endif\\n\\t}\\n\\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE_UV\\n\\t\\t\\tvec3 reflectVec = reflect( - viewDir, normal );\\n\\t\\t\\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\\n\\t\\t\\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\\n\\t\\t\\treturn envMapColor.rgb * envMapIntensity;\\n\\t\\t#else\\n\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t#endif\\n\\t}\\n\\t#ifdef USE_ANISOTROPY\\n\\t\\tvec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {\\n\\t\\t\\t#ifdef ENVMAP_TYPE_CUBE_UV\\n\\t\\t\\t\\tvec3 bentNormal = cross( bitangent, viewDir );\\n\\t\\t\\t\\tbentNormal = normalize( cross( bentNormal, bitangent ) );\\n\\t\\t\\t\\tbentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );\\n\\t\\t\\t\\treturn getIBLRadiance( viewDir, bentNormal, roughness );\\n\\t\\t\\t#else\\n\\t\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t\\t#endif\\n\\t\\t}\\n\\t#endif\\n#endif\",envmap_vertex:\"#ifdef USE_ENVMAP\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvWorldPosition = worldPosition.xyz;\\n\\t#else\\n\\t\\tvec3 cameraToVertex;\\n\\t\\tif ( isOrthographic ) {\\n\\t\\t\\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\\t\\t} else {\\n\\t\\t\\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\\n\\t\\t}\\n\\t\\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvReflect = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#endif\\n#endif\",fog_vertex:\"#ifdef USE_FOG\\n\\tvFogDepth = - mvPosition.z;\\n#endif\",fog_pars_vertex:\"#ifdef USE_FOG\\n\\tvarying float vFogDepth;\\n#endif\",fog_fragment:\"#ifdef USE_FOG\\n\\t#ifdef FOG_EXP2\\n\\t\\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\\n\\t#else\\n\\t\\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\\n\\t#endif\\n\\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\",fog_pars_fragment:\"#ifdef USE_FOG\\n\\tuniform vec3 fogColor;\\n\\tvarying float vFogDepth;\\n\\t#ifdef FOG_EXP2\\n\\t\\tuniform float fogDensity;\\n\\t#else\\n\\t\\tuniform float fogNear;\\n\\t\\tuniform float fogFar;\\n\\t#endif\\n#endif\",gradientmap_pars_fragment:\"#ifdef USE_GRADIENTMAP\\n\\tuniform sampler2D gradientMap;\\n#endif\\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\\n\\tfloat dotNL = dot( normal, lightDirection );\\n\\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\\n\\t#ifdef USE_GRADIENTMAP\\n\\t\\treturn vec3( texture2D( gradientMap, coord ).r );\\n\\t#else\\n\\t\\tvec2 fw = fwidth( coord ) * 0.5;\\n\\t\\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\\n\\t#endif\\n}\",lightmap_fragment:\"#ifdef USE_LIGHTMAP\\n\\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\\n\\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\\n\\treflectedLight.indirectDiffuse += lightMapIrradiance;\\n#endif\",lightmap_pars_fragment:\"#ifdef USE_LIGHTMAP\\n\\tuniform sampler2D lightMap;\\n\\tuniform float lightMapIntensity;\\n#endif\",lights_lambert_fragment:\"LambertMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularStrength = specularStrength;\",lights_lambert_pars_fragment:\"varying vec3 vViewPosition;\\nstruct LambertMaterial {\\n\\tvec3 diffuseColor;\\n\\tfloat specularStrength;\\n};\\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Lambert\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Lambert\",lights_pars_begin:\"uniform bool receiveShadow;\\nuniform vec3 ambientLightColor;\\nuniform vec3 lightProbe[ 9 ];\\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\\n\\tfloat x = normal.x, y = normal.y, z = normal.z;\\n\\tvec3 result = shCoefficients[ 0 ] * 0.886227;\\n\\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\\n\\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\\n\\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\\n\\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\\n\\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\\n\\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\\n\\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\\n\\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\\n\\treturn result;\\n}\\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\\n\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\\n\\treturn irradiance;\\n}\\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\\n\\tvec3 irradiance = ambientLightColor;\\n\\treturn irradiance;\\n}\\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\\n\\t#if defined ( LEGACY_LIGHTS )\\n\\t\\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\\n\\t\\t\\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\\n\\t\\t}\\n\\t\\treturn 1.0;\\n\\t#else\\n\\t\\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\\n\\t\\tif ( cutoffDistance > 0.0 ) {\\n\\t\\t\\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\\n\\t\\t}\\n\\t\\treturn distanceFalloff;\\n\\t#endif\\n}\\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\\n\\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\\n}\\n#if NUM_DIR_LIGHTS > 0\\n\\tstruct DirectionalLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t};\\n\\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\\n\\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tlight.color = directionalLight.color;\\n\\t\\tlight.direction = directionalLight.direction;\\n\\t\\tlight.visible = true;\\n\\t}\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\tstruct PointLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t};\\n\\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\\n\\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tvec3 lVector = pointLight.position - geometry.position;\\n\\t\\tlight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tlight.color = pointLight.color;\\n\\t\\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\\n\\t\\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tstruct SpotLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tfloat coneCos;\\n\\t\\tfloat penumbraCos;\\n\\t};\\n\\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\\n\\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tvec3 lVector = spotLight.position - geometry.position;\\n\\t\\tlight.direction = normalize( lVector );\\n\\t\\tfloat angleCos = dot( light.direction, spotLight.direction );\\n\\t\\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\\n\\t\\tif ( spotAttenuation > 0.0 ) {\\n\\t\\t\\tfloat lightDistance = length( lVector );\\n\\t\\t\\tlight.color = spotLight.color * spotAttenuation;\\n\\t\\t\\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\\n\\t\\t\\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\\t\\t} else {\\n\\t\\t\\tlight.color = vec3( 0.0 );\\n\\t\\t\\tlight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tstruct RectAreaLight {\\n\\t\\tvec3 color;\\n\\t\\tvec3 position;\\n\\t\\tvec3 halfWidth;\\n\\t\\tvec3 halfHeight;\\n\\t};\\n\\tuniform sampler2D ltc_1;\\tuniform sampler2D ltc_2;\\n\\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tstruct HemisphereLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 skyColor;\\n\\t\\tvec3 groundColor;\\n\\t};\\n\\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\\n\\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\\n\\t\\tfloat dotNL = dot( normal, hemiLight.direction );\\n\\t\\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\\n\\t\\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\\n\\t\\treturn irradiance;\\n\\t}\\n#endif\",lights_toon_fragment:\"ToonMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\",lights_toon_pars_fragment:\"varying vec3 vViewPosition;\\nstruct ToonMaterial {\\n\\tvec3 diffuseColor;\\n};\\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Toon\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Toon\",lights_phong_fragment:\"BlinnPhongMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularColor = specular;\\nmaterial.specularShininess = shininess;\\nmaterial.specularStrength = specularStrength;\",lights_phong_pars_fragment:\"varying vec3 vViewPosition;\\nstruct BlinnPhongMaterial {\\n\\tvec3 diffuseColor;\\n\\tvec3 specularColor;\\n\\tfloat specularShininess;\\n\\tfloat specularStrength;\\n};\\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n\\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\\n}\\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_BlinnPhong\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_BlinnPhong\",lights_physical_fragment:\"PhysicalMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\\nmaterial.roughness = min( material.roughness, 1.0 );\\n#ifdef IOR\\n\\tmaterial.ior = ior;\\n\\t#ifdef USE_SPECULAR\\n\\t\\tfloat specularIntensityFactor = specularIntensity;\\n\\t\\tvec3 specularColorFactor = specularColor;\\n\\t\\t#ifdef USE_SPECULAR_COLORMAP\\n\\t\\t\\tspecularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\\n\\t\\t#endif\\n\\t\\t#ifdef USE_SPECULAR_INTENSITYMAP\\n\\t\\t\\tspecularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\\n\\t\\t#endif\\n\\t\\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\\n\\t#else\\n\\t\\tfloat specularIntensityFactor = 1.0;\\n\\t\\tvec3 specularColorFactor = vec3( 1.0 );\\n\\t\\tmaterial.specularF90 = 1.0;\\n\\t#endif\\n\\tmaterial.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\\n#else\\n\\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\\n\\tmaterial.specularF90 = 1.0;\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tmaterial.clearcoat = clearcoat;\\n\\tmaterial.clearcoatRoughness = clearcoatRoughness;\\n\\tmaterial.clearcoatF0 = vec3( 0.04 );\\n\\tmaterial.clearcoatF90 = 1.0;\\n\\t#ifdef USE_CLEARCOATMAP\\n\\t\\tmaterial.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\t\\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;\\n\\t#endif\\n\\tmaterial.clearcoat = saturate( material.clearcoat );\\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\\n\\tmaterial.clearcoatRoughness += geometryRoughness;\\n\\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\\tmaterial.iridescence = iridescence;\\n\\tmaterial.iridescenceIOR = iridescenceIOR;\\n\\t#ifdef USE_IRIDESCENCEMAP\\n\\t\\tmaterial.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;\\n\\t#endif\\n\\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\t\\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;\\n\\t#else\\n\\t\\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\\n\\t#endif\\n#endif\\n#ifdef USE_SHEEN\\n\\tmaterial.sheenColor = sheenColor;\\n\\t#ifdef USE_SHEEN_COLORMAP\\n\\t\\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\\n\\t#endif\\n\\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\\n\\t#ifdef USE_SHEEN_ROUGHNESSMAP\\n\\t\\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\\n\\t#endif\\n#endif\\n#ifdef USE_ANISOTROPY\\n\\t#ifdef USE_ANISOTROPYMAP\\n\\t\\tmat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x );\\n\\t\\tvec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb;\\n\\t\\tvec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b;\\n\\t#else\\n\\t\\tvec2 anisotropyV = anisotropyVector;\\n\\t#endif\\n\\tmaterial.anisotropy = length( anisotropyV );\\n\\tanisotropyV /= material.anisotropy;\\n\\tmaterial.anisotropy = saturate( material.anisotropy );\\n\\tmaterial.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );\\n\\tmaterial.anisotropyT = tbn[ 0 ] * anisotropyV.x - tbn[ 1 ] * anisotropyV.y;\\n\\tmaterial.anisotropyB = tbn[ 1 ] * anisotropyV.x + tbn[ 0 ] * anisotropyV.y;\\n#endif\",lights_physical_pars_fragment:\"struct PhysicalMaterial {\\n\\tvec3 diffuseColor;\\n\\tfloat roughness;\\n\\tvec3 specularColor;\\n\\tfloat specularF90;\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat clearcoat;\\n\\t\\tfloat clearcoatRoughness;\\n\\t\\tvec3 clearcoatF0;\\n\\t\\tfloat clearcoatF90;\\n\\t#endif\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tfloat iridescence;\\n\\t\\tfloat iridescenceIOR;\\n\\t\\tfloat iridescenceThickness;\\n\\t\\tvec3 iridescenceFresnel;\\n\\t\\tvec3 iridescenceF0;\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tvec3 sheenColor;\\n\\t\\tfloat sheenRoughness;\\n\\t#endif\\n\\t#ifdef IOR\\n\\t\\tfloat ior;\\n\\t#endif\\n\\t#ifdef USE_TRANSMISSION\\n\\t\\tfloat transmission;\\n\\t\\tfloat transmissionAlpha;\\n\\t\\tfloat thickness;\\n\\t\\tfloat attenuationDistance;\\n\\t\\tvec3 attenuationColor;\\n\\t#endif\\n\\t#ifdef USE_ANISOTROPY\\n\\t\\tfloat anisotropy;\\n\\t\\tfloat alphaT;\\n\\t\\tvec3 anisotropyT;\\n\\t\\tvec3 anisotropyB;\\n\\t#endif\\n};\\nvec3 clearcoatSpecular = vec3( 0.0 );\\nvec3 sheenSpecular = vec3( 0.0 );\\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\\n float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\\n float x2 = x * x;\\n float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\\n return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\\n}\\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\treturn 0.5 / max( gv + gl, EPSILON );\\n}\\nfloat D_GGX( const in float alpha, const in float dotNH ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\\n\\treturn RECIPROCAL_PI * a2 / pow2( denom );\\n}\\n#ifdef USE_ANISOTROPY\\n\\tfloat V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) {\\n\\t\\tfloat gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) );\\n\\t\\tfloat gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) );\\n\\t\\tfloat v = 0.5 / ( gv + gl );\\n\\t\\treturn saturate(v);\\n\\t}\\n\\tfloat D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) {\\n\\t\\tfloat a2 = alphaT * alphaB;\\n\\t\\thighp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH );\\n\\t\\thighp float v2 = dot( v, v );\\n\\t\\tfloat w2 = a2 / v2;\\n\\t\\treturn RECIPROCAL_PI * a2 * pow2 ( w2 );\\n\\t}\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tvec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\\n\\t\\tvec3 f0 = material.clearcoatF0;\\n\\t\\tfloat f90 = material.clearcoatF90;\\n\\t\\tfloat roughness = material.clearcoatRoughness;\\n\\t\\tfloat alpha = pow2( roughness );\\n\\t\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\t\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\t\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\t\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\t\\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\\t\\tvec3 F = F_Schlick( f0, f90, dotVH );\\n\\t\\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\t\\tfloat D = D_GGX( alpha, dotNH );\\n\\t\\treturn F * ( V * D );\\n\\t}\\n#endif\\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\\n\\tvec3 f0 = material.specularColor;\\n\\tfloat f90 = material.specularF90;\\n\\tfloat roughness = material.roughness;\\n\\tfloat alpha = pow2( roughness );\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\\tvec3 F = F_Schlick( f0, f90, dotVH );\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tF = mix( F, material.iridescenceFresnel, material.iridescence );\\n\\t#endif\\n\\t#ifdef USE_ANISOTROPY\\n\\t\\tfloat dotTL = dot( material.anisotropyT, lightDir );\\n\\t\\tfloat dotTV = dot( material.anisotropyT, viewDir );\\n\\t\\tfloat dotTH = dot( material.anisotropyT, halfDir );\\n\\t\\tfloat dotBL = dot( material.anisotropyB, lightDir );\\n\\t\\tfloat dotBV = dot( material.anisotropyB, viewDir );\\n\\t\\tfloat dotBH = dot( material.anisotropyB, halfDir );\\n\\t\\tfloat V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL );\\n\\t\\tfloat D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH );\\n\\t#else\\n\\t\\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\t\\tfloat D = D_GGX( alpha, dotNH );\\n\\t#endif\\n\\treturn F * ( V * D );\\n}\\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\\n\\tconst float LUT_SIZE = 64.0;\\n\\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\\n\\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\\n\\tfloat dotNV = saturate( dot( N, V ) );\\n\\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\\n\\tuv = uv * LUT_SCALE + LUT_BIAS;\\n\\treturn uv;\\n}\\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\\n\\tfloat l = length( f );\\n\\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\\n}\\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\\n\\tfloat x = dot( v1, v2 );\\n\\tfloat y = abs( x );\\n\\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\\n\\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\\n\\tfloat v = a / b;\\n\\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\\n\\treturn cross( v1, v2 ) * theta_sintheta;\\n}\\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\\n\\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\\n\\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\\n\\tvec3 lightNormal = cross( v1, v2 );\\n\\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\\n\\tvec3 T1, T2;\\n\\tT1 = normalize( V - N * dot( V, N ) );\\n\\tT2 = - cross( N, T1 );\\n\\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\\n\\tvec3 coords[ 4 ];\\n\\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\\n\\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\\n\\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\\n\\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\\n\\tcoords[ 0 ] = normalize( coords[ 0 ] );\\n\\tcoords[ 1 ] = normalize( coords[ 1 ] );\\n\\tcoords[ 2 ] = normalize( coords[ 2 ] );\\n\\tcoords[ 3 ] = normalize( coords[ 3 ] );\\n\\tvec3 vectorFormFactor = vec3( 0.0 );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\\n\\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\\n\\treturn vec3( result );\\n}\\n#if defined( USE_SHEEN )\\nfloat D_Charlie( float roughness, float dotNH ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tfloat invAlpha = 1.0 / alpha;\\n\\tfloat cos2h = dotNH * dotNH;\\n\\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\\n\\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\\n}\\nfloat V_Neubelt( float dotNV, float dotNL ) {\\n\\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\\n}\\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat D = D_Charlie( sheenRoughness, dotNH );\\n\\tfloat V = V_Neubelt( dotNV, dotNL );\\n\\treturn sheenColor * ( D * V );\\n}\\n#endif\\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat r2 = roughness * roughness;\\n\\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\\n\\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\\n\\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\\n\\treturn saturate( DG * RECIPROCAL_PI );\\n}\\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\\n\\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\\n\\tvec4 r = roughness * c0 + c1;\\n\\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\\n\\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\\n\\treturn fab;\\n}\\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\\n\\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\\treturn specularColor * fab.x + specularF90 * fab.y;\\n}\\n#ifdef USE_IRIDESCENCE\\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\\n#else\\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\\n#endif\\n\\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\\n\\t#else\\n\\t\\tvec3 Fr = specularColor;\\n\\t#endif\\n\\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\\n\\tfloat Ess = fab.x + fab.y;\\n\\tfloat Ems = 1.0 - Ess;\\n\\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\\n\\tsingleScatter += FssEss;\\n\\tmultiScatter += Fms * Ems;\\n}\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t\\tvec3 normal = geometry.normal;\\n\\t\\tvec3 viewDir = geometry.viewDir;\\n\\t\\tvec3 position = geometry.position;\\n\\t\\tvec3 lightPos = rectAreaLight.position;\\n\\t\\tvec3 halfWidth = rectAreaLight.halfWidth;\\n\\t\\tvec3 halfHeight = rectAreaLight.halfHeight;\\n\\t\\tvec3 lightColor = rectAreaLight.color;\\n\\t\\tfloat roughness = material.roughness;\\n\\t\\tvec3 rectCoords[ 4 ];\\n\\t\\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\\t\\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\\n\\t\\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\\n\\t\\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\\n\\t\\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\\n\\t\\tvec4 t1 = texture2D( ltc_1, uv );\\n\\t\\tvec4 t2 = texture2D( ltc_2, uv );\\n\\t\\tmat3 mInv = mat3(\\n\\t\\t\\tvec3( t1.x, 0, t1.y ),\\n\\t\\t\\tvec3( 0, 1, 0 ),\\n\\t\\t\\tvec3( t1.z, 0, t1.w )\\n\\t\\t);\\n\\t\\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\\n\\t\\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\\n\\t\\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\\n\\t}\\n#endif\\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\\n\\t\\tvec3 ccIrradiance = dotNLcc * directLight.color;\\n\\t\\tclearcoatSpecular += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material );\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\\n\\t#endif\\n\\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material );\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\\n\\t#endif\\n\\tvec3 singleScattering = vec3( 0.0 );\\n\\tvec3 multiScattering = vec3( 0.0 );\\n\\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tcomputeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\\n\\t#else\\n\\t\\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\\n\\t#endif\\n\\tvec3 totalScattering = singleScattering + multiScattering;\\n\\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\\n\\treflectedLight.indirectSpecular += radiance * singleScattering;\\n\\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\\n\\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Physical\\n#define RE_Direct_RectArea\\t\\tRE_Direct_RectArea_Physical\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Physical\\n#define RE_IndirectSpecular\\t\\tRE_IndirectSpecular_Physical\\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\\n\\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\\n}\",lights_fragment_begin:\"\\nGeometricContext geometry;\\ngeometry.position = - vViewPosition;\\ngeometry.normal = normal;\\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\\n#ifdef USE_CLEARCOAT\\n\\tgeometry.clearcoatNormal = clearcoatNormal;\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\\tfloat dotNVi = saturate( dot( normal, geometry.viewDir ) );\\n\\tif ( material.iridescenceThickness == 0.0 ) {\\n\\t\\tmaterial.iridescence = 0.0;\\n\\t} else {\\n\\t\\tmaterial.iridescence = saturate( material.iridescence );\\n\\t}\\n\\tif ( material.iridescence > 0.0 ) {\\n\\t\\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\\n\\t\\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\\n\\t}\\n#endif\\nIncidentLight directLight;\\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tPointLight pointLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tgetPointLightInfo( pointLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\\n\\t\\tpointLightShadow = pointLightShadows[ i ];\\n\\t\\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tSpotLight spotLight;\\n\\tvec4 spotColor;\\n\\tvec3 spotLightCoord;\\n\\tbool inSpotLightMap;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tgetSpotLightInfo( spotLight, geometry, directLight );\\n\\t\\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\\n\\t\\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\\n\\t\\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\\n\\t\\t#else\\n\\t\\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\\n\\t\\t#endif\\n\\t\\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\\n\\t\\t\\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\\n\\t\\t\\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\\n\\t\\t\\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\\n\\t\\t\\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\\n\\t\\t#endif\\n\\t\\t#undef SPOT_LIGHT_MAP_INDEX\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\tspotLightShadow = spotLightShadows[ i ];\\n\\t\\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tDirectionalLight directionalLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\\n\\t\\tdirectionalLightShadow = directionalLightShadows[ i ];\\n\\t\\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\\n\\tRectAreaLight rectAreaLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\\n\\t\\trectAreaLight = rectAreaLights[ i ];\\n\\t\\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if defined( RE_IndirectDiffuse )\\n\\tvec3 iblIrradiance = vec3( 0.0 );\\n\\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\\n\\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\\n\\t#if ( NUM_HEMI_LIGHTS > 0 )\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\t\\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tvec3 radiance = vec3( 0.0 );\\n\\tvec3 clearcoatRadiance = vec3( 0.0 );\\n#endif\",lights_fragment_maps:\"#if defined( RE_IndirectDiffuse )\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\\n\\t\\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\\n\\t\\tirradiance += lightMapIrradiance;\\n\\t#endif\\n\\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tiblIrradiance += getIBLIrradiance( geometry.normal );\\n\\t#endif\\n#endif\\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\\n\\t#ifdef USE_ANISOTROPY\\n\\t\\tradiance += getIBLAnisotropyRadiance( geometry.viewDir, geometry.normal, material.roughness, material.anisotropyB, material.anisotropy );\\n\\t#else\\n\\t\\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\\n\\t#endif\\n#endif\",lights_fragment_end:\"#if defined( RE_IndirectDiffuse )\\n\\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\\n#endif\",logdepthbuf_fragment:\"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\\n\\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\\n#endif\",logdepthbuf_pars_fragment:\"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\\n\\tuniform float logDepthBufFC;\\n\\tvarying float vFragDepth;\\n\\tvarying float vIsPerspective;\\n#endif\",logdepthbuf_pars_vertex:\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t\\tvarying float vIsPerspective;\\n\\t#else\\n\\t\\tuniform float logDepthBufFC;\\n\\t#endif\\n#endif\",logdepthbuf_vertex:\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvFragDepth = 1.0 + gl_Position.w;\\n\\t\\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\\n\\t#else\\n\\t\\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\\n\\t\\t\\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\\n\\t\\t\\tgl_Position.z *= gl_Position.w;\\n\\t\\t}\\n\\t#endif\\n#endif\",map_fragment:\"#ifdef USE_MAP\\n\\tvec4 sampledDiffuseColor = texture2D( map, vMapUv );\\n\\t#ifdef DECODE_VIDEO_TEXTURE\\n\\t\\tsampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );\\n\\t\\n\\t#endif\\n\\tdiffuseColor *= sampledDiffuseColor;\\n#endif\",map_pars_fragment:\"#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\",map_particle_fragment:\"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\\t#if defined( USE_POINTS_UV )\\n\\t\\tvec2 uv = vUv;\\n\\t#else\\n\\t\\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\\n\\t#endif\\n#endif\\n#ifdef USE_MAP\\n\\tdiffuseColor *= texture2D( map, uv );\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\\n#endif\",map_particle_pars_fragment:\"#if defined( USE_POINTS_UV )\\n\\tvarying vec2 vUv;\\n#else\\n\\t#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\\t\\tuniform mat3 uvTransform;\\n\\t#endif\\n#endif\\n#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tuniform sampler2D alphaMap;\\n#endif\",metalnessmap_fragment:\"float metalnessFactor = metalness;\\n#ifdef USE_METALNESSMAP\\n\\tvec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );\\n\\tmetalnessFactor *= texelMetalness.b;\\n#endif\",metalnessmap_pars_fragment:\"#ifdef USE_METALNESSMAP\\n\\tuniform sampler2D metalnessMap;\\n#endif\",morphcolor_vertex:\"#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\\n\\tvColor *= morphTargetBaseInfluence;\\n\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\t#if defined( USE_COLOR_ALPHA )\\n\\t\\t\\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\\n\\t\\t#elif defined( USE_COLOR )\\n\\t\\t\\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\\n\\t\\t#endif\\n\\t}\\n#endif\",morphnormal_vertex:\"#ifdef USE_MORPHNORMALS\\n\\tobjectNormal *= morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\t\\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\\n\\t\\t}\\n\\t#else\\n\\t\\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\\n\\t\\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\\n\\t\\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\\n\\t\\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\\n\\t#endif\\n#endif\",morphtarget_pars_vertex:\"#ifdef USE_MORPHTARGETS\\n\\tuniform float morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\\n\\t\\tuniform sampler2DArray morphTargetsTexture;\\n\\t\\tuniform ivec2 morphTargetsTextureSize;\\n\\t\\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\\n\\t\\t\\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\\n\\t\\t\\tint y = texelIndex / morphTargetsTextureSize.x;\\n\\t\\t\\tint x = texelIndex - y * morphTargetsTextureSize.x;\\n\\t\\t\\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\\n\\t\\t\\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\\n\\t\\t}\\n\\t#else\\n\\t\\t#ifndef USE_MORPHNORMALS\\n\\t\\t\\tuniform float morphTargetInfluences[ 8 ];\\n\\t\\t#else\\n\\t\\t\\tuniform float morphTargetInfluences[ 4 ];\\n\\t\\t#endif\\n\\t#endif\\n#endif\",morphtarget_vertex:\"#ifdef USE_MORPHTARGETS\\n\\ttransformed *= morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\t\\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\\n\\t\\t}\\n\\t#else\\n\\t\\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\\n\\t\\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\\n\\t\\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\\n\\t\\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\\n\\t\\t#ifndef USE_MORPHNORMALS\\n\\t\\t\\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\\n\\t\\t\\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\\n\\t\\t\\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\\n\\t\\t\\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\\n\\t\\t#endif\\n\\t#endif\\n#endif\",normal_fragment_begin:\"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\\n#ifdef FLAT_SHADED\\n\\tvec3 fdx = dFdx( vViewPosition );\\n\\tvec3 fdy = dFdy( vViewPosition );\\n\\tvec3 normal = normalize( cross( fdx, fdy ) );\\n#else\\n\\tvec3 normal = normalize( vNormal );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal *= faceDirection;\\n\\t#endif\\n#endif\\n#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )\\n\\t#ifdef USE_TANGENT\\n\\t\\tmat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\\n\\t#else\\n\\t\\tmat3 tbn = getTangentFrame( - vViewPosition, normal,\\n\\t\\t#if defined( USE_NORMALMAP )\\n\\t\\t\\tvNormalMapUv\\n\\t\\t#elif defined( USE_CLEARCOAT_NORMALMAP )\\n\\t\\t\\tvClearcoatNormalMapUv\\n\\t\\t#else\\n\\t\\t\\tvUv\\n\\t\\t#endif\\n\\t\\t);\\n\\t#endif\\n\\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\\n\\t\\ttbn[0] *= faceDirection;\\n\\t\\ttbn[1] *= faceDirection;\\n\\t#endif\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\t#ifdef USE_TANGENT\\n\\t\\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\\n\\t#else\\n\\t\\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\\n\\t#endif\\n\\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\\n\\t\\ttbn2[0] *= faceDirection;\\n\\t\\ttbn2[1] *= faceDirection;\\n\\t#endif\\n#endif\\nvec3 geometryNormal = normal;\",normal_fragment_maps:\"#ifdef USE_NORMALMAP_OBJECTSPACE\\n\\tnormal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\\n\\t#ifdef FLIP_SIDED\\n\\t\\tnormal = - normal;\\n\\t#endif\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal = normal * faceDirection;\\n\\t#endif\\n\\tnormal = normalize( normalMatrix * normal );\\n#elif defined( USE_NORMALMAP_TANGENTSPACE )\\n\\tvec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\\n\\tmapN.xy *= normalScale;\\n\\tnormal = normalize( tbn * mapN );\\n#elif defined( USE_BUMPMAP )\\n\\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\\n#endif\",normal_pars_fragment:\"#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\",normal_pars_vertex:\"#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\",normal_vertex:\"#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n\\t#ifdef USE_TANGENT\\n\\t\\tvTangent = normalize( transformedTangent );\\n\\t\\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\\n\\t#endif\\n#endif\",normalmap_pars_fragment:\"#ifdef USE_NORMALMAP\\n\\tuniform sampler2D normalMap;\\n\\tuniform vec2 normalScale;\\n#endif\\n#ifdef USE_NORMALMAP_OBJECTSPACE\\n\\tuniform mat3 normalMatrix;\\n#endif\\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) )\\n\\tmat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\\n\\t\\tvec3 q0 = dFdx( eye_pos.xyz );\\n\\t\\tvec3 q1 = dFdy( eye_pos.xyz );\\n\\t\\tvec2 st0 = dFdx( uv.st );\\n\\t\\tvec2 st1 = dFdy( uv.st );\\n\\t\\tvec3 N = surf_norm;\\n\\t\\tvec3 q1perp = cross( q1, N );\\n\\t\\tvec3 q0perp = cross( N, q0 );\\n\\t\\tvec3 T = q1perp * st0.x + q0perp * st1.x;\\n\\t\\tvec3 B = q1perp * st0.y + q0perp * st1.y;\\n\\t\\tfloat det = max( dot( T, T ), dot( B, B ) );\\n\\t\\tfloat scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );\\n\\t\\treturn mat3( T * scale, B * scale, N );\\n\\t}\\n#endif\",clearcoat_normal_fragment_begin:\"#ifdef USE_CLEARCOAT\\n\\tvec3 clearcoatNormal = geometryNormal;\\n#endif\",clearcoat_normal_fragment_maps:\"#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\\n\\tclearcoatMapN.xy *= clearcoatNormalScale;\\n\\tclearcoatNormal = normalize( tbn2 * clearcoatMapN );\\n#endif\",clearcoat_pars_fragment:\"#ifdef USE_CLEARCOATMAP\\n\\tuniform sampler2D clearcoatMap;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tuniform sampler2D clearcoatNormalMap;\\n\\tuniform vec2 clearcoatNormalScale;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tuniform sampler2D clearcoatRoughnessMap;\\n#endif\",iridescence_pars_fragment:\"#ifdef USE_IRIDESCENCEMAP\\n\\tuniform sampler2D iridescenceMap;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\tuniform sampler2D iridescenceThicknessMap;\\n#endif\",opaque_fragment:\"#ifdef OPAQUE\\ndiffuseColor.a = 1.0;\\n#endif\\n#ifdef USE_TRANSMISSION\\ndiffuseColor.a *= material.transmissionAlpha;\\n#endif\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\",packing:\"vec3 packNormalToRGB( const in vec3 normal ) {\\n\\treturn normalize( normal ) * 0.5 + 0.5;\\n}\\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\\n\\treturn 2.0 * rgb.xyz - 1.0;\\n}\\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\\nconst float ShiftRight8 = 1. / 256.;\\nvec4 packDepthToRGBA( const in float v ) {\\n\\tvec4 r = vec4( fract( v * PackFactors ), v );\\n\\tr.yzw -= r.xyz * ShiftRight8;\\treturn r * PackUpscale;\\n}\\nfloat unpackRGBAToDepth( const in vec4 v ) {\\n\\treturn dot( v, UnpackFactors );\\n}\\nvec2 packDepthToRG( in highp float v ) {\\n\\treturn packDepthToRGBA( v ).yx;\\n}\\nfloat unpackRGToDepth( const in highp vec2 v ) {\\n\\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\\n}\\nvec4 pack2HalfToRGBA( vec2 v ) {\\n\\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\\n\\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\\n}\\nvec2 unpackRGBATo2Half( vec4 v ) {\\n\\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\\n}\\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( viewZ + near ) / ( near - far );\\n}\\nfloat orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) {\\n\\treturn depth * ( near - far ) - near;\\n}\\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\\n}\\nfloat perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {\\n\\treturn ( near * far ) / ( ( far - near ) * depth - far );\\n}\",premultiplied_alpha_fragment:\"#ifdef PREMULTIPLIED_ALPHA\\n\\tgl_FragColor.rgb *= gl_FragColor.a;\\n#endif\",project_vertex:\"vec4 mvPosition = vec4( transformed, 1.0 );\\n#ifdef USE_INSTANCING\\n\\tmvPosition = instanceMatrix * mvPosition;\\n#endif\\nmvPosition = modelViewMatrix * mvPosition;\\ngl_Position = projectionMatrix * mvPosition;\",dithering_fragment:\"#ifdef DITHERING\\n\\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\\n#endif\",dithering_pars_fragment:\"#ifdef DITHERING\\n\\tvec3 dithering( vec3 color ) {\\n\\t\\tfloat grid_position = rand( gl_FragCoord.xy );\\n\\t\\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\\n\\t\\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\\n\\t\\treturn color + dither_shift_RGB;\\n\\t}\\n#endif\",roughnessmap_fragment:\"float roughnessFactor = roughness;\\n#ifdef USE_ROUGHNESSMAP\\n\\tvec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );\\n\\troughnessFactor *= texelRoughness.g;\\n#endif\",roughnessmap_pars_fragment:\"#ifdef USE_ROUGHNESSMAP\\n\\tuniform sampler2D roughnessMap;\\n#endif\",shadowmap_pars_fragment:\"#if NUM_SPOT_LIGHT_COORDS > 0\\n\\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\\n#endif\\n#if NUM_SPOT_LIGHT_MAPS > 0\\n\\tuniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\\n#endif\\n#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tstruct SpotLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tstruct PointLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t\\tfloat shadowCameraNear;\\n\\t\\t\\tfloat shadowCameraFar;\\n\\t\\t};\\n\\t\\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\\n\\t\\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\\n\\t}\\n\\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\\n\\t\\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\\n\\t}\\n\\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\\n\\t\\tfloat occlusion = 1.0;\\n\\t\\tvec2 distribution = texture2DDistribution( shadow, uv );\\n\\t\\tfloat hard_shadow = step( compare , distribution.x );\\n\\t\\tif (hard_shadow != 1.0 ) {\\n\\t\\t\\tfloat distance = compare - distribution.x ;\\n\\t\\t\\tfloat variance = max( 0.00000, distribution.y * distribution.y );\\n\\t\\t\\tfloat softness_probability = variance / (variance + distance * distance );\\t\\t\\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\\t\\t\\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\\n\\t\\t}\\n\\t\\treturn occlusion;\\n\\t}\\n\\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tfloat shadow = 1.0;\\n\\t\\tshadowCoord.xyz /= shadowCoord.w;\\n\\t\\tshadowCoord.z += shadowBias;\\n\\t\\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\\n\\t\\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\\n\\t\\tif ( frustumTest ) {\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx2 = dx0 / 2.0;\\n\\t\\t\\tfloat dy2 = dy0 / 2.0;\\n\\t\\t\\tfloat dx3 = dx1 / 2.0;\\n\\t\\t\\tfloat dy3 = dy1 / 2.0;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 17.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx = texelSize.x;\\n\\t\\t\\tfloat dy = texelSize.y;\\n\\t\\t\\tvec2 uv = shadowCoord.xy;\\n\\t\\t\\tvec2 f = fract( uv * shadowMapSize + 0.5 );\\n\\t\\t\\tuv -= f * texelSize;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t f.x ),\\n\\t\\t\\t\\t\\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t f.x ),\\n\\t\\t\\t\\t\\t f.y )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#else\\n\\t\\t\\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn shadow;\\n\\t}\\n\\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\\n\\t\\tvec3 absV = abs( v );\\n\\t\\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\\n\\t\\tabsV *= scaleToCube;\\n\\t\\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\\n\\t\\tvec2 planar = v.xy;\\n\\t\\tfloat almostATexel = 1.5 * texelSizeY;\\n\\t\\tfloat almostOne = 1.0 - almostATexel;\\n\\t\\tif ( absV.z >= almostOne ) {\\n\\t\\t\\tif ( v.z > 0.0 )\\n\\t\\t\\t\\tplanar.x = 4.0 - v.x;\\n\\t\\t} else if ( absV.x >= almostOne ) {\\n\\t\\t\\tfloat signX = sign( v.x );\\n\\t\\t\\tplanar.x = v.z * signX + 2.0 * signX;\\n\\t\\t} else if ( absV.y >= almostOne ) {\\n\\t\\t\\tfloat signY = sign( v.y );\\n\\t\\t\\tplanar.x = v.x + 2.0 * signY + 2.0;\\n\\t\\t\\tplanar.y = v.z * signY - 2.0;\\n\\t\\t}\\n\\t\\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\\n\\t}\\n\\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\\n\\t\\tvec3 lightToPosition = shadowCoord.xyz;\\n\\t\\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\\t\\tdp += shadowBias;\\n\\t\\tvec3 bd3D = normalize( lightToPosition );\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\\n\\t\\t#endif\\n\\t}\\n#endif\",shadowmap_pars_vertex:\"#if NUM_SPOT_LIGHT_COORDS > 0\\n\\tuniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\\n\\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\\n#endif\\n#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t\\tstruct SpotLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tstruct PointLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t\\tfloat shadowCameraNear;\\n\\t\\t\\tfloat shadowCameraFar;\\n\\t\\t};\\n\\t\\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t#endif\\n#endif\",shadowmap_vertex:\"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\\n\\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\tvec4 shadowWorldPosition;\\n#endif\\n#if defined( USE_SHADOWMAP )\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\t\\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\t\\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\\n#if NUM_SPOT_LIGHT_COORDS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition;\\n\\t\\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\t\\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\\n\\t\\t#endif\\n\\t\\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\",shadowmask_pars_fragment:\"float getShadowMask() {\\n\\tfloat shadow = 1.0;\\n\\t#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tspotLight = spotLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tpointLight = pointLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#endif\\n\\treturn shadow;\\n}\",skinbase_vertex:\"#ifdef USE_SKINNING\\n\\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\\n\\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\\n\\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\\n\\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\\n#endif\",skinning_pars_vertex:\"#ifdef USE_SKINNING\\n\\tuniform mat4 bindMatrix;\\n\\tuniform mat4 bindMatrixInverse;\\n\\tuniform highp sampler2D boneTexture;\\n\\tuniform int boneTextureSize;\\n\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\tfloat j = i * 4.0;\\n\\t\\tfloat x = mod( j, float( boneTextureSize ) );\\n\\t\\tfloat y = floor( j / float( boneTextureSize ) );\\n\\t\\tfloat dx = 1.0 / float( boneTextureSize );\\n\\t\\tfloat dy = 1.0 / float( boneTextureSize );\\n\\t\\ty = dy * ( y + 0.5 );\\n\\t\\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\\n\\t\\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\\n\\t\\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\\n\\t\\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\\n\\t\\tmat4 bone = mat4( v1, v2, v3, v4 );\\n\\t\\treturn bone;\\n\\t}\\n#endif\",skinning_vertex:\"#ifdef USE_SKINNING\\n\\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\\n\\tvec4 skinned = vec4( 0.0 );\\n\\tskinned += boneMatX * skinVertex * skinWeight.x;\\n\\tskinned += boneMatY * skinVertex * skinWeight.y;\\n\\tskinned += boneMatZ * skinVertex * skinWeight.z;\\n\\tskinned += boneMatW * skinVertex * skinWeight.w;\\n\\ttransformed = ( bindMatrixInverse * skinned ).xyz;\\n#endif\",skinnormal_vertex:\"#ifdef USE_SKINNING\\n\\tmat4 skinMatrix = mat4( 0.0 );\\n\\tskinMatrix += skinWeight.x * boneMatX;\\n\\tskinMatrix += skinWeight.y * boneMatY;\\n\\tskinMatrix += skinWeight.z * boneMatZ;\\n\\tskinMatrix += skinWeight.w * boneMatW;\\n\\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\\n\\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\\n\\t#ifdef USE_TANGENT\\n\\t\\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\\n\\t#endif\\n#endif\",specularmap_fragment:\"float specularStrength;\\n#ifdef USE_SPECULARMAP\\n\\tvec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );\\n\\tspecularStrength = texelSpecular.r;\\n#else\\n\\tspecularStrength = 1.0;\\n#endif\",specularmap_pars_fragment:\"#ifdef USE_SPECULARMAP\\n\\tuniform sampler2D specularMap;\\n#endif\",tonemapping_fragment:\"#if defined( TONE_MAPPING )\\n\\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\\n#endif\",tonemapping_pars_fragment:\"#ifndef saturate\\n#define saturate( a ) clamp( a, 0.0, 1.0 )\\n#endif\\nuniform float toneMappingExposure;\\nvec3 LinearToneMapping( vec3 color ) {\\n\\treturn saturate( toneMappingExposure * color );\\n}\\nvec3 ReinhardToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\treturn saturate( color / ( vec3( 1.0 ) + color ) );\\n}\\nvec3 OptimizedCineonToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\tcolor = max( vec3( 0.0 ), color - 0.004 );\\n\\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\\n}\\nvec3 RRTAndODTFit( vec3 v ) {\\n\\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\\n\\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\\n\\treturn a / b;\\n}\\nvec3 ACESFilmicToneMapping( vec3 color ) {\\n\\tconst mat3 ACESInputMat = mat3(\\n\\t\\tvec3( 0.59719, 0.07600, 0.02840 ),\\t\\tvec3( 0.35458, 0.90834, 0.13383 ),\\n\\t\\tvec3( 0.04823, 0.01566, 0.83777 )\\n\\t);\\n\\tconst mat3 ACESOutputMat = mat3(\\n\\t\\tvec3( 1.60475, -0.10208, -0.00327 ),\\t\\tvec3( -0.53108, 1.10813, -0.07276 ),\\n\\t\\tvec3( -0.07367, -0.00605, 1.07602 )\\n\\t);\\n\\tcolor *= toneMappingExposure / 0.6;\\n\\tcolor = ACESInputMat * color;\\n\\tcolor = RRTAndODTFit( color );\\n\\tcolor = ACESOutputMat * color;\\n\\treturn saturate( color );\\n}\\nvec3 CustomToneMapping( vec3 color ) { return color; }\",transmission_fragment:\"#ifdef USE_TRANSMISSION\\n\\tmaterial.transmission = transmission;\\n\\tmaterial.transmissionAlpha = 1.0;\\n\\tmaterial.thickness = thickness;\\n\\tmaterial.attenuationDistance = attenuationDistance;\\n\\tmaterial.attenuationColor = attenuationColor;\\n\\t#ifdef USE_TRANSMISSIONMAP\\n\\t\\tmaterial.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\\n\\t#endif\\n\\t#ifdef USE_THICKNESSMAP\\n\\t\\tmaterial.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\\n\\t#endif\\n\\tvec3 pos = vWorldPosition;\\n\\tvec3 v = normalize( cameraPosition - pos );\\n\\tvec3 n = inverseTransformDirection( normal, viewMatrix );\\n\\tvec4 transmitted = getIBLVolumeRefraction(\\n\\t\\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\\n\\t\\tpos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\\n\\t\\tmaterial.attenuationColor, material.attenuationDistance );\\n\\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );\\n\\ttotalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission );\\n#endif\",transmission_pars_fragment:\"#ifdef USE_TRANSMISSION\\n\\tuniform float transmission;\\n\\tuniform float thickness;\\n\\tuniform float attenuationDistance;\\n\\tuniform vec3 attenuationColor;\\n\\t#ifdef USE_TRANSMISSIONMAP\\n\\t\\tuniform sampler2D transmissionMap;\\n\\t#endif\\n\\t#ifdef USE_THICKNESSMAP\\n\\t\\tuniform sampler2D thicknessMap;\\n\\t#endif\\n\\tuniform vec2 transmissionSamplerSize;\\n\\tuniform sampler2D transmissionSamplerMap;\\n\\tuniform mat4 modelMatrix;\\n\\tuniform mat4 projectionMatrix;\\n\\tvarying vec3 vWorldPosition;\\n\\tfloat w0( float a ) {\\n\\t\\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\\n\\t}\\n\\tfloat w1( float a ) {\\n\\t\\treturn ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 );\\n\\t}\\n\\tfloat w2( float a ){\\n\\t\\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\\n\\t}\\n\\tfloat w3( float a ) {\\n\\t\\treturn ( 1.0 / 6.0 ) * ( a * a * a );\\n\\t}\\n\\tfloat g0( float a ) {\\n\\t\\treturn w0( a ) + w1( a );\\n\\t}\\n\\tfloat g1( float a ) {\\n\\t\\treturn w2( a ) + w3( a );\\n\\t}\\n\\tfloat h0( float a ) {\\n\\t\\treturn - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\\n\\t}\\n\\tfloat h1( float a ) {\\n\\t\\treturn 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\\n\\t}\\n\\tvec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {\\n\\t\\tuv = uv * texelSize.zw + 0.5;\\n\\t\\tvec2 iuv = floor( uv );\\n\\t\\tvec2 fuv = fract( uv );\\n\\t\\tfloat g0x = g0( fuv.x );\\n\\t\\tfloat g1x = g1( fuv.x );\\n\\t\\tfloat h0x = h0( fuv.x );\\n\\t\\tfloat h1x = h1( fuv.x );\\n\\t\\tfloat h0y = h0( fuv.y );\\n\\t\\tfloat h1y = h1( fuv.y );\\n\\t\\tvec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\\n\\t\\tvec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\\n\\t\\tvec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\\n\\t\\tvec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\\n\\t\\treturn g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\\n\\t\\t\\tg1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\\n\\t}\\n\\tvec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\\n\\t\\tvec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\\n\\t\\tvec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\\n\\t\\tvec2 fLodSizeInv = 1.0 / fLodSize;\\n\\t\\tvec2 cLodSizeInv = 1.0 / cLodSize;\\n\\t\\tvec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );\\n\\t\\tvec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );\\n\\t\\treturn mix( fSample, cSample, fract( lod ) );\\n\\t}\\n\\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\\n\\t\\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\\n\\t\\tvec3 modelScale;\\n\\t\\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\\n\\t\\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\\n\\t\\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\\n\\t\\treturn normalize( refractionVector ) * thickness * modelScale;\\n\\t}\\n\\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\\n\\t\\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\\n\\t}\\n\\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\\n\\t\\tfloat lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\\n\\t\\treturn textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\\n\\t}\\n\\tvec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\\n\\t\\tif ( isinf( attenuationDistance ) ) {\\n\\t\\t\\treturn vec3( 1.0 );\\n\\t\\t} else {\\n\\t\\t\\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\\n\\t\\t\\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\\t\\t\\treturn transmittance;\\n\\t\\t}\\n\\t}\\n\\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\\n\\t\\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\\n\\t\\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\\n\\t\\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\\n\\t\\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\\n\\t\\tvec3 refractedRayExit = position + transmissionRay;\\n\\t\\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\\n\\t\\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\\n\\t\\trefractionCoords += 1.0;\\n\\t\\trefractionCoords /= 2.0;\\n\\t\\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\\n\\t\\tvec3 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance );\\n\\t\\tvec3 attenuatedColor = transmittance * transmittedLight.rgb;\\n\\t\\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\\n\\t\\tfloat transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0;\\n\\t\\treturn vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor );\\n\\t}\\n#endif\",uv_pars_fragment:\"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\\n\\tvarying vec2 vUv;\\n#endif\\n#ifdef USE_MAP\\n\\tvarying vec2 vMapUv;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tvarying vec2 vAlphaMapUv;\\n#endif\\n#ifdef USE_LIGHTMAP\\n\\tvarying vec2 vLightMapUv;\\n#endif\\n#ifdef USE_AOMAP\\n\\tvarying vec2 vAoMapUv;\\n#endif\\n#ifdef USE_BUMPMAP\\n\\tvarying vec2 vBumpMapUv;\\n#endif\\n#ifdef USE_NORMALMAP\\n\\tvarying vec2 vNormalMapUv;\\n#endif\\n#ifdef USE_EMISSIVEMAP\\n\\tvarying vec2 vEmissiveMapUv;\\n#endif\\n#ifdef USE_METALNESSMAP\\n\\tvarying vec2 vMetalnessMapUv;\\n#endif\\n#ifdef USE_ROUGHNESSMAP\\n\\tvarying vec2 vRoughnessMapUv;\\n#endif\\n#ifdef USE_ANISOTROPYMAP\\n\\tvarying vec2 vAnisotropyMapUv;\\n#endif\\n#ifdef USE_CLEARCOATMAP\\n\\tvarying vec2 vClearcoatMapUv;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tvarying vec2 vClearcoatNormalMapUv;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tvarying vec2 vClearcoatRoughnessMapUv;\\n#endif\\n#ifdef USE_IRIDESCENCEMAP\\n\\tvarying vec2 vIridescenceMapUv;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\tvarying vec2 vIridescenceThicknessMapUv;\\n#endif\\n#ifdef USE_SHEEN_COLORMAP\\n\\tvarying vec2 vSheenColorMapUv;\\n#endif\\n#ifdef USE_SHEEN_ROUGHNESSMAP\\n\\tvarying vec2 vSheenRoughnessMapUv;\\n#endif\\n#ifdef USE_SPECULARMAP\\n\\tvarying vec2 vSpecularMapUv;\\n#endif\\n#ifdef USE_SPECULAR_COLORMAP\\n\\tvarying vec2 vSpecularColorMapUv;\\n#endif\\n#ifdef USE_SPECULAR_INTENSITYMAP\\n\\tvarying vec2 vSpecularIntensityMapUv;\\n#endif\\n#ifdef USE_TRANSMISSIONMAP\\n\\tuniform mat3 transmissionMapTransform;\\n\\tvarying vec2 vTransmissionMapUv;\\n#endif\\n#ifdef USE_THICKNESSMAP\\n\\tuniform mat3 thicknessMapTransform;\\n\\tvarying vec2 vThicknessMapUv;\\n#endif\",uv_pars_vertex:\"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\\n\\tvarying vec2 vUv;\\n#endif\\n#ifdef USE_MAP\\n\\tuniform mat3 mapTransform;\\n\\tvarying vec2 vMapUv;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tuniform mat3 alphaMapTransform;\\n\\tvarying vec2 vAlphaMapUv;\\n#endif\\n#ifdef USE_LIGHTMAP\\n\\tuniform mat3 lightMapTransform;\\n\\tvarying vec2 vLightMapUv;\\n#endif\\n#ifdef USE_AOMAP\\n\\tuniform mat3 aoMapTransform;\\n\\tvarying vec2 vAoMapUv;\\n#endif\\n#ifdef USE_BUMPMAP\\n\\tuniform mat3 bumpMapTransform;\\n\\tvarying vec2 vBumpMapUv;\\n#endif\\n#ifdef USE_NORMALMAP\\n\\tuniform mat3 normalMapTransform;\\n\\tvarying vec2 vNormalMapUv;\\n#endif\\n#ifdef USE_DISPLACEMENTMAP\\n\\tuniform mat3 displacementMapTransform;\\n\\tvarying vec2 vDisplacementMapUv;\\n#endif\\n#ifdef USE_EMISSIVEMAP\\n\\tuniform mat3 emissiveMapTransform;\\n\\tvarying vec2 vEmissiveMapUv;\\n#endif\\n#ifdef USE_METALNESSMAP\\n\\tuniform mat3 metalnessMapTransform;\\n\\tvarying vec2 vMetalnessMapUv;\\n#endif\\n#ifdef USE_ROUGHNESSMAP\\n\\tuniform mat3 roughnessMapTransform;\\n\\tvarying vec2 vRoughnessMapUv;\\n#endif\\n#ifdef USE_ANISOTROPYMAP\\n\\tuniform mat3 anisotropyMapTransform;\\n\\tvarying vec2 vAnisotropyMapUv;\\n#endif\\n#ifdef USE_CLEARCOATMAP\\n\\tuniform mat3 clearcoatMapTransform;\\n\\tvarying vec2 vClearcoatMapUv;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tuniform mat3 clearcoatNormalMapTransform;\\n\\tvarying vec2 vClearcoatNormalMapUv;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tuniform mat3 clearcoatRoughnessMapTransform;\\n\\tvarying vec2 vClearcoatRoughnessMapUv;\\n#endif\\n#ifdef USE_SHEEN_COLORMAP\\n\\tuniform mat3 sheenColorMapTransform;\\n\\tvarying vec2 vSheenColorMapUv;\\n#endif\\n#ifdef USE_SHEEN_ROUGHNESSMAP\\n\\tuniform mat3 sheenRoughnessMapTransform;\\n\\tvarying vec2 vSheenRoughnessMapUv;\\n#endif\\n#ifdef USE_IRIDESCENCEMAP\\n\\tuniform mat3 iridescenceMapTransform;\\n\\tvarying vec2 vIridescenceMapUv;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\tuniform mat3 iridescenceThicknessMapTransform;\\n\\tvarying vec2 vIridescenceThicknessMapUv;\\n#endif\\n#ifdef USE_SPECULARMAP\\n\\tuniform mat3 specularMapTransform;\\n\\tvarying vec2 vSpecularMapUv;\\n#endif\\n#ifdef USE_SPECULAR_COLORMAP\\n\\tuniform mat3 specularColorMapTransform;\\n\\tvarying vec2 vSpecularColorMapUv;\\n#endif\\n#ifdef USE_SPECULAR_INTENSITYMAP\\n\\tuniform mat3 specularIntensityMapTransform;\\n\\tvarying vec2 vSpecularIntensityMapUv;\\n#endif\\n#ifdef USE_TRANSMISSIONMAP\\n\\tuniform mat3 transmissionMapTransform;\\n\\tvarying vec2 vTransmissionMapUv;\\n#endif\\n#ifdef USE_THICKNESSMAP\\n\\tuniform mat3 thicknessMapTransform;\\n\\tvarying vec2 vThicknessMapUv;\\n#endif\",uv_vertex:\"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\\n\\tvUv = vec3( uv, 1 ).xy;\\n#endif\\n#ifdef USE_MAP\\n\\tvMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tvAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_LIGHTMAP\\n\\tvLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_AOMAP\\n\\tvAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_BUMPMAP\\n\\tvBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_NORMALMAP\\n\\tvNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_DISPLACEMENTMAP\\n\\tvDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_EMISSIVEMAP\\n\\tvEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_METALNESSMAP\\n\\tvMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_ROUGHNESSMAP\\n\\tvRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_ANISOTROPYMAP\\n\\tvAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_CLEARCOATMAP\\n\\tvClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tvClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tvClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_IRIDESCENCEMAP\\n\\tvIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\tvIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SHEEN_COLORMAP\\n\\tvSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SHEEN_ROUGHNESSMAP\\n\\tvSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SPECULARMAP\\n\\tvSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SPECULAR_COLORMAP\\n\\tvSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SPECULAR_INTENSITYMAP\\n\\tvSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_TRANSMISSIONMAP\\n\\tvTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_THICKNESSMAP\\n\\tvThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\\n#endif\",worldpos_vertex:\"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\\n\\tvec4 worldPosition = vec4( transformed, 1.0 );\\n\\t#ifdef USE_INSTANCING\\n\\t\\tworldPosition = instanceMatrix * worldPosition;\\n\\t#endif\\n\\tworldPosition = modelMatrix * worldPosition;\\n#endif\",background_vert:\"varying vec2 vUv;\\nuniform mat3 uvTransform;\\nvoid main() {\\n\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n\\tgl_Position = vec4( position.xy, 1.0, 1.0 );\\n}\",background_frag:\"uniform sampler2D t2D;\\nuniform float backgroundIntensity;\\nvarying vec2 vUv;\\nvoid main() {\\n\\tvec4 texColor = texture2D( t2D, vUv );\\n\\t#ifdef DECODE_VIDEO_TEXTURE\\n\\t\\ttexColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w );\\n\\t#endif\\n\\ttexColor.rgb *= backgroundIntensity;\\n\\tgl_FragColor = texColor;\\n\\t#include \\n\\t#include \\n}\",backgroundCube_vert:\"varying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n\\tgl_Position.z = gl_Position.w;\\n}\",backgroundCube_frag:\"#ifdef ENVMAP_TYPE_CUBE\\n\\tuniform samplerCube envMap;\\n#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\tuniform sampler2D envMap;\\n#endif\\nuniform float flipEnvMap;\\nuniform float backgroundBlurriness;\\nuniform float backgroundIntensity;\\nvarying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\\n\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tvec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness );\\n\\t#else\\n\\t\\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\t#endif\\n\\ttexColor.rgb *= backgroundIntensity;\\n\\tgl_FragColor = texColor;\\n\\t#include \\n\\t#include \\n}\",cube_vert:\"varying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n\\tgl_Position.z = gl_Position.w;\\n}\",cube_frag:\"uniform samplerCube tCube;\\nuniform float tFlip;\\nuniform float opacity;\\nvarying vec3 vWorldDirection;\\nvoid main() {\\n\\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\\n\\tgl_FragColor = texColor;\\n\\tgl_FragColor.a *= opacity;\\n\\t#include \\n\\t#include \\n}\",depth_vert:\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvHighPrecisionZW = gl_Position.zw;\\n}\",depth_frag:\"#if DEPTH_PACKING == 3200\\n\\tuniform float opacity;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tdiffuseColor.a = opacity;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\\n\\t#elif DEPTH_PACKING == 3201\\n\\t\\tgl_FragColor = packDepthToRGBA( fragCoordZ );\\n\\t#endif\\n}\",distanceRGBA_vert:\"#define DISTANCE\\nvarying vec3 vWorldPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvWorldPosition = worldPosition.xyz;\\n}\",distanceRGBA_frag:\"#define DISTANCE\\nuniform vec3 referencePosition;\\nuniform float nearDistance;\\nuniform float farDistance;\\nvarying vec3 vWorldPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main () {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tfloat dist = length( vWorldPosition - referencePosition );\\n\\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\\n\\tdist = saturate( dist );\\n\\tgl_FragColor = packDepthToRGBA( dist );\\n}\",equirect_vert:\"varying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n}\",equirect_frag:\"uniform sampler2D tEquirect;\\nvarying vec3 vWorldDirection;\\n#include \\nvoid main() {\\n\\tvec3 direction = normalize( vWorldDirection );\\n\\tvec2 sampleUV = equirectUv( direction );\\n\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n\\t#include \\n\\t#include \\n}\",linedashed_vert:\"uniform float scale;\\nattribute float lineDistance;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\tvLineDistance = scale * lineDistance;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",linedashed_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float dashSize;\\nuniform float totalSize;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\\n\\t\\tdiscard;\\n\\t}\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshbasic_vert:\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshbasic_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\\n\\t\\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vec3( 1.0 );\\n\\t#endif\\n\\t#include \\n\\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\\n\\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshlambert_vert:\"#define LAMBERT\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshlambert_frag:\"#define LAMBERT\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshmatcap_vert:\"#define MATCAP\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n}\",meshmatcap_frag:\"#define MATCAP\\nuniform vec3 diffuse;\\nuniform float opacity;\\nuniform sampler2D matcap;\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 viewDir = normalize( vViewPosition );\\n\\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\\n\\tvec3 y = cross( viewDir, x );\\n\\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\\n\\t#ifdef USE_MATCAP\\n\\t\\tvec4 matcapColor = texture2D( matcap, uv );\\n\\t#else\\n\\t\\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\\n\\t#endif\\n\\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshnormal_vert:\"#define NORMAL\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n}\",meshnormal_frag:\"#define NORMAL\\nuniform float opacity;\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\\n\\t#ifdef OPAQUE\\n\\t\\tgl_FragColor.a = 1.0;\\n\\t#endif\\n}\",meshphong_vert:\"#define PHONG\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshphong_frag:\"#define PHONG\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshphysical_vert:\"#define STANDARD\\nvarying vec3 vViewPosition;\\n#ifdef USE_TRANSMISSION\\n\\tvarying vec3 vWorldPosition;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n#ifdef USE_TRANSMISSION\\n\\tvWorldPosition = worldPosition.xyz;\\n#endif\\n}\",meshphysical_frag:\"#define STANDARD\\n#ifdef PHYSICAL\\n\\t#define IOR\\n\\t#define USE_SPECULAR\\n#endif\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifdef IOR\\n\\tuniform float ior;\\n#endif\\n#ifdef USE_SPECULAR\\n\\tuniform float specularIntensity;\\n\\tuniform vec3 specularColor;\\n\\t#ifdef USE_SPECULAR_COLORMAP\\n\\t\\tuniform sampler2D specularColorMap;\\n\\t#endif\\n\\t#ifdef USE_SPECULAR_INTENSITYMAP\\n\\t\\tuniform sampler2D specularIntensityMap;\\n\\t#endif\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tuniform float clearcoat;\\n\\tuniform float clearcoatRoughness;\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\\tuniform float iridescence;\\n\\tuniform float iridescenceIOR;\\n\\tuniform float iridescenceThicknessMinimum;\\n\\tuniform float iridescenceThicknessMaximum;\\n#endif\\n#ifdef USE_SHEEN\\n\\tuniform vec3 sheenColor;\\n\\tuniform float sheenRoughness;\\n\\t#ifdef USE_SHEEN_COLORMAP\\n\\t\\tuniform sampler2D sheenColorMap;\\n\\t#endif\\n\\t#ifdef USE_SHEEN_ROUGHNESSMAP\\n\\t\\tuniform sampler2D sheenRoughnessMap;\\n\\t#endif\\n#endif\\n#ifdef USE_ANISOTROPY\\n\\tuniform vec2 anisotropyVector;\\n\\t#ifdef USE_ANISOTROPYMAP\\n\\t\\tuniform sampler2D anisotropyMap;\\n\\t#endif\\n#endif\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\\n\\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\\n\\t#include \\n\\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\\n\\t#ifdef USE_SHEEN\\n\\t\\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\\n\\t\\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\\n\\t\\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\\n\\t\\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshtoon_vert:\"#define TOON\\nvarying vec3 vViewPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\",meshtoon_frag:\"#define TOON\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",points_vert:\"uniform float size;\\nuniform float scale;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#ifdef USE_POINTS_UV\\n\\tvarying vec2 vUv;\\n\\tuniform mat3 uvTransform;\\n#endif\\nvoid main() {\\n\\t#ifdef USE_POINTS_UV\\n\\t\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tgl_PointSize = size;\\n\\t#ifdef USE_SIZEATTENUATION\\n\\t\\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\\t\\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",points_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",shadow_vert:\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\",shadow_frag:\"uniform vec3 color;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\\n\\t#include \\n\\t#include \\n\\t#include \\n}\",sprite_vert:\"uniform float rotation;\\nuniform vec2 center;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\tvec2 scale;\\n\\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\\n\\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\\n\\t#ifndef USE_SIZEATTENUATION\\n\\t\\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\\t\\tif ( isPerspective ) scale *= - mvPosition.z;\\n\\t#endif\\n\\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\\n\\tvec2 rotatedPosition;\\n\\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\\n\\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\\n\\tmvPosition.xy += rotatedPosition;\\n\\tgl_Position = projectionMatrix * mvPosition;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\",sprite_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\"},Es={common:{diffuse:{value:new mn(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Ee},alphaMap:{value:null},alphaMapTransform:{value:new Ee},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Ee}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Ee}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Ee}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Ee},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Ee},normalScale:{value:new Te(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Ee},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Ee}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Ee}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Ee}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new mn(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new mn(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Ee},alphaTest:{value:0},uvTransform:{value:new Ee}},sprite:{diffuse:{value:new mn(16777215)},opacity:{value:1},center:{value:new Te(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Ee},alphaMap:{value:null},alphaMapTransform:{value:new Ee},alphaTest:{value:0}}},gs={basic:{uniforms:es([Es.common,Es.specularmap,Es.envmap,Es.aomap,Es.lightmap,Es.fog]),vertexShader:Ts.meshbasic_vert,fragmentShader:Ts.meshbasic_frag},lambert:{uniforms:es([Es.common,Es.specularmap,Es.envmap,Es.aomap,Es.lightmap,Es.emissivemap,Es.bumpmap,Es.normalmap,Es.displacementmap,Es.fog,Es.lights,{emissive:{value:new mn(0)}}]),vertexShader:Ts.meshlambert_vert,fragmentShader:Ts.meshlambert_frag},phong:{uniforms:es([Es.common,Es.specularmap,Es.envmap,Es.aomap,Es.lightmap,Es.emissivemap,Es.bumpmap,Es.normalmap,Es.displacementmap,Es.fog,Es.lights,{emissive:{value:new mn(0)},specular:{value:new mn(1118481)},shininess:{value:30}}]),vertexShader:Ts.meshphong_vert,fragmentShader:Ts.meshphong_frag},standard:{uniforms:es([Es.common,Es.envmap,Es.aomap,Es.lightmap,Es.emissivemap,Es.bumpmap,Es.normalmap,Es.displacementmap,Es.roughnessmap,Es.metalnessmap,Es.fog,Es.lights,{emissive:{value:new mn(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Ts.meshphysical_vert,fragmentShader:Ts.meshphysical_frag},toon:{uniforms:es([Es.common,Es.aomap,Es.lightmap,Es.emissivemap,Es.bumpmap,Es.normalmap,Es.displacementmap,Es.gradientmap,Es.fog,Es.lights,{emissive:{value:new mn(0)}}]),vertexShader:Ts.meshtoon_vert,fragmentShader:Ts.meshtoon_frag},matcap:{uniforms:es([Es.common,Es.bumpmap,Es.normalmap,Es.displacementmap,Es.fog,{matcap:{value:null}}]),vertexShader:Ts.meshmatcap_vert,fragmentShader:Ts.meshmatcap_frag},points:{uniforms:es([Es.points,Es.fog]),vertexShader:Ts.points_vert,fragmentShader:Ts.points_frag},dashed:{uniforms:es([Es.common,Es.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Ts.linedashed_vert,fragmentShader:Ts.linedashed_frag},depth:{uniforms:es([Es.common,Es.displacementmap]),vertexShader:Ts.depth_vert,fragmentShader:Ts.depth_frag},normal:{uniforms:es([Es.common,Es.bumpmap,Es.normalmap,Es.displacementmap,{opacity:{value:1}}]),vertexShader:Ts.meshnormal_vert,fragmentShader:Ts.meshnormal_frag},sprite:{uniforms:es([Es.sprite,Es.fog]),vertexShader:Ts.sprite_vert,fragmentShader:Ts.sprite_frag},background:{uniforms:{uvTransform:{value:new Ee},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Ts.background_vert,fragmentShader:Ts.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Ts.backgroundCube_vert,fragmentShader:Ts.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Ts.cube_vert,fragmentShader:Ts.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Ts.equirect_vert,fragmentShader:Ts.equirect_frag},distanceRGBA:{uniforms:es([Es.common,Es.displacementmap,{referencePosition:{value:new Ke},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Ts.distanceRGBA_vert,fragmentShader:Ts.distanceRGBA_frag},shadow:{uniforms:es([Es.lights,Es.fog,{color:{value:new mn(0)},opacity:{value:1}}]),vertexShader:Ts.shadow_vert,fragmentShader:Ts.shadow_frag}};gs.physical={uniforms:es([gs.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Ee},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Ee},clearcoatNormalScale:{value:new Te(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Ee},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Ee},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Ee},sheen:{value:0},sheenColor:{value:new mn(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Ee},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Ee},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Ee},transmissionSamplerSize:{value:new Te},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Ee},attenuationDistance:{value:0},attenuationColor:{value:new mn(0)},specularColor:{value:new mn(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Ee},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Ee},anisotropyVector:{value:new Te},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Ee}}]),vertexShader:Ts.meshphysical_vert,fragmentShader:Ts.meshphysical_frag};const Rs={r:0,b:0,g:0};function Ds(e,t,n,s,i,a,l){const r=new mn(0);let u,p,h=!0===a?0:1,d=null,f=0,I=null;function m(t,n){t.getRGB(Rs,ts(e)),s.buffers.color.setClear(Rs.r,Rs.g,Rs.b,n,l)}return{getClearColor:function(){return r},setClearColor:function(e,t=1){r.set(e),h=t,m(r,h)},getClearAlpha:function(){return h},setClearAlpha:function(e){h=e,m(r,h)},render:function(a,y){let v=!1,w=!0===y.isScene?y.background:null;w&&w.isTexture&&(w=(y.backgroundBlurriness>0?n:t).get(w)),null===w?m(r,h):w&&w.isColor&&(m(w,1),v=!0);const T=e.xr.getEnvironmentBlendMode();\"additive\"===T?s.buffers.color.setClear(0,0,0,1,l):\"alpha-blend\"===T&&s.buffers.color.setClear(0,0,0,0,l),(e.autoClear||v)&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),w&&(w.isCubeTexture||w.mapping===D)?(void 0===p&&(p=new Zn(new Jn(1,1,1),new ss({name:\"BackgroundCubeMaterial\",uniforms:$n(gs.backgroundCube.uniforms),vertexShader:gs.backgroundCube.vertexShader,fragmentShader:gs.backgroundCube.fragmentShader,side:c,depthTest:!1,depthWrite:!1,fog:!1})),p.geometry.deleteAttribute(\"normal\"),p.geometry.deleteAttribute(\"uv\"),p.onBeforeRender=function(e,t,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(p.material,\"envMap\",{get:function(){return this.uniforms.envMap.value}}),i.update(p)),p.material.uniforms.envMap.value=w,p.material.uniforms.flipEnvMap.value=w.isCubeTexture&&!1===w.isRenderTargetTexture?-1:1,p.material.uniforms.backgroundBlurriness.value=y.backgroundBlurriness,p.material.uniforms.backgroundIntensity.value=y.backgroundIntensity,p.material.toneMapped=w.colorSpace!==J,d===w&&f===w.version&&I===e.toneMapping||(p.material.needsUpdate=!0,d=w,f=w.version,I=e.toneMapping),p.layers.enableAll(),a.unshift(p,p.geometry,p.material,0,0,null)):w&&w.isTexture&&(void 0===u&&(u=new Zn(new ws(2,2),new ss({name:\"BackgroundMaterial\",uniforms:$n(gs.background.uniforms),vertexShader:gs.background.vertexShader,fragmentShader:gs.background.fragmentShader,side:o,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute(\"normal\"),Object.defineProperty(u.material,\"map\",{get:function(){return this.uniforms.t2D.value}}),i.update(u)),u.material.uniforms.t2D.value=w,u.material.uniforms.backgroundIntensity.value=y.backgroundIntensity,u.material.toneMapped=w.colorSpace!==J,!0===w.matrixAutoUpdate&&w.updateMatrix(),u.material.uniforms.uvTransform.value.copy(w.matrix),d===w&&f===w.version&&I===e.toneMapping||(u.material.needsUpdate=!0,d=w,f=w.version,I=e.toneMapping),u.layers.enableAll(),a.unshift(u,u.geometry,u.material,0,0,null))}}}function Ss(e,t,n,s){const i=e.getParameter(e.MAX_VERTEX_ATTRIBS),a=s.isWebGL2?null:t.get(\"OES_vertex_array_object\"),l=s.isWebGL2||null!==a,r={},o=d(null);let c=o,u=!1;function p(t){return s.isWebGL2?e.bindVertexArray(t):a.bindVertexArrayOES(t)}function h(t){return s.isWebGL2?e.deleteVertexArray(t):a.deleteVertexArrayOES(t)}function d(e){const t=[],n=[],s=[];for(let e=0;e=0){const n=i[t];let s=a[t];if(void 0===s&&(\"instanceMatrix\"===t&&e.instanceMatrix&&(s=e.instanceMatrix),\"instanceColor\"===t&&e.instanceColor&&(s=e.instanceColor)),void 0===n)return!0;if(n.attribute!==s)return!0;if(s&&n.data!==s.data)return!0;l++}return c.attributesNum!==l||c.index!==s}(i,w,h,T),E&&function(e,t,n,s){const i={},a=t.attributes;let l=0;const r=n.getAttributes();for(const t in r)if(r[t].location>=0){let n=a[t];void 0===n&&(\"instanceMatrix\"===t&&e.instanceMatrix&&(n=e.instanceMatrix),\"instanceColor\"===t&&e.instanceColor&&(n=e.instanceColor));const s={};s.attribute=n,n&&n.data&&(s.data=n.data),i[t]=s,l++}c.attributes=i,c.attributesNum=l,c.index=s}(i,w,h,T)}else{const e=!0===o.wireframe;c.geometry===w.id&&c.program===h.id&&c.wireframe===e||(c.geometry=w.id,c.program=h.id,c.wireframe=e,E=!0)}null!==T&&n.update(T,e.ELEMENT_ARRAY_BUFFER),(E||u)&&(u=!1,function(i,a,l,r){if(!1===s.isWebGL2&&(i.isInstancedMesh||r.isInstancedBufferGeometry)&&null===t.get(\"ANGLE_instanced_arrays\"))return;f();const o=r.attributes,c=l.getAttributes(),u=a.defaultAttributeValues;for(const t in c){const a=c[t];if(a.location>=0){let l=o[t];if(void 0===l&&(\"instanceMatrix\"===t&&i.instanceMatrix&&(l=i.instanceMatrix),\"instanceColor\"===t&&i.instanceColor&&(l=i.instanceColor)),void 0!==l){const t=l.normalized,o=l.itemSize,c=n.get(l);if(void 0===c)continue;const u=c.buffer,p=c.type,h=c.bytesPerElement,d=!0===s.isWebGL2&&(p===e.INT||p===e.UNSIGNED_INT||1013===l.gpuType);if(l.isInterleavedBufferAttribute){const n=l.data,s=n.stride,c=l.offset;if(n.isInstancedInterleavedBuffer){for(let e=0;e0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision>0)return\"highp\";t=\"mediump\"}return\"mediump\"===t&&e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.MEDIUM_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?\"mediump\":\"lowp\"}const a=\"undefined\"!=typeof WebGL2RenderingContext&&\"WebGL2RenderingContext\"===e.constructor.name;let l=void 0!==n.precision?n.precision:\"highp\";const r=i(l);r!==l&&(console.warn(\"THREE.WebGLRenderer:\",l,\"not supported, using\",r,\"instead.\"),l=r);const o=a||t.has(\"WEBGL_draw_buffers\"),c=!0===n.logarithmicDepthBuffer,u=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),p=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),h=e.getParameter(e.MAX_TEXTURE_SIZE),d=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),f=e.getParameter(e.MAX_VERTEX_ATTRIBS),I=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),m=e.getParameter(e.MAX_VARYING_VECTORS),y=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),v=p>0,w=a||t.has(\"OES_texture_float\");return{isWebGL2:a,drawBuffers:o,getMaxAnisotropy:function(){if(void 0!==s)return s;if(!0===t.has(\"EXT_texture_filter_anisotropic\")){const n=t.get(\"EXT_texture_filter_anisotropic\");s=e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else s=0;return s},getMaxPrecision:i,precision:l,logarithmicDepthBuffer:c,maxTextures:u,maxVertexTextures:p,maxTextureSize:h,maxCubemapSize:d,maxAttributes:f,maxVertexUniforms:I,maxVaryings:m,maxFragmentUniforms:y,vertexTextures:v,floatFragmentTextures:w,floatVertexTextures:v&&w,maxSamples:a?e.getParameter(e.MAX_SAMPLES):0}}function Os(e){const t=this;let n=null,s=0,i=!1,a=!1;const l=new ds,r=new Ee,o={value:null,needsUpdate:!1};function c(e,n,s,i){const a=null!==e?e.length:0;let c=null;if(0!==a){if(c=o.value,!0!==i||null===c){const t=s+4*a,i=n.matrixWorldInverse;r.getNormalMatrix(i),(null===c||c.length0),t.numPlanes=s,t.numIntersection=0);else{const e=a?0:s,t=4*e;let i=f.clippingState||null;o.value=i,i=c(p,r,t,u);for(let e=0;e!==t;++e)i[e]=n[e];f.clippingState=i,this.numIntersection=h?this.numPlanes:0,this.numPlanes+=e}}}function As(e){let t=new WeakMap;function n(e,t){return 303===t?e.mapping=g:304===t&&(e.mapping=R),e}function s(e){const n=e.target;n.removeEventListener(\"dispose\",s);const i=t.get(n);void 0!==i&&(t.delete(n),i.dispose())}return{get:function(i){if(i&&i.isTexture&&!1===i.isRenderTargetTexture){const a=i.mapping;if(303===a||304===a){if(t.has(i))return n(t.get(i).texture,i.mapping);{const a=i.image;if(a&&a.height>0){const l=new cs(a.height/2);return l.fromEquirectangularTexture(e,i),t.set(i,l),i.addEventListener(\"dispose\",s),n(l.texture,i.mapping)}return null}}}return i},dispose:function(){t=new WeakMap}}}class xs extends is{constructor(e=-1,t=1,n=1,s=-1,i=.1,a=2e3){super(),this.isOrthographicCamera=!0,this.type=\"OrthographicCamera\",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=s,this.near=i,this.far=a,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=null===e.view?null:Object.assign({},e.view),this}setViewOffset(e,t,n,s,i,a){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=s,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,s=(this.top+this.bottom)/2;let i=n-e,a=n+e,l=s+t,r=s-t;if(null!==this.view&&this.view.enabled){const e=(this.right-this.left)/this.view.fullWidth/this.zoom,t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=e*this.view.offsetX,a=i+e*this.view.width,l-=t*this.view.offsetY,r=l-t*this.view.height}this.projectionMatrix.makeOrthographic(i,a,l,r,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,null!==this.view&&(t.object.view=Object.assign({},this.view)),t}}const Cs=[.125,.215,.35,.446,.526,.582],Ls=new xs,Ps=new mn;let qs=null;const _s=(1+Math.sqrt(5))/2,Ms=1/_s,Hs=[new Ke(1,1,1),new Ke(-1,1,1),new Ke(1,1,-1),new Ke(-1,1,-1),new Ke(0,_s,Ms),new Ke(0,_s,-Ms),new Ke(Ms,0,_s),new Ke(-Ms,0,_s),new Ke(_s,Ms,0),new Ke(-_s,Ms,0)];class Bs{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,s=100){qs=this._renderer.getRenderTarget(),this._setSize(256);const i=this._allocateTargets();return i.depthBuffer=!0,this._sceneToCubeUV(e,n,s,i),t>0&&this._blur(i,0,0,t),this._applyPMREM(i),this._cleanup(i),i}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=Vs(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=Gs(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let e=0;ee-4?r=Cs[l-e+4-1]:0===l&&(r=0),s.push(r);const o=1/(a-2),c=-o,u=1+o,p=[c,c,u,c,u,u,c,c,u,u,c,u],h=6,d=6,f=3,I=2,m=1,y=new Float32Array(f*d*h),v=new Float32Array(I*d*h),w=new Float32Array(m*d*h);for(let e=0;e2?0:-1,s=[t,n,0,t+2/3,n,0,t+2/3,n+1,0,t,n,0,t+2/3,n+1,0,t,n+1,0];y.set(s,f*d*e),v.set(p,I*d*e);const i=[e,e,e,e,e,e];w.set(i,m*d*e)}const T=new Ln;T.setAttribute(\"position\",new En(y,f)),T.setAttribute(\"uv\",new En(v,I)),T.setAttribute(\"faceIndex\",new En(w,m)),t.push(T),i>4&&i--}return{lodPlanes:t,sizeLods:n,sigmas:s}}(s)),this._blurMaterial=function(e,t,n){const s=new Float32Array(20),i=new Ke(0,1,0);return new ss({name:\"SphericalGaussianBlur\",defines:{n:20,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${e}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:s},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:\"\\n\\n\\t\\tprecision mediump float;\\n\\t\\tprecision mediump int;\\n\\n\\t\\tattribute float faceIndex;\\n\\n\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t// RH coordinate system; PMREM face-indexing convention\\n\\t\\tvec3 getDirection( vec2 uv, float face ) {\\n\\n\\t\\t\\tuv = 2.0 * uv - 1.0;\\n\\n\\t\\t\\tvec3 direction = vec3( uv, 1.0 );\\n\\n\\t\\t\\tif ( face == 0.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx; // ( 1, v, u ) pos x\\n\\n\\t\\t\\t} else if ( face == 1.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\\n\\n\\t\\t\\t} else if ( face == 2.0 ) {\\n\\n\\t\\t\\t\\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\\n\\n\\t\\t\\t} else if ( face == 3.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\\n\\n\\t\\t\\t} else if ( face == 4.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\\n\\n\\t\\t\\t} else if ( face == 5.0 ) {\\n\\n\\t\\t\\t\\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn direction;\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvOutputDirection = getDirection( uv, faceIndex );\\n\\t\\t\\tgl_Position = vec4( position, 1.0 );\\n\\n\\t\\t}\\n\\t\",fragmentShader:\"\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform sampler2D envMap;\\n\\t\\t\\tuniform int samples;\\n\\t\\t\\tuniform float weights[ n ];\\n\\t\\t\\tuniform bool latitudinal;\\n\\t\\t\\tuniform float dTheta;\\n\\t\\t\\tuniform float mipInt;\\n\\t\\t\\tuniform vec3 poleAxis;\\n\\n\\t\\t\\t#define ENVMAP_TYPE_CUBE_UV\\n\\t\\t\\t#include \\n\\n\\t\\t\\tvec3 getSample( float theta, vec3 axis ) {\\n\\n\\t\\t\\t\\tfloat cosTheta = cos( theta );\\n\\t\\t\\t\\t// Rodrigues' axis-angle rotation\\n\\t\\t\\t\\tvec3 sampleDirection = vOutputDirection * cosTheta\\n\\t\\t\\t\\t\\t+ cross( axis, vOutputDirection ) * sin( theta )\\n\\t\\t\\t\\t\\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\\n\\n\\t\\t\\t\\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\\n\\n\\t\\t\\t\\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\\n\\n\\t\\t\\t\\t\\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\taxis = normalize( axis );\\n\\n\\t\\t\\t\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\t\\t\\t\\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\\n\\n\\t\\t\\t\\tfor ( int i = 1; i < n; i++ ) {\\n\\n\\t\\t\\t\\t\\tif ( i >= samples ) {\\n\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tfloat theta = dTheta * float( i );\\n\\t\\t\\t\\t\\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\\n\\t\\t\\t\\t\\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t}\\n\\t\\t\",blending:p,depthTest:!1,depthWrite:!1})}(s,e,t)}return s}_compileMaterial(e){const t=new Zn(this._lodPlanes[0],e);this._renderer.compile(t,Ls)}_sceneToCubeUV(e,t,n,s){const i=new as(90,1,t,n),a=[1,-1,1,1,1,1],l=[1,1,1,-1,-1,-1],r=this._renderer,o=r.autoClear,u=r.toneMapping;r.getClearColor(Ps),r.toneMapping=m,r.autoClear=!1;const p=new vn({name:\"PMREM.Background\",side:c,depthWrite:!1,depthTest:!1}),h=new Zn(new Jn,p);let d=!1;const f=e.background;f?f.isColor&&(p.color.copy(f),e.background=null,d=!0):(p.color.copy(Ps),d=!0);for(let t=0;t<6;t++){const n=t%3;0===n?(i.up.set(0,a[t],0),i.lookAt(l[t],0,0)):1===n?(i.up.set(0,0,a[t]),i.lookAt(0,l[t],0)):(i.up.set(0,a[t],0),i.lookAt(0,0,l[t]));const o=this._cubeSize;Fs(s,n*o,t>2?o:0,o,o),r.setRenderTarget(s),d&&r.render(h,i),r.render(e,i)}h.geometry.dispose(),h.material.dispose(),r.toneMapping=u,r.autoClear=o,e.background=f}_textureToCubeUV(e,t){const n=this._renderer,s=e.mapping===g||e.mapping===R;s?(null===this._cubemapMaterial&&(this._cubemapMaterial=Vs()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===e.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=Gs());const i=s?this._cubemapMaterial:this._equirectMaterial,a=new Zn(this._lodPlanes[0],i);i.uniforms.envMap.value=e;const l=this._cubeSize;Fs(t,0,0,3*l,2*l),n.setRenderTarget(t),n.render(a,Ls)}_applyPMREM(e){const t=this._renderer,n=t.autoClear;t.autoClear=!1;for(let t=1;t20&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${f} samples when the maximum is set to 20`);const I=[];let m=0;for(let e=0;e<20;++e){const t=e/d,n=Math.exp(-t*t/2);I.push(n),0===e?m+=n:ey-4?s-y+4:0),4*(this._cubeSize-v),3*v,2*v),r.setRenderTarget(t),r.render(c,Ls)}}function Us(e,t,n){const s=new ze(e,t,n);return s.texture.mapping=D,s.texture.name=\"PMREM.cubeUv\",s.scissorTest=!0,s}function Fs(e,t,n,s,i){e.viewport.set(t,n,s,i),e.scissor.set(t,n,s,i)}function Gs(){return new ss({name:\"EquirectangularToCubeUV\",uniforms:{envMap:{value:null}},vertexShader:\"\\n\\n\\t\\tprecision mediump float;\\n\\t\\tprecision mediump int;\\n\\n\\t\\tattribute float faceIndex;\\n\\n\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t// RH coordinate system; PMREM face-indexing convention\\n\\t\\tvec3 getDirection( vec2 uv, float face ) {\\n\\n\\t\\t\\tuv = 2.0 * uv - 1.0;\\n\\n\\t\\t\\tvec3 direction = vec3( uv, 1.0 );\\n\\n\\t\\t\\tif ( face == 0.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx; // ( 1, v, u ) pos x\\n\\n\\t\\t\\t} else if ( face == 1.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\\n\\n\\t\\t\\t} else if ( face == 2.0 ) {\\n\\n\\t\\t\\t\\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\\n\\n\\t\\t\\t} else if ( face == 3.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\\n\\n\\t\\t\\t} else if ( face == 4.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\\n\\n\\t\\t\\t} else if ( face == 5.0 ) {\\n\\n\\t\\t\\t\\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn direction;\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvOutputDirection = getDirection( uv, faceIndex );\\n\\t\\t\\tgl_Position = vec4( position, 1.0 );\\n\\n\\t\\t}\\n\\t\",fragmentShader:\"\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform sampler2D envMap;\\n\\n\\t\\t\\t#include \\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tvec3 outputDirection = normalize( vOutputDirection );\\n\\t\\t\\t\\tvec2 uv = equirectUv( outputDirection );\\n\\n\\t\\t\\t\\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\\n\\n\\t\\t\\t}\\n\\t\\t\",blending:p,depthTest:!1,depthWrite:!1})}function Vs(){return new ss({name:\"CubemapToCubeUV\",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:\"\\n\\n\\t\\tprecision mediump float;\\n\\t\\tprecision mediump int;\\n\\n\\t\\tattribute float faceIndex;\\n\\n\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t// RH coordinate system; PMREM face-indexing convention\\n\\t\\tvec3 getDirection( vec2 uv, float face ) {\\n\\n\\t\\t\\tuv = 2.0 * uv - 1.0;\\n\\n\\t\\t\\tvec3 direction = vec3( uv, 1.0 );\\n\\n\\t\\t\\tif ( face == 0.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx; // ( 1, v, u ) pos x\\n\\n\\t\\t\\t} else if ( face == 1.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\\n\\n\\t\\t\\t} else if ( face == 2.0 ) {\\n\\n\\t\\t\\t\\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\\n\\n\\t\\t\\t} else if ( face == 3.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\\n\\n\\t\\t\\t} else if ( face == 4.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\\n\\n\\t\\t\\t} else if ( face == 5.0 ) {\\n\\n\\t\\t\\t\\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn direction;\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvOutputDirection = getDirection( uv, faceIndex );\\n\\t\\t\\tgl_Position = vec4( position, 1.0 );\\n\\n\\t\\t}\\n\\t\",fragmentShader:\"\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tuniform float flipEnvMap;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform samplerCube envMap;\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\\n\\n\\t\\t\\t}\\n\\t\\t\",blending:p,depthTest:!1,depthWrite:!1})}function js(e){let t=new WeakMap,n=null;function s(e){const n=e.target;n.removeEventListener(\"dispose\",s);const i=t.get(n);void 0!==i&&(t.delete(n),i.dispose())}return{get:function(i){if(i&&i.isTexture){const a=i.mapping,l=303===a||304===a,r=a===g||a===R;if(l||r){if(i.isRenderTargetTexture&&!0===i.needsPMREMUpdate){i.needsPMREMUpdate=!1;let s=t.get(i);return null===n&&(n=new Bs(e)),s=l?n.fromEquirectangular(i,s):n.fromCubemap(i,s),t.set(i,s),s.texture}if(t.has(i))return t.get(i).texture;{const a=i.image;if(l&&a&&a.height>0||r&&a&&function(e){let t=0;for(let n=0;n<6;n++)void 0!==e[n]&&t++;return 6===t}(a)){null===n&&(n=new Bs(e));const a=l?n.fromEquirectangular(i):n.fromCubemap(i);return t.set(i,a),i.addEventListener(\"dispose\",s),a.texture}return null}}}return i},dispose:function(){t=new WeakMap,null!==n&&(n.dispose(),n=null)}}}function zs(e){const t={};function n(n){if(void 0!==t[n])return t[n];let s;switch(n){case\"WEBGL_depth_texture\":s=e.getExtension(\"WEBGL_depth_texture\")||e.getExtension(\"MOZ_WEBGL_depth_texture\")||e.getExtension(\"WEBKIT_WEBGL_depth_texture\");break;case\"EXT_texture_filter_anisotropic\":s=e.getExtension(\"EXT_texture_filter_anisotropic\")||e.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||e.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\");break;case\"WEBGL_compressed_texture_s3tc\":s=e.getExtension(\"WEBGL_compressed_texture_s3tc\")||e.getExtension(\"MOZ_WEBGL_compressed_texture_s3tc\")||e.getExtension(\"WEBKIT_WEBGL_compressed_texture_s3tc\");break;case\"WEBGL_compressed_texture_pvrtc\":s=e.getExtension(\"WEBGL_compressed_texture_pvrtc\")||e.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\");break;default:s=e.getExtension(n)}return t[n]=s,s}return{has:function(e){return null!==n(e)},init:function(e){e.isWebGL2?n(\"EXT_color_buffer_float\"):(n(\"WEBGL_depth_texture\"),n(\"OES_texture_float\"),n(\"OES_texture_half_float\"),n(\"OES_texture_half_float_linear\"),n(\"OES_standard_derivatives\"),n(\"OES_element_index_uint\"),n(\"OES_vertex_array_object\"),n(\"ANGLE_instanced_arrays\")),n(\"OES_texture_float_linear\"),n(\"EXT_color_buffer_half_float\"),n(\"WEBGL_multisampled_render_to_texture\")},get:function(e){const t=n(e);return null===t&&console.warn(\"THREE.WebGLRenderer: \"+e+\" extension not supported.\"),t}}}function Ws(e,t,n,s){const i={},a=new WeakMap;function l(e){const r=e.target;null!==r.index&&t.remove(r.index);for(const e in r.attributes)t.remove(r.attributes[e]);for(const e in r.morphAttributes){const n=r.morphAttributes[e];for(let e=0,s=n.length;et.maxTextureSize&&(S=Math.ceil(D/t.maxTextureSize),D=t.maxTextureSize);const b=new Float32Array(D*S*4*d),N=new We(b,D,S,d);N.type=_,N.needsUpdate=!0;const O=4*R;for(let x=0;x0)return e;const i=t*n;let a=ni[i];if(void 0===a&&(a=new Float32Array(i),ni[i]=a),0!==t){s.toArray(a,0);for(let s=1,i=0;s!==t;++s)i+=n,e[s].toArray(a,i)}return a}function oi(e,t){if(e.length!==t.length)return!1;for(let n=0,s=e.length;n\":\" \"} ${i}: ${n[e]}`)}return s.join(\"\\n\")}(e.getShaderSource(t),s)}return i}function aa(e,t){const n=function(e){switch(e){case $:return[\"Linear\",\"( value )\"];case J:return[\"sRGB\",\"( value )\"];default:return console.warn(\"THREE.WebGLProgram: Unsupported color space:\",e),[\"Linear\",\"( value )\"]}}(t);return\"vec4 \"+e+\"( vec4 value ) { return LinearTo\"+n[0]+n[1]+\"; }\"}function la(e,t){let n;switch(t){case y:n=\"Linear\";break;case v:n=\"Reinhard\";break;case w:n=\"OptimizedCineon\";break;case T:n=\"ACESFilmic\";break;case E:n=\"Custom\";break;default:console.warn(\"THREE.WebGLProgram: Unsupported toneMapping:\",t),n=\"Linear\"}return\"vec3 \"+e+\"( vec3 color ) { return \"+n+\"ToneMapping( color ); }\"}function ra(e){return\"\"!==e}function oa(e,t){const n=t.numSpotLightShadows+t.numSpotLightMaps-t.numSpotLightShadowsWithMaps;return e.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,t.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,n).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,t.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,t.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,t.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,t.numPointLightShadows)}function ca(e,t){return e.replace(/NUM_CLIPPING_PLANES/g,t.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,t.numClippingPlanes-t.numClipIntersection)}const ua=/^[ \\t]*#include +<([\\w\\d./]+)>/gm;function pa(e){return e.replace(ua,da)}const ha=new Map([[\"encodings_fragment\",\"colorspace_fragment\"],[\"encodings_pars_fragment\",\"colorspace_pars_fragment\"],[\"output_fragment\",\"opaque_fragment\"]]);function da(e,t){let n=Ts[t];if(void 0===n){const e=ha.get(t);if(void 0===e)throw new Error(\"Can not resolve #include <\"+t+\">\");n=Ts[e],console.warn('THREE.WebGLRenderer: Shader chunk \"%s\" has been deprecated. Use \"%s\" instead.',t,e)}return pa(n)}const fa=/#pragma unroll_loop_start\\s+for\\s*\\(\\s*int\\s+i\\s*=\\s*(\\d+)\\s*;\\s*i\\s*<\\s*(\\d+)\\s*;\\s*i\\s*\\+\\+\\s*\\)\\s*{([\\s\\S]+?)}\\s+#pragma unroll_loop_end/g;function Ia(e){return e.replace(fa,ma)}function ma(e,t,n,s){let i=\"\";for(let e=parseInt(t);e0&&(b+=\"\\n\"),N=[T,\"#define SHADER_TYPE \"+n.shaderType,\"#define SHADER_NAME \"+n.shaderName,E].filter(ra).join(\"\\n\"),N.length>0&&(N+=\"\\n\")):(b=[ya(n),\"#define SHADER_TYPE \"+n.shaderType,\"#define SHADER_NAME \"+n.shaderName,E,n.instancing?\"#define USE_INSTANCING\":\"\",n.instancingColor?\"#define USE_INSTANCING_COLOR\":\"\",n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp2?\"#define FOG_EXP2\":\"\",n.map?\"#define USE_MAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+y:\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.normalMapObjectSpace?\"#define USE_NORMALMAP_OBJECTSPACE\":\"\",n.normalMapTangentSpace?\"#define USE_NORMALMAP_TANGENTSPACE\":\"\",n.displacementMap?\"#define USE_DISPLACEMENTMAP\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.anisotropyMap?\"#define USE_ANISOTROPYMAP\":\"\",n.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",n.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",n.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",n.iridescenceMap?\"#define USE_IRIDESCENCEMAP\":\"\",n.iridescenceThicknessMap?\"#define USE_IRIDESCENCE_THICKNESSMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.specularColorMap?\"#define USE_SPECULAR_COLORMAP\":\"\",n.specularIntensityMap?\"#define USE_SPECULAR_INTENSITYMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.alphaHash?\"#define USE_ALPHAHASH\":\"\",n.transmission?\"#define USE_TRANSMISSION\":\"\",n.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",n.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",n.sheenColorMap?\"#define USE_SHEEN_COLORMAP\":\"\",n.sheenRoughnessMap?\"#define USE_SHEEN_ROUGHNESSMAP\":\"\",n.mapUv?\"#define MAP_UV \"+n.mapUv:\"\",n.alphaMapUv?\"#define ALPHAMAP_UV \"+n.alphaMapUv:\"\",n.lightMapUv?\"#define LIGHTMAP_UV \"+n.lightMapUv:\"\",n.aoMapUv?\"#define AOMAP_UV \"+n.aoMapUv:\"\",n.emissiveMapUv?\"#define EMISSIVEMAP_UV \"+n.emissiveMapUv:\"\",n.bumpMapUv?\"#define BUMPMAP_UV \"+n.bumpMapUv:\"\",n.normalMapUv?\"#define NORMALMAP_UV \"+n.normalMapUv:\"\",n.displacementMapUv?\"#define DISPLACEMENTMAP_UV \"+n.displacementMapUv:\"\",n.metalnessMapUv?\"#define METALNESSMAP_UV \"+n.metalnessMapUv:\"\",n.roughnessMapUv?\"#define ROUGHNESSMAP_UV \"+n.roughnessMapUv:\"\",n.anisotropyMapUv?\"#define ANISOTROPYMAP_UV \"+n.anisotropyMapUv:\"\",n.clearcoatMapUv?\"#define CLEARCOATMAP_UV \"+n.clearcoatMapUv:\"\",n.clearcoatNormalMapUv?\"#define CLEARCOAT_NORMALMAP_UV \"+n.clearcoatNormalMapUv:\"\",n.clearcoatRoughnessMapUv?\"#define CLEARCOAT_ROUGHNESSMAP_UV \"+n.clearcoatRoughnessMapUv:\"\",n.iridescenceMapUv?\"#define IRIDESCENCEMAP_UV \"+n.iridescenceMapUv:\"\",n.iridescenceThicknessMapUv?\"#define IRIDESCENCE_THICKNESSMAP_UV \"+n.iridescenceThicknessMapUv:\"\",n.sheenColorMapUv?\"#define SHEEN_COLORMAP_UV \"+n.sheenColorMapUv:\"\",n.sheenRoughnessMapUv?\"#define SHEEN_ROUGHNESSMAP_UV \"+n.sheenRoughnessMapUv:\"\",n.specularMapUv?\"#define SPECULARMAP_UV \"+n.specularMapUv:\"\",n.specularColorMapUv?\"#define SPECULAR_COLORMAP_UV \"+n.specularColorMapUv:\"\",n.specularIntensityMapUv?\"#define SPECULAR_INTENSITYMAP_UV \"+n.specularIntensityMapUv:\"\",n.transmissionMapUv?\"#define TRANSMISSIONMAP_UV \"+n.transmissionMapUv:\"\",n.thicknessMapUv?\"#define THICKNESSMAP_UV \"+n.thicknessMapUv:\"\",n.vertexTangents&&!1===n.flatShading?\"#define USE_TANGENT\":\"\",n.vertexColors?\"#define USE_COLOR\":\"\",n.vertexAlphas?\"#define USE_COLOR_ALPHA\":\"\",n.vertexUv1s?\"#define USE_UV1\":\"\",n.vertexUv2s?\"#define USE_UV2\":\"\",n.vertexUv3s?\"#define USE_UV3\":\"\",n.pointsUvs?\"#define USE_POINTS_UV\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.skinning?\"#define USE_SKINNING\":\"\",n.morphTargets?\"#define USE_MORPHTARGETS\":\"\",n.morphNormals&&!1===n.flatShading?\"#define USE_MORPHNORMALS\":\"\",n.morphColors&&n.isWebGL2?\"#define USE_MORPHCOLORS\":\"\",n.morphTargetsCount>0&&n.isWebGL2?\"#define MORPHTARGETS_TEXTURE\":\"\",n.morphTargetsCount>0&&n.isWebGL2?\"#define MORPHTARGETS_TEXTURE_STRIDE \"+n.morphTextureStride:\"\",n.morphTargetsCount>0&&n.isWebGL2?\"#define MORPHTARGETS_COUNT \"+n.morphTargetsCount:\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+p:\"\",n.sizeAttenuation?\"#define USE_SIZEATTENUATION\":\"\",n.useLegacyLights?\"#define LEGACY_LIGHTS\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?\"#define USE_LOGDEPTHBUF_EXT\":\"\",\"uniform mat4 modelMatrix;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform mat4 viewMatrix;\",\"uniform mat3 normalMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",\"#ifdef USE_INSTANCING\",\"\\tattribute mat4 instanceMatrix;\",\"#endif\",\"#ifdef USE_INSTANCING_COLOR\",\"\\tattribute vec3 instanceColor;\",\"#endif\",\"attribute vec3 position;\",\"attribute vec3 normal;\",\"attribute vec2 uv;\",\"#ifdef USE_UV1\",\"\\tattribute vec2 uv1;\",\"#endif\",\"#ifdef USE_UV2\",\"\\tattribute vec2 uv2;\",\"#endif\",\"#ifdef USE_UV3\",\"\\tattribute vec2 uv3;\",\"#endif\",\"#ifdef USE_TANGENT\",\"\\tattribute vec4 tangent;\",\"#endif\",\"#if defined( USE_COLOR_ALPHA )\",\"\\tattribute vec4 color;\",\"#elif defined( USE_COLOR )\",\"\\tattribute vec3 color;\",\"#endif\",\"#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )\",\"\\tattribute vec3 morphTarget0;\",\"\\tattribute vec3 morphTarget1;\",\"\\tattribute vec3 morphTarget2;\",\"\\tattribute vec3 morphTarget3;\",\"\\t#ifdef USE_MORPHNORMALS\",\"\\t\\tattribute vec3 morphNormal0;\",\"\\t\\tattribute vec3 morphNormal1;\",\"\\t\\tattribute vec3 morphNormal2;\",\"\\t\\tattribute vec3 morphNormal3;\",\"\\t#else\",\"\\t\\tattribute vec3 morphTarget4;\",\"\\t\\tattribute vec3 morphTarget5;\",\"\\t\\tattribute vec3 morphTarget6;\",\"\\t\\tattribute vec3 morphTarget7;\",\"\\t#endif\",\"#endif\",\"#ifdef USE_SKINNING\",\"\\tattribute vec4 skinIndex;\",\"\\tattribute vec4 skinWeight;\",\"#endif\",\"\\n\"].filter(ra).join(\"\\n\"),N=[T,ya(n),\"#define SHADER_TYPE \"+n.shaderType,\"#define SHADER_NAME \"+n.shaderName,E,n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp2?\"#define FOG_EXP2\":\"\",n.map?\"#define USE_MAP\":\"\",n.matcap?\"#define USE_MATCAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+h:\"\",n.envMap?\"#define \"+y:\"\",n.envMap?\"#define \"+v:\"\",w?\"#define CUBEUV_TEXEL_WIDTH \"+w.texelWidth:\"\",w?\"#define CUBEUV_TEXEL_HEIGHT \"+w.texelHeight:\"\",w?\"#define CUBEUV_MAX_MIP \"+w.maxMip+\".0\":\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.normalMapObjectSpace?\"#define USE_NORMALMAP_OBJECTSPACE\":\"\",n.normalMapTangentSpace?\"#define USE_NORMALMAP_TANGENTSPACE\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.anisotropy?\"#define USE_ANISOTROPY\":\"\",n.anisotropyMap?\"#define USE_ANISOTROPYMAP\":\"\",n.clearcoat?\"#define USE_CLEARCOAT\":\"\",n.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",n.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",n.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",n.iridescence?\"#define USE_IRIDESCENCE\":\"\",n.iridescenceMap?\"#define USE_IRIDESCENCEMAP\":\"\",n.iridescenceThicknessMap?\"#define USE_IRIDESCENCE_THICKNESSMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.specularColorMap?\"#define USE_SPECULAR_COLORMAP\":\"\",n.specularIntensityMap?\"#define USE_SPECULAR_INTENSITYMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.alphaTest?\"#define USE_ALPHATEST\":\"\",n.alphaHash?\"#define USE_ALPHAHASH\":\"\",n.sheen?\"#define USE_SHEEN\":\"\",n.sheenColorMap?\"#define USE_SHEEN_COLORMAP\":\"\",n.sheenRoughnessMap?\"#define USE_SHEEN_ROUGHNESSMAP\":\"\",n.transmission?\"#define USE_TRANSMISSION\":\"\",n.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",n.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",n.vertexTangents&&!1===n.flatShading?\"#define USE_TANGENT\":\"\",n.vertexColors||n.instancingColor?\"#define USE_COLOR\":\"\",n.vertexAlphas?\"#define USE_COLOR_ALPHA\":\"\",n.vertexUv1s?\"#define USE_UV1\":\"\",n.vertexUv2s?\"#define USE_UV2\":\"\",n.vertexUv3s?\"#define USE_UV3\":\"\",n.pointsUvs?\"#define USE_POINTS_UV\":\"\",n.gradientMap?\"#define USE_GRADIENTMAP\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+p:\"\",n.premultipliedAlpha?\"#define PREMULTIPLIED_ALPHA\":\"\",n.useLegacyLights?\"#define LEGACY_LIGHTS\":\"\",n.decodeVideoTexture?\"#define DECODE_VIDEO_TEXTURE\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?\"#define USE_LOGDEPTHBUF_EXT\":\"\",\"uniform mat4 viewMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",n.toneMapping!==m?\"#define TONE_MAPPING\":\"\",n.toneMapping!==m?Ts.tonemapping_pars_fragment:\"\",n.toneMapping!==m?la(\"toneMapping\",n.toneMapping):\"\",n.dithering?\"#define DITHERING\":\"\",n.opaque?\"#define OPAQUE\":\"\",Ts.colorspace_pars_fragment,aa(\"linearToOutputTexel\",n.outputColorSpace),n.useDepthPacking?\"#define DEPTH_PACKING \"+n.depthPacking:\"\",\"\\n\"].filter(ra).join(\"\\n\")),c=pa(c),c=oa(c,n),c=ca(c,n),u=pa(u),u=oa(u,n),u=ca(u,n),c=Ia(c),u=Ia(u),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(O=\"#version 300 es\\n\",b=[\"precision mediump sampler2DArray;\",\"#define attribute in\",\"#define varying out\",\"#define texture2D texture\"].join(\"\\n\")+\"\\n\"+b,N=[\"#define varying in\",n.glslVersion===ne?\"\":\"layout(location = 0) out highp vec4 pc_fragColor;\",n.glslVersion===ne?\"\":\"#define gl_FragColor pc_fragColor\",\"#define gl_FragDepthEXT gl_FragDepth\",\"#define texture2D texture\",\"#define textureCube texture\",\"#define texture2DProj textureProj\",\"#define texture2DLodEXT textureLod\",\"#define texture2DProjLodEXT textureProjLod\",\"#define textureCubeLodEXT textureLod\",\"#define texture2DGradEXT textureGrad\",\"#define texture2DProjGradEXT textureProjGrad\",\"#define textureCubeGradEXT textureGrad\"].join(\"\\n\")+\"\\n\"+N);const A=O+b+c,x=O+N+u,C=na(i,i.VERTEX_SHADER,A),L=na(i,i.FRAGMENT_SHADER,x);if(i.attachShader(S,C),i.attachShader(S,L),void 0!==n.index0AttributeName?i.bindAttribLocation(S,0,n.index0AttributeName):!0===n.morphTargets&&i.bindAttribLocation(S,0,\"position\"),i.linkProgram(S),e.debug.checkShaderErrors){const t=i.getProgramInfoLog(S).trim(),n=i.getShaderInfoLog(C).trim(),s=i.getShaderInfoLog(L).trim();let a=!0,l=!0;if(!1===i.getProgramParameter(S,i.LINK_STATUS))if(a=!1,\"function\"==typeof e.debug.onShaderError)e.debug.onShaderError(i,S,C,L);else{const e=ia(i,C,\"vertex\"),n=ia(i,L,\"fragment\");console.error(\"THREE.WebGLProgram: Shader Error \"+i.getError()+\" - VALIDATE_STATUS \"+i.getProgramParameter(S,i.VALIDATE_STATUS)+\"\\n\\nProgram Info Log: \"+t+\"\\n\"+e+\"\\n\"+n)}else\"\"!==t?console.warn(\"THREE.WebGLProgram: Program Info Log:\",t):\"\"!==n&&\"\"!==s||(l=!1);l&&(this.diagnostics={runnable:a,programLog:t,vertexShader:{log:n,prefix:b},fragmentShader:{log:s,prefix:N}})}let P,q;return i.deleteShader(C),i.deleteShader(L),this.getUniforms=function(){return void 0===P&&(P=new ta(i,S)),P},this.getAttributes=function(){return void 0===q&&(q=function(e,t){const n={},s=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES);for(let i=0;i0,K=a.clearcoat>0,Z=a.iridescence>0,Q=a.sheen>0,ee=a.transmission>0,te=X&&!!a.anisotropyMap,ne=K&&!!a.clearcoatMap,se=K&&!!a.clearcoatNormalMap,ie=K&&!!a.clearcoatRoughnessMap,ae=Z&&!!a.iridescenceMap,le=Z&&!!a.iridescenceThicknessMap,re=Q&&!!a.sheenColorMap,oe=Q&&!!a.sheenRoughnessMap,ce=!!a.specularMap,ue=!!a.specularColorMap,pe=!!a.specularIntensityMap,he=ee&&!!a.transmissionMap,de=ee&&!!a.thicknessMap,fe=!!a.gradientMap,Ie=!!a.alphaMap,me=a.alphaTest>0,ye=!!a.alphaHash,ve=!!a.extensions,we=!!g.attributes.uv1,Te=!!g.attributes.uv2,Ee=!!g.attributes.uv3;let ge=m;return a.toneMapped&&(null!==_&&!0!==_.isXRRenderTarget||(ge=e.toneMapping)),{isWebGL2:h,shaderID:N,shaderType:a.type,shaderName:a.name,vertexShader:x,fragmentShader:C,defines:a.defines,customVertexShaderID:L,customFragmentShaderID:P,isRawShaderMaterial:!0===a.isRawShaderMaterial,glslVersion:a.glslVersion,precision:I,instancing:M,instancingColor:M&&null!==T.instanceColor,supportsVertexTextures:f,outputColorSpace:null===_?e.outputColorSpace:!0===_.isXRRenderTarget?_.texture.colorSpace:$,map:H,matcap:B,envMap:U,envMapMode:U&&S.mapping,envMapCubeUVHeight:b,aoMap:F,lightMap:G,bumpMap:V,normalMap:j,displacementMap:f&&z,emissiveMap:W,normalMapObjectSpace:j&&1===a.normalMapType,normalMapTangentSpace:j&&0===a.normalMapType,metalnessMap:k,roughnessMap:Y,anisotropy:X,anisotropyMap:te,clearcoat:K,clearcoatMap:ne,clearcoatNormalMap:se,clearcoatRoughnessMap:ie,iridescence:Z,iridescenceMap:ae,iridescenceThicknessMap:le,sheen:Q,sheenColorMap:re,sheenRoughnessMap:oe,specularMap:ce,specularColorMap:ue,specularIntensityMap:pe,transmission:ee,transmissionMap:he,thicknessMap:de,gradientMap:fe,opaque:!1===a.transparent&&1===a.blending,alphaMap:Ie,alphaTest:me,alphaHash:ye,combine:a.combine,mapUv:H&&v(a.map.channel),aoMapUv:F&&v(a.aoMap.channel),lightMapUv:G&&v(a.lightMap.channel),bumpMapUv:V&&v(a.bumpMap.channel),normalMapUv:j&&v(a.normalMap.channel),displacementMapUv:z&&v(a.displacementMap.channel),emissiveMapUv:W&&v(a.emissiveMap.channel),metalnessMapUv:k&&v(a.metalnessMap.channel),roughnessMapUv:Y&&v(a.roughnessMap.channel),anisotropyMapUv:te&&v(a.anisotropyMap.channel),clearcoatMapUv:ne&&v(a.clearcoatMap.channel),clearcoatNormalMapUv:se&&v(a.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:ie&&v(a.clearcoatRoughnessMap.channel),iridescenceMapUv:ae&&v(a.iridescenceMap.channel),iridescenceThicknessMapUv:le&&v(a.iridescenceThicknessMap.channel),sheenColorMapUv:re&&v(a.sheenColorMap.channel),sheenRoughnessMapUv:oe&&v(a.sheenRoughnessMap.channel),specularMapUv:ce&&v(a.specularMap.channel),specularColorMapUv:ue&&v(a.specularColorMap.channel),specularIntensityMapUv:pe&&v(a.specularIntensityMap.channel),transmissionMapUv:he&&v(a.transmissionMap.channel),thicknessMapUv:de&&v(a.thicknessMap.channel),alphaMapUv:Ie&&v(a.alphaMap.channel),vertexTangents:!!g.attributes.tangent&&(j||X),vertexColors:a.vertexColors,vertexAlphas:!0===a.vertexColors&&!!g.attributes.color&&4===g.attributes.color.itemSize,vertexUv1s:we,vertexUv2s:Te,vertexUv3s:Ee,pointsUvs:!0===T.isPoints&&!!g.attributes.uv&&(H||Ie),fog:!!E,useFog:!0===a.fog,fogExp2:E&&E.isFogExp2,flatShading:!0===a.flatShading,sizeAttenuation:!0===a.sizeAttenuation,logarithmicDepthBuffer:d,skinning:!0===T.isSkinnedMesh,morphTargets:void 0!==g.morphAttributes.position,morphNormals:void 0!==g.morphAttributes.normal,morphColors:void 0!==g.morphAttributes.color,morphTargetsCount:A,morphTextureStride:q,numDirLights:r.directional.length,numPointLights:r.point.length,numSpotLights:r.spot.length,numSpotLightMaps:r.spotLightMap.length,numRectAreaLights:r.rectArea.length,numHemiLights:r.hemi.length,numDirLightShadows:r.directionalShadowMap.length,numPointLightShadows:r.pointShadowMap.length,numSpotLightShadows:r.spotShadowMap.length,numSpotLightShadowsWithMaps:r.numSpotLightShadowsWithMaps,numClippingPlanes:l.numPlanes,numClipIntersection:l.numIntersection,dithering:a.dithering,shadowMapEnabled:e.shadowMap.enabled&&p.length>0,shadowMapType:e.shadowMap.type,toneMapping:ge,useLegacyLights:e._useLegacyLights,decodeVideoTexture:H&&!0===a.map.isVideoTexture&&a.map.colorSpace===J,premultipliedAlpha:a.premultipliedAlpha,doubleSided:a.side===u,flipSided:a.side===c,useDepthPacking:a.depthPacking>=0,depthPacking:a.depthPacking||0,index0AttributeName:a.index0AttributeName,extensionDerivatives:ve&&!0===a.extensions.derivatives,extensionFragDepth:ve&&!0===a.extensions.fragDepth,extensionDrawBuffers:ve&&!0===a.extensions.drawBuffers,extensionShaderTextureLOD:ve&&!0===a.extensions.shaderTextureLOD,rendererExtensionFragDepth:h||s.has(\"EXT_frag_depth\"),rendererExtensionDrawBuffers:h||s.has(\"WEBGL_draw_buffers\"),rendererExtensionShaderTextureLod:h||s.has(\"EXT_shader_texture_lod\"),customProgramCacheKey:a.customProgramCacheKey()}},getProgramCacheKey:function(t){const n=[];if(t.shaderID?n.push(t.shaderID):(n.push(t.customVertexShaderID),n.push(t.customFragmentShaderID)),void 0!==t.defines)for(const e in t.defines)n.push(e),n.push(t.defines[e]);return!1===t.isRawShaderMaterial&&(function(e,t){e.push(t.precision),e.push(t.outputColorSpace),e.push(t.envMapMode),e.push(t.envMapCubeUVHeight),e.push(t.mapUv),e.push(t.alphaMapUv),e.push(t.lightMapUv),e.push(t.aoMapUv),e.push(t.bumpMapUv),e.push(t.normalMapUv),e.push(t.displacementMapUv),e.push(t.emissiveMapUv),e.push(t.metalnessMapUv),e.push(t.roughnessMapUv),e.push(t.anisotropyMapUv),e.push(t.clearcoatMapUv),e.push(t.clearcoatNormalMapUv),e.push(t.clearcoatRoughnessMapUv),e.push(t.iridescenceMapUv),e.push(t.iridescenceThicknessMapUv),e.push(t.sheenColorMapUv),e.push(t.sheenRoughnessMapUv),e.push(t.specularMapUv),e.push(t.specularColorMapUv),e.push(t.specularIntensityMapUv),e.push(t.transmissionMapUv),e.push(t.thicknessMapUv),e.push(t.combine),e.push(t.fogExp2),e.push(t.sizeAttenuation),e.push(t.morphTargetsCount),e.push(t.morphAttributeCount),e.push(t.numDirLights),e.push(t.numPointLights),e.push(t.numSpotLights),e.push(t.numSpotLightMaps),e.push(t.numHemiLights),e.push(t.numRectAreaLights),e.push(t.numDirLightShadows),e.push(t.numPointLightShadows),e.push(t.numSpotLightShadows),e.push(t.numSpotLightShadowsWithMaps),e.push(t.shadowMapType),e.push(t.toneMapping),e.push(t.numClippingPlanes),e.push(t.numClipIntersection),e.push(t.depthPacking)}(n,t),function(e,t){r.disableAll(),t.isWebGL2&&r.enable(0),t.supportsVertexTextures&&r.enable(1),t.instancing&&r.enable(2),t.instancingColor&&r.enable(3),t.matcap&&r.enable(4),t.envMap&&r.enable(5),t.normalMapObjectSpace&&r.enable(6),t.normalMapTangentSpace&&r.enable(7),t.clearcoat&&r.enable(8),t.iridescence&&r.enable(9),t.alphaTest&&r.enable(10),t.vertexColors&&r.enable(11),t.vertexAlphas&&r.enable(12),t.vertexUv1s&&r.enable(13),t.vertexUv2s&&r.enable(14),t.vertexUv3s&&r.enable(15),t.vertexTangents&&r.enable(16),t.anisotropy&&r.enable(17),e.push(r.mask),r.disableAll(),t.fog&&r.enable(0),t.useFog&&r.enable(1),t.flatShading&&r.enable(2),t.logarithmicDepthBuffer&&r.enable(3),t.skinning&&r.enable(4),t.morphTargets&&r.enable(5),t.morphNormals&&r.enable(6),t.morphColors&&r.enable(7),t.premultipliedAlpha&&r.enable(8),t.shadowMapEnabled&&r.enable(9),t.useLegacyLights&&r.enable(10),t.doubleSided&&r.enable(11),t.flipSided&&r.enable(12),t.useDepthPacking&&r.enable(13),t.dithering&&r.enable(14),t.transmission&&r.enable(15),t.sheen&&r.enable(16),t.opaque&&r.enable(17),t.pointsUvs&&r.enable(18),t.decodeVideoTexture&&r.enable(19),e.push(r.mask)}(n,t),n.push(e.outputColorSpace)),n.push(t.customProgramCacheKey),n.join()},getUniforms:function(e){const t=y[e.type];let n;if(t){const e=gs[t];n=ns.clone(e.uniforms)}else n=e.uniforms;return n},acquireProgram:function(t,n){let s;for(let e=0,t=p.length;e0?s.push(u):!0===l.transparent?i.push(u):n.push(u)},unshift:function(e,t,l,r,o,c){const u=a(e,t,l,r,o,c);l.transmission>0?s.unshift(u):!0===l.transparent?i.unshift(u):n.unshift(u)},finish:function(){for(let n=t,s=e.length;n1&&n.sort(e||Da),s.length>1&&s.sort(t||Sa),i.length>1&&i.sort(t||Sa)}}}function Na(){let e=new WeakMap;return{get:function(t,n){const s=e.get(t);let i;return void 0===s?(i=new ba,e.set(t,[i])):n>=s.length?(i=new ba,s.push(i)):i=s[n],i},dispose:function(){e=new WeakMap}}}function Oa(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case\"DirectionalLight\":n={direction:new Ke,color:new mn};break;case\"SpotLight\":n={position:new Ke,direction:new Ke,color:new mn,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case\"PointLight\":n={position:new Ke,color:new mn,distance:0,decay:0};break;case\"HemisphereLight\":n={direction:new Ke,skyColor:new mn,groundColor:new mn};break;case\"RectAreaLight\":n={color:new mn,position:new Ke,halfWidth:new Ke,halfHeight:new Ke}}return e[t.id]=n,n}}}let Aa=0;function xa(e,t){return(t.castShadow?2:0)-(e.castShadow?2:0)+(t.map?1:0)-(e.map?1:0)}function Ca(e,t){const n=new Oa,s=function(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case\"DirectionalLight\":case\"SpotLight\":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Te};break;case\"PointLight\":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Te,shadowCameraNear:1,shadowCameraFar:1e3}}return e[t.id]=n,n}}}(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0};for(let e=0;e<9;e++)i.probe.push(new Ke);const a=new Ke,l=new St,r=new St;return{setup:function(a,l){let r=0,o=0,c=0;for(let e=0;e<9;e++)i.probe[e].set(0,0,0);let u=0,p=0,h=0,d=0,f=0,I=0,m=0,y=0,v=0,w=0;a.sort(xa);const T=!0===l?Math.PI:1;for(let e=0,t=a.length;e0&&(t.isWebGL2||!0===e.has(\"OES_texture_float_linear\")?(i.rectAreaLTC1=Es.LTC_FLOAT_1,i.rectAreaLTC2=Es.LTC_FLOAT_2):!0===e.has(\"OES_texture_half_float_linear\")?(i.rectAreaLTC1=Es.LTC_HALF_1,i.rectAreaLTC2=Es.LTC_HALF_2):console.error(\"THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.\")),i.ambient[0]=r,i.ambient[1]=o,i.ambient[2]=c;const E=i.hash;E.directionalLength===u&&E.pointLength===p&&E.spotLength===h&&E.rectAreaLength===d&&E.hemiLength===f&&E.numDirectionalShadows===I&&E.numPointShadows===m&&E.numSpotShadows===y&&E.numSpotMaps===v||(i.directional.length=u,i.spot.length=h,i.rectArea.length=d,i.point.length=p,i.hemi.length=f,i.directionalShadow.length=I,i.directionalShadowMap.length=I,i.pointShadow.length=m,i.pointShadowMap.length=m,i.spotShadow.length=y,i.spotShadowMap.length=y,i.directionalShadowMatrix.length=I,i.pointShadowMatrix.length=m,i.spotLightMatrix.length=y+v-w,i.spotLightMap.length=v,i.numSpotLightShadowsWithMaps=w,E.directionalLength=u,E.pointLength=p,E.spotLength=h,E.rectAreaLength=d,E.hemiLength=f,E.numDirectionalShadows=I,E.numPointShadows=m,E.numSpotShadows=y,E.numSpotMaps=v,i.version=Aa++)},setupView:function(e,t){let n=0,s=0,o=0,c=0,u=0;const p=t.matrixWorldInverse;for(let t=0,h=e.length;t=a.length?(l=new La(e,t),a.push(l)):l=a[i],l},dispose:function(){n=new WeakMap}}}class qa extends pn{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type=\"MeshDepthMaterial\",this.depthPacking=3200,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class _a extends pn{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type=\"MeshDistanceMaterial\",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}function Ma(e,t,n){let s=new ms;const i=new Te,l=new Te,h=new Ve,d=new qa({depthPacking:3201}),f=new _a,I={},m=n.maxTextureSize,y={[o]:c,[c]:o,[u]:u},v=new ss({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Te},radius:{value:4}},vertexShader:\"void main() {\\n\\tgl_Position = vec4( position, 1.0 );\\n}\",fragmentShader:\"uniform sampler2D shadow_pass;\\nuniform vec2 resolution;\\nuniform float radius;\\n#include \\nvoid main() {\\n\\tconst float samples = float( VSM_SAMPLES );\\n\\tfloat mean = 0.0;\\n\\tfloat squared_mean = 0.0;\\n\\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\\n\\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\\n\\tfor ( float i = 0.0; i < samples; i ++ ) {\\n\\t\\tfloat uvOffset = uvStart + i * uvStride;\\n\\t\\t#ifdef HORIZONTAL_PASS\\n\\t\\t\\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\\n\\t\\t\\tmean += distribution.x;\\n\\t\\t\\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\\n\\t\\t#else\\n\\t\\t\\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\\n\\t\\t\\tmean += depth;\\n\\t\\t\\tsquared_mean += depth * depth;\\n\\t\\t#endif\\n\\t}\\n\\tmean = mean / samples;\\n\\tsquared_mean = squared_mean / samples;\\n\\tfloat std_dev = sqrt( squared_mean - mean * mean );\\n\\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\\n}\"}),w=v.clone();w.defines.HORIZONTAL_PASS=1;const T=new Ln;T.setAttribute(\"position\",new En(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const E=new Zn(T,v),g=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=a;let R=this.type;function D(n,s){const a=t.update(E);v.defines.VSM_SAMPLES!==n.blurSamples&&(v.defines.VSM_SAMPLES=n.blurSamples,w.defines.VSM_SAMPLES=n.blurSamples,v.needsUpdate=!0,w.needsUpdate=!0),null===n.mapPass&&(n.mapPass=new ze(i.x,i.y)),v.uniforms.shadow_pass.value=n.map.texture,v.uniforms.resolution.value=n.mapSize,v.uniforms.radius.value=n.radius,e.setRenderTarget(n.mapPass),e.clear(),e.renderBufferDirect(s,null,a,v,E,null),w.uniforms.shadow_pass.value=n.mapPass.texture,w.uniforms.resolution.value=n.mapSize,w.uniforms.radius.value=n.radius,e.setRenderTarget(n.map),e.clear(),e.renderBufferDirect(s,null,a,w,E,null)}function S(t,n,s,i){let a=null;const l=!0===s.isPointLight?t.customDistanceMaterial:t.customDepthMaterial;if(void 0!==l)a=l;else if(a=!0===s.isPointLight?f:d,e.localClippingEnabled&&!0===n.clipShadows&&Array.isArray(n.clippingPlanes)&&0!==n.clippingPlanes.length||n.displacementMap&&0!==n.displacementScale||n.alphaMap&&n.alphaTest>0||n.map&&n.alphaTest>0){const e=a.uuid,t=n.uuid;let s=I[e];void 0===s&&(s={},I[e]=s);let i=s[t];void 0===i&&(i=a.clone(),s[t]=i),a=i}return a.visible=n.visible,a.wireframe=n.wireframe,a.side=i===r?null!==n.shadowSide?n.shadowSide:n.side:null!==n.shadowSide?n.shadowSide:y[n.side],a.alphaMap=n.alphaMap,a.alphaTest=n.alphaTest,a.map=n.map,a.clipShadows=n.clipShadows,a.clippingPlanes=n.clippingPlanes,a.clipIntersection=n.clipIntersection,a.displacementMap=n.displacementMap,a.displacementScale=n.displacementScale,a.displacementBias=n.displacementBias,a.wireframeLinewidth=n.wireframeLinewidth,a.linewidth=n.linewidth,!0===s.isPointLight&&!0===a.isMeshDistanceMaterial&&(e.properties.get(a).light=s),a}function b(n,i,a,l,o){if(!1===n.visible)return;if(n.layers.test(i.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&o===r)&&(!n.frustumCulled||s.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(a.matrixWorldInverse,n.matrixWorld);const s=t.update(n),i=n.material;if(Array.isArray(i)){const t=s.groups;for(let r=0,c=t.length;rm||i.y>m)&&(i.x>m&&(l.x=Math.floor(m/p.x),i.x=l.x*p.x,u.mapSize.x=l.x),i.y>m&&(l.y=Math.floor(m/p.y),i.y=l.y*p.y,u.mapSize.y=l.y)),null===u.map||!0===f||!0===I){const e=this.type!==r?{minFilter:O,magFilter:O}:{};null!==u.map&&u.map.dispose(),u.map=new ze(i.x,i.y,e),u.map.texture.name=c.name+\".shadowMap\",u.camera.updateProjectionMatrix()}e.setRenderTarget(u.map),e.clear();const y=u.getViewportCount();for(let e=0;e=1):-1!==_.indexOf(\"OpenGL ES\")&&(q=parseFloat(/^OpenGL ES (\\d)/.exec(_)[1]),P=q>=2);let M=null,H={};const B=e.getParameter(e.SCISSOR_BOX),U=e.getParameter(e.VIEWPORT),F=(new Ve).fromArray(B),G=(new Ve).fromArray(U);function V(t,n,i,a){const l=new Uint8Array(4),r=e.createTexture();e.bindTexture(t,r),e.texParameteri(t,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(t,e.TEXTURE_MAG_FILTER,e.NEAREST);for(let r=0;rs||e.height>s)&&(i=s/Math.max(e.width,e.height)),i<1||!0===t){if(\"undefined\"!=typeof HTMLImageElement&&e instanceof HTMLImageElement||\"undefined\"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||\"undefined\"!=typeof ImageBitmap&&e instanceof ImageBitmap){const s=t?me:Math.floor,a=s(i*e.width),l=s(i*e.height);void 0===I&&(I=v(a,l));const r=n?v(a,l):I;return r.width=a,r.height=l,r.getContext(\"2d\").drawImage(e,0,0,a,l),console.warn(\"THREE.WebGLRenderer: Texture has been resized from (\"+e.width+\"x\"+e.height+\") to (\"+a+\"x\"+l+\").\"),r}return\"data\"in e&&console.warn(\"THREE.WebGLRenderer: Image in DataTexture is too big (\"+e.width+\"x\"+e.height+\").\"),e}return e}function T(e){return Ie(e.width)&&Ie(e.height)}function E(e,t){return e.generateMipmaps&&t&&e.minFilter!==O&&e.minFilter!==x}function g(t){e.generateMipmap(t)}function R(n,s,i,a,l=!1){if(!1===r)return s;if(null!==n){if(void 0!==e[n])return e[n];console.warn(\"THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '\"+n+\"'\")}let o=s;return s===e.RED&&(i===e.FLOAT&&(o=e.R32F),i===e.HALF_FLOAT&&(o=e.R16F),i===e.UNSIGNED_BYTE&&(o=e.R8)),s===e.RED_INTEGER&&(i===e.UNSIGNED_BYTE&&(o=e.R8UI),i===e.UNSIGNED_SHORT&&(o=e.R16UI),i===e.UNSIGNED_INT&&(o=e.R32UI),i===e.BYTE&&(o=e.R8I),i===e.SHORT&&(o=e.R16I),i===e.INT&&(o=e.R32I)),s===e.RG&&(i===e.FLOAT&&(o=e.RG32F),i===e.HALF_FLOAT&&(o=e.RG16F),i===e.UNSIGNED_BYTE&&(o=e.RG8)),s===e.RGBA&&(i===e.FLOAT&&(o=e.RGBA32F),i===e.HALF_FLOAT&&(o=e.RGBA16F),i===e.UNSIGNED_BYTE&&(o=a===J&&!1===l?e.SRGB8_ALPHA8:e.RGBA8),i===e.UNSIGNED_SHORT_4_4_4_4&&(o=e.RGBA4),i===e.UNSIGNED_SHORT_5_5_5_1&&(o=e.RGB5_A1)),o!==e.R16F&&o!==e.R32F&&o!==e.RG16F&&o!==e.RG32F&&o!==e.RGBA16F&&o!==e.RGBA32F||t.get(\"EXT_color_buffer_float\"),o}function D(e,t,n){return!0===E(e,n)||e.isFramebufferTexture&&e.minFilter!==O&&e.minFilter!==x?Math.log2(Math.max(t.width,t.height))+1:void 0!==e.mipmaps&&e.mipmaps.length>0?e.mipmaps.length:e.isCompressedTexture&&Array.isArray(e.image)?t.mipmaps.length:1}function G(t){return t===O||1004===t||t===A?e.NEAREST:e.LINEAR}function V(e){const t=e.target;t.removeEventListener(\"dispose\",V),function(e){const t=s.get(e);if(void 0===t.__webglInit)return;const n=e.source,i=m.get(n);if(i){const s=i[t.__cacheKey];s.usedTimes--,0===s.usedTimes&&z(e),0===Object.keys(i).length&&m.delete(n)}s.remove(e)}(t),t.isVideoTexture&&f.delete(t)}function j(t){const n=t.target;n.removeEventListener(\"dispose\",j),function(t){const n=t.texture,i=s.get(t),a=s.get(n);if(void 0!==a.__webglTexture&&(e.deleteTexture(a.__webglTexture),l.memory.textures--),t.depthTexture&&t.depthTexture.dispose(),t.isWebGLCubeRenderTarget)for(let t=0;t<6;t++){if(Array.isArray(i.__webglFramebuffer[t]))for(let n=0;n0&&a.__version!==t.version){const e=t.image;if(null===e)console.warn(\"THREE.WebGLRenderer: Texture marked for update but no image data found.\");else{if(!1!==e.complete)return void ne(a,t,i);console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is incomplete\")}}n.bindTexture(e.TEXTURE_2D,a.__webglTexture,e.TEXTURE0+i)}const Y={[S]:e.REPEAT,[b]:e.CLAMP_TO_EDGE,[N]:e.MIRRORED_REPEAT},X={[O]:e.NEAREST,1004:e.NEAREST_MIPMAP_NEAREST,[A]:e.NEAREST_MIPMAP_LINEAR,[x]:e.LINEAR,1007:e.LINEAR_MIPMAP_NEAREST,[C]:e.LINEAR_MIPMAP_LINEAR},K={512:e.NEVER,519:e.ALWAYS,513:e.LESS,515:e.LEQUAL,514:e.EQUAL,518:e.GEQUAL,516:e.GREATER,517:e.NOTEQUAL};function Z(n,a,l){if(l?(e.texParameteri(n,e.TEXTURE_WRAP_S,Y[a.wrapS]),e.texParameteri(n,e.TEXTURE_WRAP_T,Y[a.wrapT]),n!==e.TEXTURE_3D&&n!==e.TEXTURE_2D_ARRAY||e.texParameteri(n,e.TEXTURE_WRAP_R,Y[a.wrapR]),e.texParameteri(n,e.TEXTURE_MAG_FILTER,X[a.magFilter]),e.texParameteri(n,e.TEXTURE_MIN_FILTER,X[a.minFilter])):(e.texParameteri(n,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(n,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),n!==e.TEXTURE_3D&&n!==e.TEXTURE_2D_ARRAY||e.texParameteri(n,e.TEXTURE_WRAP_R,e.CLAMP_TO_EDGE),a.wrapS===b&&a.wrapT===b||console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.\"),e.texParameteri(n,e.TEXTURE_MAG_FILTER,G(a.magFilter)),e.texParameteri(n,e.TEXTURE_MIN_FILTER,G(a.minFilter)),a.minFilter!==O&&a.minFilter!==x&&console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.\")),a.compareFunction&&(e.texParameteri(n,e.TEXTURE_COMPARE_MODE,e.COMPARE_REF_TO_TEXTURE),e.texParameteri(n,e.TEXTURE_COMPARE_FUNC,K[a.compareFunction])),!0===t.has(\"EXT_texture_filter_anisotropic\")){const l=t.get(\"EXT_texture_filter_anisotropic\");if(a.magFilter===O)return;if(a.minFilter!==A&&a.minFilter!==C)return;if(a.type===_&&!1===t.has(\"OES_texture_float_linear\"))return;if(!1===r&&a.type===M&&!1===t.has(\"OES_texture_half_float_linear\"))return;(a.anisotropy>1||s.get(a).__currentAnisotropy)&&(e.texParameterf(n,l.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,i.getMaxAnisotropy())),s.get(a).__currentAnisotropy=a.anisotropy)}}function te(t,n){let s=!1;void 0===t.__webglInit&&(t.__webglInit=!0,n.addEventListener(\"dispose\",V));const i=n.source;let a=m.get(i);void 0===a&&(a={},m.set(i,a));const r=function(e){const t=[];return t.push(e.wrapS),t.push(e.wrapT),t.push(e.wrapR||0),t.push(e.magFilter),t.push(e.minFilter),t.push(e.anisotropy),t.push(e.internalFormat),t.push(e.format),t.push(e.type),t.push(e.generateMipmaps),t.push(e.premultiplyAlpha),t.push(e.flipY),t.push(e.unpackAlignment),t.push(e.colorSpace),t.join()}(n);if(r!==t.__cacheKey){void 0===a[r]&&(a[r]={texture:e.createTexture(),usedTimes:0},l.memory.textures++,s=!0),a[r].usedTimes++;const i=a[t.__cacheKey];void 0!==i&&(a[t.__cacheKey].usedTimes--,0===i.usedTimes&&z(n)),t.__cacheKey=r,t.__webglTexture=a[r].texture}return s}function ne(t,i,l){let o=e.TEXTURE_2D;(i.isDataArrayTexture||i.isCompressedArrayTexture)&&(o=e.TEXTURE_2D_ARRAY),i.isData3DTexture&&(o=e.TEXTURE_3D);const c=te(t,i),p=i.source;n.bindTexture(o,t.__webglTexture,e.TEXTURE0+l);const h=s.get(p);if(p.version!==h.__version||!0===c){n.activeTexture(e.TEXTURE0+l),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,i.flipY),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.premultiplyAlpha),e.pixelStorei(e.UNPACK_ALIGNMENT,i.unpackAlignment),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.NONE);const t=function(e){return!r&&(e.wrapS!==b||e.wrapT!==b||e.minFilter!==O&&e.minFilter!==x)}(i)&&!1===T(i.image);let s=w(i.image,t,!1,u);s=ce(i,s);const d=T(s)||r,f=a.convert(i.format,i.colorSpace);let I,m=a.convert(i.type),y=R(i.internalFormat,f,m,i.colorSpace,i.isVideoTexture);Z(o,i,d);const v=i.mipmaps,S=r&&!0!==i.isVideoTexture,N=void 0===h.__version||!0===c,A=D(i,s,d);if(i.isDepthTexture)y=e.DEPTH_COMPONENT,r?y=i.type===_?e.DEPTH_COMPONENT32F:i.type===q?e.DEPTH_COMPONENT24:i.type===H?e.DEPTH24_STENCIL8:e.DEPTH_COMPONENT16:i.type===_&&console.error(\"WebGLRenderer: Floating point depth texture requires WebGL2.\"),i.format===U&&y===e.DEPTH_COMPONENT&&i.type!==P&&i.type!==q&&(console.warn(\"THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.\"),i.type=q,m=a.convert(i.type)),i.format===F&&y===e.DEPTH_COMPONENT&&(y=e.DEPTH_STENCIL,i.type!==H&&(console.warn(\"THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.\"),i.type=H,m=a.convert(i.type))),N&&(S?n.texStorage2D(e.TEXTURE_2D,1,y,s.width,s.height):n.texImage2D(e.TEXTURE_2D,0,y,s.width,s.height,0,f,m,null));else if(i.isDataTexture)if(v.length>0&&d){S&&N&&n.texStorage2D(e.TEXTURE_2D,A,y,v[0].width,v[0].height);for(let t=0,s=v.length;t>=1,i>>=1}}else if(v.length>0&&d){S&&N&&n.texStorage2D(e.TEXTURE_2D,A,y,v[0].width,v[0].height);for(let t=0,s=v.length;t>c),s=Math.max(1,i.height>>c);o===e.TEXTURE_3D||o===e.TEXTURE_2D_ARRAY?n.texImage3D(o,c,d,t,s,i.depth,0,u,p,null):n.texImage2D(o,c,d,t,s,0,u,p,null)}n.bindFramebuffer(e.FRAMEBUFFER,t),oe(i)?h.framebufferTexture2DMultisampleEXT(e.FRAMEBUFFER,r,o,s.get(l).__webglTexture,0,re(i)):(o===e.TEXTURE_2D||o>=e.TEXTURE_CUBE_MAP_POSITIVE_X&&o<=e.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&e.framebufferTexture2D(e.FRAMEBUFFER,r,o,s.get(l).__webglTexture,c),n.bindFramebuffer(e.FRAMEBUFFER,null)}function ae(t,n,s){if(e.bindRenderbuffer(e.RENDERBUFFER,t),n.depthBuffer&&!n.stencilBuffer){let i=e.DEPTH_COMPONENT16;if(s||oe(n)){const t=n.depthTexture;t&&t.isDepthTexture&&(t.type===_?i=e.DEPTH_COMPONENT32F:t.type===q&&(i=e.DEPTH_COMPONENT24));const s=re(n);oe(n)?h.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,s,i,n.width,n.height):e.renderbufferStorageMultisample(e.RENDERBUFFER,s,i,n.width,n.height)}else e.renderbufferStorage(e.RENDERBUFFER,i,n.width,n.height);e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t)}else if(n.depthBuffer&&n.stencilBuffer){const i=re(n);s&&!1===oe(n)?e.renderbufferStorageMultisample(e.RENDERBUFFER,i,e.DEPTH24_STENCIL8,n.width,n.height):oe(n)?h.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,i,e.DEPTH24_STENCIL8,n.width,n.height):e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_STENCIL,n.width,n.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,t)}else{const t=!0===n.isWebGLMultipleRenderTargets?n.texture:[n.texture];for(let i=0;i0&&!0===t.has(\"WEBGL_multisampled_render_to_texture\")&&!1!==n.__useRenderToTexture}function ce(e,n){const s=e.colorSpace,i=e.format,a=e.type;return!0===e.isCompressedTexture||!0===e.isVideoTexture||e.format===se||s!==$&&s!==Q&&(s===J||s===ee?!1===r?!0===t.has(\"EXT_sRGB\")&&i===B?(e.format=se,e.minFilter=x,e.generateMipmaps=!1):n=Me.sRGBToLinear(n):i===B&&a===L||console.warn(\"THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType.\"):console.error(\"THREE.WebGLTextures: Unsupported texture color space:\",s)),n}this.allocateTextureUnit=function(){const e=W;return e>=o&&console.warn(\"THREE.WebGLTextures: Trying to use \"+e+\" texture units while this GPU supports only \"+o),W+=1,e},this.resetTextureUnits=function(){W=0},this.setTexture2D=k,this.setTexture2DArray=function(t,i){const a=s.get(t);t.version>0&&a.__version!==t.version?ne(a,t,i):n.bindTexture(e.TEXTURE_2D_ARRAY,a.__webglTexture,e.TEXTURE0+i)},this.setTexture3D=function(t,i){const a=s.get(t);t.version>0&&a.__version!==t.version?ne(a,t,i):n.bindTexture(e.TEXTURE_3D,a.__webglTexture,e.TEXTURE0+i)},this.setTextureCube=function(t,i){const l=s.get(t);t.version>0&&l.__version!==t.version?function(t,i,l){if(6!==i.image.length)return;const o=te(t,i),u=i.source;n.bindTexture(e.TEXTURE_CUBE_MAP,t.__webglTexture,e.TEXTURE0+l);const p=s.get(u);if(u.version!==p.__version||!0===o){n.activeTexture(e.TEXTURE0+l),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,i.flipY),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.premultiplyAlpha),e.pixelStorei(e.UNPACK_ALIGNMENT,i.unpackAlignment),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.NONE);const t=i.isCompressedTexture||i.image[0].isCompressedTexture,s=i.image[0]&&i.image[0].isDataTexture,h=[];for(let e=0;e<6;e++)h[e]=t||s?s?i.image[e].image:i.image[e]:w(i.image[e],!1,!0,c),h[e]=ce(i,h[e]);const d=h[0],f=T(d)||r,I=a.convert(i.format,i.colorSpace),m=a.convert(i.type),y=R(i.internalFormat,I,m,i.colorSpace),v=r&&!0!==i.isVideoTexture,S=void 0===p.__version||!0===o;let b,N=D(i,d,f);if(Z(e.TEXTURE_CUBE_MAP,i,f),t){v&&S&&n.texStorage2D(e.TEXTURE_CUBE_MAP,N,y,d.width,d.height);for(let t=0;t<6;t++){b=h[t].mipmaps;for(let s=0;s0&&N++,n.texStorage2D(e.TEXTURE_CUBE_MAP,N,y,h[0].width,h[0].height));for(let t=0;t<6;t++)if(s){v?n.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,0,0,h[t].width,h[t].height,I,m,h[t].data):n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,y,h[t].width,h[t].height,0,I,m,h[t].data);for(let s=0;s0){c.__webglFramebuffer[t]=[];for(let n=0;n0){c.__webglFramebuffer=[];for(let t=0;t0&&!1===oe(t)){const s=h?o:[o];c.__webglMultisampledFramebuffer=e.createFramebuffer(),c.__webglColorRenderbuffer=[],n.bindFramebuffer(e.FRAMEBUFFER,c.__webglMultisampledFramebuffer);for(let n=0;n0)for(let s=0;s0)for(let n=0;n0&&!1===oe(t)){const i=t.isWebGLMultipleRenderTargets?t.texture:[t.texture],a=t.width,l=t.height;let r=e.COLOR_BUFFER_BIT;const o=[],c=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,u=s.get(t),p=!0===t.isWebGLMultipleRenderTargets;if(p)for(let t=0;tr+c?(o.inputState.pinching=!1,this.dispatchEvent({type:\"pinchend\",handedness:e.handedness,target:this})):!o.inputState.pinching&&l<=r-c&&(o.inputState.pinching=!0,this.dispatchEvent({type:\"pinchstart\",handedness:e.handedness,target:this}))}else null!==r&&e.gripSpace&&(i=t.getPose(e.gripSpace,n),null!==i&&(r.matrix.fromArray(i.transform.matrix),r.matrix.decompose(r.position,r.rotation,r.scale),r.matrixWorldNeedsUpdate=!0,i.linearVelocity?(r.hasLinearVelocity=!0,r.linearVelocity.copy(i.linearVelocity)):r.hasLinearVelocity=!1,i.angularVelocity?(r.hasAngularVelocity=!0,r.angularVelocity.copy(i.angularVelocity)):r.hasAngularVelocity=!1));null!==l&&(s=t.getPose(e.targetRaySpace,n),null===s&&null!==i&&(s=i),null!==s&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1,this.dispatchEvent(Va)))}return null!==l&&(l.visible=null!==s),null!==r&&(r.visible=null!==i),null!==o&&(o.visible=null!==a),this}_getHandJoint(e,t){if(void 0===e.joints[t.jointName]){const n=new Ga;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}}class za extends Ge{constructor(e,t,n,s,i,a,l,r,o,c){if((c=void 0!==c?c:U)!==U&&c!==F)throw new Error(\"DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat\");void 0===n&&c===U&&(n=q),void 0===n&&c===F&&(n=H),super(null,s,i,a,l,r,c,n,o),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=void 0!==l?l:O,this.minFilter=void 0!==r?r:O,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.compareFunction=e.compareFunction,this}toJSON(e){const t=super.toJSON(e);return null!==this.compareFunction&&(t.compareFunction=this.compareFunction),t}}class Wa extends le{constructor(e,t){super();const n=this;let s=null,i=1,a=null,l=\"local-floor\",r=1,o=null,c=null,u=null,p=null,h=null,d=null;const f=t.getContextAttributes();let I=null,m=null;const y=[],v=[],w=new as;w.layers.enable(1),w.viewport=new Ve;const T=new as;T.layers.enable(2),T.viewport=new Ve;const E=[w,T],g=new Fa;g.layers.enable(1),g.layers.enable(2);let R=null,D=null;function S(e){const t=v.indexOf(e.inputSource);if(-1===t)return;const n=y[t];void 0!==n&&(n.update(e.inputSource,e.frame,o||a),n.dispatchEvent({type:e.type,data:e.inputSource}))}function b(){s.removeEventListener(\"select\",S),s.removeEventListener(\"selectstart\",S),s.removeEventListener(\"selectend\",S),s.removeEventListener(\"squeeze\",S),s.removeEventListener(\"squeezestart\",S),s.removeEventListener(\"squeezeend\",S),s.removeEventListener(\"end\",b),s.removeEventListener(\"inputsourceschange\",N);for(let e=0;e=0&&(v[s]=null,y[s].disconnect(n))}for(let t=0;t=v.length){v.push(n),s=e;break}if(null===v[e]){v[e]=n,s=e;break}}if(-1===s)break}const i=y[s];i&&i.connect(n)}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=y[e];return void 0===t&&(t=new ja,y[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=y[e];return void 0===t&&(t=new ja,y[e]=t),t.getGripSpace()},this.getHand=function(e){let t=y[e];return void 0===t&&(t=new ja,y[e]=t),t.getHandSpace()},this.setFramebufferScaleFactor=function(e){i=e,!0===n.isPresenting&&console.warn(\"THREE.WebXRManager: Cannot change framebuffer scale while presenting.\")},this.setReferenceSpaceType=function(e){l=e,!0===n.isPresenting&&console.warn(\"THREE.WebXRManager: Cannot change reference space type while presenting.\")},this.getReferenceSpace=function(){return o||a},this.setReferenceSpace=function(e){o=e},this.getBaseLayer=function(){return null!==p?p:h},this.getBinding=function(){return u},this.getFrame=function(){return d},this.getSession=function(){return s},this.setSession=async function(c){if(s=c,null!==s){if(I=e.getRenderTarget(),s.addEventListener(\"select\",S),s.addEventListener(\"selectstart\",S),s.addEventListener(\"selectend\",S),s.addEventListener(\"squeeze\",S),s.addEventListener(\"squeezestart\",S),s.addEventListener(\"squeezeend\",S),s.addEventListener(\"end\",b),s.addEventListener(\"inputsourceschange\",N),!0!==f.xrCompatible&&await t.makeXRCompatible(),void 0===s.renderState.layers||!1===e.capabilities.isWebGL2){const n={antialias:void 0!==s.renderState.layers||f.antialias,alpha:!0,depth:f.depth,stencil:f.stencil,framebufferScaleFactor:i};h=new XRWebGLLayer(s,t,n),s.updateRenderState({baseLayer:h}),m=new ze(h.framebufferWidth,h.framebufferHeight,{format:B,type:L,colorSpace:e.outputColorSpace,stencilBuffer:f.stencil})}else{let n=null,a=null,l=null;f.depth&&(l=f.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,n=f.stencil?F:U,a=f.stencil?H:q);const r={colorFormat:t.RGBA8,depthFormat:l,scaleFactor:i};u=new XRWebGLBinding(s,t),p=u.createProjectionLayer(r),s.updateRenderState({layers:[p]}),m=new ze(p.textureWidth,p.textureHeight,{format:B,type:L,depthTexture:new za(p.textureWidth,p.textureHeight,a,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:f.stencil,colorSpace:e.outputColorSpace,samples:f.antialias?4:0}),e.properties.get(m).__ignoreDepthValues=p.ignoreDepthValues}m.isXRRenderTarget=!0,this.setFoveation(r),o=null,a=await s.requestReferenceSpace(l),P.setContext(s),P.start(),n.isPresenting=!0,n.dispatchEvent({type:\"sessionstart\"})}},this.getEnvironmentBlendMode=function(){if(null!==s)return s.environmentBlendMode};const O=new Ke,A=new Ke;function x(e,t){null===t?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(null===s)return;g.near=T.near=w.near=e.near,g.far=T.far=w.far=e.far,R===g.near&&D===g.far||(s.updateRenderState({depthNear:g.near,depthFar:g.far}),R=g.near,D=g.far);const t=e.parent,n=g.cameras;x(g,t);for(let e=0;e0&&(s.alphaTest.value=i.alphaTest);const a=t.get(i).envMap;if(a&&(s.envMap.value=a,s.flipEnvMap.value=a.isCubeTexture&&!1===a.isRenderTargetTexture?-1:1,s.reflectivity.value=i.reflectivity,s.ior.value=i.ior,s.refractionRatio.value=i.refractionRatio),i.lightMap){s.lightMap.value=i.lightMap;const t=!0===e._useLegacyLights?Math.PI:1;s.lightMapIntensity.value=i.lightMapIntensity*t,n(i.lightMap,s.lightMapTransform)}i.aoMap&&(s.aoMap.value=i.aoMap,s.aoMapIntensity.value=i.aoMapIntensity,n(i.aoMap,s.aoMapTransform))}return{refreshFogUniforms:function(t,n){n.color.getRGB(t.fogColor.value,ts(e)),n.isFog?(t.fogNear.value=n.near,t.fogFar.value=n.far):n.isFogExp2&&(t.fogDensity.value=n.density)},refreshMaterialUniforms:function(e,i,a,l,r){i.isMeshBasicMaterial||i.isMeshLambertMaterial?s(e,i):i.isMeshToonMaterial?(s(e,i),function(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap)}(e,i)):i.isMeshPhongMaterial?(s(e,i),function(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4)}(e,i)):i.isMeshStandardMaterial?(s(e,i),function(e,s){e.metalness.value=s.metalness,s.metalnessMap&&(e.metalnessMap.value=s.metalnessMap,n(s.metalnessMap,e.metalnessMapTransform)),e.roughness.value=s.roughness,s.roughnessMap&&(e.roughnessMap.value=s.roughnessMap,n(s.roughnessMap,e.roughnessMapTransform));t.get(s).envMap&&(e.envMapIntensity.value=s.envMapIntensity)}(e,i),i.isMeshPhysicalMaterial&&function(e,t,s){e.ior.value=t.ior,t.sheen>0&&(e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),e.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap,n(t.sheenColorMap,e.sheenColorMapTransform)),t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap,n(t.sheenRoughnessMap,e.sheenRoughnessMapTransform))),t.clearcoat>0&&(e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap,n(t.clearcoatMap,e.clearcoatMapTransform)),t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap,n(t.clearcoatRoughnessMap,e.clearcoatRoughnessMapTransform)),t.clearcoatNormalMap&&(e.clearcoatNormalMap.value=t.clearcoatNormalMap,n(t.clearcoatNormalMap,e.clearcoatNormalMapTransform),e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),t.side===c&&e.clearcoatNormalScale.value.negate())),t.iridescence>0&&(e.iridescence.value=t.iridescence,e.iridescenceIOR.value=t.iridescenceIOR,e.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],e.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(e.iridescenceMap.value=t.iridescenceMap,n(t.iridescenceMap,e.iridescenceMapTransform)),t.iridescenceThicknessMap&&(e.iridescenceThicknessMap.value=t.iridescenceThicknessMap,n(t.iridescenceThicknessMap,e.iridescenceThicknessMapTransform))),t.transmission>0&&(e.transmission.value=t.transmission,e.transmissionSamplerMap.value=s.texture,e.transmissionSamplerSize.value.set(s.width,s.height),t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap,n(t.transmissionMap,e.transmissionMapTransform)),e.thickness.value=t.thickness,t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap,n(t.thicknessMap,e.thicknessMapTransform)),e.attenuationDistance.value=t.attenuationDistance,e.attenuationColor.value.copy(t.attenuationColor)),t.anisotropy>0&&(e.anisotropyVector.value.set(t.anisotropy*Math.cos(t.anisotropyRotation),t.anisotropy*Math.sin(t.anisotropyRotation)),t.anisotropyMap&&(e.anisotropyMap.value=t.anisotropyMap,n(t.anisotropyMap,e.anisotropyMapTransform))),e.specularIntensity.value=t.specularIntensity,e.specularColor.value.copy(t.specularColor),t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap,n(t.specularColorMap,e.specularColorMapTransform)),t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap,n(t.specularIntensityMap,e.specularIntensityMapTransform))}(e,i,r)):i.isMeshMatcapMaterial?(s(e,i),function(e,t){t.matcap&&(e.matcap.value=t.matcap)}(e,i)):i.isMeshDepthMaterial?s(e,i):i.isMeshDistanceMaterial?(s(e,i),function(e,n){const s=t.get(n).light;e.referencePosition.value.setFromMatrixPosition(s.matrixWorld),e.nearDistance.value=s.shadow.camera.near,e.farDistance.value=s.shadow.camera.far}(e,i)):i.isMeshNormalMaterial?s(e,i):i.isLineBasicMaterial?(function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform))}(e,i),i.isLineDashedMaterial&&function(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}(e,i)):i.isPointsMaterial?function(e,t,s,i){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*s,e.scale.value=.5*i,t.map&&(e.map.value=t.map,n(t.map,e.uvTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}(e,i,a,l):i.isSpriteMaterial?function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}(e,i):i.isShadowMaterial?(e.color.value.copy(i.color),e.opacity.value=i.opacity):i.isShaderMaterial&&(i.uniformsNeedUpdate=!1)}}}function Ya(e,t,n,s){let i={},a={},l=[];const r=n.isWebGL2?e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS):0;function o(e,t,n){const s=e.value;if(void 0===n[t]){if(\"number\"==typeof s)n[t]=s;else{const e=Array.isArray(s)?s:[s],i=[];for(let t=0;t0&&(s=n%16,0!==s&&16-s-a.boundary<0&&(n+=16-s,i.__offset=n)),n+=a.storage}s=n%16,s>0&&(n+=16-s),e.__size=n,e.__cache={}}(n),h=function(t){const n=function(){for(let e=0;e0),p=!!n.morphAttributes.position,h=!!n.morphAttributes.normal,d=!!n.morphAttributes.color;let f=m;s.toneMapped&&(null!==N&&!0!==N.isXRRenderTarget||(f=R.toneMapping));const I=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,y=void 0!==I?I.length:0,v=he.get(s),w=T.state.lights;if(!0===ee&&(!0===te||e!==A)){const t=e===A&&s.id===O;be.setState(s,e,t)}let E=!1;s.version===v.__version?v.needsLights&&v.lightsStateVersion!==w.state.version||v.outputColorSpace!==r||i.isInstancedMesh&&!1===v.instancing?E=!0:i.isInstancedMesh||!0!==v.instancing?i.isSkinnedMesh&&!1===v.skinning?E=!0:i.isSkinnedMesh||!0!==v.skinning?i.isInstancedMesh&&!0===v.instancingColor&&null===i.instanceColor||i.isInstancedMesh&&!1===v.instancingColor&&null!==i.instanceColor||v.envMap!==o||!0===s.fog&&v.fog!==a?E=!0:void 0===v.numClippingPlanes||v.numClippingPlanes===be.numPlanes&&v.numIntersection===be.numIntersection?(v.vertexAlphas!==c||v.vertexTangents!==u||v.morphTargets!==p||v.morphNormals!==h||v.morphColors!==d||v.toneMapping!==f||!0===ce.isWebGL2&&v.morphTargetsCount!==y)&&(E=!0):E=!0:E=!0:E=!0:(E=!0,v.__version=s.version);let g=v.currentProgram;!0===E&&(g=et(s,t,i));let D=!1,S=!1,b=!1;const x=g.getUniforms(),C=v.uniforms;if(ue.useProgram(g.program)&&(D=!0,S=!0,b=!0),s.id!==O&&(O=s.id,S=!0),D||A!==e){x.setValue(_e,\"projectionMatrix\",e.projectionMatrix),x.setValue(_e,\"viewMatrix\",e.matrixWorldInverse);const t=x.map.cameraPosition;void 0!==t&&t.setValue(_e,ae.setFromMatrixPosition(e.matrixWorld)),ce.logarithmicDepthBuffer&&x.setValue(_e,\"logDepthBufFC\",2/(Math.log(e.far+1)/Math.LN2)),(s.isMeshPhongMaterial||s.isMeshToonMaterial||s.isMeshLambertMaterial||s.isMeshBasicMaterial||s.isMeshStandardMaterial||s.isShaderMaterial)&&x.setValue(_e,\"isOrthographic\",!0===e.isOrthographicCamera),A!==e&&(A=e,S=!0,b=!0)}if(i.isSkinnedMesh){x.setOptional(_e,i,\"bindMatrix\"),x.setOptional(_e,i,\"bindMatrixInverse\");const e=i.skeleton;e&&(ce.floatVertexTextures?(null===e.boneTexture&&e.computeBoneTexture(),x.setValue(_e,\"boneTexture\",e.boneTexture,de),x.setValue(_e,\"boneTextureSize\",e.boneTextureSize)):console.warn(\"THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required.\"))}const L=n.morphAttributes;var P,q;if((void 0!==L.position||void 0!==L.normal||void 0!==L.color&&!0===ce.isWebGL2)&&Ae.update(i,n,g),(S||v.receiveShadow!==i.receiveShadow)&&(v.receiveShadow=i.receiveShadow,x.setValue(_e,\"receiveShadow\",i.receiveShadow)),s.isMeshGouraudMaterial&&null!==s.envMap&&(C.envMap.value=o,C.flipEnvMap.value=o.isCubeTexture&&!1===o.isRenderTargetTexture?-1:1),S&&(x.setValue(_e,\"toneMappingExposure\",R.toneMappingExposure),v.needsLights&&(q=b,(P=C).ambientLightColor.needsUpdate=q,P.lightProbe.needsUpdate=q,P.directionalLights.needsUpdate=q,P.directionalLightShadows.needsUpdate=q,P.pointLights.needsUpdate=q,P.pointLightShadows.needsUpdate=q,P.spotLights.needsUpdate=q,P.spotLightShadows.needsUpdate=q,P.rectAreaLights.needsUpdate=q,P.hemisphereLights.needsUpdate=q),a&&!0===s.fog&&ge.refreshFogUniforms(C,a),ge.refreshMaterialUniforms(C,s,W,z,ne),ta.upload(_e,v.uniformsList,C,de)),s.isShaderMaterial&&!0===s.uniformsNeedUpdate&&(ta.upload(_e,v.uniformsList,C,de),s.uniformsNeedUpdate=!1),s.isSpriteMaterial&&x.setValue(_e,\"center\",i.center),x.setValue(_e,\"modelViewMatrix\",i.modelViewMatrix),x.setValue(_e,\"normalMatrix\",i.normalMatrix),x.setValue(_e,\"modelMatrix\",i.matrixWorld),s.isShaderMaterial||s.isRawShaderMaterial){const e=s.uniformsGroups;for(let t=0,n=e.length;t0&&function(e,t,n,s){const i=ce.isWebGL2;null===ne&&(ne=new ze(1,1,{generateMipmaps:!0,type:oe.has(\"EXT_color_buffer_half_float\")?M:L,minFilter:C,samples:i?4:0})),R.getDrawingBufferSize(ie),i?ne.setSize(ie.x,ie.y):ne.setSize(me(ie.x),me(ie.y));const a=R.getRenderTarget();R.setRenderTarget(ne),R.getClearColor(G),V=R.getClearAlpha(),V<1&&R.setClearColor(16777215,.5),R.clear();const l=R.toneMapping;R.toneMapping=m,Je(e,n,s),de.updateMultisampleRenderTarget(ne),de.updateRenderTargetMipmap(ne);let r=!1;for(let e=0,i=t.length;e0&&Je(i,t,n),a.length>0&&Je(a,t,n),l.length>0&&Je(l,t,n),ue.buffers.depth.setTest(!0),ue.buffers.depth.setMask(!0),ue.buffers.color.setMask(!0),ue.setPolygonOffset(!1)}function Je(e,t,n){const s=!0===t.isScene?t.overrideMaterial:null;for(let i=0,a=e.length;i0?g[g.length-1]:null,E.pop(),w=E.length>0?E[E.length-1]:null},this.getActiveCubeFace=function(){return S},this.getActiveMipmapLevel=function(){return b},this.getRenderTarget=function(){return N},this.setRenderTargetTextures=function(e,t,n){he.get(e.texture).__webglTexture=t,he.get(e.depthTexture).__webglTexture=n;const s=he.get(e);s.__hasExternalTextures=!0,s.__hasExternalTextures&&(s.__autoAllocateDepthBuffer=void 0===n,s.__autoAllocateDepthBuffer||!0===oe.has(\"WEBGL_multisampled_render_to_texture\")&&(console.warn(\"THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided\"),s.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(e,t){const n=he.get(e);n.__webglFramebuffer=t,n.__useDefaultFramebuffer=void 0===t},this.setRenderTarget=function(e,t=0,n=0){N=e,S=t,b=n;let s=!0,i=null,a=!1,l=!1;if(e){const r=he.get(e);void 0!==r.__useDefaultFramebuffer?(ue.bindFramebuffer(_e.FRAMEBUFFER,null),s=!1):void 0===r.__webglFramebuffer?de.setupRenderTarget(e):r.__hasExternalTextures&&de.rebindTextures(e,he.get(e.texture).__webglTexture,he.get(e.depthTexture).__webglTexture);const o=e.texture;(o.isData3DTexture||o.isDataArrayTexture||o.isCompressedArrayTexture)&&(l=!0);const c=he.get(e).__webglFramebuffer;e.isWebGLCubeRenderTarget?(i=Array.isArray(c[t])?c[t][n]:c[t],a=!0):i=ce.isWebGL2&&e.samples>0&&!1===de.useMultisampledRTT(e)?he.get(e).__webglMultisampledFramebuffer:Array.isArray(c)?c[n]:c,x.copy(e.viewport),U.copy(e.scissor),F=e.scissorTest}else x.copy(X).multiplyScalar(W).floor(),U.copy(K).multiplyScalar(W).floor(),F=Z;if(ue.bindFramebuffer(_e.FRAMEBUFFER,i)&&ce.drawBuffers&&s&&ue.drawBuffers(e,i),ue.viewport(x),ue.scissor(U),ue.setScissorTest(F),a){const s=he.get(e.texture);_e.framebufferTexture2D(_e.FRAMEBUFFER,_e.COLOR_ATTACHMENT0,_e.TEXTURE_CUBE_MAP_POSITIVE_X+t,s.__webglTexture,n)}else if(l){const s=he.get(e.texture),i=t||0;_e.framebufferTextureLayer(_e.FRAMEBUFFER,_e.COLOR_ATTACHMENT0,s.__webglTexture,n||0,i)}O=-1},this.readRenderTargetPixels=function(e,t,n,s,i,a,l){if(!e||!e.isWebGLRenderTarget)return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");let r=he.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&void 0!==l&&(r=r[l]),r){ue.bindFramebuffer(_e.FRAMEBUFFER,r);try{const l=e.texture,r=l.format,o=l.type;if(r!==B&&Le.convert(r)!==_e.getParameter(_e.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.\");const c=o===M&&(oe.has(\"EXT_color_buffer_half_float\")||ce.isWebGL2&&oe.has(\"EXT_color_buffer_float\"));if(!(o===L||Le.convert(o)===_e.getParameter(_e.IMPLEMENTATION_COLOR_READ_TYPE)||o===_&&(ce.isWebGL2||oe.has(\"OES_texture_float\")||oe.has(\"WEBGL_color_buffer_float\"))||c))return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.\");t>=0&&t<=e.width-s&&n>=0&&n<=e.height-i&&_e.readPixels(t,n,s,i,Le.convert(r),Le.convert(o),a)}finally{const e=null!==N?he.get(N).__webglFramebuffer:null;ue.bindFramebuffer(_e.FRAMEBUFFER,e)}}},this.copyFramebufferToTexture=function(e,t,n=0){const s=Math.pow(2,-n),i=Math.floor(t.image.width*s),a=Math.floor(t.image.height*s);de.setTexture2D(t,0),_e.copyTexSubImage2D(_e.TEXTURE_2D,n,0,0,e.x,e.y,i,a),ue.unbindTexture()},this.copyTextureToTexture=function(e,t,n,s=0){const i=t.image.width,a=t.image.height,l=Le.convert(n.format),r=Le.convert(n.type);de.setTexture2D(n,0),_e.pixelStorei(_e.UNPACK_FLIP_Y_WEBGL,n.flipY),_e.pixelStorei(_e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,n.premultiplyAlpha),_e.pixelStorei(_e.UNPACK_ALIGNMENT,n.unpackAlignment),t.isDataTexture?_e.texSubImage2D(_e.TEXTURE_2D,s,e.x,e.y,i,a,l,r,t.image.data):t.isCompressedTexture?_e.compressedTexSubImage2D(_e.TEXTURE_2D,s,e.x,e.y,t.mipmaps[0].width,t.mipmaps[0].height,l,t.mipmaps[0].data):_e.texSubImage2D(_e.TEXTURE_2D,s,e.x,e.y,l,r,t.image),0===s&&n.generateMipmaps&&_e.generateMipmap(_e.TEXTURE_2D),ue.unbindTexture()},this.copyTextureToTexture3D=function(e,t,n,s,i=0){if(R.isWebGL1Renderer)return void console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.\");const a=e.max.x-e.min.x+1,l=e.max.y-e.min.y+1,r=e.max.z-e.min.z+1,o=Le.convert(s.format),c=Le.convert(s.type);let u;if(s.isData3DTexture)de.setTexture3D(s,0),u=_e.TEXTURE_3D;else{if(!s.isDataArrayTexture)return void console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.\");de.setTexture2DArray(s,0),u=_e.TEXTURE_2D_ARRAY}_e.pixelStorei(_e.UNPACK_FLIP_Y_WEBGL,s.flipY),_e.pixelStorei(_e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,s.premultiplyAlpha),_e.pixelStorei(_e.UNPACK_ALIGNMENT,s.unpackAlignment);const p=_e.getParameter(_e.UNPACK_ROW_LENGTH),h=_e.getParameter(_e.UNPACK_IMAGE_HEIGHT),d=_e.getParameter(_e.UNPACK_SKIP_PIXELS),f=_e.getParameter(_e.UNPACK_SKIP_ROWS),I=_e.getParameter(_e.UNPACK_SKIP_IMAGES),m=n.isCompressedTexture?n.mipmaps[0]:n.image;_e.pixelStorei(_e.UNPACK_ROW_LENGTH,m.width),_e.pixelStorei(_e.UNPACK_IMAGE_HEIGHT,m.height),_e.pixelStorei(_e.UNPACK_SKIP_PIXELS,e.min.x),_e.pixelStorei(_e.UNPACK_SKIP_ROWS,e.min.y),_e.pixelStorei(_e.UNPACK_SKIP_IMAGES,e.min.z),n.isDataTexture||n.isData3DTexture?_e.texSubImage3D(u,i,t.x,t.y,t.z,a,l,r,o,c,m.data):n.isCompressedArrayTexture?(console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture.\"),_e.compressedTexSubImage3D(u,i,t.x,t.y,t.z,a,l,r,o,m.data)):_e.texSubImage3D(u,i,t.x,t.y,t.z,a,l,r,o,c,m),_e.pixelStorei(_e.UNPACK_ROW_LENGTH,p),_e.pixelStorei(_e.UNPACK_IMAGE_HEIGHT,h),_e.pixelStorei(_e.UNPACK_SKIP_PIXELS,d),_e.pixelStorei(_e.UNPACK_SKIP_ROWS,f),_e.pixelStorei(_e.UNPACK_SKIP_IMAGES,I),0===i&&s.generateMipmaps&&_e.generateMipmap(u),ue.unbindTexture()},this.initTexture=function(e){e.isCubeTexture?de.setTextureCube(e,0):e.isData3DTexture?de.setTexture3D(e,0):e.isDataArrayTexture||e.isCompressedArrayTexture?de.setTexture2DArray(e,0):de.setTexture2D(e,0),ue.unbindTexture()},this.resetState=function(){S=0,b=0,N=null,ue.reset(),Pe.reset()},\"undefined\"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}get coordinateSystem(){return ie}get physicallyCorrectLights(){return console.warn(\"THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead.\"),!this.useLegacyLights}set physicallyCorrectLights(e){console.warn(\"THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead.\"),this.useLegacyLights=!e}get outputEncoding(){return console.warn(\"THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead.\"),this.outputColorSpace===J?Z:3e3}set outputEncoding(e){console.warn(\"THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead.\"),this.outputColorSpace=e===Z?J:$}get useLegacyLights(){return console.warn(\"THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733.\"),this._useLegacyLights}set useLegacyLights(e){console.warn(\"THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733.\"),this._useLegacyLights=e}}(class extends Xa{}).prototype.isWebGL1Renderer=!0;class Ka extends Zt{constructor(){super(),this.isScene=!0,this.type=\"Scene\",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,\"undefined\"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}copy(e,t){return super.copy(e,t),null!==e.background&&(this.background=e.background.clone()),null!==e.environment&&(this.environment=e.environment.clone()),null!==e.fog&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,null!==e.overrideMaterial&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return null!==this.fog&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),1!==this.backgroundIntensity&&(t.object.backgroundIntensity=this.backgroundIntensity),t}}class Za extends Ge{constructor(e=null,t=1,n=1,s,i,a,l,r,o=O,c=O,u,p){super(null,a,l,r,o,c,s,i,u,p),this.isDataTexture=!0,this.image={data:e,width:t,height:n},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Qa extends En{constructor(e,t,n,s=1){super(e,t,n),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=s}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){const e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}}const Ja=new St,$a=new St,el=[],tl=new Je,nl=new St,sl=new Zn,il=new mt;class al extends Zn{constructor(e,t,n){super(e,t),this.isInstancedMesh=!0,this.instanceMatrix=new Qa(new Float32Array(16*n),16),this.instanceColor=null,this.count=n,this.boundingBox=null,this.boundingSphere=null;for(let e=0;er)continue;p.applyMatrix4(this.matrixWorld);const a=e.ray.origin.distanceTo(p);ae.far||t.push({distance:a,point:u.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}else for(let n=Math.max(0,a.start),s=Math.min(f.count,a.start+a.count)-1;nr)continue;p.applyMatrix4(this.matrixWorld);const s=e.ray.origin.distanceTo(p);se.far||t.push({distance:s,point:u.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}updateMorphTargets(){const e=this.geometry.morphAttributes,t=Object.keys(e);if(t.length>0){const n=e[t[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e0)){o=s;break}o=s-1}if(s=o,n[s]===a)return s/(i-1);const c=n[s];return(s+(a-c)/(n[s+1]-c))/(i-1)}getTangent(e,t){const n=1e-4;let s=e-n,i=e+n;s<0&&(s=0),i>1&&(i=1);const a=this.getPoint(s),l=this.getPoint(i),r=t||(a.isVector2?new Te:new Ke);return r.copy(l).sub(a).normalize(),r}getTangentAt(e,t){const n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){const n=new Ke,s=[],i=[],a=[],l=new Ke,r=new St;for(let t=0;t<=e;t++){const n=t/e;s[t]=this.getTangentAt(n,new Ke)}i[0]=new Ke,a[0]=new Ke;let o=Number.MAX_VALUE;const c=Math.abs(s[0].x),u=Math.abs(s[0].y),p=Math.abs(s[0].z);c<=o&&(o=c,n.set(1,0,0)),u<=o&&(o=u,n.set(0,1,0)),p<=o&&n.set(0,0,1),l.crossVectors(s[0],n).normalize(),i[0].crossVectors(s[0],l),a[0].crossVectors(s[0],i[0]);for(let t=1;t<=e;t++){if(i[t]=i[t-1].clone(),a[t]=a[t-1].clone(),l.crossVectors(s[t-1],s[t]),l.length()>Number.EPSILON){l.normalize();const e=Math.acos(he(s[t-1].dot(s[t]),-1,1));i[t].applyMatrix4(r.makeRotationAxis(l,e))}a[t].crossVectors(s[t],i[t])}if(!0===t){let t=Math.acos(he(i[0].dot(i[e]),-1,1));t/=e,s[0].dot(l.crossVectors(i[0],i[e]))>0&&(t=-t);for(let n=1;n<=e;n++)i[n].applyMatrix4(r.makeRotationAxis(s[n],t*n)),a[n].crossVectors(s[n],i[n])}return{tangents:s,normals:i,binormals:a}}clone(){return(new this.constructor).copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:\"Curve\",generator:\"Curve.toJSON\"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class yl extends ml{constructor(e=0,t=0,n=1,s=1,i=0,a=2*Math.PI,l=!1,r=0){super(),this.isEllipseCurve=!0,this.type=\"EllipseCurve\",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=s,this.aStartAngle=i,this.aEndAngle=a,this.aClockwise=l,this.aRotation=r}getPoint(e,t){const n=t||new Te,s=2*Math.PI;let i=this.aEndAngle-this.aStartAngle;const a=Math.abs(i)s;)i-=s;is.length-2?s.length-1:a+1],u=s[a>s.length-3?s.length-1:a+2];return n.set(Rl(l,r.x,o.x,c.x,u.x),Rl(l,r.y,o.y,c.y,u.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t0?0:(Math.floor(Math.abs(o)/i)+1)*i:0===c&&o===i-1&&(o=i-2,c=1),this.closed||o>0?l=s[(o-1)%i]:(wl.subVectors(s[0],s[1]).add(s[0]),l=wl);const u=s[o%i],p=s[(o+1)%i];if(this.closed||o+2=n){const e=s[i]-n,a=this.curves[i],l=a.getLength(),r=0===l?0:1-e/l;return a.getPointAt(r,t)}i++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let n=0,s=this.curves.length;n1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t0){const e=o.getPoint(0);e.equals(this.currentPoint)||this.lineTo(e.x,e.y)}this.curves.push(o);const c=o.getPoint(1);return this.currentPoint.copy(c),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}const Pl=new Ke,ql=new Ke,_l=new Ke,Ml=new cn;class Hl extends Ln{constructor(e=null,t=1){if(super(),this.type=\"EdgesGeometry\",this.parameters={geometry:e,thresholdAngle:t},null!==e){const n=4,s=Math.pow(10,n),i=Math.cos(ce*t),a=e.getIndex(),l=e.getAttribute(\"position\"),r=a?a.count:l.count,o=[0,0,0],c=[\"a\",\"b\",\"c\"],u=new Array(3),p={},h=[];for(let e=0;e0)for(a=t;a=t;a-=s)l=lr(a,e[a],e[a+1],l);return l&&er(l,l.next)&&(rr(l),l=l.next),l}function Fl(e,t){if(!e)return e;t||(t=e);let n,s=e;do{if(n=!1,s.steiner||!er(s,s.next)&&0!==$l(s.prev,s,s.next))s=s.next;else{if(rr(s),s=t=s.prev,s===s.next)break;n=!0}}while(n||s!==t);return t}function Gl(e,t,n,s,i,a,l){if(!e)return;!l&&a&&function(e,t,n,s){let i=e;do{0===i.z&&(i.z=Kl(i.x,i.y,t,n,s)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){let t,n,s,i,a,l,r,o,c=1;do{for(n=e,e=null,a=null,l=0;n;){for(l++,s=n,r=0,t=0;t0||o>0&&s;)0!==r&&(0===o||!s||n.z<=s.z)?(i=n,n=n.nextZ,r--):(i=s,s=s.nextZ,o--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;n=s}a.nextZ=null,c*=2}while(l>1)}(i)}(e,s,i,a);let r,o,c=e;for(;e.prev!==e.next;)if(r=e.prev,o=e.next,a?jl(e,s,i,a):Vl(e))t.push(r.i/n|0),t.push(e.i/n|0),t.push(o.i/n|0),rr(e),e=o.next,c=o.next;else if((e=o)===c){l?1===l?Gl(e=zl(Fl(e),t,n),t,n,s,i,a,2):2===l&&Wl(e,t,n,s,i,a):Gl(Fl(e),t,n,s,i,a,1);break}}function Vl(e){const t=e.prev,n=e,s=e.next;if($l(t,n,s)>=0)return!1;const i=t.x,a=n.x,l=s.x,r=t.y,o=n.y,c=s.y,u=ia?i>l?i:l:a>l?a:l,d=r>o?r>c?r:c:o>c?o:c;let f=s.next;for(;f!==t;){if(f.x>=u&&f.x<=h&&f.y>=p&&f.y<=d&&Ql(i,r,a,o,l,c,f.x,f.y)&&$l(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function jl(e,t,n,s){const i=e.prev,a=e,l=e.next;if($l(i,a,l)>=0)return!1;const r=i.x,o=a.x,c=l.x,u=i.y,p=a.y,h=l.y,d=ro?r>c?r:c:o>c?o:c,m=u>p?u>h?u:h:p>h?p:h,y=Kl(d,f,t,n,s),v=Kl(I,m,t,n,s);let w=e.prevZ,T=e.nextZ;for(;w&&w.z>=y&&T&&T.z<=v;){if(w.x>=d&&w.x<=I&&w.y>=f&&w.y<=m&&w!==i&&w!==l&&Ql(r,u,o,p,c,h,w.x,w.y)&&$l(w.prev,w,w.next)>=0)return!1;if(w=w.prevZ,T.x>=d&&T.x<=I&&T.y>=f&&T.y<=m&&T!==i&&T!==l&&Ql(r,u,o,p,c,h,T.x,T.y)&&$l(T.prev,T,T.next)>=0)return!1;T=T.nextZ}for(;w&&w.z>=y;){if(w.x>=d&&w.x<=I&&w.y>=f&&w.y<=m&&w!==i&&w!==l&&Ql(r,u,o,p,c,h,w.x,w.y)&&$l(w.prev,w,w.next)>=0)return!1;w=w.prevZ}for(;T&&T.z<=v;){if(T.x>=d&&T.x<=I&&T.y>=f&&T.y<=m&&T!==i&&T!==l&&Ql(r,u,o,p,c,h,T.x,T.y)&&$l(T.prev,T,T.next)>=0)return!1;T=T.nextZ}return!0}function zl(e,t,n){let s=e;do{const i=s.prev,a=s.next.next;!er(i,a)&&tr(i,s,s.next,a)&&ir(i,a)&&ir(a,i)&&(t.push(i.i/n|0),t.push(s.i/n|0),t.push(a.i/n|0),rr(s),rr(s.next),s=e=a),s=s.next}while(s!==e);return Fl(s)}function Wl(e,t,n,s,i,a){let l=e;do{let e=l.next.next;for(;e!==l.prev;){if(l.i!==e.i&&Jl(l,e)){let r=ar(l,e);return l=Fl(l,l.next),r=Fl(r,r.next),Gl(l,t,n,s,i,a,0),void Gl(r,t,n,s,i,a,0)}e=e.next}l=l.next}while(l!==e)}function kl(e,t){return e.x-t.x}function Yl(e,t){const n=function(e,t){let n,s=t,i=-1/0;const a=e.x,l=e.y;do{if(l<=s.y&&l>=s.next.y&&s.next.y!==s.y){const e=s.x+(l-s.y)*(s.next.x-s.x)/(s.next.y-s.y);if(e<=a&&e>i&&(i=e,n=s.x=s.x&&s.x>=o&&a!==s.x&&Ql(ln.x||s.x===n.x&&Xl(n,s)))&&(n=s,p=u)),s=s.next}while(s!==r);return n}(e,t);if(!n)return t;const s=ar(n,e);return Fl(s,s.next),Fl(n,n.next)}function Xl(e,t){return $l(e.prev,e,t.prev)<0&&$l(t.next,e,e.next)<0}function Kl(e,t,n,s,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-s)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function Zl(e){let t=e,n=e;do{(t.x=(e-l)*(a-r)&&(e-l)*(s-r)>=(n-l)*(t-r)&&(n-l)*(a-r)>=(i-l)*(s-r)}function Jl(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&tr(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(ir(e,t)&&ir(t,e)&&function(e,t){let n=e,s=!1;const i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{n.y>a!=n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(s=!s),n=n.next}while(n!==e);return s}(e,t)&&($l(e.prev,e,t.prev)||$l(e,t.prev,t))||er(e,t)&&$l(e.prev,e,e.next)>0&&$l(t.prev,t,t.next)>0)}function $l(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function er(e,t){return e.x===t.x&&e.y===t.y}function tr(e,t,n,s){const i=sr($l(e,t,n)),a=sr($l(e,t,s)),l=sr($l(n,s,e)),r=sr($l(n,s,t));return i!==a&&l!==r||!(0!==i||!nr(e,n,t))||!(0!==a||!nr(e,s,t))||!(0!==l||!nr(n,e,s))||!(0!==r||!nr(n,t,s))}function nr(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function sr(e){return e>0?1:e<0?-1:0}function ir(e,t){return $l(e.prev,e,e.next)<0?$l(e,t,e.next)>=0&&$l(e,e.prev,t)>=0:$l(e,t,e.prev)<0||$l(e,e.next,t)<0}function ar(e,t){const n=new or(e.i,e.x,e.y),s=new or(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,s.next=n,n.prev=s,a.next=s,s.prev=a,s}function lr(e,t,n,s){const i=new or(e,t,n);return s?(i.next=s.next,i.prev=s,s.next.prev=i,s.next=i):(i.prev=i,i.next=i),i}function rr(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function or(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}class cr{static area(e){const t=e.length;let n=0;for(let s=t-1,i=0;i80*n){r=c=e[0],o=u=e[1];for(let t=n;tc&&(c=p),h>u&&(u=h);d=Math.max(c-r,u-o),d=0!==d?32767/d:0}return Gl(a,l,n,r,o,d,0),l}(n,s);for(let e=0;e2&&e[t-1].equals(e[0])&&e.pop()}function pr(e,t){for(let n=0;nNumber.EPSILON){const p=Math.sqrt(u),h=Math.sqrt(o*o+c*c),d=t.x-r/p,f=t.y+l/p,I=((n.x-c/h-d)*c-(n.y+o/h-f)*o)/(l*c-r*o);s=d+l*I-e.x,i=f+r*I-e.y;const m=s*s+i*i;if(m<=2)return new Te(s,i);a=Math.sqrt(m/2)}else{let e=!1;l>Number.EPSILON?o>Number.EPSILON&&(e=!0):l<-Number.EPSILON?o<-Number.EPSILON&&(e=!0):Math.sign(r)===Math.sign(c)&&(e=!0),e?(s=-r,i=l,a=Math.sqrt(u)):(s=l,i=r,a=Math.sqrt(u/2))}return new Te(s/a,i/a)}const C=[];for(let e=0,t=b.length,n=t-1,s=e+1;e=0;e--){const t=e/d,n=u*Math.cos(t*Math.PI/2),s=p*Math.sin(t*Math.PI/2)+h;for(let e=0,t=b.length;e=0;){const s=n;let i=n-1;i<0&&(i=e.length-1);for(let e=0,n=r+2*d;e=i)break e;{const l=t[1];e=i)break t}a=n,n=0}}for(;n>>1;et;)--a;if(++a,0!==i||a!==s){i>=a&&(a=Math.max(a,1),i=a-1);const e=this.getValueSize();this.times=mr(n,i,a),this.values=mr(this.values,i*e,a*e)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!=0&&(console.error(\"THREE.KeyframeTrack: Invalid value size in track.\",this),e=!1);const n=this.times,s=this.values,i=n.length;0===i&&(console.error(\"THREE.KeyframeTrack: Track is empty.\",this),e=!1);let a=null;for(let t=0;t!==i;t++){const s=n[t];if(\"number\"==typeof s&&isNaN(s)){console.error(\"THREE.KeyframeTrack: Time is not a valid number.\",this,t,s),e=!1;break}if(null!==a&&a>s){console.error(\"THREE.KeyframeTrack: Out of order keys.\",this,t,s,a),e=!1;break}a=s}if(void 0!==s&&vr(s))for(let t=0,n=s.length;t!==n;++t){const n=s[t];if(isNaN(n)){console.error(\"THREE.KeyframeTrack: Value is not a valid number.\",this,t,n),e=!1;break}}return e}optimize(){const e=mr(this.times),t=mr(this.values),n=this.getValueSize(),s=this.getInterpolation()===K,i=e.length-1;let a=1;for(let l=1;l0){e[a]=e[i];for(let e=i*n,s=a*n,l=0;l!==n;++l)t[s+l]=t[e+l];++a}return a!==e.length?(this.times=mr(e,0,a),this.values=mr(t,0,a*n)):(this.times=e,this.values=t),this}clone(){const e=mr(this.times,0),t=mr(this.values,0),n=new(0,this.constructor)(this.name,e,t);return n.createInterpolant=this.createInterpolant,n}}Rr.prototype.TimeBufferType=Float32Array,Rr.prototype.ValueBufferType=Float32Array,Rr.prototype.DefaultInterpolation=X;class Dr extends Rr{}Dr.prototype.ValueTypeName=\"bool\",Dr.prototype.ValueBufferType=Array,Dr.prototype.DefaultInterpolation=Y,Dr.prototype.InterpolantFactoryMethodLinear=void 0,Dr.prototype.InterpolantFactoryMethodSmooth=void 0;(class extends Rr{}).prototype.ValueTypeName=\"color\";(class extends Rr{}).prototype.ValueTypeName=\"number\";class Sr extends wr{constructor(e,t,n,s){super(e,t,n,s)}interpolate_(e,t,n,s){const i=this.resultBuffer,a=this.sampleValues,l=this.valueSize,r=(n-t)/(s-t);let o=e*l;for(let e=o+l;o!==e;o+=4)Xe.slerpFlat(i,0,a,o-l,a,o,r);return i}}class br extends Rr{InterpolantFactoryMethodLinear(e){return new Sr(this.times,this.values,this.getValueSize(),e)}}br.prototype.ValueTypeName=\"quaternion\",br.prototype.DefaultInterpolation=X,br.prototype.InterpolantFactoryMethodSmooth=void 0;class Nr extends Rr{}Nr.prototype.ValueTypeName=\"string\",Nr.prototype.ValueBufferType=Array,Nr.prototype.DefaultInterpolation=Y,Nr.prototype.InterpolantFactoryMethodLinear=void 0,Nr.prototype.InterpolantFactoryMethodSmooth=void 0;(class extends Rr{}).prototype.ValueTypeName=\"vector\";const Or={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};class Ar{constructor(e,t,n){const s=this;let i,a=!1,l=0,r=0;const o=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this.itemStart=function(e){r++,!1===a&&void 0!==s.onStart&&s.onStart(e,l,r),a=!0},this.itemEnd=function(e){l++,void 0!==s.onProgress&&s.onProgress(e,l,r),l===r&&(a=!1,void 0!==s.onLoad&&s.onLoad())},this.itemError=function(e){void 0!==s.onError&&s.onError(e)},this.resolveURL=function(e){return i?i(e):e},this.setURLModifier=function(e){return i=e,this},this.addHandler=function(e,t){return o.push(e,t),this},this.removeHandler=function(e){const t=o.indexOf(e);return-1!==t&&o.splice(t,2),this},this.getHandler=function(e){for(let t=0,n=o.length;t{t&&t(i),this.manager.itemEnd(e)}),0),i;if(void 0!==Lr[e])return void Lr[e].push({onLoad:t,onProgress:n,onError:s});Lr[e]=[],Lr[e].push({onLoad:t,onProgress:n,onError:s});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?\"include\":\"same-origin\"}),l=this.mimeType,r=this.responseType;fetch(a).then((t=>{if(200===t.status||0===t.status){if(0===t.status&&console.warn(\"THREE.FileLoader: HTTP Status 0 received.\"),\"undefined\"==typeof ReadableStream||void 0===t.body||void 0===t.body.getReader)return t;const n=Lr[e],s=t.body.getReader(),i=t.headers.get(\"Content-Length\")||t.headers.get(\"X-File-Size\"),a=i?parseInt(i):0,l=0!==a;let r=0;const o=new ReadableStream({start(e){!function t(){s.read().then((({done:s,value:i})=>{if(s)e.close();else{r+=i.byteLength;const s=new ProgressEvent(\"progress\",{lengthComputable:l,loaded:r,total:a});for(let e=0,t=n.length;e{switch(r){case\"arraybuffer\":return e.arrayBuffer();case\"blob\":return e.blob();case\"document\":return e.text().then((e=>(new DOMParser).parseFromString(e,l)));case\"json\":return e.json();default:if(void 0===l)return e.text();{const t=/charset=\"?([^;\"\\s]*)\"?/i.exec(l),n=t&&t[1]?t[1].toLowerCase():void 0,s=new TextDecoder(n);return e.arrayBuffer().then((e=>s.decode(e)))}}})).then((t=>{Or.add(e,t);const n=Lr[e];delete Lr[e];for(let e=0,s=n.length;e{const n=Lr[e];if(void 0===n)throw this.manager.itemError(e),t;delete Lr[e];for(let e=0,s=n.length;e{this.manager.itemEnd(e)})),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class _r extends Zt{constructor(e,t=1){super(),this.isLight=!0,this.type=\"Light\",this.color=new mn(e),this.intensity=t}dispose(){}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){const t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,void 0!==this.groundColor&&(t.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(t.object.distance=this.distance),void 0!==this.angle&&(t.object.angle=this.angle),void 0!==this.decay&&(t.object.decay=this.decay),void 0!==this.penumbra&&(t.object.penumbra=this.penumbra),void 0!==this.shadow&&(t.object.shadow=this.shadow.toJSON()),t}}const Mr=new St,Hr=new Ke,Br=new Ke;class Ur{constructor(e){this.camera=e,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new Te(512,512),this.map=null,this.mapPass=null,this.matrix=new St,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new ms,this._frameExtents=new Te(1,1),this._viewportCount=1,this._viewports=[new Ve(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const t=this.camera,n=this.matrix;Hr.setFromMatrixPosition(e.matrixWorld),t.position.copy(Hr),Br.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(Br),t.updateMatrixWorld(),Mr.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(Mr),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(Mr)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return(new this.constructor).copy(this)}toJSON(){const e={};return 0!==this.bias&&(e.bias=this.bias),0!==this.normalBias&&(e.normalBias=this.normalBias),1!==this.radius&&(e.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}class Fr extends Ur{constructor(){super(new xs(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class Gr extends _r{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type=\"DirectionalLight\",this.position.copy(Zt.DEFAULT_UP),this.updateMatrix(),this.target=new Zt,this.shadow=new Fr}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}class Vr extends _r{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type=\"AmbientLight\"}}class jr{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=zr(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=zr();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function zr(){return(\"undefined\"==typeof performance?Date:performance).now()}const Wr=\"\\\\[\\\\]\\\\.:\\\\/\",kr=new RegExp(\"[\"+Wr+\"]\",\"g\"),Yr=\"[^\"+Wr+\"]\",Xr=\"[^\"+Wr.replace(\"\\\\.\",\"\")+\"]\",Kr=new RegExp(\"^\"+/((?:WC+[\\/:])*)/.source.replace(\"WC\",Yr)+/(WCOD+)?/.source.replace(\"WCOD\",Xr)+/(?:\\.(WC+)(?:\\[(.+)\\])?)?/.source.replace(\"WC\",Yr)+/\\.(WC+)(?:\\[(.+)\\])?/.source.replace(\"WC\",Yr)+\"$\"),Zr=[\"material\",\"materials\",\"bones\",\"map\"];class Qr{constructor(e,t,n){this.path=t,this.parsedPath=n||Qr.parseTrackName(t),this.node=Qr.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new Qr.Composite(e,t,n):new Qr(e,t,n)}static sanitizeNodeName(e){return e.replace(/\\s/g,\"_\").replace(kr,\"\")}static parseTrackName(e){const t=Kr.exec(e);if(null===t)throw new Error(\"PropertyBinding: Cannot parse trackName: \"+e);const n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},s=n.nodeName&&n.nodeName.lastIndexOf(\".\");if(void 0!==s&&-1!==s){const e=n.nodeName.substring(s+1);-1!==Zr.indexOf(e)&&(n.nodeName=n.nodeName.substring(0,s),n.objectName=e)}if(null===n.propertyName||0===n.propertyName.length)throw new Error(\"PropertyBinding: can not parse propertyName from trackName: \"+e);return n}static findNode(e,t){if(void 0===t||\"\"===t||\".\"===t||-1===t||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(void 0!==n)return n}if(e.children){const n=function(e){for(let s=0;sNumber.EPSILON){if(o<0&&(n=t[a],r=-r,l=t[i],o=-o),e.yl.y)continue;if(e.y===n.y){if(e.x===n.x)return!0}else{const t=o*(e.x-n.x)-r*(e.y-n.y);if(0===t)return!0;if(t<0)continue;s=!s}}else{if(e.y!==n.y)continue;if(l.x<=e.x&&e.x<=n.x||n.x<=e.x&&e.x<=l.x)return!0}}return s}const n=cr.isClockWise,s=this.subPaths;if(0===s.length)return[];let i,a,l;const r=[];if(1===s.length)return a=s[0],l=new Bl,l.curves=a.curves,r.push(l),r;let o=!n(s[0].getPoints());o=e?!o:o;const c=[],u=[];let p,h,d=[],f=0;u[f]=void 0,d[f]=[];for(let t=0,l=s.length;t1){let e=!1,n=0;for(let e=0,t=u.length;e0&&!1===e&&(d=c)}for(let e=0,t=u.length;e{\"use strict\";n.d(t,{M:()=>i});var s=n(9477);class i extends s.O7d{constructor(e,t={}){const n=t.font;if(void 0===n)super();else{const s=n.generateShapes(e,t.size);t.depth=void 0!==t.height?t.height:50,void 0===t.bevelThickness&&(t.bevelThickness=10),void 0===t.bevelSize&&(t.bevelSize=8),void 0===t.bevelEnabled&&(t.bevelEnabled=!1),super(s,t)}this.type=\"TextGeometry\"}}},1911:(e,t,n)=>{\"use strict\";n.d(t,{Y:()=>i});var s=n(9477);s.rBU.line={worldUnits:{value:1},linewidth:{value:1},resolution:{value:new s.FM8(1,1)},dashOffset:{value:0},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1}},s.Vj0.line={uniforms:s.rDY.merge([s.rBU.common,s.rBU.fog,s.rBU.line]),vertexShader:\"\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\n\\t\\tuniform float linewidth;\\n\\t\\tuniform vec2 resolution;\\n\\n\\t\\tattribute vec3 instanceStart;\\n\\t\\tattribute vec3 instanceEnd;\\n\\n\\t\\tattribute vec3 instanceColorStart;\\n\\t\\tattribute vec3 instanceColorEnd;\\n\\n\\t\\t#ifdef WORLD_UNITS\\n\\n\\t\\t\\tvarying vec4 worldPos;\\n\\t\\t\\tvarying vec3 worldStart;\\n\\t\\t\\tvarying vec3 worldEnd;\\n\\n\\t\\t\\t#ifdef USE_DASH\\n\\n\\t\\t\\t\\tvarying vec2 vUv;\\n\\n\\t\\t\\t#endif\\n\\n\\t\\t#else\\n\\n\\t\\t\\tvarying vec2 vUv;\\n\\n\\t\\t#endif\\n\\n\\t\\t#ifdef USE_DASH\\n\\n\\t\\t\\tuniform float dashScale;\\n\\t\\t\\tattribute float instanceDistanceStart;\\n\\t\\t\\tattribute float instanceDistanceEnd;\\n\\t\\t\\tvarying float vLineDistance;\\n\\n\\t\\t#endif\\n\\n\\t\\tvoid trimSegment( const in vec4 start, inout vec4 end ) {\\n\\n\\t\\t\\t// trim end segment so it terminates between the camera plane and the near plane\\n\\n\\t\\t\\t// conservative estimate of the near plane\\n\\t\\t\\tfloat a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column\\n\\t\\t\\tfloat b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column\\n\\t\\t\\tfloat nearEstimate = - 0.5 * b / a;\\n\\n\\t\\t\\tfloat alpha = ( nearEstimate - start.z ) / ( end.z - start.z );\\n\\n\\t\\t\\tend.xyz = mix( start.xyz, end.xyz, alpha );\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\t#ifdef USE_COLOR\\n\\n\\t\\t\\t\\tvColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;\\n\\n\\t\\t\\t#endif\\n\\n\\t\\t\\t#ifdef USE_DASH\\n\\n\\t\\t\\t\\tvLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;\\n\\t\\t\\t\\tvUv = uv;\\n\\n\\t\\t\\t#endif\\n\\n\\t\\t\\tfloat aspect = resolution.x / resolution.y;\\n\\n\\t\\t\\t// camera space\\n\\t\\t\\tvec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );\\n\\t\\t\\tvec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );\\n\\n\\t\\t\\t#ifdef WORLD_UNITS\\n\\n\\t\\t\\t\\tworldStart = start.xyz;\\n\\t\\t\\t\\tworldEnd = end.xyz;\\n\\n\\t\\t\\t#else\\n\\n\\t\\t\\t\\tvUv = uv;\\n\\n\\t\\t\\t#endif\\n\\n\\t\\t\\t// special case for perspective projection, and segments that terminate either in, or behind, the camera plane\\n\\t\\t\\t// clearly the gpu firmware has a way of addressing this issue when projecting into ndc space\\n\\t\\t\\t// but we need to perform ndc-space calculations in the shader, so we must address this issue directly\\n\\t\\t\\t// perhaps there is a more elegant solution -- WestLangley\\n\\n\\t\\t\\tbool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column\\n\\n\\t\\t\\tif ( perspective ) {\\n\\n\\t\\t\\t\\tif ( start.z < 0.0 && end.z >= 0.0 ) {\\n\\n\\t\\t\\t\\t\\ttrimSegment( start, end );\\n\\n\\t\\t\\t\\t} else if ( end.z < 0.0 && start.z >= 0.0 ) {\\n\\n\\t\\t\\t\\t\\ttrimSegment( end, start );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\t// clip space\\n\\t\\t\\tvec4 clipStart = projectionMatrix * start;\\n\\t\\t\\tvec4 clipEnd = projectionMatrix * end;\\n\\n\\t\\t\\t// ndc space\\n\\t\\t\\tvec3 ndcStart = clipStart.xyz / clipStart.w;\\n\\t\\t\\tvec3 ndcEnd = clipEnd.xyz / clipEnd.w;\\n\\n\\t\\t\\t// direction\\n\\t\\t\\tvec2 dir = ndcEnd.xy - ndcStart.xy;\\n\\n\\t\\t\\t// account for clip-space aspect ratio\\n\\t\\t\\tdir.x *= aspect;\\n\\t\\t\\tdir = normalize( dir );\\n\\n\\t\\t\\t#ifdef WORLD_UNITS\\n\\n\\t\\t\\t\\t// get the offset direction as perpendicular to the view vector\\n\\t\\t\\t\\tvec3 worldDir = normalize( end.xyz - start.xyz );\\n\\t\\t\\t\\tvec3 offset;\\n\\t\\t\\t\\tif ( position.y < 0.5 ) {\\n\\n\\t\\t\\t\\t\\toffset = normalize( cross( start.xyz, worldDir ) );\\n\\n\\t\\t\\t\\t} else {\\n\\n\\t\\t\\t\\t\\toffset = normalize( cross( end.xyz, worldDir ) );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// sign flip\\n\\t\\t\\t\\tif ( position.x < 0.0 ) offset *= - 1.0;\\n\\n\\t\\t\\t\\tfloat forwardOffset = dot( worldDir, vec3( 0.0, 0.0, 1.0 ) );\\n\\n\\t\\t\\t\\t// don't extend the line if we're rendering dashes because we\\n\\t\\t\\t\\t// won't be rendering the endcaps\\n\\t\\t\\t\\t#ifndef USE_DASH\\n\\n\\t\\t\\t\\t\\t// extend the line bounds to encompass endcaps\\n\\t\\t\\t\\t\\tstart.xyz += - worldDir * linewidth * 0.5;\\n\\t\\t\\t\\t\\tend.xyz += worldDir * linewidth * 0.5;\\n\\n\\t\\t\\t\\t\\t// shift the position of the quad so it hugs the forward edge of the line\\n\\t\\t\\t\\t\\toffset.xy -= dir * forwardOffset;\\n\\t\\t\\t\\t\\toffset.z += 0.5;\\n\\n\\t\\t\\t\\t#endif\\n\\n\\t\\t\\t\\t// endcaps\\n\\t\\t\\t\\tif ( position.y > 1.0 || position.y < 0.0 ) {\\n\\n\\t\\t\\t\\t\\toffset.xy += dir * 2.0 * forwardOffset;\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// adjust for linewidth\\n\\t\\t\\t\\toffset *= linewidth * 0.5;\\n\\n\\t\\t\\t\\t// set the world position\\n\\t\\t\\t\\tworldPos = ( position.y < 0.5 ) ? start : end;\\n\\t\\t\\t\\tworldPos.xyz += offset;\\n\\n\\t\\t\\t\\t// project the worldpos\\n\\t\\t\\t\\tvec4 clip = projectionMatrix * worldPos;\\n\\n\\t\\t\\t\\t// shift the depth of the projected points so the line\\n\\t\\t\\t\\t// segments overlap neatly\\n\\t\\t\\t\\tvec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd;\\n\\t\\t\\t\\tclip.z = clipPose.z * clip.w;\\n\\n\\t\\t\\t#else\\n\\n\\t\\t\\t\\tvec2 offset = vec2( dir.y, - dir.x );\\n\\t\\t\\t\\t// undo aspect ratio adjustment\\n\\t\\t\\t\\tdir.x /= aspect;\\n\\t\\t\\t\\toffset.x /= aspect;\\n\\n\\t\\t\\t\\t// sign flip\\n\\t\\t\\t\\tif ( position.x < 0.0 ) offset *= - 1.0;\\n\\n\\t\\t\\t\\t// endcaps\\n\\t\\t\\t\\tif ( position.y < 0.0 ) {\\n\\n\\t\\t\\t\\t\\toffset += - dir;\\n\\n\\t\\t\\t\\t} else if ( position.y > 1.0 ) {\\n\\n\\t\\t\\t\\t\\toffset += dir;\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// adjust for linewidth\\n\\t\\t\\t\\toffset *= linewidth;\\n\\n\\t\\t\\t\\t// adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...\\n\\t\\t\\t\\toffset /= resolution.y;\\n\\n\\t\\t\\t\\t// select end\\n\\t\\t\\t\\tvec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;\\n\\n\\t\\t\\t\\t// back to clip space\\n\\t\\t\\t\\toffset *= clip.w;\\n\\n\\t\\t\\t\\tclip.xy += offset;\\n\\n\\t\\t\\t#endif\\n\\n\\t\\t\\tgl_Position = clip;\\n\\n\\t\\t\\tvec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation\\n\\n\\t\\t\\t#include \\n\\t\\t\\t#include \\n\\t\\t\\t#include \\n\\n\\t\\t}\\n\\t\\t\",fragmentShader:\"\\n\\t\\tuniform vec3 diffuse;\\n\\t\\tuniform float opacity;\\n\\t\\tuniform float linewidth;\\n\\n\\t\\t#ifdef USE_DASH\\n\\n\\t\\t\\tuniform float dashOffset;\\n\\t\\t\\tuniform float dashSize;\\n\\t\\t\\tuniform float gapSize;\\n\\n\\t\\t#endif\\n\\n\\t\\tvarying float vLineDistance;\\n\\n\\t\\t#ifdef WORLD_UNITS\\n\\n\\t\\t\\tvarying vec4 worldPos;\\n\\t\\t\\tvarying vec3 worldStart;\\n\\t\\t\\tvarying vec3 worldEnd;\\n\\n\\t\\t\\t#ifdef USE_DASH\\n\\n\\t\\t\\t\\tvarying vec2 vUv;\\n\\n\\t\\t\\t#endif\\n\\n\\t\\t#else\\n\\n\\t\\t\\tvarying vec2 vUv;\\n\\n\\t\\t#endif\\n\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\n\\t\\tvec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) {\\n\\n\\t\\t\\tfloat mua;\\n\\t\\t\\tfloat mub;\\n\\n\\t\\t\\tvec3 p13 = p1 - p3;\\n\\t\\t\\tvec3 p43 = p4 - p3;\\n\\n\\t\\t\\tvec3 p21 = p2 - p1;\\n\\n\\t\\t\\tfloat d1343 = dot( p13, p43 );\\n\\t\\t\\tfloat d4321 = dot( p43, p21 );\\n\\t\\t\\tfloat d1321 = dot( p13, p21 );\\n\\t\\t\\tfloat d4343 = dot( p43, p43 );\\n\\t\\t\\tfloat d2121 = dot( p21, p21 );\\n\\n\\t\\t\\tfloat denom = d2121 * d4343 - d4321 * d4321;\\n\\n\\t\\t\\tfloat numer = d1343 * d4321 - d1321 * d4343;\\n\\n\\t\\t\\tmua = numer / denom;\\n\\t\\t\\tmua = clamp( mua, 0.0, 1.0 );\\n\\t\\t\\tmub = ( d1343 + d4321 * ( mua ) ) / d4343;\\n\\t\\t\\tmub = clamp( mub, 0.0, 1.0 );\\n\\n\\t\\t\\treturn vec2( mua, mub );\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\t#include \\n\\n\\t\\t\\t#ifdef USE_DASH\\n\\n\\t\\t\\t\\tif ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps\\n\\n\\t\\t\\t\\tif ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX\\n\\n\\t\\t\\t#endif\\n\\n\\t\\t\\tfloat alpha = opacity;\\n\\n\\t\\t\\t#ifdef WORLD_UNITS\\n\\n\\t\\t\\t\\t// Find the closest points on the view ray and the line segment\\n\\t\\t\\t\\tvec3 rayEnd = normalize( worldPos.xyz ) * 1e5;\\n\\t\\t\\t\\tvec3 lineDir = worldEnd - worldStart;\\n\\t\\t\\t\\tvec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd );\\n\\n\\t\\t\\t\\tvec3 p1 = worldStart + lineDir * params.x;\\n\\t\\t\\t\\tvec3 p2 = rayEnd * params.y;\\n\\t\\t\\t\\tvec3 delta = p1 - p2;\\n\\t\\t\\t\\tfloat len = length( delta );\\n\\t\\t\\t\\tfloat norm = len / linewidth;\\n\\n\\t\\t\\t\\t#ifndef USE_DASH\\n\\n\\t\\t\\t\\t\\t#ifdef USE_ALPHA_TO_COVERAGE\\n\\n\\t\\t\\t\\t\\t\\tfloat dnorm = fwidth( norm );\\n\\t\\t\\t\\t\\t\\talpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm );\\n\\n\\t\\t\\t\\t\\t#else\\n\\n\\t\\t\\t\\t\\t\\tif ( norm > 0.5 ) {\\n\\n\\t\\t\\t\\t\\t\\t\\tdiscard;\\n\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t#endif\\n\\n\\t\\t\\t\\t#endif\\n\\n\\t\\t\\t#else\\n\\n\\t\\t\\t\\t#ifdef USE_ALPHA_TO_COVERAGE\\n\\n\\t\\t\\t\\t\\t// artifacts appear on some hardware if a derivative is taken within a conditional\\n\\t\\t\\t\\t\\tfloat a = vUv.x;\\n\\t\\t\\t\\t\\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\\n\\t\\t\\t\\t\\tfloat len2 = a * a + b * b;\\n\\t\\t\\t\\t\\tfloat dlen = fwidth( len2 );\\n\\n\\t\\t\\t\\t\\tif ( abs( vUv.y ) > 1.0 ) {\\n\\n\\t\\t\\t\\t\\t\\talpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 );\\n\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t#else\\n\\n\\t\\t\\t\\t\\tif ( abs( vUv.y ) > 1.0 ) {\\n\\n\\t\\t\\t\\t\\t\\tfloat a = vUv.x;\\n\\t\\t\\t\\t\\t\\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\\n\\t\\t\\t\\t\\t\\tfloat len2 = a * a + b * b;\\n\\n\\t\\t\\t\\t\\t\\tif ( len2 > 1.0 ) discard;\\n\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t#endif\\n\\n\\t\\t\\t#endif\\n\\n\\t\\t\\tvec4 diffuseColor = vec4( diffuse, alpha );\\n\\n\\t\\t\\t#include \\n\\t\\t\\t#include \\n\\n\\t\\t\\tgl_FragColor = vec4( diffuseColor.rgb, alpha );\\n\\n\\t\\t\\t#include \\n\\t\\t\\t#include \\n\\t\\t\\t#include \\n\\t\\t\\t#include \\n\\n\\t\\t}\\n\\t\\t\"};class i extends s.jyz{constructor(e){super({type:\"LineMaterial\",uniforms:s.rDY.clone(s.Vj0.line.uniforms),vertexShader:s.Vj0.line.vertexShader,fragmentShader:s.Vj0.line.fragmentShader,clipping:!0}),this.isLineMaterial=!0,Object.defineProperties(this,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(e){this.uniforms.diffuse.value=e}},worldUnits:{enumerable:!0,get:function(){return\"WORLD_UNITS\"in this.defines},set:function(e){!0===e?this.defines.WORLD_UNITS=\"\":delete this.defines.WORLD_UNITS}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashed:{enumerable:!0,get:function(){return Boolean(\"USE_DASH\"in this.defines)},set(e){Boolean(e)!==Boolean(\"USE_DASH\"in this.defines)&&(this.needsUpdate=!0),!0===e?this.defines.USE_DASH=\"\":delete this.defines.USE_DASH}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},dashOffset:{enumerable:!0,get:function(){return this.uniforms.dashOffset.value},set:function(e){this.uniforms.dashOffset.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}},alphaToCoverage:{enumerable:!0,get:function(){return Boolean(\"USE_ALPHA_TO_COVERAGE\"in this.defines)},set:function(e){Boolean(e)!==Boolean(\"USE_ALPHA_TO_COVERAGE\"in this.defines)&&(this.needsUpdate=!0),!0===e?(this.defines.USE_ALPHA_TO_COVERAGE=\"\",this.extensions.derivatives=!0):(delete this.defines.USE_ALPHA_TO_COVERAGE,this.extensions.derivatives=!1)}}}),this.setValues(e)}}},7157:(e,t,n)=>{\"use strict\";n.d(t,{J:()=>i});var s=n(9477);class i extends s.aNw{constructor(e){super(e)}load(e,t,n,i){const a=this,l=new s.hH6(this.manager);l.setPath(this.path),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(e,(function(e){const n=a.parse(JSON.parse(e));t&&t(n)}),n,i)}parse(e){return new a(e)}}class a{constructor(e){this.isFont=!0,this.type=\"Font\",this.data=e}generateShapes(e,t=100){const n=[],s=function(e,t,n){const s=Array.from(e),i=t/n.resolution,a=(n.boundingBox.yMax-n.boundingBox.yMin+n.underlineThickness)*i,r=[];let o=0,c=0;for(let e=0;e{\"use strict\";n.d(t,{x:()=>r});var s=n(9477),i=n(1154),a=n(7531),l=n(4604);class r{constructor(e,t){if(this.renderer=e,this._pixelRatio=e.getPixelRatio(),void 0===t){const n=e.getSize(new s.FM8);this._width=n.width,this._height=n.height,(t=new s.dd2(this._width*this._pixelRatio,this._height*this._pixelRatio,{type:s.cLu})).texture.name=\"EffectComposer.rt1\"}else this._width=t.width,this._height=t.height;this.renderTarget1=t,this.renderTarget2=t.clone(),this.renderTarget2.texture.name=\"EffectComposer.rt2\",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],this.copyPass=new a.T(i.C),this.copyPass.material.blending=s.jFi,this.clock=new s.SUY}swapBuffers(){const e=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=e}addPass(e){this.passes.push(e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(e,t){this.passes.splice(t,0,e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(e){const t=this.passes.indexOf(e);-1!==t&&this.passes.splice(t,1)}isLastEnabledPass(e){for(let t=e+1;t{\"use strict\";n.d(t,{F:()=>i,M:()=>a});var s=n(8304);class i extends s.w{constructor(e,t){super(),this.scene=e,this.camera=t,this.clear=!0,this.needsSwap=!1,this.inverse=!1}render(e,t,n){const s=e.getContext(),i=e.state;let a,l;i.buffers.color.setMask(!1),i.buffers.depth.setMask(!1),i.buffers.color.setLocked(!0),i.buffers.depth.setLocked(!0),this.inverse?(a=0,l=1):(a=1,l=0),i.buffers.stencil.setTest(!0),i.buffers.stencil.setOp(s.REPLACE,s.REPLACE,s.REPLACE),i.buffers.stencil.setFunc(s.ALWAYS,a,4294967295),i.buffers.stencil.setClear(l),i.buffers.stencil.setLocked(!0),e.setRenderTarget(n),this.clear&&e.clear(),e.render(this.scene,this.camera),e.setRenderTarget(t),this.clear&&e.clear(),e.render(this.scene,this.camera),i.buffers.color.setLocked(!1),i.buffers.depth.setLocked(!1),i.buffers.color.setMask(!0),i.buffers.depth.setMask(!0),i.buffers.stencil.setLocked(!1),i.buffers.stencil.setFunc(s.EQUAL,1,4294967295),i.buffers.stencil.setOp(s.KEEP,s.KEEP,s.KEEP),i.buffers.stencil.setLocked(!0)}}class a extends s.w{constructor(){super(),this.needsSwap=!1}render(e){e.state.buffers.stencil.setLocked(!1),e.state.buffers.stencil.setTest(!1)}}},8304:(e,t,n)=>{\"use strict\";n.d(t,{T:()=>r,w:()=>i});var s=n(9477);class i{constructor(){this.isPass=!0,this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error(\"THREE.Pass: .render() must be implemented in derived pass.\")}dispose(){}}const a=new s.iKG(-1,1,1,-1,0,1),l=new s.u9r;l.setAttribute(\"position\",new s.a$l([-1,3,0,-1,-1,0,3,-1,0],3)),l.setAttribute(\"uv\",new s.a$l([0,2,0,0,2,0],2));class r{constructor(e){this._mesh=new s.Kj0(l,e)}dispose(){this._mesh.geometry.dispose()}render(e){e.render(this._mesh,a)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}}},4458:(e,t,n)=>{\"use strict\";n.d(t,{C:()=>a});var s=n(9477),i=n(8304);class a extends i.w{constructor(e,t,n=null,i=null,a=null){super(),this.scene=e,this.camera=t,this.overrideMaterial=n,this.clearColor=i,this.clearAlpha=a,this.clear=!0,this.clearDepth=!1,this.needsSwap=!1,this._oldClearColor=new s.Ilk}render(e,t,n){const s=e.autoClear;let i,a;e.autoClear=!1,null!==this.overrideMaterial&&(a=this.scene.overrideMaterial,this.scene.overrideMaterial=this.overrideMaterial),null!==this.clearColor&&(e.getClearColor(this._oldClearColor),e.setClearColor(this.clearColor)),null!==this.clearAlpha&&(i=e.getClearAlpha(),e.setClearAlpha(this.clearAlpha)),1==this.clearDepth&&e.clearDepth(),e.setRenderTarget(this.renderToScreen?null:n),!0===this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),e.render(this.scene,this.camera),null!==this.clearColor&&e.setClearColor(this._oldClearColor),null!==this.clearAlpha&&e.setClearAlpha(i),null!==this.overrideMaterial&&(this.scene.overrideMaterial=a),e.autoClear=s}}},7531:(e,t,n)=>{\"use strict\";n.d(t,{T:()=>a});var s=n(9477),i=n(8304);class a extends i.w{constructor(e,t){super(),this.textureID=void 0!==t?t:\"tDiffuse\",e instanceof s.jyz?(this.uniforms=e.uniforms,this.material=e):e&&(this.uniforms=s.rDY.clone(e.uniforms),this.material=new s.jyz({name:void 0!==e.name?e.name:\"unspecified\",defines:Object.assign({},e.defines),uniforms:this.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader})),this.fsQuad=new i.T(this.material)}render(e,t,n){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=n.texture),this.fsQuad.material=this.material,this.renderToScreen?(e.setRenderTarget(null),this.fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this.fsQuad.render(e))}dispose(){this.material.dispose(),this.fsQuad.dispose()}}},1764:(e,t,n)=>{\"use strict\";n.d(t,{M:()=>c});var s=n(9477);const i=new s.Pa4,a=new s.yGw,l=new s.yGw,r=new s.Pa4,o=new s.Pa4;class c{constructor(e={}){const t=this;let n,s,c,u;const p={objects:new WeakMap},h=void 0!==e.element?e.element:document.createElement(\"div\");function d(e,n,s){if(e.isCSS2DObject){i.setFromMatrixPosition(e.matrixWorld),i.applyMatrix4(l);const d=!0===e.visible&&i.z>=-1&&i.z<=1&&!0===e.layers.test(s.layers);if(e.element.style.display=!0===d?\"\":\"none\",!0===d){e.onBeforeRender(t,n,s);const a=e.element;a.style.transform=\"translate(\"+-100*e.center.x+\"%,\"+-100*e.center.y+\"%)translate(\"+(i.x*c+c)+\"px,\"+(-i.y*u+u)+\"px)\",a.parentNode!==h&&h.appendChild(a),e.onAfterRender(t,n,s)}const I={distanceToCameraSquared:(a=s,f=e,r.setFromMatrixPosition(a.matrixWorld),o.setFromMatrixPosition(f.matrixWorld),r.distanceToSquared(o))};p.objects.set(e,I)}var a,f;for(let t=0,i=e.children.length;t{\"use strict\";n.d(t,{C:()=>s});const s={name:\"CopyShader\",uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:\"\\n\\n\\t\\tvarying vec2 vUv;\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvUv = uv;\\n\\t\\t\\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\\n\\n\\t\\t}\",fragmentShader:\"\\n\\n\\t\\tuniform float opacity;\\n\\n\\t\\tuniform sampler2D tDiffuse;\\n\\n\\t\\tvarying vec2 vUv;\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvec4 texel = texture2D( tDiffuse, vUv );\\n\\t\\t\\tgl_FragColor = opacity * texel;\\n\\n\\n\\t\\t}\"}},2448:(e,t,n)=>{\"use strict\";n.d(t,{Y:()=>s});const s={name:\"GammaCorrectionShader\",uniforms:{tDiffuse:{value:null}},vertexShader:\"\\n\\n\\t\\tvarying vec2 vUv;\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvUv = uv;\\n\\t\\t\\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\\n\\n\\t\\t}\",fragmentShader:\"\\n\\n\\t\\tuniform sampler2D tDiffuse;\\n\\n\\t\\tvarying vec2 vUv;\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvec4 tex = texture2D( tDiffuse, vUv );\\n\\n\\t\\t\\tgl_FragColor = LinearTosRGB( tex );\\n\\n\\t\\t}\"}},140:(e,t,n)=>{\"use strict\";n.d(t,{n4:()=>i});var s=n(9477);function i(e,t=!1){const n=null!==e[0].index,i=new Set(Object.keys(e[0].attributes)),l=new Set(Object.keys(e[0].morphAttributes)),r={},o={},c=e[0].morphTargetsRelative,u=new s.u9r;let p=0;for(let s=0;s{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var s={};(()=>{\"use strict\";n.r(s),n.d(s,{default:()=>a});var e=n(1887),t=window.powerbi,i={name:\"exampleD7B3346A52CC4CC7A469ED9D0938BF65\",displayName:\"example\",class:\"Visual\",apiVersion:\"5.3.0\",create:t=>{if(e.u)return new e.u(t);throw\"Visual instance not found\"},createModalDialog:(e,t,n)=>{const s=globalThis.dialogRegistry;e in s&&new s[e](t,n)},custom:!0};void 0!==t&&(t.visuals=t.visuals||{},t.visuals.plugins=t.visuals.plugins||{},t.visuals.plugins.exampleD7B3346A52CC4CC7A469ED9D0938BF65=i);const a=i})(),exampleD7B3346A52CC4CC7A469ED9D0938BF65=s})();","iconBase64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpBOEJGMzkxN0NBRDNFMDExQTcxQ0JFODI3ODBCQUE5RSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3NEY1QjA1NUQ0OTAxMUUwQTgxREI2NjMxMkNEMUNEMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3NEY1QjA1NEQ0OTAxMUUwQTgxREI2NjMxMkNEMUNEMyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5Mjk5RDU1ODBGRDRFMDExQTcxQ0JFODI3ODBCQUE5RSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBOEJGMzkxN0NBRDNFMDExQTcxQ0JFODI3ODBCQUE5RSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpDoNX0AAAI3SURBVHjarJRLSFVRFIY9t7SiRDGLoEEPCRJRaCSYkxCiFCXCF+LIMExQLkilgumgwkbdBuWDRC2EomhURCOjgagkXEgKLUKhidobM6H0+i34rxyPnuvEA5/rXPda/1l7739vJxKJxG3ls93+hEKhTILxJhgMftmsiPxdhHw4CfepeR8dCyjWwwB0kZy3iVgCoQ2ewnmXxhrBD7Cgr/ZQVA17fDRPw2UYhzK6G99IsBse6/0QNME+H8FT4EA/YiPqOgA1q4IMzBNuw6iKjkCpj+Av+AdnEEmD3bxfhzvuDk30HaEaLsEkXCO53rN+Bwg5qsvTuj/TjGYtx9nINhRmEx7AYWiFW7AXOuEcbPOUvIZ2mnrl+PkQUbNEh4QHNKUSDdsSBWEOlmxTEfvs26FL9Khe211if6Acgee+xo7xzMgBxfq9qPe3fgWBGN2lEnqtG9nExM7CV3jp3bDos2bKJB0nHFRxAxRpA/5CIXyHh5ABv6GZqd9dJ6iz2SjbxMMypGhJFtTlNzu3kK7xgDxpove8U66FK2A+s6nul5gVVMEL+Ak7lG/T+g9JcIOGar2CRUoogxMwpP/bLTJMB9bRhDbkk5bBUU0y3ES0xS04CBfN9RSHiY90vJK0BHaSzG9h2eejS3RJeVfdtrGzuGyd8CX7Yq6ExuCH63jaVMPkFOv6OibB6DKs2+VEQp+WYBoqERn2sVWWRNN0YurIfeL14U6YkpkLYCSG6e0yqdCxvKBLIm5FgAEAV0nKuwMYRUsAAAAASUVORK5CYII="},"visualEntryPoint":""} \ No newline at end of file diff --git a/.tmp/drop/status b/.tmp/drop/status new file mode 100644 index 0000000..9db7390 --- /dev/null +++ b/.tmp/drop/status @@ -0,0 +1,2 @@ +1695212028257 +exampleD7B3346A52CC4CC7A469ED9D0938BF65 \ No newline at end of file diff --git a/.tmp/drop/visual.css b/.tmp/drop/visual.css new file mode 100644 index 0000000..cb17d2d --- /dev/null +++ b/.tmp/drop/visual.css @@ -0,0 +1,9 @@ +p { + font-size: 20px; + font-weight: bold; +} +p em { + background: yellow; + padding: 5px; +} + diff --git a/.tmp/drop/visual.js b/.tmp/drop/visual.js new file mode 100644 index 0000000..7efc7ab --- /dev/null +++ b/.tmp/drop/visual.js @@ -0,0 +1,2 @@ +/*! For license information please see visual.js.LICENSE.txt */ +var exampleD7B3346A52CC4CC7A469ED9D0938BF65;(()=>{var e={9073:e=>{e.exports={glyphs:{0:{x_min:43,x_max:722,ha:765,o:"m 722 495 q 703 281 722 375 q 643 121 684 186 q 538 20 602 55 q 381 -14 473 -14 q 232 20 295 -14 q 126 121 168 55 q 63 281 84 186 q 43 495 43 375 q 61 710 43 615 q 120 871 80 805 q 225 972 161 937 q 381 1007 290 1007 q 530 972 467 1007 q 637 871 594 937 q 700 711 679 806 q 722 495 722 616 m 253 495 q 281 240 253 326 q 381 155 310 155 q 481 240 450 155 q 511 495 511 325 q 481 751 511 665 q 381 837 450 837 q 321 815 346 837 q 281 751 297 794 q 259 644 266 708 q 253 495 253 580 "},1:{x_min:63,x_max:555.25,ha:765,o:"m 555 0 l 345 0 l 345 574 q 345 616 345 591 q 346 668 345 641 q 348 721 347 694 q 350 771 349 749 q 338 759 347 767 q 320 741 330 751 q 299 721 310 731 q 278 702 288 711 l 164 611 l 63 737 l 382 992 l 555 992 l 555 0 "},2:{x_min:53.296875,x_max:720.8125,ha:765,o:"m 720 0 l 56 0 l 56 145 l 287 397 q 367 485 331 444 q 428 563 403 525 q 468 640 454 601 q 482 725 482 679 q 452 803 482 775 q 372 831 422 831 q 269 804 318 831 q 166 729 220 778 l 53 864 q 117 917 83 892 q 190 962 150 942 q 278 994 230 982 q 386 1006 326 1006 q 513 986 457 1006 q 610 930 570 966 q 671 842 650 894 q 693 726 693 790 q 672 614 693 668 q 617 510 652 561 q 535 408 581 459 q 436 305 489 358 l 317 185 l 317 176 l 720 176 l 720 0 "},3:{x_min:39,x_max:711,ha:765,o:"m 682 768 q 665 675 682 717 q 619 603 648 634 q 552 551 591 572 q 467 520 513 531 l 467 516 q 649 443 587 501 q 711 287 711 385 q 687 167 711 222 q 615 71 664 112 q 493 8 567 31 q 320 -14 420 -14 q 170 0 240 -14 q 39 39 99 12 l 39 217 q 103 188 69 200 q 171 166 137 175 q 237 153 204 157 q 299 148 270 148 q 396 159 357 148 q 458 190 435 170 q 490 237 481 210 q 500 298 500 265 q 488 353 500 329 q 447 396 475 378 q 374 423 419 413 q 262 432 328 432 l 192 432 l 192 580 l 260 580 q 362 591 321 580 q 427 622 402 602 q 461 667 451 641 q 471 722 471 693 q 439 806 471 776 q 336 836 406 836 q 276 829 304 836 q 224 813 248 823 q 180 792 200 803 q 145 768 161 780 l 40 908 q 102 946 68 929 q 175 977 135 964 q 259 998 214 991 q 356 1006 305 1006 q 489 989 429 1006 q 592 943 549 973 q 658 869 635 913 q 682 768 682 825 "},4:{x_min:3,x_max:741.625,ha:765,o:"m 741 205 l 622 205 l 622 0 l 412 0 l 412 205 l 3 205 l 3 351 l 423 992 l 622 992 l 622 368 l 741 368 l 741 205 m 412 368 l 412 536 q 412 562 412 545 q 413 599 412 578 q 415 643 414 620 q 417 686 416 665 q 419 721 418 706 q 420 743 420 736 l 414 743 q 387 683 402 715 q 352 619 372 651 l 187 368 l 412 368 "},5:{x_min:58,x_max:707,ha:765,o:"m 405 634 q 524 614 469 634 q 620 556 579 594 q 683 461 660 518 q 707 331 707 405 q 681 186 707 250 q 607 78 656 122 q 486 9 559 33 q 320 -14 414 -14 q 246 -10 283 -14 q 176 0 210 -7 q 112 15 142 5 q 58 39 82 26 l 58 220 q 113 194 81 206 q 178 174 144 182 q 245 160 211 165 q 310 155 279 155 q 449 193 401 155 q 496 313 496 231 q 450 425 496 387 q 306 464 403 464 q 268 462 288 464 q 229 456 248 460 q 192 449 209 453 q 161 442 174 446 l 78 486 l 115 992 l 639 992 l 639 817 l 297 817 l 280 619 q 331 629 302 624 q 405 634 360 634 "},6:{x_min:52,x_max:724,ha:765,o:"m 52 420 q 59 562 52 492 q 87 698 67 633 q 141 818 107 762 q 228 915 176 874 q 354 979 281 956 q 526 1003 428 1003 q 558 1002 541 1003 q 592 1000 574 1001 q 625 997 609 999 q 655 992 642 995 l 655 826 q 600 836 629 832 q 542 840 571 840 q 393 817 451 840 q 299 753 334 794 q 250 655 265 712 q 233 528 236 598 l 241 528 q 273 574 254 553 q 318 611 293 595 q 376 635 344 626 q 448 644 408 644 q 563 622 512 644 q 650 561 615 601 q 705 463 686 521 q 724 329 724 405 q 701 185 724 249 q 636 77 678 121 q 534 9 594 32 q 400 -14 475 -14 q 263 12 327 -14 q 152 91 199 38 q 78 227 105 145 q 52 420 52 308 m 393 155 q 442 165 420 155 q 480 197 464 176 q 504 250 496 218 q 513 327 513 282 q 484 440 513 398 q 396 481 455 481 q 341 469 366 481 q 298 437 316 457 q 271 394 281 418 q 262 345 262 369 q 270 277 262 311 q 295 216 278 243 q 336 172 311 189 q 393 155 360 155 "},7:{x_min:37,x_max:721,ha:765,o:"m 140 0 l 493 815 l 37 815 l 37 990 l 721 990 l 721 859 l 359 0 l 140 0 "},8:{x_min:49,x_max:717,ha:765,o:"m 383 1004 q 499 989 444 1004 q 595 944 554 974 q 661 869 637 914 q 686 764 686 825 q 672 683 686 720 q 635 618 658 647 q 579 565 611 588 q 508 523 546 542 q 585 476 547 502 q 652 418 623 450 q 699 346 681 386 q 717 256 717 306 q 692 144 717 195 q 624 59 668 94 q 518 5 580 24 q 383 -14 457 -14 q 240 4 303 -14 q 135 56 178 22 q 71 140 93 90 q 49 251 49 189 q 63 342 49 302 q 104 416 78 383 q 165 473 130 448 q 239 518 199 499 q 176 563 205 539 q 126 618 147 588 q 92 685 105 648 q 80 766 80 722 q 104 869 80 825 q 171 944 129 913 q 268 989 213 974 q 383 1004 323 1004 m 259 263 q 267 213 259 236 q 290 174 274 190 q 328 149 305 158 q 381 139 351 139 q 475 173 444 139 q 506 262 506 207 q 496 313 506 290 q 469 355 485 336 q 431 391 452 374 q 389 422 410 407 l 376 431 q 328 399 349 417 q 291 361 306 382 q 267 316 276 340 q 259 263 259 292 m 382 850 q 345 843 362 850 q 316 823 328 836 q 297 791 304 810 q 290 749 290 773 q 297 700 290 721 q 317 664 305 679 q 347 635 330 648 q 383 611 364 623 q 418 634 401 621 q 447 664 434 647 q 468 701 460 680 q 475 749 475 722 q 468 791 475 773 q 449 823 461 810 q 419 843 436 836 q 382 850 402 850 "},9:{x_min:43,x_max:715,ha:765,o:"m 715 568 q 707 425 715 496 q 679 290 699 355 q 625 170 659 226 q 538 73 590 114 q 412 9 485 32 q 239 -14 338 -14 q 208 -13 225 -14 q 174 -11 191 -12 q 140 -8 156 -10 q 112 -4 124 -7 l 112 163 q 165 152 136 156 q 224 148 194 148 q 373 171 315 148 q 467 235 432 194 q 516 333 501 276 q 533 459 530 390 l 525 459 q 492 413 511 434 q 448 377 473 392 q 390 352 422 361 q 318 344 357 344 q 202 365 254 344 q 116 426 151 386 q 61 524 80 466 q 43 658 43 582 q 65 802 43 739 q 130 911 88 866 q 232 979 172 955 q 366 1003 292 1003 q 503 976 439 1003 q 614 897 567 950 q 687 761 660 843 q 715 568 715 679 m 373 833 q 324 823 347 833 q 286 792 302 813 q 262 738 270 770 q 253 661 253 705 q 282 548 253 590 q 371 506 311 506 q 425 518 401 506 q 468 550 450 530 q 495 594 485 569 q 504 643 504 618 q 496 711 504 677 q 471 772 488 745 q 430 816 455 799 q 373 833 406 833 "},ǻ:{x_min:58,x_max:694,ha:798,o:"m 306 1189 l 306 1199 q 336 1229 320 1213 q 369 1263 353 1246 q 399 1298 385 1281 q 425 1331 414 1316 l 657 1331 l 657 1322 q 620 1292 646 1310 q 562 1255 594 1275 q 498 1218 530 1236 q 443 1189 466 1201 l 306 1189 m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 572 975 q 558 907 572 937 q 522 856 545 877 q 467 824 498 835 q 399 813 436 813 q 330 824 362 813 q 277 856 299 835 q 243 906 255 876 q 231 974 231 937 q 243 1041 231 1011 q 277 1091 255 1071 q 330 1123 299 1112 q 399 1135 362 1135 q 466 1123 435 1135 q 521 1091 497 1112 q 558 1041 544 1071 q 572 975 572 1012 m 467 974 q 448 1021 467 1004 q 401 1038 430 1038 q 354 1021 372 1038 q 335 974 335 1004 q 351 926 335 944 q 401 909 368 909 q 448 926 430 909 q 467 974 467 944 "},Á:{x_min:-.25,x_max:903.25,ha:903,o:"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 335 1071 l 335 1089 q 365 1134 349 1108 q 397 1187 381 1160 q 427 1242 413 1215 q 453 1293 442 1269 l 685 1293 l 685 1278 q 663 1250 677 1266 q 630 1214 649 1233 q 591 1175 612 1195 q 549 1136 570 1155 q 507 1100 527 1117 q 472 1071 488 1083 l 335 1071 "},ĥ:{x_min:109,x_max:767,ha:871,o:"m 767 0 l 560 0 l 560 442 q 534 565 560 524 q 456 606 509 606 q 389 590 416 606 q 345 542 362 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 1055 l 315 1055 l 315 840 q 314 780 315 811 q 311 722 313 748 q 306 661 308 690 l 317 661 q 402 746 350 720 q 518 773 453 773 q 620 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 m 594 1109 q 522 1161 559 1131 q 449 1227 484 1190 q 377 1161 412 1190 q 307 1109 342 1131 l 170 1109 l 170 1127 q 209 1172 187 1146 q 252 1225 230 1198 q 294 1280 274 1253 q 330 1331 315 1307 l 571 1331 q 606 1280 586 1307 q 648 1225 626 1253 q 692 1172 670 1198 q 732 1127 715 1146 l 732 1109 l 594 1109 "},Κ:{x_min:125,x_max:880.25,ha:880,o:"m 880 0 l 641 0 l 413 412 l 335 354 l 335 0 l 125 0 l 125 992 l 335 992 l 335 514 l 417 654 l 644 992 l 877 992 l 561 544 l 880 0 "},"»":{x_min:58,x_max:759,ha:813,o:"m 759 370 l 549 63 l 401 143 l 548 380 l 401 616 l 549 697 l 759 388 l 759 370 m 416 370 l 206 63 l 58 143 l 205 380 l 58 616 l 206 697 l 416 388 l 416 370 "},"∆":{x_min:39,x_max:820,ha:859,o:"m 39 120 l 311 996 l 549 996 l 820 119 l 820 0 l 39 0 l 39 120 m 457 701 q 451 726 455 709 q 442 764 446 744 q 434 800 437 783 q 429 823 430 817 q 425 800 429 817 q 417 764 422 783 q 409 726 413 744 q 403 700 405 708 l 253 174 l 606 174 l 457 701 "},ў:{x_min:-.25,x_max:749.25,ha:749,o:"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 m 702 1085 q 677 985 696 1030 q 618 909 657 941 q 518 859 580 877 q 367 842 457 842 q 215 858 275 842 q 117 907 154 875 q 64 983 81 939 q 44 1085 48 1028 l 230 1085 q 243 1020 233 1045 q 269 981 252 995 q 311 961 285 967 q 373 955 337 955 q 427 962 402 955 q 470 983 452 968 q 499 1023 488 998 q 515 1085 511 1048 l 702 1085 "},ţ:{x_min:32,x_max:530,ha:575,o:"m 416 152 q 474 158 446 152 q 530 175 501 165 l 530 20 q 457 -4 500 5 q 364 -14 414 -14 q 271 -2 314 -14 q 198 38 229 9 q 148 115 166 67 q 131 237 131 164 l 131 604 l 32 604 l 32 691 l 145 759 l 205 919 l 337 919 l 337 758 l 521 758 l 521 604 l 337 604 l 337 238 q 359 173 337 194 q 416 152 381 152 m 174 -288 q 186 -242 180 -268 q 197 -188 192 -216 q 208 -134 203 -161 q 215 -85 213 -107 l 407 -85 l 407 -98 q 358 -198 386 -145 q 294 -307 330 -251 l 174 -307 l 174 -288 "},"«":{x_min:56,x_max:757,ha:813,o:"m 56 388 l 265 697 l 414 616 l 266 380 l 414 143 l 265 63 l 56 370 l 56 388 m 399 388 l 608 697 l 757 616 l 609 380 l 757 143 l 608 63 l 399 370 l 399 388 "},í:{x_min:99,x_max:449,ha:424,o:"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 99 842 l 99 860 q 129 905 113 879 q 161 958 145 931 q 191 1013 177 986 q 217 1064 206 1040 l 449 1064 l 449 1049 q 427 1021 441 1037 q 394 985 413 1004 q 355 946 376 966 q 313 907 334 926 q 271 871 291 888 q 236 842 252 854 l 99 842 "},ņ:{x_min:109,x_max:767,ha:871,o:"m 767 0 l 560 0 l 560 442 q 535 565 560 524 q 456 606 510 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 m 317 -288 q 329 -242 323 -268 q 340 -188 335 -216 q 351 -134 346 -161 q 358 -85 356 -107 l 550 -85 l 550 -98 q 501 -198 529 -145 q 437 -307 473 -251 l 317 -307 l 317 -288 "},µ:{x_min:109,x_max:766,ha:875,o:"m 315 315 q 341 193 315 234 q 421 152 366 152 q 486 168 460 152 q 529 216 513 184 q 552 295 545 248 q 559 401 559 341 l 559 758 l 766 758 l 766 0 l 607 0 l 578 102 l 570 102 q 511 15 547 44 q 425 -14 476 -14 q 358 1 388 -14 q 309 47 328 17 q 312 -10 310 18 q 314 -64 313 -35 q 315 -117 315 -92 l 315 -334 l 109 -334 l 109 758 l 315 758 l 315 315 "},ỳ:{x_min:-.25,x_max:749.25,ha:749,o:"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 m 324 842 q 269 889 301 860 q 205 946 236 917 q 148 1004 174 976 q 112 1049 122 1031 l 112 1064 l 343 1064 q 369 1013 354 1040 q 399 958 383 986 q 431 905 415 931 q 462 860 447 879 l 462 842 l 324 842 "},Ι:{x_min:44.28125,x_max:495.96875,ha:541,o:"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 "},Ύ:{x_min:-39,x_max:1005.25,ha:1004,o:"m 599 583 l 778 992 l 1005 992 l 704 385 l 704 0 l 494 0 l 494 379 l 192 992 l 420 992 l 599 583 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 "},ѕ:{x_min:66,x_max:614,ha:668,o:"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 "},Ш:{x_min:125,x_max:1317,ha:1442,o:"m 825 174 l 1106 174 l 1106 992 l 1317 992 l 1317 0 l 125 0 l 125 992 l 335 992 l 335 174 l 615 174 l 615 992 l 825 992 l 825 174 "},M:{x_min:125,x_max:1143,ha:1268,o:"m 523 0 l 305 778 l 299 778 q 306 657 303 715 q 308 605 307 632 q 310 553 309 579 q 311 503 311 527 q 312 461 312 480 l 312 0 l 125 0 l 125 992 l 410 992 l 625 233 l 629 233 l 856 992 l 1143 992 l 1143 0 l 947 0 l 947 469 q 947 509 947 487 q 948 556 947 531 q 950 607 949 581 q 951 657 951 633 q 956 776 954 714 l 951 776 l 716 0 l 523 0 "},Ψ:{x_min:74,x_max:1088,ha:1161,o:"m 1088 667 q 1067 510 1088 578 q 1000 393 1046 441 q 882 321 954 346 q 706 296 809 296 l 674 296 l 674 0 l 487 0 l 487 296 l 455 296 q 279 320 351 296 q 160 391 206 344 q 94 507 115 439 q 74 664 74 576 l 74 992 l 270 992 l 270 665 q 283 566 270 605 q 321 504 296 526 q 383 472 347 481 q 468 462 420 462 l 487 462 l 487 992 l 674 992 l 674 462 l 692 462 q 771 471 735 462 q 835 502 808 479 q 876 563 861 524 q 892 662 892 602 l 892 992 l 1088 992 l 1088 667 "},ũ:{x_min:104,x_max:762,ha:871,o:"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 322 906 q 288 890 301 906 q 268 840 276 874 l 167 840 q 184 934 171 894 q 220 999 198 973 q 272 1037 242 1024 q 337 1050 301 1050 q 391 1040 365 1050 q 444 1017 418 1030 q 495 995 470 1005 q 545 985 521 985 q 578 1001 566 985 q 599 1051 591 1017 l 701 1051 q 683 958 696 997 q 646 893 669 919 q 594 854 624 867 q 530 842 565 842 q 476 852 503 842 q 423 874 448 862 q 372 896 397 886 q 322 906 346 906 "},ŭ:{x_min:104,x_max:762,ha:871,o:"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 678 1071 q 656 978 674 1020 q 608 906 639 936 q 532 858 576 875 q 429 842 487 842 q 325 858 369 842 q 250 904 280 874 q 204 976 220 934 q 186 1071 188 1018 l 301 1071 q 313 1024 304 1041 q 339 998 323 1007 q 378 987 355 989 q 430 985 401 985 q 477 988 455 985 q 516 1000 499 991 q 545 1026 534 1009 q 559 1071 557 1043 l 678 1071 "},"―":{x_min:56,x_max:1333,ha:1389,o:"m 56 296 l 56 452 l 1333 452 l 1333 296 l 56 296 "},"{":{x_min:21,x_max:492,ha:505,o:"m 195 183 q 150 277 195 249 q 21 304 105 304 l 21 467 q 96 473 63 467 q 151 494 129 479 q 185 532 173 509 q 195 587 196 555 l 195 803 q 207 889 195 853 q 254 947 220 924 q 345 981 287 970 q 492 992 403 992 l 492 838 q 442 833 464 838 q 405 819 420 829 q 382 790 390 808 q 374 743 374 772 l 374 540 q 215 390 369 414 l 215 382 q 334 333 293 370 q 374 232 376 295 l 374 29 q 382 -18 374 0 q 405 -47 390 -36 q 442 -61 420 -57 q 492 -66 464 -66 l 492 -220 q 345 -209 403 -220 q 254 -175 287 -198 q 207 -116 220 -152 q 195 -30 195 -80 l 195 183 "},"¼":{x_min:32,x_max:1141.203125,ha:1224,o:"m 929 992 l 378 0 l 216 0 l 767 992 l 929 992 m 365 397 l 204 397 l 204 700 q 204 734 204 713 q 205 776 204 755 q 207 814 206 797 q 209 840 208 832 q 198 828 205 835 q 185 813 192 820 q 171 799 178 805 q 158 787 164 792 l 105 746 l 32 832 l 235 992 l 365 992 l 365 397 m 1141 101 l 1056 101 l 1056 0 l 895 0 l 895 101 l 635 101 l 635 207 l 896 599 l 1056 599 l 1056 217 l 1141 217 l 1141 101 m 895 217 l 895 328 q 896 388 895 356 q 899 453 897 419 q 889 429 895 444 q 875 399 882 415 q 860 370 867 384 q 846 346 852 356 l 760 217 l 895 217 "},Ḿ:{x_min:125,x_max:1143,ha:1268,o:"m 523 0 l 305 778 l 299 778 q 306 657 303 715 q 308 605 307 632 q 310 553 309 579 q 311 503 311 527 q 312 461 312 480 l 312 0 l 125 0 l 125 992 l 410 992 l 625 233 l 629 233 l 856 992 l 1143 992 l 1143 0 l 947 0 l 947 469 q 947 509 947 487 q 948 556 947 531 q 950 607 949 581 q 951 657 951 633 q 956 776 954 714 l 951 776 l 716 0 l 523 0 m 533 1073 l 533 1091 q 563 1136 547 1110 q 595 1189 579 1162 q 625 1244 611 1217 q 651 1295 640 1271 l 883 1295 l 883 1280 q 861 1252 875 1268 q 828 1216 847 1235 q 789 1177 810 1197 q 747 1138 768 1157 q 705 1102 725 1119 q 670 1073 686 1085 l 533 1073 "},ι:{x_min:109,x_max:509,ha:538,o:"m 315 758 l 315 236 q 337 171 315 192 q 395 150 359 150 q 453 157 425 150 q 509 174 480 164 l 509 20 q 436 -4 479 5 q 342 -14 393 -14 q 250 -2 292 -14 q 176 37 207 9 q 126 115 144 66 q 109 237 109 163 l 109 758 l 315 758 "},IJ:{x_min:44.28125,x_max:876,ha:1e3,o:"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 539 -292 q 462 -287 495 -292 q 406 -277 429 -283 l 406 -103 q 458 -112 431 -108 q 518 -117 486 -117 q 576 -110 549 -117 q 623 -86 603 -103 q 654 -42 643 -70 q 665 27 665 -14 l 665 992 l 876 992 l 876 35 q 851 -111 876 -49 q 782 -213 826 -173 q 675 -273 737 -254 q 539 -292 614 -292 "},Ê:{x_min:125,x_max:703,ha:778,o:"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 565 1071 q 493 1123 530 1093 q 420 1189 455 1152 q 348 1123 383 1152 q 278 1071 313 1093 l 141 1071 l 141 1089 q 180 1134 158 1108 q 223 1187 201 1160 q 265 1242 245 1215 q 301 1293 286 1269 l 542 1293 q 577 1242 557 1269 q 619 1187 597 1215 q 663 1134 641 1160 q 703 1089 686 1108 l 703 1071 l 565 1071 "},Ά:{x_min:-37,x_max:903.25,ha:903,o:"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m -37 789 q -24 835 -30 809 q -13 889 -18 861 q -3 943 -7 916 q 4 993 1 970 l 196 993 l 196 978 q 147 879 175 932 q 83 771 119 826 l -37 771 l -37 789 "},")":{x_min:41,x_max:415,ha:471,o:"m 415 380 q 402 214 415 296 q 365 57 390 133 q 301 -89 340 -19 q 210 -220 263 -158 l 42 -220 q 125 -84 89 -156 q 186 64 162 -12 q 223 221 211 141 q 235 381 235 301 q 186 704 235 547 q 41 992 137 861 l 210 992 q 301 857 263 928 q 365 708 340 785 q 402 547 390 630 q 415 380 415 465 "},ε:{x_min:53,x_max:677,ha:729,o:"m 531 464 l 531 316 l 432 316 q 299 292 340 316 q 259 221 259 267 q 268 187 259 202 q 297 161 277 172 q 348 145 317 150 q 424 139 379 139 q 498 144 462 139 q 566 159 533 150 q 626 180 598 168 q 676 203 654 191 l 676 38 q 557 0 627 14 q 400 -14 488 -14 q 242 1 308 -14 q 134 46 177 17 q 72 115 92 74 q 53 206 53 156 q 66 278 53 248 q 104 330 79 308 q 163 366 128 352 q 240 387 198 379 l 240 394 q 129 457 165 411 q 93 571 93 502 q 117 664 93 626 q 184 726 142 702 q 283 762 227 751 q 403 773 340 773 q 477 768 440 773 q 550 757 515 764 q 617 739 585 749 q 677 716 649 728 l 620 566 q 527 603 576 586 q 421 619 478 619 q 365 615 390 619 q 324 603 341 612 q 297 581 306 594 q 287 547 287 567 q 325 483 287 502 q 444 464 363 464 l 531 464 "},э:{x_min:50,x_max:607,ha:676,o:"m 266 -14 q 147 -3 199 -14 q 50 32 96 7 l 50 193 q 144 154 95 170 q 250 139 194 139 q 351 177 312 139 q 395 303 389 216 l 148 303 l 148 451 l 395 451 q 267 619 386 619 q 185 606 224 619 q 112 576 145 593 l 54 718 q 99 738 74 728 q 153 755 124 747 q 214 768 182 763 q 280 773 246 773 q 409 754 349 773 q 513 691 469 735 q 581 572 556 646 q 607 387 607 498 q 584 209 607 284 q 518 83 561 133 q 411 10 474 34 q 266 -14 347 -14 "},ш:{x_min:109,x_max:1195,ha:1304,o:"m 1195 0 l 109 0 l 109 758 l 315 758 l 315 153 l 549 153 l 549 758 l 755 758 l 755 153 l 988 153 l 988 758 l 1195 758 l 1195 0 "},Я:{x_min:-7.25,x_max:743,ha:868,o:"m 449 381 l 226 0 l -7 0 l 270 444 q 210 478 240 457 q 155 532 179 499 q 116 609 131 564 q 101 716 101 654 q 193 923 101 854 q 470 992 286 992 l 743 992 l 743 0 l 532 0 l 532 381 l 449 381 m 532 817 l 449 817 q 347 787 383 817 q 311 690 311 758 q 345 586 311 624 q 453 547 380 547 l 532 547 l 532 817 "},a:{x_min:58,x_max:694,ha:798,o:"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 "},Ę:{x_min:125,x_max:696,ha:778,o:"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 520 -154 q 535 -196 520 -182 q 574 -209 550 -209 q 617 -205 595 -209 q 652 -197 638 -201 l 652 -318 q 605 -329 630 -324 q 546 -334 580 -334 q 475 -322 507 -334 q 422 -290 444 -310 q 388 -241 400 -269 q 377 -177 377 -212 q 386 -124 377 -148 q 412 -78 395 -99 q 451 -38 429 -57 q 499 0 473 -19 l 620 0 q 546 -81 573 -44 q 520 -154 520 -118 "},Z:{x_min:33,x_max:716,ha:749,o:"m 716 0 l 33 0 l 33 137 l 453 817 l 45 817 l 45 992 l 703 992 l 703 855 l 283 174 l 716 174 l 716 0 "}," ":{x_min:0,x_max:0,ha:231},k:{x_min:109,x_max:819.25,ha:819,o:"m 307 412 l 383 527 l 568 758 l 801 758 l 527 429 l 819 0 l 580 0 l 396 291 l 315 235 l 315 0 l 109 0 l 109 1055 l 315 1055 l 315 584 l 305 412 l 307 412 "},Ù:{x_min:118,x_max:876,ha:994,o:"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 479 1071 q 424 1118 456 1089 q 360 1175 391 1146 q 303 1233 329 1205 q 267 1278 277 1260 l 267 1293 l 498 1293 q 524 1242 509 1269 q 554 1187 538 1215 q 586 1134 570 1160 q 617 1089 602 1108 l 617 1071 l 479 1071 "},Ů:{x_min:118,x_max:876,ha:994,o:"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 671 1231 q 657 1163 671 1193 q 621 1112 644 1133 q 566 1080 597 1091 q 498 1069 535 1069 q 430 1080 461 1069 q 377 1112 399 1091 q 343 1162 355 1132 q 331 1230 331 1193 q 343 1297 331 1267 q 377 1347 355 1327 q 430 1379 399 1368 q 498 1391 461 1391 q 566 1379 534 1391 q 620 1347 597 1368 q 657 1297 643 1327 q 671 1231 671 1268 m 565 1230 q 547 1278 565 1260 q 501 1295 529 1295 q 454 1278 472 1295 q 436 1230 436 1260 q 452 1182 436 1199 q 501 1164 468 1164 q 547 1182 529 1164 q 565 1230 565 1199 "},"¢":{x_min:97,x_max:672.984375,ha:765,o:"m 368 -14 l 368 126 q 255 160 305 134 q 170 230 205 185 q 115 343 134 276 q 97 504 97 411 q 115 668 97 599 q 170 783 134 737 q 256 855 206 829 q 368 889 306 880 l 368 1006 l 488 1006 l 488 895 q 540 890 514 894 q 590 881 565 887 q 635 869 614 876 q 672 855 656 863 l 614 705 q 582 718 600 711 q 545 729 564 724 q 507 737 526 734 q 472 741 488 741 q 396 727 427 741 q 344 685 365 713 q 316 613 324 656 q 307 510 307 570 q 346 339 307 393 q 472 284 384 284 q 572 297 524 284 q 654 326 620 309 l 654 164 q 577 133 619 144 q 488 122 535 123 l 488 -14 l 368 -14 "},В:{x_min:125,x_max:818,ha:892,o:"m 125 992 l 415 992 q 579 978 508 992 q 697 936 649 965 q 768 858 744 906 q 793 740 793 810 q 782 662 793 698 q 752 597 772 625 q 705 551 733 569 q 640 526 677 532 l 640 519 q 709 496 677 511 q 766 454 742 480 q 804 386 790 427 q 818 287 818 345 q 794 166 818 219 q 726 76 770 113 q 618 19 681 39 q 474 0 554 0 l 125 0 l 125 992 m 335 599 l 444 599 q 509 606 483 599 q 552 627 536 613 q 575 662 568 641 q 582 711 582 683 q 547 792 582 768 q 434 817 511 817 l 335 817 l 335 599 m 335 432 l 335 174 l 459 174 q 529 184 501 174 q 575 211 557 193 q 600 253 592 228 q 607 309 607 278 q 600 359 607 336 q 574 398 592 382 q 527 423 556 414 q 454 432 497 432 l 335 432 "},І:{x_min:44.28125,x_max:495.96875,ha:541,o:"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 "},ē:{x_min:69,x_max:741,ha:807,o:"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 204 985 l 622 985 l 622 842 l 204 842 l 204 985 "},β:{x_min:109,x_max:827,ha:875,o:"m 450 1063 q 579 1046 520 1063 q 681 996 638 1029 q 748 913 724 963 q 773 796 773 862 q 721 636 773 695 q 574 562 669 578 l 574 558 q 679 532 633 551 q 759 481 726 513 q 809 402 791 449 q 827 292 827 356 q 805 162 827 219 q 743 66 783 105 q 646 6 702 27 q 519 -14 589 -14 q 406 -3 458 -14 q 315 28 354 7 l 315 -334 l 109 -334 l 109 743 q 135 887 109 826 q 207 986 161 947 q 315 1044 252 1025 q 450 1063 377 1063 m 444 896 q 394 888 418 896 q 353 860 371 880 q 326 806 336 840 q 315 720 315 772 l 315 199 q 349 179 330 188 q 388 164 368 171 q 427 155 408 158 q 464 152 447 152 q 578 193 540 152 q 615 311 615 235 q 601 382 615 353 q 563 429 587 411 q 506 455 538 447 q 437 462 474 462 l 388 462 l 388 629 l 424 629 q 487 639 461 629 q 531 667 513 649 q 557 712 549 686 q 566 769 566 737 q 532 865 566 833 q 444 896 499 896 "},"≠":{x_min:60,x_max:705,ha:765,o:"m 367 284 l 281 97 l 145 154 l 204 284 l 60 284 l 60 433 l 273 433 l 327 546 l 60 546 l 60 695 l 395 695 l 484 885 l 620 827 l 557 695 l 705 695 l 705 546 l 490 546 l 436 433 l 705 433 l 705 284 l 367 284 "},"‼":{x_min:79,x_max:712,ha:791,o:"m 281 330 l 116 330 l 81 992 l 316 992 l 281 330 m 79 97 q 88 151 79 129 q 113 187 97 173 q 151 206 129 200 q 198 213 173 213 q 243 206 221 213 q 280 187 264 200 q 306 151 297 173 q 316 97 316 129 q 306 45 316 66 q 280 9 297 23 q 243 -11 264 -5 q 198 -18 221 -18 q 151 -11 173 -18 q 113 9 129 -5 q 88 45 97 23 q 79 97 79 66 m 677 330 l 512 330 l 477 992 l 712 992 l 677 330 m 475 97 q 484 151 475 129 q 509 187 493 173 q 547 206 525 200 q 594 213 569 213 q 639 206 617 213 q 676 187 660 200 q 702 151 693 173 q 712 97 712 129 q 702 45 712 66 q 676 9 693 23 q 639 -11 660 -5 q 594 -18 617 -18 q 547 -11 569 -18 q 509 9 525 -5 q 484 45 493 23 q 475 97 475 66 "},"¥":{x_min:4.75,x_max:776.25,ha:765,o:"m 390 583 l 563 992 l 776 992 l 530 485 l 662 485 l 662 364 l 496 364 l 496 271 l 662 271 l 662 150 l 496 150 l 496 0 l 286 0 l 286 150 l 117 150 l 117 271 l 286 271 l 286 364 l 117 364 l 117 485 l 247 485 l 4 992 l 219 992 l 390 583 "},Ĥ:{x_min:125,x_max:882,ha:1007,o:"m 882 0 l 671 0 l 671 428 l 335 428 l 335 0 l 125 0 l 125 992 l 335 992 l 335 603 l 671 603 l 671 992 l 882 992 l 882 0 m 642 1071 q 570 1123 607 1093 q 497 1189 532 1152 q 425 1123 460 1152 q 355 1071 390 1093 l 218 1071 l 218 1089 q 257 1134 235 1108 q 300 1187 278 1160 q 342 1242 322 1215 q 378 1293 363 1269 l 619 1293 q 654 1242 634 1269 q 696 1187 674 1215 q 740 1134 718 1160 q 780 1089 763 1108 l 780 1071 l 642 1071 "},U:{x_min:118,x_max:876,ha:994,o:"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 "},Ñ:{x_min:125,x_max:963,ha:1088,o:"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 m 423 1135 q 389 1119 402 1135 q 369 1069 377 1103 l 268 1069 q 285 1163 272 1123 q 321 1228 299 1202 q 373 1266 343 1253 q 438 1279 402 1279 q 492 1269 466 1279 q 545 1246 519 1259 q 596 1224 571 1234 q 646 1214 622 1214 q 679 1230 667 1214 q 700 1280 692 1246 l 802 1280 q 784 1187 797 1226 q 747 1122 770 1148 q 695 1083 725 1096 q 631 1071 666 1071 q 577 1081 604 1071 q 524 1103 549 1091 q 473 1125 498 1115 q 423 1135 447 1135 "},F:{x_min:125,x_max:693,ha:762,o:"m 330 0 l 125 0 l 125 992 l 693 992 l 693 817 l 330 817 l 330 564 l 667 564 l 667 389 l 330 389 l 330 0 "},ϑ:{x_min:28.03125,x_max:933.140625,ha:975,o:"m 628 675 q 609 777 622 732 q 576 853 595 822 q 533 900 558 884 q 482 916 509 916 q 430 897 449 916 q 410 840 410 878 q 422 780 410 809 q 459 727 433 750 q 526 690 484 704 q 628 675 567 675 m 845 524 q 846 511 846 519 q 847 494 847 503 q 847 477 847 485 q 847 463 847 468 q 838 339 847 399 q 809 226 829 279 q 758 129 790 173 q 681 53 727 85 q 576 3 636 21 q 440 -14 516 -14 q 300 4 354 -14 q 215 55 246 23 q 174 127 185 86 q 163 210 163 167 q 167 281 163 246 q 171 346 171 317 q 162 384 171 374 q 135 393 152 393 q 103 387 120 393 q 76 374 87 380 l 28 500 q 119 541 68 523 q 233 560 170 560 q 332 528 296 560 q 367 437 367 496 q 362 349 367 394 q 357 256 357 304 q 363 215 357 234 q 382 182 369 196 q 416 160 396 168 q 467 152 437 152 q 593 230 550 152 q 635 478 635 309 q 635 486 635 480 q 635 498 635 492 q 635 511 635 505 q 634 521 634 517 q 433 552 515 523 q 300 628 351 581 q 226 732 249 674 q 204 849 204 790 q 219 938 204 897 q 269 1008 235 978 q 352 1053 302 1037 q 471 1070 403 1070 q 621 1040 558 1070 q 727 958 684 1011 q 796 833 771 906 q 834 675 822 761 l 933 675 l 933 524 l 845 524 "},Ќ:{x_min:125,x_max:878.25,ha:878,o:"m 878 0 l 639 0 l 335 502 l 335 0 l 125 0 l 125 992 l 335 992 l 335 511 l 635 992 l 859 992 l 552 515 l 878 0 m 338 1071 l 338 1089 q 368 1134 352 1108 q 400 1187 384 1160 q 430 1242 416 1215 q 456 1293 445 1269 l 688 1293 l 688 1278 q 666 1250 680 1266 q 633 1214 652 1233 q 594 1175 615 1195 q 552 1136 573 1155 q 510 1100 530 1117 q 475 1071 491 1083 l 338 1071 "},å:{x_min:58,x_max:694,ha:798,o:"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 571 1002 q 557 934 571 964 q 521 883 544 904 q 466 851 497 862 q 398 840 435 840 q 330 851 361 840 q 277 883 299 862 q 243 933 255 903 q 231 1001 231 964 q 243 1068 231 1038 q 277 1118 255 1098 q 330 1150 299 1139 q 398 1162 361 1162 q 466 1150 434 1162 q 520 1118 497 1139 q 557 1068 543 1098 q 571 1002 571 1039 m 465 1001 q 447 1049 465 1031 q 401 1066 429 1066 q 354 1049 372 1066 q 336 1001 336 1031 q 352 953 336 970 q 401 935 368 935 q 447 953 429 935 q 465 1001 465 970 "},Ϋ:{x_min:-.25,x_max:812.25,ha:811,o:"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 m 174 1182 q 181 1223 174 1206 q 201 1251 188 1240 q 231 1268 214 1263 q 268 1274 248 1274 q 305 1268 288 1274 q 335 1251 322 1263 q 356 1223 348 1240 q 364 1182 364 1206 q 356 1142 364 1159 q 335 1114 348 1125 q 305 1097 322 1102 q 268 1092 288 1092 q 231 1097 248 1092 q 201 1114 214 1102 q 181 1142 188 1125 q 174 1182 174 1159 m 447 1182 q 454 1223 447 1206 q 474 1251 461 1240 q 505 1268 487 1263 q 543 1274 522 1274 q 579 1268 562 1274 q 610 1251 596 1263 q 631 1223 623 1240 q 639 1182 639 1206 q 631 1142 639 1159 q 610 1114 623 1125 q 579 1097 596 1102 q 543 1092 562 1092 q 474 1114 502 1092 q 447 1182 447 1136 "},ō:{x_min:69,x_max:762,ha:832,o:"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 206 985 l 624 985 l 624 842 l 206 842 l 206 985 "},"”":{x_min:16,x_max:601,ha:615,o:"m 284 977 q 261 898 274 939 q 232 815 248 857 q 198 731 216 772 q 164 652 181 690 l 16 652 q 35 737 25 692 q 54 827 45 782 q 71 913 63 871 q 83 992 78 956 l 273 992 l 284 977 m 601 977 q 578 898 591 939 q 548 815 564 857 q 515 731 532 772 q 481 652 498 690 l 332 652 q 352 737 342 692 q 371 827 362 782 q 387 913 380 871 q 400 992 395 956 l 590 992 l 601 977 "},ö:{x_min:69,x_max:762,ha:832,o:"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 181 953 q 188 994 181 977 q 208 1022 195 1011 q 238 1039 221 1034 q 275 1045 255 1045 q 312 1039 295 1045 q 342 1022 329 1034 q 363 994 355 1011 q 371 953 371 977 q 363 913 371 930 q 342 885 355 896 q 312 868 329 873 q 275 863 295 863 q 238 868 255 863 q 208 885 221 873 q 188 913 195 896 q 181 953 181 930 m 454 953 q 461 994 454 977 q 481 1022 468 1011 q 512 1039 494 1034 q 550 1045 529 1045 q 586 1039 569 1045 q 617 1022 603 1034 q 638 994 630 1011 q 646 953 646 977 q 638 913 646 930 q 617 885 630 896 q 586 868 603 873 q 550 863 569 863 q 481 885 509 863 q 454 953 454 907 "},ć:{x_min:69,x_max:664,ha:693,o:"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 m 314 842 l 314 860 q 344 905 328 879 q 376 958 360 931 q 406 1013 392 986 q 432 1064 421 1040 l 664 1064 l 664 1049 q 642 1021 656 1037 q 609 985 628 1004 q 570 946 591 966 q 528 907 549 926 q 486 871 506 888 q 451 842 467 854 l 314 842 "},þ:{x_min:109,x_max:775,ha:844,o:"m 315 659 q 348 704 329 683 q 391 739 366 724 q 445 764 415 755 q 512 773 475 773 q 619 747 571 773 q 701 673 667 722 q 755 550 736 623 q 775 380 775 476 q 756 209 775 283 q 702 86 737 136 q 619 11 668 36 q 512 -14 571 -14 q 445 -6 475 -14 q 390 12 414 0 q 348 42 366 25 q 315 77 330 58 l 306 77 q 311 35 308 55 q 314 0 313 18 q 315 -27 315 -17 l 315 -334 l 109 -334 l 109 1055 l 315 1055 l 315 789 q 314 751 315 773 q 311 708 313 728 q 306 659 308 684 l 315 659 m 443 606 q 384 594 408 606 q 345 556 360 581 q 323 492 330 531 q 315 403 317 454 l 315 380 q 322 282 315 325 q 343 211 328 239 q 383 167 358 182 q 444 152 407 152 q 534 211 505 152 q 563 382 563 269 q 534 550 563 494 q 443 606 505 606 "},"]":{x_min:35,x_max:363,ha:460,o:"m 35 -76 l 183 -76 l 183 848 l 35 848 l 35 992 l 363 992 l 363 -220 l 35 -220 l 35 -76 "},А:{x_min:-.25,x_max:903.25,ha:903,o:"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 "},"′":{x_min:90,x_max:279.21875,ha:370,o:"m 279 992 l 251 634 l 117 634 l 90 992 l 279 992 "},Ы:{x_min:125,x_max:1078,ha:1203,o:"m 769 310 q 746 179 769 237 q 678 81 724 121 q 560 21 631 42 q 390 0 489 0 l 125 0 l 125 992 l 335 992 l 335 613 l 408 613 q 569 590 501 613 q 681 527 637 568 q 747 432 726 487 q 769 310 769 376 m 335 174 l 393 174 q 462 182 431 174 q 514 205 492 189 q 547 247 536 221 q 558 310 558 273 q 546 374 558 349 q 510 413 534 399 q 453 432 487 427 q 378 438 420 438 l 335 438 l 335 174 m 1078 0 l 867 0 l 867 992 l 1078 992 l 1078 0 "},ẁ:{x_min:-.25,x_max:1120.25,ha:1120,o:"m 688 0 l 629 265 q 622 297 626 276 q 612 346 618 319 q 601 403 607 372 q 589 463 595 433 q 559 613 575 532 l 555 613 q 527 462 539 532 q 515 402 521 432 q 504 344 510 371 q 494 296 499 317 q 487 262 490 274 l 426 0 l 204 0 l 0 758 l 205 758 l 282 422 q 294 359 288 395 q 306 284 301 322 q 317 213 312 246 q 324 160 322 179 l 328 160 q 331 193 329 172 q 337 237 334 214 q 344 286 341 261 q 352 332 348 311 q 359 371 356 354 q 364 394 362 387 l 447 758 l 674 758 l 754 394 q 763 348 757 379 q 774 281 768 317 q 784 212 780 246 q 789 160 788 178 l 793 160 q 800 210 795 176 q 811 281 805 243 q 824 357 817 320 q 837 422 831 395 l 917 758 l 1120 758 l 913 0 l 688 0 m 529 842 q 474 889 506 860 q 410 946 441 917 q 353 1004 379 976 q 317 1049 327 1031 l 317 1064 l 548 1064 q 574 1013 559 1040 q 604 958 588 986 q 636 905 620 931 q 667 860 652 879 l 667 842 l 529 842 "},ĭ:{x_min:-34,x_max:458,ha:424,o:"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 458 1071 q 436 978 454 1020 q 388 906 419 936 q 312 858 356 875 q 209 842 267 842 q 105 858 149 842 q 30 904 60 874 q -15 976 0 934 q -34 1071 -31 1018 l 81 1071 q 93 1024 84 1041 q 119 998 103 1007 q 158 987 135 989 q 210 985 181 985 q 257 988 235 985 q 296 1000 279 991 q 325 1026 314 1009 q 339 1071 337 1043 l 458 1071 "},R:{x_min:125,x_max:875.25,ha:875,o:"m 335 545 l 393 545 q 520 581 481 545 q 558 685 558 616 q 517 786 558 756 q 389 817 476 817 l 335 817 l 335 545 m 335 379 l 335 0 l 125 0 l 125 992 l 396 992 q 678 918 587 992 q 769 694 769 844 q 755 601 769 642 q 719 527 741 559 q 666 471 696 495 q 604 430 637 447 q 739 215 679 310 q 789 136 765 175 q 832 67 813 98 q 863 18 851 37 l 875 0 l 641 0 l 427 379 l 335 379 "},Ż:{x_min:33,x_max:716,ha:749,o:"m 716 0 l 33 0 l 33 137 l 453 817 l 45 817 l 45 992 l 703 992 l 703 855 l 283 174 l 716 174 l 716 0 m 275 1183 q 283 1232 275 1213 q 307 1263 292 1251 q 343 1280 323 1275 q 387 1285 364 1285 q 430 1280 410 1285 q 466 1263 451 1275 q 490 1232 481 1251 q 500 1183 500 1213 q 490 1135 500 1155 q 466 1104 481 1115 q 430 1087 451 1092 q 387 1082 410 1082 q 343 1087 364 1082 q 307 1104 323 1092 q 283 1135 292 1115 q 275 1183 275 1155 "},ħ:{x_min:3,x_max:767,ha:871,o:"m 767 0 l 560 0 l 560 400 q 534 522 560 482 q 456 563 509 563 q 389 547 416 563 q 345 498 362 530 q 322 420 329 467 q 315 314 315 374 l 315 0 l 109 0 l 109 808 l 3 808 l 3 946 l 109 946 l 109 1055 l 315 1055 l 315 946 l 529 946 l 529 808 l 315 808 l 315 796 q 314 736 315 767 q 311 678 313 705 l 306 617 l 317 617 q 402 703 350 677 q 518 730 453 730 q 620 714 575 730 q 699 664 666 698 q 749 577 731 630 q 767 452 767 525 l 767 0 "},õ:{x_min:69,x_max:762,ha:832,o:"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 301 906 q 267 890 280 906 q 247 840 255 874 l 146 840 q 163 934 150 894 q 199 999 177 973 q 251 1037 221 1024 q 316 1050 280 1050 q 370 1040 344 1050 q 423 1017 397 1030 q 474 995 449 1005 q 524 985 500 985 q 557 1001 545 985 q 578 1051 570 1017 l 680 1051 q 662 958 675 997 q 625 893 648 919 q 573 854 603 867 q 509 842 544 842 q 455 852 482 842 q 402 874 427 862 q 351 896 376 886 q 301 906 325 906 "},"˙":{x_min:100,x_max:325,ha:424,o:"m 100 954 q 108 1003 100 984 q 132 1034 117 1022 q 168 1051 148 1046 q 212 1056 189 1056 q 255 1051 235 1056 q 291 1034 276 1046 q 315 1003 306 1022 q 325 954 325 984 q 315 906 325 926 q 291 875 306 886 q 255 858 276 863 q 212 853 235 853 q 168 858 189 853 q 132 875 148 863 q 108 906 117 886 q 100 954 100 926 "},ê:{x_min:69,x_max:741,ha:807,o:"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 556 842 q 484 894 521 864 q 411 960 446 923 q 339 894 374 923 q 269 842 304 864 l 132 842 l 132 860 q 171 905 149 879 q 214 958 192 931 q 256 1013 236 986 q 292 1064 277 1040 l 533 1064 q 568 1013 548 1040 q 610 958 588 986 q 654 905 632 931 q 694 860 677 879 l 694 842 l 556 842 "},"″":{x_min:90,x_max:565.21875,ha:656,o:"m 279 992 l 251 634 l 117 634 l 90 992 l 279 992 m 565 992 l 537 634 l 403 634 l 376 992 l 565 992 "},"„":{x_min:43,x_max:628,ha:720,o:"m 312 145 q 289 67 302 108 q 259 -15 275 26 q 226 -99 243 -57 q 192 -179 209 -141 l 43 -179 q 63 -92 53 -137 q 82 -3 73 -48 q 98 82 91 40 q 111 161 106 125 l 301 161 l 312 145 m 628 145 q 605 67 618 108 q 575 -15 591 26 q 542 -99 559 -57 q 508 -179 525 -141 l 359 -179 q 379 -92 369 -137 q 398 -3 389 -48 q 414 82 407 40 q 427 161 422 125 l 617 161 l 628 145 "},ч:{x_min:83,x_max:760,ha:869,o:"m 289 758 l 289 471 q 311 400 289 422 q 369 379 333 379 q 464 392 419 379 q 553 428 508 406 l 553 758 l 760 758 l 760 0 l 553 0 l 553 298 q 505 274 530 286 q 451 252 479 261 q 390 237 422 243 q 321 232 358 232 q 222 247 266 232 q 147 293 178 262 q 99 369 116 323 q 83 476 83 415 l 83 758 l 289 758 "},δ:{x_min:69,x_max:762,ha:832,o:"m 314 622 q 261 666 287 642 q 217 719 236 691 q 186 782 197 748 q 175 854 175 815 q 195 943 175 904 q 253 1009 216 982 q 344 1049 291 1035 q 462 1063 397 1063 q 544 1057 506 1063 q 618 1042 583 1052 q 686 1019 652 1033 q 754 987 719 1005 l 679 841 q 568 891 621 872 q 461 909 515 909 q 418 904 435 909 q 390 889 401 898 q 374 867 379 879 q 369 841 369 855 q 380 805 369 823 q 412 769 390 788 q 466 730 434 750 q 541 686 498 709 q 708 538 655 622 q 762 346 762 455 q 737 185 762 253 q 666 73 712 117 q 556 7 620 28 q 412 -14 491 -14 q 274 6 337 -14 q 166 67 212 27 q 94 164 120 106 q 69 296 69 222 q 87 422 69 368 q 139 515 106 476 q 217 580 172 554 q 314 622 262 606 m 550 333 q 541 399 550 369 q 517 454 533 429 q 480 500 502 479 q 432 537 459 520 q 381 512 408 529 q 332 468 354 496 q 295 400 309 440 q 280 305 280 360 q 289 244 280 272 q 315 195 298 216 q 356 163 332 175 q 412 152 381 152 q 514 198 478 152 q 550 333 550 244 "},Â:{x_min:-.25,x_max:903.25,ha:903,o:"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 596 1071 q 524 1123 561 1093 q 451 1189 486 1152 q 379 1123 414 1152 q 309 1071 344 1093 l 172 1071 l 172 1089 q 211 1134 189 1108 q 254 1187 232 1160 q 296 1242 276 1215 q 332 1293 317 1269 l 573 1293 q 608 1242 588 1269 q 650 1187 628 1215 q 694 1134 672 1160 q 734 1089 717 1108 l 734 1071 l 596 1071 "},Į:{x_min:44.28125,x_max:495.96875,ha:541,o:"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 272 -154 q 287 -196 272 -182 q 326 -209 302 -209 q 369 -205 347 -209 q 404 -197 390 -201 l 404 -318 q 357 -329 382 -324 q 298 -334 332 -334 q 227 -322 259 -334 q 174 -290 196 -310 q 140 -241 152 -269 q 129 -177 129 -212 q 138 -124 129 -148 q 164 -78 147 -99 q 203 -38 181 -57 q 251 0 225 -19 l 372 0 q 298 -81 325 -44 q 272 -154 272 -118 "},ω:{x_min:81,x_max:1091,ha:1171,o:"m 798 -14 q 722 -3 755 -14 q 663 25 689 6 q 620 72 638 45 q 589 133 602 100 l 582 133 q 551 72 570 100 q 508 25 533 45 q 450 -3 483 6 q 374 -14 416 -14 q 245 14 300 -14 q 154 92 190 42 q 99 213 117 143 q 81 367 81 283 q 85 472 81 423 q 99 568 90 521 q 124 662 109 615 q 158 758 138 708 l 360 758 q 296 573 316 666 q 275 378 275 480 q 282 286 275 327 q 303 215 289 244 q 340 168 317 185 q 393 152 362 152 q 439 163 421 152 q 468 195 458 174 q 484 248 479 217 q 489 319 489 279 l 489 517 l 683 517 l 683 319 q 688 248 683 279 q 703 195 692 217 q 733 163 714 174 q 779 152 751 152 q 832 168 810 152 q 868 214 854 185 q 889 285 883 244 q 896 375 896 326 q 876 572 896 477 q 811 758 855 666 l 1012 758 q 1047 662 1032 708 q 1072 568 1062 615 q 1086 472 1082 521 q 1091 367 1091 423 q 1072 213 1091 283 q 1017 92 1053 143 q 925 14 980 42 q 798 -14 870 -14 "},Ţ:{x_min:28,x_max:735,ha:762,o:"m 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 0 m 250 -288 q 262 -242 256 -268 q 273 -188 268 -216 q 284 -134 279 -161 q 291 -85 289 -107 l 483 -85 l 483 -98 q 434 -198 462 -145 q 370 -307 406 -251 l 250 -307 l 250 -288 "},"´":{x_min:225,x_max:575,ha:802,o:"m 225 842 l 225 860 q 255 905 239 879 q 287 958 271 931 q 317 1013 303 986 q 343 1064 332 1040 l 575 1064 l 575 1049 q 553 1021 567 1037 q 520 985 539 1004 q 481 946 502 966 q 439 907 460 926 q 397 871 417 888 q 362 842 378 854 l 225 842 "},Ĉ:{x_min:81,x_max:836.296875,ha:885,o:"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 m 666 1071 q 594 1123 631 1093 q 521 1189 556 1152 q 449 1123 484 1152 q 379 1071 414 1093 l 242 1071 l 242 1089 q 281 1134 259 1108 q 324 1187 302 1160 q 366 1242 346 1215 q 402 1293 387 1269 l 643 1293 q 678 1242 658 1269 q 720 1187 698 1215 q 764 1134 742 1160 q 804 1089 787 1108 l 804 1071 l 666 1071 "},И:{x_min:125,x_max:963,ha:1088,o:"m 125 992 l 312 992 l 312 522 q 311 484 312 505 q 310 440 311 463 q 309 395 310 417 q 307 350 308 372 q 302 248 304 300 l 306 248 l 712 992 l 963 992 l 963 0 l 775 0 l 775 466 q 777 554 775 505 q 781 646 779 602 q 788 750 784 698 l 782 750 l 375 0 l 125 0 l 125 992 "},Љ:{x_min:11,x_max:1270,ha:1332,o:"m 837 613 l 910 613 q 1070 590 1003 613 q 1182 527 1138 568 q 1248 432 1227 487 q 1270 310 1270 376 q 1247 179 1270 237 q 1179 81 1225 121 q 1061 21 1132 42 q 892 0 990 0 l 627 0 l 627 817 l 471 817 q 453 677 463 753 q 433 525 444 601 q 412 380 423 449 q 390 258 401 310 q 355 142 376 193 q 303 56 335 91 q 226 3 272 21 q 115 -14 179 -14 q 59 -10 85 -14 q 11 1 33 -6 l 11 174 q 46 164 28 168 q 85 160 64 160 q 120 170 105 160 q 147 203 135 179 q 170 264 159 226 q 191 361 180 303 q 207 457 197 395 q 230 603 218 520 q 257 785 243 686 q 284 992 271 884 l 837 992 l 837 613 m 837 174 l 894 174 q 963 182 932 174 q 1015 205 993 189 q 1048 247 1036 221 q 1059 310 1059 273 q 1047 374 1059 349 q 1011 413 1034 399 q 954 432 988 427 q 880 438 921 438 l 837 438 l 837 174 "},р:{x_min:109,x_max:775,ha:844,o:"m 507 -14 q 440 -5 470 -14 q 388 15 411 2 q 347 45 365 28 q 315 81 330 62 l 305 81 q 310 37 307 57 q 314 0 312 19 q 315 -27 315 -17 l 315 -334 l 109 -334 l 109 758 l 277 758 l 306 659 l 315 659 q 348 703 330 682 q 390 739 366 723 q 445 763 414 754 q 512 773 475 773 q 619 747 571 773 q 702 673 668 722 q 756 550 737 623 q 775 380 775 476 q 755 209 775 283 q 700 86 735 136 q 615 11 664 36 q 507 -14 566 -14 m 443 606 q 384 594 408 606 q 345 556 360 581 q 323 492 330 531 q 315 403 317 454 l 315 380 q 322 282 315 325 q 343 211 328 239 q 383 167 358 182 q 444 152 407 152 q 534 211 505 152 q 563 382 563 269 q 534 550 563 494 q 443 606 505 606 "},Ω:{x_min:37,x_max:999,ha:1031,o:"m 518 832 q 344 759 399 832 q 290 547 290 686 q 299 434 290 487 q 329 336 308 381 q 384 253 350 290 q 470 189 419 217 l 470 0 l 37 0 l 37 176 l 289 176 q 200 248 240 206 q 132 343 160 290 q 89 459 104 396 q 74 591 74 521 q 102 762 74 685 q 187 893 130 838 q 326 977 243 948 q 518 1007 409 1007 q 709 977 627 1007 q 848 893 792 948 q 933 761 905 838 q 962 589 962 684 q 946 458 962 520 q 902 343 931 396 q 834 248 874 290 q 744 176 794 206 l 999 176 l 999 0 l 561 0 l 561 189 q 649 253 614 216 q 705 336 684 290 q 736 435 727 382 q 745 548 745 488 q 691 759 745 686 q 518 832 636 832 "},т:{x_min:32,x_max:694,ha:726,o:"m 694 758 l 694 604 l 466 604 l 466 0 l 260 0 l 260 604 l 32 604 l 32 758 l 694 758 "},П:{x_min:125,x_max:854,ha:979,o:"m 854 0 l 643 0 l 643 817 l 335 817 l 335 0 l 125 0 l 125 992 l 854 992 l 854 0 "},Ö:{x_min:81,x_max:970,ha:1050,o:"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 291 1182 q 298 1223 291 1206 q 318 1251 305 1240 q 348 1268 331 1263 q 385 1274 365 1274 q 422 1268 405 1274 q 452 1251 439 1263 q 473 1223 465 1240 q 481 1182 481 1206 q 473 1142 481 1159 q 452 1114 465 1125 q 422 1097 439 1102 q 385 1092 405 1092 q 348 1097 365 1092 q 318 1114 331 1102 q 298 1142 305 1125 q 291 1182 291 1159 m 564 1182 q 571 1223 564 1206 q 591 1251 578 1240 q 622 1268 604 1263 q 660 1274 639 1274 q 696 1268 679 1274 q 727 1251 713 1263 q 748 1223 740 1240 q 756 1182 756 1206 q 748 1142 756 1159 q 727 1114 740 1125 q 696 1097 713 1102 q 660 1092 679 1092 q 591 1114 619 1092 q 564 1182 564 1136 "},z:{x_min:37,x_max:595,ha:635,o:"m 595 0 l 37 0 l 37 117 l 347 604 l 58 604 l 58 758 l 582 758 l 582 628 l 281 153 l 595 153 l 595 0 "},"™":{x_min:11,x_max:978,ha:1040,o:"m 258 503 l 145 503 l 145 895 l 11 895 l 11 992 l 393 992 l 393 895 l 258 895 l 258 503 m 648 503 l 536 861 l 531 861 q 532 839 532 850 q 533 817 533 827 q 534 799 533 807 q 534 786 534 790 l 534 503 l 424 503 l 424 992 l 591 992 l 699 646 l 815 992 l 978 992 l 978 503 l 864 503 l 864 779 q 864 795 864 785 q 865 818 864 806 q 865 841 865 829 q 866 861 866 853 l 862 861 l 744 503 l 648 503 "},Θ:{x_min:81,x_max:970,ha:1050,o:"m 674 589 l 674 414 l 377 414 l 377 589 l 674 589 m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 "},Ř:{x_min:125,x_max:875.25,ha:875,o:"m 335 545 l 393 545 q 520 581 481 545 q 558 685 558 616 q 517 786 558 756 q 389 817 476 817 l 335 817 l 335 545 m 335 379 l 335 0 l 125 0 l 125 992 l 396 992 q 678 918 587 992 q 769 694 769 844 q 755 601 769 642 q 719 527 741 559 q 666 471 696 495 q 604 430 637 447 q 739 215 679 310 q 789 136 765 175 q 832 67 813 98 q 863 18 851 37 l 875 0 l 641 0 l 427 379 l 335 379 m 704 1274 q 664 1229 687 1255 q 620 1176 642 1203 q 578 1121 598 1148 q 543 1071 558 1094 l 302 1071 q 266 1121 287 1094 q 224 1176 246 1148 q 181 1229 202 1203 q 142 1274 159 1255 l 142 1293 l 279 1293 q 349 1240 314 1270 q 421 1174 384 1211 q 494 1240 456 1211 q 566 1293 531 1270 l 704 1293 l 704 1274 "},Ň:{x_min:125,x_max:963,ha:1088,o:"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 m 816 1274 q 776 1229 799 1255 q 732 1176 754 1203 q 690 1121 710 1148 q 655 1071 670 1094 l 414 1071 q 378 1121 399 1094 q 336 1176 358 1148 q 293 1229 314 1203 q 254 1274 271 1255 l 254 1293 l 391 1293 q 461 1240 426 1270 q 533 1174 496 1211 q 606 1240 568 1211 q 678 1293 643 1270 l 816 1293 l 816 1274 "},É:{x_min:125,x_max:696,ha:778,o:"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 288 1071 l 288 1089 q 318 1134 302 1108 q 350 1187 334 1160 q 380 1242 366 1215 q 406 1293 395 1269 l 638 1293 l 638 1278 q 616 1250 630 1266 q 583 1214 602 1233 q 544 1175 565 1195 q 502 1136 523 1155 q 460 1100 480 1117 q 425 1071 441 1083 l 288 1071 "},и:{x_min:109,x_max:849,ha:958,o:"m 303 758 l 303 463 q 301 401 303 440 q 296 324 299 362 q 288 231 292 280 l 606 758 l 849 758 l 849 0 l 654 0 l 654 296 q 656 364 654 325 q 661 438 659 402 q 668 524 664 480 l 351 0 l 109 0 l 109 758 l 303 758 "},"³":{x_min:40,x_max:470,ha:526,o:"m 451 846 q 423 766 451 800 q 335 712 396 732 l 335 703 q 395 682 370 697 q 437 649 420 668 q 461 608 453 631 q 470 562 470 586 q 410 433 470 480 q 224 386 350 386 q 128 397 173 386 q 40 433 84 409 l 40 562 q 129 518 84 535 q 224 501 174 501 q 298 519 275 501 q 322 573 322 537 q 316 600 322 587 q 298 623 311 613 q 263 639 285 633 q 208 645 241 645 l 132 645 l 132 754 l 193 754 q 249 760 228 754 q 283 776 271 766 q 299 800 295 787 q 303 828 303 814 q 286 871 303 854 q 235 888 269 888 q 175 875 203 888 q 109 834 147 862 l 41 930 q 134 982 83 961 q 255 1004 185 1004 q 333 992 297 1004 q 395 961 369 981 q 436 911 421 940 q 451 846 451 882 "},"[":{x_min:97,x_max:425,ha:460,o:"m 425 -220 l 97 -220 l 97 992 l 425 992 l 425 848 l 276 848 l 276 -76 l 425 -76 l 425 -220 "},ζ:{x_min:69,x_max:650,ha:657,o:"m 650 -25 q 642 -86 650 -55 q 622 -147 634 -117 q 595 -205 610 -177 q 563 -257 579 -233 l 355 -257 q 392 -202 374 -230 q 425 -147 411 -174 q 447 -98 439 -121 q 455 -56 455 -74 q 451 -40 455 -48 q 435 -24 447 -31 q 401 -9 423 -16 q 343 5 379 -2 q 228 41 279 17 q 142 104 177 66 q 87 195 106 142 q 69 315 69 247 q 96 484 69 404 q 172 639 124 565 q 282 781 219 713 q 413 913 344 849 q 385 907 402 909 q 348 904 367 905 q 311 902 329 903 q 282 901 293 901 l 108 901 l 108 1055 l 646 1055 l 646 929 q 504 788 563 853 q 404 665 444 722 q 339 559 363 608 q 301 468 314 510 q 284 391 288 426 q 280 326 280 355 q 292 245 280 275 q 326 196 304 214 q 381 169 349 178 q 452 151 412 159 q 546 121 508 138 q 607 81 583 103 q 640 32 630 59 q 650 -25 650 6 "},"∏":{x_min:113,x_max:917,ha:1030,o:"m 700 -310 l 700 817 l 329 817 l 329 -310 l 113 -310 l 113 992 l 917 992 l 917 -310 l 700 -310 "},Έ:{x_min:-39,x_max:793,ha:875,o:"m 793 0 l 222 0 l 222 992 l 793 992 l 793 817 l 432 817 l 432 602 l 767 602 l 767 427 l 432 427 l 432 174 l 793 174 l 793 0 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 "},Ρ:{x_min:125,x_max:769,ha:831,o:"m 335 526 l 377 526 q 513 561 467 526 q 558 674 558 596 q 517 782 558 747 q 389 817 476 817 l 335 817 l 335 526 m 769 682 q 749 557 769 616 q 684 451 729 497 q 565 379 639 406 q 383 352 492 352 l 335 352 l 335 0 l 125 0 l 125 992 l 400 992 q 565 970 496 992 q 680 909 635 949 q 747 812 725 869 q 769 682 769 754 "},ğ:{x_min:14,x_max:735.140625,ha:766,o:"m 735 757 l 735 644 l 624 610 q 643 562 638 587 q 649 509 649 537 q 630 403 649 451 q 576 322 612 356 q 486 269 540 288 q 360 251 432 251 q 326 252 345 251 q 299 256 308 254 q 279 232 286 244 q 271 201 271 219 q 280 179 271 187 q 303 165 289 170 q 336 158 317 160 q 375 157 355 157 l 493 157 q 591 144 547 157 q 664 106 634 131 q 710 40 694 80 q 727 -54 727 0 q 701 -170 727 -118 q 624 -258 675 -222 q 497 -314 573 -295 q 322 -334 421 -334 q 187 -319 244 -334 q 91 -277 129 -304 q 33 -211 52 -249 q 14 -123 14 -172 q 28 -51 14 -81 q 66 0 42 -20 q 120 36 90 22 q 182 57 150 49 q 154 74 168 63 q 129 99 140 85 q 111 131 118 113 q 104 167 104 148 q 110 206 104 189 q 128 239 116 224 q 159 268 141 254 q 200 296 177 282 q 105 379 140 322 q 71 513 71 436 q 89 622 71 574 q 145 704 108 670 q 236 755 182 737 q 360 773 290 773 q 391 771 374 773 q 424 767 408 769 q 455 762 441 764 q 477 757 469 759 l 735 757 m 193 -107 q 200 -141 193 -125 q 224 -169 207 -157 q 266 -189 240 -181 q 331 -196 293 -196 q 490 -166 437 -196 q 543 -85 543 -135 q 510 -27 543 -42 q 408 -13 477 -13 l 312 -13 q 273 -17 294 -13 q 234 -33 252 -22 q 205 -62 217 -44 q 193 -107 193 -80 m 265 510 q 289 415 265 448 q 360 381 312 381 q 432 415 410 381 q 454 510 454 448 q 432 607 454 571 q 360 643 410 643 q 265 510 265 643 m 592 1071 q 570 978 588 1020 q 522 906 553 936 q 446 858 490 875 q 343 842 401 842 q 239 858 283 842 q 164 904 194 874 q 118 976 134 934 q 100 1071 102 1018 l 215 1071 q 227 1024 218 1041 q 253 998 237 1007 q 292 987 269 989 q 344 985 315 985 q 391 988 369 985 q 430 1000 413 991 q 459 1026 448 1009 q 473 1071 471 1043 l 592 1071 "},ª:{x_min:32,x_max:444,ha:504,o:"m 351 518 l 330 592 q 264 531 303 553 q 181 510 226 510 q 120 519 147 510 q 73 546 92 528 q 42 594 53 565 q 32 661 32 622 q 46 730 32 701 q 88 776 60 758 q 155 803 115 794 q 246 815 195 812 l 307 818 q 287 876 307 859 q 230 894 267 894 q 170 883 203 894 q 102 855 137 872 l 58 947 q 150 986 100 969 q 262 1003 200 1003 q 342 989 308 1003 q 399 952 376 976 q 432 894 421 928 q 444 817 444 859 l 444 518 l 351 518 m 251 732 q 209 723 225 730 q 184 707 193 716 q 172 685 175 697 q 169 661 169 674 q 181 623 169 636 q 213 611 194 611 q 252 619 234 611 q 281 639 269 626 q 300 671 294 653 q 307 712 307 690 l 307 736 l 251 732 "},ї:{x_min:-21,x_max:444,ha:424,o:"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m -21 953 q -13 994 -21 977 q 6 1022 -6 1011 q 36 1039 19 1034 q 73 1045 53 1045 q 110 1039 93 1045 q 140 1022 127 1034 q 161 994 153 1011 q 169 953 169 977 q 161 913 169 930 q 140 885 153 896 q 110 868 127 873 q 73 863 93 863 q 36 868 53 863 q 6 885 19 873 q -13 913 -6 896 q -21 953 -21 930 m 252 953 q 259 994 252 977 q 279 1022 266 1011 q 310 1039 292 1034 q 348 1045 327 1045 q 384 1039 367 1045 q 415 1022 401 1034 q 436 994 428 1011 q 444 953 444 977 q 436 913 444 930 q 415 885 428 896 q 384 868 401 873 q 348 863 367 863 q 279 885 307 863 q 252 953 252 907 "},T:{x_min:28,x_max:735,ha:762,o:"m 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 0 "},š:{x_min:63,x_max:625,ha:668,o:"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 m 625 1045 q 585 1000 608 1026 q 541 947 563 974 q 499 892 519 919 q 464 842 479 865 l 223 842 q 187 892 208 865 q 145 947 167 919 q 102 1000 123 974 q 63 1045 80 1026 l 63 1064 l 200 1064 q 270 1011 235 1041 q 342 945 305 982 q 415 1011 377 982 q 487 1064 452 1041 l 625 1064 l 625 1045 "},є:{x_min:69,x_max:648.703125,ha:693,o:"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 759 482 773 q 648 722 597 746 l 588 575 q 501 607 543 595 q 422 619 459 619 q 324 578 358 619 q 280 451 290 536 l 527 451 l 527 303 l 280 303 q 322 179 288 219 q 419 139 355 139 q 527 154 479 139 q 627 193 576 169 l 627 35 q 532 -1 580 10 q 424 -14 484 -14 "},Þ:{x_min:125,x_max:769,ha:831,o:"m 769 522 q 751 400 769 458 q 694 297 734 342 q 590 225 654 252 q 429 199 525 199 l 335 199 l 335 0 l 125 0 l 125 992 l 335 992 l 335 837 l 444 837 q 589 814 528 837 q 690 751 650 792 q 749 652 730 710 q 769 522 769 594 m 335 365 l 393 365 q 517 402 476 365 q 558 523 558 438 q 522 634 558 598 q 406 670 485 670 l 335 670 l 335 365 "},j:{x_min:-56,x_max:324.5,ha:424,o:"m 68 -334 q 1 -329 36 -334 q -56 -317 -32 -324 l -56 -154 q -16 -164 -34 -161 q 24 -167 1 -167 q 56 -162 41 -167 q 83 -144 72 -157 q 101 -109 94 -131 q 108 -52 108 -87 l 108 758 l 315 758 l 315 -82 q 301 -180 315 -134 q 259 -260 288 -226 q 182 -314 229 -294 q 68 -334 135 -334 m 99 953 q 108 1002 99 983 q 132 1033 116 1021 q 168 1050 147 1045 q 211 1055 188 1055 q 255 1050 234 1055 q 290 1033 275 1045 q 315 1002 306 1021 q 324 953 324 983 q 315 905 324 925 q 290 874 306 885 q 255 857 275 862 q 211 852 234 852 q 168 857 188 852 q 132 874 147 862 q 108 905 116 885 q 99 953 99 925 "},Σ:{x_min:53,x_max:721,ha:768,o:"m 53 0 l 53 165 l 347 519 l 61 831 l 61 992 l 681 992 l 681 819 l 416 819 q 381 821 404 819 q 337 823 358 822 q 282 827 311 825 l 565 521 l 266 165 q 336 169 303 167 q 365 170 350 170 q 394 172 380 171 q 419 173 407 172 q 438 173 430 173 l 721 173 l 721 0 l 53 0 "},ϒ:{x_min:-.25,x_max:817,ha:821,o:"m 404 578 q 436 667 420 622 q 470 752 453 711 q 504 830 487 793 q 539 895 521 866 q 572 941 555 921 q 610 973 589 960 q 657 993 631 987 q 717 1000 683 1000 q 770 995 746 1000 q 817 981 793 991 l 817 825 q 797 830 809 827 q 770 833 784 833 q 750 830 760 833 q 731 820 741 827 q 712 801 722 813 q 689 771 701 789 q 653 707 675 749 q 606 612 631 666 q 556 498 581 559 q 512 376 531 437 l 512 0 l 302 0 l 302 379 l 0 992 l 227 992 l 404 578 "},ℓ:{x_min:27.5625,x_max:645,ha:695,o:"m 420 125 q 478 159 456 125 q 504 265 501 194 l 645 265 q 628 147 642 199 q 585 60 614 96 q 512 6 557 25 q 400 -12 466 -12 q 297 5 343 -12 q 218 55 250 22 q 168 140 185 89 q 151 258 151 191 l 151 344 q 93 328 125 336 q 27 311 62 320 l 27 445 q 91 463 60 453 q 151 482 122 472 l 151 761 q 166 872 151 825 q 213 947 182 918 q 291 990 244 976 q 399 1004 338 1004 q 493 988 451 1004 q 564 944 535 973 q 609 875 593 916 q 625 783 625 834 q 606 664 625 715 q 553 570 588 612 q 465 493 517 528 q 345 425 413 459 l 345 251 q 349 200 345 223 q 362 160 354 177 q 385 134 371 144 q 420 125 400 125 m 446 779 q 435 849 446 824 q 397 874 423 874 q 356 848 367 874 q 345 779 345 822 l 345 572 q 422 653 399 600 q 446 779 446 705 "},ĉ:{x_min:69,x_max:677,ha:693,o:"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 m 539 842 q 467 894 504 864 q 394 960 429 923 q 322 894 357 923 q 252 842 287 864 l 115 842 l 115 860 q 154 905 132 879 q 197 958 175 931 q 239 1013 219 986 q 275 1064 260 1040 l 516 1064 q 551 1013 531 1040 q 593 958 571 986 q 637 905 615 931 q 677 860 660 879 l 677 842 l 539 842 "},ī:{x_min:4,x_max:422,ha:424,o:"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 4 985 l 422 985 l 422 842 l 4 842 l 4 985 "},О:{x_min:81,x_max:970,ha:1050,o:"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 "},ξ:{x_min:69,x_max:650,ha:657,o:"m 69 297 q 82 382 69 344 q 122 453 96 421 q 182 509 147 484 q 260 550 218 533 l 260 557 q 150 616 189 573 q 112 727 112 658 q 123 792 112 764 q 158 843 135 821 q 220 882 182 865 q 308 910 257 898 q 227 906 265 908 q 196 904 212 905 q 166 903 180 903 q 140 902 151 902 q 123 901 129 901 l 108 901 l 108 1055 l 613 1055 l 613 910 l 568 910 q 474 899 519 910 q 394 867 428 888 q 339 814 359 846 q 318 739 318 782 q 326 688 318 710 q 352 650 333 665 q 402 627 371 635 q 480 620 433 620 l 577 620 l 577 482 l 475 482 q 326 439 372 482 q 280 310 280 396 q 292 239 280 266 q 326 195 304 212 q 381 169 349 178 q 452 151 412 159 q 546 121 508 138 q 607 81 583 103 q 640 32 630 59 q 650 -25 650 5 q 642 -86 650 -55 q 622 -147 634 -117 q 595 -205 610 -177 q 563 -257 579 -233 l 355 -257 q 392 -202 374 -230 q 425 -147 411 -174 q 447 -98 439 -121 q 455 -57 455 -74 q 451 -40 455 -48 q 435 -24 447 -31 q 401 -9 423 -16 q 343 5 379 -1 q 228 41 279 17 q 142 101 177 65 q 87 186 106 138 q 69 297 69 235 "},Ď:{x_min:125,x_max:892,ha:973,o:"m 892 505 q 857 285 892 379 q 758 127 823 190 q 600 31 693 63 q 386 0 506 0 l 125 0 l 125 992 l 415 992 q 612 960 524 992 q 762 868 700 929 q 858 715 824 806 q 892 505 892 624 m 681 499 q 665 641 681 581 q 616 740 648 701 q 538 798 584 779 q 432 817 492 817 l 335 817 l 335 174 l 413 174 q 614 255 547 174 q 681 499 681 336 m 739 1274 q 699 1229 722 1255 q 655 1176 677 1203 q 613 1121 633 1148 q 578 1071 593 1094 l 337 1071 q 301 1121 322 1094 q 259 1176 281 1148 q 216 1229 237 1203 q 177 1274 194 1255 l 177 1293 l 314 1293 q 384 1240 349 1270 q 456 1174 419 1211 q 529 1240 491 1211 q 601 1293 566 1270 l 739 1293 l 739 1274 "},"&":{x_min:56,x_max:1e3,ha:1003,o:"m 1000 0 l 744 0 l 678 67 q 559 8 624 30 q 415 -14 493 -14 q 267 6 333 -14 q 154 63 201 26 q 81 152 107 100 q 56 267 56 204 q 68 361 56 320 q 104 435 81 402 q 160 495 127 468 q 233 547 193 523 q 190 607 208 578 q 161 664 172 636 q 145 720 150 692 q 141 779 141 748 q 161 874 141 832 q 219 945 182 915 q 307 990 256 974 q 419 1006 358 1006 q 527 991 477 1006 q 611 950 576 977 q 667 882 647 922 q 688 790 688 841 q 672 704 688 743 q 632 632 657 665 q 572 571 607 598 q 498 519 538 543 l 673 337 q 716 432 697 382 q 747 532 734 481 l 959 532 q 935 450 948 493 q 903 364 921 407 q 861 278 885 321 q 809 197 838 236 l 1000 0 m 267 287 q 278 233 267 257 q 309 193 289 209 q 355 168 329 177 q 413 159 382 159 q 490 170 455 159 q 555 200 525 180 l 346 423 q 288 362 308 395 q 267 287 267 330 m 493 762 q 486 798 493 783 q 469 822 480 812 q 445 836 458 831 q 418 840 432 840 q 389 836 404 840 q 362 823 374 832 q 343 798 350 814 q 335 761 335 783 q 351 694 335 725 q 393 632 366 663 q 468 691 442 662 q 493 762 493 721 "},G:{x_min:81,x_max:895,ha:1006,o:"m 502 557 l 895 557 l 895 42 q 815 18 855 29 q 732 1 775 8 q 642 -9 689 -5 q 542 -14 595 -14 q 345 18 431 -14 q 200 116 259 51 q 111 276 142 181 q 81 497 81 372 q 114 708 81 613 q 214 868 148 802 q 377 970 281 934 q 599 1006 474 1006 q 754 989 678 1006 q 893 944 830 972 l 823 776 q 719 815 777 799 q 597 831 661 831 q 473 806 528 831 q 378 738 418 782 q 318 632 339 694 q 297 492 297 569 q 311 358 297 419 q 357 253 326 298 q 438 185 388 209 q 555 160 487 160 q 631 165 600 160 q 689 174 662 169 l 689 382 l 502 382 l 502 557 "},ΰ:{x_min:97,x_max:780,ha:861,o:"m 426 -12 q 266 15 330 -12 q 165 91 202 42 q 112 205 127 139 q 97 345 97 270 l 97 758 l 303 758 l 303 340 q 335 197 303 241 q 432 154 366 154 q 493 168 467 154 q 537 213 520 182 q 564 295 555 244 q 573 417 573 345 q 569 503 573 461 q 559 586 566 545 q 544 670 553 628 q 524 758 535 712 l 732 758 q 752 670 744 712 q 767 587 761 629 q 776 502 773 545 q 780 410 780 459 q 757 221 780 301 q 689 90 734 141 q 579 13 645 38 q 426 -12 513 -12 m 151 953 q 173 1023 151 1001 q 231 1044 195 1044 q 290 1023 267 1044 q 313 953 313 1001 q 290 885 313 907 q 231 863 267 863 q 173 885 195 863 q 151 953 151 907 m 537 953 q 559 1023 537 1001 q 618 1044 581 1044 q 677 1023 654 1044 q 700 953 700 1001 q 677 885 700 907 q 618 863 654 863 q 559 885 581 863 q 537 953 537 907 m 355 959 q 367 1006 361 980 q 379 1059 373 1032 q 389 1114 385 1087 q 397 1164 394 1141 l 575 1164 l 575 1150 q 520 1050 553 1104 q 448 942 487 996 l 355 942 l 355 959 "},"`":{x_min:225,x_max:575,ha:802,o:"m 437 842 q 382 889 414 860 q 318 946 349 917 q 261 1004 287 976 q 225 1049 235 1031 l 225 1064 l 456 1064 q 482 1013 467 1040 q 512 958 496 986 q 544 905 528 931 q 575 860 560 879 l 575 842 l 437 842 "},ŏ:{x_min:69,x_max:762,ha:832,o:"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 660 1071 q 638 978 656 1020 q 590 906 621 936 q 514 858 558 875 q 411 842 469 842 q 307 858 351 842 q 232 904 262 874 q 186 976 202 934 q 168 1071 170 1018 l 283 1071 q 295 1024 286 1041 q 321 998 305 1007 q 360 987 337 989 q 412 985 383 985 q 459 988 437 985 q 498 1000 481 991 q 527 1026 516 1009 q 541 1071 539 1043 l 660 1071 "},ý:{x_min:-.25,x_max:749.25,ha:749,o:"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 m 267 842 l 267 860 q 297 905 281 879 q 329 958 313 931 q 359 1013 345 986 q 385 1064 374 1040 l 617 1064 l 617 1049 q 595 1021 609 1037 q 562 985 581 1004 q 523 946 544 966 q 481 907 502 926 q 439 871 459 888 q 404 842 420 854 l 267 842 "},º:{x_min:39,x_max:472,ha:511,o:"m 472 756 q 456 652 472 697 q 413 574 441 606 q 344 526 384 543 q 254 510 304 510 q 168 526 207 510 q 99 574 128 543 q 54 652 70 606 q 39 756 39 697 q 54 861 39 815 q 97 938 69 907 q 166 986 125 970 q 257 1003 206 1003 q 342 986 303 1003 q 410 938 381 970 q 455 861 439 907 q 472 756 472 815 m 176 757 q 194 653 176 688 q 256 618 213 618 q 316 653 297 618 q 335 757 335 688 q 316 860 335 826 q 256 894 297 894 q 194 860 213 894 q 176 757 176 826 "},"∞":{x_min:77,x_max:905,ha:982,o:"m 905 486 q 889 398 905 440 q 845 325 873 357 q 777 275 816 294 q 690 256 738 256 q 580 286 630 256 q 487 376 530 315 q 397 292 447 324 q 294 261 348 261 q 207 277 247 261 q 137 323 167 293 q 92 395 108 353 q 77 490 77 437 q 92 579 77 537 q 136 651 108 620 q 205 700 165 682 q 294 718 245 718 q 399 690 350 718 q 491 600 449 663 q 580 684 531 654 q 690 715 628 715 q 777 698 738 715 q 845 652 816 682 q 889 580 873 622 q 905 486 905 537 m 307 400 q 362 422 336 400 q 413 490 388 444 q 363 556 389 534 q 305 578 337 578 q 272 571 287 578 q 247 551 257 564 q 230 523 236 539 q 225 488 225 507 q 230 455 225 471 q 245 427 235 439 q 271 407 255 415 q 307 400 286 400 m 675 574 q 566 487 619 574 q 618 420 591 444 q 676 396 646 396 q 709 403 694 396 q 734 422 724 410 q 750 451 744 435 q 756 486 756 468 q 750 521 756 505 q 734 549 744 537 q 708 567 723 561 q 675 574 693 574 "},ź:{x_min:37,x_max:595,ha:635,o:"m 595 0 l 37 0 l 37 117 l 347 604 l 58 604 l 58 758 l 582 758 l 582 628 l 281 153 l 595 153 l 595 0 m 212 842 l 212 860 q 242 905 226 879 q 274 958 258 931 q 304 1013 290 986 q 330 1064 319 1040 l 562 1064 l 562 1049 q 540 1021 554 1037 q 507 985 526 1004 q 468 946 489 966 q 426 907 447 926 q 384 871 404 888 q 349 842 365 854 l 212 842 "},я:{x_min:-.25,x_max:673,ha:782,o:"m 223 0 l 0 0 l 196 305 q 141 337 166 317 q 96 384 115 357 q 66 446 77 411 q 56 524 56 481 q 76 624 56 580 q 135 697 97 668 q 226 742 173 727 q 343 758 279 758 l 673 758 l 673 0 l 466 0 l 466 283 l 385 283 l 223 0 m 262 521 q 293 447 262 473 q 372 421 323 421 l 466 421 l 466 610 l 350 610 q 311 603 328 610 q 284 584 295 596 q 268 555 273 571 q 262 521 262 539 "},Ё:{x_min:125,x_max:696,ha:778,o:"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 186 1182 q 193 1223 186 1206 q 213 1251 200 1240 q 243 1268 226 1263 q 280 1274 260 1274 q 317 1268 300 1274 q 347 1251 334 1263 q 368 1223 360 1240 q 376 1182 376 1206 q 368 1142 376 1159 q 347 1114 360 1125 q 317 1097 334 1102 q 280 1092 300 1092 q 243 1097 260 1092 q 213 1114 226 1102 q 193 1142 200 1125 q 186 1182 186 1159 m 459 1182 q 466 1223 459 1206 q 486 1251 473 1240 q 517 1268 499 1263 q 555 1274 534 1274 q 591 1268 574 1274 q 622 1251 608 1263 q 643 1223 635 1240 q 651 1182 651 1206 q 643 1142 651 1159 q 622 1114 635 1125 q 591 1097 608 1102 q 555 1092 574 1092 q 486 1114 514 1092 q 459 1182 459 1136 "},ń:{x_min:109,x_max:767,ha:871,o:"m 767 0 l 560 0 l 560 442 q 535 565 560 524 q 456 606 510 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 m 320 842 l 320 860 q 350 905 334 879 q 382 958 366 931 q 412 1013 398 986 q 438 1064 427 1040 l 670 1064 l 670 1049 q 648 1021 662 1037 q 615 985 634 1004 q 576 946 597 966 q 534 907 555 926 q 492 871 512 888 q 457 842 473 854 l 320 842 "}," ":{x_min:0,x_max:0,ha:347},Г:{x_min:125,x_max:696,ha:724,o:"m 696 992 l 696 817 l 335 817 l 335 0 l 125 0 l 125 992 l 696 992 "},Ь:{x_min:125,x_max:769,ha:831,o:"m 769 310 q 746 179 769 237 q 678 81 724 121 q 560 21 631 42 q 390 0 489 0 l 125 0 l 125 992 l 335 992 l 335 613 l 408 613 q 569 590 501 613 q 681 527 637 568 q 747 432 726 487 q 769 310 769 376 m 335 174 l 393 174 q 462 182 431 174 q 514 205 492 189 q 547 247 536 221 q 558 310 558 273 q 546 374 558 349 q 510 413 534 399 q 453 432 487 427 q 378 438 420 438 l 335 438 l 335 174 "},"¤":{x_min:62,x_max:703,ha:765,o:"m 114 490 q 123 561 114 527 q 149 624 133 594 l 62 710 l 162 810 l 249 724 q 312 750 278 741 q 381 760 347 760 q 451 750 418 760 q 515 722 483 741 l 601 810 l 703 713 l 615 625 q 642 562 632 597 q 652 490 652 527 q 642 419 652 452 q 615 355 633 386 l 700 271 l 601 173 l 515 257 q 452 232 485 241 q 381 223 418 223 q 310 231 344 223 q 247 257 276 239 l 162 174 l 63 272 l 149 357 q 114 490 114 418 m 262 490 q 272 440 262 464 q 297 399 281 417 q 335 372 313 382 q 381 362 356 362 q 428 372 406 362 q 467 399 450 382 q 493 440 484 417 q 503 490 503 464 q 493 541 503 518 q 467 582 484 565 q 428 610 450 599 q 381 620 406 620 q 335 610 356 620 q 297 582 313 599 q 272 541 281 565 q 262 490 262 518 "},Ĝ:{x_min:81,x_max:895,ha:1006,o:"m 502 557 l 895 557 l 895 42 q 815 18 855 29 q 732 1 775 8 q 642 -9 689 -5 q 542 -14 595 -14 q 345 18 431 -14 q 200 116 259 51 q 111 276 142 181 q 81 497 81 372 q 114 708 81 613 q 214 868 148 802 q 377 970 281 934 q 599 1006 474 1006 q 754 989 678 1006 q 893 944 830 972 l 823 776 q 719 815 777 799 q 597 831 661 831 q 473 806 528 831 q 378 738 418 782 q 318 632 339 694 q 297 492 297 569 q 311 358 297 419 q 357 253 326 298 q 438 185 388 209 q 555 160 487 160 q 631 165 600 160 q 689 174 662 169 l 689 382 l 502 382 l 502 557 m 690 1071 q 618 1123 655 1093 q 545 1189 580 1152 q 473 1123 508 1152 q 403 1071 438 1093 l 266 1071 l 266 1089 q 305 1134 283 1108 q 348 1187 326 1160 q 390 1242 370 1215 q 426 1293 411 1269 l 667 1293 q 702 1242 682 1269 q 744 1187 722 1215 q 788 1134 766 1160 q 828 1089 811 1108 l 828 1071 l 690 1071 "},p:{x_min:109,x_max:775,ha:844,o:"m 507 -14 q 440 -5 470 -14 q 388 15 411 2 q 347 45 365 28 q 315 81 330 62 l 305 81 q 310 37 307 57 q 314 0 312 19 q 315 -27 315 -17 l 315 -334 l 109 -334 l 109 758 l 277 758 l 306 659 l 315 659 q 348 703 330 682 q 390 739 366 723 q 445 763 414 754 q 512 773 475 773 q 619 747 571 773 q 702 673 668 722 q 756 550 737 623 q 775 380 775 476 q 755 209 775 283 q 700 86 735 136 q 615 11 664 36 q 507 -14 566 -14 m 443 606 q 384 594 408 606 q 345 556 360 581 q 323 492 330 531 q 315 403 317 454 l 315 380 q 322 282 315 325 q 343 211 328 239 q 383 167 358 182 q 444 152 407 152 q 534 211 505 152 q 563 382 563 269 q 534 550 563 494 q 443 606 505 606 "},Ю:{x_min:125,x_max:1350,ha:1430,o:"m 1350 496 q 1324 287 1350 382 q 1248 126 1299 193 q 1118 22 1196 59 q 932 -14 1040 -14 q 760 17 834 -14 q 634 105 686 48 q 554 245 583 163 q 518 427 525 326 l 335 427 l 335 0 l 125 0 l 125 992 l 335 992 l 335 602 l 522 602 q 562 769 532 695 q 644 897 593 844 q 767 978 694 949 q 934 1007 840 1007 q 1119 970 1040 1007 q 1248 867 1197 934 q 1324 706 1299 800 q 1350 496 1350 612 m 734 496 q 746 355 734 417 q 782 250 758 293 q 845 184 807 207 q 934 160 882 160 q 1024 184 986 160 q 1086 250 1061 207 q 1122 355 1110 293 q 1133 496 1133 417 q 1122 636 1133 574 q 1086 742 1110 698 q 1025 808 1062 785 q 935 832 987 832 q 846 808 883 832 q 783 742 808 785 q 746 636 758 698 q 734 496 734 574 "},ο:{x_min:69,x_max:762,ha:832,o:"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 "},S:{x_min:63.46875,x_max:668,ha:728,o:"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 "},"/":{x_min:9.75,x_max:567.25,ha:574,o:"m 567 992 l 197 0 l 9 0 l 379 992 l 567 992 "},Ŧ:{x_min:28,x_max:735,ha:762,o:"m 487 0 l 277 0 l 277 404 l 116 404 l 116 576 l 277 576 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 576 l 648 576 l 648 404 l 487 404 l 487 0 "},ђ:{x_min:3,x_max:767,ha:871,o:"m 521 -334 q 454 -329 488 -334 q 396 -317 419 -324 l 396 -154 q 435 -164 417 -161 q 476 -167 453 -167 q 509 -162 494 -167 q 535 -144 524 -157 q 553 -109 547 -131 q 560 -52 560 -87 l 560 414 q 533 526 560 489 q 456 563 506 563 q 389 547 416 563 q 345 498 362 530 q 322 420 329 467 q 315 314 315 374 l 315 0 l 109 0 l 109 808 l 3 808 l 3 946 l 109 946 l 109 1055 l 315 1055 l 315 946 l 529 946 l 529 808 l 315 808 l 315 796 q 314 736 315 768 q 311 679 313 705 l 306 618 l 317 618 q 402 703 350 677 q 518 730 453 730 q 620 714 575 730 q 699 664 666 698 q 749 577 731 630 q 767 452 767 525 l 767 -82 q 753 -180 767 -134 q 711 -260 740 -226 q 634 -314 681 -294 q 521 -334 587 -334 "},y:{x_min:-.25,x_max:749.25,ha:749,o:"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 "},Π:{x_min:125,x_max:854,ha:979,o:"m 854 0 l 643 0 l 643 817 l 335 817 l 335 0 l 125 0 l 125 992 l 854 992 l 854 0 "},"‗":{x_min:-3,x_max:574,ha:571,o:"m 574 -314 l -3 -314 l -3 -219 l 574 -219 l 574 -314 m 574 -125 l -3 -125 l -3 -31 l 574 -31 l 574 -125 "},"–":{x_min:56,x_max:639,ha:695,o:"m 56 296 l 56 452 l 639 452 l 639 296 l 56 296 "},ë:{x_min:69,x_max:741,ha:807,o:"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 181 953 q 188 994 181 977 q 208 1022 195 1011 q 238 1039 221 1034 q 275 1045 255 1045 q 312 1039 295 1045 q 342 1022 329 1034 q 363 994 355 1011 q 371 953 371 977 q 363 913 371 930 q 342 885 355 896 q 312 868 329 873 q 275 863 295 863 q 238 868 255 863 q 208 885 221 873 q 188 913 195 896 q 181 953 181 930 m 454 953 q 461 994 454 977 q 481 1022 468 1011 q 512 1039 494 1034 q 550 1045 529 1045 q 586 1039 569 1045 q 617 1022 603 1034 q 638 994 630 1011 q 646 953 646 977 q 638 913 646 930 q 617 885 630 896 q 586 868 603 873 q 550 863 569 863 q 481 885 509 863 q 454 953 454 907 "},б:{x_min:69,x_max:766,ha:851,o:"m 69 454 q 90 677 69 579 q 158 844 111 774 q 278 959 205 915 q 455 1022 351 1003 q 595 1045 524 1035 q 742 1067 666 1056 l 766 886 q 694 876 732 882 q 617 865 656 871 q 542 853 578 859 q 477 843 507 847 q 394 821 429 835 q 334 779 358 807 q 296 706 309 752 q 280 590 284 661 l 288 590 q 318 630 300 610 q 362 667 336 651 q 421 695 388 684 q 494 706 454 706 q 607 684 556 706 q 692 622 657 663 q 747 519 728 581 q 766 374 766 457 q 740 204 766 277 q 669 83 715 131 q 558 10 622 34 q 416 -14 494 -14 q 272 16 336 -14 q 163 106 208 47 q 93 253 118 166 q 69 454 69 340 m 427 152 q 479 162 455 152 q 519 196 502 173 q 545 259 536 220 q 554 355 554 298 q 547 437 554 400 q 528 499 541 473 q 492 538 514 524 q 439 552 470 552 q 384 539 410 552 q 337 508 358 526 q 301 470 316 490 q 280 435 286 450 q 287 331 280 382 q 311 240 294 279 q 356 176 327 200 q 427 152 384 152 "},ƒ:{x_min:120,x_max:714,ha:765,o:"m 491 -81 q 478 -180 491 -134 q 435 -260 465 -225 q 359 -314 406 -294 q 245 -334 312 -334 q 177 -329 212 -334 q 120 -317 143 -324 l 120 -154 q 159 -164 140 -161 q 200 -167 177 -167 q 232 -162 217 -167 q 259 -143 247 -156 q 278 -108 271 -130 q 285 -51 285 -86 l 285 547 l 171 547 l 171 646 l 285 701 l 285 756 q 302 877 285 829 q 352 953 320 925 q 431 994 385 982 q 535 1006 478 1006 q 641 996 598 1006 q 714 974 684 986 l 665 822 q 621 835 644 829 q 567 841 598 841 q 509 815 526 841 q 493 748 493 789 l 493 701 l 647 701 l 647 547 l 493 547 l 491 -81 "},у:{x_min:-.25,x_max:749.25,ha:749,o:"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 "},J:{x_min:-135,x_max:335,ha:460,o:"m -1 -292 q -78 -287 -45 -292 q -135 -277 -111 -283 l -135 -103 q -82 -112 -109 -108 q -22 -117 -54 -117 q 35 -110 8 -117 q 82 -86 62 -103 q 113 -42 102 -70 q 124 27 124 -14 l 124 992 l 335 992 l 335 35 q 310 -111 335 -49 q 241 -213 285 -173 q 134 -273 196 -254 q -1 -292 73 -292 "},ŷ:{x_min:-.25,x_max:749.25,ha:749,o:"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 m 519 842 q 447 894 484 864 q 374 960 409 923 q 302 894 337 923 q 232 842 267 864 l 95 842 l 95 860 q 134 905 112 879 q 177 958 155 931 q 219 1013 199 986 q 255 1064 240 1040 l 496 1064 q 531 1013 511 1040 q 573 958 551 986 q 617 905 595 931 q 657 860 640 879 l 657 842 l 519 842 "},ŕ:{x_min:109,x_max:580,ha:603,o:"m 504 773 q 522 772 512 773 q 541 771 532 772 q 558 769 550 770 q 570 766 565 768 l 570 572 q 555 575 564 574 q 535 578 545 576 q 514 579 524 579 q 497 579 504 579 q 423 569 457 579 q 366 536 390 559 q 329 476 342 513 q 315 386 315 439 l 315 0 l 109 0 l 109 758 l 265 758 l 296 644 l 306 644 q 341 697 322 673 q 383 738 360 721 q 436 763 407 754 q 504 773 466 773 m 230 842 l 230 860 q 260 905 244 879 q 292 958 276 931 q 322 1013 308 986 q 348 1064 337 1040 l 580 1064 l 580 1049 q 558 1021 572 1037 q 525 985 544 1004 q 486 946 507 966 q 444 907 465 926 q 402 871 422 888 q 367 842 383 854 l 230 842 "},ώ:{x_min:81,x_max:1091,ha:1171,o:"m 798 -14 q 722 -3 755 -14 q 663 25 689 6 q 620 72 638 45 q 589 133 602 100 l 582 133 q 551 72 570 100 q 508 25 533 45 q 450 -3 483 6 q 374 -14 416 -14 q 245 14 300 -14 q 154 92 190 42 q 99 213 117 143 q 81 367 81 283 q 85 472 81 423 q 99 568 90 521 q 124 662 109 615 q 158 758 138 708 l 360 758 q 296 573 316 666 q 275 378 275 480 q 282 286 275 327 q 303 215 289 244 q 340 168 317 185 q 393 152 362 152 q 439 163 421 152 q 468 195 458 174 q 484 248 479 217 q 489 319 489 279 l 489 517 l 683 517 l 683 319 q 688 248 683 279 q 703 195 692 217 q 733 163 714 174 q 779 152 751 152 q 832 168 810 152 q 868 214 854 185 q 889 285 883 244 q 896 375 896 326 q 876 572 896 477 q 811 758 855 666 l 1012 758 q 1047 662 1032 708 q 1072 568 1062 615 q 1086 472 1082 521 q 1091 367 1091 423 q 1072 213 1091 283 q 1017 92 1053 143 q 925 14 980 42 q 798 -14 870 -14 m 521 860 q 533 906 527 880 q 544 960 539 932 q 555 1014 550 987 q 562 1064 559 1041 l 754 1064 l 754 1049 q 705 950 733 1003 q 641 842 677 897 l 521 842 l 521 860 "},"˘":{x_min:154,x_max:646,ha:802,o:"m 646 1071 q 624 978 642 1020 q 576 906 607 936 q 500 858 544 875 q 397 842 455 842 q 293 858 337 842 q 218 904 248 874 q 172 976 188 934 q 154 1071 156 1018 l 269 1071 q 281 1024 272 1041 q 307 998 291 1007 q 346 987 323 989 q 398 985 369 985 q 445 988 423 985 q 484 1000 467 991 q 513 1026 502 1009 q 527 1071 525 1043 l 646 1071 "},D:{x_min:125,x_max:892,ha:973,o:"m 892 505 q 857 285 892 379 q 758 127 823 190 q 600 31 693 63 q 386 0 506 0 l 125 0 l 125 992 l 415 992 q 612 960 524 992 q 762 868 700 929 q 858 715 824 806 q 892 505 892 624 m 681 499 q 665 641 681 581 q 616 740 648 701 q 538 798 584 779 q 432 817 492 817 l 335 817 l 335 174 l 413 174 q 614 255 547 174 q 681 499 681 336 "},ł:{x_min:.203125,x_max:458.6875,ha:458,o:"m 331 630 l 379 659 l 458 526 l 331 450 l 331 0 l 125 0 l 125 323 l 76 294 l 0 427 l 125 503 l 125 1055 l 331 1055 l 331 630 "},ĺ:{x_min:109,x_max:472,ha:424,o:"m 315 0 l 109 0 l 109 1055 l 315 1055 l 315 0 m 122 1110 l 122 1128 q 152 1173 136 1147 q 184 1226 168 1199 q 214 1281 200 1254 q 240 1332 229 1308 l 472 1332 l 472 1317 q 450 1289 464 1305 q 417 1253 436 1272 q 378 1214 399 1234 q 336 1175 357 1194 q 294 1139 314 1156 q 259 1110 275 1122 l 122 1110 "},ц:{x_min:109,x_max:894,ha:914,o:"m 783 151 l 894 151 l 894 -272 l 715 -272 l 715 0 l 109 0 l 109 758 l 315 758 l 315 155 l 576 155 l 576 758 l 783 758 l 783 151 "},Л:{x_min:11,x_max:854,ha:979,o:"m 854 0 l 643 0 l 643 817 l 470 817 q 452 677 462 753 q 432 525 443 601 q 411 380 422 449 q 389 258 400 310 q 355 142 375 193 q 303 56 334 91 q 225 3 271 21 q 114 -14 179 -14 q 59 -10 85 -14 q 11 1 33 -6 l 11 174 q 46 164 28 168 q 84 160 63 160 q 119 170 104 160 q 146 203 134 179 q 169 264 159 226 q 190 361 179 303 q 206 457 196 395 q 229 603 217 520 q 256 785 242 686 q 283 992 270 884 l 854 992 l 854 0 "},$:{x_min:66,x_max:720,ha:765,o:"m 720 310 q 702 216 720 259 q 648 140 684 172 q 559 86 612 107 q 437 58 507 65 l 437 -80 l 345 -80 l 345 56 q 261 61 300 57 q 190 72 223 65 q 126 90 157 80 q 67 114 96 101 l 67 293 q 129 266 95 279 q 199 242 163 253 q 272 224 235 232 q 345 215 309 217 l 345 430 q 333 435 339 432 q 322 439 327 437 q 313 443 317 441 q 204 492 251 466 q 127 550 158 518 q 81 620 96 582 q 66 708 66 659 q 85 800 66 759 q 140 873 104 842 q 228 923 176 904 q 345 948 280 942 l 345 1055 l 437 1055 l 437 953 q 558 936 496 949 q 688 893 620 922 l 619 734 q 527 766 575 752 q 437 783 479 780 l 437 584 l 464 575 q 576 526 528 551 q 656 470 625 501 q 704 400 688 439 q 720 310 720 361 m 515 306 q 511 334 515 322 q 497 357 507 346 q 473 375 488 367 q 437 393 458 384 l 437 222 q 496 249 477 228 q 515 306 515 269 m 270 712 q 288 659 270 681 q 345 624 305 638 l 345 782 q 289 761 307 778 q 270 712 270 745 "},w:{x_min:-.25,x_max:1120.25,ha:1120,o:"m 688 0 l 629 265 q 622 297 626 276 q 612 346 618 319 q 601 403 607 372 q 589 463 595 433 q 559 613 575 532 l 555 613 q 527 462 539 532 q 515 402 521 432 q 504 344 510 371 q 494 296 499 317 q 487 262 490 274 l 426 0 l 204 0 l 0 758 l 205 758 l 282 422 q 294 359 288 395 q 306 284 301 322 q 317 213 312 246 q 324 160 322 179 l 328 160 q 331 193 329 172 q 337 237 334 214 q 344 286 341 261 q 352 332 348 311 q 359 371 356 354 q 364 394 362 387 l 447 758 l 674 758 l 754 394 q 763 348 757 379 q 774 281 768 317 q 784 212 780 246 q 789 160 788 178 l 793 160 q 800 210 795 176 q 811 281 805 243 q 824 357 817 320 q 837 422 831 395 l 917 758 l 1120 758 l 913 0 l 688 0 "},о:{x_min:69,x_max:762,ha:832,o:"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 "},Д:{x_min:7,x_max:978,ha:1006,o:"m 7 174 l 84 174 q 158 338 122 252 q 226 523 195 424 q 281 738 256 622 q 324 992 307 854 l 846 992 l 846 174 l 978 174 l 978 -289 l 772 -289 l 772 0 l 212 0 l 212 -289 l 7 -289 l 7 174 m 490 817 q 463 663 480 745 q 421 497 445 581 q 367 331 397 413 q 305 174 338 248 l 635 174 l 635 817 l 490 817 "},Ç:{x_min:81,x_max:836.296875,ha:885,o:"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 m 628 -169 q 617 -239 628 -208 q 582 -290 606 -269 q 517 -322 558 -311 q 418 -334 477 -334 q 363 -329 387 -334 q 319 -319 338 -325 l 319 -205 q 341 -210 329 -208 q 367 -215 354 -213 q 393 -218 380 -217 q 416 -220 406 -220 q 450 -210 435 -220 q 465 -178 465 -201 q 440 -133 465 -153 q 352 -105 414 -114 l 405 0 l 536 0 l 517 -41 q 558 -59 538 -48 q 593 -87 578 -71 q 618 -124 608 -103 q 628 -169 628 -144 "},Ŝ:{x_min:63.46875,x_max:668,ha:728,o:"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 m 530 1071 q 458 1123 495 1093 q 385 1189 420 1152 q 313 1123 348 1152 q 243 1071 278 1093 l 106 1071 l 106 1089 q 145 1134 123 1108 q 188 1187 166 1160 q 230 1242 210 1215 q 266 1293 251 1269 l 507 1293 q 542 1242 522 1269 q 584 1187 562 1215 q 628 1134 606 1160 q 668 1089 651 1108 l 668 1071 l 530 1071 "},C:{x_min:81,x_max:836.296875,ha:885,o:"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 "},Ḁ:{x_min:-.25,x_max:903.25,ha:903,o:"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 622 -244 q 608 -312 622 -282 q 572 -363 595 -342 q 517 -395 548 -384 q 449 -407 486 -407 q 381 -395 412 -407 q 328 -363 350 -384 q 294 -313 306 -343 q 282 -245 282 -283 q 294 -178 282 -208 q 328 -128 306 -148 q 381 -96 350 -107 q 449 -85 412 -85 q 517 -96 485 -85 q 571 -128 548 -107 q 608 -178 594 -148 q 622 -244 622 -207 m 516 -245 q 498 -197 516 -215 q 452 -180 480 -180 q 405 -197 423 -180 q 387 -245 387 -215 q 403 -293 387 -276 q 452 -311 419 -311 q 498 -293 480 -311 q 516 -245 516 -276 "},Ĵ:{x_min:-135,x_max:508,ha:460,o:"m -1 -292 q -78 -287 -45 -292 q -135 -277 -111 -283 l -135 -103 q -82 -112 -109 -108 q -22 -117 -54 -117 q 35 -110 8 -117 q 82 -86 62 -103 q 113 -42 102 -70 q 124 27 124 -14 l 124 992 l 335 992 l 335 35 q 310 -111 335 -49 q 241 -213 285 -173 q 134 -273 196 -254 q -1 -292 73 -292 m 370 1071 q 298 1123 335 1093 q 225 1189 260 1152 q 153 1123 188 1152 q 83 1071 118 1093 l -54 1071 l -54 1089 q -14 1134 -36 1108 q 28 1187 6 1160 q 70 1242 50 1215 q 106 1293 91 1269 l 347 1293 q 382 1242 362 1269 q 424 1187 402 1215 q 468 1134 446 1160 q 508 1089 491 1108 l 508 1071 l 370 1071 "},È:{x_min:125,x_max:696,ha:778,o:"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 388 1071 q 333 1118 365 1089 q 269 1175 300 1146 q 212 1233 238 1205 q 176 1278 186 1260 l 176 1293 l 407 1293 q 433 1242 418 1269 q 463 1187 447 1215 q 495 1134 479 1160 q 526 1089 511 1108 l 526 1071 l 388 1071 "},fi:{x_min:28,x_max:863.359375,ha:961,o:"m 503 604 l 348 604 l 348 0 l 142 0 l 142 604 l 28 604 l 28 703 l 142 758 l 142 813 q 159 934 142 886 q 209 1010 177 982 q 288 1051 242 1039 q 392 1063 334 1063 q 497 1053 454 1063 q 570 1030 540 1043 l 521 877 q 477 890 500 884 q 422 896 454 896 q 365 871 382 896 q 348 804 348 845 l 348 758 l 503 758 l 503 604 m 638 953 q 647 1002 638 983 q 671 1033 655 1021 q 707 1050 686 1045 q 750 1055 727 1055 q 794 1050 773 1055 q 829 1033 814 1045 q 854 1002 845 1021 q 863 953 863 983 q 854 905 863 925 q 829 874 845 885 q 794 857 814 862 q 750 852 773 852 q 707 857 727 852 q 671 874 686 862 q 647 905 655 885 q 638 953 638 925 m 853 0 l 647 0 l 647 758 l 853 758 l 853 0 "},X:{x_min:-.25,x_max:871.25,ha:871,o:"m 871 0 l 631 0 l 428 375 l 224 0 l 0 0 l 301 511 l 20 992 l 252 992 l 438 635 l 620 992 l 847 992 l 563 500 l 871 0 "},ô:{x_min:69,x_max:762,ha:832,o:"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 557 842 q 485 894 522 864 q 412 960 447 923 q 340 894 375 923 q 270 842 305 864 l 133 842 l 133 860 q 172 905 150 879 q 215 958 193 931 q 257 1013 237 986 q 293 1064 278 1040 l 534 1064 q 569 1013 549 1040 q 611 958 589 986 q 655 905 633 931 q 695 860 678 879 l 695 842 l 557 842 "},Ė:{x_min:125,x_max:696,ha:778,o:"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 296 1164 q 304 1213 296 1194 q 328 1244 313 1232 q 364 1261 344 1256 q 408 1266 385 1266 q 451 1261 431 1266 q 487 1244 472 1256 q 511 1213 502 1232 q 521 1164 521 1194 q 511 1116 521 1136 q 487 1085 502 1096 q 451 1068 472 1073 q 408 1063 431 1063 q 364 1068 385 1063 q 328 1085 344 1073 q 304 1116 313 1096 q 296 1164 296 1136 "},г:{x_min:109,x_max:590,ha:623,o:"m 590 758 l 590 604 l 315 604 l 315 0 l 109 0 l 109 758 l 590 758 "},Ŀ:{x_min:125,x_max:696,ha:743,o:"m 125 0 l 125 992 l 335 992 l 335 174 l 696 174 l 696 0 l 125 0 m 452 509 q 460 558 452 539 q 484 589 469 577 q 520 606 500 601 q 564 611 541 611 q 607 606 587 611 q 643 589 628 601 q 667 558 658 577 q 677 509 677 539 q 667 461 677 481 q 643 430 658 441 q 607 413 628 418 q 564 408 587 408 q 520 413 541 408 q 484 430 500 418 q 460 461 469 441 q 452 509 452 481 "},х:{x_min:6.75,x_max:754.25,ha:761,o:"m 263 387 l 19 758 l 254 758 l 380 530 l 508 758 l 743 758 l 495 387 l 754 0 l 519 0 l 380 245 l 241 0 l 6 0 l 263 387 "},ŋ:{x_min:109,x_max:767,ha:871,o:"m 521 -334 q 454 -329 489 -334 q 397 -317 420 -324 l 397 -154 q 435 -164 417 -161 q 476 -167 453 -167 q 509 -162 494 -167 q 535 -143 524 -156 q 553 -108 547 -130 q 560 -51 560 -86 l 560 458 q 533 569 560 532 q 456 606 507 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 -82 q 753 -180 767 -134 q 711 -260 740 -226 q 634 -314 681 -294 q 521 -334 588 -334 "},Ч:{x_min:74,x_max:831,ha:956,o:"m 831 0 l 620 0 l 620 383 q 545 356 581 368 q 475 337 509 345 q 408 326 441 330 q 341 322 375 322 q 229 339 278 322 q 144 389 179 356 q 92 471 110 422 q 74 581 74 519 l 74 992 l 284 992 l 284 641 q 312 533 284 569 q 408 496 341 496 q 509 509 458 496 q 620 547 559 522 l 620 992 l 831 992 l 831 0 "},ü:{x_min:104,x_max:762,ha:871,o:"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 200 953 q 207 994 200 977 q 227 1022 214 1011 q 257 1039 240 1034 q 294 1045 274 1045 q 331 1039 314 1045 q 361 1022 348 1034 q 382 994 374 1011 q 390 953 390 977 q 382 913 390 930 q 361 885 374 896 q 331 868 348 873 q 294 863 314 863 q 257 868 274 863 q 227 885 240 873 q 207 913 214 896 q 200 953 200 930 m 473 953 q 480 994 473 977 q 500 1022 487 1011 q 531 1039 513 1034 q 569 1045 548 1045 q 605 1039 588 1045 q 636 1022 622 1034 q 657 994 649 1011 q 665 953 665 977 q 657 913 665 930 q 636 885 649 896 q 605 868 622 873 q 569 863 588 863 q 500 885 528 863 q 473 953 473 907 "},ь:{x_min:109,x_max:762,ha:818,o:"m 315 467 l 449 467 q 685 411 609 467 q 762 242 762 356 q 744 142 762 187 q 688 65 726 97 q 591 17 650 34 q 447 0 531 0 l 109 0 l 109 758 l 315 758 l 315 467 m 555 239 q 525 300 555 281 q 436 319 495 319 l 315 319 l 315 147 l 438 147 q 522 168 490 147 q 555 239 555 189 "},Ÿ:{x_min:-.25,x_max:812.25,ha:811,o:"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 m 174 1182 q 181 1223 174 1206 q 201 1251 188 1240 q 231 1268 214 1263 q 268 1274 248 1274 q 305 1268 288 1274 q 335 1251 322 1263 q 356 1223 348 1240 q 364 1182 364 1206 q 356 1142 364 1159 q 335 1114 348 1125 q 305 1097 322 1102 q 268 1092 288 1092 q 231 1097 248 1092 q 201 1114 214 1102 q 181 1142 188 1125 q 174 1182 174 1159 m 447 1182 q 454 1223 447 1206 q 474 1251 461 1240 q 505 1268 487 1263 q 543 1274 522 1274 q 579 1268 562 1274 q 610 1251 596 1263 q 631 1223 623 1240 q 639 1182 639 1206 q 631 1142 639 1159 q 610 1114 623 1125 q 579 1097 596 1102 q 543 1092 562 1092 q 474 1114 502 1092 q 447 1182 447 1136 "},"€":{x_min:45,x_max:755.671875,ha:765,o:"m 520 829 q 405 781 450 829 q 345 644 360 734 l 584 644 l 584 523 l 335 523 q 334 512 335 517 q 333 500 333 506 q 333 488 333 494 q 333 468 333 475 q 335 447 333 461 l 542 447 l 542 326 l 346 326 q 410 197 364 238 q 533 155 457 155 q 631 167 586 155 q 717 199 676 179 l 717 26 q 630 -3 678 6 q 518 -14 582 -14 q 261 74 355 -14 q 137 326 167 162 l 45 326 l 45 447 l 125 447 q 122 469 122 458 q 122 488 122 480 q 122 507 122 498 q 123 523 123 517 l 45 523 l 45 644 l 135 644 q 178 793 148 727 q 257 904 209 859 q 370 974 305 950 q 516 999 435 999 q 643 984 586 999 q 755 943 701 970 l 690 786 q 604 817 644 806 q 520 829 563 829 "},в:{x_min:109,x_max:791,ha:853,o:"m 767 560 q 729 457 767 500 q 615 402 691 414 l 615 397 q 688 378 655 392 q 743 342 720 364 q 778 291 765 320 q 791 228 791 262 q 773 136 791 178 q 717 64 755 94 q 619 17 679 34 q 475 0 560 0 l 109 0 l 109 758 l 473 758 q 590 747 537 758 q 683 714 644 737 q 744 653 722 691 q 767 560 767 616 m 579 241 q 549 306 579 286 q 458 326 519 326 l 315 326 l 315 147 l 461 147 q 509 152 487 147 q 546 168 530 157 q 570 198 561 180 q 579 241 579 216 m 555 543 q 463 610 555 610 l 315 610 l 315 464 l 442 464 q 527 482 498 464 q 555 543 555 501 "},Η:{x_min:125,x_max:882,ha:1007,o:"m 882 0 l 671 0 l 671 428 l 335 428 l 335 0 l 125 0 l 125 992 l 335 992 l 335 603 l 671 603 l 671 992 l 882 992 l 882 0 "},С:{x_min:81,x_max:836.296875,ha:885,o:"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 "},ß:{x_min:109,x_max:897,ha:946,o:"m 805 841 q 791 765 805 798 q 755 706 776 732 q 709 661 734 680 q 662 625 683 641 q 627 594 641 609 q 612 565 612 580 q 621 540 612 551 q 647 515 629 528 q 692 484 665 501 q 758 441 720 467 q 817 398 791 420 q 860 350 843 376 q 887 292 878 323 q 897 220 897 261 q 817 45 897 104 q 584 -14 738 -14 q 469 -4 518 -14 q 379 28 420 5 l 379 192 q 419 170 395 181 q 468 151 442 160 q 521 138 494 143 q 571 133 548 133 q 655 154 625 133 q 685 218 685 175 q 680 250 685 236 q 661 278 675 264 q 622 309 648 292 q 557 348 597 325 q 485 394 514 373 q 438 437 456 416 q 413 481 420 458 q 405 532 405 505 q 419 594 405 567 q 454 641 433 620 q 499 679 475 662 q 545 715 524 697 q 580 753 566 733 q 593 801 593 774 q 560 870 593 844 q 460 896 526 896 q 351 864 388 896 q 315 761 315 831 l 315 0 l 109 0 l 109 772 q 134 901 109 846 q 205 991 159 955 q 317 1045 251 1027 q 461 1063 382 1063 q 602 1048 539 1063 q 711 1005 666 1033 q 781 936 756 977 q 805 841 805 894 "},њ:{x_min:109,x_max:1143,ha:1198,o:"m 737 467 l 829 467 q 1066 411 989 467 q 1143 242 1143 356 q 1125 142 1143 187 q 1069 65 1107 97 q 971 17 1031 34 q 828 0 912 0 l 531 0 l 531 310 l 315 310 l 315 0 l 109 0 l 109 758 l 315 758 l 315 468 l 531 468 l 531 758 l 737 758 l 737 467 m 936 239 q 906 300 936 281 q 817 319 876 319 l 737 319 l 737 147 l 819 147 q 903 168 871 147 q 936 239 936 189 "},Ű:{x_min:118,x_max:876,ha:994,o:"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 272 1071 l 272 1089 q 302 1134 286 1108 q 334 1187 318 1160 q 364 1242 350 1215 q 389 1293 379 1269 l 594 1293 l 594 1278 q 572 1250 586 1266 q 539 1214 558 1233 q 500 1175 521 1195 q 457 1136 478 1155 q 416 1100 436 1117 q 381 1071 396 1083 l 272 1071 m 541 1071 l 541 1089 q 571 1134 555 1108 q 603 1187 587 1160 q 633 1242 619 1215 q 658 1293 648 1269 l 863 1293 l 863 1278 q 841 1250 855 1266 q 808 1214 827 1233 q 769 1175 790 1195 q 727 1136 748 1155 q 686 1100 705 1117 q 650 1071 666 1083 l 541 1071 "},c:{x_min:69,x_max:648.703125,ha:693,o:"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 "},"¶":{x_min:77,x_max:792,ha:910,o:"m 792 -176 l 682 -176 l 682 919 l 569 919 l 569 -176 l 460 -176 l 460 379 q 361 367 418 367 q 244 384 296 367 q 154 441 191 401 q 97 546 117 481 q 77 706 77 611 q 99 873 77 806 q 161 980 121 939 q 258 1038 201 1021 q 382 1055 314 1055 l 792 1055 l 792 -176 "},Ή:{x_min:-39,x_max:965,ha:1091,o:"m 965 0 l 754 0 l 754 428 l 418 428 l 418 0 l 208 0 l 208 992 l 418 992 l 418 603 l 754 603 l 754 992 l 965 992 l 965 0 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 "},Ὅ:{x_min:-269,x_max:1026,ha:1106,o:"m 1026 496 q 999 287 1026 382 q 917 126 972 193 q 778 22 862 59 q 581 -14 695 -14 q 383 22 467 -14 q 245 126 299 59 q 163 288 190 193 q 137 498 137 382 q 163 707 137 613 q 245 867 190 801 q 384 970 300 934 q 582 1007 467 1007 q 779 970 696 1007 q 917 867 863 934 q 999 706 972 800 q 1026 496 1026 612 m 353 496 q 366 355 353 417 q 408 250 380 293 q 479 184 436 207 q 581 160 522 160 q 685 184 641 160 q 755 250 728 207 q 796 355 783 293 q 809 496 809 417 q 796 636 809 574 q 755 742 783 698 q 685 808 728 785 q 582 832 642 832 q 480 808 523 832 q 408 742 436 785 q 366 636 380 698 q 353 496 353 574 m -269 858 q -258 904 -269 881 q -223 947 -247 927 q -162 980 -199 966 q -70 1003 -124 995 l -70 952 q -143 925 -119 937 q -166 893 -166 912 q -154 874 -166 880 q -126 862 -141 868 q -98 848 -111 857 q -86 820 -86 839 q -107 780 -86 795 q -173 765 -128 765 q -210 770 -193 765 q -241 787 -228 775 q -261 816 -254 798 q -269 858 -269 834 m -34 788 q -21 834 -28 808 q -5 887 -13 859 q 9 942 1 915 q 21 993 16 969 l 199 993 l 199 979 q 172 930 188 956 q 137 876 156 904 q 98 822 119 849 q 58 771 77 795 l -34 771 l -34 788 "},γ:{x_min:.75,x_max:747.25,ha:747,o:"m 483 12 q 452 -76 466 -29 q 430 -167 439 -122 q 417 -255 421 -213 q 412 -334 412 -298 l 201 -334 q 206 -264 201 -305 q 220 -176 211 -223 q 242 -82 229 -130 q 268 8 254 -34 l 0 758 l 215 758 l 314 423 q 332 359 323 395 q 350 286 342 322 q 365 218 359 249 q 374 168 371 186 l 378 168 q 384 218 380 189 q 397 278 389 246 q 413 345 404 310 q 433 413 422 379 l 531 758 l 747 758 l 483 12 "},"­":{x_min:41,x_max:406,ha:447,o:"m 41 287 l 41 457 l 406 457 l 406 287 l 41 287 "},":":{x_min:79,x_max:316,ha:396,o:"m 79 97 q 88 151 79 129 q 113 187 97 173 q 151 206 129 200 q 198 213 173 213 q 243 206 221 213 q 280 187 264 200 q 306 151 297 173 q 316 97 316 129 q 306 45 316 66 q 280 9 297 23 q 243 -11 264 -5 q 198 -18 221 -18 q 151 -11 173 -18 q 113 9 129 -5 q 88 45 97 23 q 79 97 79 66 m 79 657 q 88 711 79 689 q 113 747 97 733 q 151 766 129 760 q 198 773 173 773 q 243 766 221 773 q 280 747 264 760 q 306 711 297 733 q 316 657 316 689 q 306 604 316 626 q 280 568 297 582 q 243 548 264 554 q 198 542 221 542 q 151 548 173 542 q 113 568 129 554 q 88 604 97 582 q 79 657 79 626 "},ś:{x_min:66,x_max:614,ha:668,o:"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 m 232 842 l 232 860 q 262 905 246 879 q 294 958 278 931 q 324 1013 310 986 q 350 1064 339 1040 l 582 1064 l 582 1049 q 560 1021 574 1037 q 527 985 546 1004 q 488 946 509 966 q 446 907 467 926 q 404 871 424 888 q 369 842 385 854 l 232 842 "}," ":{x_min:0,x_max:0,ha:361},У:{x_min:-.25,x_max:851.25,ha:851,o:"m 851 992 l 563 290 q 503 162 534 218 q 431 66 473 105 q 332 6 389 27 q 194 -14 275 -14 q 120 -8 159 -14 q 46 6 80 -3 l 46 185 q 118 166 79 171 q 194 160 158 160 q 253 169 229 160 q 294 195 277 178 q 322 232 311 211 q 343 279 334 254 l 0 992 l 222 992 l 409 563 q 420 538 414 553 q 431 509 426 524 q 441 482 437 495 q 446 465 446 470 l 454 465 q 458 483 455 471 q 465 510 461 496 q 473 538 469 524 q 482 562 478 552 l 634 992 l 851 992 "},"¾":{x_min:61,x_max:1161.203125,ha:1224,o:"m 977 992 l 426 0 l 264 0 l 815 992 l 977 992 m 1161 101 l 1076 101 l 1076 0 l 915 0 l 915 101 l 655 101 l 655 207 l 916 599 l 1076 599 l 1076 217 l 1161 217 l 1161 101 m 915 217 l 915 328 q 916 388 915 356 q 919 453 917 419 q 909 429 915 444 q 895 399 902 415 q 880 370 887 384 q 866 346 872 356 l 780 217 l 915 217 m 472 846 q 444 766 472 800 q 356 712 417 732 l 356 703 q 416 682 391 697 q 458 649 441 668 q 482 608 474 631 q 491 562 491 586 q 431 433 491 480 q 245 386 371 386 q 149 397 194 386 q 61 433 105 409 l 61 562 q 150 518 105 535 q 245 501 195 501 q 319 519 296 501 q 343 573 343 537 q 337 600 343 587 q 319 623 332 613 q 284 639 306 633 q 229 645 262 645 l 153 645 l 153 754 l 214 754 q 270 760 249 754 q 304 776 292 766 q 320 800 316 787 q 324 828 324 814 q 307 871 324 854 q 256 888 290 888 q 196 875 224 888 q 130 834 168 862 l 62 930 q 155 982 104 961 q 276 1004 206 1004 q 354 992 318 1004 q 416 961 390 981 q 457 911 442 940 q 472 846 472 882 "},Ί:{x_min:-39,x_max:666.96875,ha:711,o:"m 666 0 l 215 0 l 215 119 l 336 174 l 336 817 l 215 872 l 215 992 l 666 992 l 666 872 l 546 817 l 546 174 l 666 119 l 666 0 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 "},ʼn:{x_min:16,x_max:937,ha:1040,o:"m 937 0 l 730 0 l 730 442 q 705 565 730 524 q 626 606 680 606 q 558 590 585 606 q 515 542 531 574 q 492 463 499 510 q 485 356 485 416 l 485 0 l 279 0 l 279 758 l 437 758 l 464 661 l 476 661 q 516 711 492 690 q 567 746 539 732 q 626 766 595 760 q 690 773 657 773 q 791 757 745 773 q 869 707 836 741 q 919 620 901 673 q 937 494 937 568 l 937 0 m 273 992 l 284 977 q 261 898 274 939 q 232 815 248 857 q 198 731 216 772 q 164 652 181 690 l 16 652 q 35 737 25 692 q 54 827 45 782 q 71 913 63 871 q 83 992 78 956 l 273 992 "},Ģ:{x_min:81,x_max:895,ha:1006,o:"m 502 557 l 895 557 l 895 42 q 815 18 855 29 q 732 1 775 8 q 642 -9 689 -5 q 542 -14 595 -14 q 345 18 431 -14 q 200 116 259 51 q 111 276 142 181 q 81 497 81 372 q 114 708 81 613 q 214 868 148 802 q 377 970 281 934 q 599 1006 474 1006 q 754 989 678 1006 q 893 944 830 972 l 823 776 q 719 815 777 799 q 597 831 661 831 q 473 806 528 831 q 378 738 418 782 q 318 632 339 694 q 297 492 297 569 q 311 358 297 419 q 357 253 326 298 q 438 185 388 209 q 555 160 487 160 q 631 165 600 160 q 689 174 662 169 l 689 382 l 502 382 l 502 557 m 427 -288 q 439 -242 433 -268 q 450 -188 445 -216 q 461 -134 456 -161 q 468 -85 466 -107 l 660 -85 l 660 -98 q 611 -198 639 -145 q 547 -307 583 -251 l 427 -307 l 427 -288 "},m:{x_min:109,x_max:1204,ha:1308,o:"m 759 0 l 553 0 l 553 442 q 528 565 553 524 q 452 606 504 606 q 386 590 412 606 q 344 542 360 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 345 711 322 690 q 395 746 368 732 q 452 766 422 760 q 514 773 483 773 q 646 746 592 773 q 730 661 701 719 l 747 661 q 786 711 763 690 q 837 746 809 732 q 896 766 865 760 q 958 773 927 773 q 1142 706 1080 773 q 1204 494 1204 640 l 1204 0 l 997 0 l 997 442 q 972 565 997 524 q 896 606 948 606 q 791 548 822 606 q 759 380 759 489 l 759 0 "},Е:{x_min:125,x_max:696,ha:778,o:"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 "},ž:{x_min:37,x_max:612,ha:635,o:"m 595 0 l 37 0 l 37 117 l 347 604 l 58 604 l 58 758 l 582 758 l 582 628 l 281 153 l 595 153 l 595 0 m 612 1045 q 572 1000 595 1026 q 528 947 550 974 q 486 892 506 919 q 451 842 466 865 l 210 842 q 174 892 195 865 q 132 947 154 919 q 89 1000 110 974 q 50 1045 67 1026 l 50 1064 l 187 1064 q 257 1011 222 1041 q 329 945 292 982 q 402 1011 364 982 q 474 1064 439 1041 l 612 1064 l 612 1045 "},á:{x_min:58,x_max:694,ha:798,o:"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 300 842 l 300 860 q 330 905 314 879 q 362 958 346 931 q 392 1013 378 986 q 418 1064 407 1040 l 650 1064 l 650 1049 q 628 1021 642 1037 q 595 985 614 1004 q 556 946 577 966 q 514 907 535 926 q 472 871 492 888 q 437 842 453 854 l 300 842 "},"×":{x_min:73.9375,x_max:691.796875,ha:765,o:"m 276 490 l 73 694 l 176 799 l 380 596 l 587 799 l 691 697 l 484 490 l 689 285 l 587 181 l 380 386 l 176 183 l 75 286 l 276 490 "},п:{x_min:109,x_max:755,ha:864,o:"m 755 758 l 755 0 l 548 0 l 548 604 l 315 604 l 315 0 l 109 0 l 109 758 l 755 758 "},Ǻ:{x_min:-.25,x_max:903.25,ha:903,o:"m 622 991 q 614 936 622 961 q 590 891 605 911 l 903 0 l 690 0 l 619 225 l 282 225 l 212 0 l 0 0 l 311 891 q 282 990 282 931 q 294 1058 282 1028 q 328 1108 306 1088 q 381 1140 350 1129 q 450 1152 413 1152 q 517 1140 486 1152 q 572 1108 548 1129 q 609 1058 595 1088 q 622 991 622 1029 m 574 400 l 510 596 q 498 631 506 606 q 480 687 489 657 q 463 747 471 717 q 451 798 455 777 q 444 767 449 785 q 434 728 440 748 q 422 687 428 708 q 411 648 416 666 q 401 616 405 630 q 394 596 396 602 l 331 400 l 574 400 m 368 1189 l 368 1199 q 398 1229 382 1213 q 431 1263 415 1246 q 461 1298 447 1281 q 486 1331 475 1316 l 718 1331 l 718 1322 q 681 1292 707 1310 q 624 1255 656 1275 q 561 1218 593 1236 q 505 1189 529 1201 l 368 1189 m 518 990 q 500 1038 518 1020 q 452 1055 481 1055 q 405 1038 424 1055 q 386 990 386 1020 q 401 943 386 961 q 445 925 415 926 l 458 925 q 501 943 484 926 q 518 990 518 961 "},K:{x_min:125,x_max:880.25,ha:880,o:"m 880 0 l 641 0 l 413 412 l 335 354 l 335 0 l 125 0 l 125 992 l 335 992 l 335 514 l 417 654 l 644 992 l 877 992 l 561 544 l 880 0 "},"¨":{x_min:168,x_max:633,ha:802,o:"m 168 953 q 175 994 168 977 q 195 1022 182 1011 q 225 1039 208 1034 q 262 1045 242 1045 q 299 1039 282 1045 q 329 1022 316 1034 q 350 994 342 1011 q 358 953 358 977 q 350 913 358 930 q 329 885 342 896 q 299 868 316 873 q 262 863 282 863 q 225 868 242 863 q 195 885 208 873 q 175 913 182 896 q 168 953 168 930 m 441 953 q 448 994 441 977 q 468 1022 455 1011 q 499 1039 481 1034 q 537 1045 516 1045 q 573 1039 556 1045 q 604 1022 590 1034 q 625 994 617 1011 q 633 953 633 977 q 625 913 633 930 q 604 885 617 896 q 573 868 590 873 q 537 863 556 863 q 468 885 496 863 q 441 953 441 907 "},Y:{x_min:-.25,x_max:812.25,ha:811,o:"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 "},E:{x_min:125,x_max:696,ha:778,o:"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 "},Ô:{x_min:81,x_max:970,ha:1050,o:"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 662 1071 q 590 1123 627 1093 q 517 1189 552 1152 q 445 1123 480 1152 q 375 1071 410 1093 l 238 1071 l 238 1089 q 277 1134 255 1108 q 320 1187 298 1160 q 362 1242 342 1215 q 398 1293 383 1269 l 639 1293 q 674 1242 654 1269 q 716 1187 694 1215 q 760 1134 738 1160 q 800 1089 783 1108 l 800 1071 l 662 1071 "},Є:{x_min:81,x_max:836.296875,ha:885,o:"m 543 831 q 450 814 492 831 q 376 766 408 797 q 324 689 344 735 q 298 586 304 644 l 676 586 l 676 411 l 297 411 q 367 225 304 290 q 544 160 429 160 q 666 174 604 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 767 765 q 655 811 711 791 q 543 831 598 831 "},Ï:{x_min:37,x_max:502,ha:541,o:"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 37 1182 q 44 1223 37 1206 q 64 1251 51 1240 q 94 1268 77 1263 q 131 1274 111 1274 q 168 1268 151 1274 q 198 1251 185 1263 q 219 1223 211 1240 q 227 1182 227 1206 q 219 1142 227 1159 q 198 1114 211 1125 q 168 1097 185 1102 q 131 1092 151 1092 q 94 1097 111 1092 q 64 1114 77 1102 q 44 1142 51 1125 q 37 1182 37 1159 m 310 1182 q 317 1223 310 1206 q 337 1251 324 1240 q 368 1268 350 1263 q 406 1274 385 1274 q 442 1268 425 1274 q 473 1251 459 1263 q 494 1223 486 1240 q 502 1182 502 1206 q 494 1142 502 1159 q 473 1114 486 1125 q 442 1097 459 1102 q 406 1092 425 1092 q 337 1114 365 1092 q 310 1182 310 1136 "},ġ:{x_min:14,x_max:735.140625,ha:766,o:"m 735 757 l 735 644 l 624 610 q 643 562 638 587 q 649 509 649 537 q 630 403 649 451 q 576 322 612 356 q 486 269 540 288 q 360 251 432 251 q 326 252 345 251 q 299 256 308 254 q 279 232 286 244 q 271 201 271 219 q 280 179 271 187 q 303 165 289 170 q 336 158 317 160 q 375 157 355 157 l 493 157 q 591 144 547 157 q 664 106 634 131 q 710 40 694 80 q 727 -54 727 0 q 701 -170 727 -118 q 624 -258 675 -222 q 497 -314 573 -295 q 322 -334 421 -334 q 187 -319 244 -334 q 91 -277 129 -304 q 33 -211 52 -249 q 14 -123 14 -172 q 28 -51 14 -81 q 66 0 42 -20 q 120 36 90 22 q 182 57 150 49 q 154 74 168 63 q 129 99 140 85 q 111 131 118 113 q 104 167 104 148 q 110 206 104 189 q 128 239 116 224 q 159 268 141 254 q 200 296 177 282 q 105 379 140 322 q 71 513 71 436 q 89 622 71 574 q 145 704 108 670 q 236 755 182 737 q 360 773 290 773 q 391 771 374 773 q 424 767 408 769 q 455 762 441 764 q 477 757 469 759 l 735 757 m 193 -107 q 200 -141 193 -125 q 224 -169 207 -157 q 266 -189 240 -181 q 331 -196 293 -196 q 490 -166 437 -196 q 543 -85 543 -135 q 510 -27 543 -42 q 408 -13 477 -13 l 312 -13 q 273 -17 294 -13 q 234 -33 252 -22 q 205 -62 217 -44 q 193 -107 193 -80 m 265 510 q 289 415 265 448 q 360 381 312 381 q 432 415 410 381 q 454 510 454 448 q 432 607 454 571 q 360 643 410 643 q 265 510 265 643 m 251 954 q 259 1003 251 984 q 283 1034 268 1022 q 319 1051 299 1046 q 363 1056 340 1056 q 406 1051 386 1056 q 442 1034 427 1046 q 466 1003 457 1022 q 476 954 476 984 q 466 906 476 926 q 442 875 457 886 q 406 858 427 863 q 363 853 386 853 q 319 858 340 853 q 283 875 299 863 q 259 906 268 886 q 251 954 251 926 "},έ:{x_min:53,x_max:677,ha:729,o:"m 531 464 l 531 316 l 432 316 q 299 292 340 316 q 259 221 259 267 q 268 187 259 202 q 297 161 277 172 q 348 145 317 150 q 424 139 379 139 q 498 144 462 139 q 566 159 533 150 q 626 180 598 168 q 676 203 654 191 l 676 38 q 557 0 627 14 q 400 -14 488 -14 q 242 1 308 -14 q 134 46 177 17 q 72 115 92 74 q 53 206 53 156 q 66 278 53 248 q 104 330 79 308 q 163 366 128 352 q 240 387 198 379 l 240 394 q 129 457 165 411 q 93 571 93 502 q 117 664 93 626 q 184 726 142 702 q 283 762 227 751 q 403 773 340 773 q 477 768 440 773 q 550 757 515 764 q 617 739 585 749 q 677 716 649 728 l 620 566 q 527 603 576 586 q 421 619 478 619 q 365 615 390 619 q 324 603 341 612 q 297 581 306 594 q 287 547 287 567 q 325 483 287 502 q 444 464 363 464 l 531 464 m 323 860 q 335 906 329 880 q 346 960 341 932 q 357 1014 352 987 q 364 1064 361 1041 l 556 1064 l 556 1049 q 507 950 535 1003 q 443 842 479 897 l 323 842 l 323 860 "}," ":{x_min:0,x_max:0,ha:463},ϋ:{x_min:97,x_max:780,ha:861,o:"m 426 -12 q 266 15 330 -12 q 165 91 202 42 q 112 205 127 139 q 97 345 97 270 l 97 758 l 303 758 l 303 340 q 335 197 303 241 q 432 154 366 154 q 493 168 467 154 q 537 213 520 182 q 564 295 555 244 q 573 417 573 345 q 569 503 573 461 q 559 586 566 545 q 544 670 553 628 q 524 758 535 712 l 732 758 q 752 670 744 712 q 767 587 761 629 q 776 502 773 545 q 780 410 780 459 q 757 221 780 301 q 689 90 734 141 q 579 13 645 38 q 426 -12 513 -12 m 199 953 q 206 994 199 977 q 226 1022 213 1011 q 256 1039 239 1034 q 293 1045 273 1045 q 330 1039 313 1045 q 360 1022 347 1034 q 381 994 373 1011 q 389 953 389 977 q 381 913 389 930 q 360 885 373 896 q 330 868 347 873 q 293 863 313 863 q 256 868 273 863 q 226 885 239 873 q 206 913 213 896 q 199 953 199 930 m 472 953 q 479 994 472 977 q 499 1022 486 1011 q 530 1039 512 1034 q 568 1045 547 1045 q 604 1039 587 1045 q 635 1022 621 1034 q 656 994 648 1011 q 664 953 664 977 q 656 913 664 930 q 635 885 648 896 q 604 868 621 873 q 568 863 587 863 q 499 885 527 863 q 472 953 472 907 "},й:{x_min:109,x_max:849,ha:958,o:"m 303 758 l 303 463 q 301 401 303 440 q 296 324 299 362 q 288 231 292 280 l 606 758 l 849 758 l 849 0 l 654 0 l 654 296 q 656 364 654 325 q 661 438 659 402 q 668 524 664 480 l 351 0 l 109 0 l 109 758 l 303 758 m 806 1085 q 781 985 800 1030 q 722 909 761 941 q 622 859 684 877 q 471 842 561 842 q 319 858 379 842 q 221 907 258 875 q 168 983 185 939 q 148 1085 152 1028 l 334 1085 q 347 1020 337 1045 q 373 981 356 995 q 415 961 389 967 q 477 955 441 955 q 531 962 506 955 q 574 983 556 968 q 603 1023 592 998 q 619 1085 615 1048 l 806 1085 "},b:{x_min:109,x_max:775,ha:844,o:"m 512 773 q 619 747 571 773 q 701 673 667 722 q 755 550 736 623 q 775 380 775 476 q 755 209 775 282 q 701 85 736 135 q 616 11 665 36 q 507 -14 567 -14 q 440 -5 469 -14 q 387 15 410 2 q 347 46 364 29 q 315 82 330 64 l 301 82 l 267 0 l 109 0 l 109 1055 l 315 1055 l 315 809 q 314 761 315 787 q 311 712 313 734 q 307 659 309 686 l 315 659 q 348 704 330 683 q 390 739 366 724 q 445 764 414 755 q 512 773 475 773 m 443 606 q 384 594 408 606 q 345 556 360 581 q 323 492 330 531 q 315 403 317 454 l 315 380 q 322 282 315 325 q 343 211 328 239 q 383 167 358 182 q 444 152 407 152 q 534 211 505 152 q 563 382 563 269 q 534 550 563 494 q 443 606 505 606 "},ύ:{x_min:97,x_max:780,ha:861,o:"m 426 -12 q 266 15 330 -12 q 165 91 202 42 q 112 205 127 139 q 97 345 97 270 l 97 758 l 303 758 l 303 340 q 335 197 303 241 q 432 154 366 154 q 493 168 467 154 q 537 213 520 182 q 564 295 555 244 q 573 417 573 345 q 569 503 573 461 q 559 586 566 545 q 544 670 553 628 q 524 758 535 712 l 732 758 q 752 670 744 712 q 767 587 761 629 q 776 502 773 545 q 780 410 780 459 q 757 221 780 301 q 689 90 734 141 q 579 13 645 38 q 426 -12 513 -12 m 354 860 q 366 906 360 880 q 377 960 372 932 q 388 1014 383 987 q 395 1064 392 1041 l 587 1064 l 587 1049 q 538 950 566 1003 q 474 842 510 897 l 354 842 l 354 860 "},fl:{x_min:28,x_max:853.859375,ha:961,o:"m 503 604 l 348 604 l 348 0 l 142 0 l 142 604 l 28 604 l 28 703 l 142 758 l 142 813 q 159 934 142 886 q 209 1010 177 982 q 288 1051 242 1039 q 392 1063 334 1063 q 497 1053 454 1063 q 570 1030 540 1043 l 521 877 q 477 890 500 884 q 422 896 454 896 q 365 871 382 896 q 348 804 348 845 l 348 758 l 503 758 l 503 604 m 853 0 l 647 0 l 647 1055 l 853 1055 l 853 0 "},ф:{x_min:69,x_max:1034,ha:1103,o:"m 651 762 q 815 722 744 753 q 935 641 887 691 q 1009 525 984 591 q 1034 379 1034 458 q 1010 232 1034 299 q 938 115 986 165 q 818 34 890 66 q 651 -5 747 3 l 651 -334 l 457 -334 l 457 -5 q 291 35 364 3 q 170 116 219 66 q 94 233 120 167 q 69 379 69 299 q 92 527 69 460 q 163 645 115 595 q 284 725 211 694 q 457 762 357 755 l 457 1055 l 651 1055 l 651 762 m 280 378 q 292 292 280 331 q 327 222 304 252 q 382 173 349 192 q 457 148 415 154 l 457 608 q 383 582 415 602 q 327 532 350 562 q 292 463 305 502 q 280 378 280 424 m 822 378 q 810 463 822 424 q 776 532 798 502 q 722 580 754 562 q 651 606 691 599 l 651 148 q 724 173 692 154 q 777 222 755 192 q 810 292 799 252 q 822 378 822 331 "},Ŋ:{x_min:113,x_max:950,ha:1063,o:"m 634 -292 q 557 -287 590 -292 q 501 -277 524 -283 l 501 -103 q 553 -112 526 -108 q 614 -117 581 -117 q 670 -111 643 -117 q 719 -92 697 -106 q 756 -55 741 -78 q 775 2 771 -32 l 293 750 l 287 750 q 294 646 291 698 q 298 554 296 602 q 300 466 300 505 l 300 0 l 113 0 l 113 992 l 378 992 l 768 387 l 772 387 q 768 489 770 439 q 766 534 767 511 q 764 579 765 556 q 763 623 763 602 q 762 661 762 644 l 762 992 l 950 992 l 950 0 q 926 -130 950 -75 q 862 -221 903 -186 q 763 -274 821 -257 q 634 -292 705 -292 "},Ũ:{x_min:118,x_max:876,ha:994,o:"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 382 1135 q 348 1119 361 1135 q 328 1069 336 1103 l 227 1069 q 244 1163 231 1123 q 280 1228 258 1202 q 332 1266 302 1253 q 397 1279 361 1279 q 451 1269 425 1279 q 504 1246 478 1259 q 555 1224 530 1234 q 605 1214 581 1214 q 638 1230 626 1214 q 659 1280 651 1246 l 761 1280 q 743 1187 756 1226 q 706 1122 729 1148 q 654 1083 684 1096 q 590 1071 625 1071 q 536 1081 563 1071 q 483 1103 508 1091 q 432 1125 457 1115 q 382 1135 406 1135 "},Щ:{x_min:125,x_max:1464,ha:1492,o:"m 825 174 l 1106 174 l 1106 992 l 1317 992 l 1317 166 l 1464 147 l 1464 -289 l 1258 -289 l 1258 0 l 125 0 l 125 992 l 335 992 l 335 174 l 615 174 l 615 992 l 825 992 l 825 174 "},L:{x_min:125,x_max:696,ha:743,o:"m 125 0 l 125 992 l 335 992 l 335 174 l 696 174 l 696 0 l 125 0 "},ď:{x_min:69,x_max:1031,ha:844,o:"m 329 -14 q 224 11 271 -14 q 141 85 176 36 q 88 208 107 134 q 69 377 69 281 q 88 549 69 475 q 142 672 107 622 q 227 747 178 722 q 335 773 276 773 q 402 764 372 773 q 457 741 433 756 q 500 706 481 726 q 534 663 520 687 l 541 663 q 534 716 537 690 q 528 765 530 739 q 526 813 526 791 l 526 1055 l 735 1055 l 735 0 l 575 0 l 534 99 l 526 99 q 493 54 512 75 q 451 18 475 34 q 397 -5 427 3 q 329 -14 367 -14 m 406 152 q 467 164 442 152 q 508 202 492 177 q 531 266 524 228 q 540 355 539 304 l 540 378 q 533 476 540 433 q 511 547 526 519 q 470 591 496 576 q 404 606 444 606 q 310 547 340 606 q 280 376 280 489 q 310 208 280 264 q 406 152 341 152 m 798 851 q 810 898 804 872 q 821 951 816 924 q 832 1006 827 979 q 839 1056 837 1033 l 1031 1056 l 1031 1042 q 982 942 1010 996 q 918 834 954 888 l 798 834 l 798 851 "},Ο:{x_min:81,x_max:970,ha:1050,o:"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 "},Ĭ:{x_min:22,x_max:514,ha:541,o:"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 514 1300 q 492 1207 510 1249 q 444 1135 475 1165 q 368 1087 412 1104 q 265 1071 323 1071 q 161 1087 205 1071 q 86 1133 116 1103 q 40 1205 56 1163 q 22 1300 24 1247 l 137 1300 q 149 1253 140 1270 q 175 1227 159 1236 q 214 1216 191 1218 q 266 1214 237 1214 q 313 1217 291 1214 q 352 1229 335 1220 q 381 1255 370 1238 q 395 1300 393 1272 l 514 1300 "},ŧ:{x_min:32,x_max:530,ha:575,o:"m 416 152 q 474 158 446 152 q 530 175 501 165 l 530 20 q 457 -4 500 5 q 364 -14 414 -14 q 271 -2 314 -14 q 198 37 229 8 q 148 114 166 66 q 131 234 131 162 l 131 334 l 44 334 l 44 472 l 131 472 l 131 604 l 32 604 l 32 692 l 145 759 l 205 924 l 337 924 l 337 758 l 521 758 l 521 604 l 337 604 l 337 472 l 498 472 l 498 334 l 337 334 l 337 236 q 359 172 337 193 q 416 152 381 152 "},À:{x_min:-.25,x_max:903.25,ha:903,o:"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 429 1071 q 374 1118 406 1089 q 310 1175 341 1146 q 253 1233 279 1205 q 217 1278 227 1260 l 217 1293 l 448 1293 q 474 1242 459 1269 q 504 1187 488 1215 q 536 1134 520 1160 q 567 1089 552 1108 l 567 1071 l 429 1071 "},Ϊ:{x_min:37,x_max:502,ha:541,o:"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 37 1182 q 44 1223 37 1206 q 64 1251 51 1240 q 94 1268 77 1263 q 131 1274 111 1274 q 168 1268 151 1274 q 198 1251 185 1263 q 219 1223 211 1240 q 227 1182 227 1206 q 219 1142 227 1159 q 198 1114 211 1125 q 168 1097 185 1102 q 131 1092 151 1092 q 94 1097 111 1092 q 64 1114 77 1102 q 44 1142 51 1125 q 37 1182 37 1159 m 310 1182 q 317 1223 310 1206 q 337 1251 324 1240 q 368 1268 350 1263 q 406 1274 385 1274 q 442 1268 425 1274 q 473 1251 459 1263 q 494 1223 486 1240 q 502 1182 502 1206 q 494 1142 502 1159 q 473 1114 486 1125 q 442 1097 459 1102 q 406 1092 425 1092 q 337 1114 365 1092 q 310 1182 310 1136 "},ḁ:{x_min:58,x_max:694,ha:798,o:"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 563 -244 q 549 -312 563 -282 q 513 -363 536 -342 q 458 -395 489 -384 q 390 -407 427 -407 q 322 -395 353 -407 q 269 -363 291 -384 q 235 -313 247 -343 q 223 -245 223 -283 q 235 -178 223 -208 q 269 -128 247 -148 q 322 -96 291 -107 q 390 -85 353 -85 q 458 -96 426 -85 q 512 -128 489 -107 q 549 -178 535 -148 q 563 -244 563 -207 m 457 -245 q 439 -197 457 -215 q 393 -180 421 -180 q 346 -197 364 -180 q 328 -245 328 -215 q 344 -293 328 -276 q 393 -311 360 -311 q 439 -293 421 -311 q 457 -245 457 -276 "},"½":{x_min:32,x_max:1164.28125,ha:1224,o:"m 929 992 l 378 0 l 216 0 l 767 992 l 929 992 m 365 397 l 204 397 l 204 700 q 204 734 204 713 q 205 776 204 755 q 207 814 206 797 q 209 840 208 832 q 198 828 205 835 q 185 813 192 820 q 171 799 178 805 q 158 787 164 792 l 105 746 l 32 832 l 235 992 l 365 992 l 365 397 m 1164 0 l 725 0 l 725 111 l 877 260 q 930 313 909 290 q 963 354 951 335 q 981 388 976 372 q 986 422 986 404 q 970 462 986 448 q 926 476 953 476 q 869 462 899 476 q 803 418 839 449 l 719 521 q 818 584 763 560 q 947 609 873 609 q 1029 597 992 609 q 1092 564 1066 586 q 1133 511 1118 543 q 1148 438 1148 479 q 1139 379 1148 406 q 1112 323 1131 351 q 1065 265 1094 295 q 996 197 1037 234 l 925 132 l 1164 132 l 1164 0 "},"'":{x_min:90,x_max:279.21875,ha:370,o:"m 279 992 l 251 634 l 117 634 l 90 992 l 279 992 "},ij:{x_min:100.1875,x_max:721.5,ha:821,o:"m 100 953 q 109 1002 100 983 q 133 1033 117 1021 q 169 1050 148 1045 q 212 1055 189 1055 q 256 1050 235 1055 q 291 1033 276 1045 q 316 1002 307 1021 q 325 953 325 983 q 316 905 325 925 q 291 874 307 885 q 256 857 276 862 q 212 852 235 852 q 169 857 189 852 q 133 874 148 862 q 109 905 117 885 q 100 953 100 925 m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 465 -334 q 398 -329 433 -334 q 341 -317 364 -324 l 341 -154 q 380 -164 362 -161 q 421 -167 398 -167 q 453 -162 438 -167 q 480 -144 469 -157 q 498 -109 491 -131 q 505 -52 505 -87 l 505 758 l 712 758 l 712 -82 q 698 -180 712 -134 q 656 -260 685 -226 q 579 -314 626 -294 q 465 -334 532 -334 m 496 953 q 505 1002 496 983 q 529 1033 513 1021 q 565 1050 544 1045 q 608 1055 585 1055 q 652 1050 631 1055 q 687 1033 672 1045 q 712 1002 703 1021 q 721 953 721 983 q 712 905 721 925 q 687 874 703 885 q 652 857 672 862 q 608 852 631 852 q 565 857 585 852 q 529 874 544 862 q 505 905 513 885 q 496 953 496 925 "},Р:{x_min:125,x_max:769,ha:831,o:"m 335 526 l 377 526 q 513 561 467 526 q 558 674 558 596 q 517 782 558 747 q 389 817 476 817 l 335 817 l 335 526 m 769 682 q 749 557 769 616 q 684 451 729 497 q 565 379 639 406 q 383 352 492 352 l 335 352 l 335 0 l 125 0 l 125 992 l 400 992 q 565 970 496 992 q 680 909 635 949 q 747 812 725 869 q 769 682 769 754 "},"˛":{x_min:7,x_max:282,ha:286,o:"m 150 -154 q 165 -196 150 -182 q 204 -209 180 -209 q 247 -205 225 -209 q 282 -197 268 -201 l 282 -318 q 235 -329 260 -324 q 176 -334 210 -334 q 105 -322 137 -334 q 52 -290 74 -310 q 18 -241 30 -269 q 7 -177 7 -212 q 16 -124 7 -148 q 42 -78 25 -99 q 81 -38 59 -57 q 129 0 103 -19 l 250 0 q 176 -81 203 -44 q 150 -154 150 -118 "},Ć:{x_min:81,x_max:836.296875,ha:885,o:"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 m 434 1071 l 434 1089 q 464 1134 448 1108 q 496 1187 480 1160 q 526 1242 512 1215 q 552 1293 541 1269 l 784 1293 l 784 1278 q 762 1250 776 1266 q 729 1214 748 1233 q 690 1175 711 1195 q 648 1136 669 1155 q 606 1100 626 1117 q 571 1071 587 1083 l 434 1071 "},Т:{x_min:28,x_max:735,ha:762,o:"m 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 0 "},"£":{x_min:56,x_max:739,ha:765,o:"m 461 1006 q 596 989 535 1006 q 711 950 656 973 l 649 794 q 563 824 602 813 q 482 836 524 836 q 413 810 438 836 q 388 719 388 784 l 388 589 l 608 589 l 608 441 l 388 441 l 388 344 q 379 279 388 306 q 355 231 369 251 q 322 198 340 211 q 285 174 304 184 l 739 174 l 739 0 l 56 0 l 56 166 q 107 193 84 179 q 145 227 129 207 q 169 275 161 247 q 178 342 178 303 l 178 441 l 57 441 l 57 589 l 178 589 l 178 721 q 199 852 178 798 q 258 940 220 906 q 347 990 295 974 q 461 1006 399 1006 "},ů:{x_min:104,x_max:762,ha:871,o:"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 604 1002 q 590 934 604 964 q 554 883 577 904 q 499 851 530 862 q 431 840 468 840 q 363 851 394 840 q 310 883 332 862 q 276 933 288 903 q 264 1001 264 964 q 276 1068 264 1038 q 310 1118 288 1098 q 363 1150 332 1139 q 431 1162 394 1162 q 499 1150 467 1162 q 553 1118 530 1139 q 590 1068 576 1098 q 604 1002 604 1039 m 498 1001 q 480 1049 498 1031 q 434 1066 462 1066 q 387 1049 405 1066 q 369 1001 369 1031 q 385 953 369 970 q 434 935 401 935 q 480 953 462 935 q 498 1001 498 970 "},Ō:{x_min:81,x_max:970,ha:1050,o:"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 316 1214 l 734 1214 l 734 1071 l 316 1071 l 316 1214 "},а:{x_min:58,x_max:694,ha:798,o:"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 "},Ğ:{x_min:81,x_max:895,ha:1006,o:"m 502 557 l 895 557 l 895 42 q 815 18 855 29 q 732 1 775 8 q 642 -9 689 -5 q 542 -14 595 -14 q 345 18 431 -14 q 200 116 259 51 q 111 276 142 181 q 81 497 81 372 q 114 708 81 613 q 214 868 148 802 q 377 970 281 934 q 599 1006 474 1006 q 754 989 678 1006 q 893 944 830 972 l 823 776 q 719 815 777 799 q 597 831 661 831 q 473 806 528 831 q 378 738 418 782 q 318 632 339 694 q 297 492 297 569 q 311 358 297 419 q 357 253 326 298 q 438 185 388 209 q 555 160 487 160 q 631 165 600 160 q 689 174 662 169 l 689 382 l 502 382 l 502 557 m 782 1300 q 760 1207 778 1249 q 712 1135 743 1165 q 636 1087 680 1104 q 533 1071 591 1071 q 429 1087 473 1071 q 354 1133 384 1103 q 308 1205 324 1163 q 290 1300 292 1247 l 405 1300 q 417 1253 408 1270 q 443 1227 427 1236 q 482 1216 459 1218 q 534 1214 505 1214 q 581 1217 559 1214 q 620 1229 603 1220 q 649 1255 638 1238 q 663 1300 661 1272 l 782 1300 "},v:{x_min:-.25,x_max:749.25,ha:749,o:"m 268 0 l 0 758 l 216 758 l 341 326 q 361 245 353 287 q 372 170 370 204 l 376 170 q 387 247 378 206 q 407 326 395 287 l 532 758 l 749 758 l 480 0 l 268 0 "},Ї:{x_min:37,x_max:502,ha:541,o:"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 37 1182 q 44 1223 37 1206 q 64 1251 51 1240 q 94 1268 77 1263 q 131 1274 111 1274 q 168 1268 151 1274 q 198 1251 185 1263 q 219 1223 211 1240 q 227 1182 227 1206 q 219 1142 227 1159 q 198 1114 211 1125 q 168 1097 185 1102 q 131 1092 151 1092 q 94 1097 111 1092 q 64 1114 77 1102 q 44 1142 51 1125 q 37 1182 37 1159 m 310 1182 q 317 1223 310 1206 q 337 1251 324 1240 q 368 1268 350 1263 q 406 1274 385 1274 q 442 1268 425 1274 q 473 1251 459 1263 q 494 1223 486 1240 q 502 1182 502 1206 q 494 1142 502 1159 q 473 1114 486 1125 q 442 1097 459 1102 q 406 1092 425 1092 q 337 1114 365 1092 q 310 1182 310 1136 "},û:{x_min:104,x_max:762,ha:871,o:"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 571 842 q 499 894 536 864 q 426 960 461 923 q 354 894 389 923 q 284 842 319 864 l 147 842 l 147 860 q 186 905 164 879 q 229 958 207 931 q 271 1013 251 986 q 307 1064 292 1040 l 548 1064 q 583 1013 563 1040 q 625 958 603 986 q 669 905 647 931 q 709 860 692 879 l 709 842 l 571 842 "},Ź:{x_min:33,x_max:716,ha:749,o:"m 716 0 l 33 0 l 33 137 l 453 817 l 45 817 l 45 992 l 703 992 l 703 855 l 283 174 l 716 174 l 716 0 m 264 1071 l 264 1089 q 294 1134 278 1108 q 326 1187 310 1160 q 356 1242 342 1215 q 382 1293 371 1269 l 614 1293 l 614 1278 q 592 1250 606 1266 q 559 1214 578 1233 q 520 1175 541 1195 q 478 1136 499 1155 q 436 1100 456 1117 q 401 1071 417 1083 l 264 1071 "},ˉ:{x_min:178,x_max:596,ha:774,o:"m 178 985 l 596 985 l 596 842 l 178 842 l 178 985 "},Ĺ:{x_min:125,x_max:696,ha:743,o:"m 125 0 l 125 992 l 335 992 l 335 174 l 696 174 l 696 0 l 125 0 m 182 1071 l 182 1089 q 212 1134 196 1108 q 244 1187 228 1160 q 274 1242 260 1215 q 300 1293 289 1269 l 532 1293 l 532 1278 q 510 1250 524 1266 q 477 1214 496 1233 q 438 1175 459 1195 q 396 1136 417 1155 q 354 1100 374 1117 q 319 1071 335 1083 l 182 1071 "},"₤":{x_min:56,x_max:739,ha:765,o:"m 461 1006 q 596 989 535 1006 q 711 950 656 973 l 649 794 q 563 824 602 813 q 483 836 525 836 q 414 810 439 836 q 389 720 389 784 l 389 644 l 597 644 l 597 523 l 389 523 l 389 447 l 597 447 l 597 326 l 388 326 q 376 269 386 293 q 352 227 367 245 q 321 197 338 210 q 287 176 304 185 l 739 176 l 739 0 l 56 0 l 56 168 q 104 192 83 179 q 142 223 126 205 q 166 266 157 242 q 178 326 175 291 l 57 326 l 57 447 l 178 447 l 178 523 l 57 523 l 57 644 l 178 644 l 178 722 q 199 852 178 798 q 258 940 220 906 q 347 990 295 974 q 461 1006 399 1006 "},Č:{x_min:81,x_max:836.296875,ha:885,o:"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 m 808 1274 q 768 1229 791 1255 q 724 1176 746 1203 q 682 1121 702 1148 q 647 1071 662 1094 l 406 1071 q 370 1121 391 1094 q 328 1176 350 1148 q 285 1229 306 1203 q 246 1274 263 1255 l 246 1293 l 383 1293 q 453 1240 418 1270 q 525 1174 488 1211 q 598 1240 560 1211 q 670 1293 635 1270 l 808 1293 l 808 1274 "},x:{x_min:6.75,x_max:754.25,ha:761,o:"m 263 387 l 19 758 l 254 758 l 380 530 l 508 758 l 743 758 l 495 387 l 754 0 l 519 0 l 380 245 l 241 0 l 6 0 l 263 387 "},è:{x_min:69,x_max:741,ha:807,o:"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 392 842 q 337 889 369 860 q 273 946 304 917 q 216 1004 242 976 q 180 1049 190 1031 l 180 1064 l 411 1064 q 437 1013 422 1040 q 467 958 451 986 q 499 905 483 931 q 530 860 515 879 l 530 842 l 392 842 "},Ń:{x_min:125,x_max:963,ha:1088,o:"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 m 417 1071 l 417 1089 q 447 1134 431 1108 q 479 1187 463 1160 q 509 1242 495 1215 q 535 1293 524 1269 l 767 1293 l 767 1278 q 745 1250 759 1266 q 712 1214 731 1233 q 673 1175 694 1195 q 631 1136 652 1155 q 589 1100 609 1117 q 554 1071 570 1083 l 417 1071 "},ḿ:{x_min:109,x_max:1204,ha:1308,o:"m 759 0 l 553 0 l 553 442 q 528 565 553 524 q 452 606 504 606 q 386 590 412 606 q 344 542 360 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 345 711 322 690 q 395 746 368 732 q 452 766 422 760 q 514 773 483 773 q 646 746 592 773 q 730 661 701 719 l 747 661 q 786 711 763 690 q 837 746 809 732 q 896 766 865 760 q 958 773 927 773 q 1142 706 1080 773 q 1204 494 1204 640 l 1204 0 l 997 0 l 997 442 q 972 565 997 524 q 896 606 948 606 q 791 548 822 606 q 759 380 759 489 l 759 0 m 546 842 l 546 860 q 576 905 560 879 q 608 958 592 931 q 638 1013 624 986 q 664 1064 653 1040 l 896 1064 l 896 1049 q 874 1021 888 1037 q 841 985 860 1004 q 802 946 823 966 q 760 907 781 926 q 718 871 738 888 q 683 842 699 854 l 546 842 "},μ:{x_min:109,x_max:766,ha:875,o:"m 315 315 q 341 193 315 234 q 421 152 366 152 q 486 168 460 152 q 529 216 513 184 q 552 295 545 248 q 559 401 559 341 l 559 758 l 766 758 l 766 0 l 607 0 l 578 102 l 570 102 q 511 15 547 44 q 425 -14 476 -14 q 358 1 388 -14 q 309 47 328 17 q 312 -10 310 18 q 314 -64 313 -35 q 315 -117 315 -92 l 315 -334 l 109 -334 l 109 758 l 315 758 l 315 315 "},".":{x_min:79,x_max:316,ha:396,o:"m 79 97 q 88 151 79 129 q 113 187 97 173 q 151 206 129 200 q 198 213 173 213 q 243 206 221 213 q 280 187 264 200 q 306 151 297 173 q 316 97 316 129 q 306 45 316 66 q 280 9 297 23 q 243 -11 264 -5 q 198 -18 221 -18 q 151 -11 173 -18 q 113 9 129 -5 q 88 45 97 23 q 79 97 79 66 "},"‘":{x_min:16,x_max:284,ha:298,o:"m 25 652 l 16 666 q 38 744 25 703 q 67 828 51 786 q 100 912 83 870 q 135 992 118 954 l 284 992 q 263 905 273 950 q 244 816 254 861 q 228 730 235 772 q 215 652 220 687 l 25 652 "},π:{x_min:17,x_max:936,ha:985,o:"m 840 148 q 886 154 864 148 q 928 171 908 160 l 928 23 q 899 9 915 15 q 862 -2 882 2 q 821 -10 842 -7 q 778 -14 799 -14 q 691 -1 730 -14 q 625 38 652 11 q 584 108 599 65 q 570 209 570 150 l 570 604 l 381 604 l 381 0 l 175 0 l 175 604 l 17 604 l 17 690 l 137 758 l 936 758 l 936 604 l 776 604 l 776 216 q 795 164 776 181 q 840 148 813 148 "},l:{x_min:109,x_max:315.859375,ha:424,o:"m 315 0 l 109 0 l 109 1055 l 315 1055 l 315 0 "},Ъ:{x_min:28,x_max:920,ha:982,o:"m 920 310 q 897 179 920 237 q 829 81 875 121 q 711 21 782 42 q 542 0 640 0 l 277 0 l 277 817 l 28 817 l 28 992 l 487 992 l 487 613 l 560 613 q 720 590 653 613 q 832 527 788 568 q 898 432 877 487 q 920 310 920 376 m 487 174 l 544 174 q 613 182 583 174 q 665 205 644 189 q 698 247 687 221 q 709 310 709 273 q 697 374 709 349 q 661 413 685 399 q 605 432 638 427 q 530 438 572 438 l 487 438 l 487 174 "}," ":{x_min:0,x_max:0,ha:139},Ś:{x_min:63.46875,x_max:668,ha:728,o:"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 m 278 1071 l 278 1089 q 308 1134 292 1108 q 340 1187 324 1160 q 370 1242 356 1215 q 396 1293 385 1269 l 628 1293 l 628 1278 q 606 1250 620 1266 q 573 1214 592 1233 q 534 1175 555 1195 q 492 1136 513 1155 q 450 1100 470 1117 q 415 1071 431 1083 l 278 1071 "},Ü:{x_min:118,x_max:876,ha:994,o:"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 267 1182 q 274 1223 267 1206 q 294 1251 281 1240 q 324 1268 307 1263 q 361 1274 341 1274 q 398 1268 381 1274 q 428 1251 415 1263 q 449 1223 441 1240 q 457 1182 457 1206 q 449 1142 457 1159 q 428 1114 441 1125 q 398 1097 415 1102 q 361 1092 381 1092 q 324 1097 341 1092 q 294 1114 307 1102 q 274 1142 281 1125 q 267 1182 267 1159 m 540 1182 q 547 1223 540 1206 q 567 1251 554 1240 q 598 1268 580 1263 q 636 1274 615 1274 q 672 1268 655 1274 q 703 1251 689 1263 q 724 1223 716 1240 q 732 1182 732 1206 q 724 1142 732 1159 q 703 1114 716 1125 q 672 1097 689 1102 q 636 1092 655 1092 q 567 1114 595 1092 q 540 1182 540 1136 "},à:{x_min:58,x_max:694,ha:798,o:"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 375 842 q 320 889 352 860 q 256 946 287 917 q 199 1004 225 976 q 163 1049 173 1031 l 163 1064 l 394 1064 q 420 1013 405 1040 q 450 958 434 986 q 482 905 466 931 q 513 860 498 879 l 513 842 l 375 842 "},η:{x_min:109,x_max:767,ha:871,o:"m 560 -334 l 560 438 q 534 564 560 522 q 454 606 509 606 q 388 590 415 606 q 345 542 362 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 345 710 322 689 q 395 745 368 732 q 452 766 422 759 q 515 773 483 773 q 704 702 642 773 q 767 487 767 632 l 767 -334 l 560 -334 "},ó:{x_min:69,x_max:762,ha:832,o:"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 294 842 l 294 860 q 324 905 308 879 q 356 958 340 931 q 386 1013 372 986 q 412 1064 401 1040 l 644 1064 l 644 1049 q 622 1021 636 1037 q 589 985 608 1004 q 550 946 571 966 q 508 907 529 926 q 466 871 486 888 q 431 842 447 854 l 294 842 "},"¦":{x_min:309,x_max:457.53125,ha:765,o:"m 309 1051 l 457 1051 l 457 499 l 309 499 l 309 1051 m 309 238 l 457 238 l 457 -315 l 309 -315 l 309 238 "},Ő:{x_min:81,x_max:970,ha:1050,o:"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 310 1071 l 310 1089 q 340 1134 324 1108 q 372 1187 356 1160 q 402 1242 388 1215 q 427 1293 417 1269 l 632 1293 l 632 1278 q 610 1250 624 1266 q 577 1214 596 1233 q 538 1175 559 1195 q 495 1136 516 1155 q 454 1100 474 1117 q 419 1071 434 1083 l 310 1071 m 579 1071 l 579 1089 q 609 1134 593 1108 q 641 1187 625 1160 q 671 1242 657 1215 q 696 1293 686 1269 l 901 1293 l 901 1278 q 879 1250 893 1266 q 846 1214 865 1233 q 807 1175 828 1195 q 765 1136 786 1155 q 724 1100 743 1117 q 688 1071 704 1083 l 579 1071 "},Ž:{x_min:33,x_max:716,ha:749,o:"m 716 0 l 33 0 l 33 137 l 453 817 l 45 817 l 45 992 l 703 992 l 703 855 l 283 174 l 716 174 l 716 0 m 645 1274 q 605 1229 628 1255 q 561 1176 583 1203 q 519 1121 539 1148 q 484 1071 499 1094 l 243 1071 q 207 1121 228 1094 q 165 1176 187 1148 q 122 1229 143 1203 q 83 1274 100 1255 l 83 1293 l 220 1293 q 290 1240 255 1270 q 362 1174 325 1211 q 435 1240 397 1211 q 507 1293 472 1270 l 645 1293 l 645 1274 "},е:{x_min:69,x_max:741,ha:807,o:"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 "},Î:{x_min:-11,x_max:551,ha:541,o:"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 413 1071 q 341 1123 378 1093 q 268 1189 303 1152 q 196 1123 231 1152 q 126 1071 161 1093 l -11 1071 l -11 1089 q 28 1134 6 1108 q 71 1187 49 1160 q 113 1242 93 1215 q 149 1293 134 1269 l 390 1293 q 425 1242 405 1269 q 467 1187 445 1215 q 511 1134 489 1160 q 551 1089 534 1108 l 551 1071 l 413 1071 "},e:{x_min:69,x_max:741,ha:807,o:"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 "},ό:{x_min:69,x_max:762,ha:832,o:"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 343 860 q 355 906 349 880 q 366 960 361 932 q 377 1014 372 987 q 384 1064 381 1041 l 576 1064 l 576 1049 q 527 950 555 1003 q 463 842 499 897 l 343 842 l 343 860 "},Ĕ:{x_min:125,x_max:696,ha:778,o:"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 658 1300 q 636 1207 654 1249 q 588 1135 619 1165 q 512 1087 556 1104 q 409 1071 467 1071 q 305 1087 349 1071 q 230 1133 260 1103 q 184 1205 200 1163 q 166 1300 168 1247 l 281 1300 q 293 1253 284 1270 q 319 1227 303 1236 q 358 1216 335 1218 q 410 1214 381 1214 q 457 1217 435 1214 q 496 1229 479 1220 q 525 1255 514 1238 q 539 1300 537 1272 l 658 1300 "},ļ:{x_min:82,x_max:315.859375,ha:424,o:"m 315 0 l 109 0 l 109 1055 l 315 1055 l 315 0 m 82 -288 q 94 -242 88 -268 q 105 -188 100 -216 q 116 -134 111 -161 q 123 -85 121 -107 l 315 -85 l 315 -98 q 266 -198 294 -145 q 202 -307 238 -251 l 82 -307 l 82 -288 "}," ":{x_min:0,x_max:0,ha:695},Ѓ:{x_min:125,x_max:696,ha:724,o:"m 696 992 l 696 817 l 335 817 l 335 0 l 125 0 l 125 992 l 696 992 m 288 1071 l 288 1089 q 318 1134 302 1108 q 350 1187 334 1160 q 380 1242 366 1215 q 406 1293 395 1269 l 638 1293 l 638 1278 q 616 1250 630 1266 q 583 1214 602 1233 q 544 1175 565 1195 q 502 1136 523 1155 q 460 1100 480 1117 q 425 1071 441 1083 l 288 1071 "},ò:{x_min:69,x_max:762,ha:832,o:"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 396 842 q 341 889 373 860 q 277 946 308 917 q 220 1004 246 976 q 184 1049 194 1031 l 184 1064 l 415 1064 q 441 1013 426 1040 q 471 958 455 986 q 503 905 487 931 q 534 860 519 879 l 534 842 l 396 842 "},ffl:{x_min:28,x_max:1389.859375,ha:1498,o:"m 503 604 l 348 604 l 348 0 l 142 0 l 142 604 l 28 604 l 28 703 l 142 758 l 142 813 q 159 934 142 886 q 209 1010 177 982 q 288 1051 242 1039 q 392 1063 334 1063 q 497 1053 454 1063 q 570 1030 540 1043 l 521 877 q 477 890 500 884 q 422 896 454 896 q 365 871 382 896 q 348 804 348 845 l 348 758 l 503 758 l 503 604 m 1041 604 l 886 604 l 886 0 l 680 0 l 680 604 l 566 604 l 566 703 l 680 758 l 680 813 q 697 934 680 886 q 747 1010 715 982 q 826 1051 780 1039 q 930 1063 872 1063 q 1035 1053 992 1063 q 1108 1030 1078 1043 l 1059 877 q 1015 890 1038 884 q 960 896 992 896 q 903 871 920 896 q 886 804 886 845 l 886 758 l 1041 758 l 1041 604 m 1389 0 l 1183 0 l 1183 1055 l 1389 1055 l 1389 0 "},"^":{x_min:5,x_max:736,ha:739,o:"m 5 353 l 302 997 l 399 997 l 736 353 l 573 353 l 355 788 q 259 569 308 679 q 165 353 211 458 l 5 353 "},ⁿ:{x_min:69,x_max:500,ha:560,o:"m 363 518 l 363 792 q 346 865 363 843 q 296 887 329 887 q 256 880 273 887 q 227 857 238 874 q 211 813 216 841 q 206 744 206 785 l 206 518 l 69 518 l 69 992 l 180 992 l 199 937 l 207 937 q 262 986 230 970 q 341 1003 295 1003 q 500 833 500 1003 l 500 518 l 363 518 "},к:{x_min:109,x_max:818.25,ha:818,o:"m 563 758 l 791 758 l 522 394 l 818 0 l 583 0 l 315 384 l 315 0 l 109 0 l 109 758 l 315 758 l 315 389 l 563 758 "},"":{x_min:57,x_max:1346,ha:1389,o:"m 57 823 l 57 1030 l 262 1030 l 262 954 l 132 954 l 132 823 l 57 823 m 1139 954 l 1139 1030 l 1346 1030 l 1346 823 l 1272 823 l 1272 954 l 1139 954 m 57 -260 l 57 -54 l 132 -54 l 132 -186 l 262 -186 l 262 -260 l 57 -260 m 1139 -260 l 1139 -186 l 1272 -186 l 1272 -54 l 1346 -54 l 1346 -260 l 1139 -260 m 875 -260 l 875 -186 l 1060 -186 l 1060 -260 l 875 -260 m 345 -260 l 345 -186 l 528 -186 l 528 -260 l 345 -260 m 345 954 l 345 1030 l 528 1030 l 528 954 l 345 954 m 1346 26 l 1272 26 l 1272 210 l 1346 210 l 1346 26 m 1346 558 l 1272 558 l 1272 742 l 1346 742 l 1346 558 m 610 -260 l 610 -186 l 794 -186 l 794 -260 l 610 -260 m 132 26 l 57 26 l 57 210 l 132 210 l 132 26 m 610 954 l 610 1030 l 794 1030 l 794 954 l 610 954 m 875 954 l 875 1030 l 1060 1030 l 1060 954 l 875 954 m 132 291 l 57 291 l 57 476 l 132 476 l 132 291 m 132 558 l 57 558 l 57 742 l 132 742 l 132 558 m 1346 291 l 1272 291 l 1272 476 l 1346 476 l 1346 291 m 408 224 q 276 277 322 224 q 231 427 231 331 q 276 577 231 525 q 408 631 322 630 q 540 578 494 631 q 586 427 586 525 q 540 277 586 331 q 408 224 494 224 m 408 294 q 478 329 457 294 q 499 427 499 364 q 478 525 499 490 q 408 559 457 559 q 339 525 361 559 q 317 427 317 490 q 339 329 317 364 q 408 294 361 294 m 643 626 l 759 626 q 871 603 833 626 q 909 524 909 580 q 893 468 909 491 q 847 439 878 445 l 847 437 q 903 406 886 429 q 921 344 921 383 q 884 259 921 289 q 783 229 847 229 l 643 229 l 643 626 m 726 469 l 770 469 q 814 480 801 469 q 826 513 826 491 q 812 546 826 536 q 766 556 798 556 l 726 556 l 726 469 m 726 402 l 726 298 l 776 298 q 822 312 809 298 q 834 352 834 327 q 821 388 834 374 q 773 402 809 402 l 726 402 m 956 231 l 956 300 q 978 297 967 298 q 1002 295 989 295 q 1044 307 1028 295 q 1061 353 1061 319 l 1061 626 l 1146 626 l 1146 356 q 1110 258 1146 292 q 1011 225 1075 225 q 956 231 969 225 "},ū:{x_min:104,x_max:762,ha:871,o:"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 224 985 l 642 985 l 642 842 l 224 842 l 224 985 "},ˆ:{x_min:119,x_max:681,ha:802,o:"m 543 842 q 471 894 508 864 q 398 960 433 923 q 326 894 361 923 q 256 842 291 864 l 119 842 l 119 860 q 158 905 136 879 q 201 958 179 931 q 243 1013 223 986 q 279 1064 264 1040 l 520 1064 q 555 1013 535 1040 q 597 958 575 986 q 641 905 619 931 q 681 860 664 879 l 681 842 l 543 842 "},Ẅ:{x_min:-.25,x_max:1287.25,ha:1287,o:"m 1048 0 l 809 0 l 687 489 q 681 517 684 499 q 672 559 677 536 q 663 607 667 582 q 654 656 658 632 q 647 700 650 679 q 642 732 644 720 q 638 700 641 720 q 631 656 635 679 q 622 608 627 633 q 613 559 618 582 q 605 517 609 536 q 598 487 601 498 l 477 0 l 238 0 l 0 992 l 206 992 l 319 450 q 325 418 321 439 q 333 372 328 398 q 343 318 338 346 q 353 262 348 289 q 361 211 357 235 q 368 173 366 188 q 373 211 370 188 q 381 260 377 234 q 390 314 385 286 q 399 366 395 342 q 407 409 404 390 q 413 436 411 428 l 551 992 l 735 992 l 873 436 q 879 409 875 428 q 887 366 882 390 q 896 314 891 342 q 905 260 901 286 q 913 211 910 234 q 919 173 917 188 q 925 211 921 188 q 933 262 929 235 q 943 318 938 289 q 953 372 948 346 q 962 418 958 398 q 967 450 965 439 l 1080 992 l 1287 992 l 1048 0 m 410 1182 q 417 1223 410 1206 q 437 1251 424 1240 q 467 1268 450 1263 q 504 1274 484 1274 q 541 1268 524 1274 q 571 1251 558 1263 q 592 1223 584 1240 q 600 1182 600 1206 q 592 1142 600 1159 q 571 1114 584 1125 q 541 1097 558 1102 q 504 1092 524 1092 q 467 1097 484 1092 q 437 1114 450 1102 q 417 1142 424 1125 q 410 1182 410 1159 m 683 1182 q 690 1223 683 1206 q 710 1251 697 1240 q 741 1268 723 1263 q 779 1274 758 1274 q 815 1268 798 1274 q 846 1251 832 1263 q 867 1223 859 1240 q 875 1182 875 1206 q 867 1142 875 1159 q 846 1114 859 1125 q 815 1097 832 1102 q 779 1092 798 1092 q 710 1114 738 1092 q 683 1182 683 1136 "},č:{x_min:69,x_max:687,ha:693,o:"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 m 687 1045 q 647 1000 670 1026 q 603 947 625 974 q 561 892 581 919 q 526 842 541 865 l 285 842 q 249 892 270 865 q 207 947 229 919 q 164 1000 185 974 q 125 1045 142 1026 l 125 1064 l 262 1064 q 332 1011 297 1041 q 404 945 367 982 q 477 1011 439 982 q 549 1064 514 1041 l 687 1064 l 687 1045 "},"’":{x_min:16,x_max:284,ha:298,o:"m 273 992 l 284 977 q 261 898 274 939 q 232 815 248 857 q 198 731 216 772 q 164 652 181 690 l 16 652 q 35 737 25 692 q 54 827 45 782 q 71 913 63 871 q 83 992 78 956 l 273 992 "},Ν:{x_min:125,x_max:963,ha:1088,o:"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 "},"-":{x_min:41,x_max:406,ha:447,o:"m 41 287 l 41 457 l 406 457 l 406 287 l 41 287 "},Q:{x_min:81,x_max:999.25,ha:1050,o:"m 970 496 q 956 345 970 416 q 916 215 943 274 q 849 112 889 157 q 754 36 809 66 l 999 -236 l 729 -236 l 547 -12 q 538 -13 542 -12 q 531 -14 535 -14 q 525 -14 527 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 "},ј:{x_min:-56,x_max:324.5,ha:424,o:"m 68 -334 q 1 -329 36 -334 q -56 -317 -32 -324 l -56 -154 q -16 -164 -34 -161 q 24 -167 1 -167 q 56 -162 41 -167 q 83 -144 72 -157 q 101 -109 94 -131 q 108 -52 108 -87 l 108 758 l 315 758 l 315 -82 q 301 -180 315 -134 q 259 -260 288 -226 q 182 -314 229 -294 q 68 -334 135 -334 m 99 953 q 108 1002 99 983 q 132 1033 116 1021 q 168 1050 147 1045 q 211 1055 188 1055 q 255 1050 234 1055 q 290 1033 275 1045 q 315 1002 306 1021 q 324 953 324 983 q 315 905 324 925 q 290 874 306 885 q 255 857 275 862 q 211 852 234 852 q 168 857 188 852 q 132 874 147 862 q 108 905 116 885 q 99 953 99 925 "},ě:{x_min:69,x_max:741,ha:807,o:"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 698 1045 q 658 1000 681 1026 q 614 947 636 974 q 572 892 592 919 q 537 842 552 865 l 296 842 q 260 892 281 865 q 218 947 240 919 q 175 1000 196 974 q 136 1045 153 1026 l 136 1064 l 273 1064 q 343 1011 308 1041 q 415 945 378 982 q 488 1011 450 982 q 560 1064 525 1041 l 698 1064 l 698 1045 "},œ:{x_min:69,x_max:1222,ha:1289,o:"m 922 -14 q 774 11 842 -14 q 657 90 706 36 q 551 11 612 37 q 413 -14 489 -14 q 274 12 337 -14 q 166 88 211 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 335 773 q 548 746 488 773 q 653 667 608 719 q 759 746 698 720 q 895 773 821 773 q 1031 750 970 773 q 1134 683 1092 727 q 1199 574 1176 639 q 1222 427 1222 510 l 1222 327 l 757 327 l 757 321 q 808 187 761 235 q 936 139 854 139 q 1001 143 970 139 q 1062 154 1032 146 q 1120 172 1091 161 q 1179 198 1149 184 l 1179 39 q 1124 15 1151 25 q 1066 -1 1096 5 q 1000 -10 1035 -7 q 922 -14 965 -14 m 280 380 q 312 209 280 267 q 416 152 344 152 q 519 210 487 152 q 551 380 551 267 q 519 550 551 494 q 414 606 487 606 q 312 550 343 606 q 280 380 280 494 m 896 625 q 844 616 868 625 q 803 586 821 606 q 775 536 786 567 q 761 465 764 506 l 1027 465 q 1018 529 1026 499 q 993 579 1010 558 q 953 613 977 601 q 896 625 928 625 "},"#":{x_min:31,x_max:867,ha:897,o:"m 677 574 l 645 414 l 821 414 l 821 275 l 619 275 l 567 0 l 417 0 l 470 275 l 339 275 l 287 0 l 142 0 l 192 275 l 31 275 l 31 414 l 218 414 l 250 574 l 80 574 l 80 714 l 275 714 l 328 990 l 476 990 l 424 714 l 558 714 l 611 990 l 757 990 l 704 714 l 867 714 l 867 574 l 677 574 m 365 414 l 498 414 l 530 574 l 397 574 l 365 414 "},Џ:{x_min:125,x_max:854,ha:979,o:"m 854 0 l 593 0 l 593 -289 l 388 -289 l 388 0 l 125 0 l 125 992 l 335 992 l 335 174 l 643 174 l 643 992 l 854 992 l 854 0 "},Å:{x_min:-.25,x_max:903.25,ha:903,o:"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 622 1062 q 608 994 622 1024 q 572 943 595 964 q 517 911 548 922 q 449 900 486 900 q 381 911 412 900 q 328 943 350 922 q 294 993 306 963 q 282 1061 282 1024 q 294 1128 282 1098 q 328 1178 306 1158 q 381 1210 350 1199 q 449 1222 412 1222 q 517 1210 485 1222 q 571 1178 548 1199 q 608 1128 594 1158 q 622 1062 622 1099 m 516 1061 q 498 1109 516 1091 q 452 1126 480 1126 q 405 1109 423 1126 q 387 1061 387 1091 q 403 1013 387 1030 q 452 995 419 995 q 498 1013 480 995 q 516 1061 516 1030 "},ș:{x_min:66,x_max:614,ha:668,o:"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 m 218 -288 q 230 -242 224 -268 q 241 -188 236 -216 q 252 -134 247 -161 q 259 -85 257 -107 l 451 -85 l 451 -98 q 402 -198 430 -145 q 338 -307 374 -251 l 218 -307 l 218 -288 "},"¸":{x_min:-25,x_max:284,ha:285,o:"m 284 -169 q 273 -239 284 -208 q 238 -290 262 -269 q 173 -322 214 -311 q 74 -334 133 -334 q 19 -329 43 -334 q -25 -319 -5 -325 l -25 -205 q -2 -210 -14 -208 q 23 -215 10 -213 q 49 -218 36 -217 q 72 -220 62 -220 q 106 -210 91 -220 q 121 -178 121 -201 q 96 -133 121 -153 q 8 -105 70 -114 l 61 0 l 192 0 l 173 -41 q 214 -59 194 -48 q 249 -87 234 -71 q 274 -124 264 -103 q 284 -169 284 -144 "},"=":{x_min:60,x_max:705,ha:765,o:"m 60 546 l 60 695 l 705 695 l 705 546 l 60 546 m 60 284 l 60 433 l 705 433 l 705 284 l 60 284 "},ρ:{x_min:82,x_max:754,ha:823,o:"m 754 379 q 733 211 754 284 q 676 88 713 138 q 584 12 638 38 q 464 -14 530 -14 q 369 0 415 -14 q 288 38 323 15 l 278 38 q 283 -22 280 9 q 287 -80 285 -48 q 288 -143 288 -112 l 288 -334 l 82 -334 l 82 380 q 106 547 82 474 q 174 670 130 620 q 281 746 218 720 q 422 773 344 773 q 554 746 494 773 q 660 670 615 720 q 729 546 704 619 q 754 379 754 472 m 417 606 q 360 594 384 606 q 320 556 336 582 q 296 489 304 529 q 288 390 288 448 l 288 210 q 347 166 314 181 q 417 152 381 152 q 474 165 450 152 q 513 205 497 178 q 535 276 528 233 q 542 379 542 318 q 535 483 542 440 q 513 554 528 526 q 474 594 497 581 q 417 606 450 606 "},Ћ:{x_min:28,x_max:989,ha:1063,o:"m 778 0 l 778 348 q 755 432 778 408 q 677 457 731 457 l 487 457 l 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 728 992 l 728 817 l 487 817 l 487 632 l 692 632 q 817 614 762 632 q 910 561 872 596 q 969 477 949 526 q 989 364 989 427 l 989 0 l 778 0 "},ú:{x_min:104,x_max:762,ha:871,o:"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 313 842 l 313 860 q 343 905 327 879 q 375 958 359 931 q 405 1013 391 986 q 431 1064 420 1040 l 663 1064 l 663 1049 q 641 1021 655 1037 q 608 985 627 1004 q 569 946 590 966 q 527 907 548 926 q 485 871 505 888 q 450 842 466 854 l 313 842 "},"˚":{x_min:231,x_max:571,ha:802,o:"m 571 1002 q 557 934 571 964 q 521 883 544 904 q 466 851 497 862 q 398 840 435 840 q 330 851 361 840 q 277 883 299 862 q 243 933 255 903 q 231 1001 231 964 q 243 1068 231 1038 q 277 1118 255 1098 q 330 1150 299 1139 q 398 1162 361 1162 q 466 1150 434 1162 q 520 1118 497 1139 q 557 1068 543 1098 q 571 1002 571 1039 m 465 1001 q 447 1049 465 1031 q 401 1066 429 1066 q 354 1049 372 1066 q 336 1001 336 1031 q 352 953 336 970 q 401 935 368 935 q 447 953 429 935 q 465 1001 465 970 "},д:{x_min:20,x_max:860,ha:879,o:"m 542 153 l 542 604 l 428 604 q 382 365 411 478 q 300 153 352 252 l 542 153 m 860 -272 l 681 -272 l 681 0 l 198 0 l 198 -272 l 20 -272 l 20 153 l 83 153 q 150 280 121 210 q 199 428 178 350 q 233 589 220 505 q 255 758 247 673 l 749 758 l 749 153 l 860 153 l 860 -272 "},"¯":{x_min:-4,x_max:699,ha:695,o:"m 699 1056 l -4 1056 l -4 1192 l 699 1192 l 699 1056 "},u:{x_min:104,x_max:762,ha:871,o:"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 "},З:{x_min:63.859375,x_max:784,ha:844,o:"m 753 759 q 735 668 753 709 q 687 598 718 628 q 614 548 656 568 q 521 521 572 529 l 521 517 q 632 491 583 510 q 715 441 681 471 q 766 371 748 411 q 784 281 784 331 q 758 162 784 216 q 684 68 733 108 q 562 7 634 29 q 395 -14 490 -14 q 210 0 290 -14 q 72 39 130 13 l 72 215 q 136 188 101 200 q 208 169 171 177 q 281 157 245 161 q 349 152 318 152 q 520 190 467 152 q 573 296 573 227 q 554 357 573 332 q 499 399 535 382 q 413 423 464 415 q 300 431 363 431 l 220 431 l 220 598 l 290 598 q 415 606 366 598 q 494 632 465 615 q 535 672 523 649 q 547 727 547 696 q 507 808 547 778 q 390 839 467 839 q 264 816 322 839 q 154 757 206 794 l 63 897 q 136 942 99 922 q 217 976 174 962 q 311 998 260 991 q 424 1006 363 1006 q 563 987 501 1006 q 666 936 624 969 q 730 858 708 903 q 753 759 753 813 "},Α:{x_min:-.25,x_max:903.25,ha:903,o:"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 "},"⅝":{x_min:61,x_max:1183,ha:1224,o:"m 273 789 q 358 776 319 789 q 426 739 397 764 q 472 679 455 715 q 489 597 489 644 q 424 441 489 496 q 236 386 360 386 q 141 394 187 386 q 61 421 94 403 l 61 551 q 98 538 78 544 q 140 528 119 532 q 183 521 162 523 q 223 518 205 518 q 309 538 276 518 q 341 604 341 558 q 311 666 341 645 q 226 687 281 687 q 185 683 209 687 q 145 675 162 680 l 71 703 l 96 992 l 448 992 l 448 859 l 207 859 l 196 783 q 230 787 210 785 q 273 789 249 789 m 960 992 l 409 0 l 247 0 l 798 992 l 960 992 m 951 607 q 1033 597 995 607 q 1100 569 1071 588 q 1144 523 1128 551 q 1161 458 1161 495 q 1153 413 1161 434 q 1132 376 1146 393 q 1102 347 1119 360 q 1064 323 1084 334 q 1108 295 1087 309 q 1146 263 1129 281 q 1172 221 1162 244 q 1183 169 1183 198 q 1166 95 1183 129 q 1119 36 1149 61 q 1046 -2 1088 11 q 951 -16 1003 -16 q 851 -2 894 -16 q 778 34 808 10 q 734 92 749 58 q 719 165 719 126 q 727 218 719 195 q 751 259 736 241 q 785 291 765 277 q 825 317 804 305 q 792 345 807 330 q 764 376 776 359 q 746 414 752 393 q 740 458 740 434 q 756 523 740 495 q 802 569 773 550 q 869 597 831 587 q 951 607 908 607 m 866 169 q 887 114 866 135 q 949 92 908 92 q 1013 114 991 92 q 1035 169 1035 135 q 1012 223 1035 201 q 948 261 989 246 l 939 264 q 885 226 904 248 q 866 169 866 203 m 949 498 q 903 482 919 498 q 887 447 887 467 q 906 403 887 420 q 951 373 924 387 q 975 386 964 379 q 995 402 987 393 q 1008 422 1003 411 q 1013 447 1013 433 q 998 482 1013 467 q 949 498 983 498 "},é:{x_min:69,x_max:741,ha:807,o:"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 304 842 l 304 860 q 334 905 318 879 q 366 958 350 931 q 396 1013 382 986 q 422 1064 411 1040 l 654 1064 l 654 1049 q 632 1021 646 1037 q 599 985 618 1004 q 560 946 581 966 q 518 907 539 926 q 476 871 496 888 q 441 842 457 854 l 304 842 "},Ş:{x_min:63.46875,x_max:668,ha:728,o:"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 m 510 -169 q 499 -239 510 -208 q 464 -290 488 -269 q 399 -322 440 -311 q 300 -334 359 -334 q 245 -329 269 -334 q 201 -319 220 -325 l 201 -205 q 223 -210 211 -208 q 249 -215 236 -213 q 275 -218 262 -217 q 298 -220 288 -220 q 332 -210 317 -220 q 347 -178 347 -201 q 322 -133 347 -153 q 234 -105 296 -114 l 287 0 l 418 0 l 399 -41 q 440 -59 420 -48 q 475 -87 460 -71 q 500 -124 490 -103 q 510 -169 510 -144 "},B:{x_min:125,x_max:818,ha:892,o:"m 125 992 l 415 992 q 579 978 508 992 q 697 936 649 965 q 768 858 744 906 q 793 740 793 810 q 782 662 793 698 q 752 597 772 625 q 705 551 733 569 q 640 526 677 532 l 640 519 q 709 496 677 511 q 766 454 742 480 q 804 386 790 427 q 818 287 818 345 q 794 166 818 219 q 726 76 770 113 q 618 19 681 39 q 474 0 554 0 l 125 0 l 125 992 m 335 599 l 444 599 q 509 606 483 599 q 552 627 536 613 q 575 662 568 641 q 582 711 582 683 q 547 792 582 768 q 434 817 511 817 l 335 817 l 335 599 m 335 432 l 335 174 l 459 174 q 529 184 501 174 q 575 211 557 193 q 600 253 592 228 q 607 309 607 278 q 600 359 607 336 q 574 398 592 382 q 527 423 556 414 q 454 432 497 432 l 335 432 "},"…":{x_min:79,x_max:1109,ha:1188,o:"m 79 97 q 88 151 79 129 q 113 187 97 173 q 151 206 129 200 q 198 213 173 213 q 243 206 221 213 q 280 187 264 200 q 306 151 297 173 q 316 97 316 129 q 306 45 316 66 q 280 9 297 23 q 243 -11 264 -5 q 198 -18 221 -18 q 151 -11 173 -18 q 113 9 129 -5 q 88 45 97 23 q 79 97 79 66 m 475 97 q 484 151 475 129 q 509 187 493 173 q 547 206 525 200 q 595 213 569 213 q 640 206 618 213 q 677 187 661 200 q 703 151 694 173 q 713 97 713 129 q 703 45 713 66 q 677 9 694 23 q 640 -11 661 -5 q 595 -18 618 -18 q 547 -11 569 -18 q 509 9 525 -5 q 484 45 493 23 q 475 97 475 66 m 872 97 q 881 151 872 129 q 906 187 890 173 q 944 206 922 200 q 991 213 966 213 q 1036 206 1014 213 q 1073 187 1057 200 q 1099 151 1090 173 q 1109 97 1109 129 q 1099 45 1109 66 q 1073 9 1090 23 q 1036 -11 1057 -5 q 991 -18 1014 -18 q 944 -11 966 -18 q 906 9 922 -5 q 881 45 890 23 q 872 97 872 66 "},H:{x_min:125,x_max:882,ha:1007,o:"m 882 0 l 671 0 l 671 428 l 335 428 l 335 0 l 125 0 l 125 992 l 335 992 l 335 603 l 671 603 l 671 992 l 882 992 l 882 0 "},î:{x_min:-70,x_max:492,ha:424,o:"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 354 842 q 282 894 319 864 q 209 960 244 923 q 137 894 172 923 q 67 842 102 864 l -70 842 l -70 860 q -30 905 -52 879 q 12 958 -9 931 q 54 1013 34 986 q 90 1064 75 1040 l 331 1064 q 366 1013 346 1040 q 408 958 386 986 q 452 905 430 931 q 492 860 475 879 l 492 842 l 354 842 "},ν:{x_min:3.75,x_max:731,ha:785,o:"m 3 758 l 216 758 l 345 337 q 356 301 350 322 q 367 258 362 280 q 378 217 373 237 q 387 183 384 197 l 393 183 q 453 294 428 235 q 494 423 478 353 q 516 576 509 493 q 524 758 524 659 l 731 758 q 718 545 731 645 q 674 353 705 446 q 589 174 642 261 q 454 0 536 87 l 268 0 l 3 758 "},Ό:{x_min:-39,x_max:1026,ha:1106,o:"m 1026 496 q 999 287 1026 382 q 917 126 972 193 q 778 22 862 59 q 581 -14 695 -14 q 383 22 467 -14 q 245 126 299 59 q 163 288 190 193 q 137 498 137 382 q 163 707 137 613 q 245 867 190 801 q 384 970 300 934 q 582 1007 467 1007 q 779 970 696 1007 q 917 867 863 934 q 999 706 972 800 q 1026 496 1026 612 m 353 496 q 366 355 353 417 q 408 250 380 293 q 479 184 436 207 q 581 160 522 160 q 685 184 641 160 q 755 250 728 207 q 796 355 783 293 q 809 496 809 417 q 796 636 809 574 q 755 742 783 698 q 685 808 728 785 q 582 832 642 832 q 480 808 523 832 q 408 742 436 785 q 366 636 380 698 q 353 496 353 574 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 "},"−":{x_min:60,x_max:705,ha:765,o:"m 60 415 l 60 564 l 705 564 l 705 415 l 60 415 "},"⅜":{x_min:40,x_max:1183,ha:1224,o:"m 451 846 q 423 766 451 800 q 335 712 396 732 l 335 703 q 395 682 370 697 q 437 649 420 668 q 461 608 453 631 q 470 562 470 586 q 410 433 470 480 q 224 386 350 386 q 128 397 173 386 q 40 433 84 409 l 40 562 q 129 518 84 535 q 224 501 174 501 q 298 519 275 501 q 322 573 322 537 q 316 600 322 587 q 298 623 311 613 q 263 639 285 633 q 208 645 241 645 l 132 645 l 132 754 l 193 754 q 249 760 228 754 q 283 776 271 766 q 299 800 295 787 q 303 828 303 814 q 286 871 303 854 q 235 888 269 888 q 175 875 203 888 q 109 834 147 862 l 41 930 q 134 982 83 961 q 255 1004 185 1004 q 333 992 297 1004 q 395 961 369 981 q 436 911 421 940 q 451 846 451 882 m 960 992 l 409 0 l 247 0 l 798 992 l 960 992 m 951 607 q 1033 597 995 607 q 1100 569 1071 588 q 1144 523 1128 551 q 1161 458 1161 495 q 1153 413 1161 434 q 1132 376 1146 393 q 1102 347 1119 360 q 1064 323 1084 334 q 1108 295 1087 309 q 1146 263 1129 281 q 1172 221 1162 244 q 1183 169 1183 198 q 1166 95 1183 129 q 1119 36 1149 61 q 1046 -2 1088 11 q 951 -16 1003 -16 q 851 -2 894 -16 q 778 34 808 10 q 734 92 749 58 q 719 165 719 126 q 727 218 719 195 q 751 259 736 241 q 785 291 765 277 q 825 317 804 305 q 792 345 807 330 q 764 376 776 359 q 746 414 752 393 q 740 458 740 434 q 756 523 740 495 q 802 569 773 550 q 869 597 831 587 q 951 607 908 607 m 866 169 q 887 114 866 135 q 949 92 908 92 q 1013 114 991 92 q 1035 169 1035 135 q 1012 223 1035 201 q 948 261 989 246 l 939 264 q 885 226 904 248 q 866 169 866 203 m 949 498 q 903 482 919 498 q 887 447 887 467 q 906 403 887 420 q 951 373 924 387 q 975 386 964 379 q 995 402 987 393 q 1008 422 1003 411 q 1013 447 1013 433 q 998 482 1013 467 q 949 498 983 498 "},ǰ:{x_min:-70,x_max:492,ha:424,o:"m 68 -334 q 1 -329 36 -334 q -56 -317 -32 -324 l -56 -154 q -16 -164 -34 -161 q 24 -167 1 -167 q 56 -162 41 -167 q 83 -144 72 -157 q 101 -109 94 -131 q 108 -52 108 -87 l 108 758 l 315 758 l 315 -82 q 301 -180 315 -134 q 259 -260 288 -226 q 182 -314 229 -294 q 68 -334 135 -334 m 492 1045 q 452 1000 475 1026 q 408 947 430 974 q 366 892 386 919 q 331 842 346 865 l 90 842 q 54 892 75 865 q 12 947 34 919 q -30 1000 -9 974 q -70 1045 -52 1026 l -70 1064 l 67 1064 q 137 1011 102 1041 q 209 945 172 982 q 282 1011 244 982 q 354 1064 319 1041 l 492 1064 l 492 1045 "},ā:{x_min:58,x_max:694,ha:798,o:"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 189 985 l 607 985 l 607 842 l 189 842 l 189 985 "},ĵ:{x_min:-70,x_max:492,ha:424,o:"m 68 -334 q 1 -329 36 -334 q -56 -317 -32 -324 l -56 -154 q -16 -164 -34 -161 q 24 -167 1 -167 q 56 -162 41 -167 q 83 -144 72 -157 q 101 -109 94 -131 q 108 -52 108 -87 l 108 758 l 315 758 l 315 -82 q 301 -180 315 -134 q 259 -260 288 -226 q 182 -314 229 -294 q 68 -334 135 -334 m 354 842 q 282 894 319 864 q 209 960 244 923 q 137 894 172 923 q 67 842 102 864 l -70 842 l -70 860 q -30 905 -52 879 q 12 958 -9 931 q 54 1013 34 986 q 90 1064 75 1040 l 331 1064 q 366 1013 346 1040 q 408 958 386 986 q 452 905 430 931 q 492 860 475 879 l 492 842 l 354 842 "},Ĩ:{x_min:3,x_max:537,ha:541,o:"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 158 1135 q 124 1119 137 1135 q 104 1069 112 1103 l 3 1069 q 20 1163 7 1123 q 56 1228 34 1202 q 108 1266 78 1253 q 173 1279 137 1279 q 227 1269 201 1279 q 280 1246 254 1259 q 331 1224 306 1234 q 381 1214 357 1214 q 414 1230 402 1214 q 435 1280 427 1246 l 537 1280 q 519 1187 532 1226 q 482 1122 505 1148 q 430 1083 460 1096 q 366 1071 401 1071 q 312 1081 339 1071 q 259 1103 284 1091 q 208 1125 233 1115 q 158 1135 182 1135 "},"*":{x_min:42.8125,x_max:714.546875,ha:757,o:"m 467 1055 l 439 805 l 692 875 l 714 704 l 483 688 l 635 487 l 481 405 l 375 617 l 282 406 l 122 487 l 272 688 l 42 706 l 69 875 l 316 805 l 289 1055 l 467 1055 "},ă:{x_min:58,x_max:694,ha:798,o:"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 654 1071 q 632 978 650 1020 q 584 906 615 936 q 508 858 552 875 q 405 842 463 842 q 301 858 345 842 q 226 904 256 874 q 180 976 196 934 q 162 1071 164 1018 l 277 1071 q 289 1024 280 1041 q 315 998 299 1007 q 354 987 331 989 q 406 985 377 985 q 453 988 431 985 q 492 1000 475 991 q 521 1026 510 1009 q 535 1071 533 1043 l 654 1071 "},Χ:{x_min:-.25,x_max:871.25,ha:871,o:"m 871 0 l 631 0 l 428 375 l 224 0 l 0 0 l 301 511 l 20 992 l 252 992 l 438 635 l 620 992 l 847 992 l 563 500 l 871 0 "},"†":{x_min:83,x_max:633,ha:717,o:"m 633 628 l 408 649 l 445 0 l 256 0 l 294 649 l 83 628 l 83 792 l 294 772 l 256 1055 l 445 1055 l 408 772 l 633 792 l 633 628 "},"°":{x_min:63,x_max:532,ha:595,o:"m 63 771 q 81 862 63 819 q 131 936 99 904 q 206 987 163 968 q 297 1006 248 1006 q 389 987 346 1006 q 463 936 432 968 q 513 862 495 904 q 532 771 532 819 q 513 679 532 722 q 463 605 495 637 q 389 555 432 573 q 297 538 346 538 q 206 555 248 538 q 131 605 163 573 q 81 679 99 637 q 63 771 63 722 m 211 771 q 218 735 211 752 q 236 705 224 718 q 263 685 248 692 q 297 677 279 677 q 330 685 314 677 q 358 705 346 692 q 376 735 369 718 q 383 771 383 752 q 376 807 383 790 q 358 838 369 825 q 330 858 346 851 q 297 866 314 866 q 263 858 279 866 q 236 838 248 851 q 218 807 224 825 q 211 771 211 790 "},Ξ:{x_min:55,x_max:682,ha:737,o:"m 138 602 l 598 602 l 598 427 l 138 427 l 138 602 m 83 992 l 654 992 l 654 817 l 83 817 l 83 992 m 682 174 l 682 0 l 55 0 l 55 174 l 682 174 "},Ķ:{x_min:125,x_max:880.25,ha:880,o:"m 880 0 l 641 0 l 413 412 l 335 354 l 335 0 l 125 0 l 125 992 l 335 992 l 335 514 l 417 654 l 644 992 l 877 992 l 561 544 l 880 0 m 300 -288 q 312 -242 306 -268 q 323 -188 318 -216 q 334 -134 329 -161 q 341 -85 339 -107 l 533 -85 l 533 -98 q 484 -198 512 -145 q 420 -307 456 -251 l 300 -307 l 300 -288 "},ŵ:{x_min:-.25,x_max:1120.25,ha:1120,o:"m 688 0 l 629 265 q 622 297 626 276 q 612 346 618 319 q 601 403 607 372 q 589 463 595 433 q 559 613 575 532 l 555 613 q 527 462 539 532 q 515 402 521 432 q 504 344 510 371 q 494 296 499 317 q 487 262 490 274 l 426 0 l 204 0 l 0 758 l 205 758 l 282 422 q 294 359 288 395 q 306 284 301 322 q 317 213 312 246 q 324 160 322 179 l 328 160 q 331 193 329 172 q 337 237 334 214 q 344 286 341 261 q 352 332 348 311 q 359 371 356 354 q 364 394 362 387 l 447 758 l 674 758 l 754 394 q 763 348 757 379 q 774 281 768 317 q 784 212 780 246 q 789 160 788 178 l 793 160 q 800 210 795 176 q 811 281 805 243 q 824 357 817 320 q 837 422 831 395 l 917 758 l 1120 758 l 913 0 l 688 0 m 702 842 q 630 894 667 864 q 557 960 592 923 q 485 894 520 923 q 415 842 450 864 l 278 842 l 278 860 q 317 905 295 879 q 360 958 338 931 q 402 1013 382 986 q 438 1064 423 1040 l 679 1064 q 714 1013 694 1040 q 756 958 734 986 q 800 905 778 931 q 840 860 823 879 l 840 842 l 702 842 "},"΄":{x_min:319,x_max:552,ha:802,o:"m 319 860 q 331 906 325 880 q 342 960 337 932 q 353 1014 348 987 q 360 1064 357 1041 l 552 1064 l 552 1049 q 503 950 531 1003 q 439 842 475 897 l 319 842 l 319 860 "},ǽ:{x_min:58,x_max:1159,ha:1225,o:"m 860 -14 q 698 20 771 -14 q 578 125 625 54 q 521 62 549 89 q 459 19 492 36 q 384 -5 426 2 q 287 -14 342 -14 q 199 0 241 -14 q 126 44 157 15 q 76 119 94 74 q 58 226 58 164 q 135 404 58 346 q 367 467 212 461 l 488 471 l 488 528 q 460 598 488 575 q 384 620 433 620 q 289 606 335 620 q 195 568 242 592 l 128 705 q 254 755 185 737 q 399 774 323 774 q 618 685 544 774 q 832 773 704 773 q 968 750 907 773 q 1071 683 1029 727 q 1136 574 1113 639 q 1159 427 1159 510 l 1159 327 l 694 327 q 708 248 696 283 q 744 189 721 213 q 799 152 767 165 q 873 139 831 139 q 996 154 937 139 q 1116 199 1056 168 l 1116 39 q 1061 15 1089 25 q 1003 -1 1034 5 q 937 -10 972 -7 q 860 -14 902 -14 m 488 351 l 419 348 q 348 337 377 347 q 302 312 320 328 q 277 274 285 296 q 269 226 269 252 q 292 159 269 178 q 353 139 316 139 q 406 149 382 139 q 449 177 431 158 q 477 225 467 197 q 488 289 488 252 l 488 351 m 833 625 q 740 586 777 625 q 698 465 704 548 l 964 465 q 955 529 963 499 q 931 579 947 558 q 890 613 915 601 q 833 625 866 625 m 513 842 l 513 860 q 543 905 527 879 q 575 958 559 931 q 605 1013 591 986 q 631 1064 620 1040 l 863 1064 l 863 1049 q 841 1021 855 1037 q 808 985 827 1004 q 769 946 790 966 q 727 907 748 926 q 685 871 705 888 q 650 842 666 854 l 513 842 "},Β:{x_min:125,x_max:818,ha:892,o:"m 125 992 l 415 992 q 579 978 508 992 q 697 936 649 965 q 768 858 744 906 q 793 740 793 810 q 782 662 793 698 q 752 597 772 625 q 705 551 733 569 q 640 526 677 532 l 640 519 q 709 496 677 511 q 766 454 742 480 q 804 386 790 427 q 818 287 818 345 q 794 166 818 219 q 726 76 770 113 q 618 19 681 39 q 474 0 554 0 l 125 0 l 125 992 m 335 599 l 444 599 q 509 606 483 599 q 552 627 536 613 q 575 662 568 641 q 582 711 582 683 q 547 792 582 768 q 434 817 511 817 l 335 817 l 335 599 m 335 432 l 335 174 l 459 174 q 529 184 501 174 q 575 211 557 193 q 600 253 592 228 q 607 309 607 278 q 600 359 607 336 q 574 398 592 382 q 527 423 556 414 q 454 432 497 432 l 335 432 "},Ļ:{x_min:125,x_max:696,ha:743,o:"m 125 0 l 125 992 l 335 992 l 335 174 l 696 174 l 696 0 l 125 0 m 268 -288 q 280 -242 274 -268 q 291 -188 286 -216 q 302 -134 297 -161 q 309 -85 307 -107 l 501 -85 l 501 -98 q 452 -198 480 -145 q 388 -307 424 -251 l 268 -307 l 268 -288 "},Õ:{x_min:81,x_max:970,ha:1050,o:"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 415 1135 q 381 1119 394 1135 q 361 1069 369 1103 l 260 1069 q 277 1163 264 1123 q 313 1228 291 1202 q 365 1266 335 1253 q 430 1279 394 1279 q 484 1269 458 1279 q 537 1246 511 1259 q 588 1224 563 1234 q 638 1214 614 1214 q 671 1230 659 1214 q 692 1280 684 1246 l 794 1280 q 776 1187 789 1226 q 739 1122 762 1148 q 687 1083 717 1096 q 623 1071 658 1071 q 569 1081 596 1071 q 516 1103 541 1091 q 465 1125 490 1115 q 415 1135 439 1135 "},"№":{x_min:92,x_max:1321,ha:1372,o:"m 807 0 l 577 0 l 272 710 l 262 710 q 271 608 267 659 q 276 516 274 565 q 279 426 279 467 l 279 0 l 92 0 l 92 992 l 321 992 l 625 286 l 636 286 q 627 379 631 332 q 622 468 624 420 q 619 559 619 516 l 619 992 l 807 992 l 807 0 m 901 0 l 901 132 l 1306 132 l 1306 0 l 901 0 m 1321 438 q 1305 333 1321 379 q 1262 256 1290 287 q 1193 207 1233 224 q 1102 191 1152 191 q 1016 207 1056 191 q 948 256 977 224 q 903 333 919 287 q 888 438 888 379 q 903 542 888 497 q 946 619 918 588 q 1015 667 974 651 q 1105 684 1055 684 q 1190 667 1151 684 q 1259 619 1230 651 q 1304 542 1287 588 q 1321 438 1321 497 m 1058 438 q 1069 334 1058 369 q 1104 299 1080 299 q 1139 334 1128 299 q 1150 438 1150 369 q 1139 541 1150 507 q 1104 575 1128 575 q 1069 541 1080 575 q 1058 438 1058 507 "},χ:{x_min:-33.1875,x_max:789.25,ha:781,o:"m 155 768 q 235 756 202 768 q 291 721 268 745 q 332 661 314 698 q 365 573 349 624 l 412 423 l 581 758 l 789 758 l 501 236 l 625 -87 q 644 -126 634 -111 q 666 -151 654 -141 q 693 -164 678 -160 q 725 -167 707 -167 q 753 -166 738 -167 q 789 -159 767 -164 l 789 -313 q 761 -322 774 -319 q 733 -328 748 -326 q 701 -332 718 -331 q 664 -334 685 -334 q 586 -321 620 -334 q 527 -284 552 -308 q 482 -222 501 -259 q 447 -135 462 -184 l 379 85 l 187 -334 l -33 -334 l 286 270 l 202 511 q 183 555 194 538 q 161 583 173 573 q 136 597 149 593 q 108 601 122 601 q 76 599 95 601 q 36 588 57 596 l 36 747 q 92 761 64 755 q 155 768 120 768 "},ί:{x_min:109,x_max:509,ha:538,o:"m 315 758 l 315 236 q 337 171 315 192 q 395 150 359 150 q 453 157 425 150 q 509 174 480 164 l 509 20 q 436 -4 479 5 q 342 -14 393 -14 q 250 -2 292 -14 q 176 37 207 9 q 126 115 144 66 q 109 237 109 163 l 109 758 l 315 758 m 140 860 q 152 906 146 880 q 163 960 158 932 q 174 1014 169 987 q 181 1064 178 1041 l 373 1064 l 373 1049 q 324 950 352 1003 q 260 842 296 897 l 140 842 l 140 860 "},Ζ:{x_min:33,x_max:716,ha:749,o:"m 716 0 l 33 0 l 33 137 l 453 817 l 45 817 l 45 992 l 703 992 l 703 855 l 283 174 l 716 174 l 716 0 "},Ľ:{x_min:125,x_max:696,ha:743,o:"m 125 0 l 125 992 l 335 992 l 335 174 l 696 174 l 696 0 l 125 0 m 444 788 q 456 835 450 809 q 467 888 462 861 q 478 943 473 916 q 485 993 483 970 l 677 993 l 677 979 q 628 879 656 933 q 564 771 600 825 l 444 771 l 444 788 "},ť:{x_min:32,x_max:654,ha:575,o:"m 416 152 q 474 158 446 152 q 530 175 501 165 l 530 20 q 457 -4 500 5 q 364 -14 414 -14 q 271 -2 314 -14 q 198 38 229 9 q 148 115 166 67 q 131 237 131 164 l 131 604 l 32 604 l 32 691 l 145 759 l 205 919 l 337 919 l 337 758 l 521 758 l 521 604 l 337 604 l 337 238 q 359 173 337 194 q 416 152 381 152 m 421 865 q 433 912 427 886 q 444 965 439 938 q 455 1020 450 993 q 462 1070 460 1047 l 654 1070 l 654 1056 q 605 956 633 1010 q 541 848 577 902 l 421 848 l 421 865 "},o:{x_min:69,x_max:762,ha:832,o:"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 "},Ѕ:{x_min:63.46875,x_max:668,ha:728,o:"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 "},"�":{x_min:57.328125,x_max:1331.03125,ha:1389,o:"m 693 1055 l 1331 419 l 693 -216 l 57 419 l 693 1055 m 737 249 l 737 280 q 748 331 737 310 q 811 392 759 352 q 904 488 878 443 q 931 592 931 532 q 914 676 931 639 q 866 737 897 712 q 791 775 835 762 q 692 789 747 789 q 632 783 662 789 q 572 769 601 778 q 514 747 542 759 q 464 722 487 736 l 519 601 q 608 640 565 624 q 689 656 651 656 q 753 636 732 656 q 774 584 774 616 q 761 528 774 551 q 692 461 747 505 q 620 384 645 425 q 595 289 595 343 l 595 249 l 737 249 m 577 62 q 601 -4 577 20 q 672 -29 625 -29 q 742 -4 718 -29 q 767 62 767 20 q 742 130 767 105 q 672 155 718 155 q 601 130 625 155 q 577 62 577 105 "},d:{x_min:69,x_max:735,ha:844,o:"m 329 -14 q 224 11 271 -14 q 141 85 176 36 q 88 208 107 134 q 69 377 69 281 q 88 549 69 475 q 142 672 107 622 q 227 747 178 722 q 335 773 276 773 q 402 764 372 773 q 457 741 433 756 q 500 706 481 726 q 534 663 520 687 l 541 663 q 534 716 537 690 q 528 765 530 739 q 526 813 526 791 l 526 1055 l 735 1055 l 735 0 l 575 0 l 534 99 l 526 99 q 493 54 512 75 q 451 18 475 34 q 397 -5 427 3 q 329 -14 367 -14 m 406 152 q 467 164 442 152 q 508 202 492 177 q 531 266 524 228 q 540 355 539 304 l 540 378 q 533 476 540 433 q 511 547 526 519 q 470 591 496 576 q 404 606 444 606 q 310 547 340 606 q 280 376 280 489 q 310 208 280 264 q 406 152 341 152 "},",":{x_min:43,x_max:312,ha:403,o:"m 312 145 q 289 67 302 108 q 259 -15 275 26 q 226 -99 243 -57 q 192 -179 209 -141 l 43 -179 q 63 -92 53 -137 q 82 -3 73 -48 q 98 82 91 40 q 111 161 106 125 l 301 161 l 312 145 "},'"':{x_min:90,x_max:565.21875,ha:656,o:"m 279 992 l 251 634 l 117 634 l 90 992 l 279 992 m 565 992 l 537 634 l 403 634 l 376 992 l 565 992 "},ľ:{x_min:109,x_max:611,ha:424,o:"m 315 0 l 109 0 l 109 1055 l 315 1055 l 315 0 m 378 851 q 390 898 384 872 q 401 951 396 924 q 412 1006 407 979 q 419 1056 417 1033 l 611 1056 l 611 1042 q 562 942 590 996 q 498 834 534 888 l 378 834 l 378 851 "},ė:{x_min:69,x_max:741,ha:807,o:"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 296 954 q 304 1003 296 984 q 328 1034 313 1022 q 364 1051 344 1046 q 408 1056 385 1056 q 451 1051 431 1056 q 487 1034 472 1046 q 511 1003 502 1022 q 521 954 521 984 q 511 906 521 926 q 487 875 502 886 q 451 858 472 863 q 408 853 431 853 q 364 858 385 853 q 328 875 344 863 q 304 906 313 886 q 296 954 296 926 "},Í:{x_min:44.28125,x_max:510,ha:541,o:"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 160 1071 l 160 1089 q 190 1134 174 1108 q 222 1187 206 1160 q 252 1242 238 1215 q 278 1293 267 1269 l 510 1293 l 510 1278 q 488 1250 502 1266 q 455 1214 474 1233 q 416 1175 437 1195 q 374 1136 395 1155 q 332 1100 352 1117 q 297 1071 313 1083 l 160 1071 "},Ú:{x_min:118,x_max:876,ha:994,o:"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 387 1071 l 387 1089 q 417 1134 401 1108 q 449 1187 433 1160 q 479 1242 465 1215 q 505 1293 494 1269 l 737 1293 l 737 1278 q 715 1250 729 1266 q 682 1214 701 1233 q 643 1175 664 1195 q 601 1136 622 1155 q 559 1100 579 1117 q 524 1071 540 1083 l 387 1071 "}," ":{x_min:0,x_max:0,ha:278},Ŷ:{x_min:-.25,x_max:812.25,ha:811,o:"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 m 548 1071 q 476 1123 513 1093 q 403 1189 438 1152 q 331 1123 366 1152 q 261 1071 296 1093 l 124 1071 l 124 1089 q 163 1134 141 1108 q 206 1187 184 1160 q 248 1242 228 1215 q 284 1293 269 1269 l 525 1293 q 560 1242 540 1269 q 602 1187 580 1215 q 646 1134 624 1160 q 686 1089 669 1108 l 686 1071 l 548 1071 "},Ý:{x_min:-.25,x_max:812.25,ha:811,o:"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 m 287 1071 l 287 1089 q 317 1134 301 1108 q 349 1187 333 1160 q 379 1242 365 1215 q 405 1293 394 1269 l 637 1293 l 637 1278 q 615 1250 629 1266 q 582 1214 601 1233 q 543 1175 564 1195 q 501 1136 522 1155 q 459 1100 479 1117 q 424 1071 440 1083 l 287 1071 "},ŝ:{x_min:66,x_max:633,ha:668,o:"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 m 495 842 q 423 894 460 864 q 350 960 385 923 q 278 894 313 923 q 208 842 243 864 l 71 842 l 71 860 q 110 905 88 879 q 153 958 131 931 q 195 1013 175 986 q 231 1064 216 1040 l 472 1064 q 507 1013 487 1040 q 549 958 527 986 q 593 905 571 931 q 633 860 616 879 l 633 842 l 495 842 "}," ":{x_min:0,x_max:0,ha:1389},ą:{x_min:58,x_max:702,ha:798,o:"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 570 -154 q 585 -196 570 -182 q 624 -209 600 -209 q 667 -205 645 -209 q 702 -197 688 -201 l 702 -318 q 655 -329 680 -324 q 596 -334 630 -334 q 525 -322 557 -334 q 472 -290 494 -310 q 438 -241 450 -269 q 427 -177 427 -212 q 436 -124 427 -148 q 462 -78 445 -99 q 501 -38 479 -57 q 549 0 523 -19 l 670 0 q 596 -81 623 -44 q 570 -154 570 -118 "},"​":{x_min:0,x_max:0,ha:0},ã:{x_min:58,x_max:694,ha:798,o:"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 289 906 q 255 890 268 906 q 235 840 243 874 l 134 840 q 151 934 138 894 q 187 999 165 973 q 239 1037 209 1024 q 304 1050 268 1050 q 358 1040 332 1050 q 411 1017 385 1030 q 462 995 437 1005 q 512 985 488 985 q 545 1001 533 985 q 566 1051 558 1017 l 668 1051 q 650 958 663 997 q 613 893 636 919 q 561 854 591 867 q 497 842 532 842 q 443 852 470 842 q 390 874 415 862 q 339 896 364 886 q 289 906 313 906 "},æ:{x_min:58,x_max:1159,ha:1225,o:"m 860 -14 q 698 20 771 -14 q 578 125 625 54 q 521 62 549 89 q 459 19 492 36 q 384 -5 426 2 q 287 -14 342 -14 q 199 0 241 -14 q 126 44 157 15 q 76 119 94 74 q 58 226 58 164 q 135 404 58 346 q 367 467 212 461 l 488 471 l 488 528 q 460 598 488 575 q 384 620 433 620 q 289 606 335 620 q 195 568 242 592 l 128 705 q 254 755 185 737 q 399 774 323 774 q 618 685 544 774 q 832 773 704 773 q 968 750 907 773 q 1071 683 1029 727 q 1136 574 1113 639 q 1159 427 1159 510 l 1159 327 l 694 327 q 708 248 696 283 q 744 189 721 213 q 799 152 767 165 q 873 139 831 139 q 996 154 937 139 q 1116 199 1056 168 l 1116 39 q 1061 15 1089 25 q 1003 -1 1034 5 q 937 -10 972 -7 q 860 -14 902 -14 m 488 351 l 419 348 q 348 337 377 347 q 302 312 320 328 q 277 274 285 296 q 269 226 269 252 q 292 159 269 178 q 353 139 316 139 q 406 149 382 139 q 449 177 431 158 q 477 225 467 197 q 488 289 488 252 l 488 351 m 833 625 q 740 586 777 625 q 698 465 704 548 l 964 465 q 955 529 963 499 q 931 579 947 558 q 890 613 915 601 q 833 625 866 625 "},ĩ:{x_min:-55,x_max:479,ha:424,o:"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 100 906 q 66 890 79 906 q 46 840 54 874 l -55 840 q -37 934 -50 894 q -1 999 -23 973 q 50 1037 20 1024 q 115 1050 79 1050 q 169 1040 143 1050 q 222 1017 196 1030 q 273 995 248 1005 q 323 985 299 985 q 356 1001 344 985 q 377 1051 369 1017 l 479 1051 q 461 958 474 997 q 424 893 447 919 q 372 854 402 867 q 308 842 343 842 q 254 852 281 842 q 201 874 226 862 q 150 896 175 886 q 100 906 124 906 "},"~":{x_min:60,x_max:705,ha:765,o:"m 358 417 q 313 435 333 428 q 278 447 294 443 q 248 453 262 452 q 218 455 234 455 q 177 449 198 455 q 136 431 156 442 q 96 405 116 420 q 60 373 77 390 l 60 530 q 137 585 94 566 q 233 604 180 604 q 271 602 253 604 q 307 595 288 600 q 350 582 326 591 q 406 560 374 574 q 451 542 432 549 q 487 531 471 535 q 518 525 503 526 q 547 523 532 523 q 587 529 566 523 q 629 547 608 536 q 668 573 649 558 q 705 605 688 588 l 705 448 q 531 375 636 375 q 493 376 511 375 q 457 382 476 378 q 414 395 438 387 q 358 417 390 404 "},ŀ:{x_min:109,x_max:620,ha:603,o:"m 315 0 l 109 0 l 109 1055 l 315 1055 l 315 0 m 395 471 q 403 520 395 501 q 427 551 412 539 q 463 568 443 563 q 507 573 484 573 q 550 568 530 573 q 586 551 571 563 q 610 520 601 539 q 620 471 620 501 q 610 423 620 443 q 586 392 601 403 q 550 375 571 380 q 507 370 530 370 q 463 375 484 370 q 427 392 443 380 q 403 423 412 403 q 395 471 395 443 "},Ċ:{x_min:81,x_max:836.296875,ha:885,o:"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 m 424 1183 q 432 1232 424 1213 q 456 1263 441 1251 q 492 1280 472 1275 q 536 1285 513 1285 q 579 1280 559 1285 q 615 1263 600 1275 q 639 1232 630 1251 q 649 1183 649 1213 q 639 1135 649 1155 q 615 1104 630 1115 q 579 1087 600 1092 q 536 1082 559 1082 q 492 1087 513 1082 q 456 1104 472 1092 q 432 1135 441 1115 q 424 1183 424 1155 "},"¡":{x_min:79,x_max:316,ha:397,o:"m 113 410 l 278 410 l 313 -250 l 79 -250 l 113 410 m 316 642 q 306 588 316 610 q 281 552 297 566 q 243 533 265 539 q 196 527 221 527 q 151 533 173 527 q 114 552 130 539 q 88 588 97 566 q 79 642 79 610 q 88 695 79 673 q 114 731 97 717 q 151 751 130 745 q 196 758 173 758 q 243 751 221 758 q 281 731 265 745 q 306 695 297 717 q 316 642 316 673 "},ẅ:{x_min:-.25,x_max:1120.25,ha:1120,o:"m 688 0 l 629 265 q 622 297 626 276 q 612 346 618 319 q 601 403 607 372 q 589 463 595 433 q 559 613 575 532 l 555 613 q 527 462 539 532 q 515 402 521 432 q 504 344 510 371 q 494 296 499 317 q 487 262 490 274 l 426 0 l 204 0 l 0 758 l 205 758 l 282 422 q 294 359 288 395 q 306 284 301 322 q 317 213 312 246 q 324 160 322 179 l 328 160 q 331 193 329 172 q 337 237 334 214 q 344 286 341 261 q 352 332 348 311 q 359 371 356 354 q 364 394 362 387 l 447 758 l 674 758 l 754 394 q 763 348 757 379 q 774 281 768 317 q 784 212 780 246 q 789 160 788 178 l 793 160 q 800 210 795 176 q 811 281 805 243 q 824 357 817 320 q 837 422 831 395 l 917 758 l 1120 758 l 913 0 l 688 0 m 327 953 q 334 994 327 977 q 354 1022 341 1011 q 384 1039 367 1034 q 421 1045 401 1045 q 458 1039 441 1045 q 488 1022 475 1034 q 509 994 501 1011 q 517 953 517 977 q 509 913 517 930 q 488 885 501 896 q 458 868 475 873 q 421 863 441 863 q 384 868 401 863 q 354 885 367 873 q 334 913 341 896 q 327 953 327 930 m 600 953 q 607 994 600 977 q 627 1022 614 1011 q 658 1039 640 1034 q 696 1045 675 1045 q 732 1039 715 1045 q 763 1022 749 1034 q 784 994 776 1011 q 792 953 792 977 q 784 913 792 930 q 763 885 776 896 q 732 868 749 873 q 696 863 715 863 q 627 885 655 863 q 600 953 600 907 "},К:{x_min:125,x_max:878.25,ha:878,o:"m 878 0 l 639 0 l 335 502 l 335 0 l 125 0 l 125 992 l 335 992 l 335 511 l 635 992 l 859 992 l 552 515 l 878 0 "},Γ:{x_min:125,x_max:696,ha:724,o:"m 696 992 l 696 817 l 335 817 l 335 0 l 125 0 l 125 992 l 696 992 "},P:{x_min:125,x_max:769,ha:831,o:"m 335 526 l 377 526 q 513 561 467 526 q 558 674 558 596 q 517 782 558 747 q 389 817 476 817 l 335 817 l 335 526 m 769 682 q 749 557 769 616 q 684 451 729 497 q 565 379 639 406 q 383 352 492 352 l 335 352 l 335 0 l 125 0 l 125 992 l 400 992 q 565 970 496 992 q 680 909 635 949 q 747 812 725 869 q 769 682 769 754 "},"%":{x_min:43,x_max:1181,ha:1224,o:"m 213 695 q 229 566 213 608 q 278 523 244 523 q 327 565 311 523 q 343 695 343 607 q 278 865 343 865 q 229 823 244 865 q 213 695 213 781 m 514 695 q 500 564 514 622 q 457 465 486 505 q 383 404 427 425 q 276 383 338 383 q 175 404 219 383 q 102 465 131 425 q 57 564 72 505 q 43 695 43 622 q 56 826 43 769 q 98 924 70 884 q 171 984 127 963 q 276 1006 215 1006 q 379 984 335 1006 q 453 924 423 963 q 498 826 483 884 q 514 695 514 769 m 967 992 l 416 0 l 254 0 l 805 992 l 967 992 m 880 299 q 896 170 880 213 q 945 128 911 128 q 994 170 978 128 q 1010 299 1010 212 q 945 469 1010 469 q 896 427 911 469 q 880 299 880 386 m 1181 300 q 1167 168 1181 226 q 1123 70 1153 110 q 1050 9 1094 30 q 943 -12 1005 -12 q 842 9 885 -12 q 769 70 798 30 q 724 168 739 110 q 710 300 710 226 q 723 430 710 373 q 765 528 737 488 q 838 588 794 567 q 943 610 882 610 q 1046 588 1001 610 q 1120 528 1090 567 q 1165 430 1150 488 q 1181 300 1181 373 "},ϖ:{x_min:35.03125,x_max:1310.578125,ha:1346,o:"m 886 -14 q 810 -3 843 -14 q 751 25 777 6 q 708 72 726 45 q 677 133 690 100 l 670 133 q 640 72 658 100 q 596 25 621 45 q 538 -3 571 6 q 462 -14 505 -14 q 334 9 389 -14 q 243 79 279 33 q 188 190 206 124 q 170 341 170 256 q 181 474 170 407 q 212 604 193 541 l 35 604 l 35 689 l 148 758 l 1310 758 l 1310 604 l 1135 604 q 1166 474 1154 541 q 1179 341 1179 407 q 1160 190 1179 256 q 1105 79 1141 124 q 1013 9 1068 33 q 886 -14 958 -14 m 984 348 q 973 474 984 409 q 944 604 963 540 l 403 604 q 374 477 384 541 q 364 350 364 413 q 392 200 364 249 q 481 152 420 152 q 527 163 509 152 q 557 195 546 174 q 572 248 567 217 q 577 320 577 279 l 577 412 l 771 412 l 771 320 q 776 248 771 279 q 791 195 780 217 q 821 163 802 174 q 867 152 839 152 q 956 200 929 152 q 984 348 984 249 "},_:{x_min:-3,x_max:574,ha:571,o:"m 574 -219 l -3 -219 l -3 -125 l 574 -125 l 574 -219 "},ñ:{x_min:109,x_max:767,ha:871,o:"m 767 0 l 560 0 l 560 442 q 535 565 560 524 q 456 606 510 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 m 324 906 q 290 890 303 906 q 270 840 278 874 l 169 840 q 186 934 173 894 q 222 999 200 973 q 274 1037 244 1024 q 339 1050 303 1050 q 393 1040 367 1050 q 446 1017 420 1030 q 497 995 472 1005 q 547 985 523 985 q 580 1001 568 985 q 601 1051 593 1017 l 703 1051 q 685 958 698 997 q 648 893 671 919 q 596 854 626 867 q 532 842 567 842 q 478 852 505 842 q 425 874 450 862 q 374 896 399 886 q 324 906 348 906 "},Ŕ:{x_min:125,x_max:875.25,ha:875,o:"m 335 545 l 393 545 q 520 581 481 545 q 558 685 558 616 q 517 786 558 756 q 389 817 476 817 l 335 817 l 335 545 m 335 379 l 335 0 l 125 0 l 125 992 l 396 992 q 678 918 587 992 q 769 694 769 844 q 755 601 769 642 q 719 527 741 559 q 666 471 696 495 q 604 430 637 447 q 739 215 679 310 q 789 136 765 175 q 832 67 813 98 q 863 18 851 37 l 875 0 l 641 0 l 427 379 l 335 379 m 310 1071 l 310 1089 q 340 1134 324 1108 q 372 1187 356 1160 q 402 1242 388 1215 q 428 1293 417 1269 l 660 1293 l 660 1278 q 638 1250 652 1266 q 605 1214 624 1233 q 566 1175 587 1195 q 524 1136 545 1155 q 482 1100 502 1117 q 447 1071 463 1083 l 310 1071 "},"‚":{x_min:43,x_max:312,ha:403,o:"m 312 145 q 289 67 302 108 q 259 -15 275 26 q 226 -99 243 -57 q 192 -179 209 -141 l 43 -179 q 63 -92 53 -137 q 82 -3 73 -48 q 98 82 91 40 q 111 161 106 125 l 301 161 l 312 145 "},"⅞":{x_min:45,x_max:1145,ha:1224,o:"m 109 397 l 336 859 l 45 859 l 45 992 l 498 992 l 498 882 l 270 397 l 109 397 m 899 992 l 348 0 l 186 0 l 737 992 l 899 992 m 913 607 q 995 597 957 607 q 1062 569 1033 588 q 1106 523 1090 551 q 1123 458 1123 495 q 1115 413 1123 434 q 1094 376 1108 393 q 1064 347 1081 360 q 1026 323 1046 334 q 1070 295 1049 309 q 1108 263 1091 281 q 1134 221 1124 244 q 1145 169 1145 198 q 1128 95 1145 129 q 1081 36 1111 61 q 1008 -2 1050 11 q 913 -16 965 -16 q 813 -2 856 -16 q 740 34 770 10 q 696 92 711 58 q 681 165 681 126 q 689 218 681 195 q 713 259 698 241 q 747 291 727 277 q 787 317 766 305 q 754 345 769 330 q 726 376 738 359 q 708 414 714 393 q 702 458 702 434 q 718 523 702 495 q 764 569 735 550 q 831 597 793 587 q 913 607 870 607 m 828 169 q 849 114 828 135 q 911 92 870 92 q 975 114 953 92 q 997 169 997 135 q 974 223 997 201 q 910 261 951 246 l 901 264 q 847 226 866 248 q 828 169 828 203 m 911 498 q 865 482 881 498 q 849 447 849 467 q 868 403 849 420 q 913 373 886 387 q 937 386 926 379 q 957 402 949 393 q 970 422 965 411 q 975 447 975 433 q 960 482 975 467 q 911 498 945 498 "},Æ:{x_min:0,x_max:1198,ha:1280,o:"m 1198 0 l 628 0 l 628 235 l 315 235 l 213 0 l 0 0 l 444 992 l 1198 992 l 1198 817 l 838 817 l 838 602 l 1173 602 l 1173 427 l 838 427 l 838 174 l 1198 174 l 1198 0 m 392 410 l 628 410 l 628 810 l 562 810 l 392 410 "},"₣":{x_min:24,x_max:693,ha:765,o:"m 335 299 l 518 299 l 518 178 l 335 178 l 335 0 l 125 0 l 125 178 l 24 178 l 24 299 l 125 299 l 125 992 l 693 992 l 693 822 l 335 822 l 335 592 l 667 592 l 667 422 l 335 422 l 335 299 "},Ū:{x_min:118,x_max:876,ha:994,o:"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 287 1214 l 705 1214 l 705 1071 l 287 1071 l 287 1214 "},ы:{x_min:109,x_max:1031,ha:1139,o:"m 315 467 l 407 467 q 644 411 567 467 q 721 242 721 356 q 703 142 721 187 q 647 65 685 97 q 550 17 609 34 q 405 0 490 0 l 109 0 l 109 758 l 315 758 l 315 467 m 514 239 q 484 300 514 281 q 395 319 454 319 l 315 319 l 315 147 l 397 147 q 444 152 423 147 q 481 168 466 156 q 505 196 496 179 q 514 239 514 214 m 1031 0 l 824 0 l 824 758 l 1031 758 l 1031 0 "},ѓ:{x_min:109,x_max:590,ha:623,o:"m 590 758 l 590 604 l 315 604 l 315 0 l 109 0 l 109 758 l 590 758 m 231 842 l 231 860 q 261 905 245 879 q 293 958 277 931 q 323 1013 309 986 q 349 1064 338 1040 l 581 1064 l 581 1049 q 559 1021 573 1037 q 526 985 545 1004 q 487 946 508 966 q 445 907 466 926 q 403 871 423 888 q 368 842 384 854 l 231 842 "},Œ:{x_min:81,x_max:1228,ha:1310,o:"m 1228 0 l 657 0 q 594 -10 627 -6 q 525 -14 561 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 412 1007 q 596 1003 563 1007 q 660 992 629 999 l 1228 992 l 1228 817 l 868 817 l 868 602 l 1203 602 l 1203 427 l 868 427 l 868 174 l 1228 174 l 1228 0 m 526 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 599 167 566 160 q 658 187 632 174 l 658 804 q 600 824 632 817 q 526 832 567 832 "},"΅":{x_min:126,x_max:675,ha:802,o:"m 126 953 q 148 1023 126 1001 q 206 1044 170 1044 q 265 1023 242 1044 q 288 953 288 1001 q 265 885 288 907 q 206 863 242 863 q 148 885 170 863 q 126 953 126 907 m 512 953 q 534 1023 512 1001 q 593 1044 556 1044 q 652 1023 629 1044 q 675 953 675 1001 q 652 885 675 907 q 593 863 629 863 q 534 885 556 863 q 512 953 512 907 m 330 959 q 342 1006 336 980 q 354 1059 348 1032 q 364 1114 360 1087 q 372 1164 369 1141 l 550 1164 l 550 1150 q 495 1050 528 1104 q 423 942 462 996 l 330 942 l 330 959 "},Ą:{x_min:-.25,x_max:903.25,ha:903,o:"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 712 -154 q 727 -196 712 -182 q 766 -209 742 -209 q 809 -205 787 -209 q 844 -197 830 -201 l 844 -318 q 797 -329 822 -324 q 738 -334 772 -334 q 667 -322 699 -334 q 614 -290 636 -310 q 580 -241 592 -269 q 569 -177 569 -212 q 578 -124 569 -148 q 604 -78 587 -99 q 643 -38 621 -57 q 691 0 665 -19 l 812 0 q 738 -81 765 -44 q 712 -154 712 -118 "},Њ:{x_min:125,x_max:1274,ha:1336,o:"m 1274 310 q 1251 179 1274 237 q 1183 81 1229 121 q 1066 21 1137 42 q 896 0 994 0 l 632 0 l 632 429 l 335 429 l 335 0 l 125 0 l 125 992 l 335 992 l 335 604 l 632 604 l 632 992 l 842 992 l 842 612 l 915 612 q 1075 589 1008 612 q 1187 527 1142 567 q 1252 431 1231 487 q 1274 310 1274 376 m 842 174 l 899 174 q 967 182 937 174 q 1019 205 998 189 q 1052 247 1041 221 q 1063 311 1063 274 q 1051 375 1063 350 q 1015 414 1038 400 q 959 434 992 429 q 885 439 926 439 l 842 439 l 842 174 "},"›":{x_min:55,x_max:413,ha:469,o:"m 413 370 l 203 63 l 55 143 l 202 380 l 55 616 l 203 697 l 413 388 l 413 370 "},ћ:{x_min:3,x_max:767,ha:871,o:"m 767 0 l 560 0 l 560 400 q 534 522 560 482 q 456 563 509 563 q 389 547 416 563 q 345 498 362 530 q 322 420 329 467 q 315 314 315 374 l 315 0 l 109 0 l 109 808 l 3 808 l 3 946 l 109 946 l 109 1055 l 315 1055 l 315 946 l 529 946 l 529 808 l 315 808 l 315 796 q 314 736 315 768 q 311 679 313 705 l 306 618 l 317 618 q 402 703 350 677 q 518 730 453 730 q 620 714 575 730 q 699 664 666 698 q 749 577 731 630 q 767 452 767 525 l 767 0 "},"<":{x_min:60,x_max:705,ha:765,o:"m 705 138 l 60 434 l 60 531 l 705 868 l 705 705 l 268 490 l 705 300 l 705 138 "},"¬":{x_min:60,x_max:705,ha:765,o:"m 705 168 l 556 168 l 556 415 l 60 415 l 60 564 l 705 564 l 705 168 "},t:{x_min:32,x_max:530,ha:575,o:"m 416 152 q 474 158 446 152 q 530 175 501 165 l 530 20 q 457 -4 500 5 q 364 -14 414 -14 q 271 -2 314 -14 q 198 38 229 9 q 148 115 166 67 q 131 237 131 164 l 131 604 l 32 604 l 32 691 l 145 759 l 205 919 l 337 919 l 337 758 l 521 758 l 521 604 l 337 604 l 337 238 q 359 173 337 194 q 416 152 381 152 "},Ц:{x_min:125,x_max:1002,ha:1030,o:"m 855 166 l 1002 147 l 1002 -289 l 796 -289 l 796 0 l 125 0 l 125 992 l 335 992 l 335 174 l 644 174 l 644 992 l 855 992 l 855 166 "},ù:{x_min:104,x_max:762,ha:871,o:"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 395 842 q 340 889 372 860 q 276 946 307 917 q 219 1004 245 976 q 183 1049 193 1031 l 183 1064 l 414 1064 q 440 1013 425 1040 q 470 958 454 986 q 502 905 486 931 q 533 860 518 879 l 533 842 l 395 842 "},ï:{x_min:-21,x_max:444,ha:424,o:"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m -21 953 q -13 994 -21 977 q 6 1022 -6 1011 q 36 1039 19 1034 q 73 1045 53 1045 q 110 1039 93 1045 q 140 1022 127 1034 q 161 994 153 1011 q 169 953 169 977 q 161 913 169 930 q 140 885 153 896 q 110 868 127 873 q 73 863 93 863 q 36 868 53 863 q 6 885 19 873 q -13 913 -6 896 q -21 953 -21 930 m 252 953 q 259 994 252 977 q 279 1022 266 1011 q 310 1039 292 1034 q 348 1045 327 1045 q 384 1039 367 1045 q 415 1022 401 1034 q 436 994 428 1011 q 444 953 444 977 q 436 913 444 930 q 415 885 428 896 q 384 868 401 873 q 348 863 367 863 q 279 885 307 863 q 252 953 252 907 "},Ф:{x_min:62,x_max:1077,ha:1139,o:"m 663 305 l 671 305 q 763 321 724 305 q 828 366 802 337 q 867 433 854 394 q 881 516 881 471 q 869 592 881 556 q 834 656 858 629 q 774 700 810 684 q 688 717 738 717 l 663 717 l 663 305 m 476 -14 l 476 139 l 462 139 q 328 155 387 139 q 225 199 269 171 q 149 264 181 227 q 99 343 118 301 q 70 429 79 385 q 62 514 62 472 q 84 649 62 583 q 153 768 106 716 q 272 852 200 820 q 442 884 343 884 l 476 884 l 476 1006 l 663 1006 l 663 884 l 696 884 q 867 852 795 884 q 985 768 938 820 q 1054 649 1032 716 q 1077 514 1077 583 q 1068 429 1077 472 q 1039 343 1059 385 q 989 264 1020 301 q 913 199 958 227 q 810 155 869 171 q 676 139 751 139 l 663 139 l 663 -14 l 476 -14 m 476 717 l 451 717 q 365 700 401 717 q 305 656 328 684 q 269 592 281 629 q 258 516 258 556 q 271 433 258 471 q 310 366 284 394 q 375 321 336 337 q 467 305 414 305 l 476 305 l 476 717 "},Ò:{x_min:81,x_max:970,ha:1050,o:"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 495 1071 q 440 1118 472 1089 q 376 1175 407 1146 q 319 1233 345 1205 q 283 1278 293 1260 l 283 1293 l 514 1293 q 540 1242 525 1269 q 570 1187 554 1215 q 602 1134 586 1160 q 633 1089 618 1108 l 633 1071 l 495 1071 "},I:{x_min:44.28125,x_max:495.96875,ha:541,o:"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 "},"˝":{x_min:106,x_max:697,ha:802,o:"m 106 842 l 106 860 q 136 905 120 879 q 168 958 152 931 q 198 1013 184 986 q 223 1064 213 1040 l 428 1064 l 428 1049 q 406 1021 420 1037 q 373 985 392 1004 q 334 946 355 966 q 291 907 312 926 q 250 871 270 888 q 215 842 230 854 l 106 842 m 375 842 l 375 860 q 405 905 389 879 q 437 958 421 931 q 467 1013 453 986 q 492 1064 482 1040 l 697 1064 l 697 1049 q 675 1021 689 1037 q 642 985 661 1004 q 603 946 624 966 q 561 907 582 926 q 520 871 539 888 q 484 842 500 854 l 375 842 "},"·":{x_min:79,x_max:316,ha:396,o:"m 79 490 q 88 544 79 522 q 113 580 97 566 q 151 599 129 593 q 198 606 173 606 q 243 599 221 606 q 280 580 264 593 q 306 544 297 566 q 316 490 316 522 q 306 437 316 459 q 280 401 297 415 q 243 381 264 387 q 198 375 221 375 q 151 381 173 375 q 113 401 129 387 q 88 437 97 415 q 79 490 79 459 "},"¿":{x_min:45,x_max:628,ha:638,o:"m 465 410 l 465 359 q 457 297 465 325 q 436 243 450 269 q 398 194 421 218 q 342 145 375 171 q 294 105 314 122 q 262 70 274 87 q 245 34 250 53 q 239 -9 239 15 q 266 -73 239 -48 q 345 -98 292 -98 q 446 -78 392 -98 q 558 -30 501 -58 l 628 -180 q 564 -213 598 -197 q 492 -239 529 -228 q 417 -258 455 -251 q 343 -265 379 -265 q 218 -248 274 -265 q 125 -200 163 -231 q 65 -123 86 -168 q 45 -19 45 -77 q 54 56 45 22 q 82 118 63 89 q 129 174 101 147 q 194 231 157 201 q 240 270 222 253 q 268 301 258 286 q 282 332 278 316 q 285 370 285 349 l 285 410 l 465 410 m 487 642 q 477 588 487 610 q 452 552 468 566 q 414 533 436 539 q 367 527 392 527 q 322 533 344 527 q 285 552 301 539 q 259 588 268 566 q 250 642 250 610 q 259 695 250 673 q 285 731 268 717 q 322 751 301 745 q 367 758 344 758 q 414 751 392 758 q 452 731 436 745 q 477 695 468 717 q 487 642 487 673 "},ſ:{x_min:109,x_max:537,ha:504,o:"m 389 896 q 332 870 349 896 q 315 804 315 844 l 315 0 l 109 0 l 109 814 q 126 934 109 886 q 176 1010 144 982 q 255 1051 209 1039 q 358 1063 301 1063 q 464 1053 421 1063 q 537 1030 507 1043 l 488 877 q 444 890 467 884 q 389 896 421 896 "},Ђ:{x_min:28,x_max:989,ha:1063,o:"m 713 -12 q 642 -6 677 -12 q 575 13 606 0 l 575 184 q 636 162 606 170 q 691 154 666 154 q 724 157 708 154 q 752 171 740 160 q 771 202 764 182 q 778 260 778 223 l 778 346 q 755 431 778 407 q 677 456 731 456 l 487 456 l 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 728 992 l 728 817 l 487 817 l 487 631 l 692 631 q 817 613 762 631 q 910 560 872 595 q 969 476 949 526 q 989 363 989 426 l 989 276 q 919 61 989 134 q 713 -12 850 -12 "},ű:{x_min:104,x_max:804,ha:871,o:"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 213 842 l 213 860 q 243 905 227 879 q 275 958 259 931 q 305 1013 291 986 q 330 1064 320 1040 l 535 1064 l 535 1049 q 513 1021 527 1037 q 480 985 499 1004 q 441 946 462 966 q 398 907 419 926 q 357 871 377 888 q 322 842 337 854 l 213 842 m 482 842 l 482 860 q 512 905 496 879 q 544 958 528 931 q 574 1013 560 986 q 599 1064 589 1040 l 804 1064 l 804 1049 q 782 1021 796 1037 q 749 985 768 1004 q 710 946 731 966 q 668 907 689 926 q 627 871 646 888 q 591 842 607 854 l 482 842 "},Ǽ:{x_min:0,x_max:1198,ha:1280,o:"m 1198 0 l 628 0 l 628 235 l 315 235 l 213 0 l 0 0 l 444 992 l 1198 992 l 1198 817 l 838 817 l 838 602 l 1173 602 l 1173 427 l 838 427 l 838 174 l 1198 174 l 1198 0 m 392 410 l 628 410 l 628 810 l 562 810 l 392 410 m 666 1071 l 666 1089 q 696 1134 680 1108 q 728 1187 712 1160 q 758 1242 744 1215 q 784 1293 773 1269 l 1016 1293 l 1016 1278 q 994 1250 1008 1266 q 961 1214 980 1233 q 922 1175 943 1195 q 880 1136 901 1155 q 838 1100 858 1117 q 803 1071 819 1083 l 666 1071 "},φ:{x_min:69,x_max:1003,ha:1072,o:"m 808 397 q 802 481 808 442 q 783 551 796 521 q 748 599 770 582 q 696 616 727 616 q 642 589 661 616 q 622 497 622 563 l 622 145 q 699 169 665 149 q 758 223 734 190 q 795 300 782 256 q 808 397 808 345 m 428 -334 l 428 -8 q 285 26 351 0 q 172 98 220 52 q 96 213 124 145 q 69 376 69 282 q 80 489 69 435 q 112 592 91 543 q 162 687 133 641 q 226 775 191 732 l 375 677 q 328 605 349 641 q 293 533 307 570 q 271 456 278 496 q 263 370 263 416 q 276 277 263 316 q 311 211 289 238 q 363 168 333 184 q 428 145 393 152 l 428 497 q 447 615 428 564 q 501 700 467 666 q 583 752 536 735 q 688 770 631 770 q 819 744 760 770 q 918 671 877 719 q 981 555 959 623 q 1003 401 1003 487 q 971 230 1003 304 q 888 106 940 157 q 766 27 835 56 q 622 -8 697 0 l 622 -334 l 428 -334 "},";":{x_min:43,x_max:316,ha:403,o:"m 301 161 l 312 145 q 289 67 302 108 q 259 -15 275 26 q 226 -99 243 -57 q 192 -179 209 -141 l 43 -179 q 63 -92 53 -137 q 82 -3 73 -48 q 98 82 91 40 q 111 161 106 125 l 301 161 m 79 657 q 88 711 79 689 q 113 747 97 733 q 151 766 129 760 q 198 773 173 773 q 243 766 221 773 q 280 747 264 760 q 306 711 297 733 q 316 657 316 689 q 306 604 316 626 q 280 568 297 582 q 243 548 264 554 q 198 542 221 542 q 151 548 173 542 q 113 568 129 554 q 88 604 97 582 q 79 657 79 626 "},Ș:{x_min:63.46875,x_max:668,ha:728,o:"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 m 238 -288 q 250 -242 244 -268 q 261 -188 256 -216 q 272 -134 267 -161 q 279 -85 277 -107 l 471 -85 l 471 -98 q 422 -198 450 -145 q 358 -307 394 -251 l 238 -307 l 238 -288 "},Ġ:{x_min:81,x_max:895,ha:1006,o:"m 502 557 l 895 557 l 895 42 q 815 18 855 29 q 732 1 775 8 q 642 -9 689 -5 q 542 -14 595 -14 q 345 18 431 -14 q 200 116 259 51 q 111 276 142 181 q 81 497 81 372 q 114 708 81 613 q 214 868 148 802 q 377 970 281 934 q 599 1006 474 1006 q 754 989 678 1006 q 893 944 830 972 l 823 776 q 719 815 777 799 q 597 831 661 831 q 473 806 528 831 q 378 738 418 782 q 318 632 339 694 q 297 492 297 569 q 311 358 297 419 q 357 253 326 298 q 438 185 388 209 q 555 160 487 160 q 631 165 600 160 q 689 174 662 169 l 689 382 l 502 382 l 502 557 m 437 1183 q 445 1232 437 1213 q 469 1263 454 1251 q 505 1280 485 1275 q 549 1285 526 1285 q 592 1280 572 1285 q 628 1263 613 1275 q 652 1232 643 1251 q 662 1183 662 1213 q 652 1135 662 1155 q 628 1104 643 1115 q 592 1087 613 1092 q 549 1082 572 1082 q 505 1087 526 1082 q 469 1104 485 1092 q 445 1135 454 1115 q 437 1183 437 1155 "},n:{x_min:109,x_max:767,ha:871,o:"m 767 0 l 560 0 l 560 442 q 535 565 560 524 q 456 606 510 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 "},ά:{x_min:69,x_max:834,ha:864,o:"m 399 152 q 457 165 433 152 q 495 204 480 177 q 516 272 509 231 q 524 369 523 312 l 524 377 q 518 475 524 432 q 497 546 512 517 q 458 589 482 575 q 397 604 434 604 q 308 546 337 604 q 280 375 280 487 q 309 207 280 263 q 399 152 337 152 m 332 -14 q 224 11 273 -14 q 141 85 175 36 q 87 207 106 134 q 69 376 69 280 q 88 546 69 473 q 143 670 107 620 q 231 745 179 720 q 346 771 282 771 q 411 763 382 771 q 464 742 440 756 q 506 706 487 728 q 540 656 525 685 l 550 656 q 569 708 557 680 q 600 758 581 736 l 784 758 q 768 702 776 735 q 752 628 759 669 q 740 542 745 588 q 736 451 736 497 l 736 239 q 740 201 736 216 q 753 176 745 185 q 771 163 761 167 q 793 159 781 159 q 815 162 802 159 q 834 166 828 164 l 834 3 q 816 -2 828 0 q 790 -8 805 -5 q 761 -12 776 -10 q 734 -14 747 -14 q 667 -8 697 -14 q 614 10 637 -3 q 573 45 590 23 q 542 100 555 67 l 529 100 q 497 56 516 77 q 455 19 478 35 q 401 -5 431 3 q 332 -14 370 -14 m 367 860 q 379 906 373 880 q 390 960 385 932 q 401 1014 396 987 q 408 1064 405 1041 l 600 1064 l 600 1049 q 551 950 579 1003 q 487 842 523 897 l 367 842 l 367 860 "},ϊ:{x_min:3,x_max:509,ha:538,o:"m 315 758 l 315 236 q 337 171 315 192 q 395 150 359 150 q 453 157 425 150 q 509 174 480 164 l 509 20 q 436 -4 479 5 q 342 -14 393 -14 q 250 -2 292 -14 q 176 37 207 9 q 126 115 144 66 q 109 237 109 163 l 109 758 l 315 758 m 3 953 q 10 994 3 977 q 30 1022 17 1011 q 60 1039 43 1034 q 97 1045 77 1045 q 134 1039 117 1045 q 164 1022 151 1034 q 185 994 177 1011 q 193 953 193 977 q 185 913 193 930 q 164 885 177 896 q 134 868 151 873 q 97 863 117 863 q 60 868 77 863 q 30 885 43 873 q 10 913 17 896 q 3 953 3 930 m 276 953 q 283 994 276 977 q 303 1022 290 1011 q 334 1039 316 1034 q 372 1045 351 1045 q 408 1039 391 1045 q 439 1022 425 1034 q 460 994 452 1011 q 468 953 468 977 q 460 913 468 930 q 439 885 452 896 q 408 868 425 873 q 372 863 391 863 q 303 885 331 863 q 276 953 276 907 "},"\ufeff":{x_min:0,x_max:0,ha:0},ģ:{x_min:14,x_max:735.140625,ha:766,o:"m 735 757 l 735 644 l 624 610 q 643 562 638 587 q 649 509 649 537 q 630 403 649 451 q 576 322 612 356 q 486 269 540 288 q 360 251 432 251 q 326 252 345 251 q 299 256 308 254 q 279 232 286 244 q 271 201 271 219 q 280 179 271 187 q 303 165 289 170 q 336 158 317 160 q 375 157 355 157 l 493 157 q 591 144 547 157 q 664 106 634 131 q 710 40 694 80 q 727 -54 727 0 q 701 -170 727 -118 q 624 -258 675 -222 q 497 -314 573 -295 q 322 -334 421 -334 q 187 -319 244 -334 q 91 -277 129 -304 q 33 -211 52 -249 q 14 -123 14 -172 q 28 -51 14 -81 q 66 0 42 -20 q 120 36 90 22 q 182 57 150 49 q 154 74 168 63 q 129 99 140 85 q 111 131 118 113 q 104 167 104 148 q 110 206 104 189 q 128 239 116 224 q 159 268 141 254 q 200 296 177 282 q 105 379 140 322 q 71 513 71 436 q 89 622 71 574 q 145 704 108 670 q 236 755 182 737 q 360 773 290 773 q 391 771 374 773 q 424 767 408 769 q 455 762 441 764 q 477 757 469 759 l 735 757 m 193 -107 q 200 -141 193 -125 q 224 -169 207 -157 q 266 -189 240 -181 q 331 -196 293 -196 q 490 -166 437 -196 q 543 -85 543 -135 q 510 -27 543 -42 q 408 -13 477 -13 l 312 -13 q 273 -17 294 -13 q 234 -33 252 -22 q 205 -62 217 -44 q 193 -107 193 -80 m 265 510 q 289 415 265 448 q 360 381 312 381 q 432 415 410 381 q 454 510 454 448 q 432 607 454 571 q 360 643 410 643 q 265 510 265 643 m 497 1045 q 484 999 490 1025 q 473 945 478 973 q 462 891 467 918 q 455 842 457 864 l 264 842 l 264 856 q 312 955 284 902 q 376 1064 340 1008 l 497 1064 l 497 1045 "},"∂":{x_min:40,x_max:761,ha:807,o:"m 761 623 q 749 477 761 552 q 715 331 738 402 q 656 198 691 260 q 571 88 620 135 q 459 13 522 40 q 318 -14 396 -14 q 183 9 236 -14 q 97 73 129 33 q 52 164 65 112 q 40 270 40 215 q 48 359 40 311 q 74 456 56 408 q 122 549 93 504 q 194 628 151 594 q 292 683 236 662 q 420 704 348 704 q 549 676 492 704 q 508 798 541 756 q 412 839 474 839 q 367 834 391 839 q 317 818 343 828 q 264 794 291 808 q 212 761 237 779 l 212 944 q 323 990 266 974 q 439 1006 380 1006 q 594 974 532 1006 q 692 889 656 942 q 745 767 729 836 q 761 623 761 698 m 321 152 q 395 179 361 152 q 457 251 429 206 q 504 356 484 297 q 535 480 524 415 q 497 533 525 515 q 433 550 470 550 q 375 536 401 550 q 329 499 350 522 q 294 446 309 476 q 270 383 280 416 q 256 317 260 350 q 251 255 251 284 q 267 179 251 206 q 321 152 283 152 "},κ:{x_min:109,x_max:819,ha:819,o:"m 307 383 l 393 515 l 580 758 l 801 758 l 527 421 l 819 0 l 585 0 l 396 283 l 315 227 l 315 0 l 109 0 l 109 758 l 315 758 l 315 559 q 314 501 315 532 q 310 444 312 470 q 305 383 307 412 l 307 383 "},"‡":{x_min:84,x_max:648,ha:730,o:"m 423 378 l 648 399 l 648 234 l 423 256 l 460 0 l 271 0 l 309 256 l 84 234 l 84 399 l 309 378 l 277 533 l 309 677 l 84 656 l 84 820 l 309 800 l 271 1055 l 460 1055 l 423 800 l 648 820 l 648 656 l 423 677 l 454 533 l 423 378 "},ň:{x_min:109,x_max:767,ha:871,o:"m 767 0 l 560 0 l 560 442 q 535 565 560 524 q 456 606 510 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 m 717 1045 q 677 1000 700 1026 q 633 947 655 974 q 591 892 611 919 q 556 842 571 865 l 315 842 q 279 892 300 865 q 237 947 259 919 q 194 1000 215 974 q 155 1045 172 1026 l 155 1064 l 292 1064 q 362 1011 327 1041 q 434 945 397 982 q 507 1011 469 982 q 579 1064 544 1041 l 717 1064 l 717 1045 "},"√":{x_min:25,x_max:865,ha:762,o:"m 450 -10 l 326 -10 l 144 491 l 25 491 l 25 635 l 245 635 l 384 249 l 716 1192 l 865 1192 l 450 -10 "},ę:{x_min:69,x_max:741,ha:807,o:"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 536 -140 q 551 -182 536 -168 q 590 -195 566 -195 q 633 -191 611 -195 q 668 -183 654 -187 l 668 -304 q 621 -315 646 -310 q 562 -320 596 -320 q 491 -308 523 -320 q 438 -276 460 -296 q 404 -227 416 -255 q 393 -163 393 -198 q 402 -110 393 -134 q 428 -64 411 -85 q 467 -24 445 -43 q 515 14 489 -5 l 636 14 q 562 -67 589 -30 q 536 -140 536 -104 "},į:{x_min:73,x_max:348,ha:424,o:"m 100 953 q 109 1002 100 983 q 133 1033 117 1021 q 169 1050 148 1045 q 212 1055 189 1055 q 256 1050 235 1055 q 291 1033 276 1045 q 316 1002 307 1021 q 325 953 325 983 q 316 905 325 925 q 291 874 307 885 q 256 857 276 862 q 212 852 235 852 q 169 857 189 852 q 133 874 148 862 q 109 905 117 885 q 100 953 100 925 m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 216 -154 q 231 -196 216 -182 q 270 -209 246 -209 q 313 -205 291 -209 q 348 -197 334 -201 l 348 -318 q 301 -329 326 -324 q 242 -334 276 -334 q 171 -322 203 -334 q 118 -290 140 -310 q 84 -241 96 -269 q 73 -177 73 -212 q 82 -124 73 -148 q 108 -78 91 -99 q 147 -38 125 -57 q 195 0 169 -19 l 316 0 q 242 -81 269 -44 q 216 -154 216 -118 "},Τ:{x_min:28,x_max:735,ha:762,o:"m 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 0 "},"≈":{x_min:60,x_max:705,ha:765,o:"m 358 551 q 313 569 333 562 q 278 581 294 577 q 248 587 262 586 q 218 589 234 589 q 177 583 198 589 q 136 565 156 576 q 96 539 116 554 q 60 507 77 524 l 60 664 q 137 719 94 700 q 233 738 180 738 q 271 736 253 738 q 307 729 288 734 q 350 716 326 725 q 406 694 374 708 q 451 676 432 683 q 487 665 471 669 q 518 659 503 660 q 547 657 532 657 q 587 663 566 657 q 629 681 608 670 q 668 707 649 692 q 705 739 688 722 l 705 582 q 531 509 636 509 q 493 510 511 509 q 457 516 476 512 q 414 529 438 521 q 358 551 390 538 m 358 280 q 313 298 333 291 q 278 310 294 306 q 248 316 262 315 q 218 318 234 318 q 177 312 198 318 q 136 294 156 305 q 96 268 116 283 q 60 236 77 253 l 60 393 q 137 448 94 429 q 233 467 180 467 q 271 465 253 467 q 307 458 288 463 q 350 445 326 454 q 406 423 374 437 q 451 405 432 412 q 487 394 471 398 q 518 388 503 389 q 547 386 532 386 q 587 392 566 386 q 629 410 608 399 q 668 436 649 421 q 705 468 688 451 l 705 311 q 531 238 636 238 q 493 239 511 238 q 457 245 476 241 q 414 258 438 250 q 358 280 390 267 "},ΐ:{x_min:-38,x_max:511,ha:538,o:"m 315 758 l 315 236 q 337 171 315 192 q 395 150 359 150 q 453 157 425 150 q 509 174 480 164 l 509 20 q 436 -4 479 5 q 342 -14 393 -14 q 250 -2 292 -14 q 176 37 207 9 q 126 115 144 66 q 109 237 109 163 l 109 758 l 315 758 m -38 953 q -15 1023 -38 1001 q 42 1044 6 1044 q 101 1023 78 1044 q 124 953 124 1001 q 101 885 124 907 q 42 863 78 863 q -15 885 6 863 q -38 953 -38 907 m 348 953 q 370 1023 348 1001 q 429 1044 392 1044 q 488 1023 465 1044 q 511 953 511 1001 q 488 885 511 907 q 429 863 465 863 q 370 885 392 863 q 348 953 348 907 m 166 959 q 178 1006 172 980 q 190 1059 184 1032 q 200 1114 196 1087 q 208 1164 205 1141 l 386 1164 l 386 1150 q 331 1050 364 1104 q 259 942 298 996 l 166 942 l 166 959 "},ĸ:{x_min:109,x_max:819,ha:819,o:"m 307 383 l 393 515 l 580 758 l 801 758 l 527 421 l 819 0 l 585 0 l 396 283 l 315 227 l 315 0 l 109 0 l 109 758 l 315 758 l 315 559 q 314 501 315 532 q 310 444 312 470 q 305 383 307 412 l 307 383 "},g:{x_min:14,x_max:735.140625,ha:766,o:"m 735 757 l 735 644 l 624 610 q 643 562 638 587 q 649 509 649 537 q 630 403 649 451 q 576 322 612 356 q 486 269 540 288 q 360 251 432 251 q 326 252 345 251 q 299 256 308 254 q 279 232 286 244 q 271 201 271 219 q 280 179 271 187 q 303 165 289 170 q 336 158 317 160 q 375 157 355 157 l 493 157 q 591 144 547 157 q 664 106 634 131 q 710 40 694 80 q 727 -54 727 0 q 701 -170 727 -118 q 624 -258 675 -222 q 497 -314 573 -295 q 322 -334 421 -334 q 187 -319 244 -334 q 91 -277 129 -304 q 33 -211 52 -249 q 14 -123 14 -172 q 28 -51 14 -81 q 66 0 42 -20 q 120 36 90 22 q 182 57 150 49 q 154 74 168 63 q 129 99 140 85 q 111 131 118 113 q 104 167 104 148 q 110 206 104 189 q 128 239 116 224 q 159 268 141 254 q 200 296 177 282 q 105 379 140 322 q 71 513 71 436 q 89 622 71 574 q 145 704 108 670 q 236 755 182 737 q 360 773 290 773 q 391 771 374 773 q 424 767 408 769 q 455 762 441 764 q 477 757 469 759 l 735 757 m 193 -107 q 200 -141 193 -125 q 224 -169 207 -157 q 266 -189 240 -181 q 331 -196 293 -196 q 490 -166 437 -196 q 543 -85 543 -135 q 510 -27 543 -42 q 408 -13 477 -13 l 312 -13 q 273 -17 294 -13 q 234 -33 252 -22 q 205 -62 217 -44 q 193 -107 193 -80 m 265 510 q 289 415 265 448 q 360 381 312 381 q 432 415 410 381 q 454 510 454 448 q 432 607 454 571 q 360 643 410 643 q 265 510 265 643 "},ǿ:{x_min:69,x_max:762,ha:832,o:"m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 339 -7 374 -14 q 271 11 304 0 l 233 -51 l 123 9 l 169 84 q 95 209 122 134 q 69 380 69 283 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 498 764 459 773 q 572 739 537 755 l 605 793 l 713 728 l 671 661 q 738 541 714 612 q 762 380 762 470 m 280 380 q 288 278 280 322 l 480 589 q 414 606 453 606 q 312 550 343 606 q 280 380 280 494 m 550 380 q 546 457 550 424 l 365 162 q 389 154 376 156 q 415 152 401 152 q 518 210 486 152 q 550 380 550 267 m 294 842 l 294 860 q 324 905 308 879 q 356 958 340 931 q 386 1013 372 986 q 412 1064 401 1040 l 644 1064 l 644 1049 q 622 1021 636 1037 q 589 985 608 1004 q 550 946 571 966 q 508 907 529 926 q 466 871 486 888 q 431 842 447 854 l 294 842 "},"²":{x_min:31.578125,x_max:476.28125,ha:526,o:"m 476 397 l 37 397 l 37 508 l 189 657 q 242 710 221 687 q 275 751 263 732 q 293 785 288 769 q 298 819 298 801 q 282 859 298 845 q 238 873 265 873 q 181 859 211 873 q 115 815 151 846 l 31 918 q 130 981 75 957 q 259 1006 185 1006 q 341 994 304 1006 q 404 961 378 983 q 445 908 430 940 q 460 835 460 876 q 451 776 460 803 q 424 720 443 748 q 377 662 406 692 q 308 594 349 631 l 237 529 l 476 529 l 476 397 "},Ã:{x_min:-.25,x_max:903.25,ha:903,o:"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 342 1135 q 308 1119 321 1135 q 288 1069 296 1103 l 187 1069 q 204 1163 191 1123 q 240 1228 218 1202 q 292 1266 262 1253 q 357 1279 321 1279 q 411 1269 385 1279 q 464 1246 438 1259 q 515 1224 490 1234 q 565 1214 541 1214 q 598 1230 586 1214 q 619 1280 611 1246 l 721 1280 q 703 1187 716 1226 q 666 1122 689 1148 q 614 1083 644 1096 q 550 1071 585 1071 q 496 1081 523 1071 q 443 1103 468 1091 q 392 1125 417 1115 q 342 1135 366 1135 "},Ј:{x_min:-135,x_max:335,ha:460,o:"m -1 -292 q -78 -287 -45 -292 q -135 -277 -111 -283 l -135 -103 q -82 -112 -109 -108 q -22 -117 -54 -117 q 35 -110 8 -117 q 82 -86 62 -103 q 113 -42 102 -70 q 124 27 124 -14 l 124 992 l 335 992 l 335 35 q 310 -111 335 -49 q 241 -213 285 -173 q 134 -273 196 -254 q -1 -292 73 -292 "},"©":{x_min:68,x_max:1088,ha:1156,o:"m 606 699 q 504 645 540 699 q 468 495 468 591 q 501 344 468 397 q 606 291 534 291 q 690 302 645 291 q 774 331 735 312 l 774 212 q 695 187 735 196 q 603 178 655 178 q 476 201 530 178 q 385 266 422 224 q 331 366 349 308 q 313 497 313 425 q 330 625 313 567 q 383 725 348 683 q 473 789 419 766 q 597 813 526 813 q 706 799 654 813 q 804 765 758 786 l 754 659 q 606 699 677 699 m 68 495 q 86 631 68 566 q 137 753 104 696 q 217 856 170 809 q 320 936 264 903 q 442 987 377 969 q 578 1006 507 1006 q 713 987 648 1006 q 835 936 778 969 q 938 856 892 903 q 1018 753 985 809 q 1069 631 1051 696 q 1088 495 1088 566 q 1069 359 1088 425 q 1018 238 1051 294 q 938 134 985 181 q 835 55 892 88 q 713 3 778 21 q 578 -14 648 -14 q 442 3 507 -14 q 320 55 377 21 q 217 134 264 88 q 137 238 170 181 q 86 359 104 294 q 68 495 68 425 m 164 496 q 196 334 164 409 q 285 203 229 259 q 416 114 341 147 q 578 82 491 82 q 739 114 664 82 q 870 203 814 147 q 959 334 926 259 q 991 496 991 409 q 959 657 991 582 q 870 788 926 732 q 739 877 814 844 q 578 909 664 909 q 416 877 491 909 q 285 788 341 844 q 196 657 229 732 q 164 496 164 582 "},"≥":{x_min:60,x_max:705,ha:765,o:"m 60 0 l 60 148 l 705 148 l 705 0 l 60 0 m 60 341 l 496 531 l 60 746 l 60 909 l 705 573 l 705 475 l 60 179 l 60 341 "},Ă:{x_min:-.25,x_max:903.25,ha:903,o:"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 698 1300 q 676 1207 694 1249 q 628 1135 659 1165 q 552 1087 596 1104 q 449 1071 507 1071 q 345 1087 389 1071 q 270 1133 300 1103 q 224 1205 240 1163 q 206 1300 208 1247 l 321 1300 q 333 1253 324 1270 q 359 1227 343 1236 q 398 1216 375 1218 q 450 1214 421 1214 q 497 1217 475 1214 q 536 1229 519 1220 q 565 1255 554 1238 q 579 1300 577 1272 l 698 1300 "},ґ:{x_min:109,x_max:619,ha:669,o:"m 315 0 l 109 0 l 109 758 l 440 758 l 440 965 l 619 965 l 619 604 l 315 604 l 315 0 "},ÿ:{x_min:-.25,x_max:749.25,ha:749,o:"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 m 143 953 q 150 994 143 977 q 170 1022 157 1011 q 200 1039 183 1034 q 237 1045 217 1045 q 274 1039 257 1045 q 304 1022 291 1034 q 325 994 317 1011 q 333 953 333 977 q 325 913 333 930 q 304 885 317 896 q 274 868 291 873 q 237 863 257 863 q 200 868 217 863 q 170 885 183 873 q 150 913 157 896 q 143 953 143 930 m 416 953 q 423 994 416 977 q 443 1022 430 1011 q 474 1039 456 1034 q 512 1045 491 1045 q 548 1039 531 1045 q 579 1022 565 1034 q 600 994 592 1011 q 608 953 608 977 q 600 913 608 930 q 579 885 592 896 q 548 868 565 873 q 512 863 531 863 q 443 885 471 863 q 416 953 416 907 "},Ł:{x_min:1.5625,x_max:696,ha:743,o:"m 125 0 l 125 333 l 78 306 l 1 439 l 125 514 l 125 992 l 335 992 l 335 641 l 432 701 l 511 568 l 335 461 l 335 173 l 696 173 l 696 0 l 125 0 "}," ":{x_min:0,x_max:0,ha:372},"∫":{x_min:.234375,x_max:572.65625,ha:572,o:"m 465 881 q 410 856 430 881 q 390 788 390 832 l 390 -76 q 371 -193 390 -144 q 319 -272 353 -241 q 238 -319 285 -304 q 132 -334 190 -334 q 61 -326 94 -334 q 0 -306 28 -319 l 0 -133 q 51 -152 23 -144 q 107 -160 79 -160 q 164 -135 147 -160 q 182 -64 182 -110 l 182 798 q 200 914 182 866 q 253 994 219 963 q 334 1040 287 1025 q 440 1055 382 1055 q 572 1027 514 1055 l 572 855 q 520 873 548 865 q 465 881 492 881 "},"\\":{x_min:7.75,x_max:566.25,ha:574,o:"m 195 992 l 566 0 l 378 0 l 7 992 l 195 992 "},Ì:{x_min:29,x_max:495.96875,ha:541,o:"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 241 1071 q 186 1118 218 1089 q 122 1175 153 1146 q 65 1233 91 1205 q 29 1278 39 1260 l 29 1293 l 260 1293 q 286 1242 271 1269 q 316 1187 300 1215 q 348 1134 332 1160 q 379 1089 364 1108 l 379 1071 l 241 1071 "},ъ:{x_min:32,x_max:927,ha:983,o:"m 479 758 l 479 467 l 612 467 q 850 411 773 467 q 927 242 927 356 q 909 142 927 187 q 853 65 891 97 q 756 17 815 34 q 611 0 696 0 l 273 0 l 273 604 l 32 604 l 32 758 l 479 758 m 720 239 q 690 300 720 281 q 600 319 660 319 l 479 319 l 479 147 l 603 147 q 650 152 629 147 q 687 168 671 156 q 711 196 702 179 q 720 239 720 214 "},ς:{x_min:69,x_max:650,ha:657,o:"m 69 335 q 94 544 69 460 q 166 679 119 628 q 278 751 212 730 q 424 773 344 773 q 540 758 482 773 q 649 718 598 744 l 589 562 q 502 594 544 581 q 424 606 461 606 q 314 540 348 606 q 280 340 280 473 q 292 264 280 293 q 327 216 305 234 q 381 188 349 198 q 453 168 413 177 q 546 137 508 155 q 607 95 584 118 q 640 44 630 72 q 650 -15 650 16 q 642 -78 650 -46 q 622 -142 634 -111 q 595 -202 610 -173 q 563 -257 579 -231 l 355 -257 q 392 -199 374 -228 q 425 -141 411 -169 q 447 -88 439 -113 q 455 -46 455 -64 q 451 -27 455 -36 q 435 -10 447 -18 q 401 5 423 -2 q 343 21 379 12 q 228 60 279 34 q 142 125 177 86 q 87 216 106 164 q 69 335 69 268 "},Ē:{x_min:125,x_max:696,ha:778,o:"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 202 1214 l 620 1214 l 620 1071 l 202 1071 l 202 1214 "},"!":{x_min:79,x_max:316,ha:397,o:"m 281 330 l 116 330 l 81 992 l 316 992 l 281 330 m 79 97 q 88 151 79 129 q 113 187 97 173 q 151 206 129 200 q 198 213 173 213 q 243 206 221 213 q 280 187 264 200 q 306 151 297 173 q 316 97 316 129 q 306 45 316 66 q 280 9 297 23 q 243 -11 264 -5 q 198 -18 221 -18 q 151 -11 173 -18 q 113 9 129 -5 q 88 45 97 23 q 79 97 79 66 "},ç:{x_min:69,x_max:648.703125,ha:693,o:"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 m 528 -169 q 517 -239 528 -208 q 482 -290 506 -269 q 417 -322 458 -311 q 318 -334 377 -334 q 263 -329 287 -334 q 219 -319 238 -325 l 219 -205 q 241 -210 229 -208 q 267 -215 254 -213 q 293 -218 280 -217 q 316 -220 306 -220 q 350 -210 335 -220 q 365 -178 365 -201 q 340 -133 365 -153 q 252 -105 314 -114 l 305 0 l 436 0 l 417 -41 q 458 -59 438 -48 q 493 -87 478 -71 q 518 -124 508 -103 q 528 -169 528 -144 "},Й:{x_min:125,x_max:963,ha:1088,o:"m 125 992 l 312 992 l 312 522 q 311 484 312 505 q 310 440 311 463 q 309 395 310 417 q 307 350 308 372 q 302 248 304 300 l 306 248 l 712 992 l 963 992 l 963 0 l 775 0 l 775 466 q 777 554 775 505 q 781 646 779 602 q 788 750 784 698 l 782 750 l 375 0 l 125 0 l 125 992 m 864 1314 q 839 1214 858 1259 q 780 1138 819 1170 q 680 1088 742 1106 q 529 1071 619 1071 q 377 1087 437 1071 q 279 1136 316 1104 q 226 1212 243 1168 q 206 1314 210 1257 l 392 1314 q 405 1249 395 1274 q 431 1210 414 1224 q 473 1190 447 1196 q 535 1184 499 1184 q 589 1191 564 1184 q 632 1212 614 1197 q 661 1252 650 1227 q 677 1314 673 1277 l 864 1314 "},Б:{x_min:125,x_max:769,ha:831,o:"m 335 613 l 408 613 q 569 590 501 613 q 681 527 637 568 q 747 432 726 487 q 769 310 769 376 q 746 179 769 237 q 678 81 724 121 q 560 21 631 42 q 390 0 489 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 613 m 335 174 l 393 174 q 462 182 431 174 q 514 205 492 189 q 547 247 536 221 q 558 310 558 273 q 546 374 558 349 q 510 413 534 399 q 453 432 487 427 q 378 438 420 438 l 335 438 l 335 174 "},đ:{x_min:69,x_max:841,ha:844,o:"m 331 -14 q 224 9 272 -14 q 142 80 176 33 q 88 196 107 127 q 69 356 69 265 q 88 518 69 448 q 143 635 107 588 q 228 706 178 682 q 337 730 277 730 q 404 721 373 730 q 459 698 434 713 q 502 662 483 683 q 536 618 522 642 l 543 618 q 536 673 539 645 q 530 724 532 696 q 528 776 528 751 l 528 811 l 315 811 l 315 946 l 528 946 l 528 1055 l 735 1055 l 735 946 l 841 946 l 841 811 l 735 811 l 735 0 l 576 0 l 536 97 l 528 97 q 495 54 513 74 q 453 18 477 33 q 399 -5 429 3 q 331 -14 369 -14 m 407 150 q 469 162 444 150 q 510 196 495 173 q 534 254 526 219 q 542 335 541 289 l 542 354 q 535 443 542 405 q 513 508 528 482 q 471 548 497 534 q 406 561 445 561 q 310 508 341 561 q 280 353 280 455 q 310 201 280 252 q 407 150 341 150 "},ċ:{x_min:69,x_max:648.703125,ha:693,o:"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 m 302 954 q 310 1003 302 984 q 334 1034 319 1022 q 370 1051 350 1046 q 414 1056 391 1056 q 457 1051 437 1056 q 493 1034 478 1046 q 517 1003 508 1022 q 527 954 527 984 q 517 906 527 926 q 493 875 508 886 q 457 858 478 863 q 414 853 437 853 q 370 858 391 853 q 334 875 350 863 q 310 906 319 886 q 302 954 302 926 "},Ā:{x_min:-.25,x_max:903.25,ha:903,o:"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 243 1214 l 661 1214 l 661 1071 l 243 1071 l 243 1214 "},Ẃ:{x_min:-.25,x_max:1287.25,ha:1287,o:"m 1048 0 l 809 0 l 687 489 q 681 517 684 499 q 672 559 677 536 q 663 607 667 582 q 654 656 658 632 q 647 700 650 679 q 642 732 644 720 q 638 700 641 720 q 631 656 635 679 q 622 608 627 633 q 613 559 618 582 q 605 517 609 536 q 598 487 601 498 l 477 0 l 238 0 l 0 992 l 206 992 l 319 450 q 325 418 321 439 q 333 372 328 398 q 343 318 338 346 q 353 262 348 289 q 361 211 357 235 q 368 173 366 188 q 373 211 370 188 q 381 260 377 234 q 390 314 385 286 q 399 366 395 342 q 407 409 404 390 q 413 436 411 428 l 551 992 l 735 992 l 873 436 q 879 409 875 428 q 887 366 882 390 q 896 314 891 342 q 905 260 901 286 q 913 211 910 234 q 919 173 917 188 q 925 211 921 188 q 933 262 929 235 q 943 318 938 289 q 953 372 948 346 q 962 418 958 398 q 967 450 965 439 l 1080 992 l 1287 992 l 1048 0 m 553 1071 l 553 1089 q 583 1134 567 1108 q 615 1187 599 1160 q 645 1242 631 1215 q 671 1293 660 1269 l 903 1293 l 903 1278 q 881 1250 895 1266 q 848 1214 867 1233 q 809 1175 830 1195 q 767 1136 788 1155 q 725 1100 745 1117 q 690 1071 706 1083 l 553 1071 "},ø:{x_min:69,x_max:762,ha:832,o:"m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 339 -7 374 -14 q 271 11 304 0 l 233 -51 l 123 9 l 169 84 q 95 209 122 134 q 69 380 69 283 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 498 764 459 773 q 572 739 537 755 l 605 793 l 713 728 l 671 661 q 738 541 714 612 q 762 380 762 470 m 280 380 q 288 278 280 322 l 480 589 q 414 606 453 606 q 312 550 343 606 q 280 380 280 494 m 550 380 q 546 457 550 424 l 365 162 q 389 154 376 156 q 415 152 401 152 q 518 210 486 152 q 550 380 550 267 "},â:{x_min:58,x_max:694,ha:798,o:"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 544 841 q 472 893 509 863 q 399 959 434 922 q 327 893 362 922 q 257 841 292 863 l 120 841 l 120 859 q 159 904 137 878 q 202 957 180 930 q 244 1012 224 985 q 280 1063 265 1039 l 521 1063 q 556 1012 536 1039 q 598 957 576 985 q 642 904 620 930 q 682 859 665 878 l 682 841 l 544 841 "},"}":{x_min:21,x_max:492,ha:505,o:"m 318 -30 q 305 -116 318 -80 q 258 -175 292 -152 q 167 -209 225 -198 q 21 -220 109 -220 l 21 -66 q 69 -61 48 -66 q 106 -47 91 -57 q 130 -18 122 -36 q 138 29 138 0 l 138 232 q 178 333 136 295 q 296 382 219 370 l 296 390 q 138 540 143 414 l 138 743 q 130 790 138 772 q 106 819 122 808 q 69 833 91 829 q 21 838 48 838 l 21 992 q 167 981 109 992 q 258 947 225 970 q 305 889 292 924 q 318 803 318 853 l 318 587 q 328 532 317 555 q 361 494 339 509 q 416 473 383 479 q 492 467 449 467 l 492 304 q 362 277 407 304 q 318 183 318 249 l 318 -30 "},Δ:{x_min:39,x_max:820,ha:859,o:"m 39 120 l 311 996 l 549 996 l 820 119 l 820 0 l 39 0 l 39 120 m 457 701 q 451 726 455 709 q 442 764 446 744 q 434 800 437 783 q 429 823 430 817 q 425 800 429 817 q 417 764 422 783 q 409 726 413 744 q 403 700 405 708 l 253 174 l 606 174 l 457 701 "},"‰":{x_min:43,x_max:1695,ha:1738,o:"m 967 992 l 416 0 l 254 0 l 805 992 l 967 992 m 880 299 q 896 170 880 213 q 945 128 911 128 q 994 170 978 128 q 1010 299 1010 212 q 945 469 1010 469 q 896 427 911 469 q 880 299 880 386 m 1181 300 q 1167 168 1181 226 q 1123 70 1153 110 q 1050 9 1094 30 q 943 -12 1005 -12 q 842 9 885 -12 q 769 70 798 30 q 724 168 739 110 q 710 300 710 226 q 723 430 710 373 q 765 528 737 488 q 838 588 794 567 q 943 610 882 610 q 1046 588 1001 610 q 1120 528 1090 567 q 1165 430 1150 488 q 1181 300 1181 373 m 1394 299 q 1410 170 1394 213 q 1458 128 1425 128 q 1508 170 1492 128 q 1524 299 1524 212 q 1458 469 1524 469 q 1410 427 1425 469 q 1394 299 1394 386 m 1695 300 q 1681 168 1695 226 q 1638 70 1667 110 q 1564 9 1608 30 q 1457 -12 1519 -12 q 1356 9 1400 -12 q 1283 70 1312 30 q 1238 168 1253 110 q 1224 300 1224 226 q 1237 430 1224 373 q 1279 528 1251 488 q 1352 588 1308 567 q 1457 610 1396 610 q 1560 588 1515 610 q 1634 528 1604 567 q 1679 430 1664 488 q 1695 300 1695 373 m 213 695 q 229 566 213 608 q 278 523 244 523 q 327 565 311 523 q 343 695 343 607 q 278 865 343 865 q 229 823 244 865 q 213 695 213 781 m 514 695 q 500 564 514 622 q 457 465 486 505 q 383 404 427 425 q 276 383 338 383 q 175 404 219 383 q 102 465 131 425 q 57 564 72 505 q 43 695 43 622 q 56 826 43 769 q 98 924 70 884 q 171 984 127 963 q 276 1006 215 1006 q 379 984 335 1006 q 453 924 423 963 q 498 826 483 884 q 514 695 514 769 "},Ä:{x_min:-.25,x_max:903.25,ha:903,o:"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 220 1182 q 227 1223 220 1206 q 247 1251 234 1240 q 277 1268 260 1263 q 314 1274 294 1274 q 351 1268 334 1274 q 381 1251 368 1263 q 402 1223 394 1240 q 410 1182 410 1206 q 402 1142 410 1159 q 381 1114 394 1125 q 351 1097 368 1102 q 314 1092 334 1092 q 277 1097 294 1092 q 247 1114 260 1102 q 227 1142 234 1125 q 220 1182 220 1159 m 493 1182 q 500 1223 493 1206 q 520 1251 507 1240 q 551 1268 533 1263 q 589 1274 568 1274 q 625 1268 608 1274 q 656 1251 642 1263 q 677 1223 669 1240 q 685 1182 685 1206 q 677 1142 685 1159 q 656 1114 669 1125 q 625 1097 642 1102 q 589 1092 608 1092 q 520 1114 548 1092 q 493 1182 493 1136 "},ř:{x_min:57,x_max:619,ha:603,o:"m 504 773 q 522 772 512 773 q 541 771 532 772 q 558 769 550 770 q 570 766 565 768 l 570 572 q 555 575 564 574 q 535 578 545 576 q 514 579 524 579 q 497 579 504 579 q 423 569 457 579 q 366 536 390 559 q 329 476 342 513 q 315 386 315 439 l 315 0 l 109 0 l 109 758 l 265 758 l 296 644 l 306 644 q 341 697 322 673 q 383 738 360 721 q 436 763 407 754 q 504 773 466 773 m 619 1045 q 579 1000 602 1026 q 535 947 557 974 q 493 892 513 919 q 458 842 473 865 l 217 842 q 181 892 202 865 q 139 947 161 919 q 96 1000 117 974 q 57 1045 74 1026 l 57 1064 l 194 1064 q 264 1011 229 1041 q 336 945 299 982 q 409 1011 371 982 q 481 1064 446 1041 l 619 1064 l 619 1045 "},"—":{x_min:56,x_max:1333,ha:1389,o:"m 56 296 l 56 452 l 1333 452 l 1333 296 l 56 296 "},N:{x_min:125,x_max:963,ha:1088,o:"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 "},"⁄":{x_min:-267.25,x_max:445.25,ha:180,o:"m 445 992 l -105 0 l -267 0 l 283 992 l 445 992 "},М:{x_min:125,x_max:1143,ha:1268,o:"m 523 0 l 305 778 l 299 778 q 306 657 303 715 q 308 605 307 632 q 310 553 309 579 q 311 503 311 527 q 312 461 312 480 l 312 0 l 125 0 l 125 992 l 410 992 l 625 233 l 629 233 l 856 992 l 1143 992 l 1143 0 l 947 0 l 947 469 q 947 509 947 487 q 948 556 947 531 q 950 607 949 581 q 951 657 951 633 q 956 776 954 714 l 951 776 l 716 0 l 523 0 "},Ó:{x_min:81,x_max:970,ha:1050,o:"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 400 1071 l 400 1089 q 430 1134 414 1108 q 462 1187 446 1160 q 492 1242 478 1215 q 518 1293 507 1269 l 750 1293 l 750 1278 q 728 1250 742 1266 q 695 1214 714 1233 q 656 1175 677 1195 q 614 1136 635 1155 q 572 1100 592 1117 q 537 1071 553 1083 l 400 1071 "},"˜":{x_min:134,x_max:668,ha:802,o:"m 289 906 q 255 890 268 906 q 235 840 243 874 l 134 840 q 151 934 138 894 q 187 999 165 973 q 239 1037 209 1024 q 304 1050 268 1050 q 358 1040 332 1050 q 411 1017 385 1030 q 462 995 437 1005 q 512 985 488 985 q 545 1001 533 985 q 566 1051 558 1017 l 668 1051 q 650 958 663 997 q 613 893 636 919 q 561 854 591 867 q 497 842 532 842 q 443 852 470 842 q 390 874 415 862 q 339 896 364 886 q 289 906 313 906 "}," ":{x_min:0,x_max:0,ha:695},ˇ:{x_min:119,x_max:681,ha:802,o:"m 681 1045 q 641 1000 664 1026 q 597 947 619 974 q 555 892 575 919 q 520 842 535 865 l 279 842 q 243 892 264 865 q 201 947 223 919 q 158 1000 179 974 q 119 1045 136 1026 l 119 1064 l 256 1064 q 326 1011 291 1041 q 398 945 361 982 q 471 1011 433 982 q 543 1064 508 1041 l 681 1064 l 681 1045 "},ų:{x_min:104,x_max:762,ha:871,o:"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 625 -154 q 640 -196 625 -182 q 679 -209 655 -209 q 722 -205 700 -209 q 757 -197 743 -201 l 757 -318 q 710 -329 735 -324 q 651 -334 685 -334 q 580 -322 612 -334 q 527 -290 549 -310 q 493 -241 505 -269 q 482 -177 482 -212 q 491 -124 482 -148 q 517 -78 500 -99 q 556 -38 534 -57 q 604 0 578 -19 l 725 0 q 651 -81 678 -44 q 625 -154 625 -118 "},Ў:{x_min:-.25,x_max:851.25,ha:851,o:"m 851 992 l 563 290 q 503 162 534 218 q 431 66 473 105 q 332 6 389 27 q 194 -14 275 -14 q 120 -8 159 -14 q 46 6 80 -3 l 46 185 q 118 166 79 171 q 194 160 158 160 q 253 169 229 160 q 294 195 277 178 q 322 232 311 211 q 343 279 334 254 l 0 992 l 222 992 l 409 563 q 420 538 414 553 q 431 509 426 524 q 441 482 437 495 q 446 465 446 470 l 454 465 q 458 483 455 471 q 465 510 461 496 q 473 538 469 524 q 482 562 478 552 l 634 992 l 851 992 m 753 1314 q 728 1214 747 1259 q 669 1138 708 1170 q 569 1088 631 1106 q 418 1071 508 1071 q 266 1087 326 1071 q 168 1136 205 1104 q 115 1212 132 1168 q 95 1314 99 1257 l 281 1314 q 294 1249 284 1274 q 320 1210 303 1224 q 362 1190 336 1196 q 424 1184 388 1184 q 478 1191 453 1184 q 521 1212 503 1197 q 550 1252 539 1227 q 566 1314 562 1277 l 753 1314 "},Ŭ:{x_min:118,x_max:876,ha:994,o:"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 741 1300 q 719 1207 737 1249 q 671 1135 702 1165 q 595 1087 639 1104 q 492 1071 550 1071 q 388 1087 432 1071 q 313 1133 343 1103 q 267 1205 283 1163 q 249 1300 251 1247 l 364 1300 q 376 1253 367 1270 q 402 1227 386 1236 q 441 1216 418 1218 q 493 1214 464 1214 q 540 1217 518 1214 q 579 1229 562 1220 q 608 1255 597 1238 q 622 1300 620 1272 l 741 1300 "},ĝ:{x_min:14,x_max:735.140625,ha:766,o:"m 735 757 l 735 644 l 624 610 q 643 562 638 587 q 649 509 649 537 q 630 403 649 451 q 576 322 612 356 q 486 269 540 288 q 360 251 432 251 q 326 252 345 251 q 299 256 308 254 q 279 232 286 244 q 271 201 271 219 q 280 179 271 187 q 303 165 289 170 q 336 158 317 160 q 375 157 355 157 l 493 157 q 591 144 547 157 q 664 106 634 131 q 710 40 694 80 q 727 -54 727 0 q 701 -170 727 -118 q 624 -258 675 -222 q 497 -314 573 -295 q 322 -334 421 -334 q 187 -319 244 -334 q 91 -277 129 -304 q 33 -211 52 -249 q 14 -123 14 -172 q 28 -51 14 -81 q 66 0 42 -20 q 120 36 90 22 q 182 57 150 49 q 154 74 168 63 q 129 99 140 85 q 111 131 118 113 q 104 167 104 148 q 110 206 104 189 q 128 239 116 224 q 159 268 141 254 q 200 296 177 282 q 105 379 140 322 q 71 513 71 436 q 89 622 71 574 q 145 704 108 670 q 236 755 182 737 q 360 773 290 773 q 391 771 374 773 q 424 767 408 769 q 455 762 441 764 q 477 757 469 759 l 735 757 m 193 -107 q 200 -141 193 -125 q 224 -169 207 -157 q 266 -189 240 -181 q 331 -196 293 -196 q 490 -166 437 -196 q 543 -85 543 -135 q 510 -27 543 -42 q 408 -13 477 -13 l 312 -13 q 273 -17 294 -13 q 234 -33 252 -22 q 205 -62 217 -44 q 193 -107 193 -80 m 265 510 q 289 415 265 448 q 360 381 312 381 q 432 415 410 381 q 454 510 454 448 q 432 607 454 571 q 360 643 410 643 q 265 510 265 643 m 504 842 q 432 894 469 864 q 359 960 394 923 q 287 894 322 923 q 217 842 252 864 l 80 842 l 80 860 q 119 905 97 879 q 162 958 140 931 q 204 1013 184 986 q 240 1064 225 1040 l 481 1064 q 516 1013 496 1040 q 558 958 536 986 q 602 905 580 931 q 642 860 625 879 l 642 842 l 504 842 "},Ω:{x_min:37,x_max:999,ha:1031,o:"m 518 832 q 344 759 399 832 q 290 547 290 686 q 299 434 290 487 q 329 336 308 381 q 384 253 350 290 q 470 189 419 217 l 470 0 l 37 0 l 37 176 l 289 176 q 200 248 240 206 q 132 343 160 290 q 89 459 104 396 q 74 591 74 521 q 102 762 74 685 q 187 893 130 838 q 326 977 243 948 q 518 1007 409 1007 q 709 977 627 1007 q 848 893 792 948 q 933 761 905 838 q 962 589 962 684 q 946 458 962 520 q 902 343 931 396 q 834 248 874 290 q 744 176 794 206 l 999 176 l 999 0 l 561 0 l 561 189 q 649 253 614 216 q 705 336 684 290 q 736 435 727 382 q 745 548 745 488 q 691 759 745 686 q 518 832 636 832 "},s:{x_min:66,x_max:614,ha:668,o:"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 "},"?":{x_min:17,x_max:601,ha:638,o:"m 180 330 l 180 380 q 187 442 180 414 q 208 496 194 470 q 246 545 223 521 q 302 595 269 569 q 351 635 331 617 q 383 670 370 653 q 400 706 395 687 q 406 750 406 725 q 380 814 406 789 q 299 839 353 839 q 198 819 252 839 q 86 771 144 800 l 17 921 q 80 953 46 938 q 151 980 114 968 q 226 999 188 992 q 301 1006 264 1006 q 426 989 370 1006 q 520 940 482 972 q 580 863 559 909 q 601 760 601 818 q 591 683 601 717 q 563 621 582 650 q 516 566 544 592 q 451 509 488 539 q 404 470 422 487 q 376 439 386 453 q 362 408 366 424 q 359 370 359 392 l 359 330 l 180 330 m 158 97 q 167 151 158 129 q 192 187 176 173 q 230 206 208 200 q 278 213 252 213 q 323 206 301 213 q 360 187 344 200 q 386 151 377 173 q 396 97 396 129 q 386 45 396 66 q 360 9 377 23 q 323 -11 344 -5 q 278 -18 301 -18 q 230 -11 252 -18 q 192 9 208 -5 q 167 45 176 23 q 158 97 158 66 "},Ņ:{x_min:125,x_max:963,ha:1088,o:"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 m 385 -288 q 397 -242 391 -268 q 408 -188 403 -216 q 419 -134 414 -161 q 426 -85 424 -107 l 618 -85 l 618 -98 q 569 -198 597 -145 q 505 -307 541 -251 l 385 -307 l 385 -288 "},Ī:{x_min:44.28125,x_max:495.96875,ha:541,o:"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 62 1214 l 480 1214 l 480 1071 l 62 1071 l 62 1214 "},Μ:{x_min:125,x_max:1143,ha:1268,o:"m 523 0 l 305 778 l 299 778 q 306 657 303 715 q 308 605 307 632 q 310 553 309 579 q 311 503 311 527 q 312 461 312 480 l 312 0 l 125 0 l 125 992 l 410 992 l 625 233 l 629 233 l 856 992 l 1143 992 l 1143 0 l 947 0 l 947 469 q 947 509 947 487 q 948 556 947 531 q 950 607 949 581 q 951 657 951 633 q 956 776 954 714 l 951 776 l 716 0 l 523 0 "},"•":{x_min:66,x_max:455,ha:522,o:"m 66 507 q 80 606 66 566 q 121 673 95 647 q 183 711 148 699 q 260 723 219 723 q 336 711 300 723 q 398 673 371 699 q 439 606 424 647 q 455 507 455 566 q 439 409 455 450 q 398 342 424 368 q 336 304 371 316 q 260 292 300 292 q 183 304 219 292 q 121 342 148 316 q 80 409 95 368 q 66 507 66 450 "},н:{x_min:109,x_max:770,ha:878,o:"m 315 758 l 315 466 l 563 466 l 563 758 l 770 758 l 770 0 l 563 0 l 563 312 l 315 312 l 315 0 l 109 0 l 109 758 l 315 758 "},"(":{x_min:56,x_max:430,ha:471,o:"m 56 380 q 68 547 56 465 q 105 708 80 630 q 169 857 130 785 q 260 992 207 928 l 430 992 q 284 704 333 861 q 235 381 235 547 q 247 221 235 301 q 284 64 259 141 q 345 -84 308 -12 q 428 -220 381 -156 l 260 -220 q 169 -89 207 -158 q 105 57 130 -19 q 68 214 80 133 q 56 380 56 296 "},"◊":{x_min:60,x_max:749,ha:810,o:"m 749 498 l 443 0 l 365 0 l 60 498 l 365 999 l 443 999 l 749 498 m 569 498 l 404 776 l 239 498 l 404 221 l 569 498 "},α:{x_min:69,x_max:834,ha:864,o:"m 399 152 q 457 165 433 152 q 495 204 480 177 q 516 272 509 231 q 524 369 523 312 l 524 377 q 518 475 524 432 q 497 546 512 517 q 458 589 482 575 q 397 604 434 604 q 308 546 337 604 q 280 375 280 487 q 309 207 280 263 q 399 152 337 152 m 332 -14 q 224 11 273 -14 q 141 85 175 36 q 87 207 106 134 q 69 376 69 280 q 88 546 69 473 q 143 670 107 620 q 231 745 179 720 q 346 771 282 771 q 411 763 382 771 q 464 742 440 756 q 506 706 487 728 q 540 656 525 685 l 550 656 q 569 708 557 680 q 600 758 581 736 l 784 758 q 768 702 776 735 q 752 628 759 669 q 740 542 745 588 q 736 451 736 497 l 736 239 q 740 201 736 216 q 753 176 745 185 q 771 163 761 167 q 793 159 781 159 q 815 162 802 159 q 834 166 828 164 l 834 3 q 816 -2 828 0 q 790 -8 805 -5 q 761 -12 776 -10 q 734 -14 747 -14 q 667 -8 697 -14 q 614 10 637 -3 q 573 45 590 23 q 542 100 555 67 l 529 100 q 497 56 516 77 q 455 19 478 35 q 401 -5 431 3 q 332 -14 370 -14 "},Ħ:{x_min:0,x_max:1007,ha:1007,o:"m 1007 860 l 1007 722 l 882 722 l 882 0 l 671 0 l 671 428 l 335 428 l 335 0 l 125 0 l 125 722 l 0 722 l 0 860 l 125 860 l 125 992 l 335 992 l 335 860 l 671 860 l 671 992 l 882 992 l 882 860 l 1007 860 m 671 603 l 671 722 l 335 722 l 335 603 l 671 603 "},м:{x_min:109,x_max:1036,ha:1145,o:"m 1036 0 l 841 0 l 841 597 q 831 554 837 583 q 816 491 825 526 q 795 415 807 455 q 770 338 784 376 l 645 0 l 498 0 l 373 341 q 349 415 360 378 q 330 488 339 453 q 315 551 321 522 q 303 597 308 579 l 303 0 l 109 0 l 109 758 l 399 758 l 516 434 q 539 360 529 398 q 555 290 549 322 q 565 233 561 258 q 571 198 569 209 q 578 234 573 210 q 589 290 582 259 q 606 358 596 322 q 628 429 616 393 l 748 758 l 1036 758 l 1036 0 "},з:{x_min:53,x_max:676,ha:729,o:"m 288 464 q 428 481 379 464 q 477 544 477 498 q 445 601 477 582 q 338 619 412 619 q 285 616 313 619 q 229 606 257 612 q 173 591 201 600 q 120 571 145 583 l 58 716 q 121 738 88 728 q 192 757 154 749 q 271 768 229 764 q 364 773 314 773 q 474 760 421 773 q 567 723 527 748 q 631 660 607 698 q 656 568 656 621 q 617 458 656 499 q 514 399 578 417 l 514 393 q 577 371 548 384 q 628 338 606 358 q 663 289 650 318 q 676 218 676 260 q 654 129 676 172 q 590 55 633 87 q 481 4 547 23 q 324 -14 415 -14 q 169 -2 238 -14 q 53 31 99 8 l 53 197 q 100 176 74 186 q 156 157 126 165 q 220 144 186 149 q 288 139 253 139 q 359 143 326 139 q 416 158 392 148 q 455 185 441 169 q 469 226 469 202 q 425 294 469 272 q 288 316 380 316 l 221 316 l 221 464 l 288 464 "},Ґ:{x_min:125,x_max:723,ha:751,o:"m 335 0 l 125 0 l 125 992 l 535 992 l 535 1202 l 723 1202 l 723 817 l 335 817 l 335 0 "},Û:{x_min:118,x_max:876,ha:994,o:"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 639 1071 q 567 1123 604 1093 q 494 1189 529 1152 q 422 1123 457 1152 q 352 1071 387 1093 l 215 1071 l 215 1089 q 254 1134 232 1108 q 297 1187 275 1160 q 339 1242 319 1215 q 375 1293 360 1269 l 616 1293 q 651 1242 631 1269 q 693 1187 671 1215 q 737 1134 715 1160 q 777 1089 760 1108 l 777 1071 l 639 1071 "},і:{x_min:100.1875,x_max:325.359375,ha:424,o:"m 100 953 q 109 1002 100 983 q 133 1033 117 1021 q 169 1050 148 1045 q 212 1055 189 1055 q 256 1050 235 1055 q 291 1033 276 1045 q 316 1002 307 1021 q 325 953 325 983 q 316 905 325 925 q 291 874 307 885 q 256 857 276 862 q 212 852 235 852 q 169 857 189 852 q 133 874 148 862 q 109 905 117 885 q 100 953 100 925 m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 "},V:{x_min:-.25,x_max:847.25,ha:847,o:"m 634 992 l 847 992 l 537 0 l 308 0 l 0 992 l 212 992 l 380 394 q 389 356 383 383 q 401 296 395 329 q 414 231 408 263 q 423 176 420 198 q 433 231 427 198 q 446 296 439 263 q 459 355 453 328 q 469 394 465 382 l 634 992 "},Ŗ:{x_min:125,x_max:875.25,ha:875,o:"m 335 545 l 393 545 q 520 581 481 545 q 558 685 558 616 q 517 786 558 756 q 389 817 476 817 l 335 817 l 335 545 m 335 379 l 335 0 l 125 0 l 125 992 l 396 992 q 678 918 587 992 q 769 694 769 844 q 755 601 769 642 q 719 527 741 559 q 666 471 696 495 q 604 430 637 447 q 739 215 679 310 q 789 136 765 175 q 832 67 813 98 q 863 18 851 37 l 875 0 l 641 0 l 427 379 l 335 379 m 332 -288 q 344 -242 338 -268 q 355 -188 350 -216 q 366 -134 361 -161 q 373 -85 371 -107 l 565 -85 l 565 -98 q 516 -198 544 -145 q 452 -307 488 -251 l 332 -307 l 332 -288 "},"@":{x_min:69,x_max:1134,ha:1203,o:"m 1134 509 q 1118 382 1134 445 q 1072 269 1103 319 q 994 188 1041 219 q 883 158 946 158 q 834 164 857 158 q 793 182 812 170 q 760 210 774 194 q 738 245 746 226 l 728 245 q 698 212 715 228 q 661 184 682 196 q 614 165 640 172 q 559 158 589 158 q 459 177 503 158 q 385 232 415 196 q 340 317 356 267 q 325 427 325 367 q 346 556 325 497 q 406 656 367 614 q 501 722 445 699 q 627 746 558 746 q 690 742 658 746 q 753 733 723 739 q 810 721 783 728 q 855 708 836 714 l 841 423 q 840 394 840 408 q 840 376 840 380 q 844 329 840 347 q 855 300 848 311 q 872 286 863 290 q 891 282 881 282 q 932 300 915 282 q 961 349 950 318 q 979 422 973 381 q 985 511 985 464 q 959 665 985 597 q 888 780 933 733 q 779 851 842 827 q 642 875 716 875 q 459 841 538 875 q 327 744 380 806 q 247 598 274 682 q 219 412 219 513 q 243 246 219 318 q 313 125 266 174 q 428 50 360 76 q 586 25 497 25 q 664 30 624 25 q 744 43 704 35 q 822 62 783 51 q 895 87 860 74 l 895 -42 q 753 -87 831 -70 q 588 -104 676 -104 q 368 -69 465 -104 q 205 31 272 -34 q 104 192 139 97 q 69 408 69 287 q 87 569 69 492 q 140 712 105 646 q 224 832 174 778 q 338 924 274 886 q 478 983 401 962 q 642 1004 555 1004 q 839 969 749 1004 q 995 871 929 935 q 1097 715 1060 807 q 1134 509 1134 624 m 482 425 q 508 315 482 349 q 576 282 533 282 q 625 295 604 282 q 659 332 646 308 q 679 390 672 356 q 688 465 686 423 l 696 615 q 665 620 683 618 q 627 622 646 622 q 560 605 587 622 q 515 560 532 588 q 490 497 497 533 q 482 425 482 461 "},ʼ:{x_min:16,x_max:284,ha:298,o:"m 273 992 l 284 977 q 261 898 274 939 q 232 815 248 857 q 198 731 216 772 q 164 652 181 690 l 16 652 q 35 737 25 692 q 54 827 45 782 q 71 913 63 871 q 83 992 78 956 l 273 992 "},"℅":{x_min:43,x_max:1020,ha:1063,o:"m 837 992 l 313 0 l 150 0 l 674 992 l 837 992 m 1020 232 q 1004 128 1020 173 q 961 50 989 82 q 892 2 932 19 q 802 -14 852 -14 q 716 2 755 -14 q 647 50 676 19 q 602 128 618 82 q 587 232 587 173 q 602 337 587 291 q 645 414 617 383 q 714 462 673 446 q 805 479 754 479 q 890 462 851 479 q 958 414 929 446 q 1003 337 987 383 q 1020 232 1020 291 m 757 233 q 768 153 757 179 q 804 126 779 126 q 838 153 827 126 q 849 233 849 179 q 838 312 849 286 q 804 338 827 338 q 768 312 779 338 q 757 233 757 286 m 270 513 q 178 527 220 513 q 106 572 136 542 q 59 647 76 602 q 43 752 43 692 q 59 866 43 819 q 107 942 76 912 q 179 985 137 971 q 270 999 221 999 q 342 988 306 999 q 409 956 378 977 l 377 830 q 332 850 354 843 q 290 858 309 858 q 231 830 250 858 q 213 754 213 801 q 231 679 213 706 q 287 653 249 653 q 346 661 319 653 q 396 682 373 668 l 396 551 q 340 523 372 534 q 270 513 307 513 "},i:{x_min:100.1875,x_max:325.359375,ha:424,o:"m 100 953 q 109 1002 100 983 q 133 1033 117 1021 q 169 1050 148 1045 q 212 1055 189 1055 q 256 1050 235 1055 q 291 1033 276 1045 q 316 1002 307 1021 q 325 953 325 983 q 316 905 325 925 q 291 874 307 885 q 256 857 276 862 q 212 852 235 852 q 169 857 189 852 q 133 874 148 862 q 109 905 117 885 q 100 953 100 925 m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 "},ќ:{x_min:109,x_max:818.25,ha:818,o:"m 563 758 l 791 758 l 522 394 l 818 0 l 583 0 l 315 384 l 315 0 l 109 0 l 109 758 l 315 758 l 315 389 l 563 758 m 330 842 l 330 860 q 360 905 344 879 q 392 958 376 931 q 422 1013 408 986 q 448 1064 437 1040 l 680 1064 l 680 1049 q 658 1021 672 1037 q 625 985 644 1004 q 586 946 607 966 q 544 907 565 926 q 502 871 522 888 q 467 842 483 854 l 330 842 "},"≤":{x_min:60,x_max:706.34375,ha:765,o:"m 60 0 l 60 148 l 705 148 l 705 0 l 60 0 m 706 179 l 61 475 l 61 573 l 706 909 l 706 746 l 270 531 l 706 341 l 706 179 "},ё:{x_min:69,x_max:741,ha:807,o:"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 181 953 q 188 994 181 977 q 208 1022 195 1011 q 238 1039 221 1034 q 275 1045 255 1045 q 312 1039 295 1045 q 342 1022 329 1034 q 363 994 355 1011 q 371 953 371 977 q 363 913 371 930 q 342 885 355 896 q 312 868 329 873 q 275 863 295 863 q 238 868 255 863 q 208 885 221 873 q 188 913 195 896 q 181 953 181 930 m 454 953 q 461 994 454 977 q 481 1022 468 1011 q 512 1039 494 1034 q 550 1045 529 1045 q 586 1039 569 1045 q 617 1022 603 1034 q 638 994 630 1011 q 646 953 646 977 q 638 913 646 930 q 617 885 630 896 q 586 868 603 873 q 550 863 569 863 q 481 885 509 863 q 454 953 454 907 "},υ:{x_min:97,x_max:780,ha:861,o:"m 426 -12 q 266 15 330 -12 q 165 91 202 42 q 112 205 127 139 q 97 345 97 270 l 97 758 l 303 758 l 303 340 q 335 197 303 241 q 432 154 366 154 q 493 168 467 154 q 537 213 520 182 q 564 295 555 244 q 573 417 573 345 q 569 503 573 461 q 559 586 566 545 q 544 670 553 628 q 524 758 535 712 l 732 758 q 752 670 744 712 q 767 587 761 629 q 776 502 773 545 q 780 410 780 459 q 757 221 780 301 q 689 90 734 141 q 579 13 645 38 q 426 -12 513 -12 "},ĕ:{x_min:69,x_max:741,ha:807,o:"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 651 1071 q 629 978 647 1020 q 581 906 612 936 q 505 858 549 875 q 402 842 460 842 q 298 858 342 842 q 223 904 253 874 q 177 976 193 934 q 159 1071 161 1018 l 274 1071 q 286 1024 277 1041 q 312 998 296 1007 q 351 987 328 989 q 403 985 374 985 q 450 988 428 985 q 489 1000 472 991 q 518 1026 507 1009 q 532 1071 530 1043 l 651 1071 "},ffi:{x_min:28,x_max:1399.359375,ha:1498,o:"m 503 604 l 348 604 l 348 0 l 142 0 l 142 604 l 28 604 l 28 703 l 142 758 l 142 813 q 159 934 142 886 q 209 1010 177 982 q 288 1051 242 1039 q 392 1063 334 1063 q 497 1053 454 1063 q 570 1030 540 1043 l 521 877 q 477 890 500 884 q 422 896 454 896 q 365 871 382 896 q 348 804 348 845 l 348 758 l 503 758 l 503 604 m 1041 604 l 886 604 l 886 0 l 680 0 l 680 604 l 566 604 l 566 703 l 680 758 l 680 813 q 697 934 680 886 q 747 1010 715 982 q 826 1051 780 1039 q 930 1063 872 1063 q 1035 1053 992 1063 q 1108 1030 1078 1043 l 1059 877 q 1015 890 1038 884 q 960 896 992 896 q 903 871 920 896 q 886 804 886 845 l 886 758 l 1041 758 l 1041 604 m 1174 953 q 1183 1002 1174 983 q 1207 1033 1191 1021 q 1243 1050 1222 1045 q 1286 1055 1263 1055 q 1330 1050 1309 1055 q 1365 1033 1350 1045 q 1390 1002 1381 1021 q 1399 953 1399 983 q 1390 905 1399 925 q 1365 874 1381 885 q 1330 857 1350 862 q 1286 852 1309 852 q 1243 857 1263 852 q 1207 874 1222 862 q 1183 905 1191 885 q 1174 953 1174 925 m 1389 0 l 1183 0 l 1183 758 l 1389 758 l 1389 0 "},ż:{x_min:37,x_max:595,ha:635,o:"m 595 0 l 37 0 l 37 117 l 347 604 l 58 604 l 58 758 l 582 758 l 582 628 l 281 153 l 595 153 l 595 0 m 214 954 q 222 1003 214 984 q 246 1034 231 1022 q 282 1051 262 1046 q 326 1056 303 1056 q 369 1051 349 1056 q 405 1034 390 1046 q 429 1003 420 1022 q 439 954 439 984 q 429 906 439 926 q 405 875 420 886 q 369 858 390 863 q 326 853 349 853 q 282 858 303 853 q 246 875 262 863 q 222 906 231 886 q 214 954 214 926 "},Э:{x_min:48.359375,x_max:784,ha:865,o:"m 348 831 q 229 812 287 831 q 115 766 171 793 l 48 936 q 192 987 116 968 q 354 1006 268 1006 q 536 971 457 1006 q 671 871 616 937 q 755 710 726 805 q 784 494 784 615 q 757 285 784 379 q 676 125 731 192 q 537 22 621 59 q 338 -14 453 -14 q 263 -10 299 -14 q 195 -1 228 -7 q 130 13 162 4 q 66 36 98 23 l 66 213 q 199 174 137 188 q 321 160 260 160 q 499 223 436 160 q 567 411 562 285 l 188 411 l 188 586 l 566 586 q 548 689 564 644 q 504 766 532 735 q 436 814 475 797 q 348 831 396 831 "},ő:{x_min:69,x_max:774,ha:832,o:"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 183 842 l 183 860 q 213 905 197 879 q 245 958 229 931 q 275 1013 261 986 q 300 1064 290 1040 l 505 1064 l 505 1049 q 483 1021 497 1037 q 450 985 469 1004 q 411 946 432 966 q 368 907 389 926 q 327 871 347 888 q 292 842 307 854 l 183 842 m 452 842 l 452 860 q 482 905 466 879 q 514 958 498 931 q 544 1013 530 986 q 569 1064 559 1040 l 774 1064 l 774 1049 q 752 1021 766 1037 q 719 985 738 1004 q 680 946 701 966 q 638 907 659 926 q 597 871 616 888 q 561 842 577 854 l 452 842 "},Ŏ:{x_min:81,x_max:970,ha:1050,o:"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 770 1300 q 748 1207 766 1249 q 700 1135 731 1165 q 624 1087 668 1104 q 521 1071 579 1071 q 417 1087 461 1071 q 342 1133 372 1103 q 296 1205 312 1163 q 278 1300 280 1247 l 393 1300 q 405 1253 396 1270 q 431 1227 415 1236 q 470 1216 447 1218 q 522 1214 493 1214 q 569 1217 547 1214 q 608 1229 591 1220 q 637 1255 626 1238 q 651 1300 649 1272 l 770 1300 "},ю:{x_min:109,x_max:1114,ha:1184,o:"m 1114 380 q 1090 212 1114 285 q 1024 88 1067 138 q 919 12 981 38 q 779 -14 856 -14 q 657 5 713 -14 q 558 66 601 25 q 488 168 516 106 q 452 313 461 229 l 315 313 l 315 0 l 109 0 l 109 758 l 315 758 l 315 467 l 454 467 q 492 597 464 540 q 562 693 519 654 q 660 752 604 732 q 783 773 716 773 q 916 747 855 773 q 1020 671 976 721 q 1089 548 1064 621 q 1114 380 1114 474 m 658 380 q 687 209 658 267 q 781 152 716 152 q 873 209 845 152 q 902 380 902 267 q 873 550 902 494 q 779 606 845 606 q 687 550 716 606 q 658 380 658 494 "},İ:{x_min:44.28125,x_max:495.96875,ha:541,o:"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 154 1183 q 162 1232 154 1213 q 186 1263 171 1251 q 222 1280 202 1275 q 266 1285 243 1285 q 309 1280 289 1285 q 345 1263 330 1275 q 369 1232 360 1251 q 379 1183 379 1213 q 369 1135 379 1155 q 345 1104 360 1115 q 309 1087 330 1092 q 266 1082 289 1082 q 222 1087 243 1082 q 186 1104 202 1092 q 162 1135 171 1115 q 154 1183 154 1155 "},Ě:{x_min:124,x_max:696,ha:778,o:"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 686 1274 q 646 1229 669 1255 q 602 1176 624 1203 q 560 1121 580 1148 q 525 1071 540 1094 l 284 1071 q 248 1121 269 1094 q 206 1176 228 1148 q 163 1229 184 1203 q 124 1274 141 1255 l 124 1293 l 261 1293 q 331 1240 296 1270 q 403 1174 366 1211 q 476 1240 438 1211 q 548 1293 513 1270 l 686 1293 l 686 1274 "},"‹":{x_min:55,x_max:413,ha:469,o:"m 55 388 l 264 697 l 413 616 l 265 380 l 413 143 l 264 63 l 55 370 l 55 388 "},ķ:{x_min:109,x_max:819.25,ha:819,o:"m 307 412 l 383 527 l 568 758 l 801 758 l 527 429 l 819 0 l 580 0 l 396 291 l 315 235 l 315 0 l 109 0 l 109 1055 l 315 1055 l 315 584 l 305 412 l 307 412 m 303 -288 q 315 -242 309 -268 q 326 -188 321 -216 q 337 -134 332 -161 q 344 -85 342 -107 l 536 -85 l 536 -98 q 487 -198 515 -145 q 423 -307 459 -251 l 303 -307 l 303 -288 "},ì:{x_min:-29,x_max:321,ha:424,o:"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 183 842 q 128 889 160 860 q 64 946 95 917 q 7 1004 33 976 q -29 1049 -18 1031 l -29 1064 l 202 1064 q 228 1013 213 1040 q 258 958 242 986 q 290 905 274 931 q 321 860 306 879 l 321 842 l 183 842 "},"±":{x_min:60.09375,x_max:705.765625,ha:765,o:"m 309 457 l 60 457 l 60 606 l 309 606 l 309 856 l 457 856 l 457 606 l 705 606 l 705 457 l 457 457 l 457 209 l 309 209 l 309 457 m 60 0 l 60 148 l 705 148 l 705 0 l 60 0 "},"|":{x_min:309,x_max:457.53125,ha:765,o:"m 309 1051 l 457 1051 l 457 -315 l 309 -315 l 309 1051 "},"§":{x_min:72,x_max:607,ha:675,o:"m 82 546 q 89 601 82 576 q 108 648 96 626 q 137 686 121 669 q 172 715 154 703 q 105 782 129 742 q 82 873 82 822 q 101 954 82 917 q 157 1016 121 990 q 244 1056 193 1042 q 356 1070 294 1070 q 485 1054 425 1070 q 602 1013 545 1038 l 547 884 q 453 923 501 906 q 353 941 405 941 q 273 925 298 941 q 248 877 248 909 q 256 845 248 860 q 282 818 264 831 q 327 791 299 804 q 392 762 354 778 q 480 720 440 743 q 547 669 519 697 q 591 606 575 641 q 607 530 607 572 q 583 421 607 462 q 522 354 560 379 q 585 291 564 327 q 607 205 607 255 q 585 114 607 155 q 526 45 564 74 q 432 1 487 17 q 308 -14 377 -14 q 176 0 234 -14 q 72 39 119 14 l 72 181 q 129 155 98 167 q 190 134 159 144 q 252 120 222 125 q 309 114 282 114 q 372 120 347 114 q 412 137 397 127 q 434 162 427 148 q 440 193 440 177 q 435 224 440 210 q 415 250 430 237 q 372 277 400 262 q 300 310 345 291 q 207 353 248 331 q 139 402 166 375 q 96 464 111 430 q 82 546 82 499 m 234 561 q 272 485 234 518 q 390 418 310 452 l 400 414 q 420 431 411 421 q 437 453 430 441 q 449 480 445 465 q 454 512 454 495 q 447 552 454 534 q 422 588 440 571 q 373 622 404 605 q 295 656 342 639 q 272 642 283 651 q 253 620 261 632 q 239 593 244 608 q 234 561 234 578 "},џ:{x_min:109,x_max:783,ha:892,o:"m 109 0 l 109 758 l 315 758 l 315 153 l 576 153 l 576 758 l 783 758 l 783 0 l 531 0 l 531 -272 l 353 -272 l 353 0 l 109 0 "},љ:{x_min:0,x_max:1143,ha:1198,o:"m 530 0 l 530 604 l 392 604 q 358 319 378 437 q 308 127 339 201 q 231 20 277 54 q 118 -14 185 -14 q 0 6 46 -14 l 0 165 q 31 155 14 159 q 66 152 48 152 q 97 162 82 152 q 126 198 112 172 q 152 268 140 224 q 175 380 164 312 q 196 540 186 447 q 214 758 205 633 l 736 758 l 736 467 l 829 467 q 1066 411 989 467 q 1143 242 1143 356 q 1125 142 1143 187 q 1069 65 1107 97 q 971 17 1031 34 q 827 0 911 0 l 530 0 m 936 239 q 906 300 936 281 q 816 319 876 319 l 736 319 l 736 147 l 819 147 q 903 168 870 147 q 936 239 936 189 "},q:{x_min:69,x_max:735,ha:844,o:"m 407 152 q 470 164 444 152 q 511 202 495 177 q 534 265 526 227 q 542 354 541 303 l 542 379 q 535 476 542 434 q 513 548 529 519 q 471 591 497 577 q 406 606 445 606 q 311 548 341 606 q 280 378 280 489 q 311 208 280 264 q 407 152 342 152 m 331 -14 q 224 11 272 -14 q 141 85 176 36 q 87 208 106 134 q 69 377 69 281 q 88 548 69 474 q 143 672 107 622 q 228 747 178 722 q 337 773 277 773 q 405 764 375 773 q 460 741 436 756 q 504 706 485 726 q 538 663 523 687 l 543 663 l 560 758 l 735 758 l 735 -334 l 528 -334 l 528 -13 q 529 19 528 0 q 532 57 531 39 q 536 101 534 79 l 528 101 q 496 56 514 78 q 453 19 478 35 q 399 -4 429 4 q 331 -14 369 -14 "},"˳":{x_min:60,x_max:400,ha:463,o:"m 400 -244 q 386 -312 400 -282 q 350 -363 373 -342 q 295 -395 326 -384 q 227 -407 264 -407 q 159 -395 190 -407 q 106 -363 128 -384 q 72 -313 84 -343 q 60 -245 60 -283 q 72 -178 60 -208 q 106 -128 84 -148 q 159 -96 128 -107 q 227 -85 190 -85 q 295 -96 263 -85 q 349 -128 326 -107 q 386 -178 372 -148 q 400 -244 400 -207 m 294 -245 q 276 -197 294 -215 q 230 -180 258 -180 q 183 -197 201 -180 q 165 -245 165 -215 q 181 -293 165 -276 q 230 -311 197 -311 q 276 -293 258 -311 q 294 -245 294 -276 "},ή:{x_min:109,x_max:767,ha:871,o:"m 560 -334 l 560 438 q 534 564 560 522 q 454 606 509 606 q 388 590 415 606 q 345 542 362 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 345 710 322 689 q 395 745 368 732 q 452 766 422 759 q 515 773 483 773 q 704 702 642 773 q 767 487 767 632 l 767 -334 l 560 -334 m 366 860 q 378 906 372 880 q 389 960 384 932 q 400 1014 395 987 q 407 1064 404 1041 l 599 1064 l 599 1049 q 550 950 578 1003 q 486 842 522 897 l 366 842 l 366 860 "},Ж:{x_min:-.25,x_max:1254.25,ha:1254,o:"m 324 516 l 18 992 l 235 992 l 529 512 l 529 992 l 725 992 l 725 512 l 1018 992 l 1235 992 l 929 516 l 1254 0 l 1029 0 l 725 503 l 725 0 l 529 0 l 529 503 l 224 0 l 0 0 l 324 516 "},"®":{x_min:68,x_max:1088,ha:1156,o:"m 785 614 q 758 513 785 550 q 688 456 732 475 l 848 185 l 676 185 l 555 414 l 523 414 l 523 185 l 368 185 l 368 806 l 547 806 q 727 758 670 806 q 785 614 785 711 m 523 528 l 545 528 q 609 547 590 528 q 629 611 629 566 q 623 650 629 635 q 608 675 618 666 q 581 688 597 684 q 543 692 565 692 l 523 692 l 523 528 m 68 495 q 86 631 68 566 q 137 753 104 696 q 217 856 170 809 q 320 936 264 903 q 442 987 377 969 q 578 1006 507 1006 q 713 987 648 1006 q 835 936 778 969 q 938 856 892 903 q 1018 753 985 809 q 1069 631 1051 696 q 1088 495 1088 566 q 1069 359 1088 425 q 1018 238 1051 294 q 938 134 985 181 q 835 55 892 88 q 713 3 778 21 q 578 -14 648 -14 q 442 3 507 -14 q 320 55 377 21 q 217 134 264 88 q 137 238 170 181 q 86 359 104 294 q 68 495 68 425 m 164 496 q 196 334 164 409 q 285 203 229 259 q 416 114 341 147 q 578 82 491 82 q 739 114 664 82 q 870 203 814 147 q 959 334 926 259 q 991 496 991 409 q 959 657 991 582 q 870 788 926 732 q 739 877 814 844 q 578 909 664 909 q 416 877 491 909 q 285 788 341 844 q 196 657 229 732 q 164 496 164 582 "},Н:{x_min:125,x_max:882,ha:1007,o:"m 882 0 l 671 0 l 671 428 l 335 428 l 335 0 l 125 0 l 125 992 l 335 992 l 335 603 l 671 603 l 671 992 l 882 992 l 882 0 "},Ε:{x_min:125,x_max:696,ha:778,o:"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 "},"₧":{x_min:125,x_max:1172,ha:1211,o:"m 321 527 l 363 527 q 498 562 453 527 q 544 675 544 597 q 503 782 544 747 q 375 817 462 817 l 321 817 l 321 527 m 740 682 q 720 557 740 617 q 655 452 700 498 q 537 380 610 407 q 355 353 463 353 l 321 353 l 321 0 l 125 0 l 125 992 l 372 992 q 537 970 467 992 q 651 909 606 949 q 718 812 696 869 q 740 682 740 755 m 1070 138 q 1123 145 1099 138 q 1172 162 1147 151 l 1172 20 q 1101 -4 1142 5 q 1010 -14 1059 -14 q 923 -2 962 -14 q 855 35 883 8 q 812 107 827 62 q 797 218 797 151 l 797 436 l 699 436 l 699 507 l 812 575 l 878 735 l 992 735 l 992 574 l 1163 574 l 1163 436 l 992 436 l 992 225 q 998 189 992 205 q 1015 161 1004 173 q 1039 144 1025 150 q 1070 138 1053 138 "},л:{x_min:0,x_max:746,ha:855,o:"m 746 0 l 539 0 l 539 604 l 392 604 q 358 319 378 437 q 308 127 339 201 q 231 20 277 54 q 118 -14 185 -14 q 0 7 46 -14 l 0 173 q 31 163 14 167 q 66 159 48 159 q 97 169 82 159 q 126 205 112 179 q 152 274 140 231 q 175 384 164 318 q 196 543 186 451 q 214 758 205 635 l 746 758 l 746 0 "},σ:{x_min:69,x_max:845,ha:872,o:"m 774 314 q 750 184 774 244 q 683 80 727 124 q 572 11 638 36 q 419 -14 505 -14 q 275 10 340 -14 q 165 83 211 34 q 94 203 119 131 q 69 369 69 275 q 97 548 69 474 q 177 669 125 622 q 305 738 230 716 q 474 760 380 760 l 845 760 l 845 593 l 653 593 q 699 538 678 567 q 738 474 721 508 q 764 400 754 440 q 774 314 774 360 m 280 362 q 288 276 280 315 q 314 210 297 237 q 358 167 331 182 q 422 152 384 152 q 485 166 459 152 q 529 206 512 180 q 554 267 545 231 q 562 347 562 303 q 543 486 562 428 q 487 593 523 544 l 458 593 q 378 582 412 593 q 322 543 344 570 q 290 471 301 516 q 280 362 280 427 "},θ:{x_min:69,x_max:761,ha:831,o:"m 761 528 q 742 300 761 401 q 681 129 723 199 q 573 22 639 59 q 413 -14 507 -14 q 261 22 326 -14 q 153 129 196 59 q 90 300 111 199 q 69 528 69 401 q 87 757 69 656 q 148 927 106 857 q 255 1034 189 997 q 413 1071 320 1071 q 566 1034 501 1071 q 674 928 631 998 q 739 758 718 859 q 761 528 761 657 m 413 133 q 514 212 483 133 q 549 454 545 292 l 280 454 q 313 213 282 294 q 413 133 343 133 m 415 923 q 316 845 347 923 q 281 608 286 766 l 549 608 q 514 845 545 766 q 415 923 482 923 "}," ":{x_min:0,x_max:0,ha:361},"∑":{x_min:28,x_max:869,ha:876,o:"m 28 -310 l 28 -194 l 418 371 l 38 879 l 38 992 l 829 992 l 829 825 l 316 825 l 651 375 l 299 -135 l 869 -135 l 869 -310 l 28 -310 "},Ώ:{x_min:-39,x_max:1060,ha:1092,o:"m 579 832 q 405 759 460 832 q 351 547 351 686 q 360 434 351 487 q 390 336 369 381 q 445 253 411 290 q 531 189 480 217 l 531 0 l 98 0 l 98 176 l 350 176 q 261 248 301 206 q 193 343 221 290 q 150 459 165 396 q 135 591 135 521 q 163 762 135 685 q 248 893 191 838 q 387 977 304 948 q 579 1007 470 1007 q 770 977 688 1007 q 909 893 853 948 q 994 761 966 838 q 1023 589 1023 684 q 1007 458 1023 520 q 963 343 992 396 q 895 248 935 290 q 805 176 855 206 l 1060 176 l 1060 0 l 622 0 l 622 189 q 710 253 675 216 q 766 336 745 290 q 797 435 788 382 q 806 548 806 488 q 752 759 806 686 q 579 832 697 832 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 "},ẃ:{x_min:-.25,x_max:1120.25,ha:1120,o:"m 688 0 l 629 265 q 622 297 626 276 q 612 346 618 319 q 601 403 607 372 q 589 463 595 433 q 559 613 575 532 l 555 613 q 527 462 539 532 q 515 402 521 432 q 504 344 510 371 q 494 296 499 317 q 487 262 490 274 l 426 0 l 204 0 l 0 758 l 205 758 l 282 422 q 294 359 288 395 q 306 284 301 322 q 317 213 312 246 q 324 160 322 179 l 328 160 q 331 193 329 172 q 337 237 334 214 q 344 286 341 261 q 352 332 348 311 q 359 371 356 354 q 364 394 362 387 l 447 758 l 674 758 l 754 394 q 763 348 757 379 q 774 281 768 317 q 784 212 780 246 q 789 160 788 178 l 793 160 q 800 210 795 176 q 811 281 805 243 q 824 357 817 320 q 837 422 831 395 l 917 758 l 1120 758 l 913 0 l 688 0 m 453 842 l 453 860 q 483 905 467 879 q 515 958 499 931 q 545 1013 531 986 q 571 1064 560 1040 l 803 1064 l 803 1049 q 781 1021 795 1037 q 748 985 767 1004 q 709 946 730 966 q 667 907 688 926 q 625 871 645 888 q 590 842 606 854 l 453 842 "},"+":{x_min:60.09375,x_max:705.765625,ha:765,o:"m 309 415 l 60 415 l 60 564 l 309 564 l 309 814 l 457 814 l 457 564 l 705 564 l 705 415 l 457 415 l 457 168 l 309 168 l 309 415 "},Ë:{x_min:125,x_max:696,ha:778,o:"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 186 1182 q 193 1223 186 1206 q 213 1251 200 1240 q 243 1268 226 1263 q 280 1274 260 1274 q 317 1268 300 1274 q 347 1251 334 1263 q 368 1223 360 1240 q 376 1182 376 1206 q 368 1142 376 1159 q 347 1114 360 1125 q 317 1097 334 1102 q 280 1092 300 1092 q 243 1097 260 1092 q 213 1114 226 1102 q 193 1142 200 1125 q 186 1182 186 1159 m 459 1182 q 466 1223 459 1206 q 486 1251 473 1240 q 517 1268 499 1263 q 555 1274 534 1274 q 591 1268 574 1274 q 622 1251 608 1263 q 643 1223 635 1240 q 651 1182 651 1206 q 643 1142 651 1159 q 622 1114 635 1125 q 591 1097 608 1102 q 555 1092 574 1092 q 486 1114 514 1092 q 459 1182 459 1136 "},Š:{x_min:63.46875,x_max:668,ha:728,o:"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 m 655 1274 q 615 1229 638 1255 q 571 1176 593 1203 q 529 1121 549 1148 q 494 1071 509 1094 l 253 1071 q 217 1121 238 1094 q 175 1176 197 1148 q 132 1229 153 1203 q 93 1274 110 1255 l 93 1293 l 230 1293 q 300 1240 265 1270 q 372 1174 335 1211 q 445 1240 407 1211 q 517 1293 482 1270 l 655 1293 l 655 1274 "}," ":{x_min:0,x_max:0,ha:1389},ð:{x_min:50,x_max:744,ha:802,o:"m 310 887 q 260 917 286 901 q 205 949 234 934 l 270 1065 q 363 1018 320 1041 q 445 969 407 995 l 599 1063 l 667 959 l 549 887 q 634 787 598 840 q 695 673 671 734 q 731 540 719 611 q 744 388 744 470 q 719 217 744 291 q 649 91 695 142 q 539 12 604 39 q 394 -14 475 -14 q 256 9 319 -14 q 147 76 193 32 q 75 184 101 120 q 50 331 50 248 q 72 478 50 414 q 133 585 94 541 q 228 652 173 629 q 350 675 284 675 q 461 653 415 675 q 529 598 507 631 l 543 599 q 490 711 524 659 q 411 802 456 764 l 254 704 l 185 810 l 310 887 m 532 360 q 524 421 532 392 q 500 472 516 450 q 458 508 483 495 q 398 521 432 521 q 293 474 324 521 q 261 330 261 426 q 269 252 261 287 q 293 192 277 217 q 336 153 310 167 q 398 139 362 139 q 501 194 469 139 q 532 360 532 249 "},щ:{x_min:109,x_max:1307,ha:1327,o:"m 1196 149 l 1307 149 l 1307 -272 l 1128 -272 l 1128 0 l 109 0 l 109 758 l 315 758 l 315 153 l 549 153 l 549 758 l 755 758 l 755 153 l 989 153 l 989 758 l 1196 758 l 1196 149 "},℮:{x_min:69,x_max:789,ha:860,o:"m 429 -24 q 273 7 341 -24 q 161 92 206 39 q 92 215 115 146 q 69 359 69 284 q 83 480 69 426 q 124 577 98 534 q 185 651 150 620 q 259 702 219 682 q 343 733 299 723 q 429 743 386 743 q 571 716 506 743 q 685 639 637 689 q 761 518 734 589 q 789 358 789 447 l 227 358 l 227 117 q 264 86 242 101 q 312 60 286 71 q 368 41 338 48 q 429 34 398 34 q 518 45 479 34 q 590 76 558 56 q 648 126 622 96 q 697 193 674 155 l 746 165 q 693 92 721 126 q 628 31 665 58 q 542 -9 590 5 q 429 -24 493 -24 m 632 417 l 632 605 q 599 633 619 618 q 553 659 579 647 q 495 678 527 671 q 428 686 463 686 q 363 679 393 686 q 309 661 334 673 q 264 636 284 650 q 227 606 244 622 l 227 417 l 632 417 "},Φ:{x_min:62,x_max:1077,ha:1139,o:"m 663 305 l 671 305 q 763 321 724 305 q 828 366 802 337 q 867 433 854 394 q 881 516 881 471 q 869 592 881 556 q 834 656 858 629 q 774 700 810 684 q 688 717 738 717 l 663 717 l 663 305 m 476 -14 l 476 139 l 462 139 q 328 155 387 139 q 225 199 269 171 q 149 264 181 227 q 99 343 118 301 q 70 429 79 385 q 62 514 62 472 q 84 649 62 583 q 153 768 106 716 q 272 852 200 820 q 442 884 343 884 l 476 884 l 476 1006 l 663 1006 l 663 884 l 696 884 q 867 852 795 884 q 985 768 938 820 q 1054 649 1032 716 q 1077 514 1077 583 q 1068 429 1077 472 q 1039 343 1059 385 q 989 264 1020 301 q 913 199 958 227 q 810 155 869 171 q 676 139 751 139 l 663 139 l 663 -14 l 476 -14 m 476 717 l 451 717 q 365 700 401 717 q 305 656 328 684 q 269 592 281 629 q 258 516 258 556 q 271 433 258 471 q 310 366 284 394 q 375 321 336 337 q 467 305 414 305 l 476 305 l 476 717 "},ş:{x_min:66,x_max:614,ha:668,o:"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 m 473 -169 q 462 -239 473 -208 q 427 -290 451 -269 q 362 -322 403 -311 q 263 -334 322 -334 q 208 -329 232 -334 q 164 -319 183 -325 l 164 -205 q 186 -210 174 -208 q 212 -215 199 -213 q 238 -218 225 -217 q 261 -220 251 -220 q 295 -210 280 -220 q 310 -178 310 -201 q 285 -133 310 -153 q 197 -105 259 -114 l 250 0 l 381 0 l 362 -41 q 403 -59 383 -48 q 438 -87 423 -71 q 463 -124 453 -103 q 473 -169 473 -144 "}," ":{x_min:0,x_max:0,ha:765},ı:{x_min:109,x_max:315.859375,ha:424,o:"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 "},ä:{x_min:58,x_max:694,ha:798,o:"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 173 953 q 180 994 173 977 q 200 1022 187 1011 q 230 1039 213 1034 q 267 1045 247 1045 q 304 1039 287 1045 q 334 1022 321 1034 q 355 994 347 1011 q 363 953 363 977 q 355 913 363 930 q 334 885 347 896 q 304 868 321 873 q 267 863 287 863 q 230 868 247 863 q 200 885 213 873 q 180 913 187 896 q 173 953 173 930 m 446 953 q 453 994 446 977 q 473 1022 460 1011 q 504 1039 486 1034 q 542 1045 521 1045 q 578 1039 561 1045 q 609 1022 595 1034 q 630 994 622 1011 q 638 953 638 977 q 630 913 638 930 q 609 885 622 896 q 578 868 595 873 q 542 863 561 863 q 473 885 501 863 q 446 953 446 907 "},"¹":{x_min:63,x_max:396.421875,ha:526,o:"m 396 397 l 235 397 l 235 700 q 235 734 235 713 q 236 776 235 755 q 238 814 237 797 q 240 840 239 832 q 229 828 236 835 q 216 813 223 820 q 202 799 209 805 q 189 787 195 792 l 136 746 l 63 832 l 266 992 l 396 992 l 396 397 "},W:{x_min:-.25,x_max:1287.25,ha:1287,o:"m 1048 0 l 809 0 l 687 489 q 681 517 684 499 q 672 559 677 536 q 663 607 667 582 q 654 656 658 632 q 647 700 650 679 q 642 732 644 720 q 638 700 641 720 q 631 656 635 679 q 622 608 627 633 q 613 559 618 582 q 605 517 609 536 q 598 487 601 498 l 477 0 l 238 0 l 0 992 l 206 992 l 319 450 q 325 418 321 439 q 333 372 328 398 q 343 318 338 346 q 353 262 348 289 q 361 211 357 235 q 368 173 366 188 q 373 211 370 188 q 381 260 377 234 q 390 314 385 286 q 399 366 395 342 q 407 409 404 390 q 413 436 411 428 l 551 992 l 735 992 l 873 436 q 879 409 875 428 q 887 366 882 390 q 896 314 891 342 q 905 260 901 286 q 913 211 910 234 q 919 173 917 188 q 925 211 921 188 q 933 262 929 235 q 943 318 938 289 q 953 372 948 346 q 962 418 958 398 q 967 450 965 439 l 1080 992 l 1287 992 l 1048 0 "},λ:{x_min:4.75,x_max:806,ha:813,o:"m 4 0 l 305 716 l 283 779 q 256 836 270 815 q 226 870 242 858 q 190 886 209 882 q 145 890 170 890 q 110 887 127 890 q 81 881 93 884 l 81 1052 q 103 1056 90 1054 q 131 1060 116 1059 q 161 1062 146 1061 q 188 1064 176 1064 q 295 1047 251 1064 q 373 1000 340 1031 q 430 923 406 968 q 473 820 453 878 l 653 296 q 681 226 667 253 q 707 184 694 199 q 734 164 721 169 q 761 159 746 159 q 782 161 770 159 q 806 166 794 163 l 806 6 q 783 -1 797 2 q 753 -7 770 -5 q 720 -12 737 -10 q 691 -14 704 -14 q 621 -3 651 -14 q 570 28 592 7 q 532 76 547 48 q 503 140 516 105 l 441 324 q 413 409 425 369 q 394 484 400 450 l 389 484 q 379 445 385 466 q 368 405 374 425 q 356 365 362 384 q 344 328 350 345 l 219 0 l 4 0 "},">":{x_min:60,x_max:705,ha:765,o:"m 60 300 l 496 490 l 60 705 l 60 868 l 705 531 l 705 434 l 60 138 l 60 300 "},τ:{x_min:27,x_max:666.140625,ha:720,o:"m 424 604 l 424 238 q 446 173 424 194 q 503 152 468 152 q 561 158 534 152 q 618 175 589 165 l 618 20 q 545 -4 588 5 q 451 -14 502 -14 q 359 -2 402 -14 q 285 38 316 9 q 236 115 254 67 q 218 237 218 164 l 218 604 l 27 604 l 27 689 l 140 758 l 666 758 l 666 604 l 424 604 "},Ų:{x_min:118,x_max:876,ha:994,o:"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 514 -154 q 529 -196 514 -182 q 568 -209 544 -209 q 611 -205 589 -209 q 646 -197 632 -201 l 646 -318 q 599 -329 624 -324 q 540 -334 574 -334 q 469 -322 501 -334 q 416 -290 438 -310 q 382 -241 394 -269 q 371 -177 371 -212 q 380 -124 371 -148 q 406 -78 389 -99 q 445 -38 423 -57 q 493 0 467 -19 l 614 0 q 540 -81 567 -44 q 514 -154 514 -118 "},Ŵ:{x_min:-.25,x_max:1287.25,ha:1287,o:"m 1048 0 l 809 0 l 687 489 q 681 517 684 499 q 672 559 677 536 q 663 607 667 582 q 654 656 658 632 q 647 700 650 679 q 642 732 644 720 q 638 700 641 720 q 631 656 635 679 q 622 608 627 633 q 613 559 618 582 q 605 517 609 536 q 598 487 601 498 l 477 0 l 238 0 l 0 992 l 206 992 l 319 450 q 325 418 321 439 q 333 372 328 398 q 343 318 338 346 q 353 262 348 289 q 361 211 357 235 q 368 173 366 188 q 373 211 370 188 q 381 260 377 234 q 390 314 385 286 q 399 366 395 342 q 407 409 404 390 q 413 436 411 428 l 551 992 l 735 992 l 873 436 q 879 409 875 428 q 887 366 882 390 q 896 314 891 342 q 905 260 901 286 q 913 211 910 234 q 919 173 917 188 q 925 211 921 188 q 933 262 929 235 q 943 318 938 289 q 953 372 948 346 q 962 418 958 398 q 967 450 965 439 l 1080 992 l 1287 992 l 1048 0 m 785 1071 q 713 1123 750 1093 q 640 1189 675 1152 q 568 1123 603 1152 q 498 1071 533 1093 l 361 1071 l 361 1089 q 400 1134 378 1108 q 443 1187 421 1160 q 485 1242 465 1215 q 521 1293 506 1269 l 762 1293 q 797 1242 777 1269 q 839 1187 817 1215 q 883 1134 861 1160 q 923 1089 906 1108 l 923 1071 l 785 1071 "},"‛":{x_min:16,x_max:284,ha:298,o:"m 215 992 q 228 913 220 956 q 244 827 235 871 q 263 737 254 782 q 284 652 273 692 l 135 652 q 100 731 118 690 q 67 815 83 772 q 38 898 51 857 q 16 977 25 939 l 25 992 l 215 992 "},Ð:{x_min:32.078125,x_max:892,ha:973,o:"m 32 577 l 125 577 l 125 992 l 415 992 q 612 960 524 992 q 762 868 700 929 q 858 715 824 806 q 892 505 892 624 q 857 285 892 379 q 758 127 823 190 q 600 31 693 63 q 386 0 506 0 l 125 0 l 125 402 l 32 402 l 32 577 m 681 499 q 665 641 681 581 q 616 740 648 701 q 538 798 584 779 q 432 817 492 817 l 335 817 l 335 577 l 495 577 l 495 402 l 335 402 l 335 174 l 413 174 q 614 255 547 174 q 681 499 681 336 "},Λ:{x_min:-.25,x_max:847.25,ha:847,o:"m 469 597 q 459 637 466 610 q 446 696 453 664 q 433 761 439 728 q 423 815 427 793 q 414 760 420 793 q 401 695 408 728 q 389 636 395 663 q 380 597 383 609 l 212 0 l 0 0 l 308 992 l 537 992 l 847 0 l 634 0 l 469 597 "},"·":{x_min:79,x_max:316,ha:396,o:"m 79 489 q 88 543 79 521 q 113 579 97 565 q 151 598 129 592 q 198 605 173 605 q 243 598 221 605 q 280 579 264 592 q 306 543 297 565 q 316 489 316 521 q 306 437 316 458 q 280 401 297 415 q 243 380 264 386 q 198 374 221 374 q 151 380 173 374 q 113 401 129 386 q 88 437 97 415 q 79 489 79 458 "},Х:{x_min:-.25,x_max:871.25,ha:871,o:"m 871 0 l 631 0 l 428 375 l 224 0 l 0 0 l 301 511 l 20 992 l 252 992 l 438 635 l 620 992 l 847 992 l 563 500 l 871 0 "},Υ:{x_min:-.25,x_max:812.25,ha:811,o:"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 "},r:{x_min:109,x_max:570,ha:603,o:"m 504 773 q 522 772 512 773 q 541 771 532 772 q 558 769 550 770 q 570 766 565 768 l 570 572 q 555 575 564 574 q 535 578 545 576 q 514 579 524 579 q 497 579 504 579 q 423 569 457 579 q 366 536 390 559 q 329 476 342 513 q 315 386 315 439 l 315 0 l 109 0 l 109 758 l 265 758 l 296 644 l 306 644 q 341 697 322 673 q 383 738 360 721 q 436 763 407 754 q 504 773 466 773 "},ж:{x_min:-.25,x_max:1171.25,ha:1171,o:"m 489 389 l 489 758 l 695 758 l 695 389 l 930 758 l 1145 758 l 900 394 l 1171 0 l 950 0 l 695 384 l 695 0 l 489 0 l 489 384 l 220 0 l 0 0 l 284 394 l 25 758 l 239 758 l 489 389 "},Ø:{x_min:81,x_max:970,ha:1050,o:"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 316 27 403 -14 l 268 -51 l 154 11 l 209 102 q 112 270 144 170 q 81 498 81 371 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 640 995 588 1007 q 737 963 693 984 l 784 1038 l 897 973 l 843 886 q 938 720 906 819 q 970 496 970 621 m 297 496 q 329 296 297 374 l 639 802 q 526 832 592 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 699 q 297 496 297 574 m 753 496 q 724 691 753 612 l 415 188 q 465 169 438 175 q 525 162 492 162 q 629 185 585 162 q 699 251 672 208 q 740 356 727 294 q 753 496 753 418 "},Ỳ:{x_min:-.25,x_max:812.25,ha:811,o:"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 m 362 1071 q 307 1118 339 1089 q 243 1175 274 1146 q 186 1233 212 1205 q 150 1278 160 1260 l 150 1293 l 381 1293 q 407 1242 392 1269 q 437 1187 421 1215 q 469 1134 453 1160 q 500 1089 485 1108 l 500 1071 l 362 1071 "},"÷":{x_min:60,x_max:705,ha:765,o:"m 60 415 l 60 564 l 705 564 l 705 415 l 60 415 m 288 224 q 295 259 288 245 q 315 282 302 273 q 346 294 328 290 q 382 298 363 298 q 418 294 401 298 q 448 282 435 290 q 469 259 461 273 q 477 224 477 245 q 469 190 477 204 q 448 167 461 176 q 418 154 435 158 q 382 150 401 150 q 346 154 363 150 q 315 167 328 158 q 295 190 302 176 q 288 224 288 204 m 288 754 q 295 789 288 775 q 315 812 302 803 q 346 825 328 821 q 382 829 363 829 q 418 825 401 829 q 448 812 435 821 q 469 789 461 803 q 477 754 477 775 q 469 720 477 734 q 448 697 461 706 q 418 684 435 688 q 382 680 401 680 q 346 684 363 680 q 315 697 328 688 q 295 720 302 706 q 288 754 288 734 "},с:{x_min:69,x_max:648.703125,ha:693,o:"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 "},h:{x_min:109,x_max:767,ha:871,o:"m 767 0 l 560 0 l 560 442 q 534 565 560 524 q 456 606 509 606 q 389 590 416 606 q 345 542 362 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 1055 l 315 1055 l 315 840 q 314 780 315 811 q 311 722 313 748 q 306 661 308 690 l 317 661 q 402 746 350 720 q 518 773 453 773 q 620 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 "},f:{x_min:28,x_max:570,ha:538,o:"m 503 604 l 348 604 l 348 0 l 142 0 l 142 604 l 28 604 l 28 703 l 142 758 l 142 813 q 159 934 142 886 q 209 1010 177 982 q 288 1051 242 1039 q 392 1063 334 1063 q 497 1053 454 1063 q 570 1030 540 1043 l 521 877 q 477 890 500 884 q 422 896 454 896 q 365 871 382 896 q 348 804 348 845 l 348 758 l 503 758 l 503 604 "},"“":{x_min:16,x_max:601,ha:615,o:"m 332 666 q 355 744 341 703 q 384 828 368 786 q 417 912 400 870 q 452 992 435 954 l 601 992 q 580 905 590 950 q 561 816 570 861 q 545 730 552 772 q 532 652 537 687 l 342 652 l 332 666 m 16 666 q 38 744 25 703 q 67 828 51 786 q 100 912 83 870 q 135 992 118 954 l 284 992 q 263 905 273 950 q 244 816 254 861 q 228 730 235 772 q 215 652 220 687 l 25 652 l 16 666 "},A:{x_min:-.25,x_max:903.25,ha:903,o:"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 "},O:{x_min:81,x_max:970,ha:1050,o:"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 "},Đ:{x_min:32.078125,x_max:892,ha:973,o:"m 32 577 l 125 577 l 125 992 l 415 992 q 612 960 524 992 q 762 868 700 929 q 858 715 824 806 q 892 505 892 624 q 857 285 892 379 q 758 127 823 190 q 600 31 693 63 q 386 0 506 0 l 125 0 l 125 402 l 32 402 l 32 577 m 681 499 q 665 641 681 581 q 616 740 648 701 q 538 798 584 779 q 432 817 492 817 l 335 817 l 335 577 l 495 577 l 495 402 l 335 402 l 335 174 l 413 174 q 614 255 547 174 q 681 499 681 336 "},Ǿ:{x_min:81,x_max:970,ha:1050,o:"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 316 27 403 -14 l 268 -51 l 154 11 l 209 102 q 112 270 144 170 q 81 498 81 371 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 640 995 588 1007 q 737 963 693 984 l 784 1038 l 897 973 l 843 886 q 938 720 906 819 q 970 496 970 621 m 297 496 q 329 296 297 374 l 639 802 q 526 832 592 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 699 q 297 496 297 574 m 753 496 q 724 691 753 612 l 415 188 q 465 169 438 175 q 525 162 492 162 q 629 185 585 162 q 699 251 672 208 q 740 356 727 294 q 753 496 753 418 m 400 1071 l 400 1089 q 430 1134 414 1108 q 462 1187 446 1160 q 492 1242 478 1215 q 518 1293 507 1269 l 750 1293 l 750 1278 q 728 1250 742 1266 q 695 1214 714 1233 q 656 1175 677 1195 q 614 1136 635 1155 q 572 1100 592 1117 q 537 1071 553 1083 l 400 1071 "},"⅛":{x_min:40,x_max:1159,ha:1224,o:"m 373 397 l 212 397 l 212 700 q 212 734 212 713 q 213 776 212 755 q 215 814 214 797 q 217 840 216 832 q 206 828 213 835 q 193 813 200 820 q 179 799 186 805 q 166 787 172 792 l 113 746 l 40 832 l 243 992 l 373 992 l 373 397 m 913 992 l 362 0 l 200 0 l 751 992 l 913 992 m 927 607 q 1009 597 971 607 q 1076 569 1047 588 q 1120 523 1104 551 q 1137 458 1137 495 q 1129 413 1137 434 q 1108 376 1122 393 q 1078 347 1095 360 q 1040 323 1060 334 q 1084 295 1063 309 q 1122 263 1105 281 q 1148 221 1138 244 q 1159 169 1159 198 q 1142 95 1159 129 q 1095 36 1125 61 q 1022 -2 1064 11 q 927 -16 979 -16 q 827 -2 870 -16 q 754 34 784 10 q 710 92 725 58 q 695 165 695 126 q 703 218 695 195 q 727 259 712 241 q 761 291 741 277 q 801 317 780 305 q 768 345 783 330 q 740 376 752 359 q 722 414 728 393 q 716 458 716 434 q 732 523 716 495 q 778 569 749 550 q 845 597 807 587 q 927 607 884 607 m 842 169 q 863 114 842 135 q 925 92 884 92 q 989 114 967 92 q 1011 169 1011 135 q 988 223 1011 201 q 924 261 965 246 l 915 264 q 861 226 880 248 q 842 169 842 203 m 925 498 q 879 482 895 498 q 863 447 863 467 q 882 403 863 420 q 927 373 900 387 q 951 386 940 379 q 971 402 963 393 q 984 422 979 411 q 989 447 989 433 q 974 482 989 467 q 925 498 959 498 "},Ẁ:{x_min:-.25,x_max:1287.25,ha:1287,o:"m 1048 0 l 809 0 l 687 489 q 681 517 684 499 q 672 559 677 536 q 663 607 667 582 q 654 656 658 632 q 647 700 650 679 q 642 732 644 720 q 638 700 641 720 q 631 656 635 679 q 622 608 627 633 q 613 559 618 582 q 605 517 609 536 q 598 487 601 498 l 477 0 l 238 0 l 0 992 l 206 992 l 319 450 q 325 418 321 439 q 333 372 328 398 q 343 318 338 346 q 353 262 348 289 q 361 211 357 235 q 368 173 366 188 q 373 211 370 188 q 381 260 377 234 q 390 314 385 286 q 399 366 395 342 q 407 409 404 390 q 413 436 411 428 l 551 992 l 735 992 l 873 436 q 879 409 875 428 q 887 366 882 390 q 896 314 891 342 q 905 260 901 286 q 913 211 910 234 q 919 173 917 188 q 925 211 921 188 q 933 262 929 235 q 943 318 938 289 q 953 372 948 346 q 962 418 958 398 q 967 450 965 439 l 1080 992 l 1287 992 l 1048 0 m 594 1071 q 539 1118 571 1089 q 475 1175 506 1146 q 418 1233 444 1205 q 382 1278 392 1260 l 382 1293 l 613 1293 q 639 1242 624 1269 q 669 1187 653 1215 q 701 1134 685 1160 q 732 1089 717 1108 l 732 1071 l 594 1071 "},Ť:{x_min:28,x_max:735,ha:762,o:"m 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 0 m 664 1274 q 624 1229 647 1255 q 580 1176 602 1203 q 538 1121 558 1148 q 503 1071 518 1094 l 262 1071 q 226 1121 247 1094 q 184 1176 206 1148 q 141 1229 162 1203 q 102 1274 119 1255 l 102 1293 l 239 1293 q 309 1240 274 1270 q 381 1174 344 1211 q 454 1240 416 1211 q 526 1293 491 1270 l 664 1293 l 664 1274 "},ψ:{x_min:97,x_max:1047,ha:1128,o:"m 662 1054 l 662 142 q 747 162 711 148 q 806 205 782 177 q 841 278 829 234 q 852 389 852 323 q 837 571 852 481 q 798 758 821 661 l 993 758 q 1034 571 1021 660 q 1047 389 1047 482 q 1017 208 1047 283 q 935 86 987 134 q 813 16 883 39 q 662 -12 743 -7 l 662 -334 l 468 -334 l 468 -12 q 318 12 387 -9 q 201 80 250 34 q 124 199 152 126 q 97 376 97 272 l 97 758 l 291 758 l 291 368 q 300 267 291 308 q 330 199 309 225 q 384 159 351 172 q 468 141 418 145 l 468 1054 l 662 1054 "},ŗ:{x_min:77,x_max:570,ha:603,o:"m 504 773 q 522 772 512 773 q 541 771 532 772 q 558 769 550 770 q 570 766 565 768 l 570 572 q 555 575 564 574 q 535 578 545 576 q 514 579 524 579 q 497 579 504 579 q 423 569 457 579 q 366 536 390 559 q 329 476 342 513 q 315 386 315 439 l 315 0 l 109 0 l 109 758 l 265 758 l 296 644 l 306 644 q 341 697 322 673 q 383 738 360 721 q 436 763 407 754 q 504 773 466 773 m 77 -288 q 89 -242 83 -268 q 100 -188 95 -216 q 111 -134 106 -161 q 118 -85 116 -107 l 310 -85 l 310 -98 q 261 -198 289 -145 q 197 -307 233 -251 l 77 -307 l 77 -288 "}},cssFontWeight:"bold",ascender:1290,underlinePosition:-154,cssFontStyle:"normal",boundingBox:{yMin:-407,xMin:-269,yMax:1391,xMax:1695},resolution:1e3,original_font_information:{postscript_name:"DroidSans-Bold",version_string:"Version 1.00 build 107",vendor_url:"http://www.ascendercorp.com/",full_font_name:"Droid Sans Bold",font_family_name:"Droid Sans",copyright:"Digitized data copyright © 2006, Google Corporation.",description:"Droid Sans is a humanist sans serif typeface designed for user interfaces and electronic communication.",trademark:"Droid is a trademark of Google and may be registered in certain jurisdictions.",designer:"",designer_url:"http://www.ascendercorp.com/typedesigners.html",unique_font_identifier:"Ascender - Droid Sans Bold",license_url:"http://ascendercorp.com/eula10.html",license_description:"This font software is the valuable property of Ascender Corporation and/or its suppliers and its use by you is covered under the terms of a license agreement. This font software is licensed to you by Ascender Corporation for your personal or business use on up to five personal computers. You may not use this font software on more than five personal computers unless you have obtained a license from Ascender to do so. Except as specifically permitted by the license, you may not copy this font software.\n\nIf you have any questions, please review the license agreement you received with this font software, and/or contact Ascender Corporation. \n\nContact Information:\nAscender Corporation\nWeb http://www.ascendercorp.com/",manufacturer_name:"Ascender Corporation",font_sub_family_name:"Bold"},descender:-328,familyName:"Droid Sans",lineHeight:1617,underlineThickness:102}},9473:e=>{var t,n,s=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var r,o=[],c=!1,u=-1;function p(){c&&r&&(c=!1,r.length?o=r.concat(o):u=-1,o.length&&h())}function h(){if(!c){var e=l(p);c=!0;for(var t=o.length;t;){for(r=o,o=[];++u1)for(var n=1;n{"use strict";n.d(t,{I:()=>r});var s=n(9477),i=n(508),a=n(5743),l=n(4211);class r{container;canvas;scene=new s.xsS;material=new a.P;context;ifcLoader=new l.Z;constructor(e,t){this.container=e,this.canvas=t,this.context=new i._y(this.scene,this.container,this.canvas,this.material)}loadModel(e,t){this.ifcLoader.ifcLoaded.on((e=>{this.scene.add(e),t.textContent=this.scene.children.length.toString()})),this.ifcLoader?.loadFragment(e)}loadFragment=async e=>{this.ifcLoader.ifcLoaded.on((e=>{this.scene.add(e)})),this.ifcLoader?.loadFragment(e)}}},6318:(e,t,n)=>{"use strict";n.d(t,{j:()=>s});class s{on(e){this.handlers.push(e)}off(e){this.handlers=this.handlers.filter((t=>t!==e))}trigger=e=>{this.handlers.slice(0).forEach((t=>t(e)))};reset(){this.handlers.length=0}handlers=[]}},6934:(e,t,n)=>{"use strict";n.d(t,{_:()=>o});var s=n(9073),i=n.n(s),a=n(9477),l=n(7157),r=n(1711);class o{_scene;_material;_loader=new l.J;_font;constructor(e,t){this._scene=e,this._material=t,this._font=this._loader.parse(i()),this.init()}dispose(){this._scene.children.forEach((e=>{e.userData.dispose&&o.disposeItem(e)}))}init(){this.initItem("left",96,96,16,0,0,56),this.initTextSide("L",-20,-24,64),this.initItem("right",96,96,16,0,0,-56),this.initTextSide("R",-30,-24,64),this.initItem("top",96,16,96,0,56,0),this.initTextSide("T",-20,-24,64),this.initItem("bottom",96,16,96,0,-56,0),this.initTextSide("BO",-55,-24,64),this.initItem("front",16,96,96,56,0,0),this.initTextSide("F",-30,-24,64),this.initItem("back",16,96,96,-56,0,0),this.initTextSide("B",-30,-24,64),this.initTextRing("W",-32,-62,105),this.initTextRing("E",-16,-62,-105),this.initTextRing("N",-105,-62,20),this.initTextRing("S",105,-62,20),this.initItem("left_front",16,96,16,56,0,56),this.initItem("left_back",16,96,16,-56,0,56),this.initItem("right_front",16,96,16,56,0,-56),this.initItem("right_back",16,96,16,-56,0,-56),this.initItem("top_left",96,16,16,0,56,56),this.initItem("top_right",96,16,16,0,56,-56),this.initItem("top_front",16,16,96,56,56,0),this.initItem("top_back",16,16,96,-56,56,0),this.initItem("bottom_left",96,16,16,0,-56,56),this.initItem("bottom_right",96,16,16,0,-56,-56),this.initItem("bottom_front",16,16,96,56,-56,0),this.initItem("bottom_back",16,16,96,-56,-56,0),this.initItem("top_left_front",16,16,16,56,56,56),this.initItem("top_left_back",16,16,16,-56,56,56),this.initItem("top_right_front",16,16,16,56,56,-56),this.initItem("top_right_back",16,16,16,-56,56,-56),this.initItem("bottom_left_front",16,16,16,56,-56,56),this.initItem("bottom_left_back",16,16,16,-56,-56,56),this.initItem("bottom_right_front",16,16,16,56,-56,-56),this.initItem("bottom_right_back",16,16,16,-56,-56,-56),this.initRing(),this.initOutLine()}static disposeItem(e){e.geometry.dispose(),e.geometry=null,e.removeFromParent(),e=null}initItem(e,t,n,s,i,l,r){const o=new a.DvJ(t,n,s);o.translate(i,l,r);const c=new a.Kj0(o,this._material.normalCube);return c.userData.Element=!0,c.userData.dispose=!0,c.name=e,this._scene.add(c),c}initRing(){const e=new a.o8S(100,160,30);e.rotateX(-Math.PI/2),e.translate(0,-65,0);const t=new a.Kj0(e,this._material.ring);return t.userData.dispose=!0,this._scene.add(t),t}initOutLine(){const e=new a.DvJ(128,128,128),t=new a.TOt(e),n=new a.ejS(t,this._material.outLineCube);return n.userData.dispose=!0,this._scene.add(n),n}initTextSide(e,t,n,s){const i={font:this._font,size:60,height:2},l=new r.M(e,i);l.translate(t,n,s),this.rotateTextCube(e,l);const o=new a.Kj0(l,this._material.textCube);return o.userData.dispose=!0,this._scene.add(o),o}initTextRing(e,t,n,s){const i={font:this._font,size:40,height:2},l=new r.M(e,i);this.rotateRing(e,l),l.translate(t,n,s);const o=new a.Kj0(l,this._material.textRing);return o.userData.dispose=!0,o.userData.Element=!0,this._scene.add(o),o}rotateRing(e,t){switch(e){case"W":t.rotateX(Math.PI/2);break;case"E":t.rotateX(-Math.PI/2);break;case"S":t.rotateY(Math.PI/2),t.rotateZ(-Math.PI/2);break;case"N":t.rotateY(Math.PI/2),t.rotateZ(Math.PI/2)}}rotateTextCube(e,t){switch(e){case"L":default:break;case"R":t.rotateY(Math.PI);break;case"T":t.rotateY(Math.PI/2),t.rotateZ(Math.PI/2);break;case"BO":t.rotateX(Math.PI/2);break;case"F":t.rotateY(Math.PI/2);break;case"B":t.rotateY(-Math.PI/2)}}}},6443:(e,t,n)=>{"use strict";n.d(t,{V:()=>a});var s=n(9477),i=n(105);class a{maxFar=1e7;minFar=.1;radius=50;_size;set size(e){this._size=e.clone(),this._OrthographicCamera.left=e.x/-50,this._OrthographicCamera.right=e.y/50,this._PerspectiveCamera.aspect=e.x/e.y,this._OrthographicCamera.updateProjectionMatrix(),this._PerspectiveCamera.updateProjectionMatrix()}get size(){return this._size}_protection=!0;set projection(e){this._protection=e,this.currentCamera=e?this._PerspectiveCamera:this._OrthographicCamera}get projection(){return this._protection}static getSubsetOfThree(){return{MOUSE:s.RsA,Vector2:s.FM8,Vector3:s.Pa4,Vector4:s.Ltg,Quaternion:s._fP,Matrix4:s.yGw,Spherical:s.$V,Box3:s.ZzF,Sphere:s.aLr,Raycaster:s.iMs,MathUtils:s.M8C}}setupCameraControls(){i.Z.install({THREE:a.getSubsetOfThree()});const e=new i.Z(this.currentCamera,this._domElement);return e.smoothTime=.001,e.dollyToCursor=!0,e.dollyDragInverted=!0,e.infinityDolly=!1,e.dollySpeed=5,e.setTarget(0,0,0),e.mouseButtons.left=i.Z.ACTION.ROTATE,e.mouseButtons.right=i.Z.ACTION.OFFSET,e.mouseButtons.middle=i.Z.ACTION.ZOOM,e.mouseButtons.wheel=i.Z.ACTION.ZOOM,e}_domElement;_OrthographicCamera;_PerspectiveCamera;currentCamera;controls;initPerspectiveCamera(){const e=new s.cPb(45,this.size.x/this.size.y,.1,this.maxFar);return e.position.set(this.radius,this.radius,this.radius),e.lookAt(new s.Pa4(0,0,0)),e}initOrthographicCamera(){const e=new s.iKG(this.size.x/-50,this.size.x/50,this.size.y/50,this.size.y/-50,-1*this.minFar,this.maxFar);return e.position.set(this.radius,this.radius,this.radius),e.lookAt(new s.Pa4(0,0,0)),e}constructor(e,t){this._domElement=e,this._size=t,this._PerspectiveCamera=this.initPerspectiveCamera(),this._OrthographicCamera=this.initOrthographicCamera(),this.projection=!0,this.controls=this.setupCameraControls()}dispose(){this.controls.dispose()}update(e){this.currentCamera.updateProjectionMatrix(),this.controls.update(e)}}},3385:(e,t,n)=>{"use strict";n.d(t,{_:()=>p});var s=n(9477),i=n(6443),a=n(5650),l=n(6970),r=n(6318),o=n(8893),c=n(7023),u=n(1897);class p{onInitialized=new r.j;_clock=new s.SUY;_axes;initAxes(){this._axes=new s.y8_(3),this._axes.material.depthTest=!1,this._axes.renderOrder=1,this._scene.add(this._axes)}_ambientLight;initAmbientLight(){this._ambientLight=new s.Mig(16777215,2),this._scene.add(this._ambientLight)}_directionalLight;initDirectionalLight(){this._directionalLight=new s.Ox3(16777215,2),this._directionalLight.position.set(100,100,100),this._directionalLight.target.position.set(0,0,0),this._directionalLight.castShadow=!0,this._directionalLight.shadow.bias=-.001,this._directionalLight.shadow.mapSize.width=2048,this._directionalLight.shadow.mapSize.height=2048,this._directionalLight.shadow.camera.near=.1,this._directionalLight.shadow.camera.far=1e3,this._directionalLight.shadow.camera.left=10,this._directionalLight.shadow.camera.right=-10,this._directionalLight.shadow.camera.top=10,this._directionalLight.shadow.camera.bottom=-10,this._scene.add(this._directionalLight),this._scene.add(this._directionalLight.target)}_size;set size(e){this._size=e.clone(),this.renderer&&(this.renderer.size=e),this.camera&&(this.camera.size=e)}get size(){return this._size}set OrbitPoint(e){const t=e||this.viewSphere.center;t&&this.camera.controls.setOrbitPoint(t.x,t.y,t.z)}_viewSphere=new s.aLr(new s.Pa4,30);set viewSphere(e){this._viewSphere=e.clone()}get viewSphere(){return this._viewSphere}fitToModelLoaded(e){this.viewSphere=e,this.fitToSphere(this.viewSphere);const t=this.viewSphere.center;this.OrbitPoint=t}fitToSphere(e){this.camera.controls&&this.camera.controls.fitToSphere(e,!0)}renderer;camera;RayCaster;_scene;_container;_material;_canvas;_cubeView;_postProduction;viewPoint;constructor(e,t,n,r){this._scene=e,this._container=t,this._canvas=n,this._material=r,this.size=new s.FM8(this._container.clientWidth,this._container.clientHeight),this.renderer=new a.T(this._container,this.size,this._canvas),this.camera=new i.V(this.renderer.domElement,this.size),this.RayCaster=new l.S(this._scene,this.renderer,this.camera),this._postProduction=new c.G(this._scene,this.camera.currentCamera,this.size,this.renderer.renderer,this.renderer.domElement,this.camera.controls),this._postProduction.enabled=!0,this._postProduction.setupEvents=!0,this.viewPoint=new u.e(this.renderer.domElement),this.initAxes(),this.initAmbientLight(),this.initDirectionalLight(),this._cubeView=new o.y(this._container,this.camera,this._material),this._clock.start(),this.render(),this._scene.background=new s.Ilk(2107698),this.resize=!0,this.keyEvent=!0}dispose(){this.resize=!1,this.keyEvent=!1,this.renderer.dispose(),this.camera.dispose(),this._container.remove(),this._canvas.remove(),this._axes&&(this._axes.geometry.dispose(),this._axes.geometry=null,this._axes.removeFromParent(),this._axes.material?.dispose(),this._axes.material=null,this._axes=null),this._cubeView&&this._cubeView.dispose(),this._clock.stop(),this._postProduction&&this._postProduction.dispose()}set resize(e){e?window.addEventListener("resize",this.onResize):window.removeEventListener("resize",this.onResize)}set keyEvent(e){e?(document.addEventListener("keydown",this.onKeyDown),document.addEventListener("keyup",this.onKeyUp)):(document.removeEventListener("keydown",this.onKeyDown),document.removeEventListener("keyup",this.onKeyUp))}onResize=e=>{const t=new s.FM8(this._container.clientWidth,this._container.clientHeight);this.size=t};keyShift=!1;onKeyDown=e=>{17===e.keyCode&&(this.viewPoint.orbit=!0),this.keyShift=16===e.keyCode};onKeyUp=e=>{this.viewPoint.orbit=!1,this.keyShift=!1};render(){this._clock.start(),this.update(),this.onInitialized.trigger(this)}update=()=>{const e=this._clock.getDelta();this.camera.update(e),this._postProduction&&this._postProduction.enabled?this._postProduction.composer.render():this.renderer.renderer.render(this._scene,this.camera.currentCamera),this.renderer.labelRenderer.render(this._scene,this.camera.currentCamera),this._cubeView&&this._cubeView.update(),this.renderer.renderer.setAnimationLoop(this.update)}}},8893:(e,t,n)=>{"use strict";n.d(t,{y:()=>a});var s=n(9477),i=n(6934);class a{radius=500;scene=new s.xsS;canvas;initCanvas(){const e=document.createElement("canvas");return e.style.position="absolute",e.style.width="100%",e.style.height="100%",e}container;initContainer(){const e=document.createElement("div");return e.style.position="absolute",e.style.width="80px",e.style.height="80px",e.style.right="0px",e}_size=new s.FM8;set size(e){this._size=e.clone()}get size(){return this._size}_boxCube;renderer;initRenderer(){this.renderer=new s.CP7({canvas:this.canvas,alpha:!0,antialias:!0}),this.renderer.setSize(this.size.x,this.size.y),this.renderer.setPixelRatio(Math.min(window.devicePixelRatio,2)),this.renderer.localClippingEnabled=!0}_PerspectiveCamera;initPerspectiveCamera(){const e=new s.cPb(45,this.size.x/this.size.y,1,2e3);return e.userData.radius=this.radius,e.position.set(this.radius,this.radius,this.radius),e}_OrthographicCamera;initOrthographicCamera(){const e=new s.iKG(this.size.x/-1,this.size.x/1,this.size.y/1,this.size.y/-1,-1e3,1e3);return e.position.set(120,120,120),e}camera;initCamera(){this._PerspectiveCamera=this.initPerspectiveCamera(),this._OrthographicCamera=this.initOrthographicCamera(),this.camera=this._contextCamera.projection?this._PerspectiveCamera:this._OrthographicCamera}_contextContainer;_contextCamera;_material;constructor(e,t,n){this._contextContainer=e,this._contextCamera=t,this._material=n,this.container=this.initContainer(),this.canvas=this.initCanvas(),this.container.appendChild(this.canvas),this._contextContainer.appendChild(this.container),this.size=new s.FM8(this.container.clientWidth,this.container.clientHeight),this.initCamera(),this.initLight(),this.initRenderer(),this.initRayCaster(),this._boxCube=new i._(this.scene,this._material),this.event=!0}dispose(){this.event=!1,this.renderer.setAnimationLoop(null),this.renderer.renderLists.dispose(),this._boxCube.dispose(),this.canvas.remove(),this.container.remove()}_AmbientLight;_DirectionalLight;initLight(){this._AmbientLight=new s.Mig(16777215,2),this.scene.add(this._AmbientLight),this._DirectionalLight=new s.Ox3(16777215,2),this._DirectionalLight.position.set(350,350,350),this._DirectionalLight.target.position.set(-0,0,0),this._DirectionalLight.castShadow=!0,this._DirectionalLight.shadow.bias=-.001,this._DirectionalLight.shadow.mapSize.width=2048,this._DirectionalLight.shadow.mapSize.height=2048,this._DirectionalLight.shadow.camera.near=.1,this._DirectionalLight.shadow.camera.far=100,this._DirectionalLight.shadow.camera.left=10,this._DirectionalLight.shadow.camera.right=-10,this._DirectionalLight.shadow.camera.top=10,this._DirectionalLight.shadow.camera.bottom=-10,this.scene.add(this._DirectionalLight)}mouse;rayCaster;initRayCaster(){this.rayCaster=new s.iMs,this.mouse=new s.FM8}cast(e){const t=this.renderer.domElement.getBoundingClientRect(),n=e.clientX-t.left,s=e.clientY-t.top,i=t.right-t.left;this.mouse.x=n/i*2-1;const a=t.bottom-t.top;return this.mouse.y=-s/a*2+1,this.rayCaster.setFromCamera(this.mouse,this.camera),this.rayCaster.intersectObjects(this.scene.children.filter((e=>e.userData.Element)))}set event(e){const{domElement:t}=this.renderer;e?(t.addEventListener("mousemove",this.mousemove),t.addEventListener("mouseout",this.mouseout),t.addEventListener("click",this.onClick)):(t.removeEventListener("mousemove",this.mousemove),t.removeEventListener("mouseout",this.mouseout),t.removeEventListener("click",this.onClick))}mousemove=e=>{this.resetMaterial(),this.found=e};mouseout=e=>{this.resetMaterial()};onClick=e=>{console.log(this.found)};_found;set found(e){this._found=this.cast(e)[0];const{domElement:t}=this.renderer;this._found?(t.style.cursor="pointer",this._found.object.material=this._material.hoverCube):t.style.cursor="default"}get found(){return this._found}resetMaterial(){const{normalCube:e}=this._material;this.scene.children.filter((e=>e.userData.Element)).forEach((t=>{t.material=e}))}onVisibility(e){this.container.style.display=e?"block":"none"}update(){const e=this._contextCamera.controls.getPosition(new s.Pa4),t=this._contextCamera.controls.getTarget(new s.Pa4),n=new s.Pa4(e.x-t.x,e.y-t.y,e.z-t.z).normalize(),i=new s.Pa4(0,0,0).add(n.multiplyScalar(this.camera.userData.radius));this.camera.position.x=i.x,this.camera.position.y=i.y,this.camera.position.z=i.z,this._DirectionalLight.position.set(i.x,i.y,i.z),this.camera.lookAt(0,0,0),this.camera.updateProjectionMatrix(),this.renderer.render(this.scene,this.camera)}}},5844:(e,t,n)=>{"use strict";n.d(t,{G:()=>u});var s=n(9477),i=n(1279),a=n(4458),l=n(8904),r=n(7531),o=n(2448),c=n(7633);class u{scene;camera;size;renderer;domElement;controls;excludedItems=new Set;composer;_enabled=!1;_initialized=!1;_n8ao;_customEffects;_basePass;_gammaPass;_depthTexture;_renderTarget;get basePass(){if(!this._basePass)throw new Error("Custom effects not initialized!");return this._basePass}get gammaPass(){if(!this._gammaPass)throw new Error("Custom effects not initialized!");return this._gammaPass}get customEffects(){if(!this._customEffects)throw new Error("Custom effects not initialized!");return this._customEffects}get n8ao(){if(!this._n8ao)throw new Error("Custom effects not initialized!");return this._n8ao}get enabled(){return this._enabled}set enabled(e){this._initialized||this.initialize(),this._enabled=e}constructor(e,t,n,a,l,r){this.scene=e,this.camera=t,this.size=n,this.renderer=a,this.domElement=l,this.controls=r,this._renderTarget=new s.dd2(window.innerWidth,window.innerHeight),this._renderTarget.texture.colorSpace="srgb-linear",this.composer=new i.x(this.renderer,this._renderTarget),this.composer.setSize(window.innerWidth,window.innerHeight)}dispose(){this._renderTarget.dispose(),this._depthTexture?.dispose(),this._customEffects?.dispose(),this._gammaPass?.dispose(),this._n8ao?.dispose(),this.excludedItems.clear(),this.setupEvents=!1}setSize(){if(this._initialized){const e=this.size.x,t=this.size.y;this.composer.setSize(e,t),this.basePass.setSize(e,t),this.n8ao.setSize(e,t),this.customEffects.setSize(e,t),this.gammaPass.setSize(e,t)}}update(){this._enabled&&this.composer.render()}updateCamera(){}initialize(){this.renderer.outputColorSpace="srgb",this.renderer.toneMapping=s.uL9,this.newBasePass(),this.newSaoPass(),this.newGammaPass(),this.newCustomPass(),this._initialized=!0,this.updatePasses()}updateProjection(e){this.composer.passes.forEach((t=>{t.camera=e})),this.update()}isUserControllingCamera=!1;isControlSleeping=!0;lastWheelUsed=0;lastResized=0;resizeDelay=500;visible=!1;set setupEvents(e){e?(this.controls.addEventListener("control",this.onControl),this.controls.addEventListener("controlstart",this.onControlStart),this.controls.addEventListener("wake",this.onWake),this.controls.addEventListener("controlend",this.onControlEnd),this.controls.addEventListener("sleep",this.onSleep),this.domElement.addEventListener("wheel",this.onWheel)):(this.controls.removeEventListener("control",this.onControl),this.controls.removeEventListener("controlstart",this.onControlStart),this.controls.removeEventListener("wake",this.onWake),this.controls.removeEventListener("controlend",this.onControlEnd),this.controls.removeEventListener("sleep",this.onSleep),this.domElement.removeEventListener("wheel",this.onWheel))}onControlStart=()=>{this.isUserControllingCamera=!0};onWake=()=>{this.isControlSleeping=!1};onResize=()=>{this.enabled&&(this.lastResized=performance.now(),this.visible=!1,setTimeout((()=>{performance.now()-this.lastResized>=this.resizeDelay&&(this.visible=!0)}),this.resizeDelay))};onControl=()=>{this.enabled&&(this.visible=!1)};onControlEnd=()=>{this.enabled&&(this.isUserControllingCamera=!1,!this.isUserControllingCamera&&this.isControlSleeping&&(this.visible=!0))};onWheel=()=>{this.enabled&&(this.lastResized=performance.now())};onSleep=()=>{if(!this.enabled)return;this.isControlSleeping=!0;const e=performance.now();setTimeout((()=>{this.lastWheelUsed>e||!this.isUserControllingCamera&&this.isControlSleeping&&(this.visible=!0)}),200)};updatePasses(){for(const e of this.composer.passes)this.composer.removePass(e);this._basePass&&this.composer.addPass(this.basePass),this.composer.addPass(this.gammaPass),this.composer.addPass(this.n8ao),this.composer.addPass(this.customEffects)}newCustomPass(){this._customEffects=new c.U(this.size.clone(),this.scene,this.camera)}newGammaPass(){this._gammaPass=new r.T(o.Y)}newSaoPass(){this._n8ao=new l.e(this.scene,this.camera,this.size.x,this.size.y);const{configuration:e}=this._n8ao;e.aoSamples=16,e.denoiseSamples=1,e.denoiseRadius=13,e.aoRadius=1,e.distanceFalloff=4,e.aoRadius=1,e.intensity=4,e.halfRes=!0,e.color=(new s.Ilk).setHex(13421772,"srgb-linear")}newBasePass(){this._basePass=new a.C(this.scene,this.camera)}}},7633:(e,t,n)=>{"use strict";n.d(t,{U:()=>r});var s=n(9477),i=n(8304),a=n(8949),l=n(2088);class r extends i.w{resolution;renderScene;renderCamera;fsQuad;normalOverrideMaterial;glossOverrideMaterial;planeBuffer;glossBuffer;outlineBuffer;excludedMeshes=[];outlinedMeshes={};_outlineScene=new s.xsS;_outlineEnabled=!1;_lineColor=10066329;_opacity=.4;_tolerance=3;_glossEnabled=!0;_glossExponent=1.9;_minGloss=-.1;_maxGloss=.1;_outlinesNeedsUpdate=!1;get lineColor(){return this._lineColor}set lineColor(e){this._lineColor=e,this.fsQuad.material.uniforms.lineColor.value.set(e)}get tolerance(){return this._tolerance}set tolerance(e){this._tolerance=e,this.fsQuad.material.uniforms.tolerance.value=e}get opacity(){return this._opacity}set opacity(e){this._opacity=e,this.fsQuad.material.uniforms.opacity.value=e}get glossEnabled(){return this._glossEnabled}set glossEnabled(e){e!==this._glossEnabled&&(this._glossEnabled=e,this.fsQuad.material.uniforms.glossEnabled.value=e?1:0)}get glossExponent(){return this._glossExponent}set glossExponent(e){this._glossExponent=e,this.fsQuad.material.uniforms.glossExponent.value=e}get minGloss(){return this._minGloss}set minGloss(e){this._minGloss=e,this.fsQuad.material.uniforms.minGloss.value=e}get maxGloss(){return(new s.vBJ).color.convertLinearToSRGB(),this._maxGloss}set maxGloss(e){this._maxGloss=e,this.fsQuad.material.uniforms.maxGloss.value=e}get outlineEnabled(){return this._outlineEnabled}set outlineEnabled(e){e!==this._outlineEnabled&&(this._outlineEnabled=e,this.fsQuad.material.uniforms.outlineEnabled.value=e?1:0)}constructor(e,t,n){super(),this.renderScene=t,this.renderCamera=n,this.resolution=new s.FM8(e.x,e.y),this.fsQuad=new i.T,this.fsQuad.material=this.createOutlinePostProcessMaterial(),this.planeBuffer=this.newRenderTarget(),this.glossBuffer=this.newRenderTarget(),this.outlineBuffer=this.newRenderTarget();const r=(0,a.Q)();this.normalOverrideMaterial=r;const o=(0,l.i)();this.glossOverrideMaterial=o}dispose(){this.planeBuffer.dispose(),this.glossBuffer.dispose(),this.outlineBuffer.dispose(),this.normalOverrideMaterial.dispose(),this.glossOverrideMaterial.dispose(),this.fsQuad.dispose(),this.excludedMeshes=[],this._outlineScene.children=[];for(const e in this.outlinedMeshes)this.outlinedMeshes[e].material.dispose()}setSize(e,t){this.planeBuffer.setSize(e,t),this.glossBuffer.setSize(e,t),this.outlineBuffer.setSize(e,t),this.resolution.set(e,t),this.fsQuad.material.uniforms.screenSize.value.set(this.resolution.x,this.resolution.y,1/this.resolution.x,1/this.resolution.y)}render(e,t,n){const i=t.depthBuffer;t.depthBuffer=!1;const a=this.renderScene.overrideMaterial,l=this.renderScene.background;this.renderScene.background=null;for(const e of this.excludedMeshes)e.visible=!1;if(e.setRenderTarget(this.planeBuffer),this.renderScene.overrideMaterial=this.normalOverrideMaterial,e.render(this.renderScene,this.renderCamera),this._glossEnabled&&(e.setRenderTarget(this.glossBuffer),this.renderScene.overrideMaterial=this.glossOverrideMaterial,e.render(this.renderScene,this.renderCamera)),this.renderScene.overrideMaterial=a,this._outlineEnabled){let t=!1;for(const e in this.outlinedMeshes){const n=this.outlinedMeshes[e];for(const e of n.meshes)t=!0,e.userData.materialPreOutline=e.material,e.material=n.material,e.userData.groupsPreOutline=e.geometry.groups,e.geometry.groups=[],e instanceof s.SPe&&(e.userData.colorPreOutline=e.instanceColor,e.instanceColor=null),e.userData.parentPreOutline=e.parent,this._outlineScene.add(e)}(t||this._outlinesNeedsUpdate)&&(e.setRenderTarget(this.outlineBuffer),e.render(this._outlineScene,this.renderCamera),this._outlinesNeedsUpdate=t);for(const e in this.outlinedMeshes){const t=this.outlinedMeshes[e];for(const e of t.meshes)e.material=e.userData.materialPreOutline,e.geometry.groups=e.userData.groupsPreOutline,e instanceof s.SPe&&(e.instanceColor=e.userData.colorPreOutline),e.userData.parentPreOutline&&e.userData.parentPreOutline.add(e),e.userData.materialPreOutline=void 0,e.userData.groupsPreOutline=void 0,e.userData.colorPreOutline=void 0,e.userData.parentPreOutline=void 0}}for(const e of this.excludedMeshes)e.visible=!0;this.renderScene.background=l;const r=this.fsQuad.material;r.uniforms.planeBuffer.value=this.planeBuffer.texture,r.uniforms.glossBuffer.value=this.glossBuffer.texture,r.uniforms.outlineBuffer.value=this.outlineBuffer.texture,r.uniforms.sceneColorBuffer.value=n.texture,this.renderToScreen?(e.setRenderTarget(null),this.fsQuad.render(e)):(e.setRenderTarget(t),this.fsQuad.render(e)),t.depthBuffer=i}get vertexShader(){return"\n\t varying vec2 vUv;\n\t void main() {\n\t \tvUv = uv;\n\t \tgl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n\t }\n\t"}get fragmentShader(){return"\n\t uniform sampler2D sceneColorBuffer;\n\t uniform sampler2D planeBuffer;\n\t uniform sampler2D glossBuffer;\n\t uniform sampler2D outlineBuffer;\n\t uniform vec4 screenSize;\n\t uniform vec3 lineColor;\n\t \n\t uniform float outlineEnabled;\n\t \n uniform int width;\n\t uniform float opacity;\n uniform float tolerance;\n uniform float glossExponent;\n uniform float minGloss;\n uniform float maxGloss;\n uniform float glossEnabled;\n\n\t varying vec2 vUv;\n\n\t vec4 getValue(sampler2D buffer, int x, int y) {\n\t \treturn texture2D(buffer, vUv + screenSize.zw * vec2(x, y));\n\t }\n\n float normalDiff(vec3 normal1, vec3 normal2) {\n return ((dot(normal1, normal2) - 1.) * -1.) / 2.;\n }\n\n // Returns 0 if it's background, 1 if it's not\n float getIsBackground(vec3 normal) {\n float background = 1.0;\n background *= step(normal.x, 0.);\n background *= step(normal.y, 0.);\n background *= step(normal.z, 0.);\n background = (background - 1.) * -1.;\n return background;\n }\n\n\t void main() {\n\t \n\t vec4 sceneColor = getValue(sceneColorBuffer, 0, 0);\n\t vec3 normSceneColor = normalize(sceneColor.rgb);\n \n vec4 plane = getValue(planeBuffer, 0, 0);\n\t vec3 normal = plane.xyz;\n float distance = plane.w;\n \n vec3 normalTop = getValue(planeBuffer, 0, width).rgb;\n vec3 normalBottom = getValue(planeBuffer, 0, -width).rgb;\n vec3 normalRight = getValue(planeBuffer, width, 0).rgb;\n vec3 normalLeft = getValue(planeBuffer, -width, 0).rgb;\n vec3 normalTopRight = getValue(planeBuffer, width, width).rgb;\n vec3 normalTopLeft = getValue(planeBuffer, -width, width).rgb;\n vec3 normalBottomRight = getValue(planeBuffer, width, -width).rgb;\n vec3 normalBottomLeft = getValue(planeBuffer, -width, -width).rgb;\n \n float distanceTop = getValue(planeBuffer, 0, width).a;\n float distanceBottom = getValue(planeBuffer, 0, -width).a;\n float distanceRight = getValue(planeBuffer, width, 0).a;\n float distanceLeft = getValue(planeBuffer, -width, 0).a;\n float distanceTopRight = getValue(planeBuffer, width, width).a;\n float distanceTopLeft = getValue(planeBuffer, -width, width).a;\n float distanceBottomRight = getValue(planeBuffer, width, -width).a;\n float distanceBottomLeft = getValue(planeBuffer, -width, -width).a;\n \n vec3 sceneColorTop = normalize(getValue(sceneColorBuffer, 1, 0).rgb);\n vec3 sceneColorBottom = normalize(getValue(sceneColorBuffer, -1, 0).rgb);\n vec3 sceneColorLeft = normalize(getValue(sceneColorBuffer, 0, -1).rgb);\n vec3 sceneColorRight = normalize(getValue(sceneColorBuffer, 0, 1).rgb);\n vec3 sceneColorTopRight = normalize(getValue(sceneColorBuffer, 1, 1).rgb);\n vec3 sceneColorBottomRight = normalize(getValue(sceneColorBuffer, -1, 1).rgb);\n vec3 sceneColorTopLeft = normalize(getValue(sceneColorBuffer, 1, 1).rgb);\n vec3 sceneColorBottomLeft = normalize(getValue(sceneColorBuffer, -1, 1).rgb);\n\n // Checks if the planes of this texel and the neighbour texels are different\n\n float planeDiff = 0.0;\n\n planeDiff += step(0.001, normalDiff(normal, normalTop));\n planeDiff += step(0.001, normalDiff(normal, normalBottom));\n planeDiff += step(0.001, normalDiff(normal, normalLeft));\n planeDiff += step(0.001, normalDiff(normal, normalRight));\n planeDiff += step(0.001, normalDiff(normal, normalTopRight));\n planeDiff += step(0.001, normalDiff(normal, normalTopLeft));\n planeDiff += step(0.001, normalDiff(normal, normalBottomRight));\n planeDiff += step(0.001, normalDiff(normal, normalBottomLeft));\n \n planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorTop));\n planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorBottom));\n planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorLeft));\n planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorRight));\n \tplaneDiff += step(0.001, normalDiff(normSceneColor, sceneColorTopRight));\n planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorTopLeft));\n planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorBottomRight));\n planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorBottomLeft));\n\n planeDiff += step(0.001, abs(distance - distanceTop));\n planeDiff += step(0.001, abs(distance - distanceBottom));\n planeDiff += step(0.001, abs(distance - distanceLeft));\n planeDiff += step(0.001, abs(distance - distanceRight));\n planeDiff += step(0.001, abs(distance - distanceTopRight));\n planeDiff += step(0.001, abs(distance - distanceTopLeft));\n planeDiff += step(0.001, abs(distance - distanceBottomRight));\n planeDiff += step(0.001, abs(distance - distanceBottomLeft));\n\n // Add extra background outline\n\n int width2 = width + 1;\n vec3 normalTop2 = getValue(planeBuffer, 0, width2).rgb;\n vec3 normalBottom2 = getValue(planeBuffer, 0, -width2).rgb;\n vec3 normalRight2 = getValue(planeBuffer, width2, 0).rgb;\n vec3 normalLeft2 = getValue(planeBuffer, -width2, 0).rgb;\n vec3 normalTopRight2 = getValue(planeBuffer, width2, width2).rgb;\n vec3 normalTopLeft2 = getValue(planeBuffer, -width2, width2).rgb;\n vec3 normalBottomRight2 = getValue(planeBuffer, width2, -width2).rgb;\n vec3 normalBottomLeft2 = getValue(planeBuffer, -width2, -width2).rgb;\n\n planeDiff += -(getIsBackground(normalTop2) - 1.);\n planeDiff += -(getIsBackground(normalBottom2) - 1.);\n planeDiff += -(getIsBackground(normalRight2) - 1.);\n planeDiff += -(getIsBackground(normalLeft2) - 1.);\n planeDiff += -(getIsBackground(normalTopRight2) - 1.);\n planeDiff += -(getIsBackground(normalBottomRight2) - 1.);\n planeDiff += -(getIsBackground(normalBottomRight2) - 1.);\n planeDiff += -(getIsBackground(normalBottomLeft2) - 1.);\n\n // Tolerance sets the minimum amount of differences to consider\n // this texel an edge\n\n float line = step(tolerance, planeDiff);\n\n // Exclude background and apply opacity\n\n float background = getIsBackground(normal);\n line *= background;\n line *= opacity;\n \n // Add gloss\n \n vec3 gloss = getValue(glossBuffer, 0, 0).xyz;\n float diffGloss = abs(maxGloss - minGloss);\n vec3 glossExpVector = vec3(glossExponent,glossExponent,glossExponent);\n gloss = min(pow(gloss, glossExpVector), vec3(1.,1.,1.));\n gloss *= diffGloss;\n gloss += minGloss;\n vec4 glossedColor = sceneColor + vec4(gloss, 1.) * glossEnabled;\n \n vec4 corrected = mix(sceneColor, glossedColor, background);\n \n // Draw lines\n \n corrected = mix(corrected, vec4(lineColor, 1.), line);\n \n // Add outline\n \n vec4 outlinePreview =getValue(outlineBuffer, 0, 0);\n float outlineColorCorrection = 1. / max(0.2, outlinePreview.a);\n vec3 outlineColor = outlinePreview.rgb * outlineColorCorrection;\n \n // thickness between 10 and 2, opacity between 1 and 0.2\n\t int outlineThickness = int(outlinePreview.a * 10.);\n\t \n\t float outlineDiff = 0.;\n \n outlineDiff += step(0.1, getValue(outlineBuffer, 0, 0).a);\n outlineDiff += step(0.1, getValue(outlineBuffer, 1, 0).a);\n outlineDiff += step(0.1, getValue(outlineBuffer, -1, 0).a);\n outlineDiff += step(0.1, getValue(outlineBuffer, 0, -1).a);\n outlineDiff += step(0.1, getValue(outlineBuffer, 0, 1).a);\n outlineDiff += step(0.1, getValue(outlineBuffer, outlineThickness, 0).a);\n outlineDiff += step(0.1, getValue(outlineBuffer, -outlineThickness, 0).a);\n outlineDiff += step(0.1, getValue(outlineBuffer, 0, -outlineThickness).a);\n outlineDiff += step(0.1, getValue(outlineBuffer, 0, outlineThickness).a);\n outlineDiff += step(0.1, getValue(outlineBuffer, outlineThickness, outlineThickness).a);\n outlineDiff += step(0.1, getValue(outlineBuffer, -outlineThickness, outlineThickness).a);\n outlineDiff += step(0.1, getValue(outlineBuffer, -outlineThickness, -outlineThickness).a);\n outlineDiff += step(0.1, getValue(outlineBuffer, outlineThickness, -outlineThickness).a);\n \n float outLine = step(4., outlineDiff) * step(outlineDiff, 12.) * outlineEnabled;\n corrected = mix(corrected, vec4(outlineColor, 1.), outLine);\n \n gl_FragColor = corrected;\n\t}\n\t\t\t"}createOutlinePostProcessMaterial(){return new s.jyz({uniforms:{opacity:{value:this._opacity},debugVisualize:{value:0},sceneColorBuffer:{value:null},tolerance:{value:this._tolerance},planeBuffer:{value:null},glossBuffer:{value:null},outlineBuffer:{value:null},glossEnabled:{value:1},minGloss:{value:this._minGloss},maxGloss:{value:this._maxGloss},outlineEnabled:{value:0},glossExponent:{value:this._glossExponent},width:{value:1},lineColor:{value:new s.Ilk(this._lineColor)},screenSize:{value:new s.Ltg(this.resolution.x,this.resolution.y,1/this.resolution.x,1/this.resolution.y)}},vertexShader:this.vertexShader,fragmentShader:this.fragmentShader})}newRenderTarget(){const e=new s.dd2(this.resolution.x,this.resolution.y);return e.texture.colorSpace="srgb-linear",e.texture.format=s.wk1,e.texture.type=s.cLu,e.texture.minFilter=s.TyD,e.texture.magFilter=s.TyD,e.texture.generateMipmaps=!1,e.stencilBuffer=!1,e}}},7023:(e,t,n)=>{"use strict";n.d(t,{G:()=>s.G});var s=n(5844)},8949:(e,t,n)=>{"use strict";n.d(t,{Q:()=>i});var s=n(9477);function i(){return new s.jyz({side:2,clipping:!0,uniforms:{},vertexShader:"\n varying vec4 vColor;\n \n #include \n \n void main() {\n #include \n \n vec4 absPosition = vec4(position, 1.0);\n vec3 trueNormal = normal;\n \n #ifdef USE_INSTANCING\n absPosition = instanceMatrix * absPosition;\n trueNormal = (instanceMatrix * vec4(normal, 0.)).xyz;\n #endif\n \n absPosition = modelMatrix * absPosition;\n trueNormal = (normalize(modelMatrix * vec4(trueNormal, 0.))).xyz;\n \n vec3 planePosition = absPosition.xyz / 40.;\n float d = abs(dot(trueNormal, planePosition));\n vColor = vec4(abs(trueNormal), d);\n gl_Position = projectionMatrix * viewMatrix * absPosition;\n \n #include \n #include \n }\n ",fragmentShader:"\n varying vec4 vColor;\n \n #include \n \n void main() {\n #include \n gl_FragColor = vColor;\n }\n "})}},2088:(e,t,n)=>{"use strict";n.d(t,{i:()=>i});var s=n(9477);function i(){return new s.jyz({side:2,clipping:!0,uniforms:{},vertexShader:"\n varying vec3 vCameraPosition;\n varying vec3 vPosition;\n varying vec3 vNormal;\n \n #include \n \n void main() {\n #include \n \n vec4 absPosition = vec4(position, 1.0);\n vNormal = normal;\n \n #ifdef USE_INSTANCING\n absPosition = instanceMatrix * absPosition;\n vNormal = (instanceMatrix * vec4(normal, 0.)).xyz;\n #endif\n \n absPosition = modelMatrix * absPosition;\n vNormal = (normalize(modelMatrix * vec4(vNormal, 0.))).xyz;\n \n gl_Position = projectionMatrix * viewMatrix * absPosition;\n \n vCameraPosition = cameraPosition;\n vPosition = absPosition.xyz;\n \n #include \n #include \n }\n ",fragmentShader:"\n varying vec3 vCameraPosition;\n varying vec3 vPosition;\n varying vec3 vNormal;\n \n #include \n \n void main() {\n #include \n vec3 cameraPixelVec = normalize(vCameraPosition - vPosition);\n float difference = abs(dot(vNormal, cameraPixelVec));\n \n // This achieves a double gloss effect: when the surface is perpendicular and when it's parallel\n difference = abs((difference * 2.) - 1.);\n \n gl_FragColor = vec4(difference, difference, difference, 1.);\n }\n "})}},6970:(e,t,n)=>{"use strict";n.d(t,{S:()=>a});var s=n(9477),i=n(262);class a{_scene;_renderer;_camera;_rayCaster=new s.iMs;_mouse=new s.FM8;setUpRaycaster(){this._rayCaster.params.Points.threshold=50}_filterType=i.o.model;set filterType(e){this._filterType=e}get filterType(){return this._filterType}setRayCaster(e){const t=this._renderer.domElement.getBoundingClientRect(),n=e.clientX-t.left,s=e.clientY-t.top,i=t.right-t.left,a=t.bottom-t.top;this._mouse.x=n/i*2-1,this._mouse.y=-s/a*2+1,this._rayCaster.setFromCamera(this._mouse,this._camera.currentCamera)}getRayCastModel(e,t){return this.setRayCaster(e),this._rayCaster.intersectObjects(t)[0]}getRayCastPlane(e,t){return this.setRayCaster(e),this._renderer.ray.intersectPlane(t,new s.Pa4)}constructor(e,t,n){this._scene=e,this._renderer=t,this._camera=n,this.setUpRaycaster()}}},5650:(e,t,n)=>{"use strict";n.d(t,{T:()=>a});var s=n(9477),i=n(1764);class a{_size;set size(e){this._size=e.clone(),this.renderer.setSize(e.x,e.y),this.labelRenderer.setSize(e.x,e.y)}get size(){return this._size}set theme(e){this.renderer.setClearAlpha(e?1:0)}initRenderer(e){const t=new s.CP7({canvas:e,alpha:!0,antialias:!0,logarithmicDepthBuffer:!0});return t.setSize(this.size.x,this.size.y),t.setPixelRatio(Math.min(window.devicePixelRatio,2)),t.localClippingEnabled=!0,t.shadowMap.enabled=!0,t}initLabelRenderer(){const e=new i.M;return e.domElement.style.position="absolute",e.domElement.style.top="0",e.domElement.style.outline="none",e.domElement.style.border="none",e.setSize(this.size.x,this.size.y),e.domElement.dataType=!0,e}renderer;labelRenderer;domElement;_container;constructor(e,t,n){this._container=e,this._size=t,this.renderer=this.initRenderer(n),this.labelRenderer=this.initLabelRenderer(),this._container.appendChild(this.labelRenderer.domElement),this.domElement=this.labelRenderer.domElement,this.theme=!1}dispose(){this.renderer.setAnimationLoop(null),this.renderer.renderLists.dispose(),this.labelRenderer.domElement.remove()}update(e,t){this.renderer.render(e,t),this.labelRenderer.render(e,t)}}},1897:(e,t,n)=>{"use strict";n.d(t,{e:()=>s});class s{domElement;static cursor={canvas:"canvas-cursor",comment:"comment-cursor",extrude:"extrude-cursor",highlighter:"highlighter-cursor",maker:"maker-cursor",orbit:"orbit-cursor",pen:"pen-cursor",pencil:"pencil-cursor",pointer:"pointer-cursor",pan:"pan-cursor"};constructor(e){this.domElement=e,this.point="canvas"}_orbit=!1;set orbit(e){this._orbit=e,this.domElement.className=e?s.cursor.orbit:s.cursor[this.point]}get orbit(){return this._orbit}_point="canvas";set point(e){this.orbit||(this._point=e,this.domElement.className=s.cursor[e])}get point(){return this._point}}},508:(e,t,n)=>{"use strict";n.d(t,{_y:()=>s._}),n(6443),n(6970);var s=n(3385);n(8893)},262:(e,t,n)=>{"use strict";var s,i;n.d(t,{o:()=>i}),function(e){e[e.ThreeD=0]="ThreeD",e[e.Floor=1]="Floor",e[e.Section=2]="Section",e[e.Elevation=3]="Elevation"}(s||(s={})),function(e){e[e.model=0]="model",e[e.fragment=1]="fragment"}(i||(i={}))},8802:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,w:()=>l});var s=n(9477),i=n(5927);function a(e=null,t=!1,n=1){return new s.YBo({transparent:t,opacity:n,color:e||"#"+Math.floor(16777215*Math.random()).toString(16),side:s.ehD,depthWrite:!0,depthTest:!1})}const l={normalCube:new s.YBo({transparent:!0,opacity:.9,color:i.C.normalCube,depthTest:!0,side:s.ehD,depthWrite:!0}),hoverCube:new s.YBo({transparent:!0,opacity:1,color:"green",depthTest:!0}),textCube:new s.YBo({transparent:!0,opacity:.7,color:"blue",depthTest:!0}),ring:new s.YBo({transparent:!0,opacity:.3,color:"blue",side:s.ehD,depthWrite:!0,depthTest:!0}),textRing:new s.YBo({transparent:!0,opacity:1,color:"red",side:s.ehD,depthWrite:!0,depthTest:!0}),outLineCube:new s.vBJ({transparent:!0,opacity:1,color:"black",side:s.ehD,depthWrite:!0,depthTest:!0})}},5927:(e,t,n)=>{"use strict";n.d(t,{C:()=>i});var s=n(9477);const i={light:4210752,normalCube:new s.Ilk("rgb(255, 255, 255)"),hoverCube:new s.Ilk("rgb(14, 237, 51)"),textCube:new s.Ilk("rgb(255, 0, 0)"),refPlan:new s.Ilk("rgb(245, 245, 245)"),ring:new s.Ilk("rgb(255, 0, 0)")}},5743:(e,t,n)=>{"use strict";n.d(t,{P:()=>a});var s=n(8802),i=n(1911);class a{highlight;select;normalCube;hoverCube;textCube;ring;textRing;outLineCube;dimension;modelMaterials;constructor(){this.highlight=(0,s.h)("red",!0,.51),this.select=(0,s.h)("#08c73b",!0,1),this.normalCube=s.w.normalCube,this.hoverCube=s.w.hoverCube,this.textCube=s.w.textCube,this.ring=s.w.ring,this.textRing=s.w.textRing,this.outLineCube=s.w.outLineCube,this.dimension=new i.Y({linewidth:4,vertexColors:!0,dashed:!1,alphaToCoverage:!0,depthTest:!1}),this.modelMaterials=[]}dispose(){a.disposeMaterial(this.highlight),a.disposeMaterial(this.select),a.disposeMaterial(this.normalCube),a.disposeMaterial(this.hoverCube),a.disposeMaterial(this.textCube),a.disposeMaterial(this.textRing),a.disposeMaterial(this.outLineCube),a.disposeMaterial(this.dimension),this.modelMaterials=[]}static disposeMaterial(e){e.dispose(),e=null}}},5959:(e,t,n)=>{"use strict";n.d(t,{G:()=>i});var s=n(7555);class i{includeProperties=!0;optionalCategories=[s.MNr];wasm={path:"/",absolute:!1};excludedCategories=new Set;saveLocations=!1;webIfc={COORDINATE_TO_ORIGIN:!0,USE_FAST_BOOLS:!0,OPTIMIZE_PROFILES:!0}}},4704:(e,t,n)=>{"use strict";n.d(t,{T:()=>i});var s=n(9477);class i{computeBoundsTree;disposeBoundsTree;acceleratedRaycast;initializeMeshBVH(e,t,n){this.computeBoundsTree=e,this.disposeBoundsTree=t,this.acceleratedRaycast=n,this.setupThreeMeshBVH()}applyThreeMeshBVH(e){this.computeBoundsTree&&e.computeBoundsTree()}setupThreeMeshBVH(){this.computeBoundsTree&&this.disposeBoundsTree&&this.acceleratedRaycast&&(s.u9r.prototype.computeBoundsTree=this.computeBoundsTree,s.u9r.prototype.disposeBoundsTree=this.disposeBoundsTree,s.Kj0.prototype.raycast=this.acceleratedRaycast)}}},633:(e,t,n)=>{"use strict";n.d(t,{k:()=>i});var s=n(9477);class i{enabled=!0;_absoluteMin;_absoluteMax;constructor(){this._absoluteMin=i.newBound(!0),this._absoluteMax=i.newBound(!1)}static getDimensions(e){const{min:t,max:n}=e,i=Math.abs(n.x-t.x),a=Math.abs(n.y-t.y),l=Math.abs(n.z-t.z),r=new s.Pa4;return r.subVectors(n,t).divideScalar(2).add(t),{width:i,height:a,depth:l,center:r}}static newBound(e){const t=e?1:-1;return new s.Pa4(t*Number.MAX_VALUE,t*Number.MAX_VALUE,t*Number.MAX_VALUE)}static getBounds(e,t,n){const i=n||this.newBound(!1),a=t||this.newBound(!0);for(const t of e)t.xi.x&&(i.x=t.x),t.y>i.y&&(i.y=t.y),t.z>i.z&&(i.z=t.z);return new s.ZzF(t,n)}get(){const e=this._absoluteMin.clone(),t=this._absoluteMax.clone();return new s.ZzF(e,t)}getMesh(){const e=new s.ZzF(this._absoluteMin,this._absoluteMax),t=i.getDimensions(e),{width:n,height:a,depth:l,center:r}=t,o=new s.DvJ(n,a,l),c=new s.Kj0(o);return c.position.copy(r),c}reset(){this._absoluteMin=i.newBound(!1),this._absoluteMax=i.newBound(!0)}add(e){for(const t of e.items)this.addFragment(t)}addFragment(e){const t=i.getFragmentBounds(e);console.log(t);const n=new s.yGw;for(let s=0;sthis._absoluteMax.x&&(this._absoluteMax.x=a.x),a.y>this._absoluteMax.y&&(this._absoluteMax.y=a.y),a.z>this._absoluteMax.z&&(this._absoluteMax.z=a.z)}}getSphere(){const e=this._absoluteMin.clone(),t=this._absoluteMax.clone(),n=Math.abs((t.x-e.x)/2),i=Math.abs((t.y-e.y)/2),a=Math.abs((t.z-e.z)/2),l=new s.Pa4(e.x+n,e.y+i,e.z+a),r=l.distanceTo(e);return new s.aLr(l,r)}static getFragmentBounds(e){const t=e.mesh.geometry.attributes.position,n=Number.MAX_VALUE,i=-n,a=new s.Pa4(n,n,n),l=new s.Pa4(i,i,i),r=Array.from(e.mesh.geometry.index.array);for(const e of r){const n=t.getX(e),s=t.getY(e),i=t.getZ(e);nl.x&&(l.x=n),s>l.y&&(l.y=s),i>l.z&&(l.z=i)}return new s.ZzF(a,l)}}},1631:(e,t,n)=>{"use strict";n.d(t,{n:()=>d});var s=n(9477),i=n(7555),a=n(8250),l=n(140),r=n(5959),o=n(2822),c=n(633),u=n(2181),p=n(6273),h=n(1732);class d{settings=new r.G;categories={};_model=new a.Sf;_ifcCategories=new o.$;_bbox=new c.k;_fragmentKey=0;_keyFragmentMap={};_itemKeyMap={};_propertyExporter=new u.P;_spatialTree=new h.$;constructor(){}cleanUp(){this._fragmentKey=0,this.categories={},this._model=new a.Sf,this._ifcCategories=new o.$,this._keyFragmentMap={},this._itemKeyMap={}}saveIfcCategories(e){this.categories=this._ifcCategories.getAll(e,0)}async generate(e,t){return this.createAllFragments(t),await this.saveModelData(e),this._model}async saveModelData(e){const t=this.getFragmentsGroupData();this._model.keyFragments=this._keyFragmentMap,this._model.data=t,this._model.coordinationMatrix=this.getCoordinationMatrix(e),this._model.properties=await this.getModelProperties(e),this._model.uuid=this.getProjectID(e)||this._model.uuid,this._model.ifcMetadata=this.getIfcMetadata(e),this._model.boundingBox=this.getBoundingBox()}getBoundingBox(){this._bbox.add(this._model);const e=this._bbox.get();return this._bbox.reset(),e}getIfcMetadata(e){const{FILE_NAME:t,FILE_DESCRIPTION:n}=i;return{name:this.getMetadataEntry(e,t),description:this.getMetadataEntry(e,n),schema:e.GetModelSchema(0)||"IFC2X3",maxExpressID:e.GetMaxExpressID(0)}}getMetadataEntry(e,t){let n="";const s=e.GetHeaderLine(0,t)||"";if(!s)return n;for(const e of s.arguments)if(null!=e)if(Array.isArray(e))for(const t of e)n+=`${t.value}|`;else n+=`${e.value}|`;return n}getProjectID(e){const t=e.GetLineIDsWithType(0,i.t8E).get(0);return e.GetLine(0,t).GlobalId.value}getCoordinationMatrix(e){const t=e.GetCoordinationMatrix(0);return(new s.yGw).fromArray(t)}async getModelProperties(e){return this.settings.includeProperties?new Promise((t=>{this._propertyExporter.propertiesSerialized.on((e=>{t(e)})),this._propertyExporter.export(e,0)})):{}}createAllFragments(e){const t={},n=new s.yGw,i=new s.Ilk;for(const l in e){const{buffer:r,instances:o}=e[l],c=1!==o[0].color.w,u=c?.4:1,h=new s.YBo({transparent:c,opacity:u});if(1!==u&&(h.depthWrite=!1,h.polygonOffset=!0,h.polygonOffsetFactor=5,h.polygonOffsetUnits=1),1===o.length){const e=o[0],{x:i,y:a,z:l,w:c}=e.color,u=`${i}-${a}-${l}-${c}`;t[u]||(h.color=(new s.Ilk).setRGB(i,a,l,"srgb"),t[u]={material:h,geometries:[],expressIDs:[]}),n.fromArray(e.matrix),r.applyMatrix4(n),t[u].geometries.push(r),t[u].expressIDs.push(e.expressID.toString());continue}const d=new a.HY(r,h,o.length);this._keyFragmentMap[this._fragmentKey]=d.id;const f=new Set;for(let e=0;e{this.setupFragment(e)}))}setupFragment=e=>{e.mesh.castShadow=!0,e.mesh.receiveShadow=!0,e.mesh.geometry.computeBoundingBox(),e.mesh.geometry.computeBoundingSphere(),e.mesh.geometry.computeVertexNormals()};saveExpressID(e){this._itemKeyMap[e]||(this._itemKeyMap[e]=[]),this._itemKeyMap[e].push(this._fragmentKey)}getFragmentsGroupData(){const e={};for(const t in this._itemKeyMap){const n=[],s=[],i=parseInt(t,10),a=this._spatialTree.itemsByFloor[i]||0,l=this.categories[i]||0;s.push(a,l);for(const e of this._itemKeyMap[t])n.push(e);e[i]=[n,s]}return e}}},9172:(e,t,n)=>{"use strict";n.d(t,{R:()=>l});var s=n(9477),i=n(4704),a=n(3320);class l{_api;saveLocations=!1;items={};locations={};BVH=new i.T;get api(){return this._api?this._api:null}constructor(){this.BVH.initializeMeshBVH(a.Xy,a.sn,a.uL)}cleanUp(){this.items={},this.locations={},this._api=null}streamMesh(e,t,n=!1){this._api=e;const i=t.geometries.size(),a=new s.Pa4,l=new s.yGw,r=new s.Pa4;for(let e=0;e{"use strict";n.d(t,{$:()=>i});var s=n(3406);class i{getAll(e,t){const n={},i=Object.keys(s.O).map((e=>parseInt(e,10)));for(let s=0;s{},3406:(e,t,n)=>{"use strict";n.d(t,{O:()=>s});const s={103090709:"IFCPROJECT",4097777520:"IFCSITE",4031249490:"IFCBUILDING",3124254112:"IFCBUILDINGSTOREY",3856911033:"IFCSPACE",1674181508:"IFCANNOTATION",25142252:"IFCCONTROLLER",32344328:"IFCBOILER",76236018:"IFCLAMP",90941305:"IFCPUMP",177149247:"IFCAIRTERMINALBOX",182646315:"IFCFLOWINSTRUMENT",263784265:"IFCFURNISHINGELEMENT",264262732:"IFCELECTRICGENERATOR",277319702:"IFCAUDIOVISUALAPPLIANCE",310824031:"IFCPIPEFITTING",331165859:"IFCSTAIR",342316401:"IFCDUCTFITTING",377706215:"IFCMECHANICALFASTENER",395920057:"IFCDOOR",402227799:"IFCELECTRICMOTOR",413509423:"IFCSYSTEMFURNITUREELEMENT",484807127:"IFCEVAPORATOR",486154966:"IFCWINDOWSTANDARDCASE",629592764:"IFCLIGHTFIXTURE",630975310:"IFCUNITARYCONTROLELEMENT",635142910:"IFCCABLECARRIERFITTING",639361253:"IFCCOIL",647756555:"IFCFASTENER",707683696:"IFCFLOWSTORAGEDEVICE",738039164:"IFCPROTECTIVEDEVICE",753842376:"IFCBEAM",812556717:"IFCTANK",819412036:"IFCFILTER",843113511:"IFCCOLUMN",862014818:"IFCELECTRICDISTRIBUTIONBOARD",900683007:"IFCFOOTING",905975707:"IFCCOLUMNSTANDARDCASE",926996030:"IFCVOIDINGFEATURE",979691226:"IFCREINFORCINGBAR",987401354:"IFCFLOWSEGMENT",1003880860:"IFCELECTRICTIMECONTROL",1051757585:"IFCCABLEFITTING",1052013943:"IFCDISTRIBUTIONCHAMBERELEMENT",1062813311:"IFCDISTRIBUTIONCONTROLELEMENT",1073191201:"IFCMEMBER",1095909175:"IFCBUILDINGELEMENTPROXY",1156407060:"IFCPLATESTANDARDCASE",1162798199:"IFCSWITCHINGDEVICE",1329646415:"IFCSHADINGDEVICE",1335981549:"IFCDISCRETEACCESSORY",1360408905:"IFCDUCTSILENCER",1404847402:"IFCSTACKTERMINAL",1426591983:"IFCFIRESUPPRESSIONTERMINAL",1437502449:"IFCMEDICALDEVICE",1509553395:"IFCFURNITURE",1529196076:"IFCSLAB",1620046519:"IFCTRANSPORTELEMENT",1634111441:"IFCAIRTERMINAL",1658829314:"IFCENERGYCONVERSIONDEVICE",1677625105:"IFCCIVILELEMENT",1687234759:"IFCPILE",1904799276:"IFCELECTRICAPPLIANCE",1911478936:"IFCMEMBERSTANDARDCASE",1945004755:"IFCDISTRIBUTIONELEMENT",1973544240:"IFCCOVERING",1999602285:"IFCSPACEHEATER",2016517767:"IFCROOF",2056796094:"IFCAIRTOAIRHEATRECOVERY",2058353004:"IFCFLOWCONTROLLER",2068733104:"IFCHUMIDIFIER",2176052936:"IFCJUNCTIONBOX",2188021234:"IFCFLOWMETER",2223149337:"IFCFLOWTERMINAL",2262370178:"IFCRAILING",2272882330:"IFCCONDENSER",2295281155:"IFCPROTECTIVEDEVICETRIPPINGUNIT",2320036040:"IFCREINFORCINGMESH",2347447852:"IFCTENDONANCHOR",2391383451:"IFCVIBRATIONISOLATOR",2391406946:"IFCWALL",2474470126:"IFCMOTORCONNECTION",2769231204:"IFCVIRTUALELEMENT",2814081492:"IFCENGINE",2906023776:"IFCBEAMSTANDARDCASE",2938176219:"IFCBURNER",2979338954:"IFCBUILDINGELEMENTPART",3024970846:"IFCRAMP",3026737570:"IFCTUBEBUNDLE",3027962421:"IFCSLABSTANDARDCASE",3040386961:"IFCDISTRIBUTIONFLOWELEMENT",3053780830:"IFCSANITARYTERMINAL",3079942009:"IFCOPENINGSTANDARDCASE",3087945054:"IFCALARM",3101698114:"IFCSURFACEFEATURE",3127900445:"IFCSLABELEMENTEDCASE",3132237377:"IFCFLOWMOVINGDEVICE",3171933400:"IFCPLATE",3221913625:"IFCCOMMUNICATIONSAPPLIANCE",3242481149:"IFCDOORSTANDARDCASE",3283111854:"IFCRAMPFLIGHT",3296154744:"IFCCHIMNEY",3304561284:"IFCWINDOW",3310460725:"IFCELECTRICFLOWSTORAGEDEVICE",3319311131:"IFCHEATEXCHANGER",3415622556:"IFCFAN",3420628829:"IFCSOLARDEVICE",3493046030:"IFCGEOGRAPHICELEMENT",3495092785:"IFCCURTAINWALL",3508470533:"IFCFLOWTREATMENTDEVICE",3512223829:"IFCWALLSTANDARDCASE",3518393246:"IFCDUCTSEGMENT",3571504051:"IFCCOMPRESSOR",3588315303:"IFCOPENINGELEMENT",3612865200:"IFCPIPESEGMENT",3640358203:"IFCCOOLINGTOWER",3651124850:"IFCPROJECTIONELEMENT",3694346114:"IFCOUTLET",3747195512:"IFCEVAPORATIVECOOLER",3758799889:"IFCCABLECARRIERSEGMENT",3824725483:"IFCTENDON",3825984169:"IFCTRANSFORMER",3902619387:"IFCCHILLER",4074379575:"IFCDAMPER",4086658281:"IFCSENSOR",4123344466:"IFCELEMENTASSEMBLY",4136498852:"IFCCOOLEDBEAM",4156078855:"IFCWALLELEMENTEDCASE",4175244083:"IFCINTERCEPTOR",4207607924:"IFCVALVE",4217484030:"IFCCABLESEGMENT",4237592921:"IFCWASTETERMINAL",4252922144:"IFCSTAIRFLIGHT",4278956645:"IFCFLOWFITTING",4288193352:"IFCACTUATOR",4292641817:"IFCUNITARYEQUIPMENT",3009204131:"IFCGRID"}},8879:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});const s=new Set([1123145078,574549367,1675464909,2059837836,3798115385,32440307,3125803723,3207858831,2740243338,2624227202,4240577450,3615266464,3724593414,220341763,477187591,1878645084,1300840506,3303107099,1607154358,1878645084,846575682,1351298697,2417041796,3049322572,3331915920,1416205885,776857604,3285139300,3958052878,2827736869,2732653382,673634403,3448662350,4142052618,2924175390,803316827,2556980723,1809719519,2205249479,807026263,3737207727,1660063152,2347385850,3940055652,2705031697,3732776249,2485617015,2611217952,1704287377,2937912522,2770003689,1281925730,1484403080,3448662350,4142052618,3800577675,4006246654,3590301190,1383045692,2775532180,2047409740,370225590,3593883385,2665983363,4124623270,812098782,3649129432,987898635,1105321065,3510044353,1635779807,2603310189,3406155212,1310608509,4261334040,2736907675,3649129432,1136057603,1260505505,4182860854,2713105998,2898889636,59481748,3749851601,3486308946,3150382593,1062206242,3264961684,15328376,1485152156,370225590,1981873012,2859738748,45288368,2614616156,2732653382,775493141,2147822146,2601014836,2629017746,1186437898,2367409068,1213902940,3632507154,3900360178,476780140,1472233963,2804161546,3008276851,738692330,374418227,315944413,3905492369,3570813810,2571569899,178912537,2294589976,1437953363,2133299955,572779678,3092502836,388784114,2624227202,1425443689,3057273783,2347385850,1682466193,2519244187,2839578677,3958567839,2513912981,2830218821,427810014])},2181:(e,t,n)=>{"use strict";n.d(t,{P:()=>l});var s=n(7555),i=n(8879),a=n(6318);class l{loadProgress=new a.j;propertiesSerialized=new a.j;size;_progress=0;async export(e,t){const n=await this.getAllGeometriesIDs(t,e);let s={};s.coordinationMatrix=e.GetCoordinationMatrix(t);const i=await e.GetAllLines(t),a=i.size();this._progress=.1;let l=0;for(let r=0;rthis.size&&(this.propertiesSerialized.trigger(s),s=null,s={},l=0),r/a>this._progress&&(this.loadProgress.trigger({progress:r,total:a}),this._progress+=.1)}this.propertiesSerialized.trigger(s),s=null}async getAllGeometriesIDs(e,t){const n=new Set,a=new Set;this.getStructure(s.t8E,a,t),this.getStructure(s.bYJ,a,t),this.getStructure(s.ko9,a,t),this.getStructure(s.BII,a,t),this.getStructure(s.MNr,a,t);for(const e of a){const s=t.GetLine(0,e).ObjectPlacement;if(!s||null===s.value)continue;const i=s.value;n.add(i);const a=t.GetLine(0,i).RelativePlacement;if(!a||null===a.value)continue;n.add(a.value);const l=t.GetLine(0,a.value).Location;l&&null!==l.value&&n.add(l.value)}const l=new Set,r=Array.from(i.l);for(let s=0;s{"use strict";n(7555),n(9654)},6273:(e,t,n)=>{"use strict";function s(e,t){const n=.1**(s=t,Math.max(Math.floor(Math.log10(Math.abs(s))),0)+1);var s;let i=(e+=t*n).toString();if(t%10==0)for(let e=0;es})},1732:(e,t,n)=>{"use strict";n.d(t,{$:()=>a});var s=n(7555),i=n(635);class a{itemsByFloor={};_units=new i.n;async setUp(e){this._units.setUp(e),this.cleanUp();try{const t=e.GetLineIDsWithType(0,s.QHT),n=new Set,i=e.GetLineIDsWithType(0,s.MNr);for(let e=0;e{"use strict";n.d(t,{n:()=>a});var s=n(7555),i=n(9477);class a{factor=1;complement=1;apply(e){const t=this.getScaleMatrix().multiply(e);e.copy(t)}setUp(e){this.factor=1;const t=this.getLengthUnits(e),n=null==t,s=void 0===t.Name||null===t.Name;n||s||("FOOT"===t.Name.value?this.factor=.3048:"MILLI"===t.Prefix?.value&&(this.complement=.001))}getLengthUnits(e){try{const t=e.GetLineIDsWithType(0,s.qaL).get(0),n=e.GetLine(0,t).Units[0].value;return e.GetLine(0,n)}catch(e){return console.log("Could not get units"),null}}getScaleMatrix(){const e=this.factor;return(new i.yGw).fromArray([e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1])}}},1741:(e,t,n)=>{"use strict";n.d(t,{Rm:()=>i.R,ap:()=>a.ap,nE:()=>s.n});var s=n(1631),i=n(9172),a=n(6273);n(5112)},8890:(e,t,n)=>{"use strict";n.d(t,{y:()=>l});var s=n(9477),i=n(1741),a=n(6318);class l{enabled=!0;highlightMats={};events={};tempMatrix=new s.yGw;selection={};_fragmentManager;constructor(e){this._fragmentManager=e}dispose(){this.highlightMats={}}add(e,t){if(this.highlightMats[e])throw new Error("A highlight with this name already exists.");this.highlightMats[e]=t,this.selection[e]={},this.events[e]={onHighlight:new a.j,onClear:new a.j},this.update()}update(){for(const e in this._fragmentManager.list){const t=this._fragmentManager.list[e];this.addHighlightToFragment(t)}}highlight(e,t,n=!0){if(!this.enabled)return null;this.checkSelection(e);const s=[];if(!t)return this.clear(e),null;const i=t.object,a=i.geometry,l=t.face?.a,r=t.instanceId;if(!a||void 0===l||void 0===r)return null;n&&this.clear(e),this.selection[e][i.uuid]||(this.selection[e][i.uuid]=new Set),s.push(i.fragment);const o=i.fragment.getVertexBlockID(a,l),c=i.fragment.getItemID(r,o).replace(/\..*/,""),u=parseInt(c,10);this.selection[e][i.uuid].add(c),this.addComposites(i,u,e),this.updateFragmentHighlight(e,i.uuid);const p=i.fragment.group;if(p){const t=p.data[u][0];for(let n=0;n1)s.getInstance(0,this.tempMatrix),i.setInstance(0,{ids:Array.from(s.ids),transform:this.tempMatrix}),i.blocks.setVisibility(!0,n,!0);else{let e=0;for(const t of n){i.mesh.count=e+1;const{instanceID:n}=s.getInstanceAndBlockID(t);s.getInstance(n,this.tempMatrix),i.setInstance(e,{ids:[t],transform:this.tempMatrix}),e++}}this.events[e].onHighlight.trigger(this.selection[e])}}checkSelection(e){if(!this.selection[e])throw new Error(`Selection ${e} does not exist.`)}addHighlightToFragment(e){for(const t in this.highlightMats)if(!e.fragments[t]){const n=this.highlightMats[t],s=e.addFragment(t,n);s.mesh.renderOrder=2,s.mesh.frustumCulled=!1}}}},1242:(e,t,n)=>{"use strict";n.d(t,{f:()=>a});var s=n(8250),i=n(6318);class a{list={};groups=[];onFragmentsLoaded=new i.j;_loader=new s.ei;get meshes(){const e=[];for(const t in this.list)e.push(this.list[t].mesh);return e}dispose(){for(const e of this.groups)e.dispose(!0);this.groups=[],this.list={}}disposeGroup(e){for(const t of e.items)this.removeFragmentMesh(t),delete this.list[t.id];e.dispose(!0);const t=this.groups.indexOf(e);this.groups.splice(t,1)}reset(){for(const e in this.list)this.list[e].dispose();this.list={}}load(e){const t=this._loader.import(e),n=[];for(const e of t.items)e.group=t,this.list[e.id]=e,n.push(e.id);return this.groups.push(t),this.onFragmentsLoaded.trigger(t),t}export(e){return this._loader.export(e)}removeFragmentMesh(e){}}},849:(e,t,n)=>{"use strict";n.d(t,{f:()=>s.f,y:()=>i.y});var s=n(1242),i=n(8890)},4211:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var s=n(9477),i=n(7555),a=n(1741),l=n(6318),r=n(849);class o{ifcLoaded=new l.j;locationsSaved=new l.j;api;_geometryReader=new a.Rm;_dataConverter=new a.nE;_fragmentManager=new r.f;FragmentHighlighter;get settings(){return this._dataConverter.settings}get meshes(){return this._fragmentManager.meshes}get groups(){return this._fragmentManager.groups}get sphere(){if(0===this.groups.length)return new s.aLr(new s.Pa4(0,0,0),40);const e=this.groups.filter((e=>e.boundingBox)).map((e=>o.getSphere(e.boundingBox)));return o.getSphereFromSpheres(e)}get corner(){if(0===this.groups.length)return new s.Pa4(40,40,40);const e=this.groups.filter((e=>e.boundingBox)).map((e=>e.boundingBox.max)),t=Math.max(...e.map((e=>e.x))),n=Math.max(...e.map((e=>e.y))),i=Math.max(...e.map((e=>e.z)));return new s.Pa4(t,n,i)}constructor(){this.api=new i.nRS,this.FragmentHighlighter=new r.y(this._fragmentManager)}dispose(){this._geometryReader.cleanUp(),this._dataConverter.cleanUp(),this.api=null,this._geometryReader=null,this._dataConverter=null,this.FragmentHighlighter.dispose(),this._fragmentManager.dispose(),this.spatialTree=[],this.ifcLoaded.reset()}spatialTree=[];loadFragment(e){const t=this._fragmentManager.load(e);this.ifcLoaded.trigger(t)}static setupModelLoader(e){e.children.forEach((e=>{e.castShadow=!0,e.receiveShadow=!0}))}static getSpatialTree(e){const t={};return Object.keys(e.spatialTree).forEach((n=>{t[e.spatialTree[n]]||(t[e.spatialTree[n]]=[]),"IFCSPACE"!==e[n].type&&t[e.spatialTree[n]].push(e[n])})),Object.keys(t).map((n=>({buildingStorey:e[n],children:[...t[n]]})))}static getSphereFromSpheres(e){const t=e.map((e=>e.center)),n=t.reduce(((e,t)=>e+t.x),0)/t.length,i=t.reduce(((e,t)=>e+t.y),0)/t.length,a=t.reduce(((e,t)=>e+t.z),0)/t.length,l=Math.max(...e.map((e=>e.radius)));return new s.aLr(new s.Pa4(n,i,a),l)}static getSphere(e){const{max:t,min:n}=e,i=t.clone().sub(n.clone()).normalize(),a=t.distanceTo(n),l=t.clone().add(i.multiplyScalar(.5*-a));return new s.aLr(l,.5*a)}}},1887:(e,t,n)=>{"use strict";n.d(t,{u:()=>i});var s=n(1811);class i{target;updateCount;constructor(e){console.log("Visual constructor",e),this.target=e.element,this.updateCount=0}update(e){this.target&&document&&(this.initContainer(),this.initScene())}canvas;container;initContainer(){this.canvas=document.createElement("canvas"),this.canvas.style.width="100%",this.canvas.style.height="100%",this.canvas.style.position="absolute",this.container=document.createElement("div"),this.container.style.width="100%",this.container.style.height="100%",this.container.style.position="relative",this.container.appendChild(this.canvas),this.target.appendChild(this.container)}bimModel;initScene(){this.bimModel=new s.I(this.container,this.canvas),this.initButton()}initButton(){const e=document.createElement("div");e.style.position="absolute",e.style.zIndex="1000";const t=document.createElement("button");t.style.outline="none",t.style.border="none",t.style.cursor="pointer",e.appendChild(t),this.container.appendChild(e),t.textContent=this.bimModel.scene.children.length.toString(),t.addEventListener("click",(()=>{this.loadFileLocal(t)}))}loadFileLocal(e){const t=document.createElement("input");t.setAttribute("type","file"),t.setAttribute("accept",".frag"),t.click();const n=this.bimModel;t.onchange=async function(t){const s=t.target.files[0],i=new FileReader;i.onload=()=>{const t=i.result,s=new Uint8Array(t);n.loadModel(s,e)},i.onerror=()=>{e.textContent="Error"},i.readAsArrayBuffer(s)},t.remove()}}},7080:(e,t,n)=>{"use strict";n.d(t,{n:()=>s});class s{constructor(e){this.fragment=e,this._visibilityInitialized=!1,this._originalIndex=new Map,this._idIndexIndexMap={};const t=e.mesh.geometry.attributes.blockID.array;this.ids=new Set(t),this.visibleIds=new Set(this.ids)}get count(){return this.ids.size}setVisibility(e,t=new Set(this.fragment.items),n=!1){const s=this.fragment.mesh.geometry,i=s.index;this._visibilityInitialized||this.initializeVisibility(i,s),n&&i.array.fill(0);for(const n of t){const a=this._idIndexIndexMap[n];for(const n of a){const a=this._originalIndex.get(n);if(void 0===a)continue;const l=s.attributes.blockID.getX(a),r=this.fragment.items[l];if(t.has(r)){e?this.visibleIds.add(l):this.visibleIds.delete(l);const t=e?a:0;i.setX(n,t)}}}i.needsUpdate=!0}initializeVisibility(e,t){for(let n=0;n{"use strict";n.d(t,{M:()=>a});var s=n(8823),i=n(4791);class a{static apply(e){a.initialized||(s.u9r.prototype.computeBoundsTree=i.Xy,s.u9r.prototype.disposeBoundsTree=i.sn,s.Kj0.prototype.raycast=i.uL,a.initialized=!0),e.boundsTree||e.computeBoundsTree()}static dispose(e){e.disposeBoundsTree()}}a.initialized=!1},6859:(e,t,n)=>{"use strict";n.d(t,{H:()=>s.H,S:()=>i.S});var s=n(3064),i=n(1358)},3064:(e,t,n)=>{"use strict";n.d(t,{H:()=>i});var s=n(76);class i{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFragment(e,t){return(t||new i).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFragment(e,t){return e.setPosition(e.position()+s.XU),(t||new i).__init(e.readInt32(e.position())+e.position(),e)}position(e){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readFloat32(this.bb.__vector(this.bb_pos+t)+4*e):0}positionLength(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__vector_len(this.bb_pos+e):0}positionArray(){const e=this.bb.__offset(this.bb_pos,4);return e?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}normal(e){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readFloat32(this.bb.__vector(this.bb_pos+t)+4*e):0}normalLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}normalArray(){const e=this.bb.__offset(this.bb_pos,6);return e?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}index(e){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt32(this.bb.__vector(this.bb_pos+t)+4*e):0}indexLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}indexArray(){const e=this.bb.__offset(this.bb_pos,8);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}blockId(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt32(this.bb.__vector(this.bb_pos+t)+4*e):0}blockIdLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}blockIdArray(){const e=this.bb.__offset(this.bb_pos,10);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}groups(e){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readFloat32(this.bb.__vector(this.bb_pos+t)+4*e):0}groupsLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}groupsArray(){const e=this.bb.__offset(this.bb_pos,12);return e?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}materials(e){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readFloat32(this.bb.__vector(this.bb_pos+t)+4*e):0}materialsLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}materialsArray(){const e=this.bb.__offset(this.bb_pos,14);return e?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}matrices(e){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readFloat32(this.bb.__vector(this.bb_pos+t)+4*e):0}matricesLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}matricesArray(){const e=this.bb.__offset(this.bb_pos,16);return e?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}colors(e){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readFloat32(this.bb.__vector(this.bb_pos+t)+4*e):0}colorsLength(){const e=this.bb.__offset(this.bb_pos,18);return e?this.bb.__vector_len(this.bb_pos+e):0}colorsArray(){const e=this.bb.__offset(this.bb_pos,18);return e?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}ids(e){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.__string(this.bb_pos+t,e):null}id(e){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.__string(this.bb_pos+t,e):null}composites(e){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.__string(this.bb_pos+t,e):null}static startFragment(e){e.startObject(11)}static addPosition(e,t){e.addFieldOffset(0,t,0)}static createPositionVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addFloat32(t[n]);return e.endVector()}static startPositionVector(e,t){e.startVector(4,t,4)}static addNormal(e,t){e.addFieldOffset(1,t,0)}static createNormalVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addFloat32(t[n]);return e.endVector()}static startNormalVector(e,t){e.startVector(4,t,4)}static addIndex(e,t){e.addFieldOffset(2,t,0)}static createIndexVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addInt32(t[n]);return e.endVector()}static startIndexVector(e,t){e.startVector(4,t,4)}static addBlockId(e,t){e.addFieldOffset(3,t,0)}static createBlockIdVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addInt32(t[n]);return e.endVector()}static startBlockIdVector(e,t){e.startVector(4,t,4)}static addGroups(e,t){e.addFieldOffset(4,t,0)}static createGroupsVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addFloat32(t[n]);return e.endVector()}static startGroupsVector(e,t){e.startVector(4,t,4)}static addMaterials(e,t){e.addFieldOffset(5,t,0)}static createMaterialsVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addFloat32(t[n]);return e.endVector()}static startMaterialsVector(e,t){e.startVector(4,t,4)}static addMatrices(e,t){e.addFieldOffset(6,t,0)}static createMatricesVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addFloat32(t[n]);return e.endVector()}static startMatricesVector(e,t){e.startVector(4,t,4)}static addColors(e,t){e.addFieldOffset(7,t,0)}static createColorsVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addFloat32(t[n]);return e.endVector()}static startColorsVector(e,t){e.startVector(4,t,4)}static addIds(e,t){e.addFieldOffset(8,t,0)}static addId(e,t){e.addFieldOffset(9,t,0)}static addComposites(e,t){e.addFieldOffset(10,t,0)}static endFragment(e){return e.endObject()}static createFragment(e,t,n,s,a,l,r,o,c,u,p,h){return i.startFragment(e),i.addPosition(e,t),i.addNormal(e,n),i.addIndex(e,s),i.addBlockId(e,a),i.addGroups(e,l),i.addMaterials(e,r),i.addMatrices(e,o),i.addColors(e,c),i.addIds(e,u),i.addId(e,p),i.addComposites(e,h),i.endFragment(e)}}},1358:(e,t,n)=>{"use strict";n.d(t,{S:()=>a});var s=n(76),i=n(3064);class a{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFragmentsGroup(e,t){return(t||new a).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFragmentsGroup(e,t){return e.setPosition(e.position()+s.XU),(t||new a).__init(e.readInt32(e.position())+e.position(),e)}items(e,t){const n=this.bb.__offset(this.bb_pos,4);return n?(t||new i.H).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*e),this.bb):null}itemsLength(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__vector_len(this.bb_pos+e):0}coordinationMatrix(e){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readFloat32(this.bb.__vector(this.bb_pos+t)+4*e):0}coordinationMatrixLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}coordinationMatrixArray(){const e=this.bb.__offset(this.bb_pos,6);return e?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}ids(e){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint32(this.bb.__vector(this.bb_pos+t)+4*e):0}idsLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}idsArray(){const 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}itemsKeys(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readUint32(this.bb.__vector(this.bb_pos+t)+4*e):0}itemsKeysLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}itemsKeysArray(){const e=this.bb.__offset(this.bb_pos,10);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}itemsKeysIndices(e){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readUint32(this.bb.__vector(this.bb_pos+t)+4*e):0}itemsKeysIndicesLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}itemsKeysIndicesArray(){const 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}itemsRels(e){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readUint32(this.bb.__vector(this.bb_pos+t)+4*e):0}itemsRelsLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}itemsRelsArray(){const e=this.bb.__offset(this.bb_pos,14);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}itemsRelsIndices(e){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readUint32(this.bb.__vector(this.bb_pos+t)+4*e):0}itemsRelsIndicesLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}itemsRelsIndicesArray(){const e=this.bb.__offset(this.bb_pos,16);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}fragmentKeys(e){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__string(this.bb_pos+t,e):null}id(e){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.__string(this.bb_pos+t,e):null}name(e){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.__string(this.bb_pos+t,e):null}ifcName(e){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.__string(this.bb_pos+t,e):null}ifcDescription(e){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.__string(this.bb_pos+t,e):null}ifcSchema(e){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.__string(this.bb_pos+t,e):null}maxExpressId(){const e=this.bb.__offset(this.bb_pos,30);return e?this.bb.readUint32(this.bb_pos+e):0}boundingBox(e){const t=this.bb.__offset(this.bb_pos,32);return t?this.bb.readFloat32(this.bb.__vector(this.bb_pos+t)+4*e):0}boundingBoxLength(){const e=this.bb.__offset(this.bb_pos,32);return e?this.bb.__vector_len(this.bb_pos+e):0}boundingBoxArray(){const e=this.bb.__offset(this.bb_pos,32);return e?new Float32Array(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 startFragmentsGroup(e){e.startObject(15)}static addItems(e,t){e.addFieldOffset(0,t,0)}static createItemsVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addOffset(t[n]);return e.endVector()}static startItemsVector(e,t){e.startVector(4,t,4)}static addCoordinationMatrix(e,t){e.addFieldOffset(1,t,0)}static createCoordinationMatrixVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addFloat32(t[n]);return e.endVector()}static startCoordinationMatrixVector(e,t){e.startVector(4,t,4)}static addIds(e,t){e.addFieldOffset(2,t,0)}static createIdsVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addInt32(t[n]);return e.endVector()}static startIdsVector(e,t){e.startVector(4,t,4)}static addItemsKeys(e,t){e.addFieldOffset(3,t,0)}static createItemsKeysVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addInt32(t[n]);return e.endVector()}static startItemsKeysVector(e,t){e.startVector(4,t,4)}static addItemsKeysIndices(e,t){e.addFieldOffset(4,t,0)}static createItemsKeysIndicesVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addInt32(t[n]);return e.endVector()}static startItemsKeysIndicesVector(e,t){e.startVector(4,t,4)}static addItemsRels(e,t){e.addFieldOffset(5,t,0)}static createItemsRelsVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addInt32(t[n]);return e.endVector()}static startItemsRelsVector(e,t){e.startVector(4,t,4)}static addItemsRelsIndices(e,t){e.addFieldOffset(6,t,0)}static createItemsRelsIndicesVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addInt32(t[n]);return e.endVector()}static startItemsRelsIndicesVector(e,t){e.startVector(4,t,4)}static addFragmentKeys(e,t){e.addFieldOffset(7,t,0)}static addId(e,t){e.addFieldOffset(8,t,0)}static addName(e,t){e.addFieldOffset(9,t,0)}static addIfcName(e,t){e.addFieldOffset(10,t,0)}static addIfcDescription(e,t){e.addFieldOffset(11,t,0)}static addIfcSchema(e,t){e.addFieldOffset(12,t,0)}static addMaxExpressId(e,t){e.addFieldInt32(13,t,0)}static addBoundingBox(e,t){e.addFieldOffset(14,t,0)}static createBoundingBoxVector(e,t){e.startVector(4,t.length,4);for(let n=t.length-1;n>=0;n--)e.addFloat32(t[n]);return e.endVector()}static startBoundingBoxVector(e,t){e.startVector(4,t,4)}static endFragmentsGroup(e){return e.endObject()}static finishFragmentsGroupBuffer(e,t){e.finish(t)}static finishSizePrefixedFragmentsGroupBuffer(e,t){e.finish(t,void 0,!0)}static createFragmentsGroup(e,t,n,s,i,l,r,o,c,u,p,h,d,f,I,m){return a.startFragmentsGroup(e),a.addItems(e,t),a.addCoordinationMatrix(e,n),a.addIds(e,s),a.addItemsKeys(e,i),a.addItemsKeysIndices(e,l),a.addItemsRels(e,r),a.addItemsRelsIndices(e,o),a.addFragmentKeys(e,c),a.addId(e,u),a.addName(e,p),a.addIfcName(e,h),a.addIfcDescription(e,d),a.addIfcSchema(e,f),a.addMaxExpressId(e,I),a.addBoundingBox(e,m),a.endFragmentsGroup(e)}}},3644:(e,t,n)=>{"use strict";n.d(t,{G:()=>l});var s=n(8823),i=n(3814),a=n(2040);class l extends s.SPe{constructor(e,t,n,s){super(e,t,n),this.elementCount=0,this.exportOptions={trs:!1,onlyVisible:!1,truncateDrawRange:!0,binary:!0,maxTextureSize:0},this.exporter=new i.M,this.material=l.newMaterialArray(t),this.geometry=this.newFragmentGeometry(e),this.fragment=s}exportData(){const e=this.geometry.attributes.position.array,t=this.geometry.attributes.normal.array,n=Array.from(this.geometry.attributes.blockID.array),i=Array.from(this.geometry.index.array),a=[];for(const e of this.geometry.groups){const t=e.materialIndex||0,{start:n,count:s}=e;a.push(n,s,t)}const l=[];if(Array.isArray(this.material))for(const e of this.material){const t=e.opacity,n=e.transparent?1:0,i=new s.Ilk(e.color).toArray();l.push(t,n,...i)}const r=Array.from(this.instanceMatrix.array);let o;return o=null!==this.instanceColor?Array.from(this.instanceColor.array):[],{position:e,normal:t,index:i,blockID:n,groups:a,materials:l,matrices:r,colors:o}}export(){const e=this;return new Promise((t=>{this.exporter.parse(e,(e=>t(e)),(e=>console.log(e)),this.exportOptions)}))}newFragmentGeometry(e){if(!e.index)throw new Error("The geometry must be indexed!");if(!e.attributes.blockID){const t=e.attributes.position.count,n=new Uint16Array(t);n.fill(this.elementCount++),e.attributes.blockID=new a.Tl(n,1)}const t=e.index.count;return l.initializeGroups(e,t),e}static initializeGroups(e,t){e.groups.length||e.groups.push({start:0,count:t,materialIndex:0})}static newMaterialArray(e){return Array.isArray(e)||(e=[e]),e}}},8967:(e,t,n)=>{"use strict";n.d(t,{H:()=>r});var s=n(8823),i=n(3644),a=n(7080),l=n(3439);class r{constructor(e,t,n){this.fragments={},this.items=[],this.hiddenInstances={},this.composites={},this.mesh=new i.G(e,t,n,this),this.id=this.mesh.uuid,this.capacity=n,this.blocks=new a.n(this),l.M.apply(e)}get ids(){const e=new Set;for(const t of this.items)e.add(t);for(const t in this.hiddenInstances)e.add(t);return e}dispose(e=!0){this.items=null,this.group=void 0,this.mesh&&(e&&(this.mesh.material.forEach((e=>e.dispose())),this.mesh.material=[],l.M.dispose(this.mesh.geometry),this.mesh.geometry.dispose(),this.mesh.geometry=null),this.mesh.removeFromParent(),this.mesh.dispose(),this.mesh.fragment=null,this.mesh=null),this.disposeNestedFragments()}getItemID(e,t){const n=this.getItemIndex(e,t);return this.items[n]}getInstanceAndBlockID(e){const t=this.items.indexOf(e);return{instanceID:this.getInstanceIDFromIndex(t),blockID:t%this.blocks.count}}getVertexBlockID(e,t){return e.attributes.blockID.array[t]}getItemData(e){const t=this.items.indexOf(e);return{instanceID:Math.ceil(t/this.blocks.count),blockID:t%this.blocks.count}}getInstance(e,t){return this.mesh.getMatrixAt(e,t)}setInstance(e,t){this.checkIfInstanceExist(e),this.mesh.setMatrixAt(e,t.transform),this.mesh.instanceMatrix.needsUpdate=!0,t.color&&this.mesh.instanceColor&&(this.mesh.setColorAt(e,t.color),this.mesh.instanceColor.needsUpdate=!0),t.ids&&this.saveItemsInMap(t.ids,e)}addInstances(e){this.resizeCapacityIfNeeded(e.length);const t=this.mesh.count;this.mesh.count+=e.length;for(let n=0;n1)this.blocks.setVisibility(!0);else{const e=Object.keys(this.hiddenInstances);this.makeInstancesVisible(e),this.hiddenInstances={}}}setVisibility(e,t=this.ids){this.blocks.count>1?this.blocks.setVisibility(e,t):this.toggleInstanceVisibility(e,t)}resize(e){var t;const n=this.createFragmentMeshWithNewSize(e);this.capacity=e;const s=this.mesh;null===(t=s.parent)||void 0===t||t.add(n),s.removeFromParent(),this.mesh=n,s.dispose()}exportData(){return{...this.mesh.exportData(),ids:this.items.join("|"),id:this.id}}copyGroups(e){e.groups=[];for(const t of this.mesh.geometry.groups)e.groups.push({...t})}initializeGeometry(){const e=new s.u9r;return e.setAttribute("position",this.mesh.geometry.attributes.position),e.setAttribute("normal",this.mesh.geometry.attributes.normal),e.setAttribute("blockID",this.mesh.geometry.attributes.blockID),e.setIndex(Array.from(this.mesh.geometry.index.array)),e}saveItemsInMap(e,t){this.checkBlockNumberValid(e);let n=0;for(const s of e){const e=this.getItemIndex(t,n);this.items[e]=s,n++}}resizeCapacityIfNeeded(e){const t=e+this.mesh.count;t>this.capacity&&this.resize(t)}createFragmentMeshWithNewSize(e){const t=new i.G(this.mesh.geometry,this.mesh.material,e,this);return t.count=this.mesh.count,t}disposeNestedFragments(){const e=Object.values(this.fragments);for(let t=0;tthis.blocks.count)throw new Error(`You passed more items (${e.length}) than blocks in this instance (${this.blocks.count})`)}checkIfInstanceExist(e){if(e>this.mesh.count)throw new Error(`The given index (${e}) exceeds the instances in this fragment (${this.mesh.count})`)}deleteAndRearrangeInstances(e){const t=[];for(const n of e){const e=this.deleteAndRearrange(n);e&&t.push(e)}for(const t of e)delete this.hiddenInstances[t];return t}deleteAndRearrange(e){const t=this.items.indexOf(e);if(-1===t)return null;this.mesh.count--;const n=t===this.mesh.count,i=this.getInstanceIDFromIndex(t),a=new s.yGw,l=new s.Ilk,r=new s.yGw;this.mesh.getMatrixAt(i,r);const o={ids:[e],transform:r};if(this.mesh.instanceColor){const e=new s.Ilk;this.mesh.getColorAt(i,e),o.color=e}if(n)return this.items.pop(),o;const c=this.mesh.count;return this.items[t]=this.items[c],this.items.pop(),this.mesh.getMatrixAt(c,a),this.mesh.setMatrixAt(i,a),this.mesh.instanceMatrix.needsUpdate=!0,this.mesh.instanceColor&&(this.mesh.getColorAt(c,l),this.mesh.setColorAt(i,l),this.mesh.instanceColor.needsUpdate=!0),o}getItemIndex(e,t){return e*this.blocks.count+t}getInstanceIDFromIndex(e){return Math.trunc(e/this.blocks.count)}toggleInstanceVisibility(e,t){e?this.makeInstancesVisible(t):this.makeInstancesInvisible(t)}makeInstancesInvisible(e){e=this.filterHiddenItems(e,!1);const t=this.deleteAndRearrangeInstances(e);for(const e of t)e.ids&&(this.hiddenInstances[e.ids[0]]=e)}makeInstancesVisible(e){const t=[];e=this.filterHiddenItems(e,!0);for(const n of e){const e=this.hiddenInstances[n];void 0!==e&&(t.push(e),delete this.hiddenInstances[n])}this.addInstances(t)}filterHiddenItems(e,t){const n=Object.keys(this.hiddenInstances),s=[];for(const i of e){const e=t&&n.includes(i),a=!t&&!n.includes(i);(e||a)&&s.push(i)}return s}}},5625:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var s=n(8823);class i extends s.ZAu{constructor(){super(...arguments),this.items=[],this.boundingBox=new s.ZzF,this.coordinationMatrix=new s.yGw,this.keyFragments={},this.data={},this.ifcMetadata={name:"",description:"",schema:"IFC2X3",maxExpressID:0}}getFragmentMap(e){const t={};for(const n of e){const e=this.data[n];if(e)for(const s of e[0]){const e=this.keyFragments[s];t[e]||(t[e]=new Set),t[e].add(n)}}return t}dispose(e=!0){for(const t of this.items)t.dispose(e);this.coordinationMatrix=new s.yGw,this.keyFragments={},this.data={},this.properties={}}}},3323:(e,t,n)=>{"use strict";n.d(t,{j:()=>a});var s=n(8823),i=n(4606);class a{static merge(e,t=!1){const n=[],s=[];for(const i of e){const e=this.mergeGeomsOfSameMaterial(i,t);n.push(e),s.push(e.index.count)}const a=(0,i.n4)(n);return this.setupMaterialGroups(s,a),this.cleanUp(n),a}static async mergeGltfMeshes(e){const t=new s.u9r,n=e[0].geometry.attributes;return this.getMeshesAttributes(t,n),this.getMeshesIndices(t,e),t}static getMeshesAttributes(e,t){e.setAttribute("blockID",t._blockid),e.setAttribute("position",t.position),e.setAttribute("normal",t.normal),e.groups=[]}static getMeshesIndices(e,t){const n={index:0,material:0},s=[];for(const i of t){const t=i.geometry.index;this.getIndicesOfMesh(t,s),this.getMeshGroup(e,n,t),this.cleanUpMesh(i)}e.setIndex(s)}static getMeshGroup(e,t,n){e.groups.push({start:t.index,count:n.count,materialIndex:t.material++}),t.index+=n.count}static cleanUpMesh(e){e.geometry.setIndex([]),e.geometry.attributes={},e.geometry.dispose()}static getIndicesOfMesh(e,t){for(const n of e.array)t.push(n)}static cleanUp(e){e.forEach((e=>e.dispose())),e.length=0}static setupMaterialGroups(e,t){let n=0,s=0;for(const i of e){const e={start:n,count:i,materialIndex:s++};t.groups.push(e),n+=i}}static mergeGeomsOfSameMaterial(e,t){this.checkAllGeometriesAreIndexed(e),t&&this.splitByBlocks(e);const n=(0,i.n4)(e);return this.cleanUp(e),n}static splitByBlocks(e){let t=0;for(const n of e){const e=n.attributes.position.count,i=new Uint16Array(e).fill(t++);n.setAttribute("blockID",new s.TlE(i,1))}}static checkAllGeometriesAreIndexed(e){for(const t of e)if(!t.index)throw new Error("All geometries must be indexed!")}}},8250:(e,t,n)=>{"use strict";n.d(t,{HY:()=>i.H,Sf:()=>l.S,ei:()=>a.e,j0:()=>s.j});var s=n(3323),i=n(8967),a=n(5821),l=n(5625)},5821:(e,t,n)=>{"use strict";n.d(t,{e:()=>o});var s=n(8823),i=n(76),a=n(6859),l=n(8967),r=n(5625);class o{constructor(){this.fragmentIDSeparator="|"}import(e){const t=new i.cZ(e),n=a.S.getRootAsFragmentsGroup(t),s=this.constructFragmentGroup(n),r=n.itemsLength();for(let e=0;e1;if(o&&c)return{instances:[{ids:r,transform:(new s.yGw).fromArray(t)}],colors:i};const u=[];for(let e=0;e{"use strict";n.d(t,{Z:()=>X});const s=Object.freeze({NONE:0,ROTATE:1,TRUCK:2,OFFSET:4,DOLLY:8,ZOOM:16,TOUCH_ROTATE:32,TOUCH_TRUCK:64,TOUCH_OFFSET:128,TOUCH_DOLLY:256,TOUCH_ZOOM:512,TOUCH_DOLLY_TRUCK:1024,TOUCH_DOLLY_OFFSET:2048,TOUCH_DOLLY_ROTATE:4096,TOUCH_ZOOM_TRUCK:8192,TOUCH_ZOOM_OFFSET:16384,TOUCH_ZOOM_ROTATE:32768});function i(e){return e.isPerspectiveCamera}function a(e){return e.isOrthographicCamera}const l=2*Math.PI,r=Math.PI/2,o=1e-5,c=Math.PI/180;function u(e,t,n){return Math.max(t,Math.min(n,e))}function p(e,t=o){return Math.abs(e)0==f>p&&(f=p,n.value=(f-p)/a),f}function y(e,t,n,s,i=1/0,a,l){const r=2/(s=Math.max(1e-4,s)),o=r*a,c=1/(1+o+.48*o*o+.235*o*o*o);let u=t.x,p=t.y,h=t.z,d=e.x-u,f=e.y-p,I=e.z-h;const m=u,y=p,v=h,w=i*s,T=d*d+f*f+I*I;if(T>w*w){const e=Math.sqrt(T);d=d/e*w,f=f/e*w,I=I/e*w}u=e.x-d,p=e.y-f,h=e.z-I;const E=(n.x+r*d)*a,g=(n.y+r*f)*a,R=(n.z+r*I)*a;n.x=(n.x-r*E)*c,n.y=(n.y-r*g)*c,n.z=(n.z-r*R)*c,l.x=u+(d+E)*c,l.y=p+(f+g)*c,l.z=h+(I+R)*c;const D=m-e.x,S=y-e.y,b=v-e.z;return D*(l.x-m)+S*(l.y-y)+b*(l.z-v)>0&&(l.x=m,l.y=y,l.z=v,n.x=(l.x-m)/a,n.y=(l.y-y)/a,n.z=(l.z-v)/a),l}function v(e,t){t.set(0,0),e.forEach((e=>{t.x+=e.clientX,t.y+=e.clientY})),t.x/=e.length,t.y/=e.length}function w(e,t){return!!a(e)&&(console.warn(`${t} is not supported in OrthographicCamera`),!0)}class T{constructor(){this._listeners={}}addEventListener(e,t){const n=this._listeners;void 0===n[e]&&(n[e]=[]),-1===n[e].indexOf(t)&&n[e].push(t)}hasEventListener(e,t){const n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)}removeEventListener(e,t){const n=this._listeners[e];if(void 0!==n){const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}removeAllEventListeners(e){e?Array.isArray(this._listeners[e])&&(this._listeners[e].length=0):this._listeners={}}dispatchEvent(e){const t=this._listeners[e.type];if(void 0!==t){e.target=this;const n=t.slice(0);for(let t=0,s=n.length;t{},this._enabled=!0,this._state=s.NONE,this._viewport=null,this._changedDolly=0,this._changedZoom=0,this._hasRested=!0,this._boundaryEnclosesCamera=!1,this._needsUpdate=!0,this._updatedLastTime=!1,this._elementRect=new DOMRect,this._isDragging=!1,this._activePointers=[],this._lockedPointer=null,this._interactiveArea=new DOMRect(0,0,1,1),this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._isUserControllingOffset=!1,this._isUserControllingZoom=!1,this._lastDollyDirection=0,this._thetaVelocity={value:0},this._phiVelocity={value:0},this._radiusVelocity={value:0},this._targetVelocity=new S.Vector3,this._focalOffsetVelocity=new S.Vector3,this._zoomVelocity={value:0},this._truckInternal=(e,t,n)=>{let s,l;if(i(this._camera)){const n=x.copy(this._camera.position).sub(this._target),i=this._camera.getEffectiveFOV()*c,a=n.length()*Math.tan(.5*i);s=this.truckSpeed*e*a/this._elementRect.height,l=this.truckSpeed*t*a/this._elementRect.height}else{if(!a(this._camera))return;{const n=this._camera;s=e*(n.right-n.left)/n.zoom/this._elementRect.width,l=t*(n.top-n.bottom)/n.zoom/this._elementRect.height}}this.verticalDragToForward?(n?this.setFocalOffset(this._focalOffsetEnd.x+s,this._focalOffsetEnd.y,this._focalOffsetEnd.z,!0):this.truck(s,0,!0),this.forward(-l,!0)):n?this.setFocalOffset(this._focalOffsetEnd.x+s,this._focalOffsetEnd.y+l,this._focalOffsetEnd.z,!0):this.truck(s,l,!0)},this._rotateInternal=(e,t)=>{const n=l*this.azimuthRotateSpeed*e/this._elementRect.height,s=l*this.polarRotateSpeed*t/this._elementRect.height;this.rotate(n,s,!0)},this._dollyInternal=(e,t,n)=>{const s=Math.pow(.95,-e*this.dollySpeed),i=this._sphericalEnd.radius,a=this._sphericalEnd.radius*s,l=u(a,this.minDistance,this.maxDistance),r=l-a;this.infinityDolly&&this.dollyToCursor?this._dollyToNoClamp(a,!0):this.infinityDolly&&!this.dollyToCursor?(this.dollyInFixed(r,!0),this._dollyToNoClamp(l,!0)):this._dollyToNoClamp(l,!0),this.dollyToCursor&&(this._changedDolly+=(this.infinityDolly?a:l)-i,this._dollyControlCoord.set(t,n)),this._lastDollyDirection=Math.sign(-e)},this._zoomInternal=(e,t,n)=>{const s=Math.pow(.95,e*this.dollySpeed),i=this._zoom,a=this._zoom*s;this.zoomTo(a,!0),this.dollyToCursor&&(this._changedZoom+=a-i,this._dollyControlCoord.set(t,n))},void 0===S&&console.error("camera-controls: `THREE` is undefined. You must first run `CameraControls.install( { THREE: THREE } )`. Check the docs for further information."),this._camera=e,this._yAxisUpSpace=(new S.Quaternion).setFromUnitVectors(this._camera.up,N),this._yAxisUpSpaceInverse=this._yAxisUpSpace.clone().invert(),this._state=s.NONE,this._target=new S.Vector3,this._targetEnd=this._target.clone(),this._focalOffset=new S.Vector3,this._focalOffsetEnd=this._focalOffset.clone(),this._spherical=(new S.Spherical).setFromVector3(x.copy(this._camera.position).applyQuaternion(this._yAxisUpSpace)),this._sphericalEnd=this._spherical.clone(),this._lastDistance=this._spherical.radius,this._zoom=this._camera.zoom,this._zoomEnd=this._zoom,this._lastZoom=this._zoom,this._nearPlaneCorners=[new S.Vector3,new S.Vector3,new S.Vector3,new S.Vector3],this._updateNearPlaneCorners(),this._boundary=new S.Box3(new S.Vector3(-1/0,-1/0,-1/0),new S.Vector3(1/0,1/0,1/0)),this._cameraUp0=this._camera.up.clone(),this._target0=this._target.clone(),this._position0=this._camera.position.clone(),this._zoom0=this._zoom,this._focalOffset0=this._focalOffset.clone(),this._dollyControlCoord=new S.Vector2,this.mouseButtons={left:s.ROTATE,middle:s.DOLLY,right:s.TRUCK,wheel:i(this._camera)?s.DOLLY:a(this._camera)?s.ZOOM:s.NONE},this.touches={one:s.TOUCH_ROTATE,two:i(this._camera)?s.TOUCH_DOLLY_TRUCK:a(this._camera)?s.TOUCH_ZOOM_TRUCK:s.NONE,three:s.TOUCH_TRUCK};const n=new S.Vector2,r=new S.Vector2,o=new S.Vector2,p=e=>{if(!this._enabled||!this._domElement)return;if(0!==this._interactiveArea.left||0!==this._interactiveArea.top||1!==this._interactiveArea.width||1!==this._interactiveArea.height){const t=this._domElement.getBoundingClientRect(),n=e.clientX/t.width,s=e.clientY/t.height;if(nthis._interactiveArea.right||sthis._interactiveArea.bottom)return}const t="mouse"!==e.pointerType?null:1==(1&e.buttons)?1:4==(4&e.buttons)?4:2==(2&e.buttons)?2:null;if(null!==t){const e=this._findPointerByMouseButton(t);e&&this._disposePointer(e)}if(1==(1&e.buttons)&&this._lockedPointer)return;const n={pointerId:e.pointerId,clientX:e.clientX,clientY:e.clientY,deltaX:0,deltaY:0,mouseButton:t};this._activePointers.push(n),this._domElement.ownerDocument.removeEventListener("pointermove",d,{passive:!1}),this._domElement.ownerDocument.removeEventListener("pointerup",I),this._domElement.ownerDocument.addEventListener("pointermove",d,{passive:!1}),this._domElement.ownerDocument.addEventListener("pointerup",I),this._isDragging=!0,g(e)},h=e=>{if(!this._enabled||!this._domElement||this._lockedPointer)return;if(0!==this._interactiveArea.left||0!==this._interactiveArea.top||1!==this._interactiveArea.width||1!==this._interactiveArea.height){const t=this._domElement.getBoundingClientRect(),n=e.clientX/t.width,s=e.clientY/t.height;if(nthis._interactiveArea.right||sthis._interactiveArea.bottom)return}const t=1==(1&e.buttons)?1:4==(4&e.buttons)?4:2==(2&e.buttons)?2:null;if(null!==t){const e=this._findPointerByMouseButton(t);e&&this._disposePointer(e)}const n={pointerId:1,clientX:e.clientX,clientY:e.clientY,deltaX:0,deltaY:0,mouseButton:1==(1&e.buttons)?1:1==(4&e.buttons)?4:1==(2&e.buttons)?2:null};this._activePointers.push(n),this._domElement.ownerDocument.removeEventListener("mousemove",f),this._domElement.ownerDocument.removeEventListener("mouseup",m),this._domElement.ownerDocument.addEventListener("mousemove",f),this._domElement.ownerDocument.addEventListener("mouseup",m),this._isDragging=!0,g(e)},d=e=>{e.cancelable&&e.preventDefault();const t=e.pointerId,n=this._lockedPointer||this._findPointerById(t);if(n){if(n.clientX=e.clientX,n.clientY=e.clientY,n.deltaX=e.movementX,n.deltaY=e.movementY,this._state=0,"touch"===e.pointerType)switch(this._activePointers.length){case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three}else(!this._isDragging&&this._lockedPointer||this._isDragging&&1==(1&e.buttons))&&(this._state=this._state|this.mouseButtons.left),this._isDragging&&4==(4&e.buttons)&&(this._state=this._state|this.mouseButtons.middle),this._isDragging&&2==(2&e.buttons)&&(this._state=this._state|this.mouseButtons.right);b()}},f=e=>{const t=this._lockedPointer||this._findPointerById(1);t&&(t.clientX=e.clientX,t.clientY=e.clientY,t.deltaX=e.movementX,t.deltaY=e.movementY,this._state=0,(this._lockedPointer||1==(1&e.buttons))&&(this._state=this._state|this.mouseButtons.left),4==(4&e.buttons)&&(this._state=this._state|this.mouseButtons.middle),2==(2&e.buttons)&&(this._state=this._state|this.mouseButtons.right),b())},I=e=>{const t=this._findPointerById(e.pointerId);if(!t||t!==this._lockedPointer){if(t&&this._disposePointer(t),"touch"===e.pointerType)switch(this._activePointers.length){case 0:this._state=s.NONE;break;case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three}else this._state=s.NONE;O()}},m=()=>{const e=this._findPointerById(1);e&&e===this._lockedPointer||(e&&this._disposePointer(e),this._state=s.NONE,O())};let y=-1;const w=e=>{if(!this._domElement)return;if(!this._enabled||this.mouseButtons.wheel===s.NONE)return;if(0!==this._interactiveArea.left||0!==this._interactiveArea.top||1!==this._interactiveArea.width||1!==this._interactiveArea.height){const t=this._domElement.getBoundingClientRect(),n=e.clientX/t.width,s=e.clientY/t.height;if(nthis._interactiveArea.right||sthis._interactiveArea.bottom)return}if(e.preventDefault(),this.dollyToCursor||this.mouseButtons.wheel===s.ROTATE||this.mouseButtons.wheel===s.TRUCK){const e=performance.now();y-e<1e3&&this._getClientRect(this._elementRect),y=e}const t=R?-1:-3,n=1===e.deltaMode?e.deltaY/t:e.deltaY/(10*t),i=this.dollyToCursor?(e.clientX-this._elementRect.x)/this._elementRect.width*2-1:0,a=this.dollyToCursor?(e.clientY-this._elementRect.y)/this._elementRect.height*-2+1:0;switch(this.mouseButtons.wheel){case s.ROTATE:this._rotateInternal(e.deltaX,e.deltaY),this._isUserControllingRotate=!0;break;case s.TRUCK:this._truckInternal(e.deltaX,e.deltaY,!1),this._isUserControllingTruck=!0;break;case s.OFFSET:this._truckInternal(e.deltaX,e.deltaY,!0),this._isUserControllingOffset=!0;break;case s.DOLLY:this._dollyInternal(-n,i,a),this._isUserControllingDolly=!0;break;case s.ZOOM:this._zoomInternal(-n,i,a),this._isUserControllingZoom=!0}this.dispatchEvent({type:"control"})},T=e=>{if(this._domElement&&this._enabled){if(this.mouseButtons.right===X.ACTION.NONE){const t=e instanceof PointerEvent?e.pointerId:(MouseEvent,0),n=this._findPointerById(t);return n&&this._disposePointer(n),this._domElement.ownerDocument.removeEventListener("pointermove",d,{passive:!1}),this._domElement.ownerDocument.removeEventListener("pointerup",I),this._domElement.ownerDocument.removeEventListener("mousemove",f),void this._domElement.ownerDocument.removeEventListener("mouseup",m)}e.preventDefault()}},g=e=>{if(this._enabled){if(v(this._activePointers,A),this._getClientRect(this._elementRect),n.copy(A),r.copy(A),this._activePointers.length>=2){const e=A.x-this._activePointers[1].clientX,t=A.y-this._activePointers[1].clientY,n=Math.sqrt(e*e+t*t);o.set(0,n);const s=.5*(this._activePointers[0].clientX+this._activePointers[1].clientX),i=.5*(this._activePointers[0].clientY+this._activePointers[1].clientY);r.set(s,i)}if(this._state=0,e)if("pointerType"in e&&"touch"===e.pointerType)switch(this._activePointers.length){case 1:this._state=this.touches.one;break;case 2:this._state=this.touches.two;break;case 3:this._state=this.touches.three}else this._lockedPointer||1!=(1&e.buttons)||(this._state=this._state|this.mouseButtons.left),4==(4&e.buttons)&&(this._state=this._state|this.mouseButtons.middle),2==(2&e.buttons)&&(this._state=this._state|this.mouseButtons.right);else this._lockedPointer&&(this._state=this._state|this.mouseButtons.left);(this._state&s.ROTATE)!==s.ROTATE&&(this._state&s.TOUCH_ROTATE)!==s.TOUCH_ROTATE&&(this._state&s.TOUCH_DOLLY_ROTATE)!==s.TOUCH_DOLLY_ROTATE&&(this._state&s.TOUCH_ZOOM_ROTATE)!==s.TOUCH_ZOOM_ROTATE||(this._sphericalEnd.theta=this._spherical.theta,this._sphericalEnd.phi=this._spherical.phi,this._thetaVelocity.value=0,this._phiVelocity.value=0),(this._state&s.TRUCK)!==s.TRUCK&&(this._state&s.TOUCH_TRUCK)!==s.TOUCH_TRUCK&&(this._state&s.TOUCH_DOLLY_TRUCK)!==s.TOUCH_DOLLY_TRUCK&&(this._state&s.TOUCH_ZOOM_TRUCK)!==s.TOUCH_ZOOM_TRUCK||(this._targetEnd.copy(this._target),this._targetVelocity.set(0,0,0)),(this._state&s.DOLLY)!==s.DOLLY&&(this._state&s.TOUCH_DOLLY)!==s.TOUCH_DOLLY&&(this._state&s.TOUCH_DOLLY_TRUCK)!==s.TOUCH_DOLLY_TRUCK&&(this._state&s.TOUCH_DOLLY_OFFSET)!==s.TOUCH_DOLLY_OFFSET&&(this._state&s.TOUCH_DOLLY_ROTATE)!==s.TOUCH_DOLLY_ROTATE||(this._sphericalEnd.radius=this._spherical.radius,this._radiusVelocity.value=0),(this._state&s.ZOOM)!==s.ZOOM&&(this._state&s.TOUCH_ZOOM)!==s.TOUCH_ZOOM&&(this._state&s.TOUCH_ZOOM_TRUCK)!==s.TOUCH_ZOOM_TRUCK&&(this._state&s.TOUCH_ZOOM_OFFSET)!==s.TOUCH_ZOOM_OFFSET&&(this._state&s.TOUCH_ZOOM_ROTATE)!==s.TOUCH_ZOOM_ROTATE||(this._zoomEnd=this._zoom,this._zoomVelocity.value=0),(this._state&s.OFFSET)!==s.OFFSET&&(this._state&s.TOUCH_OFFSET)!==s.TOUCH_OFFSET&&(this._state&s.TOUCH_DOLLY_OFFSET)!==s.TOUCH_DOLLY_OFFSET&&(this._state&s.TOUCH_ZOOM_OFFSET)!==s.TOUCH_ZOOM_OFFSET||(this._focalOffsetEnd.copy(this._focalOffset),this._focalOffsetVelocity.set(0,0,0)),this.dispatchEvent({type:"controlstart"})}},b=()=>{if(!this._enabled)return;v(this._activePointers,A);const e=this._domElement&&document.pointerLockElement===this._domElement?this._lockedPointer||this._activePointers[0]:null,t=e?-e.deltaX:r.x-A.x,i=e?-e.deltaY:r.y-A.y;if(r.copy(A),(this._state&s.ROTATE)!==s.ROTATE&&(this._state&s.TOUCH_ROTATE)!==s.TOUCH_ROTATE&&(this._state&s.TOUCH_DOLLY_ROTATE)!==s.TOUCH_DOLLY_ROTATE&&(this._state&s.TOUCH_ZOOM_ROTATE)!==s.TOUCH_ZOOM_ROTATE||(this._rotateInternal(t,i),this._isUserControllingRotate=!0),(this._state&s.DOLLY)===s.DOLLY||(this._state&s.ZOOM)===s.ZOOM){const e=this.dollyToCursor?(n.x-this._elementRect.x)/this._elementRect.width*2-1:0,t=this.dollyToCursor?(n.y-this._elementRect.y)/this._elementRect.height*-2+1:0,a=this.dollyDragInverted?-1:1;(this._state&s.DOLLY)===s.DOLLY?(this._dollyInternal(a*i*E,e,t),this._isUserControllingDolly=!0):(this._zoomInternal(a*i*E,e,t),this._isUserControllingZoom=!0)}if((this._state&s.TOUCH_DOLLY)===s.TOUCH_DOLLY||(this._state&s.TOUCH_ZOOM)===s.TOUCH_ZOOM||(this._state&s.TOUCH_DOLLY_TRUCK)===s.TOUCH_DOLLY_TRUCK||(this._state&s.TOUCH_ZOOM_TRUCK)===s.TOUCH_ZOOM_TRUCK||(this._state&s.TOUCH_DOLLY_OFFSET)===s.TOUCH_DOLLY_OFFSET||(this._state&s.TOUCH_ZOOM_OFFSET)===s.TOUCH_ZOOM_OFFSET||(this._state&s.TOUCH_DOLLY_ROTATE)===s.TOUCH_DOLLY_ROTATE||(this._state&s.TOUCH_ZOOM_ROTATE)===s.TOUCH_ZOOM_ROTATE){const e=A.x-this._activePointers[1].clientX,t=A.y-this._activePointers[1].clientY,n=Math.sqrt(e*e+t*t),i=o.y-n;o.set(0,n);const a=this.dollyToCursor?(r.x-this._elementRect.x)/this._elementRect.width*2-1:0,l=this.dollyToCursor?(r.y-this._elementRect.y)/this._elementRect.height*-2+1:0;(this._state&s.TOUCH_DOLLY)===s.TOUCH_DOLLY||(this._state&s.TOUCH_DOLLY_ROTATE)===s.TOUCH_DOLLY_ROTATE||(this._state&s.TOUCH_DOLLY_TRUCK)===s.TOUCH_DOLLY_TRUCK||(this._state&s.TOUCH_DOLLY_OFFSET)===s.TOUCH_DOLLY_OFFSET?(this._dollyInternal(i*E,a,l),this._isUserControllingDolly=!0):(this._zoomInternal(i*E,a,l),this._isUserControllingZoom=!0)}(this._state&s.TRUCK)!==s.TRUCK&&(this._state&s.TOUCH_TRUCK)!==s.TOUCH_TRUCK&&(this._state&s.TOUCH_DOLLY_TRUCK)!==s.TOUCH_DOLLY_TRUCK&&(this._state&s.TOUCH_ZOOM_TRUCK)!==s.TOUCH_ZOOM_TRUCK||(this._truckInternal(t,i,!1),this._isUserControllingTruck=!0),(this._state&s.OFFSET)!==s.OFFSET&&(this._state&s.TOUCH_OFFSET)!==s.TOUCH_OFFSET&&(this._state&s.TOUCH_DOLLY_OFFSET)!==s.TOUCH_DOLLY_OFFSET&&(this._state&s.TOUCH_ZOOM_OFFSET)!==s.TOUCH_ZOOM_OFFSET||(this._truckInternal(t,i,!0),this._isUserControllingOffset=!0),this.dispatchEvent({type:"control"})},O=()=>{v(this._activePointers,A),r.copy(A),(0===this._activePointers.length||1===this._activePointers.length&&this._activePointers[0]===this._lockedPointer)&&(this._isDragging=!1),0===this._activePointers.length&&this._domElement&&(this._domElement.ownerDocument.removeEventListener("pointermove",d,{passive:!1}),this._domElement.ownerDocument.removeEventListener("mousemove",f),this._domElement.ownerDocument.removeEventListener("pointerup",I),this._domElement.ownerDocument.removeEventListener("mouseup",m),this.dispatchEvent({type:"controlend"}))};this.lockPointer=()=>{this._enabled&&this._domElement&&(this.cancel(),this._lockedPointer={pointerId:-1,clientX:0,clientY:0,deltaX:0,deltaY:0,mouseButton:null},this._activePointers.push(this._lockedPointer),this._domElement.ownerDocument.removeEventListener("pointermove",d,{passive:!1}),this._domElement.ownerDocument.removeEventListener("pointerup",I),this._domElement.requestPointerLock(),this._domElement.ownerDocument.addEventListener("pointerlockchange",C),this._domElement.ownerDocument.addEventListener("pointerlockerror",L),this._domElement.ownerDocument.addEventListener("pointermove",d,{passive:!1}),this._domElement.ownerDocument.addEventListener("pointerup",I),g())},this.unlockPointer=()=>{null!==this._lockedPointer&&(this._disposePointer(this._lockedPointer),this._lockedPointer=null),document.exitPointerLock(),this.cancel(),this._domElement&&(this._domElement.ownerDocument.removeEventListener("pointerlockchange",C),this._domElement.ownerDocument.removeEventListener("pointerlockerror",L))};const C=()=>{this._domElement&&this._domElement.ownerDocument.pointerLockElement===this._domElement||this.unlockPointer()},L=()=>{this.unlockPointer()};this._addAllEventListeners=e=>{this._domElement=e,this._domElement.style.touchAction="none",this._domElement.style.userSelect="none",this._domElement.style.webkitUserSelect="none",this._domElement.addEventListener("pointerdown",p),D&&this._domElement.addEventListener("mousedown",h),this._domElement.addEventListener("pointercancel",I),this._domElement.addEventListener("wheel",w,{passive:!1}),this._domElement.addEventListener("contextmenu",T)},this._removeAllEventListeners=()=>{this._domElement&&(this._domElement.style.touchAction="",this._domElement.style.userSelect="",this._domElement.style.webkitUserSelect="",this._domElement.removeEventListener("pointerdown",p),this._domElement.removeEventListener("mousedown",h),this._domElement.removeEventListener("pointercancel",I),this._domElement.removeEventListener("wheel",w,{passive:!1}),this._domElement.removeEventListener("contextmenu",T),this._domElement.ownerDocument.removeEventListener("pointermove",d,{passive:!1}),this._domElement.ownerDocument.removeEventListener("mousemove",f),this._domElement.ownerDocument.removeEventListener("pointerup",I),this._domElement.ownerDocument.removeEventListener("mouseup",m),this._domElement.ownerDocument.removeEventListener("pointerlockchange",C),this._domElement.ownerDocument.removeEventListener("pointerlockerror",L))},this.cancel=()=>{this._state!==s.NONE&&(this._state=s.NONE,this._activePointers.length=0,O())},t&&this.connect(t),this.update(0)}get camera(){return this._camera}set camera(e){this._camera=e,this.updateCameraUp(),this._camera.updateProjectionMatrix(),this._updateNearPlaneCorners(),this._needsUpdate=!0}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._domElement&&(e?(this._domElement.style.touchAction="none",this._domElement.style.userSelect="none",this._domElement.style.webkitUserSelect="none"):(this.cancel(),this._domElement.style.touchAction="",this._domElement.style.userSelect="",this._domElement.style.webkitUserSelect=""))}get active(){return!this._hasRested}get currentAction(){return this._state}get distance(){return this._spherical.radius}set distance(e){this._spherical.radius===e&&this._sphericalEnd.radius===e||(this._spherical.radius=e,this._sphericalEnd.radius=e,this._needsUpdate=!0)}get azimuthAngle(){return this._spherical.theta}set azimuthAngle(e){this._spherical.theta===e&&this._sphericalEnd.theta===e||(this._spherical.theta=e,this._sphericalEnd.theta=e,this._needsUpdate=!0)}get polarAngle(){return this._spherical.phi}set polarAngle(e){this._spherical.phi===e&&this._sphericalEnd.phi===e||(this._spherical.phi=e,this._sphericalEnd.phi=e,this._needsUpdate=!0)}get boundaryEnclosesCamera(){return this._boundaryEnclosesCamera}set boundaryEnclosesCamera(e){this._boundaryEnclosesCamera=e,this._needsUpdate=!0}set interactiveArea(e){this._interactiveArea.width=u(e.width,0,1),this._interactiveArea.height=u(e.height,0,1),this._interactiveArea.x=u(e.x,0,1-this._interactiveArea.width),this._interactiveArea.y=u(e.x,0,1-this._interactiveArea.height)}addEventListener(e,t){super.addEventListener(e,t)}removeEventListener(e,t){super.removeEventListener(e,t)}rotate(e,t,n=!1){return this.rotateTo(this._sphericalEnd.theta+e,this._sphericalEnd.phi+t,n)}rotateAzimuthTo(e,t=!1){return this.rotateTo(e,this._sphericalEnd.phi,t)}rotatePolarTo(e,t=!1){return this.rotateTo(this._sphericalEnd.theta,e,t)}rotateTo(e,t,n=!1){this._isUserControllingRotate=!1;const s=u(e,this.minAzimuthAngle,this.maxAzimuthAngle),i=u(t,this.minPolarAngle,this.maxPolarAngle);this._sphericalEnd.theta=s,this._sphericalEnd.phi=i,this._sphericalEnd.makeSafe(),this._needsUpdate=!0,n||(this._spherical.theta=this._sphericalEnd.theta,this._spherical.phi=this._sphericalEnd.phi);const a=!n||h(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&h(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold);return this._createOnRestPromise(a)}dolly(e,t=!1){return this.dollyTo(this._sphericalEnd.radius-e,t)}dollyTo(e,t=!1){return this._isUserControllingDolly=!1,this._lastDollyDirection=0,this._changedDolly=0,this._dollyToNoClamp(u(e,this.minDistance,this.maxDistance),t)}_dollyToNoClamp(e,t=!1){const n=this._sphericalEnd.radius;if(this.colliderMeshes.length>=1){const t=this._collisionTest(),s=h(t,this._spherical.radius);if(!(n>e)&&s)return Promise.resolve();this._sphericalEnd.radius=Math.min(e,t)}else this._sphericalEnd.radius=e;this._needsUpdate=!0,t||(this._spherical.radius=this._sphericalEnd.radius);const s=!t||h(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(s)}dollyInFixed(e,t=!1){this._targetEnd.add(this._getCameraDirection(P).multiplyScalar(e)),t||this._target.copy(this._targetEnd);const n=!t||h(this._target.x,this._targetEnd.x,this.restThreshold)&&h(this._target.y,this._targetEnd.y,this.restThreshold)&&h(this._target.z,this._targetEnd.z,this.restThreshold);return this._createOnRestPromise(n)}zoom(e,t=!1){return this.zoomTo(this._zoomEnd+e,t)}zoomTo(e,t=!1){this._isUserControllingZoom=!1,this._zoomEnd=u(e,this.minZoom,this.maxZoom),this._needsUpdate=!0,t||(this._zoom=this._zoomEnd);const n=!t||h(this._zoom,this._zoomEnd,this.restThreshold);return this._changedZoom=0,this._createOnRestPromise(n)}pan(e,t,n=!1){return console.warn("`pan` has been renamed to `truck`"),this.truck(e,t,n)}truck(e,t,n=!1){this._camera.updateMatrix(),q.setFromMatrixColumn(this._camera.matrix,0),_.setFromMatrixColumn(this._camera.matrix,1),q.multiplyScalar(e),_.multiplyScalar(-t);const s=x.copy(q).add(_),i=C.copy(this._targetEnd).add(s);return this.moveTo(i.x,i.y,i.z,n)}forward(e,t=!1){x.setFromMatrixColumn(this._camera.matrix,0),x.crossVectors(this._camera.up,x),x.multiplyScalar(e);const n=C.copy(this._targetEnd).add(x);return this.moveTo(n.x,n.y,n.z,t)}elevate(e,t=!1){return x.copy(this._camera.up).multiplyScalar(e),this.moveTo(this._targetEnd.x+x.x,this._targetEnd.y+x.y,this._targetEnd.z+x.z,t)}moveTo(e,t,n,s=!1){this._isUserControllingTruck=!1;const i=x.set(e,t,n).sub(this._targetEnd);this._encloseToBoundary(this._targetEnd,i,this.boundaryFriction),this._needsUpdate=!0,s||this._target.copy(this._targetEnd);const a=!s||h(this._target.x,this._targetEnd.x,this.restThreshold)&&h(this._target.y,this._targetEnd.y,this.restThreshold)&&h(this._target.z,this._targetEnd.z,this.restThreshold);return this._createOnRestPromise(a)}lookInDirectionOf(e,t,n,s=!1){const i=x.set(e,t,n).sub(this._targetEnd).normalize().multiplyScalar(-this._sphericalEnd.radius);return this.setPosition(i.x,i.y,i.z,s)}fitToBox(e,t,{cover:n=!1,paddingLeft:s=0,paddingRight:l=0,paddingBottom:o=0,paddingTop:c=0}={}){const u=[],p=e.isBox3?G.copy(e):G.setFromObject(e);p.isEmpty()&&(console.warn("camera-controls: fitTo() cannot be used with an empty box. Aborting"),Promise.resolve());const f=d(this._sphericalEnd.theta,r),I=d(this._sphericalEnd.phi,r);u.push(this.rotateTo(f,I,t));const m=x.setFromSpherical(this._sphericalEnd).normalize(),y=z.setFromUnitVectors(m,O),v=h(Math.abs(m.y),1);v&&y.multiply(W.setFromAxisAngle(N,f)),y.multiply(this._yAxisUpSpaceInverse);const w=V.makeEmpty();C.copy(p.min).applyQuaternion(y),w.expandByPoint(C),C.copy(p.min).setX(p.max.x).applyQuaternion(y),w.expandByPoint(C),C.copy(p.min).setY(p.max.y).applyQuaternion(y),w.expandByPoint(C),C.copy(p.max).setZ(p.min.z).applyQuaternion(y),w.expandByPoint(C),C.copy(p.min).setZ(p.max.z).applyQuaternion(y),w.expandByPoint(C),C.copy(p.max).setY(p.min.y).applyQuaternion(y),w.expandByPoint(C),C.copy(p.max).setX(p.min.x).applyQuaternion(y),w.expandByPoint(C),C.copy(p.max).applyQuaternion(y),w.expandByPoint(C),w.min.x-=s,w.min.y-=o,w.max.x+=l,w.max.y+=c,y.setFromUnitVectors(O,m),v&&y.premultiply(W.invert()),y.premultiply(this._yAxisUpSpace);const T=w.getSize(x),E=w.getCenter(C).applyQuaternion(y);if(i(this._camera)){const e=this.getDistanceToFitBox(T.x,T.y,T.z,n);u.push(this.moveTo(E.x,E.y,E.z,t)),u.push(this.dollyTo(e,t)),u.push(this.setFocalOffset(0,0,0,t))}else if(a(this._camera)){const e=this._camera,s=e.right-e.left,i=e.top-e.bottom,a=n?Math.max(s/T.x,i/T.y):Math.min(s/T.x,i/T.y);u.push(this.moveTo(E.x,E.y,E.z,t)),u.push(this.zoomTo(a,t)),u.push(this.setFocalOffset(0,0,0,t))}return Promise.all(u)}fitToSphere(e,t){const n=[],s=e instanceof S.Sphere?j.copy(e):X.createBoundingSphere(e,j);if(n.push(this.moveTo(s.center.x,s.center.y,s.center.z,t)),i(this._camera)){const e=this.getDistanceToFitSphere(s.radius);n.push(this.dollyTo(e,t))}else if(a(this._camera)){const e=this._camera.right-this._camera.left,i=this._camera.top-this._camera.bottom,a=2*s.radius,l=Math.min(e/a,i/a);n.push(this.zoomTo(l,t))}return n.push(this.setFocalOffset(0,0,0,t)),Promise.all(n)}setLookAt(e,t,n,s,i,a,l=!1){this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._lastDollyDirection=0,this._changedDolly=0;const r=C.set(s,i,a),o=x.set(e,t,n);this._targetEnd.copy(r),this._sphericalEnd.setFromVector3(o.sub(r).applyQuaternion(this._yAxisUpSpace)),this.normalizeRotations(),this._needsUpdate=!0,l||(this._target.copy(this._targetEnd),this._spherical.copy(this._sphericalEnd));const c=!l||h(this._target.x,this._targetEnd.x,this.restThreshold)&&h(this._target.y,this._targetEnd.y,this.restThreshold)&&h(this._target.z,this._targetEnd.z,this.restThreshold)&&h(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&h(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold)&&h(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(c)}lerpLookAt(e,t,n,s,i,a,l,r,o,c,u,p,d,f=!1){this._isUserControllingRotate=!1,this._isUserControllingDolly=!1,this._isUserControllingTruck=!1,this._lastDollyDirection=0,this._changedDolly=0;const I=x.set(s,i,a),m=C.set(e,t,n);U.setFromVector3(m.sub(I).applyQuaternion(this._yAxisUpSpace));const y=L.set(c,u,p),v=C.set(l,r,o);F.setFromVector3(v.sub(y).applyQuaternion(this._yAxisUpSpace)),this._targetEnd.copy(I.lerp(y,d));const w=F.theta-U.theta,T=F.phi-U.phi,E=F.radius-U.radius;this._sphericalEnd.set(U.radius+E*d,U.phi+T*d,U.theta+w*d),this.normalizeRotations(),this._needsUpdate=!0,f||(this._target.copy(this._targetEnd),this._spherical.copy(this._sphericalEnd));const g=!f||h(this._target.x,this._targetEnd.x,this.restThreshold)&&h(this._target.y,this._targetEnd.y,this.restThreshold)&&h(this._target.z,this._targetEnd.z,this.restThreshold)&&h(this._spherical.theta,this._sphericalEnd.theta,this.restThreshold)&&h(this._spherical.phi,this._sphericalEnd.phi,this.restThreshold)&&h(this._spherical.radius,this._sphericalEnd.radius,this.restThreshold);return this._createOnRestPromise(g)}setPosition(e,t,n,s=!1){return this.setLookAt(e,t,n,this._targetEnd.x,this._targetEnd.y,this._targetEnd.z,s)}setTarget(e,t,n,s=!1){const i=this.getPosition(x),a=this.setLookAt(i.x,i.y,i.z,e,t,n,s);return this._sphericalEnd.phi=u(this._sphericalEnd.phi,this.minPolarAngle,this.maxPolarAngle),a}setFocalOffset(e,t,n,s=!1){this._isUserControllingOffset=!1,this._focalOffsetEnd.set(e,t,n),this._needsUpdate=!0,s||this._focalOffset.copy(this._focalOffsetEnd);const i=!s||h(this._focalOffset.x,this._focalOffsetEnd.x,this.restThreshold)&&h(this._focalOffset.y,this._focalOffsetEnd.y,this.restThreshold)&&h(this._focalOffset.z,this._focalOffsetEnd.z,this.restThreshold);return this._createOnRestPromise(i)}setOrbitPoint(e,t,n){this._camera.updateMatrixWorld(),q.setFromMatrixColumn(this._camera.matrixWorldInverse,0),_.setFromMatrixColumn(this._camera.matrixWorldInverse,1),M.setFromMatrixColumn(this._camera.matrixWorldInverse,2);const s=x.set(e,t,n),i=s.distanceTo(this._camera.position),a=s.sub(this._camera.position);q.multiplyScalar(a.x),_.multiplyScalar(a.y),M.multiplyScalar(a.z),x.copy(q).add(_).add(M),x.z=x.z+i,this.dollyTo(i,!1),this.setFocalOffset(-x.x,x.y,-x.z,!1),this.moveTo(e,t,n,!1)}setBoundary(e){if(!e)return this._boundary.min.set(-1/0,-1/0,-1/0),this._boundary.max.set(1/0,1/0,1/0),void(this._needsUpdate=!0);this._boundary.copy(e),this._boundary.clampPoint(this._targetEnd,this._targetEnd),this._needsUpdate=!0}setViewport(e,t,n,s){null!==e?(this._viewport=this._viewport||new S.Vector4,"number"==typeof e?this._viewport.set(e,t,n,s):this._viewport.copy(e)):this._viewport=null}getDistanceToFitBox(e,t,n,s=!1){if(w(this._camera,"getDistanceToFitBox"))return this._spherical.radius;const i=e/t,a=this._camera.getEffectiveFOV()*c,l=this._camera.aspect;return.5*((s?i>l:it.pointerId===e))}_findPointerByMouseButton(e){return this._activePointers.find((t=>t.mouseButton===e))}_disposePointer(e){this._activePointers.splice(this._activePointers.indexOf(e),1)}_encloseToBoundary(e,t,n){const s=t.lengthSq();if(0===s)return e;const i=C.copy(t).add(e),a=this._boundary.clampPoint(i,L).sub(i),l=a.lengthSq();if(0===l)return e.add(t);if(l===s)return e;if(0===n)return e.add(t).add(a);{const s=1+n*l/t.dot(a);return e.add(C.copy(t).multiplyScalar(s)).add(a.multiplyScalar(1-n))}}_updateNearPlaneCorners(){if(i(this._camera)){const e=this._camera,t=e.near,n=e.getEffectiveFOV()*c,s=Math.tan(.5*n)*t,i=s*e.aspect;this._nearPlaneCorners[0].set(-i,-s,0),this._nearPlaneCorners[1].set(i,-s,0),this._nearPlaneCorners[2].set(i,s,0),this._nearPlaneCorners[3].set(-i,s,0)}else if(a(this._camera)){const e=this._camera,t=1/e.zoom,n=e.left*t,s=e.right*t,i=e.top*t,a=e.bottom*t;this._nearPlaneCorners[0].set(n,i,0),this._nearPlaneCorners[1].set(s,i,0),this._nearPlaneCorners[2].set(s,a,0),this._nearPlaneCorners[3].set(n,a,0)}}_collisionTest(){let e=1/0;if(!(this.colliderMeshes.length>=1))return e;if(w(this._camera,"_collisionTest"))return e;const t=this._getTargetDirection(P);k.lookAt(b,t,this._camera.up);for(let n=0;n<4;n++){const s=C.copy(this._nearPlaneCorners[n]);s.applyMatrix4(k);const i=L.addVectors(this._target,s);Y.set(i,t),Y.far=this._spherical.radius+1;const a=Y.intersectObjects(this.colliderMeshes);0!==a.length&&a[0].distance{const t=()=>{this.removeEventListener("rest",t),e()};this.addEventListener("rest",t)})))}_addAllEventListeners(e){}_removeAllEventListeners(){}get dampingFactor(){return console.warn(".dampingFactor has been deprecated. use smoothTime (in seconds) instead."),0}set dampingFactor(e){console.warn(".dampingFactor has been deprecated. use smoothTime (in seconds) instead.")}get draggingDampingFactor(){return console.warn(".draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead."),0}set draggingDampingFactor(e){console.warn(".draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead.")}static createBoundingSphere(e,t=new S.Sphere){const n=t,s=n.center;G.makeEmpty(),e.traverseVisible((e=>{e.isMesh&&G.expandByObject(e)})),G.getCenter(s);let i=0;return e.traverseVisible((e=>{if(!e.isMesh)return;const t=e,n=t.geometry.clone();n.applyMatrix4(t.matrixWorld);const a=n.attributes.position;for(let e=0,t=a.count;e{"use strict";n.d(t,{I:()=>a});var s=n(1856),i=n(222);class a{constructor(e){let t;this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null,this.text_encoder=new TextEncoder,t=e||1024,this.bb=s.c.allocate(t),this.space=t}clear(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null}forceDefaults(e){this.force_defaults=e}dataBuffer(){return this.bb}asUint8Array(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())}prep(e,t){e>this.minalign&&(this.minalign=e);const n=1+~(this.bb.capacity()-this.space+t)&e-1;for(;this.space=0&&0==this.vtable[t];t--);const n=t+1;for(;t>=0;t--)this.addInt16(0!=this.vtable[t]?e-this.vtable[t]:0);this.addInt16(e-this.object_start);const s=(n+2)*i.LN;this.addInt16(s);let a=0;const l=this.space;e:for(t=0;t=0;t--)this.writeInt8(e.charCodeAt(t))}this.prep(this.minalign,i.Q4+s),this.addOffset(e),s&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,t){this.finish(e,t,!0)}requiredField(e,t){const n=this.bb.capacity()-e,s=n-this.bb.readInt32(n);if(!(t{"use strict";n.d(t,{c:()=>l});var s=n(222),i=n(7176),a=n(7296);class l{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(e){return new l(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,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeInt32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeUint32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeInt64(e,t){this.writeInt32(e,Number(BigInt.asIntN(32,t))),this.writeInt32(e+4,Number(BigInt.asIntN(32,t>>BigInt(32))))}writeUint64(e,t){this.writeUint32(e,Number(BigInt.asUintN(32,t))),this.writeUint32(e+4,Number(BigInt.asUintN(32,t>>BigInt(32))))}writeFloat32(e,t){i.vE[0]=t,this.writeInt32(e,i.LB[0])}writeFloat64(e,t){i.BZ[0]=t,this.writeInt32(e,i.LB[i.r?0:1]),this.writeInt32(e+4,i.LB[i.r?1:0])}getBufferIdentifier(){if(this.bytes_.length{"use strict";n.d(t,{LN:()=>s,Q4:()=>i,XU:()=>l,jL:()=>a});const s=2,i=4,a=4,l=4},7296:(e,t,n)=>{"use strict";var s;n.d(t,{e:()=>s}),function(e){e[e.UTF8_BYTES=1]="UTF8_BYTES",e[e.UTF16_STRING=2]="UTF16_STRING"}(s||(s={}))},76:(e,t,n)=>{"use strict";n.d(t,{Ib:()=>i.I,XU:()=>s.XU,cZ:()=>a.c});var s=n(222),i=(n(7176),n(7296),n(2978)),a=n(1856)},7176:(e,t,n)=>{"use strict";n.d(t,{BZ:()=>a,LB:()=>s,r:()=>l,vE:()=>i});const s=new Int32Array(2),i=new Float32Array(s.buffer),a=new Float64Array(s.buffer),l=1===new Uint16Array(new Uint8Array([1,0]).buffer)[0]},7555:(e,t,n)=>{"use strict";n.d(t,{BII:()=>Hc,FILE_DESCRIPTION:()=>Rm,FILE_NAME:()=>Dm,G0A:()=>po,MNr:()=>io,QHT:()=>Cu,bYJ:()=>lo,ko9:()=>Uc,nRS:()=>jm,qaL:()=>Hf,t8E:()=>pp});var s,i,a,l,r,o=n(9473),c=Object.defineProperty,u=Object.defineProperties,p=Object.getOwnPropertyDescriptors,h=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable,I=(e,t,n)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,m=(e,t)=>{for(var n in t||(t={}))d.call(t,n)&&I(e,n,t[n]);if(h)for(var n of h(t))f.call(t,n)&&I(e,n,t[n]);return e},y=(e,t)=>function(){return t||(0,e[Object.keys(e)[0]])((t={exports:{}}).exports,t),t.exports},v=(e,t,n)=>new Promise(((s,i)=>{var a=e=>{try{r(n.next(e))}catch(e){i(e)}},l=e=>{try{r(n.throw(e))}catch(e){i(e)}},r=e=>e.done?s(e.value):Promise.resolve(e.value).then(a,l);r((n=n.apply(e,t)).next())})),w=y({"dist/web-ifc-mt.js"(e,t){var n,s=(n="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(e={}){function t(){return O.buffer!=q.buffer&&Y(),q}function s(){return O.buffer!=q.buffer&&Y(),_}function i(){return O.buffer!=q.buffer&&Y(),M}function a(){return O.buffer!=q.buffer&&Y(),H}function l(){return O.buffer!=q.buffer&&Y(),B}function r(){return O.buffer!=q.buffer&&Y(),U}function c(){return O.buffer!=q.buffer&&Y(),G}var u,p,h=void 0!==e?e:{};h.ready=new Promise((function(e,t){u=e,p=t}));var d,f,I,m=Object.assign({},h),y="./this.program",v=(e,t)=>{throw t},w="object"==typeof window,T="function"==typeof importScripts,E="object"==typeof o&&"object"==typeof o.versions&&"string"==typeof o.versions.node,g=h.ENVIRONMENT_IS_PTHREAD||!1,R="";function D(e){return h.locateFile?h.locateFile(e,R):R+e}(w||T)&&(T?R=self.location.href:"undefined"!=typeof document&&document.currentScript&&(R=document.currentScript.src),n&&(R=n),R=0!==R.indexOf("blob:")?R.substr(0,R.replace(/[?#].*/,"").lastIndexOf("/")+1):"",d=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},T&&(I=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),f=(e,t,n)=>{var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onload=()=>{200==s.status||0==s.status&&s.response?t(s.response):n()},s.onerror=n,s.send(null)});var S,b=h.print||console.log.bind(console),N=h.printErr||console.warn.bind(console);Object.assign(h,m),m=null,h.arguments&&h.arguments,h.thisProgram&&(y=h.thisProgram),h.quit&&(v=h.quit),h.wasmBinary&&(S=h.wasmBinary);var O,A,x=h.noExitRuntime||!0;"object"!=typeof WebAssembly&&le("no native wasm support detected");var C,L=!1;function P(e,t){e||le(t)}var q,_,M,H,B,U,F,G,V="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function j(e,t,n){for(var s=(t>>>=0)+n,i=t;e[i]&&!(i>=s);)++i;if(i-t>16&&e.buffer&&V)return V.decode(e.buffer instanceof SharedArrayBuffer?e.slice(t,i):e.subarray(t,i));for(var a="";t>10,56320|1023&c)}}else a+=String.fromCharCode((31&l)<<6|r)}else a+=String.fromCharCode(l)}return a}function z(e,t){return(e>>>=0)?j(s(),e,t):""}function W(e,t,n,s){if(!(s>0))return 0;for(var i=n>>>=0,a=n+s-1,l=0;l=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&e.charCodeAt(++l)),r<=127){if(n>=a)break;t[n++>>>0]=r}else if(r<=2047){if(n+1>=a)break;t[n++>>>0]=192|r>>6,t[n++>>>0]=128|63&r}else if(r<=65535){if(n+2>=a)break;t[n++>>>0]=224|r>>12,t[n++>>>0]=128|r>>6&63,t[n++>>>0]=128|63&r}else{if(n+3>=a)break;t[n++>>>0]=240|r>>18,t[n++>>>0]=128|r>>12&63,t[n++>>>0]=128|r>>6&63,t[n++>>>0]=128|63&r}}return t[n>>>0]=0,n-i}function k(e){for(var t=0,n=0;n=55296&&s<=57343?(t+=4,++n):t+=3}return t}function Y(){var e=O.buffer;h.HEAP8=q=new Int8Array(e),h.HEAP16=M=new Int16Array(e),h.HEAP32=B=new Int32Array(e),h.HEAPU8=_=new Uint8Array(e),h.HEAPU16=H=new Uint16Array(e),h.HEAPU32=U=new Uint32Array(e),h.HEAPF32=F=new Float32Array(e),h.HEAPF64=G=new Float64Array(e)}var X,K=h.INITIAL_MEMORY||16777216;if(P(K>=5242880,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+K+"! (STACK_SIZE=5242880)"),g)O=h.wasmMemory;else if(h.wasmMemory)O=h.wasmMemory;else if(!((O=new WebAssembly.Memory({initial:K/65536,maximum:65536,shared:!0})).buffer instanceof SharedArrayBuffer))throw N("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),E&&N("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");Y(),K=O.buffer.byteLength;var Z=[],Q=[],J=[];function $(){return x}function ee(){g||(h.noFSInit||Te.init.initialized||Te.init(),Te.ignorePermissions=!1,ye.init(),Se(Q))}var te=0,ne=null,se=null;function ie(e){te++,h.monitorRunDependencies&&h.monitorRunDependencies(te)}function ae(e){if(te--,h.monitorRunDependencies&&h.monitorRunDependencies(te),0==te&&(null!==ne&&(clearInterval(ne),ne=null),se)){var t=se;se=null,t()}}function le(e){h.onAbort&&h.onAbort(e),N(e="Aborted("+e+")"),L=!0,C=1,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw p(t),t}var re,oe,ce;function ue(e){return e.startsWith("data:application/octet-stream;base64,")}function pe(e){try{if(e==re&&S)return new Uint8Array(S);if(I)return I(e);throw"both async and sync fetching of the wasm failed"}catch(e){le(e)}}function he(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function de(e){var t=De.pthreads[e];P(t),De.returnWorkerToPool(t)}ue(re="web-ifc-mt.wasm")||(re=D(re));var fe={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var n=0,s=e.length-1;s>=0;s--){var i=e[s];"."===i?e.splice(s,1):".."===i?(e.splice(s,1),n++):n&&(e.splice(s,1),n--)}if(t)for(;n;n--)e.unshift("..");return e},normalize:e=>{var t=fe.isAbs(e),n="/"===e.substr(-1);return(e=fe.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=fe.splitPath(e),n=t[0],s=t[1];return n||s?(s&&(s=s.substr(0,s.length-1)),n+s):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=fe.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return fe.normalize(e.join("/"))},join2:(e,t)=>fe.normalize(e+"/"+t)},Ie={resolve:function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var s=n>=0?arguments[n]:Te.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");if(!s)return"";e=s+"/"+e,t=fe.isAbs(s)}return(t?"/":"")+(e=fe.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=Ie.resolve(e).substr(1),t=Ie.resolve(t).substr(1);for(var s=n(e.split("/")),i=n(t.split("/")),a=Math.min(s.length,i.length),l=a,r=0;r0?n:k(e)+1,i=new Array(s),a=W(e,i,0,i.length);return t&&(i.length=a),i}var ye={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){ye.ttys[e]={input:[],output:[],ops:t},Te.registerDevice(e,ye.stream_ops)},stream_ops:{open:function(e){var t=ye.ttys[e.node.rdev];if(!t)throw new Te.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,n,s,i){if(!e.tty||!e.tty.ops.get_char)throw new Te.ErrnoError(60);for(var a=0,l=0;l0&&(b(j(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(N(j(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(N(j(e.output,0)),e.output=[])}}};function ve(e){le()}var we={ops_table:null,mount:function(e){return we.createNode(null,"/",16895,0)},createNode:function(e,t,n,s){if(Te.isBlkdev(n)||Te.isFIFO(n))throw new Te.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:Te.chrdev_stream_ops}});var i=Te.createNode(e,t,n,s);return Te.isDir(i.mode)?(i.node_ops=we.ops_table.dir.node,i.stream_ops=we.ops_table.dir.stream,i.contents={}):Te.isFile(i.mode)?(i.node_ops=we.ops_table.file.node,i.stream_ops=we.ops_table.file.stream,i.usedBytes=0,i.contents=null):Te.isLink(i.mode)?(i.node_ops=we.ops_table.link.node,i.stream_ops=we.ops_table.link.stream):Te.isChrdev(i.mode)&&(i.node_ops=we.ops_table.chrdev.node,i.stream_ops=we.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){t>>>=0;var n=e.contents?e.contents.length:0;if(!(n>=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),0!=n&&(t=Math.max(t,256));var s=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(s.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(t>>>=0,e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=Te.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Te.isDir(e.mode)?t.size=4096:Te.isFile(e.mode)?t.size=e.usedBytes:Te.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&we.resizeFileStorage(e,t.size)},lookup:function(e,t){throw Te.genericErrors[44]},mknod:function(e,t,n,s){return we.createNode(e,t,n,s)},rename:function(e,t,n){if(Te.isDir(e.mode)){var s;try{s=Te.lookupNode(t,n)}catch(e){}if(s)for(var i in s.contents)throw new Te.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=n,t.contents[n]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var n=Te.lookupNode(e,t);for(var s in n.contents)throw new Te.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var n in e.contents)e.contents.hasOwnProperty(n)&&t.push(n);return t},symlink:function(e,t,n){var s=we.createNode(e,t,41471,0);return s.link=n,s},readlink:function(e){if(!Te.isLink(e.mode))throw new Te.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,n,s,i){var a=e.node.contents;if(i>=e.node.usedBytes)return 0;var l=Math.min(e.node.usedBytes-i,s);if(l>8&&a.subarray)t.set(a.subarray(i,i+l),n);else for(var r=0;r0||s+n>>=0,t().set(o,l>>>0)}else r=!1,l=o.byteOffset;return{ptr:l,allocated:r}},msync:function(e,t,n,s,i){return we.stream_ops.write(e,t,0,s,n,!1),0}}},Te={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(e,t={})=>{if(!(e=Ie.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new Te.ErrnoError(32);for(var n=e.split("/").filter((e=>!!e)),s=Te.root,i="/",a=0;a40)throw new Te.ErrnoError(32)}}return{path:i,node:s}},getPath:e=>{for(var t;;){if(Te.isRoot(e)){var n=e.mount.mountpoint;return t?"/"!==n[n.length-1]?n+"/"+t:n+t:n}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:(e,t)=>{for(var n=0,s=0;s>>0)%Te.nameTable.length},hashAddNode:e=>{var t=Te.hashName(e.parent.id,e.name);e.name_next=Te.nameTable[t],Te.nameTable[t]=e},hashRemoveNode:e=>{var t=Te.hashName(e.parent.id,e.name);if(Te.nameTable[t]===e)Te.nameTable[t]=e.name_next;else for(var n=Te.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:(e,t)=>{var n=Te.mayLookup(e);if(n)throw new Te.ErrnoError(n,e);for(var s=Te.hashName(e.id,t),i=Te.nameTable[s];i;i=i.name_next){var a=i.name;if(i.parent.id===e.id&&a===t)return i}return Te.lookup(e,t)},createNode:(e,t,n,s)=>{var i=new Te.FSNode(e,t,n,s);return Te.hashAddNode(i),i},destroyNode:e=>{Te.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var t=Te.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Te.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>Te.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,t)=>{try{return Te.lookupNode(e,t),20}catch(e){}return Te.nodePermissions(e,"wx")},mayDelete:(e,t,n)=>{var s;try{s=Te.lookupNode(e,t)}catch(e){return e.errno}var i=Te.nodePermissions(e,"wx");if(i)return i;if(n){if(!Te.isDir(s.mode))return 54;if(Te.isRoot(s)||Te.getPath(s)===Te.cwd())return 10}else if(Te.isDir(s.mode))return 31;return 0},mayOpen:(e,t)=>e?Te.isLink(e.mode)?32:Te.isDir(e.mode)&&("r"!==Te.flagsToPermissionString(t)||512&t)?31:Te.nodePermissions(e,Te.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,t=Te.MAX_OPEN_FDS)=>{for(var n=e;n<=t;n++)if(!Te.streams[n])return n;throw new Te.ErrnoError(33)},getStream:e=>Te.streams[e],createStream:(e,t,n)=>{Te.FSStream||(Te.FSStream=function(){this.shared={}},Te.FSStream.prototype={},Object.defineProperties(Te.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new Te.FSStream,e);var s=Te.nextfd(t,n);return e.fd=s,Te.streams[s]=e,e},closeStream:e=>{Te.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=Te.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new Te.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{Te.devices[e]={stream_ops:t}},getDevice:e=>Te.devices[e],getMounts:e=>{for(var t=[],n=[e];n.length;){var s=n.pop();t.push(s),n.push.apply(n,s.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),Te.syncFSRequests++,Te.syncFSRequests>1&&N("warning: "+Te.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var n=Te.getMounts(Te.root.mount),s=0;function i(e){return Te.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,i(e));++s>=n.length&&i(null)}n.forEach((t=>{if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)}))},mount:(e,t,n)=>{var s,i="/"===n,a=!n;if(i&&Te.root)throw new Te.ErrnoError(10);if(!i&&!a){var l=Te.lookupPath(n,{follow_mount:!1});if(n=l.path,s=l.node,Te.isMountpoint(s))throw new Te.ErrnoError(10);if(!Te.isDir(s.mode))throw new Te.ErrnoError(54)}var r={type:e,opts:t,mountpoint:n,mounts:[]},o=e.mount(r);return o.mount=r,r.root=o,i?Te.root=o:s&&(s.mounted=r,s.mount&&s.mount.mounts.push(r)),o},unmount:e=>{var t=Te.lookupPath(e,{follow_mount:!1});if(!Te.isMountpoint(t.node))throw new Te.ErrnoError(28);var n=t.node,s=n.mounted,i=Te.getMounts(s);Object.keys(Te.nameTable).forEach((e=>{for(var t=Te.nameTable[e];t;){var n=t.name_next;i.includes(t.mount)&&Te.destroyNode(t),t=n}})),n.mounted=null;var a=n.mount.mounts.indexOf(s);n.mount.mounts.splice(a,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,n)=>{var s=Te.lookupPath(e,{parent:!0}).node,i=fe.basename(e);if(!i||"."===i||".."===i)throw new Te.ErrnoError(28);var a=Te.mayCreate(s,i);if(a)throw new Te.ErrnoError(a);if(!s.node_ops.mknod)throw new Te.ErrnoError(63);return s.node_ops.mknod(s,i,t,n)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Te.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Te.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var n=e.split("/"),s="",i=0;i(void 0===n&&(n=t,t=438),t|=8192,Te.mknod(e,t,n)),symlink:(e,t)=>{if(!Ie.resolve(e))throw new Te.ErrnoError(44);var n=Te.lookupPath(t,{parent:!0}).node;if(!n)throw new Te.ErrnoError(44);var s=fe.basename(t),i=Te.mayCreate(n,s);if(i)throw new Te.ErrnoError(i);if(!n.node_ops.symlink)throw new Te.ErrnoError(63);return n.node_ops.symlink(n,s,e)},rename:(e,t)=>{var n,s,i=fe.dirname(e),a=fe.dirname(t),l=fe.basename(e),r=fe.basename(t);if(n=Te.lookupPath(e,{parent:!0}).node,s=Te.lookupPath(t,{parent:!0}).node,!n||!s)throw new Te.ErrnoError(44);if(n.mount!==s.mount)throw new Te.ErrnoError(75);var o,c=Te.lookupNode(n,l),u=Ie.relative(e,a);if("."!==u.charAt(0))throw new Te.ErrnoError(28);if("."!==(u=Ie.relative(t,i)).charAt(0))throw new Te.ErrnoError(55);try{o=Te.lookupNode(s,r)}catch(e){}if(c!==o){var p=Te.isDir(c.mode),h=Te.mayDelete(n,l,p);if(h)throw new Te.ErrnoError(h);if(h=o?Te.mayDelete(s,r,p):Te.mayCreate(s,r))throw new Te.ErrnoError(h);if(!n.node_ops.rename)throw new Te.ErrnoError(63);if(Te.isMountpoint(c)||o&&Te.isMountpoint(o))throw new Te.ErrnoError(10);if(s!==n&&(h=Te.nodePermissions(n,"w")))throw new Te.ErrnoError(h);Te.hashRemoveNode(c);try{n.node_ops.rename(c,s,r)}catch(e){throw e}finally{Te.hashAddNode(c)}}},rmdir:e=>{var t=Te.lookupPath(e,{parent:!0}).node,n=fe.basename(e),s=Te.lookupNode(t,n),i=Te.mayDelete(t,n,!0);if(i)throw new Te.ErrnoError(i);if(!t.node_ops.rmdir)throw new Te.ErrnoError(63);if(Te.isMountpoint(s))throw new Te.ErrnoError(10);t.node_ops.rmdir(t,n),Te.destroyNode(s)},readdir:e=>{var t=Te.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Te.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=Te.lookupPath(e,{parent:!0}).node;if(!t)throw new Te.ErrnoError(44);var n=fe.basename(e),s=Te.lookupNode(t,n),i=Te.mayDelete(t,n,!1);if(i)throw new Te.ErrnoError(i);if(!t.node_ops.unlink)throw new Te.ErrnoError(63);if(Te.isMountpoint(s))throw new Te.ErrnoError(10);t.node_ops.unlink(t,n),Te.destroyNode(s)},readlink:e=>{var t=Te.lookupPath(e).node;if(!t)throw new Te.ErrnoError(44);if(!t.node_ops.readlink)throw new Te.ErrnoError(28);return Ie.resolve(Te.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var n=Te.lookupPath(e,{follow:!t}).node;if(!n)throw new Te.ErrnoError(44);if(!n.node_ops.getattr)throw new Te.ErrnoError(63);return n.node_ops.getattr(n)},lstat:e=>Te.stat(e,!0),chmod:(e,t,n)=>{var s;if(!(s="string"==typeof e?Te.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);s.node_ops.setattr(s,{mode:4095&t|-4096&s.mode,timestamp:Date.now()})},lchmod:(e,t)=>{Te.chmod(e,t,!0)},fchmod:(e,t)=>{var n=Te.getStream(e);if(!n)throw new Te.ErrnoError(8);Te.chmod(n.node,t)},chown:(e,t,n,s)=>{var i;if(!(i="string"==typeof e?Te.lookupPath(e,{follow:!s}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);i.node_ops.setattr(i,{timestamp:Date.now()})},lchown:(e,t,n)=>{Te.chown(e,t,n,!0)},fchown:(e,t,n)=>{var s=Te.getStream(e);if(!s)throw new Te.ErrnoError(8);Te.chown(s.node,t,n)},truncate:(e,t)=>{if(t<0)throw new Te.ErrnoError(28);var n;if(!(n="string"==typeof e?Te.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);if(Te.isDir(n.mode))throw new Te.ErrnoError(31);if(!Te.isFile(n.mode))throw new Te.ErrnoError(28);var s=Te.nodePermissions(n,"w");if(s)throw new Te.ErrnoError(s);n.node_ops.setattr(n,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var n=Te.getStream(e);if(!n)throw new Te.ErrnoError(8);if(0==(2097155&n.flags))throw new Te.ErrnoError(28);Te.truncate(n.node,t)},utime:(e,t,n)=>{var s=Te.lookupPath(e,{follow:!0}).node;s.node_ops.setattr(s,{timestamp:Math.max(t,n)})},open:(e,t,n)=>{if(""===e)throw new Te.ErrnoError(44);var s;if(n=void 0===n?438:n,n=64&(t="string"==typeof t?Te.modeStringToFlags(t):t)?4095&n|32768:0,"object"==typeof e)s=e;else{e=fe.normalize(e);try{s=Te.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var i=!1;if(64&t)if(s){if(128&t)throw new Te.ErrnoError(20)}else s=Te.mknod(e,n,0),i=!0;if(!s)throw new Te.ErrnoError(44);if(Te.isChrdev(s.mode)&&(t&=-513),65536&t&&!Te.isDir(s.mode))throw new Te.ErrnoError(54);if(!i){var a=Te.mayOpen(s,t);if(a)throw new Te.ErrnoError(a)}512&t&&!i&&Te.truncate(s,0),t&=-131713;var l=Te.createStream({node:s,path:Te.getPath(s),flags:t,seekable:!0,position:0,stream_ops:s.stream_ops,ungotten:[],error:!1});return l.stream_ops.open&&l.stream_ops.open(l),!h.logReadFiles||1&t||(Te.readFiles||(Te.readFiles={}),e in Te.readFiles||(Te.readFiles[e]=1)),l},close:e=>{if(Te.isClosed(e))throw new Te.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Te.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,n)=>{if(Te.isClosed(e))throw new Te.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Te.ErrnoError(70);if(0!=n&&1!=n&&2!=n)throw new Te.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,n),e.ungotten=[],e.position},read:(e,t,n,s,i)=>{if(n>>>=0,s<0||i<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(1==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.read)throw new Te.ErrnoError(28);var a=void 0!==i;if(a){if(!e.seekable)throw new Te.ErrnoError(70)}else i=e.position;var l=e.stream_ops.read(e,t,n,s,i);return a||(e.position+=l),l},write:(e,t,n,s,i,a)=>{if(n>>>=0,s<0||i<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.write)throw new Te.ErrnoError(28);e.seekable&&1024&e.flags&&Te.llseek(e,0,2);var l=void 0!==i;if(l){if(!e.seekable)throw new Te.ErrnoError(70)}else i=e.position;var r=e.stream_ops.write(e,t,n,s,i,a);return l||(e.position+=r),r},allocate:(e,t,n)=>{if(Te.isClosed(e))throw new Te.ErrnoError(8);if(t<0||n<=0)throw new Te.ErrnoError(28);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(!Te.isFile(e.node.mode)&&!Te.isDir(e.node.mode))throw new Te.ErrnoError(43);if(!e.stream_ops.allocate)throw new Te.ErrnoError(138);e.stream_ops.allocate(e,t,n)},mmap:(e,t,n,s,i)=>{if(0!=(2&s)&&0==(2&i)&&2!=(2097155&e.flags))throw new Te.ErrnoError(2);if(1==(2097155&e.flags))throw new Te.ErrnoError(2);if(!e.stream_ops.mmap)throw new Te.ErrnoError(43);return e.stream_ops.mmap(e,t,n,s,i)},msync:(e,t,n,s,i)=>(n>>>=0,e.stream_ops.msync?e.stream_ops.msync(e,t,n,s,i):0),munmap:e=>0,ioctl:(e,t,n)=>{if(!e.stream_ops.ioctl)throw new Te.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile:(e,t={})=>{if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'+t.encoding+'"');var n,s=Te.open(e,t.flags),i=Te.stat(e).size,a=new Uint8Array(i);return Te.read(s,a,0,i,0),"utf8"===t.encoding?n=j(a,0):"binary"===t.encoding&&(n=a),Te.close(s),n},writeFile:(e,t,n={})=>{n.flags=n.flags||577;var s=Te.open(e,n.flags,n.mode);if("string"==typeof t){var i=new Uint8Array(k(t)+1),a=W(t,i,0,i.length);Te.write(s,i,0,a,void 0,n.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Te.write(s,t,0,t.byteLength,void 0,n.canOwn)}Te.close(s)},cwd:()=>Te.currentPath,chdir:e=>{var t=Te.lookupPath(e,{follow:!0});if(null===t.node)throw new Te.ErrnoError(44);if(!Te.isDir(t.node.mode))throw new Te.ErrnoError(54);var n=Te.nodePermissions(t.node,"x");if(n)throw new Te.ErrnoError(n);Te.currentPath=t.path},createDefaultDirectories:()=>{Te.mkdir("/tmp"),Te.mkdir("/home"),Te.mkdir("/home/web_user")},createDefaultDevices:()=>{Te.mkdir("/dev"),Te.registerDevice(Te.makedev(1,3),{read:()=>0,write:(e,t,n,s,i)=>s}),Te.mkdev("/dev/null",Te.makedev(1,3)),ye.register(Te.makedev(5,0),ye.default_tty_ops),ye.register(Te.makedev(6,0),ye.default_tty1_ops),Te.mkdev("/dev/tty",Te.makedev(5,0)),Te.mkdev("/dev/tty1",Te.makedev(6,0));var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}return()=>le("randomDevice")}();Te.createDevice("/dev","random",e),Te.createDevice("/dev","urandom",e),Te.mkdir("/dev/shm"),Te.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{Te.mkdir("/proc");var e=Te.mkdir("/proc/self");Te.mkdir("/proc/self/fd"),Te.mount({mount:()=>{var t=Te.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var n=+t,s=Te.getStream(n);if(!s)throw new Te.ErrnoError(8);var i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>s.path}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{h.stdin?Te.createDevice("/dev","stdin",h.stdin):Te.symlink("/dev/tty","/dev/stdin"),h.stdout?Te.createDevice("/dev","stdout",null,h.stdout):Te.symlink("/dev/tty","/dev/stdout"),h.stderr?Te.createDevice("/dev","stderr",null,h.stderr):Te.symlink("/dev/tty1","/dev/stderr"),Te.open("/dev/stdin",0),Te.open("/dev/stdout",1),Te.open("/dev/stderr",1)},ensureErrnoError:()=>{Te.ErrnoError||(Te.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Te.ErrnoError.prototype=new Error,Te.ErrnoError.prototype.constructor=Te.ErrnoError,[44].forEach((e=>{Te.genericErrors[e]=new Te.ErrnoError(e),Te.genericErrors[e].stack=""})))},staticInit:()=>{Te.ensureErrnoError(),Te.nameTable=new Array(4096),Te.mount(we,{},"/"),Te.createDefaultDirectories(),Te.createDefaultDevices(),Te.createSpecialDirectories(),Te.filesystems={MEMFS:we}},init:(e,t,n)=>{Te.init.initialized=!0,Te.ensureErrnoError(),h.stdin=e||h.stdin,h.stdout=t||h.stdout,h.stderr=n||h.stderr,Te.createStandardStreams()},quit:()=>{Te.init.initialized=!1;for(var e=0;e{var n=0;return e&&(n|=365),t&&(n|=146),n},findObject:(e,t)=>{var n=Te.analyzePath(e,t);return n.exists?n.object:null},analyzePath:(e,t)=>{try{e=(s=Te.lookupPath(e,{follow:!t})).path}catch(e){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var s=Te.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=s.path,n.parentObject=s.node,n.name=fe.basename(e),s=Te.lookupPath(e,{follow:!t}),n.exists=!0,n.path=s.path,n.object=s.node,n.name=s.node.name,n.isRoot="/"===s.path}catch(e){n.error=e.errno}return n},createPath:(e,t,n,s)=>{e="string"==typeof e?e:Te.getPath(e);for(var i=t.split("/").reverse();i.length;){var a=i.pop();if(a){var l=fe.join2(e,a);try{Te.mkdir(l)}catch(e){}e=l}}return l},createFile:(e,t,n,s,i)=>{var a=fe.join2("string"==typeof e?e:Te.getPath(e),t),l=Te.getMode(s,i);return Te.create(a,l)},createDataFile:(e,t,n,s,i,a)=>{var l=t;e&&(e="string"==typeof e?e:Te.getPath(e),l=t?fe.join2(e,t):e);var r=Te.getMode(s,i),o=Te.create(l,r);if(n){if("string"==typeof n){for(var c=new Array(n.length),u=0,p=n.length;u{var i=fe.join2("string"==typeof e?e:Te.getPath(e),t),a=Te.getMode(!!n,!!s);Te.createDevice.major||(Te.createDevice.major=64);var l=Te.makedev(Te.createDevice.major++,0);return Te.registerDevice(l,{open:e=>{e.seekable=!1},close:e=>{s&&s.buffer&&s.buffer.length&&s(10)},read:(e,t,s,i,a)=>{for(var l=0,r=0;r{for(var l=0;l{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!d)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=me(d(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new Te.ErrnoError(29)}},createLazyFile:(e,n,s,i,a)=>{function l(){this.lengthKnown=!1,this.chunks=[]}if(l.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}},l.prototype.setDataGetter=function(e){this.getter=e},l.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",s,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+s+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,a=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,l=1048576;i||(l=n);var r=this;r.setDataGetter((e=>{var t=e*l,i=(e+1)*l-1;if(i=Math.min(i,n-1),void 0===r.chunks[e]&&(r.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",s,!1),n!==l&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+s+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):me(i.responseText||"",!0)})(t,i)),void 0===r.chunks[e])throw new Error("doXHR failed!");return r.chunks[e]})),!a&&n||(l=n=1,n=this.getter(0).length,l=n,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=l,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!T)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var r=new l;Object.defineProperties(r,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var o={isDevice:!1,contents:r}}else o={isDevice:!1,url:s};var c=Te.createFile(e,n,o,i,a);o.contents?c.contents=o.contents:o.url&&(c.contents=null,c.url=o.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var u={};function p(e,t,n,s,i){var a=e.node.contents;if(i>=a.length)return 0;var l=Math.min(a.length-i,s);if(a.slice)for(var r=0;r{var t=c.stream_ops[e];u[e]=function(){return Te.forceLoadFile(c),t.apply(null,arguments)}})),u.read=(e,t,n,s,i)=>(Te.forceLoadFile(c),p(e,t,n,s,i)),u.mmap=(e,n,s,i,a)=>{Te.forceLoadFile(c);var l=ve();if(!l)throw new Te.ErrnoError(48);return p(e,t(),l,n,s),{ptr:l,allocated:!0}},c.stream_ops=u,c},createPreloadedFile:(e,t,n,s,i,a,l,r,o,c)=>{var u=t?Ie.resolve(fe.join2(e,t)):e;function p(n){function p(n){c&&c(),r||Te.createDataFile(e,t,n,s,i,o),a&&a(),ae()}Browser.handledByPreloadPlugin(n,u,p,(()=>{l&&l(),ae()}))||p(n)}ie(),"string"==typeof n?function(e,t,n,s){var i="al "+e;f(e,(t=>{P(t,'Loading data file "'+e+'" failed (no arrayBuffer).'),p(new Uint8Array(t)),i&&ae()}),(t=>{if(!n)throw'Loading data file "'+e+'" failed.';n()})),i&&ie()}(n,0,l):p(n)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,t=(()=>{}),n=(()=>{}))=>{var s=Te.indexedDB();try{var i=s.open(Te.DB_NAME(),Te.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=()=>{b("creating db"),i.result.createObjectStore(Te.DB_STORE_NAME)},i.onsuccess=()=>{var s=i.result.transaction([Te.DB_STORE_NAME],"readwrite"),a=s.objectStore(Te.DB_STORE_NAME),l=0,r=0,o=e.length;function c(){0==r?t():n()}e.forEach((e=>{var t=a.put(Te.analyzePath(e).object.contents,e);t.onsuccess=()=>{++l+r==o&&c()},t.onerror=()=>{r++,l+r==o&&c()}})),s.onerror=n},i.onerror=n},loadFilesFromDB:(e,t=(()=>{}),n=(()=>{}))=>{var s=Te.indexedDB();try{var i=s.open(Te.DB_NAME(),Te.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=n,i.onsuccess=()=>{var s=i.result;try{var a=s.transaction([Te.DB_STORE_NAME],"readonly")}catch(e){return void n(e)}var l=a.objectStore(Te.DB_STORE_NAME),r=0,o=0,c=e.length;function u(){0==o?t():n()}e.forEach((e=>{var t=l.get(e);t.onsuccess=()=>{Te.analyzePath(e).exists&&Te.unlink(e),Te.createDataFile(fe.dirname(e),fe.basename(e),t.result,!0,!0,!0),++r+o==c&&u()},t.onerror=()=>{o++,r+o==c&&u()}})),a.onerror=n},i.onerror=n}},Ee={DEFAULT_POLLMASK:5,calculateAt:function(e,t,n){if(fe.isAbs(t))return t;var s;if(s=-100===e?Te.cwd():Ee.getStreamFromFD(e).path,0==t.length){if(!n)throw new Te.ErrnoError(44);return s}return fe.join2(s,t)},doStat:function(e,t,n){try{var s=e(t)}catch(e){if(e&&e.node&&fe.normalize(t)!==fe.normalize(Te.getPath(e.node)))return-54;throw e}l()[n>>>2]=s.dev,l()[n+8>>>2]=s.ino,l()[n+12>>>2]=s.mode,r()[n+16>>>2]=s.nlink,l()[n+20>>>2]=s.uid,l()[n+24>>>2]=s.gid,l()[n+28>>>2]=s.rdev,ce=[s.size>>>0,(oe=s.size,+Math.abs(oe)>=1?oe>0?(0|Math.min(+Math.floor(oe/4294967296),4294967295))>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],l()[n+40>>>2]=ce[0],l()[n+44>>>2]=ce[1],l()[n+48>>>2]=4096,l()[n+52>>>2]=s.blocks;var i=s.atime.getTime(),a=s.mtime.getTime(),o=s.ctime.getTime();return ce=[Math.floor(i/1e3)>>>0,(oe=Math.floor(i/1e3),+Math.abs(oe)>=1?oe>0?(0|Math.min(+Math.floor(oe/4294967296),4294967295))>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],l()[n+56>>>2]=ce[0],l()[n+60>>>2]=ce[1],r()[n+64>>>2]=i%1e3*1e3,ce=[Math.floor(a/1e3)>>>0,(oe=Math.floor(a/1e3),+Math.abs(oe)>=1?oe>0?(0|Math.min(+Math.floor(oe/4294967296),4294967295))>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],l()[n+72>>>2]=ce[0],l()[n+76>>>2]=ce[1],r()[n+80>>>2]=a%1e3*1e3,ce=[Math.floor(o/1e3)>>>0,(oe=Math.floor(o/1e3),+Math.abs(oe)>=1?oe>0?(0|Math.min(+Math.floor(oe/4294967296),4294967295))>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],l()[n+88>>>2]=ce[0],l()[n+92>>>2]=ce[1],r()[n+96>>>2]=o%1e3*1e3,ce=[s.ino>>>0,(oe=s.ino,+Math.abs(oe)>=1?oe>0?(0|Math.min(+Math.floor(oe/4294967296),4294967295))>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],l()[n+104>>>2]=ce[0],l()[n+108>>>2]=ce[1],0},doMsync:function(e,t,n,i,a){if(!Te.isFile(t.node.mode))throw new Te.ErrnoError(43);if(2&i)return 0;e>>>=0;var l=s().slice(e,e+n);Te.msync(t,l,a,n,i)},varargs:void 0,get:function(){return Ee.varargs+=4,l()[Ee.varargs-4>>>2]},getStr:function(e){return z(e)},getStreamFromFD:function(e){var t=Te.getStream(e);if(!t)throw new Te.ErrnoError(8);return t}};function ge(e){if(g)return Xt(1,1,e);C=e,$()||(De.terminateAllThreads(),h.onExit&&h.onExit(e),L=!0),v(e,new he(e))}var Re=function(e,t){if(C=e,!t&&g)throw be(e),"unwind";ge(e)},De={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){g?De.initWorker():De.initMainThread()},initMainThread:function(){for(var e=navigator.hardwareConcurrency;e--;)De.allocateUnusedWorker()},initWorker:function(){x=!1},setExitStatus:function(e){C=e},terminateAllThreads:function(){for(var e of Object.values(De.pthreads))De.returnWorkerToPool(e);for(var e of De.unusedWorkers)e.terminate();De.unusedWorkers=[]},returnWorkerToPool:function(e){var t=e.pthread_ptr;delete De.pthreads[t],De.unusedWorkers.push(e),De.runningWorkers.splice(De.runningWorkers.indexOf(e),1),e.pthread_ptr=0,wn(t)},receiveObjectTransfer:function(e){},threadInitTLS:function(){De.tlsInitFunctions.forEach((e=>e()))},loadWasmModuleToWorker:e=>new Promise((t=>{e.onmessage=n=>{var s,i=n.data,a=i.cmd;if(e.pthread_ptr&&(De.currentProxiedOperationCallerThread=e.pthread_ptr),i.targetThread&&i.targetThread!=fn()){var l=De.pthreads[i.targetThread];return l?l.postMessage(i,i.transferList):N('Internal error! Worker sent a message "'+a+'" to target pthread '+i.targetThread+", but that thread no longer exists!"),void(De.currentProxiedOperationCallerThread=void 0)}"processProxyingQueue"===a?Vt(i.queue):"spawnThread"===a?function(e){var t=De.getNewWorker();if(!t)return 6;De.runningWorkers.push(t),De.pthreads[e.pthread_ptr]=t,t.pthread_ptr=e.pthread_ptr;var n={cmd:"run",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};t.postMessage(n,e.transferList)}(i):"cleanupThread"===a?de(i.thread):"killThread"===a?function(e){var t=De.pthreads[e];delete De.pthreads[e],t.terminate(),wn(e),De.runningWorkers.splice(De.runningWorkers.indexOf(t),1),t.pthread_ptr=0}(i.thread):"cancelThread"===a?(s=i.thread,De.pthreads[s].postMessage({cmd:"cancel"})):"loaded"===a?(e.loaded=!0,t(e)):"print"===a?b("Thread "+i.threadId+": "+i.text):"printErr"===a?N("Thread "+i.threadId+": "+i.text):"alert"===a?alert("Thread "+i.threadId+": "+i.text):"setimmediate"===i.target?e.postMessage(i):"callHandler"===a?h[i.handler](...i.args):a&&N("worker sent an unknown command "+a),De.currentProxiedOperationCallerThread=void 0},e.onerror=e=>{throw N("worker sent an error! "+e.filename+":"+e.lineno+": "+e.message),e};var s=[];for(var i of["onExit","onAbort","print","printErr"])h.hasOwnProperty(i)&&s.push(i);e.postMessage({cmd:"load",handlers:s,urlOrBlob:h.mainScriptUrlOrBlob||n,wasmMemory:O,wasmModule:A})})),loadWasmModuleToAllWorkers:function(e){if(g)return e();Promise.all(De.unusedWorkers.map(De.loadWasmModuleToWorker)).then(e)},allocateUnusedWorker:function(){var e,t=D("web-ifc-mt.worker.js");e=new Worker(t),De.unusedWorkers.push(e)},getNewWorker:function(){return 0==De.unusedWorkers.length&&(De.allocateUnusedWorker(),De.loadWasmModuleToWorker(De.unusedWorkers[0])),De.unusedWorkers.pop()}};function Se(e){for(;e.length>0;)e.shift()(h)}function be(e){if(g)return Xt(2,0,e);try{Re(e)}catch(e){!function(e){if(e instanceof he||"unwind"==e)return C;v(1,e)}(e)}}h.PThread=De,h.establishStackSpace=function(){var e=fn(),t=l()[e+52>>>2],n=l()[e+56>>>2];gn(t,t-n),Dn(t)};var Ne=[];function Oe(e){var t=Ne[e];return t||(e>=Ne.length&&(Ne.length=e+1),Ne[e]=t=X.get(e)),t}function Ae(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){r()[this.ptr+4>>>2]=e},this.get_type=function(){return r()[this.ptr+4>>>2]},this.set_destructor=function(e){r()[this.ptr+8>>>2]=e},this.get_destructor=function(){return r()[this.ptr+8>>>2]},this.set_refcount=function(e){l()[this.ptr>>>2]=e},this.set_caught=function(e){e=e?1:0,t()[this.ptr+12>>>0]=e},this.get_caught=function(){return 0!=t()[this.ptr+12>>>0]},this.set_rethrown=function(e){e=e?1:0,t()[this.ptr+13>>>0]=e},this.get_rethrown=function(){return 0!=t()[this.ptr+13>>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){Atomics.add(l(),this.ptr+0>>2,1)},this.release_ref=function(){return 1===Atomics.sub(l(),this.ptr+0>>2,1)},this.set_adjusted_ptr=function(e){r()[this.ptr+16>>>2]=e},this.get_adjusted_ptr=function(){return r()[this.ptr+16>>>2]},this.get_exception_ptr=function(){if(bn(this.get_type()))return r()[this.excPtr>>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}h.invokeEntryPoint=function(e,t){var n=Oe(e)(t);$()?De.setExitStatus(n):Tn(n)};var xe="To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking",Ce={};function Le(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function Pe(e){return this.fromWireType(l()[e>>>2])}var qe={},_e={},Me={},He=48,Be=57;function Ue(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=He&&t<=Be?"_"+e:e}function Fe(e,t){return e=Ue(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function Ge(e,t){var n=Fe(t,(function(e){this.name=t,this.message=e;var n=new Error(e).stack;void 0!==n&&(this.stack=this.toString()+"\n"+n.replace(/^Error(:[^\n]*)?\n/,""))}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var Ve=void 0;function je(e){throw new Ve(e)}function ze(e,t,n){function s(t){var s=n(t);s.length!==e.length&&je("Mismatched type converter count");for(var i=0;i{_e.hasOwnProperty(e)?i[t]=_e[e]:(a.push(e),qe.hasOwnProperty(e)||(qe[e]=[]),qe[e].push((()=>{i[t]=_e[e],++l===a.length&&s(i)})))})),0===a.length&&s(i)}var We={};function ke(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}var Ye=void 0;function Xe(e){for(var t="",n=e;s()[n>>>0];)t+=Ye[s()[n++>>>0]];return t}var Ke=void 0;function Ze(e){throw new Ke(e)}function Qe(e,t,n={}){if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var s=t.name;if(e||Ze('type "'+s+'" must have a positive integer typeid pointer'),_e.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;Ze("Cannot register type '"+s+"' twice")}if(_e[e]=t,delete Me[e],qe.hasOwnProperty(e)){var i=qe[e];delete qe[e],i.forEach((e=>e()))}}function Je(e){Ze(e.$$.ptrType.registeredClass.name+" instance already deleted")}var $e=!1;function et(e){}function tt(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function nt(e,t,n){if(t===n)return e;if(void 0===n.baseClass)return null;var s=nt(e,t,n.baseClass);return null===s?null:n.downcast(s)}var st={};var it=[];function at(){for(;it.length;){var e=it.pop();e.$$.deleteScheduled=!1,e.delete()}}var lt=void 0;var rt={};function ot(e,t){return t.ptrType&&t.ptr||je("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&je("Both smartPtrType and smartPtr must be specified"),t.count={value:1},ct(Object.create(e,{$$:{value:t}}))}function ct(e){return"undefined"==typeof FinalizationRegistry?(ct=e=>e,e):($e=new FinalizationRegistry((e=>{tt(e.$$)})),et=e=>$e.unregister(e),(ct=e=>{var t=e.$$;if(t.smartPtr){var n={$$:t};$e.register(e,n,e)}return e})(e))}function ut(){}function pt(e,t,n){if(void 0===e[t].overloadTable){var s=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Ze("Function '"+n+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[s.argCount]=s}}function ht(e,t,n){h.hasOwnProperty(e)?((void 0===n||void 0!==h[e].overloadTable&&void 0!==h[e].overloadTable[n])&&Ze("Cannot register public name '"+e+"' twice"),pt(h,e,e),h.hasOwnProperty(n)&&Ze("Cannot register multiple overloads of a function with the same number of arguments ("+n+")!"),h[e].overloadTable[n]=t):(h[e]=t,void 0!==n&&(h[e].numArguments=n))}function dt(e,t,n,s,i,a,l,r){this.name=e,this.constructor=t,this.instancePrototype=n,this.rawDestructor=s,this.baseClass=i,this.getActualType=a,this.upcast=l,this.downcast=r,this.pureVirtualFunctions=[]}function ft(e,t,n){for(;t!==n;)t.upcast||Ze("Expected null or instance of "+n.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function It(e,t){if(null===t)return this.isReference&&Ze("null is not a valid "+this.name),0;t.$$||Ze('Cannot pass "'+Lt(t)+'" as a '+this.name),t.$$.ptr||Ze("Cannot pass deleted object as a pointer of type "+this.name);var n=t.$$.ptrType.registeredClass;return ft(t.$$.ptr,n,this.registeredClass)}function mt(e,t){var n;if(null===t)return this.isReference&&Ze("null is not a valid "+this.name),this.isSmartPointer?(n=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,n),n):0;t.$$||Ze('Cannot pass "'+Lt(t)+'" as a '+this.name),t.$$.ptr||Ze("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&Ze("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var s=t.$$.ptrType.registeredClass;if(n=ft(t.$$.ptr,s,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Ze("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?n=t.$$.smartPtr:Ze("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:n=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)n=t.$$.smartPtr;else{var i=t.clone();n=this.rawShare(n,At.toHandle((function(){i.delete()}))),null!==e&&e.push(this.rawDestructor,n)}break;default:Ze("Unsupporting sharing policy")}return n}function yt(e,t){if(null===t)return this.isReference&&Ze("null is not a valid "+this.name),0;t.$$||Ze('Cannot pass "'+Lt(t)+'" as a '+this.name),t.$$.ptr||Ze("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&Ze("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var n=t.$$.ptrType.registeredClass;return ft(t.$$.ptr,n,this.registeredClass)}function vt(e,t,n,s,i,a,l,r,o,c,u){this.name=e,this.registeredClass=t,this.isReference=n,this.isConst=s,this.isSmartPointer=i,this.pointeeType=a,this.sharingPolicy=l,this.rawGetPointee=r,this.rawConstructor=o,this.rawShare=c,this.rawDestructor=u,i||void 0!==t.baseClass?this.toWireType=mt:s?(this.toWireType=It,this.destructorFunction=null):(this.toWireType=yt,this.destructorFunction=null)}function wt(e,t,n){h.hasOwnProperty(e)||je("Replacing nonexistant public symbol"),void 0!==h[e].overloadTable&&void 0!==n?h[e].overloadTable[n]=t:(h[e]=t,h[e].argCount=n)}function Tt(e,t){var n,s,i,a=(e=Xe(e)).includes("j")?(n=e,s=t,i=[],function(){return i.length=0,Object.assign(i,arguments),function(e,t,n){return e.includes("j")?function(e,t,n){var s=h["dynCall_"+e];return n&&n.length?s.apply(null,[t].concat(n)):s.call(null,t)}(e,t,n):Oe(t).apply(null,n)}(n,s,i)}):Oe(t);return"function"!=typeof a&&Ze("unknown function pointer with signature "+e+": "+t),a}var Et=void 0;function gt(e){var t=In(e),n=Xe(t);return En(t),n}function Rt(e,t){var n=[],s={};throw t.forEach((function e(t){s[t]||_e[t]||(Me[t]?Me[t].forEach(e):(n.push(t),s[t]=!0))})),new Et(e+": "+n.map(gt).join([", "]))}function Dt(e,t){for(var n=[],s=0;s>>2]);return n}function St(e,t,n,s,i){var a=t.length;a<2&&Ze("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var l=null!==t[1]&&null!==n,r=!1,o=1;o0?", ":"")+p),h+=(c?"var rv = ":"")+"invoker(fn"+(p.length>0?", ":"")+p+");\n",r)h+="runDestructors(destructors);\n";else for(o=l?1:2;o4&&0==--Nt[e].refcount&&(Nt[e]=void 0,bt.push(e))}var At={toValue:e=>(e||Ze("Cannot use deleted val. handle = "+e),Nt[e].value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=bt.length?bt.pop():Nt.length;return Nt[t]={refcount:1,value:e},t}}};function xt(e,n,o){switch(n){case 0:return function(e){var n=o?t():s();return this.fromWireType(n[e>>>0])};case 1:return function(e){var t=o?i():a();return this.fromWireType(t[e>>>1])};case 2:return function(e){var t=o?l():r();return this.fromWireType(t[e>>>2])};default:throw new TypeError("Unknown integer type: "+e)}}function Ct(e,t){var n=_e[e];return void 0===n&&Ze(t+" has unknown type "+gt(e)),n}function Lt(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function Pt(e,t){switch(t){case 2:return function(e){return this.fromWireType((O.buffer!=q.buffer&&Y(),F)[e>>>2])};case 3:return function(e){return this.fromWireType(c()[e>>>3])};default:throw new TypeError("Unknown float type: "+e)}}function qt(e,n,o){switch(n){case 0:return o?function(e){return t()[e>>>0]}:function(e){return s()[e>>>0]};case 1:return o?function(e){return i()[e>>>1]}:function(e){return a()[e>>>1]};case 2:return o?function(e){return l()[e>>>2]}:function(e){return r()[e>>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var _t="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Mt(e,t){for(var n=e,l=n>>1,r=l+t/2;!(l>=r)&&a()[l>>>0];)++l;if((n=l<<1)-e>32&&_t)return _t.decode(s().slice(e,n));for(var o="",c=0;!(c>=t/2);++c){var u=i()[e+2*c>>>1];if(0==u)break;o+=String.fromCharCode(u)}return o}function Ht(e,t,n){if(void 0===n&&(n=2147483647),n<2)return 0;for(var s=t,a=(n-=2)<2*e.length?n/2:e.length,l=0;l>>1]=r,t+=2}return i()[t>>>1]=0,t-s}function Bt(e){return 2*e.length}function Ut(e,t){for(var n=0,s="";!(n>=t/4);){var i=l()[e+4*n>>>2];if(0==i)break;if(++n,i>=65536){var a=i-65536;s+=String.fromCharCode(55296|a>>10,56320|1023&a)}else s+=String.fromCharCode(i)}return s}function Ft(e,t,n){if(void 0===n&&(n=2147483647),n<4)return 0;for(var s=t>>>=0,i=s+n-4,a=0;a=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&e.charCodeAt(++a)),l()[t>>>2]=r,(t+=4)+4>i)break}return l()[t>>>2]=0,t-s}function Gt(e){for(var t=0,n=0;n=55296&&s<=57343&&++n,t+=4}return t}function Vt(e){Atomics.store(l(),e>>2,1),fn()&&vn(e),Atomics.compareExchange(l(),e>>2,1,0)}h.executeNotifiedProxyingQueue=Vt;var jt,zt={};function Wt(e){var t=zt[e];return void 0===t?Xe(e):t}function kt(){return"object"==typeof globalThis?globalThis:Function("return this")()}function Yt(e){Yt.shown||(Yt.shown={}),Yt.shown[e]||(Yt.shown[e]=1,N(e))}function Xt(e,t){var n,s,i,a=arguments.length-2,l=arguments;return n=()=>{for(var n=a,s=Sn(8*n),i=s>>3,r=0;r>>0]=o}return yn(e,n,s,t)},s=Rn(),i=n(),Dn(s),i}jt=()=>performance.timeOrigin+performance.now();var Kt=[];function Zt(e){var t=O.buffer;try{return O.grow(e-t.byteLength+65535>>>16),Y(),1}catch(e){}}var Qt={};function Jt(){if(!Jt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:y||"./this.program"};for(var t in Qt)void 0===Qt[t]?delete e[t]:e[t]=Qt[t];var n=[];for(var t in e)n.push(t+"="+e[t]);Jt.strings=n}return Jt.strings}function $t(e,n){if(g)return Xt(3,1,e,n);var s=0;return Jt().forEach((function(i,a){var l=n+s;r()[e+4*a>>>2]=l,function(e,n,s){for(var i=0;i>>0]=e.charCodeAt(i);t()[n>>>0]=0}(i,l),s+=i.length+1})),0}function en(e,t){if(g)return Xt(4,1,e,t);var n=Jt();r()[e>>>2]=n.length;var s=0;return n.forEach((function(e){s+=e.length+1})),r()[t>>>2]=s,0}function tn(e){if(g)return Xt(5,1,e);try{var t=Ee.getStreamFromFD(e);return Te.close(t),0}catch(e){if(void 0===Te||!(e instanceof Te.ErrnoError))throw e;return e.errno}}function nn(e,n,s,i){if(g)return Xt(6,1,e,n,s,i);try{var a=function(e,n,s,i){for(var a=0,l=0;l>>2],c=r()[n+4>>>2];n+=8;var u=Te.read(e,t(),o,c,i);if(u<0)return-1;if(a+=u,u>>2]=a,0}catch(e){if(void 0===Te||!(e instanceof Te.ErrnoError))throw e;return e.errno}}function sn(e,t,n,s,i){if(g)return Xt(7,1,e,t,n,s,i);try{var a=(c=n)+2097152>>>0<4194305-!!(o=t)?(o>>>0)+4294967296*c:NaN;if(isNaN(a))return 61;var r=Ee.getStreamFromFD(e);return Te.llseek(r,a,s),ce=[r.position>>>0,(oe=r.position,+Math.abs(oe)>=1?oe>0?(0|Math.min(+Math.floor(oe/4294967296),4294967295))>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],l()[i>>>2]=ce[0],l()[i+4>>>2]=ce[1],r.getdents&&0===a&&0===s&&(r.getdents=null),0}catch(e){if(void 0===Te||!(e instanceof Te.ErrnoError))throw e;return e.errno}var o,c}function an(e,n,s,i){if(g)return Xt(8,1,e,n,s,i);try{var a=function(e,n,s,i){for(var a=0,l=0;l>>2],c=r()[n+4>>>2];n+=8;var u=Te.write(e,t(),o,c,i);if(u<0)return-1;a+=u,void 0!==i&&(i+=u)}return a}(Ee.getStreamFromFD(e),n,s);return r()[i>>>2]=a,0}catch(e){if(void 0===Te||!(e instanceof Te.ErrnoError))throw e;return e.errno}}function ln(e){return e%4==0&&(e%100!=0||e%400==0)}var rn=[31,29,31,30,31,30,31,31,30,31,30,31],on=[31,28,31,30,31,30,31,31,30,31,30,31];De.init();var cn=function(e,t,n,s){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Te.nextInode++,this.name=t,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=s};Object.defineProperties(cn.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return Te.isDir(this.mode)}},isDevice:{get:function(){return Te.isChrdev(this.mode)}}}),Te.FSNode=cn,Te.staticInit(),Ve=h.InternalError=Ge(Error,"InternalError"),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Ye=e}(),Ke=h.BindingError=Ge(Error,"BindingError"),ut.prototype.isAliasOf=function(e){if(!(this instanceof ut))return!1;if(!(e instanceof ut))return!1;for(var t=this.$$.ptrType.registeredClass,n=this.$$.ptr,s=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)n=t.upcast(n),t=t.baseClass;for(;s.baseClass;)i=s.upcast(i),s=s.baseClass;return t===s&&n===i},ut.prototype.clone=function(){if(this.$$.ptr||Je(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=ct(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},ut.prototype.delete=function(){this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ze("Object already scheduled for deletion"),et(this),tt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},ut.prototype.isDeleted=function(){return!this.$$.ptr},ut.prototype.deleteLater=function(){return this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ze("Object already scheduled for deletion"),it.push(this),1===it.length&<&<(at),this.$$.deleteScheduled=!0,this},h.getInheritedInstanceCount=function(){return Object.keys(rt).length},h.getLiveInheritedInstances=function(){var e=[];for(var t in rt)rt.hasOwnProperty(t)&&e.push(rt[t]);return e},h.flushPendingDeletes=at,h.setDelayFunction=function(e){lt=e,it.length&<&<(at)},vt.prototype.getPointee=function(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},vt.prototype.destructor=function(e){this.rawDestructor&&this.rawDestructor(e)},vt.prototype.argPackAdvance=8,vt.prototype.readValueFromPointer=Pe,vt.prototype.deleteObject=function(e){null!==e&&e.delete()},vt.prototype.fromWireType=function(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var n=function(e,t){return t=function(e,t){for(void 0===t&&Ze("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),rt[t]}(this.registeredClass,t);if(void 0!==n){if(0===n.$$.count.value)return n.$$.ptr=t,n.$$.smartPtr=e,n.clone();var s=n.clone();return this.destructor(e),s}function i(){return this.isSmartPointer?ot(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):ot(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,l=this.registeredClass.getActualType(t),r=st[l];if(!r)return i.call(this);a=this.isConst?r.constPointerType:r.pointerType;var o=nt(t,this.registeredClass,a.registeredClass);return null===o?i.call(this):this.isSmartPointer?ot(a.registeredClass.instancePrototype,{ptrType:a,ptr:o,smartPtrType:this,smartPtr:e}):ot(a.registeredClass.instancePrototype,{ptrType:a,ptr:o})},Et=h.UnboundTypeError=Ge(Error,"UnboundTypeError"),h.count_emval_handles=function(){for(var e=0,t=5;t{var i=e[n],a=t.getter,l=t.getterContext,r=e[n+s],o=t.setter,c=t.setterContext;t.read=e=>i.fromWireType(a(l,e)),t.write=(e,t)=>{var n=[];o(c,e,r.toWireType(n,t)),Le(n)}})),[{name:t.name,fromWireType:function(e){for(var t=new Array(s),i=0;i>>o])},destructorFunction:null})},q:function(e,t,n,s,i,a,l,r,o,c,u,p,h){u=Xe(u),a=Tt(i,a),r&&(r=Tt(l,r)),c&&(c=Tt(o,c)),h=Tt(p,h);var d=Ue(u);ht(d,(function(){Rt("Cannot construct "+u+" due to unbound types",[s])})),ze([e,t,n],s?[s]:[],(function(t){var n,i;t=t[0],i=s?(n=t.registeredClass).instancePrototype:ut.prototype;var l=Fe(d,(function(){if(Object.getPrototypeOf(this)!==o)throw new Ke("Use 'new' to construct "+u);if(void 0===p.constructor_body)throw new Ke(u+" has no accessible constructor");var e=p.constructor_body[arguments.length];if(void 0===e)throw new Ke("Tried to invoke ctor of "+u+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(p.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),o=Object.create(i,{constructor:{value:l}});l.prototype=o;var p=new dt(u,l,o,h,n,a,r,c),f=new vt(u,p,!0,!1,!1),I=new vt(u+"*",p,!1,!1,!1),m=new vt(u+" const*",p,!1,!0,!1);return st[e]={pointerType:I,constPointerType:m},wt(d,l),[f,I,m]}))},p:function(e,t,n,s,i,a){P(t>0);var l=Dt(t,n);i=Tt(s,i),ze([],[e],(function(e){var n="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Ke("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=()=>{Rt("Cannot construct "+e.name+" due to unbound types",l)},ze([],l,(function(s){return s.splice(1,0,null),e.registeredClass.constructor_body[t-1]=St(n,s,null,i,a),[]})),[]}))},c:function(e,t,n,s,i,a,l,r){var o=Dt(n,s);t=Xe(t),a=Tt(i,a),ze([],[e],(function(e){var s=(e=e[0]).name+"."+t;function i(){Rt("Cannot call "+s+" due to unbound types",o)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),r&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,u=c[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===n-2?(i.argCount=n-2,i.className=e.name,c[t]=i):(pt(c,t,s),c[t].overloadTable[n-2]=i),ze([],o,(function(i){var r=St(s,i,e,a,l);return void 0===c[t].overloadTable?(r.argCount=n-2,c[t]=r):c[t].overloadTable[n-2]=r,[]})),[]}))},ba:function(e,t){Qe(e,{name:t=Xe(t),fromWireType:function(e){var t=At.toValue(e);return Ot(e),t},toWireType:function(e,t){return At.toHandle(t)},argPackAdvance:8,readValueFromPointer:Pe,destructorFunction:null})},E:function(e,t,n,s){var i=ke(n);function a(){}t=Xe(t),a.values={},Qe(e,{name:t,constructor:a,fromWireType:function(e){return this.constructor.values[e]},toWireType:function(e,t){return t.value},argPackAdvance:8,readValueFromPointer:xt(t,i,s),destructorFunction:null}),ht(t,a)},u:function(e,t,n){var s=Ct(e,"enum");t=Xe(t);var i=s.constructor,a=Object.create(s.constructor.prototype,{value:{value:n},constructor:{value:Fe(s.name+"_"+t,(function(){}))}});i.values[n]=a,i[t]=a},C:function(e,t,n){var s=ke(n);Qe(e,{name:t=Xe(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:Pt(t,s),destructorFunction:null})},d:function(e,t,n,s,i,a){var l=Dt(t,n);e=Xe(e),i=Tt(s,i),ht(e,(function(){Rt("Cannot call "+e+" due to unbound types",l)}),t-1),ze([],l,(function(n){var s=[n[0],null].concat(n.slice(1));return wt(e,St(e,s,null,i,a),t-1),[]}))},t:function(e,t,n,s,i){t=Xe(t),-1===i&&(i=4294967295);var a=ke(n),l=e=>e;if(0===s){var r=32-8*n;l=e=>e<>>r}var o=t.includes("unsigned");Qe(e,{name:t,fromWireType:l,toWireType:o?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:qt(t,a,0!==s),destructorFunction:null})},j:function(e,t,n){var s=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){e>>=2;var t=r(),n=t[e>>>0],i=t[e+1>>>0];return new s(t.buffer,i,n)}Qe(e,{name:n=Xe(n),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},D:function(e,t){var n="std::string"===(t=Xe(t));Qe(e,{name:t,fromWireType:function(e){var t,i=r()[e>>>2],a=e+4;if(n)for(var l=a,o=0;o<=i;++o){var c=a+o;if(o==i||0==s()[c>>>0]){var u=z(l,c-l);void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),l=c+1}}else{var p=new Array(i);for(o=0;o>>0]);t=p.join("")}return En(e),t},toWireType:function(e,t){var i;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var a="string"==typeof t;a||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||Ze("Cannot pass non-string to std::string"),i=n&&a?k(t):t.length;var l,o,c=dn(4+i+1),u=c+4;if(u>>>=0,r()[c>>>2]=i,n&&a)l=u,o=i+1,W(t,s(),l,o);else if(a)for(var p=0;p255&&(En(u),Ze("String has UTF-16 code units that do not fit in 8 bits")),s()[u+p>>>0]=h}else for(p=0;p>>0]=t[p];return null!==e&&e.push(En,c),c},argPackAdvance:8,readValueFromPointer:Pe,destructorFunction:function(e){En(e)}})},y:function(e,t,n){var s,i,l,o,c;n=Xe(n),2===t?(s=Mt,i=Ht,o=Bt,l=()=>a(),c=1):4===t&&(s=Ut,i=Ft,o=Gt,l=()=>r(),c=2),Qe(e,{name:n,fromWireType:function(e){for(var n,i=r()[e>>>2],a=l(),o=e+4,u=0;u<=i;++u){var p=e+4+u*t;if(u==i||0==a[p>>>c]){var h=s(o,p-o);void 0===n?n=h:(n+=String.fromCharCode(0),n+=h),o=p+t}}return En(e),n},toWireType:function(e,s){"string"!=typeof s&&Ze("Cannot pass non-string to C++ string type "+n);var a=o(s),l=dn(4+a+t);return l>>>=0,r()[l>>>2]=a>>c,i(s,l+4,a+t),null!==e&&e.push(En,l),l},argPackAdvance:8,readValueFromPointer:Pe,destructorFunction:function(e){En(e)}})},fa:function(e,t,n,s,i,a){Ce[e]={name:Xe(t),rawConstructor:Tt(n,s),rawDestructor:Tt(i,a),elements:[]}},m:function(e,t,n,s,i,a,l,r,o){Ce[e].elements.push({getterReturnType:t,getter:Tt(n,s),getterContext:i,setterArgumentType:a,setter:Tt(l,r),setterContext:o})},s:function(e,t,n,s,i,a){We[e]={name:Xe(t),rawConstructor:Tt(n,s),rawDestructor:Tt(i,a),fields:[]}},f:function(e,t,n,s,i,a,l,r,o,c){We[e].fields.push({fieldName:Xe(t),getterReturnType:n,getter:Tt(s,i),getterContext:a,setterArgumentType:l,setter:Tt(r,o),setterContext:c})},da:function(e,t){Qe(e,{isVoid:!0,name:t=Xe(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},Z:function(e){N(z(e))},W:function(e,t,n,s){if(e==t)setTimeout((()=>Vt(s)));else if(g)postMessage({targetThread:e,cmd:"processProxyingQueue",queue:s});else{var i=De.pthreads[e];if(!i)return;i.postMessage({cmd:"processProxyingQueue",queue:s})}return 1},T:function(e,t,n){return-1},l:function(e,t,n){e=At.toValue(e),t=Ct(t,"emval::as");var s=[],i=At.toHandle(s);return r()[n>>>2]=i,t.toWireType(s,e)},x:function(e,t,n,s){e=At.toValue(e);for(var i=function(e,t){for(var n=new Array(e),s=0;s>>2],"parameter "+s);return n}(t,n),a=new Array(t),l=0;l4&&(Nt[e].refcount+=1)},G:function(e,t){return(e=At.toValue(e))instanceof At.toValue(t)},z:function(e){return"number"==typeof(e=At.toValue(e))},F:function(e){return"string"==typeof(e=At.toValue(e))},ga:function(){return At.toHandle([])},g:function(e){return At.toHandle(Wt(e))},w:function(){return At.toHandle({})},k:function(e){Le(At.toValue(e)),Ot(e)},n:function(e,t,n){e=At.toValue(e),t=At.toValue(t),n=At.toValue(n),e[t]=n},e:function(e,t){var n=(e=Ct(e,"_emval_take_value")).readValueFromPointer(t);return At.toHandle(n)},B:function(){le("")},V:function(){T||Yt("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")},v:jt,X:function(e,t,n){s().copyWithin(e>>>0,t>>>0,t+n>>>0)},S:function(e,t,n){Kt.length=t;for(var s=n>>3,i=0;i>>0];return pn[e].apply(null,Kt)},Q:function(e){var t=s().length;if((e>>>=0)<=t)return!1;var n,i=4294901760;if(e>i)return!1;for(var a=1;a<=4;a*=2){var l=t*(1+.2/a);if(l=Math.min(l,e+100663296),Zt(Math.min(i,(n=Math.max(e,l))+(65536-n%65536)%65536)))return!0}return!1},aa:function(){throw"unwind"},M:$t,N:en,J:Re,O:tn,P:nn,H:sn,R:an,a:O||h.wasmMemory,L:function(e,n,s,i,a){return function(e,n,s,i){var a=l()[i+40>>>2],r={tm_sec:l()[i>>>2],tm_min:l()[i+4>>>2],tm_hour:l()[i+8>>>2],tm_mday:l()[i+12>>>2],tm_mon:l()[i+16>>>2],tm_year:l()[i+20>>>2],tm_wday:l()[i+24>>>2],tm_yday:l()[i+28>>>2],tm_isdst:l()[i+32>>>2],tm_gmtoff:l()[i+36>>>2],tm_zone:a?z(a):""},o=z(s),c={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in c)o=o.replace(new RegExp(u,"g"),c[u]);var p=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],h=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,t,n){for(var s="number"==typeof e?e.toString():e||"";s.length0?1:0}var s;return 0===(s=n(e.getFullYear()-t.getFullYear()))&&0===(s=n(e.getMonth()-t.getMonth()))&&(s=n(e.getDate()-t.getDate())),s}function m(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function y(e){var t=function(e,t){for(var n=new Date(e.getTime());t>0;){var s=ln(n.getFullYear()),i=n.getMonth(),a=(s?rn:on)[i];if(!(t>a-n.getDate()))return n.setDate(n.getDate()+t),n;t-=a-n.getDate()+1,n.setDate(1),i<11?n.setMonth(i+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n}(new Date(e.tm_year+1900,0,1),e.tm_yday),n=new Date(t.getFullYear(),0,4),s=new Date(t.getFullYear()+1,0,4),i=m(n),a=m(s);return I(i,t)<=0?I(a,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var v={"%a":function(e){return p[e.tm_wday].substring(0,3)},"%A":function(e){return p[e.tm_wday]},"%b":function(e){return h[e.tm_mon].substring(0,3)},"%B":function(e){return h[e.tm_mon]},"%C":function(e){return f((e.tm_year+1900)/100|0,2)},"%d":function(e){return f(e.tm_mday,2)},"%e":function(e){return d(e.tm_mday,2," ")},"%g":function(e){return y(e).toString().substring(2)},"%G":function(e){return y(e)},"%H":function(e){return f(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),f(t,2)},"%j":function(e){return f(e.tm_mday+function(e,t){for(var n=0,s=0;s<=t;n+=e[s++]);return n}(ln(e.tm_year+1900)?rn:on,e.tm_mon-1),3)},"%m":function(e){return f(e.tm_mon+1,2)},"%M":function(e){return f(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return f(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=e.tm_yday+7-e.tm_wday;return f(Math.floor(t/7),2)},"%V":function(e){var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var n=(e.tm_wday+371-e.tm_yday)%7;4==n||3==n&&ln(e.tm_year)||(t=1)}}else{t=52;var s=(e.tm_wday+7-e.tm_yday-1)%7;(4==s||5==s&&ln(e.tm_year%400-1))&&t++}return f(t,2)},"%w":function(e){return e.tm_wday},"%W":function(e){var t=e.tm_yday+7-(e.tm_wday+6)%7;return f(Math.floor(t/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,n=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(n?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var u in o=o.replace(/%%/g,"\0\0"),v)o.includes(u)&&(o=o.replace(new RegExp(u,"g"),v[u](r)));var w,T,E=me(o=o.replace(/\0\0/g,"%"),!1);return E.length>n?0:(w=E,T=e,t().set(w,T>>>0),E.length-1)}(e,n,s,i)}},dn=(function(){var e={a:hn};function t(e,t){var n,s,i=e.exports;h.asm=i,n=h.asm.ka,De.tlsInitFunctions.push(n),X=h.asm.ia,s=h.asm.ha,Q.unshift(s),A=t,De.loadWasmModuleToAllWorkers((()=>ae()))}function n(e){t(e.instance,e.module)}function s(t){return(S||!w&&!T||"function"!=typeof fetch?Promise.resolve().then((function(){return pe(re)})):fetch(re,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+re+"'";return e.arrayBuffer()})).catch((function(){return pe(re)}))).then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){N("failed to asynchronously prepare wasm: "+e),le(e)}))}if(ie(),h.instantiateWasm)try{return h.instantiateWasm(e,t)}catch(e){N("Module.instantiateWasm callback failed with error: "+e),p(e)}(S||"function"!=typeof WebAssembly.instantiateStreaming||ue(re)||"function"!=typeof fetch?s(n):fetch(re,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(n,(function(e){return N("wasm streaming compile failed: "+e),N("falling back to ArrayBuffer instantiation"),s(n)}))}))).catch(p)}(),function(){return(dn=h.asm.ja).apply(null,arguments)}),fn=(h.__emscripten_tls_init=function(){return(h.__emscripten_tls_init=h.asm.ka).apply(null,arguments)},h._pthread_self=function(){return(fn=h._pthread_self=h.asm.la).apply(null,arguments)}),In=h.___getTypeName=function(){return(In=h.___getTypeName=h.asm.ma).apply(null,arguments)},mn=(h.__embind_initialize_bindings=function(){return(h.__embind_initialize_bindings=h.asm.na).apply(null,arguments)},h.__emscripten_thread_init=function(){return(mn=h.__emscripten_thread_init=h.asm.oa).apply(null,arguments)}),yn=(h.__emscripten_thread_crashed=function(){return(h.__emscripten_thread_crashed=h.asm.pa).apply(null,arguments)},function(){return(yn=h.asm.qa).apply(null,arguments)}),vn=h.__emscripten_proxy_execute_task_queue=function(){return(vn=h.__emscripten_proxy_execute_task_queue=h.asm.ra).apply(null,arguments)},wn=function(){return(wn=h.asm.sa).apply(null,arguments)},Tn=h.__emscripten_thread_exit=function(){return(Tn=h.__emscripten_thread_exit=h.asm.ta).apply(null,arguments)},En=function(){return(En=h.asm.ua).apply(null,arguments)},gn=function(){return(gn=h.asm.va).apply(null,arguments)},Rn=function(){return(Rn=h.asm.wa).apply(null,arguments)},Dn=function(){return(Dn=h.asm.xa).apply(null,arguments)},Sn=function(){return(Sn=h.asm.ya).apply(null,arguments)},bn=function(){return(bn=h.asm.za).apply(null,arguments)};function Nn(){if(!(te>0)){if(g)return u(h),ee(),void startWorker(h);!function(){if(h.preRun)for("function"==typeof h.preRun&&(h.preRun=[h.preRun]);h.preRun.length;)e=h.preRun.shift(),Z.unshift(e);var e;Se(Z)}(),te>0||(h.setStatus?(h.setStatus("Running..."),setTimeout((function(){setTimeout((function(){h.setStatus("")}),1),e()}),1)):e())}function e(){un||(un=!0,h.calledRun=!0,L||(ee(),u(h),h.onRuntimeInitialized&&h.onRuntimeInitialized(),function(){if(!g){if(h.postRun)for("function"==typeof h.postRun&&(h.postRun=[h.postRun]);h.postRun.length;)e=h.postRun.shift(),J.unshift(e);var e;Se(J)}}()))}}if(h.dynCall_jiji=function(){return(h.dynCall_jiji=h.asm.Aa).apply(null,arguments)},h.dynCall_viijii=function(){return(h.dynCall_viijii=h.asm.Ba).apply(null,arguments)},h.dynCall_iiiiij=function(){return(h.dynCall_iiiiij=h.asm.Ca).apply(null,arguments)},h.dynCall_iiiiijj=function(){return(h.dynCall_iiiiijj=h.asm.Da).apply(null,arguments)},h.dynCall_iiiiiijj=function(){return(h.dynCall_iiiiiijj=h.asm.Ea).apply(null,arguments)},h.keepRuntimeAlive=$,h.wasmMemory=O,h.ExitStatus=he,h.PThread=De,se=function e(){un||Nn(),un||(se=e)},h.preInit)for("function"==typeof h.preInit&&(h.preInit=[h.preInit]);h.preInit.length>0;)h.preInit.pop()();return Nn(),e.ready});"object"==typeof e&&"object"==typeof t?t.exports=s:"function"==typeof define&&define.amd?define([],(function(){return s})):"object"==typeof e&&(e.WebIFCWasm=s)}}),T=y({"dist/web-ifc.js"(e,t){var n,s=(n="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(e={}){var t,s,i=void 0!==e?e:{};i.ready=new Promise((function(e,n){t=e,s=n}));var a,l,r,o=Object.assign({},i),c="./this.program",u="";"undefined"!=typeof document&&document.currentScript&&(u=document.currentScript.src),n&&(u=n),u=0!==u.indexOf("blob:")?u.substr(0,u.replace(/[?#].*/,"").lastIndexOf("/")+1):"",a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},l=(e,t,n)=>{var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onload=()=>{200==s.status||0==s.status&&s.response?t(s.response):n()},s.onerror=n,s.send(null)};var p,h,d=i.print||console.log.bind(console),f=i.printErr||console.warn.bind(console);Object.assign(i,o),o=null,i.arguments&&i.arguments,i.thisProgram&&(c=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(p=i.wasmBinary),i.noExitRuntime,"object"!=typeof WebAssembly&&F("no native wasm support detected");var I=!1;function m(e,t){e||F(t)}var y,v,w,T,E,g,R,D,S,b="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function N(e,t,n){for(var s=(t>>>=0)+n,i=t;e[i]&&!(i>=s);)++i;if(i-t>16&&e.buffer&&b)return b.decode(e.subarray(t,i));for(var a="";t>10,56320|1023&c)}}else a+=String.fromCharCode((31&l)<<6|r)}else a+=String.fromCharCode(l)}return a}function O(e,t){return(e>>>=0)?N(v,e,t):""}function A(e,t,n,s){if(!(s>0))return 0;for(var i=n>>>=0,a=n+s-1,l=0;l=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&e.charCodeAt(++l)),r<=127){if(n>=a)break;t[n++>>>0]=r}else if(r<=2047){if(n+1>=a)break;t[n++>>>0]=192|r>>6,t[n++>>>0]=128|63&r}else if(r<=65535){if(n+2>=a)break;t[n++>>>0]=224|r>>12,t[n++>>>0]=128|r>>6&63,t[n++>>>0]=128|63&r}else{if(n+3>=a)break;t[n++>>>0]=240|r>>18,t[n++>>>0]=128|r>>12&63,t[n++>>>0]=128|r>>6&63,t[n++>>>0]=128|63&r}}return t[n>>>0]=0,n-i}function x(e){for(var t=0,n=0;n=55296&&s<=57343?(t+=4,++n):t+=3}return t}function C(){var e=h.buffer;i.HEAP8=y=new Int8Array(e),i.HEAP16=w=new Int16Array(e),i.HEAP32=E=new Int32Array(e),i.HEAPU8=v=new Uint8Array(e),i.HEAPU16=T=new Uint16Array(e),i.HEAPU32=g=new Uint32Array(e),i.HEAPF32=R=new Float32Array(e),i.HEAPF64=D=new Float64Array(e)}var L=[],P=[],q=[],_=0,M=null,H=null;function B(e){_++,i.monitorRunDependencies&&i.monitorRunDependencies(_)}function U(e){if(_--,i.monitorRunDependencies&&i.monitorRunDependencies(_),0==_&&(null!==M&&(clearInterval(M),M=null),H)){var t=H;H=null,t()}}function F(e){i.onAbort&&i.onAbort(e),f(e="Aborted("+e+")"),I=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw s(t),t}var G,V,j,z;function W(e){return e.startsWith("data:application/octet-stream;base64,")}function k(e){try{if(e==G&&p)return new Uint8Array(p);if(r)return r(e);throw"both async and sync fetching of the wasm failed"}catch(e){F(e)}}function Y(e){for(;e.length>0;)e.shift()(i)}function X(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){g[this.ptr+4>>>2]=e},this.get_type=function(){return g[this.ptr+4>>>2]},this.set_destructor=function(e){g[this.ptr+8>>>2]=e},this.get_destructor=function(){return g[this.ptr+8>>>2]},this.set_refcount=function(e){E[this.ptr>>>2]=e},this.set_caught=function(e){e=e?1:0,y[this.ptr+12>>>0]=e},this.get_caught=function(){return 0!=y[this.ptr+12>>>0]},this.set_rethrown=function(e){e=e?1:0,y[this.ptr+13>>>0]=e},this.get_rethrown=function(){return 0!=y[this.ptr+13>>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=E[this.ptr>>>2];E[this.ptr>>>2]=e+1},this.release_ref=function(){var e=E[this.ptr>>>2];return E[this.ptr>>>2]=e-1,1===e},this.set_adjusted_ptr=function(e){g[this.ptr+16>>>2]=e},this.get_adjusted_ptr=function(){return g[this.ptr+16>>>2]},this.get_exception_ptr=function(){if(Ct(this.get_type()))return g[this.excPtr>>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}W(G="web-ifc.wasm")||(V=G,G=i.locateFile?i.locateFile(V,u):u+V);var K={};function Z(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function Q(e){return this.fromWireType(E[e>>>2])}var J={},$={},ee={},te=48,ne=57;function se(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=te&&t<=ne?"_"+e:e}function ie(e,t){return e=se(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function ae(e,t){var n=ie(t,(function(e){this.name=t,this.message=e;var n=new Error(e).stack;void 0!==n&&(this.stack=this.toString()+"\n"+n.replace(/^Error(:[^\n]*)?\n/,""))}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var le=void 0;function re(e){throw new le(e)}function oe(e,t,n){function s(t){var s=n(t);s.length!==e.length&&re("Mismatched type converter count");for(var i=0;i{$.hasOwnProperty(e)?i[t]=$[e]:(a.push(e),J.hasOwnProperty(e)||(J[e]=[]),J[e].push((()=>{i[t]=$[e],++l===a.length&&s(i)})))})),0===a.length&&s(i)}var ce={};function ue(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}var pe=void 0;function he(e){for(var t="",n=e;v[n>>>0];)t+=pe[v[n++>>>0]];return t}var de=void 0;function fe(e){throw new de(e)}function Ie(e,t,n={}){if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var s=t.name;if(e||fe('type "'+s+'" must have a positive integer typeid pointer'),$.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;fe("Cannot register type '"+s+"' twice")}if($[e]=t,delete ee[e],J.hasOwnProperty(e)){var i=J[e];delete J[e],i.forEach((e=>e()))}}function me(e){fe(e.$$.ptrType.registeredClass.name+" instance already deleted")}var ye=!1;function ve(e){}function we(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function Te(e,t,n){if(t===n)return e;if(void 0===n.baseClass)return null;var s=Te(e,t,n.baseClass);return null===s?null:n.downcast(s)}var Ee={};var ge=[];function Re(){for(;ge.length;){var e=ge.pop();e.$$.deleteScheduled=!1,e.delete()}}var De=void 0;var Se={};function be(e,t){return t.ptrType&&t.ptr||re("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&re("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Ne(Object.create(e,{$$:{value:t}}))}function Ne(e){return"undefined"==typeof FinalizationRegistry?(Ne=e=>e,e):(ye=new FinalizationRegistry((e=>{we(e.$$)})),ve=e=>ye.unregister(e),(Ne=e=>{var t=e.$$;if(t.smartPtr){var n={$$:t};ye.register(e,n,e)}return e})(e))}function Oe(){}function Ae(e,t,n){if(void 0===e[t].overloadTable){var s=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||fe("Function '"+n+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[s.argCount]=s}}function xe(e,t,n){i.hasOwnProperty(e)?((void 0===n||void 0!==i[e].overloadTable&&void 0!==i[e].overloadTable[n])&&fe("Cannot register public name '"+e+"' twice"),Ae(i,e,e),i.hasOwnProperty(n)&&fe("Cannot register multiple overloads of a function with the same number of arguments ("+n+")!"),i[e].overloadTable[n]=t):(i[e]=t,void 0!==n&&(i[e].numArguments=n))}function Ce(e,t,n,s,i,a,l,r){this.name=e,this.constructor=t,this.instancePrototype=n,this.rawDestructor=s,this.baseClass=i,this.getActualType=a,this.upcast=l,this.downcast=r,this.pureVirtualFunctions=[]}function Le(e,t,n){for(;t!==n;)t.upcast||fe("Expected null or instance of "+n.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function Pe(e,t){if(null===t)return this.isReference&&fe("null is not a valid "+this.name),0;t.$$||fe('Cannot pass "'+Je(t)+'" as a '+this.name),t.$$.ptr||fe("Cannot pass deleted object as a pointer of type "+this.name);var n=t.$$.ptrType.registeredClass;return Le(t.$$.ptr,n,this.registeredClass)}function qe(e,t){var n;if(null===t)return this.isReference&&fe("null is not a valid "+this.name),this.isSmartPointer?(n=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,n),n):0;t.$$||fe('Cannot pass "'+Je(t)+'" as a '+this.name),t.$$.ptr||fe("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&fe("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var s=t.$$.ptrType.registeredClass;if(n=Le(t.$$.ptr,s,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&fe("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?n=t.$$.smartPtr:fe("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:n=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)n=t.$$.smartPtr;else{var i=t.clone();n=this.rawShare(n,Ke.toHandle((function(){i.delete()}))),null!==e&&e.push(this.rawDestructor,n)}break;default:fe("Unsupporting sharing policy")}return n}function _e(e,t){if(null===t)return this.isReference&&fe("null is not a valid "+this.name),0;t.$$||fe('Cannot pass "'+Je(t)+'" as a '+this.name),t.$$.ptr||fe("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&fe("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var n=t.$$.ptrType.registeredClass;return Le(t.$$.ptr,n,this.registeredClass)}function Me(e,t,n,s,i,a,l,r,o,c,u){this.name=e,this.registeredClass=t,this.isReference=n,this.isConst=s,this.isSmartPointer=i,this.pointeeType=a,this.sharingPolicy=l,this.rawGetPointee=r,this.rawConstructor=o,this.rawShare=c,this.rawDestructor=u,i||void 0!==t.baseClass?this.toWireType=qe:s?(this.toWireType=Pe,this.destructorFunction=null):(this.toWireType=_e,this.destructorFunction=null)}function He(e,t,n){i.hasOwnProperty(e)||re("Replacing nonexistant public symbol"),void 0!==i[e].overloadTable&&void 0!==n?i[e].overloadTable[n]=t:(i[e]=t,i[e].argCount=n)}var Be=[];function Ue(e){var t=Be[e];return t||(e>=Be.length&&(Be.length=e+1),Be[e]=t=S.get(e)),t}function Fe(e,t){var n,s,a,l=(e=he(e)).includes("j")?(n=e,s=t,a=[],function(){return a.length=0,Object.assign(a,arguments),function(e,t,n){return e.includes("j")?function(e,t,n){var s=i["dynCall_"+e];return n&&n.length?s.apply(null,[t].concat(n)):s.call(null,t)}(e,t,n):Ue(t).apply(null,n)}(n,s,a)}):Ue(t);return"function"!=typeof l&&fe("unknown function pointer with signature "+e+": "+t),l}var Ge=void 0;function Ve(e){var t=At(e),n=he(t);return xt(t),n}function je(e,t){var n=[],s={};throw t.forEach((function e(t){s[t]||$[t]||(ee[t]?ee[t].forEach(e):(n.push(t),s[t]=!0))})),new Ge(e+": "+n.map(Ve).join([", "]))}function ze(e,t){for(var n=[],s=0;s>>2]);return n}function We(e,t,n,s,i){var a=t.length;a<2&&fe("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var l=null!==t[1]&&null!==n,r=!1,o=1;o0?", ":"")+p),h+=(c?"var rv = ":"")+"invoker(fn"+(p.length>0?", ":"")+p+");\n",r)h+="runDestructors(destructors);\n";else for(o=l?1:2;o4&&0==--Ye[e].refcount&&(Ye[e]=void 0,ke.push(e))}var Ke={toValue:e=>(e||fe("Cannot use deleted val. handle = "+e),Ye[e].value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=ke.length?ke.pop():Ye.length;return Ye[t]={refcount:1,value:e},t}}};function Ze(e,t,n){switch(t){case 0:return function(e){var t=n?y:v;return this.fromWireType(t[e>>>0])};case 1:return function(e){var t=n?w:T;return this.fromWireType(t[e>>>1])};case 2:return function(e){var t=n?E:g;return this.fromWireType(t[e>>>2])};default:throw new TypeError("Unknown integer type: "+e)}}function Qe(e,t){var n=$[e];return void 0===n&&fe(t+" has unknown type "+Ve(e)),n}function Je(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function $e(e,t){switch(t){case 2:return function(e){return this.fromWireType(R[e>>>2])};case 3:return function(e){return this.fromWireType(D[e>>>3])};default:throw new TypeError("Unknown float type: "+e)}}function et(e,t,n){switch(t){case 0:return n?function(e){return y[e>>>0]}:function(e){return v[e>>>0]};case 1:return n?function(e){return w[e>>>1]}:function(e){return T[e>>>1]};case 2:return n?function(e){return E[e>>>2]}:function(e){return g[e>>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var tt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function nt(e,t){for(var n=e,s=n>>1,i=s+t/2;!(s>=i)&&T[s>>>0];)++s;if((n=s<<1)-e>32&&tt)return tt.decode(v.subarray(e>>>0,n>>>0));for(var a="",l=0;!(l>=t/2);++l){var r=w[e+2*l>>>1];if(0==r)break;a+=String.fromCharCode(r)}return a}function st(e,t,n){if(void 0===n&&(n=2147483647),n<2)return 0;for(var s=t,i=(n-=2)<2*e.length?n/2:e.length,a=0;a>>1]=l,t+=2}return w[t>>>1]=0,t-s}function it(e){return 2*e.length}function at(e,t){for(var n=0,s="";!(n>=t/4);){var i=E[e+4*n>>>2];if(0==i)break;if(++n,i>=65536){var a=i-65536;s+=String.fromCharCode(55296|a>>10,56320|1023&a)}else s+=String.fromCharCode(i)}return s}function lt(e,t,n){if(void 0===n&&(n=2147483647),n<4)return 0;for(var s=t>>>=0,i=s+n-4,a=0;a=55296&&l<=57343&&(l=65536+((1023&l)<<10)|1023&e.charCodeAt(++a)),E[t>>>2]=l,(t+=4)+4>i)break}return E[t>>>2]=0,t-s}function rt(e){for(var t=0,n=0;n=55296&&s<=57343&&++n,t+=4}return t}var ot={};function ct(e){var t=ot[e];return void 0===t?he(e):t}function ut(){return"object"==typeof globalThis?globalThis:Function("return this")()}function pt(e){var t=h.buffer;try{return h.grow(e-t.byteLength+65535>>>16),C(),1}catch(e){}}var ht={};function dt(){if(!dt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:c||"./this.program"};for(var t in ht)void 0===ht[t]?delete e[t]:e[t]=ht[t];var n=[];for(var t in e)n.push(t+"="+e[t]);dt.strings=n}return dt.strings}var ft={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var n=0,s=e.length-1;s>=0;s--){var i=e[s];"."===i?e.splice(s,1):".."===i?(e.splice(s,1),n++):n&&(e.splice(s,1),n--)}if(t)for(;n;n--)e.unshift("..");return e},normalize:e=>{var t=ft.isAbs(e),n="/"===e.substr(-1);return(e=ft.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ft.splitPath(e),n=t[0],s=t[1];return n||s?(s&&(s=s.substr(0,s.length-1)),n+s):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ft.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ft.normalize(e.join("/"))},join2:(e,t)=>ft.normalize(e+"/"+t)},It={resolve:function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var s=n>=0?arguments[n]:Tt.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");if(!s)return"";e=s+"/"+e,t=ft.isAbs(s)}return(t?"/":"")+(e=ft.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=It.resolve(e).substr(1),t=It.resolve(t).substr(1);for(var s=n(e.split("/")),i=n(t.split("/")),a=Math.min(s.length,i.length),l=a,r=0;r0?n:x(e)+1,i=new Array(s),a=A(e,i,0,i.length);return t&&(i.length=a),i}var yt={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){yt.ttys[e]={input:[],output:[],ops:t},Tt.registerDevice(e,yt.stream_ops)},stream_ops:{open:function(e){var t=yt.ttys[e.node.rdev];if(!t)throw new Tt.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,n,s,i){if(!e.tty||!e.tty.ops.get_char)throw new Tt.ErrnoError(60);for(var a=0,l=0;l0&&(d(N(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(f(N(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(f(N(e.output,0)),e.output=[])}}};function vt(e){F()}var wt={ops_table:null,mount:function(e){return wt.createNode(null,"/",16895,0)},createNode:function(e,t,n,s){if(Tt.isBlkdev(n)||Tt.isFIFO(n))throw new Tt.ErrnoError(63);wt.ops_table||(wt.ops_table={dir:{node:{getattr:wt.node_ops.getattr,setattr:wt.node_ops.setattr,lookup:wt.node_ops.lookup,mknod:wt.node_ops.mknod,rename:wt.node_ops.rename,unlink:wt.node_ops.unlink,rmdir:wt.node_ops.rmdir,readdir:wt.node_ops.readdir,symlink:wt.node_ops.symlink},stream:{llseek:wt.stream_ops.llseek}},file:{node:{getattr:wt.node_ops.getattr,setattr:wt.node_ops.setattr},stream:{llseek:wt.stream_ops.llseek,read:wt.stream_ops.read,write:wt.stream_ops.write,allocate:wt.stream_ops.allocate,mmap:wt.stream_ops.mmap,msync:wt.stream_ops.msync}},link:{node:{getattr:wt.node_ops.getattr,setattr:wt.node_ops.setattr,readlink:wt.node_ops.readlink},stream:{}},chrdev:{node:{getattr:wt.node_ops.getattr,setattr:wt.node_ops.setattr},stream:Tt.chrdev_stream_ops}});var i=Tt.createNode(e,t,n,s);return Tt.isDir(i.mode)?(i.node_ops=wt.ops_table.dir.node,i.stream_ops=wt.ops_table.dir.stream,i.contents={}):Tt.isFile(i.mode)?(i.node_ops=wt.ops_table.file.node,i.stream_ops=wt.ops_table.file.stream,i.usedBytes=0,i.contents=null):Tt.isLink(i.mode)?(i.node_ops=wt.ops_table.link.node,i.stream_ops=wt.ops_table.link.stream):Tt.isChrdev(i.mode)&&(i.node_ops=wt.ops_table.chrdev.node,i.stream_ops=wt.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){t>>>=0;var n=e.contents?e.contents.length:0;if(!(n>=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),0!=n&&(t=Math.max(t,256));var s=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(s.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(t>>>=0,e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=Tt.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Tt.isDir(e.mode)?t.size=4096:Tt.isFile(e.mode)?t.size=e.usedBytes:Tt.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&wt.resizeFileStorage(e,t.size)},lookup:function(e,t){throw Tt.genericErrors[44]},mknod:function(e,t,n,s){return wt.createNode(e,t,n,s)},rename:function(e,t,n){if(Tt.isDir(e.mode)){var s;try{s=Tt.lookupNode(t,n)}catch(e){}if(s)for(var i in s.contents)throw new Tt.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=n,t.contents[n]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var n=Tt.lookupNode(e,t);for(var s in n.contents)throw new Tt.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var n in e.contents)e.contents.hasOwnProperty(n)&&t.push(n);return t},symlink:function(e,t,n){var s=wt.createNode(e,t,41471,0);return s.link=n,s},readlink:function(e){if(!Tt.isLink(e.mode))throw new Tt.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,n,s,i){var a=e.node.contents;if(i>=e.node.usedBytes)return 0;var l=Math.min(e.node.usedBytes-i,s);if(l>8&&a.subarray)t.set(a.subarray(i,i+l),n);else for(var r=0;r0||n+t>>=0,y.set(r,a>>>0)}else l=!1,a=r.byteOffset;return{ptr:a,allocated:l}},msync:function(e,t,n,s,i){return wt.stream_ops.write(e,t,0,s,n,!1),0}}},Tt={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(e,t={})=>{if(!(e=It.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new Tt.ErrnoError(32);for(var n=e.split("/").filter((e=>!!e)),s=Tt.root,i="/",a=0;a40)throw new Tt.ErrnoError(32)}}return{path:i,node:s}},getPath:e=>{for(var t;;){if(Tt.isRoot(e)){var n=e.mount.mountpoint;return t?"/"!==n[n.length-1]?n+"/"+t:n+t:n}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:(e,t)=>{for(var n=0,s=0;s>>0)%Tt.nameTable.length},hashAddNode:e=>{var t=Tt.hashName(e.parent.id,e.name);e.name_next=Tt.nameTable[t],Tt.nameTable[t]=e},hashRemoveNode:e=>{var t=Tt.hashName(e.parent.id,e.name);if(Tt.nameTable[t]===e)Tt.nameTable[t]=e.name_next;else for(var n=Tt.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:(e,t)=>{var n=Tt.mayLookup(e);if(n)throw new Tt.ErrnoError(n,e);for(var s=Tt.hashName(e.id,t),i=Tt.nameTable[s];i;i=i.name_next){var a=i.name;if(i.parent.id===e.id&&a===t)return i}return Tt.lookup(e,t)},createNode:(e,t,n,s)=>{var i=new Tt.FSNode(e,t,n,s);return Tt.hashAddNode(i),i},destroyNode:e=>{Tt.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var t=Tt.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Tt.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>Tt.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,t)=>{try{return Tt.lookupNode(e,t),20}catch(e){}return Tt.nodePermissions(e,"wx")},mayDelete:(e,t,n)=>{var s;try{s=Tt.lookupNode(e,t)}catch(e){return e.errno}var i=Tt.nodePermissions(e,"wx");if(i)return i;if(n){if(!Tt.isDir(s.mode))return 54;if(Tt.isRoot(s)||Tt.getPath(s)===Tt.cwd())return 10}else if(Tt.isDir(s.mode))return 31;return 0},mayOpen:(e,t)=>e?Tt.isLink(e.mode)?32:Tt.isDir(e.mode)&&("r"!==Tt.flagsToPermissionString(t)||512&t)?31:Tt.nodePermissions(e,Tt.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,t=Tt.MAX_OPEN_FDS)=>{for(var n=e;n<=t;n++)if(!Tt.streams[n])return n;throw new Tt.ErrnoError(33)},getStream:e=>Tt.streams[e],createStream:(e,t,n)=>{Tt.FSStream||(Tt.FSStream=function(){this.shared={}},Tt.FSStream.prototype={},Object.defineProperties(Tt.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new Tt.FSStream,e);var s=Tt.nextfd(t,n);return e.fd=s,Tt.streams[s]=e,e},closeStream:e=>{Tt.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=Tt.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new Tt.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{Tt.devices[e]={stream_ops:t}},getDevice:e=>Tt.devices[e],getMounts:e=>{for(var t=[],n=[e];n.length;){var s=n.pop();t.push(s),n.push.apply(n,s.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),Tt.syncFSRequests++,Tt.syncFSRequests>1&&f("warning: "+Tt.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var n=Tt.getMounts(Tt.root.mount),s=0;function i(e){return Tt.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,i(e));++s>=n.length&&i(null)}n.forEach((t=>{if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)}))},mount:(e,t,n)=>{var s,i="/"===n,a=!n;if(i&&Tt.root)throw new Tt.ErrnoError(10);if(!i&&!a){var l=Tt.lookupPath(n,{follow_mount:!1});if(n=l.path,s=l.node,Tt.isMountpoint(s))throw new Tt.ErrnoError(10);if(!Tt.isDir(s.mode))throw new Tt.ErrnoError(54)}var r={type:e,opts:t,mountpoint:n,mounts:[]},o=e.mount(r);return o.mount=r,r.root=o,i?Tt.root=o:s&&(s.mounted=r,s.mount&&s.mount.mounts.push(r)),o},unmount:e=>{var t=Tt.lookupPath(e,{follow_mount:!1});if(!Tt.isMountpoint(t.node))throw new Tt.ErrnoError(28);var n=t.node,s=n.mounted,i=Tt.getMounts(s);Object.keys(Tt.nameTable).forEach((e=>{for(var t=Tt.nameTable[e];t;){var n=t.name_next;i.includes(t.mount)&&Tt.destroyNode(t),t=n}})),n.mounted=null;var a=n.mount.mounts.indexOf(s);n.mount.mounts.splice(a,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,n)=>{var s=Tt.lookupPath(e,{parent:!0}).node,i=ft.basename(e);if(!i||"."===i||".."===i)throw new Tt.ErrnoError(28);var a=Tt.mayCreate(s,i);if(a)throw new Tt.ErrnoError(a);if(!s.node_ops.mknod)throw new Tt.ErrnoError(63);return s.node_ops.mknod(s,i,t,n)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Tt.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Tt.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var n=e.split("/"),s="",i=0;i(void 0===n&&(n=t,t=438),t|=8192,Tt.mknod(e,t,n)),symlink:(e,t)=>{if(!It.resolve(e))throw new Tt.ErrnoError(44);var n=Tt.lookupPath(t,{parent:!0}).node;if(!n)throw new Tt.ErrnoError(44);var s=ft.basename(t),i=Tt.mayCreate(n,s);if(i)throw new Tt.ErrnoError(i);if(!n.node_ops.symlink)throw new Tt.ErrnoError(63);return n.node_ops.symlink(n,s,e)},rename:(e,t)=>{var n,s,i=ft.dirname(e),a=ft.dirname(t),l=ft.basename(e),r=ft.basename(t);if(n=Tt.lookupPath(e,{parent:!0}).node,s=Tt.lookupPath(t,{parent:!0}).node,!n||!s)throw new Tt.ErrnoError(44);if(n.mount!==s.mount)throw new Tt.ErrnoError(75);var o,c=Tt.lookupNode(n,l),u=It.relative(e,a);if("."!==u.charAt(0))throw new Tt.ErrnoError(28);if("."!==(u=It.relative(t,i)).charAt(0))throw new Tt.ErrnoError(55);try{o=Tt.lookupNode(s,r)}catch(e){}if(c!==o){var p=Tt.isDir(c.mode),h=Tt.mayDelete(n,l,p);if(h)throw new Tt.ErrnoError(h);if(h=o?Tt.mayDelete(s,r,p):Tt.mayCreate(s,r))throw new Tt.ErrnoError(h);if(!n.node_ops.rename)throw new Tt.ErrnoError(63);if(Tt.isMountpoint(c)||o&&Tt.isMountpoint(o))throw new Tt.ErrnoError(10);if(s!==n&&(h=Tt.nodePermissions(n,"w")))throw new Tt.ErrnoError(h);Tt.hashRemoveNode(c);try{n.node_ops.rename(c,s,r)}catch(e){throw e}finally{Tt.hashAddNode(c)}}},rmdir:e=>{var t=Tt.lookupPath(e,{parent:!0}).node,n=ft.basename(e),s=Tt.lookupNode(t,n),i=Tt.mayDelete(t,n,!0);if(i)throw new Tt.ErrnoError(i);if(!t.node_ops.rmdir)throw new Tt.ErrnoError(63);if(Tt.isMountpoint(s))throw new Tt.ErrnoError(10);t.node_ops.rmdir(t,n),Tt.destroyNode(s)},readdir:e=>{var t=Tt.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Tt.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=Tt.lookupPath(e,{parent:!0}).node;if(!t)throw new Tt.ErrnoError(44);var n=ft.basename(e),s=Tt.lookupNode(t,n),i=Tt.mayDelete(t,n,!1);if(i)throw new Tt.ErrnoError(i);if(!t.node_ops.unlink)throw new Tt.ErrnoError(63);if(Tt.isMountpoint(s))throw new Tt.ErrnoError(10);t.node_ops.unlink(t,n),Tt.destroyNode(s)},readlink:e=>{var t=Tt.lookupPath(e).node;if(!t)throw new Tt.ErrnoError(44);if(!t.node_ops.readlink)throw new Tt.ErrnoError(28);return It.resolve(Tt.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var n=Tt.lookupPath(e,{follow:!t}).node;if(!n)throw new Tt.ErrnoError(44);if(!n.node_ops.getattr)throw new Tt.ErrnoError(63);return n.node_ops.getattr(n)},lstat:e=>Tt.stat(e,!0),chmod:(e,t,n)=>{var s;if(!(s="string"==typeof e?Tt.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new Tt.ErrnoError(63);s.node_ops.setattr(s,{mode:4095&t|-4096&s.mode,timestamp:Date.now()})},lchmod:(e,t)=>{Tt.chmod(e,t,!0)},fchmod:(e,t)=>{var n=Tt.getStream(e);if(!n)throw new Tt.ErrnoError(8);Tt.chmod(n.node,t)},chown:(e,t,n,s)=>{var i;if(!(i="string"==typeof e?Tt.lookupPath(e,{follow:!s}).node:e).node_ops.setattr)throw new Tt.ErrnoError(63);i.node_ops.setattr(i,{timestamp:Date.now()})},lchown:(e,t,n)=>{Tt.chown(e,t,n,!0)},fchown:(e,t,n)=>{var s=Tt.getStream(e);if(!s)throw new Tt.ErrnoError(8);Tt.chown(s.node,t,n)},truncate:(e,t)=>{if(t<0)throw new Tt.ErrnoError(28);var n;if(!(n="string"==typeof e?Tt.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Tt.ErrnoError(63);if(Tt.isDir(n.mode))throw new Tt.ErrnoError(31);if(!Tt.isFile(n.mode))throw new Tt.ErrnoError(28);var s=Tt.nodePermissions(n,"w");if(s)throw new Tt.ErrnoError(s);n.node_ops.setattr(n,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var n=Tt.getStream(e);if(!n)throw new Tt.ErrnoError(8);if(0==(2097155&n.flags))throw new Tt.ErrnoError(28);Tt.truncate(n.node,t)},utime:(e,t,n)=>{var s=Tt.lookupPath(e,{follow:!0}).node;s.node_ops.setattr(s,{timestamp:Math.max(t,n)})},open:(e,t,n)=>{if(""===e)throw new Tt.ErrnoError(44);var s;if(n=void 0===n?438:n,n=64&(t="string"==typeof t?Tt.modeStringToFlags(t):t)?4095&n|32768:0,"object"==typeof e)s=e;else{e=ft.normalize(e);try{s=Tt.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var a=!1;if(64&t)if(s){if(128&t)throw new Tt.ErrnoError(20)}else s=Tt.mknod(e,n,0),a=!0;if(!s)throw new Tt.ErrnoError(44);if(Tt.isChrdev(s.mode)&&(t&=-513),65536&t&&!Tt.isDir(s.mode))throw new Tt.ErrnoError(54);if(!a){var l=Tt.mayOpen(s,t);if(l)throw new Tt.ErrnoError(l)}512&t&&!a&&Tt.truncate(s,0),t&=-131713;var r=Tt.createStream({node:s,path:Tt.getPath(s),flags:t,seekable:!0,position:0,stream_ops:s.stream_ops,ungotten:[],error:!1});return r.stream_ops.open&&r.stream_ops.open(r),!i.logReadFiles||1&t||(Tt.readFiles||(Tt.readFiles={}),e in Tt.readFiles||(Tt.readFiles[e]=1)),r},close:e=>{if(Tt.isClosed(e))throw new Tt.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Tt.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,n)=>{if(Tt.isClosed(e))throw new Tt.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Tt.ErrnoError(70);if(0!=n&&1!=n&&2!=n)throw new Tt.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,n),e.ungotten=[],e.position},read:(e,t,n,s,i)=>{if(n>>>=0,s<0||i<0)throw new Tt.ErrnoError(28);if(Tt.isClosed(e))throw new Tt.ErrnoError(8);if(1==(2097155&e.flags))throw new Tt.ErrnoError(8);if(Tt.isDir(e.node.mode))throw new Tt.ErrnoError(31);if(!e.stream_ops.read)throw new Tt.ErrnoError(28);var a=void 0!==i;if(a){if(!e.seekable)throw new Tt.ErrnoError(70)}else i=e.position;var l=e.stream_ops.read(e,t,n,s,i);return a||(e.position+=l),l},write:(e,t,n,s,i,a)=>{if(n>>>=0,s<0||i<0)throw new Tt.ErrnoError(28);if(Tt.isClosed(e))throw new Tt.ErrnoError(8);if(0==(2097155&e.flags))throw new Tt.ErrnoError(8);if(Tt.isDir(e.node.mode))throw new Tt.ErrnoError(31);if(!e.stream_ops.write)throw new Tt.ErrnoError(28);e.seekable&&1024&e.flags&&Tt.llseek(e,0,2);var l=void 0!==i;if(l){if(!e.seekable)throw new Tt.ErrnoError(70)}else i=e.position;var r=e.stream_ops.write(e,t,n,s,i,a);return l||(e.position+=r),r},allocate:(e,t,n)=>{if(Tt.isClosed(e))throw new Tt.ErrnoError(8);if(t<0||n<=0)throw new Tt.ErrnoError(28);if(0==(2097155&e.flags))throw new Tt.ErrnoError(8);if(!Tt.isFile(e.node.mode)&&!Tt.isDir(e.node.mode))throw new Tt.ErrnoError(43);if(!e.stream_ops.allocate)throw new Tt.ErrnoError(138);e.stream_ops.allocate(e,t,n)},mmap:(e,t,n,s,i)=>{if(0!=(2&s)&&0==(2&i)&&2!=(2097155&e.flags))throw new Tt.ErrnoError(2);if(1==(2097155&e.flags))throw new Tt.ErrnoError(2);if(!e.stream_ops.mmap)throw new Tt.ErrnoError(43);return e.stream_ops.mmap(e,t,n,s,i)},msync:(e,t,n,s,i)=>(n>>>=0,e.stream_ops.msync?e.stream_ops.msync(e,t,n,s,i):0),munmap:e=>0,ioctl:(e,t,n)=>{if(!e.stream_ops.ioctl)throw new Tt.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile:(e,t={})=>{if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'+t.encoding+'"');var n,s=Tt.open(e,t.flags),i=Tt.stat(e).size,a=new Uint8Array(i);return Tt.read(s,a,0,i,0),"utf8"===t.encoding?n=N(a,0):"binary"===t.encoding&&(n=a),Tt.close(s),n},writeFile:(e,t,n={})=>{n.flags=n.flags||577;var s=Tt.open(e,n.flags,n.mode);if("string"==typeof t){var i=new Uint8Array(x(t)+1),a=A(t,i,0,i.length);Tt.write(s,i,0,a,void 0,n.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Tt.write(s,t,0,t.byteLength,void 0,n.canOwn)}Tt.close(s)},cwd:()=>Tt.currentPath,chdir:e=>{var t=Tt.lookupPath(e,{follow:!0});if(null===t.node)throw new Tt.ErrnoError(44);if(!Tt.isDir(t.node.mode))throw new Tt.ErrnoError(54);var n=Tt.nodePermissions(t.node,"x");if(n)throw new Tt.ErrnoError(n);Tt.currentPath=t.path},createDefaultDirectories:()=>{Tt.mkdir("/tmp"),Tt.mkdir("/home"),Tt.mkdir("/home/web_user")},createDefaultDevices:()=>{Tt.mkdir("/dev"),Tt.registerDevice(Tt.makedev(1,3),{read:()=>0,write:(e,t,n,s,i)=>s}),Tt.mkdev("/dev/null",Tt.makedev(1,3)),yt.register(Tt.makedev(5,0),yt.default_tty_ops),yt.register(Tt.makedev(6,0),yt.default_tty1_ops),Tt.mkdev("/dev/tty",Tt.makedev(5,0)),Tt.mkdev("/dev/tty1",Tt.makedev(6,0));var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}return()=>F("randomDevice")}();Tt.createDevice("/dev","random",e),Tt.createDevice("/dev","urandom",e),Tt.mkdir("/dev/shm"),Tt.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{Tt.mkdir("/proc");var e=Tt.mkdir("/proc/self");Tt.mkdir("/proc/self/fd"),Tt.mount({mount:()=>{var t=Tt.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var n=+t,s=Tt.getStream(n);if(!s)throw new Tt.ErrnoError(8);var i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>s.path}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{i.stdin?Tt.createDevice("/dev","stdin",i.stdin):Tt.symlink("/dev/tty","/dev/stdin"),i.stdout?Tt.createDevice("/dev","stdout",null,i.stdout):Tt.symlink("/dev/tty","/dev/stdout"),i.stderr?Tt.createDevice("/dev","stderr",null,i.stderr):Tt.symlink("/dev/tty1","/dev/stderr"),Tt.open("/dev/stdin",0),Tt.open("/dev/stdout",1),Tt.open("/dev/stderr",1)},ensureErrnoError:()=>{Tt.ErrnoError||(Tt.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Tt.ErrnoError.prototype=new Error,Tt.ErrnoError.prototype.constructor=Tt.ErrnoError,[44].forEach((e=>{Tt.genericErrors[e]=new Tt.ErrnoError(e),Tt.genericErrors[e].stack=""})))},staticInit:()=>{Tt.ensureErrnoError(),Tt.nameTable=new Array(4096),Tt.mount(wt,{},"/"),Tt.createDefaultDirectories(),Tt.createDefaultDevices(),Tt.createSpecialDirectories(),Tt.filesystems={MEMFS:wt}},init:(e,t,n)=>{Tt.init.initialized=!0,Tt.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=n||i.stderr,Tt.createStandardStreams()},quit:()=>{Tt.init.initialized=!1;for(var e=0;e{var n=0;return e&&(n|=365),t&&(n|=146),n},findObject:(e,t)=>{var n=Tt.analyzePath(e,t);return n.exists?n.object:null},analyzePath:(e,t)=>{try{e=(s=Tt.lookupPath(e,{follow:!t})).path}catch(e){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var s=Tt.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=s.path,n.parentObject=s.node,n.name=ft.basename(e),s=Tt.lookupPath(e,{follow:!t}),n.exists=!0,n.path=s.path,n.object=s.node,n.name=s.node.name,n.isRoot="/"===s.path}catch(e){n.error=e.errno}return n},createPath:(e,t,n,s)=>{e="string"==typeof e?e:Tt.getPath(e);for(var i=t.split("/").reverse();i.length;){var a=i.pop();if(a){var l=ft.join2(e,a);try{Tt.mkdir(l)}catch(e){}e=l}}return l},createFile:(e,t,n,s,i)=>{var a=ft.join2("string"==typeof e?e:Tt.getPath(e),t),l=Tt.getMode(s,i);return Tt.create(a,l)},createDataFile:(e,t,n,s,i,a)=>{var l=t;e&&(e="string"==typeof e?e:Tt.getPath(e),l=t?ft.join2(e,t):e);var r=Tt.getMode(s,i),o=Tt.create(l,r);if(n){if("string"==typeof n){for(var c=new Array(n.length),u=0,p=n.length;u{var i=ft.join2("string"==typeof e?e:Tt.getPath(e),t),a=Tt.getMode(!!n,!!s);Tt.createDevice.major||(Tt.createDevice.major=64);var l=Tt.makedev(Tt.createDevice.major++,0);return Tt.registerDevice(l,{open:e=>{e.seekable=!1},close:e=>{s&&s.buffer&&s.buffer.length&&s(10)},read:(e,t,s,i,a)=>{for(var l=0,r=0;r{for(var l=0;l{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!a)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=mt(a(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new Tt.ErrnoError(29)}},createLazyFile:(e,t,n,s,i)=>{function a(){this.lengthKnown=!1,this.chunks=[]}var l;if(a.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",n,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+n+". Status: "+e.status);var t,s=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,a=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,l=1048576;i||(l=s);var r=this;r.setDataGetter((e=>{var t=e*l,i=(e+1)*l-1;if(i=Math.min(i,s-1),void 0===r.chunks[e]&&(r.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>s-1)throw new Error("only "+s+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",n,!1),s!==l&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+n+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):mt(i.responseText||"",!0)})(t,i)),void 0===r.chunks[e])throw new Error("doXHR failed!");return r.chunks[e]})),!a&&s||(l=s=1,s=this.getter(0).length,l=s,d("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=s,this._chunkSize=l,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";l={isDevice:!1,url:n};var r=Tt.createFile(e,t,l,s,i);l.contents?r.contents=l.contents:l.url&&(r.contents=null,r.url=l.url),Object.defineProperties(r,{usedBytes:{get:function(){return this.contents.length}}});var o={};function c(e,t,n,s,i){var a=e.node.contents;if(i>=a.length)return 0;var l=Math.min(a.length-i,s);if(a.slice)for(var r=0;r{var t=r.stream_ops[e];o[e]=function(){return Tt.forceLoadFile(r),t.apply(null,arguments)}})),o.read=(e,t,n,s,i)=>(Tt.forceLoadFile(r),c(e,t,n,s,i)),o.mmap=(e,t,n,s,i)=>{Tt.forceLoadFile(r);var a=vt();if(!a)throw new Tt.ErrnoError(48);return c(e,y,a,t,n),{ptr:a,allocated:!0}},r.stream_ops=o,r},createPreloadedFile:(e,t,n,s,i,a,r,o,c,u)=>{var p=t?It.resolve(ft.join2(e,t)):e;function h(n){function l(n){u&&u(),o||Tt.createDataFile(e,t,n,s,i,c),a&&a(),U()}Browser.handledByPreloadPlugin(n,p,l,(()=>{r&&r(),U()}))||l(n)}B(),"string"==typeof n?function(e,t,n,s){var i="al "+e;l(e,(t=>{m(t,'Loading data file "'+e+'" failed (no arrayBuffer).'),h(new Uint8Array(t)),i&&U()}),(t=>{if(!n)throw'Loading data file "'+e+'" failed.';n()})),i&&B()}(n,0,r):h(n)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,t=(()=>{}),n=(()=>{}))=>{var s=Tt.indexedDB();try{var i=s.open(Tt.DB_NAME(),Tt.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=()=>{d("creating db"),i.result.createObjectStore(Tt.DB_STORE_NAME)},i.onsuccess=()=>{var s=i.result.transaction([Tt.DB_STORE_NAME],"readwrite"),a=s.objectStore(Tt.DB_STORE_NAME),l=0,r=0,o=e.length;function c(){0==r?t():n()}e.forEach((e=>{var t=a.put(Tt.analyzePath(e).object.contents,e);t.onsuccess=()=>{++l+r==o&&c()},t.onerror=()=>{r++,l+r==o&&c()}})),s.onerror=n},i.onerror=n},loadFilesFromDB:(e,t=(()=>{}),n=(()=>{}))=>{var s=Tt.indexedDB();try{var i=s.open(Tt.DB_NAME(),Tt.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=n,i.onsuccess=()=>{var s=i.result;try{var a=s.transaction([Tt.DB_STORE_NAME],"readonly")}catch(e){return void n(e)}var l=a.objectStore(Tt.DB_STORE_NAME),r=0,o=0,c=e.length;function u(){0==o?t():n()}e.forEach((e=>{var t=l.get(e);t.onsuccess=()=>{Tt.analyzePath(e).exists&&Tt.unlink(e),Tt.createDataFile(ft.dirname(e),ft.basename(e),t.result,!0,!0,!0),++r+o==c&&u()},t.onerror=()=>{o++,r+o==c&&u()}})),a.onerror=n},i.onerror=n}},Et={DEFAULT_POLLMASK:5,calculateAt:function(e,t,n){if(ft.isAbs(t))return t;var s;if(s=-100===e?Tt.cwd():Et.getStreamFromFD(e).path,0==t.length){if(!n)throw new Tt.ErrnoError(44);return s}return ft.join2(s,t)},doStat:function(e,t,n){try{var s=e(t)}catch(e){if(e&&e.node&&ft.normalize(t)!==ft.normalize(Tt.getPath(e.node)))return-54;throw e}E[n>>>2]=s.dev,E[n+8>>>2]=s.ino,E[n+12>>>2]=s.mode,g[n+16>>>2]=s.nlink,E[n+20>>>2]=s.uid,E[n+24>>>2]=s.gid,E[n+28>>>2]=s.rdev,z=[s.size>>>0,(j=s.size,+Math.abs(j)>=1?j>0?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],E[n+40>>>2]=z[0],E[n+44>>>2]=z[1],E[n+48>>>2]=4096,E[n+52>>>2]=s.blocks;var i=s.atime.getTime(),a=s.mtime.getTime(),l=s.ctime.getTime();return z=[Math.floor(i/1e3)>>>0,(j=Math.floor(i/1e3),+Math.abs(j)>=1?j>0?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],E[n+56>>>2]=z[0],E[n+60>>>2]=z[1],g[n+64>>>2]=i%1e3*1e3,z=[Math.floor(a/1e3)>>>0,(j=Math.floor(a/1e3),+Math.abs(j)>=1?j>0?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],E[n+72>>>2]=z[0],E[n+76>>>2]=z[1],g[n+80>>>2]=a%1e3*1e3,z=[Math.floor(l/1e3)>>>0,(j=Math.floor(l/1e3),+Math.abs(j)>=1?j>0?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],E[n+88>>>2]=z[0],E[n+92>>>2]=z[1],g[n+96>>>2]=l%1e3*1e3,z=[s.ino>>>0,(j=s.ino,+Math.abs(j)>=1?j>0?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],E[n+104>>>2]=z[0],E[n+108>>>2]=z[1],0},doMsync:function(e,t,n,s,i){if(!Tt.isFile(t.node.mode))throw new Tt.ErrnoError(43);if(2&s)return 0;e>>>=0;var a=v.slice(e,e+n);Tt.msync(t,a,i,n,s)},varargs:void 0,get:function(){return Et.varargs+=4,E[Et.varargs-4>>>2]},getStr:function(e){return O(e)},getStreamFromFD:function(e){var t=Tt.getStream(e);if(!t)throw new Tt.ErrnoError(8);return t}};function gt(e){return e%4==0&&(e%100!=0||e%400==0)}var Rt=[31,29,31,30,31,30,31,31,30,31,30,31],Dt=[31,28,31,30,31,30,31,31,30,31,30,31];le=i.InternalError=ae(Error,"InternalError"),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);pe=e}(),de=i.BindingError=ae(Error,"BindingError"),Oe.prototype.isAliasOf=function(e){if(!(this instanceof Oe))return!1;if(!(e instanceof Oe))return!1;for(var t=this.$$.ptrType.registeredClass,n=this.$$.ptr,s=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)n=t.upcast(n),t=t.baseClass;for(;s.baseClass;)i=s.upcast(i),s=s.baseClass;return t===s&&n===i},Oe.prototype.clone=function(){if(this.$$.ptr||me(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=Ne(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},Oe.prototype.delete=function(){this.$$.ptr||me(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&fe("Object already scheduled for deletion"),ve(this),we(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},Oe.prototype.isDeleted=function(){return!this.$$.ptr},Oe.prototype.deleteLater=function(){return this.$$.ptr||me(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&fe("Object already scheduled for deletion"),ge.push(this),1===ge.length&&De&&De(Re),this.$$.deleteScheduled=!0,this},i.getInheritedInstanceCount=function(){return Object.keys(Se).length},i.getLiveInheritedInstances=function(){var e=[];for(var t in Se)Se.hasOwnProperty(t)&&e.push(Se[t]);return e},i.flushPendingDeletes=Re,i.setDelayFunction=function(e){De=e,ge.length&&De&&De(Re)},Me.prototype.getPointee=function(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},Me.prototype.destructor=function(e){this.rawDestructor&&this.rawDestructor(e)},Me.prototype.argPackAdvance=8,Me.prototype.readValueFromPointer=Q,Me.prototype.deleteObject=function(e){null!==e&&e.delete()},Me.prototype.fromWireType=function(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var n=function(e,t){return t=function(e,t){for(void 0===t&&fe("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),Se[t]}(this.registeredClass,t);if(void 0!==n){if(0===n.$$.count.value)return n.$$.ptr=t,n.$$.smartPtr=e,n.clone();var s=n.clone();return this.destructor(e),s}function i(){return this.isSmartPointer?be(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):be(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,l=this.registeredClass.getActualType(t),r=Ee[l];if(!r)return i.call(this);a=this.isConst?r.constPointerType:r.pointerType;var o=Te(t,this.registeredClass,a.registeredClass);return null===o?i.call(this):this.isSmartPointer?be(a.registeredClass.instancePrototype,{ptrType:a,ptr:o,smartPtrType:this,smartPtr:e}):be(a.registeredClass.instancePrototype,{ptrType:a,ptr:o})},Ge=i.UnboundTypeError=ae(Error,"UnboundTypeError"),i.count_emval_handles=function(){for(var e=0,t=5;t{var i=e[n],a=t.getter,l=t.getterContext,r=e[n+s],o=t.setter,c=t.setterContext;t.read=e=>i.fromWireType(a(l,e)),t.write=(e,t)=>{var n=[];o(c,e,r.toWireType(n,t)),Z(n)}})),[{name:t.name,fromWireType:function(e){for(var t=new Array(s),i=0;i>>a])},destructorFunction:null})},p:function(e,t,n,s,i,a,l,r,o,c,u,p,h){u=he(u),a=Fe(i,a),r&&(r=Fe(l,r)),c&&(c=Fe(o,c)),h=Fe(p,h);var d=se(u);xe(d,(function(){je("Cannot construct "+u+" due to unbound types",[s])})),oe([e,t,n],s?[s]:[],(function(t){var n,i;t=t[0],i=s?(n=t.registeredClass).instancePrototype:Oe.prototype;var l=ie(d,(function(){if(Object.getPrototypeOf(this)!==o)throw new de("Use 'new' to construct "+u);if(void 0===p.constructor_body)throw new de(u+" has no accessible constructor");var e=p.constructor_body[arguments.length];if(void 0===e)throw new de("Tried to invoke ctor of "+u+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(p.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),o=Object.create(i,{constructor:{value:l}});l.prototype=o;var p=new Ce(u,l,o,h,n,a,r,c),f=new Me(u,p,!0,!1,!1),I=new Me(u+"*",p,!1,!1,!1),m=new Me(u+" const*",p,!1,!0,!1);return Ee[e]={pointerType:I,constPointerType:m},He(d,l),[f,I,m]}))},o:function(e,t,n,s,i,a){m(t>0);var l=ze(t,n);i=Fe(s,i),oe([],[e],(function(e){var n="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new de("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=()=>{je("Cannot construct "+e.name+" due to unbound types",l)},oe([],l,(function(s){return s.splice(1,0,null),e.registeredClass.constructor_body[t-1]=We(n,s,null,i,a),[]})),[]}))},b:function(e,t,n,s,i,a,l,r){var o=ze(n,s);t=he(t),a=Fe(i,a),oe([],[e],(function(e){var s=(e=e[0]).name+"."+t;function i(){je("Cannot call "+s+" due to unbound types",o)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),r&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,u=c[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===n-2?(i.argCount=n-2,i.className=e.name,c[t]=i):(Ae(c,t,s),c[t].overloadTable[n-2]=i),oe([],o,(function(i){var r=We(s,i,e,a,l);return void 0===c[t].overloadTable?(r.argCount=n-2,c[t]=r):c[t].overloadTable[n-2]=r,[]})),[]}))},P:function(e,t){Ie(e,{name:t=he(t),fromWireType:function(e){var t=Ke.toValue(e);return Xe(e),t},toWireType:function(e,t){return Ke.toHandle(t)},argPackAdvance:8,readValueFromPointer:Q,destructorFunction:null})},C:function(e,t,n,s){var i=ue(n);function a(){}t=he(t),a.values={},Ie(e,{name:t,constructor:a,fromWireType:function(e){return this.constructor.values[e]},toWireType:function(e,t){return t.value},argPackAdvance:8,readValueFromPointer:Ze(t,i,s),destructorFunction:null}),xe(t,a)},t:function(e,t,n){var s=Qe(e,"enum");t=he(t);var i=s.constructor,a=Object.create(s.constructor.prototype,{value:{value:n},constructor:{value:ie(s.name+"_"+t,(function(){}))}});i.values[n]=a,i[t]=a},A:function(e,t,n){var s=ue(n);Ie(e,{name:t=he(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:$e(t,s),destructorFunction:null})},c:function(e,t,n,s,i,a){var l=ze(t,n);e=he(e),i=Fe(s,i),xe(e,(function(){je("Cannot call "+e+" due to unbound types",l)}),t-1),oe([],l,(function(n){var s=[n[0],null].concat(n.slice(1));return He(e,We(e,s,null,i,a),t-1),[]}))},s:function(e,t,n,s,i){t=he(t),-1===i&&(i=4294967295);var a=ue(n),l=e=>e;if(0===s){var r=32-8*n;l=e=>e<>>r}var o=t.includes("unsigned");Ie(e,{name:t,fromWireType:l,toWireType:o?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:et(t,a,0!==s),destructorFunction:null})},i:function(e,t,n){var s=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=g,n=t[(e>>=2)>>>0],i=t[e+1>>>0];return new s(t.buffer,i,n)}Ie(e,{name:n=he(n),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},B:function(e,t){var n="std::string"===(t=he(t));Ie(e,{name:t,fromWireType:function(e){var t,s=g[e>>>2],i=e+4;if(n)for(var a=i,l=0;l<=s;++l){var r=i+l;if(l==s||0==v[r>>>0]){var o=O(a,r-a);void 0===t?t=o:(t+=String.fromCharCode(0),t+=o),a=r+1}}else{var c=new Array(s);for(l=0;l>>0]);t=c.join("")}return xt(e),t},toWireType:function(e,t){var s;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var i="string"==typeof t;i||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||fe("Cannot pass non-string to std::string"),s=n&&i?x(t):t.length;var a=Ot(4+s+1),l=a+4;if(l>>>=0,g[a>>>2]=s,n&&i)A(t,v,l,s+1);else if(i)for(var r=0;r255&&(xt(l),fe("String has UTF-16 code units that do not fit in 8 bits")),v[l+r>>>0]=o}else for(r=0;r>>0]=t[r];return null!==e&&e.push(xt,a),a},argPackAdvance:8,readValueFromPointer:Q,destructorFunction:function(e){xt(e)}})},w:function(e,t,n){var s,i,a,l,r;n=he(n),2===t?(s=nt,i=st,l=it,a=()=>T,r=1):4===t&&(s=at,i=lt,l=rt,a=()=>g,r=2),Ie(e,{name:n,fromWireType:function(e){for(var n,i=g[e>>>2],l=a(),o=e+4,c=0;c<=i;++c){var u=e+4+c*t;if(c==i||0==l[u>>>r]){var p=s(o,u-o);void 0===n?n=p:(n+=String.fromCharCode(0),n+=p),o=u+t}}return xt(e),n},toWireType:function(e,s){"string"!=typeof s&&fe("Cannot pass non-string to C++ string type "+n);var a=l(s),o=Ot(4+a+t);return g[(o>>>=0)>>>2]=a>>r,i(s,o+4,a+t),null!==e&&e.push(xt,o),o},argPackAdvance:8,readValueFromPointer:Q,destructorFunction:function(e){xt(e)}})},T:function(e,t,n,s,i,a){K[e]={name:he(t),rawConstructor:Fe(n,s),rawDestructor:Fe(i,a),elements:[]}},l:function(e,t,n,s,i,a,l,r,o){K[e].elements.push({getterReturnType:t,getter:Fe(n,s),getterContext:i,setterArgumentType:a,setter:Fe(l,r),setterContext:o})},r:function(e,t,n,s,i,a){ce[e]={name:he(t),rawConstructor:Fe(n,s),rawDestructor:Fe(i,a),fields:[]}},e:function(e,t,n,s,i,a,l,r,o,c){ce[e].fields.push({fieldName:he(t),getterReturnType:n,getter:Fe(s,i),getterContext:a,setterArgumentType:l,setter:Fe(r,o),setterContext:c})},R:function(e,t){Ie(e,{isVoid:!0,name:t=he(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},k:function(e,t,n){e=Ke.toValue(e),t=Qe(t,"emval::as");var s=[],i=Ke.toHandle(s);return g[n>>>2]=i,t.toWireType(s,e)},v:function(e,t,n,s){e=Ke.toValue(e);for(var i=function(e,t){for(var n=new Array(e),s=0;s>>2],"parameter "+s);return n}(t,n),a=new Array(t),l=0;l4&&(Ye[e].refcount+=1)},E:function(e,t){return(e=Ke.toValue(e))instanceof Ke.toValue(t)},x:function(e){return"number"==typeof(e=Ke.toValue(e))},D:function(e){return"string"==typeof(e=Ke.toValue(e))},U:function(){return Ke.toHandle([])},f:function(e){return Ke.toHandle(ct(e))},u:function(){return Ke.toHandle({})},j:function(e){Z(Ke.toValue(e)),Xe(e)},m:function(e,t,n){e=Ke.toValue(e),t=Ke.toValue(t),n=Ke.toValue(n),e[t]=n},d:function(e,t){var n=(e=Qe(e,"_emval_take_value")).readValueFromPointer(t);return Ke.toHandle(n)},z:function(){F("")},O:function(e,t,n){v.copyWithin(e>>>0,t>>>0,t+n>>>0)},M:function(e){var t,n=v.length,s=4294901760;if((e>>>=0)>s)return!1;for(var i=1;i<=4;i*=2){var a=n*(1+.2/i);if(a=Math.min(a,e+100663296),pt(Math.min(s,(t=Math.max(e,a))+(65536-t%65536)%65536)))return!0}return!1},I:function(e,t){var n=0;return dt().forEach((function(s,i){var a=t+n;g[e+4*i>>>2]=a,function(e,t,n){for(var s=0;s>>0]=e.charCodeAt(s);y[t>>>0]=0}(s,a),n+=s.length+1})),0},J:function(e,t){var n=dt();g[e>>>2]=n.length;var s=0;return n.forEach((function(e){s+=e.length+1})),g[t>>>2]=s,0},K:function(e){try{var t=Et.getStreamFromFD(e);return Tt.close(t),0}catch(e){if(void 0===Tt||!(e instanceof Tt.ErrnoError))throw e;return e.errno}},L:function(e,t,n,s){try{var i=function(e,t,n,s){for(var i=0,a=0;a>>2],r=g[t+4>>>2];t+=8;var o=Tt.read(e,y,l,r,s);if(o<0)return-1;if(i+=o,o>>2]=i,0}catch(e){if(void 0===Tt||!(e instanceof Tt.ErrnoError))throw e;return e.errno}},F:function(e,t,n,s,i){try{var a=(o=n)+2097152>>>0<4194305-!!(r=t)?(r>>>0)+4294967296*o:NaN;if(isNaN(a))return 61;var l=Et.getStreamFromFD(e);return Tt.llseek(l,a,s),z=[l.position>>>0,(j=l.position,+Math.abs(j)>=1?j>0?(0|Math.min(+Math.floor(j/4294967296),4294967295))>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],E[i>>>2]=z[0],E[i+4>>>2]=z[1],l.getdents&&0===a&&0===s&&(l.getdents=null),0}catch(e){if(void 0===Tt||!(e instanceof Tt.ErrnoError))throw e;return e.errno}var r,o},N:function(e,t,n,s){try{var i=function(e,t,n,s){for(var i=0,a=0;a>>2],r=g[t+4>>>2];t+=8;var o=Tt.write(e,y,l,r,s);if(o<0)return-1;i+=o,void 0!==s&&(s+=o)}return i}(Et.getStreamFromFD(e),t,n);return g[s>>>2]=i,0}catch(e){if(void 0===Tt||!(e instanceof Tt.ErrnoError))throw e;return e.errno}},H:function(e,t,n,s,i){return function(e,t,n,s){var i=E[s+40>>>2],a={tm_sec:E[s>>>2],tm_min:E[s+4>>>2],tm_hour:E[s+8>>>2],tm_mday:E[s+12>>>2],tm_mon:E[s+16>>>2],tm_year:E[s+20>>>2],tm_wday:E[s+24>>>2],tm_yday:E[s+28>>>2],tm_isdst:E[s+32>>>2],tm_gmtoff:E[s+36>>>2],tm_zone:i?O(i):""},l=O(n),r={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var o in r)l=l.replace(new RegExp(o,"g"),r[o]);var c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],u=["January","February","March","April","May","June","July","August","September","October","November","December"];function p(e,t,n){for(var s="number"==typeof e?e.toString():e||"";s.length0?1:0}var s;return 0===(s=n(e.getFullYear()-t.getFullYear()))&&0===(s=n(e.getMonth()-t.getMonth()))&&(s=n(e.getDate()-t.getDate())),s}function f(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function I(e){var t=function(e,t){for(var n=new Date(e.getTime());t>0;){var s=gt(n.getFullYear()),i=n.getMonth(),a=(s?Rt:Dt)[i];if(!(t>a-n.getDate()))return n.setDate(n.getDate()+t),n;t-=a-n.getDate()+1,n.setDate(1),i<11?n.setMonth(i+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n}(new Date(e.tm_year+1900,0,1),e.tm_yday),n=new Date(t.getFullYear(),0,4),s=new Date(t.getFullYear()+1,0,4),i=f(n),a=f(s);return d(i,t)<=0?d(a,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var m={"%a":function(e){return c[e.tm_wday].substring(0,3)},"%A":function(e){return c[e.tm_wday]},"%b":function(e){return u[e.tm_mon].substring(0,3)},"%B":function(e){return u[e.tm_mon]},"%C":function(e){return h((e.tm_year+1900)/100|0,2)},"%d":function(e){return h(e.tm_mday,2)},"%e":function(e){return p(e.tm_mday,2," ")},"%g":function(e){return I(e).toString().substring(2)},"%G":function(e){return I(e)},"%H":function(e){return h(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),h(t,2)},"%j":function(e){return h(e.tm_mday+function(e,t){for(var n=0,s=0;s<=t;n+=e[s++]);return n}(gt(e.tm_year+1900)?Rt:Dt,e.tm_mon-1),3)},"%m":function(e){return h(e.tm_mon+1,2)},"%M":function(e){return h(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return h(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=e.tm_yday+7-e.tm_wday;return h(Math.floor(t/7),2)},"%V":function(e){var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var n=(e.tm_wday+371-e.tm_yday)%7;4==n||3==n&>(e.tm_year)||(t=1)}}else{t=52;var s=(e.tm_wday+7-e.tm_yday-1)%7;(4==s||5==s&>(e.tm_year%400-1))&&t++}return h(t,2)},"%w":function(e){return e.tm_wday},"%W":function(e){var t=e.tm_yday+7-(e.tm_wday+6)%7;return h(Math.floor(t/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,n=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(n?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var o in l=l.replace(/%%/g,"\0\0"),m)l.includes(o)&&(l=l.replace(new RegExp(o,"g"),m[o](a)));var v,w,T=mt(l=l.replace(/\0\0/g,"%"),!1);return T.length>t?0:(v=T,w=e,y.set(v,w>>>0),T.length-1)}(e,t,n,s)}},Ot=(function(){var e={a:Nt};function t(e,t){var n,s=e.exports;i.asm=s,h=i.asm.V,C(),S=i.asm.X,n=i.asm.W,P.unshift(n),U()}function n(e){t(e.instance)}function a(t){return(p||"function"!=typeof fetch?Promise.resolve().then((function(){return k(G)})):fetch(G,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+G+"'";return e.arrayBuffer()})).catch((function(){return k(G)}))).then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){f("failed to asynchronously prepare wasm: "+e),F(e)}))}if(B(),i.instantiateWasm)try{return i.instantiateWasm(e,t)}catch(e){f("Module.instantiateWasm callback failed with error: "+e),s(e)}(p||"function"!=typeof WebAssembly.instantiateStreaming||W(G)||"function"!=typeof fetch?a(n):fetch(G,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(n,(function(e){return f("wasm streaming compile failed: "+e),f("falling back to ArrayBuffer instantiation"),a(n)}))}))).catch(s)}(),function(){return(Ot=i.asm.Y).apply(null,arguments)}),At=i.___getTypeName=function(){return(At=i.___getTypeName=i.asm.Z).apply(null,arguments)},xt=(i.__embind_initialize_bindings=function(){return(i.__embind_initialize_bindings=i.asm._).apply(null,arguments)},function(){return(xt=i.asm.$).apply(null,arguments)}),Ct=function(){return(Ct=i.asm.aa).apply(null,arguments)};function Lt(){function e(){bt||(bt=!0,i.calledRun=!0,I||(i.noFSInit||Tt.init.initialized||Tt.init(),Tt.ignorePermissions=!1,yt.init(),Y(P),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)e=i.postRun.shift(),q.unshift(e);var e;Y(q)}()))}_>0||(function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)e=i.preRun.shift(),L.unshift(e);var e;Y(L)}(),_>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(i.dynCall_jiji=function(){return(i.dynCall_jiji=i.asm.ba).apply(null,arguments)},i.dynCall_viijii=function(){return(i.dynCall_viijii=i.asm.ca).apply(null,arguments)},i.dynCall_iiiiij=function(){return(i.dynCall_iiiiij=i.asm.da).apply(null,arguments)},i.dynCall_iiiiijj=function(){return(i.dynCall_iiiiijj=i.asm.ea).apply(null,arguments)},i.dynCall_iiiiiijj=function(){return(i.dynCall_iiiiiijj=i.asm.fa).apply(null,arguments)},H=function e(){bt||Lt(),bt||(H=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return Lt(),e.ready});"object"==typeof e&&"object"==typeof t?t.exports=s:"function"==typeof define&&define.amd?define([],(function(){return s})):"object"==typeof e&&(e.WebIFCWasm=s)}}),E=1971632696,g=2680139844,R=24726584,D=3693000487,S=3460952963,b=3999819293,N=3314249567,O=4196446775,A=325726236,x=3425753595,C=991950508,L=3798194928,P=3290496277,q=1383356374,_=2182337498,M=234836483,H=2078563270,B=1638804497,U=1154579445,F=2696325953,G=2713699986,V=2142170206,j=3376911765,z=1077100507,W=3071239417,k=479945903,Y=3426335179,X=1502416096,K=2940368186,Z=3203706013,Q=3862327254,J=1876633798,$=963979645,ee=644574406,te=3649138523,ne=1662888072,se=317615605,ie=1545765605,ae=4266260250,le=3956297820,re=1530820697,oe=840318589,ce=1953115116,ue=618700268,pe=2281632017,he=3663046924,de=42703149,fe=1894708472,Ie=3599934289,me=33720170,ye=1027922057,ve=544395925,we=3649235739,Te=550521510,Ee=146592293,ge=3818125796,Re=4021432810,De=1891881377,Se=3992365140,be=1763565496,Ne=1946335990,Oe=514975943,Ae=506776471,xe=710110818,Ce=1950438474,Le=976884017,Pe=525669439,qe=1770583370,_e=2176059722,Me=679976338,He=3948183225,Be=2568555532,Ue=2898700619,Fe=1594536857,Ge=4230923436,Ve=4228831410,je=1310830890,ze=24185140,We=4234616927,ke=1306400036,Ye=4189326743,Xe=2000195564,Ke=3497074424,Ze=1626504194,Qe=3651464721,Je=1229763772,$e=3665877780,et=782932809,tt=2735484536,nt=1356537516,st=1290935644,it=1862484736,at=1441486842,lt=1033248425,rt=3381221214,ot=2485787929,ct=590820931,ut=3465909080,pt=593015953,ht=4212018352,dt=3425423356,ft=823603102,It=2165702409,mt=222769930,yt=2691318326,vt=25142252,wt=3087945054,Tt=4288193352,Et=630975310,gt=4086658281,Rt=2295281155,Dt=182646315,St=1426591983,bt=819412036,Nt=3415622556,Ot=1003880860,At=402227799,xt=264262732,Ct=3310460725,Lt=862014818,Pt=1904799276,qt=1360408905,_t=3518393246,Mt=342316401,Ht=562808652,Bt=4074379575,Ut=3640358203,Ft=4136498852,Gt=2272882330,Vt=3571504051,jt=3221913625,zt=639361253,Wt=3902619387,kt=4217484030,Yt=1051757585,Xt=3758799889,Kt=635142910,Zt=2938176219,Qt=32344328,Jt=2906023776,$t=277319702,en=2056796094,tn=177149247,nn=1634111441,sn=486154966,an=4237592921,ln=4156078855,rn=4207607924,on=4292641817,cn=3179687236,un=3026737570,pn=3825984169,hn=812556717,dn=1162798199,fn=385403989,In=1404847402,mn=1999602285,yn=3420628829,vn=3027962421,wn=3127900445,Tn=1329646415,En=3053780830,gn=2572171363,Rn=1232101972,Dn=90941305,Sn=655969474,bn=738039164,Nn=1156407060,On=3612865200,An=310824031,xn=3694346114,Cn=144952367,Ln=2474470126,Pn=1911478936,qn=1437502449,_n=629592764,Mn=76236018,Hn=2176052936,Bn=4175244083,Un=2068733104,Fn=3319311131,Gn=2188021234,Vn=1209101575,jn=484807127,zn=3747195512,Wn=2814081492,kn=2417008758,Yn=3242481149,Xn=3205830791,Kn=400855858,Zn=905975707,Qn=1677625105,Jn=3296154744,$n=2674252688,es=2188180465,ts=1177604601,ns=39481116,ss=1136057603,is=2461110595,as=1532957894,ls=4088093105,rs=4009809668,os=926996030,cs=2391383451,us=2415094496,ps=3081323446,hs=413509423,ds=3101698114,fs=3657597509,Is=2757150158,ms=1004757350,ys=338393293,vs=1072016465,ws=4074543187,Ts=2157484638,Es=2781568857,gs=2310774935,Rs=964333572,Ds=683857671,Ss=1469900589,bs=2839578677,Ns=1158309216,Os=3079942009,As=1114901282,xs=3113134337,Cs=3946677679,Ls=2571569899,Ps=3493046030,qs=1509553395,_s=1893162501,Ms=2853485674,Hs=4148101412,Bs=132023988,Us=2397081782,Fs=2323601079,Gs=1213902940,Vs=1525564444,js=4105962743,zs=2185764099,Ws=15328376,ks=3875453745,Ys=3893394355,Xs=2197970202,Ks=167062518,Zs=2887950389,Qs=2603310189,Js=1635779807,$s=2916149573,ei=1935646853,ti=2387106220,ni=3206491090,si=699246055,ii=4095615324,ai=603775116,li=4015995234,ri=2481509218,oi=463610769,ci=710998568,ui=1412071761,pi=3663146110,hi=3243963512,di=816062949,fi=1521410863,Ii=3523091289,mi=427948657,yi=307848117,vi=1462361463,wi=2565941209,Ti=1027710054,Ei=3521284610,gi=492091185,Ri=653396225,Di=569719735,Si=3967405729,bi=1682466193,Ni=428585644,Oi=2294589976,Ai=178912537,xi=4095422895,Ci=2652556860,Li=2804161546,Pi=4024345920,qi=2629017746,_i=1815067380,Mi=3419103109,Hi=2574617495,Bi=2059837836,Ui=1675464909,Fi=574549367,Gi=3406155212,Vi=3698973494,ji=3736923433,zi=901063453,Wi=1096409881,ki=1042787934,Yi=1608871552,Xi=2943643501,Ki=2090586900,Zi=1482703590,Qi=3778827333,Ji=2998442950,$i=853536259,ea=3404854881,ta=3079605661,na=2852063980,sa=3708119e3,ia=1585845231,aa=2133299955,la=1437953363,ra=3570813810,oa=1437805879,ca=297599258,ua=211053100,pa=2713554722,ha=3285139300,da=1236880293,fa=3611470254,Ia=2771591690,ma=1549132990,ya=2934153892,va=609421318,wa=3478079324,Ta=3843373140,Ea=552965576,ga=164193824,Ra=2235152071,Da=1847252529,Sa=3057273783,ba=1785450214,Na=775493141,Oa=979691226,Aa=3700593921,xa=1062813311,Ca=1052013943,La=578613899,Pa=2454782716,qa=753842376,_a=3001207471,Ma=2874132201,Ha=3304561284,Ba=3512223829,Ua=2391406946,Fa=3313531582,Ga=2347447852,Va=3824725483,ja=2515109513,za=4252922144,Wa=331165859,ka=1529196076,Ya=1783015770,Xa=1376911519,Ka=2016517767,Za=2320036040,Qa=3027567501,Ja=3055160366,$a=3283111854,el=3024970846,tl=2262370178,nl=3171933400,sl=1687234759,il=1073191201,al=900683007,ll=3508470533,rl=2223149337,ol=707683696,cl=987401354,ul=3132237377,pl=4037862832,hl=4278956645,dl=2058353004,fl=4222183408,Il=1810631287,ml=346874300,yl=1658829314,vl=857184966,wl=1634875225,Tl=712377611,El=1217240411,gl=1365060375,Rl=1534661035,Dl=3277789161,Sl=663422040,bl=855621170,Nl=2030761528,Ol=3760055223,Al=869906466,xl=395920057,Cl=3041715199,Ll=3040386961,Pl=1945004755,ql=2063403501,_l=1599208980,Ml=2635815018,Hl=1335981549,Bl=4147604152,Ul=3961806047,Fl=3495092785,Gl=1973544240,Vl=2954562838,jl=335055490,zl=488727124,Wl=1060000209,kl=3898045240,Yl=1163958913,Xl=2188551683,Kl=2816379211,Zl=3850581409,Ql=843113511,Jl=2301859152,$l=2611217952,er=2951183804,tr=1285652485,nr=3293546465,sr=395041908,ir=1909888760,ar=1095909175,lr=2979338954,rr=52481810,or=3299480353,cr=231477066,ur=1916977116,pr=819618141,hr=1967976161,dr=3460190687,fr=2470393545,Ir=1871374353,mr=3352864051,yr=1411407467,vr=3821786052,wr=1213861670,Tr=1033361043,Er=3342526732,gr=4218914973,Rr=1028945134,Dr=1133259667,Sr=1898987631,br=2769231204,Nr=728799441,Or=1911125066,Ar=1600972822,xr=3593883385,Cr=1620046519,Lr=1692211062,Pr=1637806684,qr=5716631,_r=2254336722,Mr=2315554128,Hr=148013059,Br=1975003073,Ur=2986769608,Fr=1235345126,Gr=734778138,Vr=2082059205,jr=3987759626,zr=1621171031,Wr=1252848954,kr=1721250024,Yr=1807405624,Xr=2445595289,Kr=214636428,Zr=4243806635,Qr=1179482911,Jr=682877961,$r=1039846685,eo=3112655638,to=3812236995,no=652456506,so=1305183839,io=3856911033,ao=2533589738,lo=4097777520,ro=4105383287,oo=3517283431,co=1768891740,uo=2863920197,po=160246688,ho=2324767716,fo=2893384427,Io=3248260540,mo=2250791053,yo=1842657554,vo=3651124850,wo=3642467123,To=2904328755,Eo=2744685151,go=3740093272,Ro=3724593414,Do=4017108033,So=4231323485,bo=804291784,No=3327091369,Oo=2382730787,Ao=2837617999,xo=3425660407,Co=3588315303,Lo=4143007308,Po=1916936684,qo=977012517,_o=3181161470,Mo=2108223431,Ho=377706215,Bo=2506943328,Uo=1161773419,Fo=1051575348,Go=3827777499,Vo=4288270099,jo=2391368822,zo=1806887404,Wo=1251058090,ko=2706460486,Yo=3009204131,Xo=200128114,Ko=814719939,Zo=263784265,Qo=3009222698,Jo=2297155007,$o=1339347760,ec=1834744321,tc=1482959167,nc=3815607619,sc=3198132628,ic=3907093117,ac=1287392070,lc=2143335405,rc=2827207264,oc=2489546625,cc=647756555,uc=3737207727,pc=807026263,hc=3390157468,dc=3174744832,fc=3272907226,Ic=1962604670,mc=2107101300,yc=1704287377,vc=2590856083,wc=1623761950,Tc=4123344466,Ec=1758889154,gc=360485395,Rc=3849074793,Dc=3256556792,Sc=681481545,bc=1457835157,Nc=3295246426,Oc=1916426348,Ac=1419761937,xc=3895139033,Cc=3293443760,Lc=2559216714,Pc=2510884976,qc=3732776249,_c=300633059,Mc=2937912522,Hc=3124254112,Bc=1950629157,Uc=4031249490,Fc=1260505505,Gc=3649129432,Vc=1334484129,jc=3207858831,zc=1674181508,Wc=2296667514,kc=2097647324,Yc=3473067441,Xc=1580310250,Kc=4124788165,Zc=2809605785,Qc=2028607225,Jc=4070609034,$c=2218152070,eu=3979015343,tu=3689010777,nu=530289379,su=3136571912,iu=3544373492,au=451544542,lu=3893378262,ru=2706606064,ou=3626867408,cu=4158566097,uu=1856042241,pu=2914609552,hu=1401173127,du=3451746338,fu=366585022,Iu=4122056220,mu=1058617721,yu=1245217292,vu=750771296,wu=202636808,Tu=2051452291,Eu=3268803585,gu=4189434867,Ru=279856033,Du=3940055652,Su=781010003,bu=4186316022,Nu=693640335,Ou=2551354335,Au=2802773753,xu=886880790,Cu=3242617779,Lu=3678494232,Pu=504942748,qu=1638771189,_u=3912681535,Mu=2127690289,Hu=3190031847,Bu=4201705270,Uu=3945020480,Fu=1204542856,Gu=826625072,Vu=2851387026,ju=2655215786,zu=3840914261,Wu=982818633,ku=2728634034,Yu=919958153,Xu=4095574036,Ku=1327628568,Zu=1865459582,Qu=205026976,Ju=3372526763,$u=2857406711,ep=4278684876,tp=1307041759,np=2495723537,sp=1683148259,ip=3939117080,ap=3454111270,lp=2798486643,rp=2770003689,op=3219374653,cp=1451395588,up=4194566429,pp=103090709,hp=4208778838,dp=2945172077,fp=220341763,Ip=603570806,mp=3566463478,yp=3505215534,vp=3388369263,wp=3888040117,Tp=1425443689,Ep=1281925730,gp=572779678,Rp=1484403080,Dp=987898635,Sp=1268542332,bp=4238390223,Np=3455213021,Op=315944413,Ap=4203026998,xp=374418227,Cp=2047409740,Lp=477187591,Pp=80994333,qp=2835456948,_p=2777663545,Mp=339256511,Hp=1883228015,Bp=1472233963,Up=4006246654,Fp=445594917,Gp=3073041342,Vp=526551008,jp=1714330368,zp=2963535650,Wp=32440307,kp=4054601972,Yp=606661476,Xp=693772133,Kp=2827736869,Zp=2601014836,Qp=2147822146,Jp=2506170314,$p=194851669,eh=4133800736,th=2485617015,nh=2205249479,sh=1383045692,ih=1416205885,ah=3331915920,lh=3486308946,rh=3749851601,oh=59481748,ch=1123145078,uh=2898889636,ph=2713105998,hh=2581212453,dh=4182860854,fh=2736907675,Ih=2740243338,mh=3125803723,yh=4261334040,vh=1302238472,wh=2265737646,Th=669184980,Eh=3288037868,gh=2543172580,Rh=1299126871,Dh=512836454,Sh=336235671,bh=2759199220,Nh=1417489154,Oh=427810014,Ah=2347495698,xh=1628702193,Ch=1345879162,Lh=2715220739,Ph=3124975700,qh=4282788508,_h=3028897424,Mh=3071757647,Hh=230924584,Bh=1260650574,Uh=2247615214,Fh=1878645084,Gh=2513912981,Vh=2233826070,jh=3653947884,zh=3843319758,Wh=1190533807,kh=1597423693,Yh=1973038258,Xh=2473145415,Kh=2668620305,Zh=1595516126,Qh=390701378,Jh=1202362311,$h=2485662743,ed=723233188,td=2609359061,nd=4124623270,sd=2411513650,id=1509187699,ad=2778083089,ld=478536968,rd=3765753017,od=3413951693,cd=3615266464,ud=110355661,pd=3650150729,hd=3357820518,dd=941946838,fd=2752243245,Id=4166981789,md=1680319473,yd=871118103,vd=673634403,wd=179317114,Td=433424934,Ed=2559016684,gd=759155922,Rd=2775532180,Dd=2924175390,Sd=1423911732,bd=4022376103,Nd=2067069095,Od=1663979128,Ad=2004835150,xd=597895409,Cd=3021840470,Ld=2519244187,Pd=2529465313,qd=1029017970,_d=2665983363,Md=2833995503,Hd=219451334,Bd=1430189142,Ud=2022407955,Fd=2347385850,Gd=1008929658,Vd=2624227202,jd=3422422726,zd=1520743889,Wd=4266656042,kd=2604431987,Yd=125510826,Xd=1402838566,Kd=3741457305,Zd=3905492369,Qd=812098782,Jd=178086475,$d=3590301190,ef=4142052618,tf=2453401579,nf=3448662350,sf=738692330,af=4219587988,lf=3008276851,rf=803316827,of=1809719519,cf=2556980723,uf=476780140,pf=3900360178,hf=4170525392,df=3732053477,ff=3632507154,If=3800577675,mf=2889183280,yf=3050246964,vf=45288368,wf=1981873012,Tf=370225590,Ef=1485152156,gf=2542286263,Rf=776857604,Df=647927063,Sf=3150382593,bf=616511568,Nf=2705031697,Of=1310608509,Af=3798115385,xf=2297822566,Cf=3612888222,Lf=962685235,Pf=2442683028,qf=891718957,_f=1907098498,Mf=2799835756,Hf=180925521,Bf=1735638870,Uf=1377556343,Ff=1718945513,Gf=1210645708,Vf=2552916305,jf=1742049831,zf=280115917,Wf=1640371178,kf=2636378356,Yf=1983826977,Xf=1447204868,Kf=912023232,Zf=626085974,Qf=1351298697,Jf=846575682,$f=1607154358,eI=3303107099,tI=1300840506,nI=3049322572,sI=3958052878,iI=2830218821,aI=3408363356,lI=2525727697,rI=3692461612,oI=4240577450,cI=3982875396,uI=867548509,pI=4165799628,hI=2042790032,dI=448429030,fI=1660063152,II=1076942058,mI=1580146022,yI=2692823254,vI=825690147,wI=2405470396,TI=3252649465,EI=931644368,gI=2093928680,RI=2044713172,DI=3710013099,SI=148025276,bI=3896028662,NI=2598011224,OI=2802850158,AI=2095639259,xI=1304840413,CI=2022622350,LI=1775413392,PI=3213052703,qI=3727388367,_I=3355820592,MI=2226359599,HI=101040310,BI=2077209135,UI=1411181986,FI=4251960020,GI=2251480897,VI=3701648758,jI=3368373690,zI=677618848,WI=3265635763,kI=1303795690,YI=3303938423,XI=248100487,KI=1838606355,ZI=3452421091,QI=2655187982,JI=3548104201,$I=1040185647,em=2242383968,tm=3796139169,nm=770865208,sm=1154170062,im=3510044353,am=2367409068,lm=1105321065,rm=539742890,om=602808272,cm=347226245,um=613356794,pm=1658513725,hm=2732653382,dm=2614616156,fm=3264961684,Im=1098599126,mm=747523909,ym=2069777674,vm=1387855156,wm=3367102660,Tm=1560379544,Em=3869604511,gm=1110488051,Rm=599546466,Dm=1390159747,Sm=1109904537,bm=class{constructor(e){this.value=e,this.type=5}},Nm=class{constructor(e){this.expressID=e,this.type=0}},Om=[],Am={},xm={},Cm={},Lm={},Pm={},qm=[];function _m(e,t){return Array.isArray(t)&&t.map((t=>_m(e,t))),t.typecode?Pm[e][t.typecode](t.value):t.value}function Mm(e){return e.value=e.value.toString(),e.valueType=e.type,e.type=2,e.label=e.constructor.name.toUpperCase(),e}(i=s||(s={})).IFC2X3="IFC2X3",i.IFC4="IFC4",i.IFC4X3="IFC4X3",qm[1]=["IFC2X3","IFC2X_FINAL"],Om[1]={3630933823:(e,t)=>new a.IfcActorRole(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcText(t[2].value):null),618182010:(e,t)=>new a.IfcAddress(e,t[0],t[1]?new a.IfcText(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),639542469:(e,t)=>new a.IfcApplication(e,new bm(t[0].value),new a.IfcLabel(t[1].value),new a.IfcLabel(t[2].value),new a.IfcIdentifier(t[3].value)),411424972:(e,t)=>new a.IfcAppliedValue(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null),1110488051:(e,t)=>new a.IfcAppliedValueRelationship(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2],t[3]?new a.IfcLabel(t[3].value):null,t[4]?new a.IfcText(t[4].value):null),130549933:(e,t)=>new a.IfcApproval(e,t[0]?new a.IfcText(t[0].value):null,new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcLabel(t[3].value):null,t[4]?new a.IfcText(t[4].value):null,new a.IfcLabel(t[5].value),new a.IfcIdentifier(t[6].value)),2080292479:(e,t)=>new a.IfcApprovalActorRelationship(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value)),390851274:(e,t)=>new a.IfcApprovalPropertyRelationship(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value)),3869604511:(e,t)=>new a.IfcApprovalRelationship(e,new bm(t[0].value),new bm(t[1].value),t[2]?new a.IfcText(t[2].value):null,new a.IfcLabel(t[3].value)),4037036970:(e,t)=>new a.IfcBoundaryCondition(e,t[0]?new a.IfcLabel(t[0].value):null),1560379544:(e,t)=>new a.IfcBoundaryEdgeCondition(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcModulusOfLinearSubgradeReactionMeasure(t[1].value):null,t[2]?new a.IfcModulusOfLinearSubgradeReactionMeasure(t[2].value):null,t[3]?new a.IfcModulusOfLinearSubgradeReactionMeasure(t[3].value):null,t[4]?new a.IfcModulusOfRotationalSubgradeReactionMeasure(t[4].value):null,t[5]?new a.IfcModulusOfRotationalSubgradeReactionMeasure(t[5].value):null,t[6]?new a.IfcModulusOfRotationalSubgradeReactionMeasure(t[6].value):null),3367102660:(e,t)=>new a.IfcBoundaryFaceCondition(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcModulusOfSubgradeReactionMeasure(t[1].value):null,t[2]?new a.IfcModulusOfSubgradeReactionMeasure(t[2].value):null,t[3]?new a.IfcModulusOfSubgradeReactionMeasure(t[3].value):null),1387855156:(e,t)=>new a.IfcBoundaryNodeCondition(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLinearStiffnessMeasure(t[1].value):null,t[2]?new a.IfcLinearStiffnessMeasure(t[2].value):null,t[3]?new a.IfcLinearStiffnessMeasure(t[3].value):null,t[4]?new a.IfcRotationalStiffnessMeasure(t[4].value):null,t[5]?new a.IfcRotationalStiffnessMeasure(t[5].value):null,t[6]?new a.IfcRotationalStiffnessMeasure(t[6].value):null),2069777674:(e,t)=>new a.IfcBoundaryNodeConditionWarping(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLinearStiffnessMeasure(t[1].value):null,t[2]?new a.IfcLinearStiffnessMeasure(t[2].value):null,t[3]?new a.IfcLinearStiffnessMeasure(t[3].value):null,t[4]?new a.IfcRotationalStiffnessMeasure(t[4].value):null,t[5]?new a.IfcRotationalStiffnessMeasure(t[5].value):null,t[6]?new a.IfcRotationalStiffnessMeasure(t[6].value):null,t[7]?new a.IfcWarpingMomentMeasure(t[7].value):null),622194075:(e,t)=>new a.IfcCalendarDate(e,new a.IfcDayInMonthNumber(t[0].value),new a.IfcMonthInYearNumber(t[1].value),new a.IfcYearNumber(t[2].value)),747523909:(e,t)=>new a.IfcClassification(e,new a.IfcLabel(t[0].value),new a.IfcLabel(t[1].value),t[2]?new bm(t[2].value):null,new a.IfcLabel(t[3].value)),1767535486:(e,t)=>new a.IfcClassificationItem(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new a.IfcLabel(t[2].value)),1098599126:(e,t)=>new a.IfcClassificationItemRelationship(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),938368621:(e,t)=>new a.IfcClassificationNotation(e,t[0].map((e=>new bm(e.value)))),3639012971:(e,t)=>new a.IfcClassificationNotationFacet(e,new a.IfcLabel(t[0].value)),3264961684:(e,t)=>new a.IfcColourSpecification(e,t[0]?new a.IfcLabel(t[0].value):null),2859738748:(e,t)=>new a.IfcConnectionGeometry(e),2614616156:(e,t)=>new a.IfcConnectionPointGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),4257277454:(e,t)=>new a.IfcConnectionPortGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value)),2732653382:(e,t)=>new a.IfcConnectionSurfaceGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),1959218052:(e,t)=>new a.IfcConstraint(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2],t[3]?new a.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null),1658513725:(e,t)=>new a.IfcConstraintAggregationRelationship(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value))),t[4]),613356794:(e,t)=>new a.IfcConstraintClassificationRelationship(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),347226245:(e,t)=>new a.IfcConstraintRelationship(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),1065062679:(e,t)=>new a.IfcCoordinatedUniversalTimeOffset(e,new a.IfcHourInDay(t[0].value),t[1]?new a.IfcMinuteInHour(t[1].value):null,t[2]),602808272:(e,t)=>new a.IfcCostValue(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null,new a.IfcLabel(t[6].value),t[7]?new a.IfcText(t[7].value):null),539742890:(e,t)=>new a.IfcCurrencyRelationship(e,new bm(t[0].value),new bm(t[1].value),new a.IfcPositiveRatioMeasure(t[2].value),new bm(t[3].value),t[4]?new bm(t[4].value):null),1105321065:(e,t)=>new a.IfcCurveStyleFont(e,t[0]?new a.IfcLabel(t[0].value):null,t[1].map((e=>new bm(e.value)))),2367409068:(e,t)=>new a.IfcCurveStyleFontAndScaling(e,t[0]?new a.IfcLabel(t[0].value):null,new bm(t[1].value),new a.IfcPositiveRatioMeasure(t[2].value)),3510044353:(e,t)=>new a.IfcCurveStyleFontPattern(e,new a.IfcLengthMeasure(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value)),1072939445:(e,t)=>new a.IfcDateAndTime(e,new bm(t[0].value),new bm(t[1].value)),1765591967:(e,t)=>new a.IfcDerivedUnit(e,t[0].map((e=>new bm(e.value))),t[1],t[2]?new a.IfcLabel(t[2].value):null),1045800335:(e,t)=>new a.IfcDerivedUnitElement(e,new bm(t[0].value),t[1].value),2949456006:(e,t)=>new a.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value),1376555844:(e,t)=>new a.IfcDocumentElectronicFormat(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),1154170062:(e,t)=>new a.IfcDocumentInformation(e,new a.IfcIdentifier(t[0].value),new a.IfcLabel(t[1].value),t[2]?new a.IfcText(t[2].value):null,t[3]?t[3].map((e=>new bm(e.value))):null,t[4]?new a.IfcText(t[4].value):null,t[5]?new a.IfcText(t[5].value):null,t[6]?new a.IfcText(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new bm(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]?new bm(t[11].value):null,t[12]?new bm(t[12].value):null,t[13]?new bm(t[13].value):null,t[14]?new bm(t[14].value):null,t[15],t[16]),770865208:(e,t)=>new a.IfcDocumentInformationRelationship(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),3796139169:(e,t)=>new a.IfcDraughtingCalloutRelationship(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value)),1648886627:(e,t)=>new a.IfcEnvironmentalImpactValue(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null,new a.IfcLabel(t[6].value),t[7],t[8]?new a.IfcLabel(t[8].value):null),3200245327:(e,t)=>new a.IfcExternalReference(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcIdentifier(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),2242383968:(e,t)=>new a.IfcExternallyDefinedHatchStyle(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcIdentifier(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),1040185647:(e,t)=>new a.IfcExternallyDefinedSurfaceStyle(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcIdentifier(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),3207319532:(e,t)=>new a.IfcExternallyDefinedSymbol(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcIdentifier(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),3548104201:(e,t)=>new a.IfcExternallyDefinedTextFont(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcIdentifier(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),852622518:(e,t)=>new a.IfcGridAxis(e,t[0]?new a.IfcLabel(t[0].value):null,new bm(t[1].value),new a.IfcBoolean(t[2].value)),3020489413:(e,t)=>new a.IfcIrregularTimeSeriesValue(e,new bm(t[0].value),t[1].map((e=>_m(1,e)))),2655187982:(e,t)=>new a.IfcLibraryInformation(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new bm(e.value))):null),3452421091:(e,t)=>new a.IfcLibraryReference(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcIdentifier(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),4162380809:(e,t)=>new a.IfcLightDistributionData(e,new a.IfcPlaneAngleMeasure(t[0].value),t[1].map((e=>new a.IfcPlaneAngleMeasure(e.value))),t[2].map((e=>new a.IfcLuminousIntensityDistributionMeasure(e.value)))),1566485204:(e,t)=>new a.IfcLightIntensityDistribution(e,t[0],t[1].map((e=>new bm(e.value)))),30780891:(e,t)=>new a.IfcLocalTime(e,new a.IfcHourInDay(t[0].value),t[1]?new a.IfcMinuteInHour(t[1].value):null,t[2]?new a.IfcSecondInMinute(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new a.IfcDaylightSavingHour(t[4].value):null),1838606355:(e,t)=>new a.IfcMaterial(e,new a.IfcLabel(t[0].value)),1847130766:(e,t)=>new a.IfcMaterialClassificationRelationship(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value)),248100487:(e,t)=>new a.IfcMaterialLayer(e,t[0]?new bm(t[0].value):null,new a.IfcPositiveLengthMeasure(t[1].value),t[2]?new a.IfcLogical(t[2].value):null),3303938423:(e,t)=>new a.IfcMaterialLayerSet(e,t[0].map((e=>new bm(e.value))),t[1]?new a.IfcLabel(t[1].value):null),1303795690:(e,t)=>new a.IfcMaterialLayerSetUsage(e,new bm(t[0].value),t[1],t[2],new a.IfcLengthMeasure(t[3].value)),2199411900:(e,t)=>new a.IfcMaterialList(e,t[0].map((e=>new bm(e.value)))),3265635763:(e,t)=>new a.IfcMaterialProperties(e,new bm(t[0].value)),2597039031:(e,t)=>new a.IfcMeasureWithUnit(e,_m(1,t[0]),new bm(t[1].value)),4256014907:(e,t)=>new a.IfcMechanicalMaterialProperties(e,new bm(t[0].value),t[1]?new a.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new a.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new a.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new a.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new a.IfcThermalExpansionCoefficientMeasure(t[5].value):null),677618848:(e,t)=>new a.IfcMechanicalSteelMaterialProperties(e,new bm(t[0].value),t[1]?new a.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new a.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new a.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new a.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new a.IfcThermalExpansionCoefficientMeasure(t[5].value):null,t[6]?new a.IfcPressureMeasure(t[6].value):null,t[7]?new a.IfcPressureMeasure(t[7].value):null,t[8]?new a.IfcPositiveRatioMeasure(t[8].value):null,t[9]?new a.IfcModulusOfElasticityMeasure(t[9].value):null,t[10]?new a.IfcPressureMeasure(t[10].value):null,t[11]?new a.IfcPositiveRatioMeasure(t[11].value):null,t[12]?t[12].map((e=>new bm(e.value))):null),3368373690:(e,t)=>new a.IfcMetric(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2],t[3]?new a.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7],t[8]?new a.IfcLabel(t[8].value):null,new bm(t[9].value)),2706619895:(e,t)=>new a.IfcMonetaryUnit(e,t[0]),1918398963:(e,t)=>new a.IfcNamedUnit(e,new bm(t[0].value),t[1]),3701648758:(e,t)=>new a.IfcObjectPlacement(e),2251480897:(e,t)=>new a.IfcObjective(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2],t[3]?new a.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null,t[9],t[10]?new a.IfcLabel(t[10].value):null),1227763645:(e,t)=>new a.IfcOpticalMaterialProperties(e,new bm(t[0].value),t[1]?new a.IfcPositiveRatioMeasure(t[1].value):null,t[2]?new a.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new a.IfcPositiveRatioMeasure(t[3].value):null,t[4]?new a.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new a.IfcPositiveRatioMeasure(t[5].value):null,t[6]?new a.IfcPositiveRatioMeasure(t[6].value):null,t[7]?new a.IfcPositiveRatioMeasure(t[7].value):null,t[8]?new a.IfcPositiveRatioMeasure(t[8].value):null,t[9]?new a.IfcPositiveRatioMeasure(t[9].value):null),4251960020:(e,t)=>new a.IfcOrganization(e,t[0]?new a.IfcIdentifier(t[0].value):null,new a.IfcLabel(t[1].value),t[2]?new a.IfcText(t[2].value):null,t[3]?t[3].map((e=>new bm(e.value))):null,t[4]?t[4].map((e=>new bm(e.value))):null),1411181986:(e,t)=>new a.IfcOrganizationRelationship(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),1207048766:(e,t)=>new a.IfcOwnerHistory(e,new bm(t[0].value),new bm(t[1].value),t[2],t[3],t[4]?new a.IfcTimeStamp(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new a.IfcTimeStamp(t[7].value)),2077209135:(e,t)=>new a.IfcPerson(e,t[0]?new a.IfcIdentifier(t[0].value):null,t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3]?t[3].map((e=>new a.IfcLabel(e.value))):null,t[4]?t[4].map((e=>new a.IfcLabel(e.value))):null,t[5]?t[5].map((e=>new a.IfcLabel(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?t[7].map((e=>new bm(e.value))):null),101040310:(e,t)=>new a.IfcPersonAndOrganization(e,new bm(t[0].value),new bm(t[1].value),t[2]?t[2].map((e=>new bm(e.value))):null),2483315170:(e,t)=>new a.IfcPhysicalQuantity(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null),2226359599:(e,t)=>new a.IfcPhysicalSimpleQuantity(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null),3355820592:(e,t)=>new a.IfcPostalAddress(e,t[0],t[1]?new a.IfcText(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcLabel(t[3].value):null,t[4]?t[4].map((e=>new a.IfcLabel(e.value))):null,t[5]?new a.IfcLabel(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]?new a.IfcLabel(t[9].value):null),3727388367:(e,t)=>new a.IfcPreDefinedItem(e,new a.IfcLabel(t[0].value)),990879717:(e,t)=>new a.IfcPreDefinedSymbol(e,new a.IfcLabel(t[0].value)),3213052703:(e,t)=>new a.IfcPreDefinedTerminatorSymbol(e,new a.IfcLabel(t[0].value)),1775413392:(e,t)=>new a.IfcPreDefinedTextFont(e,new a.IfcLabel(t[0].value)),2022622350:(e,t)=>new a.IfcPresentationLayerAssignment(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new a.IfcIdentifier(t[3].value):null),1304840413:(e,t)=>new a.IfcPresentationLayerWithStyle(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new a.IfcIdentifier(t[3].value):null,t[4].value,t[5].value,t[6].value,t[7]?t[7].map((e=>new bm(e.value))):null),3119450353:(e,t)=>new a.IfcPresentationStyle(e,t[0]?new a.IfcLabel(t[0].value):null),2417041796:(e,t)=>new a.IfcPresentationStyleAssignment(e,t[0].map((e=>new bm(e.value)))),2095639259:(e,t)=>new a.IfcProductRepresentation(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value)))),2267347899:(e,t)=>new a.IfcProductsOfCombustionProperties(e,new bm(t[0].value),t[1]?new a.IfcSpecificHeatCapacityMeasure(t[1].value):null,t[2]?new a.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new a.IfcPositiveRatioMeasure(t[3].value):null,t[4]?new a.IfcPositiveRatioMeasure(t[4].value):null),3958567839:(e,t)=>new a.IfcProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null),2802850158:(e,t)=>new a.IfcProfileProperties(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null),2598011224:(e,t)=>new a.IfcProperty(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null),3896028662:(e,t)=>new a.IfcPropertyConstraintRelationship(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null),148025276:(e,t)=>new a.IfcPropertyDependencyRelationship(e,new bm(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcText(t[4].value):null),3710013099:(e,t)=>new a.IfcPropertyEnumeration(e,new a.IfcLabel(t[0].value),t[1].map((e=>_m(1,e))),t[2]?new bm(t[2].value):null),2044713172:(e,t)=>new a.IfcQuantityArea(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new a.IfcAreaMeasure(t[3].value)),2093928680:(e,t)=>new a.IfcQuantityCount(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new a.IfcCountMeasure(t[3].value)),931644368:(e,t)=>new a.IfcQuantityLength(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new a.IfcLengthMeasure(t[3].value)),3252649465:(e,t)=>new a.IfcQuantityTime(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new a.IfcTimeMeasure(t[3].value)),2405470396:(e,t)=>new a.IfcQuantityVolume(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new a.IfcVolumeMeasure(t[3].value)),825690147:(e,t)=>new a.IfcQuantityWeight(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new a.IfcMassMeasure(t[3].value)),2692823254:(e,t)=>new a.IfcReferencesValueDocument(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null),1580146022:(e,t)=>new a.IfcReinforcementBarProperties(e,new a.IfcAreaMeasure(t[0].value),new a.IfcLabel(t[1].value),t[2],t[3]?new a.IfcLengthMeasure(t[3].value):null,t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new a.IfcCountMeasure(t[5].value):null),1222501353:(e,t)=>new a.IfcRelaxation(e,new a.IfcNormalisedRatioMeasure(t[0].value),new a.IfcNormalisedRatioMeasure(t[1].value)),1076942058:(e,t)=>new a.IfcRepresentation(e,new bm(t[0].value),t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),3377609919:(e,t)=>new a.IfcRepresentationContext(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLabel(t[1].value):null),3008791417:(e,t)=>new a.IfcRepresentationItem(e),1660063152:(e,t)=>new a.IfcRepresentationMap(e,new bm(t[0].value),new bm(t[1].value)),3679540991:(e,t)=>new a.IfcRibPlateProfileProperties(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?new a.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new a.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new a.IfcPositiveLengthMeasure(t[5].value):null,t[6]),2341007311:(e,t)=>new a.IfcRoot(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null),448429030:(e,t)=>new a.IfcSIUnit(e,t[0],t[1],t[2]),2042790032:(e,t)=>new a.IfcSectionProperties(e,t[0],new bm(t[1].value),t[2]?new bm(t[2].value):null),4165799628:(e,t)=>new a.IfcSectionReinforcementProperties(e,new a.IfcLengthMeasure(t[0].value),new a.IfcLengthMeasure(t[1].value),t[2]?new a.IfcLengthMeasure(t[2].value):null,t[3],new bm(t[4].value),t[5].map((e=>new bm(e.value)))),867548509:(e,t)=>new a.IfcShapeAspect(e,t[0].map((e=>new bm(e.value))),t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcText(t[2].value):null,t[3].value,new bm(t[4].value)),3982875396:(e,t)=>new a.IfcShapeModel(e,new bm(t[0].value),t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),4240577450:(e,t)=>new a.IfcShapeRepresentation(e,new bm(t[0].value),t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),3692461612:(e,t)=>new a.IfcSimpleProperty(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null),2273995522:(e,t)=>new a.IfcStructuralConnectionCondition(e,t[0]?new a.IfcLabel(t[0].value):null),2162789131:(e,t)=>new a.IfcStructuralLoad(e,t[0]?new a.IfcLabel(t[0].value):null),2525727697:(e,t)=>new a.IfcStructuralLoadStatic(e,t[0]?new a.IfcLabel(t[0].value):null),3408363356:(e,t)=>new a.IfcStructuralLoadTemperature(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new a.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new a.IfcThermodynamicTemperatureMeasure(t[3].value):null),2830218821:(e,t)=>new a.IfcStyleModel(e,new bm(t[0].value),t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),3958052878:(e,t)=>new a.IfcStyledItem(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),3049322572:(e,t)=>new a.IfcStyledRepresentation(e,new bm(t[0].value),t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),1300840506:(e,t)=>new a.IfcSurfaceStyle(e,t[0]?new a.IfcLabel(t[0].value):null,t[1],t[2].map((e=>new bm(e.value)))),3303107099:(e,t)=>new a.IfcSurfaceStyleLighting(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new bm(t[3].value)),1607154358:(e,t)=>new a.IfcSurfaceStyleRefraction(e,t[0]?new a.IfcReal(t[0].value):null,t[1]?new a.IfcReal(t[1].value):null),846575682:(e,t)=>new a.IfcSurfaceStyleShading(e,new bm(t[0].value)),1351298697:(e,t)=>new a.IfcSurfaceStyleWithTextures(e,t[0].map((e=>new bm(e.value)))),626085974:(e,t)=>new a.IfcSurfaceTexture(e,t[0].value,t[1].value,t[2],t[3]?new bm(t[3].value):null),1290481447:(e,t)=>new a.IfcSymbolStyle(e,t[0]?new a.IfcLabel(t[0].value):null,_m(1,t[1])),985171141:(e,t)=>new a.IfcTable(e,t[0].value,t[1].map((e=>new bm(e.value)))),531007025:(e,t)=>new a.IfcTableRow(e,t[0].map((e=>_m(1,e))),t[1].value),912023232:(e,t)=>new a.IfcTelecomAddress(e,t[0],t[1]?new a.IfcText(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3]?t[3].map((e=>new a.IfcLabel(e.value))):null,t[4]?t[4].map((e=>new a.IfcLabel(e.value))):null,t[5]?new a.IfcLabel(t[5].value):null,t[6]?t[6].map((e=>new a.IfcLabel(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null),1447204868:(e,t)=>new a.IfcTextStyle(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?new bm(t[2].value):null,new bm(t[3].value)),1983826977:(e,t)=>new a.IfcTextStyleFontModel(e,new a.IfcLabel(t[0].value),t[1]?t[1].map((e=>new a.IfcTextFontName(e.value))):null,t[2]?new a.IfcFontStyle(t[2].value):null,t[3]?new a.IfcFontVariant(t[3].value):null,t[4]?new a.IfcFontWeight(t[4].value):null,_m(1,t[5])),2636378356:(e,t)=>new a.IfcTextStyleForDefinedFont(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),1640371178:(e,t)=>new a.IfcTextStyleTextModel(e,t[0]?_m(1,t[0]):null,t[1]?new a.IfcTextAlignment(t[1].value):null,t[2]?new a.IfcTextDecoration(t[2].value):null,t[3]?_m(1,t[3]):null,t[4]?_m(1,t[4]):null,t[5]?new a.IfcTextTransformation(t[5].value):null,t[6]?_m(1,t[6]):null),1484833681:(e,t)=>new a.IfcTextStyleWithBoxCharacteristics(e,t[0]?new a.IfcPositiveLengthMeasure(t[0].value):null,t[1]?new a.IfcPositiveLengthMeasure(t[1].value):null,t[2]?new a.IfcPlaneAngleMeasure(t[2].value):null,t[3]?new a.IfcPlaneAngleMeasure(t[3].value):null,t[4]?_m(1,t[4]):null),280115917:(e,t)=>new a.IfcTextureCoordinate(e),1742049831:(e,t)=>new a.IfcTextureCoordinateGenerator(e,new a.IfcLabel(t[0].value),t[1].map((e=>_m(1,e)))),2552916305:(e,t)=>new a.IfcTextureMap(e,t[0].map((e=>new bm(e.value)))),1210645708:(e,t)=>new a.IfcTextureVertex(e,t[0].map((e=>new a.IfcParameterValue(e.value)))),3317419933:(e,t)=>new a.IfcThermalMaterialProperties(e,new bm(t[0].value),t[1]?new a.IfcSpecificHeatCapacityMeasure(t[1].value):null,t[2]?new a.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new a.IfcThermodynamicTemperatureMeasure(t[3].value):null,t[4]?new a.IfcThermalConductivityMeasure(t[4].value):null),3101149627:(e,t)=>new a.IfcTimeSeries(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4],t[5],t[6]?new a.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null),1718945513:(e,t)=>new a.IfcTimeSeriesReferenceRelationship(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),581633288:(e,t)=>new a.IfcTimeSeriesValue(e,t[0].map((e=>_m(1,e)))),1377556343:(e,t)=>new a.IfcTopologicalRepresentationItem(e),1735638870:(e,t)=>new a.IfcTopologyRepresentation(e,new bm(t[0].value),t[1]?new a.IfcLabel(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),180925521:(e,t)=>new a.IfcUnitAssignment(e,t[0].map((e=>new bm(e.value)))),2799835756:(e,t)=>new a.IfcVertex(e),3304826586:(e,t)=>new a.IfcVertexBasedTextureMap(e,t[0].map((e=>new bm(e.value))),t[1].map((e=>new bm(e.value)))),1907098498:(e,t)=>new a.IfcVertexPoint(e,new bm(t[0].value)),891718957:(e,t)=>new a.IfcVirtualGridIntersection(e,t[0].map((e=>new bm(e.value))),t[1].map((e=>new a.IfcLengthMeasure(e.value)))),1065908215:(e,t)=>new a.IfcWaterProperties(e,new bm(t[0].value),t[1]?t[1].value:null,t[2]?new a.IfcIonConcentrationMeasure(t[2].value):null,t[3]?new a.IfcIonConcentrationMeasure(t[3].value):null,t[4]?new a.IfcIonConcentrationMeasure(t[4].value):null,t[5]?new a.IfcNormalisedRatioMeasure(t[5].value):null,t[6]?new a.IfcPHMeasure(t[6].value):null,t[7]?new a.IfcNormalisedRatioMeasure(t[7].value):null),2442683028:(e,t)=>new a.IfcAnnotationOccurrence(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),962685235:(e,t)=>new a.IfcAnnotationSurfaceOccurrence(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),3612888222:(e,t)=>new a.IfcAnnotationSymbolOccurrence(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),2297822566:(e,t)=>new a.IfcAnnotationTextOccurrence(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),3798115385:(e,t)=>new a.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value)),1310608509:(e,t)=>new a.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value)),2705031697:(e,t)=>new a.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),616511568:(e,t)=>new a.IfcBlobTexture(e,t[0].value,t[1].value,t[2],t[3]?new bm(t[3].value):null,new a.IfcIdentifier(t[4].value),t[5].value),3150382593:(e,t)=>new a.IfcCenterLineProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value)),647927063:(e,t)=>new a.IfcClassificationReference(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcIdentifier(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,t[3]?new bm(t[3].value):null),776857604:(e,t)=>new a.IfcColourRgb(e,t[0]?new a.IfcLabel(t[0].value):null,new a.IfcNormalisedRatioMeasure(t[1].value),new a.IfcNormalisedRatioMeasure(t[2].value),new a.IfcNormalisedRatioMeasure(t[3].value)),2542286263:(e,t)=>new a.IfcComplexProperty(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null,new a.IfcIdentifier(t[2].value),t[3].map((e=>new bm(e.value)))),1485152156:(e,t)=>new a.IfcCompositeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new a.IfcLabel(t[3].value):null),370225590:(e,t)=>new a.IfcConnectedFaceSet(e,t[0].map((e=>new bm(e.value)))),1981873012:(e,t)=>new a.IfcConnectionCurveGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),45288368:(e,t)=>new a.IfcConnectionPointEccentricity(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new a.IfcLengthMeasure(t[2].value):null,t[3]?new a.IfcLengthMeasure(t[3].value):null,t[4]?new a.IfcLengthMeasure(t[4].value):null),3050246964:(e,t)=>new a.IfcContextDependentUnit(e,new bm(t[0].value),t[1],new a.IfcLabel(t[2].value)),2889183280:(e,t)=>new a.IfcConversionBasedUnit(e,new bm(t[0].value),t[1],new a.IfcLabel(t[2].value),new bm(t[3].value)),3800577675:(e,t)=>new a.IfcCurveStyle(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?_m(1,t[2]):null,t[3]?new bm(t[3].value):null),3632507154:(e,t)=>new a.IfcDerivedProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4]?new a.IfcLabel(t[4].value):null),2273265877:(e,t)=>new a.IfcDimensionCalloutRelationship(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value)),1694125774:(e,t)=>new a.IfcDimensionPair(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value)),3732053477:(e,t)=>new a.IfcDocumentReference(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcIdentifier(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null),4170525392:(e,t)=>new a.IfcDraughtingPreDefinedTextFont(e,new a.IfcLabel(t[0].value)),3900360178:(e,t)=>new a.IfcEdge(e,new bm(t[0].value),new bm(t[1].value)),476780140:(e,t)=>new a.IfcEdgeCurve(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),t[3].value),1860660968:(e,t)=>new a.IfcExtendedMaterialProperties(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]?new a.IfcText(t[2].value):null,new a.IfcLabel(t[3].value)),2556980723:(e,t)=>new a.IfcFace(e,t[0].map((e=>new bm(e.value)))),1809719519:(e,t)=>new a.IfcFaceBound(e,new bm(t[0].value),t[1].value),803316827:(e,t)=>new a.IfcFaceOuterBound(e,new bm(t[0].value),t[1].value),3008276851:(e,t)=>new a.IfcFaceSurface(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),t[2].value),4219587988:(e,t)=>new a.IfcFailureConnectionCondition(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcForceMeasure(t[1].value):null,t[2]?new a.IfcForceMeasure(t[2].value):null,t[3]?new a.IfcForceMeasure(t[3].value):null,t[4]?new a.IfcForceMeasure(t[4].value):null,t[5]?new a.IfcForceMeasure(t[5].value):null,t[6]?new a.IfcForceMeasure(t[6].value):null),738692330:(e,t)=>new a.IfcFillAreaStyle(e,t[0]?new a.IfcLabel(t[0].value):null,t[1].map((e=>new bm(e.value)))),3857492461:(e,t)=>new a.IfcFuelProperties(e,new bm(t[0].value),t[1]?new a.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new a.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new a.IfcHeatingValueMeasure(t[3].value):null,t[4]?new a.IfcHeatingValueMeasure(t[4].value):null),803998398:(e,t)=>new a.IfcGeneralMaterialProperties(e,new bm(t[0].value),t[1]?new a.IfcMolecularWeightMeasure(t[1].value):null,t[2]?new a.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new a.IfcMassDensityMeasure(t[3].value):null),1446786286:(e,t)=>new a.IfcGeneralProfileProperties(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?new a.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new a.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new a.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new a.IfcAreaMeasure(t[6].value):null),3448662350:(e,t)=>new a.IfcGeometricRepresentationContext(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLabel(t[1].value):null,new a.IfcDimensionCount(t[2].value),t[3]?t[3].value:null,new bm(t[4].value),t[5]?new bm(t[5].value):null),2453401579:(e,t)=>new a.IfcGeometricRepresentationItem(e),4142052618:(e,t)=>new a.IfcGeometricRepresentationSubContext(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),t[3]?new a.IfcPositiveRatioMeasure(t[3].value):null,t[4],t[5]?new a.IfcLabel(t[5].value):null),3590301190:(e,t)=>new a.IfcGeometricSet(e,t[0].map((e=>new bm(e.value)))),178086475:(e,t)=>new a.IfcGridPlacement(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),812098782:(e,t)=>new a.IfcHalfSpaceSolid(e,new bm(t[0].value),t[1].value),2445078500:(e,t)=>new a.IfcHygroscopicMaterialProperties(e,new bm(t[0].value),t[1]?new a.IfcPositiveRatioMeasure(t[1].value):null,t[2]?new a.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new a.IfcIsothermalMoistureCapacityMeasure(t[3].value):null,t[4]?new a.IfcVaporPermeabilityMeasure(t[4].value):null,t[5]?new a.IfcMoistureDiffusivityMeasure(t[5].value):null),3905492369:(e,t)=>new a.IfcImageTexture(e,t[0].value,t[1].value,t[2],t[3]?new bm(t[3].value):null,new a.IfcIdentifier(t[4].value)),3741457305:(e,t)=>new a.IfcIrregularTimeSeries(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4],t[5],t[6]?new a.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,t[8].map((e=>new bm(e.value)))),1402838566:(e,t)=>new a.IfcLightSource(e,t[0]?new a.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new a.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new a.IfcNormalisedRatioMeasure(t[3].value):null),125510826:(e,t)=>new a.IfcLightSourceAmbient(e,t[0]?new a.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new a.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new a.IfcNormalisedRatioMeasure(t[3].value):null),2604431987:(e,t)=>new a.IfcLightSourceDirectional(e,t[0]?new a.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new a.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new a.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value)),4266656042:(e,t)=>new a.IfcLightSourceGoniometric(e,t[0]?new a.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new a.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new a.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),t[5]?new bm(t[5].value):null,new a.IfcThermodynamicTemperatureMeasure(t[6].value),new a.IfcLuminousFluxMeasure(t[7].value),t[8],new bm(t[9].value)),1520743889:(e,t)=>new a.IfcLightSourcePositional(e,t[0]?new a.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new a.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new a.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcReal(t[6].value),new a.IfcReal(t[7].value),new a.IfcReal(t[8].value)),3422422726:(e,t)=>new a.IfcLightSourceSpot(e,t[0]?new a.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new a.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new a.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcReal(t[6].value),new a.IfcReal(t[7].value),new a.IfcReal(t[8].value),new bm(t[9].value),t[10]?new a.IfcReal(t[10].value):null,new a.IfcPositivePlaneAngleMeasure(t[11].value),new a.IfcPositivePlaneAngleMeasure(t[12].value)),2624227202:(e,t)=>new a.IfcLocalPlacement(e,t[0]?new bm(t[0].value):null,new bm(t[1].value)),1008929658:(e,t)=>new a.IfcLoop(e),2347385850:(e,t)=>new a.IfcMappedItem(e,new bm(t[0].value),new bm(t[1].value)),2022407955:(e,t)=>new a.IfcMaterialDefinitionRepresentation(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),1430189142:(e,t)=>new a.IfcMechanicalConcreteMaterialProperties(e,new bm(t[0].value),t[1]?new a.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new a.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new a.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new a.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new a.IfcThermalExpansionCoefficientMeasure(t[5].value):null,t[6]?new a.IfcPressureMeasure(t[6].value):null,t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new a.IfcText(t[8].value):null,t[9]?new a.IfcText(t[9].value):null,t[10]?new a.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new a.IfcText(t[11].value):null),219451334:(e,t)=>new a.IfcObjectDefinition(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null),2833995503:(e,t)=>new a.IfcOneDirectionRepeatFactor(e,new bm(t[0].value)),2665983363:(e,t)=>new a.IfcOpenShell(e,t[0].map((e=>new bm(e.value)))),1029017970:(e,t)=>new a.IfcOrientedEdge(e,new bm(t[0].value),t[1].value),2529465313:(e,t)=>new a.IfcParameterizedProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value)),2519244187:(e,t)=>new a.IfcPath(e,t[0].map((e=>new bm(e.value)))),3021840470:(e,t)=>new a.IfcPhysicalComplexQuantity(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new a.IfcLabel(t[3].value),t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcLabel(t[5].value):null),597895409:(e,t)=>new a.IfcPixelTexture(e,t[0].value,t[1].value,t[2],t[3]?new bm(t[3].value):null,new a.IfcInteger(t[4].value),new a.IfcInteger(t[5].value),new a.IfcInteger(t[6].value),t[7].map((e=>e.value))),2004835150:(e,t)=>new a.IfcPlacement(e,new bm(t[0].value)),1663979128:(e,t)=>new a.IfcPlanarExtent(e,new a.IfcLengthMeasure(t[0].value),new a.IfcLengthMeasure(t[1].value)),2067069095:(e,t)=>new a.IfcPoint(e),4022376103:(e,t)=>new a.IfcPointOnCurve(e,new bm(t[0].value),new a.IfcParameterValue(t[1].value)),1423911732:(e,t)=>new a.IfcPointOnSurface(e,new bm(t[0].value),new a.IfcParameterValue(t[1].value),new a.IfcParameterValue(t[2].value)),2924175390:(e,t)=>new a.IfcPolyLoop(e,t[0].map((e=>new bm(e.value)))),2775532180:(e,t)=>new a.IfcPolygonalBoundedHalfSpace(e,new bm(t[0].value),t[1].value,new bm(t[2].value),new bm(t[3].value)),759155922:(e,t)=>new a.IfcPreDefinedColour(e,new a.IfcLabel(t[0].value)),2559016684:(e,t)=>new a.IfcPreDefinedCurveFont(e,new a.IfcLabel(t[0].value)),433424934:(e,t)=>new a.IfcPreDefinedDimensionSymbol(e,new a.IfcLabel(t[0].value)),179317114:(e,t)=>new a.IfcPreDefinedPointMarkerSymbol(e,new a.IfcLabel(t[0].value)),673634403:(e,t)=>new a.IfcProductDefinitionShape(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value)))),871118103:(e,t)=>new a.IfcPropertyBoundedValue(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?_m(1,t[2]):null,t[3]?_m(1,t[3]):null,t[4]?new bm(t[4].value):null),1680319473:(e,t)=>new a.IfcPropertyDefinition(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null),4166981789:(e,t)=>new a.IfcPropertyEnumeratedValue(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>_m(1,e))),t[3]?new bm(t[3].value):null),2752243245:(e,t)=>new a.IfcPropertyListValue(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>_m(1,e))),t[3]?new bm(t[3].value):null),941946838:(e,t)=>new a.IfcPropertyReferenceValue(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?new a.IfcLabel(t[2].value):null,new bm(t[3].value)),3357820518:(e,t)=>new a.IfcPropertySetDefinition(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null),3650150729:(e,t)=>new a.IfcPropertySingleValue(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2]?_m(1,t[2]):null,t[3]?new bm(t[3].value):null),110355661:(e,t)=>new a.IfcPropertyTableValue(e,new a.IfcIdentifier(t[0].value),t[1]?new a.IfcText(t[1].value):null,t[2].map((e=>_m(1,e))),t[3].map((e=>_m(1,e))),t[4]?new a.IfcText(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),3615266464:(e,t)=>new a.IfcRectangleProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value)),3413951693:(e,t)=>new a.IfcRegularTimeSeries(e,new a.IfcLabel(t[0].value),t[1]?new a.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4],t[5],t[6]?new a.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,new a.IfcTimeMeasure(t[8].value),t[9].map((e=>new bm(e.value)))),3765753017:(e,t)=>new a.IfcReinforcementDefinitionProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5].map((e=>new bm(e.value)))),478536968:(e,t)=>new a.IfcRelationship(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null),2778083089:(e,t)=>new a.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value)),1509187699:(e,t)=>new a.IfcSectionedSpine(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2].map((e=>new bm(e.value)))),2411513650:(e,t)=>new a.IfcServiceLifeFactor(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4],t[5]?_m(1,t[5]):null,_m(1,t[6]),t[7]?_m(1,t[7]):null),4124623270:(e,t)=>new a.IfcShellBasedSurfaceModel(e,t[0].map((e=>new bm(e.value)))),2609359061:(e,t)=>new a.IfcSlippageConnectionCondition(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLengthMeasure(t[1].value):null,t[2]?new a.IfcLengthMeasure(t[2].value):null,t[3]?new a.IfcLengthMeasure(t[3].value):null),723233188:(e,t)=>new a.IfcSolidModel(e),2485662743:(e,t)=>new a.IfcSoundProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new a.IfcBoolean(t[4].value),t[5],t[6].map((e=>new bm(e.value)))),1202362311:(e,t)=>new a.IfcSoundValue(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new a.IfcFrequencyMeasure(t[5].value),t[6]?_m(1,t[6]):null),390701378:(e,t)=>new a.IfcSpaceThermalLoadProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcPositiveRatioMeasure(t[4].value):null,t[5],t[6],t[7]?new a.IfcText(t[7].value):null,new a.IfcPowerMeasure(t[8].value),t[9]?new a.IfcPowerMeasure(t[9].value):null,t[10]?new bm(t[10].value):null,t[11]?new a.IfcLabel(t[11].value):null,t[12]?new a.IfcLabel(t[12].value):null,t[13]),1595516126:(e,t)=>new a.IfcStructuralLoadLinearForce(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLinearForceMeasure(t[1].value):null,t[2]?new a.IfcLinearForceMeasure(t[2].value):null,t[3]?new a.IfcLinearForceMeasure(t[3].value):null,t[4]?new a.IfcLinearMomentMeasure(t[4].value):null,t[5]?new a.IfcLinearMomentMeasure(t[5].value):null,t[6]?new a.IfcLinearMomentMeasure(t[6].value):null),2668620305:(e,t)=>new a.IfcStructuralLoadPlanarForce(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcPlanarForceMeasure(t[1].value):null,t[2]?new a.IfcPlanarForceMeasure(t[2].value):null,t[3]?new a.IfcPlanarForceMeasure(t[3].value):null),2473145415:(e,t)=>new a.IfcStructuralLoadSingleDisplacement(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLengthMeasure(t[1].value):null,t[2]?new a.IfcLengthMeasure(t[2].value):null,t[3]?new a.IfcLengthMeasure(t[3].value):null,t[4]?new a.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new a.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new a.IfcPlaneAngleMeasure(t[6].value):null),1973038258:(e,t)=>new a.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcLengthMeasure(t[1].value):null,t[2]?new a.IfcLengthMeasure(t[2].value):null,t[3]?new a.IfcLengthMeasure(t[3].value):null,t[4]?new a.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new a.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new a.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new a.IfcCurvatureMeasure(t[7].value):null),1597423693:(e,t)=>new a.IfcStructuralLoadSingleForce(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcForceMeasure(t[1].value):null,t[2]?new a.IfcForceMeasure(t[2].value):null,t[3]?new a.IfcForceMeasure(t[3].value):null,t[4]?new a.IfcTorqueMeasure(t[4].value):null,t[5]?new a.IfcTorqueMeasure(t[5].value):null,t[6]?new a.IfcTorqueMeasure(t[6].value):null),1190533807:(e,t)=>new a.IfcStructuralLoadSingleForceWarping(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new a.IfcForceMeasure(t[1].value):null,t[2]?new a.IfcForceMeasure(t[2].value):null,t[3]?new a.IfcForceMeasure(t[3].value):null,t[4]?new a.IfcTorqueMeasure(t[4].value):null,t[5]?new a.IfcTorqueMeasure(t[5].value):null,t[6]?new a.IfcTorqueMeasure(t[6].value):null,t[7]?new a.IfcWarpingMomentMeasure(t[7].value):null),3843319758:(e,t)=>new a.IfcStructuralProfileProperties(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?new a.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new a.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new a.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new a.IfcAreaMeasure(t[6].value):null,t[7]?new a.IfcMomentOfInertiaMeasure(t[7].value):null,t[8]?new a.IfcMomentOfInertiaMeasure(t[8].value):null,t[9]?new a.IfcMomentOfInertiaMeasure(t[9].value):null,t[10]?new a.IfcMomentOfInertiaMeasure(t[10].value):null,t[11]?new a.IfcWarpingConstantMeasure(t[11].value):null,t[12]?new a.IfcLengthMeasure(t[12].value):null,t[13]?new a.IfcLengthMeasure(t[13].value):null,t[14]?new a.IfcAreaMeasure(t[14].value):null,t[15]?new a.IfcAreaMeasure(t[15].value):null,t[16]?new a.IfcSectionModulusMeasure(t[16].value):null,t[17]?new a.IfcSectionModulusMeasure(t[17].value):null,t[18]?new a.IfcSectionModulusMeasure(t[18].value):null,t[19]?new a.IfcSectionModulusMeasure(t[19].value):null,t[20]?new a.IfcSectionModulusMeasure(t[20].value):null,t[21]?new a.IfcLengthMeasure(t[21].value):null,t[22]?new a.IfcLengthMeasure(t[22].value):null),3653947884:(e,t)=>new a.IfcStructuralSteelProfileProperties(e,t[0]?new a.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?new a.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new a.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new a.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new a.IfcAreaMeasure(t[6].value):null,t[7]?new a.IfcMomentOfInertiaMeasure(t[7].value):null,t[8]?new a.IfcMomentOfInertiaMeasure(t[8].value):null,t[9]?new a.IfcMomentOfInertiaMeasure(t[9].value):null,t[10]?new a.IfcMomentOfInertiaMeasure(t[10].value):null,t[11]?new a.IfcWarpingConstantMeasure(t[11].value):null,t[12]?new a.IfcLengthMeasure(t[12].value):null,t[13]?new a.IfcLengthMeasure(t[13].value):null,t[14]?new a.IfcAreaMeasure(t[14].value):null,t[15]?new a.IfcAreaMeasure(t[15].value):null,t[16]?new a.IfcSectionModulusMeasure(t[16].value):null,t[17]?new a.IfcSectionModulusMeasure(t[17].value):null,t[18]?new a.IfcSectionModulusMeasure(t[18].value):null,t[19]?new a.IfcSectionModulusMeasure(t[19].value):null,t[20]?new a.IfcSectionModulusMeasure(t[20].value):null,t[21]?new a.IfcLengthMeasure(t[21].value):null,t[22]?new a.IfcLengthMeasure(t[22].value):null,t[23]?new a.IfcAreaMeasure(t[23].value):null,t[24]?new a.IfcAreaMeasure(t[24].value):null,t[25]?new a.IfcPositiveRatioMeasure(t[25].value):null,t[26]?new a.IfcPositiveRatioMeasure(t[26].value):null),2233826070:(e,t)=>new a.IfcSubedge(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value)),2513912981:(e,t)=>new a.IfcSurface(e),1878645084:(e,t)=>new a.IfcSurfaceStyleRendering(e,new bm(t[0].value),t[1]?new a.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?_m(1,t[7]):null,t[8]),2247615214:(e,t)=>new a.IfcSweptAreaSolid(e,new bm(t[0].value),new bm(t[1].value)),1260650574:(e,t)=>new a.IfcSweptDiskSolid(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value),t[2]?new a.IfcPositiveLengthMeasure(t[2].value):null,new a.IfcParameterValue(t[3].value),new a.IfcParameterValue(t[4].value)),230924584:(e,t)=>new a.IfcSweptSurface(e,new bm(t[0].value),new bm(t[1].value)),3071757647:(e,t)=>new a.IfcTShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcPositiveLengthMeasure(t[6].value),t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new a.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new a.IfcPlaneAngleMeasure(t[11].value):null,t[12]?new a.IfcPositiveLengthMeasure(t[12].value):null),3028897424:(e,t)=>new a.IfcTerminatorSymbol(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null,new bm(t[3].value)),4282788508:(e,t)=>new a.IfcTextLiteral(e,new a.IfcPresentableText(t[0].value),new bm(t[1].value),t[2]),3124975700:(e,t)=>new a.IfcTextLiteralWithExtent(e,new a.IfcPresentableText(t[0].value),new bm(t[1].value),t[2],new bm(t[3].value),new a.IfcBoxAlignment(t[4].value)),2715220739:(e,t)=>new a.IfcTrapeziumProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcLengthMeasure(t[6].value)),1345879162:(e,t)=>new a.IfcTwoDirectionRepeatFactor(e,new bm(t[0].value),new bm(t[1].value)),1628702193:(e,t)=>new a.IfcTypeObject(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null),2347495698:(e,t)=>new a.IfcTypeProduct(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null),427810014:(e,t)=>new a.IfcUShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcPositiveLengthMeasure(t[6].value),t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new a.IfcPlaneAngleMeasure(t[9].value):null,t[10]?new a.IfcPositiveLengthMeasure(t[10].value):null),1417489154:(e,t)=>new a.IfcVector(e,new bm(t[0].value),new a.IfcLengthMeasure(t[1].value)),2759199220:(e,t)=>new a.IfcVertexLoop(e,new bm(t[0].value)),336235671:(e,t)=>new a.IfcWindowLiningProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new a.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new a.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new a.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new a.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new a.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new a.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new bm(t[12].value):null),512836454:(e,t)=>new a.IfcWindowPanelProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4],t[5],t[6]?new a.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new bm(t[8].value):null),1299126871:(e,t)=>new a.IfcWindowStyle(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8],t[9],t[10].value,t[11].value),2543172580:(e,t)=>new a.IfcZShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcPositiveLengthMeasure(t[6].value),t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null),3288037868:(e,t)=>new a.IfcAnnotationCurveOccurrence(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),669184980:(e,t)=>new a.IfcAnnotationFillArea(e,new bm(t[0].value),t[1]?t[1].map((e=>new bm(e.value))):null),2265737646:(e,t)=>new a.IfcAnnotationFillAreaOccurrence(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]),1302238472:(e,t)=>new a.IfcAnnotationSurface(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),4261334040:(e,t)=>new a.IfcAxis1Placement(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),3125803723:(e,t)=>new a.IfcAxis2Placement2D(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),2740243338:(e,t)=>new a.IfcAxis2Placement3D(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new bm(t[2].value):null),2736907675:(e,t)=>new a.IfcBooleanResult(e,t[0],new bm(t[1].value),new bm(t[2].value)),4182860854:(e,t)=>new a.IfcBoundedSurface(e),2581212453:(e,t)=>new a.IfcBoundingBox(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value),new a.IfcPositiveLengthMeasure(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value)),2713105998:(e,t)=>new a.IfcBoxedHalfSpace(e,new bm(t[0].value),t[1].value,new bm(t[2].value)),2898889636:(e,t)=>new a.IfcCShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcPositiveLengthMeasure(t[6].value),t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null),1123145078:(e,t)=>new a.IfcCartesianPoint(e,t[0].map((e=>new a.IfcLengthMeasure(e.value)))),59481748:(e,t)=>new a.IfcCartesianTransformationOperator(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?t[3].value:null),3749851601:(e,t)=>new a.IfcCartesianTransformationOperator2D(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?t[3].value:null),3486308946:(e,t)=>new a.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?t[3].value:null,t[4]?t[4].value:null),3331915920:(e,t)=>new a.IfcCartesianTransformationOperator3D(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?t[3].value:null,t[4]?new bm(t[4].value):null),1416205885:(e,t)=>new a.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?t[3].value:null,t[4]?new bm(t[4].value):null,t[5]?t[5].value:null,t[6]?t[6].value:null),1383045692:(e,t)=>new a.IfcCircleProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value)),2205249479:(e,t)=>new a.IfcClosedShell(e,t[0].map((e=>new bm(e.value)))),2485617015:(e,t)=>new a.IfcCompositeCurveSegment(e,t[0],t[1].value,new bm(t[2].value)),4133800736:(e,t)=>new a.IfcCraneRailAShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),t[5]?new a.IfcPositiveLengthMeasure(t[5].value):null,new a.IfcPositiveLengthMeasure(t[6].value),new a.IfcPositiveLengthMeasure(t[7].value),new a.IfcPositiveLengthMeasure(t[8].value),new a.IfcPositiveLengthMeasure(t[9].value),new a.IfcPositiveLengthMeasure(t[10].value),new a.IfcPositiveLengthMeasure(t[11].value),new a.IfcPositiveLengthMeasure(t[12].value),new a.IfcPositiveLengthMeasure(t[13].value),t[14]?new a.IfcPositiveLengthMeasure(t[14].value):null),194851669:(e,t)=>new a.IfcCraneRailFShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),t[5]?new a.IfcPositiveLengthMeasure(t[5].value):null,new a.IfcPositiveLengthMeasure(t[6].value),new a.IfcPositiveLengthMeasure(t[7].value),new a.IfcPositiveLengthMeasure(t[8].value),new a.IfcPositiveLengthMeasure(t[9].value),new a.IfcPositiveLengthMeasure(t[10].value),t[11]?new a.IfcPositiveLengthMeasure(t[11].value):null),2506170314:(e,t)=>new a.IfcCsgPrimitive3D(e,new bm(t[0].value)),2147822146:(e,t)=>new a.IfcCsgSolid(e,new bm(t[0].value)),2601014836:(e,t)=>new a.IfcCurve(e),2827736869:(e,t)=>new a.IfcCurveBoundedPlane(e,new bm(t[0].value),new bm(t[1].value),t[2]?t[2].map((e=>new bm(e.value))):null),693772133:(e,t)=>new a.IfcDefinedSymbol(e,new bm(t[0].value),new bm(t[1].value)),606661476:(e,t)=>new a.IfcDimensionCurve(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),4054601972:(e,t)=>new a.IfcDimensionCurveTerminator(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null,new bm(t[3].value),t[4]),32440307:(e,t)=>new a.IfcDirection(e,t[0].map((e=>e.value))),2963535650:(e,t)=>new a.IfcDoorLiningProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new a.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new a.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new a.IfcLengthMeasure(t[9].value):null,t[10]?new a.IfcLengthMeasure(t[10].value):null,t[11]?new a.IfcLengthMeasure(t[11].value):null,t[12]?new a.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new a.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new bm(t[14].value):null),1714330368:(e,t)=>new a.IfcDoorPanelProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new a.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new bm(t[8].value):null),526551008:(e,t)=>new a.IfcDoorStyle(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8],t[9],t[10].value,t[11].value),3073041342:(e,t)=>new a.IfcDraughtingCallout(e,t[0].map((e=>new bm(e.value)))),445594917:(e,t)=>new a.IfcDraughtingPreDefinedColour(e,new a.IfcLabel(t[0].value)),4006246654:(e,t)=>new a.IfcDraughtingPreDefinedCurveFont(e,new a.IfcLabel(t[0].value)),1472233963:(e,t)=>new a.IfcEdgeLoop(e,t[0].map((e=>new bm(e.value)))),1883228015:(e,t)=>new a.IfcElementQuantity(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5].map((e=>new bm(e.value)))),339256511:(e,t)=>new a.IfcElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),2777663545:(e,t)=>new a.IfcElementarySurface(e,new bm(t[0].value)),2835456948:(e,t)=>new a.IfcEllipseProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value)),80994333:(e,t)=>new a.IfcEnergyProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4],t[5]?new a.IfcLabel(t[5].value):null),477187591:(e,t)=>new a.IfcExtrudedAreaSolid(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value)),2047409740:(e,t)=>new a.IfcFaceBasedSurfaceModel(e,t[0].map((e=>new bm(e.value)))),374418227:(e,t)=>new a.IfcFillAreaStyleHatching(e,new bm(t[0].value),new bm(t[1].value),t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,new a.IfcPlaneAngleMeasure(t[4].value)),4203026998:(e,t)=>new a.IfcFillAreaStyleTileSymbolWithStyle(e,new bm(t[0].value)),315944413:(e,t)=>new a.IfcFillAreaStyleTiles(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),new a.IfcPositiveRatioMeasure(t[2].value)),3455213021:(e,t)=>new a.IfcFluidFlowProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4],t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,new bm(t[8].value),t[9]?new bm(t[9].value):null,t[10]?new a.IfcLabel(t[10].value):null,t[11]?new a.IfcThermodynamicTemperatureMeasure(t[11].value):null,t[12]?new a.IfcThermodynamicTemperatureMeasure(t[12].value):null,t[13]?new bm(t[13].value):null,t[14]?new bm(t[14].value):null,t[15]?_m(1,t[15]):null,t[16]?new a.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new a.IfcLinearVelocityMeasure(t[17].value):null,t[18]?new a.IfcPressureMeasure(t[18].value):null),4238390223:(e,t)=>new a.IfcFurnishingElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),1268542332:(e,t)=>new a.IfcFurnitureType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),987898635:(e,t)=>new a.IfcGeometricCurveSet(e,t[0].map((e=>new bm(e.value)))),1484403080:(e,t)=>new a.IfcIShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcPositiveLengthMeasure(t[6].value),t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null),572779678:(e,t)=>new a.IfcLShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),t[4]?new a.IfcPositiveLengthMeasure(t[4].value):null,new a.IfcPositiveLengthMeasure(t[5].value),t[6]?new a.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new a.IfcPlaneAngleMeasure(t[8].value):null,t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new a.IfcPositiveLengthMeasure(t[10].value):null),1281925730:(e,t)=>new a.IfcLine(e,new bm(t[0].value),new bm(t[1].value)),1425443689:(e,t)=>new a.IfcManifoldSolidBrep(e,new bm(t[0].value)),3888040117:(e,t)=>new a.IfcObject(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),3388369263:(e,t)=>new a.IfcOffsetCurve2D(e,new bm(t[0].value),new a.IfcLengthMeasure(t[1].value),t[2].value),3505215534:(e,t)=>new a.IfcOffsetCurve3D(e,new bm(t[0].value),new a.IfcLengthMeasure(t[1].value),t[2].value,new bm(t[3].value)),3566463478:(e,t)=>new a.IfcPermeableCoveringProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4],t[5],t[6]?new a.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new bm(t[8].value):null),603570806:(e,t)=>new a.IfcPlanarBox(e,new a.IfcLengthMeasure(t[0].value),new a.IfcLengthMeasure(t[1].value),new bm(t[2].value)),220341763:(e,t)=>new a.IfcPlane(e,new bm(t[0].value)),2945172077:(e,t)=>new a.IfcProcess(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),4208778838:(e,t)=>new a.IfcProduct(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),103090709:(e,t)=>new a.IfcProject(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcLabel(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7].map((e=>new bm(e.value))),new bm(t[8].value)),4194566429:(e,t)=>new a.IfcProjectionCurve(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new a.IfcLabel(t[2].value):null),1451395588:(e,t)=>new a.IfcPropertySet(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value)))),3219374653:(e,t)=>new a.IfcProxy(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]?new a.IfcLabel(t[8].value):null),2770003689:(e,t)=>new a.IfcRectangleHollowProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),t[6]?new a.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null),2798486643:(e,t)=>new a.IfcRectangularPyramid(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value),new a.IfcPositiveLengthMeasure(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value)),3454111270:(e,t)=>new a.IfcRectangularTrimmedSurface(e,new bm(t[0].value),new a.IfcParameterValue(t[1].value),new a.IfcParameterValue(t[2].value),new a.IfcParameterValue(t[3].value),new a.IfcParameterValue(t[4].value),t[5].value,t[6].value),3939117080:(e,t)=>new a.IfcRelAssigns(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5]),1683148259:(e,t)=>new a.IfcRelAssignsToActor(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),t[7]?new bm(t[7].value):null),2495723537:(e,t)=>new a.IfcRelAssignsToControl(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),1307041759:(e,t)=>new a.IfcRelAssignsToGroup(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),4278684876:(e,t)=>new a.IfcRelAssignsToProcess(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),t[7]?new bm(t[7].value):null),2857406711:(e,t)=>new a.IfcRelAssignsToProduct(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),3372526763:(e,t)=>new a.IfcRelAssignsToProjectOrder(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),205026976:(e,t)=>new a.IfcRelAssignsToResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),1865459582:(e,t)=>new a.IfcRelAssociates(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value)))),1327628568:(e,t)=>new a.IfcRelAssociatesAppliedValue(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),4095574036:(e,t)=>new a.IfcRelAssociatesApproval(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),919958153:(e,t)=>new a.IfcRelAssociatesClassification(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),2728634034:(e,t)=>new a.IfcRelAssociatesConstraint(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new a.IfcLabel(t[5].value),new bm(t[6].value)),982818633:(e,t)=>new a.IfcRelAssociatesDocument(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),3840914261:(e,t)=>new a.IfcRelAssociatesLibrary(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),2655215786:(e,t)=>new a.IfcRelAssociatesMaterial(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),2851387026:(e,t)=>new a.IfcRelAssociatesProfileProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),826625072:(e,t)=>new a.IfcRelConnects(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null),1204542856:(e,t)=>new a.IfcRelConnectsElements(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value)),3945020480:(e,t)=>new a.IfcRelConnectsPathElements(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value),t[7]?t[7].map((e=>e.value)):null,t[8]?t[8].map((e=>e.value)):null,t[9],t[10]),4201705270:(e,t)=>new a.IfcRelConnectsPortToElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),3190031847:(e,t)=>new a.IfcRelConnectsPorts(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null),2127690289:(e,t)=>new a.IfcRelConnectsStructuralActivity(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),3912681535:(e,t)=>new a.IfcRelConnectsStructuralElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),1638771189:(e,t)=>new a.IfcRelConnectsStructuralMember(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new a.IfcLengthMeasure(t[8].value):null,t[9]?new bm(t[9].value):null),504942748:(e,t)=>new a.IfcRelConnectsWithEccentricity(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new a.IfcLengthMeasure(t[8].value):null,t[9]?new bm(t[9].value):null,new bm(t[10].value)),3678494232:(e,t)=>new a.IfcRelConnectsWithRealizingElements(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value),t[7].map((e=>new bm(e.value))),t[8]?new a.IfcLabel(t[8].value):null),3242617779:(e,t)=>new a.IfcRelContainedInSpatialStructure(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),886880790:(e,t)=>new a.IfcRelCoversBldgElements(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2802773753:(e,t)=>new a.IfcRelCoversSpaces(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2551354335:(e,t)=>new a.IfcRelDecomposes(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),693640335:(e,t)=>new a.IfcRelDefines(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value)))),4186316022:(e,t)=>new a.IfcRelDefinesByProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),781010003:(e,t)=>new a.IfcRelDefinesByType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),3940055652:(e,t)=>new a.IfcRelFillsElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),279856033:(e,t)=>new a.IfcRelFlowControlElements(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),4189434867:(e,t)=>new a.IfcRelInteractionRequirements(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcCountMeasure(t[4].value):null,t[5]?new a.IfcNormalisedRatioMeasure(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),new bm(t[8].value)),3268803585:(e,t)=>new a.IfcRelNests(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2051452291:(e,t)=>new a.IfcRelOccupiesSpaces(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),t[7]?new bm(t[7].value):null),202636808:(e,t)=>new a.IfcRelOverridesProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value),t[6].map((e=>new bm(e.value)))),750771296:(e,t)=>new a.IfcRelProjectsElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),1245217292:(e,t)=>new a.IfcRelReferencedInSpatialStructure(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),1058617721:(e,t)=>new a.IfcRelSchedulesCostItems(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),4122056220:(e,t)=>new a.IfcRelSequence(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),new a.IfcTimeMeasure(t[6].value),t[7]),366585022:(e,t)=>new a.IfcRelServicesBuildings(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),3451746338:(e,t)=>new a.IfcRelSpaceBoundary(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]),1401173127:(e,t)=>new a.IfcRelVoidsElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),2914609552:(e,t)=>new a.IfcResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),1856042241:(e,t)=>new a.IfcRevolvedAreaSolid(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new a.IfcPlaneAngleMeasure(t[3].value)),4158566097:(e,t)=>new a.IfcRightCircularCone(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value),new a.IfcPositiveLengthMeasure(t[2].value)),3626867408:(e,t)=>new a.IfcRightCircularCylinder(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value),new a.IfcPositiveLengthMeasure(t[2].value)),2706606064:(e,t)=>new a.IfcSpatialStructureElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]),3893378262:(e,t)=>new a.IfcSpatialStructureElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),451544542:(e,t)=>new a.IfcSphere(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value)),3544373492:(e,t)=>new a.IfcStructuralActivity(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),3136571912:(e,t)=>new a.IfcStructuralItem(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),530289379:(e,t)=>new a.IfcStructuralMember(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),3689010777:(e,t)=>new a.IfcStructuralReaction(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),3979015343:(e,t)=>new a.IfcStructuralSurfaceMember(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null),2218152070:(e,t)=>new a.IfcStructuralSurfaceMemberVarying(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9].map((e=>new a.IfcPositiveLengthMeasure(e.value))),new bm(t[10].value)),4070609034:(e,t)=>new a.IfcStructuredDimensionCallout(e,t[0].map((e=>new bm(e.value)))),2028607225:(e,t)=>new a.IfcSurfaceCurveSweptAreaSolid(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new a.IfcParameterValue(t[3].value),new a.IfcParameterValue(t[4].value),new bm(t[5].value)),2809605785:(e,t)=>new a.IfcSurfaceOfLinearExtrusion(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new a.IfcLengthMeasure(t[3].value)),4124788165:(e,t)=>new a.IfcSurfaceOfRevolution(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value)),1580310250:(e,t)=>new a.IfcSystemFurnitureElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),3473067441:(e,t)=>new a.IfcTask(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),t[6]?new a.IfcLabel(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null),2097647324:(e,t)=>new a.IfcTransportElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2296667514:(e,t)=>new a.IfcActor(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new bm(t[5].value)),1674181508:(e,t)=>new a.IfcAnnotation(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),3207858831:(e,t)=>new a.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value),new a.IfcPositiveLengthMeasure(t[5].value),new a.IfcPositiveLengthMeasure(t[6].value),t[7]?new a.IfcPositiveLengthMeasure(t[7].value):null,new a.IfcPositiveLengthMeasure(t[8].value),t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new a.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new a.IfcPositiveLengthMeasure(t[11].value):null),1334484129:(e,t)=>new a.IfcBlock(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value),new a.IfcPositiveLengthMeasure(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value)),3649129432:(e,t)=>new a.IfcBooleanClippingResult(e,t[0],new bm(t[1].value),new bm(t[2].value)),1260505505:(e,t)=>new a.IfcBoundedCurve(e),4031249490:(e,t)=>new a.IfcBuilding(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8],t[9]?new a.IfcLengthMeasure(t[9].value):null,t[10]?new a.IfcLengthMeasure(t[10].value):null,t[11]?new bm(t[11].value):null),1950629157:(e,t)=>new a.IfcBuildingElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),3124254112:(e,t)=>new a.IfcBuildingStorey(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8],t[9]?new a.IfcLengthMeasure(t[9].value):null),2937912522:(e,t)=>new a.IfcCircleHollowProfileDef(e,t[0],t[1]?new a.IfcLabel(t[1].value):null,new bm(t[2].value),new a.IfcPositiveLengthMeasure(t[3].value),new a.IfcPositiveLengthMeasure(t[4].value)),300633059:(e,t)=>new a.IfcColumnType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3732776249:(e,t)=>new a.IfcCompositeCurve(e,t[0].map((e=>new bm(e.value))),t[1].value),2510884976:(e,t)=>new a.IfcConic(e,new bm(t[0].value)),2559216714:(e,t)=>new a.IfcConstructionResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcIdentifier(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7],t[8]?new bm(t[8].value):null),3293443760:(e,t)=>new a.IfcControl(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),3895139033:(e,t)=>new a.IfcCostItem(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),1419761937:(e,t)=>new a.IfcCostSchedule(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,new a.IfcIdentifier(t[11].value),t[12]),1916426348:(e,t)=>new a.IfcCoveringType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3295246426:(e,t)=>new a.IfcCrewResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcIdentifier(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7],t[8]?new bm(t[8].value):null),1457835157:(e,t)=>new a.IfcCurtainWallType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),681481545:(e,t)=>new a.IfcDimensionCurveDirectedCallout(e,t[0].map((e=>new bm(e.value)))),3256556792:(e,t)=>new a.IfcDistributionElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),3849074793:(e,t)=>new a.IfcDistributionFlowElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),360485395:(e,t)=>new a.IfcElectricalBaseProperties(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4],t[5]?new a.IfcLabel(t[5].value):null,t[6],new a.IfcElectricVoltageMeasure(t[7].value),new a.IfcFrequencyMeasure(t[8].value),t[9]?new a.IfcElectricCurrentMeasure(t[9].value):null,t[10]?new a.IfcElectricCurrentMeasure(t[10].value):null,t[11]?new a.IfcPowerMeasure(t[11].value):null,t[12]?new a.IfcPowerMeasure(t[12].value):null,t[13].value),1758889154:(e,t)=>new a.IfcElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),4123344466:(e,t)=>new a.IfcElementAssembly(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8],t[9]),1623761950:(e,t)=>new a.IfcElementComponent(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),2590856083:(e,t)=>new a.IfcElementComponentType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),1704287377:(e,t)=>new a.IfcEllipse(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value),new a.IfcPositiveLengthMeasure(t[2].value)),2107101300:(e,t)=>new a.IfcEnergyConversionDeviceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),1962604670:(e,t)=>new a.IfcEquipmentElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3272907226:(e,t)=>new a.IfcEquipmentStandard(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),3174744832:(e,t)=>new a.IfcEvaporativeCoolerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3390157468:(e,t)=>new a.IfcEvaporatorType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),807026263:(e,t)=>new a.IfcFacetedBrep(e,new bm(t[0].value)),3737207727:(e,t)=>new a.IfcFacetedBrepWithVoids(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),647756555:(e,t)=>new a.IfcFastener(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),2489546625:(e,t)=>new a.IfcFastenerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),2827207264:(e,t)=>new a.IfcFeatureElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),2143335405:(e,t)=>new a.IfcFeatureElementAddition(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),1287392070:(e,t)=>new a.IfcFeatureElementSubtraction(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3907093117:(e,t)=>new a.IfcFlowControllerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),3198132628:(e,t)=>new a.IfcFlowFittingType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),3815607619:(e,t)=>new a.IfcFlowMeterType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1482959167:(e,t)=>new a.IfcFlowMovingDeviceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),1834744321:(e,t)=>new a.IfcFlowSegmentType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),1339347760:(e,t)=>new a.IfcFlowStorageDeviceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),2297155007:(e,t)=>new a.IfcFlowTerminalType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),3009222698:(e,t)=>new a.IfcFlowTreatmentDeviceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),263784265:(e,t)=>new a.IfcFurnishingElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),814719939:(e,t)=>new a.IfcFurnitureStandard(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),200128114:(e,t)=>new a.IfcGasTerminalType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3009204131:(e,t)=>new a.IfcGrid(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7].map((e=>new bm(e.value))),t[8].map((e=>new bm(e.value))),t[9]?t[9].map((e=>new bm(e.value))):null),2706460486:(e,t)=>new a.IfcGroup(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),1251058090:(e,t)=>new a.IfcHeatExchangerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1806887404:(e,t)=>new a.IfcHumidifierType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2391368822:(e,t)=>new a.IfcInventory(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5],new bm(t[6].value),t[7].map((e=>new bm(e.value))),new bm(t[8].value),t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null),4288270099:(e,t)=>new a.IfcJunctionBoxType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3827777499:(e,t)=>new a.IfcLaborResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcIdentifier(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7],t[8]?new bm(t[8].value):null,t[9]?new a.IfcText(t[9].value):null),1051575348:(e,t)=>new a.IfcLampType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1161773419:(e,t)=>new a.IfcLightFixtureType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2506943328:(e,t)=>new a.IfcLinearDimension(e,t[0].map((e=>new bm(e.value)))),377706215:(e,t)=>new a.IfcMechanicalFastener(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null),2108223431:(e,t)=>new a.IfcMechanicalFastenerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),3181161470:(e,t)=>new a.IfcMemberType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),977012517:(e,t)=>new a.IfcMotorConnectionType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1916936684:(e,t)=>new a.IfcMove(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),t[6]?new a.IfcLabel(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null,new bm(t[10].value),new bm(t[11].value),t[12]?t[12].map((e=>new a.IfcText(e.value))):null),4143007308:(e,t)=>new a.IfcOccupant(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new bm(t[5].value),t[6]),3588315303:(e,t)=>new a.IfcOpeningElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3425660407:(e,t)=>new a.IfcOrderAction(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),t[6]?new a.IfcLabel(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null,new a.IfcIdentifier(t[10].value)),2837617999:(e,t)=>new a.IfcOutletType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2382730787:(e,t)=>new a.IfcPerformanceHistory(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcLabel(t[5].value)),3327091369:(e,t)=>new a.IfcPermit(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value)),804291784:(e,t)=>new a.IfcPipeFittingType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),4231323485:(e,t)=>new a.IfcPipeSegmentType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),4017108033:(e,t)=>new a.IfcPlateType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3724593414:(e,t)=>new a.IfcPolyline(e,t[0].map((e=>new bm(e.value)))),3740093272:(e,t)=>new a.IfcPort(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),2744685151:(e,t)=>new a.IfcProcedure(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),t[6],t[7]?new a.IfcLabel(t[7].value):null),2904328755:(e,t)=>new a.IfcProjectOrder(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),t[6],t[7]?new a.IfcLabel(t[7].value):null),3642467123:(e,t)=>new a.IfcProjectOrderRecord(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5].map((e=>new bm(e.value))),t[6]),3651124850:(e,t)=>new a.IfcProjectionElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),1842657554:(e,t)=>new a.IfcProtectiveDeviceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2250791053:(e,t)=>new a.IfcPumpType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3248260540:(e,t)=>new a.IfcRadiusDimension(e,t[0].map((e=>new bm(e.value)))),2893384427:(e,t)=>new a.IfcRailingType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2324767716:(e,t)=>new a.IfcRampFlightType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),160246688:(e,t)=>new a.IfcRelAggregates(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2863920197:(e,t)=>new a.IfcRelAssignsTasks(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),t[7]?new bm(t[7].value):null),1768891740:(e,t)=>new a.IfcSanitaryTerminalType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3517283431:(e,t)=>new a.IfcScheduleTimeControl(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null,t[11]?new bm(t[11].value):null,t[12]?new bm(t[12].value):null,t[13]?new a.IfcTimeMeasure(t[13].value):null,t[14]?new a.IfcTimeMeasure(t[14].value):null,t[15]?new a.IfcTimeMeasure(t[15].value):null,t[16]?new a.IfcTimeMeasure(t[16].value):null,t[17]?new a.IfcTimeMeasure(t[17].value):null,t[18]?t[18].value:null,t[19]?new bm(t[19].value):null,t[20]?new a.IfcTimeMeasure(t[20].value):null,t[21]?new a.IfcTimeMeasure(t[21].value):null,t[22]?new a.IfcPositiveRatioMeasure(t[22].value):null),4105383287:(e,t)=>new a.IfcServiceLife(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5],new a.IfcTimeMeasure(t[6].value)),4097777520:(e,t)=>new a.IfcSite(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8],t[9]?new a.IfcCompoundPlaneAngleMeasure(t[9].map((e=>e.value))):null,t[10]?new a.IfcCompoundPlaneAngleMeasure(t[10].map((e=>e.value))):null,t[11]?new a.IfcLengthMeasure(t[11].value):null,t[12]?new a.IfcLabel(t[12].value):null,t[13]?new bm(t[13].value):null),2533589738:(e,t)=>new a.IfcSlabType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3856911033:(e,t)=>new a.IfcSpace(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new a.IfcLengthMeasure(t[10].value):null),1305183839:(e,t)=>new a.IfcSpaceHeaterType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),652456506:(e,t)=>new a.IfcSpaceProgram(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),t[6]?new a.IfcAreaMeasure(t[6].value):null,t[7]?new a.IfcAreaMeasure(t[7].value):null,t[8]?new bm(t[8].value):null,new a.IfcAreaMeasure(t[9].value)),3812236995:(e,t)=>new a.IfcSpaceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3112655638:(e,t)=>new a.IfcStackTerminalType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1039846685:(e,t)=>new a.IfcStairFlightType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),682877961:(e,t)=>new a.IfcStructuralAction(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9].value,t[10]?new bm(t[10].value):null),1179482911:(e,t)=>new a.IfcStructuralConnection(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),4243806635:(e,t)=>new a.IfcStructuralCurveConnection(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),214636428:(e,t)=>new a.IfcStructuralCurveMember(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]),2445595289:(e,t)=>new a.IfcStructuralCurveMemberVarying(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]),1807405624:(e,t)=>new a.IfcStructuralLinearAction(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9].value,t[10]?new bm(t[10].value):null,t[11]),1721250024:(e,t)=>new a.IfcStructuralLinearActionVarying(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9].value,t[10]?new bm(t[10].value):null,t[11],new bm(t[12].value),t[13].map((e=>new bm(e.value)))),1252848954:(e,t)=>new a.IfcStructuralLoadGroup(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new a.IfcRatioMeasure(t[8].value):null,t[9]?new a.IfcLabel(t[9].value):null),1621171031:(e,t)=>new a.IfcStructuralPlanarAction(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9].value,t[10]?new bm(t[10].value):null,t[11]),3987759626:(e,t)=>new a.IfcStructuralPlanarActionVarying(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9].value,t[10]?new bm(t[10].value):null,t[11],new bm(t[12].value),t[13].map((e=>new bm(e.value)))),2082059205:(e,t)=>new a.IfcStructuralPointAction(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9].value,t[10]?new bm(t[10].value):null),734778138:(e,t)=>new a.IfcStructuralPointConnection(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),1235345126:(e,t)=>new a.IfcStructuralPointReaction(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),2986769608:(e,t)=>new a.IfcStructuralResultGroup(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5],t[6]?new bm(t[6].value):null,t[7].value),1975003073:(e,t)=>new a.IfcStructuralSurfaceConnection(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),148013059:(e,t)=>new a.IfcSubContractResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcIdentifier(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7],t[8]?new bm(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new a.IfcText(t[10].value):null),2315554128:(e,t)=>new a.IfcSwitchingDeviceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2254336722:(e,t)=>new a.IfcSystem(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),5716631:(e,t)=>new a.IfcTankType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1637806684:(e,t)=>new a.IfcTimeSeriesSchedule(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6],new bm(t[7].value)),1692211062:(e,t)=>new a.IfcTransformerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1620046519:(e,t)=>new a.IfcTransportElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8],t[9]?new a.IfcMassMeasure(t[9].value):null,t[10]?new a.IfcCountMeasure(t[10].value):null),3593883385:(e,t)=>new a.IfcTrimmedCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2].map((e=>new bm(e.value))),t[3].value,t[4]),1600972822:(e,t)=>new a.IfcTubeBundleType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1911125066:(e,t)=>new a.IfcUnitaryEquipmentType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),728799441:(e,t)=>new a.IfcValveType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2769231204:(e,t)=>new a.IfcVirtualElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),1898987631:(e,t)=>new a.IfcWallType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1133259667:(e,t)=>new a.IfcWasteTerminalType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1028945134:(e,t)=>new a.IfcWorkControl(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),new bm(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]?new a.IfcTimeMeasure(t[9].value):null,t[10]?new a.IfcTimeMeasure(t[10].value):null,new bm(t[11].value),t[12]?new bm(t[12].value):null,t[13],t[14]?new a.IfcLabel(t[14].value):null),4218914973:(e,t)=>new a.IfcWorkPlan(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),new bm(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]?new a.IfcTimeMeasure(t[9].value):null,t[10]?new a.IfcTimeMeasure(t[10].value):null,new bm(t[11].value),t[12]?new bm(t[12].value):null,t[13],t[14]?new a.IfcLabel(t[14].value):null),3342526732:(e,t)=>new a.IfcWorkSchedule(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),new bm(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]?new a.IfcTimeMeasure(t[9].value):null,t[10]?new a.IfcTimeMeasure(t[10].value):null,new bm(t[11].value),t[12]?new bm(t[12].value):null,t[13],t[14]?new a.IfcLabel(t[14].value):null),1033361043:(e,t)=>new a.IfcZone(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),1213861670:(e,t)=>new a.Ifc2DCompositeCurve(e,t[0].map((e=>new bm(e.value))),t[1].value),3821786052:(e,t)=>new a.IfcActionRequest(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value)),1411407467:(e,t)=>new a.IfcAirTerminalBoxType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3352864051:(e,t)=>new a.IfcAirTerminalType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1871374353:(e,t)=>new a.IfcAirToAirHeatRecoveryType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2470393545:(e,t)=>new a.IfcAngularDimension(e,t[0].map((e=>new bm(e.value)))),3460190687:(e,t)=>new a.IfcAsset(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new a.IfcIdentifier(t[5].value),new bm(t[6].value),new bm(t[7].value),new bm(t[8].value),new bm(t[9].value),new bm(t[10].value),new bm(t[11].value),new bm(t[12].value),new bm(t[13].value)),1967976161:(e,t)=>new a.IfcBSplineCurve(e,t[0].value,t[1].map((e=>new bm(e.value))),t[2],t[3].value,t[4].value),819618141:(e,t)=>new a.IfcBeamType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1916977116:(e,t)=>new a.IfcBezierCurve(e,t[0].value,t[1].map((e=>new bm(e.value))),t[2],t[3].value,t[4].value),231477066:(e,t)=>new a.IfcBoilerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3299480353:(e,t)=>new a.IfcBuildingElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),52481810:(e,t)=>new a.IfcBuildingElementComponent(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),2979338954:(e,t)=>new a.IfcBuildingElementPart(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),1095909175:(e,t)=>new a.IfcBuildingElementProxy(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]),1909888760:(e,t)=>new a.IfcBuildingElementProxyType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),395041908:(e,t)=>new a.IfcCableCarrierFittingType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3293546465:(e,t)=>new a.IfcCableCarrierSegmentType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1285652485:(e,t)=>new a.IfcCableSegmentType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2951183804:(e,t)=>new a.IfcChillerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2611217952:(e,t)=>new a.IfcCircle(e,new bm(t[0].value),new a.IfcPositiveLengthMeasure(t[1].value)),2301859152:(e,t)=>new a.IfcCoilType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),843113511:(e,t)=>new a.IfcColumn(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3850581409:(e,t)=>new a.IfcCompressorType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2816379211:(e,t)=>new a.IfcCondenserType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2188551683:(e,t)=>new a.IfcCondition(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),1163958913:(e,t)=>new a.IfcConditionCriterion(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,new bm(t[5].value),new bm(t[6].value)),3898045240:(e,t)=>new a.IfcConstructionEquipmentResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcIdentifier(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7],t[8]?new bm(t[8].value):null),1060000209:(e,t)=>new a.IfcConstructionMaterialResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcIdentifier(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7],t[8]?new bm(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new a.IfcRatioMeasure(t[10].value):null),488727124:(e,t)=>new a.IfcConstructionProductResource(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new a.IfcIdentifier(t[5].value):null,t[6]?new a.IfcLabel(t[6].value):null,t[7],t[8]?new bm(t[8].value):null),335055490:(e,t)=>new a.IfcCooledBeamType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2954562838:(e,t)=>new a.IfcCoolingTowerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1973544240:(e,t)=>new a.IfcCovering(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]),3495092785:(e,t)=>new a.IfcCurtainWall(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3961806047:(e,t)=>new a.IfcDamperType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),4147604152:(e,t)=>new a.IfcDiameterDimension(e,t[0].map((e=>new bm(e.value)))),1335981549:(e,t)=>new a.IfcDiscreteAccessory(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),2635815018:(e,t)=>new a.IfcDiscreteAccessoryType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),1599208980:(e,t)=>new a.IfcDistributionChamberElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2063403501:(e,t)=>new a.IfcDistributionControlElementType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),1945004755:(e,t)=>new a.IfcDistributionElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3040386961:(e,t)=>new a.IfcDistributionFlowElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3041715199:(e,t)=>new a.IfcDistributionPort(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]),395920057:(e,t)=>new a.IfcDoor(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null),869906466:(e,t)=>new a.IfcDuctFittingType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3760055223:(e,t)=>new a.IfcDuctSegmentType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2030761528:(e,t)=>new a.IfcDuctSilencerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),855621170:(e,t)=>new a.IfcEdgeFeature(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null),663422040:(e,t)=>new a.IfcElectricApplianceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3277789161:(e,t)=>new a.IfcElectricFlowStorageDeviceType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1534661035:(e,t)=>new a.IfcElectricGeneratorType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1365060375:(e,t)=>new a.IfcElectricHeaterType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1217240411:(e,t)=>new a.IfcElectricMotorType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),712377611:(e,t)=>new a.IfcElectricTimeControlType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1634875225:(e,t)=>new a.IfcElectricalCircuit(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null),857184966:(e,t)=>new a.IfcElectricalElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),1658829314:(e,t)=>new a.IfcEnergyConversionDevice(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),346874300:(e,t)=>new a.IfcFanType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1810631287:(e,t)=>new a.IfcFilterType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),4222183408:(e,t)=>new a.IfcFireSuppressionTerminalType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2058353004:(e,t)=>new a.IfcFlowController(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),4278956645:(e,t)=>new a.IfcFlowFitting(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),4037862832:(e,t)=>new a.IfcFlowInstrumentType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3132237377:(e,t)=>new a.IfcFlowMovingDevice(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),987401354:(e,t)=>new a.IfcFlowSegment(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),707683696:(e,t)=>new a.IfcFlowStorageDevice(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),2223149337:(e,t)=>new a.IfcFlowTerminal(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3508470533:(e,t)=>new a.IfcFlowTreatmentDevice(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),900683007:(e,t)=>new a.IfcFooting(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]),1073191201:(e,t)=>new a.IfcMember(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),1687234759:(e,t)=>new a.IfcPile(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8],t[9]),3171933400:(e,t)=>new a.IfcPlate(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),2262370178:(e,t)=>new a.IfcRailing(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]),3024970846:(e,t)=>new a.IfcRamp(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]),3283111854:(e,t)=>new a.IfcRampFlight(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3055160366:(e,t)=>new a.IfcRationalBezierCurve(e,t[0].value,t[1].map((e=>new bm(e.value))),t[2],t[3].value,t[4].value,t[5].map((e=>e.value))),3027567501:(e,t)=>new a.IfcReinforcingElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),2320036040:(e,t)=>new a.IfcReinforcingMesh(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new a.IfcPositiveLengthMeasure(t[10].value):null,new a.IfcPositiveLengthMeasure(t[11].value),new a.IfcPositiveLengthMeasure(t[12].value),new a.IfcAreaMeasure(t[13].value),new a.IfcAreaMeasure(t[14].value),new a.IfcPositiveLengthMeasure(t[15].value),new a.IfcPositiveLengthMeasure(t[16].value)),2016517767:(e,t)=>new a.IfcRoof(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]),1376911519:(e,t)=>new a.IfcRoundedEdgeFeature(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null),1783015770:(e,t)=>new a.IfcSensorType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1529196076:(e,t)=>new a.IfcSlab(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]),331165859:(e,t)=>new a.IfcStair(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]),4252922144:(e,t)=>new a.IfcStairFlight(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?t[8].value:null,t[9]?t[9].value:null,t[10]?new a.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new a.IfcPositiveLengthMeasure(t[11].value):null),2515109513:(e,t)=>new a.IfcStructuralAnalysisModel(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5],t[6]?new bm(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?t[8].map((e=>new bm(e.value))):null),3824725483:(e,t)=>new a.IfcTendon(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9],new a.IfcPositiveLengthMeasure(t[10].value),new a.IfcAreaMeasure(t[11].value),t[12]?new a.IfcForceMeasure(t[12].value):null,t[13]?new a.IfcPressureMeasure(t[13].value):null,t[14]?new a.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new a.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new a.IfcPositiveLengthMeasure(t[16].value):null),2347447852:(e,t)=>new a.IfcTendonAnchor(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null),3313531582:(e,t)=>new a.IfcVibrationIsolatorType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),2391406946:(e,t)=>new a.IfcWall(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3512223829:(e,t)=>new a.IfcWallStandardCase(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),3304561284:(e,t)=>new a.IfcWindow(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null),2874132201:(e,t)=>new a.IfcActuatorType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),3001207471:(e,t)=>new a.IfcAlarmType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),753842376:(e,t)=>new a.IfcBeam(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),2454782716:(e,t)=>new a.IfcChamferEdgeFeature(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new a.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new a.IfcPositiveLengthMeasure(t[10].value):null),578613899:(e,t)=>new a.IfcControllerType(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new a.IfcLabel(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,t[9]),1052013943:(e,t)=>new a.IfcDistributionChamberElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null),1062813311:(e,t)=>new a.IfcDistributionControlElement(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcIdentifier(t[8].value):null),3700593921:(e,t)=>new a.IfcElectricDistributionPoint(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8],t[9]?new a.IfcLabel(t[9].value):null),979691226:(e,t)=>new a.IfcReinforcingBar(e,new a.IfcGloballyUniqueId(t[0].value),new bm(t[1].value),t[2]?new a.IfcLabel(t[2].value):null,t[3]?new a.IfcText(t[3].value):null,t[4]?new a.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new a.IfcIdentifier(t[7].value):null,t[8]?new a.IfcLabel(t[8].value):null,new a.IfcPositiveLengthMeasure(t[9].value),new a.IfcAreaMeasure(t[10].value),t[11]?new a.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13])},xm[1]={618182010:[Kf,_I],411424972:[1648886627,om],4037036970:[ym,vm,wm,Tm],1387855156:[ym],3264961684:[Rf],2859738748:[wf,hm,4257277454,vf,dm],2614616156:[vf],1959218052:[GI,jI],3796139169:[1694125774,2273265877],3200245327:[df,Df,ZI,JI,3207319532,$I,em],3265635763:[2445078500,803998398,3857492461,1860660968,1065908215,3317419933,2267347899,1227763645,Bd,zI,4256014907],4256014907:[Bd,zI],1918398963:[mf,yf,dI],3701648758:[Vd,Jd],2483315170:[Cd,vI,wI,TI,EI,gI,RI,MI],2226359599:[vI,wI,TI,EI,gI,RI],3727388367:[Up,Ed,Fp,gd,hf,Yf,LI,wd,Td,PI,990879717],990879717:[wd,Td,PI],1775413392:[hf,Yf],2022622350:[xI],3119450353:[sf,If,Xf,1290481447,tI],2095639259:[vd,Ud],3958567839:[gp,jc,Rp,qp,$p,eh,Mc,sh,uh,gh,Oh,Lh,Mh,rp,ad,cd,Pd,ff,Ef,Sf,Of,Nf,Af],2802850158:[jh,zh,1446786286,3679540991],2598011224:[gf,ud,pd,dd,fd,Id,yd,rI],1076942058:[nI,iI,Bf,oI,cI],3377609919:[ef,nf],3008791417:[Fd,Op,Ap,xp,Cp,Bl,fr,Io,Bo,Sc,Jc,Gp,Wp,Xp,$l,yc,Pc,Ja,ur,hr,xr,Ro,wr,qc,Fc,yp,vp,Ep,Zp,Vc,au,ou,cu,lp,Jp,th,ih,ah,lh,rh,oh,hh,Gc,fh,vh,Th,Nh,Ph,qh,fp,_p,ap,Kp,dh,Kc,Zc,Hh,Gh,uc,pc,Tp,Qp,Bh,Qc,uu,Lp,Uh,ed,nd,id,ch,Sd,bd,Nd,Ip,Od,Ih,mh,yh,Ad,Ch,Md,jd,zd,Wd,kd,Yd,Xd,ph,Rd,Qd,Dp,$d,tf,Ld,Bp,bh,Dd,Gd,rf,of,lf,cf,Vh,qd,uf,pf,nh,_d,Tf,_f,Mf,Uf,wh,up,Yp,Eh,xf,kp,_h,Cf,Lf,Pf,sI],2341007311:[Su,wu,bu,Nu,po,Eu,Ou,hu,du,fu,Iu,yu,vu,gu,Ru,Du,Au,xu,Cu,Pu,qu,_u,Mu,Hu,Bu,Lu,Uu,Fu,Gu,Vu,ju,zu,Wu,ku,Yu,Xu,Ku,Zu,Qu,$u,ep,tp,uo,mu,Ju,np,Tu,sp,ip,ld,cp,mp,Np,gc,Pp,Hp,jp,zp,Dh,Sh,Qh,Jh,$h,sd,rd,hd,md,Xl,dr,Tr,ja,wl,_r,Ur,Wr,jo,ko,Yl,vr,Er,gr,Rr,Pr,no,ro,oo,wo,To,No,Oo,Ko,fc,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,pp,Cl,go,Yo,vl,xa,Ca,ll,rl,ol,cl,ul,hl,Aa,dl,yl,Ll,Pl,qa,Ha,Ba,Ua,za,Wa,ka,Ka,$a,el,tl,nl,sl,il,al,xl,Fl,Gl,Ql,ar,Oa,Ga,Va,Za,Qa,lr,rr,or,br,Cr,Zo,Pa,Xa,bl,Co,ac,vo,lc,rc,Ic,Hl,Ho,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,Vr,jr,zr,kr,Yr,Jr,Fr,tu,iu,io,lo,Hc,Uc,ru,op,hp,Eo,xo,Po,Yc,dp,wp,Fa,Ml,Mo,oc,vc,La,_a,Ma,Ya,pl,ql,_l,Il,Nl,Qo,fl,gl,Sl,mr,Dr,eo,co,Ao,Uo,Fo,Xo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,sr,bo,Vo,sc,Tl,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,cr,Ir,Or,Ar,Lr,so,qo,zo,Wo,hc,dc,mc,Rc,Dc,ir,pr,Sr,$r,ao,ho,fo,Do,_o,bc,Oc,_c,Bc,kc,to,lu,Xc,Sp,bp,Mp,Vp,Rh,Ah,xh,Hd],3982875396:[Bf,oI],3692461612:[ud,pd,dd,fd,Id,yd],2273995522:[td,af],2162789131:[Wh,kh,Yh,Xh,Kh,Zh,aI,lI],2525727697:[Wh,kh,Yh,Xh,Kh,Zh,aI],2830218821:[nI],3958052878:[wh,up,Yp,Eh,xf,kp,_h,Cf,Lf,Pf],846575682:[Fh],626085974:[xd,Zd,bf],280115917:[Vf,jf],3101149627:[od,Kd],1377556343:[Ld,Bp,bh,Dd,Gd,rf,of,lf,cf,Vh,qd,uf,pf,nh,_d,Tf,_f,Mf],2799835756:[_f],2442683028:[wh,up,Yp,Eh,xf,kp,_h,Cf,Lf],3612888222:[kp,_h],3798115385:[Nf],1310608509:[Sf],370225590:[nh,_d],3900360178:[Vh,qd,uf],2556980723:[lf],1809719519:[rf],1446786286:[jh,zh],3448662350:[ef],2453401579:[Op,Ap,xp,Cp,Bl,fr,Io,Bo,Sc,Jc,Gp,Wp,Xp,$l,yc,Pc,Ja,ur,hr,xr,Ro,wr,qc,Fc,yp,vp,Ep,Zp,Vc,au,ou,cu,lp,Jp,th,ih,ah,lh,rh,oh,hh,Gc,fh,vh,Th,Nh,Ph,qh,fp,_p,ap,Kp,dh,Kc,Zc,Hh,Gh,uc,pc,Tp,Qp,Bh,Qc,uu,Lp,Uh,ed,nd,id,ch,Sd,bd,Nd,Ip,Od,Ih,mh,yh,Ad,Ch,Md,jd,zd,Wd,kd,Yd,Xd,ph,Rd,Qd,Dp,$d],3590301190:[Dp],812098782:[ph,Rd],1402838566:[jd,zd,Wd,kd,Yd],1520743889:[jd],1008929658:[Bp,bh,Dd],219451334:[Xl,dr,Tr,ja,wl,_r,Ur,Wr,jo,ko,Yl,vr,Er,gr,Rr,Pr,no,ro,oo,wo,To,No,Oo,Ko,fc,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,pp,Cl,go,Yo,vl,xa,Ca,ll,rl,ol,cl,ul,hl,Aa,dl,yl,Ll,Pl,qa,Ha,Ba,Ua,za,Wa,ka,Ka,$a,el,tl,nl,sl,il,al,xl,Fl,Gl,Ql,ar,Oa,Ga,Va,Za,Qa,lr,rr,or,br,Cr,Zo,Pa,Xa,bl,Co,ac,vo,lc,rc,Ic,Hl,Ho,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,Vr,jr,zr,kr,Yr,Jr,Fr,tu,iu,io,lo,Hc,Uc,ru,op,hp,Eo,xo,Po,Yc,dp,wp,Fa,Ml,Mo,oc,vc,La,_a,Ma,Ya,pl,ql,_l,Il,Nl,Qo,fl,gl,Sl,mr,Dr,eo,co,Ao,Uo,Fo,Xo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,sr,bo,Vo,sc,Tl,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,cr,Ir,Or,Ar,Lr,so,qo,zo,Wo,hc,dc,mc,Rc,Dc,ir,pr,Sr,$r,ao,ho,fo,Do,_o,bc,Oc,_c,Bc,kc,to,lu,Xc,Sp,bp,Mp,Vp,Rh,Ah,xh],2833995503:[Ch],2529465313:[gp,jc,Rp,qp,$p,eh,Mc,sh,uh,gh,Oh,Lh,Mh,rp,ad,cd],2004835150:[Ih,mh,yh],1663979128:[Ip],2067069095:[ch,Sd,bd],759155922:[Fp],2559016684:[Up],1680319473:[cp,mp,Np,gc,Pp,Hp,jp,zp,Dh,Sh,Qh,Jh,$h,sd,rd,hd],3357820518:[cp,mp,Np,gc,Pp,Hp,jp,zp,Dh,Sh,Qh,Jh,$h,sd,rd],3615266464:[rp,ad],478536968:[Su,wu,bu,Nu,po,Eu,Ou,hu,du,fu,Iu,yu,vu,gu,Ru,Du,Au,xu,Cu,Pu,qu,_u,Mu,Hu,Bu,Lu,Uu,Fu,Gu,Vu,ju,zu,Wu,ku,Yu,Xu,Ku,Zu,Qu,$u,ep,tp,uo,mu,Ju,np,Tu,sp,ip],723233188:[uc,pc,Tp,Qp,Bh,Qc,uu,Lp,Uh],2473145415:[Yh],1597423693:[Wh],3843319758:[jh],2513912981:[fp,_p,ap,Kp,dh,Kc,Zc,Hh],2247615214:[Qc,uu,Lp],230924584:[Kc,Zc],3028897424:[kp],4282788508:[Ph],1628702193:[Fa,Ml,Mo,oc,vc,La,_a,Ma,Ya,pl,ql,_l,Il,Nl,Qo,fl,gl,Sl,mr,Dr,eo,co,Ao,Uo,Fo,Xo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,sr,bo,Vo,sc,Tl,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,cr,Ir,Or,Ar,Lr,so,qo,zo,Wo,hc,dc,mc,Rc,Dc,ir,pr,Sr,$r,ao,ho,fo,Do,_o,bc,Oc,_c,Bc,kc,to,lu,Xc,Sp,bp,Mp,Vp,Rh,Ah],2347495698:[Fa,Ml,Mo,oc,vc,La,_a,Ma,Ya,pl,ql,_l,Il,Nl,Qo,fl,gl,Sl,mr,Dr,eo,co,Ao,Uo,Fo,Xo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,sr,bo,Vo,sc,Tl,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,cr,Ir,Or,Ar,Lr,so,qo,zo,Wo,hc,dc,mc,Rc,Dc,ir,pr,Sr,$r,ao,ho,fo,Do,_o,bc,Oc,_c,Bc,kc,to,lu,Xc,Sp,bp,Mp,Vp,Rh],3288037868:[up,Yp],2736907675:[Gc],4182860854:[ap,Kp],59481748:[ih,ah,lh,rh],3749851601:[lh],3331915920:[ih],1383045692:[Mc],2506170314:[Vc,au,ou,cu,lp],2601014836:[$l,yc,Pc,Ja,ur,hr,xr,Ro,wr,qc,Fc,yp,vp,Ep],3073041342:[Bl,fr,Io,Bo,Sc,Jc],339256511:[Fa,Ml,Mo,oc,vc,La,_a,Ma,Ya,pl,ql,_l,Il,Nl,Qo,fl,gl,Sl,mr,Dr,eo,co,Ao,Uo,Fo,Xo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,sr,bo,Vo,sc,Tl,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,cr,Ir,Or,Ar,Lr,so,qo,zo,Wo,hc,dc,mc,Rc,Dc,ir,pr,Sr,$r,ao,ho,fo,Do,_o,bc,Oc,_c,Bc,kc,to,lu,Xc,Sp,bp],2777663545:[fp],80994333:[gc],4238390223:[Xc,Sp],1484403080:[jc],1425443689:[uc,pc],3888040117:[Xl,dr,Tr,ja,wl,_r,Ur,Wr,jo,ko,Yl,vr,Er,gr,Rr,Pr,no,ro,oo,wo,To,No,Oo,Ko,fc,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,pp,Cl,go,Yo,vl,xa,Ca,ll,rl,ol,cl,ul,hl,Aa,dl,yl,Ll,Pl,qa,Ha,Ba,Ua,za,Wa,ka,Ka,$a,el,tl,nl,sl,il,al,xl,Fl,Gl,Ql,ar,Oa,Ga,Va,Za,Qa,lr,rr,or,br,Cr,Zo,Pa,Xa,bl,Co,ac,vo,lc,rc,Ic,Hl,Ho,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,Vr,jr,zr,kr,Yr,Jr,Fr,tu,iu,io,lo,Hc,Uc,ru,op,hp,Eo,xo,Po,Yc,dp],2945172077:[Eo,xo,Po,Yc],4208778838:[Cl,go,Yo,vl,xa,Ca,ll,rl,ol,cl,ul,hl,Aa,dl,yl,Ll,Pl,qa,Ha,Ba,Ua,za,Wa,ka,Ka,$a,el,tl,nl,sl,il,al,xl,Fl,Gl,Ql,ar,Oa,Ga,Va,Za,Qa,lr,rr,or,br,Cr,Zo,Pa,Xa,bl,Co,ac,vo,lc,rc,Ic,Hl,Ho,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,Vr,jr,zr,kr,Yr,Jr,Fr,tu,iu,io,lo,Hc,Uc,ru,op],3939117080:[Qu,$u,ep,tp,uo,mu,Ju,np,Tu,sp],1683148259:[Tu],2495723537:[uo,mu,Ju],1865459582:[Vu,ju,zu,Wu,ku,Yu,Xu,Ku],826625072:[hu,du,fu,Iu,yu,vu,gu,Ru,Du,Au,xu,Cu,Pu,qu,_u,Mu,Hu,Bu,Lu,Uu,Fu],1204542856:[Lu,Uu],1638771189:[Pu],2551354335:[po,Eu],693640335:[Su,wu,bu],4186316022:[wu],2914609552:[zl,Wl,kl,Hr,Go,Nc,Lc],2706606064:[io,lo,Hc,Uc],3893378262:[to],3544373492:[Vr,jr,zr,kr,Yr,Jr,Fr,tu],3136571912:[Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu],530289379:[Xr,Kr,$c,eu],3689010777:[Fr],3979015343:[$c],3473067441:[xo,Po],2296667514:[Lo],1260505505:[Ja,ur,hr,xr,Ro,wr,qc],1950629157:[ir,pr,Sr,$r,ao,ho,fo,Do,_o,bc,Oc,_c],3732776249:[wr],2510884976:[$l,yc],2559216714:[zl,Wl,kl,Hr,Go,Nc],3293443760:[Yl,vr,Er,gr,Rr,Pr,no,ro,oo,wo,To,No,Oo,Ko,fc,Ac,xc],681481545:[Bl,fr,Io,Bo],3256556792:[La,_a,Ma,Ya,pl,ql,_l,Il,Nl,Qo,fl,gl,Sl,mr,Dr,eo,co,Ao,Uo,Fo,Xo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,sr,bo,Vo,sc,Tl,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,cr,Ir,Or,Ar,Lr,so,qo,zo,Wo,hc,dc,mc,Rc],3849074793:[_l,Il,Nl,Qo,fl,gl,Sl,mr,Dr,eo,co,Ao,Uo,Fo,Xo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,sr,bo,Vo,sc,Tl,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,cr,Ir,Or,Ar,Lr,so,qo,zo,Wo,hc,dc,mc],1758889154:[vl,xa,Ca,ll,rl,ol,cl,ul,hl,Aa,dl,yl,Ll,Pl,qa,Ha,Ba,Ua,za,Wa,ka,Ka,$a,el,tl,nl,sl,il,al,xl,Fl,Gl,Ql,ar,Oa,Ga,Va,Za,Qa,lr,rr,or,br,Cr,Zo,Pa,Xa,bl,Co,ac,vo,lc,rc,Ic,Hl,Ho,cc,wc,Tc],1623761950:[Hl,Ho,cc],2590856083:[Fa,Ml,Mo,oc],2107101300:[El,Rl,Vl,jl,Kl,Jl,er,cr,Ir,Or,Ar,Lr,so,qo,zo,Wo,hc,dc],647756555:[Ho],2489546625:[Mo],2827207264:[Pa,Xa,bl,Co,ac,vo,lc],2143335405:[vo],1287392070:[Pa,Xa,bl,Co],3907093117:[Tl,Ul,yr,Nr,Mr,yo,nc],3198132628:[Al,sr,bo,Vo],1482959167:[ml,Zl,mo],1834744321:[Ol,tr,nr,So],1339347760:[Dl,qr],2297155007:[fl,gl,Sl,mr,Dr,eo,co,Ao,Uo,Fo,Xo],3009222698:[Il,Nl],2706460486:[Xl,dr,Tr,ja,wl,_r,Ur,Wr,jo],3740093272:[Cl],682877961:[Vr,jr,zr,kr,Yr],1179482911:[Br,Gr,Zr],214636428:[Xr],1807405624:[kr],1621171031:[jr],2254336722:[ja,wl],1028945134:[Er,gr],1967976161:[Ja,ur],1916977116:[Ja],3299480353:[qa,Ha,Ba,Ua,za,Wa,ka,Ka,$a,el,tl,nl,sl,il,al,xl,Fl,Gl,Ql,ar,Oa,Ga,Va,Za,Qa,lr,rr],52481810:[Oa,Ga,Va,Za,Qa,lr],2635815018:[Fa],2063403501:[La,_a,Ma,Ya,pl],1945004755:[xa,Ca,ll,rl,ol,cl,ul,hl,Aa,dl,yl,Ll],3040386961:[Ca,ll,rl,ol,cl,ul,hl,Aa,dl,yl],855621170:[Pa,Xa],2058353004:[Aa],3027567501:[Oa,Ga,Va,Za],2391406946:[Ba]},Am[1]={618182010:[["OfPerson",BI,7,!0],["OfOrganization",FI,4,!0]],411424972:[["ValuesReferenced",yI,1,!0],["ValueOfComponents",gm,0,!0],["IsComponentIn",gm,1,!0]],130549933:[["Actors",2080292479,1,!0],["IsRelatedWith",Em,0,!0],["Relates",Em,1,!0]],747523909:[["Contains",1767535486,1,!0]],1767535486:[["IsClassifiedItemIn",Im,1,!0],["IsClassifyingItemIn",Im,0,!0]],1959218052:[["ClassifiedAs",um,0,!0],["RelatesConstraints",cm,2,!0],["IsRelatedWith",cm,3,!0],["PropertiesForConstraint",bI,0,!0],["Aggregates",pm,2,!0],["IsAggregatedIn",pm,3,!0]],602808272:[["ValuesReferenced",yI,1,!0],["ValueOfComponents",gm,0,!0],["IsComponentIn",gm,1,!0]],1154170062:[["IsPointedTo",nm,1,!0],["IsPointer",nm,0,!0]],1648886627:[["ValuesReferenced",yI,1,!0],["ValueOfComponents",gm,0,!0],["IsComponentIn",gm,1,!0]],852622518:[["PartOfW",Yo,9,!0],["PartOfV",Yo,8,!0],["PartOfU",Yo,7,!0],["HasIntersections",qf,0,!0]],3452421091:[["ReferenceIntoLibrary",QI,4,!0]],1838606355:[["HasRepresentation",Ud,3,!0],["ClassifiedAs",1847130766,1,!0]],248100487:[["ToMaterialLayerSet",YI,0,!1]],3368373690:[["ClassifiedAs",um,0,!0],["RelatesConstraints",cm,2,!0],["IsRelatedWith",cm,3,!0],["PropertiesForConstraint",bI,0,!0],["Aggregates",pm,2,!0],["IsAggregatedIn",pm,3,!0]],3701648758:[["PlacesObject",hp,5,!0],["ReferencedByPlacements",Vd,0,!0]],2251480897:[["ClassifiedAs",um,0,!0],["RelatesConstraints",cm,2,!0],["IsRelatedWith",cm,3,!0],["PropertiesForConstraint",bI,0,!0],["Aggregates",pm,2,!0],["IsAggregatedIn",pm,3,!0]],4251960020:[["IsRelatedBy",UI,3,!0],["Relates",UI,2,!0],["Engages",HI,1,!0]],2077209135:[["EngagedIn",HI,0,!0]],2483315170:[["PartOfComplex",Cd,2,!0]],2226359599:[["PartOfComplex",Cd,2,!0]],3355820592:[["OfPerson",BI,7,!0],["OfOrganization",FI,4,!0]],2598011224:[["PropertyForDependance",SI,0,!0],["PropertyDependsOn",SI,1,!0],["PartOfComplex",gf,3,!0]],2044713172:[["PartOfComplex",Cd,2,!0]],2093928680:[["PartOfComplex",Cd,2,!0]],931644368:[["PartOfComplex",Cd,2,!0]],3252649465:[["PartOfComplex",Cd,2,!0]],2405470396:[["PartOfComplex",Cd,2,!0]],825690147:[["PartOfComplex",Cd,2,!0]],1076942058:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0]],3377609919:[["RepresentationsInContext",II,0,!0]],3008791417:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1660063152:[["MapUsage",Fd,0,!0]],3982875396:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0],["OfShapeAspect",uI,0,!0]],4240577450:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0],["OfShapeAspect",uI,0,!0]],3692461612:[["PropertyForDependance",SI,0,!0],["PropertyDependsOn",SI,1,!0],["PartOfComplex",gf,3,!0]],2830218821:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0]],3958052878:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3049322572:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0]],531007025:[["OfTable",985171141,1,!1]],912023232:[["OfPerson",BI,7,!0],["OfOrganization",FI,4,!0]],280115917:[["AnnotatedSurface",vh,1,!0]],1742049831:[["AnnotatedSurface",vh,1,!0]],2552916305:[["AnnotatedSurface",vh,1,!0]],3101149627:[["DocumentedBy",Ff,0,!0]],1377556343:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1735638870:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0],["OfShapeAspect",uI,0,!0]],2799835756:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1907098498:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2442683028:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],962685235:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3612888222:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2297822566:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2542286263:[["PropertyForDependance",SI,0,!0],["PropertyDependsOn",SI,1,!0],["PartOfComplex",gf,3,!0]],370225590:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3732053477:[["ReferenceToDocument",sm,3,!0]],3900360178:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],476780140:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2556980723:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1809719519:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],803316827:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3008276851:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3448662350:[["RepresentationsInContext",II,0,!0],["HasSubContexts",ef,6,!0]],2453401579:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],4142052618:[["RepresentationsInContext",II,0,!0],["HasSubContexts",ef,6,!0]],3590301190:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],178086475:[["PlacesObject",hp,5,!0],["ReferencedByPlacements",Vd,0,!0]],812098782:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3741457305:[["DocumentedBy",Ff,0,!0]],1402838566:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],125510826:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2604431987:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],4266656042:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1520743889:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3422422726:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2624227202:[["PlacesObject",hp,5,!0],["ReferencedByPlacements",Vd,0,!0]],1008929658:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2347385850:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],219451334:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0]],2833995503:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2665983363:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1029017970:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2519244187:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3021840470:[["PartOfComplex",Cd,2,!0]],2004835150:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1663979128:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2067069095:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],4022376103:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1423911732:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2924175390:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2775532180:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],673634403:[["ShapeOfProduct",hp,6,!0],["HasShapeAspects",uI,4,!0]],871118103:[["PropertyForDependance",SI,0,!0],["PropertyDependsOn",SI,1,!0],["PartOfComplex",gf,3,!0]],1680319473:[["HasAssociations",Zu,4,!0]],4166981789:[["PropertyForDependance",SI,0,!0],["PropertyDependsOn",SI,1,!0],["PartOfComplex",gf,3,!0]],2752243245:[["PropertyForDependance",SI,0,!0],["PropertyDependsOn",SI,1,!0],["PartOfComplex",gf,3,!0]],941946838:[["PropertyForDependance",SI,0,!0],["PropertyDependsOn",SI,1,!0],["PartOfComplex",gf,3,!0]],3357820518:[["HasAssociations",Zu,4,!0],["PropertyDefinitionOf",bu,5,!0],["DefinesType",xh,5,!0]],3650150729:[["PropertyForDependance",SI,0,!0],["PropertyDependsOn",SI,1,!0],["PartOfComplex",gf,3,!0]],110355661:[["PropertyForDependance",SI,0,!0],["PropertyDependsOn",SI,1,!0],["PartOfComplex",gf,3,!0]],3413951693:[["DocumentedBy",Ff,0,!0]],3765753017:[["HasAssociations",Zu,4,!0],["PropertyDefinitionOf",bu,5,!0],["DefinesType",xh,5,!0]],1509187699:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2411513650:[["HasAssociations",Zu,4,!0],["PropertyDefinitionOf",bu,5,!0],["DefinesType",xh,5,!0]],4124623270:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],723233188:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2485662743:[["HasAssociations",Zu,4,!0],["PropertyDefinitionOf",bu,5,!0],["DefinesType",xh,5,!0]],1202362311:[["HasAssociations",Zu,4,!0],["PropertyDefinitionOf",bu,5,!0],["DefinesType",xh,5,!0]],390701378:[["HasAssociations",Zu,4,!0],["PropertyDefinitionOf",bu,5,!0],["DefinesType",xh,5,!0]],2233826070:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2513912981:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2247615214:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1260650574:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],230924584:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3028897424:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],4282788508:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3124975700:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1345879162:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1628702193:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2347495698:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1417489154:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2759199220:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],336235671:[["HasAssociations",Zu,4,!0],["PropertyDefinitionOf",bu,5,!0],["DefinesType",xh,5,!0]],512836454:[["HasAssociations",Zu,4,!0],["PropertyDefinitionOf",bu,5,!0],["DefinesType",xh,5,!0]],1299126871:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3288037868:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],669184980:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2265737646:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1302238472:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],4261334040:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3125803723:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2740243338:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2736907675:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],4182860854:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2581212453:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2713105998:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1123145078:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],59481748:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3749851601:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3486308946:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3331915920:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1416205885:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2205249479:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2485617015:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0],["UsingCurves",qc,0,!0]],2506170314:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2147822146:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2601014836:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2827736869:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],693772133:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],606661476:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0],["AnnotatedBySymbols",_h,3,!0]],4054601972:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],32440307:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2963535650:[["HasAssociations",Zu,4,!0],["PropertyDefinitionOf",bu,5,!0],["DefinesType",xh,5,!0]],1714330368:[["HasAssociations",Zu,4,!0],["PropertyDefinitionOf",bu,5,!0],["DefinesType",xh,5,!0]],526551008:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3073041342:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0],["IsRelatedFromCallout",tm,3,!0],["IsRelatedToCallout",tm,2,!0]],1472233963:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1883228015:[["HasAssociations",Zu,4,!0],["PropertyDefinitionOf",bu,5,!0],["DefinesType",xh,5,!0]],339256511:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2777663545:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],80994333:[["HasAssociations",Zu,4,!0],["PropertyDefinitionOf",bu,5,!0],["DefinesType",xh,5,!0]],477187591:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2047409740:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],374418227:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],4203026998:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],315944413:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3455213021:[["HasAssociations",Zu,4,!0],["PropertyDefinitionOf",bu,5,!0],["DefinesType",xh,5,!0]],4238390223:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1268542332:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],987898635:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1281925730:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1425443689:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3888040117:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0]],3388369263:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3505215534:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3566463478:[["HasAssociations",Zu,4,!0],["PropertyDefinitionOf",bu,5,!0],["DefinesType",xh,5,!0]],603570806:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],220341763:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2945172077:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["OperatesOn",ep,6,!0],["IsSuccessorFrom",Iu,5,!0],["IsPredecessorTo",Iu,4,!0]],4208778838:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0]],103090709:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0]],4194566429:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1451395588:[["HasAssociations",Zu,4,!0],["PropertyDefinitionOf",bu,5,!0],["DefinesType",xh,5,!0]],3219374653:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0]],2798486643:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3454111270:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2914609552:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ResourceOf",Qu,6,!0]],1856042241:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],4158566097:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3626867408:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2706606064:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["ReferencesElements",yu,5,!0],["ServicedBySystems",fu,5,!0],["ContainsElements",Cu,5,!0]],3893378262:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],451544542:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3544373492:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!1]],3136571912:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0]],530289379:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ReferencesElement",_u,5,!0],["ConnectedBy",qu,4,!0]],3689010777:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!1],["Causes",Jr,10,!0]],3979015343:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ReferencesElement",_u,5,!0],["ConnectedBy",qu,4,!0]],2218152070:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ReferencesElement",_u,5,!0],["ConnectedBy",qu,4,!0]],4070609034:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0],["IsRelatedFromCallout",tm,3,!0],["IsRelatedToCallout",tm,2,!0]],2028607225:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2809605785:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],4124788165:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1580310250:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3473067441:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["OperatesOn",ep,6,!0],["IsSuccessorFrom",Iu,5,!0],["IsPredecessorTo",Iu,4,!0]],2097647324:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2296667514:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["IsActingUpon",sp,6,!0]],1674181508:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["ContainedInStructure",Cu,4,!0]],1334484129:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3649129432:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1260505505:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],4031249490:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["ReferencesElements",yu,5,!0],["ServicedBySystems",fu,5,!0],["ContainsElements",Cu,5,!0]],1950629157:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3124254112:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["ReferencesElements",yu,5,!0],["ServicedBySystems",fu,5,!0],["ContainsElements",Cu,5,!0]],300633059:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3732776249:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2510884976:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2559216714:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ResourceOf",Qu,6,!0]],3293443760:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0]],3895139033:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0]],1419761937:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0]],1916426348:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3295246426:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ResourceOf",Qu,6,!0]],1457835157:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],681481545:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0],["IsRelatedFromCallout",tm,3,!0],["IsRelatedToCallout",tm,2,!0]],3256556792:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3849074793:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],360485395:[["HasAssociations",Zu,4,!0],["PropertyDefinitionOf",bu,5,!0],["DefinesType",xh,5,!0]],1758889154:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],4123344466:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],1623761950:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],2590856083:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1704287377:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2107101300:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1962604670:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],3272907226:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0]],3174744832:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3390157468:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],807026263:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3737207727:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],647756555:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],2489546625:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2827207264:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],2143335405:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["ProjectsElements",vu,5,!1]],1287392070:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["VoidsElements",hu,5,!1]],3907093117:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3198132628:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3815607619:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1482959167:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1834744321:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1339347760:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2297155007:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3009222698:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],263784265:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],814719939:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0]],200128114:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3009204131:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["ContainedInStructure",Cu,4,!0]],2706460486:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["IsGroupedBy",tp,6,!1]],1251058090:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1806887404:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2391368822:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["IsGroupedBy",tp,6,!1]],4288270099:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3827777499:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ResourceOf",Qu,6,!0]],1051575348:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1161773419:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2506943328:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0],["IsRelatedFromCallout",tm,3,!0],["IsRelatedToCallout",tm,2,!0]],377706215:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],2108223431:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3181161470:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],977012517:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1916936684:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["OperatesOn",ep,6,!0],["IsSuccessorFrom",Iu,5,!0],["IsPredecessorTo",Iu,4,!0]],4143007308:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["IsActingUpon",sp,6,!0]],3588315303:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["VoidsElements",hu,5,!1],["HasFillings",Du,4,!0]],3425660407:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["OperatesOn",ep,6,!0],["IsSuccessorFrom",Iu,5,!0],["IsPredecessorTo",Iu,4,!0]],2837617999:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2382730787:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0]],3327091369:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0]],804291784:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],4231323485:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],4017108033:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3724593414:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3740093272:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["ContainedIn",Bu,4,!1],["ConnectedFrom",Hu,5,!0],["ConnectedTo",Hu,4,!0]],2744685151:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["OperatesOn",ep,6,!0],["IsSuccessorFrom",Iu,5,!0],["IsPredecessorTo",Iu,4,!0]],2904328755:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0]],3642467123:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0]],3651124850:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["ProjectsElements",vu,5,!1]],1842657554:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2250791053:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3248260540:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0],["IsRelatedFromCallout",tm,3,!0],["IsRelatedToCallout",tm,2,!0]],2893384427:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2324767716:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1768891740:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3517283431:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0],["ScheduleTimeControlAssigned",uo,7,!1]],4105383287:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0]],4097777520:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["ReferencesElements",yu,5,!0],["ServicedBySystems",fu,5,!0],["ContainsElements",Cu,5,!0]],2533589738:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3856911033:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["ReferencesElements",yu,5,!0],["ServicedBySystems",fu,5,!0],["ContainsElements",Cu,5,!0],["HasCoverings",Au,4,!0],["BoundedBy",du,4,!0]],1305183839:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],652456506:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0],["HasInteractionReqsFrom",gu,7,!0],["HasInteractionReqsTo",gu,8,!0]],3812236995:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3112655638:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1039846685:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],682877961:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!1]],1179482911:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectsStructuralMembers",qu,5,!0]],4243806635:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectsStructuralMembers",qu,5,!0]],214636428:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ReferencesElement",_u,5,!0],["ConnectedBy",qu,4,!0]],2445595289:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ReferencesElement",_u,5,!0],["ConnectedBy",qu,4,!0]],1807405624:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!1]],1721250024:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!1]],1252848954:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["IsGroupedBy",tp,6,!1],["SourceOfResultGroup",Ur,6,!0],["LoadGroupFor",ja,7,!0]],1621171031:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!1]],3987759626:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!1]],2082059205:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!1]],734778138:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectsStructuralMembers",qu,5,!0]],1235345126:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!1],["Causes",Jr,10,!0]],2986769608:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["IsGroupedBy",tp,6,!1],["ResultGroupFor",ja,8,!0]],1975003073:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectsStructuralMembers",qu,5,!0]],148013059:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ResourceOf",Qu,6,!0]],2315554128:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2254336722:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["IsGroupedBy",tp,6,!1],["ServicesBuildings",fu,4,!0]],5716631:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1637806684:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0]],1692211062:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1620046519:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],3593883385:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],1600972822:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1911125066:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],728799441:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2769231204:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],1898987631:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1133259667:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1028945134:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0]],4218914973:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0]],3342526732:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0]],1033361043:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["IsGroupedBy",tp,6,!1]],1213861670:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3821786052:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0]],1411407467:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3352864051:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1871374353:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2470393545:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0],["IsRelatedFromCallout",tm,3,!0],["IsRelatedToCallout",tm,2,!0]],3460190687:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["IsGroupedBy",tp,6,!1]],1967976161:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],819618141:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1916977116:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],231477066:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3299480353:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],52481810:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],2979338954:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],1095909175:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],1909888760:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],395041908:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3293546465:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1285652485:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2951183804:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2611217952:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],2301859152:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],843113511:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],3850581409:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2816379211:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2188551683:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["IsGroupedBy",tp,6,!1]],1163958913:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["Controls",np,6,!0]],3898045240:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ResourceOf",Qu,6,!0]],1060000209:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ResourceOf",Qu,6,!0]],488727124:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ResourceOf",Qu,6,!0]],335055490:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2954562838:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1973544240:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["CoversSpaces",Au,5,!0],["Covers",xu,5,!0]],3495092785:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],3961806047:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],4147604152:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0],["IsRelatedFromCallout",tm,3,!0],["IsRelatedToCallout",tm,2,!0]],1335981549:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],2635815018:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1599208980:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2063403501:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1945004755:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],3040386961:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasControlElements",Ru,5,!0]],3041715199:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["ContainedIn",Bu,4,!1],["ConnectedFrom",Hu,5,!0],["ConnectedTo",Hu,4,!0]],395920057:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],869906466:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3760055223:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2030761528:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],855621170:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["VoidsElements",hu,5,!1]],663422040:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3277789161:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1534661035:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1365060375:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1217240411:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],712377611:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1634875225:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["IsGroupedBy",tp,6,!1],["ServicesBuildings",fu,4,!0]],857184966:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],1658829314:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasControlElements",Ru,5,!0]],346874300:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1810631287:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],4222183408:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2058353004:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasControlElements",Ru,5,!0]],4278956645:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasControlElements",Ru,5,!0]],4037862832:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3132237377:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasControlElements",Ru,5,!0]],987401354:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasControlElements",Ru,5,!0]],707683696:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasControlElements",Ru,5,!0]],2223149337:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasControlElements",Ru,5,!0]],3508470533:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasControlElements",Ru,5,!0]],900683007:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],1073191201:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],1687234759:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],3171933400:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],2262370178:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],3024970846:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],3283111854:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],3055160366:[["LayerAssignments",CI,2,!0],["StyledByItem",sI,0,!0]],3027567501:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],2320036040:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],2016517767:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],1376911519:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["VoidsElements",hu,5,!1]],1783015770:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1529196076:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],331165859:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],4252922144:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],2515109513:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["IsGroupedBy",tp,6,!1],["ServicesBuildings",fu,4,!0]],3824725483:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],2347447852:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],3313531582:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],2391406946:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],3512223829:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],3304561284:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],2874132201:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],3001207471:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],753842376:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]],2454782716:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["VoidsElements",hu,5,!1]],578613899:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["ObjectTypeOf",Su,5,!0]],1052013943:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasControlElements",Ru,5,!0]],1062813311:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["AssignedToFlowElement",Ru,4,!0]],3700593921:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasControlElements",Ru,5,!0]],979691226:[["HasAssignments",ip,4,!0],["IsDecomposedBy",Ou,4,!0],["Decomposes",Ou,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",Nu,4,!0],["ReferencedBy",$u,6,!0],["HasStructuralMember",_u,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["HasCoverings",xu,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasPorts",Bu,5,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0]]},Cm[1]={3630933823:(e,t)=>new a.IfcActorRole(e,t[0],t[1],t[2]),618182010:(e,t)=>new a.IfcAddress(e,t[0],t[1],t[2]),639542469:(e,t)=>new a.IfcApplication(e,t[0],t[1],t[2],t[3]),411424972:(e,t)=>new a.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5]),1110488051:(e,t)=>new a.IfcAppliedValueRelationship(e,t[0],t[1],t[2],t[3],t[4]),130549933:(e,t)=>new a.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2080292479:(e,t)=>new a.IfcApprovalActorRelationship(e,t[0],t[1],t[2]),390851274:(e,t)=>new a.IfcApprovalPropertyRelationship(e,t[0],t[1]),3869604511:(e,t)=>new a.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3]),4037036970:(e,t)=>new a.IfcBoundaryCondition(e,t[0]),1560379544:(e,t)=>new a.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3367102660:(e,t)=>new a.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3]),1387855156:(e,t)=>new a.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2069777674:(e,t)=>new a.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),622194075:(e,t)=>new a.IfcCalendarDate(e,t[0],t[1],t[2]),747523909:(e,t)=>new a.IfcClassification(e,t[0],t[1],t[2],t[3]),1767535486:(e,t)=>new a.IfcClassificationItem(e,t[0],t[1],t[2]),1098599126:(e,t)=>new a.IfcClassificationItemRelationship(e,t[0],t[1]),938368621:(e,t)=>new a.IfcClassificationNotation(e,t[0]),3639012971:(e,t)=>new a.IfcClassificationNotationFacet(e,t[0]),3264961684:(e,t)=>new a.IfcColourSpecification(e,t[0]),2859738748:(e,t)=>new a.IfcConnectionGeometry(e),2614616156:(e,t)=>new a.IfcConnectionPointGeometry(e,t[0],t[1]),4257277454:(e,t)=>new a.IfcConnectionPortGeometry(e,t[0],t[1],t[2]),2732653382:(e,t)=>new a.IfcConnectionSurfaceGeometry(e,t[0],t[1]),1959218052:(e,t)=>new a.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1658513725:(e,t)=>new a.IfcConstraintAggregationRelationship(e,t[0],t[1],t[2],t[3],t[4]),613356794:(e,t)=>new a.IfcConstraintClassificationRelationship(e,t[0],t[1]),347226245:(e,t)=>new a.IfcConstraintRelationship(e,t[0],t[1],t[2],t[3]),1065062679:(e,t)=>new a.IfcCoordinatedUniversalTimeOffset(e,t[0],t[1],t[2]),602808272:(e,t)=>new a.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),539742890:(e,t)=>new a.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4]),1105321065:(e,t)=>new a.IfcCurveStyleFont(e,t[0],t[1]),2367409068:(e,t)=>new a.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2]),3510044353:(e,t)=>new a.IfcCurveStyleFontPattern(e,t[0],t[1]),1072939445:(e,t)=>new a.IfcDateAndTime(e,t[0],t[1]),1765591967:(e,t)=>new a.IfcDerivedUnit(e,t[0],t[1],t[2]),1045800335:(e,t)=>new a.IfcDerivedUnitElement(e,t[0],t[1]),2949456006:(e,t)=>new a.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1376555844:(e,t)=>new a.IfcDocumentElectronicFormat(e,t[0],t[1],t[2]),1154170062:(e,t)=>new a.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),770865208:(e,t)=>new a.IfcDocumentInformationRelationship(e,t[0],t[1],t[2]),3796139169:(e,t)=>new a.IfcDraughtingCalloutRelationship(e,t[0],t[1],t[2],t[3]),1648886627:(e,t)=>new a.IfcEnvironmentalImpactValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3200245327:(e,t)=>new a.IfcExternalReference(e,t[0],t[1],t[2]),2242383968:(e,t)=>new a.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2]),1040185647:(e,t)=>new a.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2]),3207319532:(e,t)=>new a.IfcExternallyDefinedSymbol(e,t[0],t[1],t[2]),3548104201:(e,t)=>new a.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2]),852622518:(e,t)=>new a.IfcGridAxis(e,t[0],t[1],t[2]),3020489413:(e,t)=>new a.IfcIrregularTimeSeriesValue(e,t[0],t[1]),2655187982:(e,t)=>new a.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4]),3452421091:(e,t)=>new a.IfcLibraryReference(e,t[0],t[1],t[2]),4162380809:(e,t)=>new a.IfcLightDistributionData(e,t[0],t[1],t[2]),1566485204:(e,t)=>new a.IfcLightIntensityDistribution(e,t[0],t[1]),30780891:(e,t)=>new a.IfcLocalTime(e,t[0],t[1],t[2],t[3],t[4]),1838606355:(e,t)=>new a.IfcMaterial(e,t[0]),1847130766:(e,t)=>new a.IfcMaterialClassificationRelationship(e,t[0],t[1]),248100487:(e,t)=>new a.IfcMaterialLayer(e,t[0],t[1],t[2]),3303938423:(e,t)=>new a.IfcMaterialLayerSet(e,t[0],t[1]),1303795690:(e,t)=>new a.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3]),2199411900:(e,t)=>new a.IfcMaterialList(e,t[0]),3265635763:(e,t)=>new a.IfcMaterialProperties(e,t[0]),2597039031:(e,t)=>new a.IfcMeasureWithUnit(e,t[0],t[1]),4256014907:(e,t)=>new a.IfcMechanicalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),677618848:(e,t)=>new a.IfcMechanicalSteelMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),3368373690:(e,t)=>new a.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2706619895:(e,t)=>new a.IfcMonetaryUnit(e,t[0]),1918398963:(e,t)=>new a.IfcNamedUnit(e,t[0],t[1]),3701648758:(e,t)=>new a.IfcObjectPlacement(e),2251480897:(e,t)=>new a.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1227763645:(e,t)=>new a.IfcOpticalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4251960020:(e,t)=>new a.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4]),1411181986:(e,t)=>new a.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3]),1207048766:(e,t)=>new a.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2077209135:(e,t)=>new a.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),101040310:(e,t)=>new a.IfcPersonAndOrganization(e,t[0],t[1],t[2]),2483315170:(e,t)=>new a.IfcPhysicalQuantity(e,t[0],t[1]),2226359599:(e,t)=>new a.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2]),3355820592:(e,t)=>new a.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3727388367:(e,t)=>new a.IfcPreDefinedItem(e,t[0]),990879717:(e,t)=>new a.IfcPreDefinedSymbol(e,t[0]),3213052703:(e,t)=>new a.IfcPreDefinedTerminatorSymbol(e,t[0]),1775413392:(e,t)=>new a.IfcPreDefinedTextFont(e,t[0]),2022622350:(e,t)=>new a.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3]),1304840413:(e,t)=>new a.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3119450353:(e,t)=>new a.IfcPresentationStyle(e,t[0]),2417041796:(e,t)=>new a.IfcPresentationStyleAssignment(e,t[0]),2095639259:(e,t)=>new a.IfcProductRepresentation(e,t[0],t[1],t[2]),2267347899:(e,t)=>new a.IfcProductsOfCombustionProperties(e,t[0],t[1],t[2],t[3],t[4]),3958567839:(e,t)=>new a.IfcProfileDef(e,t[0],t[1]),2802850158:(e,t)=>new a.IfcProfileProperties(e,t[0],t[1]),2598011224:(e,t)=>new a.IfcProperty(e,t[0],t[1]),3896028662:(e,t)=>new a.IfcPropertyConstraintRelationship(e,t[0],t[1],t[2],t[3]),148025276:(e,t)=>new a.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4]),3710013099:(e,t)=>new a.IfcPropertyEnumeration(e,t[0],t[1],t[2]),2044713172:(e,t)=>new a.IfcQuantityArea(e,t[0],t[1],t[2],t[3]),2093928680:(e,t)=>new a.IfcQuantityCount(e,t[0],t[1],t[2],t[3]),931644368:(e,t)=>new a.IfcQuantityLength(e,t[0],t[1],t[2],t[3]),3252649465:(e,t)=>new a.IfcQuantityTime(e,t[0],t[1],t[2],t[3]),2405470396:(e,t)=>new a.IfcQuantityVolume(e,t[0],t[1],t[2],t[3]),825690147:(e,t)=>new a.IfcQuantityWeight(e,t[0],t[1],t[2],t[3]),2692823254:(e,t)=>new a.IfcReferencesValueDocument(e,t[0],t[1],t[2],t[3]),1580146022:(e,t)=>new a.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),1222501353:(e,t)=>new a.IfcRelaxation(e,t[0],t[1]),1076942058:(e,t)=>new a.IfcRepresentation(e,t[0],t[1],t[2],t[3]),3377609919:(e,t)=>new a.IfcRepresentationContext(e,t[0],t[1]),3008791417:(e,t)=>new a.IfcRepresentationItem(e),1660063152:(e,t)=>new a.IfcRepresentationMap(e,t[0],t[1]),3679540991:(e,t)=>new a.IfcRibPlateProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2341007311:(e,t)=>new a.IfcRoot(e,t[0],t[1],t[2],t[3]),448429030:(e,t)=>new a.IfcSIUnit(e,t[0],t[1],t[2]),2042790032:(e,t)=>new a.IfcSectionProperties(e,t[0],t[1],t[2]),4165799628:(e,t)=>new a.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),867548509:(e,t)=>new a.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4]),3982875396:(e,t)=>new a.IfcShapeModel(e,t[0],t[1],t[2],t[3]),4240577450:(e,t)=>new a.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3]),3692461612:(e,t)=>new a.IfcSimpleProperty(e,t[0],t[1]),2273995522:(e,t)=>new a.IfcStructuralConnectionCondition(e,t[0]),2162789131:(e,t)=>new a.IfcStructuralLoad(e,t[0]),2525727697:(e,t)=>new a.IfcStructuralLoadStatic(e,t[0]),3408363356:(e,t)=>new a.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3]),2830218821:(e,t)=>new a.IfcStyleModel(e,t[0],t[1],t[2],t[3]),3958052878:(e,t)=>new a.IfcStyledItem(e,t[0],t[1],t[2]),3049322572:(e,t)=>new a.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3]),1300840506:(e,t)=>new a.IfcSurfaceStyle(e,t[0],t[1],t[2]),3303107099:(e,t)=>new a.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3]),1607154358:(e,t)=>new a.IfcSurfaceStyleRefraction(e,t[0],t[1]),846575682:(e,t)=>new a.IfcSurfaceStyleShading(e,t[0]),1351298697:(e,t)=>new a.IfcSurfaceStyleWithTextures(e,t[0]),626085974:(e,t)=>new a.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3]),1290481447:(e,t)=>new a.IfcSymbolStyle(e,t[0],t[1]),985171141:(e,t)=>new a.IfcTable(e,t[0],t[1]),531007025:(e,t)=>new a.IfcTableRow(e,t[0],t[1]),912023232:(e,t)=>new a.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1447204868:(e,t)=>new a.IfcTextStyle(e,t[0],t[1],t[2],t[3]),1983826977:(e,t)=>new a.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5]),2636378356:(e,t)=>new a.IfcTextStyleForDefinedFont(e,t[0],t[1]),1640371178:(e,t)=>new a.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1484833681:(e,t)=>new a.IfcTextStyleWithBoxCharacteristics(e,t[0],t[1],t[2],t[3],t[4]),280115917:(e,t)=>new a.IfcTextureCoordinate(e),1742049831:(e,t)=>new a.IfcTextureCoordinateGenerator(e,t[0],t[1]),2552916305:(e,t)=>new a.IfcTextureMap(e,t[0]),1210645708:(e,t)=>new a.IfcTextureVertex(e,t[0]),3317419933:(e,t)=>new a.IfcThermalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4]),3101149627:(e,t)=>new a.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1718945513:(e,t)=>new a.IfcTimeSeriesReferenceRelationship(e,t[0],t[1]),581633288:(e,t)=>new a.IfcTimeSeriesValue(e,t[0]),1377556343:(e,t)=>new a.IfcTopologicalRepresentationItem(e),1735638870:(e,t)=>new a.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3]),180925521:(e,t)=>new a.IfcUnitAssignment(e,t[0]),2799835756:(e,t)=>new a.IfcVertex(e),3304826586:(e,t)=>new a.IfcVertexBasedTextureMap(e,t[0],t[1]),1907098498:(e,t)=>new a.IfcVertexPoint(e,t[0]),891718957:(e,t)=>new a.IfcVirtualGridIntersection(e,t[0],t[1]),1065908215:(e,t)=>new a.IfcWaterProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2442683028:(e,t)=>new a.IfcAnnotationOccurrence(e,t[0],t[1],t[2]),962685235:(e,t)=>new a.IfcAnnotationSurfaceOccurrence(e,t[0],t[1],t[2]),3612888222:(e,t)=>new a.IfcAnnotationSymbolOccurrence(e,t[0],t[1],t[2]),2297822566:(e,t)=>new a.IfcAnnotationTextOccurrence(e,t[0],t[1],t[2]),3798115385:(e,t)=>new a.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2]),1310608509:(e,t)=>new a.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2]),2705031697:(e,t)=>new a.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3]),616511568:(e,t)=>new a.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5]),3150382593:(e,t)=>new a.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3]),647927063:(e,t)=>new a.IfcClassificationReference(e,t[0],t[1],t[2],t[3]),776857604:(e,t)=>new a.IfcColourRgb(e,t[0],t[1],t[2],t[3]),2542286263:(e,t)=>new a.IfcComplexProperty(e,t[0],t[1],t[2],t[3]),1485152156:(e,t)=>new a.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3]),370225590:(e,t)=>new a.IfcConnectedFaceSet(e,t[0]),1981873012:(e,t)=>new a.IfcConnectionCurveGeometry(e,t[0],t[1]),45288368:(e,t)=>new a.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4]),3050246964:(e,t)=>new a.IfcContextDependentUnit(e,t[0],t[1],t[2]),2889183280:(e,t)=>new a.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3]),3800577675:(e,t)=>new a.IfcCurveStyle(e,t[0],t[1],t[2],t[3]),3632507154:(e,t)=>new a.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4]),2273265877:(e,t)=>new a.IfcDimensionCalloutRelationship(e,t[0],t[1],t[2],t[3]),1694125774:(e,t)=>new a.IfcDimensionPair(e,t[0],t[1],t[2],t[3]),3732053477:(e,t)=>new a.IfcDocumentReference(e,t[0],t[1],t[2]),4170525392:(e,t)=>new a.IfcDraughtingPreDefinedTextFont(e,t[0]),3900360178:(e,t)=>new a.IfcEdge(e,t[0],t[1]),476780140:(e,t)=>new a.IfcEdgeCurve(e,t[0],t[1],t[2],t[3]),1860660968:(e,t)=>new a.IfcExtendedMaterialProperties(e,t[0],t[1],t[2],t[3]),2556980723:(e,t)=>new a.IfcFace(e,t[0]),1809719519:(e,t)=>new a.IfcFaceBound(e,t[0],t[1]),803316827:(e,t)=>new a.IfcFaceOuterBound(e,t[0],t[1]),3008276851:(e,t)=>new a.IfcFaceSurface(e,t[0],t[1],t[2]),4219587988:(e,t)=>new a.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),738692330:(e,t)=>new a.IfcFillAreaStyle(e,t[0],t[1]),3857492461:(e,t)=>new a.IfcFuelProperties(e,t[0],t[1],t[2],t[3],t[4]),803998398:(e,t)=>new a.IfcGeneralMaterialProperties(e,t[0],t[1],t[2],t[3]),1446786286:(e,t)=>new a.IfcGeneralProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3448662350:(e,t)=>new a.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5]),2453401579:(e,t)=>new a.IfcGeometricRepresentationItem(e),4142052618:(e,t)=>new a.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5]),3590301190:(e,t)=>new a.IfcGeometricSet(e,t[0]),178086475:(e,t)=>new a.IfcGridPlacement(e,t[0],t[1]),812098782:(e,t)=>new a.IfcHalfSpaceSolid(e,t[0],t[1]),2445078500:(e,t)=>new a.IfcHygroscopicMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),3905492369:(e,t)=>new a.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4]),3741457305:(e,t)=>new a.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1402838566:(e,t)=>new a.IfcLightSource(e,t[0],t[1],t[2],t[3]),125510826:(e,t)=>new a.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3]),2604431987:(e,t)=>new a.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4]),4266656042:(e,t)=>new a.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1520743889:(e,t)=>new a.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3422422726:(e,t)=>new a.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),2624227202:(e,t)=>new a.IfcLocalPlacement(e,t[0],t[1]),1008929658:(e,t)=>new a.IfcLoop(e),2347385850:(e,t)=>new a.IfcMappedItem(e,t[0],t[1]),2022407955:(e,t)=>new a.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3]),1430189142:(e,t)=>new a.IfcMechanicalConcreteMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),219451334:(e,t)=>new a.IfcObjectDefinition(e,t[0],t[1],t[2],t[3]),2833995503:(e,t)=>new a.IfcOneDirectionRepeatFactor(e,t[0]),2665983363:(e,t)=>new a.IfcOpenShell(e,t[0]),1029017970:(e,t)=>new a.IfcOrientedEdge(e,t[0],t[1]),2529465313:(e,t)=>new a.IfcParameterizedProfileDef(e,t[0],t[1],t[2]),2519244187:(e,t)=>new a.IfcPath(e,t[0]),3021840470:(e,t)=>new a.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5]),597895409:(e,t)=>new a.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2004835150:(e,t)=>new a.IfcPlacement(e,t[0]),1663979128:(e,t)=>new a.IfcPlanarExtent(e,t[0],t[1]),2067069095:(e,t)=>new a.IfcPoint(e),4022376103:(e,t)=>new a.IfcPointOnCurve(e,t[0],t[1]),1423911732:(e,t)=>new a.IfcPointOnSurface(e,t[0],t[1],t[2]),2924175390:(e,t)=>new a.IfcPolyLoop(e,t[0]),2775532180:(e,t)=>new a.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3]),759155922:(e,t)=>new a.IfcPreDefinedColour(e,t[0]),2559016684:(e,t)=>new a.IfcPreDefinedCurveFont(e,t[0]),433424934:(e,t)=>new a.IfcPreDefinedDimensionSymbol(e,t[0]),179317114:(e,t)=>new a.IfcPreDefinedPointMarkerSymbol(e,t[0]),673634403:(e,t)=>new a.IfcProductDefinitionShape(e,t[0],t[1],t[2]),871118103:(e,t)=>new a.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4]),1680319473:(e,t)=>new a.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3]),4166981789:(e,t)=>new a.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3]),2752243245:(e,t)=>new a.IfcPropertyListValue(e,t[0],t[1],t[2],t[3]),941946838:(e,t)=>new a.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3]),3357820518:(e,t)=>new a.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3]),3650150729:(e,t)=>new a.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3]),110355661:(e,t)=>new a.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3615266464:(e,t)=>new a.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4]),3413951693:(e,t)=>new a.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3765753017:(e,t)=>new a.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),478536968:(e,t)=>new a.IfcRelationship(e,t[0],t[1],t[2],t[3]),2778083089:(e,t)=>new a.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5]),1509187699:(e,t)=>new a.IfcSectionedSpine(e,t[0],t[1],t[2]),2411513650:(e,t)=>new a.IfcServiceLifeFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4124623270:(e,t)=>new a.IfcShellBasedSurfaceModel(e,t[0]),2609359061:(e,t)=>new a.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3]),723233188:(e,t)=>new a.IfcSolidModel(e),2485662743:(e,t)=>new a.IfcSoundProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1202362311:(e,t)=>new a.IfcSoundValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),390701378:(e,t)=>new a.IfcSpaceThermalLoadProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),1595516126:(e,t)=>new a.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2668620305:(e,t)=>new a.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3]),2473145415:(e,t)=>new a.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1973038258:(e,t)=>new a.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1597423693:(e,t)=>new a.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1190533807:(e,t)=>new a.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3843319758:(e,t)=>new a.IfcStructuralProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22]),3653947884:(e,t)=>new a.IfcStructuralSteelProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25],t[26]),2233826070:(e,t)=>new a.IfcSubedge(e,t[0],t[1],t[2]),2513912981:(e,t)=>new a.IfcSurface(e),1878645084:(e,t)=>new a.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2247615214:(e,t)=>new a.IfcSweptAreaSolid(e,t[0],t[1]),1260650574:(e,t)=>new a.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4]),230924584:(e,t)=>new a.IfcSweptSurface(e,t[0],t[1]),3071757647:(e,t)=>new a.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),3028897424:(e,t)=>new a.IfcTerminatorSymbol(e,t[0],t[1],t[2],t[3]),4282788508:(e,t)=>new a.IfcTextLiteral(e,t[0],t[1],t[2]),3124975700:(e,t)=>new a.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4]),2715220739:(e,t)=>new a.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1345879162:(e,t)=>new a.IfcTwoDirectionRepeatFactor(e,t[0],t[1]),1628702193:(e,t)=>new a.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5]),2347495698:(e,t)=>new a.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),427810014:(e,t)=>new a.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1417489154:(e,t)=>new a.IfcVector(e,t[0],t[1]),2759199220:(e,t)=>new a.IfcVertexLoop(e,t[0]),336235671:(e,t)=>new a.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),512836454:(e,t)=>new a.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1299126871:(e,t)=>new a.IfcWindowStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2543172580:(e,t)=>new a.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3288037868:(e,t)=>new a.IfcAnnotationCurveOccurrence(e,t[0],t[1],t[2]),669184980:(e,t)=>new a.IfcAnnotationFillArea(e,t[0],t[1]),2265737646:(e,t)=>new a.IfcAnnotationFillAreaOccurrence(e,t[0],t[1],t[2],t[3],t[4]),1302238472:(e,t)=>new a.IfcAnnotationSurface(e,t[0],t[1]),4261334040:(e,t)=>new a.IfcAxis1Placement(e,t[0],t[1]),3125803723:(e,t)=>new a.IfcAxis2Placement2D(e,t[0],t[1]),2740243338:(e,t)=>new a.IfcAxis2Placement3D(e,t[0],t[1],t[2]),2736907675:(e,t)=>new a.IfcBooleanResult(e,t[0],t[1],t[2]),4182860854:(e,t)=>new a.IfcBoundedSurface(e),2581212453:(e,t)=>new a.IfcBoundingBox(e,t[0],t[1],t[2],t[3]),2713105998:(e,t)=>new a.IfcBoxedHalfSpace(e,t[0],t[1],t[2]),2898889636:(e,t)=>new a.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1123145078:(e,t)=>new a.IfcCartesianPoint(e,t[0]),59481748:(e,t)=>new a.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3]),3749851601:(e,t)=>new a.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3]),3486308946:(e,t)=>new a.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4]),3331915920:(e,t)=>new a.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4]),1416205885:(e,t)=>new a.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1383045692:(e,t)=>new a.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3]),2205249479:(e,t)=>new a.IfcClosedShell(e,t[0]),2485617015:(e,t)=>new a.IfcCompositeCurveSegment(e,t[0],t[1],t[2]),4133800736:(e,t)=>new a.IfcCraneRailAShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14]),194851669:(e,t)=>new a.IfcCraneRailFShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2506170314:(e,t)=>new a.IfcCsgPrimitive3D(e,t[0]),2147822146:(e,t)=>new a.IfcCsgSolid(e,t[0]),2601014836:(e,t)=>new a.IfcCurve(e),2827736869:(e,t)=>new a.IfcCurveBoundedPlane(e,t[0],t[1],t[2]),693772133:(e,t)=>new a.IfcDefinedSymbol(e,t[0],t[1]),606661476:(e,t)=>new a.IfcDimensionCurve(e,t[0],t[1],t[2]),4054601972:(e,t)=>new a.IfcDimensionCurveTerminator(e,t[0],t[1],t[2],t[3],t[4]),32440307:(e,t)=>new a.IfcDirection(e,t[0]),2963535650:(e,t)=>new a.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14]),1714330368:(e,t)=>new a.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),526551008:(e,t)=>new a.IfcDoorStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),3073041342:(e,t)=>new a.IfcDraughtingCallout(e,t[0]),445594917:(e,t)=>new a.IfcDraughtingPreDefinedColour(e,t[0]),4006246654:(e,t)=>new a.IfcDraughtingPreDefinedCurveFont(e,t[0]),1472233963:(e,t)=>new a.IfcEdgeLoop(e,t[0]),1883228015:(e,t)=>new a.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5]),339256511:(e,t)=>new a.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2777663545:(e,t)=>new a.IfcElementarySurface(e,t[0]),2835456948:(e,t)=>new a.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4]),80994333:(e,t)=>new a.IfcEnergyProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),477187591:(e,t)=>new a.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3]),2047409740:(e,t)=>new a.IfcFaceBasedSurfaceModel(e,t[0]),374418227:(e,t)=>new a.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4]),4203026998:(e,t)=>new a.IfcFillAreaStyleTileSymbolWithStyle(e,t[0]),315944413:(e,t)=>new a.IfcFillAreaStyleTiles(e,t[0],t[1],t[2]),3455213021:(e,t)=>new a.IfcFluidFlowProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18]),4238390223:(e,t)=>new a.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1268542332:(e,t)=>new a.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),987898635:(e,t)=>new a.IfcGeometricCurveSet(e,t[0]),1484403080:(e,t)=>new a.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),572779678:(e,t)=>new a.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1281925730:(e,t)=>new a.IfcLine(e,t[0],t[1]),1425443689:(e,t)=>new a.IfcManifoldSolidBrep(e,t[0]),3888040117:(e,t)=>new a.IfcObject(e,t[0],t[1],t[2],t[3],t[4]),3388369263:(e,t)=>new a.IfcOffsetCurve2D(e,t[0],t[1],t[2]),3505215534:(e,t)=>new a.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3]),3566463478:(e,t)=>new a.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),603570806:(e,t)=>new a.IfcPlanarBox(e,t[0],t[1],t[2]),220341763:(e,t)=>new a.IfcPlane(e,t[0]),2945172077:(e,t)=>new a.IfcProcess(e,t[0],t[1],t[2],t[3],t[4]),4208778838:(e,t)=>new a.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),103090709:(e,t)=>new a.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4194566429:(e,t)=>new a.IfcProjectionCurve(e,t[0],t[1],t[2]),1451395588:(e,t)=>new a.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4]),3219374653:(e,t)=>new a.IfcProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2770003689:(e,t)=>new a.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2798486643:(e,t)=>new a.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3]),3454111270:(e,t)=>new a.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3939117080:(e,t)=>new a.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5]),1683148259:(e,t)=>new a.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2495723537:(e,t)=>new a.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1307041759:(e,t)=>new a.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),4278684876:(e,t)=>new a.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2857406711:(e,t)=>new a.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3372526763:(e,t)=>new a.IfcRelAssignsToProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),205026976:(e,t)=>new a.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1865459582:(e,t)=>new a.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4]),1327628568:(e,t)=>new a.IfcRelAssociatesAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5]),4095574036:(e,t)=>new a.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5]),919958153:(e,t)=>new a.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5]),2728634034:(e,t)=>new a.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),982818633:(e,t)=>new a.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5]),3840914261:(e,t)=>new a.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5]),2655215786:(e,t)=>new a.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5]),2851387026:(e,t)=>new a.IfcRelAssociatesProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),826625072:(e,t)=>new a.IfcRelConnects(e,t[0],t[1],t[2],t[3]),1204542856:(e,t)=>new a.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3945020480:(e,t)=>new a.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4201705270:(e,t)=>new a.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),3190031847:(e,t)=>new a.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2127690289:(e,t)=>new a.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5]),3912681535:(e,t)=>new a.IfcRelConnectsStructuralElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),1638771189:(e,t)=>new a.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),504942748:(e,t)=>new a.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3678494232:(e,t)=>new a.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3242617779:(e,t)=>new a.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5]),886880790:(e,t)=>new a.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5]),2802773753:(e,t)=>new a.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5]),2551354335:(e,t)=>new a.IfcRelDecomposes(e,t[0],t[1],t[2],t[3],t[4],t[5]),693640335:(e,t)=>new a.IfcRelDefines(e,t[0],t[1],t[2],t[3],t[4]),4186316022:(e,t)=>new a.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),781010003:(e,t)=>new a.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5]),3940055652:(e,t)=>new a.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),279856033:(e,t)=>new a.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5]),4189434867:(e,t)=>new a.IfcRelInteractionRequirements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3268803585:(e,t)=>new a.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5]),2051452291:(e,t)=>new a.IfcRelOccupiesSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),202636808:(e,t)=>new a.IfcRelOverridesProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),750771296:(e,t)=>new a.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),1245217292:(e,t)=>new a.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5]),1058617721:(e,t)=>new a.IfcRelSchedulesCostItems(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),4122056220:(e,t)=>new a.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),366585022:(e,t)=>new a.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5]),3451746338:(e,t)=>new a.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1401173127:(e,t)=>new a.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),2914609552:(e,t)=>new a.IfcResource(e,t[0],t[1],t[2],t[3],t[4]),1856042241:(e,t)=>new a.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3]),4158566097:(e,t)=>new a.IfcRightCircularCone(e,t[0],t[1],t[2]),3626867408:(e,t)=>new a.IfcRightCircularCylinder(e,t[0],t[1],t[2]),2706606064:(e,t)=>new a.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3893378262:(e,t)=>new a.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),451544542:(e,t)=>new a.IfcSphere(e,t[0],t[1]),3544373492:(e,t)=>new a.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3136571912:(e,t)=>new a.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),530289379:(e,t)=>new a.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3689010777:(e,t)=>new a.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3979015343:(e,t)=>new a.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2218152070:(e,t)=>new a.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4070609034:(e,t)=>new a.IfcStructuredDimensionCallout(e,t[0]),2028607225:(e,t)=>new a.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5]),2809605785:(e,t)=>new a.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3]),4124788165:(e,t)=>new a.IfcSurfaceOfRevolution(e,t[0],t[1],t[2]),1580310250:(e,t)=>new a.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3473067441:(e,t)=>new a.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2097647324:(e,t)=>new a.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2296667514:(e,t)=>new a.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5]),1674181508:(e,t)=>new a.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3207858831:(e,t)=>new a.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1334484129:(e,t)=>new a.IfcBlock(e,t[0],t[1],t[2],t[3]),3649129432:(e,t)=>new a.IfcBooleanClippingResult(e,t[0],t[1],t[2]),1260505505:(e,t)=>new a.IfcBoundedCurve(e),4031249490:(e,t)=>new a.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1950629157:(e,t)=>new a.IfcBuildingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3124254112:(e,t)=>new a.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2937912522:(e,t)=>new a.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4]),300633059:(e,t)=>new a.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3732776249:(e,t)=>new a.IfcCompositeCurve(e,t[0],t[1]),2510884976:(e,t)=>new a.IfcConic(e,t[0]),2559216714:(e,t)=>new a.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3293443760:(e,t)=>new a.IfcControl(e,t[0],t[1],t[2],t[3],t[4]),3895139033:(e,t)=>new a.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4]),1419761937:(e,t)=>new a.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),1916426348:(e,t)=>new a.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3295246426:(e,t)=>new a.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1457835157:(e,t)=>new a.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),681481545:(e,t)=>new a.IfcDimensionCurveDirectedCallout(e,t[0]),3256556792:(e,t)=>new a.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3849074793:(e,t)=>new a.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),360485395:(e,t)=>new a.IfcElectricalBaseProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),1758889154:(e,t)=>new a.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4123344466:(e,t)=>new a.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1623761950:(e,t)=>new a.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2590856083:(e,t)=>new a.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1704287377:(e,t)=>new a.IfcEllipse(e,t[0],t[1],t[2]),2107101300:(e,t)=>new a.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1962604670:(e,t)=>new a.IfcEquipmentElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3272907226:(e,t)=>new a.IfcEquipmentStandard(e,t[0],t[1],t[2],t[3],t[4]),3174744832:(e,t)=>new a.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3390157468:(e,t)=>new a.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),807026263:(e,t)=>new a.IfcFacetedBrep(e,t[0]),3737207727:(e,t)=>new a.IfcFacetedBrepWithVoids(e,t[0],t[1]),647756555:(e,t)=>new a.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2489546625:(e,t)=>new a.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2827207264:(e,t)=>new a.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2143335405:(e,t)=>new a.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1287392070:(e,t)=>new a.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3907093117:(e,t)=>new a.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3198132628:(e,t)=>new a.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3815607619:(e,t)=>new a.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1482959167:(e,t)=>new a.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1834744321:(e,t)=>new a.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1339347760:(e,t)=>new a.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2297155007:(e,t)=>new a.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3009222698:(e,t)=>new a.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),263784265:(e,t)=>new a.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),814719939:(e,t)=>new a.IfcFurnitureStandard(e,t[0],t[1],t[2],t[3],t[4]),200128114:(e,t)=>new a.IfcGasTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3009204131:(e,t)=>new a.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2706460486:(e,t)=>new a.IfcGroup(e,t[0],t[1],t[2],t[3],t[4]),1251058090:(e,t)=>new a.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1806887404:(e,t)=>new a.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2391368822:(e,t)=>new a.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4288270099:(e,t)=>new a.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3827777499:(e,t)=>new a.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1051575348:(e,t)=>new a.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1161773419:(e,t)=>new a.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2506943328:(e,t)=>new a.IfcLinearDimension(e,t[0]),377706215:(e,t)=>new a.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2108223431:(e,t)=>new a.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3181161470:(e,t)=>new a.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),977012517:(e,t)=>new a.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1916936684:(e,t)=>new a.IfcMove(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),4143007308:(e,t)=>new a.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3588315303:(e,t)=>new a.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3425660407:(e,t)=>new a.IfcOrderAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2837617999:(e,t)=>new a.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2382730787:(e,t)=>new a.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5]),3327091369:(e,t)=>new a.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5]),804291784:(e,t)=>new a.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4231323485:(e,t)=>new a.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4017108033:(e,t)=>new a.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3724593414:(e,t)=>new a.IfcPolyline(e,t[0]),3740093272:(e,t)=>new a.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2744685151:(e,t)=>new a.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2904328755:(e,t)=>new a.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3642467123:(e,t)=>new a.IfcProjectOrderRecord(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3651124850:(e,t)=>new a.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1842657554:(e,t)=>new a.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2250791053:(e,t)=>new a.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3248260540:(e,t)=>new a.IfcRadiusDimension(e,t[0]),2893384427:(e,t)=>new a.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2324767716:(e,t)=>new a.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),160246688:(e,t)=>new a.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5]),2863920197:(e,t)=>new a.IfcRelAssignsTasks(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1768891740:(e,t)=>new a.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3517283431:(e,t)=>new a.IfcScheduleTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22]),4105383287:(e,t)=>new a.IfcServiceLife(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),4097777520:(e,t)=>new a.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),2533589738:(e,t)=>new a.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3856911033:(e,t)=>new a.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1305183839:(e,t)=>new a.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),652456506:(e,t)=>new a.IfcSpaceProgram(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3812236995:(e,t)=>new a.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3112655638:(e,t)=>new a.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1039846685:(e,t)=>new a.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),682877961:(e,t)=>new a.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1179482911:(e,t)=>new a.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4243806635:(e,t)=>new a.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),214636428:(e,t)=>new a.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2445595289:(e,t)=>new a.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1807405624:(e,t)=>new a.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1721250024:(e,t)=>new a.IfcStructuralLinearActionVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),1252848954:(e,t)=>new a.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1621171031:(e,t)=>new a.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),3987759626:(e,t)=>new a.IfcStructuralPlanarActionVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),2082059205:(e,t)=>new a.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),734778138:(e,t)=>new a.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1235345126:(e,t)=>new a.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2986769608:(e,t)=>new a.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1975003073:(e,t)=>new a.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),148013059:(e,t)=>new a.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2315554128:(e,t)=>new a.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2254336722:(e,t)=>new a.IfcSystem(e,t[0],t[1],t[2],t[3],t[4]),5716631:(e,t)=>new a.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1637806684:(e,t)=>new a.IfcTimeSeriesSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1692211062:(e,t)=>new a.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1620046519:(e,t)=>new a.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3593883385:(e,t)=>new a.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4]),1600972822:(e,t)=>new a.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1911125066:(e,t)=>new a.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),728799441:(e,t)=>new a.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2769231204:(e,t)=>new a.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1898987631:(e,t)=>new a.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1133259667:(e,t)=>new a.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1028945134:(e,t)=>new a.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14]),4218914973:(e,t)=>new a.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14]),3342526732:(e,t)=>new a.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14]),1033361043:(e,t)=>new a.IfcZone(e,t[0],t[1],t[2],t[3],t[4]),1213861670:(e,t)=>new a.Ifc2DCompositeCurve(e,t[0],t[1]),3821786052:(e,t)=>new a.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5]),1411407467:(e,t)=>new a.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3352864051:(e,t)=>new a.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1871374353:(e,t)=>new a.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2470393545:(e,t)=>new a.IfcAngularDimension(e,t[0]),3460190687:(e,t)=>new a.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),1967976161:(e,t)=>new a.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4]),819618141:(e,t)=>new a.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1916977116:(e,t)=>new a.IfcBezierCurve(e,t[0],t[1],t[2],t[3],t[4]),231477066:(e,t)=>new a.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3299480353:(e,t)=>new a.IfcBuildingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),52481810:(e,t)=>new a.IfcBuildingElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2979338954:(e,t)=>new a.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1095909175:(e,t)=>new a.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1909888760:(e,t)=>new a.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),395041908:(e,t)=>new a.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3293546465:(e,t)=>new a.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1285652485:(e,t)=>new a.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2951183804:(e,t)=>new a.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2611217952:(e,t)=>new a.IfcCircle(e,t[0],t[1]),2301859152:(e,t)=>new a.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),843113511:(e,t)=>new a.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3850581409:(e,t)=>new a.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2816379211:(e,t)=>new a.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2188551683:(e,t)=>new a.IfcCondition(e,t[0],t[1],t[2],t[3],t[4]),1163958913:(e,t)=>new a.IfcConditionCriterion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3898045240:(e,t)=>new a.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1060000209:(e,t)=>new a.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),488727124:(e,t)=>new a.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),335055490:(e,t)=>new a.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2954562838:(e,t)=>new a.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1973544240:(e,t)=>new a.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3495092785:(e,t)=>new a.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3961806047:(e,t)=>new a.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4147604152:(e,t)=>new a.IfcDiameterDimension(e,t[0]),1335981549:(e,t)=>new a.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2635815018:(e,t)=>new a.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1599208980:(e,t)=>new a.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2063403501:(e,t)=>new a.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1945004755:(e,t)=>new a.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3040386961:(e,t)=>new a.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3041715199:(e,t)=>new a.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),395920057:(e,t)=>new a.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),869906466:(e,t)=>new a.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3760055223:(e,t)=>new a.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2030761528:(e,t)=>new a.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),855621170:(e,t)=>new a.IfcEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),663422040:(e,t)=>new a.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3277789161:(e,t)=>new a.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1534661035:(e,t)=>new a.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1365060375:(e,t)=>new a.IfcElectricHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1217240411:(e,t)=>new a.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),712377611:(e,t)=>new a.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1634875225:(e,t)=>new a.IfcElectricalCircuit(e,t[0],t[1],t[2],t[3],t[4]),857184966:(e,t)=>new a.IfcElectricalElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1658829314:(e,t)=>new a.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),346874300:(e,t)=>new a.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1810631287:(e,t)=>new a.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4222183408:(e,t)=>new a.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2058353004:(e,t)=>new a.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4278956645:(e,t)=>new a.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4037862832:(e,t)=>new a.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3132237377:(e,t)=>new a.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),987401354:(e,t)=>new a.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),707683696:(e,t)=>new a.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2223149337:(e,t)=>new a.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3508470533:(e,t)=>new a.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),900683007:(e,t)=>new a.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1073191201:(e,t)=>new a.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1687234759:(e,t)=>new a.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3171933400:(e,t)=>new a.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2262370178:(e,t)=>new a.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3024970846:(e,t)=>new a.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3283111854:(e,t)=>new a.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3055160366:(e,t)=>new a.IfcRationalBezierCurve(e,t[0],t[1],t[2],t[3],t[4],t[5]),3027567501:(e,t)=>new a.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2320036040:(e,t)=>new a.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),2016517767:(e,t)=>new a.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1376911519:(e,t)=>new a.IfcRoundedEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1783015770:(e,t)=>new a.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1529196076:(e,t)=>new a.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),331165859:(e,t)=>new a.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4252922144:(e,t)=>new a.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2515109513:(e,t)=>new a.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3824725483:(e,t)=>new a.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),2347447852:(e,t)=>new a.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3313531582:(e,t)=>new a.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2391406946:(e,t)=>new a.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3512223829:(e,t)=>new a.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3304561284:(e,t)=>new a.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2874132201:(e,t)=>new a.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3001207471:(e,t)=>new a.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),753842376:(e,t)=>new a.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2454782716:(e,t)=>new a.IfcChamferEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),578613899:(e,t)=>new a.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1052013943:(e,t)=>new a.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1062813311:(e,t)=>new a.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3700593921:(e,t)=>new a.IfcElectricDistributionPoint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),979691226:(e,t)=>new a.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},Lm[1]={3630933823:e=>[e.Role,e.UserDefinedRole,e.Description],618182010:e=>[e.Purpose,e.Description,e.UserDefinedPurpose],639542469:e=>[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier],411424972:e=>[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate],1110488051:e=>[e.ComponentOfTotal,e.Components,e.ArithmeticOperator,e.Name,e.Description],130549933:e=>[e.Description,e.ApprovalDateTime,e.ApprovalStatus,e.ApprovalLevel,e.ApprovalQualifier,e.Name,e.Identifier],2080292479:e=>[e.Actor,e.Approval,e.Role],390851274:e=>[e.ApprovedProperties,e.Approval],3869604511:e=>[e.RelatedApproval,e.RelatingApproval,e.Description,e.Name],4037036970:e=>[e.Name],1560379544:e=>[e.Name,e.LinearStiffnessByLengthX,e.LinearStiffnessByLengthY,e.LinearStiffnessByLengthZ,e.RotationalStiffnessByLengthX,e.RotationalStiffnessByLengthY,e.RotationalStiffnessByLengthZ],3367102660:e=>[e.Name,e.LinearStiffnessByAreaX,e.LinearStiffnessByAreaY,e.LinearStiffnessByAreaZ],1387855156:e=>[e.Name,e.LinearStiffnessX,e.LinearStiffnessY,e.LinearStiffnessZ,e.RotationalStiffnessX,e.RotationalStiffnessY,e.RotationalStiffnessZ],2069777674:e=>[e.Name,e.LinearStiffnessX,e.LinearStiffnessY,e.LinearStiffnessZ,e.RotationalStiffnessX,e.RotationalStiffnessY,e.RotationalStiffnessZ,e.WarpingStiffness],622194075:e=>[e.DayComponent,e.MonthComponent,e.YearComponent],747523909:e=>[e.Source,e.Edition,e.EditionDate,e.Name],1767535486:e=>[e.Notation,e.ItemOf,e.Title],1098599126:e=>[e.RelatingItem,e.RelatedItems],938368621:e=>[e.NotationFacets],3639012971:e=>[e.NotationValue],3264961684:e=>[e.Name],2859738748:e=>[],2614616156:e=>[e.PointOnRelatingElement,e.PointOnRelatedElement],4257277454:e=>[e.LocationAtRelatingElement,e.LocationAtRelatedElement,e.ProfileOfPort],2732653382:e=>[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement],1959218052:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade],1658513725:e=>[e.Name,e.Description,e.RelatingConstraint,e.RelatedConstraints,e.LogicalAggregator],613356794:e=>[e.ClassifiedConstraint,e.RelatedClassifications],347226245:e=>[e.Name,e.Description,e.RelatingConstraint,e.RelatedConstraints],1065062679:e=>[e.HourOffset,e.MinuteOffset,e.Sense],602808272:e=>[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.CostType,e.Condition],539742890:e=>[e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource],1105321065:e=>[e.Name,e.PatternList],2367409068:e=>[e.Name,e.CurveFont,e.CurveFontScaling],3510044353:e=>[e.VisibleSegmentLength,e.InvisibleSegmentLength],1072939445:e=>[e.DateComponent,e.TimeComponent],1765591967:e=>[e.Elements,e.UnitType,e.UserDefinedType],1045800335:e=>[e.Unit,e.Exponent],2949456006:e=>[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent],1376555844:e=>[e.FileExtension,e.MimeContentType,e.MimeSubtype],1154170062:e=>[e.DocumentId,e.Name,e.Description,e.DocumentReferences,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status],770865208:e=>[e.RelatingDocument,e.RelatedDocuments,e.RelationshipType],3796139169:e=>[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout],1648886627:e=>[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.ImpactType,e.Category,e.UserDefinedCategory],3200245327:e=>[e.Location,e.ItemReference,e.Name],2242383968:e=>[e.Location,e.ItemReference,e.Name],1040185647:e=>[e.Location,e.ItemReference,e.Name],3207319532:e=>[e.Location,e.ItemReference,e.Name],3548104201:e=>[e.Location,e.ItemReference,e.Name],852622518:e=>{var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:e=>[e.TimeStamp,e.ListValues.map((e=>Mm(e)))],2655187982:e=>[e.Name,e.Version,e.Publisher,e.VersionDate,e.LibraryReference],3452421091:e=>[e.Location,e.ItemReference,e.Name],4162380809:e=>[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity],1566485204:e=>[e.LightDistributionCurve,e.DistributionData],30780891:e=>[e.HourComponent,e.MinuteComponent,e.SecondComponent,e.Zone,e.DaylightSavingOffset],1838606355:e=>[e.Name],1847130766:e=>[e.MaterialClassifications,e.ClassifiedMaterial],248100487:e=>{var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString()]},3303938423:e=>[e.MaterialLayers,e.LayerSetName],1303795690:e=>[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine],2199411900:e=>[e.Materials],3265635763:e=>[e.Material],2597039031:e=>[Mm(e.ValueComponent),e.UnitComponent],4256014907:e=>[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient],677618848:e=>[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient,e.YieldStress,e.UltimateStress,e.UltimateStrain,e.HardeningModule,e.ProportionalStress,e.PlasticStrain,e.Relaxations],3368373690:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue],2706619895:e=>[e.Currency],1918398963:e=>[e.Dimensions,e.UnitType],3701648758:e=>[],2251480897:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.ResultValues,e.ObjectiveQualifier,e.UserDefinedQualifier],1227763645:e=>[e.Material,e.VisibleTransmittance,e.SolarTransmittance,e.ThermalIrTransmittance,e.ThermalIrEmissivityBack,e.ThermalIrEmissivityFront,e.VisibleReflectanceBack,e.VisibleReflectanceFront,e.SolarReflectanceFront,e.SolarReflectanceBack],4251960020:e=>[e.Id,e.Name,e.Description,e.Roles,e.Addresses],1411181986:e=>[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations],1207048766:e=>[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate],2077209135:e=>[e.Id,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses],101040310:e=>[e.ThePerson,e.TheOrganization,e.Roles],2483315170:e=>[e.Name,e.Description],2226359599:e=>[e.Name,e.Description,e.Unit],3355820592:e=>[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country],3727388367:e=>[e.Name],990879717:e=>[e.Name],3213052703:e=>[e.Name],1775413392:e=>[e.Name],2022622350:e=>[e.Name,e.Description,e.AssignedItems,e.Identifier],1304840413:e=>[e.Name,e.Description,e.AssignedItems,e.Identifier,e.LayerOn,e.LayerFrozen,e.LayerBlocked,e.LayerStyles],3119450353:e=>[e.Name],2417041796:e=>[e.Styles],2095639259:e=>[e.Name,e.Description,e.Representations],2267347899:e=>[e.Material,e.SpecificHeatCapacity,e.N20Content,e.COContent,e.CO2Content],3958567839:e=>[e.ProfileType,e.ProfileName],2802850158:e=>[e.ProfileName,e.ProfileDefinition],2598011224:e=>[e.Name,e.Description],3896028662:e=>[e.RelatingConstraint,e.RelatedProperties,e.Name,e.Description],148025276:e=>[e.DependingProperty,e.DependantProperty,e.Name,e.Description,e.Expression],3710013099:e=>[e.Name,e.EnumerationValues.map((e=>Mm(e))),e.Unit],2044713172:e=>[e.Name,e.Description,e.Unit,e.AreaValue],2093928680:e=>[e.Name,e.Description,e.Unit,e.CountValue],931644368:e=>[e.Name,e.Description,e.Unit,e.LengthValue],3252649465:e=>[e.Name,e.Description,e.Unit,e.TimeValue],2405470396:e=>[e.Name,e.Description,e.Unit,e.VolumeValue],825690147:e=>[e.Name,e.Description,e.Unit,e.WeightValue],2692823254:e=>[e.ReferencedDocument,e.ReferencingValues,e.Name,e.Description],1580146022:e=>[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount],1222501353:e=>[e.RelaxationValue,e.InitialStress],1076942058:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],3377609919:e=>[e.ContextIdentifier,e.ContextType],3008791417:e=>[],1660063152:e=>[e.MappingOrigin,e.MappedRepresentation],3679540991:e=>[e.ProfileName,e.ProfileDefinition,e.Thickness,e.RibHeight,e.RibWidth,e.RibSpacing,e.Direction],2341007311:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],448429030:e=>[e.Dimensions,e.UnitType,e.Prefix,e.Name],2042790032:e=>[e.SectionType,e.StartProfile,e.EndProfile],4165799628:e=>[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions],867548509:e=>[e.ShapeRepresentations,e.Name,e.Description,e.ProductDefinitional,e.PartOfProductDefinitionShape],3982875396:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],4240577450:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],3692461612:e=>[e.Name,e.Description],2273995522:e=>[e.Name],2162789131:e=>[e.Name],2525727697:e=>[e.Name],3408363356:e=>[e.Name,e.DeltaT_Constant,e.DeltaT_Y,e.DeltaT_Z],2830218821:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],3958052878:e=>[e.Item,e.Styles,e.Name],3049322572:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],1300840506:e=>[e.Name,e.Side,e.Styles],3303107099:e=>[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour],1607154358:e=>[e.RefractionIndex,e.DispersionFactor],846575682:e=>[e.SurfaceColour],1351298697:e=>[e.Textures],626085974:e=>[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform],1290481447:e=>[e.Name,Mm(e.StyleOfSymbol)],985171141:e=>[e.Name,e.Rows],531007025:e=>[e.RowCells.map((e=>Mm(e))),e.IsHeading],912023232:e=>[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL],1447204868:e=>[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle],1983826977:e=>[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Mm(e.FontSize)],2636378356:e=>[e.Colour,e.BackgroundColour],1640371178:e=>[e.TextIndent?Mm(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Mm(e.LetterSpacing):null,e.WordSpacing?Mm(e.WordSpacing):null,e.TextTransform,e.LineHeight?Mm(e.LineHeight):null],1484833681:e=>[e.BoxHeight,e.BoxWidth,e.BoxSlantAngle,e.BoxRotateAngle,e.CharacterSpacing?Mm(e.CharacterSpacing):null],280115917:e=>[],1742049831:e=>[e.Mode,e.Parameter.map((e=>Mm(e)))],2552916305:e=>[e.TextureMaps],1210645708:e=>[e.Coordinates],3317419933:e=>[e.Material,e.SpecificHeatCapacity,e.BoilingPoint,e.FreezingPoint,e.ThermalConductivity],3101149627:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit],1718945513:e=>[e.ReferencedTimeSeries,e.TimeSeriesReferences],581633288:e=>[e.ListValues.map((e=>Mm(e)))],1377556343:e=>[],1735638870:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],180925521:e=>[e.Units],2799835756:e=>[],3304826586:e=>[e.TextureVertices,e.TexturePoints],1907098498:e=>[e.VertexGeometry],891718957:e=>[e.IntersectingAxes,e.OffsetDistances],1065908215:e=>[e.Material,e.IsPotable,e.Hardness,e.AlkalinityConcentration,e.AcidityConcentration,e.ImpuritiesContent,e.PHLevel,e.DissolvedSolidsContent],2442683028:e=>[e.Item,e.Styles,e.Name],962685235:e=>[e.Item,e.Styles,e.Name],3612888222:e=>[e.Item,e.Styles,e.Name],2297822566:e=>[e.Item,e.Styles,e.Name],3798115385:e=>[e.ProfileType,e.ProfileName,e.OuterCurve],1310608509:e=>[e.ProfileType,e.ProfileName,e.Curve],2705031697:e=>[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves],616511568:e=>[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.RasterFormat,e.RasterCode],3150382593:e=>[e.ProfileType,e.ProfileName,e.Curve,e.Thickness],647927063:e=>[e.Location,e.ItemReference,e.Name,e.ReferencedSource],776857604:e=>[e.Name,e.Red,e.Green,e.Blue],2542286263:e=>[e.Name,e.Description,e.UsageName,e.HasProperties],1485152156:e=>[e.ProfileType,e.ProfileName,e.Profiles,e.Label],370225590:e=>[e.CfsFaces],1981873012:e=>[e.CurveOnRelatingElement,e.CurveOnRelatedElement],45288368:e=>[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ],3050246964:e=>[e.Dimensions,e.UnitType,e.Name],2889183280:e=>[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor],3800577675:e=>[e.Name,e.CurveFont,e.CurveWidth?Mm(e.CurveWidth):null,e.CurveColour],3632507154:e=>[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label],2273265877:e=>[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout],1694125774:e=>[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout],3732053477:e=>[e.Location,e.ItemReference,e.Name],4170525392:e=>[e.Name],3900360178:e=>[e.EdgeStart,e.EdgeEnd],476780140:e=>[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,e.SameSense],1860660968:e=>[e.Material,e.ExtendedProperties,e.Description,e.Name],2556980723:e=>[e.Bounds],1809719519:e=>[e.Bound,e.Orientation],803316827:e=>[e.Bound,e.Orientation],3008276851:e=>[e.Bounds,e.FaceSurface,e.SameSense],4219587988:e=>[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ],738692330:e=>[e.Name,e.FillStyles],3857492461:e=>[e.Material,e.CombustionTemperature,e.CarbonContent,e.LowerHeatingValue,e.HigherHeatingValue],803998398:e=>[e.Material,e.MolecularWeight,e.Porosity,e.MassDensity],1446786286:e=>[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea],3448662350:e=>[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth],2453401579:e=>[],4142052618:e=>[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView],3590301190:e=>[e.Elements],178086475:e=>[e.PlacementLocation,e.PlacementRefDirection],812098782:e=>[e.BaseSurface,e.AgreementFlag],2445078500:e=>[e.Material,e.UpperVaporResistanceFactor,e.LowerVaporResistanceFactor,e.IsothermalMoistureCapacity,e.VaporPermeability,e.MoistureDiffusivity],3905492369:e=>[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.UrlReference],3741457305:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values],1402838566:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity],125510826:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity],2604431987:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation],4266656042:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource],1520743889:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation],3422422726:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle],2624227202:e=>[e.PlacementRelTo,e.RelativePlacement],1008929658:e=>[],2347385850:e=>[e.MappingSource,e.MappingTarget],2022407955:e=>[e.Name,e.Description,e.Representations,e.RepresentedMaterial],1430189142:e=>[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient,e.CompressiveStrength,e.MaxAggregateSize,e.AdmixturesDescription,e.Workability,e.ProtectivePoreRatio,e.WaterImpermeability],219451334:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],2833995503:e=>[e.RepeatFactor],2665983363:e=>[e.CfsFaces],1029017970:e=>[e.EdgeStart,e.EdgeEnd,e.EdgeElement,e.Orientation],2529465313:e=>[e.ProfileType,e.ProfileName,e.Position],2519244187:e=>[e.EdgeList],3021840470:e=>[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage],597895409:e=>[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.Width,e.Height,e.ColourComponents,e.Pixel],2004835150:e=>[e.Location],1663979128:e=>[e.SizeInX,e.SizeInY],2067069095:e=>[],4022376103:e=>[e.BasisCurve,e.PointParameter],1423911732:e=>[e.BasisSurface,e.PointParameterU,e.PointParameterV],2924175390:e=>[e.Polygon],2775532180:e=>[e.BaseSurface,e.AgreementFlag,e.Position,e.PolygonalBoundary],759155922:e=>[e.Name],2559016684:e=>[e.Name],433424934:e=>[e.Name],179317114:e=>[e.Name],673634403:e=>[e.Name,e.Description,e.Representations],871118103:e=>[e.Name,e.Description,e.UpperBoundValue?Mm(e.UpperBoundValue):null,e.LowerBoundValue?Mm(e.LowerBoundValue):null,e.Unit],1680319473:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],4166981789:e=>[e.Name,e.Description,e.EnumerationValues.map((e=>Mm(e))),e.EnumerationReference],2752243245:e=>[e.Name,e.Description,e.ListValues.map((e=>Mm(e))),e.Unit],941946838:e=>[e.Name,e.Description,e.UsageName,e.PropertyReference],3357820518:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],3650150729:e=>[e.Name,e.Description,e.NominalValue?Mm(e.NominalValue):null,e.Unit],110355661:e=>[e.Name,e.Description,e.DefiningValues.map((e=>Mm(e))),e.DefinedValues.map((e=>Mm(e))),e.Expression,e.DefiningUnit,e.DefinedUnit],3615266464:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim],3413951693:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values],3765753017:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions],478536968:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],2778083089:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius],1509187699:e=>[e.SpineCurve,e.CrossSections,e.CrossSectionPositions],2411513650:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PredefinedType,e.UpperValue?Mm(e.UpperValue):null,Mm(e.MostUsedValue),e.LowerValue?Mm(e.LowerValue):null],4124623270:e=>[e.SbsmBoundary],2609359061:e=>[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ],723233188:e=>[],2485662743:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,null==(t=e.IsAttenuating)?void 0:t.toString(),e.SoundScale,e.SoundValues]},1202362311:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.SoundLevelTimeSeries,e.Frequency,e.SoundLevelSingleValue?Mm(e.SoundLevelSingleValue):null],390701378:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableValueRatio,e.ThermalLoadSource,e.PropertySource,e.SourceDescription,e.MaximumValue,e.MinimumValue,e.ThermalLoadTimeSeriesValues,e.UserDefinedThermalLoadSource,e.UserDefinedPropertySource,e.ThermalLoadType],1595516126:e=>[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ],2668620305:e=>[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ],2473145415:e=>[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ],1973038258:e=>[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion],1597423693:e=>[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ],1190533807:e=>[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment],3843319758:e=>[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea,e.TorsionalConstantX,e.MomentOfInertiaYZ,e.MomentOfInertiaY,e.MomentOfInertiaZ,e.WarpingConstant,e.ShearCentreZ,e.ShearCentreY,e.ShearDeformationAreaZ,e.ShearDeformationAreaY,e.MaximumSectionModulusY,e.MinimumSectionModulusY,e.MaximumSectionModulusZ,e.MinimumSectionModulusZ,e.TorsionalSectionModulus,e.CentreOfGravityInX,e.CentreOfGravityInY],3653947884:e=>[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea,e.TorsionalConstantX,e.MomentOfInertiaYZ,e.MomentOfInertiaY,e.MomentOfInertiaZ,e.WarpingConstant,e.ShearCentreZ,e.ShearCentreY,e.ShearDeformationAreaZ,e.ShearDeformationAreaY,e.MaximumSectionModulusY,e.MinimumSectionModulusY,e.MaximumSectionModulusZ,e.MinimumSectionModulusZ,e.TorsionalSectionModulus,e.CentreOfGravityInX,e.CentreOfGravityInY,e.ShearAreaZ,e.ShearAreaY,e.PlasticShapeFactorY,e.PlasticShapeFactorZ],2233826070:e=>[e.EdgeStart,e.EdgeEnd,e.ParentEdge],2513912981:e=>[],1878645084:e=>[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Mm(e.SpecularHighlight):null,e.ReflectanceMethod],2247615214:e=>[e.SweptArea,e.Position],1260650574:e=>[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam],230924584:e=>[e.SweptCurve,e.Position],3071757647:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope,e.CentreOfGravityInY],3028897424:e=>[e.Item,e.Styles,e.Name,e.AnnotatedCurve],4282788508:e=>[e.Literal,e.Placement,e.Path],3124975700:e=>[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment],2715220739:e=>[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset],1345879162:e=>[e.RepeatFactor,e.SecondRepeatFactor],1628702193:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets],2347495698:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag],427810014:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope,e.CentreOfGravityInX],1417489154:e=>[e.Orientation,e.Magnitude],2759199220:e=>[e.LoopVertex],336235671:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle],512836454:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle],1299126871:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ConstructionType,e.OperationType,e.ParameterTakesPrecedence,e.Sizeable],2543172580:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius],3288037868:e=>[e.Item,e.Styles,e.Name],669184980:e=>[e.OuterBoundary,e.InnerBoundaries],2265737646:e=>[e.Item,e.Styles,e.Name,e.FillStyleTarget,e.GlobalOrLocal],1302238472:e=>[e.Item,e.TextureCoordinates],4261334040:e=>[e.Location,e.Axis],3125803723:e=>[e.Location,e.RefDirection],2740243338:e=>[e.Location,e.Axis,e.RefDirection],2736907675:e=>[e.Operator,e.FirstOperand,e.SecondOperand],4182860854:e=>[],2581212453:e=>[e.Corner,e.XDim,e.YDim,e.ZDim],2713105998:e=>[e.BaseSurface,e.AgreementFlag,e.Enclosure],2898889636:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius,e.CentreOfGravityInX],1123145078:e=>[e.Coordinates],59481748:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale],3749851601:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale],3486308946:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2],3331915920:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3],1416205885:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3],1383045692:e=>[e.ProfileType,e.ProfileName,e.Position,e.Radius],2205249479:e=>[e.CfsFaces],2485617015:e=>[e.Transition,e.SameSense,e.ParentCurve],4133800736:e=>[e.ProfileType,e.ProfileName,e.Position,e.OverallHeight,e.BaseWidth2,e.Radius,e.HeadWidth,e.HeadDepth2,e.HeadDepth3,e.WebThickness,e.BaseWidth4,e.BaseDepth1,e.BaseDepth2,e.BaseDepth3,e.CentreOfGravityInY],194851669:e=>[e.ProfileType,e.ProfileName,e.Position,e.OverallHeight,e.HeadWidth,e.Radius,e.HeadDepth2,e.HeadDepth3,e.WebThickness,e.BaseDepth1,e.BaseDepth2,e.CentreOfGravityInY],2506170314:e=>[e.Position],2147822146:e=>[e.TreeRootExpression],2601014836:e=>[],2827736869:e=>[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries],693772133:e=>[e.Definition,e.Target],606661476:e=>[e.Item,e.Styles,e.Name],4054601972:e=>[e.Item,e.Styles,e.Name,e.AnnotatedCurve,e.Role],32440307:e=>[e.DirectionRatios],2963535650:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle],1714330368:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle],526551008:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.OperationType,e.ConstructionType,e.ParameterTakesPrecedence,e.Sizeable],3073041342:e=>[e.Contents],445594917:e=>[e.Name],4006246654:e=>[e.Name],1472233963:e=>[e.EdgeList],1883228015:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities],339256511:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2777663545:e=>[e.Position],2835456948:e=>[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2],80994333:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.EnergySequence,e.UserDefinedEnergySequence],477187591:e=>[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth],2047409740:e=>[e.FbsmFaces],374418227:e=>[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle],4203026998:e=>[e.Symbol],315944413:e=>[e.TilingPattern,e.Tiles,e.TilingScale],3455213021:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PropertySource,e.FlowConditionTimeSeries,e.VelocityTimeSeries,e.FlowrateTimeSeries,e.Fluid,e.PressureTimeSeries,e.UserDefinedPropertySource,e.TemperatureSingleValue,e.WetBulbTemperatureSingleValue,e.WetBulbTemperatureTimeSeries,e.TemperatureTimeSeries,e.FlowrateSingleValue?Mm(e.FlowrateSingleValue):null,e.FlowConditionSingleValue,e.VelocitySingleValue,e.PressureSingleValue],4238390223:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1268542332:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace],987898635:e=>[e.Elements],1484403080:e=>[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius],572779678:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope,e.CentreOfGravityInX,e.CentreOfGravityInY],1281925730:e=>[e.Pnt,e.Dir],1425443689:e=>[e.Outer],3888040117:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],3388369263:e=>[e.BasisCurve,e.Distance,e.SelfIntersect],3505215534:e=>[e.BasisCurve,e.Distance,e.SelfIntersect,e.RefDirection],3566463478:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle],603570806:e=>[e.SizeInX,e.SizeInY,e.Placement],220341763:e=>[e.Position],2945172077:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],4208778838:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],103090709:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext],4194566429:e=>[e.Item,e.Styles,e.Name],1451395588:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties],3219374653:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.ProxyType,e.Tag],2770003689:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius],2798486643:e=>[e.Position,e.XLength,e.YLength,e.Height],3454111270:e=>[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,e.Usense,e.Vsense],3939117080:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType],1683148259:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole],2495723537:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl],1307041759:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup],4278684876:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess],2857406711:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct],3372526763:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl],205026976:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource],1865459582:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects],1327628568:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingAppliedValue],4095574036:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval],919958153:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification],2728634034:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint],982818633:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument],3840914261:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary],2655215786:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial],2851387026:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingProfileProperties,e.ProfileSectionLocation,e.ProfileOrientation],826625072:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],1204542856:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement],3945020480:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType],4201705270:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement],3190031847:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement],2127690289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity],3912681535:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralMember],1638771189:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem],504942748:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint],3678494232:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType],3242617779:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure],886880790:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings],2802773753:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedSpace,e.RelatedCoverings],2551354335:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects],693640335:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects],4186316022:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition],781010003:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType],3940055652:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement],279856033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement],4189434867:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DailyInteraction,e.ImportanceRating,e.LocationOfInteraction,e.RelatedSpaceProgram,e.RelatingSpaceProgram],3268803585:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects],2051452291:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole],202636808:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition,e.OverridingProperties],750771296:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement],1245217292:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure],1058617721:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl],4122056220:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType],366585022:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings],3451746338:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary],1401173127:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement],2914609552:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],1856042241:e=>[e.SweptArea,e.Position,e.Axis,e.Angle],4158566097:e=>[e.Position,e.Height,e.BottomRadius],3626867408:e=>[e.Position,e.Height,e.Radius],2706606064:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType],3893378262:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],451544542:e=>[e.Position,e.Radius],3544373492:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],3136571912:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],530289379:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],3689010777:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],3979015343:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness],2218152070:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness,e.SubsequentThickness,e.VaryingThicknessLocation],4070609034:e=>[e.Contents],2028607225:e=>[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.ReferenceSurface],2809605785:e=>[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth],4124788165:e=>[e.SweptCurve,e.Position,e.AxisPosition],1580310250:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3473067441:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority],2097647324:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2296667514:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor],1674181508:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],3207858831:e=>[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.CentreOfGravityInY],1334484129:e=>[e.Position,e.XLength,e.YLength,e.ZLength],3649129432:e=>[e.Operator,e.FirstOperand,e.SecondOperand],1260505505:e=>[],4031249490:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress],1950629157:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3124254112:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation],2937912522:e=>[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness],300633059:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3732776249:e=>[e.Segments,e.SelfIntersect],2510884976:e=>[e.Position],2559216714:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity],3293443760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],3895139033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],1419761937:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.SubmittedBy,e.PreparedBy,e.SubmittedOn,e.Status,e.TargetUsers,e.UpdateDate,e.ID,e.PredefinedType],1916426348:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3295246426:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity],1457835157:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],681481545:e=>[e.Contents],3256556792:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3849074793:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],360485395:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.EnergySequence,e.UserDefinedEnergySequence,e.ElectricCurrentType,e.InputVoltage,e.InputFrequency,e.FullLoadCurrent,e.MinimumCircuitCurrent,e.MaximumPowerInput,e.RatedPowerInput,e.InputPhase],1758889154:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4123344466:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType],1623761950:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2590856083:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1704287377:e=>[e.Position,e.SemiAxis1,e.SemiAxis2],2107101300:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1962604670:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3272907226:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],3174744832:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3390157468:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],807026263:e=>[e.Outer],3737207727:e=>[e.Outer,e.Voids],647756555:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2489546625:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2827207264:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2143335405:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1287392070:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3907093117:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3198132628:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3815607619:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1482959167:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1834744321:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1339347760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2297155007:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3009222698:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],263784265:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],814719939:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],200128114:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3009204131:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes],2706460486:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],1251058090:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1806887404:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2391368822:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.InventoryType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue],4288270099:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3827777499:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.SkillSet],1051575348:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1161773419:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2506943328:e=>[e.Contents],377706215:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength],2108223431:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3181161470:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],977012517:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1916936684:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority,e.MoveFrom,e.MoveTo,e.PunchList],4143007308:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType],3588315303:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3425660407:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority,e.ActionID],2837617999:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2382730787:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LifeCyclePhase],3327091369:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PermitID],804291784:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4231323485:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4017108033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3724593414:e=>[e.Points],3740093272:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],2744685151:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ProcedureID,e.ProcedureType,e.UserDefinedProcedureType],2904328755:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ID,e.PredefinedType,e.Status],3642467123:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Records,e.PredefinedType],3651124850:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1842657554:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2250791053:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3248260540:e=>[e.Contents],2893384427:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2324767716:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],160246688:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects],2863920197:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl,e.TimeForTask],1768891740:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3517283431:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ActualStart,e.EarlyStart,e.LateStart,e.ScheduleStart,e.ActualFinish,e.EarlyFinish,e.LateFinish,e.ScheduleFinish,e.ScheduleDuration,e.ActualDuration,e.RemainingTime,e.FreeFloat,e.TotalFloat,e.IsCritical,e.StatusTime,e.StartFloat,e.FinishFloat,e.Completion],4105383287:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ServiceLifeType,e.ServiceLifeDuration],4097777520:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress],2533589738:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3856911033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.InteriorOrExteriorSpace,e.ElevationWithFlooring],1305183839:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],652456506:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.SpaceProgramIdentifier,e.MaxRequiredArea,e.MinRequiredArea,e.RequestedLocation,e.StandardRequiredArea],3812236995:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3112655638:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1039846685:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],682877961:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy],1179482911:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition],4243806635:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition],214636428:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType],2445595289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType],1807405624:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue],1721250024:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue,e.VaryingAppliedLoadLocation,e.SubsequentAppliedLoads],1252848954:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose],1621171031:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue],3987759626:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue,e.VaryingAppliedLoadLocation,e.SubsequentAppliedLoads],2082059205:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy],734778138:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition],1235345126:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],2986769608:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,e.IsLinear],1975003073:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition],148013059:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.SubContractor,e.JobDescription],2315554128:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2254336722:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],5716631:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1637806684:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ApplicableDates,e.TimeSeriesScheduleType,e.TimeSeries],1692211062:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1620046519:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OperationType,e.CapacityByWeight,e.CapacityByNumber],3593883385:e=>[e.BasisCurve,e.Trim1,e.Trim2,e.SenseAgreement,e.MasterRepresentation],1600972822:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1911125066:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],728799441:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2769231204:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1898987631:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1133259667:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1028945134:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType],4218914973:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType],3342526732:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType],1033361043:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],1213861670:e=>[e.Segments,e.SelfIntersect],3821786052:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.RequestID],1411407467:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3352864051:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1871374353:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2470393545:e=>[e.Contents],3460190687:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.AssetID,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue],1967976161:e=>[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect],819618141:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1916977116:e=>[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect],231477066:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3299480353:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],52481810:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2979338954:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1095909175:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.CompositionType],1909888760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],395041908:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3293546465:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1285652485:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2951183804:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2611217952:e=>[e.Position,e.Radius],2301859152:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],843113511:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3850581409:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2816379211:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2188551683:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],1163958913:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Criterion,e.CriterionDateTime],3898045240:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity],1060000209:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.Suppliers,e.UsageRatio],488727124:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity],335055490:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2954562838:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1973544240:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3495092785:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3961806047:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4147604152:e=>[e.Contents],1335981549:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2635815018:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1599208980:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2063403501:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1945004755:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3040386961:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3041715199:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection],395920057:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth],869906466:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3760055223:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2030761528:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],855621170:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength],663422040:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3277789161:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1534661035:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1365060375:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1217240411:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],712377611:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1634875225:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],857184966:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1658829314:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],346874300:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1810631287:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4222183408:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2058353004:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4278956645:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4037862832:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3132237377:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],987401354:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],707683696:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2223149337:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3508470533:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],900683007:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1073191201:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1687234759:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType],3171933400:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2262370178:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3024970846:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType],3283111854:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3055160366:e=>[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect,e.WeightsData],3027567501:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade],2320036040:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing],2016517767:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType],1376911519:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength,e.Radius],1783015770:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1529196076:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],331165859:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType],4252922144:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRiser,e.NumberOfTreads,e.RiserHeight,e.TreadLength],2515109513:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults],3824725483:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius],2347447852:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade],3313531582:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2391406946:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3512223829:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3304561284:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth],2874132201:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3001207471:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],753842376:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2454782716:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength,e.Width,e.Height],578613899:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1052013943:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1062813311:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ControlElementId],3700593921:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.DistributionPointFunction,e.UserDefinedFunction],979691226:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarRole,e.BarSurface]},Pm[1]={3699917729:e=>new a.IfcAbsorbedDoseMeasure(e),4182062534:e=>new a.IfcAccelerationMeasure(e),360377573:e=>new a.IfcAmountOfSubstanceMeasure(e),632304761:e=>new a.IfcAngularVelocityMeasure(e),2650437152:e=>new a.IfcAreaMeasure(e),2735952531:e=>new a.IfcBoolean(e),1867003952:e=>new a.IfcBoxAlignment(e),2991860651:e=>new a.IfcComplexNumber(e.map((e=>e.value))),3812528620:e=>new a.IfcCompoundPlaneAngleMeasure(e.map((e=>e.value))),3238673880:e=>new a.IfcContextDependentMeasure(e),1778710042:e=>new a.IfcCountMeasure(e),94842927:e=>new a.IfcCurvatureMeasure(e),86635668:e=>new a.IfcDayInMonthNumber(e),300323983:e=>new a.IfcDaylightSavingHour(e),1514641115:e=>new a.IfcDescriptiveMeasure(e),4134073009:e=>new a.IfcDimensionCount(e),524656162:e=>new a.IfcDoseEquivalentMeasure(e),69416015:e=>new a.IfcDynamicViscosityMeasure(e),1827137117:e=>new a.IfcElectricCapacitanceMeasure(e),3818826038:e=>new a.IfcElectricChargeMeasure(e),2093906313:e=>new a.IfcElectricConductanceMeasure(e),3790457270:e=>new a.IfcElectricCurrentMeasure(e),2951915441:e=>new a.IfcElectricResistanceMeasure(e),2506197118:e=>new a.IfcElectricVoltageMeasure(e),2078135608:e=>new a.IfcEnergyMeasure(e),1102727119:e=>new a.IfcFontStyle(e),2715512545:e=>new a.IfcFontVariant(e),2590844177:e=>new a.IfcFontWeight(e),1361398929:e=>new a.IfcForceMeasure(e),3044325142:e=>new a.IfcFrequencyMeasure(e),3064340077:e=>new a.IfcGloballyUniqueId(e),3113092358:e=>new a.IfcHeatFluxDensityMeasure(e),1158859006:e=>new a.IfcHeatingValueMeasure(e),2589826445:e=>new a.IfcHourInDay(e),983778844:e=>new a.IfcIdentifier(e),3358199106:e=>new a.IfcIlluminanceMeasure(e),2679005408:e=>new a.IfcInductanceMeasure(e),1939436016:e=>new a.IfcInteger(e),3809634241:e=>new a.IfcIntegerCountRateMeasure(e),3686016028:e=>new a.IfcIonConcentrationMeasure(e),3192672207:e=>new a.IfcIsothermalMoistureCapacityMeasure(e),2054016361:e=>new a.IfcKinematicViscosityMeasure(e),3258342251:e=>new a.IfcLabel(e),1243674935:e=>new a.IfcLengthMeasure(e),191860431:e=>new a.IfcLinearForceMeasure(e),2128979029:e=>new a.IfcLinearMomentMeasure(e),1307019551:e=>new a.IfcLinearStiffnessMeasure(e),3086160713:e=>new a.IfcLinearVelocityMeasure(e),503418787:e=>new a.IfcLogical(e),2095003142:e=>new a.IfcLuminousFluxMeasure(e),2755797622:e=>new a.IfcLuminousIntensityDistributionMeasure(e),151039812:e=>new a.IfcLuminousIntensityMeasure(e),286949696:e=>new a.IfcMagneticFluxDensityMeasure(e),2486716878:e=>new a.IfcMagneticFluxMeasure(e),1477762836:e=>new a.IfcMassDensityMeasure(e),4017473158:e=>new a.IfcMassFlowRateMeasure(e),3124614049:e=>new a.IfcMassMeasure(e),3531705166:e=>new a.IfcMassPerLengthMeasure(e),102610177:e=>new a.IfcMinuteInHour(e),3341486342:e=>new a.IfcModulusOfElasticityMeasure(e),2173214787:e=>new a.IfcModulusOfLinearSubgradeReactionMeasure(e),1052454078:e=>new a.IfcModulusOfRotationalSubgradeReactionMeasure(e),1753493141:e=>new a.IfcModulusOfSubgradeReactionMeasure(e),3177669450:e=>new a.IfcMoistureDiffusivityMeasure(e),1648970520:e=>new a.IfcMolecularWeightMeasure(e),3114022597:e=>new a.IfcMomentOfInertiaMeasure(e),2615040989:e=>new a.IfcMonetaryMeasure(e),765770214:e=>new a.IfcMonthInYearNumber(e),2095195183:e=>new a.IfcNormalisedRatioMeasure(e),2395907400:e=>new a.IfcNumericMeasure(e),929793134:e=>new a.IfcPHMeasure(e),2260317790:e=>new a.IfcParameterValue(e),2642773653:e=>new a.IfcPlanarForceMeasure(e),4042175685:e=>new a.IfcPlaneAngleMeasure(e),2815919920:e=>new a.IfcPositiveLengthMeasure(e),3054510233:e=>new a.IfcPositivePlaneAngleMeasure(e),1245737093:e=>new a.IfcPositiveRatioMeasure(e),1364037233:e=>new a.IfcPowerMeasure(e),2169031380:e=>new a.IfcPresentableText(e),3665567075:e=>new a.IfcPressureMeasure(e),3972513137:e=>new a.IfcRadioActivityMeasure(e),96294661:e=>new a.IfcRatioMeasure(e),200335297:e=>new a.IfcReal(e),2133746277:e=>new a.IfcRotationalFrequencyMeasure(e),1755127002:e=>new a.IfcRotationalMassMeasure(e),3211557302:e=>new a.IfcRotationalStiffnessMeasure(e),2766185779:e=>new a.IfcSecondInMinute(e),3467162246:e=>new a.IfcSectionModulusMeasure(e),2190458107:e=>new a.IfcSectionalAreaIntegralMeasure(e),408310005:e=>new a.IfcShearModulusMeasure(e),3471399674:e=>new a.IfcSolidAngleMeasure(e),846465480:e=>new a.IfcSoundPowerMeasure(e),993287707:e=>new a.IfcSoundPressureMeasure(e),3477203348:e=>new a.IfcSpecificHeatCapacityMeasure(e),2757832317:e=>new a.IfcSpecularExponent(e),361837227:e=>new a.IfcSpecularRoughness(e),58845555:e=>new a.IfcTemperatureGradientMeasure(e),2801250643:e=>new a.IfcText(e),1460886941:e=>new a.IfcTextAlignment(e),3490877962:e=>new a.IfcTextDecoration(e),603696268:e=>new a.IfcTextFontName(e),296282323:e=>new a.IfcTextTransformation(e),232962298:e=>new a.IfcThermalAdmittanceMeasure(e),2645777649:e=>new a.IfcThermalConductivityMeasure(e),2281867870:e=>new a.IfcThermalExpansionCoefficientMeasure(e),857959152:e=>new a.IfcThermalResistanceMeasure(e),2016195849:e=>new a.IfcThermalTransmittanceMeasure(e),743184107:e=>new a.IfcThermodynamicTemperatureMeasure(e),2726807636:e=>new a.IfcTimeMeasure(e),2591213694:e=>new a.IfcTimeStamp(e),1278329552:e=>new a.IfcTorqueMeasure(e),3345633955:e=>new a.IfcVaporPermeabilityMeasure(e),3458127941:e=>new a.IfcVolumeMeasure(e),2593997549:e=>new a.IfcVolumetricFlowRateMeasure(e),51269191:e=>new a.IfcWarpingConstantMeasure(e),1718600412:e=>new a.IfcWarpingMomentMeasure(e),4065007721:e=>new a.IfcYearNumber(e)},function(e){e.IfcAbsorbedDoseMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAccelerationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAmountOfSubstanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAngularVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAreaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcBoolean=class{constructor(e){this.type=3,this.value="true"==e}},e.IfcBoxAlignment=class{constructor(e){this.value=e,this.type=1}},e.IfcComplexNumber=class{constructor(e){this.value=e}},e.IfcCompoundPlaneAngleMeasure=class{constructor(e){this.value=e}},e.IfcContextDependentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcCountMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcCurvatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDayInMonthNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDaylightSavingHour=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDescriptiveMeasure=class{constructor(e){this.value=e,this.type=1}};class t{constructor(e){this.type=4,this.value=parseFloat(e)}}e.IfcDimensionCount=t,e.IfcDoseEquivalentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDynamicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricCapacitanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricChargeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricConductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricCurrentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricVoltageMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcEnergyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcFontStyle=class{constructor(e){this.value=e,this.type=1}},e.IfcFontVariant=class{constructor(e){this.value=e,this.type=1}},e.IfcFontWeight=class{constructor(e){this.value=e,this.type=1}},e.IfcForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcGloballyUniqueId=class{constructor(e){this.value=e,this.type=1}},e.IfcHeatFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcHeatingValueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcHourInDay=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIdentifier=class{constructor(e){this.value=e,this.type=1}},e.IfcIlluminanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcInductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIntegerCountRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIonConcentrationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIsothermalMoistureCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcKinematicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLabel=class{constructor(e){this.value=e,this.type=1}},e.IfcLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLogical=class{constructor(e){this.type=3,this.value="true"==e}},e.IfcLuminousFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLuminousIntensityDistributionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLuminousIntensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMagneticFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMagneticFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassPerLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMinuteInHour=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfElasticityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfLinearSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfRotationalSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMoistureDiffusivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMolecularWeightMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMomentOfInertiaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMonetaryMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMonthInYearNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcNormalisedRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcNumericMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPHMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcParameterValue=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPlanarForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositiveLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositivePlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositiveRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPresentableText=class{constructor(e){this.value=e,this.type=1}},e.IfcPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRadioActivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcReal=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSecondInMinute=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSectionModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSectionalAreaIntegralMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcShearModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSolidAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecificHeatCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecularExponent=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecularRoughness=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTemperatureGradientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcText=class{constructor(e){this.value=e,this.type=1}},e.IfcTextAlignment=class{constructor(e){this.value=e,this.type=1}},e.IfcTextDecoration=class{constructor(e){this.value=e,this.type=1}},e.IfcTextFontName=class{constructor(e){this.value=e,this.type=1}},e.IfcTextTransformation=class{constructor(e){this.value=e,this.type=1}},e.IfcThermalAdmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalConductivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalExpansionCoefficientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalTransmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermodynamicTemperatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTimeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTimeStamp=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTorqueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcVaporPermeabilityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcVolumeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcVolumetricFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcWarpingConstantMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcWarpingMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcYearNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};class n{}n.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},n.COMPLETION_G1={type:3,value:"COMPLETION_G1"},n.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},n.SNOW_S={type:3,value:"SNOW_S"},n.WIND_W={type:3,value:"WIND_W"},n.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},n.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},n.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},n.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},n.FIRE={type:3,value:"FIRE"},n.IMPULSE={type:3,value:"IMPULSE"},n.IMPACT={type:3,value:"IMPACT"},n.TRANSPORT={type:3,value:"TRANSPORT"},n.ERECTION={type:3,value:"ERECTION"},n.PROPPING={type:3,value:"PROPPING"},n.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},n.SHRINKAGE={type:3,value:"SHRINKAGE"},n.CREEP={type:3,value:"CREEP"},n.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},n.BUOYANCY={type:3,value:"BUOYANCY"},n.ICE={type:3,value:"ICE"},n.CURRENT={type:3,value:"CURRENT"},n.WAVE={type:3,value:"WAVE"},n.RAIN={type:3,value:"RAIN"},n.BRAKES={type:3,value:"BRAKES"},n.USERDEFINED={type:3,value:"USERDEFINED"},n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=n;class s{}s.PERMANENT_G={type:3,value:"PERMANENT_G"},s.VARIABLE_Q={type:3,value:"VARIABLE_Q"},s.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=s;class i{}i.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},i.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},i.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},i.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},i.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},i.USERDEFINED={type:3,value:"USERDEFINED"},i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=i;class a{}a.OFFICE={type:3,value:"OFFICE"},a.SITE={type:3,value:"SITE"},a.HOME={type:3,value:"HOME"},a.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},a.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=a;class l{}l.AHEAD={type:3,value:"AHEAD"},l.BEHIND={type:3,value:"BEHIND"},e.IfcAheadOrBehind=l;class r{}r.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},r.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},r.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=r;class o{}o.GRILLE={type:3,value:"GRILLE"},o.REGISTER={type:3,value:"REGISTER"},o.DIFFUSER={type:3,value:"DIFFUSER"},o.EYEBALL={type:3,value:"EYEBALL"},o.IRIS={type:3,value:"IRIS"},o.LINEARGRILLE={type:3,value:"LINEARGRILLE"},o.LINEARDIFFUSER={type:3,value:"LINEARDIFFUSER"},o.USERDEFINED={type:3,value:"USERDEFINED"},o.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=o;class c{}c.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},c.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},c.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},c.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},c.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},c.HEATPIPE={type:3,value:"HEATPIPE"},c.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},c.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},c.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},c.USERDEFINED={type:3,value:"USERDEFINED"},c.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=c;class u{}u.BELL={type:3,value:"BELL"},u.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},u.LIGHT={type:3,value:"LIGHT"},u.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},u.SIREN={type:3,value:"SIREN"},u.WHISTLE={type:3,value:"WHISTLE"},u.USERDEFINED={type:3,value:"USERDEFINED"},u.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=u;class p{}p.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},p.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},p.LOADING_3D={type:3,value:"LOADING_3D"},p.USERDEFINED={type:3,value:"USERDEFINED"},p.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=p;class h{}h.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},h.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},h.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},h.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},h.USERDEFINED={type:3,value:"USERDEFINED"},h.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=h;class d{}d.ADD={type:3,value:"ADD"},d.DIVIDE={type:3,value:"DIVIDE"},d.MULTIPLY={type:3,value:"MULTIPLY"},d.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=d;class f{}f.SITE={type:3,value:"SITE"},f.FACTORY={type:3,value:"FACTORY"},f.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=f;class I{}I.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},I.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},I.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},I.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},I.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},I.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=I;class m{}m.BEAM={type:3,value:"BEAM"},m.JOIST={type:3,value:"JOIST"},m.LINTEL={type:3,value:"LINTEL"},m.T_BEAM={type:3,value:"T_BEAM"},m.USERDEFINED={type:3,value:"USERDEFINED"},m.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=m;class y{}y.GREATERTHAN={type:3,value:"GREATERTHAN"},y.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},y.LESSTHAN={type:3,value:"LESSTHAN"},y.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},y.EQUALTO={type:3,value:"EQUALTO"},y.NOTEQUALTO={type:3,value:"NOTEQUALTO"},e.IfcBenchmarkEnum=y;class v{}v.WATER={type:3,value:"WATER"},v.STEAM={type:3,value:"STEAM"},v.USERDEFINED={type:3,value:"USERDEFINED"},v.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=v;class w{}w.UNION={type:3,value:"UNION"},w.INTERSECTION={type:3,value:"INTERSECTION"},w.DIFFERENCE={type:3,value:"DIFFERENCE"},e.IfcBooleanOperator=w;class T{}T.USERDEFINED={type:3,value:"USERDEFINED"},T.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=T;class E{}E.BEND={type:3,value:"BEND"},E.CROSS={type:3,value:"CROSS"},E.REDUCER={type:3,value:"REDUCER"},E.TEE={type:3,value:"TEE"},E.USERDEFINED={type:3,value:"USERDEFINED"},E.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=E;class g{}g.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},g.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},g.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},g.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},g.USERDEFINED={type:3,value:"USERDEFINED"},g.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=g;class R{}R.CABLESEGMENT={type:3,value:"CABLESEGMENT"},R.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},R.USERDEFINED={type:3,value:"USERDEFINED"},R.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=R;class D{}D.NOCHANGE={type:3,value:"NOCHANGE"},D.MODIFIED={type:3,value:"MODIFIED"},D.ADDED={type:3,value:"ADDED"},D.DELETED={type:3,value:"DELETED"},D.MODIFIEDADDED={type:3,value:"MODIFIEDADDED"},D.MODIFIEDDELETED={type:3,value:"MODIFIEDDELETED"},e.IfcChangeActionEnum=D;class S{}S.AIRCOOLED={type:3,value:"AIRCOOLED"},S.WATERCOOLED={type:3,value:"WATERCOOLED"},S.HEATRECOVERY={type:3,value:"HEATRECOVERY"},S.USERDEFINED={type:3,value:"USERDEFINED"},S.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=S;class b{}b.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},b.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},b.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},b.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},b.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},b.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},b.USERDEFINED={type:3,value:"USERDEFINED"},b.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=b;class N{}N.COLUMN={type:3,value:"COLUMN"},N.USERDEFINED={type:3,value:"USERDEFINED"},N.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=N;class O{}O.DYNAMIC={type:3,value:"DYNAMIC"},O.RECIPROCATING={type:3,value:"RECIPROCATING"},O.ROTARY={type:3,value:"ROTARY"},O.SCROLL={type:3,value:"SCROLL"},O.TROCHOIDAL={type:3,value:"TROCHOIDAL"},O.SINGLESTAGE={type:3,value:"SINGLESTAGE"},O.BOOSTER={type:3,value:"BOOSTER"},O.OPENTYPE={type:3,value:"OPENTYPE"},O.HERMETIC={type:3,value:"HERMETIC"},O.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},O.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},O.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},O.ROTARYVANE={type:3,value:"ROTARYVANE"},O.SINGLESCREW={type:3,value:"SINGLESCREW"},O.TWINSCREW={type:3,value:"TWINSCREW"},O.USERDEFINED={type:3,value:"USERDEFINED"},O.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=O;class A{}A.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},A.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},A.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},A.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},A.AIRCOOLED={type:3,value:"AIRCOOLED"},A.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},A.USERDEFINED={type:3,value:"USERDEFINED"},A.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=A;class x{}x.ATPATH={type:3,value:"ATPATH"},x.ATSTART={type:3,value:"ATSTART"},x.ATEND={type:3,value:"ATEND"},x.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=x;class C{}C.HARD={type:3,value:"HARD"},C.SOFT={type:3,value:"SOFT"},C.ADVISORY={type:3,value:"ADVISORY"},C.USERDEFINED={type:3,value:"USERDEFINED"},C.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=C;class L{}L.FLOATING={type:3,value:"FLOATING"},L.PROPORTIONAL={type:3,value:"PROPORTIONAL"},L.PROPORTIONALINTEGRAL={type:3,value:"PROPORTIONALINTEGRAL"},L.PROPORTIONALINTEGRALDERIVATIVE={type:3,value:"PROPORTIONALINTEGRALDERIVATIVE"},L.TIMEDTWOPOSITION={type:3,value:"TIMEDTWOPOSITION"},L.TWOPOSITION={type:3,value:"TWOPOSITION"},L.USERDEFINED={type:3,value:"USERDEFINED"},L.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=L;class P{}P.ACTIVE={type:3,value:"ACTIVE"},P.PASSIVE={type:3,value:"PASSIVE"},P.USERDEFINED={type:3,value:"USERDEFINED"},P.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=P;class q{}q.NATURALDRAFT={type:3,value:"NATURALDRAFT"},q.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},q.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=q;class _{}_.BUDGET={type:3,value:"BUDGET"},_.COSTPLAN={type:3,value:"COSTPLAN"},_.ESTIMATE={type:3,value:"ESTIMATE"},_.TENDER={type:3,value:"TENDER"},_.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},_.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},_.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},_.USERDEFINED={type:3,value:"USERDEFINED"},_.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=_;class M{}M.CEILING={type:3,value:"CEILING"},M.FLOORING={type:3,value:"FLOORING"},M.CLADDING={type:3,value:"CLADDING"},M.ROOFING={type:3,value:"ROOFING"},M.INSULATION={type:3,value:"INSULATION"},M.MEMBRANE={type:3,value:"MEMBRANE"},M.SLEEVING={type:3,value:"SLEEVING"},M.WRAPPING={type:3,value:"WRAPPING"},M.USERDEFINED={type:3,value:"USERDEFINED"},M.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=M;class H{}H.AED={type:3,value:"AED"},H.AES={type:3,value:"AES"},H.ATS={type:3,value:"ATS"},H.AUD={type:3,value:"AUD"},H.BBD={type:3,value:"BBD"},H.BEG={type:3,value:"BEG"},H.BGL={type:3,value:"BGL"},H.BHD={type:3,value:"BHD"},H.BMD={type:3,value:"BMD"},H.BND={type:3,value:"BND"},H.BRL={type:3,value:"BRL"},H.BSD={type:3,value:"BSD"},H.BWP={type:3,value:"BWP"},H.BZD={type:3,value:"BZD"},H.CAD={type:3,value:"CAD"},H.CBD={type:3,value:"CBD"},H.CHF={type:3,value:"CHF"},H.CLP={type:3,value:"CLP"},H.CNY={type:3,value:"CNY"},H.CYS={type:3,value:"CYS"},H.CZK={type:3,value:"CZK"},H.DDP={type:3,value:"DDP"},H.DEM={type:3,value:"DEM"},H.DKK={type:3,value:"DKK"},H.EGL={type:3,value:"EGL"},H.EST={type:3,value:"EST"},H.EUR={type:3,value:"EUR"},H.FAK={type:3,value:"FAK"},H.FIM={type:3,value:"FIM"},H.FJD={type:3,value:"FJD"},H.FKP={type:3,value:"FKP"},H.FRF={type:3,value:"FRF"},H.GBP={type:3,value:"GBP"},H.GIP={type:3,value:"GIP"},H.GMD={type:3,value:"GMD"},H.GRX={type:3,value:"GRX"},H.HKD={type:3,value:"HKD"},H.HUF={type:3,value:"HUF"},H.ICK={type:3,value:"ICK"},H.IDR={type:3,value:"IDR"},H.ILS={type:3,value:"ILS"},H.INR={type:3,value:"INR"},H.IRP={type:3,value:"IRP"},H.ITL={type:3,value:"ITL"},H.JMD={type:3,value:"JMD"},H.JOD={type:3,value:"JOD"},H.JPY={type:3,value:"JPY"},H.KES={type:3,value:"KES"},H.KRW={type:3,value:"KRW"},H.KWD={type:3,value:"KWD"},H.KYD={type:3,value:"KYD"},H.LKR={type:3,value:"LKR"},H.LUF={type:3,value:"LUF"},H.MTL={type:3,value:"MTL"},H.MUR={type:3,value:"MUR"},H.MXN={type:3,value:"MXN"},H.MYR={type:3,value:"MYR"},H.NLG={type:3,value:"NLG"},H.NZD={type:3,value:"NZD"},H.OMR={type:3,value:"OMR"},H.PGK={type:3,value:"PGK"},H.PHP={type:3,value:"PHP"},H.PKR={type:3,value:"PKR"},H.PLN={type:3,value:"PLN"},H.PTN={type:3,value:"PTN"},H.QAR={type:3,value:"QAR"},H.RUR={type:3,value:"RUR"},H.SAR={type:3,value:"SAR"},H.SCR={type:3,value:"SCR"},H.SEK={type:3,value:"SEK"},H.SGD={type:3,value:"SGD"},H.SKP={type:3,value:"SKP"},H.THB={type:3,value:"THB"},H.TRL={type:3,value:"TRL"},H.TTD={type:3,value:"TTD"},H.TWD={type:3,value:"TWD"},H.USD={type:3,value:"USD"},H.VEB={type:3,value:"VEB"},H.VND={type:3,value:"VND"},H.XEU={type:3,value:"XEU"},H.ZAR={type:3,value:"ZAR"},H.ZWD={type:3,value:"ZWD"},H.NOK={type:3,value:"NOK"},e.IfcCurrencyEnum=H;class B{}B.USERDEFINED={type:3,value:"USERDEFINED"},B.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=B;class U{}U.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},U.FIREDAMPER={type:3,value:"FIREDAMPER"},U.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},U.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},U.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},U.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},U.BLASTDAMPER={type:3,value:"BLASTDAMPER"},U.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},U.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},U.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},U.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},U.USERDEFINED={type:3,value:"USERDEFINED"},U.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=U;class F{}F.MEASURED={type:3,value:"MEASURED"},F.PREDICTED={type:3,value:"PREDICTED"},F.SIMULATED={type:3,value:"SIMULATED"},F.USERDEFINED={type:3,value:"USERDEFINED"},F.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=F;class G{}G.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},G.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},G.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},G.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},G.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},G.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},G.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},G.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},G.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},G.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},G.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},G.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},G.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},G.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},G.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},G.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},G.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},G.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},G.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},G.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},G.TORQUEUNIT={type:3,value:"TORQUEUNIT"},G.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},G.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},G.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},G.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},G.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},G.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},G.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},G.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},G.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},G.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},G.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},G.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},G.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},G.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},G.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},G.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},G.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},G.PHUNIT={type:3,value:"PHUNIT"},G.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},G.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},G.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},G.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},G.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},G.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},G.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},G.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},G.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},G.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=G;class V{}V.ORIGIN={type:3,value:"ORIGIN"},V.TARGET={type:3,value:"TARGET"},e.IfcDimensionExtentUsage=V;class j{}j.POSITIVE={type:3,value:"POSITIVE"},j.NEGATIVE={type:3,value:"NEGATIVE"},e.IfcDirectionSenseEnum=j;class z{}z.FORMEDDUCT={type:3,value:"FORMEDDUCT"},z.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},z.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},z.MANHOLE={type:3,value:"MANHOLE"},z.METERCHAMBER={type:3,value:"METERCHAMBER"},z.SUMP={type:3,value:"SUMP"},z.TRENCH={type:3,value:"TRENCH"},z.VALVECHAMBER={type:3,value:"VALVECHAMBER"},z.USERDEFINED={type:3,value:"USERDEFINED"},z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=z;class W{}W.PUBLIC={type:3,value:"PUBLIC"},W.RESTRICTED={type:3,value:"RESTRICTED"},W.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},W.PERSONAL={type:3,value:"PERSONAL"},W.USERDEFINED={type:3,value:"USERDEFINED"},W.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=W;class k{}k.DRAFT={type:3,value:"DRAFT"},k.FINALDRAFT={type:3,value:"FINALDRAFT"},k.FINAL={type:3,value:"FINAL"},k.REVISION={type:3,value:"REVISION"},k.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=k;class Y{}Y.SWINGING={type:3,value:"SWINGING"},Y.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},Y.SLIDING={type:3,value:"SLIDING"},Y.FOLDING={type:3,value:"FOLDING"},Y.REVOLVING={type:3,value:"REVOLVING"},Y.ROLLINGUP={type:3,value:"ROLLINGUP"},Y.USERDEFINED={type:3,value:"USERDEFINED"},Y.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=Y;class X{}X.LEFT={type:3,value:"LEFT"},X.MIDDLE={type:3,value:"MIDDLE"},X.RIGHT={type:3,value:"RIGHT"},X.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=X;class K{}K.ALUMINIUM={type:3,value:"ALUMINIUM"},K.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},K.STEEL={type:3,value:"STEEL"},K.WOOD={type:3,value:"WOOD"},K.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},K.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},K.PLASTIC={type:3,value:"PLASTIC"},K.USERDEFINED={type:3,value:"USERDEFINED"},K.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=K;class Z{}Z.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Z.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Z.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Z.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Z.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Z.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Z.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Z.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Z.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Z.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Z.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Z.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Z.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Z.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Z.REVOLVING={type:3,value:"REVOLVING"},Z.ROLLINGUP={type:3,value:"ROLLINGUP"},Z.USERDEFINED={type:3,value:"USERDEFINED"},Z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=Z;class Q{}Q.BEND={type:3,value:"BEND"},Q.CONNECTOR={type:3,value:"CONNECTOR"},Q.ENTRY={type:3,value:"ENTRY"},Q.EXIT={type:3,value:"EXIT"},Q.JUNCTION={type:3,value:"JUNCTION"},Q.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Q.TRANSITION={type:3,value:"TRANSITION"},Q.USERDEFINED={type:3,value:"USERDEFINED"},Q.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=Q;class J{}J.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},J.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},J.USERDEFINED={type:3,value:"USERDEFINED"},J.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=J;class ${}$.FLATOVAL={type:3,value:"FLATOVAL"},$.RECTANGULAR={type:3,value:"RECTANGULAR"},$.ROUND={type:3,value:"ROUND"},$.USERDEFINED={type:3,value:"USERDEFINED"},$.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=$;class ee{}ee.COMPUTER={type:3,value:"COMPUTER"},ee.DIRECTWATERHEATER={type:3,value:"DIRECTWATERHEATER"},ee.DISHWASHER={type:3,value:"DISHWASHER"},ee.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},ee.ELECTRICHEATER={type:3,value:"ELECTRICHEATER"},ee.FACSIMILE={type:3,value:"FACSIMILE"},ee.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},ee.FREEZER={type:3,value:"FREEZER"},ee.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},ee.HANDDRYER={type:3,value:"HANDDRYER"},ee.INDIRECTWATERHEATER={type:3,value:"INDIRECTWATERHEATER"},ee.MICROWAVE={type:3,value:"MICROWAVE"},ee.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},ee.PRINTER={type:3,value:"PRINTER"},ee.REFRIGERATOR={type:3,value:"REFRIGERATOR"},ee.RADIANTHEATER={type:3,value:"RADIANTHEATER"},ee.SCANNER={type:3,value:"SCANNER"},ee.TELEPHONE={type:3,value:"TELEPHONE"},ee.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},ee.TV={type:3,value:"TV"},ee.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},ee.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},ee.WATERHEATER={type:3,value:"WATERHEATER"},ee.WATERCOOLER={type:3,value:"WATERCOOLER"},ee.USERDEFINED={type:3,value:"USERDEFINED"},ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=ee;class te{}te.ALTERNATING={type:3,value:"ALTERNATING"},te.DIRECT={type:3,value:"DIRECT"},te.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricCurrentEnum=te;class ne{}ne.ALARMPANEL={type:3,value:"ALARMPANEL"},ne.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},ne.CONTROLPANEL={type:3,value:"CONTROLPANEL"},ne.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},ne.GASDETECTORPANEL={type:3,value:"GASDETECTORPANEL"},ne.INDICATORPANEL={type:3,value:"INDICATORPANEL"},ne.MIMICPANEL={type:3,value:"MIMICPANEL"},ne.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},ne.SWITCHBOARD={type:3,value:"SWITCHBOARD"},ne.USERDEFINED={type:3,value:"USERDEFINED"},ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionPointFunctionEnum=ne;class se{}se.BATTERY={type:3,value:"BATTERY"},se.CAPACITORBANK={type:3,value:"CAPACITORBANK"},se.HARMONICFILTER={type:3,value:"HARMONICFILTER"},se.INDUCTORBANK={type:3,value:"INDUCTORBANK"},se.UPS={type:3,value:"UPS"},se.USERDEFINED={type:3,value:"USERDEFINED"},se.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=se;class ie{}ie.USERDEFINED={type:3,value:"USERDEFINED"},ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=ie;class ae{}ae.ELECTRICPOINTHEATER={type:3,value:"ELECTRICPOINTHEATER"},ae.ELECTRICCABLEHEATER={type:3,value:"ELECTRICCABLEHEATER"},ae.ELECTRICMATHEATER={type:3,value:"ELECTRICMATHEATER"},ae.USERDEFINED={type:3,value:"USERDEFINED"},ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricHeaterTypeEnum=ae;class le{}le.DC={type:3,value:"DC"},le.INDUCTION={type:3,value:"INDUCTION"},le.POLYPHASE={type:3,value:"POLYPHASE"},le.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},le.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},le.USERDEFINED={type:3,value:"USERDEFINED"},le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=le;class re{}re.TIMECLOCK={type:3,value:"TIMECLOCK"},re.TIMEDELAY={type:3,value:"TIMEDELAY"},re.RELAY={type:3,value:"RELAY"},re.USERDEFINED={type:3,value:"USERDEFINED"},re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=re;class oe{}oe.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},oe.ARCH={type:3,value:"ARCH"},oe.BEAM_GRID={type:3,value:"BEAM_GRID"},oe.BRACED_FRAME={type:3,value:"BRACED_FRAME"},oe.GIRDER={type:3,value:"GIRDER"},oe.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},oe.RIGID_FRAME={type:3,value:"RIGID_FRAME"},oe.SLAB_FIELD={type:3,value:"SLAB_FIELD"},oe.TRUSS={type:3,value:"TRUSS"},oe.USERDEFINED={type:3,value:"USERDEFINED"},oe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=oe;class ce{}ce.COMPLEX={type:3,value:"COMPLEX"},ce.ELEMENT={type:3,value:"ELEMENT"},ce.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=ce;class ue{}ue.PRIMARY={type:3,value:"PRIMARY"},ue.SECONDARY={type:3,value:"SECONDARY"},ue.TERTIARY={type:3,value:"TERTIARY"},ue.AUXILIARY={type:3,value:"AUXILIARY"},ue.USERDEFINED={type:3,value:"USERDEFINED"},ue.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEnergySequenceEnum=ue;class pe{}pe.COMBINEDVALUE={type:3,value:"COMBINEDVALUE"},pe.DISPOSAL={type:3,value:"DISPOSAL"},pe.EXTRACTION={type:3,value:"EXTRACTION"},pe.INSTALLATION={type:3,value:"INSTALLATION"},pe.MANUFACTURE={type:3,value:"MANUFACTURE"},pe.TRANSPORTATION={type:3,value:"TRANSPORTATION"},pe.USERDEFINED={type:3,value:"USERDEFINED"},pe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEnvironmentalImpactCategoryEnum=pe;class he{}he.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},he.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},he.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},he.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},he.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},he.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},he.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},he.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},he.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},he.USERDEFINED={type:3,value:"USERDEFINED"},he.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=he;class de{}de.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},de.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},de.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},de.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},de.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},de.USERDEFINED={type:3,value:"USERDEFINED"},de.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=de;class fe{}fe.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},fe.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},fe.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},fe.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},fe.TUBEAXIAL={type:3,value:"TUBEAXIAL"},fe.VANEAXIAL={type:3,value:"VANEAXIAL"},fe.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},fe.USERDEFINED={type:3,value:"USERDEFINED"},fe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=fe;class Ie{}Ie.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},Ie.ODORFILTER={type:3,value:"ODORFILTER"},Ie.OILFILTER={type:3,value:"OILFILTER"},Ie.STRAINER={type:3,value:"STRAINER"},Ie.WATERFILTER={type:3,value:"WATERFILTER"},Ie.USERDEFINED={type:3,value:"USERDEFINED"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=Ie;class me{}me.BREECHINGINLET={type:3,value:"BREECHINGINLET"},me.FIREHYDRANT={type:3,value:"FIREHYDRANT"},me.HOSEREEL={type:3,value:"HOSEREEL"},me.SPRINKLER={type:3,value:"SPRINKLER"},me.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},me.USERDEFINED={type:3,value:"USERDEFINED"},me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=me;class ye{}ye.SOURCE={type:3,value:"SOURCE"},ye.SINK={type:3,value:"SINK"},ye.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=ye;class ve{}ve.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},ve.THERMOMETER={type:3,value:"THERMOMETER"},ve.AMMETER={type:3,value:"AMMETER"},ve.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},ve.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},ve.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},ve.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},ve.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},ve.USERDEFINED={type:3,value:"USERDEFINED"},ve.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=ve;class we{}we.ELECTRICMETER={type:3,value:"ELECTRICMETER"},we.ENERGYMETER={type:3,value:"ENERGYMETER"},we.FLOWMETER={type:3,value:"FLOWMETER"},we.GASMETER={type:3,value:"GASMETER"},we.OILMETER={type:3,value:"OILMETER"},we.WATERMETER={type:3,value:"WATERMETER"},we.USERDEFINED={type:3,value:"USERDEFINED"},we.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=we;class Te{}Te.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},Te.PAD_FOOTING={type:3,value:"PAD_FOOTING"},Te.PILE_CAP={type:3,value:"PILE_CAP"},Te.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},Te.USERDEFINED={type:3,value:"USERDEFINED"},Te.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=Te;class Ee{}Ee.GASAPPLIANCE={type:3,value:"GASAPPLIANCE"},Ee.GASBOOSTER={type:3,value:"GASBOOSTER"},Ee.GASBURNER={type:3,value:"GASBURNER"},Ee.USERDEFINED={type:3,value:"USERDEFINED"},Ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGasTerminalTypeEnum=Ee;class ge{}ge.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},ge.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},ge.MODEL_VIEW={type:3,value:"MODEL_VIEW"},ge.PLAN_VIEW={type:3,value:"PLAN_VIEW"},ge.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},ge.SECTION_VIEW={type:3,value:"SECTION_VIEW"},ge.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},ge.USERDEFINED={type:3,value:"USERDEFINED"},ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=ge;class Re{}Re.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},Re.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=Re;class De{}De.PLATE={type:3,value:"PLATE"},De.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},De.USERDEFINED={type:3,value:"USERDEFINED"},De.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=De;class Se{}Se.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Se.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Se.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Se.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Se.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Se.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Se.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Se.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Se.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Se.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Se.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Se.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Se.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Se.USERDEFINED={type:3,value:"USERDEFINED"},Se.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=Se;class be{}be.INTERNAL={type:3,value:"INTERNAL"},be.EXTERNAL={type:3,value:"EXTERNAL"},be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=be;class Ne{}Ne.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Ne.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Ne.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Ne.USERDEFINED={type:3,value:"USERDEFINED"},Ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=Ne;class Oe{}Oe.USERDEFINED={type:3,value:"USERDEFINED"},Oe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=Oe;class Ae{}Ae.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Ae.FLUORESCENT={type:3,value:"FLUORESCENT"},Ae.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Ae.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Ae.METALHALIDE={type:3,value:"METALHALIDE"},Ae.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Ae.USERDEFINED={type:3,value:"USERDEFINED"},Ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=Ae;class xe{}xe.AXIS1={type:3,value:"AXIS1"},xe.AXIS2={type:3,value:"AXIS2"},xe.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=xe;class Ce{}Ce.TYPE_A={type:3,value:"TYPE_A"},Ce.TYPE_B={type:3,value:"TYPE_B"},Ce.TYPE_C={type:3,value:"TYPE_C"},Ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Ce;class Le{}Le.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Le.FLUORESCENT={type:3,value:"FLUORESCENT"},Le.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Le.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Le.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Le.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Le.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Le.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Le.METALHALIDE={type:3,value:"METALHALIDE"},Le.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=Le;class Pe{}Pe.POINTSOURCE={type:3,value:"POINTSOURCE"},Pe.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},Pe.USERDEFINED={type:3,value:"USERDEFINED"},Pe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=Pe;class qe{}qe.LOAD_GROUP={type:3,value:"LOAD_GROUP"},qe.LOAD_CASE={type:3,value:"LOAD_CASE"},qe.LOAD_COMBINATION_GROUP={type:3,value:"LOAD_COMBINATION_GROUP"},qe.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},qe.USERDEFINED={type:3,value:"USERDEFINED"},qe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=qe;class _e{}_e.LOGICALAND={type:3,value:"LOGICALAND"},_e.LOGICALOR={type:3,value:"LOGICALOR"},e.IfcLogicalOperatorEnum=_e;class Me{}Me.BRACE={type:3,value:"BRACE"},Me.CHORD={type:3,value:"CHORD"},Me.COLLAR={type:3,value:"COLLAR"},Me.MEMBER={type:3,value:"MEMBER"},Me.MULLION={type:3,value:"MULLION"},Me.PLATE={type:3,value:"PLATE"},Me.POST={type:3,value:"POST"},Me.PURLIN={type:3,value:"PURLIN"},Me.RAFTER={type:3,value:"RAFTER"},Me.STRINGER={type:3,value:"STRINGER"},Me.STRUT={type:3,value:"STRUT"},Me.STUD={type:3,value:"STUD"},Me.USERDEFINED={type:3,value:"USERDEFINED"},Me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=Me;class He{}He.BELTDRIVE={type:3,value:"BELTDRIVE"},He.COUPLING={type:3,value:"COUPLING"},He.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},He.USERDEFINED={type:3,value:"USERDEFINED"},He.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=He;class Be{}Be.NULL={type:3,value:"NULL"},e.IfcNullStyle=Be;class Ue{}Ue.PRODUCT={type:3,value:"PRODUCT"},Ue.PROCESS={type:3,value:"PROCESS"},Ue.CONTROL={type:3,value:"CONTROL"},Ue.RESOURCE={type:3,value:"RESOURCE"},Ue.ACTOR={type:3,value:"ACTOR"},Ue.GROUP={type:3,value:"GROUP"},Ue.PROJECT={type:3,value:"PROJECT"},Ue.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=Ue;class Fe{}Fe.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},Fe.DESIGNINTENT={type:3,value:"DESIGNINTENT"},Fe.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},Fe.REQUIREMENT={type:3,value:"REQUIREMENT"},Fe.SPECIFICATION={type:3,value:"SPECIFICATION"},Fe.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},Fe.USERDEFINED={type:3,value:"USERDEFINED"},Fe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=Fe;class Ge{}Ge.ASSIGNEE={type:3,value:"ASSIGNEE"},Ge.ASSIGNOR={type:3,value:"ASSIGNOR"},Ge.LESSEE={type:3,value:"LESSEE"},Ge.LESSOR={type:3,value:"LESSOR"},Ge.LETTINGAGENT={type:3,value:"LETTINGAGENT"},Ge.OWNER={type:3,value:"OWNER"},Ge.TENANT={type:3,value:"TENANT"},Ge.USERDEFINED={type:3,value:"USERDEFINED"},Ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=Ge;class Ve{}Ve.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},Ve.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},Ve.POWEROUTLET={type:3,value:"POWEROUTLET"},Ve.USERDEFINED={type:3,value:"USERDEFINED"},Ve.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=Ve;class je{}je.GRILL={type:3,value:"GRILL"},je.LOUVER={type:3,value:"LOUVER"},je.SCREEN={type:3,value:"SCREEN"},je.USERDEFINED={type:3,value:"USERDEFINED"},je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=je;class ze{}ze.PHYSICAL={type:3,value:"PHYSICAL"},ze.VIRTUAL={type:3,value:"VIRTUAL"},ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=ze;class We{}We.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},We.COMPOSITE={type:3,value:"COMPOSITE"},We.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},We.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},We.USERDEFINED={type:3,value:"USERDEFINED"},We.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=We;class ke{}ke.COHESION={type:3,value:"COHESION"},ke.FRICTION={type:3,value:"FRICTION"},ke.SUPPORT={type:3,value:"SUPPORT"},ke.USERDEFINED={type:3,value:"USERDEFINED"},ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=ke;class Ye{}Ye.BEND={type:3,value:"BEND"},Ye.CONNECTOR={type:3,value:"CONNECTOR"},Ye.ENTRY={type:3,value:"ENTRY"},Ye.EXIT={type:3,value:"EXIT"},Ye.JUNCTION={type:3,value:"JUNCTION"},Ye.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Ye.TRANSITION={type:3,value:"TRANSITION"},Ye.USERDEFINED={type:3,value:"USERDEFINED"},Ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=Ye;class Xe{}Xe.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Xe.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Xe.GUTTER={type:3,value:"GUTTER"},Xe.SPOOL={type:3,value:"SPOOL"},Xe.USERDEFINED={type:3,value:"USERDEFINED"},Xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=Xe;class Ke{}Ke.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},Ke.SHEET={type:3,value:"SHEET"},Ke.USERDEFINED={type:3,value:"USERDEFINED"},Ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=Ke;class Ze{}Ze.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Ze.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Ze.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Ze.CALIBRATION={type:3,value:"CALIBRATION"},Ze.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Ze.SHUTDOWN={type:3,value:"SHUTDOWN"},Ze.STARTUP={type:3,value:"STARTUP"},Ze.USERDEFINED={type:3,value:"USERDEFINED"},Ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=Ze;class Qe{}Qe.CURVE={type:3,value:"CURVE"},Qe.AREA={type:3,value:"AREA"},e.IfcProfileTypeEnum=Qe;class Je{}Je.CHANGE={type:3,value:"CHANGE"},Je.MAINTENANCE={type:3,value:"MAINTENANCE"},Je.MOVE={type:3,value:"MOVE"},Je.PURCHASE={type:3,value:"PURCHASE"},Je.WORK={type:3,value:"WORK"},Je.USERDEFINED={type:3,value:"USERDEFINED"},Je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderRecordTypeEnum=Je;class $e{}$e.CHANGEORDER={type:3,value:"CHANGEORDER"},$e.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},$e.MOVEORDER={type:3,value:"MOVEORDER"},$e.PURCHASEORDER={type:3,value:"PURCHASEORDER"},$e.WORKORDER={type:3,value:"WORKORDER"},$e.USERDEFINED={type:3,value:"USERDEFINED"},$e.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=$e;class et{}et.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},et.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=et;class tt{}tt.DESIGN={type:3,value:"DESIGN"},tt.DESIGNMAXIMUM={type:3,value:"DESIGNMAXIMUM"},tt.DESIGNMINIMUM={type:3,value:"DESIGNMINIMUM"},tt.SIMULATED={type:3,value:"SIMULATED"},tt.ASBUILT={type:3,value:"ASBUILT"},tt.COMMISSIONING={type:3,value:"COMMISSIONING"},tt.MEASURED={type:3,value:"MEASURED"},tt.USERDEFINED={type:3,value:"USERDEFINED"},tt.NOTKNOWN={type:3,value:"NOTKNOWN"},e.IfcPropertySourceEnum=tt;class nt{}nt.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},nt.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},nt.EARTHFAILUREDEVICE={type:3,value:"EARTHFAILUREDEVICE"},nt.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},nt.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},nt.VARISTOR={type:3,value:"VARISTOR"},nt.USERDEFINED={type:3,value:"USERDEFINED"},nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=nt;class st{}st.CIRCULATOR={type:3,value:"CIRCULATOR"},st.ENDSUCTION={type:3,value:"ENDSUCTION"},st.SPLITCASE={type:3,value:"SPLITCASE"},st.VERTICALINLINE={type:3,value:"VERTICALINLINE"},st.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},st.USERDEFINED={type:3,value:"USERDEFINED"},st.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=st;class it{}it.HANDRAIL={type:3,value:"HANDRAIL"},it.GUARDRAIL={type:3,value:"GUARDRAIL"},it.BALUSTRADE={type:3,value:"BALUSTRADE"},it.USERDEFINED={type:3,value:"USERDEFINED"},it.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=it;class at{}at.STRAIGHT={type:3,value:"STRAIGHT"},at.SPIRAL={type:3,value:"SPIRAL"},at.USERDEFINED={type:3,value:"USERDEFINED"},at.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=at;class lt{}lt.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},lt.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},lt.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},lt.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},lt.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},lt.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=lt;class rt{}rt.BLINN={type:3,value:"BLINN"},rt.FLAT={type:3,value:"FLAT"},rt.GLASS={type:3,value:"GLASS"},rt.MATT={type:3,value:"MATT"},rt.METAL={type:3,value:"METAL"},rt.MIRROR={type:3,value:"MIRROR"},rt.PHONG={type:3,value:"PHONG"},rt.PLASTIC={type:3,value:"PLASTIC"},rt.STRAUSS={type:3,value:"STRAUSS"},rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=rt;class ot{}ot.MAIN={type:3,value:"MAIN"},ot.SHEAR={type:3,value:"SHEAR"},ot.LIGATURE={type:3,value:"LIGATURE"},ot.STUD={type:3,value:"STUD"},ot.PUNCHING={type:3,value:"PUNCHING"},ot.EDGE={type:3,value:"EDGE"},ot.RING={type:3,value:"RING"},ot.USERDEFINED={type:3,value:"USERDEFINED"},ot.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=ot;class ct{}ct.PLAIN={type:3,value:"PLAIN"},ct.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=ct;class ut{}ut.CONSUMED={type:3,value:"CONSUMED"},ut.PARTIALLYCONSUMED={type:3,value:"PARTIALLYCONSUMED"},ut.NOTCONSUMED={type:3,value:"NOTCONSUMED"},ut.OCCUPIED={type:3,value:"OCCUPIED"},ut.PARTIALLYOCCUPIED={type:3,value:"PARTIALLYOCCUPIED"},ut.NOTOCCUPIED={type:3,value:"NOTOCCUPIED"},ut.USERDEFINED={type:3,value:"USERDEFINED"},ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcResourceConsumptionEnum=ut;class pt{}pt.DIRECTION_X={type:3,value:"DIRECTION_X"},pt.DIRECTION_Y={type:3,value:"DIRECTION_Y"},e.IfcRibPlateDirectionEnum=pt;class ht{}ht.SUPPLIER={type:3,value:"SUPPLIER"},ht.MANUFACTURER={type:3,value:"MANUFACTURER"},ht.CONTRACTOR={type:3,value:"CONTRACTOR"},ht.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},ht.ARCHITECT={type:3,value:"ARCHITECT"},ht.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},ht.COSTENGINEER={type:3,value:"COSTENGINEER"},ht.CLIENT={type:3,value:"CLIENT"},ht.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},ht.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},ht.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},ht.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},ht.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},ht.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},ht.CIVILENGINEER={type:3,value:"CIVILENGINEER"},ht.COMISSIONINGENGINEER={type:3,value:"COMISSIONINGENGINEER"},ht.ENGINEER={type:3,value:"ENGINEER"},ht.OWNER={type:3,value:"OWNER"},ht.CONSULTANT={type:3,value:"CONSULTANT"},ht.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},ht.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},ht.RESELLER={type:3,value:"RESELLER"},ht.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=ht;class dt{}dt.FLAT_ROOF={type:3,value:"FLAT_ROOF"},dt.SHED_ROOF={type:3,value:"SHED_ROOF"},dt.GABLE_ROOF={type:3,value:"GABLE_ROOF"},dt.HIP_ROOF={type:3,value:"HIP_ROOF"},dt.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},dt.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},dt.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},dt.BARREL_ROOF={type:3,value:"BARREL_ROOF"},dt.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},dt.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},dt.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},dt.DOME_ROOF={type:3,value:"DOME_ROOF"},dt.FREEFORM={type:3,value:"FREEFORM"},dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=dt;class ft{}ft.EXA={type:3,value:"EXA"},ft.PETA={type:3,value:"PETA"},ft.TERA={type:3,value:"TERA"},ft.GIGA={type:3,value:"GIGA"},ft.MEGA={type:3,value:"MEGA"},ft.KILO={type:3,value:"KILO"},ft.HECTO={type:3,value:"HECTO"},ft.DECA={type:3,value:"DECA"},ft.DECI={type:3,value:"DECI"},ft.CENTI={type:3,value:"CENTI"},ft.MILLI={type:3,value:"MILLI"},ft.MICRO={type:3,value:"MICRO"},ft.NANO={type:3,value:"NANO"},ft.PICO={type:3,value:"PICO"},ft.FEMTO={type:3,value:"FEMTO"},ft.ATTO={type:3,value:"ATTO"},e.IfcSIPrefix=ft;class It{}It.AMPERE={type:3,value:"AMPERE"},It.BECQUEREL={type:3,value:"BECQUEREL"},It.CANDELA={type:3,value:"CANDELA"},It.COULOMB={type:3,value:"COULOMB"},It.CUBIC_METRE={type:3,value:"CUBIC_METRE"},It.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},It.FARAD={type:3,value:"FARAD"},It.GRAM={type:3,value:"GRAM"},It.GRAY={type:3,value:"GRAY"},It.HENRY={type:3,value:"HENRY"},It.HERTZ={type:3,value:"HERTZ"},It.JOULE={type:3,value:"JOULE"},It.KELVIN={type:3,value:"KELVIN"},It.LUMEN={type:3,value:"LUMEN"},It.LUX={type:3,value:"LUX"},It.METRE={type:3,value:"METRE"},It.MOLE={type:3,value:"MOLE"},It.NEWTON={type:3,value:"NEWTON"},It.OHM={type:3,value:"OHM"},It.PASCAL={type:3,value:"PASCAL"},It.RADIAN={type:3,value:"RADIAN"},It.SECOND={type:3,value:"SECOND"},It.SIEMENS={type:3,value:"SIEMENS"},It.SIEVERT={type:3,value:"SIEVERT"},It.SQUARE_METRE={type:3,value:"SQUARE_METRE"},It.STERADIAN={type:3,value:"STERADIAN"},It.TESLA={type:3,value:"TESLA"},It.VOLT={type:3,value:"VOLT"},It.WATT={type:3,value:"WATT"},It.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=It;class mt{}mt.BATH={type:3,value:"BATH"},mt.BIDET={type:3,value:"BIDET"},mt.CISTERN={type:3,value:"CISTERN"},mt.SHOWER={type:3,value:"SHOWER"},mt.SINK={type:3,value:"SINK"},mt.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},mt.TOILETPAN={type:3,value:"TOILETPAN"},mt.URINAL={type:3,value:"URINAL"},mt.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},mt.WCSEAT={type:3,value:"WCSEAT"},mt.USERDEFINED={type:3,value:"USERDEFINED"},mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=mt;class yt{}yt.UNIFORM={type:3,value:"UNIFORM"},yt.TAPERED={type:3,value:"TAPERED"},e.IfcSectionTypeEnum=yt;class vt{}vt.CO2SENSOR={type:3,value:"CO2SENSOR"},vt.FIRESENSOR={type:3,value:"FIRESENSOR"},vt.FLOWSENSOR={type:3,value:"FLOWSENSOR"},vt.GASSENSOR={type:3,value:"GASSENSOR"},vt.HEATSENSOR={type:3,value:"HEATSENSOR"},vt.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},vt.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},vt.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},vt.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},vt.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},vt.SMOKESENSOR={type:3,value:"SMOKESENSOR"},vt.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},vt.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},vt.USERDEFINED={type:3,value:"USERDEFINED"},vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=vt;class wt{}wt.START_START={type:3,value:"START_START"},wt.START_FINISH={type:3,value:"START_FINISH"},wt.FINISH_START={type:3,value:"FINISH_START"},wt.FINISH_FINISH={type:3,value:"FINISH_FINISH"},wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=wt;class Tt{}Tt.A_QUALITYOFCOMPONENTS={type:3,value:"A_QUALITYOFCOMPONENTS"},Tt.B_DESIGNLEVEL={type:3,value:"B_DESIGNLEVEL"},Tt.C_WORKEXECUTIONLEVEL={type:3,value:"C_WORKEXECUTIONLEVEL"},Tt.D_INDOORENVIRONMENT={type:3,value:"D_INDOORENVIRONMENT"},Tt.E_OUTDOORENVIRONMENT={type:3,value:"E_OUTDOORENVIRONMENT"},Tt.F_INUSECONDITIONS={type:3,value:"F_INUSECONDITIONS"},Tt.G_MAINTENANCELEVEL={type:3,value:"G_MAINTENANCELEVEL"},Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcServiceLifeFactorTypeEnum=Tt;class Et{}Et.ACTUALSERVICELIFE={type:3,value:"ACTUALSERVICELIFE"},Et.EXPECTEDSERVICELIFE={type:3,value:"EXPECTEDSERVICELIFE"},Et.OPTIMISTICREFERENCESERVICELIFE={type:3,value:"OPTIMISTICREFERENCESERVICELIFE"},Et.PESSIMISTICREFERENCESERVICELIFE={type:3,value:"PESSIMISTICREFERENCESERVICELIFE"},Et.REFERENCESERVICELIFE={type:3,value:"REFERENCESERVICELIFE"},e.IfcServiceLifeTypeEnum=Et;class gt{}gt.FLOOR={type:3,value:"FLOOR"},gt.ROOF={type:3,value:"ROOF"},gt.LANDING={type:3,value:"LANDING"},gt.BASESLAB={type:3,value:"BASESLAB"},gt.USERDEFINED={type:3,value:"USERDEFINED"},gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=gt;class Rt{}Rt.DBA={type:3,value:"DBA"},Rt.DBB={type:3,value:"DBB"},Rt.DBC={type:3,value:"DBC"},Rt.NC={type:3,value:"NC"},Rt.NR={type:3,value:"NR"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSoundScaleEnum=Rt;class Dt{}Dt.SECTIONALRADIATOR={type:3,value:"SECTIONALRADIATOR"},Dt.PANELRADIATOR={type:3,value:"PANELRADIATOR"},Dt.TUBULARRADIATOR={type:3,value:"TUBULARRADIATOR"},Dt.CONVECTOR={type:3,value:"CONVECTOR"},Dt.BASEBOARDHEATER={type:3,value:"BASEBOARDHEATER"},Dt.FINNEDTUBEUNIT={type:3,value:"FINNEDTUBEUNIT"},Dt.UNITHEATER={type:3,value:"UNITHEATER"},Dt.USERDEFINED={type:3,value:"USERDEFINED"},Dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=Dt;class St{}St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=St;class bt{}bt.BIRDCAGE={type:3,value:"BIRDCAGE"},bt.COWL={type:3,value:"COWL"},bt.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},bt.USERDEFINED={type:3,value:"USERDEFINED"},bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=bt;class Nt{}Nt.STRAIGHT={type:3,value:"STRAIGHT"},Nt.WINDER={type:3,value:"WINDER"},Nt.SPIRAL={type:3,value:"SPIRAL"},Nt.CURVED={type:3,value:"CURVED"},Nt.FREEFORM={type:3,value:"FREEFORM"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=Nt;class Ot{}Ot.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},Ot.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},Ot.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},Ot.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},Ot.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},Ot.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},Ot.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},Ot.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},Ot.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},Ot.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},Ot.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},Ot.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},Ot.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},Ot.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},Ot.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=Ot;class At{}At.READWRITE={type:3,value:"READWRITE"},At.READONLY={type:3,value:"READONLY"},At.LOCKED={type:3,value:"LOCKED"},At.READWRITELOCKED={type:3,value:"READWRITELOCKED"},At.READONLYLOCKED={type:3,value:"READONLYLOCKED"},e.IfcStateEnum=At;class xt{}xt.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},xt.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},xt.CABLE={type:3,value:"CABLE"},xt.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},xt.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveTypeEnum=xt;class Ct{}Ct.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},Ct.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},Ct.SHELL={type:3,value:"SHELL"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceTypeEnum=Ct;class Lt{}Lt.POSITIVE={type:3,value:"POSITIVE"},Lt.NEGATIVE={type:3,value:"NEGATIVE"},Lt.BOTH={type:3,value:"BOTH"},e.IfcSurfaceSide=Lt;class Pt{}Pt.BUMP={type:3,value:"BUMP"},Pt.OPACITY={type:3,value:"OPACITY"},Pt.REFLECTION={type:3,value:"REFLECTION"},Pt.SELFILLUMINATION={type:3,value:"SELFILLUMINATION"},Pt.SHININESS={type:3,value:"SHININESS"},Pt.SPECULAR={type:3,value:"SPECULAR"},Pt.TEXTURE={type:3,value:"TEXTURE"},Pt.TRANSPARENCYMAP={type:3,value:"TRANSPARENCYMAP"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceTextureEnum=Pt;class qt{}qt.CONTACTOR={type:3,value:"CONTACTOR"},qt.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},qt.STARTER={type:3,value:"STARTER"},qt.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},qt.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=qt;class _t{}_t.PREFORMED={type:3,value:"PREFORMED"},_t.SECTIONAL={type:3,value:"SECTIONAL"},_t.EXPANSION={type:3,value:"EXPANSION"},_t.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},_t.USERDEFINED={type:3,value:"USERDEFINED"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=_t;class Mt{}Mt.STRAND={type:3,value:"STRAND"},Mt.WIRE={type:3,value:"WIRE"},Mt.BAR={type:3,value:"BAR"},Mt.COATED={type:3,value:"COATED"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Mt;class Ht{}Ht.LEFT={type:3,value:"LEFT"},Ht.RIGHT={type:3,value:"RIGHT"},Ht.UP={type:3,value:"UP"},Ht.DOWN={type:3,value:"DOWN"},e.IfcTextPath=Ht;class Bt{}Bt.PEOPLE={type:3,value:"PEOPLE"},Bt.LIGHTING={type:3,value:"LIGHTING"},Bt.EQUIPMENT={type:3,value:"EQUIPMENT"},Bt.VENTILATIONINDOORAIR={type:3,value:"VENTILATIONINDOORAIR"},Bt.VENTILATIONOUTSIDEAIR={type:3,value:"VENTILATIONOUTSIDEAIR"},Bt.RECIRCULATEDAIR={type:3,value:"RECIRCULATEDAIR"},Bt.EXHAUSTAIR={type:3,value:"EXHAUSTAIR"},Bt.AIREXCHANGERATE={type:3,value:"AIREXCHANGERATE"},Bt.DRYBULBTEMPERATURE={type:3,value:"DRYBULBTEMPERATURE"},Bt.RELATIVEHUMIDITY={type:3,value:"RELATIVEHUMIDITY"},Bt.INFILTRATION={type:3,value:"INFILTRATION"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcThermalLoadSourceEnum=Bt;class Ut{}Ut.SENSIBLE={type:3,value:"SENSIBLE"},Ut.LATENT={type:3,value:"LATENT"},Ut.RADIANT={type:3,value:"RADIANT"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcThermalLoadTypeEnum=Ut;class Ft{}Ft.CONTINUOUS={type:3,value:"CONTINUOUS"},Ft.DISCRETE={type:3,value:"DISCRETE"},Ft.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},Ft.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},Ft.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},Ft.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=Ft;class Gt{}Gt.ANNUAL={type:3,value:"ANNUAL"},Gt.MONTHLY={type:3,value:"MONTHLY"},Gt.WEEKLY={type:3,value:"WEEKLY"},Gt.DAILY={type:3,value:"DAILY"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesScheduleTypeEnum=Gt;class Vt{}Vt.CURRENT={type:3,value:"CURRENT"},Vt.FREQUENCY={type:3,value:"FREQUENCY"},Vt.VOLTAGE={type:3,value:"VOLTAGE"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=Vt;class jt{}jt.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},jt.CONTINUOUS={type:3,value:"CONTINUOUS"},jt.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},jt.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},e.IfcTransitionCode=jt;class zt{}zt.ELEVATOR={type:3,value:"ELEVATOR"},zt.ESCALATOR={type:3,value:"ESCALATOR"},zt.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},zt.USERDEFINED={type:3,value:"USERDEFINED"},zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=zt;class Wt{}Wt.CARTESIAN={type:3,value:"CARTESIAN"},Wt.PARAMETER={type:3,value:"PARAMETER"},Wt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=Wt;class kt{}kt.FINNED={type:3,value:"FINNED"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=kt;class Yt{}Yt.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Yt.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Yt.AREAUNIT={type:3,value:"AREAUNIT"},Yt.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Yt.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Yt.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Yt.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Yt.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Yt.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Yt.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Yt.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Yt.FORCEUNIT={type:3,value:"FORCEUNIT"},Yt.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Yt.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Yt.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Yt.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Yt.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Yt.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Yt.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Yt.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Yt.MASSUNIT={type:3,value:"MASSUNIT"},Yt.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Yt.POWERUNIT={type:3,value:"POWERUNIT"},Yt.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Yt.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Yt.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Yt.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Yt.TIMEUNIT={type:3,value:"TIMEUNIT"},Yt.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=Yt;class Xt{}Xt.AIRHANDLER={type:3,value:"AIRHANDLER"},Xt.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},Xt.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},Xt.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},Xt.USERDEFINED={type:3,value:"USERDEFINED"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=Xt;class Kt{}Kt.AIRRELEASE={type:3,value:"AIRRELEASE"},Kt.ANTIVACUUM={type:3,value:"ANTIVACUUM"},Kt.CHANGEOVER={type:3,value:"CHANGEOVER"},Kt.CHECK={type:3,value:"CHECK"},Kt.COMMISSIONING={type:3,value:"COMMISSIONING"},Kt.DIVERTING={type:3,value:"DIVERTING"},Kt.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},Kt.DOUBLECHECK={type:3,value:"DOUBLECHECK"},Kt.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},Kt.FAUCET={type:3,value:"FAUCET"},Kt.FLUSHING={type:3,value:"FLUSHING"},Kt.GASCOCK={type:3,value:"GASCOCK"},Kt.GASTAP={type:3,value:"GASTAP"},Kt.ISOLATING={type:3,value:"ISOLATING"},Kt.MIXING={type:3,value:"MIXING"},Kt.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},Kt.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},Kt.REGULATING={type:3,value:"REGULATING"},Kt.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},Kt.STEAMTRAP={type:3,value:"STEAMTRAP"},Kt.STOPCOCK={type:3,value:"STOPCOCK"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=Kt;class Zt{}Zt.COMPRESSION={type:3,value:"COMPRESSION"},Zt.SPRING={type:3,value:"SPRING"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=Zt;class Qt{}Qt.STANDARD={type:3,value:"STANDARD"},Qt.POLYGONAL={type:3,value:"POLYGONAL"},Qt.SHEAR={type:3,value:"SHEAR"},Qt.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},Qt.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},Qt.USERDEFINED={type:3,value:"USERDEFINED"},Qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=Qt;class Jt{}Jt.FLOORTRAP={type:3,value:"FLOORTRAP"},Jt.FLOORWASTE={type:3,value:"FLOORWASTE"},Jt.GULLYSUMP={type:3,value:"GULLYSUMP"},Jt.GULLYTRAP={type:3,value:"GULLYTRAP"},Jt.GREASEINTERCEPTOR={type:3,value:"GREASEINTERCEPTOR"},Jt.OILINTERCEPTOR={type:3,value:"OILINTERCEPTOR"},Jt.PETROLINTERCEPTOR={type:3,value:"PETROLINTERCEPTOR"},Jt.ROOFDRAIN={type:3,value:"ROOFDRAIN"},Jt.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},Jt.WASTETRAP={type:3,value:"WASTETRAP"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=Jt;class $t{}$t.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},$t.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},$t.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},$t.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},$t.TOPHUNG={type:3,value:"TOPHUNG"},$t.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},$t.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},$t.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},$t.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},$t.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},$t.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},$t.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},$t.OTHEROPERATION={type:3,value:"OTHEROPERATION"},$t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=$t;class en{}en.LEFT={type:3,value:"LEFT"},en.MIDDLE={type:3,value:"MIDDLE"},en.RIGHT={type:3,value:"RIGHT"},en.BOTTOM={type:3,value:"BOTTOM"},en.TOP={type:3,value:"TOP"},en.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=en;class tn{}tn.ALUMINIUM={type:3,value:"ALUMINIUM"},tn.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},tn.STEEL={type:3,value:"STEEL"},tn.WOOD={type:3,value:"WOOD"},tn.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},tn.PLASTIC={type:3,value:"PLASTIC"},tn.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=tn;class nn{}nn.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},nn.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},nn.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},nn.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},nn.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},nn.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},nn.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},nn.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},nn.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=nn;class sn{}sn.ACTUAL={type:3,value:"ACTUAL"},sn.BASELINE={type:3,value:"BASELINE"},sn.PLANNED={type:3,value:"PLANNED"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkControlTypeEnum=sn,e.IfcActorRole=class extends Nm{constructor(e,t,n,s){super(e),this.Role=t,this.UserDefinedRole=n,this.Description=s,this.type=3630933823}};class an extends Nm{constructor(e,t,n,s){super(e),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.type=618182010}}e.IfcAddress=an,e.IfcApplication=class extends Nm{constructor(e,t,n,s,i){super(e),this.ApplicationDeveloper=t,this.Version=n,this.ApplicationFullName=s,this.ApplicationIdentifier=i,this.type=639542469}};class ln extends Nm{constructor(e,t,n,s,i,a,l){super(e),this.Name=t,this.Description=n,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=a,this.FixedUntilDate=l,this.type=411424972}}e.IfcAppliedValue=ln,e.IfcAppliedValueRelationship=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.ComponentOfTotal=t,this.Components=n,this.ArithmeticOperator=s,this.Name=i,this.Description=a,this.type=1110488051}},e.IfcApproval=class extends Nm{constructor(e,t,n,s,i,a,l,r){super(e),this.Description=t,this.ApprovalDateTime=n,this.ApprovalStatus=s,this.ApprovalLevel=i,this.ApprovalQualifier=a,this.Name=l,this.Identifier=r,this.type=130549933}},e.IfcApprovalActorRelationship=class extends Nm{constructor(e,t,n,s){super(e),this.Actor=t,this.Approval=n,this.Role=s,this.type=2080292479}},e.IfcApprovalPropertyRelationship=class extends Nm{constructor(e,t,n){super(e),this.ApprovedProperties=t,this.Approval=n,this.type=390851274}},e.IfcApprovalRelationship=class extends Nm{constructor(e,t,n,s,i){super(e),this.RelatedApproval=t,this.RelatingApproval=n,this.Description=s,this.Name=i,this.type=3869604511}};class rn extends Nm{constructor(e,t){super(e),this.Name=t,this.type=4037036970}}e.IfcBoundaryCondition=rn,e.IfcBoundaryEdgeCondition=class extends rn{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.LinearStiffnessByLengthX=n,this.LinearStiffnessByLengthY=s,this.LinearStiffnessByLengthZ=i,this.RotationalStiffnessByLengthX=a,this.RotationalStiffnessByLengthY=l,this.RotationalStiffnessByLengthZ=r,this.type=1560379544}},e.IfcBoundaryFaceCondition=class extends rn{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.LinearStiffnessByAreaX=n,this.LinearStiffnessByAreaY=s,this.LinearStiffnessByAreaZ=i,this.type=3367102660}};class on extends rn{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.LinearStiffnessX=n,this.LinearStiffnessY=s,this.LinearStiffnessZ=i,this.RotationalStiffnessX=a,this.RotationalStiffnessY=l,this.RotationalStiffnessZ=r,this.type=1387855156}}e.IfcBoundaryNodeCondition=on,e.IfcBoundaryNodeConditionWarping=class extends on{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.LinearStiffnessX=n,this.LinearStiffnessY=s,this.LinearStiffnessZ=i,this.RotationalStiffnessX=a,this.RotationalStiffnessY=l,this.RotationalStiffnessZ=r,this.WarpingStiffness=o,this.type=2069777674}},e.IfcCalendarDate=class extends Nm{constructor(e,t,n,s){super(e),this.DayComponent=t,this.MonthComponent=n,this.YearComponent=s,this.type=622194075}},e.IfcClassification=class extends Nm{constructor(e,t,n,s,i){super(e),this.Source=t,this.Edition=n,this.EditionDate=s,this.Name=i,this.type=747523909}},e.IfcClassificationItem=class extends Nm{constructor(e,t,n,s){super(e),this.Notation=t,this.ItemOf=n,this.Title=s,this.type=1767535486}},e.IfcClassificationItemRelationship=class extends Nm{constructor(e,t,n){super(e),this.RelatingItem=t,this.RelatedItems=n,this.type=1098599126}},e.IfcClassificationNotation=class extends Nm{constructor(e,t){super(e),this.NotationFacets=t,this.type=938368621}},e.IfcClassificationNotationFacet=class extends Nm{constructor(e,t){super(e),this.NotationValue=t,this.type=3639012971}};class cn extends Nm{constructor(e,t){super(e),this.Name=t,this.type=3264961684}}e.IfcColourSpecification=cn;class un extends Nm{constructor(e){super(e),this.type=2859738748}}e.IfcConnectionGeometry=un;class pn extends un{constructor(e,t,n){super(e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=n,this.type=2614616156}}e.IfcConnectionPointGeometry=pn,e.IfcConnectionPortGeometry=class extends un{constructor(e,t,n,s){super(e),this.LocationAtRelatingElement=t,this.LocationAtRelatedElement=n,this.ProfileOfPort=s,this.type=4257277454}},e.IfcConnectionSurfaceGeometry=class extends un{constructor(e,t,n){super(e),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=n,this.type=2732653382}};class hn extends Nm{constructor(e,t,n,s,i,a,l,r){super(e),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.type=1959218052}}e.IfcConstraint=hn,e.IfcConstraintAggregationRelationship=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.Name=t,this.Description=n,this.RelatingConstraint=s,this.RelatedConstraints=i,this.LogicalAggregator=a,this.type=1658513725}},e.IfcConstraintClassificationRelationship=class extends Nm{constructor(e,t,n){super(e),this.ClassifiedConstraint=t,this.RelatedClassifications=n,this.type=613356794}},e.IfcConstraintRelationship=class extends Nm{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.RelatingConstraint=s,this.RelatedConstraints=i,this.type=347226245}},e.IfcCoordinatedUniversalTimeOffset=class extends Nm{constructor(e,t,n,s){super(e),this.HourOffset=t,this.MinuteOffset=n,this.Sense=s,this.type=1065062679}},e.IfcCostValue=class extends ln{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.Name=t,this.Description=n,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=a,this.FixedUntilDate=l,this.CostType=r,this.Condition=o,this.type=602808272}},e.IfcCurrencyRelationship=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.RelatingMonetaryUnit=t,this.RelatedMonetaryUnit=n,this.ExchangeRate=s,this.RateDateTime=i,this.RateSource=a,this.type=539742890}},e.IfcCurveStyleFont=class extends Nm{constructor(e,t,n){super(e),this.Name=t,this.PatternList=n,this.type=1105321065}},e.IfcCurveStyleFontAndScaling=class extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.CurveFont=n,this.CurveFontScaling=s,this.type=2367409068}},e.IfcCurveStyleFontPattern=class extends Nm{constructor(e,t,n){super(e),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=n,this.type=3510044353}},e.IfcDateAndTime=class extends Nm{constructor(e,t,n){super(e),this.DateComponent=t,this.TimeComponent=n,this.type=1072939445}},e.IfcDerivedUnit=class extends Nm{constructor(e,t,n,s){super(e),this.Elements=t,this.UnitType=n,this.UserDefinedType=s,this.type=1765591967}},e.IfcDerivedUnitElement=class extends Nm{constructor(e,t,n){super(e),this.Unit=t,this.Exponent=n,this.type=1045800335}},e.IfcDimensionalExponents=class extends Nm{constructor(e,t,n,s,i,a,l,r){super(e),this.LengthExponent=t,this.MassExponent=n,this.TimeExponent=s,this.ElectricCurrentExponent=i,this.ThermodynamicTemperatureExponent=a,this.AmountOfSubstanceExponent=l,this.LuminousIntensityExponent=r,this.type=2949456006}},e.IfcDocumentElectronicFormat=class extends Nm{constructor(e,t,n,s){super(e),this.FileExtension=t,this.MimeContentType=n,this.MimeSubtype=s,this.type=1376555844}},e.IfcDocumentInformation=class extends Nm{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e),this.DocumentId=t,this.Name=n,this.Description=s,this.DocumentReferences=i,this.Purpose=a,this.IntendedUse=l,this.Scope=r,this.Revision=o,this.DocumentOwner=c,this.Editors=u,this.CreationTime=p,this.LastRevisionTime=h,this.ElectronicFormat=d,this.ValidFrom=f,this.ValidUntil=I,this.Confidentiality=m,this.Status=y,this.type=1154170062}},e.IfcDocumentInformationRelationship=class extends Nm{constructor(e,t,n,s){super(e),this.RelatingDocument=t,this.RelatedDocuments=n,this.RelationshipType=s,this.type=770865208}};class dn extends Nm{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.RelatingDraughtingCallout=s,this.RelatedDraughtingCallout=i,this.type=3796139169}}e.IfcDraughtingCalloutRelationship=dn,e.IfcEnvironmentalImpactValue=class extends ln{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.Name=t,this.Description=n,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=a,this.FixedUntilDate=l,this.ImpactType=r,this.Category=o,this.UserDefinedCategory=c,this.type=1648886627}};class fn extends Nm{constructor(e,t,n,s){super(e),this.Location=t,this.ItemReference=n,this.Name=s,this.type=3200245327}}e.IfcExternalReference=fn,e.IfcExternallyDefinedHatchStyle=class extends fn{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.ItemReference=n,this.Name=s,this.type=2242383968}},e.IfcExternallyDefinedSurfaceStyle=class extends fn{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.ItemReference=n,this.Name=s,this.type=1040185647}},e.IfcExternallyDefinedSymbol=class extends fn{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.ItemReference=n,this.Name=s,this.type=3207319532}},e.IfcExternallyDefinedTextFont=class extends fn{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.ItemReference=n,this.Name=s,this.type=3548104201}},e.IfcGridAxis=class extends Nm{constructor(e,t,n,s){super(e),this.AxisTag=t,this.AxisCurve=n,this.SameSense=s,this.type=852622518}},e.IfcIrregularTimeSeriesValue=class extends Nm{constructor(e,t,n){super(e),this.TimeStamp=t,this.ListValues=n,this.type=3020489413}},e.IfcLibraryInformation=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.Name=t,this.Version=n,this.Publisher=s,this.VersionDate=i,this.LibraryReference=a,this.type=2655187982}},e.IfcLibraryReference=class extends fn{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.ItemReference=n,this.Name=s,this.type=3452421091}},e.IfcLightDistributionData=class extends Nm{constructor(e,t,n,s){super(e),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=n,this.LuminousIntensity=s,this.type=4162380809}},e.IfcLightIntensityDistribution=class extends Nm{constructor(e,t,n){super(e),this.LightDistributionCurve=t,this.DistributionData=n,this.type=1566485204}},e.IfcLocalTime=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.HourComponent=t,this.MinuteComponent=n,this.SecondComponent=s,this.Zone=i,this.DaylightSavingOffset=a,this.type=30780891}},e.IfcMaterial=class extends Nm{constructor(e,t){super(e),this.Name=t,this.type=1838606355}},e.IfcMaterialClassificationRelationship=class extends Nm{constructor(e,t,n){super(e),this.MaterialClassifications=t,this.ClassifiedMaterial=n,this.type=1847130766}},e.IfcMaterialLayer=class extends Nm{constructor(e,t,n,s){super(e),this.Material=t,this.LayerThickness=n,this.IsVentilated=s,this.type=248100487}},e.IfcMaterialLayerSet=class extends Nm{constructor(e,t,n){super(e),this.MaterialLayers=t,this.LayerSetName=n,this.type=3303938423}},e.IfcMaterialLayerSetUsage=class extends Nm{constructor(e,t,n,s,i){super(e),this.ForLayerSet=t,this.LayerSetDirection=n,this.DirectionSense=s,this.OffsetFromReferenceLine=i,this.type=1303795690}},e.IfcMaterialList=class extends Nm{constructor(e,t){super(e),this.Materials=t,this.type=2199411900}};class In extends Nm{constructor(e,t){super(e),this.Material=t,this.type=3265635763}}e.IfcMaterialProperties=In,e.IfcMeasureWithUnit=class extends Nm{constructor(e,t,n){super(e),this.ValueComponent=t,this.UnitComponent=n,this.type=2597039031}};class mn extends In{constructor(e,t,n,s,i,a,l){super(e,t),this.Material=t,this.DynamicViscosity=n,this.YoungModulus=s,this.ShearModulus=i,this.PoissonRatio=a,this.ThermalExpansionCoefficient=l,this.type=4256014907}}e.IfcMechanicalMaterialProperties=mn,e.IfcMechanicalSteelMaterialProperties=class extends mn{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l),this.Material=t,this.DynamicViscosity=n,this.YoungModulus=s,this.ShearModulus=i,this.PoissonRatio=a,this.ThermalExpansionCoefficient=l,this.YieldStress=r,this.UltimateStress=o,this.UltimateStrain=c,this.HardeningModule=u,this.ProportionalStress=p,this.PlasticStrain=h,this.Relaxations=d,this.type=677618848}},e.IfcMetric=class extends hn{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.Benchmark=o,this.ValueSource=c,this.DataValue=u,this.type=3368373690}},e.IfcMonetaryUnit=class extends Nm{constructor(e,t){super(e),this.Currency=t,this.type=2706619895}};class yn extends Nm{constructor(e,t,n){super(e),this.Dimensions=t,this.UnitType=n,this.type=1918398963}}e.IfcNamedUnit=yn;class vn extends Nm{constructor(e){super(e),this.type=3701648758}}e.IfcObjectPlacement=vn,e.IfcObjective=class extends hn{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.BenchmarkValues=o,this.ResultValues=c,this.ObjectiveQualifier=u,this.UserDefinedQualifier=p,this.type=2251480897}},e.IfcOpticalMaterialProperties=class extends In{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t),this.Material=t,this.VisibleTransmittance=n,this.SolarTransmittance=s,this.ThermalIrTransmittance=i,this.ThermalIrEmissivityBack=a,this.ThermalIrEmissivityFront=l,this.VisibleReflectanceBack=r,this.VisibleReflectanceFront=o,this.SolarReflectanceFront=c,this.SolarReflectanceBack=u,this.type=1227763645}},e.IfcOrganization=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.Id=t,this.Name=n,this.Description=s,this.Roles=i,this.Addresses=a,this.type=4251960020}},e.IfcOrganizationRelationship=class extends Nm{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.RelatingOrganization=s,this.RelatedOrganizations=i,this.type=1411181986}},e.IfcOwnerHistory=class extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.OwningUser=t,this.OwningApplication=n,this.State=s,this.ChangeAction=i,this.LastModifiedDate=a,this.LastModifyingUser=l,this.LastModifyingApplication=r,this.CreationDate=o,this.type=1207048766}},e.IfcPerson=class extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.Id=t,this.FamilyName=n,this.GivenName=s,this.MiddleNames=i,this.PrefixTitles=a,this.SuffixTitles=l,this.Roles=r,this.Addresses=o,this.type=2077209135}},e.IfcPersonAndOrganization=class extends Nm{constructor(e,t,n,s){super(e),this.ThePerson=t,this.TheOrganization=n,this.Roles=s,this.type=101040310}};class wn extends Nm{constructor(e,t,n){super(e),this.Name=t,this.Description=n,this.type=2483315170}}e.IfcPhysicalQuantity=wn;class Tn extends wn{constructor(e,t,n,s){super(e,t,n),this.Name=t,this.Description=n,this.Unit=s,this.type=2226359599}}e.IfcPhysicalSimpleQuantity=Tn,e.IfcPostalAddress=class extends an{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.InternalLocation=i,this.AddressLines=a,this.PostalBox=l,this.Town=r,this.Region=o,this.PostalCode=c,this.Country=u,this.type=3355820592}};class En extends Nm{constructor(e,t){super(e),this.Name=t,this.type=3727388367}}e.IfcPreDefinedItem=En;class gn extends En{constructor(e,t){super(e,t),this.Name=t,this.type=990879717}}e.IfcPreDefinedSymbol=gn,e.IfcPreDefinedTerminatorSymbol=class extends gn{constructor(e,t){super(e,t),this.Name=t,this.type=3213052703}};class Rn extends En{constructor(e,t){super(e,t),this.Name=t,this.type=1775413392}}e.IfcPreDefinedTextFont=Rn;class Dn extends Nm{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.AssignedItems=s,this.Identifier=i,this.type=2022622350}}e.IfcPresentationLayerAssignment=Dn,e.IfcPresentationLayerWithStyle=class extends Dn{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i),this.Name=t,this.Description=n,this.AssignedItems=s,this.Identifier=i,this.LayerOn=a,this.LayerFrozen=l,this.LayerBlocked=r,this.LayerStyles=o,this.type=1304840413}};class Sn extends Nm{constructor(e,t){super(e),this.Name=t,this.type=3119450353}}e.IfcPresentationStyle=Sn,e.IfcPresentationStyleAssignment=class extends Nm{constructor(e,t){super(e),this.Styles=t,this.type=2417041796}};class bn extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.Representations=s,this.type=2095639259}}e.IfcProductRepresentation=bn,e.IfcProductsOfCombustionProperties=class extends In{constructor(e,t,n,s,i,a){super(e,t),this.Material=t,this.SpecificHeatCapacity=n,this.N20Content=s,this.COContent=i,this.CO2Content=a,this.type=2267347899}};class Nn extends Nm{constructor(e,t,n){super(e),this.ProfileType=t,this.ProfileName=n,this.type=3958567839}}e.IfcProfileDef=Nn;class On extends Nm{constructor(e,t,n){super(e),this.ProfileName=t,this.ProfileDefinition=n,this.type=2802850158}}e.IfcProfileProperties=On;class An extends Nm{constructor(e,t,n){super(e),this.Name=t,this.Description=n,this.type=2598011224}}e.IfcProperty=An,e.IfcPropertyConstraintRelationship=class extends Nm{constructor(e,t,n,s,i){super(e),this.RelatingConstraint=t,this.RelatedProperties=n,this.Name=s,this.Description=i,this.type=3896028662}},e.IfcPropertyDependencyRelationship=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.DependingProperty=t,this.DependantProperty=n,this.Name=s,this.Description=i,this.Expression=a,this.type=148025276}},e.IfcPropertyEnumeration=class extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.EnumerationValues=n,this.Unit=s,this.type=3710013099}},e.IfcQuantityArea=class extends Tn{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.AreaValue=i,this.type=2044713172}},e.IfcQuantityCount=class extends Tn{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.CountValue=i,this.type=2093928680}},e.IfcQuantityLength=class extends Tn{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.LengthValue=i,this.type=931644368}},e.IfcQuantityTime=class extends Tn{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.TimeValue=i,this.type=3252649465}},e.IfcQuantityVolume=class extends Tn{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.VolumeValue=i,this.type=2405470396}},e.IfcQuantityWeight=class extends Tn{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.WeightValue=i,this.type=825690147}},e.IfcReferencesValueDocument=class extends Nm{constructor(e,t,n,s,i){super(e),this.ReferencedDocument=t,this.ReferencingValues=n,this.Name=s,this.Description=i,this.type=2692823254}},e.IfcReinforcementBarProperties=class extends Nm{constructor(e,t,n,s,i,a,l){super(e),this.TotalCrossSectionArea=t,this.SteelGrade=n,this.BarSurface=s,this.EffectiveDepth=i,this.NominalBarDiameter=a,this.BarCount=l,this.type=1580146022}},e.IfcRelaxation=class extends Nm{constructor(e,t,n){super(e),this.RelaxationValue=t,this.InitialStress=n,this.type=1222501353}};class xn extends Nm{constructor(e,t,n,s,i){super(e),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=1076942058}}e.IfcRepresentation=xn;class Cn extends Nm{constructor(e,t,n){super(e),this.ContextIdentifier=t,this.ContextType=n,this.type=3377609919}}e.IfcRepresentationContext=Cn;class Ln extends Nm{constructor(e){super(e),this.type=3008791417}}e.IfcRepresentationItem=Ln,e.IfcRepresentationMap=class extends Nm{constructor(e,t,n){super(e),this.MappingOrigin=t,this.MappedRepresentation=n,this.type=1660063152}},e.IfcRibPlateProfileProperties=class extends On{constructor(e,t,n,s,i,a,l,r){super(e,t,n),this.ProfileName=t,this.ProfileDefinition=n,this.Thickness=s,this.RibHeight=i,this.RibWidth=a,this.RibSpacing=l,this.Direction=r,this.type=3679540991}};class Pn extends Nm{constructor(e,t,n,s,i){super(e),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=2341007311}}e.IfcRoot=Pn,e.IfcSIUnit=class extends yn{constructor(e,t,n,s){super(e,new bm(0),t),this.UnitType=t,this.Prefix=n,this.Name=s,this.type=448429030}},e.IfcSectionProperties=class extends Nm{constructor(e,t,n,s){super(e),this.SectionType=t,this.StartProfile=n,this.EndProfile=s,this.type=2042790032}},e.IfcSectionReinforcementProperties=class extends Nm{constructor(e,t,n,s,i,a,l){super(e),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=n,this.TransversePosition=s,this.ReinforcementRole=i,this.SectionDefinition=a,this.CrossSectionReinforcementDefinitions=l,this.type=4165799628}},e.IfcShapeAspect=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.ShapeRepresentations=t,this.Name=n,this.Description=s,this.ProductDefinitional=i,this.PartOfProductDefinitionShape=a,this.type=867548509}};class qn extends xn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=3982875396}}e.IfcShapeModel=qn,e.IfcShapeRepresentation=class extends qn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=4240577450}};class _n extends An{constructor(e,t,n){super(e,t,n),this.Name=t,this.Description=n,this.type=3692461612}}e.IfcSimpleProperty=_n;class Mn extends Nm{constructor(e,t){super(e),this.Name=t,this.type=2273995522}}e.IfcStructuralConnectionCondition=Mn;class Hn extends Nm{constructor(e,t){super(e),this.Name=t,this.type=2162789131}}e.IfcStructuralLoad=Hn;class Bn extends Hn{constructor(e,t){super(e,t),this.Name=t,this.type=2525727697}}e.IfcStructuralLoadStatic=Bn,e.IfcStructuralLoadTemperature=class extends Bn{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.DeltaT_Constant=n,this.DeltaT_Y=s,this.DeltaT_Z=i,this.type=3408363356}};class Un extends xn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=2830218821}}e.IfcStyleModel=Un;class Fn extends Ln{constructor(e,t,n,s){super(e),this.Item=t,this.Styles=n,this.Name=s,this.type=3958052878}}e.IfcStyledItem=Fn,e.IfcStyledRepresentation=class extends Un{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=3049322572}},e.IfcSurfaceStyle=class extends Sn{constructor(e,t,n,s){super(e,t),this.Name=t,this.Side=n,this.Styles=s,this.type=1300840506}},e.IfcSurfaceStyleLighting=class extends Nm{constructor(e,t,n,s,i){super(e),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=n,this.TransmissionColour=s,this.ReflectanceColour=i,this.type=3303107099}},e.IfcSurfaceStyleRefraction=class extends Nm{constructor(e,t,n){super(e),this.RefractionIndex=t,this.DispersionFactor=n,this.type=1607154358}};class Gn extends Nm{constructor(e,t){super(e),this.SurfaceColour=t,this.type=846575682}}e.IfcSurfaceStyleShading=Gn,e.IfcSurfaceStyleWithTextures=class extends Nm{constructor(e,t){super(e),this.Textures=t,this.type=1351298697}};class Vn extends Nm{constructor(e,t,n,s,i){super(e),this.RepeatS=t,this.RepeatT=n,this.TextureType=s,this.TextureTransform=i,this.type=626085974}}e.IfcSurfaceTexture=Vn,e.IfcSymbolStyle=class extends Sn{constructor(e,t,n){super(e,t),this.Name=t,this.StyleOfSymbol=n,this.type=1290481447}},e.IfcTable=class extends Nm{constructor(e,t,n){super(e),this.Name=t,this.Rows=n,this.type=985171141}},e.IfcTableRow=class extends Nm{constructor(e,t,n){super(e),this.RowCells=t,this.IsHeading=n,this.type=531007025}},e.IfcTelecomAddress=class extends an{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.TelephoneNumbers=i,this.FacsimileNumbers=a,this.PagerNumber=l,this.ElectronicMailAddresses=r,this.WWWHomePageURL=o,this.type=912023232}},e.IfcTextStyle=class extends Sn{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.TextCharacterAppearance=n,this.TextStyle=s,this.TextFontStyle=i,this.type=1447204868}},e.IfcTextStyleFontModel=class extends Rn{constructor(e,t,n,s,i,a,l){super(e,t),this.Name=t,this.FontFamily=n,this.FontStyle=s,this.FontVariant=i,this.FontWeight=a,this.FontSize=l,this.type=1983826977}},e.IfcTextStyleForDefinedFont=class extends Nm{constructor(e,t,n){super(e),this.Colour=t,this.BackgroundColour=n,this.type=2636378356}},e.IfcTextStyleTextModel=class extends Nm{constructor(e,t,n,s,i,a,l,r){super(e),this.TextIndent=t,this.TextAlign=n,this.TextDecoration=s,this.LetterSpacing=i,this.WordSpacing=a,this.TextTransform=l,this.LineHeight=r,this.type=1640371178}},e.IfcTextStyleWithBoxCharacteristics=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.BoxHeight=t,this.BoxWidth=n,this.BoxSlantAngle=s,this.BoxRotateAngle=i,this.CharacterSpacing=a,this.type=1484833681}};class jn extends Nm{constructor(e){super(e),this.type=280115917}}e.IfcTextureCoordinate=jn,e.IfcTextureCoordinateGenerator=class extends jn{constructor(e,t,n){super(e),this.Mode=t,this.Parameter=n,this.type=1742049831}},e.IfcTextureMap=class extends jn{constructor(e,t){super(e),this.TextureMaps=t,this.type=2552916305}},e.IfcTextureVertex=class extends Nm{constructor(e,t){super(e),this.Coordinates=t,this.type=1210645708}},e.IfcThermalMaterialProperties=class extends In{constructor(e,t,n,s,i,a){super(e,t),this.Material=t,this.SpecificHeatCapacity=n,this.BoilingPoint=s,this.FreezingPoint=i,this.ThermalConductivity=a,this.type=3317419933}};class zn extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.type=3101149627}}e.IfcTimeSeries=zn,e.IfcTimeSeriesReferenceRelationship=class extends Nm{constructor(e,t,n){super(e),this.ReferencedTimeSeries=t,this.TimeSeriesReferences=n,this.type=1718945513}},e.IfcTimeSeriesValue=class extends Nm{constructor(e,t){super(e),this.ListValues=t,this.type=581633288}};class Wn extends Ln{constructor(e){super(e),this.type=1377556343}}e.IfcTopologicalRepresentationItem=Wn,e.IfcTopologyRepresentation=class extends qn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=1735638870}},e.IfcUnitAssignment=class extends Nm{constructor(e,t){super(e),this.Units=t,this.type=180925521}};class kn extends Wn{constructor(e){super(e),this.type=2799835756}}e.IfcVertex=kn,e.IfcVertexBasedTextureMap=class extends Nm{constructor(e,t,n){super(e),this.TextureVertices=t,this.TexturePoints=n,this.type=3304826586}},e.IfcVertexPoint=class extends kn{constructor(e,t){super(e),this.VertexGeometry=t,this.type=1907098498}},e.IfcVirtualGridIntersection=class extends Nm{constructor(e,t,n){super(e),this.IntersectingAxes=t,this.OffsetDistances=n,this.type=891718957}},e.IfcWaterProperties=class extends In{constructor(e,t,n,s,i,a,l,r,o){super(e,t),this.Material=t,this.IsPotable=n,this.Hardness=s,this.AlkalinityConcentration=i,this.AcidityConcentration=a,this.ImpuritiesContent=l,this.PHLevel=r,this.DissolvedSolidsContent=o,this.type=1065908215}};class Yn extends Fn{constructor(e,t,n,s){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.type=2442683028}}e.IfcAnnotationOccurrence=Yn,e.IfcAnnotationSurfaceOccurrence=class extends Yn{constructor(e,t,n,s){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.type=962685235}};class Xn extends Yn{constructor(e,t,n,s){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.type=3612888222}}e.IfcAnnotationSymbolOccurrence=Xn,e.IfcAnnotationTextOccurrence=class extends Yn{constructor(e,t,n,s){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.type=2297822566}};class Kn extends Nn{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.OuterCurve=s,this.type=3798115385}}e.IfcArbitraryClosedProfileDef=Kn;class Zn extends Nn{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Curve=s,this.type=1310608509}}e.IfcArbitraryOpenProfileDef=Zn,e.IfcArbitraryProfileDefWithVoids=class extends Kn{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.OuterCurve=s,this.InnerCurves=i,this.type=2705031697}},e.IfcBlobTexture=class extends Vn{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.RepeatS=t,this.RepeatT=n,this.TextureType=s,this.TextureTransform=i,this.RasterFormat=a,this.RasterCode=l,this.type=616511568}},e.IfcCenterLineProfileDef=class extends Zn{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Curve=s,this.Thickness=i,this.type=3150382593}},e.IfcClassificationReference=class extends fn{constructor(e,t,n,s,i){super(e,t,n,s),this.Location=t,this.ItemReference=n,this.Name=s,this.ReferencedSource=i,this.type=647927063}},e.IfcColourRgb=class extends cn{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.Red=n,this.Green=s,this.Blue=i,this.type=776857604}},e.IfcComplexProperty=class extends An{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.UsageName=s,this.HasProperties=i,this.type=2542286263}},e.IfcCompositeProfileDef=class extends Nn{constructor(e,t,n,s,i){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Profiles=s,this.Label=i,this.type=1485152156}};class Qn extends Wn{constructor(e,t){super(e),this.CfsFaces=t,this.type=370225590}}e.IfcConnectedFaceSet=Qn,e.IfcConnectionCurveGeometry=class extends un{constructor(e,t,n){super(e),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=n,this.type=1981873012}},e.IfcConnectionPointEccentricity=class extends pn{constructor(e,t,n,s,i,a){super(e,t,n),this.PointOnRelatingElement=t,this.PointOnRelatedElement=n,this.EccentricityInX=s,this.EccentricityInY=i,this.EccentricityInZ=a,this.type=45288368}},e.IfcContextDependentUnit=class extends yn{constructor(e,t,n,s){super(e,t,n),this.Dimensions=t,this.UnitType=n,this.Name=s,this.type=3050246964}},e.IfcConversionBasedUnit=class extends yn{constructor(e,t,n,s,i){super(e,t,n),this.Dimensions=t,this.UnitType=n,this.Name=s,this.ConversionFactor=i,this.type=2889183280}},e.IfcCurveStyle=class extends Sn{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.CurveFont=n,this.CurveWidth=s,this.CurveColour=i,this.type=3800577675}},e.IfcDerivedProfileDef=class extends Nn{constructor(e,t,n,s,i,a){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.ParentProfile=s,this.Operator=i,this.Label=a,this.type=3632507154}},e.IfcDimensionCalloutRelationship=class extends dn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.Name=t,this.Description=n,this.RelatingDraughtingCallout=s,this.RelatedDraughtingCallout=i,this.type=2273265877}},e.IfcDimensionPair=class extends dn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.Name=t,this.Description=n,this.RelatingDraughtingCallout=s,this.RelatedDraughtingCallout=i,this.type=1694125774}},e.IfcDocumentReference=class extends fn{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.ItemReference=n,this.Name=s,this.type=3732053477}},e.IfcDraughtingPreDefinedTextFont=class extends Rn{constructor(e,t){super(e,t),this.Name=t,this.type=4170525392}};class Jn extends Wn{constructor(e,t,n){super(e),this.EdgeStart=t,this.EdgeEnd=n,this.type=3900360178}}e.IfcEdge=Jn,e.IfcEdgeCurve=class extends Jn{constructor(e,t,n,s,i){super(e,t,n),this.EdgeStart=t,this.EdgeEnd=n,this.EdgeGeometry=s,this.SameSense=i,this.type=476780140}},e.IfcExtendedMaterialProperties=class extends In{constructor(e,t,n,s,i){super(e,t),this.Material=t,this.ExtendedProperties=n,this.Description=s,this.Name=i,this.type=1860660968}};class $n extends Wn{constructor(e,t){super(e),this.Bounds=t,this.type=2556980723}}e.IfcFace=$n;class es extends Wn{constructor(e,t,n){super(e),this.Bound=t,this.Orientation=n,this.type=1809719519}}e.IfcFaceBound=es,e.IfcFaceOuterBound=class extends es{constructor(e,t,n){super(e,t,n),this.Bound=t,this.Orientation=n,this.type=803316827}},e.IfcFaceSurface=class extends $n{constructor(e,t,n,s){super(e,t),this.Bounds=t,this.FaceSurface=n,this.SameSense=s,this.type=3008276851}},e.IfcFailureConnectionCondition=class extends Mn{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.TensionFailureX=n,this.TensionFailureY=s,this.TensionFailureZ=i,this.CompressionFailureX=a,this.CompressionFailureY=l,this.CompressionFailureZ=r,this.type=4219587988}},e.IfcFillAreaStyle=class extends Sn{constructor(e,t,n){super(e,t),this.Name=t,this.FillStyles=n,this.type=738692330}},e.IfcFuelProperties=class extends In{constructor(e,t,n,s,i,a){super(e,t),this.Material=t,this.CombustionTemperature=n,this.CarbonContent=s,this.LowerHeatingValue=i,this.HigherHeatingValue=a,this.type=3857492461}},e.IfcGeneralMaterialProperties=class extends In{constructor(e,t,n,s,i){super(e,t),this.Material=t,this.MolecularWeight=n,this.Porosity=s,this.MassDensity=i,this.type=803998398}};class ts extends On{constructor(e,t,n,s,i,a,l,r){super(e,t,n),this.ProfileName=t,this.ProfileDefinition=n,this.PhysicalWeight=s,this.Perimeter=i,this.MinimumPlateThickness=a,this.MaximumPlateThickness=l,this.CrossSectionArea=r,this.type=1446786286}}e.IfcGeneralProfileProperties=ts;class ns extends Cn{constructor(e,t,n,s,i,a,l){super(e,t,n),this.ContextIdentifier=t,this.ContextType=n,this.CoordinateSpaceDimension=s,this.Precision=i,this.WorldCoordinateSystem=a,this.TrueNorth=l,this.type=3448662350}}e.IfcGeometricRepresentationContext=ns;class ss extends Ln{constructor(e){super(e),this.type=2453401579}}e.IfcGeometricRepresentationItem=ss,e.IfcGeometricRepresentationSubContext=class extends ns{constructor(e,n,s,i,a,l,r){super(e,n,s,new t(0),null,new bm(0),null),this.ContextIdentifier=n,this.ContextType=s,this.ParentContext=i,this.TargetScale=a,this.TargetView=l,this.UserDefinedTargetView=r,this.type=4142052618}};class is extends ss{constructor(e,t){super(e),this.Elements=t,this.type=3590301190}}e.IfcGeometricSet=is,e.IfcGridPlacement=class extends vn{constructor(e,t,n){super(e),this.PlacementLocation=t,this.PlacementRefDirection=n,this.type=178086475}};class as extends ss{constructor(e,t,n){super(e),this.BaseSurface=t,this.AgreementFlag=n,this.type=812098782}}e.IfcHalfSpaceSolid=as,e.IfcHygroscopicMaterialProperties=class extends In{constructor(e,t,n,s,i,a,l){super(e,t),this.Material=t,this.UpperVaporResistanceFactor=n,this.LowerVaporResistanceFactor=s,this.IsothermalMoistureCapacity=i,this.VaporPermeability=a,this.MoistureDiffusivity=l,this.type=2445078500}},e.IfcImageTexture=class extends Vn{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.RepeatS=t,this.RepeatT=n,this.TextureType=s,this.TextureTransform=i,this.UrlReference=a,this.type=3905492369}},e.IfcIrregularTimeSeries=class extends zn{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.Values=c,this.type=3741457305}};class ls extends ss{constructor(e,t,n,s,i){super(e),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.type=1402838566}}e.IfcLightSource=ls,e.IfcLightSourceAmbient=class extends ls{constructor(e,t,n,s,i){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.type=125510826}},e.IfcLightSourceDirectional=class extends ls{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Orientation=a,this.type=2604431987}},e.IfcLightSourceGoniometric=class extends ls{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.ColourAppearance=l,this.ColourTemperature=r,this.LuminousFlux=o,this.LightEmissionSource=c,this.LightDistributionDataSource=u,this.type=4266656042}};class rs extends ls{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.Radius=l,this.ConstantAttenuation=r,this.DistanceAttenuation=o,this.QuadricAttenuation=c,this.type=1520743889}}e.IfcLightSourcePositional=rs,e.IfcLightSourceSpot=class extends rs{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.Radius=l,this.ConstantAttenuation=r,this.DistanceAttenuation=o,this.QuadricAttenuation=c,this.Orientation=u,this.ConcentrationExponent=p,this.SpreadAngle=h,this.BeamWidthAngle=d,this.type=3422422726}},e.IfcLocalPlacement=class extends vn{constructor(e,t,n){super(e),this.PlacementRelTo=t,this.RelativePlacement=n,this.type=2624227202}};class os extends Wn{constructor(e){super(e),this.type=1008929658}}e.IfcLoop=os,e.IfcMappedItem=class extends Ln{constructor(e,t,n){super(e),this.MappingSource=t,this.MappingTarget=n,this.type=2347385850}},e.IfcMaterialDefinitionRepresentation=class extends bn{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Representations=s,this.RepresentedMaterial=i,this.type=2022407955}},e.IfcMechanicalConcreteMaterialProperties=class extends mn{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l),this.Material=t,this.DynamicViscosity=n,this.YoungModulus=s,this.ShearModulus=i,this.PoissonRatio=a,this.ThermalExpansionCoefficient=l,this.CompressiveStrength=r,this.MaxAggregateSize=o,this.AdmixturesDescription=c,this.Workability=u,this.ProtectivePoreRatio=p,this.WaterImpermeability=h,this.type=1430189142}};class cs extends Pn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=219451334}}e.IfcObjectDefinition=cs;class us extends ss{constructor(e,t){super(e),this.RepeatFactor=t,this.type=2833995503}}e.IfcOneDirectionRepeatFactor=us,e.IfcOpenShell=class extends Qn{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2665983363}},e.IfcOrientedEdge=class extends Jn{constructor(e,t,n){super(e,new bm(0),new bm(0)),this.EdgeElement=t,this.Orientation=n,this.type=1029017970}};class ps extends Nn{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.type=2529465313}}e.IfcParameterizedProfileDef=ps,e.IfcPath=class extends Wn{constructor(e,t){super(e),this.EdgeList=t,this.type=2519244187}},e.IfcPhysicalComplexQuantity=class extends wn{constructor(e,t,n,s,i,a,l){super(e,t,n),this.Name=t,this.Description=n,this.HasQuantities=s,this.Discrimination=i,this.Quality=a,this.Usage=l,this.type=3021840470}},e.IfcPixelTexture=class extends Vn{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i),this.RepeatS=t,this.RepeatT=n,this.TextureType=s,this.TextureTransform=i,this.Width=a,this.Height=l,this.ColourComponents=r,this.Pixel=o,this.type=597895409}};class hs extends ss{constructor(e,t){super(e),this.Location=t,this.type=2004835150}}e.IfcPlacement=hs;class ds extends ss{constructor(e,t,n){super(e),this.SizeInX=t,this.SizeInY=n,this.type=1663979128}}e.IfcPlanarExtent=ds;class fs extends ss{constructor(e){super(e),this.type=2067069095}}e.IfcPoint=fs,e.IfcPointOnCurve=class extends fs{constructor(e,t,n){super(e),this.BasisCurve=t,this.PointParameter=n,this.type=4022376103}},e.IfcPointOnSurface=class extends fs{constructor(e,t,n,s){super(e),this.BasisSurface=t,this.PointParameterU=n,this.PointParameterV=s,this.type=1423911732}},e.IfcPolyLoop=class extends os{constructor(e,t){super(e),this.Polygon=t,this.type=2924175390}},e.IfcPolygonalBoundedHalfSpace=class extends as{constructor(e,t,n,s,i){super(e,t,n),this.BaseSurface=t,this.AgreementFlag=n,this.Position=s,this.PolygonalBoundary=i,this.type=2775532180}};class Is extends En{constructor(e,t){super(e,t),this.Name=t,this.type=759155922}}e.IfcPreDefinedColour=Is;class ms extends En{constructor(e,t){super(e,t),this.Name=t,this.type=2559016684}}e.IfcPreDefinedCurveFont=ms,e.IfcPreDefinedDimensionSymbol=class extends gn{constructor(e,t){super(e,t),this.Name=t,this.type=433424934}},e.IfcPreDefinedPointMarkerSymbol=class extends gn{constructor(e,t){super(e,t),this.Name=t,this.type=179317114}},e.IfcProductDefinitionShape=class extends bn{constructor(e,t,n,s){super(e,t,n,s),this.Name=t,this.Description=n,this.Representations=s,this.type=673634403}},e.IfcPropertyBoundedValue=class extends _n{constructor(e,t,n,s,i,a){super(e,t,n),this.Name=t,this.Description=n,this.UpperBoundValue=s,this.LowerBoundValue=i,this.Unit=a,this.type=871118103}};class ys extends Pn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=1680319473}}e.IfcPropertyDefinition=ys,e.IfcPropertyEnumeratedValue=class extends _n{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.EnumerationValues=s,this.EnumerationReference=i,this.type=4166981789}},e.IfcPropertyListValue=class extends _n{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.ListValues=s,this.Unit=i,this.type=2752243245}},e.IfcPropertyReferenceValue=class extends _n{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.UsageName=s,this.PropertyReference=i,this.type=941946838}};class vs extends ys{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=3357820518}}e.IfcPropertySetDefinition=vs,e.IfcPropertySingleValue=class extends _n{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.NominalValue=s,this.Unit=i,this.type=3650150729}},e.IfcPropertyTableValue=class extends _n{constructor(e,t,n,s,i,a,l,r){super(e,t,n),this.Name=t,this.Description=n,this.DefiningValues=s,this.DefinedValues=i,this.Expression=a,this.DefiningUnit=l,this.DefinedUnit=r,this.type=110355661}};class ws extends ps{constructor(e,t,n,s,i,a){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.type=3615266464}}e.IfcRectangleProfileDef=ws,e.IfcRegularTimeSeries=class extends zn{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.TimeStep=c,this.Values=u,this.type=3413951693}},e.IfcReinforcementDefinitionProperties=class extends vs{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.DefinitionType=a,this.ReinforcementSectionDefinitions=l,this.type=3765753017}};class Ts extends Pn{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=478536968}}e.IfcRelationship=Ts,e.IfcRoundedRectangleProfileDef=class extends ws{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.RoundingRadius=l,this.type=2778083089}},e.IfcSectionedSpine=class extends ss{constructor(e,t,n,s){super(e),this.SpineCurve=t,this.CrossSections=n,this.CrossSectionPositions=s,this.type=1509187699}},e.IfcServiceLifeFactor=class extends vs{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.PredefinedType=a,this.UpperValue=l,this.MostUsedValue=r,this.LowerValue=o,this.type=2411513650}},e.IfcShellBasedSurfaceModel=class extends ss{constructor(e,t){super(e),this.SbsmBoundary=t,this.type=4124623270}},e.IfcSlippageConnectionCondition=class extends Mn{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.SlippageX=n,this.SlippageY=s,this.SlippageZ=i,this.type=2609359061}};class Es extends ss{constructor(e){super(e),this.type=723233188}}e.IfcSolidModel=Es,e.IfcSoundProperties=class extends vs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.IsAttenuating=a,this.SoundScale=l,this.SoundValues=r,this.type=2485662743}},e.IfcSoundValue=class extends vs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.SoundLevelTimeSeries=a,this.Frequency=l,this.SoundLevelSingleValue=r,this.type=1202362311}},e.IfcSpaceThermalLoadProperties=class extends vs{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableValueRatio=a,this.ThermalLoadSource=l,this.PropertySource=r,this.SourceDescription=o,this.MaximumValue=c,this.MinimumValue=u,this.ThermalLoadTimeSeriesValues=p,this.UserDefinedThermalLoadSource=h,this.UserDefinedPropertySource=d,this.ThermalLoadType=f,this.type=390701378}},e.IfcStructuralLoadLinearForce=class extends Bn{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.LinearForceX=n,this.LinearForceY=s,this.LinearForceZ=i,this.LinearMomentX=a,this.LinearMomentY=l,this.LinearMomentZ=r,this.type=1595516126}},e.IfcStructuralLoadPlanarForce=class extends Bn{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.PlanarForceX=n,this.PlanarForceY=s,this.PlanarForceZ=i,this.type=2668620305}};class gs extends Bn{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.DisplacementX=n,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=a,this.RotationalDisplacementRY=l,this.RotationalDisplacementRZ=r,this.type=2473145415}}e.IfcStructuralLoadSingleDisplacement=gs,e.IfcStructuralLoadSingleDisplacementDistortion=class extends gs{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.DisplacementX=n,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=a,this.RotationalDisplacementRY=l,this.RotationalDisplacementRZ=r,this.Distortion=o,this.type=1973038258}};class Rs extends Bn{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.ForceX=n,this.ForceY=s,this.ForceZ=i,this.MomentX=a,this.MomentY=l,this.MomentZ=r,this.type=1597423693}}e.IfcStructuralLoadSingleForce=Rs,e.IfcStructuralLoadSingleForceWarping=class extends Rs{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.ForceX=n,this.ForceY=s,this.ForceZ=i,this.MomentX=a,this.MomentY=l,this.MomentZ=r,this.WarpingMoment=o,this.type=1190533807}};class Ds extends ts{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T,E,g,R){super(e,t,n,s,i,a,l,r),this.ProfileName=t,this.ProfileDefinition=n,this.PhysicalWeight=s,this.Perimeter=i,this.MinimumPlateThickness=a,this.MaximumPlateThickness=l,this.CrossSectionArea=r,this.TorsionalConstantX=o,this.MomentOfInertiaYZ=c,this.MomentOfInertiaY=u,this.MomentOfInertiaZ=p,this.WarpingConstant=h,this.ShearCentreZ=d,this.ShearCentreY=f,this.ShearDeformationAreaZ=I,this.ShearDeformationAreaY=m,this.MaximumSectionModulusY=y,this.MinimumSectionModulusY=v,this.MaximumSectionModulusZ=w,this.MinimumSectionModulusZ=T,this.TorsionalSectionModulus=E,this.CentreOfGravityInX=g,this.CentreOfGravityInY=R,this.type=3843319758}}e.IfcStructuralProfileProperties=Ds,e.IfcStructuralSteelProfileProperties=class extends Ds{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T,E,g,R,D,S,b,N){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T,E,g,R),this.ProfileName=t,this.ProfileDefinition=n,this.PhysicalWeight=s,this.Perimeter=i,this.MinimumPlateThickness=a,this.MaximumPlateThickness=l,this.CrossSectionArea=r,this.TorsionalConstantX=o,this.MomentOfInertiaYZ=c,this.MomentOfInertiaY=u,this.MomentOfInertiaZ=p,this.WarpingConstant=h,this.ShearCentreZ=d,this.ShearCentreY=f,this.ShearDeformationAreaZ=I,this.ShearDeformationAreaY=m,this.MaximumSectionModulusY=y,this.MinimumSectionModulusY=v,this.MaximumSectionModulusZ=w,this.MinimumSectionModulusZ=T,this.TorsionalSectionModulus=E,this.CentreOfGravityInX=g,this.CentreOfGravityInY=R,this.ShearAreaZ=D,this.ShearAreaY=S,this.PlasticShapeFactorY=b,this.PlasticShapeFactorZ=N,this.type=3653947884}},e.IfcSubedge=class extends Jn{constructor(e,t,n,s){super(e,t,n),this.EdgeStart=t,this.EdgeEnd=n,this.ParentEdge=s,this.type=2233826070}};class Ss extends ss{constructor(e){super(e),this.type=2513912981}}e.IfcSurface=Ss,e.IfcSurfaceStyleRendering=class extends Gn{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t),this.SurfaceColour=t,this.Transparency=n,this.DiffuseColour=s,this.TransmissionColour=i,this.DiffuseTransmissionColour=a,this.ReflectionColour=l,this.SpecularColour=r,this.SpecularHighlight=o,this.ReflectanceMethod=c,this.type=1878645084}};class bs extends Es{constructor(e,t,n){super(e),this.SweptArea=t,this.Position=n,this.type=2247615214}}e.IfcSweptAreaSolid=bs,e.IfcSweptDiskSolid=class extends Es{constructor(e,t,n,s,i,a){super(e),this.Directrix=t,this.Radius=n,this.InnerRadius=s,this.StartParam=i,this.EndParam=a,this.type=1260650574}};class Ns extends Ss{constructor(e,t,n){super(e),this.SweptCurve=t,this.Position=n,this.type=230924584}}e.IfcSweptSurface=Ns,e.IfcTShapeProfileDef=class extends ps{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.FlangeEdgeRadius=c,this.WebEdgeRadius=u,this.WebSlope=p,this.FlangeSlope=h,this.CentreOfGravityInY=d,this.type=3071757647}};class Os extends Xn{constructor(e,t,n,s,i){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.AnnotatedCurve=i,this.type=3028897424}}e.IfcTerminatorSymbol=Os;class As extends ss{constructor(e,t,n,s){super(e),this.Literal=t,this.Placement=n,this.Path=s,this.type=4282788508}}e.IfcTextLiteral=As,e.IfcTextLiteralWithExtent=class extends As{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Literal=t,this.Placement=n,this.Path=s,this.Extent=i,this.BoxAlignment=a,this.type=3124975700}},e.IfcTrapeziumProfileDef=class extends ps{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.BottomXDim=i,this.TopXDim=a,this.YDim=l,this.TopXOffset=r,this.type=2715220739}},e.IfcTwoDirectionRepeatFactor=class extends us{constructor(e,t,n){super(e,t),this.RepeatFactor=t,this.SecondRepeatFactor=n,this.type=1345879162}};class xs extends cs{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.type=1628702193}}e.IfcTypeObject=xs;class Cs extends xs{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.type=2347495698}}e.IfcTypeProduct=Cs,e.IfcUShapeProfileDef=class extends ps{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.EdgeRadius=c,this.FlangeSlope=u,this.CentreOfGravityInX=p,this.type=427810014}},e.IfcVector=class extends ss{constructor(e,t,n){super(e),this.Orientation=t,this.Magnitude=n,this.type=1417489154}},e.IfcVertexLoop=class extends os{constructor(e,t){super(e),this.LoopVertex=t,this.type=2759199220}},e.IfcWindowLiningProperties=class extends vs{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.LiningDepth=a,this.LiningThickness=l,this.TransomThickness=r,this.MullionThickness=o,this.FirstTransomOffset=c,this.SecondTransomOffset=u,this.FirstMullionOffset=p,this.SecondMullionOffset=h,this.ShapeAspectStyle=d,this.type=336235671}},e.IfcWindowPanelProperties=class extends vs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.OperationType=a,this.PanelPosition=l,this.FrameDepth=r,this.FrameThickness=o,this.ShapeAspectStyle=c,this.type=512836454}},e.IfcWindowStyle=class extends Cs{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ConstructionType=c,this.OperationType=u,this.ParameterTakesPrecedence=p,this.Sizeable=h,this.type=1299126871}},e.IfcZShapeProfileDef=class extends ps{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.EdgeRadius=c,this.type=2543172580}};class Ls extends Yn{constructor(e,t,n,s){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.type=3288037868}}e.IfcAnnotationCurveOccurrence=Ls,e.IfcAnnotationFillArea=class extends ss{constructor(e,t,n){super(e),this.OuterBoundary=t,this.InnerBoundaries=n,this.type=669184980}},e.IfcAnnotationFillAreaOccurrence=class extends Yn{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.FillStyleTarget=i,this.GlobalOrLocal=a,this.type=2265737646}},e.IfcAnnotationSurface=class extends ss{constructor(e,t,n){super(e),this.Item=t,this.TextureCoordinates=n,this.type=1302238472}},e.IfcAxis1Placement=class extends hs{constructor(e,t,n){super(e,t),this.Location=t,this.Axis=n,this.type=4261334040}},e.IfcAxis2Placement2D=class extends hs{constructor(e,t,n){super(e,t),this.Location=t,this.RefDirection=n,this.type=3125803723}},e.IfcAxis2Placement3D=class extends hs{constructor(e,t,n,s){super(e,t),this.Location=t,this.Axis=n,this.RefDirection=s,this.type=2740243338}};class Ps extends ss{constructor(e,t,n,s){super(e),this.Operator=t,this.FirstOperand=n,this.SecondOperand=s,this.type=2736907675}}e.IfcBooleanResult=Ps;class qs extends Ss{constructor(e){super(e),this.type=4182860854}}e.IfcBoundedSurface=qs,e.IfcBoundingBox=class extends ss{constructor(e,t,n,s,i){super(e),this.Corner=t,this.XDim=n,this.YDim=s,this.ZDim=i,this.type=2581212453}},e.IfcBoxedHalfSpace=class extends as{constructor(e,t,n,s){super(e,t,n),this.BaseSurface=t,this.AgreementFlag=n,this.Enclosure=s,this.type=2713105998}},e.IfcCShapeProfileDef=class extends ps{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.Width=a,this.WallThickness=l,this.Girth=r,this.InternalFilletRadius=o,this.CentreOfGravityInX=c,this.type=2898889636}},e.IfcCartesianPoint=class extends fs{constructor(e,t){super(e),this.Coordinates=t,this.type=1123145078}};class _s extends ss{constructor(e,t,n,s,i){super(e),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.type=59481748}}e.IfcCartesianTransformationOperator=_s;class Ms extends _s{constructor(e,t,n,s,i){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.type=3749851601}}e.IfcCartesianTransformationOperator2D=Ms,e.IfcCartesianTransformationOperator2DnonUniform=class extends Ms{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Scale2=a,this.type=3486308946}};class Hs extends _s{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Axis3=a,this.type=3331915920}}e.IfcCartesianTransformationOperator3D=Hs,e.IfcCartesianTransformationOperator3DnonUniform=class extends Hs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Axis3=a,this.Scale2=l,this.Scale3=r,this.type=1416205885}};class Bs extends ps{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Radius=i,this.type=1383045692}}e.IfcCircleProfileDef=Bs,e.IfcClosedShell=class extends Qn{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2205249479}},e.IfcCompositeCurveSegment=class extends ss{constructor(e,t,n,s){super(e),this.Transition=t,this.SameSense=n,this.ParentCurve=s,this.type=2485617015}},e.IfcCraneRailAShapeProfileDef=class extends ps{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.OverallHeight=i,this.BaseWidth2=a,this.Radius=l,this.HeadWidth=r,this.HeadDepth2=o,this.HeadDepth3=c,this.WebThickness=u,this.BaseWidth4=p,this.BaseDepth1=h,this.BaseDepth2=d,this.BaseDepth3=f,this.CentreOfGravityInY=I,this.type=4133800736}},e.IfcCraneRailFShapeProfileDef=class extends ps{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.OverallHeight=i,this.HeadWidth=a,this.Radius=l,this.HeadDepth2=r,this.HeadDepth3=o,this.WebThickness=c,this.BaseDepth1=u,this.BaseDepth2=p,this.CentreOfGravityInY=h,this.type=194851669}};class Us extends ss{constructor(e,t){super(e),this.Position=t,this.type=2506170314}}e.IfcCsgPrimitive3D=Us,e.IfcCsgSolid=class extends Es{constructor(e,t){super(e),this.TreeRootExpression=t,this.type=2147822146}};class Fs extends ss{constructor(e){super(e),this.type=2601014836}}e.IfcCurve=Fs,e.IfcCurveBoundedPlane=class extends qs{constructor(e,t,n,s){super(e),this.BasisSurface=t,this.OuterBoundary=n,this.InnerBoundaries=s,this.type=2827736869}},e.IfcDefinedSymbol=class extends ss{constructor(e,t,n){super(e),this.Definition=t,this.Target=n,this.type=693772133}},e.IfcDimensionCurve=class extends Ls{constructor(e,t,n,s){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.type=606661476}},e.IfcDimensionCurveTerminator=class extends Os{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Item=t,this.Styles=n,this.Name=s,this.AnnotatedCurve=i,this.Role=a,this.type=4054601972}},e.IfcDirection=class extends ss{constructor(e,t){super(e),this.DirectionRatios=t,this.type=32440307}},e.IfcDoorLiningProperties=class extends vs{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.LiningDepth=a,this.LiningThickness=l,this.ThresholdDepth=r,this.ThresholdThickness=o,this.TransomThickness=c,this.TransomOffset=u,this.LiningOffset=p,this.ThresholdOffset=h,this.CasingThickness=d,this.CasingDepth=f,this.ShapeAspectStyle=I,this.type=2963535650}},e.IfcDoorPanelProperties=class extends vs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.PanelDepth=a,this.PanelOperation=l,this.PanelWidth=r,this.PanelPosition=o,this.ShapeAspectStyle=c,this.type=1714330368}},e.IfcDoorStyle=class extends Cs{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.OperationType=c,this.ConstructionType=u,this.ParameterTakesPrecedence=p,this.Sizeable=h,this.type=526551008}};class Gs extends ss{constructor(e,t){super(e),this.Contents=t,this.type=3073041342}}e.IfcDraughtingCallout=Gs,e.IfcDraughtingPreDefinedColour=class extends Is{constructor(e,t){super(e,t),this.Name=t,this.type=445594917}},e.IfcDraughtingPreDefinedCurveFont=class extends ms{constructor(e,t){super(e,t),this.Name=t,this.type=4006246654}},e.IfcEdgeLoop=class extends os{constructor(e,t){super(e),this.EdgeList=t,this.type=1472233963}},e.IfcElementQuantity=class extends vs{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.MethodOfMeasurement=a,this.Quantities=l,this.type=1883228015}};class Vs extends Cs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=339256511}}e.IfcElementType=Vs;class js extends Ss{constructor(e,t){super(e),this.Position=t,this.type=2777663545}}e.IfcElementarySurface=js,e.IfcEllipseProfileDef=class extends ps{constructor(e,t,n,s,i,a){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.SemiAxis1=i,this.SemiAxis2=a,this.type=2835456948}};class zs extends vs{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.EnergySequence=a,this.UserDefinedEnergySequence=l,this.type=80994333}}e.IfcEnergyProperties=zs,e.IfcExtrudedAreaSolid=class extends bs{constructor(e,t,n,s,i){super(e,t,n),this.SweptArea=t,this.Position=n,this.ExtrudedDirection=s,this.Depth=i,this.type=477187591}},e.IfcFaceBasedSurfaceModel=class extends ss{constructor(e,t){super(e),this.FbsmFaces=t,this.type=2047409740}},e.IfcFillAreaStyleHatching=class extends ss{constructor(e,t,n,s,i,a){super(e),this.HatchLineAppearance=t,this.StartOfNextHatchLine=n,this.PointOfReferenceHatchLine=s,this.PatternStart=i,this.HatchLineAngle=a,this.type=374418227}},e.IfcFillAreaStyleTileSymbolWithStyle=class extends ss{constructor(e,t){super(e),this.Symbol=t,this.type=4203026998}},e.IfcFillAreaStyleTiles=class extends ss{constructor(e,t,n,s){super(e),this.TilingPattern=t,this.Tiles=n,this.TilingScale=s,this.type=315944413}},e.IfcFluidFlowProperties=class extends vs{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.PropertySource=a,this.FlowConditionTimeSeries=l,this.VelocityTimeSeries=r,this.FlowrateTimeSeries=o,this.Fluid=c,this.PressureTimeSeries=u,this.UserDefinedPropertySource=p,this.TemperatureSingleValue=h,this.WetBulbTemperatureSingleValue=d,this.WetBulbTemperatureTimeSeries=f,this.TemperatureTimeSeries=I,this.FlowrateSingleValue=m,this.FlowConditionSingleValue=y,this.VelocitySingleValue=v,this.PressureSingleValue=w,this.type=3455213021}};class Ws extends Vs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=4238390223}}e.IfcFurnishingElementType=Ws,e.IfcFurnitureType=class extends Ws{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.AssemblyPlace=u,this.type=1268542332}},e.IfcGeometricCurveSet=class extends is{constructor(e,t){super(e,t),this.Elements=t,this.type=987898635}};class ks extends ps{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.OverallWidth=i,this.OverallDepth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.type=1484403080}}e.IfcIShapeProfileDef=ks,e.IfcLShapeProfileDef=class extends ps{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.Width=a,this.Thickness=l,this.FilletRadius=r,this.EdgeRadius=o,this.LegSlope=c,this.CentreOfGravityInX=u,this.CentreOfGravityInY=p,this.type=572779678}},e.IfcLine=class extends Fs{constructor(e,t,n){super(e),this.Pnt=t,this.Dir=n,this.type=1281925730}};class Ys extends Es{constructor(e,t){super(e),this.Outer=t,this.type=1425443689}}e.IfcManifoldSolidBrep=Ys;class Xs extends cs{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=3888040117}}e.IfcObject=Xs,e.IfcOffsetCurve2D=class extends Fs{constructor(e,t,n,s){super(e),this.BasisCurve=t,this.Distance=n,this.SelfIntersect=s,this.type=3388369263}},e.IfcOffsetCurve3D=class extends Fs{constructor(e,t,n,s,i){super(e),this.BasisCurve=t,this.Distance=n,this.SelfIntersect=s,this.RefDirection=i,this.type=3505215534}},e.IfcPermeableCoveringProperties=class extends vs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.OperationType=a,this.PanelPosition=l,this.FrameDepth=r,this.FrameThickness=o,this.ShapeAspectStyle=c,this.type=3566463478}},e.IfcPlanarBox=class extends ds{constructor(e,t,n,s){super(e,t,n),this.SizeInX=t,this.SizeInY=n,this.Placement=s,this.type=603570806}},e.IfcPlane=class extends js{constructor(e,t){super(e,t),this.Position=t,this.type=220341763}};class Ks extends Xs{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2945172077}}e.IfcProcess=Ks;class Zs extends Xs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=4208778838}}e.IfcProduct=Zs,e.IfcProject=class extends Xs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.Phase=r,this.RepresentationContexts=o,this.UnitsInContext=c,this.type=103090709}},e.IfcProjectionCurve=class extends Ls{constructor(e,t,n,s){super(e,t,n,s),this.Item=t,this.Styles=n,this.Name=s,this.type=4194566429}},e.IfcPropertySet=class extends vs{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.HasProperties=a,this.type=1451395588}},e.IfcProxy=class extends Zs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.ProxyType=o,this.Tag=c,this.type=3219374653}},e.IfcRectangleHollowProfileDef=class extends ws{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.WallThickness=l,this.InnerFilletRadius=r,this.OuterFilletRadius=o,this.type=2770003689}},e.IfcRectangularPyramid=class extends Us{constructor(e,t,n,s,i){super(e,t),this.Position=t,this.XLength=n,this.YLength=s,this.Height=i,this.type=2798486643}},e.IfcRectangularTrimmedSurface=class extends qs{constructor(e,t,n,s,i,a,l,r){super(e),this.BasisSurface=t,this.U1=n,this.V1=s,this.U2=i,this.V2=a,this.Usense=l,this.Vsense=r,this.type=3454111270}};class Qs extends Ts{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.type=3939117080}}e.IfcRelAssigns=Qs;class Js extends Qs{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingActor=r,this.ActingRole=o,this.type=1683148259}}e.IfcRelAssignsToActor=Js;class $s extends Qs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingControl=r,this.type=2495723537}}e.IfcRelAssignsToControl=$s,e.IfcRelAssignsToGroup=class extends Qs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingGroup=r,this.type=1307041759}},e.IfcRelAssignsToProcess=class extends Qs{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingProcess=r,this.QuantityInProcess=o,this.type=4278684876}},e.IfcRelAssignsToProduct=class extends Qs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingProduct=r,this.type=2857406711}},e.IfcRelAssignsToProjectOrder=class extends $s{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingControl=r,this.type=3372526763}},e.IfcRelAssignsToResource=class extends Qs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingResource=r,this.type=205026976}};class ei extends Ts{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.type=1865459582}}e.IfcRelAssociates=ei,e.IfcRelAssociatesAppliedValue=class extends ei{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingAppliedValue=l,this.type=1327628568}},e.IfcRelAssociatesApproval=class extends ei{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingApproval=l,this.type=4095574036}},e.IfcRelAssociatesClassification=class extends ei{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingClassification=l,this.type=919958153}},e.IfcRelAssociatesConstraint=class extends ei{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.Intent=l,this.RelatingConstraint=r,this.type=2728634034}},e.IfcRelAssociatesDocument=class extends ei{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingDocument=l,this.type=982818633}},e.IfcRelAssociatesLibrary=class extends ei{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingLibrary=l,this.type=3840914261}},e.IfcRelAssociatesMaterial=class extends ei{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingMaterial=l,this.type=2655215786}},e.IfcRelAssociatesProfileProperties=class extends ei{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingProfileProperties=l,this.ProfileSectionLocation=r,this.ProfileOrientation=o,this.type=2851387026}};class ti extends Ts{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=826625072}}e.IfcRelConnects=ti;class ni extends ti{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.type=1204542856}}e.IfcRelConnectsElements=ni,e.IfcRelConnectsPathElements=class extends ni{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.RelatingPriorities=o,this.RelatedPriorities=c,this.RelatedConnectionType=u,this.RelatingConnectionType=p,this.type=3945020480}},e.IfcRelConnectsPortToElement=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingPort=a,this.RelatedElement=l,this.type=4201705270}},e.IfcRelConnectsPorts=class extends ti{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingPort=a,this.RelatedPort=l,this.RealizingElement=r,this.type=3190031847}},e.IfcRelConnectsStructuralActivity=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedStructuralActivity=l,this.type=2127690289}},e.IfcRelConnectsStructuralElement=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedStructuralMember=l,this.type=3912681535}};class si extends ti{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingStructuralMember=a,this.RelatedStructuralConnection=l,this.AppliedCondition=r,this.AdditionalConditions=o,this.SupportedLength=c,this.ConditionCoordinateSystem=u,this.type=1638771189}}e.IfcRelConnectsStructuralMember=si,e.IfcRelConnectsWithEccentricity=class extends si{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingStructuralMember=a,this.RelatedStructuralConnection=l,this.AppliedCondition=r,this.AdditionalConditions=o,this.SupportedLength=c,this.ConditionCoordinateSystem=u,this.ConnectionConstraint=p,this.type=504942748}},e.IfcRelConnectsWithRealizingElements=class extends ni{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.RealizingElements=o,this.ConnectionType=c,this.type=3678494232}},e.IfcRelContainedInSpatialStructure=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedElements=a,this.RelatingStructure=l,this.type=3242617779}},e.IfcRelCoversBldgElements=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingBuildingElement=a,this.RelatedCoverings=l,this.type=886880790}},e.IfcRelCoversSpaces=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedSpace=a,this.RelatedCoverings=l,this.type=2802773753}};class ii extends Ts{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingObject=a,this.RelatedObjects=l,this.type=2551354335}}e.IfcRelDecomposes=ii;class ai extends Ts{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.type=693640335}}e.IfcRelDefines=ai;class li extends ai{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingPropertyDefinition=l,this.type=4186316022}}e.IfcRelDefinesByProperties=li,e.IfcRelDefinesByType=class extends ai{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingType=l,this.type=781010003}},e.IfcRelFillsElement=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingOpeningElement=a,this.RelatedBuildingElement=l,this.type=3940055652}},e.IfcRelFlowControlElements=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedControlElements=a,this.RelatingFlowElement=l,this.type=279856033}},e.IfcRelInteractionRequirements=class extends ti{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.DailyInteraction=a,this.ImportanceRating=l,this.LocationOfInteraction=r,this.RelatedSpaceProgram=o,this.RelatingSpaceProgram=c,this.type=4189434867}},e.IfcRelNests=class extends ii{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingObject=a,this.RelatedObjects=l,this.type=3268803585}},e.IfcRelOccupiesSpaces=class extends Js{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingActor=r,this.ActingRole=o,this.type=2051452291}},e.IfcRelOverridesProperties=class extends li{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingPropertyDefinition=l,this.OverridingProperties=r,this.type=202636808}},e.IfcRelProjectsElement=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedFeatureElement=l,this.type=750771296}},e.IfcRelReferencedInSpatialStructure=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedElements=a,this.RelatingStructure=l,this.type=1245217292}},e.IfcRelSchedulesCostItems=class extends $s{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingControl=r,this.type=1058617721}},e.IfcRelSequence=class extends ti{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingProcess=a,this.RelatedProcess=l,this.TimeLag=r,this.SequenceType=o,this.type=4122056220}},e.IfcRelServicesBuildings=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSystem=a,this.RelatedBuildings=l,this.type=366585022}},e.IfcRelSpaceBoundary=class extends ti{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedBuildingElement=l,this.ConnectionGeometry=r,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=c,this.type=3451746338}},e.IfcRelVoidsElement=class extends ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingBuildingElement=a,this.RelatedOpeningElement=l,this.type=1401173127}};class ri extends Xs{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2914609552}}e.IfcResource=ri,e.IfcRevolvedAreaSolid=class extends bs{constructor(e,t,n,s,i){super(e,t,n),this.SweptArea=t,this.Position=n,this.Axis=s,this.Angle=i,this.type=1856042241}},e.IfcRightCircularCone=class extends Us{constructor(e,t,n,s){super(e,t),this.Position=t,this.Height=n,this.BottomRadius=s,this.type=4158566097}},e.IfcRightCircularCylinder=class extends Us{constructor(e,t,n,s){super(e,t),this.Position=t,this.Height=n,this.Radius=s,this.type=3626867408}};class oi extends Zs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.type=2706606064}}e.IfcSpatialStructureElement=oi;class ci extends Vs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3893378262}}e.IfcSpatialStructureElementType=ci,e.IfcSphere=class extends Us{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=451544542}};class ui extends Zs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=3544373492}}e.IfcStructuralActivity=ui;class pi extends Zs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=3136571912}}e.IfcStructuralItem=pi;class hi extends pi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=530289379}}e.IfcStructuralMember=hi;class di extends ui{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=3689010777}}e.IfcStructuralReaction=di;class fi extends hi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Thickness=c,this.type=3979015343}}e.IfcStructuralSurfaceMember=fi,e.IfcStructuralSurfaceMemberVarying=class extends fi{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Thickness=c,this.SubsequentThickness=u,this.VaryingThicknessLocation=p,this.type=2218152070}},e.IfcStructuredDimensionCallout=class extends Gs{constructor(e,t){super(e,t),this.Contents=t,this.type=4070609034}},e.IfcSurfaceCurveSweptAreaSolid=class extends bs{constructor(e,t,n,s,i,a,l){super(e,t,n),this.SweptArea=t,this.Position=n,this.Directrix=s,this.StartParam=i,this.EndParam=a,this.ReferenceSurface=l,this.type=2028607225}},e.IfcSurfaceOfLinearExtrusion=class extends Ns{constructor(e,t,n,s,i){super(e,t,n),this.SweptCurve=t,this.Position=n,this.ExtrudedDirection=s,this.Depth=i,this.type=2809605785}},e.IfcSurfaceOfRevolution=class extends Ns{constructor(e,t,n,s){super(e,t,n),this.SweptCurve=t,this.Position=n,this.AxisPosition=s,this.type=4124788165}},e.IfcSystemFurnitureElementType=class extends Ws{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1580310250}};class Ii extends Ks{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TaskId=l,this.Status=r,this.WorkMethod=o,this.IsMilestone=c,this.Priority=u,this.type=3473067441}}e.IfcTask=Ii,e.IfcTransportElementType=class extends Vs{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2097647324}};class mi extends Xs{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheActor=l,this.type=2296667514}}e.IfcActor=mi,e.IfcAnnotation=class extends Zs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=1674181508}},e.IfcAsymmetricIShapeProfileDef=class extends ks{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.OverallWidth=i,this.OverallDepth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.TopFlangeWidth=c,this.TopFlangeThickness=u,this.TopFlangeFilletRadius=p,this.CentreOfGravityInY=h,this.type=3207858831}},e.IfcBlock=class extends Us{constructor(e,t,n,s,i){super(e,t),this.Position=t,this.XLength=n,this.YLength=s,this.ZLength=i,this.type=1334484129}},e.IfcBooleanClippingResult=class extends Ps{constructor(e,t,n,s){super(e,t,n,s),this.Operator=t,this.FirstOperand=n,this.SecondOperand=s,this.type=3649129432}};class yi extends Fs{constructor(e){super(e),this.type=1260505505}}e.IfcBoundedCurve=yi,e.IfcBuilding=class extends oi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.ElevationOfRefHeight=u,this.ElevationOfTerrain=p,this.BuildingAddress=h,this.type=4031249490}};class vi extends Vs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1950629157}}e.IfcBuildingElementType=vi,e.IfcBuildingStorey=class extends oi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.Elevation=u,this.type=3124254112}},e.IfcCircleHollowProfileDef=class extends Bs{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Radius=i,this.WallThickness=a,this.type=2937912522}},e.IfcColumnType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=300633059}};class wi extends yi{constructor(e,t,n){super(e),this.Segments=t,this.SelfIntersect=n,this.type=3732776249}}e.IfcCompositeCurve=wi;class Ti extends Fs{constructor(e,t){super(e),this.Position=t,this.type=2510884976}}e.IfcConic=Ti;class Ei extends ri{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ResourceIdentifier=l,this.ResourceGroup=r,this.ResourceConsumption=o,this.BaseQuantity=c,this.type=2559216714}}e.IfcConstructionResource=Ei;class gi extends Xs{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=3293443760}}e.IfcControl=gi,e.IfcCostItem=class extends gi{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=3895139033}},e.IfcCostSchedule=class extends gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.SubmittedBy=l,this.PreparedBy=r,this.SubmittedOn=o,this.Status=c,this.TargetUsers=u,this.UpdateDate=p,this.ID=h,this.PredefinedType=d,this.type=1419761937}},e.IfcCoveringType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1916426348}},e.IfcCrewResource=class extends Ei{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ResourceIdentifier=l,this.ResourceGroup=r,this.ResourceConsumption=o,this.BaseQuantity=c,this.type=3295246426}},e.IfcCurtainWallType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1457835157}};class Ri extends Gs{constructor(e,t){super(e,t),this.Contents=t,this.type=681481545}}e.IfcDimensionCurveDirectedCallout=Ri;class Di extends Vs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3256556792}}e.IfcDistributionElementType=Di;class Si extends Di{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3849074793}}e.IfcDistributionFlowElementType=Si,e.IfcElectricalBaseProperties=class extends zs{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.EnergySequence=a,this.UserDefinedEnergySequence=l,this.ElectricCurrentType=r,this.InputVoltage=o,this.InputFrequency=c,this.FullLoadCurrent=u,this.MinimumCircuitCurrent=p,this.MaximumPowerInput=h,this.RatedPowerInput=d,this.InputPhase=f,this.type=360485395}};class bi extends Zs{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1758889154}}e.IfcElement=bi,e.IfcElementAssembly=class extends bi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.AssemblyPlace=c,this.PredefinedType=u,this.type=4123344466}};class Ni extends bi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1623761950}}e.IfcElementComponent=Ni;class Oi extends Vs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2590856083}}e.IfcElementComponentType=Oi,e.IfcEllipse=class extends Ti{constructor(e,t,n,s){super(e,t),this.Position=t,this.SemiAxis1=n,this.SemiAxis2=s,this.type=1704287377}};class Ai extends Si{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2107101300}}e.IfcEnergyConversionDeviceType=Ai,e.IfcEquipmentElement=class extends bi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1962604670}},e.IfcEquipmentStandard=class extends gi{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=3272907226}},e.IfcEvaporativeCoolerType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3174744832}},e.IfcEvaporatorType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3390157468}},e.IfcFacetedBrep=class extends Ys{constructor(e,t){super(e,t),this.Outer=t,this.type=807026263}},e.IfcFacetedBrepWithVoids=class extends Ys{constructor(e,t,n){super(e,t),this.Outer=t,this.Voids=n,this.type=3737207727}};class xi extends Ni{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=647756555}}e.IfcFastener=xi;class Ci extends Oi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2489546625}}e.IfcFastenerType=Ci;class Li extends bi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2827207264}}e.IfcFeatureElement=Li;class Pi extends Li{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2143335405}}e.IfcFeatureElementAddition=Pi;class qi extends Li{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1287392070}}e.IfcFeatureElementSubtraction=qi;class _i extends Si{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3907093117}}e.IfcFlowControllerType=_i;class Mi extends Si{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3198132628}}e.IfcFlowFittingType=Mi,e.IfcFlowMeterType=class extends _i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3815607619}};class Hi extends Si{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1482959167}}e.IfcFlowMovingDeviceType=Hi;class Bi extends Si{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1834744321}}e.IfcFlowSegmentType=Bi;class Ui extends Si{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1339347760}}e.IfcFlowStorageDeviceType=Ui;class Fi extends Si{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2297155007}}e.IfcFlowTerminalType=Fi;class Gi extends Si{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3009222698}}e.IfcFlowTreatmentDeviceType=Gi,e.IfcFurnishingElement=class extends bi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=263784265}},e.IfcFurnitureStandard=class extends gi{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=814719939}},e.IfcGasTerminalType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=200128114}},e.IfcGrid=class extends Zs{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.UAxes=o,this.VAxes=c,this.WAxes=u,this.type=3009204131}};class Vi extends Xs{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2706460486}}e.IfcGroup=Vi,e.IfcHeatExchangerType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1251058090}},e.IfcHumidifierType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1806887404}},e.IfcInventory=class extends Vi{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.InventoryType=l,this.Jurisdiction=r,this.ResponsiblePersons=o,this.LastUpdateDate=c,this.CurrentValue=u,this.OriginalValue=p,this.type=2391368822}},e.IfcJunctionBoxType=class extends Mi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4288270099}},e.IfcLaborResource=class extends Ei{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ResourceIdentifier=l,this.ResourceGroup=r,this.ResourceConsumption=o,this.BaseQuantity=c,this.SkillSet=u,this.type=3827777499}},e.IfcLampType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1051575348}},e.IfcLightFixtureType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1161773419}},e.IfcLinearDimension=class extends Ri{constructor(e,t){super(e,t),this.Contents=t,this.type=2506943328}},e.IfcMechanicalFastener=class extends xi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.NominalDiameter=c,this.NominalLength=u,this.type=377706215}},e.IfcMechanicalFastenerType=class extends Ci{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2108223431}},e.IfcMemberType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3181161470}},e.IfcMotorConnectionType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=977012517}},e.IfcMove=class extends Ii{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TaskId=l,this.Status=r,this.WorkMethod=o,this.IsMilestone=c,this.Priority=u,this.MoveFrom=p,this.MoveTo=h,this.PunchList=d,this.type=1916936684}},e.IfcOccupant=class extends mi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheActor=l,this.PredefinedType=r,this.type=4143007308}},e.IfcOpeningElement=class extends qi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3588315303}},e.IfcOrderAction=class extends Ii{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TaskId=l,this.Status=r,this.WorkMethod=o,this.IsMilestone=c,this.Priority=u,this.ActionID=p,this.type=3425660407}},e.IfcOutletType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2837617999}},e.IfcPerformanceHistory=class extends gi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LifeCyclePhase=l,this.type=2382730787}},e.IfcPermit=class extends gi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PermitID=l,this.type=3327091369}},e.IfcPipeFittingType=class extends Mi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=804291784}},e.IfcPipeSegmentType=class extends Bi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4231323485}},e.IfcPlateType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4017108033}},e.IfcPolyline=class extends yi{constructor(e,t){super(e),this.Points=t,this.type=3724593414}};class ji extends Zs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=3740093272}}e.IfcPort=ji,e.IfcProcedure=class extends Ks{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ProcedureID=l,this.ProcedureType=r,this.UserDefinedProcedureType=o,this.type=2744685151}},e.IfcProjectOrder=class extends gi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ID=l,this.PredefinedType=r,this.Status=o,this.type=2904328755}},e.IfcProjectOrderRecord=class extends gi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Records=l,this.PredefinedType=r,this.type=3642467123}},e.IfcProjectionElement=class extends Pi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3651124850}},e.IfcProtectiveDeviceType=class extends _i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1842657554}},e.IfcPumpType=class extends Hi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2250791053}},e.IfcRadiusDimension=class extends Ri{constructor(e,t){super(e,t),this.Contents=t,this.type=3248260540}},e.IfcRailingType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2893384427}},e.IfcRampFlightType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2324767716}},e.IfcRelAggregates=class extends ii{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingObject=a,this.RelatedObjects=l,this.type=160246688}},e.IfcRelAssignsTasks=class extends $s{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingControl=r,this.TimeForTask=o,this.type=2863920197}},e.IfcSanitaryTerminalType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1768891740}},e.IfcScheduleTimeControl=class extends gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T,E,g,R){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ActualStart=l,this.EarlyStart=r,this.LateStart=o,this.ScheduleStart=c,this.ActualFinish=u,this.EarlyFinish=p,this.LateFinish=h,this.ScheduleFinish=d,this.ScheduleDuration=f,this.ActualDuration=I,this.RemainingTime=m,this.FreeFloat=y,this.TotalFloat=v,this.IsCritical=w,this.StatusTime=T,this.StartFloat=E,this.FinishFloat=g,this.Completion=R,this.type=3517283431}},e.IfcServiceLife=class extends gi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ServiceLifeType=l,this.ServiceLifeDuration=r,this.type=4105383287}},e.IfcSite=class extends oi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.RefLatitude=u,this.RefLongitude=p,this.RefElevation=h,this.LandTitleNumber=d,this.SiteAddress=f,this.type=4097777520}},e.IfcSlabType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2533589738}},e.IfcSpace=class extends oi{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.InteriorOrExteriorSpace=u,this.ElevationWithFlooring=p,this.type=3856911033}},e.IfcSpaceHeaterType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1305183839}},e.IfcSpaceProgram=class extends gi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.SpaceProgramIdentifier=l,this.MaxRequiredArea=r,this.MinRequiredArea=o,this.RequestedLocation=c,this.StandardRequiredArea=u,this.type=652456506}},e.IfcSpaceType=class extends ci{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3812236995}},e.IfcStackTerminalType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3112655638}},e.IfcStairFlightType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1039846685}};class zi extends ui{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.CausedBy=p,this.type=682877961}}e.IfcStructuralAction=zi;class Wi extends pi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.type=1179482911}}e.IfcStructuralConnection=Wi,e.IfcStructuralCurveConnection=class extends Wi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.type=4243806635}};class ki extends hi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.type=214636428}}e.IfcStructuralCurveMember=ki,e.IfcStructuralCurveMemberVarying=class extends ki{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.type=2445595289}};class Yi extends zi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.CausedBy=p,this.ProjectedOrTrue=h,this.type=1807405624}}e.IfcStructuralLinearAction=Yi,e.IfcStructuralLinearActionVarying=class extends Yi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c,u,p,h),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.CausedBy=p,this.ProjectedOrTrue=h,this.VaryingAppliedLoadLocation=d,this.SubsequentAppliedLoads=f,this.type=1721250024}},e.IfcStructuralLoadGroup=class extends Vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.ActionType=r,this.ActionSource=o,this.Coefficient=c,this.Purpose=u,this.type=1252848954}};class Xi extends zi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.CausedBy=p,this.ProjectedOrTrue=h,this.type=1621171031}}e.IfcStructuralPlanarAction=Xi,e.IfcStructuralPlanarActionVarying=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c,u,p,h),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.CausedBy=p,this.ProjectedOrTrue=h,this.VaryingAppliedLoadLocation=d,this.SubsequentAppliedLoads=f,this.type=3987759626}},e.IfcStructuralPointAction=class extends zi{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.CausedBy=p,this.type=2082059205}},e.IfcStructuralPointConnection=class extends Wi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.type=734778138}},e.IfcStructuralPointReaction=class extends di{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=1235345126}},e.IfcStructuralResultGroup=class extends Vi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheoryType=l,this.ResultForLoadGroup=r,this.IsLinear=o,this.type=2986769608}},e.IfcStructuralSurfaceConnection=class extends Wi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.type=1975003073}},e.IfcSubContractResource=class extends Ei{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ResourceIdentifier=l,this.ResourceGroup=r,this.ResourceConsumption=o,this.BaseQuantity=c,this.SubContractor=u,this.JobDescription=p,this.type=148013059}},e.IfcSwitchingDeviceType=class extends _i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2315554128}};class Ki extends Vi{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2254336722}}e.IfcSystem=Ki,e.IfcTankType=class extends Ui{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=5716631}},e.IfcTimeSeriesSchedule=class extends gi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ApplicableDates=l,this.TimeSeriesScheduleType=r,this.TimeSeries=o,this.type=1637806684}},e.IfcTransformerType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1692211062}},e.IfcTransportElement=class extends bi{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OperationType=c,this.CapacityByWeight=u,this.CapacityByNumber=p,this.type=1620046519}},e.IfcTrimmedCurve=class extends yi{constructor(e,t,n,s,i,a){super(e),this.BasisCurve=t,this.Trim1=n,this.Trim2=s,this.SenseAgreement=i,this.MasterRepresentation=a,this.type=3593883385}},e.IfcTubeBundleType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1600972822}},e.IfcUnitaryEquipmentType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1911125066}},e.IfcValveType=class extends _i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=728799441}},e.IfcVirtualElement=class extends bi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2769231204}},e.IfcWallType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1898987631}},e.IfcWasteTerminalType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1133259667}};class Zi extends gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identifier=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.WorkControlType=f,this.UserDefinedControlType=I,this.type=1028945134}}e.IfcWorkControl=Zi,e.IfcWorkPlan=class extends Zi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identifier=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.WorkControlType=f,this.UserDefinedControlType=I,this.type=4218914973}},e.IfcWorkSchedule=class extends Zi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identifier=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.WorkControlType=f,this.UserDefinedControlType=I,this.type=3342526732}},e.IfcZone=class extends Vi{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=1033361043}},e.Ifc2DCompositeCurve=class extends wi{constructor(e,t,n){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.type=1213861670}},e.IfcActionRequest=class extends gi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.RequestID=l,this.type=3821786052}},e.IfcAirTerminalBoxType=class extends _i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1411407467}},e.IfcAirTerminalType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3352864051}},e.IfcAirToAirHeatRecoveryType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1871374353}},e.IfcAngularDimension=class extends Ri{constructor(e,t){super(e,t),this.Contents=t,this.type=2470393545}},e.IfcAsset=class extends Vi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.AssetID=l,this.OriginalValue=r,this.CurrentValue=o,this.TotalReplacementCost=c,this.Owner=u,this.User=p,this.ResponsiblePerson=h,this.IncorporationDate=d,this.DepreciatedValue=f,this.type=3460190687}};class Qi extends yi{constructor(e,t,n,s,i,a){super(e),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.type=1967976161}}e.IfcBSplineCurve=Qi,e.IfcBeamType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=819618141}};class Ji extends Qi{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.type=1916977116}}e.IfcBezierCurve=Ji,e.IfcBoilerType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=231477066}};class $i extends bi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3299480353}}e.IfcBuildingElement=$i;class ea extends $i{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=52481810}}e.IfcBuildingElementComponent=ea,e.IfcBuildingElementPart=class extends ea{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2979338954}},e.IfcBuildingElementProxy=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.CompositionType=c,this.type=1095909175}},e.IfcBuildingElementProxyType=class extends vi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1909888760}},e.IfcCableCarrierFittingType=class extends Mi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=395041908}},e.IfcCableCarrierSegmentType=class extends Bi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3293546465}},e.IfcCableSegmentType=class extends Bi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1285652485}},e.IfcChillerType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2951183804}},e.IfcCircle=class extends Ti{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=2611217952}},e.IfcCoilType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2301859152}},e.IfcColumn=class extends $i{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=843113511}},e.IfcCompressorType=class extends Hi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3850581409}},e.IfcCondenserType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2816379211}},e.IfcCondition=class extends Vi{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2188551683}},e.IfcConditionCriterion=class extends gi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Criterion=l,this.CriterionDateTime=r,this.type=1163958913}},e.IfcConstructionEquipmentResource=class extends Ei{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ResourceIdentifier=l,this.ResourceGroup=r,this.ResourceConsumption=o,this.BaseQuantity=c,this.type=3898045240}},e.IfcConstructionMaterialResource=class extends Ei{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ResourceIdentifier=l,this.ResourceGroup=r,this.ResourceConsumption=o,this.BaseQuantity=c,this.Suppliers=u,this.UsageRatio=p,this.type=1060000209}},e.IfcConstructionProductResource=class extends Ei{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ResourceIdentifier=l,this.ResourceGroup=r,this.ResourceConsumption=o,this.BaseQuantity=c,this.type=488727124}},e.IfcCooledBeamType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=335055490}},e.IfcCoolingTowerType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2954562838}},e.IfcCovering=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1973544240}},e.IfcCurtainWall=class extends $i{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3495092785}},e.IfcDamperType=class extends _i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3961806047}},e.IfcDiameterDimension=class extends Ri{constructor(e,t){super(e,t),this.Contents=t,this.type=4147604152}},e.IfcDiscreteAccessory=class extends Ni{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1335981549}};class ta extends Oi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2635815018}}e.IfcDiscreteAccessoryType=ta,e.IfcDistributionChamberElementType=class extends Si{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1599208980}};class na extends Di{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2063403501}}e.IfcDistributionControlElementType=na;class sa extends bi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1945004755}}e.IfcDistributionElement=sa;class ia extends sa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3040386961}}e.IfcDistributionFlowElement=ia,e.IfcDistributionPort=class extends ji{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.FlowDirection=o,this.type=3041715199}},e.IfcDoor=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OverallHeight=c,this.OverallWidth=u,this.type=395920057}},e.IfcDuctFittingType=class extends Mi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=869906466}},e.IfcDuctSegmentType=class extends Bi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3760055223}},e.IfcDuctSilencerType=class extends Gi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2030761528}};class aa extends qi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.FeatureLength=c,this.type=855621170}}e.IfcEdgeFeature=aa,e.IfcElectricApplianceType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=663422040}},e.IfcElectricFlowStorageDeviceType=class extends Ui{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3277789161}},e.IfcElectricGeneratorType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1534661035}},e.IfcElectricHeaterType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1365060375}},e.IfcElectricMotorType=class extends Ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1217240411}},e.IfcElectricTimeControlType=class extends _i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=712377611}},e.IfcElectricalCircuit=class extends Ki{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=1634875225}},e.IfcElectricalElement=class extends bi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=857184966}},e.IfcEnergyConversionDevice=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1658829314}},e.IfcFanType=class extends Hi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=346874300}},e.IfcFilterType=class extends Gi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1810631287}},e.IfcFireSuppressionTerminalType=class extends Fi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4222183408}};class la extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2058353004}}e.IfcFlowController=la,e.IfcFlowFitting=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=4278956645}},e.IfcFlowInstrumentType=class extends na{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4037862832}},e.IfcFlowMovingDevice=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3132237377}},e.IfcFlowSegment=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=987401354}},e.IfcFlowStorageDevice=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=707683696}},e.IfcFlowTerminal=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2223149337}},e.IfcFlowTreatmentDevice=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3508470533}},e.IfcFooting=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=900683007}},e.IfcMember=class extends $i{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1073191201}},e.IfcPile=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.ConstructionType=u,this.type=1687234759}},e.IfcPlate=class extends $i{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3171933400}},e.IfcRailing=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2262370178}},e.IfcRamp=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.ShapeType=c,this.type=3024970846}},e.IfcRampFlight=class extends $i{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3283111854}},e.IfcRationalBezierCurve=class extends Ji{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.WeightsData=l,this.type=3055160366}};class ra extends ea{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.type=3027567501}}e.IfcReinforcingElement=ra,e.IfcReinforcingMesh=class extends ra{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.MeshLength=u,this.MeshWidth=p,this.LongitudinalBarNominalDiameter=h,this.TransverseBarNominalDiameter=d,this.LongitudinalBarCrossSectionArea=f,this.TransverseBarCrossSectionArea=I,this.LongitudinalBarSpacing=m,this.TransverseBarSpacing=y,this.type=2320036040}},e.IfcRoof=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.ShapeType=c,this.type=2016517767}},e.IfcRoundedEdgeFeature=class extends aa{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.FeatureLength=c,this.Radius=u,this.type=1376911519}},e.IfcSensorType=class extends na{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1783015770}},e.IfcSlab=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1529196076}},e.IfcStair=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.ShapeType=c,this.type=331165859}},e.IfcStairFlight=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.NumberOfRiser=c,this.NumberOfTreads=u,this.RiserHeight=p,this.TreadLength=h,this.type=4252922144}},e.IfcStructuralAnalysisModel=class extends Ki{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.OrientationOf2DPlane=r,this.LoadedBy=o,this.HasResults=c,this.type=2515109513}},e.IfcTendon=class extends ra{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.PredefinedType=u,this.NominalDiameter=p,this.CrossSectionArea=h,this.TensionForce=d,this.PreStress=f,this.FrictionCoefficient=I,this.AnchorageSlip=m,this.MinCurvatureRadius=y,this.type=3824725483}},e.IfcTendonAnchor=class extends ra{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.type=2347447852}},e.IfcVibrationIsolatorType=class extends ta{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3313531582}};class oa extends $i{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2391406946}}e.IfcWall=oa,e.IfcWallStandardCase=class extends oa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3512223829}},e.IfcWindow=class extends $i{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OverallHeight=c,this.OverallWidth=u,this.type=3304561284}},e.IfcActuatorType=class extends na{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2874132201}},e.IfcAlarmType=class extends na{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3001207471}},e.IfcBeam=class extends $i{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=753842376}},e.IfcChamferEdgeFeature=class extends aa{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.FeatureLength=c,this.Width=u,this.Height=p,this.type=2454782716}},e.IfcControllerType=class extends na{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=578613899}},e.IfcDistributionChamberElement=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1052013943}},e.IfcDistributionControlElement=class extends sa{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.ControlElementId=c,this.type=1062813311}},e.IfcElectricDistributionPoint=class extends la{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.DistributionPointFunction=c,this.UserDefinedFunction=u,this.type=3700593921}},e.IfcReinforcingBar=class extends ra{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.NominalDiameter=u,this.CrossSectionArea=p,this.BarLength=h,this.BarRole=d,this.BarSurface=f,this.type=979691226}}}(a||(a={})),qm[2]=["IFC4","IFC4X1","IFC4X2"],Om[2]={3630933823:(e,t)=>new l.IfcActorRole(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcText(t[2].value):null),618182010:(e,t)=>new l.IfcAddress(e,t[0],t[1]?new l.IfcText(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null),639542469:(e,t)=>new l.IfcApplication(e,new bm(t[0].value),new l.IfcLabel(t[1].value),new l.IfcLabel(t[2].value),new l.IfcIdentifier(t[3].value)),411424972:(e,t)=>new l.IfcAppliedValue(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new l.IfcDate(t[4].value):null,t[5]?new l.IfcDate(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((e=>new bm(e.value))):null),130549933:(e,t)=>new l.IfcApproval(e,t[0]?new l.IfcIdentifier(t[0].value):null,t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcText(t[2].value):null,t[3]?new l.IfcDateTime(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null),4037036970:(e,t)=>new l.IfcBoundaryCondition(e,t[0]?new l.IfcLabel(t[0].value):null),1560379544:(e,t)=>new l.IfcBoundaryEdgeCondition(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?_m(2,t[1]):null,t[2]?_m(2,t[2]):null,t[3]?_m(2,t[3]):null,t[4]?_m(2,t[4]):null,t[5]?_m(2,t[5]):null,t[6]?_m(2,t[6]):null),3367102660:(e,t)=>new l.IfcBoundaryFaceCondition(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?_m(2,t[1]):null,t[2]?_m(2,t[2]):null,t[3]?_m(2,t[3]):null),1387855156:(e,t)=>new l.IfcBoundaryNodeCondition(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?_m(2,t[1]):null,t[2]?_m(2,t[2]):null,t[3]?_m(2,t[3]):null,t[4]?_m(2,t[4]):null,t[5]?_m(2,t[5]):null,t[6]?_m(2,t[6]):null),2069777674:(e,t)=>new l.IfcBoundaryNodeConditionWarping(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?_m(2,t[1]):null,t[2]?_m(2,t[2]):null,t[3]?_m(2,t[3]):null,t[4]?_m(2,t[4]):null,t[5]?_m(2,t[5]):null,t[6]?_m(2,t[6]):null,t[7]?_m(2,t[7]):null),2859738748:(e,t)=>new l.IfcConnectionGeometry(e),2614616156:(e,t)=>new l.IfcConnectionPointGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),2732653382:(e,t)=>new l.IfcConnectionSurfaceGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),775493141:(e,t)=>new l.IfcConnectionVolumeGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),1959218052:(e,t)=>new l.IfcConstraint(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2],t[3]?new l.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new l.IfcDateTime(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null),1785450214:(e,t)=>new l.IfcCoordinateOperation(e,new bm(t[0].value),new bm(t[1].value)),1466758467:(e,t)=>new l.IfcCoordinateReferenceSystem(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new l.IfcIdentifier(t[2].value):null,t[3]?new l.IfcIdentifier(t[3].value):null),602808272:(e,t)=>new l.IfcCostValue(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new l.IfcDate(t[4].value):null,t[5]?new l.IfcDate(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((e=>new bm(e.value))):null),1765591967:(e,t)=>new l.IfcDerivedUnit(e,t[0].map((e=>new bm(e.value))),t[1],t[2]?new l.IfcLabel(t[2].value):null),1045800335:(e,t)=>new l.IfcDerivedUnitElement(e,new bm(t[0].value),t[1].value),2949456006:(e,t)=>new l.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value),4294318154:(e,t)=>new l.IfcExternalInformation(e),3200245327:(e,t)=>new l.IfcExternalReference(e,t[0]?new l.IfcURIReference(t[0].value):null,t[1]?new l.IfcIdentifier(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null),2242383968:(e,t)=>new l.IfcExternallyDefinedHatchStyle(e,t[0]?new l.IfcURIReference(t[0].value):null,t[1]?new l.IfcIdentifier(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null),1040185647:(e,t)=>new l.IfcExternallyDefinedSurfaceStyle(e,t[0]?new l.IfcURIReference(t[0].value):null,t[1]?new l.IfcIdentifier(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null),3548104201:(e,t)=>new l.IfcExternallyDefinedTextFont(e,t[0]?new l.IfcURIReference(t[0].value):null,t[1]?new l.IfcIdentifier(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null),852622518:(e,t)=>new l.IfcGridAxis(e,t[0]?new l.IfcLabel(t[0].value):null,new bm(t[1].value),new l.IfcBoolean(t[2].value)),3020489413:(e,t)=>new l.IfcIrregularTimeSeriesValue(e,new l.IfcDateTime(t[0].value),t[1].map((e=>_m(2,e)))),2655187982:(e,t)=>new l.IfcLibraryInformation(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new l.IfcDateTime(t[3].value):null,t[4]?new l.IfcURIReference(t[4].value):null,t[5]?new l.IfcText(t[5].value):null),3452421091:(e,t)=>new l.IfcLibraryReference(e,t[0]?new l.IfcURIReference(t[0].value):null,t[1]?new l.IfcIdentifier(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLanguageId(t[4].value):null,t[5]?new bm(t[5].value):null),4162380809:(e,t)=>new l.IfcLightDistributionData(e,new l.IfcPlaneAngleMeasure(t[0].value),t[1].map((e=>new l.IfcPlaneAngleMeasure(e.value))),t[2].map((e=>new l.IfcLuminousIntensityDistributionMeasure(e.value)))),1566485204:(e,t)=>new l.IfcLightIntensityDistribution(e,t[0],t[1].map((e=>new bm(e.value)))),3057273783:(e,t)=>new l.IfcMapConversion(e,new bm(t[0].value),new bm(t[1].value),new l.IfcLengthMeasure(t[2].value),new l.IfcLengthMeasure(t[3].value),new l.IfcLengthMeasure(t[4].value),t[5]?new l.IfcReal(t[5].value):null,t[6]?new l.IfcReal(t[6].value):null,t[7]?new l.IfcReal(t[7].value):null),1847130766:(e,t)=>new l.IfcMaterialClassificationRelationship(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value)),760658860:(e,t)=>new l.IfcMaterialDefinition(e),248100487:(e,t)=>new l.IfcMaterialLayer(e,t[0]?new bm(t[0].value):null,new l.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new l.IfcLogical(t[2].value):null,t[3]?new l.IfcLabel(t[3].value):null,t[4]?new l.IfcText(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]?new l.IfcInteger(t[6].value):null),3303938423:(e,t)=>new l.IfcMaterialLayerSet(e,t[0].map((e=>new bm(e.value))),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcText(t[2].value):null),1847252529:(e,t)=>new l.IfcMaterialLayerWithOffsets(e,t[0]?new bm(t[0].value):null,new l.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new l.IfcLogical(t[2].value):null,t[3]?new l.IfcLabel(t[3].value):null,t[4]?new l.IfcText(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]?new l.IfcInteger(t[6].value):null,t[7],new l.IfcLengthMeasure(t[8].value)),2199411900:(e,t)=>new l.IfcMaterialList(e,t[0].map((e=>new bm(e.value)))),2235152071:(e,t)=>new l.IfcMaterialProfile(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new bm(t[3].value),t[4]?new l.IfcInteger(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null),164193824:(e,t)=>new l.IfcMaterialProfileSet(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new bm(t[3].value):null),552965576:(e,t)=>new l.IfcMaterialProfileWithOffsets(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new bm(t[3].value),t[4]?new l.IfcInteger(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,new l.IfcLengthMeasure(t[6].value)),1507914824:(e,t)=>new l.IfcMaterialUsageDefinition(e),2597039031:(e,t)=>new l.IfcMeasureWithUnit(e,_m(2,t[0]),new bm(t[1].value)),3368373690:(e,t)=>new l.IfcMetric(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2],t[3]?new l.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new l.IfcDateTime(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7],t[8]?new l.IfcLabel(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null),2706619895:(e,t)=>new l.IfcMonetaryUnit(e,new l.IfcLabel(t[0].value)),1918398963:(e,t)=>new l.IfcNamedUnit(e,new bm(t[0].value),t[1]),3701648758:(e,t)=>new l.IfcObjectPlacement(e),2251480897:(e,t)=>new l.IfcObjective(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2],t[3]?new l.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new l.IfcDateTime(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8],t[9],t[10]?new l.IfcLabel(t[10].value):null),4251960020:(e,t)=>new l.IfcOrganization(e,t[0]?new l.IfcIdentifier(t[0].value):null,new l.IfcLabel(t[1].value),t[2]?new l.IfcText(t[2].value):null,t[3]?t[3].map((e=>new bm(e.value))):null,t[4]?t[4].map((e=>new bm(e.value))):null),1207048766:(e,t)=>new l.IfcOwnerHistory(e,new bm(t[0].value),new bm(t[1].value),t[2],t[3],t[4]?new l.IfcTimeStamp(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new l.IfcTimeStamp(t[7].value)),2077209135:(e,t)=>new l.IfcPerson(e,t[0]?new l.IfcIdentifier(t[0].value):null,t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?t[3].map((e=>new l.IfcLabel(e.value))):null,t[4]?t[4].map((e=>new l.IfcLabel(e.value))):null,t[5]?t[5].map((e=>new l.IfcLabel(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?t[7].map((e=>new bm(e.value))):null),101040310:(e,t)=>new l.IfcPersonAndOrganization(e,new bm(t[0].value),new bm(t[1].value),t[2]?t[2].map((e=>new bm(e.value))):null),2483315170:(e,t)=>new l.IfcPhysicalQuantity(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null),2226359599:(e,t)=>new l.IfcPhysicalSimpleQuantity(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null),3355820592:(e,t)=>new l.IfcPostalAddress(e,t[0],t[1]?new l.IfcText(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcLabel(t[3].value):null,t[4]?t[4].map((e=>new l.IfcLabel(e.value))):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?new l.IfcLabel(t[9].value):null),677532197:(e,t)=>new l.IfcPresentationItem(e),2022622350:(e,t)=>new l.IfcPresentationLayerAssignment(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new l.IfcIdentifier(t[3].value):null),1304840413:(e,t)=>new l.IfcPresentationLayerWithStyle(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new l.IfcIdentifier(t[3].value):null,new l.IfcLogical(t[4].value),new l.IfcLogical(t[5].value),new l.IfcLogical(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null),3119450353:(e,t)=>new l.IfcPresentationStyle(e,t[0]?new l.IfcLabel(t[0].value):null),2417041796:(e,t)=>new l.IfcPresentationStyleAssignment(e,t[0].map((e=>new bm(e.value)))),2095639259:(e,t)=>new l.IfcProductRepresentation(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value)))),3958567839:(e,t)=>new l.IfcProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null),3843373140:(e,t)=>new l.IfcProjectedCRS(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new l.IfcIdentifier(t[2].value):null,t[3]?new l.IfcIdentifier(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new bm(t[6].value):null),986844984:(e,t)=>new l.IfcPropertyAbstraction(e),3710013099:(e,t)=>new l.IfcPropertyEnumeration(e,new l.IfcLabel(t[0].value),t[1].map((e=>_m(2,e))),t[2]?new bm(t[2].value):null),2044713172:(e,t)=>new l.IfcQuantityArea(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcAreaMeasure(t[3].value),t[4]?new l.IfcLabel(t[4].value):null),2093928680:(e,t)=>new l.IfcQuantityCount(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcCountMeasure(t[3].value),t[4]?new l.IfcLabel(t[4].value):null),931644368:(e,t)=>new l.IfcQuantityLength(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcLengthMeasure(t[3].value),t[4]?new l.IfcLabel(t[4].value):null),3252649465:(e,t)=>new l.IfcQuantityTime(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcTimeMeasure(t[3].value),t[4]?new l.IfcLabel(t[4].value):null),2405470396:(e,t)=>new l.IfcQuantityVolume(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcVolumeMeasure(t[3].value),t[4]?new l.IfcLabel(t[4].value):null),825690147:(e,t)=>new l.IfcQuantityWeight(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcMassMeasure(t[3].value),t[4]?new l.IfcLabel(t[4].value):null),3915482550:(e,t)=>new l.IfcRecurrencePattern(e,t[0],t[1]?t[1].map((e=>new l.IfcDayInMonthNumber(e.value))):null,t[2]?t[2].map((e=>new l.IfcDayInWeekNumber(e.value))):null,t[3]?t[3].map((e=>new l.IfcMonthInYearNumber(e.value))):null,t[4]?new l.IfcInteger(t[4].value):null,t[5]?new l.IfcInteger(t[5].value):null,t[6]?new l.IfcInteger(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null),2433181523:(e,t)=>new l.IfcReference(e,t[0]?new l.IfcIdentifier(t[0].value):null,t[1]?new l.IfcIdentifier(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?t[3].map((e=>new l.IfcInteger(e.value))):null,t[4]?new bm(t[4].value):null),1076942058:(e,t)=>new l.IfcRepresentation(e,new bm(t[0].value),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),3377609919:(e,t)=>new l.IfcRepresentationContext(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcLabel(t[1].value):null),3008791417:(e,t)=>new l.IfcRepresentationItem(e),1660063152:(e,t)=>new l.IfcRepresentationMap(e,new bm(t[0].value),new bm(t[1].value)),2439245199:(e,t)=>new l.IfcResourceLevelRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null),2341007311:(e,t)=>new l.IfcRoot(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),448429030:(e,t)=>new l.IfcSIUnit(e,t[0],t[1],t[2]),1054537805:(e,t)=>new l.IfcSchedulingTime(e,t[0]?new l.IfcLabel(t[0].value):null,t[1],t[2]?new l.IfcLabel(t[2].value):null),867548509:(e,t)=>new l.IfcShapeAspect(e,t[0].map((e=>new bm(e.value))),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcText(t[2].value):null,new l.IfcLogical(t[3].value),t[4]?new bm(t[4].value):null),3982875396:(e,t)=>new l.IfcShapeModel(e,new bm(t[0].value),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),4240577450:(e,t)=>new l.IfcShapeRepresentation(e,new bm(t[0].value),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),2273995522:(e,t)=>new l.IfcStructuralConnectionCondition(e,t[0]?new l.IfcLabel(t[0].value):null),2162789131:(e,t)=>new l.IfcStructuralLoad(e,t[0]?new l.IfcLabel(t[0].value):null),3478079324:(e,t)=>new l.IfcStructuralLoadConfiguration(e,t[0]?new l.IfcLabel(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?t[2].map((e=>new l.IfcLengthMeasure(e.value))):null),609421318:(e,t)=>new l.IfcStructuralLoadOrResult(e,t[0]?new l.IfcLabel(t[0].value):null),2525727697:(e,t)=>new l.IfcStructuralLoadStatic(e,t[0]?new l.IfcLabel(t[0].value):null),3408363356:(e,t)=>new l.IfcStructuralLoadTemperature(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new l.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new l.IfcThermodynamicTemperatureMeasure(t[3].value):null),2830218821:(e,t)=>new l.IfcStyleModel(e,new bm(t[0].value),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),3958052878:(e,t)=>new l.IfcStyledItem(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new l.IfcLabel(t[2].value):null),3049322572:(e,t)=>new l.IfcStyledRepresentation(e,new bm(t[0].value),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),2934153892:(e,t)=>new l.IfcSurfaceReinforcementArea(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?t[1].map((e=>new l.IfcLengthMeasure(e.value))):null,t[2]?t[2].map((e=>new l.IfcLengthMeasure(e.value))):null,t[3]?new l.IfcRatioMeasure(t[3].value):null),1300840506:(e,t)=>new l.IfcSurfaceStyle(e,t[0]?new l.IfcLabel(t[0].value):null,t[1],t[2].map((e=>new bm(e.value)))),3303107099:(e,t)=>new l.IfcSurfaceStyleLighting(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new bm(t[3].value)),1607154358:(e,t)=>new l.IfcSurfaceStyleRefraction(e,t[0]?new l.IfcReal(t[0].value):null,t[1]?new l.IfcReal(t[1].value):null),846575682:(e,t)=>new l.IfcSurfaceStyleShading(e,new bm(t[0].value),t[1]?new l.IfcNormalisedRatioMeasure(t[1].value):null),1351298697:(e,t)=>new l.IfcSurfaceStyleWithTextures(e,t[0].map((e=>new bm(e.value)))),626085974:(e,t)=>new l.IfcSurfaceTexture(e,new l.IfcBoolean(t[0].value),new l.IfcBoolean(t[1].value),t[2]?new l.IfcIdentifier(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new l.IfcIdentifier(e.value))):null),985171141:(e,t)=>new l.IfcTable(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?t[1].map((e=>new bm(e.value))):null,t[2]?t[2].map((e=>new bm(e.value))):null),2043862942:(e,t)=>new l.IfcTableColumn(e,t[0]?new l.IfcIdentifier(t[0].value):null,t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcText(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new bm(t[4].value):null),531007025:(e,t)=>new l.IfcTableRow(e,t[0]?t[0].map((e=>_m(2,e))):null,t[1]?new l.IfcBoolean(t[1].value):null),1549132990:(e,t)=>new l.IfcTaskTime(e,t[0]?new l.IfcLabel(t[0].value):null,t[1],t[2]?new l.IfcLabel(t[2].value):null,t[3],t[4]?new l.IfcDuration(t[4].value):null,t[5]?new l.IfcDateTime(t[5].value):null,t[6]?new l.IfcDateTime(t[6].value):null,t[7]?new l.IfcDateTime(t[7].value):null,t[8]?new l.IfcDateTime(t[8].value):null,t[9]?new l.IfcDateTime(t[9].value):null,t[10]?new l.IfcDateTime(t[10].value):null,t[11]?new l.IfcDuration(t[11].value):null,t[12]?new l.IfcDuration(t[12].value):null,t[13]?new l.IfcBoolean(t[13].value):null,t[14]?new l.IfcDateTime(t[14].value):null,t[15]?new l.IfcDuration(t[15].value):null,t[16]?new l.IfcDateTime(t[16].value):null,t[17]?new l.IfcDateTime(t[17].value):null,t[18]?new l.IfcDuration(t[18].value):null,t[19]?new l.IfcPositiveRatioMeasure(t[19].value):null),2771591690:(e,t)=>new l.IfcTaskTimeRecurring(e,t[0]?new l.IfcLabel(t[0].value):null,t[1],t[2]?new l.IfcLabel(t[2].value):null,t[3],t[4]?new l.IfcDuration(t[4].value):null,t[5]?new l.IfcDateTime(t[5].value):null,t[6]?new l.IfcDateTime(t[6].value):null,t[7]?new l.IfcDateTime(t[7].value):null,t[8]?new l.IfcDateTime(t[8].value):null,t[9]?new l.IfcDateTime(t[9].value):null,t[10]?new l.IfcDateTime(t[10].value):null,t[11]?new l.IfcDuration(t[11].value):null,t[12]?new l.IfcDuration(t[12].value):null,t[13]?new l.IfcBoolean(t[13].value):null,t[14]?new l.IfcDateTime(t[14].value):null,t[15]?new l.IfcDuration(t[15].value):null,t[16]?new l.IfcDateTime(t[16].value):null,t[17]?new l.IfcDateTime(t[17].value):null,t[18]?new l.IfcDuration(t[18].value):null,t[19]?new l.IfcPositiveRatioMeasure(t[19].value):null,new bm(t[20].value)),912023232:(e,t)=>new l.IfcTelecomAddress(e,t[0],t[1]?new l.IfcText(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?t[3].map((e=>new l.IfcLabel(e.value))):null,t[4]?t[4].map((e=>new l.IfcLabel(e.value))):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]?t[6].map((e=>new l.IfcLabel(e.value))):null,t[7]?new l.IfcURIReference(t[7].value):null,t[8]?t[8].map((e=>new l.IfcURIReference(e.value))):null),1447204868:(e,t)=>new l.IfcTextStyle(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?new bm(t[2].value):null,new bm(t[3].value),t[4]?new l.IfcBoolean(t[4].value):null),2636378356:(e,t)=>new l.IfcTextStyleForDefinedFont(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),1640371178:(e,t)=>new l.IfcTextStyleTextModel(e,t[0]?_m(2,t[0]):null,t[1]?new l.IfcTextAlignment(t[1].value):null,t[2]?new l.IfcTextDecoration(t[2].value):null,t[3]?_m(2,t[3]):null,t[4]?_m(2,t[4]):null,t[5]?new l.IfcTextTransformation(t[5].value):null,t[6]?_m(2,t[6]):null),280115917:(e,t)=>new l.IfcTextureCoordinate(e,t[0].map((e=>new bm(e.value)))),1742049831:(e,t)=>new l.IfcTextureCoordinateGenerator(e,t[0].map((e=>new bm(e.value))),new l.IfcLabel(t[1].value),t[2]?t[2].map((e=>new l.IfcReal(e.value))):null),2552916305:(e,t)=>new l.IfcTextureMap(e,t[0].map((e=>new bm(e.value))),t[1].map((e=>new bm(e.value))),new bm(t[2].value)),1210645708:(e,t)=>new l.IfcTextureVertex(e,t[0].map((e=>new l.IfcParameterValue(e.value)))),3611470254:(e,t)=>new l.IfcTextureVertexList(e,t[0].map((e=>new l.IfcParameterValue(e.value)))),1199560280:(e,t)=>new l.IfcTimePeriod(e,new l.IfcTime(t[0].value),new l.IfcTime(t[1].value)),3101149627:(e,t)=>new l.IfcTimeSeries(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,new l.IfcDateTime(t[2].value),new l.IfcDateTime(t[3].value),t[4],t[5],t[6]?new l.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null),581633288:(e,t)=>new l.IfcTimeSeriesValue(e,t[0].map((e=>_m(2,e)))),1377556343:(e,t)=>new l.IfcTopologicalRepresentationItem(e),1735638870:(e,t)=>new l.IfcTopologyRepresentation(e,new bm(t[0].value),t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),180925521:(e,t)=>new l.IfcUnitAssignment(e,t[0].map((e=>new bm(e.value)))),2799835756:(e,t)=>new l.IfcVertex(e),1907098498:(e,t)=>new l.IfcVertexPoint(e,new bm(t[0].value)),891718957:(e,t)=>new l.IfcVirtualGridIntersection(e,t[0].map((e=>new bm(e.value))),t[1].map((e=>new l.IfcLengthMeasure(e.value)))),1236880293:(e,t)=>new l.IfcWorkTime(e,t[0]?new l.IfcLabel(t[0].value):null,t[1],t[2]?new l.IfcLabel(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new l.IfcDate(t[4].value):null,t[5]?new l.IfcDate(t[5].value):null),3869604511:(e,t)=>new l.IfcApprovalRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),3798115385:(e,t)=>new l.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,new bm(t[2].value)),1310608509:(e,t)=>new l.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,new bm(t[2].value)),2705031697:(e,t)=>new l.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),616511568:(e,t)=>new l.IfcBlobTexture(e,new l.IfcBoolean(t[0].value),new l.IfcBoolean(t[1].value),t[2]?new l.IfcIdentifier(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new l.IfcIdentifier(e.value))):null,new l.IfcIdentifier(t[5].value),new l.IfcBinary(t[6].value)),3150382593:(e,t)=>new l.IfcCenterLineProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,new bm(t[2].value),new l.IfcPositiveLengthMeasure(t[3].value)),747523909:(e,t)=>new l.IfcClassification(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcLabel(t[1].value):null,t[2]?new l.IfcDate(t[2].value):null,new l.IfcLabel(t[3].value),t[4]?new l.IfcText(t[4].value):null,t[5]?new l.IfcURIReference(t[5].value):null,t[6]?t[6].map((e=>new l.IfcIdentifier(e.value))):null),647927063:(e,t)=>new l.IfcClassificationReference(e,t[0]?new l.IfcURIReference(t[0].value):null,t[1]?new l.IfcIdentifier(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new l.IfcText(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null),3285139300:(e,t)=>new l.IfcColourRgbList(e,t[0].map((e=>new l.IfcNormalisedRatioMeasure(e.value)))),3264961684:(e,t)=>new l.IfcColourSpecification(e,t[0]?new l.IfcLabel(t[0].value):null),1485152156:(e,t)=>new l.IfcCompositeProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new l.IfcLabel(t[3].value):null),370225590:(e,t)=>new l.IfcConnectedFaceSet(e,t[0].map((e=>new bm(e.value)))),1981873012:(e,t)=>new l.IfcConnectionCurveGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),45288368:(e,t)=>new l.IfcConnectionPointEccentricity(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLengthMeasure(t[2].value):null,t[3]?new l.IfcLengthMeasure(t[3].value):null,t[4]?new l.IfcLengthMeasure(t[4].value):null),3050246964:(e,t)=>new l.IfcContextDependentUnit(e,new bm(t[0].value),t[1],new l.IfcLabel(t[2].value)),2889183280:(e,t)=>new l.IfcConversionBasedUnit(e,new bm(t[0].value),t[1],new l.IfcLabel(t[2].value),new bm(t[3].value)),2713554722:(e,t)=>new l.IfcConversionBasedUnitWithOffset(e,new bm(t[0].value),t[1],new l.IfcLabel(t[2].value),new bm(t[3].value),new l.IfcReal(t[4].value)),539742890:(e,t)=>new l.IfcCurrencyRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value),new l.IfcPositiveRatioMeasure(t[4].value),t[5]?new l.IfcDateTime(t[5].value):null,t[6]?new bm(t[6].value):null),3800577675:(e,t)=>new l.IfcCurveStyle(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?_m(2,t[2]):null,t[3]?new bm(t[3].value):null,t[4]?new l.IfcBoolean(t[4].value):null),1105321065:(e,t)=>new l.IfcCurveStyleFont(e,t[0]?new l.IfcLabel(t[0].value):null,t[1].map((e=>new bm(e.value)))),2367409068:(e,t)=>new l.IfcCurveStyleFontAndScaling(e,t[0]?new l.IfcLabel(t[0].value):null,new bm(t[1].value),new l.IfcPositiveRatioMeasure(t[2].value)),3510044353:(e,t)=>new l.IfcCurveStyleFontPattern(e,new l.IfcLengthMeasure(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value)),3632507154:(e,t)=>new l.IfcDerivedProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4]?new l.IfcLabel(t[4].value):null),1154170062:(e,t)=>new l.IfcDocumentInformation(e,new l.IfcIdentifier(t[0].value),new l.IfcLabel(t[1].value),t[2]?new l.IfcText(t[2].value):null,t[3]?new l.IfcURIReference(t[3].value):null,t[4]?new l.IfcText(t[4].value):null,t[5]?new l.IfcText(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new bm(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new l.IfcDateTime(t[10].value):null,t[11]?new l.IfcDateTime(t[11].value):null,t[12]?new l.IfcIdentifier(t[12].value):null,t[13]?new l.IfcDate(t[13].value):null,t[14]?new l.IfcDate(t[14].value):null,t[15],t[16]),770865208:(e,t)=>new l.IfcDocumentInformationRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value))),t[4]?new l.IfcLabel(t[4].value):null),3732053477:(e,t)=>new l.IfcDocumentReference(e,t[0]?new l.IfcURIReference(t[0].value):null,t[1]?new l.IfcIdentifier(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null),3900360178:(e,t)=>new l.IfcEdge(e,new bm(t[0].value),new bm(t[1].value)),476780140:(e,t)=>new l.IfcEdgeCurve(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new l.IfcBoolean(t[3].value)),211053100:(e,t)=>new l.IfcEventTime(e,t[0]?new l.IfcLabel(t[0].value):null,t[1],t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcDateTime(t[3].value):null,t[4]?new l.IfcDateTime(t[4].value):null,t[5]?new l.IfcDateTime(t[5].value):null,t[6]?new l.IfcDateTime(t[6].value):null),297599258:(e,t)=>new l.IfcExtendedProperties(e,t[0]?new l.IfcIdentifier(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value)))),1437805879:(e,t)=>new l.IfcExternalReferenceRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),2556980723:(e,t)=>new l.IfcFace(e,t[0].map((e=>new bm(e.value)))),1809719519:(e,t)=>new l.IfcFaceBound(e,new bm(t[0].value),new l.IfcBoolean(t[1].value)),803316827:(e,t)=>new l.IfcFaceOuterBound(e,new bm(t[0].value),new l.IfcBoolean(t[1].value)),3008276851:(e,t)=>new l.IfcFaceSurface(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new l.IfcBoolean(t[2].value)),4219587988:(e,t)=>new l.IfcFailureConnectionCondition(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcForceMeasure(t[1].value):null,t[2]?new l.IfcForceMeasure(t[2].value):null,t[3]?new l.IfcForceMeasure(t[3].value):null,t[4]?new l.IfcForceMeasure(t[4].value):null,t[5]?new l.IfcForceMeasure(t[5].value):null,t[6]?new l.IfcForceMeasure(t[6].value):null),738692330:(e,t)=>new l.IfcFillAreaStyle(e,t[0]?new l.IfcLabel(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new l.IfcBoolean(t[2].value):null),3448662350:(e,t)=>new l.IfcGeometricRepresentationContext(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcLabel(t[1].value):null,new l.IfcDimensionCount(t[2].value),t[3]?new l.IfcReal(t[3].value):null,new bm(t[4].value),t[5]?new bm(t[5].value):null),2453401579:(e,t)=>new l.IfcGeometricRepresentationItem(e),4142052618:(e,t)=>new l.IfcGeometricRepresentationSubContext(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcLabel(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcPositiveRatioMeasure(t[3].value):null,t[4],t[5]?new l.IfcLabel(t[5].value):null),3590301190:(e,t)=>new l.IfcGeometricSet(e,t[0].map((e=>new bm(e.value)))),178086475:(e,t)=>new l.IfcGridPlacement(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),812098782:(e,t)=>new l.IfcHalfSpaceSolid(e,new bm(t[0].value),new l.IfcBoolean(t[1].value)),3905492369:(e,t)=>new l.IfcImageTexture(e,new l.IfcBoolean(t[0].value),new l.IfcBoolean(t[1].value),t[2]?new l.IfcIdentifier(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new l.IfcIdentifier(e.value))):null,new l.IfcURIReference(t[5].value)),3570813810:(e,t)=>new l.IfcIndexedColourMap(e,new bm(t[0].value),t[1]?new l.IfcNormalisedRatioMeasure(t[1].value):null,new bm(t[2].value),t[3].map((e=>new l.IfcPositiveInteger(e.value)))),1437953363:(e,t)=>new l.IfcIndexedTextureMap(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new bm(t[2].value)),2133299955:(e,t)=>new l.IfcIndexedTriangleTextureMap(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new bm(t[2].value),t[3]?t[3].map((e=>new l.IfcPositiveInteger(e.value))):null),3741457305:(e,t)=>new l.IfcIrregularTimeSeries(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,new l.IfcDateTime(t[2].value),new l.IfcDateTime(t[3].value),t[4],t[5],t[6]?new l.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,t[8].map((e=>new bm(e.value)))),1585845231:(e,t)=>new l.IfcLagTime(e,t[0]?new l.IfcLabel(t[0].value):null,t[1],t[2]?new l.IfcLabel(t[2].value):null,_m(2,t[3]),t[4]),1402838566:(e,t)=>new l.IfcLightSource(e,t[0]?new l.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new l.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new l.IfcNormalisedRatioMeasure(t[3].value):null),125510826:(e,t)=>new l.IfcLightSourceAmbient(e,t[0]?new l.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new l.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new l.IfcNormalisedRatioMeasure(t[3].value):null),2604431987:(e,t)=>new l.IfcLightSourceDirectional(e,t[0]?new l.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new l.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new l.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value)),4266656042:(e,t)=>new l.IfcLightSourceGoniometric(e,t[0]?new l.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new l.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new l.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),t[5]?new bm(t[5].value):null,new l.IfcThermodynamicTemperatureMeasure(t[6].value),new l.IfcLuminousFluxMeasure(t[7].value),t[8],new bm(t[9].value)),1520743889:(e,t)=>new l.IfcLightSourcePositional(e,t[0]?new l.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new l.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new l.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcReal(t[6].value),new l.IfcReal(t[7].value),new l.IfcReal(t[8].value)),3422422726:(e,t)=>new l.IfcLightSourceSpot(e,t[0]?new l.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new l.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new l.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcReal(t[6].value),new l.IfcReal(t[7].value),new l.IfcReal(t[8].value),new bm(t[9].value),t[10]?new l.IfcReal(t[10].value):null,new l.IfcPositivePlaneAngleMeasure(t[11].value),new l.IfcPositivePlaneAngleMeasure(t[12].value)),2624227202:(e,t)=>new l.IfcLocalPlacement(e,t[0]?new bm(t[0].value):null,new bm(t[1].value)),1008929658:(e,t)=>new l.IfcLoop(e),2347385850:(e,t)=>new l.IfcMappedItem(e,new bm(t[0].value),new bm(t[1].value)),1838606355:(e,t)=>new l.IfcMaterial(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null),3708119e3:(e,t)=>new l.IfcMaterialConstituent(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcNormalisedRatioMeasure(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null),2852063980:(e,t)=>new l.IfcMaterialConstituentSet(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2]?t[2].map((e=>new bm(e.value))):null),2022407955:(e,t)=>new l.IfcMaterialDefinitionRepresentation(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),1303795690:(e,t)=>new l.IfcMaterialLayerSetUsage(e,new bm(t[0].value),t[1],t[2],new l.IfcLengthMeasure(t[3].value),t[4]?new l.IfcPositiveLengthMeasure(t[4].value):null),3079605661:(e,t)=>new l.IfcMaterialProfileSetUsage(e,new bm(t[0].value),t[1]?new l.IfcCardinalPointReference(t[1].value):null,t[2]?new l.IfcPositiveLengthMeasure(t[2].value):null),3404854881:(e,t)=>new l.IfcMaterialProfileSetUsageTapering(e,new bm(t[0].value),t[1]?new l.IfcCardinalPointReference(t[1].value):null,t[2]?new l.IfcPositiveLengthMeasure(t[2].value):null,new bm(t[3].value),t[4]?new l.IfcCardinalPointReference(t[4].value):null),3265635763:(e,t)=>new l.IfcMaterialProperties(e,t[0]?new l.IfcIdentifier(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),853536259:(e,t)=>new l.IfcMaterialRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value))),t[4]?new l.IfcLabel(t[4].value):null),2998442950:(e,t)=>new l.IfcMirroredProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcLabel(t[3].value):null),219451334:(e,t)=>new l.IfcObjectDefinition(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),2665983363:(e,t)=>new l.IfcOpenShell(e,t[0].map((e=>new bm(e.value)))),1411181986:(e,t)=>new l.IfcOrganizationRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),1029017970:(e,t)=>new l.IfcOrientedEdge(e,new bm(t[0].value),new l.IfcBoolean(t[1].value)),2529465313:(e,t)=>new l.IfcParameterizedProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null),2519244187:(e,t)=>new l.IfcPath(e,t[0].map((e=>new bm(e.value)))),3021840470:(e,t)=>new l.IfcPhysicalComplexQuantity(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new l.IfcLabel(t[3].value),t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null),597895409:(e,t)=>new l.IfcPixelTexture(e,new l.IfcBoolean(t[0].value),new l.IfcBoolean(t[1].value),t[2]?new l.IfcIdentifier(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new l.IfcIdentifier(e.value))):null,new l.IfcInteger(t[5].value),new l.IfcInteger(t[6].value),new l.IfcInteger(t[7].value),t[8].map((e=>new l.IfcBinary(e.value)))),2004835150:(e,t)=>new l.IfcPlacement(e,new bm(t[0].value)),1663979128:(e,t)=>new l.IfcPlanarExtent(e,new l.IfcLengthMeasure(t[0].value),new l.IfcLengthMeasure(t[1].value)),2067069095:(e,t)=>new l.IfcPoint(e),4022376103:(e,t)=>new l.IfcPointOnCurve(e,new bm(t[0].value),new l.IfcParameterValue(t[1].value)),1423911732:(e,t)=>new l.IfcPointOnSurface(e,new bm(t[0].value),new l.IfcParameterValue(t[1].value),new l.IfcParameterValue(t[2].value)),2924175390:(e,t)=>new l.IfcPolyLoop(e,t[0].map((e=>new bm(e.value)))),2775532180:(e,t)=>new l.IfcPolygonalBoundedHalfSpace(e,new bm(t[0].value),new l.IfcBoolean(t[1].value),new bm(t[2].value),new bm(t[3].value)),3727388367:(e,t)=>new l.IfcPreDefinedItem(e,new l.IfcLabel(t[0].value)),3778827333:(e,t)=>new l.IfcPreDefinedProperties(e),1775413392:(e,t)=>new l.IfcPreDefinedTextFont(e,new l.IfcLabel(t[0].value)),673634403:(e,t)=>new l.IfcProductDefinitionShape(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value)))),2802850158:(e,t)=>new l.IfcProfileProperties(e,t[0]?new l.IfcIdentifier(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),2598011224:(e,t)=>new l.IfcProperty(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null),1680319473:(e,t)=>new l.IfcPropertyDefinition(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),148025276:(e,t)=>new l.IfcPropertyDependencyRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4]?new l.IfcText(t[4].value):null),3357820518:(e,t)=>new l.IfcPropertySetDefinition(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),1482703590:(e,t)=>new l.IfcPropertyTemplateDefinition(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),2090586900:(e,t)=>new l.IfcQuantitySet(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),3615266464:(e,t)=>new l.IfcRectangleProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value)),3413951693:(e,t)=>new l.IfcRegularTimeSeries(e,new l.IfcLabel(t[0].value),t[1]?new l.IfcText(t[1].value):null,new l.IfcDateTime(t[2].value),new l.IfcDateTime(t[3].value),t[4],t[5],t[6]?new l.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,new l.IfcTimeMeasure(t[8].value),t[9].map((e=>new bm(e.value)))),1580146022:(e,t)=>new l.IfcReinforcementBarProperties(e,new l.IfcAreaMeasure(t[0].value),new l.IfcLabel(t[1].value),t[2],t[3]?new l.IfcLengthMeasure(t[3].value):null,t[4]?new l.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new l.IfcCountMeasure(t[5].value):null),478536968:(e,t)=>new l.IfcRelationship(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),2943643501:(e,t)=>new l.IfcResourceApprovalRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),1608871552:(e,t)=>new l.IfcResourceConstraintRelationship(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),1042787934:(e,t)=>new l.IfcResourceTime(e,t[0]?new l.IfcLabel(t[0].value):null,t[1],t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcDuration(t[3].value):null,t[4]?new l.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new l.IfcDateTime(t[5].value):null,t[6]?new l.IfcDateTime(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcDuration(t[8].value):null,t[9]?new l.IfcBoolean(t[9].value):null,t[10]?new l.IfcDateTime(t[10].value):null,t[11]?new l.IfcDuration(t[11].value):null,t[12]?new l.IfcPositiveRatioMeasure(t[12].value):null,t[13]?new l.IfcDateTime(t[13].value):null,t[14]?new l.IfcDateTime(t[14].value):null,t[15]?new l.IfcDuration(t[15].value):null,t[16]?new l.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new l.IfcPositiveRatioMeasure(t[17].value):null),2778083089:(e,t)=>new l.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value)),2042790032:(e,t)=>new l.IfcSectionProperties(e,t[0],new bm(t[1].value),t[2]?new bm(t[2].value):null),4165799628:(e,t)=>new l.IfcSectionReinforcementProperties(e,new l.IfcLengthMeasure(t[0].value),new l.IfcLengthMeasure(t[1].value),t[2]?new l.IfcLengthMeasure(t[2].value):null,t[3],new bm(t[4].value),t[5].map((e=>new bm(e.value)))),1509187699:(e,t)=>new l.IfcSectionedSpine(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2].map((e=>new bm(e.value)))),4124623270:(e,t)=>new l.IfcShellBasedSurfaceModel(e,t[0].map((e=>new bm(e.value)))),3692461612:(e,t)=>new l.IfcSimpleProperty(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null),2609359061:(e,t)=>new l.IfcSlippageConnectionCondition(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcLengthMeasure(t[1].value):null,t[2]?new l.IfcLengthMeasure(t[2].value):null,t[3]?new l.IfcLengthMeasure(t[3].value):null),723233188:(e,t)=>new l.IfcSolidModel(e),1595516126:(e,t)=>new l.IfcStructuralLoadLinearForce(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcLinearForceMeasure(t[1].value):null,t[2]?new l.IfcLinearForceMeasure(t[2].value):null,t[3]?new l.IfcLinearForceMeasure(t[3].value):null,t[4]?new l.IfcLinearMomentMeasure(t[4].value):null,t[5]?new l.IfcLinearMomentMeasure(t[5].value):null,t[6]?new l.IfcLinearMomentMeasure(t[6].value):null),2668620305:(e,t)=>new l.IfcStructuralLoadPlanarForce(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcPlanarForceMeasure(t[1].value):null,t[2]?new l.IfcPlanarForceMeasure(t[2].value):null,t[3]?new l.IfcPlanarForceMeasure(t[3].value):null),2473145415:(e,t)=>new l.IfcStructuralLoadSingleDisplacement(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcLengthMeasure(t[1].value):null,t[2]?new l.IfcLengthMeasure(t[2].value):null,t[3]?new l.IfcLengthMeasure(t[3].value):null,t[4]?new l.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new l.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new l.IfcPlaneAngleMeasure(t[6].value):null),1973038258:(e,t)=>new l.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcLengthMeasure(t[1].value):null,t[2]?new l.IfcLengthMeasure(t[2].value):null,t[3]?new l.IfcLengthMeasure(t[3].value):null,t[4]?new l.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new l.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new l.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new l.IfcCurvatureMeasure(t[7].value):null),1597423693:(e,t)=>new l.IfcStructuralLoadSingleForce(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcForceMeasure(t[1].value):null,t[2]?new l.IfcForceMeasure(t[2].value):null,t[3]?new l.IfcForceMeasure(t[3].value):null,t[4]?new l.IfcTorqueMeasure(t[4].value):null,t[5]?new l.IfcTorqueMeasure(t[5].value):null,t[6]?new l.IfcTorqueMeasure(t[6].value):null),1190533807:(e,t)=>new l.IfcStructuralLoadSingleForceWarping(e,t[0]?new l.IfcLabel(t[0].value):null,t[1]?new l.IfcForceMeasure(t[1].value):null,t[2]?new l.IfcForceMeasure(t[2].value):null,t[3]?new l.IfcForceMeasure(t[3].value):null,t[4]?new l.IfcTorqueMeasure(t[4].value):null,t[5]?new l.IfcTorqueMeasure(t[5].value):null,t[6]?new l.IfcTorqueMeasure(t[6].value):null,t[7]?new l.IfcWarpingMomentMeasure(t[7].value):null),2233826070:(e,t)=>new l.IfcSubedge(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value)),2513912981:(e,t)=>new l.IfcSurface(e),1878645084:(e,t)=>new l.IfcSurfaceStyleRendering(e,new bm(t[0].value),t[1]?new l.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?_m(2,t[7]):null,t[8]),2247615214:(e,t)=>new l.IfcSweptAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),1260650574:(e,t)=>new l.IfcSweptDiskSolid(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),t[2]?new l.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new l.IfcParameterValue(t[3].value):null,t[4]?new l.IfcParameterValue(t[4].value):null),1096409881:(e,t)=>new l.IfcSweptDiskSolidPolygonal(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),t[2]?new l.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new l.IfcParameterValue(t[3].value):null,t[4]?new l.IfcParameterValue(t[4].value):null,t[5]?new l.IfcPositiveLengthMeasure(t[5].value):null),230924584:(e,t)=>new l.IfcSweptSurface(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),3071757647:(e,t)=>new l.IfcTShapeProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcPositiveLengthMeasure(t[6].value),t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new l.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new l.IfcNonNegativeLengthMeasure(t[9].value):null,t[10]?new l.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new l.IfcPlaneAngleMeasure(t[11].value):null),901063453:(e,t)=>new l.IfcTessellatedItem(e),4282788508:(e,t)=>new l.IfcTextLiteral(e,new l.IfcPresentableText(t[0].value),new bm(t[1].value),t[2]),3124975700:(e,t)=>new l.IfcTextLiteralWithExtent(e,new l.IfcPresentableText(t[0].value),new bm(t[1].value),t[2],new bm(t[3].value),new l.IfcBoxAlignment(t[4].value)),1983826977:(e,t)=>new l.IfcTextStyleFontModel(e,new l.IfcLabel(t[0].value),t[1].map((e=>new l.IfcTextFontName(e.value))),t[2]?new l.IfcFontStyle(t[2].value):null,t[3]?new l.IfcFontVariant(t[3].value):null,t[4]?new l.IfcFontWeight(t[4].value):null,_m(2,t[5])),2715220739:(e,t)=>new l.IfcTrapeziumProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcLengthMeasure(t[6].value)),1628702193:(e,t)=>new l.IfcTypeObject(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null),3736923433:(e,t)=>new l.IfcTypeProcess(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),2347495698:(e,t)=>new l.IfcTypeProduct(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null),3698973494:(e,t)=>new l.IfcTypeResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),427810014:(e,t)=>new l.IfcUShapeProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcPositiveLengthMeasure(t[6].value),t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new l.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new l.IfcPlaneAngleMeasure(t[9].value):null),1417489154:(e,t)=>new l.IfcVector(e,new bm(t[0].value),new l.IfcLengthMeasure(t[1].value)),2759199220:(e,t)=>new l.IfcVertexLoop(e,new bm(t[0].value)),1299126871:(e,t)=>new l.IfcWindowStyle(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8],t[9],new l.IfcBoolean(t[10].value),new l.IfcBoolean(t[11].value)),2543172580:(e,t)=>new l.IfcZShapeProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcPositiveLengthMeasure(t[6].value),t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new l.IfcNonNegativeLengthMeasure(t[8].value):null),3406155212:(e,t)=>new l.IfcAdvancedFace(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new l.IfcBoolean(t[2].value)),669184980:(e,t)=>new l.IfcAnnotationFillArea(e,new bm(t[0].value),t[1]?t[1].map((e=>new bm(e.value))):null),3207858831:(e,t)=>new l.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcPositiveLengthMeasure(t[6].value),t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null,new l.IfcPositiveLengthMeasure(t[8].value),t[9]?new l.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new l.IfcNonNegativeLengthMeasure(t[10].value):null,t[11]?new l.IfcNonNegativeLengthMeasure(t[11].value):null,t[12]?new l.IfcPlaneAngleMeasure(t[12].value):null,t[13]?new l.IfcNonNegativeLengthMeasure(t[13].value):null,t[14]?new l.IfcPlaneAngleMeasure(t[14].value):null),4261334040:(e,t)=>new l.IfcAxis1Placement(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),3125803723:(e,t)=>new l.IfcAxis2Placement2D(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),2740243338:(e,t)=>new l.IfcAxis2Placement3D(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new bm(t[2].value):null),2736907675:(e,t)=>new l.IfcBooleanResult(e,t[0],new bm(t[1].value),new bm(t[2].value)),4182860854:(e,t)=>new l.IfcBoundedSurface(e),2581212453:(e,t)=>new l.IfcBoundingBox(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),new l.IfcPositiveLengthMeasure(t[2].value),new l.IfcPositiveLengthMeasure(t[3].value)),2713105998:(e,t)=>new l.IfcBoxedHalfSpace(e,new bm(t[0].value),new l.IfcBoolean(t[1].value),new bm(t[2].value)),2898889636:(e,t)=>new l.IfcCShapeProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcPositiveLengthMeasure(t[6].value),t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null),1123145078:(e,t)=>new l.IfcCartesianPoint(e,t[0].map((e=>new l.IfcLengthMeasure(e.value)))),574549367:(e,t)=>new l.IfcCartesianPointList(e),1675464909:(e,t)=>new l.IfcCartesianPointList2D(e,t[0].map((e=>new l.IfcLengthMeasure(e.value)))),2059837836:(e,t)=>new l.IfcCartesianPointList3D(e,t[0].map((e=>new l.IfcLengthMeasure(e.value)))),59481748:(e,t)=>new l.IfcCartesianTransformationOperator(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcReal(t[3].value):null),3749851601:(e,t)=>new l.IfcCartesianTransformationOperator2D(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcReal(t[3].value):null),3486308946:(e,t)=>new l.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcReal(t[3].value):null,t[4]?new l.IfcReal(t[4].value):null),3331915920:(e,t)=>new l.IfcCartesianTransformationOperator3D(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcReal(t[3].value):null,t[4]?new bm(t[4].value):null),1416205885:(e,t)=>new l.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcReal(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new l.IfcReal(t[5].value):null,t[6]?new l.IfcReal(t[6].value):null),1383045692:(e,t)=>new l.IfcCircleProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value)),2205249479:(e,t)=>new l.IfcClosedShell(e,t[0].map((e=>new bm(e.value)))),776857604:(e,t)=>new l.IfcColourRgb(e,t[0]?new l.IfcLabel(t[0].value):null,new l.IfcNormalisedRatioMeasure(t[1].value),new l.IfcNormalisedRatioMeasure(t[2].value),new l.IfcNormalisedRatioMeasure(t[3].value)),2542286263:(e,t)=>new l.IfcComplexProperty(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null,new l.IfcIdentifier(t[2].value),t[3].map((e=>new bm(e.value)))),2485617015:(e,t)=>new l.IfcCompositeCurveSegment(e,t[0],new l.IfcBoolean(t[1].value),new bm(t[2].value)),2574617495:(e,t)=>new l.IfcConstructionResourceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null),3419103109:(e,t)=>new l.IfcContext(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new bm(t[8].value):null),1815067380:(e,t)=>new l.IfcCrewResourceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),2506170314:(e,t)=>new l.IfcCsgPrimitive3D(e,new bm(t[0].value)),2147822146:(e,t)=>new l.IfcCsgSolid(e,new bm(t[0].value)),2601014836:(e,t)=>new l.IfcCurve(e),2827736869:(e,t)=>new l.IfcCurveBoundedPlane(e,new bm(t[0].value),new bm(t[1].value),t[2]?t[2].map((e=>new bm(e.value))):null),2629017746:(e,t)=>new l.IfcCurveBoundedSurface(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),new l.IfcBoolean(t[2].value)),32440307:(e,t)=>new l.IfcDirection(e,t[0].map((e=>new l.IfcReal(e.value)))),526551008:(e,t)=>new l.IfcDoorStyle(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8],t[9],new l.IfcBoolean(t[10].value),new l.IfcBoolean(t[11].value)),1472233963:(e,t)=>new l.IfcEdgeLoop(e,t[0].map((e=>new bm(e.value)))),1883228015:(e,t)=>new l.IfcElementQuantity(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5].map((e=>new bm(e.value)))),339256511:(e,t)=>new l.IfcElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),2777663545:(e,t)=>new l.IfcElementarySurface(e,new bm(t[0].value)),2835456948:(e,t)=>new l.IfcEllipseProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value)),4024345920:(e,t)=>new l.IfcEventType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new l.IfcLabel(t[11].value):null),477187591:(e,t)=>new l.IfcExtrudedAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new l.IfcPositiveLengthMeasure(t[3].value)),2804161546:(e,t)=>new l.IfcExtrudedAreaSolidTapered(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new l.IfcPositiveLengthMeasure(t[3].value),new bm(t[4].value)),2047409740:(e,t)=>new l.IfcFaceBasedSurfaceModel(e,t[0].map((e=>new bm(e.value)))),374418227:(e,t)=>new l.IfcFillAreaStyleHatching(e,new bm(t[0].value),new bm(t[1].value),t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,new l.IfcPlaneAngleMeasure(t[4].value)),315944413:(e,t)=>new l.IfcFillAreaStyleTiles(e,t[0].map((e=>new bm(e.value))),t[1].map((e=>new bm(e.value))),new l.IfcPositiveRatioMeasure(t[2].value)),2652556860:(e,t)=>new l.IfcFixedReferenceSweptAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcParameterValue(t[3].value):null,t[4]?new l.IfcParameterValue(t[4].value):null,new bm(t[5].value)),4238390223:(e,t)=>new l.IfcFurnishingElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),1268542332:(e,t)=>new l.IfcFurnitureType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]),4095422895:(e,t)=>new l.IfcGeographicElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),987898635:(e,t)=>new l.IfcGeometricCurveSet(e,t[0].map((e=>new bm(e.value)))),1484403080:(e,t)=>new l.IfcIShapeProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),new l.IfcPositiveLengthMeasure(t[6].value),t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new l.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new l.IfcPlaneAngleMeasure(t[9].value):null),178912537:(e,t)=>new l.IfcIndexedPolygonalFace(e,t[0].map((e=>new l.IfcPositiveInteger(e.value)))),2294589976:(e,t)=>new l.IfcIndexedPolygonalFaceWithVoids(e,t[0].map((e=>new l.IfcPositiveInteger(e.value))),t[1].map((e=>new l.IfcPositiveInteger(e.value)))),572779678:(e,t)=>new l.IfcLShapeProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),t[4]?new l.IfcPositiveLengthMeasure(t[4].value):null,new l.IfcPositiveLengthMeasure(t[5].value),t[6]?new l.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new l.IfcPlaneAngleMeasure(t[8].value):null),428585644:(e,t)=>new l.IfcLaborResourceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),1281925730:(e,t)=>new l.IfcLine(e,new bm(t[0].value),new bm(t[1].value)),1425443689:(e,t)=>new l.IfcManifoldSolidBrep(e,new bm(t[0].value)),3888040117:(e,t)=>new l.IfcObject(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null),3388369263:(e,t)=>new l.IfcOffsetCurve2D(e,new bm(t[0].value),new l.IfcLengthMeasure(t[1].value),new l.IfcLogical(t[2].value)),3505215534:(e,t)=>new l.IfcOffsetCurve3D(e,new bm(t[0].value),new l.IfcLengthMeasure(t[1].value),new l.IfcLogical(t[2].value),new bm(t[3].value)),1682466193:(e,t)=>new l.IfcPcurve(e,new bm(t[0].value),new bm(t[1].value)),603570806:(e,t)=>new l.IfcPlanarBox(e,new l.IfcLengthMeasure(t[0].value),new l.IfcLengthMeasure(t[1].value),new bm(t[2].value)),220341763:(e,t)=>new l.IfcPlane(e,new bm(t[0].value)),759155922:(e,t)=>new l.IfcPreDefinedColour(e,new l.IfcLabel(t[0].value)),2559016684:(e,t)=>new l.IfcPreDefinedCurveFont(e,new l.IfcLabel(t[0].value)),3967405729:(e,t)=>new l.IfcPreDefinedPropertySet(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),569719735:(e,t)=>new l.IfcProcedureType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2945172077:(e,t)=>new l.IfcProcess(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null),4208778838:(e,t)=>new l.IfcProduct(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),103090709:(e,t)=>new l.IfcProject(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new bm(t[8].value):null),653396225:(e,t)=>new l.IfcProjectLibrary(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new bm(t[8].value):null),871118103:(e,t)=>new l.IfcPropertyBoundedValue(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?_m(2,t[2]):null,t[3]?_m(2,t[3]):null,t[4]?new bm(t[4].value):null,t[5]?_m(2,t[5]):null),4166981789:(e,t)=>new l.IfcPropertyEnumeratedValue(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?t[2].map((e=>_m(2,e))):null,t[3]?new bm(t[3].value):null),2752243245:(e,t)=>new l.IfcPropertyListValue(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?t[2].map((e=>_m(2,e))):null,t[3]?new bm(t[3].value):null),941946838:(e,t)=>new l.IfcPropertyReferenceValue(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?new l.IfcText(t[2].value):null,t[3]?new bm(t[3].value):null),1451395588:(e,t)=>new l.IfcPropertySet(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value)))),492091185:(e,t)=>new l.IfcPropertySetTemplate(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4],t[5]?new l.IfcIdentifier(t[5].value):null,t[6].map((e=>new bm(e.value)))),3650150729:(e,t)=>new l.IfcPropertySingleValue(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?_m(2,t[2]):null,t[3]?new bm(t[3].value):null),110355661:(e,t)=>new l.IfcPropertyTableValue(e,new l.IfcIdentifier(t[0].value),t[1]?new l.IfcText(t[1].value):null,t[2]?t[2].map((e=>_m(2,e))):null,t[3]?t[3].map((e=>_m(2,e))):null,t[4]?new l.IfcText(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]),3521284610:(e,t)=>new l.IfcPropertyTemplate(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),3219374653:(e,t)=>new l.IfcProxy(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]?new l.IfcLabel(t[8].value):null),2770003689:(e,t)=>new l.IfcRectangleHollowProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value),new l.IfcPositiveLengthMeasure(t[5].value),t[6]?new l.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null),2798486643:(e,t)=>new l.IfcRectangularPyramid(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),new l.IfcPositiveLengthMeasure(t[2].value),new l.IfcPositiveLengthMeasure(t[3].value)),3454111270:(e,t)=>new l.IfcRectangularTrimmedSurface(e,new bm(t[0].value),new l.IfcParameterValue(t[1].value),new l.IfcParameterValue(t[2].value),new l.IfcParameterValue(t[3].value),new l.IfcParameterValue(t[4].value),new l.IfcBoolean(t[5].value),new l.IfcBoolean(t[6].value)),3765753017:(e,t)=>new l.IfcReinforcementDefinitionProperties(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5].map((e=>new bm(e.value)))),3939117080:(e,t)=>new l.IfcRelAssigns(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5]),1683148259:(e,t)=>new l.IfcRelAssignsToActor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),t[7]?new bm(t[7].value):null),2495723537:(e,t)=>new l.IfcRelAssignsToControl(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),1307041759:(e,t)=>new l.IfcRelAssignsToGroup(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),1027710054:(e,t)=>new l.IfcRelAssignsToGroupByFactor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),new l.IfcRatioMeasure(t[7].value)),4278684876:(e,t)=>new l.IfcRelAssignsToProcess(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),t[7]?new bm(t[7].value):null),2857406711:(e,t)=>new l.IfcRelAssignsToProduct(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),205026976:(e,t)=>new l.IfcRelAssignsToResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),1865459582:(e,t)=>new l.IfcRelAssociates(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value)))),4095574036:(e,t)=>new l.IfcRelAssociatesApproval(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),919958153:(e,t)=>new l.IfcRelAssociatesClassification(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),2728634034:(e,t)=>new l.IfcRelAssociatesConstraint(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5]?new l.IfcLabel(t[5].value):null,new bm(t[6].value)),982818633:(e,t)=>new l.IfcRelAssociatesDocument(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),3840914261:(e,t)=>new l.IfcRelAssociatesLibrary(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),2655215786:(e,t)=>new l.IfcRelAssociatesMaterial(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),826625072:(e,t)=>new l.IfcRelConnects(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),1204542856:(e,t)=>new l.IfcRelConnectsElements(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value)),3945020480:(e,t)=>new l.IfcRelConnectsPathElements(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value),t[7]?t[7].map((e=>new l.IfcInteger(e.value))):null,t[8]?t[8].map((e=>new l.IfcInteger(e.value))):null,t[9],t[10]),4201705270:(e,t)=>new l.IfcRelConnectsPortToElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),3190031847:(e,t)=>new l.IfcRelConnectsPorts(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null),2127690289:(e,t)=>new l.IfcRelConnectsStructuralActivity(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),1638771189:(e,t)=>new l.IfcRelConnectsStructuralMember(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new l.IfcLengthMeasure(t[8].value):null,t[9]?new bm(t[9].value):null),504942748:(e,t)=>new l.IfcRelConnectsWithEccentricity(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new l.IfcLengthMeasure(t[8].value):null,t[9]?new bm(t[9].value):null,new bm(t[10].value)),3678494232:(e,t)=>new l.IfcRelConnectsWithRealizingElements(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value),t[7].map((e=>new bm(e.value))),t[8]?new l.IfcLabel(t[8].value):null),3242617779:(e,t)=>new l.IfcRelContainedInSpatialStructure(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),886880790:(e,t)=>new l.IfcRelCoversBldgElements(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2802773753:(e,t)=>new l.IfcRelCoversSpaces(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2565941209:(e,t)=>new l.IfcRelDeclares(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2551354335:(e,t)=>new l.IfcRelDecomposes(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),693640335:(e,t)=>new l.IfcRelDefines(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null),1462361463:(e,t)=>new l.IfcRelDefinesByObject(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),4186316022:(e,t)=>new l.IfcRelDefinesByProperties(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),307848117:(e,t)=>new l.IfcRelDefinesByTemplate(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),781010003:(e,t)=>new l.IfcRelDefinesByType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),3940055652:(e,t)=>new l.IfcRelFillsElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),279856033:(e,t)=>new l.IfcRelFlowControlElements(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),427948657:(e,t)=>new l.IfcRelInterferesElements(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8].value),3268803585:(e,t)=>new l.IfcRelNests(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),750771296:(e,t)=>new l.IfcRelProjectsElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),1245217292:(e,t)=>new l.IfcRelReferencedInSpatialStructure(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),4122056220:(e,t)=>new l.IfcRelSequence(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7],t[8]?new l.IfcLabel(t[8].value):null),366585022:(e,t)=>new l.IfcRelServicesBuildings(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),3451746338:(e,t)=>new l.IfcRelSpaceBoundary(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7],t[8]),3523091289:(e,t)=>new l.IfcRelSpaceBoundary1stLevel(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7],t[8],t[9]?new bm(t[9].value):null),1521410863:(e,t)=>new l.IfcRelSpaceBoundary2ndLevel(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7],t[8],t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null),1401173127:(e,t)=>new l.IfcRelVoidsElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),816062949:(e,t)=>new l.IfcReparametrisedCompositeCurveSegment(e,t[0],new l.IfcBoolean(t[1].value),new bm(t[2].value),new l.IfcParameterValue(t[3].value)),2914609552:(e,t)=>new l.IfcResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null),1856042241:(e,t)=>new l.IfcRevolvedAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new l.IfcPlaneAngleMeasure(t[3].value)),3243963512:(e,t)=>new l.IfcRevolvedAreaSolidTapered(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new l.IfcPlaneAngleMeasure(t[3].value),new bm(t[4].value)),4158566097:(e,t)=>new l.IfcRightCircularCone(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),new l.IfcPositiveLengthMeasure(t[2].value)),3626867408:(e,t)=>new l.IfcRightCircularCylinder(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),new l.IfcPositiveLengthMeasure(t[2].value)),3663146110:(e,t)=>new l.IfcSimplePropertyTemplate(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4],t[5]?new l.IfcLabel(t[5].value):null,t[6]?new l.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new l.IfcLabel(t[10].value):null,t[11]),1412071761:(e,t)=>new l.IfcSpatialElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null),710998568:(e,t)=>new l.IfcSpatialElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),2706606064:(e,t)=>new l.IfcSpatialStructureElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]),3893378262:(e,t)=>new l.IfcSpatialStructureElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),463610769:(e,t)=>new l.IfcSpatialZone(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]),2481509218:(e,t)=>new l.IfcSpatialZoneType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]?new l.IfcLabel(t[10].value):null),451544542:(e,t)=>new l.IfcSphere(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value)),4015995234:(e,t)=>new l.IfcSphericalSurface(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value)),3544373492:(e,t)=>new l.IfcStructuralActivity(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),3136571912:(e,t)=>new l.IfcStructuralItem(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),530289379:(e,t)=>new l.IfcStructuralMember(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),3689010777:(e,t)=>new l.IfcStructuralReaction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),3979015343:(e,t)=>new l.IfcStructuralSurfaceMember(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]?new l.IfcPositiveLengthMeasure(t[8].value):null),2218152070:(e,t)=>new l.IfcStructuralSurfaceMemberVarying(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]?new l.IfcPositiveLengthMeasure(t[8].value):null),603775116:(e,t)=>new l.IfcStructuralSurfaceReaction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]),4095615324:(e,t)=>new l.IfcSubContractResourceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),699246055:(e,t)=>new l.IfcSurfaceCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]),2028607225:(e,t)=>new l.IfcSurfaceCurveSweptAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new l.IfcParameterValue(t[3].value):null,t[4]?new l.IfcParameterValue(t[4].value):null,new bm(t[5].value)),2809605785:(e,t)=>new l.IfcSurfaceOfLinearExtrusion(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new l.IfcLengthMeasure(t[3].value)),4124788165:(e,t)=>new l.IfcSurfaceOfRevolution(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value)),1580310250:(e,t)=>new l.IfcSystemFurnitureElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3473067441:(e,t)=>new l.IfcTask(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,new l.IfcBoolean(t[9].value),t[10]?new l.IfcInteger(t[10].value):null,t[11]?new bm(t[11].value):null,t[12]),3206491090:(e,t)=>new l.IfcTaskType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]?new l.IfcLabel(t[10].value):null),2387106220:(e,t)=>new l.IfcTessellatedFaceSet(e,new bm(t[0].value)),1935646853:(e,t)=>new l.IfcToroidalSurface(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),new l.IfcPositiveLengthMeasure(t[2].value)),2097647324:(e,t)=>new l.IfcTransportElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2916149573:(e,t)=>new l.IfcTriangulatedFaceSet(e,new bm(t[0].value),t[1]?t[1].map((e=>new l.IfcParameterValue(e.value))):null,t[2]?new l.IfcBoolean(t[2].value):null,t[3].map((e=>new l.IfcPositiveInteger(e.value))),t[4]?t[4].map((e=>new l.IfcPositiveInteger(e.value))):null),336235671:(e,t)=>new l.IfcWindowLiningProperties(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new l.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new l.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new l.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new l.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new l.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new l.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new bm(t[12].value):null,t[13]?new l.IfcLengthMeasure(t[13].value):null,t[14]?new l.IfcLengthMeasure(t[14].value):null,t[15]?new l.IfcLengthMeasure(t[15].value):null),512836454:(e,t)=>new l.IfcWindowPanelProperties(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4],t[5],t[6]?new l.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new l.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new bm(t[8].value):null),2296667514:(e,t)=>new l.IfcActor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,new bm(t[5].value)),1635779807:(e,t)=>new l.IfcAdvancedBrep(e,new bm(t[0].value)),2603310189:(e,t)=>new l.IfcAdvancedBrepWithVoids(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),1674181508:(e,t)=>new l.IfcAnnotation(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),2887950389:(e,t)=>new l.IfcBSplineSurface(e,new l.IfcInteger(t[0].value),new l.IfcInteger(t[1].value),t[2].map((e=>new bm(e.value))),t[3],new l.IfcLogical(t[4].value),new l.IfcLogical(t[5].value),new l.IfcLogical(t[6].value)),167062518:(e,t)=>new l.IfcBSplineSurfaceWithKnots(e,new l.IfcInteger(t[0].value),new l.IfcInteger(t[1].value),t[2].map((e=>new bm(e.value))),t[3],new l.IfcLogical(t[4].value),new l.IfcLogical(t[5].value),new l.IfcLogical(t[6].value),t[7].map((e=>new l.IfcInteger(e.value))),t[8].map((e=>new l.IfcInteger(e.value))),t[9].map((e=>new l.IfcParameterValue(e.value))),t[10].map((e=>new l.IfcParameterValue(e.value))),t[11]),1334484129:(e,t)=>new l.IfcBlock(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),new l.IfcPositiveLengthMeasure(t[2].value),new l.IfcPositiveLengthMeasure(t[3].value)),3649129432:(e,t)=>new l.IfcBooleanClippingResult(e,t[0],new bm(t[1].value),new bm(t[2].value)),1260505505:(e,t)=>new l.IfcBoundedCurve(e),4031249490:(e,t)=>new l.IfcBuilding(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8],t[9]?new l.IfcLengthMeasure(t[9].value):null,t[10]?new l.IfcLengthMeasure(t[10].value):null,t[11]?new bm(t[11].value):null),1950629157:(e,t)=>new l.IfcBuildingElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),3124254112:(e,t)=>new l.IfcBuildingStorey(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8],t[9]?new l.IfcLengthMeasure(t[9].value):null),2197970202:(e,t)=>new l.IfcChimneyType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2937912522:(e,t)=>new l.IfcCircleHollowProfileDef(e,t[0],t[1]?new l.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new l.IfcPositiveLengthMeasure(t[3].value),new l.IfcPositiveLengthMeasure(t[4].value)),3893394355:(e,t)=>new l.IfcCivilElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),300633059:(e,t)=>new l.IfcColumnType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3875453745:(e,t)=>new l.IfcComplexPropertyTemplate(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5],t[6]?t[6].map((e=>new bm(e.value))):null),3732776249:(e,t)=>new l.IfcCompositeCurve(e,t[0].map((e=>new bm(e.value))),new l.IfcLogical(t[1].value)),15328376:(e,t)=>new l.IfcCompositeCurveOnSurface(e,t[0].map((e=>new bm(e.value))),new l.IfcLogical(t[1].value)),2510884976:(e,t)=>new l.IfcConic(e,new bm(t[0].value)),2185764099:(e,t)=>new l.IfcConstructionEquipmentResourceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),4105962743:(e,t)=>new l.IfcConstructionMaterialResourceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),1525564444:(e,t)=>new l.IfcConstructionProductResourceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new l.IfcIdentifier(t[6].value):null,t[7]?new l.IfcText(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),2559216714:(e,t)=>new l.IfcConstructionResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null),3293443760:(e,t)=>new l.IfcControl(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null),3895139033:(e,t)=>new l.IfcCostItem(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6],t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?t[8].map((e=>new bm(e.value))):null),1419761937:(e,t)=>new l.IfcCostSchedule(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6],t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcDateTime(t[8].value):null,t[9]?new l.IfcDateTime(t[9].value):null),1916426348:(e,t)=>new l.IfcCoveringType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3295246426:(e,t)=>new l.IfcCrewResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),1457835157:(e,t)=>new l.IfcCurtainWallType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1213902940:(e,t)=>new l.IfcCylindricalSurface(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value)),3256556792:(e,t)=>new l.IfcDistributionElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),3849074793:(e,t)=>new l.IfcDistributionFlowElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),2963535650:(e,t)=>new l.IfcDoorLiningProperties(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new l.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new l.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new l.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new l.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new l.IfcLengthMeasure(t[9].value):null,t[10]?new l.IfcLengthMeasure(t[10].value):null,t[11]?new l.IfcLengthMeasure(t[11].value):null,t[12]?new l.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new l.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new bm(t[14].value):null,t[15]?new l.IfcLengthMeasure(t[15].value):null,t[16]?new l.IfcLengthMeasure(t[16].value):null),1714330368:(e,t)=>new l.IfcDoorPanelProperties(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new l.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new bm(t[8].value):null),2323601079:(e,t)=>new l.IfcDoorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new l.IfcBoolean(t[11].value):null,t[12]?new l.IfcLabel(t[12].value):null),445594917:(e,t)=>new l.IfcDraughtingPreDefinedColour(e,new l.IfcLabel(t[0].value)),4006246654:(e,t)=>new l.IfcDraughtingPreDefinedCurveFont(e,new l.IfcLabel(t[0].value)),1758889154:(e,t)=>new l.IfcElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),4123344466:(e,t)=>new l.IfcElementAssembly(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8],t[9]),2397081782:(e,t)=>new l.IfcElementAssemblyType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1623761950:(e,t)=>new l.IfcElementComponent(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),2590856083:(e,t)=>new l.IfcElementComponentType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),1704287377:(e,t)=>new l.IfcEllipse(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value),new l.IfcPositiveLengthMeasure(t[2].value)),2107101300:(e,t)=>new l.IfcEnergyConversionDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),132023988:(e,t)=>new l.IfcEngineType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3174744832:(e,t)=>new l.IfcEvaporativeCoolerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3390157468:(e,t)=>new l.IfcEvaporatorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4148101412:(e,t)=>new l.IfcEvent(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7],t[8],t[9]?new l.IfcLabel(t[9].value):null,t[10]?new bm(t[10].value):null),2853485674:(e,t)=>new l.IfcExternalSpatialStructureElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null),807026263:(e,t)=>new l.IfcFacetedBrep(e,new bm(t[0].value)),3737207727:(e,t)=>new l.IfcFacetedBrepWithVoids(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),647756555:(e,t)=>new l.IfcFastener(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2489546625:(e,t)=>new l.IfcFastenerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2827207264:(e,t)=>new l.IfcFeatureElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),2143335405:(e,t)=>new l.IfcFeatureElementAddition(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),1287392070:(e,t)=>new l.IfcFeatureElementSubtraction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),3907093117:(e,t)=>new l.IfcFlowControllerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),3198132628:(e,t)=>new l.IfcFlowFittingType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),3815607619:(e,t)=>new l.IfcFlowMeterType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1482959167:(e,t)=>new l.IfcFlowMovingDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),1834744321:(e,t)=>new l.IfcFlowSegmentType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),1339347760:(e,t)=>new l.IfcFlowStorageDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),2297155007:(e,t)=>new l.IfcFlowTerminalType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),3009222698:(e,t)=>new l.IfcFlowTreatmentDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),1893162501:(e,t)=>new l.IfcFootingType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),263784265:(e,t)=>new l.IfcFurnishingElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),1509553395:(e,t)=>new l.IfcFurniture(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3493046030:(e,t)=>new l.IfcGeographicElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3009204131:(e,t)=>new l.IfcGrid(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7].map((e=>new bm(e.value))),t[8].map((e=>new bm(e.value))),t[9]?t[9].map((e=>new bm(e.value))):null,t[10]),2706460486:(e,t)=>new l.IfcGroup(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null),1251058090:(e,t)=>new l.IfcHeatExchangerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1806887404:(e,t)=>new l.IfcHumidifierType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2571569899:(e,t)=>new l.IfcIndexedPolyCurve(e,new bm(t[0].value),t[1]?t[1].map((e=>_m(2,e))):null,t[2]?new l.IfcBoolean(t[2].value):null),3946677679:(e,t)=>new l.IfcInterceptorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3113134337:(e,t)=>new l.IfcIntersectionCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]),2391368822:(e,t)=>new l.IfcInventory(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5],t[6]?new bm(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new l.IfcDate(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null),4288270099:(e,t)=>new l.IfcJunctionBoxType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3827777499:(e,t)=>new l.IfcLaborResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),1051575348:(e,t)=>new l.IfcLampType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1161773419:(e,t)=>new l.IfcLightFixtureType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),377706215:(e,t)=>new l.IfcMechanicalFastener(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new l.IfcPositiveLengthMeasure(t[9].value):null,t[10]),2108223431:(e,t)=>new l.IfcMechanicalFastenerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]?new l.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new l.IfcPositiveLengthMeasure(t[11].value):null),1114901282:(e,t)=>new l.IfcMedicalDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3181161470:(e,t)=>new l.IfcMemberType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),977012517:(e,t)=>new l.IfcMotorConnectionType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4143007308:(e,t)=>new l.IfcOccupant(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,new bm(t[5].value),t[6]),3588315303:(e,t)=>new l.IfcOpeningElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3079942009:(e,t)=>new l.IfcOpeningStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2837617999:(e,t)=>new l.IfcOutletType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2382730787:(e,t)=>new l.IfcPerformanceHistory(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,new l.IfcLabel(t[6].value),t[7]),3566463478:(e,t)=>new l.IfcPermeableCoveringProperties(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4],t[5],t[6]?new l.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new l.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new bm(t[8].value):null),3327091369:(e,t)=>new l.IfcPermit(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6],t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcText(t[8].value):null),1158309216:(e,t)=>new l.IfcPileType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),804291784:(e,t)=>new l.IfcPipeFittingType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4231323485:(e,t)=>new l.IfcPipeSegmentType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4017108033:(e,t)=>new l.IfcPlateType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2839578677:(e,t)=>new l.IfcPolygonalFaceSet(e,new bm(t[0].value),t[1]?new l.IfcBoolean(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?t[3].map((e=>new l.IfcPositiveInteger(e.value))):null),3724593414:(e,t)=>new l.IfcPolyline(e,t[0].map((e=>new bm(e.value)))),3740093272:(e,t)=>new l.IfcPort(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),2744685151:(e,t)=>new l.IfcProcedure(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]),2904328755:(e,t)=>new l.IfcProjectOrder(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6],t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcText(t[8].value):null),3651124850:(e,t)=>new l.IfcProjectionElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1842657554:(e,t)=>new l.IfcProtectiveDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2250791053:(e,t)=>new l.IfcPumpType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2893384427:(e,t)=>new l.IfcRailingType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2324767716:(e,t)=>new l.IfcRampFlightType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1469900589:(e,t)=>new l.IfcRampType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),683857671:(e,t)=>new l.IfcRationalBSplineSurfaceWithKnots(e,new l.IfcInteger(t[0].value),new l.IfcInteger(t[1].value),t[2].map((e=>new bm(e.value))),t[3],new l.IfcLogical(t[4].value),new l.IfcLogical(t[5].value),new l.IfcLogical(t[6].value),t[7].map((e=>new l.IfcInteger(e.value))),t[8].map((e=>new l.IfcInteger(e.value))),t[9].map((e=>new l.IfcParameterValue(e.value))),t[10].map((e=>new l.IfcParameterValue(e.value))),t[11],t[12].map((e=>new l.IfcReal(e.value)))),3027567501:(e,t)=>new l.IfcReinforcingElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),964333572:(e,t)=>new l.IfcReinforcingElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),2320036040:(e,t)=>new l.IfcReinforcingMesh(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?new l.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new l.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new l.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new l.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new l.IfcAreaMeasure(t[13].value):null,t[14]?new l.IfcAreaMeasure(t[14].value):null,t[15]?new l.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new l.IfcPositiveLengthMeasure(t[16].value):null,t[17]),2310774935:(e,t)=>new l.IfcReinforcingMeshType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]?new l.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new l.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new l.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new l.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new l.IfcAreaMeasure(t[14].value):null,t[15]?new l.IfcAreaMeasure(t[15].value):null,t[16]?new l.IfcPositiveLengthMeasure(t[16].value):null,t[17]?new l.IfcPositiveLengthMeasure(t[17].value):null,t[18]?new l.IfcLabel(t[18].value):null,t[19]?t[19].map((e=>_m(2,e))):null),160246688:(e,t)=>new l.IfcRelAggregates(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2781568857:(e,t)=>new l.IfcRoofType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1768891740:(e,t)=>new l.IfcSanitaryTerminalType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2157484638:(e,t)=>new l.IfcSeamCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]),4074543187:(e,t)=>new l.IfcShadingDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4097777520:(e,t)=>new l.IfcSite(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8],t[9]?new l.IfcCompoundPlaneAngleMeasure(t[9].map((e=>e.value))):null,t[10]?new l.IfcCompoundPlaneAngleMeasure(t[10].map((e=>e.value))):null,t[11]?new l.IfcLengthMeasure(t[11].value):null,t[12]?new l.IfcLabel(t[12].value):null,t[13]?new bm(t[13].value):null),2533589738:(e,t)=>new l.IfcSlabType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1072016465:(e,t)=>new l.IfcSolarDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3856911033:(e,t)=>new l.IfcSpace(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new l.IfcLengthMeasure(t[10].value):null),1305183839:(e,t)=>new l.IfcSpaceHeaterType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3812236995:(e,t)=>new l.IfcSpaceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]?new l.IfcLabel(t[10].value):null),3112655638:(e,t)=>new l.IfcStackTerminalType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1039846685:(e,t)=>new l.IfcStairFlightType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),338393293:(e,t)=>new l.IfcStairType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),682877961:(e,t)=>new l.IfcStructuralAction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new l.IfcBoolean(t[9].value):null),1179482911:(e,t)=>new l.IfcStructuralConnection(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),1004757350:(e,t)=>new l.IfcStructuralCurveAction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new l.IfcBoolean(t[9].value):null,t[10],t[11]),4243806635:(e,t)=>new l.IfcStructuralCurveConnection(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,new bm(t[8].value)),214636428:(e,t)=>new l.IfcStructuralCurveMember(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],new bm(t[8].value)),2445595289:(e,t)=>new l.IfcStructuralCurveMemberVarying(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],new bm(t[8].value)),2757150158:(e,t)=>new l.IfcStructuralCurveReaction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]),1807405624:(e,t)=>new l.IfcStructuralLinearAction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new l.IfcBoolean(t[9].value):null,t[10],t[11]),1252848954:(e,t)=>new l.IfcStructuralLoadGroup(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new l.IfcRatioMeasure(t[8].value):null,t[9]?new l.IfcLabel(t[9].value):null),2082059205:(e,t)=>new l.IfcStructuralPointAction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new l.IfcBoolean(t[9].value):null),734778138:(e,t)=>new l.IfcStructuralPointConnection(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null),1235345126:(e,t)=>new l.IfcStructuralPointReaction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),2986769608:(e,t)=>new l.IfcStructuralResultGroup(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5],t[6]?new bm(t[6].value):null,new l.IfcBoolean(t[7].value)),3657597509:(e,t)=>new l.IfcStructuralSurfaceAction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new l.IfcBoolean(t[9].value):null,t[10],t[11]),1975003073:(e,t)=>new l.IfcStructuralSurfaceConnection(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),148013059:(e,t)=>new l.IfcSubContractResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),3101698114:(e,t)=>new l.IfcSurfaceFeature(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2315554128:(e,t)=>new l.IfcSwitchingDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2254336722:(e,t)=>new l.IfcSystem(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null),413509423:(e,t)=>new l.IfcSystemFurnitureElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),5716631:(e,t)=>new l.IfcTankType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3824725483:(e,t)=>new l.IfcTendon(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]?new l.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new l.IfcAreaMeasure(t[11].value):null,t[12]?new l.IfcForceMeasure(t[12].value):null,t[13]?new l.IfcPressureMeasure(t[13].value):null,t[14]?new l.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new l.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new l.IfcPositiveLengthMeasure(t[16].value):null),2347447852:(e,t)=>new l.IfcTendonAnchor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3081323446:(e,t)=>new l.IfcTendonAnchorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2415094496:(e,t)=>new l.IfcTendonType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]?new l.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new l.IfcAreaMeasure(t[11].value):null,t[12]?new l.IfcPositiveLengthMeasure(t[12].value):null),1692211062:(e,t)=>new l.IfcTransformerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1620046519:(e,t)=>new l.IfcTransportElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3593883385:(e,t)=>new l.IfcTrimmedCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2].map((e=>new bm(e.value))),new l.IfcBoolean(t[3].value),t[4]),1600972822:(e,t)=>new l.IfcTubeBundleType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1911125066:(e,t)=>new l.IfcUnitaryEquipmentType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),728799441:(e,t)=>new l.IfcValveType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2391383451:(e,t)=>new l.IfcVibrationIsolator(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3313531582:(e,t)=>new l.IfcVibrationIsolatorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2769231204:(e,t)=>new l.IfcVirtualElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),926996030:(e,t)=>new l.IfcVoidingFeature(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1898987631:(e,t)=>new l.IfcWallType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1133259667:(e,t)=>new l.IfcWasteTerminalType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4009809668:(e,t)=>new l.IfcWindowType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new l.IfcBoolean(t[11].value):null,t[12]?new l.IfcLabel(t[12].value):null),4088093105:(e,t)=>new l.IfcWorkCalendar(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]),1028945134:(e,t)=>new l.IfcWorkControl(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,new l.IfcDateTime(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?new l.IfcDuration(t[9].value):null,t[10]?new l.IfcDuration(t[10].value):null,new l.IfcDateTime(t[11].value),t[12]?new l.IfcDateTime(t[12].value):null),4218914973:(e,t)=>new l.IfcWorkPlan(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,new l.IfcDateTime(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?new l.IfcDuration(t[9].value):null,t[10]?new l.IfcDuration(t[10].value):null,new l.IfcDateTime(t[11].value),t[12]?new l.IfcDateTime(t[12].value):null,t[13]),3342526732:(e,t)=>new l.IfcWorkSchedule(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,new l.IfcDateTime(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?new l.IfcDuration(t[9].value):null,t[10]?new l.IfcDuration(t[10].value):null,new l.IfcDateTime(t[11].value),t[12]?new l.IfcDateTime(t[12].value):null,t[13]),1033361043:(e,t)=>new l.IfcZone(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null),3821786052:(e,t)=>new l.IfcActionRequest(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6],t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcText(t[8].value):null),1411407467:(e,t)=>new l.IfcAirTerminalBoxType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3352864051:(e,t)=>new l.IfcAirTerminalType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1871374353:(e,t)=>new l.IfcAirToAirHeatRecoveryType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3460190687:(e,t)=>new l.IfcAsset(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null,t[11]?new bm(t[11].value):null,t[12]?new l.IfcDate(t[12].value):null,t[13]?new bm(t[13].value):null),1532957894:(e,t)=>new l.IfcAudioVisualApplianceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1967976161:(e,t)=>new l.IfcBSplineCurve(e,new l.IfcInteger(t[0].value),t[1].map((e=>new bm(e.value))),t[2],new l.IfcLogical(t[3].value),new l.IfcLogical(t[4].value)),2461110595:(e,t)=>new l.IfcBSplineCurveWithKnots(e,new l.IfcInteger(t[0].value),t[1].map((e=>new bm(e.value))),t[2],new l.IfcLogical(t[3].value),new l.IfcLogical(t[4].value),t[5].map((e=>new l.IfcInteger(e.value))),t[6].map((e=>new l.IfcParameterValue(e.value))),t[7]),819618141:(e,t)=>new l.IfcBeamType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),231477066:(e,t)=>new l.IfcBoilerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1136057603:(e,t)=>new l.IfcBoundaryCurve(e,t[0].map((e=>new bm(e.value))),new l.IfcLogical(t[1].value)),3299480353:(e,t)=>new l.IfcBuildingElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),2979338954:(e,t)=>new l.IfcBuildingElementPart(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),39481116:(e,t)=>new l.IfcBuildingElementPartType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1095909175:(e,t)=>new l.IfcBuildingElementProxy(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1909888760:(e,t)=>new l.IfcBuildingElementProxyType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1177604601:(e,t)=>new l.IfcBuildingSystem(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5],t[6]?new l.IfcLabel(t[6].value):null),2188180465:(e,t)=>new l.IfcBurnerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),395041908:(e,t)=>new l.IfcCableCarrierFittingType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3293546465:(e,t)=>new l.IfcCableCarrierSegmentType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2674252688:(e,t)=>new l.IfcCableFittingType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1285652485:(e,t)=>new l.IfcCableSegmentType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2951183804:(e,t)=>new l.IfcChillerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3296154744:(e,t)=>new l.IfcChimney(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2611217952:(e,t)=>new l.IfcCircle(e,new bm(t[0].value),new l.IfcPositiveLengthMeasure(t[1].value)),1677625105:(e,t)=>new l.IfcCivilElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),2301859152:(e,t)=>new l.IfcCoilType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),843113511:(e,t)=>new l.IfcColumn(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),905975707:(e,t)=>new l.IfcColumnStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),400855858:(e,t)=>new l.IfcCommunicationsApplianceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3850581409:(e,t)=>new l.IfcCompressorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2816379211:(e,t)=>new l.IfcCondenserType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3898045240:(e,t)=>new l.IfcConstructionEquipmentResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),1060000209:(e,t)=>new l.IfcConstructionMaterialResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),488727124:(e,t)=>new l.IfcConstructionProductResource(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcIdentifier(t[5].value):null,t[6]?new l.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),335055490:(e,t)=>new l.IfcCooledBeamType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2954562838:(e,t)=>new l.IfcCoolingTowerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1973544240:(e,t)=>new l.IfcCovering(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3495092785:(e,t)=>new l.IfcCurtainWall(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3961806047:(e,t)=>new l.IfcDamperType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1335981549:(e,t)=>new l.IfcDiscreteAccessory(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2635815018:(e,t)=>new l.IfcDiscreteAccessoryType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1599208980:(e,t)=>new l.IfcDistributionChamberElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2063403501:(e,t)=>new l.IfcDistributionControlElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null),1945004755:(e,t)=>new l.IfcDistributionElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),3040386961:(e,t)=>new l.IfcDistributionFlowElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),3041715199:(e,t)=>new l.IfcDistributionPort(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8],t[9]),3205830791:(e,t)=>new l.IfcDistributionSystem(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]),395920057:(e,t)=>new l.IfcDoor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new l.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new l.IfcLabel(t[12].value):null),3242481149:(e,t)=>new l.IfcDoorStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new l.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new l.IfcLabel(t[12].value):null),869906466:(e,t)=>new l.IfcDuctFittingType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3760055223:(e,t)=>new l.IfcDuctSegmentType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2030761528:(e,t)=>new l.IfcDuctSilencerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),663422040:(e,t)=>new l.IfcElectricApplianceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2417008758:(e,t)=>new l.IfcElectricDistributionBoardType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),3277789161:(e,t)=>new l.IfcElectricFlowStorageDeviceType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1534661035:(e,t)=>new l.IfcElectricGeneratorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1217240411:(e,t)=>new l.IfcElectricMotorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),712377611:(e,t)=>new l.IfcElectricTimeControlType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1658829314:(e,t)=>new l.IfcEnergyConversionDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),2814081492:(e,t)=>new l.IfcEngine(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3747195512:(e,t)=>new l.IfcEvaporativeCooler(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),484807127:(e,t)=>new l.IfcEvaporator(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1209101575:(e,t)=>new l.IfcExternalSpatialElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]),346874300:(e,t)=>new l.IfcFanType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1810631287:(e,t)=>new l.IfcFilterType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4222183408:(e,t)=>new l.IfcFireSuppressionTerminalType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2058353004:(e,t)=>new l.IfcFlowController(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),4278956645:(e,t)=>new l.IfcFlowFitting(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),4037862832:(e,t)=>new l.IfcFlowInstrumentType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),2188021234:(e,t)=>new l.IfcFlowMeter(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3132237377:(e,t)=>new l.IfcFlowMovingDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),987401354:(e,t)=>new l.IfcFlowSegment(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),707683696:(e,t)=>new l.IfcFlowStorageDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),2223149337:(e,t)=>new l.IfcFlowTerminal(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),3508470533:(e,t)=>new l.IfcFlowTreatmentDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),900683007:(e,t)=>new l.IfcFooting(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3319311131:(e,t)=>new l.IfcHeatExchanger(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2068733104:(e,t)=>new l.IfcHumidifier(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4175244083:(e,t)=>new l.IfcInterceptor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2176052936:(e,t)=>new l.IfcJunctionBox(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),76236018:(e,t)=>new l.IfcLamp(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),629592764:(e,t)=>new l.IfcLightFixture(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1437502449:(e,t)=>new l.IfcMedicalDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1073191201:(e,t)=>new l.IfcMember(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1911478936:(e,t)=>new l.IfcMemberStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2474470126:(e,t)=>new l.IfcMotorConnection(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),144952367:(e,t)=>new l.IfcOuterBoundaryCurve(e,t[0].map((e=>new bm(e.value))),new l.IfcLogical(t[1].value)),3694346114:(e,t)=>new l.IfcOutlet(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1687234759:(e,t)=>new l.IfcPile(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8],t[9]),310824031:(e,t)=>new l.IfcPipeFitting(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3612865200:(e,t)=>new l.IfcPipeSegment(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3171933400:(e,t)=>new l.IfcPlate(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1156407060:(e,t)=>new l.IfcPlateStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),738039164:(e,t)=>new l.IfcProtectiveDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),655969474:(e,t)=>new l.IfcProtectiveDeviceTrippingUnitType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),90941305:(e,t)=>new l.IfcPump(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2262370178:(e,t)=>new l.IfcRailing(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3024970846:(e,t)=>new l.IfcRamp(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3283111854:(e,t)=>new l.IfcRampFlight(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1232101972:(e,t)=>new l.IfcRationalBSplineCurveWithKnots(e,new l.IfcInteger(t[0].value),t[1].map((e=>new bm(e.value))),t[2],new l.IfcLogical(t[3].value),new l.IfcLogical(t[4].value),t[5].map((e=>new l.IfcInteger(e.value))),t[6].map((e=>new l.IfcParameterValue(e.value))),t[7],t[8].map((e=>new l.IfcReal(e.value)))),979691226:(e,t)=>new l.IfcReinforcingBar(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]?new l.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new l.IfcAreaMeasure(t[10].value):null,t[11]?new l.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13]),2572171363:(e,t)=>new l.IfcReinforcingBarType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9],t[10]?new l.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new l.IfcAreaMeasure(t[11].value):null,t[12]?new l.IfcPositiveLengthMeasure(t[12].value):null,t[13],t[14]?new l.IfcLabel(t[14].value):null,t[15]?t[15].map((e=>_m(2,e))):null),2016517767:(e,t)=>new l.IfcRoof(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3053780830:(e,t)=>new l.IfcSanitaryTerminal(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1783015770:(e,t)=>new l.IfcSensorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1329646415:(e,t)=>new l.IfcShadingDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1529196076:(e,t)=>new l.IfcSlab(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3127900445:(e,t)=>new l.IfcSlabElementedCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3027962421:(e,t)=>new l.IfcSlabStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3420628829:(e,t)=>new l.IfcSolarDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1999602285:(e,t)=>new l.IfcSpaceHeater(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1404847402:(e,t)=>new l.IfcStackTerminal(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),331165859:(e,t)=>new l.IfcStair(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4252922144:(e,t)=>new l.IfcStairFlight(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcInteger(t[8].value):null,t[9]?new l.IfcInteger(t[9].value):null,t[10]?new l.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new l.IfcPositiveLengthMeasure(t[11].value):null,t[12]),2515109513:(e,t)=>new l.IfcStructuralAnalysisModel(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5],t[6]?new bm(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null),385403989:(e,t)=>new l.IfcStructuralLoadCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new l.IfcRatioMeasure(t[8].value):null,t[9]?new l.IfcLabel(t[9].value):null,t[10]?t[10].map((e=>new l.IfcRatioMeasure(e.value))):null),1621171031:(e,t)=>new l.IfcStructuralPlanarAction(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new l.IfcBoolean(t[9].value):null,t[10],t[11]),1162798199:(e,t)=>new l.IfcSwitchingDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),812556717:(e,t)=>new l.IfcTank(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3825984169:(e,t)=>new l.IfcTransformer(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3026737570:(e,t)=>new l.IfcTubeBundle(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3179687236:(e,t)=>new l.IfcUnitaryControlElementType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4292641817:(e,t)=>new l.IfcUnitaryEquipment(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4207607924:(e,t)=>new l.IfcValve(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2391406946:(e,t)=>new l.IfcWall(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4156078855:(e,t)=>new l.IfcWallElementedCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3512223829:(e,t)=>new l.IfcWallStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4237592921:(e,t)=>new l.IfcWasteTerminal(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3304561284:(e,t)=>new l.IfcWindow(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new l.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new l.IfcLabel(t[12].value):null),486154966:(e,t)=>new l.IfcWindowStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]?new l.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new l.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new l.IfcLabel(t[12].value):null),2874132201:(e,t)=>new l.IfcActuatorType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),1634111441:(e,t)=>new l.IfcAirTerminal(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),177149247:(e,t)=>new l.IfcAirTerminalBox(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2056796094:(e,t)=>new l.IfcAirToAirHeatRecovery(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3001207471:(e,t)=>new l.IfcAlarmType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),277319702:(e,t)=>new l.IfcAudioVisualAppliance(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),753842376:(e,t)=>new l.IfcBeam(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2906023776:(e,t)=>new l.IfcBeamStandardCase(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),32344328:(e,t)=>new l.IfcBoiler(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2938176219:(e,t)=>new l.IfcBurner(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),635142910:(e,t)=>new l.IfcCableCarrierFitting(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3758799889:(e,t)=>new l.IfcCableCarrierSegment(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1051757585:(e,t)=>new l.IfcCableFitting(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4217484030:(e,t)=>new l.IfcCableSegment(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3902619387:(e,t)=>new l.IfcChiller(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),639361253:(e,t)=>new l.IfcCoil(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3221913625:(e,t)=>new l.IfcCommunicationsAppliance(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3571504051:(e,t)=>new l.IfcCompressor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2272882330:(e,t)=>new l.IfcCondenser(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),578613899:(e,t)=>new l.IfcControllerType(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new l.IfcLabel(t[7].value):null,t[8]?new l.IfcLabel(t[8].value):null,t[9]),4136498852:(e,t)=>new l.IfcCooledBeam(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3640358203:(e,t)=>new l.IfcCoolingTower(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4074379575:(e,t)=>new l.IfcDamper(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1052013943:(e,t)=>new l.IfcDistributionChamberElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),562808652:(e,t)=>new l.IfcDistributionCircuit(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new l.IfcLabel(t[5].value):null,t[6]),1062813311:(e,t)=>new l.IfcDistributionControlElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null),342316401:(e,t)=>new l.IfcDuctFitting(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3518393246:(e,t)=>new l.IfcDuctSegment(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1360408905:(e,t)=>new l.IfcDuctSilencer(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1904799276:(e,t)=>new l.IfcElectricAppliance(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),862014818:(e,t)=>new l.IfcElectricDistributionBoard(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3310460725:(e,t)=>new l.IfcElectricFlowStorageDevice(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),264262732:(e,t)=>new l.IfcElectricGenerator(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),402227799:(e,t)=>new l.IfcElectricMotor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1003880860:(e,t)=>new l.IfcElectricTimeControl(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3415622556:(e,t)=>new l.IfcFan(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),819412036:(e,t)=>new l.IfcFilter(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),1426591983:(e,t)=>new l.IfcFireSuppressionTerminal(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),182646315:(e,t)=>new l.IfcFlowInstrument(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),2295281155:(e,t)=>new l.IfcProtectiveDeviceTrippingUnit(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4086658281:(e,t)=>new l.IfcSensor(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),630975310:(e,t)=>new l.IfcUnitaryControlElement(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),4288193352:(e,t)=>new l.IfcActuator(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),3087945054:(e,t)=>new l.IfcAlarm(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8]),25142252:(e,t)=>new l.IfcController(e,new l.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new l.IfcLabel(t[2].value):null,t[3]?new l.IfcText(t[3].value):null,t[4]?new l.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new l.IfcIdentifier(t[7].value):null,t[8])},xm[2]={618182010:[Kf,_I],411424972:[om],4037036970:[ym,vm,wm,Tm],1387855156:[ym],2859738748:[wf,Na,hm,vf,dm],2614616156:[vf],1959218052:[GI,jI],1785450214:[Sa],1466758467:[Ta],4294318154:[sm,mm,QI],3200245327:[df,Df,ZI,JI,$I,em],760658860:[na,sa,KI,ga,Ea,Ra,YI,Da,XI],248100487:[Da],2235152071:[Ea],1507914824:[ea,ta,kI],1918398963:[pa,mf,yf,dI],3701648758:[Vd,Jd],2483315170:[Cd,vI,wI,TI,EI,gI,RI,MI],2226359599:[vI,wI,TI,EI,gI,RI],677532197:[Up,Ed,Fp,gd,Yf,LI,qI,ra,im,am,lm,Rf,fm,ha,fa,Gf,aa,la,Vf,jf,zf,Wf,kf,xd,Zd,bf,Zf,Qf,Fh,Jf,$f,eI],2022622350:[xI],3119450353:[sf,If,Xf,tI],2095639259:[vd,Ud],3958567839:[gp,Rp,qp,Mc,sh,uh,jc,gh,Oh,Lh,Mh,rp,ad,cd,Pd,Ji,ff,Ef,Sf,Of,Nf,Af],986844984:[gf,ud,pd,dd,fd,Id,yd,rI,NI,pI,hI,mI,Qi,OI,WI,ca,DI],1076942058:[nI,iI,Bf,oI,cI],3377609919:[ef,nf],3008791417:[Fd,Op,xp,Cp,Wp,$l,yc,Pc,Rn,is,hr,xr,Ro,Ls,Cn,ss,Ws,qc,Fc,Ts,xs,si,bi,yp,vp,Ep,Zp,Vc,au,ou,cu,lp,Jp,di,th,ih,ah,lh,rh,oh,Bi,Ui,Fi,hh,Gc,fh,Th,Nh,Ph,qh,bs,$s,ti,Oi,Ai,zi,Gs,ei,li,fp,_p,Ds,Ks,Zs,ap,qi,Kp,dh,Kc,Zc,Hh,Gh,uc,pc,Qs,Js,Tp,Qp,Wi,Bh,Qc,hi,uu,Ci,Li,Lp,Uh,ed,nd,id,ch,Sd,bd,Nd,Ip,Od,Ih,mh,yh,Ad,jd,zd,Wd,kd,Yd,Xd,ph,Rd,Qd,Dp,$d,tf,Ld,Bp,bh,Dd,Gd,rf,of,Gi,lf,cf,Vh,qd,uf,pf,nh,_d,Tf,_f,Mf,Uf,sI],2439245199:[Yi,Xi,SI,UI,$i,oa,nm,rm,Em],2341007311:[Su,yi,bu,vi,Nu,po,hu,vu,Eu,Ou,wi,fi,Ii,du,fu,Iu,yu,mi,Ru,Du,Au,xu,Cu,Pu,qu,Mu,Hu,Bu,Lu,Uu,Fu,Gu,ju,zu,Wu,ku,Yu,Xu,Zu,Qu,$u,ep,Ti,tp,np,sp,ip,ld,ks,pi,Ei,gi,Zi,cp,mp,jp,zp,Dh,Sh,rd,Si,Hp,Ki,hd,md,dr,ja,Ht,Xn,ts,Tr,_r,Ur,fn,Wr,jo,ko,vr,Er,gr,Rr,ls,To,No,Oo,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,Cl,go,Yo,vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,En,xn,qn,_n,Mn,rl,Ct,hn,ol,_t,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,Jt,qa,sn,Ha,Ba,ln,Ua,za,Wa,vn,wn,ka,Tn,Ka,$a,el,tl,Nn,nl,sl,Pn,il,al,Yn,xl,Fl,Gl,Zn,Ql,Jn,ar,or,br,Cr,Ps,hs,qs,Zo,ds,os,Os,Co,ac,vo,lc,rc,Hl,lr,cs,Oa,Ga,Va,Za,Qa,Ho,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu,iu,Vn,Ms,oi,io,lo,Hc,Uc,ru,ui,op,hp,Eo,Hs,Yc,dp,wp,Ri,pp,Mi,Vs,js,zs,ii,Ni,_i,Hi,Vi,ri,to,lu,ci,Ml,ns,Fa,gn,us,ps,gs,Rs,Mo,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,co,Ao,As,Uo,Fo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,pr,rs,Sr,ys,$r,ao,ws,Es,Ss,ho,fo,Do,Ns,_o,_s,Fs,bc,Oc,_c,Xs,Bc,kc,xi,Xc,Sp,bp,Mp,Vp,Rh,Ah,ni,Di,Pi,ji,xh,Hd],1054537805:[ki,ia,ua,da,Ia,ma],3982875396:[Bf,oI],2273995522:[td,af],2162789131:[ya,Wh,kh,Yh,Xh,Kh,Zh,aI,lI,va,wa],609421318:[ya,Wh,kh,Yh,Xh,Kh,Zh,aI,lI],2525727697:[Wh,kh,Yh,Xh,Kh,Zh,aI],2830218821:[nI],846575682:[Fh],626085974:[xd,Zd,bf],1549132990:[Ia],280115917:[aa,la,Vf,jf],3101149627:[od,Kd],1377556343:[Ld,Bp,bh,Dd,Gd,rf,of,Gi,lf,cf,Vh,qd,uf,pf,nh,_d,Tf,_f,Mf],2799835756:[_f],3798115385:[Nf],1310608509:[Sf],3264961684:[Rf],370225590:[nh,_d],2889183280:[pa],3632507154:[Ji],3900360178:[Vh,qd,uf],297599258:[OI,WI],2556980723:[Gi,lf],1809719519:[rf],3008276851:[Gi],3448662350:[ef],2453401579:[Op,xp,Cp,Wp,$l,yc,Pc,Rn,is,hr,xr,Ro,Ls,Cn,ss,Ws,qc,Fc,Ts,xs,si,bi,yp,vp,Ep,Zp,Vc,au,ou,cu,lp,Jp,di,th,ih,ah,lh,rh,oh,Bi,Ui,Fi,hh,Gc,fh,Th,Nh,Ph,qh,bs,$s,ti,Oi,Ai,zi,Gs,ei,li,fp,_p,Ds,Ks,Zs,ap,qi,Kp,dh,Kc,Zc,Hh,Gh,uc,pc,Qs,Js,Tp,Qp,Wi,Bh,Qc,hi,uu,Ci,Li,Lp,Uh,ed,nd,id,ch,Sd,bd,Nd,Ip,Od,Ih,mh,yh,Ad,jd,zd,Wd,kd,Yd,Xd,ph,Rd,Qd,Dp,$d],3590301190:[Dp],812098782:[ph,Rd],1437953363:[aa],1402838566:[jd,zd,Wd,kd,Yd],1520743889:[jd],1008929658:[Bp,bh,Dd],3079605661:[ea],219451334:[dr,ja,Ht,Xn,ts,Tr,_r,Ur,fn,Wr,jo,ko,vr,Er,gr,Rr,ls,To,No,Oo,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,Cl,go,Yo,vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,En,xn,qn,_n,Mn,rl,Ct,hn,ol,_t,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,Jt,qa,sn,Ha,Ba,ln,Ua,za,Wa,vn,wn,ka,Tn,Ka,$a,el,tl,Nn,nl,sl,Pn,il,al,Yn,xl,Fl,Gl,Zn,Ql,Jn,ar,or,br,Cr,Ps,hs,qs,Zo,ds,os,Os,Co,ac,vo,lc,rc,Hl,lr,cs,Oa,Ga,Va,Za,Qa,Ho,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu,iu,Vn,Ms,oi,io,lo,Hc,Uc,ru,ui,op,hp,Eo,Hs,Yc,dp,wp,Ri,pp,Mi,Vs,js,zs,ii,Ni,_i,Hi,Vi,ri,to,lu,ci,Ml,ns,Fa,gn,us,ps,gs,Rs,Mo,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,co,Ao,As,Uo,Fo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,pr,rs,Sr,ys,$r,ao,ws,Es,Ss,ho,fo,Do,Ns,_o,_s,Fs,bc,Oc,_c,Xs,Bc,kc,xi,Xc,Sp,bp,Mp,Vp,Rh,Ah,ni,Di,Pi,ji,xh],2529465313:[gp,Rp,qp,Mc,sh,uh,jc,gh,Oh,Lh,Mh,rp,ad,cd],2004835150:[Ih,mh,yh],1663979128:[Ip],2067069095:[ch,Sd,bd],3727388367:[Up,Ed,Fp,gd,Yf,LI],3778827333:[pI,hI,mI],1775413392:[Yf],2598011224:[gf,ud,pd,dd,fd,Id,yd,rI],1680319473:[ks,pi,Ei,gi,Zi,cp,mp,jp,zp,Dh,Sh,rd,Si,Hp,Ki,hd],3357820518:[cp,mp,jp,zp,Dh,Sh,rd,Si,Hp,Ki],1482703590:[ks,pi,Ei,gi],2090586900:[Hp],3615266464:[rp,ad],478536968:[Su,yi,bu,vi,Nu,po,hu,vu,Eu,Ou,wi,fi,Ii,du,fu,Iu,yu,mi,Ru,Du,Au,xu,Cu,Pu,qu,Mu,Hu,Bu,Lu,Uu,Fu,Gu,ju,zu,Wu,ku,Yu,Xu,Zu,Qu,$u,ep,Ti,tp,np,sp,ip],3692461612:[ud,pd,dd,fd,Id,yd],723233188:[uc,pc,Qs,Js,Tp,Qp,Wi,Bh,Qc,hi,uu,Ci,Li,Lp,Uh],2473145415:[Yh],1597423693:[Wh],2513912981:[Gs,ei,li,fp,_p,Ds,Ks,Zs,ap,qi,Kp,dh,Kc,Zc,Hh],2247615214:[Qc,hi,uu,Ci,Li,Lp],1260650574:[Wi],230924584:[Kc,Zc],901063453:[bs,$s,ti,Oi,Ai],4282788508:[Ph],1628702193:[Vs,js,zs,ii,Ni,_i,Hi,Vi,ri,to,lu,ci,Ml,ns,Fa,gn,us,ps,gs,Rs,Mo,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,co,Ao,As,Uo,Fo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,pr,rs,Sr,ys,$r,ao,ws,Es,Ss,ho,fo,Do,Ns,_o,_s,Fs,bc,Oc,_c,Xs,Bc,kc,xi,Xc,Sp,bp,Mp,Vp,Rh,Ah,ni,Di,Pi,ji],3736923433:[ni,Di,Pi],2347495698:[ri,to,lu,ci,Ml,ns,Fa,gn,us,ps,gs,Rs,Mo,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,co,Ao,As,Uo,Fo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,pr,rs,Sr,ys,$r,ao,ws,Es,Ss,ho,fo,Do,Ns,_o,_s,Fs,bc,Oc,_c,Xs,Bc,kc,xi,Xc,Sp,bp,Mp,Vp,Rh],3698973494:[Vs,js,zs,ii,Ni,_i,Hi],2736907675:[Gc],4182860854:[Ds,Ks,Zs,ap,qi,Kp],574549367:[Bi,Ui],59481748:[ih,ah,lh,rh],3749851601:[lh],3331915920:[ih],1383045692:[Mc],2485617015:[di],2574617495:[Vs,js,zs,ii,Ni,_i],3419103109:[Ri,pp],2506170314:[Vc,au,ou,cu,lp],2601014836:[$l,yc,Pc,Rn,is,hr,xr,Ro,Ls,Cn,ss,Ws,qc,Fc,Ts,xs,si,bi,yp,vp,Ep],339256511:[Ml,ns,Fa,gn,us,ps,gs,Rs,Mo,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,co,Ao,As,Uo,Fo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,pr,rs,Sr,ys,$r,ao,ws,Es,Ss,ho,fo,Do,Ns,_o,_s,Fs,bc,Oc,_c,Xs,Bc,kc,xi,Xc,Sp,bp],2777663545:[Gs,ei,li,fp],477187591:[Li],4238390223:[Xc,Sp],178912537:[Oi],1425443689:[uc,pc,Qs,Js],3888040117:[dr,ja,Ht,Xn,ts,Tr,_r,Ur,fn,Wr,jo,ko,vr,Er,gr,Rr,ls,To,No,Oo,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,Cl,go,Yo,vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,En,xn,qn,_n,Mn,rl,Ct,hn,ol,_t,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,Jt,qa,sn,Ha,Ba,ln,Ua,za,Wa,vn,wn,ka,Tn,Ka,$a,el,tl,Nn,nl,sl,Pn,il,al,Yn,xl,Fl,Gl,Zn,Ql,Jn,ar,or,br,Cr,Ps,hs,qs,Zo,ds,os,Os,Co,ac,vo,lc,rc,Hl,lr,cs,Oa,Ga,Va,Za,Qa,Ho,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu,iu,Vn,Ms,oi,io,lo,Hc,Uc,ru,ui,op,hp,Eo,Hs,Yc,dp],759155922:[Fp],2559016684:[Up],3967405729:[mp,jp,zp,Dh,Sh,rd],2945172077:[Eo,Hs,Yc],4208778838:[Cl,go,Yo,vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,En,xn,qn,_n,Mn,rl,Ct,hn,ol,_t,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,Jt,qa,sn,Ha,Ba,ln,Ua,za,Wa,vn,wn,ka,Tn,Ka,$a,el,tl,Nn,nl,sl,Pn,il,al,Yn,xl,Fl,Gl,Zn,Ql,Jn,ar,or,br,Cr,Ps,hs,qs,Zo,ds,os,Os,Co,ac,vo,lc,rc,Hl,lr,cs,Oa,Ga,Va,Za,Qa,Ho,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu,iu,Vn,Ms,oi,io,lo,Hc,Uc,ru,ui,op],3521284610:[ks,pi],3939117080:[Qu,$u,ep,Ti,tp,np,sp],1307041759:[Ti],1865459582:[ju,zu,Wu,ku,Yu,Xu],826625072:[fi,Ii,du,fu,Iu,yu,mi,Ru,Du,Au,xu,Cu,Pu,qu,Mu,Hu,Bu,Lu,Uu,Fu],1204542856:[Lu,Uu],1638771189:[Pu],2551354335:[po,hu,vu,Eu],693640335:[Su,yi,bu,vi],3451746338:[fi,Ii],3523091289:[fi],2914609552:[zl,Wl,kl,Hr,Go,Nc,Lc],1856042241:[hi],1412071761:[Vn,Ms,oi,io,lo,Hc,Uc,ru],710998568:[ri,to,lu],2706606064:[io,lo,Hc,Uc],3893378262:[to],3544373492:[zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu],3136571912:[Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu],530289379:[Xr,Kr,$c,eu],3689010777:[Fr,Is,ai],3979015343:[$c],699246055:[Ts,xs],2387106220:[bs,$s],2296667514:[Lo],1635779807:[Qs],2887950389:[Ds,Ks],167062518:[Ds],1260505505:[Rn,is,hr,xr,Ro,Ls,Cn,ss,Ws,qc],1950629157:[ir,pr,rs,Sr,ys,$r,ao,ws,Es,Ss,ho,fo,Do,Ns,_o,_s,Fs,bc,Oc,_c,Xs],3732776249:[Cn,ss,Ws],15328376:[Cn,ss],2510884976:[$l,yc],2559216714:[zl,Wl,kl,Hr,Go,Nc],3293443760:[vr,Er,gr,Rr,ls,To,No,Oo,Ac,xc],3256556792:[La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,co,Ao,As,Uo,Fo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc],3849074793:[_l,Il,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,co,Ao,As,Uo,Fo,Jo,Dl,qr,$o,Ol,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc],1758889154:[vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,En,xn,qn,_n,Mn,rl,Ct,hn,ol,_t,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,Jt,qa,sn,Ha,Ba,ln,Ua,za,Wa,vn,wn,ka,Tn,Ka,$a,el,tl,Nn,nl,sl,Pn,il,al,Yn,xl,Fl,Gl,Zn,Ql,Jn,ar,or,br,Cr,Ps,hs,qs,Zo,ds,os,Os,Co,ac,vo,lc,rc,Hl,lr,cs,Oa,Ga,Va,Za,Qa,Ho,cc,wc,Tc],1623761950:[Hl,lr,cs,Oa,Ga,Va,Za,Qa,Ho,cc],2590856083:[Ml,ns,Fa,gn,us,ps,gs,Rs,Mo,oc],2107101300:[El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs],2853485674:[Vn],807026263:[uc],2827207264:[ds,os,Os,Co,ac,vo,lc],2143335405:[vo],1287392070:[os,Os,Co],3907093117:[Tl,kn,Ul,yr,Nr,Mr,yo,nc],3198132628:[Al,$n,sr,bo,Vo],1482959167:[ml,Zl,mo],1834744321:[Ol,tr,nr,So],1339347760:[Dl,qr],2297155007:[fl,Sl,Kn,as,mr,Dr,eo,so,co,Ao,As,Uo,Fo],3009222698:[Il,Nl,Cs],263784265:[hs,qs],2706460486:[dr,ja,Ht,Xn,ts,Tr,_r,Ur,fn,Wr,jo],3588315303:[Os],3740093272:[Cl],3027567501:[Oa,Ga,Va,Za],964333572:[gn,us,ps,gs],682877961:[zr,fs,Vr,Yr,ms],1179482911:[Br,Gr,Zr],1004757350:[Yr],214636428:[Xr],1252848954:[fn],3657597509:[zr],2254336722:[ja,Ht,Xn,ts,Tr],1028945134:[Er,gr],1967976161:[Rn,is],2461110595:[Rn],1136057603:[Cn],3299480353:[Jt,qa,sn,Ha,Ba,ln,Ua,za,Wa,vn,wn,ka,Tn,Ka,$a,el,tl,Nn,nl,sl,Pn,il,al,Yn,xl,Fl,Gl,Zn,Ql,Jn,ar],843113511:[Zn],2063403501:[La,_a,Ma,cn,Ya,Sn,pl],1945004755:[vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,En,xn,qn,_n,Mn,rl,Ct,hn,ol,_t,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll],3040386961:[Ca,bt,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,En,xn,qn,_n,Mn,rl,Ct,hn,ol,_t,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl],3205830791:[Ht],395920057:[Yn],1658829314:[At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn],2058353004:[Ot,Lt,Bt,tn,rn,dn,bn,Gn],4278956645:[Mt,Yt,Kt,An,Hn],3132237377:[Nt,Vt,Dn],987401354:[_t,kt,Xt,On],707683696:[Ct,hn],2223149337:[St,Pt,jt,$t,nn,an,In,mn,En,xn,qn,_n,Mn],3508470533:[bt,qt,Bn],1073191201:[Pn],3171933400:[Nn],1529196076:[vn,wn],2391406946:[Ba,ln],3304561284:[sn],753842376:[Jt],1062813311:[vt,wt,Tt,Et,gt,Rt,Dt]},Am[2]={3630933823:[["HasExternalReference",oa,3,!0]],618182010:[["OfPerson",BI,7,!0],["OfOrganization",FI,4,!0]],411424972:[["HasExternalReference",oa,3,!0]],130549933:[["HasExternalReferences",oa,3,!0],["ApprovedObjects",Xu,5,!0],["ApprovedResources",Xi,3,!0],["IsRelatedWith",Em,3,!0],["Relates",Em,2,!0]],1959218052:[["HasExternalReferences",oa,3,!0],["PropertiesForConstraint",Yi,2,!0]],1466758467:[["HasCoordinateOperation",ba,0,!0]],602808272:[["HasExternalReference",oa,3,!0]],3200245327:[["ExternalReferenceForResources",oa,2,!0]],2242383968:[["ExternalReferenceForResources",oa,2,!0]],1040185647:[["ExternalReferenceForResources",oa,2,!0]],3548104201:[["ExternalReferenceForResources",oa,2,!0]],852622518:[["PartOfW",Yo,9,!0],["PartOfV",Yo,8,!0],["PartOfU",Yo,7,!0],["HasIntersections",qf,0,!0]],2655187982:[["LibraryInfoForObjects",zu,5,!0],["HasLibraryReferences",ZI,5,!0]],3452421091:[["ExternalReferenceForResources",oa,2,!0],["LibraryRefForObjects",zu,5,!0]],760658860:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0]],248100487:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0],["ToMaterialLayerSet",YI,0,!1]],3303938423:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0]],1847252529:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0],["ToMaterialLayerSet",YI,0,!1]],2235152071:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0],["ToMaterialProfileSet",ga,2,!1]],164193824:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0]],552965576:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0],["ToMaterialProfileSet",ga,2,!1]],1507914824:[["AssociatedTo",ju,5,!0]],3368373690:[["HasExternalReferences",oa,3,!0],["PropertiesForConstraint",Yi,2,!0]],3701648758:[["PlacesObject",hp,5,!0],["ReferencedByPlacements",Vd,0,!0]],2251480897:[["HasExternalReferences",oa,3,!0],["PropertiesForConstraint",Yi,2,!0]],4251960020:[["IsRelatedBy",UI,3,!0],["Relates",UI,2,!0],["Engages",HI,1,!0]],2077209135:[["EngagedIn",HI,0,!0]],2483315170:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],2226359599:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],3355820592:[["OfPerson",BI,7,!0],["OfOrganization",FI,4,!0]],3958567839:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],3843373140:[["HasCoordinateOperation",ba,0,!0]],986844984:[["HasExternalReferences",oa,3,!0]],3710013099:[["HasExternalReferences",oa,3,!0]],2044713172:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],2093928680:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],931644368:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],3252649465:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],2405470396:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],825690147:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],1076942058:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0]],3377609919:[["RepresentationsInContext",II,0,!0]],3008791417:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1660063152:[["HasShapeAspects",uI,4,!0],["MapUsage",Fd,0,!0]],3982875396:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0],["OfShapeAspect",uI,0,!0]],4240577450:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0],["OfShapeAspect",uI,0,!0]],2830218821:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0]],3958052878:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3049322572:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0]],626085974:[["IsMappedBy",zf,0,!0],["UsedInStyles",Qf,0,!0]],912023232:[["OfPerson",BI,7,!0],["OfOrganization",FI,4,!0]],3101149627:[["HasExternalReference",oa,3,!0]],1377556343:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1735638870:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0],["OfShapeAspect",uI,0,!0]],2799835756:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1907098498:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3798115385:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],1310608509:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],2705031697:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],616511568:[["IsMappedBy",zf,0,!0],["UsedInStyles",Qf,0,!0]],3150382593:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],747523909:[["ClassificationForObjects",Yu,5,!0],["HasReferences",Df,3,!0]],647927063:[["ExternalReferenceForResources",oa,2,!0],["ClassificationRefForObjects",Yu,5,!0],["HasReferences",Df,3,!0]],1485152156:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],370225590:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3050246964:[["HasExternalReference",oa,3,!0]],2889183280:[["HasExternalReference",oa,3,!0]],2713554722:[["HasExternalReference",oa,3,!0]],3632507154:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],1154170062:[["DocumentInfoForObjects",Wu,5,!0],["HasDocumentReferences",df,4,!0],["IsPointedTo",nm,3,!0],["IsPointer",nm,2,!0]],3732053477:[["ExternalReferenceForResources",oa,2,!0],["DocumentRefForObjects",Wu,5,!0]],3900360178:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],476780140:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],297599258:[["HasExternalReferences",oa,3,!0]],2556980723:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["HasTextureMaps",Vf,2,!0]],1809719519:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],803316827:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3008276851:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["HasTextureMaps",Vf,2,!0]],3448662350:[["RepresentationsInContext",II,0,!0],["HasSubContexts",ef,6,!0],["HasCoordinateOperation",ba,0,!0]],2453401579:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4142052618:[["RepresentationsInContext",II,0,!0],["HasSubContexts",ef,6,!0],["HasCoordinateOperation",ba,0,!0]],3590301190:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],178086475:[["PlacesObject",hp,5,!0],["ReferencedByPlacements",Vd,0,!0]],812098782:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3905492369:[["IsMappedBy",zf,0,!0],["UsedInStyles",Qf,0,!0]],3741457305:[["HasExternalReference",oa,3,!0]],1402838566:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],125510826:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2604431987:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4266656042:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1520743889:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3422422726:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2624227202:[["PlacesObject",hp,5,!0],["ReferencedByPlacements",Vd,0,!0]],1008929658:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2347385850:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1838606355:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0],["HasRepresentation",Ud,3,!0],["IsRelatedWith",$i,3,!0],["RelatesTo",$i,2,!0]],3708119e3:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0],["ToMaterialConstituentSet",na,2,!1]],2852063980:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0]],1303795690:[["AssociatedTo",ju,5,!0]],3079605661:[["AssociatedTo",ju,5,!0]],3404854881:[["AssociatedTo",ju,5,!0]],3265635763:[["HasExternalReferences",oa,3,!0]],2998442950:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],219451334:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0]],2665983363:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1029017970:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2529465313:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],2519244187:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3021840470:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],597895409:[["IsMappedBy",zf,0,!0],["UsedInStyles",Qf,0,!0]],2004835150:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1663979128:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2067069095:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4022376103:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1423911732:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2924175390:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2775532180:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3778827333:[["HasExternalReferences",oa,3,!0]],673634403:[["ShapeOfProduct",hp,6,!0],["HasShapeAspects",uI,4,!0]],2802850158:[["HasExternalReferences",oa,3,!0]],2598011224:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],1680319473:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0]],3357820518:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],1482703590:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0]],2090586900:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],3615266464:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],3413951693:[["HasExternalReference",oa,3,!0]],1580146022:[["HasExternalReferences",oa,3,!0]],2778083089:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],2042790032:[["HasExternalReferences",oa,3,!0]],4165799628:[["HasExternalReferences",oa,3,!0]],1509187699:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4124623270:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3692461612:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],723233188:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2233826070:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2513912981:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2247615214:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1260650574:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1096409881:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],230924584:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3071757647:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],901063453:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4282788508:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3124975700:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2715220739:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],1628702193:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0]],3736923433:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["OperatesOn",ep,6,!0]],2347495698:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3698973494:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ResourceOf",Qu,6,!0]],427810014:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],1417489154:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2759199220:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1299126871:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2543172580:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],3406155212:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["HasTextureMaps",Vf,2,!0]],669184980:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3207858831:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],4261334040:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3125803723:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2740243338:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2736907675:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4182860854:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2581212453:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2713105998:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2898889636:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],1123145078:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],574549367:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1675464909:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2059837836:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],59481748:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3749851601:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3486308946:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3331915920:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1416205885:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1383045692:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],2205249479:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2542286263:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],2485617015:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["UsingCurves",qc,0,!0]],2574617495:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ResourceOf",Qu,6,!0]],3419103109:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",bu,4,!0],["Declares",wi,4,!0]],1815067380:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ResourceOf",Qu,6,!0]],2506170314:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2147822146:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2601014836:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2827736869:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2629017746:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],32440307:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],526551008:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1472233963:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1883228015:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],339256511:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2777663545:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2835456948:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],4024345920:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["OperatesOn",ep,6,!0]],477187591:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2804161546:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2047409740:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],374418227:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],315944413:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2652556860:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4238390223:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1268542332:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4095422895:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],987898635:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1484403080:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],178912537:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["ToFaceSet",bs,2,!0]],2294589976:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["ToFaceSet",bs,2,!0]],572779678:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],428585644:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ResourceOf",Qu,6,!0]],1281925730:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1425443689:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3888040117:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0]],3388369263:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3505215534:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1682466193:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],603570806:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],220341763:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3967405729:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],569719735:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["OperatesOn",ep,6,!0]],2945172077:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsPredecessorTo",Iu,4,!0],["IsSuccessorFrom",Iu,5,!0],["OperatesOn",ep,6,!0]],4208778838:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0]],103090709:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",bu,4,!0],["Declares",wi,4,!0]],653396225:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",bu,4,!0],["Declares",wi,4,!0]],871118103:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],4166981789:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],2752243245:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],941946838:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],1451395588:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],492091185:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["Defines",yi,5,!0]],3650150729:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],110355661:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],3521284610:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["PartOfComplexTemplate",ks,6,!0],["PartOfPsetTemplate",gi,6,!0]],3219374653:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0]],2770003689:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],2798486643:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3454111270:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3765753017:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],3523091289:[["InnerBoundaries",Ii,9,!0]],1521410863:[["InnerBoundaries",Ii,9,!0],["Corresponds",fi,10,!0]],816062949:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["UsingCurves",qc,0,!0]],2914609552:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ResourceOf",Qu,6,!0]],1856042241:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3243963512:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4158566097:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3626867408:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3663146110:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["PartOfComplexTemplate",ks,6,!0],["PartOfPsetTemplate",gi,6,!0]],1412071761:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0]],710998568:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2706606064:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0]],3893378262:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],463610769:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0]],2481509218:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],451544542:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4015995234:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3544373492:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!0]],3136571912:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0]],530289379:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectedBy",qu,4,!0]],3689010777:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!0]],3979015343:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectedBy",qu,4,!0]],2218152070:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectedBy",qu,4,!0]],603775116:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!0]],4095615324:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ResourceOf",Qu,6,!0]],699246055:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2028607225:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2809605785:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4124788165:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1580310250:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3473067441:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsPredecessorTo",Iu,4,!0],["IsSuccessorFrom",Iu,5,!0],["OperatesOn",ep,6,!0]],3206491090:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["OperatesOn",ep,6,!0]],2387106220:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["HasColours",ra,0,!0],["HasTextures",la,1,!0]],1935646853:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2097647324:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2916149573:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["HasColours",ra,0,!0],["HasTextures",la,1,!0]],336235671:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],512836454:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],2296667514:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsActingUpon",sp,6,!0]],1635779807:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2603310189:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1674181508:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["ContainedInStructure",Cu,4,!0]],2887950389:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],167062518:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1334484129:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3649129432:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1260505505:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4031249490:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0]],1950629157:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3124254112:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0]],2197970202:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2937912522:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],3893394355:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],300633059:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3875453745:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["PartOfComplexTemplate",ks,6,!0],["PartOfPsetTemplate",gi,6,!0]],3732776249:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],15328376:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2510884976:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2185764099:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ResourceOf",Qu,6,!0]],4105962743:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ResourceOf",Qu,6,!0]],1525564444:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ResourceOf",Qu,6,!0]],2559216714:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ResourceOf",Qu,6,!0]],3293443760:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],3895139033:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],1419761937:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],1916426348:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3295246426:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ResourceOf",Qu,6,!0]],1457835157:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1213902940:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3256556792:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3849074793:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2963535650:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],1714330368:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],2323601079:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1758889154:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],4123344466:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2397081782:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1623761950:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2590856083:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1704287377:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2107101300:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],132023988:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3174744832:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3390157468:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4148101412:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsPredecessorTo",Iu,4,!0],["IsSuccessorFrom",Iu,5,!0],["OperatesOn",ep,6,!0]],2853485674:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0]],807026263:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3737207727:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],647756555:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2489546625:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2827207264:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2143335405:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["ProjectsElements",vu,5,!1]],1287392070:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["VoidsElements",hu,5,!1]],3907093117:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3198132628:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3815607619:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1482959167:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1834744321:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1339347760:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2297155007:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3009222698:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1893162501:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],263784265:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],1509553395:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],3493046030:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],3009204131:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["ContainedInStructure",Cu,4,!0]],2706460486:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0]],1251058090:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1806887404:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2571569899:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3946677679:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3113134337:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2391368822:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0]],4288270099:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3827777499:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ResourceOf",Qu,6,!0]],1051575348:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1161773419:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],377706215:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2108223431:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1114901282:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3181161470:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],977012517:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4143007308:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsActingUpon",sp,6,!0]],3588315303:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["VoidsElements",hu,5,!1],["HasFillings",Du,4,!0]],3079942009:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["VoidsElements",hu,5,!1],["HasFillings",Du,4,!0]],2837617999:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2382730787:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],3566463478:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],3327091369:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],1158309216:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],804291784:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4231323485:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4017108033:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2839578677:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["HasColours",ra,0,!0],["HasTextures",la,1,!0]],3724593414:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3740093272:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["ContainedIn",Bu,4,!0],["ConnectedFrom",Hu,5,!0],["ConnectedTo",Hu,4,!0]],2744685151:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsPredecessorTo",Iu,4,!0],["IsSuccessorFrom",Iu,5,!0],["OperatesOn",ep,6,!0]],2904328755:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],3651124850:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["ProjectsElements",vu,5,!1]],1842657554:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2250791053:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2893384427:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2324767716:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1469900589:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],683857671:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3027567501:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],964333572:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2320036040:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2310774935:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2781568857:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1768891740:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2157484638:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4074543187:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4097777520:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0]],2533589738:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1072016465:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3856911033:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["HasCoverings",Au,4,!0],["BoundedBy",du,4,!0]],1305183839:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3812236995:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3112655638:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1039846685:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],338393293:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],682877961:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!0]],1179482911:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectsStructuralMembers",qu,5,!0]],1004757350:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!0]],4243806635:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectsStructuralMembers",qu,5,!0]],214636428:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectedBy",qu,4,!0]],2445595289:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectedBy",qu,4,!0]],2757150158:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!0]],1807405624:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!0]],1252848954:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["SourceOfResultGroup",Ur,6,!0],["LoadGroupFor",ja,7,!0]],2082059205:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!0]],734778138:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectsStructuralMembers",qu,5,!0]],1235345126:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!0]],2986769608:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ResultGroupFor",ja,8,!0]],3657597509:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!0]],1975003073:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectsStructuralMembers",qu,5,!0]],148013059:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ResourceOf",Qu,6,!0]],3101698114:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2315554128:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2254336722:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ServicesBuildings",fu,4,!0]],413509423:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],5716631:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3824725483:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2347447852:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],3081323446:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2415094496:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1692211062:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1620046519:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],3593883385:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1600972822:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1911125066:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],728799441:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2391383451:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],3313531582:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2769231204:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],926996030:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["VoidsElements",hu,5,!1]],1898987631:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1133259667:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4009809668:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4088093105:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],1028945134:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],4218914973:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],3342526732:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],1033361043:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ServicesBuildings",fu,4,!0]],3821786052:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],1411407467:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3352864051:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1871374353:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3460190687:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0]],1532957894:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1967976161:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2461110595:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],819618141:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],231477066:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1136057603:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3299480353:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2979338954:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],39481116:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1095909175:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],1909888760:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1177604601:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ServicesBuildings",fu,4,!0]],2188180465:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],395041908:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3293546465:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2674252688:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1285652485:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2951183804:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3296154744:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2611217952:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1677625105:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2301859152:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],843113511:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],905975707:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],400855858:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3850581409:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2816379211:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3898045240:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ResourceOf",Qu,6,!0]],1060000209:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ResourceOf",Qu,6,!0]],488727124:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ResourceOf",Qu,6,!0]],335055490:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2954562838:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1973544240:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["CoversSpaces",Au,5,!0],["CoversElements",xu,5,!0]],3495092785:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],3961806047:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1335981549:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2635815018:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1599208980:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2063403501:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1945004755:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0]],3040386961:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3041715199:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["ContainedIn",Bu,4,!0],["ConnectedFrom",Hu,5,!0],["ConnectedTo",Hu,4,!0]],3205830791:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ServicesBuildings",fu,4,!0]],395920057:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],3242481149:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],869906466:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3760055223:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2030761528:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],663422040:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2417008758:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3277789161:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1534661035:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1217240411:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],712377611:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1658829314:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2814081492:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3747195512:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],484807127:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1209101575:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["BoundedBy",du,4,!0]],346874300:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1810631287:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4222183408:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2058353004:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],4278956645:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],4037862832:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2188021234:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3132237377:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],987401354:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],707683696:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2223149337:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3508470533:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],900683007:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],3319311131:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2068733104:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],4175244083:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2176052936:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],76236018:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],629592764:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1437502449:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1073191201:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],1911478936:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2474470126:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],144952367:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3694346114:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1687234759:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],310824031:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3612865200:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3171933400:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],1156407060:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],738039164:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],655969474:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],90941305:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2262370178:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],3024970846:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],3283111854:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],1232101972:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],979691226:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2572171363:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2016517767:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],3053780830:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1783015770:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1329646415:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],1529196076:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],3127900445:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],3027962421:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],3420628829:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1999602285:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1404847402:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],331165859:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],4252922144:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2515109513:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ServicesBuildings",fu,4,!0]],385403989:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["SourceOfResultGroup",Ur,6,!0],["LoadGroupFor",ja,7,!0]],1621171031:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["AssignedToStructuralItem",Mu,5,!0]],1162798199:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],812556717:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3825984169:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3026737570:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3179687236:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4292641817:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],4207607924:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2391406946:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],4156078855:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],3512223829:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],4237592921:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3304561284:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],486154966:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2874132201:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1634111441:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],177149247:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2056796094:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3001207471:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],277319702:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],753842376:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],2906023776:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0]],32344328:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2938176219:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],635142910:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3758799889:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1051757585:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],4217484030:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3902619387:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],639361253:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3221913625:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3571504051:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2272882330:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],578613899:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4136498852:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3640358203:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],4074379575:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1052013943:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],562808652:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ServicesBuildings",fu,4,!0]],1062813311:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["AssignedToFlowElement",Ru,4,!0]],342316401:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3518393246:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1360408905:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1904799276:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],862014818:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3310460725:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],264262732:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],402227799:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1003880860:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3415622556:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],819412036:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1426591983:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],182646315:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["AssignedToFlowElement",Ru,4,!0]],2295281155:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["AssignedToFlowElement",Ru,4,!0]],4086658281:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["AssignedToFlowElement",Ru,4,!0]],630975310:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["AssignedToFlowElement",Ru,4,!0]],4288193352:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["AssignedToFlowElement",Ru,4,!0]],3087945054:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["AssignedToFlowElement",Ru,4,!0]],25142252:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["ReferencedInStructures",yu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasPorts",Bu,5,!0],["AssignedToFlowElement",Ru,4,!0]]},Cm[2]={3630933823:(e,t)=>new l.IfcActorRole(e,t[0],t[1],t[2]),618182010:(e,t)=>new l.IfcAddress(e,t[0],t[1],t[2]),639542469:(e,t)=>new l.IfcApplication(e,t[0],t[1],t[2],t[3]),411424972:(e,t)=>new l.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),130549933:(e,t)=>new l.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4037036970:(e,t)=>new l.IfcBoundaryCondition(e,t[0]),1560379544:(e,t)=>new l.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3367102660:(e,t)=>new l.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3]),1387855156:(e,t)=>new l.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2069777674:(e,t)=>new l.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2859738748:(e,t)=>new l.IfcConnectionGeometry(e),2614616156:(e,t)=>new l.IfcConnectionPointGeometry(e,t[0],t[1]),2732653382:(e,t)=>new l.IfcConnectionSurfaceGeometry(e,t[0],t[1]),775493141:(e,t)=>new l.IfcConnectionVolumeGeometry(e,t[0],t[1]),1959218052:(e,t)=>new l.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1785450214:(e,t)=>new l.IfcCoordinateOperation(e,t[0],t[1]),1466758467:(e,t)=>new l.IfcCoordinateReferenceSystem(e,t[0],t[1],t[2],t[3]),602808272:(e,t)=>new l.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1765591967:(e,t)=>new l.IfcDerivedUnit(e,t[0],t[1],t[2]),1045800335:(e,t)=>new l.IfcDerivedUnitElement(e,t[0],t[1]),2949456006:(e,t)=>new l.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),4294318154:(e,t)=>new l.IfcExternalInformation(e),3200245327:(e,t)=>new l.IfcExternalReference(e,t[0],t[1],t[2]),2242383968:(e,t)=>new l.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2]),1040185647:(e,t)=>new l.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2]),3548104201:(e,t)=>new l.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2]),852622518:(e,t)=>new l.IfcGridAxis(e,t[0],t[1],t[2]),3020489413:(e,t)=>new l.IfcIrregularTimeSeriesValue(e,t[0],t[1]),2655187982:(e,t)=>new l.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4],t[5]),3452421091:(e,t)=>new l.IfcLibraryReference(e,t[0],t[1],t[2],t[3],t[4],t[5]),4162380809:(e,t)=>new l.IfcLightDistributionData(e,t[0],t[1],t[2]),1566485204:(e,t)=>new l.IfcLightIntensityDistribution(e,t[0],t[1]),3057273783:(e,t)=>new l.IfcMapConversion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1847130766:(e,t)=>new l.IfcMaterialClassificationRelationship(e,t[0],t[1]),760658860:(e,t)=>new l.IfcMaterialDefinition(e),248100487:(e,t)=>new l.IfcMaterialLayer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3303938423:(e,t)=>new l.IfcMaterialLayerSet(e,t[0],t[1],t[2]),1847252529:(e,t)=>new l.IfcMaterialLayerWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2199411900:(e,t)=>new l.IfcMaterialList(e,t[0]),2235152071:(e,t)=>new l.IfcMaterialProfile(e,t[0],t[1],t[2],t[3],t[4],t[5]),164193824:(e,t)=>new l.IfcMaterialProfileSet(e,t[0],t[1],t[2],t[3]),552965576:(e,t)=>new l.IfcMaterialProfileWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1507914824:(e,t)=>new l.IfcMaterialUsageDefinition(e),2597039031:(e,t)=>new l.IfcMeasureWithUnit(e,t[0],t[1]),3368373690:(e,t)=>new l.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2706619895:(e,t)=>new l.IfcMonetaryUnit(e,t[0]),1918398963:(e,t)=>new l.IfcNamedUnit(e,t[0],t[1]),3701648758:(e,t)=>new l.IfcObjectPlacement(e),2251480897:(e,t)=>new l.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4251960020:(e,t)=>new l.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4]),1207048766:(e,t)=>new l.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2077209135:(e,t)=>new l.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),101040310:(e,t)=>new l.IfcPersonAndOrganization(e,t[0],t[1],t[2]),2483315170:(e,t)=>new l.IfcPhysicalQuantity(e,t[0],t[1]),2226359599:(e,t)=>new l.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2]),3355820592:(e,t)=>new l.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),677532197:(e,t)=>new l.IfcPresentationItem(e),2022622350:(e,t)=>new l.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3]),1304840413:(e,t)=>new l.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3119450353:(e,t)=>new l.IfcPresentationStyle(e,t[0]),2417041796:(e,t)=>new l.IfcPresentationStyleAssignment(e,t[0]),2095639259:(e,t)=>new l.IfcProductRepresentation(e,t[0],t[1],t[2]),3958567839:(e,t)=>new l.IfcProfileDef(e,t[0],t[1]),3843373140:(e,t)=>new l.IfcProjectedCRS(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),986844984:(e,t)=>new l.IfcPropertyAbstraction(e),3710013099:(e,t)=>new l.IfcPropertyEnumeration(e,t[0],t[1],t[2]),2044713172:(e,t)=>new l.IfcQuantityArea(e,t[0],t[1],t[2],t[3],t[4]),2093928680:(e,t)=>new l.IfcQuantityCount(e,t[0],t[1],t[2],t[3],t[4]),931644368:(e,t)=>new l.IfcQuantityLength(e,t[0],t[1],t[2],t[3],t[4]),3252649465:(e,t)=>new l.IfcQuantityTime(e,t[0],t[1],t[2],t[3],t[4]),2405470396:(e,t)=>new l.IfcQuantityVolume(e,t[0],t[1],t[2],t[3],t[4]),825690147:(e,t)=>new l.IfcQuantityWeight(e,t[0],t[1],t[2],t[3],t[4]),3915482550:(e,t)=>new l.IfcRecurrencePattern(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2433181523:(e,t)=>new l.IfcReference(e,t[0],t[1],t[2],t[3],t[4]),1076942058:(e,t)=>new l.IfcRepresentation(e,t[0],t[1],t[2],t[3]),3377609919:(e,t)=>new l.IfcRepresentationContext(e,t[0],t[1]),3008791417:(e,t)=>new l.IfcRepresentationItem(e),1660063152:(e,t)=>new l.IfcRepresentationMap(e,t[0],t[1]),2439245199:(e,t)=>new l.IfcResourceLevelRelationship(e,t[0],t[1]),2341007311:(e,t)=>new l.IfcRoot(e,t[0],t[1],t[2],t[3]),448429030:(e,t)=>new l.IfcSIUnit(e,t[0],t[1],t[2]),1054537805:(e,t)=>new l.IfcSchedulingTime(e,t[0],t[1],t[2]),867548509:(e,t)=>new l.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4]),3982875396:(e,t)=>new l.IfcShapeModel(e,t[0],t[1],t[2],t[3]),4240577450:(e,t)=>new l.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3]),2273995522:(e,t)=>new l.IfcStructuralConnectionCondition(e,t[0]),2162789131:(e,t)=>new l.IfcStructuralLoad(e,t[0]),3478079324:(e,t)=>new l.IfcStructuralLoadConfiguration(e,t[0],t[1],t[2]),609421318:(e,t)=>new l.IfcStructuralLoadOrResult(e,t[0]),2525727697:(e,t)=>new l.IfcStructuralLoadStatic(e,t[0]),3408363356:(e,t)=>new l.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3]),2830218821:(e,t)=>new l.IfcStyleModel(e,t[0],t[1],t[2],t[3]),3958052878:(e,t)=>new l.IfcStyledItem(e,t[0],t[1],t[2]),3049322572:(e,t)=>new l.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3]),2934153892:(e,t)=>new l.IfcSurfaceReinforcementArea(e,t[0],t[1],t[2],t[3]),1300840506:(e,t)=>new l.IfcSurfaceStyle(e,t[0],t[1],t[2]),3303107099:(e,t)=>new l.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3]),1607154358:(e,t)=>new l.IfcSurfaceStyleRefraction(e,t[0],t[1]),846575682:(e,t)=>new l.IfcSurfaceStyleShading(e,t[0],t[1]),1351298697:(e,t)=>new l.IfcSurfaceStyleWithTextures(e,t[0]),626085974:(e,t)=>new l.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3],t[4]),985171141:(e,t)=>new l.IfcTable(e,t[0],t[1],t[2]),2043862942:(e,t)=>new l.IfcTableColumn(e,t[0],t[1],t[2],t[3],t[4]),531007025:(e,t)=>new l.IfcTableRow(e,t[0],t[1]),1549132990:(e,t)=>new l.IfcTaskTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19]),2771591690:(e,t)=>new l.IfcTaskTimeRecurring(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20]),912023232:(e,t)=>new l.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1447204868:(e,t)=>new l.IfcTextStyle(e,t[0],t[1],t[2],t[3],t[4]),2636378356:(e,t)=>new l.IfcTextStyleForDefinedFont(e,t[0],t[1]),1640371178:(e,t)=>new l.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),280115917:(e,t)=>new l.IfcTextureCoordinate(e,t[0]),1742049831:(e,t)=>new l.IfcTextureCoordinateGenerator(e,t[0],t[1],t[2]),2552916305:(e,t)=>new l.IfcTextureMap(e,t[0],t[1],t[2]),1210645708:(e,t)=>new l.IfcTextureVertex(e,t[0]),3611470254:(e,t)=>new l.IfcTextureVertexList(e,t[0]),1199560280:(e,t)=>new l.IfcTimePeriod(e,t[0],t[1]),3101149627:(e,t)=>new l.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),581633288:(e,t)=>new l.IfcTimeSeriesValue(e,t[0]),1377556343:(e,t)=>new l.IfcTopologicalRepresentationItem(e),1735638870:(e,t)=>new l.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3]),180925521:(e,t)=>new l.IfcUnitAssignment(e,t[0]),2799835756:(e,t)=>new l.IfcVertex(e),1907098498:(e,t)=>new l.IfcVertexPoint(e,t[0]),891718957:(e,t)=>new l.IfcVirtualGridIntersection(e,t[0],t[1]),1236880293:(e,t)=>new l.IfcWorkTime(e,t[0],t[1],t[2],t[3],t[4],t[5]),3869604511:(e,t)=>new l.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3]),3798115385:(e,t)=>new l.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2]),1310608509:(e,t)=>new l.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2]),2705031697:(e,t)=>new l.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3]),616511568:(e,t)=>new l.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3150382593:(e,t)=>new l.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3]),747523909:(e,t)=>new l.IfcClassification(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),647927063:(e,t)=>new l.IfcClassificationReference(e,t[0],t[1],t[2],t[3],t[4],t[5]),3285139300:(e,t)=>new l.IfcColourRgbList(e,t[0]),3264961684:(e,t)=>new l.IfcColourSpecification(e,t[0]),1485152156:(e,t)=>new l.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3]),370225590:(e,t)=>new l.IfcConnectedFaceSet(e,t[0]),1981873012:(e,t)=>new l.IfcConnectionCurveGeometry(e,t[0],t[1]),45288368:(e,t)=>new l.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4]),3050246964:(e,t)=>new l.IfcContextDependentUnit(e,t[0],t[1],t[2]),2889183280:(e,t)=>new l.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3]),2713554722:(e,t)=>new l.IfcConversionBasedUnitWithOffset(e,t[0],t[1],t[2],t[3],t[4]),539742890:(e,t)=>new l.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3800577675:(e,t)=>new l.IfcCurveStyle(e,t[0],t[1],t[2],t[3],t[4]),1105321065:(e,t)=>new l.IfcCurveStyleFont(e,t[0],t[1]),2367409068:(e,t)=>new l.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2]),3510044353:(e,t)=>new l.IfcCurveStyleFontPattern(e,t[0],t[1]),3632507154:(e,t)=>new l.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4]),1154170062:(e,t)=>new l.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),770865208:(e,t)=>new l.IfcDocumentInformationRelationship(e,t[0],t[1],t[2],t[3],t[4]),3732053477:(e,t)=>new l.IfcDocumentReference(e,t[0],t[1],t[2],t[3],t[4]),3900360178:(e,t)=>new l.IfcEdge(e,t[0],t[1]),476780140:(e,t)=>new l.IfcEdgeCurve(e,t[0],t[1],t[2],t[3]),211053100:(e,t)=>new l.IfcEventTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),297599258:(e,t)=>new l.IfcExtendedProperties(e,t[0],t[1],t[2]),1437805879:(e,t)=>new l.IfcExternalReferenceRelationship(e,t[0],t[1],t[2],t[3]),2556980723:(e,t)=>new l.IfcFace(e,t[0]),1809719519:(e,t)=>new l.IfcFaceBound(e,t[0],t[1]),803316827:(e,t)=>new l.IfcFaceOuterBound(e,t[0],t[1]),3008276851:(e,t)=>new l.IfcFaceSurface(e,t[0],t[1],t[2]),4219587988:(e,t)=>new l.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),738692330:(e,t)=>new l.IfcFillAreaStyle(e,t[0],t[1],t[2]),3448662350:(e,t)=>new l.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5]),2453401579:(e,t)=>new l.IfcGeometricRepresentationItem(e),4142052618:(e,t)=>new l.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5]),3590301190:(e,t)=>new l.IfcGeometricSet(e,t[0]),178086475:(e,t)=>new l.IfcGridPlacement(e,t[0],t[1]),812098782:(e,t)=>new l.IfcHalfSpaceSolid(e,t[0],t[1]),3905492369:(e,t)=>new l.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4],t[5]),3570813810:(e,t)=>new l.IfcIndexedColourMap(e,t[0],t[1],t[2],t[3]),1437953363:(e,t)=>new l.IfcIndexedTextureMap(e,t[0],t[1],t[2]),2133299955:(e,t)=>new l.IfcIndexedTriangleTextureMap(e,t[0],t[1],t[2],t[3]),3741457305:(e,t)=>new l.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1585845231:(e,t)=>new l.IfcLagTime(e,t[0],t[1],t[2],t[3],t[4]),1402838566:(e,t)=>new l.IfcLightSource(e,t[0],t[1],t[2],t[3]),125510826:(e,t)=>new l.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3]),2604431987:(e,t)=>new l.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4]),4266656042:(e,t)=>new l.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1520743889:(e,t)=>new l.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3422422726:(e,t)=>new l.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),2624227202:(e,t)=>new l.IfcLocalPlacement(e,t[0],t[1]),1008929658:(e,t)=>new l.IfcLoop(e),2347385850:(e,t)=>new l.IfcMappedItem(e,t[0],t[1]),1838606355:(e,t)=>new l.IfcMaterial(e,t[0],t[1],t[2]),3708119e3:(e,t)=>new l.IfcMaterialConstituent(e,t[0],t[1],t[2],t[3],t[4]),2852063980:(e,t)=>new l.IfcMaterialConstituentSet(e,t[0],t[1],t[2]),2022407955:(e,t)=>new l.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3]),1303795690:(e,t)=>new l.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3],t[4]),3079605661:(e,t)=>new l.IfcMaterialProfileSetUsage(e,t[0],t[1],t[2]),3404854881:(e,t)=>new l.IfcMaterialProfileSetUsageTapering(e,t[0],t[1],t[2],t[3],t[4]),3265635763:(e,t)=>new l.IfcMaterialProperties(e,t[0],t[1],t[2],t[3]),853536259:(e,t)=>new l.IfcMaterialRelationship(e,t[0],t[1],t[2],t[3],t[4]),2998442950:(e,t)=>new l.IfcMirroredProfileDef(e,t[0],t[1],t[2],t[3]),219451334:(e,t)=>new l.IfcObjectDefinition(e,t[0],t[1],t[2],t[3]),2665983363:(e,t)=>new l.IfcOpenShell(e,t[0]),1411181986:(e,t)=>new l.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3]),1029017970:(e,t)=>new l.IfcOrientedEdge(e,t[0],t[1]),2529465313:(e,t)=>new l.IfcParameterizedProfileDef(e,t[0],t[1],t[2]),2519244187:(e,t)=>new l.IfcPath(e,t[0]),3021840470:(e,t)=>new l.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5]),597895409:(e,t)=>new l.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2004835150:(e,t)=>new l.IfcPlacement(e,t[0]),1663979128:(e,t)=>new l.IfcPlanarExtent(e,t[0],t[1]),2067069095:(e,t)=>new l.IfcPoint(e),4022376103:(e,t)=>new l.IfcPointOnCurve(e,t[0],t[1]),1423911732:(e,t)=>new l.IfcPointOnSurface(e,t[0],t[1],t[2]),2924175390:(e,t)=>new l.IfcPolyLoop(e,t[0]),2775532180:(e,t)=>new l.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3]),3727388367:(e,t)=>new l.IfcPreDefinedItem(e,t[0]),3778827333:(e,t)=>new l.IfcPreDefinedProperties(e),1775413392:(e,t)=>new l.IfcPreDefinedTextFont(e,t[0]),673634403:(e,t)=>new l.IfcProductDefinitionShape(e,t[0],t[1],t[2]),2802850158:(e,t)=>new l.IfcProfileProperties(e,t[0],t[1],t[2],t[3]),2598011224:(e,t)=>new l.IfcProperty(e,t[0],t[1]),1680319473:(e,t)=>new l.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3]),148025276:(e,t)=>new l.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4]),3357820518:(e,t)=>new l.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3]),1482703590:(e,t)=>new l.IfcPropertyTemplateDefinition(e,t[0],t[1],t[2],t[3]),2090586900:(e,t)=>new l.IfcQuantitySet(e,t[0],t[1],t[2],t[3]),3615266464:(e,t)=>new l.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4]),3413951693:(e,t)=>new l.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1580146022:(e,t)=>new l.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),478536968:(e,t)=>new l.IfcRelationship(e,t[0],t[1],t[2],t[3]),2943643501:(e,t)=>new l.IfcResourceApprovalRelationship(e,t[0],t[1],t[2],t[3]),1608871552:(e,t)=>new l.IfcResourceConstraintRelationship(e,t[0],t[1],t[2],t[3]),1042787934:(e,t)=>new l.IfcResourceTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17]),2778083089:(e,t)=>new l.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5]),2042790032:(e,t)=>new l.IfcSectionProperties(e,t[0],t[1],t[2]),4165799628:(e,t)=>new l.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),1509187699:(e,t)=>new l.IfcSectionedSpine(e,t[0],t[1],t[2]),4124623270:(e,t)=>new l.IfcShellBasedSurfaceModel(e,t[0]),3692461612:(e,t)=>new l.IfcSimpleProperty(e,t[0],t[1]),2609359061:(e,t)=>new l.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3]),723233188:(e,t)=>new l.IfcSolidModel(e),1595516126:(e,t)=>new l.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2668620305:(e,t)=>new l.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3]),2473145415:(e,t)=>new l.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1973038258:(e,t)=>new l.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1597423693:(e,t)=>new l.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1190533807:(e,t)=>new l.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2233826070:(e,t)=>new l.IfcSubedge(e,t[0],t[1],t[2]),2513912981:(e,t)=>new l.IfcSurface(e),1878645084:(e,t)=>new l.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2247615214:(e,t)=>new l.IfcSweptAreaSolid(e,t[0],t[1]),1260650574:(e,t)=>new l.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4]),1096409881:(e,t)=>new l.IfcSweptDiskSolidPolygonal(e,t[0],t[1],t[2],t[3],t[4],t[5]),230924584:(e,t)=>new l.IfcSweptSurface(e,t[0],t[1]),3071757647:(e,t)=>new l.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),901063453:(e,t)=>new l.IfcTessellatedItem(e),4282788508:(e,t)=>new l.IfcTextLiteral(e,t[0],t[1],t[2]),3124975700:(e,t)=>new l.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4]),1983826977:(e,t)=>new l.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5]),2715220739:(e,t)=>new l.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1628702193:(e,t)=>new l.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5]),3736923433:(e,t)=>new l.IfcTypeProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2347495698:(e,t)=>new l.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3698973494:(e,t)=>new l.IfcTypeResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),427810014:(e,t)=>new l.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1417489154:(e,t)=>new l.IfcVector(e,t[0],t[1]),2759199220:(e,t)=>new l.IfcVertexLoop(e,t[0]),1299126871:(e,t)=>new l.IfcWindowStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2543172580:(e,t)=>new l.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3406155212:(e,t)=>new l.IfcAdvancedFace(e,t[0],t[1],t[2]),669184980:(e,t)=>new l.IfcAnnotationFillArea(e,t[0],t[1]),3207858831:(e,t)=>new l.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14]),4261334040:(e,t)=>new l.IfcAxis1Placement(e,t[0],t[1]),3125803723:(e,t)=>new l.IfcAxis2Placement2D(e,t[0],t[1]),2740243338:(e,t)=>new l.IfcAxis2Placement3D(e,t[0],t[1],t[2]),2736907675:(e,t)=>new l.IfcBooleanResult(e,t[0],t[1],t[2]),4182860854:(e,t)=>new l.IfcBoundedSurface(e),2581212453:(e,t)=>new l.IfcBoundingBox(e,t[0],t[1],t[2],t[3]),2713105998:(e,t)=>new l.IfcBoxedHalfSpace(e,t[0],t[1],t[2]),2898889636:(e,t)=>new l.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1123145078:(e,t)=>new l.IfcCartesianPoint(e,t[0]),574549367:(e,t)=>new l.IfcCartesianPointList(e),1675464909:(e,t)=>new l.IfcCartesianPointList2D(e,t[0]),2059837836:(e,t)=>new l.IfcCartesianPointList3D(e,t[0]),59481748:(e,t)=>new l.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3]),3749851601:(e,t)=>new l.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3]),3486308946:(e,t)=>new l.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4]),3331915920:(e,t)=>new l.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4]),1416205885:(e,t)=>new l.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1383045692:(e,t)=>new l.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3]),2205249479:(e,t)=>new l.IfcClosedShell(e,t[0]),776857604:(e,t)=>new l.IfcColourRgb(e,t[0],t[1],t[2],t[3]),2542286263:(e,t)=>new l.IfcComplexProperty(e,t[0],t[1],t[2],t[3]),2485617015:(e,t)=>new l.IfcCompositeCurveSegment(e,t[0],t[1],t[2]),2574617495:(e,t)=>new l.IfcConstructionResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3419103109:(e,t)=>new l.IfcContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1815067380:(e,t)=>new l.IfcCrewResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2506170314:(e,t)=>new l.IfcCsgPrimitive3D(e,t[0]),2147822146:(e,t)=>new l.IfcCsgSolid(e,t[0]),2601014836:(e,t)=>new l.IfcCurve(e),2827736869:(e,t)=>new l.IfcCurveBoundedPlane(e,t[0],t[1],t[2]),2629017746:(e,t)=>new l.IfcCurveBoundedSurface(e,t[0],t[1],t[2]),32440307:(e,t)=>new l.IfcDirection(e,t[0]),526551008:(e,t)=>new l.IfcDoorStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1472233963:(e,t)=>new l.IfcEdgeLoop(e,t[0]),1883228015:(e,t)=>new l.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5]),339256511:(e,t)=>new l.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2777663545:(e,t)=>new l.IfcElementarySurface(e,t[0]),2835456948:(e,t)=>new l.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4]),4024345920:(e,t)=>new l.IfcEventType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),477187591:(e,t)=>new l.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3]),2804161546:(e,t)=>new l.IfcExtrudedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4]),2047409740:(e,t)=>new l.IfcFaceBasedSurfaceModel(e,t[0]),374418227:(e,t)=>new l.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4]),315944413:(e,t)=>new l.IfcFillAreaStyleTiles(e,t[0],t[1],t[2]),2652556860:(e,t)=>new l.IfcFixedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5]),4238390223:(e,t)=>new l.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1268542332:(e,t)=>new l.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4095422895:(e,t)=>new l.IfcGeographicElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),987898635:(e,t)=>new l.IfcGeometricCurveSet(e,t[0]),1484403080:(e,t)=>new l.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),178912537:(e,t)=>new l.IfcIndexedPolygonalFace(e,t[0]),2294589976:(e,t)=>new l.IfcIndexedPolygonalFaceWithVoids(e,t[0],t[1]),572779678:(e,t)=>new l.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),428585644:(e,t)=>new l.IfcLaborResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1281925730:(e,t)=>new l.IfcLine(e,t[0],t[1]),1425443689:(e,t)=>new l.IfcManifoldSolidBrep(e,t[0]),3888040117:(e,t)=>new l.IfcObject(e,t[0],t[1],t[2],t[3],t[4]),3388369263:(e,t)=>new l.IfcOffsetCurve2D(e,t[0],t[1],t[2]),3505215534:(e,t)=>new l.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3]),1682466193:(e,t)=>new l.IfcPcurve(e,t[0],t[1]),603570806:(e,t)=>new l.IfcPlanarBox(e,t[0],t[1],t[2]),220341763:(e,t)=>new l.IfcPlane(e,t[0]),759155922:(e,t)=>new l.IfcPreDefinedColour(e,t[0]),2559016684:(e,t)=>new l.IfcPreDefinedCurveFont(e,t[0]),3967405729:(e,t)=>new l.IfcPreDefinedPropertySet(e,t[0],t[1],t[2],t[3]),569719735:(e,t)=>new l.IfcProcedureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2945172077:(e,t)=>new l.IfcProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),4208778838:(e,t)=>new l.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),103090709:(e,t)=>new l.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),653396225:(e,t)=>new l.IfcProjectLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),871118103:(e,t)=>new l.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4],t[5]),4166981789:(e,t)=>new l.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3]),2752243245:(e,t)=>new l.IfcPropertyListValue(e,t[0],t[1],t[2],t[3]),941946838:(e,t)=>new l.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3]),1451395588:(e,t)=>new l.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4]),492091185:(e,t)=>new l.IfcPropertySetTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3650150729:(e,t)=>new l.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3]),110355661:(e,t)=>new l.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3521284610:(e,t)=>new l.IfcPropertyTemplate(e,t[0],t[1],t[2],t[3]),3219374653:(e,t)=>new l.IfcProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2770003689:(e,t)=>new l.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2798486643:(e,t)=>new l.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3]),3454111270:(e,t)=>new l.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3765753017:(e,t)=>new l.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),3939117080:(e,t)=>new l.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5]),1683148259:(e,t)=>new l.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2495723537:(e,t)=>new l.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1307041759:(e,t)=>new l.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1027710054:(e,t)=>new l.IfcRelAssignsToGroupByFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4278684876:(e,t)=>new l.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2857406711:(e,t)=>new l.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),205026976:(e,t)=>new l.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1865459582:(e,t)=>new l.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4]),4095574036:(e,t)=>new l.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5]),919958153:(e,t)=>new l.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5]),2728634034:(e,t)=>new l.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),982818633:(e,t)=>new l.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5]),3840914261:(e,t)=>new l.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5]),2655215786:(e,t)=>new l.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5]),826625072:(e,t)=>new l.IfcRelConnects(e,t[0],t[1],t[2],t[3]),1204542856:(e,t)=>new l.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3945020480:(e,t)=>new l.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4201705270:(e,t)=>new l.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),3190031847:(e,t)=>new l.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2127690289:(e,t)=>new l.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5]),1638771189:(e,t)=>new l.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),504942748:(e,t)=>new l.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3678494232:(e,t)=>new l.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3242617779:(e,t)=>new l.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5]),886880790:(e,t)=>new l.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5]),2802773753:(e,t)=>new l.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5]),2565941209:(e,t)=>new l.IfcRelDeclares(e,t[0],t[1],t[2],t[3],t[4],t[5]),2551354335:(e,t)=>new l.IfcRelDecomposes(e,t[0],t[1],t[2],t[3]),693640335:(e,t)=>new l.IfcRelDefines(e,t[0],t[1],t[2],t[3]),1462361463:(e,t)=>new l.IfcRelDefinesByObject(e,t[0],t[1],t[2],t[3],t[4],t[5]),4186316022:(e,t)=>new l.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),307848117:(e,t)=>new l.IfcRelDefinesByTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5]),781010003:(e,t)=>new l.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5]),3940055652:(e,t)=>new l.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),279856033:(e,t)=>new l.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5]),427948657:(e,t)=>new l.IfcRelInterferesElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3268803585:(e,t)=>new l.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5]),750771296:(e,t)=>new l.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),1245217292:(e,t)=>new l.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5]),4122056220:(e,t)=>new l.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),366585022:(e,t)=>new l.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5]),3451746338:(e,t)=>new l.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3523091289:(e,t)=>new l.IfcRelSpaceBoundary1stLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1521410863:(e,t)=>new l.IfcRelSpaceBoundary2ndLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1401173127:(e,t)=>new l.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),816062949:(e,t)=>new l.IfcReparametrisedCompositeCurveSegment(e,t[0],t[1],t[2],t[3]),2914609552:(e,t)=>new l.IfcResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1856042241:(e,t)=>new l.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3]),3243963512:(e,t)=>new l.IfcRevolvedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4]),4158566097:(e,t)=>new l.IfcRightCircularCone(e,t[0],t[1],t[2]),3626867408:(e,t)=>new l.IfcRightCircularCylinder(e,t[0],t[1],t[2]),3663146110:(e,t)=>new l.IfcSimplePropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1412071761:(e,t)=>new l.IfcSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),710998568:(e,t)=>new l.IfcSpatialElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2706606064:(e,t)=>new l.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3893378262:(e,t)=>new l.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),463610769:(e,t)=>new l.IfcSpatialZone(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2481509218:(e,t)=>new l.IfcSpatialZoneType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),451544542:(e,t)=>new l.IfcSphere(e,t[0],t[1]),4015995234:(e,t)=>new l.IfcSphericalSurface(e,t[0],t[1]),3544373492:(e,t)=>new l.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3136571912:(e,t)=>new l.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),530289379:(e,t)=>new l.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3689010777:(e,t)=>new l.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3979015343:(e,t)=>new l.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2218152070:(e,t)=>new l.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),603775116:(e,t)=>new l.IfcStructuralSurfaceReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4095615324:(e,t)=>new l.IfcSubContractResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),699246055:(e,t)=>new l.IfcSurfaceCurve(e,t[0],t[1],t[2]),2028607225:(e,t)=>new l.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5]),2809605785:(e,t)=>new l.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3]),4124788165:(e,t)=>new l.IfcSurfaceOfRevolution(e,t[0],t[1],t[2]),1580310250:(e,t)=>new l.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3473067441:(e,t)=>new l.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),3206491090:(e,t)=>new l.IfcTaskType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2387106220:(e,t)=>new l.IfcTessellatedFaceSet(e,t[0]),1935646853:(e,t)=>new l.IfcToroidalSurface(e,t[0],t[1],t[2]),2097647324:(e,t)=>new l.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2916149573:(e,t)=>new l.IfcTriangulatedFaceSet(e,t[0],t[1],t[2],t[3],t[4]),336235671:(e,t)=>new l.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]),512836454:(e,t)=>new l.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2296667514:(e,t)=>new l.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5]),1635779807:(e,t)=>new l.IfcAdvancedBrep(e,t[0]),2603310189:(e,t)=>new l.IfcAdvancedBrepWithVoids(e,t[0],t[1]),1674181508:(e,t)=>new l.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2887950389:(e,t)=>new l.IfcBSplineSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),167062518:(e,t)=>new l.IfcBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1334484129:(e,t)=>new l.IfcBlock(e,t[0],t[1],t[2],t[3]),3649129432:(e,t)=>new l.IfcBooleanClippingResult(e,t[0],t[1],t[2]),1260505505:(e,t)=>new l.IfcBoundedCurve(e),4031249490:(e,t)=>new l.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1950629157:(e,t)=>new l.IfcBuildingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3124254112:(e,t)=>new l.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2197970202:(e,t)=>new l.IfcChimneyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2937912522:(e,t)=>new l.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4]),3893394355:(e,t)=>new l.IfcCivilElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),300633059:(e,t)=>new l.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3875453745:(e,t)=>new l.IfcComplexPropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3732776249:(e,t)=>new l.IfcCompositeCurve(e,t[0],t[1]),15328376:(e,t)=>new l.IfcCompositeCurveOnSurface(e,t[0],t[1]),2510884976:(e,t)=>new l.IfcConic(e,t[0]),2185764099:(e,t)=>new l.IfcConstructionEquipmentResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),4105962743:(e,t)=>new l.IfcConstructionMaterialResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1525564444:(e,t)=>new l.IfcConstructionProductResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2559216714:(e,t)=>new l.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3293443760:(e,t)=>new l.IfcControl(e,t[0],t[1],t[2],t[3],t[4],t[5]),3895139033:(e,t)=>new l.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1419761937:(e,t)=>new l.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1916426348:(e,t)=>new l.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3295246426:(e,t)=>new l.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1457835157:(e,t)=>new l.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1213902940:(e,t)=>new l.IfcCylindricalSurface(e,t[0],t[1]),3256556792:(e,t)=>new l.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3849074793:(e,t)=>new l.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2963535650:(e,t)=>new l.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),1714330368:(e,t)=>new l.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2323601079:(e,t)=>new l.IfcDoorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),445594917:(e,t)=>new l.IfcDraughtingPreDefinedColour(e,t[0]),4006246654:(e,t)=>new l.IfcDraughtingPreDefinedCurveFont(e,t[0]),1758889154:(e,t)=>new l.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4123344466:(e,t)=>new l.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2397081782:(e,t)=>new l.IfcElementAssemblyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1623761950:(e,t)=>new l.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2590856083:(e,t)=>new l.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1704287377:(e,t)=>new l.IfcEllipse(e,t[0],t[1],t[2]),2107101300:(e,t)=>new l.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),132023988:(e,t)=>new l.IfcEngineType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3174744832:(e,t)=>new l.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3390157468:(e,t)=>new l.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4148101412:(e,t)=>new l.IfcEvent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2853485674:(e,t)=>new l.IfcExternalSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),807026263:(e,t)=>new l.IfcFacetedBrep(e,t[0]),3737207727:(e,t)=>new l.IfcFacetedBrepWithVoids(e,t[0],t[1]),647756555:(e,t)=>new l.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2489546625:(e,t)=>new l.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2827207264:(e,t)=>new l.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2143335405:(e,t)=>new l.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1287392070:(e,t)=>new l.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3907093117:(e,t)=>new l.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3198132628:(e,t)=>new l.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3815607619:(e,t)=>new l.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1482959167:(e,t)=>new l.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1834744321:(e,t)=>new l.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1339347760:(e,t)=>new l.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2297155007:(e,t)=>new l.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3009222698:(e,t)=>new l.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1893162501:(e,t)=>new l.IfcFootingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),263784265:(e,t)=>new l.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1509553395:(e,t)=>new l.IfcFurniture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3493046030:(e,t)=>new l.IfcGeographicElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3009204131:(e,t)=>new l.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2706460486:(e,t)=>new l.IfcGroup(e,t[0],t[1],t[2],t[3],t[4]),1251058090:(e,t)=>new l.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1806887404:(e,t)=>new l.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2571569899:(e,t)=>new l.IfcIndexedPolyCurve(e,t[0],t[1],t[2]),3946677679:(e,t)=>new l.IfcInterceptorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3113134337:(e,t)=>new l.IfcIntersectionCurve(e,t[0],t[1],t[2]),2391368822:(e,t)=>new l.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4288270099:(e,t)=>new l.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3827777499:(e,t)=>new l.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1051575348:(e,t)=>new l.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1161773419:(e,t)=>new l.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),377706215:(e,t)=>new l.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2108223431:(e,t)=>new l.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1114901282:(e,t)=>new l.IfcMedicalDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3181161470:(e,t)=>new l.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),977012517:(e,t)=>new l.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4143007308:(e,t)=>new l.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3588315303:(e,t)=>new l.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3079942009:(e,t)=>new l.IfcOpeningStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2837617999:(e,t)=>new l.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2382730787:(e,t)=>new l.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3566463478:(e,t)=>new l.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3327091369:(e,t)=>new l.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1158309216:(e,t)=>new l.IfcPileType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),804291784:(e,t)=>new l.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4231323485:(e,t)=>new l.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4017108033:(e,t)=>new l.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2839578677:(e,t)=>new l.IfcPolygonalFaceSet(e,t[0],t[1],t[2],t[3]),3724593414:(e,t)=>new l.IfcPolyline(e,t[0]),3740093272:(e,t)=>new l.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2744685151:(e,t)=>new l.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2904328755:(e,t)=>new l.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3651124850:(e,t)=>new l.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1842657554:(e,t)=>new l.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2250791053:(e,t)=>new l.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2893384427:(e,t)=>new l.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2324767716:(e,t)=>new l.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1469900589:(e,t)=>new l.IfcRampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),683857671:(e,t)=>new l.IfcRationalBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),3027567501:(e,t)=>new l.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),964333572:(e,t)=>new l.IfcReinforcingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2320036040:(e,t)=>new l.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17]),2310774935:(e,t)=>new l.IfcReinforcingMeshType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19]),160246688:(e,t)=>new l.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5]),2781568857:(e,t)=>new l.IfcRoofType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1768891740:(e,t)=>new l.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2157484638:(e,t)=>new l.IfcSeamCurve(e,t[0],t[1],t[2]),4074543187:(e,t)=>new l.IfcShadingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4097777520:(e,t)=>new l.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),2533589738:(e,t)=>new l.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1072016465:(e,t)=>new l.IfcSolarDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3856911033:(e,t)=>new l.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1305183839:(e,t)=>new l.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3812236995:(e,t)=>new l.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3112655638:(e,t)=>new l.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1039846685:(e,t)=>new l.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),338393293:(e,t)=>new l.IfcStairType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),682877961:(e,t)=>new l.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1179482911:(e,t)=>new l.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1004757350:(e,t)=>new l.IfcStructuralCurveAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),4243806635:(e,t)=>new l.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),214636428:(e,t)=>new l.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2445595289:(e,t)=>new l.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2757150158:(e,t)=>new l.IfcStructuralCurveReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1807405624:(e,t)=>new l.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1252848954:(e,t)=>new l.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2082059205:(e,t)=>new l.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),734778138:(e,t)=>new l.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1235345126:(e,t)=>new l.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2986769608:(e,t)=>new l.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3657597509:(e,t)=>new l.IfcStructuralSurfaceAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1975003073:(e,t)=>new l.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),148013059:(e,t)=>new l.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3101698114:(e,t)=>new l.IfcSurfaceFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2315554128:(e,t)=>new l.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2254336722:(e,t)=>new l.IfcSystem(e,t[0],t[1],t[2],t[3],t[4]),413509423:(e,t)=>new l.IfcSystemFurnitureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),5716631:(e,t)=>new l.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3824725483:(e,t)=>new l.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),2347447852:(e,t)=>new l.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3081323446:(e,t)=>new l.IfcTendonAnchorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2415094496:(e,t)=>new l.IfcTendonType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),1692211062:(e,t)=>new l.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1620046519:(e,t)=>new l.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3593883385:(e,t)=>new l.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4]),1600972822:(e,t)=>new l.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1911125066:(e,t)=>new l.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),728799441:(e,t)=>new l.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2391383451:(e,t)=>new l.IfcVibrationIsolator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3313531582:(e,t)=>new l.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2769231204:(e,t)=>new l.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),926996030:(e,t)=>new l.IfcVoidingFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1898987631:(e,t)=>new l.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1133259667:(e,t)=>new l.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4009809668:(e,t)=>new l.IfcWindowType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),4088093105:(e,t)=>new l.IfcWorkCalendar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1028945134:(e,t)=>new l.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),4218914973:(e,t)=>new l.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),3342526732:(e,t)=>new l.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),1033361043:(e,t)=>new l.IfcZone(e,t[0],t[1],t[2],t[3],t[4],t[5]),3821786052:(e,t)=>new l.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1411407467:(e,t)=>new l.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3352864051:(e,t)=>new l.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1871374353:(e,t)=>new l.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3460190687:(e,t)=>new l.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),1532957894:(e,t)=>new l.IfcAudioVisualApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1967976161:(e,t)=>new l.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4]),2461110595:(e,t)=>new l.IfcBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),819618141:(e,t)=>new l.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),231477066:(e,t)=>new l.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1136057603:(e,t)=>new l.IfcBoundaryCurve(e,t[0],t[1]),3299480353:(e,t)=>new l.IfcBuildingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2979338954:(e,t)=>new l.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),39481116:(e,t)=>new l.IfcBuildingElementPartType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1095909175:(e,t)=>new l.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1909888760:(e,t)=>new l.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1177604601:(e,t)=>new l.IfcBuildingSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2188180465:(e,t)=>new l.IfcBurnerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),395041908:(e,t)=>new l.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3293546465:(e,t)=>new l.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2674252688:(e,t)=>new l.IfcCableFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1285652485:(e,t)=>new l.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2951183804:(e,t)=>new l.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3296154744:(e,t)=>new l.IfcChimney(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2611217952:(e,t)=>new l.IfcCircle(e,t[0],t[1]),1677625105:(e,t)=>new l.IfcCivilElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2301859152:(e,t)=>new l.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),843113511:(e,t)=>new l.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),905975707:(e,t)=>new l.IfcColumnStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),400855858:(e,t)=>new l.IfcCommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3850581409:(e,t)=>new l.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2816379211:(e,t)=>new l.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3898045240:(e,t)=>new l.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1060000209:(e,t)=>new l.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),488727124:(e,t)=>new l.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),335055490:(e,t)=>new l.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2954562838:(e,t)=>new l.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1973544240:(e,t)=>new l.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3495092785:(e,t)=>new l.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3961806047:(e,t)=>new l.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1335981549:(e,t)=>new l.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2635815018:(e,t)=>new l.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1599208980:(e,t)=>new l.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2063403501:(e,t)=>new l.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1945004755:(e,t)=>new l.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3040386961:(e,t)=>new l.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3041715199:(e,t)=>new l.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3205830791:(e,t)=>new l.IfcDistributionSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),395920057:(e,t)=>new l.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),3242481149:(e,t)=>new l.IfcDoorStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),869906466:(e,t)=>new l.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3760055223:(e,t)=>new l.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2030761528:(e,t)=>new l.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),663422040:(e,t)=>new l.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2417008758:(e,t)=>new l.IfcElectricDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3277789161:(e,t)=>new l.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1534661035:(e,t)=>new l.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1217240411:(e,t)=>new l.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),712377611:(e,t)=>new l.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1658829314:(e,t)=>new l.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2814081492:(e,t)=>new l.IfcEngine(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3747195512:(e,t)=>new l.IfcEvaporativeCooler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),484807127:(e,t)=>new l.IfcEvaporator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1209101575:(e,t)=>new l.IfcExternalSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),346874300:(e,t)=>new l.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1810631287:(e,t)=>new l.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4222183408:(e,t)=>new l.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2058353004:(e,t)=>new l.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4278956645:(e,t)=>new l.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4037862832:(e,t)=>new l.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2188021234:(e,t)=>new l.IfcFlowMeter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3132237377:(e,t)=>new l.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),987401354:(e,t)=>new l.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),707683696:(e,t)=>new l.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2223149337:(e,t)=>new l.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3508470533:(e,t)=>new l.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),900683007:(e,t)=>new l.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3319311131:(e,t)=>new l.IfcHeatExchanger(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2068733104:(e,t)=>new l.IfcHumidifier(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4175244083:(e,t)=>new l.IfcInterceptor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2176052936:(e,t)=>new l.IfcJunctionBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),76236018:(e,t)=>new l.IfcLamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),629592764:(e,t)=>new l.IfcLightFixture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1437502449:(e,t)=>new l.IfcMedicalDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1073191201:(e,t)=>new l.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1911478936:(e,t)=>new l.IfcMemberStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2474470126:(e,t)=>new l.IfcMotorConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),144952367:(e,t)=>new l.IfcOuterBoundaryCurve(e,t[0],t[1]),3694346114:(e,t)=>new l.IfcOutlet(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1687234759:(e,t)=>new l.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),310824031:(e,t)=>new l.IfcPipeFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3612865200:(e,t)=>new l.IfcPipeSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3171933400:(e,t)=>new l.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1156407060:(e,t)=>new l.IfcPlateStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),738039164:(e,t)=>new l.IfcProtectiveDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),655969474:(e,t)=>new l.IfcProtectiveDeviceTrippingUnitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),90941305:(e,t)=>new l.IfcPump(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2262370178:(e,t)=>new l.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3024970846:(e,t)=>new l.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3283111854:(e,t)=>new l.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1232101972:(e,t)=>new l.IfcRationalBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),979691226:(e,t)=>new l.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),2572171363:(e,t)=>new l.IfcReinforcingBarType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]),2016517767:(e,t)=>new l.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3053780830:(e,t)=>new l.IfcSanitaryTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1783015770:(e,t)=>new l.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1329646415:(e,t)=>new l.IfcShadingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1529196076:(e,t)=>new l.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3127900445:(e,t)=>new l.IfcSlabElementedCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3027962421:(e,t)=>new l.IfcSlabStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3420628829:(e,t)=>new l.IfcSolarDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1999602285:(e,t)=>new l.IfcSpaceHeater(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1404847402:(e,t)=>new l.IfcStackTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),331165859:(e,t)=>new l.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4252922144:(e,t)=>new l.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),2515109513:(e,t)=>new l.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),385403989:(e,t)=>new l.IfcStructuralLoadCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1621171031:(e,t)=>new l.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1162798199:(e,t)=>new l.IfcSwitchingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),812556717:(e,t)=>new l.IfcTank(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3825984169:(e,t)=>new l.IfcTransformer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3026737570:(e,t)=>new l.IfcTubeBundle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3179687236:(e,t)=>new l.IfcUnitaryControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4292641817:(e,t)=>new l.IfcUnitaryEquipment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4207607924:(e,t)=>new l.IfcValve(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2391406946:(e,t)=>new l.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4156078855:(e,t)=>new l.IfcWallElementedCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3512223829:(e,t)=>new l.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4237592921:(e,t)=>new l.IfcWasteTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3304561284:(e,t)=>new l.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),486154966:(e,t)=>new l.IfcWindowStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),2874132201:(e,t)=>new l.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1634111441:(e,t)=>new l.IfcAirTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),177149247:(e,t)=>new l.IfcAirTerminalBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2056796094:(e,t)=>new l.IfcAirToAirHeatRecovery(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3001207471:(e,t)=>new l.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),277319702:(e,t)=>new l.IfcAudioVisualAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),753842376:(e,t)=>new l.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2906023776:(e,t)=>new l.IfcBeamStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),32344328:(e,t)=>new l.IfcBoiler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2938176219:(e,t)=>new l.IfcBurner(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),635142910:(e,t)=>new l.IfcCableCarrierFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3758799889:(e,t)=>new l.IfcCableCarrierSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1051757585:(e,t)=>new l.IfcCableFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4217484030:(e,t)=>new l.IfcCableSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3902619387:(e,t)=>new l.IfcChiller(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),639361253:(e,t)=>new l.IfcCoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3221913625:(e,t)=>new l.IfcCommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3571504051:(e,t)=>new l.IfcCompressor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2272882330:(e,t)=>new l.IfcCondenser(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),578613899:(e,t)=>new l.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4136498852:(e,t)=>new l.IfcCooledBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3640358203:(e,t)=>new l.IfcCoolingTower(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4074379575:(e,t)=>new l.IfcDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1052013943:(e,t)=>new l.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),562808652:(e,t)=>new l.IfcDistributionCircuit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1062813311:(e,t)=>new l.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),342316401:(e,t)=>new l.IfcDuctFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3518393246:(e,t)=>new l.IfcDuctSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1360408905:(e,t)=>new l.IfcDuctSilencer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1904799276:(e,t)=>new l.IfcElectricAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),862014818:(e,t)=>new l.IfcElectricDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3310460725:(e,t)=>new l.IfcElectricFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),264262732:(e,t)=>new l.IfcElectricGenerator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),402227799:(e,t)=>new l.IfcElectricMotor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1003880860:(e,t)=>new l.IfcElectricTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3415622556:(e,t)=>new l.IfcFan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),819412036:(e,t)=>new l.IfcFilter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1426591983:(e,t)=>new l.IfcFireSuppressionTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),182646315:(e,t)=>new l.IfcFlowInstrument(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2295281155:(e,t)=>new l.IfcProtectiveDeviceTrippingUnit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4086658281:(e,t)=>new l.IfcSensor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),630975310:(e,t)=>new l.IfcUnitaryControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4288193352:(e,t)=>new l.IfcActuator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3087945054:(e,t)=>new l.IfcAlarm(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),25142252:(e,t)=>new l.IfcController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},Lm[2]={3630933823:e=>[e.Role,e.UserDefinedRole,e.Description],618182010:e=>[e.Purpose,e.Description,e.UserDefinedPurpose],639542469:e=>[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier],411424972:e=>[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components],130549933:e=>[e.Identifier,e.Name,e.Description,e.TimeOfApproval,e.Status,e.Level,e.Qualifier,e.RequestingApproval,e.GivingApproval],4037036970:e=>[e.Name],1560379544:e=>[e.Name,e.TranslationalStiffnessByLengthX?Mm(e.TranslationalStiffnessByLengthX):null,e.TranslationalStiffnessByLengthY?Mm(e.TranslationalStiffnessByLengthY):null,e.TranslationalStiffnessByLengthZ?Mm(e.TranslationalStiffnessByLengthZ):null,e.RotationalStiffnessByLengthX?Mm(e.RotationalStiffnessByLengthX):null,e.RotationalStiffnessByLengthY?Mm(e.RotationalStiffnessByLengthY):null,e.RotationalStiffnessByLengthZ?Mm(e.RotationalStiffnessByLengthZ):null],3367102660:e=>[e.Name,e.TranslationalStiffnessByAreaX?Mm(e.TranslationalStiffnessByAreaX):null,e.TranslationalStiffnessByAreaY?Mm(e.TranslationalStiffnessByAreaY):null,e.TranslationalStiffnessByAreaZ?Mm(e.TranslationalStiffnessByAreaZ):null],1387855156:e=>[e.Name,e.TranslationalStiffnessX?Mm(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Mm(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Mm(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Mm(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Mm(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Mm(e.RotationalStiffnessZ):null],2069777674:e=>[e.Name,e.TranslationalStiffnessX?Mm(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Mm(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Mm(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Mm(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Mm(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Mm(e.RotationalStiffnessZ):null,e.WarpingStiffness?Mm(e.WarpingStiffness):null],2859738748:e=>[],2614616156:e=>[e.PointOnRelatingElement,e.PointOnRelatedElement],2732653382:e=>[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement],775493141:e=>[e.VolumeOnRelatingElement,e.VolumeOnRelatedElement],1959218052:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade],1785450214:e=>[e.SourceCRS,e.TargetCRS],1466758467:e=>[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum],602808272:e=>[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components],1765591967:e=>[e.Elements,e.UnitType,e.UserDefinedType],1045800335:e=>[e.Unit,e.Exponent],2949456006:e=>[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent],4294318154:e=>[],3200245327:e=>[e.Location,e.Identification,e.Name],2242383968:e=>[e.Location,e.Identification,e.Name],1040185647:e=>[e.Location,e.Identification,e.Name],3548104201:e=>[e.Location,e.Identification,e.Name],852622518:e=>{var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:e=>[e.TimeStamp,e.ListValues.map((e=>Mm(e)))],2655187982:e=>[e.Name,e.Version,e.Publisher,e.VersionDate,e.Location,e.Description],3452421091:e=>[e.Location,e.Identification,e.Name,e.Description,e.Language,e.ReferencedLibrary],4162380809:e=>[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity],1566485204:e=>[e.LightDistributionCurve,e.DistributionData],3057273783:e=>[e.SourceCRS,e.TargetCRS,e.Eastings,e.Northings,e.OrthogonalHeight,e.XAxisAbscissa,e.XAxisOrdinate,e.Scale],1847130766:e=>[e.MaterialClassifications,e.ClassifiedMaterial],760658860:e=>[],248100487:e=>{var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority]},3303938423:e=>[e.MaterialLayers,e.LayerSetName,e.Description],1847252529:e=>{var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority,e.OffsetDirection,e.OffsetValues]},2199411900:e=>[e.Materials],2235152071:e=>[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category],164193824:e=>[e.Name,e.Description,e.MaterialProfiles,e.CompositeProfile],552965576:e=>[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category,e.OffsetValues],1507914824:e=>[],2597039031:e=>[Mm(e.ValueComponent),e.UnitComponent],3368373690:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue,e.ReferencePath],2706619895:e=>[e.Currency],1918398963:e=>[e.Dimensions,e.UnitType],3701648758:e=>[],2251480897:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.LogicalAggregator,e.ObjectiveQualifier,e.UserDefinedQualifier],4251960020:e=>[e.Identification,e.Name,e.Description,e.Roles,e.Addresses],1207048766:e=>[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate],2077209135:e=>[e.Identification,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses],101040310:e=>[e.ThePerson,e.TheOrganization,e.Roles],2483315170:e=>[e.Name,e.Description],2226359599:e=>[e.Name,e.Description,e.Unit],3355820592:e=>[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country],677532197:e=>[],2022622350:e=>[e.Name,e.Description,e.AssignedItems,e.Identifier],1304840413:e=>{var t,n,s;return[e.Name,e.Description,e.AssignedItems,e.Identifier,null==(t=e.LayerOn)?void 0:t.toString(),null==(n=e.LayerFrozen)?void 0:n.toString(),null==(s=e.LayerBlocked)?void 0:s.toString(),e.LayerStyles]},3119450353:e=>[e.Name],2417041796:e=>[e.Styles],2095639259:e=>[e.Name,e.Description,e.Representations],3958567839:e=>[e.ProfileType,e.ProfileName],3843373140:e=>[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum,e.MapProjection,e.MapZone,e.MapUnit],986844984:e=>[],3710013099:e=>[e.Name,e.EnumerationValues.map((e=>Mm(e))),e.Unit],2044713172:e=>[e.Name,e.Description,e.Unit,e.AreaValue,e.Formula],2093928680:e=>[e.Name,e.Description,e.Unit,e.CountValue,e.Formula],931644368:e=>[e.Name,e.Description,e.Unit,e.LengthValue,e.Formula],3252649465:e=>[e.Name,e.Description,e.Unit,e.TimeValue,e.Formula],2405470396:e=>[e.Name,e.Description,e.Unit,e.VolumeValue,e.Formula],825690147:e=>[e.Name,e.Description,e.Unit,e.WeightValue,e.Formula],3915482550:e=>[e.RecurrenceType,e.DayComponent,e.WeekdayComponent,e.MonthComponent,e.Position,e.Interval,e.Occurrences,e.TimePeriods],2433181523:e=>[e.TypeIdentifier,e.AttributeIdentifier,e.InstanceName,e.ListPositions,e.InnerReference],1076942058:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],3377609919:e=>[e.ContextIdentifier,e.ContextType],3008791417:e=>[],1660063152:e=>[e.MappingOrigin,e.MappedRepresentation],2439245199:e=>[e.Name,e.Description],2341007311:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],448429030:e=>[e.Dimensions,e.UnitType,e.Prefix,e.Name],1054537805:e=>[e.Name,e.DataOrigin,e.UserDefinedDataOrigin],867548509:e=>{var t;return[e.ShapeRepresentations,e.Name,e.Description,null==(t=e.ProductDefinitional)?void 0:t.toString(),e.PartOfProductDefinitionShape]},3982875396:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],4240577450:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],2273995522:e=>[e.Name],2162789131:e=>[e.Name],3478079324:e=>[e.Name,e.Values,e.Locations],609421318:e=>[e.Name],2525727697:e=>[e.Name],3408363356:e=>[e.Name,e.DeltaTConstant,e.DeltaTY,e.DeltaTZ],2830218821:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],3958052878:e=>[e.Item,e.Styles,e.Name],3049322572:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],2934153892:e=>[e.Name,e.SurfaceReinforcement1,e.SurfaceReinforcement2,e.ShearReinforcement],1300840506:e=>[e.Name,e.Side,e.Styles],3303107099:e=>[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour],1607154358:e=>[e.RefractionIndex,e.DispersionFactor],846575682:e=>[e.SurfaceColour,e.Transparency],1351298697:e=>[e.Textures],626085974:e=>{var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter]},985171141:e=>[e.Name,e.Rows,e.Columns],2043862942:e=>[e.Identifier,e.Name,e.Description,e.Unit,e.ReferencePath],531007025:e=>{var t;return[e.RowCells?e.RowCells.map((e=>Mm(e))):null,null==(t=e.IsHeading)?void 0:t.toString()]},1549132990:e=>{var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion]},2771591690:e=>{var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion,e.Recurrence]},912023232:e=>[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL,e.MessagingIDs],1447204868:e=>{var t;return[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},2636378356:e=>[e.Colour,e.BackgroundColour],1640371178:e=>[e.TextIndent?Mm(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Mm(e.LetterSpacing):null,e.WordSpacing?Mm(e.WordSpacing):null,e.TextTransform,e.LineHeight?Mm(e.LineHeight):null],280115917:e=>[e.Maps],1742049831:e=>[e.Maps,e.Mode,e.Parameter],2552916305:e=>[e.Maps,e.Vertices,e.MappedTo],1210645708:e=>[e.Coordinates],3611470254:e=>[e.TexCoordsList],1199560280:e=>[e.StartTime,e.EndTime],3101149627:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit],581633288:e=>[e.ListValues.map((e=>Mm(e)))],1377556343:e=>[],1735638870:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],180925521:e=>[e.Units],2799835756:e=>[],1907098498:e=>[e.VertexGeometry],891718957:e=>[e.IntersectingAxes,e.OffsetDistances],1236880293:e=>[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.RecurrencePattern,e.Start,e.Finish],3869604511:e=>[e.Name,e.Description,e.RelatingApproval,e.RelatedApprovals],3798115385:e=>[e.ProfileType,e.ProfileName,e.OuterCurve],1310608509:e=>[e.ProfileType,e.ProfileName,e.Curve],2705031697:e=>[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves],616511568:e=>{var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.RasterFormat,e.RasterCode]},3150382593:e=>[e.ProfileType,e.ProfileName,e.Curve,e.Thickness],747523909:e=>[e.Source,e.Edition,e.EditionDate,e.Name,e.Description,e.Location,e.ReferenceTokens],647927063:e=>[e.Location,e.Identification,e.Name,e.ReferencedSource,e.Description,e.Sort],3285139300:e=>[e.ColourList],3264961684:e=>[e.Name],1485152156:e=>[e.ProfileType,e.ProfileName,e.Profiles,e.Label],370225590:e=>[e.CfsFaces],1981873012:e=>[e.CurveOnRelatingElement,e.CurveOnRelatedElement],45288368:e=>[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ],3050246964:e=>[e.Dimensions,e.UnitType,e.Name],2889183280:e=>[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor],2713554722:e=>[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor,e.ConversionOffset],539742890:e=>[e.Name,e.Description,e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource],3800577675:e=>{var t;return[e.Name,e.CurveFont,e.CurveWidth?Mm(e.CurveWidth):null,e.CurveColour,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},1105321065:e=>[e.Name,e.PatternList],2367409068:e=>[e.Name,e.CurveFont,e.CurveFontScaling],3510044353:e=>[e.VisibleSegmentLength,e.InvisibleSegmentLength],3632507154:e=>[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label],1154170062:e=>[e.Identification,e.Name,e.Description,e.Location,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status],770865208:e=>[e.Name,e.Description,e.RelatingDocument,e.RelatedDocuments,e.RelationshipType],3732053477:e=>[e.Location,e.Identification,e.Name,e.Description,e.ReferencedDocument],3900360178:e=>[e.EdgeStart,e.EdgeEnd],476780140:e=>{var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,null==(t=e.SameSense)?void 0:t.toString()]},211053100:e=>[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ActualDate,e.EarlyDate,e.LateDate,e.ScheduleDate],297599258:e=>[e.Name,e.Description,e.Properties],1437805879:e=>[e.Name,e.Description,e.RelatingReference,e.RelatedResourceObjects],2556980723:e=>[e.Bounds],1809719519:e=>{var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},803316827:e=>{var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},3008276851:e=>{var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},4219587988:e=>[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ],738692330:e=>{var t;return[e.Name,e.FillStyles,null==(t=e.ModelorDraughting)?void 0:t.toString()]},3448662350:e=>[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth],2453401579:e=>[],4142052618:e=>[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView],3590301190:e=>[e.Elements],178086475:e=>[e.PlacementLocation,e.PlacementRefDirection],812098782:e=>{var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString()]},3905492369:e=>{var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.URLReference]},3570813810:e=>[e.MappedTo,e.Opacity,e.Colours,e.ColourIndex],1437953363:e=>[e.Maps,e.MappedTo,e.TexCoords],2133299955:e=>[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndex],3741457305:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values],1585845231:e=>[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,Mm(e.LagValue),e.DurationType],1402838566:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity],125510826:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity],2604431987:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation],4266656042:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource],1520743889:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation],3422422726:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle],2624227202:e=>[e.PlacementRelTo,e.RelativePlacement],1008929658:e=>[],2347385850:e=>[e.MappingSource,e.MappingTarget],1838606355:e=>[e.Name,e.Description,e.Category],3708119e3:e=>[e.Name,e.Description,e.Material,e.Fraction,e.Category],2852063980:e=>[e.Name,e.Description,e.MaterialConstituents],2022407955:e=>[e.Name,e.Description,e.Representations,e.RepresentedMaterial],1303795690:e=>[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine,e.ReferenceExtent],3079605661:e=>[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent],3404854881:e=>[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent,e.ForProfileEndSet,e.CardinalEndPoint],3265635763:e=>[e.Name,e.Description,e.Properties,e.Material],853536259:e=>[e.Name,e.Description,e.RelatingMaterial,e.RelatedMaterials,e.Expression],2998442950:e=>[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label],219451334:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],2665983363:e=>[e.CfsFaces],1411181986:e=>[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations],1029017970:e=>{var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeElement,null==(t=e.Orientation)?void 0:t.toString()]},2529465313:e=>[e.ProfileType,e.ProfileName,e.Position],2519244187:e=>[e.EdgeList],3021840470:e=>[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage],597895409:e=>{var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.Width,e.Height,e.ColourComponents,e.Pixel]},2004835150:e=>[e.Location],1663979128:e=>[e.SizeInX,e.SizeInY],2067069095:e=>[],4022376103:e=>[e.BasisCurve,e.PointParameter],1423911732:e=>[e.BasisSurface,e.PointParameterU,e.PointParameterV],2924175390:e=>[e.Polygon],2775532180:e=>{var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Position,e.PolygonalBoundary]},3727388367:e=>[e.Name],3778827333:e=>[],1775413392:e=>[e.Name],673634403:e=>[e.Name,e.Description,e.Representations],2802850158:e=>[e.Name,e.Description,e.Properties,e.ProfileDefinition],2598011224:e=>[e.Name,e.Description],1680319473:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],148025276:e=>[e.Name,e.Description,e.DependingProperty,e.DependantProperty,e.Expression],3357820518:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],1482703590:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],2090586900:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],3615266464:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim],3413951693:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values],1580146022:e=>[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount],478536968:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],2943643501:e=>[e.Name,e.Description,e.RelatedResourceObjects,e.RelatingApproval],1608871552:e=>[e.Name,e.Description,e.RelatingConstraint,e.RelatedResourceObjects],1042787934:e=>{var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ScheduleWork,e.ScheduleUsage,e.ScheduleStart,e.ScheduleFinish,e.ScheduleContour,e.LevelingDelay,null==(t=e.IsOverAllocated)?void 0:t.toString(),e.StatusTime,e.ActualWork,e.ActualUsage,e.ActualStart,e.ActualFinish,e.RemainingWork,e.RemainingUsage,e.Completion]},2778083089:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius],2042790032:e=>[e.SectionType,e.StartProfile,e.EndProfile],4165799628:e=>[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions],1509187699:e=>[e.SpineCurve,e.CrossSections,e.CrossSectionPositions],4124623270:e=>[e.SbsmBoundary],3692461612:e=>[e.Name,e.Description],2609359061:e=>[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ],723233188:e=>[],1595516126:e=>[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ],2668620305:e=>[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ],2473145415:e=>[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ],1973038258:e=>[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion],1597423693:e=>[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ],1190533807:e=>[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment],2233826070:e=>[e.EdgeStart,e.EdgeEnd,e.ParentEdge],2513912981:e=>[],1878645084:e=>[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Mm(e.SpecularHighlight):null,e.ReflectanceMethod],2247615214:e=>[e.SweptArea,e.Position],1260650574:e=>[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam],1096409881:e=>[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam,e.FilletRadius],230924584:e=>[e.SweptCurve,e.Position],3071757647:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope],901063453:e=>[],4282788508:e=>[e.Literal,e.Placement,e.Path],3124975700:e=>[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment],1983826977:e=>[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Mm(e.FontSize)],2715220739:e=>[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset],1628702193:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets],3736923433:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType],2347495698:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag],3698973494:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType],427810014:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope],1417489154:e=>[e.Orientation,e.Magnitude],2759199220:e=>[e.LoopVertex],1299126871:e=>{var t,n;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ConstructionType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),null==(n=e.Sizeable)?void 0:n.toString()]},2543172580:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius],3406155212:e=>{var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},669184980:e=>[e.OuterBoundary,e.InnerBoundaries],3207858831:e=>[e.ProfileType,e.ProfileName,e.Position,e.BottomFlangeWidth,e.OverallDepth,e.WebThickness,e.BottomFlangeThickness,e.BottomFlangeFilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.BottomFlangeEdgeRadius,e.BottomFlangeSlope,e.TopFlangeEdgeRadius,e.TopFlangeSlope],4261334040:e=>[e.Location,e.Axis],3125803723:e=>[e.Location,e.RefDirection],2740243338:e=>[e.Location,e.Axis,e.RefDirection],2736907675:e=>[e.Operator,e.FirstOperand,e.SecondOperand],4182860854:e=>[],2581212453:e=>[e.Corner,e.XDim,e.YDim,e.ZDim],2713105998:e=>{var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Enclosure]},2898889636:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius],1123145078:e=>[e.Coordinates],574549367:e=>[],1675464909:e=>[e.CoordList],2059837836:e=>[e.CoordList],59481748:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale],3749851601:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale],3486308946:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2],3331915920:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3],1416205885:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3],1383045692:e=>[e.ProfileType,e.ProfileName,e.Position,e.Radius],2205249479:e=>[e.CfsFaces],776857604:e=>[e.Name,e.Red,e.Green,e.Blue],2542286263:e=>[e.Name,e.Description,e.UsageName,e.HasProperties],2485617015:e=>{var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve]},2574617495:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity],3419103109:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext],1815067380:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],2506170314:e=>[e.Position],2147822146:e=>[e.TreeRootExpression],2601014836:e=>[],2827736869:e=>[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries],2629017746:e=>{var t;return[e.BasisSurface,e.Boundaries,null==(t=e.ImplicitOuter)?void 0:t.toString()]},32440307:e=>[e.DirectionRatios],526551008:e=>{var t,n;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.OperationType,e.ConstructionType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),null==(n=e.Sizeable)?void 0:n.toString()]},1472233963:e=>[e.EdgeList],1883228015:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities],339256511:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2777663545:e=>[e.Position],2835456948:e=>[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2],4024345920:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType],477187591:e=>[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth],2804161546:e=>[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth,e.EndSweptArea],2047409740:e=>[e.FbsmFaces],374418227:e=>[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle],315944413:e=>[e.TilingPattern,e.Tiles,e.TilingScale],2652556860:e=>[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.FixedReference],4238390223:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1268542332:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace,e.PredefinedType],4095422895:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],987898635:e=>[e.Elements],1484403080:e=>[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.FlangeSlope],178912537:e=>[e.CoordIndex],2294589976:e=>[e.CoordIndex,e.InnerCoordIndices],572779678:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope],428585644:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1281925730:e=>[e.Pnt,e.Dir],1425443689:e=>[e.Outer],3888040117:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],3388369263:e=>{var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString()]},3505215534:e=>{var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString(),e.RefDirection]},1682466193:e=>[e.BasisSurface,e.ReferenceCurve],603570806:e=>[e.SizeInX,e.SizeInY,e.Placement],220341763:e=>[e.Position],759155922:e=>[e.Name],2559016684:e=>[e.Name],3967405729:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],569719735:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType],2945172077:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription],4208778838:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],103090709:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext],653396225:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext],871118103:e=>[e.Name,e.Description,e.UpperBoundValue?Mm(e.UpperBoundValue):null,e.LowerBoundValue?Mm(e.LowerBoundValue):null,e.Unit,e.SetPointValue?Mm(e.SetPointValue):null],4166981789:e=>[e.Name,e.Description,e.EnumerationValues?e.EnumerationValues.map((e=>Mm(e))):null,e.EnumerationReference],2752243245:e=>[e.Name,e.Description,e.ListValues?e.ListValues.map((e=>Mm(e))):null,e.Unit],941946838:e=>[e.Name,e.Description,e.UsageName,e.PropertyReference],1451395588:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties],492091185:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.ApplicableEntity,e.HasPropertyTemplates],3650150729:e=>[e.Name,e.Description,e.NominalValue?Mm(e.NominalValue):null,e.Unit],110355661:e=>[e.Name,e.Description,e.DefiningValues?e.DefiningValues.map((e=>Mm(e))):null,e.DefinedValues?e.DefinedValues.map((e=>Mm(e))):null,e.Expression,e.DefiningUnit,e.DefinedUnit,e.CurveInterpolation],3521284610:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],3219374653:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.ProxyType,e.Tag],2770003689:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius],2798486643:e=>[e.Position,e.XLength,e.YLength,e.Height],3454111270:e=>{var t,n;return[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,null==(t=e.Usense)?void 0:t.toString(),null==(n=e.Vsense)?void 0:n.toString()]},3765753017:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions],3939117080:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType],1683148259:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole],2495723537:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl],1307041759:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup],1027710054:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup,e.Factor],4278684876:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess],2857406711:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct],205026976:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource],1865459582:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects],4095574036:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval],919958153:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification],2728634034:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint],982818633:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument],3840914261:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary],2655215786:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial],826625072:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],1204542856:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement],3945020480:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType],4201705270:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement],3190031847:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement],2127690289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity],1638771189:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem],504942748:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint],3678494232:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType],3242617779:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure],886880790:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings],2802773753:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedCoverings],2565941209:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingContext,e.RelatedDefinitions],2551354335:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],693640335:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],1462361463:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingObject],4186316022:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition],307848117:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedPropertySets,e.RelatingTemplate],781010003:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType],3940055652:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement],279856033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement],427948657:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedElement,e.InterferenceGeometry,e.InterferenceType,e.ImpliedOrder],3268803585:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects],750771296:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement],1245217292:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure],4122056220:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType,e.UserDefinedSequenceType],366585022:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings],3451746338:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary],3523091289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary],1521410863:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary,e.CorrespondingBoundary],1401173127:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement],816062949:e=>{var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve,e.ParamLength]},2914609552:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription],1856042241:e=>[e.SweptArea,e.Position,e.Axis,e.Angle],3243963512:e=>[e.SweptArea,e.Position,e.Axis,e.Angle,e.EndSweptArea],4158566097:e=>[e.Position,e.Height,e.BottomRadius],3626867408:e=>[e.Position,e.Height,e.Radius],3663146110:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.PrimaryMeasureType,e.SecondaryMeasureType,e.Enumerators,e.PrimaryUnit,e.SecondaryUnit,e.Expression,e.AccessState],1412071761:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName],710998568:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2706606064:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType],3893378262:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],463610769:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType],2481509218:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName],451544542:e=>[e.Position,e.Radius],4015995234:e=>[e.Position,e.Radius],3544373492:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],3136571912:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],530289379:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],3689010777:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],3979015343:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness],2218152070:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness],603775116:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType],4095615324:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],699246055:e=>[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation],2028607225:e=>[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.ReferenceSurface],2809605785:e=>[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth],4124788165:e=>[e.SweptCurve,e.Position,e.AxisPosition],1580310250:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3473067441:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Status,e.WorkMethod,null==(t=e.IsMilestone)?void 0:t.toString(),e.Priority,e.TaskTime,e.PredefinedType]},3206491090:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.WorkMethod],2387106220:e=>[e.Coordinates],1935646853:e=>[e.Position,e.MajorRadius,e.MinorRadius],2097647324:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2916149573:e=>{var t;return[e.Coordinates,e.Normals,null==(t=e.Closed)?void 0:t.toString(),e.CoordIndex,e.PnIndex]},336235671:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle,e.LiningOffset,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY],512836454:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle],2296667514:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor],1635779807:e=>[e.Outer],2603310189:e=>[e.Outer,e.Voids],1674181508:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],2887950389:e=>{var t,n,s;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(s=e.SelfIntersect)?void 0:s.toString()]},167062518:e=>{var t,n,s;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(s=e.SelfIntersect)?void 0:s.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec]},1334484129:e=>[e.Position,e.XLength,e.YLength,e.ZLength],3649129432:e=>[e.Operator,e.FirstOperand,e.SecondOperand],1260505505:e=>[],4031249490:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress],1950629157:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3124254112:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation],2197970202:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2937912522:e=>[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness],3893394355:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],300633059:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3875453745:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.UsageName,e.TemplateType,e.HasPropertyTemplates],3732776249:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},15328376:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},2510884976:e=>[e.Position],2185764099:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],4105962743:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1525564444:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],2559216714:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity],3293443760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification],3895139033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.CostValues,e.CostQuantities],1419761937:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.SubmittedOn,e.UpdateDate],1916426348:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3295246426:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1457835157:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1213902940:e=>[e.Position,e.Radius],3256556792:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3849074793:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2963535650:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY],1714330368:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle],2323601079:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedOperationType]},445594917:e=>[e.Name],4006246654:e=>[e.Name],1758889154:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4123344466:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType],2397081782:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1623761950:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2590856083:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1704287377:e=>[e.Position,e.SemiAxis1,e.SemiAxis2],2107101300:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],132023988:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3174744832:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3390157468:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4148101412:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType,e.EventOccurenceTime],2853485674:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName],807026263:e=>[e.Outer],3737207727:e=>[e.Outer,e.Voids],647756555:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2489546625:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2827207264:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2143335405:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1287392070:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3907093117:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3198132628:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3815607619:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1482959167:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1834744321:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1339347760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2297155007:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3009222698:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1893162501:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],263784265:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1509553395:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3493046030:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3009204131:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes,e.PredefinedType],2706460486:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],1251058090:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1806887404:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2571569899:e=>{var t;return[e.Points,e.Segments?e.Segments.map((e=>Mm(e))):null,null==(t=e.SelfIntersect)?void 0:t.toString()]},3946677679:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3113134337:e=>[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation],2391368822:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue],4288270099:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3827777499:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1051575348:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1161773419:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],377706215:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength,e.PredefinedType],2108223431:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.NominalLength],1114901282:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3181161470:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],977012517:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4143007308:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType],3588315303:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3079942009:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2837617999:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2382730787:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LifeCyclePhase,e.PredefinedType],3566463478:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle],3327091369:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription],1158309216:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],804291784:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4231323485:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4017108033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2839578677:e=>{var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Faces,e.PnIndex]},3724593414:e=>[e.Points],3740093272:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],2744685151:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType],2904328755:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription],3651124850:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1842657554:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2250791053:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2893384427:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2324767716:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1469900589:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],683857671:e=>{var t,n,s;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(s=e.SelfIntersect)?void 0:s.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec,e.WeightsData]},3027567501:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade],964333572:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2320036040:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.PredefinedType],2310774935:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((e=>Mm(e))):null],160246688:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects],2781568857:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1768891740:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2157484638:e=>[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation],4074543187:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4097777520:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress],2533589738:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1072016465:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3856911033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType,e.ElevationWithFlooring],1305183839:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3812236995:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName],3112655638:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1039846685:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],338393293:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],682877961:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},1179482911:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition],1004757350:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},4243806635:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.Axis],214636428:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis],2445595289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis],2757150158:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType],1807405624:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1252848954:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose],2082059205:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},734778138:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.ConditionCoordinateSystem],1235345126:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],2986769608:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,null==(t=e.IsLinear)?void 0:t.toString()]},3657597509:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1975003073:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition],148013059:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],3101698114:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2315554128:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2254336722:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],413509423:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],5716631:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3824725483:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius],2347447852:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType],3081323446:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2415094496:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.SheathDiameter],1692211062:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1620046519:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3593883385:e=>{var t;return[e.BasisCurve,e.Trim1,e.Trim2,null==(t=e.SenseAgreement)?void 0:t.toString(),e.MasterRepresentation]},1600972822:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1911125066:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],728799441:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2391383451:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3313531582:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2769231204:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],926996030:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1898987631:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1133259667:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4009809668:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.PartitioningType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedPartitioningType]},4088093105:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.WorkingTimes,e.ExceptionTimes,e.PredefinedType],1028945134:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime],4218914973:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType],3342526732:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType],1033361043:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName],3821786052:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription],1411407467:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3352864051:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1871374353:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3460190687:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue],1532957894:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1967976161:e=>{var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString()]},2461110595:e=>{var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec]},819618141:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],231477066:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1136057603:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3299480353:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2979338954:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],39481116:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1095909175:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1909888760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1177604601:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName],2188180465:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],395041908:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3293546465:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2674252688:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1285652485:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2951183804:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3296154744:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2611217952:e=>[e.Position,e.Radius],1677625105:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2301859152:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],843113511:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],905975707:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],400855858:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3850581409:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2816379211:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3898045240:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1060000209:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],488727124:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],335055490:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2954562838:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1973544240:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3495092785:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3961806047:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1335981549:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2635815018:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1599208980:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2063403501:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1945004755:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3040386961:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3041715199:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection,e.PredefinedType,e.SystemType],3205830791:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType],395920057:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType],3242481149:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType],869906466:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3760055223:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2030761528:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],663422040:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2417008758:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3277789161:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1534661035:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1217240411:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],712377611:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1658829314:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2814081492:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3747195512:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],484807127:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1209101575:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType],346874300:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1810631287:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4222183408:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2058353004:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4278956645:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4037862832:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2188021234:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3132237377:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],987401354:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],707683696:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2223149337:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3508470533:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],900683007:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3319311131:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2068733104:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4175244083:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2176052936:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],76236018:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],629592764:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1437502449:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1073191201:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1911478936:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2474470126:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],144952367:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3694346114:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1687234759:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType],310824031:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3612865200:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3171933400:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1156407060:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],738039164:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],655969474:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],90941305:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2262370178:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3024970846:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3283111854:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1232101972:e=>{var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec,e.WeightsData]},979691226:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.PredefinedType,e.BarSurface],2572171363:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarSurface,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((e=>Mm(e))):null],2016517767:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3053780830:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1783015770:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1329646415:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1529196076:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3127900445:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3027962421:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3420628829:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1999602285:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1404847402:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],331165859:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4252922144:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRisers,e.NumberOfTreads,e.RiserHeight,e.TreadLength,e.PredefinedType],2515109513:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults,e.SharedPlacement],385403989:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose,e.SelfWeightCoefficients],1621171031:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1162798199:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],812556717:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3825984169:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3026737570:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3179687236:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4292641817:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4207607924:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2391406946:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4156078855:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3512223829:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4237592921:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3304561284:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType],486154966:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType],2874132201:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1634111441:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],177149247:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2056796094:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3001207471:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],277319702:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],753842376:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2906023776:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],32344328:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2938176219:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],635142910:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3758799889:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1051757585:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4217484030:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3902619387:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],639361253:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3221913625:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3571504051:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2272882330:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],578613899:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4136498852:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3640358203:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4074379575:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1052013943:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],562808652:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType],1062813311:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],342316401:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3518393246:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1360408905:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1904799276:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],862014818:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3310460725:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],264262732:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],402227799:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1003880860:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3415622556:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],819412036:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1426591983:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],182646315:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2295281155:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4086658281:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],630975310:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4288193352:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3087945054:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],25142252:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},Pm[2]={3699917729:e=>new l.IfcAbsorbedDoseMeasure(e),4182062534:e=>new l.IfcAccelerationMeasure(e),360377573:e=>new l.IfcAmountOfSubstanceMeasure(e),632304761:e=>new l.IfcAngularVelocityMeasure(e),3683503648:e=>new l.IfcArcIndex(e.map((e=>e.value))),1500781891:e=>new l.IfcAreaDensityMeasure(e),2650437152:e=>new l.IfcAreaMeasure(e),2314439260:e=>new l.IfcBinary(e),2735952531:e=>new l.IfcBoolean(e),1867003952:e=>new l.IfcBoxAlignment(e),1683019596:e=>new l.IfcCardinalPointReference(e),2991860651:e=>new l.IfcComplexNumber(e.map((e=>e.value))),3812528620:e=>new l.IfcCompoundPlaneAngleMeasure(e.map((e=>e.value))),3238673880:e=>new l.IfcContextDependentMeasure(e),1778710042:e=>new l.IfcCountMeasure(e),94842927:e=>new l.IfcCurvatureMeasure(e),937566702:e=>new l.IfcDate(e),2195413836:e=>new l.IfcDateTime(e),86635668:e=>new l.IfcDayInMonthNumber(e),3701338814:e=>new l.IfcDayInWeekNumber(e),1514641115:e=>new l.IfcDescriptiveMeasure(e),4134073009:e=>new l.IfcDimensionCount(e),524656162:e=>new l.IfcDoseEquivalentMeasure(e),2541165894:e=>new l.IfcDuration(e),69416015:e=>new l.IfcDynamicViscosityMeasure(e),1827137117:e=>new l.IfcElectricCapacitanceMeasure(e),3818826038:e=>new l.IfcElectricChargeMeasure(e),2093906313:e=>new l.IfcElectricConductanceMeasure(e),3790457270:e=>new l.IfcElectricCurrentMeasure(e),2951915441:e=>new l.IfcElectricResistanceMeasure(e),2506197118:e=>new l.IfcElectricVoltageMeasure(e),2078135608:e=>new l.IfcEnergyMeasure(e),1102727119:e=>new l.IfcFontStyle(e),2715512545:e=>new l.IfcFontVariant(e),2590844177:e=>new l.IfcFontWeight(e),1361398929:e=>new l.IfcForceMeasure(e),3044325142:e=>new l.IfcFrequencyMeasure(e),3064340077:e=>new l.IfcGloballyUniqueId(e),3113092358:e=>new l.IfcHeatFluxDensityMeasure(e),1158859006:e=>new l.IfcHeatingValueMeasure(e),983778844:e=>new l.IfcIdentifier(e),3358199106:e=>new l.IfcIlluminanceMeasure(e),2679005408:e=>new l.IfcInductanceMeasure(e),1939436016:e=>new l.IfcInteger(e),3809634241:e=>new l.IfcIntegerCountRateMeasure(e),3686016028:e=>new l.IfcIonConcentrationMeasure(e),3192672207:e=>new l.IfcIsothermalMoistureCapacityMeasure(e),2054016361:e=>new l.IfcKinematicViscosityMeasure(e),3258342251:e=>new l.IfcLabel(e),1275358634:e=>new l.IfcLanguageId(e),1243674935:e=>new l.IfcLengthMeasure(e),1774176899:e=>new l.IfcLineIndex(e.map((e=>e.value))),191860431:e=>new l.IfcLinearForceMeasure(e),2128979029:e=>new l.IfcLinearMomentMeasure(e),1307019551:e=>new l.IfcLinearStiffnessMeasure(e),3086160713:e=>new l.IfcLinearVelocityMeasure(e),503418787:e=>new l.IfcLogical(e),2095003142:e=>new l.IfcLuminousFluxMeasure(e),2755797622:e=>new l.IfcLuminousIntensityDistributionMeasure(e),151039812:e=>new l.IfcLuminousIntensityMeasure(e),286949696:e=>new l.IfcMagneticFluxDensityMeasure(e),2486716878:e=>new l.IfcMagneticFluxMeasure(e),1477762836:e=>new l.IfcMassDensityMeasure(e),4017473158:e=>new l.IfcMassFlowRateMeasure(e),3124614049:e=>new l.IfcMassMeasure(e),3531705166:e=>new l.IfcMassPerLengthMeasure(e),3341486342:e=>new l.IfcModulusOfElasticityMeasure(e),2173214787:e=>new l.IfcModulusOfLinearSubgradeReactionMeasure(e),1052454078:e=>new l.IfcModulusOfRotationalSubgradeReactionMeasure(e),1753493141:e=>new l.IfcModulusOfSubgradeReactionMeasure(e),3177669450:e=>new l.IfcMoistureDiffusivityMeasure(e),1648970520:e=>new l.IfcMolecularWeightMeasure(e),3114022597:e=>new l.IfcMomentOfInertiaMeasure(e),2615040989:e=>new l.IfcMonetaryMeasure(e),765770214:e=>new l.IfcMonthInYearNumber(e),525895558:e=>new l.IfcNonNegativeLengthMeasure(e),2095195183:e=>new l.IfcNormalisedRatioMeasure(e),2395907400:e=>new l.IfcNumericMeasure(e),929793134:e=>new l.IfcPHMeasure(e),2260317790:e=>new l.IfcParameterValue(e),2642773653:e=>new l.IfcPlanarForceMeasure(e),4042175685:e=>new l.IfcPlaneAngleMeasure(e),1790229001:e=>new l.IfcPositiveInteger(e),2815919920:e=>new l.IfcPositiveLengthMeasure(e),3054510233:e=>new l.IfcPositivePlaneAngleMeasure(e),1245737093:e=>new l.IfcPositiveRatioMeasure(e),1364037233:e=>new l.IfcPowerMeasure(e),2169031380:e=>new l.IfcPresentableText(e),3665567075:e=>new l.IfcPressureMeasure(e),2798247006:e=>new l.IfcPropertySetDefinitionSet(e.map((e=>e.value))),3972513137:e=>new l.IfcRadioActivityMeasure(e),96294661:e=>new l.IfcRatioMeasure(e),200335297:e=>new l.IfcReal(e),2133746277:e=>new l.IfcRotationalFrequencyMeasure(e),1755127002:e=>new l.IfcRotationalMassMeasure(e),3211557302:e=>new l.IfcRotationalStiffnessMeasure(e),3467162246:e=>new l.IfcSectionModulusMeasure(e),2190458107:e=>new l.IfcSectionalAreaIntegralMeasure(e),408310005:e=>new l.IfcShearModulusMeasure(e),3471399674:e=>new l.IfcSolidAngleMeasure(e),4157543285:e=>new l.IfcSoundPowerLevelMeasure(e),846465480:e=>new l.IfcSoundPowerMeasure(e),3457685358:e=>new l.IfcSoundPressureLevelMeasure(e),993287707:e=>new l.IfcSoundPressureMeasure(e),3477203348:e=>new l.IfcSpecificHeatCapacityMeasure(e),2757832317:e=>new l.IfcSpecularExponent(e),361837227:e=>new l.IfcSpecularRoughness(e),58845555:e=>new l.IfcTemperatureGradientMeasure(e),1209108979:e=>new l.IfcTemperatureRateOfChangeMeasure(e),2801250643:e=>new l.IfcText(e),1460886941:e=>new l.IfcTextAlignment(e),3490877962:e=>new l.IfcTextDecoration(e),603696268:e=>new l.IfcTextFontName(e),296282323:e=>new l.IfcTextTransformation(e),232962298:e=>new l.IfcThermalAdmittanceMeasure(e),2645777649:e=>new l.IfcThermalConductivityMeasure(e),2281867870:e=>new l.IfcThermalExpansionCoefficientMeasure(e),857959152:e=>new l.IfcThermalResistanceMeasure(e),2016195849:e=>new l.IfcThermalTransmittanceMeasure(e),743184107:e=>new l.IfcThermodynamicTemperatureMeasure(e),4075327185:e=>new l.IfcTime(e),2726807636:e=>new l.IfcTimeMeasure(e),2591213694:e=>new l.IfcTimeStamp(e),1278329552:e=>new l.IfcTorqueMeasure(e),950732822:e=>new l.IfcURIReference(e),3345633955:e=>new l.IfcVaporPermeabilityMeasure(e),3458127941:e=>new l.IfcVolumeMeasure(e),2593997549:e=>new l.IfcVolumetricFlowRateMeasure(e),51269191:e=>new l.IfcWarpingConstantMeasure(e),1718600412:e=>new l.IfcWarpingMomentMeasure(e)},function(e){e.IfcAbsorbedDoseMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAccelerationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAmountOfSubstanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAngularVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcArcIndex=class{constructor(e){this.value=e}},e.IfcAreaDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAreaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcBinary=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcBoolean=class{constructor(e){this.type=3,this.value="true"==e}},e.IfcBoxAlignment=class{constructor(e){this.value=e,this.type=1}},e.IfcCardinalPointReference=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcComplexNumber=class{constructor(e){this.value=e}},e.IfcCompoundPlaneAngleMeasure=class{constructor(e){this.value=e}},e.IfcContextDependentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcCountMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcCurvatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDate=class{constructor(e){this.value=e,this.type=1}},e.IfcDateTime=class{constructor(e){this.value=e,this.type=1}},e.IfcDayInMonthNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDayInWeekNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDescriptiveMeasure=class{constructor(e){this.value=e,this.type=1}};class t{constructor(e){this.type=4,this.value=parseFloat(e)}}e.IfcDimensionCount=t,e.IfcDoseEquivalentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDuration=class{constructor(e){this.value=e,this.type=1}},e.IfcDynamicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricCapacitanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricChargeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricConductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricCurrentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricVoltageMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcEnergyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcFontStyle=class{constructor(e){this.value=e,this.type=1}},e.IfcFontVariant=class{constructor(e){this.value=e,this.type=1}},e.IfcFontWeight=class{constructor(e){this.value=e,this.type=1}},e.IfcForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcGloballyUniqueId=class{constructor(e){this.value=e,this.type=1}},e.IfcHeatFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcHeatingValueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIdentifier=class{constructor(e){this.value=e,this.type=1}},e.IfcIlluminanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcInductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIntegerCountRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIonConcentrationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIsothermalMoistureCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcKinematicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLabel=class{constructor(e){this.value=e,this.type=1}},e.IfcLanguageId=class{constructor(e){this.value=e,this.type=1}},e.IfcLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLineIndex=class{constructor(e){this.value=e}},e.IfcLinearForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLogical=class{constructor(e){this.type=3,this.value="true"==e}},e.IfcLuminousFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLuminousIntensityDistributionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLuminousIntensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMagneticFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMagneticFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassPerLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfElasticityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfLinearSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfRotationalSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMoistureDiffusivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMolecularWeightMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMomentOfInertiaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMonetaryMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMonthInYearNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcNonNegativeLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcNormalisedRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcNumericMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPHMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcParameterValue=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPlanarForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositiveInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositiveLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositivePlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositiveRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPresentableText=class{constructor(e){this.value=e,this.type=1}},e.IfcPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPropertySetDefinitionSet=class{constructor(e){this.value=e}},e.IfcRadioActivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcReal=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSectionModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSectionalAreaIntegralMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcShearModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSolidAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPowerLevelMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPressureLevelMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecificHeatCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecularExponent=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecularRoughness=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTemperatureGradientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTemperatureRateOfChangeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcText=class{constructor(e){this.value=e,this.type=1}},e.IfcTextAlignment=class{constructor(e){this.value=e,this.type=1}},e.IfcTextDecoration=class{constructor(e){this.value=e,this.type=1}},e.IfcTextFontName=class{constructor(e){this.value=e,this.type=1}},e.IfcTextTransformation=class{constructor(e){this.value=e,this.type=1}},e.IfcThermalAdmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalConductivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalExpansionCoefficientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalTransmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermodynamicTemperatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTime=class{constructor(e){this.value=e,this.type=1}},e.IfcTimeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTimeStamp=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTorqueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcURIReference=class{constructor(e){this.value=e,this.type=1}},e.IfcVaporPermeabilityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcVolumeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcVolumetricFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcWarpingConstantMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcWarpingMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};class n{}n.EMAIL={type:3,value:"EMAIL"},n.FAX={type:3,value:"FAX"},n.PHONE={type:3,value:"PHONE"},n.POST={type:3,value:"POST"},n.VERBAL={type:3,value:"VERBAL"},n.USERDEFINED={type:3,value:"USERDEFINED"},n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionRequestTypeEnum=n;class s{}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"},e.IfcActionSourceTypeEnum=s;class i{}i.PERMANENT_G={type:3,value:"PERMANENT_G"},i.VARIABLE_Q={type:3,value:"VARIABLE_Q"},i.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},i.USERDEFINED={type:3,value:"USERDEFINED"},i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=i;class a{}a.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},a.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},a.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},a.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},a.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},a.USERDEFINED={type:3,value:"USERDEFINED"},a.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=a;class l{}l.OFFICE={type:3,value:"OFFICE"},l.SITE={type:3,value:"SITE"},l.HOME={type:3,value:"HOME"},l.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},l.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=l;class r{}r.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},r.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},r.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=r;class o{}o.DIFFUSER={type:3,value:"DIFFUSER"},o.GRILLE={type:3,value:"GRILLE"},o.LOUVRE={type:3,value:"LOUVRE"},o.REGISTER={type:3,value:"REGISTER"},o.USERDEFINED={type:3,value:"USERDEFINED"},o.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=o;class c{}c.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},c.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},c.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},c.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},c.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},c.HEATPIPE={type:3,value:"HEATPIPE"},c.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},c.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},c.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},c.USERDEFINED={type:3,value:"USERDEFINED"},c.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=c;class u{}u.BELL={type:3,value:"BELL"},u.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},u.LIGHT={type:3,value:"LIGHT"},u.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},u.SIREN={type:3,value:"SIREN"},u.WHISTLE={type:3,value:"WHISTLE"},u.USERDEFINED={type:3,value:"USERDEFINED"},u.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=u;class p{}p.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},p.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},p.LOADING_3D={type:3,value:"LOADING_3D"},p.USERDEFINED={type:3,value:"USERDEFINED"},p.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=p;class h{}h.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},h.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},h.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},h.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},h.USERDEFINED={type:3,value:"USERDEFINED"},h.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=h;class d{}d.ADD={type:3,value:"ADD"},d.DIVIDE={type:3,value:"DIVIDE"},d.MULTIPLY={type:3,value:"MULTIPLY"},d.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=d;class f{}f.SITE={type:3,value:"SITE"},f.FACTORY={type:3,value:"FACTORY"},f.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=f;class I{}I.AMPLIFIER={type:3,value:"AMPLIFIER"},I.CAMERA={type:3,value:"CAMERA"},I.DISPLAY={type:3,value:"DISPLAY"},I.MICROPHONE={type:3,value:"MICROPHONE"},I.PLAYER={type:3,value:"PLAYER"},I.PROJECTOR={type:3,value:"PROJECTOR"},I.RECEIVER={type:3,value:"RECEIVER"},I.SPEAKER={type:3,value:"SPEAKER"},I.SWITCHER={type:3,value:"SWITCHER"},I.TELEPHONE={type:3,value:"TELEPHONE"},I.TUNER={type:3,value:"TUNER"},I.USERDEFINED={type:3,value:"USERDEFINED"},I.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAudioVisualApplianceTypeEnum=I;class m{}m.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},m.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},m.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},m.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},m.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},m.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=m;class y{}y.PLANE_SURF={type:3,value:"PLANE_SURF"},y.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},y.CONICAL_SURF={type:3,value:"CONICAL_SURF"},y.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},y.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},y.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},y.RULED_SURF={type:3,value:"RULED_SURF"},y.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},y.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},y.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},y.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineSurfaceForm=y;class v{}v.BEAM={type:3,value:"BEAM"},v.JOIST={type:3,value:"JOIST"},v.HOLLOWCORE={type:3,value:"HOLLOWCORE"},v.LINTEL={type:3,value:"LINTEL"},v.SPANDREL={type:3,value:"SPANDREL"},v.T_BEAM={type:3,value:"T_BEAM"},v.USERDEFINED={type:3,value:"USERDEFINED"},v.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=v;class w{}w.GREATERTHAN={type:3,value:"GREATERTHAN"},w.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},w.LESSTHAN={type:3,value:"LESSTHAN"},w.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},w.EQUALTO={type:3,value:"EQUALTO"},w.NOTEQUALTO={type:3,value:"NOTEQUALTO"},w.INCLUDES={type:3,value:"INCLUDES"},w.NOTINCLUDES={type:3,value:"NOTINCLUDES"},w.INCLUDEDIN={type:3,value:"INCLUDEDIN"},w.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},e.IfcBenchmarkEnum=w;class T{}T.WATER={type:3,value:"WATER"},T.STEAM={type:3,value:"STEAM"},T.USERDEFINED={type:3,value:"USERDEFINED"},T.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=T;class E{}E.UNION={type:3,value:"UNION"},E.INTERSECTION={type:3,value:"INTERSECTION"},E.DIFFERENCE={type:3,value:"DIFFERENCE"},e.IfcBooleanOperator=E;class g{}g.INSULATION={type:3,value:"INSULATION"},g.PRECASTPANEL={type:3,value:"PRECASTPANEL"},g.USERDEFINED={type:3,value:"USERDEFINED"},g.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementPartTypeEnum=g;class R{}R.COMPLEX={type:3,value:"COMPLEX"},R.ELEMENT={type:3,value:"ELEMENT"},R.PARTIAL={type:3,value:"PARTIAL"},R.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},R.PROVISIONFORSPACE={type:3,value:"PROVISIONFORSPACE"},R.USERDEFINED={type:3,value:"USERDEFINED"},R.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=R;class D{}D.FENESTRATION={type:3,value:"FENESTRATION"},D.FOUNDATION={type:3,value:"FOUNDATION"},D.LOADBEARING={type:3,value:"LOADBEARING"},D.OUTERSHELL={type:3,value:"OUTERSHELL"},D.SHADING={type:3,value:"SHADING"},D.TRANSPORT={type:3,value:"TRANSPORT"},D.USERDEFINED={type:3,value:"USERDEFINED"},D.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingSystemTypeEnum=D;class S{}S.USERDEFINED={type:3,value:"USERDEFINED"},S.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBurnerTypeEnum=S;class b{}b.BEND={type:3,value:"BEND"},b.CROSS={type:3,value:"CROSS"},b.REDUCER={type:3,value:"REDUCER"},b.TEE={type:3,value:"TEE"},b.USERDEFINED={type:3,value:"USERDEFINED"},b.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=b;class N{}N.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},N.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},N.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},N.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},N.USERDEFINED={type:3,value:"USERDEFINED"},N.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=N;class O{}O.CONNECTOR={type:3,value:"CONNECTOR"},O.ENTRY={type:3,value:"ENTRY"},O.EXIT={type:3,value:"EXIT"},O.JUNCTION={type:3,value:"JUNCTION"},O.TRANSITION={type:3,value:"TRANSITION"},O.USERDEFINED={type:3,value:"USERDEFINED"},O.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableFittingTypeEnum=O;class A{}A.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},A.CABLESEGMENT={type:3,value:"CABLESEGMENT"},A.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},A.CORESEGMENT={type:3,value:"CORESEGMENT"},A.USERDEFINED={type:3,value:"USERDEFINED"},A.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=A;class x{}x.NOCHANGE={type:3,value:"NOCHANGE"},x.MODIFIED={type:3,value:"MODIFIED"},x.ADDED={type:3,value:"ADDED"},x.DELETED={type:3,value:"DELETED"},x.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChangeActionEnum=x;class C{}C.AIRCOOLED={type:3,value:"AIRCOOLED"},C.WATERCOOLED={type:3,value:"WATERCOOLED"},C.HEATRECOVERY={type:3,value:"HEATRECOVERY"},C.USERDEFINED={type:3,value:"USERDEFINED"},C.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=C;class L{}L.USERDEFINED={type:3,value:"USERDEFINED"},L.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChimneyTypeEnum=L;class P{}P.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},P.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},P.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},P.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},P.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},P.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},P.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},P.USERDEFINED={type:3,value:"USERDEFINED"},P.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=P;class q{}q.COLUMN={type:3,value:"COLUMN"},q.PILASTER={type:3,value:"PILASTER"},q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=q;class _{}_.ANTENNA={type:3,value:"ANTENNA"},_.COMPUTER={type:3,value:"COMPUTER"},_.FAX={type:3,value:"FAX"},_.GATEWAY={type:3,value:"GATEWAY"},_.MODEM={type:3,value:"MODEM"},_.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},_.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},_.NETWORKHUB={type:3,value:"NETWORKHUB"},_.PRINTER={type:3,value:"PRINTER"},_.REPEATER={type:3,value:"REPEATER"},_.ROUTER={type:3,value:"ROUTER"},_.SCANNER={type:3,value:"SCANNER"},_.USERDEFINED={type:3,value:"USERDEFINED"},_.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCommunicationsApplianceTypeEnum=_;class M{}M.P_COMPLEX={type:3,value:"P_COMPLEX"},M.Q_COMPLEX={type:3,value:"Q_COMPLEX"},e.IfcComplexPropertyTemplateTypeEnum=M;class H{}H.DYNAMIC={type:3,value:"DYNAMIC"},H.RECIPROCATING={type:3,value:"RECIPROCATING"},H.ROTARY={type:3,value:"ROTARY"},H.SCROLL={type:3,value:"SCROLL"},H.TROCHOIDAL={type:3,value:"TROCHOIDAL"},H.SINGLESTAGE={type:3,value:"SINGLESTAGE"},H.BOOSTER={type:3,value:"BOOSTER"},H.OPENTYPE={type:3,value:"OPENTYPE"},H.HERMETIC={type:3,value:"HERMETIC"},H.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},H.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},H.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},H.ROTARYVANE={type:3,value:"ROTARYVANE"},H.SINGLESCREW={type:3,value:"SINGLESCREW"},H.TWINSCREW={type:3,value:"TWINSCREW"},H.USERDEFINED={type:3,value:"USERDEFINED"},H.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=H;class B{}B.AIRCOOLED={type:3,value:"AIRCOOLED"},B.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},B.WATERCOOLED={type:3,value:"WATERCOOLED"},B.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},B.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},B.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},B.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},B.USERDEFINED={type:3,value:"USERDEFINED"},B.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=B;class U{}U.ATPATH={type:3,value:"ATPATH"},U.ATSTART={type:3,value:"ATSTART"},U.ATEND={type:3,value:"ATEND"},U.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=U;class F{}F.HARD={type:3,value:"HARD"},F.SOFT={type:3,value:"SOFT"},F.ADVISORY={type:3,value:"ADVISORY"},F.USERDEFINED={type:3,value:"USERDEFINED"},F.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=F;class G{}G.DEMOLISHING={type:3,value:"DEMOLISHING"},G.EARTHMOVING={type:3,value:"EARTHMOVING"},G.ERECTING={type:3,value:"ERECTING"},G.HEATING={type:3,value:"HEATING"},G.LIGHTING={type:3,value:"LIGHTING"},G.PAVING={type:3,value:"PAVING"},G.PUMPING={type:3,value:"PUMPING"},G.TRANSPORTING={type:3,value:"TRANSPORTING"},G.USERDEFINED={type:3,value:"USERDEFINED"},G.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionEquipmentResourceTypeEnum=G;class V{}V.AGGREGATES={type:3,value:"AGGREGATES"},V.CONCRETE={type:3,value:"CONCRETE"},V.DRYWALL={type:3,value:"DRYWALL"},V.FUEL={type:3,value:"FUEL"},V.GYPSUM={type:3,value:"GYPSUM"},V.MASONRY={type:3,value:"MASONRY"},V.METAL={type:3,value:"METAL"},V.PLASTIC={type:3,value:"PLASTIC"},V.WOOD={type:3,value:"WOOD"},V.NOTDEFINED={type:3,value:"NOTDEFINED"},V.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcConstructionMaterialResourceTypeEnum=V;class j{}j.ASSEMBLY={type:3,value:"ASSEMBLY"},j.FORMWORK={type:3,value:"FORMWORK"},j.USERDEFINED={type:3,value:"USERDEFINED"},j.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionProductResourceTypeEnum=j;class z{}z.FLOATING={type:3,value:"FLOATING"},z.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},z.PROPORTIONAL={type:3,value:"PROPORTIONAL"},z.MULTIPOSITION={type:3,value:"MULTIPOSITION"},z.TWOPOSITION={type:3,value:"TWOPOSITION"},z.USERDEFINED={type:3,value:"USERDEFINED"},z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=z;class W{}W.ACTIVE={type:3,value:"ACTIVE"},W.PASSIVE={type:3,value:"PASSIVE"},W.USERDEFINED={type:3,value:"USERDEFINED"},W.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=W;class k{}k.NATURALDRAFT={type:3,value:"NATURALDRAFT"},k.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},k.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},k.USERDEFINED={type:3,value:"USERDEFINED"},k.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=k;class Y{}Y.USERDEFINED={type:3,value:"USERDEFINED"},Y.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostItemTypeEnum=Y;class X{}X.BUDGET={type:3,value:"BUDGET"},X.COSTPLAN={type:3,value:"COSTPLAN"},X.ESTIMATE={type:3,value:"ESTIMATE"},X.TENDER={type:3,value:"TENDER"},X.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},X.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},X.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},X.USERDEFINED={type:3,value:"USERDEFINED"},X.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=X;class K{}K.CEILING={type:3,value:"CEILING"},K.FLOORING={type:3,value:"FLOORING"},K.CLADDING={type:3,value:"CLADDING"},K.ROOFING={type:3,value:"ROOFING"},K.MOLDING={type:3,value:"MOLDING"},K.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},K.INSULATION={type:3,value:"INSULATION"},K.MEMBRANE={type:3,value:"MEMBRANE"},K.SLEEVING={type:3,value:"SLEEVING"},K.WRAPPING={type:3,value:"WRAPPING"},K.USERDEFINED={type:3,value:"USERDEFINED"},K.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=K;class Z{}Z.OFFICE={type:3,value:"OFFICE"},Z.SITE={type:3,value:"SITE"},Z.USERDEFINED={type:3,value:"USERDEFINED"},Z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCrewResourceTypeEnum=Z;class Q{}Q.USERDEFINED={type:3,value:"USERDEFINED"},Q.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=Q;class J{}J.LINEAR={type:3,value:"LINEAR"},J.LOG_LINEAR={type:3,value:"LOG_LINEAR"},J.LOG_LOG={type:3,value:"LOG_LOG"},J.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurveInterpolationEnum=J;class ${}$.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},$.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},$.BLASTDAMPER={type:3,value:"BLASTDAMPER"},$.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},$.FIREDAMPER={type:3,value:"FIREDAMPER"},$.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},$.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},$.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},$.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},$.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},$.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},$.USERDEFINED={type:3,value:"USERDEFINED"},$.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=$;class ee{}ee.MEASURED={type:3,value:"MEASURED"},ee.PREDICTED={type:3,value:"PREDICTED"},ee.SIMULATED={type:3,value:"SIMULATED"},ee.USERDEFINED={type:3,value:"USERDEFINED"},ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=ee;class te{}te.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},te.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},te.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},te.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},te.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},te.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},te.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},te.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},te.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},te.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},te.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},te.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},te.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},te.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},te.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},te.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},te.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},te.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},te.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},te.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},te.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},te.TORQUEUNIT={type:3,value:"TORQUEUNIT"},te.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},te.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},te.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},te.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},te.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},te.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},te.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},te.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},te.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},te.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},te.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},te.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},te.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},te.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},te.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},te.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},te.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},te.PHUNIT={type:3,value:"PHUNIT"},te.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},te.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},te.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},te.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},te.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},te.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},te.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},te.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},te.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},te.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},te.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},te.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},te.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=te;class ne{}ne.POSITIVE={type:3,value:"POSITIVE"},ne.NEGATIVE={type:3,value:"NEGATIVE"},e.IfcDirectionSenseEnum=ne;class se{}se.ANCHORPLATE={type:3,value:"ANCHORPLATE"},se.BRACKET={type:3,value:"BRACKET"},se.SHOE={type:3,value:"SHOE"},se.USERDEFINED={type:3,value:"USERDEFINED"},se.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDiscreteAccessoryTypeEnum=se;class ie{}ie.FORMEDDUCT={type:3,value:"FORMEDDUCT"},ie.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},ie.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},ie.MANHOLE={type:3,value:"MANHOLE"},ie.METERCHAMBER={type:3,value:"METERCHAMBER"},ie.SUMP={type:3,value:"SUMP"},ie.TRENCH={type:3,value:"TRENCH"},ie.VALVECHAMBER={type:3,value:"VALVECHAMBER"},ie.USERDEFINED={type:3,value:"USERDEFINED"},ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=ie;class ae{}ae.CABLE={type:3,value:"CABLE"},ae.CABLECARRIER={type:3,value:"CABLECARRIER"},ae.DUCT={type:3,value:"DUCT"},ae.PIPE={type:3,value:"PIPE"},ae.USERDEFINED={type:3,value:"USERDEFINED"},ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionPortTypeEnum=ae;class le{}le.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},le.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},le.CHEMICAL={type:3,value:"CHEMICAL"},le.CHILLEDWATER={type:3,value:"CHILLEDWATER"},le.COMMUNICATION={type:3,value:"COMMUNICATION"},le.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},le.CONDENSERWATER={type:3,value:"CONDENSERWATER"},le.CONTROL={type:3,value:"CONTROL"},le.CONVEYING={type:3,value:"CONVEYING"},le.DATA={type:3,value:"DATA"},le.DISPOSAL={type:3,value:"DISPOSAL"},le.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},le.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},le.DRAINAGE={type:3,value:"DRAINAGE"},le.EARTHING={type:3,value:"EARTHING"},le.ELECTRICAL={type:3,value:"ELECTRICAL"},le.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},le.EXHAUST={type:3,value:"EXHAUST"},le.FIREPROTECTION={type:3,value:"FIREPROTECTION"},le.FUEL={type:3,value:"FUEL"},le.GAS={type:3,value:"GAS"},le.HAZARDOUS={type:3,value:"HAZARDOUS"},le.HEATING={type:3,value:"HEATING"},le.LIGHTING={type:3,value:"LIGHTING"},le.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},le.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},le.OIL={type:3,value:"OIL"},le.OPERATIONAL={type:3,value:"OPERATIONAL"},le.POWERGENERATION={type:3,value:"POWERGENERATION"},le.RAINWATER={type:3,value:"RAINWATER"},le.REFRIGERATION={type:3,value:"REFRIGERATION"},le.SECURITY={type:3,value:"SECURITY"},le.SEWAGE={type:3,value:"SEWAGE"},le.SIGNAL={type:3,value:"SIGNAL"},le.STORMWATER={type:3,value:"STORMWATER"},le.TELEPHONE={type:3,value:"TELEPHONE"},le.TV={type:3,value:"TV"},le.VACUUM={type:3,value:"VACUUM"},le.VENT={type:3,value:"VENT"},le.VENTILATION={type:3,value:"VENTILATION"},le.WASTEWATER={type:3,value:"WASTEWATER"},le.WATERSUPPLY={type:3,value:"WATERSUPPLY"},le.USERDEFINED={type:3,value:"USERDEFINED"},le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionSystemEnum=le;class re{}re.PUBLIC={type:3,value:"PUBLIC"},re.RESTRICTED={type:3,value:"RESTRICTED"},re.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},re.PERSONAL={type:3,value:"PERSONAL"},re.USERDEFINED={type:3,value:"USERDEFINED"},re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=re;class oe{}oe.DRAFT={type:3,value:"DRAFT"},oe.FINALDRAFT={type:3,value:"FINALDRAFT"},oe.FINAL={type:3,value:"FINAL"},oe.REVISION={type:3,value:"REVISION"},oe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=oe;class ce{}ce.SWINGING={type:3,value:"SWINGING"},ce.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},ce.SLIDING={type:3,value:"SLIDING"},ce.FOLDING={type:3,value:"FOLDING"},ce.REVOLVING={type:3,value:"REVOLVING"},ce.ROLLINGUP={type:3,value:"ROLLINGUP"},ce.FIXEDPANEL={type:3,value:"FIXEDPANEL"},ce.USERDEFINED={type:3,value:"USERDEFINED"},ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=ce;class ue{}ue.LEFT={type:3,value:"LEFT"},ue.MIDDLE={type:3,value:"MIDDLE"},ue.RIGHT={type:3,value:"RIGHT"},ue.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=ue;class pe{}pe.ALUMINIUM={type:3,value:"ALUMINIUM"},pe.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},pe.STEEL={type:3,value:"STEEL"},pe.WOOD={type:3,value:"WOOD"},pe.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},pe.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},pe.PLASTIC={type:3,value:"PLASTIC"},pe.USERDEFINED={type:3,value:"USERDEFINED"},pe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=pe;class he{}he.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},he.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},he.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},he.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},he.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},he.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},he.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},he.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},he.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},he.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},he.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},he.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},he.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},he.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},he.REVOLVING={type:3,value:"REVOLVING"},he.ROLLINGUP={type:3,value:"ROLLINGUP"},he.USERDEFINED={type:3,value:"USERDEFINED"},he.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=he;class de{}de.DOOR={type:3,value:"DOOR"},de.GATE={type:3,value:"GATE"},de.TRAPDOOR={type:3,value:"TRAPDOOR"},de.USERDEFINED={type:3,value:"USERDEFINED"},de.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeEnum=de;class fe{}fe.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},fe.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},fe.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},fe.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},fe.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},fe.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},fe.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},fe.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},fe.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},fe.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},fe.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},fe.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},fe.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},fe.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},fe.REVOLVING={type:3,value:"REVOLVING"},fe.ROLLINGUP={type:3,value:"ROLLINGUP"},fe.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},fe.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},fe.USERDEFINED={type:3,value:"USERDEFINED"},fe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeOperationEnum=fe;class Ie{}Ie.BEND={type:3,value:"BEND"},Ie.CONNECTOR={type:3,value:"CONNECTOR"},Ie.ENTRY={type:3,value:"ENTRY"},Ie.EXIT={type:3,value:"EXIT"},Ie.JUNCTION={type:3,value:"JUNCTION"},Ie.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Ie.TRANSITION={type:3,value:"TRANSITION"},Ie.USERDEFINED={type:3,value:"USERDEFINED"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=Ie;class me{}me.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},me.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},me.USERDEFINED={type:3,value:"USERDEFINED"},me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=me;class ye{}ye.FLATOVAL={type:3,value:"FLATOVAL"},ye.RECTANGULAR={type:3,value:"RECTANGULAR"},ye.ROUND={type:3,value:"ROUND"},ye.USERDEFINED={type:3,value:"USERDEFINED"},ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=ye;class ve{}ve.DISHWASHER={type:3,value:"DISHWASHER"},ve.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},ve.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},ve.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},ve.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},ve.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},ve.FREEZER={type:3,value:"FREEZER"},ve.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},ve.HANDDRYER={type:3,value:"HANDDRYER"},ve.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},ve.MICROWAVE={type:3,value:"MICROWAVE"},ve.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},ve.REFRIGERATOR={type:3,value:"REFRIGERATOR"},ve.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},ve.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},ve.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},ve.USERDEFINED={type:3,value:"USERDEFINED"},ve.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=ve;class we{}we.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},we.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},we.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},we.SWITCHBOARD={type:3,value:"SWITCHBOARD"},we.USERDEFINED={type:3,value:"USERDEFINED"},we.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionBoardTypeEnum=we;class Te{}Te.BATTERY={type:3,value:"BATTERY"},Te.CAPACITORBANK={type:3,value:"CAPACITORBANK"},Te.HARMONICFILTER={type:3,value:"HARMONICFILTER"},Te.INDUCTORBANK={type:3,value:"INDUCTORBANK"},Te.UPS={type:3,value:"UPS"},Te.USERDEFINED={type:3,value:"USERDEFINED"},Te.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=Te;class Ee{}Ee.CHP={type:3,value:"CHP"},Ee.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},Ee.STANDALONE={type:3,value:"STANDALONE"},Ee.USERDEFINED={type:3,value:"USERDEFINED"},Ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=Ee;class ge{}ge.DC={type:3,value:"DC"},ge.INDUCTION={type:3,value:"INDUCTION"},ge.POLYPHASE={type:3,value:"POLYPHASE"},ge.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},ge.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},ge.USERDEFINED={type:3,value:"USERDEFINED"},ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=ge;class Re{}Re.TIMECLOCK={type:3,value:"TIMECLOCK"},Re.TIMEDELAY={type:3,value:"TIMEDELAY"},Re.RELAY={type:3,value:"RELAY"},Re.USERDEFINED={type:3,value:"USERDEFINED"},Re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=Re;class De{}De.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},De.ARCH={type:3,value:"ARCH"},De.BEAM_GRID={type:3,value:"BEAM_GRID"},De.BRACED_FRAME={type:3,value:"BRACED_FRAME"},De.GIRDER={type:3,value:"GIRDER"},De.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},De.RIGID_FRAME={type:3,value:"RIGID_FRAME"},De.SLAB_FIELD={type:3,value:"SLAB_FIELD"},De.TRUSS={type:3,value:"TRUSS"},De.USERDEFINED={type:3,value:"USERDEFINED"},De.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=De;class Se{}Se.COMPLEX={type:3,value:"COMPLEX"},Se.ELEMENT={type:3,value:"ELEMENT"},Se.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=Se;class be{}be.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},be.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},be.USERDEFINED={type:3,value:"USERDEFINED"},be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEngineTypeEnum=be;class Ne{}Ne.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},Ne.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},Ne.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},Ne.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},Ne.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},Ne.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},Ne.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},Ne.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},Ne.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},Ne.USERDEFINED={type:3,value:"USERDEFINED"},Ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=Ne;class Oe{}Oe.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},Oe.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},Oe.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},Oe.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},Oe.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},Oe.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},Oe.USERDEFINED={type:3,value:"USERDEFINED"},Oe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=Oe;class Ae{}Ae.EVENTRULE={type:3,value:"EVENTRULE"},Ae.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},Ae.EVENTTIME={type:3,value:"EVENTTIME"},Ae.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},Ae.USERDEFINED={type:3,value:"USERDEFINED"},Ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTriggerTypeEnum=Ae;class xe{}xe.STARTEVENT={type:3,value:"STARTEVENT"},xe.ENDEVENT={type:3,value:"ENDEVENT"},xe.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},xe.USERDEFINED={type:3,value:"USERDEFINED"},xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTypeEnum=xe;class Ce{}Ce.EXTERNAL={type:3,value:"EXTERNAL"},Ce.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Ce.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Ce.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Ce.USERDEFINED={type:3,value:"USERDEFINED"},Ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcExternalSpatialElementTypeEnum=Ce;class Le{}Le.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},Le.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},Le.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},Le.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},Le.TUBEAXIAL={type:3,value:"TUBEAXIAL"},Le.VANEAXIAL={type:3,value:"VANEAXIAL"},Le.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},Le.USERDEFINED={type:3,value:"USERDEFINED"},Le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=Le;class Pe{}Pe.GLUE={type:3,value:"GLUE"},Pe.MORTAR={type:3,value:"MORTAR"},Pe.WELD={type:3,value:"WELD"},Pe.USERDEFINED={type:3,value:"USERDEFINED"},Pe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFastenerTypeEnum=Pe;class qe{}qe.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},qe.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},qe.ODORFILTER={type:3,value:"ODORFILTER"},qe.OILFILTER={type:3,value:"OILFILTER"},qe.STRAINER={type:3,value:"STRAINER"},qe.WATERFILTER={type:3,value:"WATERFILTER"},qe.USERDEFINED={type:3,value:"USERDEFINED"},qe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=qe;class _e{}_e.BREECHINGINLET={type:3,value:"BREECHINGINLET"},_e.FIREHYDRANT={type:3,value:"FIREHYDRANT"},_e.HOSEREEL={type:3,value:"HOSEREEL"},_e.SPRINKLER={type:3,value:"SPRINKLER"},_e.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},_e.USERDEFINED={type:3,value:"USERDEFINED"},_e.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=_e;class Me{}Me.SOURCE={type:3,value:"SOURCE"},Me.SINK={type:3,value:"SINK"},Me.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=Me;class He{}He.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},He.THERMOMETER={type:3,value:"THERMOMETER"},He.AMMETER={type:3,value:"AMMETER"},He.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},He.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},He.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},He.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},He.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},He.USERDEFINED={type:3,value:"USERDEFINED"},He.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=He;class Be{}Be.ENERGYMETER={type:3,value:"ENERGYMETER"},Be.GASMETER={type:3,value:"GASMETER"},Be.OILMETER={type:3,value:"OILMETER"},Be.WATERMETER={type:3,value:"WATERMETER"},Be.USERDEFINED={type:3,value:"USERDEFINED"},Be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=Be;class Ue{}Ue.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},Ue.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},Ue.PAD_FOOTING={type:3,value:"PAD_FOOTING"},Ue.PILE_CAP={type:3,value:"PILE_CAP"},Ue.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},Ue.USERDEFINED={type:3,value:"USERDEFINED"},Ue.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=Ue;class Fe{}Fe.CHAIR={type:3,value:"CHAIR"},Fe.TABLE={type:3,value:"TABLE"},Fe.DESK={type:3,value:"DESK"},Fe.BED={type:3,value:"BED"},Fe.FILECABINET={type:3,value:"FILECABINET"},Fe.SHELF={type:3,value:"SHELF"},Fe.SOFA={type:3,value:"SOFA"},Fe.USERDEFINED={type:3,value:"USERDEFINED"},Fe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFurnitureTypeEnum=Fe;class Ge{}Ge.TERRAIN={type:3,value:"TERRAIN"},Ge.USERDEFINED={type:3,value:"USERDEFINED"},Ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeographicElementTypeEnum=Ge;class Ve{}Ve.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},Ve.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},Ve.MODEL_VIEW={type:3,value:"MODEL_VIEW"},Ve.PLAN_VIEW={type:3,value:"PLAN_VIEW"},Ve.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},Ve.SECTION_VIEW={type:3,value:"SECTION_VIEW"},Ve.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},Ve.USERDEFINED={type:3,value:"USERDEFINED"},Ve.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=Ve;class je{}je.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},je.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=je;class ze{}ze.RECTANGULAR={type:3,value:"RECTANGULAR"},ze.RADIAL={type:3,value:"RADIAL"},ze.TRIANGULAR={type:3,value:"TRIANGULAR"},ze.IRREGULAR={type:3,value:"IRREGULAR"},ze.USERDEFINED={type:3,value:"USERDEFINED"},ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGridTypeEnum=ze;class We{}We.PLATE={type:3,value:"PLATE"},We.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},We.USERDEFINED={type:3,value:"USERDEFINED"},We.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=We;class ke{}ke.STEAMINJECTION={type:3,value:"STEAMINJECTION"},ke.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},ke.ADIABATICPAN={type:3,value:"ADIABATICPAN"},ke.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},ke.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},ke.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},ke.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},ke.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},ke.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},ke.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},ke.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},ke.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},ke.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},ke.USERDEFINED={type:3,value:"USERDEFINED"},ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=ke;class Ye{}Ye.CYCLONIC={type:3,value:"CYCLONIC"},Ye.GREASE={type:3,value:"GREASE"},Ye.OIL={type:3,value:"OIL"},Ye.PETROL={type:3,value:"PETROL"},Ye.USERDEFINED={type:3,value:"USERDEFINED"},Ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInterceptorTypeEnum=Ye;class Xe{}Xe.INTERNAL={type:3,value:"INTERNAL"},Xe.EXTERNAL={type:3,value:"EXTERNAL"},Xe.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Xe.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Xe.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=Xe;class Ke{}Ke.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Ke.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Ke.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Ke.USERDEFINED={type:3,value:"USERDEFINED"},Ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=Ke;class Ze{}Ze.DATA={type:3,value:"DATA"},Ze.POWER={type:3,value:"POWER"},Ze.USERDEFINED={type:3,value:"USERDEFINED"},Ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=Ze;class Qe{}Qe.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},Qe.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},Qe.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},Qe.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcKnotType=Qe;class Je{}Je.ADMINISTRATION={type:3,value:"ADMINISTRATION"},Je.CARPENTRY={type:3,value:"CARPENTRY"},Je.CLEANING={type:3,value:"CLEANING"},Je.CONCRETE={type:3,value:"CONCRETE"},Je.DRYWALL={type:3,value:"DRYWALL"},Je.ELECTRIC={type:3,value:"ELECTRIC"},Je.FINISHING={type:3,value:"FINISHING"},Je.FLOORING={type:3,value:"FLOORING"},Je.GENERAL={type:3,value:"GENERAL"},Je.HVAC={type:3,value:"HVAC"},Je.LANDSCAPING={type:3,value:"LANDSCAPING"},Je.MASONRY={type:3,value:"MASONRY"},Je.PAINTING={type:3,value:"PAINTING"},Je.PAVING={type:3,value:"PAVING"},Je.PLUMBING={type:3,value:"PLUMBING"},Je.ROOFING={type:3,value:"ROOFING"},Je.SITEGRADING={type:3,value:"SITEGRADING"},Je.STEELWORK={type:3,value:"STEELWORK"},Je.SURVEYING={type:3,value:"SURVEYING"},Je.USERDEFINED={type:3,value:"USERDEFINED"},Je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLaborResourceTypeEnum=Je;class $e{}$e.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},$e.FLUORESCENT={type:3,value:"FLUORESCENT"},$e.HALOGEN={type:3,value:"HALOGEN"},$e.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},$e.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},$e.LED={type:3,value:"LED"},$e.METALHALIDE={type:3,value:"METALHALIDE"},$e.OLED={type:3,value:"OLED"},$e.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},$e.USERDEFINED={type:3,value:"USERDEFINED"},$e.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=$e;class et{}et.AXIS1={type:3,value:"AXIS1"},et.AXIS2={type:3,value:"AXIS2"},et.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=et;class tt{}tt.TYPE_A={type:3,value:"TYPE_A"},tt.TYPE_B={type:3,value:"TYPE_B"},tt.TYPE_C={type:3,value:"TYPE_C"},tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=tt;class nt{}nt.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},nt.FLUORESCENT={type:3,value:"FLUORESCENT"},nt.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},nt.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},nt.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},nt.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},nt.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},nt.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},nt.METALHALIDE={type:3,value:"METALHALIDE"},nt.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=nt;class st{}st.POINTSOURCE={type:3,value:"POINTSOURCE"},st.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},st.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},st.USERDEFINED={type:3,value:"USERDEFINED"},st.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=st;class it{}it.LOAD_GROUP={type:3,value:"LOAD_GROUP"},it.LOAD_CASE={type:3,value:"LOAD_CASE"},it.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},it.USERDEFINED={type:3,value:"USERDEFINED"},it.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=it;class at{}at.LOGICALAND={type:3,value:"LOGICALAND"},at.LOGICALOR={type:3,value:"LOGICALOR"},at.LOGICALXOR={type:3,value:"LOGICALXOR"},at.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},at.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},e.IfcLogicalOperatorEnum=at;class lt{}lt.ANCHORBOLT={type:3,value:"ANCHORBOLT"},lt.BOLT={type:3,value:"BOLT"},lt.DOWEL={type:3,value:"DOWEL"},lt.NAIL={type:3,value:"NAIL"},lt.NAILPLATE={type:3,value:"NAILPLATE"},lt.RIVET={type:3,value:"RIVET"},lt.SCREW={type:3,value:"SCREW"},lt.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},lt.STAPLE={type:3,value:"STAPLE"},lt.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMechanicalFastenerTypeEnum=lt;class rt{}rt.AIRSTATION={type:3,value:"AIRSTATION"},rt.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},rt.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},rt.OXYGENPLANT={type:3,value:"OXYGENPLANT"},rt.VACUUMSTATION={type:3,value:"VACUUMSTATION"},rt.USERDEFINED={type:3,value:"USERDEFINED"},rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMedicalDeviceTypeEnum=rt;class ot{}ot.BRACE={type:3,value:"BRACE"},ot.CHORD={type:3,value:"CHORD"},ot.COLLAR={type:3,value:"COLLAR"},ot.MEMBER={type:3,value:"MEMBER"},ot.MULLION={type:3,value:"MULLION"},ot.PLATE={type:3,value:"PLATE"},ot.POST={type:3,value:"POST"},ot.PURLIN={type:3,value:"PURLIN"},ot.RAFTER={type:3,value:"RAFTER"},ot.STRINGER={type:3,value:"STRINGER"},ot.STRUT={type:3,value:"STRUT"},ot.STUD={type:3,value:"STUD"},ot.USERDEFINED={type:3,value:"USERDEFINED"},ot.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=ot;class ct{}ct.BELTDRIVE={type:3,value:"BELTDRIVE"},ct.COUPLING={type:3,value:"COUPLING"},ct.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},ct.USERDEFINED={type:3,value:"USERDEFINED"},ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=ct;class ut{}ut.NULL={type:3,value:"NULL"},e.IfcNullStyle=ut;class pt{}pt.PRODUCT={type:3,value:"PRODUCT"},pt.PROCESS={type:3,value:"PROCESS"},pt.CONTROL={type:3,value:"CONTROL"},pt.RESOURCE={type:3,value:"RESOURCE"},pt.ACTOR={type:3,value:"ACTOR"},pt.GROUP={type:3,value:"GROUP"},pt.PROJECT={type:3,value:"PROJECT"},pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=pt;class ht{}ht.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},ht.CODEWAIVER={type:3,value:"CODEWAIVER"},ht.DESIGNINTENT={type:3,value:"DESIGNINTENT"},ht.EXTERNAL={type:3,value:"EXTERNAL"},ht.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},ht.MERGECONFLICT={type:3,value:"MERGECONFLICT"},ht.MODELVIEW={type:3,value:"MODELVIEW"},ht.PARAMETER={type:3,value:"PARAMETER"},ht.REQUIREMENT={type:3,value:"REQUIREMENT"},ht.SPECIFICATION={type:3,value:"SPECIFICATION"},ht.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},ht.USERDEFINED={type:3,value:"USERDEFINED"},ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=ht;class dt{}dt.ASSIGNEE={type:3,value:"ASSIGNEE"},dt.ASSIGNOR={type:3,value:"ASSIGNOR"},dt.LESSEE={type:3,value:"LESSEE"},dt.LESSOR={type:3,value:"LESSOR"},dt.LETTINGAGENT={type:3,value:"LETTINGAGENT"},dt.OWNER={type:3,value:"OWNER"},dt.TENANT={type:3,value:"TENANT"},dt.USERDEFINED={type:3,value:"USERDEFINED"},dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=dt;class ft{}ft.OPENING={type:3,value:"OPENING"},ft.RECESS={type:3,value:"RECESS"},ft.USERDEFINED={type:3,value:"USERDEFINED"},ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOpeningElementTypeEnum=ft;class It{}It.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},It.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},It.POWEROUTLET={type:3,value:"POWEROUTLET"},It.DATAOUTLET={type:3,value:"DATAOUTLET"},It.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},It.USERDEFINED={type:3,value:"USERDEFINED"},It.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=It;class mt{}mt.USERDEFINED={type:3,value:"USERDEFINED"},mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPerformanceHistoryTypeEnum=mt;class yt{}yt.GRILL={type:3,value:"GRILL"},yt.LOUVER={type:3,value:"LOUVER"},yt.SCREEN={type:3,value:"SCREEN"},yt.USERDEFINED={type:3,value:"USERDEFINED"},yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=yt;class vt{}vt.ACCESS={type:3,value:"ACCESS"},vt.BUILDING={type:3,value:"BUILDING"},vt.WORK={type:3,value:"WORK"},vt.USERDEFINED={type:3,value:"USERDEFINED"},vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermitTypeEnum=vt;class wt{}wt.PHYSICAL={type:3,value:"PHYSICAL"},wt.VIRTUAL={type:3,value:"VIRTUAL"},wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=wt;class Tt{}Tt.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},Tt.COMPOSITE={type:3,value:"COMPOSITE"},Tt.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},Tt.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=Tt;class Et{}Et.BORED={type:3,value:"BORED"},Et.DRIVEN={type:3,value:"DRIVEN"},Et.JETGROUTING={type:3,value:"JETGROUTING"},Et.COHESION={type:3,value:"COHESION"},Et.FRICTION={type:3,value:"FRICTION"},Et.SUPPORT={type:3,value:"SUPPORT"},Et.USERDEFINED={type:3,value:"USERDEFINED"},Et.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=Et;class gt{}gt.BEND={type:3,value:"BEND"},gt.CONNECTOR={type:3,value:"CONNECTOR"},gt.ENTRY={type:3,value:"ENTRY"},gt.EXIT={type:3,value:"EXIT"},gt.JUNCTION={type:3,value:"JUNCTION"},gt.OBSTRUCTION={type:3,value:"OBSTRUCTION"},gt.TRANSITION={type:3,value:"TRANSITION"},gt.USERDEFINED={type:3,value:"USERDEFINED"},gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=gt;class Rt{}Rt.CULVERT={type:3,value:"CULVERT"},Rt.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Rt.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Rt.GUTTER={type:3,value:"GUTTER"},Rt.SPOOL={type:3,value:"SPOOL"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=Rt;class Dt{}Dt.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},Dt.SHEET={type:3,value:"SHEET"},Dt.USERDEFINED={type:3,value:"USERDEFINED"},Dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=Dt;class St{}St.CURVE3D={type:3,value:"CURVE3D"},St.PCURVE_S1={type:3,value:"PCURVE_S1"},St.PCURVE_S2={type:3,value:"PCURVE_S2"},e.IfcPreferredSurfaceCurveRepresentation=St;class bt{}bt.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},bt.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},bt.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},bt.CALIBRATION={type:3,value:"CALIBRATION"},bt.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},bt.SHUTDOWN={type:3,value:"SHUTDOWN"},bt.STARTUP={type:3,value:"STARTUP"},bt.USERDEFINED={type:3,value:"USERDEFINED"},bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=bt;class Nt{}Nt.CURVE={type:3,value:"CURVE"},Nt.AREA={type:3,value:"AREA"},e.IfcProfileTypeEnum=Nt;class Ot{}Ot.CHANGEORDER={type:3,value:"CHANGEORDER"},Ot.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},Ot.MOVEORDER={type:3,value:"MOVEORDER"},Ot.PURCHASEORDER={type:3,value:"PURCHASEORDER"},Ot.WORKORDER={type:3,value:"WORKORDER"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},Ot.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=Ot;class At{}At.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},At.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=At;class xt{}xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectionElementTypeEnum=xt;class Ct{}Ct.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},Ct.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},Ct.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},Ct.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},Ct.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},Ct.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},Ct.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPropertySetTemplateTypeEnum=Ct;class Lt{}Lt.ELECTRONIC={type:3,value:"ELECTRONIC"},Lt.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},Lt.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},Lt.THERMAL={type:3,value:"THERMAL"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTrippingUnitTypeEnum=Lt;class Pt{}Pt.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},Pt.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},Pt.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},Pt.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},Pt.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},Pt.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},Pt.VARISTOR={type:3,value:"VARISTOR"},Pt.USERDEFINED={type:3,value:"USERDEFINED"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=Pt;class qt{}qt.CIRCULATOR={type:3,value:"CIRCULATOR"},qt.ENDSUCTION={type:3,value:"ENDSUCTION"},qt.SPLITCASE={type:3,value:"SPLITCASE"},qt.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},qt.SUMPPUMP={type:3,value:"SUMPPUMP"},qt.VERTICALINLINE={type:3,value:"VERTICALINLINE"},qt.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=qt;class _t{}_t.HANDRAIL={type:3,value:"HANDRAIL"},_t.GUARDRAIL={type:3,value:"GUARDRAIL"},_t.BALUSTRADE={type:3,value:"BALUSTRADE"},_t.USERDEFINED={type:3,value:"USERDEFINED"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=_t;class Mt{}Mt.STRAIGHT={type:3,value:"STRAIGHT"},Mt.SPIRAL={type:3,value:"SPIRAL"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=Mt;class Ht{}Ht.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},Ht.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},Ht.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},Ht.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},Ht.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},Ht.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},Ht.USERDEFINED={type:3,value:"USERDEFINED"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=Ht;class Bt{}Bt.DAILY={type:3,value:"DAILY"},Bt.WEEKLY={type:3,value:"WEEKLY"},Bt.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},Bt.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},Bt.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},Bt.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},Bt.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},Bt.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"},e.IfcRecurrenceTypeEnum=Bt;class Ut{}Ut.BLINN={type:3,value:"BLINN"},Ut.FLAT={type:3,value:"FLAT"},Ut.GLASS={type:3,value:"GLASS"},Ut.MATT={type:3,value:"MATT"},Ut.METAL={type:3,value:"METAL"},Ut.MIRROR={type:3,value:"MIRROR"},Ut.PHONG={type:3,value:"PHONG"},Ut.PLASTIC={type:3,value:"PLASTIC"},Ut.STRAUSS={type:3,value:"STRAUSS"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=Ut;class Ft{}Ft.MAIN={type:3,value:"MAIN"},Ft.SHEAR={type:3,value:"SHEAR"},Ft.LIGATURE={type:3,value:"LIGATURE"},Ft.STUD={type:3,value:"STUD"},Ft.PUNCHING={type:3,value:"PUNCHING"},Ft.EDGE={type:3,value:"EDGE"},Ft.RING={type:3,value:"RING"},Ft.ANCHORING={type:3,value:"ANCHORING"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=Ft;class Gt{}Gt.PLAIN={type:3,value:"PLAIN"},Gt.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=Gt;class Vt{}Vt.ANCHORING={type:3,value:"ANCHORING"},Vt.EDGE={type:3,value:"EDGE"},Vt.LIGATURE={type:3,value:"LIGATURE"},Vt.MAIN={type:3,value:"MAIN"},Vt.PUNCHING={type:3,value:"PUNCHING"},Vt.RING={type:3,value:"RING"},Vt.SHEAR={type:3,value:"SHEAR"},Vt.STUD={type:3,value:"STUD"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarTypeEnum=Vt;class jt{}jt.USERDEFINED={type:3,value:"USERDEFINED"},jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingMeshTypeEnum=jt;class zt{}zt.SUPPLIER={type:3,value:"SUPPLIER"},zt.MANUFACTURER={type:3,value:"MANUFACTURER"},zt.CONTRACTOR={type:3,value:"CONTRACTOR"},zt.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},zt.ARCHITECT={type:3,value:"ARCHITECT"},zt.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},zt.COSTENGINEER={type:3,value:"COSTENGINEER"},zt.CLIENT={type:3,value:"CLIENT"},zt.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},zt.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},zt.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},zt.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},zt.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},zt.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},zt.CIVILENGINEER={type:3,value:"CIVILENGINEER"},zt.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},zt.ENGINEER={type:3,value:"ENGINEER"},zt.OWNER={type:3,value:"OWNER"},zt.CONSULTANT={type:3,value:"CONSULTANT"},zt.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},zt.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},zt.RESELLER={type:3,value:"RESELLER"},zt.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=zt;class Wt{}Wt.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Wt.SHED_ROOF={type:3,value:"SHED_ROOF"},Wt.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Wt.HIP_ROOF={type:3,value:"HIP_ROOF"},Wt.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Wt.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Wt.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Wt.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Wt.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Wt.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Wt.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Wt.DOME_ROOF={type:3,value:"DOME_ROOF"},Wt.FREEFORM={type:3,value:"FREEFORM"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Wt;class kt{}kt.EXA={type:3,value:"EXA"},kt.PETA={type:3,value:"PETA"},kt.TERA={type:3,value:"TERA"},kt.GIGA={type:3,value:"GIGA"},kt.MEGA={type:3,value:"MEGA"},kt.KILO={type:3,value:"KILO"},kt.HECTO={type:3,value:"HECTO"},kt.DECA={type:3,value:"DECA"},kt.DECI={type:3,value:"DECI"},kt.CENTI={type:3,value:"CENTI"},kt.MILLI={type:3,value:"MILLI"},kt.MICRO={type:3,value:"MICRO"},kt.NANO={type:3,value:"NANO"},kt.PICO={type:3,value:"PICO"},kt.FEMTO={type:3,value:"FEMTO"},kt.ATTO={type:3,value:"ATTO"},e.IfcSIPrefix=kt;class Yt{}Yt.AMPERE={type:3,value:"AMPERE"},Yt.BECQUEREL={type:3,value:"BECQUEREL"},Yt.CANDELA={type:3,value:"CANDELA"},Yt.COULOMB={type:3,value:"COULOMB"},Yt.CUBIC_METRE={type:3,value:"CUBIC_METRE"},Yt.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},Yt.FARAD={type:3,value:"FARAD"},Yt.GRAM={type:3,value:"GRAM"},Yt.GRAY={type:3,value:"GRAY"},Yt.HENRY={type:3,value:"HENRY"},Yt.HERTZ={type:3,value:"HERTZ"},Yt.JOULE={type:3,value:"JOULE"},Yt.KELVIN={type:3,value:"KELVIN"},Yt.LUMEN={type:3,value:"LUMEN"},Yt.LUX={type:3,value:"LUX"},Yt.METRE={type:3,value:"METRE"},Yt.MOLE={type:3,value:"MOLE"},Yt.NEWTON={type:3,value:"NEWTON"},Yt.OHM={type:3,value:"OHM"},Yt.PASCAL={type:3,value:"PASCAL"},Yt.RADIAN={type:3,value:"RADIAN"},Yt.SECOND={type:3,value:"SECOND"},Yt.SIEMENS={type:3,value:"SIEMENS"},Yt.SIEVERT={type:3,value:"SIEVERT"},Yt.SQUARE_METRE={type:3,value:"SQUARE_METRE"},Yt.STERADIAN={type:3,value:"STERADIAN"},Yt.TESLA={type:3,value:"TESLA"},Yt.VOLT={type:3,value:"VOLT"},Yt.WATT={type:3,value:"WATT"},Yt.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=Yt;class Xt{}Xt.BATH={type:3,value:"BATH"},Xt.BIDET={type:3,value:"BIDET"},Xt.CISTERN={type:3,value:"CISTERN"},Xt.SHOWER={type:3,value:"SHOWER"},Xt.SINK={type:3,value:"SINK"},Xt.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},Xt.TOILETPAN={type:3,value:"TOILETPAN"},Xt.URINAL={type:3,value:"URINAL"},Xt.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},Xt.WCSEAT={type:3,value:"WCSEAT"},Xt.USERDEFINED={type:3,value:"USERDEFINED"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=Xt;class Kt{}Kt.UNIFORM={type:3,value:"UNIFORM"},Kt.TAPERED={type:3,value:"TAPERED"},e.IfcSectionTypeEnum=Kt;class Zt{}Zt.COSENSOR={type:3,value:"COSENSOR"},Zt.CO2SENSOR={type:3,value:"CO2SENSOR"},Zt.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},Zt.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},Zt.FIRESENSOR={type:3,value:"FIRESENSOR"},Zt.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Zt.FROSTSENSOR={type:3,value:"FROSTSENSOR"},Zt.GASSENSOR={type:3,value:"GASSENSOR"},Zt.HEATSENSOR={type:3,value:"HEATSENSOR"},Zt.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Zt.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},Zt.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},Zt.LEVELSENSOR={type:3,value:"LEVELSENSOR"},Zt.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Zt.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Zt.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Zt.PHSENSOR={type:3,value:"PHSENSOR"},Zt.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Zt.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},Zt.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},Zt.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Zt.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Zt.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Zt.WINDSENSOR={type:3,value:"WINDSENSOR"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=Zt;class Qt{}Qt.START_START={type:3,value:"START_START"},Qt.START_FINISH={type:3,value:"START_FINISH"},Qt.FINISH_START={type:3,value:"FINISH_START"},Qt.FINISH_FINISH={type:3,value:"FINISH_FINISH"},Qt.USERDEFINED={type:3,value:"USERDEFINED"},Qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=Qt;class Jt{}Jt.JALOUSIE={type:3,value:"JALOUSIE"},Jt.SHUTTER={type:3,value:"SHUTTER"},Jt.AWNING={type:3,value:"AWNING"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcShadingDeviceTypeEnum=Jt;class $t{}$t.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},$t.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},$t.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},$t.P_LISTVALUE={type:3,value:"P_LISTVALUE"},$t.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},$t.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},$t.Q_LENGTH={type:3,value:"Q_LENGTH"},$t.Q_AREA={type:3,value:"Q_AREA"},$t.Q_VOLUME={type:3,value:"Q_VOLUME"},$t.Q_COUNT={type:3,value:"Q_COUNT"},$t.Q_WEIGHT={type:3,value:"Q_WEIGHT"},$t.Q_TIME={type:3,value:"Q_TIME"},e.IfcSimplePropertyTemplateTypeEnum=$t;class en{}en.FLOOR={type:3,value:"FLOOR"},en.ROOF={type:3,value:"ROOF"},en.LANDING={type:3,value:"LANDING"},en.BASESLAB={type:3,value:"BASESLAB"},en.USERDEFINED={type:3,value:"USERDEFINED"},en.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=en;class tn{}tn.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},tn.SOLARPANEL={type:3,value:"SOLARPANEL"},tn.USERDEFINED={type:3,value:"USERDEFINED"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSolarDeviceTypeEnum=tn;class nn{}nn.CONVECTOR={type:3,value:"CONVECTOR"},nn.RADIATOR={type:3,value:"RADIATOR"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=nn;class sn{}sn.SPACE={type:3,value:"SPACE"},sn.PARKING={type:3,value:"PARKING"},sn.GFA={type:3,value:"GFA"},sn.INTERNAL={type:3,value:"INTERNAL"},sn.EXTERNAL={type:3,value:"EXTERNAL"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=sn;class an{}an.CONSTRUCTION={type:3,value:"CONSTRUCTION"},an.FIRESAFETY={type:3,value:"FIRESAFETY"},an.LIGHTING={type:3,value:"LIGHTING"},an.OCCUPANCY={type:3,value:"OCCUPANCY"},an.SECURITY={type:3,value:"SECURITY"},an.THERMAL={type:3,value:"THERMAL"},an.TRANSPORT={type:3,value:"TRANSPORT"},an.VENTILATION={type:3,value:"VENTILATION"},an.USERDEFINED={type:3,value:"USERDEFINED"},an.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpatialZoneTypeEnum=an;class ln{}ln.BIRDCAGE={type:3,value:"BIRDCAGE"},ln.COWL={type:3,value:"COWL"},ln.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},ln.USERDEFINED={type:3,value:"USERDEFINED"},ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=ln;class rn{}rn.STRAIGHT={type:3,value:"STRAIGHT"},rn.WINDER={type:3,value:"WINDER"},rn.SPIRAL={type:3,value:"SPIRAL"},rn.CURVED={type:3,value:"CURVED"},rn.FREEFORM={type:3,value:"FREEFORM"},rn.USERDEFINED={type:3,value:"USERDEFINED"},rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=rn;class on{}on.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},on.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},on.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},on.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},on.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},on.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},on.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},on.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},on.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},on.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},on.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},on.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},on.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},on.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},on.USERDEFINED={type:3,value:"USERDEFINED"},on.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=on;class cn{}cn.READWRITE={type:3,value:"READWRITE"},cn.READONLY={type:3,value:"READONLY"},cn.LOCKED={type:3,value:"LOCKED"},cn.READWRITELOCKED={type:3,value:"READWRITELOCKED"},cn.READONLYLOCKED={type:3,value:"READONLYLOCKED"},e.IfcStateEnum=cn;class un{}un.CONST={type:3,value:"CONST"},un.LINEAR={type:3,value:"LINEAR"},un.POLYGONAL={type:3,value:"POLYGONAL"},un.EQUIDISTANT={type:3,value:"EQUIDISTANT"},un.SINUS={type:3,value:"SINUS"},un.PARABOLA={type:3,value:"PARABOLA"},un.DISCRETE={type:3,value:"DISCRETE"},un.USERDEFINED={type:3,value:"USERDEFINED"},un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveActivityTypeEnum=un;class pn{}pn.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},pn.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},pn.CABLE={type:3,value:"CABLE"},pn.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},pn.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveMemberTypeEnum=pn;class hn{}hn.CONST={type:3,value:"CONST"},hn.BILINEAR={type:3,value:"BILINEAR"},hn.DISCRETE={type:3,value:"DISCRETE"},hn.ISOCONTOUR={type:3,value:"ISOCONTOUR"},hn.USERDEFINED={type:3,value:"USERDEFINED"},hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceActivityTypeEnum=hn;class dn{}dn.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},dn.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},dn.SHELL={type:3,value:"SHELL"},dn.USERDEFINED={type:3,value:"USERDEFINED"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceMemberTypeEnum=dn;class fn{}fn.PURCHASE={type:3,value:"PURCHASE"},fn.WORK={type:3,value:"WORK"},fn.USERDEFINED={type:3,value:"USERDEFINED"},fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSubContractResourceTypeEnum=fn;class In{}In.MARK={type:3,value:"MARK"},In.TAG={type:3,value:"TAG"},In.TREATMENT={type:3,value:"TREATMENT"},In.USERDEFINED={type:3,value:"USERDEFINED"},In.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceFeatureTypeEnum=In;class mn{}mn.POSITIVE={type:3,value:"POSITIVE"},mn.NEGATIVE={type:3,value:"NEGATIVE"},mn.BOTH={type:3,value:"BOTH"},e.IfcSurfaceSide=mn;class yn{}yn.CONTACTOR={type:3,value:"CONTACTOR"},yn.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},yn.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},yn.KEYPAD={type:3,value:"KEYPAD"},yn.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},yn.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},yn.STARTER={type:3,value:"STARTER"},yn.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},yn.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},yn.USERDEFINED={type:3,value:"USERDEFINED"},yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=yn;class vn{}vn.PANEL={type:3,value:"PANEL"},vn.WORKSURFACE={type:3,value:"WORKSURFACE"},vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSystemFurnitureElementTypeEnum=vn;class wn{}wn.BASIN={type:3,value:"BASIN"},wn.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},wn.EXPANSION={type:3,value:"EXPANSION"},wn.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},wn.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},wn.STORAGE={type:3,value:"STORAGE"},wn.VESSEL={type:3,value:"VESSEL"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=wn;class Tn{}Tn.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},Tn.WORKTIME={type:3,value:"WORKTIME"},Tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskDurationEnum=Tn;class En{}En.ATTENDANCE={type:3,value:"ATTENDANCE"},En.CONSTRUCTION={type:3,value:"CONSTRUCTION"},En.DEMOLITION={type:3,value:"DEMOLITION"},En.DISMANTLE={type:3,value:"DISMANTLE"},En.DISPOSAL={type:3,value:"DISPOSAL"},En.INSTALLATION={type:3,value:"INSTALLATION"},En.LOGISTIC={type:3,value:"LOGISTIC"},En.MAINTENANCE={type:3,value:"MAINTENANCE"},En.MOVE={type:3,value:"MOVE"},En.OPERATION={type:3,value:"OPERATION"},En.REMOVAL={type:3,value:"REMOVAL"},En.RENOVATION={type:3,value:"RENOVATION"},En.USERDEFINED={type:3,value:"USERDEFINED"},En.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskTypeEnum=En;class gn{}gn.COUPLER={type:3,value:"COUPLER"},gn.FIXED_END={type:3,value:"FIXED_END"},gn.TENSIONING_END={type:3,value:"TENSIONING_END"},gn.USERDEFINED={type:3,value:"USERDEFINED"},gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonAnchorTypeEnum=gn;class Rn{}Rn.BAR={type:3,value:"BAR"},Rn.COATED={type:3,value:"COATED"},Rn.STRAND={type:3,value:"STRAND"},Rn.WIRE={type:3,value:"WIRE"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},Rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Rn;class Dn{}Dn.LEFT={type:3,value:"LEFT"},Dn.RIGHT={type:3,value:"RIGHT"},Dn.UP={type:3,value:"UP"},Dn.DOWN={type:3,value:"DOWN"},e.IfcTextPath=Dn;class Sn{}Sn.CONTINUOUS={type:3,value:"CONTINUOUS"},Sn.DISCRETE={type:3,value:"DISCRETE"},Sn.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},Sn.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},Sn.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},Sn.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=Sn;class bn{}bn.CURRENT={type:3,value:"CURRENT"},bn.FREQUENCY={type:3,value:"FREQUENCY"},bn.INVERTER={type:3,value:"INVERTER"},bn.RECTIFIER={type:3,value:"RECTIFIER"},bn.VOLTAGE={type:3,value:"VOLTAGE"},bn.USERDEFINED={type:3,value:"USERDEFINED"},bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=bn;class Nn{}Nn.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},Nn.CONTINUOUS={type:3,value:"CONTINUOUS"},Nn.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Nn.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},e.IfcTransitionCode=Nn;class On{}On.ELEVATOR={type:3,value:"ELEVATOR"},On.ESCALATOR={type:3,value:"ESCALATOR"},On.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},On.CRANEWAY={type:3,value:"CRANEWAY"},On.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=On;class An{}An.CARTESIAN={type:3,value:"CARTESIAN"},An.PARAMETER={type:3,value:"PARAMETER"},An.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=An;class xn{}xn.FINNED={type:3,value:"FINNED"},xn.USERDEFINED={type:3,value:"USERDEFINED"},xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=xn;class Cn{}Cn.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Cn.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Cn.AREAUNIT={type:3,value:"AREAUNIT"},Cn.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Cn.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Cn.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Cn.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Cn.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Cn.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Cn.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Cn.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Cn.FORCEUNIT={type:3,value:"FORCEUNIT"},Cn.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Cn.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Cn.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Cn.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Cn.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Cn.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Cn.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Cn.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Cn.MASSUNIT={type:3,value:"MASSUNIT"},Cn.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Cn.POWERUNIT={type:3,value:"POWERUNIT"},Cn.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Cn.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Cn.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Cn.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Cn.TIMEUNIT={type:3,value:"TIMEUNIT"},Cn.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Cn.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=Cn;class Ln{}Ln.ALARMPANEL={type:3,value:"ALARMPANEL"},Ln.CONTROLPANEL={type:3,value:"CONTROLPANEL"},Ln.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},Ln.INDICATORPANEL={type:3,value:"INDICATORPANEL"},Ln.MIMICPANEL={type:3,value:"MIMICPANEL"},Ln.HUMIDISTAT={type:3,value:"HUMIDISTAT"},Ln.THERMOSTAT={type:3,value:"THERMOSTAT"},Ln.WEATHERSTATION={type:3,value:"WEATHERSTATION"},Ln.USERDEFINED={type:3,value:"USERDEFINED"},Ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryControlElementTypeEnum=Ln;class Pn{}Pn.AIRHANDLER={type:3,value:"AIRHANDLER"},Pn.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},Pn.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},Pn.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},Pn.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},Pn.USERDEFINED={type:3,value:"USERDEFINED"},Pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=Pn;class qn{}qn.AIRRELEASE={type:3,value:"AIRRELEASE"},qn.ANTIVACUUM={type:3,value:"ANTIVACUUM"},qn.CHANGEOVER={type:3,value:"CHANGEOVER"},qn.CHECK={type:3,value:"CHECK"},qn.COMMISSIONING={type:3,value:"COMMISSIONING"},qn.DIVERTING={type:3,value:"DIVERTING"},qn.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},qn.DOUBLECHECK={type:3,value:"DOUBLECHECK"},qn.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},qn.FAUCET={type:3,value:"FAUCET"},qn.FLUSHING={type:3,value:"FLUSHING"},qn.GASCOCK={type:3,value:"GASCOCK"},qn.GASTAP={type:3,value:"GASTAP"},qn.ISOLATING={type:3,value:"ISOLATING"},qn.MIXING={type:3,value:"MIXING"},qn.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},qn.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},qn.REGULATING={type:3,value:"REGULATING"},qn.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},qn.STEAMTRAP={type:3,value:"STEAMTRAP"},qn.STOPCOCK={type:3,value:"STOPCOCK"},qn.USERDEFINED={type:3,value:"USERDEFINED"},qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=qn;class _n{}_n.COMPRESSION={type:3,value:"COMPRESSION"},_n.SPRING={type:3,value:"SPRING"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=_n;class Mn{}Mn.CUTOUT={type:3,value:"CUTOUT"},Mn.NOTCH={type:3,value:"NOTCH"},Mn.HOLE={type:3,value:"HOLE"},Mn.MITER={type:3,value:"MITER"},Mn.CHAMFER={type:3,value:"CHAMFER"},Mn.EDGE={type:3,value:"EDGE"},Mn.USERDEFINED={type:3,value:"USERDEFINED"},Mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVoidingFeatureTypeEnum=Mn;class Hn{}Hn.MOVABLE={type:3,value:"MOVABLE"},Hn.PARAPET={type:3,value:"PARAPET"},Hn.PARTITIONING={type:3,value:"PARTITIONING"},Hn.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},Hn.SHEAR={type:3,value:"SHEAR"},Hn.SOLIDWALL={type:3,value:"SOLIDWALL"},Hn.STANDARD={type:3,value:"STANDARD"},Hn.POLYGONAL={type:3,value:"POLYGONAL"},Hn.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=Hn;class Bn{}Bn.FLOORTRAP={type:3,value:"FLOORTRAP"},Bn.FLOORWASTE={type:3,value:"FLOORWASTE"},Bn.GULLYSUMP={type:3,value:"GULLYSUMP"},Bn.GULLYTRAP={type:3,value:"GULLYTRAP"},Bn.ROOFDRAIN={type:3,value:"ROOFDRAIN"},Bn.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},Bn.WASTETRAP={type:3,value:"WASTETRAP"},Bn.USERDEFINED={type:3,value:"USERDEFINED"},Bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=Bn;class Un{}Un.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},Un.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},Un.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},Un.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},Un.TOPHUNG={type:3,value:"TOPHUNG"},Un.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},Un.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},Un.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},Un.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},Un.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},Un.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},Un.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},Un.OTHEROPERATION={type:3,value:"OTHEROPERATION"},Un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=Un;class Fn{}Fn.LEFT={type:3,value:"LEFT"},Fn.MIDDLE={type:3,value:"MIDDLE"},Fn.RIGHT={type:3,value:"RIGHT"},Fn.BOTTOM={type:3,value:"BOTTOM"},Fn.TOP={type:3,value:"TOP"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=Fn;class Gn{}Gn.ALUMINIUM={type:3,value:"ALUMINIUM"},Gn.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Gn.STEEL={type:3,value:"STEEL"},Gn.WOOD={type:3,value:"WOOD"},Gn.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Gn.PLASTIC={type:3,value:"PLASTIC"},Gn.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},Gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=Gn;class Vn{}Vn.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},Vn.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},Vn.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},Vn.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},Vn.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},Vn.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},Vn.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},Vn.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},Vn.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},Vn.USERDEFINED={type:3,value:"USERDEFINED"},Vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=Vn;class jn{}jn.WINDOW={type:3,value:"WINDOW"},jn.SKYLIGHT={type:3,value:"SKYLIGHT"},jn.LIGHTDOME={type:3,value:"LIGHTDOME"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypeEnum=jn;class zn{}zn.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},zn.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},zn.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},zn.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},zn.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},zn.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},zn.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},zn.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},zn.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},zn.USERDEFINED={type:3,value:"USERDEFINED"},zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypePartitioningEnum=zn;class Wn{}Wn.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},Wn.SECONDSHIFT={type:3,value:"SECONDSHIFT"},Wn.THIRDSHIFT={type:3,value:"THIRDSHIFT"},Wn.USERDEFINED={type:3,value:"USERDEFINED"},Wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkCalendarTypeEnum=Wn;class kn{}kn.ACTUAL={type:3,value:"ACTUAL"},kn.BASELINE={type:3,value:"BASELINE"},kn.PLANNED={type:3,value:"PLANNED"},kn.USERDEFINED={type:3,value:"USERDEFINED"},kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkPlanTypeEnum=kn;class Yn{}Yn.ACTUAL={type:3,value:"ACTUAL"},Yn.BASELINE={type:3,value:"BASELINE"},Yn.PLANNED={type:3,value:"PLANNED"},Yn.USERDEFINED={type:3,value:"USERDEFINED"},Yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkScheduleTypeEnum=Yn,e.IfcActorRole=class extends Nm{constructor(e,t,n,s){super(e),this.Role=t,this.UserDefinedRole=n,this.Description=s,this.type=3630933823}};class Xn extends Nm{constructor(e,t,n,s){super(e),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.type=618182010}}e.IfcAddress=Xn,e.IfcApplication=class extends Nm{constructor(e,t,n,s,i){super(e),this.ApplicationDeveloper=t,this.Version=n,this.ApplicationFullName=s,this.ApplicationIdentifier=i,this.type=639542469}};class Kn extends Nm{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e),this.Name=t,this.Description=n,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=a,this.FixedUntilDate=l,this.Category=r,this.Condition=o,this.ArithmeticOperator=c,this.Components=u,this.type=411424972}}e.IfcAppliedValue=Kn,e.IfcApproval=class extends Nm{constructor(e,t,n,s,i,a,l,r,o,c){super(e),this.Identifier=t,this.Name=n,this.Description=s,this.TimeOfApproval=i,this.Status=a,this.Level=l,this.Qualifier=r,this.RequestingApproval=o,this.GivingApproval=c,this.type=130549933}};class Zn extends Nm{constructor(e,t){super(e),this.Name=t,this.type=4037036970}}e.IfcBoundaryCondition=Zn,e.IfcBoundaryEdgeCondition=class extends Zn{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.TranslationalStiffnessByLengthX=n,this.TranslationalStiffnessByLengthY=s,this.TranslationalStiffnessByLengthZ=i,this.RotationalStiffnessByLengthX=a,this.RotationalStiffnessByLengthY=l,this.RotationalStiffnessByLengthZ=r,this.type=1560379544}},e.IfcBoundaryFaceCondition=class extends Zn{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.TranslationalStiffnessByAreaX=n,this.TranslationalStiffnessByAreaY=s,this.TranslationalStiffnessByAreaZ=i,this.type=3367102660}};class Qn extends Zn{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.TranslationalStiffnessX=n,this.TranslationalStiffnessY=s,this.TranslationalStiffnessZ=i,this.RotationalStiffnessX=a,this.RotationalStiffnessY=l,this.RotationalStiffnessZ=r,this.type=1387855156}}e.IfcBoundaryNodeCondition=Qn,e.IfcBoundaryNodeConditionWarping=class extends Qn{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.TranslationalStiffnessX=n,this.TranslationalStiffnessY=s,this.TranslationalStiffnessZ=i,this.RotationalStiffnessX=a,this.RotationalStiffnessY=l,this.RotationalStiffnessZ=r,this.WarpingStiffness=o,this.type=2069777674}};class Jn extends Nm{constructor(e){super(e),this.type=2859738748}}e.IfcConnectionGeometry=Jn;class $n extends Jn{constructor(e,t,n){super(e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=n,this.type=2614616156}}e.IfcConnectionPointGeometry=$n,e.IfcConnectionSurfaceGeometry=class extends Jn{constructor(e,t,n){super(e),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=n,this.type=2732653382}},e.IfcConnectionVolumeGeometry=class extends Jn{constructor(e,t,n){super(e),this.VolumeOnRelatingElement=t,this.VolumeOnRelatedElement=n,this.type=775493141}};class es extends Nm{constructor(e,t,n,s,i,a,l,r){super(e),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.type=1959218052}}e.IfcConstraint=es;class ts extends Nm{constructor(e,t,n){super(e),this.SourceCRS=t,this.TargetCRS=n,this.type=1785450214}}e.IfcCoordinateOperation=ts;class ns extends Nm{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.GeodeticDatum=s,this.VerticalDatum=i,this.type=1466758467}}e.IfcCoordinateReferenceSystem=ns,e.IfcCostValue=class extends Kn{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c,u),this.Name=t,this.Description=n,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=a,this.FixedUntilDate=l,this.Category=r,this.Condition=o,this.ArithmeticOperator=c,this.Components=u,this.type=602808272}},e.IfcDerivedUnit=class extends Nm{constructor(e,t,n,s){super(e),this.Elements=t,this.UnitType=n,this.UserDefinedType=s,this.type=1765591967}},e.IfcDerivedUnitElement=class extends Nm{constructor(e,t,n){super(e),this.Unit=t,this.Exponent=n,this.type=1045800335}},e.IfcDimensionalExponents=class extends Nm{constructor(e,t,n,s,i,a,l,r){super(e),this.LengthExponent=t,this.MassExponent=n,this.TimeExponent=s,this.ElectricCurrentExponent=i,this.ThermodynamicTemperatureExponent=a,this.AmountOfSubstanceExponent=l,this.LuminousIntensityExponent=r,this.type=2949456006}};class ss extends Nm{constructor(e){super(e),this.type=4294318154}}e.IfcExternalInformation=ss;class is extends Nm{constructor(e,t,n,s){super(e),this.Location=t,this.Identification=n,this.Name=s,this.type=3200245327}}e.IfcExternalReference=is,e.IfcExternallyDefinedHatchStyle=class extends is{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.type=2242383968}},e.IfcExternallyDefinedSurfaceStyle=class extends is{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.type=1040185647}},e.IfcExternallyDefinedTextFont=class extends is{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.type=3548104201}},e.IfcGridAxis=class extends Nm{constructor(e,t,n,s){super(e),this.AxisTag=t,this.AxisCurve=n,this.SameSense=s,this.type=852622518}},e.IfcIrregularTimeSeriesValue=class extends Nm{constructor(e,t,n){super(e),this.TimeStamp=t,this.ListValues=n,this.type=3020489413}},e.IfcLibraryInformation=class extends ss{constructor(e,t,n,s,i,a,l){super(e),this.Name=t,this.Version=n,this.Publisher=s,this.VersionDate=i,this.Location=a,this.Description=l,this.type=2655187982}},e.IfcLibraryReference=class extends is{constructor(e,t,n,s,i,a,l){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.Description=i,this.Language=a,this.ReferencedLibrary=l,this.type=3452421091}},e.IfcLightDistributionData=class extends Nm{constructor(e,t,n,s){super(e),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=n,this.LuminousIntensity=s,this.type=4162380809}},e.IfcLightIntensityDistribution=class extends Nm{constructor(e,t,n){super(e),this.LightDistributionCurve=t,this.DistributionData=n,this.type=1566485204}},e.IfcMapConversion=class extends ts{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n),this.SourceCRS=t,this.TargetCRS=n,this.Eastings=s,this.Northings=i,this.OrthogonalHeight=a,this.XAxisAbscissa=l,this.XAxisOrdinate=r,this.Scale=o,this.type=3057273783}},e.IfcMaterialClassificationRelationship=class extends Nm{constructor(e,t,n){super(e),this.MaterialClassifications=t,this.ClassifiedMaterial=n,this.type=1847130766}};class as extends Nm{constructor(e){super(e),this.type=760658860}}e.IfcMaterialDefinition=as;class ls extends as{constructor(e,t,n,s,i,a,l,r){super(e),this.Material=t,this.LayerThickness=n,this.IsVentilated=s,this.Name=i,this.Description=a,this.Category=l,this.Priority=r,this.type=248100487}}e.IfcMaterialLayer=ls,e.IfcMaterialLayerSet=class extends as{constructor(e,t,n,s){super(e),this.MaterialLayers=t,this.LayerSetName=n,this.Description=s,this.type=3303938423}},e.IfcMaterialLayerWithOffsets=class extends ls{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.Material=t,this.LayerThickness=n,this.IsVentilated=s,this.Name=i,this.Description=a,this.Category=l,this.Priority=r,this.OffsetDirection=o,this.OffsetValues=c,this.type=1847252529}},e.IfcMaterialList=class extends Nm{constructor(e,t){super(e),this.Materials=t,this.type=2199411900}};class rs extends as{constructor(e,t,n,s,i,a,l){super(e),this.Name=t,this.Description=n,this.Material=s,this.Profile=i,this.Priority=a,this.Category=l,this.type=2235152071}}e.IfcMaterialProfile=rs,e.IfcMaterialProfileSet=class extends as{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.MaterialProfiles=s,this.CompositeProfile=i,this.type=164193824}},e.IfcMaterialProfileWithOffsets=class extends rs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.Name=t,this.Description=n,this.Material=s,this.Profile=i,this.Priority=a,this.Category=l,this.OffsetValues=r,this.type=552965576}};class os extends Nm{constructor(e){super(e),this.type=1507914824}}e.IfcMaterialUsageDefinition=os,e.IfcMeasureWithUnit=class extends Nm{constructor(e,t,n){super(e),this.ValueComponent=t,this.UnitComponent=n,this.type=2597039031}},e.IfcMetric=class extends es{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.Benchmark=o,this.ValueSource=c,this.DataValue=u,this.ReferencePath=p,this.type=3368373690}},e.IfcMonetaryUnit=class extends Nm{constructor(e,t){super(e),this.Currency=t,this.type=2706619895}};class cs extends Nm{constructor(e,t,n){super(e),this.Dimensions=t,this.UnitType=n,this.type=1918398963}}e.IfcNamedUnit=cs;class us extends Nm{constructor(e){super(e),this.type=3701648758}}e.IfcObjectPlacement=us,e.IfcObjective=class extends es{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.BenchmarkValues=o,this.LogicalAggregator=c,this.ObjectiveQualifier=u,this.UserDefinedQualifier=p,this.type=2251480897}},e.IfcOrganization=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.Identification=t,this.Name=n,this.Description=s,this.Roles=i,this.Addresses=a,this.type=4251960020}},e.IfcOwnerHistory=class extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.OwningUser=t,this.OwningApplication=n,this.State=s,this.ChangeAction=i,this.LastModifiedDate=a,this.LastModifyingUser=l,this.LastModifyingApplication=r,this.CreationDate=o,this.type=1207048766}},e.IfcPerson=class extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.Identification=t,this.FamilyName=n,this.GivenName=s,this.MiddleNames=i,this.PrefixTitles=a,this.SuffixTitles=l,this.Roles=r,this.Addresses=o,this.type=2077209135}},e.IfcPersonAndOrganization=class extends Nm{constructor(e,t,n,s){super(e),this.ThePerson=t,this.TheOrganization=n,this.Roles=s,this.type=101040310}};class ps extends Nm{constructor(e,t,n){super(e),this.Name=t,this.Description=n,this.type=2483315170}}e.IfcPhysicalQuantity=ps;class hs extends ps{constructor(e,t,n,s){super(e,t,n),this.Name=t,this.Description=n,this.Unit=s,this.type=2226359599}}e.IfcPhysicalSimpleQuantity=hs,e.IfcPostalAddress=class extends Xn{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.InternalLocation=i,this.AddressLines=a,this.PostalBox=l,this.Town=r,this.Region=o,this.PostalCode=c,this.Country=u,this.type=3355820592}};class ds extends Nm{constructor(e){super(e),this.type=677532197}}e.IfcPresentationItem=ds;class fs extends Nm{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.AssignedItems=s,this.Identifier=i,this.type=2022622350}}e.IfcPresentationLayerAssignment=fs,e.IfcPresentationLayerWithStyle=class extends fs{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i),this.Name=t,this.Description=n,this.AssignedItems=s,this.Identifier=i,this.LayerOn=a,this.LayerFrozen=l,this.LayerBlocked=r,this.LayerStyles=o,this.type=1304840413}};class Is extends Nm{constructor(e,t){super(e),this.Name=t,this.type=3119450353}}e.IfcPresentationStyle=Is,e.IfcPresentationStyleAssignment=class extends Nm{constructor(e,t){super(e),this.Styles=t,this.type=2417041796}};class ms extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.Representations=s,this.type=2095639259}}e.IfcProductRepresentation=ms;class ys extends Nm{constructor(e,t,n){super(e),this.ProfileType=t,this.ProfileName=n,this.type=3958567839}}e.IfcProfileDef=ys,e.IfcProjectedCRS=class extends ns{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.Name=t,this.Description=n,this.GeodeticDatum=s,this.VerticalDatum=i,this.MapProjection=a,this.MapZone=l,this.MapUnit=r,this.type=3843373140}};class vs extends Nm{constructor(e){super(e),this.type=986844984}}e.IfcPropertyAbstraction=vs,e.IfcPropertyEnumeration=class extends vs{constructor(e,t,n,s){super(e),this.Name=t,this.EnumerationValues=n,this.Unit=s,this.type=3710013099}},e.IfcQuantityArea=class extends hs{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.AreaValue=i,this.Formula=a,this.type=2044713172}},e.IfcQuantityCount=class extends hs{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.CountValue=i,this.Formula=a,this.type=2093928680}},e.IfcQuantityLength=class extends hs{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.LengthValue=i,this.Formula=a,this.type=931644368}},e.IfcQuantityTime=class extends hs{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.TimeValue=i,this.Formula=a,this.type=3252649465}},e.IfcQuantityVolume=class extends hs{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.VolumeValue=i,this.Formula=a,this.type=2405470396}},e.IfcQuantityWeight=class extends hs{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.WeightValue=i,this.Formula=a,this.type=825690147}},e.IfcRecurrencePattern=class extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.RecurrenceType=t,this.DayComponent=n,this.WeekdayComponent=s,this.MonthComponent=i,this.Position=a,this.Interval=l,this.Occurrences=r,this.TimePeriods=o,this.type=3915482550}},e.IfcReference=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.TypeIdentifier=t,this.AttributeIdentifier=n,this.InstanceName=s,this.ListPositions=i,this.InnerReference=a,this.type=2433181523}};class ws extends Nm{constructor(e,t,n,s,i){super(e),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=1076942058}}e.IfcRepresentation=ws;class Ts extends Nm{constructor(e,t,n){super(e),this.ContextIdentifier=t,this.ContextType=n,this.type=3377609919}}e.IfcRepresentationContext=Ts;class Es extends Nm{constructor(e){super(e),this.type=3008791417}}e.IfcRepresentationItem=Es,e.IfcRepresentationMap=class extends Nm{constructor(e,t,n){super(e),this.MappingOrigin=t,this.MappedRepresentation=n,this.type=1660063152}};class gs extends Nm{constructor(e,t,n){super(e),this.Name=t,this.Description=n,this.type=2439245199}}e.IfcResourceLevelRelationship=gs;class Rs extends Nm{constructor(e,t,n,s,i){super(e),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=2341007311}}e.IfcRoot=Rs,e.IfcSIUnit=class extends cs{constructor(e,t,n,s){super(e,new bm(0),t),this.UnitType=t,this.Prefix=n,this.Name=s,this.type=448429030}};class Ds extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.type=1054537805}}e.IfcSchedulingTime=Ds,e.IfcShapeAspect=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.ShapeRepresentations=t,this.Name=n,this.Description=s,this.ProductDefinitional=i,this.PartOfProductDefinitionShape=a,this.type=867548509}};class Ss extends ws{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=3982875396}}e.IfcShapeModel=Ss,e.IfcShapeRepresentation=class extends Ss{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=4240577450}};class bs extends Nm{constructor(e,t){super(e),this.Name=t,this.type=2273995522}}e.IfcStructuralConnectionCondition=bs;class Ns extends Nm{constructor(e,t){super(e),this.Name=t,this.type=2162789131}}e.IfcStructuralLoad=Ns,e.IfcStructuralLoadConfiguration=class extends Ns{constructor(e,t,n,s){super(e,t),this.Name=t,this.Values=n,this.Locations=s,this.type=3478079324}};class Os extends Ns{constructor(e,t){super(e,t),this.Name=t,this.type=609421318}}e.IfcStructuralLoadOrResult=Os;class As extends Os{constructor(e,t){super(e,t),this.Name=t,this.type=2525727697}}e.IfcStructuralLoadStatic=As,e.IfcStructuralLoadTemperature=class extends As{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.DeltaTConstant=n,this.DeltaTY=s,this.DeltaTZ=i,this.type=3408363356}};class xs extends ws{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=2830218821}}e.IfcStyleModel=xs,e.IfcStyledItem=class extends Es{constructor(e,t,n,s){super(e),this.Item=t,this.Styles=n,this.Name=s,this.type=3958052878}},e.IfcStyledRepresentation=class extends xs{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=3049322572}},e.IfcSurfaceReinforcementArea=class extends Os{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.SurfaceReinforcement1=n,this.SurfaceReinforcement2=s,this.ShearReinforcement=i,this.type=2934153892}},e.IfcSurfaceStyle=class extends Is{constructor(e,t,n,s){super(e,t),this.Name=t,this.Side=n,this.Styles=s,this.type=1300840506}},e.IfcSurfaceStyleLighting=class extends ds{constructor(e,t,n,s,i){super(e),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=n,this.TransmissionColour=s,this.ReflectanceColour=i,this.type=3303107099}},e.IfcSurfaceStyleRefraction=class extends ds{constructor(e,t,n){super(e),this.RefractionIndex=t,this.DispersionFactor=n,this.type=1607154358}};class Cs extends ds{constructor(e,t,n){super(e),this.SurfaceColour=t,this.Transparency=n,this.type=846575682}}e.IfcSurfaceStyleShading=Cs,e.IfcSurfaceStyleWithTextures=class extends ds{constructor(e,t){super(e),this.Textures=t,this.type=1351298697}};class Ls extends ds{constructor(e,t,n,s,i,a){super(e),this.RepeatS=t,this.RepeatT=n,this.Mode=s,this.TextureTransform=i,this.Parameter=a,this.type=626085974}}e.IfcSurfaceTexture=Ls,e.IfcTable=class extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.Rows=n,this.Columns=s,this.type=985171141}},e.IfcTableColumn=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.Identifier=t,this.Name=n,this.Description=s,this.Unit=i,this.ReferencePath=a,this.type=2043862942}},e.IfcTableRow=class extends Nm{constructor(e,t,n){super(e),this.RowCells=t,this.IsHeading=n,this.type=531007025}};class Ps extends Ds{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.DurationType=i,this.ScheduleDuration=a,this.ScheduleStart=l,this.ScheduleFinish=r,this.EarlyStart=o,this.EarlyFinish=c,this.LateStart=u,this.LateFinish=p,this.FreeFloat=h,this.TotalFloat=d,this.IsCritical=f,this.StatusTime=I,this.ActualDuration=m,this.ActualStart=y,this.ActualFinish=v,this.RemainingTime=w,this.Completion=T,this.type=1549132990}}e.IfcTaskTime=Ps,e.IfcTaskTimeRecurring=class extends Ps{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T,E){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.DurationType=i,this.ScheduleDuration=a,this.ScheduleStart=l,this.ScheduleFinish=r,this.EarlyStart=o,this.EarlyFinish=c,this.LateStart=u,this.LateFinish=p,this.FreeFloat=h,this.TotalFloat=d,this.IsCritical=f,this.StatusTime=I,this.ActualDuration=m,this.ActualStart=y,this.ActualFinish=v,this.RemainingTime=w,this.Completion=T,this.Recurrence=E,this.type=2771591690}},e.IfcTelecomAddress=class extends Xn{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.TelephoneNumbers=i,this.FacsimileNumbers=a,this.PagerNumber=l,this.ElectronicMailAddresses=r,this.WWWHomePageURL=o,this.MessagingIDs=c,this.type=912023232}},e.IfcTextStyle=class extends Is{constructor(e,t,n,s,i,a){super(e,t),this.Name=t,this.TextCharacterAppearance=n,this.TextStyle=s,this.TextFontStyle=i,this.ModelOrDraughting=a,this.type=1447204868}},e.IfcTextStyleForDefinedFont=class extends ds{constructor(e,t,n){super(e),this.Colour=t,this.BackgroundColour=n,this.type=2636378356}},e.IfcTextStyleTextModel=class extends ds{constructor(e,t,n,s,i,a,l,r){super(e),this.TextIndent=t,this.TextAlign=n,this.TextDecoration=s,this.LetterSpacing=i,this.WordSpacing=a,this.TextTransform=l,this.LineHeight=r,this.type=1640371178}};class qs extends ds{constructor(e,t){super(e),this.Maps=t,this.type=280115917}}e.IfcTextureCoordinate=qs,e.IfcTextureCoordinateGenerator=class extends qs{constructor(e,t,n,s){super(e,t),this.Maps=t,this.Mode=n,this.Parameter=s,this.type=1742049831}},e.IfcTextureMap=class extends qs{constructor(e,t,n,s){super(e,t),this.Maps=t,this.Vertices=n,this.MappedTo=s,this.type=2552916305}},e.IfcTextureVertex=class extends ds{constructor(e,t){super(e),this.Coordinates=t,this.type=1210645708}},e.IfcTextureVertexList=class extends ds{constructor(e,t){super(e),this.TexCoordsList=t,this.type=3611470254}},e.IfcTimePeriod=class extends Nm{constructor(e,t,n){super(e),this.StartTime=t,this.EndTime=n,this.type=1199560280}};class _s extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.type=3101149627}}e.IfcTimeSeries=_s,e.IfcTimeSeriesValue=class extends Nm{constructor(e,t){super(e),this.ListValues=t,this.type=581633288}};class Ms extends Es{constructor(e){super(e),this.type=1377556343}}e.IfcTopologicalRepresentationItem=Ms,e.IfcTopologyRepresentation=class extends Ss{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=1735638870}},e.IfcUnitAssignment=class extends Nm{constructor(e,t){super(e),this.Units=t,this.type=180925521}};class Hs extends Ms{constructor(e){super(e),this.type=2799835756}}e.IfcVertex=Hs,e.IfcVertexPoint=class extends Hs{constructor(e,t){super(e),this.VertexGeometry=t,this.type=1907098498}},e.IfcVirtualGridIntersection=class extends Nm{constructor(e,t,n){super(e),this.IntersectingAxes=t,this.OffsetDistances=n,this.type=891718957}},e.IfcWorkTime=class extends Ds{constructor(e,t,n,s,i,a,l){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.RecurrencePattern=i,this.Start=a,this.Finish=l,this.type=1236880293}},e.IfcApprovalRelationship=class extends gs{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatingApproval=s,this.RelatedApprovals=i,this.type=3869604511}};class Bs extends ys{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.OuterCurve=s,this.type=3798115385}}e.IfcArbitraryClosedProfileDef=Bs;class Us extends ys{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Curve=s,this.type=1310608509}}e.IfcArbitraryOpenProfileDef=Us,e.IfcArbitraryProfileDefWithVoids=class extends Bs{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.OuterCurve=s,this.InnerCurves=i,this.type=2705031697}},e.IfcBlobTexture=class extends Ls{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.RepeatS=t,this.RepeatT=n,this.Mode=s,this.TextureTransform=i,this.Parameter=a,this.RasterFormat=l,this.RasterCode=r,this.type=616511568}},e.IfcCenterLineProfileDef=class extends Us{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Curve=s,this.Thickness=i,this.type=3150382593}},e.IfcClassification=class extends ss{constructor(e,t,n,s,i,a,l,r){super(e),this.Source=t,this.Edition=n,this.EditionDate=s,this.Name=i,this.Description=a,this.Location=l,this.ReferenceTokens=r,this.type=747523909}},e.IfcClassificationReference=class extends is{constructor(e,t,n,s,i,a,l){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.ReferencedSource=i,this.Description=a,this.Sort=l,this.type=647927063}},e.IfcColourRgbList=class extends ds{constructor(e,t){super(e),this.ColourList=t,this.type=3285139300}};class Fs extends ds{constructor(e,t){super(e),this.Name=t,this.type=3264961684}}e.IfcColourSpecification=Fs,e.IfcCompositeProfileDef=class extends ys{constructor(e,t,n,s,i){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Profiles=s,this.Label=i,this.type=1485152156}};class Gs extends Ms{constructor(e,t){super(e),this.CfsFaces=t,this.type=370225590}}e.IfcConnectedFaceSet=Gs,e.IfcConnectionCurveGeometry=class extends Jn{constructor(e,t,n){super(e),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=n,this.type=1981873012}},e.IfcConnectionPointEccentricity=class extends $n{constructor(e,t,n,s,i,a){super(e,t,n),this.PointOnRelatingElement=t,this.PointOnRelatedElement=n,this.EccentricityInX=s,this.EccentricityInY=i,this.EccentricityInZ=a,this.type=45288368}},e.IfcContextDependentUnit=class extends cs{constructor(e,t,n,s){super(e,t,n),this.Dimensions=t,this.UnitType=n,this.Name=s,this.type=3050246964}};class Vs extends cs{constructor(e,t,n,s,i){super(e,t,n),this.Dimensions=t,this.UnitType=n,this.Name=s,this.ConversionFactor=i,this.type=2889183280}}e.IfcConversionBasedUnit=Vs,e.IfcConversionBasedUnitWithOffset=class extends Vs{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Dimensions=t,this.UnitType=n,this.Name=s,this.ConversionFactor=i,this.ConversionOffset=a,this.type=2713554722}},e.IfcCurrencyRelationship=class extends gs{constructor(e,t,n,s,i,a,l,r){super(e,t,n),this.Name=t,this.Description=n,this.RelatingMonetaryUnit=s,this.RelatedMonetaryUnit=i,this.ExchangeRate=a,this.RateDateTime=l,this.RateSource=r,this.type=539742890}},e.IfcCurveStyle=class extends Is{constructor(e,t,n,s,i,a){super(e,t),this.Name=t,this.CurveFont=n,this.CurveWidth=s,this.CurveColour=i,this.ModelOrDraughting=a,this.type=3800577675}},e.IfcCurveStyleFont=class extends ds{constructor(e,t,n){super(e),this.Name=t,this.PatternList=n,this.type=1105321065}},e.IfcCurveStyleFontAndScaling=class extends ds{constructor(e,t,n,s){super(e),this.Name=t,this.CurveFont=n,this.CurveFontScaling=s,this.type=2367409068}},e.IfcCurveStyleFontPattern=class extends ds{constructor(e,t,n){super(e),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=n,this.type=3510044353}};class js extends ys{constructor(e,t,n,s,i,a){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.ParentProfile=s,this.Operator=i,this.Label=a,this.type=3632507154}}e.IfcDerivedProfileDef=js,e.IfcDocumentInformation=class extends ss{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e),this.Identification=t,this.Name=n,this.Description=s,this.Location=i,this.Purpose=a,this.IntendedUse=l,this.Scope=r,this.Revision=o,this.DocumentOwner=c,this.Editors=u,this.CreationTime=p,this.LastRevisionTime=h,this.ElectronicFormat=d,this.ValidFrom=f,this.ValidUntil=I,this.Confidentiality=m,this.Status=y,this.type=1154170062}},e.IfcDocumentInformationRelationship=class extends gs{constructor(e,t,n,s,i,a){super(e,t,n),this.Name=t,this.Description=n,this.RelatingDocument=s,this.RelatedDocuments=i,this.RelationshipType=a,this.type=770865208}},e.IfcDocumentReference=class extends is{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.Description=i,this.ReferencedDocument=a,this.type=3732053477}};class zs extends Ms{constructor(e,t,n){super(e),this.EdgeStart=t,this.EdgeEnd=n,this.type=3900360178}}e.IfcEdge=zs,e.IfcEdgeCurve=class extends zs{constructor(e,t,n,s,i){super(e,t,n),this.EdgeStart=t,this.EdgeEnd=n,this.EdgeGeometry=s,this.SameSense=i,this.type=476780140}},e.IfcEventTime=class extends Ds{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.ActualDate=i,this.EarlyDate=a,this.LateDate=l,this.ScheduleDate=r,this.type=211053100}};class Ws extends vs{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.Properties=s,this.type=297599258}}e.IfcExtendedProperties=Ws,e.IfcExternalReferenceRelationship=class extends gs{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatingReference=s,this.RelatedResourceObjects=i,this.type=1437805879}};class ks extends Ms{constructor(e,t){super(e),this.Bounds=t,this.type=2556980723}}e.IfcFace=ks;class Ys extends Ms{constructor(e,t,n){super(e),this.Bound=t,this.Orientation=n,this.type=1809719519}}e.IfcFaceBound=Ys,e.IfcFaceOuterBound=class extends Ys{constructor(e,t,n){super(e,t,n),this.Bound=t,this.Orientation=n,this.type=803316827}};class Xs extends ks{constructor(e,t,n,s){super(e,t),this.Bounds=t,this.FaceSurface=n,this.SameSense=s,this.type=3008276851}}e.IfcFaceSurface=Xs,e.IfcFailureConnectionCondition=class extends bs{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.TensionFailureX=n,this.TensionFailureY=s,this.TensionFailureZ=i,this.CompressionFailureX=a,this.CompressionFailureY=l,this.CompressionFailureZ=r,this.type=4219587988}},e.IfcFillAreaStyle=class extends Is{constructor(e,t,n,s){super(e,t),this.Name=t,this.FillStyles=n,this.ModelorDraughting=s,this.type=738692330}};class Ks extends Ts{constructor(e,t,n,s,i,a,l){super(e,t,n),this.ContextIdentifier=t,this.ContextType=n,this.CoordinateSpaceDimension=s,this.Precision=i,this.WorldCoordinateSystem=a,this.TrueNorth=l,this.type=3448662350}}e.IfcGeometricRepresentationContext=Ks;class Zs extends Es{constructor(e){super(e),this.type=2453401579}}e.IfcGeometricRepresentationItem=Zs,e.IfcGeometricRepresentationSubContext=class extends Ks{constructor(e,n,s,i,a,l,r){super(e,n,s,new t(0),null,new bm(0),null),this.ContextIdentifier=n,this.ContextType=s,this.ParentContext=i,this.TargetScale=a,this.TargetView=l,this.UserDefinedTargetView=r,this.type=4142052618}};class Qs extends Zs{constructor(e,t){super(e),this.Elements=t,this.type=3590301190}}e.IfcGeometricSet=Qs,e.IfcGridPlacement=class extends us{constructor(e,t,n){super(e),this.PlacementLocation=t,this.PlacementRefDirection=n,this.type=178086475}};class Js extends Zs{constructor(e,t,n){super(e),this.BaseSurface=t,this.AgreementFlag=n,this.type=812098782}}e.IfcHalfSpaceSolid=Js,e.IfcImageTexture=class extends Ls{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.RepeatS=t,this.RepeatT=n,this.Mode=s,this.TextureTransform=i,this.Parameter=a,this.URLReference=l,this.type=3905492369}},e.IfcIndexedColourMap=class extends ds{constructor(e,t,n,s,i){super(e),this.MappedTo=t,this.Opacity=n,this.Colours=s,this.ColourIndex=i,this.type=3570813810}};class $s extends qs{constructor(e,t,n,s){super(e,t),this.Maps=t,this.MappedTo=n,this.TexCoords=s,this.type=1437953363}}e.IfcIndexedTextureMap=$s,e.IfcIndexedTriangleTextureMap=class extends $s{constructor(e,t,n,s,i){super(e,t,n,s),this.Maps=t,this.MappedTo=n,this.TexCoords=s,this.TexCoordIndex=i,this.type=2133299955}},e.IfcIrregularTimeSeries=class extends _s{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.Values=c,this.type=3741457305}},e.IfcLagTime=class extends Ds{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.LagValue=i,this.DurationType=a,this.type=1585845231}};class ei extends Zs{constructor(e,t,n,s,i){super(e),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.type=1402838566}}e.IfcLightSource=ei,e.IfcLightSourceAmbient=class extends ei{constructor(e,t,n,s,i){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.type=125510826}},e.IfcLightSourceDirectional=class extends ei{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Orientation=a,this.type=2604431987}},e.IfcLightSourceGoniometric=class extends ei{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.ColourAppearance=l,this.ColourTemperature=r,this.LuminousFlux=o,this.LightEmissionSource=c,this.LightDistributionDataSource=u,this.type=4266656042}};class ti extends ei{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.Radius=l,this.ConstantAttenuation=r,this.DistanceAttenuation=o,this.QuadricAttenuation=c,this.type=1520743889}}e.IfcLightSourcePositional=ti,e.IfcLightSourceSpot=class extends ti{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.Radius=l,this.ConstantAttenuation=r,this.DistanceAttenuation=o,this.QuadricAttenuation=c,this.Orientation=u,this.ConcentrationExponent=p,this.SpreadAngle=h,this.BeamWidthAngle=d,this.type=3422422726}},e.IfcLocalPlacement=class extends us{constructor(e,t,n){super(e),this.PlacementRelTo=t,this.RelativePlacement=n,this.type=2624227202}};class ni extends Ms{constructor(e){super(e),this.type=1008929658}}e.IfcLoop=ni,e.IfcMappedItem=class extends Es{constructor(e,t,n){super(e),this.MappingSource=t,this.MappingTarget=n,this.type=2347385850}},e.IfcMaterial=class extends as{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.Category=s,this.type=1838606355}},e.IfcMaterialConstituent=class extends as{constructor(e,t,n,s,i,a){super(e),this.Name=t,this.Description=n,this.Material=s,this.Fraction=i,this.Category=a,this.type=3708119e3}},e.IfcMaterialConstituentSet=class extends as{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.MaterialConstituents=s,this.type=2852063980}},e.IfcMaterialDefinitionRepresentation=class extends ms{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Representations=s,this.RepresentedMaterial=i,this.type=2022407955}},e.IfcMaterialLayerSetUsage=class extends os{constructor(e,t,n,s,i,a){super(e),this.ForLayerSet=t,this.LayerSetDirection=n,this.DirectionSense=s,this.OffsetFromReferenceLine=i,this.ReferenceExtent=a,this.type=1303795690}};class si extends os{constructor(e,t,n,s){super(e),this.ForProfileSet=t,this.CardinalPoint=n,this.ReferenceExtent=s,this.type=3079605661}}e.IfcMaterialProfileSetUsage=si,e.IfcMaterialProfileSetUsageTapering=class extends si{constructor(e,t,n,s,i,a){super(e,t,n,s),this.ForProfileSet=t,this.CardinalPoint=n,this.ReferenceExtent=s,this.ForProfileEndSet=i,this.CardinalEndPoint=a,this.type=3404854881}},e.IfcMaterialProperties=class extends Ws{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Properties=s,this.Material=i,this.type=3265635763}},e.IfcMaterialRelationship=class extends gs{constructor(e,t,n,s,i,a){super(e,t,n),this.Name=t,this.Description=n,this.RelatingMaterial=s,this.RelatedMaterials=i,this.Expression=a,this.type=853536259}},e.IfcMirroredProfileDef=class extends js{constructor(e,t,n,s,i){super(e,t,n,s,new bm(0),i),this.ProfileType=t,this.ProfileName=n,this.ParentProfile=s,this.Label=i,this.type=2998442950}};class ii extends Rs{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=219451334}}e.IfcObjectDefinition=ii,e.IfcOpenShell=class extends Gs{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2665983363}},e.IfcOrganizationRelationship=class extends gs{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatingOrganization=s,this.RelatedOrganizations=i,this.type=1411181986}},e.IfcOrientedEdge=class extends zs{constructor(e,t,n){super(e,new bm(0),new bm(0)),this.EdgeElement=t,this.Orientation=n,this.type=1029017970}};class ai extends ys{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.type=2529465313}}e.IfcParameterizedProfileDef=ai,e.IfcPath=class extends Ms{constructor(e,t){super(e),this.EdgeList=t,this.type=2519244187}},e.IfcPhysicalComplexQuantity=class extends ps{constructor(e,t,n,s,i,a,l){super(e,t,n),this.Name=t,this.Description=n,this.HasQuantities=s,this.Discrimination=i,this.Quality=a,this.Usage=l,this.type=3021840470}},e.IfcPixelTexture=class extends Ls{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a),this.RepeatS=t,this.RepeatT=n,this.Mode=s,this.TextureTransform=i,this.Parameter=a,this.Width=l,this.Height=r,this.ColourComponents=o,this.Pixel=c,this.type=597895409}};class li extends Zs{constructor(e,t){super(e),this.Location=t,this.type=2004835150}}e.IfcPlacement=li;class ri extends Zs{constructor(e,t,n){super(e),this.SizeInX=t,this.SizeInY=n,this.type=1663979128}}e.IfcPlanarExtent=ri;class oi extends Zs{constructor(e){super(e),this.type=2067069095}}e.IfcPoint=oi,e.IfcPointOnCurve=class extends oi{constructor(e,t,n){super(e),this.BasisCurve=t,this.PointParameter=n,this.type=4022376103}},e.IfcPointOnSurface=class extends oi{constructor(e,t,n,s){super(e),this.BasisSurface=t,this.PointParameterU=n,this.PointParameterV=s,this.type=1423911732}},e.IfcPolyLoop=class extends ni{constructor(e,t){super(e),this.Polygon=t,this.type=2924175390}},e.IfcPolygonalBoundedHalfSpace=class extends Js{constructor(e,t,n,s,i){super(e,t,n),this.BaseSurface=t,this.AgreementFlag=n,this.Position=s,this.PolygonalBoundary=i,this.type=2775532180}};class ci extends ds{constructor(e,t){super(e),this.Name=t,this.type=3727388367}}e.IfcPreDefinedItem=ci;class ui extends vs{constructor(e){super(e),this.type=3778827333}}e.IfcPreDefinedProperties=ui;class pi extends ci{constructor(e,t){super(e,t),this.Name=t,this.type=1775413392}}e.IfcPreDefinedTextFont=pi,e.IfcProductDefinitionShape=class extends ms{constructor(e,t,n,s){super(e,t,n,s),this.Name=t,this.Description=n,this.Representations=s,this.type=673634403}},e.IfcProfileProperties=class extends Ws{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Properties=s,this.ProfileDefinition=i,this.type=2802850158}};class hi extends vs{constructor(e,t,n){super(e),this.Name=t,this.Description=n,this.type=2598011224}}e.IfcProperty=hi;class di extends Rs{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=1680319473}}e.IfcPropertyDefinition=di,e.IfcPropertyDependencyRelationship=class extends gs{constructor(e,t,n,s,i,a){super(e,t,n),this.Name=t,this.Description=n,this.DependingProperty=s,this.DependantProperty=i,this.Expression=a,this.type=148025276}};class fi extends di{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=3357820518}}e.IfcPropertySetDefinition=fi;class Ii extends di{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=1482703590}}e.IfcPropertyTemplateDefinition=Ii;class mi extends fi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=2090586900}}e.IfcQuantitySet=mi;class yi extends ai{constructor(e,t,n,s,i,a){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.type=3615266464}}e.IfcRectangleProfileDef=yi,e.IfcRegularTimeSeries=class extends _s{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.TimeStep=c,this.Values=u,this.type=3413951693}},e.IfcReinforcementBarProperties=class extends ui{constructor(e,t,n,s,i,a,l){super(e),this.TotalCrossSectionArea=t,this.SteelGrade=n,this.BarSurface=s,this.EffectiveDepth=i,this.NominalBarDiameter=a,this.BarCount=l,this.type=1580146022}};class vi extends Rs{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=478536968}}e.IfcRelationship=vi,e.IfcResourceApprovalRelationship=class extends gs{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatedResourceObjects=s,this.RelatingApproval=i,this.type=2943643501}},e.IfcResourceConstraintRelationship=class extends gs{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatingConstraint=s,this.RelatedResourceObjects=i,this.type=1608871552}},e.IfcResourceTime=class extends Ds{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.ScheduleWork=i,this.ScheduleUsage=a,this.ScheduleStart=l,this.ScheduleFinish=r,this.ScheduleContour=o,this.LevelingDelay=c,this.IsOverAllocated=u,this.StatusTime=p,this.ActualWork=h,this.ActualUsage=d,this.ActualStart=f,this.ActualFinish=I,this.RemainingWork=m,this.RemainingUsage=y,this.Completion=v,this.type=1042787934}},e.IfcRoundedRectangleProfileDef=class extends yi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.RoundingRadius=l,this.type=2778083089}},e.IfcSectionProperties=class extends ui{constructor(e,t,n,s){super(e),this.SectionType=t,this.StartProfile=n,this.EndProfile=s,this.type=2042790032}},e.IfcSectionReinforcementProperties=class extends ui{constructor(e,t,n,s,i,a,l){super(e),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=n,this.TransversePosition=s,this.ReinforcementRole=i,this.SectionDefinition=a,this.CrossSectionReinforcementDefinitions=l,this.type=4165799628}},e.IfcSectionedSpine=class extends Zs{constructor(e,t,n,s){super(e),this.SpineCurve=t,this.CrossSections=n,this.CrossSectionPositions=s,this.type=1509187699}},e.IfcShellBasedSurfaceModel=class extends Zs{constructor(e,t){super(e),this.SbsmBoundary=t,this.type=4124623270}};class wi extends hi{constructor(e,t,n){super(e,t,n),this.Name=t,this.Description=n,this.type=3692461612}}e.IfcSimpleProperty=wi,e.IfcSlippageConnectionCondition=class extends bs{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.SlippageX=n,this.SlippageY=s,this.SlippageZ=i,this.type=2609359061}};class Ti extends Zs{constructor(e){super(e),this.type=723233188}}e.IfcSolidModel=Ti,e.IfcStructuralLoadLinearForce=class extends As{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.LinearForceX=n,this.LinearForceY=s,this.LinearForceZ=i,this.LinearMomentX=a,this.LinearMomentY=l,this.LinearMomentZ=r,this.type=1595516126}},e.IfcStructuralLoadPlanarForce=class extends As{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.PlanarForceX=n,this.PlanarForceY=s,this.PlanarForceZ=i,this.type=2668620305}};class Ei extends As{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.DisplacementX=n,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=a,this.RotationalDisplacementRY=l,this.RotationalDisplacementRZ=r,this.type=2473145415}}e.IfcStructuralLoadSingleDisplacement=Ei,e.IfcStructuralLoadSingleDisplacementDistortion=class extends Ei{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.DisplacementX=n,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=a,this.RotationalDisplacementRY=l,this.RotationalDisplacementRZ=r,this.Distortion=o,this.type=1973038258}};class gi extends As{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.ForceX=n,this.ForceY=s,this.ForceZ=i,this.MomentX=a,this.MomentY=l,this.MomentZ=r,this.type=1597423693}}e.IfcStructuralLoadSingleForce=gi,e.IfcStructuralLoadSingleForceWarping=class extends gi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.ForceX=n,this.ForceY=s,this.ForceZ=i,this.MomentX=a,this.MomentY=l,this.MomentZ=r,this.WarpingMoment=o,this.type=1190533807}},e.IfcSubedge=class extends zs{constructor(e,t,n,s){super(e,t,n),this.EdgeStart=t,this.EdgeEnd=n,this.ParentEdge=s,this.type=2233826070}};class Ri extends Zs{constructor(e){super(e),this.type=2513912981}}e.IfcSurface=Ri,e.IfcSurfaceStyleRendering=class extends Cs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n),this.SurfaceColour=t,this.Transparency=n,this.DiffuseColour=s,this.TransmissionColour=i,this.DiffuseTransmissionColour=a,this.ReflectionColour=l,this.SpecularColour=r,this.SpecularHighlight=o,this.ReflectanceMethod=c,this.type=1878645084}};class Di extends Ti{constructor(e,t,n){super(e),this.SweptArea=t,this.Position=n,this.type=2247615214}}e.IfcSweptAreaSolid=Di;class Si extends Ti{constructor(e,t,n,s,i,a){super(e),this.Directrix=t,this.Radius=n,this.InnerRadius=s,this.StartParam=i,this.EndParam=a,this.type=1260650574}}e.IfcSweptDiskSolid=Si,e.IfcSweptDiskSolidPolygonal=class extends Si{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.Directrix=t,this.Radius=n,this.InnerRadius=s,this.StartParam=i,this.EndParam=a,this.FilletRadius=l,this.type=1096409881}};class bi extends Ri{constructor(e,t,n){super(e),this.SweptCurve=t,this.Position=n,this.type=230924584}}e.IfcSweptSurface=bi,e.IfcTShapeProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.FlangeEdgeRadius=c,this.WebEdgeRadius=u,this.WebSlope=p,this.FlangeSlope=h,this.type=3071757647}};class Ni extends Zs{constructor(e){super(e),this.type=901063453}}e.IfcTessellatedItem=Ni;class Oi extends Zs{constructor(e,t,n,s){super(e),this.Literal=t,this.Placement=n,this.Path=s,this.type=4282788508}}e.IfcTextLiteral=Oi,e.IfcTextLiteralWithExtent=class extends Oi{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Literal=t,this.Placement=n,this.Path=s,this.Extent=i,this.BoxAlignment=a,this.type=3124975700}},e.IfcTextStyleFontModel=class extends pi{constructor(e,t,n,s,i,a,l){super(e,t),this.Name=t,this.FontFamily=n,this.FontStyle=s,this.FontVariant=i,this.FontWeight=a,this.FontSize=l,this.type=1983826977}},e.IfcTrapeziumProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.BottomXDim=i,this.TopXDim=a,this.YDim=l,this.TopXOffset=r,this.type=2715220739}};class Ai extends ii{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.type=1628702193}}e.IfcTypeObject=Ai;class xi extends Ai{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ProcessType=c,this.type=3736923433}}e.IfcTypeProcess=xi;class Ci extends Ai{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.type=2347495698}}e.IfcTypeProduct=Ci;class Li extends Ai{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.type=3698973494}}e.IfcTypeResource=Li,e.IfcUShapeProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.EdgeRadius=c,this.FlangeSlope=u,this.type=427810014}},e.IfcVector=class extends Zs{constructor(e,t,n){super(e),this.Orientation=t,this.Magnitude=n,this.type=1417489154}},e.IfcVertexLoop=class extends ni{constructor(e,t){super(e),this.LoopVertex=t,this.type=2759199220}},e.IfcWindowStyle=class extends Ci{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ConstructionType=c,this.OperationType=u,this.ParameterTakesPrecedence=p,this.Sizeable=h,this.type=1299126871}},e.IfcZShapeProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.EdgeRadius=c,this.type=2543172580}},e.IfcAdvancedFace=class extends Xs{constructor(e,t,n,s){super(e,t,n,s),this.Bounds=t,this.FaceSurface=n,this.SameSense=s,this.type=3406155212}},e.IfcAnnotationFillArea=class extends Zs{constructor(e,t,n){super(e),this.OuterBoundary=t,this.InnerBoundaries=n,this.type=669184980}},e.IfcAsymmetricIShapeProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.BottomFlangeWidth=i,this.OverallDepth=a,this.WebThickness=l,this.BottomFlangeThickness=r,this.BottomFlangeFilletRadius=o,this.TopFlangeWidth=c,this.TopFlangeThickness=u,this.TopFlangeFilletRadius=p,this.BottomFlangeEdgeRadius=h,this.BottomFlangeSlope=d,this.TopFlangeEdgeRadius=f,this.TopFlangeSlope=I,this.type=3207858831}},e.IfcAxis1Placement=class extends li{constructor(e,t,n){super(e,t),this.Location=t,this.Axis=n,this.type=4261334040}},e.IfcAxis2Placement2D=class extends li{constructor(e,t,n){super(e,t),this.Location=t,this.RefDirection=n,this.type=3125803723}},e.IfcAxis2Placement3D=class extends li{constructor(e,t,n,s){super(e,t),this.Location=t,this.Axis=n,this.RefDirection=s,this.type=2740243338}};class Pi extends Zs{constructor(e,t,n,s){super(e),this.Operator=t,this.FirstOperand=n,this.SecondOperand=s,this.type=2736907675}}e.IfcBooleanResult=Pi;class qi extends Ri{constructor(e){super(e),this.type=4182860854}}e.IfcBoundedSurface=qi,e.IfcBoundingBox=class extends Zs{constructor(e,t,n,s,i){super(e),this.Corner=t,this.XDim=n,this.YDim=s,this.ZDim=i,this.type=2581212453}},e.IfcBoxedHalfSpace=class extends Js{constructor(e,t,n,s){super(e,t,n),this.BaseSurface=t,this.AgreementFlag=n,this.Enclosure=s,this.type=2713105998}},e.IfcCShapeProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.Width=a,this.WallThickness=l,this.Girth=r,this.InternalFilletRadius=o,this.type=2898889636}},e.IfcCartesianPoint=class extends oi{constructor(e,t){super(e),this.Coordinates=t,this.type=1123145078}};class _i extends Zs{constructor(e){super(e),this.type=574549367}}e.IfcCartesianPointList=_i,e.IfcCartesianPointList2D=class extends _i{constructor(e,t){super(e),this.CoordList=t,this.type=1675464909}},e.IfcCartesianPointList3D=class extends _i{constructor(e,t){super(e),this.CoordList=t,this.type=2059837836}};class Mi extends Zs{constructor(e,t,n,s,i){super(e),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.type=59481748}}e.IfcCartesianTransformationOperator=Mi;class Hi extends Mi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.type=3749851601}}e.IfcCartesianTransformationOperator2D=Hi,e.IfcCartesianTransformationOperator2DnonUniform=class extends Hi{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Scale2=a,this.type=3486308946}};class Bi extends Mi{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Axis3=a,this.type=3331915920}}e.IfcCartesianTransformationOperator3D=Bi,e.IfcCartesianTransformationOperator3DnonUniform=class extends Bi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Axis3=a,this.Scale2=l,this.Scale3=r,this.type=1416205885}};class Ui extends ai{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Radius=i,this.type=1383045692}}e.IfcCircleProfileDef=Ui,e.IfcClosedShell=class extends Gs{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2205249479}},e.IfcColourRgb=class extends Fs{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.Red=n,this.Green=s,this.Blue=i,this.type=776857604}},e.IfcComplexProperty=class extends hi{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.UsageName=s,this.HasProperties=i,this.type=2542286263}};class Fi extends Zs{constructor(e,t,n,s){super(e),this.Transition=t,this.SameSense=n,this.ParentCurve=s,this.type=2485617015}}e.IfcCompositeCurveSegment=Fi;class Gi extends Li{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.type=2574617495}}e.IfcConstructionResourceType=Gi;class Vi extends ii{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.Phase=r,this.RepresentationContexts=o,this.UnitsInContext=c,this.type=3419103109}}e.IfcContext=Vi,e.IfcCrewResourceType=class extends Gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=1815067380}};class ji extends Zs{constructor(e,t){super(e),this.Position=t,this.type=2506170314}}e.IfcCsgPrimitive3D=ji,e.IfcCsgSolid=class extends Ti{constructor(e,t){super(e),this.TreeRootExpression=t,this.type=2147822146}};class zi extends Zs{constructor(e){super(e),this.type=2601014836}}e.IfcCurve=zi,e.IfcCurveBoundedPlane=class extends qi{constructor(e,t,n,s){super(e),this.BasisSurface=t,this.OuterBoundary=n,this.InnerBoundaries=s,this.type=2827736869}},e.IfcCurveBoundedSurface=class extends qi{constructor(e,t,n,s){super(e),this.BasisSurface=t,this.Boundaries=n,this.ImplicitOuter=s,this.type=2629017746}},e.IfcDirection=class extends Zs{constructor(e,t){super(e),this.DirectionRatios=t,this.type=32440307}},e.IfcDoorStyle=class extends Ci{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.OperationType=c,this.ConstructionType=u,this.ParameterTakesPrecedence=p,this.Sizeable=h,this.type=526551008}},e.IfcEdgeLoop=class extends ni{constructor(e,t){super(e),this.EdgeList=t,this.type=1472233963}},e.IfcElementQuantity=class extends mi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.MethodOfMeasurement=a,this.Quantities=l,this.type=1883228015}};class Wi extends Ci{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=339256511}}e.IfcElementType=Wi;class ki extends Ri{constructor(e,t){super(e),this.Position=t,this.type=2777663545}}e.IfcElementarySurface=ki,e.IfcEllipseProfileDef=class extends ai{constructor(e,t,n,s,i,a){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.SemiAxis1=i,this.SemiAxis2=a,this.type=2835456948}},e.IfcEventType=class extends xi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ProcessType=c,this.PredefinedType=u,this.EventTriggerType=p,this.UserDefinedEventTriggerType=h,this.type=4024345920}};class Yi extends Di{constructor(e,t,n,s,i){super(e,t,n),this.SweptArea=t,this.Position=n,this.ExtrudedDirection=s,this.Depth=i,this.type=477187591}}e.IfcExtrudedAreaSolid=Yi,e.IfcExtrudedAreaSolidTapered=class extends Yi{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.SweptArea=t,this.Position=n,this.ExtrudedDirection=s,this.Depth=i,this.EndSweptArea=a,this.type=2804161546}},e.IfcFaceBasedSurfaceModel=class extends Zs{constructor(e,t){super(e),this.FbsmFaces=t,this.type=2047409740}},e.IfcFillAreaStyleHatching=class extends Zs{constructor(e,t,n,s,i,a){super(e),this.HatchLineAppearance=t,this.StartOfNextHatchLine=n,this.PointOfReferenceHatchLine=s,this.PatternStart=i,this.HatchLineAngle=a,this.type=374418227}},e.IfcFillAreaStyleTiles=class extends Zs{constructor(e,t,n,s){super(e),this.TilingPattern=t,this.Tiles=n,this.TilingScale=s,this.type=315944413}},e.IfcFixedReferenceSweptAreaSolid=class extends Di{constructor(e,t,n,s,i,a,l){super(e,t,n),this.SweptArea=t,this.Position=n,this.Directrix=s,this.StartParam=i,this.EndParam=a,this.FixedReference=l,this.type=2652556860}};class Xi extends Wi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=4238390223}}e.IfcFurnishingElementType=Xi,e.IfcFurnitureType=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.AssemblyPlace=u,this.PredefinedType=p,this.type=1268542332}},e.IfcGeographicElementType=class extends Wi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4095422895}},e.IfcGeometricCurveSet=class extends Qs{constructor(e,t){super(e,t),this.Elements=t,this.type=987898635}},e.IfcIShapeProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.OverallWidth=i,this.OverallDepth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.FlangeEdgeRadius=c,this.FlangeSlope=u,this.type=1484403080}};class Ki extends Ni{constructor(e,t){super(e),this.CoordIndex=t,this.type=178912537}}e.IfcIndexedPolygonalFace=Ki,e.IfcIndexedPolygonalFaceWithVoids=class extends Ki{constructor(e,t,n){super(e,t),this.CoordIndex=t,this.InnerCoordIndices=n,this.type=2294589976}},e.IfcLShapeProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.Width=a,this.Thickness=l,this.FilletRadius=r,this.EdgeRadius=o,this.LegSlope=c,this.type=572779678}},e.IfcLaborResourceType=class extends Gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=428585644}},e.IfcLine=class extends zi{constructor(e,t,n){super(e),this.Pnt=t,this.Dir=n,this.type=1281925730}};class Zi extends Ti{constructor(e,t){super(e),this.Outer=t,this.type=1425443689}}e.IfcManifoldSolidBrep=Zi;class Qi extends ii{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=3888040117}}e.IfcObject=Qi,e.IfcOffsetCurve2D=class extends zi{constructor(e,t,n,s){super(e),this.BasisCurve=t,this.Distance=n,this.SelfIntersect=s,this.type=3388369263}},e.IfcOffsetCurve3D=class extends zi{constructor(e,t,n,s,i){super(e),this.BasisCurve=t,this.Distance=n,this.SelfIntersect=s,this.RefDirection=i,this.type=3505215534}},e.IfcPcurve=class extends zi{constructor(e,t,n){super(e),this.BasisSurface=t,this.ReferenceCurve=n,this.type=1682466193}},e.IfcPlanarBox=class extends ri{constructor(e,t,n,s){super(e,t,n),this.SizeInX=t,this.SizeInY=n,this.Placement=s,this.type=603570806}},e.IfcPlane=class extends ki{constructor(e,t){super(e,t),this.Position=t,this.type=220341763}};class Ji extends ci{constructor(e,t){super(e,t),this.Name=t,this.type=759155922}}e.IfcPreDefinedColour=Ji;class $i extends ci{constructor(e,t){super(e,t),this.Name=t,this.type=2559016684}}e.IfcPreDefinedCurveFont=$i;class ea extends fi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=3967405729}}e.IfcPreDefinedPropertySet=ea,e.IfcProcedureType=class extends xi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ProcessType=c,this.PredefinedType=u,this.type=569719735}};class ta extends Qi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.type=2945172077}}e.IfcProcess=ta;class na extends Qi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=4208778838}}e.IfcProduct=na,e.IfcProject=class extends Vi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.Phase=r,this.RepresentationContexts=o,this.UnitsInContext=c,this.type=103090709}},e.IfcProjectLibrary=class extends Vi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.Phase=r,this.RepresentationContexts=o,this.UnitsInContext=c,this.type=653396225}},e.IfcPropertyBoundedValue=class extends wi{constructor(e,t,n,s,i,a,l){super(e,t,n),this.Name=t,this.Description=n,this.UpperBoundValue=s,this.LowerBoundValue=i,this.Unit=a,this.SetPointValue=l,this.type=871118103}},e.IfcPropertyEnumeratedValue=class extends wi{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.EnumerationValues=s,this.EnumerationReference=i,this.type=4166981789}},e.IfcPropertyListValue=class extends wi{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.ListValues=s,this.Unit=i,this.type=2752243245}},e.IfcPropertyReferenceValue=class extends wi{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.UsageName=s,this.PropertyReference=i,this.type=941946838}},e.IfcPropertySet=class extends fi{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.HasProperties=a,this.type=1451395588}},e.IfcPropertySetTemplate=class extends Ii{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.TemplateType=a,this.ApplicableEntity=l,this.HasPropertyTemplates=r,this.type=492091185}},e.IfcPropertySingleValue=class extends wi{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.NominalValue=s,this.Unit=i,this.type=3650150729}},e.IfcPropertyTableValue=class extends wi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n),this.Name=t,this.Description=n,this.DefiningValues=s,this.DefinedValues=i,this.Expression=a,this.DefiningUnit=l,this.DefinedUnit=r,this.CurveInterpolation=o,this.type=110355661}};class sa extends Ii{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=3521284610}}e.IfcPropertyTemplate=sa,e.IfcProxy=class extends na{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.ProxyType=o,this.Tag=c,this.type=3219374653}},e.IfcRectangleHollowProfileDef=class extends yi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.WallThickness=l,this.InnerFilletRadius=r,this.OuterFilletRadius=o,this.type=2770003689}},e.IfcRectangularPyramid=class extends ji{constructor(e,t,n,s,i){super(e,t),this.Position=t,this.XLength=n,this.YLength=s,this.Height=i,this.type=2798486643}},e.IfcRectangularTrimmedSurface=class extends qi{constructor(e,t,n,s,i,a,l,r){super(e),this.BasisSurface=t,this.U1=n,this.V1=s,this.U2=i,this.V2=a,this.Usense=l,this.Vsense=r,this.type=3454111270}},e.IfcReinforcementDefinitionProperties=class extends ea{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.DefinitionType=a,this.ReinforcementSectionDefinitions=l,this.type=3765753017}};class ia extends vi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.type=3939117080}}e.IfcRelAssigns=ia,e.IfcRelAssignsToActor=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingActor=r,this.ActingRole=o,this.type=1683148259}},e.IfcRelAssignsToControl=class extends ia{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingControl=r,this.type=2495723537}};class aa extends ia{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingGroup=r,this.type=1307041759}}e.IfcRelAssignsToGroup=aa,e.IfcRelAssignsToGroupByFactor=class extends aa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingGroup=r,this.Factor=o,this.type=1027710054}},e.IfcRelAssignsToProcess=class extends ia{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingProcess=r,this.QuantityInProcess=o,this.type=4278684876}},e.IfcRelAssignsToProduct=class extends ia{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingProduct=r,this.type=2857406711}},e.IfcRelAssignsToResource=class extends ia{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingResource=r,this.type=205026976}};class la extends vi{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.type=1865459582}}e.IfcRelAssociates=la,e.IfcRelAssociatesApproval=class extends la{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingApproval=l,this.type=4095574036}},e.IfcRelAssociatesClassification=class extends la{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingClassification=l,this.type=919958153}},e.IfcRelAssociatesConstraint=class extends la{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.Intent=l,this.RelatingConstraint=r,this.type=2728634034}},e.IfcRelAssociatesDocument=class extends la{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingDocument=l,this.type=982818633}},e.IfcRelAssociatesLibrary=class extends la{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingLibrary=l,this.type=3840914261}},e.IfcRelAssociatesMaterial=class extends la{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingMaterial=l,this.type=2655215786}};class ra extends vi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=826625072}}e.IfcRelConnects=ra;class oa extends ra{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.type=1204542856}}e.IfcRelConnectsElements=oa,e.IfcRelConnectsPathElements=class extends oa{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.RelatingPriorities=o,this.RelatedPriorities=c,this.RelatedConnectionType=u,this.RelatingConnectionType=p,this.type=3945020480}},e.IfcRelConnectsPortToElement=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingPort=a,this.RelatedElement=l,this.type=4201705270}},e.IfcRelConnectsPorts=class extends ra{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingPort=a,this.RelatedPort=l,this.RealizingElement=r,this.type=3190031847}},e.IfcRelConnectsStructuralActivity=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedStructuralActivity=l,this.type=2127690289}};class ca extends ra{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingStructuralMember=a,this.RelatedStructuralConnection=l,this.AppliedCondition=r,this.AdditionalConditions=o,this.SupportedLength=c,this.ConditionCoordinateSystem=u,this.type=1638771189}}e.IfcRelConnectsStructuralMember=ca,e.IfcRelConnectsWithEccentricity=class extends ca{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingStructuralMember=a,this.RelatedStructuralConnection=l,this.AppliedCondition=r,this.AdditionalConditions=o,this.SupportedLength=c,this.ConditionCoordinateSystem=u,this.ConnectionConstraint=p,this.type=504942748}},e.IfcRelConnectsWithRealizingElements=class extends oa{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.RealizingElements=o,this.ConnectionType=c,this.type=3678494232}},e.IfcRelContainedInSpatialStructure=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedElements=a,this.RelatingStructure=l,this.type=3242617779}},e.IfcRelCoversBldgElements=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingBuildingElement=a,this.RelatedCoverings=l,this.type=886880790}},e.IfcRelCoversSpaces=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedCoverings=l,this.type=2802773753}},e.IfcRelDeclares=class extends vi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingContext=a,this.RelatedDefinitions=l,this.type=2565941209}};class ua extends vi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=2551354335}}e.IfcRelDecomposes=ua;class pa extends vi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=693640335}}e.IfcRelDefines=pa,e.IfcRelDefinesByObject=class extends pa{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingObject=l,this.type=1462361463}},e.IfcRelDefinesByProperties=class extends pa{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingPropertyDefinition=l,this.type=4186316022}},e.IfcRelDefinesByTemplate=class extends pa{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedPropertySets=a,this.RelatingTemplate=l,this.type=307848117}},e.IfcRelDefinesByType=class extends pa{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingType=l,this.type=781010003}},e.IfcRelFillsElement=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingOpeningElement=a,this.RelatedBuildingElement=l,this.type=3940055652}},e.IfcRelFlowControlElements=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedControlElements=a,this.RelatingFlowElement=l,this.type=279856033}},e.IfcRelInterferesElements=class extends ra{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedElement=l,this.InterferenceGeometry=r,this.InterferenceType=o,this.ImpliedOrder=c,this.type=427948657}},e.IfcRelNests=class extends ua{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingObject=a,this.RelatedObjects=l,this.type=3268803585}},e.IfcRelProjectsElement=class extends ua{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedFeatureElement=l,this.type=750771296}},e.IfcRelReferencedInSpatialStructure=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedElements=a,this.RelatingStructure=l,this.type=1245217292}},e.IfcRelSequence=class extends ra{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingProcess=a,this.RelatedProcess=l,this.TimeLag=r,this.SequenceType=o,this.UserDefinedSequenceType=c,this.type=4122056220}},e.IfcRelServicesBuildings=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSystem=a,this.RelatedBuildings=l,this.type=366585022}};class ha extends ra{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedBuildingElement=l,this.ConnectionGeometry=r,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=c,this.type=3451746338}}e.IfcRelSpaceBoundary=ha;class da extends ha{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedBuildingElement=l,this.ConnectionGeometry=r,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=c,this.ParentBoundary=u,this.type=3523091289}}e.IfcRelSpaceBoundary1stLevel=da,e.IfcRelSpaceBoundary2ndLevel=class extends da{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedBuildingElement=l,this.ConnectionGeometry=r,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=c,this.ParentBoundary=u,this.CorrespondingBoundary=p,this.type=1521410863}},e.IfcRelVoidsElement=class extends ua{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingBuildingElement=a,this.RelatedOpeningElement=l,this.type=1401173127}},e.IfcReparametrisedCompositeCurveSegment=class extends Fi{constructor(e,t,n,s,i){super(e,t,n,s),this.Transition=t,this.SameSense=n,this.ParentCurve=s,this.ParamLength=i,this.type=816062949}};class fa extends Qi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.type=2914609552}}e.IfcResource=fa;class Ia extends Di{constructor(e,t,n,s,i){super(e,t,n),this.SweptArea=t,this.Position=n,this.Axis=s,this.Angle=i,this.type=1856042241}}e.IfcRevolvedAreaSolid=Ia,e.IfcRevolvedAreaSolidTapered=class extends Ia{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.SweptArea=t,this.Position=n,this.Axis=s,this.Angle=i,this.EndSweptArea=a,this.type=3243963512}},e.IfcRightCircularCone=class extends ji{constructor(e,t,n,s){super(e,t),this.Position=t,this.Height=n,this.BottomRadius=s,this.type=4158566097}},e.IfcRightCircularCylinder=class extends ji{constructor(e,t,n,s){super(e,t),this.Position=t,this.Height=n,this.Radius=s,this.type=3626867408}},e.IfcSimplePropertyTemplate=class extends sa{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.TemplateType=a,this.PrimaryMeasureType=l,this.SecondaryMeasureType=r,this.Enumerators=o,this.PrimaryUnit=c,this.SecondaryUnit=u,this.Expression=p,this.AccessState=h,this.type=3663146110}};class ma extends na{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.type=1412071761}}e.IfcSpatialElement=ma;class ya extends Ci{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=710998568}}e.IfcSpatialElementType=ya;class va extends ma{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.type=2706606064}}e.IfcSpatialStructureElement=va;class wa extends ya{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3893378262}}e.IfcSpatialStructureElementType=wa,e.IfcSpatialZone=class extends ma{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.PredefinedType=c,this.type=463610769}},e.IfcSpatialZoneType=class extends ya{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.LongName=p,this.type=2481509218}},e.IfcSphere=class extends ji{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=451544542}},e.IfcSphericalSurface=class extends ki{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=4015995234}};class Ta extends na{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=3544373492}}e.IfcStructuralActivity=Ta;class Ea extends na{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=3136571912}}e.IfcStructuralItem=Ea;class ga extends Ea{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=530289379}}e.IfcStructuralMember=ga;class Ra extends Ta{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=3689010777}}e.IfcStructuralReaction=Ra;class Da extends ga{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Thickness=c,this.type=3979015343}}e.IfcStructuralSurfaceMember=Da,e.IfcStructuralSurfaceMemberVarying=class extends Da{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Thickness=c,this.type=2218152070}},e.IfcStructuralSurfaceReaction=class extends Ra{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.PredefinedType=u,this.type=603775116}},e.IfcSubContractResourceType=class extends Gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=4095615324}};class Sa extends zi{constructor(e,t,n,s){super(e),this.Curve3D=t,this.AssociatedGeometry=n,this.MasterRepresentation=s,this.type=699246055}}e.IfcSurfaceCurve=Sa,e.IfcSurfaceCurveSweptAreaSolid=class extends Di{constructor(e,t,n,s,i,a,l){super(e,t,n),this.SweptArea=t,this.Position=n,this.Directrix=s,this.StartParam=i,this.EndParam=a,this.ReferenceSurface=l,this.type=2028607225}},e.IfcSurfaceOfLinearExtrusion=class extends bi{constructor(e,t,n,s,i){super(e,t,n),this.SweptCurve=t,this.Position=n,this.ExtrudedDirection=s,this.Depth=i,this.type=2809605785}},e.IfcSurfaceOfRevolution=class extends bi{constructor(e,t,n,s){super(e,t,n),this.SweptCurve=t,this.Position=n,this.AxisPosition=s,this.type=4124788165}},e.IfcSystemFurnitureElementType=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1580310250}},e.IfcTask=class extends ta{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Status=o,this.WorkMethod=c,this.IsMilestone=u,this.Priority=p,this.TaskTime=h,this.PredefinedType=d,this.type=3473067441}},e.IfcTaskType=class extends xi{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ProcessType=c,this.PredefinedType=u,this.WorkMethod=p,this.type=3206491090}};class ba extends Ni{constructor(e,t){super(e),this.Coordinates=t,this.type=2387106220}}e.IfcTessellatedFaceSet=ba,e.IfcToroidalSurface=class extends ki{constructor(e,t,n,s){super(e,t),this.Position=t,this.MajorRadius=n,this.MinorRadius=s,this.type=1935646853}},e.IfcTransportElementType=class extends Wi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2097647324}},e.IfcTriangulatedFaceSet=class extends ba{constructor(e,t,n,s,i,a){super(e,t),this.Coordinates=t,this.Normals=n,this.Closed=s,this.CoordIndex=i,this.PnIndex=a,this.type=2916149573}},e.IfcWindowLiningProperties=class extends ea{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.LiningDepth=a,this.LiningThickness=l,this.TransomThickness=r,this.MullionThickness=o,this.FirstTransomOffset=c,this.SecondTransomOffset=u,this.FirstMullionOffset=p,this.SecondMullionOffset=h,this.ShapeAspectStyle=d,this.LiningOffset=f,this.LiningToPanelOffsetX=I,this.LiningToPanelOffsetY=m,this.type=336235671}},e.IfcWindowPanelProperties=class extends ea{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.OperationType=a,this.PanelPosition=l,this.FrameDepth=r,this.FrameThickness=o,this.ShapeAspectStyle=c,this.type=512836454}};class Na extends Qi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheActor=l,this.type=2296667514}}e.IfcActor=Na;class Oa extends Zi{constructor(e,t){super(e,t),this.Outer=t,this.type=1635779807}}e.IfcAdvancedBrep=Oa,e.IfcAdvancedBrepWithVoids=class extends Oa{constructor(e,t,n){super(e,t),this.Outer=t,this.Voids=n,this.type=2603310189}},e.IfcAnnotation=class extends na{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=1674181508}};class Aa extends qi{constructor(e,t,n,s,i,a,l,r){super(e),this.UDegree=t,this.VDegree=n,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=a,this.VClosed=l,this.SelfIntersect=r,this.type=2887950389}}e.IfcBSplineSurface=Aa;class xa extends Aa{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r),this.UDegree=t,this.VDegree=n,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=a,this.VClosed=l,this.SelfIntersect=r,this.UMultiplicities=o,this.VMultiplicities=c,this.UKnots=u,this.VKnots=p,this.KnotSpec=h,this.type=167062518}}e.IfcBSplineSurfaceWithKnots=xa,e.IfcBlock=class extends ji{constructor(e,t,n,s,i){super(e,t),this.Position=t,this.XLength=n,this.YLength=s,this.ZLength=i,this.type=1334484129}},e.IfcBooleanClippingResult=class extends Pi{constructor(e,t,n,s){super(e,t,n,s),this.Operator=t,this.FirstOperand=n,this.SecondOperand=s,this.type=3649129432}};class Ca extends zi{constructor(e){super(e),this.type=1260505505}}e.IfcBoundedCurve=Ca,e.IfcBuilding=class extends va{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.ElevationOfRefHeight=u,this.ElevationOfTerrain=p,this.BuildingAddress=h,this.type=4031249490}};class La extends Wi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1950629157}}e.IfcBuildingElementType=La,e.IfcBuildingStorey=class extends va{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.Elevation=u,this.type=3124254112}},e.IfcChimneyType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2197970202}},e.IfcCircleHollowProfileDef=class extends Ui{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Radius=i,this.WallThickness=a,this.type=2937912522}},e.IfcCivilElementType=class extends Wi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3893394355}},e.IfcColumnType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=300633059}},e.IfcComplexPropertyTemplate=class extends sa{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.UsageName=a,this.TemplateType=l,this.HasPropertyTemplates=r,this.type=3875453745}};class Pa extends Ca{constructor(e,t,n){super(e),this.Segments=t,this.SelfIntersect=n,this.type=3732776249}}e.IfcCompositeCurve=Pa;class qa extends Pa{constructor(e,t,n){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.type=15328376}}e.IfcCompositeCurveOnSurface=qa;class _a extends zi{constructor(e,t){super(e),this.Position=t,this.type=2510884976}}e.IfcConic=_a,e.IfcConstructionEquipmentResourceType=class extends Gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=2185764099}},e.IfcConstructionMaterialResourceType=class extends Gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=4105962743}},e.IfcConstructionProductResourceType=class extends Gi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=1525564444}};class Ma extends fa{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.type=2559216714}}e.IfcConstructionResource=Ma;class Ha extends Qi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.type=3293443760}}e.IfcControl=Ha,e.IfcCostItem=class extends Ha{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.CostValues=o,this.CostQuantities=c,this.type=3895139033}},e.IfcCostSchedule=class extends Ha{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.Status=o,this.SubmittedOn=c,this.UpdateDate=u,this.type=1419761937}},e.IfcCoveringType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1916426348}},e.IfcCrewResource=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=3295246426}},e.IfcCurtainWallType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1457835157}},e.IfcCylindricalSurface=class extends ki{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=1213902940}};class Ba extends Wi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3256556792}}e.IfcDistributionElementType=Ba;class Ua extends Ba{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3849074793}}e.IfcDistributionFlowElementType=Ua,e.IfcDoorLiningProperties=class extends ea{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.LiningDepth=a,this.LiningThickness=l,this.ThresholdDepth=r,this.ThresholdThickness=o,this.TransomThickness=c,this.TransomOffset=u,this.LiningOffset=p,this.ThresholdOffset=h,this.CasingThickness=d,this.CasingDepth=f,this.ShapeAspectStyle=I,this.LiningToPanelOffsetX=m,this.LiningToPanelOffsetY=y,this.type=2963535650}},e.IfcDoorPanelProperties=class extends ea{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.PanelDepth=a,this.PanelOperation=l,this.PanelWidth=r,this.PanelPosition=o,this.ShapeAspectStyle=c,this.type=1714330368}},e.IfcDoorType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.OperationType=p,this.ParameterTakesPrecedence=h,this.UserDefinedOperationType=d,this.type=2323601079}},e.IfcDraughtingPreDefinedColour=class extends Ji{constructor(e,t){super(e,t),this.Name=t,this.type=445594917}},e.IfcDraughtingPreDefinedCurveFont=class extends $i{constructor(e,t){super(e,t),this.Name=t,this.type=4006246654}};class Fa extends na{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1758889154}}e.IfcElement=Fa,e.IfcElementAssembly=class extends Fa{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.AssemblyPlace=c,this.PredefinedType=u,this.type=4123344466}},e.IfcElementAssemblyType=class extends Wi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2397081782}};class Ga extends Fa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1623761950}}e.IfcElementComponent=Ga;class Va extends Wi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2590856083}}e.IfcElementComponentType=Va,e.IfcEllipse=class extends _a{constructor(e,t,n,s){super(e,t),this.Position=t,this.SemiAxis1=n,this.SemiAxis2=s,this.type=1704287377}};class ja extends Ua{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2107101300}}e.IfcEnergyConversionDeviceType=ja,e.IfcEngineType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=132023988}},e.IfcEvaporativeCoolerType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3174744832}},e.IfcEvaporatorType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3390157468}},e.IfcEvent=class extends ta{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.PredefinedType=o,this.EventTriggerType=c,this.UserDefinedEventTriggerType=u,this.EventOccurenceTime=p,this.type=4148101412}};class za extends ma{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.type=2853485674}}e.IfcExternalSpatialStructureElement=za;class Wa extends Zi{constructor(e,t){super(e,t),this.Outer=t,this.type=807026263}}e.IfcFacetedBrep=Wa,e.IfcFacetedBrepWithVoids=class extends Wa{constructor(e,t,n){super(e,t),this.Outer=t,this.Voids=n,this.type=3737207727}},e.IfcFastener=class extends Ga{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=647756555}},e.IfcFastenerType=class extends Va{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2489546625}};class ka extends Fa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2827207264}}e.IfcFeatureElement=ka;class Ya extends ka{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2143335405}}e.IfcFeatureElementAddition=Ya;class Xa extends ka{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1287392070}}e.IfcFeatureElementSubtraction=Xa;class Ka extends Ua{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3907093117}}e.IfcFlowControllerType=Ka;class Za extends Ua{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3198132628}}e.IfcFlowFittingType=Za,e.IfcFlowMeterType=class extends Ka{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3815607619}};class Qa extends Ua{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1482959167}}e.IfcFlowMovingDeviceType=Qa;class Ja extends Ua{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1834744321}}e.IfcFlowSegmentType=Ja;class $a extends Ua{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1339347760}}e.IfcFlowStorageDeviceType=$a;class el extends Ua{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2297155007}}e.IfcFlowTerminalType=el;class tl extends Ua{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3009222698}}e.IfcFlowTreatmentDeviceType=tl,e.IfcFootingType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1893162501}};class nl extends Fa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=263784265}}e.IfcFurnishingElement=nl,e.IfcFurniture=class extends nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1509553395}},e.IfcGeographicElement=class extends Fa{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3493046030}},e.IfcGrid=class extends na{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.UAxes=o,this.VAxes=c,this.WAxes=u,this.PredefinedType=p,this.type=3009204131}};class sl extends Qi{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2706460486}}e.IfcGroup=sl,e.IfcHeatExchangerType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1251058090}},e.IfcHumidifierType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1806887404}},e.IfcIndexedPolyCurve=class extends Ca{constructor(e,t,n,s){super(e),this.Points=t,this.Segments=n,this.SelfIntersect=s,this.type=2571569899}},e.IfcInterceptorType=class extends tl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3946677679}},e.IfcIntersectionCurve=class extends Sa{constructor(e,t,n,s){super(e,t,n,s),this.Curve3D=t,this.AssociatedGeometry=n,this.MasterRepresentation=s,this.type=3113134337}},e.IfcInventory=class extends sl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.Jurisdiction=r,this.ResponsiblePersons=o,this.LastUpdateDate=c,this.CurrentValue=u,this.OriginalValue=p,this.type=2391368822}},e.IfcJunctionBoxType=class extends Za{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4288270099}},e.IfcLaborResource=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=3827777499}},e.IfcLampType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1051575348}},e.IfcLightFixtureType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1161773419}},e.IfcMechanicalFastener=class extends Ga{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.NominalDiameter=c,this.NominalLength=u,this.PredefinedType=p,this.type=377706215}},e.IfcMechanicalFastenerType=class extends Va{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.NominalDiameter=p,this.NominalLength=h,this.type=2108223431}},e.IfcMedicalDeviceType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1114901282}},e.IfcMemberType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3181161470}},e.IfcMotorConnectionType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=977012517}},e.IfcOccupant=class extends Na{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheActor=l,this.PredefinedType=r,this.type=4143007308}};class il extends Xa{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3588315303}}e.IfcOpeningElement=il,e.IfcOpeningStandardCase=class extends il{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3079942009}},e.IfcOutletType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2837617999}},e.IfcPerformanceHistory=class extends Ha{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LifeCyclePhase=r,this.PredefinedType=o,this.type=2382730787}},e.IfcPermeableCoveringProperties=class extends ea{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.OperationType=a,this.PanelPosition=l,this.FrameDepth=r,this.FrameThickness=o,this.ShapeAspectStyle=c,this.type=3566463478}},e.IfcPermit=class extends Ha{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.Status=o,this.LongDescription=c,this.type=3327091369}},e.IfcPileType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1158309216}},e.IfcPipeFittingType=class extends Za{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=804291784}},e.IfcPipeSegmentType=class extends Ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4231323485}},e.IfcPlateType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4017108033}},e.IfcPolygonalFaceSet=class extends ba{constructor(e,t,n,s,i){super(e,t),this.Coordinates=t,this.Closed=n,this.Faces=s,this.PnIndex=i,this.type=2839578677}},e.IfcPolyline=class extends Ca{constructor(e,t){super(e),this.Points=t,this.type=3724593414}};class al extends na{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=3740093272}}e.IfcPort=al,e.IfcProcedure=class extends ta{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.PredefinedType=o,this.type=2744685151}},e.IfcProjectOrder=class extends Ha{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.Status=o,this.LongDescription=c,this.type=2904328755}},e.IfcProjectionElement=class extends Ya{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3651124850}},e.IfcProtectiveDeviceType=class extends Ka{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1842657554}},e.IfcPumpType=class extends Qa{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2250791053}},e.IfcRailingType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2893384427}},e.IfcRampFlightType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2324767716}},e.IfcRampType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1469900589}},e.IfcRationalBSplineSurfaceWithKnots=class extends xa{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c,u,p,h),this.UDegree=t,this.VDegree=n,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=a,this.VClosed=l,this.SelfIntersect=r,this.UMultiplicities=o,this.VMultiplicities=c,this.UKnots=u,this.VKnots=p,this.KnotSpec=h,this.WeightsData=d,this.type=683857671}};class ll extends Ga{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.type=3027567501}}e.IfcReinforcingElement=ll;class rl extends Va{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=964333572}}e.IfcReinforcingElementType=rl,e.IfcReinforcingMesh=class extends ll{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.MeshLength=u,this.MeshWidth=p,this.LongitudinalBarNominalDiameter=h,this.TransverseBarNominalDiameter=d,this.LongitudinalBarCrossSectionArea=f,this.TransverseBarCrossSectionArea=I,this.LongitudinalBarSpacing=m,this.TransverseBarSpacing=y,this.PredefinedType=v,this.type=2320036040}},e.IfcReinforcingMeshType=class extends rl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.MeshLength=p,this.MeshWidth=h,this.LongitudinalBarNominalDiameter=d,this.TransverseBarNominalDiameter=f,this.LongitudinalBarCrossSectionArea=I,this.TransverseBarCrossSectionArea=m,this.LongitudinalBarSpacing=y,this.TransverseBarSpacing=v,this.BendingShapeCode=w,this.BendingParameters=T,this.type=2310774935}},e.IfcRelAggregates=class extends ua{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingObject=a,this.RelatedObjects=l,this.type=160246688}},e.IfcRoofType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2781568857}},e.IfcSanitaryTerminalType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1768891740}},e.IfcSeamCurve=class extends Sa{constructor(e,t,n,s){super(e,t,n,s),this.Curve3D=t,this.AssociatedGeometry=n,this.MasterRepresentation=s,this.type=2157484638}},e.IfcShadingDeviceType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4074543187}},e.IfcSite=class extends va{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.RefLatitude=u,this.RefLongitude=p,this.RefElevation=h,this.LandTitleNumber=d,this.SiteAddress=f,this.type=4097777520}},e.IfcSlabType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2533589738}},e.IfcSolarDeviceType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1072016465}},e.IfcSpace=class extends va{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.PredefinedType=u,this.ElevationWithFlooring=p,this.type=3856911033}},e.IfcSpaceHeaterType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1305183839}},e.IfcSpaceType=class extends wa{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.LongName=p,this.type=3812236995}},e.IfcStackTerminalType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3112655638}},e.IfcStairFlightType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1039846685}},e.IfcStairType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=338393293}};class ol extends Ta{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.type=682877961}}e.IfcStructuralAction=ol;class cl extends Ea{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.type=1179482911}}e.IfcStructuralConnection=cl;class ul extends ol{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.ProjectedOrTrue=p,this.PredefinedType=h,this.type=1004757350}}e.IfcStructuralCurveAction=ul,e.IfcStructuralCurveConnection=class extends cl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.Axis=c,this.type=4243806635}};class pl extends ga{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Axis=c,this.type=214636428}}e.IfcStructuralCurveMember=pl,e.IfcStructuralCurveMemberVarying=class extends pl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Axis=c,this.type=2445595289}},e.IfcStructuralCurveReaction=class extends Ra{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.PredefinedType=u,this.type=2757150158}},e.IfcStructuralLinearAction=class extends ul{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p,h),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.ProjectedOrTrue=p,this.PredefinedType=h,this.type=1807405624}};class hl extends sl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.ActionType=r,this.ActionSource=o,this.Coefficient=c,this.Purpose=u,this.type=1252848954}}e.IfcStructuralLoadGroup=hl,e.IfcStructuralPointAction=class extends ol{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.type=2082059205}},e.IfcStructuralPointConnection=class extends cl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.ConditionCoordinateSystem=c,this.type=734778138}},e.IfcStructuralPointReaction=class extends Ra{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=1235345126}},e.IfcStructuralResultGroup=class extends sl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheoryType=l,this.ResultForLoadGroup=r,this.IsLinear=o,this.type=2986769608}};class dl extends ol{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.ProjectedOrTrue=p,this.PredefinedType=h,this.type=3657597509}}e.IfcStructuralSurfaceAction=dl,e.IfcStructuralSurfaceConnection=class extends cl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.type=1975003073}},e.IfcSubContractResource=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=148013059}},e.IfcSurfaceFeature=class extends ka{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3101698114}},e.IfcSwitchingDeviceType=class extends Ka{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2315554128}};class fl extends sl{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2254336722}}e.IfcSystem=fl,e.IfcSystemFurnitureElement=class extends nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=413509423}},e.IfcTankType=class extends $a{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=5716631}},e.IfcTendon=class extends ll{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.PredefinedType=u,this.NominalDiameter=p,this.CrossSectionArea=h,this.TensionForce=d,this.PreStress=f,this.FrictionCoefficient=I,this.AnchorageSlip=m,this.MinCurvatureRadius=y,this.type=3824725483}},e.IfcTendonAnchor=class extends ll{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.PredefinedType=u,this.type=2347447852}},e.IfcTendonAnchorType=class extends rl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3081323446}},e.IfcTendonType=class extends rl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.NominalDiameter=p,this.CrossSectionArea=h,this.SheathDiameter=d,this.type=2415094496}},e.IfcTransformerType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1692211062}},e.IfcTransportElement=class extends Fa{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1620046519}},e.IfcTrimmedCurve=class extends Ca{constructor(e,t,n,s,i,a){super(e),this.BasisCurve=t,this.Trim1=n,this.Trim2=s,this.SenseAgreement=i,this.MasterRepresentation=a,this.type=3593883385}},e.IfcTubeBundleType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1600972822}},e.IfcUnitaryEquipmentType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1911125066}},e.IfcValveType=class extends Ka{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=728799441}},e.IfcVibrationIsolator=class extends Ga{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2391383451}},e.IfcVibrationIsolatorType=class extends Va{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3313531582}},e.IfcVirtualElement=class extends Fa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2769231204}},e.IfcVoidingFeature=class extends Xa{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=926996030}},e.IfcWallType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1898987631}},e.IfcWasteTerminalType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1133259667}},e.IfcWindowType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.PartitioningType=p,this.ParameterTakesPrecedence=h,this.UserDefinedPartitioningType=d,this.type=4009809668}},e.IfcWorkCalendar=class extends Ha{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.WorkingTimes=r,this.ExceptionTimes=o,this.PredefinedType=c,this.type=4088093105}};class Il extends Ha{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.type=1028945134}}e.IfcWorkControl=Il,e.IfcWorkPlan=class extends Il{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.PredefinedType=f,this.type=4218914973}},e.IfcWorkSchedule=class extends Il{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.PredefinedType=f,this.type=3342526732}},e.IfcZone=class extends fl{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.type=1033361043}},e.IfcActionRequest=class extends Ha{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.Status=o,this.LongDescription=c,this.type=3821786052}},e.IfcAirTerminalBoxType=class extends Ka{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1411407467}},e.IfcAirTerminalType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3352864051}},e.IfcAirToAirHeatRecoveryType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1871374353}},e.IfcAsset=class extends sl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.OriginalValue=r,this.CurrentValue=o,this.TotalReplacementCost=c,this.Owner=u,this.User=p,this.ResponsiblePerson=h,this.IncorporationDate=d,this.DepreciatedValue=f,this.type=3460190687}},e.IfcAudioVisualApplianceType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1532957894}};class ml extends Ca{constructor(e,t,n,s,i,a){super(e),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.type=1967976161}}e.IfcBSplineCurve=ml;class yl extends ml{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.KnotMultiplicities=l,this.Knots=r,this.KnotSpec=o,this.type=2461110595}}e.IfcBSplineCurveWithKnots=yl,e.IfcBeamType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=819618141}},e.IfcBoilerType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=231477066}};class vl extends qa{constructor(e,t,n){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.type=1136057603}}e.IfcBoundaryCurve=vl;class wl extends Fa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3299480353}}e.IfcBuildingElement=wl,e.IfcBuildingElementPart=class extends Ga{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2979338954}},e.IfcBuildingElementPartType=class extends Va{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=39481116}},e.IfcBuildingElementProxy=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1095909175}},e.IfcBuildingElementProxyType=class extends La{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1909888760}},e.IfcBuildingSystem=class extends fl{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.LongName=r,this.type=1177604601}},e.IfcBurnerType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2188180465}},e.IfcCableCarrierFittingType=class extends Za{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=395041908}},e.IfcCableCarrierSegmentType=class extends Ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3293546465}},e.IfcCableFittingType=class extends Za{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2674252688}},e.IfcCableSegmentType=class extends Ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1285652485}},e.IfcChillerType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2951183804}},e.IfcChimney=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3296154744}},e.IfcCircle=class extends _a{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=2611217952}},e.IfcCivilElement=class extends Fa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1677625105}},e.IfcCoilType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2301859152}};class Tl extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=843113511}}e.IfcColumn=Tl,e.IfcColumnStandardCase=class extends Tl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=905975707}},e.IfcCommunicationsApplianceType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=400855858}},e.IfcCompressorType=class extends Qa{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3850581409}},e.IfcCondenserType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2816379211}},e.IfcConstructionEquipmentResource=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=3898045240}},e.IfcConstructionMaterialResource=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=1060000209}},e.IfcConstructionProductResource=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=488727124}},e.IfcCooledBeamType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=335055490}},e.IfcCoolingTowerType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2954562838}},e.IfcCovering=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1973544240}},e.IfcCurtainWall=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3495092785}},e.IfcDamperType=class extends Ka{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3961806047}},e.IfcDiscreteAccessory=class extends Ga{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1335981549}},e.IfcDiscreteAccessoryType=class extends Va{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2635815018}},e.IfcDistributionChamberElementType=class extends Ua{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1599208980}};class El extends Ba{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2063403501}}e.IfcDistributionControlElementType=El;class gl extends Fa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1945004755}}e.IfcDistributionElement=gl;class Rl extends gl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3040386961}}e.IfcDistributionFlowElement=Rl,e.IfcDistributionPort=class extends al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.FlowDirection=o,this.PredefinedType=c,this.SystemType=u,this.type=3041715199}};class Dl extends fl{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.PredefinedType=r,this.type=3205830791}}e.IfcDistributionSystem=Dl;class Sl extends wl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OverallHeight=c,this.OverallWidth=u,this.PredefinedType=p,this.OperationType=h,this.UserDefinedOperationType=d,this.type=395920057}}e.IfcDoor=Sl,e.IfcDoorStandardCase=class extends Sl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OverallHeight=c,this.OverallWidth=u,this.PredefinedType=p,this.OperationType=h,this.UserDefinedOperationType=d,this.type=3242481149}},e.IfcDuctFittingType=class extends Za{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=869906466}},e.IfcDuctSegmentType=class extends Ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3760055223}},e.IfcDuctSilencerType=class extends tl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2030761528}},e.IfcElectricApplianceType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=663422040}},e.IfcElectricDistributionBoardType=class extends Ka{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2417008758}},e.IfcElectricFlowStorageDeviceType=class extends $a{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3277789161}},e.IfcElectricGeneratorType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1534661035}},e.IfcElectricMotorType=class extends ja{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1217240411}},e.IfcElectricTimeControlType=class extends Ka{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=712377611}};class bl extends Rl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1658829314}}e.IfcEnergyConversionDevice=bl,e.IfcEngine=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2814081492}},e.IfcEvaporativeCooler=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3747195512}},e.IfcEvaporator=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=484807127}},e.IfcExternalSpatialElement=class extends za{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.PredefinedType=c,this.type=1209101575}},e.IfcFanType=class extends Qa{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=346874300}},e.IfcFilterType=class extends tl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1810631287}},e.IfcFireSuppressionTerminalType=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4222183408}};class Nl extends Rl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2058353004}}e.IfcFlowController=Nl;class Ol extends Rl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=4278956645}}e.IfcFlowFitting=Ol,e.IfcFlowInstrumentType=class extends El{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4037862832}},e.IfcFlowMeter=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2188021234}};class Al extends Rl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3132237377}}e.IfcFlowMovingDevice=Al;class xl extends Rl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=987401354}}e.IfcFlowSegment=xl;class Cl extends Rl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=707683696}}e.IfcFlowStorageDevice=Cl;class Ll extends Rl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2223149337}}e.IfcFlowTerminal=Ll;class Pl extends Rl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3508470533}}e.IfcFlowTreatmentDevice=Pl,e.IfcFooting=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=900683007}},e.IfcHeatExchanger=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3319311131}},e.IfcHumidifier=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2068733104}},e.IfcInterceptor=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4175244083}},e.IfcJunctionBox=class extends Ol{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2176052936}},e.IfcLamp=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=76236018}},e.IfcLightFixture=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=629592764}},e.IfcMedicalDevice=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1437502449}};class ql extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1073191201}}e.IfcMember=ql,e.IfcMemberStandardCase=class extends ql{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1911478936}},e.IfcMotorConnection=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2474470126}},e.IfcOuterBoundaryCurve=class extends vl{constructor(e,t,n){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.type=144952367}},e.IfcOutlet=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3694346114}},e.IfcPile=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.ConstructionType=u,this.type=1687234759}},e.IfcPipeFitting=class extends Ol{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=310824031}},e.IfcPipeSegment=class extends xl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3612865200}};class _l extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3171933400}}e.IfcPlate=_l,e.IfcPlateStandardCase=class extends _l{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1156407060}},e.IfcProtectiveDevice=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=738039164}},e.IfcProtectiveDeviceTrippingUnitType=class extends El{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=655969474}},e.IfcPump=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=90941305}},e.IfcRailing=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2262370178}},e.IfcRamp=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3024970846}},e.IfcRampFlight=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3283111854}},e.IfcRationalBSplineCurveWithKnots=class extends yl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.KnotMultiplicities=l,this.Knots=r,this.KnotSpec=o,this.WeightsData=c,this.type=1232101972}},e.IfcReinforcingBar=class extends ll{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.NominalDiameter=u,this.CrossSectionArea=p,this.BarLength=h,this.PredefinedType=d,this.BarSurface=f,this.type=979691226}},e.IfcReinforcingBarType=class extends rl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.NominalDiameter=p,this.CrossSectionArea=h,this.BarLength=d,this.BarSurface=f,this.BendingShapeCode=I,this.BendingParameters=m,this.type=2572171363}},e.IfcRoof=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2016517767}},e.IfcSanitaryTerminal=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3053780830}},e.IfcSensorType=class extends El{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1783015770}},e.IfcShadingDevice=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1329646415}};class Ml extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1529196076}}e.IfcSlab=Ml,e.IfcSlabElementedCase=class extends Ml{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3127900445}},e.IfcSlabStandardCase=class extends Ml{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3027962421}},e.IfcSolarDevice=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3420628829}},e.IfcSpaceHeater=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1999602285}},e.IfcStackTerminal=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1404847402}},e.IfcStair=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=331165859}},e.IfcStairFlight=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.NumberOfRisers=c,this.NumberOfTreads=u,this.RiserHeight=p,this.TreadLength=h,this.PredefinedType=d,this.type=4252922144}},e.IfcStructuralAnalysisModel=class extends fl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.OrientationOf2DPlane=r,this.LoadedBy=o,this.HasResults=c,this.SharedPlacement=u,this.type=2515109513}},e.IfcStructuralLoadCase=class extends hl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.ActionType=r,this.ActionSource=o,this.Coefficient=c,this.Purpose=u,this.SelfWeightCoefficients=p,this.type=385403989}},e.IfcStructuralPlanarAction=class extends dl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p,h),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.ProjectedOrTrue=p,this.PredefinedType=h,this.type=1621171031}},e.IfcSwitchingDevice=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1162798199}},e.IfcTank=class extends Cl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=812556717}},e.IfcTransformer=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3825984169}},e.IfcTubeBundle=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3026737570}},e.IfcUnitaryControlElementType=class extends El{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3179687236}},e.IfcUnitaryEquipment=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4292641817}},e.IfcValve=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4207607924}};class Hl extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2391406946}}e.IfcWall=Hl,e.IfcWallElementedCase=class extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4156078855}},e.IfcWallStandardCase=class extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3512223829}},e.IfcWasteTerminal=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4237592921}};class Bl extends wl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OverallHeight=c,this.OverallWidth=u,this.PredefinedType=p,this.PartitioningType=h,this.UserDefinedPartitioningType=d,this.type=3304561284}}e.IfcWindow=Bl,e.IfcWindowStandardCase=class extends Bl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OverallHeight=c,this.OverallWidth=u,this.PredefinedType=p,this.PartitioningType=h,this.UserDefinedPartitioningType=d,this.type=486154966}},e.IfcActuatorType=class extends El{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2874132201}},e.IfcAirTerminal=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1634111441}},e.IfcAirTerminalBox=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=177149247}},e.IfcAirToAirHeatRecovery=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2056796094}},e.IfcAlarmType=class extends El{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3001207471}},e.IfcAudioVisualAppliance=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=277319702}};class Ul extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=753842376}}e.IfcBeam=Ul,e.IfcBeamStandardCase=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2906023776}},e.IfcBoiler=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=32344328}},e.IfcBurner=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2938176219}},e.IfcCableCarrierFitting=class extends Ol{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=635142910}},e.IfcCableCarrierSegment=class extends xl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3758799889}},e.IfcCableFitting=class extends Ol{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1051757585}},e.IfcCableSegment=class extends xl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4217484030}},e.IfcChiller=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3902619387}},e.IfcCoil=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=639361253}},e.IfcCommunicationsAppliance=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3221913625}},e.IfcCompressor=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3571504051}},e.IfcCondenser=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2272882330}},e.IfcControllerType=class extends El{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=578613899}},e.IfcCooledBeam=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4136498852}},e.IfcCoolingTower=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3640358203}},e.IfcDamper=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4074379575}},e.IfcDistributionChamberElement=class extends Rl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1052013943}},e.IfcDistributionCircuit=class extends Dl{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.PredefinedType=r,this.type=562808652}};class Fl extends gl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1062813311}}e.IfcDistributionControlElement=Fl,e.IfcDuctFitting=class extends Ol{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=342316401}},e.IfcDuctSegment=class extends xl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3518393246}},e.IfcDuctSilencer=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1360408905}},e.IfcElectricAppliance=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1904799276}},e.IfcElectricDistributionBoard=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=862014818}},e.IfcElectricFlowStorageDevice=class extends Cl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3310460725}},e.IfcElectricGenerator=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=264262732}},e.IfcElectricMotor=class extends bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=402227799}},e.IfcElectricTimeControl=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1003880860}},e.IfcFan=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3415622556}},e.IfcFilter=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=819412036}},e.IfcFireSuppressionTerminal=class extends Ll{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1426591983}},e.IfcFlowInstrument=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=182646315}},e.IfcProtectiveDeviceTrippingUnit=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2295281155}},e.IfcSensor=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4086658281}},e.IfcUnitaryControlElement=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=630975310}},e.IfcActuator=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4288193352}},e.IfcAlarm=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3087945054}},e.IfcController=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=25142252}}}(l||(l={})),qm[3]=["IFC4X3"],Om[3]={3630933823:(e,t)=>new r.IfcActorRole(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcText(t[2].value):null),618182010:(e,t)=>new r.IfcAddress(e,t[0],t[1]?new r.IfcText(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null),2879124712:(e,t)=>new r.IfcAlignmentParameterSegment(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null),3633395639:(e,t)=>new r.IfcAlignmentVerticalSegment(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,new r.IfcLengthMeasure(t[2].value),new r.IfcNonNegativeLengthMeasure(t[3].value),new r.IfcLengthMeasure(t[4].value),new r.IfcRatioMeasure(t[5].value),new r.IfcRatioMeasure(t[6].value),t[7]?new r.IfcLengthMeasure(t[7].value):null,t[8]),639542469:(e,t)=>new r.IfcApplication(e,new bm(t[0].value),new r.IfcLabel(t[1].value),new r.IfcLabel(t[2].value),new r.IfcIdentifier(t[3].value)),411424972:(e,t)=>new r.IfcAppliedValue(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new r.IfcDate(t[4].value):null,t[5]?new r.IfcDate(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((e=>new bm(e.value))):null),130549933:(e,t)=>new r.IfcApproval(e,t[0]?new r.IfcIdentifier(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcText(t[2].value):null,t[3]?new r.IfcDateTime(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null),4037036970:(e,t)=>new r.IfcBoundaryCondition(e,t[0]?new r.IfcLabel(t[0].value):null),1560379544:(e,t)=>new r.IfcBoundaryEdgeCondition(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?_m(3,t[1]):null,t[2]?_m(3,t[2]):null,t[3]?_m(3,t[3]):null,t[4]?_m(3,t[4]):null,t[5]?_m(3,t[5]):null,t[6]?_m(3,t[6]):null),3367102660:(e,t)=>new r.IfcBoundaryFaceCondition(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?_m(3,t[1]):null,t[2]?_m(3,t[2]):null,t[3]?_m(3,t[3]):null),1387855156:(e,t)=>new r.IfcBoundaryNodeCondition(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?_m(3,t[1]):null,t[2]?_m(3,t[2]):null,t[3]?_m(3,t[3]):null,t[4]?_m(3,t[4]):null,t[5]?_m(3,t[5]):null,t[6]?_m(3,t[6]):null),2069777674:(e,t)=>new r.IfcBoundaryNodeConditionWarping(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?_m(3,t[1]):null,t[2]?_m(3,t[2]):null,t[3]?_m(3,t[3]):null,t[4]?_m(3,t[4]):null,t[5]?_m(3,t[5]):null,t[6]?_m(3,t[6]):null,t[7]?_m(3,t[7]):null),2859738748:(e,t)=>new r.IfcConnectionGeometry(e),2614616156:(e,t)=>new r.IfcConnectionPointGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),2732653382:(e,t)=>new r.IfcConnectionSurfaceGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),775493141:(e,t)=>new r.IfcConnectionVolumeGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),1959218052:(e,t)=>new r.IfcConstraint(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2],t[3]?new r.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new r.IfcDateTime(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null),1785450214:(e,t)=>new r.IfcCoordinateOperation(e,new bm(t[0].value),new bm(t[1].value)),1466758467:(e,t)=>new r.IfcCoordinateReferenceSystem(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new r.IfcIdentifier(t[2].value):null,t[3]?new r.IfcIdentifier(t[3].value):null),602808272:(e,t)=>new r.IfcCostValue(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new r.IfcDate(t[4].value):null,t[5]?new r.IfcDate(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((e=>new bm(e.value))):null),1765591967:(e,t)=>new r.IfcDerivedUnit(e,t[0].map((e=>new bm(e.value))),t[1],t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcLabel(t[3].value):null),1045800335:(e,t)=>new r.IfcDerivedUnitElement(e,new bm(t[0].value),t[1].value),2949456006:(e,t)=>new r.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value),4294318154:(e,t)=>new r.IfcExternalInformation(e),3200245327:(e,t)=>new r.IfcExternalReference(e,t[0]?new r.IfcURIReference(t[0].value):null,t[1]?new r.IfcIdentifier(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null),2242383968:(e,t)=>new r.IfcExternallyDefinedHatchStyle(e,t[0]?new r.IfcURIReference(t[0].value):null,t[1]?new r.IfcIdentifier(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null),1040185647:(e,t)=>new r.IfcExternallyDefinedSurfaceStyle(e,t[0]?new r.IfcURIReference(t[0].value):null,t[1]?new r.IfcIdentifier(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null),3548104201:(e,t)=>new r.IfcExternallyDefinedTextFont(e,t[0]?new r.IfcURIReference(t[0].value):null,t[1]?new r.IfcIdentifier(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null),852622518:(e,t)=>new r.IfcGridAxis(e,t[0]?new r.IfcLabel(t[0].value):null,new bm(t[1].value),new r.IfcBoolean(t[2].value)),3020489413:(e,t)=>new r.IfcIrregularTimeSeriesValue(e,new r.IfcDateTime(t[0].value),t[1].map((e=>_m(3,e)))),2655187982:(e,t)=>new r.IfcLibraryInformation(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new r.IfcDateTime(t[3].value):null,t[4]?new r.IfcURIReference(t[4].value):null,t[5]?new r.IfcText(t[5].value):null),3452421091:(e,t)=>new r.IfcLibraryReference(e,t[0]?new r.IfcURIReference(t[0].value):null,t[1]?new r.IfcIdentifier(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLanguageId(t[4].value):null,t[5]?new bm(t[5].value):null),4162380809:(e,t)=>new r.IfcLightDistributionData(e,new r.IfcPlaneAngleMeasure(t[0].value),t[1].map((e=>new r.IfcPlaneAngleMeasure(e.value))),t[2].map((e=>new r.IfcLuminousIntensityDistributionMeasure(e.value)))),1566485204:(e,t)=>new r.IfcLightIntensityDistribution(e,t[0],t[1].map((e=>new bm(e.value)))),3057273783:(e,t)=>new r.IfcMapConversion(e,new bm(t[0].value),new bm(t[1].value),new r.IfcLengthMeasure(t[2].value),new r.IfcLengthMeasure(t[3].value),new r.IfcLengthMeasure(t[4].value),t[5]?new r.IfcReal(t[5].value):null,t[6]?new r.IfcReal(t[6].value):null,t[7]?new r.IfcReal(t[7].value):null,t[8]?new r.IfcReal(t[8].value):null,t[9]?new r.IfcReal(t[9].value):null),1847130766:(e,t)=>new r.IfcMaterialClassificationRelationship(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value)),760658860:(e,t)=>new r.IfcMaterialDefinition(e),248100487:(e,t)=>new r.IfcMaterialLayer(e,t[0]?new bm(t[0].value):null,new r.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new r.IfcLogical(t[2].value):null,t[3]?new r.IfcLabel(t[3].value):null,t[4]?new r.IfcText(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]?new r.IfcInteger(t[6].value):null),3303938423:(e,t)=>new r.IfcMaterialLayerSet(e,t[0].map((e=>new bm(e.value))),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcText(t[2].value):null),1847252529:(e,t)=>new r.IfcMaterialLayerWithOffsets(e,t[0]?new bm(t[0].value):null,new r.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new r.IfcLogical(t[2].value):null,t[3]?new r.IfcLabel(t[3].value):null,t[4]?new r.IfcText(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]?new r.IfcInteger(t[6].value):null,t[7],new r.IfcLengthMeasure(t[8].value)),2199411900:(e,t)=>new r.IfcMaterialList(e,t[0].map((e=>new bm(e.value)))),2235152071:(e,t)=>new r.IfcMaterialProfile(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new bm(t[3].value),t[4]?new r.IfcInteger(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null),164193824:(e,t)=>new r.IfcMaterialProfileSet(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new bm(t[3].value):null),552965576:(e,t)=>new r.IfcMaterialProfileWithOffsets(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new bm(t[3].value),t[4]?new r.IfcInteger(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,new r.IfcLengthMeasure(t[6].value)),1507914824:(e,t)=>new r.IfcMaterialUsageDefinition(e),2597039031:(e,t)=>new r.IfcMeasureWithUnit(e,_m(3,t[0]),new bm(t[1].value)),3368373690:(e,t)=>new r.IfcMetric(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2],t[3]?new r.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new r.IfcDateTime(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7],t[8]?new r.IfcLabel(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null),2706619895:(e,t)=>new r.IfcMonetaryUnit(e,new r.IfcLabel(t[0].value)),1918398963:(e,t)=>new r.IfcNamedUnit(e,new bm(t[0].value),t[1]),3701648758:(e,t)=>new r.IfcObjectPlacement(e,t[0]?new bm(t[0].value):null),2251480897:(e,t)=>new r.IfcObjective(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2],t[3]?new r.IfcLabel(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new r.IfcDateTime(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8],t[9],t[10]?new r.IfcLabel(t[10].value):null),4251960020:(e,t)=>new r.IfcOrganization(e,t[0]?new r.IfcIdentifier(t[0].value):null,new r.IfcLabel(t[1].value),t[2]?new r.IfcText(t[2].value):null,t[3]?t[3].map((e=>new bm(e.value))):null,t[4]?t[4].map((e=>new bm(e.value))):null),1207048766:(e,t)=>new r.IfcOwnerHistory(e,new bm(t[0].value),new bm(t[1].value),t[2],t[3],t[4]?new r.IfcTimeStamp(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new r.IfcTimeStamp(t[7].value)),2077209135:(e,t)=>new r.IfcPerson(e,t[0]?new r.IfcIdentifier(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?t[3].map((e=>new r.IfcLabel(e.value))):null,t[4]?t[4].map((e=>new r.IfcLabel(e.value))):null,t[5]?t[5].map((e=>new r.IfcLabel(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?t[7].map((e=>new bm(e.value))):null),101040310:(e,t)=>new r.IfcPersonAndOrganization(e,new bm(t[0].value),new bm(t[1].value),t[2]?t[2].map((e=>new bm(e.value))):null),2483315170:(e,t)=>new r.IfcPhysicalQuantity(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null),2226359599:(e,t)=>new r.IfcPhysicalSimpleQuantity(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null),3355820592:(e,t)=>new r.IfcPostalAddress(e,t[0],t[1]?new r.IfcText(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcLabel(t[3].value):null,t[4]?t[4].map((e=>new r.IfcLabel(e.value))):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?new r.IfcLabel(t[9].value):null),677532197:(e,t)=>new r.IfcPresentationItem(e),2022622350:(e,t)=>new r.IfcPresentationLayerAssignment(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new r.IfcIdentifier(t[3].value):null),1304840413:(e,t)=>new r.IfcPresentationLayerWithStyle(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new r.IfcIdentifier(t[3].value):null,new r.IfcLogical(t[4].value),new r.IfcLogical(t[5].value),new r.IfcLogical(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null),3119450353:(e,t)=>new r.IfcPresentationStyle(e,t[0]?new r.IfcLabel(t[0].value):null),2095639259:(e,t)=>new r.IfcProductRepresentation(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value)))),3958567839:(e,t)=>new r.IfcProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null),3843373140:(e,t)=>new r.IfcProjectedCRS(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new r.IfcIdentifier(t[2].value):null,t[3]?new r.IfcIdentifier(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new bm(t[6].value):null),986844984:(e,t)=>new r.IfcPropertyAbstraction(e),3710013099:(e,t)=>new r.IfcPropertyEnumeration(e,new r.IfcLabel(t[0].value),t[1].map((e=>_m(3,e))),t[2]?new bm(t[2].value):null),2044713172:(e,t)=>new r.IfcQuantityArea(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcAreaMeasure(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),2093928680:(e,t)=>new r.IfcQuantityCount(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcCountMeasure(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),931644368:(e,t)=>new r.IfcQuantityLength(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcLengthMeasure(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),2691318326:(e,t)=>new r.IfcQuantityNumber(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcNumericMeasure(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),3252649465:(e,t)=>new r.IfcQuantityTime(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcTimeMeasure(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),2405470396:(e,t)=>new r.IfcQuantityVolume(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcVolumeMeasure(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),825690147:(e,t)=>new r.IfcQuantityWeight(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcMassMeasure(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),3915482550:(e,t)=>new r.IfcRecurrencePattern(e,t[0],t[1]?t[1].map((e=>new r.IfcDayInMonthNumber(e.value))):null,t[2]?t[2].map((e=>new r.IfcDayInWeekNumber(e.value))):null,t[3]?t[3].map((e=>new r.IfcMonthInYearNumber(e.value))):null,t[4]?new r.IfcInteger(t[4].value):null,t[5]?new r.IfcInteger(t[5].value):null,t[6]?new r.IfcInteger(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null),2433181523:(e,t)=>new r.IfcReference(e,t[0]?new r.IfcIdentifier(t[0].value):null,t[1]?new r.IfcIdentifier(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?t[3].map((e=>new r.IfcInteger(e.value))):null,t[4]?new bm(t[4].value):null),1076942058:(e,t)=>new r.IfcRepresentation(e,new bm(t[0].value),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),3377609919:(e,t)=>new r.IfcRepresentationContext(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null),3008791417:(e,t)=>new r.IfcRepresentationItem(e),1660063152:(e,t)=>new r.IfcRepresentationMap(e,new bm(t[0].value),new bm(t[1].value)),2439245199:(e,t)=>new r.IfcResourceLevelRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null),2341007311:(e,t)=>new r.IfcRoot(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),448429030:(e,t)=>new r.IfcSIUnit(e,new bm(t[0].value),t[1],t[2],t[3]),1054537805:(e,t)=>new r.IfcSchedulingTime(e,t[0]?new r.IfcLabel(t[0].value):null,t[1],t[2]?new r.IfcLabel(t[2].value):null),867548509:(e,t)=>new r.IfcShapeAspect(e,t[0].map((e=>new bm(e.value))),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcText(t[2].value):null,new r.IfcLogical(t[3].value),t[4]?new bm(t[4].value):null),3982875396:(e,t)=>new r.IfcShapeModel(e,new bm(t[0].value),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),4240577450:(e,t)=>new r.IfcShapeRepresentation(e,new bm(t[0].value),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),2273995522:(e,t)=>new r.IfcStructuralConnectionCondition(e,t[0]?new r.IfcLabel(t[0].value):null),2162789131:(e,t)=>new r.IfcStructuralLoad(e,t[0]?new r.IfcLabel(t[0].value):null),3478079324:(e,t)=>new r.IfcStructuralLoadConfiguration(e,t[0]?new r.IfcLabel(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?t[2].map((e=>new r.IfcLengthMeasure(e.value))):null),609421318:(e,t)=>new r.IfcStructuralLoadOrResult(e,t[0]?new r.IfcLabel(t[0].value):null),2525727697:(e,t)=>new r.IfcStructuralLoadStatic(e,t[0]?new r.IfcLabel(t[0].value):null),3408363356:(e,t)=>new r.IfcStructuralLoadTemperature(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new r.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new r.IfcThermodynamicTemperatureMeasure(t[3].value):null),2830218821:(e,t)=>new r.IfcStyleModel(e,new bm(t[0].value),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),3958052878:(e,t)=>new r.IfcStyledItem(e,t[0]?new bm(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new r.IfcLabel(t[2].value):null),3049322572:(e,t)=>new r.IfcStyledRepresentation(e,new bm(t[0].value),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),2934153892:(e,t)=>new r.IfcSurfaceReinforcementArea(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?t[1].map((e=>new r.IfcLengthMeasure(e.value))):null,t[2]?t[2].map((e=>new r.IfcLengthMeasure(e.value))):null,t[3]?new r.IfcRatioMeasure(t[3].value):null),1300840506:(e,t)=>new r.IfcSurfaceStyle(e,t[0]?new r.IfcLabel(t[0].value):null,t[1],t[2].map((e=>new bm(e.value)))),3303107099:(e,t)=>new r.IfcSurfaceStyleLighting(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new bm(t[3].value)),1607154358:(e,t)=>new r.IfcSurfaceStyleRefraction(e,t[0]?new r.IfcReal(t[0].value):null,t[1]?new r.IfcReal(t[1].value):null),846575682:(e,t)=>new r.IfcSurfaceStyleShading(e,new bm(t[0].value),t[1]?new r.IfcNormalisedRatioMeasure(t[1].value):null),1351298697:(e,t)=>new r.IfcSurfaceStyleWithTextures(e,t[0].map((e=>new bm(e.value)))),626085974:(e,t)=>new r.IfcSurfaceTexture(e,new r.IfcBoolean(t[0].value),new r.IfcBoolean(t[1].value),t[2]?new r.IfcIdentifier(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new r.IfcIdentifier(e.value))):null),985171141:(e,t)=>new r.IfcTable(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?t[1].map((e=>new bm(e.value))):null,t[2]?t[2].map((e=>new bm(e.value))):null),2043862942:(e,t)=>new r.IfcTableColumn(e,t[0]?new r.IfcIdentifier(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcText(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new bm(t[4].value):null),531007025:(e,t)=>new r.IfcTableRow(e,t[0]?t[0].map((e=>_m(3,e))):null,t[1]?new r.IfcBoolean(t[1].value):null),1549132990:(e,t)=>new r.IfcTaskTime(e,t[0]?new r.IfcLabel(t[0].value):null,t[1],t[2]?new r.IfcLabel(t[2].value):null,t[3],t[4]?new r.IfcDuration(t[4].value):null,t[5]?new r.IfcDateTime(t[5].value):null,t[6]?new r.IfcDateTime(t[6].value):null,t[7]?new r.IfcDateTime(t[7].value):null,t[8]?new r.IfcDateTime(t[8].value):null,t[9]?new r.IfcDateTime(t[9].value):null,t[10]?new r.IfcDateTime(t[10].value):null,t[11]?new r.IfcDuration(t[11].value):null,t[12]?new r.IfcDuration(t[12].value):null,t[13]?new r.IfcBoolean(t[13].value):null,t[14]?new r.IfcDateTime(t[14].value):null,t[15]?new r.IfcDuration(t[15].value):null,t[16]?new r.IfcDateTime(t[16].value):null,t[17]?new r.IfcDateTime(t[17].value):null,t[18]?new r.IfcDuration(t[18].value):null,t[19]?new r.IfcPositiveRatioMeasure(t[19].value):null),2771591690:(e,t)=>new r.IfcTaskTimeRecurring(e,t[0]?new r.IfcLabel(t[0].value):null,t[1],t[2]?new r.IfcLabel(t[2].value):null,t[3],t[4]?new r.IfcDuration(t[4].value):null,t[5]?new r.IfcDateTime(t[5].value):null,t[6]?new r.IfcDateTime(t[6].value):null,t[7]?new r.IfcDateTime(t[7].value):null,t[8]?new r.IfcDateTime(t[8].value):null,t[9]?new r.IfcDateTime(t[9].value):null,t[10]?new r.IfcDateTime(t[10].value):null,t[11]?new r.IfcDuration(t[11].value):null,t[12]?new r.IfcDuration(t[12].value):null,t[13]?new r.IfcBoolean(t[13].value):null,t[14]?new r.IfcDateTime(t[14].value):null,t[15]?new r.IfcDuration(t[15].value):null,t[16]?new r.IfcDateTime(t[16].value):null,t[17]?new r.IfcDateTime(t[17].value):null,t[18]?new r.IfcDuration(t[18].value):null,t[19]?new r.IfcPositiveRatioMeasure(t[19].value):null,new bm(t[20].value)),912023232:(e,t)=>new r.IfcTelecomAddress(e,t[0],t[1]?new r.IfcText(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?t[3].map((e=>new r.IfcLabel(e.value))):null,t[4]?t[4].map((e=>new r.IfcLabel(e.value))):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]?t[6].map((e=>new r.IfcLabel(e.value))):null,t[7]?new r.IfcURIReference(t[7].value):null,t[8]?t[8].map((e=>new r.IfcURIReference(e.value))):null),1447204868:(e,t)=>new r.IfcTextStyle(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?new bm(t[2].value):null,new bm(t[3].value),t[4]?new r.IfcBoolean(t[4].value):null),2636378356:(e,t)=>new r.IfcTextStyleForDefinedFont(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),1640371178:(e,t)=>new r.IfcTextStyleTextModel(e,t[0]?_m(3,t[0]):null,t[1]?new r.IfcTextAlignment(t[1].value):null,t[2]?new r.IfcTextDecoration(t[2].value):null,t[3]?_m(3,t[3]):null,t[4]?_m(3,t[4]):null,t[5]?new r.IfcTextTransformation(t[5].value):null,t[6]?_m(3,t[6]):null),280115917:(e,t)=>new r.IfcTextureCoordinate(e,t[0].map((e=>new bm(e.value)))),1742049831:(e,t)=>new r.IfcTextureCoordinateGenerator(e,t[0].map((e=>new bm(e.value))),new r.IfcLabel(t[1].value),t[2]?t[2].map((e=>new r.IfcReal(e.value))):null),222769930:(e,t)=>new r.IfcTextureCoordinateIndices(e,t[0].map((e=>new r.IfcPositiveInteger(e.value))),new bm(t[1].value)),1010789467:(e,t)=>new r.IfcTextureCoordinateIndicesWithVoids(e,t[0].map((e=>new r.IfcPositiveInteger(e.value))),new bm(t[1].value),t[2].map((e=>new r.IfcPositiveInteger(e.value)))),2552916305:(e,t)=>new r.IfcTextureMap(e,t[0].map((e=>new bm(e.value))),t[1].map((e=>new bm(e.value))),new bm(t[2].value)),1210645708:(e,t)=>new r.IfcTextureVertex(e,t[0].map((e=>new r.IfcParameterValue(e.value)))),3611470254:(e,t)=>new r.IfcTextureVertexList(e,t[0].map((e=>new r.IfcParameterValue(e.value)))),1199560280:(e,t)=>new r.IfcTimePeriod(e,new r.IfcTime(t[0].value),new r.IfcTime(t[1].value)),3101149627:(e,t)=>new r.IfcTimeSeries(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,new r.IfcDateTime(t[2].value),new r.IfcDateTime(t[3].value),t[4],t[5],t[6]?new r.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null),581633288:(e,t)=>new r.IfcTimeSeriesValue(e,t[0].map((e=>_m(3,e)))),1377556343:(e,t)=>new r.IfcTopologicalRepresentationItem(e),1735638870:(e,t)=>new r.IfcTopologyRepresentation(e,new bm(t[0].value),t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3].map((e=>new bm(e.value)))),180925521:(e,t)=>new r.IfcUnitAssignment(e,t[0].map((e=>new bm(e.value)))),2799835756:(e,t)=>new r.IfcVertex(e),1907098498:(e,t)=>new r.IfcVertexPoint(e,new bm(t[0].value)),891718957:(e,t)=>new r.IfcVirtualGridIntersection(e,t[0].map((e=>new bm(e.value))),t[1].map((e=>new r.IfcLengthMeasure(e.value)))),1236880293:(e,t)=>new r.IfcWorkTime(e,t[0]?new r.IfcLabel(t[0].value):null,t[1],t[2]?new r.IfcLabel(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new r.IfcDate(t[4].value):null,t[5]?new r.IfcDate(t[5].value):null),3752311538:(e,t)=>new r.IfcAlignmentCantSegment(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,new r.IfcLengthMeasure(t[2].value),new r.IfcNonNegativeLengthMeasure(t[3].value),new r.IfcLengthMeasure(t[4].value),t[5]?new r.IfcLengthMeasure(t[5].value):null,new r.IfcLengthMeasure(t[6].value),t[7]?new r.IfcLengthMeasure(t[7].value):null,t[8]),536804194:(e,t)=>new r.IfcAlignmentHorizontalSegment(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,new bm(t[2].value),new r.IfcPlaneAngleMeasure(t[3].value),new r.IfcLengthMeasure(t[4].value),new r.IfcLengthMeasure(t[5].value),new r.IfcNonNegativeLengthMeasure(t[6].value),t[7]?new r.IfcPositiveLengthMeasure(t[7].value):null,t[8]),3869604511:(e,t)=>new r.IfcApprovalRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),3798115385:(e,t)=>new r.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,new bm(t[2].value)),1310608509:(e,t)=>new r.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,new bm(t[2].value)),2705031697:(e,t)=>new r.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),616511568:(e,t)=>new r.IfcBlobTexture(e,new r.IfcBoolean(t[0].value),new r.IfcBoolean(t[1].value),t[2]?new r.IfcIdentifier(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new r.IfcIdentifier(e.value))):null,new r.IfcIdentifier(t[5].value),new r.IfcBinary(t[6].value)),3150382593:(e,t)=>new r.IfcCenterLineProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,new bm(t[2].value),new r.IfcPositiveLengthMeasure(t[3].value)),747523909:(e,t)=>new r.IfcClassification(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,t[2]?new r.IfcDate(t[2].value):null,new r.IfcLabel(t[3].value),t[4]?new r.IfcText(t[4].value):null,t[5]?new r.IfcURIReference(t[5].value):null,t[6]?t[6].map((e=>new r.IfcIdentifier(e.value))):null),647927063:(e,t)=>new r.IfcClassificationReference(e,t[0]?new r.IfcURIReference(t[0].value):null,t[1]?new r.IfcIdentifier(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new r.IfcText(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null),3285139300:(e,t)=>new r.IfcColourRgbList(e,t[0].map((e=>new r.IfcNormalisedRatioMeasure(e.value)))),3264961684:(e,t)=>new r.IfcColourSpecification(e,t[0]?new r.IfcLabel(t[0].value):null),1485152156:(e,t)=>new r.IfcCompositeProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?new r.IfcLabel(t[3].value):null),370225590:(e,t)=>new r.IfcConnectedFaceSet(e,t[0].map((e=>new bm(e.value)))),1981873012:(e,t)=>new r.IfcConnectionCurveGeometry(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),45288368:(e,t)=>new r.IfcConnectionPointEccentricity(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null,t[4]?new r.IfcLengthMeasure(t[4].value):null),3050246964:(e,t)=>new r.IfcContextDependentUnit(e,new bm(t[0].value),t[1],new r.IfcLabel(t[2].value)),2889183280:(e,t)=>new r.IfcConversionBasedUnit(e,new bm(t[0].value),t[1],new r.IfcLabel(t[2].value),new bm(t[3].value)),2713554722:(e,t)=>new r.IfcConversionBasedUnitWithOffset(e,new bm(t[0].value),t[1],new r.IfcLabel(t[2].value),new bm(t[3].value),new r.IfcReal(t[4].value)),539742890:(e,t)=>new r.IfcCurrencyRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value),new r.IfcPositiveRatioMeasure(t[4].value),t[5]?new r.IfcDateTime(t[5].value):null,t[6]?new bm(t[6].value):null),3800577675:(e,t)=>new r.IfcCurveStyle(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new bm(t[1].value):null,t[2]?_m(3,t[2]):null,t[3]?new bm(t[3].value):null,t[4]?new r.IfcBoolean(t[4].value):null),1105321065:(e,t)=>new r.IfcCurveStyleFont(e,t[0]?new r.IfcLabel(t[0].value):null,t[1].map((e=>new bm(e.value)))),2367409068:(e,t)=>new r.IfcCurveStyleFontAndScaling(e,t[0]?new r.IfcLabel(t[0].value):null,new bm(t[1].value),new r.IfcPositiveRatioMeasure(t[2].value)),3510044353:(e,t)=>new r.IfcCurveStyleFontPattern(e,new r.IfcLengthMeasure(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value)),3632507154:(e,t)=>new r.IfcDerivedProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),1154170062:(e,t)=>new r.IfcDocumentInformation(e,new r.IfcIdentifier(t[0].value),new r.IfcLabel(t[1].value),t[2]?new r.IfcText(t[2].value):null,t[3]?new r.IfcURIReference(t[3].value):null,t[4]?new r.IfcText(t[4].value):null,t[5]?new r.IfcText(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new bm(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new r.IfcDateTime(t[10].value):null,t[11]?new r.IfcDateTime(t[11].value):null,t[12]?new r.IfcIdentifier(t[12].value):null,t[13]?new r.IfcDate(t[13].value):null,t[14]?new r.IfcDate(t[14].value):null,t[15],t[16]),770865208:(e,t)=>new r.IfcDocumentInformationRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value))),t[4]?new r.IfcLabel(t[4].value):null),3732053477:(e,t)=>new r.IfcDocumentReference(e,t[0]?new r.IfcURIReference(t[0].value):null,t[1]?new r.IfcIdentifier(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null),3900360178:(e,t)=>new r.IfcEdge(e,new bm(t[0].value),new bm(t[1].value)),476780140:(e,t)=>new r.IfcEdgeCurve(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value),new r.IfcBoolean(t[3].value)),211053100:(e,t)=>new r.IfcEventTime(e,t[0]?new r.IfcLabel(t[0].value):null,t[1],t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcDateTime(t[3].value):null,t[4]?new r.IfcDateTime(t[4].value):null,t[5]?new r.IfcDateTime(t[5].value):null,t[6]?new r.IfcDateTime(t[6].value):null),297599258:(e,t)=>new r.IfcExtendedProperties(e,t[0]?new r.IfcIdentifier(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value)))),1437805879:(e,t)=>new r.IfcExternalReferenceRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),2556980723:(e,t)=>new r.IfcFace(e,t[0].map((e=>new bm(e.value)))),1809719519:(e,t)=>new r.IfcFaceBound(e,new bm(t[0].value),new r.IfcBoolean(t[1].value)),803316827:(e,t)=>new r.IfcFaceOuterBound(e,new bm(t[0].value),new r.IfcBoolean(t[1].value)),3008276851:(e,t)=>new r.IfcFaceSurface(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new r.IfcBoolean(t[2].value)),4219587988:(e,t)=>new r.IfcFailureConnectionCondition(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcForceMeasure(t[1].value):null,t[2]?new r.IfcForceMeasure(t[2].value):null,t[3]?new r.IfcForceMeasure(t[3].value):null,t[4]?new r.IfcForceMeasure(t[4].value):null,t[5]?new r.IfcForceMeasure(t[5].value):null,t[6]?new r.IfcForceMeasure(t[6].value):null),738692330:(e,t)=>new r.IfcFillAreaStyle(e,t[0]?new r.IfcLabel(t[0].value):null,t[1].map((e=>new bm(e.value))),t[2]?new r.IfcBoolean(t[2].value):null),3448662350:(e,t)=>new r.IfcGeometricRepresentationContext(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,new r.IfcDimensionCount(t[2].value),t[3]?new r.IfcReal(t[3].value):null,new bm(t[4].value),t[5]?new bm(t[5].value):null),2453401579:(e,t)=>new r.IfcGeometricRepresentationItem(e),4142052618:(e,t)=>new r.IfcGeometricRepresentationSubContext(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLabel(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4]?new r.IfcPositiveRatioMeasure(t[4].value):null,t[5],t[6]?new r.IfcLabel(t[6].value):null),3590301190:(e,t)=>new r.IfcGeometricSet(e,t[0].map((e=>new bm(e.value)))),178086475:(e,t)=>new r.IfcGridPlacement(e,t[0]?new bm(t[0].value):null,new bm(t[1].value),t[2]?new bm(t[2].value):null),812098782:(e,t)=>new r.IfcHalfSpaceSolid(e,new bm(t[0].value),new r.IfcBoolean(t[1].value)),3905492369:(e,t)=>new r.IfcImageTexture(e,new r.IfcBoolean(t[0].value),new r.IfcBoolean(t[1].value),t[2]?new r.IfcIdentifier(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new r.IfcIdentifier(e.value))):null,new r.IfcURIReference(t[5].value)),3570813810:(e,t)=>new r.IfcIndexedColourMap(e,new bm(t[0].value),t[1]?new r.IfcNormalisedRatioMeasure(t[1].value):null,new bm(t[2].value),t[3].map((e=>new r.IfcPositiveInteger(e.value)))),1437953363:(e,t)=>new r.IfcIndexedTextureMap(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new bm(t[2].value)),2133299955:(e,t)=>new r.IfcIndexedTriangleTextureMap(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new bm(t[2].value),t[3]?t[3].map((e=>new r.IfcPositiveInteger(e.value))):null),3741457305:(e,t)=>new r.IfcIrregularTimeSeries(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,new r.IfcDateTime(t[2].value),new r.IfcDateTime(t[3].value),t[4],t[5],t[6]?new r.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,t[8].map((e=>new bm(e.value)))),1585845231:(e,t)=>new r.IfcLagTime(e,t[0]?new r.IfcLabel(t[0].value):null,t[1],t[2]?new r.IfcLabel(t[2].value):null,_m(3,t[3]),t[4]),1402838566:(e,t)=>new r.IfcLightSource(e,t[0]?new r.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new r.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new r.IfcNormalisedRatioMeasure(t[3].value):null),125510826:(e,t)=>new r.IfcLightSourceAmbient(e,t[0]?new r.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new r.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new r.IfcNormalisedRatioMeasure(t[3].value):null),2604431987:(e,t)=>new r.IfcLightSourceDirectional(e,t[0]?new r.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new r.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new r.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value)),4266656042:(e,t)=>new r.IfcLightSourceGoniometric(e,t[0]?new r.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new r.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new r.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),t[5]?new bm(t[5].value):null,new r.IfcThermodynamicTemperatureMeasure(t[6].value),new r.IfcLuminousFluxMeasure(t[7].value),t[8],new bm(t[9].value)),1520743889:(e,t)=>new r.IfcLightSourcePositional(e,t[0]?new r.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new r.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new r.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcReal(t[6].value),new r.IfcReal(t[7].value),new r.IfcReal(t[8].value)),3422422726:(e,t)=>new r.IfcLightSourceSpot(e,t[0]?new r.IfcLabel(t[0].value):null,new bm(t[1].value),t[2]?new r.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new r.IfcNormalisedRatioMeasure(t[3].value):null,new bm(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcReal(t[6].value),new r.IfcReal(t[7].value),new r.IfcReal(t[8].value),new bm(t[9].value),t[10]?new r.IfcReal(t[10].value):null,new r.IfcPositivePlaneAngleMeasure(t[11].value),new r.IfcPositivePlaneAngleMeasure(t[12].value)),388784114:(e,t)=>new r.IfcLinearPlacement(e,t[0]?new bm(t[0].value):null,new bm(t[1].value),t[2]?new bm(t[2].value):null),2624227202:(e,t)=>new r.IfcLocalPlacement(e,t[0]?new bm(t[0].value):null,new bm(t[1].value)),1008929658:(e,t)=>new r.IfcLoop(e),2347385850:(e,t)=>new r.IfcMappedItem(e,new bm(t[0].value),new bm(t[1].value)),1838606355:(e,t)=>new r.IfcMaterial(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null),3708119e3:(e,t)=>new r.IfcMaterialConstituent(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),t[3]?new r.IfcNormalisedRatioMeasure(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null),2852063980:(e,t)=>new r.IfcMaterialConstituentSet(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2]?t[2].map((e=>new bm(e.value))):null),2022407955:(e,t)=>new r.IfcMaterialDefinitionRepresentation(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),1303795690:(e,t)=>new r.IfcMaterialLayerSetUsage(e,new bm(t[0].value),t[1],t[2],new r.IfcLengthMeasure(t[3].value),t[4]?new r.IfcPositiveLengthMeasure(t[4].value):null),3079605661:(e,t)=>new r.IfcMaterialProfileSetUsage(e,new bm(t[0].value),t[1]?new r.IfcCardinalPointReference(t[1].value):null,t[2]?new r.IfcPositiveLengthMeasure(t[2].value):null),3404854881:(e,t)=>new r.IfcMaterialProfileSetUsageTapering(e,new bm(t[0].value),t[1]?new r.IfcCardinalPointReference(t[1].value):null,t[2]?new r.IfcPositiveLengthMeasure(t[2].value):null,new bm(t[3].value),t[4]?new r.IfcCardinalPointReference(t[4].value):null),3265635763:(e,t)=>new r.IfcMaterialProperties(e,t[0]?new r.IfcIdentifier(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),853536259:(e,t)=>new r.IfcMaterialRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value))),t[4]?new r.IfcLabel(t[4].value):null),2998442950:(e,t)=>new r.IfcMirroredProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4]?new r.IfcLabel(t[4].value):null),219451334:(e,t)=>new r.IfcObjectDefinition(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),182550632:(e,t)=>new r.IfcOpenCrossProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,new r.IfcBoolean(t[2].value),t[3].map((e=>new r.IfcNonNegativeLengthMeasure(e.value))),t[4].map((e=>new r.IfcPlaneAngleMeasure(e.value))),t[5]?t[5].map((e=>new r.IfcLabel(e.value))):null,t[6]?new bm(t[6].value):null),2665983363:(e,t)=>new r.IfcOpenShell(e,t[0].map((e=>new bm(e.value)))),1411181986:(e,t)=>new r.IfcOrganizationRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),1029017970:(e,t)=>new r.IfcOrientedEdge(e,new bm(t[0].value),new bm(t[1].value),new r.IfcBoolean(t[2].value)),2529465313:(e,t)=>new r.IfcParameterizedProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null),2519244187:(e,t)=>new r.IfcPath(e,t[0].map((e=>new bm(e.value)))),3021840470:(e,t)=>new r.IfcPhysicalComplexQuantity(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new r.IfcLabel(t[3].value),t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null),597895409:(e,t)=>new r.IfcPixelTexture(e,new r.IfcBoolean(t[0].value),new r.IfcBoolean(t[1].value),t[2]?new r.IfcIdentifier(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?t[4].map((e=>new r.IfcIdentifier(e.value))):null,new r.IfcInteger(t[5].value),new r.IfcInteger(t[6].value),new r.IfcInteger(t[7].value),t[8].map((e=>new r.IfcBinary(e.value)))),2004835150:(e,t)=>new r.IfcPlacement(e,new bm(t[0].value)),1663979128:(e,t)=>new r.IfcPlanarExtent(e,new r.IfcLengthMeasure(t[0].value),new r.IfcLengthMeasure(t[1].value)),2067069095:(e,t)=>new r.IfcPoint(e),2165702409:(e,t)=>new r.IfcPointByDistanceExpression(e,_m(3,t[0]),t[1]?new r.IfcLengthMeasure(t[1].value):null,t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null,new bm(t[4].value)),4022376103:(e,t)=>new r.IfcPointOnCurve(e,new bm(t[0].value),new r.IfcParameterValue(t[1].value)),1423911732:(e,t)=>new r.IfcPointOnSurface(e,new bm(t[0].value),new r.IfcParameterValue(t[1].value),new r.IfcParameterValue(t[2].value)),2924175390:(e,t)=>new r.IfcPolyLoop(e,t[0].map((e=>new bm(e.value)))),2775532180:(e,t)=>new r.IfcPolygonalBoundedHalfSpace(e,new bm(t[0].value),new r.IfcBoolean(t[1].value),new bm(t[2].value),new bm(t[3].value)),3727388367:(e,t)=>new r.IfcPreDefinedItem(e,new r.IfcLabel(t[0].value)),3778827333:(e,t)=>new r.IfcPreDefinedProperties(e),1775413392:(e,t)=>new r.IfcPreDefinedTextFont(e,new r.IfcLabel(t[0].value)),673634403:(e,t)=>new r.IfcProductDefinitionShape(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value)))),2802850158:(e,t)=>new r.IfcProfileProperties(e,t[0]?new r.IfcIdentifier(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),2598011224:(e,t)=>new r.IfcProperty(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null),1680319473:(e,t)=>new r.IfcPropertyDefinition(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),148025276:(e,t)=>new r.IfcPropertyDependencyRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),new bm(t[3].value),t[4]?new r.IfcText(t[4].value):null),3357820518:(e,t)=>new r.IfcPropertySetDefinition(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),1482703590:(e,t)=>new r.IfcPropertyTemplateDefinition(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),2090586900:(e,t)=>new r.IfcQuantitySet(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),3615266464:(e,t)=>new r.IfcRectangleProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value)),3413951693:(e,t)=>new r.IfcRegularTimeSeries(e,new r.IfcLabel(t[0].value),t[1]?new r.IfcText(t[1].value):null,new r.IfcDateTime(t[2].value),new r.IfcDateTime(t[3].value),t[4],t[5],t[6]?new r.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,new r.IfcTimeMeasure(t[8].value),t[9].map((e=>new bm(e.value)))),1580146022:(e,t)=>new r.IfcReinforcementBarProperties(e,new r.IfcAreaMeasure(t[0].value),new r.IfcLabel(t[1].value),t[2],t[3]?new r.IfcLengthMeasure(t[3].value):null,t[4]?new r.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new r.IfcCountMeasure(t[5].value):null),478536968:(e,t)=>new r.IfcRelationship(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),2943643501:(e,t)=>new r.IfcResourceApprovalRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,t[2].map((e=>new bm(e.value))),new bm(t[3].value)),1608871552:(e,t)=>new r.IfcResourceConstraintRelationship(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcText(t[1].value):null,new bm(t[2].value),t[3].map((e=>new bm(e.value)))),1042787934:(e,t)=>new r.IfcResourceTime(e,t[0]?new r.IfcLabel(t[0].value):null,t[1],t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcDuration(t[3].value):null,t[4]?new r.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new r.IfcDateTime(t[5].value):null,t[6]?new r.IfcDateTime(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcDuration(t[8].value):null,t[9]?new r.IfcBoolean(t[9].value):null,t[10]?new r.IfcDateTime(t[10].value):null,t[11]?new r.IfcDuration(t[11].value):null,t[12]?new r.IfcPositiveRatioMeasure(t[12].value):null,t[13]?new r.IfcDateTime(t[13].value):null,t[14]?new r.IfcDateTime(t[14].value):null,t[15]?new r.IfcDuration(t[15].value):null,t[16]?new r.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new r.IfcPositiveRatioMeasure(t[17].value):null),2778083089:(e,t)=>new r.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value)),2042790032:(e,t)=>new r.IfcSectionProperties(e,t[0],new bm(t[1].value),t[2]?new bm(t[2].value):null),4165799628:(e,t)=>new r.IfcSectionReinforcementProperties(e,new r.IfcLengthMeasure(t[0].value),new r.IfcLengthMeasure(t[1].value),t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3],new bm(t[4].value),t[5].map((e=>new bm(e.value)))),1509187699:(e,t)=>new r.IfcSectionedSpine(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2].map((e=>new bm(e.value)))),823603102:(e,t)=>new r.IfcSegment(e,t[0]),4124623270:(e,t)=>new r.IfcShellBasedSurfaceModel(e,t[0].map((e=>new bm(e.value)))),3692461612:(e,t)=>new r.IfcSimpleProperty(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null),2609359061:(e,t)=>new r.IfcSlippageConnectionCondition(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLengthMeasure(t[1].value):null,t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null),723233188:(e,t)=>new r.IfcSolidModel(e),1595516126:(e,t)=>new r.IfcStructuralLoadLinearForce(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLinearForceMeasure(t[1].value):null,t[2]?new r.IfcLinearForceMeasure(t[2].value):null,t[3]?new r.IfcLinearForceMeasure(t[3].value):null,t[4]?new r.IfcLinearMomentMeasure(t[4].value):null,t[5]?new r.IfcLinearMomentMeasure(t[5].value):null,t[6]?new r.IfcLinearMomentMeasure(t[6].value):null),2668620305:(e,t)=>new r.IfcStructuralLoadPlanarForce(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcPlanarForceMeasure(t[1].value):null,t[2]?new r.IfcPlanarForceMeasure(t[2].value):null,t[3]?new r.IfcPlanarForceMeasure(t[3].value):null),2473145415:(e,t)=>new r.IfcStructuralLoadSingleDisplacement(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLengthMeasure(t[1].value):null,t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null,t[4]?new r.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new r.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new r.IfcPlaneAngleMeasure(t[6].value):null),1973038258:(e,t)=>new r.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcLengthMeasure(t[1].value):null,t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null,t[4]?new r.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new r.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new r.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new r.IfcCurvatureMeasure(t[7].value):null),1597423693:(e,t)=>new r.IfcStructuralLoadSingleForce(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcForceMeasure(t[1].value):null,t[2]?new r.IfcForceMeasure(t[2].value):null,t[3]?new r.IfcForceMeasure(t[3].value):null,t[4]?new r.IfcTorqueMeasure(t[4].value):null,t[5]?new r.IfcTorqueMeasure(t[5].value):null,t[6]?new r.IfcTorqueMeasure(t[6].value):null),1190533807:(e,t)=>new r.IfcStructuralLoadSingleForceWarping(e,t[0]?new r.IfcLabel(t[0].value):null,t[1]?new r.IfcForceMeasure(t[1].value):null,t[2]?new r.IfcForceMeasure(t[2].value):null,t[3]?new r.IfcForceMeasure(t[3].value):null,t[4]?new r.IfcTorqueMeasure(t[4].value):null,t[5]?new r.IfcTorqueMeasure(t[5].value):null,t[6]?new r.IfcTorqueMeasure(t[6].value):null,t[7]?new r.IfcWarpingMomentMeasure(t[7].value):null),2233826070:(e,t)=>new r.IfcSubedge(e,new bm(t[0].value),new bm(t[1].value),new bm(t[2].value)),2513912981:(e,t)=>new r.IfcSurface(e),1878645084:(e,t)=>new r.IfcSurfaceStyleRendering(e,new bm(t[0].value),t[1]?new r.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?_m(3,t[7]):null,t[8]),2247615214:(e,t)=>new r.IfcSweptAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),1260650574:(e,t)=>new r.IfcSweptDiskSolid(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),t[2]?new r.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new r.IfcParameterValue(t[3].value):null,t[4]?new r.IfcParameterValue(t[4].value):null),1096409881:(e,t)=>new r.IfcSweptDiskSolidPolygonal(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),t[2]?new r.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new r.IfcParameterValue(t[3].value):null,t[4]?new r.IfcParameterValue(t[4].value):null,t[5]?new r.IfcNonNegativeLengthMeasure(t[5].value):null),230924584:(e,t)=>new r.IfcSweptSurface(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),3071757647:(e,t)=>new r.IfcTShapeProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcPositiveLengthMeasure(t[6].value),t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new r.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new r.IfcNonNegativeLengthMeasure(t[9].value):null,t[10]?new r.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new r.IfcPlaneAngleMeasure(t[11].value):null),901063453:(e,t)=>new r.IfcTessellatedItem(e),4282788508:(e,t)=>new r.IfcTextLiteral(e,new r.IfcPresentableText(t[0].value),new bm(t[1].value),t[2]),3124975700:(e,t)=>new r.IfcTextLiteralWithExtent(e,new r.IfcPresentableText(t[0].value),new bm(t[1].value),t[2],new bm(t[3].value),new r.IfcBoxAlignment(t[4].value)),1983826977:(e,t)=>new r.IfcTextStyleFontModel(e,new r.IfcLabel(t[0].value),t[1].map((e=>new r.IfcTextFontName(e.value))),t[2]?new r.IfcFontStyle(t[2].value):null,t[3]?new r.IfcFontVariant(t[3].value):null,t[4]?new r.IfcFontWeight(t[4].value):null,_m(3,t[5])),2715220739:(e,t)=>new r.IfcTrapeziumProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcLengthMeasure(t[6].value)),1628702193:(e,t)=>new r.IfcTypeObject(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null),3736923433:(e,t)=>new r.IfcTypeProcess(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),2347495698:(e,t)=>new r.IfcTypeProduct(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null),3698973494:(e,t)=>new r.IfcTypeResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),427810014:(e,t)=>new r.IfcUShapeProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcPositiveLengthMeasure(t[6].value),t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new r.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new r.IfcPlaneAngleMeasure(t[9].value):null),1417489154:(e,t)=>new r.IfcVector(e,new bm(t[0].value),new r.IfcLengthMeasure(t[1].value)),2759199220:(e,t)=>new r.IfcVertexLoop(e,new bm(t[0].value)),2543172580:(e,t)=>new r.IfcZShapeProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcPositiveLengthMeasure(t[6].value),t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new r.IfcNonNegativeLengthMeasure(t[8].value):null),3406155212:(e,t)=>new r.IfcAdvancedFace(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new r.IfcBoolean(t[2].value)),669184980:(e,t)=>new r.IfcAnnotationFillArea(e,new bm(t[0].value),t[1]?t[1].map((e=>new bm(e.value))):null),3207858831:(e,t)=>new r.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcPositiveLengthMeasure(t[6].value),t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null,new r.IfcPositiveLengthMeasure(t[8].value),t[9]?new r.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new r.IfcNonNegativeLengthMeasure(t[10].value):null,t[11]?new r.IfcNonNegativeLengthMeasure(t[11].value):null,t[12]?new r.IfcPlaneAngleMeasure(t[12].value):null,t[13]?new r.IfcNonNegativeLengthMeasure(t[13].value):null,t[14]?new r.IfcPlaneAngleMeasure(t[14].value):null),4261334040:(e,t)=>new r.IfcAxis1Placement(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),3125803723:(e,t)=>new r.IfcAxis2Placement2D(e,new bm(t[0].value),t[1]?new bm(t[1].value):null),2740243338:(e,t)=>new r.IfcAxis2Placement3D(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new bm(t[2].value):null),3425423356:(e,t)=>new r.IfcAxis2PlacementLinear(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new bm(t[2].value):null),2736907675:(e,t)=>new r.IfcBooleanResult(e,t[0],new bm(t[1].value),new bm(t[2].value)),4182860854:(e,t)=>new r.IfcBoundedSurface(e),2581212453:(e,t)=>new r.IfcBoundingBox(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),new r.IfcPositiveLengthMeasure(t[2].value),new r.IfcPositiveLengthMeasure(t[3].value)),2713105998:(e,t)=>new r.IfcBoxedHalfSpace(e,new bm(t[0].value),new r.IfcBoolean(t[1].value),new bm(t[2].value)),2898889636:(e,t)=>new r.IfcCShapeProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcPositiveLengthMeasure(t[6].value),t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null),1123145078:(e,t)=>new r.IfcCartesianPoint(e,t[0].map((e=>new r.IfcLengthMeasure(e.value)))),574549367:(e,t)=>new r.IfcCartesianPointList(e),1675464909:(e,t)=>new r.IfcCartesianPointList2D(e,t[0].map((e=>new r.IfcLengthMeasure(e.value))),t[1]?t[1].map((e=>new r.IfcLabel(e.value))):null),2059837836:(e,t)=>new r.IfcCartesianPointList3D(e,t[0].map((e=>new r.IfcLengthMeasure(e.value))),t[1]?t[1].map((e=>new r.IfcLabel(e.value))):null),59481748:(e,t)=>new r.IfcCartesianTransformationOperator(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new r.IfcReal(t[3].value):null),3749851601:(e,t)=>new r.IfcCartesianTransformationOperator2D(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new r.IfcReal(t[3].value):null),3486308946:(e,t)=>new r.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new r.IfcReal(t[3].value):null,t[4]?new r.IfcReal(t[4].value):null),3331915920:(e,t)=>new r.IfcCartesianTransformationOperator3D(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new r.IfcReal(t[3].value):null,t[4]?new bm(t[4].value):null),1416205885:(e,t)=>new r.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new bm(t[0].value):null,t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?new r.IfcReal(t[3].value):null,t[4]?new bm(t[4].value):null,t[5]?new r.IfcReal(t[5].value):null,t[6]?new r.IfcReal(t[6].value):null),1383045692:(e,t)=>new r.IfcCircleProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value)),2205249479:(e,t)=>new r.IfcClosedShell(e,t[0].map((e=>new bm(e.value)))),776857604:(e,t)=>new r.IfcColourRgb(e,t[0]?new r.IfcLabel(t[0].value):null,new r.IfcNormalisedRatioMeasure(t[1].value),new r.IfcNormalisedRatioMeasure(t[2].value),new r.IfcNormalisedRatioMeasure(t[3].value)),2542286263:(e,t)=>new r.IfcComplexProperty(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null,new r.IfcIdentifier(t[2].value),t[3].map((e=>new bm(e.value)))),2485617015:(e,t)=>new r.IfcCompositeCurveSegment(e,t[0],new r.IfcBoolean(t[1].value),new bm(t[2].value)),2574617495:(e,t)=>new r.IfcConstructionResourceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null),3419103109:(e,t)=>new r.IfcContext(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new bm(t[8].value):null),1815067380:(e,t)=>new r.IfcCrewResourceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),2506170314:(e,t)=>new r.IfcCsgPrimitive3D(e,new bm(t[0].value)),2147822146:(e,t)=>new r.IfcCsgSolid(e,new bm(t[0].value)),2601014836:(e,t)=>new r.IfcCurve(e),2827736869:(e,t)=>new r.IfcCurveBoundedPlane(e,new bm(t[0].value),new bm(t[1].value),t[2]?t[2].map((e=>new bm(e.value))):null),2629017746:(e,t)=>new r.IfcCurveBoundedSurface(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),new r.IfcBoolean(t[2].value)),4212018352:(e,t)=>new r.IfcCurveSegment(e,t[0],new bm(t[1].value),_m(3,t[2]),_m(3,t[3]),new bm(t[4].value)),32440307:(e,t)=>new r.IfcDirection(e,t[0].map((e=>new r.IfcReal(e.value)))),593015953:(e,t)=>new r.IfcDirectrixCurveSweptAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?_m(3,t[3]):null,t[4]?_m(3,t[4]):null),1472233963:(e,t)=>new r.IfcEdgeLoop(e,t[0].map((e=>new bm(e.value)))),1883228015:(e,t)=>new r.IfcElementQuantity(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5].map((e=>new bm(e.value)))),339256511:(e,t)=>new r.IfcElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),2777663545:(e,t)=>new r.IfcElementarySurface(e,new bm(t[0].value)),2835456948:(e,t)=>new r.IfcEllipseProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value)),4024345920:(e,t)=>new r.IfcEventType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new r.IfcLabel(t[11].value):null),477187591:(e,t)=>new r.IfcExtrudedAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new r.IfcPositiveLengthMeasure(t[3].value)),2804161546:(e,t)=>new r.IfcExtrudedAreaSolidTapered(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new r.IfcPositiveLengthMeasure(t[3].value),new bm(t[4].value)),2047409740:(e,t)=>new r.IfcFaceBasedSurfaceModel(e,t[0].map((e=>new bm(e.value)))),374418227:(e,t)=>new r.IfcFillAreaStyleHatching(e,new bm(t[0].value),new bm(t[1].value),t[2]?new bm(t[2].value):null,t[3]?new bm(t[3].value):null,new r.IfcPlaneAngleMeasure(t[4].value)),315944413:(e,t)=>new r.IfcFillAreaStyleTiles(e,t[0].map((e=>new bm(e.value))),t[1].map((e=>new bm(e.value))),new r.IfcPositiveRatioMeasure(t[2].value)),2652556860:(e,t)=>new r.IfcFixedReferenceSweptAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?_m(3,t[3]):null,t[4]?_m(3,t[4]):null,new bm(t[5].value)),4238390223:(e,t)=>new r.IfcFurnishingElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),1268542332:(e,t)=>new r.IfcFurnitureType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]),4095422895:(e,t)=>new r.IfcGeographicElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),987898635:(e,t)=>new r.IfcGeometricCurveSet(e,t[0].map((e=>new bm(e.value)))),1484403080:(e,t)=>new r.IfcIShapeProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),new r.IfcPositiveLengthMeasure(t[6].value),t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new r.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new r.IfcPlaneAngleMeasure(t[9].value):null),178912537:(e,t)=>new r.IfcIndexedPolygonalFace(e,t[0].map((e=>new r.IfcPositiveInteger(e.value)))),2294589976:(e,t)=>new r.IfcIndexedPolygonalFaceWithVoids(e,t[0].map((e=>new r.IfcPositiveInteger(e.value))),t[1].map((e=>new r.IfcPositiveInteger(e.value)))),3465909080:(e,t)=>new r.IfcIndexedPolygonalTextureMap(e,t[0].map((e=>new bm(e.value))),new bm(t[1].value),new bm(t[2].value),t[3].map((e=>new bm(e.value)))),572779678:(e,t)=>new r.IfcLShapeProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),t[4]?new r.IfcPositiveLengthMeasure(t[4].value):null,new r.IfcPositiveLengthMeasure(t[5].value),t[6]?new r.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new r.IfcPlaneAngleMeasure(t[8].value):null),428585644:(e,t)=>new r.IfcLaborResourceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),1281925730:(e,t)=>new r.IfcLine(e,new bm(t[0].value),new bm(t[1].value)),1425443689:(e,t)=>new r.IfcManifoldSolidBrep(e,new bm(t[0].value)),3888040117:(e,t)=>new r.IfcObject(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null),590820931:(e,t)=>new r.IfcOffsetCurve(e,new bm(t[0].value)),3388369263:(e,t)=>new r.IfcOffsetCurve2D(e,new bm(t[0].value),new r.IfcLengthMeasure(t[1].value),new r.IfcLogical(t[2].value)),3505215534:(e,t)=>new r.IfcOffsetCurve3D(e,new bm(t[0].value),new r.IfcLengthMeasure(t[1].value),new r.IfcLogical(t[2].value),new bm(t[3].value)),2485787929:(e,t)=>new r.IfcOffsetCurveByDistances(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]?new r.IfcLabel(t[2].value):null),1682466193:(e,t)=>new r.IfcPcurve(e,new bm(t[0].value),new bm(t[1].value)),603570806:(e,t)=>new r.IfcPlanarBox(e,new r.IfcLengthMeasure(t[0].value),new r.IfcLengthMeasure(t[1].value),new bm(t[2].value)),220341763:(e,t)=>new r.IfcPlane(e,new bm(t[0].value)),3381221214:(e,t)=>new r.IfcPolynomialCurve(e,new bm(t[0].value),t[1]?t[1].map((e=>new r.IfcReal(e.value))):null,t[2]?t[2].map((e=>new r.IfcReal(e.value))):null,t[3]?t[3].map((e=>new r.IfcReal(e.value))):null),759155922:(e,t)=>new r.IfcPreDefinedColour(e,new r.IfcLabel(t[0].value)),2559016684:(e,t)=>new r.IfcPreDefinedCurveFont(e,new r.IfcLabel(t[0].value)),3967405729:(e,t)=>new r.IfcPreDefinedPropertySet(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),569719735:(e,t)=>new r.IfcProcedureType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2945172077:(e,t)=>new r.IfcProcess(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null),4208778838:(e,t)=>new r.IfcProduct(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),103090709:(e,t)=>new r.IfcProject(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new bm(t[8].value):null),653396225:(e,t)=>new r.IfcProjectLibrary(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new bm(t[8].value):null),871118103:(e,t)=>new r.IfcPropertyBoundedValue(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?_m(3,t[2]):null,t[3]?_m(3,t[3]):null,t[4]?new bm(t[4].value):null,t[5]?_m(3,t[5]):null),4166981789:(e,t)=>new r.IfcPropertyEnumeratedValue(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?t[2].map((e=>_m(3,e))):null,t[3]?new bm(t[3].value):null),2752243245:(e,t)=>new r.IfcPropertyListValue(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?t[2].map((e=>_m(3,e))):null,t[3]?new bm(t[3].value):null),941946838:(e,t)=>new r.IfcPropertyReferenceValue(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?new r.IfcText(t[2].value):null,t[3]?new bm(t[3].value):null),1451395588:(e,t)=>new r.IfcPropertySet(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value)))),492091185:(e,t)=>new r.IfcPropertySetTemplate(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4],t[5]?new r.IfcIdentifier(t[5].value):null,t[6].map((e=>new bm(e.value)))),3650150729:(e,t)=>new r.IfcPropertySingleValue(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?_m(3,t[2]):null,t[3]?new bm(t[3].value):null),110355661:(e,t)=>new r.IfcPropertyTableValue(e,new r.IfcIdentifier(t[0].value),t[1]?new r.IfcText(t[1].value):null,t[2]?t[2].map((e=>_m(3,e))):null,t[3]?t[3].map((e=>_m(3,e))):null,t[4]?new r.IfcText(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]),3521284610:(e,t)=>new r.IfcPropertyTemplate(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),2770003689:(e,t)=>new r.IfcRectangleHollowProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value),new r.IfcPositiveLengthMeasure(t[5].value),t[6]?new r.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null),2798486643:(e,t)=>new r.IfcRectangularPyramid(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),new r.IfcPositiveLengthMeasure(t[2].value),new r.IfcPositiveLengthMeasure(t[3].value)),3454111270:(e,t)=>new r.IfcRectangularTrimmedSurface(e,new bm(t[0].value),new r.IfcParameterValue(t[1].value),new r.IfcParameterValue(t[2].value),new r.IfcParameterValue(t[3].value),new r.IfcParameterValue(t[4].value),new r.IfcBoolean(t[5].value),new r.IfcBoolean(t[6].value)),3765753017:(e,t)=>new r.IfcReinforcementDefinitionProperties(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5].map((e=>new bm(e.value)))),3939117080:(e,t)=>new r.IfcRelAssigns(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5]),1683148259:(e,t)=>new r.IfcRelAssignsToActor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),t[7]?new bm(t[7].value):null),2495723537:(e,t)=>new r.IfcRelAssignsToControl(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),1307041759:(e,t)=>new r.IfcRelAssignsToGroup(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),1027710054:(e,t)=>new r.IfcRelAssignsToGroupByFactor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),new r.IfcRatioMeasure(t[7].value)),4278684876:(e,t)=>new r.IfcRelAssignsToProcess(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value),t[7]?new bm(t[7].value):null),2857406711:(e,t)=>new r.IfcRelAssignsToProduct(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),205026976:(e,t)=>new r.IfcRelAssignsToResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5],new bm(t[6].value)),1865459582:(e,t)=>new r.IfcRelAssociates(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value)))),4095574036:(e,t)=>new r.IfcRelAssociatesApproval(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),919958153:(e,t)=>new r.IfcRelAssociatesClassification(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),2728634034:(e,t)=>new r.IfcRelAssociatesConstraint(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),t[5]?new r.IfcLabel(t[5].value):null,new bm(t[6].value)),982818633:(e,t)=>new r.IfcRelAssociatesDocument(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),3840914261:(e,t)=>new r.IfcRelAssociatesLibrary(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),2655215786:(e,t)=>new r.IfcRelAssociatesMaterial(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),1033248425:(e,t)=>new r.IfcRelAssociatesProfileDef(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),826625072:(e,t)=>new r.IfcRelConnects(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),1204542856:(e,t)=>new r.IfcRelConnectsElements(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value)),3945020480:(e,t)=>new r.IfcRelConnectsPathElements(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value),t[7]?t[7].map((e=>new r.IfcInteger(e.value))):null,t[8]?t[8].map((e=>new r.IfcInteger(e.value))):null,t[9],t[10]),4201705270:(e,t)=>new r.IfcRelConnectsPortToElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),3190031847:(e,t)=>new r.IfcRelConnectsPorts(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null),2127690289:(e,t)=>new r.IfcRelConnectsStructuralActivity(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),1638771189:(e,t)=>new r.IfcRelConnectsStructuralMember(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new r.IfcLengthMeasure(t[8].value):null,t[9]?new bm(t[9].value):null),504942748:(e,t)=>new r.IfcRelConnectsWithEccentricity(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new r.IfcLengthMeasure(t[8].value):null,t[9]?new bm(t[9].value):null,new bm(t[10].value)),3678494232:(e,t)=>new r.IfcRelConnectsWithRealizingElements(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new bm(t[4].value):null,new bm(t[5].value),new bm(t[6].value),t[7].map((e=>new bm(e.value))),t[8]?new r.IfcLabel(t[8].value):null),3242617779:(e,t)=>new r.IfcRelContainedInSpatialStructure(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),886880790:(e,t)=>new r.IfcRelCoversBldgElements(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2802773753:(e,t)=>new r.IfcRelCoversSpaces(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2565941209:(e,t)=>new r.IfcRelDeclares(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),2551354335:(e,t)=>new r.IfcRelDecomposes(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),693640335:(e,t)=>new r.IfcRelDefines(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null),1462361463:(e,t)=>new r.IfcRelDefinesByObject(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),4186316022:(e,t)=>new r.IfcRelDefinesByProperties(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),307848117:(e,t)=>new r.IfcRelDefinesByTemplate(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),781010003:(e,t)=>new r.IfcRelDefinesByType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),3940055652:(e,t)=>new r.IfcRelFillsElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),279856033:(e,t)=>new r.IfcRelFlowControlElements(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),427948657:(e,t)=>new r.IfcRelInterferesElements(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new r.IfcIdentifier(t[8].value):null,new r.IfcLogical(t[9].value)),3268803585:(e,t)=>new r.IfcRelNests(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),1441486842:(e,t)=>new r.IfcRelPositions(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),750771296:(e,t)=>new r.IfcRelProjectsElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),1245217292:(e,t)=>new r.IfcRelReferencedInSpatialStructure(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4].map((e=>new bm(e.value))),new bm(t[5].value)),4122056220:(e,t)=>new r.IfcRelSequence(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7],t[8]?new r.IfcLabel(t[8].value):null),366585022:(e,t)=>new r.IfcRelServicesBuildings(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),3451746338:(e,t)=>new r.IfcRelSpaceBoundary(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7],t[8]),3523091289:(e,t)=>new r.IfcRelSpaceBoundary1stLevel(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7],t[8],t[9]?new bm(t[9].value):null),1521410863:(e,t)=>new r.IfcRelSpaceBoundary2ndLevel(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value),t[6]?new bm(t[6].value):null,t[7],t[8],t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null),1401173127:(e,t)=>new r.IfcRelVoidsElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),new bm(t[5].value)),816062949:(e,t)=>new r.IfcReparametrisedCompositeCurveSegment(e,t[0],new r.IfcBoolean(t[1].value),new bm(t[2].value),new r.IfcParameterValue(t[3].value)),2914609552:(e,t)=>new r.IfcResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null),1856042241:(e,t)=>new r.IfcRevolvedAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new r.IfcPlaneAngleMeasure(t[3].value)),3243963512:(e,t)=>new r.IfcRevolvedAreaSolidTapered(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new r.IfcPlaneAngleMeasure(t[3].value),new bm(t[4].value)),4158566097:(e,t)=>new r.IfcRightCircularCone(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),new r.IfcPositiveLengthMeasure(t[2].value)),3626867408:(e,t)=>new r.IfcRightCircularCylinder(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),new r.IfcPositiveLengthMeasure(t[2].value)),1862484736:(e,t)=>new r.IfcSectionedSolid(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),1290935644:(e,t)=>new r.IfcSectionedSolidHorizontal(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2].map((e=>new bm(e.value)))),1356537516:(e,t)=>new r.IfcSectionedSurface(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2].map((e=>new bm(e.value)))),3663146110:(e,t)=>new r.IfcSimplePropertyTemplate(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4],t[5]?new r.IfcLabel(t[5].value):null,t[6]?new r.IfcLabel(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new r.IfcLabel(t[10].value):null,t[11]),1412071761:(e,t)=>new r.IfcSpatialElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null),710998568:(e,t)=>new r.IfcSpatialElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),2706606064:(e,t)=>new r.IfcSpatialStructureElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]),3893378262:(e,t)=>new r.IfcSpatialStructureElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),463610769:(e,t)=>new r.IfcSpatialZone(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]),2481509218:(e,t)=>new r.IfcSpatialZoneType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]?new r.IfcLabel(t[10].value):null),451544542:(e,t)=>new r.IfcSphere(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value)),4015995234:(e,t)=>new r.IfcSphericalSurface(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value)),2735484536:(e,t)=>new r.IfcSpiral(e,t[0]?new bm(t[0].value):null),3544373492:(e,t)=>new r.IfcStructuralActivity(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),3136571912:(e,t)=>new r.IfcStructuralItem(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),530289379:(e,t)=>new r.IfcStructuralMember(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),3689010777:(e,t)=>new r.IfcStructuralReaction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),3979015343:(e,t)=>new r.IfcStructuralSurfaceMember(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]?new r.IfcPositiveLengthMeasure(t[8].value):null),2218152070:(e,t)=>new r.IfcStructuralSurfaceMemberVarying(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8]?new r.IfcPositiveLengthMeasure(t[8].value):null),603775116:(e,t)=>new r.IfcStructuralSurfaceReaction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]),4095615324:(e,t)=>new r.IfcSubContractResourceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),699246055:(e,t)=>new r.IfcSurfaceCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]),2028607225:(e,t)=>new r.IfcSurfaceCurveSweptAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?_m(3,t[3]):null,t[4]?_m(3,t[4]):null,new bm(t[5].value)),2809605785:(e,t)=>new r.IfcSurfaceOfLinearExtrusion(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),new r.IfcLengthMeasure(t[3].value)),4124788165:(e,t)=>new r.IfcSurfaceOfRevolution(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value)),1580310250:(e,t)=>new r.IfcSystemFurnitureElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3473067441:(e,t)=>new r.IfcTask(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,new r.IfcBoolean(t[9].value),t[10]?new r.IfcInteger(t[10].value):null,t[11]?new bm(t[11].value):null,t[12]),3206491090:(e,t)=>new r.IfcTaskType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]?new r.IfcLabel(t[10].value):null),2387106220:(e,t)=>new r.IfcTessellatedFaceSet(e,new bm(t[0].value),t[1]?new r.IfcBoolean(t[1].value):null),782932809:(e,t)=>new r.IfcThirdOrderPolynomialSpiral(e,t[0]?new bm(t[0].value):null,new r.IfcLengthMeasure(t[1].value),t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null,t[4]?new r.IfcLengthMeasure(t[4].value):null),1935646853:(e,t)=>new r.IfcToroidalSurface(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),new r.IfcPositiveLengthMeasure(t[2].value)),3665877780:(e,t)=>new r.IfcTransportationDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),2916149573:(e,t)=>new r.IfcTriangulatedFaceSet(e,new bm(t[0].value),t[1]?new r.IfcBoolean(t[1].value):null,t[2]?t[2].map((e=>new r.IfcParameterValue(e.value))):null,t[3].map((e=>new r.IfcPositiveInteger(e.value))),t[4]?t[4].map((e=>new r.IfcPositiveInteger(e.value))):null),1229763772:(e,t)=>new r.IfcTriangulatedIrregularNetwork(e,new bm(t[0].value),t[1]?new r.IfcBoolean(t[1].value):null,t[2]?t[2].map((e=>new r.IfcParameterValue(e.value))):null,t[3].map((e=>new r.IfcPositiveInteger(e.value))),t[4]?t[4].map((e=>new r.IfcPositiveInteger(e.value))):null,t[5].map((e=>new r.IfcInteger(e.value)))),3651464721:(e,t)=>new r.IfcVehicleType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),336235671:(e,t)=>new r.IfcWindowLiningProperties(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new r.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new r.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new r.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new r.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new r.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new r.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new bm(t[12].value):null,t[13]?new r.IfcLengthMeasure(t[13].value):null,t[14]?new r.IfcLengthMeasure(t[14].value):null,t[15]?new r.IfcLengthMeasure(t[15].value):null),512836454:(e,t)=>new r.IfcWindowPanelProperties(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4],t[5],t[6]?new r.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new r.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new bm(t[8].value):null),2296667514:(e,t)=>new r.IfcActor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,new bm(t[5].value)),1635779807:(e,t)=>new r.IfcAdvancedBrep(e,new bm(t[0].value)),2603310189:(e,t)=>new r.IfcAdvancedBrepWithVoids(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),1674181508:(e,t)=>new r.IfcAnnotation(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]),2887950389:(e,t)=>new r.IfcBSplineSurface(e,new r.IfcInteger(t[0].value),new r.IfcInteger(t[1].value),t[2].map((e=>new bm(e.value))),t[3],new r.IfcLogical(t[4].value),new r.IfcLogical(t[5].value),new r.IfcLogical(t[6].value)),167062518:(e,t)=>new r.IfcBSplineSurfaceWithKnots(e,new r.IfcInteger(t[0].value),new r.IfcInteger(t[1].value),t[2].map((e=>new bm(e.value))),t[3],new r.IfcLogical(t[4].value),new r.IfcLogical(t[5].value),new r.IfcLogical(t[6].value),t[7].map((e=>new r.IfcInteger(e.value))),t[8].map((e=>new r.IfcInteger(e.value))),t[9].map((e=>new r.IfcParameterValue(e.value))),t[10].map((e=>new r.IfcParameterValue(e.value))),t[11]),1334484129:(e,t)=>new r.IfcBlock(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),new r.IfcPositiveLengthMeasure(t[2].value),new r.IfcPositiveLengthMeasure(t[3].value)),3649129432:(e,t)=>new r.IfcBooleanClippingResult(e,t[0],new bm(t[1].value),new bm(t[2].value)),1260505505:(e,t)=>new r.IfcBoundedCurve(e),3124254112:(e,t)=>new r.IfcBuildingStorey(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]?new r.IfcLengthMeasure(t[9].value):null),1626504194:(e,t)=>new r.IfcBuiltElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),2197970202:(e,t)=>new r.IfcChimneyType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2937912522:(e,t)=>new r.IfcCircleHollowProfileDef(e,t[0],t[1]?new r.IfcLabel(t[1].value):null,t[2]?new bm(t[2].value):null,new r.IfcPositiveLengthMeasure(t[3].value),new r.IfcPositiveLengthMeasure(t[4].value)),3893394355:(e,t)=>new r.IfcCivilElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),3497074424:(e,t)=>new r.IfcClothoid(e,t[0]?new bm(t[0].value):null,new r.IfcLengthMeasure(t[1].value)),300633059:(e,t)=>new r.IfcColumnType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3875453745:(e,t)=>new r.IfcComplexPropertyTemplate(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5],t[6]?t[6].map((e=>new bm(e.value))):null),3732776249:(e,t)=>new r.IfcCompositeCurve(e,t[0].map((e=>new bm(e.value))),new r.IfcLogical(t[1].value)),15328376:(e,t)=>new r.IfcCompositeCurveOnSurface(e,t[0].map((e=>new bm(e.value))),new r.IfcLogical(t[1].value)),2510884976:(e,t)=>new r.IfcConic(e,new bm(t[0].value)),2185764099:(e,t)=>new r.IfcConstructionEquipmentResourceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),4105962743:(e,t)=>new r.IfcConstructionMaterialResourceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),1525564444:(e,t)=>new r.IfcConstructionProductResourceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?new r.IfcIdentifier(t[6].value):null,t[7]?new r.IfcText(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?t[9].map((e=>new bm(e.value))):null,t[10]?new bm(t[10].value):null,t[11]),2559216714:(e,t)=>new r.IfcConstructionResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null),3293443760:(e,t)=>new r.IfcControl(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null),2000195564:(e,t)=>new r.IfcCosineSpiral(e,t[0]?new bm(t[0].value):null,new r.IfcLengthMeasure(t[1].value),t[2]?new r.IfcLengthMeasure(t[2].value):null),3895139033:(e,t)=>new r.IfcCostItem(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6],t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?t[8].map((e=>new bm(e.value))):null),1419761937:(e,t)=>new r.IfcCostSchedule(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6],t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcDateTime(t[8].value):null,t[9]?new r.IfcDateTime(t[9].value):null),4189326743:(e,t)=>new r.IfcCourseType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1916426348:(e,t)=>new r.IfcCoveringType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3295246426:(e,t)=>new r.IfcCrewResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),1457835157:(e,t)=>new r.IfcCurtainWallType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1213902940:(e,t)=>new r.IfcCylindricalSurface(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value)),1306400036:(e,t)=>new r.IfcDeepFoundationType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),4234616927:(e,t)=>new r.IfcDirectrixDerivedReferenceSweptAreaSolid(e,new bm(t[0].value),t[1]?new bm(t[1].value):null,new bm(t[2].value),t[3]?_m(3,t[3]):null,t[4]?_m(3,t[4]):null,new bm(t[5].value)),3256556792:(e,t)=>new r.IfcDistributionElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),3849074793:(e,t)=>new r.IfcDistributionFlowElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),2963535650:(e,t)=>new r.IfcDoorLiningProperties(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new r.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new r.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new r.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new r.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new r.IfcLengthMeasure(t[9].value):null,t[10]?new r.IfcLengthMeasure(t[10].value):null,t[11]?new r.IfcLengthMeasure(t[11].value):null,t[12]?new r.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new r.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new bm(t[14].value):null,t[15]?new r.IfcLengthMeasure(t[15].value):null,t[16]?new r.IfcLengthMeasure(t[16].value):null),1714330368:(e,t)=>new r.IfcDoorPanelProperties(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new r.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new bm(t[8].value):null),2323601079:(e,t)=>new r.IfcDoorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new r.IfcBoolean(t[11].value):null,t[12]?new r.IfcLabel(t[12].value):null),445594917:(e,t)=>new r.IfcDraughtingPreDefinedColour(e,new r.IfcLabel(t[0].value)),4006246654:(e,t)=>new r.IfcDraughtingPreDefinedCurveFont(e,new r.IfcLabel(t[0].value)),1758889154:(e,t)=>new r.IfcElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),4123344466:(e,t)=>new r.IfcElementAssembly(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8],t[9]),2397081782:(e,t)=>new r.IfcElementAssemblyType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1623761950:(e,t)=>new r.IfcElementComponent(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),2590856083:(e,t)=>new r.IfcElementComponentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),1704287377:(e,t)=>new r.IfcEllipse(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value),new r.IfcPositiveLengthMeasure(t[2].value)),2107101300:(e,t)=>new r.IfcEnergyConversionDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),132023988:(e,t)=>new r.IfcEngineType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3174744832:(e,t)=>new r.IfcEvaporativeCoolerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3390157468:(e,t)=>new r.IfcEvaporatorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),4148101412:(e,t)=>new r.IfcEvent(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7],t[8],t[9]?new r.IfcLabel(t[9].value):null,t[10]?new bm(t[10].value):null),2853485674:(e,t)=>new r.IfcExternalSpatialStructureElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null),807026263:(e,t)=>new r.IfcFacetedBrep(e,new bm(t[0].value)),3737207727:(e,t)=>new r.IfcFacetedBrepWithVoids(e,new bm(t[0].value),t[1].map((e=>new bm(e.value)))),24185140:(e,t)=>new r.IfcFacility(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]),1310830890:(e,t)=>new r.IfcFacilityPart(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]),4228831410:(e,t)=>new r.IfcFacilityPartCommon(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9],t[10]),647756555:(e,t)=>new r.IfcFastener(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2489546625:(e,t)=>new r.IfcFastenerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2827207264:(e,t)=>new r.IfcFeatureElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),2143335405:(e,t)=>new r.IfcFeatureElementAddition(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),1287392070:(e,t)=>new r.IfcFeatureElementSubtraction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),3907093117:(e,t)=>new r.IfcFlowControllerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),3198132628:(e,t)=>new r.IfcFlowFittingType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),3815607619:(e,t)=>new r.IfcFlowMeterType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1482959167:(e,t)=>new r.IfcFlowMovingDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),1834744321:(e,t)=>new r.IfcFlowSegmentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),1339347760:(e,t)=>new r.IfcFlowStorageDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),2297155007:(e,t)=>new r.IfcFlowTerminalType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),3009222698:(e,t)=>new r.IfcFlowTreatmentDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),1893162501:(e,t)=>new r.IfcFootingType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),263784265:(e,t)=>new r.IfcFurnishingElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),1509553395:(e,t)=>new r.IfcFurniture(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3493046030:(e,t)=>new r.IfcGeographicElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4230923436:(e,t)=>new r.IfcGeotechnicalElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),1594536857:(e,t)=>new r.IfcGeotechnicalStratum(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2898700619:(e,t)=>new r.IfcGradientCurve(e,t[0].map((e=>new bm(e.value))),new r.IfcLogical(t[1].value),new bm(t[2].value),t[3]?new bm(t[3].value):null),2706460486:(e,t)=>new r.IfcGroup(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null),1251058090:(e,t)=>new r.IfcHeatExchangerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1806887404:(e,t)=>new r.IfcHumidifierType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2568555532:(e,t)=>new r.IfcImpactProtectionDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3948183225:(e,t)=>new r.IfcImpactProtectionDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2571569899:(e,t)=>new r.IfcIndexedPolyCurve(e,new bm(t[0].value),t[1]?t[1].map((e=>_m(3,e))):null,new r.IfcLogical(t[2].value)),3946677679:(e,t)=>new r.IfcInterceptorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3113134337:(e,t)=>new r.IfcIntersectionCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]),2391368822:(e,t)=>new r.IfcInventory(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5],t[6]?new bm(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new r.IfcDate(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null),4288270099:(e,t)=>new r.IfcJunctionBoxType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),679976338:(e,t)=>new r.IfcKerbType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,new r.IfcBoolean(t[9].value)),3827777499:(e,t)=>new r.IfcLaborResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),1051575348:(e,t)=>new r.IfcLampType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1161773419:(e,t)=>new r.IfcLightFixtureType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2176059722:(e,t)=>new r.IfcLinearElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),1770583370:(e,t)=>new r.IfcLiquidTerminalType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),525669439:(e,t)=>new r.IfcMarineFacility(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]),976884017:(e,t)=>new r.IfcMarinePart(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9],t[10]),377706215:(e,t)=>new r.IfcMechanicalFastener(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new r.IfcPositiveLengthMeasure(t[9].value):null,t[10]),2108223431:(e,t)=>new r.IfcMechanicalFastenerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]?new r.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new r.IfcPositiveLengthMeasure(t[11].value):null),1114901282:(e,t)=>new r.IfcMedicalDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3181161470:(e,t)=>new r.IfcMemberType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1950438474:(e,t)=>new r.IfcMobileTelecommunicationsApplianceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),710110818:(e,t)=>new r.IfcMooringDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),977012517:(e,t)=>new r.IfcMotorConnectionType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),506776471:(e,t)=>new r.IfcNavigationElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),4143007308:(e,t)=>new r.IfcOccupant(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,new bm(t[5].value),t[6]),3588315303:(e,t)=>new r.IfcOpeningElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2837617999:(e,t)=>new r.IfcOutletType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),514975943:(e,t)=>new r.IfcPavementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2382730787:(e,t)=>new r.IfcPerformanceHistory(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,new r.IfcLabel(t[6].value),t[7]),3566463478:(e,t)=>new r.IfcPermeableCoveringProperties(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4],t[5],t[6]?new r.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new r.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new bm(t[8].value):null),3327091369:(e,t)=>new r.IfcPermit(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6],t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcText(t[8].value):null),1158309216:(e,t)=>new r.IfcPileType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),804291784:(e,t)=>new r.IfcPipeFittingType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),4231323485:(e,t)=>new r.IfcPipeSegmentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),4017108033:(e,t)=>new r.IfcPlateType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2839578677:(e,t)=>new r.IfcPolygonalFaceSet(e,new bm(t[0].value),t[1]?new r.IfcBoolean(t[1].value):null,t[2].map((e=>new bm(e.value))),t[3]?t[3].map((e=>new r.IfcPositiveInteger(e.value))):null),3724593414:(e,t)=>new r.IfcPolyline(e,t[0].map((e=>new bm(e.value)))),3740093272:(e,t)=>new r.IfcPort(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),1946335990:(e,t)=>new r.IfcPositioningElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),2744685151:(e,t)=>new r.IfcProcedure(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]),2904328755:(e,t)=>new r.IfcProjectOrder(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6],t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcText(t[8].value):null),3651124850:(e,t)=>new r.IfcProjectionElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1842657554:(e,t)=>new r.IfcProtectiveDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2250791053:(e,t)=>new r.IfcPumpType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1763565496:(e,t)=>new r.IfcRailType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2893384427:(e,t)=>new r.IfcRailingType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3992365140:(e,t)=>new r.IfcRailway(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]),1891881377:(e,t)=>new r.IfcRailwayPart(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9],t[10]),2324767716:(e,t)=>new r.IfcRampFlightType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1469900589:(e,t)=>new r.IfcRampType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),683857671:(e,t)=>new r.IfcRationalBSplineSurfaceWithKnots(e,new r.IfcInteger(t[0].value),new r.IfcInteger(t[1].value),t[2].map((e=>new bm(e.value))),t[3],new r.IfcLogical(t[4].value),new r.IfcLogical(t[5].value),new r.IfcLogical(t[6].value),t[7].map((e=>new r.IfcInteger(e.value))),t[8].map((e=>new r.IfcInteger(e.value))),t[9].map((e=>new r.IfcParameterValue(e.value))),t[10].map((e=>new r.IfcParameterValue(e.value))),t[11],t[12].map((e=>new r.IfcReal(e.value)))),4021432810:(e,t)=>new r.IfcReferent(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]),3027567501:(e,t)=>new r.IfcReinforcingElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),964333572:(e,t)=>new r.IfcReinforcingElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),2320036040:(e,t)=>new r.IfcReinforcingMesh(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?new r.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new r.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new r.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new r.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new r.IfcAreaMeasure(t[13].value):null,t[14]?new r.IfcAreaMeasure(t[14].value):null,t[15]?new r.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new r.IfcPositiveLengthMeasure(t[16].value):null,t[17]),2310774935:(e,t)=>new r.IfcReinforcingMeshType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]?new r.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new r.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new r.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new r.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new r.IfcAreaMeasure(t[14].value):null,t[15]?new r.IfcAreaMeasure(t[15].value):null,t[16]?new r.IfcPositiveLengthMeasure(t[16].value):null,t[17]?new r.IfcPositiveLengthMeasure(t[17].value):null,t[18]?new r.IfcLabel(t[18].value):null,t[19]?t[19].map((e=>_m(3,e))):null),3818125796:(e,t)=>new r.IfcRelAdheresToElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),160246688:(e,t)=>new r.IfcRelAggregates(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,new bm(t[4].value),t[5].map((e=>new bm(e.value)))),146592293:(e,t)=>new r.IfcRoad(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]),550521510:(e,t)=>new r.IfcRoadPart(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9],t[10]),2781568857:(e,t)=>new r.IfcRoofType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1768891740:(e,t)=>new r.IfcSanitaryTerminalType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2157484638:(e,t)=>new r.IfcSeamCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2]),3649235739:(e,t)=>new r.IfcSecondOrderPolynomialSpiral(e,t[0]?new bm(t[0].value):null,new r.IfcLengthMeasure(t[1].value),t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null),544395925:(e,t)=>new r.IfcSegmentedReferenceCurve(e,t[0].map((e=>new bm(e.value))),new r.IfcLogical(t[1].value),new bm(t[2].value),t[3]?new bm(t[3].value):null),1027922057:(e,t)=>new r.IfcSeventhOrderPolynomialSpiral(e,t[0]?new bm(t[0].value):null,new r.IfcLengthMeasure(t[1].value),t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null,t[4]?new r.IfcLengthMeasure(t[4].value):null,t[5]?new r.IfcLengthMeasure(t[5].value):null,t[6]?new r.IfcLengthMeasure(t[6].value):null,t[7]?new r.IfcLengthMeasure(t[7].value):null,t[8]?new r.IfcLengthMeasure(t[8].value):null),4074543187:(e,t)=>new r.IfcShadingDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),33720170:(e,t)=>new r.IfcSign(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3599934289:(e,t)=>new r.IfcSignType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1894708472:(e,t)=>new r.IfcSignalType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),42703149:(e,t)=>new r.IfcSineSpiral(e,t[0]?new bm(t[0].value):null,new r.IfcLengthMeasure(t[1].value),t[2]?new r.IfcLengthMeasure(t[2].value):null,t[3]?new r.IfcLengthMeasure(t[3].value):null),4097777520:(e,t)=>new r.IfcSite(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]?new r.IfcCompoundPlaneAngleMeasure(t[9].map((e=>e.value))):null,t[10]?new r.IfcCompoundPlaneAngleMeasure(t[10].map((e=>e.value))):null,t[11]?new r.IfcLengthMeasure(t[11].value):null,t[12]?new r.IfcLabel(t[12].value):null,t[13]?new bm(t[13].value):null),2533589738:(e,t)=>new r.IfcSlabType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1072016465:(e,t)=>new r.IfcSolarDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3856911033:(e,t)=>new r.IfcSpace(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new r.IfcLengthMeasure(t[10].value):null),1305183839:(e,t)=>new r.IfcSpaceHeaterType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3812236995:(e,t)=>new r.IfcSpaceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]?new r.IfcLabel(t[10].value):null),3112655638:(e,t)=>new r.IfcStackTerminalType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1039846685:(e,t)=>new r.IfcStairFlightType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),338393293:(e,t)=>new r.IfcStairType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),682877961:(e,t)=>new r.IfcStructuralAction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new r.IfcBoolean(t[9].value):null),1179482911:(e,t)=>new r.IfcStructuralConnection(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),1004757350:(e,t)=>new r.IfcStructuralCurveAction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new r.IfcBoolean(t[9].value):null,t[10],t[11]),4243806635:(e,t)=>new r.IfcStructuralCurveConnection(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,new bm(t[8].value)),214636428:(e,t)=>new r.IfcStructuralCurveMember(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],new bm(t[8].value)),2445595289:(e,t)=>new r.IfcStructuralCurveMemberVarying(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],new bm(t[8].value)),2757150158:(e,t)=>new r.IfcStructuralCurveReaction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]),1807405624:(e,t)=>new r.IfcStructuralLinearAction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new r.IfcBoolean(t[9].value):null,t[10],t[11]),1252848954:(e,t)=>new r.IfcStructuralLoadGroup(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new r.IfcRatioMeasure(t[8].value):null,t[9]?new r.IfcLabel(t[9].value):null),2082059205:(e,t)=>new r.IfcStructuralPointAction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new r.IfcBoolean(t[9].value):null),734778138:(e,t)=>new r.IfcStructuralPointConnection(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null),1235345126:(e,t)=>new r.IfcStructuralPointReaction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8]),2986769608:(e,t)=>new r.IfcStructuralResultGroup(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5],t[6]?new bm(t[6].value):null,new r.IfcBoolean(t[7].value)),3657597509:(e,t)=>new r.IfcStructuralSurfaceAction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new r.IfcBoolean(t[9].value):null,t[10],t[11]),1975003073:(e,t)=>new r.IfcStructuralSurfaceConnection(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null),148013059:(e,t)=>new r.IfcSubContractResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),3101698114:(e,t)=>new r.IfcSurfaceFeature(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2315554128:(e,t)=>new r.IfcSwitchingDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2254336722:(e,t)=>new r.IfcSystem(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null),413509423:(e,t)=>new r.IfcSystemFurnitureElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),5716631:(e,t)=>new r.IfcTankType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3824725483:(e,t)=>new r.IfcTendon(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]?new r.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new r.IfcAreaMeasure(t[11].value):null,t[12]?new r.IfcForceMeasure(t[12].value):null,t[13]?new r.IfcPressureMeasure(t[13].value):null,t[14]?new r.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new r.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new r.IfcPositiveLengthMeasure(t[16].value):null),2347447852:(e,t)=>new r.IfcTendonAnchor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3081323446:(e,t)=>new r.IfcTendonAnchorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3663046924:(e,t)=>new r.IfcTendonConduit(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2281632017:(e,t)=>new r.IfcTendonConduitType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2415094496:(e,t)=>new r.IfcTendonType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]?new r.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new r.IfcAreaMeasure(t[11].value):null,t[12]?new r.IfcPositiveLengthMeasure(t[12].value):null),618700268:(e,t)=>new r.IfcTrackElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1692211062:(e,t)=>new r.IfcTransformerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2097647324:(e,t)=>new r.IfcTransportElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1953115116:(e,t)=>new r.IfcTransportationDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),3593883385:(e,t)=>new r.IfcTrimmedCurve(e,new bm(t[0].value),t[1].map((e=>new bm(e.value))),t[2].map((e=>new bm(e.value))),new r.IfcBoolean(t[3].value),t[4]),1600972822:(e,t)=>new r.IfcTubeBundleType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1911125066:(e,t)=>new r.IfcUnitaryEquipmentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),728799441:(e,t)=>new r.IfcValveType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),840318589:(e,t)=>new r.IfcVehicle(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1530820697:(e,t)=>new r.IfcVibrationDamper(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3956297820:(e,t)=>new r.IfcVibrationDamperType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2391383451:(e,t)=>new r.IfcVibrationIsolator(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3313531582:(e,t)=>new r.IfcVibrationIsolatorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2769231204:(e,t)=>new r.IfcVirtualElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),926996030:(e,t)=>new r.IfcVoidingFeature(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1898987631:(e,t)=>new r.IfcWallType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1133259667:(e,t)=>new r.IfcWasteTerminalType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),4009809668:(e,t)=>new r.IfcWindowType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new r.IfcBoolean(t[11].value):null,t[12]?new r.IfcLabel(t[12].value):null),4088093105:(e,t)=>new r.IfcWorkCalendar(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]),1028945134:(e,t)=>new r.IfcWorkControl(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,new r.IfcDateTime(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?new r.IfcDuration(t[9].value):null,t[10]?new r.IfcDuration(t[10].value):null,new r.IfcDateTime(t[11].value),t[12]?new r.IfcDateTime(t[12].value):null),4218914973:(e,t)=>new r.IfcWorkPlan(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,new r.IfcDateTime(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?new r.IfcDuration(t[9].value):null,t[10]?new r.IfcDuration(t[10].value):null,new r.IfcDateTime(t[11].value),t[12]?new r.IfcDateTime(t[12].value):null,t[13]),3342526732:(e,t)=>new r.IfcWorkSchedule(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,new r.IfcDateTime(t[6].value),t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?new r.IfcDuration(t[9].value):null,t[10]?new r.IfcDuration(t[10].value):null,new r.IfcDateTime(t[11].value),t[12]?new r.IfcDateTime(t[12].value):null,t[13]),1033361043:(e,t)=>new r.IfcZone(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null),3821786052:(e,t)=>new r.IfcActionRequest(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6],t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcText(t[8].value):null),1411407467:(e,t)=>new r.IfcAirTerminalBoxType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3352864051:(e,t)=>new r.IfcAirTerminalType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1871374353:(e,t)=>new r.IfcAirToAirHeatRecoveryType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),4266260250:(e,t)=>new r.IfcAlignmentCant(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new r.IfcPositiveLengthMeasure(t[7].value)),1545765605:(e,t)=>new r.IfcAlignmentHorizontal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),317615605:(e,t)=>new r.IfcAlignmentSegment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value)),1662888072:(e,t)=>new r.IfcAlignmentVertical(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),3460190687:(e,t)=>new r.IfcAsset(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?new bm(t[8].value):null,t[9]?new bm(t[9].value):null,t[10]?new bm(t[10].value):null,t[11]?new bm(t[11].value):null,t[12]?new r.IfcDate(t[12].value):null,t[13]?new bm(t[13].value):null),1532957894:(e,t)=>new r.IfcAudioVisualApplianceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1967976161:(e,t)=>new r.IfcBSplineCurve(e,new r.IfcInteger(t[0].value),t[1].map((e=>new bm(e.value))),t[2],new r.IfcLogical(t[3].value),new r.IfcLogical(t[4].value)),2461110595:(e,t)=>new r.IfcBSplineCurveWithKnots(e,new r.IfcInteger(t[0].value),t[1].map((e=>new bm(e.value))),t[2],new r.IfcLogical(t[3].value),new r.IfcLogical(t[4].value),t[5].map((e=>new r.IfcInteger(e.value))),t[6].map((e=>new r.IfcParameterValue(e.value))),t[7]),819618141:(e,t)=>new r.IfcBeamType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3649138523:(e,t)=>new r.IfcBearingType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),231477066:(e,t)=>new r.IfcBoilerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1136057603:(e,t)=>new r.IfcBoundaryCurve(e,t[0].map((e=>new bm(e.value))),new r.IfcLogical(t[1].value)),644574406:(e,t)=>new r.IfcBridge(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]),963979645:(e,t)=>new r.IfcBridgePart(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9],t[10]),4031249490:(e,t)=>new r.IfcBuilding(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8],t[9]?new r.IfcLengthMeasure(t[9].value):null,t[10]?new r.IfcLengthMeasure(t[10].value):null,t[11]?new bm(t[11].value):null),2979338954:(e,t)=>new r.IfcBuildingElementPart(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),39481116:(e,t)=>new r.IfcBuildingElementPartType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1909888760:(e,t)=>new r.IfcBuildingElementProxyType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1177604601:(e,t)=>new r.IfcBuildingSystem(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5],t[6]?new r.IfcLabel(t[6].value):null),1876633798:(e,t)=>new r.IfcBuiltElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),3862327254:(e,t)=>new r.IfcBuiltSystem(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5],t[6]?new r.IfcLabel(t[6].value):null),2188180465:(e,t)=>new r.IfcBurnerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),395041908:(e,t)=>new r.IfcCableCarrierFittingType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3293546465:(e,t)=>new r.IfcCableCarrierSegmentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2674252688:(e,t)=>new r.IfcCableFittingType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1285652485:(e,t)=>new r.IfcCableSegmentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3203706013:(e,t)=>new r.IfcCaissonFoundationType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2951183804:(e,t)=>new r.IfcChillerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3296154744:(e,t)=>new r.IfcChimney(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2611217952:(e,t)=>new r.IfcCircle(e,new bm(t[0].value),new r.IfcPositiveLengthMeasure(t[1].value)),1677625105:(e,t)=>new r.IfcCivilElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),2301859152:(e,t)=>new r.IfcCoilType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),843113511:(e,t)=>new r.IfcColumn(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),400855858:(e,t)=>new r.IfcCommunicationsApplianceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3850581409:(e,t)=>new r.IfcCompressorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2816379211:(e,t)=>new r.IfcCondenserType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3898045240:(e,t)=>new r.IfcConstructionEquipmentResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),1060000209:(e,t)=>new r.IfcConstructionMaterialResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),488727124:(e,t)=>new r.IfcConstructionProductResource(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcIdentifier(t[5].value):null,t[6]?new r.IfcText(t[6].value):null,t[7]?new bm(t[7].value):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null,t[10]),2940368186:(e,t)=>new r.IfcConveyorSegmentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),335055490:(e,t)=>new r.IfcCooledBeamType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2954562838:(e,t)=>new r.IfcCoolingTowerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1502416096:(e,t)=>new r.IfcCourse(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1973544240:(e,t)=>new r.IfcCovering(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3495092785:(e,t)=>new r.IfcCurtainWall(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3961806047:(e,t)=>new r.IfcDamperType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3426335179:(e,t)=>new r.IfcDeepFoundation(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),1335981549:(e,t)=>new r.IfcDiscreteAccessory(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2635815018:(e,t)=>new r.IfcDiscreteAccessoryType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),479945903:(e,t)=>new r.IfcDistributionBoardType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1599208980:(e,t)=>new r.IfcDistributionChamberElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2063403501:(e,t)=>new r.IfcDistributionControlElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null),1945004755:(e,t)=>new r.IfcDistributionElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),3040386961:(e,t)=>new r.IfcDistributionFlowElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),3041715199:(e,t)=>new r.IfcDistributionPort(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7],t[8],t[9]),3205830791:(e,t)=>new r.IfcDistributionSystem(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]),395920057:(e,t)=>new r.IfcDoor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new r.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new r.IfcLabel(t[12].value):null),869906466:(e,t)=>new r.IfcDuctFittingType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3760055223:(e,t)=>new r.IfcDuctSegmentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2030761528:(e,t)=>new r.IfcDuctSilencerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3071239417:(e,t)=>new r.IfcEarthworksCut(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1077100507:(e,t)=>new r.IfcEarthworksElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),3376911765:(e,t)=>new r.IfcEarthworksFill(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),663422040:(e,t)=>new r.IfcElectricApplianceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2417008758:(e,t)=>new r.IfcElectricDistributionBoardType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3277789161:(e,t)=>new r.IfcElectricFlowStorageDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2142170206:(e,t)=>new r.IfcElectricFlowTreatmentDeviceType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1534661035:(e,t)=>new r.IfcElectricGeneratorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1217240411:(e,t)=>new r.IfcElectricMotorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),712377611:(e,t)=>new r.IfcElectricTimeControlType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1658829314:(e,t)=>new r.IfcEnergyConversionDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),2814081492:(e,t)=>new r.IfcEngine(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3747195512:(e,t)=>new r.IfcEvaporativeCooler(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),484807127:(e,t)=>new r.IfcEvaporator(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1209101575:(e,t)=>new r.IfcExternalSpatialElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]),346874300:(e,t)=>new r.IfcFanType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1810631287:(e,t)=>new r.IfcFilterType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),4222183408:(e,t)=>new r.IfcFireSuppressionTerminalType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2058353004:(e,t)=>new r.IfcFlowController(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),4278956645:(e,t)=>new r.IfcFlowFitting(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),4037862832:(e,t)=>new r.IfcFlowInstrumentType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),2188021234:(e,t)=>new r.IfcFlowMeter(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3132237377:(e,t)=>new r.IfcFlowMovingDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),987401354:(e,t)=>new r.IfcFlowSegment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),707683696:(e,t)=>new r.IfcFlowStorageDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),2223149337:(e,t)=>new r.IfcFlowTerminal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),3508470533:(e,t)=>new r.IfcFlowTreatmentDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),900683007:(e,t)=>new r.IfcFooting(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2713699986:(e,t)=>new r.IfcGeotechnicalAssembly(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),3009204131:(e,t)=>new r.IfcGrid(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7].map((e=>new bm(e.value))),t[8].map((e=>new bm(e.value))),t[9]?t[9].map((e=>new bm(e.value))):null,t[10]),3319311131:(e,t)=>new r.IfcHeatExchanger(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2068733104:(e,t)=>new r.IfcHumidifier(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4175244083:(e,t)=>new r.IfcInterceptor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2176052936:(e,t)=>new r.IfcJunctionBox(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2696325953:(e,t)=>new r.IfcKerb(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,new r.IfcBoolean(t[8].value)),76236018:(e,t)=>new r.IfcLamp(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),629592764:(e,t)=>new r.IfcLightFixture(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1154579445:(e,t)=>new r.IfcLinearPositioningElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null),1638804497:(e,t)=>new r.IfcLiquidTerminal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1437502449:(e,t)=>new r.IfcMedicalDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1073191201:(e,t)=>new r.IfcMember(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2078563270:(e,t)=>new r.IfcMobileTelecommunicationsAppliance(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),234836483:(e,t)=>new r.IfcMooringDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2474470126:(e,t)=>new r.IfcMotorConnection(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2182337498:(e,t)=>new r.IfcNavigationElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),144952367:(e,t)=>new r.IfcOuterBoundaryCurve(e,t[0].map((e=>new bm(e.value))),new r.IfcLogical(t[1].value)),3694346114:(e,t)=>new r.IfcOutlet(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1383356374:(e,t)=>new r.IfcPavement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1687234759:(e,t)=>new r.IfcPile(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8],t[9]),310824031:(e,t)=>new r.IfcPipeFitting(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3612865200:(e,t)=>new r.IfcPipeSegment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3171933400:(e,t)=>new r.IfcPlate(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),738039164:(e,t)=>new r.IfcProtectiveDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),655969474:(e,t)=>new r.IfcProtectiveDeviceTrippingUnitType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),90941305:(e,t)=>new r.IfcPump(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3290496277:(e,t)=>new r.IfcRail(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2262370178:(e,t)=>new r.IfcRailing(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3024970846:(e,t)=>new r.IfcRamp(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3283111854:(e,t)=>new r.IfcRampFlight(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1232101972:(e,t)=>new r.IfcRationalBSplineCurveWithKnots(e,new r.IfcInteger(t[0].value),t[1].map((e=>new bm(e.value))),t[2],new r.IfcLogical(t[3].value),new r.IfcLogical(t[4].value),t[5].map((e=>new r.IfcInteger(e.value))),t[6].map((e=>new r.IfcParameterValue(e.value))),t[7],t[8].map((e=>new r.IfcReal(e.value)))),3798194928:(e,t)=>new r.IfcReinforcedSoil(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),979691226:(e,t)=>new r.IfcReinforcingBar(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]?new r.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new r.IfcAreaMeasure(t[10].value):null,t[11]?new r.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13]),2572171363:(e,t)=>new r.IfcReinforcingBarType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9],t[10]?new r.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new r.IfcAreaMeasure(t[11].value):null,t[12]?new r.IfcPositiveLengthMeasure(t[12].value):null,t[13],t[14]?new r.IfcLabel(t[14].value):null,t[15]?t[15].map((e=>_m(3,e))):null),2016517767:(e,t)=>new r.IfcRoof(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3053780830:(e,t)=>new r.IfcSanitaryTerminal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1783015770:(e,t)=>new r.IfcSensorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1329646415:(e,t)=>new r.IfcShadingDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),991950508:(e,t)=>new r.IfcSignal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1529196076:(e,t)=>new r.IfcSlab(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3420628829:(e,t)=>new r.IfcSolarDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1999602285:(e,t)=>new r.IfcSpaceHeater(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1404847402:(e,t)=>new r.IfcStackTerminal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),331165859:(e,t)=>new r.IfcStair(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4252922144:(e,t)=>new r.IfcStairFlight(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcInteger(t[8].value):null,t[9]?new r.IfcInteger(t[9].value):null,t[10]?new r.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new r.IfcPositiveLengthMeasure(t[11].value):null,t[12]),2515109513:(e,t)=>new r.IfcStructuralAnalysisModel(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5],t[6]?new bm(t[6].value):null,t[7]?t[7].map((e=>new bm(e.value))):null,t[8]?t[8].map((e=>new bm(e.value))):null,t[9]?new bm(t[9].value):null),385403989:(e,t)=>new r.IfcStructuralLoadCase(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new r.IfcRatioMeasure(t[8].value):null,t[9]?new r.IfcLabel(t[9].value):null,t[10]?t[10].map((e=>new r.IfcRatioMeasure(e.value))):null),1621171031:(e,t)=>new r.IfcStructuralPlanarAction(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,new bm(t[7].value),t[8],t[9]?new r.IfcBoolean(t[9].value):null,t[10],t[11]),1162798199:(e,t)=>new r.IfcSwitchingDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),812556717:(e,t)=>new r.IfcTank(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3425753595:(e,t)=>new r.IfcTrackElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3825984169:(e,t)=>new r.IfcTransformer(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1620046519:(e,t)=>new r.IfcTransportElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3026737570:(e,t)=>new r.IfcTubeBundle(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3179687236:(e,t)=>new r.IfcUnitaryControlElementType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),4292641817:(e,t)=>new r.IfcUnitaryEquipment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4207607924:(e,t)=>new r.IfcValve(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2391406946:(e,t)=>new r.IfcWall(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3512223829:(e,t)=>new r.IfcWallStandardCase(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4237592921:(e,t)=>new r.IfcWasteTerminal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3304561284:(e,t)=>new r.IfcWindow(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]?new r.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new r.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new r.IfcLabel(t[12].value):null),2874132201:(e,t)=>new r.IfcActuatorType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),1634111441:(e,t)=>new r.IfcAirTerminal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),177149247:(e,t)=>new r.IfcAirTerminalBox(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2056796094:(e,t)=>new r.IfcAirToAirHeatRecovery(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3001207471:(e,t)=>new r.IfcAlarmType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),325726236:(e,t)=>new r.IfcAlignment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]),277319702:(e,t)=>new r.IfcAudioVisualAppliance(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),753842376:(e,t)=>new r.IfcBeam(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4196446775:(e,t)=>new r.IfcBearing(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),32344328:(e,t)=>new r.IfcBoiler(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3314249567:(e,t)=>new r.IfcBorehole(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),1095909175:(e,t)=>new r.IfcBuildingElementProxy(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2938176219:(e,t)=>new r.IfcBurner(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),635142910:(e,t)=>new r.IfcCableCarrierFitting(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3758799889:(e,t)=>new r.IfcCableCarrierSegment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1051757585:(e,t)=>new r.IfcCableFitting(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4217484030:(e,t)=>new r.IfcCableSegment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3999819293:(e,t)=>new r.IfcCaissonFoundation(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3902619387:(e,t)=>new r.IfcChiller(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),639361253:(e,t)=>new r.IfcCoil(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3221913625:(e,t)=>new r.IfcCommunicationsAppliance(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3571504051:(e,t)=>new r.IfcCompressor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2272882330:(e,t)=>new r.IfcCondenser(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),578613899:(e,t)=>new r.IfcControllerType(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcIdentifier(t[4].value):null,t[5]?t[5].map((e=>new bm(e.value))):null,t[6]?t[6].map((e=>new bm(e.value))):null,t[7]?new r.IfcLabel(t[7].value):null,t[8]?new r.IfcLabel(t[8].value):null,t[9]),3460952963:(e,t)=>new r.IfcConveyorSegment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4136498852:(e,t)=>new r.IfcCooledBeam(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3640358203:(e,t)=>new r.IfcCoolingTower(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4074379575:(e,t)=>new r.IfcDamper(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3693000487:(e,t)=>new r.IfcDistributionBoard(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1052013943:(e,t)=>new r.IfcDistributionChamberElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),562808652:(e,t)=>new r.IfcDistributionCircuit(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new r.IfcLabel(t[5].value):null,t[6]),1062813311:(e,t)=>new r.IfcDistributionControlElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),342316401:(e,t)=>new r.IfcDuctFitting(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3518393246:(e,t)=>new r.IfcDuctSegment(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1360408905:(e,t)=>new r.IfcDuctSilencer(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1904799276:(e,t)=>new r.IfcElectricAppliance(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),862014818:(e,t)=>new r.IfcElectricDistributionBoard(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3310460725:(e,t)=>new r.IfcElectricFlowStorageDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),24726584:(e,t)=>new r.IfcElectricFlowTreatmentDevice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),264262732:(e,t)=>new r.IfcElectricGenerator(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),402227799:(e,t)=>new r.IfcElectricMotor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1003880860:(e,t)=>new r.IfcElectricTimeControl(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3415622556:(e,t)=>new r.IfcFan(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),819412036:(e,t)=>new r.IfcFilter(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),1426591983:(e,t)=>new r.IfcFireSuppressionTerminal(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),182646315:(e,t)=>new r.IfcFlowInstrument(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),2680139844:(e,t)=>new r.IfcGeomodel(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),1971632696:(e,t)=>new r.IfcGeoslice(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null),2295281155:(e,t)=>new r.IfcProtectiveDeviceTrippingUnit(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4086658281:(e,t)=>new r.IfcSensor(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),630975310:(e,t)=>new r.IfcUnitaryControlElement(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),4288193352:(e,t)=>new r.IfcActuator(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),3087945054:(e,t)=>new r.IfcAlarm(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8]),25142252:(e,t)=>new r.IfcController(e,new r.IfcGloballyUniqueId(t[0].value),t[1]?new bm(t[1].value):null,t[2]?new r.IfcLabel(t[2].value):null,t[3]?new r.IfcText(t[3].value):null,t[4]?new r.IfcLabel(t[4].value):null,t[5]?new bm(t[5].value):null,t[6]?new bm(t[6].value):null,t[7]?new r.IfcIdentifier(t[7].value):null,t[8])},xm[3]={618182010:[Kf,_I],2879124712:[536804194,3752311538,3633395639],411424972:[om],4037036970:[ym,vm,wm,Tm],1387855156:[ym],2859738748:[wf,Na,hm,vf,dm],2614616156:[vf],1959218052:[GI,jI],1785450214:[Sa],1466758467:[Ta],4294318154:[sm,mm,QI],3200245327:[df,Df,ZI,JI,$I,em],760658860:[na,sa,KI,ga,Ea,Ra,YI,Da,XI],248100487:[Da],2235152071:[Ea],1507914824:[ea,ta,kI],1918398963:[pa,mf,yf,dI],3701648758:[Vd,388784114,Jd],2483315170:[Cd,vI,wI,TI,yt,EI,gI,RI,MI],2226359599:[vI,wI,TI,yt,EI,gI,RI],677532197:[Up,Ed,Fp,gd,Yf,LI,qI,ra,im,am,lm,Rf,fm,ha,fa,Gf,ut,aa,la,Vf,jf,zf,Wf,kf,xd,Zd,bf,Zf,Qf,Fh,Jf,$f,eI],2022622350:[xI],3119450353:[sf,If,Xf,tI],2095639259:[vd,Ud],3958567839:[gp,Rp,qp,Mc,sh,uh,jc,gh,Oh,Lh,Mh,rp,ad,cd,Pd,182550632,Ji,ff,Ef,Sf,Of,Nf,Af],986844984:[gf,ud,pd,dd,fd,Id,yd,rI,NI,pI,hI,mI,Qi,OI,WI,ca,DI],1076942058:[nI,iI,Bf,oI,cI],3377609919:[ef,nf],3008791417:[Fd,Op,xp,Cp,Wp,$l,yc,Pc,Rn,is,hr,xr,Ro,Ls,ve,Ue,Cn,ss,Ws,qc,Fc,Ts,xs,si,de,ye,we,Xe,Ke,et,tt,rt,bi,ot,yp,vp,ct,Ep,Zp,Vc,au,ou,cu,lp,Jp,ih,ah,lh,rh,oh,Bi,Ui,Fi,hh,Gc,fh,Th,Nh,Ph,qh,bs,Je,$s,ti,Oi,Ai,zi,nt,Gs,ei,li,fp,_p,Ds,Ks,Zs,ap,qi,Kp,dh,Kc,Zc,Hh,Gh,st,it,uc,pc,Qs,Js,Tp,Qp,Wi,Bh,hi,uu,Li,Lp,Qc,We,Ci,pt,Uh,ed,nd,ht,di,th,ft,id,ch,Sd,bd,It,Nd,Ip,Od,dt,Ih,mh,yh,Ad,jd,zd,Wd,kd,Yd,Xd,ph,Rd,Qd,Dp,$d,tf,Ld,Bp,bh,Dd,Gd,rf,of,Gi,lf,cf,Vh,qd,uf,pf,nh,_d,Tf,_f,Mf,Uf,sI],2439245199:[Yi,Xi,SI,UI,$i,oa,nm,rm,Em],2341007311:[Su,yi,bu,vi,Nu,po,ge,hu,vu,Eu,Ou,wi,fi,Ii,du,fu,Iu,yu,at,mi,Ru,Du,Au,xu,Cu,Pu,qu,Mu,Hu,Bu,Lu,Uu,Fu,Gu,lt,ju,zu,Wu,ku,Yu,Xu,Zu,Qu,$u,ep,Ti,tp,np,sp,ip,ld,ks,pi,Ei,gi,Zi,cp,mp,jp,zp,Dh,Sh,rd,Si,Hp,Ki,hd,md,dr,ja,Ht,Xn,Q,ts,Tr,_r,Ur,fn,Wr,jo,ko,vr,Er,gr,Rr,ls,To,No,Oo,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,A,U,Yo,Re,Ne,Cl,go,ne,se,ie,ae,_e,vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,R,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,C,En,xn,H,qn,B,_n,Mn,rl,Ct,hn,ol,_t,S,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,D,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,ar,O,qa,Ha,Ba,Ua,x,za,Wa,ka,Tn,Ka,$a,el,tl,P,nl,q,_,M,il,F,al,L,j,z,xl,b,sl,Y,Fl,Gl,X,Ql,Jn,J,br,Cr,oe,ce,E,g,N,G,Fe,Ge,Ps,hs,qs,Zo,ds,W,os,Co,ac,vo,lc,rc,Hl,lr,cs,re,me,Oa,he,Ga,Va,Za,Qa,Ho,Be,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu,iu,Vn,Ms,oi,io,lo,$,Te,De,Le,Ve,je,Uc,ee,Ee,Se,Pe,ze,Hc,ru,ui,hp,Eo,Hs,Yc,dp,wp,Ri,pp,Mi,Vs,js,zs,ii,Ni,_i,Hi,Vi,ri,to,lu,ci,Ml,ns,Fa,le,Ie,gn,us,pe,ps,gs,Rs,Mo,He,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,V,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,fe,co,Ao,Ce,As,qe,Uo,Fo,Jo,Dl,qr,$o,Ol,K,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,k,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,te,pr,rs,Sr,ue,ys,$r,ao,ws,Es,Ss,ho,fo,be,Do,Oe,Ae,xe,_o,Me,_s,Fs,Z,Ns,ke,bc,Oc,Ye,_c,Xs,Ze,kc,Qe,$e,xi,Xc,Sp,bp,Mp,Ah,ni,Di,Pi,ji,xh,Hd],1054537805:[ki,ia,ua,da,Ia,ma],3982875396:[Bf,oI],2273995522:[td,af],2162789131:[ya,Wh,kh,Yh,Xh,Kh,Zh,aI,lI,va,wa],609421318:[ya,Wh,kh,Yh,Xh,Kh,Zh,aI,lI],2525727697:[Wh,kh,Yh,Xh,Kh,Zh,aI],2830218821:[nI],846575682:[Fh],626085974:[xd,Zd,bf],1549132990:[Ia],280115917:[ut,aa,la,Vf,jf],222769930:[1010789467],3101149627:[od,Kd],1377556343:[Ld,Bp,bh,Dd,Gd,rf,of,Gi,lf,cf,Vh,qd,uf,pf,nh,_d,Tf,_f,Mf],2799835756:[_f],3798115385:[Nf],1310608509:[Sf],3264961684:[Rf],370225590:[nh,_d],2889183280:[pa],3632507154:[Ji],3900360178:[Vh,qd,uf],297599258:[OI,WI],2556980723:[Gi,lf],1809719519:[rf],3008276851:[Gi],3448662350:[ef],2453401579:[Op,xp,Cp,Wp,$l,yc,Pc,Rn,is,hr,xr,Ro,Ls,ve,Ue,Cn,ss,Ws,qc,Fc,Ts,xs,si,de,ye,we,Xe,Ke,et,tt,rt,bi,ot,yp,vp,ct,Ep,Zp,Vc,au,ou,cu,lp,Jp,ih,ah,lh,rh,oh,Bi,Ui,Fi,hh,Gc,fh,Th,Nh,Ph,qh,bs,Je,$s,ti,Oi,Ai,zi,nt,Gs,ei,li,fp,_p,Ds,Ks,Zs,ap,qi,Kp,dh,Kc,Zc,Hh,Gh,st,it,uc,pc,Qs,Js,Tp,Qp,Wi,Bh,hi,uu,Li,Lp,Qc,We,Ci,pt,Uh,ed,nd,ht,di,th,ft,id,ch,Sd,bd,It,Nd,Ip,Od,dt,Ih,mh,yh,Ad,jd,zd,Wd,kd,Yd,Xd,ph,Rd,Qd,Dp,$d],3590301190:[Dp],812098782:[ph,Rd],1437953363:[ut,aa],1402838566:[jd,zd,Wd,kd,Yd],1520743889:[jd],1008929658:[Bp,bh,Dd],3079605661:[ea],219451334:[dr,ja,Ht,Xn,Q,ts,Tr,_r,Ur,fn,Wr,jo,ko,vr,Er,gr,Rr,ls,To,No,Oo,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,A,U,Yo,Re,Ne,Cl,go,ne,se,ie,ae,_e,vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,R,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,C,En,xn,H,qn,B,_n,Mn,rl,Ct,hn,ol,_t,S,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,D,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,ar,O,qa,Ha,Ba,Ua,x,za,Wa,ka,Tn,Ka,$a,el,tl,P,nl,q,_,M,il,F,al,L,j,z,xl,b,sl,Y,Fl,Gl,X,Ql,Jn,J,br,Cr,oe,ce,E,g,N,G,Fe,Ge,Ps,hs,qs,Zo,ds,W,os,Co,ac,vo,lc,rc,Hl,lr,cs,re,me,Oa,he,Ga,Va,Za,Qa,Ho,Be,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu,iu,Vn,Ms,oi,io,lo,$,Te,De,Le,Ve,je,Uc,ee,Ee,Se,Pe,ze,Hc,ru,ui,hp,Eo,Hs,Yc,dp,wp,Ri,pp,Mi,Vs,js,zs,ii,Ni,_i,Hi,Vi,ri,to,lu,ci,Ml,ns,Fa,le,Ie,gn,us,pe,ps,gs,Rs,Mo,He,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,V,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,fe,co,Ao,Ce,As,qe,Uo,Fo,Jo,Dl,qr,$o,Ol,K,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,k,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,te,pr,rs,Sr,ue,ys,$r,ao,ws,Es,Ss,ho,fo,be,Do,Oe,Ae,xe,_o,Me,_s,Fs,Z,Ns,ke,bc,Oc,Ye,_c,Xs,Ze,kc,Qe,$e,xi,Xc,Sp,bp,Mp,Ah,ni,Di,Pi,ji,xh],2529465313:[gp,Rp,qp,Mc,sh,uh,jc,gh,Oh,Lh,Mh,rp,ad,cd],2004835150:[dt,Ih,mh,yh],1663979128:[Ip],2067069095:[ch,Sd,bd,It],3727388367:[Up,Ed,Fp,gd,Yf,LI],3778827333:[pI,hI,mI],1775413392:[Yf],2598011224:[gf,ud,pd,dd,fd,Id,yd,rI],1680319473:[ks,pi,Ei,gi,Zi,cp,mp,jp,zp,Dh,Sh,rd,Si,Hp,Ki,hd],3357820518:[cp,mp,jp,zp,Dh,Sh,rd,Si,Hp,Ki],1482703590:[ks,pi,Ei,gi],2090586900:[Hp],3615266464:[rp,ad],478536968:[Su,yi,bu,vi,Nu,po,ge,hu,vu,Eu,Ou,wi,fi,Ii,du,fu,Iu,yu,at,mi,Ru,Du,Au,xu,Cu,Pu,qu,Mu,Hu,Bu,Lu,Uu,Fu,Gu,lt,ju,zu,Wu,ku,Yu,Xu,Zu,Qu,$u,ep,Ti,tp,np,sp,ip],823603102:[ht,di,th],3692461612:[ud,pd,dd,fd,Id,yd],723233188:[st,it,uc,pc,Qs,Js,Tp,Qp,Wi,Bh,hi,uu,Li,Lp,Qc,We,Ci,pt,Uh],2473145415:[Yh],1597423693:[Wh],2513912981:[nt,Gs,ei,li,fp,_p,Ds,Ks,Zs,ap,qi,Kp,dh,Kc,Zc,Hh],2247615214:[hi,uu,Li,Lp,Qc,We,Ci,pt],1260650574:[Wi],230924584:[Kc,Zc],901063453:[bs,Je,$s,ti,Oi,Ai],4282788508:[Ph],1628702193:[Vs,js,zs,ii,Ni,_i,Hi,Vi,ri,to,lu,ci,Ml,ns,Fa,le,Ie,gn,us,pe,ps,gs,Rs,Mo,He,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,V,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,fe,co,Ao,Ce,As,qe,Uo,Fo,Jo,Dl,qr,$o,Ol,K,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,k,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,te,pr,rs,Sr,ue,ys,$r,ao,ws,Es,Ss,ho,fo,be,Do,Oe,Ae,xe,_o,Me,_s,Fs,Z,Ns,ke,bc,Oc,Ye,_c,Xs,Ze,kc,Qe,$e,xi,Xc,Sp,bp,Mp,Ah,ni,Di,Pi,ji],3736923433:[ni,Di,Pi],2347495698:[ri,to,lu,ci,Ml,ns,Fa,le,Ie,gn,us,pe,ps,gs,Rs,Mo,He,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,V,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,fe,co,Ao,Ce,As,qe,Uo,Fo,Jo,Dl,qr,$o,Ol,K,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,k,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,te,pr,rs,Sr,ue,ys,$r,ao,ws,Es,Ss,ho,fo,be,Do,Oe,Ae,xe,_o,Me,_s,Fs,Z,Ns,ke,bc,Oc,Ye,_c,Xs,Ze,kc,Qe,$e,xi,Xc,Sp,bp,Mp],3698973494:[Vs,js,zs,ii,Ni,_i,Hi],2736907675:[Gc],4182860854:[Ds,Ks,Zs,ap,qi,Kp],574549367:[Bi,Ui],59481748:[ih,ah,lh,rh],3749851601:[lh],3331915920:[ih],1383045692:[Mc],2485617015:[di],2574617495:[Vs,js,zs,ii,Ni,_i],3419103109:[Ri,pp],2506170314:[Vc,au,ou,cu,lp],2601014836:[$l,yc,Pc,Rn,is,hr,xr,Ro,Ls,ve,Ue,Cn,ss,Ws,qc,Fc,Ts,xs,si,de,ye,we,Xe,Ke,et,tt,rt,bi,ot,yp,vp,ct,Ep],593015953:[Qc,We,Ci],339256511:[Ml,ns,Fa,le,Ie,gn,us,pe,ps,gs,Rs,Mo,He,oc,vc,Us,La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,V,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,fe,co,Ao,Ce,As,qe,Uo,Fo,Jo,Dl,qr,$o,Ol,K,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,k,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc,Dc,Ys,ir,te,pr,rs,Sr,ue,ys,$r,ao,ws,Es,Ss,ho,fo,be,Do,Oe,Ae,xe,_o,Me,_s,Fs,Z,Ns,ke,bc,Oc,Ye,_c,Xs,Ze,kc,Qe,$e,xi,Xc,Sp,bp],2777663545:[Gs,ei,li,fp],477187591:[Li],2652556860:[We],4238390223:[Xc,Sp],178912537:[Oi],1425443689:[uc,pc,Qs,Js],3888040117:[dr,ja,Ht,Xn,Q,ts,Tr,_r,Ur,fn,Wr,jo,ko,vr,Er,gr,Rr,ls,To,No,Oo,Ac,xc,Cc,Lo,Wc,zl,Wl,kl,Hr,Go,Nc,Lc,pu,A,U,Yo,Re,Ne,Cl,go,ne,se,ie,ae,_e,vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,R,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,C,En,xn,H,qn,B,_n,Mn,rl,Ct,hn,ol,_t,S,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,D,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,ar,O,qa,Ha,Ba,Ua,x,za,Wa,ka,Tn,Ka,$a,el,tl,P,nl,q,_,M,il,F,al,L,j,z,xl,b,sl,Y,Fl,Gl,X,Ql,Jn,J,br,Cr,oe,ce,E,g,N,G,Fe,Ge,Ps,hs,qs,Zo,ds,W,os,Co,ac,vo,lc,rc,Hl,lr,cs,re,me,Oa,he,Ga,Va,Za,Qa,Ho,Be,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu,iu,Vn,Ms,oi,io,lo,$,Te,De,Le,Ve,je,Uc,ee,Ee,Se,Pe,ze,Hc,ru,ui,hp,Eo,Hs,Yc,dp],590820931:[ot,yp,vp],759155922:[Fp],2559016684:[Up],3967405729:[mp,jp,zp,Dh,Sh,rd],2945172077:[Eo,Hs,Yc],4208778838:[A,U,Yo,Re,Ne,Cl,go,ne,se,ie,ae,_e,vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,R,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,C,En,xn,H,qn,B,_n,Mn,rl,Ct,hn,ol,_t,S,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,D,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,ar,O,qa,Ha,Ba,Ua,x,za,Wa,ka,Tn,Ka,$a,el,tl,P,nl,q,_,M,il,F,al,L,j,z,xl,b,sl,Y,Fl,Gl,X,Ql,Jn,J,br,Cr,oe,ce,E,g,N,G,Fe,Ge,Ps,hs,qs,Zo,ds,W,os,Co,ac,vo,lc,rc,Hl,lr,cs,re,me,Oa,he,Ga,Va,Za,Qa,Ho,Be,cc,wc,Tc,Ec,zc,Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu,su,zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu,iu,Vn,Ms,oi,io,lo,$,Te,De,Le,Ve,je,Uc,ee,Ee,Se,Pe,ze,Hc,ru,ui],3521284610:[ks,pi],3939117080:[Qu,$u,ep,Ti,tp,np,sp],1307041759:[Ti],1865459582:[lt,ju,zu,Wu,ku,Yu,Xu],826625072:[fi,Ii,du,fu,Iu,yu,at,mi,Ru,Du,Au,xu,Cu,Pu,qu,Mu,Hu,Bu,Lu,Uu,Fu],1204542856:[Lu,Uu],1638771189:[Pu],2551354335:[po,ge,hu,vu,Eu],693640335:[Su,yi,bu,vi],3451746338:[fi,Ii],3523091289:[fi],2914609552:[zl,Wl,kl,Hr,Go,Nc,Lc],1856042241:[hi],1862484736:[st],1412071761:[Vn,Ms,oi,io,lo,$,Te,De,Le,Ve,je,Uc,ee,Ee,Se,Pe,ze,Hc,ru],710998568:[ri,to,lu],2706606064:[io,lo,$,Te,De,Le,Ve,je,Uc,ee,Ee,Se,Pe,ze,Hc],3893378262:[to],2735484536:[de,ye,we,Xe,Ke,et],3544373492:[zr,fs,Vr,Yr,ms,Jr,Fr,Is,ai,tu],3136571912:[Br,Gr,Zr,Qr,Xr,Kr,$c,eu,nu],530289379:[Xr,Kr,$c,eu],3689010777:[Fr,Is,ai],3979015343:[$c],699246055:[Ts,xs],2387106220:[bs,Je,$s],3665877780:[kc,Qe],2916149573:[Je],2296667514:[Lo],1635779807:[Qs],2887950389:[Ds,Ks],167062518:[Ds],1260505505:[Rn,is,hr,xr,Ro,Ls,ve,Ue,Cn,ss,Ws,qc],1626504194:[ir,te,pr,rs,Sr,ue,ys,$r,ao,ws,Es,Ss,ho,fo,be,Do,Oe,Ae,xe,_o,Me,_s,Fs,Z,Ns,ke,bc,Oc,Ye,_c,Xs],3732776249:[ve,Ue,Cn,ss,Ws],15328376:[Cn,ss],2510884976:[$l,yc],2559216714:[zl,Wl,kl,Hr,Go,Nc],3293443760:[vr,Er,gr,Rr,ls,To,No,Oo,Ac,xc],1306400036:[Z,Ns],3256556792:[La,_a,Ma,cn,Ya,Sn,pl,ql,_l,Il,V,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,fe,co,Ao,Ce,As,qe,Uo,Fo,Jo,Dl,qr,$o,Ol,K,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,k,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc,Rc],3849074793:[_l,Il,V,Nl,Cs,Qo,fl,Sl,Kn,as,mr,Dr,eo,so,fe,co,Ao,Ce,As,qe,Uo,Fo,Jo,Dl,qr,$o,Ol,K,tr,nr,So,ec,ml,Zl,mo,tc,Al,$n,sr,bo,Vo,sc,Tl,kn,k,Ul,yr,Nr,Mr,yo,nc,ic,El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs,mc],1758889154:[vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,R,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,C,En,xn,H,qn,B,_n,Mn,rl,Ct,hn,ol,_t,S,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,D,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll,Pl,Qn,ar,O,qa,Ha,Ba,Ua,x,za,Wa,ka,Tn,Ka,$a,el,tl,P,nl,q,_,M,il,F,al,L,j,z,xl,b,sl,Y,Fl,Gl,X,Ql,Jn,J,br,Cr,oe,ce,E,g,N,G,Fe,Ge,Ps,hs,qs,Zo,ds,W,os,Co,ac,vo,lc,rc,Hl,lr,cs,re,me,Oa,he,Ga,Va,Za,Qa,Ho,Be,cc,wc,Tc],1623761950:[Hl,lr,cs,re,me,Oa,he,Ga,Va,Za,Qa,Ho,Be,cc],2590856083:[Ml,ns,Fa,le,Ie,gn,us,pe,ps,gs,Rs,Mo,He,oc],2107101300:[El,Rl,Vl,jl,Kl,Jl,er,es,cr,Ir,Or,Ar,Lr,vs,qo,zo,Wo,hc,dc,Bs],2853485674:[Vn],807026263:[uc],24185140:[Uc,ee,Ee,Se,Pe],1310830890:[$,Te,De,Le,Ve],2827207264:[ds,W,os,Co,ac,vo,lc],2143335405:[vo],1287392070:[W,os,Co],3907093117:[Tl,kn,k,Ul,yr,Nr,Mr,yo,nc],3198132628:[Al,$n,sr,bo,Vo],1482959167:[ml,Zl,mo],1834744321:[Ol,K,tr,nr,So],1339347760:[Dl,qr],2297155007:[fl,Sl,Kn,as,mr,Dr,eo,so,fe,co,Ao,Ce,As,qe,Uo,Fo],3009222698:[Il,V,Nl,Cs],263784265:[hs,qs],4230923436:[E,g,N,G,Fe],2706460486:[dr,ja,Ht,Xn,Q,ts,Tr,_r,Ur,fn,Wr,jo],2176059722:[ne,se,ie,ae],3740093272:[Cl],1946335990:[A,U,Yo,Re],3027567501:[Oa,he,Ga,Va,Za],964333572:[gn,us,pe,ps,gs],682877961:[zr,fs,Vr,Yr,ms],1179482911:[Br,Gr,Zr],1004757350:[Yr],214636428:[Xr],1252848954:[fn],3657597509:[zr],2254336722:[ja,Ht,Xn,Q,ts,Tr],1953115116:[Cr,oe],1028945134:[Er,gr],1967976161:[Rn,is],2461110595:[Rn],1136057603:[Cn],1876633798:[ar,O,qa,Ha,Ba,Ua,x,za,Wa,ka,Tn,Ka,$a,el,tl,P,nl,q,_,M,il,F,al,L,j,z,xl,b,sl,Y,Fl,Gl,X,Ql,Jn],3426335179:[b,sl],2063403501:[La,_a,Ma,cn,Ya,Sn,pl],1945004755:[vt,wt,Tt,Et,gt,Rt,Dt,xa,Ca,bt,R,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,C,En,xn,H,qn,B,_n,Mn,rl,Ct,hn,ol,_t,S,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,D,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl,Ll],3040386961:[Ca,bt,R,qt,Bn,ll,St,Pt,jt,$t,nn,an,In,mn,C,En,xn,H,qn,B,_n,Mn,rl,Ct,hn,ol,_t,S,kt,Xt,On,cl,Nt,Vt,Dn,ul,Mt,Yt,Kt,An,Hn,hl,Ot,Lt,D,Bt,tn,rn,dn,bn,Gn,dl,At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn,yl],3205830791:[Ht],1077100507:[L,j],1658829314:[At,xt,Ut,Ft,Gt,zt,Wt,Zt,Qt,en,on,un,pn,yn,Ln,Un,Fn,jn,zn,Wn],2058353004:[Ot,Lt,D,Bt,tn,rn,dn,bn,Gn],4278956645:[Mt,Yt,Kt,An,Hn],3132237377:[Nt,Vt,Dn],987401354:[_t,S,kt,Xt,On],707683696:[Ct,hn],2223149337:[St,Pt,jt,$t,nn,an,In,mn,C,En,xn,H,qn,B,_n,Mn],3508470533:[bt,R,qt,Bn],2713699986:[E,g,N],1154579445:[A],2391406946:[Ba],1062813311:[vt,wt,Tt,Et,gt,Rt,Dt]},Am[3]={3630933823:[["HasExternalReference",oa,3,!0]],618182010:[["OfPerson",BI,7,!0],["OfOrganization",FI,4,!0]],411424972:[["HasExternalReference",oa,3,!0]],130549933:[["HasExternalReferences",oa,3,!0],["ApprovedObjects",Xu,5,!0],["ApprovedResources",Xi,3,!0],["IsRelatedWith",Em,3,!0],["Relates",Em,2,!0]],1959218052:[["HasExternalReferences",oa,3,!0],["PropertiesForConstraint",Yi,2,!0]],1466758467:[["HasCoordinateOperation",ba,0,!0]],602808272:[["HasExternalReference",oa,3,!0]],3200245327:[["ExternalReferenceForResources",oa,2,!0]],2242383968:[["ExternalReferenceForResources",oa,2,!0]],1040185647:[["ExternalReferenceForResources",oa,2,!0]],3548104201:[["ExternalReferenceForResources",oa,2,!0]],852622518:[["PartOfW",Yo,9,!0],["PartOfV",Yo,8,!0],["PartOfU",Yo,7,!0],["HasIntersections",qf,0,!0]],2655187982:[["LibraryInfoForObjects",zu,5,!0],["HasLibraryReferences",ZI,5,!0]],3452421091:[["ExternalReferenceForResources",oa,2,!0],["LibraryRefForObjects",zu,5,!0]],760658860:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0]],248100487:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0],["ToMaterialLayerSet",YI,0,!1]],3303938423:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0]],1847252529:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0],["ToMaterialLayerSet",YI,0,!1]],2235152071:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0],["ToMaterialProfileSet",ga,2,!1]],164193824:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0]],552965576:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0],["ToMaterialProfileSet",ga,2,!1]],1507914824:[["AssociatedTo",ju,5,!0]],3368373690:[["HasExternalReferences",oa,3,!0],["PropertiesForConstraint",Yi,2,!0]],3701648758:[["PlacesObject",hp,5,!0],["ReferencedByPlacements",VI,0,!0]],2251480897:[["HasExternalReferences",oa,3,!0],["PropertiesForConstraint",Yi,2,!0]],4251960020:[["IsRelatedBy",UI,3,!0],["Relates",UI,2,!0],["Engages",HI,1,!0]],2077209135:[["EngagedIn",HI,0,!0]],2483315170:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],2226359599:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],3355820592:[["OfPerson",BI,7,!0],["OfOrganization",FI,4,!0]],3958567839:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],3843373140:[["HasCoordinateOperation",ba,0,!0]],986844984:[["HasExternalReferences",oa,3,!0]],3710013099:[["HasExternalReferences",oa,3,!0]],2044713172:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],2093928680:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],931644368:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],2691318326:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],3252649465:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],2405470396:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],825690147:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],1076942058:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0]],3377609919:[["RepresentationsInContext",II,0,!0]],3008791417:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1660063152:[["HasShapeAspects",uI,4,!0],["MapUsage",Fd,0,!0]],867548509:[["HasExternalReferences",oa,3,!0]],3982875396:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0],["OfShapeAspect",uI,0,!0]],4240577450:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0],["OfShapeAspect",uI,0,!0]],2830218821:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0]],3958052878:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3049322572:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0]],626085974:[["IsMappedBy",zf,0,!0],["UsedInStyles",Qf,0,!0]],912023232:[["OfPerson",BI,7,!0],["OfOrganization",FI,4,!0]],222769930:[["ToTexMap",ut,3,!1]],1010789467:[["ToTexMap",ut,3,!1]],3101149627:[["HasExternalReference",oa,3,!0]],1377556343:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1735638870:[["RepresentationMap",fI,1,!0],["LayerAssignments",CI,2,!0],["OfProductRepresentation",AI,2,!0],["OfShapeAspect",uI,0,!0]],2799835756:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1907098498:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3798115385:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],1310608509:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],2705031697:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],616511568:[["IsMappedBy",zf,0,!0],["UsedInStyles",Qf,0,!0]],3150382593:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],747523909:[["ClassificationForObjects",Yu,5,!0],["HasReferences",Df,3,!0]],647927063:[["ExternalReferenceForResources",oa,2,!0],["ClassificationRefForObjects",Yu,5,!0],["HasReferences",Df,3,!0]],1485152156:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],370225590:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3050246964:[["HasExternalReference",oa,3,!0]],2889183280:[["HasExternalReference",oa,3,!0]],2713554722:[["HasExternalReference",oa,3,!0]],3632507154:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],1154170062:[["DocumentInfoForObjects",Wu,5,!0],["HasDocumentReferences",df,4,!0],["IsPointedTo",nm,3,!0],["IsPointer",nm,2,!0]],3732053477:[["ExternalReferenceForResources",oa,2,!0],["DocumentRefForObjects",Wu,5,!0]],3900360178:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],476780140:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],297599258:[["HasExternalReferences",oa,3,!0]],2556980723:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["HasTextureMaps",Vf,2,!0]],1809719519:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],803316827:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3008276851:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["HasTextureMaps",Vf,2,!0]],3448662350:[["RepresentationsInContext",II,0,!0],["HasSubContexts",ef,6,!0],["HasCoordinateOperation",ba,0,!0]],2453401579:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4142052618:[["RepresentationsInContext",II,0,!0],["HasSubContexts",ef,6,!0],["HasCoordinateOperation",ba,0,!0]],3590301190:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],178086475:[["PlacesObject",hp,5,!0],["ReferencedByPlacements",VI,0,!0]],812098782:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3905492369:[["IsMappedBy",zf,0,!0],["UsedInStyles",Qf,0,!0]],3741457305:[["HasExternalReference",oa,3,!0]],1402838566:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],125510826:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2604431987:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4266656042:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1520743889:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3422422726:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],388784114:[["PlacesObject",hp,5,!0],["ReferencedByPlacements",VI,0,!0]],2624227202:[["PlacesObject",hp,5,!0],["ReferencedByPlacements",VI,0,!0]],1008929658:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2347385850:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1838606355:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0],["HasRepresentation",Ud,3,!0],["IsRelatedWith",$i,3,!0],["RelatesTo",$i,2,!0]],3708119e3:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0],["ToMaterialConstituentSet",na,2,!1]],2852063980:[["AssociatedTo",ju,5,!0],["HasExternalReferences",oa,3,!0],["HasProperties",WI,3,!0]],1303795690:[["AssociatedTo",ju,5,!0]],3079605661:[["AssociatedTo",ju,5,!0]],3404854881:[["AssociatedTo",ju,5,!0]],3265635763:[["HasExternalReferences",oa,3,!0]],2998442950:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],219451334:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0]],182550632:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],2665983363:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1029017970:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2529465313:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],2519244187:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3021840470:[["HasExternalReferences",oa,3,!0],["PartOfComplex",Cd,2,!0]],597895409:[["IsMappedBy",zf,0,!0],["UsedInStyles",Qf,0,!0]],2004835150:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1663979128:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2067069095:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2165702409:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4022376103:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1423911732:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2924175390:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2775532180:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3778827333:[["HasExternalReferences",oa,3,!0]],673634403:[["ShapeOfProduct",hp,6,!0],["HasShapeAspects",uI,4,!0]],2802850158:[["HasExternalReferences",oa,3,!0]],2598011224:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],1680319473:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0]],3357820518:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],1482703590:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0]],2090586900:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],3615266464:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],3413951693:[["HasExternalReference",oa,3,!0]],1580146022:[["HasExternalReferences",oa,3,!0]],2778083089:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],2042790032:[["HasExternalReferences",oa,3,!0]],4165799628:[["HasExternalReferences",oa,3,!0]],1509187699:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],823603102:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["UsingCurves",qc,0,!0]],4124623270:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3692461612:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],723233188:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2233826070:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2513912981:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2247615214:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1260650574:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1096409881:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],230924584:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3071757647:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],901063453:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4282788508:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3124975700:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2715220739:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],1628702193:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0]],3736923433:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["OperatesOn",ep,6,!0]],2347495698:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3698973494:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ResourceOf",Qu,6,!0]],427810014:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],1417489154:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2759199220:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2543172580:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],3406155212:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["HasTextureMaps",Vf,2,!0]],669184980:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3207858831:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],4261334040:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3125803723:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2740243338:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3425423356:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2736907675:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4182860854:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2581212453:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2713105998:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2898889636:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],1123145078:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],574549367:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1675464909:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2059837836:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],59481748:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3749851601:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3486308946:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3331915920:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1416205885:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1383045692:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],2205249479:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2542286263:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],2485617015:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["UsingCurves",qc,0,!0]],2574617495:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ResourceOf",Qu,6,!0]],3419103109:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",bu,4,!0],["Declares",wi,4,!0]],1815067380:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ResourceOf",Qu,6,!0]],2506170314:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2147822146:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2601014836:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2827736869:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2629017746:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4212018352:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["UsingCurves",qc,0,!0]],32440307:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],593015953:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1472233963:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1883228015:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],339256511:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2777663545:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2835456948:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],4024345920:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["OperatesOn",ep,6,!0]],477187591:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2804161546:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2047409740:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],374418227:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],315944413:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2652556860:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4238390223:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1268542332:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4095422895:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],987898635:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1484403080:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],178912537:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["ToFaceSet",bs,2,!0],["HasTexCoords",mt,1,!0]],2294589976:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["ToFaceSet",bs,2,!0],["HasTexCoords",mt,1,!0]],572779678:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],428585644:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ResourceOf",Qu,6,!0]],1281925730:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1425443689:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3888040117:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0]],590820931:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3388369263:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3505215534:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2485787929:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1682466193:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],603570806:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],220341763:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3381221214:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3967405729:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],569719735:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["OperatesOn",ep,6,!0]],2945172077:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsPredecessorTo",Iu,4,!0],["IsSuccessorFrom",Iu,5,!0],["OperatesOn",ep,6,!0]],4208778838:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0]],103090709:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",bu,4,!0],["Declares",wi,4,!0]],653396225:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDefinedBy",bu,4,!0],["Declares",wi,4,!0]],871118103:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],4166981789:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],2752243245:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],941946838:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],1451395588:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],492091185:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["Defines",yi,5,!0]],3650150729:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],110355661:[["HasExternalReferences",oa,3,!0],["PartOfPset",cp,4,!0],["PropertyForDependance",SI,2,!0],["PropertyDependsOn",SI,3,!0],["PartOfComplex",gf,3,!0],["HasConstraints",Yi,3,!0],["HasApprovals",Xi,2,!0]],3521284610:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["PartOfComplexTemplate",ks,6,!0],["PartOfPsetTemplate",gi,6,!0]],2770003689:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],2798486643:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3454111270:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3765753017:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],3523091289:[["InnerBoundaries",Ii,9,!0]],1521410863:[["InnerBoundaries",Ii,9,!0],["Corresponds",fi,10,!0]],816062949:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["UsingCurves",qc,0,!0]],2914609552:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ResourceOf",Qu,6,!0]],1856042241:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3243963512:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4158566097:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3626867408:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1862484736:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1290935644:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1356537516:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3663146110:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["PartOfComplexTemplate",ks,6,!0],["PartOfPsetTemplate",gi,6,!0]],1412071761:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],710998568:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2706606064:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],3893378262:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],463610769:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],2481509218:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],451544542:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4015995234:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2735484536:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3544373492:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedToStructuralItem",Mu,5,!0]],3136571912:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedStructuralActivity",Mu,4,!0]],530289379:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectedBy",qu,4,!0]],3689010777:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedToStructuralItem",Mu,5,!0]],3979015343:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectedBy",qu,4,!0]],2218152070:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectedBy",qu,4,!0]],603775116:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedToStructuralItem",Mu,5,!0]],4095615324:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ResourceOf",Qu,6,!0]],699246055:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2028607225:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2809605785:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4124788165:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1580310250:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3473067441:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsPredecessorTo",Iu,4,!0],["IsSuccessorFrom",Iu,5,!0],["OperatesOn",ep,6,!0]],3206491090:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["OperatesOn",ep,6,!0]],2387106220:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["HasColours",ra,0,!0],["HasTextures",la,1,!0]],782932809:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1935646853:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3665877780:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2916149573:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["HasColours",ra,0,!0],["HasTextures",la,1,!0]],1229763772:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["HasColours",ra,0,!0],["HasTextures",la,1,!0]],3651464721:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],336235671:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],512836454:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],2296667514:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsActingUpon",sp,6,!0]],1635779807:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2603310189:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1674181508:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainedInStructure",Cu,4,!0]],2887950389:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],167062518:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1334484129:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3649129432:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1260505505:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3124254112:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],1626504194:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2197970202:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2937912522:[["HasExternalReference",oa,3,!0],["HasProperties",OI,3,!0]],3893394355:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3497074424:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],300633059:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3875453745:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["PartOfComplexTemplate",ks,6,!0],["PartOfPsetTemplate",gi,6,!0]],3732776249:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],15328376:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2510884976:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2185764099:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ResourceOf",Qu,6,!0]],4105962743:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ResourceOf",Qu,6,!0]],1525564444:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ResourceOf",Qu,6,!0]],2559216714:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ResourceOf",Qu,6,!0]],3293443760:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],2000195564:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3895139033:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],1419761937:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],4189326743:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1916426348:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3295246426:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ResourceOf",Qu,6,!0]],1457835157:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1213902940:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1306400036:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4234616927:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3256556792:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3849074793:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2963535650:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],1714330368:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],2323601079:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1758889154:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],4123344466:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2397081782:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1623761950:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2590856083:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1704287377:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2107101300:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],132023988:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3174744832:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3390157468:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4148101412:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsPredecessorTo",Iu,4,!0],["IsSuccessorFrom",Iu,5,!0],["OperatesOn",ep,6,!0]],2853485674:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],807026263:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3737207727:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],24185140:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],1310830890:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],4228831410:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],647756555:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2489546625:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2827207264:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2143335405:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["ProjectsElements",vu,5,!1]],1287392070:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["VoidsElements",hu,5,!1]],3907093117:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3198132628:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3815607619:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1482959167:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1834744321:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1339347760:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2297155007:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3009222698:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1893162501:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],263784265:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],1509553395:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3493046030:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],4230923436:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],1594536857:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2898700619:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2706460486:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ReferencedInStructures",yu,4,!0]],1251058090:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1806887404:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2568555532:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3948183225:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2571569899:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3946677679:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3113134337:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2391368822:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ReferencedInStructures",yu,4,!0]],4288270099:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],679976338:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3827777499:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ResourceOf",Qu,6,!0]],1051575348:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1161773419:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2176059722:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0]],1770583370:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],525669439:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],976884017:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],377706215:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2108223431:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1114901282:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3181161470:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1950438474:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],710110818:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],977012517:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],506776471:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4143007308:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsActingUpon",sp,6,!0]],3588315303:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["VoidsElements",hu,5,!1],["HasFillings",Du,4,!0]],2837617999:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],514975943:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2382730787:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],3566463478:[["HasContext",wi,5,!0],["HasAssociations",Zu,4,!0],["DefinesType",xh,5,!0],["IsDefinedBy",yi,4,!0],["DefinesOccurrence",bu,5,!0]],3327091369:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],1158309216:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],804291784:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4231323485:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4017108033:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2839578677:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0],["HasColours",ra,0,!0],["HasTextures",la,1,!0]],3724593414:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3740093272:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainedIn",Bu,4,!0],["ConnectedFrom",Hu,5,!0],["ConnectedTo",Hu,4,!0]],1946335990:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainedInStructure",Cu,4,!0],["Positions",at,4,!0]],2744685151:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsPredecessorTo",Iu,4,!0],["IsSuccessorFrom",Iu,5,!0],["OperatesOn",ep,6,!0]],2904328755:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],3651124850:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["ProjectsElements",vu,5,!1]],1842657554:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2250791053:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1763565496:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2893384427:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3992365140:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],1891881377:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],2324767716:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1469900589:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],683857671:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4021432810:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainedInStructure",Cu,4,!0],["Positions",at,4,!0]],3027567501:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],964333572:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2320036040:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2310774935:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],146592293:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],550521510:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],2781568857:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1768891740:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2157484638:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3649235739:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],544395925:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1027922057:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4074543187:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],33720170:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3599934289:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1894708472:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],42703149:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],4097777520:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],2533589738:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1072016465:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3856911033:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasCoverings",Au,4,!0],["BoundedBy",du,4,!0]],1305183839:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3812236995:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3112655638:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1039846685:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],338393293:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],682877961:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedToStructuralItem",Mu,5,!0]],1179482911:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectsStructuralMembers",qu,5,!0]],1004757350:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedToStructuralItem",Mu,5,!0]],4243806635:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectsStructuralMembers",qu,5,!0]],214636428:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectedBy",qu,4,!0]],2445595289:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectedBy",qu,4,!0]],2757150158:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedToStructuralItem",Mu,5,!0]],1807405624:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedToStructuralItem",Mu,5,!0]],1252848954:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ReferencedInStructures",yu,4,!0],["SourceOfResultGroup",Ur,6,!0],["LoadGroupFor",ja,7,!0]],2082059205:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedToStructuralItem",Mu,5,!0]],734778138:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectsStructuralMembers",qu,5,!0]],1235345126:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedToStructuralItem",Mu,5,!0]],2986769608:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ReferencedInStructures",yu,4,!0],["ResultGroupFor",ja,8,!0]],3657597509:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedToStructuralItem",Mu,5,!0]],1975003073:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedStructuralActivity",Mu,4,!0],["ConnectsStructuralMembers",qu,5,!0]],148013059:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ResourceOf",Qu,6,!0]],3101698114:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["AdheresToElement",ge,5,!1]],2315554128:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2254336722:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ReferencedInStructures",yu,4,!0],["ServicesBuildings",fu,4,!0],["ServicesFacilities",yu,4,!0]],413509423:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],5716631:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3824725483:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2347447852:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3081323446:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3663046924:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2281632017:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2415094496:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],618700268:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1692211062:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2097647324:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1953115116:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3593883385:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1600972822:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1911125066:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],728799441:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],840318589:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],1530820697:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3956297820:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2391383451:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3313531582:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2769231204:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],926996030:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["VoidsElements",hu,5,!1]],1898987631:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1133259667:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4009809668:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4088093105:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],1028945134:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],4218914973:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],3342526732:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],1033361043:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ReferencedInStructures",yu,4,!0],["ServicesBuildings",fu,4,!0],["ServicesFacilities",yu,4,!0]],3821786052:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["Controls",np,6,!0]],1411407467:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3352864051:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1871374353:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4266260250:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0]],1545765605:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0]],317615605:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0]],1662888072:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0]],3460190687:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ReferencedInStructures",yu,4,!0]],1532957894:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1967976161:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],2461110595:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],819618141:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3649138523:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],231477066:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1136057603:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],644574406:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],963979645:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],4031249490:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0]],2979338954:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],39481116:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1909888760:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1177604601:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ReferencedInStructures",yu,4,!0],["ServicesBuildings",fu,4,!0],["ServicesFacilities",yu,4,!0]],1876633798:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3862327254:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ReferencedInStructures",yu,4,!0],["ServicesBuildings",fu,4,!0],["ServicesFacilities",yu,4,!0]],2188180465:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],395041908:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3293546465:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2674252688:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1285652485:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3203706013:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2951183804:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3296154744:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2611217952:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],1677625105:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2301859152:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],843113511:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],400855858:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3850581409:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2816379211:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3898045240:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ResourceOf",Qu,6,!0]],1060000209:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ResourceOf",Qu,6,!0]],488727124:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ResourceOf",Qu,6,!0]],2940368186:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],335055490:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2954562838:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1502416096:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],1973544240:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["CoversSpaces",Au,5,!0],["CoversElements",xu,5,!0]],3495092785:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3961806047:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3426335179:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],1335981549:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2635815018:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],479945903:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1599208980:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2063403501:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1945004755:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0]],3040386961:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3041715199:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainedIn",Bu,4,!0],["ConnectedFrom",Hu,5,!0],["ConnectedTo",Hu,4,!0]],3205830791:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ReferencedInStructures",yu,4,!0],["ServicesBuildings",fu,4,!0],["ServicesFacilities",yu,4,!0]],395920057:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],869906466:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3760055223:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2030761528:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3071239417:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["VoidsElements",hu,5,!1]],1077100507:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3376911765:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],663422040:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2417008758:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3277789161:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2142170206:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1534661035:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1217240411:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],712377611:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1658829314:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2814081492:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3747195512:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],484807127:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1209101575:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainsElements",Cu,5,!0],["ServicedBySystems",fu,5,!0],["ReferencesElements",yu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["BoundedBy",du,4,!0]],346874300:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1810631287:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4222183408:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2058353004:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],4278956645:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],4037862832:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2188021234:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3132237377:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],987401354:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],707683696:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2223149337:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3508470533:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],900683007:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2713699986:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3009204131:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainedInStructure",Cu,4,!0],["Positions",at,4,!0]],3319311131:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2068733104:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],4175244083:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2176052936:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2696325953:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],76236018:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],629592764:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1154579445:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainedInStructure",Cu,4,!0],["Positions",at,4,!0]],1638804497:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1437502449:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1073191201:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2078563270:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],234836483:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2474470126:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2182337498:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],144952367:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3694346114:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1383356374:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],1687234759:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],310824031:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3612865200:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3171933400:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],738039164:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],655969474:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],90941305:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3290496277:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2262370178:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3024970846:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3283111854:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],1232101972:[["LayerAssignment",CI,2,!0],["StyledByItem",sI,0,!0]],3798194928:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],979691226:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2572171363:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],2016517767:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3053780830:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1783015770:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1329646415:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],991950508:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1529196076:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3420628829:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1999602285:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1404847402:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],331165859:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],4252922144:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2515109513:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ReferencedInStructures",yu,4,!0],["ServicesBuildings",fu,4,!0],["ServicesFacilities",yu,4,!0]],385403989:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ReferencedInStructures",yu,4,!0],["SourceOfResultGroup",Ur,6,!0],["LoadGroupFor",ja,7,!0]],1621171031:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["AssignedToStructuralItem",Mu,5,!0]],1162798199:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],812556717:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3425753595:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3825984169:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1620046519:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3026737570:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3179687236:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],4292641817:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],4207607924:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2391406946:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3512223829:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],4237592921:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3304561284:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2874132201:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],1634111441:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],177149247:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2056796094:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3001207471:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],325726236:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["ContainedInStructure",Cu,4,!0],["Positions",at,4,!0]],277319702:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],753842376:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],4196446775:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],32344328:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3314249567:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],1095909175:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2938176219:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],635142910:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3758799889:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1051757585:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],4217484030:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3999819293:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],3902619387:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],639361253:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3221913625:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3571504051:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],2272882330:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],578613899:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["Types",Su,5,!0],["ReferencedBy",$u,6,!0]],3460952963:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],4136498852:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3640358203:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],4074379575:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3693000487:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1052013943:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],562808652:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["IsGroupedBy",tp,6,!0],["ReferencedInStructures",yu,4,!0],["ServicesBuildings",fu,4,!0],["ServicesFacilities",yu,4,!0]],1062813311:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["AssignedToFlowElement",Ru,4,!0]],342316401:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3518393246:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1360408905:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1904799276:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],862014818:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3310460725:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],24726584:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],264262732:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],402227799:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1003880860:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],3415622556:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],819412036:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],1426591983:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["HasControlElements",Ru,5,!0]],182646315:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["AssignedToFlowElement",Ru,4,!0]],2680139844:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],1971632696:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0]],2295281155:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["AssignedToFlowElement",Ru,4,!0]],4086658281:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["AssignedToFlowElement",Ru,4,!0]],630975310:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["AssignedToFlowElement",Ru,4,!0]],4288193352:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["AssignedToFlowElement",Ru,4,!0]],3087945054:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["AssignedToFlowElement",Ru,4,!0]],25142252:[["HasAssignments",ip,4,!0],["Nests",Eu,5,!0],["IsNestedBy",Eu,4,!0],["HasContext",wi,5,!0],["IsDecomposedBy",po,4,!0],["Decomposes",po,5,!0],["HasAssociations",Zu,4,!0],["IsDeclaredBy",vi,4,!0],["Declares",vi,5,!0],["IsTypedBy",Su,4,!0],["IsDefinedBy",bu,4,!0],["ReferencedBy",$u,6,!0],["PositionedRelativeTo",at,5,!0],["ReferencedInStructures",yu,4,!0],["FillsVoids",Du,5,!0],["ConnectedTo",Fu,5,!0],["IsInterferedByElements",mi,5,!0],["InterferesElements",mi,4,!0],["HasProjections",vu,4,!0],["HasOpenings",hu,4,!0],["IsConnectionRealization",Lu,7,!0],["ProvidesBoundaries",du,5,!0],["ConnectedFrom",Fu,6,!0],["ContainedInStructure",Cu,4,!0],["HasCoverings",xu,4,!0],["HasSurfaceFeatures",ge,4,!0],["HasPorts",Bu,5,!0],["AssignedToFlowElement",Ru,4,!0]]},Cm[3]={3630933823:(e,t)=>new r.IfcActorRole(e,t[0],t[1],t[2]),618182010:(e,t)=>new r.IfcAddress(e,t[0],t[1],t[2]),2879124712:(e,t)=>new r.IfcAlignmentParameterSegment(e,t[0],t[1]),3633395639:(e,t)=>new r.IfcAlignmentVerticalSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),639542469:(e,t)=>new r.IfcApplication(e,t[0],t[1],t[2],t[3]),411424972:(e,t)=>new r.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),130549933:(e,t)=>new r.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4037036970:(e,t)=>new r.IfcBoundaryCondition(e,t[0]),1560379544:(e,t)=>new r.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3367102660:(e,t)=>new r.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3]),1387855156:(e,t)=>new r.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2069777674:(e,t)=>new r.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2859738748:(e,t)=>new r.IfcConnectionGeometry(e),2614616156:(e,t)=>new r.IfcConnectionPointGeometry(e,t[0],t[1]),2732653382:(e,t)=>new r.IfcConnectionSurfaceGeometry(e,t[0],t[1]),775493141:(e,t)=>new r.IfcConnectionVolumeGeometry(e,t[0],t[1]),1959218052:(e,t)=>new r.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1785450214:(e,t)=>new r.IfcCoordinateOperation(e,t[0],t[1]),1466758467:(e,t)=>new r.IfcCoordinateReferenceSystem(e,t[0],t[1],t[2],t[3]),602808272:(e,t)=>new r.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1765591967:(e,t)=>new r.IfcDerivedUnit(e,t[0],t[1],t[2],t[3]),1045800335:(e,t)=>new r.IfcDerivedUnitElement(e,t[0],t[1]),2949456006:(e,t)=>new r.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),4294318154:(e,t)=>new r.IfcExternalInformation(e),3200245327:(e,t)=>new r.IfcExternalReference(e,t[0],t[1],t[2]),2242383968:(e,t)=>new r.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2]),1040185647:(e,t)=>new r.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2]),3548104201:(e,t)=>new r.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2]),852622518:(e,t)=>new r.IfcGridAxis(e,t[0],t[1],t[2]),3020489413:(e,t)=>new r.IfcIrregularTimeSeriesValue(e,t[0],t[1]),2655187982:(e,t)=>new r.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4],t[5]),3452421091:(e,t)=>new r.IfcLibraryReference(e,t[0],t[1],t[2],t[3],t[4],t[5]),4162380809:(e,t)=>new r.IfcLightDistributionData(e,t[0],t[1],t[2]),1566485204:(e,t)=>new r.IfcLightIntensityDistribution(e,t[0],t[1]),3057273783:(e,t)=>new r.IfcMapConversion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1847130766:(e,t)=>new r.IfcMaterialClassificationRelationship(e,t[0],t[1]),760658860:(e,t)=>new r.IfcMaterialDefinition(e),248100487:(e,t)=>new r.IfcMaterialLayer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3303938423:(e,t)=>new r.IfcMaterialLayerSet(e,t[0],t[1],t[2]),1847252529:(e,t)=>new r.IfcMaterialLayerWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2199411900:(e,t)=>new r.IfcMaterialList(e,t[0]),2235152071:(e,t)=>new r.IfcMaterialProfile(e,t[0],t[1],t[2],t[3],t[4],t[5]),164193824:(e,t)=>new r.IfcMaterialProfileSet(e,t[0],t[1],t[2],t[3]),552965576:(e,t)=>new r.IfcMaterialProfileWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1507914824:(e,t)=>new r.IfcMaterialUsageDefinition(e),2597039031:(e,t)=>new r.IfcMeasureWithUnit(e,t[0],t[1]),3368373690:(e,t)=>new r.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2706619895:(e,t)=>new r.IfcMonetaryUnit(e,t[0]),1918398963:(e,t)=>new r.IfcNamedUnit(e,t[0],t[1]),3701648758:(e,t)=>new r.IfcObjectPlacement(e,t[0]),2251480897:(e,t)=>new r.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4251960020:(e,t)=>new r.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4]),1207048766:(e,t)=>new r.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2077209135:(e,t)=>new r.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),101040310:(e,t)=>new r.IfcPersonAndOrganization(e,t[0],t[1],t[2]),2483315170:(e,t)=>new r.IfcPhysicalQuantity(e,t[0],t[1]),2226359599:(e,t)=>new r.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2]),3355820592:(e,t)=>new r.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),677532197:(e,t)=>new r.IfcPresentationItem(e),2022622350:(e,t)=>new r.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3]),1304840413:(e,t)=>new r.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3119450353:(e,t)=>new r.IfcPresentationStyle(e,t[0]),2095639259:(e,t)=>new r.IfcProductRepresentation(e,t[0],t[1],t[2]),3958567839:(e,t)=>new r.IfcProfileDef(e,t[0],t[1]),3843373140:(e,t)=>new r.IfcProjectedCRS(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),986844984:(e,t)=>new r.IfcPropertyAbstraction(e),3710013099:(e,t)=>new r.IfcPropertyEnumeration(e,t[0],t[1],t[2]),2044713172:(e,t)=>new r.IfcQuantityArea(e,t[0],t[1],t[2],t[3],t[4]),2093928680:(e,t)=>new r.IfcQuantityCount(e,t[0],t[1],t[2],t[3],t[4]),931644368:(e,t)=>new r.IfcQuantityLength(e,t[0],t[1],t[2],t[3],t[4]),2691318326:(e,t)=>new r.IfcQuantityNumber(e,t[0],t[1],t[2],t[3],t[4]),3252649465:(e,t)=>new r.IfcQuantityTime(e,t[0],t[1],t[2],t[3],t[4]),2405470396:(e,t)=>new r.IfcQuantityVolume(e,t[0],t[1],t[2],t[3],t[4]),825690147:(e,t)=>new r.IfcQuantityWeight(e,t[0],t[1],t[2],t[3],t[4]),3915482550:(e,t)=>new r.IfcRecurrencePattern(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2433181523:(e,t)=>new r.IfcReference(e,t[0],t[1],t[2],t[3],t[4]),1076942058:(e,t)=>new r.IfcRepresentation(e,t[0],t[1],t[2],t[3]),3377609919:(e,t)=>new r.IfcRepresentationContext(e,t[0],t[1]),3008791417:(e,t)=>new r.IfcRepresentationItem(e),1660063152:(e,t)=>new r.IfcRepresentationMap(e,t[0],t[1]),2439245199:(e,t)=>new r.IfcResourceLevelRelationship(e,t[0],t[1]),2341007311:(e,t)=>new r.IfcRoot(e,t[0],t[1],t[2],t[3]),448429030:(e,t)=>new r.IfcSIUnit(e,t[0],t[1],t[2],t[3]),1054537805:(e,t)=>new r.IfcSchedulingTime(e,t[0],t[1],t[2]),867548509:(e,t)=>new r.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4]),3982875396:(e,t)=>new r.IfcShapeModel(e,t[0],t[1],t[2],t[3]),4240577450:(e,t)=>new r.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3]),2273995522:(e,t)=>new r.IfcStructuralConnectionCondition(e,t[0]),2162789131:(e,t)=>new r.IfcStructuralLoad(e,t[0]),3478079324:(e,t)=>new r.IfcStructuralLoadConfiguration(e,t[0],t[1],t[2]),609421318:(e,t)=>new r.IfcStructuralLoadOrResult(e,t[0]),2525727697:(e,t)=>new r.IfcStructuralLoadStatic(e,t[0]),3408363356:(e,t)=>new r.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3]),2830218821:(e,t)=>new r.IfcStyleModel(e,t[0],t[1],t[2],t[3]),3958052878:(e,t)=>new r.IfcStyledItem(e,t[0],t[1],t[2]),3049322572:(e,t)=>new r.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3]),2934153892:(e,t)=>new r.IfcSurfaceReinforcementArea(e,t[0],t[1],t[2],t[3]),1300840506:(e,t)=>new r.IfcSurfaceStyle(e,t[0],t[1],t[2]),3303107099:(e,t)=>new r.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3]),1607154358:(e,t)=>new r.IfcSurfaceStyleRefraction(e,t[0],t[1]),846575682:(e,t)=>new r.IfcSurfaceStyleShading(e,t[0],t[1]),1351298697:(e,t)=>new r.IfcSurfaceStyleWithTextures(e,t[0]),626085974:(e,t)=>new r.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3],t[4]),985171141:(e,t)=>new r.IfcTable(e,t[0],t[1],t[2]),2043862942:(e,t)=>new r.IfcTableColumn(e,t[0],t[1],t[2],t[3],t[4]),531007025:(e,t)=>new r.IfcTableRow(e,t[0],t[1]),1549132990:(e,t)=>new r.IfcTaskTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19]),2771591690:(e,t)=>new r.IfcTaskTimeRecurring(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20]),912023232:(e,t)=>new r.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1447204868:(e,t)=>new r.IfcTextStyle(e,t[0],t[1],t[2],t[3],t[4]),2636378356:(e,t)=>new r.IfcTextStyleForDefinedFont(e,t[0],t[1]),1640371178:(e,t)=>new r.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),280115917:(e,t)=>new r.IfcTextureCoordinate(e,t[0]),1742049831:(e,t)=>new r.IfcTextureCoordinateGenerator(e,t[0],t[1],t[2]),222769930:(e,t)=>new r.IfcTextureCoordinateIndices(e,t[0],t[1]),1010789467:(e,t)=>new r.IfcTextureCoordinateIndicesWithVoids(e,t[0],t[1],t[2]),2552916305:(e,t)=>new r.IfcTextureMap(e,t[0],t[1],t[2]),1210645708:(e,t)=>new r.IfcTextureVertex(e,t[0]),3611470254:(e,t)=>new r.IfcTextureVertexList(e,t[0]),1199560280:(e,t)=>new r.IfcTimePeriod(e,t[0],t[1]),3101149627:(e,t)=>new r.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),581633288:(e,t)=>new r.IfcTimeSeriesValue(e,t[0]),1377556343:(e,t)=>new r.IfcTopologicalRepresentationItem(e),1735638870:(e,t)=>new r.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3]),180925521:(e,t)=>new r.IfcUnitAssignment(e,t[0]),2799835756:(e,t)=>new r.IfcVertex(e),1907098498:(e,t)=>new r.IfcVertexPoint(e,t[0]),891718957:(e,t)=>new r.IfcVirtualGridIntersection(e,t[0],t[1]),1236880293:(e,t)=>new r.IfcWorkTime(e,t[0],t[1],t[2],t[3],t[4],t[5]),3752311538:(e,t)=>new r.IfcAlignmentCantSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),536804194:(e,t)=>new r.IfcAlignmentHorizontalSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3869604511:(e,t)=>new r.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3]),3798115385:(e,t)=>new r.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2]),1310608509:(e,t)=>new r.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2]),2705031697:(e,t)=>new r.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3]),616511568:(e,t)=>new r.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3150382593:(e,t)=>new r.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3]),747523909:(e,t)=>new r.IfcClassification(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),647927063:(e,t)=>new r.IfcClassificationReference(e,t[0],t[1],t[2],t[3],t[4],t[5]),3285139300:(e,t)=>new r.IfcColourRgbList(e,t[0]),3264961684:(e,t)=>new r.IfcColourSpecification(e,t[0]),1485152156:(e,t)=>new r.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3]),370225590:(e,t)=>new r.IfcConnectedFaceSet(e,t[0]),1981873012:(e,t)=>new r.IfcConnectionCurveGeometry(e,t[0],t[1]),45288368:(e,t)=>new r.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4]),3050246964:(e,t)=>new r.IfcContextDependentUnit(e,t[0],t[1],t[2]),2889183280:(e,t)=>new r.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3]),2713554722:(e,t)=>new r.IfcConversionBasedUnitWithOffset(e,t[0],t[1],t[2],t[3],t[4]),539742890:(e,t)=>new r.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3800577675:(e,t)=>new r.IfcCurveStyle(e,t[0],t[1],t[2],t[3],t[4]),1105321065:(e,t)=>new r.IfcCurveStyleFont(e,t[0],t[1]),2367409068:(e,t)=>new r.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2]),3510044353:(e,t)=>new r.IfcCurveStyleFontPattern(e,t[0],t[1]),3632507154:(e,t)=>new r.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4]),1154170062:(e,t)=>new r.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),770865208:(e,t)=>new r.IfcDocumentInformationRelationship(e,t[0],t[1],t[2],t[3],t[4]),3732053477:(e,t)=>new r.IfcDocumentReference(e,t[0],t[1],t[2],t[3],t[4]),3900360178:(e,t)=>new r.IfcEdge(e,t[0],t[1]),476780140:(e,t)=>new r.IfcEdgeCurve(e,t[0],t[1],t[2],t[3]),211053100:(e,t)=>new r.IfcEventTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),297599258:(e,t)=>new r.IfcExtendedProperties(e,t[0],t[1],t[2]),1437805879:(e,t)=>new r.IfcExternalReferenceRelationship(e,t[0],t[1],t[2],t[3]),2556980723:(e,t)=>new r.IfcFace(e,t[0]),1809719519:(e,t)=>new r.IfcFaceBound(e,t[0],t[1]),803316827:(e,t)=>new r.IfcFaceOuterBound(e,t[0],t[1]),3008276851:(e,t)=>new r.IfcFaceSurface(e,t[0],t[1],t[2]),4219587988:(e,t)=>new r.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),738692330:(e,t)=>new r.IfcFillAreaStyle(e,t[0],t[1],t[2]),3448662350:(e,t)=>new r.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5]),2453401579:(e,t)=>new r.IfcGeometricRepresentationItem(e),4142052618:(e,t)=>new r.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3590301190:(e,t)=>new r.IfcGeometricSet(e,t[0]),178086475:(e,t)=>new r.IfcGridPlacement(e,t[0],t[1],t[2]),812098782:(e,t)=>new r.IfcHalfSpaceSolid(e,t[0],t[1]),3905492369:(e,t)=>new r.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4],t[5]),3570813810:(e,t)=>new r.IfcIndexedColourMap(e,t[0],t[1],t[2],t[3]),1437953363:(e,t)=>new r.IfcIndexedTextureMap(e,t[0],t[1],t[2]),2133299955:(e,t)=>new r.IfcIndexedTriangleTextureMap(e,t[0],t[1],t[2],t[3]),3741457305:(e,t)=>new r.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1585845231:(e,t)=>new r.IfcLagTime(e,t[0],t[1],t[2],t[3],t[4]),1402838566:(e,t)=>new r.IfcLightSource(e,t[0],t[1],t[2],t[3]),125510826:(e,t)=>new r.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3]),2604431987:(e,t)=>new r.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4]),4266656042:(e,t)=>new r.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1520743889:(e,t)=>new r.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3422422726:(e,t)=>new r.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),388784114:(e,t)=>new r.IfcLinearPlacement(e,t[0],t[1],t[2]),2624227202:(e,t)=>new r.IfcLocalPlacement(e,t[0],t[1]),1008929658:(e,t)=>new r.IfcLoop(e),2347385850:(e,t)=>new r.IfcMappedItem(e,t[0],t[1]),1838606355:(e,t)=>new r.IfcMaterial(e,t[0],t[1],t[2]),3708119e3:(e,t)=>new r.IfcMaterialConstituent(e,t[0],t[1],t[2],t[3],t[4]),2852063980:(e,t)=>new r.IfcMaterialConstituentSet(e,t[0],t[1],t[2]),2022407955:(e,t)=>new r.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3]),1303795690:(e,t)=>new r.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3],t[4]),3079605661:(e,t)=>new r.IfcMaterialProfileSetUsage(e,t[0],t[1],t[2]),3404854881:(e,t)=>new r.IfcMaterialProfileSetUsageTapering(e,t[0],t[1],t[2],t[3],t[4]),3265635763:(e,t)=>new r.IfcMaterialProperties(e,t[0],t[1],t[2],t[3]),853536259:(e,t)=>new r.IfcMaterialRelationship(e,t[0],t[1],t[2],t[3],t[4]),2998442950:(e,t)=>new r.IfcMirroredProfileDef(e,t[0],t[1],t[2],t[3],t[4]),219451334:(e,t)=>new r.IfcObjectDefinition(e,t[0],t[1],t[2],t[3]),182550632:(e,t)=>new r.IfcOpenCrossProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2665983363:(e,t)=>new r.IfcOpenShell(e,t[0]),1411181986:(e,t)=>new r.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3]),1029017970:(e,t)=>new r.IfcOrientedEdge(e,t[0],t[1],t[2]),2529465313:(e,t)=>new r.IfcParameterizedProfileDef(e,t[0],t[1],t[2]),2519244187:(e,t)=>new r.IfcPath(e,t[0]),3021840470:(e,t)=>new r.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5]),597895409:(e,t)=>new r.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2004835150:(e,t)=>new r.IfcPlacement(e,t[0]),1663979128:(e,t)=>new r.IfcPlanarExtent(e,t[0],t[1]),2067069095:(e,t)=>new r.IfcPoint(e),2165702409:(e,t)=>new r.IfcPointByDistanceExpression(e,t[0],t[1],t[2],t[3],t[4]),4022376103:(e,t)=>new r.IfcPointOnCurve(e,t[0],t[1]),1423911732:(e,t)=>new r.IfcPointOnSurface(e,t[0],t[1],t[2]),2924175390:(e,t)=>new r.IfcPolyLoop(e,t[0]),2775532180:(e,t)=>new r.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3]),3727388367:(e,t)=>new r.IfcPreDefinedItem(e,t[0]),3778827333:(e,t)=>new r.IfcPreDefinedProperties(e),1775413392:(e,t)=>new r.IfcPreDefinedTextFont(e,t[0]),673634403:(e,t)=>new r.IfcProductDefinitionShape(e,t[0],t[1],t[2]),2802850158:(e,t)=>new r.IfcProfileProperties(e,t[0],t[1],t[2],t[3]),2598011224:(e,t)=>new r.IfcProperty(e,t[0],t[1]),1680319473:(e,t)=>new r.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3]),148025276:(e,t)=>new r.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4]),3357820518:(e,t)=>new r.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3]),1482703590:(e,t)=>new r.IfcPropertyTemplateDefinition(e,t[0],t[1],t[2],t[3]),2090586900:(e,t)=>new r.IfcQuantitySet(e,t[0],t[1],t[2],t[3]),3615266464:(e,t)=>new r.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4]),3413951693:(e,t)=>new r.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1580146022:(e,t)=>new r.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),478536968:(e,t)=>new r.IfcRelationship(e,t[0],t[1],t[2],t[3]),2943643501:(e,t)=>new r.IfcResourceApprovalRelationship(e,t[0],t[1],t[2],t[3]),1608871552:(e,t)=>new r.IfcResourceConstraintRelationship(e,t[0],t[1],t[2],t[3]),1042787934:(e,t)=>new r.IfcResourceTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17]),2778083089:(e,t)=>new r.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5]),2042790032:(e,t)=>new r.IfcSectionProperties(e,t[0],t[1],t[2]),4165799628:(e,t)=>new r.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),1509187699:(e,t)=>new r.IfcSectionedSpine(e,t[0],t[1],t[2]),823603102:(e,t)=>new r.IfcSegment(e,t[0]),4124623270:(e,t)=>new r.IfcShellBasedSurfaceModel(e,t[0]),3692461612:(e,t)=>new r.IfcSimpleProperty(e,t[0],t[1]),2609359061:(e,t)=>new r.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3]),723233188:(e,t)=>new r.IfcSolidModel(e),1595516126:(e,t)=>new r.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2668620305:(e,t)=>new r.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3]),2473145415:(e,t)=>new r.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1973038258:(e,t)=>new r.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1597423693:(e,t)=>new r.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1190533807:(e,t)=>new r.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2233826070:(e,t)=>new r.IfcSubedge(e,t[0],t[1],t[2]),2513912981:(e,t)=>new r.IfcSurface(e),1878645084:(e,t)=>new r.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2247615214:(e,t)=>new r.IfcSweptAreaSolid(e,t[0],t[1]),1260650574:(e,t)=>new r.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4]),1096409881:(e,t)=>new r.IfcSweptDiskSolidPolygonal(e,t[0],t[1],t[2],t[3],t[4],t[5]),230924584:(e,t)=>new r.IfcSweptSurface(e,t[0],t[1]),3071757647:(e,t)=>new r.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),901063453:(e,t)=>new r.IfcTessellatedItem(e),4282788508:(e,t)=>new r.IfcTextLiteral(e,t[0],t[1],t[2]),3124975700:(e,t)=>new r.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4]),1983826977:(e,t)=>new r.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5]),2715220739:(e,t)=>new r.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1628702193:(e,t)=>new r.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5]),3736923433:(e,t)=>new r.IfcTypeProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2347495698:(e,t)=>new r.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3698973494:(e,t)=>new r.IfcTypeResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),427810014:(e,t)=>new r.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1417489154:(e,t)=>new r.IfcVector(e,t[0],t[1]),2759199220:(e,t)=>new r.IfcVertexLoop(e,t[0]),2543172580:(e,t)=>new r.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3406155212:(e,t)=>new r.IfcAdvancedFace(e,t[0],t[1],t[2]),669184980:(e,t)=>new r.IfcAnnotationFillArea(e,t[0],t[1]),3207858831:(e,t)=>new r.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14]),4261334040:(e,t)=>new r.IfcAxis1Placement(e,t[0],t[1]),3125803723:(e,t)=>new r.IfcAxis2Placement2D(e,t[0],t[1]),2740243338:(e,t)=>new r.IfcAxis2Placement3D(e,t[0],t[1],t[2]),3425423356:(e,t)=>new r.IfcAxis2PlacementLinear(e,t[0],t[1],t[2]),2736907675:(e,t)=>new r.IfcBooleanResult(e,t[0],t[1],t[2]),4182860854:(e,t)=>new r.IfcBoundedSurface(e),2581212453:(e,t)=>new r.IfcBoundingBox(e,t[0],t[1],t[2],t[3]),2713105998:(e,t)=>new r.IfcBoxedHalfSpace(e,t[0],t[1],t[2]),2898889636:(e,t)=>new r.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1123145078:(e,t)=>new r.IfcCartesianPoint(e,t[0]),574549367:(e,t)=>new r.IfcCartesianPointList(e),1675464909:(e,t)=>new r.IfcCartesianPointList2D(e,t[0],t[1]),2059837836:(e,t)=>new r.IfcCartesianPointList3D(e,t[0],t[1]),59481748:(e,t)=>new r.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3]),3749851601:(e,t)=>new r.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3]),3486308946:(e,t)=>new r.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4]),3331915920:(e,t)=>new r.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4]),1416205885:(e,t)=>new r.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1383045692:(e,t)=>new r.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3]),2205249479:(e,t)=>new r.IfcClosedShell(e,t[0]),776857604:(e,t)=>new r.IfcColourRgb(e,t[0],t[1],t[2],t[3]),2542286263:(e,t)=>new r.IfcComplexProperty(e,t[0],t[1],t[2],t[3]),2485617015:(e,t)=>new r.IfcCompositeCurveSegment(e,t[0],t[1],t[2]),2574617495:(e,t)=>new r.IfcConstructionResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3419103109:(e,t)=>new r.IfcContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1815067380:(e,t)=>new r.IfcCrewResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2506170314:(e,t)=>new r.IfcCsgPrimitive3D(e,t[0]),2147822146:(e,t)=>new r.IfcCsgSolid(e,t[0]),2601014836:(e,t)=>new r.IfcCurve(e),2827736869:(e,t)=>new r.IfcCurveBoundedPlane(e,t[0],t[1],t[2]),2629017746:(e,t)=>new r.IfcCurveBoundedSurface(e,t[0],t[1],t[2]),4212018352:(e,t)=>new r.IfcCurveSegment(e,t[0],t[1],t[2],t[3],t[4]),32440307:(e,t)=>new r.IfcDirection(e,t[0]),593015953:(e,t)=>new r.IfcDirectrixCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4]),1472233963:(e,t)=>new r.IfcEdgeLoop(e,t[0]),1883228015:(e,t)=>new r.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5]),339256511:(e,t)=>new r.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2777663545:(e,t)=>new r.IfcElementarySurface(e,t[0]),2835456948:(e,t)=>new r.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4]),4024345920:(e,t)=>new r.IfcEventType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),477187591:(e,t)=>new r.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3]),2804161546:(e,t)=>new r.IfcExtrudedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4]),2047409740:(e,t)=>new r.IfcFaceBasedSurfaceModel(e,t[0]),374418227:(e,t)=>new r.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4]),315944413:(e,t)=>new r.IfcFillAreaStyleTiles(e,t[0],t[1],t[2]),2652556860:(e,t)=>new r.IfcFixedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5]),4238390223:(e,t)=>new r.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1268542332:(e,t)=>new r.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4095422895:(e,t)=>new r.IfcGeographicElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),987898635:(e,t)=>new r.IfcGeometricCurveSet(e,t[0]),1484403080:(e,t)=>new r.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),178912537:(e,t)=>new r.IfcIndexedPolygonalFace(e,t[0]),2294589976:(e,t)=>new r.IfcIndexedPolygonalFaceWithVoids(e,t[0],t[1]),3465909080:(e,t)=>new r.IfcIndexedPolygonalTextureMap(e,t[0],t[1],t[2],t[3]),572779678:(e,t)=>new r.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),428585644:(e,t)=>new r.IfcLaborResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1281925730:(e,t)=>new r.IfcLine(e,t[0],t[1]),1425443689:(e,t)=>new r.IfcManifoldSolidBrep(e,t[0]),3888040117:(e,t)=>new r.IfcObject(e,t[0],t[1],t[2],t[3],t[4]),590820931:(e,t)=>new r.IfcOffsetCurve(e,t[0]),3388369263:(e,t)=>new r.IfcOffsetCurve2D(e,t[0],t[1],t[2]),3505215534:(e,t)=>new r.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3]),2485787929:(e,t)=>new r.IfcOffsetCurveByDistances(e,t[0],t[1],t[2]),1682466193:(e,t)=>new r.IfcPcurve(e,t[0],t[1]),603570806:(e,t)=>new r.IfcPlanarBox(e,t[0],t[1],t[2]),220341763:(e,t)=>new r.IfcPlane(e,t[0]),3381221214:(e,t)=>new r.IfcPolynomialCurve(e,t[0],t[1],t[2],t[3]),759155922:(e,t)=>new r.IfcPreDefinedColour(e,t[0]),2559016684:(e,t)=>new r.IfcPreDefinedCurveFont(e,t[0]),3967405729:(e,t)=>new r.IfcPreDefinedPropertySet(e,t[0],t[1],t[2],t[3]),569719735:(e,t)=>new r.IfcProcedureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2945172077:(e,t)=>new r.IfcProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),4208778838:(e,t)=>new r.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),103090709:(e,t)=>new r.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),653396225:(e,t)=>new r.IfcProjectLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),871118103:(e,t)=>new r.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4],t[5]),4166981789:(e,t)=>new r.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3]),2752243245:(e,t)=>new r.IfcPropertyListValue(e,t[0],t[1],t[2],t[3]),941946838:(e,t)=>new r.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3]),1451395588:(e,t)=>new r.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4]),492091185:(e,t)=>new r.IfcPropertySetTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3650150729:(e,t)=>new r.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3]),110355661:(e,t)=>new r.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3521284610:(e,t)=>new r.IfcPropertyTemplate(e,t[0],t[1],t[2],t[3]),2770003689:(e,t)=>new r.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2798486643:(e,t)=>new r.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3]),3454111270:(e,t)=>new r.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3765753017:(e,t)=>new r.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),3939117080:(e,t)=>new r.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5]),1683148259:(e,t)=>new r.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2495723537:(e,t)=>new r.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1307041759:(e,t)=>new r.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1027710054:(e,t)=>new r.IfcRelAssignsToGroupByFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4278684876:(e,t)=>new r.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2857406711:(e,t)=>new r.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),205026976:(e,t)=>new r.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1865459582:(e,t)=>new r.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4]),4095574036:(e,t)=>new r.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5]),919958153:(e,t)=>new r.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5]),2728634034:(e,t)=>new r.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),982818633:(e,t)=>new r.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5]),3840914261:(e,t)=>new r.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5]),2655215786:(e,t)=>new r.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5]),1033248425:(e,t)=>new r.IfcRelAssociatesProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5]),826625072:(e,t)=>new r.IfcRelConnects(e,t[0],t[1],t[2],t[3]),1204542856:(e,t)=>new r.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3945020480:(e,t)=>new r.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4201705270:(e,t)=>new r.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),3190031847:(e,t)=>new r.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2127690289:(e,t)=>new r.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5]),1638771189:(e,t)=>new r.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),504942748:(e,t)=>new r.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3678494232:(e,t)=>new r.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3242617779:(e,t)=>new r.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5]),886880790:(e,t)=>new r.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5]),2802773753:(e,t)=>new r.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5]),2565941209:(e,t)=>new r.IfcRelDeclares(e,t[0],t[1],t[2],t[3],t[4],t[5]),2551354335:(e,t)=>new r.IfcRelDecomposes(e,t[0],t[1],t[2],t[3]),693640335:(e,t)=>new r.IfcRelDefines(e,t[0],t[1],t[2],t[3]),1462361463:(e,t)=>new r.IfcRelDefinesByObject(e,t[0],t[1],t[2],t[3],t[4],t[5]),4186316022:(e,t)=>new r.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5]),307848117:(e,t)=>new r.IfcRelDefinesByTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5]),781010003:(e,t)=>new r.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5]),3940055652:(e,t)=>new r.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),279856033:(e,t)=>new r.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5]),427948657:(e,t)=>new r.IfcRelInterferesElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3268803585:(e,t)=>new r.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5]),1441486842:(e,t)=>new r.IfcRelPositions(e,t[0],t[1],t[2],t[3],t[4],t[5]),750771296:(e,t)=>new r.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),1245217292:(e,t)=>new r.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5]),4122056220:(e,t)=>new r.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),366585022:(e,t)=>new r.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5]),3451746338:(e,t)=>new r.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3523091289:(e,t)=>new r.IfcRelSpaceBoundary1stLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1521410863:(e,t)=>new r.IfcRelSpaceBoundary2ndLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1401173127:(e,t)=>new r.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),816062949:(e,t)=>new r.IfcReparametrisedCompositeCurveSegment(e,t[0],t[1],t[2],t[3]),2914609552:(e,t)=>new r.IfcResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1856042241:(e,t)=>new r.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3]),3243963512:(e,t)=>new r.IfcRevolvedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4]),4158566097:(e,t)=>new r.IfcRightCircularCone(e,t[0],t[1],t[2]),3626867408:(e,t)=>new r.IfcRightCircularCylinder(e,t[0],t[1],t[2]),1862484736:(e,t)=>new r.IfcSectionedSolid(e,t[0],t[1]),1290935644:(e,t)=>new r.IfcSectionedSolidHorizontal(e,t[0],t[1],t[2]),1356537516:(e,t)=>new r.IfcSectionedSurface(e,t[0],t[1],t[2]),3663146110:(e,t)=>new r.IfcSimplePropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1412071761:(e,t)=>new r.IfcSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),710998568:(e,t)=>new r.IfcSpatialElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2706606064:(e,t)=>new r.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3893378262:(e,t)=>new r.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),463610769:(e,t)=>new r.IfcSpatialZone(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2481509218:(e,t)=>new r.IfcSpatialZoneType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),451544542:(e,t)=>new r.IfcSphere(e,t[0],t[1]),4015995234:(e,t)=>new r.IfcSphericalSurface(e,t[0],t[1]),2735484536:(e,t)=>new r.IfcSpiral(e,t[0]),3544373492:(e,t)=>new r.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3136571912:(e,t)=>new r.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),530289379:(e,t)=>new r.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3689010777:(e,t)=>new r.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3979015343:(e,t)=>new r.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2218152070:(e,t)=>new r.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),603775116:(e,t)=>new r.IfcStructuralSurfaceReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4095615324:(e,t)=>new r.IfcSubContractResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),699246055:(e,t)=>new r.IfcSurfaceCurve(e,t[0],t[1],t[2]),2028607225:(e,t)=>new r.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5]),2809605785:(e,t)=>new r.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3]),4124788165:(e,t)=>new r.IfcSurfaceOfRevolution(e,t[0],t[1],t[2]),1580310250:(e,t)=>new r.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3473067441:(e,t)=>new r.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),3206491090:(e,t)=>new r.IfcTaskType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2387106220:(e,t)=>new r.IfcTessellatedFaceSet(e,t[0],t[1]),782932809:(e,t)=>new r.IfcThirdOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3],t[4]),1935646853:(e,t)=>new r.IfcToroidalSurface(e,t[0],t[1],t[2]),3665877780:(e,t)=>new r.IfcTransportationDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2916149573:(e,t)=>new r.IfcTriangulatedFaceSet(e,t[0],t[1],t[2],t[3],t[4]),1229763772:(e,t)=>new r.IfcTriangulatedIrregularNetwork(e,t[0],t[1],t[2],t[3],t[4],t[5]),3651464721:(e,t)=>new r.IfcVehicleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),336235671:(e,t)=>new r.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]),512836454:(e,t)=>new r.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2296667514:(e,t)=>new r.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5]),1635779807:(e,t)=>new r.IfcAdvancedBrep(e,t[0]),2603310189:(e,t)=>new r.IfcAdvancedBrepWithVoids(e,t[0],t[1]),1674181508:(e,t)=>new r.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2887950389:(e,t)=>new r.IfcBSplineSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),167062518:(e,t)=>new r.IfcBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1334484129:(e,t)=>new r.IfcBlock(e,t[0],t[1],t[2],t[3]),3649129432:(e,t)=>new r.IfcBooleanClippingResult(e,t[0],t[1],t[2]),1260505505:(e,t)=>new r.IfcBoundedCurve(e),3124254112:(e,t)=>new r.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1626504194:(e,t)=>new r.IfcBuiltElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2197970202:(e,t)=>new r.IfcChimneyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2937912522:(e,t)=>new r.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4]),3893394355:(e,t)=>new r.IfcCivilElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3497074424:(e,t)=>new r.IfcClothoid(e,t[0],t[1]),300633059:(e,t)=>new r.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3875453745:(e,t)=>new r.IfcComplexPropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3732776249:(e,t)=>new r.IfcCompositeCurve(e,t[0],t[1]),15328376:(e,t)=>new r.IfcCompositeCurveOnSurface(e,t[0],t[1]),2510884976:(e,t)=>new r.IfcConic(e,t[0]),2185764099:(e,t)=>new r.IfcConstructionEquipmentResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),4105962743:(e,t)=>new r.IfcConstructionMaterialResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1525564444:(e,t)=>new r.IfcConstructionProductResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2559216714:(e,t)=>new r.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3293443760:(e,t)=>new r.IfcControl(e,t[0],t[1],t[2],t[3],t[4],t[5]),2000195564:(e,t)=>new r.IfcCosineSpiral(e,t[0],t[1],t[2]),3895139033:(e,t)=>new r.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1419761937:(e,t)=>new r.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4189326743:(e,t)=>new r.IfcCourseType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1916426348:(e,t)=>new r.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3295246426:(e,t)=>new r.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1457835157:(e,t)=>new r.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1213902940:(e,t)=>new r.IfcCylindricalSurface(e,t[0],t[1]),1306400036:(e,t)=>new r.IfcDeepFoundationType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4234616927:(e,t)=>new r.IfcDirectrixDerivedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5]),3256556792:(e,t)=>new r.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3849074793:(e,t)=>new r.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2963535650:(e,t)=>new r.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),1714330368:(e,t)=>new r.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2323601079:(e,t)=>new r.IfcDoorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),445594917:(e,t)=>new r.IfcDraughtingPreDefinedColour(e,t[0]),4006246654:(e,t)=>new r.IfcDraughtingPreDefinedCurveFont(e,t[0]),1758889154:(e,t)=>new r.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4123344466:(e,t)=>new r.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2397081782:(e,t)=>new r.IfcElementAssemblyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1623761950:(e,t)=>new r.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2590856083:(e,t)=>new r.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1704287377:(e,t)=>new r.IfcEllipse(e,t[0],t[1],t[2]),2107101300:(e,t)=>new r.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),132023988:(e,t)=>new r.IfcEngineType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3174744832:(e,t)=>new r.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3390157468:(e,t)=>new r.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4148101412:(e,t)=>new r.IfcEvent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2853485674:(e,t)=>new r.IfcExternalSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),807026263:(e,t)=>new r.IfcFacetedBrep(e,t[0]),3737207727:(e,t)=>new r.IfcFacetedBrepWithVoids(e,t[0],t[1]),24185140:(e,t)=>new r.IfcFacility(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1310830890:(e,t)=>new r.IfcFacilityPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4228831410:(e,t)=>new r.IfcFacilityPartCommon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),647756555:(e,t)=>new r.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2489546625:(e,t)=>new r.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2827207264:(e,t)=>new r.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2143335405:(e,t)=>new r.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1287392070:(e,t)=>new r.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3907093117:(e,t)=>new r.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3198132628:(e,t)=>new r.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3815607619:(e,t)=>new r.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1482959167:(e,t)=>new r.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1834744321:(e,t)=>new r.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1339347760:(e,t)=>new r.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2297155007:(e,t)=>new r.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3009222698:(e,t)=>new r.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1893162501:(e,t)=>new r.IfcFootingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),263784265:(e,t)=>new r.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1509553395:(e,t)=>new r.IfcFurniture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3493046030:(e,t)=>new r.IfcGeographicElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4230923436:(e,t)=>new r.IfcGeotechnicalElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1594536857:(e,t)=>new r.IfcGeotechnicalStratum(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2898700619:(e,t)=>new r.IfcGradientCurve(e,t[0],t[1],t[2],t[3]),2706460486:(e,t)=>new r.IfcGroup(e,t[0],t[1],t[2],t[3],t[4]),1251058090:(e,t)=>new r.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1806887404:(e,t)=>new r.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2568555532:(e,t)=>new r.IfcImpactProtectionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3948183225:(e,t)=>new r.IfcImpactProtectionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2571569899:(e,t)=>new r.IfcIndexedPolyCurve(e,t[0],t[1],t[2]),3946677679:(e,t)=>new r.IfcInterceptorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3113134337:(e,t)=>new r.IfcIntersectionCurve(e,t[0],t[1],t[2]),2391368822:(e,t)=>new r.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4288270099:(e,t)=>new r.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),679976338:(e,t)=>new r.IfcKerbType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3827777499:(e,t)=>new r.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1051575348:(e,t)=>new r.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1161773419:(e,t)=>new r.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2176059722:(e,t)=>new r.IfcLinearElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1770583370:(e,t)=>new r.IfcLiquidTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),525669439:(e,t)=>new r.IfcMarineFacility(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),976884017:(e,t)=>new r.IfcMarinePart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),377706215:(e,t)=>new r.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2108223431:(e,t)=>new r.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1114901282:(e,t)=>new r.IfcMedicalDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3181161470:(e,t)=>new r.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1950438474:(e,t)=>new r.IfcMobileTelecommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),710110818:(e,t)=>new r.IfcMooringDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),977012517:(e,t)=>new r.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),506776471:(e,t)=>new r.IfcNavigationElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4143007308:(e,t)=>new r.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3588315303:(e,t)=>new r.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2837617999:(e,t)=>new r.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),514975943:(e,t)=>new r.IfcPavementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2382730787:(e,t)=>new r.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3566463478:(e,t)=>new r.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3327091369:(e,t)=>new r.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1158309216:(e,t)=>new r.IfcPileType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),804291784:(e,t)=>new r.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4231323485:(e,t)=>new r.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4017108033:(e,t)=>new r.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2839578677:(e,t)=>new r.IfcPolygonalFaceSet(e,t[0],t[1],t[2],t[3]),3724593414:(e,t)=>new r.IfcPolyline(e,t[0]),3740093272:(e,t)=>new r.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1946335990:(e,t)=>new r.IfcPositioningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2744685151:(e,t)=>new r.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2904328755:(e,t)=>new r.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3651124850:(e,t)=>new r.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1842657554:(e,t)=>new r.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2250791053:(e,t)=>new r.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1763565496:(e,t)=>new r.IfcRailType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2893384427:(e,t)=>new r.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3992365140:(e,t)=>new r.IfcRailway(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1891881377:(e,t)=>new r.IfcRailwayPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2324767716:(e,t)=>new r.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1469900589:(e,t)=>new r.IfcRampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),683857671:(e,t)=>new r.IfcRationalBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),4021432810:(e,t)=>new r.IfcReferent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3027567501:(e,t)=>new r.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),964333572:(e,t)=>new r.IfcReinforcingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2320036040:(e,t)=>new r.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17]),2310774935:(e,t)=>new r.IfcReinforcingMeshType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19]),3818125796:(e,t)=>new r.IfcRelAdheresToElement(e,t[0],t[1],t[2],t[3],t[4],t[5]),160246688:(e,t)=>new r.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5]),146592293:(e,t)=>new r.IfcRoad(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),550521510:(e,t)=>new r.IfcRoadPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2781568857:(e,t)=>new r.IfcRoofType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1768891740:(e,t)=>new r.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2157484638:(e,t)=>new r.IfcSeamCurve(e,t[0],t[1],t[2]),3649235739:(e,t)=>new r.IfcSecondOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3]),544395925:(e,t)=>new r.IfcSegmentedReferenceCurve(e,t[0],t[1],t[2],t[3]),1027922057:(e,t)=>new r.IfcSeventhOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4074543187:(e,t)=>new r.IfcShadingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),33720170:(e,t)=>new r.IfcSign(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3599934289:(e,t)=>new r.IfcSignType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1894708472:(e,t)=>new r.IfcSignalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),42703149:(e,t)=>new r.IfcSineSpiral(e,t[0],t[1],t[2],t[3]),4097777520:(e,t)=>new r.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),2533589738:(e,t)=>new r.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1072016465:(e,t)=>new r.IfcSolarDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3856911033:(e,t)=>new r.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1305183839:(e,t)=>new r.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3812236995:(e,t)=>new r.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3112655638:(e,t)=>new r.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1039846685:(e,t)=>new r.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),338393293:(e,t)=>new r.IfcStairType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),682877961:(e,t)=>new r.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1179482911:(e,t)=>new r.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1004757350:(e,t)=>new r.IfcStructuralCurveAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),4243806635:(e,t)=>new r.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),214636428:(e,t)=>new r.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2445595289:(e,t)=>new r.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2757150158:(e,t)=>new r.IfcStructuralCurveReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1807405624:(e,t)=>new r.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1252848954:(e,t)=>new r.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2082059205:(e,t)=>new r.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),734778138:(e,t)=>new r.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1235345126:(e,t)=>new r.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2986769608:(e,t)=>new r.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3657597509:(e,t)=>new r.IfcStructuralSurfaceAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1975003073:(e,t)=>new r.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),148013059:(e,t)=>new r.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3101698114:(e,t)=>new r.IfcSurfaceFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2315554128:(e,t)=>new r.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2254336722:(e,t)=>new r.IfcSystem(e,t[0],t[1],t[2],t[3],t[4]),413509423:(e,t)=>new r.IfcSystemFurnitureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),5716631:(e,t)=>new r.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3824725483:(e,t)=>new r.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16]),2347447852:(e,t)=>new r.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3081323446:(e,t)=>new r.IfcTendonAnchorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3663046924:(e,t)=>new r.IfcTendonConduit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2281632017:(e,t)=>new r.IfcTendonConduitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2415094496:(e,t)=>new r.IfcTendonType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),618700268:(e,t)=>new r.IfcTrackElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1692211062:(e,t)=>new r.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2097647324:(e,t)=>new r.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1953115116:(e,t)=>new r.IfcTransportationDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3593883385:(e,t)=>new r.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4]),1600972822:(e,t)=>new r.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1911125066:(e,t)=>new r.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),728799441:(e,t)=>new r.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),840318589:(e,t)=>new r.IfcVehicle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1530820697:(e,t)=>new r.IfcVibrationDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3956297820:(e,t)=>new r.IfcVibrationDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2391383451:(e,t)=>new r.IfcVibrationIsolator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3313531582:(e,t)=>new r.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2769231204:(e,t)=>new r.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),926996030:(e,t)=>new r.IfcVoidingFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1898987631:(e,t)=>new r.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1133259667:(e,t)=>new r.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4009809668:(e,t)=>new r.IfcWindowType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),4088093105:(e,t)=>new r.IfcWorkCalendar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1028945134:(e,t)=>new r.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),4218914973:(e,t)=>new r.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),3342526732:(e,t)=>new r.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),1033361043:(e,t)=>new r.IfcZone(e,t[0],t[1],t[2],t[3],t[4],t[5]),3821786052:(e,t)=>new r.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1411407467:(e,t)=>new r.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3352864051:(e,t)=>new r.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1871374353:(e,t)=>new r.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4266260250:(e,t)=>new r.IfcAlignmentCant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1545765605:(e,t)=>new r.IfcAlignmentHorizontal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),317615605:(e,t)=>new r.IfcAlignmentSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1662888072:(e,t)=>new r.IfcAlignmentVertical(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),3460190687:(e,t)=>new r.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),1532957894:(e,t)=>new r.IfcAudioVisualApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1967976161:(e,t)=>new r.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4]),2461110595:(e,t)=>new r.IfcBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),819618141:(e,t)=>new r.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3649138523:(e,t)=>new r.IfcBearingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),231477066:(e,t)=>new r.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1136057603:(e,t)=>new r.IfcBoundaryCurve(e,t[0],t[1]),644574406:(e,t)=>new r.IfcBridge(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),963979645:(e,t)=>new r.IfcBridgePart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),4031249490:(e,t)=>new r.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),2979338954:(e,t)=>new r.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),39481116:(e,t)=>new r.IfcBuildingElementPartType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1909888760:(e,t)=>new r.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1177604601:(e,t)=>new r.IfcBuildingSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1876633798:(e,t)=>new r.IfcBuiltElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3862327254:(e,t)=>new r.IfcBuiltSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),2188180465:(e,t)=>new r.IfcBurnerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),395041908:(e,t)=>new r.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3293546465:(e,t)=>new r.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2674252688:(e,t)=>new r.IfcCableFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1285652485:(e,t)=>new r.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3203706013:(e,t)=>new r.IfcCaissonFoundationType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2951183804:(e,t)=>new r.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3296154744:(e,t)=>new r.IfcChimney(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2611217952:(e,t)=>new r.IfcCircle(e,t[0],t[1]),1677625105:(e,t)=>new r.IfcCivilElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2301859152:(e,t)=>new r.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),843113511:(e,t)=>new r.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),400855858:(e,t)=>new r.IfcCommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3850581409:(e,t)=>new r.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2816379211:(e,t)=>new r.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3898045240:(e,t)=>new r.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1060000209:(e,t)=>new r.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),488727124:(e,t)=>new r.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),2940368186:(e,t)=>new r.IfcConveyorSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),335055490:(e,t)=>new r.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2954562838:(e,t)=>new r.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1502416096:(e,t)=>new r.IfcCourse(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1973544240:(e,t)=>new r.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3495092785:(e,t)=>new r.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3961806047:(e,t)=>new r.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3426335179:(e,t)=>new r.IfcDeepFoundation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1335981549:(e,t)=>new r.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2635815018:(e,t)=>new r.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),479945903:(e,t)=>new r.IfcDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1599208980:(e,t)=>new r.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2063403501:(e,t)=>new r.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1945004755:(e,t)=>new r.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3040386961:(e,t)=>new r.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3041715199:(e,t)=>new r.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3205830791:(e,t)=>new r.IfcDistributionSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),395920057:(e,t)=>new r.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),869906466:(e,t)=>new r.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3760055223:(e,t)=>new r.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2030761528:(e,t)=>new r.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3071239417:(e,t)=>new r.IfcEarthworksCut(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1077100507:(e,t)=>new r.IfcEarthworksElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3376911765:(e,t)=>new r.IfcEarthworksFill(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),663422040:(e,t)=>new r.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2417008758:(e,t)=>new r.IfcElectricDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3277789161:(e,t)=>new r.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2142170206:(e,t)=>new r.IfcElectricFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1534661035:(e,t)=>new r.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1217240411:(e,t)=>new r.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),712377611:(e,t)=>new r.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1658829314:(e,t)=>new r.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2814081492:(e,t)=>new r.IfcEngine(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3747195512:(e,t)=>new r.IfcEvaporativeCooler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),484807127:(e,t)=>new r.IfcEvaporator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1209101575:(e,t)=>new r.IfcExternalSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),346874300:(e,t)=>new r.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1810631287:(e,t)=>new r.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4222183408:(e,t)=>new r.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2058353004:(e,t)=>new r.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4278956645:(e,t)=>new r.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),4037862832:(e,t)=>new r.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),2188021234:(e,t)=>new r.IfcFlowMeter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3132237377:(e,t)=>new r.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),987401354:(e,t)=>new r.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),707683696:(e,t)=>new r.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2223149337:(e,t)=>new r.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3508470533:(e,t)=>new r.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),900683007:(e,t)=>new r.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2713699986:(e,t)=>new r.IfcGeotechnicalAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),3009204131:(e,t)=>new r.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),3319311131:(e,t)=>new r.IfcHeatExchanger(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2068733104:(e,t)=>new r.IfcHumidifier(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4175244083:(e,t)=>new r.IfcInterceptor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2176052936:(e,t)=>new r.IfcJunctionBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2696325953:(e,t)=>new r.IfcKerb(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),76236018:(e,t)=>new r.IfcLamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),629592764:(e,t)=>new r.IfcLightFixture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1154579445:(e,t)=>new r.IfcLinearPositioningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1638804497:(e,t)=>new r.IfcLiquidTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1437502449:(e,t)=>new r.IfcMedicalDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1073191201:(e,t)=>new r.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2078563270:(e,t)=>new r.IfcMobileTelecommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),234836483:(e,t)=>new r.IfcMooringDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2474470126:(e,t)=>new r.IfcMotorConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2182337498:(e,t)=>new r.IfcNavigationElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),144952367:(e,t)=>new r.IfcOuterBoundaryCurve(e,t[0],t[1]),3694346114:(e,t)=>new r.IfcOutlet(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1383356374:(e,t)=>new r.IfcPavement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1687234759:(e,t)=>new r.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),310824031:(e,t)=>new r.IfcPipeFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3612865200:(e,t)=>new r.IfcPipeSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3171933400:(e,t)=>new r.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),738039164:(e,t)=>new r.IfcProtectiveDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),655969474:(e,t)=>new r.IfcProtectiveDeviceTrippingUnitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),90941305:(e,t)=>new r.IfcPump(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3290496277:(e,t)=>new r.IfcRail(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2262370178:(e,t)=>new r.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3024970846:(e,t)=>new r.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3283111854:(e,t)=>new r.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1232101972:(e,t)=>new r.IfcRationalBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3798194928:(e,t)=>new r.IfcReinforcedSoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),979691226:(e,t)=>new r.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]),2572171363:(e,t)=>new r.IfcReinforcingBarType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]),2016517767:(e,t)=>new r.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3053780830:(e,t)=>new r.IfcSanitaryTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1783015770:(e,t)=>new r.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1329646415:(e,t)=>new r.IfcShadingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),991950508:(e,t)=>new r.IfcSignal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1529196076:(e,t)=>new r.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3420628829:(e,t)=>new r.IfcSolarDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1999602285:(e,t)=>new r.IfcSpaceHeater(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1404847402:(e,t)=>new r.IfcStackTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),331165859:(e,t)=>new r.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4252922144:(e,t)=>new r.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),2515109513:(e,t)=>new r.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),385403989:(e,t)=>new r.IfcStructuralLoadCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]),1621171031:(e,t)=>new r.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]),1162798199:(e,t)=>new r.IfcSwitchingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),812556717:(e,t)=>new r.IfcTank(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3425753595:(e,t)=>new r.IfcTrackElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3825984169:(e,t)=>new r.IfcTransformer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1620046519:(e,t)=>new r.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3026737570:(e,t)=>new r.IfcTubeBundle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3179687236:(e,t)=>new r.IfcUnitaryControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),4292641817:(e,t)=>new r.IfcUnitaryEquipment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4207607924:(e,t)=>new r.IfcValve(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2391406946:(e,t)=>new r.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3512223829:(e,t)=>new r.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4237592921:(e,t)=>new r.IfcWasteTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3304561284:(e,t)=>new r.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]),2874132201:(e,t)=>new r.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),1634111441:(e,t)=>new r.IfcAirTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),177149247:(e,t)=>new r.IfcAirTerminalBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2056796094:(e,t)=>new r.IfcAirToAirHeatRecovery(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3001207471:(e,t)=>new r.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),325726236:(e,t)=>new r.IfcAlignment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),277319702:(e,t)=>new r.IfcAudioVisualAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),753842376:(e,t)=>new r.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4196446775:(e,t)=>new r.IfcBearing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),32344328:(e,t)=>new r.IfcBoiler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3314249567:(e,t)=>new r.IfcBorehole(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1095909175:(e,t)=>new r.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2938176219:(e,t)=>new r.IfcBurner(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),635142910:(e,t)=>new r.IfcCableCarrierFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3758799889:(e,t)=>new r.IfcCableCarrierSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1051757585:(e,t)=>new r.IfcCableFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4217484030:(e,t)=>new r.IfcCableSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3999819293:(e,t)=>new r.IfcCaissonFoundation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3902619387:(e,t)=>new r.IfcChiller(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),639361253:(e,t)=>new r.IfcCoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3221913625:(e,t)=>new r.IfcCommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3571504051:(e,t)=>new r.IfcCompressor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2272882330:(e,t)=>new r.IfcCondenser(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),578613899:(e,t)=>new r.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]),3460952963:(e,t)=>new r.IfcConveyorSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4136498852:(e,t)=>new r.IfcCooledBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3640358203:(e,t)=>new r.IfcCoolingTower(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4074379575:(e,t)=>new r.IfcDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3693000487:(e,t)=>new r.IfcDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1052013943:(e,t)=>new r.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),562808652:(e,t)=>new r.IfcDistributionCircuit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]),1062813311:(e,t)=>new r.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),342316401:(e,t)=>new r.IfcDuctFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3518393246:(e,t)=>new r.IfcDuctSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1360408905:(e,t)=>new r.IfcDuctSilencer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1904799276:(e,t)=>new r.IfcElectricAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),862014818:(e,t)=>new r.IfcElectricDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3310460725:(e,t)=>new r.IfcElectricFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),24726584:(e,t)=>new r.IfcElectricFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),264262732:(e,t)=>new r.IfcElectricGenerator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),402227799:(e,t)=>new r.IfcElectricMotor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1003880860:(e,t)=>new r.IfcElectricTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3415622556:(e,t)=>new r.IfcFan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),819412036:(e,t)=>new r.IfcFilter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),1426591983:(e,t)=>new r.IfcFireSuppressionTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),182646315:(e,t)=>new r.IfcFlowInstrument(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),2680139844:(e,t)=>new r.IfcGeomodel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),1971632696:(e,t)=>new r.IfcGeoslice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),2295281155:(e,t)=>new r.IfcProtectiveDeviceTrippingUnit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4086658281:(e,t)=>new r.IfcSensor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),630975310:(e,t)=>new r.IfcUnitaryControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),4288193352:(e,t)=>new r.IfcActuator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),3087945054:(e,t)=>new r.IfcAlarm(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]),25142252:(e,t)=>new r.IfcController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},Lm[3]={3630933823:e=>[e.Role,e.UserDefinedRole,e.Description],618182010:e=>[e.Purpose,e.Description,e.UserDefinedPurpose],2879124712:e=>[e.StartTag,e.EndTag],3633395639:e=>[e.StartTag,e.EndTag,e.StartDistAlong,e.HorizontalLength,e.StartHeight,e.StartGradient,e.EndGradient,e.RadiusOfCurvature,e.PredefinedType],639542469:e=>[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier],411424972:e=>[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components],130549933:e=>[e.Identifier,e.Name,e.Description,e.TimeOfApproval,e.Status,e.Level,e.Qualifier,e.RequestingApproval,e.GivingApproval],4037036970:e=>[e.Name],1560379544:e=>[e.Name,e.TranslationalStiffnessByLengthX?Mm(e.TranslationalStiffnessByLengthX):null,e.TranslationalStiffnessByLengthY?Mm(e.TranslationalStiffnessByLengthY):null,e.TranslationalStiffnessByLengthZ?Mm(e.TranslationalStiffnessByLengthZ):null,e.RotationalStiffnessByLengthX?Mm(e.RotationalStiffnessByLengthX):null,e.RotationalStiffnessByLengthY?Mm(e.RotationalStiffnessByLengthY):null,e.RotationalStiffnessByLengthZ?Mm(e.RotationalStiffnessByLengthZ):null],3367102660:e=>[e.Name,e.TranslationalStiffnessByAreaX?Mm(e.TranslationalStiffnessByAreaX):null,e.TranslationalStiffnessByAreaY?Mm(e.TranslationalStiffnessByAreaY):null,e.TranslationalStiffnessByAreaZ?Mm(e.TranslationalStiffnessByAreaZ):null],1387855156:e=>[e.Name,e.TranslationalStiffnessX?Mm(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Mm(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Mm(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Mm(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Mm(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Mm(e.RotationalStiffnessZ):null],2069777674:e=>[e.Name,e.TranslationalStiffnessX?Mm(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Mm(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Mm(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Mm(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Mm(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Mm(e.RotationalStiffnessZ):null,e.WarpingStiffness?Mm(e.WarpingStiffness):null],2859738748:e=>[],2614616156:e=>[e.PointOnRelatingElement,e.PointOnRelatedElement],2732653382:e=>[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement],775493141:e=>[e.VolumeOnRelatingElement,e.VolumeOnRelatedElement],1959218052:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade],1785450214:e=>[e.SourceCRS,e.TargetCRS],1466758467:e=>[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum],602808272:e=>[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components],1765591967:e=>[e.Elements,e.UnitType,e.UserDefinedType,e.Name],1045800335:e=>[e.Unit,e.Exponent],2949456006:e=>[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent],4294318154:e=>[],3200245327:e=>[e.Location,e.Identification,e.Name],2242383968:e=>[e.Location,e.Identification,e.Name],1040185647:e=>[e.Location,e.Identification,e.Name],3548104201:e=>[e.Location,e.Identification,e.Name],852622518:e=>{var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:e=>[e.TimeStamp,e.ListValues.map((e=>Mm(e)))],2655187982:e=>[e.Name,e.Version,e.Publisher,e.VersionDate,e.Location,e.Description],3452421091:e=>[e.Location,e.Identification,e.Name,e.Description,e.Language,e.ReferencedLibrary],4162380809:e=>[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity],1566485204:e=>[e.LightDistributionCurve,e.DistributionData],3057273783:e=>[e.SourceCRS,e.TargetCRS,e.Eastings,e.Northings,e.OrthogonalHeight,e.XAxisAbscissa,e.XAxisOrdinate,e.Scale,e.ScaleY,e.ScaleZ],1847130766:e=>[e.MaterialClassifications,e.ClassifiedMaterial],760658860:e=>[],248100487:e=>{var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority]},3303938423:e=>[e.MaterialLayers,e.LayerSetName,e.Description],1847252529:e=>{var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority,e.OffsetDirection,e.OffsetValues]},2199411900:e=>[e.Materials],2235152071:e=>[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category],164193824:e=>[e.Name,e.Description,e.MaterialProfiles,e.CompositeProfile],552965576:e=>[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category,e.OffsetValues],1507914824:e=>[],2597039031:e=>[Mm(e.ValueComponent),e.UnitComponent],3368373690:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue,e.ReferencePath],2706619895:e=>[e.Currency],1918398963:e=>[e.Dimensions,e.UnitType],3701648758:e=>[e.PlacementRelTo],2251480897:e=>[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.LogicalAggregator,e.ObjectiveQualifier,e.UserDefinedQualifier],4251960020:e=>[e.Identification,e.Name,e.Description,e.Roles,e.Addresses],1207048766:e=>[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate],2077209135:e=>[e.Identification,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses],101040310:e=>[e.ThePerson,e.TheOrganization,e.Roles],2483315170:e=>[e.Name,e.Description],2226359599:e=>[e.Name,e.Description,e.Unit],3355820592:e=>[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country],677532197:e=>[],2022622350:e=>[e.Name,e.Description,e.AssignedItems,e.Identifier],1304840413:e=>{var t,n,s;return[e.Name,e.Description,e.AssignedItems,e.Identifier,null==(t=e.LayerOn)?void 0:t.toString(),null==(n=e.LayerFrozen)?void 0:n.toString(),null==(s=e.LayerBlocked)?void 0:s.toString(),e.LayerStyles]},3119450353:e=>[e.Name],2095639259:e=>[e.Name,e.Description,e.Representations],3958567839:e=>[e.ProfileType,e.ProfileName],3843373140:e=>[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum,e.MapProjection,e.MapZone,e.MapUnit],986844984:e=>[],3710013099:e=>[e.Name,e.EnumerationValues.map((e=>Mm(e))),e.Unit],2044713172:e=>[e.Name,e.Description,e.Unit,e.AreaValue,e.Formula],2093928680:e=>[e.Name,e.Description,e.Unit,e.CountValue,e.Formula],931644368:e=>[e.Name,e.Description,e.Unit,e.LengthValue,e.Formula],2691318326:e=>[e.Name,e.Description,e.Unit,e.NumberValue,e.Formula],3252649465:e=>[e.Name,e.Description,e.Unit,e.TimeValue,e.Formula],2405470396:e=>[e.Name,e.Description,e.Unit,e.VolumeValue,e.Formula],825690147:e=>[e.Name,e.Description,e.Unit,e.WeightValue,e.Formula],3915482550:e=>[e.RecurrenceType,e.DayComponent,e.WeekdayComponent,e.MonthComponent,e.Position,e.Interval,e.Occurrences,e.TimePeriods],2433181523:e=>[e.TypeIdentifier,e.AttributeIdentifier,e.InstanceName,e.ListPositions,e.InnerReference],1076942058:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],3377609919:e=>[e.ContextIdentifier,e.ContextType],3008791417:e=>[],1660063152:e=>[e.MappingOrigin,e.MappedRepresentation],2439245199:e=>[e.Name,e.Description],2341007311:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],448429030:e=>[e.Dimensions,e.UnitType,e.Prefix,e.Name],1054537805:e=>[e.Name,e.DataOrigin,e.UserDefinedDataOrigin],867548509:e=>{var t;return[e.ShapeRepresentations,e.Name,e.Description,null==(t=e.ProductDefinitional)?void 0:t.toString(),e.PartOfProductDefinitionShape]},3982875396:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],4240577450:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],2273995522:e=>[e.Name],2162789131:e=>[e.Name],3478079324:e=>[e.Name,e.Values,e.Locations],609421318:e=>[e.Name],2525727697:e=>[e.Name],3408363356:e=>[e.Name,e.DeltaTConstant,e.DeltaTY,e.DeltaTZ],2830218821:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],3958052878:e=>[e.Item,e.Styles,e.Name],3049322572:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],2934153892:e=>[e.Name,e.SurfaceReinforcement1,e.SurfaceReinforcement2,e.ShearReinforcement],1300840506:e=>[e.Name,e.Side,e.Styles],3303107099:e=>[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour],1607154358:e=>[e.RefractionIndex,e.DispersionFactor],846575682:e=>[e.SurfaceColour,e.Transparency],1351298697:e=>[e.Textures],626085974:e=>{var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter]},985171141:e=>[e.Name,e.Rows,e.Columns],2043862942:e=>[e.Identifier,e.Name,e.Description,e.Unit,e.ReferencePath],531007025:e=>{var t;return[e.RowCells?e.RowCells.map((e=>Mm(e))):null,null==(t=e.IsHeading)?void 0:t.toString()]},1549132990:e=>{var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion]},2771591690:e=>{var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion,e.Recurrence]},912023232:e=>[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL,e.MessagingIDs],1447204868:e=>{var t;return[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},2636378356:e=>[e.Colour,e.BackgroundColour],1640371178:e=>[e.TextIndent?Mm(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Mm(e.LetterSpacing):null,e.WordSpacing?Mm(e.WordSpacing):null,e.TextTransform,e.LineHeight?Mm(e.LineHeight):null],280115917:e=>[e.Maps],1742049831:e=>[e.Maps,e.Mode,e.Parameter],222769930:e=>[e.TexCoordIndex,e.TexCoordsOf],1010789467:e=>[e.TexCoordIndex,e.TexCoordsOf,e.InnerTexCoordIndices],2552916305:e=>[e.Maps,e.Vertices,e.MappedTo],1210645708:e=>[e.Coordinates],3611470254:e=>[e.TexCoordsList],1199560280:e=>[e.StartTime,e.EndTime],3101149627:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit],581633288:e=>[e.ListValues.map((e=>Mm(e)))],1377556343:e=>[],1735638870:e=>[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items],180925521:e=>[e.Units],2799835756:e=>[],1907098498:e=>[e.VertexGeometry],891718957:e=>[e.IntersectingAxes,e.OffsetDistances],1236880293:e=>[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.RecurrencePattern,e.StartDate,e.FinishDate],3752311538:e=>[e.StartTag,e.EndTag,e.StartDistAlong,e.HorizontalLength,e.StartCantLeft,e.EndCantLeft,e.StartCantRight,e.EndCantRight,e.PredefinedType],536804194:e=>[e.StartTag,e.EndTag,e.StartPoint,e.StartDirection,e.StartRadiusOfCurvature,e.EndRadiusOfCurvature,e.SegmentLength,e.GravityCenterLineHeight,e.PredefinedType],3869604511:e=>[e.Name,e.Description,e.RelatingApproval,e.RelatedApprovals],3798115385:e=>[e.ProfileType,e.ProfileName,e.OuterCurve],1310608509:e=>[e.ProfileType,e.ProfileName,e.Curve],2705031697:e=>[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves],616511568:e=>{var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.RasterFormat,e.RasterCode]},3150382593:e=>[e.ProfileType,e.ProfileName,e.Curve,e.Thickness],747523909:e=>[e.Source,e.Edition,e.EditionDate,e.Name,e.Description,e.Specification,e.ReferenceTokens],647927063:e=>[e.Location,e.Identification,e.Name,e.ReferencedSource,e.Description,e.Sort],3285139300:e=>[e.ColourList],3264961684:e=>[e.Name],1485152156:e=>[e.ProfileType,e.ProfileName,e.Profiles,e.Label],370225590:e=>[e.CfsFaces],1981873012:e=>[e.CurveOnRelatingElement,e.CurveOnRelatedElement],45288368:e=>[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ],3050246964:e=>[e.Dimensions,e.UnitType,e.Name],2889183280:e=>[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor],2713554722:e=>[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor,e.ConversionOffset],539742890:e=>[e.Name,e.Description,e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource],3800577675:e=>{var t;return[e.Name,e.CurveFont,e.CurveWidth?Mm(e.CurveWidth):null,e.CurveColour,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},1105321065:e=>[e.Name,e.PatternList],2367409068:e=>[e.Name,e.CurveStyleFont,e.CurveFontScaling],3510044353:e=>[e.VisibleSegmentLength,e.InvisibleSegmentLength],3632507154:e=>[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label],1154170062:e=>[e.Identification,e.Name,e.Description,e.Location,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status],770865208:e=>[e.Name,e.Description,e.RelatingDocument,e.RelatedDocuments,e.RelationshipType],3732053477:e=>[e.Location,e.Identification,e.Name,e.Description,e.ReferencedDocument],3900360178:e=>[e.EdgeStart,e.EdgeEnd],476780140:e=>{var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,null==(t=e.SameSense)?void 0:t.toString()]},211053100:e=>[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ActualDate,e.EarlyDate,e.LateDate,e.ScheduleDate],297599258:e=>[e.Name,e.Description,e.Properties],1437805879:e=>[e.Name,e.Description,e.RelatingReference,e.RelatedResourceObjects],2556980723:e=>[e.Bounds],1809719519:e=>{var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},803316827:e=>{var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},3008276851:e=>{var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},4219587988:e=>[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ],738692330:e=>{var t;return[e.Name,e.FillStyles,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},3448662350:e=>[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth],2453401579:e=>[],4142052618:e=>[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView],3590301190:e=>[e.Elements],178086475:e=>[e.PlacementRelTo,e.PlacementLocation,e.PlacementRefDirection],812098782:e=>{var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString()]},3905492369:e=>{var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.URLReference]},3570813810:e=>[e.MappedTo,e.Opacity,e.Colours,e.ColourIndex],1437953363:e=>[e.Maps,e.MappedTo,e.TexCoords],2133299955:e=>[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndex],3741457305:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values],1585845231:e=>[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,Mm(e.LagValue),e.DurationType],1402838566:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity],125510826:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity],2604431987:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation],4266656042:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource],1520743889:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation],3422422726:e=>[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle],388784114:e=>[e.PlacementRelTo,e.RelativePlacement,e.CartesianPosition],2624227202:e=>[e.PlacementRelTo,e.RelativePlacement],1008929658:e=>[],2347385850:e=>[e.MappingSource,e.MappingTarget],1838606355:e=>[e.Name,e.Description,e.Category],3708119e3:e=>[e.Name,e.Description,e.Material,e.Fraction,e.Category],2852063980:e=>[e.Name,e.Description,e.MaterialConstituents],2022407955:e=>[e.Name,e.Description,e.Representations,e.RepresentedMaterial],1303795690:e=>[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine,e.ReferenceExtent],3079605661:e=>[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent],3404854881:e=>[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent,e.ForProfileEndSet,e.CardinalEndPoint],3265635763:e=>[e.Name,e.Description,e.Properties,e.Material],853536259:e=>[e.Name,e.Description,e.RelatingMaterial,e.RelatedMaterials,e.MaterialExpression],2998442950:e=>[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label],219451334:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],182550632:e=>{var t;return[e.ProfileType,e.ProfileName,null==(t=e.HorizontalWidths)?void 0:t.toString(),e.Widths,e.Slopes,e.Tags,e.OffsetPoint]},2665983363:e=>[e.CfsFaces],1411181986:e=>[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations],1029017970:e=>{var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeElement,null==(t=e.Orientation)?void 0:t.toString()]},2529465313:e=>[e.ProfileType,e.ProfileName,e.Position],2519244187:e=>[e.EdgeList],3021840470:e=>[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage],597895409:e=>{var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.Width,e.Height,e.ColourComponents,e.Pixel]},2004835150:e=>[e.Location],1663979128:e=>[e.SizeInX,e.SizeInY],2067069095:e=>[],2165702409:e=>[Mm(e.DistanceAlong),e.OffsetLateral,e.OffsetVertical,e.OffsetLongitudinal,e.BasisCurve],4022376103:e=>[e.BasisCurve,e.PointParameter],1423911732:e=>[e.BasisSurface,e.PointParameterU,e.PointParameterV],2924175390:e=>[e.Polygon],2775532180:e=>{var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Position,e.PolygonalBoundary]},3727388367:e=>[e.Name],3778827333:e=>[],1775413392:e=>[e.Name],673634403:e=>[e.Name,e.Description,e.Representations],2802850158:e=>[e.Name,e.Description,e.Properties,e.ProfileDefinition],2598011224:e=>[e.Name,e.Specification],1680319473:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],148025276:e=>[e.Name,e.Description,e.DependingProperty,e.DependantProperty,e.Expression],3357820518:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],1482703590:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],2090586900:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],3615266464:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim],3413951693:e=>[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values],1580146022:e=>[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount],478536968:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],2943643501:e=>[e.Name,e.Description,e.RelatedResourceObjects,e.RelatingApproval],1608871552:e=>[e.Name,e.Description,e.RelatingConstraint,e.RelatedResourceObjects],1042787934:e=>{var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ScheduleWork,e.ScheduleUsage,e.ScheduleStart,e.ScheduleFinish,e.ScheduleContour,e.LevelingDelay,null==(t=e.IsOverAllocated)?void 0:t.toString(),e.StatusTime,e.ActualWork,e.ActualUsage,e.ActualStart,e.ActualFinish,e.RemainingWork,e.RemainingUsage,e.Completion]},2778083089:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius],2042790032:e=>[e.SectionType,e.StartProfile,e.EndProfile],4165799628:e=>[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions],1509187699:e=>[e.SpineCurve,e.CrossSections,e.CrossSectionPositions],823603102:e=>[e.Transition],4124623270:e=>[e.SbsmBoundary],3692461612:e=>[e.Name,e.Specification],2609359061:e=>[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ],723233188:e=>[],1595516126:e=>[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ],2668620305:e=>[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ],2473145415:e=>[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ],1973038258:e=>[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion],1597423693:e=>[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ],1190533807:e=>[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment],2233826070:e=>[e.EdgeStart,e.EdgeEnd,e.ParentEdge],2513912981:e=>[],1878645084:e=>[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Mm(e.SpecularHighlight):null,e.ReflectanceMethod],2247615214:e=>[e.SweptArea,e.Position],1260650574:e=>[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam],1096409881:e=>[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam,e.FilletRadius],230924584:e=>[e.SweptCurve,e.Position],3071757647:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope],901063453:e=>[],4282788508:e=>[e.Literal,e.Placement,e.Path],3124975700:e=>[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment],1983826977:e=>[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Mm(e.FontSize)],2715220739:e=>[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset],1628702193:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets],3736923433:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType],2347495698:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag],3698973494:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType],427810014:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope],1417489154:e=>[e.Orientation,e.Magnitude],2759199220:e=>[e.LoopVertex],2543172580:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius],3406155212:e=>{var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},669184980:e=>[e.OuterBoundary,e.InnerBoundaries],3207858831:e=>[e.ProfileType,e.ProfileName,e.Position,e.BottomFlangeWidth,e.OverallDepth,e.WebThickness,e.BottomFlangeThickness,e.BottomFlangeFilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.BottomFlangeEdgeRadius,e.BottomFlangeSlope,e.TopFlangeEdgeRadius,e.TopFlangeSlope],4261334040:e=>[e.Location,e.Axis],3125803723:e=>[e.Location,e.RefDirection],2740243338:e=>[e.Location,e.Axis,e.RefDirection],3425423356:e=>[e.Location,e.Axis,e.RefDirection],2736907675:e=>[e.Operator,e.FirstOperand,e.SecondOperand],4182860854:e=>[],2581212453:e=>[e.Corner,e.XDim,e.YDim,e.ZDim],2713105998:e=>{var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Enclosure]},2898889636:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius],1123145078:e=>[e.Coordinates],574549367:e=>[],1675464909:e=>[e.CoordList,e.TagList],2059837836:e=>[e.CoordList,e.TagList],59481748:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale],3749851601:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale],3486308946:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2],3331915920:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3],1416205885:e=>[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3],1383045692:e=>[e.ProfileType,e.ProfileName,e.Position,e.Radius],2205249479:e=>[e.CfsFaces],776857604:e=>[e.Name,e.Red,e.Green,e.Blue],2542286263:e=>[e.Name,e.Specification,e.UsageName,e.HasProperties],2485617015:e=>{var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve]},2574617495:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity],3419103109:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext],1815067380:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],2506170314:e=>[e.Position],2147822146:e=>[e.TreeRootExpression],2601014836:e=>[],2827736869:e=>[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries],2629017746:e=>{var t;return[e.BasisSurface,e.Boundaries,null==(t=e.ImplicitOuter)?void 0:t.toString()]},4212018352:e=>[e.Transition,e.Placement,Mm(e.SegmentStart),Mm(e.SegmentLength),e.ParentCurve],32440307:e=>[e.DirectionRatios],593015953:e=>[e.SweptArea,e.Position,e.Directrix,e.StartParam?Mm(e.StartParam):null,e.EndParam?Mm(e.EndParam):null],1472233963:e=>[e.EdgeList],1883228015:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities],339256511:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2777663545:e=>[e.Position],2835456948:e=>[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2],4024345920:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType],477187591:e=>[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth],2804161546:e=>[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth,e.EndSweptArea],2047409740:e=>[e.FbsmFaces],374418227:e=>[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle],315944413:e=>[e.TilingPattern,e.Tiles,e.TilingScale],2652556860:e=>[e.SweptArea,e.Position,e.Directrix,e.StartParam?Mm(e.StartParam):null,e.EndParam?Mm(e.EndParam):null,e.FixedReference],4238390223:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1268542332:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace,e.PredefinedType],4095422895:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],987898635:e=>[e.Elements],1484403080:e=>[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.FlangeSlope],178912537:e=>[e.CoordIndex],2294589976:e=>[e.CoordIndex,e.InnerCoordIndices],3465909080:e=>[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndices],572779678:e=>[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope],428585644:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1281925730:e=>[e.Pnt,e.Dir],1425443689:e=>[e.Outer],3888040117:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],590820931:e=>[e.BasisCurve],3388369263:e=>{var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString()]},3505215534:e=>{var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString(),e.RefDirection]},2485787929:e=>[e.BasisCurve,e.OffsetValues,e.Tag],1682466193:e=>[e.BasisSurface,e.ReferenceCurve],603570806:e=>[e.SizeInX,e.SizeInY,e.Placement],220341763:e=>[e.Position],3381221214:e=>[e.Position,e.CoefficientsX,e.CoefficientsY,e.CoefficientsZ],759155922:e=>[e.Name],2559016684:e=>[e.Name],3967405729:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],569719735:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType],2945172077:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription],4208778838:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],103090709:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext],653396225:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext],871118103:e=>[e.Name,e.Specification,e.UpperBoundValue?Mm(e.UpperBoundValue):null,e.LowerBoundValue?Mm(e.LowerBoundValue):null,e.Unit,e.SetPointValue?Mm(e.SetPointValue):null],4166981789:e=>[e.Name,e.Specification,e.EnumerationValues?e.EnumerationValues.map((e=>Mm(e))):null,e.EnumerationReference],2752243245:e=>[e.Name,e.Specification,e.ListValues?e.ListValues.map((e=>Mm(e))):null,e.Unit],941946838:e=>[e.Name,e.Specification,e.UsageName,e.PropertyReference],1451395588:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties],492091185:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.ApplicableEntity,e.HasPropertyTemplates],3650150729:e=>[e.Name,e.Specification,e.NominalValue?Mm(e.NominalValue):null,e.Unit],110355661:e=>[e.Name,e.Specification,e.DefiningValues?e.DefiningValues.map((e=>Mm(e))):null,e.DefinedValues?e.DefinedValues.map((e=>Mm(e))):null,e.Expression,e.DefiningUnit,e.DefinedUnit,e.CurveInterpolation],3521284610:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],2770003689:e=>[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius],2798486643:e=>[e.Position,e.XLength,e.YLength,e.Height],3454111270:e=>{var t,n;return[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,null==(t=e.Usense)?void 0:t.toString(),null==(n=e.Vsense)?void 0:n.toString()]},3765753017:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions],3939117080:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType],1683148259:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole],2495723537:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl],1307041759:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup],1027710054:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup,e.Factor],4278684876:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess],2857406711:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct],205026976:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource],1865459582:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects],4095574036:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval],919958153:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification],2728634034:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint],982818633:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument],3840914261:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary],2655215786:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial],1033248425:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingProfileDef],826625072:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],1204542856:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement],3945020480:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType],4201705270:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement],3190031847:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement],2127690289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity],1638771189:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem],504942748:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint],3678494232:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType],3242617779:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure],886880790:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings],2802773753:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedCoverings],2565941209:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingContext,e.RelatedDefinitions],2551354335:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],693640335:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description],1462361463:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingObject],4186316022:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition],307848117:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedPropertySets,e.RelatingTemplate],781010003:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType],3940055652:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement],279856033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement],427948657:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedElement,e.InterferenceGeometry,e.InterferenceSpace,e.InterferenceType,null==(t=e.ImpliedOrder)?void 0:t.toString()]},3268803585:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects],1441486842:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPositioningElement,e.RelatedProducts],750771296:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement],1245217292:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure],4122056220:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType,e.UserDefinedSequenceType],366585022:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings],3451746338:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary],3523091289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary],1521410863:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary,e.CorrespondingBoundary],1401173127:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement],816062949:e=>{var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve,e.ParamLength]},2914609552:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription],1856042241:e=>[e.SweptArea,e.Position,e.Axis,e.Angle],3243963512:e=>[e.SweptArea,e.Position,e.Axis,e.Angle,e.EndSweptArea],4158566097:e=>[e.Position,e.Height,e.BottomRadius],3626867408:e=>[e.Position,e.Height,e.Radius],1862484736:e=>[e.Directrix,e.CrossSections],1290935644:e=>[e.Directrix,e.CrossSections,e.CrossSectionPositions],1356537516:e=>[e.Directrix,e.CrossSectionPositions,e.CrossSections],3663146110:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.PrimaryMeasureType,e.SecondaryMeasureType,e.Enumerators,e.PrimaryUnit,e.SecondaryUnit,e.Expression,e.AccessState],1412071761:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName],710998568:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2706606064:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType],3893378262:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],463610769:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType],2481509218:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName],451544542:e=>[e.Position,e.Radius],4015995234:e=>[e.Position,e.Radius],2735484536:e=>[e.Position],3544373492:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],3136571912:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],530289379:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],3689010777:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],3979015343:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness],2218152070:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness],603775116:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType],4095615324:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],699246055:e=>[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation],2028607225:e=>[e.SweptArea,e.Position,e.Directrix,e.StartParam?Mm(e.StartParam):null,e.EndParam?Mm(e.EndParam):null,e.ReferenceSurface],2809605785:e=>[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth],4124788165:e=>[e.SweptCurve,e.Position,e.AxisPosition],1580310250:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3473067441:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Status,e.WorkMethod,null==(t=e.IsMilestone)?void 0:t.toString(),e.Priority,e.TaskTime,e.PredefinedType]},3206491090:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.WorkMethod],2387106220:e=>{var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString()]},782932809:e=>[e.Position,e.CubicTerm,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm],1935646853:e=>[e.Position,e.MajorRadius,e.MinorRadius],3665877780:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2916149573:e=>{var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Normals,e.CoordIndex,e.PnIndex]},1229763772:e=>{var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Normals,e.CoordIndex,e.PnIndex,e.Flags]},3651464721:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],336235671:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle,e.LiningOffset,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY],512836454:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle],2296667514:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor],1635779807:e=>[e.Outer],2603310189:e=>[e.Outer,e.Voids],1674181508:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType],2887950389:e=>{var t,n,s;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(s=e.SelfIntersect)?void 0:s.toString()]},167062518:e=>{var t,n,s;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(s=e.SelfIntersect)?void 0:s.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec]},1334484129:e=>[e.Position,e.XLength,e.YLength,e.ZLength],3649129432:e=>[e.Operator,e.FirstOperand,e.SecondOperand],1260505505:e=>[],3124254112:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation],1626504194:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2197970202:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2937912522:e=>[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness],3893394355:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3497074424:e=>[e.Position,e.ClothoidConstant],300633059:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3875453745:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.UsageName,e.TemplateType,e.HasPropertyTemplates],3732776249:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},15328376:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},2510884976:e=>[e.Position],2185764099:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],4105962743:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1525564444:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType],2559216714:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity],3293443760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification],2000195564:e=>[e.Position,e.CosineTerm,e.ConstantTerm],3895139033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.CostValues,e.CostQuantities],1419761937:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.SubmittedOn,e.UpdateDate],4189326743:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1916426348:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3295246426:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1457835157:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1213902940:e=>[e.Position,e.Radius],1306400036:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],4234616927:e=>[e.SweptArea,e.Position,e.Directrix,e.StartParam?Mm(e.StartParam):null,e.EndParam?Mm(e.EndParam):null,e.FixedReference],3256556792:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3849074793:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2963535650:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY],1714330368:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle],2323601079:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedOperationType]},445594917:e=>[e.Name],4006246654:e=>[e.Name],1758889154:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4123344466:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType],2397081782:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1623761950:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2590856083:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1704287377:e=>[e.Position,e.SemiAxis1,e.SemiAxis2],2107101300:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],132023988:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3174744832:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3390157468:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4148101412:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType,e.EventOccurenceTime],2853485674:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName],807026263:e=>[e.Outer],3737207727:e=>[e.Outer,e.Voids],24185140:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType],1310830890:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType],4228831410:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType],647756555:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2489546625:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2827207264:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2143335405:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1287392070:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3907093117:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3198132628:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3815607619:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1482959167:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1834744321:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1339347760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2297155007:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],3009222698:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1893162501:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],263784265:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1509553395:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3493046030:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4230923436:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1594536857:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2898700619:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString(),e.BaseCurve,e.EndPoint]},2706460486:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],1251058090:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1806887404:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2568555532:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3948183225:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2571569899:e=>{var t;return[e.Points,e.Segments?e.Segments.map((e=>Mm(e))):null,null==(t=e.SelfIntersect)?void 0:t.toString()]},3946677679:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3113134337:e=>[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation],2391368822:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue],4288270099:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],679976338:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,null==(t=e.Mountable)?void 0:t.toString()]},3827777499:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1051575348:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1161773419:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2176059722:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],1770583370:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],525669439:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType],976884017:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType],377706215:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength,e.PredefinedType],2108223431:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.NominalLength],1114901282:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3181161470:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1950438474:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],710110818:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],977012517:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],506776471:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4143007308:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType],3588315303:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2837617999:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],514975943:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2382730787:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LifeCyclePhase,e.PredefinedType],3566463478:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle],3327091369:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription],1158309216:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],804291784:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4231323485:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4017108033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2839578677:e=>{var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Faces,e.PnIndex]},3724593414:e=>[e.Points],3740093272:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],1946335990:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],2744685151:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType],2904328755:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription],3651124850:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1842657554:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2250791053:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1763565496:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2893384427:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3992365140:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType],1891881377:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType],2324767716:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1469900589:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],683857671:e=>{var t,n,s;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(s=e.SelfIntersect)?void 0:s.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec,e.WeightsData]},4021432810:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType],3027567501:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade],964333572:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],2320036040:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.PredefinedType],2310774935:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((e=>Mm(e))):null],3818125796:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedSurfaceFeatures],160246688:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects],146592293:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType],550521510:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType],2781568857:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1768891740:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2157484638:e=>[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation],3649235739:e=>[e.Position,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm],544395925:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString(),e.BaseCurve,e.EndPoint]},1027922057:e=>[e.Position,e.SepticTerm,e.SexticTerm,e.QuinticTerm,e.QuarticTerm,e.CubicTerm,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm],4074543187:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],33720170:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3599934289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1894708472:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],42703149:e=>[e.Position,e.SineTerm,e.LinearTerm,e.ConstantTerm],4097777520:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress],2533589738:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1072016465:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3856911033:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType,e.ElevationWithFlooring],1305183839:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3812236995:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName],3112655638:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1039846685:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],338393293:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],682877961:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},1179482911:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition],1004757350:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},4243806635:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.AxisDirection],214636428:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis],2445595289:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis],2757150158:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType],1807405624:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1252848954:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose],2082059205:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},734778138:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.ConditionCoordinateSystem],1235345126:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal],2986769608:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,null==(t=e.IsLinear)?void 0:t.toString()]},3657597509:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1975003073:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition],148013059:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],3101698114:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2315554128:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2254336722:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType],413509423:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],5716631:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3824725483:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius],2347447852:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType],3081323446:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3663046924:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType],2281632017:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2415094496:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.SheathDiameter],618700268:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1692211062:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2097647324:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1953115116:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3593883385:e=>{var t;return[e.BasisCurve,e.Trim1,e.Trim2,null==(t=e.SenseAgreement)?void 0:t.toString(),e.MasterRepresentation]},1600972822:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1911125066:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],728799441:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],840318589:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1530820697:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3956297820:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2391383451:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3313531582:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2769231204:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],926996030:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1898987631:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1133259667:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4009809668:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.PartitioningType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedPartitioningType]},4088093105:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.WorkingTimes,e.ExceptionTimes,e.PredefinedType],1028945134:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime],4218914973:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType],3342526732:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType],1033361043:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName],3821786052:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription],1411407467:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3352864051:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1871374353:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4266260250:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.RailHeadDistance],1545765605:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],317615605:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.DesignParameters],1662888072:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],3460190687:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue],1532957894:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1967976161:e=>{var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString()]},2461110595:e=>{var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec]},819618141:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3649138523:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],231477066:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1136057603:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},644574406:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType],963979645:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType],4031249490:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress],2979338954:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],39481116:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1909888760:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1177604601:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName],1876633798:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3862327254:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName],2188180465:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],395041908:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3293546465:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2674252688:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1285652485:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3203706013:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2951183804:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3296154744:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2611217952:e=>[e.Position,e.Radius],1677625105:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2301859152:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],843113511:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],400855858:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3850581409:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2816379211:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3898045240:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],1060000209:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],488727124:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType],2940368186:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],335055490:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2954562838:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1502416096:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1973544240:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3495092785:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3961806047:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3426335179:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1335981549:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2635815018:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],479945903:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1599208980:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2063403501:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType],1945004755:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3040386961:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3041715199:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection,e.PredefinedType,e.SystemType],3205830791:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType],395920057:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType],869906466:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3760055223:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2030761528:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3071239417:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1077100507:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3376911765:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],663422040:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2417008758:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3277789161:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2142170206:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1534661035:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1217240411:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],712377611:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1658829314:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2814081492:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3747195512:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],484807127:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1209101575:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType],346874300:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1810631287:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4222183408:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2058353004:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4278956645:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],4037862832:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],2188021234:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3132237377:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],987401354:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],707683696:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2223149337:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3508470533:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],900683007:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2713699986:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],3009204131:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes,e.PredefinedType],3319311131:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2068733104:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4175244083:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2176052936:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2696325953:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,null==(t=e.Mountable)?void 0:t.toString()]},76236018:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],629592764:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1154579445:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation],1638804497:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1437502449:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1073191201:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2078563270:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],234836483:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2474470126:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2182337498:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],144952367:e=>{var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3694346114:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1383356374:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1687234759:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType],310824031:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3612865200:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3171933400:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],738039164:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],655969474:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],90941305:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3290496277:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2262370178:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3024970846:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3283111854:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1232101972:e=>{var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec,e.WeightsData]},3798194928:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],979691226:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.PredefinedType,e.BarSurface],2572171363:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarSurface,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((e=>Mm(e))):null],2016517767:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3053780830:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1783015770:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1329646415:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],991950508:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1529196076:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3420628829:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1999602285:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1404847402:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],331165859:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4252922144:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRisers,e.NumberOfTreads,e.RiserHeight,e.TreadLength,e.PredefinedType],2515109513:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults,e.SharedPlacement],385403989:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose,e.SelfWeightCoefficients],1621171031:e=>{var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1162798199:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],812556717:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3425753595:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3825984169:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1620046519:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3026737570:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3179687236:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],4292641817:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4207607924:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2391406946:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3512223829:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4237592921:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3304561284:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType],2874132201:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],1634111441:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],177149247:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2056796094:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3001207471:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],325726236:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType],277319702:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],753842376:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4196446775:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],32344328:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3314249567:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1095909175:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2938176219:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],635142910:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3758799889:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1051757585:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4217484030:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3999819293:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3902619387:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],639361253:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3221913625:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3571504051:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2272882330:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],578613899:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType],3460952963:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4136498852:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3640358203:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4074379575:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3693000487:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1052013943:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],562808652:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType],1062813311:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],342316401:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3518393246:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1360408905:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1904799276:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],862014818:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3310460725:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],24726584:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],264262732:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],402227799:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1003880860:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3415622556:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],819412036:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],1426591983:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],182646315:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],2680139844:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],1971632696:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag],2295281155:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4086658281:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],630975310:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],4288193352:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],3087945054:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType],25142252:e=>[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},Pm[3]={3699917729:e=>new r.IfcAbsorbedDoseMeasure(e),4182062534:e=>new r.IfcAccelerationMeasure(e),360377573:e=>new r.IfcAmountOfSubstanceMeasure(e),632304761:e=>new r.IfcAngularVelocityMeasure(e),3683503648:e=>new r.IfcArcIndex(e.map((e=>e.value))),1500781891:e=>new r.IfcAreaDensityMeasure(e),2650437152:e=>new r.IfcAreaMeasure(e),2314439260:e=>new r.IfcBinary(e),2735952531:e=>new r.IfcBoolean(e),1867003952:e=>new r.IfcBoxAlignment(e),1683019596:e=>new r.IfcCardinalPointReference(e),2991860651:e=>new r.IfcComplexNumber(e.map((e=>e.value))),3812528620:e=>new r.IfcCompoundPlaneAngleMeasure(e.map((e=>e.value))),3238673880:e=>new r.IfcContextDependentMeasure(e),1778710042:e=>new r.IfcCountMeasure(e),94842927:e=>new r.IfcCurvatureMeasure(e),937566702:e=>new r.IfcDate(e),2195413836:e=>new r.IfcDateTime(e),86635668:e=>new r.IfcDayInMonthNumber(e),3701338814:e=>new r.IfcDayInWeekNumber(e),1514641115:e=>new r.IfcDescriptiveMeasure(e),4134073009:e=>new r.IfcDimensionCount(e),524656162:e=>new r.IfcDoseEquivalentMeasure(e),2541165894:e=>new r.IfcDuration(e),69416015:e=>new r.IfcDynamicViscosityMeasure(e),1827137117:e=>new r.IfcElectricCapacitanceMeasure(e),3818826038:e=>new r.IfcElectricChargeMeasure(e),2093906313:e=>new r.IfcElectricConductanceMeasure(e),3790457270:e=>new r.IfcElectricCurrentMeasure(e),2951915441:e=>new r.IfcElectricResistanceMeasure(e),2506197118:e=>new r.IfcElectricVoltageMeasure(e),2078135608:e=>new r.IfcEnergyMeasure(e),1102727119:e=>new r.IfcFontStyle(e),2715512545:e=>new r.IfcFontVariant(e),2590844177:e=>new r.IfcFontWeight(e),1361398929:e=>new r.IfcForceMeasure(e),3044325142:e=>new r.IfcFrequencyMeasure(e),3064340077:e=>new r.IfcGloballyUniqueId(e),3113092358:e=>new r.IfcHeatFluxDensityMeasure(e),1158859006:e=>new r.IfcHeatingValueMeasure(e),983778844:e=>new r.IfcIdentifier(e),3358199106:e=>new r.IfcIlluminanceMeasure(e),2679005408:e=>new r.IfcInductanceMeasure(e),1939436016:e=>new r.IfcInteger(e),3809634241:e=>new r.IfcIntegerCountRateMeasure(e),3686016028:e=>new r.IfcIonConcentrationMeasure(e),3192672207:e=>new r.IfcIsothermalMoistureCapacityMeasure(e),2054016361:e=>new r.IfcKinematicViscosityMeasure(e),3258342251:e=>new r.IfcLabel(e),1275358634:e=>new r.IfcLanguageId(e),1243674935:e=>new r.IfcLengthMeasure(e),1774176899:e=>new r.IfcLineIndex(e.map((e=>e.value))),191860431:e=>new r.IfcLinearForceMeasure(e),2128979029:e=>new r.IfcLinearMomentMeasure(e),1307019551:e=>new r.IfcLinearStiffnessMeasure(e),3086160713:e=>new r.IfcLinearVelocityMeasure(e),503418787:e=>new r.IfcLogical(e),2095003142:e=>new r.IfcLuminousFluxMeasure(e),2755797622:e=>new r.IfcLuminousIntensityDistributionMeasure(e),151039812:e=>new r.IfcLuminousIntensityMeasure(e),286949696:e=>new r.IfcMagneticFluxDensityMeasure(e),2486716878:e=>new r.IfcMagneticFluxMeasure(e),1477762836:e=>new r.IfcMassDensityMeasure(e),4017473158:e=>new r.IfcMassFlowRateMeasure(e),3124614049:e=>new r.IfcMassMeasure(e),3531705166:e=>new r.IfcMassPerLengthMeasure(e),3341486342:e=>new r.IfcModulusOfElasticityMeasure(e),2173214787:e=>new r.IfcModulusOfLinearSubgradeReactionMeasure(e),1052454078:e=>new r.IfcModulusOfRotationalSubgradeReactionMeasure(e),1753493141:e=>new r.IfcModulusOfSubgradeReactionMeasure(e),3177669450:e=>new r.IfcMoistureDiffusivityMeasure(e),1648970520:e=>new r.IfcMolecularWeightMeasure(e),3114022597:e=>new r.IfcMomentOfInertiaMeasure(e),2615040989:e=>new r.IfcMonetaryMeasure(e),765770214:e=>new r.IfcMonthInYearNumber(e),525895558:e=>new r.IfcNonNegativeLengthMeasure(e),2095195183:e=>new r.IfcNormalisedRatioMeasure(e),2395907400:e=>new r.IfcNumericMeasure(e),929793134:e=>new r.IfcPHMeasure(e),2260317790:e=>new r.IfcParameterValue(e),2642773653:e=>new r.IfcPlanarForceMeasure(e),4042175685:e=>new r.IfcPlaneAngleMeasure(e),1790229001:e=>new r.IfcPositiveInteger(e),2815919920:e=>new r.IfcPositiveLengthMeasure(e),3054510233:e=>new r.IfcPositivePlaneAngleMeasure(e),1245737093:e=>new r.IfcPositiveRatioMeasure(e),1364037233:e=>new r.IfcPowerMeasure(e),2169031380:e=>new r.IfcPresentableText(e),3665567075:e=>new r.IfcPressureMeasure(e),2798247006:e=>new r.IfcPropertySetDefinitionSet(e.map((e=>e.value))),3972513137:e=>new r.IfcRadioActivityMeasure(e),96294661:e=>new r.IfcRatioMeasure(e),200335297:e=>new r.IfcReal(e),2133746277:e=>new r.IfcRotationalFrequencyMeasure(e),1755127002:e=>new r.IfcRotationalMassMeasure(e),3211557302:e=>new r.IfcRotationalStiffnessMeasure(e),3467162246:e=>new r.IfcSectionModulusMeasure(e),2190458107:e=>new r.IfcSectionalAreaIntegralMeasure(e),408310005:e=>new r.IfcShearModulusMeasure(e),3471399674:e=>new r.IfcSolidAngleMeasure(e),4157543285:e=>new r.IfcSoundPowerLevelMeasure(e),846465480:e=>new r.IfcSoundPowerMeasure(e),3457685358:e=>new r.IfcSoundPressureLevelMeasure(e),993287707:e=>new r.IfcSoundPressureMeasure(e),3477203348:e=>new r.IfcSpecificHeatCapacityMeasure(e),2757832317:e=>new r.IfcSpecularExponent(e),361837227:e=>new r.IfcSpecularRoughness(e),58845555:e=>new r.IfcTemperatureGradientMeasure(e),1209108979:e=>new r.IfcTemperatureRateOfChangeMeasure(e),2801250643:e=>new r.IfcText(e),1460886941:e=>new r.IfcTextAlignment(e),3490877962:e=>new r.IfcTextDecoration(e),603696268:e=>new r.IfcTextFontName(e),296282323:e=>new r.IfcTextTransformation(e),232962298:e=>new r.IfcThermalAdmittanceMeasure(e),2645777649:e=>new r.IfcThermalConductivityMeasure(e),2281867870:e=>new r.IfcThermalExpansionCoefficientMeasure(e),857959152:e=>new r.IfcThermalResistanceMeasure(e),2016195849:e=>new r.IfcThermalTransmittanceMeasure(e),743184107:e=>new r.IfcThermodynamicTemperatureMeasure(e),4075327185:e=>new r.IfcTime(e),2726807636:e=>new r.IfcTimeMeasure(e),2591213694:e=>new r.IfcTimeStamp(e),1278329552:e=>new r.IfcTorqueMeasure(e),950732822:e=>new r.IfcURIReference(e),3345633955:e=>new r.IfcVaporPermeabilityMeasure(e),3458127941:e=>new r.IfcVolumeMeasure(e),2593997549:e=>new r.IfcVolumetricFlowRateMeasure(e),51269191:e=>new r.IfcWarpingConstantMeasure(e),1718600412:e=>new r.IfcWarpingMomentMeasure(e)},function(e){e.IfcAbsorbedDoseMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAccelerationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAmountOfSubstanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAngularVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcArcIndex=class{constructor(e){this.value=e}},e.IfcAreaDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcAreaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcBinary=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcBoolean=class{constructor(e){this.type=3,this.value="true"==e}},e.IfcBoxAlignment=class{constructor(e){this.value=e,this.type=1}},e.IfcCardinalPointReference=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcComplexNumber=class{constructor(e){this.value=e}},e.IfcCompoundPlaneAngleMeasure=class{constructor(e){this.value=e}},e.IfcContextDependentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcCountMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcCurvatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDate=class{constructor(e){this.value=e,this.type=1}},e.IfcDateTime=class{constructor(e){this.value=e,this.type=1}},e.IfcDayInMonthNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDayInWeekNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDescriptiveMeasure=class{constructor(e){this.value=e,this.type=1}};class t{constructor(e){this.type=4,this.value=parseFloat(e)}}e.IfcDimensionCount=t,e.IfcDoseEquivalentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcDuration=class{constructor(e){this.value=e,this.type=1}},e.IfcDynamicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricCapacitanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricChargeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricConductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricCurrentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcElectricVoltageMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcEnergyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcFontStyle=class{constructor(e){this.value=e,this.type=1}},e.IfcFontVariant=class{constructor(e){this.value=e,this.type=1}},e.IfcFontWeight=class{constructor(e){this.value=e,this.type=1}},e.IfcForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcGloballyUniqueId=class{constructor(e){this.value=e,this.type=1}},e.IfcHeatFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcHeatingValueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIdentifier=class{constructor(e){this.value=e,this.type=1}},e.IfcIlluminanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcInductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIntegerCountRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIonConcentrationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcIsothermalMoistureCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcKinematicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLabel=class{constructor(e){this.value=e,this.type=1}},e.IfcLanguageId=class{constructor(e){this.value=e,this.type=1}},e.IfcLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLineIndex=class{constructor(e){this.value=e}},e.IfcLinearForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLinearVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLogical=class{constructor(e){this.type=3,this.value="true"==e}},e.IfcLuminousFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLuminousIntensityDistributionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcLuminousIntensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMagneticFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMagneticFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMassPerLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfElasticityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfLinearSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfRotationalSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcModulusOfSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMoistureDiffusivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMolecularWeightMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMomentOfInertiaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMonetaryMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcMonthInYearNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcNonNegativeLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcNormalisedRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcNumericMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPHMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcParameterValue=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPlanarForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositiveInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositiveLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositivePlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPositiveRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPresentableText=class{constructor(e){this.value=e,this.type=1}},e.IfcPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcPropertySetDefinitionSet=class{constructor(e){this.value=e}},e.IfcRadioActivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcReal=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcRotationalStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSectionModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSectionalAreaIntegralMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcShearModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSolidAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPowerLevelMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPressureLevelMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSoundPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecificHeatCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecularExponent=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcSpecularRoughness=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTemperatureGradientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTemperatureRateOfChangeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcText=class{constructor(e){this.value=e,this.type=1}},e.IfcTextAlignment=class{constructor(e){this.value=e,this.type=1}},e.IfcTextDecoration=class{constructor(e){this.value=e,this.type=1}},e.IfcTextFontName=class{constructor(e){this.value=e,this.type=1}},e.IfcTextTransformation=class{constructor(e){this.value=e,this.type=1}},e.IfcThermalAdmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalConductivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalExpansionCoefficientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermalTransmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcThermodynamicTemperatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTime=class{constructor(e){this.value=e,this.type=1}},e.IfcTimeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTimeStamp=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcTorqueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcURIReference=class{constructor(e){this.value=e,this.type=1}},e.IfcVaporPermeabilityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcVolumeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcVolumetricFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcWarpingConstantMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}},e.IfcWarpingMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};class n{}n.EMAIL={type:3,value:"EMAIL"},n.FAX={type:3,value:"FAX"},n.PHONE={type:3,value:"PHONE"},n.POST={type:3,value:"POST"},n.VERBAL={type:3,value:"VERBAL"},n.USERDEFINED={type:3,value:"USERDEFINED"},n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionRequestTypeEnum=n;class s{}s.BRAKES={type:3,value:"BRAKES"},s.BUOYANCY={type:3,value:"BUOYANCY"},s.COMPLETION_G1={type:3,value:"COMPLETION_G1"},s.CREEP={type:3,value:"CREEP"},s.CURRENT={type:3,value:"CURRENT"},s.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},s.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},s.ERECTION={type:3,value:"ERECTION"},s.FIRE={type:3,value:"FIRE"},s.ICE={type:3,value:"ICE"},s.IMPACT={type:3,value:"IMPACT"},s.IMPULSE={type:3,value:"IMPULSE"},s.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},s.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},s.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},s.PROPPING={type:3,value:"PROPPING"},s.RAIN={type:3,value:"RAIN"},s.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},s.SHRINKAGE={type:3,value:"SHRINKAGE"},s.SNOW_S={type:3,value:"SNOW_S"},s.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},s.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},s.TRANSPORT={type:3,value:"TRANSPORT"},s.WAVE={type:3,value:"WAVE"},s.WIND_W={type:3,value:"WIND_W"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=s;class i{}i.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},i.PERMANENT_G={type:3,value:"PERMANENT_G"},i.VARIABLE_Q={type:3,value:"VARIABLE_Q"},i.USERDEFINED={type:3,value:"USERDEFINED"},i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=i;class a{}a.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},a.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},a.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},a.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},a.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},a.USERDEFINED={type:3,value:"USERDEFINED"},a.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=a;class l{}l.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},l.HOME={type:3,value:"HOME"},l.OFFICE={type:3,value:"OFFICE"},l.SITE={type:3,value:"SITE"},l.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=l;class r{}r.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},r.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},r.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=r;class o{}o.DIFFUSER={type:3,value:"DIFFUSER"},o.GRILLE={type:3,value:"GRILLE"},o.LOUVRE={type:3,value:"LOUVRE"},o.REGISTER={type:3,value:"REGISTER"},o.USERDEFINED={type:3,value:"USERDEFINED"},o.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=o;class c{}c.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},c.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},c.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},c.HEATPIPE={type:3,value:"HEATPIPE"},c.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},c.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},c.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},c.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},c.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},c.USERDEFINED={type:3,value:"USERDEFINED"},c.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=c;class u{}u.BELL={type:3,value:"BELL"},u.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},u.LIGHT={type:3,value:"LIGHT"},u.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},u.RAILWAYCROCODILE={type:3,value:"RAILWAYCROCODILE"},u.RAILWAYDETONATOR={type:3,value:"RAILWAYDETONATOR"},u.SIREN={type:3,value:"SIREN"},u.WHISTLE={type:3,value:"WHISTLE"},u.USERDEFINED={type:3,value:"USERDEFINED"},u.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=u;class p{}p.BLOSSCURVE={type:3,value:"BLOSSCURVE"},p.CONSTANTCANT={type:3,value:"CONSTANTCANT"},p.COSINECURVE={type:3,value:"COSINECURVE"},p.HELMERTCURVE={type:3,value:"HELMERTCURVE"},p.LINEARTRANSITION={type:3,value:"LINEARTRANSITION"},p.SINECURVE={type:3,value:"SINECURVE"},p.VIENNESEBEND={type:3,value:"VIENNESEBEND"},e.IfcAlignmentCantSegmentTypeEnum=p;class h{}h.BLOSSCURVE={type:3,value:"BLOSSCURVE"},h.CIRCULARARC={type:3,value:"CIRCULARARC"},h.CLOTHOID={type:3,value:"CLOTHOID"},h.COSINECURVE={type:3,value:"COSINECURVE"},h.CUBIC={type:3,value:"CUBIC"},h.HELMERTCURVE={type:3,value:"HELMERTCURVE"},h.LINE={type:3,value:"LINE"},h.SINECURVE={type:3,value:"SINECURVE"},h.VIENNESEBEND={type:3,value:"VIENNESEBEND"},e.IfcAlignmentHorizontalSegmentTypeEnum=h;class d{}d.USERDEFINED={type:3,value:"USERDEFINED"},d.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlignmentTypeEnum=d;class f{}f.CIRCULARARC={type:3,value:"CIRCULARARC"},f.CLOTHOID={type:3,value:"CLOTHOID"},f.CONSTANTGRADIENT={type:3,value:"CONSTANTGRADIENT"},f.PARABOLICARC={type:3,value:"PARABOLICARC"},e.IfcAlignmentVerticalSegmentTypeEnum=f;class I{}I.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},I.LOADING_3D={type:3,value:"LOADING_3D"},I.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},I.USERDEFINED={type:3,value:"USERDEFINED"},I.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=I;class m{}m.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},m.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},m.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},m.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},m.USERDEFINED={type:3,value:"USERDEFINED"},m.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=m;class y{}y.ASBUILTAREA={type:3,value:"ASBUILTAREA"},y.ASBUILTLINE={type:3,value:"ASBUILTLINE"},y.ASBUILTPOINT={type:3,value:"ASBUILTPOINT"},y.ASSUMEDAREA={type:3,value:"ASSUMEDAREA"},y.ASSUMEDLINE={type:3,value:"ASSUMEDLINE"},y.ASSUMEDPOINT={type:3,value:"ASSUMEDPOINT"},y.NON_PHYSICAL_SIGNAL={type:3,value:"NON_PHYSICAL_SIGNAL"},y.SUPERELEVATIONEVENT={type:3,value:"SUPERELEVATIONEVENT"},y.WIDTHEVENT={type:3,value:"WIDTHEVENT"},y.USERDEFINED={type:3,value:"USERDEFINED"},y.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnnotationTypeEnum=y;class v{}v.ADD={type:3,value:"ADD"},v.DIVIDE={type:3,value:"DIVIDE"},v.MULTIPLY={type:3,value:"MULTIPLY"},v.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=v;class w{}w.FACTORY={type:3,value:"FACTORY"},w.SITE={type:3,value:"SITE"},w.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=w;class T{}T.AMPLIFIER={type:3,value:"AMPLIFIER"},T.CAMERA={type:3,value:"CAMERA"},T.COMMUNICATIONTERMINAL={type:3,value:"COMMUNICATIONTERMINAL"},T.DISPLAY={type:3,value:"DISPLAY"},T.MICROPHONE={type:3,value:"MICROPHONE"},T.PLAYER={type:3,value:"PLAYER"},T.PROJECTOR={type:3,value:"PROJECTOR"},T.RECEIVER={type:3,value:"RECEIVER"},T.RECORDINGEQUIPMENT={type:3,value:"RECORDINGEQUIPMENT"},T.SPEAKER={type:3,value:"SPEAKER"},T.SWITCHER={type:3,value:"SWITCHER"},T.TELEPHONE={type:3,value:"TELEPHONE"},T.TUNER={type:3,value:"TUNER"},T.USERDEFINED={type:3,value:"USERDEFINED"},T.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAudioVisualApplianceTypeEnum=T;class E{}E.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},E.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},E.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},E.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},E.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},E.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=E;class g{}g.CONICAL_SURF={type:3,value:"CONICAL_SURF"},g.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},g.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},g.PLANE_SURF={type:3,value:"PLANE_SURF"},g.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},g.RULED_SURF={type:3,value:"RULED_SURF"},g.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},g.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},g.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},g.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},g.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineSurfaceForm=g;class R{}R.BEAM={type:3,value:"BEAM"},R.CORNICE={type:3,value:"CORNICE"},R.DIAPHRAGM={type:3,value:"DIAPHRAGM"},R.EDGEBEAM={type:3,value:"EDGEBEAM"},R.GIRDER_SEGMENT={type:3,value:"GIRDER_SEGMENT"},R.HATSTONE={type:3,value:"HATSTONE"},R.HOLLOWCORE={type:3,value:"HOLLOWCORE"},R.JOIST={type:3,value:"JOIST"},R.LINTEL={type:3,value:"LINTEL"},R.PIERCAP={type:3,value:"PIERCAP"},R.SPANDREL={type:3,value:"SPANDREL"},R.T_BEAM={type:3,value:"T_BEAM"},R.USERDEFINED={type:3,value:"USERDEFINED"},R.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=R;class D{}D.FIXED_MOVEMENT={type:3,value:"FIXED_MOVEMENT"},D.FREE_MOVEMENT={type:3,value:"FREE_MOVEMENT"},D.GUIDED_LONGITUDINAL={type:3,value:"GUIDED_LONGITUDINAL"},D.GUIDED_TRANSVERSAL={type:3,value:"GUIDED_TRANSVERSAL"},D.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBearingTypeDisplacementEnum=D;class S{}S.CYLINDRICAL={type:3,value:"CYLINDRICAL"},S.DISK={type:3,value:"DISK"},S.ELASTOMERIC={type:3,value:"ELASTOMERIC"},S.GUIDE={type:3,value:"GUIDE"},S.POT={type:3,value:"POT"},S.ROCKER={type:3,value:"ROCKER"},S.ROLLER={type:3,value:"ROLLER"},S.SPHERICAL={type:3,value:"SPHERICAL"},S.USERDEFINED={type:3,value:"USERDEFINED"},S.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBearingTypeEnum=S;class b{}b.EQUALTO={type:3,value:"EQUALTO"},b.GREATERTHAN={type:3,value:"GREATERTHAN"},b.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},b.INCLUDEDIN={type:3,value:"INCLUDEDIN"},b.INCLUDES={type:3,value:"INCLUDES"},b.LESSTHAN={type:3,value:"LESSTHAN"},b.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},b.NOTEQUALTO={type:3,value:"NOTEQUALTO"},b.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},b.NOTINCLUDES={type:3,value:"NOTINCLUDES"},e.IfcBenchmarkEnum=b;class N{}N.STEAM={type:3,value:"STEAM"},N.WATER={type:3,value:"WATER"},N.USERDEFINED={type:3,value:"USERDEFINED"},N.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=N;class O{}O.DIFFERENCE={type:3,value:"DIFFERENCE"},O.INTERSECTION={type:3,value:"INTERSECTION"},O.UNION={type:3,value:"UNION"},e.IfcBooleanOperator=O;class A{}A.ABUTMENT={type:3,value:"ABUTMENT"},A.DECK={type:3,value:"DECK"},A.DECK_SEGMENT={type:3,value:"DECK_SEGMENT"},A.FOUNDATION={type:3,value:"FOUNDATION"},A.PIER={type:3,value:"PIER"},A.PIER_SEGMENT={type:3,value:"PIER_SEGMENT"},A.PYLON={type:3,value:"PYLON"},A.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},A.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},A.SURFACESTRUCTURE={type:3,value:"SURFACESTRUCTURE"},A.USERDEFINED={type:3,value:"USERDEFINED"},A.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBridgePartTypeEnum=A;class x{}x.ARCHED={type:3,value:"ARCHED"},x.CABLE_STAYED={type:3,value:"CABLE_STAYED"},x.CANTILEVER={type:3,value:"CANTILEVER"},x.CULVERT={type:3,value:"CULVERT"},x.FRAMEWORK={type:3,value:"FRAMEWORK"},x.GIRDER={type:3,value:"GIRDER"},x.SUSPENSION={type:3,value:"SUSPENSION"},x.TRUSS={type:3,value:"TRUSS"},x.USERDEFINED={type:3,value:"USERDEFINED"},x.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBridgeTypeEnum=x;class C{}C.APRON={type:3,value:"APRON"},C.ARMOURUNIT={type:3,value:"ARMOURUNIT"},C.INSULATION={type:3,value:"INSULATION"},C.PRECASTPANEL={type:3,value:"PRECASTPANEL"},C.SAFETYCAGE={type:3,value:"SAFETYCAGE"},C.USERDEFINED={type:3,value:"USERDEFINED"},C.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementPartTypeEnum=C;class L{}L.COMPLEX={type:3,value:"COMPLEX"},L.ELEMENT={type:3,value:"ELEMENT"},L.PARTIAL={type:3,value:"PARTIAL"},L.USERDEFINED={type:3,value:"USERDEFINED"},L.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=L;class P{}P.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},P.FENESTRATION={type:3,value:"FENESTRATION"},P.FOUNDATION={type:3,value:"FOUNDATION"},P.LOADBEARING={type:3,value:"LOADBEARING"},P.OUTERSHELL={type:3,value:"OUTERSHELL"},P.PRESTRESSING={type:3,value:"PRESTRESSING"},P.REINFORCING={type:3,value:"REINFORCING"},P.SHADING={type:3,value:"SHADING"},P.TRANSPORT={type:3,value:"TRANSPORT"},P.USERDEFINED={type:3,value:"USERDEFINED"},P.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingSystemTypeEnum=P;class q{}q.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},q.FENESTRATION={type:3,value:"FENESTRATION"},q.FOUNDATION={type:3,value:"FOUNDATION"},q.LOADBEARING={type:3,value:"LOADBEARING"},q.MOORING={type:3,value:"MOORING"},q.OUTERSHELL={type:3,value:"OUTERSHELL"},q.PRESTRESSING={type:3,value:"PRESTRESSING"},q.RAILWAYLINE={type:3,value:"RAILWAYLINE"},q.RAILWAYTRACK={type:3,value:"RAILWAYTRACK"},q.REINFORCING={type:3,value:"REINFORCING"},q.SHADING={type:3,value:"SHADING"},q.TRACKCIRCUIT={type:3,value:"TRACKCIRCUIT"},q.TRANSPORT={type:3,value:"TRANSPORT"},q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuiltSystemTypeEnum=q;class _{}_.USERDEFINED={type:3,value:"USERDEFINED"},_.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBurnerTypeEnum=_;class M{}M.BEND={type:3,value:"BEND"},M.CONNECTOR={type:3,value:"CONNECTOR"},M.CROSS={type:3,value:"CROSS"},M.JUNCTION={type:3,value:"JUNCTION"},M.TEE={type:3,value:"TEE"},M.TRANSITION={type:3,value:"TRANSITION"},M.USERDEFINED={type:3,value:"USERDEFINED"},M.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=M;class H{}H.CABLEBRACKET={type:3,value:"CABLEBRACKET"},H.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},H.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},H.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},H.CATENARYWIRE={type:3,value:"CATENARYWIRE"},H.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},H.DROPPER={type:3,value:"DROPPER"},H.USERDEFINED={type:3,value:"USERDEFINED"},H.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=H;class B{}B.CONNECTOR={type:3,value:"CONNECTOR"},B.ENTRY={type:3,value:"ENTRY"},B.EXIT={type:3,value:"EXIT"},B.FANOUT={type:3,value:"FANOUT"},B.JUNCTION={type:3,value:"JUNCTION"},B.TRANSITION={type:3,value:"TRANSITION"},B.USERDEFINED={type:3,value:"USERDEFINED"},B.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableFittingTypeEnum=B;class U{}U.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},U.CABLESEGMENT={type:3,value:"CABLESEGMENT"},U.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},U.CONTACTWIRESEGMENT={type:3,value:"CONTACTWIRESEGMENT"},U.CORESEGMENT={type:3,value:"CORESEGMENT"},U.FIBERSEGMENT={type:3,value:"FIBERSEGMENT"},U.FIBERTUBE={type:3,value:"FIBERTUBE"},U.OPTICALCABLESEGMENT={type:3,value:"OPTICALCABLESEGMENT"},U.STITCHWIRE={type:3,value:"STITCHWIRE"},U.WIREPAIRSEGMENT={type:3,value:"WIREPAIRSEGMENT"},U.USERDEFINED={type:3,value:"USERDEFINED"},U.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=U;class F{}F.CAISSON={type:3,value:"CAISSON"},F.WELL={type:3,value:"WELL"},F.USERDEFINED={type:3,value:"USERDEFINED"},F.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCaissonFoundationTypeEnum=F;class G{}G.ADDED={type:3,value:"ADDED"},G.DELETED={type:3,value:"DELETED"},G.MODIFIED={type:3,value:"MODIFIED"},G.NOCHANGE={type:3,value:"NOCHANGE"},G.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChangeActionEnum=G;class V{}V.AIRCOOLED={type:3,value:"AIRCOOLED"},V.HEATRECOVERY={type:3,value:"HEATRECOVERY"},V.WATERCOOLED={type:3,value:"WATERCOOLED"},V.USERDEFINED={type:3,value:"USERDEFINED"},V.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=V;class j{}j.USERDEFINED={type:3,value:"USERDEFINED"},j.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChimneyTypeEnum=j;class z{}z.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},z.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},z.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},z.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},z.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},z.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},z.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},z.USERDEFINED={type:3,value:"USERDEFINED"},z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=z;class W{}W.COLUMN={type:3,value:"COLUMN"},W.PIERSTEM={type:3,value:"PIERSTEM"},W.PIERSTEM_SEGMENT={type:3,value:"PIERSTEM_SEGMENT"},W.PILASTER={type:3,value:"PILASTER"},W.STANDCOLUMN={type:3,value:"STANDCOLUMN"},W.USERDEFINED={type:3,value:"USERDEFINED"},W.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=W;class k{}k.ANTENNA={type:3,value:"ANTENNA"},k.AUTOMATON={type:3,value:"AUTOMATON"},k.COMPUTER={type:3,value:"COMPUTER"},k.FAX={type:3,value:"FAX"},k.GATEWAY={type:3,value:"GATEWAY"},k.INTELLIGENTPERIPHERAL={type:3,value:"INTELLIGENTPERIPHERAL"},k.IPNETWORKEQUIPMENT={type:3,value:"IPNETWORKEQUIPMENT"},k.LINESIDEELECTRONICUNIT={type:3,value:"LINESIDEELECTRONICUNIT"},k.MODEM={type:3,value:"MODEM"},k.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},k.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},k.NETWORKHUB={type:3,value:"NETWORKHUB"},k.OPTICALLINETERMINAL={type:3,value:"OPTICALLINETERMINAL"},k.OPTICALNETWORKUNIT={type:3,value:"OPTICALNETWORKUNIT"},k.PRINTER={type:3,value:"PRINTER"},k.RADIOBLOCKCENTER={type:3,value:"RADIOBLOCKCENTER"},k.REPEATER={type:3,value:"REPEATER"},k.ROUTER={type:3,value:"ROUTER"},k.SCANNER={type:3,value:"SCANNER"},k.TELECOMMAND={type:3,value:"TELECOMMAND"},k.TELEPHONYEXCHANGE={type:3,value:"TELEPHONYEXCHANGE"},k.TRANSITIONCOMPONENT={type:3,value:"TRANSITIONCOMPONENT"},k.TRANSPONDER={type:3,value:"TRANSPONDER"},k.TRANSPORTEQUIPMENT={type:3,value:"TRANSPORTEQUIPMENT"},k.USERDEFINED={type:3,value:"USERDEFINED"},k.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCommunicationsApplianceTypeEnum=k;class Y{}Y.P_COMPLEX={type:3,value:"P_COMPLEX"},Y.Q_COMPLEX={type:3,value:"Q_COMPLEX"},e.IfcComplexPropertyTemplateTypeEnum=Y;class X{}X.BOOSTER={type:3,value:"BOOSTER"},X.DYNAMIC={type:3,value:"DYNAMIC"},X.HERMETIC={type:3,value:"HERMETIC"},X.OPENTYPE={type:3,value:"OPENTYPE"},X.RECIPROCATING={type:3,value:"RECIPROCATING"},X.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},X.ROTARY={type:3,value:"ROTARY"},X.ROTARYVANE={type:3,value:"ROTARYVANE"},X.SCROLL={type:3,value:"SCROLL"},X.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},X.SINGLESCREW={type:3,value:"SINGLESCREW"},X.SINGLESTAGE={type:3,value:"SINGLESTAGE"},X.TROCHOIDAL={type:3,value:"TROCHOIDAL"},X.TWINSCREW={type:3,value:"TWINSCREW"},X.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},X.USERDEFINED={type:3,value:"USERDEFINED"},X.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=X;class K{}K.AIRCOOLED={type:3,value:"AIRCOOLED"},K.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},K.WATERCOOLED={type:3,value:"WATERCOOLED"},K.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},K.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},K.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},K.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},K.USERDEFINED={type:3,value:"USERDEFINED"},K.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=K;class Z{}Z.ATEND={type:3,value:"ATEND"},Z.ATPATH={type:3,value:"ATPATH"},Z.ATSTART={type:3,value:"ATSTART"},Z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=Z;class Q{}Q.ADVISORY={type:3,value:"ADVISORY"},Q.HARD={type:3,value:"HARD"},Q.SOFT={type:3,value:"SOFT"},Q.USERDEFINED={type:3,value:"USERDEFINED"},Q.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=Q;class J{}J.DEMOLISHING={type:3,value:"DEMOLISHING"},J.EARTHMOVING={type:3,value:"EARTHMOVING"},J.ERECTING={type:3,value:"ERECTING"},J.HEATING={type:3,value:"HEATING"},J.LIGHTING={type:3,value:"LIGHTING"},J.PAVING={type:3,value:"PAVING"},J.PUMPING={type:3,value:"PUMPING"},J.TRANSPORTING={type:3,value:"TRANSPORTING"},J.USERDEFINED={type:3,value:"USERDEFINED"},J.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionEquipmentResourceTypeEnum=J;class ${}$.AGGREGATES={type:3,value:"AGGREGATES"},$.CONCRETE={type:3,value:"CONCRETE"},$.DRYWALL={type:3,value:"DRYWALL"},$.FUEL={type:3,value:"FUEL"},$.GYPSUM={type:3,value:"GYPSUM"},$.MASONRY={type:3,value:"MASONRY"},$.METAL={type:3,value:"METAL"},$.PLASTIC={type:3,value:"PLASTIC"},$.WOOD={type:3,value:"WOOD"},$.USERDEFINED={type:3,value:"USERDEFINED"},$.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionMaterialResourceTypeEnum=$;class ee{}ee.ASSEMBLY={type:3,value:"ASSEMBLY"},ee.FORMWORK={type:3,value:"FORMWORK"},ee.USERDEFINED={type:3,value:"USERDEFINED"},ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionProductResourceTypeEnum=ee;class te{}te.FLOATING={type:3,value:"FLOATING"},te.MULTIPOSITION={type:3,value:"MULTIPOSITION"},te.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},te.PROPORTIONAL={type:3,value:"PROPORTIONAL"},te.TWOPOSITION={type:3,value:"TWOPOSITION"},te.USERDEFINED={type:3,value:"USERDEFINED"},te.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=te;class ne{}ne.BELTCONVEYOR={type:3,value:"BELTCONVEYOR"},ne.BUCKETCONVEYOR={type:3,value:"BUCKETCONVEYOR"},ne.CHUTECONVEYOR={type:3,value:"CHUTECONVEYOR"},ne.SCREWCONVEYOR={type:3,value:"SCREWCONVEYOR"},ne.USERDEFINED={type:3,value:"USERDEFINED"},ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConveyorSegmentTypeEnum=ne;class se{}se.ACTIVE={type:3,value:"ACTIVE"},se.PASSIVE={type:3,value:"PASSIVE"},se.USERDEFINED={type:3,value:"USERDEFINED"},se.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=se;class ie{}ie.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},ie.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},ie.NATURALDRAFT={type:3,value:"NATURALDRAFT"},ie.USERDEFINED={type:3,value:"USERDEFINED"},ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=ie;class ae{}ae.USERDEFINED={type:3,value:"USERDEFINED"},ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostItemTypeEnum=ae;class le{}le.BUDGET={type:3,value:"BUDGET"},le.COSTPLAN={type:3,value:"COSTPLAN"},le.ESTIMATE={type:3,value:"ESTIMATE"},le.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},le.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},le.TENDER={type:3,value:"TENDER"},le.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},le.USERDEFINED={type:3,value:"USERDEFINED"},le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=le;class re{}re.ARMOUR={type:3,value:"ARMOUR"},re.BALLASTBED={type:3,value:"BALLASTBED"},re.CORE={type:3,value:"CORE"},re.FILTER={type:3,value:"FILTER"},re.PAVEMENT={type:3,value:"PAVEMENT"},re.PROTECTION={type:3,value:"PROTECTION"},re.USERDEFINED={type:3,value:"USERDEFINED"},re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCourseTypeEnum=re;class oe{}oe.CEILING={type:3,value:"CEILING"},oe.CLADDING={type:3,value:"CLADDING"},oe.COPING={type:3,value:"COPING"},oe.FLOORING={type:3,value:"FLOORING"},oe.INSULATION={type:3,value:"INSULATION"},oe.MEMBRANE={type:3,value:"MEMBRANE"},oe.MOLDING={type:3,value:"MOLDING"},oe.ROOFING={type:3,value:"ROOFING"},oe.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},oe.SLEEVING={type:3,value:"SLEEVING"},oe.TOPPING={type:3,value:"TOPPING"},oe.WRAPPING={type:3,value:"WRAPPING"},oe.USERDEFINED={type:3,value:"USERDEFINED"},oe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=oe;class ce{}ce.OFFICE={type:3,value:"OFFICE"},ce.SITE={type:3,value:"SITE"},ce.USERDEFINED={type:3,value:"USERDEFINED"},ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCrewResourceTypeEnum=ce;class ue{}ue.USERDEFINED={type:3,value:"USERDEFINED"},ue.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=ue;class pe{}pe.LINEAR={type:3,value:"LINEAR"},pe.LOG_LINEAR={type:3,value:"LOG_LINEAR"},pe.LOG_LOG={type:3,value:"LOG_LOG"},pe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurveInterpolationEnum=pe;class he{}he.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},he.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},he.BLASTDAMPER={type:3,value:"BLASTDAMPER"},he.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},he.FIREDAMPER={type:3,value:"FIREDAMPER"},he.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},he.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},he.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},he.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},he.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},he.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},he.USERDEFINED={type:3,value:"USERDEFINED"},he.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=he;class de{}de.MEASURED={type:3,value:"MEASURED"},de.PREDICTED={type:3,value:"PREDICTED"},de.SIMULATED={type:3,value:"SIMULATED"},de.USERDEFINED={type:3,value:"USERDEFINED"},de.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=de;class fe{}fe.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},fe.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},fe.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},fe.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},fe.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},fe.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},fe.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},fe.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},fe.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},fe.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},fe.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},fe.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},fe.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},fe.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},fe.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},fe.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},fe.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},fe.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},fe.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},fe.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},fe.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},fe.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},fe.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},fe.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},fe.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},fe.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},fe.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},fe.PHUNIT={type:3,value:"PHUNIT"},fe.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},fe.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},fe.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},fe.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},fe.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},fe.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},fe.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},fe.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},fe.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},fe.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},fe.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},fe.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},fe.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},fe.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},fe.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},fe.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},fe.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},fe.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},fe.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},fe.TORQUEUNIT={type:3,value:"TORQUEUNIT"},fe.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},fe.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},fe.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},fe.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},fe.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=fe;class Ie{}Ie.NEGATIVE={type:3,value:"NEGATIVE"},Ie.POSITIVE={type:3,value:"POSITIVE"},e.IfcDirectionSenseEnum=Ie;class me{}me.ANCHORPLATE={type:3,value:"ANCHORPLATE"},me.BIRDPROTECTION={type:3,value:"BIRDPROTECTION"},me.BRACKET={type:3,value:"BRACKET"},me.CABLEARRANGER={type:3,value:"CABLEARRANGER"},me.ELASTIC_CUSHION={type:3,value:"ELASTIC_CUSHION"},me.EXPANSION_JOINT_DEVICE={type:3,value:"EXPANSION_JOINT_DEVICE"},me.FILLER={type:3,value:"FILLER"},me.FLASHING={type:3,value:"FLASHING"},me.INSULATOR={type:3,value:"INSULATOR"},me.LOCK={type:3,value:"LOCK"},me.PANEL_STRENGTHENING={type:3,value:"PANEL_STRENGTHENING"},me.POINTMACHINEMOUNTINGDEVICE={type:3,value:"POINTMACHINEMOUNTINGDEVICE"},me.POINT_MACHINE_LOCKING_DEVICE={type:3,value:"POINT_MACHINE_LOCKING_DEVICE"},me.RAILBRACE={type:3,value:"RAILBRACE"},me.RAILPAD={type:3,value:"RAILPAD"},me.RAIL_LUBRICATION={type:3,value:"RAIL_LUBRICATION"},me.RAIL_MECHANICAL_EQUIPMENT={type:3,value:"RAIL_MECHANICAL_EQUIPMENT"},me.SHOE={type:3,value:"SHOE"},me.SLIDINGCHAIR={type:3,value:"SLIDINGCHAIR"},me.SOUNDABSORPTION={type:3,value:"SOUNDABSORPTION"},me.TENSIONINGEQUIPMENT={type:3,value:"TENSIONINGEQUIPMENT"},me.USERDEFINED={type:3,value:"USERDEFINED"},me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDiscreteAccessoryTypeEnum=me;class ye{}ye.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},ye.DISPATCHINGBOARD={type:3,value:"DISPATCHINGBOARD"},ye.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},ye.DISTRIBUTIONFRAME={type:3,value:"DISTRIBUTIONFRAME"},ye.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},ye.SWITCHBOARD={type:3,value:"SWITCHBOARD"},ye.USERDEFINED={type:3,value:"USERDEFINED"},ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionBoardTypeEnum=ye;class ve{}ve.FORMEDDUCT={type:3,value:"FORMEDDUCT"},ve.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},ve.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},ve.MANHOLE={type:3,value:"MANHOLE"},ve.METERCHAMBER={type:3,value:"METERCHAMBER"},ve.SUMP={type:3,value:"SUMP"},ve.TRENCH={type:3,value:"TRENCH"},ve.VALVECHAMBER={type:3,value:"VALVECHAMBER"},ve.USERDEFINED={type:3,value:"USERDEFINED"},ve.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=ve;class we{}we.CABLE={type:3,value:"CABLE"},we.CABLECARRIER={type:3,value:"CABLECARRIER"},we.DUCT={type:3,value:"DUCT"},we.PIPE={type:3,value:"PIPE"},we.WIRELESS={type:3,value:"WIRELESS"},we.USERDEFINED={type:3,value:"USERDEFINED"},we.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionPortTypeEnum=we;class Te{}Te.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},Te.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},Te.CATENARY_SYSTEM={type:3,value:"CATENARY_SYSTEM"},Te.CHEMICAL={type:3,value:"CHEMICAL"},Te.CHILLEDWATER={type:3,value:"CHILLEDWATER"},Te.COMMUNICATION={type:3,value:"COMMUNICATION"},Te.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},Te.CONDENSERWATER={type:3,value:"CONDENSERWATER"},Te.CONTROL={type:3,value:"CONTROL"},Te.CONVEYING={type:3,value:"CONVEYING"},Te.DATA={type:3,value:"DATA"},Te.DISPOSAL={type:3,value:"DISPOSAL"},Te.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},Te.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},Te.DRAINAGE={type:3,value:"DRAINAGE"},Te.EARTHING={type:3,value:"EARTHING"},Te.ELECTRICAL={type:3,value:"ELECTRICAL"},Te.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},Te.EXHAUST={type:3,value:"EXHAUST"},Te.FIREPROTECTION={type:3,value:"FIREPROTECTION"},Te.FIXEDTRANSMISSIONNETWORK={type:3,value:"FIXEDTRANSMISSIONNETWORK"},Te.FUEL={type:3,value:"FUEL"},Te.GAS={type:3,value:"GAS"},Te.HAZARDOUS={type:3,value:"HAZARDOUS"},Te.HEATING={type:3,value:"HEATING"},Te.LIGHTING={type:3,value:"LIGHTING"},Te.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},Te.MOBILENETWORK={type:3,value:"MOBILENETWORK"},Te.MONITORINGSYSTEM={type:3,value:"MONITORINGSYSTEM"},Te.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},Te.OIL={type:3,value:"OIL"},Te.OPERATIONAL={type:3,value:"OPERATIONAL"},Te.OPERATIONALTELEPHONYSYSTEM={type:3,value:"OPERATIONALTELEPHONYSYSTEM"},Te.OVERHEAD_CONTACTLINE_SYSTEM={type:3,value:"OVERHEAD_CONTACTLINE_SYSTEM"},Te.POWERGENERATION={type:3,value:"POWERGENERATION"},Te.RAINWATER={type:3,value:"RAINWATER"},Te.REFRIGERATION={type:3,value:"REFRIGERATION"},Te.RETURN_CIRCUIT={type:3,value:"RETURN_CIRCUIT"},Te.SECURITY={type:3,value:"SECURITY"},Te.SEWAGE={type:3,value:"SEWAGE"},Te.SIGNAL={type:3,value:"SIGNAL"},Te.STORMWATER={type:3,value:"STORMWATER"},Te.TELEPHONE={type:3,value:"TELEPHONE"},Te.TV={type:3,value:"TV"},Te.VACUUM={type:3,value:"VACUUM"},Te.VENT={type:3,value:"VENT"},Te.VENTILATION={type:3,value:"VENTILATION"},Te.WASTEWATER={type:3,value:"WASTEWATER"},Te.WATERSUPPLY={type:3,value:"WATERSUPPLY"},Te.USERDEFINED={type:3,value:"USERDEFINED"},Te.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionSystemEnum=Te;class Ee{}Ee.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Ee.PERSONAL={type:3,value:"PERSONAL"},Ee.PUBLIC={type:3,value:"PUBLIC"},Ee.RESTRICTED={type:3,value:"RESTRICTED"},Ee.USERDEFINED={type:3,value:"USERDEFINED"},Ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=Ee;class ge{}ge.DRAFT={type:3,value:"DRAFT"},ge.FINAL={type:3,value:"FINAL"},ge.FINALDRAFT={type:3,value:"FINALDRAFT"},ge.REVISION={type:3,value:"REVISION"},ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=ge;class Re{}Re.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},Re.FIXEDPANEL={type:3,value:"FIXEDPANEL"},Re.FOLDING={type:3,value:"FOLDING"},Re.REVOLVING={type:3,value:"REVOLVING"},Re.ROLLINGUP={type:3,value:"ROLLINGUP"},Re.SLIDING={type:3,value:"SLIDING"},Re.SWINGING={type:3,value:"SWINGING"},Re.USERDEFINED={type:3,value:"USERDEFINED"},Re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=Re;class De{}De.LEFT={type:3,value:"LEFT"},De.MIDDLE={type:3,value:"MIDDLE"},De.RIGHT={type:3,value:"RIGHT"},De.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=De;class Se{}Se.ALUMINIUM={type:3,value:"ALUMINIUM"},Se.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},Se.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Se.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Se.PLASTIC={type:3,value:"PLASTIC"},Se.STEEL={type:3,value:"STEEL"},Se.WOOD={type:3,value:"WOOD"},Se.USERDEFINED={type:3,value:"USERDEFINED"},Se.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=Se;class be{}be.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},be.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},be.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},be.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},be.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},be.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},be.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},be.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},be.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},be.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},be.REVOLVING={type:3,value:"REVOLVING"},be.ROLLINGUP={type:3,value:"ROLLINGUP"},be.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},be.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},be.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},be.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},be.USERDEFINED={type:3,value:"USERDEFINED"},be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=be;class Ne{}Ne.BOOM_BARRIER={type:3,value:"BOOM_BARRIER"},Ne.DOOR={type:3,value:"DOOR"},Ne.GATE={type:3,value:"GATE"},Ne.TRAPDOOR={type:3,value:"TRAPDOOR"},Ne.TURNSTILE={type:3,value:"TURNSTILE"},Ne.USERDEFINED={type:3,value:"USERDEFINED"},Ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeEnum=Ne;class Oe{}Oe.DOUBLE_PANEL_DOUBLE_SWING={type:3,value:"DOUBLE_PANEL_DOUBLE_SWING"},Oe.DOUBLE_PANEL_FOLDING={type:3,value:"DOUBLE_PANEL_FOLDING"},Oe.DOUBLE_PANEL_LIFTING_VERTICAL={type:3,value:"DOUBLE_PANEL_LIFTING_VERTICAL"},Oe.DOUBLE_PANEL_SINGLE_SWING={type:3,value:"DOUBLE_PANEL_SINGLE_SWING"},Oe.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT"},Oe.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT"},Oe.DOUBLE_PANEL_SLIDING={type:3,value:"DOUBLE_PANEL_SLIDING"},Oe.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Oe.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Oe.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Oe.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Oe.LIFTING_HORIZONTAL={type:3,value:"LIFTING_HORIZONTAL"},Oe.LIFTING_VERTICAL_LEFT={type:3,value:"LIFTING_VERTICAL_LEFT"},Oe.LIFTING_VERTICAL_RIGHT={type:3,value:"LIFTING_VERTICAL_RIGHT"},Oe.REVOLVING_HORIZONTAL={type:3,value:"REVOLVING_HORIZONTAL"},Oe.REVOLVING_VERTICAL={type:3,value:"REVOLVING_VERTICAL"},Oe.ROLLINGUP={type:3,value:"ROLLINGUP"},Oe.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Oe.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Oe.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Oe.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Oe.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},Oe.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},Oe.USERDEFINED={type:3,value:"USERDEFINED"},Oe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeOperationEnum=Oe;class Ae{}Ae.BEND={type:3,value:"BEND"},Ae.CONNECTOR={type:3,value:"CONNECTOR"},Ae.ENTRY={type:3,value:"ENTRY"},Ae.EXIT={type:3,value:"EXIT"},Ae.JUNCTION={type:3,value:"JUNCTION"},Ae.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Ae.TRANSITION={type:3,value:"TRANSITION"},Ae.USERDEFINED={type:3,value:"USERDEFINED"},Ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=Ae;class xe{}xe.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},xe.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},xe.USERDEFINED={type:3,value:"USERDEFINED"},xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=xe;class Ce{}Ce.FLATOVAL={type:3,value:"FLATOVAL"},Ce.RECTANGULAR={type:3,value:"RECTANGULAR"},Ce.ROUND={type:3,value:"ROUND"},Ce.USERDEFINED={type:3,value:"USERDEFINED"},Ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=Ce;class Le{}Le.BASE_EXCAVATION={type:3,value:"BASE_EXCAVATION"},Le.CUT={type:3,value:"CUT"},Le.DREDGING={type:3,value:"DREDGING"},Le.EXCAVATION={type:3,value:"EXCAVATION"},Le.OVEREXCAVATION={type:3,value:"OVEREXCAVATION"},Le.PAVEMENTMILLING={type:3,value:"PAVEMENTMILLING"},Le.STEPEXCAVATION={type:3,value:"STEPEXCAVATION"},Le.TOPSOILREMOVAL={type:3,value:"TOPSOILREMOVAL"},Le.TRENCH={type:3,value:"TRENCH"},Le.USERDEFINED={type:3,value:"USERDEFINED"},Le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEarthworksCutTypeEnum=Le;class Pe{}Pe.BACKFILL={type:3,value:"BACKFILL"},Pe.COUNTERWEIGHT={type:3,value:"COUNTERWEIGHT"},Pe.EMBANKMENT={type:3,value:"EMBANKMENT"},Pe.SLOPEFILL={type:3,value:"SLOPEFILL"},Pe.SUBGRADE={type:3,value:"SUBGRADE"},Pe.SUBGRADEBED={type:3,value:"SUBGRADEBED"},Pe.TRANSITIONSECTION={type:3,value:"TRANSITIONSECTION"},Pe.USERDEFINED={type:3,value:"USERDEFINED"},Pe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEarthworksFillTypeEnum=Pe;class qe{}qe.DISHWASHER={type:3,value:"DISHWASHER"},qe.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},qe.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},qe.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},qe.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},qe.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},qe.FREEZER={type:3,value:"FREEZER"},qe.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},qe.HANDDRYER={type:3,value:"HANDDRYER"},qe.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},qe.MICROWAVE={type:3,value:"MICROWAVE"},qe.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},qe.REFRIGERATOR={type:3,value:"REFRIGERATOR"},qe.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},qe.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},qe.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},qe.USERDEFINED={type:3,value:"USERDEFINED"},qe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=qe;class _e{}_e.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},_e.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},_e.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},_e.SWITCHBOARD={type:3,value:"SWITCHBOARD"},_e.USERDEFINED={type:3,value:"USERDEFINED"},_e.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionBoardTypeEnum=_e;class Me{}Me.BATTERY={type:3,value:"BATTERY"},Me.CAPACITOR={type:3,value:"CAPACITOR"},Me.CAPACITORBANK={type:3,value:"CAPACITORBANK"},Me.COMPENSATOR={type:3,value:"COMPENSATOR"},Me.HARMONICFILTER={type:3,value:"HARMONICFILTER"},Me.INDUCTOR={type:3,value:"INDUCTOR"},Me.INDUCTORBANK={type:3,value:"INDUCTORBANK"},Me.RECHARGER={type:3,value:"RECHARGER"},Me.UPS={type:3,value:"UPS"},Me.USERDEFINED={type:3,value:"USERDEFINED"},Me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=Me;class He{}He.ELECTRONICFILTER={type:3,value:"ELECTRONICFILTER"},He.USERDEFINED={type:3,value:"USERDEFINED"},He.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowTreatmentDeviceTypeEnum=He;class Be{}Be.CHP={type:3,value:"CHP"},Be.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},Be.STANDALONE={type:3,value:"STANDALONE"},Be.USERDEFINED={type:3,value:"USERDEFINED"},Be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=Be;class Ue{}Ue.DC={type:3,value:"DC"},Ue.INDUCTION={type:3,value:"INDUCTION"},Ue.POLYPHASE={type:3,value:"POLYPHASE"},Ue.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},Ue.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},Ue.USERDEFINED={type:3,value:"USERDEFINED"},Ue.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=Ue;class Fe{}Fe.RELAY={type:3,value:"RELAY"},Fe.TIMECLOCK={type:3,value:"TIMECLOCK"},Fe.TIMEDELAY={type:3,value:"TIMEDELAY"},Fe.USERDEFINED={type:3,value:"USERDEFINED"},Fe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=Fe;class Ge{}Ge.ABUTMENT={type:3,value:"ABUTMENT"},Ge.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},Ge.ARCH={type:3,value:"ARCH"},Ge.BEAM_GRID={type:3,value:"BEAM_GRID"},Ge.BRACED_FRAME={type:3,value:"BRACED_FRAME"},Ge.CROSS_BRACING={type:3,value:"CROSS_BRACING"},Ge.DECK={type:3,value:"DECK"},Ge.DILATATIONPANEL={type:3,value:"DILATATIONPANEL"},Ge.ENTRANCEWORKS={type:3,value:"ENTRANCEWORKS"},Ge.GIRDER={type:3,value:"GIRDER"},Ge.GRID={type:3,value:"GRID"},Ge.MAST={type:3,value:"MAST"},Ge.PIER={type:3,value:"PIER"},Ge.PYLON={type:3,value:"PYLON"},Ge.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY={type:3,value:"RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY"},Ge.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},Ge.RIGID_FRAME={type:3,value:"RIGID_FRAME"},Ge.SHELTER={type:3,value:"SHELTER"},Ge.SIGNALASSEMBLY={type:3,value:"SIGNALASSEMBLY"},Ge.SLAB_FIELD={type:3,value:"SLAB_FIELD"},Ge.SUMPBUSTER={type:3,value:"SUMPBUSTER"},Ge.SUPPORTINGASSEMBLY={type:3,value:"SUPPORTINGASSEMBLY"},Ge.SUSPENSIONASSEMBLY={type:3,value:"SUSPENSIONASSEMBLY"},Ge.TRACKPANEL={type:3,value:"TRACKPANEL"},Ge.TRACTION_SWITCHING_ASSEMBLY={type:3,value:"TRACTION_SWITCHING_ASSEMBLY"},Ge.TRAFFIC_CALMING_DEVICE={type:3,value:"TRAFFIC_CALMING_DEVICE"},Ge.TRUSS={type:3,value:"TRUSS"},Ge.TURNOUTPANEL={type:3,value:"TURNOUTPANEL"},Ge.USERDEFINED={type:3,value:"USERDEFINED"},Ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=Ge;class Ve{}Ve.COMPLEX={type:3,value:"COMPLEX"},Ve.ELEMENT={type:3,value:"ELEMENT"},Ve.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=Ve;class je{}je.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},je.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},je.USERDEFINED={type:3,value:"USERDEFINED"},je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEngineTypeEnum=je;class ze{}ze.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},ze.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},ze.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},ze.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},ze.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},ze.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},ze.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},ze.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},ze.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},ze.USERDEFINED={type:3,value:"USERDEFINED"},ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=ze;class We{}We.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},We.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},We.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},We.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},We.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},We.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},We.USERDEFINED={type:3,value:"USERDEFINED"},We.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=We;class ke{}ke.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},ke.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},ke.EVENTRULE={type:3,value:"EVENTRULE"},ke.EVENTTIME={type:3,value:"EVENTTIME"},ke.USERDEFINED={type:3,value:"USERDEFINED"},ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTriggerTypeEnum=ke;class Ye{}Ye.ENDEVENT={type:3,value:"ENDEVENT"},Ye.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},Ye.STARTEVENT={type:3,value:"STARTEVENT"},Ye.USERDEFINED={type:3,value:"USERDEFINED"},Ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTypeEnum=Ye;class Xe{}Xe.EXTERNAL={type:3,value:"EXTERNAL"},Xe.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Xe.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Xe.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Xe.USERDEFINED={type:3,value:"USERDEFINED"},Xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcExternalSpatialElementTypeEnum=Xe;class Ke{}Ke.ABOVEGROUND={type:3,value:"ABOVEGROUND"},Ke.BELOWGROUND={type:3,value:"BELOWGROUND"},Ke.JUNCTION={type:3,value:"JUNCTION"},Ke.LEVELCROSSING={type:3,value:"LEVELCROSSING"},Ke.SEGMENT={type:3,value:"SEGMENT"},Ke.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},Ke.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},Ke.TERMINAL={type:3,value:"TERMINAL"},Ke.USERDEFINED={type:3,value:"USERDEFINED"},Ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFacilityPartCommonTypeEnum=Ke;class Ze{}Ze.LATERAL={type:3,value:"LATERAL"},Ze.LONGITUDINAL={type:3,value:"LONGITUDINAL"},Ze.REGION={type:3,value:"REGION"},Ze.VERTICAL={type:3,value:"VERTICAL"},Ze.USERDEFINED={type:3,value:"USERDEFINED"},Ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFacilityUsageEnum=Ze;class Qe{}Qe.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},Qe.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},Qe.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},Qe.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},Qe.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},Qe.TUBEAXIAL={type:3,value:"TUBEAXIAL"},Qe.VANEAXIAL={type:3,value:"VANEAXIAL"},Qe.USERDEFINED={type:3,value:"USERDEFINED"},Qe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=Qe;class Je{}Je.GLUE={type:3,value:"GLUE"},Je.MORTAR={type:3,value:"MORTAR"},Je.WELD={type:3,value:"WELD"},Je.USERDEFINED={type:3,value:"USERDEFINED"},Je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFastenerTypeEnum=Je;class $e{}$e.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},$e.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},$e.ODORFILTER={type:3,value:"ODORFILTER"},$e.OILFILTER={type:3,value:"OILFILTER"},$e.STRAINER={type:3,value:"STRAINER"},$e.WATERFILTER={type:3,value:"WATERFILTER"},$e.USERDEFINED={type:3,value:"USERDEFINED"},$e.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=$e;class et{}et.BREECHINGINLET={type:3,value:"BREECHINGINLET"},et.FIREHYDRANT={type:3,value:"FIREHYDRANT"},et.FIREMONITOR={type:3,value:"FIREMONITOR"},et.HOSEREEL={type:3,value:"HOSEREEL"},et.SPRINKLER={type:3,value:"SPRINKLER"},et.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},et.USERDEFINED={type:3,value:"USERDEFINED"},et.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=et;class tt{}tt.SINK={type:3,value:"SINK"},tt.SOURCE={type:3,value:"SOURCE"},tt.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=tt;class nt{}nt.AMMETER={type:3,value:"AMMETER"},nt.COMBINED={type:3,value:"COMBINED"},nt.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},nt.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},nt.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},nt.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},nt.THERMOMETER={type:3,value:"THERMOMETER"},nt.VOLTMETER={type:3,value:"VOLTMETER"},nt.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},nt.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},nt.USERDEFINED={type:3,value:"USERDEFINED"},nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=nt;class st{}st.ENERGYMETER={type:3,value:"ENERGYMETER"},st.GASMETER={type:3,value:"GASMETER"},st.OILMETER={type:3,value:"OILMETER"},st.WATERMETER={type:3,value:"WATERMETER"},st.USERDEFINED={type:3,value:"USERDEFINED"},st.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=st;class it{}it.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},it.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},it.PAD_FOOTING={type:3,value:"PAD_FOOTING"},it.PILE_CAP={type:3,value:"PILE_CAP"},it.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},it.USERDEFINED={type:3,value:"USERDEFINED"},it.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=it;class at{}at.BED={type:3,value:"BED"},at.CHAIR={type:3,value:"CHAIR"},at.DESK={type:3,value:"DESK"},at.FILECABINET={type:3,value:"FILECABINET"},at.SHELF={type:3,value:"SHELF"},at.SOFA={type:3,value:"SOFA"},at.TABLE={type:3,value:"TABLE"},at.TECHNICALCABINET={type:3,value:"TECHNICALCABINET"},at.USERDEFINED={type:3,value:"USERDEFINED"},at.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFurnitureTypeEnum=at;class lt{}lt.SOIL_BORING_POINT={type:3,value:"SOIL_BORING_POINT"},lt.TERRAIN={type:3,value:"TERRAIN"},lt.VEGETATION={type:3,value:"VEGETATION"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeographicElementTypeEnum=lt;class rt{}rt.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},rt.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},rt.MODEL_VIEW={type:3,value:"MODEL_VIEW"},rt.PLAN_VIEW={type:3,value:"PLAN_VIEW"},rt.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},rt.SECTION_VIEW={type:3,value:"SECTION_VIEW"},rt.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},rt.USERDEFINED={type:3,value:"USERDEFINED"},rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=rt;class ot{}ot.SOLID={type:3,value:"SOLID"},ot.VOID={type:3,value:"VOID"},ot.WATER={type:3,value:"WATER"},ot.USERDEFINED={type:3,value:"USERDEFINED"},ot.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeotechnicalStratumTypeEnum=ot;class ct{}ct.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},ct.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=ct;class ut{}ut.IRREGULAR={type:3,value:"IRREGULAR"},ut.RADIAL={type:3,value:"RADIAL"},ut.RECTANGULAR={type:3,value:"RECTANGULAR"},ut.TRIANGULAR={type:3,value:"TRIANGULAR"},ut.USERDEFINED={type:3,value:"USERDEFINED"},ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGridTypeEnum=ut;class pt{}pt.PLATE={type:3,value:"PLATE"},pt.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},pt.TURNOUTHEATING={type:3,value:"TURNOUTHEATING"},pt.USERDEFINED={type:3,value:"USERDEFINED"},pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=pt;class ht{}ht.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},ht.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},ht.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},ht.ADIABATICPAN={type:3,value:"ADIABATICPAN"},ht.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},ht.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},ht.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},ht.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},ht.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},ht.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},ht.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},ht.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},ht.STEAMINJECTION={type:3,value:"STEAMINJECTION"},ht.USERDEFINED={type:3,value:"USERDEFINED"},ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=ht;class dt{}dt.BUMPER={type:3,value:"BUMPER"},dt.CRASHCUSHION={type:3,value:"CRASHCUSHION"},dt.DAMPINGSYSTEM={type:3,value:"DAMPINGSYSTEM"},dt.FENDER={type:3,value:"FENDER"},dt.USERDEFINED={type:3,value:"USERDEFINED"},dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcImpactProtectionDeviceTypeEnum=dt;class ft{}ft.CYCLONIC={type:3,value:"CYCLONIC"},ft.GREASE={type:3,value:"GREASE"},ft.OIL={type:3,value:"OIL"},ft.PETROL={type:3,value:"PETROL"},ft.USERDEFINED={type:3,value:"USERDEFINED"},ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInterceptorTypeEnum=ft;class It{}It.EXTERNAL={type:3,value:"EXTERNAL"},It.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},It.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},It.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},It.INTERNAL={type:3,value:"INTERNAL"},It.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=It;class mt{}mt.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},mt.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},mt.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},mt.USERDEFINED={type:3,value:"USERDEFINED"},mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=mt;class yt{}yt.DATA={type:3,value:"DATA"},yt.POWER={type:3,value:"POWER"},yt.USERDEFINED={type:3,value:"USERDEFINED"},yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=yt;class vt{}vt.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},vt.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},vt.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},vt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcKnotType=vt;class wt{}wt.ADMINISTRATION={type:3,value:"ADMINISTRATION"},wt.CARPENTRY={type:3,value:"CARPENTRY"},wt.CLEANING={type:3,value:"CLEANING"},wt.CONCRETE={type:3,value:"CONCRETE"},wt.DRYWALL={type:3,value:"DRYWALL"},wt.ELECTRIC={type:3,value:"ELECTRIC"},wt.FINISHING={type:3,value:"FINISHING"},wt.FLOORING={type:3,value:"FLOORING"},wt.GENERAL={type:3,value:"GENERAL"},wt.HVAC={type:3,value:"HVAC"},wt.LANDSCAPING={type:3,value:"LANDSCAPING"},wt.MASONRY={type:3,value:"MASONRY"},wt.PAINTING={type:3,value:"PAINTING"},wt.PAVING={type:3,value:"PAVING"},wt.PLUMBING={type:3,value:"PLUMBING"},wt.ROOFING={type:3,value:"ROOFING"},wt.SITEGRADING={type:3,value:"SITEGRADING"},wt.STEELWORK={type:3,value:"STEELWORK"},wt.SURVEYING={type:3,value:"SURVEYING"},wt.USERDEFINED={type:3,value:"USERDEFINED"},wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLaborResourceTypeEnum=wt;class Tt{}Tt.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Tt.FLUORESCENT={type:3,value:"FLUORESCENT"},Tt.HALOGEN={type:3,value:"HALOGEN"},Tt.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Tt.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Tt.LED={type:3,value:"LED"},Tt.METALHALIDE={type:3,value:"METALHALIDE"},Tt.OLED={type:3,value:"OLED"},Tt.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=Tt;class Et{}Et.AXIS1={type:3,value:"AXIS1"},Et.AXIS2={type:3,value:"AXIS2"},Et.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=Et;class gt{}gt.TYPE_A={type:3,value:"TYPE_A"},gt.TYPE_B={type:3,value:"TYPE_B"},gt.TYPE_C={type:3,value:"TYPE_C"},gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=gt;class Rt{}Rt.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Rt.FLUORESCENT={type:3,value:"FLUORESCENT"},Rt.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Rt.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Rt.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Rt.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Rt.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Rt.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Rt.METALHALIDE={type:3,value:"METALHALIDE"},Rt.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=Rt;class Dt{}Dt.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},Dt.POINTSOURCE={type:3,value:"POINTSOURCE"},Dt.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},Dt.USERDEFINED={type:3,value:"USERDEFINED"},Dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=Dt;class St{}St.HOSEREEL={type:3,value:"HOSEREEL"},St.LOADINGARM={type:3,value:"LOADINGARM"},St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLiquidTerminalTypeEnum=St;class bt{}bt.LOAD_CASE={type:3,value:"LOAD_CASE"},bt.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},bt.LOAD_GROUP={type:3,value:"LOAD_GROUP"},bt.USERDEFINED={type:3,value:"USERDEFINED"},bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=bt;class Nt{}Nt.LOGICALAND={type:3,value:"LOGICALAND"},Nt.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},Nt.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},Nt.LOGICALOR={type:3,value:"LOGICALOR"},Nt.LOGICALXOR={type:3,value:"LOGICALXOR"},e.IfcLogicalOperatorEnum=Nt;class Ot{}Ot.BARRIERBEACH={type:3,value:"BARRIERBEACH"},Ot.BREAKWATER={type:3,value:"BREAKWATER"},Ot.CANAL={type:3,value:"CANAL"},Ot.DRYDOCK={type:3,value:"DRYDOCK"},Ot.FLOATINGDOCK={type:3,value:"FLOATINGDOCK"},Ot.HYDROLIFT={type:3,value:"HYDROLIFT"},Ot.JETTY={type:3,value:"JETTY"},Ot.LAUNCHRECOVERY={type:3,value:"LAUNCHRECOVERY"},Ot.MARINEDEFENCE={type:3,value:"MARINEDEFENCE"},Ot.NAVIGATIONALCHANNEL={type:3,value:"NAVIGATIONALCHANNEL"},Ot.PORT={type:3,value:"PORT"},Ot.QUAY={type:3,value:"QUAY"},Ot.REVETMENT={type:3,value:"REVETMENT"},Ot.SHIPLIFT={type:3,value:"SHIPLIFT"},Ot.SHIPLOCK={type:3,value:"SHIPLOCK"},Ot.SHIPYARD={type:3,value:"SHIPYARD"},Ot.SLIPWAY={type:3,value:"SLIPWAY"},Ot.WATERWAY={type:3,value:"WATERWAY"},Ot.WATERWAYSHIPLIFT={type:3,value:"WATERWAYSHIPLIFT"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},Ot.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMarineFacilityTypeEnum=Ot;class At{}At.ABOVEWATERLINE={type:3,value:"ABOVEWATERLINE"},At.ANCHORAGE={type:3,value:"ANCHORAGE"},At.APPROACHCHANNEL={type:3,value:"APPROACHCHANNEL"},At.BELOWWATERLINE={type:3,value:"BELOWWATERLINE"},At.BERTHINGSTRUCTURE={type:3,value:"BERTHINGSTRUCTURE"},At.CHAMBER={type:3,value:"CHAMBER"},At.CILL_LEVEL={type:3,value:"CILL_LEVEL"},At.COPELEVEL={type:3,value:"COPELEVEL"},At.CORE={type:3,value:"CORE"},At.CREST={type:3,value:"CREST"},At.GATEHEAD={type:3,value:"GATEHEAD"},At.GUDINGSTRUCTURE={type:3,value:"GUDINGSTRUCTURE"},At.HIGHWATERLINE={type:3,value:"HIGHWATERLINE"},At.LANDFIELD={type:3,value:"LANDFIELD"},At.LEEWARDSIDE={type:3,value:"LEEWARDSIDE"},At.LOWWATERLINE={type:3,value:"LOWWATERLINE"},At.MANUFACTURING={type:3,value:"MANUFACTURING"},At.NAVIGATIONALAREA={type:3,value:"NAVIGATIONALAREA"},At.PROTECTION={type:3,value:"PROTECTION"},At.SHIPTRANSFER={type:3,value:"SHIPTRANSFER"},At.STORAGEAREA={type:3,value:"STORAGEAREA"},At.VEHICLESERVICING={type:3,value:"VEHICLESERVICING"},At.WATERFIELD={type:3,value:"WATERFIELD"},At.WEATHERSIDE={type:3,value:"WEATHERSIDE"},At.USERDEFINED={type:3,value:"USERDEFINED"},At.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMarinePartTypeEnum=At;class xt{}xt.ANCHORBOLT={type:3,value:"ANCHORBOLT"},xt.BOLT={type:3,value:"BOLT"},xt.CHAIN={type:3,value:"CHAIN"},xt.COUPLER={type:3,value:"COUPLER"},xt.DOWEL={type:3,value:"DOWEL"},xt.NAIL={type:3,value:"NAIL"},xt.NAILPLATE={type:3,value:"NAILPLATE"},xt.RAILFASTENING={type:3,value:"RAILFASTENING"},xt.RAILJOINT={type:3,value:"RAILJOINT"},xt.RIVET={type:3,value:"RIVET"},xt.ROPE={type:3,value:"ROPE"},xt.SCREW={type:3,value:"SCREW"},xt.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},xt.STAPLE={type:3,value:"STAPLE"},xt.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMechanicalFastenerTypeEnum=xt;class Ct{}Ct.AIRSTATION={type:3,value:"AIRSTATION"},Ct.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},Ct.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},Ct.OXYGENPLANT={type:3,value:"OXYGENPLANT"},Ct.VACUUMSTATION={type:3,value:"VACUUMSTATION"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMedicalDeviceTypeEnum=Ct;class Lt{}Lt.ARCH_SEGMENT={type:3,value:"ARCH_SEGMENT"},Lt.BRACE={type:3,value:"BRACE"},Lt.CHORD={type:3,value:"CHORD"},Lt.COLLAR={type:3,value:"COLLAR"},Lt.MEMBER={type:3,value:"MEMBER"},Lt.MULLION={type:3,value:"MULLION"},Lt.PLATE={type:3,value:"PLATE"},Lt.POST={type:3,value:"POST"},Lt.PURLIN={type:3,value:"PURLIN"},Lt.RAFTER={type:3,value:"RAFTER"},Lt.STAY_CABLE={type:3,value:"STAY_CABLE"},Lt.STIFFENING_RIB={type:3,value:"STIFFENING_RIB"},Lt.STRINGER={type:3,value:"STRINGER"},Lt.STRUCTURALCABLE={type:3,value:"STRUCTURALCABLE"},Lt.STRUT={type:3,value:"STRUT"},Lt.STUD={type:3,value:"STUD"},Lt.SUSPENDER={type:3,value:"SUSPENDER"},Lt.SUSPENSION_CABLE={type:3,value:"SUSPENSION_CABLE"},Lt.TIEBAR={type:3,value:"TIEBAR"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=Lt;class Pt{}Pt.ACCESSPOINT={type:3,value:"ACCESSPOINT"},Pt.BASEBANDUNIT={type:3,value:"BASEBANDUNIT"},Pt.BASETRANSCEIVERSTATION={type:3,value:"BASETRANSCEIVERSTATION"},Pt.E_UTRAN_NODE_B={type:3,value:"E_UTRAN_NODE_B"},Pt.GATEWAY_GPRS_SUPPORT_NODE={type:3,value:"GATEWAY_GPRS_SUPPORT_NODE"},Pt.MASTERUNIT={type:3,value:"MASTERUNIT"},Pt.MOBILESWITCHINGCENTER={type:3,value:"MOBILESWITCHINGCENTER"},Pt.MSCSERVER={type:3,value:"MSCSERVER"},Pt.PACKETCONTROLUNIT={type:3,value:"PACKETCONTROLUNIT"},Pt.REMOTERADIOUNIT={type:3,value:"REMOTERADIOUNIT"},Pt.REMOTEUNIT={type:3,value:"REMOTEUNIT"},Pt.SERVICE_GPRS_SUPPORT_NODE={type:3,value:"SERVICE_GPRS_SUPPORT_NODE"},Pt.SUBSCRIBERSERVER={type:3,value:"SUBSCRIBERSERVER"},Pt.USERDEFINED={type:3,value:"USERDEFINED"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMobileTelecommunicationsApplianceTypeEnum=Pt;class qt{}qt.BOLLARD={type:3,value:"BOLLARD"},qt.LINETENSIONER={type:3,value:"LINETENSIONER"},qt.MAGNETICDEVICE={type:3,value:"MAGNETICDEVICE"},qt.MOORINGHOOKS={type:3,value:"MOORINGHOOKS"},qt.VACUUMDEVICE={type:3,value:"VACUUMDEVICE"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMooringDeviceTypeEnum=qt;class _t{}_t.BELTDRIVE={type:3,value:"BELTDRIVE"},_t.COUPLING={type:3,value:"COUPLING"},_t.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},_t.USERDEFINED={type:3,value:"USERDEFINED"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=_t;class Mt{}Mt.BEACON={type:3,value:"BEACON"},Mt.BUOY={type:3,value:"BUOY"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcNavigationElementTypeEnum=Mt;class Ht{}Ht.ACTOR={type:3,value:"ACTOR"},Ht.CONTROL={type:3,value:"CONTROL"},Ht.GROUP={type:3,value:"GROUP"},Ht.PROCESS={type:3,value:"PROCESS"},Ht.PRODUCT={type:3,value:"PRODUCT"},Ht.PROJECT={type:3,value:"PROJECT"},Ht.RESOURCE={type:3,value:"RESOURCE"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=Ht;class Bt{}Bt.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},Bt.CODEWAIVER={type:3,value:"CODEWAIVER"},Bt.DESIGNINTENT={type:3,value:"DESIGNINTENT"},Bt.EXTERNAL={type:3,value:"EXTERNAL"},Bt.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},Bt.MERGECONFLICT={type:3,value:"MERGECONFLICT"},Bt.MODELVIEW={type:3,value:"MODELVIEW"},Bt.PARAMETER={type:3,value:"PARAMETER"},Bt.REQUIREMENT={type:3,value:"REQUIREMENT"},Bt.SPECIFICATION={type:3,value:"SPECIFICATION"},Bt.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=Bt;class Ut{}Ut.ASSIGNEE={type:3,value:"ASSIGNEE"},Ut.ASSIGNOR={type:3,value:"ASSIGNOR"},Ut.LESSEE={type:3,value:"LESSEE"},Ut.LESSOR={type:3,value:"LESSOR"},Ut.LETTINGAGENT={type:3,value:"LETTINGAGENT"},Ut.OWNER={type:3,value:"OWNER"},Ut.TENANT={type:3,value:"TENANT"},Ut.USERDEFINED={type:3,value:"USERDEFINED"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=Ut;class Ft{}Ft.OPENING={type:3,value:"OPENING"},Ft.RECESS={type:3,value:"RECESS"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOpeningElementTypeEnum=Ft;class Gt{}Gt.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},Gt.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},Gt.DATAOUTLET={type:3,value:"DATAOUTLET"},Gt.POWEROUTLET={type:3,value:"POWEROUTLET"},Gt.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=Gt;class Vt{}Vt.FLEXIBLE={type:3,value:"FLEXIBLE"},Vt.RIGID={type:3,value:"RIGID"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPavementTypeEnum=Vt;class jt{}jt.USERDEFINED={type:3,value:"USERDEFINED"},jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPerformanceHistoryTypeEnum=jt;class zt{}zt.GRILL={type:3,value:"GRILL"},zt.LOUVER={type:3,value:"LOUVER"},zt.SCREEN={type:3,value:"SCREEN"},zt.USERDEFINED={type:3,value:"USERDEFINED"},zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=zt;class Wt{}Wt.ACCESS={type:3,value:"ACCESS"},Wt.BUILDING={type:3,value:"BUILDING"},Wt.WORK={type:3,value:"WORK"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermitTypeEnum=Wt;class kt{}kt.PHYSICAL={type:3,value:"PHYSICAL"},kt.VIRTUAL={type:3,value:"VIRTUAL"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=kt;class Yt{}Yt.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},Yt.COMPOSITE={type:3,value:"COMPOSITE"},Yt.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},Yt.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=Yt;class Xt{}Xt.BORED={type:3,value:"BORED"},Xt.COHESION={type:3,value:"COHESION"},Xt.DRIVEN={type:3,value:"DRIVEN"},Xt.FRICTION={type:3,value:"FRICTION"},Xt.JETGROUTING={type:3,value:"JETGROUTING"},Xt.SUPPORT={type:3,value:"SUPPORT"},Xt.USERDEFINED={type:3,value:"USERDEFINED"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=Xt;class Kt{}Kt.BEND={type:3,value:"BEND"},Kt.CONNECTOR={type:3,value:"CONNECTOR"},Kt.ENTRY={type:3,value:"ENTRY"},Kt.EXIT={type:3,value:"EXIT"},Kt.JUNCTION={type:3,value:"JUNCTION"},Kt.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Kt.TRANSITION={type:3,value:"TRANSITION"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=Kt;class Zt{}Zt.CULVERT={type:3,value:"CULVERT"},Zt.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Zt.GUTTER={type:3,value:"GUTTER"},Zt.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Zt.SPOOL={type:3,value:"SPOOL"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=Zt;class Qt{}Qt.BASE_PLATE={type:3,value:"BASE_PLATE"},Qt.COVER_PLATE={type:3,value:"COVER_PLATE"},Qt.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},Qt.FLANGE_PLATE={type:3,value:"FLANGE_PLATE"},Qt.GUSSET_PLATE={type:3,value:"GUSSET_PLATE"},Qt.SHEET={type:3,value:"SHEET"},Qt.SPLICE_PLATE={type:3,value:"SPLICE_PLATE"},Qt.STIFFENER_PLATE={type:3,value:"STIFFENER_PLATE"},Qt.WEB_PLATE={type:3,value:"WEB_PLATE"},Qt.USERDEFINED={type:3,value:"USERDEFINED"},Qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=Qt;class Jt{}Jt.CURVE3D={type:3,value:"CURVE3D"},Jt.PCURVE_S1={type:3,value:"PCURVE_S1"},Jt.PCURVE_S2={type:3,value:"PCURVE_S2"},e.IfcPreferredSurfaceCurveRepresentation=Jt;class $t{}$t.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},$t.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},$t.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},$t.CALIBRATION={type:3,value:"CALIBRATION"},$t.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},$t.SHUTDOWN={type:3,value:"SHUTDOWN"},$t.STARTUP={type:3,value:"STARTUP"},$t.USERDEFINED={type:3,value:"USERDEFINED"},$t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=$t;class en{}en.AREA={type:3,value:"AREA"},en.CURVE={type:3,value:"CURVE"},e.IfcProfileTypeEnum=en;class tn{}tn.CHANGEORDER={type:3,value:"CHANGEORDER"},tn.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},tn.MOVEORDER={type:3,value:"MOVEORDER"},tn.PURCHASEORDER={type:3,value:"PURCHASEORDER"},tn.WORKORDER={type:3,value:"WORKORDER"},tn.USERDEFINED={type:3,value:"USERDEFINED"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=tn;class nn{}nn.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},nn.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=nn;class sn{}sn.BLISTER={type:3,value:"BLISTER"},sn.DEVIATOR={type:3,value:"DEVIATOR"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectionElementTypeEnum=sn;class an{}an.PSET_MATERIALDRIVEN={type:3,value:"PSET_MATERIALDRIVEN"},an.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},an.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},an.PSET_PROFILEDRIVEN={type:3,value:"PSET_PROFILEDRIVEN"},an.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},an.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},an.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},an.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},an.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},an.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPropertySetTemplateTypeEnum=an;class ln{}ln.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},ln.ELECTRONIC={type:3,value:"ELECTRONIC"},ln.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},ln.THERMAL={type:3,value:"THERMAL"},ln.USERDEFINED={type:3,value:"USERDEFINED"},ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTrippingUnitTypeEnum=ln;class rn{}rn.ANTI_ARCING_DEVICE={type:3,value:"ANTI_ARCING_DEVICE"},rn.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},rn.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},rn.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},rn.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},rn.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},rn.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},rn.SPARKGAP={type:3,value:"SPARKGAP"},rn.VARISTOR={type:3,value:"VARISTOR"},rn.VOLTAGELIMITER={type:3,value:"VOLTAGELIMITER"},rn.USERDEFINED={type:3,value:"USERDEFINED"},rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=rn;class on{}on.CIRCULATOR={type:3,value:"CIRCULATOR"},on.ENDSUCTION={type:3,value:"ENDSUCTION"},on.SPLITCASE={type:3,value:"SPLITCASE"},on.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},on.SUMPPUMP={type:3,value:"SUMPPUMP"},on.VERTICALINLINE={type:3,value:"VERTICALINLINE"},on.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},on.USERDEFINED={type:3,value:"USERDEFINED"},on.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=on;class cn{}cn.BLADE={type:3,value:"BLADE"},cn.CHECKRAIL={type:3,value:"CHECKRAIL"},cn.GUARDRAIL={type:3,value:"GUARDRAIL"},cn.RACKRAIL={type:3,value:"RACKRAIL"},cn.RAIL={type:3,value:"RAIL"},cn.STOCKRAIL={type:3,value:"STOCKRAIL"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailTypeEnum=cn;class un{}un.BALUSTRADE={type:3,value:"BALUSTRADE"},un.FENCE={type:3,value:"FENCE"},un.GUARDRAIL={type:3,value:"GUARDRAIL"},un.HANDRAIL={type:3,value:"HANDRAIL"},un.USERDEFINED={type:3,value:"USERDEFINED"},un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=un;class pn{}pn.DILATATIONSUPERSTRUCTURE={type:3,value:"DILATATIONSUPERSTRUCTURE"},pn.LINESIDESTRUCTURE={type:3,value:"LINESIDESTRUCTURE"},pn.LINESIDESTRUCTUREPART={type:3,value:"LINESIDESTRUCTUREPART"},pn.PLAINTRACKSUPERSTRUCTURE={type:3,value:"PLAINTRACKSUPERSTRUCTURE"},pn.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},pn.TRACKSTRUCTURE={type:3,value:"TRACKSTRUCTURE"},pn.TRACKSTRUCTUREPART={type:3,value:"TRACKSTRUCTUREPART"},pn.TURNOUTSUPERSTRUCTURE={type:3,value:"TURNOUTSUPERSTRUCTURE"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailwayPartTypeEnum=pn;class hn{}hn.USERDEFINED={type:3,value:"USERDEFINED"},hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailwayTypeEnum=hn;class dn{}dn.SPIRAL={type:3,value:"SPIRAL"},dn.STRAIGHT={type:3,value:"STRAIGHT"},dn.USERDEFINED={type:3,value:"USERDEFINED"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=dn;class fn{}fn.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},fn.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},fn.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},fn.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},fn.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},fn.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},fn.USERDEFINED={type:3,value:"USERDEFINED"},fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=fn;class In{}In.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},In.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},In.DAILY={type:3,value:"DAILY"},In.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},In.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},In.WEEKLY={type:3,value:"WEEKLY"},In.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},In.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"},e.IfcRecurrenceTypeEnum=In;class mn{}mn.BOUNDARY={type:3,value:"BOUNDARY"},mn.INTERSECTION={type:3,value:"INTERSECTION"},mn.KILOPOINT={type:3,value:"KILOPOINT"},mn.LANDMARK={type:3,value:"LANDMARK"},mn.MILEPOINT={type:3,value:"MILEPOINT"},mn.POSITION={type:3,value:"POSITION"},mn.REFERENCEMARKER={type:3,value:"REFERENCEMARKER"},mn.STATION={type:3,value:"STATION"},mn.USERDEFINED={type:3,value:"USERDEFINED"},mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReferentTypeEnum=mn;class yn{}yn.BLINN={type:3,value:"BLINN"},yn.FLAT={type:3,value:"FLAT"},yn.GLASS={type:3,value:"GLASS"},yn.MATT={type:3,value:"MATT"},yn.METAL={type:3,value:"METAL"},yn.MIRROR={type:3,value:"MIRROR"},yn.PHONG={type:3,value:"PHONG"},yn.PHYSICAL={type:3,value:"PHYSICAL"},yn.PLASTIC={type:3,value:"PLASTIC"},yn.STRAUSS={type:3,value:"STRAUSS"},yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=yn;class vn{}vn.DYNAMICALLYCOMPACTED={type:3,value:"DYNAMICALLYCOMPACTED"},vn.GROUTED={type:3,value:"GROUTED"},vn.REPLACED={type:3,value:"REPLACED"},vn.ROLLERCOMPACTED={type:3,value:"ROLLERCOMPACTED"},vn.SURCHARGEPRELOADED={type:3,value:"SURCHARGEPRELOADED"},vn.VERTICALLYDRAINED={type:3,value:"VERTICALLYDRAINED"},vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcedSoilTypeEnum=vn;class wn{}wn.ANCHORING={type:3,value:"ANCHORING"},wn.EDGE={type:3,value:"EDGE"},wn.LIGATURE={type:3,value:"LIGATURE"},wn.MAIN={type:3,value:"MAIN"},wn.PUNCHING={type:3,value:"PUNCHING"},wn.RING={type:3,value:"RING"},wn.SHEAR={type:3,value:"SHEAR"},wn.STUD={type:3,value:"STUD"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=wn;class Tn{}Tn.PLAIN={type:3,value:"PLAIN"},Tn.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=Tn;class En{}En.ANCHORING={type:3,value:"ANCHORING"},En.EDGE={type:3,value:"EDGE"},En.LIGATURE={type:3,value:"LIGATURE"},En.MAIN={type:3,value:"MAIN"},En.PUNCHING={type:3,value:"PUNCHING"},En.RING={type:3,value:"RING"},En.SHEAR={type:3,value:"SHEAR"},En.SPACEBAR={type:3,value:"SPACEBAR"},En.STUD={type:3,value:"STUD"},En.USERDEFINED={type:3,value:"USERDEFINED"},En.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarTypeEnum=En;class gn{}gn.USERDEFINED={type:3,value:"USERDEFINED"},gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingMeshTypeEnum=gn;class Rn{}Rn.BICYCLECROSSING={type:3,value:"BICYCLECROSSING"},Rn.BUS_STOP={type:3,value:"BUS_STOP"},Rn.CARRIAGEWAY={type:3,value:"CARRIAGEWAY"},Rn.CENTRALISLAND={type:3,value:"CENTRALISLAND"},Rn.CENTRALRESERVE={type:3,value:"CENTRALRESERVE"},Rn.HARDSHOULDER={type:3,value:"HARDSHOULDER"},Rn.INTERSECTION={type:3,value:"INTERSECTION"},Rn.LAYBY={type:3,value:"LAYBY"},Rn.PARKINGBAY={type:3,value:"PARKINGBAY"},Rn.PASSINGBAY={type:3,value:"PASSINGBAY"},Rn.PEDESTRIAN_CROSSING={type:3,value:"PEDESTRIAN_CROSSING"},Rn.RAILWAYCROSSING={type:3,value:"RAILWAYCROSSING"},Rn.REFUGEISLAND={type:3,value:"REFUGEISLAND"},Rn.ROADSEGMENT={type:3,value:"ROADSEGMENT"},Rn.ROADSIDE={type:3,value:"ROADSIDE"},Rn.ROADSIDEPART={type:3,value:"ROADSIDEPART"},Rn.ROADWAYPLATEAU={type:3,value:"ROADWAYPLATEAU"},Rn.ROUNDABOUT={type:3,value:"ROUNDABOUT"},Rn.SHOULDER={type:3,value:"SHOULDER"},Rn.SIDEWALK={type:3,value:"SIDEWALK"},Rn.SOFTSHOULDER={type:3,value:"SOFTSHOULDER"},Rn.TOLLPLAZA={type:3,value:"TOLLPLAZA"},Rn.TRAFFICISLAND={type:3,value:"TRAFFICISLAND"},Rn.TRAFFICLANE={type:3,value:"TRAFFICLANE"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},Rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoadPartTypeEnum=Rn;class Dn{}Dn.USERDEFINED={type:3,value:"USERDEFINED"},Dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoadTypeEnum=Dn;class Sn{}Sn.ARCHITECT={type:3,value:"ARCHITECT"},Sn.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},Sn.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},Sn.CIVILENGINEER={type:3,value:"CIVILENGINEER"},Sn.CLIENT={type:3,value:"CLIENT"},Sn.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},Sn.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},Sn.CONSULTANT={type:3,value:"CONSULTANT"},Sn.CONTRACTOR={type:3,value:"CONTRACTOR"},Sn.COSTENGINEER={type:3,value:"COSTENGINEER"},Sn.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},Sn.ENGINEER={type:3,value:"ENGINEER"},Sn.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},Sn.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},Sn.MANUFACTURER={type:3,value:"MANUFACTURER"},Sn.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},Sn.OWNER={type:3,value:"OWNER"},Sn.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},Sn.RESELLER={type:3,value:"RESELLER"},Sn.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},Sn.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},Sn.SUPPLIER={type:3,value:"SUPPLIER"},Sn.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=Sn;class bn{}bn.BARREL_ROOF={type:3,value:"BARREL_ROOF"},bn.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},bn.DOME_ROOF={type:3,value:"DOME_ROOF"},bn.FLAT_ROOF={type:3,value:"FLAT_ROOF"},bn.FREEFORM={type:3,value:"FREEFORM"},bn.GABLE_ROOF={type:3,value:"GABLE_ROOF"},bn.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},bn.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},bn.HIP_ROOF={type:3,value:"HIP_ROOF"},bn.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},bn.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},bn.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},bn.SHED_ROOF={type:3,value:"SHED_ROOF"},bn.USERDEFINED={type:3,value:"USERDEFINED"},bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=bn;class Nn{}Nn.ATTO={type:3,value:"ATTO"},Nn.CENTI={type:3,value:"CENTI"},Nn.DECA={type:3,value:"DECA"},Nn.DECI={type:3,value:"DECI"},Nn.EXA={type:3,value:"EXA"},Nn.FEMTO={type:3,value:"FEMTO"},Nn.GIGA={type:3,value:"GIGA"},Nn.HECTO={type:3,value:"HECTO"},Nn.KILO={type:3,value:"KILO"},Nn.MEGA={type:3,value:"MEGA"},Nn.MICRO={type:3,value:"MICRO"},Nn.MILLI={type:3,value:"MILLI"},Nn.NANO={type:3,value:"NANO"},Nn.PETA={type:3,value:"PETA"},Nn.PICO={type:3,value:"PICO"},Nn.TERA={type:3,value:"TERA"},e.IfcSIPrefix=Nn;class On{}On.AMPERE={type:3,value:"AMPERE"},On.BECQUEREL={type:3,value:"BECQUEREL"},On.CANDELA={type:3,value:"CANDELA"},On.COULOMB={type:3,value:"COULOMB"},On.CUBIC_METRE={type:3,value:"CUBIC_METRE"},On.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},On.FARAD={type:3,value:"FARAD"},On.GRAM={type:3,value:"GRAM"},On.GRAY={type:3,value:"GRAY"},On.HENRY={type:3,value:"HENRY"},On.HERTZ={type:3,value:"HERTZ"},On.JOULE={type:3,value:"JOULE"},On.KELVIN={type:3,value:"KELVIN"},On.LUMEN={type:3,value:"LUMEN"},On.LUX={type:3,value:"LUX"},On.METRE={type:3,value:"METRE"},On.MOLE={type:3,value:"MOLE"},On.NEWTON={type:3,value:"NEWTON"},On.OHM={type:3,value:"OHM"},On.PASCAL={type:3,value:"PASCAL"},On.RADIAN={type:3,value:"RADIAN"},On.SECOND={type:3,value:"SECOND"},On.SIEMENS={type:3,value:"SIEMENS"},On.SIEVERT={type:3,value:"SIEVERT"},On.SQUARE_METRE={type:3,value:"SQUARE_METRE"},On.STERADIAN={type:3,value:"STERADIAN"},On.TESLA={type:3,value:"TESLA"},On.VOLT={type:3,value:"VOLT"},On.WATT={type:3,value:"WATT"},On.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=On;class An{}An.BATH={type:3,value:"BATH"},An.BIDET={type:3,value:"BIDET"},An.CISTERN={type:3,value:"CISTERN"},An.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},An.SHOWER={type:3,value:"SHOWER"},An.SINK={type:3,value:"SINK"},An.TOILETPAN={type:3,value:"TOILETPAN"},An.URINAL={type:3,value:"URINAL"},An.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},An.WCSEAT={type:3,value:"WCSEAT"},An.USERDEFINED={type:3,value:"USERDEFINED"},An.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=An;class xn{}xn.TAPERED={type:3,value:"TAPERED"},xn.UNIFORM={type:3,value:"UNIFORM"},e.IfcSectionTypeEnum=xn;class Cn{}Cn.CO2SENSOR={type:3,value:"CO2SENSOR"},Cn.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},Cn.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},Cn.COSENSOR={type:3,value:"COSENSOR"},Cn.EARTHQUAKESENSOR={type:3,value:"EARTHQUAKESENSOR"},Cn.FIRESENSOR={type:3,value:"FIRESENSOR"},Cn.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Cn.FOREIGNOBJECTDETECTIONSENSOR={type:3,value:"FOREIGNOBJECTDETECTIONSENSOR"},Cn.FROSTSENSOR={type:3,value:"FROSTSENSOR"},Cn.GASSENSOR={type:3,value:"GASSENSOR"},Cn.HEATSENSOR={type:3,value:"HEATSENSOR"},Cn.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Cn.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},Cn.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},Cn.LEVELSENSOR={type:3,value:"LEVELSENSOR"},Cn.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Cn.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Cn.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Cn.OBSTACLESENSOR={type:3,value:"OBSTACLESENSOR"},Cn.PHSENSOR={type:3,value:"PHSENSOR"},Cn.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Cn.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},Cn.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},Cn.RAINSENSOR={type:3,value:"RAINSENSOR"},Cn.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Cn.SNOWDEPTHSENSOR={type:3,value:"SNOWDEPTHSENSOR"},Cn.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Cn.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Cn.TRAINSENSOR={type:3,value:"TRAINSENSOR"},Cn.TURNOUTCLOSURESENSOR={type:3,value:"TURNOUTCLOSURESENSOR"},Cn.WHEELSENSOR={type:3,value:"WHEELSENSOR"},Cn.WINDSENSOR={type:3,value:"WINDSENSOR"},Cn.USERDEFINED={type:3,value:"USERDEFINED"},Cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=Cn;class Ln{}Ln.FINISH_FINISH={type:3,value:"FINISH_FINISH"},Ln.FINISH_START={type:3,value:"FINISH_START"},Ln.START_FINISH={type:3,value:"START_FINISH"},Ln.START_START={type:3,value:"START_START"},Ln.USERDEFINED={type:3,value:"USERDEFINED"},Ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=Ln;class Pn{}Pn.AWNING={type:3,value:"AWNING"},Pn.JALOUSIE={type:3,value:"JALOUSIE"},Pn.SHUTTER={type:3,value:"SHUTTER"},Pn.USERDEFINED={type:3,value:"USERDEFINED"},Pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcShadingDeviceTypeEnum=Pn;class qn{}qn.MARKER={type:3,value:"MARKER"},qn.MIRROR={type:3,value:"MIRROR"},qn.PICTORAL={type:3,value:"PICTORAL"},qn.USERDEFINED={type:3,value:"USERDEFINED"},qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSignTypeEnum=qn;class _n{}_n.AUDIO={type:3,value:"AUDIO"},_n.MIXED={type:3,value:"MIXED"},_n.VISUAL={type:3,value:"VISUAL"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSignalTypeEnum=_n;class Mn{}Mn.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},Mn.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},Mn.P_LISTVALUE={type:3,value:"P_LISTVALUE"},Mn.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},Mn.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},Mn.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},Mn.Q_AREA={type:3,value:"Q_AREA"},Mn.Q_COUNT={type:3,value:"Q_COUNT"},Mn.Q_LENGTH={type:3,value:"Q_LENGTH"},Mn.Q_NUMBER={type:3,value:"Q_NUMBER"},Mn.Q_TIME={type:3,value:"Q_TIME"},Mn.Q_VOLUME={type:3,value:"Q_VOLUME"},Mn.Q_WEIGHT={type:3,value:"Q_WEIGHT"},e.IfcSimplePropertyTemplateTypeEnum=Mn;class Hn{}Hn.APPROACH_SLAB={type:3,value:"APPROACH_SLAB"},Hn.BASESLAB={type:3,value:"BASESLAB"},Hn.FLOOR={type:3,value:"FLOOR"},Hn.LANDING={type:3,value:"LANDING"},Hn.PAVING={type:3,value:"PAVING"},Hn.ROOF={type:3,value:"ROOF"},Hn.SIDEWALK={type:3,value:"SIDEWALK"},Hn.TRACKSLAB={type:3,value:"TRACKSLAB"},Hn.WEARING={type:3,value:"WEARING"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=Hn;class Bn{}Bn.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},Bn.SOLARPANEL={type:3,value:"SOLARPANEL"},Bn.USERDEFINED={type:3,value:"USERDEFINED"},Bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSolarDeviceTypeEnum=Bn;class Un{}Un.CONVECTOR={type:3,value:"CONVECTOR"},Un.RADIATOR={type:3,value:"RADIATOR"},Un.USERDEFINED={type:3,value:"USERDEFINED"},Un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=Un;class Fn{}Fn.BERTH={type:3,value:"BERTH"},Fn.EXTERNAL={type:3,value:"EXTERNAL"},Fn.GFA={type:3,value:"GFA"},Fn.INTERNAL={type:3,value:"INTERNAL"},Fn.PARKING={type:3,value:"PARKING"},Fn.SPACE={type:3,value:"SPACE"},Fn.USERDEFINED={type:3,value:"USERDEFINED"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=Fn;class Gn{}Gn.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Gn.FIRESAFETY={type:3,value:"FIRESAFETY"},Gn.INTERFERENCE={type:3,value:"INTERFERENCE"},Gn.LIGHTING={type:3,value:"LIGHTING"},Gn.OCCUPANCY={type:3,value:"OCCUPANCY"},Gn.RESERVATION={type:3,value:"RESERVATION"},Gn.SECURITY={type:3,value:"SECURITY"},Gn.THERMAL={type:3,value:"THERMAL"},Gn.TRANSPORT={type:3,value:"TRANSPORT"},Gn.VENTILATION={type:3,value:"VENTILATION"},Gn.USERDEFINED={type:3,value:"USERDEFINED"},Gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpatialZoneTypeEnum=Gn;class Vn{}Vn.BIRDCAGE={type:3,value:"BIRDCAGE"},Vn.COWL={type:3,value:"COWL"},Vn.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Vn.USERDEFINED={type:3,value:"USERDEFINED"},Vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=Vn;class jn{}jn.CURVED={type:3,value:"CURVED"},jn.FREEFORM={type:3,value:"FREEFORM"},jn.SPIRAL={type:3,value:"SPIRAL"},jn.STRAIGHT={type:3,value:"STRAIGHT"},jn.WINDER={type:3,value:"WINDER"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=jn;class zn{}zn.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},zn.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},zn.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},zn.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},zn.LADDER={type:3,value:"LADDER"},zn.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},zn.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},zn.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},zn.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},zn.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},zn.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},zn.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},zn.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},zn.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},zn.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},zn.USERDEFINED={type:3,value:"USERDEFINED"},zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=zn;class Wn{}Wn.LOCKED={type:3,value:"LOCKED"},Wn.READONLY={type:3,value:"READONLY"},Wn.READONLYLOCKED={type:3,value:"READONLYLOCKED"},Wn.READWRITE={type:3,value:"READWRITE"},Wn.READWRITELOCKED={type:3,value:"READWRITELOCKED"},e.IfcStateEnum=Wn;class kn{}kn.CONST={type:3,value:"CONST"},kn.DISCRETE={type:3,value:"DISCRETE"},kn.EQUIDISTANT={type:3,value:"EQUIDISTANT"},kn.LINEAR={type:3,value:"LINEAR"},kn.PARABOLA={type:3,value:"PARABOLA"},kn.POLYGONAL={type:3,value:"POLYGONAL"},kn.SINUS={type:3,value:"SINUS"},kn.USERDEFINED={type:3,value:"USERDEFINED"},kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveActivityTypeEnum=kn;class Yn{}Yn.CABLE={type:3,value:"CABLE"},Yn.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},Yn.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},Yn.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},Yn.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},Yn.USERDEFINED={type:3,value:"USERDEFINED"},Yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveMemberTypeEnum=Yn;class Xn{}Xn.BILINEAR={type:3,value:"BILINEAR"},Xn.CONST={type:3,value:"CONST"},Xn.DISCRETE={type:3,value:"DISCRETE"},Xn.ISOCONTOUR={type:3,value:"ISOCONTOUR"},Xn.USERDEFINED={type:3,value:"USERDEFINED"},Xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceActivityTypeEnum=Xn;class Kn{}Kn.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},Kn.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},Kn.SHELL={type:3,value:"SHELL"},Kn.USERDEFINED={type:3,value:"USERDEFINED"},Kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceMemberTypeEnum=Kn;class Zn{}Zn.PURCHASE={type:3,value:"PURCHASE"},Zn.WORK={type:3,value:"WORK"},Zn.USERDEFINED={type:3,value:"USERDEFINED"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSubContractResourceTypeEnum=Zn;class Qn{}Qn.DEFECT={type:3,value:"DEFECT"},Qn.HATCHMARKING={type:3,value:"HATCHMARKING"},Qn.LINEMARKING={type:3,value:"LINEMARKING"},Qn.MARK={type:3,value:"MARK"},Qn.NONSKIDSURFACING={type:3,value:"NONSKIDSURFACING"},Qn.PAVEMENTSURFACEMARKING={type:3,value:"PAVEMENTSURFACEMARKING"},Qn.RUMBLESTRIP={type:3,value:"RUMBLESTRIP"},Qn.SYMBOLMARKING={type:3,value:"SYMBOLMARKING"},Qn.TAG={type:3,value:"TAG"},Qn.TRANSVERSERUMBLESTRIP={type:3,value:"TRANSVERSERUMBLESTRIP"},Qn.TREATMENT={type:3,value:"TREATMENT"},Qn.USERDEFINED={type:3,value:"USERDEFINED"},Qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceFeatureTypeEnum=Qn;class Jn{}Jn.BOTH={type:3,value:"BOTH"},Jn.NEGATIVE={type:3,value:"NEGATIVE"},Jn.POSITIVE={type:3,value:"POSITIVE"},e.IfcSurfaceSide=Jn;class $n{}$n.CONTACTOR={type:3,value:"CONTACTOR"},$n.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},$n.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},$n.KEYPAD={type:3,value:"KEYPAD"},$n.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},$n.RELAY={type:3,value:"RELAY"},$n.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},$n.STARTER={type:3,value:"STARTER"},$n.START_AND_STOP_EQUIPMENT={type:3,value:"START_AND_STOP_EQUIPMENT"},$n.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},$n.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=$n;class es{}es.PANEL={type:3,value:"PANEL"},es.SUBRACK={type:3,value:"SUBRACK"},es.WORKSURFACE={type:3,value:"WORKSURFACE"},es.USERDEFINED={type:3,value:"USERDEFINED"},es.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSystemFurnitureElementTypeEnum=es;class ts{}ts.BASIN={type:3,value:"BASIN"},ts.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},ts.EXPANSION={type:3,value:"EXPANSION"},ts.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},ts.OILRETENTIONTRAY={type:3,value:"OILRETENTIONTRAY"},ts.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},ts.STORAGE={type:3,value:"STORAGE"},ts.VESSEL={type:3,value:"VESSEL"},ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=ts;class ns{}ns.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},ns.WORKTIME={type:3,value:"WORKTIME"},ns.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskDurationEnum=ns;class ss{}ss.ADJUSTMENT={type:3,value:"ADJUSTMENT"},ss.ATTENDANCE={type:3,value:"ATTENDANCE"},ss.CALIBRATION={type:3,value:"CALIBRATION"},ss.CONSTRUCTION={type:3,value:"CONSTRUCTION"},ss.DEMOLITION={type:3,value:"DEMOLITION"},ss.DISMANTLE={type:3,value:"DISMANTLE"},ss.DISPOSAL={type:3,value:"DISPOSAL"},ss.EMERGENCY={type:3,value:"EMERGENCY"},ss.INSPECTION={type:3,value:"INSPECTION"},ss.INSTALLATION={type:3,value:"INSTALLATION"},ss.LOGISTIC={type:3,value:"LOGISTIC"},ss.MAINTENANCE={type:3,value:"MAINTENANCE"},ss.MOVE={type:3,value:"MOVE"},ss.OPERATION={type:3,value:"OPERATION"},ss.REMOVAL={type:3,value:"REMOVAL"},ss.RENOVATION={type:3,value:"RENOVATION"},ss.SAFETY={type:3,value:"SAFETY"},ss.SHUTDOWN={type:3,value:"SHUTDOWN"},ss.STARTUP={type:3,value:"STARTUP"},ss.TESTING={type:3,value:"TESTING"},ss.TROUBLESHOOTING={type:3,value:"TROUBLESHOOTING"},ss.USERDEFINED={type:3,value:"USERDEFINED"},ss.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskTypeEnum=ss;class is{}is.COUPLER={type:3,value:"COUPLER"},is.FIXED_END={type:3,value:"FIXED_END"},is.TENSIONING_END={type:3,value:"TENSIONING_END"},is.USERDEFINED={type:3,value:"USERDEFINED"},is.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonAnchorTypeEnum=is;class as{}as.COUPLER={type:3,value:"COUPLER"},as.DIABOLO={type:3,value:"DIABOLO"},as.DUCT={type:3,value:"DUCT"},as.GROUTING_DUCT={type:3,value:"GROUTING_DUCT"},as.TRUMPET={type:3,value:"TRUMPET"},as.USERDEFINED={type:3,value:"USERDEFINED"},as.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonConduitTypeEnum=as;class ls{}ls.BAR={type:3,value:"BAR"},ls.COATED={type:3,value:"COATED"},ls.STRAND={type:3,value:"STRAND"},ls.WIRE={type:3,value:"WIRE"},ls.USERDEFINED={type:3,value:"USERDEFINED"},ls.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=ls;class rs{}rs.DOWN={type:3,value:"DOWN"},rs.LEFT={type:3,value:"LEFT"},rs.RIGHT={type:3,value:"RIGHT"},rs.UP={type:3,value:"UP"},e.IfcTextPath=rs;class os{}os.CONTINUOUS={type:3,value:"CONTINUOUS"},os.DISCRETE={type:3,value:"DISCRETE"},os.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},os.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},os.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},os.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},os.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=os;class cs{}cs.BLOCKINGDEVICE={type:3,value:"BLOCKINGDEVICE"},cs.DERAILER={type:3,value:"DERAILER"},cs.FROG={type:3,value:"FROG"},cs.HALF_SET_OF_BLADES={type:3,value:"HALF_SET_OF_BLADES"},cs.SLEEPER={type:3,value:"SLEEPER"},cs.SPEEDREGULATOR={type:3,value:"SPEEDREGULATOR"},cs.TRACKENDOFALIGNMENT={type:3,value:"TRACKENDOFALIGNMENT"},cs.VEHICLESTOP={type:3,value:"VEHICLESTOP"},cs.USERDEFINED={type:3,value:"USERDEFINED"},cs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTrackElementTypeEnum=cs;class us{}us.CHOPPER={type:3,value:"CHOPPER"},us.COMBINED={type:3,value:"COMBINED"},us.CURRENT={type:3,value:"CURRENT"},us.FREQUENCY={type:3,value:"FREQUENCY"},us.INVERTER={type:3,value:"INVERTER"},us.RECTIFIER={type:3,value:"RECTIFIER"},us.VOLTAGE={type:3,value:"VOLTAGE"},us.USERDEFINED={type:3,value:"USERDEFINED"},us.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=us;class ps{}ps.CONTINUOUS={type:3,value:"CONTINUOUS"},ps.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},ps.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},ps.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},e.IfcTransitionCode=ps;class hs{}hs.CRANEWAY={type:3,value:"CRANEWAY"},hs.ELEVATOR={type:3,value:"ELEVATOR"},hs.ESCALATOR={type:3,value:"ESCALATOR"},hs.HAULINGGEAR={type:3,value:"HAULINGGEAR"},hs.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},hs.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},hs.USERDEFINED={type:3,value:"USERDEFINED"},hs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=hs;class ds{}ds.CARTESIAN={type:3,value:"CARTESIAN"},ds.PARAMETER={type:3,value:"PARAMETER"},ds.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=ds;class fs{}fs.FINNED={type:3,value:"FINNED"},fs.USERDEFINED={type:3,value:"USERDEFINED"},fs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=fs;class Is{}Is.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Is.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Is.AREAUNIT={type:3,value:"AREAUNIT"},Is.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Is.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Is.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Is.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Is.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Is.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Is.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Is.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Is.FORCEUNIT={type:3,value:"FORCEUNIT"},Is.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Is.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Is.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Is.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Is.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Is.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Is.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Is.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Is.MASSUNIT={type:3,value:"MASSUNIT"},Is.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Is.POWERUNIT={type:3,value:"POWERUNIT"},Is.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Is.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Is.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Is.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Is.TIMEUNIT={type:3,value:"TIMEUNIT"},Is.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Is.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=Is;class ms{}ms.ALARMPANEL={type:3,value:"ALARMPANEL"},ms.BASESTATIONCONTROLLER={type:3,value:"BASESTATIONCONTROLLER"},ms.COMBINED={type:3,value:"COMBINED"},ms.CONTROLPANEL={type:3,value:"CONTROLPANEL"},ms.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},ms.HUMIDISTAT={type:3,value:"HUMIDISTAT"},ms.INDICATORPANEL={type:3,value:"INDICATORPANEL"},ms.MIMICPANEL={type:3,value:"MIMICPANEL"},ms.THERMOSTAT={type:3,value:"THERMOSTAT"},ms.WEATHERSTATION={type:3,value:"WEATHERSTATION"},ms.USERDEFINED={type:3,value:"USERDEFINED"},ms.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryControlElementTypeEnum=ms;class ys{}ys.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},ys.AIRHANDLER={type:3,value:"AIRHANDLER"},ys.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},ys.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},ys.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},ys.USERDEFINED={type:3,value:"USERDEFINED"},ys.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=ys;class vs{}vs.AIRRELEASE={type:3,value:"AIRRELEASE"},vs.ANTIVACUUM={type:3,value:"ANTIVACUUM"},vs.CHANGEOVER={type:3,value:"CHANGEOVER"},vs.CHECK={type:3,value:"CHECK"},vs.COMMISSIONING={type:3,value:"COMMISSIONING"},vs.DIVERTING={type:3,value:"DIVERTING"},vs.DOUBLECHECK={type:3,value:"DOUBLECHECK"},vs.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},vs.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},vs.FAUCET={type:3,value:"FAUCET"},vs.FLUSHING={type:3,value:"FLUSHING"},vs.GASCOCK={type:3,value:"GASCOCK"},vs.GASTAP={type:3,value:"GASTAP"},vs.ISOLATING={type:3,value:"ISOLATING"},vs.MIXING={type:3,value:"MIXING"},vs.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},vs.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},vs.REGULATING={type:3,value:"REGULATING"},vs.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},vs.STEAMTRAP={type:3,value:"STEAMTRAP"},vs.STOPCOCK={type:3,value:"STOPCOCK"},vs.USERDEFINED={type:3,value:"USERDEFINED"},vs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=vs;class ws{}ws.CARGO={type:3,value:"CARGO"},ws.ROLLINGSTOCK={type:3,value:"ROLLINGSTOCK"},ws.VEHICLE={type:3,value:"VEHICLE"},ws.VEHICLEAIR={type:3,value:"VEHICLEAIR"},ws.VEHICLEMARINE={type:3,value:"VEHICLEMARINE"},ws.VEHICLETRACKED={type:3,value:"VEHICLETRACKED"},ws.VEHICLEWHEELED={type:3,value:"VEHICLEWHEELED"},ws.USERDEFINED={type:3,value:"USERDEFINED"},ws.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVehicleTypeEnum=ws;class Ts{}Ts.AXIAL_YIELD={type:3,value:"AXIAL_YIELD"},Ts.BENDING_YIELD={type:3,value:"BENDING_YIELD"},Ts.FRICTION={type:3,value:"FRICTION"},Ts.RUBBER={type:3,value:"RUBBER"},Ts.SHEAR_YIELD={type:3,value:"SHEAR_YIELD"},Ts.VISCOUS={type:3,value:"VISCOUS"},Ts.USERDEFINED={type:3,value:"USERDEFINED"},Ts.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationDamperTypeEnum=Ts;class Es{}Es.BASE={type:3,value:"BASE"},Es.COMPRESSION={type:3,value:"COMPRESSION"},Es.SPRING={type:3,value:"SPRING"},Es.USERDEFINED={type:3,value:"USERDEFINED"},Es.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=Es;class gs{}gs.BOUNDARY={type:3,value:"BOUNDARY"},gs.CLEARANCE={type:3,value:"CLEARANCE"},gs.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},gs.USERDEFINED={type:3,value:"USERDEFINED"},gs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVirtualElementTypeEnum=gs;class Rs{}Rs.CHAMFER={type:3,value:"CHAMFER"},Rs.CUTOUT={type:3,value:"CUTOUT"},Rs.EDGE={type:3,value:"EDGE"},Rs.HOLE={type:3,value:"HOLE"},Rs.MITER={type:3,value:"MITER"},Rs.NOTCH={type:3,value:"NOTCH"},Rs.USERDEFINED={type:3,value:"USERDEFINED"},Rs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVoidingFeatureTypeEnum=Rs;class Ds{}Ds.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},Ds.MOVABLE={type:3,value:"MOVABLE"},Ds.PARAPET={type:3,value:"PARAPET"},Ds.PARTITIONING={type:3,value:"PARTITIONING"},Ds.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},Ds.POLYGONAL={type:3,value:"POLYGONAL"},Ds.RETAININGWALL={type:3,value:"RETAININGWALL"},Ds.SHEAR={type:3,value:"SHEAR"},Ds.SOLIDWALL={type:3,value:"SOLIDWALL"},Ds.STANDARD={type:3,value:"STANDARD"},Ds.WAVEWALL={type:3,value:"WAVEWALL"},Ds.USERDEFINED={type:3,value:"USERDEFINED"},Ds.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=Ds;class Ss{}Ss.FLOORTRAP={type:3,value:"FLOORTRAP"},Ss.FLOORWASTE={type:3,value:"FLOORWASTE"},Ss.GULLYSUMP={type:3,value:"GULLYSUMP"},Ss.GULLYTRAP={type:3,value:"GULLYTRAP"},Ss.ROOFDRAIN={type:3,value:"ROOFDRAIN"},Ss.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},Ss.WASTETRAP={type:3,value:"WASTETRAP"},Ss.USERDEFINED={type:3,value:"USERDEFINED"},Ss.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=Ss;class bs{}bs.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},bs.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},bs.OTHEROPERATION={type:3,value:"OTHEROPERATION"},bs.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},bs.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},bs.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},bs.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},bs.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},bs.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},bs.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},bs.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},bs.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},bs.TOPHUNG={type:3,value:"TOPHUNG"},bs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=bs;class Ns{}Ns.BOTTOM={type:3,value:"BOTTOM"},Ns.LEFT={type:3,value:"LEFT"},Ns.MIDDLE={type:3,value:"MIDDLE"},Ns.RIGHT={type:3,value:"RIGHT"},Ns.TOP={type:3,value:"TOP"},Ns.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=Ns;class Os{}Os.ALUMINIUM={type:3,value:"ALUMINIUM"},Os.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Os.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Os.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},Os.PLASTIC={type:3,value:"PLASTIC"},Os.STEEL={type:3,value:"STEEL"},Os.WOOD={type:3,value:"WOOD"},Os.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=Os;class As{}As.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},As.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},As.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},As.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},As.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},As.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},As.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},As.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},As.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},As.USERDEFINED={type:3,value:"USERDEFINED"},As.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=As;class xs{}xs.LIGHTDOME={type:3,value:"LIGHTDOME"},xs.SKYLIGHT={type:3,value:"SKYLIGHT"},xs.WINDOW={type:3,value:"WINDOW"},xs.USERDEFINED={type:3,value:"USERDEFINED"},xs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypeEnum=xs;class Cs{}Cs.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},Cs.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},Cs.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},Cs.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},Cs.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},Cs.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},Cs.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},Cs.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},Cs.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},Cs.USERDEFINED={type:3,value:"USERDEFINED"},Cs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypePartitioningEnum=Cs;class Ls{}Ls.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},Ls.SECONDSHIFT={type:3,value:"SECONDSHIFT"},Ls.THIRDSHIFT={type:3,value:"THIRDSHIFT"},Ls.USERDEFINED={type:3,value:"USERDEFINED"},Ls.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkCalendarTypeEnum=Ls;class Ps{}Ps.ACTUAL={type:3,value:"ACTUAL"},Ps.BASELINE={type:3,value:"BASELINE"},Ps.PLANNED={type:3,value:"PLANNED"},Ps.USERDEFINED={type:3,value:"USERDEFINED"},Ps.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkPlanTypeEnum=Ps;class qs{}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"},e.IfcWorkScheduleTypeEnum=qs,e.IfcActorRole=class extends Nm{constructor(e,t,n,s){super(e),this.Role=t,this.UserDefinedRole=n,this.Description=s,this.type=3630933823}};class _s extends Nm{constructor(e,t,n,s){super(e),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.type=618182010}}e.IfcAddress=_s;class Ms extends Nm{constructor(e,t,n){super(e),this.StartTag=t,this.EndTag=n,this.type=2879124712}}e.IfcAlignmentParameterSegment=Ms,e.IfcAlignmentVerticalSegment=class extends Ms{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n),this.StartTag=t,this.EndTag=n,this.StartDistAlong=s,this.HorizontalLength=i,this.StartHeight=a,this.StartGradient=l,this.EndGradient=r,this.RadiusOfCurvature=o,this.PredefinedType=c,this.type=3633395639}},e.IfcApplication=class extends Nm{constructor(e,t,n,s,i){super(e),this.ApplicationDeveloper=t,this.Version=n,this.ApplicationFullName=s,this.ApplicationIdentifier=i,this.type=639542469}};class Hs extends Nm{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e),this.Name=t,this.Description=n,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=a,this.FixedUntilDate=l,this.Category=r,this.Condition=o,this.ArithmeticOperator=c,this.Components=u,this.type=411424972}}e.IfcAppliedValue=Hs,e.IfcApproval=class extends Nm{constructor(e,t,n,s,i,a,l,r,o,c){super(e),this.Identifier=t,this.Name=n,this.Description=s,this.TimeOfApproval=i,this.Status=a,this.Level=l,this.Qualifier=r,this.RequestingApproval=o,this.GivingApproval=c,this.type=130549933}};class Bs extends Nm{constructor(e,t){super(e),this.Name=t,this.type=4037036970}}e.IfcBoundaryCondition=Bs,e.IfcBoundaryEdgeCondition=class extends Bs{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.TranslationalStiffnessByLengthX=n,this.TranslationalStiffnessByLengthY=s,this.TranslationalStiffnessByLengthZ=i,this.RotationalStiffnessByLengthX=a,this.RotationalStiffnessByLengthY=l,this.RotationalStiffnessByLengthZ=r,this.type=1560379544}},e.IfcBoundaryFaceCondition=class extends Bs{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.TranslationalStiffnessByAreaX=n,this.TranslationalStiffnessByAreaY=s,this.TranslationalStiffnessByAreaZ=i,this.type=3367102660}};class Us extends Bs{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.TranslationalStiffnessX=n,this.TranslationalStiffnessY=s,this.TranslationalStiffnessZ=i,this.RotationalStiffnessX=a,this.RotationalStiffnessY=l,this.RotationalStiffnessZ=r,this.type=1387855156}}e.IfcBoundaryNodeCondition=Us,e.IfcBoundaryNodeConditionWarping=class extends Us{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.TranslationalStiffnessX=n,this.TranslationalStiffnessY=s,this.TranslationalStiffnessZ=i,this.RotationalStiffnessX=a,this.RotationalStiffnessY=l,this.RotationalStiffnessZ=r,this.WarpingStiffness=o,this.type=2069777674}};class Fs extends Nm{constructor(e){super(e),this.type=2859738748}}e.IfcConnectionGeometry=Fs;class Gs extends Fs{constructor(e,t,n){super(e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=n,this.type=2614616156}}e.IfcConnectionPointGeometry=Gs,e.IfcConnectionSurfaceGeometry=class extends Fs{constructor(e,t,n){super(e),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=n,this.type=2732653382}},e.IfcConnectionVolumeGeometry=class extends Fs{constructor(e,t,n){super(e),this.VolumeOnRelatingElement=t,this.VolumeOnRelatedElement=n,this.type=775493141}};class Vs extends Nm{constructor(e,t,n,s,i,a,l,r){super(e),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.type=1959218052}}e.IfcConstraint=Vs;class js extends Nm{constructor(e,t,n){super(e),this.SourceCRS=t,this.TargetCRS=n,this.type=1785450214}}e.IfcCoordinateOperation=js;class zs extends Nm{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.GeodeticDatum=s,this.VerticalDatum=i,this.type=1466758467}}e.IfcCoordinateReferenceSystem=zs,e.IfcCostValue=class extends Hs{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c,u),this.Name=t,this.Description=n,this.AppliedValue=s,this.UnitBasis=i,this.ApplicableDate=a,this.FixedUntilDate=l,this.Category=r,this.Condition=o,this.ArithmeticOperator=c,this.Components=u,this.type=602808272}},e.IfcDerivedUnit=class extends Nm{constructor(e,t,n,s,i){super(e),this.Elements=t,this.UnitType=n,this.UserDefinedType=s,this.Name=i,this.type=1765591967}},e.IfcDerivedUnitElement=class extends Nm{constructor(e,t,n){super(e),this.Unit=t,this.Exponent=n,this.type=1045800335}},e.IfcDimensionalExponents=class extends Nm{constructor(e,t,n,s,i,a,l,r){super(e),this.LengthExponent=t,this.MassExponent=n,this.TimeExponent=s,this.ElectricCurrentExponent=i,this.ThermodynamicTemperatureExponent=a,this.AmountOfSubstanceExponent=l,this.LuminousIntensityExponent=r,this.type=2949456006}};class Ws extends Nm{constructor(e){super(e),this.type=4294318154}}e.IfcExternalInformation=Ws;class ks extends Nm{constructor(e,t,n,s){super(e),this.Location=t,this.Identification=n,this.Name=s,this.type=3200245327}}e.IfcExternalReference=ks,e.IfcExternallyDefinedHatchStyle=class extends ks{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.type=2242383968}},e.IfcExternallyDefinedSurfaceStyle=class extends ks{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.type=1040185647}},e.IfcExternallyDefinedTextFont=class extends ks{constructor(e,t,n,s){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.type=3548104201}},e.IfcGridAxis=class extends Nm{constructor(e,t,n,s){super(e),this.AxisTag=t,this.AxisCurve=n,this.SameSense=s,this.type=852622518}},e.IfcIrregularTimeSeriesValue=class extends Nm{constructor(e,t,n){super(e),this.TimeStamp=t,this.ListValues=n,this.type=3020489413}},e.IfcLibraryInformation=class extends Ws{constructor(e,t,n,s,i,a,l){super(e),this.Name=t,this.Version=n,this.Publisher=s,this.VersionDate=i,this.Location=a,this.Description=l,this.type=2655187982}},e.IfcLibraryReference=class extends ks{constructor(e,t,n,s,i,a,l){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.Description=i,this.Language=a,this.ReferencedLibrary=l,this.type=3452421091}},e.IfcLightDistributionData=class extends Nm{constructor(e,t,n,s){super(e),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=n,this.LuminousIntensity=s,this.type=4162380809}},e.IfcLightIntensityDistribution=class extends Nm{constructor(e,t,n){super(e),this.LightDistributionCurve=t,this.DistributionData=n,this.type=1566485204}},e.IfcMapConversion=class extends js{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n),this.SourceCRS=t,this.TargetCRS=n,this.Eastings=s,this.Northings=i,this.OrthogonalHeight=a,this.XAxisAbscissa=l,this.XAxisOrdinate=r,this.Scale=o,this.ScaleY=c,this.ScaleZ=u,this.type=3057273783}},e.IfcMaterialClassificationRelationship=class extends Nm{constructor(e,t,n){super(e),this.MaterialClassifications=t,this.ClassifiedMaterial=n,this.type=1847130766}};class Ys extends Nm{constructor(e){super(e),this.type=760658860}}e.IfcMaterialDefinition=Ys;class Xs extends Ys{constructor(e,t,n,s,i,a,l,r){super(e),this.Material=t,this.LayerThickness=n,this.IsVentilated=s,this.Name=i,this.Description=a,this.Category=l,this.Priority=r,this.type=248100487}}e.IfcMaterialLayer=Xs,e.IfcMaterialLayerSet=class extends Ys{constructor(e,t,n,s){super(e),this.MaterialLayers=t,this.LayerSetName=n,this.Description=s,this.type=3303938423}},e.IfcMaterialLayerWithOffsets=class extends Xs{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.Material=t,this.LayerThickness=n,this.IsVentilated=s,this.Name=i,this.Description=a,this.Category=l,this.Priority=r,this.OffsetDirection=o,this.OffsetValues=c,this.type=1847252529}},e.IfcMaterialList=class extends Nm{constructor(e,t){super(e),this.Materials=t,this.type=2199411900}};class Ks extends Ys{constructor(e,t,n,s,i,a,l){super(e),this.Name=t,this.Description=n,this.Material=s,this.Profile=i,this.Priority=a,this.Category=l,this.type=2235152071}}e.IfcMaterialProfile=Ks,e.IfcMaterialProfileSet=class extends Ys{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.MaterialProfiles=s,this.CompositeProfile=i,this.type=164193824}},e.IfcMaterialProfileWithOffsets=class extends Ks{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.Name=t,this.Description=n,this.Material=s,this.Profile=i,this.Priority=a,this.Category=l,this.OffsetValues=r,this.type=552965576}};class Zs extends Nm{constructor(e){super(e),this.type=1507914824}}e.IfcMaterialUsageDefinition=Zs,e.IfcMeasureWithUnit=class extends Nm{constructor(e,t,n){super(e),this.ValueComponent=t,this.UnitComponent=n,this.type=2597039031}},e.IfcMetric=class extends Vs{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.Benchmark=o,this.ValueSource=c,this.DataValue=u,this.ReferencePath=p,this.type=3368373690}},e.IfcMonetaryUnit=class extends Nm{constructor(e,t){super(e),this.Currency=t,this.type=2706619895}};class Qs extends Nm{constructor(e,t,n){super(e),this.Dimensions=t,this.UnitType=n,this.type=1918398963}}e.IfcNamedUnit=Qs;class Js extends Nm{constructor(e,t){super(e),this.PlacementRelTo=t,this.type=3701648758}}e.IfcObjectPlacement=Js,e.IfcObjective=class extends Vs{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.Name=t,this.Description=n,this.ConstraintGrade=s,this.ConstraintSource=i,this.CreatingActor=a,this.CreationTime=l,this.UserDefinedGrade=r,this.BenchmarkValues=o,this.LogicalAggregator=c,this.ObjectiveQualifier=u,this.UserDefinedQualifier=p,this.type=2251480897}},e.IfcOrganization=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.Identification=t,this.Name=n,this.Description=s,this.Roles=i,this.Addresses=a,this.type=4251960020}},e.IfcOwnerHistory=class extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.OwningUser=t,this.OwningApplication=n,this.State=s,this.ChangeAction=i,this.LastModifiedDate=a,this.LastModifyingUser=l,this.LastModifyingApplication=r,this.CreationDate=o,this.type=1207048766}},e.IfcPerson=class extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.Identification=t,this.FamilyName=n,this.GivenName=s,this.MiddleNames=i,this.PrefixTitles=a,this.SuffixTitles=l,this.Roles=r,this.Addresses=o,this.type=2077209135}},e.IfcPersonAndOrganization=class extends Nm{constructor(e,t,n,s){super(e),this.ThePerson=t,this.TheOrganization=n,this.Roles=s,this.type=101040310}};class $s extends Nm{constructor(e,t,n){super(e),this.Name=t,this.Description=n,this.type=2483315170}}e.IfcPhysicalQuantity=$s;class ei extends $s{constructor(e,t,n,s){super(e,t,n),this.Name=t,this.Description=n,this.Unit=s,this.type=2226359599}}e.IfcPhysicalSimpleQuantity=ei,e.IfcPostalAddress=class extends _s{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.InternalLocation=i,this.AddressLines=a,this.PostalBox=l,this.Town=r,this.Region=o,this.PostalCode=c,this.Country=u,this.type=3355820592}};class ti extends Nm{constructor(e){super(e),this.type=677532197}}e.IfcPresentationItem=ti;class ni extends Nm{constructor(e,t,n,s,i){super(e),this.Name=t,this.Description=n,this.AssignedItems=s,this.Identifier=i,this.type=2022622350}}e.IfcPresentationLayerAssignment=ni,e.IfcPresentationLayerWithStyle=class extends ni{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i),this.Name=t,this.Description=n,this.AssignedItems=s,this.Identifier=i,this.LayerOn=a,this.LayerFrozen=l,this.LayerBlocked=r,this.LayerStyles=o,this.type=1304840413}};class si extends Nm{constructor(e,t){super(e),this.Name=t,this.type=3119450353}}e.IfcPresentationStyle=si;class ii extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.Representations=s,this.type=2095639259}}e.IfcProductRepresentation=ii;class ai extends Nm{constructor(e,t,n){super(e),this.ProfileType=t,this.ProfileName=n,this.type=3958567839}}e.IfcProfileDef=ai,e.IfcProjectedCRS=class extends zs{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.Name=t,this.Description=n,this.GeodeticDatum=s,this.VerticalDatum=i,this.MapProjection=a,this.MapZone=l,this.MapUnit=r,this.type=3843373140}};class li extends Nm{constructor(e){super(e),this.type=986844984}}e.IfcPropertyAbstraction=li,e.IfcPropertyEnumeration=class extends li{constructor(e,t,n,s){super(e),this.Name=t,this.EnumerationValues=n,this.Unit=s,this.type=3710013099}},e.IfcQuantityArea=class extends ei{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.AreaValue=i,this.Formula=a,this.type=2044713172}},e.IfcQuantityCount=class extends ei{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.CountValue=i,this.Formula=a,this.type=2093928680}},e.IfcQuantityLength=class extends ei{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.LengthValue=i,this.Formula=a,this.type=931644368}},e.IfcQuantityNumber=class extends ei{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.NumberValue=i,this.Formula=a,this.type=2691318326}},e.IfcQuantityTime=class extends ei{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.TimeValue=i,this.Formula=a,this.type=3252649465}},e.IfcQuantityVolume=class extends ei{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.VolumeValue=i,this.Formula=a,this.type=2405470396}},e.IfcQuantityWeight=class extends ei{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.Description=n,this.Unit=s,this.WeightValue=i,this.Formula=a,this.type=825690147}},e.IfcRecurrencePattern=class extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.RecurrenceType=t,this.DayComponent=n,this.WeekdayComponent=s,this.MonthComponent=i,this.Position=a,this.Interval=l,this.Occurrences=r,this.TimePeriods=o,this.type=3915482550}},e.IfcReference=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.TypeIdentifier=t,this.AttributeIdentifier=n,this.InstanceName=s,this.ListPositions=i,this.InnerReference=a,this.type=2433181523}};class ri extends Nm{constructor(e,t,n,s,i){super(e),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=1076942058}}e.IfcRepresentation=ri;class oi extends Nm{constructor(e,t,n){super(e),this.ContextIdentifier=t,this.ContextType=n,this.type=3377609919}}e.IfcRepresentationContext=oi;class ci extends Nm{constructor(e){super(e),this.type=3008791417}}e.IfcRepresentationItem=ci,e.IfcRepresentationMap=class extends Nm{constructor(e,t,n){super(e),this.MappingOrigin=t,this.MappedRepresentation=n,this.type=1660063152}};class ui extends Nm{constructor(e,t,n){super(e),this.Name=t,this.Description=n,this.type=2439245199}}e.IfcResourceLevelRelationship=ui;class pi extends Nm{constructor(e,t,n,s,i){super(e),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=2341007311}}e.IfcRoot=pi,e.IfcSIUnit=class extends Qs{constructor(e,t,n,s,i){super(e,t,n),this.Dimensions=t,this.UnitType=n,this.Prefix=s,this.Name=i,this.type=448429030}};class hi extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.type=1054537805}}e.IfcSchedulingTime=hi,e.IfcShapeAspect=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.ShapeRepresentations=t,this.Name=n,this.Description=s,this.ProductDefinitional=i,this.PartOfProductDefinitionShape=a,this.type=867548509}};class di extends ri{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=3982875396}}e.IfcShapeModel=di,e.IfcShapeRepresentation=class extends di{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=4240577450}};class fi extends Nm{constructor(e,t){super(e),this.Name=t,this.type=2273995522}}e.IfcStructuralConnectionCondition=fi;class Ii extends Nm{constructor(e,t){super(e),this.Name=t,this.type=2162789131}}e.IfcStructuralLoad=Ii,e.IfcStructuralLoadConfiguration=class extends Ii{constructor(e,t,n,s){super(e,t),this.Name=t,this.Values=n,this.Locations=s,this.type=3478079324}};class mi extends Ii{constructor(e,t){super(e,t),this.Name=t,this.type=609421318}}e.IfcStructuralLoadOrResult=mi;class yi extends mi{constructor(e,t){super(e,t),this.Name=t,this.type=2525727697}}e.IfcStructuralLoadStatic=yi,e.IfcStructuralLoadTemperature=class extends yi{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.DeltaTConstant=n,this.DeltaTY=s,this.DeltaTZ=i,this.type=3408363356}};class vi extends ri{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=2830218821}}e.IfcStyleModel=vi,e.IfcStyledItem=class extends ci{constructor(e,t,n,s){super(e),this.Item=t,this.Styles=n,this.Name=s,this.type=3958052878}},e.IfcStyledRepresentation=class extends vi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=3049322572}},e.IfcSurfaceReinforcementArea=class extends mi{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.SurfaceReinforcement1=n,this.SurfaceReinforcement2=s,this.ShearReinforcement=i,this.type=2934153892}},e.IfcSurfaceStyle=class extends si{constructor(e,t,n,s){super(e,t),this.Name=t,this.Side=n,this.Styles=s,this.type=1300840506}},e.IfcSurfaceStyleLighting=class extends ti{constructor(e,t,n,s,i){super(e),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=n,this.TransmissionColour=s,this.ReflectanceColour=i,this.type=3303107099}},e.IfcSurfaceStyleRefraction=class extends ti{constructor(e,t,n){super(e),this.RefractionIndex=t,this.DispersionFactor=n,this.type=1607154358}};class wi extends ti{constructor(e,t,n){super(e),this.SurfaceColour=t,this.Transparency=n,this.type=846575682}}e.IfcSurfaceStyleShading=wi,e.IfcSurfaceStyleWithTextures=class extends ti{constructor(e,t){super(e),this.Textures=t,this.type=1351298697}};class Ti extends ti{constructor(e,t,n,s,i,a){super(e),this.RepeatS=t,this.RepeatT=n,this.Mode=s,this.TextureTransform=i,this.Parameter=a,this.type=626085974}}e.IfcSurfaceTexture=Ti,e.IfcTable=class extends Nm{constructor(e,t,n,s){super(e),this.Name=t,this.Rows=n,this.Columns=s,this.type=985171141}},e.IfcTableColumn=class extends Nm{constructor(e,t,n,s,i,a){super(e),this.Identifier=t,this.Name=n,this.Description=s,this.Unit=i,this.ReferencePath=a,this.type=2043862942}},e.IfcTableRow=class extends Nm{constructor(e,t,n){super(e),this.RowCells=t,this.IsHeading=n,this.type=531007025}};class Ei extends hi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.DurationType=i,this.ScheduleDuration=a,this.ScheduleStart=l,this.ScheduleFinish=r,this.EarlyStart=o,this.EarlyFinish=c,this.LateStart=u,this.LateFinish=p,this.FreeFloat=h,this.TotalFloat=d,this.IsCritical=f,this.StatusTime=I,this.ActualDuration=m,this.ActualStart=y,this.ActualFinish=v,this.RemainingTime=w,this.Completion=T,this.type=1549132990}}e.IfcTaskTime=Ei,e.IfcTaskTimeRecurring=class extends Ei{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T,E){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.DurationType=i,this.ScheduleDuration=a,this.ScheduleStart=l,this.ScheduleFinish=r,this.EarlyStart=o,this.EarlyFinish=c,this.LateStart=u,this.LateFinish=p,this.FreeFloat=h,this.TotalFloat=d,this.IsCritical=f,this.StatusTime=I,this.ActualDuration=m,this.ActualStart=y,this.ActualFinish=v,this.RemainingTime=w,this.Completion=T,this.Recurrence=E,this.type=2771591690}},e.IfcTelecomAddress=class extends _s{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s),this.Purpose=t,this.Description=n,this.UserDefinedPurpose=s,this.TelephoneNumbers=i,this.FacsimileNumbers=a,this.PagerNumber=l,this.ElectronicMailAddresses=r,this.WWWHomePageURL=o,this.MessagingIDs=c,this.type=912023232}},e.IfcTextStyle=class extends si{constructor(e,t,n,s,i,a){super(e,t),this.Name=t,this.TextCharacterAppearance=n,this.TextStyle=s,this.TextFontStyle=i,this.ModelOrDraughting=a,this.type=1447204868}},e.IfcTextStyleForDefinedFont=class extends ti{constructor(e,t,n){super(e),this.Colour=t,this.BackgroundColour=n,this.type=2636378356}},e.IfcTextStyleTextModel=class extends ti{constructor(e,t,n,s,i,a,l,r){super(e),this.TextIndent=t,this.TextAlign=n,this.TextDecoration=s,this.LetterSpacing=i,this.WordSpacing=a,this.TextTransform=l,this.LineHeight=r,this.type=1640371178}};class gi extends ti{constructor(e,t){super(e),this.Maps=t,this.type=280115917}}e.IfcTextureCoordinate=gi,e.IfcTextureCoordinateGenerator=class extends gi{constructor(e,t,n,s){super(e,t),this.Maps=t,this.Mode=n,this.Parameter=s,this.type=1742049831}};class Ri extends Nm{constructor(e,t,n){super(e),this.TexCoordIndex=t,this.TexCoordsOf=n,this.type=222769930}}e.IfcTextureCoordinateIndices=Ri,e.IfcTextureCoordinateIndicesWithVoids=class extends Ri{constructor(e,t,n,s){super(e,t,n),this.TexCoordIndex=t,this.TexCoordsOf=n,this.InnerTexCoordIndices=s,this.type=1010789467}},e.IfcTextureMap=class extends gi{constructor(e,t,n,s){super(e,t),this.Maps=t,this.Vertices=n,this.MappedTo=s,this.type=2552916305}},e.IfcTextureVertex=class extends ti{constructor(e,t){super(e),this.Coordinates=t,this.type=1210645708}},e.IfcTextureVertexList=class extends ti{constructor(e,t){super(e),this.TexCoordsList=t,this.type=3611470254}},e.IfcTimePeriod=class extends Nm{constructor(e,t,n){super(e),this.StartTime=t,this.EndTime=n,this.type=1199560280}};class Di extends Nm{constructor(e,t,n,s,i,a,l,r,o){super(e),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.type=3101149627}}e.IfcTimeSeries=Di,e.IfcTimeSeriesValue=class extends Nm{constructor(e,t){super(e),this.ListValues=t,this.type=581633288}};class Si extends ci{constructor(e){super(e),this.type=1377556343}}e.IfcTopologicalRepresentationItem=Si,e.IfcTopologyRepresentation=class extends di{constructor(e,t,n,s,i){super(e,t,n,s,i),this.ContextOfItems=t,this.RepresentationIdentifier=n,this.RepresentationType=s,this.Items=i,this.type=1735638870}},e.IfcUnitAssignment=class extends Nm{constructor(e,t){super(e),this.Units=t,this.type=180925521}};class bi extends Si{constructor(e){super(e),this.type=2799835756}}e.IfcVertex=bi,e.IfcVertexPoint=class extends bi{constructor(e,t){super(e),this.VertexGeometry=t,this.type=1907098498}},e.IfcVirtualGridIntersection=class extends Nm{constructor(e,t,n){super(e),this.IntersectingAxes=t,this.OffsetDistances=n,this.type=891718957}},e.IfcWorkTime=class extends hi{constructor(e,t,n,s,i,a,l){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.RecurrencePattern=i,this.StartDate=a,this.FinishDate=l,this.type=1236880293}},e.IfcAlignmentCantSegment=class extends Ms{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n),this.StartTag=t,this.EndTag=n,this.StartDistAlong=s,this.HorizontalLength=i,this.StartCantLeft=a,this.EndCantLeft=l,this.StartCantRight=r,this.EndCantRight=o,this.PredefinedType=c,this.type=3752311538}},e.IfcAlignmentHorizontalSegment=class extends Ms{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n),this.StartTag=t,this.EndTag=n,this.StartPoint=s,this.StartDirection=i,this.StartRadiusOfCurvature=a,this.EndRadiusOfCurvature=l,this.SegmentLength=r,this.GravityCenterLineHeight=o,this.PredefinedType=c,this.type=536804194}},e.IfcApprovalRelationship=class extends ui{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatingApproval=s,this.RelatedApprovals=i,this.type=3869604511}};class Ni extends ai{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.OuterCurve=s,this.type=3798115385}}e.IfcArbitraryClosedProfileDef=Ni;class Oi extends ai{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Curve=s,this.type=1310608509}}e.IfcArbitraryOpenProfileDef=Oi,e.IfcArbitraryProfileDefWithVoids=class extends Ni{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.OuterCurve=s,this.InnerCurves=i,this.type=2705031697}},e.IfcBlobTexture=class extends Ti{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.RepeatS=t,this.RepeatT=n,this.Mode=s,this.TextureTransform=i,this.Parameter=a,this.RasterFormat=l,this.RasterCode=r,this.type=616511568}},e.IfcCenterLineProfileDef=class extends Oi{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Curve=s,this.Thickness=i,this.type=3150382593}},e.IfcClassification=class extends Ws{constructor(e,t,n,s,i,a,l,r){super(e),this.Source=t,this.Edition=n,this.EditionDate=s,this.Name=i,this.Description=a,this.Specification=l,this.ReferenceTokens=r,this.type=747523909}},e.IfcClassificationReference=class extends ks{constructor(e,t,n,s,i,a,l){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.ReferencedSource=i,this.Description=a,this.Sort=l,this.type=647927063}},e.IfcColourRgbList=class extends ti{constructor(e,t){super(e),this.ColourList=t,this.type=3285139300}};class Ai extends ti{constructor(e,t){super(e),this.Name=t,this.type=3264961684}}e.IfcColourSpecification=Ai,e.IfcCompositeProfileDef=class extends ai{constructor(e,t,n,s,i){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Profiles=s,this.Label=i,this.type=1485152156}};class xi extends Si{constructor(e,t){super(e),this.CfsFaces=t,this.type=370225590}}e.IfcConnectedFaceSet=xi,e.IfcConnectionCurveGeometry=class extends Fs{constructor(e,t,n){super(e),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=n,this.type=1981873012}},e.IfcConnectionPointEccentricity=class extends Gs{constructor(e,t,n,s,i,a){super(e,t,n),this.PointOnRelatingElement=t,this.PointOnRelatedElement=n,this.EccentricityInX=s,this.EccentricityInY=i,this.EccentricityInZ=a,this.type=45288368}},e.IfcContextDependentUnit=class extends Qs{constructor(e,t,n,s){super(e,t,n),this.Dimensions=t,this.UnitType=n,this.Name=s,this.type=3050246964}};class Ci extends Qs{constructor(e,t,n,s,i){super(e,t,n),this.Dimensions=t,this.UnitType=n,this.Name=s,this.ConversionFactor=i,this.type=2889183280}}e.IfcConversionBasedUnit=Ci,e.IfcConversionBasedUnitWithOffset=class extends Ci{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Dimensions=t,this.UnitType=n,this.Name=s,this.ConversionFactor=i,this.ConversionOffset=a,this.type=2713554722}},e.IfcCurrencyRelationship=class extends ui{constructor(e,t,n,s,i,a,l,r){super(e,t,n),this.Name=t,this.Description=n,this.RelatingMonetaryUnit=s,this.RelatedMonetaryUnit=i,this.ExchangeRate=a,this.RateDateTime=l,this.RateSource=r,this.type=539742890}},e.IfcCurveStyle=class extends si{constructor(e,t,n,s,i,a){super(e,t),this.Name=t,this.CurveFont=n,this.CurveWidth=s,this.CurveColour=i,this.ModelOrDraughting=a,this.type=3800577675}},e.IfcCurveStyleFont=class extends ti{constructor(e,t,n){super(e),this.Name=t,this.PatternList=n,this.type=1105321065}},e.IfcCurveStyleFontAndScaling=class extends ti{constructor(e,t,n,s){super(e),this.Name=t,this.CurveStyleFont=n,this.CurveFontScaling=s,this.type=2367409068}},e.IfcCurveStyleFontPattern=class extends ti{constructor(e,t,n){super(e),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=n,this.type=3510044353}};class Li extends ai{constructor(e,t,n,s,i,a){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.ParentProfile=s,this.Operator=i,this.Label=a,this.type=3632507154}}e.IfcDerivedProfileDef=Li,e.IfcDocumentInformation=class extends Ws{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e),this.Identification=t,this.Name=n,this.Description=s,this.Location=i,this.Purpose=a,this.IntendedUse=l,this.Scope=r,this.Revision=o,this.DocumentOwner=c,this.Editors=u,this.CreationTime=p,this.LastRevisionTime=h,this.ElectronicFormat=d,this.ValidFrom=f,this.ValidUntil=I,this.Confidentiality=m,this.Status=y,this.type=1154170062}},e.IfcDocumentInformationRelationship=class extends ui{constructor(e,t,n,s,i,a){super(e,t,n),this.Name=t,this.Description=n,this.RelatingDocument=s,this.RelatedDocuments=i,this.RelationshipType=a,this.type=770865208}},e.IfcDocumentReference=class extends ks{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Location=t,this.Identification=n,this.Name=s,this.Description=i,this.ReferencedDocument=a,this.type=3732053477}};class Pi extends Si{constructor(e,t,n){super(e),this.EdgeStart=t,this.EdgeEnd=n,this.type=3900360178}}e.IfcEdge=Pi,e.IfcEdgeCurve=class extends Pi{constructor(e,t,n,s,i){super(e,t,n),this.EdgeStart=t,this.EdgeEnd=n,this.EdgeGeometry=s,this.SameSense=i,this.type=476780140}},e.IfcEventTime=class extends hi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.ActualDate=i,this.EarlyDate=a,this.LateDate=l,this.ScheduleDate=r,this.type=211053100}};class qi extends li{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.Properties=s,this.type=297599258}}e.IfcExtendedProperties=qi,e.IfcExternalReferenceRelationship=class extends ui{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatingReference=s,this.RelatedResourceObjects=i,this.type=1437805879}};class _i extends Si{constructor(e,t){super(e),this.Bounds=t,this.type=2556980723}}e.IfcFace=_i;class Mi extends Si{constructor(e,t,n){super(e),this.Bound=t,this.Orientation=n,this.type=1809719519}}e.IfcFaceBound=Mi,e.IfcFaceOuterBound=class extends Mi{constructor(e,t,n){super(e,t,n),this.Bound=t,this.Orientation=n,this.type=803316827}};class Hi extends _i{constructor(e,t,n,s){super(e,t),this.Bounds=t,this.FaceSurface=n,this.SameSense=s,this.type=3008276851}}e.IfcFaceSurface=Hi,e.IfcFailureConnectionCondition=class extends fi{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.TensionFailureX=n,this.TensionFailureY=s,this.TensionFailureZ=i,this.CompressionFailureX=a,this.CompressionFailureY=l,this.CompressionFailureZ=r,this.type=4219587988}},e.IfcFillAreaStyle=class extends si{constructor(e,t,n,s){super(e,t),this.Name=t,this.FillStyles=n,this.ModelOrDraughting=s,this.type=738692330}};class Bi extends oi{constructor(e,t,n,s,i,a,l){super(e,t,n),this.ContextIdentifier=t,this.ContextType=n,this.CoordinateSpaceDimension=s,this.Precision=i,this.WorldCoordinateSystem=a,this.TrueNorth=l,this.type=3448662350}}e.IfcGeometricRepresentationContext=Bi;class Ui extends ci{constructor(e){super(e),this.type=2453401579}}e.IfcGeometricRepresentationItem=Ui,e.IfcGeometricRepresentationSubContext=class extends Bi{constructor(e,n,s,i,a,l,r,o){super(e,n,s,new t(0),null,i,null),this.ContextIdentifier=n,this.ContextType=s,this.WorldCoordinateSystem=i,this.ParentContext=a,this.TargetScale=l,this.TargetView=r,this.UserDefinedTargetView=o,this.type=4142052618}};class Fi extends Ui{constructor(e,t){super(e),this.Elements=t,this.type=3590301190}}e.IfcGeometricSet=Fi,e.IfcGridPlacement=class extends Js{constructor(e,t,n,s){super(e,t),this.PlacementRelTo=t,this.PlacementLocation=n,this.PlacementRefDirection=s,this.type=178086475}};class Gi extends Ui{constructor(e,t,n){super(e),this.BaseSurface=t,this.AgreementFlag=n,this.type=812098782}}e.IfcHalfSpaceSolid=Gi,e.IfcImageTexture=class extends Ti{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.RepeatS=t,this.RepeatT=n,this.Mode=s,this.TextureTransform=i,this.Parameter=a,this.URLReference=l,this.type=3905492369}},e.IfcIndexedColourMap=class extends ti{constructor(e,t,n,s,i){super(e),this.MappedTo=t,this.Opacity=n,this.Colours=s,this.ColourIndex=i,this.type=3570813810}};class Vi extends gi{constructor(e,t,n,s){super(e,t),this.Maps=t,this.MappedTo=n,this.TexCoords=s,this.type=1437953363}}e.IfcIndexedTextureMap=Vi,e.IfcIndexedTriangleTextureMap=class extends Vi{constructor(e,t,n,s,i){super(e,t,n,s),this.Maps=t,this.MappedTo=n,this.TexCoords=s,this.TexCoordIndex=i,this.type=2133299955}},e.IfcIrregularTimeSeries=class extends Di{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.Values=c,this.type=3741457305}},e.IfcLagTime=class extends hi{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.LagValue=i,this.DurationType=a,this.type=1585845231}};class ji extends Ui{constructor(e,t,n,s,i){super(e),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.type=1402838566}}e.IfcLightSource=ji,e.IfcLightSourceAmbient=class extends ji{constructor(e,t,n,s,i){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.type=125510826}},e.IfcLightSourceDirectional=class extends ji{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Orientation=a,this.type=2604431987}},e.IfcLightSourceGoniometric=class extends ji{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.ColourAppearance=l,this.ColourTemperature=r,this.LuminousFlux=o,this.LightEmissionSource=c,this.LightDistributionDataSource=u,this.type=4266656042}};class zi extends ji{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.Radius=l,this.ConstantAttenuation=r,this.DistanceAttenuation=o,this.QuadricAttenuation=c,this.type=1520743889}}e.IfcLightSourcePositional=zi,e.IfcLightSourceSpot=class extends zi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.Name=t,this.LightColour=n,this.AmbientIntensity=s,this.Intensity=i,this.Position=a,this.Radius=l,this.ConstantAttenuation=r,this.DistanceAttenuation=o,this.QuadricAttenuation=c,this.Orientation=u,this.ConcentrationExponent=p,this.SpreadAngle=h,this.BeamWidthAngle=d,this.type=3422422726}},e.IfcLinearPlacement=class extends Js{constructor(e,t,n,s){super(e,t),this.PlacementRelTo=t,this.RelativePlacement=n,this.CartesianPosition=s,this.type=388784114}},e.IfcLocalPlacement=class extends Js{constructor(e,t,n){super(e,t),this.PlacementRelTo=t,this.RelativePlacement=n,this.type=2624227202}};class Wi extends Si{constructor(e){super(e),this.type=1008929658}}e.IfcLoop=Wi,e.IfcMappedItem=class extends ci{constructor(e,t,n){super(e),this.MappingSource=t,this.MappingTarget=n,this.type=2347385850}},e.IfcMaterial=class extends Ys{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.Category=s,this.type=1838606355}},e.IfcMaterialConstituent=class extends Ys{constructor(e,t,n,s,i,a){super(e),this.Name=t,this.Description=n,this.Material=s,this.Fraction=i,this.Category=a,this.type=3708119e3}},e.IfcMaterialConstituentSet=class extends Ys{constructor(e,t,n,s){super(e),this.Name=t,this.Description=n,this.MaterialConstituents=s,this.type=2852063980}},e.IfcMaterialDefinitionRepresentation=class extends ii{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Representations=s,this.RepresentedMaterial=i,this.type=2022407955}},e.IfcMaterialLayerSetUsage=class extends Zs{constructor(e,t,n,s,i,a){super(e),this.ForLayerSet=t,this.LayerSetDirection=n,this.DirectionSense=s,this.OffsetFromReferenceLine=i,this.ReferenceExtent=a,this.type=1303795690}};class ki extends Zs{constructor(e,t,n,s){super(e),this.ForProfileSet=t,this.CardinalPoint=n,this.ReferenceExtent=s,this.type=3079605661}}e.IfcMaterialProfileSetUsage=ki,e.IfcMaterialProfileSetUsageTapering=class extends ki{constructor(e,t,n,s,i,a){super(e,t,n,s),this.ForProfileSet=t,this.CardinalPoint=n,this.ReferenceExtent=s,this.ForProfileEndSet=i,this.CardinalEndPoint=a,this.type=3404854881}},e.IfcMaterialProperties=class extends qi{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Properties=s,this.Material=i,this.type=3265635763}},e.IfcMaterialRelationship=class extends ui{constructor(e,t,n,s,i,a){super(e,t,n),this.Name=t,this.Description=n,this.RelatingMaterial=s,this.RelatedMaterials=i,this.MaterialExpression=a,this.type=853536259}},e.IfcMirroredProfileDef=class extends Li{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.ProfileType=t,this.ProfileName=n,this.ParentProfile=s,this.Operator=i,this.Label=a,this.type=2998442950}};class Yi extends pi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=219451334}}e.IfcObjectDefinition=Yi,e.IfcOpenCrossProfileDef=class extends ai{constructor(e,t,n,s,i,a,l,r){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.HorizontalWidths=s,this.Widths=i,this.Slopes=a,this.Tags=l,this.OffsetPoint=r,this.type=182550632}},e.IfcOpenShell=class extends xi{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2665983363}},e.IfcOrganizationRelationship=class extends ui{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatingOrganization=s,this.RelatedOrganizations=i,this.type=1411181986}},e.IfcOrientedEdge=class extends Pi{constructor(e,t,n,s){super(e,t,new bm(0)),this.EdgeStart=t,this.EdgeElement=n,this.Orientation=s,this.type=1029017970}};class Xi extends ai{constructor(e,t,n,s){super(e,t,n),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.type=2529465313}}e.IfcParameterizedProfileDef=Xi,e.IfcPath=class extends Si{constructor(e,t){super(e),this.EdgeList=t,this.type=2519244187}},e.IfcPhysicalComplexQuantity=class extends $s{constructor(e,t,n,s,i,a,l){super(e,t,n),this.Name=t,this.Description=n,this.HasQuantities=s,this.Discrimination=i,this.Quality=a,this.Usage=l,this.type=3021840470}},e.IfcPixelTexture=class extends Ti{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a),this.RepeatS=t,this.RepeatT=n,this.Mode=s,this.TextureTransform=i,this.Parameter=a,this.Width=l,this.Height=r,this.ColourComponents=o,this.Pixel=c,this.type=597895409}};class Ki extends Ui{constructor(e,t){super(e),this.Location=t,this.type=2004835150}}e.IfcPlacement=Ki;class Zi extends Ui{constructor(e,t,n){super(e),this.SizeInX=t,this.SizeInY=n,this.type=1663979128}}e.IfcPlanarExtent=Zi;class Qi extends Ui{constructor(e){super(e),this.type=2067069095}}e.IfcPoint=Qi,e.IfcPointByDistanceExpression=class extends Qi{constructor(e,t,n,s,i,a){super(e),this.DistanceAlong=t,this.OffsetLateral=n,this.OffsetVertical=s,this.OffsetLongitudinal=i,this.BasisCurve=a,this.type=2165702409}},e.IfcPointOnCurve=class extends Qi{constructor(e,t,n){super(e),this.BasisCurve=t,this.PointParameter=n,this.type=4022376103}},e.IfcPointOnSurface=class extends Qi{constructor(e,t,n,s){super(e),this.BasisSurface=t,this.PointParameterU=n,this.PointParameterV=s,this.type=1423911732}},e.IfcPolyLoop=class extends Wi{constructor(e,t){super(e),this.Polygon=t,this.type=2924175390}},e.IfcPolygonalBoundedHalfSpace=class extends Gi{constructor(e,t,n,s,i){super(e,t,n),this.BaseSurface=t,this.AgreementFlag=n,this.Position=s,this.PolygonalBoundary=i,this.type=2775532180}};class Ji extends ti{constructor(e,t){super(e),this.Name=t,this.type=3727388367}}e.IfcPreDefinedItem=Ji;class $i extends li{constructor(e){super(e),this.type=3778827333}}e.IfcPreDefinedProperties=$i;class ea extends Ji{constructor(e,t){super(e,t),this.Name=t,this.type=1775413392}}e.IfcPreDefinedTextFont=ea,e.IfcProductDefinitionShape=class extends ii{constructor(e,t,n,s){super(e,t,n,s),this.Name=t,this.Description=n,this.Representations=s,this.type=673634403}},e.IfcProfileProperties=class extends qi{constructor(e,t,n,s,i){super(e,t,n,s),this.Name=t,this.Description=n,this.Properties=s,this.ProfileDefinition=i,this.type=2802850158}};class ta extends li{constructor(e,t,n){super(e),this.Name=t,this.Specification=n,this.type=2598011224}}e.IfcProperty=ta;class na extends pi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=1680319473}}e.IfcPropertyDefinition=na,e.IfcPropertyDependencyRelationship=class extends ui{constructor(e,t,n,s,i,a){super(e,t,n),this.Name=t,this.Description=n,this.DependingProperty=s,this.DependantProperty=i,this.Expression=a,this.type=148025276}};class sa extends na{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=3357820518}}e.IfcPropertySetDefinition=sa;class ia extends na{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=1482703590}}e.IfcPropertyTemplateDefinition=ia;class aa extends sa{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=2090586900}}e.IfcQuantitySet=aa;class la extends Xi{constructor(e,t,n,s,i,a){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.type=3615266464}}e.IfcRectangleProfileDef=la,e.IfcRegularTimeSeries=class extends Di{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.Name=t,this.Description=n,this.StartTime=s,this.EndTime=i,this.TimeSeriesDataType=a,this.DataOrigin=l,this.UserDefinedDataOrigin=r,this.Unit=o,this.TimeStep=c,this.Values=u,this.type=3413951693}},e.IfcReinforcementBarProperties=class extends $i{constructor(e,t,n,s,i,a,l){super(e),this.TotalCrossSectionArea=t,this.SteelGrade=n,this.BarSurface=s,this.EffectiveDepth=i,this.NominalBarDiameter=a,this.BarCount=l,this.type=1580146022}};class ra extends pi{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=478536968}}e.IfcRelationship=ra,e.IfcResourceApprovalRelationship=class extends ui{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatedResourceObjects=s,this.RelatingApproval=i,this.type=2943643501}},e.IfcResourceConstraintRelationship=class extends ui{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Description=n,this.RelatingConstraint=s,this.RelatedResourceObjects=i,this.type=1608871552}},e.IfcResourceTime=class extends hi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v){super(e,t,n,s),this.Name=t,this.DataOrigin=n,this.UserDefinedDataOrigin=s,this.ScheduleWork=i,this.ScheduleUsage=a,this.ScheduleStart=l,this.ScheduleFinish=r,this.ScheduleContour=o,this.LevelingDelay=c,this.IsOverAllocated=u,this.StatusTime=p,this.ActualWork=h,this.ActualUsage=d,this.ActualStart=f,this.ActualFinish=I,this.RemainingWork=m,this.RemainingUsage=y,this.Completion=v,this.type=1042787934}},e.IfcRoundedRectangleProfileDef=class extends la{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.RoundingRadius=l,this.type=2778083089}},e.IfcSectionProperties=class extends $i{constructor(e,t,n,s){super(e),this.SectionType=t,this.StartProfile=n,this.EndProfile=s,this.type=2042790032}},e.IfcSectionReinforcementProperties=class extends $i{constructor(e,t,n,s,i,a,l){super(e),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=n,this.TransversePosition=s,this.ReinforcementRole=i,this.SectionDefinition=a,this.CrossSectionReinforcementDefinitions=l,this.type=4165799628}},e.IfcSectionedSpine=class extends Ui{constructor(e,t,n,s){super(e),this.SpineCurve=t,this.CrossSections=n,this.CrossSectionPositions=s,this.type=1509187699}};class oa extends Ui{constructor(e,t){super(e),this.Transition=t,this.type=823603102}}e.IfcSegment=oa,e.IfcShellBasedSurfaceModel=class extends Ui{constructor(e,t){super(e),this.SbsmBoundary=t,this.type=4124623270}};class ca extends ta{constructor(e,t,n){super(e,t,n),this.Name=t,this.Specification=n,this.type=3692461612}}e.IfcSimpleProperty=ca,e.IfcSlippageConnectionCondition=class extends fi{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.SlippageX=n,this.SlippageY=s,this.SlippageZ=i,this.type=2609359061}};class ua extends Ui{constructor(e){super(e),this.type=723233188}}e.IfcSolidModel=ua,e.IfcStructuralLoadLinearForce=class extends yi{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.LinearForceX=n,this.LinearForceY=s,this.LinearForceZ=i,this.LinearMomentX=a,this.LinearMomentY=l,this.LinearMomentZ=r,this.type=1595516126}},e.IfcStructuralLoadPlanarForce=class extends yi{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.PlanarForceX=n,this.PlanarForceY=s,this.PlanarForceZ=i,this.type=2668620305}};class pa extends yi{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.DisplacementX=n,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=a,this.RotationalDisplacementRY=l,this.RotationalDisplacementRZ=r,this.type=2473145415}}e.IfcStructuralLoadSingleDisplacement=pa,e.IfcStructuralLoadSingleDisplacementDistortion=class extends pa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.DisplacementX=n,this.DisplacementY=s,this.DisplacementZ=i,this.RotationalDisplacementRX=a,this.RotationalDisplacementRY=l,this.RotationalDisplacementRZ=r,this.Distortion=o,this.type=1973038258}};class ha extends yi{constructor(e,t,n,s,i,a,l,r){super(e,t),this.Name=t,this.ForceX=n,this.ForceY=s,this.ForceZ=i,this.MomentX=a,this.MomentY=l,this.MomentZ=r,this.type=1597423693}}e.IfcStructuralLoadSingleForce=ha,e.IfcStructuralLoadSingleForceWarping=class extends ha{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.Name=t,this.ForceX=n,this.ForceY=s,this.ForceZ=i,this.MomentX=a,this.MomentY=l,this.MomentZ=r,this.WarpingMoment=o,this.type=1190533807}},e.IfcSubedge=class extends Pi{constructor(e,t,n,s){super(e,t,n),this.EdgeStart=t,this.EdgeEnd=n,this.ParentEdge=s,this.type=2233826070}};class da extends Ui{constructor(e){super(e),this.type=2513912981}}e.IfcSurface=da,e.IfcSurfaceStyleRendering=class extends wi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n),this.SurfaceColour=t,this.Transparency=n,this.DiffuseColour=s,this.TransmissionColour=i,this.DiffuseTransmissionColour=a,this.ReflectionColour=l,this.SpecularColour=r,this.SpecularHighlight=o,this.ReflectanceMethod=c,this.type=1878645084}};class fa extends ua{constructor(e,t,n){super(e),this.SweptArea=t,this.Position=n,this.type=2247615214}}e.IfcSweptAreaSolid=fa;class Ia extends ua{constructor(e,t,n,s,i,a){super(e),this.Directrix=t,this.Radius=n,this.InnerRadius=s,this.StartParam=i,this.EndParam=a,this.type=1260650574}}e.IfcSweptDiskSolid=Ia,e.IfcSweptDiskSolidPolygonal=class extends Ia{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.Directrix=t,this.Radius=n,this.InnerRadius=s,this.StartParam=i,this.EndParam=a,this.FilletRadius=l,this.type=1096409881}};class ma extends da{constructor(e,t,n){super(e),this.SweptCurve=t,this.Position=n,this.type=230924584}}e.IfcSweptSurface=ma,e.IfcTShapeProfileDef=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.FlangeEdgeRadius=c,this.WebEdgeRadius=u,this.WebSlope=p,this.FlangeSlope=h,this.type=3071757647}};class ya extends Ui{constructor(e){super(e),this.type=901063453}}e.IfcTessellatedItem=ya;class va extends Ui{constructor(e,t,n,s){super(e),this.Literal=t,this.Placement=n,this.Path=s,this.type=4282788508}}e.IfcTextLiteral=va,e.IfcTextLiteralWithExtent=class extends va{constructor(e,t,n,s,i,a){super(e,t,n,s),this.Literal=t,this.Placement=n,this.Path=s,this.Extent=i,this.BoxAlignment=a,this.type=3124975700}},e.IfcTextStyleFontModel=class extends ea{constructor(e,t,n,s,i,a,l){super(e,t),this.Name=t,this.FontFamily=n,this.FontStyle=s,this.FontVariant=i,this.FontWeight=a,this.FontSize=l,this.type=1983826977}},e.IfcTrapeziumProfileDef=class extends Xi{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.BottomXDim=i,this.TopXDim=a,this.YDim=l,this.TopXOffset=r,this.type=2715220739}};class wa extends Yi{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.type=1628702193}}e.IfcTypeObject=wa;class Ta extends wa{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ProcessType=c,this.type=3736923433}}e.IfcTypeProcess=Ta;class Ea extends wa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.type=2347495698}}e.IfcTypeProduct=Ea;class ga extends wa{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.type=3698973494}}e.IfcTypeResource=ga,e.IfcUShapeProfileDef=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.EdgeRadius=c,this.FlangeSlope=u,this.type=427810014}},e.IfcVector=class extends Ui{constructor(e,t,n){super(e),this.Orientation=t,this.Magnitude=n,this.type=1417489154}},e.IfcVertexLoop=class extends Wi{constructor(e,t){super(e),this.LoopVertex=t,this.type=2759199220}},e.IfcZShapeProfileDef=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.FlangeWidth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.EdgeRadius=c,this.type=2543172580}},e.IfcAdvancedFace=class extends Hi{constructor(e,t,n,s){super(e,t,n,s),this.Bounds=t,this.FaceSurface=n,this.SameSense=s,this.type=3406155212}},e.IfcAnnotationFillArea=class extends Ui{constructor(e,t,n){super(e),this.OuterBoundary=t,this.InnerBoundaries=n,this.type=669184980}},e.IfcAsymmetricIShapeProfileDef=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.BottomFlangeWidth=i,this.OverallDepth=a,this.WebThickness=l,this.BottomFlangeThickness=r,this.BottomFlangeFilletRadius=o,this.TopFlangeWidth=c,this.TopFlangeThickness=u,this.TopFlangeFilletRadius=p,this.BottomFlangeEdgeRadius=h,this.BottomFlangeSlope=d,this.TopFlangeEdgeRadius=f,this.TopFlangeSlope=I,this.type=3207858831}},e.IfcAxis1Placement=class extends Ki{constructor(e,t,n){super(e,t),this.Location=t,this.Axis=n,this.type=4261334040}},e.IfcAxis2Placement2D=class extends Ki{constructor(e,t,n){super(e,t),this.Location=t,this.RefDirection=n,this.type=3125803723}},e.IfcAxis2Placement3D=class extends Ki{constructor(e,t,n,s){super(e,t),this.Location=t,this.Axis=n,this.RefDirection=s,this.type=2740243338}},e.IfcAxis2PlacementLinear=class extends Ki{constructor(e,t,n,s){super(e,t),this.Location=t,this.Axis=n,this.RefDirection=s,this.type=3425423356}};class Ra extends Ui{constructor(e,t,n,s){super(e),this.Operator=t,this.FirstOperand=n,this.SecondOperand=s,this.type=2736907675}}e.IfcBooleanResult=Ra;class Da extends da{constructor(e){super(e),this.type=4182860854}}e.IfcBoundedSurface=Da,e.IfcBoundingBox=class extends Ui{constructor(e,t,n,s,i){super(e),this.Corner=t,this.XDim=n,this.YDim=s,this.ZDim=i,this.type=2581212453}},e.IfcBoxedHalfSpace=class extends Gi{constructor(e,t,n,s){super(e,t,n),this.BaseSurface=t,this.AgreementFlag=n,this.Enclosure=s,this.type=2713105998}},e.IfcCShapeProfileDef=class extends Xi{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.Width=a,this.WallThickness=l,this.Girth=r,this.InternalFilletRadius=o,this.type=2898889636}},e.IfcCartesianPoint=class extends Qi{constructor(e,t){super(e),this.Coordinates=t,this.type=1123145078}};class Sa extends Ui{constructor(e){super(e),this.type=574549367}}e.IfcCartesianPointList=Sa,e.IfcCartesianPointList2D=class extends Sa{constructor(e,t,n){super(e),this.CoordList=t,this.TagList=n,this.type=1675464909}},e.IfcCartesianPointList3D=class extends Sa{constructor(e,t,n){super(e),this.CoordList=t,this.TagList=n,this.type=2059837836}};class ba extends Ui{constructor(e,t,n,s,i){super(e),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.type=59481748}}e.IfcCartesianTransformationOperator=ba;class Na extends ba{constructor(e,t,n,s,i){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.type=3749851601}}e.IfcCartesianTransformationOperator2D=Na,e.IfcCartesianTransformationOperator2DnonUniform=class extends Na{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Scale2=a,this.type=3486308946}};class Oa extends ba{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Axis3=a,this.type=3331915920}}e.IfcCartesianTransformationOperator3D=Oa,e.IfcCartesianTransformationOperator3DnonUniform=class extends Oa{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.Axis1=t,this.Axis2=n,this.LocalOrigin=s,this.Scale=i,this.Axis3=a,this.Scale2=l,this.Scale3=r,this.type=1416205885}};class Aa extends Xi{constructor(e,t,n,s,i){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Radius=i,this.type=1383045692}}e.IfcCircleProfileDef=Aa,e.IfcClosedShell=class extends xi{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2205249479}},e.IfcColourRgb=class extends Ai{constructor(e,t,n,s,i){super(e,t),this.Name=t,this.Red=n,this.Green=s,this.Blue=i,this.type=776857604}},e.IfcComplexProperty=class extends ta{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Specification=n,this.UsageName=s,this.HasProperties=i,this.type=2542286263}};class xa extends oa{constructor(e,t,n,s){super(e,t),this.Transition=t,this.SameSense=n,this.ParentCurve=s,this.type=2485617015}}e.IfcCompositeCurveSegment=xa;class Ca extends ga{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.type=2574617495}}e.IfcConstructionResourceType=Ca;class La extends Yi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.Phase=r,this.RepresentationContexts=o,this.UnitsInContext=c,this.type=3419103109}}e.IfcContext=La,e.IfcCrewResourceType=class extends Ca{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=1815067380}};class Pa extends Ui{constructor(e,t){super(e),this.Position=t,this.type=2506170314}}e.IfcCsgPrimitive3D=Pa,e.IfcCsgSolid=class extends ua{constructor(e,t){super(e),this.TreeRootExpression=t,this.type=2147822146}};class qa extends Ui{constructor(e){super(e),this.type=2601014836}}e.IfcCurve=qa,e.IfcCurveBoundedPlane=class extends Da{constructor(e,t,n,s){super(e),this.BasisSurface=t,this.OuterBoundary=n,this.InnerBoundaries=s,this.type=2827736869}},e.IfcCurveBoundedSurface=class extends Da{constructor(e,t,n,s){super(e),this.BasisSurface=t,this.Boundaries=n,this.ImplicitOuter=s,this.type=2629017746}},e.IfcCurveSegment=class extends oa{constructor(e,t,n,s,i,a){super(e,t),this.Transition=t,this.Placement=n,this.SegmentStart=s,this.SegmentLength=i,this.ParentCurve=a,this.type=4212018352}},e.IfcDirection=class extends Ui{constructor(e,t){super(e),this.DirectionRatios=t,this.type=32440307}};class _a extends fa{constructor(e,t,n,s,i,a){super(e,t,n),this.SweptArea=t,this.Position=n,this.Directrix=s,this.StartParam=i,this.EndParam=a,this.type=593015953}}e.IfcDirectrixCurveSweptAreaSolid=_a,e.IfcEdgeLoop=class extends Wi{constructor(e,t){super(e),this.EdgeList=t,this.type=1472233963}},e.IfcElementQuantity=class extends aa{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.MethodOfMeasurement=a,this.Quantities=l,this.type=1883228015}};class Ma extends Ea{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=339256511}}e.IfcElementType=Ma;class Ha extends da{constructor(e,t){super(e),this.Position=t,this.type=2777663545}}e.IfcElementarySurface=Ha,e.IfcEllipseProfileDef=class extends Xi{constructor(e,t,n,s,i,a){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.SemiAxis1=i,this.SemiAxis2=a,this.type=2835456948}},e.IfcEventType=class extends Ta{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ProcessType=c,this.PredefinedType=u,this.EventTriggerType=p,this.UserDefinedEventTriggerType=h,this.type=4024345920}};class Ba extends fa{constructor(e,t,n,s,i){super(e,t,n),this.SweptArea=t,this.Position=n,this.ExtrudedDirection=s,this.Depth=i,this.type=477187591}}e.IfcExtrudedAreaSolid=Ba,e.IfcExtrudedAreaSolidTapered=class extends Ba{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.SweptArea=t,this.Position=n,this.ExtrudedDirection=s,this.Depth=i,this.EndSweptArea=a,this.type=2804161546}},e.IfcFaceBasedSurfaceModel=class extends Ui{constructor(e,t){super(e),this.FbsmFaces=t,this.type=2047409740}},e.IfcFillAreaStyleHatching=class extends Ui{constructor(e,t,n,s,i,a){super(e),this.HatchLineAppearance=t,this.StartOfNextHatchLine=n,this.PointOfReferenceHatchLine=s,this.PatternStart=i,this.HatchLineAngle=a,this.type=374418227}},e.IfcFillAreaStyleTiles=class extends Ui{constructor(e,t,n,s){super(e),this.TilingPattern=t,this.Tiles=n,this.TilingScale=s,this.type=315944413}};class Ua extends _a{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.SweptArea=t,this.Position=n,this.Directrix=s,this.StartParam=i,this.EndParam=a,this.FixedReference=l,this.type=2652556860}}e.IfcFixedReferenceSweptAreaSolid=Ua;class Fa extends Ma{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=4238390223}}e.IfcFurnishingElementType=Fa,e.IfcFurnitureType=class extends Fa{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.AssemblyPlace=u,this.PredefinedType=p,this.type=1268542332}},e.IfcGeographicElementType=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4095422895}},e.IfcGeometricCurveSet=class extends Fi{constructor(e,t){super(e,t),this.Elements=t,this.type=987898635}},e.IfcIShapeProfileDef=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.OverallWidth=i,this.OverallDepth=a,this.WebThickness=l,this.FlangeThickness=r,this.FilletRadius=o,this.FlangeEdgeRadius=c,this.FlangeSlope=u,this.type=1484403080}};class Ga extends ya{constructor(e,t){super(e),this.CoordIndex=t,this.type=178912537}}e.IfcIndexedPolygonalFace=Ga,e.IfcIndexedPolygonalFaceWithVoids=class extends Ga{constructor(e,t,n){super(e,t),this.CoordIndex=t,this.InnerCoordIndices=n,this.type=2294589976}},e.IfcIndexedPolygonalTextureMap=class extends Vi{constructor(e,t,n,s,i){super(e,t,n,s),this.Maps=t,this.MappedTo=n,this.TexCoords=s,this.TexCoordIndices=i,this.type=3465909080}},e.IfcLShapeProfileDef=class extends Xi{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Depth=i,this.Width=a,this.Thickness=l,this.FilletRadius=r,this.EdgeRadius=o,this.LegSlope=c,this.type=572779678}},e.IfcLaborResourceType=class extends Ca{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=428585644}},e.IfcLine=class extends qa{constructor(e,t,n){super(e),this.Pnt=t,this.Dir=n,this.type=1281925730}};class Va extends ua{constructor(e,t){super(e),this.Outer=t,this.type=1425443689}}e.IfcManifoldSolidBrep=Va;class ja extends Yi{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=3888040117}}e.IfcObject=ja;class za extends qa{constructor(e,t){super(e),this.BasisCurve=t,this.type=590820931}}e.IfcOffsetCurve=za,e.IfcOffsetCurve2D=class extends za{constructor(e,t,n,s){super(e,t),this.BasisCurve=t,this.Distance=n,this.SelfIntersect=s,this.type=3388369263}},e.IfcOffsetCurve3D=class extends za{constructor(e,t,n,s,i){super(e,t),this.BasisCurve=t,this.Distance=n,this.SelfIntersect=s,this.RefDirection=i,this.type=3505215534}},e.IfcOffsetCurveByDistances=class extends za{constructor(e,t,n,s){super(e,t),this.BasisCurve=t,this.OffsetValues=n,this.Tag=s,this.type=2485787929}},e.IfcPcurve=class extends qa{constructor(e,t,n){super(e),this.BasisSurface=t,this.ReferenceCurve=n,this.type=1682466193}},e.IfcPlanarBox=class extends Zi{constructor(e,t,n,s){super(e,t,n),this.SizeInX=t,this.SizeInY=n,this.Placement=s,this.type=603570806}},e.IfcPlane=class extends Ha{constructor(e,t){super(e,t),this.Position=t,this.type=220341763}},e.IfcPolynomialCurve=class extends qa{constructor(e,t,n,s,i){super(e),this.Position=t,this.CoefficientsX=n,this.CoefficientsY=s,this.CoefficientsZ=i,this.type=3381221214}};class Wa extends Ji{constructor(e,t){super(e,t),this.Name=t,this.type=759155922}}e.IfcPreDefinedColour=Wa;class ka extends Ji{constructor(e,t){super(e,t),this.Name=t,this.type=2559016684}}e.IfcPreDefinedCurveFont=ka;class Ya extends sa{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=3967405729}}e.IfcPreDefinedPropertySet=Ya,e.IfcProcedureType=class extends Ta{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ProcessType=c,this.PredefinedType=u,this.type=569719735}};class Xa extends ja{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.type=2945172077}}e.IfcProcess=Xa;class Ka extends ja{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=4208778838}}e.IfcProduct=Ka,e.IfcProject=class extends La{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.Phase=r,this.RepresentationContexts=o,this.UnitsInContext=c,this.type=103090709}},e.IfcProjectLibrary=class extends La{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.Phase=r,this.RepresentationContexts=o,this.UnitsInContext=c,this.type=653396225}},e.IfcPropertyBoundedValue=class extends ca{constructor(e,t,n,s,i,a,l){super(e,t,n),this.Name=t,this.Specification=n,this.UpperBoundValue=s,this.LowerBoundValue=i,this.Unit=a,this.SetPointValue=l,this.type=871118103}},e.IfcPropertyEnumeratedValue=class extends ca{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Specification=n,this.EnumerationValues=s,this.EnumerationReference=i,this.type=4166981789}},e.IfcPropertyListValue=class extends ca{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Specification=n,this.ListValues=s,this.Unit=i,this.type=2752243245}},e.IfcPropertyReferenceValue=class extends ca{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Specification=n,this.UsageName=s,this.PropertyReference=i,this.type=941946838}},e.IfcPropertySet=class extends sa{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.HasProperties=a,this.type=1451395588}},e.IfcPropertySetTemplate=class extends ia{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.TemplateType=a,this.ApplicableEntity=l,this.HasPropertyTemplates=r,this.type=492091185}},e.IfcPropertySingleValue=class extends ca{constructor(e,t,n,s,i){super(e,t,n),this.Name=t,this.Specification=n,this.NominalValue=s,this.Unit=i,this.type=3650150729}},e.IfcPropertyTableValue=class extends ca{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n),this.Name=t,this.Specification=n,this.DefiningValues=s,this.DefinedValues=i,this.Expression=a,this.DefiningUnit=l,this.DefinedUnit=r,this.CurveInterpolation=o,this.type=110355661}};class Za extends ia{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=3521284610}}e.IfcPropertyTemplate=Za,e.IfcRectangleHollowProfileDef=class extends la{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.XDim=i,this.YDim=a,this.WallThickness=l,this.InnerFilletRadius=r,this.OuterFilletRadius=o,this.type=2770003689}},e.IfcRectangularPyramid=class extends Pa{constructor(e,t,n,s,i){super(e,t),this.Position=t,this.XLength=n,this.YLength=s,this.Height=i,this.type=2798486643}},e.IfcRectangularTrimmedSurface=class extends Da{constructor(e,t,n,s,i,a,l,r){super(e),this.BasisSurface=t,this.U1=n,this.V1=s,this.U2=i,this.V2=a,this.Usense=l,this.Vsense=r,this.type=3454111270}},e.IfcReinforcementDefinitionProperties=class extends Ya{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.DefinitionType=a,this.ReinforcementSectionDefinitions=l,this.type=3765753017}};class Qa extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.type=3939117080}}e.IfcRelAssigns=Qa,e.IfcRelAssignsToActor=class extends Qa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingActor=r,this.ActingRole=o,this.type=1683148259}},e.IfcRelAssignsToControl=class extends Qa{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingControl=r,this.type=2495723537}};class Ja extends Qa{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingGroup=r,this.type=1307041759}}e.IfcRelAssignsToGroup=Ja,e.IfcRelAssignsToGroupByFactor=class extends Ja{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingGroup=r,this.Factor=o,this.type=1027710054}},e.IfcRelAssignsToProcess=class extends Qa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingProcess=r,this.QuantityInProcess=o,this.type=4278684876}},e.IfcRelAssignsToProduct=class extends Qa{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingProduct=r,this.type=2857406711}},e.IfcRelAssignsToResource=class extends Qa{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatedObjectsType=l,this.RelatingResource=r,this.type=205026976}};class $a extends ra{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.type=1865459582}}e.IfcRelAssociates=$a,e.IfcRelAssociatesApproval=class extends $a{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingApproval=l,this.type=4095574036}},e.IfcRelAssociatesClassification=class extends $a{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingClassification=l,this.type=919958153}},e.IfcRelAssociatesConstraint=class extends $a{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.Intent=l,this.RelatingConstraint=r,this.type=2728634034}},e.IfcRelAssociatesDocument=class extends $a{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingDocument=l,this.type=982818633}},e.IfcRelAssociatesLibrary=class extends $a{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingLibrary=l,this.type=3840914261}},e.IfcRelAssociatesMaterial=class extends $a{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingMaterial=l,this.type=2655215786}},e.IfcRelAssociatesProfileDef=class extends $a{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingProfileDef=l,this.type=1033248425}};class el extends ra{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=826625072}}e.IfcRelConnects=el;class tl extends el{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.type=1204542856}}e.IfcRelConnectsElements=tl,e.IfcRelConnectsPathElements=class extends tl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.RelatingPriorities=o,this.RelatedPriorities=c,this.RelatedConnectionType=u,this.RelatingConnectionType=p,this.type=3945020480}},e.IfcRelConnectsPortToElement=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingPort=a,this.RelatedElement=l,this.type=4201705270}},e.IfcRelConnectsPorts=class extends el{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingPort=a,this.RelatedPort=l,this.RealizingElement=r,this.type=3190031847}},e.IfcRelConnectsStructuralActivity=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedStructuralActivity=l,this.type=2127690289}};class nl extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingStructuralMember=a,this.RelatedStructuralConnection=l,this.AppliedCondition=r,this.AdditionalConditions=o,this.SupportedLength=c,this.ConditionCoordinateSystem=u,this.type=1638771189}}e.IfcRelConnectsStructuralMember=nl,e.IfcRelConnectsWithEccentricity=class extends nl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingStructuralMember=a,this.RelatedStructuralConnection=l,this.AppliedCondition=r,this.AdditionalConditions=o,this.SupportedLength=c,this.ConditionCoordinateSystem=u,this.ConnectionConstraint=p,this.type=504942748}},e.IfcRelConnectsWithRealizingElements=class extends tl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ConnectionGeometry=a,this.RelatingElement=l,this.RelatedElement=r,this.RealizingElements=o,this.ConnectionType=c,this.type=3678494232}},e.IfcRelContainedInSpatialStructure=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedElements=a,this.RelatingStructure=l,this.type=3242617779}},e.IfcRelCoversBldgElements=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingBuildingElement=a,this.RelatedCoverings=l,this.type=886880790}},e.IfcRelCoversSpaces=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedCoverings=l,this.type=2802773753}},e.IfcRelDeclares=class extends ra{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingContext=a,this.RelatedDefinitions=l,this.type=2565941209}};class sl extends ra{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=2551354335}}e.IfcRelDecomposes=sl;class il extends ra{constructor(e,t,n,s,i){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.type=693640335}}e.IfcRelDefines=il,e.IfcRelDefinesByObject=class extends il{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingObject=l,this.type=1462361463}},e.IfcRelDefinesByProperties=class extends il{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingPropertyDefinition=l,this.type=4186316022}},e.IfcRelDefinesByTemplate=class extends il{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedPropertySets=a,this.RelatingTemplate=l,this.type=307848117}},e.IfcRelDefinesByType=class extends il{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedObjects=a,this.RelatingType=l,this.type=781010003}},e.IfcRelFillsElement=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingOpeningElement=a,this.RelatedBuildingElement=l,this.type=3940055652}},e.IfcRelFlowControlElements=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedControlElements=a,this.RelatingFlowElement=l,this.type=279856033}},e.IfcRelInterferesElements=class extends el{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedElement=l,this.InterferenceGeometry=r,this.InterferenceSpace=o,this.InterferenceType=c,this.ImpliedOrder=u,this.type=427948657}},e.IfcRelNests=class extends sl{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingObject=a,this.RelatedObjects=l,this.type=3268803585}},e.IfcRelPositions=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingPositioningElement=a,this.RelatedProducts=l,this.type=1441486842}},e.IfcRelProjectsElement=class extends sl{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedFeatureElement=l,this.type=750771296}},e.IfcRelReferencedInSpatialStructure=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatedElements=a,this.RelatingStructure=l,this.type=1245217292}},e.IfcRelSequence=class extends el{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingProcess=a,this.RelatedProcess=l,this.TimeLag=r,this.SequenceType=o,this.UserDefinedSequenceType=c,this.type=4122056220}},e.IfcRelServicesBuildings=class extends el{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSystem=a,this.RelatedBuildings=l,this.type=366585022}};class al extends el{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedBuildingElement=l,this.ConnectionGeometry=r,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=c,this.type=3451746338}}e.IfcRelSpaceBoundary=al;class ll extends al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedBuildingElement=l,this.ConnectionGeometry=r,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=c,this.ParentBoundary=u,this.type=3523091289}}e.IfcRelSpaceBoundary1stLevel=ll,e.IfcRelSpaceBoundary2ndLevel=class extends ll{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingSpace=a,this.RelatedBuildingElement=l,this.ConnectionGeometry=r,this.PhysicalOrVirtualBoundary=o,this.InternalOrExternalBoundary=c,this.ParentBoundary=u,this.CorrespondingBoundary=p,this.type=1521410863}},e.IfcRelVoidsElement=class extends sl{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingBuildingElement=a,this.RelatedOpeningElement=l,this.type=1401173127}},e.IfcReparametrisedCompositeCurveSegment=class extends xa{constructor(e,t,n,s,i){super(e,t,n,s),this.Transition=t,this.SameSense=n,this.ParentCurve=s,this.ParamLength=i,this.type=816062949}};class rl extends ja{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.type=2914609552}}e.IfcResource=rl;class ol extends fa{constructor(e,t,n,s,i){super(e,t,n),this.SweptArea=t,this.Position=n,this.Axis=s,this.Angle=i,this.type=1856042241}}e.IfcRevolvedAreaSolid=ol,e.IfcRevolvedAreaSolidTapered=class extends ol{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.SweptArea=t,this.Position=n,this.Axis=s,this.Angle=i,this.EndSweptArea=a,this.type=3243963512}},e.IfcRightCircularCone=class extends Pa{constructor(e,t,n,s){super(e,t),this.Position=t,this.Height=n,this.BottomRadius=s,this.type=4158566097}},e.IfcRightCircularCylinder=class extends Pa{constructor(e,t,n,s){super(e,t),this.Position=t,this.Height=n,this.Radius=s,this.type=3626867408}};class cl extends ua{constructor(e,t,n){super(e),this.Directrix=t,this.CrossSections=n,this.type=1862484736}}e.IfcSectionedSolid=cl,e.IfcSectionedSolidHorizontal=class extends cl{constructor(e,t,n,s){super(e,t,n),this.Directrix=t,this.CrossSections=n,this.CrossSectionPositions=s,this.type=1290935644}},e.IfcSectionedSurface=class extends da{constructor(e,t,n,s){super(e),this.Directrix=t,this.CrossSectionPositions=n,this.CrossSections=s,this.type=1356537516}},e.IfcSimplePropertyTemplate=class extends Za{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.TemplateType=a,this.PrimaryMeasureType=l,this.SecondaryMeasureType=r,this.Enumerators=o,this.PrimaryUnit=c,this.SecondaryUnit=u,this.Expression=p,this.AccessState=h,this.type=3663146110}};class ul extends Ka{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.type=1412071761}}e.IfcSpatialElement=ul;class pl extends Ea{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=710998568}}e.IfcSpatialElementType=pl;class hl extends ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.type=2706606064}}e.IfcSpatialStructureElement=hl;class dl extends pl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3893378262}}e.IfcSpatialStructureElementType=dl,e.IfcSpatialZone=class extends ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.PredefinedType=c,this.type=463610769}},e.IfcSpatialZoneType=class extends pl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.LongName=p,this.type=2481509218}},e.IfcSphere=class extends Pa{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=451544542}},e.IfcSphericalSurface=class extends Ha{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=4015995234}};class fl extends qa{constructor(e,t){super(e),this.Position=t,this.type=2735484536}}e.IfcSpiral=fl;class Il extends Ka{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=3544373492}}e.IfcStructuralActivity=Il;class ml extends Ka{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=3136571912}}e.IfcStructuralItem=ml;class yl extends ml{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=530289379}}e.IfcStructuralMember=yl;class vl extends Il{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=3689010777}}e.IfcStructuralReaction=vl;class wl extends yl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Thickness=c,this.type=3979015343}}e.IfcStructuralSurfaceMember=wl,e.IfcStructuralSurfaceMemberVarying=class extends wl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Thickness=c,this.type=2218152070}},e.IfcStructuralSurfaceReaction=class extends vl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.PredefinedType=u,this.type=603775116}},e.IfcSubContractResourceType=class extends Ca{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=4095615324}};class Tl extends qa{constructor(e,t,n,s){super(e),this.Curve3D=t,this.AssociatedGeometry=n,this.MasterRepresentation=s,this.type=699246055}}e.IfcSurfaceCurve=Tl,e.IfcSurfaceCurveSweptAreaSolid=class extends _a{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.SweptArea=t,this.Position=n,this.Directrix=s,this.StartParam=i,this.EndParam=a,this.ReferenceSurface=l,this.type=2028607225}},e.IfcSurfaceOfLinearExtrusion=class extends ma{constructor(e,t,n,s,i){super(e,t,n),this.SweptCurve=t,this.Position=n,this.ExtrudedDirection=s,this.Depth=i,this.type=2809605785}},e.IfcSurfaceOfRevolution=class extends ma{constructor(e,t,n,s){super(e,t,n),this.SweptCurve=t,this.Position=n,this.AxisPosition=s,this.type=4124788165}},e.IfcSystemFurnitureElementType=class extends Fa{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1580310250}},e.IfcTask=class extends Xa{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Status=o,this.WorkMethod=c,this.IsMilestone=u,this.Priority=p,this.TaskTime=h,this.PredefinedType=d,this.type=3473067441}},e.IfcTaskType=class extends Ta{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ProcessType=c,this.PredefinedType=u,this.WorkMethod=p,this.type=3206491090}};class El extends ya{constructor(e,t,n){super(e),this.Coordinates=t,this.Closed=n,this.type=2387106220}}e.IfcTessellatedFaceSet=El,e.IfcThirdOrderPolynomialSpiral=class extends fl{constructor(e,t,n,s,i,a){super(e,t),this.Position=t,this.CubicTerm=n,this.QuadraticTerm=s,this.LinearTerm=i,this.ConstantTerm=a,this.type=782932809}},e.IfcToroidalSurface=class extends Ha{constructor(e,t,n,s){super(e,t),this.Position=t,this.MajorRadius=n,this.MinorRadius=s,this.type=1935646853}};class gl extends Ma{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3665877780}}e.IfcTransportationDeviceType=gl;class Rl extends El{constructor(e,t,n,s,i,a){super(e,t,n),this.Coordinates=t,this.Closed=n,this.Normals=s,this.CoordIndex=i,this.PnIndex=a,this.type=2916149573}}e.IfcTriangulatedFaceSet=Rl,e.IfcTriangulatedIrregularNetwork=class extends Rl{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.Coordinates=t,this.Closed=n,this.Normals=s,this.CoordIndex=i,this.PnIndex=a,this.Flags=l,this.type=1229763772}},e.IfcVehicleType=class extends gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3651464721}},e.IfcWindowLiningProperties=class extends Ya{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.LiningDepth=a,this.LiningThickness=l,this.TransomThickness=r,this.MullionThickness=o,this.FirstTransomOffset=c,this.SecondTransomOffset=u,this.FirstMullionOffset=p,this.SecondMullionOffset=h,this.ShapeAspectStyle=d,this.LiningOffset=f,this.LiningToPanelOffsetX=I,this.LiningToPanelOffsetY=m,this.type=336235671}},e.IfcWindowPanelProperties=class extends Ya{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.OperationType=a,this.PanelPosition=l,this.FrameDepth=r,this.FrameThickness=o,this.ShapeAspectStyle=c,this.type=512836454}};class Dl extends ja{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheActor=l,this.type=2296667514}}e.IfcActor=Dl;class Sl extends Va{constructor(e,t){super(e,t),this.Outer=t,this.type=1635779807}}e.IfcAdvancedBrep=Sl,e.IfcAdvancedBrepWithVoids=class extends Sl{constructor(e,t,n){super(e,t),this.Outer=t,this.Voids=n,this.type=2603310189}},e.IfcAnnotation=class extends Ka{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.type=1674181508}};class bl extends Da{constructor(e,t,n,s,i,a,l,r){super(e),this.UDegree=t,this.VDegree=n,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=a,this.VClosed=l,this.SelfIntersect=r,this.type=2887950389}}e.IfcBSplineSurface=bl;class Nl extends bl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r),this.UDegree=t,this.VDegree=n,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=a,this.VClosed=l,this.SelfIntersect=r,this.UMultiplicities=o,this.VMultiplicities=c,this.UKnots=u,this.VKnots=p,this.KnotSpec=h,this.type=167062518}}e.IfcBSplineSurfaceWithKnots=Nl,e.IfcBlock=class extends Pa{constructor(e,t,n,s,i){super(e,t),this.Position=t,this.XLength=n,this.YLength=s,this.ZLength=i,this.type=1334484129}},e.IfcBooleanClippingResult=class extends Ra{constructor(e,t,n,s){super(e,t,n,s),this.Operator=t,this.FirstOperand=n,this.SecondOperand=s,this.type=3649129432}};class Ol extends qa{constructor(e){super(e),this.type=1260505505}}e.IfcBoundedCurve=Ol,e.IfcBuildingStorey=class extends hl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.Elevation=u,this.type=3124254112}};class Al extends Ma{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1626504194}}e.IfcBuiltElementType=Al,e.IfcChimneyType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2197970202}},e.IfcCircleHollowProfileDef=class extends Aa{constructor(e,t,n,s,i,a){super(e,t,n,s,i),this.ProfileType=t,this.ProfileName=n,this.Position=s,this.Radius=i,this.WallThickness=a,this.type=2937912522}},e.IfcCivilElementType=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3893394355}},e.IfcClothoid=class extends fl{constructor(e,t,n){super(e,t),this.Position=t,this.ClothoidConstant=n,this.type=3497074424}},e.IfcColumnType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=300633059}},e.IfcComplexPropertyTemplate=class extends Za{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.UsageName=a,this.TemplateType=l,this.HasPropertyTemplates=r,this.type=3875453745}};class xl extends Ol{constructor(e,t,n){super(e),this.Segments=t,this.SelfIntersect=n,this.type=3732776249}}e.IfcCompositeCurve=xl;class Cl extends xl{constructor(e,t,n){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.type=15328376}}e.IfcCompositeCurveOnSurface=Cl;class Ll extends qa{constructor(e,t){super(e),this.Position=t,this.type=2510884976}}e.IfcConic=Ll,e.IfcConstructionEquipmentResourceType=class extends Ca{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=2185764099}},e.IfcConstructionMaterialResourceType=class extends Ca{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=4105962743}},e.IfcConstructionProductResourceType=class extends Ca{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.Identification=r,this.LongDescription=o,this.ResourceType=c,this.BaseCosts=u,this.BaseQuantity=p,this.PredefinedType=h,this.type=1525564444}};class Pl extends rl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.type=2559216714}}e.IfcConstructionResource=Pl;class ql extends ja{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.type=3293443760}}e.IfcControl=ql,e.IfcCosineSpiral=class extends fl{constructor(e,t,n,s){super(e,t),this.Position=t,this.CosineTerm=n,this.ConstantTerm=s,this.type=2000195564}},e.IfcCostItem=class extends ql{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.CostValues=o,this.CostQuantities=c,this.type=3895139033}},e.IfcCostSchedule=class extends ql{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.Status=o,this.SubmittedOn=c,this.UpdateDate=u,this.type=1419761937}},e.IfcCourseType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4189326743}},e.IfcCoveringType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1916426348}},e.IfcCrewResource=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=3295246426}},e.IfcCurtainWallType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1457835157}},e.IfcCylindricalSurface=class extends Ha{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=1213902940}};class _l extends Al{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1306400036}}e.IfcDeepFoundationType=_l,e.IfcDirectrixDerivedReferenceSweptAreaSolid=class extends Ua{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a,l),this.SweptArea=t,this.Position=n,this.Directrix=s,this.StartParam=i,this.EndParam=a,this.FixedReference=l,this.type=4234616927}};class Ml extends Ma{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3256556792}}e.IfcDistributionElementType=Ml;class Hl extends Ml{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3849074793}}e.IfcDistributionFlowElementType=Hl,e.IfcDoorLiningProperties=class extends Ya{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.LiningDepth=a,this.LiningThickness=l,this.ThresholdDepth=r,this.ThresholdThickness=o,this.TransomThickness=c,this.TransomOffset=u,this.LiningOffset=p,this.ThresholdOffset=h,this.CasingThickness=d,this.CasingDepth=f,this.ShapeAspectStyle=I,this.LiningToPanelOffsetX=m,this.LiningToPanelOffsetY=y,this.type=2963535650}},e.IfcDoorPanelProperties=class extends Ya{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.PanelDepth=a,this.PanelOperation=l,this.PanelWidth=r,this.PanelPosition=o,this.ShapeAspectStyle=c,this.type=1714330368}},e.IfcDoorType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.OperationType=p,this.ParameterTakesPrecedence=h,this.UserDefinedOperationType=d,this.type=2323601079}},e.IfcDraughtingPreDefinedColour=class extends Wa{constructor(e,t){super(e,t),this.Name=t,this.type=445594917}},e.IfcDraughtingPreDefinedCurveFont=class extends ka{constructor(e,t){super(e,t),this.Name=t,this.type=4006246654}};class Bl extends Ka{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1758889154}}e.IfcElement=Bl,e.IfcElementAssembly=class extends Bl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.AssemblyPlace=c,this.PredefinedType=u,this.type=4123344466}},e.IfcElementAssemblyType=class extends Ma{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2397081782}};class Ul extends Bl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1623761950}}e.IfcElementComponent=Ul;class Fl extends Ma{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2590856083}}e.IfcElementComponentType=Fl,e.IfcEllipse=class extends Ll{constructor(e,t,n,s){super(e,t),this.Position=t,this.SemiAxis1=n,this.SemiAxis2=s,this.type=1704287377}};class Gl extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2107101300}}e.IfcEnergyConversionDeviceType=Gl,e.IfcEngineType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=132023988}},e.IfcEvaporativeCoolerType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3174744832}},e.IfcEvaporatorType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3390157468}},e.IfcEvent=class extends Xa{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.PredefinedType=o,this.EventTriggerType=c,this.UserDefinedEventTriggerType=u,this.EventOccurenceTime=p,this.type=4148101412}};class Vl extends ul{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.type=2853485674}}e.IfcExternalSpatialStructureElement=Vl;class jl extends Va{constructor(e,t){super(e,t),this.Outer=t,this.type=807026263}}e.IfcFacetedBrep=jl,e.IfcFacetedBrepWithVoids=class extends jl{constructor(e,t,n){super(e,t),this.Outer=t,this.Voids=n,this.type=3737207727}};class zl extends hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.type=24185140}}e.IfcFacility=zl;class Wl extends hl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.UsageType=u,this.type=1310830890}}e.IfcFacilityPart=Wl,e.IfcFacilityPartCommon=class extends Wl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.UsageType=u,this.PredefinedType=p,this.type=4228831410}},e.IfcFastener=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=647756555}},e.IfcFastenerType=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2489546625}};class kl extends Bl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2827207264}}e.IfcFeatureElement=kl;class Yl extends kl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2143335405}}e.IfcFeatureElementAddition=Yl;class Xl extends kl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1287392070}}e.IfcFeatureElementSubtraction=Xl;class Kl extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3907093117}}e.IfcFlowControllerType=Kl;class Zl extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3198132628}}e.IfcFlowFittingType=Zl,e.IfcFlowMeterType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3815607619}};class Ql extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1482959167}}e.IfcFlowMovingDeviceType=Ql;class Jl extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1834744321}}e.IfcFlowSegmentType=Jl;class $l extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=1339347760}}e.IfcFlowStorageDeviceType=$l;class er extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2297155007}}e.IfcFlowTerminalType=er;class tr extends Hl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=3009222698}}e.IfcFlowTreatmentDeviceType=tr,e.IfcFootingType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1893162501}};class nr extends Bl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=263784265}}e.IfcFurnishingElement=nr,e.IfcFurniture=class extends nr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1509553395}},e.IfcGeographicElement=class extends Bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3493046030}};class sr extends Bl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=4230923436}}e.IfcGeotechnicalElement=sr,e.IfcGeotechnicalStratum=class extends sr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1594536857}},e.IfcGradientCurve=class extends xl{constructor(e,t,n,s,i){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.BaseCurve=s,this.EndPoint=i,this.type=2898700619}};class ir extends ja{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2706460486}}e.IfcGroup=ir,e.IfcHeatExchangerType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1251058090}},e.IfcHumidifierType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1806887404}},e.IfcImpactProtectionDevice=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2568555532}},e.IfcImpactProtectionDeviceType=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3948183225}},e.IfcIndexedPolyCurve=class extends Ol{constructor(e,t,n,s){super(e),this.Points=t,this.Segments=n,this.SelfIntersect=s,this.type=2571569899}},e.IfcInterceptorType=class extends tr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3946677679}},e.IfcIntersectionCurve=class extends Tl{constructor(e,t,n,s){super(e,t,n,s),this.Curve3D=t,this.AssociatedGeometry=n,this.MasterRepresentation=s,this.type=3113134337}},e.IfcInventory=class extends ir{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.Jurisdiction=r,this.ResponsiblePersons=o,this.LastUpdateDate=c,this.CurrentValue=u,this.OriginalValue=p,this.type=2391368822}},e.IfcJunctionBoxType=class extends Zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4288270099}},e.IfcKerbType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.Mountable=u,this.type=679976338}},e.IfcLaborResource=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=3827777499}},e.IfcLampType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1051575348}},e.IfcLightFixtureType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1161773419}};class ar extends Ka{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=2176059722}}e.IfcLinearElement=ar,e.IfcLiquidTerminalType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1770583370}},e.IfcMarineFacility=class extends zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.PredefinedType=u,this.type=525669439}},e.IfcMarinePart=class extends Wl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.UsageType=u,this.PredefinedType=p,this.type=976884017}},e.IfcMechanicalFastener=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.NominalDiameter=c,this.NominalLength=u,this.PredefinedType=p,this.type=377706215}},e.IfcMechanicalFastenerType=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.NominalDiameter=p,this.NominalLength=h,this.type=2108223431}},e.IfcMedicalDeviceType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1114901282}},e.IfcMemberType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3181161470}},e.IfcMobileTelecommunicationsApplianceType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1950438474}},e.IfcMooringDeviceType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=710110818}},e.IfcMotorConnectionType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=977012517}},e.IfcNavigationElementType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=506776471}},e.IfcOccupant=class extends Dl{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheActor=l,this.PredefinedType=r,this.type=4143007308}},e.IfcOpeningElement=class extends Xl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3588315303}},e.IfcOutletType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2837617999}},e.IfcPavementType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=514975943}},e.IfcPerformanceHistory=class extends ql{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LifeCyclePhase=r,this.PredefinedType=o,this.type=2382730787}},e.IfcPermeableCoveringProperties=class extends Ya{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.OperationType=a,this.PanelPosition=l,this.FrameDepth=r,this.FrameThickness=o,this.ShapeAspectStyle=c,this.type=3566463478}},e.IfcPermit=class extends ql{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.Status=o,this.LongDescription=c,this.type=3327091369}},e.IfcPileType=class extends _l{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1158309216}},e.IfcPipeFittingType=class extends Zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=804291784}},e.IfcPipeSegmentType=class extends Jl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4231323485}},e.IfcPlateType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4017108033}},e.IfcPolygonalFaceSet=class extends El{constructor(e,t,n,s,i){super(e,t,n),this.Coordinates=t,this.Closed=n,this.Faces=s,this.PnIndex=i,this.type=2839578677}},e.IfcPolyline=class extends Ol{constructor(e,t){super(e),this.Points=t,this.type=3724593414}};class lr extends Ka{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=3740093272}}e.IfcPort=lr;class rr extends Ka{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=1946335990}}e.IfcPositioningElement=rr,e.IfcProcedure=class extends Xa{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.PredefinedType=o,this.type=2744685151}},e.IfcProjectOrder=class extends ql{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.Status=o,this.LongDescription=c,this.type=2904328755}},e.IfcProjectionElement=class extends Yl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3651124850}},e.IfcProtectiveDeviceType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1842657554}},e.IfcPumpType=class extends Ql{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2250791053}},e.IfcRailType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1763565496}},e.IfcRailingType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2893384427}},e.IfcRailway=class extends zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.PredefinedType=u,this.type=3992365140}},e.IfcRailwayPart=class extends Wl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.UsageType=u,this.PredefinedType=p,this.type=1891881377}},e.IfcRampFlightType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2324767716}},e.IfcRampType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1469900589}},e.IfcRationalBSplineSurfaceWithKnots=class extends Nl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c,u,p,h),this.UDegree=t,this.VDegree=n,this.ControlPointsList=s,this.SurfaceForm=i,this.UClosed=a,this.VClosed=l,this.SelfIntersect=r,this.UMultiplicities=o,this.VMultiplicities=c,this.UKnots=u,this.VKnots=p,this.KnotSpec=h,this.WeightsData=d,this.type=683857671}},e.IfcReferent=class extends rr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.type=4021432810}};class or extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.type=3027567501}}e.IfcReinforcingElement=or;class cr extends Fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=964333572}}e.IfcReinforcingElementType=cr,e.IfcReinforcingMesh=class extends or{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.MeshLength=u,this.MeshWidth=p,this.LongitudinalBarNominalDiameter=h,this.TransverseBarNominalDiameter=d,this.LongitudinalBarCrossSectionArea=f,this.TransverseBarCrossSectionArea=I,this.LongitudinalBarSpacing=m,this.TransverseBarSpacing=y,this.PredefinedType=v,this.type=2320036040}},e.IfcReinforcingMeshType=class extends cr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y,v,w,T){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.MeshLength=p,this.MeshWidth=h,this.LongitudinalBarNominalDiameter=d,this.TransverseBarNominalDiameter=f,this.LongitudinalBarCrossSectionArea=I,this.TransverseBarCrossSectionArea=m,this.LongitudinalBarSpacing=y,this.TransverseBarSpacing=v,this.BendingShapeCode=w,this.BendingParameters=T,this.type=2310774935}},e.IfcRelAdheresToElement=class extends sl{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingElement=a,this.RelatedSurfaceFeatures=l,this.type=3818125796}},e.IfcRelAggregates=class extends sl{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.RelatingObject=a,this.RelatedObjects=l,this.type=160246688}},e.IfcRoad=class extends zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.PredefinedType=u,this.type=146592293}},e.IfcRoadPart=class extends Wl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.UsageType=u,this.PredefinedType=p,this.type=550521510}},e.IfcRoofType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2781568857}},e.IfcSanitaryTerminalType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1768891740}},e.IfcSeamCurve=class extends Tl{constructor(e,t,n,s){super(e,t,n,s),this.Curve3D=t,this.AssociatedGeometry=n,this.MasterRepresentation=s,this.type=2157484638}},e.IfcSecondOrderPolynomialSpiral=class extends fl{constructor(e,t,n,s,i){super(e,t),this.Position=t,this.QuadraticTerm=n,this.LinearTerm=s,this.ConstantTerm=i,this.type=3649235739}},e.IfcSegmentedReferenceCurve=class extends xl{constructor(e,t,n,s,i){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.BaseCurve=s,this.EndPoint=i,this.type=544395925}},e.IfcSeventhOrderPolynomialSpiral=class extends fl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t),this.Position=t,this.SepticTerm=n,this.SexticTerm=s,this.QuinticTerm=i,this.QuarticTerm=a,this.CubicTerm=l,this.QuadraticTerm=r,this.LinearTerm=o,this.ConstantTerm=c,this.type=1027922057}},e.IfcShadingDeviceType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4074543187}},e.IfcSign=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=33720170}},e.IfcSignType=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3599934289}},e.IfcSignalType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1894708472}},e.IfcSineSpiral=class extends fl{constructor(e,t,n,s,i){super(e,t),this.Position=t,this.SineTerm=n,this.LinearTerm=s,this.ConstantTerm=i,this.type=42703149}},e.IfcSite=class extends hl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.RefLatitude=u,this.RefLongitude=p,this.RefElevation=h,this.LandTitleNumber=d,this.SiteAddress=f,this.type=4097777520}},e.IfcSlabType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2533589738}},e.IfcSolarDeviceType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1072016465}},e.IfcSpace=class extends hl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.PredefinedType=u,this.ElevationWithFlooring=p,this.type=3856911033}},e.IfcSpaceHeaterType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1305183839}},e.IfcSpaceType=class extends dl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.LongName=p,this.type=3812236995}},e.IfcStackTerminalType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3112655638}},e.IfcStairFlightType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1039846685}},e.IfcStairType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=338393293}};class ur extends Il{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.type=682877961}}e.IfcStructuralAction=ur;class pr extends ml{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.type=1179482911}}e.IfcStructuralConnection=pr;class hr extends ur{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.ProjectedOrTrue=p,this.PredefinedType=h,this.type=1004757350}}e.IfcStructuralCurveAction=hr,e.IfcStructuralCurveConnection=class extends pr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.AxisDirection=c,this.type=4243806635}};class dr extends yl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Axis=c,this.type=214636428}}e.IfcStructuralCurveMember=dr,e.IfcStructuralCurveMemberVarying=class extends dr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.Axis=c,this.type=2445595289}},e.IfcStructuralCurveReaction=class extends vl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.PredefinedType=u,this.type=2757150158}},e.IfcStructuralLinearAction=class extends hr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p,h),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.ProjectedOrTrue=p,this.PredefinedType=h,this.type=1807405624}};class fr extends ir{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.ActionType=r,this.ActionSource=o,this.Coefficient=c,this.Purpose=u,this.type=1252848954}}e.IfcStructuralLoadGroup=fr,e.IfcStructuralPointAction=class extends ur{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.type=2082059205}},e.IfcStructuralPointConnection=class extends pr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.ConditionCoordinateSystem=c,this.type=734778138}},e.IfcStructuralPointReaction=class extends vl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.type=1235345126}},e.IfcStructuralResultGroup=class extends ir{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.TheoryType=l,this.ResultForLoadGroup=r,this.IsLinear=o,this.type=2986769608}};class Ir extends ur{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.ProjectedOrTrue=p,this.PredefinedType=h,this.type=3657597509}}e.IfcStructuralSurfaceAction=Ir,e.IfcStructuralSurfaceConnection=class extends pr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedCondition=o,this.type=1975003073}},e.IfcSubContractResource=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=148013059}},e.IfcSurfaceFeature=class extends kl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3101698114}},e.IfcSwitchingDeviceType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2315554128}};class mr extends ir{constructor(e,t,n,s,i,a){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.type=2254336722}}e.IfcSystem=mr,e.IfcSystemFurnitureElement=class extends nr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=413509423}},e.IfcTankType=class extends $l{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=5716631}},e.IfcTendon=class extends or{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m,y){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.PredefinedType=u,this.NominalDiameter=p,this.CrossSectionArea=h,this.TensionForce=d,this.PreStress=f,this.FrictionCoefficient=I,this.AnchorageSlip=m,this.MinCurvatureRadius=y,this.type=3824725483}},e.IfcTendonAnchor=class extends or{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.PredefinedType=u,this.type=2347447852}},e.IfcTendonAnchorType=class extends cr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3081323446}},e.IfcTendonConduit=class extends or{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.PredefinedType=u,this.type=3663046924}},e.IfcTendonConduitType=class extends cr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2281632017}},e.IfcTendonType=class extends cr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.NominalDiameter=p,this.CrossSectionArea=h,this.SheathDiameter=d,this.type=2415094496}},e.IfcTrackElementType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=618700268}},e.IfcTransformerType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1692211062}},e.IfcTransportElementType=class extends gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2097647324}};class yr extends Bl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1953115116}}e.IfcTransportationDevice=yr,e.IfcTrimmedCurve=class extends Ol{constructor(e,t,n,s,i,a){super(e),this.BasisCurve=t,this.Trim1=n,this.Trim2=s,this.SenseAgreement=i,this.MasterRepresentation=a,this.type=3593883385}},e.IfcTubeBundleType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1600972822}},e.IfcUnitaryEquipmentType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1911125066}},e.IfcValveType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=728799441}},e.IfcVehicle=class extends yr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=840318589}},e.IfcVibrationDamper=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1530820697}},e.IfcVibrationDamperType=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3956297820}},e.IfcVibrationIsolator=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2391383451}},e.IfcVibrationIsolatorType=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3313531582}},e.IfcVirtualElement=class extends Bl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2769231204}},e.IfcVoidingFeature=class extends Xl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=926996030}},e.IfcWallType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1898987631}},e.IfcWasteTerminalType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1133259667}},e.IfcWindowType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.PartitioningType=p,this.ParameterTakesPrecedence=h,this.UserDefinedPartitioningType=d,this.type=4009809668}},e.IfcWorkCalendar=class extends ql{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.WorkingTimes=r,this.ExceptionTimes=o,this.PredefinedType=c,this.type=4088093105}};class vr extends ql{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.type=1028945134}}e.IfcWorkControl=vr,e.IfcWorkPlan=class extends vr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.PredefinedType=f,this.type=4218914973}},e.IfcWorkSchedule=class extends vr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c,u,p,h,d),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.CreationDate=r,this.Creators=o,this.Purpose=c,this.Duration=u,this.TotalFloat=p,this.StartTime=h,this.FinishTime=d,this.PredefinedType=f,this.type=3342526732}},e.IfcZone=class extends mr{constructor(e,t,n,s,i,a,l){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.type=1033361043}},e.IfcActionRequest=class extends ql{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.PredefinedType=r,this.Status=o,this.LongDescription=c,this.type=3821786052}},e.IfcAirTerminalBoxType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1411407467}},e.IfcAirTerminalType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3352864051}},e.IfcAirToAirHeatRecoveryType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1871374353}},e.IfcAlignmentCant=class extends ar{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.RailHeadDistance=o,this.type=4266260250}},e.IfcAlignmentHorizontal=class extends ar{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=1545765605}},e.IfcAlignmentSegment=class extends ar{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.DesignParameters=o,this.type=317615605}},e.IfcAlignmentVertical=class extends ar{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=1662888072}},e.IfcAsset=class extends ir{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.OriginalValue=r,this.CurrentValue=o,this.TotalReplacementCost=c,this.Owner=u,this.User=p,this.ResponsiblePerson=h,this.IncorporationDate=d,this.DepreciatedValue=f,this.type=3460190687}},e.IfcAudioVisualApplianceType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1532957894}};class wr extends Ol{constructor(e,t,n,s,i,a){super(e),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.type=1967976161}}e.IfcBSplineCurve=wr;class Tr extends wr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.KnotMultiplicities=l,this.Knots=r,this.KnotSpec=o,this.type=2461110595}}e.IfcBSplineCurveWithKnots=Tr,e.IfcBeamType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=819618141}},e.IfcBearingType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3649138523}},e.IfcBoilerType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=231477066}};class Er extends Cl{constructor(e,t,n){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.type=1136057603}}e.IfcBoundaryCurve=Er,e.IfcBridge=class extends zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.PredefinedType=u,this.type=644574406}},e.IfcBridgePart=class extends Wl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.UsageType=u,this.PredefinedType=p,this.type=963979645}},e.IfcBuilding=class extends zl{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.CompositionType=c,this.ElevationOfRefHeight=u,this.ElevationOfTerrain=p,this.BuildingAddress=h,this.type=4031249490}},e.IfcBuildingElementPart=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2979338954}},e.IfcBuildingElementPartType=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=39481116}},e.IfcBuildingElementProxyType=class extends Al{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1909888760}},e.IfcBuildingSystem=class extends mr{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.LongName=r,this.type=1177604601}};class gr extends Bl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1876633798}}e.IfcBuiltElement=gr,e.IfcBuiltSystem=class extends mr{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.LongName=r,this.type=3862327254}},e.IfcBurnerType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2188180465}},e.IfcCableCarrierFittingType=class extends Zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=395041908}},e.IfcCableCarrierSegmentType=class extends Jl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3293546465}},e.IfcCableFittingType=class extends Zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2674252688}},e.IfcCableSegmentType=class extends Jl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1285652485}},e.IfcCaissonFoundationType=class extends _l{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3203706013}},e.IfcChillerType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2951183804}},e.IfcChimney=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3296154744}},e.IfcCircle=class extends Ll{constructor(e,t,n){super(e,t),this.Position=t,this.Radius=n,this.type=2611217952}},e.IfcCivilElement=class extends Bl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1677625105}},e.IfcCoilType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2301859152}},e.IfcColumn=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=843113511}},e.IfcCommunicationsApplianceType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=400855858}},e.IfcCompressorType=class extends Ql{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3850581409}},e.IfcCondenserType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2816379211}},e.IfcConstructionEquipmentResource=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=3898045240}},e.IfcConstructionMaterialResource=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=1060000209}},e.IfcConstructionProductResource=class extends Pl{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.Identification=l,this.LongDescription=r,this.Usage=o,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=p,this.type=488727124}},e.IfcConveyorSegmentType=class extends Jl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2940368186}},e.IfcCooledBeamType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=335055490}},e.IfcCoolingTowerType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2954562838}},e.IfcCourse=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1502416096}},e.IfcCovering=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1973544240}},e.IfcCurtainWall=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3495092785}},e.IfcDamperType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3961806047}};class Rr extends gr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3426335179}}e.IfcDeepFoundation=Rr,e.IfcDiscreteAccessory=class extends Ul{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1335981549}},e.IfcDiscreteAccessoryType=class extends Fl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2635815018}},e.IfcDistributionBoardType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=479945903}},e.IfcDistributionChamberElementType=class extends Hl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1599208980}};class Dr extends Ml{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.type=2063403501}}e.IfcDistributionControlElementType=Dr;class Sr extends Bl{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1945004755}}e.IfcDistributionElement=Sr;class br extends Sr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3040386961}}e.IfcDistributionFlowElement=br,e.IfcDistributionPort=class extends lr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.FlowDirection=o,this.PredefinedType=c,this.SystemType=u,this.type=3041715199}};class Nr extends mr{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.PredefinedType=r,this.type=3205830791}}e.IfcDistributionSystem=Nr,e.IfcDoor=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OverallHeight=c,this.OverallWidth=u,this.PredefinedType=p,this.OperationType=h,this.UserDefinedOperationType=d,this.type=395920057}},e.IfcDuctFittingType=class extends Zl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=869906466}},e.IfcDuctSegmentType=class extends Jl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3760055223}},e.IfcDuctSilencerType=class extends tr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2030761528}},e.IfcEarthworksCut=class extends Xl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3071239417}};class Or extends gr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1077100507}}e.IfcEarthworksElement=Or,e.IfcEarthworksFill=class extends Or{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3376911765}},e.IfcElectricApplianceType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=663422040}},e.IfcElectricDistributionBoardType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2417008758}},e.IfcElectricFlowStorageDeviceType=class extends $l{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3277789161}},e.IfcElectricFlowTreatmentDeviceType=class extends tr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2142170206}},e.IfcElectricGeneratorType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1534661035}},e.IfcElectricMotorType=class extends Gl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1217240411}},e.IfcElectricTimeControlType=class extends Kl{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=712377611}};class Ar extends br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1658829314}}e.IfcEnergyConversionDevice=Ar,e.IfcEngine=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2814081492}},e.IfcEvaporativeCooler=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3747195512}},e.IfcEvaporator=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=484807127}},e.IfcExternalSpatialElement=class extends Vl{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.LongName=o,this.PredefinedType=c,this.type=1209101575}},e.IfcFanType=class extends Ql{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=346874300}},e.IfcFilterType=class extends tr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1810631287}},e.IfcFireSuppressionTerminalType=class extends er{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4222183408}};class xr extends br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2058353004}}e.IfcFlowController=xr;class Cr extends br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=4278956645}}e.IfcFlowFitting=Cr,e.IfcFlowInstrumentType=class extends Dr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=4037862832}},e.IfcFlowMeter=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2188021234}};class Lr extends br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3132237377}}e.IfcFlowMovingDevice=Lr;class Pr extends br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=987401354}}e.IfcFlowSegment=Pr;class qr extends br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=707683696}}e.IfcFlowStorageDevice=qr;class _r extends br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2223149337}}e.IfcFlowTerminal=_r;class Mr extends br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3508470533}}e.IfcFlowTreatmentDevice=Mr,e.IfcFooting=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=900683007}};class Hr extends sr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2713699986}}e.IfcGeotechnicalAssembly=Hr,e.IfcGrid=class extends rr{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.UAxes=o,this.VAxes=c,this.WAxes=u,this.PredefinedType=p,this.type=3009204131}},e.IfcHeatExchanger=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3319311131}},e.IfcHumidifier=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2068733104}},e.IfcInterceptor=class extends Mr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4175244083}},e.IfcJunctionBox=class extends Cr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2176052936}},e.IfcKerb=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.Mountable=c,this.type=2696325953}},e.IfcLamp=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=76236018}},e.IfcLightFixture=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=629592764}};class Br extends rr{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.type=1154579445}}e.IfcLinearPositioningElement=Br,e.IfcLiquidTerminal=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1638804497}},e.IfcMedicalDevice=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1437502449}},e.IfcMember=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1073191201}},e.IfcMobileTelecommunicationsAppliance=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2078563270}},e.IfcMooringDevice=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=234836483}},e.IfcMotorConnection=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2474470126}},e.IfcNavigationElement=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2182337498}},e.IfcOuterBoundaryCurve=class extends Er{constructor(e,t,n){super(e,t,n),this.Segments=t,this.SelfIntersect=n,this.type=144952367}},e.IfcOutlet=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3694346114}},e.IfcPavement=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1383356374}},e.IfcPile=class extends Rr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.ConstructionType=u,this.type=1687234759}},e.IfcPipeFitting=class extends Cr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=310824031}},e.IfcPipeSegment=class extends Pr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3612865200}},e.IfcPlate=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3171933400}},e.IfcProtectiveDevice=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=738039164}},e.IfcProtectiveDeviceTrippingUnitType=class extends Dr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=655969474}},e.IfcPump=class extends Lr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=90941305}},e.IfcRail=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3290496277}},e.IfcRailing=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2262370178}},e.IfcRamp=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3024970846}},e.IfcRampFlight=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3283111854}},e.IfcRationalBSplineCurveWithKnots=class extends Tr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.Degree=t,this.ControlPointsList=n,this.CurveForm=s,this.ClosedCurve=i,this.SelfIntersect=a,this.KnotMultiplicities=l,this.Knots=r,this.KnotSpec=o,this.WeightsData=c,this.type=1232101972}},e.IfcReinforcedSoil=class extends Or{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3798194928}},e.IfcReinforcingBar=class extends or{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.SteelGrade=c,this.NominalDiameter=u,this.CrossSectionArea=p,this.BarLength=h,this.PredefinedType=d,this.BarSurface=f,this.type=979691226}},e.IfcReinforcingBarType=class extends cr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I,m){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.NominalDiameter=p,this.CrossSectionArea=h,this.BarLength=d,this.BarSurface=f,this.BendingShapeCode=I,this.BendingParameters=m,this.type=2572171363}},e.IfcRoof=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2016517767}},e.IfcSanitaryTerminal=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3053780830}},e.IfcSensorType=class extends Dr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=1783015770}},e.IfcShadingDevice=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1329646415}},e.IfcSignal=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=991950508}},e.IfcSlab=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1529196076}},e.IfcSolarDevice=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3420628829}},e.IfcSpaceHeater=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1999602285}},e.IfcStackTerminal=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1404847402}},e.IfcStair=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=331165859}},e.IfcStairFlight=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.NumberOfRisers=c,this.NumberOfTreads=u,this.RiserHeight=p,this.TreadLength=h,this.PredefinedType=d,this.type=4252922144}},e.IfcStructuralAnalysisModel=class extends mr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.OrientationOf2DPlane=r,this.LoadedBy=o,this.HasResults=c,this.SharedPlacement=u,this.type=2515109513}},e.IfcStructuralLoadCase=class extends fr{constructor(e,t,n,s,i,a,l,r,o,c,u,p){super(e,t,n,s,i,a,l,r,o,c,u),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.PredefinedType=l,this.ActionType=r,this.ActionSource=o,this.Coefficient=c,this.Purpose=u,this.SelfWeightCoefficients=p,this.type=385403989}},e.IfcStructuralPlanarAction=class extends Ir{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h){super(e,t,n,s,i,a,l,r,o,c,u,p,h),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.AppliedLoad=o,this.GlobalOrLocal=c,this.DestabilizingLoad=u,this.ProjectedOrTrue=p,this.PredefinedType=h,this.type=1621171031}},e.IfcSwitchingDevice=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1162798199}},e.IfcTank=class extends qr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=812556717}},e.IfcTrackElement=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3425753595}},e.IfcTransformer=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3825984169}},e.IfcTransportElement=class extends yr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1620046519}},e.IfcTubeBundle=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3026737570}},e.IfcUnitaryControlElementType=class extends Dr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3179687236}},e.IfcUnitaryEquipment=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4292641817}},e.IfcValve=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4207607924}};class Ur extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2391406946}}e.IfcWall=Ur,e.IfcWallStandardCase=class extends Ur{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3512223829}},e.IfcWasteTerminal=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4237592921}},e.IfcWindow=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.OverallHeight=c,this.OverallWidth=u,this.PredefinedType=p,this.PartitioningType=h,this.UserDefinedPartitioningType=d,this.type=3304561284}},e.IfcActuatorType=class extends Dr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=2874132201}},e.IfcAirTerminal=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1634111441}},e.IfcAirTerminalBox=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=177149247}},e.IfcAirToAirHeatRecovery=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2056796094}},e.IfcAlarmType=class extends Dr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=3001207471}},e.IfcAlignment=class extends Br{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.PredefinedType=o,this.type=325726236}},e.IfcAudioVisualAppliance=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=277319702}},e.IfcBeam=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=753842376}},e.IfcBearing=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4196446775}},e.IfcBoiler=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=32344328}},e.IfcBorehole=class extends Hr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=3314249567}},e.IfcBuildingElementProxy=class extends gr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1095909175}},e.IfcBurner=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2938176219}},e.IfcCableCarrierFitting=class extends Cr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=635142910}},e.IfcCableCarrierSegment=class extends Pr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3758799889}},e.IfcCableFitting=class extends Cr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1051757585}},e.IfcCableSegment=class extends Pr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4217484030}},e.IfcCaissonFoundation=class extends Rr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3999819293}},e.IfcChiller=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3902619387}},e.IfcCoil=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=639361253}},e.IfcCommunicationsAppliance=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3221913625}},e.IfcCompressor=class extends Lr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3571504051}},e.IfcCondenser=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2272882330}},e.IfcControllerType=class extends Dr{constructor(e,t,n,s,i,a,l,r,o,c,u){super(e,t,n,s,i,a,l,r,o,c),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ApplicableOccurrence=a,this.HasPropertySets=l,this.RepresentationMaps=r,this.Tag=o,this.ElementType=c,this.PredefinedType=u,this.type=578613899}},e.IfcConveyorSegment=class extends Pr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3460952963}},e.IfcCooledBeam=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4136498852}},e.IfcCoolingTower=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3640358203}},e.IfcDamper=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4074379575}},e.IfcDistributionBoard=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3693000487}},e.IfcDistributionChamberElement=class extends br{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1052013943}},e.IfcDistributionCircuit=class extends Nr{constructor(e,t,n,s,i,a,l,r){super(e,t,n,s,i,a,l,r),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.LongName=l,this.PredefinedType=r,this.type=562808652}};class Fr extends Sr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1062813311}}e.IfcDistributionControlElement=Fr,e.IfcDuctFitting=class extends Cr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=342316401}},e.IfcDuctSegment=class extends Pr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3518393246}},e.IfcDuctSilencer=class extends Mr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1360408905}},e.IfcElectricAppliance=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1904799276}},e.IfcElectricDistributionBoard=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=862014818}},e.IfcElectricFlowStorageDevice=class extends qr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3310460725}},e.IfcElectricFlowTreatmentDevice=class extends Mr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=24726584}},e.IfcElectricGenerator=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=264262732}},e.IfcElectricMotor=class extends Ar{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=402227799}},e.IfcElectricTimeControl=class extends xr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1003880860}},e.IfcFan=class extends Lr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3415622556}},e.IfcFilter=class extends Mr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=819412036}},e.IfcFireSuppressionTerminal=class extends _r{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=1426591983}},e.IfcFlowInstrument=class extends Fr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=182646315}},e.IfcGeomodel=class extends Hr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=2680139844}},e.IfcGeoslice=class extends Hr{constructor(e,t,n,s,i,a,l,r,o){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.type=1971632696}},e.IfcProtectiveDeviceTrippingUnit=class extends Fr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=2295281155}},e.IfcSensor=class extends Fr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4086658281}},e.IfcUnitaryControlElement=class extends Fr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=630975310}},e.IfcActuator=class extends Fr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=4288193352}},e.IfcAlarm=class extends Fr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=3087945054}},e.IfcController=class extends Fr{constructor(e,t,n,s,i,a,l,r,o,c){super(e,t,n,s,i,a,l,r,o),this.GlobalId=t,this.OwnerHistory=n,this.Name=s,this.Description=i,this.ObjectType=a,this.ObjectPlacement=l,this.Representation=r,this.Tag=o,this.PredefinedType=c,this.type=25142252}}}(r||(r={}));var Hm,Bm,Um={aggregates:{name:po,relating:"RelatingObject",related:"RelatedObjects",key:"children"},spatial:{name:Cu,relating:"RelatingStructure",related:"RelatedElements",key:"children"},psets:{name:bu,relating:"RelatingPropertyDefinition",related:"RelatedObjects",key:"IsDefinedBy"},materials:{name:ju,relating:"RelatingMaterial",related:"RelatedObjects",key:"HasAssociations"},type:{name:Su,relating:"RelatingType",related:"RelatedObjects",key:"IsDefinedBy"}},Fm=class{constructor(e){this.api=e}getItemProperties(e,t,n=!1,s=!1){return v(this,null,(function*(){return this.api.GetLine(e,t,n,s)}))}getPropertySets(e,t=0,n=!1){return v(this,null,(function*(){return yield this.getRelatedProperties(e,t,Um.psets,n)}))}setPropertySets(e,t,n){return v(this,null,(function*(){return this.setItemProperties(e,t,n,Um.psets)}))}getTypeProperties(e,t=0,n=!1){return v(this,null,(function*(){return"IFC2X3"==this.api.GetModelSchema(e)?yield this.getRelatedProperties(e,t,Um.type,n):yield this.getRelatedProperties(e,t,(s=m({},Um.type),i={key:"IsTypedBy"},u(s,p(i))),n);var s,i}))}getMaterialsProperties(e,t=0,n=!1){return v(this,null,(function*(){return yield this.getRelatedProperties(e,t,Um.materials,n)}))}setMaterialsProperties(e,t,n){return v(this,null,(function*(){return this.setItemProperties(e,t,n,Um.materials)}))}getSpatialStructure(e,t=!1){return v(this,null,(function*(){const n=yield this.getSpatialTreeChunks(e),s=(yield this.api.GetLineIDsWithType(e,pp)).get(0),i=Fm.newIfcProject(s);return yield this.getSpatialNode(e,i,n,t),i}))}getRelatedProperties(e,t,n,s=!1){return v(this,null,(function*(){const i=[];let a=null;if(0!==t)a=yield this.api.GetLine(e,t,!1,!0)[n.key];else{let t=this.api.GetLineIDsWithType(e,n.name);a=[];for(let e=0;ee.value));null==e[s]?e[s]=i:e[s]=e[s].concat(i)}setItemProperties(e,t,n,s){return v(this,null,(function*(){Array.isArray(t)||(t=[t]),Array.isArray(n)||(n=[n]);let i=0;const a=[],l=[];for(const n of t){const t=yield this.api.GetLine(e,n,!1,!0);t[s.key]&&l.push(t)}if(l.length<1)return!1;const r=this.api.GetLineIDsWithType(e,s.name);for(let t=0;te.value===n.expressID))||t[s.key].push({type:5,value:n.expressID}),n[s.related].some((e=>e.value===t.expressID))||(n[s.related].push({type:5,value:t.expressID}),this.api.WriteLine(e,n));this.api.WriteLine(e,t)}return!0}))}};(Bm=Hm||(Hm={}))[Bm.LOG_LEVEL_DEBUG=0]="LOG_LEVEL_DEBUG",Bm[Bm.LOG_LEVEL_INFO=1]="LOG_LEVEL_INFO",Bm[Bm.LOG_LEVEL_WARN=2]="LOG_LEVEL_WARN",Bm[Bm.LOG_LEVEL_ERROR=3]="LOG_LEVEL_ERROR",Bm[Bm.LOG_LEVEL_OFF=4]="LOG_LEVEL_OFF";var Gm,Vm=class{static setLogLevel(e){this.logLevel=e}static log(e,...t){this.logLevel<=3&&console.log(e,...t)}static debug(e,...t){this.logLevel<=0&&console.trace("DEBUG: ",e,...t)}static info(e,...t){this.logLevel<=1&&console.info("INFO: ",e,...t)}static warn(e,...t){this.logLevel<=2&&console.warn("WARN: ",e,...t)}static error(e,...t){this.logLevel<=3&&console.error("ERROR: ",e,...t)}};if(Vm.logLevel=1,"undefined"!=typeof self&&self.crossOriginIsolated)try{Gm=w()}catch(e){Gm=T()}else Gm=T();var jm=class{constructor(){this.wasmModule=void 0,this.wasmPath="",this.isWasmPathAbsolute=!1,this.modelSchemaList=[],this.modelSchemaNameList=[],this.ifcGuidMap=new Map,this.deletedLines=new Map,this.properties=new Fm(this)}Init(e){return v(this,null,(function*(){if(Gm){let t=(e,t)=>e.endsWith(".wasm")?this.isWasmPathAbsolute?this.wasmPath+e:t+this.wasmPath+e:t+e;this.wasmModule=yield Gm({noInitialRun:!0,locateFile:e||t})}else Vm.error("Could not find wasm module at './web-ifc' from web-ifc-api.ts")}))}OpenModels(e,t){let n=m({MEMORY_LIMIT:2147483648},t);n.MEMORY_LIMIT=n.MEMORY_LIMIT/e.length;let s=[];for(let t of e)s.push(this.OpenModel(t,n));return s}CreateSettings(e){let t=m({OPTIMIZE_PROFILES:!1,COORDINATE_TO_ORIGIN:!1,CIRCLE_SEGMENTS:12,TAPE_SIZE:67108864,MEMORY_LIMIT:2147483648},e),n=["USE_FAST_BOOLS","CIRCLE_SEGMENTS_LOW","CIRCLE_SEGMENTS_MEDIUM","CIRCLE_SEGMENTS_HIGH"];for(let e in n)e in t&&Vm.info("Use of deprecated settings "+e+" detected");return t}LookupSchemaId(e){for(var t=0;t{let i=Math.min(e.byteLength-n,s),a=this.wasmModule.HEAPU8.subarray(t,t+i),l=e.subarray(n,n+i);return a.set(l),i}));this.deletedLines.set(s,new Set);var i=this.GetHeaderLine(s,Sm).arguments[0][0].value;return this.modelSchemaList[s]=this.LookupSchemaId(i),-1==this.modelSchemaList[s]?(Vm.error("Unsupported Schema:"+i),this.CloseModel(s),-1):(Vm.info("Parsing Model using "+i+" Schema"),s)}GetModelSchema(e){return this.modelSchemaNameList[e]}CreateModel(e,t){var n,s,i;let a=this.CreateSettings(t),l=this.wasmModule.CreateModel(a);if(this.modelSchemaList[l]=this.LookupSchemaId(e.schema),this.modelSchemaNameList[l]=e.schema,-1==this.modelSchemaList[l])return Vm.error("Unsupported Schema:"+e.schema),this.CloseModel(l),-1;this.deletedLines.set(l,new Set);const r=e.name||"web-ifc-model-"+l+".ifc",o=(new Date).toISOString().slice(0,19),c=(null==(n=e.description)?void 0:n.map((e=>({type:1,value:e}))))||[{type:1,value:"ViewDefinition [CoordinationView]"}],u=(null==(s=e.authors)?void 0:s.map((e=>({type:1,value:e}))))||[null],p=(null==(i=e.organizations)?void 0:i.map((e=>({type:1,value:e}))))||[null],h=e.authorization?{type:1,value:e.authorization}:null;return this.wasmModule.WriteHeaderLine(l,Rm,[c,{type:1,value:"2;1"}]),this.wasmModule.WriteHeaderLine(l,Dm,[{type:1,value:r},{type:1,value:o},u,p,{type:1,value:"ifcjs/web-ifc-api"},{type:1,value:"ifcjs/web-ifc-api"},h]),this.wasmModule.WriteHeaderLine(l,Sm,[[{type:1,value:e.schema}]]),l}SaveModel(e){let t=this.wasmModule.GetModelSize(e),n=new Uint8Array(t+512),s=0;this.wasmModule.SaveModel(e,((e,t)=>{let i=this.wasmModule.HEAPU8.subarray(e,e+t);s=t,n.set(i,0)}));let i=new Uint8Array(s);return i.set(n.subarray(0,s),0),i}ExportFileAsIFC(e){return Vm.warn("ExportFileAsIFC is deprecated, use SaveModel instead"),this.SaveModel(e)}GetGeometry(e,t){return this.wasmModule.GetGeometry(e,t)}GetHeaderLine(e,t){return this.wasmModule.GetHeaderLine(e,t)}GetAllTypesOfModel(e){let t=[];const n=Object.keys(Om[this.modelSchemaList[e]]).map((e=>parseInt(e)));for(let s=0;s0&&t.push({typeID:n[s],typeName:this.wasmModule.GetNameFromTypeCode(n[s])});return t}GetLine(e,t,n=!1,s=!1){if(!this.wasmModule.ValidateExpressID(e,t))return;let i,a=this.GetRawLineData(e,t);try{i=Om[this.modelSchemaList[e]][a.type](a.ID,a.arguments)}catch(e){return void Vm.error("Invalid IFC Line:"+t)}n&&this.FlattenLine(e,i);let l=Am[this.modelSchemaList[e]][a.type];if(s&&null!=l)for(let s of l){s[3]?i[s[0]]=[]:i[s[0]]=null;let a=[s[1]];void 0!==xm[this.modelSchemaList[e]][s[1]]&&(a=a.concat(xm[this.modelSchemaList[e]][s[1]]));let l=this.wasmModule.GetInversePropertyForItem(e,t,a,s[2],s[3]);if(!s[3]&&l.size()>0)i[s[0]]=n?this.GetLine(e,l.get(0)):{type:5,value:l.get(0)};else for(let t=0;tparseInt(e)))}DeleteLine(e,t){this.wasmModule.RemoveLine(e,t),this.deletedLines.get(e).add(t)}WriteLine(e,t){if(-1!=t.expressID&&this.deletedLines.get(e).has(t.expressID))return void Vm.error("Cannot re-use deleted express ID");if(-1!=t.expressID&&this.GetLineType(e,t.expressID)!=t.type&&0!=this.GetLineType(e,t.expressID))return void Vm.error("Cannot change type of existing IFC Line");let n;for(n in t){const s=t[n];if(s&&void 0!==s.expressID)this.WriteLine(e,s),t[n]=new bm(s.expressID);else if(Array.isArray(s)&&s.length>0)for(let i=0;i{let s=t[n];if(s&&5===s.type)s.value&&(t[n]=this.GetLine(e,s.value,!0));else if(Array.isArray(s)&&s.length>0&&5===s[0].type)for(let i=0;i{"use strict";n.d(t,{$V:()=>i,EM:()=>u,L4:()=>r,Q_:()=>o,VQ:()=>p,dv:()=>s,ms:()=>a,wG:()=>c,xJ:()=>l});const s=0,i=1,a=2,l=2,r=1.25,o=1,c=32,u=65535,p=Math.pow(2,-24)},6204:(e,t,n)=>{"use strict";n.d(t,{r:()=>S});var s=n(8823),i=n(9531),a=n(3848),l=n(925),r=n(4942),o=n(7344),c=n(8408),u=n(4373),p=n(3824);const h=Symbol("skip tree generation"),d=new s.ZzF,f=new s.ZzF,I=new s.yGw,m=new r.o,y=new r.o,v=new s.Pa4,w=new s.Pa4,T=new s.Pa4,E=new s.Pa4,g=new s.Pa4,R=new s.ZzF,D=new c.P((()=>new o.h));class S{static serialize(e,t={}){if(t.isBufferGeometry)return console.warn("MeshBVH.serialize: The arguments for the function have changed. See documentation for new signature."),S.serialize(arguments[0],{cloneBuffers:void 0===arguments[2]||arguments[2]});t={cloneBuffers:!0,...t};const n=e.geometry,s=e._roots,i=n.getIndex();let a;return a=t.cloneBuffers?{roots:s.map((e=>e.slice())),index:i.array.slice()}:{roots:s,index:i.array},a}static deserialize(e,t,n={}){if("boolean"==typeof n)return console.warn("MeshBVH.deserialize: The arguments for the function have changed. See documentation for new signature."),S.deserialize(arguments[0],arguments[1],{setIndex:void 0===arguments[2]||arguments[2]});n={setIndex:!0,...n};const{index:i,roots:a}=e,l=new S(t,{...n,[h]:!0});if(l._roots=a,n.setIndex){const n=t.getIndex();if(null===n){const n=new s.TlE(e.index,1,!1);t.setIndex(n)}else n.array!==i&&(n.array.set(i),n.needsUpdate=!0)}return l}constructor(e,t={}){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((t=Object.assign({strategy:i.dv,maxDepth:40,maxLeafTris:10,verbose:!0,useSharedArrayBuffer:!1,setBoundingBox:!0,onProgress:null,[h]:!1},t)).useSharedArrayBuffer&&"undefined"==typeof SharedArrayBuffer)throw new Error("MeshBVH: SharedArrayBuffer is not available.");this._roots=null,t[h]||(this._roots=(0,a.v)(e,t),!e.boundingBox&&t.setBoundingBox&&(e.boundingBox=this.getBoundingBox(new s.ZzF))),this.geometry=e}refit(e=null){e&&Array.isArray(e)&&(e=new Set(e));const t=this.geometry,n=t.index.array,s=t.attributes.position;let a,l,r,o,c=0;const u=this._roots;for(let e=0,t=u.length;ep&&(p=l),rh&&(h=r),od&&(d=o)}return(o[t+0]!==i||o[t+1]!==a||o[t+2]!==c||o[t+3]!==p||o[t+4]!==h||o[t+5]!==d)&&(o[t+0]=i,o[t+1]=a,o[t+2]=c,o[t+3]=p,o[t+4]=h,o[t+5]=d,!0)}{const n=t+8,s=l[t+6],i=n+a,r=s+a;let u=c,h=!1,d=!1;e?u||(h=e.has(i),d=e.has(r),u=!h&&!d):(h=!0,d=!0);const f=u||d;let I=!1;(u||h)&&(I=p(n,a,u));let m=!1;f&&(m=p(s,a,u));const y=I||m;if(y)for(let e=0;e<3;e++){const i=n+e,a=s+e,l=o[i],r=o[i+3],c=o[a],u=o[a+3];o[t+e]=lu?r:u}return y}}}traverse(e,t=0){const n=this._roots[t],s=new Uint32Array(n),a=new Uint16Array(n);!function t(l,r=0){const o=2*l,c=a[o+15]===i.EM;if(c){const t=s[l+6],i=a[o+14];e(r,c,new Float32Array(n,4*l,6),t,i)}else{const a=l+i.wG/4,o=s[l+6],u=s[l+7];e(r,c,new Float32Array(n,4*l,6),u)||(t(a,r+1),t(o,r+1))}}(0)}raycast(e,t=s.Wl3){const n=this._roots,i=this.geometry,a=[],r=t.isMaterial,o=Array.isArray(t),c=i.groups,u=r?t.side:t;for(let s=0,r=n.length;s{const a=3*n;return e(t,a,a+1,a+2,s,i)}}e={boundsTraverseOrder:n,intersectsBounds:e,intersectsTriangle:t,intersectsRange:null},console.warn("MeshBVH: Shapecast function signature has changed and now takes an object of callbacks as a second argument. See docs for new signature.")}const i=D.getPrimitive();let{boundsTraverseOrder:a,intersectsBounds:r,intersectsRange:o,intersectsTriangle:c}=e;if(o&&c){const e=o;o=(t,n,a,l,r)=>!!e(t,n,a,l,r)||(0,p.TD)(t,n,s,c,a,l,i)}else o||(o=c?(e,t,n,a)=>(0,p.TD)(e,t,s,c,n,a,i):(e,t,n)=>n);let u=!1,h=0;for(const e of this._roots){if((0,l.RJ)(e),u=(0,l.aA)(0,s,r,o,a,h),(0,l.$D)(),u)break;h+=e.byteLength}return D.releasePrimitive(i),u}bvhcast(e,t,n){let{intersectsRanges:s,intersectsTriangles:i}=n;const a=this.geometry.index,l=this.geometry.attributes.position,r=e.geometry.index,o=e.geometry.attributes.position;I.copy(t).invert();const c=D.getPrimitive(),u=D.getPrimitive();if(i){function m(e,n,s,h,d,f,I,m){for(let y=s,v=s+h;yf.intersectsBox(e),intersectsRange:(t,n,i,a,l,r)=>(d.copy(r),d.applyMatrix4(I),e.shapecast({intersectsBounds:e=>d.intersectsBox(e),intersectsRange:(e,i,r,o,c)=>s(t,n,e,i,a,l,o,c)}))});return D.releasePrimitive(c),D.releasePrimitive(u),h}intersectsBox(e,t){return m.set(e.min,e.max,t),m.needsUpdate=!0,this.shapecast({intersectsBounds:e=>m.intersectsBox(e),intersectsTriangle:e=>m.intersectsTriangle(e)})}intersectsSphere(e){return this.shapecast({intersectsBounds:t=>e.intersectsBox(t),intersectsTriangle:t=>t.intersectsSphere(e)})}closestPointToGeometry(e,t,n={},s={},i=0,a=1/0){e.boundingBox||e.computeBoundingBox(),m.set(e.boundingBox.min,e.boundingBox.max,t),m.needsUpdate=!0;const l=this.geometry,r=l.attributes.position,o=l.index,c=e.attributes.position,u=e.index,h=D.getPrimitive(),d=D.getPrimitive();let f=w,v=T,R=null,S=null;s&&(R=E,S=g);let b=1/0,N=null,O=null;return I.copy(t).invert(),y.matrix.copy(I),this.shapecast({boundsTraverseOrder:e=>m.distanceToBox(e),intersectsBounds:(e,t,n)=>n{if(e.boundsTree)return e.boundsTree.shapecast({boundsTraverseOrder:e=>y.distanceToBox(e),intersectsBounds:(e,t,n)=>n{for(let l=3*e,I=3*(e+a);l(v.copy(e).clamp(t.min,t.max),v.distanceToSquared(e)),intersectsBounds:(e,t,n)=>n{t.closestPointToPoint(e,v);const s=e.distanceToSquared(v);return s{(0,u.YN)(0,new Float32Array(t),R),e.union(R)})),e}}},2622:(e,t,n)=>{"use strict";n.d(t,{i:()=>s});class s{constructor(){}}},3848:(e,t,n)=>{"use strict";n.d(t,{v:()=>h});var s=n(8823),i=n(2622),a=n(4373),l=n(9531);function r(e,t,n,s,i=null){let a=1/0,l=1/0,r=1/0,o=-1/0,c=-1/0,u=-1/0,p=1/0,h=1/0,d=1/0,f=-1/0,I=-1/0,m=-1/0;const y=null!==i;for(let s=6*t,i=6*(t+n);so&&(o=v),y&&tf&&(f=t);const w=e[s+2],T=e[s+3],E=w-T,g=w+T;Ec&&(c=g),y&&wI&&(I=w);const R=e[s+4],D=e[s+5],S=R-D,b=R+D;Su&&(u=b),y&&Rm&&(m=R)}s[0]=a,s[1]=l,s[2]=r,s[3]=o,s[4]=c,s[5]=u,y&&(i[0]=p,i[1]=h,i[2]=d,i[3]=f,i[4]=I,i[5]=m)}const o=32,c=(e,t)=>e.candidate-t.candidate,u=new Array(o).fill().map((()=>({count:0,bounds:new Float32Array(6),rightCacheBounds:new Float32Array(6),leftCacheBounds:new Float32Array(6),candidate:0}))),p=new Float32Array(6);function h(e,t){const n=function(e,t){function n(e){E&&E(e/g)}function h(t,s,d,E=null,g=0){if(!R&&g>=y&&(R=!0,v&&(console.warn(`MeshBVH: Max depth of ${y} reached when generating BVH. Consider increasing maxDepth.`),console.warn(e))),d<=w||g>=y)return n(s+d),t.offset=s,t.count=d,t;const D=function(e,t,n,s,i,r){let h=-1,d=0;if(r===l.dv)h=(0,a._x)(t),-1!==h&&(d=(t[h]+t[h+3])/2);else if(r===l.$V)h=(0,a._x)(e),-1!==h&&(d=function(e,t,n,s){let i=0;for(let a=t,l=t+n;a=l.candidate?(0,a.xT)(s,n,l.rightCacheBounds):((0,a.xT)(s,n,l.leftCacheBounds),l.count++)}}for(let n=0;n=o&&(i=o-1);const l=u[i];l.count++,(0,a.xT)(t,n,l.bounds)}const t=u[o-1];(0,a.js)(t.bounds,t.rightCacheBounds);for(let e=o-2;e>=0;e--){const t=u[e],n=u[e+1];(0,a.Lm)(t.bounds,n.rightCacheBounds,t.rightCacheBounds)}let c=0;for(let t=0;t=r;)l--;if(!(a65535?new Uint32Array(new i(4*n)):new Uint16Array(new i(2*n)),e.setIndex(new s.TlE(a,1));for(let e=0;em&&(m=i),c>m&&(m=c);const y=(m-u)/2,v=2*e;a[h+v+0]=u+y,a[h+v+1]=y+(Math.abs(u)+y)*l.VQ,ut[e+3]&&(t[e+3]=m)}}return a}(e,d),m=e.index.array,y=t.maxDepth,v=t.verbose,w=t.maxLeafTris,T=t.strategy,E=t.onProgress,g=e.index.count/3;let R=!1;const D=[],S=function(e){if(!e.groups||!e.groups.length)return[{offset:0,count:e.index.count/3}];const t=[],n=new Set;for(const t of e.groups)n.add(t.start),n.add(t.start+t.count);const s=Array.from(n.values()).sort(((e,t)=>e-t));for(let e=0;er&&(r=t);const n=e[s+2];no&&(o=n);const u=e[s+4];uc&&(c=u)}s[0]=i,s[1]=a,s[2]=l,s[3]=r,s[4]=o,s[5]=c}(I,e.offset,e.count,f),h(t,e.offset,e.count,f),D.push(t)}else for(let e of S){const t=new i.i;t.boundingData=new Float32Array(6),r(I,e.offset,e.count,t.boundingData,f),h(t,e.offset,e.count,f),D.push(t)}return D}(e,t);let h,d,f;const I=[],m=t.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;for(let e=0;eMath.pow(2,32))throw new Error("MeshBVH: Cannot store child pointer greater than 32 bits.");return d[n+6]=r/4,r=v(r,i),d[n+7]=a,r}}}},925:(e,t,n)=>{"use strict";n.d(t,{$D:()=>b,P6:()=>m,RJ:()=>S,aA:()=>y,gt:()=>v,sP:()=>I});var s=n(8823),i=n(9531),a=n(4942),l=n(7344),r=n(95),o=n(3824),c=n(4373),u=n(8408),p=n(5765);const h=new s.ZzF,d=new s.Pa4,f=["x","y","z"];function I(e,t,n,s,i){let a=2*e,l=g,o=R,c=D;if((0,p.ee)(a,o)){const l=(0,p.ew)(e,c),u=(0,p.ai)(a,o);(0,r.U$)(t,n,s,l,u,i)}else{const a=(0,p.lB)(e);w(a,l,s,d)&&I(a,t,n,s,i);const r=(0,p.J8)(e,c);w(r,l,s,d)&&I(r,t,n,s,i)}}function m(e,t,n,s){let i=2*e,a=g,l=R,o=D;if((0,p.ee)(i,l)){const a=(0,p.ew)(e,o),c=(0,p.ai)(i,l);return(0,r.rM)(t,n,s,a,c)}{const i=(0,p.ki)(e,o),l=f[i],r=s.direction[l]>=0;let c,u;r?(c=(0,p.lB)(e),u=(0,p.J8)(e,o)):(c=(0,p.J8)(e,o),u=(0,p.lB)(e));const h=w(c,a,s,d)?m(c,t,n,s):null;if(h){const e=h.point[l];if(r?e<=a[u+i]:e>=a[u+i+3])return h}const I=w(u,a,s,d)?m(u,t,n,s):null;return h&&I?h.distance<=I.distance?h:I:h||I||null}}const y=function(){let e,t;const n=[],a=new u.P((()=>new s.ZzF));return function(...s){e=a.getPrimitive(),t=a.getPrimitive(),n.push(e,t);const i=l(...s);a.releasePrimitive(e),a.releasePrimitive(t),n.pop(),n.pop();const r=n.length;return r>0&&(t=n[r-1],e=n[r-2]),i};function l(n,s,a,r,o=null,u=0,h=0){function d(e){let t=2*e,n=R,s=D;for(;!(0,p.ee)(t,n);)t=2*(e=(0,p.lB)(e));return(0,p.ew)(e,s)}function f(e){let t=2*e,n=R,s=D;for(;!(0,p.ee)(t,n);)t=2*(e=(0,p.J8)(e,s));return(0,p.ew)(e,s)+(0,p.ai)(t,n)}let I=2*n,m=g,y=R,v=D;if((0,p.ee)(I,y)){const t=(0,p.ew)(n,v),s=(0,p.ai)(I,y);return(0,c.YN)((0,p.V4)(n),m,e),r(t,s,!1,h,u+n,e)}{const I=(0,p.lB)(n),w=(0,p.J8)(n,v);let T,E,g,R,D=I,S=w;if(o&&(g=e,R=t,(0,c.YN)((0,p.V4)(D),m,g),(0,c.YN)((0,p.V4)(S),m,R),T=o(g),E=o(R),Er.intersectsBox(e),intersectsTriangle:e=>{e.a.applyMatrix4(d),e.b.applyMatrix4(d),e.c.applyMatrix4(d),e.needsUpdate=!0;for(let n=3*T,s=3*(E+T);n{"use strict";function s(e,t){return 65535===t[e+15]}function i(e,t){return t[e+6]}function a(e,t){return t[e+14]}function l(e){return e+8}function r(e,t){return t[e+6]}function o(e,t){return t[e+7]}function c(e){return e}n.d(t,{J8:()=>r,V4:()=>c,ai:()=>a,ee:()=>s,ew:()=>i,ki:()=>o,lB:()=>l})},7344:(e,t,n)=>{"use strict";n.d(t,{h:()=>r});var s=n(8823),i=n(6067),a=n(6075);function l(e){return Math.abs(e)<1e-15}class r extends s.CJI{constructor(...e){super(...e),this.isExtendedTriangle=!0,this.satAxes=new Array(4).fill().map((()=>new s.Pa4)),this.satBounds=new Array(4).fill().map((()=>new i.B)),this.points=[this.a,this.b,this.c],this.sphere=new s.aLr,this.plane=new s.JOQ,this.needsUpdate=!0}intersectsSphere(e){return(0,a.s_)(e,this)}update(){const e=this.a,t=this.b,n=this.c,s=this.points,i=this.satAxes,a=this.satBounds,l=i[0],r=a[0];this.getNormal(l),r.setFromPoints(l,s);const o=i[1],c=a[1];o.subVectors(e,t),c.setFromPoints(o,s);const u=i[2],p=a[2];u.subVectors(t,n),p.setFromPoints(u,s);const h=i[3],d=a[3];h.subVectors(n,e),d.setFromPoints(h,s),this.sphere.setFromPoints(this.points),this.plane.setFromNormalAndCoplanarPoint(l,e),this.needsUpdate=!1}}r.prototype.closestPointToSegment=function(){const e=new s.Pa4,t=new s.Pa4,n=new s.Zzh;return function(s,i=null,l=null){const{start:r,end:o}=s,c=this.points;let u,p=1/0;for(let r=0;r<3;r++){const o=(r+1)%3;n.start.copy(c[r]),n.end.copy(c[o]),(0,a.UX)(n,s,e,t),u=e.distanceToSquared(t),u1-1e-10){const e=this.satBounds,l=this.satAxes;n[0]=s.a,n[1]=s.b,n[2]=s.c;for(let t=0;t<4;t++){const s=e[t],i=l[t];if(a.setFromPoints(i,n),s.isSeparated(a))return!1}const u=s.satBounds,p=s.satAxes;t[0]=this.a,t[1]=this.b,t[2]=this.c;for(let e=0;e<4;e++){const n=u[e],s=p[e];if(a.setFromPoints(s,t),n.isSeparated(a))return!1}for(let e=0;e<4;e++){const s=l[e];for(let e=0;e<4;e++){const i=p[e];if(c.crossVectors(s,i),a.setFromPoints(c,t),o.setFromPoints(c,n),a.isSeparated(o))return!1}}return i&&(r||console.warn("ExtendedTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0."),i.start.set(0,0,0),i.end.set(0,0,0)),!0}{const e=this.points;let t=!1,n=0;for(let s=0;s<3;s++){const i=e[s],a=e[(s+1)%3];d.start.copy(i),d.end.copy(a),d.delta(u);const r=t?f.start:f.end,o=l(y.distanceToPoint(i));if(l(y.normal.dot(u))&&o){f.copy(d),n=2;break}if((y.intersectLine(d,r)||o)&&!l(r.distanceTo(a))){if(n++,t)break;t=!0}}if(1===n&&s.containsPoint(f.end))return i&&(i.start.copy(f.end),i.end.copy(f.end)),!0;if(2!==n)return!1;const a=s.points;let r=!1,o=0;for(let e=0;e<3;e++){const t=a[e],n=a[(e+1)%3];d.start.copy(t),d.end.copy(n),d.delta(p);const s=r?I.start:I.end,i=l(m.distanceToPoint(t));if(l(m.normal.dot(p))&&i){I.copy(d),o=2;break}if((m.intersectLine(d,s)||i)&&!l(s.distanceTo(n))){if(o++,r)break;r=!0}}if(1===o&&this.containsPoint(I.end))return i&&(i.start.copy(I.end),i.end.copy(I.end)),!0;if(2!==o)return!1;if(f.delta(u),I.delta(p),u.dot(p)<0){let e=I.start;I.start=I.end,I.end=e}const c=f.start.dot(u),v=f.end.dot(u),w=I.start.dot(u),T=I.end.dot(u);return(c===T||w===v||v0?i.start.copy(f.start):i.start.copy(I.start),h.subVectors(f.end,I.end),h.dot(u)<0?i.end.copy(f.end):i.end.copy(I.end)),!0)}}}(),r.prototype.distanceToPoint=function(){const e=new s.Pa4;return function(t){return this.closestPointToPoint(t,e),t.distanceTo(e)}}(),r.prototype.distanceToTriangle=function(){const e=new s.Pa4,t=new s.Pa4,n=["a","b","c"],i=new s.Zzh,l=new s.Zzh;return function(s,r=null,o=null){const c=r||o?i:null;if(this.intersectsTriangle(s,c))return(r||o)&&(r&&c.getCenter(r),o&&c.getCenter(o)),0;let u=1/0;for(let t=0;t<3;t++){let i;const a=n[t],l=s[a];this.closestPointToPoint(l,e),i=l.distanceToSquared(e),i{"use strict";n.d(t,{UX:()=>a,s_:()=>l});var s=n(8823);const i=function(){const e=new s.Pa4,t=new s.Pa4,n=new s.Pa4;return function(s,i,a){const l=s.start,r=e,o=i.start,c=t;n.subVectors(l,o),e.subVectors(s.end,s.start),t.subVectors(i.end,i.start);const u=n.dot(c),p=c.dot(r),h=c.dot(c),d=n.dot(r),f=r.dot(r)*h-p*p;let I,m;I=0!==f?(u*p-d*h)/f:0,m=(u+I*p)/h,a.x=I,a.y=m}}(),a=function(){const e=new s.FM8,t=new s.Pa4,n=new s.Pa4;return function(s,a,l,r){i(s,a,e);let o=e.x,c=e.y;if(o>=0&&o<=1&&c>=0&&c<=1)return s.at(o,l),void a.at(c,r);if(o>=0&&o<=1)return c<0?a.at(0,r):a.at(1,r),void s.closestPointToPoint(r,!0,l);if(c>=0&&c<=1)return o<0?s.at(0,l):s.at(1,l),void a.closestPointToPoint(l,!0,r);{let e,i;e=o<0?s.start:s.end,i=c<0?a.start:a.end;const u=t,p=n;return s.closestPointToPoint(i,!0,t),a.closestPointToPoint(e,!0,n),u.distanceToSquared(i)<=p.distanceToSquared(e)?(l.copy(u),void r.copy(i)):(l.copy(e),void r.copy(p))}}}(),l=function(){const e=new s.Pa4,t=new s.Pa4,n=new s.JOQ,i=new s.Zzh;return function(s,a){const{radius:l,center:r}=s,{a:o,b:c,c:u}=a;if(i.start=o,i.end=c,i.closestPointToPoint(r,!0,e).distanceTo(r)<=l)return!0;if(i.start=o,i.end=u,i.closestPointToPoint(r,!0,e).distanceTo(r)<=l)return!0;if(i.start=c,i.end=u,i.closestPointToPoint(r,!0,e).distanceTo(r)<=l)return!0;const p=a.getPlane(n);if(Math.abs(p.distanceToPoint(r))<=l){const e=p.projectPoint(r,t);if(a.containsPoint(e))return!0}return!1}}()},4942:(e,t,n)=>{"use strict";n.d(t,{o:()=>r});var s=n(8823),i=n(6067),a=n(7344),l=n(6075);class r{constructor(e,t,n){this.isOrientedBox=!0,this.min=new s.Pa4,this.max=new s.Pa4,this.matrix=new s.yGw,this.invMatrix=new s.yGw,this.points=new Array(8).fill().map((()=>new s.Pa4)),this.satAxes=new Array(3).fill().map((()=>new s.Pa4)),this.satBounds=new Array(3).fill().map((()=>new i.B)),this.alignedSatBounds=new Array(3).fill().map((()=>new i.B)),this.needsUpdate=!1,e&&this.min.copy(e),t&&this.max.copy(t),n&&this.matrix.copy(n)}set(e,t,n){this.min.copy(e),this.max.copy(t),this.matrix.copy(n),this.needsUpdate=!0}copy(e){this.min.copy(e.min),this.max.copy(e.max),this.matrix.copy(e.matrix),this.needsUpdate=!0}}r.prototype.update=function(){const e=this.matrix,t=this.min,n=this.max,s=this.points;for(let i=0;i<=1;i++)for(let a=0;a<=1;a++)for(let l=0;l<=1;l++){const r=s[1*i|2*a|4*l];r.x=i?n.x:t.x,r.y=a?n.y:t.y,r.z=l?n.z:t.z,r.applyMatrix4(e)}const i=this.satBounds,a=this.satAxes,l=s[0];for(let e=0;e<3;e++){const t=a[e],n=i[e],r=s[1<new s.Zzh)),n=new Array(12).fill().map((()=>new s.Zzh)),i=new s.Pa4,a=new s.Pa4;return function(s,r=0,o=null,c=null){if(this.needsUpdate&&this.update(),this.intersectsBox(s))return(o||c)&&(s.getCenter(a),this.closestPointToPoint(a,i),s.closestPointToPoint(i,a),o&&o.copy(i),c&&c.copy(a)),0;const u=r*r,p=s.min,h=s.max,d=this.points;let f=1/0;for(let e=0;e<8;e++){const t=d[e];a.copy(t).clamp(p,h);const n=t.distanceToSquared(a);if(n{"use strict";n.d(t,{B:()=>i});var s=n(8823);class i{constructor(){this.min=1/0,this.max=-1/0}setFromPointsField(e,t){let n=1/0,s=-1/0;for(let i=0,a=e.length;is?a:s}this.min=n,this.max=s}setFromPoints(e,t){let n=1/0,s=-1/0;for(let i=0,a=t.length;is?l:s}this.min=n,this.max=s}isSeparated(e){return this.min>e.max||e.min>this.max}}i.prototype.setFromBox=function(){const e=new s.Pa4;return function(t,n){const s=n.min,i=n.max;let a=1/0,l=-1/0;for(let n=0;n<=1;n++)for(let r=0;r<=1;r++)for(let o=0;o<=1;o++){e.x=s.x*n+i.x*(1-n),e.y=s.y*r+i.y*(1-r),e.z=s.z*o+i.z*(1-o);const c=t.dot(e);a=Math.min(c,a),l=Math.max(c,l)}this.min=a,this.max=l}}(),new i},4373:(e,t,n)=>{"use strict";function s(e,t,n){return n.min.x=t[e],n.min.y=t[e+1],n.min.z=t[e+2],n.max.x=t[e+3],n.max.y=t[e+4],n.max.z=t[e+5],n}function i(e){let t=-1,n=-1/0;for(let s=0;s<3;s++){const i=e[s+3]-e[s];i>n&&(n=i,t=s)}return t}function a(e,t){t.set(e)}function l(e,t,n){let s,i;for(let a=0;a<3;a++){const l=a+3;s=e[a],i=t[a],n[a]=si?s:i}}function r(e,t,n){for(let s=0;s<3;s++){const i=t[e+2*s],a=t[e+2*s+1],l=i-a,r=i+a;ln[s+3]&&(n[s+3]=r)}}function o(e){const t=e[3]-e[0],n=e[4]-e[1],s=e[5]-e[2];return 2*(t*n+n*s+s*t)}n.d(t,{Lm:()=>l,Ok:()=>o,YN:()=>s,_x:()=>i,js:()=>a,xT:()=>r})},4791:(e,t,n)=>{"use strict";n.d(t,{Xy:()=>u,sn:()=>p,uL:()=>c});var s=n(8823),i=n(95),a=n(6204);const l=new s.zHn,r=new s.yGw,o=s.Kj0.prototype.raycast;function c(e,t){if(this.geometry.boundsTree){if(void 0===this.material)return;r.copy(this.matrixWorld).invert(),l.copy(e.ray).applyMatrix4(r);const n=this.geometry.boundsTree;if(!0===e.firstHitOnly){const s=(0,i.O)(n.raycastFirst(l,this.material),this,e);s&&t.push(s)}else{const s=n.raycast(l,this.material);for(let n=0,a=s.length;n{"use strict";n.d(t,{O:()=>l,U$:()=>i,rM:()=>a});var s=n(7488);function i(e,t,n,i,a,l){for(let r=i,o=i+a;rn.far?null:e)}},8408:(e,t,n)=>{"use strict";n.d(t,{P:()=>s});class s{constructor(e){this._getNewPrimitive=e,this._primitives=[]}getPrimitive(){const e=this._primitives;return 0===e.length?this._getNewPrimitive():e.pop()}releasePrimitive(e){this._primitives.push(e)}}},7488:(e,t,n)=>{"use strict";n.d(t,{b:()=>f});var s=n(8823);const i=new s.Pa4,a=new s.Pa4,l=new s.Pa4,r=new s.FM8,o=new s.FM8,c=new s.FM8,u=new s.Pa4,p=new s.Pa4,h=new s.Pa4,d=new s.Pa4;function f(e,t,n,f,I){const m=3*f,y=e.index.getX(m),v=e.index.getX(m+1),w=e.index.getX(m+2),{position:T,normal:E,uv:g,uv1:R}=e.attributes,D=function(e,t,n,f,I,m,y,v,w){i.fromBufferAttribute(t,m),a.fromBufferAttribute(t,y),l.fromBufferAttribute(t,v);const T=function(e,t,n,i,a,l){let r;return r=l===s._Li?e.intersectTriangle(i,n,t,!0,a):e.intersectTriangle(t,n,i,l!==s.ehD,a),null===r?null:{distance:e.origin.distanceTo(a),point:a.clone()}}(e,i,a,l,d,w);if(T){f&&(r.fromBufferAttribute(f,m),o.fromBufferAttribute(f,y),c.fromBufferAttribute(f,v),T.uv=s.CJI.getInterpolation(d,i,a,l,r,o,c,new s.FM8)),I&&(r.fromBufferAttribute(I,m),o.fromBufferAttribute(I,y),c.fromBufferAttribute(I,v),T.uv1=s.CJI.getInterpolation(d,i,a,l,r,o,c,new s.FM8)),n&&(u.fromBufferAttribute(n,m),p.fromBufferAttribute(n,y),h.fromBufferAttribute(n,v),T.normal=s.CJI.getInterpolation(d,i,a,l,u,p,h,new s.Pa4),T.normal.dot(e.direction)>0&&T.normal.multiplyScalar(-1));const t={a:m,b:y,c:v,normal:new s.Pa4,materialIndex:0};s.CJI.getNormal(i,a,l,t.normal),T.face=t,T.faceIndex=m}return T}(n,T,E,g,R,y,v,w,t);return D?(D.faceIndex=f,I&&I.push(D),D):null}},3824:(e,t,n)=>{"use strict";function s(e,t,n,s){const i=e.a,a=e.b,l=e.c;let r=t,o=t+1,c=t+2;n&&(r=n.getX(t),o=n.getX(t+1),c=n.getX(t+2)),i.x=s.getX(r),i.y=s.getY(r),i.z=s.getZ(r),a.x=s.getX(o),a.y=s.getY(o),a.z=s.getZ(o),l.x=s.getX(c),l.y=s.getY(c),l.z=s.getZ(c)}function i(e,t,n,i,a,l,r){const o=n.index,c=n.attributes.position;for(let n=e,u=t+e;ni,kg:()=>s}),n(8823)},8823:(e,t,n)=>{"use strict";n.d(t,{CJI:()=>en,D1R:()=>C,FM8:()=>me,Hw6:()=>Le,Ilk:()=>on,JOQ:()=>as,KI_:()=>Z,Kj0:()=>Vn,M8C:()=>Ie,NMF:()=>k,OoA:()=>S,Pa4:()=>Ge,SPe:()=>Za,Syv:()=>W,TlE:()=>dn,TyD:()=>b,Wl3:()=>r,YBo:()=>Qa,YLQ:()=>N,ZAu:()=>La,ZzF:()=>ze,Zzh:()=>wl,_Li:()=>o,aCh:()=>K,aH4:()=>O,aLr:()=>ot,ehD:()=>c,iUV:()=>ml,qyh:()=>x,rpg:()=>R,u9r:()=>Dn,uWy:()=>D,wem:()=>A,wk1:()=>H,xsS:()=>Ga,yGw:()=>yt,zHn:()=>mt});const s="152",i=1,a=2,l=3,r=0,o=1,c=2,u=100,p=0,h=1,d=2,f=0,I=1,m=2,y=3,v=4,w=5,T=301,E=302,g=306,R=1e3,D=1001,S=1002,b=1003,N=1004,O=1005,A=1006,x=1007,C=1008,L=1009,P=1014,q=1015,_=1016,M=1020,H=1023,B=1026,U=1027,F=33776,G=33777,V=33778,j=33779,z=36492,W=2300,k=2301,Y=2302,X=3001,K="",Z="srgb",Q="srgb-linear",J="display-p3",$=7680,ee="300 es",te=1035;class ne{addEventListener(e,t){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[e]&&(n[e]=[]),-1===n[e].indexOf(t)&&n[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return!1;const n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;const n=this._listeners[e];if(void 0!==n){const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;const t=this._listeners[e.type];if(void 0!==t){e.target=this;const n=t.slice(0);for(let t=0,s=n.length;t>8&255]+se[e>>16&255]+se[e>>24&255]+"-"+se[255&t]+se[t>>8&255]+"-"+se[t>>16&15|64]+se[t>>24&255]+"-"+se[63&n|128]+se[n>>8&255]+"-"+se[n>>16&255]+se[n>>24&255]+se[255&s]+se[s>>8&255]+se[s>>16&255]+se[s>>24&255]).toLowerCase()}function oe(e,t,n){return Math.max(t,Math.min(n,e))}function ce(e,t){return(e%t+t)%t}function ue(e,t,n){return(1-n)*e+n*t}function pe(e){return 0==(e&e-1)&&0!==e}function he(e){return Math.pow(2,Math.floor(Math.log(e)/Math.LN2))}function de(e,t){switch(t.constructor){case Float32Array:return e;case Uint16Array:return e/65535;case Uint8Array:return e/255;case Int16Array:return Math.max(e/32767,-1);case Int8Array:return Math.max(e/127,-1);default:throw new Error("Invalid component type.")}}function fe(e,t){switch(t.constructor){case Float32Array:return e;case Uint16Array:return Math.round(65535*e);case Uint8Array:return Math.round(255*e);case Int16Array:return Math.round(32767*e);case Int8Array:return Math.round(127*e);default:throw new Error("Invalid component type.")}}const Ie={DEG2RAD:ae,RAD2DEG:le,generateUUID:re,clamp:oe,euclideanModulo:ce,mapLinear:function(e,t,n,s,i){return s+(e-t)*(i-s)/(n-t)},inverseLerp:function(e,t,n){return e!==t?(n-e)/(t-e):0},lerp:ue,damp:function(e,t,n,s){return ue(e,t,1-Math.exp(-n*s))},pingpong:function(e,t=1){return t-Math.abs(ce(e,2*t)-t)},smoothstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*(3-2*e)},smootherstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*e*(e*(6*e-15)+10)},randInt:function(e,t){return e+Math.floor(Math.random()*(t-e+1))},randFloat:function(e,t){return e+Math.random()*(t-e)},randFloatSpread:function(e){return e*(.5-Math.random())},seededRandom:function(e){void 0!==e&&(ie=e);let t=ie+=1831565813;return t=Math.imul(t^t>>>15,1|t),t^=t+Math.imul(t^t>>>7,61|t),((t^t>>>14)>>>0)/4294967296},degToRad:function(e){return e*ae},radToDeg:function(e){return e*le},isPowerOfTwo:pe,ceilPowerOfTwo:function(e){return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))},floorPowerOfTwo:he,setQuaternionFromProperEuler:function(e,t,n,s,i){const a=Math.cos,l=Math.sin,r=a(n/2),o=l(n/2),c=a((t+s)/2),u=l((t+s)/2),p=a((t-s)/2),h=l((t-s)/2),d=a((s-t)/2),f=l((s-t)/2);switch(i){case"XYX":e.set(r*u,o*p,o*h,r*c);break;case"YZY":e.set(o*h,r*u,o*p,r*c);break;case"ZXZ":e.set(o*p,o*h,r*u,r*c);break;case"XZX":e.set(r*u,o*f,o*d,r*c);break;case"YXY":e.set(o*d,r*u,o*f,r*c);break;case"ZYZ":e.set(o*f,o*d,r*u,r*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}},normalize:fe,denormalize:de};class me{constructor(e=0,t=0){me.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,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,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;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,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,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,t){return this.x=e.x-t.x,this.y=e.y-t.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){const t=this.x,n=this.y,s=e.elements;return this.x=s[0]*t+s[3]*n+s[6],this.y=s[1]*t+s[4]*n+s[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,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(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){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(oe(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const n=Math.cos(t),s=Math.sin(t),i=this.x-e.x,a=this.y-e.y;return this.x=i*n-a*s+e.x,this.y=i*s+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class ye{constructor(){ye.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1]}set(e,t,n,s,i,a,l,r,o){const c=this.elements;return c[0]=e,c[1]=s,c[2]=l,c[3]=t,c[4]=i,c[5]=r,c[6]=n,c[7]=a,c[8]=o,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,s=t.elements,i=this.elements,a=n[0],l=n[3],r=n[6],o=n[1],c=n[4],u=n[7],p=n[2],h=n[5],d=n[8],f=s[0],I=s[3],m=s[6],y=s[1],v=s[4],w=s[7],T=s[2],E=s[5],g=s[8];return i[0]=a*f+l*y+r*T,i[3]=a*I+l*v+r*E,i[6]=a*m+l*w+r*g,i[1]=o*f+c*y+u*T,i[4]=o*I+c*v+u*E,i[7]=o*m+c*w+u*g,i[2]=p*f+h*y+d*T,i[5]=p*I+h*v+d*E,i[8]=p*m+h*w+d*g,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[1],s=e[2],i=e[3],a=e[4],l=e[5],r=e[6],o=e[7],c=e[8];return t*a*c-t*l*o-n*i*c+n*l*r+s*i*o-s*a*r}invert(){const e=this.elements,t=e[0],n=e[1],s=e[2],i=e[3],a=e[4],l=e[5],r=e[6],o=e[7],c=e[8],u=c*a-l*o,p=l*r-c*i,h=o*i-a*r,d=t*u+n*p+s*h;if(0===d)return this.set(0,0,0,0,0,0,0,0,0);const f=1/d;return e[0]=u*f,e[1]=(s*o-c*n)*f,e[2]=(l*n-s*a)*f,e[3]=p*f,e[4]=(c*t-s*r)*f,e[5]=(s*i-l*t)*f,e[6]=h*f,e[7]=(n*r-o*t)*f,e[8]=(a*t-n*i)*f,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,s,i,a,l){const r=Math.cos(i),o=Math.sin(i);return this.set(n*r,n*o,-n*(r*a+o*l)+a+e,-s*o,s*r,-s*(-o*a+r*l)+l+t,0,0,1),this}scale(e,t){return this.premultiply(ve.makeScale(e,t)),this}rotate(e){return this.premultiply(ve.makeRotation(-e)),this}translate(e,t){return this.premultiply(ve.makeTranslation(e,t)),this}makeTranslation(e,t){return this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,n=e.elements;for(let e=0;e<9;e++)if(t[e]!==n[e])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return(new this.constructor).fromArray(this.elements)}}const ve=new ye;function we(e){for(let t=e.length-1;t>=0;--t)if(e[t]>=65535)return!0;return!1}function Te(e){return document.createElementNS("http://www.w3.org/1999/xhtml",e)}Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array;const Ee={};function ge(e){e in Ee||(Ee[e]=!0,console.warn(e))}function Re(e){return e<.04045?.0773993808*e:Math.pow(.9478672986*e+.0521327014,2.4)}function De(e){return e<.0031308?12.92*e:1.055*Math.pow(e,.41666)-.055}const Se=(new ye).fromArray([.8224621,.0331941,.0170827,.177538,.9668058,.0723974,-1e-7,1e-7,.9105199]),be=(new ye).fromArray([1.2249401,-.0420569,-.0196376,-.2249404,1.0420571,-.0786361,1e-7,0,1.0982735]),Ne={[Q]:e=>e,[Z]:e=>e.convertSRGBToLinear(),[J]:function(e){return e.convertSRGBToLinear().applyMatrix3(be)}},Oe={[Q]:e=>e,[Z]:e=>e.convertLinearToSRGB(),[J]:function(e){return e.applyMatrix3(Se).convertLinearToSRGB()}},Ae={enabled:!0,get legacyMode(){return console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),!this.enabled},set legacyMode(e){console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),this.enabled=!e},get workingColorSpace(){return Q},set workingColorSpace(e){console.warn("THREE.ColorManagement: .workingColorSpace is readonly.")},convert:function(e,t,n){if(!1===this.enabled||t===n||!t||!n)return e;const s=Ne[t],i=Oe[n];if(void 0===s||void 0===i)throw new Error(`Unsupported color space conversion, "${t}" to "${n}".`);return i(s(e))},fromWorkingColorSpace:function(e,t){return this.convert(e,this.workingColorSpace,t)},toWorkingColorSpace:function(e,t){return this.convert(e,t,this.workingColorSpace)}};let xe;class Ce{static getDataURL(e){if(/^data:/i.test(e.src))return e.src;if("undefined"==typeof HTMLCanvasElement)return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{void 0===xe&&(xe=Te("canvas")),xe.width=e.width,xe.height=e.height;const n=xe.getContext("2d");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=xe}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(e){if("undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap){const t=Te("canvas");t.width=e.width,t.height=e.height;const n=t.getContext("2d");n.drawImage(e,0,0,e.width,e.height);const s=n.getImageData(0,0,e.width,e.height),i=s.data;for(let e=0;e0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(300!==this.mapping)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case R:e.x=e.x-Math.floor(e.x);break;case D:e.x=e.x<0?0:1;break;case S:1===Math.abs(Math.floor(e.x)%2)?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 R:e.y=e.y-Math.floor(e.y);break;case D:e.y=e.y<0?0:1;break;case S:1===Math.abs(Math.floor(e.y)%2)?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){!0===e&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return ge("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Z?X:3e3}set encoding(e){ge("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===X?Z:K}}_e.DEFAULT_IMAGE=null,_e.DEFAULT_MAPPING=300,_e.DEFAULT_ANISOTROPY=1;class Me{constructor(e=0,t=0,n=0,s=1){Me.prototype.isVector4=!0,this.x=e,this.y=t,this.z=n,this.w=s}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,s){return this.x=e,this.y=t,this.z=n,this.w=s,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,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;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=void 0!==e.w?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,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,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,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.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){const t=this.x,n=this.y,s=this.z,i=this.w,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*s+a[12]*i,this.y=a[1]*t+a[5]*n+a[9]*s+a[13]*i,this.z=a[2]*t+a[6]*n+a[10]*s+a[14]*i,this.w=a[3]*t+a[7]*n+a[11]*s+a[15]*i,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,s,i;const a=.01,l=.1,r=e.elements,o=r[0],c=r[4],u=r[8],p=r[1],h=r[5],d=r[9],f=r[2],I=r[6],m=r[10];if(Math.abs(c-p)r&&e>y?ey?r=0?1:-1,s=1-t*t;if(s>Number.EPSILON){const i=Math.sqrt(s),a=Math.atan2(i,t*n);e=Math.sin(e*a)/i,l=Math.sin(l*a)/i}const i=l*n;if(r=r*e+p*i,o=o*e+h*i,c=c*e+d*i,u=u*e+f*i,e===1-l){const e=1/Math.sqrt(r*r+o*o+c*c+u*u);r*=e,o*=e,c*=e,u*=e}}e[t]=r,e[t+1]=o,e[t+2]=c,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,s,i,a){const l=n[s],r=n[s+1],o=n[s+2],c=n[s+3],u=i[a],p=i[a+1],h=i[a+2],d=i[a+3];return e[t]=l*d+c*u+r*h-o*p,e[t+1]=r*d+c*p+o*u-l*h,e[t+2]=o*d+c*h+l*p-r*u,e[t+3]=c*d-l*u-r*p-o*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,t,n,s){return this._x=e,this._y=t,this._z=n,this._w=s,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,t){const n=e._x,s=e._y,i=e._z,a=e._order,l=Math.cos,r=Math.sin,o=l(n/2),c=l(s/2),u=l(i/2),p=r(n/2),h=r(s/2),d=r(i/2);switch(a){case"XYZ":this._x=p*c*u+o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u-p*h*d;break;case"YXZ":this._x=p*c*u+o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u+p*h*d;break;case"ZXY":this._x=p*c*u-o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u-p*h*d;break;case"ZYX":this._x=p*c*u-o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u+p*h*d;break;case"YZX":this._x=p*c*u+o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u-p*h*d;break;case"XZY":this._x=p*c*u-o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u+p*h*d;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+a)}return!1!==t&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const n=t/2,s=Math.sin(n);return this._x=e.x*s,this._y=e.y*s,this._z=e.z*s,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,n=t[0],s=t[4],i=t[8],a=t[1],l=t[5],r=t[9],o=t[2],c=t[6],u=t[10],p=n+l+u;if(p>0){const e=.5/Math.sqrt(p+1);this._w=.25/e,this._x=(c-r)*e,this._y=(i-o)*e,this._z=(a-s)*e}else if(n>l&&n>u){const e=2*Math.sqrt(1+n-l-u);this._w=(c-r)/e,this._x=.25*e,this._y=(s+a)/e,this._z=(i+o)/e}else if(l>u){const e=2*Math.sqrt(1+l-n-u);this._w=(i-o)/e,this._x=(s+a)/e,this._y=.25*e,this._z=(r+c)/e}else{const e=2*Math.sqrt(1+u-n-l);this._w=(a-s)/e,this._x=(i+o)/e,this._y=(r+c)/e,this._z=.25*e}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return nMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(oe(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(0===n)return this;const s=Math.min(1,t/n);return this.slerp(e,s),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 0===e?(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,t){const n=e._x,s=e._y,i=e._z,a=e._w,l=t._x,r=t._y,o=t._z,c=t._w;return this._x=n*c+a*l+s*o-i*r,this._y=s*c+a*r+i*l-n*o,this._z=i*c+a*o+n*r-s*l,this._w=a*c-n*l-s*r-i*o,this._onChangeCallback(),this}slerp(e,t){if(0===t)return this;if(1===t)return this.copy(e);const n=this._x,s=this._y,i=this._z,a=this._w;let l=a*e._w+n*e._x+s*e._y+i*e._z;if(l<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,l=-l):this.copy(e),l>=1)return this._w=a,this._x=n,this._y=s,this._z=i,this;const r=1-l*l;if(r<=Number.EPSILON){const e=1-t;return this._w=e*a+t*this._w,this._x=e*n+t*this._x,this._y=e*s+t*this._y,this._z=e*i+t*this._z,this.normalize(),this._onChangeCallback(),this}const o=Math.sqrt(r),c=Math.atan2(o,l),u=Math.sin((1-t)*c)/o,p=Math.sin(t*c)/o;return this._w=a*u+this._w*p,this._x=n*u+this._x*p,this._y=s*u+this._y*p,this._z=i*u+this._z*p,this._onChangeCallback(),this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){const e=Math.random(),t=Math.sqrt(1-e),n=Math.sqrt(e),s=2*Math.PI*Math.random(),i=2*Math.PI*Math.random();return this.set(t*Math.cos(s),n*Math.sin(i),n*Math.cos(i),t*Math.sin(s))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),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}}class Ge{constructor(e=0,t=0,n=0){Ge.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return void 0===n&&(n=this.z),this.x=e,this.y=t,this.z=n,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,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;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,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,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,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.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,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(je.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(je.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,s=this.z,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6]*s,this.y=i[1]*t+i[4]*n+i[7]*s,this.z=i[2]*t+i[5]*n+i[8]*s,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,s=this.z,i=e.elements,a=1/(i[3]*t+i[7]*n+i[11]*s+i[15]);return this.x=(i[0]*t+i[4]*n+i[8]*s+i[12])*a,this.y=(i[1]*t+i[5]*n+i[9]*s+i[13])*a,this.z=(i[2]*t+i[6]*n+i[10]*s+i[14])*a,this}applyQuaternion(e){const t=this.x,n=this.y,s=this.z,i=e.x,a=e.y,l=e.z,r=e.w,o=r*t+a*s-l*n,c=r*n+l*t-i*s,u=r*s+i*n-a*t,p=-i*t-a*n-l*s;return this.x=o*r+p*-i+c*-l-u*-a,this.y=c*r+p*-a+u*-i-o*-l,this.z=u*r+p*-l+o*-a-c*-i,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,s=this.z,i=e.elements;return this.x=i[0]*t+i[4]*n+i[8]*s,this.y=i[1]*t+i[5]*n+i[9]*s,this.z=i[2]*t+i[6]*n+i[10]*s,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,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(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,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,s=e.y,i=e.z,a=t.x,l=t.y,r=t.z;return this.x=s*r-i*l,this.y=i*a-n*r,this.z=n*l-s*a,this}projectOnVector(e){const t=e.lengthSq();if(0===t)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return Ve.copy(this).projectOnVector(e),this.sub(Ve)}reflect(e){return this.sub(Ve.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(oe(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,s=this.z-e.z;return t*t+n*n+s*s}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,t,n){const s=Math.sin(t)*e;return this.x=s*Math.sin(n),this.y=Math.cos(t)*e,this.z=s*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),s=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=s,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,4*t)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,3*t)}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,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=2*(Math.random()-.5),t=Math.random()*Math.PI*2,n=Math.sqrt(1-e**2);return this.x=n*Math.cos(t),this.y=n*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Ve=new Ge,je=new Fe;class ze{constructor(e=new Ge(1/0,1/0,1/0),t=new Ge(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,n=e.length;tthis.max.x||e.ythis.max.y||e.zthis.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,t){return t.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.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,ke),ke.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(et),tt.subVectors(this.max,et),Xe.subVectors(e.a,et),Ke.subVectors(e.b,et),Ze.subVectors(e.c,et),Qe.subVectors(Ke,Xe),Je.subVectors(Ze,Ke),$e.subVectors(Xe,Ze);let t=[0,-Qe.z,Qe.y,0,-Je.z,Je.y,0,-$e.z,$e.y,Qe.z,0,-Qe.x,Je.z,0,-Je.x,$e.z,0,-$e.x,-Qe.y,Qe.x,0,-Je.y,Je.x,0,-$e.y,$e.x,0];return!!it(t,Xe,Ke,Ze,tt)&&(t=[1,0,0,0,1,0,0,0,1],!!it(t,Xe,Ke,Ze,tt)&&(nt.crossVectors(Qe,Je),t=[nt.x,nt.y,nt.z],it(t,Xe,Ke,Ze,tt)))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,ke).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=.5*this.getSize(ke).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()||(We[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),We[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),We[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),We[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),We[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),We[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),We[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),We[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(We)),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)}}const We=[new Ge,new Ge,new Ge,new Ge,new Ge,new Ge,new Ge,new Ge],ke=new Ge,Ye=new ze,Xe=new Ge,Ke=new Ge,Ze=new Ge,Qe=new Ge,Je=new Ge,$e=new Ge,et=new Ge,tt=new Ge,nt=new Ge,st=new Ge;function it(e,t,n,s,i){for(let a=0,l=e.length-3;a<=l;a+=3){st.fromArray(e,a);const l=i.x*Math.abs(st.x)+i.y*Math.abs(st.y)+i.z*Math.abs(st.z),r=t.dot(st),o=n.dot(st),c=s.dot(st);if(Math.max(-Math.max(r,o,c),Math.min(r,o,c))>l)return!1}return!0}const at=new ze,lt=new Ge,rt=new Ge;class ot{constructor(e=new Ge,t=-1){this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const n=this.center;void 0!==t?n.copy(t):at.setFromPoints(e).getCenter(n);let s=0;for(let t=0,i=e.length;tthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}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;lt.subVectors(e,this.center);const t=lt.lengthSq();if(t>this.radius*this.radius){const e=Math.sqrt(t),n=.5*(e-this.radius);this.center.addScaledVector(lt,n/e),this.radius+=n}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(!0===this.center.equals(e.center)?this.radius=Math.max(this.radius,e.radius):(rt.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(lt.copy(e.center).add(rt)),this.expandByPoint(lt.copy(e.center).sub(rt))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const ct=new Ge,ut=new Ge,pt=new Ge,ht=new Ge,dt=new Ge,ft=new Ge,It=new Ge;class mt{constructor(e=new Ge,t=new Ge(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.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,ct)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=ct.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(ct.copy(this.origin).addScaledVector(this.direction,t),ct.distanceToSquared(e))}distanceSqToSegment(e,t,n,s){ut.copy(e).add(t).multiplyScalar(.5),pt.copy(t).sub(e).normalize(),ht.copy(this.origin).sub(ut);const i=.5*e.distanceTo(t),a=-this.direction.dot(pt),l=ht.dot(this.direction),r=-ht.dot(pt),o=ht.lengthSq(),c=Math.abs(1-a*a);let u,p,h,d;if(c>0)if(u=a*r-l,p=a*l-r,d=i*c,u>=0)if(p>=-d)if(p<=d){const e=1/c;u*=e,p*=e,h=u*(u+a*p+2*l)+p*(a*u+p+2*r)+o}else p=i,u=Math.max(0,-(a*p+l)),h=-u*u+p*(p+2*r)+o;else p=-i,u=Math.max(0,-(a*p+l)),h=-u*u+p*(p+2*r)+o;else p<=-d?(u=Math.max(0,-(-a*i+l)),p=u>0?-i:Math.min(Math.max(-i,-r),i),h=-u*u+p*(p+2*r)+o):p<=d?(u=0,p=Math.min(Math.max(-i,-r),i),h=p*(p+2*r)+o):(u=Math.max(0,-(a*i+l)),p=u>0?i:Math.min(Math.max(-i,-r),i),h=-u*u+p*(p+2*r)+o);else p=a>0?-i:i,u=Math.max(0,-(a*p+l)),h=-u*u+p*(p+2*r)+o;return n&&n.copy(this.origin).addScaledVector(this.direction,u),s&&s.copy(ut).addScaledVector(pt,p),h}intersectSphere(e,t){ct.subVectors(e.center,this.origin);const n=ct.dot(this.direction),s=ct.dot(ct)-n*n,i=e.radius*e.radius;if(s>i)return null;const a=Math.sqrt(i-s),l=n-a,r=n+a;return r<0?null:l<0?this.at(r,t):this.at(l,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(0===t)return 0===e.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){const n=this.distanceToPlane(e);return null===n?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return 0===t||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,s,i,a,l,r;const o=1/this.direction.x,c=1/this.direction.y,u=1/this.direction.z,p=this.origin;return o>=0?(n=(e.min.x-p.x)*o,s=(e.max.x-p.x)*o):(n=(e.max.x-p.x)*o,s=(e.min.x-p.x)*o),c>=0?(i=(e.min.y-p.y)*c,a=(e.max.y-p.y)*c):(i=(e.max.y-p.y)*c,a=(e.min.y-p.y)*c),n>a||i>s?null:((i>n||isNaN(n))&&(n=i),(a=0?(l=(e.min.z-p.z)*u,r=(e.max.z-p.z)*u):(l=(e.max.z-p.z)*u,r=(e.min.z-p.z)*u),n>r||l>s?null:((l>n||n!=n)&&(n=l),(r=0?n:s,t)))}intersectsBox(e){return null!==this.intersectBox(e,ct)}intersectTriangle(e,t,n,s,i){dt.subVectors(t,e),ft.subVectors(n,e),It.crossVectors(dt,ft);let a,l=this.direction.dot(It);if(l>0){if(s)return null;a=1}else{if(!(l<0))return null;a=-1,l=-l}ht.subVectors(this.origin,e);const r=a*this.direction.dot(ft.crossVectors(ht,ft));if(r<0)return null;const o=a*this.direction.dot(dt.cross(ht));if(o<0)return null;if(r+o>l)return null;const c=-a*ht.dot(It);return c<0?null:this.at(c/l,i)}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)}}class yt{constructor(){yt.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}set(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){const m=this.elements;return m[0]=e,m[4]=t,m[8]=n,m[12]=s,m[1]=i,m[5]=a,m[9]=l,m[13]=r,m[2]=o,m[6]=c,m[10]=u,m[14]=p,m[3]=h,m[7]=d,m[11]=f,m[15]=I,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 yt).fromArray(this.elements)}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){const t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,n=e.elements,s=1/vt.setFromMatrixColumn(e,0).length(),i=1/vt.setFromMatrixColumn(e,1).length(),a=1/vt.setFromMatrixColumn(e,2).length();return t[0]=n[0]*s,t[1]=n[1]*s,t[2]=n[2]*s,t[3]=0,t[4]=n[4]*i,t[5]=n[5]*i,t[6]=n[6]*i,t[7]=0,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,n=e.x,s=e.y,i=e.z,a=Math.cos(n),l=Math.sin(n),r=Math.cos(s),o=Math.sin(s),c=Math.cos(i),u=Math.sin(i);if("XYZ"===e.order){const e=a*c,n=a*u,s=l*c,i=l*u;t[0]=r*c,t[4]=-r*u,t[8]=o,t[1]=n+s*o,t[5]=e-i*o,t[9]=-l*r,t[2]=i-e*o,t[6]=s+n*o,t[10]=a*r}else if("YXZ"===e.order){const e=r*c,n=r*u,s=o*c,i=o*u;t[0]=e+i*l,t[4]=s*l-n,t[8]=a*o,t[1]=a*u,t[5]=a*c,t[9]=-l,t[2]=n*l-s,t[6]=i+e*l,t[10]=a*r}else if("ZXY"===e.order){const e=r*c,n=r*u,s=o*c,i=o*u;t[0]=e-i*l,t[4]=-a*u,t[8]=s+n*l,t[1]=n+s*l,t[5]=a*c,t[9]=i-e*l,t[2]=-a*o,t[6]=l,t[10]=a*r}else if("ZYX"===e.order){const e=a*c,n=a*u,s=l*c,i=l*u;t[0]=r*c,t[4]=s*o-n,t[8]=e*o+i,t[1]=r*u,t[5]=i*o+e,t[9]=n*o-s,t[2]=-o,t[6]=l*r,t[10]=a*r}else if("YZX"===e.order){const e=a*r,n=a*o,s=l*r,i=l*o;t[0]=r*c,t[4]=i-e*u,t[8]=s*u+n,t[1]=u,t[5]=a*c,t[9]=-l*c,t[2]=-o*c,t[6]=n*u+s,t[10]=e-i*u}else if("XZY"===e.order){const e=a*r,n=a*o,s=l*r,i=l*o;t[0]=r*c,t[4]=-u,t[8]=o*c,t[1]=e*u+i,t[5]=a*c,t[9]=n*u-s,t[2]=s*u-n,t[6]=l*c,t[10]=i*u+e}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Tt,e,Et)}lookAt(e,t,n){const s=this.elements;return Dt.subVectors(e,t),0===Dt.lengthSq()&&(Dt.z=1),Dt.normalize(),gt.crossVectors(n,Dt),0===gt.lengthSq()&&(1===Math.abs(n.z)?Dt.x+=1e-4:Dt.z+=1e-4,Dt.normalize(),gt.crossVectors(n,Dt)),gt.normalize(),Rt.crossVectors(Dt,gt),s[0]=gt.x,s[4]=Rt.x,s[8]=Dt.x,s[1]=gt.y,s[5]=Rt.y,s[9]=Dt.y,s[2]=gt.z,s[6]=Rt.z,s[10]=Dt.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,s=t.elements,i=this.elements,a=n[0],l=n[4],r=n[8],o=n[12],c=n[1],u=n[5],p=n[9],h=n[13],d=n[2],f=n[6],I=n[10],m=n[14],y=n[3],v=n[7],w=n[11],T=n[15],E=s[0],g=s[4],R=s[8],D=s[12],S=s[1],b=s[5],N=s[9],O=s[13],A=s[2],x=s[6],C=s[10],L=s[14],P=s[3],q=s[7],_=s[11],M=s[15];return i[0]=a*E+l*S+r*A+o*P,i[4]=a*g+l*b+r*x+o*q,i[8]=a*R+l*N+r*C+o*_,i[12]=a*D+l*O+r*L+o*M,i[1]=c*E+u*S+p*A+h*P,i[5]=c*g+u*b+p*x+h*q,i[9]=c*R+u*N+p*C+h*_,i[13]=c*D+u*O+p*L+h*M,i[2]=d*E+f*S+I*A+m*P,i[6]=d*g+f*b+I*x+m*q,i[10]=d*R+f*N+I*C+m*_,i[14]=d*D+f*O+I*L+m*M,i[3]=y*E+v*S+w*A+T*P,i[7]=y*g+v*b+w*x+T*q,i[11]=y*R+v*N+w*C+T*_,i[15]=y*D+v*O+w*L+T*M,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[4],s=e[8],i=e[12],a=e[1],l=e[5],r=e[9],o=e[13],c=e[2],u=e[6],p=e[10],h=e[14];return e[3]*(+i*r*u-s*o*u-i*l*p+n*o*p+s*l*h-n*r*h)+e[7]*(+t*r*h-t*o*p+i*a*p-s*a*h+s*o*c-i*r*c)+e[11]*(+t*o*u-t*l*h-i*a*u+n*a*h+i*l*c-n*o*c)+e[15]*(-s*l*c-t*r*u+t*l*p+s*a*u-n*a*p+n*r*c)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){const s=this.elements;return e.isVector3?(s[12]=e.x,s[13]=e.y,s[14]=e.z):(s[12]=e,s[13]=t,s[14]=n),this}invert(){const e=this.elements,t=e[0],n=e[1],s=e[2],i=e[3],a=e[4],l=e[5],r=e[6],o=e[7],c=e[8],u=e[9],p=e[10],h=e[11],d=e[12],f=e[13],I=e[14],m=e[15],y=u*I*o-f*p*o+f*r*h-l*I*h-u*r*m+l*p*m,v=d*p*o-c*I*o-d*r*h+a*I*h+c*r*m-a*p*m,w=c*f*o-d*u*o+d*l*h-a*f*h-c*l*m+a*u*m,T=d*u*r-c*f*r-d*l*p+a*f*p+c*l*I-a*u*I,E=t*y+n*v+s*w+i*T;if(0===E)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const g=1/E;return e[0]=y*g,e[1]=(f*p*i-u*I*i-f*s*h+n*I*h+u*s*m-n*p*m)*g,e[2]=(l*I*i-f*r*i+f*s*o-n*I*o-l*s*m+n*r*m)*g,e[3]=(u*r*i-l*p*i-u*s*o+n*p*o+l*s*h-n*r*h)*g,e[4]=v*g,e[5]=(c*I*i-d*p*i+d*s*h-t*I*h-c*s*m+t*p*m)*g,e[6]=(d*r*i-a*I*i-d*s*o+t*I*o+a*s*m-t*r*m)*g,e[7]=(a*p*i-c*r*i+c*s*o-t*p*o-a*s*h+t*r*h)*g,e[8]=w*g,e[9]=(d*u*i-c*f*i-d*n*h+t*f*h+c*n*m-t*u*m)*g,e[10]=(a*f*i-d*l*i+d*n*o-t*f*o-a*n*m+t*l*m)*g,e[11]=(c*l*i-a*u*i-c*n*o+t*u*o+a*n*h-t*l*h)*g,e[12]=T*g,e[13]=(c*f*s-d*u*s+d*n*p-t*f*p-c*n*I+t*u*I)*g,e[14]=(d*l*s-a*f*s-d*n*r+t*f*r+a*n*I-t*l*I)*g,e[15]=(a*u*s-c*l*s+c*n*r-t*u*r-a*n*p+t*l*p)*g,this}scale(e){const t=this.elements,n=e.x,s=e.y,i=e.z;return t[0]*=n,t[4]*=s,t[8]*=i,t[1]*=n,t[5]*=s,t[9]*=i,t[2]*=n,t[6]*=s,t[10]*=i,t[3]*=n,t[7]*=s,t[11]*=i,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],s=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,s))}makeTranslation(e,t,n){return this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const n=Math.cos(t),s=Math.sin(t),i=1-n,a=e.x,l=e.y,r=e.z,o=i*a,c=i*l;return this.set(o*a+n,o*l-s*r,o*r+s*l,0,o*l+s*r,c*l+n,c*r-s*a,0,o*r-s*l,c*r+s*a,i*r*r+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,s,i,a){return this.set(1,n,i,0,e,1,a,0,t,s,1,0,0,0,0,1),this}compose(e,t,n){const s=this.elements,i=t._x,a=t._y,l=t._z,r=t._w,o=i+i,c=a+a,u=l+l,p=i*o,h=i*c,d=i*u,f=a*c,I=a*u,m=l*u,y=r*o,v=r*c,w=r*u,T=n.x,E=n.y,g=n.z;return s[0]=(1-(f+m))*T,s[1]=(h+w)*T,s[2]=(d-v)*T,s[3]=0,s[4]=(h-w)*E,s[5]=(1-(p+m))*E,s[6]=(I+y)*E,s[7]=0,s[8]=(d+v)*g,s[9]=(I-y)*g,s[10]=(1-(p+f))*g,s[11]=0,s[12]=e.x,s[13]=e.y,s[14]=e.z,s[15]=1,this}decompose(e,t,n){const s=this.elements;let i=vt.set(s[0],s[1],s[2]).length();const a=vt.set(s[4],s[5],s[6]).length(),l=vt.set(s[8],s[9],s[10]).length();this.determinant()<0&&(i=-i),e.x=s[12],e.y=s[13],e.z=s[14],wt.copy(this);const r=1/i,o=1/a,c=1/l;return wt.elements[0]*=r,wt.elements[1]*=r,wt.elements[2]*=r,wt.elements[4]*=o,wt.elements[5]*=o,wt.elements[6]*=o,wt.elements[8]*=c,wt.elements[9]*=c,wt.elements[10]*=c,t.setFromRotationMatrix(wt),n.x=i,n.y=a,n.z=l,this}makePerspective(e,t,n,s,i,a){const l=this.elements,r=2*i/(t-e),o=2*i/(n-s),c=(t+e)/(t-e),u=(n+s)/(n-s),p=-(a+i)/(a-i),h=-2*a*i/(a-i);return l[0]=r,l[4]=0,l[8]=c,l[12]=0,l[1]=0,l[5]=o,l[9]=u,l[13]=0,l[2]=0,l[6]=0,l[10]=p,l[14]=h,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,n,s,i,a){const l=this.elements,r=1/(t-e),o=1/(n-s),c=1/(a-i),u=(t+e)*r,p=(n+s)*o,h=(a+i)*c;return l[0]=2*r,l[4]=0,l[8]=0,l[12]=-u,l[1]=0,l[5]=2*o,l[9]=0,l[13]=-p,l[2]=0,l[6]=0,l[10]=-2*c,l[14]=-h,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const t=this.elements,n=e.elements;for(let e=0;e<16;e++)if(t[e]!==n[e])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}}const vt=new Ge,wt=new yt,Tt=new Ge(0,0,0),Et=new Ge(1,1,1),gt=new Ge,Rt=new Ge,Dt=new Ge,St=new yt,bt=new Fe;class Nt{constructor(e=0,t=0,n=0,s=Nt.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=n,this._order=s}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,t,n,s=this._order){return this._x=e,this._y=t,this._z=n,this._order=s,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,t=this._order,n=!0){const s=e.elements,i=s[0],a=s[4],l=s[8],r=s[1],o=s[5],c=s[9],u=s[2],p=s[6],h=s[10];switch(t){case"XYZ":this._y=Math.asin(oe(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-c,h),this._z=Math.atan2(-a,i)):(this._x=Math.atan2(p,o),this._z=0);break;case"YXZ":this._x=Math.asin(-oe(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(l,h),this._z=Math.atan2(r,o)):(this._y=Math.atan2(-u,i),this._z=0);break;case"ZXY":this._x=Math.asin(oe(p,-1,1)),Math.abs(p)<.9999999?(this._y=Math.atan2(-u,h),this._z=Math.atan2(-a,o)):(this._y=0,this._z=Math.atan2(r,i));break;case"ZYX":this._y=Math.asin(-oe(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(p,h),this._z=Math.atan2(r,i)):(this._x=0,this._z=Math.atan2(-a,o));break;case"YZX":this._z=Math.asin(oe(r,-1,1)),Math.abs(r)<.9999999?(this._x=Math.atan2(-c,o),this._y=Math.atan2(-u,i)):(this._x=0,this._y=Math.atan2(l,h));break;case"XZY":this._z=Math.asin(-oe(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(p,o),this._y=Math.atan2(l,i)):(this._x=Math.atan2(-c,h),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,!0===n&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return St.makeRotationFromQuaternion(e),this.setFromRotationMatrix(St,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return bt.setFromEuler(this),this.setFromQuaternion(bt,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],void 0!==e[3]&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+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}}Nt.DEFAULT_ORDER="XYZ";class Ot{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let e=0;e1){for(let e=0;e0&&(n=n.concat(i))}return n}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(qt,e,_t),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(qt,Mt,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);const t=this.children;for(let n=0,s=t.length;n0&&(s.userData=this.userData),s.layers=this.layers.mask,s.matrix=this.matrix.toArray(),s.up=this.up.toArray(),!1===this.matrixAutoUpdate&&(s.matrixAutoUpdate=!1),this.isInstancedMesh&&(s.type="InstancedMesh",s.count=this.count,s.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(s.instanceColor=this.instanceColor.toJSON())),this.isScene)this.background&&(this.background.isColor?s.background=this.background.toJSON():this.background.isTexture&&(s.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&!0!==this.environment.isRenderTargetTexture&&(s.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){s.geometry=i(e.geometries,this.geometry);const t=this.geometry.parameters;if(void 0!==t&&void 0!==t.shapes){const n=t.shapes;if(Array.isArray(n))for(let t=0,s=n.length;t0){s.children=[];for(let t=0;t0){s.animations=[];for(let t=0;t0&&(n.geometries=t),s.length>0&&(n.materials=s),i.length>0&&(n.textures=i),l.length>0&&(n.images=l),r.length>0&&(n.shapes=r),o.length>0&&(n.skeletons=o),c.length>0&&(n.animations=c),u.length>0&&(n.nodes=u)}return n.object=s,n;function a(e){const t=[];for(const n in e){const s=e[n];delete s.metadata,t.push(s)}return t}}clone(e){return(new this.constructor).copy(this,e)}copy(e,t=!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.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,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,this.userData=JSON.parse(JSON.stringify(e.userData)),!0===t)for(let t=0;t0?s.multiplyScalar(1/Math.sqrt(i)):s.set(0,0,0)}static getBarycoord(e,t,n,s,i){jt.subVectors(s,t),zt.subVectors(n,t),Wt.subVectors(e,t);const a=jt.dot(jt),l=jt.dot(zt),r=jt.dot(Wt),o=zt.dot(zt),c=zt.dot(Wt),u=a*o-l*l;if(0===u)return i.set(-2,-1,-1);const p=1/u,h=(o*r-l*c)*p,d=(a*c-l*r)*p;return i.set(1-h-d,d,h)}static containsPoint(e,t,n,s){return this.getBarycoord(e,t,n,s,kt),kt.x>=0&&kt.y>=0&&kt.x+kt.y<=1}static getUV(e,t,n,s,i,a,l,r){return!1===$t&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),$t=!0),this.getInterpolation(e,t,n,s,i,a,l,r)}static getInterpolation(e,t,n,s,i,a,l,r){return this.getBarycoord(e,t,n,s,kt),r.setScalar(0),r.addScaledVector(i,kt.x),r.addScaledVector(a,kt.y),r.addScaledVector(l,kt.z),r}static isFrontFacing(e,t,n,s){return jt.subVectors(n,t),zt.subVectors(e,t),jt.cross(zt).dot(s)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,s){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[s]),this}setFromAttributeAndIndices(e,t,n,s){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,s),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 jt.subVectors(this.c,this.b),zt.subVectors(this.a,this.b),.5*jt.cross(zt).length()}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return en.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return en.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,n,s,i){return!1===$t&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),$t=!0),en.getInterpolation(e,this.a,this.b,this.c,t,n,s,i)}getInterpolation(e,t,n,s,i){return en.getInterpolation(e,this.a,this.b,this.c,t,n,s,i)}containsPoint(e){return en.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return en.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,s=this.b,i=this.c;let a,l;Yt.subVectors(s,n),Xt.subVectors(i,n),Zt.subVectors(e,n);const r=Yt.dot(Zt),o=Xt.dot(Zt);if(r<=0&&o<=0)return t.copy(n);Qt.subVectors(e,s);const c=Yt.dot(Qt),u=Xt.dot(Qt);if(c>=0&&u<=c)return t.copy(s);const p=r*u-c*o;if(p<=0&&r>=0&&c<=0)return a=r/(r-c),t.copy(n).addScaledVector(Yt,a);Jt.subVectors(e,i);const h=Yt.dot(Jt),d=Xt.dot(Jt);if(d>=0&&h<=d)return t.copy(i);const f=h*o-r*d;if(f<=0&&o>=0&&d<=0)return l=o/(o-d),t.copy(n).addScaledVector(Xt,l);const I=c*d-h*u;if(I<=0&&u-c>=0&&h-d>=0)return Kt.subVectors(i,s),l=(u-c)/(u-c+(h-d)),t.copy(s).addScaledVector(Kt,l);const m=1/(I+f+p);return a=f*m,l=p*m,t.copy(n).addScaledVector(Yt,a).addScaledVector(Xt,l)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}let tn=0;class nn extends ne{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:tn++}),this.uuid=re(),this.name="",this.type="Material",this.blending=1,this.side=r,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=204,this.blendDst=205,this.blendEquation=u,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=3,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=519,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=$,this.stencilZFail=$,this.stencilZPass=$,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(void 0!==e)for(const t in e){const n=e[t];if(void 0===n){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const s=this[t];void 0!==s?s&&s.isColor?s.set(n):s&&s.isVector3&&n&&n.isVector3?s.copy(n):this[t]=n:console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`)}}toJSON(e){const t=void 0===e||"string"==typeof e;t&&(e={textures:{},images:{}});const n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function s(e){const t=[];for(const n in e){const s=e[n];delete s.metadata,t.push(s)}return t}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),void 0!==this.sheen&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(n.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(n.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,void 0!==this.combine&&(n.combine=this.combine)),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),void 0!==this.transmission&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),void 0!==this.thickness&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(n.size=this.size),null!==this.shadowSide&&(n.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(n.blending=this.blending),this.side!==r&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),!0===this.transparent&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,void 0!==this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(n.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!0===this.forceSinglePass&&(n.forceSinglePass=this.forceSinglePass),!0===this.wireframe&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(n.flatShading=this.flatShading),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),!1===this.fog&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData),t){const t=s(e.textures),i=s(e.images);t.length>0&&(n.textures=t),i.length>0&&(n.images=i)}return n}clone(){return(new this.constructor).copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let n=null;if(null!==t){const e=t.length;n=new Array(e);for(let s=0;s!==e;++s)n[s]=t[s].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){!0===e&&this.version++}}const sn={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},an={h:0,s:0,l:0},ln={h:0,s:0,l:0};function rn(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+6*(t-e)*(2/3-n):e}class on{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,void 0===t&&void 0===n?this.set(e):this.setRGB(e,t,n)}set(e){return e&&e.isColor?this.copy(e):"number"==typeof e?this.setHex(e):"string"==typeof e&&this.setStyle(e),this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=Z){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(255&e)/255,Ae.toWorkingColorSpace(this,t),this}setRGB(e,t,n,s=Ae.workingColorSpace){return this.r=e,this.g=t,this.b=n,Ae.toWorkingColorSpace(this,s),this}setHSL(e,t,n,s=Ae.workingColorSpace){if(e=ce(e,1),t=oe(t,0,1),n=oe(n,0,1),0===t)this.r=this.g=this.b=n;else{const s=n<=.5?n*(1+t):n+t-n*t,i=2*n-s;this.r=rn(i,s,e+1/3),this.g=rn(i,s,e),this.b=rn(i,s,e-1/3)}return Ae.toWorkingColorSpace(this,s),this}setStyle(e,t=Z){function n(t){void 0!==t&&parseFloat(t)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let s;if(s=/^(\w+)\(([^\)]*)\)/.exec(e)){let i;const a=s[1],l=s[2];switch(a){case"rgb":case"rgba":if(i=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return n(i[4]),this.setRGB(Math.min(255,parseInt(i[1],10))/255,Math.min(255,parseInt(i[2],10))/255,Math.min(255,parseInt(i[3],10))/255,t);if(i=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return n(i[4]),this.setRGB(Math.min(100,parseInt(i[1],10))/100,Math.min(100,parseInt(i[2],10))/100,Math.min(100,parseInt(i[3],10))/100,t);break;case"hsl":case"hsla":if(i=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return n(i[4]),this.setHSL(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(s=/^\#([A-Fa-f\d]+)$/.exec(e)){const n=s[1],i=n.length;if(3===i)return this.setRGB(parseInt(n.charAt(0),16)/15,parseInt(n.charAt(1),16)/15,parseInt(n.charAt(2),16)/15,t);if(6===i)return this.setHex(parseInt(n,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=Z){const n=sn[e.toLowerCase()];return void 0!==n?this.setHex(n,t):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=Re(e.r),this.g=Re(e.g),this.b=Re(e.b),this}copyLinearToSRGB(e){return this.r=De(e.r),this.g=De(e.g),this.b=De(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Z){return Ae.fromWorkingColorSpace(cn.copy(this),e),65536*Math.round(oe(255*cn.r,0,255))+256*Math.round(oe(255*cn.g,0,255))+Math.round(oe(255*cn.b,0,255))}getHexString(e=Z){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=Ae.workingColorSpace){Ae.fromWorkingColorSpace(cn.copy(this),t);const n=cn.r,s=cn.g,i=cn.b,a=Math.max(n,s,i),l=Math.min(n,s,i);let r,o;const c=(l+a)/2;if(l===a)r=0,o=0;else{const e=a-l;switch(o=c<=.5?e/(a+l):e/(2-a-l),a){case n:r=(s-i)/e+(s0&&(e.userData=this.userData),void 0!==this.parameters){const t=this.parameters;for(const n in t)void 0!==t[n]&&(e[n]=t[n]);return e}e.data={attributes:{}};const t=this.index;null!==t&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const n=this.attributes;for(const t in n){const s=n[t];e.data.attributes[t]=s.toJSON(e.data)}const s={};let i=!1;for(const t in this.morphAttributes){const n=this.morphAttributes[t],a=[];for(let t=0,s=n.length;t0&&(s[t]=a,i=!0)}i&&(e.data.morphAttributes=s,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const l=this.boundingSphere;return null!==l&&(e.data.boundingSphere={center:l.center.toArray(),radius:l.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;const t={};this.name=e.name;const n=e.index;null!==n&&this.setIndex(n.clone(t));const s=e.attributes;for(const e in s){const n=s[e];this.setAttribute(e,n.clone(t))}const i=e.morphAttributes;for(const e in i){const n=[],s=i[e];for(let e=0,i=s.length;e0){const n=e[t[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e(e.far-e.near)**2)return}Sn.copy(i).invert(),bn.copy(e.ray).applyMatrix4(Sn),null!==n.boundingBox&&!1===bn.intersectsBox(n.boundingBox)||this._computeIntersections(e,t)}}_computeIntersections(e,t){let n;const s=this.geometry,i=this.material,a=s.index,l=s.attributes.position,r=s.attributes.uv,o=s.attributes.uv1,c=s.attributes.normal,u=s.groups,p=s.drawRange;if(null!==a)if(Array.isArray(i))for(let s=0,l=u.length;sn.far?null:{distance:p,point:Gn.clone(),object:e}}(e,t,n,s,An,xn,Cn,Fn);if(h){i&&(qn.fromBufferAttribute(i,c),_n.fromBufferAttribute(i,u),Mn.fromBufferAttribute(i,p),h.uv=en.getInterpolation(Fn,An,xn,Cn,qn,_n,Mn,new me)),a&&(qn.fromBufferAttribute(a,c),_n.fromBufferAttribute(a,u),Mn.fromBufferAttribute(a,p),h.uv1=en.getInterpolation(Fn,An,xn,Cn,qn,_n,Mn,new me),h.uv2=h.uv1),l&&(Hn.fromBufferAttribute(l,c),Bn.fromBufferAttribute(l,u),Un.fromBufferAttribute(l,p),h.normal=en.getInterpolation(Fn,An,xn,Cn,Hn,Bn,Un,new Ge),h.normal.dot(s.direction)>0&&h.normal.multiplyScalar(-1));const e={a:c,b:u,c:p,normal:new Ge,materialIndex:0};en.getNormal(An,xn,Cn,e.normal),h.face=e}return h}class zn extends Dn{constructor(e=1,t=1,n=1,s=1,i=1,a=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:s,heightSegments:i,depthSegments:a};const l=this;s=Math.floor(s),i=Math.floor(i),a=Math.floor(a);const r=[],o=[],c=[],u=[];let p=0,h=0;function d(e,t,n,s,i,a,d,f,I,m,y){const v=a/I,w=d/m,T=a/2,E=d/2,g=f/2,R=I+1,D=m+1;let S=0,b=0;const N=new Ge;for(let a=0;a0?1:-1,c.push(N.x,N.y,N.z),u.push(r/I),u.push(1-a/m),S+=1}}for(let e=0;e0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const n={};for(const e in this.extensions)!0===this.extensions[e]&&(n[e]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}}class Zn extends Vt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new yt,this.projectionMatrix=new yt,this.projectionMatrixInverse=new yt}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}class Qn extends Zn{constructor(e=50,t=1,n=.1,s=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=s,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=null===e.view?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=2*le*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(.5*ae*this.fov);return.5*this.getFilmHeight()/e}getEffectiveFOV(){return 2*le*Math.atan(Math.tan(.5*ae*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,n,s,i,a){this.aspect=e/t,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=s,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(.5*ae*this.fov)/this.zoom,n=2*t,s=this.aspect*n,i=-.5*s;const a=this.view;if(null!==this.view&&this.view.enabled){const e=a.fullWidth,l=a.fullHeight;i+=a.offsetX*s/e,t-=a.offsetY*n/l,s*=a.width/e,n*=a.height/l}const l=this.filmOffset;0!==l&&(i+=e*l/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+s,t,t-n,e,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,null!==this.view&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const Jn=-90;class $n extends Vt{constructor(e,t,n){super(),this.type="CubeCamera",this.renderTarget=n;const s=new Qn(Jn,1,e,t);s.layers=this.layers,s.up.set(0,1,0),s.lookAt(1,0,0),this.add(s);const i=new Qn(Jn,1,e,t);i.layers=this.layers,i.up.set(0,1,0),i.lookAt(-1,0,0),this.add(i);const a=new Qn(Jn,1,e,t);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(0,1,0),this.add(a);const l=new Qn(Jn,1,e,t);l.layers=this.layers,l.up.set(0,0,1),l.lookAt(0,-1,0),this.add(l);const r=new Qn(Jn,1,e,t);r.layers=this.layers,r.up.set(0,1,0),r.lookAt(0,0,1),this.add(r);const o=new Qn(Jn,1,e,t);o.layers=this.layers,o.up.set(0,1,0),o.lookAt(0,0,-1),this.add(o)}update(e,t){null===this.parent&&this.updateMatrixWorld();const n=this.renderTarget,[s,i,a,l,r,o]=this.children,c=e.getRenderTarget(),u=e.toneMapping,p=e.xr.enabled;e.toneMapping=f,e.xr.enabled=!1;const h=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0),e.render(t,s),e.setRenderTarget(n,1),e.render(t,i),e.setRenderTarget(n,2),e.render(t,a),e.setRenderTarget(n,3),e.render(t,l),e.setRenderTarget(n,4),e.render(t,r),n.texture.generateMipmaps=h,e.setRenderTarget(n,5),e.render(t,o),e.setRenderTarget(c),e.toneMapping=u,e.xr.enabled=p,n.texture.needsPMREMUpdate=!0}}class es extends _e{constructor(e,t,n,s,i,a,l,r,o,c){super(e=void 0!==e?e:[],t=void 0!==t?t:T,n,s,i,a,l,r,o,c),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class ts extends He{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const n={width:e,height:e,depth:1},s=[n,n,n,n,n,n];void 0!==t.encoding&&(ge("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===X?Z:K),this.texture=new es(s,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==t.generateMipmaps&&t.generateMipmaps,this.texture.minFilter=void 0!==t.minFilter?t.minFilter:A}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const n={tEquirect:{value:null}},s="\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t",i="\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t",a=new zn(5,5,5),l=new Kn({name:"CubemapFromEquirect",uniforms:Wn(n),vertexShader:s,fragmentShader:i,side:o,blending:0});l.uniforms.tEquirect.value=t;const r=new Vn(a,l),c=t.minFilter;return t.minFilter===C&&(t.minFilter=A),new $n(1,10,this).update(e,r),t.minFilter=c,r.geometry.dispose(),r.material.dispose(),this}clear(e,t,n,s){const i=e.getRenderTarget();for(let i=0;i<6;i++)e.setRenderTarget(this,i),e.clear(t,n,s);e.setRenderTarget(i)}}const ns=new Ge,ss=new Ge,is=new ye;class as{constructor(e=new Ge(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,n,s){return this.normal.set(e,t,n),this.constant=s,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,n){const s=ns.subVectors(n,t).cross(ss.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(s,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){const n=e.delta(ns),s=this.normal.dot(n);if(0===s)return 0===this.distanceToPoint(e.start)?t.copy(e.start):null;const i=-(e.start.dot(this.normal)+this.constant)/s;return i<0||i>1?null:t.copy(e.start).addScaledVector(n,i)}intersectsLine(e){const t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>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,t){const n=t||is.getNormalMatrix(e),s=this.coplanarPoint(ns).applyMatrix4(e),i=this.normal.applyMatrix3(n).normalize();return this.constant=-s.dot(i),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)}}const ls=new ot,rs=new Ge;class os{constructor(e=new as,t=new as,n=new as,s=new as,i=new as,a=new as){this.planes=[e,t,n,s,i,a]}set(e,t,n,s,i,a){const l=this.planes;return l[0].copy(e),l[1].copy(t),l[2].copy(n),l[3].copy(s),l[4].copy(i),l[5].copy(a),this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e){const t=this.planes,n=e.elements,s=n[0],i=n[1],a=n[2],l=n[3],r=n[4],o=n[5],c=n[6],u=n[7],p=n[8],h=n[9],d=n[10],f=n[11],I=n[12],m=n[13],y=n[14],v=n[15];return t[0].setComponents(l-s,u-r,f-p,v-I).normalize(),t[1].setComponents(l+s,u+r,f+p,v+I).normalize(),t[2].setComponents(l+i,u+o,f+h,v+m).normalize(),t[3].setComponents(l-i,u-o,f-h,v-m).normalize(),t[4].setComponents(l-a,u-c,f-d,v-y).normalize(),t[5].setComponents(l+a,u+c,f+d,v+y).normalize(),this}intersectsObject(e){if(void 0!==e.boundingSphere)null===e.boundingSphere&&e.computeBoundingSphere(),ls.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;null===t.boundingSphere&&t.computeBoundingSphere(),ls.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(ls)}intersectsSprite(e){return ls.center.set(0,0,0),ls.radius=.7071067811865476,ls.applyMatrix4(e.matrixWorld),this.intersectsSphere(ls)}intersectsSphere(e){const t=this.planes,n=e.center,s=-e.radius;for(let e=0;e<6;e++)if(t[e].distanceToPoint(n)0?e.max.x:e.min.x,rs.y=s.normal.y>0?e.max.y:e.min.y,rs.z=s.normal.z>0?e.max.z:e.min.z,s.distanceToPoint(rs)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function cs(){let e=null,t=!1,n=null,s=null;function i(t,a){n(t,a),s=e.requestAnimationFrame(i)}return{start:function(){!0!==t&&null!==n&&(s=e.requestAnimationFrame(i),t=!0)},stop:function(){e.cancelAnimationFrame(s),t=!1},setAnimationLoop:function(e){n=e},setContext:function(t){e=t}}}function us(e,t){const n=t.isWebGL2,s=new WeakMap;return{get:function(e){return e.isInterleavedBufferAttribute&&(e=e.data),s.get(e)},remove:function(t){t.isInterleavedBufferAttribute&&(t=t.data);const n=s.get(t);n&&(e.deleteBuffer(n.buffer),s.delete(t))},update:function(t,i){if(t.isGLBufferAttribute){const e=s.get(t);return void((!e||e.version 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nvec3 pow2( const in vec3 x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat luminance( const in vec3 rgb ) {\n\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\n\treturn dot( weights, rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}\nvec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n} // validated",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\thighp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\n\t\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\n\t\tuv.x *= CUBEUV_TEXEL_WIDTH;\n\t\tuv.y *= CUBEUV_TEXEL_HEIGHT;\n\t\t#ifdef texture2DGradEXT\n\t\t\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\n\t\t#else\n\t\t\treturn texture2D( envMap, uv ).rgb;\n\t\t#endif\n\t}\n\t#define cubeUV_r0 1.0\n\t#define cubeUV_v0 0.339\n\t#define cubeUV_m0 - 2.0\n\t#define cubeUV_r1 0.8\n\t#define cubeUV_v1 0.276\n\t#define cubeUV_m1 - 1.0\n\t#define cubeUV_r4 0.4\n\t#define cubeUV_v4 0.046\n\t#define cubeUV_m4 2.0\n\t#define cubeUV_r5 0.305\n\t#define cubeUV_v5 0.016\n\t#define cubeUV_m5 3.0\n\t#define cubeUV_r6 0.21\n\t#define cubeUV_v6 0.0038\n\t#define cubeUV_m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= cubeUV_r1 ) {\n\t\t\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n\t\t} else if ( roughness >= cubeUV_r4 ) {\n\t\t\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n\t\t} else if ( roughness >= cubeUV_r5 ) {\n\t\t\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n\t\t} else if ( roughness >= cubeUV_r6 ) {\n\t\t\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"vec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 reflectVec = reflect( - viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\tvec2 fw = fwidth( coord ) * 0.5;\n\t\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_fragment:"LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;",lights_lambert_pars_fragment:"varying vec3 vViewPosition;\nstruct LambertMaterial {\n\tvec3 diffuseColor;\n\tfloat specularStrength;\n};\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Lambert\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Lambert",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( LEGACY_LIGHTS )\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#else\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\tmaterial.ior = ior;\n\t#ifdef USE_SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULAR_COLORMAP\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\n\t\t#endif\n\t\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_IRIDESCENCE\n\tmaterial.iridescence = iridescence;\n\tmaterial.iridescenceIOR = iridescenceIOR;\n\t#ifdef USE_IRIDESCENCEMAP\n\t\tmaterial.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;\n\t#endif\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;\n\t#else\n\t\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\n\t#endif\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\n\t#endif\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_IRIDESCENCE\n\t\tfloat iridescence;\n\t\tfloat iridescenceIOR;\n\t\tfloat iridescenceThickness;\n\t\tvec3 iridescenceFresnel;\n\t\tvec3 iridescenceF0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n\t#ifdef IOR\n\t\tfloat ior;\n\t#endif\n\t#ifdef USE_TRANSMISSION\n\t\tfloat transmission;\n\t\tfloat transmissionAlpha;\n\t\tfloat thickness;\n\t\tfloat attenuationDistance;\n\t\tvec3 attenuationColor;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec3 sheenSpecular = vec3( 0.0 );\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n float x2 = x * x;\n float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\n}\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\n#ifdef USE_CLEARCOAT\n\tvec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\n\t\tvec3 f0 = material.clearcoatF0;\n\t\tfloat f90 = material.clearcoatF90;\n\t\tfloat roughness = material.clearcoatRoughness;\n\t\tfloat alpha = pow2( roughness );\n\t\tvec3 halfDir = normalize( lightDir + viewDir );\n\t\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\t\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\t\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\t\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\t\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t\treturn F * ( V * D );\n\t}\n#endif\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\n\tvec3 f0 = material.specularColor;\n\tfloat f90 = material.specularF90;\n\tfloat roughness = material.roughness;\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t#ifdef USE_IRIDESCENCE\n\t\tF = mix( F, material.iridescenceFresnel, material.iridescence );\n\t#endif\n\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( V * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\n#ifdef USE_IRIDESCENCE\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#else\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#endif\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\t#ifdef USE_IRIDESCENCE\n\t\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\n\t#else\n\t\tvec3 Fr = specularColor;\n\t#endif\n\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\t#ifdef USE_IRIDESCENCE\n\t\tcomputeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n\t#else\n\t\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\t#endif\n\tvec3 totalScattering = singleScattering + multiScattering;\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\n\tfloat dotNVi = saturate( dot( normal, geometry.viewDir ) );\n\tif ( material.iridescenceThickness == 0.0 ) {\n\t\tmaterial.iridescence = 0.0;\n\t} else {\n\t\tmaterial.iridescence = saturate( material.iridescence );\n\t}\n\tif ( material.iridescence > 0.0 ) {\n\t\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\t\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n\t}\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\tvec4 spotColor;\n\tvec3 spotLightCoord;\n\tbool inSpotLightMap;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n\t\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n\t\t#else\n\t\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#endif\n\t\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n\t\t\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n\t\t\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n\t\t\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n\t\t\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n\t\t#endif\n\t\t#undef SPOT_LIGHT_MAP_INDEX\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry.normal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tdiffuseColor *= texture2D( map, vMapUv );\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t#if defined( USE_POINTS_UV )\n\t\tvec2 uv = vUv;\n\t#else\n\t\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tdiffuseColor *= texture2D( map, uv );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_POINTS_UV )\n\tvarying vec2 vUv;\n#else\n\t#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t\tuniform mat3 uvTransform;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphcolor_vertex:"#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\n\tvColor *= morphTargetBaseInfluence;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t#if defined( USE_COLOR_ALPHA )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\n\t\t#elif defined( USE_COLOR )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\n\t\t#endif\n\t}\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform ivec2 morphTargetsTextureSize;\n\t\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\n\t\t\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\n\t\t\tint y = texelIndex / morphTargetsTextureSize.x;\n\t\t\tint x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\n\t\t\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = dFdx( vViewPosition );\n\tvec3 fdy = dFdy( vViewPosition );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal *= faceDirection;\n\t#endif\n#endif\n#ifdef USE_NORMALMAP_TANGENTSPACE\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn = getTangentFrame( - vViewPosition, normal, vNormalMapUv );\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn[0] *= faceDirection;\n\t\ttbn[1] *= faceDirection;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn2[0] *= faceDirection;\n\t\ttbn2[1] *= faceDirection;\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef USE_NORMALMAP_OBJECTSPACE\n\tnormal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( USE_NORMALMAP_TANGENTSPACE )\n\tvec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\tnormal = normalize( tbn * mapN );\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef USE_NORMALMAP_OBJECTSPACE\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tmat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( uv.st );\n\t\tvec2 st1 = dFdy( uv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );\n\t\treturn mat3( T * scale, B * scale, N );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\tclearcoatNormal = normalize( tbn2 * clearcoatMapN );\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif",iridescence_pars_fragment:"#ifdef USE_IRIDESCENCEMAP\n\tuniform sampler2D iridescenceMap;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform sampler2D iridescenceThicknessMap;\n#endif",output_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha + 0.1;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec2 packDepthToRG( in highp float v ) {\n\treturn packDepthToRGBA( v ).yx;\n}\nfloat unpackRGToDepth( const in highp vec2 v ) {\n\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\treturn depth * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * depth - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#if NUM_SPOT_LIGHT_MAPS > 0\n\tuniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tuniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\tvec4 shadowWorldPosition;\n#endif\n#if defined( USE_SHADOWMAP )\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if NUM_SPOT_LIGHT_COORDS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition;\n\t\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n\t\t#endif\n\t\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\tuniform highp sampler2D boneTexture;\n\tuniform int boneTextureSize;\n\tmat4 getBoneMatrix( const in float i ) {\n\t\tfloat j = i * 4.0;\n\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\ty = dy * ( y + 0.5 );\n\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\treturn bone;\n\t}\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tmaterial.transmission = transmission;\n\tmaterial.transmissionAlpha = 1.0;\n\tmaterial.thickness = thickness;\n\tmaterial.attenuationDistance = attenuationDistance;\n\tmaterial.attenuationColor = attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tmaterial.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tmaterial.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmission = getIBLVolumeRefraction(\n\t\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\n\t\tmaterial.attenuationColor, material.attenuationDistance );\n\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmission.a, material.transmission );\n\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, material.transmission );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tfloat w0( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\n\t}\n\tfloat w1( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 );\n\t}\n\tfloat w2( float a ){\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\n\t}\n\tfloat w3( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * a );\n\t}\n\tfloat g0( float a ) {\n\t\treturn w0( a ) + w1( a );\n\t}\n\tfloat g1( float a ) {\n\t\treturn w2( a ) + w3( a );\n\t}\n\tfloat h0( float a ) {\n\t\treturn - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\n\t}\n\tfloat h1( float a ) {\n\t\treturn 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\n\t}\n\tvec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {\n\t\tuv = uv * texelSize.zw + 0.5;\n\t\tvec2 iuv = floor( uv );\n\t\tvec2 fuv = fract( uv );\n\t\tfloat g0x = g0( fuv.x );\n\t\tfloat g1x = g1( fuv.x );\n\t\tfloat h0x = h0( fuv.x );\n\t\tfloat h1x = h1( fuv.x );\n\t\tfloat h0y = h0( fuv.y );\n\t\tfloat h1y = h1( fuv.y );\n\t\tvec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\treturn g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\n\t\t\tg1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\n\t}\n\tvec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\n\t\tvec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\n\t\tvec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\n\t\tvec2 fLodSizeInv = 1.0 / fLodSize;\n\t\tvec2 cLodSizeInv = 1.0 / cLodSize;\n\t\tvec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );\n\t\tvec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );\n\t\treturn mix( fSample, cSample, fract( lod ) );\n\t}\n\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\n\t\tfloat lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\treturn textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\n\t}\n\tvec3 applyVolumeAttenuation( const in vec3 radiance, const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tif ( isinf( attenuationDistance ) ) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\n\t\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\n\t\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\n\t\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\n\t}\n#endif",uv_pars_fragment:"#ifdef USE_UV\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tuniform mat3 mapTransform;\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform mat3 alphaMapTransform;\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tuniform mat3 lightMapTransform;\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tuniform mat3 aoMapTransform;\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tuniform mat3 bumpMapTransform;\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tuniform mat3 normalMapTransform;\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tuniform mat3 displacementMapTransform;\n\tvarying vec2 vDisplacementMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tuniform mat3 emissiveMapTransform;\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tuniform mat3 metalnessMapTransform;\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tuniform mat3 roughnessMapTransform;\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tuniform mat3 clearcoatMapTransform;\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform mat3 clearcoatNormalMapTransform;\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform mat3 clearcoatRoughnessMapTransform;\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tuniform mat3 sheenColorMapTransform;\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tuniform mat3 sheenRoughnessMapTransform;\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tuniform mat3 iridescenceMapTransform;\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform mat3 iridescenceThicknessMapTransform;\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tuniform mat3 specularMapTransform;\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tuniform mat3 specularColorMapTransform;\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tuniform mat3 specularIntensityMapTransform;\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = vec3( uv, 1 ).xy;\n#endif\n#ifdef USE_MAP\n\tvMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ALPHAMAP\n\tvAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_LIGHTMAP\n\tvLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_AOMAP\n\tvAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_BUMPMAP\n\tvBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_NORMALMAP\n\tvNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tvDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_METALNESSMAP\n\tvMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULARMAP\n\tvSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tvTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_THICKNESSMAP\n\tvThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",background_frag:"uniform sampler2D t2D;\nuniform float backgroundIntensity;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include \n\t#include \n}",backgroundCube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",backgroundCube_frag:"#ifdef ENVMAP_TYPE_CUBE\n\tuniform samplerCube envMap;\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n\tuniform sampler2D envMap;\n#endif\nuniform float flipEnvMap;\nuniform float backgroundBlurriness;\nuniform float backgroundIntensity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness );\n\t#else\n\t\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = texColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_frag:"#define LAMBERT\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t#else\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n\t#ifdef OPAQUE\n\t\tgl_FragColor.a = 1.0;\n\t#endif\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define USE_SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef USE_SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULAR_COLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_IRIDESCENCE\n\tuniform float iridescence;\n\tuniform float iridescenceIOR;\n\tuniform float iridescenceThicknessMinimum;\n\tuniform float iridescenceThicknessMaximum;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \n#ifdef USE_POINTS_UV\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\nvoid main() {\n\t#ifdef USE_POINTS_UV\n\t\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n}"},ds={common:{diffuse:{value:new on(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new ye},alphaMap:{value:null},alphaMapTransform:{value:new ye},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new ye}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new ye}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new ye}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new ye},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new ye},normalScale:{value:new me(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new ye},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new ye}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new ye}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new ye}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new on(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new on(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new ye}},sprite:{diffuse:{value:new on(16777215)},opacity:{value:1},center:{value:new me(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new ye},alphaMap:{value:null},alphaTest:{value:0}}},fs={basic:{uniforms:kn([ds.common,ds.specularmap,ds.envmap,ds.aomap,ds.lightmap,ds.fog]),vertexShader:hs.meshbasic_vert,fragmentShader:hs.meshbasic_frag},lambert:{uniforms:kn([ds.common,ds.specularmap,ds.envmap,ds.aomap,ds.lightmap,ds.emissivemap,ds.bumpmap,ds.normalmap,ds.displacementmap,ds.fog,ds.lights,{emissive:{value:new on(0)}}]),vertexShader:hs.meshlambert_vert,fragmentShader:hs.meshlambert_frag},phong:{uniforms:kn([ds.common,ds.specularmap,ds.envmap,ds.aomap,ds.lightmap,ds.emissivemap,ds.bumpmap,ds.normalmap,ds.displacementmap,ds.fog,ds.lights,{emissive:{value:new on(0)},specular:{value:new on(1118481)},shininess:{value:30}}]),vertexShader:hs.meshphong_vert,fragmentShader:hs.meshphong_frag},standard:{uniforms:kn([ds.common,ds.envmap,ds.aomap,ds.lightmap,ds.emissivemap,ds.bumpmap,ds.normalmap,ds.displacementmap,ds.roughnessmap,ds.metalnessmap,ds.fog,ds.lights,{emissive:{value:new on(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:hs.meshphysical_vert,fragmentShader:hs.meshphysical_frag},toon:{uniforms:kn([ds.common,ds.aomap,ds.lightmap,ds.emissivemap,ds.bumpmap,ds.normalmap,ds.displacementmap,ds.gradientmap,ds.fog,ds.lights,{emissive:{value:new on(0)}}]),vertexShader:hs.meshtoon_vert,fragmentShader:hs.meshtoon_frag},matcap:{uniforms:kn([ds.common,ds.bumpmap,ds.normalmap,ds.displacementmap,ds.fog,{matcap:{value:null}}]),vertexShader:hs.meshmatcap_vert,fragmentShader:hs.meshmatcap_frag},points:{uniforms:kn([ds.points,ds.fog]),vertexShader:hs.points_vert,fragmentShader:hs.points_frag},dashed:{uniforms:kn([ds.common,ds.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:hs.linedashed_vert,fragmentShader:hs.linedashed_frag},depth:{uniforms:kn([ds.common,ds.displacementmap]),vertexShader:hs.depth_vert,fragmentShader:hs.depth_frag},normal:{uniforms:kn([ds.common,ds.bumpmap,ds.normalmap,ds.displacementmap,{opacity:{value:1}}]),vertexShader:hs.meshnormal_vert,fragmentShader:hs.meshnormal_frag},sprite:{uniforms:kn([ds.sprite,ds.fog]),vertexShader:hs.sprite_vert,fragmentShader:hs.sprite_frag},background:{uniforms:{uvTransform:{value:new ye},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:hs.background_vert,fragmentShader:hs.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:hs.backgroundCube_vert,fragmentShader:hs.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:hs.cube_vert,fragmentShader:hs.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:hs.equirect_vert,fragmentShader:hs.equirect_frag},distanceRGBA:{uniforms:kn([ds.common,ds.displacementmap,{referencePosition:{value:new Ge},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:hs.distanceRGBA_vert,fragmentShader:hs.distanceRGBA_frag},shadow:{uniforms:kn([ds.lights,ds.fog,{color:{value:new on(0)},opacity:{value:1}}]),vertexShader:hs.shadow_vert,fragmentShader:hs.shadow_frag}};fs.physical={uniforms:kn([fs.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new ye},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new ye},clearcoatNormalScale:{value:new me(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new ye},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new ye},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new ye},sheen:{value:0},sheenColor:{value:new on(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new ye},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new ye},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new ye},transmissionSamplerSize:{value:new me},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new ye},attenuationDistance:{value:0},attenuationColor:{value:new on(0)},specularColor:{value:new on(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new ye},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new ye}}]),vertexShader:hs.meshphysical_vert,fragmentShader:hs.meshphysical_frag};const Is={r:0,b:0,g:0};function ms(e,t,n,s,i,a,l){const c=new on(0);let u,p,h=!0===a?0:1,d=null,f=0,I=null;function m(t,n){t.getRGB(Is,Yn(e)),s.buffers.color.setClear(Is.r,Is.g,Is.b,n,l)}return{getClearColor:function(){return c},setClearColor:function(e,t=1){c.set(e),h=t,m(c,h)},getClearAlpha:function(){return h},setClearAlpha:function(e){h=e,m(c,h)},render:function(a,y){let v=!1,w=!0===y.isScene?y.background:null;switch(w&&w.isTexture&&(w=(y.backgroundBlurriness>0?n:t).get(w)),null===w?m(c,h):w&&w.isColor&&(m(w,1),v=!0),e.xr.getEnvironmentBlendMode()){case"opaque":v=!0;break;case"additive":s.buffers.color.setClear(0,0,0,1,l),v=!0;break;case"alpha-blend":s.buffers.color.setClear(0,0,0,0,l),v=!0}(e.autoClear||v)&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),w&&(w.isCubeTexture||w.mapping===g)?(void 0===p&&(p=new Vn(new zn(1,1,1),new Kn({name:"BackgroundCubeMaterial",uniforms:Wn(fs.backgroundCube.uniforms),vertexShader:fs.backgroundCube.vertexShader,fragmentShader:fs.backgroundCube.fragmentShader,side:o,depthTest:!1,depthWrite:!1,fog:!1})),p.geometry.deleteAttribute("normal"),p.geometry.deleteAttribute("uv"),p.onBeforeRender=function(e,t,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(p.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(p)),p.material.uniforms.envMap.value=w,p.material.uniforms.flipEnvMap.value=w.isCubeTexture&&!1===w.isRenderTargetTexture?-1:1,p.material.uniforms.backgroundBlurriness.value=y.backgroundBlurriness,p.material.uniforms.backgroundIntensity.value=y.backgroundIntensity,p.material.toneMapped=w.colorSpace!==Z,d===w&&f===w.version&&I===e.toneMapping||(p.material.needsUpdate=!0,d=w,f=w.version,I=e.toneMapping),p.layers.enableAll(),a.unshift(p,p.geometry,p.material,0,0,null)):w&&w.isTexture&&(void 0===u&&(u=new Vn(new ps(2,2),new Kn({name:"BackgroundMaterial",uniforms:Wn(fs.background.uniforms),vertexShader:fs.background.vertexShader,fragmentShader:fs.background.fragmentShader,side:r,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),Object.defineProperty(u.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(u)),u.material.uniforms.t2D.value=w,u.material.uniforms.backgroundIntensity.value=y.backgroundIntensity,u.material.toneMapped=w.colorSpace!==Z,!0===w.matrixAutoUpdate&&w.updateMatrix(),u.material.uniforms.uvTransform.value.copy(w.matrix),d===w&&f===w.version&&I===e.toneMapping||(u.material.needsUpdate=!0,d=w,f=w.version,I=e.toneMapping),u.layers.enableAll(),a.unshift(u,u.geometry,u.material,0,0,null))}}}function ys(e,t,n,s){const i=e.getParameter(e.MAX_VERTEX_ATTRIBS),a=s.isWebGL2?null:t.get("OES_vertex_array_object"),l=s.isWebGL2||null!==a,r={},o=d(null);let c=o,u=!1;function p(t){return s.isWebGL2?e.bindVertexArray(t):a.bindVertexArrayOES(t)}function h(t){return s.isWebGL2?e.deleteVertexArray(t):a.deleteVertexArrayOES(t)}function d(e){const t=[],n=[],s=[];for(let e=0;e=0){const n=i[t];let s=a[t];if(void 0===s&&("instanceMatrix"===t&&e.instanceMatrix&&(s=e.instanceMatrix),"instanceColor"===t&&e.instanceColor&&(s=e.instanceColor)),void 0===n)return!0;if(n.attribute!==s)return!0;if(s&&n.data!==s.data)return!0;l++}return c.attributesNum!==l||c.index!==s}(i,w,h,T),E&&function(e,t,n,s){const i={},a=t.attributes;let l=0;const r=n.getAttributes();for(const t in r)if(r[t].location>=0){let n=a[t];void 0===n&&("instanceMatrix"===t&&e.instanceMatrix&&(n=e.instanceMatrix),"instanceColor"===t&&e.instanceColor&&(n=e.instanceColor));const s={};s.attribute=n,n&&n.data&&(s.data=n.data),i[t]=s,l++}c.attributes=i,c.attributesNum=l,c.index=s}(i,w,h,T)}else{const e=!0===o.wireframe;c.geometry===w.id&&c.program===h.id&&c.wireframe===e||(c.geometry=w.id,c.program=h.id,c.wireframe=e,E=!0)}null!==T&&n.update(T,e.ELEMENT_ARRAY_BUFFER),(E||u)&&(u=!1,function(i,a,l,r){if(!1===s.isWebGL2&&(i.isInstancedMesh||r.isInstancedBufferGeometry)&&null===t.get("ANGLE_instanced_arrays"))return;f();const o=r.attributes,c=l.getAttributes(),u=a.defaultAttributeValues;for(const t in c){const s=c[t];if(s.location>=0){let a=o[t];if(void 0===a&&("instanceMatrix"===t&&i.instanceMatrix&&(a=i.instanceMatrix),"instanceColor"===t&&i.instanceColor&&(a=i.instanceColor)),void 0!==a){const t=a.normalized,l=a.itemSize,o=n.get(a);if(void 0===o)continue;const c=o.buffer,u=o.type,p=o.bytesPerElement;if(a.isInterleavedBufferAttribute){const n=a.data,o=n.stride,h=a.offset;if(n.isInstancedInterleavedBuffer){for(let e=0;e0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision>0)return"highp";t="mediump"}return"mediump"===t&&e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.MEDIUM_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const a="undefined"!=typeof WebGL2RenderingContext&&"WebGL2RenderingContext"===e.constructor.name;let l=void 0!==n.precision?n.precision:"highp";const r=i(l);r!==l&&(console.warn("THREE.WebGLRenderer:",l,"not supported, using",r,"instead."),l=r);const o=a||t.has("WEBGL_draw_buffers"),c=!0===n.logarithmicDepthBuffer,u=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),p=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),h=e.getParameter(e.MAX_TEXTURE_SIZE),d=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),f=e.getParameter(e.MAX_VERTEX_ATTRIBS),I=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),m=e.getParameter(e.MAX_VARYING_VECTORS),y=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),v=p>0,w=a||t.has("OES_texture_float");return{isWebGL2:a,drawBuffers:o,getMaxAnisotropy:function(){if(void 0!==s)return s;if(!0===t.has("EXT_texture_filter_anisotropic")){const n=t.get("EXT_texture_filter_anisotropic");s=e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else s=0;return s},getMaxPrecision:i,precision:l,logarithmicDepthBuffer:c,maxTextures:u,maxVertexTextures:p,maxTextureSize:h,maxCubemapSize:d,maxAttributes:f,maxVertexUniforms:I,maxVaryings:m,maxFragmentUniforms:y,vertexTextures:v,floatFragmentTextures:w,floatVertexTextures:v&&w,maxSamples:a?e.getParameter(e.MAX_SAMPLES):0}}function Ts(e){const t=this;let n=null,s=0,i=!1,a=!1;const l=new as,r=new ye,o={value:null,needsUpdate:!1};function c(e,n,s,i){const a=null!==e?e.length:0;let c=null;if(0!==a){if(c=o.value,!0!==i||null===c){const t=s+4*a,i=n.matrixWorldInverse;r.getNormalMatrix(i),(null===c||c.length0),t.numPlanes=s,t.numIntersection=0);else{const e=a?0:s,t=4*e;let i=f.clippingState||null;o.value=i,i=c(p,r,t,u);for(let e=0;e!==t;++e)i[e]=n[e];f.clippingState=i,this.numIntersection=h?this.numPlanes:0,this.numPlanes+=e}}}function Es(e){let t=new WeakMap;function n(e,t){return 303===t?e.mapping=T:304===t&&(e.mapping=E),e}function s(e){const n=e.target;n.removeEventListener("dispose",s);const i=t.get(n);void 0!==i&&(t.delete(n),i.dispose())}return{get:function(i){if(i&&i.isTexture&&!1===i.isRenderTargetTexture){const a=i.mapping;if(303===a||304===a){if(t.has(i))return n(t.get(i).texture,i.mapping);{const a=i.image;if(a&&a.height>0){const l=new ts(a.height/2);return l.fromEquirectangularTexture(e,i),t.set(i,l),i.addEventListener("dispose",s),n(l.texture,i.mapping)}return null}}}return i},dispose:function(){t=new WeakMap}}}class gs extends Zn{constructor(e=-1,t=1,n=1,s=-1,i=.1,a=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=s,this.near=i,this.far=a,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=null===e.view?null:Object.assign({},e.view),this}setViewOffset(e,t,n,s,i,a){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=s,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,s=(this.top+this.bottom)/2;let i=n-e,a=n+e,l=s+t,r=s-t;if(null!==this.view&&this.view.enabled){const e=(this.right-this.left)/this.view.fullWidth/this.zoom,t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=e*this.view.offsetX,a=i+e*this.view.width,l-=t*this.view.offsetY,r=l-t*this.view.height}this.projectionMatrix.makeOrthographic(i,a,l,r,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,null!==this.view&&(t.object.view=Object.assign({},this.view)),t}}const Rs=[.125,.215,.35,.446,.526,.582],Ds=new gs,Ss=new on;let bs=null;const Ns=(1+Math.sqrt(5))/2,Os=1/Ns,As=[new Ge(1,1,1),new Ge(-1,1,1),new Ge(1,1,-1),new Ge(-1,1,-1),new Ge(0,Ns,Os),new Ge(0,Ns,-Os),new Ge(Os,0,Ns),new Ge(-Os,0,Ns),new Ge(Ns,Os,0),new Ge(-Ns,Os,0)];class xs{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,s=100){bs=this._renderer.getRenderTarget(),this._setSize(256);const i=this._allocateTargets();return i.depthBuffer=!0,this._sceneToCubeUV(e,n,s,i),t>0&&this._blur(i,0,0,t),this._applyPMREM(i),this._cleanup(i),i}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=qs(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=Ps(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let e=0;ee-4?r=Rs[l-e+4-1]:0===l&&(r=0),s.push(r);const o=1/(a-2),c=-o,u=1+o,p=[c,c,u,c,u,u,c,c,u,u,c,u],h=6,d=6,f=3,I=2,m=1,y=new Float32Array(f*d*h),v=new Float32Array(I*d*h),w=new Float32Array(m*d*h);for(let e=0;e2?0:-1,s=[t,n,0,t+2/3,n,0,t+2/3,n+1,0,t,n,0,t+2/3,n+1,0,t,n+1,0];y.set(s,f*d*e),v.set(p,I*d*e);const i=[e,e,e,e,e,e];w.set(i,m*d*e)}const T=new Dn;T.setAttribute("position",new dn(y,f)),T.setAttribute("uv",new dn(v,I)),T.setAttribute("faceIndex",new dn(w,m)),t.push(T),i>4&&i--}return{lodPlanes:t,sizeLods:n,sigmas:s}}(s)),this._blurMaterial=function(e,t,n){const s=new Float32Array(20),i=new Ge(0,1,0);return new Kn({name:"SphericalGaussianBlur",defines:{n:20,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${e}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:s},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}(s,e,t)}return s}_compileMaterial(e){const t=new Vn(this._lodPlanes[0],e);this._renderer.compile(t,Ds)}_sceneToCubeUV(e,t,n,s){const i=new Qn(90,1,t,n),a=[1,-1,1,1,1,1],l=[1,1,1,-1,-1,-1],r=this._renderer,c=r.autoClear,u=r.toneMapping;r.getClearColor(Ss),r.toneMapping=f,r.autoClear=!1;const p=new un({name:"PMREM.Background",side:o,depthWrite:!1,depthTest:!1}),h=new Vn(new zn,p);let d=!1;const I=e.background;I?I.isColor&&(p.color.copy(I),e.background=null,d=!0):(p.color.copy(Ss),d=!0);for(let t=0;t<6;t++){const n=t%3;0===n?(i.up.set(0,a[t],0),i.lookAt(l[t],0,0)):1===n?(i.up.set(0,0,a[t]),i.lookAt(0,l[t],0)):(i.up.set(0,a[t],0),i.lookAt(0,0,l[t]));const o=this._cubeSize;Ls(s,n*o,t>2?o:0,o,o),r.setRenderTarget(s),d&&r.render(h,i),r.render(e,i)}h.geometry.dispose(),h.material.dispose(),r.toneMapping=u,r.autoClear=c,e.background=I}_textureToCubeUV(e,t){const n=this._renderer,s=e.mapping===T||e.mapping===E;s?(null===this._cubemapMaterial&&(this._cubemapMaterial=qs()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===e.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=Ps());const i=s?this._cubemapMaterial:this._equirectMaterial,a=new Vn(this._lodPlanes[0],i);i.uniforms.envMap.value=e;const l=this._cubeSize;Ls(t,0,0,3*l,2*l),n.setRenderTarget(t),n.render(a,Ds)}_applyPMREM(e){const t=this._renderer,n=t.autoClear;t.autoClear=!1;for(let t=1;t20&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${f} samples when the maximum is set to 20`);const I=[];let m=0;for(let e=0;e<20;++e){const t=e/d,n=Math.exp(-t*t/2);I.push(n),0===e?m+=n:ey-4?s-y+4:0),4*(this._cubeSize-v),3*v,2*v),r.setRenderTarget(t),r.render(c,Ds)}}function Cs(e,t,n){const s=new He(e,t,n);return s.texture.mapping=g,s.texture.name="PMREM.cubeUv",s.scissorTest=!0,s}function Ls(e,t,n,s,i){e.viewport.set(t,n,s,i),e.scissor.set(t,n,s,i)}function Ps(){return new Kn({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}function qs(){return new Kn({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tuniform float flipEnvMap;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}function _s(e){let t=new WeakMap,n=null;function s(e){const n=e.target;n.removeEventListener("dispose",s);const i=t.get(n);void 0!==i&&(t.delete(n),i.dispose())}return{get:function(i){if(i&&i.isTexture){const a=i.mapping,l=303===a||304===a,r=a===T||a===E;if(l||r){if(i.isRenderTargetTexture&&!0===i.needsPMREMUpdate){i.needsPMREMUpdate=!1;let s=t.get(i);return null===n&&(n=new xs(e)),s=l?n.fromEquirectangular(i,s):n.fromCubemap(i,s),t.set(i,s),s.texture}if(t.has(i))return t.get(i).texture;{const a=i.image;if(l&&a&&a.height>0||r&&a&&function(e){let t=0;for(let n=0;n<6;n++)void 0!==e[n]&&t++;return 6===t}(a)){null===n&&(n=new xs(e));const a=l?n.fromEquirectangular(i):n.fromCubemap(i);return t.set(i,a),i.addEventListener("dispose",s),a.texture}return null}}}return i},dispose:function(){t=new WeakMap,null!==n&&(n.dispose(),n=null)}}}function Ms(e){const t={};function n(n){if(void 0!==t[n])return t[n];let s;switch(n){case"WEBGL_depth_texture":s=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":s=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":s=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":s=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:s=e.getExtension(n)}return t[n]=s,s}return{has:function(e){return null!==n(e)},init:function(e){e.isWebGL2?n("EXT_color_buffer_float"):(n("WEBGL_depth_texture"),n("OES_texture_float"),n("OES_texture_half_float"),n("OES_texture_half_float_linear"),n("OES_standard_derivatives"),n("OES_element_index_uint"),n("OES_vertex_array_object"),n("ANGLE_instanced_arrays")),n("OES_texture_float_linear"),n("EXT_color_buffer_half_float"),n("WEBGL_multisampled_render_to_texture")},get:function(e){const t=n(e);return null===t&&console.warn("THREE.WebGLRenderer: "+e+" extension not supported."),t}}}function Hs(e,t,n,s){const i={},a=new WeakMap;function l(e){const r=e.target;null!==r.index&&t.remove(r.index);for(const e in r.attributes)t.remove(r.attributes[e]);r.removeEventListener("dispose",l),delete i[r.id];const o=a.get(r);o&&(t.remove(o),a.delete(r)),s.releaseStatesOfGeometry(r),!0===r.isInstancedBufferGeometry&&delete r._maxInstanceCount,n.memory.geometries--}function r(e){const n=[],s=e.index,i=e.attributes.position;let l=0;if(null!==s){const e=s.array;l=s.version;for(let t=0,s=e.length;tt.maxTextureSize&&(S=Math.ceil(D/t.maxTextureSize),D=t.maxTextureSize);const b=new Float32Array(D*S*4*d),N=new Be(b,D,S,d);N.type=q,N.needsUpdate=!0;const O=4*R;for(let x=0;x0)return e;const i=t*n;let a=Xs[i];if(void 0===a&&(a=new Float32Array(i),Xs[i]=a),0!==t){s.toArray(a,0);for(let s=1,i=0;s!==t;++s)i+=n,e[s].toArray(a,i)}return a}function ei(e,t){if(e.length!==t.length)return!1;for(let n=0,s=e.length;n":" "} ${i}: ${n[e]}`)}return s.join("\n")}(e.getShaderSource(t),s)}return i}function Qi(e,t){const n=function(e){switch(e){case Q:return["Linear","( value )"];case Z:return["sRGB","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",e),["Linear","( value )"]}}(t);return"vec4 "+e+"( vec4 value ) { return LinearTo"+n[0]+n[1]+"; }"}function Ji(e,t){let n;switch(t){case I:n="Linear";break;case m:n="Reinhard";break;case y:n="OptimizedCineon";break;case v:n="ACESFilmic";break;case w:n="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",t),n="Linear"}return"vec3 "+e+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function $i(e){return""!==e}function ea(e,t){const n=t.numSpotLightShadows+t.numSpotLightMaps-t.numSpotLightShadowsWithMaps;return e.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,t.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,n).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,t.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,t.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,t.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,t.numPointLightShadows)}function ta(e,t){return e.replace(/NUM_CLIPPING_PLANES/g,t.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,t.numClippingPlanes-t.numClipIntersection)}const na=/^[ \t]*#include +<([\w\d./]+)>/gm;function sa(e){return e.replace(na,ia)}function ia(e,t){const n=hs[t];if(void 0===n)throw new Error("Can not resolve #include <"+t+">");return sa(n)}const aa=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function la(e){return e.replace(aa,ra)}function ra(e,t,n,s){let i="";for(let e=parseInt(t);e0&&(b+="\n"),N=[R,D].filter($i).join("\n"),N.length>0&&(N+="\n")):(b=[oa(n),"#define SHADER_NAME "+n.shaderName,D,n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+y:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.displacementMap?"#define USE_DISPLACEMENTMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.mapUv?"#define MAP_UV "+n.mapUv:"",n.alphaMapUv?"#define ALPHAMAP_UV "+n.alphaMapUv:"",n.lightMapUv?"#define LIGHTMAP_UV "+n.lightMapUv:"",n.aoMapUv?"#define AOMAP_UV "+n.aoMapUv:"",n.emissiveMapUv?"#define EMISSIVEMAP_UV "+n.emissiveMapUv:"",n.bumpMapUv?"#define BUMPMAP_UV "+n.bumpMapUv:"",n.normalMapUv?"#define NORMALMAP_UV "+n.normalMapUv:"",n.displacementMapUv?"#define DISPLACEMENTMAP_UV "+n.displacementMapUv:"",n.metalnessMapUv?"#define METALNESSMAP_UV "+n.metalnessMapUv:"",n.roughnessMapUv?"#define ROUGHNESSMAP_UV "+n.roughnessMapUv:"",n.clearcoatMapUv?"#define CLEARCOATMAP_UV "+n.clearcoatMapUv:"",n.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+n.clearcoatNormalMapUv:"",n.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+n.clearcoatRoughnessMapUv:"",n.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+n.iridescenceMapUv:"",n.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+n.iridescenceThicknessMapUv:"",n.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+n.sheenColorMapUv:"",n.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+n.sheenRoughnessMapUv:"",n.specularMapUv?"#define SPECULARMAP_UV "+n.specularMapUv:"",n.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+n.specularColorMapUv:"",n.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+n.specularIntensityMapUv:"",n.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+n.transmissionMapUv:"",n.thicknessMapUv?"#define THICKNESSMAP_UV "+n.thicknessMapUv:"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&!1===n.flatShading?"#define USE_MORPHNORMALS":"",n.morphColors&&n.isWebGL2?"#define USE_MORPHCOLORS":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+n.morphTextureStride:"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_COUNT "+n.morphTargetsCount:"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+I:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1","\tattribute vec2 uv1;","#endif","#ifdef USE_UV2","\tattribute vec2 uv2;","#endif","#ifdef USE_UV3","\tattribute vec2 uv3;","#endif","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter($i).join("\n"),N=[R,oa(n),"#define SHADER_NAME "+n.shaderName,D,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+m:"",n.envMap?"#define "+y:"",n.envMap?"#define "+v:"",w?"#define CUBEUV_TEXEL_WIDTH "+w.texelWidth:"",w?"#define CUBEUV_TEXEL_HEIGHT "+w.texelHeight:"",w?"#define CUBEUV_MAX_MIP "+w.maxMip+".0":"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescence?"#define USE_IRIDESCENCE":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+I:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==f?"#define TONE_MAPPING":"",n.toneMapping!==f?hs.tonemapping_pars_fragment:"",n.toneMapping!==f?Ji("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.opaque?"#define OPAQUE":"",hs.encodings_pars_fragment,Qi("linearToOutputTexel",n.outputColorSpace),n.useDepthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter($i).join("\n")),c=sa(c),c=ea(c,n),c=ta(c,n),u=sa(u),u=ea(u,n),u=ta(u,n),c=la(c),u=la(u),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(O="#version 300 es\n",b=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+b,N=["#define varying in",n.glslVersion===ee?"":"layout(location = 0) out highp vec4 pc_fragColor;",n.glslVersion===ee?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+N);const A=O+b+c,x=O+N+u,C=Xi(r,r.VERTEX_SHADER,A),L=Xi(r,r.FRAGMENT_SHADER,x);if(r.attachShader(S,C),r.attachShader(S,L),void 0!==n.index0AttributeName?r.bindAttribLocation(S,0,n.index0AttributeName):!0===n.morphTargets&&r.bindAttribLocation(S,0,"position"),r.linkProgram(S),e.debug.checkShaderErrors){const t=r.getProgramInfoLog(S).trim(),n=r.getShaderInfoLog(C).trim(),s=r.getShaderInfoLog(L).trim();let i=!0,a=!0;if(!1===r.getProgramParameter(S,r.LINK_STATUS))if(i=!1,"function"==typeof e.debug.onShaderError)e.debug.onShaderError(r,S,C,L);else{const e=Zi(r,C,"vertex"),n=Zi(r,L,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(S,r.VALIDATE_STATUS)+"\n\nProgram Info Log: "+t+"\n"+e+"\n"+n)}else""!==t?console.warn("THREE.WebGLProgram: Program Info Log:",t):""!==n&&""!==s||(a=!1);a&&(this.diagnostics={runnable:i,programLog:t,vertexShader:{log:n,prefix:b},fragmentShader:{log:s,prefix:N}})}let P,q;return r.deleteShader(C),r.deleteShader(L),this.getUniforms=function(){return void 0===P&&(P=new Yi(r,S)),P},this.getAttributes=function(){return void 0===q&&(q=function(e,t){const n={},s=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES);for(let i=0;i0,K=a.iridescence>0,Z=a.sheen>0,J=a.transmission>0,$=X&&!!a.clearcoatMap,ee=X&&!!a.clearcoatNormalMap,te=X&&!!a.clearcoatRoughnessMap,ne=K&&!!a.iridescenceMap,se=K&&!!a.iridescenceThicknessMap,ie=Z&&!!a.sheenColorMap,ae=Z&&!!a.sheenRoughnessMap,le=!!a.specularMap,re=!!a.specularColorMap,oe=!!a.specularIntensityMap,ce=J&&!!a.transmissionMap,ue=J&&!!a.thicknessMap,pe=!!a.gradientMap,he=!!a.alphaMap,de=a.alphaTest>0,fe=!!a.extensions,Ie=!!R.attributes.uv1,me=!!R.attributes.uv2,ye=!!R.attributes.uv3;return{isWebGL2:h,shaderID:N,shaderName:a.type,vertexShader:x,fragmentShader:C,defines:a.defines,customVertexShaderID:L,customFragmentShaderID:P,isRawShaderMaterial:!0===a.isRawShaderMaterial,glslVersion:a.glslVersion,precision:m,instancing:M,instancingColor:M&&null!==T.instanceColor,supportsVertexTextures:I,outputColorSpace:null===_?e.outputColorSpace:!0===_.isXRRenderTarget?_.texture.colorSpace:Q,map:H,matcap:B,envMap:U,envMapMode:U&&S.mapping,envMapCubeUVHeight:b,aoMap:F,lightMap:G,bumpMap:V,normalMap:j,displacementMap:I&&z,emissiveMap:W,normalMapObjectSpace:j&&1===a.normalMapType,normalMapTangentSpace:j&&0===a.normalMapType,metalnessMap:k,roughnessMap:Y,clearcoat:X,clearcoatMap:$,clearcoatNormalMap:ee,clearcoatRoughnessMap:te,iridescence:K,iridescenceMap:ne,iridescenceThicknessMap:se,sheen:Z,sheenColorMap:ie,sheenRoughnessMap:ae,specularMap:le,specularColorMap:re,specularIntensityMap:oe,transmission:J,transmissionMap:ce,thicknessMap:ue,gradientMap:pe,opaque:!1===a.transparent&&1===a.blending,alphaMap:he,alphaTest:de,combine:a.combine,mapUv:H&&v(a.map.channel),aoMapUv:F&&v(a.aoMap.channel),lightMapUv:G&&v(a.lightMap.channel),bumpMapUv:V&&v(a.bumpMap.channel),normalMapUv:j&&v(a.normalMap.channel),displacementMapUv:z&&v(a.displacementMap.channel),emissiveMapUv:W&&v(a.emissiveMap.channel),metalnessMapUv:k&&v(a.metalnessMap.channel),roughnessMapUv:Y&&v(a.roughnessMap.channel),clearcoatMapUv:$&&v(a.clearcoatMap.channel),clearcoatNormalMapUv:ee&&v(a.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:te&&v(a.clearcoatRoughnessMap.channel),iridescenceMapUv:ne&&v(a.iridescenceMap.channel),iridescenceThicknessMapUv:se&&v(a.iridescenceThicknessMap.channel),sheenColorMapUv:ie&&v(a.sheenColorMap.channel),sheenRoughnessMapUv:ae&&v(a.sheenRoughnessMap.channel),specularMapUv:le&&v(a.specularMap.channel),specularColorMapUv:re&&v(a.specularColorMap.channel),specularIntensityMapUv:oe&&v(a.specularIntensityMap.channel),transmissionMapUv:ce&&v(a.transmissionMap.channel),thicknessMapUv:ue&&v(a.thicknessMap.channel),alphaMapUv:he&&v(a.alphaMap.channel),vertexTangents:j&&!!R.attributes.tangent,vertexColors:a.vertexColors,vertexAlphas:!0===a.vertexColors&&!!R.attributes.color&&4===R.attributes.color.itemSize,vertexUv1s:Ie,vertexUv2s:me,vertexUv3s:ye,pointsUvs:!0===T.isPoints&&!!R.attributes.uv&&(H||he),fog:!!E,useFog:!0===a.fog,fogExp2:E&&E.isFogExp2,flatShading:!0===a.flatShading,sizeAttenuation:!0===a.sizeAttenuation,logarithmicDepthBuffer:d,skinning:!0===T.isSkinnedMesh,morphTargets:void 0!==R.morphAttributes.position,morphNormals:void 0!==R.morphAttributes.normal,morphColors:void 0!==R.morphAttributes.color,morphTargetsCount:A,morphTextureStride:q,numDirLights:r.directional.length,numPointLights:r.point.length,numSpotLights:r.spot.length,numSpotLightMaps:r.spotLightMap.length,numRectAreaLights:r.rectArea.length,numHemiLights:r.hemi.length,numDirLightShadows:r.directionalShadowMap.length,numPointLightShadows:r.pointShadowMap.length,numSpotLightShadows:r.spotShadowMap.length,numSpotLightShadowsWithMaps:r.numSpotLightShadowsWithMaps,numClippingPlanes:l.numPlanes,numClipIntersection:l.numIntersection,dithering:a.dithering,shadowMapEnabled:e.shadowMap.enabled&&p.length>0,shadowMapType:e.shadowMap.type,toneMapping:a.toneMapped?e.toneMapping:f,useLegacyLights:e.useLegacyLights,premultipliedAlpha:a.premultipliedAlpha,doubleSided:a.side===c,flipSided:a.side===o,useDepthPacking:a.depthPacking>=0,depthPacking:a.depthPacking||0,index0AttributeName:a.index0AttributeName,extensionDerivatives:fe&&!0===a.extensions.derivatives,extensionFragDepth:fe&&!0===a.extensions.fragDepth,extensionDrawBuffers:fe&&!0===a.extensions.drawBuffers,extensionShaderTextureLOD:fe&&!0===a.extensions.shaderTextureLOD,rendererExtensionFragDepth:h||s.has("EXT_frag_depth"),rendererExtensionDrawBuffers:h||s.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:h||s.has("EXT_shader_texture_lod"),customProgramCacheKey:a.customProgramCacheKey()}},getProgramCacheKey:function(t){const n=[];if(t.shaderID?n.push(t.shaderID):(n.push(t.customVertexShaderID),n.push(t.customFragmentShaderID)),void 0!==t.defines)for(const e in t.defines)n.push(e),n.push(t.defines[e]);return!1===t.isRawShaderMaterial&&(function(e,t){e.push(t.precision),e.push(t.outputColorSpace),e.push(t.envMapMode),e.push(t.envMapCubeUVHeight),e.push(t.mapUv),e.push(t.alphaMapUv),e.push(t.lightMapUv),e.push(t.aoMapUv),e.push(t.bumpMapUv),e.push(t.normalMapUv),e.push(t.displacementMapUv),e.push(t.emissiveMapUv),e.push(t.metalnessMapUv),e.push(t.roughnessMapUv),e.push(t.clearcoatMapUv),e.push(t.clearcoatNormalMapUv),e.push(t.clearcoatRoughnessMapUv),e.push(t.iridescenceMapUv),e.push(t.iridescenceThicknessMapUv),e.push(t.sheenColorMapUv),e.push(t.sheenRoughnessMapUv),e.push(t.specularMapUv),e.push(t.specularColorMapUv),e.push(t.specularIntensityMapUv),e.push(t.transmissionMapUv),e.push(t.thicknessMapUv),e.push(t.combine),e.push(t.fogExp2),e.push(t.sizeAttenuation),e.push(t.morphTargetsCount),e.push(t.morphAttributeCount),e.push(t.numDirLights),e.push(t.numPointLights),e.push(t.numSpotLights),e.push(t.numSpotLightMaps),e.push(t.numHemiLights),e.push(t.numRectAreaLights),e.push(t.numDirLightShadows),e.push(t.numPointLightShadows),e.push(t.numSpotLightShadows),e.push(t.numSpotLightShadowsWithMaps),e.push(t.shadowMapType),e.push(t.toneMapping),e.push(t.numClippingPlanes),e.push(t.numClipIntersection),e.push(t.depthPacking)}(n,t),function(e,t){r.disableAll(),t.isWebGL2&&r.enable(0),t.supportsVertexTextures&&r.enable(1),t.instancing&&r.enable(2),t.instancingColor&&r.enable(3),t.matcap&&r.enable(4),t.envMap&&r.enable(5),t.normalMapObjectSpace&&r.enable(6),t.normalMapTangentSpace&&r.enable(7),t.clearcoat&&r.enable(8),t.iridescence&&r.enable(9),t.alphaTest&&r.enable(10),t.vertexColors&&r.enable(11),t.vertexAlphas&&r.enable(12),t.vertexUv1s&&r.enable(13),t.vertexUv2s&&r.enable(14),t.vertexUv3s&&r.enable(15),t.vertexTangents&&r.enable(16),e.push(r.mask),r.disableAll(),t.fog&&r.enable(0),t.useFog&&r.enable(1),t.flatShading&&r.enable(2),t.logarithmicDepthBuffer&&r.enable(3),t.skinning&&r.enable(4),t.morphTargets&&r.enable(5),t.morphNormals&&r.enable(6),t.morphColors&&r.enable(7),t.premultipliedAlpha&&r.enable(8),t.shadowMapEnabled&&r.enable(9),t.useLegacyLights&&r.enable(10),t.doubleSided&&r.enable(11),t.flipSided&&r.enable(12),t.useDepthPacking&&r.enable(13),t.dithering&&r.enable(14),t.transmission&&r.enable(15),t.sheen&&r.enable(16),t.opaque&&r.enable(17),t.pointsUvs&&r.enable(18),e.push(r.mask)}(n,t),n.push(e.outputColorSpace)),n.push(t.customProgramCacheKey),n.join()},getUniforms:function(e){const t=y[e.type];let n;if(t){const e=fs[t];n=Xn.clone(e.uniforms)}else n=e.uniforms;return n},acquireProgram:function(t,n){let s;for(let e=0,t=p.length;e0?s.push(u):!0===l.transparent?i.push(u):n.push(u)},unshift:function(e,t,l,r,o,c){const u=a(e,t,l,r,o,c);l.transmission>0?s.unshift(u):!0===l.transparent?i.unshift(u):n.unshift(u)},finish:function(){for(let n=t,s=e.length;n1&&n.sort(e||Ia),s.length>1&&s.sort(t||ma),i.length>1&&i.sort(t||ma)}}}function va(){let e=new WeakMap;return{get:function(t,n){const s=e.get(t);let i;return void 0===s?(i=new ya,e.set(t,[i])):n>=s.length?(i=new ya,s.push(i)):i=s[n],i},dispose:function(){e=new WeakMap}}}function wa(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case"DirectionalLight":n={direction:new Ge,color:new on};break;case"SpotLight":n={position:new Ge,direction:new Ge,color:new on,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new Ge,color:new on,distance:0,decay:0};break;case"HemisphereLight":n={direction:new Ge,skyColor:new on,groundColor:new on};break;case"RectAreaLight":n={color:new on,position:new Ge,halfWidth:new Ge,halfHeight:new Ge}}return e[t.id]=n,n}}}let Ta=0;function Ea(e,t){return(t.castShadow?2:0)-(e.castShadow?2:0)+(t.map?1:0)-(e.map?1:0)}function ga(e,t){const n=new wa,s=function(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case"DirectionalLight":case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new me};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new me,shadowCameraNear:1,shadowCameraFar:1e3}}return e[t.id]=n,n}}}(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0};for(let e=0;e<9;e++)i.probe.push(new Ge);const a=new Ge,l=new yt,r=new yt;return{setup:function(a,l){let r=0,o=0,c=0;for(let e=0;e<9;e++)i.probe[e].set(0,0,0);let u=0,p=0,h=0,d=0,f=0,I=0,m=0,y=0,v=0,w=0;a.sort(Ea);const T=!0===l?Math.PI:1;for(let e=0,t=a.length;e0&&(t.isWebGL2||!0===e.has("OES_texture_float_linear")?(i.rectAreaLTC1=ds.LTC_FLOAT_1,i.rectAreaLTC2=ds.LTC_FLOAT_2):!0===e.has("OES_texture_half_float_linear")?(i.rectAreaLTC1=ds.LTC_HALF_1,i.rectAreaLTC2=ds.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),i.ambient[0]=r,i.ambient[1]=o,i.ambient[2]=c;const E=i.hash;E.directionalLength===u&&E.pointLength===p&&E.spotLength===h&&E.rectAreaLength===d&&E.hemiLength===f&&E.numDirectionalShadows===I&&E.numPointShadows===m&&E.numSpotShadows===y&&E.numSpotMaps===v||(i.directional.length=u,i.spot.length=h,i.rectArea.length=d,i.point.length=p,i.hemi.length=f,i.directionalShadow.length=I,i.directionalShadowMap.length=I,i.pointShadow.length=m,i.pointShadowMap.length=m,i.spotShadow.length=y,i.spotShadowMap.length=y,i.directionalShadowMatrix.length=I,i.pointShadowMatrix.length=m,i.spotLightMatrix.length=y+v-w,i.spotLightMap.length=v,i.numSpotLightShadowsWithMaps=w,E.directionalLength=u,E.pointLength=p,E.spotLength=h,E.rectAreaLength=d,E.hemiLength=f,E.numDirectionalShadows=I,E.numPointShadows=m,E.numSpotShadows=y,E.numSpotMaps=v,i.version=Ta++)},setupView:function(e,t){let n=0,s=0,o=0,c=0,u=0;const p=t.matrixWorldInverse;for(let t=0,h=e.length;t=a.length?(l=new Ra(e,t),a.push(l)):l=a[i],l},dispose:function(){n=new WeakMap}}}class Sa extends nn{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=3200,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class ba extends nn{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}function Na(e,t,n){let s=new os;const a=new me,u=new me,p=new Me,h=new Sa({depthPacking:3201}),d=new ba,f={},I=n.maxTextureSize,m={[r]:o,[o]:r,[c]:c},y=new Kn({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new me},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),v=y.clone();v.defines.HORIZONTAL_PASS=1;const w=new Dn;w.setAttribute("position",new dn(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const T=new Vn(w,y),E=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=i;let g=this.type;function R(n,s){const i=t.update(T);y.defines.VSM_SAMPLES!==n.blurSamples&&(y.defines.VSM_SAMPLES=n.blurSamples,v.defines.VSM_SAMPLES=n.blurSamples,y.needsUpdate=!0,v.needsUpdate=!0),null===n.mapPass&&(n.mapPass=new He(a.x,a.y)),y.uniforms.shadow_pass.value=n.map.texture,y.uniforms.resolution.value=n.mapSize,y.uniforms.radius.value=n.radius,e.setRenderTarget(n.mapPass),e.clear(),e.renderBufferDirect(s,null,i,y,T,null),v.uniforms.shadow_pass.value=n.mapPass.texture,v.uniforms.resolution.value=n.mapSize,v.uniforms.radius.value=n.radius,e.setRenderTarget(n.map),e.clear(),e.renderBufferDirect(s,null,i,v,T,null)}function D(t,n,s,i){let a=null;const r=!0===s.isPointLight?t.customDistanceMaterial:t.customDepthMaterial;if(void 0!==r)a=r;else if(a=!0===s.isPointLight?d:h,e.localClippingEnabled&&!0===n.clipShadows&&Array.isArray(n.clippingPlanes)&&0!==n.clippingPlanes.length||n.displacementMap&&0!==n.displacementScale||n.alphaMap&&n.alphaTest>0||n.map&&n.alphaTest>0){const e=a.uuid,t=n.uuid;let s=f[e];void 0===s&&(s={},f[e]=s);let i=s[t];void 0===i&&(i=a.clone(),s[t]=i),a=i}return a.visible=n.visible,a.wireframe=n.wireframe,a.side=i===l?null!==n.shadowSide?n.shadowSide:n.side:null!==n.shadowSide?n.shadowSide:m[n.side],a.alphaMap=n.alphaMap,a.alphaTest=n.alphaTest,a.map=n.map,a.clipShadows=n.clipShadows,a.clippingPlanes=n.clippingPlanes,a.clipIntersection=n.clipIntersection,a.displacementMap=n.displacementMap,a.displacementScale=n.displacementScale,a.displacementBias=n.displacementBias,a.wireframeLinewidth=n.wireframeLinewidth,a.linewidth=n.linewidth,!0===s.isPointLight&&!0===a.isMeshDistanceMaterial&&(e.properties.get(a).light=s),a}function S(n,i,a,r,o){if(!1===n.visible)return;if(n.layers.test(i.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&o===l)&&(!n.frustumCulled||s.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(a.matrixWorldInverse,n.matrixWorld);const s=t.update(n),i=n.material;if(Array.isArray(i)){const t=s.groups;for(let l=0,c=t.length;lI||a.y>I)&&(a.x>I&&(u.x=Math.floor(I/m.x),a.x=u.x*m.x,c.mapSize.x=u.x),a.y>I&&(u.y=Math.floor(I/m.y),a.y=u.y*m.y,c.mapSize.y=u.y)),null===c.map||!0===d||!0===f){const e=this.type!==l?{minFilter:b,magFilter:b}:{};null!==c.map&&c.map.dispose(),c.map=new He(a.x,a.y,e),c.map.texture.name=o.name+".shadowMap",c.camera.updateProjectionMatrix()}e.setRenderTarget(c.map),e.clear();const y=c.getViewportCount();for(let e=0;e=1):-1!==q.indexOf("OpenGL ES")&&(P=parseFloat(/^OpenGL ES (\d)/.exec(q)[1]),L=P>=2);let _=null,M={};const H=e.getParameter(e.SCISSOR_BOX),B=e.getParameter(e.VIEWPORT),U=(new Me).fromArray(H),F=(new Me).fromArray(B);function G(t,n,i,a){const l=new Uint8Array(4),r=e.createTexture();e.bindTexture(t,r),e.texParameteri(t,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(t,e.TEXTURE_MAG_FILTER,e.NEAREST);for(let r=0;rs||e.height>s)&&(i=s/Math.max(e.width,e.height)),i<1||!0===t){if("undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap){const s=t?he:Math.floor,a=s(i*e.width),l=s(i*e.height);void 0===I&&(I=v(a,l));const r=n?v(a,l):I;return r.width=a,r.height=l,r.getContext("2d").drawImage(e,0,0,a,l),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+e.width+"x"+e.height+") to ("+a+"x"+l+")."),r}return"data"in e&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+e.width+"x"+e.height+")."),e}return e}function T(e){return pe(e.width)&&pe(e.height)}function E(e,t){return e.generateMipmaps&&t&&e.minFilter!==b&&e.minFilter!==A}function g(t){e.generateMipmap(t)}function F(n,s,i,a,l=!1){if(!1===r)return s;if(null!==n){if(void 0!==e[n])return e[n];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+n+"'")}let o=s;return s===e.RED&&(i===e.FLOAT&&(o=e.R32F),i===e.HALF_FLOAT&&(o=e.R16F),i===e.UNSIGNED_BYTE&&(o=e.R8)),s===e.RG&&(i===e.FLOAT&&(o=e.RG32F),i===e.HALF_FLOAT&&(o=e.RG16F),i===e.UNSIGNED_BYTE&&(o=e.RG8)),s===e.RGBA&&(i===e.FLOAT&&(o=e.RGBA32F),i===e.HALF_FLOAT&&(o=e.RGBA16F),i===e.UNSIGNED_BYTE&&(o=a===Z&&!1===l?e.SRGB8_ALPHA8:e.RGBA8),i===e.UNSIGNED_SHORT_4_4_4_4&&(o=e.RGBA4),i===e.UNSIGNED_SHORT_5_5_5_1&&(o=e.RGB5_A1)),o!==e.R16F&&o!==e.R32F&&o!==e.RG16F&&o!==e.RG32F&&o!==e.RGBA16F&&o!==e.RGBA32F||t.get("EXT_color_buffer_float"),o}function G(e,t,n){return!0===E(e,n)||e.isFramebufferTexture&&e.minFilter!==b&&e.minFilter!==A?Math.log2(Math.max(t.width,t.height))+1:void 0!==e.mipmaps&&e.mipmaps.length>0?e.mipmaps.length:e.isCompressedTexture&&Array.isArray(e.image)?t.mipmaps.length:1}function V(t){return t===b||t===N||t===O?e.NEAREST:e.LINEAR}function j(e){const t=e.target;t.removeEventListener("dispose",j),function(e){const t=s.get(e);if(void 0===t.__webglInit)return;const n=e.source,i=m.get(n);if(i){const s=i[t.__cacheKey];s.usedTimes--,0===s.usedTimes&&W(e),0===Object.keys(i).length&&m.delete(n)}s.remove(e)}(t),t.isVideoTexture&&f.delete(t)}function z(t){const n=t.target;n.removeEventListener("dispose",z),function(t){const n=t.texture,i=s.get(t),a=s.get(n);if(void 0!==a.__webglTexture&&(e.deleteTexture(a.__webglTexture),l.memory.textures--),t.depthTexture&&t.depthTexture.dispose(),t.isWebGLCubeRenderTarget)for(let t=0;t<6;t++)e.deleteFramebuffer(i.__webglFramebuffer[t]),i.__webglDepthbuffer&&e.deleteRenderbuffer(i.__webglDepthbuffer[t]);else{if(e.deleteFramebuffer(i.__webglFramebuffer),i.__webglDepthbuffer&&e.deleteRenderbuffer(i.__webglDepthbuffer),i.__webglMultisampledFramebuffer&&e.deleteFramebuffer(i.__webglMultisampledFramebuffer),i.__webglColorRenderbuffer)for(let t=0;t0&&a.__version!==t.version){const e=t.image;if(null===e)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else{if(!1!==e.complete)return void ne(a,t,i);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.bindTexture(e.TEXTURE_2D,a.__webglTexture,e.TEXTURE0+i)}const X={[R]:e.REPEAT,[D]:e.CLAMP_TO_EDGE,[S]:e.MIRRORED_REPEAT},J={[b]:e.NEAREST,[N]:e.NEAREST_MIPMAP_NEAREST,[O]:e.NEAREST_MIPMAP_LINEAR,[A]:e.LINEAR,[x]:e.LINEAR_MIPMAP_NEAREST,[C]:e.LINEAR_MIPMAP_LINEAR};function $(n,a,l){if(l?(e.texParameteri(n,e.TEXTURE_WRAP_S,X[a.wrapS]),e.texParameteri(n,e.TEXTURE_WRAP_T,X[a.wrapT]),n!==e.TEXTURE_3D&&n!==e.TEXTURE_2D_ARRAY||e.texParameteri(n,e.TEXTURE_WRAP_R,X[a.wrapR]),e.texParameteri(n,e.TEXTURE_MAG_FILTER,J[a.magFilter]),e.texParameteri(n,e.TEXTURE_MIN_FILTER,J[a.minFilter])):(e.texParameteri(n,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(n,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),n!==e.TEXTURE_3D&&n!==e.TEXTURE_2D_ARRAY||e.texParameteri(n,e.TEXTURE_WRAP_R,e.CLAMP_TO_EDGE),a.wrapS===D&&a.wrapT===D||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),e.texParameteri(n,e.TEXTURE_MAG_FILTER,V(a.magFilter)),e.texParameteri(n,e.TEXTURE_MIN_FILTER,V(a.minFilter)),a.minFilter!==b&&a.minFilter!==A&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),!0===t.has("EXT_texture_filter_anisotropic")){const l=t.get("EXT_texture_filter_anisotropic");if(a.magFilter===b)return;if(a.minFilter!==O&&a.minFilter!==C)return;if(a.type===q&&!1===t.has("OES_texture_float_linear"))return;if(!1===r&&a.type===_&&!1===t.has("OES_texture_half_float_linear"))return;(a.anisotropy>1||s.get(a).__currentAnisotropy)&&(e.texParameterf(n,l.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,i.getMaxAnisotropy())),s.get(a).__currentAnisotropy=a.anisotropy)}}function ee(t,n){let s=!1;void 0===t.__webglInit&&(t.__webglInit=!0,n.addEventListener("dispose",j));const i=n.source;let a=m.get(i);void 0===a&&(a={},m.set(i,a));const r=function(e){const t=[];return t.push(e.wrapS),t.push(e.wrapT),t.push(e.wrapR||0),t.push(e.magFilter),t.push(e.minFilter),t.push(e.anisotropy),t.push(e.internalFormat),t.push(e.format),t.push(e.type),t.push(e.generateMipmaps),t.push(e.premultiplyAlpha),t.push(e.flipY),t.push(e.unpackAlignment),t.push(e.colorSpace),t.join()}(n);if(r!==t.__cacheKey){void 0===a[r]&&(a[r]={texture:e.createTexture(),usedTimes:0},l.memory.textures++,s=!0),a[r].usedTimes++;const i=a[t.__cacheKey];void 0!==i&&(a[t.__cacheKey].usedTimes--,0===i.usedTimes&&W(n)),t.__cacheKey=r,t.__webglTexture=a[r].texture}return s}function ne(t,i,l){let o=e.TEXTURE_2D;(i.isDataArrayTexture||i.isCompressedArrayTexture)&&(o=e.TEXTURE_2D_ARRAY),i.isData3DTexture&&(o=e.TEXTURE_3D);const c=ee(t,i),p=i.source;n.bindTexture(o,t.__webglTexture,e.TEXTURE0+l);const h=s.get(p);if(p.version!==h.__version||!0===c){n.activeTexture(e.TEXTURE0+l),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,i.flipY),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.premultiplyAlpha),e.pixelStorei(e.UNPACK_ALIGNMENT,i.unpackAlignment),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.NONE);const t=function(e){return!r&&(e.wrapS!==D||e.wrapT!==D||e.minFilter!==b&&e.minFilter!==A)}(i)&&!1===T(i.image);let s=w(i.image,t,!1,u);s=oe(i,s);const d=T(s)||r,f=a.convert(i.format,i.colorSpace);let I,m=a.convert(i.type),y=F(i.internalFormat,f,m,i.colorSpace);$(o,i,d);const v=i.mipmaps,R=r&&!0!==i.isVideoTexture,S=void 0===h.__version||!0===c,N=G(i,s,d);if(i.isDepthTexture)y=e.DEPTH_COMPONENT,r?y=i.type===q?e.DEPTH_COMPONENT32F:i.type===P?e.DEPTH_COMPONENT24:i.type===M?e.DEPTH24_STENCIL8:e.DEPTH_COMPONENT16:i.type===q&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),i.format===B&&y===e.DEPTH_COMPONENT&&1012!==i.type&&i.type!==P&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),i.type=P,m=a.convert(i.type)),i.format===U&&y===e.DEPTH_COMPONENT&&(y=e.DEPTH_STENCIL,i.type!==M&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),i.type=M,m=a.convert(i.type))),S&&(R?n.texStorage2D(e.TEXTURE_2D,1,y,s.width,s.height):n.texImage2D(e.TEXTURE_2D,0,y,s.width,s.height,0,f,m,null));else if(i.isDataTexture)if(v.length>0&&d){R&&S&&n.texStorage2D(e.TEXTURE_2D,N,y,v[0].width,v[0].height);for(let t=0,s=v.length;t>=1,i>>=1}}else if(v.length>0&&d){R&&S&&n.texStorage2D(e.TEXTURE_2D,N,y,v[0].width,v[0].height);for(let t=0,s=v.length;t=e.TEXTURE_CUBE_MAP_POSITIVE_X&&o<=e.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&e.framebufferTexture2D(e.FRAMEBUFFER,r,o,s.get(l).__webglTexture,0),n.bindFramebuffer(e.FRAMEBUFFER,null)}function ie(t,n,s){if(e.bindRenderbuffer(e.RENDERBUFFER,t),n.depthBuffer&&!n.stencilBuffer){let i=e.DEPTH_COMPONENT16;if(s||re(n)){const t=n.depthTexture;t&&t.isDepthTexture&&(t.type===q?i=e.DEPTH_COMPONENT32F:t.type===P&&(i=e.DEPTH_COMPONENT24));const s=le(n);re(n)?h.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,s,i,n.width,n.height):e.renderbufferStorageMultisample(e.RENDERBUFFER,s,i,n.width,n.height)}else e.renderbufferStorage(e.RENDERBUFFER,i,n.width,n.height);e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t)}else if(n.depthBuffer&&n.stencilBuffer){const i=le(n);s&&!1===re(n)?e.renderbufferStorageMultisample(e.RENDERBUFFER,i,e.DEPTH24_STENCIL8,n.width,n.height):re(n)?h.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,i,e.DEPTH24_STENCIL8,n.width,n.height):e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_STENCIL,n.width,n.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,t)}else{const t=!0===n.isWebGLMultipleRenderTargets?n.texture:[n.texture];for(let i=0;i0&&!0===t.has("WEBGL_multisampled_render_to_texture")&&!1!==n.__useRenderToTexture}function oe(e,n){const s=e.colorSpace,i=e.format,a=e.type;return!0===e.isCompressedTexture||e.format===te||s!==Q&&s!==K&&(s===Z?!1===r?!0===t.has("EXT_sRGB")&&i===H?(e.format=te,e.minFilter=A,e.generateMipmaps=!1):n=Ce.sRGBToLinear(n):i===H&&a===L||console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",s)),n}this.allocateTextureUnit=function(){const e=k;return e>=o&&console.warn("THREE.WebGLTextures: Trying to use "+e+" texture units while this GPU supports only "+o),k+=1,e},this.resetTextureUnits=function(){k=0},this.setTexture2D=Y,this.setTexture2DArray=function(t,i){const a=s.get(t);t.version>0&&a.__version!==t.version?ne(a,t,i):n.bindTexture(e.TEXTURE_2D_ARRAY,a.__webglTexture,e.TEXTURE0+i)},this.setTexture3D=function(t,i){const a=s.get(t);t.version>0&&a.__version!==t.version?ne(a,t,i):n.bindTexture(e.TEXTURE_3D,a.__webglTexture,e.TEXTURE0+i)},this.setTextureCube=function(t,i){const l=s.get(t);t.version>0&&l.__version!==t.version?function(t,i,l){if(6!==i.image.length)return;const o=ee(t,i),u=i.source;n.bindTexture(e.TEXTURE_CUBE_MAP,t.__webglTexture,e.TEXTURE0+l);const p=s.get(u);if(u.version!==p.__version||!0===o){n.activeTexture(e.TEXTURE0+l),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,i.flipY),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.premultiplyAlpha),e.pixelStorei(e.UNPACK_ALIGNMENT,i.unpackAlignment),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.NONE);const t=i.isCompressedTexture||i.image[0].isCompressedTexture,s=i.image[0]&&i.image[0].isDataTexture,h=[];for(let e=0;e<6;e++)h[e]=t||s?s?i.image[e].image:i.image[e]:w(i.image[e],!1,!0,c),h[e]=oe(i,h[e]);const d=h[0],f=T(d)||r,I=a.convert(i.format,i.colorSpace),m=a.convert(i.type),y=F(i.internalFormat,I,m,i.colorSpace),v=r&&!0!==i.isVideoTexture,R=void 0===p.__version||!0===o;let D,S=G(i,d,f);if($(e.TEXTURE_CUBE_MAP,i,f),t){v&&R&&n.texStorage2D(e.TEXTURE_CUBE_MAP,S,y,d.width,d.height);for(let t=0;t<6;t++){D=h[t].mipmaps;for(let s=0;s0&&S++,n.texStorage2D(e.TEXTURE_CUBE_MAP,S,y,h[0].width,h[0].height));for(let t=0;t<6;t++)if(s){v?n.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,0,0,h[t].width,h[t].height,I,m,h[t].data):n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,y,h[t].width,h[t].height,0,I,m,h[t].data);for(let s=0;s0&&!1===re(t)){const s=h?o:[o];c.__webglMultisampledFramebuffer=e.createFramebuffer(),c.__webglColorRenderbuffer=[],n.bindFramebuffer(e.FRAMEBUFFER,c.__webglMultisampledFramebuffer);for(let n=0;n0&&!1===re(t)){const i=t.isWebGLMultipleRenderTargets?t.texture:[t.texture],a=t.width,l=t.height;let r=e.COLOR_BUFFER_BIT;const o=[],c=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,u=s.get(t),p=!0===t.isWebGLMultipleRenderTargets;if(p)for(let t=0;tr+c?(o.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!o.inputState.pinching&&l<=r-c&&(o.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else null!==r&&e.gripSpace&&(i=t.getPose(e.gripSpace,n),null!==i&&(r.matrix.fromArray(i.transform.matrix),r.matrix.decompose(r.position,r.rotation,r.scale),r.matrixWorldNeedsUpdate=!0,i.linearVelocity?(r.hasLinearVelocity=!0,r.linearVelocity.copy(i.linearVelocity)):r.hasLinearVelocity=!1,i.angularVelocity?(r.hasAngularVelocity=!0,r.angularVelocity.copy(i.angularVelocity)):r.hasAngularVelocity=!1));null!==l&&(s=t.getPose(e.targetRaySpace,n),null===s&&null!==i&&(s=i),null!==s&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1,this.dispatchEvent(Pa)))}return null!==l&&(l.visible=null!==s),null!==r&&(r.visible=null!==i),null!==o&&(o.visible=null!==a),this}_getHandJoint(e,t){if(void 0===e.joints[t.jointName]){const n=new La;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}}class _a extends _e{constructor(e,t,n,s,i,a,l,r,o,c){if((c=void 0!==c?c:B)!==B&&c!==U)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&c===B&&(n=P),void 0===n&&c===U&&(n=M),super(null,s,i,a,l,r,c,n,o),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=void 0!==l?l:b,this.minFilter=void 0!==r?r:b,this.flipY=!1,this.generateMipmaps=!1}}class Ma extends ne{constructor(e,t){super();const n=this;let s=null,i=1,a=null,l="local-floor",r=1,o=null,c=null,u=null,p=null,h=null,d=null;const f=t.getContextAttributes();let I=null,m=null;const y=[],v=[],w=new Set,T=new Map,E=new Qn;E.layers.enable(1),E.viewport=new Me;const g=new Qn;g.layers.enable(2),g.viewport=new Me;const R=[E,g],D=new Ca;D.layers.enable(1),D.layers.enable(2);let S=null,b=null;function N(e){const t=v.indexOf(e.inputSource);if(-1===t)return;const n=y[t];void 0!==n&&(n.update(e.inputSource,e.frame,o||a),n.dispatchEvent({type:e.type,data:e.inputSource}))}function O(){s.removeEventListener("select",N),s.removeEventListener("selectstart",N),s.removeEventListener("selectend",N),s.removeEventListener("squeeze",N),s.removeEventListener("squeezestart",N),s.removeEventListener("squeezeend",N),s.removeEventListener("end",O),s.removeEventListener("inputsourceschange",A);for(let e=0;e=0&&(v[s]=null,y[s].disconnect(n))}for(let t=0;t=v.length){v.push(n),s=e;break}if(null===v[e]){v[e]=n,s=e;break}}if(-1===s)break}const i=y[s];i&&i.connect(n)}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=y[e];return void 0===t&&(t=new qa,y[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=y[e];return void 0===t&&(t=new qa,y[e]=t),t.getGripSpace()},this.getHand=function(e){let t=y[e];return void 0===t&&(t=new qa,y[e]=t),t.getHandSpace()},this.setFramebufferScaleFactor=function(e){i=e,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(e){l=e,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return o||a},this.setReferenceSpace=function(e){o=e},this.getBaseLayer=function(){return null!==p?p:h},this.getBinding=function(){return u},this.getFrame=function(){return d},this.getSession=function(){return s},this.setSession=async function(c){if(s=c,null!==s){if(I=e.getRenderTarget(),s.addEventListener("select",N),s.addEventListener("selectstart",N),s.addEventListener("selectend",N),s.addEventListener("squeeze",N),s.addEventListener("squeezestart",N),s.addEventListener("squeezeend",N),s.addEventListener("end",O),s.addEventListener("inputsourceschange",A),!0!==f.xrCompatible&&await t.makeXRCompatible(),void 0===s.renderState.layers||!1===e.capabilities.isWebGL2){const n={antialias:void 0!==s.renderState.layers||f.antialias,alpha:!0,depth:f.depth,stencil:f.stencil,framebufferScaleFactor:i};h=new XRWebGLLayer(s,t,n),s.updateRenderState({baseLayer:h}),m=new He(h.framebufferWidth,h.framebufferHeight,{format:H,type:L,colorSpace:e.outputColorSpace,stencilBuffer:f.stencil})}else{let n=null,a=null,l=null;f.depth&&(l=f.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,n=f.stencil?U:B,a=f.stencil?M:P);const r={colorFormat:t.RGBA8,depthFormat:l,scaleFactor:i};u=new XRWebGLBinding(s,t),p=u.createProjectionLayer(r),s.updateRenderState({layers:[p]}),m=new He(p.textureWidth,p.textureHeight,{format:H,type:L,depthTexture:new _a(p.textureWidth,p.textureHeight,a,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:f.stencil,colorSpace:e.outputColorSpace,samples:f.antialias?4:0}),e.properties.get(m).__ignoreDepthValues=p.ignoreDepthValues}m.isXRRenderTarget=!0,this.setFoveation(r),o=null,a=await s.requestReferenceSpace(l),F.setContext(s),F.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(null!==s)return s.environmentBlendMode};const x=new Ge,C=new Ge;function q(e,t){null===t?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(null===s)return;D.near=g.near=E.near=e.near,D.far=g.far=E.far=e.far,S===D.near&&b===D.far||(s.updateRenderState({depthNear:D.near,depthFar:D.far}),S=D.near,b=D.far);const t=e.parent,n=D.cameras;q(D,t);for(let e=0;et&&(T.set(e,e.lastChangedTime),n.dispatchEvent({type:"planechanged",data:e}))}else w.add(e),T.set(e,s.lastChangedTime),n.dispatchEvent({type:"planeadded",data:e})}d=null})),this.setAnimationLoop=function(e){_=e},this.dispose=function(){}}}function Ha(e,t){function n(e,t){!0===e.matrixAutoUpdate&&e.updateMatrix(),t.value.copy(e.matrix)}function s(s,i){s.opacity.value=i.opacity,i.color&&s.diffuse.value.copy(i.color),i.emissive&&s.emissive.value.copy(i.emissive).multiplyScalar(i.emissiveIntensity),i.map&&(s.map.value=i.map,n(i.map,s.mapTransform)),i.alphaMap&&(s.alphaMap.value=i.alphaMap,n(i.alphaMap,s.alphaMapTransform)),i.bumpMap&&(s.bumpMap.value=i.bumpMap,n(i.bumpMap,s.bumpMapTransform),s.bumpScale.value=i.bumpScale,i.side===o&&(s.bumpScale.value*=-1)),i.normalMap&&(s.normalMap.value=i.normalMap,n(i.normalMap,s.normalMapTransform),s.normalScale.value.copy(i.normalScale),i.side===o&&s.normalScale.value.negate()),i.displacementMap&&(s.displacementMap.value=i.displacementMap,n(i.displacementMap,s.displacementMapTransform),s.displacementScale.value=i.displacementScale,s.displacementBias.value=i.displacementBias),i.emissiveMap&&(s.emissiveMap.value=i.emissiveMap,n(i.emissiveMap,s.emissiveMapTransform)),i.specularMap&&(s.specularMap.value=i.specularMap,n(i.specularMap,s.specularMapTransform)),i.alphaTest>0&&(s.alphaTest.value=i.alphaTest);const a=t.get(i).envMap;if(a&&(s.envMap.value=a,s.flipEnvMap.value=a.isCubeTexture&&!1===a.isRenderTargetTexture?-1:1,s.reflectivity.value=i.reflectivity,s.ior.value=i.ior,s.refractionRatio.value=i.refractionRatio),i.lightMap){s.lightMap.value=i.lightMap;const t=!0===e.useLegacyLights?Math.PI:1;s.lightMapIntensity.value=i.lightMapIntensity*t,n(i.lightMap,s.lightMapTransform)}i.aoMap&&(s.aoMap.value=i.aoMap,s.aoMapIntensity.value=i.aoMapIntensity,n(i.aoMap,s.aoMapTransform))}return{refreshFogUniforms:function(t,n){n.color.getRGB(t.fogColor.value,Yn(e)),n.isFog?(t.fogNear.value=n.near,t.fogFar.value=n.far):n.isFogExp2&&(t.fogDensity.value=n.density)},refreshMaterialUniforms:function(e,i,a,l,r){i.isMeshBasicMaterial||i.isMeshLambertMaterial?s(e,i):i.isMeshToonMaterial?(s(e,i),function(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap)}(e,i)):i.isMeshPhongMaterial?(s(e,i),function(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4)}(e,i)):i.isMeshStandardMaterial?(s(e,i),function(e,s){e.metalness.value=s.metalness,s.metalnessMap&&(e.metalnessMap.value=s.metalnessMap,n(s.metalnessMap,e.metalnessMapTransform)),e.roughness.value=s.roughness,s.roughnessMap&&(e.roughnessMap.value=s.roughnessMap,n(s.roughnessMap,e.roughnessMapTransform));t.get(s).envMap&&(e.envMapIntensity.value=s.envMapIntensity)}(e,i),i.isMeshPhysicalMaterial&&function(e,t,s){e.ior.value=t.ior,t.sheen>0&&(e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),e.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap,n(t.sheenColorMap,e.sheenColorMapTransform)),t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap,n(t.sheenRoughnessMap,e.sheenRoughnessMapTransform))),t.clearcoat>0&&(e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap,n(t.clearcoatMap,e.clearcoatMapTransform)),t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap,n(t.clearcoatRoughnessMap,e.clearcoatRoughnessMapTransform)),t.clearcoatNormalMap&&(e.clearcoatNormalMap.value=t.clearcoatNormalMap,n(t.clearcoatNormalMap,e.clearcoatNormalMapTransform),e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),t.side===o&&e.clearcoatNormalScale.value.negate())),t.iridescence>0&&(e.iridescence.value=t.iridescence,e.iridescenceIOR.value=t.iridescenceIOR,e.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],e.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(e.iridescenceMap.value=t.iridescenceMap,n(t.iridescenceMap,e.iridescenceMapTransform)),t.iridescenceThicknessMap&&(e.iridescenceThicknessMap.value=t.iridescenceThicknessMap,n(t.iridescenceThicknessMap,e.iridescenceThicknessMapTransform))),t.transmission>0&&(e.transmission.value=t.transmission,e.transmissionSamplerMap.value=s.texture,e.transmissionSamplerSize.value.set(s.width,s.height),t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap,n(t.transmissionMap,e.transmissionMapTransform)),e.thickness.value=t.thickness,t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap,n(t.thicknessMap,e.thicknessMapTransform)),e.attenuationDistance.value=t.attenuationDistance,e.attenuationColor.value.copy(t.attenuationColor)),e.specularIntensity.value=t.specularIntensity,e.specularColor.value.copy(t.specularColor),t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap,n(t.specularColorMap,e.specularColorMapTransform)),t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap,n(t.specularIntensityMap,e.specularIntensityMapTransform))}(e,i,r)):i.isMeshMatcapMaterial?(s(e,i),function(e,t){t.matcap&&(e.matcap.value=t.matcap)}(e,i)):i.isMeshDepthMaterial?s(e,i):i.isMeshDistanceMaterial?(s(e,i),function(e,n){const s=t.get(n).light;e.referencePosition.value.setFromMatrixPosition(s.matrixWorld),e.nearDistance.value=s.shadow.camera.near,e.farDistance.value=s.shadow.camera.far}(e,i)):i.isMeshNormalMaterial?s(e,i):i.isLineBasicMaterial?(function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform))}(e,i),i.isLineDashedMaterial&&function(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}(e,i)):i.isPointsMaterial?function(e,t,s,i){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*s,e.scale.value=.5*i,t.map&&(e.map.value=t.map,n(t.map,e.uvTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}(e,i,a,l):i.isSpriteMaterial?function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}(e,i):i.isShadowMaterial?(e.color.value.copy(i.color),e.opacity.value=i.opacity):i.isShaderMaterial&&(i.uniformsNeedUpdate=!1)}}}function Ba(e,t,n,s){let i={},a={},l=[];const r=n.isWebGL2?e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS):0;function o(e,t,n){const s=e.value;if(void 0===n[t]){if("number"==typeof s)n[t]=s;else{const e=Array.isArray(s)?s:[s],i=[];for(let t=0;t0&&(s=n%16,0!==s&&16-s-a.boundary<0&&(n+=16-s,i.__offset=n)),n+=a.storage}s=n%16,s>0&&(n+=16-s),e.__size=n,e.__cache={}}(n),h=function(t){const n=function(){for(let e=0;e0&&function(e,t,n,s){if(null===Y){const e=te.isWebGL2;Y=new He(1024,1024,{generateMipmaps:!0,type:ee.has("EXT_color_buffer_half_float")?_:L,minFilter:C,samples:e&&!0===u?4:0})}const i=E.getRenderTarget();E.setRenderTarget(Y),E.clear();const a=E.toneMapping;E.toneMapping=f,Fe(e,n,s),ae.updateMultisampleRenderTarget(Y),ae.updateRenderTargetMipmap(Y);let l=!1;for(let e=0,i=t.length;e0&&Fe(i,t,n),a.length>0&&Fe(a,t,n),l.length>0&&Fe(l,t,n),ne.buffers.depth.setTest(!0),ne.buffers.depth.setMask(!0),ne.buffers.color.setMask(!0),ne.setPolygonOffset(!1)}function Fe(e,t,n){const s=!0===t.isScene?t.overrideMaterial:null;for(let i=0,a=e.length;i0?T[T.length-1]:null,w.pop(),y=w.length>0?w[w.length-1]:null},this.getActiveCubeFace=function(){return R},this.getActiveMipmapLevel=function(){return D},this.getRenderTarget=function(){return S},this.setRenderTargetTextures=function(e,t,n){ie.get(e.texture).__webglTexture=t,ie.get(e.depthTexture).__webglTexture=n;const s=ie.get(e);s.__hasExternalTextures=!0,s.__hasExternalTextures&&(s.__autoAllocateDepthBuffer=void 0===n,s.__autoAllocateDepthBuffer||!0===ee.has("WEBGL_multisampled_render_to_texture")&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),s.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(e,t){const n=ie.get(e);n.__webglFramebuffer=t,n.__useDefaultFramebuffer=void 0===t},this.setRenderTarget=function(e,t=0,n=0){S=e,R=t,D=n;let s=!0,i=null,a=!1,l=!1;if(e){const n=ie.get(e);void 0!==n.__useDefaultFramebuffer?(ne.bindFramebuffer(De.FRAMEBUFFER,null),s=!1):void 0===n.__webglFramebuffer?ae.setupRenderTarget(e):n.__hasExternalTextures&&ae.rebindTextures(e,ie.get(e.texture).__webglTexture,ie.get(e.depthTexture).__webglTexture);const r=e.texture;(r.isData3DTexture||r.isDataArrayTexture||r.isCompressedArrayTexture)&&(l=!0);const o=ie.get(e).__webglFramebuffer;e.isWebGLCubeRenderTarget?(i=o[t],a=!0):i=te.isWebGL2&&e.samples>0&&!1===ae.useMultisampledRTT(e)?ie.get(e).__webglMultisampledFramebuffer:o,O.copy(e.viewport),A.copy(e.scissor),x=e.scissorTest}else O.copy(G).multiplyScalar(B).floor(),A.copy(V).multiplyScalar(B).floor(),x=j;if(ne.bindFramebuffer(De.FRAMEBUFFER,i)&&te.drawBuffers&&s&&ne.drawBuffers(e,i),ne.viewport(O),ne.scissor(A),ne.setScissorTest(x),a){const s=ie.get(e.texture);De.framebufferTexture2D(De.FRAMEBUFFER,De.COLOR_ATTACHMENT0,De.TEXTURE_CUBE_MAP_POSITIVE_X+t,s.__webglTexture,n)}else if(l){const s=ie.get(e.texture),i=t||0;De.framebufferTextureLayer(De.FRAMEBUFFER,De.COLOR_ATTACHMENT0,s.__webglTexture,n||0,i)}b=-1},this.readRenderTargetPixels=function(e,t,n,s,i,a,l){if(!e||!e.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let r=ie.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&void 0!==l&&(r=r[l]),r){ne.bindFramebuffer(De.FRAMEBUFFER,r);try{const l=e.texture,r=l.format,o=l.type;if(r!==H&&Ee.convert(r)!==De.getParameter(De.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const c=o===_&&(ee.has("EXT_color_buffer_half_float")||te.isWebGL2&&ee.has("EXT_color_buffer_float"));if(!(o===L||Ee.convert(o)===De.getParameter(De.IMPLEMENTATION_COLOR_READ_TYPE)||o===q&&(te.isWebGL2||ee.has("OES_texture_float")||ee.has("WEBGL_color_buffer_float"))||c))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");t>=0&&t<=e.width-s&&n>=0&&n<=e.height-i&&De.readPixels(t,n,s,i,Ee.convert(r),Ee.convert(o),a)}finally{const e=null!==S?ie.get(S).__webglFramebuffer:null;ne.bindFramebuffer(De.FRAMEBUFFER,e)}}},this.copyFramebufferToTexture=function(e,t,n=0){const s=Math.pow(2,-n),i=Math.floor(t.image.width*s),a=Math.floor(t.image.height*s);ae.setTexture2D(t,0),De.copyTexSubImage2D(De.TEXTURE_2D,n,0,0,e.x,e.y,i,a),ne.unbindTexture()},this.copyTextureToTexture=function(e,t,n,s=0){const i=t.image.width,a=t.image.height,l=Ee.convert(n.format),r=Ee.convert(n.type);ae.setTexture2D(n,0),De.pixelStorei(De.UNPACK_FLIP_Y_WEBGL,n.flipY),De.pixelStorei(De.UNPACK_PREMULTIPLY_ALPHA_WEBGL,n.premultiplyAlpha),De.pixelStorei(De.UNPACK_ALIGNMENT,n.unpackAlignment),t.isDataTexture?De.texSubImage2D(De.TEXTURE_2D,s,e.x,e.y,i,a,l,r,t.image.data):t.isCompressedTexture?De.compressedTexSubImage2D(De.TEXTURE_2D,s,e.x,e.y,t.mipmaps[0].width,t.mipmaps[0].height,l,t.mipmaps[0].data):De.texSubImage2D(De.TEXTURE_2D,s,e.x,e.y,l,r,t.image),0===s&&n.generateMipmaps&&De.generateMipmap(De.TEXTURE_2D),ne.unbindTexture()},this.copyTextureToTexture3D=function(e,t,n,s,i=0){if(E.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const a=e.max.x-e.min.x+1,l=e.max.y-e.min.y+1,r=e.max.z-e.min.z+1,o=Ee.convert(s.format),c=Ee.convert(s.type);let u;if(s.isData3DTexture)ae.setTexture3D(s,0),u=De.TEXTURE_3D;else{if(!s.isDataArrayTexture)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");ae.setTexture2DArray(s,0),u=De.TEXTURE_2D_ARRAY}De.pixelStorei(De.UNPACK_FLIP_Y_WEBGL,s.flipY),De.pixelStorei(De.UNPACK_PREMULTIPLY_ALPHA_WEBGL,s.premultiplyAlpha),De.pixelStorei(De.UNPACK_ALIGNMENT,s.unpackAlignment);const p=De.getParameter(De.UNPACK_ROW_LENGTH),h=De.getParameter(De.UNPACK_IMAGE_HEIGHT),d=De.getParameter(De.UNPACK_SKIP_PIXELS),f=De.getParameter(De.UNPACK_SKIP_ROWS),I=De.getParameter(De.UNPACK_SKIP_IMAGES),m=n.isCompressedTexture?n.mipmaps[0]:n.image;De.pixelStorei(De.UNPACK_ROW_LENGTH,m.width),De.pixelStorei(De.UNPACK_IMAGE_HEIGHT,m.height),De.pixelStorei(De.UNPACK_SKIP_PIXELS,e.min.x),De.pixelStorei(De.UNPACK_SKIP_ROWS,e.min.y),De.pixelStorei(De.UNPACK_SKIP_IMAGES,e.min.z),n.isDataTexture||n.isData3DTexture?De.texSubImage3D(u,i,t.x,t.y,t.z,a,l,r,o,c,m.data):n.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),De.compressedTexSubImage3D(u,i,t.x,t.y,t.z,a,l,r,o,m.data)):De.texSubImage3D(u,i,t.x,t.y,t.z,a,l,r,o,c,m),De.pixelStorei(De.UNPACK_ROW_LENGTH,p),De.pixelStorei(De.UNPACK_IMAGE_HEIGHT,h),De.pixelStorei(De.UNPACK_SKIP_PIXELS,d),De.pixelStorei(De.UNPACK_SKIP_ROWS,f),De.pixelStorei(De.UNPACK_SKIP_IMAGES,I),0===i&&s.generateMipmaps&&De.generateMipmap(u),ne.unbindTexture()},this.initTexture=function(e){e.isCubeTexture?ae.setTextureCube(e,0):e.isData3DTexture?ae.setTexture3D(e,0):e.isDataArrayTexture||e.isCompressedArrayTexture?ae.setTexture2DArray(e,0):ae.setTexture2D(e,0),ne.unbindTexture()},this.resetState=function(){R=0,D=0,S=null,ne.reset(),ge.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get physicallyCorrectLights(){return console.warn("THREE.WebGLRenderer: the property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),!this.useLegacyLights}set physicallyCorrectLights(e){console.warn("THREE.WebGLRenderer: the property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),this.useLegacyLights=!e}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Z?X:3e3}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===X?Z:Q}}(class extends Fa{}).prototype.isWebGL1Renderer=!0;class Ga extends Vt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),null!==e.background&&(this.background=e.background.clone()),null!==e.environment&&(this.environment=e.environment.clone()),null!==e.fog&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,null!==e.overrideMaterial&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return null!==this.fog&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),1!==this.backgroundIntensity&&(t.object.backgroundIntensity=this.backgroundIntensity),t}get autoUpdate(){return console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."),this.matrixWorldAutoUpdate}set autoUpdate(e){console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."),this.matrixWorldAutoUpdate=e}}class Va extends dn{constructor(e,t,n,s=1){super(e,t,n),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=s}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){const e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}}const ja=new yt,za=new yt,Wa=[],ka=new ze,Ya=new yt,Xa=new Vn,Ka=new ot;class Za extends Vn{constructor(e,t,n){super(e,t),this.isInstancedMesh=!0,this.instanceMatrix=new Va(new Float32Array(16*n),16),this.instanceColor=null,this.count=n,this.boundingBox=null,this.boundingSphere=null;for(let e=0;e=i)break e;{const l=t[1];e=i)break t}a=n,n=0}}for(;n>>1;et;)--a;if(++a,0!==i||a!==s){i>=a&&(a=Math.max(a,1),i=a-1);const e=this.getValueSize();this.times=Ja(n,i,a),this.values=Ja(this.values,i*e,a*e)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const n=this.times,s=this.values,i=n.length;0===i&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let a=null;for(let t=0;t!==i;t++){const s=n[t];if("number"==typeof s&&isNaN(s)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,t,s),e=!1;break}if(null!==a&&a>s){console.error("THREE.KeyframeTrack: Out of order keys.",this,t,s,a),e=!1;break}a=s}if(void 0!==s&&el(s))for(let t=0,n=s.length;t!==n;++t){const n=s[t];if(isNaN(n)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,t,n),e=!1;break}}return e}optimize(){const e=Ja(this.times),t=Ja(this.values),n=this.getValueSize(),s=this.getInterpolation()===Y,i=e.length-1;let a=1;for(let l=1;l0){e[a]=e[i];for(let e=i*n,s=a*n,l=0;l!==n;++l)t[s+l]=t[e+l];++a}return a!==e.length?(this.times=Ja(e,0,a),this.values=Ja(t,0,a*n)):(this.times=e,this.values=t),this}clone(){const e=Ja(this.times,0),t=Ja(this.values,0),n=new(0,this.constructor)(this.name,e,t);return n.createInterpolant=this.createInterpolant,n}}al.prototype.TimeBufferType=Float32Array,al.prototype.ValueBufferType=Float32Array,al.prototype.DefaultInterpolation=k;class ll extends al{}ll.prototype.ValueTypeName="bool",ll.prototype.ValueBufferType=Array,ll.prototype.DefaultInterpolation=W,ll.prototype.InterpolantFactoryMethodLinear=void 0,ll.prototype.InterpolantFactoryMethodSmooth=void 0;(class extends al{}).prototype.ValueTypeName="color";(class extends al{}).prototype.ValueTypeName="number";class rl extends tl{constructor(e,t,n,s){super(e,t,n,s)}interpolate_(e,t,n,s){const i=this.resultBuffer,a=this.sampleValues,l=this.valueSize,r=(n-t)/(s-t);let o=e*l;for(let e=o+l;o!==e;o+=4)Fe.slerpFlat(i,0,a,o-l,a,o,r);return i}}class ol extends al{InterpolantFactoryMethodLinear(e){return new rl(this.times,this.values,this.getValueSize(),e)}}ol.prototype.ValueTypeName="quaternion",ol.prototype.DefaultInterpolation=k,ol.prototype.InterpolantFactoryMethodSmooth=void 0;class cl extends al{}cl.prototype.ValueTypeName="string",cl.prototype.ValueBufferType=Array,cl.prototype.DefaultInterpolation=W,cl.prototype.InterpolantFactoryMethodLinear=void 0,cl.prototype.InterpolantFactoryMethodSmooth=void 0;(class extends al{}).prototype.ValueTypeName="vector";const ul="\\[\\]\\.:\\/",pl=new RegExp("["+ul+"]","g"),hl="[^"+ul+"]",dl="[^"+ul.replace("\\.","")+"]",fl=new RegExp("^"+/((?:WC+[\/:])*)/.source.replace("WC",hl)+/(WCOD+)?/.source.replace("WCOD",dl)+/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",hl)+/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",hl)+"$"),Il=["material","materials","bones","map"];class ml{constructor(e,t,n){this.path=t,this.parsedPath=n||ml.parseTrackName(t),this.node=ml.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new ml.Composite(e,t,n):new ml(e,t,n)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(pl,"")}static parseTrackName(e){const t=fl.exec(e);if(null===t)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},s=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==s&&-1!==s){const e=n.nodeName.substring(s+1);-1!==Il.indexOf(e)&&(n.nodeName=n.nodeName.substring(0,s),n.objectName=e)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n}static findNode(e,t){if(void 0===t||""===t||"."===t||-1===t||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(void 0!==n)return n}if(e.children){const n=function(e){for(let s=0;s{"use strict";n.d(t,{M:()=>a});var s=n(8823);const i={POSITION:["byte","byte normalized","unsigned byte","unsigned byte normalized","short","short normalized","unsigned short","unsigned short normalized"],NORMAL:["byte normalized","short normalized"],TANGENT:["byte normalized","short normalized"],TEXCOORD:["byte","byte normalized","unsigned byte","short","short normalized","unsigned short"]};class a{constructor(){this.pluginCallbacks=[],this.register((function(e){return new T(e)})),this.register((function(e){return new E(e)})),this.register((function(e){return new D(e)})),this.register((function(e){return new S(e)})),this.register((function(e){return new b(e)})),this.register((function(e){return new N(e)})),this.register((function(e){return new g(e)})),this.register((function(e){return new R(e)})),this.register((function(e){return new O(e)})),this.register((function(e){return new A(e)}))}register(e){return-1===this.pluginCallbacks.indexOf(e)&&this.pluginCallbacks.push(e),this}unregister(e){return-1!==this.pluginCallbacks.indexOf(e)&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,n,s){const i=new w,a=[];for(let e=0,t=this.pluginCallbacks.length;ee.toBlob(n,t)));let n;return"image/jpeg"===t?n=.92:"image/webp"===t&&(n=.8),e.convertToBlob({type:t,quality:n})}class w{constructor(){this.plugins=[],this.options={},this.pending=[],this.buffers=[],this.byteOffset=0,this.buffers=[],this.nodeMap=new Map,this.skins=[],this.extensionsUsed={},this.extensionsRequired={},this.uids=new Map,this.uid=0,this.json={asset:{version:"2.0",generator:"THREE.GLTFExporter"}},this.cache={meshes:new Map,attributes:new Map,attributesNormalized:new Map,materials:new Map,textures:new Map,images:new Map}}setPlugins(e){this.plugins=e}async write(e,t,n={}){this.options=Object.assign({binary:!1,trs:!1,onlyVisible:!0,maxTextureSize:1/0,animations:[],includeCustomExtensions:!1},n),this.options.animations.length>0&&(this.options.trs=!0),this.processInput(e),await Promise.all(this.pending);const s=this,i=s.buffers,a=s.json;n=s.options;const l=s.extensionsUsed,r=s.extensionsRequired,o=new Blob(i,{type:"application/octet-stream"}),c=Object.keys(l),u=Object.keys(r);if(c.length>0&&(a.extensionsUsed=c),u.length>0&&(a.extensionsRequired=u),a.buffers&&a.buffers.length>0&&(a.buffers[0].byteLength=o.size),!0===n.binary){const e=new FileReader;e.readAsArrayBuffer(o),e.onloadend=function(){const n=m(e.result),s=new DataView(new ArrayBuffer(8));s.setUint32(0,n.byteLength,!0),s.setUint32(4,5130562,!0);const i=m((l=JSON.stringify(a),(new TextEncoder).encode(l).buffer),32);var l;const r=new DataView(new ArrayBuffer(8));r.setUint32(0,i.byteLength,!0),r.setUint32(4,1313821514,!0);const o=new ArrayBuffer(12),c=new DataView(o);c.setUint32(0,1179937895,!0),c.setUint32(4,2,!0);const u=12+r.byteLength+i.byteLength+s.byteLength+n.byteLength;c.setUint32(8,u,!0);const p=new Blob([o,r,i,s,n],{type:"application/octet-stream"}),h=new FileReader;h.readAsArrayBuffer(p),h.onloadend=function(){t(h.result)}}}else if(a.buffers&&a.buffers.length>0){const e=new FileReader;e.readAsDataURL(o),e.onloadend=function(){const n=e.result;a.buffers[0].uri=n,t(a)}}else t(a)}serializeUserData(e,t){if(0===Object.keys(e.userData).length)return;const n=this.options,s=this.extensionsUsed;try{const i=JSON.parse(JSON.stringify(e.userData));if(n.includeCustomExtensions&&i.gltfExtensions){void 0===t.extensions&&(t.extensions={});for(const e in i.gltfExtensions)t.extensions[e]=i.gltfExtensions[e],s[e]=!0;delete i.gltfExtensions}Object.keys(i).length>0&&(t.extras=i)}catch(t){console.warn("THREE.GLTFExporter: userData of '"+e.name+"' won't be serialized because of JSON.stringify error - "+t.message)}}getUID(e,t=!1){if(!1===this.uids.has(e)){const t=new Map;t.set(!0,this.uid++),t.set(!1,this.uid++),this.uids.set(e,t)}return this.uids.get(e).get(t)}isNormalizedNormalAttribute(e){if(this.cache.attributesNormalized.has(e))return!1;const t=new s.Pa4;for(let n=0,s=e.count;n5e-4)return!1;return!0}createNormalizedNormalAttribute(e){const t=this.cache;if(t.attributesNormalized.has(e))return t.attributesNormalized.get(e);const n=e.clone(),i=new s.Pa4;for(let e=0,t=n.count;e4?i=e.array[a*e.itemSize+n]:(0===n?i=e.getX(a):1===n?i=e.getY(a):2===n?i=e.getZ(a):3===n&&(i=e.getW(a)),!0===e.normalized&&(i=s.M8C.normalize(i,e.array))),5126===t?d.setFloat32(f,i,!0):5124===t?d.setInt32(f,i,!0):5125===t?d.setUint32(f,i,!0):t===o?d.setInt16(f,i,!0):t===c?d.setUint16(f,i,!0):t===l?d.setInt8(f,i):t===r&&d.setUint8(f,i),f+=p}const m={buffer:this.processBuffer(d.buffer),byteOffset:this.byteOffset,byteLength:h};return void 0!==a&&(m.target=a),34962===a&&(m.byteStride=e.itemSize*p),this.byteOffset+=h,u.bufferViews.push(m),{id:u.bufferViews.length-1,byteLength:0}}processBufferViewImage(e){const t=this,n=t.json;return n.bufferViews||(n.bufferViews=[]),new Promise((function(s){const i=new FileReader;i.readAsArrayBuffer(e),i.onloadend=function(){const e=m(i.result),a={buffer:t.processBuffer(e),byteOffset:t.byteOffset,byteLength:e.byteLength};t.byteOffset+=e.byteLength,s(n.bufferViews.push(a)-1)}}))}processAccessor(e,t,n,i){const a=this.json;let u;if(e.array.constructor===Float32Array)u=5126;else if(e.array.constructor===Int32Array)u=5124;else if(e.array.constructor===Uint32Array)u=5125;else if(e.array.constructor===Int16Array)u=o;else if(e.array.constructor===Uint16Array)u=c;else if(e.array.constructor===Int8Array)u=l;else{if(e.array.constructor!==Uint8Array)throw new Error("THREE.GLTFExporter: Unsupported bufferAttribute component type.");u=r}if(void 0===n&&(n=0),void 0===i&&(i=e.count),0===i)return null;const p=function(e,t,n){const i={min:new Array(e.itemSize).fill(Number.POSITIVE_INFINITY),max:new Array(e.itemSize).fill(Number.NEGATIVE_INFINITY)};for(let a=t;a4?n=e.array[a*e.itemSize+t]:(0===t?n=e.getX(a):1===t?n=e.getY(a):2===t?n=e.getZ(a):3===t&&(n=e.getW(a)),!0===e.normalized&&(n=s.M8C.normalize(n,e.array))),i.min[t]=Math.min(i.min[t],n),i.max[t]=Math.max(i.max[t],n)}return i}(e,n,i);let h;void 0!==t&&(h=e===t.index?34963:34962);const d=this.processBufferView(e,u,n,i,h),f={bufferView:d.id,byteOffset:d.byteOffset,componentType:u,count:i,max:p.max,min:p.min,type:{1:"SCALAR",2:"VEC2",3:"VEC3",4:"VEC4",9:"MAT3",16:"MAT4"}[e.itemSize]};return!0===e.normalized&&(f.normalized=!0),a.accessors||(a.accessors=[]),a.accessors.push(f)-1}processImage(e,t,n,i="image/png"){if(null!==e){const a=this,l=a.cache,r=a.json,o=a.options,c=a.pending;l.images.has(e)||l.images.set(e,{});const u=l.images.get(e),p=i+":flipY/"+n.toString();if(void 0!==u[p])return u[p];r.images||(r.images=[]);const h={mimeType:i},d=y();d.width=Math.min(e.width,o.maxTextureSize),d.height=Math.min(e.height,o.maxTextureSize);const f=d.getContext("2d");if(!0===n&&(f.translate(0,d.height),f.scale(1,-1)),void 0!==e.data){t!==s.wk1&&console.error("GLTFExporter: Only RGBAFormat is supported."),(e.width>o.maxTextureSize||e.height>o.maxTextureSize)&&console.warn("GLTFExporter: Image size is bigger than maxTextureSize",e);const n=new Uint8ClampedArray(e.height*e.width*4);for(let t=0;ta.processBufferViewImage(e))).then((e=>{h.bufferView=e}))):void 0!==d.toDataURL?h.uri=d.toDataURL(i):c.push(v(d,i).then((e=>(new FileReader).readAsDataURL(e))).then((e=>{h.uri=e})));const I=r.images.push(h)-1;return u[p]=I,I}throw new Error("THREE.GLTFExporter: No valid image data found. Unable to process texture.")}processSampler(e){const t=this.json;t.samplers||(t.samplers=[]);const n={magFilter:p[e.magFilter],minFilter:p[e.minFilter],wrapS:p[e.wrapS],wrapT:p[e.wrapT]};return t.samplers.push(n)-1}processTexture(e){const t=this.cache,n=this.json;if(t.textures.has(e))return t.textures.get(e);n.textures||(n.textures=[]);let s=e.userData.mimeType;"image/webp"===s&&(s="image/png");const i={sampler:this.processSampler(e),source:this.processImage(e.image,e.format,e.flipY,s)};e.name&&(i.name=e.name),this._invokeAll((function(t){t.writeTexture&&t.writeTexture(e,i)}));const a=n.textures.push(i)-1;return t.textures.set(e,a),a}processMaterial(e){const t=this.cache,n=this.json;if(t.materials.has(e))return t.materials.get(e);if(e.isShaderMaterial)return console.warn("GLTFExporter: THREE.ShaderMaterial not supported."),null;n.materials||(n.materials=[]);const i={pbrMetallicRoughness:{}};!0!==e.isMeshStandardMaterial&&!0!==e.isMeshBasicMaterial&&console.warn("GLTFExporter: Use MeshStandardMaterial or MeshBasicMaterial for best results.");const a=e.color.toArray().concat([e.opacity]);if(f(a,[1,1,1,1])||(i.pbrMetallicRoughness.baseColorFactor=a),e.isMeshStandardMaterial?(i.pbrMetallicRoughness.metallicFactor=e.metalness,i.pbrMetallicRoughness.roughnessFactor=e.roughness):(i.pbrMetallicRoughness.metallicFactor=.5,i.pbrMetallicRoughness.roughnessFactor=.5),e.metalnessMap||e.roughnessMap){const t=this.buildMetalRoughTexture(e.metalnessMap,e.roughnessMap),n={index:this.processTexture(t),channel:t.channel};this.applyTextureTransform(n,t),i.pbrMetallicRoughness.metallicRoughnessTexture=n}if(e.map){const t={index:this.processTexture(e.map),texCoord:e.map.channel};this.applyTextureTransform(t,e.map),i.pbrMetallicRoughness.baseColorTexture=t}if(e.emissive){const t=e.emissive;if(Math.max(t.r,t.g,t.b)>0&&(i.emissiveFactor=e.emissive.toArray()),e.emissiveMap){const t={index:this.processTexture(e.emissiveMap),texCoord:e.emissiveMap.channel};this.applyTextureTransform(t,e.emissiveMap),i.emissiveTexture=t}}if(e.normalMap){const t={index:this.processTexture(e.normalMap),texCoord:e.normalMap.channel};e.normalScale&&1!==e.normalScale.x&&(t.scale=e.normalScale.x),this.applyTextureTransform(t,e.normalMap),i.normalTexture=t}if(e.aoMap){const t={index:this.processTexture(e.aoMap),texCoord:e.aoMap.channel};1!==e.aoMapIntensity&&(t.strength=e.aoMapIntensity),this.applyTextureTransform(t,e.aoMap),i.occlusionTexture=t}e.transparent?i.alphaMode="BLEND":e.alphaTest>0&&(i.alphaMode="MASK",i.alphaCutoff=e.alphaTest),e.side===s.ehD&&(i.doubleSided=!0),""!==e.name&&(i.name=e.name),this.serializeUserData(e,i),this._invokeAll((function(t){t.writeMaterial&&t.writeMaterial(e,i)}));const l=n.materials.push(i)-1;return t.materials.set(e,l),l}processMesh(e){const t=this.cache,n=this.json,i=[e.geometry.uuid];if(Array.isArray(e.material))for(let t=0,n=e.material.length;t0){const n=[],s=[],i={};if(void 0!==e.morphTargetDictionary)for(const t in e.morphTargetDictionary)i[e.morphTargetDictionary[t]]=t;for(let a=0;a0&&(o.extras={},o.extras.targetNames=s)}const I=Array.isArray(e.material);if(I&&0===l.groups.length)return null;const m=I?e.material:[e.material],y=I?l.groups:[{materialIndex:0,start:void 0,count:void 0}];for(let e=0,n=y.length;e0&&(n.targets=p),null!==l.index){let s=this.getUID(l.index);void 0===y[e].start&&void 0===y[e].count||(s+=":"+y[e].start+":"+y[e].count),t.attributes.has(s)?n.indices=t.attributes.get(s):(n.indices=this.processAccessor(l.index,l,y[e].start,y[e].count),t.attributes.set(s,n.indices)),null===n.indices&&delete n.indices}const s=this.processMaterial(m[y[e].materialIndex]);null!==s&&(n.material=s),u.push(n)}o.primitives=u,n.meshes||(n.meshes=[]),this._invokeAll((function(t){t.writeMesh&&t.writeMesh(e,o)}));const v=n.meshes.push(o)-1;return t.meshes.set(a,v),v}detectMeshQuantization(e,t){if(this.extensionsUsed[u])return;let n;switch(t.array.constructor){case Int8Array:n="byte";break;case Uint8Array:n="unsigned byte";break;case Int16Array:n="short";break;case Uint16Array:n="unsigned short";break;default:return}t.normalized&&(n+=" normalized");const s=e.split("_",1)[0];i[s]&&i[s].includes(n)&&(this.extensionsUsed[u]=!0,this.extensionsRequired[u]=!0)}processCamera(e){const t=this.json;t.cameras||(t.cameras=[]);const n=e.isOrthographicCamera,i={type:n?"orthographic":"perspective"};return n?i.orthographic={xmag:2*e.right,ymag:2*e.top,zfar:e.far<=0?.001:e.far,znear:e.near<0?0:e.near}:i.perspective={aspectRatio:e.aspect,yfov:s.M8C.degToRad(e.fov),zfar:e.far<=0?.001:e.far,znear:e.near<0?0:e.near},""!==e.name&&(i.name=e.type),t.cameras.push(i)-1}processAnimation(e,t){const n=this.json,i=this.nodeMap;n.animations||(n.animations=[]);const l=(e=a.Utils.mergeMorphTargetTracks(e.clone(),t)).tracks,r=[],o=[];for(let e=0;e0){const t=[];for(let s=0,i=e.children.length;s0&&(i.children=t)}this._invokeAll((function(t){t.writeNode&&t.writeNode(e,i)}));const a=t.nodes.push(i)-1;return s.set(e,a),a}processScene(e){const t=this.json,n=this.options;t.scenes||(t.scenes=[],t.scene=0);const s={};""!==e.name&&(s.name=e.name),t.scenes.push(s);const i=[];for(let t=0,s=e.children.length;t0&&(s.nodes=i),this.serializeUserData(e,s)}processObjects(e){const t=new s.xsS;t.name="AuxScene";for(let n=0;n0&&this.processObjects(n);for(let e=0;e0&&(a.range=e.distance)):e.isSpotLight&&(a.type="spot",e.distance>0&&(a.range=e.distance),a.spot={},a.spot.innerConeAngle=(e.penumbra-1)*e.angle*-1,a.spot.outerConeAngle=e.angle),void 0!==e.decay&&2!==e.decay&&console.warn("THREE.GLTFExporter: Light decay may be lost. glTF is physically-based, and expects light.decay=2."),!e.target||e.target.parent===e&&0===e.target.position.x&&0===e.target.position.y&&-1===e.target.position.z||console.warn("THREE.GLTFExporter: Light direction may be lost. For best results, make light.target a child of the light with position 0,0,-1."),i[this.name]||(s.extensions=s.extensions||{},s.extensions[this.name]={lights:[]},i[this.name]=!0);const l=s.extensions[this.name].lights;l.push(a),t.extensions=t.extensions||{},t.extensions[this.name]={light:l.length-1}}}class E{constructor(e){this.writer=e,this.name="KHR_materials_unlit"}writeMaterial(e,t){if(!e.isMeshBasicMaterial)return;const n=this.writer.extensionsUsed;t.extensions=t.extensions||{},t.extensions[this.name]={},n[this.name]=!0,t.pbrMetallicRoughness.metallicFactor=0,t.pbrMetallicRoughness.roughnessFactor=.9}}class g{constructor(e){this.writer=e,this.name="KHR_materials_clearcoat"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||0===e.clearcoat)return;const n=this.writer,s=n.extensionsUsed,i={};if(i.clearcoatFactor=e.clearcoat,e.clearcoatMap){const t={index:n.processTexture(e.clearcoatMap),texCoord:e.clearcoatMap.channel};n.applyTextureTransform(t,e.clearcoatMap),i.clearcoatTexture=t}if(i.clearcoatRoughnessFactor=e.clearcoatRoughness,e.clearcoatRoughnessMap){const t={index:n.processTexture(e.clearcoatRoughnessMap),texCoord:e.clearcoatRoughnessMap.channel};n.applyTextureTransform(t,e.clearcoatRoughnessMap),i.clearcoatRoughnessTexture=t}if(e.clearcoatNormalMap){const t={index:n.processTexture(e.clearcoatNormalMap),texCoord:e.clearcoatNormalMap.channel};n.applyTextureTransform(t,e.clearcoatNormalMap),i.clearcoatNormalTexture=t}t.extensions=t.extensions||{},t.extensions[this.name]=i,s[this.name]=!0}}class R{constructor(e){this.writer=e,this.name="KHR_materials_iridescence"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||0===e.iridescence)return;const n=this.writer,s=n.extensionsUsed,i={};if(i.iridescenceFactor=e.iridescence,e.iridescenceMap){const t={index:n.processTexture(e.iridescenceMap),texCoord:e.iridescenceMap.channel};n.applyTextureTransform(t,e.iridescenceMap),i.iridescenceTexture=t}if(i.iridescenceIor=e.iridescenceIOR,i.iridescenceThicknessMinimum=e.iridescenceThicknessRange[0],i.iridescenceThicknessMaximum=e.iridescenceThicknessRange[1],e.iridescenceThicknessMap){const t={index:n.processTexture(e.iridescenceThicknessMap),texCoord:e.iridescenceThicknessMap.channel};n.applyTextureTransform(t,e.iridescenceThicknessMap),i.iridescenceThicknessTexture=t}t.extensions=t.extensions||{},t.extensions[this.name]=i,s[this.name]=!0}}class D{constructor(e){this.writer=e,this.name="KHR_materials_transmission"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||0===e.transmission)return;const n=this.writer,s=n.extensionsUsed,i={};if(i.transmissionFactor=e.transmission,e.transmissionMap){const t={index:n.processTexture(e.transmissionMap),texCoord:e.transmissionMap.channel};n.applyTextureTransform(t,e.transmissionMap),i.transmissionTexture=t}t.extensions=t.extensions||{},t.extensions[this.name]=i,s[this.name]=!0}}class S{constructor(e){this.writer=e,this.name="KHR_materials_volume"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||0===e.transmission)return;const n=this.writer,s=n.extensionsUsed,i={};if(i.thicknessFactor=e.thickness,e.thicknessMap){const t={index:n.processTexture(e.thicknessMap),texCoord:e.thicknessMap.channel};n.applyTextureTransform(t,e.thicknessMap),i.thicknessTexture=t}i.attenuationDistance=e.attenuationDistance,i.attenuationColor=e.attenuationColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=i,s[this.name]=!0}}class b{constructor(e){this.writer=e,this.name="KHR_materials_ior"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||1.5===e.ior)return;const n=this.writer.extensionsUsed,s={};s.ior=e.ior,t.extensions=t.extensions||{},t.extensions[this.name]=s,n[this.name]=!0}}class N{constructor(e){this.writer=e,this.name="KHR_materials_specular"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||1===e.specularIntensity&&e.specularColor.equals(d)&&!e.specularIntensityMap&&!e.specularColorTexture)return;const n=this.writer,s=n.extensionsUsed,i={};if(e.specularIntensityMap){const t={index:n.processTexture(e.specularIntensityMap),texCoord:e.specularIntensityMap.channel};n.applyTextureTransform(t,e.specularIntensityMap),i.specularTexture=t}if(e.specularColorMap){const t={index:n.processTexture(e.specularColorMap),texCoord:e.specularColorMap.channel};n.applyTextureTransform(t,e.specularColorMap),i.specularColorTexture=t}i.specularFactor=e.specularIntensity,i.specularColorFactor=e.specularColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=i,s[this.name]=!0}}class O{constructor(e){this.writer=e,this.name="KHR_materials_sheen"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||0==e.sheen)return;const n=this.writer,s=n.extensionsUsed,i={};if(e.sheenRoughnessMap){const t={index:n.processTexture(e.sheenRoughnessMap),texCoord:e.sheenRoughnessMap.channel};n.applyTextureTransform(t,e.sheenRoughnessMap),i.sheenRoughnessTexture=t}if(e.sheenColorMap){const t={index:n.processTexture(e.sheenColorMap),texCoord:e.sheenColorMap.channel};n.applyTextureTransform(t,e.sheenColorMap),i.sheenColorTexture=t}i.sheenRoughnessFactor=e.sheenRoughness,i.sheenColorFactor=e.sheenColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=i,s[this.name]=!0}}class A{constructor(e){this.writer=e,this.name="KHR_materials_emissive_strength"}writeMaterial(e,t){if(!e.isMeshStandardMaterial||1===e.emissiveIntensity)return;const n=this.writer.extensionsUsed,s={};s.emissiveStrength=e.emissiveIntensity,t.extensions=t.extensions||{},t.extensions[this.name]=s,n[this.name]=!0}}a.Utils={insertKeyframe:function(e,t){const n=.001,s=e.getValueSize(),i=new e.TimeBufferType(e.times.length+1),a=new e.ValueBufferType(e.values.length+s),l=e.createInterpolant(new e.ValueBufferType(s));let r;if(0===e.times.length){i[0]=t;for(let e=0;ee.times[e.times.length-1]){if(Math.abs(e.times[e.times.length-1]-t)t){i.set(e.times.slice(0,o+1),0),i[o+1]=t,i.set(e.times.slice(o+1),o+2),a.set(e.values.slice(0,(o+1)*s),0),a.set(l.evaluate(t),(o+1)*s),a.set(e.values.slice((o+1)*s),(o+2)*s),r=o+1;break}}return e.times=i,e.values=a,r},mergeMorphTargetTracks:function(e,t){const n=[],i={},a=e.tracks;for(let e=0;e{"use strict";n.d(t,{n4:()=>i});var s=n(8823);function i(e,t=!1){const n=null!==e[0].index,i=new Set(Object.keys(e[0].attributes)),l=new Set(Object.keys(e[0].morphAttributes)),r={},o={},c=e[0].morphTargetsRelative,u=new s.u9r;let p=0;for(let s=0;s{"use strict";n.d(t,{W2J:()=>s});const s=35044},2040:(e,t,n)=>{"use strict";n.d(t,{Tl:()=>c});var s=n(3262),i=n(6672),a=n(1965),l=n(8965);const r=new s.P,o=new i.F;class c{constructor(e,t,n=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=t,this.count=void 0!==e?e.length/t:0,this.normalized=n,this.usage=l.W2J,this.updateRange={offset:0,count:-1},this.version=0}onUploadCallback(){}set needsUpdate(e){!0===e&&this.version++}setUsage(e){return this.usage=e,this}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}copyAt(e,t,n){e*=this.itemSize,n*=t.itemSize;for(let s=0,i=this.itemSize;s{"use strict";function s(e,t,n){return Math.max(t,Math.min(n,e))}function i(e,t){switch(t.constructor){case Float32Array:return e;case Uint16Array:return e/65535;case Uint8Array:return e/255;case Int16Array:return Math.max(e/32767,-1);case Int8Array:return Math.max(e/127,-1);default:throw new Error("Invalid component type.")}}function a(e,t){switch(t.constructor){case Float32Array:return e;case Uint16Array:return Math.round(65535*e);case Uint8Array:return Math.round(255*e);case Int16Array:return Math.round(32767*e);case Int8Array:return Math.round(127*e);default:throw new Error("Invalid component type.")}}n.d(t,{Fv:()=>a,cY:()=>i,uZ:()=>s}),Math.PI,Math.PI},2137:(e,t,n)=>{"use strict";n.d(t,{_:()=>i});var s=n(1965);class i{constructor(e=0,t=0,n=0,s=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=n,this._w=s}static slerpFlat(e,t,n,s,i,a,l){let r=n[s+0],o=n[s+1],c=n[s+2],u=n[s+3];const p=i[a+0],h=i[a+1],d=i[a+2],f=i[a+3];if(0===l)return e[t+0]=r,e[t+1]=o,e[t+2]=c,void(e[t+3]=u);if(1===l)return e[t+0]=p,e[t+1]=h,e[t+2]=d,void(e[t+3]=f);if(u!==f||r!==p||o!==h||c!==d){let e=1-l;const t=r*p+o*h+c*d+u*f,n=t>=0?1:-1,s=1-t*t;if(s>Number.EPSILON){const i=Math.sqrt(s),a=Math.atan2(i,t*n);e=Math.sin(e*a)/i,l=Math.sin(l*a)/i}const i=l*n;if(r=r*e+p*i,o=o*e+h*i,c=c*e+d*i,u=u*e+f*i,e===1-l){const e=1/Math.sqrt(r*r+o*o+c*c+u*u);r*=e,o*=e,c*=e,u*=e}}e[t]=r,e[t+1]=o,e[t+2]=c,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,s,i,a){const l=n[s],r=n[s+1],o=n[s+2],c=n[s+3],u=i[a],p=i[a+1],h=i[a+2],d=i[a+3];return e[t]=l*d+c*u+r*h-o*p,e[t+1]=r*d+c*p+o*u-l*h,e[t+2]=o*d+c*h+l*p-r*u,e[t+3]=c*d-l*u-r*p-o*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,t,n,s){return this._x=e,this._y=t,this._z=n,this._w=s,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,t){const n=e._x,s=e._y,i=e._z,a=e._order,l=Math.cos,r=Math.sin,o=l(n/2),c=l(s/2),u=l(i/2),p=r(n/2),h=r(s/2),d=r(i/2);switch(a){case"XYZ":this._x=p*c*u+o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u-p*h*d;break;case"YXZ":this._x=p*c*u+o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u+p*h*d;break;case"ZXY":this._x=p*c*u-o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u-p*h*d;break;case"ZYX":this._x=p*c*u-o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u+p*h*d;break;case"YZX":this._x=p*c*u+o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u-p*h*d;break;case"XZY":this._x=p*c*u-o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u+p*h*d;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+a)}return!1!==t&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const n=t/2,s=Math.sin(n);return this._x=e.x*s,this._y=e.y*s,this._z=e.z*s,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,n=t[0],s=t[4],i=t[8],a=t[1],l=t[5],r=t[9],o=t[2],c=t[6],u=t[10],p=n+l+u;if(p>0){const e=.5/Math.sqrt(p+1);this._w=.25/e,this._x=(c-r)*e,this._y=(i-o)*e,this._z=(a-s)*e}else if(n>l&&n>u){const e=2*Math.sqrt(1+n-l-u);this._w=(c-r)/e,this._x=.25*e,this._y=(s+a)/e,this._z=(i+o)/e}else if(l>u){const e=2*Math.sqrt(1+l-n-u);this._w=(i-o)/e,this._x=(s+a)/e,this._y=.25*e,this._z=(r+c)/e}else{const e=2*Math.sqrt(1+u-n-l);this._w=(a-s)/e,this._x=(i+o)/e,this._y=(r+c)/e,this._z=.25*e}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return nMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(s.uZ(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(0===n)return this;const s=Math.min(1,t/n);return this.slerp(e,s),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 0===e?(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,t){const n=e._x,s=e._y,i=e._z,a=e._w,l=t._x,r=t._y,o=t._z,c=t._w;return this._x=n*c+a*l+s*o-i*r,this._y=s*c+a*r+i*l-n*o,this._z=i*c+a*o+n*r-s*l,this._w=a*c-n*l-s*r-i*o,this._onChangeCallback(),this}slerp(e,t){if(0===t)return this;if(1===t)return this.copy(e);const n=this._x,s=this._y,i=this._z,a=this._w;let l=a*e._w+n*e._x+s*e._y+i*e._z;if(l<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,l=-l):this.copy(e),l>=1)return this._w=a,this._x=n,this._y=s,this._z=i,this;const r=1-l*l;if(r<=Number.EPSILON){const e=1-t;return this._w=e*a+t*this._w,this._x=e*n+t*this._x,this._y=e*s+t*this._y,this._z=e*i+t*this._z,this.normalize(),this._onChangeCallback(),this}const o=Math.sqrt(r),c=Math.atan2(o,l),u=Math.sin((1-t)*c)/o,p=Math.sin(t*c)/o;return this._w=a*u+this._w*p,this._x=n*u+this._x*p,this._y=s*u+this._y*p,this._z=i*u+this._z*p,this._onChangeCallback(),this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){const e=Math.random(),t=Math.sqrt(1-e),n=Math.sqrt(e),s=2*Math.PI*Math.random(),i=2*Math.PI*Math.random();return this.set(t*Math.cos(s),n*Math.sin(i),n*Math.cos(i),t*Math.sin(s))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),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}}},6672:(e,t,n)=>{"use strict";n.d(t,{F:()=>i});var s=n(1965);class i{constructor(e=0,t=0){i.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,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,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;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,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,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,t){return this.x=e.x-t.x,this.y=e.y-t.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){const t=this.x,n=this.y,s=e.elements;return this.x=s[0]*t+s[3]*n+s[6],this.y=s[1]*t+s[4]*n+s[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,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(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){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(s.uZ(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const n=Math.cos(t),s=Math.sin(t),i=this.x-e.x,a=this.y-e.y;return this.x=i*n-a*s+e.x,this.y=i*s+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}},3262:(e,t,n)=>{"use strict";n.d(t,{P:()=>a});var s=n(1965),i=n(2137);class a{constructor(e=0,t=0,n=0){a.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return void 0===n&&(n=this.z),this.x=e,this.y=t,this.z=n,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,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;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,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,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,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.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,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(r.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(r.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,s=this.z,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6]*s,this.y=i[1]*t+i[4]*n+i[7]*s,this.z=i[2]*t+i[5]*n+i[8]*s,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,s=this.z,i=e.elements,a=1/(i[3]*t+i[7]*n+i[11]*s+i[15]);return this.x=(i[0]*t+i[4]*n+i[8]*s+i[12])*a,this.y=(i[1]*t+i[5]*n+i[9]*s+i[13])*a,this.z=(i[2]*t+i[6]*n+i[10]*s+i[14])*a,this}applyQuaternion(e){const t=this.x,n=this.y,s=this.z,i=e.x,a=e.y,l=e.z,r=e.w,o=r*t+a*s-l*n,c=r*n+l*t-i*s,u=r*s+i*n-a*t,p=-i*t-a*n-l*s;return this.x=o*r+p*-i+c*-l-u*-a,this.y=c*r+p*-a+u*-i-o*-l,this.z=u*r+p*-l+o*-a-c*-i,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,s=this.z,i=e.elements;return this.x=i[0]*t+i[4]*n+i[8]*s,this.y=i[1]*t+i[5]*n+i[9]*s,this.z=i[2]*t+i[6]*n+i[10]*s,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,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(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,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,s=e.y,i=e.z,a=t.x,l=t.y,r=t.z;return this.x=s*r-i*l,this.y=i*a-n*r,this.z=n*l-s*a,this}projectOnVector(e){const t=e.lengthSq();if(0===t)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return l.copy(this).projectOnVector(e),this.sub(l)}reflect(e){return this.sub(l.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(s.uZ(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,s=this.z-e.z;return t*t+n*n+s*s}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,t,n){const s=Math.sin(t)*e;return this.x=s*Math.sin(n),this.y=Math.cos(t)*e,this.z=s*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),s=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=s,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,4*t)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,3*t)}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,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=2*(Math.random()-.5),t=Math.random()*Math.PI*2,n=Math.sqrt(1-e**2);return this.x=n*Math.cos(t),this.y=n*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const l=new a,r=new i._},8904:(e,t,n)=>{"use strict";n.d(t,{e:()=>I});var s=n(9477),i=n(8304);const a=new s.u9r;a.setAttribute("position",new s.TlE(new Float32Array([-1,-1,3,-1,-1,3]),2)),a.setAttribute("uv",new s.TlE(new Float32Array([0,0,2,0,0,2]),2)),a.boundingSphere=new s.aLr,a.computeBoundingSphere=function(){};const l=new s.iKG;class r{constructor(e){this._mesh=new s.Kj0(a,e),this._mesh.frustumCulled=!1}render(e){e.render(this._mesh,l)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}dispose(){this._mesh.material.dispose(),this._mesh.geometry.dispose()}}const o={uniforms:{sceneDiffuse:{value:null},sceneDepth:{value:null},sceneNormal:{value:null},projMat:{value:new s.yGw},viewMat:{value:new s.yGw},projViewMat:{value:new s.yGw},projectionMatrixInv:{value:new s.yGw},viewMatrixInv:{value:new s.yGw},cameraPos:{value:new s.Pa4},resolution:{value:new s.FM8},time:{value:0},samples:{value:[]},samplesR:{value:[]},bluenoise:{value:null},distanceFalloff:{value:1},radius:{value:5},near:{value:.1},far:{value:1e3},logDepth:{value:!1},ortho:{value:!1},screenSpaceRadius:{value:!1}},depthWrite:!1,depthTest:!1,vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = vec4(position, 1);\n}",fragmentShader:"\n #define SAMPLES 16\n #define FSAMPLES 16.0\nuniform sampler2D sceneDiffuse;\nuniform highp sampler2D sceneNormal;\nuniform highp sampler2D sceneDepth;\nuniform mat4 projectionMatrixInv;\nuniform mat4 viewMatrixInv;\nuniform mat4 projMat;\nuniform mat4 viewMat;\nuniform mat4 projViewMat;\nuniform vec3 cameraPos;\nuniform vec2 resolution;\nuniform float time;\nuniform vec3[SAMPLES] samples;\nuniform float[SAMPLES] samplesR;\nuniform float radius;\nuniform float distanceFalloff;\nuniform float near;\nuniform float far;\nuniform bool logDepth;\nuniform bool ortho;\nuniform bool screenSpaceRadius;\nuniform sampler2D bluenoise;\n varying vec2 vUv;\n highp float linearize_depth(highp float d, highp float zNear,highp float zFar)\n {\n return (zFar * zNear) / (zFar - d * (zFar - zNear));\n }\n highp float linearize_depth_ortho(highp float d, highp float nearZ, highp float farZ) {\n return nearZ + (farZ - nearZ) * d;\n }\n highp float linearize_depth_log(highp float d, highp float nearZ,highp float farZ) {\n float depth = pow(2.0, d * log2(farZ + 1.0)) - 1.0;\n float a = farZ / (farZ - nearZ);\n float b = farZ * nearZ / (nearZ - farZ);\n float linDepth = a + b / depth;\n return ortho ? linearize_depth_ortho(\n linDepth,\n nearZ,\n farZ\n ) :linearize_depth(linDepth, nearZ, farZ);\n }\n\n vec3 getWorldPosLog(vec3 posS) {\n vec2 uv = posS.xy;\n float z = posS.z;\n float nearZ =near;\n float farZ = far;\n float depth = pow(2.0, z * log2(farZ + 1.0)) - 1.0;\n float a = farZ / (farZ - nearZ);\n float b = farZ * nearZ / (nearZ - farZ);\n float linDepth = a + b / depth;\n vec4 clipVec = vec4(uv, linDepth, 1.0) * 2.0 - 1.0;\n vec4 wpos = projectionMatrixInv * clipVec;\n return wpos.xyz / wpos.w;\n }\n vec3 getWorldPos(float depth, vec2 coord) {\n #ifdef LOGDEPTH\n return getWorldPosLog(vec3(coord, depth));\n #endif\n float z = depth * 2.0 - 1.0;\n vec4 clipSpacePosition = vec4(coord * 2.0 - 1.0, z, 1.0);\n vec4 viewSpacePosition = projectionMatrixInv * clipSpacePosition;\n // Perspective division\n vec4 worldSpacePosition = viewSpacePosition;\n worldSpacePosition.xyz /= worldSpacePosition.w;\n return worldSpacePosition.xyz;\n }\n\n vec3 computeNormal(vec3 worldPos, vec2 vUv) {\n ivec2 p = ivec2(vUv * resolution);\n float c0 = texelFetch(sceneDepth, p, 0).x;\n float l2 = texelFetch(sceneDepth, p - ivec2(2, 0), 0).x;\n float l1 = texelFetch(sceneDepth, p - ivec2(1, 0), 0).x;\n float r1 = texelFetch(sceneDepth, p + ivec2(1, 0), 0).x;\n float r2 = texelFetch(sceneDepth, p + ivec2(2, 0), 0).x;\n float b2 = texelFetch(sceneDepth, p - ivec2(0, 2), 0).x;\n float b1 = texelFetch(sceneDepth, p - ivec2(0, 1), 0).x;\n float t1 = texelFetch(sceneDepth, p + ivec2(0, 1), 0).x;\n float t2 = texelFetch(sceneDepth, p + ivec2(0, 2), 0).x;\n\n float dl = abs((2.0 * l1 - l2) - c0);\n float dr = abs((2.0 * r1 - r2) - c0);\n float db = abs((2.0 * b1 - b2) - c0);\n float dt = abs((2.0 * t1 - t2) - c0);\n\n vec3 ce = getWorldPos(c0, vUv).xyz;\n\n vec3 dpdx = (dl < dr) ? ce - getWorldPos(l1, (vUv - vec2(1.0 / resolution.x, 0.0))).xyz\n : -ce + getWorldPos(r1, (vUv + vec2(1.0 / resolution.x, 0.0))).xyz;\n vec3 dpdy = (db < dt) ? ce - getWorldPos(b1, (vUv - vec2(0.0, 1.0 / resolution.y))).xyz\n : -ce + getWorldPos(t1, (vUv + vec2(0.0, 1.0 / resolution.y))).xyz;\n\n return normalize(cross(dpdx, dpdy));\n}\n\nvoid main() {\n vec4 diffuse = texture2D(sceneDiffuse, vUv);\n float depth = texture2D(sceneDepth, vUv).x;\n if (depth == 1.0) {\n gl_FragColor = vec4(vec3(1.0), 1.0);\n return;\n }\n vec3 worldPos = getWorldPos(depth, vUv);\n // vec3 normal = texture2D(sceneNormal, vUv).rgb;//computeNormal(worldPos, vUv);\n #ifdef HALFRES\n vec3 normal = texture2D(sceneNormal, vUv).rgb;\n #else\n vec3 normal = computeNormal(worldPos, vUv);\n #endif\n vec4 noise = texture2D(bluenoise, gl_FragCoord.xy / 128.0);\n vec3 randomVec = normalize(noise.rgb * 2.0 - 1.0);\n vec3 tangent = normalize(randomVec - normal * dot(randomVec, normal));\n vec3 bitangent = cross(normal, tangent);\n mat3 tbn = mat3(tangent, bitangent, normal);\n float occluded = 0.0;\n float totalWeight = 0.0;\n /* float radiusScreen = distance(\n worldPos,\n getWorldPos(depth, vUv + \n vec2(48.0, 0.0) / resolution)\n );/*vUv.x < 0.5 ? radius : min(distance(\n worldPos,\n getWorldPos(depth, vUv + \n vec2(100.0, 0.0) / resolution)\n ), radius);\n float distanceFalloffScreen = radiusScreen * 0.2;*/\n float radiusToUse = screenSpaceRadius ? distance(\n worldPos,\n getWorldPos(depth, vUv +\n vec2(radius, 0.0) / resolution)\n ) : radius;\n float distanceFalloffToUse =screenSpaceRadius ?\n radiusToUse * distanceFalloff\n : distanceFalloff;\n float bias = (0.1 / near) * fwidth(distance(worldPos, cameraPos)) / radiusToUse;\n for(float i = 0.0; i < FSAMPLES; i++) {\n vec3 sampleDirection = \n tbn * \n samples[int(i)];\n ;\n float moveAmt = samplesR[int(mod(i + noise.a * FSAMPLES, FSAMPLES))];\n vec3 samplePos = worldPos + radiusToUse * moveAmt * sampleDirection;\n vec4 offset = projMat * vec4(samplePos, 1.0);\n offset.xyz /= offset.w;\n offset.xyz = offset.xyz * 0.5 + 0.5;\n float sampleDepth = textureLod(sceneDepth, offset.xy, 0.0).x;\n /*float distSample = logDepth ? linearize_depth_log(sampleDepth, near, far) \n (ortho ? linearize_depth_ortho(sampleDepth, near, far) : linearize_depth(sampleDepth, near, far));*/\n #ifdef LOGDEPTH\n float distSample = linearize_depth_log(sampleDepth, near, far);\n #else\n float distSample = ortho ? linearize_depth_ortho(sampleDepth, near, far) : linearize_depth(sampleDepth, near, far);\n #endif\n float distWorld = ortho ? linearize_depth_ortho(offset.z, near, far) : linearize_depth(offset.z, near, far);\n float rangeCheck = smoothstep(0.0, 1.0, distanceFalloffToUse / (abs(distSample - distWorld)));\n vec2 diff = gl_FragCoord.xy - ( offset.xy * resolution);\n float weight = dot(sampleDirection, normal);\n occluded += rangeCheck * weight * \n (distSample + bias\n < distWorld ? 1.0 : 0.0) * (\n (dot(\n diff,\n diff\n \n ) < 1.0 || (sampleDepth == depth) || (\n offset.x < 0.0 || offset.x > 1.0 || offset.y < 0.0 || offset.y > 1.0\n ) ? 0.0 : 1.0)\n );\n totalWeight += weight;\n }\n float occ = clamp(1.0 - occluded / totalWeight, 0.0, 1.0);\n gl_FragColor = vec4(0.5 + 0.5 * normal, occ);\n}"},c={uniforms:{sceneDiffuse:{value:null},sceneDepth:{value:null},tDiffuse:{value:null},projMat:{value:new s.yGw},viewMat:{value:new s.yGw},projectionMatrixInv:{value:new s.yGw},viewMatrixInv:{value:new s.yGw},cameraPos:{value:new s.Pa4},resolution:{value:new s.FM8},color:{value:new s.Pa4(0,0,0)},blueNoise:{value:null},downsampledDepth:{value:null},time:{value:0},intensity:{value:10},renderMode:{value:0},gammaCorrection:{value:!1},logDepth:{value:!1},ortho:{value:!1},near:{value:.1},far:{value:1e3},screenSpaceRadius:{value:!1},radius:{value:0},distanceFalloff:{value:1},fog:{value:!1},fogExp:{value:!1},fogDensity:{value:0},fogNear:{value:1/0},fogFar:{value:1/0},colorMultiply:{value:!0}},depthWrite:!1,depthTest:!1,vertexShader:"\n\t\tvarying vec2 vUv;\n\t\tvoid main() {\n\t\t\tvUv = uv;\n\t\t\tgl_Position = vec4(position, 1);\n\t\t}",fragmentShader:"\n\t\tuniform sampler2D sceneDiffuse;\n uniform highp sampler2D sceneDepth;\n uniform highp sampler2D downsampledDepth;\n uniform sampler2D tDiffuse;\n uniform sampler2D blueNoise;\n uniform vec2 resolution;\n uniform vec3 color;\n uniform mat4 projectionMatrixInv;\n uniform mat4 viewMatrixInv;\n uniform float intensity;\n uniform float renderMode;\n uniform float near;\n uniform float far;\n uniform bool gammaCorrection;\n uniform bool logDepth;\n uniform bool ortho;\n uniform bool screenSpaceRadius;\n uniform bool fog;\n uniform bool fogExp;\n uniform bool colorMultiply;\n uniform float fogDensity;\n uniform float fogNear;\n uniform float fogFar;\n uniform float radius;\n uniform float distanceFalloff;\n uniform vec3 cameraPos;\n varying vec2 vUv;\n highp float linearize_depth(highp float d, highp float zNear,highp float zFar)\n {\n return (zFar * zNear) / (zFar - d * (zFar - zNear));\n }\n highp float linearize_depth_ortho(highp float d, highp float nearZ, highp float farZ) {\n return nearZ + (farZ - nearZ) * d;\n }\n highp float linearize_depth_log(highp float d, highp float nearZ,highp float farZ) {\n float depth = pow(2.0, d * log2(farZ + 1.0)) - 1.0;\n float a = farZ / (farZ - nearZ);\n float b = farZ * nearZ / (nearZ - farZ);\n float linDepth = a + b / depth;\n return ortho ? linearize_depth_ortho(\n linDepth,\n nearZ,\n farZ\n ) :linearize_depth(linDepth, nearZ, farZ);\n }\n vec3 getWorldPosLog(vec3 posS) {\n vec2 uv = posS.xy;\n float z = posS.z;\n float nearZ =near;\n float farZ = far;\n float depth = pow(2.0, z * log2(farZ + 1.0)) - 1.0;\n float a = farZ / (farZ - nearZ);\n float b = farZ * nearZ / (nearZ - farZ);\n float linDepth = a + b / depth;\n vec4 clipVec = vec4(uv, linDepth, 1.0) * 2.0 - 1.0;\n vec4 wpos = projectionMatrixInv * clipVec;\n return wpos.xyz / wpos.w;\n }\n vec3 getWorldPos(float depth, vec2 coord) {\n // if (logDepth) {\n #ifdef LOGDEPTH\n return getWorldPosLog(vec3(coord, depth));\n #endif\n // }\n float z = depth * 2.0 - 1.0;\n vec4 clipSpacePosition = vec4(coord * 2.0 - 1.0, z, 1.0);\n vec4 viewSpacePosition = projectionMatrixInv * clipSpacePosition;\n // Perspective division\n vec4 worldSpacePosition = viewSpacePosition;\n worldSpacePosition.xyz /= worldSpacePosition.w;\n return worldSpacePosition.xyz;\n }\n \n vec3 computeNormal(vec3 worldPos, vec2 vUv) {\n ivec2 p = ivec2(vUv * resolution);\n float c0 = texelFetch(sceneDepth, p, 0).x;\n float l2 = texelFetch(sceneDepth, p - ivec2(2, 0), 0).x;\n float l1 = texelFetch(sceneDepth, p - ivec2(1, 0), 0).x;\n float r1 = texelFetch(sceneDepth, p + ivec2(1, 0), 0).x;\n float r2 = texelFetch(sceneDepth, p + ivec2(2, 0), 0).x;\n float b2 = texelFetch(sceneDepth, p - ivec2(0, 2), 0).x;\n float b1 = texelFetch(sceneDepth, p - ivec2(0, 1), 0).x;\n float t1 = texelFetch(sceneDepth, p + ivec2(0, 1), 0).x;\n float t2 = texelFetch(sceneDepth, p + ivec2(0, 2), 0).x;\n \n float dl = abs((2.0 * l1 - l2) - c0);\n float dr = abs((2.0 * r1 - r2) - c0);\n float db = abs((2.0 * b1 - b2) - c0);\n float dt = abs((2.0 * t1 - t2) - c0);\n \n vec3 ce = getWorldPos(c0, vUv).xyz;\n \n vec3 dpdx = (dl < dr) ? ce - getWorldPos(l1, (vUv - vec2(1.0 / resolution.x, 0.0))).xyz\n : -ce + getWorldPos(r1, (vUv + vec2(1.0 / resolution.x, 0.0))).xyz;\n vec3 dpdy = (db < dt) ? ce - getWorldPos(b1, (vUv - vec2(0.0, 1.0 / resolution.y))).xyz\n : -ce + getWorldPos(t1, (vUv + vec2(0.0, 1.0 / resolution.y))).xyz;\n \n return normalize(cross(dpdx, dpdy));\n }\n\n #include \n #include \n void main() {\n //vec4 texel = texture2D(tDiffuse, vUv);//vec3(0.0);\n vec4 sceneTexel = texture2D(sceneDiffuse, vUv);\n float depth = texture2D(\n sceneDepth,\n vUv\n ).x;\n #ifdef HALFRES \n vec4 texel;\n if (depth == 1.0) {\n texel = vec4(0.0, 0.0, 0.0, 1.0);\n } else {\n vec3 worldPos = getWorldPos(depth, vUv);\n vec3 normal = computeNormal(getWorldPos(depth, vUv), vUv);\n // vec4 texel = texture2D(tDiffuse, vUv);\n // Find closest depth;\n float totalWeight = 0.0;\n float radiusToUse = screenSpaceRadius ? distance(\n worldPos,\n getWorldPos(depth, vUv +\n vec2(radius, 0.0) / resolution)\n ) : radius;\n float distanceFalloffToUse =screenSpaceRadius ?\n radiusToUse * distanceFalloff\n : distanceFalloff;\n for(float x = -1.0; x <= 1.0; x++) {\n for(float y = -1.0; y <= 1.0; y++) {\n vec2 offset = vec2(x, y);\n ivec2 p = ivec2(\n (vUv * resolution * 0.5) + offset\n );\n vec2 pUv = vec2(p) / (resolution * 0.5);\n float sampleDepth = texelFetch(downsampledDepth,p, 0).x;\n vec4 sampleInfo = texelFetch(tDiffuse, p, 0);\n vec3 normalSample = sampleInfo.xyz * 2.0 - 1.0;\n vec3 worldPosSample = getWorldPos(sampleDepth, pUv);\n float tangentPlaneDist = abs(dot(worldPos - worldPosSample, normal));\n float rangeCheck = exp(-1.0 * tangentPlaneDist * (1.0 / distanceFalloffToUse)) * max(dot(normal, normalSample), 0.0);\n float weight = rangeCheck;\n totalWeight += weight;\n texel += sampleInfo * weight;\n }\n }\n if (totalWeight == 0.0) {\n texel = texture2D(tDiffuse, vUv);\n } else {\n texel /= totalWeight;\n }\n }\n #else\n vec4 texel = texture2D(tDiffuse, vUv);\n #endif\n\n #ifdef LOGDEPTH\n texel.a = clamp(texel.a, 0.0, 1.0);\n if (texel.a == 0.0) {\n texel.a = 1.0;\n }\n #endif\n \n float finalAo = pow(texel.a, intensity);\n float fogFactor;\n float fogDepth = distance(\n cameraPos,\n getWorldPos(depth, vUv)\n );\n if (fog) {\n if (fogExp) {\n fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );\n } else {\n fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n }\n }\n finalAo = mix(finalAo, 1.0, fogFactor);\n vec3 aoApplied = color * mix(vec3(1.0), sceneTexel.rgb, float(colorMultiply));\n if (renderMode == 0.0) {\n gl_FragColor = vec4( mix(sceneTexel.rgb, aoApplied, 1.0 - finalAo), sceneTexel.a);\n } else if (renderMode == 1.0) {\n gl_FragColor = vec4( mix(vec3(1.0), aoApplied, 1.0 - finalAo), sceneTexel.a);\n } else if (renderMode == 2.0) {\n gl_FragColor = vec4( sceneTexel.rgb, sceneTexel.a);\n } else if (renderMode == 3.0) {\n if (vUv.x < 0.5) {\n gl_FragColor = vec4( sceneTexel.rgb, sceneTexel.a);\n } else if (abs(vUv.x - 0.5) < 1.0 / resolution.x) {\n gl_FragColor = vec4(1.0);\n } else {\n gl_FragColor = vec4( mix(sceneTexel.rgb, aoApplied, 1.0 - finalAo), sceneTexel.a);\n }\n } else if (renderMode == 4.0) {\n if (vUv.x < 0.5) {\n gl_FragColor = vec4( sceneTexel.rgb, sceneTexel.a);\n } else if (abs(vUv.x - 0.5) < 1.0 / resolution.x) {\n gl_FragColor = vec4(1.0);\n } else {\n gl_FragColor = vec4( mix(vec3(1.0), aoApplied, 1.0 - finalAo), sceneTexel.a);\n }\n }\n #include \n if (gammaCorrection) {\n gl_FragColor = LinearTosRGB(gl_FragColor);\n }\n }\n "},u={uniforms:{sceneDiffuse:{value:null},sceneDepth:{value:null},tDiffuse:{value:null},projMat:{value:new s.yGw},viewMat:{value:new s.yGw},projectionMatrixInv:{value:new s.yGw},viewMatrixInv:{value:new s.yGw},cameraPos:{value:new s.Pa4},resolution:{value:new s.FM8},time:{value:0},r:{value:5},blueNoise:{value:null},radius:{value:12},worldRadius:{value:5},index:{value:0},poissonDisk:{value:[]},distanceFalloff:{value:1},near:{value:.1},far:{value:1e3},logDepth:{value:!1},screenSpaceRadius:{value:!1}},depthWrite:!1,depthTest:!1,vertexShader:"\n\t\tvarying vec2 vUv;\n\t\tvoid main() {\n\t\t\tvUv = uv;\n\t\t\tgl_Position = vec4(position, 1.0);\n\t\t}",fragmentShader:"\n\t\tuniform sampler2D sceneDiffuse;\n uniform highp sampler2D sceneDepth;\n uniform sampler2D tDiffuse;\n uniform sampler2D blueNoise;\n uniform mat4 projectionMatrixInv;\n uniform mat4 viewMatrixInv;\n uniform vec2 resolution;\n uniform float r;\n uniform float radius;\n uniform float worldRadius;\n uniform float index;\n uniform float near;\n uniform float far;\n uniform float distanceFalloff;\n uniform bool logDepth;\n uniform bool screenSpaceRadius;\n varying vec2 vUv;\n\n highp float linearize_depth(highp float d, highp float zNear,highp float zFar)\n {\n highp float z_n = 2.0 * d - 1.0;\n return 2.0 * zNear * zFar / (zFar + zNear - z_n * (zFar - zNear));\n }\n highp float linearize_depth_log(highp float d, highp float nearZ,highp float farZ) {\n float depth = pow(2.0, d * log2(farZ + 1.0)) - 1.0;\n float a = farZ / (farZ - nearZ);\n float b = farZ * nearZ / (nearZ - farZ);\n float linDepth = a + b / depth;\n return linearize_depth(linDepth, nearZ, farZ);\n }\n highp float linearize_depth_ortho(highp float d, highp float nearZ, highp float farZ) {\n return nearZ + (farZ - nearZ) * d;\n }\n vec3 getWorldPosLog(vec3 posS) {\n vec2 uv = posS.xy;\n float z = posS.z;\n float nearZ =near;\n float farZ = far;\n float depth = pow(2.0, z * log2(farZ + 1.0)) - 1.0;\n float a = farZ / (farZ - nearZ);\n float b = farZ * nearZ / (nearZ - farZ);\n float linDepth = a + b / depth;\n vec4 clipVec = vec4(uv, linDepth, 1.0) * 2.0 - 1.0;\n vec4 wpos = projectionMatrixInv * clipVec;\n return wpos.xyz / wpos.w;\n }\n vec3 getWorldPos(float depth, vec2 coord) {\n #ifdef LOGDEPTH\n return getWorldPosLog(vec3(coord, depth));\n #endif\n \n float z = depth * 2.0 - 1.0;\n vec4 clipSpacePosition = vec4(coord * 2.0 - 1.0, z, 1.0);\n vec4 viewSpacePosition = projectionMatrixInv * clipSpacePosition;\n // Perspective division\n vec4 worldSpacePosition = viewSpacePosition;\n worldSpacePosition.xyz /= worldSpacePosition.w;\n return worldSpacePosition.xyz;\n }\n #include \n #define NUM_SAMPLES 16\n uniform vec2 poissonDisk[NUM_SAMPLES];\n void main() {\n const float pi = 3.14159;\n vec2 texelSize = vec2(1.0 / resolution.x, 1.0 / resolution.y);\n vec2 uv = vUv;\n vec4 data = texture2D(tDiffuse, vUv);\n float occlusion = data.a;\n float baseOcc = data.a;\n vec3 normal = data.rgb * 2.0 - 1.0;\n float count = 1.0;\n float d = texture2D(sceneDepth, vUv).x;\n if (d == 1.0) {\n gl_FragColor = data;\n return;\n }\n vec3 worldPos = getWorldPos(d, vUv);\n float size = radius;\n float angle;\n if (index == 0.0) {\n angle = texture2D(blueNoise, gl_FragCoord.xy / 128.0).x * PI2;\n } else if (index == 1.0) {\n angle = texture2D(blueNoise, gl_FragCoord.xy / 128.0).y * PI2;\n } else if (index == 2.0) {\n angle = texture2D(blueNoise, gl_FragCoord.xy / 128.0).z * PI2;\n } else {\n angle = texture2D(blueNoise, gl_FragCoord.xy / 128.0).w * PI2;\n }\n\n mat2 rotationMatrix = mat2(cos(angle), -sin(angle), sin(angle), cos(angle));\n float radiusToUse = screenSpaceRadius ? distance(\n worldPos,\n getWorldPos(d, vUv +\n vec2(worldRadius, 0.0) / resolution)\n ) : worldRadius;\n float distanceFalloffToUse =screenSpaceRadius ?\n radiusToUse * distanceFalloff\n : distanceFalloff;\n\n\n for(int i = 0; i < NUM_SAMPLES; i++) {\n vec2 offset = (rotationMatrix * poissonDisk[i]) * texelSize * size;\n vec4 dataSample = texture2D(tDiffuse, uv + offset);\n float occSample = dataSample.a;\n vec3 normalSample = dataSample.rgb * 2.0 - 1.0;\n float dSample = texture2D(sceneDepth, uv + offset).x;\n vec3 worldPosSample = getWorldPos(dSample, uv + offset);\n float tangentPlaneDist = abs(dot(worldPos - worldPosSample, normal));\n float rangeCheck = dSample == 1.0 ? 0.0 :exp(-1.0 * tangentPlaneDist * (1.0 / distanceFalloffToUse)) * max(dot(normal, normalSample), 0.0) * (1.0 - abs(occSample - baseOcc));\n occlusion += occSample * rangeCheck;\n count += rangeCheck;\n }\n if (count > 0.0) {\n occlusion /= count;\n }\n #ifdef LOGDEPTH\n occlusion = clamp(occlusion, 0.0, 1.0);\n if (occlusion == 0.0) {\n occlusion = 1.0;\n }\n #endif\n gl_FragColor = vec4(0.5 + 0.5 * normal, occlusion);\n }\n "},p={uniforms:{sceneDepth:{value:null},resolution:{value:new s.FM8},near:{value:.1},far:{value:1e3},viewMatrixInv:{value:new s.yGw},projectionMatrixInv:{value:new s.yGw},logDepth:{value:!1}},depthWrite:!1,depthTest:!1,vertexShader:"\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = vec4(position, 1);\n }",fragmentShader:"\n uniform highp sampler2D sceneDepth;\n uniform vec2 resolution;\n uniform float near;\n uniform float far;\n uniform bool logDepth;\n uniform mat4 viewMatrixInv;\n uniform mat4 projectionMatrixInv;\n varying vec2 vUv;\n layout(location = 1) out vec4 gNormal;\n vec3 getWorldPosLog(vec3 posS) {\n vec2 uv = posS.xy;\n float z = posS.z;\n float nearZ =near;\n float farZ = far;\n float depth = pow(2.0, z * log2(farZ + 1.0)) - 1.0;\n float a = farZ / (farZ - nearZ);\n float b = farZ * nearZ / (nearZ - farZ);\n float linDepth = a + b / depth;\n vec4 clipVec = vec4(uv, linDepth, 1.0) * 2.0 - 1.0;\n vec4 wpos = projectionMatrixInv * clipVec;\n return wpos.xyz / wpos.w;\n }\n vec3 getWorldPos(float depth, vec2 coord) {\n if (logDepth) {\n return getWorldPosLog(vec3(coord, depth));\n }\n float z = depth * 2.0 - 1.0;\n vec4 clipSpacePosition = vec4(coord * 2.0 - 1.0, z, 1.0);\n vec4 viewSpacePosition = projectionMatrixInv * clipSpacePosition;\n // Perspective division\n vec4 worldSpacePosition = viewSpacePosition;\n worldSpacePosition.xyz /= worldSpacePosition.w;\n return worldSpacePosition.xyz;\n }\n \n vec3 computeNormal(vec3 worldPos, vec2 vUv) {\n ivec2 p = ivec2(vUv * resolution);\n float c0 = texelFetch(sceneDepth, p, 0).x;\n float l2 = texelFetch(sceneDepth, p - ivec2(2, 0), 0).x;\n float l1 = texelFetch(sceneDepth, p - ivec2(1, 0), 0).x;\n float r1 = texelFetch(sceneDepth, p + ivec2(1, 0), 0).x;\n float r2 = texelFetch(sceneDepth, p + ivec2(2, 0), 0).x;\n float b2 = texelFetch(sceneDepth, p - ivec2(0, 2), 0).x;\n float b1 = texelFetch(sceneDepth, p - ivec2(0, 1), 0).x;\n float t1 = texelFetch(sceneDepth, p + ivec2(0, 1), 0).x;\n float t2 = texelFetch(sceneDepth, p + ivec2(0, 2), 0).x;\n \n float dl = abs((2.0 * l1 - l2) - c0);\n float dr = abs((2.0 * r1 - r2) - c0);\n float db = abs((2.0 * b1 - b2) - c0);\n float dt = abs((2.0 * t1 - t2) - c0);\n \n vec3 ce = getWorldPos(c0, vUv).xyz;\n \n vec3 dpdx = (dl < dr) ? ce - getWorldPos(l1, (vUv - vec2(1.0 / resolution.x, 0.0))).xyz\n : -ce + getWorldPos(r1, (vUv + vec2(1.0 / resolution.x, 0.0))).xyz;\n vec3 dpdy = (db < dt) ? ce - getWorldPos(b1, (vUv - vec2(0.0, 1.0 / resolution.y))).xyz\n : -ce + getWorldPos(t1, (vUv + vec2(0.0, 1.0 / resolution.y))).xyz;\n \n return normalize(cross(dpdx, dpdy));\n }\n void main() {\n vec2 uv = vUv - vec2(0.5) / resolution;\n vec2 pixelSize = vec2(1.0) / resolution;\n vec2[] uvSamples = vec2[4](\n uv,\n uv + vec2(pixelSize.x, 0.0),\n uv + vec2(0.0, pixelSize.y),\n uv + pixelSize\n );\n float depth00 = texture2D(sceneDepth, uvSamples[0]).r;\n float depth10 = texture2D(sceneDepth, uvSamples[1]).r;\n float depth01 = texture2D(sceneDepth, uvSamples[2]).r;\n float depth11 = texture2D(sceneDepth, uvSamples[3]).r;\n float minDepth = min(min(depth00, depth10), min(depth01, depth11));\n float maxDepth = max(max(depth00, depth10), max(depth01, depth11));\n float targetDepth = minDepth;\n // Checkerboard pattern to avoid artifacts\n if (mod(gl_FragCoord.x + gl_FragCoord.y, 2.0) > 0.5) { \n targetDepth = maxDepth;\n }\n int chosenIndex = 0;\n float[] samples = float[4](depth00, depth10, depth01, depth11);\n for(int i = 0; i < 4; ++i) {\n if (samples[i] == targetDepth) {\n chosenIndex = i;\n break;\n }\n }\n gl_FragColor = vec4(samples[chosenIndex], 0.0, 0.0, 1.0);\n gNormal = vec4(computeNormal(\n getWorldPos(samples[chosenIndex], uvSamples[chosenIndex]), uvSamples[chosenIndex]\n ), 0.0);\n /* float[] samples = float[4](depth00, depth10, depth01, depth11);\n float c = 0.25 * (depth00 + depth10 + depth01 + depth11);\n float[] distances = float[4](depth00, depth10, depth01, depth11);\n float maxDistance = max(max(distances[0], distances[1]), max(distances[2], distances[3]));\n\n int remaining[3];\n int rejected[3];\n int i, j, k;\n\n for(i = 0, j = 0, k = 0; i < 4; ++i) {\n if (distances[i] < maxDistance) {\n remaining[j++] = i;\n } else {\n rejected[k++] = i;\n }\n }\n for(;j < 3;++j) {\n remaining[j] = rejected[--k];\n }\n vec3 s = vec3(\n samples[remaining[0]],\n samples[remaining[1]],\n samples[remaining[2]]\n );\n c = (s.x + s.y + s.z) / 3.0;\n\n distances[0] = abs(c - s.x);\n distances[1] = abs(c - s.y);\n distances[2] = abs(c - s.z);\n\n float minDistance = min(min(distances[0], distances[1]), distances[2]);\n\n for(i = 0; i < 3; ++i) {\n if (distances[i] == minDistance) {\n break;\n }\n }*/\n /* gl_FragColor = vec4(samples[remaining[i]], 0.0, 0.0, 0.0);\n gNormal = vec4(computeNormal(\n getWorldPos(samples[remaining[i]], uvSamples[remaining[i]]), uvSamples[remaining[i]]\n ), 0.0);*/\n }"};var h="5L7pP4UXrOIr/VZ1G3f6p89FIWU7lqc7J3DPxKjJUXODJoHQzf/aNVM+ABlvhXeBGN7iC0WkmTjEaAqOItBfBdaK5KSGV1ET5SOKl3x9JOX5w2sAl6+6KjDhVUHgbqq7DZ5EeYzbdSNxtrQLW/KkPJoOTG4u5CBUZkCKHniY9l7DUgjuz708zG1HIC8qfohi1vPjPH9Lq47ksjRrjwXD4MlVCjdAqYFGodQ8tRmHkOfq4wVRIAHvoavPHvN1lpk3X4Y1yzAPGe8S9KBs3crc4GwlU1dEOXiWol/mgQqxkNqB1xd04+0Bmpwj0GcCc4NUi+c731FUxjvaexCkCJ0qhrJJ++htWqetNC4NewClu8aFRSwrqiJEGe+qtTg4CYCHaF1wJI0sy/ZBQAI0qAMyBvVjWZlv2pdkCaro9eWDLK5I4mbb8E4d7hZr9dDJiTJm6Bmb5S+2F7yal/JPdeLUfwq7jmVLaQfhv4tWMJAt7V4sG9LuAv2oPJgSj1nnlBvPibfHM2TrlWHwGCLGxW/5Jm2TotaDL+pHDM5pn1r0UuTZ24N8S5k68bLHW9tfD+2k4zGev23ExJb4YTRKWrj82N5LjJ26lj1BkGZ0CsXLGGELoPaYQomjTqPxYqhfwOwDliNGVqux9ffuybqOKgsbB51B1GbZfG8vHDBE2JQGib1mnCmWOWAMJcHN0cKeDHYTflbDTVXajtr68mwfRje6WueQ/6yWqmZMLWNH7P27zGFhMFqaqfg11Q88g/9UA/FROe9yfq0yOO0pnNAxvepFy2BpEbcgG+mCyjCC01JWlOZlIPdf1TtlyOt7L94ToYGCukoFt4OqwOrofamjECpSgKLLmrRM+sNRAw12eaqk8KtdFk7pn2IcDQiPXCh16t1a+psi+w9towHTKPyQM0StKr61b2BnN1HU+aezFNBLfHTiXwhGTbdxLLmrsAGIVSiNAeCGE8GlB0iOv2v78kP0CTmAPUEqnHYRSDlP+L6m/rYjEK6Q85GRDJi2W20/7NLPpSOaMR++IFvpkcwRuc59j8hh9tYlc1xjdt2jmp9KJczB7U9P43inuxLOv11P5/HYH5d6gLB0CsbGC8APjh+EcCP0zFWqlaACZweLhVfv3yiyd8R3bdVg8sRKsxPvhDaPpiFp9+MN+0Ua0bsPr+lhxfZhMhlevkLbR4ZvcSRP6ApQLy3+eMh9ehCB3z5DVAaN3P6J8pi5Qa88ZQsOuCTWyH6q8yMfBw8y8nm6jaOxJhPH6Hf0I4jmALUBsWKH4gWBnyijHh7z3/1HhQzFLRDRrIQwUtu11yk7U0gDw/FatOIZOJaBx3UqbUxSZ6dboFPm5pAyyXC2wYdSWlpZx/D2C6hDO2sJM4HT9IKWWmDkZIO2si/6BKHruXIEDpfAtz3xDlIdKnnlqnkfCyy6vNOPyuoWsSWBeiN0mcfIrnOtp2j7bxjOkr25skfS/lwOC692cEp7TKSlymbsyzoWg/0AN66SvQYo6BqpNwPpTaUu25zMWlwVUdfu1EEdc0O06TI0JmHk4f6GZQbfOs//OdgtGPO6uLoadJycR8Z80rkd88QoNmimZd8vcpQKScCFkxH1RMTkPlN3K7CL/NSMOiXEvxrn9VyUPFee63uRflgaPMSsafvqMgzTt3T1RaHNLLFatQbD0Vha4YXZ/6Ake7onM65nC9cyLkteYkDfHoJtef7wCrWXTK0+vH38VUBcFJP0+uUXpkiK0gDXNA39HL/qdVcaOA16kd2gzq8aHpNSaKtgMLJC6fdLLS/I/4lUWV2+djY9Rc3QuJOUrlHFQERtXN4xJaAHZERCUQZ9ND2pEtZg8dsnilcnqmqYn3c1sRyK0ziKpHNytEyi2gmzxEFchvT1uBWxZUikkAlWuyqvvhteSG9kFhTLNM97s3X1iS2UbE6cvApgbmeJ/KqtP0NNT3bZiG9TURInCZtVsNZzYus6On0wcdMlVfqo8XLhT5ojaOk4DtCyeoQkBt1mf5luFNaLFjI/1cnPefyCQwcq5ia/4pN4NB+xE/3SEPsliJypS964SI6o5fDVa0IERR8DoeQ+1iyRLU1qGYexB61ph4pkG1rf3c2YD6By1pFCmww9B0r2VjFeaubkIdgWx4RKLQRPLENdGo8ezI5mkNtdCws19aP1uHhenD+HKa8GDeLulb2fiMRhU2xJzzz9e4yOMPvEnGEfbCiQ17nUDpcFDWthr68mhZ4WiHUkRpaVWJNExuULcGkuyVLsQj59pf6OHFR7tofhy9FMrWPCEvX1d5sCVJt8yBFiB6NoOuwMy4wlso9I2G4E5/5B2c6vIZUUY9fFujT3hpkdTuVhbhBwLCtnlIjBpN4cq+waZ0wXSrmebcl+dcrb7sPh9jKxFINkScDTBgjSUfLkC3huJJs/M4M8AOFxbbSIVpBUarYFmLpGsv+V6TJnWNTwI41tubwo7QSI1VOdRKT/Pp8U3oK2ciDbeuWnAGAANvQjGfcewdAdo6H83XzqlK/4yudtFHJSv9Y+qJskwnVToH1I0+tJ3vsLBXtlvMzLIxUj/8LcqZnrNHfVRgabFNXW0qpUvDgxnP3f54KooR3NI+2Q/VHAYFigMkQE5dLH6C6fGs/TKeE6E2jOhZQcP9/rrJjJKcLYdn5cw6XLCUe9F7quk5Yhac+nYL5HOXvp6Q/5qbiQHkuebanX77YSNx34YaWYpcEHuY1u/lEVTCQ7taPaw3oNcn/qJhMzGPZUs3XAq48wj/hCIO2d5aFdfXnS0yg57/jxzDJBwkdOgeVnyyh19Iz1UqiysT4J1eeKwUuWEYln23ydtP7g3R1BnvnxqFPAnOMgOIop2dkXPfUh/9ZKV3ZQbZNactPD4ql5Qg9CxSBnIwzlj/tseQKWRstwNbf17neGwDFFWdm/8f+nDWt/WlKV3MUiAm3ci6xXMDSL5ubPXBg/gKEE7TsZVGUcrIbdXILcMngvGs7unvlPJh6oadeBDqiAviIZ/iyiUMdQZAuf/YBAY0VP1hcgInuWoKbx31AOjyTN2OOHrlthB3ny9JKHOAc8BMvqopikPldcwIQoFxTccKKIeI815GcwaKDLsMbCsxegrzXl8E0bpic/xffU9y1DCgeKZoF2PIY77RIn6kSRdBiGd8NtNwT74dyeFBMkYraPkudN26x9NPuBt4iCOAnBFaNSKVgKiZQruw22kM1fgBKG7cPYAxdHJ8M4V/jzBn2jEJg+jk/jjV4oMmMNOpKB5oVpVh7tK529Z+5vKZ0NSY2A4YdcT0x4BdkoNEDrpsTmekSTjvx9ZBiTHrm9M/n/hGmgpjz4WEjttRfAEy5DYH5vCK/9GuVPa4hoApFaNlrFD/n2PpKOw24iKujKhVIz41p1E0HwsCd/c17OA0H0RjZi1V/rjJLexUzpmXTMIMuzaOBbU4dxvQMgyvxJvR6DyF3BaHkaqT4P3FRYlm+zh8EEGgmkNqD1WRUubDW62VqLoH8UEelIpL7C8CguWWGGCAIDPma9bnh+7IJSt0Cn6ACER2mYk8dLsrN70RUVLiE0ig+08yPY9IOtuqHf/KYsT84BwhMcVq7t8q1WVjpJGNyXdtIPIjhAzabtrX03Itn29QO3TCixE9WpkHIOdAoGvqCrw1D3x9g9Px8u0yZZuulZuGy0veSY34KDSlhsO1zx2ZMrpDBzCHPB4niwApk6NevIvmBxU3+4yaewDvgEQDJ6Of5iRxjAIpp9UO8EzNY4blj4qh8SCSZTqbe/lShE6tNU9Y5IoWHeJxPcHF9KwYQD7lFcIpcscHrcfkHJfL2lL1zczKywEF7BwkjXEirgBcvNWayatqdTVT5oLbzTmED3EOYBSXFyb2VIYk3t0dOZWJdG1nP+W7Qfyeb8MSIyUGKEA57ptPxrPHKYGZPHsuBqQuVSrn0i8KJX+rlzAqo8AawchsJ26FckxTf5+joTcw+2y8c8bushpRYEbgrdr64ltEYPV2AbVgKXV3XACoD1gbs01CExbJALkuItjfYN3+6I8kbiTYmdzBLaNC+xu9z/eXcRQV1Lo8cJoSsKyWJPuTncu5vcmfMUAWmuwhjymK1rhYR8pQMXNQg9X+5ha5fEnap+LhUL1d5SURZz9rGdOWLhrMcMKSaU3LhOQ/6a6qSCwgzQxCW2gFs53fpvfWxhH+xDHdKRV6w29nQ6rNqd9by+zm1OpzYyJwvFyOkrVXQUwt4HaapnweCa7Tj2Mp/tT4YcY3Q/tk1czgkzlV5mpDrdp1spOYB8ionAwxujjdhj5y9qEHu0uc36PAKAYsKLaEoiwPnob0pdluPWdv4sNSlG8GWViI+x/Z4DkW/kSs2iE3ADFjg4TCvgCbX3v0Hz0KZkerrpzEIukAusidDs2g/w0zgmLnZXvVr5kkpwQTLZ0L6uaTHl0LVikIuNIVPmL3fOQJqIdfzymUN0zucIrDintBn6ICl/inj5zteISv5hEMGMqtHc2ghcFJvmH3ZhIZi34vqqTFCb9pltTYz582Y3dwYaHb9khdfve1YryzEwEKbI8qm62qv+NyllC+WxLLAJjz0ZaEF2aTn35qeFmkbP6LDYcbwqWxA0WKsteB7vy8bRHE4r8LhubWDc0pbe90XckSDDAkRej0TQlmWsWwaz18Tx2phykVvwuIRzf4kt9srT8N7gsMjMs0NLAAldabFf2tiMoaaxHcZSX51WPc1BrwApMxih227qTZkcgtkdK1h314XvZKUKh/XysWYnk1ST4kiBI1B9OlfTjB3WHzTAReFLofsGtikwpIXzQBc/gOjz2Thlj36WN0sxyf4RmAFtrYt64fwm+ThjbhlmUTZzebLl4yAkAqzJSfjPBZS2H/IvkkTUdVh0qdB6EuiHEjEil5lk9BTPzxmoW4Jx543hiyy4ASdYA2DNoprsR9iwGFwFG3F2vIROy4L5CZrl230+k733JwboSNBKngsaFPtqo+q3mFFSjC1k0kIAFmKihaYSwaSF7konmYHZWmchuaq15TpneA2ADSRvA07I7US0lTOOfKrgxhzRl0uJihcEZhhYWxObjvNTJ/5sR4Aa5wOQhGClGLb746cJhQ2E6Jie1hbGgWxUH7YSKETptrTeR/xfcMNk2WM12S0XElC9klR8O7jLYekEOZdscP0ypSdoCVZAoK+2ju2PHE869Q9rxCs9DVQco4BriiPbCjN/8tBjsah4IuboR5QbmbyDpcdXVxGMxvWKIjocBuKbjb+B4HvkunbG0wX0IFCjQKoNMFIKcJSJXtkP3EO+J16uh4img0LQlBAOYwBLupu5r1NALMo0g3xkd9b4f7KoCBWHeyk24FmYUCy/PGLv0xErOTyORp8TJ5nnc2k1dOVBTJok7iHye9dwxwRVP3c7eAS8pMmJYHGpzIHz6ii2WJm8HMTPAZdA4q+ugj3PNCL/N45kyglqvQV4f/+ryDDG5RPy5HVoV9FVuJcq2dxF9Y0heVoipV6q1LyfAeuMzbsUV+rsSBmCSV+1CdKlxy0T0Y6Om0X6701URm2Ml6DIQgJ/3KO6kwcMYRrmKsY7TfxWhSXZll+1PfyRXe9HS0t1IKTQMZL7ZqQ8D/o+en57Y9XAQ9C+kZYykNr0xOMxEwu2+Cppm69mQyTm3H7QX6kHvXF201r+KVAf354qypJC5OHSeBU47bM1bTaVmdVEWQ+9CcvvHdu8Ue5UndHM+EeukmR82voQpetZ7WJjyXs+tPS60nk09gymuORoHNtbm0VuvyigiEvOsyHiRBW7V6FyTCppLPEHvesan91SlEh1/QEunq+qgREFXByDwNKcAH5s8/RFg8hP4wcPmFqX0xXGSKY087bqRLsBZe52jThx0XLkhKQUWPvI18WQQS3g2Ra1pzQ1oNFKdfJJjyaH5tJH6w0/upJobwB8KZ5cIs9LnVGxfBaHXBfvLkNpab7dpU6TdcbBIc+A4bqXE/Xt8/xsGQOdoXra4Us5nDAM6v2BNBQaGMmgMfQQV+ikTteSHvyl8wUxULiYRIEKaiDxpBJnyf9OoqQdZVJ8ahqOvuwqq5mnDUAUzUr/Lvs1wLu2F+r4eZMfJPL4gV5mKLkITmozRnTvA7VABaxZmFRtkhvU5iH9RQ1z26ku7aABokvptx7RKZBVL6dveLKOzg0NC7HAxcg5kE1wuyJiEQLOpO0ma3AtWD2Q2Wmn2oPZeDYAwVyEpxuwDy7ivmdUDSL95ol3h2JByTMovOCgxZ1q4E5nwwa7+4WtDAse6bDdr27XgAi5Px3IWbyZ/vRiECKwOMeJSuIl8A4Ds0emI3SgKVVWVO5uyiEUET+ucEq0casA+DQyhzRc8j+Plo0pxKynB/t0uXod1FVV4fX1sC4kDfwFaUDGQ4p9HYgaMqIWX3OF/S8+vcR0JS0bDapWKJwAIIQiRUzvh5YwtzkjccbbrT9Ky/qt5X7MAGA0lzh43mDF9EB6lCGuO/aFCMhdOqNryvd73KdJNy3mxtT8AqgmG4xq7eE1jKu6rV0g8UGyMatzyIMjiOCf4lIJFzAfwDbIfC72TJ/TK+cGsLR8blpjlEILjD8Mxr7IffhbFhgo12CzXRQ2O8JqBJ70+t12385tSmFC8Or+U8svOaoGoojT1/EmjRMT7x2iTUZ7Ny02VGeMZTtGy029tGN1/9k7x3mFu63lYnaWjfJT1m1zpWO3HSXpGkFqVd/m3kDMv4X9rmLOpwEeu8r6TI6C2zUG+MT6v90OU3y5hKqLhpyFLGtkZhDmUg/W1JGSmA8N1TapR4Kny+P6+DuMadZ9+xBbv06nfOjMwkoTsjG0zFmNbvlxEjw+Pl5QYK+V8Qyb+nknZ0Nb/Ofi9+V0eoNtTrtD1/0wzUGGG5u2D/J1ouO/PjXFJVx6LurVnPOyFVbZx7s3ZSjSq+7YN3wzTbFbUvP8GBh7cKieJt56SIowQ2I577+UEXrxUKMFO+XaLLCALuiJWB2vUdpsT+kQ+adoeTfwOulXhd/KZ7ygjj6PhvGT1xzfT7hTwd6dzSB4xV70CesHC0dsg2VyujlMGBKjg5snbrHHX/LNj3SsoLGSX+bZNTDDCNTXh+dCVPlj4K8+hJ/kVddrbtZw26Hx5qYiv3oNNg5blHRSPtmojhZmBQAz8sLC9nAuWNSz1dIofFtlryEKklbdkhBCcx5dhj7pinXDNlCeatCeTCEjYCpZ3HRf5QzUcRR1Tdb3gwtYtpPdgMxmWfJGoZSu1EsCJbIhS16Ed97+8br4Ar1mB1GcnZVx/HPtJl4CgbHXrrDPwlE4od8deRQYLt9IlsvCqgesMmLAVxB+igH7WGTcY/e3lLHJ4rkBgh2p1QpUBRb/cSQsJCbosFDkalbJigimldVK7TIHKSq2w8mezku9hgw8fXJxGdXoL1ggma52kXzjP78l0d0zMwtTVlt0FqnRyGLPGEjmICzgSp7XPFlUr7AeMclQ4opqwBFInziM5F8oJJ8qeuckGOnAcZZOLl1+ZhGF17pfIuujipwFJL7ChIIB2vlo0IQZGTJPNa2YjNcGUw+a/gWYLkCp+bOGIYhWr08UIE709ZEHlUoEbumzgpJv1D0+hWYNEpj+laoZIK5weO2DFwLL6UBYNrXTm9YvvxeN9U9oKsB3zKBwzFFwDgid5ESMhy68xBnVa55sCZd+l5AnzT8etYjIwF/BGwEx1jjzFv32bk6EeJulESARh8RZ48o7rKw67UZpudPa15SDnL8AL8xMV2SC0D1P53p190zhCFkMmEiir2olwxcJppl/kLm6/0QSUQLNaxi1AC3Pg1CTosX2YQr73PjEIxIlg4mJ62vP7ZyoHE55B0SX9YrrrCPtNsrJEwtn6KOSt7nLT3n3DLJTPbLulcqQ1kETP6Huts29oP+JLEqRGWgnrqMD+mhCl1XCZifjgQ39AeudE8pyu2DqnYU3PyPbJhStq1HbP+VxgseWL+hQ+4w1okADlA9WqoaRuoS7IY77Cm40cJiE6FLomUMltT+xO3Upcv5dzSh9F57hodSBnMHukcH1kd9tqlpprBQ/Ij9E+wMQXrZG5PlzwYJ6jmRdnQtRj64wC/7vsDaaMFteBOUDR4ebRrNZJHhwlNEK9Bz3k7jqOV5KJpL74p2sQnd7vLE374Jz+G7H3RUbX17SobYOe9wKkL/Ja/zeiKExOBmPo0X29bURQMxJkN4ddbrHnOkn6+M1zTZHo0efsB23WSSsByfmye2ZuTEZ12J3Y8ffT6Fcv8XVfA/k+p+xJGreKHJRVUIBqfEIlRt987/QXkssXuvLkECSpVEBs+gE1meB6Xn1RWISG6sV3+KOVjiE9wGdRHS8rmTERRnk0mDNU/+kOQYN/6jdeq0IHeh9c6xlSNICo9OcX1MmAiEuvGay43xCZgxHeZqD7etZMigoJI5V2q7xDcXcPort7AEjLwWlEf4ouzy2iPa3lxpcJWdIcHjhLZf1zg/Kv3/yN1voOmCLrI1Fe0MuFbB0TFSUt+t4Wqe2Mj1o2KS0TFQPGRlFm26IvVP9OXKIQkjfueRtMPoqLfVgDhplKvWWJA673+52FgEEgm+HwEgzOjaTuBz639XtCTwaQL/DrCeRdXun0VU3HDmNmTkc6YrNR6tTVWnbqHwykSBswchFLnvouR0KRhDhZiTYYYNWdvXzY+61Jz5IBcTJavGXr9BcHdk/3tqaLbwCbfpwjxCFSUs1xfFcRzRfMAl+QYuCpsYGz9H01poc1LyzhXwmODmUSg/xFq/RosgYikz4Om/ni9QCcr28ZPISaKrY7O+CspM/s+sHtnA9o9WgFWhcBX2LDN2/AL5uB6UxL/RaBp7EI+JHGz6MeLfvSNJnBgI9THFdUwmg1AXb9pvd7ccLqRdmcHLRT1I2VuEAghBduBm7pHNrZIjb2UVrijpZPlGL68hr+SDlC31mdis0BjP4aZFEOcw+uB17y5u7WOnho60Vcy7gRr7BZ9z5zY1uIwo+tW1YKpuQpdR0Vi7AxKmaIa4jXTjUh7MRlNM0W/Ut/CSD7atFd4soMsX7QbcrUZZaWuN0KOVCL9E09UcJlX+esWK56mre/s6UO9ks0owQ+foaVopkuKG+HZYbE1L1e0VwY2J53aCpwC77HqtpyNtoIlBVzOPtFvzBpDV9TjiP3CcTTGqLKh+m7urHvtHSB/+cGuRk4SsTma9sPCVJ19UPvaAv5WB8u57lNeUewwKpXmmKm5XZV91+FqCCT6nVrrrOgXfYmGFlVjqsSn3/yufkGIdtmdD0yVBcYFR3hDx43e3E4iuiEtP3Me9gcsBqveQdKojKR//qD2nEDY0IktMgFvH+SqVWi9mAorym92NEGbY8MeDjp553MiTXCRSASPt+Ga5q7pB9vwFQCTpaoevx0yEfrq9rMs3eU6wclBMJ9Ve8m6QuLYZ58J41YG3jW/khW92h6M/vbFIUPuopZ6VVtpciesU74Ef7ic8iSymDohGeUn4ubT0vRsXmbsjaJaYhL8f+8I5EiD5l680MJbxX/4GYrOg4iPQqpKp0qddSu/HKtznHeVyxgTwhfEORMCwnaqetVSzvidaWN9P+fXtGXfEP9cTdwx2gKVfDdICq7hecgRhIs0qlCt6+5pGlCc6kWoplHa/KjP+FJdXBU/IDoKMxRjFhSYkggIkhvRKiN/b2ud8URPF+lB87AGAwyMjr/Wju2Uj5IrppXZWjI3d14BdKE2fhALyQPmHqqA+AXd2LwvRHcBq4mhOQ4oNRWH7wpzc6Pggfcbv9kqhLxrJKEaJqA6Rxi+TDNOJstd5DoRVCDjmVspCVyHJsFEWPg9+NA8l1e4X2PDvOd5MPZAGw6LRhWqeZoSQcPf9/dGJYAyzCmttlRnx0BfrKQ/G9i5DVJft9fuJwMi3OD/0Dv1bRoxcXAyZ0wMJ6rwk9RjRTF4ZK8JviCCNuVt/BqQYiphOzWCpnbwOZt6qXuiAabQWrS4mNXQ7cEErXR/yJcbdFp5nWE1bPBjD0fmG3ovMxmOq5blpcOs0DtNQpci1t+9DKERWAO53IVV/S4yhMklvIp0j0FIQgwjdUptqmoMYGVWSI5YkTKLHZdXRDv9zs+HdFZt1QVcdlGOgATro3fg6ticCrDQKUJC7bYX50wdvetilEwVenHhlr85HMLRLTD6nDXWId4ORLwwe5IXiOhpuZTVTv+xdkTxJofqeCRM/jcZqQlU0gFVTlYlfwMi6HKR2YG4fQ8TOtgR+yV+BMZb6L5OwDc/28/xdfD7GXFaVA2ZSObiIxBwT2Zev637EuvpM6rxcogdM4FJFa0ZhF7nrqtNsqWg5M7hZMORpjd4szf/wS+Ahs1shY54Ct5J1dOBO4sdEtSnRc0P9PhgyOCt6aQW98R22DpAcNTDe72AHK40vutKTPfpokghRPuGvz0dulBPKfC3O4KVDCyWrJGO7Ikdu06A0keKlVfi0tGcpO0NhzXEh75NHyMysAMV19fq7//sPC0For1k2uFEvq8lwrMAfmP7afR69U2RqaILHe7glpc8HmVf87Qb2ohsw+Di9U+ePdHLecS66MhB/0OwdcXR5WBcWTZLGq/kiAaT+bzkjR8GIpWdv6pfIgQ+Q0xdiKvo+gNB7/Nf9knNJGxnh7LeZEFtMn517tNc74PPS0M4K3I6HHZqNPA+VZcBc/g5a2ARyqKrJ4Z3krsuA+VOJJz2KJpBMgCCWFln3u7k6/q3DETAubKG/pt3ObaNT0NI0Qug90L2ip5dHnZJUjPTvK5E96aX/4mRU2u8n8kh6MKbY7ANBro3huF06U+JvfyELQP25oIaj+n0ITQ4KT9rXZD4EtBIOj95fYNldDN3io/VMIvWNj9P/b95WEMq8UAVfG2XG0N6fSYdnBEC7sUEbatbDICH9qA8TTuW9kEt9DlFOZFP7bdfYLa/khSY8W5K/AkIIAPXtMvyVKyESjKx9nfragssxC0jFMVY94d8lOAwRocdS/l/P43cBGa3IqDa0ihGPcmwS8O8Vj16Uy55rOrnN0shhRJZdW8I7F0Q0KeHc35GFo4aJOFc25gNafBu1V/VO0qS4Qkb6wjRrnlepUWjtYyaDABZceValuOMtoDdeIITWKOJiwGPpB12lQgwkmXh9M86podb0D117mNQ8ElluFvbaS8RTKQ6lyj88dUwoJU/ofOeubhoXWBF8eNumkVJu+As3ED/AvLlrV91UowIWI2m8HBG+a3k247ZKAGYsOcWe7fTWqL8eqwM5ZFuoXbeugPKuMOAtOsN+4dSwkhrSAlfGNTzFwEmCNWtzpa9CgPbYNcmoHtO8pj8qMvlGET6nrkJoQ2lp5MEUV1E2A4ZH70JUlCLXvqTIpZlzyxdr5p/GZiD1/BuFOGbyfFzhuxaC/l3lC2jjt6GNRBa06AqqPlYtdA7kiidYa5Qi0/XpXiMDyMXNOj3kmJEaXufW0GO8+DF8OoMULX1vvjCePKNis4AmxQKLCF+cjf/wyilCJvuiyLVPSdsuRTPZ0AhpdDF/1uFmDwG7iP3qYwNsKzqd3sYdnMolCOuQOIHWy1eQpWhuV+jmSeAC5zCc0/KsOIXkZPdiw8vtB33jEBpezpGDBP4JLY2wH1J7Fzp8y8RICqVd25mDT2tDb/L1mh4fv9TOfDH5dTeATqu+diOZi+/sIt18hiTovPsVQVaqXLPRx/4R/uH/86tBMcF+WBkThKLfblcVCIECc8DgNRVX97KdrsCeIK+CvJZMfwrftcDZDZyp7G8HeKl7bPYnTKX88dXAwAyz66O2chkPDHy/2K2XcT/61XnlAKgPwtI8yP9Vu45yh55KHhJu93mL4nfo8szp/IyDjmFHtSMqqoWsj8WaVhbjXgzZxcqZcyOe7pUK6aXF/Y32LnBOt0WN28UmHRiOpL525C63I2JQPX8vvOU0fz2ij74OeJ1Apgu3JRObfdo9xGDpp7cv3TdULEfNS6Gu3EJu7drBsBsogUqUc6wAUW3ux0/1hLVI/JEKJrAGm8g72C2aJSsGAsKFW4CBvBXVlNIKa5r7HvT1BeGYBfxTR1vhNlFFNN8WQYwr39yT/13XzRGiF2IsfE8HcN0+lN1zN/OnzekVBKkFY11GgrK5CLxrE/2HCEMwQb9yOuP2rTXiZzTEETp/ismFGcTWmbM9G1Sn2D/x3G74uWYZY4rgKB2Zo2bTKS6QnM5x1Yee66Y1L7K44AyiY5K2MH5wrTwxMFh+S8LzNQ25z6sunWZyiRwFIIvSnioltUXNiOr+XMZ6O9h9HcHxZJkfF0tUm6QkU7iJ2ozXARitiL86aqVsMOpmvdIBROhUoanPtCjgft8up3hAaKpw9Qs9MzYtBA2ijHXotzarkV3zKEK0dFFQUwT74NgCmGGuSCEDmFCezXPC9BhyGhmzNa6rQeQQz+r9CmGUZjIQEPsHwe86oCOQhWaHERsv5ia9rZvJ//7UXO7B329YUkLLAiqpLRsVV5XpcfdawlJqi/BVcCqO6dr9YJTFFRMVGhfUbB9YWNvYPY6RyaydAFYq1YIBQxuNAGfYWLMAHtt2XRHoOKCLz+qf5HCVBDOPOktQ3SdJBfxUkaiD585bmTzMwU3oeXUHZ55EC99Kz9kk4ZXMIENwVVpqW2JmGIcUiutIMj2KkpjE2QD+dIZUCxcX57kH7hiuUPnKCTdaw4KN95XPeFRvMcvo5L8LexWqvaJPECzwXCs/4XPAlSMpWUzBBjK3pEnkbueMkMJQrYcnXf7PjbAoJra1VLX4YuscQLpaeYWbT+h24hCFrfcHjxxx6WTSe4AGY/KHRZCQKqTuFWt0D8RmGWmvXSdg1ptIefYPshuIVZT7CV4Ny67fvjJugy0TNYHqoCO45CB88kxrvIsih19DqjD0UqiJsTFPcGW3P/ULOG3nb8CjpgVTIoa5nO9ZYEX4uEHu8hLXrJPjV1lTQ5xTdZVagg+Wj8V0EE4yPsTc345KM6lVXqLiHtm+G6edC4GVEiPgd98g+twSYm18gCsPnjqlLcFm9e72CLJbYD+ocIZOxuVjrX6IKh9fh7WqdIZ66x9PWkDGOVVGkx7jM76Ywe16DX9ng205kg5eq+R2q2MguTJxYv/wWHliD9mOYpzZKNXYC3Wr4iBGkm54hBwkPzFhiX/VBHdVH/KJ1ZIMOHxIN6arKdxrm6EBsgwDt0mPe0MX1HRUMq8ctcmysU6xX0bzM1J07kAvq33jw1q0Pq2cyMWme8F7aVkfhzZEFdyi8fVBQav0YZqvAjZ83WKH726rBx5Bn7GHFthR6H4lFsltu+jWmsAibJ3kpWMG/QbncU7n9skIBL0MuXXtj9sJg+4Dl0XhKJ1LcrMydaIgyrgZgScP4k8YQvcsBmD26X1iYXKLzMYfZn2IfRjznsrJ1e5cnl/3a5xiNoI6n1x1U36FWckJbyx+hiSZg0QqAqeeSvzFYMlZ2REnO/a6yoQhu7PdHMYEPFIvfyGeyCU8e7rpju4DrlOhszj9rOIpNsvCkuD+TLyf5J7D/wsPkBpscFVI1q7oUSU9bN30vH5AqnO7bsf+9rGhtVjOJQ32H9hHSAzR2ape4L0Cz4WxaySm4jvuGXwkFp5NMMLrgZ8LdA+5uLuyxO5SMOmJNDBcbbLefv7z6LyxBwltnfQLd7qqpG1MmNcoLUcx73BkNF/xpdS0cKd6G646ntChXSeTZJJTFYGw39T7fqXDPKoG2cF7/ZcTvME42gXLVjTqzAER1Rt5m7GYsh0X0+XgOeW9MJqE5j/rpGzY6vUu6ACcCTzDMdZHiWELpDnvgE1hmztLcSYz0MtNyUBLqvylUJJnJu79Sku9NMHCTkgqozTnhMFfduV2NLCSYvAI5HUvQp1h/M02vKFD6eosIkGTg6mujUo1W8hy5Knf/erkBQC9LzNqPAYCgR+hczgevta88NNqSlBZryq9QNeUK7RpbvHjoNhUKAAeNYH55LeTW36KyFaXdAkBvyNP9xmRuBokPi2OhqDby6IZ61mwfzG+GmACkS+G80A4WGON5izgJWeeDK91jzusfOi0RmEsVJXwbVUr8u/J2LCQaMnHhi+wJTEPN9tS2b6W4GRGCNmtjAMgPsP357nOeD3H2tcDAPu5xQBKMHf/j4ZhXlkvvy3YmBJsjsd4pSOlfPZCnw5JvzxEXM5JIc+E2mU4CgB0mdJnH4NEsCHYNeVRDXFNuyZUE4nuvaJf1h+11AWLdAZ72D9XNRcxfb2+XHZN/SN48U7yl+sNZhg5gn/PD8wkBtnRj1zBUPIWnoMP6yGUEEzuT+VaX3x2jEIZAZsr3rs9wCfY1Ss0EdIFFzBbyruUup4EPanbSYew5tf16/ZWVup5iykttuqL4xoC/jdZWsAZeSfDSd3fP9kbyAFYXkf0Q2lmxaTkKRZrCo9XCoiUG4yP1URJ5G7+HSOhhJp0Anz0N07QZtyFUye6rcgiOFbtyoO1lkuV0iQ602MTyFK9xLqNHtNy4cJaTO6hjtiwNynVc34ZA6H7k8ai6S6eF6jIG0xJx+JfP97lzuCZr8vU5SIzImaNpiQhyvDbz23//PJcOk7hD4iIvJzfIgOGIR6ZPEJpWHZQoacbF+omeHw8aWHaNOfaIyGeG4lEryMfhtNmWh4RAIpn8dLs7ZE2eTVDwK++xDoSUgh47WDmKlZ/k6OosEUoQjk7Q+Kp7OxwgMFShAv6z4pTW8loVj2+qXLQ0T3hmIue8qHy1o/HXjm089m71t6mrrUyDftqMYtmfvQXKDlZ+K1HR/FkqPSqcjGlcPPIwbMw3wIFKBdVMJ4pFLt+oOIkWZMw8pkoYZ3byw4LmAF+7BdicGXFcb5PWtDw5XNNVc6eB9dv0rAEpgr5J+bLr010bpfGw+IkRoxDbkDFmQdEQUSElP5bViLo1ur/23KN0jEwl+rGC6AUMKxHcv+T9F1Ktpn8jSSrKxJnVkK8UD/tH5DN6nXB8mjUdFU539e9ywLtLYCwmHYVEVqnFmdubduaSd1ivIo4pTsX+mJcOAkrR1D60RIoocCBIdwJhCBM1rOE2XSlPo0U+khALvw+zfxYzwzd4roWlLJkZheFRR8QB8v4USwmAcDswUZ2P/7v7Xa51Fs7orYebYyww4YW5869Y/c6Kq2eTR9HLSjYuChTkXaDygoo8nz/yJ0KzfX8oowaNAwz8HvQdlLU9V9hjqYMURyYvPzZ60G0itmUdZwB+sY6rUkMAZZtWStbDFmnk/dQorhwr3121XQWffrK3as0g29ASwxbsZ3dZAq/96b7/XWckbjmo8+jwdE680DzoEUUivnBgowMuBQxHXoGyp+w/cSGY88rWtmwoyNNIvChs/QsZRnbdV7y8x7t2RkliJV/j8e6qfctrTsMV22zoqgQuTSNFh7U7p/Q49L0kygXNnEYXCBDgi5BeNWxu7VjULcUHI+lGj+OTCEATzWrDmaynq3wT9IAejtvh3esCu6sEu9JOsXxMDpqxm4Tzl+pt2Wa5Bq3TM5TKH4N7KLir8FGIPA569+uJ1VEL3fW8Jyigz/nEUjAVYrdCWq2MnS4hQVgcvXq9aF7Xke/k++rAtIQqckPNwjKrV2t7HCOrA1ps88Y5Rw1Zp+9itnB71j8tNiQc7mV1kUCQXkoi5fOsq1uC6hUPUL7Z69NAM6lg0c/aeiifHoi35v+pVBh7CDM1XfvYpiK5JIbIQFHafmnhHfRTnMagKcjdE7zzgtxkTPKVrObTySTT51g9bB5ro/dzn/sB24fNM2LGJuRQsmC49PLi1jTRfZaLpo8Txxxczij5Pl2vur+S1wQW3W5qyVcIUySZHtFDQHv+EYDoZG1T1J7D91vEIV8dHzUBzW1UyuxRbP+M/CM/vsas6RzmS5traXnQ0Jzv9hYXxKHcs15TQCP744XsLjzFjILYURXFnhM+nnV0iO6nwls9TR4tlz1J9/NvE8FGg5mgpZA4htS05AK0NnU2gxuqf2vjCyWlm3ypKvaX4vxh8Um1MHGB2NTeAFhbDyGm+5w2zqJAWxVlj6dVePb5yR+aMhuz05YubCQJ0BOtoYQ6PoDoW5fCwCtXj5SHvCgL/3B5z2mcXWaRTf8/GsFAfX/ntdWZWFc2xg8MJeenwZ4dZUToce43If4zVb1ex3BMAWGhgkPwR5EgktZhW3Yi+nsnZTUr9FYI160YhAraB0zMV+ouHz6hYm25/ETDM0MTmcypoGgZISSkfwYAQaHGY45yZ91K4A4Mm4fnbMk8GTc4orypT3NLBqAxYdcY/qCH82PpIkmVOEHi1NoYaUymuImLLcib5pmd2MHTB3JR+4rLdRc3gtQ9zeFdciciRiWviu3HkqaLSxJeI2rgc7OKQslItumACQow89elXmi4P3gTZeCauvMH5nF4VrBcLjjwGD+KlKqe/RWIEgT2wGqAgSuL6b+RTTPnQZzxZ5y5HQJkEEKJp5NfoB8hJBM8qn6xbOFtyzBjVBrwSS1zCJR3lEc9ODQ5Wu/xct9/2Q6qLHnmNx6XwZus/i8rEd6UsVxGtoDrm+Br0L5oUojlwdcqyVV4PIMsR60JhZwJtgX7izQWj+GOeF9DA8Wexdmv6DWjgR8LEBp9YuPAM8tJDu3uCumNqHnF2ATYX/tuVO55OgQuiUhmDmJbF9jJyifBRtxOVI9DCNLUY71IXZYTuiYcnILQ/XHuVJ8aHDStL0N+3eYNvXwHi2vEiTPnBqzsC4TsPnFVnYY042j5i7C11AVdBZ1pGSa52jM9dIL119rry0mgGxFzI8xPs+7bmMfYKh37A4HtA081olG1m9S4Zch2hoNCGVvVhd6UL7C2d5hKIBHoB+Uxarq/4aQXhh7IWjSj+ca7Vhqb4+ZwY3nHXh2S9JH4XZxQojbe/eINxYlozTYtT2rpU/xbj+W2hXjFQ+z+dQ8wh9751MP0UpjutQdxz3/FJYAEG5BF400JXWCBs7KrCRf/l+F+d9EuwVk6thOPDB+HNS9iWlLmDgXvY6K0vgiyoeA3An+jWufdAG1suUMBuJT+/w0FNJZbObUT8c5q5WtQxASQF6E+/u8UwVBs1eo8jTamCrcdhZJlADJbqn3crcDHQlBQNGq7btcGKiJXW6q0cn3F0xzf+k1JJS2testB3rx15ZPTDXm8QV5XE2qxBOdM2n6t5YbxyNOmEdsHx+hMp+y9pWkcgw1NikeXuafJvzcjaNwE1Ad6gG79S68aO7jWpKgBETYLmV4ONHhBk7Be8tjf2WVvWMDQvQdOnk448yeMv1tQKU1xev0L171e/qxkMZbmkfKnd29XRCK2hgNNJhwt1qiYWZGKz7Di6K3fGDT7DO2YQ7WU33svE/WKGbWQEvzUV2w+VNYDocI4yxQ6i3i4zU2TjmjCwu5Pk+Ja9HSwLpEoUswq3tFJ1jimthgMXd7KjSl6Qd0K+vxWT8G4/+xITHsWDGSfQTSdFQth5uVVfa8wrkDZHTGVgpJys2ik+3I0dSf6TNo6A/sVptyY/kx1hdAWKPI6t/xj6s+fPMU3hg1vkEB0RRHq/tCy3KUUhzU/d0JKxTyjvUms5iy1GbOFco0NA4t83SK9sBmtLWm4kOLLflyxqgQYP08iyXwYXzKnlQ6VTipuaspSJ9g5H5Lu3eLMnPKbhcwuEg0VZ80ppJWjUnhS3rL35erzysp+fJhxsUs86m28/UwW+IgrS5Y0zWaxlFJ8xML5wk8sg1ragF+eNajyI0Y4mwStxt1RZH2BjaAhvu+SnNNIK88thEgZEsoHv+ii+OMmXJL7dnAiINVDz3tCnqDgpQX9OguNGgZj3axcjq1UgxDw785yNIpqNiLgv57399jVmJ0/RStNswaFIs6FtnkilFZldxj6m562jL4p5g3Y9XCiXRJX6nq2PGJFifFR7EyPG4jDMnBM4t+O8ZpEp3th7TCxEw+ZG4afHl4sNFaqxyLh6+979tt0Aq9BrqI+CS2U7HJoKiGmyVU1lFa3/0O5mNC1bzRgNMy+GXyifLwJP7FwUSUmxmVRpn+gnXWoIuswPutsiciurvN6lsMG7yqEc2Y5ZI3jrPgPq0xEKPZpF7teJa0TQn8BQL4Th+hjv2ByfwKookyXEmj0d1KMcsmfKaeKK3cZZubiYqmSCrnGpYTwgPk5itKucVtjViuswQsDR6TuyGSIHYvlz7wkLg1Rr0K9kV1o8RgABlhbLrN74cVWJW6TnfXN0q12JFMpUbEa8t1+j440FA+17o8qa8PQ9igkctVROVIfB3jU5vtGm5pYYHYSDvU2TEc15pIz19ka1q6c/7WXfF8+POkApdOw7nn7Kqz6V4tru7NXgnA/u0g6+fPRT3hp/QrDQwMsjwNCZxdWrR6pgCBDJNc7/KAlwC0UZ4yWQs0KsuwbbOgcTxQPK54wiXr7s+221hzZ8RVxfoRUKM3e4lpxHC83JllxlrV760tl06f7/65qhE1jhMfivAUXIXfRMe3uY/G2TpWYzDrw5Cm5cS062Bx9lhHq9gtJp8xZwAtSdSuW/Kd7+orEAiswA76N8ezmVGYgNaYlQ/xk930LAWAtKVBC4U6R08L45IohB1kFia7XJs0TcaT2zBZoLFuOGu4iJaoAnfjL3uS6gnRH7G7A+aT6ETlmkYUfgrBuaSLLDJfhPJe01PfN0oqBTeQURasl3N8BZiQSgdr0aDv3hPTiog4NSyfAUyy98WP7dnTDWQTY+Qwzgk1uxwRqHl5MpC/84Cuw1TXfRlgJrwPop10kCHjmffnFdxCe2J3R3J5j+3H/sZn3IUu3Suy+I+dAOMWvzwExNR3RRPVelZAhtarKlXPWNjPRIVP4JsAFSRXs3o/fSYAPaV/zP8q6DltH47/rYhCLdy/LrpOsbaLf09eACcClJosNefetNElkSFSuCgeY7oTAAl+8Y2zOXJb/bgEDpoDXfQqc6lnlBr/WsmVznkBS1M7ufiqpxvKXjwvR4WxLbh5NbMNy8LsnX4UiuAi8XonbSUcVZKQOWBYUecSOMj6jMG8gHu7WNreBHY90lV7FocDprSrSbexkAtMW9KlXcnrOyLnZdodGYdxz8aw71HztIqLhRdCOB6NyzHPoS2hDy6wLk0I5Jr2t+U0A+A7EsgSn/Ih03A5CspHnVF4MOic+Lck3m61Um+GHDEe4DrHBhmgtDlRQl1XJ/V/VumCHtUDDcZCkgjVMBOmVOGYW0Rcdi1ahdjhBcFlfjA+5cRjBop1aNDvdrf7CxkLVgxiCxhRctW8wczM8+kVmIrGtkaHGlr8y2D098HXE23r7fnJFUU68zyeyM265igNOGPzFG0dIgUDWN6S3ZcfMERJdWVvpGhVEHXNLeWqHiTcF3wOt0FbJY4XHEpmkoG9MQPJJ4ueQ01+MB+SR0rCSGzlE8zod19q75LlLWgzogpnJoD4gPxUYcX+Gpc5Ly4nk+Zm8LDXcNR7SNVxLh6NAcx8ekjb/AC7ADlRnfuHaHJaBodZr7RBX9FLTvocY6kY8bavdAkQicE9bbwGLkZu6whTCJ56lOvM39ijehpTOFqR3V53nQx4hfOvwRPU2y2w7UU8yiRbcyaX6jGJ9CRvl9ybV1tebTp5MMuMnwLcx/lven0w9T0atJuiUE2WtYGiVMaP3EchABl5AsyaCpu/BKAWDFvU2vaCL2/fJBKCKLjxG6xzT4Mh4wHhH3/EqsGSoQAHu2wbHmXHj2LvoW19GXDa2oyeKRwGG1PU+S7mE/S+UmjHiDF1oqJ0R5QsdjAZYN1MzpNX5YDqWYfhfdjAXyFQaVyGKkp1oEGTR8MK6jaGfRDFd41u2Ex8ac8jKPYu3pXsk8gu+m9tr1RVzTTuDsACW4S1h32yFHX7qpXSmA0QVEcR8W9j2Juu0pcYqTmdis88VgT3gq7iYue5Hx/3K6hFQa9rZrNSDcjaSQlNn4LSqs20bypnKqpzvnnxjMdz5StbzvoAJKgVZa4DLCVoJW765/KyTF4s4YztmAT1c0pTmKJHTpa106FegDo8p2zD6uOnwpYi0vJlRMDe9wPT6964UfAf6lq3qWypUOx9q6BbKEYt7K3gWMXDNN6wAm1fNnSOnZ4JkbPq7jLQrl0wL1V7QwO/sXneKGfTgUL28I5iPVG9dA2gS7Ki005JUR7Vmw4gX4TJvy1WS74cIXD08LCF5obqcZwamuoZ+FPMJEck0TLHjyH1baPr55/Cy0ptDfRJ7d89pbP48tLMHG5dO11Z8xSSpPGQSgXDWmpsNsmm+MvxJjMCi7OFDHxxpmTtjgnOCq+c7Fi1DybfhAntviKccz+sj+OPKPYOKeYYPLvq6MpUx/chSvBccg9dfbeqetQNCs3eiCFZTU1mrDido/mib64STMgsa+IKLk9PyxGGbVSQB9GsHto6f5prAFIbRDSItDedz3t5+Nn69FFS0nEfmkF7hKBmNVce5xv65USKGBoHYxJyutSGnRIq7vMDsAMvirOEJOzNi5Kt7fypuSU2c2Npo6UH5jMOkePH0TwgpammO3Fb2FX6f11309z/mqRmQ949HHRj/wMzKNx95M9pwKf+UQkMEwisL3YVotvHhCv4y00Ui0Ql8dR7tGqFcSdYtmoAOuAodkBNs4PZSjAAF7S/szwLddFMdCyB/dWPgFUiUE+WmUUCjYrKfJLQfNNpQ4NKaF57w7Kp/isZVwQPUJyjJavN3fQNKU+F74jVBJYQEcEdw0Niinyea0l9PJ1/AcTm/LI91RZjDvLI81pnat7RKU2P4/TnIAa3hIEfeg4iGQ+wTDlURK6YjNpN5s5VkQW9w7sDYKU4XmjyZsCQLxztqd4SDQvLyuPDhURAJXKfR1c7tq3mRu4usFHPqz7HgS0X7kNxiWWR3fb3uVwbgKpmgLYkwKrXKt09COw4MjhxeZlDXKy7nNLHXAIKPtferWQnZLboonQXK81x+BB3oUidBehK1swSXxVbscj/LsfONu/xYEXYPM3aMqIYd+2hAnFvDHbdrJLhGEd3sG5PyxqhzejhQJo9wauFK3xmPYqxB99J8zYU9/yzrEZNzzbvPoR9vUlE3Ha4zspVDzHHffPZMJ1VLZkKqGCf8ZqupqMt6T+NRPfmPm2xeDgvzMrRJEL4/zzlu7Z35smvzbgeC25VP2CUrZkRxEi15A0769ojdO1d7C9OG+swj1ROMM3NgKdeBADoRMeJkRZcZ1FbQu6C0BS9NNSaoxtFzYT4lX7+PQ7BKa84yrN+ujVVef+SgnEie1G0N+eOtbZF/UU+wkeerWjloYqFiqo0vBnmxh+TwNMo9I/8lfU2XTCT0K4OoWE08ipyNHjxHvfhY6qa3x4HzdQ8+jkiO5+j91YkihS5memfpFREHP/2veN5XcRue2zCVuAub8V6vDlOvyP+PBm+owyRhMmng5wwGGIXsOkQekXrXpE/6dFjkHwwoFoj5bIFiqp+4wHpSWRbv2xGrRpd2c87FzMP6Hfj/3LWIBqFiNOAxBw+AAP1XqUBszdZhzOSQrQS4Ein4fyV7MaGsB0VsMF4bPb4lx/foTGQRJv45LpoxDd84xCawHaX7jpXUrOdkFxx2oUvY2xqpgIvcVufwd+zAnaaVTnEyDXD7S/o/xrrk4mgTjXhcjj5Rzrbr23NmuZQvpdNzny5MCR9bwvIRIqzOZZLsstZSCDYa56JTvzxgBs20dYTtTUbe21uljlWqGfSh2bYAzOpf6UguK30ZxNXgLHs6Y6urtxFA5iLYvlue5mDONW0MOtQjhqr8fRbCkYneiDkvzHkQVT4F9v9vxh2SIGPBH8bZb8ugo/BSgXojeSdNXbBAIDsB6DUNSXnwlu/bFLaCqSbvu4+YLplwO1JbtrMf9ZUfsxerAZjB7E/zl3qwgK27FswemUmSM4i37YAVhQSocuV8AcDI/CSeCDNPavESshDQ8A/lVIrAJAMdP/rHXouiNU8RL/TIvfQiuZEb6dkIKMGGOW5kT8vO8pivWnT4v7qmwuJo52AS1r/RyQ2g/7c9ZJgmMIzf0GvJJRfMNu1utRNuLWHOm9JIMcJK3qiDtVpGCDP45W1oTTMUnMC91kYhP0GHjhCW8V38xhjHgFFBfuWMsmSQ9MvNqKXiqtUhDAkIy0PW7YSKaKUv6zctAiIk+Jt17kG6LpNVOeMvJnlVBaJSkKe0HTJJUMvf8R2zna35/yh2wNlWLzIP3BJR5aRNxkV94ICOlycI1/JYRZtzvWMNoIpQrdNvyBuBydhSwhRwPo079Xk/XQZpbhzN/KK4NbdJQV0JIMP+Y5UBIM3TTYlFGYVjcvA5yVozkimco91Fx/eo+ydgAx1gMezTh+bYxCtXPYkMoPdtaElRusxlmdSV9zgF4Np+iylun3LVxCycAFxGCFsmARf6y4I6zXY0tx81aQyalr3/ih+ZjxGNWdhItgNLdEZ/BOIJpPoAveh2bKbEFxU/M0+4xqDo3Ox8MnNn8Lmv15NJigSvJV+y2W/ZogEXNiv0/nuFzZGr0pKujOShzcdkEVlMw8mNZXZCbtM9V+mfawtLxCTvo+enFWhJcFv8LVTFycDjPGBXRQKNN+z68HJtYdpH++g5WdhQpCO+DE7Qdu6TmZgtetrpU2ZlgpslOx+4hb3aXaqbdc92LCh51er8vm1GQ9uWD9+fAPRV50ixhgc5zi2Jsg1xQVxzlaELRWJ5biyF+eCwNV0oFnTbBHr3Glm9qlGVOpoOsQC8hlNG88fxeAekkCGnHFn6i5WzyO7ShDYbZ2KM4eqndyy01v+6TFhmkxgc0dndt7EzRCcEfBxSaWZwcev6MDZcuvSZQ9CNSd4Tx25TY6UAbrhikuP1vNFfPdZhCG1pe6vx4D6Ez3zIb0zDa42FPpxWvIpEeXb7YTcfZOahSpSYaWLH/vq0F3U1KO7ZxliZpoMBBYJs91IE0bOkrPNQ/USYY0qKCO3CU+AFbOYxzKWBkIglrX34377BZ18MKQCv1KWfIHEeguSpvrNH5RQOD4LeiH2gdx1MOAKphlL41F4RpxaU4dy8xERFgqoyICQq9XmQ8WJSokwqvhQM0fLtsvyCO2PAkJ3BZg5IqoR5q/GdTLgOWPFR53Nqw9Ma5vBzZcQ4+iZgetmKg5ZIn+/7Jbi+VlViXuD9CaAUtdEmnwWTS7wZWuskVvc/SDaaKV+Jz6HrZTHo3UrAu0IZDBkXWmL+mTTjdTb1A+MdhKkY/hvFNwXj1FzUngsN58u/kTdJ3Xi0hy7efR6faAOi4SKGaiOty8lxDFkiD9wq2GW1EZEsoWGw/WzxXhWDzYY8CC7WuLFHc+x19jhH+FiLXwDIARRtnkJPF2BUPZ9+grZ3tjqAWhhN3h74w5pooRQUNATy05A9HDLnILGSCtfESoSilqtqAIQ/TV2t3KhOc+teDf5t+DqZDdB8Ob9YXyklrSO73pR0QAxPvQj57c6FIR5dOciqeHZ2LRABMROo8Jk8V6JFewCL8TCd/A5MSbXLky1cW7mXobqgeEXdFDoEydKo5oCuyn+2JYI/7pIGFAzErlHZ5hOaiT17HC3zp2HpJwsIAb4/oIoZ8x8ak43Yp83Ermq55Dg8HxKGHXbXs47sh0PzQELTGFsf5eO3lYAuJjMneoYWk8W/3tW2WLntEKBZEW4hOFgo8K58Rj0vk5KLyezu1d8SO/JcuxpOJqFUM2sxBmbQ/9qqwb90R0WulpR/Ju84bQ5/fTh7po/pbBb7AQaYNdK3fatD3K4TLHAaa66MQzp/+ZGyCjzo5OXRzJ8UHyg/YpNHvvlOpwQIOjakpLHwGV4WsLDPjEIqG23ily3LL0dlkYQxj3Xx0ApCo35zYGoGOtIclYS83MnI5TwVdQ+Hg453WFQN694DaqhGaL/dm0KncXYqXLi5polgT4DOrzD4oSVhrkh8GW2PaXjOFDCLPcn4RQj8dRGIJuV81LxMPZ0UL6zpkaebhbFBxcRJe38UiTbUPDjFWk2jBqzrBvXcKmgdDcmRyJhIpuq+3DQY464AlY42z2EM0yIK0I6b+VgpanMfpdWo7OxKY8RM5tSJv340/qD8SxrYsybMuUkF8fHj7HcvxEPC5YYrH4LW1YKg6QaeFZLvPbrHZHvi4OXLKkN8cGQO8019OKqcv6QnBlj01e7qS5evoGm53rv+VmDxxCXDiOrDg+IaPeMPrn8TJ1oReXYI3yb+4HQbikxP5TQXHk4YXPUv95+KmkxGsRgTwP71YiMpqNXp0loHZeXRp9i3euKrVtxMM0e6XAoACwNtcc6sOuhZVb1htBLudzahrDFt5GkdlwHjZl5y0LbvSHwII+qYeDwRKTTzyXaInHIM+8rc5TrjUlPRVwB5LKFpQnV8e7vLv7T7V/iJTW9h9TnRtNCSGcofBWYm5P7wZcAq3AFamEW/GMbo27ldz0plt5HI53ddWkn9IuCZY+Iy0MATUh3YenRTbVgdLYtu893SuN6EL4e9V4NhlzUjI8nOS6B99ecyC1Ot8sDahQpWHbmt2YvWGyL3S9tEVLKYs+LnghBmmSl2uPWfqPobPwBHNLW21LUjfZb7jfLMTsMp3icGO1npK/rCsUgdBVKVg0Ys+/WKuTmVJoC8Oe5h3PK1TQhbpZ2ytP9nlutQPtLAEt+CVT90DfVkn7lHLOX8AfS6HLzfHeAhu1alnl19RHKV1LI0G7RPzYgVaSpX7th9f06uo2WpxjL86i/2uzK2qj/ClHbGDyQr3F9/axmq4kJ7zZFVXVVwfiFr5bhUGVZeQJHKFAcsnqPKsb8vHyB9SpFpT9U1U7D4aS9vYgqajxhC+hOkolJV2dKAxysCkWBo3SPiPUrSQYZxOWwWCoQzbV0oeaDEcgUtqI3nq9TSmpQ688/+wb26P2CHLY1H7q5lypXSrnwnnztq/jN1o9lyvLmLyGguV0VJnDCREkiUNrZqGG06MsyA+Phd9CuFoM5M1Pyk7S6TJaHdTw0ni3n5ysAup0kyxr65lFc81NcH8xSmpp+iOEtQZrH/y01k1rGMRJAGFhi+nDecpUlnrh+qBOCMZCcSCovOPJrxjZnZJDMLdpMVu+tBSVS1nKxsYjY9Dtq1/++riVfLUVhzofIcIgQQPOqHioELxU3EpCcZMoL9laa5YlOZAMEp5apx7CphrkL+fyKbBAf8ctwVd93FTo7F5Oc/alNsCgK6lHruPROtN2RybiLqx8P5LTUZXU+Aoyz08zYHasR3U8hPDKj+6arWXR9yWdJoMn45prCSURKKy3+JHgvs2Ot6v6GbEtdCumgCttv2VNoU3KOqUwqNIWHqYm4eMijTM9VWB7umEyp7UPOI8fduHJY0W9xSCZdvc2xMjo3Zdu2o/WZKDMOSh9UmLvo45IBppD2dG++HJu8kbfFdlwuIxk2KHhgHQeNKcHhFkYGRzL2VJVMOAb0Co64wvds5CaYl9ZmBm4zuGDeaO2eI1XM4+rD/HmZyRF62SabgAe8TF43VuMutigJJMfbW2UK0azGLFbOfujnHD+GGBYmSmOQbUCOY99HYvswBQA6r9hrc2jtsUUxLVjxnZ4JnIrTwIVdWCTPtpJpvlA7m01/4tbUMyz9mv1jdN1jkiHQCJXXKg8bJ+aqW6rbwbn5yDSHBTcFXIegrhHGAjJOZI1pyP83Z3vMYTAJoo8V9IwyS+U6OVg78+IhSYHDYjRs8FrF8smHQ9h4qAYxp49rRP2d5uxLAuP72GvZaYvfeLOkMrcg0PkPuq7NsXhMFmiZa6PKBH1l+oKHI5DBLdZCvCwTPdXqmnz8gLzVRb/ixLTSdit2nrzt0x+5rDeZT+ac31NKNskQs6noKlQccyD3UxzfVZFmcbpmrfPsZD0Ve34xpKWk/E9Khn4A5yVPVq+dwnv0EyYecPqXGU7R8suTW0A6NJWweLI3iSGDlQXzMYsSWkSMhFTfyA2vTDt/3wXk+mVU6bRNkZvNnyVHYiA4tmnNwdh/RVsk/EgSerfTIf5VBmuAc2IKSeL5Nbrg3acgFj80mI8SWsc3dNAGCBLLMP89gH5UnLTKq78d9SxQH/g7DVnBh/qnBdw5CDrw/uMzcdXSxWqGIFcnQZt/1aOHxUg88MN2w+FPx/V75gy2wzEVe6G51PQIR2tZsxbv62HhgjwtlzrVREw/yzlaAiuXC26cnpvQzWXp2mOgihyPCWqq38nEadX2T7f1Y5zGxEGBaT//IcL/BsquAJX5EDbX8X1p8nLWR2yyjFRvqC/jssoCJBCDJOsZvoBfXqQSEKhNARH1YfueeKBslAwLi24/wAO1BHptlf1kQFNsOPlDvlYednrEp3a4SAz/G7LIVEsZBu0EKWZu/euB/XKdkGonP6t6lgEcCOw8mceuzvEVzyoPnMyzrqoNQXJb9C8ZCXSiedKiCgNwfNkpVlHbUgE2Rb9WFScOeEad+T+jT8XlSc8rcvkIuhAv/gxRu2eb2GonLTyokjcGF1EBpCJbhy2H3lhL0rdZIw1okA5pBg2oRfQceXTPzhuNKorTEF7t1UIgDqIo7/loxyTgbtKu29o9K9KujvCqUGyPY7upcfiZLNBVKh5uXAAZjQjhlhBp0ukmO4Avxu4xAVhCtnsOIA/tAm94U3HEuSr3wq+ZLo8pyoC9EB/q3pOzQRyCTkozmJwo1Ln/2xEbtNnS2S0NUIS3yz3/mBIdxONHxqP9FW+uoGI1F415lI1nZwK0SoPA0+flaokBGEoXgZnO4GOExU7VOjdPns59ekmDxqNhEHeAF5i5N/3W2NC1XGFjTpqLrnCECiwVkOTrLtp2ehUIaejOG6+1336YQSKMSsL4zhUjw6SQKryVRz5Ldn3R5/r8AOi02RJkQXPdvPsl/FMg96E/cJmIFLmEDzr1Gkh9G3zisG4pqM/MV6XIz+CtDUh6hmJB97VzN8jaPSS90vgDjvnaNlKky2/zIhE9ObugwrftI+Oi2a4VVaB/Mwn3VmaWjsU9NOf2usbcN/GLQMjvfeU/YvyEERPKw1leXZWWk1HXzY3P9MUq6MZq1hkEgFzds51mv8mnp1i4pQprPwY0TId1szXwe5TG+R5mMD76nGPQr7/EhQWksjsgGs7Zy5QYvMcGV5tcXJR+6hlHFIAc/M6XjkKYtwm673Bi+K1tNO9i1YBePTur4I+gMsOK7f7980mcJXhgdWdhNzUN2JvFsvXq3zZRG2V30sJtJYxj0aUv1u4/ppVHi1iHnTY3gDHsrQS8YwMX5XwZ2gcFYYe2wd7ZO9swr0gb8zf/fXx8QWKPXcK1UdJk3760B/TMlpWLCbhkqVoSTsOqzgkmFmFteCCTGhNyvFhw1RrTIWzRxq8Tj5FirvKvtkp2GAVhnZ7vnr71pyI0rKwQbVxKZuqM7GAvn2mRBj5p8djlHUsh/r/eBECptpbbjP5nFyuN4mvQLZCaxeTkDUzd/kNGLIzBFv1CElQO+xmf7Dzt1f7GM1Bh+wLDCJZlhcVDXbtPuGssdEie3lZNiWcXMTjZtWAT5MCmpq6JCRuFSHZYGKcSFZ9kOYJfEqLIcWdzpTA+Hmu+ktgSUwXVSwkaa/aHdZXh7IOyrudCBalCZpgXGRNbhN2XpEY60DXXO1Ci5ayZSoxtG0WRCC50+XtgWz7qgX5MRA5S+jzXCYy7O7Nn0ljVxiBxQNCZKZMTqi6mPfy2LZx76uyRUXHjnpJJEimflHDUxyX7fFg7iJvSrsZMH6Uv2xbfQNx5eCbx3oKycUrBY22KPmgfg/w07CDVsw6tb5VxPg5/X38cQtXI47U7MAGGjO28II12T+PjaXHlstPtkUQNn0DKkCYis+kVAkA1wyAJgYKLGnKD3nlVCarYqCkNIZbiVwO2Ydjl7N6iOtvvbAfuq7VKZLo0jEdw1YdsRaHcuJQulgb51JyELzYBkP1hd03IDcZfPg5XmNvYQSOINsCSn3BuLtkCPZRalK7+S97zxvJHiJCZJM9XP785NZ8B8fqDe/Ot0BS3PH1ptErwxBtpgfOj4d/41nrSjJQf9bV1kfdBHJxYbHILxOsWkZvoP/Z4Sl0Yx3bDjTF96xf96+6uIoQ351Ce6DeTwTnkPr20YwATlnhskWIddUohklNITCq/07zkiEc3B58uiBG6d9YAc4h/7s44FN2RG1UuZWeojrOZIhElvDP4KqHcOYbqqS95o7ilQH5ONJfy+aYiB+sPpn35HfHG3duLpNvBjXc+Klf4IKrFHjeVty02xPTNnbdL4gtkqPqMLhSgR/fDXzxJbSScqewiF1wdVoJ/fGL/nGWZfVlDHOQKD+/i/mqwXqvNqxtZeRHwoe/bodk66B9soOnZp36gdzVMRRQsQiBFf+HXjRcrRf9FsGghw3+qoN0JeeMvDJrkSBPsESDai/uVOzn2Ohge+UVdi050fdWpsjP0D/QuTdYs6QyI9xnhU8WT2+KBKzoZ7Bq8fOdKPeLulUhJjT34/EOnUloqus8+pzqNh/UdUOhgTlrbkuTfsaIYDm87u/GNIl3N53uaU8bgaBjpz0jdu1f59K4KFDtwUUeEUoeYx6DEkWKHdi7dtHhQF44lbysk7PqERrsuAQu2D5tDMl7kFoGdI8r/s8rMytJzYBU40wqeFvTl0ZVLdOB6Ya9E/f8VPbGx5MdpYqYMLMyB0QxVdnoJ+tgAQVWfH+jtOHD3PsjuT8dOTSrupuvHWRHQoGI1Qj1Hc6k+Mg84FAZ/gzl3SEzuGWZKFwuo2D3EiG95D2Z1szTqAuFRmT1nEh20tkC4ysmXx6JtN0taK1iRR62s2uNW5rSAvMEJ8yotr3UhJe22brlQn8Gvcq1I0aODaHJucQKVe6SXyfcDWODMw8xf+2C7Zx5a4Qlh7pJs550DictL4OxcDXKvVmLgVWRwb3moxv4kcxzm89EERJXCl7X/BziBkGQWOHPGF+6K5NFJYOFVv4+NyFq+OPMaSWZKoydplufY+CYyL63T8MCMmwqLTmAE8h0prhi174wnx7DHZWYuRJSYZ63uz97AGOzyI3aebclnud77znbZetbWUripe+AadLQeZPtWsF+FNiaXCy/98km137lWewyc7Gamai1Hd3Ls+KMMVh0R3NKTQ08TIClDfMKwUGKy/7YZlJHU3uW60X0r74Afh02v5MJgVOYkjmors6GAaDU7yKHydfkXYd6nEjYc76xws1LDLWCNNKBtUHNyLseOyNDgmHiJ41lXvq638RzDGis8WIniOb/pbTs+HsQVGPi6mxG+CU+oflMR6/qx3pVP+GPgqa0U0lo8MVmI1cBgSnPGgrh+J+m9TVg8nivua0EQP7xai44ruC5gsAVOp9bLsDXfHQujo6IpBmpfbbU8PDavZpTuJtmflVQuOImnRQ5kKoQz2NBFjdiHH3cF9QLgDP5vz/W5trCy22Uk+TCjXjdbCCHB3rJhKYTwiyQUf8xu6yTKtIwrbw4tzFgXDODmWYEnnpDupk3b4AP3qz4AZ2En5wi6aZV287AgCF4vH8TlWLni1E5Hd93vLxSYLBWSuj3eXGFtWyWpBkIeKu+YsBh19VeakA8OePM0ILu6dYYl9DNIK3kU1ybH+A5xYhFI/EqSX3vtNs6V5eQgxYLvu0hYFjiG+n8JzqLQVROiVa8XNQDYJtDAetPFSuEtGI3B8rnbbrNo9TJn/z3lRYq0ecBIe7a03vLESwhKOm1bGTk2kPMv/Sh9wyCOmIore7JhSFT9HIjonBfi+gcdDLfFt7dpShJmW1gkcXmitWwm1cC480CraHm/or2MHphB9Q1bmt/SBXFqXJdcv5GTt3IS2fRgqThhInCjRkh7Dk1iS2vMBLSGtRPppb4FEu762JehUMQxxLQre365CKoJGvJwVde91XQ+bDp5ZsMu/QHmLgITmwGXSpQFQlQBajqquxlwIOe2cyfezaSHIoRNLcwjW+epnmAtmmWA9KU29v/cA2iuWbj9ZV7HR4anhHkjbxnzKPHnIZ7Mm5wAf2o/3xUhnfH++quS20TdhalHgNhusidPKWyKWV8ZjFLgb1fX2r7ifLyUtxuKHHIfCWXQJ/DKeU61vxmPT34MTi2Q9r7/sK1CYuHVqMBsgtfenn31bUzCoyPN89KiO5wHveqnk3uyHnJSUBVTQQ3NyRPmeRKTQvWEBZ4QWcSgMyZF0RQgvUXRcp6KflF056fwahSioP622TdcTVYi4cAwSZLWDvfjoKFLMowPQpzn6ogXHc93fFA5NZmnwslSuesOyNI1EE3RM8kzat6thkmpOiGmm69Yn8yNuxz1YuuPWekoybkee106T9WTPXo44ea9E5QH2Ig6FZn716DBa2FyXHG1B+YfnmhbEpANlOi61BoGO4+G3WMJDokJXj9GhNsFqdaLjA1pkhLP+/mGCZoYsxNI+A+sMvWyoj+PMWeR8koRz+r9pNVEWT70WhiAkNTrojdr0sBLwxIM7D4zT+cVy96ZE+ABi9CqkM9VK7iOfkJVp7AqCqQ9EZ9emn8rB8zfoQZUBrVd6YS2AqiTFt0nJ8HfPGmnBWf3Xi5CgyWoLAmHJp/AfTdHB0+Ns5DlhL6UJ+O/6xys+CWVKtL9S8fVHkpwZZMJn6jVtiUTtXjywmiVXw9a6f/G7Qd4tZtcoS3aytxXYA9aGGmEeBobjiammhUaMDicH3nlOkDvvz19NqWOvHC2SMv7OQHtDIykYerPuoLz6SQNOBtw6oX2Sj3ZLITBDcWNx9CuZYYVaE+vleXnATrwn+PnuQ34jL52tp85aIOk684SUlQ8uyO2t+eIOHndZ3oxD+BcMAba/JVxRYUAUZoEw3D80WWOz0/ul+fYbhFnffx3PgOy2LLiu82D5FMSpi+Pd4EkIFTgfv7p/0vnX1wp0VpNzyXs/5S/4z0RFS21vIF67k1ERTfFuhLM/8fdbKognohMqTNF/+oqvXXLuJB7IHeDdn1X2eParLBEpz8y9CAN2g5VdE7EimekAOhkw+tTzqeEsgyQL4iVDnWrP/RcBd6CDm16/5t+I1SAxCn9wo8knzmpg8DYP8V/vHw8Stu7cliAt+G/VR4XPNZXWF2rZBeQO75os2jFJrbtkfhN9BzHT4HGgXTjyTy8NGsiQdeOw12GjYKCyxP+34kRHZqYsn0pFvVubB0+/emKRgiGXNRWQwMSvAB1xvTprD0Zyt08BjP/4W9HGNfNBcA0Qb9qF5hdQ4dDqpKAFLoIW2gFEVKOganw3M9/4WP9ckP0/g6kaJDRurtxNgT+PjvWYEWlFa80wKYCkd/0ZChV94njjGyg0t98Pz3AL2AFAhvRRiJwdfRcQqqhWkv/o6X45d5w1YLJOye3v7rgta7Ya0jAl/an42ng5Wz4S5we7n2+1W94JnpoGyV8WW2HYjKLkKmp4hBKlNtb5y4W1MrsG/wfq2N5Xrz2kqhdPQL/YoxgCQd6Y2KNkADVu7TxugQRWVuNL0BUj3JRFyWNeCmB74Wsz54OPnbq0GFFxzSkoiJ3Rtq8yEJMKvOMMalFKH7YFHKjb2nwrKVfuUUuRtTfJDiBuaEHHoX+MUrM2bBaAsSdnY5PjqcMBn/wwojQxzt2MoOCC3OEArr09ghhsj2M0mue5ntQcmcC1R/sK3zfShGJuazS+mJUeKxk5u36CYj8+SJCq8ZEv7bNf1+BywGeDQoTDGq6Yh1xW3Suwo2O/ykazTPK/TdVOICyiwK8MuQpK+FX3mqSPzxfLwFJ/iYDjs0WgW2kqXYgm+gkNToB5+jYH83Xlt0cbtEmkkBaVGlHz61rVuWzrK1yjn5nYHKvKCrBPPRth3AKDQQB83fdrbgIeIfB3iHya5NPpEyxbzmtN5Dnk7GqrQ4uu4h3QSoHU+74zs31cWqIx4SZ2bwWLvIxUtR6gufZhNZoMcmSB5z1O9TKvHMORD+VmuiqzsyJKA1OaApB+b9x6u9FTvUkalgl0r7raV+wRqimc2D7B1z/OiSagdd5UME2igLGUcgPlMSX1VsKQp/9yDiYei87KTBA2NPCUmgaLwVdvQFFFxWp2vGCY/KCUvxt3FOu6xIgwS4Vybvbj6feUCkrQPpO/wPHJPhAobSj/aa5YrUvjHMcQkDZwfc9mvghrk/PIPvcJa5InhVBfjh3Xr9vIvA4ac+m+pywS/EqkSX55xgiyj0TB1EE0NT3W2CPFdVD88P72SpdFzHS/6XsmbGtM8JE/m8eojzd4PM1bNADliZ+XG/9hbcKg6PftVKyKKt/8Bz4lGsHyT0VKj2vDGp/qDGBajSHrqzmpEjW5LXsb5kTV6HgbMcnPW2dzQju9N1sI/gPVlgGmk0bHKOX2Ws1q4aPizhcM/XiJ5EZNUK6bZNUeFaUJVTvGxglRUY7vdnoVOe0Raho3huh1XDeTlHpk/2gBjjhUQXe8FN5A4zcRqkNtKpSVq0xyw9j3yQlQxq/Lnqklpz8lXmzHkz8sX9HJjHwyn8UAjblvN0ZFIk4liejx0lVACoKvpsT9+pQoLY4weMHRzcuVC60DUFkaqLfclS4UJti5WK4FE3dYcc0OilX50uscLJomlR6pXriD6ELNNBWOSMt50CJjPkyt3Zn/xj1dlPVP1t6XExK+b3jMoULLPOrEGvjELfAMM1qcuBb0AijkIuFca8f8xapUlkvLjmmJW7RK94r8HaPzvmHHSqX9MXdivNI4A+JHy0VCe79UZZJvzMGzpnsj+Q6k3EItDBiA12fTMlSbEOMAWCdQq9TtyUiAaAqJozMzryEg0k+yVHqCc/DyJcCE2V4WXIhEnsOc5c8f4ChWfUaONhPPWogpDs/lyVCvp3m0NSfrAJKNiVy5aNC9gZ6c9BqwYgj/cDO3kdam6gCjhR+akALFYmt4ixHkWxKhDTGs5K+CwRiKJnvxP9dbxRPCBHbiVa8gsd2GuiNHZD98MNwXMdMC0MubVodd7dnyk3UQFfCIIL1osPxY0ZJ6DvZXwtZ2I0th6aqlTMULVo+lhSIU/5qO63lTSa3MgPRJEOi0AJ8/UlZuvgqLw9dyEDQoHTKWOsq+6fzoAyvIpv14fLaY+braPd6NkSaq0RClMenK1QLH87NZriUaeuCo6SZ7/CfUt2K6VOt0AjIK2jR0vorf6R8+TVzxZb+QdLimH9pU5tQc73xW93QRPMGy/gCK+R+YzmV4fHK52GWBEBL05EEoTY6OYG1WWji66dWnVTg0uPNw839p/yjLxkCfdTaH+v6hVUCd6HlROj6W8Mil6AYGC7NI2+qkZvJh/dAw/iQspXQNwwWHr6slLIp0hBHYTDh/J7Ba7ZR6cp3iU4bSXdmzhTahYDev4yKiIHyN64EANhI5OHYv1G4KXfIOvQizYWchPhzQg5eVGNMxsqrvWVxjtIbkKuHzE+IcA2NZ83GKz0D8z5zmgRnoJGKigseP9TmMS7BgAqtqyixA/SLc1KEUWrhXOQ6kA5ZQRazp3wwSa404cppBnfsS8EsEpbr/gXyW36cZ9pt1RhzyxGxDUmnZeBz/Uf1AP+gyLIg9x04u1fThm2w/H1ZXGvVqsO1VqutV5gUhFkdkwoCjzz3F3FUr1v0njGYT2mSZYvoF/fSd1W11c5VIhkEO06US5wYRmHVPYXmZnbK5YHQ8pkIDJ0yqssqFK34CuHE8RWb+Dr4omk779QOOcYomAMYQ9ILt2KUk2uNlahW/IjGtenuGLxb/t3aFoVz4oNwMZ7iyp4td8mdzgJAfnCcYtklubGAUB9k6bGC5DSkf5VFarnGEBWz600VGR8QywZ+jIYFZbtKT2QdDOYP6k7D8qVgEZByGmRedZRWaQDTggLyNgDD6pQwEeSs82+hTxWypqwU3zuAWqfwil+mytzVnKztyvMFJyJwPFaPr4Z3mTjyxCR2Jv674JVGGMUSWb0l+GtcYtd+NBGChwr8mB2hlyccget9liJhQEb0XgXfgVRlHlbO+jlZ9CcAew0Nw+tRcWgNnz/GL9Kur7RohRhaYZBBmQA6JhvzkazHRcdZDn0zDkfBmYP1PfQjP3d6qqx6gE7vrb3lBKEfK3Y/nCe4COdpr23oZCoIpssGXmqE8CGpO2bEwkSN6uqeqR4UtWR+xsgOzNeR49PTLJpFEAkXha5YaecJ8t/KR+eG7/HKV23zPZAMvHDC1rdxQ0l+6wlIgZbUybjBe6yusL7isRuuYYwg4+8+4lia2ox8RCdvmXlt00ZshBnAIfLkSwIqUzCcsD/d1ZG6Az728L4FCIqBKpbA6bzkJ87lYQpbaHpwPpqu3S0UqNDCwgg3q9MEn02X16E4xibz/rLx7NMDtHcwMOt9r1dVU6Hws9TvJVH7THrnSFESgN5eBy53Nq2Fdb8mySTxz5CitvVE+ZjHaYS3hq9Bax+uS7TxMIT4qJE7HGdsHM1/9uPNBylhP04Lck39JMe8v2dPOSJzyQoy8m/8Fc6h+X+5/mBVA9jAsG4vmx/KdUW+NXxgRt//SS2Ib7aGILsjOz+ZZQu/NMeuAsP1pFRTN90rqIVULbJ20ZJlrjoZD1VxHEoDFFGVWCVOT3jGK+vFD06gc3yDUSnZ7ZHjGmw4ZiAglY2nm78aUpXxI4BfUHqL6YQKFDCazUIryLi53RczlaTh0ry7WN4WpWK9sPJ0J49fu6RGUMYZd3+NrRvEdOrS5n+EJOTkr4lNzo8vawcYnR/n1Dq0rCHu5o2BGBEHABJbsFLi/mlWFO1MjpvUu6UPJjXlXse6MtBROT/mQfyegWGmFRQ7Q/O+rJp471+tQF10+bvkExfBoTQrewd5UwhAUODpyeW+aK6vx2AroUo2bGBZ/ZjcsJFfMYEMsm47LdQSq7T7peI2Ex+4/9oIAJGfhidbXA9UYPNhxigFTg83CETNYfYVkoambj3vv4MZNtE/wrIfTguBNqkQk9ebLPTmY2U4UCzbYqPKO5vjaZXeVksobDAJzhVjoU7p9TdFmNMyLyCQJryBSOcm0hFk/pcwcV15KZ/+IIqeQGPkTbiY1haWSnuQYBeyW5uSPHGtYw28cQS/v3rToNAUGVBSQ6zpBt4CHvaOfEJhuDJYZCcxvPeOStdCzaoSQn9nDe8wDc1MXrJ0+9N9TAKcS6u8ANLCLY4UfHLGf884/LFIn4OLOlRcNl7FS1IJgu1/vLm4INkgHt5ISp2vC3MFJHz1zJnopnKS1AgJtCmhJRZDaW6wis8CJ0KAJW0Yy0+kWI3lJ9N8yqJht68FMNVgkgaAGi5LuKmkZWm+ztKvf9gT8hJrXZkM/QdHI6wy9BqVeWa7g7ZM1YLbUv37YSnLmGsCrl/UVi/tG+fZbzY4bGye0zH08VQpGmyd/v++fS9EtasmbkQEIYnmLZLxO+tNHp3myIGwYBZVXjlWvrCiQcsP/Fu9l0HWmLBu3gvuJ4phtJsXXllJdM8iZIQR8Z6zEMs+cqVL7+TYhxDd0c0l4sbyIEw6N+V0v3ZbUlidyekdcz/aIomGdZtmdI+1QUrrHw7eDXT+G3zbTZMXxpEgJc4zY5bH5az8eHzwoo8QUleUKpVRrsErGmSF6GPJ2OltKYL6/C4zx4rHdcfsrQTcWBmrBWMMiFiU4NGtpYeACqYafRyu8j8x7ltp3nxVbsPO0MSoaR8tv61/q+YCqHX3h4vy4HzjCYEl+4ZDtj2+mawuj4J0rBpcDw+spzuCQ2khFbks09lPGxK8HYJl0Y/lNLUxGLZ+2h6+EFSaD22bYzF7dk/EhCWh6u/v1HUVKC/r/Wl6JHtd1V68J9zdOTgbvJuQug4r4vUV3JJolQQ5tecHKqcNoYjOIs6BZTlfB+yHGfGdxTKsGxbU/4taKuH8Qpd/M7fIG5zebrpiDHV97T4jiUNt7K64/u1e/+erXV34aOjfddcKNO76EzIf1pfD+KivBsRlzlsjj17aDPq/lnKHQCLsD+3TK021HNzhZyuwpLRKS3KE0XH/0TqUOr3VqLMcsSZM6349QJDznPG+sUqeS6wwMWp28TAoDKdmjzW6f+2au71HsOzLIeWencRa5JapKkVTYpvwMIC8u2L+/hYGJmk0588rq6Nnqe041NMzU6lj1K5KmSj0ZRiVpzu2FSTl4PBYHAuhe5dtwnRQwvvNqIELVxKMFWedxxB7UO4zpYRe2x0zH4X6pI2m4g6YdCs08vR9B7omy/goQUYbUZA+wJamq7/c0FhkNm74Mp05NSCK1Dcy1+9qp82p8XVkUB4+SsVRJ/Tqtn8v2esmemr7zjCfjLicMb05JqNoL6zzz0KaYkXeStBrF9+T7EbZTo2Fa/wS5NhJvRoZc8QUfS46HX8HIZ8A6LK8zKtROnakAnEEFoonVlvYR71xYuBAXbjtxfu/bteN8WkArB3//qp+3btpi2SIMyK6rX03iCLnzOd2OrPnD6xqgVT35e6NUMpN7EJSz0DRRzyze1J+Dx3cfx0M577W84qifD51mZG8VNbBf+5PxmGGrGOmkO+Q41YnCkx51D+X3CXsNAjaz/XfcPJUXJ00vaQyfYDtmFq4kU1ZHdnep48T4IskzPsYT9or3rd/ubiYLqeBqjnGbuNWb9ZdPDxkeBmJwYTjsTU+VugQmtz5+C3QBX0piVh3d7BK+Hk4mO3q8qJVQXeIqs4hKuRvBfIwwUyKg9W1x8dv+EwESuk2Bgs1+Zc3wzx4eGasynWs3V360wH3fKXZFTckeHZdgtzTqcQPC2hCHhSXyFMyljvrneLE+c+b/YQ0XcDBam1oAPzvKmmcgER6AqnyC32Ic4HMP4FQN2rh4Y2ntrawByV+9oq/Z8hdwQEPYRYiELBCnuGGXDQbl3ZLuUo0vfKU/AuMwYfNXmNM2vkn/GRrpc5WDP+MEL80tbJDZfDNBRfpfcvVpf75u0LrkIIjnU4adaolZWzB2yjIVwNrF7zF//n4N5xHeaGc7Vh1EYRdc0h2l23qFvLBNQ5kHbmX8Yta2Vj4DU6eBN3XyJBvJf9iL4x+hw1hx/7Ej5U8EZr/Qhgoni5r9PxBfU3fdvXICGW9DzST7GV141bvyMDXblFG5PizNjJUVAWNSxIAStz6+eDAbkYeAKTj6DIR6ysFvZAloBLCgSdMFd3ol/WXDQh3BbBtLqO9hp08BfumZjLpTJGRAIHzDizXZfhbgqejNSS27BIXQLV0muwzgXGqYt9McSvtLWo1Fos3k6Nu2qGyFftqQyDz0/bmgvtZyiFce/SLYnjt2Q9BnlmUVBWOtbDPvUgOSizvJDhdiSkbLLP96MJ7dKO3eUK2nZnpb4s4b2XGF4T6gC4qo9TDv9z2SY4Rffb/RjPs76P0YiWADpPB/nQjC2tDRlxt4sdNCIjmMsLgU+cr8cpyaMSYI9maP4HHww2jTPkGKvF6H6+DFAF+jAZKT9oi23gpZ2zavE0xXPkF7a2FTNJ3bwxvsJV+o0fXZAkmouYq6B2+6ccHhnUIeL10QtZaPoZPJB7/Xry/2Nv+JJFmQ/p2NSiO5bYGA8ej1vh5QlWhaX3JMs5gMBnyyIfXIMf4im0WEUnCPAJzq9q04Tmxzy7nGKKEf31kAp6IFk95aj0AogL7iljLVJlOXNvV7BwZn4dKfuZweSEZBqy+Mvual0TVDHiwHuIuXbvaw+OkU7aeAfck0Hc6H0jgt9g6Rxb6dAuaiKEN1cUYtD88y0b9Arq1q6ML9B20/FunTnZNF+IHgsg641FfllDFpQ+dqrIPKQ8IkLx/2ppx0ivQSrehNaf5dwtBjnPHroRGzG/RWOdiW0COPzepxIqcsWjhfmBXSUD7YCvPm/qTGcSnhcriFKew6a5s0AgK03I1gEifX6y90cJBY9REbQ7yW/XB+zAXN1XZQVEs7r+0ajtx8KvVBKJksKj5YFGdhEennMbwgCJJIMdt/pJD6FIcNVegt2LiQS70DAJeiNNG86dQVNYNZmYEfo8oa002xKLh1+rHlBX40iY8Wlv7FqswQFktpyLn5oSdo1jBRz8V3aRIOmhSnrs2wxGwGBEVEXvRm8RZVvSQ0xlKMVWs9Y7nnmJ9jEVuDL08D2ES3plzvCNP3FpKQeSknFeVBXv5T1Yk0/X5vdj1J1LYa6Ffxxrv90ObLHARkCI+tz6+0i5cZTinvgIYLMVnV/OL+m4RCsTy/+9VQPsYv6X2qSSlVdQ3KM1SOntMNUBpb4C0MsDh10xHQ0cbJK0gsR6X93ru63BDYbRZmPISt1casVwVVE7+u3l55XJGJ0Ev6S+2zpNqOAH66RuzpVskXE6X8x6wHOfp5PAI/7YG3Zozh1U27IXGEEKIm13Rt/nTE3pKWA7i1NFdVQKQ0CNdqEsBkjiuM41dd5rIbR4DMnoDva07v1esxYBGU4JWJUJQyejYbI9p7pqjrpHZUNlz2exX1lTAks+WxY6CExoPlSlNNv6AIsE0VdPmHOj4m0a8bigDelTpIL1WoePLhblmhRlkPDKiZvkzz6eG8vLeJjCGJL1+VFa4QREBVyuhcpZm1ygJm9kuQ+8v4yEMw0VO+TKee6sMFRVc/kS4IirJupnw48LoR2aRk+GuDBZ25xnKFxdSYqZqvWlEcemsbzl7wvQg5z2xKxEUsquyGziyzd/X+XFl/ct9KRLzyyb6ComIL8Wam9x6LPNZXvhO0QQZmQ8T2MFjmRJ42WyRzfyLGkJKft94uO0Yy6Fflo3AoIEon3XBygpi3Je932ToU5EKoikvqkeLFACpsBN5dseemiMdHxOJKrVJDdTS0qCcTzPCyz506oyENFdelskwdghmUnWyXK2WeJX2CBXudNUBON/i8kMdtJm52REvmGqVmxe5aricuTCGLbgZtYvigT++E7xltEh/ZgUoMP+d8vaPU/HdhZaUjsgQ8OoqZeezvNR2JFm2on+IliVyYQ/58LmZ2stgKoBbs4SllwiTpNRw7ecL2WR8bbg05aTN00C8aGWtReWSsYsirJ0K0I97flI2gJRRN717wESryWahXUAFZAdyD08j9SIZQm+wq5GkoUkK5cQ3wk1x01x4fKLPgPIj6D6lZiylqvWGtl6KxCfoSQXlNZIHeDsrIRqhINxdrCinM0iMMkveNxhqrEzhnBn8F6nXVY5zUDLzOXpp338I2HycFa2pueObEof3HQgFEMnHS3/CDKwJAyYl3HyA4X5vXUE8MMa79gYELseTf0IEUJRsfSa873vl6n29lFq+GCqF1I+mB5PSyLFvgHv6hG5Hd14PAHTKhY+xzCgOwwRZxygPwNET0UiO9ynH0p3j7GAFEs+VSjl4ArhHJbySohRLfm6B7FxxYJLJxJlQr5UdD+5Vs0nM6CehSZZNYw4FzcpYoL6nS+wGGSNKLVLXgbgvzAbT4B1J4GMS16IKMlo5S/dzM/NM4NI+a1Fuk4qwaewoHqGp78vgp+SkuhLyAVhI2Or50Id4LlHwRon9o7JT3D2pibchFvFi2VTEx6cLX/qorW2YGSSmnu9+M8teW9DIRH1TfabuDIuLk16NFz3kNr5QLPGAd0JzN2IYFA140yqfi9LfBcZI3aUK/Gt2bfMMk8eqttN8c92OmUYKUaHbB9C9cpEwaOYs49MztuGtI0VMqDDHN8HiRP55BpRIJtIWbSyi0/LOC94XhzqGVyuzaVaBfg0f++sV8wy7ytxlQYA9w1ejE0XaCkpM9zbOrymf4OrEaIyQX84Z9e6wQ1czIvOihnSaq/fcFdkxJcMzE2kWcARwWT1U80dW6B+v6HdclWMyMWLYr49iKWrhm7o1yumJKxVGiv1Rx3Tw61jrh+vuNjikpFRxa0F9G7ZWs57nuhaIeT8ZRjYzuyq4WZBEXs4CyfvmZxGcS4/G2aWon2O/UkjqrfdbBUF0yavSPdNJacaaZxFQNejGDPK7SCF82XxiahbNpwFs/t07gbCJkDUvvKjqaYv1SNJBa21RKsOuGJNKO/F6HTjc1Q5t8lqLL4e83gWTT4aubYGtE+D4e9zdPPo2R3dvG7bDrCQosp62YhTaV3B/kEQGqtzvu59fbgA6lFyGe7urhYr3TWCBFYBmrEpB78fWnXUEd1z0LSzMcWL6vuh4CJYR0tg1jX4H0wkw9mkbM07MXopLJ2Rt7/aL3Hl3MjO8h/1lqNlK74QTbgkurmgd23XflEcMhjO52Y/Wsz+CqwkBCDN8SUcd0hvJ6srikURdDKw75ZZMyms8NdzvzfsXreeCzpVaPKbkgWo0BlD+qWqaXziVa7YTSezNkCD1UBphMwE3IFwG3+Oja0AILbwR+VMjirrIkRPt+DMtp+OKLpkiE15AVv3jn19brZGZkhhAsuT2sTiWSjLvxJkMICAGdQY6CcJ1bmQsycrXCCxoxrME8B5k7aYQkl31h4kmnvmUA1Uo5bGEJkzebQNuMeVIRwKr7shM3Y3iowzuO8Jm833ALhjeDbR9i+ajGdiv5nuQcBDW0PZ0CB/GHvnmE702e3iEmWKin/StmkbfvsVh9mXnjLzZCRfht3g5Fu6OpDSsq1DSVUie4hNThGTSTWkOhTKbARv54Bxp1m/BqW0CfvfUJMQYci+HzQBrAw7lHJI8klNzq1wbwtxf0zzTFIpYQcsU3ddDWDMuciKmN+BHJ47B6FkgX4uR5QSWzLqgN2wQK1aLp2hgMJGqMII4rLK56VcDk89QQhw6cy8PCM19olNpuDwdrQFvP+77wiyyKx8Z4MVJNxV5vJWOwvF+aDouZMW5HNno5d960qcPPO89qYm6Zh6UO7MyFx272aWYtu/0+UZ6eThOP3s/uMGRarrYNGVN2bkl0VbM7ZArP2AnCQLuPoIbkry4nTS/RsIdFmPg98zeYI4R0RY41FQsBym1OXnJcHtmKPjfEXuujVQGfCPrCZsaT+vFbMFWIvUy7OxquIvdi2DVp3+q3E3NGG06d/cz77wgHGWrfcy5LJIzCMZHkk6m2QnZCXYVXwMsVhJI9nJcgG/CrU5lgDb/DlVEsXG06BHIuqVfnTyLdAQZYmJlEEk43pdgF69V12XC+sB9W5Tfm3jPwiHn/VmGszkYx+Er49CLbyk3hDBSKuzDj+nzCo77ZO40EIP4ZROdSwWlf5S8wfYcAzjNdj/aZ8uknw3tur126RfCzMA+cUo5mPaZL9cVp33X0mRTUIS2vgtwDRgsSSX5xcJUWR8gZbdeqyqQEEAeDu3+BMlrgYP2SH/le2u1yfVFn5JX9VQ04X9mmABR/KOd3rAYqR+OQwLWao9MXVS1y+0OKo0FlXuirKuPaY1BQbY3Vo05Gf/+N+u4rDcFBQqiCrYhgRAEjvVW9eNCaOsukcJWEaDuo/pWCYGJLadm4ssTCPvVVEJNBfVXAcTIxH4EFtWFMJUy5of50QNXNZBl+oRuFIkdbt04DeU6j2A3vzzP+IkMahLD6zBVJv+xRBIc5fODvnJMmJRMI8kcyMFqxpeWZAHxC68tGFNyl6yyGN95SwNYXwDSIQCPlL9bzjZaWNWvs5puiP2lbEBlDw5vCHtVmb/sD8QBgOhRassChwM5o5g4lhlD4u86wmdmVmhmEXnCyLeQJ0rRtqYIWRhg72ieDnqmPvOkDTWtKR38TeJwrK/7IRYfbNspygrU6yV9YtJyw3I3uEkDgbPrpcNUpISYvzv3beFg3ZN+swedqf3IVKkcdiAezu/KpHGHPyvX9oT6qzTS342/DenW9ctM197UfFl4rk21KxSma1KnLIWlGGasMF4+G3dxTnqBscul4CqNda6Qy8ita7HCzKlYa86yljm+HQA2B5ArJoZy4LNxeT9izFuQhEoEhUTNJQj2pCc/O44h8GpQX6XgpaAvAQJLVNq0yXGFbzb3O54XQ6sm557+lT3A+VWPyCJn1MLbsssHIdFhJcMtBFQYi0bS+exQ4Rq74xNE2CIRSzi3nj5TNy2AoO0gdyBC0/2iH67UB581jmM92OHqgD4EzAzyxDauPnlIdZu0nWwB4dtxWN+meq/faIuQpK2hoRP/ULwIJ9r3xyxtXxfFwJ3YquXldSEnxoPiYD85u0OAHvKOG6+3eBraUiOgvdfp1EjiroeSLLFutuPPV9XqhAReYPaRy87OAkV5tzSqvyfufCvOMTtkpxApWsJ9n+cNM2uBWu4lj1oDjGasCfCt6cfgCzh6UbZanbL/qCgf/iHjKYaavIiRLJrU2BuzdsP97XHkXLYbbfsHVTlXSohKOXOJ+3LiR6ix9UFLo9qieejYk+P4e5wC64jGQLSxJzYt3cErx1Rtc2+xlJaEBynLN4hLl/qOrgBM7a+yswC0Mh2OieA4SR6MfM9WK/FOWbVyoUBIUAKOhhIZp2LOgukk0/DInn7sF7dRP6Nw77MaAcYg6k0gdjQN9/1wtGVSBm+6LwkI+xfcK9l+JiWepXul+/EEdV7XXp/9lUsW4RQmIkda9H38FJj3EYJTrG4hEU9YWtNd2lKI1683cXFVzSMkh+2nuu9K0JUBoAnrYkKVZpAKF9G7y5n/KMZrP2xPuUFSOaruqriffSEX9Euj/k5dgewEyQCFTif83LhkIjt5qJ1LyI4ynIznWl1SoAdecEp+I5WmKBB2fr5yw33NX94q6HIP0jW3Np2E0r1f7fUjqdxV+iCRULU+yAwPXFvTL7HqfFLj+wCfIbOg+nsW03rGTf1haLvAZA/nC52pSDnC4f0qOiA6WtK20BldZUaA6GO3m5ZOCGyemGK4a12hM3BXnbladA/yTRV+pH7IiT/9WOijGGNXzV+K4wmdmRjU3It+QwUCRat2mGkEHhOcQY06pWeQqBGjHkWcceX8/drkk+tYysHMXVk8hLhLGjUVgivK1Ra4K+RtUcZO5fkVkWQ4W8fyo2tafhGEDSsflUH7yj8wsATBE9YpskR+r7Ac8xqdxtEAfRioGXSprjbLI2DAZZz9HAYR7rUHzvh/UPpFvrLbd/hFf7sF3RimWNpiGsQRZ11RqfZkck9IJu/FPU2DYr/HWUdskJHuLufXCvDbKn0F9sM31Hn3zIuAMTUc+tQsO9ll6jnNnW9Ulo7d32jEQMqJIrWQL5+Se0a8lKRp+XhYp4IfyUaTRC58vFEjKupeFEpU4EOp1AjeALc7vZV0ovza8QSl3ru6xFpY0/ckElMOChkhLWSDHLCKaFK/qC/SIfT50GJZnkCr5SgXZRddXq8Gc6XNjIzSdCF+9YlUFKMiri/sn1Gp/dEMhARah97GidLqitLNBlF+H8XoQmdrM3GXBSCN6izNn2ON0OzpCxOuM917OZCw2ZC0DSvNuTOFCGGYf1TYgUbgK2KKc4zm/25dz3GhVpFqs6x4yhZBbiy/6FD1vXW/aIcDiSUoIhwrUtxuGGZijb47Jz8JfUTblzx4eNPbXeYpygkQo1xXonjeouTuJvAH/zH+FK50zOLAtbN9AO6xjfX09CsjKitMVlHWmmQybLoBHBPkC5IbAZxvs3cH1VAcy2X90WL6y/0SXNsGeLBdr1OWVuYg+/wUNiR7QnP2ec7jNrZZOosT6Olwn02Dh6zSwKoDnMFLfk7lBO0p9mWjex7gEFXNfxFO19qmaoISUZEgdTuy7sHgrD/36o3XeFdzLFoFnOJa4yaENBXdTSmVZacz+5IGdVkEgjQt/TxuhNGHGtQuzNDfM4iNZ28Ly9S9WkUGMNAfDRLr4ipZkJxUA6HnlOi4Yb04/Ze8rB+HEXpDGC5Jpr4fN62LQh8o6kxknE1P5/rNmz43jehFlRUvCyNi3Y5St7lC7a2ogCt3Za6M7AshQdbVV2+R2DuuiLEJz0MLhnn/1/F2Z2U3h560PrnhR0Gc/5GW5DwO/DGrR/4PvL046BKjUp1lfrtKfE4osRTS9/oB0GrNW3cYgvhU8ld61sHhKOf4P94t4n7h9zdRXDaFv4ORPHokkY+NA9QA49RmsGMfJLu1/RXuluq0J4fsUUBoa9dL9T0yDJXvGtuoln8aYrNzoapa7E8cR73/wX6KwBPpwCUUlxsBtOj0rnca7zu5FqJC5W0U8Yt529SAI0S6nmWnS8zguQLRzf/gRLaqSQ6E9T6Q84u1cs56dzBMv2eBG+zAKw2V0x1NJX1gC8M2MYZpScdXEKPG1442UFWTEUlkM9OjbR4FurtJNV4IqEu1htlgltESO0SeZMHZ1JM7bNtYegevwPSCmW+S8uEGj7FTSSV0HbDg1rOnt4Ws8DxqN2T/HOXNd5NGboZ8VTSD6g6rLWcoWOwsyeG08GPG6KHPiLRunEdTPNmY74ObRGT1VCHP7nmBYmjnH+kqK6rDyrEoNjdqc8uG8yZrHWBXU9weqD5rpQ6S/annq7P/GiYepA2ZDdJA/GbdxpHYatPgkXt5sop564gVHZamW6cq/cdADaLCXWt1WgK7y11WaQR90YOen8BECQ56pmJbLvzzfWBhUUJP+dAEEK4o4wZv2+IBAFEdNkNF3mKntsLE5PDLA/IEiV0rziyORzLJsoxRMCQV/HlpCkXsaizcHT/vxU9iadf2hOkKehGum3973fFs7uRlqxz/oDerFL0617PqG+VYIxjeRb2IRLZJGH8vp8ITzF7U7HUg8Crs3WpVY5r8wxn8tzGvUUwY5csVu15Vmm1xcs0UL/lUCkrOXdLtlaa4pHLeQgpd/vu1ZzjMOcgzfQaIwiZK+fMZjRLAHUf83TSCOkovb3xPkD0jElmb4TBqFrwn8G4KWr+RM58qhCnlVimQ390m8YLz+fNHbBRDs7GJgHSK+v5Z9cwZq4glnR2eTjnqTy8Wo7BEg24CL/RT1AKzOIE7muo8oegzn8R6qab08LzTcbb0ippsScfjQoJhsr4jKG2pMVczpCYqptZcGD5rxTHFbL3+NDnEUptRMyARhF2FMiM7pgaB/IpAna1AHa5EPt7oBdzMGg7kOdSOpxrPXbdP3l/+QCfCLMpCsxFd3VAxA/IPVvK8JaenCYCadhyZ6rJeGxTUh11+OOAjrXIJxb/EbIy8rv6h7hywPp9ZhPCcgt9BN808JhGIaKwtL85jO5nipQyAF690xJ9A2DMuCx55TSG88fN6rqBMYDI+I+DtFmoAqJB27B/xxN9xMLnQwLcLCHOx4GIFCq3/6i7gwJePjoG/HKNb0XjhuEQmYFzTgtt/uIo1bBX4C+y1jrb+R0mRj+RyaDkRus8W4WW73qbcjpjIh2tGUY6KJyhEaKiK+LHG5euQeYZO4zXoKbZOWiJTvJNNVrWugpXkIIIE4zK/g4JKATQjtaC1qbJ6khaJHxOTS2goU5zGyjmaPKvVPrBh27E7E2iZ/6omwpBARV/9EKeU1m4Msz8Q7y3MzEF0C8VIIqAxB+Fk8qG970lhV/ZIX6CsxiHqybemqil3Qv/cWKm96fPoMJWSA1dcF03dSwSyNMdvKKBCYVYLuqr2pISKPaNRJJw2R43RNE6avh/TNA1tGJ/ilW/e4LbOvIh7cS2OsbjyXcD6WS0DYaDa+og0lSxehZQiDSt2fVdtF+DO7/cEUAM3uju47Fl17rUPkRPaheA+6/jpSYK5Nh6rSwO8Pbi1y4/L0L5SStva0NcscpH0pw/3Y9+Eqw1SDVvRn2r2d8vRC6YhQywdhKWraKGBMILqjiU2l5d3jb1tnQIwi95QiTJW7MAjJD4Plr9FGRGlM4NQyAiG8wSAKUbRCpmxE+zk9YhXjiC/Rbt983pV0VzovJW+90dH65IOb2VS+Wk+MpsRgZ86uEuxeGPyB++07HlAwqFjq0sm5Lvom/rcHSaLduJrDdabujYJRWbbY2QZptvGwTHAiaqsAafE9NQa2oq6hV8+E2YRbdEcrirxyx9JVWpti7CsFfA/egMevH0MR40/X1jQzMYbw6mr01MI833RiE3EuU79cpspC8tuN6QxFB7ExHF8yrFQ4vRniEkTgKc8kT2tC2HgNJJ+l/FwYXky6qbHj1cMtBGVOw3SFMHn5l5odYVrLqhL6R4DujKq/CEsEj742QjUogvrSb9DOh1Mm5Z7n6MI+YHii3bWp2abi25FJIiX3GM/137MQVr4wwQ5IQETnYx0CoXX1nLeqLjQ2VlOulhy58iVxN5d0Q2TEV6MPr+wA6lluGEC5890db42elDUvTbbMcjHGrT7WA4eEhNLqVT35NhLruSPkwg1UCAUz94Dj23i6dqS1MPh40Oyi0W+wfoWYXIw+siweU3qKdQM/IWLUwDjgMQuiK+CTyRgR/Cg+XmfazCLiF1JChK7C2x+ROCl4t2WjYngGRxBWRQqqrNqx1EesLx8Z8GOimBJK3Ip3O0TWp1z6fhibUBvCtBpCBH7Wz0MrsYEtW/6gd/rLbB2IcMxOrxgW5u+/ZBOjd+9Zg9SRf7ln5tqXgM7wZE2rj4u7BOezWvuyca2TpJkQOR8U/bR+LRjmN6RAS7MCfYSPtJWSbZYnQL8vGmJb39SyiYiER2Via1nlShjJEe3JgCwTOTiIQJ5h+NQeEs7qWkpIDJiQHb7VwcR7T1gLGhKAqUT5DPO5zvGPny/DOh+Lo+Xhxf5wTkF5p5yY0vM1gw2UZQ2nhCedQ+PBxACaAeuBYTyBs9aNWvYATPBLUtXJ3H/+rMIUQ3Xz5MJKdV6OhLEEK73rb9hfjPlA0gKO4j120U6VHh4AJvL3WqjaY/KCbwpCzUCADZmnJdpD4p4U5ry6/YuhcWXcVV4dFm5J8qADBWw9jPITjUtkf0lhIJkzhXLTcXQBZaaunvCCxyWh6ifYzNTTCGJcUD6DyfGam2zj4qdBy7DwBaL2S2IxicF7F2ubPDvx0+DEQVydAIF4Utn+/niyxDQpGlaaG5eRQcfYEHaZeHBOfZ8x6KnSsZnB8YZbLVBcEF3Mv/87cj4r/BYDYAaUWrrm/rWPImSVpvPlB3xQvVG305B+bCj4kIW4ZWzFnX7/nApDibPZxncAV04laDsD872g54z55DZylkUKHXF7Y5iFwsc0HDovYpJ1P+XIAb4pKZnw/e2BrTZn6jCeAAvAt6Z8EdXqS/KoRwK37xhZL7w17n2PYpqnoCtRAvnU/CocUq+el+PFEwM2GkhLBAJXvVbqxBMfPWlA8XMNY1+dfsV9Uy0C+WgSzcXw/ylN23DlELK9DPZ1nzFCvyDWygh1ABv0LXhuVuDEraYOrX0J/NpbYoxjl/mfncXN1DorfumMjOo/dWEk/OvdZ8w/66CtISpGM2htGRpT929qEz+kRM+2XpAqcSS9GOrLWVVUVIm3Ez/yIqAWm019Td/ytbE6eeYJaY+mJpelcp0h+4Y1hmcF9J6cZQEJi7foY8n1psVTCzE0QYMX+ScYxKxb/bU9eproUaSNTxHeNhomtba4y/CfLAZYXndn5ndeIjFIsRWRpwX3HwrIsKxRgd52tRs/iun5uy44w8u2wZgayiPbOTWGXUn/BDqak5EZebXbdQHyE0yEhUO5HcDnE6xlAuZFDSKLDTTZz9bWcfe1wy8KhSOwh15cBRibt+faUQgl7/5na6Nl5d1o7iUWTjOhjQa4z2Pha1PNGSn0hZFeICMKGtHJ6EGQbB+HF6+M2e8YSQjJ2cnG2SVpdzXlnkzxYqwXv0s0WM8nggSh7Viq5joXNiF3RJ0A9637p1HFJd2I7GrQ4ZTOWRi8jcZaL/25Pox9feMT7VDPV6TT++0Ri3a1aLS8IABZh2dWfxnBmXDWPdvrxmBiF3eePVqd2ZM5bI9YAN23/3qVLElDeD61xvgRdjkXkl2tqif3zsX1gGp9mzEm6suh1kWL75XC2kXlrCreiNi2pfI+iWVFJDXPd3MBNp7VSAZRp1jpt3ug1pQEM470lZXwotpDljklvGxuNeKwTuKNJw0EK74nc0d851QXL9P4pxZdM7pkmbA7IU2S2Xa/AJRP2VOz3Kyp9oW6FgoQi4noNkoHeNnprbQod8n+dQSSbMzNRZIuL/riHaxoOHkaGYwROCZwqcbK1tUnU2Qt1J+3UTvklj6wOD/d8lrZG7ucjZiCyHxK5XVtzq9lDJ4N1FvARCTUfnLeOLc5bmrtGvb8mmsr0lDDyR5607k41wzglZH1fExfmsXrEjiNLSzSKGb7FVusl07/BgeCclDsQkds2G654GVeUpX7UHaqQBEmJsIyvfxvz85+WyRaoYuQfSH9WpJLeUoXpUt7+Crnl1Jqz+eARyCmzL59OUUBwBuoQAl5VddIrfG6xvDA/RZBOV5AfwjOrJ2xRo4N42rCSFCcnOY7xfewl6tVLetiM2tGLqRLc9k/owyHriX1A9BnluzfDc5xdEUKyuwzWPG+tZGNDV0WLl1JyHPflzcBpj92G0AR0lGaMSZuKui5/LUMn69X9wPKc6FVkNEHEjHjQKPQjuFCokjN+N/6DlMscpE48IhHIa0Ghrc36GwGEiPRymXWKD/di92yfjZjDM3fdHBdwSxJRSBVKHSwh6Ey1/zWZRZ4kk+KMS8HuroIw1UPa+PDVpsSIKvmqZnZisbfHFWNW/dl9n5+wM4VIzhmrETz3k9WU3s+z84SHh2f7dGT/G5WvoisBYAgwm+pqFS0A8xyhy4PiKfgS+6TgnQD5hDEerpzgFSaMcw3yvDZ0+xfL0yznf0uY8N6APiqHdoJZOWqTPnTIbeBLc5dvFdh+mvD+sDtl8BAWzYR7QkSgnx30Ru7TH5a/g4byacurCNvG0lTgpkj9w42uqBp1zMsKr2riOCQwfCRKkuSX9CGADOYGqCHh1JUsk6RwvI9OvM9fCJoL7Sap8NUQ7mAvdB2ougA01NdqxVo8NeGta0R9C7QybiN4uAtDxw2zLTG9+0we68JkqZrj9tJilUV/f4wOLc83GfstXOVF2bAJ6zf56YworQQEDj6QnC+lqyMkGAr0QuAikm0jqS7fy9bYSBz5hekPILc94b8aUau3Kt69QI1kFEmcb19aFQA4bSegA9/hFi61RDIVQ7iOBqViYdGaK8d3zH5qWIjed0hR9e6o4zELdXWhOVOcPCmZIYYXvgUsAyGUoCszsCiTdwOaPEL2kRnYh0mNSZGb6/kr8XfbyUdbEZ7mDBYy0yTDxhkrpIoJmVutN6FHk/E4cTEolaGnv7x+QxQIKZus8IEygpdtBDxj+lC5M6HaJ313pLDYbjpCA+oYl11ISRJ/fB2oIdDBHFLefQmF1uHk7vtSmIyI7Q9HG0qxu8QRWecP8ipKR1o4bGrAhR2KcGEDE6k8r2F7N9lNUZCswXi/EXaOlPb9fdsaw1Sspku1xrmyADIImEs//XiPqI3Jl8BlrsHf1mAVCBmlqE7usMbDEpilt45ia5CXzVqlIZ95Fesu48LEATS3dyXVEjwQAqVbFBttbLfXvX4LhaGKv6P3XBsKWvqEFfq1rPYdohHtQH03ehlVMpZ/BRCBFV6dffGCrIa7OngRAbORd6wsIcR/gQSxhfrfHFmb9Ws3Pk/SikwIvAIYljNbXbvIpKTROSiPcmBDp4hxLkrjR+MfBFZLV5I4usLY6WYmjhT2kzW9XAxxLYCELLIf6lg6p/GFgpoRTm+yQ6PYtmKVvdTHyBxv28y3vTiy+reYBZqmC7x0TDasiMCcA+TxdKgDY4s61MpZyI1+RUzeMfx1qh9MBXg1tI/HSKpcUj7+qTrwp35J3ezefo6UZiEWMPBtx0/tJyaej7NUmUHVRBJfB1q0bsw4yHfui2ZOPNh/6R2/I0j09t9QGeRxpuJzB6DNbaPTOmER6WTXYEGXq7DhzkvCP247uSz6r7MfaasDs419fVF4RAt4XoxkFRmk3sjrhpNSeuDoG5RpjE4pI3rH/ESPaF6RIIJBiAbVU/ct/nKrDmBQPBYlNob0WmW07GhOvvz0m/BXTsPB8qA8Iesm6PsDuOLEEm5+jbniDFyXfndwIXHgWBB1GCyGV52MU+5iXguncQS8T+WyxaPDqCCXMjwPJxGObdF8mBkG2+SpqaBQkeN+1IL8Cbb72d3ySQUR/uO+N9v36KAiKVEPx8EERU0vfKi53JWN50+LSYqgHmF0UrnnHCNpcwfX8ezokGL4sK/rgFZlXnIqg6a8EJh7DfMOwMgTwRjjZ+TrXsj7SA6EaMRroFgxXRIOGDPYZgkadllrCosfuVZqNQwAY1cDJzuD4ocR7PgZYXbCA3g9Jd1PRx7PyRTNad56qFMVIv/9AYYd32opL/KQOuEa2LIoyMUHWsHVeJEgDnTAizkdfigKSmZVUDrztoGXA+B+9B+MYT2q5BETXJUKRLiEw3upTpXnlh7hkEk8/0D3rV1lUxxSlnDzLfFArxdnXRhBNu085RxiTwTISjItGPuj0MQknBfLTi9AeLTT9QUKRG7bxHm7P2Kei6fVAeNBP31q/OVsTuBJZfKaxLodsCxObxFdyJNLV2tAt+2SCAO5/VWcDOd7Or0wzbVGwbXJr73+/PYn3VfNQ4CSxdqgXNPWDqh9ZFVRQbSeb+bFmOpdkO7C70y6dTSHVuHlIY33/KV1QHDJ226atG4ltS4fk0ZNDrmPZ2Lps6qyMYO+Wkmsyw/ECuxfXcZ0zM7vmLjkk/LsX/XG0vaL3KZb2C51I5TVf8fBJmMxHHzKvaXDwSTGiya0f8ZZ3olqbqcd2cjXM0jicXlX0cJsaB81POyuItwEiYZwsHn4gymrnlD0mfAro2YoSC7KxDdL1DQVO+0a7fN1fLkv8ElaXx46Z8EGJ/W6akIr6uEuiFIQB9fHujgNzIzAgaDEYVITJJO5XQkyimdgaTBvra1hUbw4jb8imqVpd7G9dSoQVNPatqBlbm7NLsdI/einfpw6HdFlo9bpLb/wBxf2BGK/YWhn6LhzEvBuRuBZJTDv7HV9WfnA2SyT3HV/F6f+23aOYC8rxO7QQ1FI4/0m/OAHdCwYedzx6F6TIlSh668B+Id3ZxNP3V+Z82Tt/AHYSzDsxyYC8mxyk+Za4Q6u8y70AKpUm1NPP2WMeSHfqCc5mUcG67RR+sJWZg7P5iG4FPnFmWKv1nwwk+fM0IIA5p7xmHnj1zbj89sN0hc81tzI6enBjIyPd6P5GXzsmp9IRHKS506SAEK7IxfjQLxkNK1x+M8YAYLrD1qWXqo03kTvXgYllmtbguZX1FQGpXYjbZzgqSLxcXTKqQ/GhYqBJzZtvPaYGODBTozt0Rw6/vP+hTUJGOAYcEWWr5Mqy4792lLWmElkf2k2HiF5268DSkEL2oQl+VXl2NXgbfa8xxQoI7lpuNkURcA/pNz/go3LD+w41q4eQy20ecjCwekr0XfODump0XPUm2vvNfk4P/tAVA2PLhl21zoFOrSKjd6D1AiMtz/f41uWlBWCDDY4tDRMhyGsls4GW7P8b0/dGx6VTgC6oCCWxMyJyOgl5RPaFDE/EzGGGL9XUm5X9L3crn0DvEELm/Vx6HwlGWtnfZK7dA8/zJkr9b7PBgLeFlmXyfUBxZHF8kxgW5tcxvkEz0roS70jNLvk3QNCTUIwCHnqk5NRDEaewDCzjTR5lKzNzx1RHHJNiZZJ0lXrAsSM03iKPyYNdJfMwUAvRlKP49yIx7XS9cvseBWVvGNAc2I0PmR6Xc9KjqauqjgG/Q8i16OIPtQ2Ll3qDkunTNq2O65AEFG5qycHaB2/159N4n67iMEpyNowNdkq/ZlDxsX4dRKNvBUJaYqhID70qa2Rgq8+AzqTaJhuYrqrDDO1n/0rWggrBcFsYwo7ujJZblKGamFf+3B5MTAXNUOKn5PW91Gx56gtqTqz1dYMML1dFR/KZUZom7Wky7v9EfKnYbBseAvDuBFBFFCuXnhvWc/JS4ipUIe59Ls/kL+W5lteo1xt5bkJYfug17vGw6cqrOjTG4nQXZ+RbEDCMTf5JZ4DBcuVv+tGPyucc3B6R9NMF/lc4ubulrqcBPhRUjGBILbQ+4uBJ9eUHMAj2ijfMskRMLcV5FdgqIWhiEvxNVlZSRrzTzySfBUjZHCJQtbgDZ8nRWLwk6rQKWD5aSHuJh0vBgvlNTP+a4P7p59l0FYBPtoNpiFl/dOo05KHesQCueTxj7IB6io9sqTWxTu2PK2C3ACiXWNyxs52441hxg3eco87pSRV1NUvQeac35o3tgUpXtmtl2yHh3QO1mQ55wSqIri3PtVxJ57l0nOuyav/0ixzLEq3QlLZmLb8Y2JVlrdQMjhpcC1j0DS+VHrYIB4JgyXacVu9PCRoC5Y2+p8qfeJA3OFreaabxWxz5omyn/l55+ufQkO5e9iODCdLWl2crwLrUpaMCi8EUcVXGb3Z8oBCUdwuuohn1sivwQp1O+DaRFYXIbHQibdPfq4dU8WeiYJ4WKMlNEuQr/BRIGwOrAIM3Ppjmzvh27Lyx6xK14sUHgNy2ggNG57CBbXznFP/0NVrUQef5mMdso3AJ33SJxInqYebzcZ2pEVYHYczXE/+mcptBHb4ANtGohwQabL1xmFHav/wFH/al8TKjzGnYiFLEifJHL7OJD0x/rtzWuCrDToEWPBNtRKXFZqz/kBH6gsxzy/TUzP6R+C/A456FbGm8soK/uYyafgNmX0re6fgXeehUvtDCXdAUJElJt7AMv+VMdIrrOK7TAaHo6E8Khx1rq48yOqMqtC08so9cQh/AV760CiEtSm6PBL7JKCZBV4m7t8Gbbc4TQRawpuwTFyS/vt1JBnAQUBDPdEddlJlVAfbGy+OKkohOw9BB/JY9rDZQK1o/kpfl82umHijUnj0gVqhJCsrzUxYl+ygkRPDEPZqUIo/+AtsGplmBSxL8bUE1iBc8lCtShF2iqMC1DdHIH1DcucbSNtxOF9LY4IMng4T9eTYzDr+gnOPVxWBYMambJUexTzxyvFOneFg3r4FBEHqG3QZRgnKISYUQKv9B23A8vhFRe8uNZpBtiMtXqOQlVEbO/HzkRbqVaGj4s2XRVlhO+ewkvEaTp4pNLXG1OVF6ncxf3Fq94KmGuG29LLsFI1fuX35J0TsRNGo+TCioyTrXLVEjPztNVQL1/q5tGSrMPhfJEaQxHcrnqhVVqN1gfF+JK9Pgcud/lGa+Ig7eKQpJuUN+PYhBYQ/b6ahi4nLNe5+d8rQlfK/gl3OQ3WDGWuUMOt1YlBKoX+99JWlZr6tTAVgDF0NSHs5fqbU0euO7cXKnvVB3taBFHP6/KKZCBfGqzNo6DgZgiAELh1EYOni64dmOWUuwAQCKu+L8tnTFLlL6uKkaNtO8YGlOBVU9mQFYx4aGPgGEI/HTycxYXBClfKbmSErtcsuhalOh73FnzRz/thPjvRJcRwPtZmCHs1nYjivLMWWGprl4fRUOlrCDiwNU+9TZuaVsuCxj/4DzKfcla139igH7Z+0uskWkEq/c0mrsRLlVpl8ln0G77hwK9rLKc+RLeI6KLKy3Um5C6Of3qiKNoY/7ad3EFvdP4VICsuTMTii/bee9efmKAiym0A+l3hS7SofuEJ46In7BEO+Kf597wnd6s5mL1d5zNRBdOEmfNKyPdUuCW3u/SfFQes7nYlfV/B1DOE9p/pmgK+bx+eZdZUMu44uBGlaPvej5wxU9aumiyt/uCCZ4PyO0OYfFAMMqTaYcI8GxYeHO/3tDJsJisLleLpS/gvPLbEksIm3R4OCJ21S4P//uyzQ4EJZyYmWZjtknKJbz0vFEi0zDWnZHl4kvpMSPlVI8cEAG5r0JoNN59joEsMhUcPZ1YtIDYX9cnR711x6SQEnBGgTz6d3b1iebIdotlgqE03w87xlD0+qEykcVizaOB3Z+ocaMGWybZTIdpR4niV9mDm65EzKK8VQq59iMlABk54A7zAlMdkYNmaRuWJN+bLJ7RqEZf8vrpM0+3cwD0NctuwJJA13JIJVFlPStNIXzAW4pp1OnTx3rMZQfF+o4p92WDkF2tx1MUdC14Er9l1RlYsEYnOubj2IotL4tkgKwnE219ZsjXb8PJFkzakaWhRBJAkgbR6myiYFsJgC/lellsN9g1ML0j4HX4rwIzHbq20FDkBdfqN9SUnIbJf0QQr+QxHx4f0kRekXaqKZYUXYMbRKa6OObLPOaKGft7xFAgT2pHuSw7kdfloER91zsJPWQJbkAzyDFkkgUg80kW7n7n+WBN3CMXA3lU6QR23Ipx/98577h2OGkpcp5YiTX/TikBkcza+iwBGNBi/j+GwW8tGbKxpiSNEQqUDdqfscbVMQ+OSYGoeQKSLwREfUGDjR/emc+ZAJsy3sraTZkpHFZAI69dwO1dvsOw/Q+O/2lgghmEsk6NKzmfI+OYuOG2UoagP9Le/y9UABk4VHk54+6fW891qe1yVDT2KUc5hNeePBaQwVb5BQYPt/+2xEpqsHC4GY37hXyRSGvfwYa7DGUDbMKd8vud28h67mpOl7fe4uFRe/HOKf3TFs+9RX+QpL0+C2b4R/8VfkUQOABt4tcaDV34nU/UFXBUDvPYMYe0F24AZPIWphY9bLwt+tWvmuWwhvAgPN1rxvo3hpXvQNSPsVKgFUKENrmSCjWPYCUoQfJFpepI6oqpsVwJt6IlBFGO4soABNOS2KtnF9P7E9sSLK1WWOdGvYNhxKO5/D5ACMSM3oLy6XvjzPe57hP26DKKsIbhLZqcz8tJOcm1zlVKV87cVqDh5iOgGkNIKp7JU8eBp4VRPvv6peu3DR+ROhro3GOnpo6Cdltkq395hUi+pDXzwcONA2YjC4BKvX3JGZi77wJboSzwwPelRCe5297Gau3hHdjkNfDMaoCdfo4BX1IthlFNEHUm2nTsuiPe/rOux7FSlxIwT09NqnvyBmWQYcleqlPEreuoCZRFvXL07v84AxlxNdJM/atDmCjpmzumIoYOf4uVqV/8ZnSwV78WW0S0R7AwI0EDq4B6IaI6AUBwPrNLY0eeSw24zQ6qVAgBGW5aK79Mg+Skj4XxdPl8axMl4x6nwmnAfEBIju1ssp4yr/gdi9kl+ScGW3r5NVqJ1fXRkW9O0A6JBottvWGypQioSH2C46bepNpt5dXRK28XY0hseEnW9fDBaUMHziavWy8Q7jttulrsjOd5WunqGz20rPiwX/3fdKuQgv0g4CDqGBMamo9htCyKqN0qTOxWP5MmZG0lur+eIMwtcrfYqJujT19J3dps8mrCySt1MRdmlNIykG8cIMszw/nMlRV1DmpxNn2zf3gflXm1sXSH00EqrICj29dnyNSbIteQOqjPLqBf2QDDVVCAgcCz7vER9m5X4XkTIeB4ppqaFa2UHE05QSkAhs7FkyPf40UFGlKG8GnrdKq0ZLUk9m5jleTBwhdDsYP8HCDKRE6LS48qLHD4pvSl3XFvmH8KBEmyeyNwwJzAJQd8MqhmKsdandB6Ec1bHOw8agmVGP/vvY2C60X8AnR2r2HhdkUbclW9+ozjmxmipA1AJIZnqxg4aa1Le0RHfU2vkpf68y/rFMYgCXue7eNqxoS0NkOw9a9/WcDFJOh0Grb8zYjPgaSDENIFMCM0H5OlIqq2r2FKGkaQSMzVm87r9L7fysa4xxVMD0h7CIExLBVbCe1/r/WavK3yPhHVe3XBjyVTDOqI4/90N/Cm5KnqxFrVYOHbwMIXa3GwNwVME+38OpXvNwD6l+jN8BDCRDEjGDFC+WObTdm+5/tfm0QeEfVUYFtA7gTobiCnl8rywroMyBHNClofz+W7OhssrGuos+fRhh8kBA+Ni0fYdhKK+qCZaY0LUDpn17UUKCX6dOZccCYzSsD2iSQP74pFnhlkOzACsapdT20zbjF6ZqLgELUPT8IglaX38zP6zfdyBF+NjNf247XNtmIz4QCO5iRy/GcS8jjaWMfTxI3EbUvzrprtgRQDOz/eMnyVQVbbFiTMZfhfQLeu+j6iY0Qs/QYGFdHefwzAYuVpPhVZK/tXsy6DAioLlmNDzAu1eQ5ihCnobO+MOZtSD0+uTpiOAvPwGWf52xDUHj4zbdFtZULPV4c1TmWflDGMkg/Ia6kPHprHErwFTGoBg+1D6oX8lSPdz5srAF0RbktUTmq44+USAYYowZQOVbM3BWMc603Oy9SQD3buNTgzJ7yaMBbo/pjkzVrpW5xYH0Ra11ykiz32vo4nBg9Zvm92KHWhJm7uQJV5DMPA1JHBWBMcjz/uZupwXqjoTffeHZ17N3waXUaR7cZDs94ewlhsbQrmI7/A4zJDUZj0qKiVQhn3f3AneEhDwl6GUdCBdKY14q9n6ay58twW2PRXXPJ6UE6TUs6oqH/0xgDpP3bx/mfcCUy5oo91agCPtpTfowGZ0tyw5mIOsUqvdURDhjuWLX/WIqaPlYx3zmJ3ahTcxtC5xQgKWrQskF57LaOvwYN0lzIwz/joNYkiZwLyB7Joi0CsWWRC6SapEN5TClIisNQtNPmfwKaKYb+Hguo76RtcQMXdRZWjEJNHq8KZKeg/uWWDOW6aygLP9JDrNNW7JfWDyHPR8GL+29zBAD5FY1WZXsmYfdKU1VTLLzAHERJJGTpwKZH5k0uZrDYM8zG9WX+RVDM8bsmN8cI2wKz0Td8GEq9T4DvY6FuhMsqPGHC1tkLdxuwBYP0Lu2RvjXaxodrZhKfkkIwGcfm+lFS4WMFPCz3FwWwuvNLNqv7c85xnk3aXWl49yCW0YTzTqwyKuKWSIFJum5G8BBjvxx2yDOZMh18M2WhRGX5VA0p3eAilBsGa54P+iEat2c0lLnTrXg7fzDLJrjO/213hRmT/92zHwHShntUiR+9KUWKWRcx9OrMWfefEo/p2FR7dbNWoP/P/se7JJUfBzJixcPvTzMvSTQrccDAmpwoLnh6pnsAF37U9Cakvwb0EZzywhYhfUyAZ4oAu4R1X55yrbJifKRbLIC6NaYqZxbpzV9ec4/SFSjJKEvmVGa9tHfUJayAvrPPbVHNaxlbdJOOn7f43GTTdGGufXu/daAhuYtol2y5rFVUxlDpyKCfYRz3fOyJZEjhxizetlF5kpK8kUuEpKNWnSG9VEdmcn7Tu0/U9Pho+IZiTincXepD9zQXGusmr6j19TKRCe4dmbGmRl1cDDNABYeOKT51fHc6+d1Q9T2n1UMmkd+aiSUgNIrogqtnInezaEs7HmtmpjKttWg7ulLhPvEEnGE5TqPY3iCItPzYojGET4V755b+cNmqdG6OBTlbYjDs4AAp+ho1Iq8R/eWa0/FOyB4K5JLQ/WqwpaNPuaoufHcJMEld4peiw/7uIRZ9U4otV2lACBY2PfSUUu7vJ/iZUtvPoJmd8K/BmbnNo2iumTtQxEeARnjsHdzf1JrE1L6NGFsI7t81c5GCgmWILKM5pWDA5HO53I6aju6916JkUl1YcYyk9Hwwf/waKzGbNaeXD2d1jBd+rriDyPgR5p32kxAb41vjMM5QjUrVztISMmbVDBnx2qArnLJ6ECRGZcfK4U6LCAMxRtE+Y32MobWIYqbeJLCsaF4pCXyZjPABVmN36NRAavX8RXO80JuF2m/Snmg2NL0dSW67EVH9I4fcFSjpL73r6ohLh/V+uK3786Tpz4u9p1byZEEFVjn4eK4wBNeQ7DGhdbFbRTt6/9b55EBMfJGakrqZ4U+Fgnh2uIpidUcG+iBjHE5HMRX2ZKkKLyYQElkw/Kbj2w8OvDaxd8rzWoSUnwkiP9DB4L1FBdrrf9anTqNfPehHTBlyG9cgcQLrR8tQEZN9zuxs8BV1Zf+cIk9kSStcCODphQCbZP7NYhgTuqPh967gyo6DhJVEeM/gq2arEo3NkVtX7D7mzM4zzsjwEazeZbygY6xwP5F5NLqPJ0Hxncni2XMn/GdHQmTbQF1zee4LOhZaDlBzMZLsKXcJ3sJsBmPODcSW/FKYiVgzz7wLdz0C3bFpTwedWpIZzG+H0kpS6hOFF5yNj/xUGHEQK75qxYUFuXq2vFITPVf7aaAWUF+eBV5VbBqFcUccHNaTmGaDdRTdXTurKJ8ATxX0DHWz2qNhGP4nrYJRCKI12hvvahdfR6RlR+zca42mjybVuHEEGrU2KvnHy9+mmlQDH4jYHZKC6knkne5Q28ldgrISAF0p2u8YVTy2bGLZqUkIV6zWDXi0DuZMiQhOJwUgZQNnrjzpboxif7CaCAFdxHukA5fPTubF6aLOTWCnS/EP8ZSOIyNGpkn86BVLEgxNoCo5XDdJHdnSB0Zy+5O4NQSsoKdZzikwg0eSvXAE6j6WW27irlXjNHHxiuOY/LaFsSgXv62JfK2/O09r1DMjpxv32Y457Wd8wFBf9V6i6CdLP2Z9qNFsxcP88S7N6b5FAkZAkO78T3f4mpUVnXed/QQC1AAudBr+gg118i202+jHf4m1tBvD2iwt/8PqoAWQSajReU2kDJ91lZ9cqfgKVbzge5mUlKDSh7aeClFOoVz9UEdTQyNyjj+u7JaX9DWyqtt6955fcvBJF1aKEjjPQjYV4+FQr9Fnd8NqWavBRL91OUcILzXVselzvLQtPmmvtdhkUNi8G+O+b/qcVyHvls9lJjRGbe0YWtuq9zXA02yIjtBjoQd1vY0EmEFvb3u3xiPt9Wix6NZ7ljWQVbw229SAPrh/hsIECHTLmxKxWD3/K6TUieQeqJIfpcIoOQcgmvHDyyRUevzKImeikRzg+ly1+qSicz7hh/DCm/39Fyk6M86XNkhcEgJKANNt1matUHBPuMmqkqR0Irsee0uIofjg8efSzC4Ml6OzAV1PuydANODV+SaVqKrg8qTvT2ROpiQHqoOAq3EdFRo1QW+1ak/AYmGEVA4cF99A82GRm5mLHhLHqOSqBVNF5d+tjFko2morW+bAtWqE3Mhi2uYPJEeL+puWOoJaLV9uHtQIj2GvjqEnPiF3gSNk2kq1rb+v31DDwcalu1nsmfE1n7J39uQgliDyyoBoudkZrUtnIUrDsC6iGs/DA1YU+EpC8VYQ4iw91D0O8kJIRK0Zo3YzUzYnm6vxq+9EDAP5SWf+Eyupwlhcyq7rgfu0UcsS/cyy18bZBvpooyg1q0GNkTJ+MwtXBtDoaChHEqMdF/a7GjUgboSb8jHDJrfqRhQ/bbI62r8nHoOa6UgOaJLxxg1EhXpXmkd3Rch7uNxgpPzxP/mBdrGsygnoth1z7Q/YLYJb7LwpuGREdhP+ef4imi3CBmJrq9pWR8/s43S4uxqNYHUv9ha9RBACBhuz+S4xTQTZaCKSoDHnxC8CxGhiHczvJUTlt4rrWQpu9+AvsrR2wMvwqpTTd2ETTsO/P3JJiLBUvcs0TXCPCRY2h9Nx8ZqMz8XSEqa9ByDLoNM8PxxK/62v/Wkztb9dlxfHsl4u4UjIZo5lD7knNDevOZvFRYHhwFE22lXrX+Sffrt3y9R1DKaG/GlAPLQQX/Hetzpmce0TT69U3cFZSUWj1hcJa25OoCXx3O5jXSizjPu68eF6JRu4ly0GPmihJAcdY54LAu+PeTtHdGWaRfb6RVp9zxwP+2PoTSQm+qFhD5LkhsYuT1IwWLIAUjU9P0z7IOUj2QP4sYABt2vX5hJCVUnjOBPVGQTmwyR8LSRc2WvhlmD4DMitovW8AmruHvsuxxMnY/ybXB0f6jgvY+7tMu0sJN5r4DBEBXa37SH5PepbiAlY5L6+09qF9dbg57qZdXr+Lkj+9ODwIdoY9Ogs9QXAMPBK9sNLNDM1mFaODMVpqeBBx3+/X8BkyPofOmxl+kYJsG1PP50FDBXj0A4uVUwSXOnyDvjHd5pupMiy5DyOMVDjPDi22YVTeKKPxtGz5/wLm/x/DzHO4PBKlriUyR2fdazZ8MZwZO2yzm40RwLqezNhsNT7aqhOqWBMfTbYcyVtVzrROKLQ/cw8h9MBYgLQZ5m7RtajLhjAmwWRubbOysVY9+MbTxulvSqQymjxTj0/yGmowXOk8LorLHbyciHZbi5Wipq5e028xOnXPq0SO1Ei/BmXFCr+iw4toQwld1d5KXZJaq1eDPduqLEuVRpKA9CzB7KJsTTpdrYpMaOsIFM7Wgr9Oh/caoRAohQN6A6HSrmbUuxffYlS4ymc4W40QYfauuqpQ/JTXe2l3gW1vBU3Q0CQWi+YnGMAlM7QCe806vIrrgQmejgYb3z21bFn0KNZj8qMbtk0fubcrDYYwmBhjZezZtAK7N3MQKKCODWwtmN/WYEGctudKJzRB3xrBGIXPbh2oyOsQ4psvw2packPl36ulG2AlW5rvS3xsDrZG0jPgcLNOBZVquBKudvtx5EyYnivmLREWPn30cbkfL4RsfTwuJVSFZZJFh6UkofGq/bkz/WqbPwyDk8xppCVNz7JQstijvxEWrb40THMQJebLnzyY2q2jx2SLecaR7/0b676f5ddR3aDQqQxzS6YlPvFcYbw+8vic5SAk75H9CSsEorQCVlJSk7DU5HBRkzDnV2QtTJe9fsfqy1sQNBXqUXzv+3HDVDSjlHNPKEmNGm5+zlEP/Pa0mLR8hxOG5PeuHfsO4YAaC+btxGwKVWC9Se7tv8fBJBx1n+Kox6GyPB1SVukkNQkjh9dl8s6dR8uwRo6Ep3zrpyoDHwNvpGU0zV5/27gpveUjCyrt2ZF4TOPsS/WygLkfE2dbNXsNDXjU0kggbh+REnbrOGVNbeYAoc4ZX0aRdyTYOFzlRKaGo4MoHLkMH9FMwYlY+jItBYVbIzsByLIUmu7xM7N3q4VtOAzdBtYpwYx/5yTIIJ9yh2VZWg/uPZimDRgASUeaIeF/TU+n3NBLOkQvsf4CKuJi9s4FqpE2p0HLaw6yIcFU8mcl8Jx6XPWv+eL9Uv+Eyr1QVYQfaJcVwJ6kjFn9GSZ3uvbIxaZMwi7x+nNLp60sgdzogotqc5oVT+LDsygUDk+S361me7L2BWYFkcDER/Rx+J0tgDZ6wwKRu7kFtxCpqtt19WgsF6LzpqmDlLORvOsY68JnuZgBdo7ozFmFR6uGXxbySNeCvPKl92vkVsYEYjZ70nSsNQz9WiIy0pcd4Cjnd16gHVj3X+IIr+ZH/gTnYy0JQvVtpoQKA3yqTH8ZK5WAWFLSXjNeHCwtYmaan6uJoOWW3ktmR0n9j0uxSEniCHfobcaa4adhh6U65iKCHer9DsvpoFJxkj5jhGLhPSjJ+hLddzatV/1Ocn1CE5uZoZAMtgkhUYN5zk9+VUjJxOTjDsX8kQFan+fCSw0rK8IhXNp3dynfHXSYCNq076Pn60lpsgbLC41pl75UNjAtdkXJ0OFBP9SOFxYd/qxoACmCf2c4BNjgll3P8P77ikGQPLbKe6Bprf5RR7SLTcoLj+WEriYD+XvlnCQ6gwN09MIkc6PH+xS8JfJD7iyBoSsLx/L/1AzaxG7e0eIP2dxroERhpC6jg8arrg7XQBksDHIJZIPRhy16WjWaucMUOLtxrgBU9rezETjoCtMnBYdaOAagkVHdueRkp+p0+SRoZ4ejQaCwhOiYRYYJC7NsV73oO8dwYLioC3qILoo9B/eMud5uERJdTB+L3gaZcXObntZ43fegezhpmSwHyw4dM10xfsXF1MY5XAR1XmGR9Qz8Yrc2BSBiUUf1wSye1tGQLKtmsheBI0zWEKzJu8/tdWQ84lcWgnXo9INPwDU5XiJi0OyBQbwRH1ahR14L10g9kAYWlDK/0N3VzcgYYursjTtw/2wSHmfTGJsx5NOXmMmVliBLLHGu6G0jFBLZtUkH7EzFzorhlKhKRrLqXXlXpO8crQ3CHEcZLu9XzwCc9SvkPe94gxwonijdizLHtGfLLKLF1cdtXMFa7Mf4P/JQHiBZIRXBzCKoqPaIuvh7X4/SQdEJnxbsIECUF90ZnrLUpBjTXiX4XAc3Mse7eTXKyZp8Q3Sf1S3esZyDQl+BBER4PmbGOeQ+K1112FbEeyqQZg56WiQ0jRCUmP+Kew9A1ZxSjutLVOfkpuBwoSkP4RGNoe7WrmyTXKI6nk1Tnz0oe2Vm3PjBDf8Gwhe+fwAYSAjlPra1TtCj1uu1GcdIAm6ViQn9Srqf1ym9fPIxInLxt48mCIl6DSTi4ZJ+XkJrz2dXWQqhpSF4nNWapdIjJH+p1Opedufkw0xHlr4vORb9BCJ3W8vAPdZSqI7VxbNaaOfqhI/8w7L9horVKv7MLnEr2l2XgUM6+i5Ix58xgRlYVxa+ltEdaupD5yktPEOlldMIatEHTM9j7h7hxVvQPEbtQP6BmDdVaPz2u/o7+Aiy4lsXGE+Km2ss6828uqY4y28croxcwQBaemP2+4hEA88WmmXnQTmIMFje/i5qVzP/dynhApy5GEB55hU7+jPdveexxyrULupZB1hjyqISvKscuKXOXZUnp8dPLlTkOIlOhMu9t4Vx5PLPIDK0SdUiZ95AlS0+/1macnq6hXYYejgXigt9NePxN2PY9CC0HftH0q8httvBeLZ48ootbmSIZgK7/Wm1zqq/lUDZBL6CYC5KDyLg/WfRKIQMNyN2X432uLr/f/9AoV132hvDNWvIbdgJKmzFwnqjd8+MjwrCINW480Y/0ve7EpvtXHg4WzJv5MuILg89gjdMk86QRO9Q/YKdmb+HV6eMqRTq/oudO/E6zvH3NzGgHNz/zI4Clc1kXUMDTrnDpBI2KbWe//7iI6d1A8nhX4F+4tGki7hfsA4VOK83fdLmcdAGqQRjtItVXa3J7vhE+x0h3K+fVJpM2FZDdY7gVF9ME1rtQmyQOE+F7b6vQAUregqMnIegpxtIKRhyTvfx+DFWZLf+VUZHUO+CicH8sE+9LpldACFUpG+WMfE56X+8xIB5l+Eu4ij2kBUNYythq4o1kyIEuD1kt9XQ97gS9+waaIHokWae6jm/Y8Govgmk31Z2M0SBZAIeudbA/y6RkBys3zsWVHoPxD73jIs92cougppJ3Uxf/pQcoOw/qt20epdVJgHhT5/Rg5mNf+bvQ4LJnwSxs7VE9Qc/myZF4IFBUAom49bMTIghVW6RJ2gfXkP6ovc0THTEpxZWx4zTkARVTfH75vftaIkZptS+h3ERciwL+zFBfxojqrdRqqdkYWAVmXpf+ueckOfXPrN5b9eEwl8OJWgoXwyPM73RDn5ix09+qYTUbhIRquBAIHnO03H3q5TFdSXzP+sPDF+FV61ALiJwLttts7/NF2qhFJI57p4sixeZfoEtm0Dg5wGwPCH6tc6aqO8oe5R+IkDR8TuyFEN2w2kBdTxxvejaSoap3bQlCW4svakUIjVrpe7zCbbcGL0xSe/T3hysCfb20Xj0oFitmmY1Q+1QAbHJj3MfeeZfxuvYYoF7mLnb9sF2SPQEFrRwt08qapY0ODw4ReEM3TamVg4j3BvgKWWLIeWrMXPSM+I3hBzjUn6TbqMNWIPDWj5FBYrWBwXYB71BOpmX+5iYomjHoQ7LUcQ867QRS3qZXYnBbLy/FO2tEGfzE/rGyNxED2nvMySIIs4Fx3fZIsIZn/tCkocG9krZ5TWha4eDI3zmyCQeBMYsXlRDNsMfjEEBFh6/Qhq12c9IUp606kEY5bwbG/QnU+IAyJhlftn2f8iRL5A7v4R9oAJGU2GYjNHqZUGg2z6az4YMtQyXcV9X9WBRlaYnfVIRsmuVGDhDBIoG6C8AkCK6LdXd0NgeShgVCNpx7iacd6L5r4rVi1Gco6rCBwBfwyIJs4Fhnq8IZrURn9zhkJ2FenUPijnbIom4cDNJT3zqMfvySGt4ko2KqwoGDH25QLfuWMbcuRhuQwYKgCX9VgClxETR6DM5DNjTv7F3ysG0kI8NKZ5AZDzjJnJD4VVPwVR/fNKHpzgM8QQGSapVEbQCuiSw0xjHphp0eDxZeames1Mp9WwQ2puhmhj5ql1Lv0eYJEpN8RFa01yfNY0KZkTpYzcO/Ckhbb36k9esVXSMPl1G/K7/sR9Mcqvz7tEmdFwGaO02c6azfLxlRg6byx5y5aqHXBgH+N8X+0pGSjHsaENs0tEcJU4XtLrRLBJGIFVEe3TvIYkvc3siaU1d3xi9t7TPq1L/+hMRqojqmp8jBLyo7KEuYZeOKHFM3mUkV+XkyhiFhmwxtLgSsGMbh8fE6hCR2rTOIinlmsF74yj7IpViQkLbyCbrvDt5/yX6I7Y1abrFs7QBI3D9QnlxlwbgZHvFTKeaFKcI3NvUQFQURMimQ5M+eF6vwSlYff+7/cWpYmvPrIh9BVONzVYOe2tQdAWWT5fJSYL5Upt0L6Dl/pZObBEdo+FPC4b2+iU09eJ6vb/kc2/uq9CvCUV9KB+C/CPAJdOu7vq8wf/Yxy8081PEnm7VGsIzzoFYnDvfYTUyPhdXV2yICWljxWqkyEe4e1n+SZCRACDyiLTdzj5Dq5ThMdA+CNJhV09iM2iW1Pgf2XiLDkIpNo8ugDtNdVTMEBsO+uHzrqEI+EwMOFr2gevD8TkmyjvrYH9Bw6rkARUFwc7DRpOCIaACn2Edjv7bmiS3MFeVgdj1y0Rv+v1DYqY6EwHst3CNlpq6XBW7Q/fu+F1R20aHUR5Z1LIZ7wvY0E/w99bKzAyUjG7671ZUYF6F5+Ynv4Cm0twLZ+GTrBp8VL/LMeq8XYgzYldrklMglyWJS7iWBhdA5GraO3m3rO2AorN4N62bHcpIhG8kbvIkybnRVTEWt5a5f7iIYJN61OO1gLp+lMKa9CuaUR/y9eoF3/jHgqh6iPSadglFYQ/GTsLkzIXMTFtBelXwJHtvmQtoXItuOsLGvL2IK/M295YD8SaNfSND8zTfgUXGYQRyrzsPYC1cxWOto+YkW9R3EinZBFUy/5HWXF6WeqLcPADGeJH3U642mjV9hMqA/GY+7DcN2bpls25VizlGv+FyH0qhDmmd0gUS8y90rDX+Xk6y6McJ6S7gM/DYcoTHv/2NeKg4rjMw8TqrlL9LBcLKWQxtuJxVX7ObKDCs6fNlfUj6iRrGPFdJD+ziFknCJKgixZ5RJQEQZi2MefRmUYi5crYu3Oh50a5Jf+upvNzFAo7KhxO8WRvoqnLO0wvvdcPsaVUOIcvfZoUierdTyFyoxwnJI91KCBroEodybtBGshuLseewOL8RJP+H2Oqsca/SYdeeRtivXY+FFQeTQ33eeX3DdtS0+wgHXVCCQk/CkG/az4aY+ExO9eyJRmpeKAXose57USPZEoRKo6m3uIY0rsGhjw0xAS7X1DuBTFVuo29v3dChgu70cPjpl5/xQmrPdA36PXNZRWOszr9FtTYYxG7dHUooremnYo1QnUGWsN/xygLq9TDGLLhVH/pc4pD+15uGiALFzU4PINmfD25G8LAsJea1dQlpC1s7rkYJUQqIwFNDY4Eh0dawLn8fCol/rhUCEbEHM1dJlCBpXxKfm7zt/ZpsbXgy68nEkEoLjs9rk0E9GFFZoYLZv/4qZR7nl7qBbeALu0FWvdWoNb4hCvlkME+i5nbMafn9uVxxXlpXBlOxHA7IKvKJLMXQanWkuK9A+2VI1JSDoY06+R0/g5TPJIHfO3roljfhM9ncx6Qrk66xY1H0+2UgF+oQgm28A27u9+T4rGo0sT6suA8Jdwthg1T9gojZro33dFb5pubkZ5ZHchLzsKkibaR3DHxf769V4iImNuKKrpgMMK8vcvF4YgFx9Asca63MVyNPtp5+zXPASns3bwdmsxnn1S54GTdkB4DwX4L7JXMnQGqIaS+mPgWxbIZbFcDNIrMilEIEGFczfvcACtmReTyzqnpITyfsh5QK4RKX9ZWtvUy4bWXjsLYbNV7MrrZsT82c9cmf4f8I0sSYqVIlcUYgI782imxBuEKs3OWcogWDmwlr9TGLtVSSTlyzHUW4PU9f7Wv06gLioBSoAf5esTj3FD9kKtTKQZfTKEIOcCYWcfIk4IkcfoFGKSLqsHhBpBOTfEJ6dxkBJXCSlknDrb8XJYO4/96XFd4ThAg4/Heg3u5p1kP3QG2yMuUrty2cFQaT3cWMABIB2diEu/1KfFFSKbfjTp8aUhb99C/ZA5m7h8JWsGwT5Ml9Uhw6CmNHyRA15TyVwIsOH0I1tFeVqQaoqT7wGjyqrJ9bI+WtpjMv5CAGQfj+k2aPOJZ/zLvxAtkd/Bzh9BZPEwVE0I0DI82uWK72P5+mHKig5zbXYrQE5bSNA9/gHvSND2qLV3hLPnoJp5q/NeZX7mhb2aWf7qkF8iM4HEHQ6YiYA+E+kPmfMGabHq62QBi8sSJ3yb68iTcA4YT6f+gJb6G3adGkY9eeu7XQZiQEi2fXRSKUOj/zLkyh4R3hOAX6xhT1yCvCHT2Jb9tAzSMxe0RFbM3g6b/VHgP8nyZkt45j1ZYBTwOpQIaFU7nU5focNbiclNOds9b6I+FOnBXwyAf1ViJPMKBBofmR8wg+77g5o3CiYUzQ+KdNxUo14XQc58/GKrIq3XSIefM9azql5sX7KlTsU8DGT1HlHIYnd10cJYsAEHoN0mLKcHTySHsjTFesKWsmK+siZFXhlavE6F44mweXOrX6FBoELRrvIrsst4OH+O47VaML4CK/cNrjlTodfRr3u2XZsHCcw9kXLGX/15sm10DYmP3G3387x7LDyVoplrs0pzIvfcy41eb2Ob/wM6tQNLxQKnfSbL0eyYL+RWR09qeHT/lWpCFvcISYlmdF/jMaIWDyxE/LA1tguYOSiQtSqHfgqHr1n/k5nFhnUBnU1J1eys/8qySmWwIplgfD3uNcFHlg6trf2B11Om/f7E9onO53sWHhas4nNuhBJsUn2OjOnOAFZi2dcAvexHytVxIdybjHcEdXUcp0jkab19hwZ0RddTUGjtyulBmpbfGD+4d+oynTEjmMlYS/pfoCyhEk9XbgbBf7wtFs5qleFrCmB0NrUYZLxmw+2wFqYEUy2hYP3ZxY8uhRZeFXZfhOD58zGBx7lo4yMjiBc0zvOGqVQm8d4tk1CRpyGJOGJWVU4EpHPxqgMP6hV7f0IxJugziIEJHavrZauRXe0/THYEOKpl/a4jm/fah+oAzHRBqwetjJBSjNp5LaZ3ZUNQElZJBDOF1e4muumSHF6da394Cvppq45QN1B2wYBfbx4Y9fnq5b+heTNTCmP9XhMQGniDhmdhGzfPUY5YPvTUhEcaaA2ucNDUO/xvaUVhXDIodrM/05R31bnFkjUjn34N7Aiuagl9VB9SjYsu83Ws9eoevaZVwZMC4uiZko2GtNzZCyMHRq6GKhvEGBiM1gLyvMZk3eR2dGcn19YX72JnDBY6RWncG7lGAg0YZR9lyoCyQ13gtnyBi05gPlO9yOeIYGqQrhgRpR+pAvx4czdaBMpVI7SgZMAhMSsdPUEQ9stTtwSabBmrln0uHsOMhDvi0bNRUWUmqnu3eiLgzk2XKGyTaHCe59vZZcmDkk8aOO6pTw5H+DWALBPMcCOmfIz4cF9E5zesXbQkQNDFk7vlnAcetbpid+Ce9MnTb3Clhv0lL7lyusJYCpLpalVXmQ67YNR+IIDh9vW7XeWnU3FFfdnO0yqCON1josSLVMTTaH/T3Q7Y+gOUofDwwXaGyGRB+4GRC2kk7zANlgd7PmE5kXda4IpmTbP2OqUJ/O9EXW4aslQR5PtYy3tNMamtk4Lwzb6WIFll7MVBneG5vPfEGslblvK4unzLLIvceI6WxhiZNc/nr10k9nn8ikKPz5jmA9oC+lWIE8QR4XYTcO6WZ7VMORykmWLBbTE1NQc8/TBpYSaYjlsyOK50EEwZC6/hyMiltFDU/OcVfSs/4s0Rk68qJkU5mIFxzQcySQSzLKmqQzkbb2ZlC8MLMP8Tt/ui2UK3r3IoyOWjDNfAV+2/iYAbaU/gcEuC9PqZbBCpHpobrsMSJpIpAbdk+lZArMaQfdQP2kY9Krk6TsjNb/ad7Ghc/HTlJyxRISEoijGyuLhUJB5Ch35PrR1oibmRE3vvhC5cWj/AFFMlliT5ELHoj9ieMLEG0BOkVRUXKuv2bfaF8AdXORnzTtMfXYqB8UVY5TvybX4Mkg9YXaiDDrp7KV8wVHpmx3MIlmRkznG4Q7DbYNTZBEi2yxQfQW37NrAOyCP8AXP/EHi/BLLFg/ip1tleZLojlnpdzKgSmJyi4IRDWNifCtFxTRjzh2z9DNa3KUZLZnixrksQWHwp2gRkmuu7HYPHYIQrdjih0WnNb7CL7hFDLjbfGaVLQh5Fu7SHtZTqDYzgY4QnM/x2PC8v6+qmCAMbOvWxZOIxjgpUF1ud2/e41K1bJAXPTZ0ctJLsigJDqNH6fNsXGGXNx7cwJPgP6INK3Qxc3ylfv0L1e9m37k+CqkJJTN6MvvQuae8WjO1l0JvBh6yHIrZgf/Bt/DNS1QULgHfUCLdwH6GVXxn8JChzrTEJL4dTZGD6nCwPWD+eeU/jxNc/wph/HYngIZcSTOnA7ZoHemc7pUYXx0Nr45Sbce9CyAvFnCzoIYbXxoDXYVwt/7sf509VEfvoLzjbFrRKr4vntb5dgeDiwRX6neO0yQZsOSoVjVvOOSAuP4PT+ezKgOTL5CMeBFh5fTyCTneXHNexLrs1pBpLHH3kmt/Gi6938ByjJyGR1wM7/rvRQQoS1drQjQ0vefqIJKlavxUAyi0PuILAyGGfaeCzz00DKjY1cowpRuwwf7rYPEZOByjttnqj6EUZ84F5gZp+4HJmTpMjNq0q/lyKFhwHKG0wkVp5h+gESx82VKGR+mbao8YOh23JnEy+eNJ45yos7d1gFc6GC67dt+OzE5TpAYicEpe2YtuuIHNt0hQpdLBdS8eqx9D9RSrya3h16jYIp9Ogfv58USTrQa6bOJgC6Fuw3VSohoUOQpQ/XY+PVKw2eV8Q1N6yxzymT6QIiLizm3kcA+jtFVJVj/IlTTGr7Tj6P8fQmh0ag3AJfRbLs8nmEQ1QHGUtaUv9djTgKNG5hVLyiujHLL77tNlHcYLwqquU6Z2V+WMoDwfBiMDqK39/tNhs7dXQhQTHYkold5VgNmV+WJr8ETyoKTHTS8g1RZL+KCbZw1LZoGTgR6eNleq+XGRggG9pbw1+WcW0jzJpvQle+pDWTA3yPaJogeuohg7EijR/48Se6kjwNpGStelAHWNOtzrfgmNxtH9r1eSRWLz79nRNF5th43Vy+rZ9FcwK7PlfJojQmk6yDIgDVpS2IJtFflHkl2pdrA/ZK4Grks9dfURGUNk54HimplKaYEZX5dE2M9W/60vxTLBE6XeIZ01h4YiHBHGMX+eAHZAHpSk2dFZUbQL/ylbq8VdzyOCnwzB532xAsz2XqmJFNJCZ6YuvEpyZtLa07GuhPki8MeZUI63KN4jC30SSX7/bWpsMyfpqrzmMI+cCYlmRUB0Mu4kG/untuIlFzWG2JnuSThOvNB87WuxDF4K9MPLtApA2nPV+2yMqZtQu/5eBgMzg8/6FBhddJz3kV0onK4Jbo71w6dhI4czF3ksh7/wVe0vAH8B/pVGb1v7xscPIhg6KL+hvTtq6g1+kCPpBURUhkj6yrfPgZ3/Xtc22MaQJp0ouI8smF0IW7P8ZfkCNRlxyoz5rOlXJ2YoBYf+hZJACLpIW6Ecg7s2fptIWtvuAgGvGV7dSNLkYv17ghjkJQx6tLucnApd6V56PAKNj/7Yyi6MOC9uwvXC4HnQSolMT49c6/5ZRIfWauOyw+arQBxET3gqjgZPldHDuhPDdYxffuJ1ityuwa75OUwVzCfQ3DhhKAfuieBFYqqN1i5usxjNFwKad4V39gjt2wLjcS1yX59qz0LCyVW9KbSYU9A28hy5DC7hdtdQxRU9PX4vfg8R4KZzpT7OhJe4Rwnuob88KsYJT3Xdb5uQj/iI2b9k+IAL2RazReg2nxwi3ia771jH8mWcStAs1NJu+cMgx6oarFqLe8b1HSRxQ7za0WtQhVKdhOSo+l5MyUbO7l4rtMf8vOidRDYSBoESyiDirZR/lirb7mNwOHR9B00U3KDHjR+/6/p0FjHCVpWNOzJcWfIRQkZ6XmbdXoGNbYi+/6K31kVQSpEiFHlf0XTAzQKDh03BJv6aoldSXInQfAEINY34mN7TGvaILI1iq1F8qQD9LdUyM1y1GkmIcoViAyaqPmTF6srtanuyTM4L1D0wyuj0tEVAfuycGdwEON4fnsCqlt5T6S1obgnUutprS4s5WpzQgzd4U9TRXJErli2+o2bS7A/uISBZhgh/679K/zLda6gWtuZwAvTGNdCbAN9uwZti3Hk9kKWrIq/zDHz00+fSYLcc5sgjgY5sWd/F9nGirgGojICMTxUzGmVVyjsC+0iZ7i++UKuLA2KCekIgylXj+DAZVKUFgBgXYW5+1bwyASMUltB5MhCcaMuivyyhZw3MJ7OjjmJyH+sH7zwWOwFaztw+KQpl6ETunGZ4wgXDkkep9RDpXHKdERy5R1KfOfi61l4kXklOVi+UvIPbGuKxTqSuKxjgg5aUU0X3V/EKdOugbYyeYKlYTyfe6Py6u2Z+A0k4k2giHiUVqkoC8MKxTXxmChSs68WryAMhUxyo84ORdwTONcLdmrVJbnyH+ugmyyx9iKEPADsMijuo2U3uJDa7Wnfr9gcycQq006VxIwrhk0FV/BDjqzquNOsEJXdrimGw0G+JVU4/5BNk+lE5kSCYz9cOOfNBtbtPUoVHnu1jfPwwGlaTc7GUxPcDFnEgwaHh5znVnSwPAAdXz5o6vI34Epz0NKfx11wmUjfW8nTAn60/CwPV4XjHM2yzXbq/EA9hUimpPyH+gMWQc8fiEpaTtk7l1iADxvDO8EMdlaQ0nXdXnhCuCrsoC+Uvlb9IaXpTbhDyzTzYYUPRsJ1khYU6+UMPk1YHn7mE5V3/F28Yia/wrwDdF+R6TmVzsqudzix7NyUGk46wXs0WaHIURcZDicGiV7SEhoVNTU0zgBoaSd49LNnCcmSgWRMUa0JKdpcVnfovdDcIyEcqOXD4VeP1baW1O5XKi8DuZzNuEL/drafxlkHz2RIla0Jp8ILNn7S3fdeg9UhAx9q0+SKtkZq2KsJrdjjyAjr3GfTjVIDAz98414NxYOtS7EWs2ZaFK7+4WBYoC5Hkeq4b/TVXen2W5sxGUXGVbea0PfIOieEzqtacY9iZH8JBwrLvaO9mQx8S8Xs1qoQA5mRuhLUFIcDGMj1wJK/K+vclB5Bl071Plrpq5+L4WJ77f/haemR3QBDVN+DYo/NMMFkqokI7b1nRwuzDmI5dEx4XMlGANd6UtZZVQ12+CHjwiLfAM9yPWaei6wRjGbxBRZUWxyt/lA3BanlqVbrdSdMBG5p3j4Pa9sSfYjUr77zB9h2qpnC6V8u1+XFmGBTP3y97KCCHykGfB6mbCNng2OYcDfFxSp12MaqtqOwry+xB9gUkHlnfW9DENAGqcYOxFOWwZHAJEeIuPuyLr3pc8euQGkJA6K1rmHJDoeAl370hmHY+Wk02WBNr6bOj8owlbEPXZobBQ/xU4JVN9l2GH0nnIedokXyCvBiq+jOf90wECFhhyXgaKiOos+J5t5i72+cySCooSeyr88ULT2mwUuMCLDw9Pty72PByiEtatpiqNeZF8Kladg4jD+8iY+w8ru/PveAVmrABMft/YevFyzmyB1LNidUz8yrnolKmitwK2bPJrQzSfyMg7RCZtnj801QmxB2Hh1RdODJ04NYCR84mkyeVmLrySQsPfWBiZawIPusj3W803YTrCIFZh55a7RhYSAh5uolGsv0TMC+pfZ8CJFMfhrjIkPX4iPlpoVij0m+1EDPaObMhssohxiQLjAb8un88eH/6Z8SnJxoDDY9JjIkM28xe9G9BMqE8CdRizNqXF+yzFoq+i0JXmGCunk6mGwVz7dw0Aht2yZLXL1jgrrUpP84ikBVljLiJmABWcOUt5aq4e2FLPP4IYwNw6/6kBGhUw92jqGvzzSz2IXFoSGkFThCZ6Hdi95k3hbTR+UyOtNXxKf3qOHtoG1+tO5u2H6XvCe4OZ0IsSdV2C22f4X0XRjnoLI9dkAJcmaPzyLbgrWgj/dizWHsrNz5PzGCCZ7zywhZMyk6RrEJ5ucZ5k4Fosm8+U94ZyJFHYaHthMhJSLgoHd9plpggxNFeaBMx2BdSg8d0qM1P9s3xHTr7n+uvFsfU5qJafAkyfAi/gC+OLxCw0uMl/XJ+id3bpdG4VxQwyKvZaxCWrPaRHIy9KcdR43jv9jfykGUTzB9KjyF1G0SkyMHMeY5wgAmcEp9B8ffD92GR4FQExXAD/Rm70xyf9mrg0HowJ+Y5o1trz3gJx6Em+pGPt0PvCVSXsmyA7BLMqIiL8iKyvmFzR0O7FJPoUD5dZJ1eKn4tDUJJ4Umb72XTHqR1qs8KsHPpu1Bas2jM6FoTMyoX5aScTz2RVJH0xso6SkxxuMBg3uUblz4fj83SnK1GADX8ZJtrY6l5lrbF1/ZuSi1BShVAdFnfBB3Sh1SW4KQz2mL+Y4svWwspzeGp4W6pTFKdMDjOxHzkJHkAfLjLjqf+T1Axa9og+Cl7gRTi70bSWjsQM9F19HqH1IdJOoerLMQTLpuVpFU//G6/hsxG6sFsnzMJ7n73SbIizBrcriqJQot6sKe+uP1gONUVuBIPlDJA49atkvafSdkS4NR+zciAFrwoHjdIsVSJKqDxAVrM15uFJb4cUI1Z5j3Wgo4gLqLZDMdNtYKJ1P7oBTGSBKZGTqguAYXj9FtcQ4sSbuwAvEKj0iSHfGzNYpAzMhIVEl+O5tVLe4s/3uEd9Gsrl6bogS5HKQwX3XK8Vnj7lf+5qIQiTSzRnfkEpdxxgU0LAZG7OSxjiHkVD2gFaZ1GjKhIedce7dFUwac8qA8Ut250wwH7O4rKHFECWEhhPfyyNNFFWeFrcIjCB9QkpXuz0U80DXFirexggv6bCvxlzrpYL2A02HykHogeIIum14ATyzZnKSfKNZqYUHkFr6qN2/mPO1WK01C9CpwXcl3fLEficn+qMiFNH5a/JFJBAF2ZZWJ5EP8mGzPCF9CDlr0z0YHruP+6bAUG47CNw5yDdR0WDTjq/DqDE8W+/fc6iTB4r9945YbHjR76ZqoOFAkp3KnRniRLdWK5iKvLCCH/Jf9vzHnX4LfdHlAiEucOADd6aaTJnMDTB0DnLoW9pvA/TvJPoH2GYOwUyBgDkGv7VLqRPzjz9nIWylnnWqIlm7L9YRAuucHIleKaTQCeUrXP0Wnyp2nmBxzeDiVOPsap6l6MYLHO4xg8HBAK3J1dgvBpIjcYDKZexJV5mf8c0hpw5ODKTwdkKCeeTezcPXh/9nI/FlRcIYy8sH3nKCQ0EEucVi+uinLNXGTmZXSuB5jYC2k1R6X8FYDLSs7G3qg+Wa30/SZZVsN+vbIWPDRqs9HMz/V2eXRrxClGwzMRZTnpwuqrD1GTjLUluOf9uPygJGxe+/EB6Ak5UCCsCWe2GLD5iZX8ywqGyaP9CGKOOsQ504tSVjAMPPpKo7Ex8LT3xYdh4QReijfasLvMKd8/bu689y+WY+S8IO9LXV7KYzmOOycnb7imsjeiBPCZgNd2Hd2fLIQOaLorPkKjFZcGRaNO6lp+pBPTMvw9QIbYuQZBlhu48VmV3i/3Y0m71BChUWR3cdNSS4D96YC5J0Y7ZFqMHBW6G9p9pf1EMvsoq2dzX2wSvNYXqdP47zyePLrk+nreb97cBNao7U34lHDXeFQ+HqT8XvcE26g42SyQZmHFRlH2UZ0kohpcgm7Li2wAo0IHMre/0XfRV0HtarB6og11KC3Z7/RUcqKzEPA7ZEJQgZNgBZE02MFT702HN67p516Nvqkm0Gjx83wQdQMeqxlml8LDK0V5SdTdnatEK7C+bhiQ3CLRBupVuTeGYhJY/BbrqiE1SY1vdXZ2SFuvNbcrI6ErGJV8/qH1acDEtu58Cm9IYXlR4R//8FS+sjKjiIPcuzVQ+9bV25MODrRYTzxFJYbLhp2Um/HKOncgLdKHj7tOrMZfxR6CrV1qRAGh+vD5dMMDkqvh3RtFI8M/B+95gOm4879zLjARkfVycAOqjJdoBfgWjWNsJnafTkmc7B3nIQv/Doeol9zaGW/DlpeEHHLSCVAFpPcoRFbXqIB0NIfCnsKcK8GmaNVe1S1WmDjR9kV2WjYdDpu3d+gX3edjZ363f9jQEbUhFXtuRXOQv+gmYCubqBrqUoagUdP7xj0HIFEZg93/KZ2CrZfN9t0A6WcpUJBI5WLyoLnqf11jJxzi7XP7icTGifXh8HPdPwOvmb7A1BFcfY2H1yrgpQ9LL1WPc8f4dqfuE91BNq8DtcEql3/06rGk4gsNyWI77GnH9IKwUsAFlrpUmA3zzUPojorig8/2Cbd3TjsCKM9wxliCLyKPngKsM1KFkqM6bMFtyxYYrU2eewcxYM6RkLIzuCbt2tjjkrWkSVoIS5lGaeH9ACsgsCD8uBJTg2FG+jOXwTTSCvGIWOiSPmrIKKcqEISVvUcMWhHEeUKjXTMdtBmPl8s4WipwTYa2j7rmaa0RNf7IXAOT77NGep/q0h0KdWRo5UPERTufgAqHgtum1dZEPq6OH8ILA+nokd8MXPhCko+zgkNqNlrLQew5ugiVBI+TSaF0+Nh/0lIpsCoBQWlDacVD+Vx3x3aSXTbkp6URafBo7r4W0YMJYL0MnwFM5mzSBvH459mHAZ0yzT09dEXgjVW9/ggg2LxRO6yGo5FTpGQS5EwMSjG3crtd3U4X4CO+KX5W46TC5B/X/DpEipFhWLaE6rpYO0r44KwsS9Ge9H2dfFY3QNvXA1sWHN6WR25HgQ091u/FmxcmTXpvXerH0b5xRi1MwmGmrK4ZAT1TapoD8+smzXuW4xfFWkVDOL7zk9xNtB53A3+dJrIzc5OTB601UXSFtQkX3hWaSnhB0fIWaxp9w7vGQDYtDAeTTDigrLMhVNfLUpJcIxhrMjO0Amicb+Ubauev6gApJbByzVQRTWq047GGRSYgxukHnlk5+xWTYTi31cQQCJ9ILZRJ3tV05M1AIgNeeDW2H8IBJqkzSl9nnKSajGYOD7eMyjHHWbG4SEV8CvAH8Iew6SodPSlX4spOyb4O8XdYQ2bne98jMMolgBIbc8j1VfPhmdPcqVcmf5qMjZcC2VzGSMF9s4863hYPVGq86Huy5cmg6zBz+qDU3yje9vmEr3yJ6kZhF5z8UdlkJdjq/581O9VuCR2B3lyEAfQoUZot9HdVILawreyRxAy11JlpE3UoO/fi5/5omkUs0A7Gvb5+bsteFVIW+9l+qR2dINow47smAidv0bLLEr/yqKcUanjvixyzAQCM5CVzq0r7rDR9M7wjLxBq9eBWRVmyK9TfSJqXHjL8T3l8phqzWGZrkRC5oiPO6C5Wf59fFDP+ituUaiEqytebX0Feyu7U5Leql5gBMTdDPsmK7KUOyA5TuWxjGc7dN7kJKEYpro0VWRhjMArMIGbutu6vN2OSHb6nvd508S4Q34uCRKu96bSAD7YHASNVhzXv8N8jroYf5Y7E9s4wTpkvo3BZkkWqpF0M1vka3jjUC/JuZvw9V8avX+D9bciICl12vr/bQJxDe+TN9MQwDJwOe5HRWZKtCtH/1/2brHVDE381FF3JIILjZf20UTFL4MLwmZtFv3M88Bv1x6hEyoaAlZ5p5QEWzlw8bJBt8orARhiododtduYtJBSF7octT9JzbeKdozaif0LBWL/u9RjbeVNLZ8UV44Ye6Sz56Vn8QlwftWL01WoPryii3ZZ930Zx6Ins/HGvGQmHAD+2qvuKQAs8Y6ublb+Dvhp3Y2NNMjsuzOvb6m4YtkPzbhlctKadex8tBQuo0zhmSxfDIZm5VnEDdG2vZ6kcykYFxgAz3wrkVyXQnwxyQIeYMIHQYT+257jBWD0yJIiC3PqmohMzTC/65XVgSsowG2kgnlR7pYY18nBQ8aVfJ64D79rH2pymM4xMU1Zk/OS14XiDcldhO0c0RhQxiPSY72XYxpiaKVYmzOcEvI1PzQa7+LVZ6pBIwn8ffWvhqa38b3IskTs4RBkYs9i+i9/AqdAQg2IOeWv2fuo5tEcFyefI9nATJXQchbBEQO2Cj3kaBe2X+81o97B22kYSwjOkgZybf53qZFQ6p/N0dL/VnuL1cYTGi8k6rMpkKGx4j+Mc/fcHUVNXTKhyO10FkvHiN+qSbJGepJ/aLXoLZ8RET0Bshv/4hAQgzeS7yl0n74cedqdnmAeHmQ2CyXvMM0MWpEvA2ezZIKU+WvUSaGpTt1kvMloerqnqxHLfT01Yh2n3iD29EWnrQsyjedi1I5SUgvQKBM9G+oAai15cO1con2QFz3UK7w7ZgzM+vPmbk2QqR87fzlbdTSAhrLXzqVfLnWBA/4+5aC+0BRMZ6iX9lH3QXtKU9D01K3HprdilL456y5lsl38VQaMbz9hk0LgquziMY01Znz2WE4ClHG9cF/e7stVmn89oNFUE9NZ1RAc97KzDEWHLoKwlCG6L20/2Gj7/M6PDhsvhY+FMzYRg+v/0jo2gPT0UTCfaLBDRVvKQgUSYPMG1dr6ox7ohepBUS0msHq/V7A6Y9WfKDgSLatqTzwhOXnuXAoFc1LsdlV/Nv7XHqg5TAohZGa1mOn44SyY1fyPMCxL1QmxvhBC7mxDyj9DUnBpbjdAzrBW0mUzZ51brDVW3f0A8oKL6FYBf0mwK6YxDMJogq94OPgpZyKHKBYvJXMfs6u0pYnEn/jPeTVQMK6uY9Egww5setjqwdQmwi1ea0/uoNw7QKPorCWZohFt4VB+HUy/ObjCDdxryIg/y0wXGMwFyftSyf0v/ESOVaUNOHg1aA0SQ0KOwx/oqBneMvSoxZc7SqvQaHcx3ZLg7I0FQgQ9799KuVGTfGNgWvzIMnHqMNnCyCLJMNoNQK9XA4Wkq+6tVuCUREehKj+szE6KlaSwgAPfb6JeGqIyBrjJK/wNw2yPaYB9wHia3A56M5r4OplAvdVjO1vrsc4I8LAy1zqqpo0yM1hfixHeLNDG6ufXaX/4mWxYpqL3hBHpPbnox49P3jj/wGgdZFaJe1JTer036xd0Xak5qCI6SV86xqAdAChv6sj7ESw0SU7w0leCi/08lfYfucRQHdzjO3JkA7lvHw0ouMCSCweP+ms5HlStT1HLlgQ/pkLQ0HiDkuoPtTY6fDW0UPlH3ebKJKJsiIlEwAnWQ1ExfQhfs1IRdbEO6sgyC7u2YqSye9WFoH3s0+d4P2X78UPcUsRitbiSflMds3+5ixk47wEAbwHOouv3l0AUb9zZIP32hh+8n3fJx3LXT4wqErJXRmufydvyJuKW5IkA+rD7B5y3hJGUFrf+je8x2WEZ93MMZZjKF3R4hY4E82J7y0z9znWEXqtnGce0dejOBkrf6CbP1VCh4ixhRvmOXO9yA0A2XQqeWYNfk1eUkRWlybRDBiE5SOOtjudxOpqC6Hv0XRqdL58/dsrEItVoppvb13l9MrZRKzOe/vtw9JP9aAkOa7ra6MbT/3YE4LlEJ5ticKWKe+rOGibg+N20Vx6Vg7J3byZG9+hIpULnZWH4Tq3LmlMA+oUfgAbbzPl3twbDuQozSElI95KSsXaBWevUxIWPQdY+4eolMlTtLwn+51SP6BWFEiioYy+r2Rza4OqKJPMbx7t0CZCtpMKxYQ5JCowbAH7J4Y3Eh3C04j1H/2a7qH3cVo01mg0KjVVR59qENmLLCnQ4LNMS3i2XshEK7QAIvi4D+egZPpMUywog3s+tqRiaGXIEMFp3rd3TuvLXVT9tpJGxjgQLGMKXmGL1MVjoN97by2NaOn0JoIbOQqeBIHTVbBYNON5DD3XP+rStPIfVbuHd+90TJpGh8BlfV0dLneK2wDMnndVGVvQLhvaQxu6sL3XsvtxmQzeFWUSHLeAlmTc9yNQKkXtOJWS9faewS8yotiXdJQ6EI1vpVOHgh46gljSllVDRx9qlH7i2QFU/dKpaQEbpAFUBI/eSUGbpgT2ORGcUGXXDWjQJQo+nCkQVnIMRUCP367os5Iw4Rb3LDvOi+/mwcBozzUa4WkjVcSIURKO3RTFCiY9j3O6C5MBS6Y0WbBooC0nOzhKxL8xMIIaM/tnyEzIdlABrz3f9XlCiQ0hh+C7/bNp14eUvnjcHWjBOSw8E7BjzeXkRQkpIuZSOriwZ8PiOLZxCkXFOQ4hbXa4Tu69lccJ9Hd0F1lxkg5QnAhhfx5WdcTkBH3SibBUMCLPb/cYypz6s4GGDMV5smYibldp//j9gbCEhqanpxLsoexOMik4SOt879z21iz+8V3wgG8CicQsmxcsqCc5QUqOZhnpO4qAFgzHF+noxN835P4xf5EsOcPvYWwtzK3WEYVGy5tuvxE5WZB246SGIDgeC4sMge0B4p70Tse4b6NjlPHW+90GmqnySqY83r0ilaew46qmwi4RzmOcPehbn4YPCoISjQ44RURV++dfU53vcKhkSj6cWuh75tdSSUNMysFwoP+lN2gGTwxOfrha9wWxDPpimhEBVrt6dcBIvdoUbCLTDQDZuUOVVhZP4sATqq8z7Ai0STnGxzKmAHG+3I+/tvrDN/OOTHwR6W5aWSRj+M5wmS5hfdvimlus2z4pE6RV+l6scSEX3XjFUVgbSuuufln4qZfmgBxNvIZmkPtMh4WHAtuqRVdgDOLksqdhjqc9jrNVpRsYL4L5fXaKhNXYNJfTorxbaoSpoqj6ZEp05xsc4y4Qryx7BRs3iYvuHRbCUsiCPmmGdUPXDn6H7woEjiz1YeriH6NPF5au5aVrtcw0DvEgLLKMuVq6QvzE1mu+x9AFhhIEE3jVvzGWs7x+IBGJ2hfG8Kb57q5sDsPmddrc0s2doavGt3j59SpKkbETAVxcSwwHbpAEsYTNPM1KhVl7EPpQp+gNotyPx7hI11xG47CrYE7+4xlCFpaDwvf9FWescjE9qNrcgCXvSeme0GAOo6QjsttWQcRguwWZb6OG1VPN2xZcfyUeEGLHhPkrziDDf4SHNaCcXXJ9CtFdyRMVueZNWqaoSKhpFI91MMLSXju3pGbSzJlM8FPf/oxZbRADvlZZCyb8fbb4mQVBZZ3GWV4hj4PCrLA1qQvEqs9XLsRnoal9WaSQhWRzLJmCurnGGRc6wxyAAejp0pAR70k0M8R+ziXphTbSz5jU2xp2cFe1EhegrqPqjFAtYWbYwsm9X969oYf76RSVpD5DfI8iDfFILBkfvnZaZtHikQ2tfNY1T0QOYafZ+dfiQjWZxqrDxXDWbc/jYZSbOzpgJ0HvC9wodOgTk5d5d9dmNrnM0LH8bvtI4zgktUZdf/DkYM10EF8yMhbFqvpMTi+TaLBUNd9aLSzSGAqu41xsKxsEYHFPhxozYZMPCafc4U5t8Ja7k34czb9pTsN2JFnwl8AmZSpI39KzBoEcD8fz0CAcio2KlaDIhPF8V0HkEbwc2c0mkpBazhOMI1d4cxnKG15nlJ+haP4D9g/H1z7jIEHS7enL9st+r19iJpqLFuJiKD2NT7LXyBzaAcFxIJ/fo4roeZSvHUyfgqUjSVcPiszEAuk4Fgqjxih+ln6TZW8b5sbDIvrB1Ul++c1B63XbFgHdVJTaRPzIXeh5f5u+QYvfa7pHyQV0ZUIv4SnfFMvTC0g0/fdaaBd9rcpxu/CBpbobKZgCIyVRDZGdPlZs8UGyu7+Hxb64E/k0YIIyG0d7ZSIcU1dOwyAQt25Ow5B4W/oUhgU+Gf+qB/Eqf+V11+GylEkiyGag2sSabnAwgaqTr549u7USX8FH6EnKLv1g9jl2zIU7C6GM3aeDn8kP+9aBM0Agrl165RV4/UHaXPnrBjs3YOHlrMK9jziNkwwt6+rC5FPPvSm2uVuOQouD4+Rk/8X2VoT+8bijB9PNpfsOsNhiSOVgntu7dzfzJItraFExs2ylPt0vanTgZJP3SIxPvZsgaDSBNmxIh0KPLS+EZkJ1Xy0gY8WVOZDbYF9v0GJta6+GUy7ek8lisYumJ1nyw90NF5n7L6H1aFMYqA/WI2COJA7pWaf9Ugf5pniETIJNyNXtonwZOLeCG380p2a2m5Fs4WDJIbVCtkJ77ah+h3HMvJJ0fzW8OXfnZDuzbWB935lP5zr2+vOc7CL44LjNt8p2deJJKd+d8n1mwKwxWxUjkxJRVlpIqwq1a+Sfeu1oNGDaOXyS/LVoiWAi4/RFFK77j8sVBWyTeqc13DCYWKdEbHTgEcIdtBewm3fvU99V8J4gYLJijdis2O/D+3FBz8kG/SwAXwjzKgO1TmXuA3syLPxxfnEUxttkUPpzQJgAzcN6o79tpHr3QWX3TVy4USKZJPX/G7/sFv7TB2RKaM9LvG8518UTl/oNK6/mqMpSOqsv0xRVzNjumgamqz/e3LG3e1lkrW5SquqlrDJIrN90AProjO2hsva2vAv1ZNPbHVfvH6K8KnMmDbXcZImS+YAXafdXLVILS/Q0MSKuRaLPQABT6AsH1SpBlkiSLXyhT/gT5IbfD6Z1Jx0n7l33o2uGW4lgd8BRn8WUeEHBHEn2SCXVQwlREQtvN7iSC2y8qSngF4ytc3vgOucrGccauebyUn9sdKmkhMom+XHRGLg4yr7NW/ZAq8UDCTjimw0unj204NYoihtZTNdXwgmCpqzA6Y4a3S/braI7FEXELgpjVSnB+dqkyFq3Tny2G8lAz1OtN0TZdE3wgbqL8XtsE5Ut1NayTqmPNmEhJVC0f6ZfMop0HP5VawTxA+lq1XoeRAoIGH0ojuV+9O13sh2V2zoxj5jVyNGuZDtqZVlEeSIRI05PVi7nZfKw+EuT5YTkdX/qnx/AmQXABJR8mEbt5A8Oab2RqMdG+P0zvDI0gODnGDSO2w4ZOrD1zi5LnYaIljibbOMhpDWcwsd6Ry5eUmiLQ24OpaErO6a3/sYLybm9xOJLqfn7DNg/5SKBxEfKNyyUYP4KtkSMQI5Xo7dHcIhqH4l3CRK/gB7WtFU6bj0mReNJIitL8grYbUyZpqDuMDT5s5WQsWjOEmRSbMiH7HIkEIPvRu0WxMnRCJKjGFWdlKGqK96T7jlsEHCjsPjk/9VEQ4W5qB2tRAFGJ5YGgbmyYxqxGxduvkNdd3IZKcIbvtEtH4X7aHeyV4Dcn4wkEzUNRRhISM51Av5I1mwi2lj3DP8d6K9iFzNVDCSb+eb9pBu+SEqYrvFC8WKSi8OcZDj50KV871120hgz6n6OZy1KOh8OzKNuCKFt9mVlUfJKzD9gcuL53q+oTHGGIKFz4+4/zLC13N3l3y4Fn9dzM02uGyBGoJXmF3jrwW9OguOsh1FVykE1suM6kC/e005VRngkgcn29tixbfGSx7k8JzTId+5wTXE1HgKXCtGlwA7L6FxS+RUGGP2az1Em91D7THACjjqlVdoDOltQ7Yb4S8n4kG/m/CvtFfQB0e/e/JMgICLGKds6v5THENB7WYOdJ0P5s3GQzdbeXjUAG5Y2WCUBs5LZ6xDZzv1L7jfUHqBbmnHW7U4g+UTYB/tW7B0Ya0JAbpzWFSoVQH6CbY6q9fM8ccelwWdxeWdjZm+TcmBAHpje+emw8T5mUgl7Omvks7D2xk04/HjynzVyBN2dI3dBgxTkB1keL9tMN0WgyjY0ddKI8pigHP9lOa8hb7F2bZIa/FqS6JJPPHnlyPbVl+weIG7j4ocmWH/OkvaT4qtcbnafk2ocwOkjSqUob66ehit1UDMwKXreD2R92MZugTHNe/PWAZesANg9eBbm2p+4kqK52j8MW3AhqaffDN+kK195DUM4FLVYm8BQhOF+OWoM5tTD8LImCNRenutbU6qRxpaMDXCBU37/K3Y7eobcg/IaZaBuw44FteI67Hdgufk5VqCDjlK7jDBUtVq07hpPI9ymWW/m3nNLQlusNGDSBNYXOUBDRWNnHira/1eo9GEwVgpXn2tG1PUUxT15p/fbfGXCvpsj0QlzwErC0ge/Oqlsh7E0QhpqDAcvlBJOiXDD/bv01SkM269rmghWHJPUbmpq4trj7H6cCMXMIwWgOLaTXR0w3tamzJpReC8FXDNwkxSCbmg/ag17JdPyptz7mR3k6KvXor6tFCfEv85TW7CDWLEap1AC12Ym+LK9/CxdKPnXz9Qz4xNXGn3sG1wAfthifQfjDyiCnLo2uhuMzI9yKxH4PUTt52mReMLmnHFrrLpDYcPC+cU7ge55guYhGv/ANB92YzoXrI+Hs6gdXnnfE8GGhfydGwvKBKCtpDecGnu41Mz28j9/LTVtSV9WZEoxANMgPGo4BDbY2p69ixYGQWATdyg9TRDAK7f/Lrlubat60yuVZ9wcwqZ7NBP71mX6NEgdvfK1EgMnkZzsDQl/wWDHdAoOYCo4pKwY5I/V26cKTO4aMYcV/YDdgglOtas2KtIXBJAcgotsV4YfF+CDN4T5WdX808VdXh3/UXLrAdcMDF3QIXj1HyUHIOkXBH7DXICbJt9eNiowRXiuB0d1J/FqjPFe2IlNdXnwFwpRusB5PLSv0Lk/AdI1gQmao8wwLmnoh/L9riMbMMsWAOI+5B71d+lGTKlxx4hQn4ixRfedyZUUsRcpGrgAS1XqCKzggl0/LFuyQpe9BsgvZGkEHQ4ELkl6bcLtiHZ+7uFxmRjnV7v8PP1Whug1igIT3OTMnmb/dGJPuGKY5fRdvWoatxfNU3ABi+fY7eHiPqC0gQDpAC19twVfWBtBur+ST+y7fzmSE5Q0C3mcp8/31XIdqm7sEZJHtFnXBgaTyG+fWRGAY70K10IBvKH2TE6IMzm1k92/Cn2payTupKTtojgP3uaWIgFVgV0lD0WGR0PanqiKtrBFwqznvb/rz2PgpSjWd2BESLQpxY+6tmKXZnjvY9xfR12CQ8o/aKz1t+XxCSzy0uE5f/kaFUCrwxjL8gT7SEUJshp//5/yvPFJHgJlgsvXp+gRQCSzz+vS6rl3BhMsbj/HzwJYz8GsWppOQDGVswlOHEaFE/qhImhDrt2DUfNxtt21GW7KwJRn9/mtYIjlnnwgESPEpwoLyTru3SsVGzRxnZG6x+BiseUs57lTdb3H8KG7UPeH1SSjy9wZHELnar9x5cOtOR7lOvyjWm4Ab18Q+qoMxxLCFit0V8SmOu7AU8XGY3eSXb6Ly+kaQmDkRlOstgmcj+rD34KNz7LTvLL0O1Z9J/nCjp+1flOFgtbd7Yg0t5eNrPuppxYxJfSpnJRNL4S3YTffnV+x+zVsuioseET/On2wNi/TnL2rAQIKswi7Er3Sv48D/+PLsa2WJOSk6DqcCLmusILDiz0FwKEhMewrxtNyM2IAE0/6hiopIQoUgC6U8CLirhWbfVibSnCGZlF5uywIcaUlcEaYP/evokbi1NSquO62XNnWR4+fB3M1N7LaI5pwdHYOKEjg9OaSiTtEDypKGOVxZhdQS0jEvZ46foNS4SBpwZfPn60p6pQldNUmimhWeU5LUnEpZYjPJU6hmAsh4AKaLFfJANrZ9ou428yoEIFuiY9UgOYkqtSUocWxyijxK+NTtuDdbh7NJcyLIl6CUBWQjZiL34Bk0Qe3vmT9tpIKus3r5CvEdEu5Va2Wxm8CQJT9bESzuFBeH0QIRybKFAUVqNa9tCXukd1jwLXYKWsuMuFda8R1UjVG2cvAZ+R3lBV+nLksL4Ti6lubX3hKFcSyFsG5rK9pJt5nlSGIkBLP/HFqLL/KX0S96NdOo4CS+GYPBk+lBZxz6Yie12vvUj8l4t1ik/5PmvbLOTPCcaoPeZ7APUQIKIcxcNUDin3R1okbeAUGwt7Ja3G0ntQokBhlajisyXeqbfPLrTTKpTauclKp+DGdyBsbzFHEYtIqZnlLe5wjluF/UID6EgwWPGj0FVKM59Jom3+0Y1QTb+IKqHZv/0FIEEuVItlJHSixdza2w0UN80Hyc/eUGv6SBybC/EEs9cOcLBR1eeQXXe7p7hfIhtxxBrGhk9n7jom/4LXF125WzPmMCUiNyE8iO7sVSmRf/iSNFBveZWGPeCirfJ8a43fk5jCfA3NPEJyMAamu3Q5im0DKo8aonWXtye9iE8vraixlVTAGSXFMjP3+XiOE9jrnXTDzARnt7+9gvHctQpaAI0za6N7bq9R1lb55jILwmx4Ih4OA0K1/Xx7B9jytPFBRhEO8xqXLhxotsIRjnGRvnkMK/KJ1YhE9T2mNmclLYgMSn+7dzik8BzoHt+EcXstV8yNpTspqsnS96ATq3A66NbF449w9JqViBt4gWi7yVzt3kR4XSJ8iEB5anMqG+EsSyrMQVv0sMeEysGx+yYs6G2xPJw3zqTq4RzDQXPhYra/VMlt7E8zzl4D7L3HS3kkWf4ZkmFmnjcENPQdkmohl6p/gqkOg+8McyzNxxb5Fl19DsSr3MTuSMqhSKDn95ibzYCEdrZXJiKaqu7BFBuju+jSObOPchog2IsE/u/3U/UK2mntvSnD0qNkPYoRTskBnLJ3NJamL0V4sEbryX8NMr7MKMJ0+h2+xMKY4KERpvUrd0c6ABXWHqLdY1QTugC/5dhdoLy3+KwgG5FnL0MZw6qvOvHkKQRoQrcKLuwUld15s05QxurH67A9eAr02a/vUWNBIgP6vOa69ZZuZKElWttIerRDGIAkZ54fw7HBctSZtfspPxaliwbOEH/Laxot3ZQonzvXknSVodzZHA1Jw7BcNRsYvl+KJ0Y6pMRPpIbaN/QSuHtnjUoej+vlVhq5021xMUPKxCK/D8rSRbOmduHG85/JrIimgo5wXWP83lLvRaxwCxeTGVt44fTUqsfUARmQcS3f5DbHR9SZ4nJYIEvcCjIqLezJ3I6S7xBop57j3ZyMQX0Xxr5mc6IUmrlOXM9fJG5iDZQQ9rWsGZ0Y26GzTAEsD6pjPuDa1XAT1MRpxyZ8zN53sl1YEV0E0EHvZqcnBnqMTXRh6zC9PwDXEk3OHs2zLLIjBhY5+7lDxp1X0qcm8XtWorat33mUx+kEDDgaDUdpclQq/ZM6mMYoF433nKbCKDxCozugSPVaRjNPosMDy8FujvIJSb763XuBGBIYLS9x+HZhYiUa9xod0xKV9aRt7yczWWlLgfK8qn4fULHMBSP48m/wTWfDBdTH8uDAKt5WM033+2bCpxDhmZtE+d7XP65yBTOf9/EWaCG+Gs9/5kVbWS0JlfoDH6Si2tVCzCRGfV0XZAUWfXOMJ5F9dkMagbwaeqVqqbVONDQGg8zID5MUV7IkazdAz4JLOXsn1RuZnoZNIGV2Na15+dRKYUAmXFmkWBJpPMBwT8N4bd8VZwBnhm3WzH9S0sbpoP0sgf2OmPvQ6smMyfkVK+OLjXYubmtioAhdwDb5/pLRg3PGwfHEz6v9OOe4AK8iw2cma49tV44In8Rc9jGcqSQlFXPdlC8366ke4U/ITFy0/SQBl1vWvGk40KycwWGaLf8cCtEi/4X2W8961i6lYnpfNQhGcQyC8s2oIOW+Pw545Thq3ZBEyNC8YDr/pzCEmBI8U3A4IiQJoHiD9kUMNd8wfzysC2Kqc4OGeWYsJxmDev4Jn4HV+vqpgN6xxSEMABhRMdTteHiJAgnQEX9BR2V1sNqh5EcMvQNYYa5+bblQn7Rli1UFCtQkP6ECmGkxmPNkg2CGS2mmf0/WEuTZSyPMtbbrnftPgleOmJ3jSm0m1EU9fQHQo1NZti+KczpJ8mSYIVtXzXh4rNJcL3Fm7Bbftpjmj5UnuDpPk8HvqKOj2DGJyk4R0Md1x7umiH0DTOXaLwO0EI94k7n6R8nfqiwekgUQZ1rRek0HViM5YN0JLWp4f4NRE8ErcGNSHZd58+9Kx8lmkc9ogfQmX0rX1kB8QQzNbH+eVDee0jOQNUgQcew3y+0QbifXrtLHXDIxsqsej41Kz7vfcQRE1zUnY2phYNILK8a657zyHNMzPiRhxs28s1JX2kiCMEloubOXnc8BzU+n7LM9wztf63eFWN/eWHXVivSdCWg5DfWsk2CF8aFJrOP277QEPdkWlOlewCVEkLjyd5wUn9ZzaKOJKnDQDLfliiRLTKlU8TOeQj8jOU8FfpM9tayJTDpxw6sVlZuJRAILfxn+QAGIB/W1FGDjuuVu62hFDBdvzVSfge95Ebf9pclp0GrpV3S+gwBWn5J7aGiim/fRyIN7YVVXJsnAnVeq90vDdAV0XearTqjT2Ck/AMkBW6T/ls/6VUVnFWs01wxkahKR0tRwyLRKgHefm3RWie/pTVQpUMZw+/7ozQSW+7vuZd8lsvT1iX5rwlpiaFnOnDbHsr1As6vLETd5HVbcBCGbJHcS7ax9Byd50jdYyagUtjAaHYX8ryyuR/bDkw1o4j8+hXMfbzy+CVmgrfRDyl4dn+5LxrqRAXLoDKpQREAHqdLSsVSJh1s8KnZ/SsUVq27cq+O6LMSBmhT4X3E750rmWwCsoCre6bT//oFWYALjp2SbcxnULBaTvnYDHtfEbO1m/3c9nJk8ZO5KHQTV88ivTWN/S2EXwmisTPdcupMrvI8e48QZdkZu9WHyKron7MKhGFJw6Z0KZ3tleVrvvJo89siUwByPY+Hs4gkKPBQbLQOaedcv/xeM+Ih8rl1eHEC/C65xWVciToVqSGp9HfbhVzFSrO6kBnv7mJwnRLvMEwqiNankVdJJMw4icU3lKyw/ecNSWIUddqlbThYMiq8nHjRRufs+28cq0OI9zhpvxFvFgSZE/eAYvm0x+9lZO+EH9NkBngaqU1NMYhdombNuy3awUN9p0mJQ//e9L65YbShgoc+ZUlNy+c6F6gDEHXV0JrzevPIZFAe2RyRa2dNqzLvihAAMCszYueqszzXRkSyobx5+LTLK2V3lfg3wbS9DzP3QW7VHdHbjZcttQRvtjrGveJnNn2DE2ZDIbvkCrT0H8RzbGDdmIq4P1ey+hoY/W6NuZKOz4dv4HUNznxdKV1Wf3MvqUv35r2jTKvpPWBUWNm5fytX/QJwp6qkIOsSx7Y67BSCbCDVLM8/VcMG+T0j+INrgL9sfT1ICtACH8BI0G6ViUZPVzzCmQHW2oVIwZjAoFl6+meO/pD8teO1E+1y03mCpYfW9S8qhtH2GhlFlebPf4NbezVv9xbXKWz0xezRNQWqUqtYRTUbuzK7KTvjG4rQHfzBpVmK4wDLnSIwdSzTSk1fPNeY0WOpPZTLlvQ59xwgfFrb326vT2hS1JAZ9E6sujFtKTiJ7bxI6o4cBhDaX+adXREThhR+MwA4TqD7rga/o9iY7d6TVRe14CS2S3iSQsD0R6ApnhG/2Wa0A0AY2NtWTjmabdKU+KgIRDP9RQYVjXiF1qC+xyNVG03I9vpmEpY/G/zC4nLOKgXAZ/uTikHI9Afbkhfgfgo9arWbix5eH7WUo9RQygDzwCnVSjbXc7MihEufVj6WGbK963pw8VjY3RS8IH1cy2yZbIcKLO5CgAUcXJfF2+McnDLKtXxyZaf7SPA6KJq+zF2NHyfoeTOwHhGqNcnHVr1hT73pcoyXyfvCYBnG1Bp/aR9t8hoI7CXM3UZOisWGA1SHZ2jf7k9GlRnp3mF/c1AV+JjvUsnZrsybEOQJg/dn/9eJkyykQHjbF56zgcPX6DdMG03WKUMlYz+uOZ+5DZy9E9MZOZ9GMoLFdrIPPQQLjv+GlCMpoyHPXkzIODjHAID2PrnaRpqWVHh0rnieDILKq+Emrd5RnjgE9pDUXWTmHaKuqqYlcgEz4zbi46dbWrAAFBjsQq1rLHIiPJEcwFLCOY4JNlXRXQJqCUKXk2d1RSBGzDP6HDSpo863BhVRFFF6uIpjQV7j5ebFe3UkkO/+coIo2BTAcgBqOtQ134s9a4QJvofuqBYMGOBMsWZ+sn/2AOxDx6SfAnDFGw==";Uint8Array.from(atob(h),(e=>e.charCodeAt(0)));const d=Uint8Array.from(atob(h),(e=>e.charCodeAt(0)));function f(e,t,n){if(t.getQueryParameter(e,t.QUERY_RESULT_AVAILABLE)){const s=t.getQueryParameter(e,t.QUERY_RESULT)/1e6;n.lastTime=s}else setTimeout((()=>{f(e,t,n)}),1)}class I extends i.w{constructor(e,t,n=512,i=512){super(),this.width=n,this.height=i,this.clear=!0,this.camera=t,this.scene=e,this.configuration=new Proxy({aoSamples:16,aoRadius:5,denoiseSamples:8,denoiseRadius:12,distanceFalloff:1,intensity:5,denoiseIterations:2,renderMode:0,color:new s.Ilk(0,0,0),gammaCorrection:!0,logarithmicDepthBuffer:!1,screenSpaceRadius:!1,halfRes:!1,depthAwareUpsampling:!0,autoRenderBeauty:!0,colorMultiply:!0},{set:(e,t,n)=>{const s=e[t];return e[t]=n,"aoSamples"===t&&s!==n&&this.configureAOPass(this.configuration.logarithmicDepthBuffer),"denoiseSamples"===t&&s!==n&&this.configureDenoisePass(this.configuration.logarithmicDepthBuffer),"halfRes"===t&&s!==n&&(this.configureAOPass(this.configuration.logarithmicDepthBuffer),this.configureHalfResTargets(),this.configureEffectCompositer(this.configuration.logarithmicDepthBuffer),this.setSize(this.width,this.height)),"depthAwareUpsampling"===t&&s!==n&&this.configureEffectCompositer(this.configuration.logarithmicDepthBuffer),!0}}),this.samples=[],this.samplesR=[],this.samplesDenoise=[],this.configureEffectCompositer(this.configuration.logarithmicDepthBuffer),this.configureSampleDependentPasses(),this.configureHalfResTargets(),this.beautyRenderTarget=new s.dd2(this.width,this.height,{minFilter:s.wem,magFilter:s.TyD}),this.beautyRenderTarget.depthTexture=new s.$YQ(this.width,this.height,s.JQ4),this.beautyRenderTarget.depthTexture.format=s.qkB,this.writeTargetInternal=new s.dd2(this.width,this.height,{minFilter:s.wem,magFilter:s.wem,depthBuffer:!1}),this.readTargetInternal=new s.dd2(this.width,this.height,{minFilter:s.wem,magFilter:s.wem,depthBuffer:!1}),this.bluenoise=new s.IEO(d,128,128),this.bluenoise.colorSpace=s.aCh,this.bluenoise.wrapS=s.rpg,this.bluenoise.wrapT=s.rpg,this.bluenoise.minFilter=s.TyD,this.bluenoise.magFilter=s.TyD,this.bluenoise.needsUpdate=!0,this.lastTime=0,this._r=new s.FM8,this._c=new s.Ilk}configureHalfResTargets(){this.configuration.halfRes?(this.depthDownsampleTarget=new s.kFz(this.width/2,this.height/2,2),this.depthDownsampleTarget.texture[0].format=s.hEm,this.depthDownsampleTarget.texture[0].type=s.VzW,this.depthDownsampleTarget.texture[0].minFilter=s.TyD,this.depthDownsampleTarget.texture[0].magFilter=s.TyD,this.depthDownsampleTarget.texture[0].depthBuffer=!1,this.depthDownsampleTarget.texture[1].format=s.wk1,this.depthDownsampleTarget.texture[1].type=s.cLu,this.depthDownsampleTarget.texture[1].minFilter=s.TyD,this.depthDownsampleTarget.texture[1].magFilter=s.TyD,this.depthDownsampleTarget.texture[1].depthBuffer=!1,this.depthDownsampleQuad=new r(new s.jyz(p))):(this.depthDownsampleTarget&&(this.depthDownsampleTarget.dispose(),this.depthDownsampleTarget=null),this.depthDownsampleQuad&&(this.depthDownsampleQuad.dispose(),this.depthDownsampleQuad=null))}configureSampleDependentPasses(){this.configureAOPass(this.configuration.logarithmicDepthBuffer),this.configureDenoisePass(this.configuration.logarithmicDepthBuffer)}configureAOPass(e=!1){this.samples=this.generateHemisphereSamples(this.configuration.aoSamples),this.samplesR=this.generateHemisphereSamplesR(this.configuration.aoSamples);const t={...o};t.fragmentShader=t.fragmentShader.replace("16",this.configuration.aoSamples).replace("16.0",this.configuration.aoSamples+".0"),e&&(t.fragmentShader="#define LOGDEPTH\n"+t.fragmentShader),this.configuration.halfRes&&(t.fragmentShader="#define HALFRES\n"+t.fragmentShader),this.effectShaderQuad?(this.effectShaderQuad.material.dispose(),this.effectShaderQuad.material=new s.jyz(t)):this.effectShaderQuad=new r(new s.jyz(t))}configureDenoisePass(e=!1){this.samplesDenoise=this.generateDenoiseSamples(this.configuration.denoiseSamples,11);const t={...u};t.fragmentShader=t.fragmentShader.replace("16",this.configuration.denoiseSamples),e&&(t.fragmentShader="#define LOGDEPTH\n"+t.fragmentShader),this.poissonBlurQuad?(this.poissonBlurQuad.material.dispose(),this.poissonBlurQuad.material=new s.jyz(t)):this.poissonBlurQuad=new r(new s.jyz(t))}configureEffectCompositer(e=!1){const t={...c};e&&(t.fragmentShader="#define LOGDEPTH\n"+t.fragmentShader),this.configuration.halfRes&&this.configuration.depthAwareUpsampling&&(t.fragmentShader="#define HALFRES\n"+t.fragmentShader),this.effectCompositerQuad?(this.effectCompositerQuad.material.dispose(),this.effectCompositerQuad.material=new s.jyz(t)):this.effectCompositerQuad=new r(new s.jyz(t))}generateHemisphereSamples(e){const t=[];for(let n=0;n{"use strict";n.d(t,{$V:()=>i,B_:()=>h,EM:()=>u,L4:()=>r,Q_:()=>o,VQ:()=>p,dv:()=>s,ms:()=>a,wG:()=>c,xJ:()=>l});const s=0,i=1,a=2,l=2,r=1.25,o=1,c=32,u=65535,p=Math.pow(2,-24),h=Symbol("SKIP_GENERATION")},6156:(e,t,n)=>{"use strict";n.d(t,{r:()=>O});var s=n(9477),i=n(5760),a=n(5107),l=n(9401),r=n(8317),o=n(9072),c=n(6148),u=n(7735),p=n(575),h=n(1173),d=n(664),f=n(9472),I=n(1787),m=n(7808),y=n(5727),v=n(7569),w=n(8217),T=n(5544),E=n(6657),g=n(135),R=n(6133),D=n(3503),S=n(9772);const b=new l.o,N=new s.ZzF;class O{static serialize(e,t={}){t={cloneBuffers:!0,...t};const n=e.geometry,s=e._roots,i=e._indirectBuffer,a=n.getIndex();let l;return l=t.cloneBuffers?{roots:s.map((e=>e.slice())),index:a.array.slice(),indirectBuffer:i?i.slice():null}:{roots:s,index:a.array,indirectBuffer:i},l}static deserialize(e,t,n={}){n={setIndex:!0,indirect:Boolean(e.indirectBuffer),...n};const{index:a,roots:l,indirectBuffer:r}=e,o=new O(t,{...n,[i.B_]:!0});if(o._roots=l,o._indirectBuffer=r||null,n.setIndex){const n=t.getIndex();if(null===n){const n=new s.TlE(e.index,1,!1);t.setIndex(n)}else n.array!==a&&(n.array.set(a),n.needsUpdate=!0)}return o}get indirect(){return!!this._indirectBuffer}constructor(e,t={}){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((t=Object.assign({strategy:i.dv,maxDepth:40,maxLeafTris:10,verbose:!0,useSharedArrayBuffer:!1,setBoundingBox:!0,onProgress:null,indirect:!1,[i.B_]:!1},t)).useSharedArrayBuffer&&!(0,S.Y)())throw new Error("MeshBVH: SharedArrayBuffer is not available.");this.geometry=e,this._roots=null,this._indirectBuffer=null,t[i.B_]||((0,a.v)(this,t),!e.boundingBox&&t.setBoundingBox&&(e.boundingBox=this.getBoundingBox(new s.ZzF)));const{_indirectBuffer:n}=this;this.resolveTriangleIndex=t.indirect?e=>n[e]:e=>e}refit(e=null){return(this.indirect?w.o:h.C)(this,e)}traverse(e,t=0){const n=this._roots[t],s=new Uint32Array(n),a=new Uint16Array(n);!function t(l,r=0){const o=2*l,c=a[o+15]===i.EM;if(c){const t=s[l+6],i=a[o+14];e(r,c,new Float32Array(n,4*l,6),t,i)}else{const a=l+i.wG/4,o=s[l+6],u=s[l+7];e(r,c,new Float32Array(n,4*l,6),u)||(t(a,r+1),t(o,r+1))}}(0)}raycast(e,t=s.Wl3){const n=this._roots,i=this.geometry,a=[],l=t.isMaterial,r=Array.isArray(t),o=i.groups,c=l?t.side:t,u=this.indirect?T.X:d.s;for(let s=0,i=n.length;s!!e(s,i,a,r,o)||n(s,i,this,l,a,r,t)}else a||(a=l?(e,s,i,a)=>n(e,s,this,l,i,a,t):(e,t,n)=>n);let r=!1,u=0;const h=this._roots;for(let e=0,t=h.length;eb.intersectsBox(e),intersectsTriangle:e=>b.intersectsTriangle(e)})}intersectsSphere(e){return this.shapecast({intersectsBounds:t=>e.intersectsBox(t),intersectsTriangle:t=>t.intersectsSphere(e)})}closestPointToGeometry(e,t,n={},s={},i=0,a=1/0){return(this.indirect?R.r:m.Z)(this,e,t,n,s,i,a)}closestPointToPoint(e,t={},n=0,s=1/0){return(0,u.b)(this,e,t,n,s)}getBoundingBox(e){return e.makeEmpty(),this._roots.forEach((t=>{(0,r.YN)(0,new Float32Array(t),N),e.union(N)})),e}}},6898:(e,t,n)=>{"use strict";n.d(t,{i:()=>s});class s{constructor(){}}},5107:(e,t,n)=>{"use strict";n.d(t,{v:()=>u});var s=n(8137),i=n(3670),a=n(7791),l=n(6898),r=n(5760),o=n(6653),c=n(9728);function u(e,t){const n=e.geometry;t.indirect&&(e._indirectBuffer=function(e,t){const n=(e.index?e.index.count:e.attributes.position.count)/3,s=n>65536,i=s?4:2,a=t?new SharedArrayBuffer(n*i):new ArrayBuffer(n*i),l=s?new Uint32Array(a):new Uint16Array(a);for(let e=0,t=l.length;e=u&&(y=!0,p&&(console.warn(`MeshBVH: Max depth of ${u} reached when generating BVH. Consider increasing maxDepth.`),console.warn(n))),s<=h||c>=u)return D(t+s),e.offset=t,e.count=s,e;const f=(0,a.X)(e.boundingData,o,T,t,s,d);if(-1===f.axis)return D(t+s),e.offset=t,e.count=s,e;const I=E(m,r,T,t,s,f);if(I===t||I===t+s)D(t+s),e.offset=t,e.count=s;else{e.splitAxis=f.axis;const n=new l.i,a=t,r=I-t;e.left=n,n.boundingData=new Float32Array(6),(0,i.zX)(T,a,r,n.boundingData,w),S(n,a,r,w,c+1);const o=new l.i,u=I,p=s-r;e.right=o,o.boundingData=new Float32Array(6),(0,i.zX)(T,u,p,o.boundingData,w),S(o,u,p,w,c+1)}return e}}(e,t);let p,h,d;const f=[],I=t.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;for(let e=0;eMath.pow(2,32))throw new Error("MeshBVH: Cannot store child pointer greater than 32 bits.");return h[n+6]=l/4,l=y(l,i),h[n+7]=a,l}}}},3670:(e,t,n)=>{"use strict";n.d(t,{LR:()=>o,cu:()=>r,zX:()=>l});var s=n(5760),i=n(8317),a=n(8137);function l(e,t,n,s,i=null){let a=1/0,l=1/0,r=1/0,o=-1/0,c=-1/0,u=-1/0,p=1/0,h=1/0,d=1/0,f=-1/0,I=-1/0,m=-1/0;const y=null!==i;for(let s=6*t,i=6*(t+n);so&&(o=v),y&&tf&&(f=t);const w=e[s+2],T=e[s+3],E=w-T,g=w+T;Ec&&(c=g),y&&wI&&(I=w);const R=e[s+4],D=e[s+5],S=R-D,b=R+D;Su&&(u=b),y&&Rm&&(m=R)}s[0]=a,s[1]=l,s[2]=r,s[3]=o,s[4]=c,s[5]=u,y&&(i[0]=p,i[1]=h,i[2]=d,i[3]=f,i[4]=I,i[5]=m)}function r(e,t,n,s){let i=1/0,a=1/0,l=1/0,r=-1/0,o=-1/0,c=-1/0;for(let s=6*t,u=6*(t+n);sr&&(r=t);const n=e[s+2];no&&(o=n);const u=e[s+4];uc&&(c=u)}s[0]=i,s[1]=a,s[2]=l,s[3]=r,s[4]=o,s[5]=c}function o(e,t){(0,i.ay)(t);const n=e.attributes.position,l=e.index?e.index.array:null,r=(0,a.YU)(e),o=new Float32Array(6*r),c=n.normalized,u=n.array,p=n.offset||0;let h=3;n.isInterleavedBufferAttribute&&(h=n.data.stride);const d=["getX","getY","getZ"];for(let e=0;em&&(m=l),p>m&&(m=p);const y=(m-h)/2,v=2*e;o[a+v+0]=h+y,o[a+v+1]=y+(Math.abs(h)+y)*s.VQ,ht[e+3]&&(t[e+3]=m)}}return o}},8137:(e,t,n)=>{"use strict";n.d(t,{BB:()=>a,JM:()=>r,Kz:()=>l,YU:()=>i,t3:()=>o});var s=n(9477);function i(e){return function(e){return e.index?e.index.count:e.attributes.position.count}(e)/3}function a(e,t){if(!e.index){const n=e.attributes.position.count,i=function(e,t=ArrayBuffer){return e>65535?new Uint32Array(new t(4*e)):new Uint16Array(new t(2*e))}(n,t.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer);e.setIndex(new s.TlE(i,1));for(let e=0;ee-t));for(let e=0;ee.offset-t.offset)),s=n[n.length-1];s.count=Math.min(t-s.offset,s.count);let a=0;return n.forEach((({count:e})=>a+=e)),t!==a}},6653:(e,t,n)=>{"use strict";function s(e,t,n,s,i,a){let l=s,r=s+i-1;const o=a.pos,c=2*a.axis;for(;;){for(;l<=r&&n[6*l+c]=o;)r--;if(!(ls})},9728:(e,t,n)=>{"use strict";function s(e,t,n,s,i,a){let l=s,r=s+i-1;const o=a.pos,c=2*a.axis;for(;;){for(;l<=r&&n[6*l+c]=o;)r--;if(!(ls})},7791:(e,t,n)=>{"use strict";n.d(t,{X:()=>c});var s=n(8317),i=n(5760);const a=32,l=(e,t)=>e.candidate-t.candidate,r=new Array(a).fill().map((()=>({count:0,bounds:new Float32Array(6),rightCacheBounds:new Float32Array(6),leftCacheBounds:new Float32Array(6),candidate:0}))),o=new Float32Array(6);function c(e,t,n,c,u,p){let h=-1,d=0;if(p===i.dv)h=(0,s._x)(t),-1!==h&&(d=(t[h]+t[h+3])/2);else if(p===i.$V)h=(0,s._x)(e),-1!==h&&(d=function(e,t,n,s){let i=0;for(let a=t,l=t+n;a=l.candidate?(0,s.xT)(i,n,l.rightCacheBounds):((0,s.xT)(i,n,l.leftCacheBounds),l.count++)}}for(let n=0;n=a&&(i=a-1);const l=r[i];l.count++,(0,s.xT)(t,n,l.bounds)}const t=r[a-1];(0,s.js)(t.bounds,t.rightCacheBounds);for(let e=a-2;e>=0;e--){const t=r[e],n=r[e+1];(0,s.Lm)(t.bounds,n.rightCacheBounds,t.rightCacheBounds)}let l=0;for(let t=0;t{"use strict";n.d(t,{p:()=>c});var s=n(9477),i=n(5784),a=n(9072);const l=new s.yGw,r=new s.ZzF,o=new s.ZzF;function c(e,t,n,s){let{intersectsRanges:c,intersectsTriangles:u}=s;const p=e.geometry.index,h=e.geometry.attributes.position,d=t.geometry.index,f=t.geometry.attributes.position;l.copy(n).invert();const I=a.g.getPrimitive(),m=a.g.getPrimitive();if(u){const e=(e,t,s,a,l,r,o,c)=>{for(let y=s,v=s+a;yo.intersectsBox(e),intersectsRange:(e,n,s,i,a,o)=>(r.copy(o),r.applyMatrix4(l),t.shapecast({intersectsBounds:e=>r.intersectsBox(e),intersectsRange:(t,s,l,r,o)=>c(e,n,t,s,i,a,r,o)}))});return a.g.releasePrimitive(I),a.g.releasePrimitive(m),y}},3503:(e,t,n)=>{"use strict";n.d(t,{h:()=>c});var s=n(9477),i=n(5784),a=n(9072);const l=new s.yGw,r=new s.ZzF,o=new s.ZzF;function c(e,t,n,s){let{intersectsRanges:c,intersectsTriangles:u}=s;const p=e.geometry.index,h=e.geometry.attributes.position,d=t.geometry.index,f=t.geometry.attributes.position;l.copy(n).invert();const I=a.g.getPrimitive(),m=a.g.getPrimitive();if(u){const s=(s,a,l,r,o,c,y,v)=>{for(let w=l,T=l+r;wo.intersectsBox(e),intersectsRange:(e,n,s,i,a,o)=>(r.copy(o),r.applyMatrix4(l),t.shapecast({intersectsBounds:e=>r.intersectsBox(e),intersectsRange:(t,s,l,r,o)=>c(e,n,t,s,i,a,r,o)}))});return a.g.releasePrimitive(I),a.g.releasePrimitive(m),y}},7808:(e,t,n)=>{"use strict";n.d(t,{Z:()=>I});var s=n(9477),i=n(9401),a=n(5784),l=n(8137),r=n(9072);const o=new s.yGw,c=new i.o,u=new i.o,p=new s.Pa4,h=new s.Pa4,d=new s.Pa4,f=new s.Pa4;function I(e,t,n,s={},i={},I=0,m=1/0){t.boundingBox||t.computeBoundingBox(),c.set(t.boundingBox.min,t.boundingBox.max,n),c.needsUpdate=!0;const y=e.geometry,v=y.attributes.position,w=y.index,T=t.attributes.position,E=t.index,g=r.g.getPrimitive(),R=r.g.getPrimitive();let D=p,S=h,b=null,N=null;i&&(b=d,N=f);let O=1/0,A=null,x=null;return o.copy(n).invert(),u.matrix.copy(o),e.shapecast({boundsTraverseOrder:e=>c.distanceToBox(e),intersectsBounds:(e,t,n)=>n{if(t.boundsTree)return t.boundsTree.shapecast({boundsTraverseOrder:e=>u.distanceToBox(e),intersectsBounds:(e,t,n)=>n{for(let l=t,r=t+i;l{"use strict";n.d(t,{r:()=>I});var s=n(9477),i=n(9401),a=n(5784),l=n(8137),r=n(9072);const o=new s.yGw,c=new i.o,u=new i.o,p=new s.Pa4,h=new s.Pa4,d=new s.Pa4,f=new s.Pa4;function I(e,t,n,s={},i={},I=0,m=1/0){t.boundingBox||t.computeBoundingBox(),c.set(t.boundingBox.min,t.boundingBox.max,n),c.needsUpdate=!0;const y=e.geometry,v=y.attributes.position,w=y.index,T=t.attributes.position,E=t.index,g=r.g.getPrimitive(),R=r.g.getPrimitive();let D=p,S=h,b=null,N=null;i&&(b=d,N=f);let O=1/0,A=null,x=null;return o.copy(n).invert(),u.matrix.copy(o),e.shapecast({boundsTraverseOrder:e=>c.distanceToBox(e),intersectsBounds:(e,t,n)=>n{if(t.boundsTree){const l=t.boundsTree;return l.shapecast({boundsTraverseOrder:e=>u.distanceToBox(e),intersectsBounds:(e,t,n)=>n{for(let o=t,c=t+r;o{"use strict";n.d(t,{b:()=>l});var s=n(9477);const i=new s.Pa4,a=new s.Pa4;function l(e,t,n={},s=0,l=1/0){const r=s*s,o=l*l;let c=1/0,u=null;if(e.shapecast({boundsTraverseOrder:e=>(i.copy(t).clamp(e.min,e.max),i.distanceToSquared(t)),intersectsBounds:(e,t,n)=>n{e.closestPointToPoint(t,i);const s=t.distanceToSquared(i);return s{"use strict";n.d(t,{g:()=>m});var s=n(9477),i=n(9401),a=n(9714),l=n(5784),r=n(8317),o=n(4584),c=n(3125);const u=new s.ZzF,p=new a.h,h=new a.h,d=new s.yGw,f=new i.o,I=new i.o;function m(e,t,n,s){c.BufferStack.setBuffer(e._roots[t]);const i=y(0,e,n,s);return c.BufferStack.clearBuffer(),i}function y(e,t,n,s,i=null){const{float32Array:a,uint16Array:m,uint32Array:v}=c.BufferStack;let w=2*e;if(null===i&&(n.boundingBox||n.computeBoundingBox(),f.set(n.boundingBox.min,n.boundingBox.max,s),i=f),!(0,o.ee)(w,m)){const l=e+8,c=v[e+6];return(0,r.YN)((0,o.V4)(l),a,u),i.intersectsBox(u)&&y(l,t,n,s,i)?!0:((0,r.YN)((0,o.V4)(c),a,u),!(!i.intersectsBox(u)||!y(c,t,n,s,i)))}{const i=t.geometry,c=i.index,u=i.attributes.position,f=n.index,y=n.attributes.position,T=(0,o.ew)(e,v),E=(0,o.ai)(w,m);if(d.copy(s).invert(),n.boundsTree)return(0,r.YN)((0,o.V4)(e),a,I),I.matrix.copy(d),I.needsUpdate=!0,n.boundsTree.shapecast({intersectsBounds:e=>I.intersectsBox(e),intersectsTriangle:e=>{e.a.applyMatrix4(s),e.b.applyMatrix4(s),e.c.applyMatrix4(s),e.needsUpdate=!0;for(let t=3*T,n=3*(E+T);t{"use strict";n.d(t,{_:()=>m});var s=n(9477),i=n(9401),a=n(9714),l=n(5784),r=n(8317),o=n(4584),c=n(3125);const u=new s.ZzF,p=new a.h,h=new a.h,d=new s.yGw,f=new i.o,I=new i.o;function m(e,t,n,s){c.BufferStack.setBuffer(e._roots[t]);const i=y(0,e,n,s);return c.BufferStack.clearBuffer(),i}function y(e,t,n,s,i=null){const{float32Array:a,uint16Array:m,uint32Array:v}=c.BufferStack;let w=2*e;if(null===i&&(n.boundingBox||n.computeBoundingBox(),f.set(n.boundingBox.min,n.boundingBox.max,s),i=f),!(0,o.ee)(w,m)){const l=e+8,c=v[e+6];return(0,r.YN)((0,o.V4)(l),a,u),i.intersectsBox(u)&&y(l,t,n,s,i)?!0:((0,r.YN)((0,o.V4)(c),a,u),!(!i.intersectsBox(u)||!y(c,t,n,s,i)))}{const i=t.geometry,c=i.index,u=i.attributes.position,f=n.index,y=n.attributes.position,T=(0,o.ew)(e,v),E=(0,o.ai)(w,m);if(d.copy(s).invert(),n.boundsTree)return(0,r.YN)((0,o.V4)(e),a,I),I.matrix.copy(d),I.needsUpdate=!0,n.boundsTree.shapecast({intersectsBounds:e=>I.intersectsBox(e),intersectsTriangle:e=>{e.a.applyMatrix4(s),e.b.applyMatrix4(s),e.c.applyMatrix4(s),e.needsUpdate=!0;for(let n=T,s=E+T;n{"use strict";n.d(t,{s:()=>c});var s=n(9477),i=n(7901),a=n(4584),l=n(3125),r=n(575);const o=new s.Pa4;function c(e,t,n,s,i){l.BufferStack.setBuffer(e._roots[t]),u(0,e,n,s,i),l.BufferStack.clearBuffer()}function u(e,t,n,s,c){const{float32Array:p,uint16Array:h,uint32Array:d}=l.BufferStack,f=2*e;if((0,a.ee)(f,h)){const i=(0,a.ew)(e,d),l=(0,a.ai)(f,h);(0,r.U$)(t,n,s,i,l,c)}else{const l=(0,a.lB)(e);(0,i.B)(l,p,s,o)&&u(l,t,n,s,c);const r=(0,a.J8)(e,d);(0,i.B)(r,p,s,o)&&u(r,t,n,s,c)}}},9472:(e,t,n)=>{"use strict";n.d(t,{P:()=>u});var s=n(9477),i=n(4584),a=n(3125),l=n(7901),r=n(575);const o=new s.Pa4,c=["x","y","z"];function u(e,t,n,s){a.BufferStack.setBuffer(e._roots[t]);const i=p(0,e,n,s);return a.BufferStack.clearBuffer(),i}function p(e,t,n,s){const{float32Array:u,uint16Array:h,uint32Array:d}=a.BufferStack;let f=2*e;if((0,i.ee)(f,h)){const a=(0,i.ew)(e,d),l=(0,i.ai)(f,h);return(0,r.rM)(t,n,s,a,l)}{const a=(0,i.ki)(e,d),r=c[a],h=s.direction[r]>=0;let f,I;h?(f=(0,i.lB)(e),I=(0,i.J8)(e,d)):(f=(0,i.J8)(e,d),I=(0,i.lB)(e));const m=(0,l.B)(f,u,s,o)?p(f,t,n,s):null;if(m){const e=m.point[r];if(h?e<=u[I+a]:e>=u[I+a+3])return m}const y=(0,l.B)(I,u,s,o)?p(I,t,n,s):null;return m&&y?m.distance<=y.distance?m:y:m||y||null}}},6657:(e,t,n)=>{"use strict";n.d(t,{P:()=>u});var s=n(9477),i=n(4584),a=n(3125),l=n(7901),r=n(7569);const o=new s.Pa4,c=["x","y","z"];function u(e,t,n,s){a.BufferStack.setBuffer(e._roots[t]);const i=p(0,e,n,s);return a.BufferStack.clearBuffer(),i}function p(e,t,n,s){const{float32Array:u,uint16Array:h,uint32Array:d}=a.BufferStack;let f=2*e;if((0,i.ee)(f,h)){const a=(0,i.ew)(e,d),l=(0,i.ai)(f,h);return(0,r.qx)(t,n,s,a,l)}{const a=(0,i.ki)(e,d),r=c[a],h=s.direction[r]>=0;let f,I;h?(f=(0,i.lB)(e),I=(0,i.J8)(e,d)):(f=(0,i.J8)(e,d),I=(0,i.lB)(e));const m=(0,l.B)(f,u,s,o)?p(f,t,n,s):null;if(m){const e=m.point[r];if(h?e<=u[I+a]:e>=u[I+a+3])return m}const y=(0,l.B)(I,u,s,o)?p(I,t,n,s):null;return m&&y?m.distance<=y.distance?m:y:m||y||null}}},5544:(e,t,n)=>{"use strict";n.d(t,{X:()=>c});var s=n(9477),i=n(7901),a=n(4584),l=n(3125),r=n(7569);const o=new s.Pa4;function c(e,t,n,s,i){l.BufferStack.setBuffer(e._roots[t]),u(0,e,n,s,i),l.BufferStack.clearBuffer()}function u(e,t,n,s,c){const{float32Array:p,uint16Array:h,uint32Array:d}=l.BufferStack,f=2*e;if((0,a.ee)(f,h)){const i=(0,a.ew)(e,d),l=(0,a.ai)(f,h);(0,r.Rf)(t,n,s,i,l,c)}else{const l=(0,a.lB)(e);(0,i.B)(l,p,s,o)&&u(l,t,n,s,c);const r=(0,a.J8)(e,d);(0,i.B)(r,p,s,o)&&u(r,t,n,s,c)}}},1173:(e,t,n)=>{"use strict";n.d(t,{C:()=>i});var s=n(5760);function i(e,t=null){t&&Array.isArray(t)&&(t=new Set(t));const n=e.geometry,i=n.index?n.index.array:null,a=n.attributes.position;let l,r,o,c,u=0;const p=e._roots;for(let e=0,t=p.length;ep&&(p=r),oh&&(h=o),cd&&(d=c)}return(c[e+0]!==n||c[e+1]!==s||c[e+2]!==l||c[e+3]!==p||c[e+4]!==h||c[e+5]!==d)&&(c[e+0]=n,c[e+1]=s,c[e+2]=l,c[e+3]=p,c[e+4]=h,c[e+5]=d,!0)}{const s=e+8,i=r[e+6],a=s+n,o=i+n;let u=l,p=!1,d=!1;t?u||(p=t.has(a),d=t.has(o),u=!p&&!d):(p=!0,d=!0);const f=u||d;let I=!1;(u||p)&&(I=h(s,n,u));let m=!1;f&&(m=h(i,n,u));const y=I||m;if(y)for(let t=0;t<3;t++){const n=s+t,a=i+t,l=c[n],r=c[n+3],o=c[a],u=c[a+3];c[e+t]=lu?r:u}return y}}}},8217:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var s=n(5760);function i(e,t=null){t&&Array.isArray(t)&&(t=new Set(t));const n=e.geometry,i=n.index?n.index.array:null,a=n.attributes.position;let l,r,o,c,u=0;const p=e._roots;for(let e=0,t=p.length;eh&&(h=r),od&&(d=o),cf&&(f=c)}}return(c[n+0]!==s||c[n+1]!==l||c[n+2]!==u||c[n+3]!==h||c[n+4]!==d||c[n+5]!==f)&&(c[n+0]=s,c[n+1]=l,c[n+2]=u,c[n+3]=h,c[n+4]=d,c[n+5]=f,!0)}{const e=n+8,s=r[n+6],i=e+l,a=s+l;let o=u,p=!1,d=!1;t?o||(p=t.has(i),d=t.has(a),o=!p&&!d):(p=!0,d=!0);const f=o||d;let I=!1;(o||p)&&(I=h(e,l,o));let m=!1;f&&(m=h(s,l,o));const y=I||m;if(y)for(let t=0;t<3;t++){const i=e+t,a=s+t,l=c[i],r=c[i+3],o=c[a],u=c[a+3];c[n+t]=lu?r:u}return y}}}},6148:(e,t,n)=>{"use strict";n.d(t,{a:()=>d});var s=n(9477),i=n(5760),a=n(8317),l=n(3195),r=n(4584),o=n(3125);let c,u;const p=[],h=new l.P((()=>new s.ZzF));function d(e,t,n,s,i,a){c=h.getPrimitive(),u=h.getPrimitive(),p.push(c,u),o.BufferStack.setBuffer(e._roots[t]);const l=f(0,e.geometry,n,s,i,a);o.BufferStack.clearBuffer(),h.releasePrimitive(c),h.releasePrimitive(u),p.pop(),p.pop();const r=p.length;return r>0&&(u=p[r-1],c=p[r-2]),l}function f(e,t,n,s,l=null,p=0,h=0){const{float32Array:d,uint16Array:I,uint32Array:m}=o.BufferStack;let y=2*e;if((0,r.ee)(y,I)){const v=(0,r.ew)(e,m),w=(0,r.ai)(y,I);return(0,a.YN)((0,r.V4)(e),d,c),s(v,w,!1,h,p+e,c)}{const T=(0,r.lB)(e),E=(0,r.J8)(e,m);let g,R,D,S,b=T,N=E;if(l&&(D=c,S=u,(0,a.YN)((0,r.V4)(b),d,D),(0,a.YN)((0,r.V4)(N),d,S),g=l(D),R=l(S),R{"use strict";n.d(t,{BufferStack:()=>s});const s=new class{constructor(){this.float32Array=null,this.uint16Array=null,this.uint32Array=null;const e=[];let t=null;this.setBuffer=n=>{t&&e.push(t),t=n,this.float32Array=new Float32Array(n),this.uint16Array=new Uint16Array(n),this.uint32Array=new Uint32Array(n)},this.clearBuffer=()=>{t=null,this.float32Array=null,this.uint16Array=null,this.uint32Array=null,0!==e.length&&this.setBuffer(e.pop())}}}},7901:(e,t,n)=>{"use strict";n.d(t,{B:()=>l});var s=n(9477),i=n(8317);const a=new s.ZzF;function l(e,t,n,s){return(0,i.YN)(e,t,a),n.intersectBox(a,s)}},575:(e,t,n)=>{"use strict";n.d(t,{TD:()=>r,U$:()=>a,rM:()=>l});var s=n(4997),i=n(5784);function a(e,t,n,i,a,l){const{geometry:r,_indirectBuffer:o}=e;for(let e=i,o=i+a;e{"use strict";n.d(t,{Rf:()=>a,XO:()=>r,qx:()=>l});var s=n(4997),i=n(5784);function a(e,t,n,i,a,l){const{geometry:r,_indirectBuffer:o}=e;for(let e=i,c=i+a;e{"use strict";function s(e,t){return 65535===t[e+15]}function i(e,t){return t[e+6]}function a(e,t){return t[e+14]}function l(e){return e+8}function r(e,t){return t[e+6]}function o(e,t){return t[e+7]}function c(e){return e}n.d(t,{J8:()=>r,V4:()=>c,ai:()=>a,ee:()=>s,ew:()=>i,ki:()=>o,lB:()=>l})},9714:(e,t,n)=>{"use strict";n.d(t,{h:()=>r});var s=n(9477),i=n(8131),a=n(4928);function l(e){return Math.abs(e)<1e-15}class r extends s.CJI{constructor(...e){super(...e),this.isExtendedTriangle=!0,this.satAxes=new Array(4).fill().map((()=>new s.Pa4)),this.satBounds=new Array(4).fill().map((()=>new i.B)),this.points=[this.a,this.b,this.c],this.sphere=new s.aLr,this.plane=new s.JOQ,this.needsUpdate=!0}intersectsSphere(e){return(0,a.s_)(e,this)}update(){const e=this.a,t=this.b,n=this.c,s=this.points,i=this.satAxes,a=this.satBounds,l=i[0],r=a[0];this.getNormal(l),r.setFromPoints(l,s);const o=i[1],c=a[1];o.subVectors(e,t),c.setFromPoints(o,s);const u=i[2],p=a[2];u.subVectors(t,n),p.setFromPoints(u,s);const h=i[3],d=a[3];h.subVectors(n,e),d.setFromPoints(h,s),this.sphere.setFromPoints(this.points),this.plane.setFromNormalAndCoplanarPoint(l,e),this.needsUpdate=!1}}r.prototype.closestPointToSegment=function(){const e=new s.Pa4,t=new s.Pa4,n=new s.Zzh;return function(s,i=null,l=null){const{start:r,end:o}=s,c=this.points;let u,p=1/0;for(let r=0;r<3;r++){const o=(r+1)%3;n.start.copy(c[r]),n.end.copy(c[o]),(0,a.UX)(n,s,e,t),u=e.distanceToSquared(t),u=2){(1===a?n.start:n.end).copy(y),i=2;break}if(i++,2===i&&-1===a)break}}return i}return function(s,i=null,l=!1){this.needsUpdate&&this.update(),s.isExtendedTriangle?s.needsUpdate&&s.update():(e.copy(s),e.update(),s=e);const r=this.plane,u=s.plane;if(Math.abs(r.normal.dot(u.normal))>1-1e-10){const e=this.satBounds,r=this.satAxes;n[0]=s.a,n[1]=s.b,n[2]=s.c;for(let t=0;t<4;t++){const s=e[t],i=r[t];if(a.setFromPoints(i,n),s.isSeparated(a))return!1}const u=s.satBounds,p=s.satAxes;t[0]=this.a,t[1]=this.b,t[2]=this.c;for(let e=0;e<4;e++){const n=u[e],s=p[e];if(a.setFromPoints(s,t),n.isSeparated(a))return!1}for(let e=0;e<4;e++){const s=r[e];for(let e=0;e<4;e++){const i=p[e];if(c.crossVectors(s,i),a.setFromPoints(c,t),o.setFromPoints(c,n),a.isSeparated(o))return!1}}return i&&(l||console.warn("ExtendedTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0."),i.start.set(0,0,0),i.end.set(0,0,0)),!0}{const e=v(this,u,I);if(1===e&&s.containsPoint(I.end))return i&&(i.start.copy(I.end),i.end.copy(I.end)),!0;if(2!==e)return!1;const t=v(s,r,m);if(1===t&&this.containsPoint(m.end))return i&&(i.start.copy(m.end),i.end.copy(m.end)),!0;if(2!==t)return!1;if(I.delta(p),m.delta(h),p.dot(h)<0){let e=m.start;m.start=m.end,m.end=e}const n=I.start.dot(p),a=I.end.dot(p),l=m.start.dot(p),o=m.end.dot(p);return(n===o||l===a||a0?i.start.copy(I.start):i.start.copy(m.start),d.subVectors(I.end,m.end),d.dot(p)<0?i.end.copy(I.end):i.end.copy(m.end)),!0)}}}(),r.prototype.distanceToPoint=function(){const e=new s.Pa4;return function(t){return this.closestPointToPoint(t,e),t.distanceTo(e)}}(),r.prototype.distanceToTriangle=function(){const e=new s.Pa4,t=new s.Pa4,n=["a","b","c"],i=new s.Zzh,l=new s.Zzh;return function(s,r=null,o=null){const c=r||o?i:null;if(this.intersectsTriangle(s,c))return(r||o)&&(r&&c.getCenter(r),o&&c.getCenter(o)),0;let u=1/0;for(let t=0;t<3;t++){let i;const a=n[t],l=s[a];this.closestPointToPoint(l,e),i=l.distanceToSquared(e),i{"use strict";n.d(t,{UX:()=>a,s_:()=>l});var s=n(9477);const i=function(){const e=new s.Pa4,t=new s.Pa4,n=new s.Pa4;return function(s,i,a){const l=s.start,r=e,o=i.start,c=t;n.subVectors(l,o),e.subVectors(s.end,s.start),t.subVectors(i.end,i.start);const u=n.dot(c),p=c.dot(r),h=c.dot(c),d=n.dot(r),f=r.dot(r)*h-p*p;let I,m;I=0!==f?(u*p-d*h)/f:0,m=(u+I*p)/h,a.x=I,a.y=m}}(),a=function(){const e=new s.FM8,t=new s.Pa4,n=new s.Pa4;return function(s,a,l,r){i(s,a,e);let o=e.x,c=e.y;if(o>=0&&o<=1&&c>=0&&c<=1)return s.at(o,l),void a.at(c,r);if(o>=0&&o<=1)return c<0?a.at(0,r):a.at(1,r),void s.closestPointToPoint(r,!0,l);if(c>=0&&c<=1)return o<0?s.at(0,l):s.at(1,l),void a.closestPointToPoint(l,!0,r);{let e,i;e=o<0?s.start:s.end,i=c<0?a.start:a.end;const u=t,p=n;return s.closestPointToPoint(i,!0,t),a.closestPointToPoint(e,!0,n),u.distanceToSquared(i)<=p.distanceToSquared(e)?(l.copy(u),void r.copy(i)):(l.copy(e),void r.copy(p))}}}(),l=function(){const e=new s.Pa4,t=new s.Pa4,n=new s.JOQ,i=new s.Zzh;return function(s,a){const{radius:l,center:r}=s,{a:o,b:c,c:u}=a;if(i.start=o,i.end=c,i.closestPointToPoint(r,!0,e).distanceTo(r)<=l)return!0;if(i.start=o,i.end=u,i.closestPointToPoint(r,!0,e).distanceTo(r)<=l)return!0;if(i.start=c,i.end=u,i.closestPointToPoint(r,!0,e).distanceTo(r)<=l)return!0;const p=a.getPlane(n);if(Math.abs(p.distanceToPoint(r))<=l){const e=p.projectPoint(r,t);if(a.containsPoint(e))return!0}return!1}}()},9401:(e,t,n)=>{"use strict";n.d(t,{o:()=>r});var s=n(9477),i=n(8131),a=n(9714),l=n(4928);class r{constructor(e,t,n){this.isOrientedBox=!0,this.min=new s.Pa4,this.max=new s.Pa4,this.matrix=new s.yGw,this.invMatrix=new s.yGw,this.points=new Array(8).fill().map((()=>new s.Pa4)),this.satAxes=new Array(3).fill().map((()=>new s.Pa4)),this.satBounds=new Array(3).fill().map((()=>new i.B)),this.alignedSatBounds=new Array(3).fill().map((()=>new i.B)),this.needsUpdate=!1,e&&this.min.copy(e),t&&this.max.copy(t),n&&this.matrix.copy(n)}set(e,t,n){this.min.copy(e),this.max.copy(t),this.matrix.copy(n),this.needsUpdate=!0}copy(e){this.min.copy(e.min),this.max.copy(e.max),this.matrix.copy(e.matrix),this.needsUpdate=!0}}r.prototype.update=function(){const e=this.matrix,t=this.min,n=this.max,s=this.points;for(let i=0;i<=1;i++)for(let a=0;a<=1;a++)for(let l=0;l<=1;l++){const r=s[1*i|2*a|4*l];r.x=i?n.x:t.x,r.y=a?n.y:t.y,r.z=l?n.z:t.z,r.applyMatrix4(e)}const i=this.satBounds,a=this.satAxes,l=s[0];for(let e=0;e<3;e++){const t=a[e],n=i[e],r=s[1<new s.Zzh)),n=new Array(12).fill().map((()=>new s.Zzh)),i=new s.Pa4,a=new s.Pa4;return function(s,r=0,o=null,c=null){if(this.needsUpdate&&this.update(),this.intersectsBox(s))return(o||c)&&(s.getCenter(a),this.closestPointToPoint(a,i),s.closestPointToPoint(i,a),o&&o.copy(i),c&&c.copy(a)),0;const u=r*r,p=s.min,h=s.max,d=this.points;let f=1/0;for(let e=0;e<8;e++){const t=d[e];a.copy(t).clamp(p,h);const n=t.distanceToSquared(a);if(n{"use strict";n.d(t,{B:()=>i});var s=n(9477);class i{constructor(){this.min=1/0,this.max=-1/0}setFromPointsField(e,t){let n=1/0,s=-1/0;for(let i=0,a=e.length;is?a:s}this.min=n,this.max=s}setFromPoints(e,t){let n=1/0,s=-1/0;for(let i=0,a=t.length;is?l:s}this.min=n,this.max=s}isSeparated(e){return this.min>e.max||e.min>this.max}}i.prototype.setFromBox=function(){const e=new s.Pa4;return function(t,n){const s=n.min,i=n.max;let a=1/0,l=-1/0;for(let n=0;n<=1;n++)for(let r=0;r<=1;r++)for(let o=0;o<=1;o++){e.x=s.x*n+i.x*(1-n),e.y=s.y*r+i.y*(1-r),e.z=s.z*o+i.z*(1-o);const c=t.dot(e);a=Math.min(c,a),l=Math.max(c,l)}this.min=a,this.max=l}}(),new i},8317:(e,t,n)=>{"use strict";function s(e,t,n){return n.min.x=t[e],n.min.y=t[e+1],n.min.z=t[e+2],n.max.x=t[e+3],n.max.y=t[e+4],n.max.z=t[e+5],n}function i(e){e[0]=e[1]=e[2]=1/0,e[3]=e[4]=e[5]=-1/0}function a(e){let t=-1,n=-1/0;for(let s=0;s<3;s++){const i=e[s+3]-e[s];i>n&&(n=i,t=s)}return t}function l(e,t){t.set(e)}function r(e,t,n){let s,i;for(let a=0;a<3;a++){const l=a+3;s=e[a],i=t[a],n[a]=si?s:i}}function o(e,t,n){for(let s=0;s<3;s++){const i=t[e+2*s],a=t[e+2*s+1],l=i-a,r=i+a;ln[s+3]&&(n[s+3]=r)}}function c(e){const t=e[3]-e[0],n=e[4]-e[1],s=e[5]-e[2];return 2*(t*n+n*s+s*t)}n.d(t,{Lm:()=>r,Ok:()=>c,YN:()=>s,_x:()=>a,ay:()=>i,js:()=>l,xT:()=>o})},9772:(e,t,n)=>{"use strict";function s(){return"undefined"!=typeof SharedArrayBuffer}n.d(t,{Y:()=>s})},9072:(e,t,n)=>{"use strict";n.d(t,{g:()=>l});var s=n(9714),i=n(3195);class a extends i.P{constructor(){super((()=>new s.h))}}const l=new a},3320:(e,t,n)=>{"use strict";n.d(t,{Xy:()=>u,sn:()=>p,uL:()=>c});var s=n(9477),i=n(5192),a=n(6156);const l=new s.zHn,r=new s.yGw,o=s.Kj0.prototype.raycast;function c(e,t){if(this.geometry.boundsTree){if(void 0===this.material)return;r.copy(this.matrixWorld).invert(),l.copy(e.ray).applyMatrix4(r);const n=this.geometry.boundsTree;if(!0===e.firstHitOnly){const s=(0,i.O)(n.raycastFirst(l,this.material),this,e);s&&t.push(s)}else{const s=n.raycast(l,this.material);for(let n=0,a=s.length;n{"use strict";function s(e,t,n){return null===e?null:(e.point.applyMatrix4(t.matrixWorld),e.distance=e.point.distanceTo(n.ray.origin),e.object=t,e.distancen.far?null:e)}n.d(t,{O:()=>s})},3195:(e,t,n)=>{"use strict";n.d(t,{P:()=>s});class s{constructor(e){this._getNewPrimitive=e,this._primitives=[]}getPrimitive(){const e=this._primitives;return 0===e.length?this._getNewPrimitive():e.pop()}releasePrimitive(e){this._primitives.push(e)}}},4997:(e,t,n)=>{"use strict";n.d(t,{b:()=>f});var s=n(9477);const i=new s.Pa4,a=new s.Pa4,l=new s.Pa4,r=new s.FM8,o=new s.FM8,c=new s.FM8,u=new s.Pa4,p=new s.Pa4,h=new s.Pa4,d=new s.Pa4;function f(e,t,n,f,I){const m=3*f;let y=m+0,v=m+1,w=m+2;const T=e.index;e.index&&(y=T.getX(y),v=T.getX(v),w=T.getX(w));const{position:E,normal:g,uv:R,uv1:D}=e.attributes,S=function(e,t,n,f,I,m,y,v,w){i.fromBufferAttribute(t,m),a.fromBufferAttribute(t,y),l.fromBufferAttribute(t,v);const T=function(e,t,n,i,a,l){let r;return r=l===s._Li?e.intersectTriangle(i,n,t,!0,a):e.intersectTriangle(t,n,i,l!==s.ehD,a),null===r?null:{distance:e.origin.distanceTo(a),point:a.clone()}}(e,i,a,l,d,w);if(T){f&&(r.fromBufferAttribute(f,m),o.fromBufferAttribute(f,y),c.fromBufferAttribute(f,v),T.uv=s.CJI.getInterpolation(d,i,a,l,r,o,c,new s.FM8)),I&&(r.fromBufferAttribute(I,m),o.fromBufferAttribute(I,y),c.fromBufferAttribute(I,v),T.uv1=s.CJI.getInterpolation(d,i,a,l,r,o,c,new s.FM8)),n&&(u.fromBufferAttribute(n,m),p.fromBufferAttribute(n,y),h.fromBufferAttribute(n,v),T.normal=s.CJI.getInterpolation(d,i,a,l,u,p,h,new s.Pa4),T.normal.dot(e.direction)>0&&T.normal.multiplyScalar(-1));const t={a:m,b:y,c:v,normal:new s.Pa4,materialIndex:0};s.CJI.getNormal(i,a,l,t.normal),T.face=t,T.faceIndex=m}return T}(n,E,g,R,D,y,v,w,t);return S?(S.faceIndex=f,I&&I.push(S),S):null}},5784:(e,t,n)=>{"use strict";function s(e,t,n,s){const i=e.a,a=e.b,l=e.c;let r=t,o=t+1,c=t+2;n&&(r=n.getX(r),o=n.getX(o),c=n.getX(c)),i.x=s.getX(r),i.y=s.getY(r),i.z=s.getZ(r),a.x=s.getX(o),a.y=s.getY(o),a.z=s.getZ(o),l.x=s.getX(c),l.y=s.getY(c),l.z=s.getZ(c)}n.d(t,{k:()=>s}),n(9477)},9477:(e,t,n)=>{"use strict";n.d(t,{$V:()=>to,$YQ:()=>za,CJI:()=>cn,CP7:()=>Xa,DvJ:()=>Jn,FM8:()=>Te,IEO:()=>Za,Ilk:()=>mn,JOQ:()=>ds,JQ4:()=>q,Kj0:()=>Zn,Ltg:()=>Ve,M8C:()=>we,Mig:()=>Vr,O7d:()=>hr,Ox3:()=>Gr,Pa4:()=>Ke,RsA:()=>i,SPe:()=>al,SUY:()=>jr,TOt:()=>Hl,T_1:()=>lo,TlE:()=>En,TyD:()=>O,Vj0:()=>gs,VzW:()=>_,Wl3:()=>o,YBo:()=>Ir,ZzF:()=>Je,Zzh:()=>io,_Li:()=>c,_fP:()=>Xe,a$l:()=>Dn,aCh:()=>Q,aLr:()=>mt,aNw:()=>Cr,cLu:()=>M,cPb:()=>as,dd2:()=>ze,ehD:()=>u,ejS:()=>Il,hEm:()=>G,hH6:()=>qr,iKG:()=>xs,iMs:()=>Jr,jFi:()=>p,jyz:()=>ss,kFz:()=>Ye,o8S:()=>fr,qkB:()=>U,rBU:()=>Es,rDY:()=>ns,rpg:()=>S,u9r:()=>Ln,uL9:()=>m,vBJ:()=>vn,wem:()=>x,wk1:()=>B,xsS:()=>Ka,y8_:()=>ao,yGw:()=>St,zHn:()=>Dt});const s="156",i={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},a=1,l=2,r=3,o=0,c=1,u=2,p=0,h=100,d=0,f=1,I=2,m=0,y=1,v=2,w=3,T=4,E=5,g=301,R=302,D=306,S=1e3,b=1001,N=1002,O=1003,A=1005,x=1006,C=1008,L=1009,P=1012,q=1014,_=1015,M=1016,H=1020,B=1023,U=1026,F=1027,G=1028,V=33776,j=33777,z=33778,W=33779,k=36492,Y=2300,X=2301,K=2302,Z=3001,Q="",J="srgb",$="srgb-linear",ee="display-p3",te=7680,ne="300 es",se=1035,ie=2e3,ae=2001;class le{addEventListener(e,t){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[e]&&(n[e]=[]),-1===n[e].indexOf(t)&&n[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return!1;const n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;const n=this._listeners[e];if(void 0!==n){const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;const t=this._listeners[e.type];if(void 0!==t){e.target=this;const n=t.slice(0);for(let t=0,s=n.length;t>8&255]+re[e>>16&255]+re[e>>24&255]+"-"+re[255&t]+re[t>>8&255]+"-"+re[t>>16&15|64]+re[t>>24&255]+"-"+re[63&n|128]+re[n>>8&255]+"-"+re[n>>16&255]+re[n>>24&255]+re[255&s]+re[s>>8&255]+re[s>>16&255]+re[s>>24&255]).toLowerCase()}function he(e,t,n){return Math.max(t,Math.min(n,e))}function de(e,t){return(e%t+t)%t}function fe(e,t,n){return(1-n)*e+n*t}function Ie(e){return 0==(e&e-1)&&0!==e}function me(e){return Math.pow(2,Math.floor(Math.log(e)/Math.LN2))}function ye(e,t){switch(t.constructor){case Float32Array:return e;case Uint32Array:return e/4294967295;case Uint16Array:return e/65535;case Uint8Array:return e/255;case Int32Array:return Math.max(e/2147483647,-1);case Int16Array:return Math.max(e/32767,-1);case Int8Array:return Math.max(e/127,-1);default:throw new Error("Invalid component type.")}}function ve(e,t){switch(t.constructor){case Float32Array:return e;case Uint32Array:return Math.round(4294967295*e);case Uint16Array:return Math.round(65535*e);case Uint8Array:return Math.round(255*e);case Int32Array:return Math.round(2147483647*e);case Int16Array:return Math.round(32767*e);case Int8Array:return Math.round(127*e);default:throw new Error("Invalid component type.")}}const we={DEG2RAD:ce,RAD2DEG:ue,generateUUID:pe,clamp:he,euclideanModulo:de,mapLinear:function(e,t,n,s,i){return s+(e-t)*(i-s)/(n-t)},inverseLerp:function(e,t,n){return e!==t?(n-e)/(t-e):0},lerp:fe,damp:function(e,t,n,s){return fe(e,t,1-Math.exp(-n*s))},pingpong:function(e,t=1){return t-Math.abs(de(e,2*t)-t)},smoothstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*(3-2*e)},smootherstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*e*(e*(6*e-15)+10)},randInt:function(e,t){return e+Math.floor(Math.random()*(t-e+1))},randFloat:function(e,t){return e+Math.random()*(t-e)},randFloatSpread:function(e){return e*(.5-Math.random())},seededRandom:function(e){void 0!==e&&(oe=e);let t=oe+=1831565813;return t=Math.imul(t^t>>>15,1|t),t^=t+Math.imul(t^t>>>7,61|t),((t^t>>>14)>>>0)/4294967296},degToRad:function(e){return e*ce},radToDeg:function(e){return e*ue},isPowerOfTwo:Ie,ceilPowerOfTwo:function(e){return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))},floorPowerOfTwo:me,setQuaternionFromProperEuler:function(e,t,n,s,i){const a=Math.cos,l=Math.sin,r=a(n/2),o=l(n/2),c=a((t+s)/2),u=l((t+s)/2),p=a((t-s)/2),h=l((t-s)/2),d=a((s-t)/2),f=l((s-t)/2);switch(i){case"XYX":e.set(r*u,o*p,o*h,r*c);break;case"YZY":e.set(o*h,r*u,o*p,r*c);break;case"ZXZ":e.set(o*p,o*h,r*u,r*c);break;case"XZX":e.set(r*u,o*f,o*d,r*c);break;case"YXY":e.set(o*d,r*u,o*f,r*c);break;case"ZYZ":e.set(o*f,o*d,r*u,r*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}},normalize:ve,denormalize:ye};class Te{constructor(e=0,t=0){Te.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,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,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;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,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,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,t){return this.x=e.x-t.x,this.y=e.y-t.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){const t=this.x,n=this.y,s=e.elements;return this.x=s[0]*t+s[3]*n+s[6],this.y=s[1]*t+s[4]*n+s[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,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(he(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const n=Math.cos(t),s=Math.sin(t),i=this.x-e.x,a=this.y-e.y;return this.x=i*n-a*s+e.x,this.y=i*s+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Ee{constructor(e,t,n,s,i,a,l,r,o){Ee.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],void 0!==e&&this.set(e,t,n,s,i,a,l,r,o)}set(e,t,n,s,i,a,l,r,o){const c=this.elements;return c[0]=e,c[1]=s,c[2]=l,c[3]=t,c[4]=i,c[5]=r,c[6]=n,c[7]=a,c[8]=o,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,s=t.elements,i=this.elements,a=n[0],l=n[3],r=n[6],o=n[1],c=n[4],u=n[7],p=n[2],h=n[5],d=n[8],f=s[0],I=s[3],m=s[6],y=s[1],v=s[4],w=s[7],T=s[2],E=s[5],g=s[8];return i[0]=a*f+l*y+r*T,i[3]=a*I+l*v+r*E,i[6]=a*m+l*w+r*g,i[1]=o*f+c*y+u*T,i[4]=o*I+c*v+u*E,i[7]=o*m+c*w+u*g,i[2]=p*f+h*y+d*T,i[5]=p*I+h*v+d*E,i[8]=p*m+h*w+d*g,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[1],s=e[2],i=e[3],a=e[4],l=e[5],r=e[6],o=e[7],c=e[8];return t*a*c-t*l*o-n*i*c+n*l*r+s*i*o-s*a*r}invert(){const e=this.elements,t=e[0],n=e[1],s=e[2],i=e[3],a=e[4],l=e[5],r=e[6],o=e[7],c=e[8],u=c*a-l*o,p=l*r-c*i,h=o*i-a*r,d=t*u+n*p+s*h;if(0===d)return this.set(0,0,0,0,0,0,0,0,0);const f=1/d;return e[0]=u*f,e[1]=(s*o-c*n)*f,e[2]=(l*n-s*a)*f,e[3]=p*f,e[4]=(c*t-s*r)*f,e[5]=(s*i-l*t)*f,e[6]=h*f,e[7]=(n*r-o*t)*f,e[8]=(a*t-n*i)*f,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,s,i,a,l){const r=Math.cos(i),o=Math.sin(i);return this.set(n*r,n*o,-n*(r*a+o*l)+a+e,-s*o,s*r,-s*(-o*a+r*l)+l+t,0,0,1),this}scale(e,t){return this.premultiply(ge.makeScale(e,t)),this}rotate(e){return this.premultiply(ge.makeRotation(-e)),this}translate(e,t){return this.premultiply(ge.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,n=e.elements;for(let e=0;e<9;e++)if(t[e]!==n[e])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return(new this.constructor).fromArray(this.elements)}}const ge=new Ee;function Re(e){for(let t=e.length-1;t>=0;--t)if(e[t]>=65535)return!0;return!1}function De(e){return document.createElementNS("http://www.w3.org/1999/xhtml",e)}function Se(){const e=De("canvas");return e.style.display="block",e}Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array;const be={};function Ne(e){e in be||(be[e]=!0,console.warn(e))}function Oe(e){return e<.04045?.0773993808*e:Math.pow(.9478672986*e+.0521327014,2.4)}function Ae(e){return e<.0031308?12.92*e:1.055*Math.pow(e,.41666)-.055}const xe=(new Ee).fromArray([.8224621,.0331941,.0170827,.177538,.9668058,.0723974,-1e-7,1e-7,.9105199]),Ce=(new Ee).fromArray([1.2249401,-.0420569,-.0196376,-.2249404,1.0420571,-.0786361,1e-7,0,1.0982735]),Le={[$]:e=>e,[J]:e=>e.convertSRGBToLinear(),[ee]:function(e){return e.convertSRGBToLinear().applyMatrix3(Ce)}},Pe={[$]:e=>e,[J]:e=>e.convertLinearToSRGB(),[ee]:function(e){return e.applyMatrix3(xe).convertLinearToSRGB()}},qe={enabled:!0,get legacyMode(){return console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),!this.enabled},set legacyMode(e){console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),this.enabled=!e},get workingColorSpace(){return $},set workingColorSpace(e){console.warn("THREE.ColorManagement: .workingColorSpace is readonly.")},convert:function(e,t,n){if(!1===this.enabled||t===n||!t||!n)return e;const s=Le[t],i=Pe[n];if(void 0===s||void 0===i)throw new Error(`Unsupported color space conversion, "${t}" to "${n}".`);return i(s(e))},fromWorkingColorSpace:function(e,t){return this.convert(e,this.workingColorSpace,t)},toWorkingColorSpace:function(e,t){return this.convert(e,t,this.workingColorSpace)}};let _e;class Me{static getDataURL(e){if(/^data:/i.test(e.src))return e.src;if("undefined"==typeof HTMLCanvasElement)return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{void 0===_e&&(_e=De("canvas")),_e.width=e.width,_e.height=e.height;const n=_e.getContext("2d");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=_e}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(e){if("undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap){const t=De("canvas");t.width=e.width,t.height=e.height;const n=t.getContext("2d");n.drawImage(e,0,0,e.width,e.height);const s=n.getImageData(0,0,e.width,e.height),i=s.data;for(let e=0;e0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(300!==this.mapping)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case S:e.x=e.x-Math.floor(e.x);break;case b:e.x=e.x<0?0:1;break;case N:1===Math.abs(Math.floor(e.x)%2)?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 S:e.y=e.y-Math.floor(e.y);break;case b:e.y=e.y<0?0:1;break;case N:1===Math.abs(Math.floor(e.y)%2)?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){!0===e&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return Ne("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===J?Z:3e3}set encoding(e){Ne("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===Z?J:Q}}Ge.DEFAULT_IMAGE=null,Ge.DEFAULT_MAPPING=300,Ge.DEFAULT_ANISOTROPY=1;class Ve{constructor(e=0,t=0,n=0,s=1){Ve.prototype.isVector4=!0,this.x=e,this.y=t,this.z=n,this.w=s}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,s){return this.x=e,this.y=t,this.z=n,this.w=s,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,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;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=void 0!==e.w?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,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,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,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.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){const t=this.x,n=this.y,s=this.z,i=this.w,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*s+a[12]*i,this.y=a[1]*t+a[5]*n+a[9]*s+a[13]*i,this.z=a[2]*t+a[6]*n+a[10]*s+a[14]*i,this.w=a[3]*t+a[7]*n+a[11]*s+a[15]*i,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,s,i;const a=.01,l=.1,r=e.elements,o=r[0],c=r[4],u=r[8],p=r[1],h=r[5],d=r[9],f=r[2],I=r[6],m=r[10];if(Math.abs(c-p)r&&e>y?ey?r=0?1:-1,s=1-t*t;if(s>Number.EPSILON){const i=Math.sqrt(s),a=Math.atan2(i,t*n);e=Math.sin(e*a)/i,l=Math.sin(l*a)/i}const i=l*n;if(r=r*e+p*i,o=o*e+h*i,c=c*e+d*i,u=u*e+f*i,e===1-l){const e=1/Math.sqrt(r*r+o*o+c*c+u*u);r*=e,o*=e,c*=e,u*=e}}e[t]=r,e[t+1]=o,e[t+2]=c,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,s,i,a){const l=n[s],r=n[s+1],o=n[s+2],c=n[s+3],u=i[a],p=i[a+1],h=i[a+2],d=i[a+3];return e[t]=l*d+c*u+r*h-o*p,e[t+1]=r*d+c*p+o*u-l*h,e[t+2]=o*d+c*h+l*p-r*u,e[t+3]=c*d-l*u-r*p-o*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,t,n,s){return this._x=e,this._y=t,this._z=n,this._w=s,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,t){const n=e._x,s=e._y,i=e._z,a=e._order,l=Math.cos,r=Math.sin,o=l(n/2),c=l(s/2),u=l(i/2),p=r(n/2),h=r(s/2),d=r(i/2);switch(a){case"XYZ":this._x=p*c*u+o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u-p*h*d;break;case"YXZ":this._x=p*c*u+o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u+p*h*d;break;case"ZXY":this._x=p*c*u-o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u-p*h*d;break;case"ZYX":this._x=p*c*u-o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u+p*h*d;break;case"YZX":this._x=p*c*u+o*h*d,this._y=o*h*u+p*c*d,this._z=o*c*d-p*h*u,this._w=o*c*u-p*h*d;break;case"XZY":this._x=p*c*u-o*h*d,this._y=o*h*u-p*c*d,this._z=o*c*d+p*h*u,this._w=o*c*u+p*h*d;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+a)}return!1!==t&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const n=t/2,s=Math.sin(n);return this._x=e.x*s,this._y=e.y*s,this._z=e.z*s,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,n=t[0],s=t[4],i=t[8],a=t[1],l=t[5],r=t[9],o=t[2],c=t[6],u=t[10],p=n+l+u;if(p>0){const e=.5/Math.sqrt(p+1);this._w=.25/e,this._x=(c-r)*e,this._y=(i-o)*e,this._z=(a-s)*e}else if(n>l&&n>u){const e=2*Math.sqrt(1+n-l-u);this._w=(c-r)/e,this._x=.25*e,this._y=(s+a)/e,this._z=(i+o)/e}else if(l>u){const e=2*Math.sqrt(1+l-n-u);this._w=(i-o)/e,this._x=(s+a)/e,this._y=.25*e,this._z=(r+c)/e}else{const e=2*Math.sqrt(1+u-n-l);this._w=(a-s)/e,this._x=(i+o)/e,this._y=(r+c)/e,this._z=.25*e}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return nMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(he(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(0===n)return this;const s=Math.min(1,t/n);return this.slerp(e,s),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 0===e?(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,t){const n=e._x,s=e._y,i=e._z,a=e._w,l=t._x,r=t._y,o=t._z,c=t._w;return this._x=n*c+a*l+s*o-i*r,this._y=s*c+a*r+i*l-n*o,this._z=i*c+a*o+n*r-s*l,this._w=a*c-n*l-s*r-i*o,this._onChangeCallback(),this}slerp(e,t){if(0===t)return this;if(1===t)return this.copy(e);const n=this._x,s=this._y,i=this._z,a=this._w;let l=a*e._w+n*e._x+s*e._y+i*e._z;if(l<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,l=-l):this.copy(e),l>=1)return this._w=a,this._x=n,this._y=s,this._z=i,this;const r=1-l*l;if(r<=Number.EPSILON){const e=1-t;return this._w=e*a+t*this._w,this._x=e*n+t*this._x,this._y=e*s+t*this._y,this._z=e*i+t*this._z,this.normalize(),this._onChangeCallback(),this}const o=Math.sqrt(r),c=Math.atan2(o,l),u=Math.sin((1-t)*c)/o,p=Math.sin(t*c)/o;return this._w=a*u+this._w*p,this._x=n*u+this._x*p,this._y=s*u+this._y*p,this._z=i*u+this._z*p,this._onChangeCallback(),this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){const e=Math.random(),t=Math.sqrt(1-e),n=Math.sqrt(e),s=2*Math.PI*Math.random(),i=2*Math.PI*Math.random();return this.set(t*Math.cos(s),n*Math.sin(i),n*Math.cos(i),t*Math.sin(s))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),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}}class Ke{constructor(e=0,t=0,n=0){Ke.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return void 0===n&&(n=this.z),this.x=e,this.y=t,this.z=n,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,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;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,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,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,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.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,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(Qe.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(Qe.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,s=this.z,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6]*s,this.y=i[1]*t+i[4]*n+i[7]*s,this.z=i[2]*t+i[5]*n+i[8]*s,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,s=this.z,i=e.elements,a=1/(i[3]*t+i[7]*n+i[11]*s+i[15]);return this.x=(i[0]*t+i[4]*n+i[8]*s+i[12])*a,this.y=(i[1]*t+i[5]*n+i[9]*s+i[13])*a,this.z=(i[2]*t+i[6]*n+i[10]*s+i[14])*a,this}applyQuaternion(e){const t=this.x,n=this.y,s=this.z,i=e.x,a=e.y,l=e.z,r=e.w,o=r*t+a*s-l*n,c=r*n+l*t-i*s,u=r*s+i*n-a*t,p=-i*t-a*n-l*s;return this.x=o*r+p*-i+c*-l-u*-a,this.y=c*r+p*-a+u*-i-o*-l,this.z=u*r+p*-l+o*-a-c*-i,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,s=this.z,i=e.elements;return this.x=i[0]*t+i[4]*n+i[8]*s,this.y=i[1]*t+i[5]*n+i[9]*s,this.z=i[2]*t+i[6]*n+i[10]*s,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,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,s=e.y,i=e.z,a=t.x,l=t.y,r=t.z;return this.x=s*r-i*l,this.y=i*a-n*r,this.z=n*l-s*a,this}projectOnVector(e){const t=e.lengthSq();if(0===t)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return Ze.copy(this).projectOnVector(e),this.sub(Ze)}reflect(e){return this.sub(Ze.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(he(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,s=this.z-e.z;return t*t+n*n+s*s}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,t,n){const s=Math.sin(t)*e;return this.x=s*Math.sin(n),this.y=Math.cos(t)*e,this.z=s*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),s=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=s,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,4*t)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,3*t)}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,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=2*(Math.random()-.5),t=Math.random()*Math.PI*2,n=Math.sqrt(1-e**2);return this.x=n*Math.cos(t),this.y=n*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Ze=new Ke,Qe=new Xe;class Je{constructor(e=new Ke(1/0,1/0,1/0),t=new Ke(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,n=e.length;tthis.max.x||e.ythis.max.y||e.zthis.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,t){return t.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.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,et),et.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(ot),ct.subVectors(this.max,ot),nt.subVectors(e.a,ot),st.subVectors(e.b,ot),it.subVectors(e.c,ot),at.subVectors(st,nt),lt.subVectors(it,st),rt.subVectors(nt,it);let t=[0,-at.z,at.y,0,-lt.z,lt.y,0,-rt.z,rt.y,at.z,0,-at.x,lt.z,0,-lt.x,rt.z,0,-rt.x,-at.y,at.x,0,-lt.y,lt.x,0,-rt.y,rt.x,0];return!!ht(t,nt,st,it,ct)&&(t=[1,0,0,0,1,0,0,0,1],!!ht(t,nt,st,it,ct)&&(ut.crossVectors(at,lt),t=[ut.x,ut.y,ut.z],ht(t,nt,st,it,ct)))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,et).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=.5*this.getSize(et).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()||($e[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),$e[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),$e[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),$e[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),$e[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),$e[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),$e[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),$e[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints($e)),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)}}const $e=[new Ke,new Ke,new Ke,new Ke,new Ke,new Ke,new Ke,new Ke],et=new Ke,tt=new Je,nt=new Ke,st=new Ke,it=new Ke,at=new Ke,lt=new Ke,rt=new Ke,ot=new Ke,ct=new Ke,ut=new Ke,pt=new Ke;function ht(e,t,n,s,i){for(let a=0,l=e.length-3;a<=l;a+=3){pt.fromArray(e,a);const l=i.x*Math.abs(pt.x)+i.y*Math.abs(pt.y)+i.z*Math.abs(pt.z),r=t.dot(pt),o=n.dot(pt),c=s.dot(pt);if(Math.max(-Math.max(r,o,c),Math.min(r,o,c))>l)return!1}return!0}const dt=new Je,ft=new Ke,It=new Ke;class mt{constructor(e=new Ke,t=-1){this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const n=this.center;void 0!==t?n.copy(t):dt.setFromPoints(e).getCenter(n);let s=0;for(let t=0,i=e.length;tthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}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;ft.subVectors(e,this.center);const t=ft.lengthSq();if(t>this.radius*this.radius){const e=Math.sqrt(t),n=.5*(e-this.radius);this.center.addScaledVector(ft,n/e),this.radius+=n}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(!0===this.center.equals(e.center)?this.radius=Math.max(this.radius,e.radius):(It.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(ft.copy(e.center).add(It)),this.expandByPoint(ft.copy(e.center).sub(It))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const yt=new Ke,vt=new Ke,wt=new Ke,Tt=new Ke,Et=new Ke,gt=new Ke,Rt=new Ke;class Dt{constructor(e=new Ke,t=new Ke(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.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,yt)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=yt.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(yt.copy(this.origin).addScaledVector(this.direction,t),yt.distanceToSquared(e))}distanceSqToSegment(e,t,n,s){vt.copy(e).add(t).multiplyScalar(.5),wt.copy(t).sub(e).normalize(),Tt.copy(this.origin).sub(vt);const i=.5*e.distanceTo(t),a=-this.direction.dot(wt),l=Tt.dot(this.direction),r=-Tt.dot(wt),o=Tt.lengthSq(),c=Math.abs(1-a*a);let u,p,h,d;if(c>0)if(u=a*r-l,p=a*l-r,d=i*c,u>=0)if(p>=-d)if(p<=d){const e=1/c;u*=e,p*=e,h=u*(u+a*p+2*l)+p*(a*u+p+2*r)+o}else p=i,u=Math.max(0,-(a*p+l)),h=-u*u+p*(p+2*r)+o;else p=-i,u=Math.max(0,-(a*p+l)),h=-u*u+p*(p+2*r)+o;else p<=-d?(u=Math.max(0,-(-a*i+l)),p=u>0?-i:Math.min(Math.max(-i,-r),i),h=-u*u+p*(p+2*r)+o):p<=d?(u=0,p=Math.min(Math.max(-i,-r),i),h=p*(p+2*r)+o):(u=Math.max(0,-(a*i+l)),p=u>0?i:Math.min(Math.max(-i,-r),i),h=-u*u+p*(p+2*r)+o);else p=a>0?-i:i,u=Math.max(0,-(a*p+l)),h=-u*u+p*(p+2*r)+o;return n&&n.copy(this.origin).addScaledVector(this.direction,u),s&&s.copy(vt).addScaledVector(wt,p),h}intersectSphere(e,t){yt.subVectors(e.center,this.origin);const n=yt.dot(this.direction),s=yt.dot(yt)-n*n,i=e.radius*e.radius;if(s>i)return null;const a=Math.sqrt(i-s),l=n-a,r=n+a;return r<0?null:l<0?this.at(r,t):this.at(l,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(0===t)return 0===e.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){const n=this.distanceToPlane(e);return null===n?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return 0===t||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,s,i,a,l,r;const o=1/this.direction.x,c=1/this.direction.y,u=1/this.direction.z,p=this.origin;return o>=0?(n=(e.min.x-p.x)*o,s=(e.max.x-p.x)*o):(n=(e.max.x-p.x)*o,s=(e.min.x-p.x)*o),c>=0?(i=(e.min.y-p.y)*c,a=(e.max.y-p.y)*c):(i=(e.max.y-p.y)*c,a=(e.min.y-p.y)*c),n>a||i>s?null:((i>n||isNaN(n))&&(n=i),(a=0?(l=(e.min.z-p.z)*u,r=(e.max.z-p.z)*u):(l=(e.max.z-p.z)*u,r=(e.min.z-p.z)*u),n>r||l>s?null:((l>n||n!=n)&&(n=l),(r=0?n:s,t)))}intersectsBox(e){return null!==this.intersectBox(e,yt)}intersectTriangle(e,t,n,s,i){Et.subVectors(t,e),gt.subVectors(n,e),Rt.crossVectors(Et,gt);let a,l=this.direction.dot(Rt);if(l>0){if(s)return null;a=1}else{if(!(l<0))return null;a=-1,l=-l}Tt.subVectors(this.origin,e);const r=a*this.direction.dot(gt.crossVectors(Tt,gt));if(r<0)return null;const o=a*this.direction.dot(Et.cross(Tt));if(o<0)return null;if(r+o>l)return null;const c=-a*Tt.dot(Rt);return c<0?null:this.at(c/l,i)}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)}}class St{constructor(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){St.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],void 0!==e&&this.set(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I)}set(e,t,n,s,i,a,l,r,o,c,u,p,h,d,f,I){const m=this.elements;return m[0]=e,m[4]=t,m[8]=n,m[12]=s,m[1]=i,m[5]=a,m[9]=l,m[13]=r,m[2]=o,m[6]=c,m[10]=u,m[14]=p,m[3]=h,m[7]=d,m[11]=f,m[15]=I,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 St).fromArray(this.elements)}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){const t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,n=e.elements,s=1/bt.setFromMatrixColumn(e,0).length(),i=1/bt.setFromMatrixColumn(e,1).length(),a=1/bt.setFromMatrixColumn(e,2).length();return t[0]=n[0]*s,t[1]=n[1]*s,t[2]=n[2]*s,t[3]=0,t[4]=n[4]*i,t[5]=n[5]*i,t[6]=n[6]*i,t[7]=0,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,n=e.x,s=e.y,i=e.z,a=Math.cos(n),l=Math.sin(n),r=Math.cos(s),o=Math.sin(s),c=Math.cos(i),u=Math.sin(i);if("XYZ"===e.order){const e=a*c,n=a*u,s=l*c,i=l*u;t[0]=r*c,t[4]=-r*u,t[8]=o,t[1]=n+s*o,t[5]=e-i*o,t[9]=-l*r,t[2]=i-e*o,t[6]=s+n*o,t[10]=a*r}else if("YXZ"===e.order){const e=r*c,n=r*u,s=o*c,i=o*u;t[0]=e+i*l,t[4]=s*l-n,t[8]=a*o,t[1]=a*u,t[5]=a*c,t[9]=-l,t[2]=n*l-s,t[6]=i+e*l,t[10]=a*r}else if("ZXY"===e.order){const e=r*c,n=r*u,s=o*c,i=o*u;t[0]=e-i*l,t[4]=-a*u,t[8]=s+n*l,t[1]=n+s*l,t[5]=a*c,t[9]=i-e*l,t[2]=-a*o,t[6]=l,t[10]=a*r}else if("ZYX"===e.order){const e=a*c,n=a*u,s=l*c,i=l*u;t[0]=r*c,t[4]=s*o-n,t[8]=e*o+i,t[1]=r*u,t[5]=i*o+e,t[9]=n*o-s,t[2]=-o,t[6]=l*r,t[10]=a*r}else if("YZX"===e.order){const e=a*r,n=a*o,s=l*r,i=l*o;t[0]=r*c,t[4]=i-e*u,t[8]=s*u+n,t[1]=u,t[5]=a*c,t[9]=-l*c,t[2]=-o*c,t[6]=n*u+s,t[10]=e-i*u}else if("XZY"===e.order){const e=a*r,n=a*o,s=l*r,i=l*o;t[0]=r*c,t[4]=-u,t[8]=o*c,t[1]=e*u+i,t[5]=a*c,t[9]=n*u-s,t[2]=s*u-n,t[6]=l*c,t[10]=i*u+e}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Ot,e,At)}lookAt(e,t,n){const s=this.elements;return Lt.subVectors(e,t),0===Lt.lengthSq()&&(Lt.z=1),Lt.normalize(),xt.crossVectors(n,Lt),0===xt.lengthSq()&&(1===Math.abs(n.z)?Lt.x+=1e-4:Lt.z+=1e-4,Lt.normalize(),xt.crossVectors(n,Lt)),xt.normalize(),Ct.crossVectors(Lt,xt),s[0]=xt.x,s[4]=Ct.x,s[8]=Lt.x,s[1]=xt.y,s[5]=Ct.y,s[9]=Lt.y,s[2]=xt.z,s[6]=Ct.z,s[10]=Lt.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,s=t.elements,i=this.elements,a=n[0],l=n[4],r=n[8],o=n[12],c=n[1],u=n[5],p=n[9],h=n[13],d=n[2],f=n[6],I=n[10],m=n[14],y=n[3],v=n[7],w=n[11],T=n[15],E=s[0],g=s[4],R=s[8],D=s[12],S=s[1],b=s[5],N=s[9],O=s[13],A=s[2],x=s[6],C=s[10],L=s[14],P=s[3],q=s[7],_=s[11],M=s[15];return i[0]=a*E+l*S+r*A+o*P,i[4]=a*g+l*b+r*x+o*q,i[8]=a*R+l*N+r*C+o*_,i[12]=a*D+l*O+r*L+o*M,i[1]=c*E+u*S+p*A+h*P,i[5]=c*g+u*b+p*x+h*q,i[9]=c*R+u*N+p*C+h*_,i[13]=c*D+u*O+p*L+h*M,i[2]=d*E+f*S+I*A+m*P,i[6]=d*g+f*b+I*x+m*q,i[10]=d*R+f*N+I*C+m*_,i[14]=d*D+f*O+I*L+m*M,i[3]=y*E+v*S+w*A+T*P,i[7]=y*g+v*b+w*x+T*q,i[11]=y*R+v*N+w*C+T*_,i[15]=y*D+v*O+w*L+T*M,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[4],s=e[8],i=e[12],a=e[1],l=e[5],r=e[9],o=e[13],c=e[2],u=e[6],p=e[10],h=e[14];return e[3]*(+i*r*u-s*o*u-i*l*p+n*o*p+s*l*h-n*r*h)+e[7]*(+t*r*h-t*o*p+i*a*p-s*a*h+s*o*c-i*r*c)+e[11]*(+t*o*u-t*l*h-i*a*u+n*a*h+i*l*c-n*o*c)+e[15]*(-s*l*c-t*r*u+t*l*p+s*a*u-n*a*p+n*r*c)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){const s=this.elements;return e.isVector3?(s[12]=e.x,s[13]=e.y,s[14]=e.z):(s[12]=e,s[13]=t,s[14]=n),this}invert(){const e=this.elements,t=e[0],n=e[1],s=e[2],i=e[3],a=e[4],l=e[5],r=e[6],o=e[7],c=e[8],u=e[9],p=e[10],h=e[11],d=e[12],f=e[13],I=e[14],m=e[15],y=u*I*o-f*p*o+f*r*h-l*I*h-u*r*m+l*p*m,v=d*p*o-c*I*o-d*r*h+a*I*h+c*r*m-a*p*m,w=c*f*o-d*u*o+d*l*h-a*f*h-c*l*m+a*u*m,T=d*u*r-c*f*r-d*l*p+a*f*p+c*l*I-a*u*I,E=t*y+n*v+s*w+i*T;if(0===E)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const g=1/E;return e[0]=y*g,e[1]=(f*p*i-u*I*i-f*s*h+n*I*h+u*s*m-n*p*m)*g,e[2]=(l*I*i-f*r*i+f*s*o-n*I*o-l*s*m+n*r*m)*g,e[3]=(u*r*i-l*p*i-u*s*o+n*p*o+l*s*h-n*r*h)*g,e[4]=v*g,e[5]=(c*I*i-d*p*i+d*s*h-t*I*h-c*s*m+t*p*m)*g,e[6]=(d*r*i-a*I*i-d*s*o+t*I*o+a*s*m-t*r*m)*g,e[7]=(a*p*i-c*r*i+c*s*o-t*p*o-a*s*h+t*r*h)*g,e[8]=w*g,e[9]=(d*u*i-c*f*i-d*n*h+t*f*h+c*n*m-t*u*m)*g,e[10]=(a*f*i-d*l*i+d*n*o-t*f*o-a*n*m+t*l*m)*g,e[11]=(c*l*i-a*u*i-c*n*o+t*u*o+a*n*h-t*l*h)*g,e[12]=T*g,e[13]=(c*f*s-d*u*s+d*n*p-t*f*p-c*n*I+t*u*I)*g,e[14]=(d*l*s-a*f*s-d*n*r+t*f*r+a*n*I-t*l*I)*g,e[15]=(a*u*s-c*l*s+c*n*r-t*u*r-a*n*p+t*l*p)*g,this}scale(e){const t=this.elements,n=e.x,s=e.y,i=e.z;return t[0]*=n,t[4]*=s,t[8]*=i,t[1]*=n,t[5]*=s,t[9]*=i,t[2]*=n,t[6]*=s,t[10]*=i,t[3]*=n,t[7]*=s,t[11]*=i,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],s=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,s))}makeTranslation(e,t,n){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,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const n=Math.cos(t),s=Math.sin(t),i=1-n,a=e.x,l=e.y,r=e.z,o=i*a,c=i*l;return this.set(o*a+n,o*l-s*r,o*r+s*l,0,o*l+s*r,c*l+n,c*r-s*a,0,o*r-s*l,c*r+s*a,i*r*r+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,s,i,a){return this.set(1,n,i,0,e,1,a,0,t,s,1,0,0,0,0,1),this}compose(e,t,n){const s=this.elements,i=t._x,a=t._y,l=t._z,r=t._w,o=i+i,c=a+a,u=l+l,p=i*o,h=i*c,d=i*u,f=a*c,I=a*u,m=l*u,y=r*o,v=r*c,w=r*u,T=n.x,E=n.y,g=n.z;return s[0]=(1-(f+m))*T,s[1]=(h+w)*T,s[2]=(d-v)*T,s[3]=0,s[4]=(h-w)*E,s[5]=(1-(p+m))*E,s[6]=(I+y)*E,s[7]=0,s[8]=(d+v)*g,s[9]=(I-y)*g,s[10]=(1-(p+f))*g,s[11]=0,s[12]=e.x,s[13]=e.y,s[14]=e.z,s[15]=1,this}decompose(e,t,n){const s=this.elements;let i=bt.set(s[0],s[1],s[2]).length();const a=bt.set(s[4],s[5],s[6]).length(),l=bt.set(s[8],s[9],s[10]).length();this.determinant()<0&&(i=-i),e.x=s[12],e.y=s[13],e.z=s[14],Nt.copy(this);const r=1/i,o=1/a,c=1/l;return Nt.elements[0]*=r,Nt.elements[1]*=r,Nt.elements[2]*=r,Nt.elements[4]*=o,Nt.elements[5]*=o,Nt.elements[6]*=o,Nt.elements[8]*=c,Nt.elements[9]*=c,Nt.elements[10]*=c,t.setFromRotationMatrix(Nt),n.x=i,n.y=a,n.z=l,this}makePerspective(e,t,n,s,i,a,l=2e3){const r=this.elements,o=2*i/(t-e),c=2*i/(n-s),u=(t+e)/(t-e),p=(n+s)/(n-s);let h,d;if(l===ie)h=-(a+i)/(a-i),d=-2*a*i/(a-i);else{if(l!==ae)throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+l);h=-a/(a-i),d=-a*i/(a-i)}return r[0]=o,r[4]=0,r[8]=u,r[12]=0,r[1]=0,r[5]=c,r[9]=p,r[13]=0,r[2]=0,r[6]=0,r[10]=h,r[14]=d,r[3]=0,r[7]=0,r[11]=-1,r[15]=0,this}makeOrthographic(e,t,n,s,i,a,l=2e3){const r=this.elements,o=1/(t-e),c=1/(n-s),u=1/(a-i),p=(t+e)*o,h=(n+s)*c;let d,f;if(l===ie)d=(a+i)*u,f=-2*u;else{if(l!==ae)throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+l);d=i*u,f=-1*u}return r[0]=2*o,r[4]=0,r[8]=0,r[12]=-p,r[1]=0,r[5]=2*c,r[9]=0,r[13]=-h,r[2]=0,r[6]=0,r[10]=f,r[14]=-d,r[3]=0,r[7]=0,r[11]=0,r[15]=1,this}equals(e){const t=this.elements,n=e.elements;for(let e=0;e<16;e++)if(t[e]!==n[e])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}}const bt=new Ke,Nt=new St,Ot=new Ke(0,0,0),At=new Ke(1,1,1),xt=new Ke,Ct=new Ke,Lt=new Ke,Pt=new St,qt=new Xe;class _t{constructor(e=0,t=0,n=0,s=_t.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=n,this._order=s}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,t,n,s=this._order){return this._x=e,this._y=t,this._z=n,this._order=s,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,t=this._order,n=!0){const s=e.elements,i=s[0],a=s[4],l=s[8],r=s[1],o=s[5],c=s[9],u=s[2],p=s[6],h=s[10];switch(t){case"XYZ":this._y=Math.asin(he(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-c,h),this._z=Math.atan2(-a,i)):(this._x=Math.atan2(p,o),this._z=0);break;case"YXZ":this._x=Math.asin(-he(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(l,h),this._z=Math.atan2(r,o)):(this._y=Math.atan2(-u,i),this._z=0);break;case"ZXY":this._x=Math.asin(he(p,-1,1)),Math.abs(p)<.9999999?(this._y=Math.atan2(-u,h),this._z=Math.atan2(-a,o)):(this._y=0,this._z=Math.atan2(r,i));break;case"ZYX":this._y=Math.asin(-he(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(p,h),this._z=Math.atan2(r,i)):(this._x=0,this._z=Math.atan2(-a,o));break;case"YZX":this._z=Math.asin(he(r,-1,1)),Math.abs(r)<.9999999?(this._x=Math.atan2(-c,o),this._y=Math.atan2(-u,i)):(this._x=0,this._y=Math.atan2(l,h));break;case"XZY":this._z=Math.asin(-he(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(p,o),this._y=Math.atan2(l,i)):(this._x=Math.atan2(-c,h),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,!0===n&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return Pt.makeRotationFromQuaternion(e),this.setFromRotationMatrix(Pt,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return qt.setFromEuler(this),this.setFromQuaternion(qt,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],void 0!==e[3]&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+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}}_t.DEFAULT_ORDER="XYZ";class Mt{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let e=0;e1){for(let e=0;e0&&(n=n.concat(i))}return n}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Vt,e,jt),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Vt,zt,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);const t=this.children;for(let n=0,s=t.length;n0&&(s.userData=this.userData),s.layers=this.layers.mask,s.matrix=this.matrix.toArray(),s.up=this.up.toArray(),!1===this.matrixAutoUpdate&&(s.matrixAutoUpdate=!1),this.isInstancedMesh&&(s.type="InstancedMesh",s.count=this.count,s.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(s.instanceColor=this.instanceColor.toJSON())),this.isScene)this.background&&(this.background.isColor?s.background=this.background.toJSON():this.background.isTexture&&(s.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&!0!==this.environment.isRenderTargetTexture&&(s.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){s.geometry=i(e.geometries,this.geometry);const t=this.geometry.parameters;if(void 0!==t&&void 0!==t.shapes){const n=t.shapes;if(Array.isArray(n))for(let t=0,s=n.length;t0){s.children=[];for(let t=0;t0){s.animations=[];for(let t=0;t0&&(n.geometries=t),s.length>0&&(n.materials=s),i.length>0&&(n.textures=i),l.length>0&&(n.images=l),r.length>0&&(n.shapes=r),o.length>0&&(n.skeletons=o),c.length>0&&(n.animations=c),u.length>0&&(n.nodes=u)}return n.object=s,n;function a(e){const t=[];for(const n in e){const s=e[n];delete s.metadata,t.push(s)}return t}}clone(e){return(new this.constructor).copy(this,e)}copy(e,t=!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.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,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)),!0===t)for(let t=0;t0?s.multiplyScalar(1/Math.sqrt(i)):s.set(0,0,0)}static getBarycoord(e,t,n,s,i){Qt.subVectors(s,t),Jt.subVectors(n,t),$t.subVectors(e,t);const a=Qt.dot(Qt),l=Qt.dot(Jt),r=Qt.dot($t),o=Jt.dot(Jt),c=Jt.dot($t),u=a*o-l*l;if(0===u)return i.set(-2,-1,-1);const p=1/u,h=(o*r-l*c)*p,d=(a*c-l*r)*p;return i.set(1-h-d,d,h)}static containsPoint(e,t,n,s){return this.getBarycoord(e,t,n,s,en),en.x>=0&&en.y>=0&&en.x+en.y<=1}static getUV(e,t,n,s,i,a,l,r){return!1===on&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),on=!0),this.getInterpolation(e,t,n,s,i,a,l,r)}static getInterpolation(e,t,n,s,i,a,l,r){return this.getBarycoord(e,t,n,s,en),r.setScalar(0),r.addScaledVector(i,en.x),r.addScaledVector(a,en.y),r.addScaledVector(l,en.z),r}static isFrontFacing(e,t,n,s){return Qt.subVectors(n,t),Jt.subVectors(e,t),Qt.cross(Jt).dot(s)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,s){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[s]),this}setFromAttributeAndIndices(e,t,n,s){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,s),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 Qt.subVectors(this.c,this.b),Jt.subVectors(this.a,this.b),.5*Qt.cross(Jt).length()}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return cn.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return cn.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,n,s,i){return!1===on&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),on=!0),cn.getInterpolation(e,this.a,this.b,this.c,t,n,s,i)}getInterpolation(e,t,n,s,i){return cn.getInterpolation(e,this.a,this.b,this.c,t,n,s,i)}containsPoint(e){return cn.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return cn.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,s=this.b,i=this.c;let a,l;tn.subVectors(s,n),nn.subVectors(i,n),an.subVectors(e,n);const r=tn.dot(an),o=nn.dot(an);if(r<=0&&o<=0)return t.copy(n);ln.subVectors(e,s);const c=tn.dot(ln),u=nn.dot(ln);if(c>=0&&u<=c)return t.copy(s);const p=r*u-c*o;if(p<=0&&r>=0&&c<=0)return a=r/(r-c),t.copy(n).addScaledVector(tn,a);rn.subVectors(e,i);const h=tn.dot(rn),d=nn.dot(rn);if(d>=0&&h<=d)return t.copy(i);const f=h*o-r*d;if(f<=0&&o>=0&&d<=0)return l=o/(o-d),t.copy(n).addScaledVector(nn,l);const I=c*d-h*u;if(I<=0&&u-c>=0&&h-d>=0)return sn.subVectors(i,s),l=(u-c)/(u-c+(h-d)),t.copy(s).addScaledVector(sn,l);const m=1/(I+f+p);return a=f*m,l=p*m,t.copy(n).addScaledVector(tn,a).addScaledVector(nn,l)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}let un=0;class pn extends le{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:un++}),this.uuid=pe(),this.name="",this.type="Material",this.blending=1,this.side=o,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.alphaHash=!1,this.blendSrc=204,this.blendDst=205,this.blendEquation=h,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=3,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=519,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=te,this.stencilZFail=te,this.stencilZPass=te,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(void 0!==e)for(const t in e){const n=e[t];if(void 0===n){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const s=this[t];void 0!==s?s&&s.isColor?s.set(n):s&&s.isVector3&&n&&n.isVector3?s.copy(n):this[t]=n:console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`)}}toJSON(e){const t=void 0===e||"string"==typeof e;t&&(e={textures:{},images:{}});const n={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};function s(e){const t=[];for(const n in e){const s=e[n];delete s.metadata,t.push(s)}return t}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),void 0!==this.sheen&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(n.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(n.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),void 0!==this.anisotropy&&(n.anisotropy=this.anisotropy),void 0!==this.anisotropyRotation&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,void 0!==this.combine&&(n.combine=this.combine)),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),void 0!==this.transmission&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),void 0!==this.thickness&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(n.size=this.size),null!==this.shadowSide&&(n.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(n.blending=this.blending),this.side!==o&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),!0===this.transparent&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,void 0!==this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.alphaHash&&(n.alphaHash=this.alphaHash),!0===this.alphaToCoverage&&(n.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!0===this.forceSinglePass&&(n.forceSinglePass=this.forceSinglePass),!0===this.wireframe&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(n.flatShading=this.flatShading),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),!1===this.fog&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData),t){const t=s(e.textures),i=s(e.images);t.length>0&&(n.textures=t),i.length>0&&(n.images=i)}return n}clone(){return(new this.constructor).copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let n=null;if(null!==t){const e=t.length;n=new Array(e);for(let s=0;s!==e;++s)n[s]=t[s].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){!0===e&&this.version++}}const hn={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},dn={h:0,s:0,l:0},fn={h:0,s:0,l:0};function In(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+6*(t-e)*(2/3-n):e}class mn{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,n)}set(e,t,n){if(void 0===t&&void 0===n){const t=e;t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t)}else this.setRGB(e,t,n);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=J){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(255&e)/255,qe.toWorkingColorSpace(this,t),this}setRGB(e,t,n,s=qe.workingColorSpace){return this.r=e,this.g=t,this.b=n,qe.toWorkingColorSpace(this,s),this}setHSL(e,t,n,s=qe.workingColorSpace){if(e=de(e,1),t=he(t,0,1),n=he(n,0,1),0===t)this.r=this.g=this.b=n;else{const s=n<=.5?n*(1+t):n+t-n*t,i=2*n-s;this.r=In(i,s,e+1/3),this.g=In(i,s,e),this.b=In(i,s,e-1/3)}return qe.toWorkingColorSpace(this,s),this}setStyle(e,t=J){function n(t){void 0!==t&&parseFloat(t)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let s;if(s=/^(\w+)\(([^\)]*)\)/.exec(e)){let i;const a=s[1],l=s[2];switch(a){case"rgb":case"rgba":if(i=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return n(i[4]),this.setRGB(Math.min(255,parseInt(i[1],10))/255,Math.min(255,parseInt(i[2],10))/255,Math.min(255,parseInt(i[3],10))/255,t);if(i=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return n(i[4]),this.setRGB(Math.min(100,parseInt(i[1],10))/100,Math.min(100,parseInt(i[2],10))/100,Math.min(100,parseInt(i[3],10))/100,t);break;case"hsl":case"hsla":if(i=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return n(i[4]),this.setHSL(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(s=/^\#([A-Fa-f\d]+)$/.exec(e)){const n=s[1],i=n.length;if(3===i)return this.setRGB(parseInt(n.charAt(0),16)/15,parseInt(n.charAt(1),16)/15,parseInt(n.charAt(2),16)/15,t);if(6===i)return this.setHex(parseInt(n,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=J){const n=hn[e.toLowerCase()];return void 0!==n?this.setHex(n,t):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=Oe(e.r),this.g=Oe(e.g),this.b=Oe(e.b),this}copyLinearToSRGB(e){return this.r=Ae(e.r),this.g=Ae(e.g),this.b=Ae(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=J){return qe.fromWorkingColorSpace(yn.copy(this),e),65536*Math.round(he(255*yn.r,0,255))+256*Math.round(he(255*yn.g,0,255))+Math.round(he(255*yn.b,0,255))}getHexString(e=J){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=qe.workingColorSpace){qe.fromWorkingColorSpace(yn.copy(this),t);const n=yn.r,s=yn.g,i=yn.b,a=Math.max(n,s,i),l=Math.min(n,s,i);let r,o;const c=(l+a)/2;if(l===a)r=0,o=0;else{const e=a-l;switch(o=c<=.5?e/(a+l):e/(2-a-l),a){case n:r=(s-i)/e+(s0&&(e.userData=this.userData),void 0!==this.parameters){const t=this.parameters;for(const n in t)void 0!==t[n]&&(e[n]=t[n]);return e}e.data={attributes:{}};const t=this.index;null!==t&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const n=this.attributes;for(const t in n){const s=n[t];e.data.attributes[t]=s.toJSON(e.data)}const s={};let i=!1;for(const t in this.morphAttributes){const n=this.morphAttributes[t],a=[];for(let t=0,s=n.length;t0&&(s[t]=a,i=!0)}i&&(e.data.morphAttributes=s,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const l=this.boundingSphere;return null!==l&&(e.data.boundingSphere={center:l.center.toArray(),radius:l.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;const t={};this.name=e.name;const n=e.index;null!==n&&this.setIndex(n.clone(t));const s=e.attributes;for(const e in s){const n=s[e];this.setAttribute(e,n.clone(t))}const i=e.morphAttributes;for(const e in i){const n=[],s=i[e];for(let e=0,i=s.length;e0){const n=e[t[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e(e.far-e.near)**2)return}Pn.copy(i).invert(),qn.copy(e.ray).applyMatrix4(Pn),null!==n.boundingBox&&!1===qn.intersectsBox(n.boundingBox)||this._computeIntersections(e,t,qn)}}_computeIntersections(e,t,n){let s;const i=this.geometry,a=this.material,l=i.index,r=i.attributes.position,o=i.attributes.uv,c=i.attributes.uv1,u=i.attributes.normal,p=i.groups,h=i.drawRange;if(null!==l)if(Array.isArray(a))for(let i=0,r=p.length;in.far?null:{distance:p,point:Kn.clone(),object:e}}(e,t,n,s,Hn,Bn,Un,Xn);if(h){i&&(Vn.fromBufferAttribute(i,r),jn.fromBufferAttribute(i,u),zn.fromBufferAttribute(i,p),h.uv=cn.getInterpolation(Xn,Hn,Bn,Un,Vn,jn,zn,new Te)),a&&(Vn.fromBufferAttribute(a,r),jn.fromBufferAttribute(a,u),zn.fromBufferAttribute(a,p),h.uv1=cn.getInterpolation(Xn,Hn,Bn,Un,Vn,jn,zn,new Te),h.uv2=h.uv1),l&&(Wn.fromBufferAttribute(l,r),kn.fromBufferAttribute(l,u),Yn.fromBufferAttribute(l,p),h.normal=cn.getInterpolation(Xn,Hn,Bn,Un,Wn,kn,Yn,new Ke),h.normal.dot(s.direction)>0&&h.normal.multiplyScalar(-1));const e={a:r,b:u,c:p,normal:new Ke,materialIndex:0};cn.getNormal(Hn,Bn,Un,e.normal),h.face=e}return h}class Jn extends Ln{constructor(e=1,t=1,n=1,s=1,i=1,a=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:s,heightSegments:i,depthSegments:a};const l=this;s=Math.floor(s),i=Math.floor(i),a=Math.floor(a);const r=[],o=[],c=[],u=[];let p=0,h=0;function d(e,t,n,s,i,a,d,f,I,m,y){const v=a/I,w=d/m,T=a/2,E=d/2,g=f/2,R=I+1,D=m+1;let S=0,b=0;const N=new Ke;for(let a=0;a0?1:-1,c.push(N.x,N.y,N.z),u.push(r/I),u.push(1-a/m),S+=1}}for(let e=0;e0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const n={};for(const e in this.extensions)!0===this.extensions[e]&&(n[e]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}}class is extends Zt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new St,this.projectionMatrix=new St,this.projectionMatrixInverse=new St,this.coordinateSystem=ie}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}class as extends is{constructor(e=50,t=1,n=.1,s=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=s,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=null===e.view?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=2*ue*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(.5*ce*this.fov);return.5*this.getFilmHeight()/e}getEffectiveFOV(){return 2*ue*Math.atan(Math.tan(.5*ce*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,n,s,i,a){this.aspect=e/t,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=s,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(.5*ce*this.fov)/this.zoom,n=2*t,s=this.aspect*n,i=-.5*s;const a=this.view;if(null!==this.view&&this.view.enabled){const e=a.fullWidth,l=a.fullHeight;i+=a.offsetX*s/e,t-=a.offsetY*n/l,s*=a.width/e,n*=a.height/l}const l=this.filmOffset;0!==l&&(i+=e*l/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+s,t,t-n,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,null!==this.view&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const ls=-90;class rs extends Zt{constructor(e,t,n){super(),this.type="CubeCamera",this.renderTarget=n,this.coordinateSystem=null;const s=new as(ls,1,e,t);s.layers=this.layers,this.add(s);const i=new as(ls,1,e,t);i.layers=this.layers,this.add(i);const a=new as(ls,1,e,t);a.layers=this.layers,this.add(a);const l=new as(ls,1,e,t);l.layers=this.layers,this.add(l);const r=new as(ls,1,e,t);r.layers=this.layers,this.add(r);const o=new as(ls,1,e,t);o.layers=this.layers,this.add(o)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[n,s,i,a,l,r]=t;for(const e of t)this.remove(e);if(e===ie)n.up.set(0,1,0),n.lookAt(1,0,0),s.up.set(0,1,0),s.lookAt(-1,0,0),i.up.set(0,0,-1),i.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),l.up.set(0,1,0),l.lookAt(0,0,1),r.up.set(0,1,0),r.lookAt(0,0,-1);else{if(e!==ae)throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);n.up.set(0,-1,0),n.lookAt(-1,0,0),s.up.set(0,-1,0),s.lookAt(1,0,0),i.up.set(0,0,1),i.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),l.up.set(0,-1,0),l.lookAt(0,0,1),r.up.set(0,-1,0),r.lookAt(0,0,-1)}for(const e of t)this.add(e),e.updateMatrixWorld()}update(e,t){null===this.parent&&this.updateMatrixWorld();const n=this.renderTarget;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,i,a,l,r,o]=this.children,c=e.getRenderTarget(),u=e.xr.enabled;e.xr.enabled=!1;const p=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0),e.render(t,s),e.setRenderTarget(n,1),e.render(t,i),e.setRenderTarget(n,2),e.render(t,a),e.setRenderTarget(n,3),e.render(t,l),e.setRenderTarget(n,4),e.render(t,r),n.texture.generateMipmaps=p,e.setRenderTarget(n,5),e.render(t,o),e.setRenderTarget(c),e.xr.enabled=u,n.texture.needsPMREMUpdate=!0}}class os extends Ge{constructor(e,t,n,s,i,a,l,r,o,c){super(e=void 0!==e?e:[],t=void 0!==t?t:g,n,s,i,a,l,r,o,c),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class cs extends ze{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const n={width:e,height:e,depth:1},s=[n,n,n,n,n,n];void 0!==t.encoding&&(Ne("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===Z?J:Q),this.texture=new os(s,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==t.generateMipmaps&&t.generateMipmaps,this.texture.minFilter=void 0!==t.minFilter?t.minFilter:x}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const n={tEquirect:{value:null}},s="\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t",i="\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t",a=new Jn(5,5,5),l=new ss({name:"CubemapFromEquirect",uniforms:$n(n),vertexShader:s,fragmentShader:i,side:c,blending:p});l.uniforms.tEquirect.value=t;const r=new Zn(a,l),o=t.minFilter;return t.minFilter===C&&(t.minFilter=x),new rs(1,10,this).update(e,r),t.minFilter=o,r.geometry.dispose(),r.material.dispose(),this}clear(e,t,n,s){const i=e.getRenderTarget();for(let i=0;i<6;i++)e.setRenderTarget(this,i),e.clear(t,n,s);e.setRenderTarget(i)}}const us=new Ke,ps=new Ke,hs=new Ee;class ds{constructor(e=new Ke(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,n,s){return this.normal.set(e,t,n),this.constant=s,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,n){const s=us.subVectors(n,t).cross(ps.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(s,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){const n=e.delta(us),s=this.normal.dot(n);if(0===s)return 0===this.distanceToPoint(e.start)?t.copy(e.start):null;const i=-(e.start.dot(this.normal)+this.constant)/s;return i<0||i>1?null:t.copy(e.start).addScaledVector(n,i)}intersectsLine(e){const t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>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,t){const n=t||hs.getNormalMatrix(e),s=this.coplanarPoint(us).applyMatrix4(e),i=this.normal.applyMatrix3(n).normalize();return this.constant=-s.dot(i),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)}}const fs=new mt,Is=new Ke;class ms{constructor(e=new ds,t=new ds,n=new ds,s=new ds,i=new ds,a=new ds){this.planes=[e,t,n,s,i,a]}set(e,t,n,s,i,a){const l=this.planes;return l[0].copy(e),l[1].copy(t),l[2].copy(n),l[3].copy(s),l[4].copy(i),l[5].copy(a),this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e,t=2e3){const n=this.planes,s=e.elements,i=s[0],a=s[1],l=s[2],r=s[3],o=s[4],c=s[5],u=s[6],p=s[7],h=s[8],d=s[9],f=s[10],I=s[11],m=s[12],y=s[13],v=s[14],w=s[15];if(n[0].setComponents(r-i,p-o,I-h,w-m).normalize(),n[1].setComponents(r+i,p+o,I+h,w+m).normalize(),n[2].setComponents(r+a,p+c,I+d,w+y).normalize(),n[3].setComponents(r-a,p-c,I-d,w-y).normalize(),n[4].setComponents(r-l,p-u,I-f,w-v).normalize(),t===ie)n[5].setComponents(r+l,p+u,I+f,w+v).normalize();else{if(t!==ae)throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);n[5].setComponents(l,u,f,v).normalize()}return this}intersectsObject(e){if(void 0!==e.boundingSphere)null===e.boundingSphere&&e.computeBoundingSphere(),fs.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;null===t.boundingSphere&&t.computeBoundingSphere(),fs.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(fs)}intersectsSprite(e){return fs.center.set(0,0,0),fs.radius=.7071067811865476,fs.applyMatrix4(e.matrixWorld),this.intersectsSphere(fs)}intersectsSphere(e){const t=this.planes,n=e.center,s=-e.radius;for(let e=0;e<6;e++)if(t[e].distanceToPoint(n)0?e.max.x:e.min.x,Is.y=s.normal.y>0?e.max.y:e.min.y,Is.z=s.normal.z>0?e.max.z:e.min.z,s.distanceToPoint(Is)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function ys(){let e=null,t=!1,n=null,s=null;function i(t,a){n(t,a),s=e.requestAnimationFrame(i)}return{start:function(){!0!==t&&null!==n&&(s=e.requestAnimationFrame(i),t=!0)},stop:function(){e.cancelAnimationFrame(s),t=!1},setAnimationLoop:function(e){n=e},setContext:function(t){e=t}}}function vs(e,t){const n=t.isWebGL2,s=new WeakMap;return{get:function(e){return e.isInterleavedBufferAttribute&&(e=e.data),s.get(e)},remove:function(t){t.isInterleavedBufferAttribute&&(t=t.data);const n=s.get(t);n&&(e.deleteBuffer(n.buffer),s.delete(t))},update:function(t,i){if(t.isGLBufferAttribute){const e=s.get(t);return void((!e||e.version 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nvec3 pow2( const in vec3 x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\n#ifdef USE_ALPHAHASH\n\tvarying vec3 vPosition;\n#endif\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat luminance( const in vec3 rgb ) {\n\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\n\treturn dot( weights, rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}\nvec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n} // validated",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\thighp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\n\t\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\n\t\tuv.x *= CUBEUV_TEXEL_WIDTH;\n\t\tuv.y *= CUBEUV_TEXEL_HEIGHT;\n\t\t#ifdef texture2DGradEXT\n\t\t\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\n\t\t#else\n\t\t\treturn texture2D( envMap, uv ).rgb;\n\t\t#endif\n\t}\n\t#define cubeUV_r0 1.0\n\t#define cubeUV_v0 0.339\n\t#define cubeUV_m0 - 2.0\n\t#define cubeUV_r1 0.8\n\t#define cubeUV_v1 0.276\n\t#define cubeUV_m1 - 1.0\n\t#define cubeUV_r4 0.4\n\t#define cubeUV_v4 0.046\n\t#define cubeUV_m4 2.0\n\t#define cubeUV_r5 0.305\n\t#define cubeUV_v5 0.016\n\t#define cubeUV_m5 3.0\n\t#define cubeUV_r6 0.21\n\t#define cubeUV_v6 0.0038\n\t#define cubeUV_m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= cubeUV_r1 ) {\n\t\t\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n\t\t} else if ( roughness >= cubeUV_r4 ) {\n\t\t\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n\t\t} else if ( roughness >= cubeUV_r5 ) {\n\t\t\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n\t\t} else if ( roughness >= cubeUV_r6 ) {\n\t\t\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",colorspace_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",colorspace_pars_fragment:"vec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#ifdef USE_ENVMAP\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\tvec3 reflectVec = reflect( - viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\t#ifdef USE_ANISOTROPY\n\t\tvec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {\n\t\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\t\tvec3 bentNormal = cross( bitangent, viewDir );\n\t\t\t\tbentNormal = normalize( cross( bentNormal, bitangent ) );\n\t\t\t\tbentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );\n\t\t\t\treturn getIBLRadiance( viewDir, bentNormal, roughness );\n\t\t\t#else\n\t\t\t\treturn vec3( 0.0 );\n\t\t\t#endif\n\t\t}\n\t#endif\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\tvec2 fw = fwidth( coord ) * 0.5;\n\t\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_fragment:"LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;",lights_lambert_pars_fragment:"varying vec3 vViewPosition;\nstruct LambertMaterial {\n\tvec3 diffuseColor;\n\tfloat specularStrength;\n};\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Lambert\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Lambert",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( LEGACY_LIGHTS )\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#else\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\tmaterial.ior = ior;\n\t#ifdef USE_SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULAR_COLORMAP\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\n\t\t#endif\n\t\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_IRIDESCENCE\n\tmaterial.iridescence = iridescence;\n\tmaterial.iridescenceIOR = iridescenceIOR;\n\t#ifdef USE_IRIDESCENCEMAP\n\t\tmaterial.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;\n\t#endif\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;\n\t#else\n\t\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\n\t#endif\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\t#ifdef USE_ANISOTROPYMAP\n\t\tmat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x );\n\t\tvec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb;\n\t\tvec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b;\n\t#else\n\t\tvec2 anisotropyV = anisotropyVector;\n\t#endif\n\tmaterial.anisotropy = length( anisotropyV );\n\tanisotropyV /= material.anisotropy;\n\tmaterial.anisotropy = saturate( material.anisotropy );\n\tmaterial.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );\n\tmaterial.anisotropyT = tbn[ 0 ] * anisotropyV.x - tbn[ 1 ] * anisotropyV.y;\n\tmaterial.anisotropyB = tbn[ 1 ] * anisotropyV.x + tbn[ 0 ] * anisotropyV.y;\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_IRIDESCENCE\n\t\tfloat iridescence;\n\t\tfloat iridescenceIOR;\n\t\tfloat iridescenceThickness;\n\t\tvec3 iridescenceFresnel;\n\t\tvec3 iridescenceF0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n\t#ifdef IOR\n\t\tfloat ior;\n\t#endif\n\t#ifdef USE_TRANSMISSION\n\t\tfloat transmission;\n\t\tfloat transmissionAlpha;\n\t\tfloat thickness;\n\t\tfloat attenuationDistance;\n\t\tvec3 attenuationColor;\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat anisotropy;\n\t\tfloat alphaT;\n\t\tvec3 anisotropyT;\n\t\tvec3 anisotropyB;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec3 sheenSpecular = vec3( 0.0 );\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n float x2 = x * x;\n float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\n}\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\n#ifdef USE_ANISOTROPY\n\tfloat V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) {\n\t\tfloat gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) );\n\t\tfloat gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) );\n\t\tfloat v = 0.5 / ( gv + gl );\n\t\treturn saturate(v);\n\t}\n\tfloat D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) {\n\t\tfloat a2 = alphaT * alphaB;\n\t\thighp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH );\n\t\thighp float v2 = dot( v, v );\n\t\tfloat w2 = a2 / v2;\n\t\treturn RECIPROCAL_PI * a2 * pow2 ( w2 );\n\t}\n#endif\n#ifdef USE_CLEARCOAT\n\tvec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\n\t\tvec3 f0 = material.clearcoatF0;\n\t\tfloat f90 = material.clearcoatF90;\n\t\tfloat roughness = material.clearcoatRoughness;\n\t\tfloat alpha = pow2( roughness );\n\t\tvec3 halfDir = normalize( lightDir + viewDir );\n\t\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\t\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\t\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\t\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\t\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t\treturn F * ( V * D );\n\t}\n#endif\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\n\tvec3 f0 = material.specularColor;\n\tfloat f90 = material.specularF90;\n\tfloat roughness = material.roughness;\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t#ifdef USE_IRIDESCENCE\n\t\tF = mix( F, material.iridescenceFresnel, material.iridescence );\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat dotTL = dot( material.anisotropyT, lightDir );\n\t\tfloat dotTV = dot( material.anisotropyT, viewDir );\n\t\tfloat dotTH = dot( material.anisotropyT, halfDir );\n\t\tfloat dotBL = dot( material.anisotropyB, lightDir );\n\t\tfloat dotBV = dot( material.anisotropyB, viewDir );\n\t\tfloat dotBH = dot( material.anisotropyB, halfDir );\n\t\tfloat V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL );\n\t\tfloat D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH );\n\t#else\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t#endif\n\treturn F * ( V * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\n#ifdef USE_IRIDESCENCE\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#else\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#endif\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\t#ifdef USE_IRIDESCENCE\n\t\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\n\t#else\n\t\tvec3 Fr = specularColor;\n\t#endif\n\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\t#ifdef USE_IRIDESCENCE\n\t\tcomputeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n\t#else\n\t\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\t#endif\n\tvec3 totalScattering = singleScattering + multiScattering;\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\n\tfloat dotNVi = saturate( dot( normal, geometry.viewDir ) );\n\tif ( material.iridescenceThickness == 0.0 ) {\n\t\tmaterial.iridescence = 0.0;\n\t} else {\n\t\tmaterial.iridescence = saturate( material.iridescence );\n\t}\n\tif ( material.iridescence > 0.0 ) {\n\t\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\t\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n\t}\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\tvec4 spotColor;\n\tvec3 spotLightCoord;\n\tbool inSpotLightMap;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n\t\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n\t\t#else\n\t\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#endif\n\t\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n\t\t\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n\t\t\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n\t\t\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n\t\t\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n\t\t#endif\n\t\t#undef SPOT_LIGHT_MAP_INDEX\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry.normal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\t#ifdef USE_ANISOTROPY\n\t\tradiance += getIBLAnisotropyRadiance( geometry.viewDir, geometry.normal, material.roughness, material.anisotropyB, material.anisotropy );\n\t#else\n\t\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 sampledDiffuseColor = texture2D( map, vMapUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\tsampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );\n\t\n\t#endif\n\tdiffuseColor *= sampledDiffuseColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t#if defined( USE_POINTS_UV )\n\t\tvec2 uv = vUv;\n\t#else\n\t\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tdiffuseColor *= texture2D( map, uv );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_POINTS_UV )\n\tvarying vec2 vUv;\n#else\n\t#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t\tuniform mat3 uvTransform;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphcolor_vertex:"#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\n\tvColor *= morphTargetBaseInfluence;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t#if defined( USE_COLOR_ALPHA )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\n\t\t#elif defined( USE_COLOR )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\n\t\t#endif\n\t}\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform ivec2 morphTargetsTextureSize;\n\t\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\n\t\t\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\n\t\t\tint y = texelIndex / morphTargetsTextureSize.x;\n\t\t\tint x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\n\t\t\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = dFdx( vViewPosition );\n\tvec3 fdy = dFdy( vViewPosition );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal *= faceDirection;\n\t#endif\n#endif\n#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn = getTangentFrame( - vViewPosition, normal,\n\t\t#if defined( USE_NORMALMAP )\n\t\t\tvNormalMapUv\n\t\t#elif defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tvClearcoatNormalMapUv\n\t\t#else\n\t\t\tvUv\n\t\t#endif\n\t\t);\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn[0] *= faceDirection;\n\t\ttbn[1] *= faceDirection;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn2[0] *= faceDirection;\n\t\ttbn2[1] *= faceDirection;\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef USE_NORMALMAP_OBJECTSPACE\n\tnormal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( USE_NORMALMAP_TANGENTSPACE )\n\tvec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\tnormal = normalize( tbn * mapN );\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef USE_NORMALMAP_OBJECTSPACE\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) )\n\tmat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( uv.st );\n\t\tvec2 st1 = dFdy( uv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );\n\t\treturn mat3( T * scale, B * scale, N );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\tclearcoatNormal = normalize( tbn2 * clearcoatMapN );\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif",iridescence_pars_fragment:"#ifdef USE_IRIDESCENCEMAP\n\tuniform sampler2D iridescenceMap;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform sampler2D iridescenceThicknessMap;\n#endif",opaque_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec2 packDepthToRG( in highp float v ) {\n\treturn packDepthToRGBA( v ).yx;\n}\nfloat unpackRGToDepth( const in highp vec2 v ) {\n\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\treturn depth * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * depth - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#if NUM_SPOT_LIGHT_MAPS > 0\n\tuniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tuniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\tvec4 shadowWorldPosition;\n#endif\n#if defined( USE_SHADOWMAP )\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if NUM_SPOT_LIGHT_COORDS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition;\n\t\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n\t\t#endif\n\t\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\tuniform highp sampler2D boneTexture;\n\tuniform int boneTextureSize;\n\tmat4 getBoneMatrix( const in float i ) {\n\t\tfloat j = i * 4.0;\n\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\ty = dy * ( y + 0.5 );\n\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\treturn bone;\n\t}\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn saturate( toneMappingExposure * color );\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tmaterial.transmission = transmission;\n\tmaterial.transmissionAlpha = 1.0;\n\tmaterial.thickness = thickness;\n\tmaterial.attenuationDistance = attenuationDistance;\n\tmaterial.attenuationColor = attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tmaterial.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tmaterial.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmitted = getIBLVolumeRefraction(\n\t\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\n\t\tmaterial.attenuationColor, material.attenuationDistance );\n\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );\n\ttotalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tfloat w0( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\n\t}\n\tfloat w1( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 );\n\t}\n\tfloat w2( float a ){\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\n\t}\n\tfloat w3( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * a );\n\t}\n\tfloat g0( float a ) {\n\t\treturn w0( a ) + w1( a );\n\t}\n\tfloat g1( float a ) {\n\t\treturn w2( a ) + w3( a );\n\t}\n\tfloat h0( float a ) {\n\t\treturn - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\n\t}\n\tfloat h1( float a ) {\n\t\treturn 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\n\t}\n\tvec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {\n\t\tuv = uv * texelSize.zw + 0.5;\n\t\tvec2 iuv = floor( uv );\n\t\tvec2 fuv = fract( uv );\n\t\tfloat g0x = g0( fuv.x );\n\t\tfloat g1x = g1( fuv.x );\n\t\tfloat h0x = h0( fuv.x );\n\t\tfloat h1x = h1( fuv.x );\n\t\tfloat h0y = h0( fuv.y );\n\t\tfloat h1y = h1( fuv.y );\n\t\tvec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\treturn g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\n\t\t\tg1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\n\t}\n\tvec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\n\t\tvec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\n\t\tvec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\n\t\tvec2 fLodSizeInv = 1.0 / fLodSize;\n\t\tvec2 cLodSizeInv = 1.0 / cLodSize;\n\t\tvec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );\n\t\tvec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );\n\t\treturn mix( fSample, cSample, fract( lod ) );\n\t}\n\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\n\t\tfloat lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\treturn textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\n\t}\n\tvec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tif ( isinf( attenuationDistance ) ) {\n\t\t\treturn vec3( 1.0 );\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\n\t\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\n\t\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\n\t\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 attenuatedColor = transmittance * transmittedLight.rgb;\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\tfloat transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0;\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor );\n\t}\n#endif",uv_pars_fragment:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_pars_vertex:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tuniform mat3 mapTransform;\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform mat3 alphaMapTransform;\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tuniform mat3 lightMapTransform;\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tuniform mat3 aoMapTransform;\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tuniform mat3 bumpMapTransform;\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tuniform mat3 normalMapTransform;\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tuniform mat3 displacementMapTransform;\n\tvarying vec2 vDisplacementMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tuniform mat3 emissiveMapTransform;\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tuniform mat3 metalnessMapTransform;\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tuniform mat3 roughnessMapTransform;\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tuniform mat3 anisotropyMapTransform;\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tuniform mat3 clearcoatMapTransform;\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform mat3 clearcoatNormalMapTransform;\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform mat3 clearcoatRoughnessMapTransform;\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tuniform mat3 sheenColorMapTransform;\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tuniform mat3 sheenRoughnessMapTransform;\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tuniform mat3 iridescenceMapTransform;\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform mat3 iridescenceThicknessMapTransform;\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tuniform mat3 specularMapTransform;\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tuniform mat3 specularColorMapTransform;\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tuniform mat3 specularIntensityMapTransform;\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_vertex:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvUv = vec3( uv, 1 ).xy;\n#endif\n#ifdef USE_MAP\n\tvMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ALPHAMAP\n\tvAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_LIGHTMAP\n\tvLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_AOMAP\n\tvAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_BUMPMAP\n\tvBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_NORMALMAP\n\tvNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tvDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_METALNESSMAP\n\tvMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULARMAP\n\tvSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tvTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_THICKNESSMAP\n\tvThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",background_frag:"uniform sampler2D t2D;\nuniform float backgroundIntensity;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\ttexColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include \n\t#include \n}",backgroundCube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",backgroundCube_frag:"#ifdef ENVMAP_TYPE_CUBE\n\tuniform samplerCube envMap;\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n\tuniform sampler2D envMap;\n#endif\nuniform float flipEnvMap;\nuniform float backgroundBlurriness;\nuniform float backgroundIntensity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness );\n\t#else\n\t\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = texColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_frag:"#define LAMBERT\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t#else\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n\t#ifdef OPAQUE\n\t\tgl_FragColor.a = 1.0;\n\t#endif\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define USE_SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef USE_SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULAR_COLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_IRIDESCENCE\n\tuniform float iridescence;\n\tuniform float iridescenceIOR;\n\tuniform float iridescenceThicknessMinimum;\n\tuniform float iridescenceThicknessMaximum;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\tuniform vec2 anisotropyVector;\n\t#ifdef USE_ANISOTROPYMAP\n\t\tuniform sampler2D anisotropyMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \n#ifdef USE_POINTS_UV\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\nvoid main() {\n\t#ifdef USE_POINTS_UV\n\t\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n}"},Es={common:{diffuse:{value:new mn(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Ee},alphaMap:{value:null},alphaMapTransform:{value:new Ee},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Ee}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Ee}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Ee}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Ee},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Ee},normalScale:{value:new Te(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Ee},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Ee}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Ee}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Ee}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new mn(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new mn(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Ee},alphaTest:{value:0},uvTransform:{value:new Ee}},sprite:{diffuse:{value:new mn(16777215)},opacity:{value:1},center:{value:new Te(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Ee},alphaMap:{value:null},alphaMapTransform:{value:new Ee},alphaTest:{value:0}}},gs={basic:{uniforms:es([Es.common,Es.specularmap,Es.envmap,Es.aomap,Es.lightmap,Es.fog]),vertexShader:Ts.meshbasic_vert,fragmentShader:Ts.meshbasic_frag},lambert:{uniforms:es([Es.common,Es.specularmap,Es.envmap,Es.aomap,Es.lightmap,Es.emissivemap,Es.bumpmap,Es.normalmap,Es.displacementmap,Es.fog,Es.lights,{emissive:{value:new mn(0)}}]),vertexShader:Ts.meshlambert_vert,fragmentShader:Ts.meshlambert_frag},phong:{uniforms:es([Es.common,Es.specularmap,Es.envmap,Es.aomap,Es.lightmap,Es.emissivemap,Es.bumpmap,Es.normalmap,Es.displacementmap,Es.fog,Es.lights,{emissive:{value:new mn(0)},specular:{value:new mn(1118481)},shininess:{value:30}}]),vertexShader:Ts.meshphong_vert,fragmentShader:Ts.meshphong_frag},standard:{uniforms:es([Es.common,Es.envmap,Es.aomap,Es.lightmap,Es.emissivemap,Es.bumpmap,Es.normalmap,Es.displacementmap,Es.roughnessmap,Es.metalnessmap,Es.fog,Es.lights,{emissive:{value:new mn(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Ts.meshphysical_vert,fragmentShader:Ts.meshphysical_frag},toon:{uniforms:es([Es.common,Es.aomap,Es.lightmap,Es.emissivemap,Es.bumpmap,Es.normalmap,Es.displacementmap,Es.gradientmap,Es.fog,Es.lights,{emissive:{value:new mn(0)}}]),vertexShader:Ts.meshtoon_vert,fragmentShader:Ts.meshtoon_frag},matcap:{uniforms:es([Es.common,Es.bumpmap,Es.normalmap,Es.displacementmap,Es.fog,{matcap:{value:null}}]),vertexShader:Ts.meshmatcap_vert,fragmentShader:Ts.meshmatcap_frag},points:{uniforms:es([Es.points,Es.fog]),vertexShader:Ts.points_vert,fragmentShader:Ts.points_frag},dashed:{uniforms:es([Es.common,Es.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Ts.linedashed_vert,fragmentShader:Ts.linedashed_frag},depth:{uniforms:es([Es.common,Es.displacementmap]),vertexShader:Ts.depth_vert,fragmentShader:Ts.depth_frag},normal:{uniforms:es([Es.common,Es.bumpmap,Es.normalmap,Es.displacementmap,{opacity:{value:1}}]),vertexShader:Ts.meshnormal_vert,fragmentShader:Ts.meshnormal_frag},sprite:{uniforms:es([Es.sprite,Es.fog]),vertexShader:Ts.sprite_vert,fragmentShader:Ts.sprite_frag},background:{uniforms:{uvTransform:{value:new Ee},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Ts.background_vert,fragmentShader:Ts.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Ts.backgroundCube_vert,fragmentShader:Ts.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Ts.cube_vert,fragmentShader:Ts.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Ts.equirect_vert,fragmentShader:Ts.equirect_frag},distanceRGBA:{uniforms:es([Es.common,Es.displacementmap,{referencePosition:{value:new Ke},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Ts.distanceRGBA_vert,fragmentShader:Ts.distanceRGBA_frag},shadow:{uniforms:es([Es.lights,Es.fog,{color:{value:new mn(0)},opacity:{value:1}}]),vertexShader:Ts.shadow_vert,fragmentShader:Ts.shadow_frag}};gs.physical={uniforms:es([gs.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Ee},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Ee},clearcoatNormalScale:{value:new Te(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Ee},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Ee},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Ee},sheen:{value:0},sheenColor:{value:new mn(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Ee},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Ee},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Ee},transmissionSamplerSize:{value:new Te},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Ee},attenuationDistance:{value:0},attenuationColor:{value:new mn(0)},specularColor:{value:new mn(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Ee},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Ee},anisotropyVector:{value:new Te},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Ee}}]),vertexShader:Ts.meshphysical_vert,fragmentShader:Ts.meshphysical_frag};const Rs={r:0,b:0,g:0};function Ds(e,t,n,s,i,a,l){const r=new mn(0);let u,p,h=!0===a?0:1,d=null,f=0,I=null;function m(t,n){t.getRGB(Rs,ts(e)),s.buffers.color.setClear(Rs.r,Rs.g,Rs.b,n,l)}return{getClearColor:function(){return r},setClearColor:function(e,t=1){r.set(e),h=t,m(r,h)},getClearAlpha:function(){return h},setClearAlpha:function(e){h=e,m(r,h)},render:function(a,y){let v=!1,w=!0===y.isScene?y.background:null;w&&w.isTexture&&(w=(y.backgroundBlurriness>0?n:t).get(w)),null===w?m(r,h):w&&w.isColor&&(m(w,1),v=!0);const T=e.xr.getEnvironmentBlendMode();"additive"===T?s.buffers.color.setClear(0,0,0,1,l):"alpha-blend"===T&&s.buffers.color.setClear(0,0,0,0,l),(e.autoClear||v)&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),w&&(w.isCubeTexture||w.mapping===D)?(void 0===p&&(p=new Zn(new Jn(1,1,1),new ss({name:"BackgroundCubeMaterial",uniforms:$n(gs.backgroundCube.uniforms),vertexShader:gs.backgroundCube.vertexShader,fragmentShader:gs.backgroundCube.fragmentShader,side:c,depthTest:!1,depthWrite:!1,fog:!1})),p.geometry.deleteAttribute("normal"),p.geometry.deleteAttribute("uv"),p.onBeforeRender=function(e,t,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(p.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(p)),p.material.uniforms.envMap.value=w,p.material.uniforms.flipEnvMap.value=w.isCubeTexture&&!1===w.isRenderTargetTexture?-1:1,p.material.uniforms.backgroundBlurriness.value=y.backgroundBlurriness,p.material.uniforms.backgroundIntensity.value=y.backgroundIntensity,p.material.toneMapped=w.colorSpace!==J,d===w&&f===w.version&&I===e.toneMapping||(p.material.needsUpdate=!0,d=w,f=w.version,I=e.toneMapping),p.layers.enableAll(),a.unshift(p,p.geometry,p.material,0,0,null)):w&&w.isTexture&&(void 0===u&&(u=new Zn(new ws(2,2),new ss({name:"BackgroundMaterial",uniforms:$n(gs.background.uniforms),vertexShader:gs.background.vertexShader,fragmentShader:gs.background.fragmentShader,side:o,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),Object.defineProperty(u.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(u)),u.material.uniforms.t2D.value=w,u.material.uniforms.backgroundIntensity.value=y.backgroundIntensity,u.material.toneMapped=w.colorSpace!==J,!0===w.matrixAutoUpdate&&w.updateMatrix(),u.material.uniforms.uvTransform.value.copy(w.matrix),d===w&&f===w.version&&I===e.toneMapping||(u.material.needsUpdate=!0,d=w,f=w.version,I=e.toneMapping),u.layers.enableAll(),a.unshift(u,u.geometry,u.material,0,0,null))}}}function Ss(e,t,n,s){const i=e.getParameter(e.MAX_VERTEX_ATTRIBS),a=s.isWebGL2?null:t.get("OES_vertex_array_object"),l=s.isWebGL2||null!==a,r={},o=d(null);let c=o,u=!1;function p(t){return s.isWebGL2?e.bindVertexArray(t):a.bindVertexArrayOES(t)}function h(t){return s.isWebGL2?e.deleteVertexArray(t):a.deleteVertexArrayOES(t)}function d(e){const t=[],n=[],s=[];for(let e=0;e=0){const n=i[t];let s=a[t];if(void 0===s&&("instanceMatrix"===t&&e.instanceMatrix&&(s=e.instanceMatrix),"instanceColor"===t&&e.instanceColor&&(s=e.instanceColor)),void 0===n)return!0;if(n.attribute!==s)return!0;if(s&&n.data!==s.data)return!0;l++}return c.attributesNum!==l||c.index!==s}(i,w,h,T),E&&function(e,t,n,s){const i={},a=t.attributes;let l=0;const r=n.getAttributes();for(const t in r)if(r[t].location>=0){let n=a[t];void 0===n&&("instanceMatrix"===t&&e.instanceMatrix&&(n=e.instanceMatrix),"instanceColor"===t&&e.instanceColor&&(n=e.instanceColor));const s={};s.attribute=n,n&&n.data&&(s.data=n.data),i[t]=s,l++}c.attributes=i,c.attributesNum=l,c.index=s}(i,w,h,T)}else{const e=!0===o.wireframe;c.geometry===w.id&&c.program===h.id&&c.wireframe===e||(c.geometry=w.id,c.program=h.id,c.wireframe=e,E=!0)}null!==T&&n.update(T,e.ELEMENT_ARRAY_BUFFER),(E||u)&&(u=!1,function(i,a,l,r){if(!1===s.isWebGL2&&(i.isInstancedMesh||r.isInstancedBufferGeometry)&&null===t.get("ANGLE_instanced_arrays"))return;f();const o=r.attributes,c=l.getAttributes(),u=a.defaultAttributeValues;for(const t in c){const a=c[t];if(a.location>=0){let l=o[t];if(void 0===l&&("instanceMatrix"===t&&i.instanceMatrix&&(l=i.instanceMatrix),"instanceColor"===t&&i.instanceColor&&(l=i.instanceColor)),void 0!==l){const t=l.normalized,o=l.itemSize,c=n.get(l);if(void 0===c)continue;const u=c.buffer,p=c.type,h=c.bytesPerElement,d=!0===s.isWebGL2&&(p===e.INT||p===e.UNSIGNED_INT||1013===l.gpuType);if(l.isInterleavedBufferAttribute){const n=l.data,s=n.stride,c=l.offset;if(n.isInstancedInterleavedBuffer){for(let e=0;e0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision>0)return"highp";t="mediump"}return"mediump"===t&&e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.MEDIUM_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const a="undefined"!=typeof WebGL2RenderingContext&&"WebGL2RenderingContext"===e.constructor.name;let l=void 0!==n.precision?n.precision:"highp";const r=i(l);r!==l&&(console.warn("THREE.WebGLRenderer:",l,"not supported, using",r,"instead."),l=r);const o=a||t.has("WEBGL_draw_buffers"),c=!0===n.logarithmicDepthBuffer,u=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),p=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),h=e.getParameter(e.MAX_TEXTURE_SIZE),d=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),f=e.getParameter(e.MAX_VERTEX_ATTRIBS),I=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),m=e.getParameter(e.MAX_VARYING_VECTORS),y=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),v=p>0,w=a||t.has("OES_texture_float");return{isWebGL2:a,drawBuffers:o,getMaxAnisotropy:function(){if(void 0!==s)return s;if(!0===t.has("EXT_texture_filter_anisotropic")){const n=t.get("EXT_texture_filter_anisotropic");s=e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else s=0;return s},getMaxPrecision:i,precision:l,logarithmicDepthBuffer:c,maxTextures:u,maxVertexTextures:p,maxTextureSize:h,maxCubemapSize:d,maxAttributes:f,maxVertexUniforms:I,maxVaryings:m,maxFragmentUniforms:y,vertexTextures:v,floatFragmentTextures:w,floatVertexTextures:v&&w,maxSamples:a?e.getParameter(e.MAX_SAMPLES):0}}function Os(e){const t=this;let n=null,s=0,i=!1,a=!1;const l=new ds,r=new Ee,o={value:null,needsUpdate:!1};function c(e,n,s,i){const a=null!==e?e.length:0;let c=null;if(0!==a){if(c=o.value,!0!==i||null===c){const t=s+4*a,i=n.matrixWorldInverse;r.getNormalMatrix(i),(null===c||c.length0),t.numPlanes=s,t.numIntersection=0);else{const e=a?0:s,t=4*e;let i=f.clippingState||null;o.value=i,i=c(p,r,t,u);for(let e=0;e!==t;++e)i[e]=n[e];f.clippingState=i,this.numIntersection=h?this.numPlanes:0,this.numPlanes+=e}}}function As(e){let t=new WeakMap;function n(e,t){return 303===t?e.mapping=g:304===t&&(e.mapping=R),e}function s(e){const n=e.target;n.removeEventListener("dispose",s);const i=t.get(n);void 0!==i&&(t.delete(n),i.dispose())}return{get:function(i){if(i&&i.isTexture&&!1===i.isRenderTargetTexture){const a=i.mapping;if(303===a||304===a){if(t.has(i))return n(t.get(i).texture,i.mapping);{const a=i.image;if(a&&a.height>0){const l=new cs(a.height/2);return l.fromEquirectangularTexture(e,i),t.set(i,l),i.addEventListener("dispose",s),n(l.texture,i.mapping)}return null}}}return i},dispose:function(){t=new WeakMap}}}class xs extends is{constructor(e=-1,t=1,n=1,s=-1,i=.1,a=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=s,this.near=i,this.far=a,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=null===e.view?null:Object.assign({},e.view),this}setViewOffset(e,t,n,s,i,a){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=s,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,s=(this.top+this.bottom)/2;let i=n-e,a=n+e,l=s+t,r=s-t;if(null!==this.view&&this.view.enabled){const e=(this.right-this.left)/this.view.fullWidth/this.zoom,t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=e*this.view.offsetX,a=i+e*this.view.width,l-=t*this.view.offsetY,r=l-t*this.view.height}this.projectionMatrix.makeOrthographic(i,a,l,r,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,null!==this.view&&(t.object.view=Object.assign({},this.view)),t}}const Cs=[.125,.215,.35,.446,.526,.582],Ls=new xs,Ps=new mn;let qs=null;const _s=(1+Math.sqrt(5))/2,Ms=1/_s,Hs=[new Ke(1,1,1),new Ke(-1,1,1),new Ke(1,1,-1),new Ke(-1,1,-1),new Ke(0,_s,Ms),new Ke(0,_s,-Ms),new Ke(Ms,0,_s),new Ke(-Ms,0,_s),new Ke(_s,Ms,0),new Ke(-_s,Ms,0)];class Bs{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,s=100){qs=this._renderer.getRenderTarget(),this._setSize(256);const i=this._allocateTargets();return i.depthBuffer=!0,this._sceneToCubeUV(e,n,s,i),t>0&&this._blur(i,0,0,t),this._applyPMREM(i),this._cleanup(i),i}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=Vs(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=Gs(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let e=0;ee-4?r=Cs[l-e+4-1]:0===l&&(r=0),s.push(r);const o=1/(a-2),c=-o,u=1+o,p=[c,c,u,c,u,u,c,c,u,u,c,u],h=6,d=6,f=3,I=2,m=1,y=new Float32Array(f*d*h),v=new Float32Array(I*d*h),w=new Float32Array(m*d*h);for(let e=0;e2?0:-1,s=[t,n,0,t+2/3,n,0,t+2/3,n+1,0,t,n,0,t+2/3,n+1,0,t,n+1,0];y.set(s,f*d*e),v.set(p,I*d*e);const i=[e,e,e,e,e,e];w.set(i,m*d*e)}const T=new Ln;T.setAttribute("position",new En(y,f)),T.setAttribute("uv",new En(v,I)),T.setAttribute("faceIndex",new En(w,m)),t.push(T),i>4&&i--}return{lodPlanes:t,sizeLods:n,sigmas:s}}(s)),this._blurMaterial=function(e,t,n){const s=new Float32Array(20),i=new Ke(0,1,0);return new ss({name:"SphericalGaussianBlur",defines:{n:20,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${e}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:s},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:p,depthTest:!1,depthWrite:!1})}(s,e,t)}return s}_compileMaterial(e){const t=new Zn(this._lodPlanes[0],e);this._renderer.compile(t,Ls)}_sceneToCubeUV(e,t,n,s){const i=new as(90,1,t,n),a=[1,-1,1,1,1,1],l=[1,1,1,-1,-1,-1],r=this._renderer,o=r.autoClear,u=r.toneMapping;r.getClearColor(Ps),r.toneMapping=m,r.autoClear=!1;const p=new vn({name:"PMREM.Background",side:c,depthWrite:!1,depthTest:!1}),h=new Zn(new Jn,p);let d=!1;const f=e.background;f?f.isColor&&(p.color.copy(f),e.background=null,d=!0):(p.color.copy(Ps),d=!0);for(let t=0;t<6;t++){const n=t%3;0===n?(i.up.set(0,a[t],0),i.lookAt(l[t],0,0)):1===n?(i.up.set(0,0,a[t]),i.lookAt(0,l[t],0)):(i.up.set(0,a[t],0),i.lookAt(0,0,l[t]));const o=this._cubeSize;Fs(s,n*o,t>2?o:0,o,o),r.setRenderTarget(s),d&&r.render(h,i),r.render(e,i)}h.geometry.dispose(),h.material.dispose(),r.toneMapping=u,r.autoClear=o,e.background=f}_textureToCubeUV(e,t){const n=this._renderer,s=e.mapping===g||e.mapping===R;s?(null===this._cubemapMaterial&&(this._cubemapMaterial=Vs()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===e.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=Gs());const i=s?this._cubemapMaterial:this._equirectMaterial,a=new Zn(this._lodPlanes[0],i);i.uniforms.envMap.value=e;const l=this._cubeSize;Fs(t,0,0,3*l,2*l),n.setRenderTarget(t),n.render(a,Ls)}_applyPMREM(e){const t=this._renderer,n=t.autoClear;t.autoClear=!1;for(let t=1;t20&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${f} samples when the maximum is set to 20`);const I=[];let m=0;for(let e=0;e<20;++e){const t=e/d,n=Math.exp(-t*t/2);I.push(n),0===e?m+=n:ey-4?s-y+4:0),4*(this._cubeSize-v),3*v,2*v),r.setRenderTarget(t),r.render(c,Ls)}}function Us(e,t,n){const s=new ze(e,t,n);return s.texture.mapping=D,s.texture.name="PMREM.cubeUv",s.scissorTest=!0,s}function Fs(e,t,n,s,i){e.viewport.set(t,n,s,i),e.scissor.set(t,n,s,i)}function Gs(){return new ss({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t",blending:p,depthTest:!1,depthWrite:!1})}function Vs(){return new ss({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tuniform float flipEnvMap;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\n\n\t\t\t}\n\t\t",blending:p,depthTest:!1,depthWrite:!1})}function js(e){let t=new WeakMap,n=null;function s(e){const n=e.target;n.removeEventListener("dispose",s);const i=t.get(n);void 0!==i&&(t.delete(n),i.dispose())}return{get:function(i){if(i&&i.isTexture){const a=i.mapping,l=303===a||304===a,r=a===g||a===R;if(l||r){if(i.isRenderTargetTexture&&!0===i.needsPMREMUpdate){i.needsPMREMUpdate=!1;let s=t.get(i);return null===n&&(n=new Bs(e)),s=l?n.fromEquirectangular(i,s):n.fromCubemap(i,s),t.set(i,s),s.texture}if(t.has(i))return t.get(i).texture;{const a=i.image;if(l&&a&&a.height>0||r&&a&&function(e){let t=0;for(let n=0;n<6;n++)void 0!==e[n]&&t++;return 6===t}(a)){null===n&&(n=new Bs(e));const a=l?n.fromEquirectangular(i):n.fromCubemap(i);return t.set(i,a),i.addEventListener("dispose",s),a.texture}return null}}}return i},dispose:function(){t=new WeakMap,null!==n&&(n.dispose(),n=null)}}}function zs(e){const t={};function n(n){if(void 0!==t[n])return t[n];let s;switch(n){case"WEBGL_depth_texture":s=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":s=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":s=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":s=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:s=e.getExtension(n)}return t[n]=s,s}return{has:function(e){return null!==n(e)},init:function(e){e.isWebGL2?n("EXT_color_buffer_float"):(n("WEBGL_depth_texture"),n("OES_texture_float"),n("OES_texture_half_float"),n("OES_texture_half_float_linear"),n("OES_standard_derivatives"),n("OES_element_index_uint"),n("OES_vertex_array_object"),n("ANGLE_instanced_arrays")),n("OES_texture_float_linear"),n("EXT_color_buffer_half_float"),n("WEBGL_multisampled_render_to_texture")},get:function(e){const t=n(e);return null===t&&console.warn("THREE.WebGLRenderer: "+e+" extension not supported."),t}}}function Ws(e,t,n,s){const i={},a=new WeakMap;function l(e){const r=e.target;null!==r.index&&t.remove(r.index);for(const e in r.attributes)t.remove(r.attributes[e]);for(const e in r.morphAttributes){const n=r.morphAttributes[e];for(let e=0,s=n.length;et.maxTextureSize&&(S=Math.ceil(D/t.maxTextureSize),D=t.maxTextureSize);const b=new Float32Array(D*S*4*d),N=new We(b,D,S,d);N.type=_,N.needsUpdate=!0;const O=4*R;for(let x=0;x0)return e;const i=t*n;let a=ni[i];if(void 0===a&&(a=new Float32Array(i),ni[i]=a),0!==t){s.toArray(a,0);for(let s=1,i=0;s!==t;++s)i+=n,e[s].toArray(a,i)}return a}function oi(e,t){if(e.length!==t.length)return!1;for(let n=0,s=e.length;n":" "} ${i}: ${n[e]}`)}return s.join("\n")}(e.getShaderSource(t),s)}return i}function aa(e,t){const n=function(e){switch(e){case $:return["Linear","( value )"];case J:return["sRGB","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",e),["Linear","( value )"]}}(t);return"vec4 "+e+"( vec4 value ) { return LinearTo"+n[0]+n[1]+"; }"}function la(e,t){let n;switch(t){case y:n="Linear";break;case v:n="Reinhard";break;case w:n="OptimizedCineon";break;case T:n="ACESFilmic";break;case E:n="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",t),n="Linear"}return"vec3 "+e+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function ra(e){return""!==e}function oa(e,t){const n=t.numSpotLightShadows+t.numSpotLightMaps-t.numSpotLightShadowsWithMaps;return e.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,t.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,n).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,t.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,t.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,t.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,t.numPointLightShadows)}function ca(e,t){return e.replace(/NUM_CLIPPING_PLANES/g,t.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,t.numClippingPlanes-t.numClipIntersection)}const ua=/^[ \t]*#include +<([\w\d./]+)>/gm;function pa(e){return e.replace(ua,da)}const ha=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function da(e,t){let n=Ts[t];if(void 0===n){const e=ha.get(t);if(void 0===e)throw new Error("Can not resolve #include <"+t+">");n=Ts[e],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',t,e)}return pa(n)}const fa=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function Ia(e){return e.replace(fa,ma)}function ma(e,t,n,s){let i="";for(let e=parseInt(t);e0&&(b+="\n"),N=[T,"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,E].filter(ra).join("\n"),N.length>0&&(N+="\n")):(b=[ya(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,E,n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+y:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.displacementMap?"#define USE_DISPLACEMENTMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.mapUv?"#define MAP_UV "+n.mapUv:"",n.alphaMapUv?"#define ALPHAMAP_UV "+n.alphaMapUv:"",n.lightMapUv?"#define LIGHTMAP_UV "+n.lightMapUv:"",n.aoMapUv?"#define AOMAP_UV "+n.aoMapUv:"",n.emissiveMapUv?"#define EMISSIVEMAP_UV "+n.emissiveMapUv:"",n.bumpMapUv?"#define BUMPMAP_UV "+n.bumpMapUv:"",n.normalMapUv?"#define NORMALMAP_UV "+n.normalMapUv:"",n.displacementMapUv?"#define DISPLACEMENTMAP_UV "+n.displacementMapUv:"",n.metalnessMapUv?"#define METALNESSMAP_UV "+n.metalnessMapUv:"",n.roughnessMapUv?"#define ROUGHNESSMAP_UV "+n.roughnessMapUv:"",n.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+n.anisotropyMapUv:"",n.clearcoatMapUv?"#define CLEARCOATMAP_UV "+n.clearcoatMapUv:"",n.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+n.clearcoatNormalMapUv:"",n.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+n.clearcoatRoughnessMapUv:"",n.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+n.iridescenceMapUv:"",n.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+n.iridescenceThicknessMapUv:"",n.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+n.sheenColorMapUv:"",n.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+n.sheenRoughnessMapUv:"",n.specularMapUv?"#define SPECULARMAP_UV "+n.specularMapUv:"",n.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+n.specularColorMapUv:"",n.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+n.specularIntensityMapUv:"",n.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+n.transmissionMapUv:"",n.thicknessMapUv?"#define THICKNESSMAP_UV "+n.thicknessMapUv:"",n.vertexTangents&&!1===n.flatShading?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&!1===n.flatShading?"#define USE_MORPHNORMALS":"",n.morphColors&&n.isWebGL2?"#define USE_MORPHCOLORS":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+n.morphTextureStride:"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_COUNT "+n.morphTargetsCount:"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+p:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1","\tattribute vec2 uv1;","#endif","#ifdef USE_UV2","\tattribute vec2 uv2;","#endif","#ifdef USE_UV3","\tattribute vec2 uv3;","#endif","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(ra).join("\n"),N=[T,ya(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,E,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+h:"",n.envMap?"#define "+y:"",n.envMap?"#define "+v:"",w?"#define CUBEUV_TEXEL_WIDTH "+w.texelWidth:"",w?"#define CUBEUV_TEXEL_HEIGHT "+w.texelHeight:"",w?"#define CUBEUV_MAX_MIP "+w.maxMip+".0":"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescence?"#define USE_IRIDESCENCE":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents&&!1===n.flatShading?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+p:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==m?"#define TONE_MAPPING":"",n.toneMapping!==m?Ts.tonemapping_pars_fragment:"",n.toneMapping!==m?la("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.opaque?"#define OPAQUE":"",Ts.colorspace_pars_fragment,aa("linearToOutputTexel",n.outputColorSpace),n.useDepthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(ra).join("\n")),c=pa(c),c=oa(c,n),c=ca(c,n),u=pa(u),u=oa(u,n),u=ca(u,n),c=Ia(c),u=Ia(u),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(O="#version 300 es\n",b=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+b,N=["#define varying in",n.glslVersion===ne?"":"layout(location = 0) out highp vec4 pc_fragColor;",n.glslVersion===ne?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+N);const A=O+b+c,x=O+N+u,C=na(i,i.VERTEX_SHADER,A),L=na(i,i.FRAGMENT_SHADER,x);if(i.attachShader(S,C),i.attachShader(S,L),void 0!==n.index0AttributeName?i.bindAttribLocation(S,0,n.index0AttributeName):!0===n.morphTargets&&i.bindAttribLocation(S,0,"position"),i.linkProgram(S),e.debug.checkShaderErrors){const t=i.getProgramInfoLog(S).trim(),n=i.getShaderInfoLog(C).trim(),s=i.getShaderInfoLog(L).trim();let a=!0,l=!0;if(!1===i.getProgramParameter(S,i.LINK_STATUS))if(a=!1,"function"==typeof e.debug.onShaderError)e.debug.onShaderError(i,S,C,L);else{const e=ia(i,C,"vertex"),n=ia(i,L,"fragment");console.error("THREE.WebGLProgram: Shader Error "+i.getError()+" - VALIDATE_STATUS "+i.getProgramParameter(S,i.VALIDATE_STATUS)+"\n\nProgram Info Log: "+t+"\n"+e+"\n"+n)}else""!==t?console.warn("THREE.WebGLProgram: Program Info Log:",t):""!==n&&""!==s||(l=!1);l&&(this.diagnostics={runnable:a,programLog:t,vertexShader:{log:n,prefix:b},fragmentShader:{log:s,prefix:N}})}let P,q;return i.deleteShader(C),i.deleteShader(L),this.getUniforms=function(){return void 0===P&&(P=new ta(i,S)),P},this.getAttributes=function(){return void 0===q&&(q=function(e,t){const n={},s=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES);for(let i=0;i0,K=a.clearcoat>0,Z=a.iridescence>0,Q=a.sheen>0,ee=a.transmission>0,te=X&&!!a.anisotropyMap,ne=K&&!!a.clearcoatMap,se=K&&!!a.clearcoatNormalMap,ie=K&&!!a.clearcoatRoughnessMap,ae=Z&&!!a.iridescenceMap,le=Z&&!!a.iridescenceThicknessMap,re=Q&&!!a.sheenColorMap,oe=Q&&!!a.sheenRoughnessMap,ce=!!a.specularMap,ue=!!a.specularColorMap,pe=!!a.specularIntensityMap,he=ee&&!!a.transmissionMap,de=ee&&!!a.thicknessMap,fe=!!a.gradientMap,Ie=!!a.alphaMap,me=a.alphaTest>0,ye=!!a.alphaHash,ve=!!a.extensions,we=!!g.attributes.uv1,Te=!!g.attributes.uv2,Ee=!!g.attributes.uv3;let ge=m;return a.toneMapped&&(null!==_&&!0!==_.isXRRenderTarget||(ge=e.toneMapping)),{isWebGL2:h,shaderID:N,shaderType:a.type,shaderName:a.name,vertexShader:x,fragmentShader:C,defines:a.defines,customVertexShaderID:L,customFragmentShaderID:P,isRawShaderMaterial:!0===a.isRawShaderMaterial,glslVersion:a.glslVersion,precision:I,instancing:M,instancingColor:M&&null!==T.instanceColor,supportsVertexTextures:f,outputColorSpace:null===_?e.outputColorSpace:!0===_.isXRRenderTarget?_.texture.colorSpace:$,map:H,matcap:B,envMap:U,envMapMode:U&&S.mapping,envMapCubeUVHeight:b,aoMap:F,lightMap:G,bumpMap:V,normalMap:j,displacementMap:f&&z,emissiveMap:W,normalMapObjectSpace:j&&1===a.normalMapType,normalMapTangentSpace:j&&0===a.normalMapType,metalnessMap:k,roughnessMap:Y,anisotropy:X,anisotropyMap:te,clearcoat:K,clearcoatMap:ne,clearcoatNormalMap:se,clearcoatRoughnessMap:ie,iridescence:Z,iridescenceMap:ae,iridescenceThicknessMap:le,sheen:Q,sheenColorMap:re,sheenRoughnessMap:oe,specularMap:ce,specularColorMap:ue,specularIntensityMap:pe,transmission:ee,transmissionMap:he,thicknessMap:de,gradientMap:fe,opaque:!1===a.transparent&&1===a.blending,alphaMap:Ie,alphaTest:me,alphaHash:ye,combine:a.combine,mapUv:H&&v(a.map.channel),aoMapUv:F&&v(a.aoMap.channel),lightMapUv:G&&v(a.lightMap.channel),bumpMapUv:V&&v(a.bumpMap.channel),normalMapUv:j&&v(a.normalMap.channel),displacementMapUv:z&&v(a.displacementMap.channel),emissiveMapUv:W&&v(a.emissiveMap.channel),metalnessMapUv:k&&v(a.metalnessMap.channel),roughnessMapUv:Y&&v(a.roughnessMap.channel),anisotropyMapUv:te&&v(a.anisotropyMap.channel),clearcoatMapUv:ne&&v(a.clearcoatMap.channel),clearcoatNormalMapUv:se&&v(a.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:ie&&v(a.clearcoatRoughnessMap.channel),iridescenceMapUv:ae&&v(a.iridescenceMap.channel),iridescenceThicknessMapUv:le&&v(a.iridescenceThicknessMap.channel),sheenColorMapUv:re&&v(a.sheenColorMap.channel),sheenRoughnessMapUv:oe&&v(a.sheenRoughnessMap.channel),specularMapUv:ce&&v(a.specularMap.channel),specularColorMapUv:ue&&v(a.specularColorMap.channel),specularIntensityMapUv:pe&&v(a.specularIntensityMap.channel),transmissionMapUv:he&&v(a.transmissionMap.channel),thicknessMapUv:de&&v(a.thicknessMap.channel),alphaMapUv:Ie&&v(a.alphaMap.channel),vertexTangents:!!g.attributes.tangent&&(j||X),vertexColors:a.vertexColors,vertexAlphas:!0===a.vertexColors&&!!g.attributes.color&&4===g.attributes.color.itemSize,vertexUv1s:we,vertexUv2s:Te,vertexUv3s:Ee,pointsUvs:!0===T.isPoints&&!!g.attributes.uv&&(H||Ie),fog:!!E,useFog:!0===a.fog,fogExp2:E&&E.isFogExp2,flatShading:!0===a.flatShading,sizeAttenuation:!0===a.sizeAttenuation,logarithmicDepthBuffer:d,skinning:!0===T.isSkinnedMesh,morphTargets:void 0!==g.morphAttributes.position,morphNormals:void 0!==g.morphAttributes.normal,morphColors:void 0!==g.morphAttributes.color,morphTargetsCount:A,morphTextureStride:q,numDirLights:r.directional.length,numPointLights:r.point.length,numSpotLights:r.spot.length,numSpotLightMaps:r.spotLightMap.length,numRectAreaLights:r.rectArea.length,numHemiLights:r.hemi.length,numDirLightShadows:r.directionalShadowMap.length,numPointLightShadows:r.pointShadowMap.length,numSpotLightShadows:r.spotShadowMap.length,numSpotLightShadowsWithMaps:r.numSpotLightShadowsWithMaps,numClippingPlanes:l.numPlanes,numClipIntersection:l.numIntersection,dithering:a.dithering,shadowMapEnabled:e.shadowMap.enabled&&p.length>0,shadowMapType:e.shadowMap.type,toneMapping:ge,useLegacyLights:e._useLegacyLights,decodeVideoTexture:H&&!0===a.map.isVideoTexture&&a.map.colorSpace===J,premultipliedAlpha:a.premultipliedAlpha,doubleSided:a.side===u,flipSided:a.side===c,useDepthPacking:a.depthPacking>=0,depthPacking:a.depthPacking||0,index0AttributeName:a.index0AttributeName,extensionDerivatives:ve&&!0===a.extensions.derivatives,extensionFragDepth:ve&&!0===a.extensions.fragDepth,extensionDrawBuffers:ve&&!0===a.extensions.drawBuffers,extensionShaderTextureLOD:ve&&!0===a.extensions.shaderTextureLOD,rendererExtensionFragDepth:h||s.has("EXT_frag_depth"),rendererExtensionDrawBuffers:h||s.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:h||s.has("EXT_shader_texture_lod"),customProgramCacheKey:a.customProgramCacheKey()}},getProgramCacheKey:function(t){const n=[];if(t.shaderID?n.push(t.shaderID):(n.push(t.customVertexShaderID),n.push(t.customFragmentShaderID)),void 0!==t.defines)for(const e in t.defines)n.push(e),n.push(t.defines[e]);return!1===t.isRawShaderMaterial&&(function(e,t){e.push(t.precision),e.push(t.outputColorSpace),e.push(t.envMapMode),e.push(t.envMapCubeUVHeight),e.push(t.mapUv),e.push(t.alphaMapUv),e.push(t.lightMapUv),e.push(t.aoMapUv),e.push(t.bumpMapUv),e.push(t.normalMapUv),e.push(t.displacementMapUv),e.push(t.emissiveMapUv),e.push(t.metalnessMapUv),e.push(t.roughnessMapUv),e.push(t.anisotropyMapUv),e.push(t.clearcoatMapUv),e.push(t.clearcoatNormalMapUv),e.push(t.clearcoatRoughnessMapUv),e.push(t.iridescenceMapUv),e.push(t.iridescenceThicknessMapUv),e.push(t.sheenColorMapUv),e.push(t.sheenRoughnessMapUv),e.push(t.specularMapUv),e.push(t.specularColorMapUv),e.push(t.specularIntensityMapUv),e.push(t.transmissionMapUv),e.push(t.thicknessMapUv),e.push(t.combine),e.push(t.fogExp2),e.push(t.sizeAttenuation),e.push(t.morphTargetsCount),e.push(t.morphAttributeCount),e.push(t.numDirLights),e.push(t.numPointLights),e.push(t.numSpotLights),e.push(t.numSpotLightMaps),e.push(t.numHemiLights),e.push(t.numRectAreaLights),e.push(t.numDirLightShadows),e.push(t.numPointLightShadows),e.push(t.numSpotLightShadows),e.push(t.numSpotLightShadowsWithMaps),e.push(t.shadowMapType),e.push(t.toneMapping),e.push(t.numClippingPlanes),e.push(t.numClipIntersection),e.push(t.depthPacking)}(n,t),function(e,t){r.disableAll(),t.isWebGL2&&r.enable(0),t.supportsVertexTextures&&r.enable(1),t.instancing&&r.enable(2),t.instancingColor&&r.enable(3),t.matcap&&r.enable(4),t.envMap&&r.enable(5),t.normalMapObjectSpace&&r.enable(6),t.normalMapTangentSpace&&r.enable(7),t.clearcoat&&r.enable(8),t.iridescence&&r.enable(9),t.alphaTest&&r.enable(10),t.vertexColors&&r.enable(11),t.vertexAlphas&&r.enable(12),t.vertexUv1s&&r.enable(13),t.vertexUv2s&&r.enable(14),t.vertexUv3s&&r.enable(15),t.vertexTangents&&r.enable(16),t.anisotropy&&r.enable(17),e.push(r.mask),r.disableAll(),t.fog&&r.enable(0),t.useFog&&r.enable(1),t.flatShading&&r.enable(2),t.logarithmicDepthBuffer&&r.enable(3),t.skinning&&r.enable(4),t.morphTargets&&r.enable(5),t.morphNormals&&r.enable(6),t.morphColors&&r.enable(7),t.premultipliedAlpha&&r.enable(8),t.shadowMapEnabled&&r.enable(9),t.useLegacyLights&&r.enable(10),t.doubleSided&&r.enable(11),t.flipSided&&r.enable(12),t.useDepthPacking&&r.enable(13),t.dithering&&r.enable(14),t.transmission&&r.enable(15),t.sheen&&r.enable(16),t.opaque&&r.enable(17),t.pointsUvs&&r.enable(18),t.decodeVideoTexture&&r.enable(19),e.push(r.mask)}(n,t),n.push(e.outputColorSpace)),n.push(t.customProgramCacheKey),n.join()},getUniforms:function(e){const t=y[e.type];let n;if(t){const e=gs[t];n=ns.clone(e.uniforms)}else n=e.uniforms;return n},acquireProgram:function(t,n){let s;for(let e=0,t=p.length;e0?s.push(u):!0===l.transparent?i.push(u):n.push(u)},unshift:function(e,t,l,r,o,c){const u=a(e,t,l,r,o,c);l.transmission>0?s.unshift(u):!0===l.transparent?i.unshift(u):n.unshift(u)},finish:function(){for(let n=t,s=e.length;n1&&n.sort(e||Da),s.length>1&&s.sort(t||Sa),i.length>1&&i.sort(t||Sa)}}}function Na(){let e=new WeakMap;return{get:function(t,n){const s=e.get(t);let i;return void 0===s?(i=new ba,e.set(t,[i])):n>=s.length?(i=new ba,s.push(i)):i=s[n],i},dispose:function(){e=new WeakMap}}}function Oa(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case"DirectionalLight":n={direction:new Ke,color:new mn};break;case"SpotLight":n={position:new Ke,direction:new Ke,color:new mn,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new Ke,color:new mn,distance:0,decay:0};break;case"HemisphereLight":n={direction:new Ke,skyColor:new mn,groundColor:new mn};break;case"RectAreaLight":n={color:new mn,position:new Ke,halfWidth:new Ke,halfHeight:new Ke}}return e[t.id]=n,n}}}let Aa=0;function xa(e,t){return(t.castShadow?2:0)-(e.castShadow?2:0)+(t.map?1:0)-(e.map?1:0)}function Ca(e,t){const n=new Oa,s=function(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case"DirectionalLight":case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Te};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Te,shadowCameraNear:1,shadowCameraFar:1e3}}return e[t.id]=n,n}}}(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0};for(let e=0;e<9;e++)i.probe.push(new Ke);const a=new Ke,l=new St,r=new St;return{setup:function(a,l){let r=0,o=0,c=0;for(let e=0;e<9;e++)i.probe[e].set(0,0,0);let u=0,p=0,h=0,d=0,f=0,I=0,m=0,y=0,v=0,w=0;a.sort(xa);const T=!0===l?Math.PI:1;for(let e=0,t=a.length;e0&&(t.isWebGL2||!0===e.has("OES_texture_float_linear")?(i.rectAreaLTC1=Es.LTC_FLOAT_1,i.rectAreaLTC2=Es.LTC_FLOAT_2):!0===e.has("OES_texture_half_float_linear")?(i.rectAreaLTC1=Es.LTC_HALF_1,i.rectAreaLTC2=Es.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),i.ambient[0]=r,i.ambient[1]=o,i.ambient[2]=c;const E=i.hash;E.directionalLength===u&&E.pointLength===p&&E.spotLength===h&&E.rectAreaLength===d&&E.hemiLength===f&&E.numDirectionalShadows===I&&E.numPointShadows===m&&E.numSpotShadows===y&&E.numSpotMaps===v||(i.directional.length=u,i.spot.length=h,i.rectArea.length=d,i.point.length=p,i.hemi.length=f,i.directionalShadow.length=I,i.directionalShadowMap.length=I,i.pointShadow.length=m,i.pointShadowMap.length=m,i.spotShadow.length=y,i.spotShadowMap.length=y,i.directionalShadowMatrix.length=I,i.pointShadowMatrix.length=m,i.spotLightMatrix.length=y+v-w,i.spotLightMap.length=v,i.numSpotLightShadowsWithMaps=w,E.directionalLength=u,E.pointLength=p,E.spotLength=h,E.rectAreaLength=d,E.hemiLength=f,E.numDirectionalShadows=I,E.numPointShadows=m,E.numSpotShadows=y,E.numSpotMaps=v,i.version=Aa++)},setupView:function(e,t){let n=0,s=0,o=0,c=0,u=0;const p=t.matrixWorldInverse;for(let t=0,h=e.length;t=a.length?(l=new La(e,t),a.push(l)):l=a[i],l},dispose:function(){n=new WeakMap}}}class qa extends pn{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=3200,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class _a extends pn{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}function Ma(e,t,n){let s=new ms;const i=new Te,l=new Te,h=new Ve,d=new qa({depthPacking:3201}),f=new _a,I={},m=n.maxTextureSize,y={[o]:c,[c]:o,[u]:u},v=new ss({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Te},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),w=v.clone();w.defines.HORIZONTAL_PASS=1;const T=new Ln;T.setAttribute("position",new En(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const E=new Zn(T,v),g=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=a;let R=this.type;function D(n,s){const a=t.update(E);v.defines.VSM_SAMPLES!==n.blurSamples&&(v.defines.VSM_SAMPLES=n.blurSamples,w.defines.VSM_SAMPLES=n.blurSamples,v.needsUpdate=!0,w.needsUpdate=!0),null===n.mapPass&&(n.mapPass=new ze(i.x,i.y)),v.uniforms.shadow_pass.value=n.map.texture,v.uniforms.resolution.value=n.mapSize,v.uniforms.radius.value=n.radius,e.setRenderTarget(n.mapPass),e.clear(),e.renderBufferDirect(s,null,a,v,E,null),w.uniforms.shadow_pass.value=n.mapPass.texture,w.uniforms.resolution.value=n.mapSize,w.uniforms.radius.value=n.radius,e.setRenderTarget(n.map),e.clear(),e.renderBufferDirect(s,null,a,w,E,null)}function S(t,n,s,i){let a=null;const l=!0===s.isPointLight?t.customDistanceMaterial:t.customDepthMaterial;if(void 0!==l)a=l;else if(a=!0===s.isPointLight?f:d,e.localClippingEnabled&&!0===n.clipShadows&&Array.isArray(n.clippingPlanes)&&0!==n.clippingPlanes.length||n.displacementMap&&0!==n.displacementScale||n.alphaMap&&n.alphaTest>0||n.map&&n.alphaTest>0){const e=a.uuid,t=n.uuid;let s=I[e];void 0===s&&(s={},I[e]=s);let i=s[t];void 0===i&&(i=a.clone(),s[t]=i),a=i}return a.visible=n.visible,a.wireframe=n.wireframe,a.side=i===r?null!==n.shadowSide?n.shadowSide:n.side:null!==n.shadowSide?n.shadowSide:y[n.side],a.alphaMap=n.alphaMap,a.alphaTest=n.alphaTest,a.map=n.map,a.clipShadows=n.clipShadows,a.clippingPlanes=n.clippingPlanes,a.clipIntersection=n.clipIntersection,a.displacementMap=n.displacementMap,a.displacementScale=n.displacementScale,a.displacementBias=n.displacementBias,a.wireframeLinewidth=n.wireframeLinewidth,a.linewidth=n.linewidth,!0===s.isPointLight&&!0===a.isMeshDistanceMaterial&&(e.properties.get(a).light=s),a}function b(n,i,a,l,o){if(!1===n.visible)return;if(n.layers.test(i.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&o===r)&&(!n.frustumCulled||s.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(a.matrixWorldInverse,n.matrixWorld);const s=t.update(n),i=n.material;if(Array.isArray(i)){const t=s.groups;for(let r=0,c=t.length;rm||i.y>m)&&(i.x>m&&(l.x=Math.floor(m/p.x),i.x=l.x*p.x,u.mapSize.x=l.x),i.y>m&&(l.y=Math.floor(m/p.y),i.y=l.y*p.y,u.mapSize.y=l.y)),null===u.map||!0===f||!0===I){const e=this.type!==r?{minFilter:O,magFilter:O}:{};null!==u.map&&u.map.dispose(),u.map=new ze(i.x,i.y,e),u.map.texture.name=c.name+".shadowMap",u.camera.updateProjectionMatrix()}e.setRenderTarget(u.map),e.clear();const y=u.getViewportCount();for(let e=0;e=1):-1!==_.indexOf("OpenGL ES")&&(q=parseFloat(/^OpenGL ES (\d)/.exec(_)[1]),P=q>=2);let M=null,H={};const B=e.getParameter(e.SCISSOR_BOX),U=e.getParameter(e.VIEWPORT),F=(new Ve).fromArray(B),G=(new Ve).fromArray(U);function V(t,n,i,a){const l=new Uint8Array(4),r=e.createTexture();e.bindTexture(t,r),e.texParameteri(t,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(t,e.TEXTURE_MAG_FILTER,e.NEAREST);for(let r=0;rs||e.height>s)&&(i=s/Math.max(e.width,e.height)),i<1||!0===t){if("undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap){const s=t?me:Math.floor,a=s(i*e.width),l=s(i*e.height);void 0===I&&(I=v(a,l));const r=n?v(a,l):I;return r.width=a,r.height=l,r.getContext("2d").drawImage(e,0,0,a,l),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+e.width+"x"+e.height+") to ("+a+"x"+l+")."),r}return"data"in e&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+e.width+"x"+e.height+")."),e}return e}function T(e){return Ie(e.width)&&Ie(e.height)}function E(e,t){return e.generateMipmaps&&t&&e.minFilter!==O&&e.minFilter!==x}function g(t){e.generateMipmap(t)}function R(n,s,i,a,l=!1){if(!1===r)return s;if(null!==n){if(void 0!==e[n])return e[n];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+n+"'")}let o=s;return s===e.RED&&(i===e.FLOAT&&(o=e.R32F),i===e.HALF_FLOAT&&(o=e.R16F),i===e.UNSIGNED_BYTE&&(o=e.R8)),s===e.RED_INTEGER&&(i===e.UNSIGNED_BYTE&&(o=e.R8UI),i===e.UNSIGNED_SHORT&&(o=e.R16UI),i===e.UNSIGNED_INT&&(o=e.R32UI),i===e.BYTE&&(o=e.R8I),i===e.SHORT&&(o=e.R16I),i===e.INT&&(o=e.R32I)),s===e.RG&&(i===e.FLOAT&&(o=e.RG32F),i===e.HALF_FLOAT&&(o=e.RG16F),i===e.UNSIGNED_BYTE&&(o=e.RG8)),s===e.RGBA&&(i===e.FLOAT&&(o=e.RGBA32F),i===e.HALF_FLOAT&&(o=e.RGBA16F),i===e.UNSIGNED_BYTE&&(o=a===J&&!1===l?e.SRGB8_ALPHA8:e.RGBA8),i===e.UNSIGNED_SHORT_4_4_4_4&&(o=e.RGBA4),i===e.UNSIGNED_SHORT_5_5_5_1&&(o=e.RGB5_A1)),o!==e.R16F&&o!==e.R32F&&o!==e.RG16F&&o!==e.RG32F&&o!==e.RGBA16F&&o!==e.RGBA32F||t.get("EXT_color_buffer_float"),o}function D(e,t,n){return!0===E(e,n)||e.isFramebufferTexture&&e.minFilter!==O&&e.minFilter!==x?Math.log2(Math.max(t.width,t.height))+1:void 0!==e.mipmaps&&e.mipmaps.length>0?e.mipmaps.length:e.isCompressedTexture&&Array.isArray(e.image)?t.mipmaps.length:1}function G(t){return t===O||1004===t||t===A?e.NEAREST:e.LINEAR}function V(e){const t=e.target;t.removeEventListener("dispose",V),function(e){const t=s.get(e);if(void 0===t.__webglInit)return;const n=e.source,i=m.get(n);if(i){const s=i[t.__cacheKey];s.usedTimes--,0===s.usedTimes&&z(e),0===Object.keys(i).length&&m.delete(n)}s.remove(e)}(t),t.isVideoTexture&&f.delete(t)}function j(t){const n=t.target;n.removeEventListener("dispose",j),function(t){const n=t.texture,i=s.get(t),a=s.get(n);if(void 0!==a.__webglTexture&&(e.deleteTexture(a.__webglTexture),l.memory.textures--),t.depthTexture&&t.depthTexture.dispose(),t.isWebGLCubeRenderTarget)for(let t=0;t<6;t++){if(Array.isArray(i.__webglFramebuffer[t]))for(let n=0;n0&&a.__version!==t.version){const e=t.image;if(null===e)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else{if(!1!==e.complete)return void ne(a,t,i);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.bindTexture(e.TEXTURE_2D,a.__webglTexture,e.TEXTURE0+i)}const Y={[S]:e.REPEAT,[b]:e.CLAMP_TO_EDGE,[N]:e.MIRRORED_REPEAT},X={[O]:e.NEAREST,1004:e.NEAREST_MIPMAP_NEAREST,[A]:e.NEAREST_MIPMAP_LINEAR,[x]:e.LINEAR,1007:e.LINEAR_MIPMAP_NEAREST,[C]:e.LINEAR_MIPMAP_LINEAR},K={512:e.NEVER,519:e.ALWAYS,513:e.LESS,515:e.LEQUAL,514:e.EQUAL,518:e.GEQUAL,516:e.GREATER,517:e.NOTEQUAL};function Z(n,a,l){if(l?(e.texParameteri(n,e.TEXTURE_WRAP_S,Y[a.wrapS]),e.texParameteri(n,e.TEXTURE_WRAP_T,Y[a.wrapT]),n!==e.TEXTURE_3D&&n!==e.TEXTURE_2D_ARRAY||e.texParameteri(n,e.TEXTURE_WRAP_R,Y[a.wrapR]),e.texParameteri(n,e.TEXTURE_MAG_FILTER,X[a.magFilter]),e.texParameteri(n,e.TEXTURE_MIN_FILTER,X[a.minFilter])):(e.texParameteri(n,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(n,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),n!==e.TEXTURE_3D&&n!==e.TEXTURE_2D_ARRAY||e.texParameteri(n,e.TEXTURE_WRAP_R,e.CLAMP_TO_EDGE),a.wrapS===b&&a.wrapT===b||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),e.texParameteri(n,e.TEXTURE_MAG_FILTER,G(a.magFilter)),e.texParameteri(n,e.TEXTURE_MIN_FILTER,G(a.minFilter)),a.minFilter!==O&&a.minFilter!==x&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),a.compareFunction&&(e.texParameteri(n,e.TEXTURE_COMPARE_MODE,e.COMPARE_REF_TO_TEXTURE),e.texParameteri(n,e.TEXTURE_COMPARE_FUNC,K[a.compareFunction])),!0===t.has("EXT_texture_filter_anisotropic")){const l=t.get("EXT_texture_filter_anisotropic");if(a.magFilter===O)return;if(a.minFilter!==A&&a.minFilter!==C)return;if(a.type===_&&!1===t.has("OES_texture_float_linear"))return;if(!1===r&&a.type===M&&!1===t.has("OES_texture_half_float_linear"))return;(a.anisotropy>1||s.get(a).__currentAnisotropy)&&(e.texParameterf(n,l.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,i.getMaxAnisotropy())),s.get(a).__currentAnisotropy=a.anisotropy)}}function te(t,n){let s=!1;void 0===t.__webglInit&&(t.__webglInit=!0,n.addEventListener("dispose",V));const i=n.source;let a=m.get(i);void 0===a&&(a={},m.set(i,a));const r=function(e){const t=[];return t.push(e.wrapS),t.push(e.wrapT),t.push(e.wrapR||0),t.push(e.magFilter),t.push(e.minFilter),t.push(e.anisotropy),t.push(e.internalFormat),t.push(e.format),t.push(e.type),t.push(e.generateMipmaps),t.push(e.premultiplyAlpha),t.push(e.flipY),t.push(e.unpackAlignment),t.push(e.colorSpace),t.join()}(n);if(r!==t.__cacheKey){void 0===a[r]&&(a[r]={texture:e.createTexture(),usedTimes:0},l.memory.textures++,s=!0),a[r].usedTimes++;const i=a[t.__cacheKey];void 0!==i&&(a[t.__cacheKey].usedTimes--,0===i.usedTimes&&z(n)),t.__cacheKey=r,t.__webglTexture=a[r].texture}return s}function ne(t,i,l){let o=e.TEXTURE_2D;(i.isDataArrayTexture||i.isCompressedArrayTexture)&&(o=e.TEXTURE_2D_ARRAY),i.isData3DTexture&&(o=e.TEXTURE_3D);const c=te(t,i),p=i.source;n.bindTexture(o,t.__webglTexture,e.TEXTURE0+l);const h=s.get(p);if(p.version!==h.__version||!0===c){n.activeTexture(e.TEXTURE0+l),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,i.flipY),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.premultiplyAlpha),e.pixelStorei(e.UNPACK_ALIGNMENT,i.unpackAlignment),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.NONE);const t=function(e){return!r&&(e.wrapS!==b||e.wrapT!==b||e.minFilter!==O&&e.minFilter!==x)}(i)&&!1===T(i.image);let s=w(i.image,t,!1,u);s=ce(i,s);const d=T(s)||r,f=a.convert(i.format,i.colorSpace);let I,m=a.convert(i.type),y=R(i.internalFormat,f,m,i.colorSpace,i.isVideoTexture);Z(o,i,d);const v=i.mipmaps,S=r&&!0!==i.isVideoTexture,N=void 0===h.__version||!0===c,A=D(i,s,d);if(i.isDepthTexture)y=e.DEPTH_COMPONENT,r?y=i.type===_?e.DEPTH_COMPONENT32F:i.type===q?e.DEPTH_COMPONENT24:i.type===H?e.DEPTH24_STENCIL8:e.DEPTH_COMPONENT16:i.type===_&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),i.format===U&&y===e.DEPTH_COMPONENT&&i.type!==P&&i.type!==q&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),i.type=q,m=a.convert(i.type)),i.format===F&&y===e.DEPTH_COMPONENT&&(y=e.DEPTH_STENCIL,i.type!==H&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),i.type=H,m=a.convert(i.type))),N&&(S?n.texStorage2D(e.TEXTURE_2D,1,y,s.width,s.height):n.texImage2D(e.TEXTURE_2D,0,y,s.width,s.height,0,f,m,null));else if(i.isDataTexture)if(v.length>0&&d){S&&N&&n.texStorage2D(e.TEXTURE_2D,A,y,v[0].width,v[0].height);for(let t=0,s=v.length;t>=1,i>>=1}}else if(v.length>0&&d){S&&N&&n.texStorage2D(e.TEXTURE_2D,A,y,v[0].width,v[0].height);for(let t=0,s=v.length;t>c),s=Math.max(1,i.height>>c);o===e.TEXTURE_3D||o===e.TEXTURE_2D_ARRAY?n.texImage3D(o,c,d,t,s,i.depth,0,u,p,null):n.texImage2D(o,c,d,t,s,0,u,p,null)}n.bindFramebuffer(e.FRAMEBUFFER,t),oe(i)?h.framebufferTexture2DMultisampleEXT(e.FRAMEBUFFER,r,o,s.get(l).__webglTexture,0,re(i)):(o===e.TEXTURE_2D||o>=e.TEXTURE_CUBE_MAP_POSITIVE_X&&o<=e.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&e.framebufferTexture2D(e.FRAMEBUFFER,r,o,s.get(l).__webglTexture,c),n.bindFramebuffer(e.FRAMEBUFFER,null)}function ae(t,n,s){if(e.bindRenderbuffer(e.RENDERBUFFER,t),n.depthBuffer&&!n.stencilBuffer){let i=e.DEPTH_COMPONENT16;if(s||oe(n)){const t=n.depthTexture;t&&t.isDepthTexture&&(t.type===_?i=e.DEPTH_COMPONENT32F:t.type===q&&(i=e.DEPTH_COMPONENT24));const s=re(n);oe(n)?h.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,s,i,n.width,n.height):e.renderbufferStorageMultisample(e.RENDERBUFFER,s,i,n.width,n.height)}else e.renderbufferStorage(e.RENDERBUFFER,i,n.width,n.height);e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t)}else if(n.depthBuffer&&n.stencilBuffer){const i=re(n);s&&!1===oe(n)?e.renderbufferStorageMultisample(e.RENDERBUFFER,i,e.DEPTH24_STENCIL8,n.width,n.height):oe(n)?h.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,i,e.DEPTH24_STENCIL8,n.width,n.height):e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_STENCIL,n.width,n.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,t)}else{const t=!0===n.isWebGLMultipleRenderTargets?n.texture:[n.texture];for(let i=0;i0&&!0===t.has("WEBGL_multisampled_render_to_texture")&&!1!==n.__useRenderToTexture}function ce(e,n){const s=e.colorSpace,i=e.format,a=e.type;return!0===e.isCompressedTexture||!0===e.isVideoTexture||e.format===se||s!==$&&s!==Q&&(s===J||s===ee?!1===r?!0===t.has("EXT_sRGB")&&i===B?(e.format=se,e.minFilter=x,e.generateMipmaps=!1):n=Me.sRGBToLinear(n):i===B&&a===L||console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",s)),n}this.allocateTextureUnit=function(){const e=W;return e>=o&&console.warn("THREE.WebGLTextures: Trying to use "+e+" texture units while this GPU supports only "+o),W+=1,e},this.resetTextureUnits=function(){W=0},this.setTexture2D=k,this.setTexture2DArray=function(t,i){const a=s.get(t);t.version>0&&a.__version!==t.version?ne(a,t,i):n.bindTexture(e.TEXTURE_2D_ARRAY,a.__webglTexture,e.TEXTURE0+i)},this.setTexture3D=function(t,i){const a=s.get(t);t.version>0&&a.__version!==t.version?ne(a,t,i):n.bindTexture(e.TEXTURE_3D,a.__webglTexture,e.TEXTURE0+i)},this.setTextureCube=function(t,i){const l=s.get(t);t.version>0&&l.__version!==t.version?function(t,i,l){if(6!==i.image.length)return;const o=te(t,i),u=i.source;n.bindTexture(e.TEXTURE_CUBE_MAP,t.__webglTexture,e.TEXTURE0+l);const p=s.get(u);if(u.version!==p.__version||!0===o){n.activeTexture(e.TEXTURE0+l),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,i.flipY),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.premultiplyAlpha),e.pixelStorei(e.UNPACK_ALIGNMENT,i.unpackAlignment),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.NONE);const t=i.isCompressedTexture||i.image[0].isCompressedTexture,s=i.image[0]&&i.image[0].isDataTexture,h=[];for(let e=0;e<6;e++)h[e]=t||s?s?i.image[e].image:i.image[e]:w(i.image[e],!1,!0,c),h[e]=ce(i,h[e]);const d=h[0],f=T(d)||r,I=a.convert(i.format,i.colorSpace),m=a.convert(i.type),y=R(i.internalFormat,I,m,i.colorSpace),v=r&&!0!==i.isVideoTexture,S=void 0===p.__version||!0===o;let b,N=D(i,d,f);if(Z(e.TEXTURE_CUBE_MAP,i,f),t){v&&S&&n.texStorage2D(e.TEXTURE_CUBE_MAP,N,y,d.width,d.height);for(let t=0;t<6;t++){b=h[t].mipmaps;for(let s=0;s0&&N++,n.texStorage2D(e.TEXTURE_CUBE_MAP,N,y,h[0].width,h[0].height));for(let t=0;t<6;t++)if(s){v?n.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,0,0,h[t].width,h[t].height,I,m,h[t].data):n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,y,h[t].width,h[t].height,0,I,m,h[t].data);for(let s=0;s0){c.__webglFramebuffer[t]=[];for(let n=0;n0){c.__webglFramebuffer=[];for(let t=0;t0&&!1===oe(t)){const s=h?o:[o];c.__webglMultisampledFramebuffer=e.createFramebuffer(),c.__webglColorRenderbuffer=[],n.bindFramebuffer(e.FRAMEBUFFER,c.__webglMultisampledFramebuffer);for(let n=0;n0)for(let s=0;s0)for(let n=0;n0&&!1===oe(t)){const i=t.isWebGLMultipleRenderTargets?t.texture:[t.texture],a=t.width,l=t.height;let r=e.COLOR_BUFFER_BIT;const o=[],c=t.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,u=s.get(t),p=!0===t.isWebGLMultipleRenderTargets;if(p)for(let t=0;tr+c?(o.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!o.inputState.pinching&&l<=r-c&&(o.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else null!==r&&e.gripSpace&&(i=t.getPose(e.gripSpace,n),null!==i&&(r.matrix.fromArray(i.transform.matrix),r.matrix.decompose(r.position,r.rotation,r.scale),r.matrixWorldNeedsUpdate=!0,i.linearVelocity?(r.hasLinearVelocity=!0,r.linearVelocity.copy(i.linearVelocity)):r.hasLinearVelocity=!1,i.angularVelocity?(r.hasAngularVelocity=!0,r.angularVelocity.copy(i.angularVelocity)):r.hasAngularVelocity=!1));null!==l&&(s=t.getPose(e.targetRaySpace,n),null===s&&null!==i&&(s=i),null!==s&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1,this.dispatchEvent(Va)))}return null!==l&&(l.visible=null!==s),null!==r&&(r.visible=null!==i),null!==o&&(o.visible=null!==a),this}_getHandJoint(e,t){if(void 0===e.joints[t.jointName]){const n=new Ga;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}}class za extends Ge{constructor(e,t,n,s,i,a,l,r,o,c){if((c=void 0!==c?c:U)!==U&&c!==F)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&c===U&&(n=q),void 0===n&&c===F&&(n=H),super(null,s,i,a,l,r,c,n,o),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=void 0!==l?l:O,this.minFilter=void 0!==r?r:O,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.compareFunction=e.compareFunction,this}toJSON(e){const t=super.toJSON(e);return null!==this.compareFunction&&(t.compareFunction=this.compareFunction),t}}class Wa extends le{constructor(e,t){super();const n=this;let s=null,i=1,a=null,l="local-floor",r=1,o=null,c=null,u=null,p=null,h=null,d=null;const f=t.getContextAttributes();let I=null,m=null;const y=[],v=[],w=new as;w.layers.enable(1),w.viewport=new Ve;const T=new as;T.layers.enable(2),T.viewport=new Ve;const E=[w,T],g=new Fa;g.layers.enable(1),g.layers.enable(2);let R=null,D=null;function S(e){const t=v.indexOf(e.inputSource);if(-1===t)return;const n=y[t];void 0!==n&&(n.update(e.inputSource,e.frame,o||a),n.dispatchEvent({type:e.type,data:e.inputSource}))}function b(){s.removeEventListener("select",S),s.removeEventListener("selectstart",S),s.removeEventListener("selectend",S),s.removeEventListener("squeeze",S),s.removeEventListener("squeezestart",S),s.removeEventListener("squeezeend",S),s.removeEventListener("end",b),s.removeEventListener("inputsourceschange",N);for(let e=0;e=0&&(v[s]=null,y[s].disconnect(n))}for(let t=0;t=v.length){v.push(n),s=e;break}if(null===v[e]){v[e]=n,s=e;break}}if(-1===s)break}const i=y[s];i&&i.connect(n)}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=y[e];return void 0===t&&(t=new ja,y[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=y[e];return void 0===t&&(t=new ja,y[e]=t),t.getGripSpace()},this.getHand=function(e){let t=y[e];return void 0===t&&(t=new ja,y[e]=t),t.getHandSpace()},this.setFramebufferScaleFactor=function(e){i=e,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(e){l=e,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return o||a},this.setReferenceSpace=function(e){o=e},this.getBaseLayer=function(){return null!==p?p:h},this.getBinding=function(){return u},this.getFrame=function(){return d},this.getSession=function(){return s},this.setSession=async function(c){if(s=c,null!==s){if(I=e.getRenderTarget(),s.addEventListener("select",S),s.addEventListener("selectstart",S),s.addEventListener("selectend",S),s.addEventListener("squeeze",S),s.addEventListener("squeezestart",S),s.addEventListener("squeezeend",S),s.addEventListener("end",b),s.addEventListener("inputsourceschange",N),!0!==f.xrCompatible&&await t.makeXRCompatible(),void 0===s.renderState.layers||!1===e.capabilities.isWebGL2){const n={antialias:void 0!==s.renderState.layers||f.antialias,alpha:!0,depth:f.depth,stencil:f.stencil,framebufferScaleFactor:i};h=new XRWebGLLayer(s,t,n),s.updateRenderState({baseLayer:h}),m=new ze(h.framebufferWidth,h.framebufferHeight,{format:B,type:L,colorSpace:e.outputColorSpace,stencilBuffer:f.stencil})}else{let n=null,a=null,l=null;f.depth&&(l=f.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,n=f.stencil?F:U,a=f.stencil?H:q);const r={colorFormat:t.RGBA8,depthFormat:l,scaleFactor:i};u=new XRWebGLBinding(s,t),p=u.createProjectionLayer(r),s.updateRenderState({layers:[p]}),m=new ze(p.textureWidth,p.textureHeight,{format:B,type:L,depthTexture:new za(p.textureWidth,p.textureHeight,a,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:f.stencil,colorSpace:e.outputColorSpace,samples:f.antialias?4:0}),e.properties.get(m).__ignoreDepthValues=p.ignoreDepthValues}m.isXRRenderTarget=!0,this.setFoveation(r),o=null,a=await s.requestReferenceSpace(l),P.setContext(s),P.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(null!==s)return s.environmentBlendMode};const O=new Ke,A=new Ke;function x(e,t){null===t?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(null===s)return;g.near=T.near=w.near=e.near,g.far=T.far=w.far=e.far,R===g.near&&D===g.far||(s.updateRenderState({depthNear:g.near,depthFar:g.far}),R=g.near,D=g.far);const t=e.parent,n=g.cameras;x(g,t);for(let e=0;e0&&(s.alphaTest.value=i.alphaTest);const a=t.get(i).envMap;if(a&&(s.envMap.value=a,s.flipEnvMap.value=a.isCubeTexture&&!1===a.isRenderTargetTexture?-1:1,s.reflectivity.value=i.reflectivity,s.ior.value=i.ior,s.refractionRatio.value=i.refractionRatio),i.lightMap){s.lightMap.value=i.lightMap;const t=!0===e._useLegacyLights?Math.PI:1;s.lightMapIntensity.value=i.lightMapIntensity*t,n(i.lightMap,s.lightMapTransform)}i.aoMap&&(s.aoMap.value=i.aoMap,s.aoMapIntensity.value=i.aoMapIntensity,n(i.aoMap,s.aoMapTransform))}return{refreshFogUniforms:function(t,n){n.color.getRGB(t.fogColor.value,ts(e)),n.isFog?(t.fogNear.value=n.near,t.fogFar.value=n.far):n.isFogExp2&&(t.fogDensity.value=n.density)},refreshMaterialUniforms:function(e,i,a,l,r){i.isMeshBasicMaterial||i.isMeshLambertMaterial?s(e,i):i.isMeshToonMaterial?(s(e,i),function(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap)}(e,i)):i.isMeshPhongMaterial?(s(e,i),function(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4)}(e,i)):i.isMeshStandardMaterial?(s(e,i),function(e,s){e.metalness.value=s.metalness,s.metalnessMap&&(e.metalnessMap.value=s.metalnessMap,n(s.metalnessMap,e.metalnessMapTransform)),e.roughness.value=s.roughness,s.roughnessMap&&(e.roughnessMap.value=s.roughnessMap,n(s.roughnessMap,e.roughnessMapTransform));t.get(s).envMap&&(e.envMapIntensity.value=s.envMapIntensity)}(e,i),i.isMeshPhysicalMaterial&&function(e,t,s){e.ior.value=t.ior,t.sheen>0&&(e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),e.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap,n(t.sheenColorMap,e.sheenColorMapTransform)),t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap,n(t.sheenRoughnessMap,e.sheenRoughnessMapTransform))),t.clearcoat>0&&(e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap,n(t.clearcoatMap,e.clearcoatMapTransform)),t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap,n(t.clearcoatRoughnessMap,e.clearcoatRoughnessMapTransform)),t.clearcoatNormalMap&&(e.clearcoatNormalMap.value=t.clearcoatNormalMap,n(t.clearcoatNormalMap,e.clearcoatNormalMapTransform),e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),t.side===c&&e.clearcoatNormalScale.value.negate())),t.iridescence>0&&(e.iridescence.value=t.iridescence,e.iridescenceIOR.value=t.iridescenceIOR,e.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],e.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(e.iridescenceMap.value=t.iridescenceMap,n(t.iridescenceMap,e.iridescenceMapTransform)),t.iridescenceThicknessMap&&(e.iridescenceThicknessMap.value=t.iridescenceThicknessMap,n(t.iridescenceThicknessMap,e.iridescenceThicknessMapTransform))),t.transmission>0&&(e.transmission.value=t.transmission,e.transmissionSamplerMap.value=s.texture,e.transmissionSamplerSize.value.set(s.width,s.height),t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap,n(t.transmissionMap,e.transmissionMapTransform)),e.thickness.value=t.thickness,t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap,n(t.thicknessMap,e.thicknessMapTransform)),e.attenuationDistance.value=t.attenuationDistance,e.attenuationColor.value.copy(t.attenuationColor)),t.anisotropy>0&&(e.anisotropyVector.value.set(t.anisotropy*Math.cos(t.anisotropyRotation),t.anisotropy*Math.sin(t.anisotropyRotation)),t.anisotropyMap&&(e.anisotropyMap.value=t.anisotropyMap,n(t.anisotropyMap,e.anisotropyMapTransform))),e.specularIntensity.value=t.specularIntensity,e.specularColor.value.copy(t.specularColor),t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap,n(t.specularColorMap,e.specularColorMapTransform)),t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap,n(t.specularIntensityMap,e.specularIntensityMapTransform))}(e,i,r)):i.isMeshMatcapMaterial?(s(e,i),function(e,t){t.matcap&&(e.matcap.value=t.matcap)}(e,i)):i.isMeshDepthMaterial?s(e,i):i.isMeshDistanceMaterial?(s(e,i),function(e,n){const s=t.get(n).light;e.referencePosition.value.setFromMatrixPosition(s.matrixWorld),e.nearDistance.value=s.shadow.camera.near,e.farDistance.value=s.shadow.camera.far}(e,i)):i.isMeshNormalMaterial?s(e,i):i.isLineBasicMaterial?(function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform))}(e,i),i.isLineDashedMaterial&&function(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}(e,i)):i.isPointsMaterial?function(e,t,s,i){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*s,e.scale.value=.5*i,t.map&&(e.map.value=t.map,n(t.map,e.uvTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}(e,i,a,l):i.isSpriteMaterial?function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map,n(t.map,e.mapTransform)),t.alphaMap&&(e.alphaMap.value=t.alphaMap,n(t.alphaMap,e.alphaMapTransform)),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest)}(e,i):i.isShadowMaterial?(e.color.value.copy(i.color),e.opacity.value=i.opacity):i.isShaderMaterial&&(i.uniformsNeedUpdate=!1)}}}function Ya(e,t,n,s){let i={},a={},l=[];const r=n.isWebGL2?e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS):0;function o(e,t,n){const s=e.value;if(void 0===n[t]){if("number"==typeof s)n[t]=s;else{const e=Array.isArray(s)?s:[s],i=[];for(let t=0;t0&&(s=n%16,0!==s&&16-s-a.boundary<0&&(n+=16-s,i.__offset=n)),n+=a.storage}s=n%16,s>0&&(n+=16-s),e.__size=n,e.__cache={}}(n),h=function(t){const n=function(){for(let e=0;e0),p=!!n.morphAttributes.position,h=!!n.morphAttributes.normal,d=!!n.morphAttributes.color;let f=m;s.toneMapped&&(null!==N&&!0!==N.isXRRenderTarget||(f=R.toneMapping));const I=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,y=void 0!==I?I.length:0,v=he.get(s),w=T.state.lights;if(!0===ee&&(!0===te||e!==A)){const t=e===A&&s.id===O;be.setState(s,e,t)}let E=!1;s.version===v.__version?v.needsLights&&v.lightsStateVersion!==w.state.version||v.outputColorSpace!==r||i.isInstancedMesh&&!1===v.instancing?E=!0:i.isInstancedMesh||!0!==v.instancing?i.isSkinnedMesh&&!1===v.skinning?E=!0:i.isSkinnedMesh||!0!==v.skinning?i.isInstancedMesh&&!0===v.instancingColor&&null===i.instanceColor||i.isInstancedMesh&&!1===v.instancingColor&&null!==i.instanceColor||v.envMap!==o||!0===s.fog&&v.fog!==a?E=!0:void 0===v.numClippingPlanes||v.numClippingPlanes===be.numPlanes&&v.numIntersection===be.numIntersection?(v.vertexAlphas!==c||v.vertexTangents!==u||v.morphTargets!==p||v.morphNormals!==h||v.morphColors!==d||v.toneMapping!==f||!0===ce.isWebGL2&&v.morphTargetsCount!==y)&&(E=!0):E=!0:E=!0:E=!0:(E=!0,v.__version=s.version);let g=v.currentProgram;!0===E&&(g=et(s,t,i));let D=!1,S=!1,b=!1;const x=g.getUniforms(),C=v.uniforms;if(ue.useProgram(g.program)&&(D=!0,S=!0,b=!0),s.id!==O&&(O=s.id,S=!0),D||A!==e){x.setValue(_e,"projectionMatrix",e.projectionMatrix),x.setValue(_e,"viewMatrix",e.matrixWorldInverse);const t=x.map.cameraPosition;void 0!==t&&t.setValue(_e,ae.setFromMatrixPosition(e.matrixWorld)),ce.logarithmicDepthBuffer&&x.setValue(_e,"logDepthBufFC",2/(Math.log(e.far+1)/Math.LN2)),(s.isMeshPhongMaterial||s.isMeshToonMaterial||s.isMeshLambertMaterial||s.isMeshBasicMaterial||s.isMeshStandardMaterial||s.isShaderMaterial)&&x.setValue(_e,"isOrthographic",!0===e.isOrthographicCamera),A!==e&&(A=e,S=!0,b=!0)}if(i.isSkinnedMesh){x.setOptional(_e,i,"bindMatrix"),x.setOptional(_e,i,"bindMatrixInverse");const e=i.skeleton;e&&(ce.floatVertexTextures?(null===e.boneTexture&&e.computeBoneTexture(),x.setValue(_e,"boneTexture",e.boneTexture,de),x.setValue(_e,"boneTextureSize",e.boneTextureSize)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}const L=n.morphAttributes;var P,q;if((void 0!==L.position||void 0!==L.normal||void 0!==L.color&&!0===ce.isWebGL2)&&Ae.update(i,n,g),(S||v.receiveShadow!==i.receiveShadow)&&(v.receiveShadow=i.receiveShadow,x.setValue(_e,"receiveShadow",i.receiveShadow)),s.isMeshGouraudMaterial&&null!==s.envMap&&(C.envMap.value=o,C.flipEnvMap.value=o.isCubeTexture&&!1===o.isRenderTargetTexture?-1:1),S&&(x.setValue(_e,"toneMappingExposure",R.toneMappingExposure),v.needsLights&&(q=b,(P=C).ambientLightColor.needsUpdate=q,P.lightProbe.needsUpdate=q,P.directionalLights.needsUpdate=q,P.directionalLightShadows.needsUpdate=q,P.pointLights.needsUpdate=q,P.pointLightShadows.needsUpdate=q,P.spotLights.needsUpdate=q,P.spotLightShadows.needsUpdate=q,P.rectAreaLights.needsUpdate=q,P.hemisphereLights.needsUpdate=q),a&&!0===s.fog&&ge.refreshFogUniforms(C,a),ge.refreshMaterialUniforms(C,s,W,z,ne),ta.upload(_e,v.uniformsList,C,de)),s.isShaderMaterial&&!0===s.uniformsNeedUpdate&&(ta.upload(_e,v.uniformsList,C,de),s.uniformsNeedUpdate=!1),s.isSpriteMaterial&&x.setValue(_e,"center",i.center),x.setValue(_e,"modelViewMatrix",i.modelViewMatrix),x.setValue(_e,"normalMatrix",i.normalMatrix),x.setValue(_e,"modelMatrix",i.matrixWorld),s.isShaderMaterial||s.isRawShaderMaterial){const e=s.uniformsGroups;for(let t=0,n=e.length;t0&&function(e,t,n,s){const i=ce.isWebGL2;null===ne&&(ne=new ze(1,1,{generateMipmaps:!0,type:oe.has("EXT_color_buffer_half_float")?M:L,minFilter:C,samples:i?4:0})),R.getDrawingBufferSize(ie),i?ne.setSize(ie.x,ie.y):ne.setSize(me(ie.x),me(ie.y));const a=R.getRenderTarget();R.setRenderTarget(ne),R.getClearColor(G),V=R.getClearAlpha(),V<1&&R.setClearColor(16777215,.5),R.clear();const l=R.toneMapping;R.toneMapping=m,Je(e,n,s),de.updateMultisampleRenderTarget(ne),de.updateRenderTargetMipmap(ne);let r=!1;for(let e=0,i=t.length;e0&&Je(i,t,n),a.length>0&&Je(a,t,n),l.length>0&&Je(l,t,n),ue.buffers.depth.setTest(!0),ue.buffers.depth.setMask(!0),ue.buffers.color.setMask(!0),ue.setPolygonOffset(!1)}function Je(e,t,n){const s=!0===t.isScene?t.overrideMaterial:null;for(let i=0,a=e.length;i0?g[g.length-1]:null,E.pop(),w=E.length>0?E[E.length-1]:null},this.getActiveCubeFace=function(){return S},this.getActiveMipmapLevel=function(){return b},this.getRenderTarget=function(){return N},this.setRenderTargetTextures=function(e,t,n){he.get(e.texture).__webglTexture=t,he.get(e.depthTexture).__webglTexture=n;const s=he.get(e);s.__hasExternalTextures=!0,s.__hasExternalTextures&&(s.__autoAllocateDepthBuffer=void 0===n,s.__autoAllocateDepthBuffer||!0===oe.has("WEBGL_multisampled_render_to_texture")&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),s.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(e,t){const n=he.get(e);n.__webglFramebuffer=t,n.__useDefaultFramebuffer=void 0===t},this.setRenderTarget=function(e,t=0,n=0){N=e,S=t,b=n;let s=!0,i=null,a=!1,l=!1;if(e){const r=he.get(e);void 0!==r.__useDefaultFramebuffer?(ue.bindFramebuffer(_e.FRAMEBUFFER,null),s=!1):void 0===r.__webglFramebuffer?de.setupRenderTarget(e):r.__hasExternalTextures&&de.rebindTextures(e,he.get(e.texture).__webglTexture,he.get(e.depthTexture).__webglTexture);const o=e.texture;(o.isData3DTexture||o.isDataArrayTexture||o.isCompressedArrayTexture)&&(l=!0);const c=he.get(e).__webglFramebuffer;e.isWebGLCubeRenderTarget?(i=Array.isArray(c[t])?c[t][n]:c[t],a=!0):i=ce.isWebGL2&&e.samples>0&&!1===de.useMultisampledRTT(e)?he.get(e).__webglMultisampledFramebuffer:Array.isArray(c)?c[n]:c,x.copy(e.viewport),U.copy(e.scissor),F=e.scissorTest}else x.copy(X).multiplyScalar(W).floor(),U.copy(K).multiplyScalar(W).floor(),F=Z;if(ue.bindFramebuffer(_e.FRAMEBUFFER,i)&&ce.drawBuffers&&s&&ue.drawBuffers(e,i),ue.viewport(x),ue.scissor(U),ue.setScissorTest(F),a){const s=he.get(e.texture);_e.framebufferTexture2D(_e.FRAMEBUFFER,_e.COLOR_ATTACHMENT0,_e.TEXTURE_CUBE_MAP_POSITIVE_X+t,s.__webglTexture,n)}else if(l){const s=he.get(e.texture),i=t||0;_e.framebufferTextureLayer(_e.FRAMEBUFFER,_e.COLOR_ATTACHMENT0,s.__webglTexture,n||0,i)}O=-1},this.readRenderTargetPixels=function(e,t,n,s,i,a,l){if(!e||!e.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let r=he.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&void 0!==l&&(r=r[l]),r){ue.bindFramebuffer(_e.FRAMEBUFFER,r);try{const l=e.texture,r=l.format,o=l.type;if(r!==B&&Le.convert(r)!==_e.getParameter(_e.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const c=o===M&&(oe.has("EXT_color_buffer_half_float")||ce.isWebGL2&&oe.has("EXT_color_buffer_float"));if(!(o===L||Le.convert(o)===_e.getParameter(_e.IMPLEMENTATION_COLOR_READ_TYPE)||o===_&&(ce.isWebGL2||oe.has("OES_texture_float")||oe.has("WEBGL_color_buffer_float"))||c))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");t>=0&&t<=e.width-s&&n>=0&&n<=e.height-i&&_e.readPixels(t,n,s,i,Le.convert(r),Le.convert(o),a)}finally{const e=null!==N?he.get(N).__webglFramebuffer:null;ue.bindFramebuffer(_e.FRAMEBUFFER,e)}}},this.copyFramebufferToTexture=function(e,t,n=0){const s=Math.pow(2,-n),i=Math.floor(t.image.width*s),a=Math.floor(t.image.height*s);de.setTexture2D(t,0),_e.copyTexSubImage2D(_e.TEXTURE_2D,n,0,0,e.x,e.y,i,a),ue.unbindTexture()},this.copyTextureToTexture=function(e,t,n,s=0){const i=t.image.width,a=t.image.height,l=Le.convert(n.format),r=Le.convert(n.type);de.setTexture2D(n,0),_e.pixelStorei(_e.UNPACK_FLIP_Y_WEBGL,n.flipY),_e.pixelStorei(_e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,n.premultiplyAlpha),_e.pixelStorei(_e.UNPACK_ALIGNMENT,n.unpackAlignment),t.isDataTexture?_e.texSubImage2D(_e.TEXTURE_2D,s,e.x,e.y,i,a,l,r,t.image.data):t.isCompressedTexture?_e.compressedTexSubImage2D(_e.TEXTURE_2D,s,e.x,e.y,t.mipmaps[0].width,t.mipmaps[0].height,l,t.mipmaps[0].data):_e.texSubImage2D(_e.TEXTURE_2D,s,e.x,e.y,l,r,t.image),0===s&&n.generateMipmaps&&_e.generateMipmap(_e.TEXTURE_2D),ue.unbindTexture()},this.copyTextureToTexture3D=function(e,t,n,s,i=0){if(R.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const a=e.max.x-e.min.x+1,l=e.max.y-e.min.y+1,r=e.max.z-e.min.z+1,o=Le.convert(s.format),c=Le.convert(s.type);let u;if(s.isData3DTexture)de.setTexture3D(s,0),u=_e.TEXTURE_3D;else{if(!s.isDataArrayTexture)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");de.setTexture2DArray(s,0),u=_e.TEXTURE_2D_ARRAY}_e.pixelStorei(_e.UNPACK_FLIP_Y_WEBGL,s.flipY),_e.pixelStorei(_e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,s.premultiplyAlpha),_e.pixelStorei(_e.UNPACK_ALIGNMENT,s.unpackAlignment);const p=_e.getParameter(_e.UNPACK_ROW_LENGTH),h=_e.getParameter(_e.UNPACK_IMAGE_HEIGHT),d=_e.getParameter(_e.UNPACK_SKIP_PIXELS),f=_e.getParameter(_e.UNPACK_SKIP_ROWS),I=_e.getParameter(_e.UNPACK_SKIP_IMAGES),m=n.isCompressedTexture?n.mipmaps[0]:n.image;_e.pixelStorei(_e.UNPACK_ROW_LENGTH,m.width),_e.pixelStorei(_e.UNPACK_IMAGE_HEIGHT,m.height),_e.pixelStorei(_e.UNPACK_SKIP_PIXELS,e.min.x),_e.pixelStorei(_e.UNPACK_SKIP_ROWS,e.min.y),_e.pixelStorei(_e.UNPACK_SKIP_IMAGES,e.min.z),n.isDataTexture||n.isData3DTexture?_e.texSubImage3D(u,i,t.x,t.y,t.z,a,l,r,o,c,m.data):n.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),_e.compressedTexSubImage3D(u,i,t.x,t.y,t.z,a,l,r,o,m.data)):_e.texSubImage3D(u,i,t.x,t.y,t.z,a,l,r,o,c,m),_e.pixelStorei(_e.UNPACK_ROW_LENGTH,p),_e.pixelStorei(_e.UNPACK_IMAGE_HEIGHT,h),_e.pixelStorei(_e.UNPACK_SKIP_PIXELS,d),_e.pixelStorei(_e.UNPACK_SKIP_ROWS,f),_e.pixelStorei(_e.UNPACK_SKIP_IMAGES,I),0===i&&s.generateMipmaps&&_e.generateMipmap(u),ue.unbindTexture()},this.initTexture=function(e){e.isCubeTexture?de.setTextureCube(e,0):e.isData3DTexture?de.setTexture3D(e,0):e.isDataArrayTexture||e.isCompressedArrayTexture?de.setTexture2DArray(e,0):de.setTexture2D(e,0),ue.unbindTexture()},this.resetState=function(){S=0,b=0,N=null,ue.reset(),Pe.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return ie}get physicallyCorrectLights(){return console.warn("THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),!this.useLegacyLights}set physicallyCorrectLights(e){console.warn("THREE.WebGLRenderer: The property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),this.useLegacyLights=!e}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===J?Z:3e3}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===Z?J:$}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(e){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=e}}(class extends Xa{}).prototype.isWebGL1Renderer=!0;class Ka extends Zt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),null!==e.background&&(this.background=e.background.clone()),null!==e.environment&&(this.environment=e.environment.clone()),null!==e.fog&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,null!==e.overrideMaterial&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return null!==this.fog&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),1!==this.backgroundIntensity&&(t.object.backgroundIntensity=this.backgroundIntensity),t}}class Za extends Ge{constructor(e=null,t=1,n=1,s,i,a,l,r,o=O,c=O,u,p){super(null,a,l,r,o,c,s,i,u,p),this.isDataTexture=!0,this.image={data:e,width:t,height:n},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Qa extends En{constructor(e,t,n,s=1){super(e,t,n),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=s}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){const e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}}const Ja=new St,$a=new St,el=[],tl=new Je,nl=new St,sl=new Zn,il=new mt;class al extends Zn{constructor(e,t,n){super(e,t),this.isInstancedMesh=!0,this.instanceMatrix=new Qa(new Float32Array(16*n),16),this.instanceColor=null,this.count=n,this.boundingBox=null,this.boundingSphere=null;for(let e=0;er)continue;p.applyMatrix4(this.matrixWorld);const a=e.ray.origin.distanceTo(p);ae.far||t.push({distance:a,point:u.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}else for(let n=Math.max(0,a.start),s=Math.min(f.count,a.start+a.count)-1;nr)continue;p.applyMatrix4(this.matrixWorld);const s=e.ray.origin.distanceTo(p);se.far||t.push({distance:s,point:u.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}updateMorphTargets(){const e=this.geometry.morphAttributes,t=Object.keys(e);if(t.length>0){const n=e[t[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e0)){o=s;break}o=s-1}if(s=o,n[s]===a)return s/(i-1);const c=n[s];return(s+(a-c)/(n[s+1]-c))/(i-1)}getTangent(e,t){const n=1e-4;let s=e-n,i=e+n;s<0&&(s=0),i>1&&(i=1);const a=this.getPoint(s),l=this.getPoint(i),r=t||(a.isVector2?new Te:new Ke);return r.copy(l).sub(a).normalize(),r}getTangentAt(e,t){const n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){const n=new Ke,s=[],i=[],a=[],l=new Ke,r=new St;for(let t=0;t<=e;t++){const n=t/e;s[t]=this.getTangentAt(n,new Ke)}i[0]=new Ke,a[0]=new Ke;let o=Number.MAX_VALUE;const c=Math.abs(s[0].x),u=Math.abs(s[0].y),p=Math.abs(s[0].z);c<=o&&(o=c,n.set(1,0,0)),u<=o&&(o=u,n.set(0,1,0)),p<=o&&n.set(0,0,1),l.crossVectors(s[0],n).normalize(),i[0].crossVectors(s[0],l),a[0].crossVectors(s[0],i[0]);for(let t=1;t<=e;t++){if(i[t]=i[t-1].clone(),a[t]=a[t-1].clone(),l.crossVectors(s[t-1],s[t]),l.length()>Number.EPSILON){l.normalize();const e=Math.acos(he(s[t-1].dot(s[t]),-1,1));i[t].applyMatrix4(r.makeRotationAxis(l,e))}a[t].crossVectors(s[t],i[t])}if(!0===t){let t=Math.acos(he(i[0].dot(i[e]),-1,1));t/=e,s[0].dot(l.crossVectors(i[0],i[e]))>0&&(t=-t);for(let n=1;n<=e;n++)i[n].applyMatrix4(r.makeRotationAxis(s[n],t*n)),a[n].crossVectors(s[n],i[n])}return{tangents:s,normals:i,binormals:a}}clone(){return(new this.constructor).copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class yl extends ml{constructor(e=0,t=0,n=1,s=1,i=0,a=2*Math.PI,l=!1,r=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=s,this.aStartAngle=i,this.aEndAngle=a,this.aClockwise=l,this.aRotation=r}getPoint(e,t){const n=t||new Te,s=2*Math.PI;let i=this.aEndAngle-this.aStartAngle;const a=Math.abs(i)s;)i-=s;is.length-2?s.length-1:a+1],u=s[a>s.length-3?s.length-1:a+2];return n.set(Rl(l,r.x,o.x,c.x,u.x),Rl(l,r.y,o.y,c.y,u.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t0?0:(Math.floor(Math.abs(o)/i)+1)*i:0===c&&o===i-1&&(o=i-2,c=1),this.closed||o>0?l=s[(o-1)%i]:(wl.subVectors(s[0],s[1]).add(s[0]),l=wl);const u=s[o%i],p=s[(o+1)%i];if(this.closed||o+2=n){const e=s[i]-n,a=this.curves[i],l=a.getLength(),r=0===l?0:1-e/l;return a.getPointAt(r,t)}i++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let n=0,s=this.curves.length;n1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t0){const e=o.getPoint(0);e.equals(this.currentPoint)||this.lineTo(e.x,e.y)}this.curves.push(o);const c=o.getPoint(1);return this.currentPoint.copy(c),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}const Pl=new Ke,ql=new Ke,_l=new Ke,Ml=new cn;class Hl extends Ln{constructor(e=null,t=1){if(super(),this.type="EdgesGeometry",this.parameters={geometry:e,thresholdAngle:t},null!==e){const n=4,s=Math.pow(10,n),i=Math.cos(ce*t),a=e.getIndex(),l=e.getAttribute("position"),r=a?a.count:l.count,o=[0,0,0],c=["a","b","c"],u=new Array(3),p={},h=[];for(let e=0;e0)for(a=t;a=t;a-=s)l=lr(a,e[a],e[a+1],l);return l&&er(l,l.next)&&(rr(l),l=l.next),l}function Fl(e,t){if(!e)return e;t||(t=e);let n,s=e;do{if(n=!1,s.steiner||!er(s,s.next)&&0!==$l(s.prev,s,s.next))s=s.next;else{if(rr(s),s=t=s.prev,s===s.next)break;n=!0}}while(n||s!==t);return t}function Gl(e,t,n,s,i,a,l){if(!e)return;!l&&a&&function(e,t,n,s){let i=e;do{0===i.z&&(i.z=Kl(i.x,i.y,t,n,s)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){let t,n,s,i,a,l,r,o,c=1;do{for(n=e,e=null,a=null,l=0;n;){for(l++,s=n,r=0,t=0;t0||o>0&&s;)0!==r&&(0===o||!s||n.z<=s.z)?(i=n,n=n.nextZ,r--):(i=s,s=s.nextZ,o--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;n=s}a.nextZ=null,c*=2}while(l>1)}(i)}(e,s,i,a);let r,o,c=e;for(;e.prev!==e.next;)if(r=e.prev,o=e.next,a?jl(e,s,i,a):Vl(e))t.push(r.i/n|0),t.push(e.i/n|0),t.push(o.i/n|0),rr(e),e=o.next,c=o.next;else if((e=o)===c){l?1===l?Gl(e=zl(Fl(e),t,n),t,n,s,i,a,2):2===l&&Wl(e,t,n,s,i,a):Gl(Fl(e),t,n,s,i,a,1);break}}function Vl(e){const t=e.prev,n=e,s=e.next;if($l(t,n,s)>=0)return!1;const i=t.x,a=n.x,l=s.x,r=t.y,o=n.y,c=s.y,u=ia?i>l?i:l:a>l?a:l,d=r>o?r>c?r:c:o>c?o:c;let f=s.next;for(;f!==t;){if(f.x>=u&&f.x<=h&&f.y>=p&&f.y<=d&&Ql(i,r,a,o,l,c,f.x,f.y)&&$l(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function jl(e,t,n,s){const i=e.prev,a=e,l=e.next;if($l(i,a,l)>=0)return!1;const r=i.x,o=a.x,c=l.x,u=i.y,p=a.y,h=l.y,d=ro?r>c?r:c:o>c?o:c,m=u>p?u>h?u:h:p>h?p:h,y=Kl(d,f,t,n,s),v=Kl(I,m,t,n,s);let w=e.prevZ,T=e.nextZ;for(;w&&w.z>=y&&T&&T.z<=v;){if(w.x>=d&&w.x<=I&&w.y>=f&&w.y<=m&&w!==i&&w!==l&&Ql(r,u,o,p,c,h,w.x,w.y)&&$l(w.prev,w,w.next)>=0)return!1;if(w=w.prevZ,T.x>=d&&T.x<=I&&T.y>=f&&T.y<=m&&T!==i&&T!==l&&Ql(r,u,o,p,c,h,T.x,T.y)&&$l(T.prev,T,T.next)>=0)return!1;T=T.nextZ}for(;w&&w.z>=y;){if(w.x>=d&&w.x<=I&&w.y>=f&&w.y<=m&&w!==i&&w!==l&&Ql(r,u,o,p,c,h,w.x,w.y)&&$l(w.prev,w,w.next)>=0)return!1;w=w.prevZ}for(;T&&T.z<=v;){if(T.x>=d&&T.x<=I&&T.y>=f&&T.y<=m&&T!==i&&T!==l&&Ql(r,u,o,p,c,h,T.x,T.y)&&$l(T.prev,T,T.next)>=0)return!1;T=T.nextZ}return!0}function zl(e,t,n){let s=e;do{const i=s.prev,a=s.next.next;!er(i,a)&&tr(i,s,s.next,a)&&ir(i,a)&&ir(a,i)&&(t.push(i.i/n|0),t.push(s.i/n|0),t.push(a.i/n|0),rr(s),rr(s.next),s=e=a),s=s.next}while(s!==e);return Fl(s)}function Wl(e,t,n,s,i,a){let l=e;do{let e=l.next.next;for(;e!==l.prev;){if(l.i!==e.i&&Jl(l,e)){let r=ar(l,e);return l=Fl(l,l.next),r=Fl(r,r.next),Gl(l,t,n,s,i,a,0),void Gl(r,t,n,s,i,a,0)}e=e.next}l=l.next}while(l!==e)}function kl(e,t){return e.x-t.x}function Yl(e,t){const n=function(e,t){let n,s=t,i=-1/0;const a=e.x,l=e.y;do{if(l<=s.y&&l>=s.next.y&&s.next.y!==s.y){const e=s.x+(l-s.y)*(s.next.x-s.x)/(s.next.y-s.y);if(e<=a&&e>i&&(i=e,n=s.x=s.x&&s.x>=o&&a!==s.x&&Ql(ln.x||s.x===n.x&&Xl(n,s)))&&(n=s,p=u)),s=s.next}while(s!==r);return n}(e,t);if(!n)return t;const s=ar(n,e);return Fl(s,s.next),Fl(n,n.next)}function Xl(e,t){return $l(e.prev,e,t.prev)<0&&$l(t.next,e,e.next)<0}function Kl(e,t,n,s,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-s)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function Zl(e){let t=e,n=e;do{(t.x=(e-l)*(a-r)&&(e-l)*(s-r)>=(n-l)*(t-r)&&(n-l)*(a-r)>=(i-l)*(s-r)}function Jl(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&tr(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(ir(e,t)&&ir(t,e)&&function(e,t){let n=e,s=!1;const i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{n.y>a!=n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(s=!s),n=n.next}while(n!==e);return s}(e,t)&&($l(e.prev,e,t.prev)||$l(e,t.prev,t))||er(e,t)&&$l(e.prev,e,e.next)>0&&$l(t.prev,t,t.next)>0)}function $l(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function er(e,t){return e.x===t.x&&e.y===t.y}function tr(e,t,n,s){const i=sr($l(e,t,n)),a=sr($l(e,t,s)),l=sr($l(n,s,e)),r=sr($l(n,s,t));return i!==a&&l!==r||!(0!==i||!nr(e,n,t))||!(0!==a||!nr(e,s,t))||!(0!==l||!nr(n,e,s))||!(0!==r||!nr(n,t,s))}function nr(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function sr(e){return e>0?1:e<0?-1:0}function ir(e,t){return $l(e.prev,e,e.next)<0?$l(e,t,e.next)>=0&&$l(e,e.prev,t)>=0:$l(e,t,e.prev)<0||$l(e,e.next,t)<0}function ar(e,t){const n=new or(e.i,e.x,e.y),s=new or(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,s.next=n,n.prev=s,a.next=s,s.prev=a,s}function lr(e,t,n,s){const i=new or(e,t,n);return s?(i.next=s.next,i.prev=s,s.next.prev=i,s.next=i):(i.prev=i,i.next=i),i}function rr(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function or(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}class cr{static area(e){const t=e.length;let n=0;for(let s=t-1,i=0;i80*n){r=c=e[0],o=u=e[1];for(let t=n;tc&&(c=p),h>u&&(u=h);d=Math.max(c-r,u-o),d=0!==d?32767/d:0}return Gl(a,l,n,r,o,d,0),l}(n,s);for(let e=0;e2&&e[t-1].equals(e[0])&&e.pop()}function pr(e,t){for(let n=0;nNumber.EPSILON){const p=Math.sqrt(u),h=Math.sqrt(o*o+c*c),d=t.x-r/p,f=t.y+l/p,I=((n.x-c/h-d)*c-(n.y+o/h-f)*o)/(l*c-r*o);s=d+l*I-e.x,i=f+r*I-e.y;const m=s*s+i*i;if(m<=2)return new Te(s,i);a=Math.sqrt(m/2)}else{let e=!1;l>Number.EPSILON?o>Number.EPSILON&&(e=!0):l<-Number.EPSILON?o<-Number.EPSILON&&(e=!0):Math.sign(r)===Math.sign(c)&&(e=!0),e?(s=-r,i=l,a=Math.sqrt(u)):(s=l,i=r,a=Math.sqrt(u/2))}return new Te(s/a,i/a)}const C=[];for(let e=0,t=b.length,n=t-1,s=e+1;e=0;e--){const t=e/d,n=u*Math.cos(t*Math.PI/2),s=p*Math.sin(t*Math.PI/2)+h;for(let e=0,t=b.length;e=0;){const s=n;let i=n-1;i<0&&(i=e.length-1);for(let e=0,n=r+2*d;e=i)break e;{const l=t[1];e=i)break t}a=n,n=0}}for(;n>>1;et;)--a;if(++a,0!==i||a!==s){i>=a&&(a=Math.max(a,1),i=a-1);const e=this.getValueSize();this.times=mr(n,i,a),this.values=mr(this.values,i*e,a*e)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const n=this.times,s=this.values,i=n.length;0===i&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let a=null;for(let t=0;t!==i;t++){const s=n[t];if("number"==typeof s&&isNaN(s)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,t,s),e=!1;break}if(null!==a&&a>s){console.error("THREE.KeyframeTrack: Out of order keys.",this,t,s,a),e=!1;break}a=s}if(void 0!==s&&vr(s))for(let t=0,n=s.length;t!==n;++t){const n=s[t];if(isNaN(n)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,t,n),e=!1;break}}return e}optimize(){const e=mr(this.times),t=mr(this.values),n=this.getValueSize(),s=this.getInterpolation()===K,i=e.length-1;let a=1;for(let l=1;l0){e[a]=e[i];for(let e=i*n,s=a*n,l=0;l!==n;++l)t[s+l]=t[e+l];++a}return a!==e.length?(this.times=mr(e,0,a),this.values=mr(t,0,a*n)):(this.times=e,this.values=t),this}clone(){const e=mr(this.times,0),t=mr(this.values,0),n=new(0,this.constructor)(this.name,e,t);return n.createInterpolant=this.createInterpolant,n}}Rr.prototype.TimeBufferType=Float32Array,Rr.prototype.ValueBufferType=Float32Array,Rr.prototype.DefaultInterpolation=X;class Dr extends Rr{}Dr.prototype.ValueTypeName="bool",Dr.prototype.ValueBufferType=Array,Dr.prototype.DefaultInterpolation=Y,Dr.prototype.InterpolantFactoryMethodLinear=void 0,Dr.prototype.InterpolantFactoryMethodSmooth=void 0;(class extends Rr{}).prototype.ValueTypeName="color";(class extends Rr{}).prototype.ValueTypeName="number";class Sr extends wr{constructor(e,t,n,s){super(e,t,n,s)}interpolate_(e,t,n,s){const i=this.resultBuffer,a=this.sampleValues,l=this.valueSize,r=(n-t)/(s-t);let o=e*l;for(let e=o+l;o!==e;o+=4)Xe.slerpFlat(i,0,a,o-l,a,o,r);return i}}class br extends Rr{InterpolantFactoryMethodLinear(e){return new Sr(this.times,this.values,this.getValueSize(),e)}}br.prototype.ValueTypeName="quaternion",br.prototype.DefaultInterpolation=X,br.prototype.InterpolantFactoryMethodSmooth=void 0;class Nr extends Rr{}Nr.prototype.ValueTypeName="string",Nr.prototype.ValueBufferType=Array,Nr.prototype.DefaultInterpolation=Y,Nr.prototype.InterpolantFactoryMethodLinear=void 0,Nr.prototype.InterpolantFactoryMethodSmooth=void 0;(class extends Rr{}).prototype.ValueTypeName="vector";const Or={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};class Ar{constructor(e,t,n){const s=this;let i,a=!1,l=0,r=0;const o=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this.itemStart=function(e){r++,!1===a&&void 0!==s.onStart&&s.onStart(e,l,r),a=!0},this.itemEnd=function(e){l++,void 0!==s.onProgress&&s.onProgress(e,l,r),l===r&&(a=!1,void 0!==s.onLoad&&s.onLoad())},this.itemError=function(e){void 0!==s.onError&&s.onError(e)},this.resolveURL=function(e){return i?i(e):e},this.setURLModifier=function(e){return i=e,this},this.addHandler=function(e,t){return o.push(e,t),this},this.removeHandler=function(e){const t=o.indexOf(e);return-1!==t&&o.splice(t,2),this},this.getHandler=function(e){for(let t=0,n=o.length;t{t&&t(i),this.manager.itemEnd(e)}),0),i;if(void 0!==Lr[e])return void Lr[e].push({onLoad:t,onProgress:n,onError:s});Lr[e]=[],Lr[e].push({onLoad:t,onProgress:n,onError:s});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),l=this.mimeType,r=this.responseType;fetch(a).then((t=>{if(200===t.status||0===t.status){if(0===t.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===t.body||void 0===t.body.getReader)return t;const n=Lr[e],s=t.body.getReader(),i=t.headers.get("Content-Length")||t.headers.get("X-File-Size"),a=i?parseInt(i):0,l=0!==a;let r=0;const o=new ReadableStream({start(e){!function t(){s.read().then((({done:s,value:i})=>{if(s)e.close();else{r+=i.byteLength;const s=new ProgressEvent("progress",{lengthComputable:l,loaded:r,total:a});for(let e=0,t=n.length;e{switch(r){case"arraybuffer":return e.arrayBuffer();case"blob":return e.blob();case"document":return e.text().then((e=>(new DOMParser).parseFromString(e,l)));case"json":return e.json();default:if(void 0===l)return e.text();{const t=/charset="?([^;"\s]*)"?/i.exec(l),n=t&&t[1]?t[1].toLowerCase():void 0,s=new TextDecoder(n);return e.arrayBuffer().then((e=>s.decode(e)))}}})).then((t=>{Or.add(e,t);const n=Lr[e];delete Lr[e];for(let e=0,s=n.length;e{const n=Lr[e];if(void 0===n)throw this.manager.itemError(e),t;delete Lr[e];for(let e=0,s=n.length;e{this.manager.itemEnd(e)})),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class _r extends Zt{constructor(e,t=1){super(),this.isLight=!0,this.type="Light",this.color=new mn(e),this.intensity=t}dispose(){}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){const t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,void 0!==this.groundColor&&(t.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(t.object.distance=this.distance),void 0!==this.angle&&(t.object.angle=this.angle),void 0!==this.decay&&(t.object.decay=this.decay),void 0!==this.penumbra&&(t.object.penumbra=this.penumbra),void 0!==this.shadow&&(t.object.shadow=this.shadow.toJSON()),t}}const Mr=new St,Hr=new Ke,Br=new Ke;class Ur{constructor(e){this.camera=e,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new Te(512,512),this.map=null,this.mapPass=null,this.matrix=new St,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new ms,this._frameExtents=new Te(1,1),this._viewportCount=1,this._viewports=[new Ve(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const t=this.camera,n=this.matrix;Hr.setFromMatrixPosition(e.matrixWorld),t.position.copy(Hr),Br.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(Br),t.updateMatrixWorld(),Mr.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(Mr),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(Mr)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return(new this.constructor).copy(this)}toJSON(){const e={};return 0!==this.bias&&(e.bias=this.bias),0!==this.normalBias&&(e.normalBias=this.normalBias),1!==this.radius&&(e.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}class Fr extends Ur{constructor(){super(new xs(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class Gr extends _r{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(Zt.DEFAULT_UP),this.updateMatrix(),this.target=new Zt,this.shadow=new Fr}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}class Vr extends _r{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type="AmbientLight"}}class jr{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=zr(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=zr();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function zr(){return("undefined"==typeof performance?Date:performance).now()}const Wr="\\[\\]\\.:\\/",kr=new RegExp("["+Wr+"]","g"),Yr="[^"+Wr+"]",Xr="[^"+Wr.replace("\\.","")+"]",Kr=new RegExp("^"+/((?:WC+[\/:])*)/.source.replace("WC",Yr)+/(WCOD+)?/.source.replace("WCOD",Xr)+/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Yr)+/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Yr)+"$"),Zr=["material","materials","bones","map"];class Qr{constructor(e,t,n){this.path=t,this.parsedPath=n||Qr.parseTrackName(t),this.node=Qr.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new Qr.Composite(e,t,n):new Qr(e,t,n)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(kr,"")}static parseTrackName(e){const t=Kr.exec(e);if(null===t)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},s=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==s&&-1!==s){const e=n.nodeName.substring(s+1);-1!==Zr.indexOf(e)&&(n.nodeName=n.nodeName.substring(0,s),n.objectName=e)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n}static findNode(e,t){if(void 0===t||""===t||"."===t||-1===t||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(void 0!==n)return n}if(e.children){const n=function(e){for(let s=0;sNumber.EPSILON){if(o<0&&(n=t[a],r=-r,l=t[i],o=-o),e.yl.y)continue;if(e.y===n.y){if(e.x===n.x)return!0}else{const t=o*(e.x-n.x)-r*(e.y-n.y);if(0===t)return!0;if(t<0)continue;s=!s}}else{if(e.y!==n.y)continue;if(l.x<=e.x&&e.x<=n.x||n.x<=e.x&&e.x<=l.x)return!0}}return s}const n=cr.isClockWise,s=this.subPaths;if(0===s.length)return[];let i,a,l;const r=[];if(1===s.length)return a=s[0],l=new Bl,l.curves=a.curves,r.push(l),r;let o=!n(s[0].getPoints());o=e?!o:o;const c=[],u=[];let p,h,d=[],f=0;u[f]=void 0,d[f]=[];for(let t=0,l=s.length;t1){let e=!1,n=0;for(let e=0,t=u.length;e0&&!1===e&&(d=c)}for(let e=0,t=u.length;e{"use strict";n.d(t,{M:()=>i});var s=n(9477);class i extends s.O7d{constructor(e,t={}){const n=t.font;if(void 0===n)super();else{const s=n.generateShapes(e,t.size);t.depth=void 0!==t.height?t.height:50,void 0===t.bevelThickness&&(t.bevelThickness=10),void 0===t.bevelSize&&(t.bevelSize=8),void 0===t.bevelEnabled&&(t.bevelEnabled=!1),super(s,t)}this.type="TextGeometry"}}},1911:(e,t,n)=>{"use strict";n.d(t,{Y:()=>i});var s=n(9477);s.rBU.line={worldUnits:{value:1},linewidth:{value:1},resolution:{value:new s.FM8(1,1)},dashOffset:{value:0},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1}},s.Vj0.line={uniforms:s.rDY.merge([s.rBU.common,s.rBU.fog,s.rBU.line]),vertexShader:"\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\n\t\tuniform float linewidth;\n\t\tuniform vec2 resolution;\n\n\t\tattribute vec3 instanceStart;\n\t\tattribute vec3 instanceEnd;\n\n\t\tattribute vec3 instanceColorStart;\n\t\tattribute vec3 instanceColorEnd;\n\n\t\t#ifdef WORLD_UNITS\n\n\t\t\tvarying vec4 worldPos;\n\t\t\tvarying vec3 worldStart;\n\t\t\tvarying vec3 worldEnd;\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvarying vec2 vUv;\n\n\t\t\t#endif\n\n\t\t#else\n\n\t\t\tvarying vec2 vUv;\n\n\t\t#endif\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashScale;\n\t\t\tattribute float instanceDistanceStart;\n\t\t\tattribute float instanceDistanceEnd;\n\t\t\tvarying float vLineDistance;\n\n\t\t#endif\n\n\t\tvoid trimSegment( const in vec4 start, inout vec4 end ) {\n\n\t\t\t// trim end segment so it terminates between the camera plane and the near plane\n\n\t\t\t// conservative estimate of the near plane\n\t\t\tfloat a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column\n\t\t\tfloat b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column\n\t\t\tfloat nearEstimate = - 0.5 * b / a;\n\n\t\t\tfloat alpha = ( nearEstimate - start.z ) / ( end.z - start.z );\n\n\t\t\tend.xyz = mix( start.xyz, end.xyz, alpha );\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\t#ifdef USE_COLOR\n\n\t\t\t\tvColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;\n\n\t\t\t#endif\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;\n\t\t\t\tvUv = uv;\n\n\t\t\t#endif\n\n\t\t\tfloat aspect = resolution.x / resolution.y;\n\n\t\t\t// camera space\n\t\t\tvec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );\n\t\t\tvec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );\n\n\t\t\t#ifdef WORLD_UNITS\n\n\t\t\t\tworldStart = start.xyz;\n\t\t\t\tworldEnd = end.xyz;\n\n\t\t\t#else\n\n\t\t\t\tvUv = uv;\n\n\t\t\t#endif\n\n\t\t\t// special case for perspective projection, and segments that terminate either in, or behind, the camera plane\n\t\t\t// clearly the gpu firmware has a way of addressing this issue when projecting into ndc space\n\t\t\t// but we need to perform ndc-space calculations in the shader, so we must address this issue directly\n\t\t\t// perhaps there is a more elegant solution -- WestLangley\n\n\t\t\tbool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column\n\n\t\t\tif ( perspective ) {\n\n\t\t\t\tif ( start.z < 0.0 && end.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( start, end );\n\n\t\t\t\t} else if ( end.z < 0.0 && start.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( end, start );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// clip space\n\t\t\tvec4 clipStart = projectionMatrix * start;\n\t\t\tvec4 clipEnd = projectionMatrix * end;\n\n\t\t\t// ndc space\n\t\t\tvec3 ndcStart = clipStart.xyz / clipStart.w;\n\t\t\tvec3 ndcEnd = clipEnd.xyz / clipEnd.w;\n\n\t\t\t// direction\n\t\t\tvec2 dir = ndcEnd.xy - ndcStart.xy;\n\n\t\t\t// account for clip-space aspect ratio\n\t\t\tdir.x *= aspect;\n\t\t\tdir = normalize( dir );\n\n\t\t\t#ifdef WORLD_UNITS\n\n\t\t\t\t// get the offset direction as perpendicular to the view vector\n\t\t\t\tvec3 worldDir = normalize( end.xyz - start.xyz );\n\t\t\t\tvec3 offset;\n\t\t\t\tif ( position.y < 0.5 ) {\n\n\t\t\t\t\toffset = normalize( cross( start.xyz, worldDir ) );\n\n\t\t\t\t} else {\n\n\t\t\t\t\toffset = normalize( cross( end.xyz, worldDir ) );\n\n\t\t\t\t}\n\n\t\t\t\t// sign flip\n\t\t\t\tif ( position.x < 0.0 ) offset *= - 1.0;\n\n\t\t\t\tfloat forwardOffset = dot( worldDir, vec3( 0.0, 0.0, 1.0 ) );\n\n\t\t\t\t// don't extend the line if we're rendering dashes because we\n\t\t\t\t// won't be rendering the endcaps\n\t\t\t\t#ifndef USE_DASH\n\n\t\t\t\t\t// extend the line bounds to encompass endcaps\n\t\t\t\t\tstart.xyz += - worldDir * linewidth * 0.5;\n\t\t\t\t\tend.xyz += worldDir * linewidth * 0.5;\n\n\t\t\t\t\t// shift the position of the quad so it hugs the forward edge of the line\n\t\t\t\t\toffset.xy -= dir * forwardOffset;\n\t\t\t\t\toffset.z += 0.5;\n\n\t\t\t\t#endif\n\n\t\t\t\t// endcaps\n\t\t\t\tif ( position.y > 1.0 || position.y < 0.0 ) {\n\n\t\t\t\t\toffset.xy += dir * 2.0 * forwardOffset;\n\n\t\t\t\t}\n\n\t\t\t\t// adjust for linewidth\n\t\t\t\toffset *= linewidth * 0.5;\n\n\t\t\t\t// set the world position\n\t\t\t\tworldPos = ( position.y < 0.5 ) ? start : end;\n\t\t\t\tworldPos.xyz += offset;\n\n\t\t\t\t// project the worldpos\n\t\t\t\tvec4 clip = projectionMatrix * worldPos;\n\n\t\t\t\t// shift the depth of the projected points so the line\n\t\t\t\t// segments overlap neatly\n\t\t\t\tvec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd;\n\t\t\t\tclip.z = clipPose.z * clip.w;\n\n\t\t\t#else\n\n\t\t\t\tvec2 offset = vec2( dir.y, - dir.x );\n\t\t\t\t// undo aspect ratio adjustment\n\t\t\t\tdir.x /= aspect;\n\t\t\t\toffset.x /= aspect;\n\n\t\t\t\t// sign flip\n\t\t\t\tif ( position.x < 0.0 ) offset *= - 1.0;\n\n\t\t\t\t// endcaps\n\t\t\t\tif ( position.y < 0.0 ) {\n\n\t\t\t\t\toffset += - dir;\n\n\t\t\t\t} else if ( position.y > 1.0 ) {\n\n\t\t\t\t\toffset += dir;\n\n\t\t\t\t}\n\n\t\t\t\t// adjust for linewidth\n\t\t\t\toffset *= linewidth;\n\n\t\t\t\t// adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...\n\t\t\t\toffset /= resolution.y;\n\n\t\t\t\t// select end\n\t\t\t\tvec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;\n\n\t\t\t\t// back to clip space\n\t\t\t\toffset *= clip.w;\n\n\t\t\t\tclip.xy += offset;\n\n\t\t\t#endif\n\n\t\t\tgl_Position = clip;\n\n\t\t\tvec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation\n\n\t\t\t#include \n\t\t\t#include \n\t\t\t#include \n\n\t\t}\n\t\t",fragmentShader:"\n\t\tuniform vec3 diffuse;\n\t\tuniform float opacity;\n\t\tuniform float linewidth;\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashOffset;\n\t\t\tuniform float dashSize;\n\t\t\tuniform float gapSize;\n\n\t\t#endif\n\n\t\tvarying float vLineDistance;\n\n\t\t#ifdef WORLD_UNITS\n\n\t\t\tvarying vec4 worldPos;\n\t\t\tvarying vec3 worldStart;\n\t\t\tvarying vec3 worldEnd;\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvarying vec2 vUv;\n\n\t\t\t#endif\n\n\t\t#else\n\n\t\t\tvarying vec2 vUv;\n\n\t\t#endif\n\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\n\t\tvec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) {\n\n\t\t\tfloat mua;\n\t\t\tfloat mub;\n\n\t\t\tvec3 p13 = p1 - p3;\n\t\t\tvec3 p43 = p4 - p3;\n\n\t\t\tvec3 p21 = p2 - p1;\n\n\t\t\tfloat d1343 = dot( p13, p43 );\n\t\t\tfloat d4321 = dot( p43, p21 );\n\t\t\tfloat d1321 = dot( p13, p21 );\n\t\t\tfloat d4343 = dot( p43, p43 );\n\t\t\tfloat d2121 = dot( p21, p21 );\n\n\t\t\tfloat denom = d2121 * d4343 - d4321 * d4321;\n\n\t\t\tfloat numer = d1343 * d4321 - d1321 * d4343;\n\n\t\t\tmua = numer / denom;\n\t\t\tmua = clamp( mua, 0.0, 1.0 );\n\t\t\tmub = ( d1343 + d4321 * ( mua ) ) / d4343;\n\t\t\tmub = clamp( mub, 0.0, 1.0 );\n\n\t\t\treturn vec2( mua, mub );\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\t#include \n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tif ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps\n\n\t\t\t\tif ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX\n\n\t\t\t#endif\n\n\t\t\tfloat alpha = opacity;\n\n\t\t\t#ifdef WORLD_UNITS\n\n\t\t\t\t// Find the closest points on the view ray and the line segment\n\t\t\t\tvec3 rayEnd = normalize( worldPos.xyz ) * 1e5;\n\t\t\t\tvec3 lineDir = worldEnd - worldStart;\n\t\t\t\tvec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd );\n\n\t\t\t\tvec3 p1 = worldStart + lineDir * params.x;\n\t\t\t\tvec3 p2 = rayEnd * params.y;\n\t\t\t\tvec3 delta = p1 - p2;\n\t\t\t\tfloat len = length( delta );\n\t\t\t\tfloat norm = len / linewidth;\n\n\t\t\t\t#ifndef USE_DASH\n\n\t\t\t\t\t#ifdef USE_ALPHA_TO_COVERAGE\n\n\t\t\t\t\t\tfloat dnorm = fwidth( norm );\n\t\t\t\t\t\talpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm );\n\n\t\t\t\t\t#else\n\n\t\t\t\t\t\tif ( norm > 0.5 ) {\n\n\t\t\t\t\t\t\tdiscard;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t#endif\n\n\t\t\t\t#endif\n\n\t\t\t#else\n\n\t\t\t\t#ifdef USE_ALPHA_TO_COVERAGE\n\n\t\t\t\t\t// artifacts appear on some hardware if a derivative is taken within a conditional\n\t\t\t\t\tfloat a = vUv.x;\n\t\t\t\t\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n\t\t\t\t\tfloat len2 = a * a + b * b;\n\t\t\t\t\tfloat dlen = fwidth( len2 );\n\n\t\t\t\t\tif ( abs( vUv.y ) > 1.0 ) {\n\n\t\t\t\t\t\talpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 );\n\n\t\t\t\t\t}\n\n\t\t\t\t#else\n\n\t\t\t\t\tif ( abs( vUv.y ) > 1.0 ) {\n\n\t\t\t\t\t\tfloat a = vUv.x;\n\t\t\t\t\t\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n\t\t\t\t\t\tfloat len2 = a * a + b * b;\n\n\t\t\t\t\t\tif ( len2 > 1.0 ) discard;\n\n\t\t\t\t\t}\n\n\t\t\t\t#endif\n\n\t\t\t#endif\n\n\t\t\tvec4 diffuseColor = vec4( diffuse, alpha );\n\n\t\t\t#include \n\t\t\t#include \n\n\t\t\tgl_FragColor = vec4( diffuseColor.rgb, alpha );\n\n\t\t\t#include \n\t\t\t#include \n\t\t\t#include \n\t\t\t#include \n\n\t\t}\n\t\t"};class i extends s.jyz{constructor(e){super({type:"LineMaterial",uniforms:s.rDY.clone(s.Vj0.line.uniforms),vertexShader:s.Vj0.line.vertexShader,fragmentShader:s.Vj0.line.fragmentShader,clipping:!0}),this.isLineMaterial=!0,Object.defineProperties(this,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(e){this.uniforms.diffuse.value=e}},worldUnits:{enumerable:!0,get:function(){return"WORLD_UNITS"in this.defines},set:function(e){!0===e?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashed:{enumerable:!0,get:function(){return Boolean("USE_DASH"in this.defines)},set(e){Boolean(e)!==Boolean("USE_DASH"in this.defines)&&(this.needsUpdate=!0),!0===e?this.defines.USE_DASH="":delete this.defines.USE_DASH}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},dashOffset:{enumerable:!0,get:function(){return this.uniforms.dashOffset.value},set:function(e){this.uniforms.dashOffset.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}},alphaToCoverage:{enumerable:!0,get:function(){return Boolean("USE_ALPHA_TO_COVERAGE"in this.defines)},set:function(e){Boolean(e)!==Boolean("USE_ALPHA_TO_COVERAGE"in this.defines)&&(this.needsUpdate=!0),!0===e?(this.defines.USE_ALPHA_TO_COVERAGE="",this.extensions.derivatives=!0):(delete this.defines.USE_ALPHA_TO_COVERAGE,this.extensions.derivatives=!1)}}}),this.setValues(e)}}},7157:(e,t,n)=>{"use strict";n.d(t,{J:()=>i});var s=n(9477);class i extends s.aNw{constructor(e){super(e)}load(e,t,n,i){const a=this,l=new s.hH6(this.manager);l.setPath(this.path),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(e,(function(e){const n=a.parse(JSON.parse(e));t&&t(n)}),n,i)}parse(e){return new a(e)}}class a{constructor(e){this.isFont=!0,this.type="Font",this.data=e}generateShapes(e,t=100){const n=[],s=function(e,t,n){const s=Array.from(e),i=t/n.resolution,a=(n.boundingBox.yMax-n.boundingBox.yMin+n.underlineThickness)*i,r=[];let o=0,c=0;for(let e=0;e{"use strict";n.d(t,{x:()=>r});var s=n(9477),i=n(1154),a=n(7531),l=n(4604);class r{constructor(e,t){if(this.renderer=e,this._pixelRatio=e.getPixelRatio(),void 0===t){const n=e.getSize(new s.FM8);this._width=n.width,this._height=n.height,(t=new s.dd2(this._width*this._pixelRatio,this._height*this._pixelRatio,{type:s.cLu})).texture.name="EffectComposer.rt1"}else this._width=t.width,this._height=t.height;this.renderTarget1=t,this.renderTarget2=t.clone(),this.renderTarget2.texture.name="EffectComposer.rt2",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],this.copyPass=new a.T(i.C),this.copyPass.material.blending=s.jFi,this.clock=new s.SUY}swapBuffers(){const e=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=e}addPass(e){this.passes.push(e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(e,t){this.passes.splice(t,0,e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(e){const t=this.passes.indexOf(e);-1!==t&&this.passes.splice(t,1)}isLastEnabledPass(e){for(let t=e+1;t{"use strict";n.d(t,{F:()=>i,M:()=>a});var s=n(8304);class i extends s.w{constructor(e,t){super(),this.scene=e,this.camera=t,this.clear=!0,this.needsSwap=!1,this.inverse=!1}render(e,t,n){const s=e.getContext(),i=e.state;let a,l;i.buffers.color.setMask(!1),i.buffers.depth.setMask(!1),i.buffers.color.setLocked(!0),i.buffers.depth.setLocked(!0),this.inverse?(a=0,l=1):(a=1,l=0),i.buffers.stencil.setTest(!0),i.buffers.stencil.setOp(s.REPLACE,s.REPLACE,s.REPLACE),i.buffers.stencil.setFunc(s.ALWAYS,a,4294967295),i.buffers.stencil.setClear(l),i.buffers.stencil.setLocked(!0),e.setRenderTarget(n),this.clear&&e.clear(),e.render(this.scene,this.camera),e.setRenderTarget(t),this.clear&&e.clear(),e.render(this.scene,this.camera),i.buffers.color.setLocked(!1),i.buffers.depth.setLocked(!1),i.buffers.color.setMask(!0),i.buffers.depth.setMask(!0),i.buffers.stencil.setLocked(!1),i.buffers.stencil.setFunc(s.EQUAL,1,4294967295),i.buffers.stencil.setOp(s.KEEP,s.KEEP,s.KEEP),i.buffers.stencil.setLocked(!0)}}class a extends s.w{constructor(){super(),this.needsSwap=!1}render(e){e.state.buffers.stencil.setLocked(!1),e.state.buffers.stencil.setTest(!1)}}},8304:(e,t,n)=>{"use strict";n.d(t,{T:()=>r,w:()=>i});var s=n(9477);class i{constructor(){this.isPass=!0,this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}dispose(){}}const a=new s.iKG(-1,1,1,-1,0,1),l=new s.u9r;l.setAttribute("position",new s.a$l([-1,3,0,-1,-1,0,3,-1,0],3)),l.setAttribute("uv",new s.a$l([0,2,0,0,2,0],2));class r{constructor(e){this._mesh=new s.Kj0(l,e)}dispose(){this._mesh.geometry.dispose()}render(e){e.render(this._mesh,a)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}}},4458:(e,t,n)=>{"use strict";n.d(t,{C:()=>a});var s=n(9477),i=n(8304);class a extends i.w{constructor(e,t,n=null,i=null,a=null){super(),this.scene=e,this.camera=t,this.overrideMaterial=n,this.clearColor=i,this.clearAlpha=a,this.clear=!0,this.clearDepth=!1,this.needsSwap=!1,this._oldClearColor=new s.Ilk}render(e,t,n){const s=e.autoClear;let i,a;e.autoClear=!1,null!==this.overrideMaterial&&(a=this.scene.overrideMaterial,this.scene.overrideMaterial=this.overrideMaterial),null!==this.clearColor&&(e.getClearColor(this._oldClearColor),e.setClearColor(this.clearColor)),null!==this.clearAlpha&&(i=e.getClearAlpha(),e.setClearAlpha(this.clearAlpha)),1==this.clearDepth&&e.clearDepth(),e.setRenderTarget(this.renderToScreen?null:n),!0===this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),e.render(this.scene,this.camera),null!==this.clearColor&&e.setClearColor(this._oldClearColor),null!==this.clearAlpha&&e.setClearAlpha(i),null!==this.overrideMaterial&&(this.scene.overrideMaterial=a),e.autoClear=s}}},7531:(e,t,n)=>{"use strict";n.d(t,{T:()=>a});var s=n(9477),i=n(8304);class a extends i.w{constructor(e,t){super(),this.textureID=void 0!==t?t:"tDiffuse",e instanceof s.jyz?(this.uniforms=e.uniforms,this.material=e):e&&(this.uniforms=s.rDY.clone(e.uniforms),this.material=new s.jyz({name:void 0!==e.name?e.name:"unspecified",defines:Object.assign({},e.defines),uniforms:this.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader})),this.fsQuad=new i.T(this.material)}render(e,t,n){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=n.texture),this.fsQuad.material=this.material,this.renderToScreen?(e.setRenderTarget(null),this.fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this.fsQuad.render(e))}dispose(){this.material.dispose(),this.fsQuad.dispose()}}},1764:(e,t,n)=>{"use strict";n.d(t,{M:()=>c});var s=n(9477);const i=new s.Pa4,a=new s.yGw,l=new s.yGw,r=new s.Pa4,o=new s.Pa4;class c{constructor(e={}){const t=this;let n,s,c,u;const p={objects:new WeakMap},h=void 0!==e.element?e.element:document.createElement("div");function d(e,n,s){if(e.isCSS2DObject){i.setFromMatrixPosition(e.matrixWorld),i.applyMatrix4(l);const d=!0===e.visible&&i.z>=-1&&i.z<=1&&!0===e.layers.test(s.layers);if(e.element.style.display=!0===d?"":"none",!0===d){e.onBeforeRender(t,n,s);const a=e.element;a.style.transform="translate("+-100*e.center.x+"%,"+-100*e.center.y+"%)translate("+(i.x*c+c)+"px,"+(-i.y*u+u)+"px)",a.parentNode!==h&&h.appendChild(a),e.onAfterRender(t,n,s)}const I={distanceToCameraSquared:(a=s,f=e,r.setFromMatrixPosition(a.matrixWorld),o.setFromMatrixPosition(f.matrixWorld),r.distanceToSquared(o))};p.objects.set(e,I)}var a,f;for(let t=0,i=e.children.length;t{"use strict";n.d(t,{C:()=>s});const s={name:"CopyShader",uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:"\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}",fragmentShader:"\n\n\t\tuniform float opacity;\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvec4 texel = texture2D( tDiffuse, vUv );\n\t\t\tgl_FragColor = opacity * texel;\n\n\n\t\t}"}},2448:(e,t,n)=>{"use strict";n.d(t,{Y:()=>s});const s={name:"GammaCorrectionShader",uniforms:{tDiffuse:{value:null}},vertexShader:"\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}",fragmentShader:"\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvec4 tex = texture2D( tDiffuse, vUv );\n\n\t\t\tgl_FragColor = LinearTosRGB( tex );\n\n\t\t}"}},140:(e,t,n)=>{"use strict";n.d(t,{n4:()=>i});var s=n(9477);function i(e,t=!1){const n=null!==e[0].index,i=new Set(Object.keys(e[0].attributes)),l=new Set(Object.keys(e[0].morphAttributes)),r={},o={},c=e[0].morphTargetsRelative,u=new s.u9r;let p=0;for(let s=0;s{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};(()=>{"use strict";n.r(s),n.d(s,{default:()=>a});var e=n(1887),t=window.powerbi,i={name:"exampleD7B3346A52CC4CC7A469ED9D0938BF65",displayName:"example",class:"Visual",apiVersion:"5.3.0",create:t=>{if(e.u)return new e.u(t);throw"Visual instance not found"},createModalDialog:(e,t,n)=>{const s=globalThis.dialogRegistry;e in s&&new s[e](t,n)},custom:!0};void 0!==t&&(t.visuals=t.visuals||{},t.visuals.plugins=t.visuals.plugins||{},t.visuals.plugins.exampleD7B3346A52CC4CC7A469ED9D0938BF65=i);const a=i})(),exampleD7B3346A52CC4CC7A469ED9D0938BF65=s})(); \ No newline at end of file diff --git a/.tmp/drop/visual.js.LICENSE.txt b/.tmp/drop/visual.js.LICENSE.txt new file mode 100644 index 0000000..73199b5 --- /dev/null +++ b/.tmp/drop/visual.js.LICENSE.txt @@ -0,0 +1,12 @@ +/*! + * camera-controls + * https://github.com/yomotsu/camera-controls + * (c) 2017 @yomotsu + * Released under the MIT License. + */ + +/** + * @license + * Copyright 2010-2023 Three.js Authors + * SPDX-License-Identifier: MIT + */ diff --git a/.tmp/precompile/visualPlugin.ts b/.tmp/precompile/visualPlugin.ts new file mode 100644 index 0000000..776ae9d --- /dev/null +++ b/.tmp/precompile/visualPlugin.ts @@ -0,0 +1,32 @@ +import { Visual } from "../../src/visual"; +import powerbiVisualsApi from "powerbi-visuals-api"; +import IVisualPlugin = powerbiVisualsApi.visuals.plugins.IVisualPlugin; +import VisualConstructorOptions = powerbiVisualsApi.extensibility.visual.VisualConstructorOptions; +import DialogConstructorOptions = powerbiVisualsApi.extensibility.visual.DialogConstructorOptions; +var powerbiKey: any = "powerbi"; +var powerbi: any = window[powerbiKey]; +var exampleD7B3346A52CC4CC7A469ED9D0938BF65: IVisualPlugin = { + name: 'exampleD7B3346A52CC4CC7A469ED9D0938BF65', + displayName: 'example', + class: 'Visual', + apiVersion: '5.3.0', + create: (options?: VisualConstructorOptions) => { + if (Visual) { + return new Visual(options); + } + throw 'Visual instance not found'; + }, + createModalDialog: (dialogId: string, options: DialogConstructorOptions, initialState: object) => { + const dialogRegistry = (globalThis).dialogRegistry; + if (dialogId in dialogRegistry) { + new dialogRegistry[dialogId](options, initialState); + } + }, + custom: true +}; +if (typeof powerbi !== "undefined") { + powerbi.visuals = powerbi.visuals || {}; + powerbi.visuals.plugins = powerbi.visuals.plugins || {}; + powerbi.visuals.plugins["exampleD7B3346A52CC4CC7A469ED9D0938BF65"] = exampleD7B3346A52CC4CC7A469ED9D0938BF65; +} +export default exampleD7B3346A52CC4CC7A469ED9D0938BF65; \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..d4e749d --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,13 @@ +{ + "version": "0.1.0", + "configurations": [ + { + "name": "Debugger", + "type": "chrome", + "request": "attach", + "port": 9222, + "sourceMaps": true, + "webRoot": "${cwd}/" + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..d077675 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,45 @@ +{ + "editor.tabSize": 4, + "editor.insertSpaces": true, + "files.eol": "\n", + "files.watcherExclude": { + "**/.git/objects/**": true, + "**/node_modules/**": true, + ".tmp": true + }, + "files.exclude": { + ".tmp": true + }, + "files.associations": { + "*.resjson": "json" + }, + "search.exclude": { + ".tmp": true, + "typings": true + }, + "json.schemas": [ + { + "fileMatch": [ + "/pbiviz.json" + ], + "url": "./node_modules/powerbi-visuals-api/schema.pbiviz.json" + }, + { + "fileMatch": [ + "/capabilities.json" + ], + "url": "./node_modules/powerbi-visuals-api/schema.capabilities.json" + }, + { + "fileMatch": [ + "/dependencies.json" + ], + "url": "./node_modules/powerbi-visuals-api/schema.dependencies.json" + } + ], + "cSpell.words": [ + "openbim", + "pbiviz", + "powerbi" + ] +} \ No newline at end of file diff --git a/assets/icon.png b/assets/icon.png new file mode 100644 index 0000000..1c2db1c Binary files /dev/null and b/assets/icon.png differ diff --git a/assets/sceneBG.jpg b/assets/sceneBG.jpg new file mode 100644 index 0000000..ab6b989 Binary files /dev/null and b/assets/sceneBG.jpg differ diff --git a/capabilities.json b/capabilities.json new file mode 100644 index 0000000..e179340 --- /dev/null +++ b/capabilities.json @@ -0,0 +1,79 @@ +{ + "dataRoles": [ + { + "displayName": "Category Data", + "name": "category", + "kind": "Grouping" + }, + { + "displayName": "Measure Data", + "name": "measure", + "kind": "Measure" + } + ], + "objects": { + "dataPoint": { + "properties": { + "defaultColor": { + "type": { + "fill": { + "solid": { + "color": true + } + } + } + }, + "showAllDataPoints": { + "type": { + "bool": true + } + }, + "fill": { + "type": { + "fill": { + "solid": { + "color": true + } + } + } + }, + "fillRule": { + "type": { + "fill": {} + } + }, + "fontSize": { + "type": { + "formatting": { + "fontSize": true + } + } + } + } + } + }, + "dataViewMappings": [ + { + "categorical": { + "categories": { + "for": { + "in": "category" + }, + "dataReductionAlgorithm": { + "top": {} + } + }, + "values": { + "select": [ + { + "bind": { + "to": "measure" + } + } + ] + } + } + } + ], + "privileges": [] +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..8cdc4ad --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2416 @@ +{ + "name": "visual", + "version": "1.0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "visual", + "version": "1.0.0.0", + "license": "MIT", + "dependencies": { + "@types/d3": "7.4.0", + "bim-fragment": "^1.0.22", + "camera-controls": "^2.7.2", + "d3": "7.8.5", + "n8ao": "^1.6.8", + "powerbi-visuals-api": "~5.3.0", + "powerbi-visuals-utils-formattingmodel": "5.0.0", + "three": "^0.156.1", + "three-mesh-bvh": "^0.6.7", + "web-ifc": "^0.0.42" + }, + "devDependencies": { + "@types/node": "^20.6.3", + "@types/three": "^0.156.0", + "@typescript-eslint/eslint-plugin": "^5.59.11", + "eslint": "^8.42.0", + "eslint-plugin-powerbi-visuals": "^0.8.1", + "typescript": "4.9.3" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.1.tgz", + "integrity": "sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", + "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@types/d3": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.0.tgz", + "integrity": "sha512-jIfNVK0ZlxcuRDKtRS/SypEyOQ6UHaFQBKv032X45VvxSJ6Yi5G9behy9h6tNTHTDGh5Vq+KbmBjUWLgY4meCA==", + "dependencies": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.0.7.tgz", + "integrity": "sha512-4/Q0FckQ8TBjsB0VdGFemJOG8BLXUB2KKlL0VmZ+eOYeOnTb/wDRQqYWpBmQ6IlvWkXwkYiot+n9Px2aTJ7zGQ==" + }, + "node_modules/@types/d3-axis": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.3.tgz", + "integrity": "sha512-SE3x/pLO/+GIHH17mvs1uUVPkZ3bHquGzvZpPAh4yadRy71J93MJBpgK/xY8l9gT28yTN1g9v3HfGSFeBMmwZw==", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-brush": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.3.tgz", + "integrity": "sha512-MQ1/M/B5ifTScHSe5koNkhxn2mhUPqXjGuKjjVYckplAPjP9t2I2sZafb/YVHDwhoXWZoSav+Q726eIbN3qprA==", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-chord": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.3.tgz", + "integrity": "sha512-keuSRwO02c7PBV3JMWuctIfdeJrVFI7RpzouehvBWL4/GGUB3PBNg/9ZKPZAgJphzmS2v2+7vr7BGDQw1CAulw==" + }, + "node_modules/@types/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA==" + }, + "node_modules/@types/d3-contour": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.3.tgz", + "integrity": "sha512-x7G/tdDZt4m09XZnG2SutbIuQqmkNYqR9uhDMdPlpJbcwepkEjEWG29euFcgVA1k6cn92CHdDL9Z+fOnxnbVQw==", + "dependencies": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-delaunay": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.1.tgz", + "integrity": "sha512-tLxQ2sfT0p6sxdG75c6f/ekqxjyYR0+LwPrsO1mbC9YDBzPJhs2HbJJRrn8Ez1DBoHRo2yx7YEATI+8V1nGMnQ==" + }, + "node_modules/@types/d3-dispatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.3.tgz", + "integrity": "sha512-Df7KW3Re7G6cIpIhQtqHin8yUxUHYAqiE41ffopbmU5+FifYUNV7RVyTg8rQdkEagg83m14QtS8InvNb95Zqug==" + }, + "node_modules/@types/d3-drag": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.3.tgz", + "integrity": "sha512-82AuQMpBQjuXeIX4tjCYfWjpm3g7aGCfx6dFlxX2JlRaiME/QWcHzBsINl7gbHCODA2anPYlL31/Trj/UnjK9A==", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-dsv": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.2.tgz", + "integrity": "sha512-DooW5AOkj4AGmseVvbwHvwM/Ltu0Ks0WrhG6r5FG9riHT5oUUTHz6xHsHqJSVU8ZmPkOqlUEY2obS5C9oCIi2g==" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.0.tgz", + "integrity": "sha512-aMo4eaAOijJjA6uU+GIeW018dvy9+oH5Y2VPPzjjfxevvGQ/oRDs+tfYC9b50Q4BygRR8yE2QCLsrT0WtAVseA==" + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.3.tgz", + "integrity": "sha512-/EsDKRiQkby3Z/8/AiZq8bsuLDo/tYHnNIZkUpSeEHWV7fHUl6QFBjvMPbhkKGk9jZutzfOkGygCV7eR/MkcXA==", + "dependencies": { + "@types/d3-dsv": "*" + } + }, + "node_modules/@types/d3-force": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.5.tgz", + "integrity": "sha512-EGG+IWx93ESSXBwfh/5uPuR9Hp8M6o6qEGU7bBQslxCvrdUBQZha/EFpu/VMdLU4B0y4Oe4h175nSm7p9uqFug==" + }, + "node_modules/@types/d3-format": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.1.tgz", + "integrity": "sha512-5KY70ifCCzorkLuIkDe0Z9YTf9RR2CjBX1iaJG+rgM/cPP+sO+q9YdQ9WdhQcgPj1EQiJ2/0+yUkkziTG6Lubg==" + }, + "node_modules/@types/d3-geo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.0.4.tgz", + "integrity": "sha512-kmUK8rVVIBPKJ1/v36bk2aSgwRj2N/ZkjDT+FkMT5pgedZoPlyhaG62J+9EgNIgUXE6IIL0b7bkLxCzhE6U4VQ==", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.3.tgz", + "integrity": "sha512-GpSK308Xj+HeLvogfEc7QsCOcIxkDwLhFYnOoohosEzOqv7/agxwvJER1v/kTC+CY1nfazR0F7gnHo7GE41/fw==" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-jx5leotSeac3jr0RePOH1KdR9rISG91QIE4Q2PYTu4OymLTZfA3SrnURSLzKH48HmXVUru50b8nje4E79oQSQw==", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.0.0.tgz", + "integrity": "sha512-0g/A+mZXgFkQxN3HniRDbXMN79K3CdTpLsevj+PXiTcb2hVyvkZUBg37StmgCQkaD84cUJ4uaDAWq7UJOQy2Tg==" + }, + "node_modules/@types/d3-polygon": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.0.tgz", + "integrity": "sha512-D49z4DyzTKXM0sGKVqiTDTYr+DHg/uxsiWDAkNrwXYuiZVd9o9wXZIo+YsHkifOiyBkmSWlEngHCQme54/hnHw==" + }, + "node_modules/@types/d3-quadtree": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.2.tgz", + "integrity": "sha512-QNcK8Jguvc8lU+4OfeNx+qnVy7c0VrDJ+CCVFS9srBo2GL9Y18CnIxBdTF3v38flrGy5s1YggcoAiu6s4fLQIw==" + }, + "node_modules/@types/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-IIE6YTekGczpLYo/HehAy3JGF1ty7+usI97LqraNa8IiDur+L44d0VOjAvFQWJVdZOJHukUJw+ZdZBlgeUsHOQ==" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.4.tgz", + "integrity": "sha512-eq1ZeTj0yr72L8MQk6N6heP603ubnywSDRfNpi5enouR112HzGLS6RIvExCzZTraFF4HdzNpJMwA/zGiMoHUUw==", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==" + }, + "node_modules/@types/d3-selection": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.6.tgz", + "integrity": "sha512-2ACr96USZVjXR9KMD9IWi1Epo4rSDKnUtYn6q2SPhYxykvXTw9vR77lkFNruXVg4i1tzQtBxeDMx0oNvJWbF1w==" + }, + "node_modules/@types/d3-shape": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.2.tgz", + "integrity": "sha512-NN4CXr3qeOUNyK5WasVUV8NCSAx/CRVcwcb0BuuS1PiTqwIm6ABi1SyasLZ/vsVCFDArF+W4QiGzSry1eKYQ7w==", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz", + "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==" + }, + "node_modules/@types/d3-time-format": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.0.tgz", + "integrity": "sha512-yjfBUe6DJBsDin2BMIulhSHmr5qNR5Pxs17+oW4DoVPyVIXZ+m6bs7j1UVKP08Emv6jRmYrYqxYzO63mQxy1rw==" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.0.tgz", + "integrity": "sha512-HNB/9GHqu7Fo8AQiugyJbv6ZxYz58wef0esl4Mv828w1ZKpAshw/uFWVDUcIB9KKFeFKoxS3cHY07FFgtTRZ1g==" + }, + "node_modules/@types/d3-transition": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.4.tgz", + "integrity": "sha512-512a4uCOjUzsebydItSXsHrPeQblCVk8IKjqCUmrlvBWkkVh3donTTxmURDo1YPwIVDh5YVwCAO6gR4sgimCPQ==", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.4.tgz", + "integrity": "sha512-cqkuY1ah9ZQre2POqjSLcM8g40UVya/qwEUrNYP2/rCVljbmqKCVcv+ebvwhlI5azIbSEL7m+os6n+WlYA43aA==", + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, + "node_modules/@types/geojson": { + "version": "7946.0.10", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.10.tgz", + "integrity": "sha512-Nmh0K3iWQJzniTuPRcJn5hxXkfB1T1pgB89SBig5PlJQU5yocazeu4jATJlaA0GYFKWMqDdvYemoSnF2pXgLVA==" + }, + "node_modules/@types/json-schema": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.6.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.3.tgz", + "integrity": "sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==", + "dev": true + }, + "node_modules/@types/stats.js": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.0.tgz", + "integrity": "sha512-9w+a7bR8PeB0dCT/HBULU2fMqf6BAzvKbxFboYhmDtDkKPiyXYbjoe2auwsXlEFI7CFNMF1dCv3dFH5Poy9R1w==", + "dev": true + }, + "node_modules/@types/three": { + "version": "0.156.0", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.156.0.tgz", + "integrity": "sha512-733bXDSRdlrxqOmQuOmfC1UBRuJ2pREPk8sWnx9MtIJEVDQMx8U0NQO5MVVaOrjzDPyLI+cFPim2X/ss9v0+LQ==", + "dev": true, + "dependencies": { + "@types/stats.js": "*", + "@types/webxr": "*", + "fflate": "~0.6.10", + "meshoptimizer": "~0.18.1" + } + }, + "node_modules/@types/webxr": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.4.tgz", + "integrity": "sha512-41gfGLTtqXZhcmoDlLDHqMJDuwAMwhHwXf9Q2job3TUBsvkNfPNI/3IWVEtLH4tyY1ElWtfwIaoNeqeEX238/Q==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "peer": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/bim-fragment": { + "version": "1.0.22", + "resolved": "https://registry.npmjs.org/bim-fragment/-/bim-fragment-1.0.22.tgz", + "integrity": "sha512-dNR+ONlmC3zEf4Om5u4LLIC6+f+lbbu4RB1R7rDr/1OfMnvKzwr/o4VmkTcwQXwdEppZQdkmMF8rFx6Uo+Z1qA==", + "dependencies": { + "flatbuffers": "^23.3.3", + "three": "0.152.2", + "three-mesh-bvh": "0.6.0" + } + }, + "node_modules/bim-fragment/node_modules/three": { + "version": "0.152.2", + "resolved": "https://registry.npmjs.org/three/-/three-0.152.2.tgz", + "integrity": "sha512-Ff9zIpSfkkqcBcpdiFo2f35vA9ZucO+N8TNacJOqaEE6DrB0eufItVMib8bK8Pcju/ZNT6a7blE1GhTpkdsILw==" + }, + "node_modules/bim-fragment/node_modules/three-mesh-bvh": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/three-mesh-bvh/-/three-mesh-bvh-0.6.0.tgz", + "integrity": "sha512-4/oXeqVMLuN9/P0M3L5ezIVrFiXQXKvjVTErkiSYMjSaPoWfNPAwqulSgLf4bIUPn8/Lq3rmIJwxbCuD8qDobA==", + "peerDependencies": { + "three": ">= 0.151.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camera-controls": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/camera-controls/-/camera-controls-2.7.2.tgz", + "integrity": "sha512-6+gaZFK3LYbWaXC94EN0BYLlvpo9xfUqwp59vsU3nV7WXIU05q4wyP5TOgyG1tqTHReuBofb20vKfZNBNjMtzw==", + "peerDependencies": { + "three": ">=0.126.1" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/d3": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz", + "integrity": "sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==", + "dependencies": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" + } + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/delaunator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", + "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", + "dependencies": { + "robust-predicates": "^3.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", + "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.49.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-powerbi-visuals": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-powerbi-visuals/-/eslint-plugin-powerbi-visuals-0.8.1.tgz", + "integrity": "sha512-GAdD5kIO2+X+WsTGW9DvfQ5sd2UFw+0FaPGYPsq2Dpt0RuVdfpHG58PJF7YWzjQmtr2EUGGJUbCALq4v3hK+JQ==", + "dev": true + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fflate": { + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.6.10.tgz", + "integrity": "sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==", + "dev": true + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "dev": true, + "dependencies": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/flatbuffers": { + "version": "23.5.26", + "resolved": "https://registry.npmjs.org/flatbuffers/-/flatbuffers-23.5.26.tgz", + "integrity": "sha512-vE+SI9vrJDwi1oETtTIFldC/o9GsVKRM+s6EL0nQgxXlYV1Vc4Tk30hj4xGICftInKQKj1F3up2n8UbIVobISQ==" + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/meshoptimizer": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", + "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/n8ao": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/n8ao/-/n8ao-1.6.8.tgz", + "integrity": "sha512-3xaBaoMIplgPdBK+9mZefa8stWEoA2673h2734wYMxm/hUkMLENMhzymDe+WZueFQq93ly4xpl5s1NJrQBzFOQ==", + "peerDependencies": { + "postprocessing": ">=6.30.0", + "three": ">=0.137" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postprocessing": { + "version": "6.33.1", + "resolved": "https://registry.npmjs.org/postprocessing/-/postprocessing-6.33.1.tgz", + "integrity": "sha512-dUxDGNgBzkTYjzkDVDBIFqZ6zLbzeaqwk8r3ZCMrv08MBX1c68goS8CKvwYvZtltacKnSSBv5f66HQgSSEOEBQ==", + "peer": true, + "engines": { + "node": ">= 0.13.2" + }, + "peerDependencies": { + "three": ">= 0.138.0 < 0.157.0" + } + }, + "node_modules/powerbi-visuals-api": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/powerbi-visuals-api/-/powerbi-visuals-api-5.3.0.tgz", + "integrity": "sha512-vtn8a4zV7Iwf/a0ri9LbKcJSjYmSf7XuM8aiENz+oqTa5S0sLuLBP/+O0XDMhg9Qb2sCe43O5KUVAXfk4Vjv2w==", + "dependencies": { + "semver": "^7.3.5" + } + }, + "node_modules/powerbi-visuals-utils-formattingmodel": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/powerbi-visuals-utils-formattingmodel/-/powerbi-visuals-utils-formattingmodel-5.0.0.tgz", + "integrity": "sha512-6Yh9DRXadqCZ2T0xnX9dvJEBB8uOdGi2dRUC7lY1GXGjA3jkrbJtJdr9z7ivzmKabjuaFw//8C8gPuP54LqOAw==", + "dependencies": { + "powerbi-visuals-api": "~5.1.0" + } + }, + "node_modules/powerbi-visuals-utils-formattingmodel/node_modules/powerbi-visuals-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/powerbi-visuals-api/-/powerbi-visuals-api-5.1.0.tgz", + "integrity": "sha512-ol+h1gF1VRK3n6/wwXR2YMkQsczHU3aiqmqtPl0/KEHPbCBQon/0vcdOVDXFp5QtYj/Ua+LXegD47x8K9FWCzg==", + "dependencies": { + "semver": "^7.3.5" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/robust-predicates": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/three": { + "version": "0.156.1", + "resolved": "https://registry.npmjs.org/three/-/three-0.156.1.tgz", + "integrity": "sha512-kP7H0FK9d/k6t/XvQ9FO6i+QrePoDcNhwl0I02+wmUJRNSLCUIDMcfObnzQvxb37/0Uc9TDT0T1HgsRRrO6SYQ==" + }, + "node_modules/three-mesh-bvh": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/three-mesh-bvh/-/three-mesh-bvh-0.6.7.tgz", + "integrity": "sha512-RYdjMsH+vZvjLwA+ehI4+ZqTaTehAz4iho2yfL5PdGsIHyxpB78g0iy4Emj8079m/9KBX02TzddkvPSKSruQjg==", + "peerDependencies": { + "three": ">= 0.151.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", + "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/web-ifc": { + "version": "0.0.42", + "resolved": "https://registry.npmjs.org/web-ifc/-/web-ifc-0.0.42.tgz", + "integrity": "sha512-cATk4WPi8xGbxqTO80Qh1T+EDf2s9SFXoBWRqqve3F1TLF++nMWCg0vKkjzxJZQL2InDC5trr8aca7eMsjxKnA==" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..b42431c --- /dev/null +++ b/package.json @@ -0,0 +1,36 @@ +{ + "name": "visual", + "description": "default_template_value", + "version": "1.0.0.0", + "repository": { + "type": "default_template_value", + "url": "default_template_value" + }, + "license": "MIT", + "scripts": { + "pbiviz": "pbiviz", + "start": "pbiviz start", + "package": "pbiviz package", + "lint": "npx eslint . --ext .js,.jsx,.ts,.tsx" + }, + "dependencies": { + "@types/d3": "7.4.0", + "bim-fragment": "^1.0.22", + "camera-controls": "^2.7.2", + "d3": "7.8.5", + "n8ao": "^1.6.8", + "powerbi-visuals-api": "~5.3.0", + "powerbi-visuals-utils-formattingmodel": "5.0.0", + "three": "^0.156.1", + "three-mesh-bvh": "^0.6.7", + "web-ifc": "^0.0.42" + }, + "devDependencies": { + "@types/node": "^20.6.3", + "@types/three": "^0.156.0", + "@typescript-eslint/eslint-plugin": "^5.59.11", + "eslint": "^8.42.0", + "eslint-plugin-powerbi-visuals": "^0.8.1", + "typescript": "4.9.3" + } +} diff --git a/pbiviz.json b/pbiviz.json new file mode 100644 index 0000000..a32bfdc --- /dev/null +++ b/pbiviz.json @@ -0,0 +1,26 @@ +{ + "visual": { + "name": "example", + "displayName": "example", + "guid": "exampleD7B3346A52CC4CC7A469ED9D0938BF65", + "visualClassName": "Visual", + "version": "1.0.0.0", + "description": "asdasd", + "supportUrl": "asdasda", + "gitHubUrl": "asdasdad" + }, + "apiVersion": "5.3.0", + "author": { + "name": "asdasda", + "email": "asdasdad" + }, + "assets": { + "icon": "assets/icon.png" + }, + "externalJS": null, + "style": "style/visual.less", + "capabilities": "capabilities.json", + "dependencies": null, + "stringResources": [], + "version": "1.0.0.0" +} \ No newline at end of file diff --git a/src/OBC.js b/src/OBC.js new file mode 100644 index 0000000..c6440ac --- /dev/null +++ b/src/OBC.js @@ -0,0 +1,164070 @@ +import * as THREE$1 from 'https://unpkg.com/three@0.152.2/build/three.module.js'; +import { Vector3 as Vector3$1, Matrix4, Object3D, Vector2 as Vector2$1, Raycaster, BufferAttribute as BufferAttribute$1, Plane, Line3, Triangle, Sphere, BackSide, DoubleSide, Box3, FrontSide, Mesh, Ray, Quaternion as Quaternion$1, Euler, MeshBasicMaterial, LineBasicMaterial, CylinderGeometry, BoxGeometry, BufferGeometry, Float32BufferAttribute, OctahedronGeometry, Line as Line$2, SphereGeometry, TorusGeometry, PlaneGeometry, EventDispatcher as EventDispatcher$1, MOUSE, TOUCH, Spherical, Color, PropertyBinding, InterpolateLinear, Source, NoColorSpace, MathUtils, RGBAFormat, InterpolateDiscrete, Scene, NearestFilter, NearestMipmapNearestFilter, NearestMipmapLinearFilter, LinearFilter, LinearMipmapNearestFilter, LinearMipmapLinearFilter, ClampToEdgeWrapping, RepeatWrapping, MirroredRepeatWrapping, SRGBColorSpace, InstancedMesh, OrthographicCamera, ShaderMaterial, UniformsUtils, WebGLRenderTarget, Clock, REVISION, Camera, DepthTexture, UnsignedIntType, DepthFormat, DataTexture, WebGLMultipleRenderTargets, RedFormat, FloatType, HalfFloatType, UniformsLib, ShaderLib, InstancedBufferGeometry, InstancedInterleavedBuffer, InterleavedBufferAttribute, WireframeGeometry, Vector4 } from 'https://unpkg.com/three@0.152.2/build/three.module.js'; + +var OBC = /*#__PURE__*/Object.freeze({ + __proto__: null, + get AngleMeasurement () { return AngleMeasurement; }, + get AreaMeasurement () { return AreaMeasurement; }, + get ArrowAnnotation () { return ArrowAnnotation; }, + get AttributeSet () { return AttributeSet; }, + get BaseRenderer () { return BaseRenderer; }, + get BaseSVGAnnotation () { return BaseSVGAnnotation; }, + get Button () { return Button; }, + get Canvas () { return Canvas; }, + get CheckboxInput () { return CheckboxInput; }, + get CircleAnnotation () { return CircleAnnotation; }, + get CloudProcessor () { return CloudProcessor; }, + get ColorInput () { return ColorInput; }, + get CommandsMenu () { return CommandsMenu; }, + get Component () { return Component; }, + get Components () { return Components; }, + get CubeMap () { return CubeMap; }, + get DXFExporter () { return DXFExporter; }, + get DimensionLabelClassName () { return DimensionLabelClassName; }, + get DimensionPreviewClassName () { return DimensionPreviewClassName; }, + get Disposer () { return Disposer; }, + get DragAndDropInput () { return DragAndDropInput; }, + get DrawManager () { return DrawManager; }, + get Drawer () { return Drawer; }, + get Dropdown () { return Dropdown; }, + get EdgesClipper () { return EdgesClipper; }, + get EdgesPlane () { return EdgesPlane; }, + get Event () { return Event; }, + get FloatingWindow () { return FloatingWindow; }, + get FragmentBoundingBox () { return FragmentBoundingBox; }, + get FragmentCacher () { return FragmentCacher; }, + get FragmentClassifier () { return FragmentClassifier; }, + get FragmentClipStyler () { return FragmentClipStyler; }, + get FragmentExploder () { return FragmentExploder; }, + get FragmentHider () { return FragmentHider; }, + get FragmentHighlighter () { return FragmentHighlighter; }, + get FragmentIfcLoader () { return FragmentIfcLoader; }, + get FragmentManager () { return FragmentManager; }, + get FragmentPlans () { return FragmentPlans; }, + get FragmentTree () { return FragmentTree; }, + get GeometryVerticesMarker () { return GeometryVerticesMarker; }, + get IfcCategories () { return IfcCategories; }, + get IfcCategoryMap () { return IfcCategoryMap; }, + get IfcElements () { return IfcElements; }, + get IfcJsonExporter () { return IfcJsonExporter; }, + get IfcPropertiesFinder () { return IfcPropertiesFinder; }, + get IfcPropertiesManager () { return IfcPropertiesManager; }, + get IfcPropertiesProcessor () { return IfcPropertiesProcessor; }, + get IfcPropertiesUtils () { return IfcPropertiesUtils; }, + get LengthMeasurement () { return LengthMeasurement; }, + get LineIntersectionPicker () { return LineIntersectionPicker; }, + get LocalCacher () { return LocalCacher; }, + get MapboxWindow () { return MapboxWindow; }, + get MaterialManager () { return MaterialManager; }, + get MiniMap () { return MiniMap; }, + get Modal () { return Modal; }, + get Mouse () { return Mouse; }, + get OrthoPerspectiveCamera () { return OrthoPerspectiveCamera; }, + get PostproductionRenderer () { return PostproductionRenderer; }, + get PropertyTag () { return PropertyTag; }, + get RangeInput () { return RangeInput; }, + get RectangleAnnotation () { return RectangleAnnotation; }, + get RoadNavigator () { return RoadNavigator; }, + get ScreenCuller () { return ScreenCuller; }, + get ShadowDropper () { return ShadowDropper; }, + get Simple2DMarker () { return Simple2DMarker; }, + get Simple2DScene () { return Simple2DScene; }, + get SimpleCamera () { return SimpleCamera; }, + get SimpleClipper () { return SimpleClipper; }, + get SimpleDimensionLine () { return SimpleDimensionLine; }, + get SimpleGrid () { return SimpleGrid; }, + get SimplePlane () { return SimplePlane; }, + get SimpleRaycaster () { return SimpleRaycaster; }, + get SimpleRenderer () { return SimpleRenderer; }, + get SimpleSVGViewport () { return SimpleSVGViewport; }, + get SimpleScene () { return SimpleScene; }, + get SimpleUICard () { return SimpleUICard; }, + get SimpleUIComponent () { return SimpleUIComponent; }, + get Spinner () { return Spinner; }, + get TextAnnotation () { return TextAnnotation; }, + get TextArea () { return TextArea; }, + get TextInput () { return TextInput; }, + get ToastNotification () { return ToastNotification; }, + get ToolComponent () { return ToolComponent; }, + get Toolbar () { return Toolbar; }, + get TreeView () { return TreeView; }, + get UIElement () { return UIElement; }, + get UIManager () { return UIManager; }, + get VertexPicker () { return VertexPicker; }, + get ViewpointsManager () { return ViewpointsManager; }, + get bufferGeometryToIndexed () { return bufferGeometryToIndexed; }, + get generateExpressIDFragmentIDMap () { return generateExpressIDFragmentIDMap; }, + get generateIfcGUID () { return generateIfcGUID; }, + get numberOfDigits () { return numberOfDigits; }, + get toCompositeID () { return toCompositeID; }, + get tooeenRandomId () { return tooeenRandomId; } +}); + +/** + * Components are the building blocks of this library. Everything is a + * component: tools, scenes, objects, cameras, etc. + * All components must inherit from this class. The `Type` parameter defines + * the type of the core of this component. For instance, a component containing a + */ +class Component { + constructor(components) { + this.components = components; + /** Whether is component is {@link Disposable}. */ + this.isDisposeable = () => { + return "dispose" in this; + }; + /** Whether is component is {@link Resizeable}. */ + this.isResizeable = () => { + return "resize" in this && "getSize" in this; + }; + /** Whether is component is {@link Updateable}. */ + this.isUpdateable = () => { + return ("onAfterUpdate" in this && "onBeforeUpdate" in this && "update" in this); + }; + /** Whether is component is {@link Hideable}. */ + this.isHideable = () => { + return "visible" in this; + }; + /** Whether is component implements any kind of {@link UI}. */ + this.hasUI = () => { + return "uiElement" in this; + }; + } +} + +/** + * Simple event handler by + * [Jason Kleban](https://gist.github.com/JasonKleban/50cee44960c225ac1993c922563aa540). + * Keep in mind that: + * - If you want to remove it later, you might want to declare the callback as + * an object. + * - If you want to maintain the reference to `this`, you will need to declare + * the callback as an arrow function. + */ +class Event { + constructor() { + /** Triggers all the callbacks assigned to this event. */ + this.trigger = async (data) => { + const handlers = this.handlers.slice(0); + for (const handler of handlers) { + await handler(data); + } + }; + this.handlers = []; + } + /** + * Add a callback to this event instance. + * @param handler - the callback to be added to this event. + */ + add(handler) { + this.handlers.push(handler); + } + /** + * Removes a callback from this event instance. + * @param handler - the callback to be removed from this event. + */ + remove(handler) { + this.handlers = this.handlers.filter((h) => h !== handler); + } + /** Gets rid of all the suscribed events. */ + reset() { + this.handlers.length = 0; + } +} + +/** + * A base component for other components whose main mission is to render a + * [scene](https://threejs.org/docs/#api/en/scenes/Scene). + * @noInheritDoc + */ +class BaseRenderer extends Component { + constructor() { + super(...arguments); + /** {@link Resizeable.onResize} */ + this.onResize = new Event(); + /** + * Event that fires when there has been a change to the list of clipping + * planes used by the active renderer. + */ + this.onClippingPlanesUpdated = new Event(); + /** + * The list of [clipping planes](https://threejs.org/docs/#api/en/renderers/WebGLRenderer.clippingPlanes) used by this + * instance of the renderer. + */ + this.clippingPlanes = []; + } + /** + * Forces the update of the clipping planes and all components that depend + * on them that are subscribed to `onClippingPlanesUpdated`. + */ + async updateClippingPlanes() { + await this.onClippingPlanesUpdated.trigger(); + } + /** + * Adds or removes a + * [clipping plane](https://threejs.org/docs/#api/en/renderers/WebGLRenderer.clippingPlanes) + * to the renderer. + */ + togglePlane(active, plane, isLocal) { + plane.isLocal = isLocal; + const index = this.clippingPlanes.indexOf(plane); + if (active && index === -1) { + this.clippingPlanes.push(plane); + } + else if (!active && index > -1) { + this.clippingPlanes.splice(index, 1); + } + const renderer = this.get(); + renderer.clippingPlanes = this.clippingPlanes.filter((plane) => !plane.isLocal); + } +} + +/** + * A helper to easily get the real position of the mouse in the Three.js canvas + * to work with tools like the + * [raycaster](https://threejs.org/docs/#api/en/core/Raycaster), even if it has + * been transformed through CSS or doesn't occupy the whole screen. + */ +class Mouse { + constructor(dom) { + this.dom = dom; + this._position = new THREE$1.Vector2(); + this.updateMouseInfo = (event) => { + this._event = event; + }; + this.setupEvents(true); + } + /** + * The real position of the mouse of the Three.js canvas. + */ + get position() { + if (this._event) { + const bounds = this.dom.getBoundingClientRect(); + this._position.x = this.getPositionX(bounds, this._event); + this._position.y = this.getPositionY(bounds, this._event); + } + return this._position; + } + /** {@link Disposable.dispose} */ + async dispose() { + this.setupEvents(false); + } + getPositionY(bound, event) { + return -((event.clientY - bound.top) / (bound.bottom - bound.top)) * 2 + 1; + } + getPositionX(bound, event) { + return ((event.clientX - bound.left) / (bound.right - bound.left)) * 2 - 1; + } + setupEvents(active) { + if (active) { + this.dom.addEventListener("mousemove", this.updateMouseInfo); + } + else { + this.dom.removeEventListener("mousemove", this.updateMouseInfo); + } + } +} + +function numberOfDigits(x) { + return Math.max(Math.floor(Math.log10(Math.abs(x))), 0) + 1; +} +function toCompositeID(id, count) { + const factor = 0.1 ** numberOfDigits(count); + id += count * factor; + let idString = id.toString(); + // add missing zeros + if (count % 10 === 0) { + for (let i = 0; i < factor; i++) { + idString += "0"; + } + } + return idString; +} +// Temporal id generator until the IFC id algorithm is implemented. +function tooeenRandomId() { + const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + let id = ""; + for (let i = 0; i < 10; i++) { + const randomIndex = Math.floor(Math.random() * characters.length); + id += characters.charAt(randomIndex); + } + return id; +} +function generateExpressIDFragmentIDMap(fragmentsList) { + const map = {}; + fragmentsList.forEach((fragment) => { + map[fragment.id] = new Set(fragment.items); + }); + return map; +} +// Would need to review this! +function generateIfcGUID() { + // prettier-ignore + const base64Chars = [ + "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", + "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", + "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", + "s", "t", "u", "v", "w", "x", "y", "z", "_", "$", + ]; + const guid = THREE$1.MathUtils.generateUUID(); + const tailBytes = ((guid) => { + const bytes = []; + guid.split("-").map((number) => { + const bytesInChar = number.match(/.{1,2}/g); + if (bytesInChar) { + return bytesInChar.map((byte) => bytes.push(parseInt(byte, 16))); + } + return null; + }); + return bytes; + })(guid); + const headBytes = ((guid) => { + const bytes = []; + guid.split("-").map((number) => { + const bytesInChar = number.match(/.{1,2}/g); + if (bytesInChar) { + return bytesInChar.map((byte) => bytes.push(byte)); + } + return null; + }); + return bytes; + })(guid); + const cvTo64 = (number, result, start, len) => { + let num = number; + const n = len; + let i; + for (i = 0; i < n; i += 1) { + result[start + len - i - 1] = + base64Chars[parseInt((num % 64).toString(), 10)]; + num /= 64; + } + return result; + }; + const toUInt16 = (bytes, index) => + // eslint-disable-next-line no-bitwise + parseInt(bytes.slice(index, index + 2).reduce((str, v) => str + v, ""), 16) >>> 0; + const toUInt32 = (bytes, index) => + // eslint-disable-next-line no-bitwise + parseInt(bytes.slice(index, index + 4).reduce((str, v) => str + v, ""), 16) >>> 0; + const num = []; + let str = []; + let i; + let n = 2; + let pos = 0; + num[0] = toUInt32(headBytes, 0) / 16777216; + num[1] = toUInt32(headBytes, 0) % 16777216; + // eslint-disable-next-line no-bitwise + num[2] = (toUInt16(headBytes, 4) * 256 + toUInt16(headBytes, 6) / 256) >>> 0; + num[3] = + // eslint-disable-next-line no-bitwise + ((toUInt16(headBytes, 6) % 256) * 65536 + + tailBytes[8] * 256 + + tailBytes[9]) >>> + 0; + // eslint-disable-next-line no-bitwise + num[4] = (tailBytes[10] * 65536 + tailBytes[11] * 256 + tailBytes[12]) >>> 0; + // eslint-disable-next-line no-bitwise + num[5] = (tailBytes[13] * 65536 + tailBytes[14] * 256 + tailBytes[15]) >>> 0; + for (i = 0; i < 6; i++) { + str = cvTo64(num[i], str, pos, n); + pos += n; + n = 4; + } + return str.join(""); +} +function bufferGeometryToIndexed(geometry) { + const bufferAttribute = geometry.getAttribute("position"); + const size = bufferAttribute.itemSize; + const positions = bufferAttribute.array; + const indices = []; + const vertices = []; + const outVertices = []; + for (let i = 0; i < positions.length; i += size) { + const x = positions[i]; + const y = positions[i + 1]; + let vertex = `${x},${y}`; + const z = positions[i + 2]; + if (size >= 3) { + vertex += `,${z}`; + } + else { + vertex += `,0`; + } + const w = positions[i + 3]; + if (size === 4) { + vertex += `,${w}`; + } + if (vertices.indexOf(vertex) === -1) { + vertices.push(vertex); + indices.push(vertices.length - 1); + const split = vertex.split(","); + split.forEach((component) => outVertices.push(Number(component))); + } + else { + const index = vertices.indexOf(vertex); + indices.push(index); + } + } + const outIndices = new Uint16Array(indices); + const realVertices = new Float32Array(outVertices); + geometry.setAttribute("position", new THREE$1.BufferAttribute(realVertices, size === 2 ? 3 : size)); + geometry.setIndex(new THREE$1.BufferAttribute(outIndices, 1)); + geometry.getAttribute("position").needsUpdate = true; +} + +class CSS2DObject extends Object3D { + + constructor( element = document.createElement( 'div' ) ) { + + super(); + + this.isCSS2DObject = true; + + this.element = element; + + this.element.style.position = 'absolute'; + this.element.style.userSelect = 'none'; + + this.element.setAttribute( 'draggable', false ); + + this.center = new Vector2$1( 0.5, 0.5 ); // ( 0, 0 ) is the lower left; ( 1, 1 ) is the top right + + this.addEventListener( 'removed', function () { + + this.traverse( function ( object ) { + + if ( object.element instanceof Element && object.element.parentNode !== null ) { + + object.element.parentNode.removeChild( object.element ); + + } + + } ); + + } ); + + } + + copy( source, recursive ) { + + super.copy( source, recursive ); + + this.element = source.element.cloneNode( true ); + + this.center = source.center; + + return this; + + } + +} + +// + +const _vector$3 = new Vector3$1(); +const _viewMatrix = new Matrix4(); +const _viewProjectionMatrix = new Matrix4(); +const _a = new Vector3$1(); +const _b = new Vector3$1(); + +class CSS2DRenderer { + + constructor( parameters = {} ) { + + const _this = this; + + let _width, _height; + let _widthHalf, _heightHalf; + + const cache = { + objects: new WeakMap() + }; + + const domElement = parameters.element !== undefined ? parameters.element : document.createElement( 'div' ); + + domElement.style.overflow = 'hidden'; + + this.domElement = domElement; + + this.getSize = function () { + + return { + width: _width, + height: _height + }; + + }; + + this.render = function ( scene, camera ) { + + if ( scene.matrixWorldAutoUpdate === true ) scene.updateMatrixWorld(); + if ( camera.parent === null && camera.matrixWorldAutoUpdate === true ) camera.updateMatrixWorld(); + + _viewMatrix.copy( camera.matrixWorldInverse ); + _viewProjectionMatrix.multiplyMatrices( camera.projectionMatrix, _viewMatrix ); + + renderObject( scene, scene, camera ); + zOrder( scene ); + + }; + + this.setSize = function ( width, height ) { + + _width = width; + _height = height; + + _widthHalf = _width / 2; + _heightHalf = _height / 2; + + domElement.style.width = width + 'px'; + domElement.style.height = height + 'px'; + + }; + + function renderObject( object, scene, camera ) { + + if ( object.isCSS2DObject ) { + + _vector$3.setFromMatrixPosition( object.matrixWorld ); + _vector$3.applyMatrix4( _viewProjectionMatrix ); + + const visible = ( object.visible === true ) && ( _vector$3.z >= - 1 && _vector$3.z <= 1 ) && ( object.layers.test( camera.layers ) === true ); + object.element.style.display = ( visible === true ) ? '' : 'none'; + + if ( visible === true ) { + + object.onBeforeRender( _this, scene, camera ); + + const element = object.element; + + element.style.transform = 'translate(' + ( - 100 * object.center.x ) + '%,' + ( - 100 * object.center.y ) + '%)' + 'translate(' + ( _vector$3.x * _widthHalf + _widthHalf ) + 'px,' + ( - _vector$3.y * _heightHalf + _heightHalf ) + 'px)'; + + if ( element.parentNode !== domElement ) { + + domElement.appendChild( element ); + + } + + object.onAfterRender( _this, scene, camera ); + + } + + const objectData = { + distanceToCameraSquared: getDistanceToSquared( camera, object ) + }; + + cache.objects.set( object, objectData ); + + } + + for ( let i = 0, l = object.children.length; i < l; i ++ ) { + + renderObject( object.children[ i ], scene, camera ); + + } + + } + + function getDistanceToSquared( object1, object2 ) { + + _a.setFromMatrixPosition( object1.matrixWorld ); + _b.setFromMatrixPosition( object2.matrixWorld ); + + return _a.distanceToSquared( _b ); + + } + + function filterAndFlatten( scene ) { + + const result = []; + + scene.traverse( function ( object ) { + + if ( object.isCSS2DObject ) result.push( object ); + + } ); + + return result; + + } + + function zOrder( scene ) { + + const sorted = filterAndFlatten( scene ).sort( function ( a, b ) { + + if ( a.renderOrder !== b.renderOrder ) { + + return b.renderOrder - a.renderOrder; + + } + + const distanceA = cache.objects.get( a ).distanceToCameraSquared; + const distanceB = cache.objects.get( b ).distanceToCameraSquared; + + return distanceA - distanceB; + + } ); + + const zMax = sorted.length; + + for ( let i = 0, l = sorted.length; i < l; i ++ ) { + + sorted[ i ].element.style.zIndex = zMax - i; + + } + + } + + } + +} + +class LineIntersectionPicker extends Component { + set enabled(value) { + this._enabled = value; + if (!value) { + this._pickedPoint = null; + } + } + get enabled() { + return this._enabled; + } + get config() { + return this._config; + } + set config(value) { + this._config = { ...this._config, ...value }; + } + constructor(components, config) { + super(components); + this.name = "LineIntersectionPicker"; + this.onAfterUpdate = new Event(); + this.onBeforeUpdate = new Event(); + this._pickedPoint = null; + this._raycaster = new Raycaster(); + this._originVector = new Vector3$1(); + this.config = { + snapDistance: 0.25, + ...config, + }; + if (this._raycaster.params.Line) { + this._raycaster.params.Line.threshold = 0.2; + } + this._mouse = new Mouse(components.renderer.get().domElement); + const marker = document.createElement("div"); + marker.className = "w-[15px] h-[15px] border-3 border-solid border-red-500"; + this._marker = new CSS2DObject(marker); + this._marker.visible = false; + this.components.scene.get().add(this._marker); + this.enabled = false; + } + async dispose() { + this.onAfterUpdate.reset(); + this.onBeforeUpdate.reset(); + this._marker.removeFromParent(); + this._marker.element.remove(); + } + /** {@link Updateable.update} */ + update() { + if (!this.enabled) { + return; + } + this.onBeforeUpdate.trigger(this); + this._raycaster.setFromCamera(this._mouse.position, this.components.camera.get()); + // @ts-ignore + const lines = this.components.meshes.filter((mesh) => mesh.isLine); + const intersects = this._raycaster.intersectObjects(lines); + // console.log(intersects) + if (intersects.length !== 2) { + this._pickedPoint = null; + this.updateMarker(); + return; + } + // if (!intersects[0].index || !intersects[1].index) {return} + const lineA = intersects[0].object; + const lineB = intersects[1].object; + const indices = [intersects[0].index, intersects[1].index]; + const hitPoint = new Vector3$1() + .copy(intersects[0].point) + .add(intersects[1].point) + .multiplyScalar(0.5); + const isSameElement = lineA.uuid === lineB.uuid; + if (isSameElement) { + const line = lineA; + const pos = line.geometry.getAttribute("position"); + const vectorA = new Vector3$1().fromBufferAttribute(pos, indices[0]); + const vectorB = new Vector3$1().fromBufferAttribute(pos, indices[0] + 1); + const vectorC = new Vector3$1().fromBufferAttribute(pos, indices[1]); + const vectorD = new Vector3$1().fromBufferAttribute(pos, indices[1] + 1); + const point = this.findIntersection(vectorA, vectorB, vectorC, vectorD); + if (!point) { + return; + } + this._pickedPoint = point; + if (this._pickedPoint.distanceTo(hitPoint) > 0.25) { + return; + } + this.updateMarker(); + } + else { + const pos1 = lineA.geometry.getAttribute("position"); + const pos2 = lineB.geometry.getAttribute("position"); + const vectorA = new Vector3$1().fromBufferAttribute(pos1, indices[0]); + const vectorB = new Vector3$1().fromBufferAttribute(pos1, indices[0] + 1); + const vectorC = new Vector3$1().fromBufferAttribute(pos2, indices[1]); + const vectorD = new Vector3$1().fromBufferAttribute(pos2, indices[1] + 1); + const point = this.findIntersection(vectorA, vectorB, vectorC, vectorD); + if (!point) { + return; + } + this._pickedPoint = point; + if (this._pickedPoint.distanceTo(hitPoint) > 0.25) { + return; + } + this.updateMarker(); + } + this.onAfterUpdate.trigger(this); + } + findIntersection(p1, p2, p3, p4) { + const line1Dir = p2.sub(p1); + const line2Dir = p4.sub(p3); + const lineDirCross = new Vector3$1().crossVectors(line1Dir, line2Dir); + const denominator = lineDirCross.lengthSq(); + if (denominator === 0) { + return null; + } + const lineToPoint = p3.sub(p1); + const lineToPointCross = new Vector3$1().crossVectors(lineDirCross, lineToPoint); + const t1 = lineToPointCross.dot(line2Dir) / denominator; + return new Vector3$1().addVectors(p1, line1Dir.multiplyScalar(t1)); + } + updateMarker() { + var _a; + this._marker.visible = !!this._pickedPoint; + this._marker.position.copy((_a = this._pickedPoint) !== null && _a !== void 0 ? _a : this._originVector); + } + get() { + return this._pickedPoint; + } +} + +class Simple2DMarker extends Component { + set visible(value) { + this._visible = value; + this._marker.visible = value; + } + get visible() { + return this._visible; + } + constructor(components, marker) { + super(components); + /** {@link Component.enabled} */ + this.enabled = true; + this._visible = true; + let _marker; + if (marker) { + _marker = marker; + } + else { + _marker = document.createElement("div"); + _marker.className = + "w-[15px] h-[15px] border-3 border-solid border-red-600"; + } + this._marker = new CSS2DObject(_marker); + this.components.scene.get().add(this._marker); + this.visible = true; + } + /** {@link Component.get} */ + get() { + return this._marker; + } + toggleVisibility() { + this.visible = !this.visible; + } + async dispose() { + this._marker.removeFromParent(); + this._marker.element.remove(); + } +} + +class VertexPicker extends Component { + set enabled(value) { + this._enabled = value; + if (!value) { + this._marker.visible = false; + this._pickedPoint = null; + } + } + get enabled() { + return this._enabled; + } + get _raycaster() { + return this._components.raycaster; + } + constructor(components, config) { + super(components); + this.name = "VertexPicker"; + this.afterUpdate = new Event(); + this.beforeUpdate = new Event(); + this._pickedPoint = null; + this._enabled = false; + this._workingPlane = null; + this.update = () => { + if (!this.enabled) + return; + this.beforeUpdate.trigger(this); + const intersects = this._raycaster.castRay(); + if (!intersects) { + this._marker.visible = false; + this._pickedPoint = null; + return; + } + const point = this.getClosestVertex(intersects); + if (!point) { + this._marker.visible = false; + this._pickedPoint = null; + return; + } + const isOnPlane = !this.workingPlane + ? true + : Math.abs(this.workingPlane.distanceToPoint(point)) < 0.001; + if (!isOnPlane) { + this._marker.visible = false; + this._pickedPoint = null; + return; + } + this._pickedPoint = point; + this._marker.visible = true; + this._marker + .get() + .position.set(this._pickedPoint.x, this._pickedPoint.y, this._pickedPoint.z); + this.afterUpdate.trigger(this); + }; + this._components = components; + this.config = { + snapDistance: 0.25, + showOnlyVertex: false, + ...config, + }; + this._marker = new Simple2DMarker(components, this.config.previewElement); + this._marker.visible = false; + this.setupEvents(true); + this.enabled = false; + } + set workingPlane(plane) { + this._workingPlane = plane; + } + get workingPlane() { + return this._workingPlane; + } + set config(value) { + this._config = { ...this._config, ...value }; + } + get config() { + return this._config; + } + async dispose() { + this.setupEvents(false); + await this._marker.dispose(); + this.afterUpdate.reset(); + this.beforeUpdate.reset(); + this._components = null; + } + get() { + return this._pickedPoint; + } + getClosestVertex(intersects) { + let closestVertex = new THREE$1.Vector3(); + let vertexFound = false; + let closestDistance = Number.MAX_SAFE_INTEGER; + const vertices = this.getVertices(intersects); + vertices === null || vertices === void 0 ? void 0 : vertices.forEach((vertex) => { + if (!vertex) + return; + const distance = intersects.point.distanceTo(vertex); + if (distance > closestDistance || distance > this._config.snapDistance) + return; + vertexFound = true; + closestVertex = vertex; + closestDistance = intersects.point.distanceTo(vertex); + }); + if (vertexFound) + return closestVertex; + return this.config.showOnlyVertex ? null : intersects.point; + } + getVertices(intersects) { + const mesh = intersects.object; + if (!intersects.face || !mesh) + return null; + const geom = mesh.geometry; + return [ + this.getVertex(intersects.face.a, geom), + this.getVertex(intersects.face.b, geom), + this.getVertex(intersects.face.c, geom), + ].map((vertex) => vertex === null || vertex === void 0 ? void 0 : vertex.applyMatrix4(mesh.matrixWorld)); + } + getVertex(index, geom) { + if (index === undefined) + return null; + const vertices = geom.attributes.position; + return new THREE$1.Vector3(vertices.getX(index), vertices.getY(index), vertices.getZ(index)); + } + setupEvents(active) { + const container = this._components.ui.viewerContainer; + if (active) { + container.addEventListener("mousemove", this.update); + } + else { + container.addEventListener("mousemove", this.update); + } + } +} + +class GeometryVerticesMarker extends Component { + set visible(value) { + this._visible = value; + for (const marker of this._markers) + marker.visible = value; + } + get visible() { + return this._visible; + } + constructor(components, geometry) { + super(components); + this.name = "GeometryVerticesMarker"; + this.enabled = true; + this._markers = []; + this._visible = true; + const position = geometry.getAttribute("position"); + for (let index = 0; index < position.count; index++) { + const marker = new Simple2DMarker(components); + marker + .get() + .position.set(position.getX(index), position.getY(index), position.getZ(index)); + this._markers.push(marker); + } + } + async dispose() { + for (const marker of this._markers) { + await marker.dispose(); + } + this._markers = []; + } + get() { + return this._markers; + } +} + +class BaseSVGAnnotation extends Component { + constructor() { + super(...arguments); + this.id = tooeenRandomId(); + this._enabled = false; + this._isDrawing = false; + this._svgViewport = null; + this.start = (_event) => { }; + this.draw = (_event) => { }; + this.end = (_event) => { }; + this.cancel = (event) => { + if (event) { + event.stopImmediatePropagation(); + if (event.key === "Escape") { + this.cancel(event); + } + } + }; + } + set svgViewport(value) { + this._svgViewport = value; + } + get svgViewport() { + var _a; + return (_a = this._svgViewport) !== null && _a !== void 0 ? _a : undefined; + } + set enabled(value) { + const main = this.uiElement.get("main"); + if (!this._svgViewport) { + main.active = false; + this._enabled = false; + return; + } + if (value === this._enabled) + return; + this._enabled = value; + main.active = value; + this.setupEvents(value); + } + get enabled() { + return this._enabled; + } + get canDraw() { + return this.enabled && this._svgViewport; + } + set drawManager(manager) { + this._drawManager = manager; + if (manager) { + manager.addDrawingTool(this.id, this); + const main = this.uiElement.get("main"); + manager.uiElement.get("drawingTools").addChild(main); + this.svgViewport = manager.viewport.get(); + } + else { + this.svgViewport = null; + } + } + get drawManager() { + return this._drawManager; + } + get() { + return null; + } + async dispose() { + if (this._drawManager) { + this._drawManager.dispose(); + } + if (this._svgViewport) { + this._svgViewport.remove(); + } + this.setupEvents(false); + this.uiElement.dispose(); + if (this.svgViewport) { + this.svgViewport.remove(); + } + } + setupEvents(active) { + if (active) { + document.addEventListener("keydown", this.cancel); + if (!this._svgViewport) + return; + this._svgViewport.addEventListener("mousemove", this.draw); + this._svgViewport.addEventListener("mousedown", this.start); + this._svgViewport.addEventListener("mouseup", this.end); + } + else { + document.removeEventListener("keydown", this.cancel); + if (!this._svgViewport) + return; + this._svgViewport.removeEventListener("mousemove", this.draw); + this._svgViewport.removeEventListener("mousedown", this.start); + this._svgViewport.removeEventListener("mouseup", this.end); + } + } +} + +/** + * A simple object to handle UI components. You can use the generic constructor + * to specify the types of your UI components. + */ +class UIElement { + constructor() { + this._data = null; + this.initError = "UI Components not initialized."; + } + /** + * Gets the UI Component with the given name. If it doesn't exist, it will + * throw an error. + * + * @param name the identifier of the UI component. + */ + get(name) { + if (!this._data) { + throw new Error(this.initError); + } + return this._data[name]; + } + /** + * Sets all the UI components of this instance. + * + * @param data all the UI components sorted by name in an object. + */ + set(data) { + this._data = data; + } + /** + * Release all the memory used by this instance deleting all the UI components + * inside. + */ + async dispose() { + if (!this._data) + return; + for (const name in this._data) { + const uiComponent = this._data[name]; + await uiComponent.dispose(); + } + this._data = null; + } +} + +var n=new Int32Array(2),b=new Float32Array(n.buffer),c=new Float64Array(n.buffer),h=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var d;(function(s){s[s.UTF8_BYTES=1]="UTF8_BYTES",s[s.UTF16_STRING=2]="UTF16_STRING";})(d||(d={}));var l=class s{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder;}static allocate(t){return new s(new Uint8Array(t))}clear(){this.position_=0;}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t;}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8;}writeUint16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8;}writeInt32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24;}writeUint32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24;}writeInt64(t,e){this.writeInt32(t,Number(BigInt.asIntN(32,e))),this.writeInt32(t+4,Number(BigInt.asIntN(32,e>>BigInt(32))));}writeUint64(t,e){this.writeUint32(t,Number(BigInt.asUintN(32,e))),this.writeUint32(t+4,Number(BigInt.asUintN(32,e>>BigInt(32))));}writeFloat32(t,e){b[0]=e,this.writeInt32(t,n[0]);}writeFloat64(t,e){c[0]=e,this.writeInt32(t,n[h?0:1]),this.writeInt32(t+4,n[h?1:0]);}getBufferIdentifier(){if(this.bytes_.length { + const width = this.container.clientWidth; + const height = this.container.clientHeight; + this._renderer.setSize(width, height); + this._renderer2D.setSize(width, height); + this.onResize.trigger(); + }; + this.container = container; + this._renderer = new THREE$1.WebGLRenderer({ + antialias: true, + alpha: true, + ...parameters, + }); + this._renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2)); + this.setupRenderers(); + this.setupEvents(true); + this.resize(); + } + /** {@link Component.get} */ + get() { + return this._renderer; + } + /** {@link Updateable.update} */ + update(_delta) { + if (!this.enabled) + return; + this.onBeforeUpdate.trigger(this); + if (this.overrideScene && this.overrideCamera) { + this._renderer.render(this.overrideScene, this.overrideCamera); + this._renderer2D.render(this.overrideScene, this.overrideCamera); + } + else { + const scene = this.components.scene.get(); + const camera = this.components.camera.get(); + if (!scene || !camera) + return; + this._renderer.render(scene, camera); + this._renderer2D.render(scene, camera); + } + this.onAfterUpdate.trigger(this); + } + /** {@link Disposable.dispose} */ + async dispose() { + this.enabled = false; + this.setupEvents(false); + this._renderer.domElement.remove(); + this._renderer.dispose(); + this._renderer2D.domElement.remove(); + this.onResize.reset(); + this.onAfterUpdate.reset(); + this.onBeforeUpdate.reset(); + } + /** {@link Resizeable.getSize}. */ + getSize() { + return new THREE$1.Vector2(this._renderer.domElement.clientWidth, this._renderer.domElement.clientHeight); + } + setupEvents(active) { + if (active) { + window.addEventListener("resize", this.resize); + } + else { + window.removeEventListener("resize", this.resize); + } + } + setupRenderers() { + this._renderer.localClippingEnabled = true; + this.container.appendChild(this._renderer.domElement); + this._renderer2D.domElement.style.position = "absolute"; + this._renderer2D.domElement.style.top = "0px"; + this._renderer2D.domElement.style.pointerEvents = "none"; + this.container.appendChild(this._renderer2D.domElement); + } +} + +/*! + * camera-controls + * https://github.com/yomotsu/camera-controls + * (c) 2017 @yomotsu + * Released under the MIT License. + */ +// see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#value +const MOUSE_BUTTON = { + LEFT: 1, + RIGHT: 2, + MIDDLE: 4, +}; +const ACTION = Object.freeze({ + NONE: 0, + ROTATE: 1, + TRUCK: 2, + OFFSET: 4, + DOLLY: 8, + ZOOM: 16, + TOUCH_ROTATE: 32, + TOUCH_TRUCK: 64, + TOUCH_OFFSET: 128, + TOUCH_DOLLY: 256, + TOUCH_ZOOM: 512, + TOUCH_DOLLY_TRUCK: 1024, + TOUCH_DOLLY_OFFSET: 2048, + TOUCH_DOLLY_ROTATE: 4096, + TOUCH_ZOOM_TRUCK: 8192, + TOUCH_ZOOM_OFFSET: 16384, + TOUCH_ZOOM_ROTATE: 32768, +}); +function isPerspectiveCamera(camera) { + return camera.isPerspectiveCamera; +} +function isOrthographicCamera(camera) { + return camera.isOrthographicCamera; +} + +const PI_2 = Math.PI * 2; +const PI_HALF = Math.PI / 2; + +const EPSILON$2 = 1e-5; +function approxZero(number, error = EPSILON$2) { + return Math.abs(number) < error; +} +function approxEquals(a, b, error = EPSILON$2) { + return approxZero(a - b, error); +} +function roundToStep(value, step) { + return Math.round(value / step) * step; +} +function infinityToMaxNumber(value) { + if (isFinite(value)) + return value; + if (value < 0) + return -Number.MAX_VALUE; + return Number.MAX_VALUE; +} +function maxNumberToInfinity(value) { + if (Math.abs(value) < Number.MAX_VALUE) + return value; + return value * Infinity; +} + +function extractClientCoordFromEvent(pointers, out) { + out.set(0, 0); + pointers.forEach((pointer) => { + out.x += pointer.clientX; + out.y += pointer.clientY; + }); + out.x /= pointers.length; + out.y /= pointers.length; +} + +function notSupportedInOrthographicCamera(camera, message) { + if (isOrthographicCamera(camera)) { + console.warn(`${message} is not supported in OrthographicCamera`); + return true; + } + return false; +} + +/** + * A compat function for `Quaternion.invert()` / `Quaternion.inverse()`. + * `Quaternion.invert()` is introduced in r123 and `Quaternion.inverse()` emits a warning. + * We are going to use this compat for a while. + * @param target A target quaternion + */ +function quatInvertCompat(target) { + if (target.invert) { + target.invert(); + } + else { + target.inverse(); + } + return target; +} + +class EventDispatcher { + constructor() { + this._listeners = {}; + } + /** + * Adds the specified event listener. + * @param type event name + * @param listener handler function + * @category Methods + */ + addEventListener(type, listener) { + const listeners = this._listeners; + if (listeners[type] === undefined) + listeners[type] = []; + if (listeners[type].indexOf(listener) === -1) + listeners[type].push(listener); + } + /** + * Presence of the specified event listener. + * @param type event name + * @param listener handler function + * @category Methods + */ + hasEventListener(type, listener) { + const listeners = this._listeners; + return listeners[type] !== undefined && listeners[type].indexOf(listener) !== -1; + } + /** + * Removes the specified event listener + * @param type event name + * @param listener handler function + * @category Methods + */ + removeEventListener(type, listener) { + const listeners = this._listeners; + const listenerArray = listeners[type]; + if (listenerArray !== undefined) { + const index = listenerArray.indexOf(listener); + if (index !== -1) + listenerArray.splice(index, 1); + } + } + /** + * Removes all event listeners + * @param type event name + * @category Methods + */ + removeAllEventListeners(type) { + if (!type) { + this._listeners = {}; + return; + } + if (Array.isArray(this._listeners[type])) + this._listeners[type].length = 0; + } + /** + * Fire an event type. + * @param event DispatcherEvent + * @category Methods + */ + dispatchEvent(event) { + const listeners = this._listeners; + const listenerArray = listeners[event.type]; + if (listenerArray !== undefined) { + event.target = this; + const array = listenerArray.slice(0); + for (let i = 0, l = array.length; i < l; i++) { + array[i].call(this, event); + } + } + } +} + +const VERSION = '1.38.1'; // will be replaced with `version` in package.json during the build process. +const TOUCH_DOLLY_FACTOR = 1 / 8; +const isBrowser = typeof window !== 'undefined'; +const isMac = isBrowser && /Mac/.test(navigator.platform); +const isPointerEventsNotSupported = !(isBrowser && 'PointerEvent' in window); // Safari 12 does not support PointerEvents API +let THREE; +let _ORIGIN; +let _AXIS_Y; +let _AXIS_Z; +let _v2$1; +let _v3A; +let _v3B; +let _v3C; +let _xColumn; +let _yColumn; +let _zColumn; +let _deltaTarget; +let _deltaOffset; +let _sphericalA; +let _sphericalB; +let _box3A; +let _box3B; +let _sphere$1; +let _quaternionA; +let _quaternionB; +let _rotationMatrix; +let _raycaster$1; +class CameraControls extends EventDispatcher { + /** + * Injects THREE as the dependency. You can then proceed to use CameraControls. + * + * e.g + * ```javascript + * CameraControls.install( { THREE: THREE } ); + * ``` + * + * Note: If you do not wish to use enter three.js to reduce file size(tree-shaking for example), make a subset to install. + * + * ```js + * import { + * Vector2, + * Vector3, + * Vector4, + * Quaternion, + * Matrix4, + * Spherical, + * Box3, + * Sphere, + * Raycaster, + * MathUtils, + * } from 'three'; + * + * const subsetOfTHREE = { + * Vector2 : Vector2, + * Vector3 : Vector3, + * Vector4 : Vector4, + * Quaternion: Quaternion, + * Matrix4 : Matrix4, + * Spherical : Spherical, + * Box3 : Box3, + * Sphere : Sphere, + * Raycaster : Raycaster, + * MathUtils : { + * DEG2RAD: MathUtils.DEG2RAD, + * clamp: MathUtils.clamp, + * }, + * }; + + * CameraControls.install( { THREE: subsetOfTHREE } ); + * ``` + * @category Statics + */ + static install(libs) { + THREE = libs.THREE; + _ORIGIN = Object.freeze(new THREE.Vector3(0, 0, 0)); + _AXIS_Y = Object.freeze(new THREE.Vector3(0, 1, 0)); + _AXIS_Z = Object.freeze(new THREE.Vector3(0, 0, 1)); + _v2$1 = new THREE.Vector2(); + _v3A = new THREE.Vector3(); + _v3B = new THREE.Vector3(); + _v3C = new THREE.Vector3(); + _xColumn = new THREE.Vector3(); + _yColumn = new THREE.Vector3(); + _zColumn = new THREE.Vector3(); + _deltaTarget = new THREE.Vector3(); + _deltaOffset = new THREE.Vector3(); + _sphericalA = new THREE.Spherical(); + _sphericalB = new THREE.Spherical(); + _box3A = new THREE.Box3(); + _box3B = new THREE.Box3(); + _sphere$1 = new THREE.Sphere(); + _quaternionA = new THREE.Quaternion(); + _quaternionB = new THREE.Quaternion(); + _rotationMatrix = new THREE.Matrix4(); + _raycaster$1 = new THREE.Raycaster(); + } + /** + * list all ACTIONs + * @category Statics + */ + static get ACTION() { + return ACTION; + } + /** + * Creates a `CameraControls` instance. + * + * Note: + * You **must install** three.js before using camera-controls. see [#install](#install) + * Not doing so will lead to runtime errors (`undefined` references to THREE). + * + * e.g. + * ``` + * CameraControls.install( { THREE } ); + * const cameraControls = new CameraControls( camera, domElement ); + * ``` + * + * @param camera A `THREE.PerspectiveCamera` or `THREE.OrthographicCamera` to be controlled. + * @param domElement A `HTMLElement` for the draggable area, usually `renderer.domElement`. + * @category Constructor + */ + constructor(camera, domElement) { + super(); + /** + * Minimum vertical angle in radians. + * The angle has to be between `0` and `.maxPolarAngle` inclusive. + * The default value is `0`. + * + * e.g. + * ``` + * cameraControls.maxPolarAngle = 0; + * ``` + * @category Properties + */ + this.minPolarAngle = 0; // radians + /** + * Maximum vertical angle in radians. + * The angle has to be between `.maxPolarAngle` and `Math.PI` inclusive. + * The default value is `Math.PI`. + * + * e.g. + * ``` + * cameraControls.maxPolarAngle = Math.PI; + * ``` + * @category Properties + */ + this.maxPolarAngle = Math.PI; // radians + /** + * Minimum horizontal angle in radians. + * The angle has to be less than `.maxAzimuthAngle`. + * The default value is `- Infinity`. + * + * e.g. + * ``` + * cameraControls.minAzimuthAngle = - Infinity; + * ``` + * @category Properties + */ + this.minAzimuthAngle = -Infinity; // radians + /** + * Maximum horizontal angle in radians. + * The angle has to be greater than `.minAzimuthAngle`. + * The default value is `Infinity`. + * + * e.g. + * ``` + * cameraControls.maxAzimuthAngle = Infinity; + * ``` + * @category Properties + */ + this.maxAzimuthAngle = Infinity; // radians + // How far you can dolly in and out ( PerspectiveCamera only ) + /** + * Minimum distance for dolly. The value must be higher than `0`. + * PerspectiveCamera only. + * @category Properties + */ + this.minDistance = 0; + /** + * Maximum distance for dolly. The value must be higher than `minDistance`. + * PerspectiveCamera only. + * @category Properties + */ + this.maxDistance = Infinity; + /** + * `true` to enable Infinity Dolly. + * When the Dolly distance is less than the `minDistance`, radius of the sphere will be set `minDistance` automatically. + * @category Properties + */ + this.infinityDolly = false; + /** + * Minimum camera zoom. + * @category Properties + */ + this.minZoom = 0.01; + /** + * Maximum camera zoom. + * @category Properties + */ + this.maxZoom = Infinity; + /** + * The damping inertia. + * The value must be between `Math.EPSILON` to `1` inclusive. + * Setting `1` to disable smooth transitions. + * @category Properties + */ + this.dampingFactor = 0.05; + /** + * The damping inertia while dragging. + * The value must be between `Math.EPSILON` to `1` inclusive. + * Setting `1` to disable smooth transitions. + * @category Properties + */ + this.draggingDampingFactor = 0.25; + /** + * Speed of azimuth (horizontal) rotation. + * @category Properties + */ + this.azimuthRotateSpeed = 1.0; + /** + * Speed of polar (vertical) rotation. + * @category Properties + */ + this.polarRotateSpeed = 1.0; + /** + * Speed of mouse-wheel dollying. + * @category Properties + */ + this.dollySpeed = 1.0; + /** + * Speed of drag for truck and pedestal. + * @category Properties + */ + this.truckSpeed = 2.0; + /** + * `true` to enable Dolly-in to the mouse cursor coords. + * @category Properties + */ + this.dollyToCursor = false; + /** + * @category Properties + */ + this.dragToOffset = false; + /** + * The same as `.screenSpacePanning` in three.js's OrbitControls. + * @category Properties + */ + this.verticalDragToForward = false; + /** + * Friction ratio of the boundary. + * @category Properties + */ + this.boundaryFriction = 0.0; + /** + * Controls how soon the `rest` event fires as the camera slows. + * @category Properties + */ + this.restThreshold = 0.01; + /** + * An array of Meshes to collide with camera. + * Be aware colliderMeshes may decrease performance. The collision test uses 4 raycasters from the camera since the near plane has 4 corners. + * @category Properties + */ + this.colliderMeshes = []; + /** + * Force cancel user dragging. + * @category Methods + */ + // cancel will be overwritten in the constructor. + this.cancel = () => { }; + this._enabled = true; + this._state = ACTION.NONE; + this._viewport = null; + this._affectOffset = false; + this._dollyControlAmount = 0; + this._hasRested = true; + this._boundaryEnclosesCamera = false; + this._needsUpdate = true; + this._updatedLastTime = false; + this._elementRect = new DOMRect(); + this._activePointers = []; + this._truckInternal = (deltaX, deltaY, dragToOffset) => { + if (isPerspectiveCamera(this._camera)) { + const offset = _v3A.copy(this._camera.position).sub(this._target); + // half of the fov is center to top of screen + const fov = this._camera.getEffectiveFOV() * THREE.MathUtils.DEG2RAD; + const targetDistance = offset.length() * Math.tan(fov * 0.5); + const truckX = (this.truckSpeed * deltaX * targetDistance / this._elementRect.height); + const pedestalY = (this.truckSpeed * deltaY * targetDistance / this._elementRect.height); + if (this.verticalDragToForward) { + dragToOffset ? + this.setFocalOffset(this._focalOffsetEnd.x + truckX, this._focalOffsetEnd.y, this._focalOffsetEnd.z, true) : + this.truck(truckX, 0, true); + this.forward(-pedestalY, true); + } + else { + dragToOffset ? + this.setFocalOffset(this._focalOffsetEnd.x + truckX, this._focalOffsetEnd.y + pedestalY, this._focalOffsetEnd.z, true) : + this.truck(truckX, pedestalY, true); + } + } + else if (isOrthographicCamera(this._camera)) { + // orthographic + const camera = this._camera; + const truckX = deltaX * (camera.right - camera.left) / camera.zoom / this._elementRect.width; + const pedestalY = deltaY * (camera.top - camera.bottom) / camera.zoom / this._elementRect.height; + dragToOffset ? + this.setFocalOffset(this._focalOffsetEnd.x + truckX, this._focalOffsetEnd.y + pedestalY, this._focalOffsetEnd.z, true) : + this.truck(truckX, pedestalY, true); + } + }; + this._rotateInternal = (deltaX, deltaY) => { + const theta = PI_2 * this.azimuthRotateSpeed * deltaX / this._elementRect.height; // divide by *height* to refer the resolution + const phi = PI_2 * this.polarRotateSpeed * deltaY / this._elementRect.height; + this.rotate(theta, phi, true); + }; + this._dollyInternal = (delta, x, y) => { + const dollyScale = Math.pow(0.95, -delta * this.dollySpeed); + const distance = this._sphericalEnd.radius * dollyScale; + const prevRadius = this._sphericalEnd.radius; + const signedPrevRadius = prevRadius * (delta >= 0 ? -1 : 1); + this.dollyTo(distance); + if (this.infinityDolly && (distance < this.minDistance || this.maxDistance === this.minDistance)) { + this._camera.getWorldDirection(_v3A); + this._targetEnd.add(_v3A.normalize().multiplyScalar(signedPrevRadius)); + this._target.add(_v3A.normalize().multiplyScalar(signedPrevRadius)); + } + if (this.dollyToCursor) { + this._dollyControlAmount += this._sphericalEnd.radius - prevRadius; + if (this.infinityDolly && (distance < this.minDistance || this.maxDistance === this.minDistance)) { + this._dollyControlAmount -= signedPrevRadius; + } + this._dollyControlCoord.set(x, y); + } + return; + }; + this._zoomInternal = (delta, x, y) => { + const zoomScale = Math.pow(0.95, delta * this.dollySpeed); + const prevZoom = this._zoomEnd; + // for both PerspectiveCamera and OrthographicCamera + this.zoomTo(this._zoom * zoomScale); + if (this.dollyToCursor) { + this._dollyControlAmount += this._zoomEnd - prevZoom; + this._dollyControlCoord.set(x, y); + } + return; + }; + // Check if the user has installed THREE + if (typeof THREE === 'undefined') { + console.error('camera-controls: `THREE` is undefined. You must first run `CameraControls.install( { THREE: THREE } )`. Check the docs for further information.'); + } + this._camera = camera; + this._yAxisUpSpace = new THREE.Quaternion().setFromUnitVectors(this._camera.up, _AXIS_Y); + this._yAxisUpSpaceInverse = quatInvertCompat(this._yAxisUpSpace.clone()); + this._state = ACTION.NONE; + // the location + this._target = new THREE.Vector3(); + this._targetEnd = this._target.clone(); + this._focalOffset = new THREE.Vector3(); + this._focalOffsetEnd = this._focalOffset.clone(); + // rotation + this._spherical = new THREE.Spherical().setFromVector3(_v3A.copy(this._camera.position).applyQuaternion(this._yAxisUpSpace)); + this._sphericalEnd = this._spherical.clone(); + this._zoom = this._camera.zoom; + this._zoomEnd = this._zoom; + // collisionTest uses nearPlane.s + this._nearPlaneCorners = [ + new THREE.Vector3(), + new THREE.Vector3(), + new THREE.Vector3(), + new THREE.Vector3(), + ]; + this._updateNearPlaneCorners(); + // Target cannot move outside of this box + this._boundary = new THREE.Box3(new THREE.Vector3(-Infinity, -Infinity, -Infinity), new THREE.Vector3(Infinity, Infinity, Infinity)); + // reset + this._target0 = this._target.clone(); + this._position0 = this._camera.position.clone(); + this._zoom0 = this._zoom; + this._focalOffset0 = this._focalOffset.clone(); + this._dollyControlAmount = 0; + this._dollyControlCoord = new THREE.Vector2(); + // configs + this.mouseButtons = { + left: ACTION.ROTATE, + middle: ACTION.DOLLY, + right: ACTION.TRUCK, + wheel: isPerspectiveCamera(this._camera) ? ACTION.DOLLY : + isOrthographicCamera(this._camera) ? ACTION.ZOOM : + ACTION.NONE, + }; + this.touches = { + one: ACTION.TOUCH_ROTATE, + two: isPerspectiveCamera(this._camera) ? ACTION.TOUCH_DOLLY_TRUCK : + isOrthographicCamera(this._camera) ? ACTION.TOUCH_ZOOM_TRUCK : + ACTION.NONE, + three: ACTION.TOUCH_TRUCK, + }; + const dragStartPosition = new THREE.Vector2(); + const lastDragPosition = new THREE.Vector2(); + const dollyStart = new THREE.Vector2(); + const onPointerDown = (event) => { + if (!this._enabled || !this._domElement) + return; + // Don't call `event.preventDefault()` on the pointerdown event + // to keep receiving pointermove evens outside dragging iframe + // https://taye.me/blog/tips/2015/11/16/mouse-drag-outside-iframe/ + const pointer = { + pointerId: event.pointerId, + clientX: event.clientX, + clientY: event.clientY, + deltaX: 0, + deltaY: 0, + }; + this._activePointers.push(pointer); + // eslint-disable-next-line no-undef + this._domElement.ownerDocument.removeEventListener('pointermove', onPointerMove, { passive: false }); + this._domElement.ownerDocument.removeEventListener('pointerup', onPointerUp); + this._domElement.ownerDocument.addEventListener('pointermove', onPointerMove, { passive: false }); + this._domElement.ownerDocument.addEventListener('pointerup', onPointerUp); + startDragging(event); + }; + const onMouseDown = (event) => { + if (!this._enabled || !this._domElement) + return; + const pointer = { + pointerId: 0, + clientX: event.clientX, + clientY: event.clientY, + deltaX: 0, + deltaY: 0, + }; + this._activePointers.push(pointer); + // see https://github.com/microsoft/TypeScript/issues/32912#issuecomment-522142969 + // eslint-disable-next-line no-undef + this._domElement.ownerDocument.removeEventListener('mousemove', onMouseMove); + this._domElement.ownerDocument.removeEventListener('mouseup', onMouseUp); + this._domElement.ownerDocument.addEventListener('mousemove', onMouseMove); + this._domElement.ownerDocument.addEventListener('mouseup', onMouseUp); + startDragging(event); + }; + const onTouchStart = (event) => { + if (!this._enabled || !this._domElement) + return; + event.preventDefault(); + Array.prototype.forEach.call(event.changedTouches, (touch) => { + const pointer = { + pointerId: touch.identifier, + clientX: touch.clientX, + clientY: touch.clientY, + deltaX: 0, + deltaY: 0, + }; + this._activePointers.push(pointer); + }); + // eslint-disable-next-line no-undef + this._domElement.ownerDocument.removeEventListener('touchmove', onTouchMove, { passive: false }); + this._domElement.ownerDocument.removeEventListener('touchend', onTouchEnd); + this._domElement.ownerDocument.addEventListener('touchmove', onTouchMove, { passive: false }); + this._domElement.ownerDocument.addEventListener('touchend', onTouchEnd); + startDragging(event); + }; + const onPointerMove = (event) => { + if (event.cancelable) + event.preventDefault(); + const pointerId = event.pointerId; + const pointer = this._findPointerById(pointerId); + if (!pointer) + return; + pointer.clientX = event.clientX; + pointer.clientY = event.clientY; + pointer.deltaX = event.movementX; + pointer.deltaY = event.movementY; + if (event.pointerType === 'touch') { + switch (this._activePointers.length) { + case 1: + this._state = this.touches.one; + break; + case 2: + this._state = this.touches.two; + break; + case 3: + this._state = this.touches.three; + break; + } + } + else { + this._state = 0; + if ((event.buttons & MOUSE_BUTTON.LEFT) === MOUSE_BUTTON.LEFT) { + this._state = this._state | this.mouseButtons.left; + } + if ((event.buttons & MOUSE_BUTTON.MIDDLE) === MOUSE_BUTTON.MIDDLE) { + this._state = this._state | this.mouseButtons.middle; + } + if ((event.buttons & MOUSE_BUTTON.RIGHT) === MOUSE_BUTTON.RIGHT) { + this._state = this._state | this.mouseButtons.right; + } + } + dragging(); + }; + const onMouseMove = (event) => { + const pointer = this._findPointerById(0); + if (!pointer) + return; + pointer.clientX = event.clientX; + pointer.clientY = event.clientY; + pointer.deltaX = event.movementX; + pointer.deltaY = event.movementY; + this._state = 0; + if ((event.buttons & MOUSE_BUTTON.LEFT) === MOUSE_BUTTON.LEFT) { + this._state = this._state | this.mouseButtons.left; + } + if ((event.buttons & MOUSE_BUTTON.MIDDLE) === MOUSE_BUTTON.MIDDLE) { + this._state = this._state | this.mouseButtons.middle; + } + if ((event.buttons & MOUSE_BUTTON.RIGHT) === MOUSE_BUTTON.RIGHT) { + this._state = this._state | this.mouseButtons.right; + } + dragging(); + }; + const onTouchMove = (event) => { + if (event.cancelable) + event.preventDefault(); + Array.prototype.forEach.call(event.changedTouches, (touch) => { + const pointerId = touch.identifier; + const pointer = this._findPointerById(pointerId); + if (!pointer) + return; + pointer.clientX = touch.clientX; + pointer.clientY = touch.clientY; + // touch event does not have movementX and movementY. + }); + dragging(); + }; + const onPointerUp = (event) => { + const pointerId = event.pointerId; + const pointer = this._findPointerById(pointerId); + pointer && this._activePointers.splice(this._activePointers.indexOf(pointer), 1); + if (event.pointerType === 'touch') { + switch (this._activePointers.length) { + case 0: + this._state = ACTION.NONE; + break; + case 1: + this._state = this.touches.one; + break; + case 2: + this._state = this.touches.two; + break; + case 3: + this._state = this.touches.three; + break; + } + } + else { + this._state = ACTION.NONE; + } + endDragging(); + }; + const onMouseUp = () => { + const pointer = this._findPointerById(0); + pointer && this._activePointers.splice(this._activePointers.indexOf(pointer), 1); + this._state = ACTION.NONE; + endDragging(); + }; + const onTouchEnd = (event) => { + Array.prototype.forEach.call(event.changedTouches, (touch) => { + const pointerId = touch.identifier; + const pointer = this._findPointerById(pointerId); + pointer && this._activePointers.splice(this._activePointers.indexOf(pointer), 1); + }); + switch (this._activePointers.length) { + case 0: + this._state = ACTION.NONE; + break; + case 1: + this._state = this.touches.one; + break; + case 2: + this._state = this.touches.two; + break; + case 3: + this._state = this.touches.three; + break; + } + endDragging(); + }; + let lastScrollTimeStamp = -1; + const onMouseWheel = (event) => { + if (!this._enabled || this.mouseButtons.wheel === ACTION.NONE) + return; + event.preventDefault(); + if (this.dollyToCursor || + this.mouseButtons.wheel === ACTION.ROTATE || + this.mouseButtons.wheel === ACTION.TRUCK) { + const now = performance.now(); + // only need to fire this at scroll start. + if (lastScrollTimeStamp - now < 1000) + this._getClientRect(this._elementRect); + lastScrollTimeStamp = now; + } + // Ref: https://github.com/cedricpinson/osgjs/blob/00e5a7e9d9206c06fdde0436e1d62ab7cb5ce853/sources/osgViewer/input/source/InputSourceMouse.js#L89-L103 + const deltaYFactor = isMac ? -1 : -3; + const delta = (event.deltaMode === 1) ? event.deltaY / deltaYFactor : event.deltaY / (deltaYFactor * 10); + const x = this.dollyToCursor ? (event.clientX - this._elementRect.x) / this._elementRect.width * 2 - 1 : 0; + const y = this.dollyToCursor ? (event.clientY - this._elementRect.y) / this._elementRect.height * -2 + 1 : 0; + switch (this.mouseButtons.wheel) { + case ACTION.ROTATE: { + this._rotateInternal(event.deltaX, event.deltaY); + break; + } + case ACTION.TRUCK: { + this._truckInternal(event.deltaX, event.deltaY, false); + break; + } + case ACTION.OFFSET: { + this._truckInternal(event.deltaX, event.deltaY, true); + break; + } + case ACTION.DOLLY: { + this._dollyInternal(-delta, x, y); + break; + } + case ACTION.ZOOM: { + this._zoomInternal(-delta, x, y); + break; + } + } + this.dispatchEvent({ type: 'control' }); + }; + const onContextMenu = (event) => { + if (!this._enabled) + return; + event.preventDefault(); + }; + const startDragging = (event) => { + if (!this._enabled) + return; + extractClientCoordFromEvent(this._activePointers, _v2$1); + this._getClientRect(this._elementRect); + dragStartPosition.copy(_v2$1); + lastDragPosition.copy(_v2$1); + const isMultiTouch = this._activePointers.length >= 2; + if (isMultiTouch) { + // 2 finger pinch + const dx = _v2$1.x - this._activePointers[1].clientX; + const dy = _v2$1.y - this._activePointers[1].clientY; + const distance = Math.sqrt(dx * dx + dy * dy); + dollyStart.set(0, distance); + // center coords of 2 finger truck + const x = (this._activePointers[0].clientX + this._activePointers[1].clientX) * 0.5; + const y = (this._activePointers[0].clientY + this._activePointers[1].clientY) * 0.5; + lastDragPosition.set(x, y); + } + if ('touches' in event || + 'pointerType' in event && event.pointerType === 'touch') { + switch (this._activePointers.length) { + case 1: + this._state = this.touches.one; + break; + case 2: + this._state = this.touches.two; + break; + case 3: + this._state = this.touches.three; + break; + } + } + else { + this._state = 0; + if ((event.buttons & MOUSE_BUTTON.LEFT) === MOUSE_BUTTON.LEFT) { + this._state = this._state | this.mouseButtons.left; + } + if ((event.buttons & MOUSE_BUTTON.MIDDLE) === MOUSE_BUTTON.MIDDLE) { + this._state = this._state | this.mouseButtons.middle; + } + if ((event.buttons & MOUSE_BUTTON.RIGHT) === MOUSE_BUTTON.RIGHT) { + this._state = this._state | this.mouseButtons.right; + } + } + this.dispatchEvent({ type: 'controlstart' }); + }; + const dragging = () => { + if (!this._enabled) + return; + extractClientCoordFromEvent(this._activePointers, _v2$1); + // When pointer lock is enabled clientX, clientY, screenX, and screenY remain 0. + // If pointer lock is enabled, use the Delta directory, and assume active-pointer is not multiple. + const isPointerLockActive = this._domElement && document.pointerLockElement === this._domElement; + const deltaX = isPointerLockActive ? -this._activePointers[0].deltaX : lastDragPosition.x - _v2$1.x; + const deltaY = isPointerLockActive ? -this._activePointers[0].deltaY : lastDragPosition.y - _v2$1.y; + lastDragPosition.copy(_v2$1); + if ((this._state & ACTION.ROTATE) === ACTION.ROTATE || + (this._state & ACTION.TOUCH_ROTATE) === ACTION.TOUCH_ROTATE || + (this._state & ACTION.TOUCH_DOLLY_ROTATE) === ACTION.TOUCH_DOLLY_ROTATE || + (this._state & ACTION.TOUCH_ZOOM_ROTATE) === ACTION.TOUCH_ZOOM_ROTATE) { + this._rotateInternal(deltaX, deltaY); + } + if ((this._state & ACTION.DOLLY) === ACTION.DOLLY || + (this._state & ACTION.ZOOM) === ACTION.ZOOM) { + const dollyX = this.dollyToCursor ? (dragStartPosition.x - this._elementRect.x) / this._elementRect.width * 2 - 1 : 0; + const dollyY = this.dollyToCursor ? (dragStartPosition.y - this._elementRect.y) / this._elementRect.height * -2 + 1 : 0; + (this._state & ACTION.DOLLY) === ACTION.DOLLY ? + this._dollyInternal(deltaY * TOUCH_DOLLY_FACTOR, dollyX, dollyY) : + this._zoomInternal(deltaY * TOUCH_DOLLY_FACTOR, dollyX, dollyY); + } + if ((this._state & ACTION.TOUCH_DOLLY) === ACTION.TOUCH_DOLLY || + (this._state & ACTION.TOUCH_ZOOM) === ACTION.TOUCH_ZOOM || + (this._state & ACTION.TOUCH_DOLLY_TRUCK) === ACTION.TOUCH_DOLLY_TRUCK || + (this._state & ACTION.TOUCH_ZOOM_TRUCK) === ACTION.TOUCH_ZOOM_TRUCK || + (this._state & ACTION.TOUCH_DOLLY_OFFSET) === ACTION.TOUCH_DOLLY_OFFSET || + (this._state & ACTION.TOUCH_ZOOM_OFFSET) === ACTION.TOUCH_ZOOM_OFFSET || + (this._state & ACTION.TOUCH_DOLLY_ROTATE) === ACTION.TOUCH_DOLLY_ROTATE || + (this._state & ACTION.TOUCH_ZOOM_ROTATE) === ACTION.TOUCH_ZOOM_ROTATE) { + const dx = _v2$1.x - this._activePointers[1].clientX; + const dy = _v2$1.y - this._activePointers[1].clientY; + const distance = Math.sqrt(dx * dx + dy * dy); + const dollyDelta = dollyStart.y - distance; + dollyStart.set(0, distance); + const dollyX = this.dollyToCursor ? (lastDragPosition.x - this._elementRect.x) / this._elementRect.width * 2 - 1 : 0; + const dollyY = this.dollyToCursor ? (lastDragPosition.y - this._elementRect.y) / this._elementRect.height * -2 + 1 : 0; + (this._state & ACTION.TOUCH_DOLLY) === ACTION.TOUCH_DOLLY || + (this._state & ACTION.TOUCH_DOLLY_ROTATE) === ACTION.TOUCH_DOLLY_ROTATE || + (this._state & ACTION.TOUCH_DOLLY_TRUCK) === ACTION.TOUCH_DOLLY_TRUCK || + (this._state & ACTION.TOUCH_DOLLY_OFFSET) === ACTION.TOUCH_DOLLY_OFFSET ? + this._dollyInternal(dollyDelta * TOUCH_DOLLY_FACTOR, dollyX, dollyY) : + this._zoomInternal(dollyDelta * TOUCH_DOLLY_FACTOR, dollyX, dollyY); + } + if ((this._state & ACTION.TRUCK) === ACTION.TRUCK || + (this._state & ACTION.TOUCH_TRUCK) === ACTION.TOUCH_TRUCK || + (this._state & ACTION.TOUCH_DOLLY_TRUCK) === ACTION.TOUCH_DOLLY_TRUCK || + (this._state & ACTION.TOUCH_ZOOM_TRUCK) === ACTION.TOUCH_ZOOM_TRUCK) { + this._truckInternal(deltaX, deltaY, false); + } + if ((this._state & ACTION.OFFSET) === ACTION.OFFSET || + (this._state & ACTION.TOUCH_OFFSET) === ACTION.TOUCH_OFFSET || + (this._state & ACTION.TOUCH_DOLLY_OFFSET) === ACTION.TOUCH_DOLLY_OFFSET || + (this._state & ACTION.TOUCH_ZOOM_OFFSET) === ACTION.TOUCH_ZOOM_OFFSET) { + this._truckInternal(deltaX, deltaY, true); + } + this.dispatchEvent({ type: 'control' }); + }; + const endDragging = () => { + extractClientCoordFromEvent(this._activePointers, _v2$1); + lastDragPosition.copy(_v2$1); + if (this._activePointers.length === 0 && this._domElement) { + // eslint-disable-next-line no-undef + this._domElement.ownerDocument.removeEventListener('pointermove', onPointerMove, { passive: false }); + this._domElement.ownerDocument.removeEventListener('pointerup', onPointerUp); + // eslint-disable-next-line no-undef + this._domElement.ownerDocument.removeEventListener('touchmove', onTouchMove, { passive: false }); + this._domElement.ownerDocument.removeEventListener('touchend', onTouchEnd); + this.dispatchEvent({ type: 'controlend' }); + } + }; + this._addAllEventListeners = (domElement) => { + this._domElement = domElement; + this._domElement.style.touchAction = 'none'; + this._domElement.style.userSelect = 'none'; + this._domElement.style.webkitUserSelect = 'none'; + this._domElement.addEventListener('pointerdown', onPointerDown); + isPointerEventsNotSupported && this._domElement.addEventListener('mousedown', onMouseDown); + isPointerEventsNotSupported && this._domElement.addEventListener('touchstart', onTouchStart); + this._domElement.addEventListener('pointercancel', onPointerUp); + this._domElement.addEventListener('wheel', onMouseWheel, { passive: false }); + this._domElement.addEventListener('contextmenu', onContextMenu); + }; + this._removeAllEventListeners = () => { + if (!this._domElement) + return; + this._domElement.removeEventListener('pointerdown', onPointerDown); + this._domElement.removeEventListener('mousedown', onMouseDown); + this._domElement.removeEventListener('touchstart', onTouchStart); + this._domElement.removeEventListener('pointercancel', onPointerUp); + // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener#matching_event_listeners_for_removal + // > it's probably wise to use the same values used for the call to `addEventListener()` when calling `removeEventListener()` + // see https://github.com/microsoft/TypeScript/issues/32912#issuecomment-522142969 + // eslint-disable-next-line no-undef + this._domElement.removeEventListener('wheel', onMouseWheel, { passive: false }); + this._domElement.removeEventListener('contextmenu', onContextMenu); + // eslint-disable-next-line no-undef + this._domElement.ownerDocument.removeEventListener('pointermove', onPointerMove, { passive: false }); + this._domElement.ownerDocument.removeEventListener('mousemove', onMouseMove); + // eslint-disable-next-line no-undef + this._domElement.ownerDocument.removeEventListener('touchmove', onTouchMove, { passive: false }); + this._domElement.ownerDocument.removeEventListener('pointerup', onPointerUp); + this._domElement.ownerDocument.removeEventListener('mouseup', onMouseUp); + this._domElement.ownerDocument.removeEventListener('touchend', onTouchEnd); + }; + this.cancel = () => { + if (this._state === ACTION.NONE) + return; + this._state = ACTION.NONE; + this._activePointers.length = 0; + endDragging(); + }; + if (domElement) + this.connect(domElement); + this.update(0); + } + /** + * The camera to be controlled + * @category Properties + */ + get camera() { + return this._camera; + } + set camera(camera) { + this._camera = camera; + this.updateCameraUp(); + this._camera.updateProjectionMatrix(); + this._updateNearPlaneCorners(); + this._needsUpdate = true; + } + /** + * Whether or not the controls are enabled. + * `false` to disable user dragging/touch-move, but all methods works. + * @category Properties + */ + get enabled() { + return this._enabled; + } + set enabled(enabled) { + if (!this._domElement) + return; + this._enabled = enabled; + if (enabled) { + this._domElement.style.touchAction = 'none'; + this._domElement.style.userSelect = 'none'; + this._domElement.style.webkitUserSelect = 'none'; + } + else { + this.cancel(); + this._domElement.style.touchAction = ''; + this._domElement.style.userSelect = ''; + this._domElement.style.webkitUserSelect = ''; + } + } + /** + * Returns `true` if the controls are active updating. + * readonly value. + * @category Properties + */ + get active() { + return !this._hasRested; + } + /** + * Getter for the current `ACTION`. + * readonly value. + * @category Properties + */ + get currentAction() { + return this._state; + } + /** + * get/set Current distance. + * @category Properties + */ + get distance() { + return this._spherical.radius; + } + set distance(distance) { + if (this._spherical.radius === distance && + this._sphericalEnd.radius === distance) + return; + this._spherical.radius = distance; + this._sphericalEnd.radius = distance; + this._needsUpdate = true; + } + // horizontal angle + /** + * get/set the azimuth angle (horizontal) in radians. + * Every 360 degrees turn is added to `.azimuthAngle` value, which is accumulative. + * @category Properties + */ + get azimuthAngle() { + return this._spherical.theta; + } + set azimuthAngle(azimuthAngle) { + if (this._spherical.theta === azimuthAngle && + this._sphericalEnd.theta === azimuthAngle) + return; + this._spherical.theta = azimuthAngle; + this._sphericalEnd.theta = azimuthAngle; + this._needsUpdate = true; + } + // vertical angle + /** + * get/set the polar angle (vertical) in radians. + * @category Properties + */ + get polarAngle() { + return this._spherical.phi; + } + set polarAngle(polarAngle) { + if (this._spherical.phi === polarAngle && + this._sphericalEnd.phi === polarAngle) + return; + this._spherical.phi = polarAngle; + this._sphericalEnd.phi = polarAngle; + this._needsUpdate = true; + } + /** + * Whether camera position should be enclosed in the boundary or not. + * @category Properties + */ + get boundaryEnclosesCamera() { + return this._boundaryEnclosesCamera; + } + set boundaryEnclosesCamera(boundaryEnclosesCamera) { + this._boundaryEnclosesCamera = boundaryEnclosesCamera; + this._needsUpdate = true; + } + /** + * Adds the specified event listener. + * Applicable event types (which is `K`) are: + * | Event name | Timing | + * | ------------------- | ------ | + * | `'controlstart'` | When the user starts to control the camera via mouse / touches. ¹ | + * | `'control'` | When the user controls the camera (dragging). | + * | `'controlend'` | When the user ends to control the camera. ¹ | + * | `'transitionstart'` | When any kind of transition starts, either user control or using a method with `enableTransition = true` | + * | `'update'` | When the camera position is updated. | + * | `'wake'` | When the camera starts moving. | + * | `'rest'` | When the camera movement is below `.restThreshold` ². | + * | `'sleep'` | When the camera end moving. | + * + * 1. `mouseButtons.wheel` (Mouse wheel control) does not emit `'controlstart'` and `'controlend'`. `mouseButtons.wheel` uses scroll-event internally, and scroll-event happens intermittently. That means "start" and "end" cannot be detected. + * 2. Due to damping, `sleep` will usually fire a few seconds after the camera _appears_ to have stopped moving. If you want to do something (e.g. enable UI, perform another transition) at the point when the camera has stopped, you probably want the `rest` event. This can be fine tuned using the `.restThreshold` parameter. See the [Rest and Sleep Example](https://yomotsu.github.io/camera-controls/examples/rest-and-sleep.html). + * + * e.g. + * ``` + * cameraControl.addEventListener( 'controlstart', myCallbackFunction ); + * ``` + * @param type event name + * @param listener handler function + * @category Methods + */ + addEventListener(type, listener) { + super.addEventListener(type, listener); + } + /** + * Removes the specified event listener + * e.g. + * ``` + * cameraControl.addEventListener( 'controlstart', myCallbackFunction ); + * ``` + * @param type event name + * @param listener handler function + * @category Methods + */ + removeEventListener(type, listener) { + super.removeEventListener(type, listener); + } + /** + * Rotate azimuthal angle(horizontal) and polar angle(vertical). + * Every value is added to the current value. + * @param azimuthAngle Azimuth rotate angle. In radian. + * @param polarAngle Polar rotate angle. In radian. + * @param enableTransition Whether to move smoothly or immediately + * @category Methods + */ + rotate(azimuthAngle, polarAngle, enableTransition = false) { + return this.rotateTo(this._sphericalEnd.theta + azimuthAngle, this._sphericalEnd.phi + polarAngle, enableTransition); + } + /** + * Rotate azimuthal angle(horizontal) to the given angle and keep the same polar angle(vertical) target. + * + * e.g. + * ``` + * cameraControls.rotateAzimuthTo( 30 * THREE.MathUtils.DEG2RAD, true ); + * ``` + * @param azimuthAngle Azimuth rotate angle. In radian. + * @param enableTransition Whether to move smoothly or immediately + * @category Methods + */ + rotateAzimuthTo(azimuthAngle, enableTransition = false) { + return this.rotateTo(azimuthAngle, this._sphericalEnd.phi, enableTransition); + } + /** + * Rotate polar angle(vertical) to the given angle and keep the same azimuthal angle(horizontal) target. + * + * e.g. + * ``` + * cameraControls.rotatePolarTo( 30 * THREE.MathUtils.DEG2RAD, true ); + * ``` + * @param polarAngle Polar rotate angle. In radian. + * @param enableTransition Whether to move smoothly or immediately + * @category Methods + */ + rotatePolarTo(polarAngle, enableTransition = false) { + return this.rotateTo(this._sphericalEnd.theta, polarAngle, enableTransition); + } + /** + * Rotate azimuthal angle(horizontal) and polar angle(vertical) to the given angle. + * Camera view will rotate over the orbit pivot absolutely: + * + * azimuthAngle + * ``` + * 0º + * \ + * 90º -----+----- -90º + * \ + * 180º + * ``` + * | direction | angle | + * | --------- | ---------------------- | + * | front | 0º | + * | left | 90º (`Math.PI / 2`) | + * | right | -90º (`- Math.PI / 2`) | + * | back | 180º (`Math.PI`) | + * + * polarAngle + * ``` + * 180º + * | + * 90º + * | + * 0º + * ``` + * | direction | angle | + * | -------------------- | ---------------------- | + * | top/sky | 180º (`Math.PI`) | + * | horizontal from view | 90º (`Math.PI / 2`) | + * | bottom/floor | 0º | + * + * @param azimuthAngle Azimuth rotate angle to. In radian. + * @param polarAngle Polar rotate angle to. In radian. + * @param enableTransition Whether to move smoothly or immediately + * @category Methods + */ + rotateTo(azimuthAngle, polarAngle, enableTransition = false) { + const theta = THREE.MathUtils.clamp(azimuthAngle, this.minAzimuthAngle, this.maxAzimuthAngle); + const phi = THREE.MathUtils.clamp(polarAngle, this.minPolarAngle, this.maxPolarAngle); + this._sphericalEnd.theta = theta; + this._sphericalEnd.phi = phi; + this._sphericalEnd.makeSafe(); + this._needsUpdate = true; + if (!enableTransition) { + this._spherical.theta = this._sphericalEnd.theta; + this._spherical.phi = this._sphericalEnd.phi; + } + const resolveImmediately = !enableTransition || + approxEquals(this._spherical.theta, this._sphericalEnd.theta, this.restThreshold) && + approxEquals(this._spherical.phi, this._sphericalEnd.phi, this.restThreshold); + return this._createOnRestPromise(resolveImmediately); + } + /** + * Dolly in/out camera position. + * @param distance Distance of dollyIn. Negative number for dollyOut. + * @param enableTransition Whether to move smoothly or immediately. + * @category Methods + */ + dolly(distance, enableTransition = false) { + return this.dollyTo(this._sphericalEnd.radius - distance, enableTransition); + } + /** + * Dolly in/out camera position to given distance. + * @param distance Distance of dolly. + * @param enableTransition Whether to move smoothly or immediately. + * @category Methods + */ + dollyTo(distance, enableTransition = false) { + const lastRadius = this._sphericalEnd.radius; + const newRadius = THREE.MathUtils.clamp(distance, this.minDistance, this.maxDistance); + const hasCollider = this.colliderMeshes.length >= 1; + if (hasCollider) { + const maxDistanceByCollisionTest = this._collisionTest(); + const isCollided = approxEquals(maxDistanceByCollisionTest, this._spherical.radius); + const isDollyIn = lastRadius > newRadius; + if (!isDollyIn && isCollided) + return Promise.resolve(); + this._sphericalEnd.radius = Math.min(newRadius, maxDistanceByCollisionTest); + } + else { + this._sphericalEnd.radius = newRadius; + } + this._needsUpdate = true; + if (!enableTransition) { + this._spherical.radius = this._sphericalEnd.radius; + } + const resolveImmediately = !enableTransition || approxEquals(this._spherical.radius, this._sphericalEnd.radius, this.restThreshold); + return this._createOnRestPromise(resolveImmediately); + } + /** + * Zoom in/out camera. The value is added to camera zoom. + * Limits set with `.minZoom` and `.maxZoom` + * @param zoomStep zoom scale + * @param enableTransition Whether to move smoothly or immediately + * @category Methods + */ + zoom(zoomStep, enableTransition = false) { + return this.zoomTo(this._zoomEnd + zoomStep, enableTransition); + } + /** + * Zoom in/out camera to given scale. The value overwrites camera zoom. + * Limits set with .minZoom and .maxZoom + * @param zoom + * @param enableTransition + * @category Methods + */ + zoomTo(zoom, enableTransition = false) { + this._zoomEnd = THREE.MathUtils.clamp(zoom, this.minZoom, this.maxZoom); + this._needsUpdate = true; + if (!enableTransition) { + this._zoom = this._zoomEnd; + } + const resolveImmediately = !enableTransition || approxEquals(this._zoom, this._zoomEnd, this.restThreshold); + return this._createOnRestPromise(resolveImmediately); + } + /** + * @deprecated `pan()` has been renamed to `truck()` + * @category Methods + */ + pan(x, y, enableTransition = false) { + console.warn('`pan` has been renamed to `truck`'); + return this.truck(x, y, enableTransition); + } + /** + * Truck and pedestal camera using current azimuthal angle + * @param x Horizontal translate amount + * @param y Vertical translate amount + * @param enableTransition Whether to move smoothly or immediately + * @category Methods + */ + truck(x, y, enableTransition = false) { + this._camera.updateMatrix(); + _xColumn.setFromMatrixColumn(this._camera.matrix, 0); + _yColumn.setFromMatrixColumn(this._camera.matrix, 1); + _xColumn.multiplyScalar(x); + _yColumn.multiplyScalar(-y); + const offset = _v3A.copy(_xColumn).add(_yColumn); + const to = _v3B.copy(this._targetEnd).add(offset); + return this.moveTo(to.x, to.y, to.z, enableTransition); + } + /** + * Move forward / backward. + * @param distance Amount to move forward / backward. Negative value to move backward + * @param enableTransition Whether to move smoothly or immediately + * @category Methods + */ + forward(distance, enableTransition = false) { + _v3A.setFromMatrixColumn(this._camera.matrix, 0); + _v3A.crossVectors(this._camera.up, _v3A); + _v3A.multiplyScalar(distance); + const to = _v3B.copy(this._targetEnd).add(_v3A); + return this.moveTo(to.x, to.y, to.z, enableTransition); + } + /** + * Move target position to given point. + * @param x x coord to move center position + * @param y y coord to move center position + * @param z z coord to move center position + * @param enableTransition Whether to move smoothly or immediately + * @category Methods + */ + moveTo(x, y, z, enableTransition = false) { + const offset = _v3A.set(x, y, z).sub(this._targetEnd); + this._encloseToBoundary(this._targetEnd, offset, this.boundaryFriction); + this._needsUpdate = true; + if (!enableTransition) { + this._target.copy(this._targetEnd); + } + const resolveImmediately = !enableTransition || + approxEquals(this._target.x, this._targetEnd.x, this.restThreshold) && + approxEquals(this._target.y, this._targetEnd.y, this.restThreshold) && + approxEquals(this._target.z, this._targetEnd.z, this.restThreshold); + return this._createOnRestPromise(resolveImmediately); + } + /** + * Fit the viewport to the box or the bounding box of the object, using the nearest axis. paddings are in unit. + * set `cover: true` to fill enter screen. + * e.g. + * ``` + * cameraControls.fitToBox( myMesh ); + * ``` + * @param box3OrObject Axis aligned bounding box to fit the view. + * @param enableTransition Whether to move smoothly or immediately. + * @param options | `` { cover: boolean, paddingTop: number, paddingLeft: number, paddingBottom: number, paddingRight: number } + * @returns Transition end promise + * @category Methods + */ + fitToBox(box3OrObject, enableTransition, { cover = false, paddingLeft = 0, paddingRight = 0, paddingBottom = 0, paddingTop = 0 } = {}) { + const promises = []; + const aabb = box3OrObject.isBox3 + ? _box3A.copy(box3OrObject) + : _box3A.setFromObject(box3OrObject); + if (aabb.isEmpty()) { + console.warn('camera-controls: fitTo() cannot be used with an empty box. Aborting'); + Promise.resolve(); + } + // round to closest axis ( forward | backward | right | left | top | bottom ) + const theta = roundToStep(this._sphericalEnd.theta, PI_HALF); + const phi = roundToStep(this._sphericalEnd.phi, PI_HALF); + promises.push(this.rotateTo(theta, phi, enableTransition)); + const normal = _v3A.setFromSpherical(this._sphericalEnd).normalize(); + const rotation = _quaternionA.setFromUnitVectors(normal, _AXIS_Z); + const viewFromPolar = approxEquals(Math.abs(normal.y), 1); + if (viewFromPolar) { + rotation.multiply(_quaternionB.setFromAxisAngle(_AXIS_Y, theta)); + } + rotation.multiply(this._yAxisUpSpaceInverse); + // make oriented bounding box + const bb = _box3B.makeEmpty(); + // left bottom back corner + _v3B.copy(aabb.min).applyQuaternion(rotation); + bb.expandByPoint(_v3B); + // right bottom back corner + _v3B.copy(aabb.min).setX(aabb.max.x).applyQuaternion(rotation); + bb.expandByPoint(_v3B); + // left top back corner + _v3B.copy(aabb.min).setY(aabb.max.y).applyQuaternion(rotation); + bb.expandByPoint(_v3B); + // right top back corner + _v3B.copy(aabb.max).setZ(aabb.min.z).applyQuaternion(rotation); + bb.expandByPoint(_v3B); + // left bottom front corner + _v3B.copy(aabb.min).setZ(aabb.max.z).applyQuaternion(rotation); + bb.expandByPoint(_v3B); + // right bottom front corner + _v3B.copy(aabb.max).setY(aabb.min.y).applyQuaternion(rotation); + bb.expandByPoint(_v3B); + // left top front corner + _v3B.copy(aabb.max).setX(aabb.min.x).applyQuaternion(rotation); + bb.expandByPoint(_v3B); + // right top front corner + _v3B.copy(aabb.max).applyQuaternion(rotation); + bb.expandByPoint(_v3B); + // add padding + bb.min.x -= paddingLeft; + bb.min.y -= paddingBottom; + bb.max.x += paddingRight; + bb.max.y += paddingTop; + rotation.setFromUnitVectors(_AXIS_Z, normal); + if (viewFromPolar) { + rotation.premultiply(_quaternionB.invert()); + } + rotation.premultiply(this._yAxisUpSpace); + const bbSize = bb.getSize(_v3A); + const center = bb.getCenter(_v3B).applyQuaternion(rotation); + if (isPerspectiveCamera(this._camera)) { + const distance = this.getDistanceToFitBox(bbSize.x, bbSize.y, bbSize.z, cover); + promises.push(this.moveTo(center.x, center.y, center.z, enableTransition)); + promises.push(this.dollyTo(distance, enableTransition)); + promises.push(this.setFocalOffset(0, 0, 0, enableTransition)); + } + else if (isOrthographicCamera(this._camera)) { + const camera = this._camera; + const width = camera.right - camera.left; + const height = camera.top - camera.bottom; + const zoom = cover ? Math.max(width / bbSize.x, height / bbSize.y) : Math.min(width / bbSize.x, height / bbSize.y); + promises.push(this.moveTo(center.x, center.y, center.z, enableTransition)); + promises.push(this.zoomTo(zoom, enableTransition)); + promises.push(this.setFocalOffset(0, 0, 0, enableTransition)); + } + return Promise.all(promises); + } + /** + * Fit the viewport to the sphere or the bounding sphere of the object. + * @param sphereOrMesh + * @param enableTransition + * @category Methods + */ + fitToSphere(sphereOrMesh, enableTransition) { + const promises = []; + const isSphere = sphereOrMesh instanceof THREE.Sphere; + const boundingSphere = isSphere ? + _sphere$1.copy(sphereOrMesh) : + createBoundingSphere(sphereOrMesh, _sphere$1); + promises.push(this.moveTo(boundingSphere.center.x, boundingSphere.center.y, boundingSphere.center.z, enableTransition)); + if (isPerspectiveCamera(this._camera)) { + const distanceToFit = this.getDistanceToFitSphere(boundingSphere.radius); + promises.push(this.dollyTo(distanceToFit, enableTransition)); + } + else if (isOrthographicCamera(this._camera)) { + const width = this._camera.right - this._camera.left; + const height = this._camera.top - this._camera.bottom; + const diameter = 2 * boundingSphere.radius; + const zoom = Math.min(width / diameter, height / diameter); + promises.push(this.zoomTo(zoom, enableTransition)); + } + promises.push(this.setFocalOffset(0, 0, 0, enableTransition)); + return Promise.all(promises); + } + /** + * Make an orbit with given points. + * @param positionX + * @param positionY + * @param positionZ + * @param targetX + * @param targetY + * @param targetZ + * @param enableTransition + * @category Methods + */ + setLookAt(positionX, positionY, positionZ, targetX, targetY, targetZ, enableTransition = false) { + const target = _v3B.set(targetX, targetY, targetZ); + const position = _v3A.set(positionX, positionY, positionZ); + this._targetEnd.copy(target); + this._sphericalEnd.setFromVector3(position.sub(target).applyQuaternion(this._yAxisUpSpace)); + this.normalizeRotations(); + this._needsUpdate = true; + if (!enableTransition) { + this._target.copy(this._targetEnd); + this._spherical.copy(this._sphericalEnd); + } + const resolveImmediately = !enableTransition || + approxEquals(this._target.x, this._targetEnd.x, this.restThreshold) && + approxEquals(this._target.y, this._targetEnd.y, this.restThreshold) && + approxEquals(this._target.z, this._targetEnd.z, this.restThreshold) && + approxEquals(this._spherical.theta, this._sphericalEnd.theta, this.restThreshold) && + approxEquals(this._spherical.phi, this._sphericalEnd.phi, this.restThreshold) && + approxEquals(this._spherical.radius, this._sphericalEnd.radius, this.restThreshold); + return this._createOnRestPromise(resolveImmediately); + } + /** + * Similar to setLookAt, but it interpolates between two states. + * @param positionAX + * @param positionAY + * @param positionAZ + * @param targetAX + * @param targetAY + * @param targetAZ + * @param positionBX + * @param positionBY + * @param positionBZ + * @param targetBX + * @param targetBY + * @param targetBZ + * @param t + * @param enableTransition + * @category Methods + */ + lerpLookAt(positionAX, positionAY, positionAZ, targetAX, targetAY, targetAZ, positionBX, positionBY, positionBZ, targetBX, targetBY, targetBZ, t, enableTransition = false) { + const targetA = _v3A.set(targetAX, targetAY, targetAZ); + const positionA = _v3B.set(positionAX, positionAY, positionAZ); + _sphericalA.setFromVector3(positionA.sub(targetA).applyQuaternion(this._yAxisUpSpace)); + const targetB = _v3C.set(targetBX, targetBY, targetBZ); + const positionB = _v3B.set(positionBX, positionBY, positionBZ); + _sphericalB.setFromVector3(positionB.sub(targetB).applyQuaternion(this._yAxisUpSpace)); + this._targetEnd.copy(targetA.lerp(targetB, t)); // tricky + const deltaTheta = _sphericalB.theta - _sphericalA.theta; + const deltaPhi = _sphericalB.phi - _sphericalA.phi; + const deltaRadius = _sphericalB.radius - _sphericalA.radius; + this._sphericalEnd.set(_sphericalA.radius + deltaRadius * t, _sphericalA.phi + deltaPhi * t, _sphericalA.theta + deltaTheta * t); + this.normalizeRotations(); + this._needsUpdate = true; + if (!enableTransition) { + this._target.copy(this._targetEnd); + this._spherical.copy(this._sphericalEnd); + } + const resolveImmediately = !enableTransition || + approxEquals(this._target.x, this._targetEnd.x, this.restThreshold) && + approxEquals(this._target.y, this._targetEnd.y, this.restThreshold) && + approxEquals(this._target.z, this._targetEnd.z, this.restThreshold) && + approxEquals(this._spherical.theta, this._sphericalEnd.theta, this.restThreshold) && + approxEquals(this._spherical.phi, this._sphericalEnd.phi, this.restThreshold) && + approxEquals(this._spherical.radius, this._sphericalEnd.radius, this.restThreshold); + return this._createOnRestPromise(resolveImmediately); + } + /** + * setLookAt without target, keep gazing at the current target + * @param positionX + * @param positionY + * @param positionZ + * @param enableTransition + * @category Methods + */ + setPosition(positionX, positionY, positionZ, enableTransition = false) { + return this.setLookAt(positionX, positionY, positionZ, this._targetEnd.x, this._targetEnd.y, this._targetEnd.z, enableTransition); + } + /** + * setLookAt without position, Stay still at the position. + * @param targetX + * @param targetY + * @param targetZ + * @param enableTransition + * @category Methods + */ + setTarget(targetX, targetY, targetZ, enableTransition = false) { + const pos = this.getPosition(_v3A); + const promise = this.setLookAt(pos.x, pos.y, pos.z, targetX, targetY, targetZ, enableTransition); + // see https://github.com/yomotsu/camera-controls/issues/335 + this._sphericalEnd.phi = THREE.MathUtils.clamp(this.polarAngle, this.minPolarAngle, this.maxPolarAngle); + return promise; + } + /** + * Set focal offset using the screen parallel coordinates. z doesn't affect in Orthographic as with Dolly. + * @param x + * @param y + * @param z + * @param enableTransition + * @category Methods + */ + setFocalOffset(x, y, z, enableTransition = false) { + this._focalOffsetEnd.set(x, y, z); + this._needsUpdate = true; + if (!enableTransition) { + this._focalOffset.copy(this._focalOffsetEnd); + } + this._affectOffset = + !approxZero(x) || + !approxZero(y) || + !approxZero(z); + const resolveImmediately = !enableTransition || + approxEquals(this._focalOffset.x, this._focalOffsetEnd.x, this.restThreshold) && + approxEquals(this._focalOffset.y, this._focalOffsetEnd.y, this.restThreshold) && + approxEquals(this._focalOffset.z, this._focalOffsetEnd.z, this.restThreshold); + return this._createOnRestPromise(resolveImmediately); + } + /** + * Set orbit point without moving the camera. + * SHOULD NOT RUN DURING ANIMATIONS. `setOrbitPoint()` will immediately fix the positions. + * @param targetX + * @param targetY + * @param targetZ + * @category Methods + */ + setOrbitPoint(targetX, targetY, targetZ) { + this._camera.updateMatrixWorld(); + _xColumn.setFromMatrixColumn(this._camera.matrixWorldInverse, 0); + _yColumn.setFromMatrixColumn(this._camera.matrixWorldInverse, 1); + _zColumn.setFromMatrixColumn(this._camera.matrixWorldInverse, 2); + const position = _v3A.set(targetX, targetY, targetZ); + const distance = position.distanceTo(this._camera.position); + const cameraToPoint = position.sub(this._camera.position); + _xColumn.multiplyScalar(cameraToPoint.x); + _yColumn.multiplyScalar(cameraToPoint.y); + _zColumn.multiplyScalar(cameraToPoint.z); + _v3A.copy(_xColumn).add(_yColumn).add(_zColumn); + _v3A.z = _v3A.z + distance; + this.dollyTo(distance, false); + this.setFocalOffset(-_v3A.x, _v3A.y, -_v3A.z, false); + this.moveTo(targetX, targetY, targetZ, false); + } + /** + * Set the boundary box that encloses the target of the camera. box3 is in THREE.Box3 + * @param box3 + * @category Methods + */ + setBoundary(box3) { + if (!box3) { + this._boundary.min.set(-Infinity, -Infinity, -Infinity); + this._boundary.max.set(Infinity, Infinity, Infinity); + this._needsUpdate = true; + return; + } + this._boundary.copy(box3); + this._boundary.clampPoint(this._targetEnd, this._targetEnd); + this._needsUpdate = true; + } + /** + * Set (or unset) the current viewport. + * Set this when you want to use renderer viewport and .dollyToCursor feature at the same time. + * @param viewportOrX + * @param y + * @param width + * @param height + * @category Methods + */ + setViewport(viewportOrX, y, width, height) { + if (viewportOrX === null) { // null + this._viewport = null; + return; + } + this._viewport = this._viewport || new THREE.Vector4(); + if (typeof viewportOrX === 'number') { // number + this._viewport.set(viewportOrX, y, width, height); + } + else { // Vector4 + this._viewport.copy(viewportOrX); + } + } + /** + * Calculate the distance to fit the box. + * @param width box width + * @param height box height + * @param depth box depth + * @returns distance + * @category Methods + */ + getDistanceToFitBox(width, height, depth, cover = false) { + if (notSupportedInOrthographicCamera(this._camera, 'getDistanceToFitBox')) + return this._spherical.radius; + const boundingRectAspect = width / height; + const fov = this._camera.getEffectiveFOV() * THREE.MathUtils.DEG2RAD; + const aspect = this._camera.aspect; + const heightToFit = (cover ? boundingRectAspect > aspect : boundingRectAspect < aspect) ? height : width / aspect; + return heightToFit * 0.5 / Math.tan(fov * 0.5) + depth * 0.5; + } + /** + * Calculate the distance to fit the sphere. + * @param radius sphere radius + * @returns distance + * @category Methods + */ + getDistanceToFitSphere(radius) { + if (notSupportedInOrthographicCamera(this._camera, 'getDistanceToFitSphere')) + return this._spherical.radius; + // https://stackoverflow.com/a/44849975 + const vFOV = this._camera.getEffectiveFOV() * THREE.MathUtils.DEG2RAD; + const hFOV = Math.atan(Math.tan(vFOV * 0.5) * this._camera.aspect) * 2; + const fov = 1 < this._camera.aspect ? vFOV : hFOV; + return radius / (Math.sin(fov * 0.5)); + } + /** + * Returns its current gazing target, which is the center position of the orbit. + * @param out current gazing target + * @category Methods + */ + getTarget(out) { + const _out = !!out && out.isVector3 ? out : new THREE.Vector3(); + return _out.copy(this._targetEnd); + } + /** + * Returns its current position. + * @param out current position + * @category Methods + */ + getPosition(out) { + const _out = !!out && out.isVector3 ? out : new THREE.Vector3(); + return _out.setFromSpherical(this._sphericalEnd).applyQuaternion(this._yAxisUpSpaceInverse).add(this._targetEnd); + } + /** + * Returns its current focal offset, which is how much the camera appears to be translated in screen parallel coordinates. + * @param out current focal offset + * @category Methods + */ + getFocalOffset(out) { + const _out = !!out && out.isVector3 ? out : new THREE.Vector3(); + return _out.copy(this._focalOffsetEnd); + } + /** + * Normalize camera azimuth angle rotation between 0 and 360 degrees. + * @category Methods + */ + normalizeRotations() { + this._sphericalEnd.theta = this._sphericalEnd.theta % PI_2; + if (this._sphericalEnd.theta < 0) + this._sphericalEnd.theta += PI_2; + this._spherical.theta += PI_2 * Math.round((this._sphericalEnd.theta - this._spherical.theta) / PI_2); + } + /** + * Reset all rotation and position to defaults. + * @param enableTransition + * @category Methods + */ + reset(enableTransition = false) { + const promises = [ + this.setLookAt(this._position0.x, this._position0.y, this._position0.z, this._target0.x, this._target0.y, this._target0.z, enableTransition), + this.setFocalOffset(this._focalOffset0.x, this._focalOffset0.y, this._focalOffset0.z, enableTransition), + this.zoomTo(this._zoom0, enableTransition), + ]; + return Promise.all(promises); + } + /** + * Set current camera position as the default position. + * @category Methods + */ + saveState() { + this.getTarget(this._target0); + this.getPosition(this._position0); + this._zoom0 = this._zoom; + this._focalOffset0.copy(this._focalOffset); + } + /** + * Sync camera-up direction. + * When camera-up vector is changed, `.updateCameraUp()` must be called. + * @category Methods + */ + updateCameraUp() { + this._yAxisUpSpace.setFromUnitVectors(this._camera.up, _AXIS_Y); + quatInvertCompat(this._yAxisUpSpaceInverse.copy(this._yAxisUpSpace)); + } + /** + * Update camera position and directions. + * This should be called in your tick loop every time, and returns true if re-rendering is needed. + * @param delta + * @returns updated + * @category Methods + */ + update(delta) { + const dampingFactor = this._state === ACTION.NONE ? this.dampingFactor : this.draggingDampingFactor; + // The original THREE.OrbitControls assume 60 FPS fixed and does NOT rely on delta time. + // (that must be a problem of the original one though) + // To to emulate the speed of the original one under 60 FPS, multiply `60` to delta, + // but ours are more flexible to any FPS unlike the original. + const lerpRatio = Math.min(dampingFactor * delta * 60, 1); + const deltaTheta = this._sphericalEnd.theta - this._spherical.theta; + const deltaPhi = this._sphericalEnd.phi - this._spherical.phi; + const deltaRadius = this._sphericalEnd.radius - this._spherical.radius; + const deltaTarget = _deltaTarget.subVectors(this._targetEnd, this._target); + const deltaOffset = _deltaOffset.subVectors(this._focalOffsetEnd, this._focalOffset); + if (!approxZero(deltaTheta) || + !approxZero(deltaPhi) || + !approxZero(deltaRadius) || + !approxZero(deltaTarget.x) || + !approxZero(deltaTarget.y) || + !approxZero(deltaTarget.z) || + !approxZero(deltaOffset.x) || + !approxZero(deltaOffset.y) || + !approxZero(deltaOffset.z)) { + this._spherical.set(this._spherical.radius + deltaRadius * lerpRatio, this._spherical.phi + deltaPhi * lerpRatio, this._spherical.theta + deltaTheta * lerpRatio); + this._target.add(deltaTarget.multiplyScalar(lerpRatio)); + this._focalOffset.add(deltaOffset.multiplyScalar(lerpRatio)); + this._needsUpdate = true; + } + else { + this._spherical.copy(this._sphericalEnd); + this._target.copy(this._targetEnd); + this._focalOffset.copy(this._focalOffsetEnd); + } + if (this._dollyControlAmount !== 0) { + if (isPerspectiveCamera(this._camera)) { + const camera = this._camera; + const cameraDirection = _v3A.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse).normalize().negate(); + const planeX = _v3B.copy(cameraDirection).cross(camera.up).normalize(); + if (planeX.lengthSq() === 0) + planeX.x = 1.0; + const planeY = _v3C.crossVectors(planeX, cameraDirection); + const worldToScreen = this._sphericalEnd.radius * Math.tan(camera.getEffectiveFOV() * THREE.MathUtils.DEG2RAD * 0.5); + const prevRadius = this._sphericalEnd.radius - this._dollyControlAmount; + const lerpRatio = (prevRadius - this._sphericalEnd.radius) / this._sphericalEnd.radius; + const cursor = _v3A.copy(this._targetEnd) + .add(planeX.multiplyScalar(this._dollyControlCoord.x * worldToScreen * camera.aspect)) + .add(planeY.multiplyScalar(this._dollyControlCoord.y * worldToScreen)); + this._targetEnd.lerp(cursor, lerpRatio); + } + else if (isOrthographicCamera(this._camera)) { + const camera = this._camera; + const worldCursorPosition = _v3A.set(this._dollyControlCoord.x, this._dollyControlCoord.y, (camera.near + camera.far) / (camera.near - camera.far)).unproject(camera); //.sub( _v3B.set( this._focalOffset.x, this._focalOffset.y, 0 ) ); + const quaternion = _v3B.set(0, 0, -1).applyQuaternion(camera.quaternion); + const cursor = _v3C.copy(worldCursorPosition).add(quaternion.multiplyScalar(-worldCursorPosition.dot(camera.up))); + const prevZoom = this._zoom - this._dollyControlAmount; + const lerpRatio = -(prevZoom - this._zoomEnd) / this._zoom; + // find the "distance" (aka plane constant in three.js) of Plane + // from a given position (this._targetEnd) and normal vector (cameraDirection) + // https://www.maplesoft.com/support/help/maple/view.aspx?path=MathApps%2FEquationOfAPlaneNormal#bkmrk0 + const cameraDirection = _v3A.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse).normalize().negate(); + const prevPlaneConstant = this._targetEnd.dot(cameraDirection); + this._targetEnd.lerp(cursor, lerpRatio); + const newPlaneConstant = this._targetEnd.dot(cameraDirection); + // Pull back the camera depth that has moved, to be the camera stationary as zoom + const pullBack = cameraDirection.multiplyScalar(newPlaneConstant - prevPlaneConstant); + this._targetEnd.sub(pullBack); + } + this._target.copy(this._targetEnd); + // target position may be moved beyond boundary. + this._boundary.clampPoint(this._targetEnd, this._targetEnd); + this._dollyControlAmount = 0; + } + // zoom + const deltaZoom = this._zoomEnd - this._zoom; + this._zoom += deltaZoom * lerpRatio; + if (this._camera.zoom !== this._zoom) { + if (approxZero(deltaZoom)) + this._zoom = this._zoomEnd; + this._camera.zoom = this._zoom; + this._camera.updateProjectionMatrix(); + this._updateNearPlaneCorners(); + this._needsUpdate = true; + } + // collision detection + const maxDistance = this._collisionTest(); + this._spherical.radius = Math.min(this._spherical.radius, maxDistance); + // decompose spherical to the camera position + this._spherical.makeSafe(); + this._camera.position.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse).add(this._target); + this._camera.lookAt(this._target); + // set offset after the orbit movement + if (this._affectOffset) { + this._camera.updateMatrixWorld(); + _xColumn.setFromMatrixColumn(this._camera.matrix, 0); + _yColumn.setFromMatrixColumn(this._camera.matrix, 1); + _zColumn.setFromMatrixColumn(this._camera.matrix, 2); + _xColumn.multiplyScalar(this._focalOffset.x); + _yColumn.multiplyScalar(-this._focalOffset.y); + _zColumn.multiplyScalar(this._focalOffset.z); // notice: z-offset will not affect in Orthographic. + _v3A.copy(_xColumn).add(_yColumn).add(_zColumn); + this._camera.position.add(_v3A); + } + if (this._boundaryEnclosesCamera) { + this._encloseToBoundary(this._camera.position.copy(this._target), _v3A.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse), 1.0); + } + const updated = this._needsUpdate; + if (updated && !this._updatedLastTime) { + this._hasRested = false; + this.dispatchEvent({ type: 'wake' }); + this.dispatchEvent({ type: 'update' }); + } + else if (updated) { + this.dispatchEvent({ type: 'update' }); + if (approxZero(deltaTheta, this.restThreshold) && + approxZero(deltaPhi, this.restThreshold) && + approxZero(deltaRadius, this.restThreshold) && + approxZero(deltaTarget.x, this.restThreshold) && + approxZero(deltaTarget.y, this.restThreshold) && + approxZero(deltaTarget.z, this.restThreshold) && + approxZero(deltaOffset.x, this.restThreshold) && + approxZero(deltaOffset.y, this.restThreshold) && + approxZero(deltaOffset.z, this.restThreshold) && + approxZero(deltaZoom, this.restThreshold) && + !this._hasRested) { + this._hasRested = true; + this.dispatchEvent({ type: 'rest' }); + } + } + else if (!updated && this._updatedLastTime) { + this.dispatchEvent({ type: 'sleep' }); + } + this._updatedLastTime = updated; + this._needsUpdate = false; + return updated; + } + /** + * Get all state in JSON string + * @category Methods + */ + toJSON() { + return JSON.stringify({ + enabled: this._enabled, + minDistance: this.minDistance, + maxDistance: infinityToMaxNumber(this.maxDistance), + minZoom: this.minZoom, + maxZoom: infinityToMaxNumber(this.maxZoom), + minPolarAngle: this.minPolarAngle, + maxPolarAngle: infinityToMaxNumber(this.maxPolarAngle), + minAzimuthAngle: infinityToMaxNumber(this.minAzimuthAngle), + maxAzimuthAngle: infinityToMaxNumber(this.maxAzimuthAngle), + dampingFactor: this.dampingFactor, + draggingDampingFactor: this.draggingDampingFactor, + dollySpeed: this.dollySpeed, + truckSpeed: this.truckSpeed, + dollyToCursor: this.dollyToCursor, + verticalDragToForward: this.verticalDragToForward, + target: this._targetEnd.toArray(), + position: _v3A.setFromSpherical(this._sphericalEnd).add(this._targetEnd).toArray(), + zoom: this._zoomEnd, + focalOffset: this._focalOffsetEnd.toArray(), + target0: this._target0.toArray(), + position0: this._position0.toArray(), + zoom0: this._zoom0, + focalOffset0: this._focalOffset0.toArray(), + }); + } + /** + * Reproduce the control state with JSON. enableTransition is where anim or not in a boolean. + * @param json + * @param enableTransition + * @category Methods + */ + fromJSON(json, enableTransition = false) { + const obj = JSON.parse(json); + const position = _v3A.fromArray(obj.position); + this.enabled = obj.enabled; + this.minDistance = obj.minDistance; + this.maxDistance = maxNumberToInfinity(obj.maxDistance); + this.minZoom = obj.minZoom; + this.maxZoom = maxNumberToInfinity(obj.maxZoom); + this.minPolarAngle = obj.minPolarAngle; + this.maxPolarAngle = maxNumberToInfinity(obj.maxPolarAngle); + this.minAzimuthAngle = maxNumberToInfinity(obj.minAzimuthAngle); + this.maxAzimuthAngle = maxNumberToInfinity(obj.maxAzimuthAngle); + this.dampingFactor = obj.dampingFactor; + this.draggingDampingFactor = obj.draggingDampingFactor; + this.dollySpeed = obj.dollySpeed; + this.truckSpeed = obj.truckSpeed; + this.dollyToCursor = obj.dollyToCursor; + this.verticalDragToForward = obj.verticalDragToForward; + this._target0.fromArray(obj.target0); + this._position0.fromArray(obj.position0); + this._zoom0 = obj.zoom0; + this._focalOffset0.fromArray(obj.focalOffset0); + this.moveTo(obj.target[0], obj.target[1], obj.target[2], enableTransition); + _sphericalA.setFromVector3(position.sub(this._targetEnd).applyQuaternion(this._yAxisUpSpace)); + this.rotateTo(_sphericalA.theta, _sphericalA.phi, enableTransition); + this.zoomTo(obj.zoom, enableTransition); + this.setFocalOffset(obj.focalOffset[0], obj.focalOffset[1], obj.focalOffset[2], enableTransition); + this._needsUpdate = true; + } + /** + * Attach all internal event handlers to enable drag control. + * @category Methods + */ + connect(domElement) { + if (this._domElement) { + console.warn('camera-controls is already connected.'); + return; + } + domElement.setAttribute('data-camera-controls-version', VERSION); + this._addAllEventListeners(domElement); + } + /** + * Detach all internal event handlers to disable drag control. + */ + disconnect() { + this._removeAllEventListeners(); + this._domElement = undefined; + } + /** + * Dispose the cameraControls instance itself, remove all eventListeners. + * @category Methods + */ + dispose() { + this.disconnect(); + if (this._domElement && 'setAttribute' in this._domElement) + this._domElement.removeAttribute('data-camera-controls-version'); + } + _findPointerById(pointerId) { + // to support IE11 use some instead of Array#find (will be removed when IE11 is deprecated) + let pointer = null; + this._activePointers.some((activePointer) => { + if (activePointer.pointerId === pointerId) { + pointer = activePointer; + return true; + } + return false; + }); + return pointer; + } + _encloseToBoundary(position, offset, friction) { + const offsetLength2 = offset.lengthSq(); + if (offsetLength2 === 0.0) { // sanity check + return position; + } + // See: https://twitter.com/FMS_Cat/status/1106508958640988161 + const newTarget = _v3B.copy(offset).add(position); // target + const clampedTarget = this._boundary.clampPoint(newTarget, _v3C); // clamped target + const deltaClampedTarget = clampedTarget.sub(newTarget); // newTarget -> clampedTarget + const deltaClampedTargetLength2 = deltaClampedTarget.lengthSq(); // squared length of deltaClampedTarget + if (deltaClampedTargetLength2 === 0.0) { // when the position doesn't have to be clamped + return position.add(offset); + } + else if (deltaClampedTargetLength2 === offsetLength2) { // when the position is completely stuck + return position; + } + else if (friction === 0.0) { + return position.add(offset).add(deltaClampedTarget); + } + else { + const offsetFactor = 1.0 + friction * deltaClampedTargetLength2 / offset.dot(deltaClampedTarget); + return position + .add(_v3B.copy(offset).multiplyScalar(offsetFactor)) + .add(deltaClampedTarget.multiplyScalar(1.0 - friction)); + } + } + _updateNearPlaneCorners() { + if (isPerspectiveCamera(this._camera)) { + const camera = this._camera; + const near = camera.near; + const fov = camera.getEffectiveFOV() * THREE.MathUtils.DEG2RAD; + const heightHalf = Math.tan(fov * 0.5) * near; // near plain half height + const widthHalf = heightHalf * camera.aspect; // near plain half width + this._nearPlaneCorners[0].set(-widthHalf, -heightHalf, 0); + this._nearPlaneCorners[1].set(widthHalf, -heightHalf, 0); + this._nearPlaneCorners[2].set(widthHalf, heightHalf, 0); + this._nearPlaneCorners[3].set(-widthHalf, heightHalf, 0); + } + else if (isOrthographicCamera(this._camera)) { + const camera = this._camera; + const zoomInv = 1 / camera.zoom; + const left = camera.left * zoomInv; + const right = camera.right * zoomInv; + const top = camera.top * zoomInv; + const bottom = camera.bottom * zoomInv; + this._nearPlaneCorners[0].set(left, top, 0); + this._nearPlaneCorners[1].set(right, top, 0); + this._nearPlaneCorners[2].set(right, bottom, 0); + this._nearPlaneCorners[3].set(left, bottom, 0); + } + } + // lateUpdate + _collisionTest() { + let distance = Infinity; + const hasCollider = this.colliderMeshes.length >= 1; + if (!hasCollider) + return distance; + if (notSupportedInOrthographicCamera(this._camera, '_collisionTest')) + return distance; + // divide by distance to normalize, lighter than `Vector3.prototype.normalize()` + const direction = _v3A.setFromSpherical(this._spherical).divideScalar(this._spherical.radius); + _rotationMatrix.lookAt(_ORIGIN, direction, this._camera.up); + for (let i = 0; i < 4; i++) { + const nearPlaneCorner = _v3B.copy(this._nearPlaneCorners[i]); + nearPlaneCorner.applyMatrix4(_rotationMatrix); + const origin = _v3C.addVectors(this._target, nearPlaneCorner); + _raycaster$1.set(origin, direction); + _raycaster$1.far = this._spherical.radius + 1; + const intersects = _raycaster$1.intersectObjects(this.colliderMeshes); + if (intersects.length !== 0 && intersects[0].distance < distance) { + distance = intersects[0].distance; + } + } + return distance; + } + /** + * Get its client rect and package into given `DOMRect` . + */ + _getClientRect(target) { + if (!this._domElement) + return; + const rect = this._domElement.getBoundingClientRect(); + target.x = rect.left; + target.y = rect.top; + if (this._viewport) { + target.x += this._viewport.x; + target.y += rect.height - this._viewport.w - this._viewport.y; + target.width = this._viewport.z; + target.height = this._viewport.w; + } + else { + target.width = rect.width; + target.height = rect.height; + } + return target; + } + _createOnRestPromise(resolveImmediately) { + if (resolveImmediately) + return Promise.resolve(); + this._hasRested = false; + this.dispatchEvent({ type: 'transitionstart' }); + return new Promise((resolve) => { + const onResolve = () => { + this.removeEventListener('rest', onResolve); + resolve(); + }; + this.addEventListener('rest', onResolve); + }); + } + // eslint-disable-next-line @typescript-eslint/no-unused-vars + _addAllEventListeners(_domElement) { } + _removeAllEventListeners() { } +} +function createBoundingSphere(object3d, out) { + const boundingSphere = out; + const center = boundingSphere.center; + _box3A.makeEmpty(); + // find the center + object3d.traverseVisible((object) => { + if (!object.isMesh) + return; + _box3A.expandByObject(object); + }); + _box3A.getCenter(center); + // find the radius + let maxRadiusSq = 0; + object3d.traverseVisible((object) => { + if (!object.isMesh) + return; + const mesh = object; + const geometry = mesh.geometry.clone(); + geometry.applyMatrix4(mesh.matrixWorld); + if (geometry.isBufferGeometry) { + const bufferGeometry = geometry; + const position = bufferGeometry.attributes.position; + for (let i = 0, l = position.count; i < l; i++) { + _v3A.fromBufferAttribute(position, i); + maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(_v3A)); + } + } + else { + // for old three.js, which supports both BufferGeometry and Geometry + // this condition block will be removed in the near future. + const position = geometry.attributes.position; + const vector = new THREE.Vector3(); + for (let i = 0, l = position.count; i < l; i++) { + vector.fromBufferAttribute(position, i); + maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(vector)); + } + } + }); + boundingSphere.radius = Math.sqrt(maxRadiusSq); + return boundingSphere; +} + +/** + * A basic camera that uses + * [yomotsu's cameracontrols](https://github.com/yomotsu/camera-controls) to + * easily control the camera in 2D and 3D. Check out it's API to find out + * what features it offers. + */ +class SimpleCamera extends Component { + /** {@link Component.enabled} */ + get enabled() { + return this.controls.enabled; + } + /** {@link Component.enabled} */ + set enabled(enabled) { + this.controls.enabled = enabled; + } + constructor(components) { + super(components); + /** {@link Updateable.onBeforeUpdate} */ + this.onBeforeUpdate = new Event(); + /** {@link Updateable.onAfterUpdate} */ + this.onAfterUpdate = new Event(); + this.onAspectUpdated = new Event(); + /** + * Updates the aspect of the camera to match the size of the + * {@link Components.renderer}. + */ + this.updateAspect = () => { + if (this.components.renderer.isResizeable()) { + const size = this.components.renderer.getSize(); + this._perspectiveCamera.aspect = size.width / size.height; + this._perspectiveCamera.updateProjectionMatrix(); + this.onAspectUpdated.trigger(); + } + }; + this._perspectiveCamera = this.setupCamera(); + this.activeCamera = this._perspectiveCamera; + this.controls = this.setupCameraControls(); + const scene = components.scene.get(); + scene.add(this._perspectiveCamera); + this.setupEvents(true); + } + /** {@link Component.get} */ + get() { + return this.activeCamera; + } + /** {@link Disposable.dispose} */ + async dispose() { + this.setupEvents(false); + this.enabled = false; + this.onAspectUpdated.reset(); + this.onBeforeUpdate.reset(); + this.onAfterUpdate.reset(); + this._perspectiveCamera.removeFromParent(); + this.controls.dispose(); + } + /** {@link Updateable.update} */ + update(_delta) { + if (this.enabled) { + this.onBeforeUpdate.trigger(this); + this.controls.update(_delta); + this.onAfterUpdate.trigger(this); + } + } + setupCamera() { + const aspect = window.innerWidth / window.innerHeight; + const camera = new THREE$1.PerspectiveCamera(60, aspect, 1, 1000); + camera.position.set(50, 50, 50); + camera.lookAt(new THREE$1.Vector3(0, 0, 0)); + return camera; + } + setupCameraControls() { + CameraControls.install({ THREE: SimpleCamera.getSubsetOfThree() }); + const dom = this.components.renderer.get().domElement; + const controls = new CameraControls(this._perspectiveCamera, dom); + controls.dampingFactor = 0.2; + controls.dollyToCursor = true; + controls.infinityDolly = true; + controls.setTarget(0, 0, 0); + return controls; + } + setupEvents(active) { + if (active) { + window.addEventListener("resize", this.updateAspect); + } + else { + window.removeEventListener("resize", this.updateAspect); + } + } + static getSubsetOfThree() { + return { + MOUSE: THREE$1.MOUSE, + Vector2: THREE$1.Vector2, + Vector3: THREE$1.Vector3, + Vector4: THREE$1.Vector4, + Quaternion: THREE$1.Quaternion, + Matrix4: THREE$1.Matrix4, + Spherical: THREE$1.Spherical, + Box3: THREE$1.Box3, + Sphere: THREE$1.Sphere, + Raycaster: THREE$1.Raycaster, + MathUtils: THREE$1.MathUtils, + }; + } +} + +/** + * A base component for other components whose main mission is to cast rays, + * generally to pick objects with the mouse. + */ +class BaseRaycaster extends Component { +} + +/** + * A simple [raycaster](https://threejs.org/docs/#api/en/core/Raycaster) + * that allows to easily get items from the scene using the mouse and touch + * events. + */ +class SimpleRaycaster extends BaseRaycaster { + constructor(components) { + super(components); + /** {@link Component.enabled} */ + this.enabled = true; + this._raycaster = new THREE$1.Raycaster(); + const scene = components.renderer.get(); + const dom = scene.domElement; + this.mouse = new Mouse(dom); + } + /** {@link Component.get} */ + get() { + return this._raycaster; + } + /** {@link Disposable.dispose} */ + async dispose() { + this.mouse.dispose(); + } + /** + * Throws a ray from the camera to the mouse or touch event point and returns + * the first item found. This also takes into account the clipping planes + * used by the renderer. + * + * @param items - the [meshes](https://threejs.org/docs/#api/en/objects/Mesh) + * to query. If not provided, it will query all the meshes stored in + * {@link Components.meshes}. + */ + castRay(items = this.components.meshes) { + const camera = this.components.camera.get(); + this._raycaster.setFromCamera(this.mouse.position, camera); + const result = this._raycaster.intersectObjects(items); + const filtered = this.filterClippingPlanes(result); + return filtered.length > 0 ? filtered[0] : null; + } + castRayFromVector(origin, direction, items = this.components.meshes) { + this._raycaster.set(origin, direction); + const result = this._raycaster.intersectObjects(items); + const filtered = this.filterClippingPlanes(result); + return filtered.length > 0 ? filtered[0] : null; + } + filterClippingPlanes(objs) { + const renderer = this.components.renderer; + if (!renderer.clippingPlanes) { + return objs; + } + const planes = renderer.clippingPlanes; + if (objs.length <= 0 || !planes || (planes === null || planes === void 0 ? void 0 : planes.length) <= 0) + return objs; + return objs.filter((elem) => planes.every((elem2) => elem2.distanceToPoint(elem.point) > 0)); + } +} + +/** + * An infinite grid. Created by + * [fyrestar](https://github.com/Fyrestar/THREE.InfiniteGridHelper) + * and translated to typescript by + * [dkaraush](https://github.com/dkaraush/THREE.InfiniteGridHelper/blob/master/InfiniteGridHelper.ts). + */ +class SimpleGrid extends Component { + /** {@link Hideable.visible} */ + get visible() { + return this._grid.visible; + } + /** {@link Hideable.visible} */ + set visible(visible) { + if (visible) { + const scene = this.components.scene.get(); + scene.add(this._grid); + } + else { + this._grid.removeFromParent(); + } + } + /** The material of the grid. */ + get material() { + return this._grid.material; + } + /** + * Whether the grid should fade away with distance. Recommended to be true for + * perspective cameras and false for orthographic cameras. + */ + get fade() { + return this._fade === 3; + } + /** + * Whether the grid should fade away with distance. Recommended to be true for + * perspective cameras and false for orthographic cameras. + */ + set fade(active) { + this._fade = active ? 3 : 0; + this.material.uniforms.uFade.value = this._fade; + } + constructor(components, color = new THREE$1.Color(0xbbbbbb), size1 = 1, size2 = 10, distance = 500) { + super(components); + /** {@link Component.enabled} */ + this.enabled = true; + this._fade = 3; + this.updateZoom = () => { + const camera = this.components.camera; + this.material.uniforms.uZoom.value = camera.get().zoom; + }; + this.components.tools.add(SimpleGrid.uuid, this); + // Source: https://github.com/dkaraush/THREE.InfiniteGridHelper/blob/master/InfiniteGridHelper.ts + // Author: Fyrestar https://mevedia.com (https://github.com/Fyrestar/THREE.InfiniteGridHelper) + const geometry = new THREE$1.PlaneGeometry(2, 2, 1, 1); + const material = new THREE$1.ShaderMaterial({ + side: THREE$1.DoubleSide, + uniforms: { + uSize1: { + value: size1, + }, + uSize2: { + value: size2, + }, + uColor: { + value: color, + }, + uDistance: { + value: distance, + }, + uFade: { + value: this._fade, + }, + uZoom: { + value: 1, + }, + }, + transparent: true, + vertexShader: ` + + varying vec3 worldPosition; + + uniform float uDistance; + + void main() { + + vec3 pos = position.xzy * uDistance; + pos.xz += cameraPosition.xz; + + worldPosition = pos; + + gl_Position = projectionMatrix * modelViewMatrix * vec4(pos, 1.0); + + } + `, + fragmentShader: ` + + varying vec3 worldPosition; + + uniform float uZoom; + uniform float uFade; + uniform float uSize1; + uniform float uSize2; + uniform vec3 uColor; + uniform float uDistance; + + + + float getGrid(float size) { + + vec2 r = worldPosition.xz / size; + + + vec2 grid = abs(fract(r - 0.5) - 0.5) / fwidth(r); + float line = min(grid.x, grid.y); + + + return 1.0 - min(line, 1.0); + } + + void main() { + + + float d = 1.0 - min(distance(cameraPosition.xz, worldPosition.xz) / uDistance, 1.0); + + float g1 = getGrid(uSize1); + float g2 = getGrid(uSize2); + + // Ortho camera fades the grid away when zooming out + float minZoom = step(0.2, uZoom); + float zoomFactor = pow(min(uZoom, 1.), 2.) * minZoom; + + gl_FragColor = vec4(uColor.rgb, mix(g2, g1, g1) * pow(d, uFade)); + gl_FragColor.a = mix(0.5 * gl_FragColor.a, gl_FragColor.a, g2) * zoomFactor; + + if ( gl_FragColor.a <= 0.0 ) discard; + + + } + + `, + extensions: { + derivatives: true, + }, + }); + this._grid = new THREE$1.Mesh(geometry, material); + this._grid.frustumCulled = false; + const scene = components.scene.get(); + scene.add(this._grid); + this.setupEvents(true); + } + /** {@link Component.get} */ + get() { + return this._grid; + } + /** {@link Disposable.dispose} */ + async dispose() { + this.setupEvents(false); + const disposer = await this.components.tools.get(Disposer); + disposer.destroy(this._grid); + } + setupEvents(active) { + const camera = this.components.camera; + const controls = camera.controls; + if (active) { + controls.addEventListener("update", this.updateZoom); + } + else { + controls.removeEventListener("update", this.updateZoom); + } + } +} +SimpleGrid.uuid = "d1e814d5-b81c-4452-87a2-f039375e0489"; +ToolComponent.libraryUUIDs.add(SimpleGrid.uuid); + +// Split strategy constants +const CENTER = 0; +const AVERAGE = 1; +const SAH = 2; +const CONTAINED = 2; + +// SAH cost constants +// TODO: hone these costs more. The relative difference between them should be the +// difference in measured time to perform a triangle intersection vs traversing +// bounds. +const TRIANGLE_INTERSECT_COST = 1.25; +const TRAVERSAL_COST = 1; + + +// Build constants +const BYTES_PER_NODE = 6 * 4 + 4 + 4; +const IS_LEAFNODE_FLAG = 0xFFFF; + +// EPSILON for computing floating point error during build +// https://en.wikipedia.org/wiki/Machine_epsilon#Values_for_standard_hardware_floating_point_arithmetics +const FLOAT32_EPSILON = Math.pow( 2, - 24 ); + +class MeshBVHNode { + + constructor() { + + // internal nodes have boundingData, left, right, and splitAxis + // leaf nodes have offset and count (referring to primitives in the mesh geometry) + + } + +} + +function arrayToBox( nodeIndex32, array, target ) { + + target.min.x = array[ nodeIndex32 ]; + target.min.y = array[ nodeIndex32 + 1 ]; + target.min.z = array[ nodeIndex32 + 2 ]; + + target.max.x = array[ nodeIndex32 + 3 ]; + target.max.y = array[ nodeIndex32 + 4 ]; + target.max.z = array[ nodeIndex32 + 5 ]; + + return target; + +} + +function getLongestEdgeIndex( bounds ) { + + let splitDimIdx = - 1; + let splitDist = - Infinity; + + for ( let i = 0; i < 3; i ++ ) { + + const dist = bounds[ i + 3 ] - bounds[ i ]; + if ( dist > splitDist ) { + + splitDist = dist; + splitDimIdx = i; + + } + + } + + return splitDimIdx; + +} + +// copies bounds a into bounds b +function copyBounds( source, target ) { + + target.set( source ); + +} + +// sets bounds target to the union of bounds a and b +function unionBounds( a, b, target ) { + + let aVal, bVal; + for ( let d = 0; d < 3; d ++ ) { + + const d3 = d + 3; + + // set the minimum values + aVal = a[ d ]; + bVal = b[ d ]; + target[ d ] = aVal < bVal ? aVal : bVal; + + // set the max values + aVal = a[ d3 ]; + bVal = b[ d3 ]; + target[ d3 ] = aVal > bVal ? aVal : bVal; + + } + +} + +// expands the given bounds by the provided triangle bounds +function expandByTriangleBounds( startIndex, triangleBounds, bounds ) { + + for ( let d = 0; d < 3; d ++ ) { + + const tCenter = triangleBounds[ startIndex + 2 * d ]; + const tHalf = triangleBounds[ startIndex + 2 * d + 1 ]; + + const tMin = tCenter - tHalf; + const tMax = tCenter + tHalf; + + if ( tMin < bounds[ d ] ) { + + bounds[ d ] = tMin; + + } + + if ( tMax > bounds[ d + 3 ] ) { + + bounds[ d + 3 ] = tMax; + + } + + } + +} + +// compute bounds surface area +function computeSurfaceArea( bounds ) { + + const d0 = bounds[ 3 ] - bounds[ 0 ]; + const d1 = bounds[ 4 ] - bounds[ 1 ]; + const d2 = bounds[ 5 ] - bounds[ 2 ]; + + return 2 * ( d0 * d1 + d1 * d2 + d2 * d0 ); + +} + +function ensureIndex( geo, options ) { + + if ( ! geo.index ) { + + const vertexCount = geo.attributes.position.count; + const BufferConstructor = options.useSharedArrayBuffer ? SharedArrayBuffer : ArrayBuffer; + let index; + if ( vertexCount > 65535 ) { + + index = new Uint32Array( new BufferConstructor( 4 * vertexCount ) ); + + } else { + + index = new Uint16Array( new BufferConstructor( 2 * vertexCount ) ); + + } + + geo.setIndex( new BufferAttribute$1( index, 1 ) ); + + for ( let i = 0; i < vertexCount; i ++ ) { + + index[ i ] = i; + + } + + } + +} + +// Computes the set of { offset, count } ranges which need independent BVH roots. Each +// region in the geometry index that belongs to a different set of material groups requires +// a separate BVH root, so that triangles indices belonging to one group never get swapped +// with triangle indices belongs to another group. For example, if the groups were like this: +// +// [-------------------------------------------------------------] +// |__________________| +// g0 = [0, 20] |______________________||_____________________| +// g1 = [16, 40] g2 = [41, 60] +// +// we would need four BVH roots: [0, 15], [16, 20], [21, 40], [41, 60]. +function getRootIndexRanges( geo ) { + + if ( ! geo.groups || ! geo.groups.length ) { + + return [ { offset: 0, count: geo.index.count / 3 } ]; + + } + + const ranges = []; + const rangeBoundaries = new Set(); + for ( const group of geo.groups ) { + + rangeBoundaries.add( group.start ); + rangeBoundaries.add( group.start + group.count ); + + } + + // note that if you don't pass in a comparator, it sorts them lexicographically as strings :-( + const sortedBoundaries = Array.from( rangeBoundaries.values() ).sort( ( a, b ) => a - b ); + for ( let i = 0; i < sortedBoundaries.length - 1; i ++ ) { + + const start = sortedBoundaries[ i ], end = sortedBoundaries[ i + 1 ]; + ranges.push( { offset: ( start / 3 ), count: ( end - start ) / 3 } ); + + } + + return ranges; + +} + +// computes the union of the bounds of all of the given triangles and puts the resulting box in target. If +// centroidTarget is provided then a bounding box is computed for the centroids of the triangles, as well. +// These are computed together to avoid redundant accesses to bounds array. +function getBounds( triangleBounds, offset, count, target, centroidTarget = null ) { + + let minx = Infinity; + let miny = Infinity; + let minz = Infinity; + let maxx = - Infinity; + let maxy = - Infinity; + let maxz = - Infinity; + + let cminx = Infinity; + let cminy = Infinity; + let cminz = Infinity; + let cmaxx = - Infinity; + let cmaxy = - Infinity; + let cmaxz = - Infinity; + + const includeCentroid = centroidTarget !== null; + for ( let i = offset * 6, end = ( offset + count ) * 6; i < end; i += 6 ) { + + const cx = triangleBounds[ i + 0 ]; + const hx = triangleBounds[ i + 1 ]; + const lx = cx - hx; + const rx = cx + hx; + if ( lx < minx ) minx = lx; + if ( rx > maxx ) maxx = rx; + if ( includeCentroid && cx < cminx ) cminx = cx; + if ( includeCentroid && cx > cmaxx ) cmaxx = cx; + + const cy = triangleBounds[ i + 2 ]; + const hy = triangleBounds[ i + 3 ]; + const ly = cy - hy; + const ry = cy + hy; + if ( ly < miny ) miny = ly; + if ( ry > maxy ) maxy = ry; + if ( includeCentroid && cy < cminy ) cminy = cy; + if ( includeCentroid && cy > cmaxy ) cmaxy = cy; + + const cz = triangleBounds[ i + 4 ]; + const hz = triangleBounds[ i + 5 ]; + const lz = cz - hz; + const rz = cz + hz; + if ( lz < minz ) minz = lz; + if ( rz > maxz ) maxz = rz; + if ( includeCentroid && cz < cminz ) cminz = cz; + if ( includeCentroid && cz > cmaxz ) cmaxz = cz; + + } + + target[ 0 ] = minx; + target[ 1 ] = miny; + target[ 2 ] = minz; + + target[ 3 ] = maxx; + target[ 4 ] = maxy; + target[ 5 ] = maxz; + + if ( includeCentroid ) { + + centroidTarget[ 0 ] = cminx; + centroidTarget[ 1 ] = cminy; + centroidTarget[ 2 ] = cminz; + + centroidTarget[ 3 ] = cmaxx; + centroidTarget[ 4 ] = cmaxy; + centroidTarget[ 5 ] = cmaxz; + + } + +} + +// A stand alone function for retrieving the centroid bounds. +function getCentroidBounds( triangleBounds, offset, count, centroidTarget ) { + + let cminx = Infinity; + let cminy = Infinity; + let cminz = Infinity; + let cmaxx = - Infinity; + let cmaxy = - Infinity; + let cmaxz = - Infinity; + + for ( let i = offset * 6, end = ( offset + count ) * 6; i < end; i += 6 ) { + + const cx = triangleBounds[ i + 0 ]; + if ( cx < cminx ) cminx = cx; + if ( cx > cmaxx ) cmaxx = cx; + + const cy = triangleBounds[ i + 2 ]; + if ( cy < cminy ) cminy = cy; + if ( cy > cmaxy ) cmaxy = cy; + + const cz = triangleBounds[ i + 4 ]; + if ( cz < cminz ) cminz = cz; + if ( cz > cmaxz ) cmaxz = cz; + + } + + centroidTarget[ 0 ] = cminx; + centroidTarget[ 1 ] = cminy; + centroidTarget[ 2 ] = cminz; + + centroidTarget[ 3 ] = cmaxx; + centroidTarget[ 4 ] = cmaxy; + centroidTarget[ 5 ] = cmaxz; + +} + + +// reorders `tris` such that for `count` elements after `offset`, elements on the left side of the split +// will be on the left and elements on the right side of the split will be on the right. returns the index +// of the first element on the right side, or offset + count if there are no elements on the right side. +function partition( index, triangleBounds, offset, count, split ) { + + let left = offset; + let right = offset + count - 1; + const pos = split.pos; + const axisOffset = split.axis * 2; + + // hoare partitioning, see e.g. https://en.wikipedia.org/wiki/Quicksort#Hoare_partition_scheme + while ( true ) { + + while ( left <= right && triangleBounds[ left * 6 + axisOffset ] < pos ) { + + left ++; + + } + + + // if a triangle center lies on the partition plane it is considered to be on the right side + while ( left <= right && triangleBounds[ right * 6 + axisOffset ] >= pos ) { + + right --; + + } + + if ( left < right ) { + + // we need to swap all of the information associated with the triangles at index + // left and right; that's the verts in the geometry index, the bounds, + // and perhaps the SAH planes + + for ( let i = 0; i < 3; i ++ ) { + + let t0 = index[ left * 3 + i ]; + index[ left * 3 + i ] = index[ right * 3 + i ]; + index[ right * 3 + i ] = t0; + + let t1 = triangleBounds[ left * 6 + i * 2 + 0 ]; + triangleBounds[ left * 6 + i * 2 + 0 ] = triangleBounds[ right * 6 + i * 2 + 0 ]; + triangleBounds[ right * 6 + i * 2 + 0 ] = t1; + + let t2 = triangleBounds[ left * 6 + i * 2 + 1 ]; + triangleBounds[ left * 6 + i * 2 + 1 ] = triangleBounds[ right * 6 + i * 2 + 1 ]; + triangleBounds[ right * 6 + i * 2 + 1 ] = t2; + + } + + left ++; + right --; + + } else { + + return left; + + } + + } + +} + +const BIN_COUNT = 32; +const binsSort = ( a, b ) => a.candidate - b.candidate; +const sahBins = new Array( BIN_COUNT ).fill().map( () => { + + return { + + count: 0, + bounds: new Float32Array( 6 ), + rightCacheBounds: new Float32Array( 6 ), + leftCacheBounds: new Float32Array( 6 ), + candidate: 0, + + }; + +} ); +const leftBounds = new Float32Array( 6 ); + +function getOptimalSplit( nodeBoundingData, centroidBoundingData, triangleBounds, offset, count, strategy ) { + + let axis = - 1; + let pos = 0; + + // Center + if ( strategy === CENTER ) { + + axis = getLongestEdgeIndex( centroidBoundingData ); + if ( axis !== - 1 ) { + + pos = ( centroidBoundingData[ axis ] + centroidBoundingData[ axis + 3 ] ) / 2; + + } + + } else if ( strategy === AVERAGE ) { + + axis = getLongestEdgeIndex( nodeBoundingData ); + if ( axis !== - 1 ) { + + pos = getAverage( triangleBounds, offset, count, axis ); + + } + + } else if ( strategy === SAH ) { + + const rootSurfaceArea = computeSurfaceArea( nodeBoundingData ); + let bestCost = TRIANGLE_INTERSECT_COST * count; + + // iterate over all axes + const cStart = offset * 6; + const cEnd = ( offset + count ) * 6; + for ( let a = 0; a < 3; a ++ ) { + + const axisLeft = centroidBoundingData[ a ]; + const axisRight = centroidBoundingData[ a + 3 ]; + const axisLength = axisRight - axisLeft; + const binWidth = axisLength / BIN_COUNT; + + // If we have fewer triangles than we're planning to split then just check all + // the triangle positions because it will be faster. + if ( count < BIN_COUNT / 4 ) { + + // initialize the bin candidates + const truncatedBins = [ ...sahBins ]; + truncatedBins.length = count; + + // set the candidates + let b = 0; + for ( let c = cStart; c < cEnd; c += 6, b ++ ) { + + const bin = truncatedBins[ b ]; + bin.candidate = triangleBounds[ c + 2 * a ]; + bin.count = 0; + + const { + bounds, + leftCacheBounds, + rightCacheBounds, + } = bin; + for ( let d = 0; d < 3; d ++ ) { + + rightCacheBounds[ d ] = Infinity; + rightCacheBounds[ d + 3 ] = - Infinity; + + leftCacheBounds[ d ] = Infinity; + leftCacheBounds[ d + 3 ] = - Infinity; + + bounds[ d ] = Infinity; + bounds[ d + 3 ] = - Infinity; + + } + + expandByTriangleBounds( c, triangleBounds, bounds ); + + } + + truncatedBins.sort( binsSort ); + + // remove redundant splits + let splitCount = count; + for ( let bi = 0; bi < splitCount; bi ++ ) { + + const bin = truncatedBins[ bi ]; + while ( bi + 1 < splitCount && truncatedBins[ bi + 1 ].candidate === bin.candidate ) { + + truncatedBins.splice( bi + 1, 1 ); + splitCount --; + + } + + } + + // find the appropriate bin for each triangle and expand the bounds. + for ( let c = cStart; c < cEnd; c += 6 ) { + + const center = triangleBounds[ c + 2 * a ]; + for ( let bi = 0; bi < splitCount; bi ++ ) { + + const bin = truncatedBins[ bi ]; + if ( center >= bin.candidate ) { + + expandByTriangleBounds( c, triangleBounds, bin.rightCacheBounds ); + + } else { + + expandByTriangleBounds( c, triangleBounds, bin.leftCacheBounds ); + bin.count ++; + + } + + } + + } + + // expand all the bounds + for ( let bi = 0; bi < splitCount; bi ++ ) { + + const bin = truncatedBins[ bi ]; + const leftCount = bin.count; + const rightCount = count - bin.count; + + // check the cost of this split + const leftBounds = bin.leftCacheBounds; + const rightBounds = bin.rightCacheBounds; + + let leftProb = 0; + if ( leftCount !== 0 ) { + + leftProb = computeSurfaceArea( leftBounds ) / rootSurfaceArea; + + } + + let rightProb = 0; + if ( rightCount !== 0 ) { + + rightProb = computeSurfaceArea( rightBounds ) / rootSurfaceArea; + + } + + const cost = TRAVERSAL_COST + TRIANGLE_INTERSECT_COST * ( + leftProb * leftCount + rightProb * rightCount + ); + + if ( cost < bestCost ) { + + axis = a; + bestCost = cost; + pos = bin.candidate; + + } + + } + + } else { + + // reset the bins + for ( let i = 0; i < BIN_COUNT; i ++ ) { + + const bin = sahBins[ i ]; + bin.count = 0; + bin.candidate = axisLeft + binWidth + i * binWidth; + + const bounds = bin.bounds; + for ( let d = 0; d < 3; d ++ ) { + + bounds[ d ] = Infinity; + bounds[ d + 3 ] = - Infinity; + + } + + } + + // iterate over all center positions + for ( let c = cStart; c < cEnd; c += 6 ) { + + const triCenter = triangleBounds[ c + 2 * a ]; + const relativeCenter = triCenter - axisLeft; + + // in the partition function if the centroid lies on the split plane then it is + // considered to be on the right side of the split + let binIndex = ~ ~ ( relativeCenter / binWidth ); + if ( binIndex >= BIN_COUNT ) binIndex = BIN_COUNT - 1; + + const bin = sahBins[ binIndex ]; + bin.count ++; + + expandByTriangleBounds( c, triangleBounds, bin.bounds ); + + } + + // cache the unioned bounds from right to left so we don't have to regenerate them each time + const lastBin = sahBins[ BIN_COUNT - 1 ]; + copyBounds( lastBin.bounds, lastBin.rightCacheBounds ); + for ( let i = BIN_COUNT - 2; i >= 0; i -- ) { + + const bin = sahBins[ i ]; + const nextBin = sahBins[ i + 1 ]; + unionBounds( bin.bounds, nextBin.rightCacheBounds, bin.rightCacheBounds ); + + } + + let leftCount = 0; + for ( let i = 0; i < BIN_COUNT - 1; i ++ ) { + + const bin = sahBins[ i ]; + const binCount = bin.count; + const bounds = bin.bounds; + + const nextBin = sahBins[ i + 1 ]; + const rightBounds = nextBin.rightCacheBounds; + + // don't do anything with the bounds if the new bounds have no triangles + if ( binCount !== 0 ) { + + if ( leftCount === 0 ) { + + copyBounds( bounds, leftBounds ); + + } else { + + unionBounds( bounds, leftBounds, leftBounds ); + + } + + } + + leftCount += binCount; + + // check the cost of this split + let leftProb = 0; + let rightProb = 0; + + if ( leftCount !== 0 ) { + + leftProb = computeSurfaceArea( leftBounds ) / rootSurfaceArea; + + } + + const rightCount = count - leftCount; + if ( rightCount !== 0 ) { + + rightProb = computeSurfaceArea( rightBounds ) / rootSurfaceArea; + + } + + const cost = TRAVERSAL_COST + TRIANGLE_INTERSECT_COST * ( + leftProb * leftCount + rightProb * rightCount + ); + + if ( cost < bestCost ) { + + axis = a; + bestCost = cost; + pos = bin.candidate; + + } + + } + + } + + } + + } else { + + console.warn( `MeshBVH: Invalid build strategy value ${ strategy } used.` ); + + } + + return { axis, pos }; + +} + +// returns the average coordinate on the specified axis of the all the provided triangles +function getAverage( triangleBounds, offset, count, axis ) { + + let avg = 0; + for ( let i = offset, end = offset + count; i < end; i ++ ) { + + avg += triangleBounds[ i * 6 + axis * 2 ]; + + } + + return avg / count; + +} + +// precomputes the bounding box for each triangle; required for quickly calculating tree splits. +// result is an array of size tris.length * 6 where triangle i maps to a +// [x_center, x_delta, y_center, y_delta, z_center, z_delta] tuple starting at index i * 6, +// representing the center and half-extent in each dimension of triangle i +function computeTriangleBounds( geo, fullBounds ) { + + const posAttr = geo.attributes.position; + const index = geo.index.array; + const triCount = index.length / 3; + const triangleBounds = new Float32Array( triCount * 6 ); + const normalized = posAttr.normalized; + + // used for non-normalized positions + const posArr = posAttr.array; + + // support for an interleaved position buffer + const bufferOffset = posAttr.offset || 0; + let stride = 3; + if ( posAttr.isInterleavedBufferAttribute ) { + + stride = posAttr.data.stride; + + } + + // used for normalized positions + const getters = [ 'getX', 'getY', 'getZ' ]; + + for ( let tri = 0; tri < triCount; tri ++ ) { + + const tri3 = tri * 3; + const tri6 = tri * 6; + + let ai, bi, ci; + + if ( normalized ) { + + ai = index[ tri3 + 0 ]; + bi = index[ tri3 + 1 ]; + ci = index[ tri3 + 2 ]; + + } else { + + ai = index[ tri3 + 0 ] * stride + bufferOffset; + bi = index[ tri3 + 1 ] * stride + bufferOffset; + ci = index[ tri3 + 2 ] * stride + bufferOffset; + + } + + for ( let el = 0; el < 3; el ++ ) { + + let a, b, c; + + if ( normalized ) { + + a = posAttr[ getters[ el ] ]( ai ); + b = posAttr[ getters[ el ] ]( bi ); + c = posAttr[ getters[ el ] ]( ci ); + + } else { + + a = posArr[ ai + el ]; + b = posArr[ bi + el ]; + c = posArr[ ci + el ]; + + } + + let min = a; + if ( b < min ) min = b; + if ( c < min ) min = c; + + let max = a; + if ( b > max ) max = b; + if ( c > max ) max = c; + + // Increase the bounds size by float32 epsilon to avoid precision errors when + // converting to 32 bit float. Scale the epsilon by the size of the numbers being + // worked with. + const halfExtents = ( max - min ) / 2; + const el2 = el * 2; + triangleBounds[ tri6 + el2 + 0 ] = min + halfExtents; + triangleBounds[ tri6 + el2 + 1 ] = halfExtents + ( Math.abs( min ) + halfExtents ) * FLOAT32_EPSILON; + + if ( min < fullBounds[ el ] ) fullBounds[ el ] = min; + if ( max > fullBounds[ el + 3 ] ) fullBounds[ el + 3 ] = max; + + } + + } + + return triangleBounds; + +} + +function buildTree( geo, options ) { + + function triggerProgress( trianglesProcessed ) { + + if ( onProgress ) { + + onProgress( trianglesProcessed / totalTriangles ); + + } + + } + + // either recursively splits the given node, creating left and right subtrees for it, or makes it a leaf node, + // recording the offset and count of its triangles and writing them into the reordered geometry index. + function splitNode( node, offset, count, centroidBoundingData = null, depth = 0 ) { + + if ( ! reachedMaxDepth && depth >= maxDepth ) { + + reachedMaxDepth = true; + if ( verbose ) { + + console.warn( `MeshBVH: Max depth of ${ maxDepth } reached when generating BVH. Consider increasing maxDepth.` ); + console.warn( geo ); + + } + + } + + // early out if we've met our capacity + if ( count <= maxLeafTris || depth >= maxDepth ) { + + triggerProgress( offset + count ); + node.offset = offset; + node.count = count; + return node; + + } + + // Find where to split the volume + const split = getOptimalSplit( node.boundingData, centroidBoundingData, triangleBounds, offset, count, strategy ); + if ( split.axis === - 1 ) { + + triggerProgress( offset + count ); + node.offset = offset; + node.count = count; + return node; + + } + + const splitOffset = partition( indexArray, triangleBounds, offset, count, split ); + + // create the two new child nodes + if ( splitOffset === offset || splitOffset === offset + count ) { + + triggerProgress( offset + count ); + node.offset = offset; + node.count = count; + + } else { + + node.splitAxis = split.axis; + + // create the left child and compute its bounding box + const left = new MeshBVHNode(); + const lstart = offset; + const lcount = splitOffset - offset; + node.left = left; + left.boundingData = new Float32Array( 6 ); + + getBounds( triangleBounds, lstart, lcount, left.boundingData, cacheCentroidBoundingData ); + splitNode( left, lstart, lcount, cacheCentroidBoundingData, depth + 1 ); + + // repeat for right + const right = new MeshBVHNode(); + const rstart = splitOffset; + const rcount = count - lcount; + node.right = right; + right.boundingData = new Float32Array( 6 ); + + getBounds( triangleBounds, rstart, rcount, right.boundingData, cacheCentroidBoundingData ); + splitNode( right, rstart, rcount, cacheCentroidBoundingData, depth + 1 ); + + } + + return node; + + } + + ensureIndex( geo, options ); + + // Compute the full bounds of the geometry at the same time as triangle bounds because + // we'll need it for the root bounds in the case with no groups and it should be fast here. + // We can't use the geometrying bounding box if it's available because it may be out of date. + const fullBounds = new Float32Array( 6 ); + const cacheCentroidBoundingData = new Float32Array( 6 ); + const triangleBounds = computeTriangleBounds( geo, fullBounds ); + const indexArray = geo.index.array; + const maxDepth = options.maxDepth; + const verbose = options.verbose; + const maxLeafTris = options.maxLeafTris; + const strategy = options.strategy; + const onProgress = options.onProgress; + const totalTriangles = geo.index.count / 3; + let reachedMaxDepth = false; + + const roots = []; + const ranges = getRootIndexRanges( geo ); + + if ( ranges.length === 1 ) { + + const range = ranges[ 0 ]; + const root = new MeshBVHNode(); + root.boundingData = fullBounds; + getCentroidBounds( triangleBounds, range.offset, range.count, cacheCentroidBoundingData ); + + splitNode( root, range.offset, range.count, cacheCentroidBoundingData ); + roots.push( root ); + + } else { + + for ( let range of ranges ) { + + const root = new MeshBVHNode(); + root.boundingData = new Float32Array( 6 ); + getBounds( triangleBounds, range.offset, range.count, root.boundingData, cacheCentroidBoundingData ); + + splitNode( root, range.offset, range.count, cacheCentroidBoundingData ); + roots.push( root ); + + } + + } + + return roots; + +} + +function buildPackedTree( geo, options ) { + + // boundingData : 6 float32 + // right / offset : 1 uint32 + // splitAxis / isLeaf + count : 1 uint32 / 2 uint16 + const roots = buildTree( geo, options ); + + let float32Array; + let uint32Array; + let uint16Array; + const packedRoots = []; + const BufferConstructor = options.useSharedArrayBuffer ? SharedArrayBuffer : ArrayBuffer; + for ( let i = 0; i < roots.length; i ++ ) { + + const root = roots[ i ]; + let nodeCount = countNodes( root ); + + const buffer = new BufferConstructor( BYTES_PER_NODE * nodeCount ); + float32Array = new Float32Array( buffer ); + uint32Array = new Uint32Array( buffer ); + uint16Array = new Uint16Array( buffer ); + populateBuffer( 0, root ); + packedRoots.push( buffer ); + + } + + return packedRoots; + + function countNodes( node ) { + + if ( node.count ) { + + return 1; + + } else { + + return 1 + countNodes( node.left ) + countNodes( node.right ); + + } + + } + + function populateBuffer( byteOffset, node ) { + + const stride4Offset = byteOffset / 4; + const stride2Offset = byteOffset / 2; + const isLeaf = ! ! node.count; + const boundingData = node.boundingData; + for ( let i = 0; i < 6; i ++ ) { + + float32Array[ stride4Offset + i ] = boundingData[ i ]; + + } + + if ( isLeaf ) { + + const offset = node.offset; + const count = node.count; + uint32Array[ stride4Offset + 6 ] = offset; + uint16Array[ stride2Offset + 14 ] = count; + uint16Array[ stride2Offset + 15 ] = IS_LEAFNODE_FLAG; + return byteOffset + BYTES_PER_NODE; + + } else { + + const left = node.left; + const right = node.right; + const splitAxis = node.splitAxis; + + let nextUnusedPointer; + nextUnusedPointer = populateBuffer( byteOffset + BYTES_PER_NODE, left ); + + if ( ( nextUnusedPointer / 4 ) > Math.pow( 2, 32 ) ) { + + throw new Error( 'MeshBVH: Cannot store child pointer greater than 32 bits.' ); + + } + + uint32Array[ stride4Offset + 6 ] = nextUnusedPointer / 4; + nextUnusedPointer = populateBuffer( nextUnusedPointer, right ); + + uint32Array[ stride4Offset + 7 ] = splitAxis; + return nextUnusedPointer; + + } + + } + +} + +class SeparatingAxisBounds { + + constructor() { + + this.min = Infinity; + this.max = - Infinity; + + } + + setFromPointsField( points, field ) { + + let min = Infinity; + let max = - Infinity; + for ( let i = 0, l = points.length; i < l; i ++ ) { + + const p = points[ i ]; + const val = p[ field ]; + min = val < min ? val : min; + max = val > max ? val : max; + + } + + this.min = min; + this.max = max; + + } + + setFromPoints( axis, points ) { + + let min = Infinity; + let max = - Infinity; + for ( let i = 0, l = points.length; i < l; i ++ ) { + + const p = points[ i ]; + const val = axis.dot( p ); + min = val < min ? val : min; + max = val > max ? val : max; + + } + + this.min = min; + this.max = max; + + } + + isSeparated( other ) { + + return this.min > other.max || other.min > this.max; + + } + +} + +SeparatingAxisBounds.prototype.setFromBox = ( function () { + + const p = new Vector3$1(); + return function setFromBox( axis, box ) { + + const boxMin = box.min; + const boxMax = box.max; + let min = Infinity; + let max = - Infinity; + for ( let x = 0; x <= 1; x ++ ) { + + for ( let y = 0; y <= 1; y ++ ) { + + for ( let z = 0; z <= 1; z ++ ) { + + p.x = boxMin.x * x + boxMax.x * ( 1 - x ); + p.y = boxMin.y * y + boxMax.y * ( 1 - y ); + p.z = boxMin.z * z + boxMax.z * ( 1 - z ); + + const val = axis.dot( p ); + min = Math.min( val, min ); + max = Math.max( val, max ); + + } + + } + + } + + this.min = min; + this.max = max; + + }; + +} )(); + +const closestPointLineToLine = ( function () { + + // https://github.com/juj/MathGeoLib/blob/master/src/Geometry/Line.cpp#L56 + const dir1 = new Vector3$1(); + const dir2 = new Vector3$1(); + const v02 = new Vector3$1(); + return function closestPointLineToLine( l1, l2, result ) { + + const v0 = l1.start; + const v10 = dir1; + const v2 = l2.start; + const v32 = dir2; + + v02.subVectors( v0, v2 ); + dir1.subVectors( l1.end, l1.start ); + dir2.subVectors( l2.end, l2.start ); + + // float d0232 = v02.Dot(v32); + const d0232 = v02.dot( v32 ); + + // float d3210 = v32.Dot(v10); + const d3210 = v32.dot( v10 ); + + // float d3232 = v32.Dot(v32); + const d3232 = v32.dot( v32 ); + + // float d0210 = v02.Dot(v10); + const d0210 = v02.dot( v10 ); + + // float d1010 = v10.Dot(v10); + const d1010 = v10.dot( v10 ); + + // float denom = d1010*d3232 - d3210*d3210; + const denom = d1010 * d3232 - d3210 * d3210; + + let d, d2; + if ( denom !== 0 ) { + + d = ( d0232 * d3210 - d0210 * d3232 ) / denom; + + } else { + + d = 0; + + } + + d2 = ( d0232 + d * d3210 ) / d3232; + + result.x = d; + result.y = d2; + + }; + +} )(); + +const closestPointsSegmentToSegment = ( function () { + + // https://github.com/juj/MathGeoLib/blob/master/src/Geometry/LineSegment.cpp#L187 + const paramResult = new Vector2$1(); + const temp1 = new Vector3$1(); + const temp2 = new Vector3$1(); + return function closestPointsSegmentToSegment( l1, l2, target1, target2 ) { + + closestPointLineToLine( l1, l2, paramResult ); + + let d = paramResult.x; + let d2 = paramResult.y; + if ( d >= 0 && d <= 1 && d2 >= 0 && d2 <= 1 ) { + + l1.at( d, target1 ); + l2.at( d2, target2 ); + + return; + + } else if ( d >= 0 && d <= 1 ) { + + // Only d2 is out of bounds. + if ( d2 < 0 ) { + + l2.at( 0, target2 ); + + } else { + + l2.at( 1, target2 ); + + } + + l1.closestPointToPoint( target2, true, target1 ); + return; + + } else if ( d2 >= 0 && d2 <= 1 ) { + + // Only d is out of bounds. + if ( d < 0 ) { + + l1.at( 0, target1 ); + + } else { + + l1.at( 1, target1 ); + + } + + l2.closestPointToPoint( target1, true, target2 ); + return; + + } else { + + // Both u and u2 are out of bounds. + let p; + if ( d < 0 ) { + + p = l1.start; + + } else { + + p = l1.end; + + } + + let p2; + if ( d2 < 0 ) { + + p2 = l2.start; + + } else { + + p2 = l2.end; + + } + + const closestPoint = temp1; + const closestPoint2 = temp2; + l1.closestPointToPoint( p2, true, temp1 ); + l2.closestPointToPoint( p, true, temp2 ); + + if ( closestPoint.distanceToSquared( p2 ) <= closestPoint2.distanceToSquared( p ) ) { + + target1.copy( closestPoint ); + target2.copy( p2 ); + return; + + } else { + + target1.copy( p ); + target2.copy( closestPoint2 ); + return; + + } + + } + + }; + +} )(); + + +const sphereIntersectTriangle = ( function () { + + // https://stackoverflow.com/questions/34043955/detect-collision-between-sphere-and-triangle-in-three-js + const closestPointTemp = new Vector3$1(); + const projectedPointTemp = new Vector3$1(); + const planeTemp = new Plane(); + const lineTemp = new Line3(); + return function sphereIntersectTriangle( sphere, triangle ) { + + const { radius, center } = sphere; + const { a, b, c } = triangle; + + // phase 1 + lineTemp.start = a; + lineTemp.end = b; + const closestPoint1 = lineTemp.closestPointToPoint( center, true, closestPointTemp ); + if ( closestPoint1.distanceTo( center ) <= radius ) return true; + + lineTemp.start = a; + lineTemp.end = c; + const closestPoint2 = lineTemp.closestPointToPoint( center, true, closestPointTemp ); + if ( closestPoint2.distanceTo( center ) <= radius ) return true; + + lineTemp.start = b; + lineTemp.end = c; + const closestPoint3 = lineTemp.closestPointToPoint( center, true, closestPointTemp ); + if ( closestPoint3.distanceTo( center ) <= radius ) return true; + + // phase 2 + const plane = triangle.getPlane( planeTemp ); + const dp = Math.abs( plane.distanceToPoint( center ) ); + if ( dp <= radius ) { + + const pp = plane.projectPoint( center, projectedPointTemp ); + const cp = triangle.containsPoint( pp ); + if ( cp ) return true; + + } + + return false; + + }; + +} )(); + +const DIST_EPSILON = 1e-15; +function isNearZero( value ) { + + return Math.abs( value ) < DIST_EPSILON; + +} + +class ExtendedTriangle extends Triangle { + + constructor( ...args ) { + + super( ...args ); + + this.isExtendedTriangle = true; + this.satAxes = new Array( 4 ).fill().map( () => new Vector3$1() ); + this.satBounds = new Array( 4 ).fill().map( () => new SeparatingAxisBounds() ); + this.points = [ this.a, this.b, this.c ]; + this.sphere = new Sphere(); + this.plane = new Plane(); + this.needsUpdate = true; + + } + + intersectsSphere( sphere ) { + + return sphereIntersectTriangle( sphere, this ); + + } + + update() { + + const a = this.a; + const b = this.b; + const c = this.c; + const points = this.points; + + const satAxes = this.satAxes; + const satBounds = this.satBounds; + + const axis0 = satAxes[ 0 ]; + const sab0 = satBounds[ 0 ]; + this.getNormal( axis0 ); + sab0.setFromPoints( axis0, points ); + + const axis1 = satAxes[ 1 ]; + const sab1 = satBounds[ 1 ]; + axis1.subVectors( a, b ); + sab1.setFromPoints( axis1, points ); + + const axis2 = satAxes[ 2 ]; + const sab2 = satBounds[ 2 ]; + axis2.subVectors( b, c ); + sab2.setFromPoints( axis2, points ); + + const axis3 = satAxes[ 3 ]; + const sab3 = satBounds[ 3 ]; + axis3.subVectors( c, a ); + sab3.setFromPoints( axis3, points ); + + this.sphere.setFromPoints( this.points ); + this.plane.setFromNormalAndCoplanarPoint( axis0, a ); + this.needsUpdate = false; + + } + +} + +ExtendedTriangle.prototype.closestPointToSegment = ( function () { + + const point1 = new Vector3$1(); + const point2 = new Vector3$1(); + const edge = new Line3(); + + return function distanceToSegment( segment, target1 = null, target2 = null ) { + + const { start, end } = segment; + const points = this.points; + let distSq; + let closestDistanceSq = Infinity; + + // check the triangle edges + for ( let i = 0; i < 3; i ++ ) { + + const nexti = ( i + 1 ) % 3; + edge.start.copy( points[ i ] ); + edge.end.copy( points[ nexti ] ); + + closestPointsSegmentToSegment( edge, segment, point1, point2 ); + + distSq = point1.distanceToSquared( point2 ); + if ( distSq < closestDistanceSq ) { + + closestDistanceSq = distSq; + if ( target1 ) target1.copy( point1 ); + if ( target2 ) target2.copy( point2 ); + + } + + } + + // check end points + this.closestPointToPoint( start, point1 ); + distSq = start.distanceToSquared( point1 ); + if ( distSq < closestDistanceSq ) { + + closestDistanceSq = distSq; + if ( target1 ) target1.copy( point1 ); + if ( target2 ) target2.copy( start ); + + } + + this.closestPointToPoint( end, point1 ); + distSq = end.distanceToSquared( point1 ); + if ( distSq < closestDistanceSq ) { + + closestDistanceSq = distSq; + if ( target1 ) target1.copy( point1 ); + if ( target2 ) target2.copy( end ); + + } + + return Math.sqrt( closestDistanceSq ); + + }; + +} )(); + +ExtendedTriangle.prototype.intersectsTriangle = ( function () { + + const saTri2 = new ExtendedTriangle(); + const arr1 = new Array( 3 ); + const arr2 = new Array( 3 ); + const cachedSatBounds = new SeparatingAxisBounds(); + const cachedSatBounds2 = new SeparatingAxisBounds(); + const cachedAxis = new Vector3$1(); + const dir1 = new Vector3$1(); + const dir2 = new Vector3$1(); + const tempDir = new Vector3$1(); + const edge = new Line3(); + const edge1 = new Line3(); + const edge2 = new Line3(); + + // TODO: If the triangles are coplanar and intersecting the target is nonsensical. It should at least + // be a line contained by both triangles if not a different special case somehow represented in the return result. + return function intersectsTriangle( other, target = null, suppressLog = false ) { + + if ( this.needsUpdate ) { + + this.update(); + + } + + if ( ! other.isExtendedTriangle ) { + + saTri2.copy( other ); + saTri2.update(); + other = saTri2; + + } else if ( other.needsUpdate ) { + + other.update(); + + } + + const plane1 = this.plane; + const plane2 = other.plane; + + if ( Math.abs( plane1.normal.dot( plane2.normal ) ) > 1.0 - 1e-10 ) { + + // perform separating axis intersection test only for coplanar triangles + const satBounds1 = this.satBounds; + const satAxes1 = this.satAxes; + arr2[ 0 ] = other.a; + arr2[ 1 ] = other.b; + arr2[ 2 ] = other.c; + for ( let i = 0; i < 4; i ++ ) { + + const sb = satBounds1[ i ]; + const sa = satAxes1[ i ]; + cachedSatBounds.setFromPoints( sa, arr2 ); + if ( sb.isSeparated( cachedSatBounds ) ) return false; + + } + + const satBounds2 = other.satBounds; + const satAxes2 = other.satAxes; + arr1[ 0 ] = this.a; + arr1[ 1 ] = this.b; + arr1[ 2 ] = this.c; + for ( let i = 0; i < 4; i ++ ) { + + const sb = satBounds2[ i ]; + const sa = satAxes2[ i ]; + cachedSatBounds.setFromPoints( sa, arr1 ); + if ( sb.isSeparated( cachedSatBounds ) ) return false; + + } + + // check crossed axes + for ( let i = 0; i < 4; i ++ ) { + + const sa1 = satAxes1[ i ]; + for ( let i2 = 0; i2 < 4; i2 ++ ) { + + const sa2 = satAxes2[ i2 ]; + cachedAxis.crossVectors( sa1, sa2 ); + cachedSatBounds.setFromPoints( cachedAxis, arr1 ); + cachedSatBounds2.setFromPoints( cachedAxis, arr2 ); + if ( cachedSatBounds.isSeparated( cachedSatBounds2 ) ) return false; + + } + + } + + if ( target ) { + + // TODO find two points that intersect on the edges and make that the result + if ( ! suppressLog ) { + + console.warn( 'ExtendedTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0.' ); + + } + + target.start.set( 0, 0, 0 ); + target.end.set( 0, 0, 0 ); + + } + + return true; + + } else { + + // find the edge that intersects the other triangle plane + const points1 = this.points; + let found1 = false; + let count1 = 0; + for ( let i = 0; i < 3; i ++ ) { + + const p = points1[ i ]; + const pNext = points1[ ( i + 1 ) % 3 ]; + + edge.start.copy( p ); + edge.end.copy( pNext ); + edge.delta( dir1 ); + + const targetPoint = found1 ? edge1.start : edge1.end; + const startIntersects = isNearZero( plane2.distanceToPoint( p ) ); + if ( isNearZero( plane2.normal.dot( dir1 ) ) && startIntersects ) { + + // if the edge lies on the plane then take the line + edge1.copy( edge ); + count1 = 2; + break; + + } + + // check if the start point is near the plane because "intersectLine" is not robust to that case + const doesIntersect = plane2.intersectLine( edge, targetPoint ) || startIntersects; + if ( doesIntersect && ! isNearZero( targetPoint.distanceTo( pNext ) ) ) { + + count1 ++; + if ( found1 ) { + + break; + + } + + found1 = true; + + } + + } + + if ( count1 === 1 && other.containsPoint( edge1.end ) ) { + + if ( target ) { + + target.start.copy( edge1.end ); + target.end.copy( edge1.end ); + + } + + return true; + + } else if ( count1 !== 2 ) { + + return false; + + } + + // find the other triangles edge that intersects this plane + const points2 = other.points; + let found2 = false; + let count2 = 0; + for ( let i = 0; i < 3; i ++ ) { + + const p = points2[ i ]; + const pNext = points2[ ( i + 1 ) % 3 ]; + + edge.start.copy( p ); + edge.end.copy( pNext ); + edge.delta( dir2 ); + + const targetPoint = found2 ? edge2.start : edge2.end; + const startIntersects = isNearZero( plane1.distanceToPoint( p ) ); + if ( isNearZero( plane1.normal.dot( dir2 ) ) && startIntersects ) { + + // if the edge lies on the plane then take the line + edge2.copy( edge ); + count2 = 2; + break; + + } + + // check if the start point is near the plane because "intersectLine" is not robust to that case + const doesIntersect = plane1.intersectLine( edge, targetPoint ) || startIntersects; + if ( doesIntersect && ! isNearZero( targetPoint.distanceTo( pNext ) ) ) { + + count2 ++; + if ( found2 ) { + + break; + + } + + found2 = true; + + } + + } + + if ( count2 === 1 && this.containsPoint( edge2.end ) ) { + + if ( target ) { + + target.start.copy( edge2.end ); + target.end.copy( edge2.end ); + + } + + return true; + + } else if ( count2 !== 2 ) { + + return false; + + } + + // find swap the second edge so both lines are running the same direction + edge1.delta( dir1 ); + edge2.delta( dir2 ); + + if ( dir1.dot( dir2 ) < 0 ) { + + let tmp = edge2.start; + edge2.start = edge2.end; + edge2.end = tmp; + + } + + // check if the edges are overlapping + const s1 = edge1.start.dot( dir1 ); + const e1 = edge1.end.dot( dir1 ); + const s2 = edge2.start.dot( dir1 ); + const e2 = edge2.end.dot( dir1 ); + const separated1 = e1 < s2; + const separated2 = s1 < e2; + + if ( s1 !== e2 && s2 !== e1 && separated1 === separated2 ) { + + return false; + + } + + // assign the target output + if ( target ) { + + tempDir.subVectors( edge1.start, edge2.start ); + if ( tempDir.dot( dir1 ) > 0 ) { + + target.start.copy( edge1.start ); + + } else { + + target.start.copy( edge2.start ); + + } + + tempDir.subVectors( edge1.end, edge2.end ); + if ( tempDir.dot( dir1 ) < 0 ) { + + target.end.copy( edge1.end ); + + } else { + + target.end.copy( edge2.end ); + + } + + } + + return true; + + } + + }; + +} )(); + + +ExtendedTriangle.prototype.distanceToPoint = ( function () { + + const target = new Vector3$1(); + return function distanceToPoint( point ) { + + this.closestPointToPoint( point, target ); + return point.distanceTo( target ); + + }; + +} )(); + + +ExtendedTriangle.prototype.distanceToTriangle = ( function () { + + const point = new Vector3$1(); + const point2 = new Vector3$1(); + const cornerFields = [ 'a', 'b', 'c' ]; + const line1 = new Line3(); + const line2 = new Line3(); + + return function distanceToTriangle( other, target1 = null, target2 = null ) { + + const lineTarget = target1 || target2 ? line1 : null; + if ( this.intersectsTriangle( other, lineTarget ) ) { + + if ( target1 || target2 ) { + + if ( target1 ) lineTarget.getCenter( target1 ); + if ( target2 ) lineTarget.getCenter( target2 ); + + } + + return 0; + + } + + let closestDistanceSq = Infinity; + + // check all point distances + for ( let i = 0; i < 3; i ++ ) { + + let dist; + const field = cornerFields[ i ]; + const otherVec = other[ field ]; + this.closestPointToPoint( otherVec, point ); + + dist = otherVec.distanceToSquared( point ); + + if ( dist < closestDistanceSq ) { + + closestDistanceSq = dist; + if ( target1 ) target1.copy( point ); + if ( target2 ) target2.copy( otherVec ); + + } + + + const thisVec = this[ field ]; + other.closestPointToPoint( thisVec, point ); + + dist = thisVec.distanceToSquared( point ); + + if ( dist < closestDistanceSq ) { + + closestDistanceSq = dist; + if ( target1 ) target1.copy( thisVec ); + if ( target2 ) target2.copy( point ); + + } + + } + + for ( let i = 0; i < 3; i ++ ) { + + const f11 = cornerFields[ i ]; + const f12 = cornerFields[ ( i + 1 ) % 3 ]; + line1.set( this[ f11 ], this[ f12 ] ); + for ( let i2 = 0; i2 < 3; i2 ++ ) { + + const f21 = cornerFields[ i2 ]; + const f22 = cornerFields[ ( i2 + 1 ) % 3 ]; + line2.set( other[ f21 ], other[ f22 ] ); + + closestPointsSegmentToSegment( line1, line2, point, point2 ); + + const dist = point.distanceToSquared( point2 ); + if ( dist < closestDistanceSq ) { + + closestDistanceSq = dist; + if ( target1 ) target1.copy( point ); + if ( target2 ) target2.copy( point2 ); + + } + + } + + } + + return Math.sqrt( closestDistanceSq ); + + }; + +} )(); + +class OrientedBox { + + constructor( min, max, matrix ) { + + this.isOrientedBox = true; + this.min = new Vector3$1(); + this.max = new Vector3$1(); + this.matrix = new Matrix4(); + this.invMatrix = new Matrix4(); + this.points = new Array( 8 ).fill().map( () => new Vector3$1() ); + this.satAxes = new Array( 3 ).fill().map( () => new Vector3$1() ); + this.satBounds = new Array( 3 ).fill().map( () => new SeparatingAxisBounds() ); + this.alignedSatBounds = new Array( 3 ).fill().map( () => new SeparatingAxisBounds() ); + this.needsUpdate = false; + + if ( min ) this.min.copy( min ); + if ( max ) this.max.copy( max ); + if ( matrix ) this.matrix.copy( matrix ); + + } + + set( min, max, matrix ) { + + this.min.copy( min ); + this.max.copy( max ); + this.matrix.copy( matrix ); + this.needsUpdate = true; + + } + + copy( other ) { + + this.min.copy( other.min ); + this.max.copy( other.max ); + this.matrix.copy( other.matrix ); + this.needsUpdate = true; + + } + +} + +OrientedBox.prototype.update = ( function () { + + return function update() { + + const matrix = this.matrix; + const min = this.min; + const max = this.max; + + const points = this.points; + for ( let x = 0; x <= 1; x ++ ) { + + for ( let y = 0; y <= 1; y ++ ) { + + for ( let z = 0; z <= 1; z ++ ) { + + const i = ( ( 1 << 0 ) * x ) | ( ( 1 << 1 ) * y ) | ( ( 1 << 2 ) * z ); + const v = points[ i ]; + v.x = x ? max.x : min.x; + v.y = y ? max.y : min.y; + v.z = z ? max.z : min.z; + + v.applyMatrix4( matrix ); + + } + + } + + } + + const satBounds = this.satBounds; + const satAxes = this.satAxes; + const minVec = points[ 0 ]; + for ( let i = 0; i < 3; i ++ ) { + + const axis = satAxes[ i ]; + const sb = satBounds[ i ]; + const index = 1 << i; + const pi = points[ index ]; + + axis.subVectors( minVec, pi ); + sb.setFromPoints( axis, points ); + + } + + const alignedSatBounds = this.alignedSatBounds; + alignedSatBounds[ 0 ].setFromPointsField( points, 'x' ); + alignedSatBounds[ 1 ].setFromPointsField( points, 'y' ); + alignedSatBounds[ 2 ].setFromPointsField( points, 'z' ); + + this.invMatrix.copy( this.matrix ).invert(); + this.needsUpdate = false; + + }; + +} )(); + +OrientedBox.prototype.intersectsBox = ( function () { + + const aabbBounds = new SeparatingAxisBounds(); + return function intersectsBox( box ) { + + // TODO: should this be doing SAT against the AABB? + if ( this.needsUpdate ) { + + this.update(); + + } + + const min = box.min; + const max = box.max; + const satBounds = this.satBounds; + const satAxes = this.satAxes; + const alignedSatBounds = this.alignedSatBounds; + + aabbBounds.min = min.x; + aabbBounds.max = max.x; + if ( alignedSatBounds[ 0 ].isSeparated( aabbBounds ) ) return false; + + aabbBounds.min = min.y; + aabbBounds.max = max.y; + if ( alignedSatBounds[ 1 ].isSeparated( aabbBounds ) ) return false; + + aabbBounds.min = min.z; + aabbBounds.max = max.z; + if ( alignedSatBounds[ 2 ].isSeparated( aabbBounds ) ) return false; + + for ( let i = 0; i < 3; i ++ ) { + + const axis = satAxes[ i ]; + const sb = satBounds[ i ]; + aabbBounds.setFromBox( axis, box ); + if ( sb.isSeparated( aabbBounds ) ) return false; + + } + + return true; + + }; + +} )(); + +OrientedBox.prototype.intersectsTriangle = ( function () { + + const saTri = new ExtendedTriangle(); + const pointsArr = new Array( 3 ); + const cachedSatBounds = new SeparatingAxisBounds(); + const cachedSatBounds2 = new SeparatingAxisBounds(); + const cachedAxis = new Vector3$1(); + return function intersectsTriangle( triangle ) { + + if ( this.needsUpdate ) { + + this.update(); + + } + + if ( ! triangle.isExtendedTriangle ) { + + saTri.copy( triangle ); + saTri.update(); + triangle = saTri; + + } else if ( triangle.needsUpdate ) { + + triangle.update(); + + } + + const satBounds = this.satBounds; + const satAxes = this.satAxes; + + pointsArr[ 0 ] = triangle.a; + pointsArr[ 1 ] = triangle.b; + pointsArr[ 2 ] = triangle.c; + + for ( let i = 0; i < 3; i ++ ) { + + const sb = satBounds[ i ]; + const sa = satAxes[ i ]; + cachedSatBounds.setFromPoints( sa, pointsArr ); + if ( sb.isSeparated( cachedSatBounds ) ) return false; + + } + + const triSatBounds = triangle.satBounds; + const triSatAxes = triangle.satAxes; + const points = this.points; + for ( let i = 0; i < 3; i ++ ) { + + const sb = triSatBounds[ i ]; + const sa = triSatAxes[ i ]; + cachedSatBounds.setFromPoints( sa, points ); + if ( sb.isSeparated( cachedSatBounds ) ) return false; + + } + + // check crossed axes + for ( let i = 0; i < 3; i ++ ) { + + const sa1 = satAxes[ i ]; + for ( let i2 = 0; i2 < 4; i2 ++ ) { + + const sa2 = triSatAxes[ i2 ]; + cachedAxis.crossVectors( sa1, sa2 ); + cachedSatBounds.setFromPoints( cachedAxis, pointsArr ); + cachedSatBounds2.setFromPoints( cachedAxis, points ); + if ( cachedSatBounds.isSeparated( cachedSatBounds2 ) ) return false; + + } + + } + + return true; + + }; + +} )(); + +OrientedBox.prototype.closestPointToPoint = ( function () { + + return function closestPointToPoint( point, target1 ) { + + if ( this.needsUpdate ) { + + this.update(); + + } + + target1 + .copy( point ) + .applyMatrix4( this.invMatrix ) + .clamp( this.min, this.max ) + .applyMatrix4( this.matrix ); + + return target1; + + }; + +} )(); + +OrientedBox.prototype.distanceToPoint = ( function () { + + const target = new Vector3$1(); + return function distanceToPoint( point ) { + + this.closestPointToPoint( point, target ); + return point.distanceTo( target ); + + }; + +} )(); + +OrientedBox.prototype.distanceToBox = ( function () { + + const xyzFields = [ 'x', 'y', 'z' ]; + const segments1 = new Array( 12 ).fill().map( () => new Line3() ); + const segments2 = new Array( 12 ).fill().map( () => new Line3() ); + + const point1 = new Vector3$1(); + const point2 = new Vector3$1(); + + // early out if we find a value below threshold + return function distanceToBox( box, threshold = 0, target1 = null, target2 = null ) { + + if ( this.needsUpdate ) { + + this.update(); + + } + + if ( this.intersectsBox( box ) ) { + + if ( target1 || target2 ) { + + box.getCenter( point2 ); + this.closestPointToPoint( point2, point1 ); + box.closestPointToPoint( point1, point2 ); + + if ( target1 ) target1.copy( point1 ); + if ( target2 ) target2.copy( point2 ); + + } + + return 0; + + } + + const threshold2 = threshold * threshold; + const min = box.min; + const max = box.max; + const points = this.points; + + + // iterate over every edge and compare distances + let closestDistanceSq = Infinity; + + // check over all these points + for ( let i = 0; i < 8; i ++ ) { + + const p = points[ i ]; + point2.copy( p ).clamp( min, max ); + + const dist = p.distanceToSquared( point2 ); + if ( dist < closestDistanceSq ) { + + closestDistanceSq = dist; + if ( target1 ) target1.copy( p ); + if ( target2 ) target2.copy( point2 ); + + if ( dist < threshold2 ) return Math.sqrt( dist ); + + } + + } + + // generate and check all line segment distances + let count = 0; + for ( let i = 0; i < 3; i ++ ) { + + for ( let i1 = 0; i1 <= 1; i1 ++ ) { + + for ( let i2 = 0; i2 <= 1; i2 ++ ) { + + const nextIndex = ( i + 1 ) % 3; + const nextIndex2 = ( i + 2 ) % 3; + + // get obb line segments + const index = i1 << nextIndex | i2 << nextIndex2; + const index2 = 1 << i | i1 << nextIndex | i2 << nextIndex2; + const p1 = points[ index ]; + const p2 = points[ index2 ]; + const line1 = segments1[ count ]; + line1.set( p1, p2 ); + + + // get aabb line segments + const f1 = xyzFields[ i ]; + const f2 = xyzFields[ nextIndex ]; + const f3 = xyzFields[ nextIndex2 ]; + const line2 = segments2[ count ]; + const start = line2.start; + const end = line2.end; + + start[ f1 ] = min[ f1 ]; + start[ f2 ] = i1 ? min[ f2 ] : max[ f2 ]; + start[ f3 ] = i2 ? min[ f3 ] : max[ f2 ]; + + end[ f1 ] = max[ f1 ]; + end[ f2 ] = i1 ? min[ f2 ] : max[ f2 ]; + end[ f3 ] = i2 ? min[ f3 ] : max[ f2 ]; + + count ++; + + } + + } + + } + + // check all the other boxes point + for ( let x = 0; x <= 1; x ++ ) { + + for ( let y = 0; y <= 1; y ++ ) { + + for ( let z = 0; z <= 1; z ++ ) { + + point2.x = x ? max.x : min.x; + point2.y = y ? max.y : min.y; + point2.z = z ? max.z : min.z; + + this.closestPointToPoint( point2, point1 ); + const dist = point2.distanceToSquared( point1 ); + if ( dist < closestDistanceSq ) { + + closestDistanceSq = dist; + if ( target1 ) target1.copy( point1 ); + if ( target2 ) target2.copy( point2 ); + + if ( dist < threshold2 ) return Math.sqrt( dist ); + + } + + } + + } + + } + + for ( let i = 0; i < 12; i ++ ) { + + const l1 = segments1[ i ]; + for ( let i2 = 0; i2 < 12; i2 ++ ) { + + const l2 = segments2[ i2 ]; + closestPointsSegmentToSegment( l1, l2, point1, point2 ); + const dist = point1.distanceToSquared( point2 ); + if ( dist < closestDistanceSq ) { + + closestDistanceSq = dist; + if ( target1 ) target1.copy( point1 ); + if ( target2 ) target2.copy( point2 ); + + if ( dist < threshold2 ) return Math.sqrt( dist ); + + } + + } + + } + + return Math.sqrt( closestDistanceSq ); + + }; + +} )(); + +// Ripped and modified From THREE.js Mesh raycast +// https://github.com/mrdoob/three.js/blob/0aa87c999fe61e216c1133fba7a95772b503eddf/src/objects/Mesh.js#L115 +const _vA = /* @__PURE__ */ new Vector3$1(); +const _vB = /* @__PURE__ */ new Vector3$1(); +const _vC = /* @__PURE__ */ new Vector3$1(); + +const _uvA = /* @__PURE__ */ new Vector2$1(); +const _uvB = /* @__PURE__ */ new Vector2$1(); +const _uvC = /* @__PURE__ */ new Vector2$1(); + +const _normalA = /* @__PURE__ */ new Vector3$1(); +const _normalB = /* @__PURE__ */ new Vector3$1(); +const _normalC = /* @__PURE__ */ new Vector3$1(); + +const _intersectionPoint = /* @__PURE__ */ new Vector3$1(); +function checkIntersection( ray, pA, pB, pC, point, side ) { + + let intersect; + if ( side === BackSide ) { + + intersect = ray.intersectTriangle( pC, pB, pA, true, point ); + + } else { + + intersect = ray.intersectTriangle( pA, pB, pC, side !== DoubleSide, point ); + + } + + if ( intersect === null ) return null; + + const distance = ray.origin.distanceTo( point ); + + return { + + distance: distance, + point: point.clone(), + + }; + +} + +function checkBufferGeometryIntersection( ray, position, normal, uv, uv1, a, b, c, side ) { + + _vA.fromBufferAttribute( position, a ); + _vB.fromBufferAttribute( position, b ); + _vC.fromBufferAttribute( position, c ); + + const intersection = checkIntersection( ray, _vA, _vB, _vC, _intersectionPoint, side ); + + if ( intersection ) { + + if ( uv ) { + + _uvA.fromBufferAttribute( uv, a ); + _uvB.fromBufferAttribute( uv, b ); + _uvC.fromBufferAttribute( uv, c ); + + intersection.uv = Triangle.getInterpolation( _intersectionPoint, _vA, _vB, _vC, _uvA, _uvB, _uvC, new Vector2$1() ); + + } + + if ( uv1 ) { + + _uvA.fromBufferAttribute( uv1, a ); + _uvB.fromBufferAttribute( uv1, b ); + _uvC.fromBufferAttribute( uv1, c ); + + intersection.uv1 = Triangle.getInterpolation( _intersectionPoint, _vA, _vB, _vC, _uvA, _uvB, _uvC, new Vector2$1() ); + + } + + if ( normal ) { + + _normalA.fromBufferAttribute( normal, a ); + _normalB.fromBufferAttribute( normal, b ); + _normalC.fromBufferAttribute( normal, c ); + + intersection.normal = Triangle.getInterpolation( _intersectionPoint, _vA, _vB, _vC, _normalA, _normalB, _normalC, new Vector3$1() ); + if ( intersection.normal.dot( ray.direction ) > 0 ) { + + intersection.normal.multiplyScalar( - 1 ); + + } + + } + + const face = { + a: a, + b: b, + c: c, + normal: new Vector3$1(), + materialIndex: 0 + }; + + Triangle.getNormal( _vA, _vB, _vC, face.normal ); + + intersection.face = face; + intersection.faceIndex = a; + + } + + return intersection; + +} + +// https://github.com/mrdoob/three.js/blob/0aa87c999fe61e216c1133fba7a95772b503eddf/src/objects/Mesh.js#L258 +function intersectTri( geo, side, ray, tri, intersections ) { + + const triOffset = tri * 3; + const a = geo.index.getX( triOffset ); + const b = geo.index.getX( triOffset + 1 ); + const c = geo.index.getX( triOffset + 2 ); + + const { position, normal, uv, uv1 } = geo.attributes; + const intersection = checkBufferGeometryIntersection( ray, position, normal, uv, uv1, a, b, c, side ); + + if ( intersection ) { + + intersection.faceIndex = tri; + if ( intersections ) intersections.push( intersection ); + return intersection; + + } + + return null; + +} + +function intersectTris( geo, side, ray, offset, count, intersections ) { + + for ( let i = offset, end = offset + count; i < end; i ++ ) { + + intersectTri( geo, side, ray, i, intersections ); + + } + +} + +function intersectClosestTri( geo, side, ray, offset, count ) { + + let dist = Infinity; + let res = null; + for ( let i = offset, end = offset + count; i < end; i ++ ) { + + const intersection = intersectTri( geo, side, ray, i ); + if ( intersection && intersection.distance < dist ) { + + res = intersection; + dist = intersection.distance; + + } + + } + + return res; + +} + +// converts the given BVH raycast intersection to align with the three.js raycast +// structure (include object, world space distance and point). +function convertRaycastIntersect( hit, object, raycaster ) { + + if ( hit === null ) { + + return null; + + } + + hit.point.applyMatrix4( object.matrixWorld ); + hit.distance = hit.point.distanceTo( raycaster.ray.origin ); + hit.object = object; + + if ( hit.distance < raycaster.near || hit.distance > raycaster.far ) { + + return null; + + } else { + + return hit; + + } + +} + +// sets the vertices of triangle `tri` with the 3 vertices after i +function setTriangle( tri, i, index, pos ) { + + const ta = tri.a; + const tb = tri.b; + const tc = tri.c; + + let i0 = i; + let i1 = i + 1; + let i2 = i + 2; + if ( index ) { + + i0 = index.getX( i ); + i1 = index.getX( i + 1 ); + i2 = index.getX( i + 2 ); + + } + + ta.x = pos.getX( i0 ); + ta.y = pos.getY( i0 ); + ta.z = pos.getZ( i0 ); + + tb.x = pos.getX( i1 ); + tb.y = pos.getY( i1 ); + tb.z = pos.getZ( i1 ); + + tc.x = pos.getX( i2 ); + tc.y = pos.getY( i2 ); + tc.z = pos.getZ( i2 ); + +} + +function iterateOverTriangles( + offset, + count, + geometry, + intersectsTriangleFunc, + contained, + depth, + triangle +) { + + const index = geometry.index; + const pos = geometry.attributes.position; + for ( let i = offset, l = count + offset; i < l; i ++ ) { + + setTriangle( triangle, i * 3, index, pos ); + triangle.needsUpdate = true; + + if ( intersectsTriangleFunc( triangle, i, contained, depth ) ) { + + return true; + + } + + } + + return false; + +} + +class PrimitivePool { + + constructor( getNewPrimitive ) { + + this._getNewPrimitive = getNewPrimitive; + this._primitives = []; + + } + + getPrimitive() { + + const primitives = this._primitives; + if ( primitives.length === 0 ) { + + return this._getNewPrimitive(); + + } else { + + return primitives.pop(); + + } + + } + + releasePrimitive( primitive ) { + + this._primitives.push( primitive ); + + } + +} + +function IS_LEAF( n16, uint16Array ) { + + return uint16Array[ n16 + 15 ] === 0xFFFF; + +} + +function OFFSET( n32, uint32Array ) { + + return uint32Array[ n32 + 6 ]; + +} + +function COUNT( n16, uint16Array ) { + + return uint16Array[ n16 + 14 ]; + +} + +function LEFT_NODE( n32 ) { + + return n32 + 8; + +} + +function RIGHT_NODE( n32, uint32Array ) { + + return uint32Array[ n32 + 6 ]; + +} + +function SPLIT_AXIS( n32, uint32Array ) { + + return uint32Array[ n32 + 7 ]; + +} + +function BOUNDING_DATA_INDEX( n32 ) { + + return n32; + +} + +const boundingBox = new Box3(); +const boxIntersection = new Vector3$1(); +const xyzFields = [ 'x', 'y', 'z' ]; + +function raycast( nodeIndex32, geometry, side, ray, intersects ) { + + let nodeIndex16 = nodeIndex32 * 2, float32Array = _float32Array, uint16Array = _uint16Array, uint32Array = _uint32Array; + + const isLeaf = IS_LEAF( nodeIndex16, uint16Array ); + if ( isLeaf ) { + + const offset = OFFSET( nodeIndex32, uint32Array ); + const count = COUNT( nodeIndex16, uint16Array ); + + intersectTris( geometry, side, ray, offset, count, intersects ); + + } else { + + const leftIndex = LEFT_NODE( nodeIndex32 ); + if ( intersectRay( leftIndex, float32Array, ray, boxIntersection ) ) { + + raycast( leftIndex, geometry, side, ray, intersects ); + + } + + const rightIndex = RIGHT_NODE( nodeIndex32, uint32Array ); + if ( intersectRay( rightIndex, float32Array, ray, boxIntersection ) ) { + + raycast( rightIndex, geometry, side, ray, intersects ); + + } + + } + +} + +function raycastFirst( nodeIndex32, geometry, side, ray ) { + + let nodeIndex16 = nodeIndex32 * 2, float32Array = _float32Array, uint16Array = _uint16Array, uint32Array = _uint32Array; + + const isLeaf = IS_LEAF( nodeIndex16, uint16Array ); + if ( isLeaf ) { + + const offset = OFFSET( nodeIndex32, uint32Array ); + const count = COUNT( nodeIndex16, uint16Array ); + return intersectClosestTri( geometry, side, ray, offset, count ); + + } else { + + // consider the position of the split plane with respect to the oncoming ray; whichever direction + // the ray is coming from, look for an intersection among that side of the tree first + const splitAxis = SPLIT_AXIS( nodeIndex32, uint32Array ); + const xyzAxis = xyzFields[ splitAxis ]; + const rayDir = ray.direction[ xyzAxis ]; + const leftToRight = rayDir >= 0; + + // c1 is the child to check first + let c1, c2; + if ( leftToRight ) { + + c1 = LEFT_NODE( nodeIndex32 ); + c2 = RIGHT_NODE( nodeIndex32, uint32Array ); + + } else { + + c1 = RIGHT_NODE( nodeIndex32, uint32Array ); + c2 = LEFT_NODE( nodeIndex32 ); + + } + + const c1Intersection = intersectRay( c1, float32Array, ray, boxIntersection ); + const c1Result = c1Intersection ? raycastFirst( c1, geometry, side, ray ) : null; + + // if we got an intersection in the first node and it's closer than the second node's bounding + // box, we don't need to consider the second node because it couldn't possibly be a better result + if ( c1Result ) { + + // check if the point is within the second bounds + // "point" is in the local frame of the bvh + const point = c1Result.point[ xyzAxis ]; + const isOutside = leftToRight ? + point <= float32Array[ c2 + splitAxis ] : // min bounding data + point >= float32Array[ c2 + splitAxis + 3 ]; // max bounding data + + if ( isOutside ) { + + return c1Result; + + } + + } + + // either there was no intersection in the first node, or there could still be a closer + // intersection in the second, so check the second node and then take the better of the two + const c2Intersection = intersectRay( c2, float32Array, ray, boxIntersection ); + const c2Result = c2Intersection ? raycastFirst( c2, geometry, side, ray ) : null; + + if ( c1Result && c2Result ) { + + return c1Result.distance <= c2Result.distance ? c1Result : c2Result; + + } else { + + return c1Result || c2Result || null; + + } + + } + +} + +const shapecast = ( function () { + + let _box1, _box2; + const boxStack = []; + const boxPool = new PrimitivePool( () => new Box3() ); + + return function shapecast( ...args ) { + + _box1 = boxPool.getPrimitive(); + _box2 = boxPool.getPrimitive(); + boxStack.push( _box1, _box2 ); + + const result = shapecastTraverse( ...args ); + + boxPool.releasePrimitive( _box1 ); + boxPool.releasePrimitive( _box2 ); + boxStack.pop(); + boxStack.pop(); + + const length = boxStack.length; + if ( length > 0 ) { + + _box2 = boxStack[ length - 1 ]; + _box1 = boxStack[ length - 2 ]; + + } + + return result; + + }; + + function shapecastTraverse( + nodeIndex32, + geometry, + intersectsBoundsFunc, + intersectsRangeFunc, + nodeScoreFunc = null, + nodeIndexByteOffset = 0, // offset for unique node identifier + depth = 0 + ) { + + // Define these inside the function so it has access to the local variables needed + // when converting to the buffer equivalents + function getLeftOffset( nodeIndex32 ) { + + let nodeIndex16 = nodeIndex32 * 2, uint16Array = _uint16Array, uint32Array = _uint32Array; + + // traverse until we find a leaf + while ( ! IS_LEAF( nodeIndex16, uint16Array ) ) { + + nodeIndex32 = LEFT_NODE( nodeIndex32 ); + nodeIndex16 = nodeIndex32 * 2; + + } + + return OFFSET( nodeIndex32, uint32Array ); + + } + + function getRightEndOffset( nodeIndex32 ) { + + let nodeIndex16 = nodeIndex32 * 2, uint16Array = _uint16Array, uint32Array = _uint32Array; + + // traverse until we find a leaf + while ( ! IS_LEAF( nodeIndex16, uint16Array ) ) { + + // adjust offset to point to the right node + nodeIndex32 = RIGHT_NODE( nodeIndex32, uint32Array ); + nodeIndex16 = nodeIndex32 * 2; + + } + + // return the end offset of the triangle range + return OFFSET( nodeIndex32, uint32Array ) + COUNT( nodeIndex16, uint16Array ); + + } + + let nodeIndex16 = nodeIndex32 * 2, float32Array = _float32Array, uint16Array = _uint16Array, uint32Array = _uint32Array; + + const isLeaf = IS_LEAF( nodeIndex16, uint16Array ); + if ( isLeaf ) { + + const offset = OFFSET( nodeIndex32, uint32Array ); + const count = COUNT( nodeIndex16, uint16Array ); + arrayToBox( BOUNDING_DATA_INDEX( nodeIndex32 ), float32Array, _box1 ); + return intersectsRangeFunc( offset, count, false, depth, nodeIndexByteOffset + nodeIndex32, _box1 ); + + } else { + + const left = LEFT_NODE( nodeIndex32 ); + const right = RIGHT_NODE( nodeIndex32, uint32Array ); + let c1 = left; + let c2 = right; + + let score1, score2; + let box1, box2; + if ( nodeScoreFunc ) { + + box1 = _box1; + box2 = _box2; + + // bounding data is not offset + arrayToBox( BOUNDING_DATA_INDEX( c1 ), float32Array, box1 ); + arrayToBox( BOUNDING_DATA_INDEX( c2 ), float32Array, box2 ); + + score1 = nodeScoreFunc( box1 ); + score2 = nodeScoreFunc( box2 ); + + if ( score2 < score1 ) { + + c1 = right; + c2 = left; + + const temp = score1; + score1 = score2; + score2 = temp; + + box1 = box2; + // box2 is always set before use below + + } + + } + + // Check box 1 intersection + if ( ! box1 ) { + + box1 = _box1; + arrayToBox( BOUNDING_DATA_INDEX( c1 ), float32Array, box1 ); + + } + + const isC1Leaf = IS_LEAF( c1 * 2, uint16Array ); + const c1Intersection = intersectsBoundsFunc( box1, isC1Leaf, score1, depth + 1, nodeIndexByteOffset + c1 ); + + let c1StopTraversal; + if ( c1Intersection === CONTAINED ) { + + const offset = getLeftOffset( c1 ); + const end = getRightEndOffset( c1 ); + const count = end - offset; + + c1StopTraversal = intersectsRangeFunc( offset, count, true, depth + 1, nodeIndexByteOffset + c1, box1 ); + + } else { + + c1StopTraversal = + c1Intersection && + shapecastTraverse( + c1, + geometry, + intersectsBoundsFunc, + intersectsRangeFunc, + nodeScoreFunc, + nodeIndexByteOffset, + depth + 1 + ); + + } + + if ( c1StopTraversal ) return true; + + // Check box 2 intersection + // cached box2 will have been overwritten by previous traversal + box2 = _box2; + arrayToBox( BOUNDING_DATA_INDEX( c2 ), float32Array, box2 ); + + const isC2Leaf = IS_LEAF( c2 * 2, uint16Array ); + const c2Intersection = intersectsBoundsFunc( box2, isC2Leaf, score2, depth + 1, nodeIndexByteOffset + c2 ); + + let c2StopTraversal; + if ( c2Intersection === CONTAINED ) { + + const offset = getLeftOffset( c2 ); + const end = getRightEndOffset( c2 ); + const count = end - offset; + + c2StopTraversal = intersectsRangeFunc( offset, count, true, depth + 1, nodeIndexByteOffset + c2, box2 ); + + } else { + + c2StopTraversal = + c2Intersection && + shapecastTraverse( + c2, + geometry, + intersectsBoundsFunc, + intersectsRangeFunc, + nodeScoreFunc, + nodeIndexByteOffset, + depth + 1 + ); + + } + + if ( c2StopTraversal ) return true; + + return false; + + } + + } + +} )(); + +const intersectsGeometry = ( function () { + + const triangle = new ExtendedTriangle(); + const triangle2 = new ExtendedTriangle(); + const invertedMat = new Matrix4(); + + const obb = new OrientedBox(); + const obb2 = new OrientedBox(); + + return function intersectsGeometry( nodeIndex32, geometry, otherGeometry, geometryToBvh, cachedObb = null ) { + + let nodeIndex16 = nodeIndex32 * 2, float32Array = _float32Array, uint16Array = _uint16Array, uint32Array = _uint32Array; + + if ( cachedObb === null ) { + + if ( ! otherGeometry.boundingBox ) { + + otherGeometry.computeBoundingBox(); + + } + + obb.set( otherGeometry.boundingBox.min, otherGeometry.boundingBox.max, geometryToBvh ); + cachedObb = obb; + + } + + const isLeaf = IS_LEAF( nodeIndex16, uint16Array ); + if ( isLeaf ) { + + const thisGeometry = geometry; + const thisIndex = thisGeometry.index; + const thisPos = thisGeometry.attributes.position; + + const index = otherGeometry.index; + const pos = otherGeometry.attributes.position; + + const offset = OFFSET( nodeIndex32, uint32Array ); + const count = COUNT( nodeIndex16, uint16Array ); + + // get the inverse of the geometry matrix so we can transform our triangles into the + // geometry space we're trying to test. We assume there are fewer triangles being checked + // here. + invertedMat.copy( geometryToBvh ).invert(); + + if ( otherGeometry.boundsTree ) { + + arrayToBox( BOUNDING_DATA_INDEX( nodeIndex32 ), float32Array, obb2 ); + obb2.matrix.copy( invertedMat ); + obb2.needsUpdate = true; + + const res = otherGeometry.boundsTree.shapecast( { + + intersectsBounds: box => obb2.intersectsBox( box ), + + intersectsTriangle: tri => { + + tri.a.applyMatrix4( geometryToBvh ); + tri.b.applyMatrix4( geometryToBvh ); + tri.c.applyMatrix4( geometryToBvh ); + tri.needsUpdate = true; + + for ( let i = offset * 3, l = ( count + offset ) * 3; i < l; i += 3 ) { + + // this triangle needs to be transformed into the current BVH coordinate frame + setTriangle( triangle2, i, thisIndex, thisPos ); + triangle2.needsUpdate = true; + if ( tri.intersectsTriangle( triangle2 ) ) { + + return true; + + } + + } + + return false; + + } + + } ); + + return res; + + } else { + + for ( let i = offset * 3, l = ( count + offset * 3 ); i < l; i += 3 ) { + + // this triangle needs to be transformed into the current BVH coordinate frame + setTriangle( triangle, i, thisIndex, thisPos ); + triangle.a.applyMatrix4( invertedMat ); + triangle.b.applyMatrix4( invertedMat ); + triangle.c.applyMatrix4( invertedMat ); + triangle.needsUpdate = true; + + for ( let i2 = 0, l2 = index.count; i2 < l2; i2 += 3 ) { + + setTriangle( triangle2, i2, index, pos ); + triangle2.needsUpdate = true; + + if ( triangle.intersectsTriangle( triangle2 ) ) { + + return true; + + } + + } + + } + + } + + } else { + + const left = nodeIndex32 + 8; + const right = uint32Array[ nodeIndex32 + 6 ]; + + arrayToBox( BOUNDING_DATA_INDEX( left ), float32Array, boundingBox ); + const leftIntersection = + cachedObb.intersectsBox( boundingBox ) && + intersectsGeometry( left, geometry, otherGeometry, geometryToBvh, cachedObb ); + + if ( leftIntersection ) return true; + + arrayToBox( BOUNDING_DATA_INDEX( right ), float32Array, boundingBox ); + const rightIntersection = + cachedObb.intersectsBox( boundingBox ) && + intersectsGeometry( right, geometry, otherGeometry, geometryToBvh, cachedObb ); + + if ( rightIntersection ) return true; + + return false; + + } + + }; + +} )(); + +function intersectRay( nodeIndex32, array, ray, target ) { + + arrayToBox( nodeIndex32, array, boundingBox ); + return ray.intersectBox( boundingBox, target ); + +} + +const bufferStack = []; +let _prevBuffer; +let _float32Array; +let _uint16Array; +let _uint32Array; +function setBuffer( buffer ) { + + if ( _prevBuffer ) { + + bufferStack.push( _prevBuffer ); + + } + + _prevBuffer = buffer; + _float32Array = new Float32Array( buffer ); + _uint16Array = new Uint16Array( buffer ); + _uint32Array = new Uint32Array( buffer ); + +} + +function clearBuffer() { + + _prevBuffer = null; + _float32Array = null; + _uint16Array = null; + _uint32Array = null; + + if ( bufferStack.length ) { + + setBuffer( bufferStack.pop() ); + + } + +} + +const SKIP_GENERATION = Symbol( 'skip tree generation' ); + +const aabb = /* @__PURE__ */ new Box3(); +const aabb2 = /* @__PURE__ */ new Box3(); +const tempMatrix = /* @__PURE__ */ new Matrix4(); +const obb = /* @__PURE__ */ new OrientedBox(); +const obb2 = /* @__PURE__ */ new OrientedBox(); +const temp = /* @__PURE__ */ new Vector3$1(); +const temp1 = /* @__PURE__ */ new Vector3$1(); +const temp2 = /* @__PURE__ */ new Vector3$1(); +const temp3 = /* @__PURE__ */ new Vector3$1(); +const temp4 = /* @__PURE__ */ new Vector3$1(); +const tempBox = /* @__PURE__ */ new Box3(); +const trianglePool = /* @__PURE__ */ new PrimitivePool( () => new ExtendedTriangle() ); + +class MeshBVH { + + static serialize( bvh, options = {} ) { + + if ( options.isBufferGeometry ) { + + console.warn( 'MeshBVH.serialize: The arguments for the function have changed. See documentation for new signature.' ); + + return MeshBVH.serialize( + arguments[ 0 ], + { + cloneBuffers: arguments[ 2 ] === undefined ? true : arguments[ 2 ], + } + ); + + } + + options = { + cloneBuffers: true, + ...options, + }; + + const geometry = bvh.geometry; + const rootData = bvh._roots; + const indexAttribute = geometry.getIndex(); + let result; + if ( options.cloneBuffers ) { + + result = { + roots: rootData.map( root => root.slice() ), + index: indexAttribute.array.slice(), + }; + + } else { + + result = { + roots: rootData, + index: indexAttribute.array, + }; + + } + + return result; + + } + + static deserialize( data, geometry, options = {} ) { + + if ( typeof options === 'boolean' ) { + + console.warn( 'MeshBVH.deserialize: The arguments for the function have changed. See documentation for new signature.' ); + + return MeshBVH.deserialize( + arguments[ 0 ], + arguments[ 1 ], + { + setIndex: arguments[ 2 ] === undefined ? true : arguments[ 2 ], + } + ); + + } + + options = { + setIndex: true, + ...options, + }; + + const { index, roots } = data; + const bvh = new MeshBVH( geometry, { ...options, [ SKIP_GENERATION ]: true } ); + bvh._roots = roots; + + if ( options.setIndex ) { + + const indexAttribute = geometry.getIndex(); + if ( indexAttribute === null ) { + + const newIndex = new BufferAttribute$1( data.index, 1, false ); + geometry.setIndex( newIndex ); + + } else if ( indexAttribute.array !== index ) { + + indexAttribute.array.set( index ); + indexAttribute.needsUpdate = true; + + } + + } + + return bvh; + + } + + constructor( geometry, options = {} ) { + + if ( ! geometry.isBufferGeometry ) { + + throw new Error( 'MeshBVH: Only BufferGeometries are supported.' ); + + } else if ( geometry.index && geometry.index.isInterleavedBufferAttribute ) { + + throw new Error( 'MeshBVH: InterleavedBufferAttribute is not supported for the index attribute.' ); + + } + + // default options + options = Object.assign( { + + strategy: CENTER, + maxDepth: 40, + maxLeafTris: 10, + verbose: true, + useSharedArrayBuffer: false, + setBoundingBox: true, + onProgress: null, + + // undocumented options + + // Whether to skip generating the tree. Used for deserialization. + [ SKIP_GENERATION ]: false, + + }, options ); + + if ( options.useSharedArrayBuffer && typeof SharedArrayBuffer === 'undefined' ) { + + throw new Error( 'MeshBVH: SharedArrayBuffer is not available.' ); + + } + + this._roots = null; + if ( ! options[ SKIP_GENERATION ] ) { + + this._roots = buildPackedTree( geometry, options ); + + if ( ! geometry.boundingBox && options.setBoundingBox ) { + + geometry.boundingBox = this.getBoundingBox( new Box3() ); + + } + + } + + // retain references to the geometry so we can use them it without having to + // take a geometry reference in every function. + this.geometry = geometry; + + } + + refit( nodeIndices = null ) { + + if ( nodeIndices && Array.isArray( nodeIndices ) ) { + + nodeIndices = new Set( nodeIndices ); + + } + + const geometry = this.geometry; + const indexArr = geometry.index.array; + const posAttr = geometry.attributes.position; + + let buffer, uint32Array, uint16Array, float32Array; + let byteOffset = 0; + const roots = this._roots; + for ( let i = 0, l = roots.length; i < l; i ++ ) { + + buffer = roots[ i ]; + uint32Array = new Uint32Array( buffer ); + uint16Array = new Uint16Array( buffer ); + float32Array = new Float32Array( buffer ); + + _traverse( 0, byteOffset ); + byteOffset += buffer.byteLength; + + } + + function _traverse( node32Index, byteOffset, force = false ) { + + const node16Index = node32Index * 2; + const isLeaf = uint16Array[ node16Index + 15 ] === IS_LEAFNODE_FLAG; + if ( isLeaf ) { + + const offset = uint32Array[ node32Index + 6 ]; + const count = uint16Array[ node16Index + 14 ]; + + let minx = Infinity; + let miny = Infinity; + let minz = Infinity; + let maxx = - Infinity; + let maxy = - Infinity; + let maxz = - Infinity; + + for ( let i = 3 * offset, l = 3 * ( offset + count ); i < l; i ++ ) { + + const index = indexArr[ i ]; + const x = posAttr.getX( index ); + const y = posAttr.getY( index ); + const z = posAttr.getZ( index ); + + if ( x < minx ) minx = x; + if ( x > maxx ) maxx = x; + + if ( y < miny ) miny = y; + if ( y > maxy ) maxy = y; + + if ( z < minz ) minz = z; + if ( z > maxz ) maxz = z; + + } + + if ( + float32Array[ node32Index + 0 ] !== minx || + float32Array[ node32Index + 1 ] !== miny || + float32Array[ node32Index + 2 ] !== minz || + + float32Array[ node32Index + 3 ] !== maxx || + float32Array[ node32Index + 4 ] !== maxy || + float32Array[ node32Index + 5 ] !== maxz + ) { + + float32Array[ node32Index + 0 ] = minx; + float32Array[ node32Index + 1 ] = miny; + float32Array[ node32Index + 2 ] = minz; + + float32Array[ node32Index + 3 ] = maxx; + float32Array[ node32Index + 4 ] = maxy; + float32Array[ node32Index + 5 ] = maxz; + + return true; + + } else { + + return false; + + } + + } else { + + const left = node32Index + 8; + const right = uint32Array[ node32Index + 6 ]; + + // the identifying node indices provided by the shapecast function include offsets of all + // root buffers to guarantee they're unique between roots so offset left and right indices here. + const offsetLeft = left + byteOffset; + const offsetRight = right + byteOffset; + let forceChildren = force; + let includesLeft = false; + let includesRight = false; + + if ( nodeIndices ) { + + // if we see that neither the left or right child are included in the set that need to be updated + // then we assume that all children need to be updated. + if ( ! forceChildren ) { + + includesLeft = nodeIndices.has( offsetLeft ); + includesRight = nodeIndices.has( offsetRight ); + forceChildren = ! includesLeft && ! includesRight; + + } + + } else { + + includesLeft = true; + includesRight = true; + + } + + const traverseLeft = forceChildren || includesLeft; + const traverseRight = forceChildren || includesRight; + + let leftChange = false; + if ( traverseLeft ) { + + leftChange = _traverse( left, byteOffset, forceChildren ); + + } + + let rightChange = false; + if ( traverseRight ) { + + rightChange = _traverse( right, byteOffset, forceChildren ); + + } + + const didChange = leftChange || rightChange; + if ( didChange ) { + + for ( let i = 0; i < 3; i ++ ) { + + const lefti = left + i; + const righti = right + i; + const minLeftValue = float32Array[ lefti ]; + const maxLeftValue = float32Array[ lefti + 3 ]; + const minRightValue = float32Array[ righti ]; + const maxRightValue = float32Array[ righti + 3 ]; + + float32Array[ node32Index + i ] = minLeftValue < minRightValue ? minLeftValue : minRightValue; + float32Array[ node32Index + i + 3 ] = maxLeftValue > maxRightValue ? maxLeftValue : maxRightValue; + + } + + } + + return didChange; + + } + + } + + } + + traverse( callback, rootIndex = 0 ) { + + const buffer = this._roots[ rootIndex ]; + const uint32Array = new Uint32Array( buffer ); + const uint16Array = new Uint16Array( buffer ); + _traverse( 0 ); + + function _traverse( node32Index, depth = 0 ) { + + const node16Index = node32Index * 2; + const isLeaf = uint16Array[ node16Index + 15 ] === IS_LEAFNODE_FLAG; + if ( isLeaf ) { + + const offset = uint32Array[ node32Index + 6 ]; + const count = uint16Array[ node16Index + 14 ]; + callback( depth, isLeaf, new Float32Array( buffer, node32Index * 4, 6 ), offset, count ); + + } else { + + // TODO: use node functions here + const left = node32Index + BYTES_PER_NODE / 4; + const right = uint32Array[ node32Index + 6 ]; + const splitAxis = uint32Array[ node32Index + 7 ]; + const stopTraversal = callback( depth, isLeaf, new Float32Array( buffer, node32Index * 4, 6 ), splitAxis ); + + if ( ! stopTraversal ) { + + _traverse( left, depth + 1 ); + _traverse( right, depth + 1 ); + + } + + } + + } + + } + + /* Core Cast Functions */ + raycast( ray, materialOrSide = FrontSide ) { + + const roots = this._roots; + const geometry = this.geometry; + const intersects = []; + const isMaterial = materialOrSide.isMaterial; + const isArrayMaterial = Array.isArray( materialOrSide ); + + const groups = geometry.groups; + const side = isMaterial ? materialOrSide.side : materialOrSide; + for ( let i = 0, l = roots.length; i < l; i ++ ) { + + const materialSide = isArrayMaterial ? materialOrSide[ groups[ i ].materialIndex ].side : side; + const startCount = intersects.length; + + setBuffer( roots[ i ] ); + raycast( 0, geometry, materialSide, ray, intersects ); + clearBuffer(); + + if ( isArrayMaterial ) { + + const materialIndex = groups[ i ].materialIndex; + for ( let j = startCount, jl = intersects.length; j < jl; j ++ ) { + + intersects[ j ].face.materialIndex = materialIndex; + + } + + } + + } + + return intersects; + + } + + raycastFirst( ray, materialOrSide = FrontSide ) { + + const roots = this._roots; + const geometry = this.geometry; + const isMaterial = materialOrSide.isMaterial; + const isArrayMaterial = Array.isArray( materialOrSide ); + + let closestResult = null; + + const groups = geometry.groups; + const side = isMaterial ? materialOrSide.side : materialOrSide; + for ( let i = 0, l = roots.length; i < l; i ++ ) { + + const materialSide = isArrayMaterial ? materialOrSide[ groups[ i ].materialIndex ].side : side; + + setBuffer( roots[ i ] ); + const result = raycastFirst( 0, geometry, materialSide, ray ); + clearBuffer(); + + if ( result != null && ( closestResult == null || result.distance < closestResult.distance ) ) { + + closestResult = result; + if ( isArrayMaterial ) { + + result.face.materialIndex = groups[ i ].materialIndex; + + } + + } + + } + + return closestResult; + + } + + intersectsGeometry( otherGeometry, geomToMesh ) { + + const geometry = this.geometry; + let result = false; + for ( const root of this._roots ) { + + setBuffer( root ); + result = intersectsGeometry( 0, geometry, otherGeometry, geomToMesh ); + clearBuffer(); + + if ( result ) { + + break; + + } + + } + + return result; + + } + + shapecast( callbacks, _intersectsTriangleFunc, _orderNodesFunc ) { + + const geometry = this.geometry; + if ( callbacks instanceof Function ) { + + if ( _intersectsTriangleFunc ) { + + // Support the previous function signature that provided three sequential index buffer + // indices here. + const originalTriangleFunc = _intersectsTriangleFunc; + _intersectsTriangleFunc = ( tri, index, contained, depth ) => { + + const i3 = index * 3; + return originalTriangleFunc( tri, i3, i3 + 1, i3 + 2, contained, depth ); + + }; + + + } + + callbacks = { + + boundsTraverseOrder: _orderNodesFunc, + intersectsBounds: callbacks, + intersectsTriangle: _intersectsTriangleFunc, + intersectsRange: null, + + }; + + console.warn( 'MeshBVH: Shapecast function signature has changed and now takes an object of callbacks as a second argument. See docs for new signature.' ); + + } + + const triangle = trianglePool.getPrimitive(); + let { + boundsTraverseOrder, + intersectsBounds, + intersectsRange, + intersectsTriangle, + } = callbacks; + + if ( intersectsRange && intersectsTriangle ) { + + const originalIntersectsRange = intersectsRange; + intersectsRange = ( offset, count, contained, depth, nodeIndex ) => { + + if ( ! originalIntersectsRange( offset, count, contained, depth, nodeIndex ) ) { + + return iterateOverTriangles( offset, count, geometry, intersectsTriangle, contained, depth, triangle ); + + } + + return true; + + }; + + } else if ( ! intersectsRange ) { + + if ( intersectsTriangle ) { + + intersectsRange = ( offset, count, contained, depth ) => { + + return iterateOverTriangles( offset, count, geometry, intersectsTriangle, contained, depth, triangle ); + + }; + + } else { + + intersectsRange = ( offset, count, contained ) => { + + return contained; + + }; + + } + + } + + let result = false; + let byteOffset = 0; + for ( const root of this._roots ) { + + setBuffer( root ); + result = shapecast( 0, geometry, intersectsBounds, intersectsRange, boundsTraverseOrder, byteOffset ); + clearBuffer(); + + if ( result ) { + + break; + + } + + byteOffset += root.byteLength; + + } + + trianglePool.releasePrimitive( triangle ); + + return result; + + } + + bvhcast( otherBvh, matrixToLocal, callbacks ) { + + // BVHCast function for intersecting two BVHs against each other. Ultimately just uses two recursive shapecast calls rather + // than an approach that walks down the tree (see bvhcast.js file for more info). + + let { + intersectsRanges, + intersectsTriangles, + } = callbacks; + + const indexAttr = this.geometry.index; + const positionAttr = this.geometry.attributes.position; + + const otherIndexAttr = otherBvh.geometry.index; + const otherPositionAttr = otherBvh.geometry.attributes.position; + + tempMatrix.copy( matrixToLocal ).invert(); + + const triangle = trianglePool.getPrimitive(); + const triangle2 = trianglePool.getPrimitive(); + + if ( intersectsTriangles ) { + + function iterateOverDoubleTriangles( offset1, count1, offset2, count2, depth1, index1, depth2, index2 ) { + + for ( let i2 = offset2, l2 = offset2 + count2; i2 < l2; i2 ++ ) { + + setTriangle( triangle2, i2 * 3, otherIndexAttr, otherPositionAttr ); + triangle2.a.applyMatrix4( matrixToLocal ); + triangle2.b.applyMatrix4( matrixToLocal ); + triangle2.c.applyMatrix4( matrixToLocal ); + triangle2.needsUpdate = true; + + for ( let i1 = offset1, l1 = offset1 + count1; i1 < l1; i1 ++ ) { + + setTriangle( triangle, i1 * 3, indexAttr, positionAttr ); + triangle.needsUpdate = true; + + if ( intersectsTriangles( triangle, triangle2, i1, i2, depth1, index1, depth2, index2 ) ) { + + return true; + + } + + } + + } + + return false; + + } + + if ( intersectsRanges ) { + + const originalIntersectsRanges = intersectsRanges; + intersectsRanges = function ( offset1, count1, offset2, count2, depth1, index1, depth2, index2 ) { + + if ( ! originalIntersectsRanges( offset1, count1, offset2, count2, depth1, index1, depth2, index2 ) ) { + + return iterateOverDoubleTriangles( offset1, count1, offset2, count2, depth1, index1, depth2, index2 ); + + } + + return true; + + }; + + } else { + + intersectsRanges = iterateOverDoubleTriangles; + + } + + } + + otherBvh.getBoundingBox( aabb2 ); + aabb2.applyMatrix4( matrixToLocal ); + const result = this.shapecast( { + + intersectsBounds: box => aabb2.intersectsBox( box ), + + intersectsRange: ( offset1, count1, contained, depth1, nodeIndex1, box ) => { + + aabb.copy( box ); + aabb.applyMatrix4( tempMatrix ); + return otherBvh.shapecast( { + + intersectsBounds: box => aabb.intersectsBox( box ), + + intersectsRange: ( offset2, count2, contained, depth2, nodeIndex2 ) => { + + return intersectsRanges( offset1, count1, offset2, count2, depth1, nodeIndex1, depth2, nodeIndex2 ); + + }, + + } ); + + } + + } ); + + trianglePool.releasePrimitive( triangle ); + trianglePool.releasePrimitive( triangle2 ); + return result; + + } + + /* Derived Cast Functions */ + intersectsBox( box, boxToMesh ) { + + obb.set( box.min, box.max, boxToMesh ); + obb.needsUpdate = true; + + return this.shapecast( + { + intersectsBounds: box => obb.intersectsBox( box ), + intersectsTriangle: tri => obb.intersectsTriangle( tri ) + } + ); + + } + + intersectsSphere( sphere ) { + + return this.shapecast( + { + intersectsBounds: box => sphere.intersectsBox( box ), + intersectsTriangle: tri => tri.intersectsSphere( sphere ) + } + ); + + } + + closestPointToGeometry( otherGeometry, geometryToBvh, target1 = { }, target2 = { }, minThreshold = 0, maxThreshold = Infinity ) { + + if ( ! otherGeometry.boundingBox ) { + + otherGeometry.computeBoundingBox(); + + } + + obb.set( otherGeometry.boundingBox.min, otherGeometry.boundingBox.max, geometryToBvh ); + obb.needsUpdate = true; + + const geometry = this.geometry; + const pos = geometry.attributes.position; + const index = geometry.index; + const otherPos = otherGeometry.attributes.position; + const otherIndex = otherGeometry.index; + const triangle = trianglePool.getPrimitive(); + const triangle2 = trianglePool.getPrimitive(); + + let tempTarget1 = temp1; + let tempTargetDest1 = temp2; + let tempTarget2 = null; + let tempTargetDest2 = null; + + if ( target2 ) { + + tempTarget2 = temp3; + tempTargetDest2 = temp4; + + } + + let closestDistance = Infinity; + let closestDistanceTriIndex = null; + let closestDistanceOtherTriIndex = null; + tempMatrix.copy( geometryToBvh ).invert(); + obb2.matrix.copy( tempMatrix ); + this.shapecast( + { + + boundsTraverseOrder: box => { + + return obb.distanceToBox( box ); + + }, + + intersectsBounds: ( box, isLeaf, score ) => { + + if ( score < closestDistance && score < maxThreshold ) { + + // if we know the triangles of this bounds will be intersected next then + // save the bounds to use during triangle checks. + if ( isLeaf ) { + + obb2.min.copy( box.min ); + obb2.max.copy( box.max ); + obb2.needsUpdate = true; + + } + + return true; + + } + + return false; + + }, + + intersectsRange: ( offset, count ) => { + + if ( otherGeometry.boundsTree ) { + + // if the other geometry has a bvh then use the accelerated path where we use shapecast to find + // the closest bounds in the other geometry to check. + return otherGeometry.boundsTree.shapecast( { + boundsTraverseOrder: box => { + + return obb2.distanceToBox( box ); + + }, + + intersectsBounds: ( box, isLeaf, score ) => { + + return score < closestDistance && score < maxThreshold; + + }, + + intersectsRange: ( otherOffset, otherCount ) => { + + for ( let i2 = otherOffset * 3, l2 = ( otherOffset + otherCount ) * 3; i2 < l2; i2 += 3 ) { + + setTriangle( triangle2, i2, otherIndex, otherPos ); + triangle2.a.applyMatrix4( geometryToBvh ); + triangle2.b.applyMatrix4( geometryToBvh ); + triangle2.c.applyMatrix4( geometryToBvh ); + triangle2.needsUpdate = true; + + for ( let i = offset * 3, l = ( offset + count ) * 3; i < l; i += 3 ) { + + setTriangle( triangle, i, index, pos ); + triangle.needsUpdate = true; + + const dist = triangle.distanceToTriangle( triangle2, tempTarget1, tempTarget2 ); + if ( dist < closestDistance ) { + + tempTargetDest1.copy( tempTarget1 ); + + if ( tempTargetDest2 ) { + + tempTargetDest2.copy( tempTarget2 ); + + } + + closestDistance = dist; + closestDistanceTriIndex = i / 3; + closestDistanceOtherTriIndex = i2 / 3; + + } + + // stop traversal if we find a point that's under the given threshold + if ( dist < minThreshold ) { + + return true; + + } + + } + + } + + }, + } ); + + } else { + + // If no bounds tree then we'll just check every triangle. + const triCount = otherIndex ? otherIndex.count : otherPos.count; + for ( let i2 = 0, l2 = triCount; i2 < l2; i2 += 3 ) { + + setTriangle( triangle2, i2, otherIndex, otherPos ); + triangle2.a.applyMatrix4( geometryToBvh ); + triangle2.b.applyMatrix4( geometryToBvh ); + triangle2.c.applyMatrix4( geometryToBvh ); + triangle2.needsUpdate = true; + + for ( let i = offset * 3, l = ( offset + count ) * 3; i < l; i += 3 ) { + + setTriangle( triangle, i, index, pos ); + triangle.needsUpdate = true; + + const dist = triangle.distanceToTriangle( triangle2, tempTarget1, tempTarget2 ); + if ( dist < closestDistance ) { + + tempTargetDest1.copy( tempTarget1 ); + + if ( tempTargetDest2 ) { + + tempTargetDest2.copy( tempTarget2 ); + + } + + closestDistance = dist; + closestDistanceTriIndex = i / 3; + closestDistanceOtherTriIndex = i2 / 3; + + } + + // stop traversal if we find a point that's under the given threshold + if ( dist < minThreshold ) { + + return true; + + } + + } + + } + + } + + }, + + } + + ); + + trianglePool.releasePrimitive( triangle ); + trianglePool.releasePrimitive( triangle2 ); + + if ( closestDistance === Infinity ) return null; + + if ( ! target1.point ) target1.point = tempTargetDest1.clone(); + else target1.point.copy( tempTargetDest1 ); + target1.distance = closestDistance, + target1.faceIndex = closestDistanceTriIndex; + + if ( target2 ) { + + if ( ! target2.point ) target2.point = tempTargetDest2.clone(); + else target2.point.copy( tempTargetDest2 ); + target2.point.applyMatrix4( tempMatrix ); + tempTargetDest1.applyMatrix4( tempMatrix ); + target2.distance = tempTargetDest1.sub( target2.point ).length(); + target2.faceIndex = closestDistanceOtherTriIndex; + + } + + return target1; + + } + + closestPointToPoint( point, target = { }, minThreshold = 0, maxThreshold = Infinity ) { + + // early out if under minThreshold + // skip checking if over maxThreshold + // set minThreshold = maxThreshold to quickly check if a point is within a threshold + // returns Infinity if no value found + const minThresholdSq = minThreshold * minThreshold; + const maxThresholdSq = maxThreshold * maxThreshold; + let closestDistanceSq = Infinity; + let closestDistanceTriIndex = null; + this.shapecast( + + { + + boundsTraverseOrder: box => { + + temp.copy( point ).clamp( box.min, box.max ); + return temp.distanceToSquared( point ); + + }, + + intersectsBounds: ( box, isLeaf, score ) => { + + return score < closestDistanceSq && score < maxThresholdSq; + + }, + + intersectsTriangle: ( tri, triIndex ) => { + + tri.closestPointToPoint( point, temp ); + const distSq = point.distanceToSquared( temp ); + if ( distSq < closestDistanceSq ) { + + temp1.copy( temp ); + closestDistanceSq = distSq; + closestDistanceTriIndex = triIndex; + + } + + if ( distSq < minThresholdSq ) { + + return true; + + } else { + + return false; + + } + + }, + + } + + ); + + if ( closestDistanceSq === Infinity ) return null; + + const closestDistance = Math.sqrt( closestDistanceSq ); + + if ( ! target.point ) target.point = temp1.clone(); + else target.point.copy( temp1 ); + target.distance = closestDistance, + target.faceIndex = closestDistanceTriIndex; + + return target; + + } + + getBoundingBox( target ) { + + target.makeEmpty(); + + const roots = this._roots; + roots.forEach( buffer => { + + arrayToBox( 0, new Float32Array( buffer ), tempBox ); + target.union( tempBox ); + + } ); + + return target; + + } + +} + +const ray = /* @__PURE__ */ new Ray(); +const tmpInverseMatrix = /* @__PURE__ */ new Matrix4(); +const origMeshRaycastFunc = Mesh.prototype.raycast; + +function acceleratedRaycast( raycaster, intersects ) { + + if ( this.geometry.boundsTree ) { + + if ( this.material === undefined ) return; + + tmpInverseMatrix.copy( this.matrixWorld ).invert(); + ray.copy( raycaster.ray ).applyMatrix4( tmpInverseMatrix ); + + const bvh = this.geometry.boundsTree; + if ( raycaster.firstHitOnly === true ) { + + const hit = convertRaycastIntersect( bvh.raycastFirst( ray, this.material ), this, raycaster ); + if ( hit ) { + + intersects.push( hit ); + + } + + } else { + + const hits = bvh.raycast( ray, this.material ); + for ( let i = 0, l = hits.length; i < l; i ++ ) { + + const hit = convertRaycastIntersect( hits[ i ], this, raycaster ); + if ( hit ) { + + intersects.push( hit ); + + } + + } + + } + + } else { + + origMeshRaycastFunc.call( this, raycaster, intersects ); + + } + +} + +function computeBoundsTree( options ) { + + this.boundsTree = new MeshBVH( this, options ); + return this.boundsTree; + +} + +function disposeBoundsTree() { + + this.boundsTree = null; + +} + +var top = 'top'; +var bottom = 'bottom'; +var right = 'right'; +var left = 'left'; +var auto = 'auto'; +var basePlacements = [top, bottom, right, left]; +var start = 'start'; +var end = 'end'; +var clippingParents = 'clippingParents'; +var viewport = 'viewport'; +var popper = 'popper'; +var reference = 'reference'; +var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) { + return acc.concat([placement + "-" + start, placement + "-" + end]); +}, []); +var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) { + return acc.concat([placement, placement + "-" + start, placement + "-" + end]); +}, []); // modifiers that need to read the DOM + +var beforeRead = 'beforeRead'; +var read = 'read'; +var afterRead = 'afterRead'; // pure-logic modifiers + +var beforeMain = 'beforeMain'; +var main = 'main'; +var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state) + +var beforeWrite = 'beforeWrite'; +var write = 'write'; +var afterWrite = 'afterWrite'; +var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; + +function getNodeName(element) { + return element ? (element.nodeName || '').toLowerCase() : null; +} + +function getWindow(node) { + if (node == null) { + return window; + } + + if (node.toString() !== '[object Window]') { + var ownerDocument = node.ownerDocument; + return ownerDocument ? ownerDocument.defaultView || window : window; + } + + return node; +} + +function isElement(node) { + var OwnElement = getWindow(node).Element; + return node instanceof OwnElement || node instanceof Element; +} + +function isHTMLElement(node) { + var OwnElement = getWindow(node).HTMLElement; + return node instanceof OwnElement || node instanceof HTMLElement; +} + +function isShadowRoot(node) { + // IE 11 has no ShadowRoot + if (typeof ShadowRoot === 'undefined') { + return false; + } + + var OwnElement = getWindow(node).ShadowRoot; + return node instanceof OwnElement || node instanceof ShadowRoot; +} + +// and applies them to the HTMLElements such as popper and arrow + +function applyStyles(_ref) { + var state = _ref.state; + Object.keys(state.elements).forEach(function (name) { + var style = state.styles[name] || {}; + var attributes = state.attributes[name] || {}; + var element = state.elements[name]; // arrow is optional + virtual elements + + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } // Flow doesn't support to extend this property, but it's the most + // effective way to apply styles to an HTMLElement + // $FlowFixMe[cannot-write] + + + Object.assign(element.style, style); + Object.keys(attributes).forEach(function (name) { + var value = attributes[name]; + + if (value === false) { + element.removeAttribute(name); + } else { + element.setAttribute(name, value === true ? '' : value); + } + }); + }); +} + +function effect$2(_ref2) { + var state = _ref2.state; + var initialStyles = { + popper: { + position: state.options.strategy, + left: '0', + top: '0', + margin: '0' + }, + arrow: { + position: 'absolute' + }, + reference: {} + }; + Object.assign(state.elements.popper.style, initialStyles.popper); + state.styles = initialStyles; + + if (state.elements.arrow) { + Object.assign(state.elements.arrow.style, initialStyles.arrow); + } + + return function () { + Object.keys(state.elements).forEach(function (name) { + var element = state.elements[name]; + var attributes = state.attributes[name] || {}; + var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them + + var style = styleProperties.reduce(function (style, property) { + style[property] = ''; + return style; + }, {}); // arrow is optional + virtual elements + + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + + Object.assign(element.style, style); + Object.keys(attributes).forEach(function (attribute) { + element.removeAttribute(attribute); + }); + }); + }; +} // eslint-disable-next-line import/no-unused-modules + + +var applyStyles$1 = { + name: 'applyStyles', + enabled: true, + phase: 'write', + fn: applyStyles, + effect: effect$2, + requires: ['computeStyles'] +}; + +function getBasePlacement(placement) { + return placement.split('-')[0]; +} + +var max = Math.max; +var min = Math.min; +var round = Math.round; + +function getUAString() { + var uaData = navigator.userAgentData; + + if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) { + return uaData.brands.map(function (item) { + return item.brand + "/" + item.version; + }).join(' '); + } + + return navigator.userAgent; +} + +function isLayoutViewport() { + return !/^((?!chrome|android).)*safari/i.test(getUAString()); +} + +function getBoundingClientRect(element, includeScale, isFixedStrategy) { + if (includeScale === void 0) { + includeScale = false; + } + + if (isFixedStrategy === void 0) { + isFixedStrategy = false; + } + + var clientRect = element.getBoundingClientRect(); + var scaleX = 1; + var scaleY = 1; + + if (includeScale && isHTMLElement(element)) { + scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1; + scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1; + } + + var _ref = isElement(element) ? getWindow(element) : window, + visualViewport = _ref.visualViewport; + + var addVisualOffsets = !isLayoutViewport() && isFixedStrategy; + var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX; + var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY; + var width = clientRect.width / scaleX; + var height = clientRect.height / scaleY; + return { + width: width, + height: height, + top: y, + right: x + width, + bottom: y + height, + left: x, + x: x, + y: y + }; +} + +// means it doesn't take into account transforms. + +function getLayoutRect(element) { + var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed. + // Fixes https://github.com/popperjs/popper-core/issues/1223 + + var width = element.offsetWidth; + var height = element.offsetHeight; + + if (Math.abs(clientRect.width - width) <= 1) { + width = clientRect.width; + } + + if (Math.abs(clientRect.height - height) <= 1) { + height = clientRect.height; + } + + return { + x: element.offsetLeft, + y: element.offsetTop, + width: width, + height: height + }; +} + +function contains(parent, child) { + var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method + + if (parent.contains(child)) { + return true; + } // then fallback to custom implementation with Shadow DOM support + else if (rootNode && isShadowRoot(rootNode)) { + var next = child; + + do { + if (next && parent.isSameNode(next)) { + return true; + } // $FlowFixMe[prop-missing]: need a better way to handle this... + + + next = next.parentNode || next.host; + } while (next); + } // Give up, the result is false + + + return false; +} + +function getComputedStyle(element) { + return getWindow(element).getComputedStyle(element); +} + +function isTableElement(element) { + return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0; +} + +function getDocumentElement(element) { + // $FlowFixMe[incompatible-return]: assume body is always available + return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing] + element.document) || window.document).documentElement; +} + +function getParentNode(element) { + if (getNodeName(element) === 'html') { + return element; + } + + return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle + // $FlowFixMe[incompatible-return] + // $FlowFixMe[prop-missing] + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || ( // DOM Element detected + isShadowRoot(element) ? element.host : null) || // ShadowRoot detected + // $FlowFixMe[incompatible-call]: HTMLElement is a Node + getDocumentElement(element) // fallback + + ); +} + +function getTrueOffsetParent(element) { + if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837 + getComputedStyle(element).position === 'fixed') { + return null; + } + + return element.offsetParent; +} // `.offsetParent` reports `null` for fixed elements, while absolute elements +// return the containing block + + +function getContainingBlock(element) { + var isFirefox = /firefox/i.test(getUAString()); + var isIE = /Trident/i.test(getUAString()); + + if (isIE && isHTMLElement(element)) { + // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport + var elementCss = getComputedStyle(element); + + if (elementCss.position === 'fixed') { + return null; + } + } + + var currentNode = getParentNode(element); + + if (isShadowRoot(currentNode)) { + currentNode = currentNode.host; + } + + while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) { + var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that + // create a containing block. + // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block + + if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') { + return currentNode; + } else { + currentNode = currentNode.parentNode; + } + } + + return null; +} // Gets the closest ancestor positioned element. Handles some edge cases, +// such as table ancestors and cross browser bugs. + + +function getOffsetParent(element) { + var window = getWindow(element); + var offsetParent = getTrueOffsetParent(element); + + while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') { + offsetParent = getTrueOffsetParent(offsetParent); + } + + if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) { + return window; + } + + return offsetParent || getContainingBlock(element) || window; +} + +function getMainAxisFromPlacement(placement) { + return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; +} + +function within(min$1, value, max$1) { + return max(min$1, min(value, max$1)); +} +function withinMaxClamp(min, value, max) { + var v = within(min, value, max); + return v > max ? max : v; +} + +function getFreshSideObject() { + return { + top: 0, + right: 0, + bottom: 0, + left: 0 + }; +} + +function mergePaddingObject(paddingObject) { + return Object.assign({}, getFreshSideObject(), paddingObject); +} + +function expandToHashMap(value, keys) { + return keys.reduce(function (hashMap, key) { + hashMap[key] = value; + return hashMap; + }, {}); +} + +var toPaddingObject = function toPaddingObject(padding, state) { + padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, { + placement: state.placement + })) : padding; + return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); +}; + +function arrow(_ref) { + var _state$modifiersData$; + + var state = _ref.state, + name = _ref.name, + options = _ref.options; + var arrowElement = state.elements.arrow; + var popperOffsets = state.modifiersData.popperOffsets; + var basePlacement = getBasePlacement(state.placement); + var axis = getMainAxisFromPlacement(basePlacement); + var isVertical = [left, right].indexOf(basePlacement) >= 0; + var len = isVertical ? 'height' : 'width'; + + if (!arrowElement || !popperOffsets) { + return; + } + + var paddingObject = toPaddingObject(options.padding, state); + var arrowRect = getLayoutRect(arrowElement); + var minProp = axis === 'y' ? top : left; + var maxProp = axis === 'y' ? bottom : right; + var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len]; + var startDiff = popperOffsets[axis] - state.rects.reference[axis]; + var arrowOffsetParent = getOffsetParent(arrowElement); + var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; + var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is + // outside of the popper bounds + + var min = paddingObject[minProp]; + var max = clientSize - arrowRect[len] - paddingObject[maxProp]; + var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; + var offset = within(min, center, max); // Prevents breaking syntax highlighting... + + var axisProp = axis; + state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$); +} + +function effect$1(_ref2) { + var state = _ref2.state, + options = _ref2.options; + var _options$element = options.element, + arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element; + + if (arrowElement == null) { + return; + } // CSS selector + + + if (typeof arrowElement === 'string') { + arrowElement = state.elements.popper.querySelector(arrowElement); + + if (!arrowElement) { + return; + } + } + + if (!contains(state.elements.popper, arrowElement)) { + return; + } + + state.elements.arrow = arrowElement; +} // eslint-disable-next-line import/no-unused-modules + + +var arrow$1 = { + name: 'arrow', + enabled: true, + phase: 'main', + fn: arrow, + effect: effect$1, + requires: ['popperOffsets'], + requiresIfExists: ['preventOverflow'] +}; + +function getVariation(placement) { + return placement.split('-')[1]; +} + +var unsetSides = { + top: 'auto', + right: 'auto', + bottom: 'auto', + left: 'auto' +}; // Round the offsets to the nearest suitable subpixel based on the DPR. +// Zooming can change the DPR, but it seems to report a value that will +// cleanly divide the values into the appropriate subpixels. + +function roundOffsetsByDPR(_ref, win) { + var x = _ref.x, + y = _ref.y; + var dpr = win.devicePixelRatio || 1; + return { + x: round(x * dpr) / dpr || 0, + y: round(y * dpr) / dpr || 0 + }; +} + +function mapToStyles(_ref2) { + var _Object$assign2; + + var popper = _ref2.popper, + popperRect = _ref2.popperRect, + placement = _ref2.placement, + variation = _ref2.variation, + offsets = _ref2.offsets, + position = _ref2.position, + gpuAcceleration = _ref2.gpuAcceleration, + adaptive = _ref2.adaptive, + roundOffsets = _ref2.roundOffsets, + isFixed = _ref2.isFixed; + var _offsets$x = offsets.x, + x = _offsets$x === void 0 ? 0 : _offsets$x, + _offsets$y = offsets.y, + y = _offsets$y === void 0 ? 0 : _offsets$y; + + var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({ + x: x, + y: y + }) : { + x: x, + y: y + }; + + x = _ref3.x; + y = _ref3.y; + var hasX = offsets.hasOwnProperty('x'); + var hasY = offsets.hasOwnProperty('y'); + var sideX = left; + var sideY = top; + var win = window; + + if (adaptive) { + var offsetParent = getOffsetParent(popper); + var heightProp = 'clientHeight'; + var widthProp = 'clientWidth'; + + if (offsetParent === getWindow(popper)) { + offsetParent = getDocumentElement(popper); + + if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') { + heightProp = 'scrollHeight'; + widthProp = 'scrollWidth'; + } + } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it + + + offsetParent = offsetParent; + + if (placement === top || (placement === left || placement === right) && variation === end) { + sideY = bottom; + var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing] + offsetParent[heightProp]; + y -= offsetY - popperRect.height; + y *= gpuAcceleration ? 1 : -1; + } + + if (placement === left || (placement === top || placement === bottom) && variation === end) { + sideX = right; + var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing] + offsetParent[widthProp]; + x -= offsetX - popperRect.width; + x *= gpuAcceleration ? 1 : -1; + } + } + + var commonStyles = Object.assign({ + position: position + }, adaptive && unsetSides); + + var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ + x: x, + y: y + }, getWindow(popper)) : { + x: x, + y: y + }; + + x = _ref4.x; + y = _ref4.y; + + if (gpuAcceleration) { + var _Object$assign; + + return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); + } + + return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2)); +} + +function computeStyles(_ref5) { + var state = _ref5.state, + options = _ref5.options; + var _options$gpuAccelerat = options.gpuAcceleration, + gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, + _options$adaptive = options.adaptive, + adaptive = _options$adaptive === void 0 ? true : _options$adaptive, + _options$roundOffsets = options.roundOffsets, + roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; + var commonStyles = { + placement: getBasePlacement(state.placement), + variation: getVariation(state.placement), + popper: state.elements.popper, + popperRect: state.rects.popper, + gpuAcceleration: gpuAcceleration, + isFixed: state.options.strategy === 'fixed' + }; + + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive: adaptive, + roundOffsets: roundOffsets + }))); + } + + if (state.modifiersData.arrow != null) { + state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.arrow, + position: 'absolute', + adaptive: false, + roundOffsets: roundOffsets + }))); + } + + state.attributes.popper = Object.assign({}, state.attributes.popper, { + 'data-popper-placement': state.placement + }); +} // eslint-disable-next-line import/no-unused-modules + + +var computeStyles$1 = { + name: 'computeStyles', + enabled: true, + phase: 'beforeWrite', + fn: computeStyles, + data: {} +}; + +var passive = { + passive: true +}; + +function effect(_ref) { + var state = _ref.state, + instance = _ref.instance, + options = _ref.options; + var _options$scroll = options.scroll, + scroll = _options$scroll === void 0 ? true : _options$scroll, + _options$resize = options.resize, + resize = _options$resize === void 0 ? true : _options$resize; + var window = getWindow(state.elements.popper); + var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); + + if (scroll) { + scrollParents.forEach(function (scrollParent) { + scrollParent.addEventListener('scroll', instance.update, passive); + }); + } + + if (resize) { + window.addEventListener('resize', instance.update, passive); + } + + return function () { + if (scroll) { + scrollParents.forEach(function (scrollParent) { + scrollParent.removeEventListener('scroll', instance.update, passive); + }); + } + + if (resize) { + window.removeEventListener('resize', instance.update, passive); + } + }; +} // eslint-disable-next-line import/no-unused-modules + + +var eventListeners = { + name: 'eventListeners', + enabled: true, + phase: 'write', + fn: function fn() {}, + effect: effect, + data: {} +}; + +var hash$1 = { + left: 'right', + right: 'left', + bottom: 'top', + top: 'bottom' +}; +function getOppositePlacement(placement) { + return placement.replace(/left|right|bottom|top/g, function (matched) { + return hash$1[matched]; + }); +} + +var hash = { + start: 'end', + end: 'start' +}; +function getOppositeVariationPlacement(placement) { + return placement.replace(/start|end/g, function (matched) { + return hash[matched]; + }); +} + +function getWindowScroll(node) { + var win = getWindow(node); + var scrollLeft = win.pageXOffset; + var scrollTop = win.pageYOffset; + return { + scrollLeft: scrollLeft, + scrollTop: scrollTop + }; +} + +function getWindowScrollBarX(element) { + // If has a CSS width greater than the viewport, then this will be + // incorrect for RTL. + // Popper 1 is broken in this case and never had a bug report so let's assume + // it's not an issue. I don't think anyone ever specifies width on + // anyway. + // Browsers where the left scrollbar doesn't cause an issue report `0` for + // this (e.g. Edge 2019, IE11, Safari) + return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; +} + +function getViewportRect(element, strategy) { + var win = getWindow(element); + var html = getDocumentElement(element); + var visualViewport = win.visualViewport; + var width = html.clientWidth; + var height = html.clientHeight; + var x = 0; + var y = 0; + + if (visualViewport) { + width = visualViewport.width; + height = visualViewport.height; + var layoutViewport = isLayoutViewport(); + + if (layoutViewport || !layoutViewport && strategy === 'fixed') { + x = visualViewport.offsetLeft; + y = visualViewport.offsetTop; + } + } + + return { + width: width, + height: height, + x: x + getWindowScrollBarX(element), + y: y + }; +} + +// of the `` and `` rect bounds if horizontally scrollable + +function getDocumentRect(element) { + var _element$ownerDocumen; + + var html = getDocumentElement(element); + var winScroll = getWindowScroll(element); + var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; + var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); + var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); + var x = -winScroll.scrollLeft + getWindowScrollBarX(element); + var y = -winScroll.scrollTop; + + if (getComputedStyle(body || html).direction === 'rtl') { + x += max(html.clientWidth, body ? body.clientWidth : 0) - width; + } + + return { + width: width, + height: height, + x: x, + y: y + }; +} + +function isScrollParent(element) { + // Firefox wants us to check `-x` and `-y` variations as well + var _getComputedStyle = getComputedStyle(element), + overflow = _getComputedStyle.overflow, + overflowX = _getComputedStyle.overflowX, + overflowY = _getComputedStyle.overflowY; + + return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); +} + +function getScrollParent(node) { + if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) { + // $FlowFixMe[incompatible-return]: assume body is always available + return node.ownerDocument.body; + } + + if (isHTMLElement(node) && isScrollParent(node)) { + return node; + } + + return getScrollParent(getParentNode(node)); +} + +/* +given a DOM element, return the list of all scroll parents, up the list of ancesors +until we get to the top window object. This list is what we attach scroll listeners +to, because if any of these parent elements scroll, we'll need to re-calculate the +reference element's position. +*/ + +function listScrollParents(element, list) { + var _element$ownerDocumen; + + if (list === void 0) { + list = []; + } + + var scrollParent = getScrollParent(element); + var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent; + var updatedList = list.concat(target); + return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here + updatedList.concat(listScrollParents(getParentNode(target))); +} + +function rectToClientRect(rect) { + return Object.assign({}, rect, { + left: rect.x, + top: rect.y, + right: rect.x + rect.width, + bottom: rect.y + rect.height + }); +} + +function getInnerBoundingClientRect(element, strategy) { + var rect = getBoundingClientRect(element, false, strategy === 'fixed'); + rect.top = rect.top + element.clientTop; + rect.left = rect.left + element.clientLeft; + rect.bottom = rect.top + element.clientHeight; + rect.right = rect.left + element.clientWidth; + rect.width = element.clientWidth; + rect.height = element.clientHeight; + rect.x = rect.left; + rect.y = rect.top; + return rect; +} + +function getClientRectFromMixedType(element, clippingParent, strategy) { + return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element))); +} // A "clipping parent" is an overflowable container with the characteristic of +// clipping (or hiding) overflowing elements with a position different from +// `initial` + + +function getClippingParents(element) { + var clippingParents = listScrollParents(getParentNode(element)); + var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0; + var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; + + if (!isElement(clipperElement)) { + return []; + } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414 + + + return clippingParents.filter(function (clippingParent) { + return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body'; + }); +} // Gets the maximum area that the element is visible in due to any number of +// clipping parents + + +function getClippingRect(element, boundary, rootBoundary, strategy) { + var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary); + var clippingParents = [].concat(mainClippingParents, [rootBoundary]); + var firstClippingParent = clippingParents[0]; + var clippingRect = clippingParents.reduce(function (accRect, clippingParent) { + var rect = getClientRectFromMixedType(element, clippingParent, strategy); + accRect.top = max(rect.top, accRect.top); + accRect.right = min(rect.right, accRect.right); + accRect.bottom = min(rect.bottom, accRect.bottom); + accRect.left = max(rect.left, accRect.left); + return accRect; + }, getClientRectFromMixedType(element, firstClippingParent, strategy)); + clippingRect.width = clippingRect.right - clippingRect.left; + clippingRect.height = clippingRect.bottom - clippingRect.top; + clippingRect.x = clippingRect.left; + clippingRect.y = clippingRect.top; + return clippingRect; +} + +function computeOffsets(_ref) { + var reference = _ref.reference, + element = _ref.element, + placement = _ref.placement; + var basePlacement = placement ? getBasePlacement(placement) : null; + var variation = placement ? getVariation(placement) : null; + var commonX = reference.x + reference.width / 2 - element.width / 2; + var commonY = reference.y + reference.height / 2 - element.height / 2; + var offsets; + + switch (basePlacement) { + case top: + offsets = { + x: commonX, + y: reference.y - element.height + }; + break; + + case bottom: + offsets = { + x: commonX, + y: reference.y + reference.height + }; + break; + + case right: + offsets = { + x: reference.x + reference.width, + y: commonY + }; + break; + + case left: + offsets = { + x: reference.x - element.width, + y: commonY + }; + break; + + default: + offsets = { + x: reference.x, + y: reference.y + }; + } + + var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; + + if (mainAxis != null) { + var len = mainAxis === 'y' ? 'height' : 'width'; + + switch (variation) { + case start: + offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2); + break; + + case end: + offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2); + break; + } + } + + return offsets; +} + +function detectOverflow(state, options) { + if (options === void 0) { + options = {}; + } + + var _options = options, + _options$placement = _options.placement, + placement = _options$placement === void 0 ? state.placement : _options$placement, + _options$strategy = _options.strategy, + strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, + _options$boundary = _options.boundary, + boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, + _options$rootBoundary = _options.rootBoundary, + rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, + _options$elementConte = _options.elementContext, + elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, + _options$altBoundary = _options.altBoundary, + altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, + _options$padding = _options.padding, + padding = _options$padding === void 0 ? 0 : _options$padding; + var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); + var altContext = elementContext === popper ? reference : popper; + var popperRect = state.rects.popper; + var element = state.elements[altBoundary ? altContext : elementContext]; + var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy); + var referenceClientRect = getBoundingClientRect(state.elements.reference); + var popperOffsets = computeOffsets({ + reference: referenceClientRect, + element: popperRect, + strategy: 'absolute', + placement: placement + }); + var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets)); + var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect + // 0 or negative = within the clipping rect + + var overflowOffsets = { + top: clippingClientRect.top - elementClientRect.top + paddingObject.top, + bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, + left: clippingClientRect.left - elementClientRect.left + paddingObject.left, + right: elementClientRect.right - clippingClientRect.right + paddingObject.right + }; + var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element + + if (elementContext === popper && offsetData) { + var offset = offsetData[placement]; + Object.keys(overflowOffsets).forEach(function (key) { + var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; + var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x'; + overflowOffsets[key] += offset[axis] * multiply; + }); + } + + return overflowOffsets; +} + +function computeAutoPlacement(state, options) { + if (options === void 0) { + options = {}; + } + + var _options = options, + placement = _options.placement, + boundary = _options.boundary, + rootBoundary = _options.rootBoundary, + padding = _options.padding, + flipVariations = _options.flipVariations, + _options$allowedAutoP = _options.allowedAutoPlacements, + allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; + var variation = getVariation(placement); + var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { + return getVariation(placement) === variation; + }) : basePlacements; + var allowedPlacements = placements$1.filter(function (placement) { + return allowedAutoPlacements.indexOf(placement) >= 0; + }); + + if (allowedPlacements.length === 0) { + allowedPlacements = placements$1; + } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions... + + + var overflows = allowedPlacements.reduce(function (acc, placement) { + acc[placement] = detectOverflow(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding + })[getBasePlacement(placement)]; + return acc; + }, {}); + return Object.keys(overflows).sort(function (a, b) { + return overflows[a] - overflows[b]; + }); +} + +function getExpandedFallbackPlacements(placement) { + if (getBasePlacement(placement) === auto) { + return []; + } + + var oppositePlacement = getOppositePlacement(placement); + return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; +} + +function flip(_ref) { + var state = _ref.state, + options = _ref.options, + name = _ref.name; + + if (state.modifiersData[name]._skip) { + return; + } + + var _options$mainAxis = options.mainAxis, + checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, + _options$altAxis = options.altAxis, + checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, + specifiedFallbackPlacements = options.fallbackPlacements, + padding = options.padding, + boundary = options.boundary, + rootBoundary = options.rootBoundary, + altBoundary = options.altBoundary, + _options$flipVariatio = options.flipVariations, + flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, + allowedAutoPlacements = options.allowedAutoPlacements; + var preferredPlacement = state.options.placement; + var basePlacement = getBasePlacement(preferredPlacement); + var isBasePlacement = basePlacement === preferredPlacement; + var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); + var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) { + return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding, + flipVariations: flipVariations, + allowedAutoPlacements: allowedAutoPlacements + }) : placement); + }, []); + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var checksMap = new Map(); + var makeFallbackChecks = true; + var firstFittingPlacement = placements[0]; + + for (var i = 0; i < placements.length; i++) { + var placement = placements[i]; + + var _basePlacement = getBasePlacement(placement); + + var isStartVariation = getVariation(placement) === start; + var isVertical = [top, bottom].indexOf(_basePlacement) >= 0; + var len = isVertical ? 'width' : 'height'; + var overflow = detectOverflow(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + altBoundary: altBoundary, + padding: padding + }); + var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top; + + if (referenceRect[len] > popperRect[len]) { + mainVariationSide = getOppositePlacement(mainVariationSide); + } + + var altVariationSide = getOppositePlacement(mainVariationSide); + var checks = []; + + if (checkMainAxis) { + checks.push(overflow[_basePlacement] <= 0); + } + + if (checkAltAxis) { + checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); + } + + if (checks.every(function (check) { + return check; + })) { + firstFittingPlacement = placement; + makeFallbackChecks = false; + break; + } + + checksMap.set(placement, checks); + } + + if (makeFallbackChecks) { + // `2` may be desired in some cases – research later + var numberOfChecks = flipVariations ? 3 : 1; + + var _loop = function _loop(_i) { + var fittingPlacement = placements.find(function (placement) { + var checks = checksMap.get(placement); + + if (checks) { + return checks.slice(0, _i).every(function (check) { + return check; + }); + } + }); + + if (fittingPlacement) { + firstFittingPlacement = fittingPlacement; + return "break"; + } + }; + + for (var _i = numberOfChecks; _i > 0; _i--) { + var _ret = _loop(_i); + + if (_ret === "break") break; + } + } + + if (state.placement !== firstFittingPlacement) { + state.modifiersData[name]._skip = true; + state.placement = firstFittingPlacement; + state.reset = true; + } +} // eslint-disable-next-line import/no-unused-modules + + +var flip$1 = { + name: 'flip', + enabled: true, + phase: 'main', + fn: flip, + requiresIfExists: ['offset'], + data: { + _skip: false + } +}; + +function getSideOffsets(overflow, rect, preventedOffsets) { + if (preventedOffsets === void 0) { + preventedOffsets = { + x: 0, + y: 0 + }; + } + + return { + top: overflow.top - rect.height - preventedOffsets.y, + right: overflow.right - rect.width + preventedOffsets.x, + bottom: overflow.bottom - rect.height + preventedOffsets.y, + left: overflow.left - rect.width - preventedOffsets.x + }; +} + +function isAnySideFullyClipped(overflow) { + return [top, right, bottom, left].some(function (side) { + return overflow[side] >= 0; + }); +} + +function hide(_ref) { + var state = _ref.state, + name = _ref.name; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var preventedOffsets = state.modifiersData.preventOverflow; + var referenceOverflow = detectOverflow(state, { + elementContext: 'reference' + }); + var popperAltOverflow = detectOverflow(state, { + altBoundary: true + }); + var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); + var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); + var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); + var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); + state.modifiersData[name] = { + referenceClippingOffsets: referenceClippingOffsets, + popperEscapeOffsets: popperEscapeOffsets, + isReferenceHidden: isReferenceHidden, + hasPopperEscaped: hasPopperEscaped + }; + state.attributes.popper = Object.assign({}, state.attributes.popper, { + 'data-popper-reference-hidden': isReferenceHidden, + 'data-popper-escaped': hasPopperEscaped + }); +} // eslint-disable-next-line import/no-unused-modules + + +var hide$1 = { + name: 'hide', + enabled: true, + phase: 'main', + requiresIfExists: ['preventOverflow'], + fn: hide +}; + +function distanceAndSkiddingToXY(placement, rects, offset) { + var basePlacement = getBasePlacement(placement); + var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1; + + var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, { + placement: placement + })) : offset, + skidding = _ref[0], + distance = _ref[1]; + + skidding = skidding || 0; + distance = (distance || 0) * invertDistance; + return [left, right].indexOf(basePlacement) >= 0 ? { + x: distance, + y: skidding + } : { + x: skidding, + y: distance + }; +} + +function offset(_ref2) { + var state = _ref2.state, + options = _ref2.options, + name = _ref2.name; + var _options$offset = options.offset, + offset = _options$offset === void 0 ? [0, 0] : _options$offset; + var data = placements.reduce(function (acc, placement) { + acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset); + return acc; + }, {}); + var _data$state$placement = data[state.placement], + x = _data$state$placement.x, + y = _data$state$placement.y; + + if (state.modifiersData.popperOffsets != null) { + state.modifiersData.popperOffsets.x += x; + state.modifiersData.popperOffsets.y += y; + } + + state.modifiersData[name] = data; +} // eslint-disable-next-line import/no-unused-modules + + +var offset$1 = { + name: 'offset', + enabled: true, + phase: 'main', + requires: ['popperOffsets'], + fn: offset +}; + +function popperOffsets(_ref) { + var state = _ref.state, + name = _ref.name; + // Offsets are the actual position the popper needs to have to be + // properly positioned near its reference element + // This is the most basic placement, and will be adjusted by + // the modifiers in the next step + state.modifiersData[name] = computeOffsets({ + reference: state.rects.reference, + element: state.rects.popper, + strategy: 'absolute', + placement: state.placement + }); +} // eslint-disable-next-line import/no-unused-modules + + +var popperOffsets$1 = { + name: 'popperOffsets', + enabled: true, + phase: 'read', + fn: popperOffsets, + data: {} +}; + +function getAltAxis(axis) { + return axis === 'x' ? 'y' : 'x'; +} + +function preventOverflow(_ref) { + var state = _ref.state, + options = _ref.options, + name = _ref.name; + var _options$mainAxis = options.mainAxis, + checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, + _options$altAxis = options.altAxis, + checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, + boundary = options.boundary, + rootBoundary = options.rootBoundary, + altBoundary = options.altBoundary, + padding = options.padding, + _options$tether = options.tether, + tether = _options$tether === void 0 ? true : _options$tether, + _options$tetherOffset = options.tetherOffset, + tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; + var overflow = detectOverflow(state, { + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding, + altBoundary: altBoundary + }); + var basePlacement = getBasePlacement(state.placement); + var variation = getVariation(state.placement); + var isBasePlacement = !variation; + var mainAxis = getMainAxisFromPlacement(basePlacement); + var altAxis = getAltAxis(mainAxis); + var popperOffsets = state.modifiersData.popperOffsets; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, { + placement: state.placement + })) : tetherOffset; + var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? { + mainAxis: tetherOffsetValue, + altAxis: tetherOffsetValue + } : Object.assign({ + mainAxis: 0, + altAxis: 0 + }, tetherOffsetValue); + var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; + var data = { + x: 0, + y: 0 + }; + + if (!popperOffsets) { + return; + } + + if (checkMainAxis) { + var _offsetModifierState$; + + var mainSide = mainAxis === 'y' ? top : left; + var altSide = mainAxis === 'y' ? bottom : right; + var len = mainAxis === 'y' ? 'height' : 'width'; + var offset = popperOffsets[mainAxis]; + var min$1 = offset + overflow[mainSide]; + var max$1 = offset - overflow[altSide]; + var additive = tether ? -popperRect[len] / 2 : 0; + var minLen = variation === start ? referenceRect[len] : popperRect[len]; + var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go + // outside the reference bounds + + var arrowElement = state.elements.arrow; + var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { + width: 0, + height: 0 + }; + var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject(); + var arrowPaddingMin = arrowPaddingObject[mainSide]; + var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want + // to include its full size in the calculation. If the reference is small + // and near the edge of a boundary, the popper can overflow even if the + // reference is not overflowing as well (e.g. virtual elements with no + // width or height) + + var arrowLen = within(0, referenceRect[len], arrowRect[len]); + var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; + var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; + var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); + var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; + var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; + var tetherMin = offset + minOffset - offsetModifierValue - clientOffset; + var tetherMax = offset + maxOffset - offsetModifierValue; + var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1); + popperOffsets[mainAxis] = preventedOffset; + data[mainAxis] = preventedOffset - offset; + } + + if (checkAltAxis) { + var _offsetModifierState$2; + + var _mainSide = mainAxis === 'x' ? top : left; + + var _altSide = mainAxis === 'x' ? bottom : right; + + var _offset = popperOffsets[altAxis]; + + var _len = altAxis === 'y' ? 'height' : 'width'; + + var _min = _offset + overflow[_mainSide]; + + var _max = _offset - overflow[_altSide]; + + var isOriginSide = [top, left].indexOf(basePlacement) !== -1; + + var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; + + var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; + + var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; + + var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max); + + popperOffsets[altAxis] = _preventedOffset; + data[altAxis] = _preventedOffset - _offset; + } + + state.modifiersData[name] = data; +} // eslint-disable-next-line import/no-unused-modules + + +var preventOverflow$1 = { + name: 'preventOverflow', + enabled: true, + phase: 'main', + fn: preventOverflow, + requiresIfExists: ['offset'] +}; + +function getHTMLElementScroll(element) { + return { + scrollLeft: element.scrollLeft, + scrollTop: element.scrollTop + }; +} + +function getNodeScroll(node) { + if (node === getWindow(node) || !isHTMLElement(node)) { + return getWindowScroll(node); + } else { + return getHTMLElementScroll(node); + } +} + +function isElementScaled(element) { + var rect = element.getBoundingClientRect(); + var scaleX = round(rect.width) / element.offsetWidth || 1; + var scaleY = round(rect.height) / element.offsetHeight || 1; + return scaleX !== 1 || scaleY !== 1; +} // Returns the composite rect of an element relative to its offsetParent. +// Composite means it takes into account transforms as well as layout. + + +function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { + if (isFixed === void 0) { + isFixed = false; + } + + var isOffsetParentAnElement = isHTMLElement(offsetParent); + var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent); + var documentElement = getDocumentElement(offsetParent); + var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed); + var scroll = { + scrollLeft: 0, + scrollTop: 0 + }; + var offsets = { + x: 0, + y: 0 + }; + + if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { + if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078 + isScrollParent(documentElement)) { + scroll = getNodeScroll(offsetParent); + } + + if (isHTMLElement(offsetParent)) { + offsets = getBoundingClientRect(offsetParent, true); + offsets.x += offsetParent.clientLeft; + offsets.y += offsetParent.clientTop; + } else if (documentElement) { + offsets.x = getWindowScrollBarX(documentElement); + } + } + + return { + x: rect.left + scroll.scrollLeft - offsets.x, + y: rect.top + scroll.scrollTop - offsets.y, + width: rect.width, + height: rect.height + }; +} + +function order(modifiers) { + var map = new Map(); + var visited = new Set(); + var result = []; + modifiers.forEach(function (modifier) { + map.set(modifier.name, modifier); + }); // On visiting object, check for its dependencies and visit them recursively + + function sort(modifier) { + visited.add(modifier.name); + var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); + requires.forEach(function (dep) { + if (!visited.has(dep)) { + var depModifier = map.get(dep); + + if (depModifier) { + sort(depModifier); + } + } + }); + result.push(modifier); + } + + modifiers.forEach(function (modifier) { + if (!visited.has(modifier.name)) { + // check for visited object + sort(modifier); + } + }); + return result; +} + +function orderModifiers(modifiers) { + // order based on dependencies + var orderedModifiers = order(modifiers); // order based on phase + + return modifierPhases.reduce(function (acc, phase) { + return acc.concat(orderedModifiers.filter(function (modifier) { + return modifier.phase === phase; + })); + }, []); +} + +function debounce(fn) { + var pending; + return function () { + if (!pending) { + pending = new Promise(function (resolve) { + Promise.resolve().then(function () { + pending = undefined; + resolve(fn()); + }); + }); + } + + return pending; + }; +} + +function mergeByName(modifiers) { + var merged = modifiers.reduce(function (merged, current) { + var existing = merged[current.name]; + merged[current.name] = existing ? Object.assign({}, existing, current, { + options: Object.assign({}, existing.options, current.options), + data: Object.assign({}, existing.data, current.data) + }) : current; + return merged; + }, {}); // IE11 does not support Object.values + + return Object.keys(merged).map(function (key) { + return merged[key]; + }); +} + +var DEFAULT_OPTIONS = { + placement: 'bottom', + modifiers: [], + strategy: 'absolute' +}; + +function areValidElements() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return !args.some(function (element) { + return !(element && typeof element.getBoundingClientRect === 'function'); + }); +} + +function popperGenerator(generatorOptions) { + if (generatorOptions === void 0) { + generatorOptions = {}; + } + + var _generatorOptions = generatorOptions, + _generatorOptions$def = _generatorOptions.defaultModifiers, + defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, + _generatorOptions$def2 = _generatorOptions.defaultOptions, + defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; + return function createPopper(reference, popper, options) { + if (options === void 0) { + options = defaultOptions; + } + + var state = { + placement: 'bottom', + orderedModifiers: [], + options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), + modifiersData: {}, + elements: { + reference: reference, + popper: popper + }, + attributes: {}, + styles: {} + }; + var effectCleanupFns = []; + var isDestroyed = false; + var instance = { + state: state, + setOptions: function setOptions(setOptionsAction) { + var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction; + cleanupModifierEffects(); + state.options = Object.assign({}, defaultOptions, state.options, options); + state.scrollParents = { + reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [], + popper: listScrollParents(popper) + }; // Orders the modifiers based on their dependencies and `phase` + // properties + + var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers + + state.orderedModifiers = orderedModifiers.filter(function (m) { + return m.enabled; + }); + runModifierEffects(); + return instance.update(); + }, + // Sync update – it will always be executed, even if not necessary. This + // is useful for low frequency updates where sync behavior simplifies the + // logic. + // For high frequency updates (e.g. `resize` and `scroll` events), always + // prefer the async Popper#update method + forceUpdate: function forceUpdate() { + if (isDestroyed) { + return; + } + + var _state$elements = state.elements, + reference = _state$elements.reference, + popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements + // anymore + + if (!areValidElements(reference, popper)) { + return; + } // Store the reference and popper rects to be read by modifiers + + + state.rects = { + reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'), + popper: getLayoutRect(popper) + }; // Modifiers have the ability to reset the current update cycle. The + // most common use case for this is the `flip` modifier changing the + // placement, which then needs to re-run all the modifiers, because the + // logic was previously ran for the previous placement and is therefore + // stale/incorrect + + state.reset = false; + state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier + // is filled with the initial data specified by the modifier. This means + // it doesn't persist and is fresh on each update. + // To ensure persistent data, use `${name}#persistent` + + state.orderedModifiers.forEach(function (modifier) { + return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); + }); + + for (var index = 0; index < state.orderedModifiers.length; index++) { + if (state.reset === true) { + state.reset = false; + index = -1; + continue; + } + + var _state$orderedModifie = state.orderedModifiers[index], + fn = _state$orderedModifie.fn, + _state$orderedModifie2 = _state$orderedModifie.options, + _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, + name = _state$orderedModifie.name; + + if (typeof fn === 'function') { + state = fn({ + state: state, + options: _options, + name: name, + instance: instance + }) || state; + } + } + }, + // Async and optimistically optimized update – it will not be executed if + // not necessary (debounced to run at most once-per-tick) + update: debounce(function () { + return new Promise(function (resolve) { + instance.forceUpdate(); + resolve(state); + }); + }), + destroy: function destroy() { + cleanupModifierEffects(); + isDestroyed = true; + } + }; + + if (!areValidElements(reference, popper)) { + return instance; + } + + instance.setOptions(options).then(function (state) { + if (!isDestroyed && options.onFirstUpdate) { + options.onFirstUpdate(state); + } + }); // Modifiers have the ability to execute arbitrary code before the first + // update cycle runs. They will be executed in the same order as the update + // cycle. This is useful when a modifier adds some persistent data that + // other modifiers need to use, but the modifier is run after the dependent + // one. + + function runModifierEffects() { + state.orderedModifiers.forEach(function (_ref) { + var name = _ref.name, + _ref$options = _ref.options, + options = _ref$options === void 0 ? {} : _ref$options, + effect = _ref.effect; + + if (typeof effect === 'function') { + var cleanupFn = effect({ + state: state, + name: name, + instance: instance, + options: options + }); + + var noopFn = function noopFn() {}; + + effectCleanupFns.push(cleanupFn || noopFn); + } + }); + } + + function cleanupModifierEffects() { + effectCleanupFns.forEach(function (fn) { + return fn(); + }); + effectCleanupFns = []; + } + + return instance; + }; +} + +var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1]; +var createPopper = /*#__PURE__*/popperGenerator({ + defaultModifiers: defaultModifiers +}); // eslint-disable-next-line import/no-unused-modules + +class SimpleUIComponent extends Component { + get domElement() { + if (!this._domElement) { + throw new Error("Dom element not initialized!"); + } + return this._domElement; + } + set domElement(ele) { + if (this._domElement) { + this._domElement.remove(); + } + this._domElement = ele; + } + set parent(value) { + this._parent = value; + } + get parent() { + return this._parent; + } + get active() { + return this._active; + } + set active(active) { + this.domElement.setAttribute("data-active", String(active)); + this._active = active; + } + get visible() { + return this._visible; + } + set visible(value) { + this._visible = value; + if (value) { + this.domElement.classList.remove("hidden"); + this.onVisible.trigger(this.get()); + } + else { + this.domElement.classList.add("hidden"); + this.onHidden.trigger(this.get()); + } + } + get enabled() { + return this._enabled; + } + set enabled(value) { + this._enabled = value; + if (value) { + this.onEnabled.trigger(this.get()); + } + else { + this.onDisabled.trigger(this.get()); + } + // this.onVisibilityChanged.trigger(value); + } + get hasElements() { + return this.children.length > 0; + } + set template(value) { + const regex = /id="([^"]+)"/g; + const temp = document.createElement("div"); + temp.innerHTML = value.replace(regex, `id="$1-${this.id}"`); + const newElement = temp.firstElementChild; + newElement.id = this.id; + this.domElement = newElement; + temp.remove(); + } + constructor(components, template, id) { + super(components); + this.name = "SimpleUIComponent"; + // TODO: Remove children and leave only slots? + this.children = []; + this.data = {}; + // Slots are other UIComponents that inherits all the logic from SimpleUIComponent + this.slots = {}; + // InnerElements are those HTML Elements which doesn't come from an UIComponent. + this.innerElements = {}; + this.onVisible = new Event(); + this.onHidden = new Event(); + this.onEnabled = new Event(); + this.onDisabled = new Event(); + this._parent = null; + this._enabled = true; + this._visible = true; + this._active = false; + this._components = components; + this.id = id !== null && id !== void 0 ? id : tooeenRandomId(); + this.template = template !== null && template !== void 0 ? template : "
"; + } + cleanData() { + this.data = {}; + } + get() { + return this.domElement; + } + async dispose(onlyChildren = false) { + for (const name in this.slots) { + const slot = this.slots[name]; + await slot.dispose(); + } + for (const child of this.children) { + await child.dispose(); + this.removeChild(child); + } + for (const name in this.innerElements) { + const element = this.innerElements[name]; + if (element) { + element.remove(); + } + } + if (!onlyChildren) { + if (this._domElement) { + this._domElement.remove(); + } + this.onVisible.reset(); + this.onHidden.reset(); + this.onEnabled.reset(); + this.onDisabled.reset(); + this.innerElements = {}; + this.children = []; + this.slots = {}; + this.parent = null; + } + } + addChild(...items) { + for (const item of items) { + this.children.push(item); + this.domElement.append(item.domElement); + item.parent = this; + } + } + removeChild(...items) { + for (const item of items) { + item.domElement.remove(); + item.parent = null; + } + const filtered = this.children.filter((child) => !items.includes(child)); + this.children = filtered; + } + removeFromParent() { + if (!this.parent) + return; + this.get().removeAttribute("data-tooeen-slot"); + this.parent.removeChild(this); + } + getInnerElement(id) { + return this.get().querySelector(`#${id}-${this.id}`); + } + setSlot(name, uiComponent) { + const slot = this.get().querySelector(`[data-tooeen-slot="${name}"]`); + if (!slot) + throw new Error(`Slot ${name} not found. You need to declare it in the UIComponent template using data-tooeen="${name}"`); + const existingSlot = this.slots[name]; + if (existingSlot) + existingSlot.removeFromParent(); + this.slots[name] = uiComponent; + uiComponent.get().setAttribute("data-tooeen-slot", name); + slot.replaceWith(uiComponent.get()); + this.children.push(uiComponent); + } + setSlots() { + for (const name in this.slots) { + const component = this.slots[name]; + this.setSlot(name, component); + } + } +} + +// export class Toolbar extends SimpleUIComponent { +class Toolbar extends SimpleUIComponent { + set visible(visible) { + this._visible = visible && this.hasElements; + if (visible && this.hasElements) { + this.domElement.classList.remove("hidden"); + this.onVisible.trigger(this.get()); + } + else { + this.domElement.classList.add("hidden"); + this.onHidden.trigger(this.get()); + } + } + get visible() { + return this._visible; + } + set enabled(enabled) { + this.closeMenus(); + this.children.forEach((button) => { + button.enabled = enabled; + button.menu.enabled = enabled; + }); + this._enabled = enabled; + } + set position(position) { + this._position = position; + this.updateElements(); + } + get position() { + return this._position; + } + constructor(components, options) { + var _a, _b; + const _options = { + position: "bottom", + ...options, + }; + const template = ` +
+ `; + super(components, template); + this.children = []; + this._parent = null; + this.name = (_a = _options.name) !== null && _a !== void 0 ? _a : "Toolbar"; + this.position = (_b = _options.position) !== null && _b !== void 0 ? _b : "bottom"; + this.visible = true; + } + get hasElements() { + return this.children.length > 0; + } + get() { + return this.domElement; + } + addChild(...button) { + button.forEach((btn) => { + btn.parent = this; + this.children.push(btn); + this.domElement.append(btn.domElement); + }); + this._components.ui.updateToolbars(); + } + updateElements() { + this.children.forEach((button) => (button.parent = this)); + } + closeMenus() { + this.children.forEach((button) => button.closeMenus()); + } + setDirection(direction = "horizontal") { + this.domElement.classList.remove("flex-col"); + const directionClass = direction === "horizontal" ? ["flex"] : ["flex-col"]; + this.domElement.classList.add(...directionClass); + } +} +Toolbar.Class = { + Base: `flex shadow-md w-fit h-fit gap-x-2 gap-y-2 p-2 text-white rounded pointer-events-auto backdrop-blur-xl + bg-ifcjs-100 z-50 backdrop-blur-xl`, +}; + +class Button extends SimpleUIComponent { + set tooltip(value) { + const element = this.innerElements.tooltip; + element.textContent = value; + if (value) { + element.classList.remove("hidden"); + } + else { + element.classList.add("hidden"); + } + } + get tooltip() { + return this.innerElements.tooltip.textContent; + } + set label(value) { + const element = this.innerElements.label; + element.textContent = value; + if (value) { + element.classList.remove("hidden"); + } + else { + element.classList.add("hidden"); + } + } + get label() { + return this.innerElements.label.textContent; + } + set parent(toolbar) { + this._parent = toolbar; + if (toolbar) { + this.menu.position = toolbar.position; + this.updateMenuPlacement(); + } + } + get parent() { + return this._parent; + } + set alignment(value) { + this.domElement.classList.remove("justify-start", "justify-center", "justify-end"); + this.domElement.classList.add(`justify-${value}`); + } + set materialIcon(name) { + const icon = this.innerElements.icon; + icon.textContent = name; + if (name) { + icon.style.display = "unset"; + } + else { + icon.style.display = "none"; + } + } + get materialIcon() { + return this.innerElements.icon.textContent; + } + get customIcon() { + return this.innerElements.customIcon.innerHTML; + } + constructor(components, options) { + var _a, _b, _c; + const template = ` + + `; + super(components, template); + this.name = "TooeenButton"; + this.onClick = new Event(); + this._parent = null; + this._closeOnClick = true; + this.innerElements = { + customIcon: this.getInnerElement("custom-icon"), + icon: this.getInnerElement("icon"), + label: this.getInnerElement("label"), + tooltip: this.getInnerElement("tooltip"), + }; + this.materialIcon = (_a = options === null || options === void 0 ? void 0 : options.materialIconName) !== null && _a !== void 0 ? _a : null; + this.label = (_b = options === null || options === void 0 ? void 0 : options.name) !== null && _b !== void 0 ? _b : null; + this.tooltip = (_c = options === null || options === void 0 ? void 0 : options.tooltip) !== null && _c !== void 0 ? _c : null; + this.alignment = "start"; + if ((options === null || options === void 0 ? void 0 : options.closeOnClick) !== undefined) { + this._closeOnClick = options.closeOnClick; + } + this.domElement.onclick = async (e) => { + e.stopImmediatePropagation(); + await this.onClick.trigger(e); + if (this.menu.children.length) { + this.menu.visible = true; + this._popper.update(); + } + else if (this._closeOnClick) { + this._components.ui.closeMenus(); + this._components.ui.contextMenu.visible = false; + if (this.parent) { + if (!this.parent.parent) { + this._components.ui.closeMenus(); + } + if (this.parent.closeMenus) { + this.parent.closeMenus(); + } + } + } + }; + this.domElement.addEventListener("mouseover", ({ target }) => { + if (this.isButton(target)) { + if (this._components.ui.tooltipsEnabled) { + this.innerElements.tooltip.classList.remove("opacity-0"); + } + } + }); + this.domElement.addEventListener("mouseleave", ({ target }) => { + if (this.isButton(target)) { + this.innerElements.tooltip.classList.add("opacity-0"); + } + }); + // #region Extensible menu + this.menu = new Toolbar(components); + this.menu.visible = false; + this.menu.parent = this; + this.menu.setDirection("vertical"); + this.domElement.append(this.menu.domElement); + this._popper = createPopper(this.domElement, this.menu.domElement, { + modifiers: [ + { + name: "offset", + options: { offset: [0, 15] }, + }, + { + name: "preventOverflow", + options: { boundary: this._components.ui.viewerContainer }, + }, + ], + }); + // #endregion + this.onEnabled.add(() => (this.domElement.disabled = false)); + this.onDisabled.add(() => (this.domElement.disabled = true)); + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + await this.menu.dispose(); + if (!onlyChildren) { + this.domElement.remove(); + } + this.onClick.reset(); + this._popper.destroy(); + } + addChild(...button) { + this.menu.addChild(...button); + } + closeMenus() { + this.menu.closeMenus(); + this.menu.visible = false; + } + async setCustomIcon(url) { + const { customIcon } = this.innerElements; + if (url) { + const response = await fetch(url); + customIcon.innerHTML = await response.text(); + customIcon.style.display = "unset"; + } + else { + customIcon.style.display = "none"; + } + } + updateMenuPlacement() { + var _a, _b, _c, _d, _e, _f; + let placement = "bottom"; + if (((_a = this.parent) === null || _a === void 0 ? void 0 : _a.position) === "bottom") { + placement = ((_b = this.parent) === null || _b === void 0 ? void 0 : _b.parent) ? "right" : "top"; + } + if (((_c = this.parent) === null || _c === void 0 ? void 0 : _c.position) === "top") { + placement = ((_d = this.parent) === null || _d === void 0 ? void 0 : _d.parent) ? "right" : "bottom"; + } + if (((_e = this.parent) === null || _e === void 0 ? void 0 : _e.position) === "left") { + placement = "right"; + } + if (((_f = this.parent) === null || _f === void 0 ? void 0 : _f.position) === "right") { + placement = "left"; + } + this._popper.setOptions({ placement }); + } + isButton(element) { + return (element === this.get() || + element === this.innerElements.icon || + element === this.innerElements.label); + } +} +Button.Class = { + Base: ` + relative flex gap-x-2 items-center bg-transparent text-white rounded-[10px] + max-h-8 p-2 hover:cursor-pointer hover:bg-ifcjs-200 hover:text-black + data-[active=true]:cursor-pointer data-[active=true]:bg-ifcjs-200 data-[active=true]:text-black + disabled:cursor-default disabled:bg-gray-600 disabled:text-gray-400 pointer-events-auto + transition-all fill-white hover:fill-black + `, + Label: "text-sm tracking-[1.25px] whitespace-nowrap", + Tooltip: ` + transition-opacity bg-ifcjs-100 text-sm text-gray-100 rounded-md + absolute left-1/2 -translate-x-1/2 -translate-y-12 opacity-0 mx-auto p-4 w-max h-4 flex items-center + pointer-events-none + `, +}; + +class TreeView extends SimpleUIComponent { + set description(value) { + const element = this.innerElements.description; + element.textContent = value; + if (value) { + element.classList.remove("hidden"); + } + else { + element.classList.add("hidden"); + } + } + get description() { + return this.innerElements.description.textContent; + } + set title(value) { + this.innerElements.title.textContent = value; + } + get title() { + return this.innerElements.title.textContent; + } + set materialIcon(name) { + this.innerElements.expandBtn.textContent = name; + } + get expanded() { + return this._expanded; + } + set expanded(expanded) { + this._expanded = expanded; + this.slots.content.visible = expanded; + if (expanded) { + this.onExpand.trigger(); + this.innerElements.titleContainer.classList.add("bg-ifcjs-120"); + this.materialIcon = "arrow_drop_down"; + } + else { + this.onCollapse.trigger(); + this.innerElements.titleContainer.classList.remove("bg-ifcjs-120"); + this.materialIcon = "arrow_right"; + } + } + set onmouseover(listener) { + this.domElement.onmouseover = (e) => { + e.stopImmediatePropagation(); + listener(e); + }; + } + constructor(components, title) { + const template = ` +
+
+
+ +
+

+

+
+
+
+
+
+
+ `; + super(components, template); + this._expanded = true; + this.onExpand = new Event(); + this.onCollapse = new Event(); + this.onClick = new Event(); + this.domElement.onclick = async (e) => { + e.stopImmediatePropagation(); + await this.onClick.trigger(e); + }; + this.innerElements = { + titleContainer: this.getInnerElement("title-container"), + title: this.getInnerElement("title"), + description: this.getInnerElement("description"), + expandBtn: this.getInnerElement("expandBtn"), + }; + this.innerElements.expandBtn.onclick = () => this.toggle(); + this.slots = { + content: new SimpleUIComponent(components, `
`), + titleRight: new SimpleUIComponent(components), + }; + this.setSlots(); + this.title = title !== null && title !== void 0 ? title : null; + this.collapse(); + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + if (!onlyChildren) { + this.onExpand.reset(); + this.onCollapse.reset(); + } + } + toggle(deep = false) { + if (deep) { + if (this.expanded) { + this.collapse(); + } + else { + this.expand(); + } + } + else { + this.expanded = !this.expanded; + } + } + addChild(...items) { + this.slots.content.addChild(...items); + } + collapse(deep = true) { + if (!this.expanded) + return; + this.expanded = false; + if (!deep) + return; + for (const child of this.children) + if (child instanceof TreeView) + child.collapse(deep); + } + expand(deep = true) { + if (this.expanded) + return; + this.expanded = true; + if (!deep) + return; + for (const child of this.children) + if (child instanceof TreeView) + child.expand(deep); + } +} + +// @ts-ignore +/** + * A component that handles all UI components. + */ +class UIManager extends Component { + get viewerContainer() { + return this._components.renderer.get().domElement + .parentElement; + } + constructor(components) { + super(components); + this.name = "UIManager"; + this.enabled = true; + this.toolbars = []; + this.tooltipsEnabled = true; + this.children = []; + this._mouseMoved = false; + this._mouseDown = false; + this._containers = { + top: document.createElement("div"), + right: document.createElement("div"), + bottom: document.createElement("div"), + left: document.createElement("div"), + }; + this.onMouseUp = () => { + this._mouseDown = false; + }; + this.onMouseMoved = () => { + if (this._mouseDown) { + this._mouseMoved = true; + } + }; + this.onMouseDown = (event) => { + this._mouseDown = true; + const canvas = this._components.renderer.get().domElement; + if (event.target === canvas) { + this.closeMenus(); + this.contextMenu.visible = false; + } + }; + this.onContextMenu = (event) => { + if (this._mouseMoved) { + this._mouseMoved = false; + return; + } + event.preventDefault(); + event.stopImmediatePropagation(); + this.closeMenus(); + this._contextMenuContainer.style.left = `${event.offsetX}px`; + this._contextMenuContainer.style.top = `${event.offsetY}px`; + this.contextMenu.visible = true; + this._popperInstance.update(); + }; + this._components = components; + this.contextMenu = new Toolbar(components); + this.contextMenu.setDirection("vertical"); + this.contextMenu.position = "left"; + this._contextMenuContainer = document.createElement("div"); + this._contextMenuContainer.style.position = "absolute"; + this._contextMenuContainer.append(this.contextMenu.domElement); + this._popperInstance = createPopper(this._contextMenuContainer, this.contextMenu.domElement, { + placement: "bottom-start", + modifiers: [ + { + name: "preventOverflow", + options: { + boundary: Object.values(this._containers), + }, + }, + ], + }); + const containerClasses = { + top: ["top-0", "pt-4"], + right: ["top-0", "right-0", "pr-4"], + bottom: ["bottom-0", "pb-4"], + left: ["top-0", "left-0", "pl-4"], + }; + for (const id in this._containers) { + const container = this._containers[id]; + container.className = + "absolute flex gap-y-3 gap-x-3 pointer-events-none p-4"; + container.classList.add(...containerClasses[id]); + container.id = `${id}-toolbar-container`; + this.setContainerAlignment(id, "center"); + } + const hContainerClass = ["flex-row", "w-full"]; + const vContainerClass = ["flex-column", "h-full"]; + this._containers.top.classList.add(...hContainerClass); + this._containers.right.classList.add(...vContainerClass); + this._containers.bottom.classList.add(...hContainerClass); + this._containers.left.classList.add(...vContainerClass); + } + get() { + return this.toolbars; + } + async dispose() { + this.setupEvents(false); + for (const name in this._containers) { + const element = this._containers[name]; + element.remove(); + } + for (const toolbar of this.toolbars) { + await toolbar.dispose(); + } + for (const child of this.children) { + await child.dispose(); + } + this._popperInstance.destroy(); + this.children = []; + await this.contextMenu.dispose(); + this._containers = {}; + this._contextMenuContainer.remove(); + this._popperInstance = null; + this._components = null; + this.contextMenu = null; + this._contextMenuContainer = null; + } + init() { + this.setupEvents(true); + this.viewerContainer.append(this._containers.top, this._containers.right, this._containers.bottom, this._containers.left, this._contextMenuContainer); + } + add(...uiComponents) { + for (const component of uiComponents) { + this.children.push(component); + this.viewerContainer.append(component.domElement); + } + } + closeMenus() { + this.toolbars.forEach((toolbar) => toolbar.closeMenus()); + this.contextMenu.closeMenus(); + } + setContainerAlignment(container, alingment) { + this._containers[container].style.justifyContent = alingment; + this._containers[container].style.alignItems = alingment; + } + addToolbar(...toolbar) { + toolbar.forEach((tlbr) => { + const container = this._containers[tlbr.position]; + if (!container) { + return; + } + container.append(tlbr.domElement); + this.toolbars.push(tlbr); + }); + this.updateToolbars(); + } + updateToolbars() { + this.toolbars.forEach((toolbar) => { + toolbar.visible = true; + toolbar.updateElements(); + if (toolbar.position === "bottom" || toolbar.position === "top") { + toolbar.setDirection("horizontal"); + } + else { + toolbar.setDirection("vertical"); + } + }); + } + setupEvents(active) { + if (active) { + this.viewerContainer.addEventListener("mouseup", this.onMouseUp); + this.viewerContainer.addEventListener("mousedown", this.onMouseDown); + this.viewerContainer.addEventListener("mousemove", this.onMouseMoved); + this.viewerContainer.addEventListener("contextmenu", this.onContextMenu); + } + else { + this.viewerContainer.removeEventListener("mouseup", this.onMouseUp); + this.viewerContainer.removeEventListener("mousedown", this.onMouseDown); + this.viewerContainer.removeEventListener("mousemove", this.onMouseMoved); + this.viewerContainer.removeEventListener("contextmenu", this.onContextMenu); + } + } +} +// TODO: Does this need to be here? +UIManager.Class = { + Label: "block leading-6 text-gray-400 text-sm", +}; + +class SimpleUICard extends SimpleUIComponent { + set title(value) { + this.innerElements.title.textContent = value; + } + get title() { + return this.innerElements.title.textContent; + } + set description(value) { + this.innerElements.description.textContent = value; + } + get description() { + return this.innerElements.description.textContent; + } + constructor(components, id) { + const template = ` +
+
+

+

+
+
+
+ `; + super(components, template, id); + this.name = "SimpleUICard"; + this.innerElements = { + title: this.getInnerElement("title"), + description: this.getInnerElement("description"), + }; + this.slots = { + rightContainer: new SimpleUIComponent(components, `
`), + }; + this.setSlots(); + } + addChild(...items) { + items.forEach((item) => { + this.slots.rightContainer.addChild(item); + }); + } +} + +class FloatingWindow extends SimpleUIComponent { + get viewerContainer() { + return this._components.renderer.get().domElement + .parentElement; + } + set description(value) { + const element = this.innerElements.description; + element.textContent = value; + if (value) { + element.classList.remove("hidden"); + } + else { + element === null || element === void 0 ? void 0 : element.classList.add("hidden"); + } + } + get description() { + return this.innerElements.description.textContent; + } + set title(value) { + const element = this.innerElements.title; + element.textContent = value; + if (value) { + element.classList.remove("hidden"); + } + else { + element.classList.add("hidden"); + } + } + get title() { + return this.innerElements.title.textContent; + } + set resizeable(value) { + this._resizeable = value; + if (value) { + this.get().classList.add("resize"); + } + else { + this.get().classList.remove("resize"); + } + } + get resizeable() { + return this._resizeable; + } + set movable(value) { + this._movable = value; + if (value) { + this.innerElements.titleContainer.classList.add("cursor-move"); + } + else { + this.innerElements.titleContainer.classList.remove("cursor-move"); + } + } + get movable() { + return this._movable; + } + constructor(components, id) { + const template = ` +
+
+
+

Tooeen Floating Window

+

+
+ close +
+
+
+ `; + super(components, template, id); + this._resizeable = true; + this._movable = true; + this.onMoved = new Event(); + this.onResized = new Event(); + this._isMouseDown = false; + this._offsetX = 0; + this._offsetY = 0; + this.onMOuseDown = (event) => { + if (!this.movable) + return; + this._isMouseDown = true; + const rect = this.domElement.getBoundingClientRect(); + this._offsetX = event.clientX - rect.left; + this._offsetY = event.clientY - rect.top; + }; + this.onMouseUp = () => { + this._isMouseDown = false; + }; + this.onMouseMove = (event) => { + if (!(this._isMouseDown && this.movable)) + return; + const { width, height } = this.domElement.getBoundingClientRect(); + const { x, y, width: containerWidth, height: containerHeight, } = this.viewerContainer.getBoundingClientRect(); + const maxLeft = containerWidth - width; + const maxTop = containerHeight - height; + const left = Math.max(0, Math.min(event.clientX - this._offsetX - x, maxLeft)); + const top = Math.max(0, Math.min(event.clientY - this._offsetY - y, maxTop)); + this.domElement.style.left = `${left}px`; + this.domElement.style.top = `${top}px`; + this.onMoved.trigger(this); + }; + this.innerElements = { + title: this.getInnerElement("title"), + description: this.getInnerElement("description"), + titleContainer: this.getInnerElement("title-container"), + closeBtn: this.getInnerElement("close"), + }; + this.slots = { + content: new SimpleUIComponent(components, `
`), + }; + this.setSlots(); + this.innerElements.closeBtn.onclick = () => (this.visible = false); + this.setMovableListeners(); + const observer = new ResizeObserver(() => this.onResized.trigger()); + observer.observe(this.get()); + this.description = null; + this.movable = true; + this.resizeable = true; + this.referencePoints = { + topLeft: new Vector2$1(), + top: new Vector2$1(), + topRight: new Vector2$1(), + left: new Vector2$1(), + center: new Vector2$1(), + right: new Vector2$1(), + bottomLeft: new Vector2$1(), + bottom: new Vector2$1(), + bottomRight: new Vector2$1(), + }; + this.domElement.style.width = "400px"; + this.domElement.style.height = "250px"; + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + this.setupEvents(false); + this.onMoved.reset(); + this.onResized.reset(); + } + setMovableListeners() { + // For node.js + try { + // eslint-disable-next-line no-unused-expressions + this._components.renderer; + } + catch (_e) { + return; + } + this.setupEvents(true); + } + addChild(...items) { + const content = this.slots.content; + content.addChild(...items); + if (!content.visible) + content.visible = true; + } + updateReferencePoints() { + const uiElementRect = this.domElement.getBoundingClientRect(); + this.referencePoints.topLeft.set(uiElementRect.x, uiElementRect.y); + this.referencePoints.top.set(uiElementRect.x + uiElementRect.width / 2, uiElementRect.y); + this.referencePoints.topRight.set(uiElementRect.x + uiElementRect.width, uiElementRect.y); + this.referencePoints.left.set(uiElementRect.x, uiElementRect.y + uiElementRect.height / 2); + this.referencePoints.center.set(uiElementRect.x + uiElementRect.width / 2, uiElementRect.y + uiElementRect.height / 2); + this.referencePoints.right.set(uiElementRect.x + uiElementRect.width, uiElementRect.y + uiElementRect.height / 2); + this.referencePoints.bottomLeft.set(uiElementRect.x, uiElementRect.y + uiElementRect.height); + this.referencePoints.bottom.set(uiElementRect.x + uiElementRect.width / 2, uiElementRect.y + uiElementRect.height); + this.referencePoints.bottomRight.set(uiElementRect.x + uiElementRect.width, uiElementRect.y + uiElementRect.height); + } + setupEvents(active) { + const title = this.innerElements.titleContainer; + const container = this.viewerContainer; + if (active) { + if (title) { + title.addEventListener("mousedown", this.onMOuseDown); + } + container.addEventListener("mousemove", this.onMouseMove); + container.addEventListener("mouseup", this.onMouseUp); + } + else { + if (title) { + title.removeEventListener("mousedown", this.onMOuseDown); + } + container.removeEventListener("mousemove", this.onMouseMove); + container.removeEventListener("mouseup", this.onMouseUp); + } + } +} +FloatingWindow.Class = { + Base: "absolute flex flex-col backdrop-blur-xl shadow-md overflow-auto top-5 resize z-50 left-5 min-h-[80px] min-w-[150px] w-fit h-fit text-white bg-ifcjs-100 rounded-md", + Description: "text-base text-gray-400", +}; + +class Dropdown extends SimpleUIComponent { + set value(value) { + var _a; + const option = (_a = this.options.find((v) => v === value)) !== null && _a !== void 0 ? _a : this.options[0]; + this.innerElements.button.textContent = option !== null && option !== void 0 ? option : null; + this.onChange.trigger(this.value); + } + get value() { + return this.innerElements.button.textContent; + } + set allowSearch(value) { + this._allowSearch = value; + if (value) { + this.innerElements.search.classList.remove("hidden"); + } + else { + this.innerElements.search.classList.add("hidden"); + } + } + get allowSearch() { + return this._allowSearch; + } + set label(value) { + this.innerElements.label.textContent = value; + if (value) { + this.innerElements.label.classList.remove("hidden"); + } + else { + this.innerElements.label.classList.add("hidden"); + } + } + get label() { + return this.innerElements.label.textContent; + } + constructor(components, name = "Tooeen Dropdown") { + const template = ` +
+ + + +
+ `; + super(components, template); + this.name = "TooeenDropdown"; + this.options = []; + this.onChange = new Event(); + this._allowSearch = false; + this.hide = (event) => { + if (!this.get().contains(event.target)) { + this.innerElements.dropdown.classList.add("hidden"); + } + }; + this.innerElements = { + label: this.getInnerElement("label"), + button: this.getInnerElement("button"), + dropdown: this.getInnerElement("dropdown"), + search: this.getInnerElement("search"), + searchInput: this.getInnerElement("searchInput"), + dropdownList: this.getInnerElement("dropdownList"), + }; + this.setSearch(); + this.innerElements.button.onclick = () => this.toggle(); + this.setupEvents(true); + this.label = name; + } + async dispose(onlyChildren = false) { + super.dispose(onlyChildren); + this.onChange.reset(); + this.setupEvents(false); + } + toggle() { + if (this.innerElements.dropdown.classList.contains("hidden")) { + this.innerElements.dropdown.classList.remove("hidden"); + } + else { + this.innerElements.dropdown.classList.add("hidden"); + } + } + addOption(...value) { + const options = value.filter((option) => !this.options.includes(option)); + for (const option of options) { + this.options.push(option); + const li = document.createElement("li"); + li.id = `${option.replace(/\s+/g, "_")}-${this.id}`; + li.className = "py-2 text-base cursor-pointer hover:text-ifcjs-200"; + li.textContent = option; + li.onclick = () => { + this.value = option; + this.innerElements.dropdown.classList.add("hidden"); + }; + this.innerElements.dropdownList.appendChild(li); + } + return this; + } + removeOption(...value) { + const optionsToDelete = value.filter((option) => this.options.includes(option)); + for (const name of optionsToDelete) { + const option = this.get().querySelector(`#${name.replace(/\s+/g, "_")}-${this.id}`); + if (!option) + continue; + option.remove(); + } + this.options = this.options.filter((option) => !value.includes(option)); + return this; + } + setSearch() { + this.innerElements.searchInput.oninput = () => { + var _a; + const searchValue = this.innerElements.searchInput.value.toLowerCase(); + const list = this.innerElements.dropdownList.children; + for (const child of list) { + const childText = (_a = child.textContent) === null || _a === void 0 ? void 0 : _a.toLowerCase(); + if (!childText) + continue; + if (childText.includes(searchValue)) { + child.classList.remove("hidden"); + } + else { + child.classList.add("hidden"); + } + } + }; + } + setupEvents(active) { + if (active) { + document.addEventListener("click", this.hide, true); + } + else { + document.removeEventListener("click", this.hide, true); + } + } +} + +class TextInput extends SimpleUIComponent { + set value(value) { + this.innerElements.input.value = value; + this.onChange.trigger(this.value); + } + get value() { + return this.innerElements.input.value; + } + set label(value) { + this.innerElements.label.textContent = value; + if (value) { + this.innerElements.label.classList.remove("hidden"); + } + else { + this.innerElements.label.classList.add("hidden"); + } + } + get label() { + return this.innerElements.label.textContent; + } + constructor(components) { + const template = ` +
+ + +
+ `; + super(components, template); + this.name = "TooeenTextInput"; + this.onChange = new Event(); + this.innerElements = { + label: this.getInnerElement("label"), + input: this.getInnerElement("input"), + }; + this.label = "Tooeen Text"; + this.innerElements.label.setAttribute("for", `input-${this.id}`); + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + this.onChange.reset(); + } +} + +class CheckboxInput extends SimpleUIComponent { + set value(value) { + this.innerElements.input.checked = value; + this.onChange.trigger(this.value); + } + get value() { + return this.innerElements.input.checked; + } + set label(value) { + this.innerElements.label.textContent = value; + if (value) { + this.innerElements.label.classList.remove("hidden"); + } + else { + this.innerElements.label.classList.add("hidden"); + } + } + get label() { + return this.innerElements.label.textContent; + } + constructor(components) { + const template = ` +
+ + +
+ `; + super(components, template); + this.name = "TooeenCheckboxInput"; + this.onChange = new Event(); + this.innerElements = { + label: this.getInnerElement("label"), + input: this.getInnerElement("input"), + }; + this.innerElements.input.addEventListener("change", () => { + this.onChange.trigger(this.value); + }); + this.label = "Tooeen Checkbox"; + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + this.onChange.reset(); + } +} + +class ColorInput extends SimpleUIComponent { + set value(value) { + this.innerElements.input.value = value; + this.onChange.trigger(this.value); + } + get value() { + return this.innerElements.input.value; + } + set label(value) { + this.innerElements.label.textContent = value; + if (value) { + this.innerElements.label.classList.remove("hidden"); + } + else { + this.innerElements.label.classList.add("hidden"); + } + } + get label() { + return this.innerElements.label.textContent; + } + // @ts-ignore + constructor(components) { + const template = ` +
+ + +
+ `; + super(components, template); + this.name = "TooeenColorInput"; + this.onChange = new Event(); + this.innerElements = { + label: this.getInnerElement("label"), + input: this.getInnerElement("input"), + }; + this.label = "Tooeen Color"; + this.value = "#BCF124"; + this.innerElements.input.oninput = () => { + this.onChange.trigger(this.value); + }; + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + this.onChange.reset(); + } +} + +class RangeInput extends SimpleUIComponent { + set value(value) { + this.innerElements.input.value = String(value); + this.onChange.trigger(this.value); + } + get value() { + return Number(this.innerElements.input.value); + } + set label(value) { + this.innerElements.label.textContent = value; + if (value) { + this.innerElements.label.classList.remove("hidden"); + } + else { + this.innerElements.label.classList.add("hidden"); + } + } + get label() { + return this.innerElements.label.textContent; + } + set min(value) { + this.innerElements.input.min = String(value); + } + get min() { + return Number(this.innerElements.input.min); + } + set max(value) { + this.innerElements.input.max = String(value); + } + get max() { + return Number(this.innerElements.input.max); + } + set step(value) { + this.innerElements.input.step = String(value); + } + get step() { + return Number(this.innerElements.input.step); + } + // @ts-ignore + constructor(components) { + const template = ` +
+ + +
+ `; + super(components, template); + this.name = "TooeenRangeInput"; + this.onChange = new Event(); + this.innerElements = { + label: this.getInnerElement("label"), + input: this.getInnerElement("input"), + }; + this.label = "Tooeen Range"; + this.innerElements.input.oninput = () => { + this.onChange.trigger(this.value); + }; + } +} + +class Canvas extends SimpleUIComponent { + constructor(components) { + const template = ` + + `; + super(components, template); + this.name = "Canvas"; + this.onResize = new Event(); + this._size = new THREE$1.Vector2(320, 160); + } + getSize() { + return this._size; + } + resize(size) { + if (size) { + this._size = size; + this.domElement.style.width = `${size.x}px`; + this.domElement.style.height = `${size.y}px`; + this.onResize.trigger(size); + } + } +} + +class DragAndDropInput extends SimpleUIComponent { + constructor(components, config) { + const subtitle = config ? config.subTitle : ""; + const template = ` +
+
+ +
+
+ `; + super(components, template); + this.name = "DragAndDropInput"; + this.onFilesLoaded = new Event(); + const input = this.get().querySelector("input"); + if (!input) + throw new Error("Input not found!"); + const onFilesLoaded = async () => { + if (input.files === null) + return; + await this.onFilesLoaded.trigger(input.files); + }; + input.onchange = () => onFilesLoaded(); + const allowDragDrop = (event) => event.preventDefault(); + this.get().ondragover = allowDragDrop; + this.get().ondragenter = allowDragDrop; + this.get().ondrop = async (event) => { + event.preventDefault(); + input.files = event.dataTransfer.files; + await onFilesLoaded(); + }; + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + this.onFilesLoaded.reset(); + } +} + +class Spinner extends SimpleUIComponent { + constructor(components) { + const template = ` +
+
+ + Loading... +
+
+ `; + super(components, template); + this.name = "Spinner"; + } +} + +class ToastNotification extends SimpleUIComponent { + set materialIcon(name) { + this.innerElements.icon.textContent = name; + if (name) { + this.innerElements.icon.classList.remove("hidden"); + } + else { + this.innerElements.icon.classList.add("hidden"); + } + } + constructor(components, config) { + var _a; + // TODO: Extract icon ui component and reuse it + const template = ` +
+ +
+ `; + super(components, template); + this.name = "ToastNotification"; + this.duration = 3000; + this.innerElements = { + icon: this.getInnerElement("icon"), + message: this.getInnerElement("message"), + }; + this.domElement.style.zIndex = "9999"; + this.materialIcon = (_a = config.materialIconName) !== null && _a !== void 0 ? _a : "done"; + this.message = config.message; + } + get message() { + return this.innerElements.message.textContent; + } + set message(value) { + this.innerElements.message.textContent = value; + } + set visible(active) { + const delay = 200; + if (active) { + super.visible = active; + setTimeout(() => { + this.domElement.style.transform = "translateY(0)"; + this.hideAutomatically(); + }, delay); + } + else { + this.domElement.style.transform = "translateY(10rem)"; + setTimeout(() => (super.visible = active), delay); + } + } + hideAutomatically() { + setTimeout(() => { + this.visible = false; + }, this.duration); + } +} + +class TextArea extends SimpleUIComponent { + set value(value) { + this.innerElements.input.value = value; + this.onChange.trigger(this.value); + } + get value() { + return this.innerElements.input.value; + } + set label(value) { + this.innerElements.label.textContent = value; + if (value) { + this.innerElements.label.classList.remove("hidden"); + } + else { + this.innerElements.label.classList.add("hidden"); + } + } + get label() { + return this.innerElements.label.textContent; + } + set placeholder(value) { + this.innerElements.input.placeholder = value; + } + get placeholder() { + return this.innerElements.input.placeholder; + } + constructor(components) { + const template = ` +
+ + +
+ `; + super(components, template); + this.name = "TooeenTextArea"; + this.onChange = new Event(); + this.innerElements = { + label: this.getInnerElement("label"), + input: this.getInnerElement("input"), + }; + this.label = "Tooeen Text Area"; + this.placeholder = "Write something..."; + this.innerElements.label.setAttribute("for", `input-${this.id}`); + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + this.onChange.reset(); + } +} + +class CommandsMenu extends SimpleUIComponent { + get hasCommands() { + return Object.keys(this.commands).length !== 0; + } + constructor(components) { + const template = `
`; + super(components, template); + this.name = "CommandsMenu"; + this.offset = new THREE$1.Vector2(20, -10); + this.commands = {}; + this.hideCommandsMenu = () => { + this.visible = false; + }; + this.innerElements = { + window: this.getInnerElement("window"), + }; + this.setupEvents(true); + } + update() { + this.dispose(true); + for (const name in this.commands) { + const command = this.commands[name]; + const button = new Button(this._components, { name }); + button.name = name; + this.addChild(button); + button.onClick.add(() => command(this.commandData)); + } + } + popup(x, y) { + this.domElement.style.left = `${x + this.offset.x}px`; + this.domElement.style.top = `${y + this.offset.y}px`; + this.visible = true; + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + if (!onlyChildren) { + this.setupEvents(false); + this.commands = {}; + this.commandData = null; + } + } + setupEvents(active) { + if (active) { + window.addEventListener("click", this.hideCommandsMenu); + } + else { + window.removeEventListener("click", this.hideCommandsMenu); + } + } +} + +// TODO: Fix tooltips for buttons in drawers +class Drawer extends SimpleUIComponent { + get visible() { + return this._visible; + } + set visible(value) { + const classes = this.domElement.classList; + const isHorizontal = this._type === "top" || this._type === "bottom"; + if (isHorizontal) { + const sign = this._type === "top" ? "-" : ""; + if (value) { + classes.remove(`${sign}translate-y-full`); + } + else { + classes.add(`${sign}translate-y-full`); + } + } + else { + const sign = this._type === "left" ? "-" : ""; + if (value) { + classes.remove(`${sign}translate-x-full`); + } + else { + classes.add(`${sign}translate-x-full`); + } + } + this._visible = value; + } + get size() { + return this._size; + } + set size(value) { + this._size = value; + const horizontal = this._type === "top" || this._type === "bottom"; + const height = horizontal ? this._size : "inherit"; + const width = horizontal ? "inherit" : this._size; + this.domElement.style.height = height; + this.domElement.style.width = width; + } + set alignment(value) { + const classes = this.domElement.classList; + this._type = value; + classes.remove("h-full"); + classes.remove("w-full"); + classes.remove("top-0"); + classes.remove("bottom-0"); + classes.remove("left-0"); + classes.remove("right-0"); + classes.remove("-translate-x-full"); + classes.remove("-translate-y-full"); + classes.remove("translate-x-full"); + classes.remove("translate-y-full"); + if (value === "top" || value === "bottom") { + classes.add("w-full"); + classes.add("left-0"); + classes.add(`${value}-0`); + } + else { + classes.add("h-full"); + classes.add("top-0"); + classes.add(`${value}-0`); + } + this.size = this._size; + this.visible = this._visible; + } + constructor(components) { + const template = ` +
+
+
+
+
+ `; + super(components, template); + this.name = "Drawer"; + this._size = "10rem"; + this._visible = true; + this._type = "left"; + this.domElement.style.width = this._size; + this.slots = { + content: new SimpleUIComponent(components, `
`), + }; + this.setSlots(); + } + addChild(...items) { + const content = this.slots.content; + content.addChild(...items); + if (!content.visible) + content.visible = true; + } +} + +class Modal extends SimpleUIComponent { + set description(value) { + const element = this.innerElements.description; + element.textContent = value; + if (value) { + element.classList.remove("hidden"); + } + else { + element === null || element === void 0 ? void 0 : element.classList.add("hidden"); + } + } + get description() { + return this.innerElements.description.textContent; + } + set title(value) { + const element = this.innerElements.title; + element.textContent = value; + if (value) { + element.classList.remove("hidden"); + } + else { + element.classList.add("hidden"); + } + } + get title() { + return this.innerElements.title.textContent; + } + set visible(value) { + this._visible = value; + if (value) { + this.get().showModal(); + this.onVisible.trigger(); + } + else { + this.get().close(); + this.onHidden.trigger(); + } + } + get visible() { + return this._visible; + } + constructor(components, title = "Tooeen Modal") { + const template = ` + +
+
+

${title}

+

+
+
+
+
+
+ `; + super(components, template); + this.onAccept = new Event(); + this.onCancel = new Event(); + this.innerElements = { + title: this.getInnerElement("title"), + description: this.getInnerElement("description"), + }; + this.slots = { + content: new SimpleUIComponent(components), + actionButtons: new SimpleUIComponent(components, `
`), + }; + this.setSlots(); + const acceptBtn = new Button(this._components); + acceptBtn.materialIcon = "check"; + acceptBtn.label = "Accept"; + acceptBtn.get().classList.remove("hover:bg-ifcjs-200"); + acceptBtn.get().classList.add("hover:bg-success"); + acceptBtn.onClick.add(() => this.onAccept.trigger()); + const cancelBtn = new Button(this._components); + cancelBtn.materialIcon = "close"; + cancelBtn.label = "Cancel"; + cancelBtn.get().classList.remove("hover:bg-ifcjs-200"); + cancelBtn.get().classList.add("hover:bg-error"); + cancelBtn.onClick.add(() => this.onCancel.trigger()); + this.slots.actionButtons.addChild(cancelBtn, acceptBtn); + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + this.onCancel.reset(); + this.onAccept.reset(); + } +} + +/** + * The entry point of Open BIM Components. + * It contains the basic items to create a BIM 3D scene based on Three.js, as + * well as all the tools provided by this library. It also manages the update + * loop of everything. Each instance has to be initialized with {@link init}. + * + */ +class Components { + /** + * The [Three.js renderer](https://threejs.org/docs/#api/en/renderers/WebGLRenderer) + * used to render the scene. This library provides multiple renderer + * components with pre-made functionality (e.g. rendering of 2D CSS elements. + */ + get renderer() { + if (!this._renderer) { + throw new Error("Renderer hasn't been initialised."); + } + return this._renderer; + } + /** + * This needs to be initialized before calling init(). + */ + set renderer(renderer) { + this._renderer = renderer; + } + /** + * The [Three.js scene](https://threejs.org/docs/#api/en/scenes/Scene) + * where all the rendered items are placed. + */ + get scene() { + if (!this._scene) { + throw new Error("Scene hasn't been initialised."); + } + return this._scene; + } + /** + * This needs to be initialized before calling init(). + */ + set scene(scene) { + this._scene = scene; + } + /** + * The [Three.js camera](https://threejs.org/docs/#api/en/cameras/Camera) + * that determines the point of view of the renderer. + */ + get camera() { + if (!this._camera) { + throw new Error("Camera hasn't been initialised."); + } + return this._camera; + } + /** + * This needs to be initialized before calling init(). + */ + set camera(camera) { + this._camera = camera; + } + /** + * A component using the [Three.js raycaster](https://threejs.org/docs/#api/en/core/Raycaster) + * used primarily to pick 3D items with the mouse or a touch screen. + */ + get raycaster() { + if (!this._raycaster) { + throw new Error("Raycaster hasn't been initialised."); + } + return this._raycaster; + } + /** + * Although this is not necessary to make the library work, it's necessary + * to initialize this if any component that needs a raycaster is used. + */ + set raycaster(raycaster) { + this._raycaster = raycaster; + } + constructor() { + /** + * All the loaded [meshes](https://threejs.org/docs/#api/en/objects/Mesh). + * This includes fragments, 3D scans, etc. + */ + this.meshes = []; + /** + * Event that fires when this instance has been fully initialized and is + * ready to work (scene, camera and renderer are ready). + */ + this.onInitialized = new Event(); + this._enabled = false; + this.update = async () => { + if (!this._enabled) + return; + const delta = this._clock.getDelta(); + await Components.update(this.scene, delta); + await Components.update(this.renderer, delta); + await Components.update(this.camera, delta); + await this.tools.update(delta); + const renderer = this.renderer.get(); + // Works the same as requestAnimationFrame, but let us use WebXR. + renderer.setAnimationLoop(this.update); + }; + this._clock = new THREE$1.Clock(); + this.tools = new ToolComponent(this); + this.ui = new UIManager(this); + Components.setupBVH(); + } + /** + * Initializes the library. It should be called at the start of the app after + * initializing the scene, the renderer and the + * camera. Additionally, if any component that need a raycaster is + * used, the {@link raycaster} will need to be initialized. + */ + init() { + this._enabled = true; + this._clock.start(); + this.ui.init(); + this.update(); + this.onInitialized.trigger(this); + } + /** + * Disposes the memory of all the components and tools of this instance of + * the library. A memory leak will be created if: + * + * - An instance of the library ends up out of scope and this function isn't + * called. This is especially relevant in Single Page Applications (React, + * Angular, Vue, etc). + * + * - Any of the objects of this instance (meshes, geometries, etc) is + * referenced by a reference type (object or array). + * + * You can learn more about how Three.js handles memory leaks + * [here](https://threejs.org/docs/#manual/en/introduction/How-to-dispose-of-objects). + * + */ + async dispose() { + const disposer = await this.tools.get(Disposer); + this._enabled = false; + await this.tools.dispose(); + await this.ui.dispose(); + this.onInitialized.reset(); + this._clock.stop(); + for (const mesh of this.meshes) { + disposer.destroy(mesh); + } + this.meshes.length = 0; + if (this.renderer.isDisposeable()) { + await this.renderer.dispose(); + } + if (this.scene.isDisposeable()) { + await this.scene.dispose(); + } + if (this.camera.isDisposeable()) { + await this.camera.dispose(); + } + if (this.raycaster.isDisposeable()) { + await this.raycaster.dispose(); + } + } + static async update(component, delta) { + if (component.isUpdateable() && component.enabled) { + await component.update(delta); + } + } + static setupBVH() { + THREE$1.BufferGeometry.prototype.computeBoundsTree = computeBoundsTree; + THREE$1.BufferGeometry.prototype.disposeBoundsTree = disposeBoundsTree; + THREE$1.Mesh.prototype.raycast = acceleratedRaycast; + } +} + +const _raycaster = new Raycaster(); + +const _tempVector = new Vector3$1(); +const _tempVector2 = new Vector3$1(); +const _tempQuaternion = new Quaternion$1(); +const _unit = { + X: new Vector3$1( 1, 0, 0 ), + Y: new Vector3$1( 0, 1, 0 ), + Z: new Vector3$1( 0, 0, 1 ) +}; + +const _changeEvent$1 = { type: 'change' }; +const _mouseDownEvent = { type: 'mouseDown' }; +const _mouseUpEvent = { type: 'mouseUp', mode: null }; +const _objectChangeEvent = { type: 'objectChange' }; + +class TransformControls extends Object3D { + + constructor( camera, domElement ) { + + super(); + + if ( domElement === undefined ) { + + console.warn( 'THREE.TransformControls: The second parameter "domElement" is now mandatory.' ); + domElement = document; + + } + + this.isTransformControls = true; + + this.visible = false; + this.domElement = domElement; + this.domElement.style.touchAction = 'none'; // disable touch scroll + + const _gizmo = new TransformControlsGizmo(); + this._gizmo = _gizmo; + this.add( _gizmo ); + + const _plane = new TransformControlsPlane(); + this._plane = _plane; + this.add( _plane ); + + const scope = this; + + // Defined getter, setter and store for a property + function defineProperty( propName, defaultValue ) { + + let propValue = defaultValue; + + Object.defineProperty( scope, propName, { + + get: function () { + + return propValue !== undefined ? propValue : defaultValue; + + }, + + set: function ( value ) { + + if ( propValue !== value ) { + + propValue = value; + _plane[ propName ] = value; + _gizmo[ propName ] = value; + + scope.dispatchEvent( { type: propName + '-changed', value: value } ); + scope.dispatchEvent( _changeEvent$1 ); + + } + + } + + } ); + + scope[ propName ] = defaultValue; + _plane[ propName ] = defaultValue; + _gizmo[ propName ] = defaultValue; + + } + + // Define properties with getters/setter + // Setting the defined property will automatically trigger change event + // Defined properties are passed down to gizmo and plane + + defineProperty( 'camera', camera ); + defineProperty( 'object', undefined ); + defineProperty( 'enabled', true ); + defineProperty( 'axis', null ); + defineProperty( 'mode', 'translate' ); + defineProperty( 'translationSnap', null ); + defineProperty( 'rotationSnap', null ); + defineProperty( 'scaleSnap', null ); + defineProperty( 'space', 'world' ); + defineProperty( 'size', 1 ); + defineProperty( 'dragging', false ); + defineProperty( 'showX', true ); + defineProperty( 'showY', true ); + defineProperty( 'showZ', true ); + + // Reusable utility variables + + const worldPosition = new Vector3$1(); + const worldPositionStart = new Vector3$1(); + const worldQuaternion = new Quaternion$1(); + const worldQuaternionStart = new Quaternion$1(); + const cameraPosition = new Vector3$1(); + const cameraQuaternion = new Quaternion$1(); + const pointStart = new Vector3$1(); + const pointEnd = new Vector3$1(); + const rotationAxis = new Vector3$1(); + const rotationAngle = 0; + const eye = new Vector3$1(); + + // TODO: remove properties unused in plane and gizmo + + defineProperty( 'worldPosition', worldPosition ); + defineProperty( 'worldPositionStart', worldPositionStart ); + defineProperty( 'worldQuaternion', worldQuaternion ); + defineProperty( 'worldQuaternionStart', worldQuaternionStart ); + defineProperty( 'cameraPosition', cameraPosition ); + defineProperty( 'cameraQuaternion', cameraQuaternion ); + defineProperty( 'pointStart', pointStart ); + defineProperty( 'pointEnd', pointEnd ); + defineProperty( 'rotationAxis', rotationAxis ); + defineProperty( 'rotationAngle', rotationAngle ); + defineProperty( 'eye', eye ); + + this._offset = new Vector3$1(); + this._startNorm = new Vector3$1(); + this._endNorm = new Vector3$1(); + this._cameraScale = new Vector3$1(); + + this._parentPosition = new Vector3$1(); + this._parentQuaternion = new Quaternion$1(); + this._parentQuaternionInv = new Quaternion$1(); + this._parentScale = new Vector3$1(); + + this._worldScaleStart = new Vector3$1(); + this._worldQuaternionInv = new Quaternion$1(); + this._worldScale = new Vector3$1(); + + this._positionStart = new Vector3$1(); + this._quaternionStart = new Quaternion$1(); + this._scaleStart = new Vector3$1(); + + this._getPointer = getPointer.bind( this ); + this._onPointerDown = onPointerDown.bind( this ); + this._onPointerHover = onPointerHover.bind( this ); + this._onPointerMove = onPointerMove.bind( this ); + this._onPointerUp = onPointerUp.bind( this ); + + this.domElement.addEventListener( 'pointerdown', this._onPointerDown ); + this.domElement.addEventListener( 'pointermove', this._onPointerHover ); + this.domElement.addEventListener( 'pointerup', this._onPointerUp ); + + } + + // updateMatrixWorld updates key transformation variables + updateMatrixWorld() { + + if ( this.object !== undefined ) { + + this.object.updateMatrixWorld(); + + if ( this.object.parent === null ) { + + console.error( 'TransformControls: The attached 3D object must be a part of the scene graph.' ); + + } else { + + this.object.parent.matrixWorld.decompose( this._parentPosition, this._parentQuaternion, this._parentScale ); + + } + + this.object.matrixWorld.decompose( this.worldPosition, this.worldQuaternion, this._worldScale ); + + this._parentQuaternionInv.copy( this._parentQuaternion ).invert(); + this._worldQuaternionInv.copy( this.worldQuaternion ).invert(); + + } + + this.camera.updateMatrixWorld(); + this.camera.matrixWorld.decompose( this.cameraPosition, this.cameraQuaternion, this._cameraScale ); + + if ( this.camera.isOrthographicCamera ) { + + this.camera.getWorldDirection( this.eye ).negate(); + + } else { + + this.eye.copy( this.cameraPosition ).sub( this.worldPosition ).normalize(); + + } + + super.updateMatrixWorld( this ); + + } + + pointerHover( pointer ) { + + if ( this.object === undefined || this.dragging === true ) return; + + _raycaster.setFromCamera( pointer, this.camera ); + + const intersect = intersectObjectWithRay( this._gizmo.picker[ this.mode ], _raycaster ); + + if ( intersect ) { + + this.axis = intersect.object.name; + + } else { + + this.axis = null; + + } + + } + + pointerDown( pointer ) { + + if ( this.object === undefined || this.dragging === true || pointer.button !== 0 ) return; + + if ( this.axis !== null ) { + + _raycaster.setFromCamera( pointer, this.camera ); + + const planeIntersect = intersectObjectWithRay( this._plane, _raycaster, true ); + + if ( planeIntersect ) { + + this.object.updateMatrixWorld(); + this.object.parent.updateMatrixWorld(); + + this._positionStart.copy( this.object.position ); + this._quaternionStart.copy( this.object.quaternion ); + this._scaleStart.copy( this.object.scale ); + + this.object.matrixWorld.decompose( this.worldPositionStart, this.worldQuaternionStart, this._worldScaleStart ); + + this.pointStart.copy( planeIntersect.point ).sub( this.worldPositionStart ); + + } + + this.dragging = true; + _mouseDownEvent.mode = this.mode; + this.dispatchEvent( _mouseDownEvent ); + + } + + } + + pointerMove( pointer ) { + + const axis = this.axis; + const mode = this.mode; + const object = this.object; + let space = this.space; + + if ( mode === 'scale' ) { + + space = 'local'; + + } else if ( axis === 'E' || axis === 'XYZE' || axis === 'XYZ' ) { + + space = 'world'; + + } + + if ( object === undefined || axis === null || this.dragging === false || pointer.button !== - 1 ) return; + + _raycaster.setFromCamera( pointer, this.camera ); + + const planeIntersect = intersectObjectWithRay( this._plane, _raycaster, true ); + + if ( ! planeIntersect ) return; + + this.pointEnd.copy( planeIntersect.point ).sub( this.worldPositionStart ); + + if ( mode === 'translate' ) { + + // Apply translate + + this._offset.copy( this.pointEnd ).sub( this.pointStart ); + + if ( space === 'local' && axis !== 'XYZ' ) { + + this._offset.applyQuaternion( this._worldQuaternionInv ); + + } + + if ( axis.indexOf( 'X' ) === - 1 ) this._offset.x = 0; + if ( axis.indexOf( 'Y' ) === - 1 ) this._offset.y = 0; + if ( axis.indexOf( 'Z' ) === - 1 ) this._offset.z = 0; + + if ( space === 'local' && axis !== 'XYZ' ) { + + this._offset.applyQuaternion( this._quaternionStart ).divide( this._parentScale ); + + } else { + + this._offset.applyQuaternion( this._parentQuaternionInv ).divide( this._parentScale ); + + } + + object.position.copy( this._offset ).add( this._positionStart ); + + // Apply translation snap + + if ( this.translationSnap ) { + + if ( space === 'local' ) { + + object.position.applyQuaternion( _tempQuaternion.copy( this._quaternionStart ).invert() ); + + if ( axis.search( 'X' ) !== - 1 ) { + + object.position.x = Math.round( object.position.x / this.translationSnap ) * this.translationSnap; + + } + + if ( axis.search( 'Y' ) !== - 1 ) { + + object.position.y = Math.round( object.position.y / this.translationSnap ) * this.translationSnap; + + } + + if ( axis.search( 'Z' ) !== - 1 ) { + + object.position.z = Math.round( object.position.z / this.translationSnap ) * this.translationSnap; + + } + + object.position.applyQuaternion( this._quaternionStart ); + + } + + if ( space === 'world' ) { + + if ( object.parent ) { + + object.position.add( _tempVector.setFromMatrixPosition( object.parent.matrixWorld ) ); + + } + + if ( axis.search( 'X' ) !== - 1 ) { + + object.position.x = Math.round( object.position.x / this.translationSnap ) * this.translationSnap; + + } + + if ( axis.search( 'Y' ) !== - 1 ) { + + object.position.y = Math.round( object.position.y / this.translationSnap ) * this.translationSnap; + + } + + if ( axis.search( 'Z' ) !== - 1 ) { + + object.position.z = Math.round( object.position.z / this.translationSnap ) * this.translationSnap; + + } + + if ( object.parent ) { + + object.position.sub( _tempVector.setFromMatrixPosition( object.parent.matrixWorld ) ); + + } + + } + + } + + } else if ( mode === 'scale' ) { + + if ( axis.search( 'XYZ' ) !== - 1 ) { + + let d = this.pointEnd.length() / this.pointStart.length(); + + if ( this.pointEnd.dot( this.pointStart ) < 0 ) d *= - 1; + + _tempVector2.set( d, d, d ); + + } else { + + _tempVector.copy( this.pointStart ); + _tempVector2.copy( this.pointEnd ); + + _tempVector.applyQuaternion( this._worldQuaternionInv ); + _tempVector2.applyQuaternion( this._worldQuaternionInv ); + + _tempVector2.divide( _tempVector ); + + if ( axis.search( 'X' ) === - 1 ) { + + _tempVector2.x = 1; + + } + + if ( axis.search( 'Y' ) === - 1 ) { + + _tempVector2.y = 1; + + } + + if ( axis.search( 'Z' ) === - 1 ) { + + _tempVector2.z = 1; + + } + + } + + // Apply scale + + object.scale.copy( this._scaleStart ).multiply( _tempVector2 ); + + if ( this.scaleSnap ) { + + if ( axis.search( 'X' ) !== - 1 ) { + + object.scale.x = Math.round( object.scale.x / this.scaleSnap ) * this.scaleSnap || this.scaleSnap; + + } + + if ( axis.search( 'Y' ) !== - 1 ) { + + object.scale.y = Math.round( object.scale.y / this.scaleSnap ) * this.scaleSnap || this.scaleSnap; + + } + + if ( axis.search( 'Z' ) !== - 1 ) { + + object.scale.z = Math.round( object.scale.z / this.scaleSnap ) * this.scaleSnap || this.scaleSnap; + + } + + } + + } else if ( mode === 'rotate' ) { + + this._offset.copy( this.pointEnd ).sub( this.pointStart ); + + const ROTATION_SPEED = 20 / this.worldPosition.distanceTo( _tempVector.setFromMatrixPosition( this.camera.matrixWorld ) ); + + if ( axis === 'E' ) { + + this.rotationAxis.copy( this.eye ); + this.rotationAngle = this.pointEnd.angleTo( this.pointStart ); + + this._startNorm.copy( this.pointStart ).normalize(); + this._endNorm.copy( this.pointEnd ).normalize(); + + this.rotationAngle *= ( this._endNorm.cross( this._startNorm ).dot( this.eye ) < 0 ? 1 : - 1 ); + + } else if ( axis === 'XYZE' ) { + + this.rotationAxis.copy( this._offset ).cross( this.eye ).normalize(); + this.rotationAngle = this._offset.dot( _tempVector.copy( this.rotationAxis ).cross( this.eye ) ) * ROTATION_SPEED; + + } else if ( axis === 'X' || axis === 'Y' || axis === 'Z' ) { + + this.rotationAxis.copy( _unit[ axis ] ); + + _tempVector.copy( _unit[ axis ] ); + + if ( space === 'local' ) { + + _tempVector.applyQuaternion( this.worldQuaternion ); + + } + + this.rotationAngle = this._offset.dot( _tempVector.cross( this.eye ).normalize() ) * ROTATION_SPEED; + + } + + // Apply rotation snap + + if ( this.rotationSnap ) this.rotationAngle = Math.round( this.rotationAngle / this.rotationSnap ) * this.rotationSnap; + + // Apply rotate + if ( space === 'local' && axis !== 'E' && axis !== 'XYZE' ) { + + object.quaternion.copy( this._quaternionStart ); + object.quaternion.multiply( _tempQuaternion.setFromAxisAngle( this.rotationAxis, this.rotationAngle ) ).normalize(); + + } else { + + this.rotationAxis.applyQuaternion( this._parentQuaternionInv ); + object.quaternion.copy( _tempQuaternion.setFromAxisAngle( this.rotationAxis, this.rotationAngle ) ); + object.quaternion.multiply( this._quaternionStart ).normalize(); + + } + + } + + this.dispatchEvent( _changeEvent$1 ); + this.dispatchEvent( _objectChangeEvent ); + + } + + pointerUp( pointer ) { + + if ( pointer.button !== 0 ) return; + + if ( this.dragging && ( this.axis !== null ) ) { + + _mouseUpEvent.mode = this.mode; + this.dispatchEvent( _mouseUpEvent ); + + } + + this.dragging = false; + this.axis = null; + + } + + dispose() { + + this.domElement.removeEventListener( 'pointerdown', this._onPointerDown ); + this.domElement.removeEventListener( 'pointermove', this._onPointerHover ); + this.domElement.removeEventListener( 'pointermove', this._onPointerMove ); + this.domElement.removeEventListener( 'pointerup', this._onPointerUp ); + + this.traverse( function ( child ) { + + if ( child.geometry ) child.geometry.dispose(); + if ( child.material ) child.material.dispose(); + + } ); + + } + + // Set current object + attach( object ) { + + this.object = object; + this.visible = true; + + return this; + + } + + // Detach from object + detach() { + + this.object = undefined; + this.visible = false; + this.axis = null; + + return this; + + } + + reset() { + + if ( ! this.enabled ) return; + + if ( this.dragging ) { + + this.object.position.copy( this._positionStart ); + this.object.quaternion.copy( this._quaternionStart ); + this.object.scale.copy( this._scaleStart ); + + this.dispatchEvent( _changeEvent$1 ); + this.dispatchEvent( _objectChangeEvent ); + + this.pointStart.copy( this.pointEnd ); + + } + + } + + getRaycaster() { + + return _raycaster; + + } + + // TODO: deprecate + + getMode() { + + return this.mode; + + } + + setMode( mode ) { + + this.mode = mode; + + } + + setTranslationSnap( translationSnap ) { + + this.translationSnap = translationSnap; + + } + + setRotationSnap( rotationSnap ) { + + this.rotationSnap = rotationSnap; + + } + + setScaleSnap( scaleSnap ) { + + this.scaleSnap = scaleSnap; + + } + + setSize( size ) { + + this.size = size; + + } + + setSpace( space ) { + + this.space = space; + + } + +} + +// mouse / touch event handlers + +function getPointer( event ) { + + if ( this.domElement.ownerDocument.pointerLockElement ) { + + return { + x: 0, + y: 0, + button: event.button + }; + + } else { + + const rect = this.domElement.getBoundingClientRect(); + + return { + x: ( event.clientX - rect.left ) / rect.width * 2 - 1, + y: - ( event.clientY - rect.top ) / rect.height * 2 + 1, + button: event.button + }; + + } + +} + +function onPointerHover( event ) { + + if ( ! this.enabled ) return; + + switch ( event.pointerType ) { + + case 'mouse': + case 'pen': + this.pointerHover( this._getPointer( event ) ); + break; + + } + +} + +function onPointerDown( event ) { + + if ( ! this.enabled ) return; + + if ( ! document.pointerLockElement ) { + + this.domElement.setPointerCapture( event.pointerId ); + + } + + this.domElement.addEventListener( 'pointermove', this._onPointerMove ); + + this.pointerHover( this._getPointer( event ) ); + this.pointerDown( this._getPointer( event ) ); + +} + +function onPointerMove( event ) { + + if ( ! this.enabled ) return; + + this.pointerMove( this._getPointer( event ) ); + +} + +function onPointerUp( event ) { + + if ( ! this.enabled ) return; + + this.domElement.releasePointerCapture( event.pointerId ); + + this.domElement.removeEventListener( 'pointermove', this._onPointerMove ); + + this.pointerUp( this._getPointer( event ) ); + +} + +function intersectObjectWithRay( object, raycaster, includeInvisible ) { + + const allIntersections = raycaster.intersectObject( object, true ); + + for ( let i = 0; i < allIntersections.length; i ++ ) { + + if ( allIntersections[ i ].object.visible || includeInvisible ) { + + return allIntersections[ i ]; + + } + + } + + return false; + +} + +// + +// Reusable utility variables + +const _tempEuler = new Euler(); +const _alignVector = new Vector3$1( 0, 1, 0 ); +const _zeroVector = new Vector3$1( 0, 0, 0 ); +const _lookAtMatrix = new Matrix4(); +const _tempQuaternion2 = new Quaternion$1(); +const _identityQuaternion = new Quaternion$1(); +const _dirVector = new Vector3$1(); +const _tempMatrix = new Matrix4(); + +const _unitX = new Vector3$1( 1, 0, 0 ); +const _unitY = new Vector3$1( 0, 1, 0 ); +const _unitZ = new Vector3$1( 0, 0, 1 ); + +const _v1 = new Vector3$1(); +const _v2 = new Vector3$1(); +const _v3 = new Vector3$1(); + +class TransformControlsGizmo extends Object3D { + + constructor() { + + super(); + + this.isTransformControlsGizmo = true; + + this.type = 'TransformControlsGizmo'; + + // shared materials + + const gizmoMaterial = new MeshBasicMaterial( { + depthTest: false, + depthWrite: false, + fog: false, + toneMapped: false, + transparent: true + } ); + + const gizmoLineMaterial = new LineBasicMaterial( { + depthTest: false, + depthWrite: false, + fog: false, + toneMapped: false, + transparent: true + } ); + + // Make unique material for each axis/color + + const matInvisible = gizmoMaterial.clone(); + matInvisible.opacity = 0.15; + + const matHelper = gizmoLineMaterial.clone(); + matHelper.opacity = 0.5; + + const matRed = gizmoMaterial.clone(); + matRed.color.setHex( 0xff0000 ); + + const matGreen = gizmoMaterial.clone(); + matGreen.color.setHex( 0x00ff00 ); + + const matBlue = gizmoMaterial.clone(); + matBlue.color.setHex( 0x0000ff ); + + const matRedTransparent = gizmoMaterial.clone(); + matRedTransparent.color.setHex( 0xff0000 ); + matRedTransparent.opacity = 0.5; + + const matGreenTransparent = gizmoMaterial.clone(); + matGreenTransparent.color.setHex( 0x00ff00 ); + matGreenTransparent.opacity = 0.5; + + const matBlueTransparent = gizmoMaterial.clone(); + matBlueTransparent.color.setHex( 0x0000ff ); + matBlueTransparent.opacity = 0.5; + + const matWhiteTransparent = gizmoMaterial.clone(); + matWhiteTransparent.opacity = 0.25; + + const matYellowTransparent = gizmoMaterial.clone(); + matYellowTransparent.color.setHex( 0xffff00 ); + matYellowTransparent.opacity = 0.25; + + const matYellow = gizmoMaterial.clone(); + matYellow.color.setHex( 0xffff00 ); + + const matGray = gizmoMaterial.clone(); + matGray.color.setHex( 0x787878 ); + + // reusable geometry + + const arrowGeometry = new CylinderGeometry( 0, 0.04, 0.1, 12 ); + arrowGeometry.translate( 0, 0.05, 0 ); + + const scaleHandleGeometry = new BoxGeometry( 0.08, 0.08, 0.08 ); + scaleHandleGeometry.translate( 0, 0.04, 0 ); + + const lineGeometry = new BufferGeometry(); + lineGeometry.setAttribute( 'position', new Float32BufferAttribute( [ 0, 0, 0, 1, 0, 0 ], 3 ) ); + + const lineGeometry2 = new CylinderGeometry( 0.0075, 0.0075, 0.5, 3 ); + lineGeometry2.translate( 0, 0.25, 0 ); + + function CircleGeometry( radius, arc ) { + + const geometry = new TorusGeometry( radius, 0.0075, 3, 64, arc * Math.PI * 2 ); + geometry.rotateY( Math.PI / 2 ); + geometry.rotateX( Math.PI / 2 ); + return geometry; + + } + + // Special geometry for transform helper. If scaled with position vector it spans from [0,0,0] to position + + function TranslateHelperGeometry() { + + const geometry = new BufferGeometry(); + + geometry.setAttribute( 'position', new Float32BufferAttribute( [ 0, 0, 0, 1, 1, 1 ], 3 ) ); + + return geometry; + + } + + // Gizmo definitions - custom hierarchy definitions for setupGizmo() function + + const gizmoTranslate = { + X: [ + [ new Mesh( arrowGeometry, matRed ), [ 0.5, 0, 0 ], [ 0, 0, - Math.PI / 2 ]], + [ new Mesh( arrowGeometry, matRed ), [ - 0.5, 0, 0 ], [ 0, 0, Math.PI / 2 ]], + [ new Mesh( lineGeometry2, matRed ), [ 0, 0, 0 ], [ 0, 0, - Math.PI / 2 ]] + ], + Y: [ + [ new Mesh( arrowGeometry, matGreen ), [ 0, 0.5, 0 ]], + [ new Mesh( arrowGeometry, matGreen ), [ 0, - 0.5, 0 ], [ Math.PI, 0, 0 ]], + [ new Mesh( lineGeometry2, matGreen ) ] + ], + Z: [ + [ new Mesh( arrowGeometry, matBlue ), [ 0, 0, 0.5 ], [ Math.PI / 2, 0, 0 ]], + [ new Mesh( arrowGeometry, matBlue ), [ 0, 0, - 0.5 ], [ - Math.PI / 2, 0, 0 ]], + [ new Mesh( lineGeometry2, matBlue ), null, [ Math.PI / 2, 0, 0 ]] + ], + XYZ: [ + [ new Mesh( new OctahedronGeometry( 0.1, 0 ), matWhiteTransparent.clone() ), [ 0, 0, 0 ]] + ], + XY: [ + [ new Mesh( new BoxGeometry( 0.15, 0.15, 0.01 ), matBlueTransparent.clone() ), [ 0.15, 0.15, 0 ]] + ], + YZ: [ + [ new Mesh( new BoxGeometry( 0.15, 0.15, 0.01 ), matRedTransparent.clone() ), [ 0, 0.15, 0.15 ], [ 0, Math.PI / 2, 0 ]] + ], + XZ: [ + [ new Mesh( new BoxGeometry( 0.15, 0.15, 0.01 ), matGreenTransparent.clone() ), [ 0.15, 0, 0.15 ], [ - Math.PI / 2, 0, 0 ]] + ] + }; + + const pickerTranslate = { + X: [ + [ new Mesh( new CylinderGeometry( 0.2, 0, 0.6, 4 ), matInvisible ), [ 0.3, 0, 0 ], [ 0, 0, - Math.PI / 2 ]], + [ new Mesh( new CylinderGeometry( 0.2, 0, 0.6, 4 ), matInvisible ), [ - 0.3, 0, 0 ], [ 0, 0, Math.PI / 2 ]] + ], + Y: [ + [ new Mesh( new CylinderGeometry( 0.2, 0, 0.6, 4 ), matInvisible ), [ 0, 0.3, 0 ]], + [ new Mesh( new CylinderGeometry( 0.2, 0, 0.6, 4 ), matInvisible ), [ 0, - 0.3, 0 ], [ 0, 0, Math.PI ]] + ], + Z: [ + [ new Mesh( new CylinderGeometry( 0.2, 0, 0.6, 4 ), matInvisible ), [ 0, 0, 0.3 ], [ Math.PI / 2, 0, 0 ]], + [ new Mesh( new CylinderGeometry( 0.2, 0, 0.6, 4 ), matInvisible ), [ 0, 0, - 0.3 ], [ - Math.PI / 2, 0, 0 ]] + ], + XYZ: [ + [ new Mesh( new OctahedronGeometry( 0.2, 0 ), matInvisible ) ] + ], + XY: [ + [ new Mesh( new BoxGeometry( 0.2, 0.2, 0.01 ), matInvisible ), [ 0.15, 0.15, 0 ]] + ], + YZ: [ + [ new Mesh( new BoxGeometry( 0.2, 0.2, 0.01 ), matInvisible ), [ 0, 0.15, 0.15 ], [ 0, Math.PI / 2, 0 ]] + ], + XZ: [ + [ new Mesh( new BoxGeometry( 0.2, 0.2, 0.01 ), matInvisible ), [ 0.15, 0, 0.15 ], [ - Math.PI / 2, 0, 0 ]] + ] + }; + + const helperTranslate = { + START: [ + [ new Mesh( new OctahedronGeometry( 0.01, 2 ), matHelper ), null, null, null, 'helper' ] + ], + END: [ + [ new Mesh( new OctahedronGeometry( 0.01, 2 ), matHelper ), null, null, null, 'helper' ] + ], + DELTA: [ + [ new Line$2( TranslateHelperGeometry(), matHelper ), null, null, null, 'helper' ] + ], + X: [ + [ new Line$2( lineGeometry, matHelper.clone() ), [ - 1e3, 0, 0 ], null, [ 1e6, 1, 1 ], 'helper' ] + ], + Y: [ + [ new Line$2( lineGeometry, matHelper.clone() ), [ 0, - 1e3, 0 ], [ 0, 0, Math.PI / 2 ], [ 1e6, 1, 1 ], 'helper' ] + ], + Z: [ + [ new Line$2( lineGeometry, matHelper.clone() ), [ 0, 0, - 1e3 ], [ 0, - Math.PI / 2, 0 ], [ 1e6, 1, 1 ], 'helper' ] + ] + }; + + const gizmoRotate = { + XYZE: [ + [ new Mesh( CircleGeometry( 0.5, 1 ), matGray ), null, [ 0, Math.PI / 2, 0 ]] + ], + X: [ + [ new Mesh( CircleGeometry( 0.5, 0.5 ), matRed ) ] + ], + Y: [ + [ new Mesh( CircleGeometry( 0.5, 0.5 ), matGreen ), null, [ 0, 0, - Math.PI / 2 ]] + ], + Z: [ + [ new Mesh( CircleGeometry( 0.5, 0.5 ), matBlue ), null, [ 0, Math.PI / 2, 0 ]] + ], + E: [ + [ new Mesh( CircleGeometry( 0.75, 1 ), matYellowTransparent ), null, [ 0, Math.PI / 2, 0 ]] + ] + }; + + const helperRotate = { + AXIS: [ + [ new Line$2( lineGeometry, matHelper.clone() ), [ - 1e3, 0, 0 ], null, [ 1e6, 1, 1 ], 'helper' ] + ] + }; + + const pickerRotate = { + XYZE: [ + [ new Mesh( new SphereGeometry( 0.25, 10, 8 ), matInvisible ) ] + ], + X: [ + [ new Mesh( new TorusGeometry( 0.5, 0.1, 4, 24 ), matInvisible ), [ 0, 0, 0 ], [ 0, - Math.PI / 2, - Math.PI / 2 ]], + ], + Y: [ + [ new Mesh( new TorusGeometry( 0.5, 0.1, 4, 24 ), matInvisible ), [ 0, 0, 0 ], [ Math.PI / 2, 0, 0 ]], + ], + Z: [ + [ new Mesh( new TorusGeometry( 0.5, 0.1, 4, 24 ), matInvisible ), [ 0, 0, 0 ], [ 0, 0, - Math.PI / 2 ]], + ], + E: [ + [ new Mesh( new TorusGeometry( 0.75, 0.1, 2, 24 ), matInvisible ) ] + ] + }; + + const gizmoScale = { + X: [ + [ new Mesh( scaleHandleGeometry, matRed ), [ 0.5, 0, 0 ], [ 0, 0, - Math.PI / 2 ]], + [ new Mesh( lineGeometry2, matRed ), [ 0, 0, 0 ], [ 0, 0, - Math.PI / 2 ]], + [ new Mesh( scaleHandleGeometry, matRed ), [ - 0.5, 0, 0 ], [ 0, 0, Math.PI / 2 ]], + ], + Y: [ + [ new Mesh( scaleHandleGeometry, matGreen ), [ 0, 0.5, 0 ]], + [ new Mesh( lineGeometry2, matGreen ) ], + [ new Mesh( scaleHandleGeometry, matGreen ), [ 0, - 0.5, 0 ], [ 0, 0, Math.PI ]], + ], + Z: [ + [ new Mesh( scaleHandleGeometry, matBlue ), [ 0, 0, 0.5 ], [ Math.PI / 2, 0, 0 ]], + [ new Mesh( lineGeometry2, matBlue ), [ 0, 0, 0 ], [ Math.PI / 2, 0, 0 ]], + [ new Mesh( scaleHandleGeometry, matBlue ), [ 0, 0, - 0.5 ], [ - Math.PI / 2, 0, 0 ]] + ], + XY: [ + [ new Mesh( new BoxGeometry( 0.15, 0.15, 0.01 ), matBlueTransparent ), [ 0.15, 0.15, 0 ]] + ], + YZ: [ + [ new Mesh( new BoxGeometry( 0.15, 0.15, 0.01 ), matRedTransparent ), [ 0, 0.15, 0.15 ], [ 0, Math.PI / 2, 0 ]] + ], + XZ: [ + [ new Mesh( new BoxGeometry( 0.15, 0.15, 0.01 ), matGreenTransparent ), [ 0.15, 0, 0.15 ], [ - Math.PI / 2, 0, 0 ]] + ], + XYZ: [ + [ new Mesh( new BoxGeometry( 0.1, 0.1, 0.1 ), matWhiteTransparent.clone() ) ], + ] + }; + + const pickerScale = { + X: [ + [ new Mesh( new CylinderGeometry( 0.2, 0, 0.6, 4 ), matInvisible ), [ 0.3, 0, 0 ], [ 0, 0, - Math.PI / 2 ]], + [ new Mesh( new CylinderGeometry( 0.2, 0, 0.6, 4 ), matInvisible ), [ - 0.3, 0, 0 ], [ 0, 0, Math.PI / 2 ]] + ], + Y: [ + [ new Mesh( new CylinderGeometry( 0.2, 0, 0.6, 4 ), matInvisible ), [ 0, 0.3, 0 ]], + [ new Mesh( new CylinderGeometry( 0.2, 0, 0.6, 4 ), matInvisible ), [ 0, - 0.3, 0 ], [ 0, 0, Math.PI ]] + ], + Z: [ + [ new Mesh( new CylinderGeometry( 0.2, 0, 0.6, 4 ), matInvisible ), [ 0, 0, 0.3 ], [ Math.PI / 2, 0, 0 ]], + [ new Mesh( new CylinderGeometry( 0.2, 0, 0.6, 4 ), matInvisible ), [ 0, 0, - 0.3 ], [ - Math.PI / 2, 0, 0 ]] + ], + XY: [ + [ new Mesh( new BoxGeometry( 0.2, 0.2, 0.01 ), matInvisible ), [ 0.15, 0.15, 0 ]], + ], + YZ: [ + [ new Mesh( new BoxGeometry( 0.2, 0.2, 0.01 ), matInvisible ), [ 0, 0.15, 0.15 ], [ 0, Math.PI / 2, 0 ]], + ], + XZ: [ + [ new Mesh( new BoxGeometry( 0.2, 0.2, 0.01 ), matInvisible ), [ 0.15, 0, 0.15 ], [ - Math.PI / 2, 0, 0 ]], + ], + XYZ: [ + [ new Mesh( new BoxGeometry( 0.2, 0.2, 0.2 ), matInvisible ), [ 0, 0, 0 ]], + ] + }; + + const helperScale = { + X: [ + [ new Line$2( lineGeometry, matHelper.clone() ), [ - 1e3, 0, 0 ], null, [ 1e6, 1, 1 ], 'helper' ] + ], + Y: [ + [ new Line$2( lineGeometry, matHelper.clone() ), [ 0, - 1e3, 0 ], [ 0, 0, Math.PI / 2 ], [ 1e6, 1, 1 ], 'helper' ] + ], + Z: [ + [ new Line$2( lineGeometry, matHelper.clone() ), [ 0, 0, - 1e3 ], [ 0, - Math.PI / 2, 0 ], [ 1e6, 1, 1 ], 'helper' ] + ] + }; + + // Creates an Object3D with gizmos described in custom hierarchy definition. + + function setupGizmo( gizmoMap ) { + + const gizmo = new Object3D(); + + for ( const name in gizmoMap ) { + + for ( let i = gizmoMap[ name ].length; i --; ) { + + const object = gizmoMap[ name ][ i ][ 0 ].clone(); + const position = gizmoMap[ name ][ i ][ 1 ]; + const rotation = gizmoMap[ name ][ i ][ 2 ]; + const scale = gizmoMap[ name ][ i ][ 3 ]; + const tag = gizmoMap[ name ][ i ][ 4 ]; + + // name and tag properties are essential for picking and updating logic. + object.name = name; + object.tag = tag; + + if ( position ) { + + object.position.set( position[ 0 ], position[ 1 ], position[ 2 ] ); + + } + + if ( rotation ) { + + object.rotation.set( rotation[ 0 ], rotation[ 1 ], rotation[ 2 ] ); + + } + + if ( scale ) { + + object.scale.set( scale[ 0 ], scale[ 1 ], scale[ 2 ] ); + + } + + object.updateMatrix(); + + const tempGeometry = object.geometry.clone(); + tempGeometry.applyMatrix4( object.matrix ); + object.geometry = tempGeometry; + object.renderOrder = Infinity; + + object.position.set( 0, 0, 0 ); + object.rotation.set( 0, 0, 0 ); + object.scale.set( 1, 1, 1 ); + + gizmo.add( object ); + + } + + } + + return gizmo; + + } + + // Gizmo creation + + this.gizmo = {}; + this.picker = {}; + this.helper = {}; + + this.add( this.gizmo[ 'translate' ] = setupGizmo( gizmoTranslate ) ); + this.add( this.gizmo[ 'rotate' ] = setupGizmo( gizmoRotate ) ); + this.add( this.gizmo[ 'scale' ] = setupGizmo( gizmoScale ) ); + this.add( this.picker[ 'translate' ] = setupGizmo( pickerTranslate ) ); + this.add( this.picker[ 'rotate' ] = setupGizmo( pickerRotate ) ); + this.add( this.picker[ 'scale' ] = setupGizmo( pickerScale ) ); + this.add( this.helper[ 'translate' ] = setupGizmo( helperTranslate ) ); + this.add( this.helper[ 'rotate' ] = setupGizmo( helperRotate ) ); + this.add( this.helper[ 'scale' ] = setupGizmo( helperScale ) ); + + // Pickers should be hidden always + + this.picker[ 'translate' ].visible = false; + this.picker[ 'rotate' ].visible = false; + this.picker[ 'scale' ].visible = false; + + } + + // updateMatrixWorld will update transformations and appearance of individual handles + + updateMatrixWorld( force ) { + + const space = ( this.mode === 'scale' ) ? 'local' : this.space; // scale always oriented to local rotation + + const quaternion = ( space === 'local' ) ? this.worldQuaternion : _identityQuaternion; + + // Show only gizmos for current transform mode + + this.gizmo[ 'translate' ].visible = this.mode === 'translate'; + this.gizmo[ 'rotate' ].visible = this.mode === 'rotate'; + this.gizmo[ 'scale' ].visible = this.mode === 'scale'; + + this.helper[ 'translate' ].visible = this.mode === 'translate'; + this.helper[ 'rotate' ].visible = this.mode === 'rotate'; + this.helper[ 'scale' ].visible = this.mode === 'scale'; + + + let handles = []; + handles = handles.concat( this.picker[ this.mode ].children ); + handles = handles.concat( this.gizmo[ this.mode ].children ); + handles = handles.concat( this.helper[ this.mode ].children ); + + for ( let i = 0; i < handles.length; i ++ ) { + + const handle = handles[ i ]; + + // hide aligned to camera + + handle.visible = true; + handle.rotation.set( 0, 0, 0 ); + handle.position.copy( this.worldPosition ); + + let factor; + + if ( this.camera.isOrthographicCamera ) { + + factor = ( this.camera.top - this.camera.bottom ) / this.camera.zoom; + + } else { + + factor = this.worldPosition.distanceTo( this.cameraPosition ) * Math.min( 1.9 * Math.tan( Math.PI * this.camera.fov / 360 ) / this.camera.zoom, 7 ); + + } + + handle.scale.set( 1, 1, 1 ).multiplyScalar( factor * this.size / 4 ); + + // TODO: simplify helpers and consider decoupling from gizmo + + if ( handle.tag === 'helper' ) { + + handle.visible = false; + + if ( handle.name === 'AXIS' ) { + + handle.visible = !! this.axis; + + if ( this.axis === 'X' ) { + + _tempQuaternion.setFromEuler( _tempEuler.set( 0, 0, 0 ) ); + handle.quaternion.copy( quaternion ).multiply( _tempQuaternion ); + + if ( Math.abs( _alignVector.copy( _unitX ).applyQuaternion( quaternion ).dot( this.eye ) ) > 0.9 ) { + + handle.visible = false; + + } + + } + + if ( this.axis === 'Y' ) { + + _tempQuaternion.setFromEuler( _tempEuler.set( 0, 0, Math.PI / 2 ) ); + handle.quaternion.copy( quaternion ).multiply( _tempQuaternion ); + + if ( Math.abs( _alignVector.copy( _unitY ).applyQuaternion( quaternion ).dot( this.eye ) ) > 0.9 ) { + + handle.visible = false; + + } + + } + + if ( this.axis === 'Z' ) { + + _tempQuaternion.setFromEuler( _tempEuler.set( 0, Math.PI / 2, 0 ) ); + handle.quaternion.copy( quaternion ).multiply( _tempQuaternion ); + + if ( Math.abs( _alignVector.copy( _unitZ ).applyQuaternion( quaternion ).dot( this.eye ) ) > 0.9 ) { + + handle.visible = false; + + } + + } + + if ( this.axis === 'XYZE' ) { + + _tempQuaternion.setFromEuler( _tempEuler.set( 0, Math.PI / 2, 0 ) ); + _alignVector.copy( this.rotationAxis ); + handle.quaternion.setFromRotationMatrix( _lookAtMatrix.lookAt( _zeroVector, _alignVector, _unitY ) ); + handle.quaternion.multiply( _tempQuaternion ); + handle.visible = this.dragging; + + } + + if ( this.axis === 'E' ) { + + handle.visible = false; + + } + + + } else if ( handle.name === 'START' ) { + + handle.position.copy( this.worldPositionStart ); + handle.visible = this.dragging; + + } else if ( handle.name === 'END' ) { + + handle.position.copy( this.worldPosition ); + handle.visible = this.dragging; + + } else if ( handle.name === 'DELTA' ) { + + handle.position.copy( this.worldPositionStart ); + handle.quaternion.copy( this.worldQuaternionStart ); + _tempVector.set( 1e-10, 1e-10, 1e-10 ).add( this.worldPositionStart ).sub( this.worldPosition ).multiplyScalar( - 1 ); + _tempVector.applyQuaternion( this.worldQuaternionStart.clone().invert() ); + handle.scale.copy( _tempVector ); + handle.visible = this.dragging; + + } else { + + handle.quaternion.copy( quaternion ); + + if ( this.dragging ) { + + handle.position.copy( this.worldPositionStart ); + + } else { + + handle.position.copy( this.worldPosition ); + + } + + if ( this.axis ) { + + handle.visible = this.axis.search( handle.name ) !== - 1; + + } + + } + + // If updating helper, skip rest of the loop + continue; + + } + + // Align handles to current local or world rotation + + handle.quaternion.copy( quaternion ); + + if ( this.mode === 'translate' || this.mode === 'scale' ) { + + // Hide translate and scale axis facing the camera + + const AXIS_HIDE_THRESHOLD = 0.99; + const PLANE_HIDE_THRESHOLD = 0.2; + + if ( handle.name === 'X' ) { + + if ( Math.abs( _alignVector.copy( _unitX ).applyQuaternion( quaternion ).dot( this.eye ) ) > AXIS_HIDE_THRESHOLD ) { + + handle.scale.set( 1e-10, 1e-10, 1e-10 ); + handle.visible = false; + + } + + } + + if ( handle.name === 'Y' ) { + + if ( Math.abs( _alignVector.copy( _unitY ).applyQuaternion( quaternion ).dot( this.eye ) ) > AXIS_HIDE_THRESHOLD ) { + + handle.scale.set( 1e-10, 1e-10, 1e-10 ); + handle.visible = false; + + } + + } + + if ( handle.name === 'Z' ) { + + if ( Math.abs( _alignVector.copy( _unitZ ).applyQuaternion( quaternion ).dot( this.eye ) ) > AXIS_HIDE_THRESHOLD ) { + + handle.scale.set( 1e-10, 1e-10, 1e-10 ); + handle.visible = false; + + } + + } + + if ( handle.name === 'XY' ) { + + if ( Math.abs( _alignVector.copy( _unitZ ).applyQuaternion( quaternion ).dot( this.eye ) ) < PLANE_HIDE_THRESHOLD ) { + + handle.scale.set( 1e-10, 1e-10, 1e-10 ); + handle.visible = false; + + } + + } + + if ( handle.name === 'YZ' ) { + + if ( Math.abs( _alignVector.copy( _unitX ).applyQuaternion( quaternion ).dot( this.eye ) ) < PLANE_HIDE_THRESHOLD ) { + + handle.scale.set( 1e-10, 1e-10, 1e-10 ); + handle.visible = false; + + } + + } + + if ( handle.name === 'XZ' ) { + + if ( Math.abs( _alignVector.copy( _unitY ).applyQuaternion( quaternion ).dot( this.eye ) ) < PLANE_HIDE_THRESHOLD ) { + + handle.scale.set( 1e-10, 1e-10, 1e-10 ); + handle.visible = false; + + } + + } + + } else if ( this.mode === 'rotate' ) { + + // Align handles to current local or world rotation + + _tempQuaternion2.copy( quaternion ); + _alignVector.copy( this.eye ).applyQuaternion( _tempQuaternion.copy( quaternion ).invert() ); + + if ( handle.name.search( 'E' ) !== - 1 ) { + + handle.quaternion.setFromRotationMatrix( _lookAtMatrix.lookAt( this.eye, _zeroVector, _unitY ) ); + + } + + if ( handle.name === 'X' ) { + + _tempQuaternion.setFromAxisAngle( _unitX, Math.atan2( - _alignVector.y, _alignVector.z ) ); + _tempQuaternion.multiplyQuaternions( _tempQuaternion2, _tempQuaternion ); + handle.quaternion.copy( _tempQuaternion ); + + } + + if ( handle.name === 'Y' ) { + + _tempQuaternion.setFromAxisAngle( _unitY, Math.atan2( _alignVector.x, _alignVector.z ) ); + _tempQuaternion.multiplyQuaternions( _tempQuaternion2, _tempQuaternion ); + handle.quaternion.copy( _tempQuaternion ); + + } + + if ( handle.name === 'Z' ) { + + _tempQuaternion.setFromAxisAngle( _unitZ, Math.atan2( _alignVector.y, _alignVector.x ) ); + _tempQuaternion.multiplyQuaternions( _tempQuaternion2, _tempQuaternion ); + handle.quaternion.copy( _tempQuaternion ); + + } + + } + + // Hide disabled axes + handle.visible = handle.visible && ( handle.name.indexOf( 'X' ) === - 1 || this.showX ); + handle.visible = handle.visible && ( handle.name.indexOf( 'Y' ) === - 1 || this.showY ); + handle.visible = handle.visible && ( handle.name.indexOf( 'Z' ) === - 1 || this.showZ ); + handle.visible = handle.visible && ( handle.name.indexOf( 'E' ) === - 1 || ( this.showX && this.showY && this.showZ ) ); + + // highlight selected axis + + handle.material._color = handle.material._color || handle.material.color.clone(); + handle.material._opacity = handle.material._opacity || handle.material.opacity; + + handle.material.color.copy( handle.material._color ); + handle.material.opacity = handle.material._opacity; + + if ( this.enabled && this.axis ) { + + if ( handle.name === this.axis ) { + + handle.material.color.setHex( 0xffff00 ); + handle.material.opacity = 1.0; + + } else if ( this.axis.split( '' ).some( function ( a ) { + + return handle.name === a; + + } ) ) { + + handle.material.color.setHex( 0xffff00 ); + handle.material.opacity = 1.0; + + } + + } + + } + + super.updateMatrixWorld( force ); + + } + +} + +// + +class TransformControlsPlane extends Mesh { + + constructor() { + + super( + new PlaneGeometry( 100000, 100000, 2, 2 ), + new MeshBasicMaterial( { visible: false, wireframe: true, side: DoubleSide, transparent: true, opacity: 0.1, toneMapped: false } ) + ); + + this.isTransformControlsPlane = true; + + this.type = 'TransformControlsPlane'; + + } + + updateMatrixWorld( force ) { + + let space = this.space; + + this.position.copy( this.worldPosition ); + + if ( this.mode === 'scale' ) space = 'local'; // scale always oriented to local rotation + + _v1.copy( _unitX ).applyQuaternion( space === 'local' ? this.worldQuaternion : _identityQuaternion ); + _v2.copy( _unitY ).applyQuaternion( space === 'local' ? this.worldQuaternion : _identityQuaternion ); + _v3.copy( _unitZ ).applyQuaternion( space === 'local' ? this.worldQuaternion : _identityQuaternion ); + + // Align the plane for current transform mode, axis and space. + + _alignVector.copy( _v2 ); + + switch ( this.mode ) { + + case 'translate': + case 'scale': + switch ( this.axis ) { + + case 'X': + _alignVector.copy( this.eye ).cross( _v1 ); + _dirVector.copy( _v1 ).cross( _alignVector ); + break; + case 'Y': + _alignVector.copy( this.eye ).cross( _v2 ); + _dirVector.copy( _v2 ).cross( _alignVector ); + break; + case 'Z': + _alignVector.copy( this.eye ).cross( _v3 ); + _dirVector.copy( _v3 ).cross( _alignVector ); + break; + case 'XY': + _dirVector.copy( _v3 ); + break; + case 'YZ': + _dirVector.copy( _v1 ); + break; + case 'XZ': + _alignVector.copy( _v3 ); + _dirVector.copy( _v2 ); + break; + case 'XYZ': + case 'E': + _dirVector.set( 0, 0, 0 ); + break; + + } + + break; + case 'rotate': + default: + // special case for rotate + _dirVector.set( 0, 0, 0 ); + + } + + if ( _dirVector.length() === 0 ) { + + // If in rotate mode, make the plane parallel to camera + this.quaternion.copy( this.cameraQuaternion ); + + } else { + + _tempMatrix.lookAt( _tempVector.set( 0, 0, 0 ), _dirVector, _alignVector ); + + this.quaternion.setFromRotationMatrix( _tempMatrix ); + + } + + super.updateMatrixWorld( force ); + + } + +} + +/** + * Each of the planes created by {@link SimpleClipper}. + */ +class SimplePlane extends Component { + /** {@link Component.enabled} */ + get enabled() { + return this._enabled; + } + /** {@link Component.enabled} */ + set enabled(state) { + this._enabled = state; + this.components.renderer.togglePlane(state, this._plane); + } + /** {@link Hideable.visible } */ + get visible() { + return this._visible; + } + /** {@link Hideable.visible } */ + set visible(state) { + this._visible = state; + this._controls.visible = state; + this._helper.visible = state; + this.toggleControls(state); + } + /** The meshes used for raycasting */ + get meshes() { + return [this._planeMesh, this._arrowBoundBox]; + } + /** The material of the clipping plane representation. */ + get planeMaterial() { + return this._planeMesh.material; + } + /** The material of the clipping plane representation. */ + set planeMaterial(material) { + this._planeMesh.material = material; + } + /** The size of the clipping plane representation. */ + get size() { + return this._planeMesh.scale.x; + } + /** Sets the size of the clipping plane representation. */ + set size(size) { + this._planeMesh.scale.set(size, size, size); + } + constructor(components, origin, normal, material, size = 5, activateControls = true) { + super(components); + /** {@link Component.name} */ + this.name = "SimplePlane"; + /** Event that fires when the user starts dragging a clipping plane. */ + this.onDraggingStarted = new Event(); + /** Event that fires when the user stops dragging a clipping plane. */ + this.onDraggingEnded = new Event(); + this._plane = new THREE$1.Plane(); + // TODO: Make all planes share the same geometry + // TODO: Clean up unnecessary attributes, clean up constructor + this._visible = true; + this._enabled = true; + this._controlsActive = false; + this._arrowBoundBox = new THREE$1.Mesh(); + this._hiddenMaterial = new THREE$1.MeshBasicMaterial({ + visible: false, + }); + /** {@link Updateable.update} */ + this.update = () => { + if (!this._enabled) + return; + this._plane.setFromNormalAndCoplanarPoint(this._normal, this._helper.position); + }; + this.changeDrag = (event) => { + this._visible = !event.value; + this.preventCameraMovement(); + this.notifyDraggingChanged(event); + }; + this._normal = normal; + this._origin = origin; + this.components.renderer.togglePlane(true, this._plane); + this._planeMesh = SimplePlane.newPlaneMesh(size, material); + this._helper = this.newHelper(); + this._controls = this.newTransformControls(); + this._plane.setFromNormalAndCoplanarPoint(normal, origin); + if (activateControls) { + this.toggleControls(true); + } + } + /** {@link Component.get} */ + get() { + return this._plane; + } + /** {@link Disposable.dispose} */ + async dispose() { + this._enabled = false; + this.onDraggingStarted.reset(); + this.onDraggingEnded.reset(); + this._helper.removeFromParent(); + this.components.renderer.togglePlane(false, this._plane); + this._arrowBoundBox.removeFromParent(); + this._arrowBoundBox.geometry.dispose(); + this._planeMesh.geometry.dispose(); + this._controls.removeFromParent(); + this._controls.dispose(); + } + toggleControls(state) { + if (state) { + if (this._controlsActive) + return; + this._controls.addEventListener("change", this.update); + this._controls.addEventListener("dragging-changed", this.changeDrag); + } + else { + this._controls.removeEventListener("change", this.update); + this._controls.removeEventListener("dragging-changed", this.changeDrag); + } + this._controlsActive = state; + } + newTransformControls() { + const camera = this.components.camera.get(); + const container = this.components.renderer.get().domElement; + const controls = new TransformControls(camera, container); + this.initializeControls(controls); + this.components.scene.get().add(controls); + return controls; + } + initializeControls(controls) { + controls.attach(this._helper); + controls.showX = false; + controls.showY = false; + controls.setSpace("local"); + this.createArrowBoundingBox(); + controls.children[0].children[0].add(this._arrowBoundBox); + } + createArrowBoundingBox() { + this._arrowBoundBox.geometry = new THREE$1.CylinderGeometry(0.18, 0.18, 1.2); + this._arrowBoundBox.material = this._hiddenMaterial; + this._arrowBoundBox.rotateX(Math.PI / 2); + this._arrowBoundBox.updateMatrix(); + this._arrowBoundBox.geometry.applyMatrix4(this._arrowBoundBox.matrix); + } + notifyDraggingChanged(event) { + if (event.value) { + this.onDraggingStarted.trigger(); + } + else { + this.onDraggingEnded.trigger(); + } + } + preventCameraMovement() { + this.components.camera.enabled = this._visible; + } + newHelper() { + const helper = new THREE$1.Object3D(); + helper.lookAt(this._normal); + helper.position.copy(this._origin); + this._planeMesh.position.z += 0.01; + helper.add(this._planeMesh); + this.components.scene.get().add(helper); + return helper; + } + static newPlaneMesh(size, material) { + const planeGeom = new THREE$1.PlaneGeometry(1); + const mesh = new THREE$1.Mesh(planeGeom, material); + mesh.scale.set(size, size, size); + return mesh; + } +} + +// TODO: Clean up UI element +/** + * A lightweight component to easily create and handle + * [clipping planes](https://threejs.org/docs/#api/en/materials/Material.clippingPlanes). + * + * @param components - the instance of {@link Components} used. + * @param planeType - the type of plane to be used by the clipper. + * E.g. {@link SimplePlane}. + */ +class SimpleClipper extends Component { + /** {@link Component.enabled} */ + get enabled() { + return this._enabled; + } + /** {@link Component.enabled} */ + set enabled(state) { + this._enabled = state; + for (const plane of this._planes) { + plane.enabled = state; + } + this.updateMaterialsAndPlanes(); + if (this.components.ui.enabled) { + this.uiElement.get("main").active = state; + } + } + /** {@link Hideable.visible } */ + get visible() { + return this._visible; + } + /** {@link Hideable.visible } */ + set visible(state) { + this._visible = state; + for (const plane of this._planes) { + plane.visible = state; + } + } + /** The material of the clipping plane representation. */ + get material() { + return this._material; + } + /** The material of the clipping plane representation. */ + set material(material) { + this._material = material; + for (const plane of this._planes) { + plane.planeMaterial = material; + } + } + /** The size of the geometric representation of the clippings planes. */ + get size() { + return this._size; + } + /** The size of the geometric representation of the clippings planes. */ + set size(size) { + this._size = size; + for (const plane of this._planes) { + plane.size = size; + } + } + constructor(components) { + super(components); + /** {@link Createable.onAfterCreate} */ + this.onAfterCreate = new Event(); + /** {@link Createable.onAfterDelete} */ + this.onAfterDelete = new Event(); + /** Event that fires when the user starts dragging a clipping plane. */ + this.onBeforeDrag = new Event(); + /** Event that fires when the user stops dragging a clipping plane. */ + this.onAfterDrag = new Event(); + this.onBeforeCreate = new Event(); + this.onBeforeCancel = new Event(); + this.onAfterCancel = new Event(); + this.onBeforeDelete = new Event(); + /** {@link UI.uiElement} */ + this.uiElement = new UIElement(); + /** + * Whether to force the clipping plane to be orthogonal in the Y direction + * (up). This is desirable when clipping a building horizontally and a + * clipping plane is created in it's roof, which might have a slight + * slope for draining purposes. + */ + this.orthogonalY = false; + /** + * The tolerance that determines whether a horizontallish clipping plane + * will be forced to be orthogonal to the Y direction. {@link orthogonalY} + * has to be `true` for this to apply. + */ + this.toleranceOrthogonalY = 0.7; + this._planes = []; + /** The material used in all the clipping planes. */ + this._material = new THREE$1.MeshBasicMaterial({ + color: 0xffff00, + side: THREE$1.DoubleSide, + transparent: true, + opacity: 0.2, + }); + this._size = 5; + this._enabled = false; + this._visible = true; + this._onStartDragging = () => { + this.onBeforeDrag.trigger(); + }; + this._onEndDragging = () => { + this.onAfterDrag.trigger(); + }; + this.components.tools.add(SimpleClipper.uuid, this); + this.PlaneType = SimplePlane; + if (components.ui.enabled) { + this.setUI(components); + } + } + endCreation() { } + cancelCreation() { } + /** {@link Component.get} */ + get() { + return this._planes; + } + /** {@link Disposable.dispose} */ + async dispose() { + this._enabled = false; + for (const plane of this._planes) { + await plane.dispose(); + } + this._planes.length = 0; + this.uiElement.dispose(); + this._material.dispose(); + this.onBeforeCreate.reset(); + this.onBeforeCancel.reset(); + this.onBeforeDelete.reset(); + this.onBeforeDrag.reset(); + this.onAfterCreate.reset(); + this.onAfterCancel.reset(); + this.onAfterDelete.reset(); + this.onAfterDrag.reset(); + } + /** {@link Createable.create} */ + create() { + if (!this.enabled) + return; + const intersects = this.components.raycaster.castRay(); + if (!intersects) + return; + this.createPlaneFromIntersection(intersects); + } + /** + * Creates a plane in a certain place and with a certain orientation, + * without the need of the mouse. + * + * @param normal - the orientation of the clipping plane. + * @param point - the position of the clipping plane. + * @param isPlan - whether this is a clipping plane used for floor plan + * navigation. + */ + createFromNormalAndCoplanarPoint(normal, point) { + const plane = this.newPlane(point, normal); + this.updateMaterialsAndPlanes(); + return plane; + } + /** + * {@link Createable.delete} + * + * @param plane - the plane to delete. If undefined, the the first plane + * found under the cursor will be deleted. + */ + delete(plane) { + if (!this.enabled) + return; + if (!plane) { + plane = this.pickPlane(); + } + if (!plane) { + return; + } + this.deletePlane(plane); + } + /** Deletes all the existing clipping planes. */ + deleteAll() { + while (this._planes.length > 0) { + this.delete(this._planes[0]); + } + } + deletePlane(plane) { + const index = this._planes.indexOf(plane); + if (index !== -1) { + this._planes.splice(index, 1); + this.components.renderer.togglePlane(false, plane.get()); + plane.dispose(); + this.updateMaterialsAndPlanes(); + this.onAfterDelete.trigger(plane); + } + } + setUI(components) { + const main = new Button(components); + main.materialIcon = "content_cut"; + main.onClick.add(() => { + this.enabled = !this.enabled; + this.visible = !this.visible; + }); + main.active = this.enabled; + this.uiElement.set({ main }); + } + pickPlane() { + const meshes = this.getAllPlaneMeshes(); + const intersects = this.components.raycaster.castRay(meshes); + if (intersects) { + const found = intersects.object; + return this._planes.find((p) => p.meshes.includes(found)); + } + return undefined; + } + getAllPlaneMeshes() { + const meshes = []; + for (const plane of this._planes) { + meshes.push(...plane.meshes); + } + return meshes; + } + createPlaneFromIntersection(intersect) { + var _a; + const constant = intersect.point.distanceTo(new THREE$1.Vector3(0, 0, 0)); + const normal = (_a = intersect.face) === null || _a === void 0 ? void 0 : _a.normal; + if (!constant || !normal) + return; + const worldNormal = this.getWorldNormal(intersect, normal); + const plane = this.newPlane(intersect.point, worldNormal.negate()); + this.components.renderer.togglePlane(true, plane.get()); + this.updateMaterialsAndPlanes(); + } + getWorldNormal(intersect, normal) { + const object = intersect.object; + let transform = intersect.object.matrixWorld.clone(); + const isInstance = object instanceof THREE$1.InstancedMesh; + if (isInstance && intersect.instanceId !== undefined) { + const temp = new THREE$1.Matrix4(); + object.getMatrixAt(intersect.instanceId, temp); + transform = temp.multiply(transform); + } + const normalMatrix = new THREE$1.Matrix3().getNormalMatrix(transform); + const worldNormal = normal.clone().applyMatrix3(normalMatrix).normalize(); + this.normalizePlaneDirectionY(worldNormal); + return worldNormal; + } + normalizePlaneDirectionY(normal) { + if (this.orthogonalY) { + if (normal.y > this.toleranceOrthogonalY) { + normal.x = 0; + normal.y = 1; + normal.z = 0; + } + if (normal.y < -this.toleranceOrthogonalY) { + normal.x = 0; + normal.y = -1; + normal.z = 0; + } + } + } + newPlane(point, normal) { + const plane = this.newPlaneInstance(point, normal); + plane.onDraggingStarted.add(this._onStartDragging); + plane.onDraggingEnded.add(this._onEndDragging); + this._planes.push(plane); + this.onAfterCreate.trigger(plane); + return plane; + } + newPlaneInstance(point, normal) { + return new this.PlaneType(this.components, point, normal, this._material); + } + updateMaterialsAndPlanes() { + this.components.renderer.updateClippingPlanes(); + const planes = this.components.renderer.clippingPlanes; + for (const model of this.components.meshes) { + if (Array.isArray(model.material)) { + for (const mat of model.material) { + mat.clippingPlanes = planes; + } + } + else { + model.material.clippingPlanes = planes; + } + } + } +} +SimpleClipper.uuid = "66290bc5-18c4-4cd1-9379-2e17a0617611"; +ToolComponent.libraryUUIDs.add(SimpleClipper.uuid); + +// +// Thanks to the advice here https://github.com/zalo/TetSim/commit/9696c2e1cd6354fb9bd40dbd299c58f4de0341dd +// +function clientWaitAsync(gl, sync, flags, intervalMilliseconds) { + return new Promise((resolve, reject) => { + function test() { + const res = gl.clientWaitSync(sync, flags, 0); + if (res === gl.WAIT_FAILED) { + reject(); + return; + } + if (res === gl.TIMEOUT_EXPIRED) { + setTimeout(test, intervalMilliseconds); + return; + } + resolve(); + } + test(); + }); +} +async function getBufferSubDataAsync(gl, target, buffer, srcByteOffset, dstBuffer, dstOffset, length) { + const sync = gl.fenceSync(gl.SYNC_GPU_COMMANDS_COMPLETE, 0); + gl.flush(); + await clientWaitAsync(gl, sync, 0, 10); + gl.deleteSync(sync); + gl.bindBuffer(target, buffer); + gl.getBufferSubData(target, srcByteOffset, dstBuffer, dstOffset, length); + gl.bindBuffer(target, null); +} +async function readPixelsAsync(gl, x, y, w, h, format, type, dest) { + const buf = gl.createBuffer(); + gl.bindBuffer(gl.PIXEL_PACK_BUFFER, buf); + gl.bufferData(gl.PIXEL_PACK_BUFFER, dest.byteLength, gl.STREAM_READ); + gl.readPixels(x, y, w, h, format, type, 0); + gl.bindBuffer(gl.PIXEL_PACK_BUFFER, null); + await getBufferSubDataAsync(gl, gl.PIXEL_PACK_BUFFER, buf, 0, dest); + gl.deleteBuffer(buf); + return dest; +} + +// TODO: Work at the instance level instead of the mesh level? +/** + * A tool to handle big scenes efficiently by automatically hiding the objects + * that are not visible to the camera. + */ +class ScreenCuller extends Component { + constructor(components, updateInterval = 1000, rtWidth = 512, rtHeight = 512, autoUpdate = true) { + super(components); + this.updateInterval = updateInterval; + this.rtWidth = rtWidth; + this.rtHeight = rtHeight; + this.autoUpdate = autoUpdate; + /** Fires after hiding the objects that were not visible to the camera. */ + this.onViewUpdated = new Event(); + /** {@link Component.enabled} */ + this.enabled = true; + /** + * Needs to check whether there are objects that need to be hidden or shown. + * You can bind this to the camera movement, to a certain interval, etc. + */ + this.needsUpdate = false; + /** + * Render the internal scene used to determine the object visibility. Used + * for debugging purposes. + */ + this.renderDebugFrame = false; + this._meshColorMap = new Map(); + this._visibleMeshes = []; + this._colorMeshes = new Map(); + this._meshes = new Map(); + this._currentVisibleMeshes = new Set(); + this._recentlyHiddenMeshes = new Set(); + this._transparentMat = new THREE$1.MeshBasicMaterial({ + transparent: true, + opacity: 0, + }); + this._colors = { r: 0, g: 0, b: 0, i: 0 }; + // Alternative scene and meshes to make the visibility check + this._scene = new THREE$1.Scene(); + /** + * The function that the culler uses to reprocess the scene. Generally it's + * better to call needsUpdate, but you can also call this to force it. + * @param force if true, it will refresh the scene even if needsUpdate is + * not true. + */ + this.updateVisibility = async (force) => { + if (!this.enabled) + return; + if (!this.needsUpdate && !force) + return; + const camera = this.components.camera.get(); + camera.updateMatrix(); + this.renderer.setSize(this.rtWidth, this.rtHeight); + this.renderer.setRenderTarget(this.renderTarget); + this.renderer.render(this._scene, camera); + const context = this.renderer.getContext(); + await readPixelsAsync(context, 0, 0, this.rtWidth, this.rtHeight, context.RGBA, context.UNSIGNED_BYTE, this._buffer); + this.renderer.setRenderTarget(null); + if (this.renderDebugFrame) { + this.renderer.render(this._scene, camera); + } + this.worker.postMessage({ + buffer: this._buffer, + }); + this.needsUpdate = false; + }; + this.handleWorkerMessage = async (event) => { + const colors = event.data.colors; + this._recentlyHiddenMeshes = new Set(this._currentVisibleMeshes); + this._currentVisibleMeshes.clear(); + this._visibleMeshes = []; + // Make found meshes visible + for (const code of colors.values()) { + const mesh = this._meshColorMap.get(code); + if (mesh) { + this._visibleMeshes.push(mesh); + mesh.visible = true; + this._currentVisibleMeshes.add(mesh.uuid); + this._recentlyHiddenMeshes.delete(mesh.uuid); + } + } + // Hide meshes that were visible before but not anymore + for (const uuid of this._recentlyHiddenMeshes) { + const mesh = this._meshes.get(uuid); + if (mesh === undefined) + continue; + mesh.visible = false; + } + await this.onViewUpdated.trigger(); + }; + components.tools.add(ScreenCuller.uuid, this); + this.renderer = new THREE$1.WebGLRenderer(); + const planes = this.components.renderer.clippingPlanes; + this.renderer.clippingPlanes = planes; + this.renderTarget = new THREE$1.WebGLRenderTarget(rtWidth, rtHeight); + this.bufferSize = rtWidth * rtHeight * 4; + this._buffer = new Uint8Array(this.bufferSize); + this.materialCache = new Map(); + const code = ` + addEventListener("message", (event) => { + const { buffer } = event.data; + const colors = new Set(); + for (let i = 0; i < buffer.length; i += 4) { + const r = buffer[i]; + const g = buffer[i + 1]; + const b = buffer[i + 2]; + const code = "" + r + "-" + g + "-" + b; + colors.add(code); + } + postMessage({ colors }); + }); + `; + const blob = new Blob([code], { type: "application/javascript" }); + this.worker = new Worker(URL.createObjectURL(blob)); + this.worker.addEventListener("message", this.handleWorkerMessage); + if (autoUpdate) + window.setInterval(this.updateVisibility, updateInterval); + } + /** + * {@link Component.get}. + * @returns the map of internal meshes used to determine visibility. + */ + get() { + return this._colorMeshes; + } + /** {@link Disposable.dispose} */ + async dispose() { + this.enabled = false; + this._currentVisibleMeshes.clear(); + this._recentlyHiddenMeshes.clear(); + this._scene.children.length = 0; + this.onViewUpdated.reset(); + this.worker.terminate(); + this.renderer.dispose(); + this.renderTarget.dispose(); + this._buffer = null; + this._transparentMat.dispose(); + this._meshColorMap.clear(); + this._visibleMeshes = []; + for (const id in this.materialCache) { + const material = this.materialCache.get(id); + if (material) { + material.dispose(); + } + } + const disposer = await this.components.tools.get(Disposer); + for (const id in this._colorMeshes) { + const mesh = this._colorMeshes.get(id); + if (mesh) { + disposer.destroy(mesh); + } + } + this._colorMeshes.clear(); + this._meshes.clear(); + } + /** + * Adds a new mesh to be processed and managed by the culler. + * @mesh the mesh or instanced mesh to add. + */ + add(mesh) { + if (!this.enabled) + return; + const isInstanced = mesh instanceof THREE$1.InstancedMesh; + const { geometry, material } = mesh; + const { r, g, b, code } = this.getNextColor(); + const colorMaterial = this.getMaterial(r, g, b); + let newMaterial; + if (Array.isArray(material)) { + let transparentOnly = true; + const matArray = []; + for (const mat of material) { + if (this.isTransparent(mat)) { + matArray.push(this._transparentMat); + } + else { + transparentOnly = false; + matArray.push(colorMaterial); + } + } + // If we find that all the materials are transparent then we must remove this from analysis + if (transparentOnly) { + colorMaterial.dispose(); + return; + } + newMaterial = matArray; + } + else if (this.isTransparent(material)) { + // This material is transparent, so we must remove it from analysis + colorMaterial.dispose(); + return; + } + else { + newMaterial = colorMaterial; + } + this._meshColorMap.set(code, mesh); + const count = isInstanced ? mesh.count : 1; + const colorMesh = new THREE$1.InstancedMesh(geometry, newMaterial, count); + if (isInstanced) { + colorMesh.instanceMatrix = mesh.instanceMatrix; + } + else { + colorMesh.setMatrixAt(0, new THREE$1.Matrix4()); + } + mesh.visible = false; + colorMesh.applyMatrix4(mesh.matrix); + colorMesh.updateMatrix(); + this._scene.add(colorMesh); + this._colorMeshes.set(mesh.uuid, colorMesh); + this._meshes.set(mesh.uuid, mesh); + } + getMaterial(r, g, b) { + const colorEnabled = THREE$1.ColorManagement.enabled; + THREE$1.ColorManagement.enabled = false; + const code = `rgb(${r}, ${g}, ${b})`; + const color = new THREE$1.Color(code); + let material = this.materialCache.get(code); + const clippingPlanes = this.components.renderer.clippingPlanes; + if (!material) { + material = new THREE$1.MeshBasicMaterial({ + color, + clippingPlanes, + side: THREE$1.DoubleSide, + }); + this.materialCache.set(code, material); + } + THREE$1.ColorManagement.enabled = colorEnabled; + return material; + } + isTransparent(material) { + return material.transparent && material.opacity < 1; + } + getNextColor() { + if (this._colors.i === 0) { + this._colors.b++; + if (this._colors.b === 256) { + this._colors.b = 0; + this._colors.i = 1; + } + } + if (this._colors.i === 1) { + this._colors.g++; + this._colors.i = 0; + if (this._colors.g === 256) { + this._colors.g = 0; + this._colors.i = 2; + } + } + if (this._colors.i === 2) { + this._colors.r++; + this._colors.i = 1; + if (this._colors.r === 256) { + this._colors.r = 0; + this._colors.i = 0; + } + } + return { + r: this._colors.r, + g: this._colors.g, + b: this._colors.b, + code: `${this._colors.r}-${this._colors.g}-${this._colors.b}`, + }; + } +} +ScreenCuller.uuid = "69f2a50d-c266-44fc-b1bd-fa4d34be89e6"; +ToolComponent.libraryUUIDs.add(ScreenCuller.uuid); + +/* + * Dexie.js - a minimalistic wrapper for IndexedDB + * =============================================== + * + * By David Fahlander, david.fahlander@gmail.com + * + * Version 3.2.4, Tue May 30 2023 + * + * https://dexie.org + * + * Apache License Version 2.0, January 2004, http://www.apache.org/licenses/ + */ + +const _global = typeof globalThis !== 'undefined' ? globalThis : + typeof self !== 'undefined' ? self : + typeof window !== 'undefined' ? window : + global; + +const keys = Object.keys; +const isArray = Array.isArray; +if (typeof Promise !== 'undefined' && !_global.Promise) { + _global.Promise = Promise; +} +function extend(obj, extension) { + if (typeof extension !== 'object') + return obj; + keys(extension).forEach(function (key) { + obj[key] = extension[key]; + }); + return obj; +} +const getProto = Object.getPrototypeOf; +const _hasOwn = {}.hasOwnProperty; +function hasOwn(obj, prop) { + return _hasOwn.call(obj, prop); +} +function props(proto, extension) { + if (typeof extension === 'function') + extension = extension(getProto(proto)); + (typeof Reflect === "undefined" ? keys : Reflect.ownKeys)(extension).forEach(key => { + setProp(proto, key, extension[key]); + }); +} +const defineProperty = Object.defineProperty; +function setProp(obj, prop, functionOrGetSet, options) { + defineProperty(obj, prop, extend(functionOrGetSet && hasOwn(functionOrGetSet, "get") && typeof functionOrGetSet.get === 'function' ? + { get: functionOrGetSet.get, set: functionOrGetSet.set, configurable: true } : + { value: functionOrGetSet, configurable: true, writable: true }, options)); +} +function derive(Child) { + return { + from: function (Parent) { + Child.prototype = Object.create(Parent.prototype); + setProp(Child.prototype, "constructor", Child); + return { + extend: props.bind(null, Child.prototype) + }; + } + }; +} +const getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +function getPropertyDescriptor(obj, prop) { + const pd = getOwnPropertyDescriptor(obj, prop); + let proto; + return pd || (proto = getProto(obj)) && getPropertyDescriptor(proto, prop); +} +const _slice = [].slice; +function slice(args, start, end) { + return _slice.call(args, start, end); +} +function override(origFunc, overridedFactory) { + return overridedFactory(origFunc); +} +function assert(b) { + if (!b) + throw new Error("Assertion Failed"); +} +function asap$1(fn) { + if (_global.setImmediate) + setImmediate(fn); + else + setTimeout(fn, 0); +} +function arrayToObject(array, extractor) { + return array.reduce((result, item, i) => { + var nameAndValue = extractor(item, i); + if (nameAndValue) + result[nameAndValue[0]] = nameAndValue[1]; + return result; + }, {}); +} +function tryCatch(fn, onerror, args) { + try { + fn.apply(null, args); + } + catch (ex) { + onerror && onerror(ex); + } +} +function getByKeyPath(obj, keyPath) { + if (hasOwn(obj, keyPath)) + return obj[keyPath]; + if (!keyPath) + return obj; + if (typeof keyPath !== 'string') { + var rv = []; + for (var i = 0, l = keyPath.length; i < l; ++i) { + var val = getByKeyPath(obj, keyPath[i]); + rv.push(val); + } + return rv; + } + var period = keyPath.indexOf('.'); + if (period !== -1) { + var innerObj = obj[keyPath.substr(0, period)]; + return innerObj === undefined ? undefined : getByKeyPath(innerObj, keyPath.substr(period + 1)); + } + return undefined; +} +function setByKeyPath(obj, keyPath, value) { + if (!obj || keyPath === undefined) + return; + if ('isFrozen' in Object && Object.isFrozen(obj)) + return; + if (typeof keyPath !== 'string' && 'length' in keyPath) { + assert(typeof value !== 'string' && 'length' in value); + for (var i = 0, l = keyPath.length; i < l; ++i) { + setByKeyPath(obj, keyPath[i], value[i]); + } + } + else { + var period = keyPath.indexOf('.'); + if (period !== -1) { + var currentKeyPath = keyPath.substr(0, period); + var remainingKeyPath = keyPath.substr(period + 1); + if (remainingKeyPath === "") + if (value === undefined) { + if (isArray(obj) && !isNaN(parseInt(currentKeyPath))) + obj.splice(currentKeyPath, 1); + else + delete obj[currentKeyPath]; + } + else + obj[currentKeyPath] = value; + else { + var innerObj = obj[currentKeyPath]; + if (!innerObj || !hasOwn(obj, currentKeyPath)) + innerObj = (obj[currentKeyPath] = {}); + setByKeyPath(innerObj, remainingKeyPath, value); + } + } + else { + if (value === undefined) { + if (isArray(obj) && !isNaN(parseInt(keyPath))) + obj.splice(keyPath, 1); + else + delete obj[keyPath]; + } + else + obj[keyPath] = value; + } + } +} +function delByKeyPath(obj, keyPath) { + if (typeof keyPath === 'string') + setByKeyPath(obj, keyPath, undefined); + else if ('length' in keyPath) + [].map.call(keyPath, function (kp) { + setByKeyPath(obj, kp, undefined); + }); +} +function shallowClone(obj) { + var rv = {}; + for (var m in obj) { + if (hasOwn(obj, m)) + rv[m] = obj[m]; + } + return rv; +} +const concat = [].concat; +function flatten(a) { + return concat.apply([], a); +} +const intrinsicTypeNames = "Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey" + .split(',').concat(flatten([8, 16, 32, 64].map(num => ["Int", "Uint", "Float"].map(t => t + num + "Array")))).filter(t => _global[t]); +const intrinsicTypes = intrinsicTypeNames.map(t => _global[t]); +arrayToObject(intrinsicTypeNames, x => [x, true]); +let circularRefs = null; +function deepClone(any) { + circularRefs = typeof WeakMap !== 'undefined' && new WeakMap(); + const rv = innerDeepClone(any); + circularRefs = null; + return rv; +} +function innerDeepClone(any) { + if (!any || typeof any !== 'object') + return any; + let rv = circularRefs && circularRefs.get(any); + if (rv) + return rv; + if (isArray(any)) { + rv = []; + circularRefs && circularRefs.set(any, rv); + for (var i = 0, l = any.length; i < l; ++i) { + rv.push(innerDeepClone(any[i])); + } + } + else if (intrinsicTypes.indexOf(any.constructor) >= 0) { + rv = any; + } + else { + const proto = getProto(any); + rv = proto === Object.prototype ? {} : Object.create(proto); + circularRefs && circularRefs.set(any, rv); + for (var prop in any) { + if (hasOwn(any, prop)) { + rv[prop] = innerDeepClone(any[prop]); + } + } + } + return rv; +} +const { toString } = {}; +function toStringTag(o) { + return toString.call(o).slice(8, -1); +} +const iteratorSymbol = typeof Symbol !== 'undefined' ? + Symbol.iterator : + '@@iterator'; +const getIteratorOf = typeof iteratorSymbol === "symbol" ? function (x) { + var i; + return x != null && (i = x[iteratorSymbol]) && i.apply(x); +} : function () { return null; }; +const NO_CHAR_ARRAY = {}; +function getArrayOf(arrayLike) { + var i, a, x, it; + if (arguments.length === 1) { + if (isArray(arrayLike)) + return arrayLike.slice(); + if (this === NO_CHAR_ARRAY && typeof arrayLike === 'string') + return [arrayLike]; + if ((it = getIteratorOf(arrayLike))) { + a = []; + while ((x = it.next()), !x.done) + a.push(x.value); + return a; + } + if (arrayLike == null) + return [arrayLike]; + i = arrayLike.length; + if (typeof i === 'number') { + a = new Array(i); + while (i--) + a[i] = arrayLike[i]; + return a; + } + return [arrayLike]; + } + i = arguments.length; + a = new Array(i); + while (i--) + a[i] = arguments[i]; + return a; +} +const isAsyncFunction = typeof Symbol !== 'undefined' + ? (fn) => fn[Symbol.toStringTag] === 'AsyncFunction' + : () => false; + +var debug = typeof location !== 'undefined' && + /^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href); +function setDebug(value, filter) { + debug = value; + libraryFilter = filter; +} +var libraryFilter = () => true; +const NEEDS_THROW_FOR_STACK = !new Error("").stack; +function getErrorWithStack() { + if (NEEDS_THROW_FOR_STACK) + try { + getErrorWithStack.arguments; + throw new Error(); + } + catch (e) { + return e; + } + return new Error(); +} +function prettyStack(exception, numIgnoredFrames) { + var stack = exception.stack; + if (!stack) + return ""; + numIgnoredFrames = (numIgnoredFrames || 0); + if (stack.indexOf(exception.name) === 0) + numIgnoredFrames += (exception.name + exception.message).split('\n').length; + return stack.split('\n') + .slice(numIgnoredFrames) + .filter(libraryFilter) + .map(frame => "\n" + frame) + .join(''); +} + +var dexieErrorNames = [ + 'Modify', + 'Bulk', + 'OpenFailed', + 'VersionChange', + 'Schema', + 'Upgrade', + 'InvalidTable', + 'MissingAPI', + 'NoSuchDatabase', + 'InvalidArgument', + 'SubTransaction', + 'Unsupported', + 'Internal', + 'DatabaseClosed', + 'PrematureCommit', + 'ForeignAwait' +]; +var idbDomErrorNames = [ + 'Unknown', + 'Constraint', + 'Data', + 'TransactionInactive', + 'ReadOnly', + 'Version', + 'NotFound', + 'InvalidState', + 'InvalidAccess', + 'Abort', + 'Timeout', + 'QuotaExceeded', + 'Syntax', + 'DataClone' +]; +var errorList = dexieErrorNames.concat(idbDomErrorNames); +var defaultTexts = { + VersionChanged: "Database version changed by other database connection", + DatabaseClosed: "Database has been closed", + Abort: "Transaction aborted", + TransactionInactive: "Transaction has already completed or failed", + MissingAPI: "IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb" +}; +function DexieError(name, msg) { + this._e = getErrorWithStack(); + this.name = name; + this.message = msg; +} +derive(DexieError).from(Error).extend({ + stack: { + get: function () { + return this._stack || + (this._stack = this.name + ": " + this.message + prettyStack(this._e, 2)); + } + }, + toString: function () { return this.name + ": " + this.message; } +}); +function getMultiErrorMessage(msg, failures) { + return msg + ". Errors: " + Object.keys(failures) + .map(key => failures[key].toString()) + .filter((v, i, s) => s.indexOf(v) === i) + .join('\n'); +} +function ModifyError(msg, failures, successCount, failedKeys) { + this._e = getErrorWithStack(); + this.failures = failures; + this.failedKeys = failedKeys; + this.successCount = successCount; + this.message = getMultiErrorMessage(msg, failures); +} +derive(ModifyError).from(DexieError); +function BulkError(msg, failures) { + this._e = getErrorWithStack(); + this.name = "BulkError"; + this.failures = Object.keys(failures).map(pos => failures[pos]); + this.failuresByPos = failures; + this.message = getMultiErrorMessage(msg, failures); +} +derive(BulkError).from(DexieError); +var errnames = errorList.reduce((obj, name) => (obj[name] = name + "Error", obj), {}); +const BaseException = DexieError; +var exceptions = errorList.reduce((obj, name) => { + var fullName = name + "Error"; + function DexieError(msgOrInner, inner) { + this._e = getErrorWithStack(); + this.name = fullName; + if (!msgOrInner) { + this.message = defaultTexts[name] || fullName; + this.inner = null; + } + else if (typeof msgOrInner === 'string') { + this.message = `${msgOrInner}${!inner ? '' : '\n ' + inner}`; + this.inner = inner || null; + } + else if (typeof msgOrInner === 'object') { + this.message = `${msgOrInner.name} ${msgOrInner.message}`; + this.inner = msgOrInner; + } + } + derive(DexieError).from(BaseException); + obj[name] = DexieError; + return obj; +}, {}); +exceptions.Syntax = SyntaxError; +exceptions.Type = TypeError; +exceptions.Range = RangeError; +var exceptionMap = idbDomErrorNames.reduce((obj, name) => { + obj[name + "Error"] = exceptions[name]; + return obj; +}, {}); +function mapError(domError, message) { + if (!domError || domError instanceof DexieError || domError instanceof TypeError || domError instanceof SyntaxError || !domError.name || !exceptionMap[domError.name]) + return domError; + var rv = new exceptionMap[domError.name](message || domError.message, domError); + if ("stack" in domError) { + setProp(rv, "stack", { get: function () { + return this.inner.stack; + } }); + } + return rv; +} +var fullNameExceptions = errorList.reduce((obj, name) => { + if (["Syntax", "Type", "Range"].indexOf(name) === -1) + obj[name + "Error"] = exceptions[name]; + return obj; +}, {}); +fullNameExceptions.ModifyError = ModifyError; +fullNameExceptions.DexieError = DexieError; +fullNameExceptions.BulkError = BulkError; + +function nop() { } +function mirror(val) { return val; } +function pureFunctionChain(f1, f2) { + if (f1 == null || f1 === mirror) + return f2; + return function (val) { + return f2(f1(val)); + }; +} +function callBoth(on1, on2) { + return function () { + on1.apply(this, arguments); + on2.apply(this, arguments); + }; +} +function hookCreatingChain(f1, f2) { + if (f1 === nop) + return f2; + return function () { + var res = f1.apply(this, arguments); + if (res !== undefined) + arguments[0] = res; + var onsuccess = this.onsuccess, + onerror = this.onerror; + this.onsuccess = null; + this.onerror = null; + var res2 = f2.apply(this, arguments); + if (onsuccess) + this.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess; + if (onerror) + this.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror; + return res2 !== undefined ? res2 : res; + }; +} +function hookDeletingChain(f1, f2) { + if (f1 === nop) + return f2; + return function () { + f1.apply(this, arguments); + var onsuccess = this.onsuccess, + onerror = this.onerror; + this.onsuccess = this.onerror = null; + f2.apply(this, arguments); + if (onsuccess) + this.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess; + if (onerror) + this.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror; + }; +} +function hookUpdatingChain(f1, f2) { + if (f1 === nop) + return f2; + return function (modifications) { + var res = f1.apply(this, arguments); + extend(modifications, res); + var onsuccess = this.onsuccess, + onerror = this.onerror; + this.onsuccess = null; + this.onerror = null; + var res2 = f2.apply(this, arguments); + if (onsuccess) + this.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess; + if (onerror) + this.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror; + return res === undefined ? + (res2 === undefined ? undefined : res2) : + (extend(res, res2)); + }; +} +function reverseStoppableEventChain(f1, f2) { + if (f1 === nop) + return f2; + return function () { + if (f2.apply(this, arguments) === false) + return false; + return f1.apply(this, arguments); + }; +} +function promisableChain(f1, f2) { + if (f1 === nop) + return f2; + return function () { + var res = f1.apply(this, arguments); + if (res && typeof res.then === 'function') { + var thiz = this, i = arguments.length, args = new Array(i); + while (i--) + args[i] = arguments[i]; + return res.then(function () { + return f2.apply(thiz, args); + }); + } + return f2.apply(this, arguments); + }; +} + +var INTERNAL = {}; +const LONG_STACKS_CLIP_LIMIT = 100, +MAX_LONG_STACKS = 20, ZONE_ECHO_LIMIT = 100, [resolvedNativePromise, nativePromiseProto, resolvedGlobalPromise] = typeof Promise === 'undefined' ? + [] : + (() => { + let globalP = Promise.resolve(); + if (typeof crypto === 'undefined' || !crypto.subtle) + return [globalP, getProto(globalP), globalP]; + const nativeP = crypto.subtle.digest("SHA-512", new Uint8Array([0])); + return [ + nativeP, + getProto(nativeP), + globalP + ]; + })(), nativePromiseThen = nativePromiseProto && nativePromiseProto.then; +const NativePromise = resolvedNativePromise && resolvedNativePromise.constructor; +const patchGlobalPromise = !!resolvedGlobalPromise; +var stack_being_generated = false; +var schedulePhysicalTick = resolvedGlobalPromise ? + () => { resolvedGlobalPromise.then(physicalTick); } + : + _global.setImmediate ? + setImmediate.bind(null, physicalTick) : + _global.MutationObserver ? + () => { + var hiddenDiv = document.createElement("div"); + (new MutationObserver(() => { + physicalTick(); + hiddenDiv = null; + })).observe(hiddenDiv, { attributes: true }); + hiddenDiv.setAttribute('i', '1'); + } : + () => { setTimeout(physicalTick, 0); }; +var asap = function (callback, args) { + microtickQueue.push([callback, args]); + if (needsNewPhysicalTick) { + schedulePhysicalTick(); + needsNewPhysicalTick = false; + } +}; +var isOutsideMicroTick = true, +needsNewPhysicalTick = true, +unhandledErrors = [], +rejectingErrors = [], +currentFulfiller = null, rejectionMapper = mirror; +var globalPSD = { + id: 'global', + global: true, + ref: 0, + unhandleds: [], + onunhandled: globalError, + pgp: false, + env: {}, + finalize: function () { + this.unhandleds.forEach(uh => { + try { + globalError(uh[0], uh[1]); + } + catch (e) { } + }); + } +}; +var PSD = globalPSD; +var microtickQueue = []; +var numScheduledCalls = 0; +var tickFinalizers = []; +function DexiePromise(fn) { + if (typeof this !== 'object') + throw new TypeError('Promises must be constructed via new'); + this._listeners = []; + this.onuncatched = nop; + this._lib = false; + var psd = (this._PSD = PSD); + if (debug) { + this._stackHolder = getErrorWithStack(); + this._prev = null; + this._numPrev = 0; + } + if (typeof fn !== 'function') { + if (fn !== INTERNAL) + throw new TypeError('Not a function'); + this._state = arguments[1]; + this._value = arguments[2]; + if (this._state === false) + handleRejection(this, this._value); + return; + } + this._state = null; + this._value = null; + ++psd.ref; + executePromiseTask(this, fn); +} +const thenProp = { + get: function () { + var psd = PSD, microTaskId = totalEchoes; + function then(onFulfilled, onRejected) { + var possibleAwait = !psd.global && (psd !== PSD || microTaskId !== totalEchoes); + const cleanup = possibleAwait && !decrementExpectedAwaits(); + var rv = new DexiePromise((resolve, reject) => { + propagateToListener(this, new Listener(nativeAwaitCompatibleWrap(onFulfilled, psd, possibleAwait, cleanup), nativeAwaitCompatibleWrap(onRejected, psd, possibleAwait, cleanup), resolve, reject, psd)); + }); + debug && linkToPreviousPromise(rv, this); + return rv; + } + then.prototype = INTERNAL; + return then; + }, + set: function (value) { + setProp(this, 'then', value && value.prototype === INTERNAL ? + thenProp : + { + get: function () { + return value; + }, + set: thenProp.set + }); + } +}; +props(DexiePromise.prototype, { + then: thenProp, + _then: function (onFulfilled, onRejected) { + propagateToListener(this, new Listener(null, null, onFulfilled, onRejected, PSD)); + }, + catch: function (onRejected) { + if (arguments.length === 1) + return this.then(null, onRejected); + var type = arguments[0], handler = arguments[1]; + return typeof type === 'function' ? this.then(null, err => + err instanceof type ? handler(err) : PromiseReject(err)) + : this.then(null, err => + err && err.name === type ? handler(err) : PromiseReject(err)); + }, + finally: function (onFinally) { + return this.then(value => { + onFinally(); + return value; + }, err => { + onFinally(); + return PromiseReject(err); + }); + }, + stack: { + get: function () { + if (this._stack) + return this._stack; + try { + stack_being_generated = true; + var stacks = getStack(this, [], MAX_LONG_STACKS); + var stack = stacks.join("\nFrom previous: "); + if (this._state !== null) + this._stack = stack; + return stack; + } + finally { + stack_being_generated = false; + } + } + }, + timeout: function (ms, msg) { + return ms < Infinity ? + new DexiePromise((resolve, reject) => { + var handle = setTimeout(() => reject(new exceptions.Timeout(msg)), ms); + this.then(resolve, reject).finally(clearTimeout.bind(null, handle)); + }) : this; + } +}); +if (typeof Symbol !== 'undefined' && Symbol.toStringTag) + setProp(DexiePromise.prototype, Symbol.toStringTag, 'Dexie.Promise'); +globalPSD.env = snapShot(); +function Listener(onFulfilled, onRejected, resolve, reject, zone) { + this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null; + this.onRejected = typeof onRejected === 'function' ? onRejected : null; + this.resolve = resolve; + this.reject = reject; + this.psd = zone; +} +props(DexiePromise, { + all: function () { + var values = getArrayOf.apply(null, arguments) + .map(onPossibleParallellAsync); + return new DexiePromise(function (resolve, reject) { + if (values.length === 0) + resolve([]); + var remaining = values.length; + values.forEach((a, i) => DexiePromise.resolve(a).then(x => { + values[i] = x; + if (!--remaining) + resolve(values); + }, reject)); + }); + }, + resolve: value => { + if (value instanceof DexiePromise) + return value; + if (value && typeof value.then === 'function') + return new DexiePromise((resolve, reject) => { + value.then(resolve, reject); + }); + var rv = new DexiePromise(INTERNAL, true, value); + linkToPreviousPromise(rv, currentFulfiller); + return rv; + }, + reject: PromiseReject, + race: function () { + var values = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync); + return new DexiePromise((resolve, reject) => { + values.map(value => DexiePromise.resolve(value).then(resolve, reject)); + }); + }, + PSD: { + get: () => PSD, + set: value => PSD = value + }, + totalEchoes: { get: () => totalEchoes }, + newPSD: newScope, + usePSD: usePSD, + scheduler: { + get: () => asap, + set: value => { asap = value; } + }, + rejectionMapper: { + get: () => rejectionMapper, + set: value => { rejectionMapper = value; } + }, + follow: (fn, zoneProps) => { + return new DexiePromise((resolve, reject) => { + return newScope((resolve, reject) => { + var psd = PSD; + psd.unhandleds = []; + psd.onunhandled = reject; + psd.finalize = callBoth(function () { + run_at_end_of_this_or_next_physical_tick(() => { + this.unhandleds.length === 0 ? resolve() : reject(this.unhandleds[0]); + }); + }, psd.finalize); + fn(); + }, zoneProps, resolve, reject); + }); + } +}); +if (NativePromise) { + if (NativePromise.allSettled) + setProp(DexiePromise, "allSettled", function () { + const possiblePromises = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync); + return new DexiePromise(resolve => { + if (possiblePromises.length === 0) + resolve([]); + let remaining = possiblePromises.length; + const results = new Array(remaining); + possiblePromises.forEach((p, i) => DexiePromise.resolve(p).then(value => results[i] = { status: "fulfilled", value }, reason => results[i] = { status: "rejected", reason }) + .then(() => --remaining || resolve(results))); + }); + }); + if (NativePromise.any && typeof AggregateError !== 'undefined') + setProp(DexiePromise, "any", function () { + const possiblePromises = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync); + return new DexiePromise((resolve, reject) => { + if (possiblePromises.length === 0) + reject(new AggregateError([])); + let remaining = possiblePromises.length; + const failures = new Array(remaining); + possiblePromises.forEach((p, i) => DexiePromise.resolve(p).then(value => resolve(value), failure => { + failures[i] = failure; + if (!--remaining) + reject(new AggregateError(failures)); + })); + }); + }); +} +function executePromiseTask(promise, fn) { + try { + fn(value => { + if (promise._state !== null) + return; + if (value === promise) + throw new TypeError('A promise cannot be resolved with itself.'); + var shouldExecuteTick = promise._lib && beginMicroTickScope(); + if (value && typeof value.then === 'function') { + executePromiseTask(promise, (resolve, reject) => { + value instanceof DexiePromise ? + value._then(resolve, reject) : + value.then(resolve, reject); + }); + } + else { + promise._state = true; + promise._value = value; + propagateAllListeners(promise); + } + if (shouldExecuteTick) + endMicroTickScope(); + }, handleRejection.bind(null, promise)); + } + catch (ex) { + handleRejection(promise, ex); + } +} +function handleRejection(promise, reason) { + rejectingErrors.push(reason); + if (promise._state !== null) + return; + var shouldExecuteTick = promise._lib && beginMicroTickScope(); + reason = rejectionMapper(reason); + promise._state = false; + promise._value = reason; + debug && reason !== null && typeof reason === 'object' && !reason._promise && tryCatch(() => { + var origProp = getPropertyDescriptor(reason, "stack"); + reason._promise = promise; + setProp(reason, "stack", { + get: () => stack_being_generated ? + origProp && (origProp.get ? + origProp.get.apply(reason) : + origProp.value) : + promise.stack + }); + }); + addPossiblyUnhandledError(promise); + propagateAllListeners(promise); + if (shouldExecuteTick) + endMicroTickScope(); +} +function propagateAllListeners(promise) { + var listeners = promise._listeners; + promise._listeners = []; + for (var i = 0, len = listeners.length; i < len; ++i) { + propagateToListener(promise, listeners[i]); + } + var psd = promise._PSD; + --psd.ref || psd.finalize(); + if (numScheduledCalls === 0) { + ++numScheduledCalls; + asap(() => { + if (--numScheduledCalls === 0) + finalizePhysicalTick(); + }, []); + } +} +function propagateToListener(promise, listener) { + if (promise._state === null) { + promise._listeners.push(listener); + return; + } + var cb = promise._state ? listener.onFulfilled : listener.onRejected; + if (cb === null) { + return (promise._state ? listener.resolve : listener.reject)(promise._value); + } + ++listener.psd.ref; + ++numScheduledCalls; + asap(callListener, [cb, promise, listener]); +} +function callListener(cb, promise, listener) { + try { + currentFulfiller = promise; + var ret, value = promise._value; + if (promise._state) { + ret = cb(value); + } + else { + if (rejectingErrors.length) + rejectingErrors = []; + ret = cb(value); + if (rejectingErrors.indexOf(value) === -1) + markErrorAsHandled(promise); + } + listener.resolve(ret); + } + catch (e) { + listener.reject(e); + } + finally { + currentFulfiller = null; + if (--numScheduledCalls === 0) + finalizePhysicalTick(); + --listener.psd.ref || listener.psd.finalize(); + } +} +function getStack(promise, stacks, limit) { + if (stacks.length === limit) + return stacks; + var stack = ""; + if (promise._state === false) { + var failure = promise._value, errorName, message; + if (failure != null) { + errorName = failure.name || "Error"; + message = failure.message || failure; + stack = prettyStack(failure, 0); + } + else { + errorName = failure; + message = ""; + } + stacks.push(errorName + (message ? ": " + message : "") + stack); + } + if (debug) { + stack = prettyStack(promise._stackHolder, 2); + if (stack && stacks.indexOf(stack) === -1) + stacks.push(stack); + if (promise._prev) + getStack(promise._prev, stacks, limit); + } + return stacks; +} +function linkToPreviousPromise(promise, prev) { + var numPrev = prev ? prev._numPrev + 1 : 0; + if (numPrev < LONG_STACKS_CLIP_LIMIT) { + promise._prev = prev; + promise._numPrev = numPrev; + } +} +function physicalTick() { + beginMicroTickScope() && endMicroTickScope(); +} +function beginMicroTickScope() { + var wasRootExec = isOutsideMicroTick; + isOutsideMicroTick = false; + needsNewPhysicalTick = false; + return wasRootExec; +} +function endMicroTickScope() { + var callbacks, i, l; + do { + while (microtickQueue.length > 0) { + callbacks = microtickQueue; + microtickQueue = []; + l = callbacks.length; + for (i = 0; i < l; ++i) { + var item = callbacks[i]; + item[0].apply(null, item[1]); + } + } + } while (microtickQueue.length > 0); + isOutsideMicroTick = true; + needsNewPhysicalTick = true; +} +function finalizePhysicalTick() { + var unhandledErrs = unhandledErrors; + unhandledErrors = []; + unhandledErrs.forEach(p => { + p._PSD.onunhandled.call(null, p._value, p); + }); + var finalizers = tickFinalizers.slice(0); + var i = finalizers.length; + while (i) + finalizers[--i](); +} +function run_at_end_of_this_or_next_physical_tick(fn) { + function finalizer() { + fn(); + tickFinalizers.splice(tickFinalizers.indexOf(finalizer), 1); + } + tickFinalizers.push(finalizer); + ++numScheduledCalls; + asap(() => { + if (--numScheduledCalls === 0) + finalizePhysicalTick(); + }, []); +} +function addPossiblyUnhandledError(promise) { + if (!unhandledErrors.some(p => p._value === promise._value)) + unhandledErrors.push(promise); +} +function markErrorAsHandled(promise) { + var i = unhandledErrors.length; + while (i) + if (unhandledErrors[--i]._value === promise._value) { + unhandledErrors.splice(i, 1); + return; + } +} +function PromiseReject(reason) { + return new DexiePromise(INTERNAL, false, reason); +} +function wrap(fn, errorCatcher) { + var psd = PSD; + return function () { + var wasRootExec = beginMicroTickScope(), outerScope = PSD; + try { + switchToZone(psd, true); + return fn.apply(this, arguments); + } + catch (e) { + errorCatcher && errorCatcher(e); + } + finally { + switchToZone(outerScope, false); + if (wasRootExec) + endMicroTickScope(); + } + }; +} +const task = { awaits: 0, echoes: 0, id: 0 }; +var taskCounter = 0; +var zoneStack = []; +var zoneEchoes = 0; +var totalEchoes = 0; +var zone_id_counter = 0; +function newScope(fn, props, a1, a2) { + var parent = PSD, psd = Object.create(parent); + psd.parent = parent; + psd.ref = 0; + psd.global = false; + psd.id = ++zone_id_counter; + var globalEnv = globalPSD.env; + psd.env = patchGlobalPromise ? { + Promise: DexiePromise, + PromiseProp: { value: DexiePromise, configurable: true, writable: true }, + all: DexiePromise.all, + race: DexiePromise.race, + allSettled: DexiePromise.allSettled, + any: DexiePromise.any, + resolve: DexiePromise.resolve, + reject: DexiePromise.reject, + nthen: getPatchedPromiseThen(globalEnv.nthen, psd), + gthen: getPatchedPromiseThen(globalEnv.gthen, psd) + } : {}; + if (props) + extend(psd, props); + ++parent.ref; + psd.finalize = function () { + --this.parent.ref || this.parent.finalize(); + }; + var rv = usePSD(psd, fn, a1, a2); + if (psd.ref === 0) + psd.finalize(); + return rv; +} +function incrementExpectedAwaits() { + if (!task.id) + task.id = ++taskCounter; + ++task.awaits; + task.echoes += ZONE_ECHO_LIMIT; + return task.id; +} +function decrementExpectedAwaits() { + if (!task.awaits) + return false; + if (--task.awaits === 0) + task.id = 0; + task.echoes = task.awaits * ZONE_ECHO_LIMIT; + return true; +} +if (('' + nativePromiseThen).indexOf('[native code]') === -1) { + incrementExpectedAwaits = decrementExpectedAwaits = nop; +} +function onPossibleParallellAsync(possiblePromise) { + if (task.echoes && possiblePromise && possiblePromise.constructor === NativePromise) { + incrementExpectedAwaits(); + return possiblePromise.then(x => { + decrementExpectedAwaits(); + return x; + }, e => { + decrementExpectedAwaits(); + return rejection(e); + }); + } + return possiblePromise; +} +function zoneEnterEcho(targetZone) { + ++totalEchoes; + if (!task.echoes || --task.echoes === 0) { + task.echoes = task.id = 0; + } + zoneStack.push(PSD); + switchToZone(targetZone, true); +} +function zoneLeaveEcho() { + var zone = zoneStack[zoneStack.length - 1]; + zoneStack.pop(); + switchToZone(zone, false); +} +function switchToZone(targetZone, bEnteringZone) { + var currentZone = PSD; + if (bEnteringZone ? task.echoes && (!zoneEchoes++ || targetZone !== PSD) : zoneEchoes && (!--zoneEchoes || targetZone !== PSD)) { + enqueueNativeMicroTask(bEnteringZone ? zoneEnterEcho.bind(null, targetZone) : zoneLeaveEcho); + } + if (targetZone === PSD) + return; + PSD = targetZone; + if (currentZone === globalPSD) + globalPSD.env = snapShot(); + if (patchGlobalPromise) { + var GlobalPromise = globalPSD.env.Promise; + var targetEnv = targetZone.env; + nativePromiseProto.then = targetEnv.nthen; + GlobalPromise.prototype.then = targetEnv.gthen; + if (currentZone.global || targetZone.global) { + Object.defineProperty(_global, 'Promise', targetEnv.PromiseProp); + GlobalPromise.all = targetEnv.all; + GlobalPromise.race = targetEnv.race; + GlobalPromise.resolve = targetEnv.resolve; + GlobalPromise.reject = targetEnv.reject; + if (targetEnv.allSettled) + GlobalPromise.allSettled = targetEnv.allSettled; + if (targetEnv.any) + GlobalPromise.any = targetEnv.any; + } + } +} +function snapShot() { + var GlobalPromise = _global.Promise; + return patchGlobalPromise ? { + Promise: GlobalPromise, + PromiseProp: Object.getOwnPropertyDescriptor(_global, "Promise"), + all: GlobalPromise.all, + race: GlobalPromise.race, + allSettled: GlobalPromise.allSettled, + any: GlobalPromise.any, + resolve: GlobalPromise.resolve, + reject: GlobalPromise.reject, + nthen: nativePromiseProto.then, + gthen: GlobalPromise.prototype.then + } : {}; +} +function usePSD(psd, fn, a1, a2, a3) { + var outerScope = PSD; + try { + switchToZone(psd, true); + return fn(a1, a2, a3); + } + finally { + switchToZone(outerScope, false); + } +} +function enqueueNativeMicroTask(job) { + nativePromiseThen.call(resolvedNativePromise, job); +} +function nativeAwaitCompatibleWrap(fn, zone, possibleAwait, cleanup) { + return typeof fn !== 'function' ? fn : function () { + var outerZone = PSD; + if (possibleAwait) + incrementExpectedAwaits(); + switchToZone(zone, true); + try { + return fn.apply(this, arguments); + } + finally { + switchToZone(outerZone, false); + if (cleanup) + enqueueNativeMicroTask(decrementExpectedAwaits); + } + }; +} +function getPatchedPromiseThen(origThen, zone) { + return function (onResolved, onRejected) { + return origThen.call(this, nativeAwaitCompatibleWrap(onResolved, zone), nativeAwaitCompatibleWrap(onRejected, zone)); + }; +} +const UNHANDLEDREJECTION = "unhandledrejection"; +function globalError(err, promise) { + var rv; + try { + rv = promise.onuncatched(err); + } + catch (e) { } + if (rv !== false) + try { + var event, eventData = { promise: promise, reason: err }; + if (_global.document && document.createEvent) { + event = document.createEvent('Event'); + event.initEvent(UNHANDLEDREJECTION, true, true); + extend(event, eventData); + } + else if (_global.CustomEvent) { + event = new CustomEvent(UNHANDLEDREJECTION, { detail: eventData }); + extend(event, eventData); + } + if (event && _global.dispatchEvent) { + dispatchEvent(event); + if (!_global.PromiseRejectionEvent && _global.onunhandledrejection) + try { + _global.onunhandledrejection(event); + } + catch (_) { } + } + if (debug && event && !event.defaultPrevented) { + console.warn(`Unhandled rejection: ${err.stack || err}`); + } + } + catch (e) { } +} +var rejection = DexiePromise.reject; + +function tempTransaction(db, mode, storeNames, fn) { + if (!db.idbdb || (!db._state.openComplete && (!PSD.letThrough && !db._vip))) { + if (db._state.openComplete) { + return rejection(new exceptions.DatabaseClosed(db._state.dbOpenError)); + } + if (!db._state.isBeingOpened) { + if (!db._options.autoOpen) + return rejection(new exceptions.DatabaseClosed()); + db.open().catch(nop); + } + return db._state.dbReadyPromise.then(() => tempTransaction(db, mode, storeNames, fn)); + } + else { + var trans = db._createTransaction(mode, storeNames, db._dbSchema); + try { + trans.create(); + db._state.PR1398_maxLoop = 3; + } + catch (ex) { + if (ex.name === errnames.InvalidState && db.isOpen() && --db._state.PR1398_maxLoop > 0) { + console.warn('Dexie: Need to reopen db'); + db._close(); + return db.open().then(() => tempTransaction(db, mode, storeNames, fn)); + } + return rejection(ex); + } + return trans._promise(mode, (resolve, reject) => { + return newScope(() => { + PSD.trans = trans; + return fn(resolve, reject, trans); + }); + }).then(result => { + return trans._completion.then(() => result); + }); + } +} + +const DEXIE_VERSION = '3.2.4'; +const maxString = String.fromCharCode(65535); +const minKey = -Infinity; +const INVALID_KEY_ARGUMENT = "Invalid key provided. Keys must be of type string, number, Date or Array."; +const STRING_EXPECTED = "String expected."; +const connections = []; +const isIEOrEdge = typeof navigator !== 'undefined' && /(MSIE|Trident|Edge)/.test(navigator.userAgent); +const hasIEDeleteObjectStoreBug = isIEOrEdge; +const hangsOnDeleteLargeKeyRange = isIEOrEdge; +const dexieStackFrameFilter = frame => !/(dexie\.js|dexie\.min\.js)/.test(frame); +const DBNAMES_DB = '__dbnames'; +const READONLY = 'readonly'; +const READWRITE = 'readwrite'; + +function combine(filter1, filter2) { + return filter1 ? + filter2 ? + function () { return filter1.apply(this, arguments) && filter2.apply(this, arguments); } : + filter1 : + filter2; +} + +const AnyRange = { + type: 3 , + lower: -Infinity, + lowerOpen: false, + upper: [[]], + upperOpen: false +}; + +function workaroundForUndefinedPrimKey(keyPath) { + return typeof keyPath === "string" && !/\./.test(keyPath) + ? (obj) => { + if (obj[keyPath] === undefined && (keyPath in obj)) { + obj = deepClone(obj); + delete obj[keyPath]; + } + return obj; + } + : (obj) => obj; +} + +let Table$3 = class Table { + _trans(mode, fn, writeLocked) { + const trans = this._tx || PSD.trans; + const tableName = this.name; + function checkTableInTransaction(resolve, reject, trans) { + if (!trans.schema[tableName]) + throw new exceptions.NotFound("Table " + tableName + " not part of transaction"); + return fn(trans.idbtrans, trans); + } + const wasRootExec = beginMicroTickScope(); + try { + return trans && trans.db === this.db ? + trans === PSD.trans ? + trans._promise(mode, checkTableInTransaction, writeLocked) : + newScope(() => trans._promise(mode, checkTableInTransaction, writeLocked), { trans: trans, transless: PSD.transless || PSD }) : + tempTransaction(this.db, mode, [this.name], checkTableInTransaction); + } + finally { + if (wasRootExec) + endMicroTickScope(); + } + } + get(keyOrCrit, cb) { + if (keyOrCrit && keyOrCrit.constructor === Object) + return this.where(keyOrCrit).first(cb); + return this._trans('readonly', (trans) => { + return this.core.get({ trans, key: keyOrCrit }) + .then(res => this.hook.reading.fire(res)); + }).then(cb); + } + where(indexOrCrit) { + if (typeof indexOrCrit === 'string') + return new this.db.WhereClause(this, indexOrCrit); + if (isArray(indexOrCrit)) + return new this.db.WhereClause(this, `[${indexOrCrit.join('+')}]`); + const keyPaths = keys(indexOrCrit); + if (keyPaths.length === 1) + return this + .where(keyPaths[0]) + .equals(indexOrCrit[keyPaths[0]]); + const compoundIndex = this.schema.indexes.concat(this.schema.primKey).filter(ix => ix.compound && + keyPaths.every(keyPath => ix.keyPath.indexOf(keyPath) >= 0) && + ix.keyPath.every(keyPath => keyPaths.indexOf(keyPath) >= 0))[0]; + if (compoundIndex && this.db._maxKey !== maxString) + return this + .where(compoundIndex.name) + .equals(compoundIndex.keyPath.map(kp => indexOrCrit[kp])); + if (!compoundIndex && debug) + console.warn(`The query ${JSON.stringify(indexOrCrit)} on ${this.name} would benefit of a ` + + `compound index [${keyPaths.join('+')}]`); + const { idxByName } = this.schema; + const idb = this.db._deps.indexedDB; + function equals(a, b) { + try { + return idb.cmp(a, b) === 0; + } + catch (e) { + return false; + } + } + const [idx, filterFunction] = keyPaths.reduce(([prevIndex, prevFilterFn], keyPath) => { + const index = idxByName[keyPath]; + const value = indexOrCrit[keyPath]; + return [ + prevIndex || index, + prevIndex || !index ? + combine(prevFilterFn, index && index.multi ? + x => { + const prop = getByKeyPath(x, keyPath); + return isArray(prop) && prop.some(item => equals(value, item)); + } : x => equals(value, getByKeyPath(x, keyPath))) + : prevFilterFn + ]; + }, [null, null]); + return idx ? + this.where(idx.name).equals(indexOrCrit[idx.keyPath]) + .filter(filterFunction) : + compoundIndex ? + this.filter(filterFunction) : + this.where(keyPaths).equals(''); + } + filter(filterFunction) { + return this.toCollection().and(filterFunction); + } + count(thenShortcut) { + return this.toCollection().count(thenShortcut); + } + offset(offset) { + return this.toCollection().offset(offset); + } + limit(numRows) { + return this.toCollection().limit(numRows); + } + each(callback) { + return this.toCollection().each(callback); + } + toArray(thenShortcut) { + return this.toCollection().toArray(thenShortcut); + } + toCollection() { + return new this.db.Collection(new this.db.WhereClause(this)); + } + orderBy(index) { + return new this.db.Collection(new this.db.WhereClause(this, isArray(index) ? + `[${index.join('+')}]` : + index)); + } + reverse() { + return this.toCollection().reverse(); + } + mapToClass(constructor) { + this.schema.mappedClass = constructor; + const readHook = obj => { + if (!obj) + return obj; + const res = Object.create(constructor.prototype); + for (var m in obj) + if (hasOwn(obj, m)) + try { + res[m] = obj[m]; + } + catch (_) { } + return res; + }; + if (this.schema.readHook) { + this.hook.reading.unsubscribe(this.schema.readHook); + } + this.schema.readHook = readHook; + this.hook("reading", readHook); + return constructor; + } + defineClass() { + function Class(content) { + extend(this, content); + } + return this.mapToClass(Class); + } + add(obj, key) { + const { auto, keyPath } = this.schema.primKey; + let objToAdd = obj; + if (keyPath && auto) { + objToAdd = workaroundForUndefinedPrimKey(keyPath)(obj); + } + return this._trans('readwrite', trans => { + return this.core.mutate({ trans, type: 'add', keys: key != null ? [key] : null, values: [objToAdd] }); + }).then(res => res.numFailures ? DexiePromise.reject(res.failures[0]) : res.lastResult) + .then(lastResult => { + if (keyPath) { + try { + setByKeyPath(obj, keyPath, lastResult); + } + catch (_) { } + } + return lastResult; + }); + } + update(keyOrObject, modifications) { + if (typeof keyOrObject === 'object' && !isArray(keyOrObject)) { + const key = getByKeyPath(keyOrObject, this.schema.primKey.keyPath); + if (key === undefined) + return rejection(new exceptions.InvalidArgument("Given object does not contain its primary key")); + try { + if (typeof modifications !== "function") { + keys(modifications).forEach(keyPath => { + setByKeyPath(keyOrObject, keyPath, modifications[keyPath]); + }); + } + else { + modifications(keyOrObject, { value: keyOrObject, primKey: key }); + } + } + catch (_a) { + } + return this.where(":id").equals(key).modify(modifications); + } + else { + return this.where(":id").equals(keyOrObject).modify(modifications); + } + } + put(obj, key) { + const { auto, keyPath } = this.schema.primKey; + let objToAdd = obj; + if (keyPath && auto) { + objToAdd = workaroundForUndefinedPrimKey(keyPath)(obj); + } + return this._trans('readwrite', trans => this.core.mutate({ trans, type: 'put', values: [objToAdd], keys: key != null ? [key] : null })) + .then(res => res.numFailures ? DexiePromise.reject(res.failures[0]) : res.lastResult) + .then(lastResult => { + if (keyPath) { + try { + setByKeyPath(obj, keyPath, lastResult); + } + catch (_) { } + } + return lastResult; + }); + } + delete(key) { + return this._trans('readwrite', trans => this.core.mutate({ trans, type: 'delete', keys: [key] })) + .then(res => res.numFailures ? DexiePromise.reject(res.failures[0]) : undefined); + } + clear() { + return this._trans('readwrite', trans => this.core.mutate({ trans, type: 'deleteRange', range: AnyRange })) + .then(res => res.numFailures ? DexiePromise.reject(res.failures[0]) : undefined); + } + bulkGet(keys) { + return this._trans('readonly', trans => { + return this.core.getMany({ + keys, + trans + }).then(result => result.map(res => this.hook.reading.fire(res))); + }); + } + bulkAdd(objects, keysOrOptions, options) { + const keys = Array.isArray(keysOrOptions) ? keysOrOptions : undefined; + options = options || (keys ? undefined : keysOrOptions); + const wantResults = options ? options.allKeys : undefined; + return this._trans('readwrite', trans => { + const { auto, keyPath } = this.schema.primKey; + if (keyPath && keys) + throw new exceptions.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys"); + if (keys && keys.length !== objects.length) + throw new exceptions.InvalidArgument("Arguments objects and keys must have the same length"); + const numObjects = objects.length; + let objectsToAdd = keyPath && auto ? + objects.map(workaroundForUndefinedPrimKey(keyPath)) : + objects; + return this.core.mutate({ trans, type: 'add', keys: keys, values: objectsToAdd, wantResults }) + .then(({ numFailures, results, lastResult, failures }) => { + const result = wantResults ? results : lastResult; + if (numFailures === 0) + return result; + throw new BulkError(`${this.name}.bulkAdd(): ${numFailures} of ${numObjects} operations failed`, failures); + }); + }); + } + bulkPut(objects, keysOrOptions, options) { + const keys = Array.isArray(keysOrOptions) ? keysOrOptions : undefined; + options = options || (keys ? undefined : keysOrOptions); + const wantResults = options ? options.allKeys : undefined; + return this._trans('readwrite', trans => { + const { auto, keyPath } = this.schema.primKey; + if (keyPath && keys) + throw new exceptions.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys"); + if (keys && keys.length !== objects.length) + throw new exceptions.InvalidArgument("Arguments objects and keys must have the same length"); + const numObjects = objects.length; + let objectsToPut = keyPath && auto ? + objects.map(workaroundForUndefinedPrimKey(keyPath)) : + objects; + return this.core.mutate({ trans, type: 'put', keys: keys, values: objectsToPut, wantResults }) + .then(({ numFailures, results, lastResult, failures }) => { + const result = wantResults ? results : lastResult; + if (numFailures === 0) + return result; + throw new BulkError(`${this.name}.bulkPut(): ${numFailures} of ${numObjects} operations failed`, failures); + }); + }); + } + bulkDelete(keys) { + const numKeys = keys.length; + return this._trans('readwrite', trans => { + return this.core.mutate({ trans, type: 'delete', keys: keys }); + }).then(({ numFailures, lastResult, failures }) => { + if (numFailures === 0) + return lastResult; + throw new BulkError(`${this.name}.bulkDelete(): ${numFailures} of ${numKeys} operations failed`, failures); + }); + } +}; + +function Events(ctx) { + var evs = {}; + var rv = function (eventName, subscriber) { + if (subscriber) { + var i = arguments.length, args = new Array(i - 1); + while (--i) + args[i - 1] = arguments[i]; + evs[eventName].subscribe.apply(null, args); + return ctx; + } + else if (typeof (eventName) === 'string') { + return evs[eventName]; + } + }; + rv.addEventType = add; + for (var i = 1, l = arguments.length; i < l; ++i) { + add(arguments[i]); + } + return rv; + function add(eventName, chainFunction, defaultFunction) { + if (typeof eventName === 'object') + return addConfiguredEvents(eventName); + if (!chainFunction) + chainFunction = reverseStoppableEventChain; + if (!defaultFunction) + defaultFunction = nop; + var context = { + subscribers: [], + fire: defaultFunction, + subscribe: function (cb) { + if (context.subscribers.indexOf(cb) === -1) { + context.subscribers.push(cb); + context.fire = chainFunction(context.fire, cb); + } + }, + unsubscribe: function (cb) { + context.subscribers = context.subscribers.filter(function (fn) { return fn !== cb; }); + context.fire = context.subscribers.reduce(chainFunction, defaultFunction); + } + }; + evs[eventName] = rv[eventName] = context; + return context; + } + function addConfiguredEvents(cfg) { + keys(cfg).forEach(function (eventName) { + var args = cfg[eventName]; + if (isArray(args)) { + add(eventName, cfg[eventName][0], cfg[eventName][1]); + } + else if (args === 'asap') { + var context = add(eventName, mirror, function fire() { + var i = arguments.length, args = new Array(i); + while (i--) + args[i] = arguments[i]; + context.subscribers.forEach(function (fn) { + asap$1(function fireEvent() { + fn.apply(null, args); + }); + }); + }); + } + else + throw new exceptions.InvalidArgument("Invalid event config"); + }); + } +} + +function makeClassConstructor(prototype, constructor) { + derive(constructor).from({ prototype }); + return constructor; +} + +function createTableConstructor(db) { + return makeClassConstructor(Table$3.prototype, function Table(name, tableSchema, trans) { + this.db = db; + this._tx = trans; + this.name = name; + this.schema = tableSchema; + this.hook = db._allTables[name] ? db._allTables[name].hook : Events(null, { + "creating": [hookCreatingChain, nop], + "reading": [pureFunctionChain, mirror], + "updating": [hookUpdatingChain, nop], + "deleting": [hookDeletingChain, nop] + }); + }); +} + +function isPlainKeyRange(ctx, ignoreLimitFilter) { + return !(ctx.filter || ctx.algorithm || ctx.or) && + (ignoreLimitFilter ? ctx.justLimit : !ctx.replayFilter); +} +function addFilter(ctx, fn) { + ctx.filter = combine(ctx.filter, fn); +} +function addReplayFilter(ctx, factory, isLimitFilter) { + var curr = ctx.replayFilter; + ctx.replayFilter = curr ? () => combine(curr(), factory()) : factory; + ctx.justLimit = isLimitFilter && !curr; +} +function addMatchFilter(ctx, fn) { + ctx.isMatch = combine(ctx.isMatch, fn); +} +function getIndexOrStore(ctx, coreSchema) { + if (ctx.isPrimKey) + return coreSchema.primaryKey; + const index = coreSchema.getIndexByKeyPath(ctx.index); + if (!index) + throw new exceptions.Schema("KeyPath " + ctx.index + " on object store " + coreSchema.name + " is not indexed"); + return index; +} +function openCursor(ctx, coreTable, trans) { + const index = getIndexOrStore(ctx, coreTable.schema); + return coreTable.openCursor({ + trans, + values: !ctx.keysOnly, + reverse: ctx.dir === 'prev', + unique: !!ctx.unique, + query: { + index, + range: ctx.range + } + }); +} +function iter(ctx, fn, coreTrans, coreTable) { + const filter = ctx.replayFilter ? combine(ctx.filter, ctx.replayFilter()) : ctx.filter; + if (!ctx.or) { + return iterate(openCursor(ctx, coreTable, coreTrans), combine(ctx.algorithm, filter), fn, !ctx.keysOnly && ctx.valueMapper); + } + else { + const set = {}; + const union = (item, cursor, advance) => { + if (!filter || filter(cursor, advance, result => cursor.stop(result), err => cursor.fail(err))) { + var primaryKey = cursor.primaryKey; + var key = '' + primaryKey; + if (key === '[object ArrayBuffer]') + key = '' + new Uint8Array(primaryKey); + if (!hasOwn(set, key)) { + set[key] = true; + fn(item, cursor, advance); + } + } + }; + return Promise.all([ + ctx.or._iterate(union, coreTrans), + iterate(openCursor(ctx, coreTable, coreTrans), ctx.algorithm, union, !ctx.keysOnly && ctx.valueMapper) + ]); + } +} +function iterate(cursorPromise, filter, fn, valueMapper) { + var mappedFn = valueMapper ? (x, c, a) => fn(valueMapper(x), c, a) : fn; + var wrappedFn = wrap(mappedFn); + return cursorPromise.then(cursor => { + if (cursor) { + return cursor.start(() => { + var c = () => cursor.continue(); + if (!filter || filter(cursor, advancer => c = advancer, val => { cursor.stop(val); c = nop; }, e => { cursor.fail(e); c = nop; })) + wrappedFn(cursor.value, cursor, advancer => c = advancer); + c(); + }); + } + }); +} + +function cmp(a, b) { + try { + const ta = type(a); + const tb = type(b); + if (ta !== tb) { + if (ta === 'Array') + return 1; + if (tb === 'Array') + return -1; + if (ta === 'binary') + return 1; + if (tb === 'binary') + return -1; + if (ta === 'string') + return 1; + if (tb === 'string') + return -1; + if (ta === 'Date') + return 1; + if (tb !== 'Date') + return NaN; + return -1; + } + switch (ta) { + case 'number': + case 'Date': + case 'string': + return a > b ? 1 : a < b ? -1 : 0; + case 'binary': { + return compareUint8Arrays(getUint8Array(a), getUint8Array(b)); + } + case 'Array': + return compareArrays(a, b); + } + } + catch (_a) { } + return NaN; +} +function compareArrays(a, b) { + const al = a.length; + const bl = b.length; + const l = al < bl ? al : bl; + for (let i = 0; i < l; ++i) { + const res = cmp(a[i], b[i]); + if (res !== 0) + return res; + } + return al === bl ? 0 : al < bl ? -1 : 1; +} +function compareUint8Arrays(a, b) { + const al = a.length; + const bl = b.length; + const l = al < bl ? al : bl; + for (let i = 0; i < l; ++i) { + if (a[i] !== b[i]) + return a[i] < b[i] ? -1 : 1; + } + return al === bl ? 0 : al < bl ? -1 : 1; +} +function type(x) { + const t = typeof x; + if (t !== 'object') + return t; + if (ArrayBuffer.isView(x)) + return 'binary'; + const tsTag = toStringTag(x); + return tsTag === 'ArrayBuffer' ? 'binary' : tsTag; +} +function getUint8Array(a) { + if (a instanceof Uint8Array) + return a; + if (ArrayBuffer.isView(a)) + return new Uint8Array(a.buffer, a.byteOffset, a.byteLength); + return new Uint8Array(a); +} + +class Collection { + _read(fn, cb) { + var ctx = this._ctx; + return ctx.error ? + ctx.table._trans(null, rejection.bind(null, ctx.error)) : + ctx.table._trans('readonly', fn).then(cb); + } + _write(fn) { + var ctx = this._ctx; + return ctx.error ? + ctx.table._trans(null, rejection.bind(null, ctx.error)) : + ctx.table._trans('readwrite', fn, "locked"); + } + _addAlgorithm(fn) { + var ctx = this._ctx; + ctx.algorithm = combine(ctx.algorithm, fn); + } + _iterate(fn, coreTrans) { + return iter(this._ctx, fn, coreTrans, this._ctx.table.core); + } + clone(props) { + var rv = Object.create(this.constructor.prototype), ctx = Object.create(this._ctx); + if (props) + extend(ctx, props); + rv._ctx = ctx; + return rv; + } + raw() { + this._ctx.valueMapper = null; + return this; + } + each(fn) { + var ctx = this._ctx; + return this._read(trans => iter(ctx, fn, trans, ctx.table.core)); + } + count(cb) { + return this._read(trans => { + const ctx = this._ctx; + const coreTable = ctx.table.core; + if (isPlainKeyRange(ctx, true)) { + return coreTable.count({ + trans, + query: { + index: getIndexOrStore(ctx, coreTable.schema), + range: ctx.range + } + }).then(count => Math.min(count, ctx.limit)); + } + else { + var count = 0; + return iter(ctx, () => { ++count; return false; }, trans, coreTable) + .then(() => count); + } + }).then(cb); + } + sortBy(keyPath, cb) { + const parts = keyPath.split('.').reverse(), lastPart = parts[0], lastIndex = parts.length - 1; + function getval(obj, i) { + if (i) + return getval(obj[parts[i]], i - 1); + return obj[lastPart]; + } + var order = this._ctx.dir === "next" ? 1 : -1; + function sorter(a, b) { + var aVal = getval(a, lastIndex), bVal = getval(b, lastIndex); + return aVal < bVal ? -order : aVal > bVal ? order : 0; + } + return this.toArray(function (a) { + return a.sort(sorter); + }).then(cb); + } + toArray(cb) { + return this._read(trans => { + var ctx = this._ctx; + if (ctx.dir === 'next' && isPlainKeyRange(ctx, true) && ctx.limit > 0) { + const { valueMapper } = ctx; + const index = getIndexOrStore(ctx, ctx.table.core.schema); + return ctx.table.core.query({ + trans, + limit: ctx.limit, + values: true, + query: { + index, + range: ctx.range + } + }).then(({ result }) => valueMapper ? result.map(valueMapper) : result); + } + else { + const a = []; + return iter(ctx, item => a.push(item), trans, ctx.table.core).then(() => a); + } + }, cb); + } + offset(offset) { + var ctx = this._ctx; + if (offset <= 0) + return this; + ctx.offset += offset; + if (isPlainKeyRange(ctx)) { + addReplayFilter(ctx, () => { + var offsetLeft = offset; + return (cursor, advance) => { + if (offsetLeft === 0) + return true; + if (offsetLeft === 1) { + --offsetLeft; + return false; + } + advance(() => { + cursor.advance(offsetLeft); + offsetLeft = 0; + }); + return false; + }; + }); + } + else { + addReplayFilter(ctx, () => { + var offsetLeft = offset; + return () => (--offsetLeft < 0); + }); + } + return this; + } + limit(numRows) { + this._ctx.limit = Math.min(this._ctx.limit, numRows); + addReplayFilter(this._ctx, () => { + var rowsLeft = numRows; + return function (cursor, advance, resolve) { + if (--rowsLeft <= 0) + advance(resolve); + return rowsLeft >= 0; + }; + }, true); + return this; + } + until(filterFunction, bIncludeStopEntry) { + addFilter(this._ctx, function (cursor, advance, resolve) { + if (filterFunction(cursor.value)) { + advance(resolve); + return bIncludeStopEntry; + } + else { + return true; + } + }); + return this; + } + first(cb) { + return this.limit(1).toArray(function (a) { return a[0]; }).then(cb); + } + last(cb) { + return this.reverse().first(cb); + } + filter(filterFunction) { + addFilter(this._ctx, function (cursor) { + return filterFunction(cursor.value); + }); + addMatchFilter(this._ctx, filterFunction); + return this; + } + and(filter) { + return this.filter(filter); + } + or(indexName) { + return new this.db.WhereClause(this._ctx.table, indexName, this); + } + reverse() { + this._ctx.dir = (this._ctx.dir === "prev" ? "next" : "prev"); + if (this._ondirectionchange) + this._ondirectionchange(this._ctx.dir); + return this; + } + desc() { + return this.reverse(); + } + eachKey(cb) { + var ctx = this._ctx; + ctx.keysOnly = !ctx.isMatch; + return this.each(function (val, cursor) { cb(cursor.key, cursor); }); + } + eachUniqueKey(cb) { + this._ctx.unique = "unique"; + return this.eachKey(cb); + } + eachPrimaryKey(cb) { + var ctx = this._ctx; + ctx.keysOnly = !ctx.isMatch; + return this.each(function (val, cursor) { cb(cursor.primaryKey, cursor); }); + } + keys(cb) { + var ctx = this._ctx; + ctx.keysOnly = !ctx.isMatch; + var a = []; + return this.each(function (item, cursor) { + a.push(cursor.key); + }).then(function () { + return a; + }).then(cb); + } + primaryKeys(cb) { + var ctx = this._ctx; + if (ctx.dir === 'next' && isPlainKeyRange(ctx, true) && ctx.limit > 0) { + return this._read(trans => { + var index = getIndexOrStore(ctx, ctx.table.core.schema); + return ctx.table.core.query({ + trans, + values: false, + limit: ctx.limit, + query: { + index, + range: ctx.range + } + }); + }).then(({ result }) => result).then(cb); + } + ctx.keysOnly = !ctx.isMatch; + var a = []; + return this.each(function (item, cursor) { + a.push(cursor.primaryKey); + }).then(function () { + return a; + }).then(cb); + } + uniqueKeys(cb) { + this._ctx.unique = "unique"; + return this.keys(cb); + } + firstKey(cb) { + return this.limit(1).keys(function (a) { return a[0]; }).then(cb); + } + lastKey(cb) { + return this.reverse().firstKey(cb); + } + distinct() { + var ctx = this._ctx, idx = ctx.index && ctx.table.schema.idxByName[ctx.index]; + if (!idx || !idx.multi) + return this; + var set = {}; + addFilter(this._ctx, function (cursor) { + var strKey = cursor.primaryKey.toString(); + var found = hasOwn(set, strKey); + set[strKey] = true; + return !found; + }); + return this; + } + modify(changes) { + var ctx = this._ctx; + return this._write(trans => { + var modifyer; + if (typeof changes === 'function') { + modifyer = changes; + } + else { + var keyPaths = keys(changes); + var numKeys = keyPaths.length; + modifyer = function (item) { + var anythingModified = false; + for (var i = 0; i < numKeys; ++i) { + var keyPath = keyPaths[i], val = changes[keyPath]; + if (getByKeyPath(item, keyPath) !== val) { + setByKeyPath(item, keyPath, val); + anythingModified = true; + } + } + return anythingModified; + }; + } + const coreTable = ctx.table.core; + const { outbound, extractKey } = coreTable.schema.primaryKey; + const limit = this.db._options.modifyChunkSize || 200; + const totalFailures = []; + let successCount = 0; + const failedKeys = []; + const applyMutateResult = (expectedCount, res) => { + const { failures, numFailures } = res; + successCount += expectedCount - numFailures; + for (let pos of keys(failures)) { + totalFailures.push(failures[pos]); + } + }; + return this.clone().primaryKeys().then(keys => { + const nextChunk = (offset) => { + const count = Math.min(limit, keys.length - offset); + return coreTable.getMany({ + trans, + keys: keys.slice(offset, offset + count), + cache: "immutable" + }).then(values => { + const addValues = []; + const putValues = []; + const putKeys = outbound ? [] : null; + const deleteKeys = []; + for (let i = 0; i < count; ++i) { + const origValue = values[i]; + const ctx = { + value: deepClone(origValue), + primKey: keys[offset + i] + }; + if (modifyer.call(ctx, ctx.value, ctx) !== false) { + if (ctx.value == null) { + deleteKeys.push(keys[offset + i]); + } + else if (!outbound && cmp(extractKey(origValue), extractKey(ctx.value)) !== 0) { + deleteKeys.push(keys[offset + i]); + addValues.push(ctx.value); + } + else { + putValues.push(ctx.value); + if (outbound) + putKeys.push(keys[offset + i]); + } + } + } + const criteria = isPlainKeyRange(ctx) && + ctx.limit === Infinity && + (typeof changes !== 'function' || changes === deleteCallback) && { + index: ctx.index, + range: ctx.range + }; + return Promise.resolve(addValues.length > 0 && + coreTable.mutate({ trans, type: 'add', values: addValues }) + .then(res => { + for (let pos in res.failures) { + deleteKeys.splice(parseInt(pos), 1); + } + applyMutateResult(addValues.length, res); + })).then(() => (putValues.length > 0 || (criteria && typeof changes === 'object')) && + coreTable.mutate({ + trans, + type: 'put', + keys: putKeys, + values: putValues, + criteria, + changeSpec: typeof changes !== 'function' + && changes + }).then(res => applyMutateResult(putValues.length, res))).then(() => (deleteKeys.length > 0 || (criteria && changes === deleteCallback)) && + coreTable.mutate({ + trans, + type: 'delete', + keys: deleteKeys, + criteria + }).then(res => applyMutateResult(deleteKeys.length, res))).then(() => { + return keys.length > offset + count && nextChunk(offset + limit); + }); + }); + }; + return nextChunk(0).then(() => { + if (totalFailures.length > 0) + throw new ModifyError("Error modifying one or more objects", totalFailures, successCount, failedKeys); + return keys.length; + }); + }); + }); + } + delete() { + var ctx = this._ctx, range = ctx.range; + if (isPlainKeyRange(ctx) && + ((ctx.isPrimKey && !hangsOnDeleteLargeKeyRange) || range.type === 3 )) + { + return this._write(trans => { + const { primaryKey } = ctx.table.core.schema; + const coreRange = range; + return ctx.table.core.count({ trans, query: { index: primaryKey, range: coreRange } }).then(count => { + return ctx.table.core.mutate({ trans, type: 'deleteRange', range: coreRange }) + .then(({ failures, lastResult, results, numFailures }) => { + if (numFailures) + throw new ModifyError("Could not delete some values", Object.keys(failures).map(pos => failures[pos]), count - numFailures); + return count - numFailures; + }); + }); + }); + } + return this.modify(deleteCallback); + } +} +const deleteCallback = (value, ctx) => ctx.value = null; + +function createCollectionConstructor(db) { + return makeClassConstructor(Collection.prototype, function Collection(whereClause, keyRangeGenerator) { + this.db = db; + let keyRange = AnyRange, error = null; + if (keyRangeGenerator) + try { + keyRange = keyRangeGenerator(); + } + catch (ex) { + error = ex; + } + const whereCtx = whereClause._ctx; + const table = whereCtx.table; + const readingHook = table.hook.reading.fire; + this._ctx = { + table: table, + index: whereCtx.index, + isPrimKey: (!whereCtx.index || (table.schema.primKey.keyPath && whereCtx.index === table.schema.primKey.name)), + range: keyRange, + keysOnly: false, + dir: "next", + unique: "", + algorithm: null, + filter: null, + replayFilter: null, + justLimit: true, + isMatch: null, + offset: 0, + limit: Infinity, + error: error, + or: whereCtx.or, + valueMapper: readingHook !== mirror ? readingHook : null + }; + }); +} + +function simpleCompare(a, b) { + return a < b ? -1 : a === b ? 0 : 1; +} +function simpleCompareReverse(a, b) { + return a > b ? -1 : a === b ? 0 : 1; +} + +function fail(collectionOrWhereClause, err, T) { + var collection = collectionOrWhereClause instanceof WhereClause ? + new collectionOrWhereClause.Collection(collectionOrWhereClause) : + collectionOrWhereClause; + collection._ctx.error = T ? new T(err) : new TypeError(err); + return collection; +} +function emptyCollection(whereClause) { + return new whereClause.Collection(whereClause, () => rangeEqual("")).limit(0); +} +function upperFactory(dir) { + return dir === "next" ? + (s) => s.toUpperCase() : + (s) => s.toLowerCase(); +} +function lowerFactory(dir) { + return dir === "next" ? + (s) => s.toLowerCase() : + (s) => s.toUpperCase(); +} +function nextCasing(key, lowerKey, upperNeedle, lowerNeedle, cmp, dir) { + var length = Math.min(key.length, lowerNeedle.length); + var llp = -1; + for (var i = 0; i < length; ++i) { + var lwrKeyChar = lowerKey[i]; + if (lwrKeyChar !== lowerNeedle[i]) { + if (cmp(key[i], upperNeedle[i]) < 0) + return key.substr(0, i) + upperNeedle[i] + upperNeedle.substr(i + 1); + if (cmp(key[i], lowerNeedle[i]) < 0) + return key.substr(0, i) + lowerNeedle[i] + upperNeedle.substr(i + 1); + if (llp >= 0) + return key.substr(0, llp) + lowerKey[llp] + upperNeedle.substr(llp + 1); + return null; + } + if (cmp(key[i], lwrKeyChar) < 0) + llp = i; + } + if (length < lowerNeedle.length && dir === "next") + return key + upperNeedle.substr(key.length); + if (length < key.length && dir === "prev") + return key.substr(0, upperNeedle.length); + return (llp < 0 ? null : key.substr(0, llp) + lowerNeedle[llp] + upperNeedle.substr(llp + 1)); +} +function addIgnoreCaseAlgorithm(whereClause, match, needles, suffix) { + var upper, lower, compare, upperNeedles, lowerNeedles, direction, nextKeySuffix, needlesLen = needles.length; + if (!needles.every(s => typeof s === 'string')) { + return fail(whereClause, STRING_EXPECTED); + } + function initDirection(dir) { + upper = upperFactory(dir); + lower = lowerFactory(dir); + compare = (dir === "next" ? simpleCompare : simpleCompareReverse); + var needleBounds = needles.map(function (needle) { + return { lower: lower(needle), upper: upper(needle) }; + }).sort(function (a, b) { + return compare(a.lower, b.lower); + }); + upperNeedles = needleBounds.map(function (nb) { return nb.upper; }); + lowerNeedles = needleBounds.map(function (nb) { return nb.lower; }); + direction = dir; + nextKeySuffix = (dir === "next" ? "" : suffix); + } + initDirection("next"); + var c = new whereClause.Collection(whereClause, () => createRange(upperNeedles[0], lowerNeedles[needlesLen - 1] + suffix)); + c._ondirectionchange = function (direction) { + initDirection(direction); + }; + var firstPossibleNeedle = 0; + c._addAlgorithm(function (cursor, advance, resolve) { + var key = cursor.key; + if (typeof key !== 'string') + return false; + var lowerKey = lower(key); + if (match(lowerKey, lowerNeedles, firstPossibleNeedle)) { + return true; + } + else { + var lowestPossibleCasing = null; + for (var i = firstPossibleNeedle; i < needlesLen; ++i) { + var casing = nextCasing(key, lowerKey, upperNeedles[i], lowerNeedles[i], compare, direction); + if (casing === null && lowestPossibleCasing === null) + firstPossibleNeedle = i + 1; + else if (lowestPossibleCasing === null || compare(lowestPossibleCasing, casing) > 0) { + lowestPossibleCasing = casing; + } + } + if (lowestPossibleCasing !== null) { + advance(function () { cursor.continue(lowestPossibleCasing + nextKeySuffix); }); + } + else { + advance(resolve); + } + return false; + } + }); + return c; +} +function createRange(lower, upper, lowerOpen, upperOpen) { + return { + type: 2 , + lower, + upper, + lowerOpen, + upperOpen + }; +} +function rangeEqual(value) { + return { + type: 1 , + lower: value, + upper: value + }; +} + +class WhereClause { + get Collection() { + return this._ctx.table.db.Collection; + } + between(lower, upper, includeLower, includeUpper) { + includeLower = includeLower !== false; + includeUpper = includeUpper === true; + try { + if ((this._cmp(lower, upper) > 0) || + (this._cmp(lower, upper) === 0 && (includeLower || includeUpper) && !(includeLower && includeUpper))) + return emptyCollection(this); + return new this.Collection(this, () => createRange(lower, upper, !includeLower, !includeUpper)); + } + catch (e) { + return fail(this, INVALID_KEY_ARGUMENT); + } + } + equals(value) { + if (value == null) + return fail(this, INVALID_KEY_ARGUMENT); + return new this.Collection(this, () => rangeEqual(value)); + } + above(value) { + if (value == null) + return fail(this, INVALID_KEY_ARGUMENT); + return new this.Collection(this, () => createRange(value, undefined, true)); + } + aboveOrEqual(value) { + if (value == null) + return fail(this, INVALID_KEY_ARGUMENT); + return new this.Collection(this, () => createRange(value, undefined, false)); + } + below(value) { + if (value == null) + return fail(this, INVALID_KEY_ARGUMENT); + return new this.Collection(this, () => createRange(undefined, value, false, true)); + } + belowOrEqual(value) { + if (value == null) + return fail(this, INVALID_KEY_ARGUMENT); + return new this.Collection(this, () => createRange(undefined, value)); + } + startsWith(str) { + if (typeof str !== 'string') + return fail(this, STRING_EXPECTED); + return this.between(str, str + maxString, true, true); + } + startsWithIgnoreCase(str) { + if (str === "") + return this.startsWith(str); + return addIgnoreCaseAlgorithm(this, (x, a) => x.indexOf(a[0]) === 0, [str], maxString); + } + equalsIgnoreCase(str) { + return addIgnoreCaseAlgorithm(this, (x, a) => x === a[0], [str], ""); + } + anyOfIgnoreCase() { + var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments); + if (set.length === 0) + return emptyCollection(this); + return addIgnoreCaseAlgorithm(this, (x, a) => a.indexOf(x) !== -1, set, ""); + } + startsWithAnyOfIgnoreCase() { + var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments); + if (set.length === 0) + return emptyCollection(this); + return addIgnoreCaseAlgorithm(this, (x, a) => a.some(n => x.indexOf(n) === 0), set, maxString); + } + anyOf() { + const set = getArrayOf.apply(NO_CHAR_ARRAY, arguments); + let compare = this._cmp; + try { + set.sort(compare); + } + catch (e) { + return fail(this, INVALID_KEY_ARGUMENT); + } + if (set.length === 0) + return emptyCollection(this); + const c = new this.Collection(this, () => createRange(set[0], set[set.length - 1])); + c._ondirectionchange = direction => { + compare = (direction === "next" ? + this._ascending : + this._descending); + set.sort(compare); + }; + let i = 0; + c._addAlgorithm((cursor, advance, resolve) => { + const key = cursor.key; + while (compare(key, set[i]) > 0) { + ++i; + if (i === set.length) { + advance(resolve); + return false; + } + } + if (compare(key, set[i]) === 0) { + return true; + } + else { + advance(() => { cursor.continue(set[i]); }); + return false; + } + }); + return c; + } + notEqual(value) { + return this.inAnyRange([[minKey, value], [value, this.db._maxKey]], { includeLowers: false, includeUppers: false }); + } + noneOf() { + const set = getArrayOf.apply(NO_CHAR_ARRAY, arguments); + if (set.length === 0) + return new this.Collection(this); + try { + set.sort(this._ascending); + } + catch (e) { + return fail(this, INVALID_KEY_ARGUMENT); + } + const ranges = set.reduce((res, val) => res ? + res.concat([[res[res.length - 1][1], val]]) : + [[minKey, val]], null); + ranges.push([set[set.length - 1], this.db._maxKey]); + return this.inAnyRange(ranges, { includeLowers: false, includeUppers: false }); + } + inAnyRange(ranges, options) { + const cmp = this._cmp, ascending = this._ascending, descending = this._descending, min = this._min, max = this._max; + if (ranges.length === 0) + return emptyCollection(this); + if (!ranges.every(range => range[0] !== undefined && + range[1] !== undefined && + ascending(range[0], range[1]) <= 0)) { + return fail(this, "First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower", exceptions.InvalidArgument); + } + const includeLowers = !options || options.includeLowers !== false; + const includeUppers = options && options.includeUppers === true; + function addRange(ranges, newRange) { + let i = 0, l = ranges.length; + for (; i < l; ++i) { + const range = ranges[i]; + if (cmp(newRange[0], range[1]) < 0 && cmp(newRange[1], range[0]) > 0) { + range[0] = min(range[0], newRange[0]); + range[1] = max(range[1], newRange[1]); + break; + } + } + if (i === l) + ranges.push(newRange); + return ranges; + } + let sortDirection = ascending; + function rangeSorter(a, b) { return sortDirection(a[0], b[0]); } + let set; + try { + set = ranges.reduce(addRange, []); + set.sort(rangeSorter); + } + catch (ex) { + return fail(this, INVALID_KEY_ARGUMENT); + } + let rangePos = 0; + const keyIsBeyondCurrentEntry = includeUppers ? + key => ascending(key, set[rangePos][1]) > 0 : + key => ascending(key, set[rangePos][1]) >= 0; + const keyIsBeforeCurrentEntry = includeLowers ? + key => descending(key, set[rangePos][0]) > 0 : + key => descending(key, set[rangePos][0]) >= 0; + function keyWithinCurrentRange(key) { + return !keyIsBeyondCurrentEntry(key) && !keyIsBeforeCurrentEntry(key); + } + let checkKey = keyIsBeyondCurrentEntry; + const c = new this.Collection(this, () => createRange(set[0][0], set[set.length - 1][1], !includeLowers, !includeUppers)); + c._ondirectionchange = direction => { + if (direction === "next") { + checkKey = keyIsBeyondCurrentEntry; + sortDirection = ascending; + } + else { + checkKey = keyIsBeforeCurrentEntry; + sortDirection = descending; + } + set.sort(rangeSorter); + }; + c._addAlgorithm((cursor, advance, resolve) => { + var key = cursor.key; + while (checkKey(key)) { + ++rangePos; + if (rangePos === set.length) { + advance(resolve); + return false; + } + } + if (keyWithinCurrentRange(key)) { + return true; + } + else if (this._cmp(key, set[rangePos][1]) === 0 || this._cmp(key, set[rangePos][0]) === 0) { + return false; + } + else { + advance(() => { + if (sortDirection === ascending) + cursor.continue(set[rangePos][0]); + else + cursor.continue(set[rangePos][1]); + }); + return false; + } + }); + return c; + } + startsWithAnyOf() { + const set = getArrayOf.apply(NO_CHAR_ARRAY, arguments); + if (!set.every(s => typeof s === 'string')) { + return fail(this, "startsWithAnyOf() only works with strings"); + } + if (set.length === 0) + return emptyCollection(this); + return this.inAnyRange(set.map((str) => [str, str + maxString])); + } +} + +function createWhereClauseConstructor(db) { + return makeClassConstructor(WhereClause.prototype, function WhereClause(table, index, orCollection) { + this.db = db; + this._ctx = { + table: table, + index: index === ":id" ? null : index, + or: orCollection + }; + const indexedDB = db._deps.indexedDB; + if (!indexedDB) + throw new exceptions.MissingAPI(); + this._cmp = this._ascending = indexedDB.cmp.bind(indexedDB); + this._descending = (a, b) => indexedDB.cmp(b, a); + this._max = (a, b) => indexedDB.cmp(a, b) > 0 ? a : b; + this._min = (a, b) => indexedDB.cmp(a, b) < 0 ? a : b; + this._IDBKeyRange = db._deps.IDBKeyRange; + }); +} + +function eventRejectHandler(reject) { + return wrap(function (event) { + preventDefault(event); + reject(event.target.error); + return false; + }); +} +function preventDefault(event) { + if (event.stopPropagation) + event.stopPropagation(); + if (event.preventDefault) + event.preventDefault(); +} + +const DEXIE_STORAGE_MUTATED_EVENT_NAME = 'storagemutated'; +const STORAGE_MUTATED_DOM_EVENT_NAME = 'x-storagemutated-1'; +const globalEvents = Events(null, DEXIE_STORAGE_MUTATED_EVENT_NAME); + +class Transaction { + _lock() { + assert(!PSD.global); + ++this._reculock; + if (this._reculock === 1 && !PSD.global) + PSD.lockOwnerFor = this; + return this; + } + _unlock() { + assert(!PSD.global); + if (--this._reculock === 0) { + if (!PSD.global) + PSD.lockOwnerFor = null; + while (this._blockedFuncs.length > 0 && !this._locked()) { + var fnAndPSD = this._blockedFuncs.shift(); + try { + usePSD(fnAndPSD[1], fnAndPSD[0]); + } + catch (e) { } + } + } + return this; + } + _locked() { + return this._reculock && PSD.lockOwnerFor !== this; + } + create(idbtrans) { + if (!this.mode) + return this; + const idbdb = this.db.idbdb; + const dbOpenError = this.db._state.dbOpenError; + assert(!this.idbtrans); + if (!idbtrans && !idbdb) { + switch (dbOpenError && dbOpenError.name) { + case "DatabaseClosedError": + throw new exceptions.DatabaseClosed(dbOpenError); + case "MissingAPIError": + throw new exceptions.MissingAPI(dbOpenError.message, dbOpenError); + default: + throw new exceptions.OpenFailed(dbOpenError); + } + } + if (!this.active) + throw new exceptions.TransactionInactive(); + assert(this._completion._state === null); + idbtrans = this.idbtrans = idbtrans || + (this.db.core + ? this.db.core.transaction(this.storeNames, this.mode, { durability: this.chromeTransactionDurability }) + : idbdb.transaction(this.storeNames, this.mode, { durability: this.chromeTransactionDurability })); + idbtrans.onerror = wrap(ev => { + preventDefault(ev); + this._reject(idbtrans.error); + }); + idbtrans.onabort = wrap(ev => { + preventDefault(ev); + this.active && this._reject(new exceptions.Abort(idbtrans.error)); + this.active = false; + this.on("abort").fire(ev); + }); + idbtrans.oncomplete = wrap(() => { + this.active = false; + this._resolve(); + if ('mutatedParts' in idbtrans) { + globalEvents.storagemutated.fire(idbtrans["mutatedParts"]); + } + }); + return this; + } + _promise(mode, fn, bWriteLock) { + if (mode === 'readwrite' && this.mode !== 'readwrite') + return rejection(new exceptions.ReadOnly("Transaction is readonly")); + if (!this.active) + return rejection(new exceptions.TransactionInactive()); + if (this._locked()) { + return new DexiePromise((resolve, reject) => { + this._blockedFuncs.push([() => { + this._promise(mode, fn, bWriteLock).then(resolve, reject); + }, PSD]); + }); + } + else if (bWriteLock) { + return newScope(() => { + var p = new DexiePromise((resolve, reject) => { + this._lock(); + const rv = fn(resolve, reject, this); + if (rv && rv.then) + rv.then(resolve, reject); + }); + p.finally(() => this._unlock()); + p._lib = true; + return p; + }); + } + else { + var p = new DexiePromise((resolve, reject) => { + var rv = fn(resolve, reject, this); + if (rv && rv.then) + rv.then(resolve, reject); + }); + p._lib = true; + return p; + } + } + _root() { + return this.parent ? this.parent._root() : this; + } + waitFor(promiseLike) { + var root = this._root(); + const promise = DexiePromise.resolve(promiseLike); + if (root._waitingFor) { + root._waitingFor = root._waitingFor.then(() => promise); + } + else { + root._waitingFor = promise; + root._waitingQueue = []; + var store = root.idbtrans.objectStore(root.storeNames[0]); + (function spin() { + ++root._spinCount; + while (root._waitingQueue.length) + (root._waitingQueue.shift())(); + if (root._waitingFor) + store.get(-Infinity).onsuccess = spin; + }()); + } + var currentWaitPromise = root._waitingFor; + return new DexiePromise((resolve, reject) => { + promise.then(res => root._waitingQueue.push(wrap(resolve.bind(null, res))), err => root._waitingQueue.push(wrap(reject.bind(null, err)))).finally(() => { + if (root._waitingFor === currentWaitPromise) { + root._waitingFor = null; + } + }); + }); + } + abort() { + if (this.active) { + this.active = false; + if (this.idbtrans) + this.idbtrans.abort(); + this._reject(new exceptions.Abort()); + } + } + table(tableName) { + const memoizedTables = (this._memoizedTables || (this._memoizedTables = {})); + if (hasOwn(memoizedTables, tableName)) + return memoizedTables[tableName]; + const tableSchema = this.schema[tableName]; + if (!tableSchema) { + throw new exceptions.NotFound("Table " + tableName + " not part of transaction"); + } + const transactionBoundTable = new this.db.Table(tableName, tableSchema, this); + transactionBoundTable.core = this.db.core.table(tableName); + memoizedTables[tableName] = transactionBoundTable; + return transactionBoundTable; + } +} + +function createTransactionConstructor(db) { + return makeClassConstructor(Transaction.prototype, function Transaction(mode, storeNames, dbschema, chromeTransactionDurability, parent) { + this.db = db; + this.mode = mode; + this.storeNames = storeNames; + this.schema = dbschema; + this.chromeTransactionDurability = chromeTransactionDurability; + this.idbtrans = null; + this.on = Events(this, "complete", "error", "abort"); + this.parent = parent || null; + this.active = true; + this._reculock = 0; + this._blockedFuncs = []; + this._resolve = null; + this._reject = null; + this._waitingFor = null; + this._waitingQueue = null; + this._spinCount = 0; + this._completion = new DexiePromise((resolve, reject) => { + this._resolve = resolve; + this._reject = reject; + }); + this._completion.then(() => { + this.active = false; + this.on.complete.fire(); + }, e => { + var wasActive = this.active; + this.active = false; + this.on.error.fire(e); + this.parent ? + this.parent._reject(e) : + wasActive && this.idbtrans && this.idbtrans.abort(); + return rejection(e); + }); + }); +} + +function createIndexSpec(name, keyPath, unique, multi, auto, compound, isPrimKey) { + return { + name, + keyPath, + unique, + multi, + auto, + compound, + src: (unique && !isPrimKey ? '&' : '') + (multi ? '*' : '') + (auto ? "++" : "") + nameFromKeyPath(keyPath) + }; +} +function nameFromKeyPath(keyPath) { + return typeof keyPath === 'string' ? + keyPath : + keyPath ? ('[' + [].join.call(keyPath, '+') + ']') : ""; +} + +function createTableSchema(name, primKey, indexes) { + return { + name, + primKey, + indexes, + mappedClass: null, + idxByName: arrayToObject(indexes, index => [index.name, index]) + }; +} + +function safariMultiStoreFix(storeNames) { + return storeNames.length === 1 ? storeNames[0] : storeNames; +} +let getMaxKey = (IdbKeyRange) => { + try { + IdbKeyRange.only([[]]); + getMaxKey = () => [[]]; + return [[]]; + } + catch (e) { + getMaxKey = () => maxString; + return maxString; + } +}; + +function getKeyExtractor(keyPath) { + if (keyPath == null) { + return () => undefined; + } + else if (typeof keyPath === 'string') { + return getSinglePathKeyExtractor(keyPath); + } + else { + return obj => getByKeyPath(obj, keyPath); + } +} +function getSinglePathKeyExtractor(keyPath) { + const split = keyPath.split('.'); + if (split.length === 1) { + return obj => obj[keyPath]; + } + else { + return obj => getByKeyPath(obj, keyPath); + } +} + +function arrayify(arrayLike) { + return [].slice.call(arrayLike); +} +let _id_counter = 0; +function getKeyPathAlias(keyPath) { + return keyPath == null ? + ":id" : + typeof keyPath === 'string' ? + keyPath : + `[${keyPath.join('+')}]`; +} +function createDBCore(db, IdbKeyRange, tmpTrans) { + function extractSchema(db, trans) { + const tables = arrayify(db.objectStoreNames); + return { + schema: { + name: db.name, + tables: tables.map(table => trans.objectStore(table)).map(store => { + const { keyPath, autoIncrement } = store; + const compound = isArray(keyPath); + const outbound = keyPath == null; + const indexByKeyPath = {}; + const result = { + name: store.name, + primaryKey: { + name: null, + isPrimaryKey: true, + outbound, + compound, + keyPath, + autoIncrement, + unique: true, + extractKey: getKeyExtractor(keyPath) + }, + indexes: arrayify(store.indexNames).map(indexName => store.index(indexName)) + .map(index => { + const { name, unique, multiEntry, keyPath } = index; + const compound = isArray(keyPath); + const result = { + name, + compound, + keyPath, + unique, + multiEntry, + extractKey: getKeyExtractor(keyPath) + }; + indexByKeyPath[getKeyPathAlias(keyPath)] = result; + return result; + }), + getIndexByKeyPath: (keyPath) => indexByKeyPath[getKeyPathAlias(keyPath)] + }; + indexByKeyPath[":id"] = result.primaryKey; + if (keyPath != null) { + indexByKeyPath[getKeyPathAlias(keyPath)] = result.primaryKey; + } + return result; + }) + }, + hasGetAll: tables.length > 0 && ('getAll' in trans.objectStore(tables[0])) && + !(typeof navigator !== 'undefined' && /Safari/.test(navigator.userAgent) && + !/(Chrome\/|Edge\/)/.test(navigator.userAgent) && + [].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1] < 604) + }; + } + function makeIDBKeyRange(range) { + if (range.type === 3 ) + return null; + if (range.type === 4 ) + throw new Error("Cannot convert never type to IDBKeyRange"); + const { lower, upper, lowerOpen, upperOpen } = range; + const idbRange = lower === undefined ? + upper === undefined ? + null : + IdbKeyRange.upperBound(upper, !!upperOpen) : + upper === undefined ? + IdbKeyRange.lowerBound(lower, !!lowerOpen) : + IdbKeyRange.bound(lower, upper, !!lowerOpen, !!upperOpen); + return idbRange; + } + function createDbCoreTable(tableSchema) { + const tableName = tableSchema.name; + function mutate({ trans, type, keys, values, range }) { + return new Promise((resolve, reject) => { + resolve = wrap(resolve); + const store = trans.objectStore(tableName); + const outbound = store.keyPath == null; + const isAddOrPut = type === "put" || type === "add"; + if (!isAddOrPut && type !== 'delete' && type !== 'deleteRange') + throw new Error("Invalid operation type: " + type); + const { length } = keys || values || { length: 1 }; + if (keys && values && keys.length !== values.length) { + throw new Error("Given keys array must have same length as given values array."); + } + if (length === 0) + return resolve({ numFailures: 0, failures: {}, results: [], lastResult: undefined }); + let req; + const reqs = []; + const failures = []; + let numFailures = 0; + const errorHandler = event => { + ++numFailures; + preventDefault(event); + }; + if (type === 'deleteRange') { + if (range.type === 4 ) + return resolve({ numFailures, failures, results: [], lastResult: undefined }); + if (range.type === 3 ) + reqs.push(req = store.clear()); + else + reqs.push(req = store.delete(makeIDBKeyRange(range))); + } + else { + const [args1, args2] = isAddOrPut ? + outbound ? + [values, keys] : + [values, null] : + [keys, null]; + if (isAddOrPut) { + for (let i = 0; i < length; ++i) { + reqs.push(req = (args2 && args2[i] !== undefined ? + store[type](args1[i], args2[i]) : + store[type](args1[i]))); + req.onerror = errorHandler; + } + } + else { + for (let i = 0; i < length; ++i) { + reqs.push(req = store[type](args1[i])); + req.onerror = errorHandler; + } + } + } + const done = event => { + const lastResult = event.target.result; + reqs.forEach((req, i) => req.error != null && (failures[i] = req.error)); + resolve({ + numFailures, + failures, + results: type === "delete" ? keys : reqs.map(req => req.result), + lastResult + }); + }; + req.onerror = event => { + errorHandler(event); + done(event); + }; + req.onsuccess = done; + }); + } + function openCursor({ trans, values, query, reverse, unique }) { + return new Promise((resolve, reject) => { + resolve = wrap(resolve); + const { index, range } = query; + const store = trans.objectStore(tableName); + const source = index.isPrimaryKey ? + store : + store.index(index.name); + const direction = reverse ? + unique ? + "prevunique" : + "prev" : + unique ? + "nextunique" : + "next"; + const req = values || !('openKeyCursor' in source) ? + source.openCursor(makeIDBKeyRange(range), direction) : + source.openKeyCursor(makeIDBKeyRange(range), direction); + req.onerror = eventRejectHandler(reject); + req.onsuccess = wrap(ev => { + const cursor = req.result; + if (!cursor) { + resolve(null); + return; + } + cursor.___id = ++_id_counter; + cursor.done = false; + const _cursorContinue = cursor.continue.bind(cursor); + let _cursorContinuePrimaryKey = cursor.continuePrimaryKey; + if (_cursorContinuePrimaryKey) + _cursorContinuePrimaryKey = _cursorContinuePrimaryKey.bind(cursor); + const _cursorAdvance = cursor.advance.bind(cursor); + const doThrowCursorIsNotStarted = () => { throw new Error("Cursor not started"); }; + const doThrowCursorIsStopped = () => { throw new Error("Cursor not stopped"); }; + cursor.trans = trans; + cursor.stop = cursor.continue = cursor.continuePrimaryKey = cursor.advance = doThrowCursorIsNotStarted; + cursor.fail = wrap(reject); + cursor.next = function () { + let gotOne = 1; + return this.start(() => gotOne-- ? this.continue() : this.stop()).then(() => this); + }; + cursor.start = (callback) => { + const iterationPromise = new Promise((resolveIteration, rejectIteration) => { + resolveIteration = wrap(resolveIteration); + req.onerror = eventRejectHandler(rejectIteration); + cursor.fail = rejectIteration; + cursor.stop = value => { + cursor.stop = cursor.continue = cursor.continuePrimaryKey = cursor.advance = doThrowCursorIsStopped; + resolveIteration(value); + }; + }); + const guardedCallback = () => { + if (req.result) { + try { + callback(); + } + catch (err) { + cursor.fail(err); + } + } + else { + cursor.done = true; + cursor.start = () => { throw new Error("Cursor behind last entry"); }; + cursor.stop(); + } + }; + req.onsuccess = wrap(ev => { + req.onsuccess = guardedCallback; + guardedCallback(); + }); + cursor.continue = _cursorContinue; + cursor.continuePrimaryKey = _cursorContinuePrimaryKey; + cursor.advance = _cursorAdvance; + guardedCallback(); + return iterationPromise; + }; + resolve(cursor); + }, reject); + }); + } + function query(hasGetAll) { + return (request) => { + return new Promise((resolve, reject) => { + resolve = wrap(resolve); + const { trans, values, limit, query } = request; + const nonInfinitLimit = limit === Infinity ? undefined : limit; + const { index, range } = query; + const store = trans.objectStore(tableName); + const source = index.isPrimaryKey ? store : store.index(index.name); + const idbKeyRange = makeIDBKeyRange(range); + if (limit === 0) + return resolve({ result: [] }); + if (hasGetAll) { + const req = values ? + source.getAll(idbKeyRange, nonInfinitLimit) : + source.getAllKeys(idbKeyRange, nonInfinitLimit); + req.onsuccess = event => resolve({ result: event.target.result }); + req.onerror = eventRejectHandler(reject); + } + else { + let count = 0; + const req = values || !('openKeyCursor' in source) ? + source.openCursor(idbKeyRange) : + source.openKeyCursor(idbKeyRange); + const result = []; + req.onsuccess = event => { + const cursor = req.result; + if (!cursor) + return resolve({ result }); + result.push(values ? cursor.value : cursor.primaryKey); + if (++count === limit) + return resolve({ result }); + cursor.continue(); + }; + req.onerror = eventRejectHandler(reject); + } + }); + }; + } + return { + name: tableName, + schema: tableSchema, + mutate, + getMany({ trans, keys }) { + return new Promise((resolve, reject) => { + resolve = wrap(resolve); + const store = trans.objectStore(tableName); + const length = keys.length; + const result = new Array(length); + let keyCount = 0; + let callbackCount = 0; + let req; + const successHandler = event => { + const req = event.target; + if ((result[req._pos] = req.result) != null) + ; + if (++callbackCount === keyCount) + resolve(result); + }; + const errorHandler = eventRejectHandler(reject); + for (let i = 0; i < length; ++i) { + const key = keys[i]; + if (key != null) { + req = store.get(keys[i]); + req._pos = i; + req.onsuccess = successHandler; + req.onerror = errorHandler; + ++keyCount; + } + } + if (keyCount === 0) + resolve(result); + }); + }, + get({ trans, key }) { + return new Promise((resolve, reject) => { + resolve = wrap(resolve); + const store = trans.objectStore(tableName); + const req = store.get(key); + req.onsuccess = event => resolve(event.target.result); + req.onerror = eventRejectHandler(reject); + }); + }, + query: query(hasGetAll), + openCursor, + count({ query, trans }) { + const { index, range } = query; + return new Promise((resolve, reject) => { + const store = trans.objectStore(tableName); + const source = index.isPrimaryKey ? store : store.index(index.name); + const idbKeyRange = makeIDBKeyRange(range); + const req = idbKeyRange ? source.count(idbKeyRange) : source.count(); + req.onsuccess = wrap(ev => resolve(ev.target.result)); + req.onerror = eventRejectHandler(reject); + }); + } + }; + } + const { schema, hasGetAll } = extractSchema(db, tmpTrans); + const tables = schema.tables.map(tableSchema => createDbCoreTable(tableSchema)); + const tableMap = {}; + tables.forEach(table => tableMap[table.name] = table); + return { + stack: "dbcore", + transaction: db.transaction.bind(db), + table(name) { + const result = tableMap[name]; + if (!result) + throw new Error(`Table '${name}' not found`); + return tableMap[name]; + }, + MIN_KEY: -Infinity, + MAX_KEY: getMaxKey(IdbKeyRange), + schema + }; +} + +function createMiddlewareStack(stackImpl, middlewares) { + return middlewares.reduce((down, { create }) => ({ ...down, ...create(down) }), stackImpl); +} +function createMiddlewareStacks(middlewares, idbdb, { IDBKeyRange, indexedDB }, tmpTrans) { + const dbcore = createMiddlewareStack(createDBCore(idbdb, IDBKeyRange, tmpTrans), middlewares.dbcore); + return { + dbcore + }; +} +function generateMiddlewareStacks({ _novip: db }, tmpTrans) { + const idbdb = tmpTrans.db; + const stacks = createMiddlewareStacks(db._middlewares, idbdb, db._deps, tmpTrans); + db.core = stacks.dbcore; + db.tables.forEach(table => { + const tableName = table.name; + if (db.core.schema.tables.some(tbl => tbl.name === tableName)) { + table.core = db.core.table(tableName); + if (db[tableName] instanceof db.Table) { + db[tableName].core = table.core; + } + } + }); +} + +function setApiOnPlace({ _novip: db }, objs, tableNames, dbschema) { + tableNames.forEach(tableName => { + const schema = dbschema[tableName]; + objs.forEach(obj => { + const propDesc = getPropertyDescriptor(obj, tableName); + if (!propDesc || ("value" in propDesc && propDesc.value === undefined)) { + if (obj === db.Transaction.prototype || obj instanceof db.Transaction) { + setProp(obj, tableName, { + get() { return this.table(tableName); }, + set(value) { + defineProperty(this, tableName, { value, writable: true, configurable: true, enumerable: true }); + } + }); + } + else { + obj[tableName] = new db.Table(tableName, schema); + } + } + }); + }); +} +function removeTablesApi({ _novip: db }, objs) { + objs.forEach(obj => { + for (let key in obj) { + if (obj[key] instanceof db.Table) + delete obj[key]; + } + }); +} +function lowerVersionFirst(a, b) { + return a._cfg.version - b._cfg.version; +} +function runUpgraders(db, oldVersion, idbUpgradeTrans, reject) { + const globalSchema = db._dbSchema; + const trans = db._createTransaction('readwrite', db._storeNames, globalSchema); + trans.create(idbUpgradeTrans); + trans._completion.catch(reject); + const rejectTransaction = trans._reject.bind(trans); + const transless = PSD.transless || PSD; + newScope(() => { + PSD.trans = trans; + PSD.transless = transless; + if (oldVersion === 0) { + keys(globalSchema).forEach(tableName => { + createTable(idbUpgradeTrans, tableName, globalSchema[tableName].primKey, globalSchema[tableName].indexes); + }); + generateMiddlewareStacks(db, idbUpgradeTrans); + DexiePromise.follow(() => db.on.populate.fire(trans)).catch(rejectTransaction); + } + else + updateTablesAndIndexes(db, oldVersion, trans, idbUpgradeTrans).catch(rejectTransaction); + }); +} +function updateTablesAndIndexes({ _novip: db }, oldVersion, trans, idbUpgradeTrans) { + const queue = []; + const versions = db._versions; + let globalSchema = db._dbSchema = buildGlobalSchema(db, db.idbdb, idbUpgradeTrans); + let anyContentUpgraderHasRun = false; + const versToRun = versions.filter(v => v._cfg.version >= oldVersion); + versToRun.forEach(version => { + queue.push(() => { + const oldSchema = globalSchema; + const newSchema = version._cfg.dbschema; + adjustToExistingIndexNames(db, oldSchema, idbUpgradeTrans); + adjustToExistingIndexNames(db, newSchema, idbUpgradeTrans); + globalSchema = db._dbSchema = newSchema; + const diff = getSchemaDiff(oldSchema, newSchema); + diff.add.forEach(tuple => { + createTable(idbUpgradeTrans, tuple[0], tuple[1].primKey, tuple[1].indexes); + }); + diff.change.forEach(change => { + if (change.recreate) { + throw new exceptions.Upgrade("Not yet support for changing primary key"); + } + else { + const store = idbUpgradeTrans.objectStore(change.name); + change.add.forEach(idx => addIndex(store, idx)); + change.change.forEach(idx => { + store.deleteIndex(idx.name); + addIndex(store, idx); + }); + change.del.forEach(idxName => store.deleteIndex(idxName)); + } + }); + const contentUpgrade = version._cfg.contentUpgrade; + if (contentUpgrade && version._cfg.version > oldVersion) { + generateMiddlewareStacks(db, idbUpgradeTrans); + trans._memoizedTables = {}; + anyContentUpgraderHasRun = true; + let upgradeSchema = shallowClone(newSchema); + diff.del.forEach(table => { + upgradeSchema[table] = oldSchema[table]; + }); + removeTablesApi(db, [db.Transaction.prototype]); + setApiOnPlace(db, [db.Transaction.prototype], keys(upgradeSchema), upgradeSchema); + trans.schema = upgradeSchema; + const contentUpgradeIsAsync = isAsyncFunction(contentUpgrade); + if (contentUpgradeIsAsync) { + incrementExpectedAwaits(); + } + let returnValue; + const promiseFollowed = DexiePromise.follow(() => { + returnValue = contentUpgrade(trans); + if (returnValue) { + if (contentUpgradeIsAsync) { + var decrementor = decrementExpectedAwaits.bind(null, null); + returnValue.then(decrementor, decrementor); + } + } + }); + return (returnValue && typeof returnValue.then === 'function' ? + DexiePromise.resolve(returnValue) : promiseFollowed.then(() => returnValue)); + } + }); + queue.push(idbtrans => { + if (!anyContentUpgraderHasRun || !hasIEDeleteObjectStoreBug) { + const newSchema = version._cfg.dbschema; + deleteRemovedTables(newSchema, idbtrans); + } + removeTablesApi(db, [db.Transaction.prototype]); + setApiOnPlace(db, [db.Transaction.prototype], db._storeNames, db._dbSchema); + trans.schema = db._dbSchema; + }); + }); + function runQueue() { + return queue.length ? DexiePromise.resolve(queue.shift()(trans.idbtrans)).then(runQueue) : + DexiePromise.resolve(); + } + return runQueue().then(() => { + createMissingTables(globalSchema, idbUpgradeTrans); + }); +} +function getSchemaDiff(oldSchema, newSchema) { + const diff = { + del: [], + add: [], + change: [] + }; + let table; + for (table in oldSchema) { + if (!newSchema[table]) + diff.del.push(table); + } + for (table in newSchema) { + const oldDef = oldSchema[table], newDef = newSchema[table]; + if (!oldDef) { + diff.add.push([table, newDef]); + } + else { + const change = { + name: table, + def: newDef, + recreate: false, + del: [], + add: [], + change: [] + }; + if (( + '' + (oldDef.primKey.keyPath || '')) !== ('' + (newDef.primKey.keyPath || '')) || + (oldDef.primKey.auto !== newDef.primKey.auto && !isIEOrEdge)) + { + change.recreate = true; + diff.change.push(change); + } + else { + const oldIndexes = oldDef.idxByName; + const newIndexes = newDef.idxByName; + let idxName; + for (idxName in oldIndexes) { + if (!newIndexes[idxName]) + change.del.push(idxName); + } + for (idxName in newIndexes) { + const oldIdx = oldIndexes[idxName], newIdx = newIndexes[idxName]; + if (!oldIdx) + change.add.push(newIdx); + else if (oldIdx.src !== newIdx.src) + change.change.push(newIdx); + } + if (change.del.length > 0 || change.add.length > 0 || change.change.length > 0) { + diff.change.push(change); + } + } + } + } + return diff; +} +function createTable(idbtrans, tableName, primKey, indexes) { + const store = idbtrans.db.createObjectStore(tableName, primKey.keyPath ? + { keyPath: primKey.keyPath, autoIncrement: primKey.auto } : + { autoIncrement: primKey.auto }); + indexes.forEach(idx => addIndex(store, idx)); + return store; +} +function createMissingTables(newSchema, idbtrans) { + keys(newSchema).forEach(tableName => { + if (!idbtrans.db.objectStoreNames.contains(tableName)) { + createTable(idbtrans, tableName, newSchema[tableName].primKey, newSchema[tableName].indexes); + } + }); +} +function deleteRemovedTables(newSchema, idbtrans) { + [].slice.call(idbtrans.db.objectStoreNames).forEach(storeName => newSchema[storeName] == null && idbtrans.db.deleteObjectStore(storeName)); +} +function addIndex(store, idx) { + store.createIndex(idx.name, idx.keyPath, { unique: idx.unique, multiEntry: idx.multi }); +} +function buildGlobalSchema(db, idbdb, tmpTrans) { + const globalSchema = {}; + const dbStoreNames = slice(idbdb.objectStoreNames, 0); + dbStoreNames.forEach(storeName => { + const store = tmpTrans.objectStore(storeName); + let keyPath = store.keyPath; + const primKey = createIndexSpec(nameFromKeyPath(keyPath), keyPath || "", false, false, !!store.autoIncrement, keyPath && typeof keyPath !== "string", true); + const indexes = []; + for (let j = 0; j < store.indexNames.length; ++j) { + const idbindex = store.index(store.indexNames[j]); + keyPath = idbindex.keyPath; + var index = createIndexSpec(idbindex.name, keyPath, !!idbindex.unique, !!idbindex.multiEntry, false, keyPath && typeof keyPath !== "string", false); + indexes.push(index); + } + globalSchema[storeName] = createTableSchema(storeName, primKey, indexes); + }); + return globalSchema; +} +function readGlobalSchema({ _novip: db }, idbdb, tmpTrans) { + db.verno = idbdb.version / 10; + const globalSchema = db._dbSchema = buildGlobalSchema(db, idbdb, tmpTrans); + db._storeNames = slice(idbdb.objectStoreNames, 0); + setApiOnPlace(db, [db._allTables], keys(globalSchema), globalSchema); +} +function verifyInstalledSchema(db, tmpTrans) { + const installedSchema = buildGlobalSchema(db, db.idbdb, tmpTrans); + const diff = getSchemaDiff(installedSchema, db._dbSchema); + return !(diff.add.length || diff.change.some(ch => ch.add.length || ch.change.length)); +} +function adjustToExistingIndexNames({ _novip: db }, schema, idbtrans) { + const storeNames = idbtrans.db.objectStoreNames; + for (let i = 0; i < storeNames.length; ++i) { + const storeName = storeNames[i]; + const store = idbtrans.objectStore(storeName); + db._hasGetAll = 'getAll' in store; + for (let j = 0; j < store.indexNames.length; ++j) { + const indexName = store.indexNames[j]; + const keyPath = store.index(indexName).keyPath; + const dexieName = typeof keyPath === 'string' ? keyPath : "[" + slice(keyPath).join('+') + "]"; + if (schema[storeName]) { + const indexSpec = schema[storeName].idxByName[dexieName]; + if (indexSpec) { + indexSpec.name = indexName; + delete schema[storeName].idxByName[dexieName]; + schema[storeName].idxByName[indexName] = indexSpec; + } + } + } + } + if (typeof navigator !== 'undefined' && /Safari/.test(navigator.userAgent) && + !/(Chrome\/|Edge\/)/.test(navigator.userAgent) && + _global.WorkerGlobalScope && _global instanceof _global.WorkerGlobalScope && + [].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1] < 604) { + db._hasGetAll = false; + } +} +function parseIndexSyntax(primKeyAndIndexes) { + return primKeyAndIndexes.split(',').map((index, indexNum) => { + index = index.trim(); + const name = index.replace(/([&*]|\+\+)/g, ""); + const keyPath = /^\[/.test(name) ? name.match(/^\[(.*)\]$/)[1].split('+') : name; + return createIndexSpec(name, keyPath || null, /\&/.test(index), /\*/.test(index), /\+\+/.test(index), isArray(keyPath), indexNum === 0); + }); +} + +class Version { + _parseStoresSpec(stores, outSchema) { + keys(stores).forEach(tableName => { + if (stores[tableName] !== null) { + var indexes = parseIndexSyntax(stores[tableName]); + var primKey = indexes.shift(); + if (primKey.multi) + throw new exceptions.Schema("Primary key cannot be multi-valued"); + indexes.forEach(idx => { + if (idx.auto) + throw new exceptions.Schema("Only primary key can be marked as autoIncrement (++)"); + if (!idx.keyPath) + throw new exceptions.Schema("Index must have a name and cannot be an empty string"); + }); + outSchema[tableName] = createTableSchema(tableName, primKey, indexes); + } + }); + } + stores(stores) { + const db = this.db; + this._cfg.storesSource = this._cfg.storesSource ? + extend(this._cfg.storesSource, stores) : + stores; + const versions = db._versions; + const storesSpec = {}; + let dbschema = {}; + versions.forEach(version => { + extend(storesSpec, version._cfg.storesSource); + dbschema = (version._cfg.dbschema = {}); + version._parseStoresSpec(storesSpec, dbschema); + }); + db._dbSchema = dbschema; + removeTablesApi(db, [db._allTables, db, db.Transaction.prototype]); + setApiOnPlace(db, [db._allTables, db, db.Transaction.prototype, this._cfg.tables], keys(dbschema), dbschema); + db._storeNames = keys(dbschema); + return this; + } + upgrade(upgradeFunction) { + this._cfg.contentUpgrade = promisableChain(this._cfg.contentUpgrade || nop, upgradeFunction); + return this; + } +} + +function createVersionConstructor(db) { + return makeClassConstructor(Version.prototype, function Version(versionNumber) { + this.db = db; + this._cfg = { + version: versionNumber, + storesSource: null, + dbschema: {}, + tables: {}, + contentUpgrade: null + }; + }); +} + +function getDbNamesTable(indexedDB, IDBKeyRange) { + let dbNamesDB = indexedDB["_dbNamesDB"]; + if (!dbNamesDB) { + dbNamesDB = indexedDB["_dbNamesDB"] = new Dexie$1(DBNAMES_DB, { + addons: [], + indexedDB, + IDBKeyRange, + }); + dbNamesDB.version(1).stores({ dbnames: "name" }); + } + return dbNamesDB.table("dbnames"); +} +function hasDatabasesNative(indexedDB) { + return indexedDB && typeof indexedDB.databases === "function"; +} +function getDatabaseNames({ indexedDB, IDBKeyRange, }) { + return hasDatabasesNative(indexedDB) + ? Promise.resolve(indexedDB.databases()).then((infos) => infos + .map((info) => info.name) + .filter((name) => name !== DBNAMES_DB)) + : getDbNamesTable(indexedDB, IDBKeyRange).toCollection().primaryKeys(); +} +function _onDatabaseCreated({ indexedDB, IDBKeyRange }, name) { + !hasDatabasesNative(indexedDB) && + name !== DBNAMES_DB && + getDbNamesTable(indexedDB, IDBKeyRange).put({ name }).catch(nop); +} +function _onDatabaseDeleted({ indexedDB, IDBKeyRange }, name) { + !hasDatabasesNative(indexedDB) && + name !== DBNAMES_DB && + getDbNamesTable(indexedDB, IDBKeyRange).delete(name).catch(nop); +} + +function vip(fn) { + return newScope(function () { + PSD.letThrough = true; + return fn(); + }); +} + +function idbReady() { + var isSafari = !navigator.userAgentData && + /Safari\//.test(navigator.userAgent) && + !/Chrom(e|ium)\//.test(navigator.userAgent); + if (!isSafari || !indexedDB.databases) + return Promise.resolve(); + var intervalId; + return new Promise(function (resolve) { + var tryIdb = function () { return indexedDB.databases().finally(resolve); }; + intervalId = setInterval(tryIdb, 100); + tryIdb(); + }).finally(function () { return clearInterval(intervalId); }); +} + +function dexieOpen(db) { + const state = db._state; + const { indexedDB } = db._deps; + if (state.isBeingOpened || db.idbdb) + return state.dbReadyPromise.then(() => state.dbOpenError ? + rejection(state.dbOpenError) : + db); + debug && (state.openCanceller._stackHolder = getErrorWithStack()); + state.isBeingOpened = true; + state.dbOpenError = null; + state.openComplete = false; + const openCanceller = state.openCanceller; + function throwIfCancelled() { + if (state.openCanceller !== openCanceller) + throw new exceptions.DatabaseClosed('db.open() was cancelled'); + } + let resolveDbReady = state.dbReadyResolve, + upgradeTransaction = null, wasCreated = false; + return DexiePromise.race([openCanceller, (typeof navigator === 'undefined' ? DexiePromise.resolve() : idbReady()).then(() => new DexiePromise((resolve, reject) => { + throwIfCancelled(); + if (!indexedDB) + throw new exceptions.MissingAPI(); + const dbName = db.name; + const req = state.autoSchema ? + indexedDB.open(dbName) : + indexedDB.open(dbName, Math.round(db.verno * 10)); + if (!req) + throw new exceptions.MissingAPI(); + req.onerror = eventRejectHandler(reject); + req.onblocked = wrap(db._fireOnBlocked); + req.onupgradeneeded = wrap(e => { + upgradeTransaction = req.transaction; + if (state.autoSchema && !db._options.allowEmptyDB) { + req.onerror = preventDefault; + upgradeTransaction.abort(); + req.result.close(); + const delreq = indexedDB.deleteDatabase(dbName); + delreq.onsuccess = delreq.onerror = wrap(() => { + reject(new exceptions.NoSuchDatabase(`Database ${dbName} doesnt exist`)); + }); + } + else { + upgradeTransaction.onerror = eventRejectHandler(reject); + var oldVer = e.oldVersion > Math.pow(2, 62) ? 0 : e.oldVersion; + wasCreated = oldVer < 1; + db._novip.idbdb = req.result; + runUpgraders(db, oldVer / 10, upgradeTransaction, reject); + } + }, reject); + req.onsuccess = wrap(() => { + upgradeTransaction = null; + const idbdb = db._novip.idbdb = req.result; + const objectStoreNames = slice(idbdb.objectStoreNames); + if (objectStoreNames.length > 0) + try { + const tmpTrans = idbdb.transaction(safariMultiStoreFix(objectStoreNames), 'readonly'); + if (state.autoSchema) + readGlobalSchema(db, idbdb, tmpTrans); + else { + adjustToExistingIndexNames(db, db._dbSchema, tmpTrans); + if (!verifyInstalledSchema(db, tmpTrans)) { + console.warn(`Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.`); + } + } + generateMiddlewareStacks(db, tmpTrans); + } + catch (e) { + } + connections.push(db); + idbdb.onversionchange = wrap(ev => { + state.vcFired = true; + db.on("versionchange").fire(ev); + }); + idbdb.onclose = wrap(ev => { + db.on("close").fire(ev); + }); + if (wasCreated) + _onDatabaseCreated(db._deps, dbName); + resolve(); + }, reject); + }))]).then(() => { + throwIfCancelled(); + state.onReadyBeingFired = []; + return DexiePromise.resolve(vip(() => db.on.ready.fire(db.vip))).then(function fireRemainders() { + if (state.onReadyBeingFired.length > 0) { + let remainders = state.onReadyBeingFired.reduce(promisableChain, nop); + state.onReadyBeingFired = []; + return DexiePromise.resolve(vip(() => remainders(db.vip))).then(fireRemainders); + } + }); + }).finally(() => { + state.onReadyBeingFired = null; + state.isBeingOpened = false; + }).then(() => { + return db; + }).catch(err => { + state.dbOpenError = err; + try { + upgradeTransaction && upgradeTransaction.abort(); + } + catch (_a) { } + if (openCanceller === state.openCanceller) { + db._close(); + } + return rejection(err); + }).finally(() => { + state.openComplete = true; + resolveDbReady(); + }); +} + +function awaitIterator(iterator) { + var callNext = result => iterator.next(result), doThrow = error => iterator.throw(error), onSuccess = step(callNext), onError = step(doThrow); + function step(getNext) { + return (val) => { + var next = getNext(val), value = next.value; + return next.done ? value : + (!value || typeof value.then !== 'function' ? + isArray(value) ? Promise.all(value).then(onSuccess, onError) : onSuccess(value) : + value.then(onSuccess, onError)); + }; + } + return step(callNext)(); +} + +function extractTransactionArgs(mode, _tableArgs_, scopeFunc) { + var i = arguments.length; + if (i < 2) + throw new exceptions.InvalidArgument("Too few arguments"); + var args = new Array(i - 1); + while (--i) + args[i - 1] = arguments[i]; + scopeFunc = args.pop(); + var tables = flatten(args); + return [mode, tables, scopeFunc]; +} +function enterTransactionScope(db, mode, storeNames, parentTransaction, scopeFunc) { + return DexiePromise.resolve().then(() => { + const transless = PSD.transless || PSD; + const trans = db._createTransaction(mode, storeNames, db._dbSchema, parentTransaction); + const zoneProps = { + trans: trans, + transless: transless + }; + if (parentTransaction) { + trans.idbtrans = parentTransaction.idbtrans; + } + else { + try { + trans.create(); + db._state.PR1398_maxLoop = 3; + } + catch (ex) { + if (ex.name === errnames.InvalidState && db.isOpen() && --db._state.PR1398_maxLoop > 0) { + console.warn('Dexie: Need to reopen db'); + db._close(); + return db.open().then(() => enterTransactionScope(db, mode, storeNames, null, scopeFunc)); + } + return rejection(ex); + } + } + const scopeFuncIsAsync = isAsyncFunction(scopeFunc); + if (scopeFuncIsAsync) { + incrementExpectedAwaits(); + } + let returnValue; + const promiseFollowed = DexiePromise.follow(() => { + returnValue = scopeFunc.call(trans, trans); + if (returnValue) { + if (scopeFuncIsAsync) { + var decrementor = decrementExpectedAwaits.bind(null, null); + returnValue.then(decrementor, decrementor); + } + else if (typeof returnValue.next === 'function' && typeof returnValue.throw === 'function') { + returnValue = awaitIterator(returnValue); + } + } + }, zoneProps); + return (returnValue && typeof returnValue.then === 'function' ? + DexiePromise.resolve(returnValue).then(x => trans.active ? + x + : rejection(new exceptions.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))) + : promiseFollowed.then(() => returnValue)).then(x => { + if (parentTransaction) + trans._resolve(); + return trans._completion.then(() => x); + }).catch(e => { + trans._reject(e); + return rejection(e); + }); + }); +} + +function pad(a, value, count) { + const result = isArray(a) ? a.slice() : [a]; + for (let i = 0; i < count; ++i) + result.push(value); + return result; +} +function createVirtualIndexMiddleware(down) { + return { + ...down, + table(tableName) { + const table = down.table(tableName); + const { schema } = table; + const indexLookup = {}; + const allVirtualIndexes = []; + function addVirtualIndexes(keyPath, keyTail, lowLevelIndex) { + const keyPathAlias = getKeyPathAlias(keyPath); + const indexList = (indexLookup[keyPathAlias] = indexLookup[keyPathAlias] || []); + const keyLength = keyPath == null ? 0 : typeof keyPath === 'string' ? 1 : keyPath.length; + const isVirtual = keyTail > 0; + const virtualIndex = { + ...lowLevelIndex, + isVirtual, + keyTail, + keyLength, + extractKey: getKeyExtractor(keyPath), + unique: !isVirtual && lowLevelIndex.unique + }; + indexList.push(virtualIndex); + if (!virtualIndex.isPrimaryKey) { + allVirtualIndexes.push(virtualIndex); + } + if (keyLength > 1) { + const virtualKeyPath = keyLength === 2 ? + keyPath[0] : + keyPath.slice(0, keyLength - 1); + addVirtualIndexes(virtualKeyPath, keyTail + 1, lowLevelIndex); + } + indexList.sort((a, b) => a.keyTail - b.keyTail); + return virtualIndex; + } + const primaryKey = addVirtualIndexes(schema.primaryKey.keyPath, 0, schema.primaryKey); + indexLookup[":id"] = [primaryKey]; + for (const index of schema.indexes) { + addVirtualIndexes(index.keyPath, 0, index); + } + function findBestIndex(keyPath) { + const result = indexLookup[getKeyPathAlias(keyPath)]; + return result && result[0]; + } + function translateRange(range, keyTail) { + return { + type: range.type === 1 ? + 2 : + range.type, + lower: pad(range.lower, range.lowerOpen ? down.MAX_KEY : down.MIN_KEY, keyTail), + lowerOpen: true, + upper: pad(range.upper, range.upperOpen ? down.MIN_KEY : down.MAX_KEY, keyTail), + upperOpen: true + }; + } + function translateRequest(req) { + const index = req.query.index; + return index.isVirtual ? { + ...req, + query: { + index, + range: translateRange(req.query.range, index.keyTail) + } + } : req; + } + const result = { + ...table, + schema: { + ...schema, + primaryKey, + indexes: allVirtualIndexes, + getIndexByKeyPath: findBestIndex + }, + count(req) { + return table.count(translateRequest(req)); + }, + query(req) { + return table.query(translateRequest(req)); + }, + openCursor(req) { + const { keyTail, isVirtual, keyLength } = req.query.index; + if (!isVirtual) + return table.openCursor(req); + function createVirtualCursor(cursor) { + function _continue(key) { + key != null ? + cursor.continue(pad(key, req.reverse ? down.MAX_KEY : down.MIN_KEY, keyTail)) : + req.unique ? + cursor.continue(cursor.key.slice(0, keyLength) + .concat(req.reverse + ? down.MIN_KEY + : down.MAX_KEY, keyTail)) : + cursor.continue(); + } + const virtualCursor = Object.create(cursor, { + continue: { value: _continue }, + continuePrimaryKey: { + value(key, primaryKey) { + cursor.continuePrimaryKey(pad(key, down.MAX_KEY, keyTail), primaryKey); + } + }, + primaryKey: { + get() { + return cursor.primaryKey; + } + }, + key: { + get() { + const key = cursor.key; + return keyLength === 1 ? + key[0] : + key.slice(0, keyLength); + } + }, + value: { + get() { + return cursor.value; + } + } + }); + return virtualCursor; + } + return table.openCursor(translateRequest(req)) + .then(cursor => cursor && createVirtualCursor(cursor)); + } + }; + return result; + } + }; +} +const virtualIndexMiddleware = { + stack: "dbcore", + name: "VirtualIndexMiddleware", + level: 1, + create: createVirtualIndexMiddleware +}; + +function getObjectDiff(a, b, rv, prfx) { + rv = rv || {}; + prfx = prfx || ''; + keys(a).forEach((prop) => { + if (!hasOwn(b, prop)) { + rv[prfx + prop] = undefined; + } + else { + var ap = a[prop], bp = b[prop]; + if (typeof ap === 'object' && typeof bp === 'object' && ap && bp) { + const apTypeName = toStringTag(ap); + const bpTypeName = toStringTag(bp); + if (apTypeName !== bpTypeName) { + rv[prfx + prop] = b[prop]; + } + else if (apTypeName === 'Object') { + getObjectDiff(ap, bp, rv, prfx + prop + '.'); + } + else if (ap !== bp) { + rv[prfx + prop] = b[prop]; + } + } + else if (ap !== bp) + rv[prfx + prop] = b[prop]; + } + }); + keys(b).forEach((prop) => { + if (!hasOwn(a, prop)) { + rv[prfx + prop] = b[prop]; + } + }); + return rv; +} + +function getEffectiveKeys(primaryKey, req) { + if (req.type === 'delete') + return req.keys; + return req.keys || req.values.map(primaryKey.extractKey); +} + +const hooksMiddleware = { + stack: "dbcore", + name: "HooksMiddleware", + level: 2, + create: (downCore) => ({ + ...downCore, + table(tableName) { + const downTable = downCore.table(tableName); + const { primaryKey } = downTable.schema; + const tableMiddleware = { + ...downTable, + mutate(req) { + const dxTrans = PSD.trans; + const { deleting, creating, updating } = dxTrans.table(tableName).hook; + switch (req.type) { + case 'add': + if (creating.fire === nop) + break; + return dxTrans._promise('readwrite', () => addPutOrDelete(req), true); + case 'put': + if (creating.fire === nop && updating.fire === nop) + break; + return dxTrans._promise('readwrite', () => addPutOrDelete(req), true); + case 'delete': + if (deleting.fire === nop) + break; + return dxTrans._promise('readwrite', () => addPutOrDelete(req), true); + case 'deleteRange': + if (deleting.fire === nop) + break; + return dxTrans._promise('readwrite', () => deleteRange(req), true); + } + return downTable.mutate(req); + function addPutOrDelete(req) { + const dxTrans = PSD.trans; + const keys = req.keys || getEffectiveKeys(primaryKey, req); + if (!keys) + throw new Error("Keys missing"); + req = req.type === 'add' || req.type === 'put' ? + { ...req, keys } : + { ...req }; + if (req.type !== 'delete') + req.values = [...req.values]; + if (req.keys) + req.keys = [...req.keys]; + return getExistingValues(downTable, req, keys).then(existingValues => { + const contexts = keys.map((key, i) => { + const existingValue = existingValues[i]; + const ctx = { onerror: null, onsuccess: null }; + if (req.type === 'delete') { + deleting.fire.call(ctx, key, existingValue, dxTrans); + } + else if (req.type === 'add' || existingValue === undefined) { + const generatedPrimaryKey = creating.fire.call(ctx, key, req.values[i], dxTrans); + if (key == null && generatedPrimaryKey != null) { + key = generatedPrimaryKey; + req.keys[i] = key; + if (!primaryKey.outbound) { + setByKeyPath(req.values[i], primaryKey.keyPath, key); + } + } + } + else { + const objectDiff = getObjectDiff(existingValue, req.values[i]); + const additionalChanges = updating.fire.call(ctx, objectDiff, key, existingValue, dxTrans); + if (additionalChanges) { + const requestedValue = req.values[i]; + Object.keys(additionalChanges).forEach(keyPath => { + if (hasOwn(requestedValue, keyPath)) { + requestedValue[keyPath] = additionalChanges[keyPath]; + } + else { + setByKeyPath(requestedValue, keyPath, additionalChanges[keyPath]); + } + }); + } + } + return ctx; + }); + return downTable.mutate(req).then(({ failures, results, numFailures, lastResult }) => { + for (let i = 0; i < keys.length; ++i) { + const primKey = results ? results[i] : keys[i]; + const ctx = contexts[i]; + if (primKey == null) { + ctx.onerror && ctx.onerror(failures[i]); + } + else { + ctx.onsuccess && ctx.onsuccess(req.type === 'put' && existingValues[i] ? + req.values[i] : + primKey + ); + } + } + return { failures, results, numFailures, lastResult }; + }).catch(error => { + contexts.forEach(ctx => ctx.onerror && ctx.onerror(error)); + return Promise.reject(error); + }); + }); + } + function deleteRange(req) { + return deleteNextChunk(req.trans, req.range, 10000); + } + function deleteNextChunk(trans, range, limit) { + return downTable.query({ trans, values: false, query: { index: primaryKey, range }, limit }) + .then(({ result }) => { + return addPutOrDelete({ type: 'delete', keys: result, trans }).then(res => { + if (res.numFailures > 0) + return Promise.reject(res.failures[0]); + if (result.length < limit) { + return { failures: [], numFailures: 0, lastResult: undefined }; + } + else { + return deleteNextChunk(trans, { ...range, lower: result[result.length - 1], lowerOpen: true }, limit); + } + }); + }); + } + } + }; + return tableMiddleware; + }, + }) +}; +function getExistingValues(table, req, effectiveKeys) { + return req.type === "add" + ? Promise.resolve([]) + : table.getMany({ trans: req.trans, keys: effectiveKeys, cache: "immutable" }); +} + +function getFromTransactionCache(keys, cache, clone) { + try { + if (!cache) + return null; + if (cache.keys.length < keys.length) + return null; + const result = []; + for (let i = 0, j = 0; i < cache.keys.length && j < keys.length; ++i) { + if (cmp(cache.keys[i], keys[j]) !== 0) + continue; + result.push(clone ? deepClone(cache.values[i]) : cache.values[i]); + ++j; + } + return result.length === keys.length ? result : null; + } + catch (_a) { + return null; + } +} +const cacheExistingValuesMiddleware = { + stack: "dbcore", + level: -1, + create: (core) => { + return { + table: (tableName) => { + const table = core.table(tableName); + return { + ...table, + getMany: (req) => { + if (!req.cache) { + return table.getMany(req); + } + const cachedResult = getFromTransactionCache(req.keys, req.trans["_cache"], req.cache === "clone"); + if (cachedResult) { + return DexiePromise.resolve(cachedResult); + } + return table.getMany(req).then((res) => { + req.trans["_cache"] = { + keys: req.keys, + values: req.cache === "clone" ? deepClone(res) : res, + }; + return res; + }); + }, + mutate: (req) => { + if (req.type !== "add") + req.trans["_cache"] = null; + return table.mutate(req); + }, + }; + }, + }; + }, +}; + +function isEmptyRange(node) { + return !("from" in node); +} +const RangeSet = function (fromOrTree, to) { + if (this) { + extend(this, arguments.length ? { d: 1, from: fromOrTree, to: arguments.length > 1 ? to : fromOrTree } : { d: 0 }); + } + else { + const rv = new RangeSet(); + if (fromOrTree && ("d" in fromOrTree)) { + extend(rv, fromOrTree); + } + return rv; + } +}; +props(RangeSet.prototype, { + add(rangeSet) { + mergeRanges(this, rangeSet); + return this; + }, + addKey(key) { + addRange(this, key, key); + return this; + }, + addKeys(keys) { + keys.forEach(key => addRange(this, key, key)); + return this; + }, + [iteratorSymbol]() { + return getRangeSetIterator(this); + } +}); +function addRange(target, from, to) { + const diff = cmp(from, to); + if (isNaN(diff)) + return; + if (diff > 0) + throw RangeError(); + if (isEmptyRange(target)) + return extend(target, { from, to, d: 1 }); + const left = target.l; + const right = target.r; + if (cmp(to, target.from) < 0) { + left + ? addRange(left, from, to) + : (target.l = { from, to, d: 1, l: null, r: null }); + return rebalance(target); + } + if (cmp(from, target.to) > 0) { + right + ? addRange(right, from, to) + : (target.r = { from, to, d: 1, l: null, r: null }); + return rebalance(target); + } + if (cmp(from, target.from) < 0) { + target.from = from; + target.l = null; + target.d = right ? right.d + 1 : 1; + } + if (cmp(to, target.to) > 0) { + target.to = to; + target.r = null; + target.d = target.l ? target.l.d + 1 : 1; + } + const rightWasCutOff = !target.r; + if (left && !target.l) { + mergeRanges(target, left); + } + if (right && rightWasCutOff) { + mergeRanges(target, right); + } +} +function mergeRanges(target, newSet) { + function _addRangeSet(target, { from, to, l, r }) { + addRange(target, from, to); + if (l) + _addRangeSet(target, l); + if (r) + _addRangeSet(target, r); + } + if (!isEmptyRange(newSet)) + _addRangeSet(target, newSet); +} +function rangesOverlap(rangeSet1, rangeSet2) { + const i1 = getRangeSetIterator(rangeSet2); + let nextResult1 = i1.next(); + if (nextResult1.done) + return false; + let a = nextResult1.value; + const i2 = getRangeSetIterator(rangeSet1); + let nextResult2 = i2.next(a.from); + let b = nextResult2.value; + while (!nextResult1.done && !nextResult2.done) { + if (cmp(b.from, a.to) <= 0 && cmp(b.to, a.from) >= 0) + return true; + cmp(a.from, b.from) < 0 + ? (a = (nextResult1 = i1.next(b.from)).value) + : (b = (nextResult2 = i2.next(a.from)).value); + } + return false; +} +function getRangeSetIterator(node) { + let state = isEmptyRange(node) ? null : { s: 0, n: node }; + return { + next(key) { + const keyProvided = arguments.length > 0; + while (state) { + switch (state.s) { + case 0: + state.s = 1; + if (keyProvided) { + while (state.n.l && cmp(key, state.n.from) < 0) + state = { up: state, n: state.n.l, s: 1 }; + } + else { + while (state.n.l) + state = { up: state, n: state.n.l, s: 1 }; + } + case 1: + state.s = 2; + if (!keyProvided || cmp(key, state.n.to) <= 0) + return { value: state.n, done: false }; + case 2: + if (state.n.r) { + state.s = 3; + state = { up: state, n: state.n.r, s: 0 }; + continue; + } + case 3: + state = state.up; + } + } + return { done: true }; + }, + }; +} +function rebalance(target) { + var _a, _b; + const diff = (((_a = target.r) === null || _a === void 0 ? void 0 : _a.d) || 0) - (((_b = target.l) === null || _b === void 0 ? void 0 : _b.d) || 0); + const r = diff > 1 ? "r" : diff < -1 ? "l" : ""; + if (r) { + const l = r === "r" ? "l" : "r"; + const rootClone = { ...target }; + const oldRootRight = target[r]; + target.from = oldRootRight.from; + target.to = oldRootRight.to; + target[r] = oldRootRight[r]; + rootClone[r] = oldRootRight[l]; + target[l] = rootClone; + rootClone.d = computeDepth(rootClone); + } + target.d = computeDepth(target); +} +function computeDepth({ r, l }) { + return (r ? (l ? Math.max(r.d, l.d) : r.d) : l ? l.d : 0) + 1; +} + +const observabilityMiddleware = { + stack: "dbcore", + level: 0, + create: (core) => { + const dbName = core.schema.name; + const FULL_RANGE = new RangeSet(core.MIN_KEY, core.MAX_KEY); + return { + ...core, + table: (tableName) => { + const table = core.table(tableName); + const { schema } = table; + const { primaryKey } = schema; + const { extractKey, outbound } = primaryKey; + const tableClone = { + ...table, + mutate: (req) => { + const trans = req.trans; + const mutatedParts = trans.mutatedParts || (trans.mutatedParts = {}); + const getRangeSet = (indexName) => { + const part = `idb://${dbName}/${tableName}/${indexName}`; + return (mutatedParts[part] || + (mutatedParts[part] = new RangeSet())); + }; + const pkRangeSet = getRangeSet(""); + const delsRangeSet = getRangeSet(":dels"); + const { type } = req; + let [keys, newObjs] = req.type === "deleteRange" + ? [req.range] + : req.type === "delete" + ? [req.keys] + : req.values.length < 50 + ? [[], req.values] + : []; + const oldCache = req.trans["_cache"]; + return table.mutate(req).then((res) => { + if (isArray(keys)) { + if (type !== "delete") + keys = res.results; + pkRangeSet.addKeys(keys); + const oldObjs = getFromTransactionCache(keys, oldCache); + if (!oldObjs && type !== "add") { + delsRangeSet.addKeys(keys); + } + if (oldObjs || newObjs) { + trackAffectedIndexes(getRangeSet, schema, oldObjs, newObjs); + } + } + else if (keys) { + const range = { from: keys.lower, to: keys.upper }; + delsRangeSet.add(range); + pkRangeSet.add(range); + } + else { + pkRangeSet.add(FULL_RANGE); + delsRangeSet.add(FULL_RANGE); + schema.indexes.forEach(idx => getRangeSet(idx.name).add(FULL_RANGE)); + } + return res; + }); + }, + }; + const getRange = ({ query: { index, range }, }) => { + var _a, _b; + return [ + index, + new RangeSet((_a = range.lower) !== null && _a !== void 0 ? _a : core.MIN_KEY, (_b = range.upper) !== null && _b !== void 0 ? _b : core.MAX_KEY), + ]; + }; + const readSubscribers = { + get: (req) => [primaryKey, new RangeSet(req.key)], + getMany: (req) => [primaryKey, new RangeSet().addKeys(req.keys)], + count: getRange, + query: getRange, + openCursor: getRange, + }; + keys(readSubscribers).forEach(method => { + tableClone[method] = function (req) { + const { subscr } = PSD; + if (subscr) { + const getRangeSet = (indexName) => { + const part = `idb://${dbName}/${tableName}/${indexName}`; + return (subscr[part] || + (subscr[part] = new RangeSet())); + }; + const pkRangeSet = getRangeSet(""); + const delsRangeSet = getRangeSet(":dels"); + const [queriedIndex, queriedRanges] = readSubscribers[method](req); + getRangeSet(queriedIndex.name || "").add(queriedRanges); + if (!queriedIndex.isPrimaryKey) { + if (method === "count") { + delsRangeSet.add(FULL_RANGE); + } + else { + const keysPromise = method === "query" && + outbound && + req.values && + table.query({ + ...req, + values: false, + }); + return table[method].apply(this, arguments).then((res) => { + if (method === "query") { + if (outbound && req.values) { + return keysPromise.then(({ result: resultingKeys }) => { + pkRangeSet.addKeys(resultingKeys); + return res; + }); + } + const pKeys = req.values + ? res.result.map(extractKey) + : res.result; + if (req.values) { + pkRangeSet.addKeys(pKeys); + } + else { + delsRangeSet.addKeys(pKeys); + } + } + else if (method === "openCursor") { + const cursor = res; + const wantValues = req.values; + return (cursor && + Object.create(cursor, { + key: { + get() { + delsRangeSet.addKey(cursor.primaryKey); + return cursor.key; + }, + }, + primaryKey: { + get() { + const pkey = cursor.primaryKey; + delsRangeSet.addKey(pkey); + return pkey; + }, + }, + value: { + get() { + wantValues && pkRangeSet.addKey(cursor.primaryKey); + return cursor.value; + }, + }, + })); + } + return res; + }); + } + } + } + return table[method].apply(this, arguments); + }; + }); + return tableClone; + }, + }; + }, +}; +function trackAffectedIndexes(getRangeSet, schema, oldObjs, newObjs) { + function addAffectedIndex(ix) { + const rangeSet = getRangeSet(ix.name || ""); + function extractKey(obj) { + return obj != null ? ix.extractKey(obj) : null; + } + const addKeyOrKeys = (key) => ix.multiEntry && isArray(key) + ? key.forEach(key => rangeSet.addKey(key)) + : rangeSet.addKey(key); + (oldObjs || newObjs).forEach((_, i) => { + const oldKey = oldObjs && extractKey(oldObjs[i]); + const newKey = newObjs && extractKey(newObjs[i]); + if (cmp(oldKey, newKey) !== 0) { + if (oldKey != null) + addKeyOrKeys(oldKey); + if (newKey != null) + addKeyOrKeys(newKey); + } + }); + } + schema.indexes.forEach(addAffectedIndex); +} + +class Dexie$1 { + constructor(name, options) { + this._middlewares = {}; + this.verno = 0; + const deps = Dexie$1.dependencies; + this._options = options = { + addons: Dexie$1.addons, + autoOpen: true, + indexedDB: deps.indexedDB, + IDBKeyRange: deps.IDBKeyRange, + ...options + }; + this._deps = { + indexedDB: options.indexedDB, + IDBKeyRange: options.IDBKeyRange + }; + const { addons, } = options; + this._dbSchema = {}; + this._versions = []; + this._storeNames = []; + this._allTables = {}; + this.idbdb = null; + this._novip = this; + const state = { + dbOpenError: null, + isBeingOpened: false, + onReadyBeingFired: null, + openComplete: false, + dbReadyResolve: nop, + dbReadyPromise: null, + cancelOpen: nop, + openCanceller: null, + autoSchema: true, + PR1398_maxLoop: 3 + }; + state.dbReadyPromise = new DexiePromise(resolve => { + state.dbReadyResolve = resolve; + }); + state.openCanceller = new DexiePromise((_, reject) => { + state.cancelOpen = reject; + }); + this._state = state; + this.name = name; + this.on = Events(this, "populate", "blocked", "versionchange", "close", { ready: [promisableChain, nop] }); + this.on.ready.subscribe = override(this.on.ready.subscribe, subscribe => { + return (subscriber, bSticky) => { + Dexie$1.vip(() => { + const state = this._state; + if (state.openComplete) { + if (!state.dbOpenError) + DexiePromise.resolve().then(subscriber); + if (bSticky) + subscribe(subscriber); + } + else if (state.onReadyBeingFired) { + state.onReadyBeingFired.push(subscriber); + if (bSticky) + subscribe(subscriber); + } + else { + subscribe(subscriber); + const db = this; + if (!bSticky) + subscribe(function unsubscribe() { + db.on.ready.unsubscribe(subscriber); + db.on.ready.unsubscribe(unsubscribe); + }); + } + }); + }; + }); + this.Collection = createCollectionConstructor(this); + this.Table = createTableConstructor(this); + this.Transaction = createTransactionConstructor(this); + this.Version = createVersionConstructor(this); + this.WhereClause = createWhereClauseConstructor(this); + this.on("versionchange", ev => { + if (ev.newVersion > 0) + console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`); + else + console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`); + this.close(); + }); + this.on("blocked", ev => { + if (!ev.newVersion || ev.newVersion < ev.oldVersion) + console.warn(`Dexie.delete('${this.name}') was blocked`); + else + console.warn(`Upgrade '${this.name}' blocked by other connection holding version ${ev.oldVersion / 10}`); + }); + this._maxKey = getMaxKey(options.IDBKeyRange); + this._createTransaction = (mode, storeNames, dbschema, parentTransaction) => new this.Transaction(mode, storeNames, dbschema, this._options.chromeTransactionDurability, parentTransaction); + this._fireOnBlocked = ev => { + this.on("blocked").fire(ev); + connections + .filter(c => c.name === this.name && c !== this && !c._state.vcFired) + .map(c => c.on("versionchange").fire(ev)); + }; + this.use(virtualIndexMiddleware); + this.use(hooksMiddleware); + this.use(observabilityMiddleware); + this.use(cacheExistingValuesMiddleware); + this.vip = Object.create(this, { _vip: { value: true } }); + addons.forEach(addon => addon(this)); + } + version(versionNumber) { + if (isNaN(versionNumber) || versionNumber < 0.1) + throw new exceptions.Type(`Given version is not a positive number`); + versionNumber = Math.round(versionNumber * 10) / 10; + if (this.idbdb || this._state.isBeingOpened) + throw new exceptions.Schema("Cannot add version when database is open"); + this.verno = Math.max(this.verno, versionNumber); + const versions = this._versions; + var versionInstance = versions.filter(v => v._cfg.version === versionNumber)[0]; + if (versionInstance) + return versionInstance; + versionInstance = new this.Version(versionNumber); + versions.push(versionInstance); + versions.sort(lowerVersionFirst); + versionInstance.stores({}); + this._state.autoSchema = false; + return versionInstance; + } + _whenReady(fn) { + return (this.idbdb && (this._state.openComplete || PSD.letThrough || this._vip)) ? fn() : new DexiePromise((resolve, reject) => { + if (this._state.openComplete) { + return reject(new exceptions.DatabaseClosed(this._state.dbOpenError)); + } + if (!this._state.isBeingOpened) { + if (!this._options.autoOpen) { + reject(new exceptions.DatabaseClosed()); + return; + } + this.open().catch(nop); + } + this._state.dbReadyPromise.then(resolve, reject); + }).then(fn); + } + use({ stack, create, level, name }) { + if (name) + this.unuse({ stack, name }); + const middlewares = this._middlewares[stack] || (this._middlewares[stack] = []); + middlewares.push({ stack, create, level: level == null ? 10 : level, name }); + middlewares.sort((a, b) => a.level - b.level); + return this; + } + unuse({ stack, name, create }) { + if (stack && this._middlewares[stack]) { + this._middlewares[stack] = this._middlewares[stack].filter(mw => create ? mw.create !== create : + name ? mw.name !== name : + false); + } + return this; + } + open() { + return dexieOpen(this); + } + _close() { + const state = this._state; + const idx = connections.indexOf(this); + if (idx >= 0) + connections.splice(idx, 1); + if (this.idbdb) { + try { + this.idbdb.close(); + } + catch (e) { } + this._novip.idbdb = null; + } + state.dbReadyPromise = new DexiePromise(resolve => { + state.dbReadyResolve = resolve; + }); + state.openCanceller = new DexiePromise((_, reject) => { + state.cancelOpen = reject; + }); + } + close() { + this._close(); + const state = this._state; + this._options.autoOpen = false; + state.dbOpenError = new exceptions.DatabaseClosed(); + if (state.isBeingOpened) + state.cancelOpen(state.dbOpenError); + } + delete() { + const hasArguments = arguments.length > 0; + const state = this._state; + return new DexiePromise((resolve, reject) => { + const doDelete = () => { + this.close(); + var req = this._deps.indexedDB.deleteDatabase(this.name); + req.onsuccess = wrap(() => { + _onDatabaseDeleted(this._deps, this.name); + resolve(); + }); + req.onerror = eventRejectHandler(reject); + req.onblocked = this._fireOnBlocked; + }; + if (hasArguments) + throw new exceptions.InvalidArgument("Arguments not allowed in db.delete()"); + if (state.isBeingOpened) { + state.dbReadyPromise.then(doDelete); + } + else { + doDelete(); + } + }); + } + backendDB() { + return this.idbdb; + } + isOpen() { + return this.idbdb !== null; + } + hasBeenClosed() { + const dbOpenError = this._state.dbOpenError; + return dbOpenError && (dbOpenError.name === 'DatabaseClosed'); + } + hasFailed() { + return this._state.dbOpenError !== null; + } + dynamicallyOpened() { + return this._state.autoSchema; + } + get tables() { + return keys(this._allTables).map(name => this._allTables[name]); + } + transaction() { + const args = extractTransactionArgs.apply(this, arguments); + return this._transaction.apply(this, args); + } + _transaction(mode, tables, scopeFunc) { + let parentTransaction = PSD.trans; + if (!parentTransaction || parentTransaction.db !== this || mode.indexOf('!') !== -1) + parentTransaction = null; + const onlyIfCompatible = mode.indexOf('?') !== -1; + mode = mode.replace('!', '').replace('?', ''); + let idbMode, storeNames; + try { + storeNames = tables.map(table => { + var storeName = table instanceof this.Table ? table.name : table; + if (typeof storeName !== 'string') + throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed"); + return storeName; + }); + if (mode == "r" || mode === READONLY) + idbMode = READONLY; + else if (mode == "rw" || mode == READWRITE) + idbMode = READWRITE; + else + throw new exceptions.InvalidArgument("Invalid transaction mode: " + mode); + if (parentTransaction) { + if (parentTransaction.mode === READONLY && idbMode === READWRITE) { + if (onlyIfCompatible) { + parentTransaction = null; + } + else + throw new exceptions.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY"); + } + if (parentTransaction) { + storeNames.forEach(storeName => { + if (parentTransaction && parentTransaction.storeNames.indexOf(storeName) === -1) { + if (onlyIfCompatible) { + parentTransaction = null; + } + else + throw new exceptions.SubTransaction("Table " + storeName + + " not included in parent transaction."); + } + }); + } + if (onlyIfCompatible && parentTransaction && !parentTransaction.active) { + parentTransaction = null; + } + } + } + catch (e) { + return parentTransaction ? + parentTransaction._promise(null, (_, reject) => { reject(e); }) : + rejection(e); + } + const enterTransaction = enterTransactionScope.bind(null, this, idbMode, storeNames, parentTransaction, scopeFunc); + return (parentTransaction ? + parentTransaction._promise(idbMode, enterTransaction, "lock") : + PSD.trans ? + usePSD(PSD.transless, () => this._whenReady(enterTransaction)) : + this._whenReady(enterTransaction)); + } + table(tableName) { + if (!hasOwn(this._allTables, tableName)) { + throw new exceptions.InvalidTable(`Table ${tableName} does not exist`); + } + return this._allTables[tableName]; + } +} + +const symbolObservable = typeof Symbol !== "undefined" && "observable" in Symbol + ? Symbol.observable + : "@@observable"; +class Observable { + constructor(subscribe) { + this._subscribe = subscribe; + } + subscribe(x, error, complete) { + return this._subscribe(!x || typeof x === "function" ? { next: x, error, complete } : x); + } + [symbolObservable]() { + return this; + } +} + +function extendObservabilitySet(target, newSet) { + keys(newSet).forEach(part => { + const rangeSet = target[part] || (target[part] = new RangeSet()); + mergeRanges(rangeSet, newSet[part]); + }); + return target; +} + +function liveQuery(querier) { + let hasValue = false; + let currentValue = undefined; + const observable = new Observable((observer) => { + const scopeFuncIsAsync = isAsyncFunction(querier); + function execute(subscr) { + if (scopeFuncIsAsync) { + incrementExpectedAwaits(); + } + const exec = () => newScope(querier, { subscr, trans: null }); + const rv = PSD.trans + ? + usePSD(PSD.transless, exec) + : exec(); + if (scopeFuncIsAsync) { + rv.then(decrementExpectedAwaits, decrementExpectedAwaits); + } + return rv; + } + let closed = false; + let accumMuts = {}; + let currentObs = {}; + const subscription = { + get closed() { + return closed; + }, + unsubscribe: () => { + closed = true; + globalEvents.storagemutated.unsubscribe(mutationListener); + }, + }; + observer.start && observer.start(subscription); + let querying = false, startedListening = false; + function shouldNotify() { + return keys(currentObs).some((key) => accumMuts[key] && rangesOverlap(accumMuts[key], currentObs[key])); + } + const mutationListener = (parts) => { + extendObservabilitySet(accumMuts, parts); + if (shouldNotify()) { + doQuery(); + } + }; + const doQuery = () => { + if (querying || closed) + return; + accumMuts = {}; + const subscr = {}; + const ret = execute(subscr); + if (!startedListening) { + globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, mutationListener); + startedListening = true; + } + querying = true; + Promise.resolve(ret).then((result) => { + hasValue = true; + currentValue = result; + querying = false; + if (closed) + return; + if (shouldNotify()) { + doQuery(); + } + else { + accumMuts = {}; + currentObs = subscr; + observer.next && observer.next(result); + } + }, (err) => { + querying = false; + hasValue = false; + observer.error && observer.error(err); + subscription.unsubscribe(); + }); + }; + doQuery(); + return subscription; + }); + observable.hasValue = () => hasValue; + observable.getValue = () => currentValue; + return observable; +} + +let domDeps; +try { + domDeps = { + indexedDB: _global.indexedDB || _global.mozIndexedDB || _global.webkitIndexedDB || _global.msIndexedDB, + IDBKeyRange: _global.IDBKeyRange || _global.webkitIDBKeyRange + }; +} +catch (e) { + domDeps = { indexedDB: null, IDBKeyRange: null }; +} + +const Dexie = Dexie$1; +props(Dexie, { + ...fullNameExceptions, + delete(databaseName) { + const db = new Dexie(databaseName, { addons: [] }); + return db.delete(); + }, + exists(name) { + return new Dexie(name, { addons: [] }).open().then(db => { + db.close(); + return true; + }).catch('NoSuchDatabaseError', () => false); + }, + getDatabaseNames(cb) { + try { + return getDatabaseNames(Dexie.dependencies).then(cb); + } + catch (_a) { + return rejection(new exceptions.MissingAPI()); + } + }, + defineClass() { + function Class(content) { + extend(this, content); + } + return Class; + }, + ignoreTransaction(scopeFunc) { + return PSD.trans ? + usePSD(PSD.transless, scopeFunc) : + scopeFunc(); + }, + vip, + async: function (generatorFn) { + return function () { + try { + var rv = awaitIterator(generatorFn.apply(this, arguments)); + if (!rv || typeof rv.then !== 'function') + return DexiePromise.resolve(rv); + return rv; + } + catch (e) { + return rejection(e); + } + }; + }, + spawn: function (generatorFn, args, thiz) { + try { + var rv = awaitIterator(generatorFn.apply(thiz, args || [])); + if (!rv || typeof rv.then !== 'function') + return DexiePromise.resolve(rv); + return rv; + } + catch (e) { + return rejection(e); + } + }, + currentTransaction: { + get: () => PSD.trans || null + }, + waitFor: function (promiseOrFunction, optionalTimeout) { + const promise = DexiePromise.resolve(typeof promiseOrFunction === 'function' ? + Dexie.ignoreTransaction(promiseOrFunction) : + promiseOrFunction) + .timeout(optionalTimeout || 60000); + return PSD.trans ? + PSD.trans.waitFor(promise) : + promise; + }, + Promise: DexiePromise, + debug: { + get: () => debug, + set: value => { + setDebug(value, value === 'dexie' ? () => true : dexieStackFrameFilter); + } + }, + derive: derive, + extend: extend, + props: props, + override: override, + Events: Events, + on: globalEvents, + liveQuery, + extendObservabilitySet, + getByKeyPath: getByKeyPath, + setByKeyPath: setByKeyPath, + delByKeyPath: delByKeyPath, + shallowClone: shallowClone, + deepClone: deepClone, + getObjectDiff: getObjectDiff, + cmp, + asap: asap$1, + minKey: minKey, + addons: [], + connections: connections, + errnames: errnames, + dependencies: domDeps, + semVer: DEXIE_VERSION, + version: DEXIE_VERSION.split('.') + .map(n => parseInt(n)) + .reduce((p, c, i) => p + (c / Math.pow(10, i * 2))), +}); +Dexie.maxKey = getMaxKey(Dexie.dependencies.IDBKeyRange); + +if (typeof dispatchEvent !== 'undefined' && typeof addEventListener !== 'undefined') { + globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, updatedParts => { + if (!propagatingLocally) { + let event; + if (isIEOrEdge) { + event = document.createEvent('CustomEvent'); + event.initCustomEvent(STORAGE_MUTATED_DOM_EVENT_NAME, true, true, updatedParts); + } + else { + event = new CustomEvent(STORAGE_MUTATED_DOM_EVENT_NAME, { + detail: updatedParts + }); + } + propagatingLocally = true; + dispatchEvent(event); + propagatingLocally = false; + } + }); + addEventListener(STORAGE_MUTATED_DOM_EVENT_NAME, ({ detail }) => { + if (!propagatingLocally) { + propagateLocally(detail); + } + }); +} +function propagateLocally(updateParts) { + let wasMe = propagatingLocally; + try { + propagatingLocally = true; + globalEvents.storagemutated.fire(updateParts); + } + finally { + propagatingLocally = wasMe; + } +} +let propagatingLocally = false; + +if (typeof BroadcastChannel !== 'undefined') { + const bc = new BroadcastChannel(STORAGE_MUTATED_DOM_EVENT_NAME); + if (typeof bc.unref === 'function') { + bc.unref(); + } + globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, (changedParts) => { + if (!propagatingLocally) { + bc.postMessage(changedParts); + } + }); + bc.onmessage = (ev) => { + if (ev.data) + propagateLocally(ev.data); + }; +} +else if (typeof self !== 'undefined' && typeof navigator !== 'undefined') { + globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, (changedParts) => { + try { + if (!propagatingLocally) { + if (typeof localStorage !== 'undefined') { + localStorage.setItem(STORAGE_MUTATED_DOM_EVENT_NAME, JSON.stringify({ + trig: Math.random(), + changedParts, + })); + } + if (typeof self['clients'] === 'object') { + [...self['clients'].matchAll({ includeUncontrolled: true })].forEach((client) => client.postMessage({ + type: STORAGE_MUTATED_DOM_EVENT_NAME, + changedParts, + })); + } + } + } + catch (_a) { } + }); + if (typeof addEventListener !== 'undefined') { + addEventListener('storage', (ev) => { + if (ev.key === STORAGE_MUTATED_DOM_EVENT_NAME) { + const data = JSON.parse(ev.newValue); + if (data) + propagateLocally(data.changedParts); + } + }); + } + const swContainer = self.document && navigator.serviceWorker; + if (swContainer) { + swContainer.addEventListener('message', propagateMessageLocally); + } +} +function propagateMessageLocally({ data }) { + if (data && data.type === STORAGE_MUTATED_DOM_EVENT_NAME) { + propagateLocally(data.changedParts); + } +} + +DexiePromise.rejectionMapper = mapError; +setDebug(debug, dexieStackFrameFilter); + +class ModelDatabase extends Dexie$1 { + constructor() { + super("ModelDatabase"); + this.version(2).stores({ + models: "id, file", + }); + } +} + +// TODO: Implement UI elements (this is probably just for 3d scans) +/** + * A tool to cache files using the browser's IndexedDB API. This might + * save loading time and infrastructure costs for files that need to be + * fetched from the cloud. + */ +class LocalCacher extends Component { + /** The IDs of all the stored files. */ + get ids() { + const serialized = localStorage.getItem(this._storedModels) || "[]"; + return JSON.parse(serialized); + } + constructor(components) { + super(components); + /** Fires when a file has been loaded from cache. */ + this.onFileLoaded = new Event(); + /** Fires when a file has been saved into cache. */ + this.onItemSaved = new Event(); + /** {@link Component.enabled} */ + this.enabled = true; + /** {@link UI.uiElement} */ + this.uiElement = new UIElement(); + this.cards = []; + this._storedModels = "open-bim-components-stored-files"; + components.tools.add(LocalCacher.uuid, this); + this._db = new ModelDatabase(); + if (components.ui.enabled) { + this.setUI(components); + } + } + /** + * {@link Component.get}. + * @param id the ID of the file to fetch. + */ + async get(id) { + if (this.exists(id)) { + await this._db.open(); + const result = await this.getModelFromLocalCache(id); + this._db.close(); + return result; + } + return null; + } + /** + * Saves the file with the given ID. + * @param id the ID to assign to the file. + * @param url the URL where the file is located. + */ + async save(id, url) { + this.addStoredID(id); + const rawData = await fetch(url); + const file = await rawData.blob(); + await this._db.open(); + await this._db.models.add({ + id, + file, + }); + this._db.close(); + } + /** + * Checks if there's a file stored with the given ID. + * @param id to check. + */ + exists(id) { + const stored = localStorage.getItem(id); + return stored !== null; + } + /** + * Deletes the files stored in the given ids. + * @param ids the identifiers of the files to delete. + */ + async delete(ids) { + await this._db.open(); + for (const id of ids) { + if (this.exists(id)) { + this.removeStoredID(id); + await this._db.models.where("id").equals(id).delete(); + } + } + this._db.close(); + } + /** Deletes all the stored files. */ + async deleteAll() { + await this._db.open(); + this.clearStoredIDs(); + await this._db.delete(); + this._db = new ModelDatabase(); + this._db.close(); + } + /** {@link Disposable.dispose} */ + async dispose() { + this.onFileLoaded.reset(); + this.onItemSaved.reset(); + for (const card of this.cards) { + await card.dispose(); + } + this.cards = []; + await this.uiElement.dispose(); + this._db = null; + } + setUI(components) { + const main = new Button(components); + main.materialIcon = "storage"; + main.tooltip = "Local cacher"; + const saveButton = new Button(components); + saveButton.label = "Save"; + saveButton.materialIcon = "save"; + const loadButton = new Button(components); + loadButton.label = "Download"; + loadButton.materialIcon = "download"; + main.addChild(saveButton, loadButton); + const floatingMenu = new FloatingWindow(components, "file-list-menu"); + this.uiElement.set({ main, loadButton, saveButton, floatingMenu }); + floatingMenu.title = "Saved Files"; + floatingMenu.visible = false; + const savedFilesMenuHTML = floatingMenu.get(); + savedFilesMenuHTML.style.left = "70px"; + savedFilesMenuHTML.style.top = "100px"; + savedFilesMenuHTML.style.width = "340px"; + savedFilesMenuHTML.style.height = "400px"; + const renderer = this.components.renderer.get(); + const viewerContainer = renderer.domElement.parentElement; + viewerContainer.appendChild(floatingMenu.get()); + } + async getModelFromLocalCache(id) { + const found = await this._db.models.where("id").equals(id).toArray(); + return found[0].file; + } + clearStoredIDs() { + const ids = this.ids; + for (const id of ids) { + this.removeStoredID(id); + } + } + removeStoredID(id) { + localStorage.removeItem(id); + const allIDs = this.ids; + const ids = allIDs.filter((savedId) => savedId !== id); + this.setStoredIDs(ids); + } + addStoredID(id) { + const time = performance.now().toString(); + localStorage.setItem(id, time); + const ids = this.ids; + ids.push(id); + this.setStoredIDs(ids); + } + setStoredIDs(ids) { + localStorage.setItem(this._storedModels, JSON.stringify(ids)); + } +} +LocalCacher.uuid = "22ae591a-3a67-4988-86c6-68d7b83febf2"; +ToolComponent.libraryUUIDs.add(LocalCacher.uuid); + +const _lut = [ '00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '0a', '0b', '0c', '0d', '0e', '0f', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '1a', '1b', '1c', '1d', '1e', '1f', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '2a', '2b', '2c', '2d', '2e', '2f', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '3a', '3b', '3c', '3d', '3e', '3f', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '4a', '4b', '4c', '4d', '4e', '4f', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '5a', '5b', '5c', '5d', '5e', '5f', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '6a', '6b', '6c', '6d', '6e', '6f', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '7a', '7b', '7c', '7d', '7e', '7f', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '8a', '8b', '8c', '8d', '8e', '8f', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '9a', '9b', '9c', '9d', '9e', '9f', 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af', 'b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf', 'c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf', 'd0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', 'd8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df', 'e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7', 'e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef', 'f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff' ]; + +// http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136 +function generateUUID() { + + const d0 = Math.random() * 0xffffffff | 0; + const d1 = Math.random() * 0xffffffff | 0; + const d2 = Math.random() * 0xffffffff | 0; + const d3 = Math.random() * 0xffffffff | 0; + const uuid = _lut[ d0 & 0xff ] + _lut[ d0 >> 8 & 0xff ] + _lut[ d0 >> 16 & 0xff ] + _lut[ d0 >> 24 & 0xff ] + '-' + + _lut[ d1 & 0xff ] + _lut[ d1 >> 8 & 0xff ] + '-' + _lut[ d1 >> 16 & 0x0f | 0x40 ] + _lut[ d1 >> 24 & 0xff ] + '-' + + _lut[ d2 & 0x3f | 0x80 ] + _lut[ d2 >> 8 & 0xff ] + '-' + _lut[ d2 >> 16 & 0xff ] + _lut[ d2 >> 24 & 0xff ] + + _lut[ d3 & 0xff ] + _lut[ d3 >> 8 & 0xff ] + _lut[ d3 >> 16 & 0xff ] + _lut[ d3 >> 24 & 0xff ]; + + // .toLowerCase() here flattens concatenated strings to save heap memory space. + return uuid.toLowerCase(); + +} + +function clamp( value, min, max ) { + + return Math.max( min, Math.min( max, value ) ); + +} + +function denormalize( value, array ) { + + switch ( array.constructor ) { + + case Float32Array: + + return value; + + case Uint16Array: + + return value / 65535.0; + + case Uint8Array: + + return value / 255.0; + + case Int16Array: + + return Math.max( value / 32767.0, - 1.0 ); + + case Int8Array: + + return Math.max( value / 127.0, - 1.0 ); + + default: + + throw new Error( 'Invalid component type.' ); + + } + +} + +function normalize( value, array ) { + + switch ( array.constructor ) { + + case Float32Array: + + return value; + + case Uint16Array: + + return Math.round( value * 65535.0 ); + + case Uint8Array: + + return Math.round( value * 255.0 ); + + case Int16Array: + + return Math.round( value * 32767.0 ); + + case Int8Array: + + return Math.round( value * 127.0 ); + + default: + + throw new Error( 'Invalid component type.' ); + + } + +} + +class SimpleSVGViewport extends Component { + get enabled() { + return this._enabled; + } + set enabled(value) { + this._enabled = value; + this.resize(); + this._undoList = []; + this.uiElement.get("toolbar").visible = value; + if (value) { + this._viewport.classList.remove("pointer-events-none"); + } + else { + this.clear(); + this.uiElement.get("settingsWindow").visible = false; + this._viewport.classList.add("pointer-events-none"); + } + } + set config(value) { + this._config = { ...this._config, ...value }; + } + get config() { + return this._config; + } + constructor(components, config) { + super(components); + this.uiElement = new UIElement(); + this.id = generateUUID().toLowerCase(); + this._enabled = false; + this._viewport = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + this._size = new Vector2$1(); + this._undoList = []; + this.onResize = () => { + this.resize(); + }; + const defaultConfig = { + fillColor: "transparent", + strokeColor: "#ff0000", + strokeWidth: 4, + }; + this.config = { ...defaultConfig, ...(config !== null && config !== void 0 ? config : {}) }; + this._viewport.classList.add("absolute", "top-0", "right-0"); + // this._viewport.setAttribute("preserveAspectRatio", "xMidYMid") + this._viewport.setAttribute("width", "100%"); + this._viewport.setAttribute("height", "100%"); + // const renderer = this._components.renderer; + // const rendererSize = renderer.getSize(); + // const width = rendererSize.x + // const height = rendererSize.y + // this._viewport.setAttribute("viewBox", `0 0 ${width} ${height}`); + this.setUI(); + this.enabled = false; + this.components.ui.viewerContainer.append(this._viewport); + this.setupEvents(true); + } + async dispose() { + this._undoList = []; + this.uiElement.dispose(); + } + get() { + return this._viewport; + } + clear() { + const viewport = this.get(); + this._undoList = []; + while (viewport.firstChild) { + viewport.removeChild(viewport.firstChild); + } + } + getDrawing() { + return this.get().childNodes; + } + // setDrawing() { + // if (!this.enabled) { } + // } + /** {@link Resizeable.resize}. */ + resize() { + const renderer = this.components.renderer; + const rendererSize = renderer.getSize(); + const width = this.enabled ? rendererSize.x : 0; + const height = this.enabled ? rendererSize.y : 0; + this._size.set(width, height); + // this._viewport.setAttribute("viewBox", `0 0 ${this._size.x} ${this._size.y}`); + } + /** {@link Resizeable.getSize}. */ + getSize() { + return this._size; + } + setupEvents(active) { + if (active) { + window.addEventListener("resize", this.onResize); + } + else { + window.removeEventListener("resize", this.onResize); + } + } + setUI() { + var _a, _b; + const undoDrawingBtn = new Button(this.components, { + materialIconName: "undo", + }); + undoDrawingBtn.onClick.add(() => { + if (this._viewport.lastChild) { + this._undoList.push(this._viewport.lastChild); + this._viewport.lastChild.remove(); + } + }); + const redoDrawingBtn = new Button(this.components, { + materialIconName: "redo", + }); + redoDrawingBtn.onClick.add(() => { + const childNode = this._undoList[this._undoList.length - 1]; + if (childNode) { + this._undoList.pop(); + this._viewport.append(childNode); + } + }); + const clearDrawingBtn = new Button(this.components, { + materialIconName: "delete", + }); + clearDrawingBtn.onClick.add(() => this.clear()); + // #region Settings window + const settingsWindow = new FloatingWindow(this.components, this.id); + settingsWindow.title = "Drawing Settings"; + settingsWindow.visible = false; + const viewerContainer = this.components.renderer.get().domElement + .parentElement; + viewerContainer.append(settingsWindow.get()); + const strokeWidth = new RangeInput(this.components); + strokeWidth.label = "Stroke Width"; + strokeWidth.min = 2; + strokeWidth.max = 6; + strokeWidth.value = 4; + // strokeWidth.id = this.id; + strokeWidth.onChange.add((value) => { + // @ts-ignore + this.config = { strokeWidth: value }; + }); + const strokeColorInput = new ColorInput(this.components); + strokeColorInput.label = "Stroke Color"; + strokeColorInput.value = (_a = this.config.strokeColor) !== null && _a !== void 0 ? _a : "#BCF124"; + // strokeColorInput.name = "stroke-color"; + // strokeColorInput.id = this.id; + strokeColorInput.onChange.add((value) => { + this.config = { strokeColor: value }; + }); + const fillColorInput = new ColorInput(this.components); + strokeColorInput.label = "Fill Color"; + strokeColorInput.value = (_b = this.config.fillColor) !== null && _b !== void 0 ? _b : "#BCF124"; + // strokeColorInput.name = "fill-color"; + // strokeColorInput.id = this.id; + fillColorInput.onChange.add((value) => { + this.config = { fillColor: value }; + }); + settingsWindow.addChild(strokeColorInput, fillColorInput, strokeWidth); + const settingsBtn = new Button(this.components, { + materialIconName: "settings", + }); + settingsBtn.onClick.add(() => { + settingsWindow.visible = !settingsWindow.visible; + settingsBtn.active = settingsWindow.visible; + }); + settingsWindow.onHidden.add(() => (settingsBtn.active = false)); + const toolbar = new Toolbar(this.components, { position: "right" }); + toolbar.addChild(settingsBtn, undoDrawingBtn, redoDrawingBtn, clearDrawingBtn); + this.uiElement.set({ toolbar, settingsWindow }); + } +} + +// TODO: Clean up and document +// TODO: Disable / enable instance color for instance meshes +/** + * A tool to easily handle the materials of massive amounts of + * objects and scene background easily. + */ +class MaterialManager extends Component { + constructor(components) { + super(components); + /** {@link Component.enabled} */ + this.enabled = true; + this._originalBackground = null; + this._originals = {}; + this._list = {}; + this.components.tools.add(MaterialManager.uuid, this); + } + /** + * {@link Component.get}. + * @return list of created materials. + */ + get() { + return Object.keys(this._list); + } + /** + * Turns the specified material styles on or off. + * + * @param active whether to turn it on or off. + * @param ids the ids of the style to turn on or off. + */ + set(active, ids = Object.keys(this._list)) { + for (const id of ids) { + const { material, meshes } = this._list[id]; + for (const mesh of meshes) { + if (active) { + if (!this._originals[mesh.uuid]) { + this._originals[mesh.uuid] = { material: mesh.material }; + } + if (mesh instanceof THREE$1.InstancedMesh && mesh.instanceColor) { + this._originals[mesh.uuid].instances = mesh.instanceColor; + mesh.instanceColor = null; + } + mesh.material = material; + } + else { + if (!this._originals[mesh.uuid]) + continue; + mesh.material = this._originals[mesh.uuid].material; + const instances = this._originals[mesh.uuid].instances; + if (mesh instanceof THREE$1.InstancedMesh && instances) { + mesh.instanceColor = instances; + } + } + } + } + } + /** {@link Disposable.dispose} */ + async dispose() { + for (const id in this._list) { + const { material } = this._list[id]; + material.dispose(); + } + this._list = {}; + this._originals = {}; + } + /** + * Sets the color of the background of the scene. + * + * @param color: the color to apply. + */ + setBackgroundColor(color) { + const scene = this.components.scene.get(); + if (!this._originalBackground) { + this._originalBackground = scene.background; + } + if (this._originalBackground) { + scene.background = color; + } + } + /** + * Resets the scene background to the color that was being used + * before applying the material manager. + */ + resetBackgroundColor() { + const scene = this.components.scene.get(); + if (this._originalBackground) { + scene.background = this._originalBackground; + } + } + /** + * Creates a new material style. + * @param id the identifier of the style to create. + * @param material the material of the style. + */ + addMaterial(id, material) { + if (this._list[id]) { + throw new Error("This ID already exists!"); + } + this._list[id] = { material, meshes: new Set() }; + } + /** + * Assign meshes to a certain style. + * @param id the identifier of the style. + * @param meshes the meshes to assign to the style. + */ + addMeshes(id, meshes) { + if (!this._list[id]) { + throw new Error("This ID doesn't exists!"); + } + for (const mesh of meshes) { + this._list[id].meshes.add(mesh); + } + } +} +MaterialManager.uuid = "24989d27-fa2f-4797-8b08-35918f74e502"; +ToolComponent.libraryUUIDs.add(MaterialManager.uuid); + +// OrbitControls performs orbiting, dollying (zooming), and panning. +// Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default). +// +// Orbit - left mouse / touch: one-finger move +// Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish +// Pan - right mouse, or left mouse + ctrl/meta/shiftKey, or arrow keys / touch: two-finger move + +const _changeEvent = { type: 'change' }; +const _startEvent = { type: 'start' }; +const _endEvent = { type: 'end' }; + +class OrbitControls extends EventDispatcher$1 { + + constructor( object, domElement ) { + + super(); + + this.object = object; + this.domElement = domElement; + this.domElement.style.touchAction = 'none'; // disable touch scroll + + // Set to false to disable this control + this.enabled = true; + + // "target" sets the location of focus, where the object orbits around + this.target = new Vector3$1(); + + // How far you can dolly in and out ( PerspectiveCamera only ) + this.minDistance = 0; + this.maxDistance = Infinity; + + // How far you can zoom in and out ( OrthographicCamera only ) + this.minZoom = 0; + this.maxZoom = Infinity; + + // How far you can orbit vertically, upper and lower limits. + // Range is 0 to Math.PI radians. + this.minPolarAngle = 0; // radians + this.maxPolarAngle = Math.PI; // radians + + // How far you can orbit horizontally, upper and lower limits. + // If set, the interval [ min, max ] must be a sub-interval of [ - 2 PI, 2 PI ], with ( max - min < 2 PI ) + this.minAzimuthAngle = - Infinity; // radians + this.maxAzimuthAngle = Infinity; // radians + + // Set to true to enable damping (inertia) + // If damping is enabled, you must call controls.update() in your animation loop + this.enableDamping = false; + this.dampingFactor = 0.05; + + // This option actually enables dollying in and out; left as "zoom" for backwards compatibility. + // Set to false to disable zooming + this.enableZoom = true; + this.zoomSpeed = 1.0; + + // Set to false to disable rotating + this.enableRotate = true; + this.rotateSpeed = 1.0; + + // Set to false to disable panning + this.enablePan = true; + this.panSpeed = 1.0; + this.screenSpacePanning = true; // if false, pan orthogonal to world-space direction camera.up + this.keyPanSpeed = 7.0; // pixels moved per arrow key push + + // Set to true to automatically rotate around the target + // If auto-rotate is enabled, you must call controls.update() in your animation loop + this.autoRotate = false; + this.autoRotateSpeed = 2.0; // 30 seconds per orbit when fps is 60 + + // The four arrow keys + this.keys = { LEFT: 'ArrowLeft', UP: 'ArrowUp', RIGHT: 'ArrowRight', BOTTOM: 'ArrowDown' }; + + // Mouse buttons + this.mouseButtons = { LEFT: MOUSE.ROTATE, MIDDLE: MOUSE.DOLLY, RIGHT: MOUSE.PAN }; + + // Touch fingers + this.touches = { ONE: TOUCH.ROTATE, TWO: TOUCH.DOLLY_PAN }; + + // for reset + this.target0 = this.target.clone(); + this.position0 = this.object.position.clone(); + this.zoom0 = this.object.zoom; + + // the target DOM element for key events + this._domElementKeyEvents = null; + + // + // public methods + // + + this.getPolarAngle = function () { + + return spherical.phi; + + }; + + this.getAzimuthalAngle = function () { + + return spherical.theta; + + }; + + this.getDistance = function () { + + return this.object.position.distanceTo( this.target ); + + }; + + this.listenToKeyEvents = function ( domElement ) { + + domElement.addEventListener( 'keydown', onKeyDown ); + this._domElementKeyEvents = domElement; + + }; + + this.stopListenToKeyEvents = function () { + + this._domElementKeyEvents.removeEventListener( 'keydown', onKeyDown ); + this._domElementKeyEvents = null; + + }; + + this.saveState = function () { + + scope.target0.copy( scope.target ); + scope.position0.copy( scope.object.position ); + scope.zoom0 = scope.object.zoom; + + }; + + this.reset = function () { + + scope.target.copy( scope.target0 ); + scope.object.position.copy( scope.position0 ); + scope.object.zoom = scope.zoom0; + + scope.object.updateProjectionMatrix(); + scope.dispatchEvent( _changeEvent ); + + scope.update(); + + state = STATE.NONE; + + }; + + // this method is exposed, but perhaps it would be better if we can make it private... + this.update = function () { + + const offset = new Vector3$1(); + + // so camera.up is the orbit axis + const quat = new Quaternion$1().setFromUnitVectors( object.up, new Vector3$1( 0, 1, 0 ) ); + const quatInverse = quat.clone().invert(); + + const lastPosition = new Vector3$1(); + const lastQuaternion = new Quaternion$1(); + + const twoPI = 2 * Math.PI; + + return function update() { + + const position = scope.object.position; + + offset.copy( position ).sub( scope.target ); + + // rotate offset to "y-axis-is-up" space + offset.applyQuaternion( quat ); + + // angle from z-axis around y-axis + spherical.setFromVector3( offset ); + + if ( scope.autoRotate && state === STATE.NONE ) { + + rotateLeft( getAutoRotationAngle() ); + + } + + if ( scope.enableDamping ) { + + spherical.theta += sphericalDelta.theta * scope.dampingFactor; + spherical.phi += sphericalDelta.phi * scope.dampingFactor; + + } else { + + spherical.theta += sphericalDelta.theta; + spherical.phi += sphericalDelta.phi; + + } + + // restrict theta to be between desired limits + + let min = scope.minAzimuthAngle; + let max = scope.maxAzimuthAngle; + + if ( isFinite( min ) && isFinite( max ) ) { + + if ( min < - Math.PI ) min += twoPI; else if ( min > Math.PI ) min -= twoPI; + + if ( max < - Math.PI ) max += twoPI; else if ( max > Math.PI ) max -= twoPI; + + if ( min <= max ) { + + spherical.theta = Math.max( min, Math.min( max, spherical.theta ) ); + + } else { + + spherical.theta = ( spherical.theta > ( min + max ) / 2 ) ? + Math.max( min, spherical.theta ) : + Math.min( max, spherical.theta ); + + } + + } + + // restrict phi to be between desired limits + spherical.phi = Math.max( scope.minPolarAngle, Math.min( scope.maxPolarAngle, spherical.phi ) ); + + spherical.makeSafe(); + + + spherical.radius *= scale; + + // restrict radius to be between desired limits + spherical.radius = Math.max( scope.minDistance, Math.min( scope.maxDistance, spherical.radius ) ); + + // move target to panned location + + if ( scope.enableDamping === true ) { + + scope.target.addScaledVector( panOffset, scope.dampingFactor ); + + } else { + + scope.target.add( panOffset ); + + } + + offset.setFromSpherical( spherical ); + + // rotate offset back to "camera-up-vector-is-up" space + offset.applyQuaternion( quatInverse ); + + position.copy( scope.target ).add( offset ); + + scope.object.lookAt( scope.target ); + + if ( scope.enableDamping === true ) { + + sphericalDelta.theta *= ( 1 - scope.dampingFactor ); + sphericalDelta.phi *= ( 1 - scope.dampingFactor ); + + panOffset.multiplyScalar( 1 - scope.dampingFactor ); + + } else { + + sphericalDelta.set( 0, 0, 0 ); + + panOffset.set( 0, 0, 0 ); + + } + + scale = 1; + + // update condition is: + // min(camera displacement, camera rotation in radians)^2 > EPS + // using small-angle approximation cos(x/2) = 1 - x^2 / 8 + + if ( zoomChanged || + lastPosition.distanceToSquared( scope.object.position ) > EPS || + 8 * ( 1 - lastQuaternion.dot( scope.object.quaternion ) ) > EPS ) { + + scope.dispatchEvent( _changeEvent ); + + lastPosition.copy( scope.object.position ); + lastQuaternion.copy( scope.object.quaternion ); + zoomChanged = false; + + return true; + + } + + return false; + + }; + + }(); + + this.dispose = function () { + + scope.domElement.removeEventListener( 'contextmenu', onContextMenu ); + + scope.domElement.removeEventListener( 'pointerdown', onPointerDown ); + scope.domElement.removeEventListener( 'pointercancel', onPointerUp ); + scope.domElement.removeEventListener( 'wheel', onMouseWheel ); + + scope.domElement.removeEventListener( 'pointermove', onPointerMove ); + scope.domElement.removeEventListener( 'pointerup', onPointerUp ); + + + if ( scope._domElementKeyEvents !== null ) { + + scope._domElementKeyEvents.removeEventListener( 'keydown', onKeyDown ); + scope._domElementKeyEvents = null; + + } + + //scope.dispatchEvent( { type: 'dispose' } ); // should this be added here? + + }; + + // + // internals + // + + const scope = this; + + const STATE = { + NONE: - 1, + ROTATE: 0, + DOLLY: 1, + PAN: 2, + TOUCH_ROTATE: 3, + TOUCH_PAN: 4, + TOUCH_DOLLY_PAN: 5, + TOUCH_DOLLY_ROTATE: 6 + }; + + let state = STATE.NONE; + + const EPS = 0.000001; + + // current position in spherical coordinates + const spherical = new Spherical(); + const sphericalDelta = new Spherical(); + + let scale = 1; + const panOffset = new Vector3$1(); + let zoomChanged = false; + + const rotateStart = new Vector2$1(); + const rotateEnd = new Vector2$1(); + const rotateDelta = new Vector2$1(); + + const panStart = new Vector2$1(); + const panEnd = new Vector2$1(); + const panDelta = new Vector2$1(); + + const dollyStart = new Vector2$1(); + const dollyEnd = new Vector2$1(); + const dollyDelta = new Vector2$1(); + + const pointers = []; + const pointerPositions = {}; + + function getAutoRotationAngle() { + + return 2 * Math.PI / 60 / 60 * scope.autoRotateSpeed; + + } + + function getZoomScale() { + + return Math.pow( 0.95, scope.zoomSpeed ); + + } + + function rotateLeft( angle ) { + + sphericalDelta.theta -= angle; + + } + + function rotateUp( angle ) { + + sphericalDelta.phi -= angle; + + } + + const panLeft = function () { + + const v = new Vector3$1(); + + return function panLeft( distance, objectMatrix ) { + + v.setFromMatrixColumn( objectMatrix, 0 ); // get X column of objectMatrix + v.multiplyScalar( - distance ); + + panOffset.add( v ); + + }; + + }(); + + const panUp = function () { + + const v = new Vector3$1(); + + return function panUp( distance, objectMatrix ) { + + if ( scope.screenSpacePanning === true ) { + + v.setFromMatrixColumn( objectMatrix, 1 ); + + } else { + + v.setFromMatrixColumn( objectMatrix, 0 ); + v.crossVectors( scope.object.up, v ); + + } + + v.multiplyScalar( distance ); + + panOffset.add( v ); + + }; + + }(); + + // deltaX and deltaY are in pixels; right and down are positive + const pan = function () { + + const offset = new Vector3$1(); + + return function pan( deltaX, deltaY ) { + + const element = scope.domElement; + + if ( scope.object.isPerspectiveCamera ) { + + // perspective + const position = scope.object.position; + offset.copy( position ).sub( scope.target ); + let targetDistance = offset.length(); + + // half of the fov is center to top of screen + targetDistance *= Math.tan( ( scope.object.fov / 2 ) * Math.PI / 180.0 ); + + // we use only clientHeight here so aspect ratio does not distort speed + panLeft( 2 * deltaX * targetDistance / element.clientHeight, scope.object.matrix ); + panUp( 2 * deltaY * targetDistance / element.clientHeight, scope.object.matrix ); + + } else if ( scope.object.isOrthographicCamera ) { + + // orthographic + panLeft( deltaX * ( scope.object.right - scope.object.left ) / scope.object.zoom / element.clientWidth, scope.object.matrix ); + panUp( deltaY * ( scope.object.top - scope.object.bottom ) / scope.object.zoom / element.clientHeight, scope.object.matrix ); + + } else { + + // camera neither orthographic nor perspective + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.' ); + scope.enablePan = false; + + } + + }; + + }(); + + function dollyOut( dollyScale ) { + + if ( scope.object.isPerspectiveCamera ) { + + scale /= dollyScale; + + } else if ( scope.object.isOrthographicCamera ) { + + scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom * dollyScale ) ); + scope.object.updateProjectionMatrix(); + zoomChanged = true; + + } else { + + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); + scope.enableZoom = false; + + } + + } + + function dollyIn( dollyScale ) { + + if ( scope.object.isPerspectiveCamera ) { + + scale *= dollyScale; + + } else if ( scope.object.isOrthographicCamera ) { + + scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom / dollyScale ) ); + scope.object.updateProjectionMatrix(); + zoomChanged = true; + + } else { + + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); + scope.enableZoom = false; + + } + + } + + // + // event callbacks - update the object state + // + + function handleMouseDownRotate( event ) { + + rotateStart.set( event.clientX, event.clientY ); + + } + + function handleMouseDownDolly( event ) { + + dollyStart.set( event.clientX, event.clientY ); + + } + + function handleMouseDownPan( event ) { + + panStart.set( event.clientX, event.clientY ); + + } + + function handleMouseMoveRotate( event ) { + + rotateEnd.set( event.clientX, event.clientY ); + + rotateDelta.subVectors( rotateEnd, rotateStart ).multiplyScalar( scope.rotateSpeed ); + + const element = scope.domElement; + + rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientHeight ); // yes, height + + rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight ); + + rotateStart.copy( rotateEnd ); + + scope.update(); + + } + + function handleMouseMoveDolly( event ) { + + dollyEnd.set( event.clientX, event.clientY ); + + dollyDelta.subVectors( dollyEnd, dollyStart ); + + if ( dollyDelta.y > 0 ) { + + dollyOut( getZoomScale() ); + + } else if ( dollyDelta.y < 0 ) { + + dollyIn( getZoomScale() ); + + } + + dollyStart.copy( dollyEnd ); + + scope.update(); + + } + + function handleMouseMovePan( event ) { + + panEnd.set( event.clientX, event.clientY ); + + panDelta.subVectors( panEnd, panStart ).multiplyScalar( scope.panSpeed ); + + pan( panDelta.x, panDelta.y ); + + panStart.copy( panEnd ); + + scope.update(); + + } + + function handleMouseWheel( event ) { + + if ( event.deltaY < 0 ) { + + dollyIn( getZoomScale() ); + + } else if ( event.deltaY > 0 ) { + + dollyOut( getZoomScale() ); + + } + + scope.update(); + + } + + function handleKeyDown( event ) { + + let needsUpdate = false; + + switch ( event.code ) { + + case scope.keys.UP: + + if ( event.ctrlKey || event.metaKey || event.shiftKey ) { + + rotateUp( 2 * Math.PI * scope.rotateSpeed / scope.domElement.clientHeight ); + + } else { + + pan( 0, scope.keyPanSpeed ); + + } + + needsUpdate = true; + break; + + case scope.keys.BOTTOM: + + if ( event.ctrlKey || event.metaKey || event.shiftKey ) { + + rotateUp( - 2 * Math.PI * scope.rotateSpeed / scope.domElement.clientHeight ); + + } else { + + pan( 0, - scope.keyPanSpeed ); + + } + + needsUpdate = true; + break; + + case scope.keys.LEFT: + + if ( event.ctrlKey || event.metaKey || event.shiftKey ) { + + rotateLeft( 2 * Math.PI * scope.rotateSpeed / scope.domElement.clientHeight ); + + } else { + + pan( scope.keyPanSpeed, 0 ); + + } + + needsUpdate = true; + break; + + case scope.keys.RIGHT: + + if ( event.ctrlKey || event.metaKey || event.shiftKey ) { + + rotateLeft( - 2 * Math.PI * scope.rotateSpeed / scope.domElement.clientHeight ); + + } else { + + pan( - scope.keyPanSpeed, 0 ); + + } + + needsUpdate = true; + break; + + } + + if ( needsUpdate ) { + + // prevent the browser from scrolling on cursor keys + event.preventDefault(); + + scope.update(); + + } + + + } + + function handleTouchStartRotate() { + + if ( pointers.length === 1 ) { + + rotateStart.set( pointers[ 0 ].pageX, pointers[ 0 ].pageY ); + + } else { + + const x = 0.5 * ( pointers[ 0 ].pageX + pointers[ 1 ].pageX ); + const y = 0.5 * ( pointers[ 0 ].pageY + pointers[ 1 ].pageY ); + + rotateStart.set( x, y ); + + } + + } + + function handleTouchStartPan() { + + if ( pointers.length === 1 ) { + + panStart.set( pointers[ 0 ].pageX, pointers[ 0 ].pageY ); + + } else { + + const x = 0.5 * ( pointers[ 0 ].pageX + pointers[ 1 ].pageX ); + const y = 0.5 * ( pointers[ 0 ].pageY + pointers[ 1 ].pageY ); + + panStart.set( x, y ); + + } + + } + + function handleTouchStartDolly() { + + const dx = pointers[ 0 ].pageX - pointers[ 1 ].pageX; + const dy = pointers[ 0 ].pageY - pointers[ 1 ].pageY; + + const distance = Math.sqrt( dx * dx + dy * dy ); + + dollyStart.set( 0, distance ); + + } + + function handleTouchStartDollyPan() { + + if ( scope.enableZoom ) handleTouchStartDolly(); + + if ( scope.enablePan ) handleTouchStartPan(); + + } + + function handleTouchStartDollyRotate() { + + if ( scope.enableZoom ) handleTouchStartDolly(); + + if ( scope.enableRotate ) handleTouchStartRotate(); + + } + + function handleTouchMoveRotate( event ) { + + if ( pointers.length == 1 ) { + + rotateEnd.set( event.pageX, event.pageY ); + + } else { + + const position = getSecondPointerPosition( event ); + + const x = 0.5 * ( event.pageX + position.x ); + const y = 0.5 * ( event.pageY + position.y ); + + rotateEnd.set( x, y ); + + } + + rotateDelta.subVectors( rotateEnd, rotateStart ).multiplyScalar( scope.rotateSpeed ); + + const element = scope.domElement; + + rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientHeight ); // yes, height + + rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight ); + + rotateStart.copy( rotateEnd ); + + } + + function handleTouchMovePan( event ) { + + if ( pointers.length === 1 ) { + + panEnd.set( event.pageX, event.pageY ); + + } else { + + const position = getSecondPointerPosition( event ); + + const x = 0.5 * ( event.pageX + position.x ); + const y = 0.5 * ( event.pageY + position.y ); + + panEnd.set( x, y ); + + } + + panDelta.subVectors( panEnd, panStart ).multiplyScalar( scope.panSpeed ); + + pan( panDelta.x, panDelta.y ); + + panStart.copy( panEnd ); + + } + + function handleTouchMoveDolly( event ) { + + const position = getSecondPointerPosition( event ); + + const dx = event.pageX - position.x; + const dy = event.pageY - position.y; + + const distance = Math.sqrt( dx * dx + dy * dy ); + + dollyEnd.set( 0, distance ); + + dollyDelta.set( 0, Math.pow( dollyEnd.y / dollyStart.y, scope.zoomSpeed ) ); + + dollyOut( dollyDelta.y ); + + dollyStart.copy( dollyEnd ); + + } + + function handleTouchMoveDollyPan( event ) { + + if ( scope.enableZoom ) handleTouchMoveDolly( event ); + + if ( scope.enablePan ) handleTouchMovePan( event ); + + } + + function handleTouchMoveDollyRotate( event ) { + + if ( scope.enableZoom ) handleTouchMoveDolly( event ); + + if ( scope.enableRotate ) handleTouchMoveRotate( event ); + + } + + // + // event handlers - FSM: listen for events and reset state + // + + function onPointerDown( event ) { + + if ( scope.enabled === false ) return; + + if ( pointers.length === 0 ) { + + scope.domElement.setPointerCapture( event.pointerId ); + + scope.domElement.addEventListener( 'pointermove', onPointerMove ); + scope.domElement.addEventListener( 'pointerup', onPointerUp ); + + } + + // + + addPointer( event ); + + if ( event.pointerType === 'touch' ) { + + onTouchStart( event ); + + } else { + + onMouseDown( event ); + + } + + } + + function onPointerMove( event ) { + + if ( scope.enabled === false ) return; + + if ( event.pointerType === 'touch' ) { + + onTouchMove( event ); + + } else { + + onMouseMove( event ); + + } + + } + + function onPointerUp( event ) { + + removePointer( event ); + + if ( pointers.length === 0 ) { + + scope.domElement.releasePointerCapture( event.pointerId ); + + scope.domElement.removeEventListener( 'pointermove', onPointerMove ); + scope.domElement.removeEventListener( 'pointerup', onPointerUp ); + + } + + scope.dispatchEvent( _endEvent ); + + state = STATE.NONE; + + } + + function onMouseDown( event ) { + + let mouseAction; + + switch ( event.button ) { + + case 0: + + mouseAction = scope.mouseButtons.LEFT; + break; + + case 1: + + mouseAction = scope.mouseButtons.MIDDLE; + break; + + case 2: + + mouseAction = scope.mouseButtons.RIGHT; + break; + + default: + + mouseAction = - 1; + + } + + switch ( mouseAction ) { + + case MOUSE.DOLLY: + + if ( scope.enableZoom === false ) return; + + handleMouseDownDolly( event ); + + state = STATE.DOLLY; + + break; + + case MOUSE.ROTATE: + + if ( event.ctrlKey || event.metaKey || event.shiftKey ) { + + if ( scope.enablePan === false ) return; + + handleMouseDownPan( event ); + + state = STATE.PAN; + + } else { + + if ( scope.enableRotate === false ) return; + + handleMouseDownRotate( event ); + + state = STATE.ROTATE; + + } + + break; + + case MOUSE.PAN: + + if ( event.ctrlKey || event.metaKey || event.shiftKey ) { + + if ( scope.enableRotate === false ) return; + + handleMouseDownRotate( event ); + + state = STATE.ROTATE; + + } else { + + if ( scope.enablePan === false ) return; + + handleMouseDownPan( event ); + + state = STATE.PAN; + + } + + break; + + default: + + state = STATE.NONE; + + } + + if ( state !== STATE.NONE ) { + + scope.dispatchEvent( _startEvent ); + + } + + } + + function onMouseMove( event ) { + + switch ( state ) { + + case STATE.ROTATE: + + if ( scope.enableRotate === false ) return; + + handleMouseMoveRotate( event ); + + break; + + case STATE.DOLLY: + + if ( scope.enableZoom === false ) return; + + handleMouseMoveDolly( event ); + + break; + + case STATE.PAN: + + if ( scope.enablePan === false ) return; + + handleMouseMovePan( event ); + + break; + + } + + } + + function onMouseWheel( event ) { + + if ( scope.enabled === false || scope.enableZoom === false || state !== STATE.NONE ) return; + + event.preventDefault(); + + scope.dispatchEvent( _startEvent ); + + handleMouseWheel( event ); + + scope.dispatchEvent( _endEvent ); + + } + + function onKeyDown( event ) { + + if ( scope.enabled === false || scope.enablePan === false ) return; + + handleKeyDown( event ); + + } + + function onTouchStart( event ) { + + trackPointer( event ); + + switch ( pointers.length ) { + + case 1: + + switch ( scope.touches.ONE ) { + + case TOUCH.ROTATE: + + if ( scope.enableRotate === false ) return; + + handleTouchStartRotate(); + + state = STATE.TOUCH_ROTATE; + + break; + + case TOUCH.PAN: + + if ( scope.enablePan === false ) return; + + handleTouchStartPan(); + + state = STATE.TOUCH_PAN; + + break; + + default: + + state = STATE.NONE; + + } + + break; + + case 2: + + switch ( scope.touches.TWO ) { + + case TOUCH.DOLLY_PAN: + + if ( scope.enableZoom === false && scope.enablePan === false ) return; + + handleTouchStartDollyPan(); + + state = STATE.TOUCH_DOLLY_PAN; + + break; + + case TOUCH.DOLLY_ROTATE: + + if ( scope.enableZoom === false && scope.enableRotate === false ) return; + + handleTouchStartDollyRotate(); + + state = STATE.TOUCH_DOLLY_ROTATE; + + break; + + default: + + state = STATE.NONE; + + } + + break; + + default: + + state = STATE.NONE; + + } + + if ( state !== STATE.NONE ) { + + scope.dispatchEvent( _startEvent ); + + } + + } + + function onTouchMove( event ) { + + trackPointer( event ); + + switch ( state ) { + + case STATE.TOUCH_ROTATE: + + if ( scope.enableRotate === false ) return; + + handleTouchMoveRotate( event ); + + scope.update(); + + break; + + case STATE.TOUCH_PAN: + + if ( scope.enablePan === false ) return; + + handleTouchMovePan( event ); + + scope.update(); + + break; + + case STATE.TOUCH_DOLLY_PAN: + + if ( scope.enableZoom === false && scope.enablePan === false ) return; + + handleTouchMoveDollyPan( event ); + + scope.update(); + + break; + + case STATE.TOUCH_DOLLY_ROTATE: + + if ( scope.enableZoom === false && scope.enableRotate === false ) return; + + handleTouchMoveDollyRotate( event ); + + scope.update(); + + break; + + default: + + state = STATE.NONE; + + } + + } + + function onContextMenu( event ) { + + if ( scope.enabled === false ) return; + + event.preventDefault(); + + } + + function addPointer( event ) { + + pointers.push( event ); + + } + + function removePointer( event ) { + + delete pointerPositions[ event.pointerId ]; + + for ( let i = 0; i < pointers.length; i ++ ) { + + if ( pointers[ i ].pointerId == event.pointerId ) { + + pointers.splice( i, 1 ); + return; + + } + + } + + } + + function trackPointer( event ) { + + let position = pointerPositions[ event.pointerId ]; + + if ( position === undefined ) { + + position = new Vector2$1(); + pointerPositions[ event.pointerId ] = position; + + } + + position.set( event.pageX, event.pageY ); + + } + + function getSecondPointerPosition( event ) { + + const pointer = ( event.pointerId === pointers[ 0 ].pointerId ) ? pointers[ 1 ] : pointers[ 0 ]; + + return pointerPositions[ pointer.pointerId ]; + + } + + // + + scope.domElement.addEventListener( 'contextmenu', onContextMenu ); + + scope.domElement.addEventListener( 'pointerdown', onPointerDown ); + scope.domElement.addEventListener( 'pointercancel', onPointerUp ); + scope.domElement.addEventListener( 'wheel', onMouseWheel, { passive: false } ); + + // force an update at start + + this.update(); + + } + +} + +// TODO: Decouple from floating window so it can be used anywhere (eg. on drawers) +/** + * A simple floating 2D scene that you can use to easily draw 2D graphics + * with all the power of Three.js. + */ +class Simple2DScene extends Component { + constructor(components) { + super(components); + /** {@link Updateable.onAfterUpdate} */ + this.onAfterUpdate = new Event(); + /** {@link Updateable.onBeforeUpdate} */ + this.onBeforeUpdate = new Event(); + /** {@link Resizeable.onResize} */ + this.onResize = new Event(); + /** {@link Component.enabled} */ + this.enabled = true; + /** {@link UI.uiElement} */ + this.uiElement = new UIElement(); + this._frustumSize = 50; + /** {@link Resizeable.resize} */ + this.resize = () => { + const parent = this.uiElement.get("canvas").parent; + if (!parent) + return; + const { clientWidth, clientHeight } = parent.domElement; + this._size.width = clientWidth; + this._size.height = clientHeight; + const { width, height } = this._size; + const aspect = width / height; + this._camera.left = (-this._frustumSize * aspect) / 2; + this._camera.right = (this._frustumSize * aspect) / 2; + this._camera.top = this._frustumSize / 2; + this._camera.bottom = -this._frustumSize / 2; + this._camera.updateProjectionMatrix(); + this._camera.updateProjectionMatrix(); + this._renderer.setSize(this._size.width, this._size.height); + }; + if (!components.ui.enabled) { + throw new Error("The Simple2DScene component needs to use UI elements (TODO: Decouple from them)."); + } + const canvas = new Canvas(components); + canvas.domElement.classList.remove("absolute"); + const mainWindow = new FloatingWindow(components); + components.ui.add(mainWindow); + mainWindow.visible = false; + mainWindow.domElement.style.height = "20rem"; + mainWindow.addChild(canvas); + const main = new Button(components); + main.materialIcon = "fact_check"; + main.tooltip = "2D scene"; + main.onClick.add(() => { + mainWindow.visible = !mainWindow.visible; + }); + this.uiElement.set({ mainWindow, main, canvas }); + this._scene = new THREE$1.Scene(); + this._size = { + width: mainWindow.domElement.clientWidth, + height: mainWindow.domElement.clientHeight, + }; + const { width, height } = this._size; + // Creates the camera (point of view of the user) + this._camera = new THREE$1.OrthographicCamera(75, width / height); + this._camera.position.z = 10; + this._renderer = new THREE$1.WebGLRenderer({ canvas: canvas.get() }); + this._renderer.setSize(width, height); + this._renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2)); + // Creates the orbit controls (to navigate the scene) + this.controls = new OrbitControls(this._camera, this._renderer.domElement); + this.controls.target.set(0, 0, 0); + this.controls.enableRotate = false; + this.controls.enableZoom = true; + const parent = this.uiElement.get("canvas").parent; + if (parent) { + parent.domElement.classList.remove("p-4"); + parent.domElement.classList.remove("overflow-auto"); + parent.domElement.classList.add("overflow-hidden"); + parent.domElement.classList.add("h-full"); + } + mainWindow.onResized.add(this.resize); + mainWindow.domElement.style.width = "20rem"; + mainWindow.domElement.style.height = "20rem"; + } + /** + * {@link Component.get} + * @returns the 2D scene. + */ + get() { + return this._scene; + } + /** {@link Disposable.dispose} */ + async dispose() { + this._renderer.dispose(); + await this.uiElement.dispose(); + } + /** {@link Updateable.update} */ + async update() { + await this.onBeforeUpdate.trigger(); + this.controls.update(); + this._renderer.render(this._scene, this._camera); + await this.onAfterUpdate.trigger(); + } + /** {@link Resizeable.getSize} */ + getSize() { + return new THREE$1.Vector2(this._size.width, this._size.height); + } +} +Simple2DScene.uuid = "b48b7194-0f9a-43a4-a718-270b1522595f"; + +/** + * @param {Array} geometries + * @param {Boolean} useGroups + * @return {BufferGeometry} + */ +function mergeGeometries( geometries, useGroups = false ) { + + const isIndexed = geometries[ 0 ].index !== null; + + const attributesUsed = new Set( Object.keys( geometries[ 0 ].attributes ) ); + const morphAttributesUsed = new Set( Object.keys( geometries[ 0 ].morphAttributes ) ); + + const attributes = {}; + const morphAttributes = {}; + + const morphTargetsRelative = geometries[ 0 ].morphTargetsRelative; + + const mergedGeometry = new BufferGeometry(); + + let offset = 0; + + for ( let i = 0; i < geometries.length; ++ i ) { + + const geometry = geometries[ i ]; + let attributesCount = 0; + + // ensure that all geometries are indexed, or none + + if ( isIndexed !== ( geometry.index !== null ) ) { + + console.error( 'THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index ' + i + '. All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them.' ); + return null; + + } + + // gather attributes, exit early if they're different + + for ( const name in geometry.attributes ) { + + if ( ! attributesUsed.has( name ) ) { + + console.error( 'THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index ' + i + '. All geometries must have compatible attributes; make sure "' + name + '" attribute exists among all geometries, or in none of them.' ); + return null; + + } + + if ( attributes[ name ] === undefined ) attributes[ name ] = []; + + attributes[ name ].push( geometry.attributes[ name ] ); + + attributesCount ++; + + } + + // ensure geometries have the same number of attributes + + if ( attributesCount !== attributesUsed.size ) { + + console.error( 'THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index ' + i + '. Make sure all geometries have the same number of attributes.' ); + return null; + + } + + // gather morph attributes, exit early if they're different + + if ( morphTargetsRelative !== geometry.morphTargetsRelative ) { + + console.error( 'THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index ' + i + '. .morphTargetsRelative must be consistent throughout all geometries.' ); + return null; + + } + + for ( const name in geometry.morphAttributes ) { + + if ( ! morphAttributesUsed.has( name ) ) { + + console.error( 'THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index ' + i + '. .morphAttributes must be consistent throughout all geometries.' ); + return null; + + } + + if ( morphAttributes[ name ] === undefined ) morphAttributes[ name ] = []; + + morphAttributes[ name ].push( geometry.morphAttributes[ name ] ); + + } + + if ( useGroups ) { + + let count; + + if ( isIndexed ) { + + count = geometry.index.count; + + } else if ( geometry.attributes.position !== undefined ) { + + count = geometry.attributes.position.count; + + } else { + + console.error( 'THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index ' + i + '. The geometry must have either an index or a position attribute' ); + return null; + + } + + mergedGeometry.addGroup( offset, count, i ); + + offset += count; + + } + + } + + // merge indices + + if ( isIndexed ) { + + let indexOffset = 0; + const mergedIndex = []; + + for ( let i = 0; i < geometries.length; ++ i ) { + + const index = geometries[ i ].index; + + for ( let j = 0; j < index.count; ++ j ) { + + mergedIndex.push( index.getX( j ) + indexOffset ); + + } + + indexOffset += geometries[ i ].attributes.position.count; + + } + + mergedGeometry.setIndex( mergedIndex ); + + } + + // merge attributes + + for ( const name in attributes ) { + + const mergedAttribute = mergeAttributes( attributes[ name ] ); + + if ( ! mergedAttribute ) { + + console.error( 'THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the ' + name + ' attribute.' ); + return null; + + } + + mergedGeometry.setAttribute( name, mergedAttribute ); + + } + + // merge morph attributes + + for ( const name in morphAttributes ) { + + const numMorphTargets = morphAttributes[ name ][ 0 ].length; + + if ( numMorphTargets === 0 ) break; + + mergedGeometry.morphAttributes = mergedGeometry.morphAttributes || {}; + mergedGeometry.morphAttributes[ name ] = []; + + for ( let i = 0; i < numMorphTargets; ++ i ) { + + const morphAttributesToMerge = []; + + for ( let j = 0; j < morphAttributes[ name ].length; ++ j ) { + + morphAttributesToMerge.push( morphAttributes[ name ][ j ][ i ] ); + + } + + const mergedMorphAttribute = mergeAttributes( morphAttributesToMerge ); + + if ( ! mergedMorphAttribute ) { + + console.error( 'THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the ' + name + ' morphAttribute.' ); + return null; + + } + + mergedGeometry.morphAttributes[ name ].push( mergedMorphAttribute ); + + } + + } + + return mergedGeometry; + +} + +/** + * @param {Array} attributes + * @return {BufferAttribute} + */ +function mergeAttributes( attributes ) { + + let TypedArray; + let itemSize; + let normalized; + let arrayLength = 0; + + for ( let i = 0; i < attributes.length; ++ i ) { + + const attribute = attributes[ i ]; + + if ( attribute.isInterleavedBufferAttribute ) { + + console.error( 'THREE.BufferGeometryUtils: .mergeAttributes() failed. InterleavedBufferAttributes are not supported.' ); + return null; + + } + + if ( TypedArray === undefined ) TypedArray = attribute.array.constructor; + if ( TypedArray !== attribute.array.constructor ) { + + console.error( 'THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes.' ); + return null; + + } + + if ( itemSize === undefined ) itemSize = attribute.itemSize; + if ( itemSize !== attribute.itemSize ) { + + console.error( 'THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes.' ); + return null; + + } + + if ( normalized === undefined ) normalized = attribute.normalized; + if ( normalized !== attribute.normalized ) { + + console.error( 'THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes.' ); + return null; + + } + + arrayLength += attribute.array.length; + + } + + const array = new TypedArray( arrayLength ); + let offset = 0; + + for ( let i = 0; i < attributes.length; ++ i ) { + + array.set( attributes[ i ].array, offset ); + + offset += attributes[ i ].array.length; + + } + + return new BufferAttribute$1( array, itemSize, normalized ); + +} + +class GeometryUtils { + static merge(geometriesByMaterial, splitByBlocks = false) { + const geometriesByMat = []; + const sizes = []; + for (const geometries of geometriesByMaterial) { + const merged = this.mergeGeomsOfSameMaterial(geometries, splitByBlocks); + geometriesByMat.push(merged); + sizes.push(merged.index.count); + } + const geometry = mergeGeometries(geometriesByMat); + this.setupMaterialGroups(sizes, geometry); + this.cleanUp(geometriesByMat); + return geometry; + } + // When Three.js exports to glTF, it generates one separate mesh per material. All meshes + // share the same BufferAttributes and have different indices + static async mergeGltfMeshes(meshes) { + const geometry = new BufferGeometry(); + const attributes = meshes[0].geometry.attributes; + this.getMeshesAttributes(geometry, attributes); + this.getMeshesIndices(geometry, meshes); + return geometry; + } + static getMeshesAttributes(geometry, attributes) { + // Three.js GLTFExporter exports custom BufferAttributes as underscore lowercase + // eslint-disable-next-line no-underscore-dangle + geometry.setAttribute("blockID", attributes._blockid); + geometry.setAttribute("position", attributes.position); + geometry.setAttribute("normal", attributes.normal); + geometry.groups = []; + } + static getMeshesIndices(geometry, meshes) { + const counter = { index: 0, material: 0 }; + const indices = []; + for (const mesh of meshes) { + const index = mesh.geometry.index; + this.getIndicesOfMesh(index, indices); + this.getMeshGroup(geometry, counter, index); + this.cleanUpMesh(mesh); + } + geometry.setIndex(indices); + } + static getMeshGroup(geometry, counter, index) { + geometry.groups.push({ + start: counter.index, + count: index.count, + materialIndex: counter.material++, + }); + counter.index += index.count; + } + static cleanUpMesh(mesh) { + mesh.geometry.setIndex([]); + mesh.geometry.attributes = {}; + mesh.geometry.dispose(); + } + static getIndicesOfMesh(index, indices) { + for (const number of index.array) { + indices.push(number); + } + } + static cleanUp(geometries) { + geometries.forEach((geometry) => geometry.dispose()); + geometries.length = 0; + } + static setupMaterialGroups(sizes, geometry) { + let vertexCounter = 0; + let counter = 0; + for (const size of sizes) { + const group = { + start: vertexCounter, + count: size, + materialIndex: counter++, + }; + geometry.groups.push(group); + vertexCounter += size; + } + } + static mergeGeomsOfSameMaterial(geometries, splitByBlocks) { + this.checkAllGeometriesAreIndexed(geometries); + if (splitByBlocks) { + this.splitByBlocks(geometries); + } + const merged = mergeGeometries(geometries); + this.cleanUp(geometries); + return merged; + } + static splitByBlocks(geometries) { + let i = 0; + for (const geometry of geometries) { + const size = geometry.attributes.position.count; + // TODO: Substitute blockID attribute by block id map + const array = new Uint16Array(size).fill(i++); + geometry.setAttribute("blockID", new BufferAttribute$1(array, 1)); + } + } + static checkAllGeometriesAreIndexed(geometries) { + for (const geometry of geometries) { + if (!geometry.index) { + throw new Error("All geometries must be indexed!"); + } + } + } +} + +/** + * The KHR_mesh_quantization extension allows these extra attribute component types + * + * @see https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_mesh_quantization/README.md#extending-mesh-attributes + */ +const KHR_mesh_quantization_ExtraAttrTypes = { + POSITION: [ + 'byte', + 'byte normalized', + 'unsigned byte', + 'unsigned byte normalized', + 'short', + 'short normalized', + 'unsigned short', + 'unsigned short normalized', + ], + NORMAL: [ + 'byte normalized', + 'short normalized', + ], + TANGENT: [ + 'byte normalized', + 'short normalized', + ], + TEXCOORD: [ + 'byte', + 'byte normalized', + 'unsigned byte', + 'short', + 'short normalized', + 'unsigned short', + ], +}; + + +class GLTFExporter { + + constructor() { + + this.pluginCallbacks = []; + + this.register( function ( writer ) { + + return new GLTFLightExtension( writer ); + + } ); + + this.register( function ( writer ) { + + return new GLTFMaterialsUnlitExtension( writer ); + + } ); + + this.register( function ( writer ) { + + return new GLTFMaterialsTransmissionExtension( writer ); + + } ); + + this.register( function ( writer ) { + + return new GLTFMaterialsVolumeExtension( writer ); + + } ); + + this.register( function ( writer ) { + + return new GLTFMaterialsIorExtension( writer ); + + } ); + + this.register( function ( writer ) { + + return new GLTFMaterialsSpecularExtension( writer ); + + } ); + + this.register( function ( writer ) { + + return new GLTFMaterialsClearcoatExtension( writer ); + + } ); + + this.register( function ( writer ) { + + return new GLTFMaterialsIridescenceExtension( writer ); + + } ); + + this.register( function ( writer ) { + + return new GLTFMaterialsSheenExtension( writer ); + + } ); + + this.register( function ( writer ) { + + return new GLTFMaterialsEmissiveStrengthExtension( writer ); + + } ); + + } + + register( callback ) { + + if ( this.pluginCallbacks.indexOf( callback ) === - 1 ) { + + this.pluginCallbacks.push( callback ); + + } + + return this; + + } + + unregister( callback ) { + + if ( this.pluginCallbacks.indexOf( callback ) !== - 1 ) { + + this.pluginCallbacks.splice( this.pluginCallbacks.indexOf( callback ), 1 ); + + } + + return this; + + } + + /** + * Parse scenes and generate GLTF output + * @param {Scene or [THREE.Scenes]} input Scene or Array of THREE.Scenes + * @param {Function} onDone Callback on completed + * @param {Function} onError Callback on errors + * @param {Object} options options + */ + parse( input, onDone, onError, options ) { + + const writer = new GLTFWriter(); + const plugins = []; + + for ( let i = 0, il = this.pluginCallbacks.length; i < il; i ++ ) { + + plugins.push( this.pluginCallbacks[ i ]( writer ) ); + + } + + writer.setPlugins( plugins ); + writer.write( input, onDone, options ).catch( onError ); + + } + + parseAsync( input, options ) { + + const scope = this; + + return new Promise( function ( resolve, reject ) { + + scope.parse( input, resolve, reject, options ); + + } ); + + } + +} + +//------------------------------------------------------------------------------ +// Constants +//------------------------------------------------------------------------------ + +const WEBGL_CONSTANTS = { + POINTS: 0x0000, + LINES: 0x0001, + LINE_LOOP: 0x0002, + LINE_STRIP: 0x0003, + TRIANGLES: 0x0004, + TRIANGLE_STRIP: 0x0005, + TRIANGLE_FAN: 0x0006, + + BYTE: 0x1400, + UNSIGNED_BYTE: 0x1401, + SHORT: 0x1402, + UNSIGNED_SHORT: 0x1403, + INT: 0x1404, + UNSIGNED_INT: 0x1405, + FLOAT: 0x1406, + + ARRAY_BUFFER: 0x8892, + ELEMENT_ARRAY_BUFFER: 0x8893, + + NEAREST: 0x2600, + LINEAR: 0x2601, + NEAREST_MIPMAP_NEAREST: 0x2700, + LINEAR_MIPMAP_NEAREST: 0x2701, + NEAREST_MIPMAP_LINEAR: 0x2702, + LINEAR_MIPMAP_LINEAR: 0x2703, + + CLAMP_TO_EDGE: 33071, + MIRRORED_REPEAT: 33648, + REPEAT: 10497 +}; + +const KHR_MESH_QUANTIZATION = 'KHR_mesh_quantization'; + +const THREE_TO_WEBGL = {}; + +THREE_TO_WEBGL[ NearestFilter ] = WEBGL_CONSTANTS.NEAREST; +THREE_TO_WEBGL[ NearestMipmapNearestFilter ] = WEBGL_CONSTANTS.NEAREST_MIPMAP_NEAREST; +THREE_TO_WEBGL[ NearestMipmapLinearFilter ] = WEBGL_CONSTANTS.NEAREST_MIPMAP_LINEAR; +THREE_TO_WEBGL[ LinearFilter ] = WEBGL_CONSTANTS.LINEAR; +THREE_TO_WEBGL[ LinearMipmapNearestFilter ] = WEBGL_CONSTANTS.LINEAR_MIPMAP_NEAREST; +THREE_TO_WEBGL[ LinearMipmapLinearFilter ] = WEBGL_CONSTANTS.LINEAR_MIPMAP_LINEAR; + +THREE_TO_WEBGL[ ClampToEdgeWrapping ] = WEBGL_CONSTANTS.CLAMP_TO_EDGE; +THREE_TO_WEBGL[ RepeatWrapping ] = WEBGL_CONSTANTS.REPEAT; +THREE_TO_WEBGL[ MirroredRepeatWrapping ] = WEBGL_CONSTANTS.MIRRORED_REPEAT; + +const PATH_PROPERTIES = { + scale: 'scale', + position: 'translation', + quaternion: 'rotation', + morphTargetInfluences: 'weights' +}; + +const DEFAULT_SPECULAR_COLOR = new Color(); + +// GLB constants +// https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#glb-file-format-specification + +const GLB_HEADER_BYTES = 12; +const GLB_HEADER_MAGIC = 0x46546C67; +const GLB_VERSION = 2; + +const GLB_CHUNK_PREFIX_BYTES = 8; +const GLB_CHUNK_TYPE_JSON = 0x4E4F534A; +const GLB_CHUNK_TYPE_BIN = 0x004E4942; + +//------------------------------------------------------------------------------ +// Utility functions +//------------------------------------------------------------------------------ + +/** + * Compare two arrays + * @param {Array} array1 Array 1 to compare + * @param {Array} array2 Array 2 to compare + * @return {Boolean} Returns true if both arrays are equal + */ +function equalArray( array1, array2 ) { + + return ( array1.length === array2.length ) && array1.every( function ( element, index ) { + + return element === array2[ index ]; + + } ); + +} + +/** + * Converts a string to an ArrayBuffer. + * @param {string} text + * @return {ArrayBuffer} + */ +function stringToArrayBuffer( text ) { + + return new TextEncoder().encode( text ).buffer; + +} + +/** + * Is identity matrix + * + * @param {Matrix4} matrix + * @returns {Boolean} Returns true, if parameter is identity matrix + */ +function isIdentityMatrix( matrix ) { + + return equalArray( matrix.elements, [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ] ); + +} + +/** + * Get the min and max vectors from the given attribute + * @param {BufferAttribute} attribute Attribute to find the min/max in range from start to start + count + * @param {Integer} start + * @param {Integer} count + * @return {Object} Object containing the `min` and `max` values (As an array of attribute.itemSize components) + */ +function getMinMax( attribute, start, count ) { + + const output = { + + min: new Array( attribute.itemSize ).fill( Number.POSITIVE_INFINITY ), + max: new Array( attribute.itemSize ).fill( Number.NEGATIVE_INFINITY ) + + }; + + for ( let i = start; i < start + count; i ++ ) { + + for ( let a = 0; a < attribute.itemSize; a ++ ) { + + let value; + + if ( attribute.itemSize > 4 ) { + + // no support for interleaved data for itemSize > 4 + + value = attribute.array[ i * attribute.itemSize + a ]; + + } else { + + if ( a === 0 ) value = attribute.getX( i ); + else if ( a === 1 ) value = attribute.getY( i ); + else if ( a === 2 ) value = attribute.getZ( i ); + else if ( a === 3 ) value = attribute.getW( i ); + + if ( attribute.normalized === true ) { + + value = MathUtils.normalize( value, attribute.array ); + + } + + } + + output.min[ a ] = Math.min( output.min[ a ], value ); + output.max[ a ] = Math.max( output.max[ a ], value ); + + } + + } + + return output; + +} + +/** + * Get the required size + padding for a buffer, rounded to the next 4-byte boundary. + * https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#data-alignment + * + * @param {Integer} bufferSize The size the original buffer. + * @returns {Integer} new buffer size with required padding. + * + */ +function getPaddedBufferSize( bufferSize ) { + + return Math.ceil( bufferSize / 4 ) * 4; + +} + +/** + * Returns a buffer aligned to 4-byte boundary. + * + * @param {ArrayBuffer} arrayBuffer Buffer to pad + * @param {Integer} paddingByte (Optional) + * @returns {ArrayBuffer} The same buffer if it's already aligned to 4-byte boundary or a new buffer + */ +function getPaddedArrayBuffer( arrayBuffer, paddingByte = 0 ) { + + const paddedLength = getPaddedBufferSize( arrayBuffer.byteLength ); + + if ( paddedLength !== arrayBuffer.byteLength ) { + + const array = new Uint8Array( paddedLength ); + array.set( new Uint8Array( arrayBuffer ) ); + + if ( paddingByte !== 0 ) { + + for ( let i = arrayBuffer.byteLength; i < paddedLength; i ++ ) { + + array[ i ] = paddingByte; + + } + + } + + return array.buffer; + + } + + return arrayBuffer; + +} + +function getCanvas() { + + if ( typeof document === 'undefined' && typeof OffscreenCanvas !== 'undefined' ) { + + return new OffscreenCanvas( 1, 1 ); + + } + + return document.createElement( 'canvas' ); + +} + +function getToBlobPromise( canvas, mimeType ) { + + if ( canvas.toBlob !== undefined ) { + + return new Promise( ( resolve ) => canvas.toBlob( resolve, mimeType ) ); + + } + + let quality; + + // Blink's implementation of convertToBlob seems to default to a quality level of 100% + // Use the Blink default quality levels of toBlob instead so that file sizes are comparable. + if ( mimeType === 'image/jpeg' ) { + + quality = 0.92; + + } else if ( mimeType === 'image/webp' ) { + + quality = 0.8; + + } + + return canvas.convertToBlob( { + + type: mimeType, + quality: quality + + } ); + +} + +/** + * Writer + */ +class GLTFWriter { + + constructor() { + + this.plugins = []; + + this.options = {}; + this.pending = []; + this.buffers = []; + + this.byteOffset = 0; + this.buffers = []; + this.nodeMap = new Map(); + this.skins = []; + + this.extensionsUsed = {}; + this.extensionsRequired = {}; + + this.uids = new Map(); + this.uid = 0; + + this.json = { + asset: { + version: '2.0', + generator: 'THREE.GLTFExporter' + } + }; + + this.cache = { + meshes: new Map(), + attributes: new Map(), + attributesNormalized: new Map(), + materials: new Map(), + textures: new Map(), + images: new Map() + }; + + } + + setPlugins( plugins ) { + + this.plugins = plugins; + + } + + /** + * Parse scenes and generate GLTF output + * @param {Scene or [THREE.Scenes]} input Scene or Array of THREE.Scenes + * @param {Function} onDone Callback on completed + * @param {Object} options options + */ + async write( input, onDone, options = {} ) { + + this.options = Object.assign( { + // default options + binary: false, + trs: false, + onlyVisible: true, + maxTextureSize: Infinity, + animations: [], + includeCustomExtensions: false + }, options ); + + if ( this.options.animations.length > 0 ) { + + // Only TRS properties, and not matrices, may be targeted by animation. + this.options.trs = true; + + } + + this.processInput( input ); + + await Promise.all( this.pending ); + + const writer = this; + const buffers = writer.buffers; + const json = writer.json; + options = writer.options; + + const extensionsUsed = writer.extensionsUsed; + const extensionsRequired = writer.extensionsRequired; + + // Merge buffers. + const blob = new Blob( buffers, { type: 'application/octet-stream' } ); + + // Declare extensions. + const extensionsUsedList = Object.keys( extensionsUsed ); + const extensionsRequiredList = Object.keys( extensionsRequired ); + + if ( extensionsUsedList.length > 0 ) json.extensionsUsed = extensionsUsedList; + if ( extensionsRequiredList.length > 0 ) json.extensionsRequired = extensionsRequiredList; + + // Update bytelength of the single buffer. + if ( json.buffers && json.buffers.length > 0 ) json.buffers[ 0 ].byteLength = blob.size; + + if ( options.binary === true ) { + + // https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#glb-file-format-specification + + const reader = new FileReader(); + reader.readAsArrayBuffer( blob ); + reader.onloadend = function () { + + // Binary chunk. + const binaryChunk = getPaddedArrayBuffer( reader.result ); + const binaryChunkPrefix = new DataView( new ArrayBuffer( GLB_CHUNK_PREFIX_BYTES ) ); + binaryChunkPrefix.setUint32( 0, binaryChunk.byteLength, true ); + binaryChunkPrefix.setUint32( 4, GLB_CHUNK_TYPE_BIN, true ); + + // JSON chunk. + const jsonChunk = getPaddedArrayBuffer( stringToArrayBuffer( JSON.stringify( json ) ), 0x20 ); + const jsonChunkPrefix = new DataView( new ArrayBuffer( GLB_CHUNK_PREFIX_BYTES ) ); + jsonChunkPrefix.setUint32( 0, jsonChunk.byteLength, true ); + jsonChunkPrefix.setUint32( 4, GLB_CHUNK_TYPE_JSON, true ); + + // GLB header. + const header = new ArrayBuffer( GLB_HEADER_BYTES ); + const headerView = new DataView( header ); + headerView.setUint32( 0, GLB_HEADER_MAGIC, true ); + headerView.setUint32( 4, GLB_VERSION, true ); + const totalByteLength = GLB_HEADER_BYTES + + jsonChunkPrefix.byteLength + jsonChunk.byteLength + + binaryChunkPrefix.byteLength + binaryChunk.byteLength; + headerView.setUint32( 8, totalByteLength, true ); + + const glbBlob = new Blob( [ + header, + jsonChunkPrefix, + jsonChunk, + binaryChunkPrefix, + binaryChunk + ], { type: 'application/octet-stream' } ); + + const glbReader = new FileReader(); + glbReader.readAsArrayBuffer( glbBlob ); + glbReader.onloadend = function () { + + onDone( glbReader.result ); + + }; + + }; + + } else { + + if ( json.buffers && json.buffers.length > 0 ) { + + const reader = new FileReader(); + reader.readAsDataURL( blob ); + reader.onloadend = function () { + + const base64data = reader.result; + json.buffers[ 0 ].uri = base64data; + onDone( json ); + + }; + + } else { + + onDone( json ); + + } + + } + + + } + + /** + * Serializes a userData. + * + * @param {THREE.Object3D|THREE.Material} object + * @param {Object} objectDef + */ + serializeUserData( object, objectDef ) { + + if ( Object.keys( object.userData ).length === 0 ) return; + + const options = this.options; + const extensionsUsed = this.extensionsUsed; + + try { + + const json = JSON.parse( JSON.stringify( object.userData ) ); + + if ( options.includeCustomExtensions && json.gltfExtensions ) { + + if ( objectDef.extensions === undefined ) objectDef.extensions = {}; + + for ( const extensionName in json.gltfExtensions ) { + + objectDef.extensions[ extensionName ] = json.gltfExtensions[ extensionName ]; + extensionsUsed[ extensionName ] = true; + + } + + delete json.gltfExtensions; + + } + + if ( Object.keys( json ).length > 0 ) objectDef.extras = json; + + } catch ( error ) { + + console.warn( 'THREE.GLTFExporter: userData of \'' + object.name + '\' ' + + 'won\'t be serialized because of JSON.stringify error - ' + error.message ); + + } + + } + + /** + * Returns ids for buffer attributes. + * @param {Object} object + * @return {Integer} + */ + getUID( attribute, isRelativeCopy = false ) { + + if ( this.uids.has( attribute ) === false ) { + + const uids = new Map(); + + uids.set( true, this.uid ++ ); + uids.set( false, this.uid ++ ); + + this.uids.set( attribute, uids ); + + } + + const uids = this.uids.get( attribute ); + + return uids.get( isRelativeCopy ); + + } + + /** + * Checks if normal attribute values are normalized. + * + * @param {BufferAttribute} normal + * @returns {Boolean} + */ + isNormalizedNormalAttribute( normal ) { + + const cache = this.cache; + + if ( cache.attributesNormalized.has( normal ) ) return false; + + const v = new Vector3$1(); + + for ( let i = 0, il = normal.count; i < il; i ++ ) { + + // 0.0005 is from glTF-validator + if ( Math.abs( v.fromBufferAttribute( normal, i ).length() - 1.0 ) > 0.0005 ) return false; + + } + + return true; + + } + + /** + * Creates normalized normal buffer attribute. + * + * @param {BufferAttribute} normal + * @returns {BufferAttribute} + * + */ + createNormalizedNormalAttribute( normal ) { + + const cache = this.cache; + + if ( cache.attributesNormalized.has( normal ) ) return cache.attributesNormalized.get( normal ); + + const attribute = normal.clone(); + const v = new Vector3$1(); + + for ( let i = 0, il = attribute.count; i < il; i ++ ) { + + v.fromBufferAttribute( attribute, i ); + + if ( v.x === 0 && v.y === 0 && v.z === 0 ) { + + // if values can't be normalized set (1, 0, 0) + v.setX( 1.0 ); + + } else { + + v.normalize(); + + } + + attribute.setXYZ( i, v.x, v.y, v.z ); + + } + + cache.attributesNormalized.set( normal, attribute ); + + return attribute; + + } + + /** + * Applies a texture transform, if present, to the map definition. Requires + * the KHR_texture_transform extension. + * + * @param {Object} mapDef + * @param {THREE.Texture} texture + */ + applyTextureTransform( mapDef, texture ) { + + let didTransform = false; + const transformDef = {}; + + if ( texture.offset.x !== 0 || texture.offset.y !== 0 ) { + + transformDef.offset = texture.offset.toArray(); + didTransform = true; + + } + + if ( texture.rotation !== 0 ) { + + transformDef.rotation = texture.rotation; + didTransform = true; + + } + + if ( texture.repeat.x !== 1 || texture.repeat.y !== 1 ) { + + transformDef.scale = texture.repeat.toArray(); + didTransform = true; + + } + + if ( didTransform ) { + + mapDef.extensions = mapDef.extensions || {}; + mapDef.extensions[ 'KHR_texture_transform' ] = transformDef; + this.extensionsUsed[ 'KHR_texture_transform' ] = true; + + } + + } + + buildMetalRoughTexture( metalnessMap, roughnessMap ) { + + if ( metalnessMap === roughnessMap ) return metalnessMap; + + function getEncodingConversion( map ) { + + if ( map.colorSpace === SRGBColorSpace ) { + + return function SRGBToLinear( c ) { + + return ( c < 0.04045 ) ? c * 0.0773993808 : Math.pow( c * 0.9478672986 + 0.0521327014, 2.4 ); + + }; + + } + + return function LinearToLinear( c ) { + + return c; + + }; + + } + + console.warn( 'THREE.GLTFExporter: Merged metalnessMap and roughnessMap textures.' ); + + const metalness = metalnessMap ? metalnessMap.image : null; + const roughness = roughnessMap ? roughnessMap.image : null; + + const width = Math.max( metalness ? metalness.width : 0, roughness ? roughness.width : 0 ); + const height = Math.max( metalness ? metalness.height : 0, roughness ? roughness.height : 0 ); + + const canvas = getCanvas(); + canvas.width = width; + canvas.height = height; + + const context = canvas.getContext( '2d' ); + context.fillStyle = '#00ffff'; + context.fillRect( 0, 0, width, height ); + + const composite = context.getImageData( 0, 0, width, height ); + + if ( metalness ) { + + context.drawImage( metalness, 0, 0, width, height ); + + const convert = getEncodingConversion( metalnessMap ); + const data = context.getImageData( 0, 0, width, height ).data; + + for ( let i = 2; i < data.length; i += 4 ) { + + composite.data[ i ] = convert( data[ i ] / 256 ) * 256; + + } + + } + + if ( roughness ) { + + context.drawImage( roughness, 0, 0, width, height ); + + const convert = getEncodingConversion( roughnessMap ); + const data = context.getImageData( 0, 0, width, height ).data; + + for ( let i = 1; i < data.length; i += 4 ) { + + composite.data[ i ] = convert( data[ i ] / 256 ) * 256; + + } + + } + + context.putImageData( composite, 0, 0 ); + + // + + const reference = metalnessMap || roughnessMap; + + const texture = reference.clone(); + + texture.source = new Source( canvas ); + texture.colorSpace = NoColorSpace; + texture.channel = ( metalnessMap || roughnessMap ).channel; + + if ( metalnessMap && roughnessMap && metalnessMap.channel !== roughnessMap.channel ) { + + console.warn( 'THREE.GLTFExporter: UV channels for metalnessMap and roughnessMap textures must match.' ); + + } + + return texture; + + } + + /** + * Process a buffer to append to the default one. + * @param {ArrayBuffer} buffer + * @return {Integer} + */ + processBuffer( buffer ) { + + const json = this.json; + const buffers = this.buffers; + + if ( ! json.buffers ) json.buffers = [ { byteLength: 0 } ]; + + // All buffers are merged before export. + buffers.push( buffer ); + + return 0; + + } + + /** + * Process and generate a BufferView + * @param {BufferAttribute} attribute + * @param {number} componentType + * @param {number} start + * @param {number} count + * @param {number} target (Optional) Target usage of the BufferView + * @return {Object} + */ + processBufferView( attribute, componentType, start, count, target ) { + + const json = this.json; + + if ( ! json.bufferViews ) json.bufferViews = []; + + // Create a new dataview and dump the attribute's array into it + + let componentSize; + + switch ( componentType ) { + + case WEBGL_CONSTANTS.BYTE: + case WEBGL_CONSTANTS.UNSIGNED_BYTE: + + componentSize = 1; + + break; + + case WEBGL_CONSTANTS.SHORT: + case WEBGL_CONSTANTS.UNSIGNED_SHORT: + + componentSize = 2; + + break; + + default: + + componentSize = 4; + + } + + const byteLength = getPaddedBufferSize( count * attribute.itemSize * componentSize ); + const dataView = new DataView( new ArrayBuffer( byteLength ) ); + let offset = 0; + + for ( let i = start; i < start + count; i ++ ) { + + for ( let a = 0; a < attribute.itemSize; a ++ ) { + + let value; + + if ( attribute.itemSize > 4 ) { + + // no support for interleaved data for itemSize > 4 + + value = attribute.array[ i * attribute.itemSize + a ]; + + } else { + + if ( a === 0 ) value = attribute.getX( i ); + else if ( a === 1 ) value = attribute.getY( i ); + else if ( a === 2 ) value = attribute.getZ( i ); + else if ( a === 3 ) value = attribute.getW( i ); + + if ( attribute.normalized === true ) { + + value = MathUtils.normalize( value, attribute.array ); + + } + + } + + if ( componentType === WEBGL_CONSTANTS.FLOAT ) { + + dataView.setFloat32( offset, value, true ); + + } else if ( componentType === WEBGL_CONSTANTS.INT ) { + + dataView.setInt32( offset, value, true ); + + } else if ( componentType === WEBGL_CONSTANTS.UNSIGNED_INT ) { + + dataView.setUint32( offset, value, true ); + + } else if ( componentType === WEBGL_CONSTANTS.SHORT ) { + + dataView.setInt16( offset, value, true ); + + } else if ( componentType === WEBGL_CONSTANTS.UNSIGNED_SHORT ) { + + dataView.setUint16( offset, value, true ); + + } else if ( componentType === WEBGL_CONSTANTS.BYTE ) { + + dataView.setInt8( offset, value ); + + } else if ( componentType === WEBGL_CONSTANTS.UNSIGNED_BYTE ) { + + dataView.setUint8( offset, value ); + + } + + offset += componentSize; + + } + + } + + const bufferViewDef = { + + buffer: this.processBuffer( dataView.buffer ), + byteOffset: this.byteOffset, + byteLength: byteLength + + }; + + if ( target !== undefined ) bufferViewDef.target = target; + + if ( target === WEBGL_CONSTANTS.ARRAY_BUFFER ) { + + // Only define byteStride for vertex attributes. + bufferViewDef.byteStride = attribute.itemSize * componentSize; + + } + + this.byteOffset += byteLength; + + json.bufferViews.push( bufferViewDef ); + + // @TODO Merge bufferViews where possible. + const output = { + + id: json.bufferViews.length - 1, + byteLength: 0 + + }; + + return output; + + } + + /** + * Process and generate a BufferView from an image Blob. + * @param {Blob} blob + * @return {Promise} + */ + processBufferViewImage( blob ) { + + const writer = this; + const json = writer.json; + + if ( ! json.bufferViews ) json.bufferViews = []; + + return new Promise( function ( resolve ) { + + const reader = new FileReader(); + reader.readAsArrayBuffer( blob ); + reader.onloadend = function () { + + const buffer = getPaddedArrayBuffer( reader.result ); + + const bufferViewDef = { + buffer: writer.processBuffer( buffer ), + byteOffset: writer.byteOffset, + byteLength: buffer.byteLength + }; + + writer.byteOffset += buffer.byteLength; + resolve( json.bufferViews.push( bufferViewDef ) - 1 ); + + }; + + } ); + + } + + /** + * Process attribute to generate an accessor + * @param {BufferAttribute} attribute Attribute to process + * @param {THREE.BufferGeometry} geometry (Optional) Geometry used for truncated draw range + * @param {Integer} start (Optional) + * @param {Integer} count (Optional) + * @return {Integer|null} Index of the processed accessor on the "accessors" array + */ + processAccessor( attribute, geometry, start, count ) { + + const json = this.json; + + const types = { + + 1: 'SCALAR', + 2: 'VEC2', + 3: 'VEC3', + 4: 'VEC4', + 9: 'MAT3', + 16: 'MAT4' + + }; + + let componentType; + + // Detect the component type of the attribute array + if ( attribute.array.constructor === Float32Array ) { + + componentType = WEBGL_CONSTANTS.FLOAT; + + } else if ( attribute.array.constructor === Int32Array ) { + + componentType = WEBGL_CONSTANTS.INT; + + } else if ( attribute.array.constructor === Uint32Array ) { + + componentType = WEBGL_CONSTANTS.UNSIGNED_INT; + + } else if ( attribute.array.constructor === Int16Array ) { + + componentType = WEBGL_CONSTANTS.SHORT; + + } else if ( attribute.array.constructor === Uint16Array ) { + + componentType = WEBGL_CONSTANTS.UNSIGNED_SHORT; + + } else if ( attribute.array.constructor === Int8Array ) { + + componentType = WEBGL_CONSTANTS.BYTE; + + } else if ( attribute.array.constructor === Uint8Array ) { + + componentType = WEBGL_CONSTANTS.UNSIGNED_BYTE; + + } else { + + throw new Error( 'THREE.GLTFExporter: Unsupported bufferAttribute component type.' ); + + } + + if ( start === undefined ) start = 0; + if ( count === undefined ) count = attribute.count; + + // Skip creating an accessor if the attribute doesn't have data to export + if ( count === 0 ) return null; + + const minMax = getMinMax( attribute, start, count ); + let bufferViewTarget; + + // If geometry isn't provided, don't infer the target usage of the bufferView. For + // animation samplers, target must not be set. + if ( geometry !== undefined ) { + + bufferViewTarget = attribute === geometry.index ? WEBGL_CONSTANTS.ELEMENT_ARRAY_BUFFER : WEBGL_CONSTANTS.ARRAY_BUFFER; + + } + + const bufferView = this.processBufferView( attribute, componentType, start, count, bufferViewTarget ); + + const accessorDef = { + + bufferView: bufferView.id, + byteOffset: bufferView.byteOffset, + componentType: componentType, + count: count, + max: minMax.max, + min: minMax.min, + type: types[ attribute.itemSize ] + + }; + + if ( attribute.normalized === true ) accessorDef.normalized = true; + if ( ! json.accessors ) json.accessors = []; + + return json.accessors.push( accessorDef ) - 1; + + } + + /** + * Process image + * @param {Image} image to process + * @param {Integer} format of the image (RGBAFormat) + * @param {Boolean} flipY before writing out the image + * @param {String} mimeType export format + * @return {Integer} Index of the processed texture in the "images" array + */ + processImage( image, format, flipY, mimeType = 'image/png' ) { + + if ( image !== null ) { + + const writer = this; + const cache = writer.cache; + const json = writer.json; + const options = writer.options; + const pending = writer.pending; + + if ( ! cache.images.has( image ) ) cache.images.set( image, {} ); + + const cachedImages = cache.images.get( image ); + + const key = mimeType + ':flipY/' + flipY.toString(); + + if ( cachedImages[ key ] !== undefined ) return cachedImages[ key ]; + + if ( ! json.images ) json.images = []; + + const imageDef = { mimeType: mimeType }; + + const canvas = getCanvas(); + + canvas.width = Math.min( image.width, options.maxTextureSize ); + canvas.height = Math.min( image.height, options.maxTextureSize ); + + const ctx = canvas.getContext( '2d' ); + + if ( flipY === true ) { + + ctx.translate( 0, canvas.height ); + ctx.scale( 1, - 1 ); + + } + + if ( image.data !== undefined ) { // THREE.DataTexture + + if ( format !== RGBAFormat ) { + + console.error( 'GLTFExporter: Only RGBAFormat is supported.' ); + + } + + if ( image.width > options.maxTextureSize || image.height > options.maxTextureSize ) { + + console.warn( 'GLTFExporter: Image size is bigger than maxTextureSize', image ); + + } + + const data = new Uint8ClampedArray( image.height * image.width * 4 ); + + for ( let i = 0; i < data.length; i += 4 ) { + + data[ i + 0 ] = image.data[ i + 0 ]; + data[ i + 1 ] = image.data[ i + 1 ]; + data[ i + 2 ] = image.data[ i + 2 ]; + data[ i + 3 ] = image.data[ i + 3 ]; + + } + + ctx.putImageData( new ImageData( data, image.width, image.height ), 0, 0 ); + + } else { + + ctx.drawImage( image, 0, 0, canvas.width, canvas.height ); + + } + + if ( options.binary === true ) { + + pending.push( + + getToBlobPromise( canvas, mimeType ) + .then( blob => writer.processBufferViewImage( blob ) ) + .then( bufferViewIndex => { + + imageDef.bufferView = bufferViewIndex; + + } ) + + ); + + } else { + + if ( canvas.toDataURL !== undefined ) { + + imageDef.uri = canvas.toDataURL( mimeType ); + + } else { + + pending.push( + + getToBlobPromise( canvas, mimeType ) + .then( blob => new FileReader().readAsDataURL( blob ) ) + .then( dataURL => { + + imageDef.uri = dataURL; + + } ) + + ); + + } + + } + + const index = json.images.push( imageDef ) - 1; + cachedImages[ key ] = index; + return index; + + } else { + + throw new Error( 'THREE.GLTFExporter: No valid image data found. Unable to process texture.' ); + + } + + } + + /** + * Process sampler + * @param {Texture} map Texture to process + * @return {Integer} Index of the processed texture in the "samplers" array + */ + processSampler( map ) { + + const json = this.json; + + if ( ! json.samplers ) json.samplers = []; + + const samplerDef = { + magFilter: THREE_TO_WEBGL[ map.magFilter ], + minFilter: THREE_TO_WEBGL[ map.minFilter ], + wrapS: THREE_TO_WEBGL[ map.wrapS ], + wrapT: THREE_TO_WEBGL[ map.wrapT ] + }; + + return json.samplers.push( samplerDef ) - 1; + + } + + /** + * Process texture + * @param {Texture} map Map to process + * @return {Integer} Index of the processed texture in the "textures" array + */ + processTexture( map ) { + + const cache = this.cache; + const json = this.json; + + if ( cache.textures.has( map ) ) return cache.textures.get( map ); + + if ( ! json.textures ) json.textures = []; + + let mimeType = map.userData.mimeType; + + if ( mimeType === 'image/webp' ) mimeType = 'image/png'; + + const textureDef = { + sampler: this.processSampler( map ), + source: this.processImage( map.image, map.format, map.flipY, mimeType ) + }; + + if ( map.name ) textureDef.name = map.name; + + this._invokeAll( function ( ext ) { + + ext.writeTexture && ext.writeTexture( map, textureDef ); + + } ); + + const index = json.textures.push( textureDef ) - 1; + cache.textures.set( map, index ); + return index; + + } + + /** + * Process material + * @param {THREE.Material} material Material to process + * @return {Integer|null} Index of the processed material in the "materials" array + */ + processMaterial( material ) { + + const cache = this.cache; + const json = this.json; + + if ( cache.materials.has( material ) ) return cache.materials.get( material ); + + if ( material.isShaderMaterial ) { + + console.warn( 'GLTFExporter: THREE.ShaderMaterial not supported.' ); + return null; + + } + + if ( ! json.materials ) json.materials = []; + + // @QUESTION Should we avoid including any attribute that has the default value? + const materialDef = { pbrMetallicRoughness: {} }; + + if ( material.isMeshStandardMaterial !== true && material.isMeshBasicMaterial !== true ) { + + console.warn( 'GLTFExporter: Use MeshStandardMaterial or MeshBasicMaterial for best results.' ); + + } + + // pbrMetallicRoughness.baseColorFactor + const color = material.color.toArray().concat( [ material.opacity ] ); + + if ( ! equalArray( color, [ 1, 1, 1, 1 ] ) ) { + + materialDef.pbrMetallicRoughness.baseColorFactor = color; + + } + + if ( material.isMeshStandardMaterial ) { + + materialDef.pbrMetallicRoughness.metallicFactor = material.metalness; + materialDef.pbrMetallicRoughness.roughnessFactor = material.roughness; + + } else { + + materialDef.pbrMetallicRoughness.metallicFactor = 0.5; + materialDef.pbrMetallicRoughness.roughnessFactor = 0.5; + + } + + // pbrMetallicRoughness.metallicRoughnessTexture + if ( material.metalnessMap || material.roughnessMap ) { + + const metalRoughTexture = this.buildMetalRoughTexture( material.metalnessMap, material.roughnessMap ); + + const metalRoughMapDef = { + index: this.processTexture( metalRoughTexture ), + channel: metalRoughTexture.channel + }; + this.applyTextureTransform( metalRoughMapDef, metalRoughTexture ); + materialDef.pbrMetallicRoughness.metallicRoughnessTexture = metalRoughMapDef; + + } + + // pbrMetallicRoughness.baseColorTexture + if ( material.map ) { + + const baseColorMapDef = { + index: this.processTexture( material.map ), + texCoord: material.map.channel + }; + this.applyTextureTransform( baseColorMapDef, material.map ); + materialDef.pbrMetallicRoughness.baseColorTexture = baseColorMapDef; + + } + + if ( material.emissive ) { + + const emissive = material.emissive; + const maxEmissiveComponent = Math.max( emissive.r, emissive.g, emissive.b ); + + if ( maxEmissiveComponent > 0 ) { + + materialDef.emissiveFactor = material.emissive.toArray(); + + } + + // emissiveTexture + if ( material.emissiveMap ) { + + const emissiveMapDef = { + index: this.processTexture( material.emissiveMap ), + texCoord: material.emissiveMap.channel + }; + this.applyTextureTransform( emissiveMapDef, material.emissiveMap ); + materialDef.emissiveTexture = emissiveMapDef; + + } + + } + + // normalTexture + if ( material.normalMap ) { + + const normalMapDef = { + index: this.processTexture( material.normalMap ), + texCoord: material.normalMap.channel + }; + + if ( material.normalScale && material.normalScale.x !== 1 ) { + + // glTF normal scale is univariate. Ignore `y`, which may be flipped. + // Context: https://github.com/mrdoob/three.js/issues/11438#issuecomment-507003995 + normalMapDef.scale = material.normalScale.x; + + } + + this.applyTextureTransform( normalMapDef, material.normalMap ); + materialDef.normalTexture = normalMapDef; + + } + + // occlusionTexture + if ( material.aoMap ) { + + const occlusionMapDef = { + index: this.processTexture( material.aoMap ), + texCoord: material.aoMap.channel + }; + + if ( material.aoMapIntensity !== 1.0 ) { + + occlusionMapDef.strength = material.aoMapIntensity; + + } + + this.applyTextureTransform( occlusionMapDef, material.aoMap ); + materialDef.occlusionTexture = occlusionMapDef; + + } + + // alphaMode + if ( material.transparent ) { + + materialDef.alphaMode = 'BLEND'; + + } else { + + if ( material.alphaTest > 0.0 ) { + + materialDef.alphaMode = 'MASK'; + materialDef.alphaCutoff = material.alphaTest; + + } + + } + + // doubleSided + if ( material.side === DoubleSide ) materialDef.doubleSided = true; + if ( material.name !== '' ) materialDef.name = material.name; + + this.serializeUserData( material, materialDef ); + + this._invokeAll( function ( ext ) { + + ext.writeMaterial && ext.writeMaterial( material, materialDef ); + + } ); + + const index = json.materials.push( materialDef ) - 1; + cache.materials.set( material, index ); + return index; + + } + + /** + * Process mesh + * @param {THREE.Mesh} mesh Mesh to process + * @return {Integer|null} Index of the processed mesh in the "meshes" array + */ + processMesh( mesh ) { + + const cache = this.cache; + const json = this.json; + + const meshCacheKeyParts = [ mesh.geometry.uuid ]; + + if ( Array.isArray( mesh.material ) ) { + + for ( let i = 0, l = mesh.material.length; i < l; i ++ ) { + + meshCacheKeyParts.push( mesh.material[ i ].uuid ); + + } + + } else { + + meshCacheKeyParts.push( mesh.material.uuid ); + + } + + const meshCacheKey = meshCacheKeyParts.join( ':' ); + + if ( cache.meshes.has( meshCacheKey ) ) return cache.meshes.get( meshCacheKey ); + + const geometry = mesh.geometry; + + let mode; + + // Use the correct mode + if ( mesh.isLineSegments ) { + + mode = WEBGL_CONSTANTS.LINES; + + } else if ( mesh.isLineLoop ) { + + mode = WEBGL_CONSTANTS.LINE_LOOP; + + } else if ( mesh.isLine ) { + + mode = WEBGL_CONSTANTS.LINE_STRIP; + + } else if ( mesh.isPoints ) { + + mode = WEBGL_CONSTANTS.POINTS; + + } else { + + mode = mesh.material.wireframe ? WEBGL_CONSTANTS.LINES : WEBGL_CONSTANTS.TRIANGLES; + + } + + const meshDef = {}; + const attributes = {}; + const primitives = []; + const targets = []; + + // Conversion between attributes names in threejs and gltf spec + const nameConversion = { + uv: 'TEXCOORD_0', + uv1: 'TEXCOORD_1', + color: 'COLOR_0', + skinWeight: 'WEIGHTS_0', + skinIndex: 'JOINTS_0' + }; + + const originalNormal = geometry.getAttribute( 'normal' ); + + if ( originalNormal !== undefined && ! this.isNormalizedNormalAttribute( originalNormal ) ) { + + console.warn( 'THREE.GLTFExporter: Creating normalized normal attribute from the non-normalized one.' ); + + geometry.setAttribute( 'normal', this.createNormalizedNormalAttribute( originalNormal ) ); + + } + + // @QUESTION Detect if .vertexColors = true? + // For every attribute create an accessor + let modifiedAttribute = null; + + for ( let attributeName in geometry.attributes ) { + + // Ignore morph target attributes, which are exported later. + if ( attributeName.slice( 0, 5 ) === 'morph' ) continue; + + const attribute = geometry.attributes[ attributeName ]; + attributeName = nameConversion[ attributeName ] || attributeName.toUpperCase(); + + // Prefix all geometry attributes except the ones specifically + // listed in the spec; non-spec attributes are considered custom. + const validVertexAttributes = + /^(POSITION|NORMAL|TANGENT|TEXCOORD_\d+|COLOR_\d+|JOINTS_\d+|WEIGHTS_\d+)$/; + + if ( ! validVertexAttributes.test( attributeName ) ) attributeName = '_' + attributeName; + + if ( cache.attributes.has( this.getUID( attribute ) ) ) { + + attributes[ attributeName ] = cache.attributes.get( this.getUID( attribute ) ); + continue; + + } + + // JOINTS_0 must be UNSIGNED_BYTE or UNSIGNED_SHORT. + modifiedAttribute = null; + const array = attribute.array; + + if ( attributeName === 'JOINTS_0' && + ! ( array instanceof Uint16Array ) && + ! ( array instanceof Uint8Array ) ) { + + console.warn( 'GLTFExporter: Attribute "skinIndex" converted to type UNSIGNED_SHORT.' ); + modifiedAttribute = new BufferAttribute$1( new Uint16Array( array ), attribute.itemSize, attribute.normalized ); + + } + + const accessor = this.processAccessor( modifiedAttribute || attribute, geometry ); + + if ( accessor !== null ) { + + if ( ! attributeName.startsWith( '_' ) ) { + + this.detectMeshQuantization( attributeName, attribute ); + + } + + attributes[ attributeName ] = accessor; + cache.attributes.set( this.getUID( attribute ), accessor ); + + } + + } + + if ( originalNormal !== undefined ) geometry.setAttribute( 'normal', originalNormal ); + + // Skip if no exportable attributes found + if ( Object.keys( attributes ).length === 0 ) return null; + + // Morph targets + if ( mesh.morphTargetInfluences !== undefined && mesh.morphTargetInfluences.length > 0 ) { + + const weights = []; + const targetNames = []; + const reverseDictionary = {}; + + if ( mesh.morphTargetDictionary !== undefined ) { + + for ( const key in mesh.morphTargetDictionary ) { + + reverseDictionary[ mesh.morphTargetDictionary[ key ] ] = key; + + } + + } + + for ( let i = 0; i < mesh.morphTargetInfluences.length; ++ i ) { + + const target = {}; + let warned = false; + + for ( const attributeName in geometry.morphAttributes ) { + + // glTF 2.0 morph supports only POSITION/NORMAL/TANGENT. + // Three.js doesn't support TANGENT yet. + + if ( attributeName !== 'position' && attributeName !== 'normal' ) { + + if ( ! warned ) { + + console.warn( 'GLTFExporter: Only POSITION and NORMAL morph are supported.' ); + warned = true; + + } + + continue; + + } + + const attribute = geometry.morphAttributes[ attributeName ][ i ]; + const gltfAttributeName = attributeName.toUpperCase(); + + // Three.js morph attribute has absolute values while the one of glTF has relative values. + // + // glTF 2.0 Specification: + // https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#morph-targets + + const baseAttribute = geometry.attributes[ attributeName ]; + + if ( cache.attributes.has( this.getUID( attribute, true ) ) ) { + + target[ gltfAttributeName ] = cache.attributes.get( this.getUID( attribute, true ) ); + continue; + + } + + // Clones attribute not to override + const relativeAttribute = attribute.clone(); + + if ( ! geometry.morphTargetsRelative ) { + + for ( let j = 0, jl = attribute.count; j < jl; j ++ ) { + + for ( let a = 0; a < attribute.itemSize; a ++ ) { + + if ( a === 0 ) relativeAttribute.setX( j, attribute.getX( j ) - baseAttribute.getX( j ) ); + if ( a === 1 ) relativeAttribute.setY( j, attribute.getY( j ) - baseAttribute.getY( j ) ); + if ( a === 2 ) relativeAttribute.setZ( j, attribute.getZ( j ) - baseAttribute.getZ( j ) ); + if ( a === 3 ) relativeAttribute.setW( j, attribute.getW( j ) - baseAttribute.getW( j ) ); + + } + + } + + } + + target[ gltfAttributeName ] = this.processAccessor( relativeAttribute, geometry ); + cache.attributes.set( this.getUID( baseAttribute, true ), target[ gltfAttributeName ] ); + + } + + targets.push( target ); + + weights.push( mesh.morphTargetInfluences[ i ] ); + + if ( mesh.morphTargetDictionary !== undefined ) targetNames.push( reverseDictionary[ i ] ); + + } + + meshDef.weights = weights; + + if ( targetNames.length > 0 ) { + + meshDef.extras = {}; + meshDef.extras.targetNames = targetNames; + + } + + } + + const isMultiMaterial = Array.isArray( mesh.material ); + + if ( isMultiMaterial && geometry.groups.length === 0 ) return null; + + const materials = isMultiMaterial ? mesh.material : [ mesh.material ]; + const groups = isMultiMaterial ? geometry.groups : [ { materialIndex: 0, start: undefined, count: undefined } ]; + + for ( let i = 0, il = groups.length; i < il; i ++ ) { + + const primitive = { + mode: mode, + attributes: attributes, + }; + + this.serializeUserData( geometry, primitive ); + + if ( targets.length > 0 ) primitive.targets = targets; + + if ( geometry.index !== null ) { + + let cacheKey = this.getUID( geometry.index ); + + if ( groups[ i ].start !== undefined || groups[ i ].count !== undefined ) { + + cacheKey += ':' + groups[ i ].start + ':' + groups[ i ].count; + + } + + if ( cache.attributes.has( cacheKey ) ) { + + primitive.indices = cache.attributes.get( cacheKey ); + + } else { + + primitive.indices = this.processAccessor( geometry.index, geometry, groups[ i ].start, groups[ i ].count ); + cache.attributes.set( cacheKey, primitive.indices ); + + } + + if ( primitive.indices === null ) delete primitive.indices; + + } + + const material = this.processMaterial( materials[ groups[ i ].materialIndex ] ); + + if ( material !== null ) primitive.material = material; + + primitives.push( primitive ); + + } + + meshDef.primitives = primitives; + + if ( ! json.meshes ) json.meshes = []; + + this._invokeAll( function ( ext ) { + + ext.writeMesh && ext.writeMesh( mesh, meshDef ); + + } ); + + const index = json.meshes.push( meshDef ) - 1; + cache.meshes.set( meshCacheKey, index ); + return index; + + } + + /** + * If a vertex attribute with a + * [non-standard data type](https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#meshes-overview) + * is used, it is checked whether it is a valid data type according to the + * [KHR_mesh_quantization](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_mesh_quantization/README.md) + * extension. + * In this case the extension is automatically added to the list of used extensions. + * + * @param {string} attributeName + * @param {THREE.BufferAttribute} attribute + */ + detectMeshQuantization( attributeName, attribute ) { + + if ( this.extensionsUsed[ KHR_MESH_QUANTIZATION ] ) return; + + let attrType = undefined; + + switch ( attribute.array.constructor ) { + + case Int8Array: + + attrType = 'byte'; + + break; + + case Uint8Array: + + attrType = 'unsigned byte'; + + break; + + case Int16Array: + + attrType = 'short'; + + break; + + case Uint16Array: + + attrType = 'unsigned short'; + + break; + + default: + + return; + + } + + if ( attribute.normalized ) attrType += ' normalized'; + + const attrNamePrefix = attributeName.split( '_', 1 )[ 0 ]; + + if ( KHR_mesh_quantization_ExtraAttrTypes[ attrNamePrefix ] && KHR_mesh_quantization_ExtraAttrTypes[ attrNamePrefix ].includes( attrType ) ) { + + this.extensionsUsed[ KHR_MESH_QUANTIZATION ] = true; + this.extensionsRequired[ KHR_MESH_QUANTIZATION ] = true; + + } + + } + + /** + * Process camera + * @param {THREE.Camera} camera Camera to process + * @return {Integer} Index of the processed mesh in the "camera" array + */ + processCamera( camera ) { + + const json = this.json; + + if ( ! json.cameras ) json.cameras = []; + + const isOrtho = camera.isOrthographicCamera; + + const cameraDef = { + type: isOrtho ? 'orthographic' : 'perspective' + }; + + if ( isOrtho ) { + + cameraDef.orthographic = { + xmag: camera.right * 2, + ymag: camera.top * 2, + zfar: camera.far <= 0 ? 0.001 : camera.far, + znear: camera.near < 0 ? 0 : camera.near + }; + + } else { + + cameraDef.perspective = { + aspectRatio: camera.aspect, + yfov: MathUtils.degToRad( camera.fov ), + zfar: camera.far <= 0 ? 0.001 : camera.far, + znear: camera.near < 0 ? 0 : camera.near + }; + + } + + // Question: Is saving "type" as name intentional? + if ( camera.name !== '' ) cameraDef.name = camera.type; + + return json.cameras.push( cameraDef ) - 1; + + } + + /** + * Creates glTF animation entry from AnimationClip object. + * + * Status: + * - Only properties listed in PATH_PROPERTIES may be animated. + * + * @param {THREE.AnimationClip} clip + * @param {THREE.Object3D} root + * @return {number|null} + */ + processAnimation( clip, root ) { + + const json = this.json; + const nodeMap = this.nodeMap; + + if ( ! json.animations ) json.animations = []; + + clip = GLTFExporter.Utils.mergeMorphTargetTracks( clip.clone(), root ); + + const tracks = clip.tracks; + const channels = []; + const samplers = []; + + for ( let i = 0; i < tracks.length; ++ i ) { + + const track = tracks[ i ]; + const trackBinding = PropertyBinding.parseTrackName( track.name ); + let trackNode = PropertyBinding.findNode( root, trackBinding.nodeName ); + const trackProperty = PATH_PROPERTIES[ trackBinding.propertyName ]; + + if ( trackBinding.objectName === 'bones' ) { + + if ( trackNode.isSkinnedMesh === true ) { + + trackNode = trackNode.skeleton.getBoneByName( trackBinding.objectIndex ); + + } else { + + trackNode = undefined; + + } + + } + + if ( ! trackNode || ! trackProperty ) { + + console.warn( 'THREE.GLTFExporter: Could not export animation track "%s".', track.name ); + return null; + + } + + const inputItemSize = 1; + let outputItemSize = track.values.length / track.times.length; + + if ( trackProperty === PATH_PROPERTIES.morphTargetInfluences ) { + + outputItemSize /= trackNode.morphTargetInfluences.length; + + } + + let interpolation; + + // @TODO export CubicInterpolant(InterpolateSmooth) as CUBICSPLINE + + // Detecting glTF cubic spline interpolant by checking factory method's special property + // GLTFCubicSplineInterpolant is a custom interpolant and track doesn't return + // valid value from .getInterpolation(). + if ( track.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline === true ) { + + interpolation = 'CUBICSPLINE'; + + // itemSize of CUBICSPLINE keyframe is 9 + // (VEC3 * 3: inTangent, splineVertex, and outTangent) + // but needs to be stored as VEC3 so dividing by 3 here. + outputItemSize /= 3; + + } else if ( track.getInterpolation() === InterpolateDiscrete ) { + + interpolation = 'STEP'; + + } else { + + interpolation = 'LINEAR'; + + } + + samplers.push( { + input: this.processAccessor( new BufferAttribute$1( track.times, inputItemSize ) ), + output: this.processAccessor( new BufferAttribute$1( track.values, outputItemSize ) ), + interpolation: interpolation + } ); + + channels.push( { + sampler: samplers.length - 1, + target: { + node: nodeMap.get( trackNode ), + path: trackProperty + } + } ); + + } + + json.animations.push( { + name: clip.name || 'clip_' + json.animations.length, + samplers: samplers, + channels: channels + } ); + + return json.animations.length - 1; + + } + + /** + * @param {THREE.Object3D} object + * @return {number|null} + */ + processSkin( object ) { + + const json = this.json; + const nodeMap = this.nodeMap; + + const node = json.nodes[ nodeMap.get( object ) ]; + + const skeleton = object.skeleton; + + if ( skeleton === undefined ) return null; + + const rootJoint = object.skeleton.bones[ 0 ]; + + if ( rootJoint === undefined ) return null; + + const joints = []; + const inverseBindMatrices = new Float32Array( skeleton.bones.length * 16 ); + const temporaryBoneInverse = new Matrix4(); + + for ( let i = 0; i < skeleton.bones.length; ++ i ) { + + joints.push( nodeMap.get( skeleton.bones[ i ] ) ); + temporaryBoneInverse.copy( skeleton.boneInverses[ i ] ); + temporaryBoneInverse.multiply( object.bindMatrix ).toArray( inverseBindMatrices, i * 16 ); + + } + + if ( json.skins === undefined ) json.skins = []; + + json.skins.push( { + inverseBindMatrices: this.processAccessor( new BufferAttribute$1( inverseBindMatrices, 16 ) ), + joints: joints, + skeleton: nodeMap.get( rootJoint ) + } ); + + const skinIndex = node.skin = json.skins.length - 1; + + return skinIndex; + + } + + /** + * Process Object3D node + * @param {THREE.Object3D} node Object3D to processNode + * @return {Integer} Index of the node in the nodes list + */ + processNode( object ) { + + const json = this.json; + const options = this.options; + const nodeMap = this.nodeMap; + + if ( ! json.nodes ) json.nodes = []; + + const nodeDef = {}; + + if ( options.trs ) { + + const rotation = object.quaternion.toArray(); + const position = object.position.toArray(); + const scale = object.scale.toArray(); + + if ( ! equalArray( rotation, [ 0, 0, 0, 1 ] ) ) { + + nodeDef.rotation = rotation; + + } + + if ( ! equalArray( position, [ 0, 0, 0 ] ) ) { + + nodeDef.translation = position; + + } + + if ( ! equalArray( scale, [ 1, 1, 1 ] ) ) { + + nodeDef.scale = scale; + + } + + } else { + + if ( object.matrixAutoUpdate ) { + + object.updateMatrix(); + + } + + if ( isIdentityMatrix( object.matrix ) === false ) { + + nodeDef.matrix = object.matrix.elements; + + } + + } + + // We don't export empty strings name because it represents no-name in Three.js. + if ( object.name !== '' ) nodeDef.name = String( object.name ); + + this.serializeUserData( object, nodeDef ); + + if ( object.isMesh || object.isLine || object.isPoints ) { + + const meshIndex = this.processMesh( object ); + + if ( meshIndex !== null ) nodeDef.mesh = meshIndex; + + } else if ( object.isCamera ) { + + nodeDef.camera = this.processCamera( object ); + + } + + if ( object.isSkinnedMesh ) this.skins.push( object ); + + if ( object.children.length > 0 ) { + + const children = []; + + for ( let i = 0, l = object.children.length; i < l; i ++ ) { + + const child = object.children[ i ]; + + if ( child.visible || options.onlyVisible === false ) { + + const nodeIndex = this.processNode( child ); + + if ( nodeIndex !== null ) children.push( nodeIndex ); + + } + + } + + if ( children.length > 0 ) nodeDef.children = children; + + } + + this._invokeAll( function ( ext ) { + + ext.writeNode && ext.writeNode( object, nodeDef ); + + } ); + + const nodeIndex = json.nodes.push( nodeDef ) - 1; + nodeMap.set( object, nodeIndex ); + return nodeIndex; + + } + + /** + * Process Scene + * @param {Scene} node Scene to process + */ + processScene( scene ) { + + const json = this.json; + const options = this.options; + + if ( ! json.scenes ) { + + json.scenes = []; + json.scene = 0; + + } + + const sceneDef = {}; + + if ( scene.name !== '' ) sceneDef.name = scene.name; + + json.scenes.push( sceneDef ); + + const nodes = []; + + for ( let i = 0, l = scene.children.length; i < l; i ++ ) { + + const child = scene.children[ i ]; + + if ( child.visible || options.onlyVisible === false ) { + + const nodeIndex = this.processNode( child ); + + if ( nodeIndex !== null ) nodes.push( nodeIndex ); + + } + + } + + if ( nodes.length > 0 ) sceneDef.nodes = nodes; + + this.serializeUserData( scene, sceneDef ); + + } + + /** + * Creates a Scene to hold a list of objects and parse it + * @param {Array} objects List of objects to process + */ + processObjects( objects ) { + + const scene = new Scene(); + scene.name = 'AuxScene'; + + for ( let i = 0; i < objects.length; i ++ ) { + + // We push directly to children instead of calling `add` to prevent + // modify the .parent and break its original scene and hierarchy + scene.children.push( objects[ i ] ); + + } + + this.processScene( scene ); + + } + + /** + * @param {THREE.Object3D|Array} input + */ + processInput( input ) { + + const options = this.options; + + input = input instanceof Array ? input : [ input ]; + + this._invokeAll( function ( ext ) { + + ext.beforeParse && ext.beforeParse( input ); + + } ); + + const objectsWithoutScene = []; + + for ( let i = 0; i < input.length; i ++ ) { + + if ( input[ i ] instanceof Scene ) { + + this.processScene( input[ i ] ); + + } else { + + objectsWithoutScene.push( input[ i ] ); + + } + + } + + if ( objectsWithoutScene.length > 0 ) this.processObjects( objectsWithoutScene ); + + for ( let i = 0; i < this.skins.length; ++ i ) { + + this.processSkin( this.skins[ i ] ); + + } + + for ( let i = 0; i < options.animations.length; ++ i ) { + + this.processAnimation( options.animations[ i ], input[ 0 ] ); + + } + + this._invokeAll( function ( ext ) { + + ext.afterParse && ext.afterParse( input ); + + } ); + + } + + _invokeAll( func ) { + + for ( let i = 0, il = this.plugins.length; i < il; i ++ ) { + + func( this.plugins[ i ] ); + + } + + } + +} + +/** + * Punctual Lights Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_lights_punctual + */ +class GLTFLightExtension { + + constructor( writer ) { + + this.writer = writer; + this.name = 'KHR_lights_punctual'; + + } + + writeNode( light, nodeDef ) { + + if ( ! light.isLight ) return; + + if ( ! light.isDirectionalLight && ! light.isPointLight && ! light.isSpotLight ) { + + console.warn( 'THREE.GLTFExporter: Only directional, point, and spot lights are supported.', light ); + return; + + } + + const writer = this.writer; + const json = writer.json; + const extensionsUsed = writer.extensionsUsed; + + const lightDef = {}; + + if ( light.name ) lightDef.name = light.name; + + lightDef.color = light.color.toArray(); + + lightDef.intensity = light.intensity; + + if ( light.isDirectionalLight ) { + + lightDef.type = 'directional'; + + } else if ( light.isPointLight ) { + + lightDef.type = 'point'; + + if ( light.distance > 0 ) lightDef.range = light.distance; + + } else if ( light.isSpotLight ) { + + lightDef.type = 'spot'; + + if ( light.distance > 0 ) lightDef.range = light.distance; + + lightDef.spot = {}; + lightDef.spot.innerConeAngle = ( light.penumbra - 1.0 ) * light.angle * - 1.0; + lightDef.spot.outerConeAngle = light.angle; + + } + + if ( light.decay !== undefined && light.decay !== 2 ) { + + console.warn( 'THREE.GLTFExporter: Light decay may be lost. glTF is physically-based, ' + + 'and expects light.decay=2.' ); + + } + + if ( light.target + && ( light.target.parent !== light + || light.target.position.x !== 0 + || light.target.position.y !== 0 + || light.target.position.z !== - 1 ) ) { + + console.warn( 'THREE.GLTFExporter: Light direction may be lost. For best results, ' + + 'make light.target a child of the light with position 0,0,-1.' ); + + } + + if ( ! extensionsUsed[ this.name ] ) { + + json.extensions = json.extensions || {}; + json.extensions[ this.name ] = { lights: [] }; + extensionsUsed[ this.name ] = true; + + } + + const lights = json.extensions[ this.name ].lights; + lights.push( lightDef ); + + nodeDef.extensions = nodeDef.extensions || {}; + nodeDef.extensions[ this.name ] = { light: lights.length - 1 }; + + } + +} + +/** + * Unlit Materials Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit + */ +class GLTFMaterialsUnlitExtension { + + constructor( writer ) { + + this.writer = writer; + this.name = 'KHR_materials_unlit'; + + } + + writeMaterial( material, materialDef ) { + + if ( ! material.isMeshBasicMaterial ) return; + + const writer = this.writer; + const extensionsUsed = writer.extensionsUsed; + + materialDef.extensions = materialDef.extensions || {}; + materialDef.extensions[ this.name ] = {}; + + extensionsUsed[ this.name ] = true; + + materialDef.pbrMetallicRoughness.metallicFactor = 0.0; + materialDef.pbrMetallicRoughness.roughnessFactor = 0.9; + + } + +} + +/** + * Clearcoat Materials Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_clearcoat + */ +class GLTFMaterialsClearcoatExtension { + + constructor( writer ) { + + this.writer = writer; + this.name = 'KHR_materials_clearcoat'; + + } + + writeMaterial( material, materialDef ) { + + if ( ! material.isMeshPhysicalMaterial || material.clearcoat === 0 ) return; + + const writer = this.writer; + const extensionsUsed = writer.extensionsUsed; + + const extensionDef = {}; + + extensionDef.clearcoatFactor = material.clearcoat; + + if ( material.clearcoatMap ) { + + const clearcoatMapDef = { + index: writer.processTexture( material.clearcoatMap ), + texCoord: material.clearcoatMap.channel + }; + writer.applyTextureTransform( clearcoatMapDef, material.clearcoatMap ); + extensionDef.clearcoatTexture = clearcoatMapDef; + + } + + extensionDef.clearcoatRoughnessFactor = material.clearcoatRoughness; + + if ( material.clearcoatRoughnessMap ) { + + const clearcoatRoughnessMapDef = { + index: writer.processTexture( material.clearcoatRoughnessMap ), + texCoord: material.clearcoatRoughnessMap.channel + }; + writer.applyTextureTransform( clearcoatRoughnessMapDef, material.clearcoatRoughnessMap ); + extensionDef.clearcoatRoughnessTexture = clearcoatRoughnessMapDef; + + } + + if ( material.clearcoatNormalMap ) { + + const clearcoatNormalMapDef = { + index: writer.processTexture( material.clearcoatNormalMap ), + texCoord: material.clearcoatNormalMap.channel + }; + writer.applyTextureTransform( clearcoatNormalMapDef, material.clearcoatNormalMap ); + extensionDef.clearcoatNormalTexture = clearcoatNormalMapDef; + + } + + materialDef.extensions = materialDef.extensions || {}; + materialDef.extensions[ this.name ] = extensionDef; + + extensionsUsed[ this.name ] = true; + + + } + +} + +/** + * Iridescence Materials Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_iridescence + */ +class GLTFMaterialsIridescenceExtension { + + constructor( writer ) { + + this.writer = writer; + this.name = 'KHR_materials_iridescence'; + + } + + writeMaterial( material, materialDef ) { + + if ( ! material.isMeshPhysicalMaterial || material.iridescence === 0 ) return; + + const writer = this.writer; + const extensionsUsed = writer.extensionsUsed; + + const extensionDef = {}; + + extensionDef.iridescenceFactor = material.iridescence; + + if ( material.iridescenceMap ) { + + const iridescenceMapDef = { + index: writer.processTexture( material.iridescenceMap ), + texCoord: material.iridescenceMap.channel + }; + writer.applyTextureTransform( iridescenceMapDef, material.iridescenceMap ); + extensionDef.iridescenceTexture = iridescenceMapDef; + + } + + extensionDef.iridescenceIor = material.iridescenceIOR; + extensionDef.iridescenceThicknessMinimum = material.iridescenceThicknessRange[ 0 ]; + extensionDef.iridescenceThicknessMaximum = material.iridescenceThicknessRange[ 1 ]; + + if ( material.iridescenceThicknessMap ) { + + const iridescenceThicknessMapDef = { + index: writer.processTexture( material.iridescenceThicknessMap ), + texCoord: material.iridescenceThicknessMap.channel + }; + writer.applyTextureTransform( iridescenceThicknessMapDef, material.iridescenceThicknessMap ); + extensionDef.iridescenceThicknessTexture = iridescenceThicknessMapDef; + + } + + materialDef.extensions = materialDef.extensions || {}; + materialDef.extensions[ this.name ] = extensionDef; + + extensionsUsed[ this.name ] = true; + + } + +} + +/** + * Transmission Materials Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_transmission + */ +class GLTFMaterialsTransmissionExtension { + + constructor( writer ) { + + this.writer = writer; + this.name = 'KHR_materials_transmission'; + + } + + writeMaterial( material, materialDef ) { + + if ( ! material.isMeshPhysicalMaterial || material.transmission === 0 ) return; + + const writer = this.writer; + const extensionsUsed = writer.extensionsUsed; + + const extensionDef = {}; + + extensionDef.transmissionFactor = material.transmission; + + if ( material.transmissionMap ) { + + const transmissionMapDef = { + index: writer.processTexture( material.transmissionMap ), + texCoord: material.transmissionMap.channel + }; + writer.applyTextureTransform( transmissionMapDef, material.transmissionMap ); + extensionDef.transmissionTexture = transmissionMapDef; + + } + + materialDef.extensions = materialDef.extensions || {}; + materialDef.extensions[ this.name ] = extensionDef; + + extensionsUsed[ this.name ] = true; + + } + +} + +/** + * Materials Volume Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_volume + */ +class GLTFMaterialsVolumeExtension { + + constructor( writer ) { + + this.writer = writer; + this.name = 'KHR_materials_volume'; + + } + + writeMaterial( material, materialDef ) { + + if ( ! material.isMeshPhysicalMaterial || material.transmission === 0 ) return; + + const writer = this.writer; + const extensionsUsed = writer.extensionsUsed; + + const extensionDef = {}; + + extensionDef.thicknessFactor = material.thickness; + + if ( material.thicknessMap ) { + + const thicknessMapDef = { + index: writer.processTexture( material.thicknessMap ), + texCoord: material.thicknessMap.channel + }; + writer.applyTextureTransform( thicknessMapDef, material.thicknessMap ); + extensionDef.thicknessTexture = thicknessMapDef; + + } + + extensionDef.attenuationDistance = material.attenuationDistance; + extensionDef.attenuationColor = material.attenuationColor.toArray(); + + materialDef.extensions = materialDef.extensions || {}; + materialDef.extensions[ this.name ] = extensionDef; + + extensionsUsed[ this.name ] = true; + + } + +} + +/** + * Materials ior Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_ior + */ +class GLTFMaterialsIorExtension { + + constructor( writer ) { + + this.writer = writer; + this.name = 'KHR_materials_ior'; + + } + + writeMaterial( material, materialDef ) { + + if ( ! material.isMeshPhysicalMaterial || material.ior === 1.5 ) return; + + const writer = this.writer; + const extensionsUsed = writer.extensionsUsed; + + const extensionDef = {}; + + extensionDef.ior = material.ior; + + materialDef.extensions = materialDef.extensions || {}; + materialDef.extensions[ this.name ] = extensionDef; + + extensionsUsed[ this.name ] = true; + + } + +} + +/** + * Materials specular Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_specular + */ +class GLTFMaterialsSpecularExtension { + + constructor( writer ) { + + this.writer = writer; + this.name = 'KHR_materials_specular'; + + } + + writeMaterial( material, materialDef ) { + + if ( ! material.isMeshPhysicalMaterial || ( material.specularIntensity === 1.0 && + material.specularColor.equals( DEFAULT_SPECULAR_COLOR ) && + ! material.specularIntensityMap && ! material.specularColorTexture ) ) return; + + const writer = this.writer; + const extensionsUsed = writer.extensionsUsed; + + const extensionDef = {}; + + if ( material.specularIntensityMap ) { + + const specularIntensityMapDef = { + index: writer.processTexture( material.specularIntensityMap ), + texCoord: material.specularIntensityMap.channel + }; + writer.applyTextureTransform( specularIntensityMapDef, material.specularIntensityMap ); + extensionDef.specularTexture = specularIntensityMapDef; + + } + + if ( material.specularColorMap ) { + + const specularColorMapDef = { + index: writer.processTexture( material.specularColorMap ), + texCoord: material.specularColorMap.channel + }; + writer.applyTextureTransform( specularColorMapDef, material.specularColorMap ); + extensionDef.specularColorTexture = specularColorMapDef; + + } + + extensionDef.specularFactor = material.specularIntensity; + extensionDef.specularColorFactor = material.specularColor.toArray(); + + materialDef.extensions = materialDef.extensions || {}; + materialDef.extensions[ this.name ] = extensionDef; + + extensionsUsed[ this.name ] = true; + + } + +} + +/** + * Sheen Materials Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_sheen + */ +class GLTFMaterialsSheenExtension { + + constructor( writer ) { + + this.writer = writer; + this.name = 'KHR_materials_sheen'; + + } + + writeMaterial( material, materialDef ) { + + if ( ! material.isMeshPhysicalMaterial || material.sheen == 0.0 ) return; + + const writer = this.writer; + const extensionsUsed = writer.extensionsUsed; + + const extensionDef = {}; + + if ( material.sheenRoughnessMap ) { + + const sheenRoughnessMapDef = { + index: writer.processTexture( material.sheenRoughnessMap ), + texCoord: material.sheenRoughnessMap.channel + }; + writer.applyTextureTransform( sheenRoughnessMapDef, material.sheenRoughnessMap ); + extensionDef.sheenRoughnessTexture = sheenRoughnessMapDef; + + } + + if ( material.sheenColorMap ) { + + const sheenColorMapDef = { + index: writer.processTexture( material.sheenColorMap ), + texCoord: material.sheenColorMap.channel + }; + writer.applyTextureTransform( sheenColorMapDef, material.sheenColorMap ); + extensionDef.sheenColorTexture = sheenColorMapDef; + + } + + extensionDef.sheenRoughnessFactor = material.sheenRoughness; + extensionDef.sheenColorFactor = material.sheenColor.toArray(); + + materialDef.extensions = materialDef.extensions || {}; + materialDef.extensions[ this.name ] = extensionDef; + + extensionsUsed[ this.name ] = true; + + } + +} + +/** + * Materials Emissive Strength Extension + * + * Specification: https://github.com/KhronosGroup/glTF/blob/5768b3ce0ef32bc39cdf1bef10b948586635ead3/extensions/2.0/Khronos/KHR_materials_emissive_strength/README.md + */ +class GLTFMaterialsEmissiveStrengthExtension { + + constructor( writer ) { + + this.writer = writer; + this.name = 'KHR_materials_emissive_strength'; + + } + + writeMaterial( material, materialDef ) { + + if ( ! material.isMeshStandardMaterial || material.emissiveIntensity === 1.0 ) return; + + const writer = this.writer; + const extensionsUsed = writer.extensionsUsed; + + const extensionDef = {}; + + extensionDef.emissiveStrength = material.emissiveIntensity; + + materialDef.extensions = materialDef.extensions || {}; + materialDef.extensions[ this.name ] = extensionDef; + + extensionsUsed[ this.name ] = true; + + } + +} + +/** + * Static utility functions + */ +GLTFExporter.Utils = { + + insertKeyframe: function ( track, time ) { + + const tolerance = 0.001; // 1ms + const valueSize = track.getValueSize(); + + const times = new track.TimeBufferType( track.times.length + 1 ); + const values = new track.ValueBufferType( track.values.length + valueSize ); + const interpolant = track.createInterpolant( new track.ValueBufferType( valueSize ) ); + + let index; + + if ( track.times.length === 0 ) { + + times[ 0 ] = time; + + for ( let i = 0; i < valueSize; i ++ ) { + + values[ i ] = 0; + + } + + index = 0; + + } else if ( time < track.times[ 0 ] ) { + + if ( Math.abs( track.times[ 0 ] - time ) < tolerance ) return 0; + + times[ 0 ] = time; + times.set( track.times, 1 ); + + values.set( interpolant.evaluate( time ), 0 ); + values.set( track.values, valueSize ); + + index = 0; + + } else if ( time > track.times[ track.times.length - 1 ] ) { + + if ( Math.abs( track.times[ track.times.length - 1 ] - time ) < tolerance ) { + + return track.times.length - 1; + + } + + times[ times.length - 1 ] = time; + times.set( track.times, 0 ); + + values.set( track.values, 0 ); + values.set( interpolant.evaluate( time ), track.values.length ); + + index = times.length - 1; + + } else { + + for ( let i = 0; i < track.times.length; i ++ ) { + + if ( Math.abs( track.times[ i ] - time ) < tolerance ) return i; + + if ( track.times[ i ] < time && track.times[ i + 1 ] > time ) { + + times.set( track.times.slice( 0, i + 1 ), 0 ); + times[ i + 1 ] = time; + times.set( track.times.slice( i + 1 ), i + 2 ); + + values.set( track.values.slice( 0, ( i + 1 ) * valueSize ), 0 ); + values.set( interpolant.evaluate( time ), ( i + 1 ) * valueSize ); + values.set( track.values.slice( ( i + 1 ) * valueSize ), ( i + 2 ) * valueSize ); + + index = i + 1; + + break; + + } + + } + + } + + track.times = times; + track.values = values; + + return index; + + }, + + mergeMorphTargetTracks: function ( clip, root ) { + + const tracks = []; + const mergedTracks = {}; + const sourceTracks = clip.tracks; + + for ( let i = 0; i < sourceTracks.length; ++ i ) { + + let sourceTrack = sourceTracks[ i ]; + const sourceTrackBinding = PropertyBinding.parseTrackName( sourceTrack.name ); + const sourceTrackNode = PropertyBinding.findNode( root, sourceTrackBinding.nodeName ); + + if ( sourceTrackBinding.propertyName !== 'morphTargetInfluences' || sourceTrackBinding.propertyIndex === undefined ) { + + // Tracks that don't affect morph targets, or that affect all morph targets together, can be left as-is. + tracks.push( sourceTrack ); + continue; + + } + + if ( sourceTrack.createInterpolant !== sourceTrack.InterpolantFactoryMethodDiscrete + && sourceTrack.createInterpolant !== sourceTrack.InterpolantFactoryMethodLinear ) { + + if ( sourceTrack.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline ) { + + // This should never happen, because glTF morph target animations + // affect all targets already. + throw new Error( 'THREE.GLTFExporter: Cannot merge tracks with glTF CUBICSPLINE interpolation.' ); + + } + + console.warn( 'THREE.GLTFExporter: Morph target interpolation mode not yet supported. Using LINEAR instead.' ); + + sourceTrack = sourceTrack.clone(); + sourceTrack.setInterpolation( InterpolateLinear ); + + } + + const targetCount = sourceTrackNode.morphTargetInfluences.length; + const targetIndex = sourceTrackNode.morphTargetDictionary[ sourceTrackBinding.propertyIndex ]; + + if ( targetIndex === undefined ) { + + throw new Error( 'THREE.GLTFExporter: Morph target name not found: ' + sourceTrackBinding.propertyIndex ); + + } + + let mergedTrack; + + // If this is the first time we've seen this object, create a new + // track to store merged keyframe data for each morph target. + if ( mergedTracks[ sourceTrackNode.uuid ] === undefined ) { + + mergedTrack = sourceTrack.clone(); + + const values = new mergedTrack.ValueBufferType( targetCount * mergedTrack.times.length ); + + for ( let j = 0; j < mergedTrack.times.length; j ++ ) { + + values[ j * targetCount + targetIndex ] = mergedTrack.values[ j ]; + + } + + // We need to take into consideration the intended target node + // of our original un-merged morphTarget animation. + mergedTrack.name = ( sourceTrackBinding.nodeName || '' ) + '.morphTargetInfluences'; + mergedTrack.values = values; + + mergedTracks[ sourceTrackNode.uuid ] = mergedTrack; + tracks.push( mergedTrack ); + + continue; + + } + + const sourceInterpolant = sourceTrack.createInterpolant( new sourceTrack.ValueBufferType( 1 ) ); + + mergedTrack = mergedTracks[ sourceTrackNode.uuid ]; + + // For every existing keyframe of the merged track, write a (possibly + // interpolated) value from the source track. + for ( let j = 0; j < mergedTrack.times.length; j ++ ) { + + mergedTrack.values[ j * targetCount + targetIndex ] = sourceInterpolant.evaluate( mergedTrack.times[ j ] ); + + } + + // For every existing keyframe of the source track, write a (possibly + // new) keyframe to the merged track. Values from the previous loop may + // be written again, but keyframes are de-duplicated. + for ( let j = 0; j < sourceTrack.times.length; j ++ ) { + + const keyframeIndex = this.insertKeyframe( mergedTrack, sourceTrack.times[ j ] ); + mergedTrack.values[ keyframeIndex * targetCount + targetIndex ] = sourceTrack.values[ j ]; + + } + + } + + clip.tracks = tracks; + + return clip; + + } + +}; + +class Quaternion { + + constructor( x = 0, y = 0, z = 0, w = 1 ) { + + this.isQuaternion = true; + + this._x = x; + this._y = y; + this._z = z; + this._w = w; + + } + + static slerpFlat( dst, dstOffset, src0, srcOffset0, src1, srcOffset1, t ) { + + // fuzz-free, array-based Quaternion SLERP operation + + let x0 = src0[ srcOffset0 + 0 ], + y0 = src0[ srcOffset0 + 1 ], + z0 = src0[ srcOffset0 + 2 ], + w0 = src0[ srcOffset0 + 3 ]; + + const x1 = src1[ srcOffset1 + 0 ], + y1 = src1[ srcOffset1 + 1 ], + z1 = src1[ srcOffset1 + 2 ], + w1 = src1[ srcOffset1 + 3 ]; + + if ( t === 0 ) { + + dst[ dstOffset + 0 ] = x0; + dst[ dstOffset + 1 ] = y0; + dst[ dstOffset + 2 ] = z0; + dst[ dstOffset + 3 ] = w0; + return; + + } + + if ( t === 1 ) { + + dst[ dstOffset + 0 ] = x1; + dst[ dstOffset + 1 ] = y1; + dst[ dstOffset + 2 ] = z1; + dst[ dstOffset + 3 ] = w1; + return; + + } + + if ( w0 !== w1 || x0 !== x1 || y0 !== y1 || z0 !== z1 ) { + + let s = 1 - t; + const cos = x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1, + dir = ( cos >= 0 ? 1 : - 1 ), + sqrSin = 1 - cos * cos; + + // Skip the Slerp for tiny steps to avoid numeric problems: + if ( sqrSin > Number.EPSILON ) { + + const sin = Math.sqrt( sqrSin ), + len = Math.atan2( sin, cos * dir ); + + s = Math.sin( s * len ) / sin; + t = Math.sin( t * len ) / sin; + + } + + const tDir = t * dir; + + x0 = x0 * s + x1 * tDir; + y0 = y0 * s + y1 * tDir; + z0 = z0 * s + z1 * tDir; + w0 = w0 * s + w1 * tDir; + + // Normalize in case we just did a lerp: + if ( s === 1 - t ) { + + const f = 1 / Math.sqrt( x0 * x0 + y0 * y0 + z0 * z0 + w0 * w0 ); + + x0 *= f; + y0 *= f; + z0 *= f; + w0 *= f; + + } + + } + + dst[ dstOffset ] = x0; + dst[ dstOffset + 1 ] = y0; + dst[ dstOffset + 2 ] = z0; + dst[ dstOffset + 3 ] = w0; + + } + + static multiplyQuaternionsFlat( dst, dstOffset, src0, srcOffset0, src1, srcOffset1 ) { + + const x0 = src0[ srcOffset0 ]; + const y0 = src0[ srcOffset0 + 1 ]; + const z0 = src0[ srcOffset0 + 2 ]; + const w0 = src0[ srcOffset0 + 3 ]; + + const x1 = src1[ srcOffset1 ]; + const y1 = src1[ srcOffset1 + 1 ]; + const z1 = src1[ srcOffset1 + 2 ]; + const w1 = src1[ srcOffset1 + 3 ]; + + dst[ dstOffset ] = x0 * w1 + w0 * x1 + y0 * z1 - z0 * y1; + dst[ dstOffset + 1 ] = y0 * w1 + w0 * y1 + z0 * x1 - x0 * z1; + dst[ dstOffset + 2 ] = z0 * w1 + w0 * z1 + x0 * y1 - y0 * x1; + dst[ dstOffset + 3 ] = w0 * w1 - x0 * x1 - y0 * y1 - z0 * z1; + + return dst; + + } + + get x() { + + return this._x; + + } + + set x( value ) { + + this._x = value; + this._onChangeCallback(); + + } + + get y() { + + return this._y; + + } + + set y( value ) { + + this._y = value; + this._onChangeCallback(); + + } + + get z() { + + return this._z; + + } + + set z( value ) { + + this._z = value; + this._onChangeCallback(); + + } + + get w() { + + return this._w; + + } + + set w( value ) { + + this._w = value; + this._onChangeCallback(); + + } + + set( x, y, z, w ) { + + this._x = x; + this._y = y; + this._z = z; + this._w = w; + + this._onChangeCallback(); + + return this; + + } + + clone() { + + return new this.constructor( this._x, this._y, this._z, this._w ); + + } + + copy( quaternion ) { + + this._x = quaternion.x; + this._y = quaternion.y; + this._z = quaternion.z; + this._w = quaternion.w; + + this._onChangeCallback(); + + return this; + + } + + setFromEuler( euler, update ) { + + const x = euler._x, y = euler._y, z = euler._z, order = euler._order; + + // http://www.mathworks.com/matlabcentral/fileexchange/ + // 20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/ + // content/SpinCalc.m + + const cos = Math.cos; + const sin = Math.sin; + + const c1 = cos( x / 2 ); + const c2 = cos( y / 2 ); + const c3 = cos( z / 2 ); + + const s1 = sin( x / 2 ); + const s2 = sin( y / 2 ); + const s3 = sin( z / 2 ); + + switch ( order ) { + + case 'XYZ': + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + break; + + case 'YXZ': + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + break; + + case 'ZXY': + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + break; + + case 'ZYX': + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + break; + + case 'YZX': + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + break; + + case 'XZY': + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + break; + + default: + console.warn( 'THREE.Quaternion: .setFromEuler() encountered an unknown order: ' + order ); + + } + + if ( update !== false ) this._onChangeCallback(); + + return this; + + } + + setFromAxisAngle( axis, angle ) { + + // http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm + + // assumes axis is normalized + + const halfAngle = angle / 2, s = Math.sin( halfAngle ); + + this._x = axis.x * s; + this._y = axis.y * s; + this._z = axis.z * s; + this._w = Math.cos( halfAngle ); + + this._onChangeCallback(); + + return this; + + } + + setFromRotationMatrix( m ) { + + // http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm + + // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) + + const te = m.elements, + + m11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ], + m21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ], + m31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ], + + trace = m11 + m22 + m33; + + if ( trace > 0 ) { + + const s = 0.5 / Math.sqrt( trace + 1.0 ); + + this._w = 0.25 / s; + this._x = ( m32 - m23 ) * s; + this._y = ( m13 - m31 ) * s; + this._z = ( m21 - m12 ) * s; + + } else if ( m11 > m22 && m11 > m33 ) { + + const s = 2.0 * Math.sqrt( 1.0 + m11 - m22 - m33 ); + + this._w = ( m32 - m23 ) / s; + this._x = 0.25 * s; + this._y = ( m12 + m21 ) / s; + this._z = ( m13 + m31 ) / s; + + } else if ( m22 > m33 ) { + + const s = 2.0 * Math.sqrt( 1.0 + m22 - m11 - m33 ); + + this._w = ( m13 - m31 ) / s; + this._x = ( m12 + m21 ) / s; + this._y = 0.25 * s; + this._z = ( m23 + m32 ) / s; + + } else { + + const s = 2.0 * Math.sqrt( 1.0 + m33 - m11 - m22 ); + + this._w = ( m21 - m12 ) / s; + this._x = ( m13 + m31 ) / s; + this._y = ( m23 + m32 ) / s; + this._z = 0.25 * s; + + } + + this._onChangeCallback(); + + return this; + + } + + setFromUnitVectors( vFrom, vTo ) { + + // assumes direction vectors vFrom and vTo are normalized + + let r = vFrom.dot( vTo ) + 1; + + if ( r < Number.EPSILON ) { + + // vFrom and vTo point in opposite directions + + r = 0; + + if ( Math.abs( vFrom.x ) > Math.abs( vFrom.z ) ) { + + this._x = - vFrom.y; + this._y = vFrom.x; + this._z = 0; + this._w = r; + + } else { + + this._x = 0; + this._y = - vFrom.z; + this._z = vFrom.y; + this._w = r; + + } + + } else { + + // crossVectors( vFrom, vTo ); // inlined to avoid cyclic dependency on Vector3 + + this._x = vFrom.y * vTo.z - vFrom.z * vTo.y; + this._y = vFrom.z * vTo.x - vFrom.x * vTo.z; + this._z = vFrom.x * vTo.y - vFrom.y * vTo.x; + this._w = r; + + } + + return this.normalize(); + + } + + angleTo( q ) { + + return 2 * Math.acos( Math.abs( clamp( this.dot( q ), - 1, 1 ) ) ); + + } + + rotateTowards( q, step ) { + + const angle = this.angleTo( q ); + + if ( angle === 0 ) return this; + + const t = Math.min( 1, step / angle ); + + this.slerp( q, t ); + + return this; + + } + + identity() { + + return this.set( 0, 0, 0, 1 ); + + } + + invert() { + + // quaternion is assumed to have unit length + + return this.conjugate(); + + } + + conjugate() { + + this._x *= - 1; + this._y *= - 1; + this._z *= - 1; + + this._onChangeCallback(); + + return this; + + } + + dot( v ) { + + return this._x * v._x + this._y * v._y + this._z * v._z + this._w * v._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 l = this.length(); + + if ( l === 0 ) { + + this._x = 0; + this._y = 0; + this._z = 0; + this._w = 1; + + } else { + + l = 1 / l; + + this._x = this._x * l; + this._y = this._y * l; + this._z = this._z * l; + this._w = this._w * l; + + } + + this._onChangeCallback(); + + return this; + + } + + multiply( q ) { + + return this.multiplyQuaternions( this, q ); + + } + + premultiply( q ) { + + return this.multiplyQuaternions( q, this ); + + } + + multiplyQuaternions( a, b ) { + + // from http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/code/index.htm + + const qax = a._x, qay = a._y, qaz = a._z, qaw = a._w; + const qbx = b._x, qby = b._y, qbz = b._z, qbw = b._w; + + this._x = qax * qbw + qaw * qbx + qay * qbz - qaz * qby; + this._y = qay * qbw + qaw * qby + qaz * qbx - qax * qbz; + this._z = qaz * qbw + qaw * qbz + qax * qby - qay * qbx; + this._w = qaw * qbw - qax * qbx - qay * qby - qaz * qbz; + + this._onChangeCallback(); + + return this; + + } + + slerp( qb, t ) { + + if ( t === 0 ) return this; + if ( t === 1 ) return this.copy( qb ); + + const x = this._x, y = this._y, z = this._z, w = this._w; + + // http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/slerp/ + + let cosHalfTheta = w * qb._w + x * qb._x + y * qb._y + z * qb._z; + + if ( cosHalfTheta < 0 ) { + + this._w = - qb._w; + this._x = - qb._x; + this._y = - qb._y; + this._z = - qb._z; + + cosHalfTheta = - cosHalfTheta; + + } else { + + this.copy( qb ); + + } + + if ( cosHalfTheta >= 1.0 ) { + + this._w = w; + this._x = x; + this._y = y; + this._z = z; + + return this; + + } + + const sqrSinHalfTheta = 1.0 - cosHalfTheta * cosHalfTheta; + + if ( sqrSinHalfTheta <= Number.EPSILON ) { + + const s = 1 - t; + this._w = s * w + t * this._w; + this._x = s * x + t * this._x; + this._y = s * y + t * this._y; + this._z = s * z + t * this._z; + + this.normalize(); + this._onChangeCallback(); + + return this; + + } + + const sinHalfTheta = Math.sqrt( sqrSinHalfTheta ); + const halfTheta = Math.atan2( sinHalfTheta, cosHalfTheta ); + const ratioA = Math.sin( ( 1 - t ) * halfTheta ) / sinHalfTheta, + ratioB = Math.sin( t * halfTheta ) / sinHalfTheta; + + this._w = ( w * ratioA + this._w * ratioB ); + this._x = ( x * ratioA + this._x * ratioB ); + this._y = ( y * ratioA + this._y * ratioB ); + this._z = ( z * ratioA + this._z * ratioB ); + + this._onChangeCallback(); + + return this; + + } + + slerpQuaternions( qa, qb, t ) { + + return this.copy( qa ).slerp( qb, t ); + + } + + random() { + + // Derived from http://planning.cs.uiuc.edu/node198.html + // Note, this source uses w, x, y, z ordering, + // so we swap the order below. + + const u1 = Math.random(); + const sqrt1u1 = Math.sqrt( 1 - u1 ); + const sqrtu1 = Math.sqrt( u1 ); + + const u2 = 2 * Math.PI * Math.random(); + + const u3 = 2 * Math.PI * Math.random(); + + return this.set( + sqrt1u1 * Math.cos( u2 ), + sqrtu1 * Math.sin( u3 ), + sqrtu1 * Math.cos( u3 ), + sqrt1u1 * Math.sin( u2 ), + ); + + } + + equals( quaternion ) { + + return ( quaternion._x === this._x ) && ( quaternion._y === this._y ) && ( quaternion._z === this._z ) && ( quaternion._w === this._w ); + + } + + fromArray( array, offset = 0 ) { + + this._x = array[ offset ]; + this._y = array[ offset + 1 ]; + this._z = array[ offset + 2 ]; + this._w = array[ offset + 3 ]; + + this._onChangeCallback(); + + return this; + + } + + toArray( array = [], offset = 0 ) { + + array[ offset ] = this._x; + array[ offset + 1 ] = this._y; + array[ offset + 2 ] = this._z; + array[ offset + 3 ] = this._w; + + return array; + + } + + fromBufferAttribute( attribute, index ) { + + this._x = attribute.getX( index ); + this._y = attribute.getY( index ); + this._z = attribute.getZ( index ); + this._w = attribute.getW( index ); + + return this; + + } + + toJSON() { + + return this.toArray(); + + } + + _onChange( callback ) { + + this._onChangeCallback = callback; + + return this; + + } + + _onChangeCallback() {} + + *[ Symbol.iterator ]() { + + yield this._x; + yield this._y; + yield this._z; + yield this._w; + + } + +} + +class Vector3 { + + constructor( x = 0, y = 0, z = 0 ) { + + Vector3.prototype.isVector3 = true; + + this.x = x; + this.y = y; + this.z = z; + + } + + set( x, y, z ) { + + if ( z === undefined ) z = this.z; // sprite.scale.set(x,y) + + this.x = x; + this.y = y; + this.z = z; + + return this; + + } + + setScalar( scalar ) { + + this.x = scalar; + this.y = scalar; + this.z = scalar; + + return this; + + } + + setX( x ) { + + this.x = x; + + return this; + + } + + setY( y ) { + + this.y = y; + + return this; + + } + + setZ( z ) { + + this.z = z; + + return this; + + } + + setComponent( index, value ) { + + switch ( index ) { + + case 0: this.x = value; break; + case 1: this.y = value; break; + case 2: this.z = value; break; + default: throw new Error( 'index is out of range: ' + index ); + + } + + return this; + + } + + getComponent( index ) { + + switch ( index ) { + + case 0: return this.x; + case 1: return this.y; + case 2: return this.z; + default: throw new Error( 'index is out of range: ' + index ); + + } + + } + + clone() { + + return new this.constructor( this.x, this.y, this.z ); + + } + + copy( v ) { + + this.x = v.x; + this.y = v.y; + this.z = v.z; + + return this; + + } + + add( v ) { + + this.x += v.x; + this.y += v.y; + this.z += v.z; + + return this; + + } + + addScalar( s ) { + + this.x += s; + this.y += s; + this.z += s; + + return this; + + } + + addVectors( a, b ) { + + this.x = a.x + b.x; + this.y = a.y + b.y; + this.z = a.z + b.z; + + return this; + + } + + addScaledVector( v, s ) { + + this.x += v.x * s; + this.y += v.y * s; + this.z += v.z * s; + + return this; + + } + + sub( v ) { + + this.x -= v.x; + this.y -= v.y; + this.z -= v.z; + + return this; + + } + + subScalar( s ) { + + this.x -= s; + this.y -= s; + this.z -= s; + + return this; + + } + + subVectors( a, b ) { + + this.x = a.x - b.x; + this.y = a.y - b.y; + this.z = a.z - b.z; + + return this; + + } + + multiply( v ) { + + this.x *= v.x; + this.y *= v.y; + this.z *= v.z; + + return this; + + } + + multiplyScalar( scalar ) { + + this.x *= scalar; + this.y *= scalar; + this.z *= scalar; + + return this; + + } + + multiplyVectors( a, b ) { + + this.x = a.x * b.x; + this.y = a.y * b.y; + this.z = a.z * b.z; + + return this; + + } + + applyEuler( euler ) { + + return this.applyQuaternion( _quaternion.setFromEuler( euler ) ); + + } + + applyAxisAngle( axis, angle ) { + + return this.applyQuaternion( _quaternion.setFromAxisAngle( axis, angle ) ); + + } + + applyMatrix3( m ) { + + const x = this.x, y = this.y, z = this.z; + const e = m.elements; + + this.x = e[ 0 ] * x + e[ 3 ] * y + e[ 6 ] * z; + this.y = e[ 1 ] * x + e[ 4 ] * y + e[ 7 ] * z; + this.z = e[ 2 ] * x + e[ 5 ] * y + e[ 8 ] * z; + + return this; + + } + + applyNormalMatrix( m ) { + + return this.applyMatrix3( m ).normalize(); + + } + + applyMatrix4( m ) { + + const x = this.x, y = this.y, z = this.z; + const e = m.elements; + + const w = 1 / ( e[ 3 ] * x + e[ 7 ] * y + e[ 11 ] * z + e[ 15 ] ); + + this.x = ( e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z + e[ 12 ] ) * w; + this.y = ( e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z + e[ 13 ] ) * w; + this.z = ( e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z + e[ 14 ] ) * w; + + return this; + + } + + applyQuaternion( q ) { + + const x = this.x, y = this.y, z = this.z; + const qx = q.x, qy = q.y, qz = q.z, qw = q.w; + + // calculate quat * vector + + const ix = qw * x + qy * z - qz * y; + const iy = qw * y + qz * x - qx * z; + const iz = qw * z + qx * y - qy * x; + const iw = - qx * x - qy * y - qz * z; + + // calculate result * inverse quat + + this.x = ix * qw + iw * - qx + iy * - qz - iz * - qy; + this.y = iy * qw + iw * - qy + iz * - qx - ix * - qz; + this.z = iz * qw + iw * - qz + ix * - qy - iy * - qx; + + return this; + + } + + project( camera ) { + + return this.applyMatrix4( camera.matrixWorldInverse ).applyMatrix4( camera.projectionMatrix ); + + } + + unproject( camera ) { + + return this.applyMatrix4( camera.projectionMatrixInverse ).applyMatrix4( camera.matrixWorld ); + + } + + transformDirection( m ) { + + // input: THREE.Matrix4 affine matrix + // vector interpreted as a direction + + const x = this.x, y = this.y, z = this.z; + const e = m.elements; + + this.x = e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z; + this.y = e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z; + this.z = e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z; + + return this.normalize(); + + } + + divide( v ) { + + this.x /= v.x; + this.y /= v.y; + this.z /= v.z; + + return this; + + } + + divideScalar( scalar ) { + + return this.multiplyScalar( 1 / scalar ); + + } + + min( v ) { + + this.x = Math.min( this.x, v.x ); + this.y = Math.min( this.y, v.y ); + this.z = Math.min( this.z, v.z ); + + return this; + + } + + max( v ) { + + this.x = Math.max( this.x, v.x ); + this.y = Math.max( this.y, v.y ); + this.z = Math.max( this.z, v.z ); + + return this; + + } + + clamp( min, max ) { + + // assumes min < max, componentwise + + this.x = Math.max( min.x, Math.min( max.x, this.x ) ); + this.y = Math.max( min.y, Math.min( max.y, this.y ) ); + this.z = Math.max( min.z, Math.min( max.z, this.z ) ); + + return this; + + } + + clampScalar( minVal, maxVal ) { + + this.x = Math.max( minVal, Math.min( maxVal, this.x ) ); + this.y = Math.max( minVal, Math.min( maxVal, this.y ) ); + this.z = Math.max( minVal, Math.min( maxVal, this.z ) ); + + return this; + + } + + clampLength( min, max ) { + + const length = this.length(); + + return this.divideScalar( length || 1 ).multiplyScalar( Math.max( min, Math.min( max, length ) ) ); + + } + + floor() { + + this.x = Math.floor( this.x ); + this.y = Math.floor( this.y ); + this.z = Math.floor( this.z ); + + return this; + + } + + ceil() { + + this.x = Math.ceil( this.x ); + this.y = Math.ceil( this.y ); + this.z = Math.ceil( this.z ); + + return this; + + } + + round() { + + this.x = Math.round( this.x ); + this.y = Math.round( this.y ); + this.z = Math.round( this.z ); + + return this; + + } + + roundToZero() { + + this.x = ( this.x < 0 ) ? Math.ceil( this.x ) : Math.floor( this.x ); + this.y = ( this.y < 0 ) ? Math.ceil( this.y ) : Math.floor( this.y ); + this.z = ( this.z < 0 ) ? Math.ceil( this.z ) : Math.floor( this.z ); + + return this; + + } + + negate() { + + this.x = - this.x; + this.y = - this.y; + this.z = - this.z; + + return this; + + } + + dot( v ) { + + return this.x * v.x + this.y * v.y + this.z * v.z; + + } + + // TODO lengthSquared? + + 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( length ) { + + return this.normalize().multiplyScalar( length ); + + } + + lerp( v, alpha ) { + + this.x += ( v.x - this.x ) * alpha; + this.y += ( v.y - this.y ) * alpha; + this.z += ( v.z - this.z ) * alpha; + + return this; + + } + + lerpVectors( v1, v2, alpha ) { + + this.x = v1.x + ( v2.x - v1.x ) * alpha; + this.y = v1.y + ( v2.y - v1.y ) * alpha; + this.z = v1.z + ( v2.z - v1.z ) * alpha; + + return this; + + } + + cross( v ) { + + return this.crossVectors( this, v ); + + } + + crossVectors( a, b ) { + + const ax = a.x, ay = a.y, az = a.z; + const bx = b.x, by = b.y, bz = b.z; + + this.x = ay * bz - az * by; + this.y = az * bx - ax * bz; + this.z = ax * by - ay * bx; + + return this; + + } + + projectOnVector( v ) { + + const denominator = v.lengthSq(); + + if ( denominator === 0 ) return this.set( 0, 0, 0 ); + + const scalar = v.dot( this ) / denominator; + + return this.copy( v ).multiplyScalar( scalar ); + + } + + projectOnPlane( planeNormal ) { + + _vector$2.copy( this ).projectOnVector( planeNormal ); + + return this.sub( _vector$2 ); + + } + + reflect( normal ) { + + // reflect incident vector off plane orthogonal to normal + // normal is assumed to have unit length + + return this.sub( _vector$2.copy( normal ).multiplyScalar( 2 * this.dot( normal ) ) ); + + } + + angleTo( v ) { + + const denominator = Math.sqrt( this.lengthSq() * v.lengthSq() ); + + if ( denominator === 0 ) return Math.PI / 2; + + const theta = this.dot( v ) / denominator; + + // clamp, to handle numerical problems + + return Math.acos( clamp( theta, - 1, 1 ) ); + + } + + distanceTo( v ) { + + return Math.sqrt( this.distanceToSquared( v ) ); + + } + + distanceToSquared( v ) { + + const dx = this.x - v.x, dy = this.y - v.y, dz = this.z - v.z; + + return dx * dx + dy * dy + dz * dz; + + } + + manhattanDistanceTo( v ) { + + return Math.abs( this.x - v.x ) + Math.abs( this.y - v.y ) + Math.abs( this.z - v.z ); + + } + + setFromSpherical( s ) { + + return this.setFromSphericalCoords( s.radius, s.phi, s.theta ); + + } + + setFromSphericalCoords( radius, phi, theta ) { + + const sinPhiRadius = Math.sin( phi ) * radius; + + this.x = sinPhiRadius * Math.sin( theta ); + this.y = Math.cos( phi ) * radius; + this.z = sinPhiRadius * Math.cos( theta ); + + return this; + + } + + setFromCylindrical( c ) { + + return this.setFromCylindricalCoords( c.radius, c.theta, c.y ); + + } + + setFromCylindricalCoords( radius, theta, y ) { + + this.x = radius * Math.sin( theta ); + this.y = y; + this.z = radius * Math.cos( theta ); + + return this; + + } + + setFromMatrixPosition( m ) { + + const e = m.elements; + + this.x = e[ 12 ]; + this.y = e[ 13 ]; + this.z = e[ 14 ]; + + return this; + + } + + setFromMatrixScale( m ) { + + const sx = this.setFromMatrixColumn( m, 0 ).length(); + const sy = this.setFromMatrixColumn( m, 1 ).length(); + const sz = this.setFromMatrixColumn( m, 2 ).length(); + + this.x = sx; + this.y = sy; + this.z = sz; + + return this; + + } + + setFromMatrixColumn( m, index ) { + + return this.fromArray( m.elements, index * 4 ); + + } + + setFromMatrix3Column( m, index ) { + + return this.fromArray( m.elements, index * 3 ); + + } + + setFromEuler( e ) { + + this.x = e._x; + this.y = e._y; + this.z = e._z; + + return this; + + } + + setFromColor( c ) { + + this.x = c.r; + this.y = c.g; + this.z = c.b; + + return this; + + } + + equals( v ) { + + return ( ( v.x === this.x ) && ( v.y === this.y ) && ( v.z === this.z ) ); + + } + + fromArray( array, offset = 0 ) { + + this.x = array[ offset ]; + this.y = array[ offset + 1 ]; + this.z = array[ offset + 2 ]; + + return this; + + } + + toArray( array = [], offset = 0 ) { + + array[ offset ] = this.x; + array[ offset + 1 ] = this.y; + array[ offset + 2 ] = this.z; + + return array; + + } + + fromBufferAttribute( attribute, index ) { + + this.x = attribute.getX( index ); + this.y = attribute.getY( index ); + this.z = attribute.getZ( index ); + + return this; + + } + + random() { + + this.x = Math.random(); + this.y = Math.random(); + this.z = Math.random(); + + return this; + + } + + randomDirection() { + + // Derived from https://mathworld.wolfram.com/SpherePointPicking.html + + const u = ( Math.random() - 0.5 ) * 2; + const t = Math.random() * Math.PI * 2; + const f = Math.sqrt( 1 - u ** 2 ); + + this.x = f * Math.cos( t ); + this.y = f * Math.sin( t ); + this.z = u; + + return this; + + } + + *[ Symbol.iterator ]() { + + yield this.x; + yield this.y; + yield this.z; + + } + +} + +const _vector$2 = /*@__PURE__*/ new Vector3(); +const _quaternion = /*@__PURE__*/ new Quaternion(); + +class Vector2 { + + constructor( x = 0, y = 0 ) { + + Vector2.prototype.isVector2 = true; + + this.x = x; + this.y = y; + + } + + get width() { + + return this.x; + + } + + set width( value ) { + + this.x = value; + + } + + get height() { + + return this.y; + + } + + set height( value ) { + + this.y = value; + + } + + set( x, y ) { + + this.x = x; + this.y = y; + + return this; + + } + + setScalar( scalar ) { + + this.x = scalar; + this.y = scalar; + + return this; + + } + + setX( x ) { + + this.x = x; + + return this; + + } + + setY( y ) { + + this.y = y; + + return this; + + } + + setComponent( index, value ) { + + switch ( index ) { + + case 0: this.x = value; break; + case 1: this.y = value; break; + default: throw new Error( 'index is out of range: ' + index ); + + } + + return this; + + } + + getComponent( index ) { + + switch ( index ) { + + case 0: return this.x; + case 1: return this.y; + default: throw new Error( 'index is out of range: ' + index ); + + } + + } + + clone() { + + return new this.constructor( this.x, this.y ); + + } + + copy( v ) { + + this.x = v.x; + this.y = v.y; + + return this; + + } + + add( v ) { + + this.x += v.x; + this.y += v.y; + + return this; + + } + + addScalar( s ) { + + this.x += s; + this.y += s; + + return this; + + } + + addVectors( a, b ) { + + this.x = a.x + b.x; + this.y = a.y + b.y; + + return this; + + } + + addScaledVector( v, s ) { + + this.x += v.x * s; + this.y += v.y * s; + + return this; + + } + + sub( v ) { + + this.x -= v.x; + this.y -= v.y; + + return this; + + } + + subScalar( s ) { + + this.x -= s; + this.y -= s; + + return this; + + } + + subVectors( a, b ) { + + this.x = a.x - b.x; + this.y = a.y - b.y; + + return this; + + } + + multiply( v ) { + + this.x *= v.x; + this.y *= v.y; + + return this; + + } + + multiplyScalar( scalar ) { + + this.x *= scalar; + this.y *= scalar; + + return this; + + } + + divide( v ) { + + this.x /= v.x; + this.y /= v.y; + + return this; + + } + + divideScalar( scalar ) { + + return this.multiplyScalar( 1 / scalar ); + + } + + applyMatrix3( m ) { + + const x = this.x, y = this.y; + const e = m.elements; + + this.x = e[ 0 ] * x + e[ 3 ] * y + e[ 6 ]; + this.y = e[ 1 ] * x + e[ 4 ] * y + e[ 7 ]; + + return this; + + } + + min( v ) { + + this.x = Math.min( this.x, v.x ); + this.y = Math.min( this.y, v.y ); + + return this; + + } + + max( v ) { + + this.x = Math.max( this.x, v.x ); + this.y = Math.max( this.y, v.y ); + + return this; + + } + + clamp( min, max ) { + + // assumes min < max, componentwise + + this.x = Math.max( min.x, Math.min( max.x, this.x ) ); + this.y = Math.max( min.y, Math.min( max.y, this.y ) ); + + return this; + + } + + clampScalar( minVal, maxVal ) { + + this.x = Math.max( minVal, Math.min( maxVal, this.x ) ); + this.y = Math.max( minVal, Math.min( maxVal, this.y ) ); + + return this; + + } + + clampLength( min, max ) { + + const length = this.length(); + + return this.divideScalar( length || 1 ).multiplyScalar( Math.max( min, Math.min( max, length ) ) ); + + } + + floor() { + + this.x = Math.floor( this.x ); + this.y = Math.floor( this.y ); + + return this; + + } + + ceil() { + + this.x = Math.ceil( this.x ); + this.y = Math.ceil( this.y ); + + return this; + + } + + round() { + + this.x = Math.round( this.x ); + this.y = Math.round( this.y ); + + return this; + + } + + roundToZero() { + + this.x = ( this.x < 0 ) ? Math.ceil( this.x ) : Math.floor( this.x ); + this.y = ( this.y < 0 ) ? Math.ceil( this.y ) : Math.floor( this.y ); + + return this; + + } + + negate() { + + this.x = - this.x; + this.y = - this.y; + + return this; + + } + + dot( v ) { + + return this.x * v.x + this.y * v.y; + + } + + cross( v ) { + + return this.x * v.y - this.y * v.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() { + + // computes the angle in radians with respect to the positive x-axis + + const angle = Math.atan2( - this.y, - this.x ) + Math.PI; + + return angle; + + } + + angleTo( v ) { + + const denominator = Math.sqrt( this.lengthSq() * v.lengthSq() ); + + if ( denominator === 0 ) return Math.PI / 2; + + const theta = this.dot( v ) / denominator; + + // clamp, to handle numerical problems + + return Math.acos( clamp( theta, - 1, 1 ) ); + + } + + distanceTo( v ) { + + return Math.sqrt( this.distanceToSquared( v ) ); + + } + + distanceToSquared( v ) { + + const dx = this.x - v.x, dy = this.y - v.y; + return dx * dx + dy * dy; + + } + + manhattanDistanceTo( v ) { + + return Math.abs( this.x - v.x ) + Math.abs( this.y - v.y ); + + } + + setLength( length ) { + + return this.normalize().multiplyScalar( length ); + + } + + lerp( v, alpha ) { + + this.x += ( v.x - this.x ) * alpha; + this.y += ( v.y - this.y ) * alpha; + + return this; + + } + + lerpVectors( v1, v2, alpha ) { + + this.x = v1.x + ( v2.x - v1.x ) * alpha; + this.y = v1.y + ( v2.y - v1.y ) * alpha; + + return this; + + } + + equals( v ) { + + return ( ( v.x === this.x ) && ( v.y === this.y ) ); + + } + + fromArray( array, offset = 0 ) { + + this.x = array[ offset ]; + this.y = array[ offset + 1 ]; + + return this; + + } + + toArray( array = [], offset = 0 ) { + + array[ offset ] = this.x; + array[ offset + 1 ] = this.y; + + return array; + + } + + fromBufferAttribute( attribute, index ) { + + this.x = attribute.getX( index ); + this.y = attribute.getY( index ); + + return this; + + } + + rotateAround( center, angle ) { + + const c = Math.cos( angle ), s = Math.sin( angle ); + + const x = this.x - center.x; + const y = this.y - center.y; + + this.x = x * c - y * s + center.x; + this.y = x * s + y * c + center.y; + + return this; + + } + + random() { + + this.x = Math.random(); + this.y = Math.random(); + + return this; + + } + + *[ Symbol.iterator ]() { + + yield this.x; + yield this.y; + + } + +} + +const StaticDrawUsage = 35044; + +const _vector$1 = /*@__PURE__*/ new Vector3(); +const _vector2 = /*@__PURE__*/ new Vector2(); + +class BufferAttribute { + + constructor( array, itemSize, normalized = false ) { + + if ( Array.isArray( array ) ) { + + throw new TypeError( 'THREE.BufferAttribute: array should be a Typed Array.' ); + + } + + this.isBufferAttribute = true; + + this.name = ''; + + this.array = array; + this.itemSize = itemSize; + this.count = array !== undefined ? array.length / itemSize : 0; + this.normalized = normalized; + + this.usage = StaticDrawUsage; + this.updateRange = { offset: 0, count: - 1 }; + + this.version = 0; + + } + + onUploadCallback() {} + + set needsUpdate( value ) { + + if ( value === true ) this.version ++; + + } + + setUsage( value ) { + + this.usage = value; + + return this; + + } + + copy( source ) { + + this.name = source.name; + this.array = new source.array.constructor( source.array ); + this.itemSize = source.itemSize; + this.count = source.count; + this.normalized = source.normalized; + + this.usage = source.usage; + + return this; + + } + + copyAt( index1, attribute, index2 ) { + + index1 *= this.itemSize; + index2 *= attribute.itemSize; + + for ( let i = 0, l = this.itemSize; i < l; i ++ ) { + + this.array[ index1 + i ] = attribute.array[ index2 + i ]; + + } + + return this; + + } + + copyArray( array ) { + + this.array.set( array ); + + return this; + + } + + applyMatrix3( m ) { + + if ( this.itemSize === 2 ) { + + for ( let i = 0, l = this.count; i < l; i ++ ) { + + _vector2.fromBufferAttribute( this, i ); + _vector2.applyMatrix3( m ); + + this.setXY( i, _vector2.x, _vector2.y ); + + } + + } else if ( this.itemSize === 3 ) { + + for ( let i = 0, l = this.count; i < l; i ++ ) { + + _vector$1.fromBufferAttribute( this, i ); + _vector$1.applyMatrix3( m ); + + this.setXYZ( i, _vector$1.x, _vector$1.y, _vector$1.z ); + + } + + } + + return this; + + } + + applyMatrix4( m ) { + + for ( let i = 0, l = this.count; i < l; i ++ ) { + + _vector$1.fromBufferAttribute( this, i ); + + _vector$1.applyMatrix4( m ); + + this.setXYZ( i, _vector$1.x, _vector$1.y, _vector$1.z ); + + } + + return this; + + } + + applyNormalMatrix( m ) { + + for ( let i = 0, l = this.count; i < l; i ++ ) { + + _vector$1.fromBufferAttribute( this, i ); + + _vector$1.applyNormalMatrix( m ); + + this.setXYZ( i, _vector$1.x, _vector$1.y, _vector$1.z ); + + } + + return this; + + } + + transformDirection( m ) { + + for ( let i = 0, l = this.count; i < l; i ++ ) { + + _vector$1.fromBufferAttribute( this, i ); + + _vector$1.transformDirection( m ); + + this.setXYZ( i, _vector$1.x, _vector$1.y, _vector$1.z ); + + } + + return this; + + } + + set( value, offset = 0 ) { + + // Matching BufferAttribute constructor, do not normalize the array. + this.array.set( value, offset ); + + return this; + + } + + getX( index ) { + + let x = this.array[ index * this.itemSize ]; + + if ( this.normalized ) x = denormalize( x, this.array ); + + return x; + + } + + setX( index, x ) { + + if ( this.normalized ) x = normalize( x, this.array ); + + this.array[ index * this.itemSize ] = x; + + return this; + + } + + getY( index ) { + + let y = this.array[ index * this.itemSize + 1 ]; + + if ( this.normalized ) y = denormalize( y, this.array ); + + return y; + + } + + setY( index, y ) { + + if ( this.normalized ) y = normalize( y, this.array ); + + this.array[ index * this.itemSize + 1 ] = y; + + return this; + + } + + getZ( index ) { + + let z = this.array[ index * this.itemSize + 2 ]; + + if ( this.normalized ) z = denormalize( z, this.array ); + + return z; + + } + + setZ( index, z ) { + + if ( this.normalized ) z = normalize( z, this.array ); + + this.array[ index * this.itemSize + 2 ] = z; + + return this; + + } + + getW( index ) { + + let w = this.array[ index * this.itemSize + 3 ]; + + if ( this.normalized ) w = denormalize( w, this.array ); + + return w; + + } + + setW( index, w ) { + + if ( this.normalized ) w = normalize( w, this.array ); + + this.array[ index * this.itemSize + 3 ] = w; + + return this; + + } + + setXY( index, x, y ) { + + index *= this.itemSize; + + if ( this.normalized ) { + + x = normalize( x, this.array ); + y = normalize( y, this.array ); + + } + + this.array[ index + 0 ] = x; + this.array[ index + 1 ] = y; + + return this; + + } + + setXYZ( index, x, y, z ) { + + index *= this.itemSize; + + if ( this.normalized ) { + + x = normalize( x, this.array ); + y = normalize( y, this.array ); + z = normalize( z, this.array ); + + } + + this.array[ index + 0 ] = x; + this.array[ index + 1 ] = y; + this.array[ index + 2 ] = z; + + return this; + + } + + setXYZW( index, x, y, z, w ) { + + index *= this.itemSize; + + if ( this.normalized ) { + + x = normalize( x, this.array ); + y = normalize( y, this.array ); + z = normalize( z, this.array ); + w = normalize( w, this.array ); + + } + + this.array[ index + 0 ] = x; + this.array[ index + 1 ] = y; + this.array[ index + 2 ] = z; + this.array[ index + 3 ] = w; + + return this; + + } + + onUpload( callback ) { + + this.onUploadCallback = callback; + + return this; + + } + + clone() { + + return new this.constructor( this.array, this.itemSize ).copy( this ); + + } + + toJSON() { + + const data = { + itemSize: this.itemSize, + type: this.array.constructor.name, + array: Array.from( this.array ), + normalized: this.normalized + }; + + if ( this.name !== '' ) data.name = this.name; + if ( this.usage !== StaticDrawUsage ) data.usage = this.usage; + if ( this.updateRange.offset !== 0 || this.updateRange.count !== - 1 ) data.updateRange = this.updateRange; + + return data; + + } + + copyColorsArray() { // @deprecated, r144 + + console.error( 'THREE.BufferAttribute: copyColorsArray() was removed in r144.' ); + + } + + copyVector2sArray() { // @deprecated, r144 + + console.error( 'THREE.BufferAttribute: copyVector2sArray() was removed in r144.' ); + + } + + copyVector3sArray() { // @deprecated, r144 + + console.error( 'THREE.BufferAttribute: copyVector3sArray() was removed in r144.' ); + + } + + copyVector4sArray() { // @deprecated, r144 + + console.error( 'THREE.BufferAttribute: copyVector4sArray() was removed in r144.' ); + + } + +} + +class FragmentMesh extends InstancedMesh { + constructor(geometry, material, count, fragment) { + super(geometry, material, count); + this.elementCount = 0; + this.exportOptions = { + trs: false, + onlyVisible: false, + truncateDrawRange: true, + binary: true, + maxTextureSize: 0, + }; + this.exporter = new GLTFExporter(); + this.material = FragmentMesh.newMaterialArray(material); + this.geometry = this.newFragmentGeometry(geometry); + this.fragment = fragment; + } + exportData() { + const position = this.geometry.attributes.position.array; + const normal = this.geometry.attributes.normal.array; + const blockID = Array.from(this.geometry.attributes.blockID.array); + const index = Array.from(this.geometry.index.array); + const groups = []; + for (const group of this.geometry.groups) { + const index = group.materialIndex || 0; + const { start, count } = group; + groups.push(start, count, index); + } + const materials = []; + if (Array.isArray(this.material)) { + for (const material of this.material) { + const opacity = material.opacity; + const transparent = material.transparent ? 1 : 0; + const color = new Color(material.color).toArray(); + materials.push(opacity, transparent, ...color); + } + } + const matrices = Array.from(this.instanceMatrix.array); + let colors; + if (this.instanceColor !== null) { + colors = Array.from(this.instanceColor.array); + } + else { + colors = []; + } + return { + position, + normal, + index, + blockID, + groups, + materials, + matrices, + colors, + }; + } + export() { + const mesh = this; + return new Promise((resolve) => { + this.exporter.parse(mesh, (geometry) => resolve(geometry), (error) => console.log(error), this.exportOptions); + }); + } + newFragmentGeometry(geometry) { + if (!geometry.index) { + throw new Error("The geometry must be indexed!"); + } + if (!geometry.attributes.blockID) { + const vertexSize = geometry.attributes.position.count; + const array = new Uint16Array(vertexSize); + array.fill(this.elementCount++); + geometry.attributes.blockID = new BufferAttribute(array, 1); + } + const size = geometry.index.count; + FragmentMesh.initializeGroups(geometry, size); + return geometry; + } + static initializeGroups(geometry, size) { + if (!geometry.groups.length) { + geometry.groups.push({ + start: 0, + count: size, + materialIndex: 0, + }); + } + } + static newMaterialArray(material) { + if (!Array.isArray(material)) + material = [material]; + return material; + } +} + +/** + * Contains the logic to get, create and delete geometric subsets of an IFC model. For example, + * this can extract all the items in a specific IfcBuildingStorey and create a new Mesh. + */ +class Blocks { + constructor(fragment) { + this.fragment = fragment; + this._visibilityInitialized = false; + this._originalIndex = new Map(); + this._idIndexIndexMap = {}; + const rawIds = fragment.mesh.geometry.attributes.blockID.array; + this.ids = new Set(rawIds); + this.visibleIds = new Set(this.ids); + } + get count() { + return this.ids.size; + } + setVisibility(visible, itemIDs = new Set(this.fragment.items), isolate = false) { + const geometry = this.fragment.mesh.geometry; + const index = geometry.index; + if (!this._visibilityInitialized) { + this.initializeVisibility(index, geometry); + } + if (isolate) { + index.array.fill(0); + } + for (const id of itemIDs) { + const indices = this._idIndexIndexMap[id]; + for (const i of indices) { + const originalIndex = this._originalIndex.get(i); + if (originalIndex === undefined) + continue; + const blockID = geometry.attributes.blockID.getX(originalIndex); + const itemID = this.fragment.items[blockID]; + if (itemIDs.has(itemID)) { + if (visible) { + this.visibleIds.add(blockID); + } + else { + this.visibleIds.delete(blockID); + } + const newIndex = visible ? originalIndex : 0; + index.setX(i, newIndex); + } + } + } + index.needsUpdate = true; + } + initializeVisibility(index, geometry) { + for (let i = 0; i < index.count; i++) { + const foundIndex = index.getX(i); + this._originalIndex.set(i, foundIndex); + const blockID = geometry.attributes.blockID.getX(foundIndex); + const itemID = this.fragment.getItemID(0, blockID); + if (!this._idIndexIndexMap[itemID]) { + this._idIndexIndexMap[itemID] = []; + } + this._idIndexIndexMap[itemID].push(i); + } + this._visibilityInitialized = true; + } + // Use this only for destroying the current Fragment instance + dispose() { + this._idIndexIndexMap = {}; + this.ids.clear(); + this.visibleIds.clear(); + this._originalIndex.clear(); + this.ids = null; + this.visibleIds = null; + this._originalIndex = null; + } +} + +// Source: https://github.com/gkjohnson/three-mesh-bvh +class BVH { + static apply(geometry) { + if (!BVH.initialized) { + BufferGeometry.prototype.computeBoundsTree = computeBoundsTree; + BufferGeometry.prototype.disposeBoundsTree = disposeBoundsTree; + Mesh.prototype.raycast = acceleratedRaycast; + BVH.initialized = true; + } + if (!geometry.boundsTree) { + geometry.computeBoundsTree(); + } + } + static dispose(geometry) { + geometry.disposeBoundsTree(); + } +} +BVH.initialized = false; + +/* + * Fragments can contain one or multiple Instances of one or multiple Blocks + * Each Instance is identified by an instanceID (property of THREE.InstancedMesh) + * Each Block identified by a blockID (custom bufferAttribute per vertex) + * Both instanceId and blockId are unsigned integers starting at 0 and going up sequentially + * A specific Block of a specific Instance is an Item, identified by an itemID + * + * For example: + * Imagine a fragment mesh with 8 instances and 2 elements (16 items, identified from A to P) + * It will have instanceIds from 0 to 8, and blockIds from 0 to 2 + * If we raycast it, we will get an instanceId and the index of the found triangle + * We can use the index to get the blockId for that triangle + * Combining instanceId and blockId using the elementMap will give us the itemId + * The items will look like this: + * + * [ A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P ] + * + * Where the criteria to sort the items is the following (Y-axis is instance, X-axis is block): + * + * A C E G I K M O + * B D F H J L N P + * */ +let Fragment$1 = class Fragment { + constructor(geometry, material, count) { + this.fragments = {}; + this.items = []; + this.hiddenInstances = {}; + // When multiple instances represent the same object + // this allows to create a composite ID for each instance + // E.g. all the steps in a stair are a single thing + // so if the ID of the stair is asdf, then each step could be + // asdf.1, asdf.2, asdf.3, etc + // the value is the number of instances + this.composites = {}; + this.mesh = new FragmentMesh(geometry, material, count, this); + this.id = this.mesh.uuid; + this.capacity = count; + this.blocks = new Blocks(this); + BVH.apply(geometry); + } + get ids() { + const ids = new Set(); + for (const id of this.items) { + ids.add(id); + } + for (const id in this.hiddenInstances) { + ids.add(id); + } + return ids; + } + dispose(disposeResources = true) { + this.items = null; + this.group = undefined; + if (this.mesh) { + if (disposeResources) { + this.mesh.material.forEach((mat) => mat.dispose()); + this.mesh.material = []; + BVH.dispose(this.mesh.geometry); + this.mesh.geometry.dispose(); + this.mesh.geometry = null; + } + this.mesh.removeFromParent(); + this.mesh.dispose(); + this.mesh.fragment = null; + this.mesh = null; + } + this.disposeNestedFragments(); + } + getItemID(instanceID, blockID) { + const index = this.getItemIndex(instanceID, blockID); + return this.items[index]; + } + getInstanceAndBlockID(itemID) { + const index = this.items.indexOf(itemID); + const instanceID = this.getInstanceIDFromIndex(index); + const blockID = index % this.blocks.count; + return { instanceID, blockID }; + } + getVertexBlockID(geometry, index) { + const blocks = geometry.attributes.blockID; + return blocks.array[index]; + } + getItemData(itemID) { + const index = this.items.indexOf(itemID); + const instanceID = Math.ceil(index / this.blocks.count); + const blockID = index % this.blocks.count; + return { instanceID, blockID }; + } + getInstance(instanceID, matrix) { + return this.mesh.getMatrixAt(instanceID, matrix); + } + setInstance(instanceID, items) { + this.checkIfInstanceExist(instanceID); + this.mesh.setMatrixAt(instanceID, items.transform); + this.mesh.instanceMatrix.needsUpdate = true; + if (items.color && this.mesh.instanceColor) { + this.mesh.setColorAt(instanceID, items.color); + this.mesh.instanceColor.needsUpdate = true; + } + if (items.ids) { + this.saveItemsInMap(items.ids, instanceID); + } + } + addInstances(items) { + this.resizeCapacityIfNeeded(items.length); + const start = this.mesh.count; + this.mesh.count += items.length; + for (let i = 0; i < items.length; i++) { + this.setInstance(start + i, items[i]); + } + } + removeInstances(itemsIDs) { + if (this.mesh.count <= 1) { + this.clear(); + return; + } + this.deleteAndRearrangeInstances(itemsIDs); + this.mesh.count -= itemsIDs.length; + this.mesh.instanceMatrix.needsUpdate = true; + } + clear() { + this.mesh.clear(); + this.mesh.count = 0; + this.items = []; + } + addFragment(id, material = this.mesh.material) { + const newGeometry = this.initializeGeometry(); + if (material === this.mesh.material) { + this.copyGroups(newGeometry); + } + const newFragment = new Fragment(newGeometry, material, this.capacity); + newFragment.mesh.applyMatrix4(this.mesh.matrix); + newFragment.mesh.updateMatrix(); + this.fragments[id] = newFragment; + return this.fragments[id]; + } + removeFragment(id) { + const fragment = this.fragments[id]; + if (fragment) { + fragment.dispose(false); + delete this.fragments[id]; + } + } + resetVisibility() { + if (this.blocks.count > 1) { + this.blocks.setVisibility(true); + } + else { + const hiddenInstances = Object.keys(this.hiddenInstances); + this.makeInstancesVisible(hiddenInstances); + this.hiddenInstances = {}; + } + } + setVisibility(visible, itemIDs = this.ids) { + if (this.blocks.count > 1) { + this.blocks.setVisibility(visible, itemIDs); + } + else { + this.toggleInstanceVisibility(visible, itemIDs); + } + } + resize(size) { + var _a; + const newMesh = this.createFragmentMeshWithNewSize(size); + this.capacity = size; + const oldMesh = this.mesh; + (_a = oldMesh.parent) === null || _a === void 0 ? void 0 : _a.add(newMesh); + oldMesh.removeFromParent(); + this.mesh = newMesh; + oldMesh.dispose(); + } + exportData() { + const geometry = this.mesh.exportData(); + const ids = this.items.join("|"); + const id = this.id; + return { ...geometry, ids, id }; + } + copyGroups(newGeometry) { + newGeometry.groups = []; + for (const group of this.mesh.geometry.groups) { + newGeometry.groups.push({ ...group }); + } + } + initializeGeometry() { + const newGeometry = new THREE$1.BufferGeometry(); + newGeometry.setAttribute("position", this.mesh.geometry.attributes.position); + newGeometry.setAttribute("normal", this.mesh.geometry.attributes.normal); + newGeometry.setAttribute("blockID", this.mesh.geometry.attributes.blockID); + newGeometry.setIndex(Array.from(this.mesh.geometry.index.array)); + return newGeometry; + } + saveItemsInMap(ids, instanceId) { + this.checkBlockNumberValid(ids); + let counter = 0; + for (const id of ids) { + const index = this.getItemIndex(instanceId, counter); + this.items[index] = id; + counter++; + } + } + resizeCapacityIfNeeded(newSize) { + const necessaryCapacity = newSize + this.mesh.count; + if (necessaryCapacity > this.capacity) { + this.resize(necessaryCapacity); + } + } + createFragmentMeshWithNewSize(capacity) { + const newMesh = new FragmentMesh(this.mesh.geometry, this.mesh.material, capacity, this); + newMesh.count = this.mesh.count; + return newMesh; + } + disposeNestedFragments() { + const fragments = Object.values(this.fragments); + for (let i = 0; i < fragments.length; i++) { + fragments[i].dispose(); + } + this.fragments = {}; + } + checkBlockNumberValid(ids) { + if (ids.length > this.blocks.count) { + throw new Error(`You passed more items (${ids.length}) than blocks in this instance (${this.blocks.count})`); + } + } + checkIfInstanceExist(index) { + if (index > this.mesh.count) { + throw new Error(`The given index (${index}) exceeds the instances in this fragment (${this.mesh.count})`); + } + } + // Assigns the index of the removed instance to the last instance + // F.e. let there be 6 instances: (A) (B) (C) (D) (E) (F) + // If instance (C) is removed: -> (A) (B) (F) (D) (E) + deleteAndRearrangeInstances(ids) { + const deletedItems = []; + for (const id of ids) { + const deleted = this.deleteAndRearrange(id); + if (deleted) { + deletedItems.push(deleted); + } + } + for (const id of ids) { + delete this.hiddenInstances[id]; + } + return deletedItems; + } + deleteAndRearrange(id) { + const index = this.items.indexOf(id); + if (index === -1) + return null; + this.mesh.count--; + const isLastElement = index === this.mesh.count; + const instanceId = this.getInstanceIDFromIndex(index); + const tempMatrix = new THREE$1.Matrix4(); + const tempColor = new THREE$1.Color(); + const transform = new THREE$1.Matrix4(); + this.mesh.getMatrixAt(instanceId, transform); + const result = { ids: [id], transform }; + if (this.mesh.instanceColor) { + const color = new THREE$1.Color(); + this.mesh.getColorAt(instanceId, color); + result.color = color; + } + if (isLastElement) { + this.items.pop(); + return result; + } + const lastElement = this.mesh.count; + this.items[index] = this.items[lastElement]; + this.items.pop(); + this.mesh.getMatrixAt(lastElement, tempMatrix); + this.mesh.setMatrixAt(instanceId, tempMatrix); + this.mesh.instanceMatrix.needsUpdate = true; + if (this.mesh.instanceColor) { + this.mesh.getColorAt(lastElement, tempColor); + this.mesh.setColorAt(instanceId, tempColor); + this.mesh.instanceColor.needsUpdate = true; + } + return result; + } + getItemIndex(instanceId, blockId) { + return instanceId * this.blocks.count + blockId; + } + getInstanceIDFromIndex(itemIndex) { + return Math.trunc(itemIndex / this.blocks.count); + } + toggleInstanceVisibility(visible, itemIDs) { + if (visible) { + this.makeInstancesVisible(itemIDs); + } + else { + this.makeInstancesInvisible(itemIDs); + } + } + makeInstancesInvisible(itemIDs) { + itemIDs = this.filterHiddenItems(itemIDs, false); + const deletedItems = this.deleteAndRearrangeInstances(itemIDs); + for (const item of deletedItems) { + if (item.ids) { + this.hiddenInstances[item.ids[0]] = item; + } + } + } + makeInstancesVisible(itemIDs) { + const items = []; + itemIDs = this.filterHiddenItems(itemIDs, true); + for (const id of itemIDs) { + const found = this.hiddenInstances[id]; + if (found !== undefined) { + items.push(found); + delete this.hiddenInstances[id]; + } + } + this.addInstances(items); + } + filterHiddenItems(itemIDs, hidden) { + const hiddenItems = Object.keys(this.hiddenInstances); + const result = []; + for (const id of itemIDs) { + const isHidden = hidden && hiddenItems.includes(id); + const isNotHidden = !hidden && !hiddenItems.includes(id); + if (isHidden || isNotHidden) { + result.push(id); + } + } + return result; + } +}; + +const SIZEOF_SHORT = 2; +const SIZEOF_INT = 4; +const FILE_IDENTIFIER_LENGTH = 4; +const SIZE_PREFIX_LENGTH = 4; + +const int32 = new Int32Array(2); +const float32 = new Float32Array(int32.buffer); +const float64 = new Float64Array(int32.buffer); +const isLittleEndian = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1; + +var Encoding; +(function (Encoding) { + Encoding[Encoding["UTF8_BYTES"] = 1] = "UTF8_BYTES"; + Encoding[Encoding["UTF16_STRING"] = 2] = "UTF16_STRING"; +})(Encoding || (Encoding = {})); + +class ByteBuffer { + /** + * Create a new ByteBuffer with a given array of bytes (`Uint8Array`) + */ + constructor(bytes_) { + this.bytes_ = bytes_; + this.position_ = 0; + this.text_decoder_ = new TextDecoder(); + } + /** + * Create and allocate a new ByteBuffer with a given size. + */ + static allocate(byte_size) { + return new ByteBuffer(new Uint8Array(byte_size)); + } + clear() { + this.position_ = 0; + } + /** + * Get the underlying `Uint8Array`. + */ + bytes() { + return this.bytes_; + } + /** + * Get the buffer's position. + */ + position() { + return this.position_; + } + /** + * Set the buffer's position. + */ + setPosition(position) { + this.position_ = position; + } + /** + * Get the buffer's capacity. + */ + capacity() { + return this.bytes_.length; + } + readInt8(offset) { + return this.readUint8(offset) << 24 >> 24; + } + readUint8(offset) { + return this.bytes_[offset]; + } + readInt16(offset) { + return this.readUint16(offset) << 16 >> 16; + } + readUint16(offset) { + return this.bytes_[offset] | this.bytes_[offset + 1] << 8; + } + readInt32(offset) { + return this.bytes_[offset] | this.bytes_[offset + 1] << 8 | this.bytes_[offset + 2] << 16 | this.bytes_[offset + 3] << 24; + } + readUint32(offset) { + return this.readInt32(offset) >>> 0; + } + readInt64(offset) { + return BigInt.asIntN(64, BigInt(this.readUint32(offset)) + (BigInt(this.readUint32(offset + 4)) << BigInt(32))); + } + readUint64(offset) { + return BigInt.asUintN(64, BigInt(this.readUint32(offset)) + (BigInt(this.readUint32(offset + 4)) << BigInt(32))); + } + readFloat32(offset) { + int32[0] = this.readInt32(offset); + return float32[0]; + } + readFloat64(offset) { + int32[isLittleEndian ? 0 : 1] = this.readInt32(offset); + int32[isLittleEndian ? 1 : 0] = this.readInt32(offset + 4); + return float64[0]; + } + writeInt8(offset, value) { + this.bytes_[offset] = value; + } + writeUint8(offset, value) { + this.bytes_[offset] = value; + } + writeInt16(offset, value) { + this.bytes_[offset] = value; + this.bytes_[offset + 1] = value >> 8; + } + writeUint16(offset, value) { + this.bytes_[offset] = value; + this.bytes_[offset + 1] = value >> 8; + } + writeInt32(offset, value) { + this.bytes_[offset] = value; + this.bytes_[offset + 1] = value >> 8; + this.bytes_[offset + 2] = value >> 16; + this.bytes_[offset + 3] = value >> 24; + } + writeUint32(offset, value) { + this.bytes_[offset] = value; + this.bytes_[offset + 1] = value >> 8; + this.bytes_[offset + 2] = value >> 16; + this.bytes_[offset + 3] = value >> 24; + } + writeInt64(offset, value) { + this.writeInt32(offset, Number(BigInt.asIntN(32, value))); + this.writeInt32(offset + 4, Number(BigInt.asIntN(32, value >> BigInt(32)))); + } + writeUint64(offset, value) { + this.writeUint32(offset, Number(BigInt.asUintN(32, value))); + this.writeUint32(offset + 4, Number(BigInt.asUintN(32, value >> BigInt(32)))); + } + writeFloat32(offset, value) { + float32[0] = value; + this.writeInt32(offset, int32[0]); + } + writeFloat64(offset, value) { + float64[0] = value; + this.writeInt32(offset, int32[isLittleEndian ? 0 : 1]); + this.writeInt32(offset + 4, int32[isLittleEndian ? 1 : 0]); + } + /** + * Return the file identifier. Behavior is undefined for FlatBuffers whose + * schema does not include a file_identifier (likely points at padding or the + * start of a the root vtable). + */ + getBufferIdentifier() { + if (this.bytes_.length < this.position_ + SIZEOF_INT + + FILE_IDENTIFIER_LENGTH) { + throw new Error('FlatBuffers: ByteBuffer is too short to contain an identifier.'); + } + let result = ""; + for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) { + result += String.fromCharCode(this.readInt8(this.position_ + SIZEOF_INT + i)); + } + return result; + } + /** + * Look up a field in the vtable, return an offset into the object, or 0 if the + * field is not present. + */ + __offset(bb_pos, vtable_offset) { + const vtable = bb_pos - this.readInt32(bb_pos); + return vtable_offset < this.readInt16(vtable) ? this.readInt16(vtable + vtable_offset) : 0; + } + /** + * Initialize any Table-derived type to point to the union at the given offset. + */ + __union(t, offset) { + t.bb_pos = offset + this.readInt32(offset); + t.bb = this; + return t; + } + /** + * Create a JavaScript string from UTF-8 data stored inside the FlatBuffer. + * This allocates a new string and converts to wide chars upon each access. + * + * To avoid the conversion to string, pass Encoding.UTF8_BYTES as the + * "optionalEncoding" argument. This is useful for avoiding conversion when + * the data will just be packaged back up in another FlatBuffer later on. + * + * @param offset + * @param opt_encoding Defaults to UTF16_STRING + */ + __string(offset, opt_encoding) { + offset += this.readInt32(offset); + const length = this.readInt32(offset); + offset += SIZEOF_INT; + const utf8bytes = this.bytes_.subarray(offset, offset + length); + if (opt_encoding === Encoding.UTF8_BYTES) + return utf8bytes; + else + return this.text_decoder_.decode(utf8bytes); + } + /** + * Handle unions that can contain string as its member, if a Table-derived type then initialize it, + * if a string then return a new one + * + * WARNING: strings are immutable in JS so we can't change the string that the user gave us, this + * makes the behaviour of __union_with_string different compared to __union + */ + __union_with_string(o, offset) { + if (typeof o === 'string') { + return this.__string(offset); + } + return this.__union(o, offset); + } + /** + * Retrieve the relative offset stored at "offset" + */ + __indirect(offset) { + return offset + this.readInt32(offset); + } + /** + * Get the start of data of a vector whose offset is stored at "offset" in this object. + */ + __vector(offset) { + return offset + this.readInt32(offset) + SIZEOF_INT; // data starts after the length + } + /** + * Get the length of a vector whose offset is stored at "offset" in this object. + */ + __vector_len(offset) { + return this.readInt32(offset + this.readInt32(offset)); + } + __has_identifier(ident) { + if (ident.length != FILE_IDENTIFIER_LENGTH) { + throw new Error('FlatBuffers: file identifier must be length ' + + FILE_IDENTIFIER_LENGTH); + } + for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) { + if (ident.charCodeAt(i) != this.readInt8(this.position() + SIZEOF_INT + i)) { + return false; + } + } + return true; + } + /** + * A helper function for generating list for obj api + */ + createScalarList(listAccessor, listLength) { + const ret = []; + for (let i = 0; i < listLength; ++i) { + const val = listAccessor(i); + if (val !== null) { + ret.push(val); + } + } + return ret; + } + /** + * A helper function for generating list for obj api + * @param listAccessor function that accepts an index and return data at that index + * @param listLength listLength + * @param res result list + */ + createObjList(listAccessor, listLength) { + const ret = []; + for (let i = 0; i < listLength; ++i) { + const val = listAccessor(i); + if (val !== null) { + ret.push(val.unpack()); + } + } + return ret; + } +} + +class Builder { + /** + * Create a FlatBufferBuilder. + */ + constructor(opt_initial_size) { + /** Minimum alignment encountered so far. */ + this.minalign = 1; + /** The vtable for the current table. */ + this.vtable = null; + /** The amount of fields we're actually using. */ + this.vtable_in_use = 0; + /** Whether we are currently serializing a table. */ + this.isNested = false; + /** Starting offset of the current struct/table. */ + this.object_start = 0; + /** List of offsets of all vtables. */ + this.vtables = []; + /** For the current vector being built. */ + this.vector_num_elems = 0; + /** False omits default values from the serialized data */ + this.force_defaults = false; + this.string_maps = null; + this.text_encoder = new TextEncoder(); + let initial_size; + if (!opt_initial_size) { + initial_size = 1024; + } + else { + initial_size = opt_initial_size; + } + /** + * @type {ByteBuffer} + * @private + */ + this.bb = ByteBuffer.allocate(initial_size); + this.space = initial_size; + } + clear() { + this.bb.clear(); + this.space = this.bb.capacity(); + this.minalign = 1; + this.vtable = null; + this.vtable_in_use = 0; + this.isNested = false; + this.object_start = 0; + this.vtables = []; + this.vector_num_elems = 0; + this.force_defaults = false; + this.string_maps = null; + } + /** + * In order to save space, fields that are set to their default value + * don't get serialized into the buffer. Forcing defaults provides a + * way to manually disable this optimization. + * + * @param forceDefaults true always serializes default values + */ + forceDefaults(forceDefaults) { + this.force_defaults = forceDefaults; + } + /** + * Get the ByteBuffer representing the FlatBuffer. Only call this after you've + * called finish(). The actual data starts at the ByteBuffer's current position, + * not necessarily at 0. + */ + dataBuffer() { + return this.bb; + } + /** + * Get the bytes representing the FlatBuffer. Only call this after you've + * called finish(). + */ + asUint8Array() { + return this.bb.bytes().subarray(this.bb.position(), this.bb.position() + this.offset()); + } + /** + * Prepare to write an element of `size` after `additional_bytes` have been + * written, e.g. if you write a string, you need to align such the int length + * field is aligned to 4 bytes, and the string data follows it directly. If all + * you need to do is alignment, `additional_bytes` will be 0. + * + * @param size This is the of the new element to write + * @param additional_bytes The padding size + */ + prep(size, additional_bytes) { + // Track the biggest thing we've ever aligned to. + if (size > this.minalign) { + this.minalign = size; + } + // Find the amount of alignment needed such that `size` is properly + // aligned after `additional_bytes` + const align_size = ((~(this.bb.capacity() - this.space + additional_bytes)) + 1) & (size - 1); + // Reallocate the buffer if needed. + while (this.space < align_size + size + additional_bytes) { + const old_buf_size = this.bb.capacity(); + this.bb = Builder.growByteBuffer(this.bb); + this.space += this.bb.capacity() - old_buf_size; + } + this.pad(align_size); + } + pad(byte_size) { + for (let i = 0; i < byte_size; i++) { + this.bb.writeInt8(--this.space, 0); + } + } + writeInt8(value) { + this.bb.writeInt8(this.space -= 1, value); + } + writeInt16(value) { + this.bb.writeInt16(this.space -= 2, value); + } + writeInt32(value) { + this.bb.writeInt32(this.space -= 4, value); + } + writeInt64(value) { + this.bb.writeInt64(this.space -= 8, value); + } + writeFloat32(value) { + this.bb.writeFloat32(this.space -= 4, value); + } + writeFloat64(value) { + this.bb.writeFloat64(this.space -= 8, value); + } + /** + * Add an `int8` to the buffer, properly aligned, and grows the buffer (if necessary). + * @param value The `int8` to add the buffer. + */ + addInt8(value) { + this.prep(1, 0); + this.writeInt8(value); + } + /** + * Add an `int16` to the buffer, properly aligned, and grows the buffer (if necessary). + * @param value The `int16` to add the buffer. + */ + addInt16(value) { + this.prep(2, 0); + this.writeInt16(value); + } + /** + * Add an `int32` to the buffer, properly aligned, and grows the buffer (if necessary). + * @param value The `int32` to add the buffer. + */ + addInt32(value) { + this.prep(4, 0); + this.writeInt32(value); + } + /** + * Add an `int64` to the buffer, properly aligned, and grows the buffer (if necessary). + * @param value The `int64` to add the buffer. + */ + addInt64(value) { + this.prep(8, 0); + this.writeInt64(value); + } + /** + * Add a `float32` to the buffer, properly aligned, and grows the buffer (if necessary). + * @param value The `float32` to add the buffer. + */ + addFloat32(value) { + this.prep(4, 0); + this.writeFloat32(value); + } + /** + * Add a `float64` to the buffer, properly aligned, and grows the buffer (if necessary). + * @param value The `float64` to add the buffer. + */ + addFloat64(value) { + this.prep(8, 0); + this.writeFloat64(value); + } + addFieldInt8(voffset, value, defaultValue) { + if (this.force_defaults || value != defaultValue) { + this.addInt8(value); + this.slot(voffset); + } + } + addFieldInt16(voffset, value, defaultValue) { + if (this.force_defaults || value != defaultValue) { + this.addInt16(value); + this.slot(voffset); + } + } + addFieldInt32(voffset, value, defaultValue) { + if (this.force_defaults || value != defaultValue) { + this.addInt32(value); + this.slot(voffset); + } + } + addFieldInt64(voffset, value, defaultValue) { + if (this.force_defaults || value !== defaultValue) { + this.addInt64(value); + this.slot(voffset); + } + } + addFieldFloat32(voffset, value, defaultValue) { + if (this.force_defaults || value != defaultValue) { + this.addFloat32(value); + this.slot(voffset); + } + } + addFieldFloat64(voffset, value, defaultValue) { + if (this.force_defaults || value != defaultValue) { + this.addFloat64(value); + this.slot(voffset); + } + } + addFieldOffset(voffset, value, defaultValue) { + if (this.force_defaults || value != defaultValue) { + this.addOffset(value); + this.slot(voffset); + } + } + /** + * Structs are stored inline, so nothing additional is being added. `d` is always 0. + */ + addFieldStruct(voffset, value, defaultValue) { + if (value != defaultValue) { + this.nested(value); + this.slot(voffset); + } + } + /** + * Structures are always stored inline, they need to be created right + * where they're used. You'll get this assertion failure if you + * created it elsewhere. + */ + nested(obj) { + if (obj != this.offset()) { + throw new TypeError('FlatBuffers: struct must be serialized inline.'); + } + } + /** + * Should not be creating any other object, string or vector + * while an object is being constructed + */ + notNested() { + if (this.isNested) { + throw new TypeError('FlatBuffers: object serialization must not be nested.'); + } + } + /** + * Set the current vtable at `voffset` to the current location in the buffer. + */ + slot(voffset) { + if (this.vtable !== null) + this.vtable[voffset] = this.offset(); + } + /** + * @returns Offset relative to the end of the buffer. + */ + offset() { + return this.bb.capacity() - this.space; + } + /** + * Doubles the size of the backing ByteBuffer and copies the old data towards + * the end of the new buffer (since we build the buffer backwards). + * + * @param bb The current buffer with the existing data + * @returns A new byte buffer with the old data copied + * to it. The data is located at the end of the buffer. + * + * uint8Array.set() formally takes {Array|ArrayBufferView}, so to pass + * it a uint8Array we need to suppress the type check: + * @suppress {checkTypes} + */ + static growByteBuffer(bb) { + const old_buf_size = bb.capacity(); + // Ensure we don't grow beyond what fits in an int. + if (old_buf_size & 0xC0000000) { + throw new Error('FlatBuffers: cannot grow buffer beyond 2 gigabytes.'); + } + const new_buf_size = old_buf_size << 1; + const nbb = ByteBuffer.allocate(new_buf_size); + nbb.setPosition(new_buf_size - old_buf_size); + nbb.bytes().set(bb.bytes(), new_buf_size - old_buf_size); + return nbb; + } + /** + * Adds on offset, relative to where it will be written. + * + * @param offset The offset to add. + */ + addOffset(offset) { + this.prep(SIZEOF_INT, 0); // Ensure alignment is already done. + this.writeInt32(this.offset() - offset + SIZEOF_INT); + } + /** + * Start encoding a new object in the buffer. Users will not usually need to + * call this directly. The FlatBuffers compiler will generate helper methods + * that call this method internally. + */ + startObject(numfields) { + this.notNested(); + if (this.vtable == null) { + this.vtable = []; + } + this.vtable_in_use = numfields; + for (let i = 0; i < numfields; i++) { + this.vtable[i] = 0; // This will push additional elements as needed + } + this.isNested = true; + this.object_start = this.offset(); + } + /** + * Finish off writing the object that is under construction. + * + * @returns The offset to the object inside `dataBuffer` + */ + endObject() { + if (this.vtable == null || !this.isNested) { + throw new Error('FlatBuffers: endObject called without startObject'); + } + this.addInt32(0); + const vtableloc = this.offset(); + // Trim trailing zeroes. + let i = this.vtable_in_use - 1; + // eslint-disable-next-line no-empty + for (; i >= 0 && this.vtable[i] == 0; i--) { } + const trimmed_size = i + 1; + // Write out the current vtable. + for (; i >= 0; i--) { + // Offset relative to the start of the table. + this.addInt16(this.vtable[i] != 0 ? vtableloc - this.vtable[i] : 0); + } + const standard_fields = 2; // The fields below: + this.addInt16(vtableloc - this.object_start); + const len = (trimmed_size + standard_fields) * SIZEOF_SHORT; + this.addInt16(len); + // Search for an existing vtable that matches the current one. + let existing_vtable = 0; + const vt1 = this.space; + outer_loop: for (i = 0; i < this.vtables.length; i++) { + const vt2 = this.bb.capacity() - this.vtables[i]; + if (len == this.bb.readInt16(vt2)) { + for (let j = SIZEOF_SHORT; j < len; j += SIZEOF_SHORT) { + if (this.bb.readInt16(vt1 + j) != this.bb.readInt16(vt2 + j)) { + continue outer_loop; + } + } + existing_vtable = this.vtables[i]; + break; + } + } + if (existing_vtable) { + // Found a match: + // Remove the current vtable. + this.space = this.bb.capacity() - vtableloc; + // Point table to existing vtable. + this.bb.writeInt32(this.space, existing_vtable - vtableloc); + } + else { + // No match: + // Add the location of the current vtable to the list of vtables. + this.vtables.push(this.offset()); + // Point table to current vtable. + this.bb.writeInt32(this.bb.capacity() - vtableloc, this.offset() - vtableloc); + } + this.isNested = false; + return vtableloc; + } + /** + * Finalize a buffer, poiting to the given `root_table`. + */ + finish(root_table, opt_file_identifier, opt_size_prefix) { + const size_prefix = opt_size_prefix ? SIZE_PREFIX_LENGTH : 0; + if (opt_file_identifier) { + const file_identifier = opt_file_identifier; + this.prep(this.minalign, SIZEOF_INT + + FILE_IDENTIFIER_LENGTH + size_prefix); + if (file_identifier.length != FILE_IDENTIFIER_LENGTH) { + throw new TypeError('FlatBuffers: file identifier must be length ' + + FILE_IDENTIFIER_LENGTH); + } + for (let i = FILE_IDENTIFIER_LENGTH - 1; i >= 0; i--) { + this.writeInt8(file_identifier.charCodeAt(i)); + } + } + this.prep(this.minalign, SIZEOF_INT + size_prefix); + this.addOffset(root_table); + if (size_prefix) { + this.addInt32(this.bb.capacity() - this.space); + } + this.bb.setPosition(this.space); + } + /** + * Finalize a size prefixed buffer, pointing to the given `root_table`. + */ + finishSizePrefixed(root_table, opt_file_identifier) { + this.finish(root_table, opt_file_identifier, true); + } + /** + * This checks a required field has been set in a given table that has + * just been constructed. + */ + requiredField(table, field) { + const table_start = this.bb.capacity() - table; + const vtable_start = table_start - this.bb.readInt32(table_start); + const ok = field < this.bb.readInt16(vtable_start) && + this.bb.readInt16(vtable_start + field) != 0; + // If this fails, the caller will show what field needs to be set. + if (!ok) { + throw new TypeError('FlatBuffers: field ' + field + ' must be set'); + } + } + /** + * Start a new array/vector of objects. Users usually will not call + * this directly. The FlatBuffers compiler will create a start/end + * method for vector types in generated code. + * + * @param elem_size The size of each element in the array + * @param num_elems The number of elements in the array + * @param alignment The alignment of the array + */ + startVector(elem_size, num_elems, alignment) { + this.notNested(); + this.vector_num_elems = num_elems; + this.prep(SIZEOF_INT, elem_size * num_elems); + this.prep(alignment, elem_size * num_elems); // Just in case alignment > int. + } + /** + * Finish off the creation of an array and all its elements. The array must be + * created with `startVector`. + * + * @returns The offset at which the newly created array + * starts. + */ + endVector() { + this.writeInt32(this.vector_num_elems); + return this.offset(); + } + /** + * Encode the string `s` in the buffer using UTF-8. If the string passed has + * already been seen, we return the offset of the already written string + * + * @param s The string to encode + * @return The offset in the buffer where the encoded string starts + */ + createSharedString(s) { + if (!s) { + return 0; + } + if (!this.string_maps) { + this.string_maps = new Map(); + } + if (this.string_maps.has(s)) { + return this.string_maps.get(s); + } + const offset = this.createString(s); + this.string_maps.set(s, offset); + return offset; + } + /** + * Encode the string `s` in the buffer using UTF-8. If a Uint8Array is passed + * instead of a string, it is assumed to contain valid UTF-8 encoded data. + * + * @param s The string to encode + * @return The offset in the buffer where the encoded string starts + */ + createString(s) { + if (s === null || s === undefined) { + return 0; + } + let utf8; + if (s instanceof Uint8Array) { + utf8 = s; + } + else { + utf8 = this.text_encoder.encode(s); + } + this.addInt8(0); + this.startVector(1, utf8.length, 1); + this.bb.setPosition(this.space -= utf8.length); + for (let i = 0, offset = this.space, bytes = this.bb.bytes(); i < utf8.length; i++) { + bytes[offset++] = utf8[i]; + } + return this.endVector(); + } + /** + * A helper function to pack an object + * + * @returns offset of obj + */ + createObjectOffset(obj) { + if (obj === null) { + return 0; + } + if (typeof obj === 'string') { + return this.createString(obj); + } + else { + return obj.pack(this); + } + } + /** + * A helper function to pack a list of object + * + * @returns list of offsets of each non null object + */ + createObjectOffsetList(list) { + const ret = []; + for (let i = 0; i < list.length; ++i) { + const val = list[i]; + if (val !== null) { + ret.push(this.createObjectOffset(val)); + } + else { + throw new TypeError('FlatBuffers: Argument for createObjectOffsetList cannot contain null.'); + } + } + return ret; + } + createStructOffsetList(list, startFunc) { + startFunc(this, list.length); + this.createObjectOffsetList(list.slice().reverse()); + return this.endVector(); + } +} + +// automatically generated by the FlatBuffers compiler, do not modify +class Fragment { + constructor() { + this.bb = null; + this.bb_pos = 0; + } + __init(i, bb) { + this.bb_pos = i; + this.bb = bb; + return this; + } + static getRootAsFragment(bb, obj) { + return (obj || new Fragment()).__init(bb.readInt32(bb.position()) + bb.position(), bb); + } + static getSizePrefixedRootAsFragment(bb, obj) { + bb.setPosition(bb.position() + SIZE_PREFIX_LENGTH); + return (obj || new Fragment()).__init(bb.readInt32(bb.position()) + bb.position(), bb); + } + position(index) { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset ? this.bb.readFloat32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; + } + positionLength() { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } + positionArray() { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset ? new Float32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; + } + normal(index) { + const offset = this.bb.__offset(this.bb_pos, 6); + return offset ? this.bb.readFloat32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; + } + normalLength() { + const offset = this.bb.__offset(this.bb_pos, 6); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } + normalArray() { + const offset = this.bb.__offset(this.bb_pos, 6); + return offset ? new Float32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; + } + index(index) { + const offset = this.bb.__offset(this.bb_pos, 8); + return offset ? this.bb.readInt32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; + } + indexLength() { + const offset = this.bb.__offset(this.bb_pos, 8); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } + indexArray() { + const offset = this.bb.__offset(this.bb_pos, 8); + return offset ? new Int32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; + } + blockId(index) { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset ? this.bb.readInt32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; + } + blockIdLength() { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } + blockIdArray() { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset ? new Int32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; + } + groups(index) { + const offset = this.bb.__offset(this.bb_pos, 12); + return offset ? this.bb.readFloat32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; + } + groupsLength() { + const offset = this.bb.__offset(this.bb_pos, 12); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } + groupsArray() { + const offset = this.bb.__offset(this.bb_pos, 12); + return offset ? new Float32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; + } + materials(index) { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset ? this.bb.readFloat32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; + } + materialsLength() { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } + materialsArray() { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset ? new Float32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; + } + matrices(index) { + const offset = this.bb.__offset(this.bb_pos, 16); + return offset ? this.bb.readFloat32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; + } + matricesLength() { + const offset = this.bb.__offset(this.bb_pos, 16); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } + matricesArray() { + const offset = this.bb.__offset(this.bb_pos, 16); + return offset ? new Float32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; + } + colors(index) { + const offset = this.bb.__offset(this.bb_pos, 18); + return offset ? this.bb.readFloat32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; + } + colorsLength() { + const offset = this.bb.__offset(this.bb_pos, 18); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } + colorsArray() { + const offset = this.bb.__offset(this.bb_pos, 18); + return offset ? new Float32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; + } + ids(optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 20); + return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; + } + id(optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 22); + return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; + } + composites(optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 24); + return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; + } + static startFragment(builder) { + builder.startObject(11); + } + static addPosition(builder, positionOffset) { + builder.addFieldOffset(0, positionOffset, 0); + } + static createPositionVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addFloat32(data[i]); + } + return builder.endVector(); + } + static startPositionVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } + static addNormal(builder, normalOffset) { + builder.addFieldOffset(1, normalOffset, 0); + } + static createNormalVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addFloat32(data[i]); + } + return builder.endVector(); + } + static startNormalVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } + static addIndex(builder, indexOffset) { + builder.addFieldOffset(2, indexOffset, 0); + } + static createIndexVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt32(data[i]); + } + return builder.endVector(); + } + static startIndexVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } + static addBlockId(builder, blockIdOffset) { + builder.addFieldOffset(3, blockIdOffset, 0); + } + static createBlockIdVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt32(data[i]); + } + return builder.endVector(); + } + static startBlockIdVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } + static addGroups(builder, groupsOffset) { + builder.addFieldOffset(4, groupsOffset, 0); + } + static createGroupsVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addFloat32(data[i]); + } + return builder.endVector(); + } + static startGroupsVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } + static addMaterials(builder, materialsOffset) { + builder.addFieldOffset(5, materialsOffset, 0); + } + static createMaterialsVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addFloat32(data[i]); + } + return builder.endVector(); + } + static startMaterialsVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } + static addMatrices(builder, matricesOffset) { + builder.addFieldOffset(6, matricesOffset, 0); + } + static createMatricesVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addFloat32(data[i]); + } + return builder.endVector(); + } + static startMatricesVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } + static addColors(builder, colorsOffset) { + builder.addFieldOffset(7, colorsOffset, 0); + } + static createColorsVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addFloat32(data[i]); + } + return builder.endVector(); + } + static startColorsVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } + static addIds(builder, idsOffset) { + builder.addFieldOffset(8, idsOffset, 0); + } + static addId(builder, idOffset) { + builder.addFieldOffset(9, idOffset, 0); + } + static addComposites(builder, compositesOffset) { + builder.addFieldOffset(10, compositesOffset, 0); + } + static endFragment(builder) { + const offset = builder.endObject(); + return offset; + } + static createFragment(builder, positionOffset, normalOffset, indexOffset, blockIdOffset, groupsOffset, materialsOffset, matricesOffset, colorsOffset, idsOffset, idOffset, compositesOffset) { + Fragment.startFragment(builder); + Fragment.addPosition(builder, positionOffset); + Fragment.addNormal(builder, normalOffset); + Fragment.addIndex(builder, indexOffset); + Fragment.addBlockId(builder, blockIdOffset); + Fragment.addGroups(builder, groupsOffset); + Fragment.addMaterials(builder, materialsOffset); + Fragment.addMatrices(builder, matricesOffset); + Fragment.addColors(builder, colorsOffset); + Fragment.addIds(builder, idsOffset); + Fragment.addId(builder, idOffset); + Fragment.addComposites(builder, compositesOffset); + return Fragment.endFragment(builder); + } +} + +// automatically generated by the FlatBuffers compiler, do not modify +let FragmentsGroup$1 = class FragmentsGroup { + constructor() { + this.bb = null; + this.bb_pos = 0; + } + __init(i, bb) { + this.bb_pos = i; + this.bb = bb; + return this; + } + static getRootAsFragmentsGroup(bb, obj) { + return (obj || new FragmentsGroup()).__init(bb.readInt32(bb.position()) + bb.position(), bb); + } + static getSizePrefixedRootAsFragmentsGroup(bb, obj) { + bb.setPosition(bb.position() + SIZE_PREFIX_LENGTH); + return (obj || new FragmentsGroup()).__init(bb.readInt32(bb.position()) + bb.position(), bb); + } + items(index, obj) { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset ? (obj || new Fragment()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null; + } + itemsLength() { + const offset = this.bb.__offset(this.bb_pos, 4); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } + coordinationMatrix(index) { + const offset = this.bb.__offset(this.bb_pos, 6); + return offset ? this.bb.readFloat32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; + } + coordinationMatrixLength() { + const offset = this.bb.__offset(this.bb_pos, 6); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } + coordinationMatrixArray() { + const offset = this.bb.__offset(this.bb_pos, 6); + return offset ? new Float32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; + } + ids(index) { + const offset = this.bb.__offset(this.bb_pos, 8); + return offset ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; + } + idsLength() { + const offset = this.bb.__offset(this.bb_pos, 8); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } + idsArray() { + const offset = this.bb.__offset(this.bb_pos, 8); + return offset ? new Uint32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; + } + itemsKeys(index) { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; + } + itemsKeysLength() { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } + itemsKeysArray() { + const offset = this.bb.__offset(this.bb_pos, 10); + return offset ? new Uint32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; + } + itemsKeysIndices(index) { + const offset = this.bb.__offset(this.bb_pos, 12); + return offset ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; + } + itemsKeysIndicesLength() { + const offset = this.bb.__offset(this.bb_pos, 12); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } + itemsKeysIndicesArray() { + const offset = this.bb.__offset(this.bb_pos, 12); + return offset ? new Uint32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; + } + itemsRels(index) { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; + } + itemsRelsLength() { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } + itemsRelsArray() { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset ? new Uint32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; + } + itemsRelsIndices(index) { + const offset = this.bb.__offset(this.bb_pos, 16); + return offset ? this.bb.readUint32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; + } + itemsRelsIndicesLength() { + const offset = this.bb.__offset(this.bb_pos, 16); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } + itemsRelsIndicesArray() { + const offset = this.bb.__offset(this.bb_pos, 16); + return offset ? new Uint32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; + } + fragmentKeys(optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 18); + return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; + } + id(optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 20); + return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; + } + name(optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 22); + return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; + } + ifcName(optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 24); + return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; + } + ifcDescription(optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 26); + return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; + } + ifcSchema(optionalEncoding) { + const offset = this.bb.__offset(this.bb_pos, 28); + return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; + } + maxExpressId() { + const offset = this.bb.__offset(this.bb_pos, 30); + return offset ? this.bb.readUint32(this.bb_pos + offset) : 0; + } + boundingBox(index) { + const offset = this.bb.__offset(this.bb_pos, 32); + return offset ? this.bb.readFloat32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0; + } + boundingBoxLength() { + const offset = this.bb.__offset(this.bb_pos, 32); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } + boundingBoxArray() { + const offset = this.bb.__offset(this.bb_pos, 32); + return offset ? new Float32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; + } + static startFragmentsGroup(builder) { + builder.startObject(15); + } + static addItems(builder, itemsOffset) { + builder.addFieldOffset(0, itemsOffset, 0); + } + static createItemsVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]); + } + return builder.endVector(); + } + static startItemsVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } + static addCoordinationMatrix(builder, coordinationMatrixOffset) { + builder.addFieldOffset(1, coordinationMatrixOffset, 0); + } + static createCoordinationMatrixVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addFloat32(data[i]); + } + return builder.endVector(); + } + static startCoordinationMatrixVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } + static addIds(builder, idsOffset) { + builder.addFieldOffset(2, idsOffset, 0); + } + static createIdsVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt32(data[i]); + } + return builder.endVector(); + } + static startIdsVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } + static addItemsKeys(builder, itemsKeysOffset) { + builder.addFieldOffset(3, itemsKeysOffset, 0); + } + static createItemsKeysVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt32(data[i]); + } + return builder.endVector(); + } + static startItemsKeysVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } + static addItemsKeysIndices(builder, itemsKeysIndicesOffset) { + builder.addFieldOffset(4, itemsKeysIndicesOffset, 0); + } + static createItemsKeysIndicesVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt32(data[i]); + } + return builder.endVector(); + } + static startItemsKeysIndicesVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } + static addItemsRels(builder, itemsRelsOffset) { + builder.addFieldOffset(5, itemsRelsOffset, 0); + } + static createItemsRelsVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt32(data[i]); + } + return builder.endVector(); + } + static startItemsRelsVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } + static addItemsRelsIndices(builder, itemsRelsIndicesOffset) { + builder.addFieldOffset(6, itemsRelsIndicesOffset, 0); + } + static createItemsRelsIndicesVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt32(data[i]); + } + return builder.endVector(); + } + static startItemsRelsIndicesVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } + static addFragmentKeys(builder, fragmentKeysOffset) { + builder.addFieldOffset(7, fragmentKeysOffset, 0); + } + static addId(builder, idOffset) { + builder.addFieldOffset(8, idOffset, 0); + } + static addName(builder, nameOffset) { + builder.addFieldOffset(9, nameOffset, 0); + } + static addIfcName(builder, ifcNameOffset) { + builder.addFieldOffset(10, ifcNameOffset, 0); + } + static addIfcDescription(builder, ifcDescriptionOffset) { + builder.addFieldOffset(11, ifcDescriptionOffset, 0); + } + static addIfcSchema(builder, ifcSchemaOffset) { + builder.addFieldOffset(12, ifcSchemaOffset, 0); + } + static addMaxExpressId(builder, maxExpressId) { + builder.addFieldInt32(13, maxExpressId, 0); + } + static addBoundingBox(builder, boundingBoxOffset) { + builder.addFieldOffset(14, boundingBoxOffset, 0); + } + static createBoundingBoxVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addFloat32(data[i]); + } + return builder.endVector(); + } + static startBoundingBoxVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } + static endFragmentsGroup(builder) { + const offset = builder.endObject(); + return offset; + } + static finishFragmentsGroupBuffer(builder, offset) { + builder.finish(offset); + } + static finishSizePrefixedFragmentsGroupBuffer(builder, offset) { + builder.finish(offset, undefined, true); + } + static createFragmentsGroup(builder, itemsOffset, coordinationMatrixOffset, idsOffset, itemsKeysOffset, itemsKeysIndicesOffset, itemsRelsOffset, itemsRelsIndicesOffset, fragmentKeysOffset, idOffset, nameOffset, ifcNameOffset, ifcDescriptionOffset, ifcSchemaOffset, maxExpressId, boundingBoxOffset) { + FragmentsGroup.startFragmentsGroup(builder); + FragmentsGroup.addItems(builder, itemsOffset); + FragmentsGroup.addCoordinationMatrix(builder, coordinationMatrixOffset); + FragmentsGroup.addIds(builder, idsOffset); + FragmentsGroup.addItemsKeys(builder, itemsKeysOffset); + FragmentsGroup.addItemsKeysIndices(builder, itemsKeysIndicesOffset); + FragmentsGroup.addItemsRels(builder, itemsRelsOffset); + FragmentsGroup.addItemsRelsIndices(builder, itemsRelsIndicesOffset); + FragmentsGroup.addFragmentKeys(builder, fragmentKeysOffset); + FragmentsGroup.addId(builder, idOffset); + FragmentsGroup.addName(builder, nameOffset); + FragmentsGroup.addIfcName(builder, ifcNameOffset); + FragmentsGroup.addIfcDescription(builder, ifcDescriptionOffset); + FragmentsGroup.addIfcSchema(builder, ifcSchemaOffset); + FragmentsGroup.addMaxExpressId(builder, maxExpressId); + FragmentsGroup.addBoundingBox(builder, boundingBoxOffset); + return FragmentsGroup.endFragmentsGroup(builder); + } +}; + +// TODO: Document this +class FragmentsGroup extends THREE$1.Group { + constructor() { + super(...arguments); + this.items = []; + this.boundingBox = new THREE$1.Box3(); + this.coordinationMatrix = new THREE$1.Matrix4(); + this.keyFragments = {}; + // data: [expressID: number]: [keys, rels] + this.data = {}; + this.ifcMetadata = { + name: "", + description: "", + schema: "IFC2X3", + maxExpressID: 0, + }; + } + getFragmentMap(expressIDs) { + const fragmentMap = {}; + for (const expressID of expressIDs) { + const data = this.data[expressID]; + if (!data) + continue; + for (const key of data[0]) { + const fragmentID = this.keyFragments[key]; + if (!fragmentMap[fragmentID]) + fragmentMap[fragmentID] = new Set(); + fragmentMap[fragmentID].add(expressID); + } + } + return fragmentMap; + } + dispose(disposeResources = true) { + for (const fragment of this.items) { + fragment.dispose(disposeResources); + } + this.coordinationMatrix = new THREE$1.Matrix4(); + this.keyFragments = {}; + this.data = {}; + this.properties = {}; + } +} + +/** + * Object to export and import sets of fragments efficiently using + * [flatbuffers](https://flatbuffers.dev/). + */ +class Serializer { + constructor() { + this.fragmentIDSeparator = "|"; + } + import(bytes) { + const buffer = new ByteBuffer(bytes); + const fbFragmentsGroup = FragmentsGroup$1.getRootAsFragmentsGroup(buffer); + const fragmentsGroup = this.constructFragmentGroup(fbFragmentsGroup); + const length = fbFragmentsGroup.itemsLength(); + for (let i = 0; i < length; i++) { + const fbFragment = fbFragmentsGroup.items(i); + if (!fbFragment) + continue; + const geometry = this.constructGeometry(fbFragment); + const materials = this.constructMaterials(fbFragment); + const { instances, colors } = this.constructInstances(fbFragment); + const fragment = new Fragment$1(geometry, materials, instances.length); + this.getComposites(fbFragment, fragment); + this.setInstances(instances, colors, fragment); + this.setID(fbFragment, fragment); + fragmentsGroup.items.push(fragment); + fragmentsGroup.add(fragment.mesh); + } + return fragmentsGroup; + } + export(group) { + const builder = new Builder(1024); + const items = []; + const G = FragmentsGroup$1; + const F = Fragment; + for (const fragment of group.items) { + const result = fragment.exportData(); + const posVector = F.createPositionVector(builder, result.position); + const normalVector = F.createNormalVector(builder, result.normal); + const blockVector = F.createBlockIdVector(builder, result.blockID); + const indexVector = F.createIndexVector(builder, result.index); + const groupsVector = F.createGroupsVector(builder, result.groups); + const matsVector = F.createMaterialsVector(builder, result.materials); + const matricesVector = F.createMatricesVector(builder, result.matrices); + const colorsVector = F.createColorsVector(builder, result.colors); + const idsStr = builder.createString(result.ids); + const idStr = builder.createString(result.id); + const compositeStr = builder.createString(JSON.stringify(fragment.composites)); + F.startFragment(builder); + F.addPosition(builder, posVector); + F.addNormal(builder, normalVector); + F.addBlockId(builder, blockVector); + F.addIndex(builder, indexVector); + F.addGroups(builder, groupsVector); + F.addMaterials(builder, matsVector); + F.addMatrices(builder, matricesVector); + F.addColors(builder, colorsVector); + F.addIds(builder, idsStr); + F.addId(builder, idStr); + F.addComposites(builder, compositeStr); + const exported = Fragment.endFragment(builder); + items.push(exported); + } + const itemsVector = G.createItemsVector(builder, items); + const matrixVector = G.createCoordinationMatrixVector(builder, group.coordinationMatrix.elements); + let fragmentKeys = ""; + for (const key in group.keyFragments) { + const fragmentID = group.keyFragments[key]; + if (fragmentKeys.length) + fragmentKeys += this.fragmentIDSeparator; + fragmentKeys += fragmentID; + } + const fragmentKeysRef = builder.createString(fragmentKeys); + const keyIndices = []; + const itemsKeys = []; + const relsIndices = []; + const itemsRels = []; + const ids = []; + let keysCounter = 0; + let relsCounter = 0; + for (const expressID in group.data) { + keyIndices.push(keysCounter); + relsIndices.push(relsCounter); + const [keys, rels] = group.data[expressID]; + const id = parseInt(expressID, 10); + ids.push(id); + for (const key of keys) { + itemsKeys.push(key); + } + for (const rel of rels) { + itemsRels.push(rel); + } + keysCounter += keys.length; + relsCounter += rels.length; + } + const groupID = builder.createString(group.uuid); + const groupName = builder.createString(group.name); + const ifcName = builder.createString(group.ifcMetadata.name); + const ifcDescription = builder.createString(group.ifcMetadata.description); + const ifcSchema = builder.createString(group.ifcMetadata.schema); + const keysIVector = G.createItemsKeysIndicesVector(builder, keyIndices); + const keysVector = G.createItemsKeysVector(builder, itemsKeys); + const relsIVector = G.createItemsRelsIndicesVector(builder, relsIndices); + const relsVector = G.createItemsRelsVector(builder, itemsRels); + const idsVector = G.createIdsVector(builder, ids); + const { min, max } = group.boundingBox; + const bbox = [min.x, min.y, min.z, max.x, max.y, max.z]; + const bboxVector = G.createBoundingBoxVector(builder, bbox); + G.startFragmentsGroup(builder); + G.addId(builder, groupID); + G.addName(builder, groupName); + G.addIfcName(builder, ifcName); + G.addIfcDescription(builder, ifcDescription); + G.addIfcSchema(builder, ifcSchema); + G.addMaxExpressId(builder, group.ifcMetadata.maxExpressID); + G.addItems(builder, itemsVector); + G.addFragmentKeys(builder, fragmentKeysRef); + G.addIds(builder, idsVector); + G.addItemsKeysIndices(builder, keysIVector); + G.addItemsKeys(builder, keysVector); + G.addItemsRelsIndices(builder, relsIVector); + G.addItemsRels(builder, relsVector); + G.addCoordinationMatrix(builder, matrixVector); + G.addBoundingBox(builder, bboxVector); + const result = FragmentsGroup$1.endFragmentsGroup(builder); + builder.finish(result); + return builder.asUint8Array(); + } + getComposites(fbFragment, fragment) { + const composites = fbFragment.composites() || "{}"; + fragment.composites = JSON.parse(composites); + } + setID(fbFragment, fragment) { + const id = fbFragment.id(); + if (id) { + fragment.id = id; + fragment.mesh.uuid = id; + } + } + setInstances(instances, colors, fragment) { + for (let i = 0; i < instances.length; i++) { + fragment.setInstance(i, instances[i]); + if (colors.length) { + fragment.mesh.setColorAt(i, colors[i]); + } + } + } + constructInstances(fragment) { + const matricesData = fragment.matricesArray(); + const colorData = fragment.colorsArray(); + const colors = []; + const idsString = fragment.ids(); + const id = fragment.id(); + if (!matricesData || !idsString) { + throw new Error(`Error: Can't load empty fragment: ${id}`); + } + const ids = idsString.split("|"); + const singleInstance = matricesData.length === 16; + const manyItems = ids.length > 1; + const isMergedFragment = singleInstance && manyItems; + if (isMergedFragment) { + const transform = new THREE$1.Matrix4().fromArray(matricesData); + const instances = [{ ids, transform }]; + return { instances, colors }; + } + // Instanced fragment + const instances = []; + for (let i = 0; i < matricesData.length; i += 16) { + const matrixArray = matricesData.subarray(i, i + 17); + const transform = new THREE$1.Matrix4().fromArray(matrixArray); + const id = ids[i / 16]; + instances.push({ ids: [id], transform }); + } + if (colorData && colorData.length === instances.length * 3) { + for (let i = 0; i < colorData.length; i += 3) { + const [r, g, b] = colorData.subarray(i, i + 4); + const color = new THREE$1.Color(r, g, b); + colors.push(color); + } + } + return { instances, colors }; + } + constructMaterials(fragment) { + const materials = fragment.materialsArray(); + const matArray = []; + if (!materials) + return matArray; + for (let i = 0; i < materials.length; i += 5) { + const opacity = materials[i]; + const transparent = Boolean(materials[i + 1]); + const red = materials[i + 2]; + const green = materials[i + 3]; + const blue = materials[i + 4]; + const color = new THREE$1.Color(red, green, blue); + const material = new THREE$1.MeshLambertMaterial({ + color, + opacity, + transparent, + }); + matArray.push(material); + } + return matArray; + } + constructFragmentGroup(group) { + const fragmentsGroup = new FragmentsGroup(); + fragmentsGroup.uuid = group.id() || fragmentsGroup.uuid; + fragmentsGroup.name = group.name() || ""; + fragmentsGroup.ifcMetadata = { + name: group.ifcName() || "", + description: group.ifcDescription() || "", + schema: group.ifcSchema() || "IFC2X3", + maxExpressID: group.maxExpressId() || 0, + }; + const defaultMatrix = new THREE$1.Matrix4().elements; + const matrixArray = group.coordinationMatrixArray() || defaultMatrix; + const ids = group.idsArray() || new Uint32Array(); + const keysIndices = group.itemsKeysIndicesArray() || new Uint32Array(); + const keysArray = group.itemsKeysArray() || new Uint32Array(); + const relsArray = group.itemsRelsArray() || new Uint32Array(); + const relsIndices = group.itemsRelsIndicesArray() || new Uint32Array(); + const keysIdsString = group.fragmentKeys() || ""; + const keysIdsArray = keysIdsString.split(this.fragmentIDSeparator); + this.setGroupData(fragmentsGroup, ids, keysIndices, keysArray, 0); + this.setGroupData(fragmentsGroup, ids, relsIndices, relsArray, 1); + const bbox = group.boundingBoxArray() || [0, 0, 0, 0, 0, 0]; + const [minX, minY, minZ, maxX, maxY, maxZ] = bbox; + fragmentsGroup.boundingBox.min.set(minX, minY, minZ); + fragmentsGroup.boundingBox.max.set(maxX, maxY, maxZ); + for (let i = 0; i < keysIdsArray.length; i++) { + fragmentsGroup.keyFragments[i] = keysIdsArray[i]; + } + if (matrixArray.length === 16) { + fragmentsGroup.coordinationMatrix.fromArray(matrixArray); + } + return fragmentsGroup; + } + setGroupData(group, ids, indices, array, index) { + for (let i = 0; i < indices.length; i++) { + const expressID = ids[i]; + const currentIndex = indices[i]; + const nextIndex = indices[i + 1] || array.length; + const keys = []; + for (let j = currentIndex; j < nextIndex; j++) { + keys.push(array[j]); + } + if (!group.data[expressID]) { + group.data[expressID] = [[], []]; + } + group.data[expressID][index] = keys; + } + } + constructGeometry(fragment) { + const position = fragment.positionArray(); + const normal = fragment.normalArray(); + const blockID = fragment.blockIdArray(); + const index = fragment.indexArray(); + const groups = fragment.groupsArray(); + if (!index) + throw new Error("Index not found!"); + const geometry = new THREE$1.BufferGeometry(); + geometry.setIndex(Array.from(index)); + this.loadAttribute(geometry, "position", position, 3); + this.loadAttribute(geometry, "normal", normal, 3); + this.loadAttribute(geometry, "blockID", blockID, 1); + this.loadGeometryGroups(groups, geometry); + return geometry; + } + loadGeometryGroups(groups, geometry) { + if (!groups) + return; + for (let i = 0; i < groups.length; i += 3) { + const start = groups[i]; + const count = groups[i + 1]; + const materialIndex = groups[i + 2]; + geometry.addGroup(start, count, materialIndex); + } + } + loadAttribute(geometry, name, data, size) { + if (!data) + return; + geometry.setAttribute(name, new THREE$1.BufferAttribute(data, size)); + } +} + +/** + * Object that can efficiently load binary files that contain + * [fragment geometry](https://github.com/ifcjs/fragment). + */ +class FragmentManager extends Component { + /** The list of meshes of the created fragments. */ + get meshes() { + const allMeshes = []; + for (const fragID in this.list) { + allMeshes.push(this.list[fragID].mesh); + } + return allMeshes; + } + constructor(components) { + super(components); + /** {@link Component.enabled} */ + this.enabled = true; + /** All the created [fragments](https://github.com/ifcjs/fragment). */ + this.list = {}; + this.groups = []; + this.baseCoordinationModel = ""; + this.onFragmentsLoaded = new Event(); + this.uiElement = new UIElement(); + this.commands = []; + this._loader = new Serializer(); + this._cards = []; + this.components.tools.add(FragmentManager.uuid, this); + if (components.ui.enabled) { + this.setupUI(components); + } + } + /** {@link Component.get} */ + get() { + return Object.values(this.list); + } + /** {@link Component.get} */ + async dispose(disposeUI = false) { + if (disposeUI) { + this.onFragmentsLoaded.reset(); + this.uiElement.dispose(); + } + for (const group of this.groups) { + group.dispose(true); + } + for (const command of this.commands) { + await command.dispose(); + } + for (const card of this._cards) { + await card.dispose(); + } + this.groups = []; + this.list = {}; + } + async disposeGroup(group) { + for (const fragment of group.items) { + this.removeFragmentMesh(fragment); + delete this.list[fragment.id]; + } + group.dispose(true); + const index = this.groups.indexOf(group); + this.groups.splice(index, 1); + await this.updateWindow(); + } + /** Disposes all existing fragments */ + reset() { + for (const id in this.list) { + const fragment = this.list[id]; + fragment.dispose(); + } + this.list = {}; + } + /** + * Loads one or many fragments into the scene. + * @param data - the bytes containing the data for the fragments to load. + * @returns the list of IDs of the loaded fragments. + */ + async load(data) { + const group = this._loader.import(data); + const scene = this.components.scene.get(); + const ids = []; + scene.add(group); + for (const fragment of group.items) { + fragment.group = group; + this.list[fragment.id] = fragment; + ids.push(fragment.id); + this.components.meshes.push(fragment.mesh); + } + this.groups.push(group); + await this.onFragmentsLoaded.trigger(group); + return group; + } + /** + * Export the specified fragments. + * @param group - the fragments group to be exported. + * @returns the exported data as binary buffer. + */ + export(group) { + return this._loader.export(group); + } + async updateWindow() { + if (!this.components.ui.enabled) { + return; + } + for (const card of this._cards) { + await card.dispose(); + } + for (const group of this.groups) { + const card = new SimpleUICard(this.components); + // TODO: Make all cards like this? + card.domElement.classList.remove("bg-ifcjs-120"); + card.domElement.classList.remove("border-transparent"); + card.domElement.className += ` min-w-[300px] my-2 border-1 border-solid border-[#3A444E] `; + const buttonContainer = new SimpleUIComponent(this.components); + card.addChild(buttonContainer); + card.title = group.name; + this.uiElement.get("window").addChild(card); + this._cards.push(card); + // TODO: Use command list just like in fragment plans + const commandsButton = new Button(this.components); + commandsButton.materialIcon = "delete"; + buttonContainer.addChild(commandsButton); + commandsButton.onClick.add(() => this.disposeGroup(group)); + } + } + coordinate(models = this.groups) { + const baseModel = this.groups.find((group) => group.uuid === this.baseCoordinationModel); + if (!baseModel) { + console.log("No base model found for coordination!"); + return; + } + for (const model of models) { + if (model === baseModel) { + continue; + } + model.position.set(0, 0, 0); + model.rotation.set(0, 0, 0); + model.scale.set(1, 1, 1); + model.updateMatrix(); + model.applyMatrix4(model.coordinationMatrix.clone().invert()); + model.applyMatrix4(baseModel.coordinationMatrix); + } + } + setupUI(components) { + const window = new FloatingWindow(components); + window.title = "Models"; + window.domElement.style.left = "70px"; + window.domElement.style.top = "100px"; + window.domElement.style.width = "340px"; + window.domElement.style.height = "400px"; + const windowContent = window.slots.content.domElement; + windowContent.classList.remove("overflow-auto"); + windowContent.classList.add("overflow-x-hidden"); + components.ui.add(window); + window.visible = false; + const main = new Button(components); + main.tooltip = "Models"; + main.materialIcon = "inbox"; + main.onClick.add(() => { + window.visible = !window.visible; + }); + this.uiElement.set({ main, window }); + this.onFragmentsLoaded.add(() => this.updateWindow()); + } + removeFragmentMesh(fragment) { + const meshes = this.components.meshes; + const mesh = fragment.mesh; + if (meshes.includes(mesh)) { + meshes.splice(meshes.indexOf(mesh), 1); + } + } +} +FragmentManager.uuid = "fef46874-46a3-461b-8c44-2922ab77c806"; +ToolComponent.libraryUUIDs.add(FragmentManager.uuid); + +var __defProp = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); +var __commonJS$1 = (cb, mod) => function __require() { + return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __async = (__this, __arguments, generator) => { + return new Promise((resolve, reject) => { + var fulfilled = (value) => { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + }; + var rejected = (value) => { + try { + step(generator.throw(value)); + } catch (e) { + reject(e); + } + }; + var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); + step((generator = generator.apply(__this, __arguments)).next()); + }); +}; + +// dist/web-ifc-mt.js +var require_web_ifc_mt$1 = __commonJS$1({ + "dist/web-ifc-mt.js"(exports, module) { + var WebIFCWasm2 = (() => { + var _scriptDir = typeof document !== "undefined" && document.currentScript ? document.currentScript.src : void 0; + return function(moduleArg = {}) { + function GROWABLE_HEAP_I8() { + if (wasmMemory.buffer != HEAP8.buffer) { + updateMemoryViews(); + } + return HEAP8; + } + function GROWABLE_HEAP_U8() { + if (wasmMemory.buffer != HEAP8.buffer) { + updateMemoryViews(); + } + return HEAPU8; + } + function GROWABLE_HEAP_I16() { + if (wasmMemory.buffer != HEAP8.buffer) { + updateMemoryViews(); + } + return HEAP16; + } + function GROWABLE_HEAP_U16() { + if (wasmMemory.buffer != HEAP8.buffer) { + updateMemoryViews(); + } + return HEAPU16; + } + function GROWABLE_HEAP_I32() { + if (wasmMemory.buffer != HEAP8.buffer) { + updateMemoryViews(); + } + return HEAP32; + } + function GROWABLE_HEAP_U32() { + if (wasmMemory.buffer != HEAP8.buffer) { + updateMemoryViews(); + } + return HEAPU32; + } + function GROWABLE_HEAP_F32() { + if (wasmMemory.buffer != HEAP8.buffer) { + updateMemoryViews(); + } + return HEAPF32; + } + function GROWABLE_HEAP_F64() { + if (wasmMemory.buffer != HEAP8.buffer) { + updateMemoryViews(); + } + return HEAPF64; + } + var Module = moduleArg; + var readyPromiseResolve, readyPromiseReject; + Module["ready"] = new Promise((resolve, reject) => { + readyPromiseResolve = resolve; + readyPromiseReject = reject; + }); + var moduleOverrides = Object.assign({}, Module); + var thisProgram = "./this.program"; + var quit_ = (status, toThrow) => { + throw toThrow; + }; + var ENVIRONMENT_IS_WEB = typeof window == "object"; + var ENVIRONMENT_IS_WORKER = typeof importScripts == "function"; + var ENVIRONMENT_IS_NODE = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string"; + var ENVIRONMENT_IS_PTHREAD = Module["ENVIRONMENT_IS_PTHREAD"] || false; + var scriptDirectory = ""; + function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; + } + var read_, readAsync, readBinary; + if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href; + } else if (typeof document != "undefined" && document.currentScript) { + scriptDirectory = document.currentScript.src; + } + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1); + } else { + scriptDirectory = ""; + } + { + read_ = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText; + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response); + }; + } + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = () => { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; + } + } + var out = Module["print"] || console.log.bind(console); + var err = Module["printErr"] || console.error.bind(console); + Object.assign(Module, moduleOverrides); + moduleOverrides = null; + if (Module["arguments"]) + Module["arguments"]; + if (Module["thisProgram"]) + thisProgram = Module["thisProgram"]; + if (Module["quit"]) + quit_ = Module["quit"]; + var wasmBinary; + if (Module["wasmBinary"]) + wasmBinary = Module["wasmBinary"]; + var noExitRuntime = Module["noExitRuntime"] || true; + if (typeof WebAssembly != "object") { + abort("no native wasm support detected"); + } + var wasmMemory; + var wasmExports; + var wasmModule; + var ABORT = false; + var EXITSTATUS; + function assert(condition, text) { + if (!condition) { + abort(text); + } + } + var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + function updateMemoryViews() { + var b = wasmMemory.buffer; + Module["HEAP8"] = HEAP8 = new Int8Array(b); + Module["HEAP16"] = HEAP16 = new Int16Array(b); + Module["HEAP32"] = HEAP32 = new Int32Array(b); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(b); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); + Module["HEAPF32"] = HEAPF32 = new Float32Array(b); + Module["HEAPF64"] = HEAPF64 = new Float64Array(b); + } + var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216; + assert(INITIAL_MEMORY >= 5242880, "INITIAL_MEMORY should be larger than STACK_SIZE, was " + INITIAL_MEMORY + "! (STACK_SIZE=" + 5242880 + ")"); + if (ENVIRONMENT_IS_PTHREAD) { + wasmMemory = Module["wasmMemory"]; + } else { + if (Module["wasmMemory"]) { + wasmMemory = Module["wasmMemory"]; + } else { + wasmMemory = new WebAssembly.Memory({ "initial": INITIAL_MEMORY / 65536, "maximum": 4294967296 / 65536, "shared": true }); + if (!(wasmMemory.buffer instanceof SharedArrayBuffer)) { + err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"); + if (ENVIRONMENT_IS_NODE) { + err("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"); + } + throw Error("bad memory"); + } + } + } + updateMemoryViews(); + INITIAL_MEMORY = wasmMemory.buffer.byteLength; + var wasmTable; + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATPOSTRUN__ = []; + var runtimeKeepaliveCounter = 0; + function keepRuntimeAlive() { + return noExitRuntime || runtimeKeepaliveCounter > 0; + } + function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") + Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); + } + function initRuntime() { + if (ENVIRONMENT_IS_PTHREAD) + return; + if (!Module["noFSInit"] && !FS.init.initialized) + FS.init(); + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATINIT__); + } + function postRun() { + if (ENVIRONMENT_IS_PTHREAD) + return; + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") + Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); + } + function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); + } + function addOnInit(cb) { + __ATINIT__.unshift(cb); + } + function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); + } + var runDependencies = 0; + var dependenciesFulfilled = null; + function getUniqueRunDependency(id) { + return id; + } + function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + } + function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + if (runDependencies == 0) { + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } + } + function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what = "Aborted(" + what + ")"; + err(what); + ABORT = true; + EXITSTATUS = 1; + what += ". Build with -sASSERTIONS for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; + } + var dataURIPrefix = "data:application/octet-stream;base64,"; + function isDataURI(filename) { + return filename.startsWith(dataURIPrefix); + } + var wasmBinaryFile; + wasmBinaryFile = "web-ifc-mt.wasm"; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + function getBinarySync(file) { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } + function getBinaryPromise(binaryFile) { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == "function") { + return fetch(binaryFile, { credentials: "same-origin" }).then((response) => { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + binaryFile + "'"; + } + return response["arrayBuffer"](); + }).catch(() => getBinarySync(binaryFile)); + } + } + return Promise.resolve().then(() => getBinarySync(binaryFile)); + } + function instantiateArrayBuffer(binaryFile, imports, receiver) { + return getBinaryPromise(binaryFile).then((binary) => WebAssembly.instantiate(binary, imports)).then((instance) => instance).then(receiver, (reason) => { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason); + }); + } + function instantiateAsync(binary, binaryFile, imports, callback) { + if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && typeof fetch == "function") { + return fetch(binaryFile, { credentials: "same-origin" }).then((response) => { + var result = WebAssembly.instantiateStreaming(response, imports); + return result.then(callback, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + return instantiateArrayBuffer(binaryFile, imports, callback); + }); + }); + } + return instantiateArrayBuffer(binaryFile, imports, callback); + } + function createWasm() { + var info = { "a": wasmImports }; + function receiveInstance(instance, module2) { + var exports2 = instance.exports; + exports2 = applySignatureConversions(exports2); + wasmExports = exports2; + registerTLSInit(wasmExports["ha"]); + wasmTable = wasmExports["fa"]; + addOnInit(wasmExports["ea"]); + wasmModule = module2; + removeRunDependency(); + return exports2; + } + addRunDependency(); + function receiveInstantiationResult(result) { + receiveInstance(result["instance"], result["module"]); + } + if (Module["instantiateWasm"]) { + try { + return Module["instantiateWasm"](info, receiveInstance); + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + readyPromiseReject(e); + } + } + instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); + return {}; + } + var tempDouble; + var tempI64; + function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = `Program terminated with exit(${status})`; + this.status = status; + } + var terminateWorker = function(worker) { + worker.terminate(); + worker.onmessage = (e) => { + }; + }; + function killThread(pthread_ptr) { + var worker = PThread.pthreads[pthread_ptr]; + delete PThread.pthreads[pthread_ptr]; + terminateWorker(worker); + __emscripten_thread_free_data(pthread_ptr); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker), 1); + worker.pthread_ptr = 0; + } + function cancelThread(pthread_ptr) { + var worker = PThread.pthreads[pthread_ptr]; + worker.postMessage({ "cmd": "cancel" }); + } + function cleanupThread(pthread_ptr) { + var worker = PThread.pthreads[pthread_ptr]; + assert(worker); + PThread.returnWorkerToPool(worker); + } + function spawnThread(threadParams) { + var worker = PThread.getNewWorker(); + if (!worker) { + return 6; + } + PThread.runningWorkers.push(worker); + PThread.pthreads[threadParams.pthread_ptr] = worker; + worker.pthread_ptr = threadParams.pthread_ptr; + var msg = { "cmd": "run", "start_routine": threadParams.startRoutine, "arg": threadParams.arg, "pthread_ptr": threadParams.pthread_ptr }; + worker.postMessage(msg, threadParams.transferList); + return 0; + } + var PATH = { isAbs: (path) => path.charAt(0) === "/", splitPath: (filename) => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, normalizeArray: (parts, allowAboveRoot) => { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1); + } else if (last === "..") { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift(".."); + } + } + return parts; + }, normalize: (path) => { + var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter((p) => !!p), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, dirname: (path) => { + var result = PATH.splitPath(path), root = result[0], dir = result[1]; + if (!root && !dir) { + return "."; + } + if (dir) { + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + }, basename: (path) => { + if (path === "/") + return "/"; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) + return path; + return path.substr(lastSlash + 1); + }, join: function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join("/")); + }, join2: (l, r) => PATH.normalize(l + "/" + r) }; + var initRandomFill = () => { + if (typeof crypto == "object" && typeof crypto["getRandomValues"] == "function") { + return (view) => (view.set(crypto.getRandomValues(new Uint8Array(view.byteLength))), view); + } else + abort("initRandomDevice"); + }; + var randomFill = (view) => (randomFill = initRandomFill())(view); + var PATH_FS = { resolve: function() { + var resolvedPath = "", resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path != "string") { + throw new TypeError("Arguments to path.resolve must be strings"); + } else if (!path) { + return ""; + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = PATH.isAbs(path); + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter((p) => !!p), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, relative: (from, to) => { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") + break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") + break; + } + if (start > end) + return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push(".."); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/"); + } }; + var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : void 0; + var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => { + idx >>>= 0; + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) + ++endPtr; + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.buffer instanceof SharedArrayBuffer ? heapOrArray.slice(idx, endPtr) : heapOrArray.subarray(idx, endPtr)); + } + var str = ""; + while (idx < endPtr) { + var u0 = heapOrArray[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue; + } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2; + } else { + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63; + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } + } + return str; + }; + var FS_stdin_getChar_buffer = []; + var lengthBytesUTF8 = (str) => { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var c = str.charCodeAt(i); + if (c <= 127) { + len++; + } else if (c <= 2047) { + len += 2; + } else if (c >= 55296 && c <= 57343) { + len += 4; + ++i; + } else { + len += 3; + } + } + return len; + }; + var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { + outIdx >>>= 0; + if (!(maxBytesToWrite > 0)) + return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) + break; + heap[outIdx++ >>> 0] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) + break; + heap[outIdx++ >>> 0] = 192 | u >> 6; + heap[outIdx++ >>> 0] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) + break; + heap[outIdx++ >>> 0] = 224 | u >> 12; + heap[outIdx++ >>> 0] = 128 | u >> 6 & 63; + heap[outIdx++ >>> 0] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) + break; + heap[outIdx++ >>> 0] = 240 | u >> 18; + heap[outIdx++ >>> 0] = 128 | u >> 12 & 63; + heap[outIdx++ >>> 0] = 128 | u >> 6 & 63; + heap[outIdx++ >>> 0] = 128 | u & 63; + } + } + heap[outIdx >>> 0] = 0; + return outIdx - startIdx; + }; + function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) + u8array.length = numBytesWritten; + return u8array; + } + var FS_stdin_getChar = () => { + if (!FS_stdin_getChar_buffer.length) { + var result = null; + if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n"; + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n"; + } + } + if (!result) { + return null; + } + FS_stdin_getChar_buffer = intArrayFromString(result, true); + } + return FS_stdin_getChar_buffer.shift(); + }; + var TTY = { ttys: [], init: function() { + }, shutdown: function() { + }, register: function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops }; + FS.registerDevice(dev, TTY.stream_ops); + }, stream_ops: { open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + }, close: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, fsync: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === void 0 && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === void 0) + break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } }, default_tty_ops: { get_char: function(tty) { + return FS_stdin_getChar(); + }, put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) + tty.output.push(val); + } + }, fsync: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }, ioctl_tcgets: function(tty) { + return { c_iflag: 25856, c_oflag: 5, c_cflag: 191, c_lflag: 35387, c_cc: [3, 28, 127, 21, 4, 0, 1, 0, 17, 19, 26, 0, 18, 15, 23, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }; + }, ioctl_tcsets: function(tty, optional_actions, data) { + return 0; + }, ioctl_tiocgwinsz: function(tty) { + return [24, 80]; + } }, default_tty1_ops: { put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) + tty.output.push(val); + } + }, fsync: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } } }; + var mmapAlloc = (size) => { + abort(); + }; + var MEMFS = { ops_table: null, mount(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0); + }, createNode(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { dir: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, lookup: MEMFS.node_ops.lookup, mknod: MEMFS.node_ops.mknod, rename: MEMFS.node_ops.rename, unlink: MEMFS.node_ops.unlink, rmdir: MEMFS.node_ops.rmdir, readdir: MEMFS.node_ops.readdir, symlink: MEMFS.node_ops.symlink }, stream: { llseek: MEMFS.stream_ops.llseek } }, file: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: { llseek: MEMFS.stream_ops.llseek, read: MEMFS.stream_ops.read, write: MEMFS.stream_ops.write, allocate: MEMFS.stream_ops.allocate, mmap: MEMFS.stream_ops.mmap, msync: MEMFS.stream_ops.msync } }, link: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, readlink: MEMFS.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: FS.chrdev_stream_ops } }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node; + parent.timestamp = node.timestamp; + } + return node; + }, getFileDataAsTypedArray(node) { + if (!node.contents) + return new Uint8Array(0); + if (node.contents.subarray) + return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents); + }, expandFileStorage(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) + return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0); + if (prevCapacity != 0) + newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) + node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + }, resizeFileStorage(node, newSize) { + if (node.usedBytes == newSize) + return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); + } + node.usedBytes = newSize; + } + }, node_ops: { getattr(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + }, setattr(node, attr) { + if (attr.mode !== void 0) { + node.mode = attr.mode; + } + if (attr.timestamp !== void 0) { + node.timestamp = attr.timestamp; + } + if (attr.size !== void 0) { + MEMFS.resizeFileStorage(node, attr.size); + } + }, lookup(parent, name) { + throw FS.genericErrors[44]; + }, mknod(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + }, rename(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now(); + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + }, unlink(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, rmdir(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, readdir(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + }, symlink(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node; + }, readlink(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; + } }, stream_ops: { read(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) + return 0; + var size = Math.min(stream.node.usedBytes - position, length); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) + buffer[offset + i] = contents[position + i]; + } + return size; + }, write(stream, buffer, offset, length, position, canOwn) { + if (buffer.buffer === GROWABLE_HEAP_I8().buffer) { + canOwn = false; + } + if (!length) + return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) { + node.contents.set(buffer.subarray(offset, offset + length), position); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + }, llseek(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, allocate(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + }, mmap(stream, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === GROWABLE_HEAP_I8().buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(); + if (!ptr) { + throw new FS.ErrnoError(48); + } + GROWABLE_HEAP_I8().set(contents, ptr >>> 0); + } + return { ptr, allocated }; + }, msync(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0; + } } }; + var asyncLoad = (url, onload, onerror, noRunDep) => { + var dep = !noRunDep ? getUniqueRunDependency(`al ${url}`) : ""; + readAsync(url, (arrayBuffer) => { + assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); + onload(new Uint8Array(arrayBuffer)); + if (dep) + removeRunDependency(); + }, (event) => { + if (onerror) { + onerror(); + } else { + throw `Loading data file "${url}" failed.`; + } + }); + if (dep) + addRunDependency(); + }; + var preloadPlugins = Module["preloadPlugins"] || []; + function FS_handledByPreloadPlugin(byteArray, fullname, finish, onerror) { + if (typeof Browser != "undefined") + Browser.init(); + var handled = false; + preloadPlugins.forEach(function(plugin) { + if (handled) + return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, onerror); + handled = true; + } + }); + return handled; + } + function FS_createPreloadedFile(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + function processData(byteArray) { + function finish(byteArray2) { + if (preFinish) + preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray2, canRead, canWrite, canOwn); + } + if (onload) + onload(); + removeRunDependency(); + } + if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) + onerror(); + removeRunDependency(); + })) { + return; + } + finish(byteArray); + } + addRunDependency(); + if (typeof url == "string") { + asyncLoad(url, (byteArray) => processData(byteArray), onerror); + } else { + processData(url); + } + } + function FS_modeStringToFlags(str) { + var flagModes = { "r": 0, "r+": 2, "w": 512 | 64 | 1, "w+": 512 | 64 | 2, "a": 1024 | 64 | 1, "a+": 1024 | 64 | 2 }; + var flags = flagModes[str]; + if (typeof flags == "undefined") { + throw new Error(`Unknown file open mode: ${str}`); + } + return flags; + } + function FS_getMode(canRead, canWrite) { + var mode = 0; + if (canRead) + mode |= 292 | 73; + if (canWrite) + mode |= 146; + return mode; + } + var FS = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: false, ignorePermissions: true, ErrnoError: null, genericErrors: {}, filesystems: null, syncFSRequests: 0, lookupPath: (path, opts = {}) => { + path = PATH_FS.resolve(path); + if (!path) + return { path: "", node: null }; + var defaults = { follow_mount: true, recurse_count: 0 }; + opts = Object.assign(defaults, opts); + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32); + } + var parts = path.split("/").filter((p) => !!p); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break; + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root; + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count + 1 }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } + } + } + } + return { path: current_path, node: current }; + }, getPath: (node) => { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) + return mount; + return mount[mount.length - 1] !== "/" ? `${mount}/${path}` : mount + path; + } + path = path ? `${node.name}/${path}` : node.name; + node = node.parent; + } + }, hashName: (parentid, name) => { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0; + } + return (parentid + hash >>> 0) % FS.nameTable.length; + }, hashAddNode: (node) => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, hashRemoveNode: (node) => { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + }, lookupNode: (parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + return FS.lookup(parent, name); + }, createNode: (parent, name, mode, rdev) => { + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, destroyNode: (node) => { + FS.hashRemoveNode(node); + }, isRoot: (node) => node === node.parent, isMountpoint: (node) => !!node.mounted, isFile: (mode) => (mode & 61440) === 32768, isDir: (mode) => (mode & 61440) === 16384, isLink: (mode) => (mode & 61440) === 40960, isChrdev: (mode) => (mode & 61440) === 8192, isBlkdev: (mode) => (mode & 61440) === 24576, isFIFO: (mode) => (mode & 61440) === 4096, isSocket: (mode) => (mode & 49152) === 49152, flagsToPermissionString: (flag) => { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; + }, nodePermissions: (node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + if (perms.includes("r") && !(node.mode & 292)) { + return 2; + } else if (perms.includes("w") && !(node.mode & 146)) { + return 2; + } else if (perms.includes("x") && !(node.mode & 73)) { + return 2; + } + return 0; + }, mayLookup: (dir) => { + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) + return errCode; + if (!dir.node_ops.lookup) + return 2; + return 0; + }, mayCreate: (dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, "wx"); + }, mayDelete: (dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + }, mayOpen: (node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, MAX_OPEN_FDS: 4096, nextfd: () => { + for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + }, getStreamChecked: (fd) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + return stream; + }, getStream: (fd) => FS.streams[fd], createStream: (stream, fd = -1) => { + if (!FS.FSStream) { + FS.FSStream = function() { + this.shared = {}; + }; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { object: { get() { + return this.node; + }, set(val) { + this.node = val; + } }, isRead: { get() { + return (this.flags & 2097155) !== 1; + } }, isWrite: { get() { + return (this.flags & 2097155) !== 0; + } }, isAppend: { get() { + return this.flags & 1024; + } }, flags: { get() { + return this.shared.flags; + }, set(val) { + this.shared.flags = val; + } }, position: { get() { + return this.shared.position; + }, set(val) { + this.shared.position = val; + } } }); + } + stream = Object.assign(new FS.FSStream(), stream); + if (fd == -1) { + fd = FS.nextfd(); + } + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, closeStream: (fd) => { + FS.streams[fd] = null; + }, chrdev_stream_ops: { open: (stream) => { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + }, llseek: () => { + throw new FS.ErrnoError(70); + } }, major: (dev) => dev >> 8, minor: (dev) => dev & 255, makedev: (ma, mi) => ma << 8 | mi, registerDevice: (dev, ops) => { + FS.devices[dev] = { stream_ops: ops }; + }, getDevice: (dev) => FS.devices[dev], getMounts: (mount) => { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts); + } + return mounts; + }, syncfs: (populate, callback) => { + if (typeof populate == "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + function doCallback(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + mounts.forEach((mount) => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, mount: (type, opts, mountpoint) => { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + var mount = { type, opts, mountpoint, mounts: [] }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot; + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount); + } + } + return mountRoot; + }, unmount: (mountpoint) => { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach((hash) => { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, lookup: (parent, name) => parent.node_ops.lookup(parent, name), mknod: (path, mode, dev) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, create: (path, mode) => { + mode = mode !== void 0 ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, mkdir: (path, mode) => { + mode = mode !== void 0 ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, mkdirTree: (path, mode) => { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) + continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode); + } catch (e) { + if (e.errno != 20) + throw e; + } + } + }, mkdev: (path, mode, dev) => { + if (typeof dev == "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, symlink: (oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, rename: (old_path, new_path) => { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + if (!old_dir || !new_dir) + throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (old_node === new_node) { + return; + } + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + FS.hashAddNode(old_node); + } + }, rmdir: (path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + }, readdir: (path) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, unlink: (path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + }, readlink: (path) => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + }, stat: (path, dontFollow) => { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, lstat: (path) => FS.stat(path, true), chmod: (path, mode, dontFollow) => { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { mode: mode & 4095 | node.mode & ~4095, timestamp: Date.now() }); + }, lchmod: (path, mode) => { + FS.chmod(path, mode, true); + }, fchmod: (fd, mode) => { + var stream = FS.getStreamChecked(fd); + FS.chmod(stream.node, mode); + }, chown: (path, uid, gid, dontFollow) => { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { timestamp: Date.now() }); + }, lchown: (path, uid, gid) => { + FS.chown(path, uid, gid, true); + }, fchown: (fd, uid, gid) => { + var stream = FS.getStreamChecked(fd); + FS.chown(stream.node, uid, gid); + }, truncate: (path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); + }, ftruncate: (fd, len) => { + var stream = FS.getStreamChecked(fd); + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, utime: (path, atime, mtime) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); + }, open: (path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags == "string" ? FS_modeStringToFlags(flags) : flags; + mode = typeof mode == "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768; + } else { + mode = 0; + } + var node; + if (typeof path == "object") { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); + node = lookup.node; + } catch (e) { + } + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512 && !created) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream({ node, path: FS.getPath(node), flags, seekable: true, position: 0, stream_ops: node.stream_ops, ungotten: [], error: false }); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) + FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + } + } + return stream; + }, close: (stream) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) + stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + }, isClosed: (stream) => stream.fd === null, llseek: (stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, read: (stream, buffer, offset, length, position) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) + stream.position += bytesRead; + return bytesRead; + }, write: (stream, buffer, offset, length, position, canOwn) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + FS.llseek(stream, 0, 2); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) + stream.position += bytesWritten; + return bytesWritten; + }, allocate: (stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, mmap: (stream, length, position, prot, flags) => { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + }, msync: (stream, buffer, offset, length, mmapFlags) => { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + }, munmap: (stream) => 0, ioctl: (stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, readFile: (path, opts = {}) => { + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error(`Invalid encoding type "${opts.encoding}"`); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === "binary") { + ret = buf; + } + FS.close(stream); + return ret; + }, writeFile: (path, data, opts = {}) => { + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data == "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, void 0, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, void 0, opts.canOwn); + } else { + throw new Error("Unsupported data type"); + } + FS.close(stream); + }, cwd: () => FS.currentPath, chdir: (path) => { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, createDefaultDirectories: () => { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, createDefaultDevices: () => { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { read: () => 0, write: (stream, buffer, offset, length, pos) => length }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var randomBuffer = new Uint8Array(1024), randomLeft = 0; + var randomByte = () => { + if (randomLeft === 0) { + randomLeft = randomFill(randomBuffer).byteLength; + } + return randomBuffer[--randomLeft]; + }; + FS.createDevice("/dev", "random", randomByte); + FS.createDevice("/dev", "urandom", randomByte); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, createSpecialDirectories: () => { + FS.mkdir("/proc"); + var proc_self = FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ mount: () => { + var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); + node.node_ops = { lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStreamChecked(fd); + var ret = { parent: null, mount: { mountpoint: "fake" }, node_ops: { readlink: () => stream.path } }; + ret.parent = ret; + return ret; + } }; + return node; + } }, {}, "/proc/self/fd"); + }, createStandardStreams: () => { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]); + } else { + FS.symlink("/dev/tty", "/dev/stdin"); + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]); + } else { + FS.symlink("/dev/tty", "/dev/stdout"); + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]); + } else { + FS.symlink("/dev/tty1", "/dev/stderr"); + } + FS.open("/dev/stdin", 0); + FS.open("/dev/stdout", 1); + FS.open("/dev/stderr", 1); + }, ensureErrnoError: () => { + if (FS.ErrnoError) + return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.name = "ErrnoError"; + this.node = node; + this.setErrno = function(errno2) { + this.errno = errno2; + }; + this.setErrno(errno); + this.message = "FS error"; + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach((code) => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); + }, staticInit: () => { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { "MEMFS": MEMFS }; + }, init: (input, output, error) => { + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams(); + }, quit: () => { + FS.init.initialized = false; + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, findObject: (path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + }, analyzePath: (path, dontResolveLastLink) => { + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { isRoot: false, exists: false, error: 0, name: null, path: null, object: null, parentExists: false, parentPath: null, parentObject: null }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/"; + } catch (e) { + ret.error = e.errno; + } + return ret; + }, createPath: (parent, path, canRead, canWrite) => { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) + continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + } + parent = current; + } + return current; + }, createFile: (parent, name, properties, canRead, canWrite) => { + var path = PATH.join2(typeof parent == "string" ? parent : FS.getPath(parent), name); + var mode = FS_getMode(canRead, canWrite); + return FS.create(path, mode); + }, createDataFile: (parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + path = name ? PATH.join2(parent, name) : parent; + } + var mode = FS_getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data == "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) + arr[i] = data.charCodeAt(i); + data = arr; + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + }, createDevice: (parent, name, input, output) => { + var path = PATH.join2(typeof parent == "string" ? parent : FS.getPath(parent), name); + var mode = FS_getMode(!!input, !!output); + if (!FS.createDevice.major) + FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { open: (stream) => { + stream.seekable = false; + }, close: (stream) => { + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, read: (stream, buffer, offset, length, pos) => { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === void 0 && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === void 0) + break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } }); + return FS.mkdev(path, mode, dev); + }, forceLoadFile: (obj) => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) + return true; + if (typeof XMLHttpRequest != "undefined") { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, createLazyFile: (parent, name, url, canRead, canWrite) => { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return void 0; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest(); + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) + throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) + chunkSize = datalength; + var doXHR = (from, to) => { + if (from > to) + throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) + throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr2 = new XMLHttpRequest(); + xhr2.open("GET", url, false); + if (datalength !== chunkSize) + xhr2.setRequestHeader("Range", "bytes=" + from + "-" + to); + xhr2.responseType = "arraybuffer"; + if (xhr2.overrideMimeType) { + xhr2.overrideMimeType("text/plain; charset=x-user-defined"); + } + xhr2.send(null); + if (!(xhr2.status >= 200 && xhr2.status < 300 || xhr2.status === 304)) + throw new Error("Couldn't load " + url + ". Status: " + xhr2.status); + if (xhr2.response !== void 0) { + return new Uint8Array(xhr2.response || []); + } + return intArrayFromString(xhr2.responseText || "", true); + }; + var lazyArray2 = this; + lazyArray2.setDataGetter((chunkNum) => { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray2.chunks[chunkNum] == "undefined") { + lazyArray2.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray2.chunks[chunkNum] == "undefined") + throw new Error("doXHR failed!"); + return lazyArray2.chunks[chunkNum]; + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + out("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest != "undefined") { + if (!ENVIRONMENT_IS_WORKER) + throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { length: { get: function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } }, chunkSize: { get: function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } } }); + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url }; + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + Object.defineProperties(node, { usedBytes: { get: function() { + return this.contents.length; + } } }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach((key) => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i); + } + } + return size; + } + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position); + }; + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, GROWABLE_HEAP_I8(), ptr, length, position); + return { ptr, allocated: true }; + }; + node.stream_ops = stream_ops; + return node; + } }; + var UTF8ToString = (ptr, maxBytesToRead) => { + ptr >>>= 0; + return ptr ? UTF8ArrayToString(GROWABLE_HEAP_U8(), ptr, maxBytesToRead) : ""; + }; + var SYSCALLS = { DEFAULT_POLLMASK: 5, calculateAt: function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44); + } + return dir; + } + return PATH.join2(dir, path); + }, doStat: function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54; + } + throw e; + } + GROWABLE_HEAP_I32()[buf >>> 2] = stat.dev; + GROWABLE_HEAP_I32()[buf + 4 >>> 2] = stat.mode; + GROWABLE_HEAP_U32()[buf + 8 >>> 2] = stat.nlink; + GROWABLE_HEAP_I32()[buf + 12 >>> 2] = stat.uid; + GROWABLE_HEAP_I32()[buf + 16 >>> 2] = stat.gid; + GROWABLE_HEAP_I32()[buf + 20 >>> 2] = stat.rdev; + tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[buf + 24 >>> 2] = tempI64[0], GROWABLE_HEAP_I32()[buf + 28 >>> 2] = tempI64[1]; + GROWABLE_HEAP_I32()[buf + 32 >>> 2] = 4096; + GROWABLE_HEAP_I32()[buf + 36 >>> 2] = stat.blocks; + var atime = stat.atime.getTime(); + var mtime = stat.mtime.getTime(); + var ctime = stat.ctime.getTime(); + tempI64 = [Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[buf + 40 >>> 2] = tempI64[0], GROWABLE_HEAP_I32()[buf + 44 >>> 2] = tempI64[1]; + GROWABLE_HEAP_U32()[buf + 48 >>> 2] = atime % 1e3 * 1e3; + tempI64 = [Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[buf + 56 >>> 2] = tempI64[0], GROWABLE_HEAP_I32()[buf + 60 >>> 2] = tempI64[1]; + GROWABLE_HEAP_U32()[buf + 64 >>> 2] = mtime % 1e3 * 1e3; + tempI64 = [Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[buf + 72 >>> 2] = tempI64[0], GROWABLE_HEAP_I32()[buf + 76 >>> 2] = tempI64[1]; + GROWABLE_HEAP_U32()[buf + 80 >>> 2] = ctime % 1e3 * 1e3; + tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[buf + 88 >>> 2] = tempI64[0], GROWABLE_HEAP_I32()[buf + 92 >>> 2] = tempI64[1]; + return 0; + }, doMsync: function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + return 0; + } + var buffer = GROWABLE_HEAP_U8().slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + }, varargs: void 0, get() { + SYSCALLS.varargs += 4; + var ret = GROWABLE_HEAP_I32()[SYSCALLS.varargs - 4 >>> 2]; + return ret; + }, getStr(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, getStreamFromFD: function(fd) { + var stream = FS.getStreamChecked(fd); + return stream; + } }; + function _proc_exit(code) { + if (ENVIRONMENT_IS_PTHREAD) + return proxyToMainThread(1, 1, code); + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + PThread.terminateAllThreads(); + if (Module["onExit"]) + Module["onExit"](code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); + } + var exitJS = (status, implicit) => { + EXITSTATUS = status; + if (ENVIRONMENT_IS_PTHREAD) { + exitOnMainThread(status); + throw "unwind"; + } + _proc_exit(status); + }; + var _exit = exitJS; + var handleException = (e) => { + if (e instanceof ExitStatus || e == "unwind") { + return EXITSTATUS; + } + quit_(1, e); + }; + var PThread = { unusedWorkers: [], runningWorkers: [], tlsInitFunctions: [], pthreads: {}, init: function() { + if (ENVIRONMENT_IS_PTHREAD) { + PThread.initWorker(); + } else { + PThread.initMainThread(); + } + }, initMainThread: function() { + var pthreadPoolSize = navigator.hardwareConcurrency; + while (pthreadPoolSize--) { + PThread.allocateUnusedWorker(); + } + addOnPreRun(() => { + addRunDependency(); + PThread.loadWasmModuleToAllWorkers(() => removeRunDependency()); + }); + }, initWorker: function() { + noExitRuntime = false; + }, setExitStatus: function(status) { + EXITSTATUS = status; + }, terminateAllThreads__deps: ["$terminateWorker"], terminateAllThreads: function() { + for (var worker of PThread.runningWorkers) { + terminateWorker(worker); + } + for (var worker of PThread.unusedWorkers) { + terminateWorker(worker); + } + PThread.unusedWorkers = []; + PThread.runningWorkers = []; + PThread.pthreads = []; + }, returnWorkerToPool: function(worker) { + var pthread_ptr = worker.pthread_ptr; + delete PThread.pthreads[pthread_ptr]; + PThread.unusedWorkers.push(worker); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker), 1); + worker.pthread_ptr = 0; + __emscripten_thread_free_data(pthread_ptr); + }, receiveObjectTransfer: function(data) { + }, threadInitTLS: function() { + PThread.tlsInitFunctions.forEach((f) => f()); + }, loadWasmModuleToWorker: (worker) => new Promise((onFinishedLoading) => { + worker.onmessage = (e) => { + var d = e["data"]; + var cmd = d["cmd"]; + if (d["targetThread"] && d["targetThread"] != _pthread_self()) { + var targetWorker = PThread.pthreads[d.targetThread]; + if (targetWorker) { + targetWorker.postMessage(d, d["transferList"]); + } else { + err('Internal error! Worker sent a message "' + cmd + '" to target pthread ' + d["targetThread"] + ", but that thread no longer exists!"); + } + return; + } + if (cmd === "checkMailbox") { + checkMailbox(); + } else if (cmd === "spawnThread") { + spawnThread(d); + } else if (cmd === "cleanupThread") { + cleanupThread(d["thread"]); + } else if (cmd === "killThread") { + killThread(d["thread"]); + } else if (cmd === "cancelThread") { + cancelThread(d["thread"]); + } else if (cmd === "loaded") { + worker.loaded = true; + onFinishedLoading(worker); + } else if (cmd === "alert") { + alert("Thread " + d["threadId"] + ": " + d["text"]); + } else if (d.target === "setimmediate") { + worker.postMessage(d); + } else if (cmd === "callHandler") { + Module[d["handler"]](...d["args"]); + } else if (cmd) { + err("worker sent an unknown command " + cmd); + } + }; + worker.onerror = (e) => { + var message = "worker sent an error!"; + err(message + " " + e.filename + ":" + e.lineno + ": " + e.message); + throw e; + }; + var handlers = []; + var knownHandlers = ["onExit", "onAbort", "print", "printErr"]; + for (var handler of knownHandlers) { + if (Module.hasOwnProperty(handler)) { + handlers.push(handler); + } + } + worker.postMessage({ "cmd": "load", "handlers": handlers, "urlOrBlob": Module["mainScriptUrlOrBlob"] || _scriptDir, "wasmMemory": wasmMemory, "wasmModule": wasmModule }); + }), loadWasmModuleToAllWorkers: function(onMaybeReady) { + if (ENVIRONMENT_IS_PTHREAD) { + return onMaybeReady(); + } + let pthreadPoolReady = Promise.all(PThread.unusedWorkers.map(PThread.loadWasmModuleToWorker)); + pthreadPoolReady.then(onMaybeReady); + }, allocateUnusedWorker: function() { + var worker; + var pthreadMainJs = locateFile("web-ifc-mt.worker.js"); + worker = new Worker(pthreadMainJs); + PThread.unusedWorkers.push(worker); + }, getNewWorker: function() { + if (PThread.unusedWorkers.length == 0) { + PThread.allocateUnusedWorker(); + PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0]); + } + return PThread.unusedWorkers.pop(); + } }; + Module["PThread"] = PThread; + var callRuntimeCallbacks = (callbacks) => { + while (callbacks.length > 0) { + callbacks.shift()(Module); + } + }; + function establishStackSpace() { + var pthread_ptr = _pthread_self(); + var stackHigh = GROWABLE_HEAP_I32()[pthread_ptr + 52 >>> 2]; + var stackSize = GROWABLE_HEAP_I32()[pthread_ptr + 56 >>> 2]; + var stackLow = stackHigh - stackSize; + _emscripten_stack_set_limits(stackHigh, stackLow); + stackRestore(stackHigh); + } + Module["establishStackSpace"] = establishStackSpace; + function exitOnMainThread(returnCode) { + if (ENVIRONMENT_IS_PTHREAD) + return proxyToMainThread(2, 0, returnCode); + _exit(returnCode); + } + var wasmTableMirror = []; + var getWasmTableEntry = (funcPtr) => { + var func = wasmTableMirror[funcPtr]; + if (!func) { + if (funcPtr >= wasmTableMirror.length) + wasmTableMirror.length = funcPtr + 1; + wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr); + } + return func; + }; + function invokeEntryPoint(ptr, arg) { + var result = getWasmTableEntry(ptr)(arg); + function finish(result2) { + if (keepRuntimeAlive()) { + PThread.setExitStatus(result2); + } else { + __emscripten_thread_exit(result2); + } + } + finish(result); + } + Module["invokeEntryPoint"] = invokeEntryPoint; + function registerTLSInit(tlsInitFunc) { + PThread.tlsInitFunctions.push(tlsInitFunc); + } + function ExceptionInfo(excPtr) { + this.excPtr = excPtr; + this.ptr = excPtr - 24; + this.set_type = function(type) { + GROWABLE_HEAP_U32()[this.ptr + 4 >>> 2] = type; + }; + this.get_type = function() { + return GROWABLE_HEAP_U32()[this.ptr + 4 >>> 2]; + }; + this.set_destructor = function(destructor) { + GROWABLE_HEAP_U32()[this.ptr + 8 >>> 2] = destructor; + }; + this.get_destructor = function() { + return GROWABLE_HEAP_U32()[this.ptr + 8 >>> 2]; + }; + this.set_caught = function(caught) { + caught = caught ? 1 : 0; + GROWABLE_HEAP_I8()[this.ptr + 12 >>> 0] = caught; + }; + this.get_caught = function() { + return GROWABLE_HEAP_I8()[this.ptr + 12 >>> 0] != 0; + }; + this.set_rethrown = function(rethrown) { + rethrown = rethrown ? 1 : 0; + GROWABLE_HEAP_I8()[this.ptr + 13 >>> 0] = rethrown; + }; + this.get_rethrown = function() { + return GROWABLE_HEAP_I8()[this.ptr + 13 >>> 0] != 0; + }; + this.init = function(type, destructor) { + this.set_adjusted_ptr(0); + this.set_type(type); + this.set_destructor(destructor); + }; + this.set_adjusted_ptr = function(adjustedPtr) { + GROWABLE_HEAP_U32()[this.ptr + 16 >>> 2] = adjustedPtr; + }; + this.get_adjusted_ptr = function() { + return GROWABLE_HEAP_U32()[this.ptr + 16 >>> 2]; + }; + this.get_exception_ptr = function() { + var isPointer = ___cxa_is_pointer_type(this.get_type()); + if (isPointer) { + return GROWABLE_HEAP_U32()[this.excPtr >>> 2]; + } + var adjusted = this.get_adjusted_ptr(); + if (adjusted !== 0) + return adjusted; + return this.excPtr; + }; + } + var exceptionLast = 0; + function convertI32PairToI53Checked(lo, hi) { + return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN; + } + function ___cxa_throw(ptr, type, destructor) { + ptr >>>= 0; + type >>>= 0; + destructor >>>= 0; + var info = new ExceptionInfo(ptr); + info.init(type, destructor); + exceptionLast = ptr; + throw exceptionLast; + } + function ___emscripten_init_main_thread_js(tb) { + tb >>>= 0; + __emscripten_thread_init(tb, !ENVIRONMENT_IS_WORKER, 1, !ENVIRONMENT_IS_WEB, 5242880, false); + PThread.threadInitTLS(); + } + function ___emscripten_thread_cleanup(thread) { + thread >>>= 0; + if (!ENVIRONMENT_IS_PTHREAD) + cleanupThread(thread); + else + postMessage({ "cmd": "cleanupThread", "thread": thread }); + } + var tupleRegistrations = {}; + function runDestructors(destructors) { + while (destructors.length) { + var ptr = destructors.pop(); + var del = destructors.pop(); + del(ptr); + } + } + function simpleReadValueFromPointer(pointer) { + return this["fromWireType"](GROWABLE_HEAP_I32()[pointer >>> 2]); + } + var awaitingDependencies = {}; + var registeredTypes = {}; + var typeDependencies = {}; + var InternalError = void 0; + function throwInternalError(message) { + throw new InternalError(message); + } + function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) { + myTypes.forEach(function(type) { + typeDependencies[type] = dependentTypes; + }); + function onComplete(typeConverters2) { + var myTypeConverters = getTypeConverters(typeConverters2); + if (myTypeConverters.length !== myTypes.length) { + throwInternalError("Mismatched type converter count"); + } + for (var i = 0; i < myTypes.length; ++i) { + registerType(myTypes[i], myTypeConverters[i]); + } + } + var typeConverters = new Array(dependentTypes.length); + var unregisteredTypes = []; + var registered = 0; + dependentTypes.forEach((dt, i) => { + if (registeredTypes.hasOwnProperty(dt)) { + typeConverters[i] = registeredTypes[dt]; + } else { + unregisteredTypes.push(dt); + if (!awaitingDependencies.hasOwnProperty(dt)) { + awaitingDependencies[dt] = []; + } + awaitingDependencies[dt].push(() => { + typeConverters[i] = registeredTypes[dt]; + ++registered; + if (registered === unregisteredTypes.length) { + onComplete(typeConverters); + } + }); + } + }); + if (unregisteredTypes.length === 0) { + onComplete(typeConverters); + } + } + function __embind_finalize_value_array(rawTupleType) { + rawTupleType >>>= 0; + var reg = tupleRegistrations[rawTupleType]; + delete tupleRegistrations[rawTupleType]; + var elements = reg.elements; + var elementsLength = elements.length; + var elementTypes = elements.map(function(elt) { + return elt.getterReturnType; + }).concat(elements.map(function(elt) { + return elt.setterArgumentType; + })); + var rawConstructor = reg.rawConstructor; + var rawDestructor = reg.rawDestructor; + whenDependentTypesAreResolved([rawTupleType], elementTypes, function(elementTypes2) { + elements.forEach((elt, i) => { + var getterReturnType = elementTypes2[i]; + var getter = elt.getter; + var getterContext = elt.getterContext; + var setterArgumentType = elementTypes2[i + elementsLength]; + var setter = elt.setter; + var setterContext = elt.setterContext; + elt.read = (ptr) => getterReturnType["fromWireType"](getter(getterContext, ptr)); + elt.write = (ptr, o) => { + var destructors = []; + setter(setterContext, ptr, setterArgumentType["toWireType"](destructors, o)); + runDestructors(destructors); + }; + }); + return [{ name: reg.name, "fromWireType": function(ptr) { + var rv = new Array(elementsLength); + for (var i = 0; i < elementsLength; ++i) { + rv[i] = elements[i].read(ptr); + } + rawDestructor(ptr); + return rv; + }, "toWireType": function(destructors, o) { + if (elementsLength !== o.length) { + throw new TypeError(`Incorrect number of tuple elements for ${reg.name}: expected=${elementsLength}, actual=${o.length}`); + } + var ptr = rawConstructor(); + for (var i = 0; i < elementsLength; ++i) { + elements[i].write(ptr, o[i]); + } + if (destructors !== null) { + destructors.push(rawDestructor, ptr); + } + return ptr; + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: rawDestructor }]; + }); + } + var structRegistrations = {}; + var __embind_finalize_value_object = function(structType) { + structType >>>= 0; + var reg = structRegistrations[structType]; + delete structRegistrations[structType]; + var rawConstructor = reg.rawConstructor; + var rawDestructor = reg.rawDestructor; + var fieldRecords = reg.fields; + var fieldTypes = fieldRecords.map((field) => field.getterReturnType).concat(fieldRecords.map((field) => field.setterArgumentType)); + whenDependentTypesAreResolved([structType], fieldTypes, (fieldTypes2) => { + var fields = {}; + fieldRecords.forEach((field, i) => { + var fieldName = field.fieldName; + var getterReturnType = fieldTypes2[i]; + var getter = field.getter; + var getterContext = field.getterContext; + var setterArgumentType = fieldTypes2[i + fieldRecords.length]; + var setter = field.setter; + var setterContext = field.setterContext; + fields[fieldName] = { read: (ptr) => getterReturnType["fromWireType"](getter(getterContext, ptr)), write: (ptr, o) => { + var destructors = []; + setter(setterContext, ptr, setterArgumentType["toWireType"](destructors, o)); + runDestructors(destructors); + } }; + }); + return [{ name: reg.name, "fromWireType": function(ptr) { + var rv = {}; + for (var i in fields) { + rv[i] = fields[i].read(ptr); + } + rawDestructor(ptr); + return rv; + }, "toWireType": function(destructors, o) { + for (var fieldName in fields) { + if (!(fieldName in o)) { + throw new TypeError(`Missing field: "${fieldName}"`); + } + } + var ptr = rawConstructor(); + for (fieldName in fields) { + fields[fieldName].write(ptr, o[fieldName]); + } + if (destructors !== null) { + destructors.push(rawDestructor, ptr); + } + return ptr; + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: rawDestructor }]; + }); + }; + function __embind_register_bigint(primitiveType, name, size, minRange, maxRange) { + } + function getShiftFromSize(size) { + switch (size) { + case 1: + return 0; + case 2: + return 1; + case 4: + return 2; + case 8: + return 3; + default: + throw new TypeError(`Unknown type size: ${size}`); + } + } + function embind_init_charCodes() { + var codes = new Array(256); + for (var i = 0; i < 256; ++i) { + codes[i] = String.fromCharCode(i); + } + embind_charCodes = codes; + } + var embind_charCodes = void 0; + function readLatin1String(ptr) { + var ret = ""; + var c = ptr; + while (GROWABLE_HEAP_U8()[c >>> 0]) { + ret += embind_charCodes[GROWABLE_HEAP_U8()[c++ >>> 0]]; + } + return ret; + } + var BindingError = void 0; + function throwBindingError(message) { + throw new BindingError(message); + } + function sharedRegisterType(rawType, registeredInstance, options = {}) { + var name = registeredInstance.name; + if (!rawType) { + throwBindingError(`type "${name}" must have a positive integer typeid pointer`); + } + if (registeredTypes.hasOwnProperty(rawType)) { + if (options.ignoreDuplicateRegistrations) { + return; + } else { + throwBindingError(`Cannot register type '${name}' twice`); + } + } + registeredTypes[rawType] = registeredInstance; + delete typeDependencies[rawType]; + if (awaitingDependencies.hasOwnProperty(rawType)) { + var callbacks = awaitingDependencies[rawType]; + delete awaitingDependencies[rawType]; + callbacks.forEach((cb) => cb()); + } + } + function registerType(rawType, registeredInstance, options = {}) { + if (!("argPackAdvance" in registeredInstance)) { + throw new TypeError("registerType registeredInstance requires argPackAdvance"); + } + return sharedRegisterType(rawType, registeredInstance, options); + } + function __embind_register_bool(rawType, name, size, trueValue, falseValue) { + rawType >>>= 0; + name >>>= 0; + size >>>= 0; + var shift = getShiftFromSize(size); + name = readLatin1String(name); + registerType(rawType, { name, "fromWireType": function(wt) { + return !!wt; + }, "toWireType": function(destructors, o) { + return o ? trueValue : falseValue; + }, "argPackAdvance": 8, "readValueFromPointer": function(pointer) { + var heap; + if (size === 1) { + heap = GROWABLE_HEAP_I8(); + } else if (size === 2) { + heap = GROWABLE_HEAP_I16(); + } else if (size === 4) { + heap = GROWABLE_HEAP_I32(); + } else { + throw new TypeError("Unknown boolean type size: " + name); + } + return this["fromWireType"](heap[pointer >>> shift]); + }, destructorFunction: null }); + } + function ClassHandle_isAliasOf(other) { + if (!(this instanceof ClassHandle)) { + return false; + } + if (!(other instanceof ClassHandle)) { + return false; + } + var leftClass = this.$$.ptrType.registeredClass; + var left = this.$$.ptr; + var rightClass = other.$$.ptrType.registeredClass; + var right = other.$$.ptr; + while (leftClass.baseClass) { + left = leftClass.upcast(left); + leftClass = leftClass.baseClass; + } + while (rightClass.baseClass) { + right = rightClass.upcast(right); + rightClass = rightClass.baseClass; + } + return leftClass === rightClass && left === right; + } + function shallowCopyInternalPointer(o) { + return { count: o.count, deleteScheduled: o.deleteScheduled, preservePointerOnDelete: o.preservePointerOnDelete, ptr: o.ptr, ptrType: o.ptrType, smartPtr: o.smartPtr, smartPtrType: o.smartPtrType }; + } + function throwInstanceAlreadyDeleted(obj) { + function getInstanceTypeName(handle) { + return handle.$$.ptrType.registeredClass.name; + } + throwBindingError(getInstanceTypeName(obj) + " instance already deleted"); + } + var finalizationRegistry = false; + function detachFinalizer(handle) { + } + function runDestructor($$) { + if ($$.smartPtr) { + $$.smartPtrType.rawDestructor($$.smartPtr); + } else { + $$.ptrType.registeredClass.rawDestructor($$.ptr); + } + } + function releaseClassHandle($$) { + $$.count.value -= 1; + var toDelete = $$.count.value === 0; + if (toDelete) { + runDestructor($$); + } + } + function downcastPointer(ptr, ptrClass, desiredClass) { + if (ptrClass === desiredClass) { + return ptr; + } + if (desiredClass.baseClass === void 0) { + return null; + } + var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass); + if (rv === null) { + return null; + } + return desiredClass.downcast(rv); + } + var registeredPointers = {}; + function getInheritedInstanceCount() { + return Object.keys(registeredInstances).length; + } + function getLiveInheritedInstances() { + var rv = []; + for (var k in registeredInstances) { + if (registeredInstances.hasOwnProperty(k)) { + rv.push(registeredInstances[k]); + } + } + return rv; + } + var deletionQueue = []; + function flushPendingDeletes() { + while (deletionQueue.length) { + var obj = deletionQueue.pop(); + obj.$$.deleteScheduled = false; + obj["delete"](); + } + } + var delayFunction = void 0; + function setDelayFunction(fn) { + delayFunction = fn; + if (deletionQueue.length && delayFunction) { + delayFunction(flushPendingDeletes); + } + } + function init_embind() { + Module["getInheritedInstanceCount"] = getInheritedInstanceCount; + Module["getLiveInheritedInstances"] = getLiveInheritedInstances; + Module["flushPendingDeletes"] = flushPendingDeletes; + Module["setDelayFunction"] = setDelayFunction; + } + var registeredInstances = {}; + function getBasestPointer(class_, ptr) { + if (ptr === void 0) { + throwBindingError("ptr should not be undefined"); + } + while (class_.baseClass) { + ptr = class_.upcast(ptr); + class_ = class_.baseClass; + } + return ptr; + } + function getInheritedInstance(class_, ptr) { + ptr = getBasestPointer(class_, ptr); + return registeredInstances[ptr]; + } + function makeClassHandle(prototype, record) { + if (!record.ptrType || !record.ptr) { + throwInternalError("makeClassHandle requires ptr and ptrType"); + } + var hasSmartPtrType = !!record.smartPtrType; + var hasSmartPtr = !!record.smartPtr; + if (hasSmartPtrType !== hasSmartPtr) { + throwInternalError("Both smartPtrType and smartPtr must be specified"); + } + record.count = { value: 1 }; + return attachFinalizer(Object.create(prototype, { $$: { value: record } })); + } + function RegisteredPointer_fromWireType(ptr) { + var rawPointer = this.getPointee(ptr); + if (!rawPointer) { + this.destructor(ptr); + return null; + } + var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer); + if (registeredInstance !== void 0) { + if (registeredInstance.$$.count.value === 0) { + registeredInstance.$$.ptr = rawPointer; + registeredInstance.$$.smartPtr = ptr; + return registeredInstance["clone"](); + } else { + var rv = registeredInstance["clone"](); + this.destructor(ptr); + return rv; + } + } + function makeDefaultHandle() { + if (this.isSmartPointer) { + return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr }); + } else { + return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr }); + } + } + var actualType = this.registeredClass.getActualType(rawPointer); + var registeredPointerRecord = registeredPointers[actualType]; + if (!registeredPointerRecord) { + return makeDefaultHandle.call(this); + } + var toType; + if (this.isConst) { + toType = registeredPointerRecord.constPointerType; + } else { + toType = registeredPointerRecord.pointerType; + } + var dp = downcastPointer(rawPointer, this.registeredClass, toType.registeredClass); + if (dp === null) { + return makeDefaultHandle.call(this); + } + if (this.isSmartPointer) { + return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr }); + } else { + return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp }); + } + } + var attachFinalizer = function(handle) { + if (typeof FinalizationRegistry === "undefined") { + attachFinalizer = (handle2) => handle2; + return handle; + } + finalizationRegistry = new FinalizationRegistry((info) => { + releaseClassHandle(info.$$); + }); + attachFinalizer = (handle2) => { + var $$ = handle2.$$; + var hasSmartPtr = !!$$.smartPtr; + if (hasSmartPtr) { + var info = { $$ }; + finalizationRegistry.register(handle2, info, handle2); + } + return handle2; + }; + detachFinalizer = (handle2) => finalizationRegistry.unregister(handle2); + return attachFinalizer(handle); + }; + function ClassHandle_clone() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + if (this.$$.preservePointerOnDelete) { + this.$$.count.value += 1; + return this; + } else { + var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { $$: { value: shallowCopyInternalPointer(this.$$) } })); + clone.$$.count.value += 1; + clone.$$.deleteScheduled = false; + return clone; + } + } + function ClassHandle_delete() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { + throwBindingError("Object already scheduled for deletion"); + } + detachFinalizer(this); + releaseClassHandle(this.$$); + if (!this.$$.preservePointerOnDelete) { + this.$$.smartPtr = void 0; + this.$$.ptr = void 0; + } + } + function ClassHandle_isDeleted() { + return !this.$$.ptr; + } + function ClassHandle_deleteLater() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { + throwBindingError("Object already scheduled for deletion"); + } + deletionQueue.push(this); + if (deletionQueue.length === 1 && delayFunction) { + delayFunction(flushPendingDeletes); + } + this.$$.deleteScheduled = true; + return this; + } + function init_ClassHandle() { + ClassHandle.prototype["isAliasOf"] = ClassHandle_isAliasOf; + ClassHandle.prototype["clone"] = ClassHandle_clone; + ClassHandle.prototype["delete"] = ClassHandle_delete; + ClassHandle.prototype["isDeleted"] = ClassHandle_isDeleted; + ClassHandle.prototype["deleteLater"] = ClassHandle_deleteLater; + } + function ClassHandle() { + } + var char_0 = 48; + var char_9 = 57; + function makeLegalFunctionName(name) { + if (name === void 0) { + return "_unknown"; + } + name = name.replace(/[^a-zA-Z0-9_]/g, "$"); + var f = name.charCodeAt(0); + if (f >= char_0 && f <= char_9) { + return `_${name}`; + } + return name; + } + function createNamedFunction(name, body) { + name = makeLegalFunctionName(name); + return { [name]: function() { + return body.apply(this, arguments); + } }[name]; + } + function ensureOverloadTable(proto, methodName, humanName) { + if (proto[methodName].overloadTable === void 0) { + var prevFunc = proto[methodName]; + proto[methodName] = function() { + if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { + throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`); + } + return proto[methodName].overloadTable[arguments.length].apply(this, arguments); + }; + proto[methodName].overloadTable = []; + proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; + } + } + function exposePublicSymbol(name, value, numArguments) { + if (Module.hasOwnProperty(name)) { + if (numArguments === void 0 || Module[name].overloadTable !== void 0 && Module[name].overloadTable[numArguments] !== void 0) { + throwBindingError(`Cannot register public name '${name}' twice`); + } + ensureOverloadTable(Module, name, name); + if (Module.hasOwnProperty(numArguments)) { + throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`); + } + Module[name].overloadTable[numArguments] = value; + } else { + Module[name] = value; + if (numArguments !== void 0) { + Module[name].numArguments = numArguments; + } + } + } + function RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast) { + this.name = name; + this.constructor = constructor; + this.instancePrototype = instancePrototype; + this.rawDestructor = rawDestructor; + this.baseClass = baseClass; + this.getActualType = getActualType; + this.upcast = upcast; + this.downcast = downcast; + this.pureVirtualFunctions = []; + } + function upcastPointer(ptr, ptrClass, desiredClass) { + while (ptrClass !== desiredClass) { + if (!ptrClass.upcast) { + throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`); + } + ptr = ptrClass.upcast(ptr); + ptrClass = ptrClass.baseClass; + } + return ptr; + } + function constNoSmartPtrRawPointerToWireType(destructors, handle) { + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + return 0; + } + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + return ptr; + } + function genericPointerToWireType(destructors, handle) { + var ptr; + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + if (this.isSmartPointer) { + ptr = this.rawConstructor(); + if (destructors !== null) { + destructors.push(this.rawDestructor, ptr); + } + return ptr; + } else { + return 0; + } + } + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + if (!this.isConst && handle.$$.ptrType.isConst) { + throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name} to parameter type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + if (this.isSmartPointer) { + if (handle.$$.smartPtr === void 0) { + throwBindingError("Passing raw pointer to smart pointer is illegal"); + } + switch (this.sharingPolicy) { + case 0: + if (handle.$$.smartPtrType === this) { + ptr = handle.$$.smartPtr; + } else { + throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name} to parameter type ${this.name}`); + } + break; + case 1: + ptr = handle.$$.smartPtr; + break; + case 2: + if (handle.$$.smartPtrType === this) { + ptr = handle.$$.smartPtr; + } else { + var clonedHandle = handle["clone"](); + ptr = this.rawShare(ptr, Emval.toHandle(function() { + clonedHandle["delete"](); + })); + if (destructors !== null) { + destructors.push(this.rawDestructor, ptr); + } + } + break; + default: + throwBindingError("Unsupporting sharing policy"); + } + } + return ptr; + } + function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) { + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + return 0; + } + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + if (handle.$$.ptrType.isConst) { + throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + return ptr; + } + function RegisteredPointer_getPointee(ptr) { + if (this.rawGetPointee) { + ptr = this.rawGetPointee(ptr); + } + return ptr; + } + function RegisteredPointer_destructor(ptr) { + if (this.rawDestructor) { + this.rawDestructor(ptr); + } + } + function RegisteredPointer_deleteObject(handle) { + if (handle !== null) { + handle["delete"](); + } + } + function init_RegisteredPointer() { + RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee; + RegisteredPointer.prototype.destructor = RegisteredPointer_destructor; + RegisteredPointer.prototype["argPackAdvance"] = 8; + RegisteredPointer.prototype["readValueFromPointer"] = simpleReadValueFromPointer; + RegisteredPointer.prototype["deleteObject"] = RegisteredPointer_deleteObject; + RegisteredPointer.prototype["fromWireType"] = RegisteredPointer_fromWireType; + } + function RegisteredPointer(name, registeredClass, isReference, isConst, isSmartPointer, pointeeType, sharingPolicy, rawGetPointee, rawConstructor, rawShare, rawDestructor) { + this.name = name; + this.registeredClass = registeredClass; + this.isReference = isReference; + this.isConst = isConst; + this.isSmartPointer = isSmartPointer; + this.pointeeType = pointeeType; + this.sharingPolicy = sharingPolicy; + this.rawGetPointee = rawGetPointee; + this.rawConstructor = rawConstructor; + this.rawShare = rawShare; + this.rawDestructor = rawDestructor; + if (!isSmartPointer && registeredClass.baseClass === void 0) { + if (isConst) { + this["toWireType"] = constNoSmartPtrRawPointerToWireType; + this.destructorFunction = null; + } else { + this["toWireType"] = nonConstNoSmartPtrRawPointerToWireType; + this.destructorFunction = null; + } + } else { + this["toWireType"] = genericPointerToWireType; + } + } + function replacePublicSymbol(name, value, numArguments) { + if (!Module.hasOwnProperty(name)) { + throwInternalError("Replacing nonexistant public symbol"); + } + if (Module[name].overloadTable !== void 0 && numArguments !== void 0) { + Module[name].overloadTable[numArguments] = value; + } else { + Module[name] = value; + Module[name].argCount = numArguments; + } + } + var dynCallLegacy = (sig, ptr, args) => { + var f = Module["dynCall_" + sig]; + return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr); + }; + var dynCall = (sig, ptr, args) => { + if (sig.includes("j")) { + return dynCallLegacy(sig, ptr, args); + } + var rtn = getWasmTableEntry(ptr).apply(null, args); + return rtn; + }; + var getDynCaller = (sig, ptr) => { + var argCache = []; + return function() { + argCache.length = 0; + Object.assign(argCache, arguments); + return dynCall(sig, ptr, argCache); + }; + }; + function embind__requireFunction(signature, rawFunction) { + signature = readLatin1String(signature); + function makeDynCaller() { + if (signature.includes("j")) { + return getDynCaller(signature, rawFunction); + } + return getWasmTableEntry(rawFunction); + } + var fp = makeDynCaller(); + if (typeof fp != "function") { + throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`); + } + return fp; + } + function extendError(baseErrorType, errorName) { + var errorClass = createNamedFunction(errorName, function(message) { + this.name = errorName; + this.message = message; + var stack = new Error(message).stack; + if (stack !== void 0) { + this.stack = this.toString() + "\n" + stack.replace(/^Error(:[^\n]*)?\n/, ""); + } + }); + errorClass.prototype = Object.create(baseErrorType.prototype); + errorClass.prototype.constructor = errorClass; + errorClass.prototype.toString = function() { + if (this.message === void 0) { + return this.name; + } else { + return `${this.name}: ${this.message}`; + } + }; + return errorClass; + } + var UnboundTypeError = void 0; + function getTypeName(type) { + var ptr = ___getTypeName(type); + var rv = readLatin1String(ptr); + _free(ptr); + return rv; + } + function throwUnboundTypeError(message, types) { + var unboundTypes = []; + var seen = {}; + function visit(type) { + if (seen[type]) { + return; + } + if (registeredTypes[type]) { + return; + } + if (typeDependencies[type]) { + typeDependencies[type].forEach(visit); + return; + } + unboundTypes.push(type); + seen[type] = true; + } + types.forEach(visit); + throw new UnboundTypeError(`${message}: ` + unboundTypes.map(getTypeName).join([", "])); + } + function __embind_register_class(rawType, rawPointerType, rawConstPointerType, baseClassRawType, getActualTypeSignature, getActualType, upcastSignature, upcast, downcastSignature, downcast, name, destructorSignature, rawDestructor) { + rawType >>>= 0; + rawPointerType >>>= 0; + rawConstPointerType >>>= 0; + baseClassRawType >>>= 0; + getActualTypeSignature >>>= 0; + getActualType >>>= 0; + upcastSignature >>>= 0; + upcast >>>= 0; + downcastSignature >>>= 0; + downcast >>>= 0; + name >>>= 0; + destructorSignature >>>= 0; + rawDestructor >>>= 0; + name = readLatin1String(name); + getActualType = embind__requireFunction(getActualTypeSignature, getActualType); + if (upcast) { + upcast = embind__requireFunction(upcastSignature, upcast); + } + if (downcast) { + downcast = embind__requireFunction(downcastSignature, downcast); + } + rawDestructor = embind__requireFunction(destructorSignature, rawDestructor); + var legalFunctionName = makeLegalFunctionName(name); + exposePublicSymbol(legalFunctionName, function() { + throwUnboundTypeError(`Cannot construct ${name} due to unbound types`, [baseClassRawType]); + }); + whenDependentTypesAreResolved([rawType, rawPointerType, rawConstPointerType], baseClassRawType ? [baseClassRawType] : [], function(base) { + base = base[0]; + var baseClass; + var basePrototype; + if (baseClassRawType) { + baseClass = base.registeredClass; + basePrototype = baseClass.instancePrototype; + } else { + basePrototype = ClassHandle.prototype; + } + var constructor = createNamedFunction(legalFunctionName, function() { + if (Object.getPrototypeOf(this) !== instancePrototype) { + throw new BindingError("Use 'new' to construct " + name); + } + if (registeredClass.constructor_body === void 0) { + throw new BindingError(name + " has no accessible constructor"); + } + var body = registeredClass.constructor_body[arguments.length]; + if (body === void 0) { + throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`); + } + return body.apply(this, arguments); + }); + var instancePrototype = Object.create(basePrototype, { constructor: { value: constructor } }); + constructor.prototype = instancePrototype; + var registeredClass = new RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast); + if (registeredClass.baseClass) { + if (registeredClass.baseClass.__derivedClasses === void 0) { + registeredClass.baseClass.__derivedClasses = []; + } + registeredClass.baseClass.__derivedClasses.push(registeredClass); + } + var referenceConverter = new RegisteredPointer(name, registeredClass, true, false, false); + var pointerConverter = new RegisteredPointer(name + "*", registeredClass, false, false, false); + var constPointerConverter = new RegisteredPointer(name + " const*", registeredClass, false, true, false); + registeredPointers[rawType] = { pointerType: pointerConverter, constPointerType: constPointerConverter }; + replacePublicSymbol(legalFunctionName, constructor); + return [referenceConverter, pointerConverter, constPointerConverter]; + }); + } + function heap32VectorToArray(count, firstElement) { + var array = []; + for (var i = 0; i < count; i++) { + array.push(GROWABLE_HEAP_U32()[firstElement + i * 4 >>> 2]); + } + return array; + } + function newFunc(constructor, argumentList) { + if (!(constructor instanceof Function)) { + throw new TypeError(`new_ called with constructor type ${typeof constructor} which is not a function`); + } + var dummy = createNamedFunction(constructor.name || "unknownFunctionName", function() { + }); + dummy.prototype = constructor.prototype; + var obj = new dummy(); + var r = constructor.apply(obj, argumentList); + return r instanceof Object ? r : obj; + } + function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc, isAsync) { + var argCount = argTypes.length; + if (argCount < 2) { + throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!"); + } + var isClassMethodFunc = argTypes[1] !== null && classType !== null; + var needsDestructorStack = false; + for (var i = 1; i < argTypes.length; ++i) { + if (argTypes[i] !== null && argTypes[i].destructorFunction === void 0) { + needsDestructorStack = true; + break; + } + } + var returns = argTypes[0].name !== "void"; + var argsList = ""; + var argsListWired = ""; + for (var i = 0; i < argCount - 2; ++i) { + argsList += (i !== 0 ? ", " : "") + "arg" + i; + argsListWired += (i !== 0 ? ", " : "") + "arg" + i + "Wired"; + } + var invokerFnBody = ` + return function ${makeLegalFunctionName(humanName)}(${argsList}) { + if (arguments.length !== ${argCount - 2}) { + throwBindingError('function ${humanName} called with ${arguments.length} arguments, expected ${argCount - 2} args!'); + }`; + if (needsDestructorStack) { + invokerFnBody += "var destructors = [];\n"; + } + var dtorStack = needsDestructorStack ? "destructors" : "null"; + var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"]; + var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]]; + if (isClassMethodFunc) { + invokerFnBody += "var thisWired = classParam.toWireType(" + dtorStack + ", this);\n"; + } + for (var i = 0; i < argCount - 2; ++i) { + invokerFnBody += "var arg" + i + "Wired = argType" + i + ".toWireType(" + dtorStack + ", arg" + i + "); // " + argTypes[i + 2].name + "\n"; + args1.push("argType" + i); + args2.push(argTypes[i + 2]); + } + if (isClassMethodFunc) { + argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired; + } + invokerFnBody += (returns || isAsync ? "var rv = " : "") + "invoker(fn" + (argsListWired.length > 0 ? ", " : "") + argsListWired + ");\n"; + if (needsDestructorStack) { + invokerFnBody += "runDestructors(destructors);\n"; + } else { + for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; ++i) { + var paramName = i === 1 ? "thisWired" : "arg" + (i - 2) + "Wired"; + if (argTypes[i].destructorFunction !== null) { + invokerFnBody += paramName + "_dtor(" + paramName + "); // " + argTypes[i].name + "\n"; + args1.push(paramName + "_dtor"); + args2.push(argTypes[i].destructorFunction); + } + } + } + if (returns) { + invokerFnBody += "var ret = retType.fromWireType(rv);\nreturn ret;\n"; + } + invokerFnBody += "}\n"; + args1.push(invokerFnBody); + return newFunc(Function, args1).apply(null, args2); + } + function __embind_register_class_constructor(rawClassType, argCount, rawArgTypesAddr, invokerSignature, invoker, rawConstructor) { + rawClassType >>>= 0; + rawArgTypesAddr >>>= 0; + invokerSignature >>>= 0; + invoker >>>= 0; + rawConstructor >>>= 0; + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + invoker = embind__requireFunction(invokerSignature, invoker); + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = `constructor ${classType.name}`; + if (classType.registeredClass.constructor_body === void 0) { + classType.registeredClass.constructor_body = []; + } + if (classType.registeredClass.constructor_body[argCount - 1] !== void 0) { + throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount - 1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`); + } + classType.registeredClass.constructor_body[argCount - 1] = () => { + throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`, rawArgTypes); + }; + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + argTypes.splice(1, 0, null); + classType.registeredClass.constructor_body[argCount - 1] = craftInvokerFunction(humanName, argTypes, null, invoker, rawConstructor); + return []; + }); + return []; + }); + } + function __embind_register_class_function(rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, context, isPureVirtual, isAsync) { + rawClassType >>>= 0; + methodName >>>= 0; + rawArgTypesAddr >>>= 0; + invokerSignature >>>= 0; + rawInvoker >>>= 0; + context >>>= 0; + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + methodName = readLatin1String(methodName); + rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = `${classType.name}.${methodName}`; + if (methodName.startsWith("@@")) { + methodName = Symbol[methodName.substring(2)]; + } + if (isPureVirtual) { + classType.registeredClass.pureVirtualFunctions.push(methodName); + } + function unboundTypesHandler() { + throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes); + } + var proto = classType.registeredClass.instancePrototype; + var method = proto[methodName]; + if (method === void 0 || method.overloadTable === void 0 && method.className !== classType.name && method.argCount === argCount - 2) { + unboundTypesHandler.argCount = argCount - 2; + unboundTypesHandler.className = classType.name; + proto[methodName] = unboundTypesHandler; + } else { + ensureOverloadTable(proto, methodName, humanName); + proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler; + } + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context, isAsync); + if (proto[methodName].overloadTable === void 0) { + memberFunction.argCount = argCount - 2; + proto[methodName] = memberFunction; + } else { + proto[methodName].overloadTable[argCount - 2] = memberFunction; + } + return []; + }); + return []; + }); + } + function handleAllocatorInit() { + Object.assign(HandleAllocator.prototype, { get(id) { + return this.allocated[id]; + }, has(id) { + return this.allocated[id] !== void 0; + }, allocate(handle) { + var id = this.freelist.pop() || this.allocated.length; + this.allocated[id] = handle; + return id; + }, free(id) { + this.allocated[id] = void 0; + this.freelist.push(id); + } }); + } + function HandleAllocator() { + this.allocated = [void 0]; + this.freelist = []; + } + var emval_handles = new HandleAllocator(); + function __emval_decref(handle) { + handle >>>= 0; + if (handle >= emval_handles.reserved && --emval_handles.get(handle).refcount === 0) { + emval_handles.free(handle); + } + } + function count_emval_handles() { + var count = 0; + for (var i = emval_handles.reserved; i < emval_handles.allocated.length; ++i) { + if (emval_handles.allocated[i] !== void 0) { + ++count; + } + } + return count; + } + function init_emval() { + emval_handles.allocated.push({ value: void 0 }, { value: null }, { value: true }, { value: false }); + emval_handles.reserved = emval_handles.allocated.length; + Module["count_emval_handles"] = count_emval_handles; + } + var Emval = { toValue: (handle) => { + if (!handle) { + throwBindingError("Cannot use deleted val. handle = " + handle); + } + return emval_handles.get(handle).value; + }, toHandle: (value) => { + switch (value) { + case void 0: + return 1; + case null: + return 2; + case true: + return 3; + case false: + return 4; + default: { + return emval_handles.allocate({ refcount: 1, value }); + } + } + } }; + function __embind_register_emval(rawType, name) { + rawType >>>= 0; + name >>>= 0; + name = readLatin1String(name); + registerType(rawType, { name, "fromWireType": function(handle) { + var rv = Emval.toValue(handle); + __emval_decref(handle); + return rv; + }, "toWireType": function(destructors, value) { + return Emval.toHandle(value); + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: null }); + } + function enumReadValueFromPointer(name, shift, signed) { + switch (shift) { + case 0: + return function(pointer) { + var heap = signed ? GROWABLE_HEAP_I8() : GROWABLE_HEAP_U8(); + return this["fromWireType"](heap[pointer >>> 0]); + }; + case 1: + return function(pointer) { + var heap = signed ? GROWABLE_HEAP_I16() : GROWABLE_HEAP_U16(); + return this["fromWireType"](heap[pointer >>> 1]); + }; + case 2: + return function(pointer) { + var heap = signed ? GROWABLE_HEAP_I32() : GROWABLE_HEAP_U32(); + return this["fromWireType"](heap[pointer >>> 2]); + }; + default: + throw new TypeError("Unknown integer type: " + name); + } + } + function __embind_register_enum(rawType, name, size, isSigned) { + rawType >>>= 0; + name >>>= 0; + size >>>= 0; + var shift = getShiftFromSize(size); + name = readLatin1String(name); + function ctor() { + } + ctor.values = {}; + registerType(rawType, { name, constructor: ctor, "fromWireType": function(c) { + return this.constructor.values[c]; + }, "toWireType": function(destructors, c) { + return c.value; + }, "argPackAdvance": 8, "readValueFromPointer": enumReadValueFromPointer(name, shift, isSigned), destructorFunction: null }); + exposePublicSymbol(name, ctor); + } + function requireRegisteredType(rawType, humanName) { + var impl = registeredTypes[rawType]; + if (impl === void 0) { + throwBindingError(humanName + " has unknown type " + getTypeName(rawType)); + } + return impl; + } + function __embind_register_enum_value(rawEnumType, name, enumValue) { + rawEnumType >>>= 0; + name >>>= 0; + enumValue >>>= 0; + var enumType = requireRegisteredType(rawEnumType, "enum"); + name = readLatin1String(name); + var Enum = enumType.constructor; + var Value = Object.create(enumType.constructor.prototype, { value: { value: enumValue }, constructor: { value: createNamedFunction(`${enumType.name}_${name}`, function() { + }) } }); + Enum.values[enumValue] = Value; + Enum[name] = Value; + } + function embindRepr(v) { + if (v === null) { + return "null"; + } + var t = typeof v; + if (t === "object" || t === "array" || t === "function") { + return v.toString(); + } else { + return "" + v; + } + } + function floatReadValueFromPointer(name, shift) { + switch (shift) { + case 2: + return function(pointer) { + return this["fromWireType"](GROWABLE_HEAP_F32()[pointer >>> 2]); + }; + case 3: + return function(pointer) { + return this["fromWireType"](GROWABLE_HEAP_F64()[pointer >>> 3]); + }; + default: + throw new TypeError("Unknown float type: " + name); + } + } + function __embind_register_float(rawType, name, size) { + rawType >>>= 0; + name >>>= 0; + size >>>= 0; + var shift = getShiftFromSize(size); + name = readLatin1String(name); + registerType(rawType, { name, "fromWireType": function(value) { + return value; + }, "toWireType": function(destructors, value) { + return value; + }, "argPackAdvance": 8, "readValueFromPointer": floatReadValueFromPointer(name, shift), destructorFunction: null }); + } + function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn, isAsync) { + name >>>= 0; + rawArgTypesAddr >>>= 0; + signature >>>= 0; + rawInvoker >>>= 0; + fn >>>= 0; + var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + name = readLatin1String(name); + rawInvoker = embind__requireFunction(signature, rawInvoker); + exposePublicSymbol(name, function() { + throwUnboundTypeError(`Cannot call ${name} due to unbound types`, argTypes); + }, argCount - 1); + whenDependentTypesAreResolved([], argTypes, function(argTypes2) { + var invokerArgsArray = [argTypes2[0], null].concat(argTypes2.slice(1)); + replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null, rawInvoker, fn, isAsync), argCount - 1); + return []; + }); + } + function integerReadValueFromPointer(name, shift, signed) { + switch (shift) { + case 0: + return signed ? function readS8FromPointer(pointer) { + return GROWABLE_HEAP_I8()[pointer >>> 0]; + } : function readU8FromPointer(pointer) { + return GROWABLE_HEAP_U8()[pointer >>> 0]; + }; + case 1: + return signed ? function readS16FromPointer(pointer) { + return GROWABLE_HEAP_I16()[pointer >>> 1]; + } : function readU16FromPointer(pointer) { + return GROWABLE_HEAP_U16()[pointer >>> 1]; + }; + case 2: + return signed ? function readS32FromPointer(pointer) { + return GROWABLE_HEAP_I32()[pointer >>> 2]; + } : function readU32FromPointer(pointer) { + return GROWABLE_HEAP_U32()[pointer >>> 2]; + }; + default: + throw new TypeError("Unknown integer type: " + name); + } + } + function __embind_register_integer(primitiveType, name, size, minRange, maxRange) { + primitiveType >>>= 0; + name >>>= 0; + size >>>= 0; + name = readLatin1String(name); + var shift = getShiftFromSize(size); + var fromWireType = (value) => value; + if (minRange === 0) { + var bitshift = 32 - 8 * size; + fromWireType = (value) => value << bitshift >>> bitshift; + } + var isUnsignedType = name.includes("unsigned"); + var checkAssertions = (value, toTypeName) => { + }; + var toWireType; + if (isUnsignedType) { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + return value >>> 0; + }; + } else { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + return value; + }; + } + registerType(primitiveType, { name, "fromWireType": fromWireType, "toWireType": toWireType, "argPackAdvance": 8, "readValueFromPointer": integerReadValueFromPointer(name, shift, minRange !== 0), destructorFunction: null }); + } + function __embind_register_memory_view(rawType, dataTypeIndex, name) { + rawType >>>= 0; + name >>>= 0; + var typeMapping = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; + var TA = typeMapping[dataTypeIndex]; + function decodeMemoryView(handle) { + handle = handle >> 2; + var heap = GROWABLE_HEAP_U32(); + var size = heap[handle >>> 0]; + var data = heap[handle + 1 >>> 0]; + return new TA(heap.buffer, data, size); + } + name = readLatin1String(name); + registerType(rawType, { name, "fromWireType": decodeMemoryView, "argPackAdvance": 8, "readValueFromPointer": decodeMemoryView }, { ignoreDuplicateRegistrations: true }); + } + var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, GROWABLE_HEAP_U8(), outPtr, maxBytesToWrite); + function __embind_register_std_string(rawType, name) { + rawType >>>= 0; + name >>>= 0; + name = readLatin1String(name); + var stdStringIsUTF8 = name === "std::string"; + registerType(rawType, { name, "fromWireType": function(value) { + var length = GROWABLE_HEAP_U32()[value >>> 2]; + var payload = value + 4; + var str; + if (stdStringIsUTF8) { + var decodeStartPtr = payload; + for (var i = 0; i <= length; ++i) { + var currentBytePtr = payload + i; + if (i == length || GROWABLE_HEAP_U8()[currentBytePtr >>> 0] == 0) { + var maxRead = currentBytePtr - decodeStartPtr; + var stringSegment = UTF8ToString(decodeStartPtr, maxRead); + if (str === void 0) { + str = stringSegment; + } else { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + 1; + } + } + } else { + var a = new Array(length); + for (var i = 0; i < length; ++i) { + a[i] = String.fromCharCode(GROWABLE_HEAP_U8()[payload + i >>> 0]); + } + str = a.join(""); + } + _free(value); + return str; + }, "toWireType": function(destructors, value) { + if (value instanceof ArrayBuffer) { + value = new Uint8Array(value); + } + var length; + var valueIsOfTypeString = typeof value == "string"; + if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) { + throwBindingError("Cannot pass non-string to std::string"); + } + if (stdStringIsUTF8 && valueIsOfTypeString) { + length = lengthBytesUTF8(value); + } else { + length = value.length; + } + var base = _malloc(4 + length + 1); + var ptr = base + 4; + GROWABLE_HEAP_U32()[base >>> 2] = length; + if (stdStringIsUTF8 && valueIsOfTypeString) { + stringToUTF8(value, ptr, length + 1); + } else { + if (valueIsOfTypeString) { + for (var i = 0; i < length; ++i) { + var charCode = value.charCodeAt(i); + if (charCode > 255) { + _free(ptr); + throwBindingError("String has UTF-16 code units that do not fit in 8 bits"); + } + GROWABLE_HEAP_U8()[ptr + i >>> 0] = charCode; + } + } else { + for (var i = 0; i < length; ++i) { + GROWABLE_HEAP_U8()[ptr + i >>> 0] = value[i]; + } + } + } + if (destructors !== null) { + destructors.push(_free, base); + } + return base; + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: function(ptr) { + _free(ptr); + } }); + } + var UTF16Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf-16le") : void 0; + var UTF16ToString = (ptr, maxBytesToRead) => { + var endPtr = ptr; + var idx = endPtr >> 1; + var maxIdx = idx + maxBytesToRead / 2; + while (!(idx >= maxIdx) && GROWABLE_HEAP_U16()[idx >>> 0]) + ++idx; + endPtr = idx << 1; + if (endPtr - ptr > 32 && UTF16Decoder) + return UTF16Decoder.decode(GROWABLE_HEAP_U8().slice(ptr, endPtr)); + var str = ""; + for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { + var codeUnit = GROWABLE_HEAP_I16()[ptr + i * 2 >>> 1]; + if (codeUnit == 0) + break; + str += String.fromCharCode(codeUnit); + } + return str; + }; + var stringToUTF16 = (str, outPtr, maxBytesToWrite) => { + if (maxBytesToWrite === void 0) { + maxBytesToWrite = 2147483647; + } + if (maxBytesToWrite < 2) + return 0; + maxBytesToWrite -= 2; + var startPtr = outPtr; + var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + var codeUnit = str.charCodeAt(i); + GROWABLE_HEAP_I16()[outPtr >>> 1] = codeUnit; + outPtr += 2; + } + GROWABLE_HEAP_I16()[outPtr >>> 1] = 0; + return outPtr - startPtr; + }; + var lengthBytesUTF16 = (str) => str.length * 2; + var UTF32ToString = (ptr, maxBytesToRead) => { + var i = 0; + var str = ""; + while (!(i >= maxBytesToRead / 4)) { + var utf32 = GROWABLE_HEAP_I32()[ptr + i * 4 >>> 2]; + if (utf32 == 0) + break; + ++i; + if (utf32 >= 65536) { + var ch = utf32 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } else { + str += String.fromCharCode(utf32); + } + } + return str; + }; + var stringToUTF32 = (str, outPtr, maxBytesToWrite) => { + outPtr >>>= 0; + if (maxBytesToWrite === void 0) { + maxBytesToWrite = 2147483647; + } + if (maxBytesToWrite < 4) + return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 55296 && codeUnit <= 57343) { + var trailSurrogate = str.charCodeAt(++i); + codeUnit = 65536 + ((codeUnit & 1023) << 10) | trailSurrogate & 1023; + } + GROWABLE_HEAP_I32()[outPtr >>> 2] = codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) + break; + } + GROWABLE_HEAP_I32()[outPtr >>> 2] = 0; + return outPtr - startPtr; + }; + var lengthBytesUTF32 = (str) => { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 55296 && codeUnit <= 57343) + ++i; + len += 4; + } + return len; + }; + var __embind_register_std_wstring = function(rawType, charSize, name) { + rawType >>>= 0; + charSize >>>= 0; + name >>>= 0; + name = readLatin1String(name); + var decodeString, encodeString, getHeap, lengthBytesUTF, shift; + if (charSize === 2) { + decodeString = UTF16ToString; + encodeString = stringToUTF16; + lengthBytesUTF = lengthBytesUTF16; + getHeap = () => GROWABLE_HEAP_U16(); + shift = 1; + } else if (charSize === 4) { + decodeString = UTF32ToString; + encodeString = stringToUTF32; + lengthBytesUTF = lengthBytesUTF32; + getHeap = () => GROWABLE_HEAP_U32(); + shift = 2; + } + registerType(rawType, { name, "fromWireType": function(value) { + var length = GROWABLE_HEAP_U32()[value >>> 2]; + var HEAP = getHeap(); + var str; + var decodeStartPtr = value + 4; + for (var i = 0; i <= length; ++i) { + var currentBytePtr = value + 4 + i * charSize; + if (i == length || HEAP[currentBytePtr >>> shift] == 0) { + var maxReadBytes = currentBytePtr - decodeStartPtr; + var stringSegment = decodeString(decodeStartPtr, maxReadBytes); + if (str === void 0) { + str = stringSegment; + } else { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + charSize; + } + } + _free(value); + return str; + }, "toWireType": function(destructors, value) { + if (!(typeof value == "string")) { + throwBindingError(`Cannot pass non-string to C++ string type ${name}`); + } + var length = lengthBytesUTF(value); + var ptr = _malloc(4 + length + charSize); + GROWABLE_HEAP_U32()[ptr >>> 2] = length >> shift; + encodeString(value, ptr + 4, length + charSize); + if (destructors !== null) { + destructors.push(_free, ptr); + } + return ptr; + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: function(ptr) { + _free(ptr); + } }); + }; + function __embind_register_value_array(rawType, name, constructorSignature, rawConstructor, destructorSignature, rawDestructor) { + rawType >>>= 0; + name >>>= 0; + constructorSignature >>>= 0; + rawConstructor >>>= 0; + destructorSignature >>>= 0; + rawDestructor >>>= 0; + tupleRegistrations[rawType] = { name: readLatin1String(name), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), elements: [] }; + } + function __embind_register_value_array_element(rawTupleType, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) { + rawTupleType >>>= 0; + getterReturnType >>>= 0; + getterSignature >>>= 0; + getter >>>= 0; + getterContext >>>= 0; + setterArgumentType >>>= 0; + setterSignature >>>= 0; + setter >>>= 0; + setterContext >>>= 0; + tupleRegistrations[rawTupleType].elements.push({ getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext }); + } + function __embind_register_value_object(rawType, name, constructorSignature, rawConstructor, destructorSignature, rawDestructor) { + rawType >>>= 0; + name >>>= 0; + constructorSignature >>>= 0; + rawConstructor >>>= 0; + destructorSignature >>>= 0; + rawDestructor >>>= 0; + structRegistrations[rawType] = { name: readLatin1String(name), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), fields: [] }; + } + function __embind_register_value_object_field(structType, fieldName, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) { + structType >>>= 0; + fieldName >>>= 0; + getterReturnType >>>= 0; + getterSignature >>>= 0; + getter >>>= 0; + getterContext >>>= 0; + setterArgumentType >>>= 0; + setterSignature >>>= 0; + setter >>>= 0; + setterContext >>>= 0; + structRegistrations[structType].fields.push({ fieldName: readLatin1String(fieldName), getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext }); + } + function __embind_register_void(rawType, name) { + rawType >>>= 0; + name >>>= 0; + name = readLatin1String(name); + registerType(rawType, { isVoid: true, name, "argPackAdvance": 0, "fromWireType": function() { + return void 0; + }, "toWireType": function(destructors, o) { + return void 0; + } }); + } + var maybeExit = () => { + if (!keepRuntimeAlive()) { + try { + if (ENVIRONMENT_IS_PTHREAD) + __emscripten_thread_exit(EXITSTATUS); + else + _exit(EXITSTATUS); + } catch (e) { + handleException(e); + } + } + }; + var callUserCallback = (func) => { + if (ABORT) { + return; + } + try { + func(); + maybeExit(); + } catch (e) { + handleException(e); + } + }; + function __emscripten_thread_mailbox_await(pthread_ptr) { + pthread_ptr >>>= 0; + if (typeof Atomics.waitAsync === "function") { + var wait = Atomics.waitAsync(GROWABLE_HEAP_I32(), pthread_ptr >> 2, pthread_ptr); + wait.value.then(checkMailbox); + var waitingAsync = pthread_ptr + 128; + Atomics.store(GROWABLE_HEAP_I32(), waitingAsync >> 2, 1); + } + } + Module["__emscripten_thread_mailbox_await"] = __emscripten_thread_mailbox_await; + var checkMailbox = function() { + var pthread_ptr = _pthread_self(); + if (pthread_ptr) { + __emscripten_thread_mailbox_await(pthread_ptr); + callUserCallback(() => __emscripten_check_mailbox()); + } + }; + Module["checkMailbox"] = checkMailbox; + var __emscripten_notify_mailbox_postmessage = function(targetThreadId, currThreadId, mainThreadId) { + targetThreadId >>>= 0; + currThreadId >>>= 0; + if (targetThreadId == currThreadId) { + setTimeout(() => checkMailbox()); + } else if (ENVIRONMENT_IS_PTHREAD) { + postMessage({ "targetThread": targetThreadId, "cmd": "checkMailbox" }); + } else { + var worker = PThread.pthreads[targetThreadId]; + if (!worker) { + return; + } + worker.postMessage({ "cmd": "checkMailbox" }); + } + }; + function __emscripten_set_offscreencanvas_size(target, width, height) { + return -1; + } + function __emscripten_thread_set_strongref(thread) { + } + function __emval_as(handle, returnType, destructorsRef) { + handle >>>= 0; + returnType >>>= 0; + destructorsRef >>>= 0; + handle = Emval.toValue(handle); + returnType = requireRegisteredType(returnType, "emval::as"); + var destructors = []; + var rd = Emval.toHandle(destructors); + GROWABLE_HEAP_U32()[destructorsRef >>> 2] = rd; + return returnType["toWireType"](destructors, handle); + } + function emval_lookupTypes(argCount, argTypes) { + var a = new Array(argCount); + for (var i = 0; i < argCount; ++i) { + a[i] = requireRegisteredType(GROWABLE_HEAP_U32()[argTypes + i * 4 >>> 2], "parameter " + i); + } + return a; + } + function __emval_call(handle, argCount, argTypes, argv) { + handle >>>= 0; + argTypes >>>= 0; + argv >>>= 0; + handle = Emval.toValue(handle); + var types = emval_lookupTypes(argCount, argTypes); + var args = new Array(argCount); + for (var i = 0; i < argCount; ++i) { + var type = types[i]; + args[i] = type["readValueFromPointer"](argv); + argv += type["argPackAdvance"]; + } + var rv = handle.apply(void 0, args); + return Emval.toHandle(rv); + } + var emval_symbols = {}; + function getStringOrSymbol(address) { + var symbol = emval_symbols[address]; + if (symbol === void 0) { + return readLatin1String(address); + } + return symbol; + } + function emval_get_global() { + if (typeof globalThis == "object") { + return globalThis; + } + return function() { + return Function; + }()("return this")(); + } + function __emval_get_global(name) { + name >>>= 0; + if (name === 0) { + return Emval.toHandle(emval_get_global()); + } else { + name = getStringOrSymbol(name); + return Emval.toHandle(emval_get_global()[name]); + } + } + function __emval_get_property(handle, key) { + handle >>>= 0; + key >>>= 0; + handle = Emval.toValue(handle); + key = Emval.toValue(key); + return Emval.toHandle(handle[key]); + } + function __emval_incref(handle) { + handle >>>= 0; + if (handle > 4) { + emval_handles.get(handle).refcount += 1; + } + } + function __emval_instanceof(object, constructor) { + object >>>= 0; + constructor >>>= 0; + object = Emval.toValue(object); + constructor = Emval.toValue(constructor); + return object instanceof constructor; + } + function __emval_is_number(handle) { + handle >>>= 0; + handle = Emval.toValue(handle); + return typeof handle == "number"; + } + function __emval_is_string(handle) { + handle >>>= 0; + handle = Emval.toValue(handle); + return typeof handle == "string"; + } + function __emval_new_array() { + return Emval.toHandle([]); + } + function __emval_new_cstring(v) { + v >>>= 0; + return Emval.toHandle(getStringOrSymbol(v)); + } + function __emval_new_object() { + return Emval.toHandle({}); + } + function __emval_run_destructors(handle) { + handle >>>= 0; + var destructors = Emval.toValue(handle); + runDestructors(destructors); + __emval_decref(handle); + } + function __emval_set_property(handle, key, value) { + handle >>>= 0; + key >>>= 0; + value >>>= 0; + handle = Emval.toValue(handle); + key = Emval.toValue(key); + value = Emval.toValue(value); + handle[key] = value; + } + function __emval_take_value(type, arg) { + type >>>= 0; + arg >>>= 0; + type = requireRegisteredType(type, "_emval_take_value"); + var v = type["readValueFromPointer"](arg); + return Emval.toHandle(v); + } + var _abort = () => { + abort(""); + }; + function _emscripten_check_blocking_allowed() { + } + var runtimeKeepalivePush = () => { + runtimeKeepaliveCounter += 1; + }; + var _emscripten_exit_with_live_runtime = () => { + runtimeKeepalivePush(); + throw "unwind"; + }; + var _emscripten_get_now; + _emscripten_get_now = () => performance.timeOrigin + performance.now(); + var withStackSave = (f) => { + var stack = stackSave(); + var ret = f(); + stackRestore(stack); + return ret; + }; + var proxyToMainThread = function(index, sync) { + var numCallArgs = arguments.length - 2; + var outerArgs = arguments; + return withStackSave(() => { + var serializedNumCallArgs = numCallArgs; + var args = stackAlloc(serializedNumCallArgs * 8); + var b = args >> 3; + for (var i = 0; i < numCallArgs; i++) { + var arg = outerArgs[2 + i]; + GROWABLE_HEAP_F64()[b + i >>> 0] = arg; + } + return __emscripten_run_in_main_runtime_thread_js(index, serializedNumCallArgs, args, sync); + }); + }; + var emscripten_receive_on_main_thread_js_callArgs = []; + function _emscripten_receive_on_main_thread_js(index, callingThread, numCallArgs, args) { + callingThread >>>= 0; + args >>>= 0; + PThread.currentProxiedOperationCallerThread = callingThread; + emscripten_receive_on_main_thread_js_callArgs.length = numCallArgs; + var b = args >> 3; + for (var i = 0; i < numCallArgs; i++) { + emscripten_receive_on_main_thread_js_callArgs[i] = GROWABLE_HEAP_F64()[b + i >>> 0]; + } + var func = proxiedFunctionTable[index]; + return func.apply(null, emscripten_receive_on_main_thread_js_callArgs); + } + var getHeapMax = () => 4294901760; + var growMemory = (size) => { + var b = wasmMemory.buffer; + var pages = size - b.byteLength + 65535 >>> 16; + try { + wasmMemory.grow(pages); + updateMemoryViews(); + return 1; + } catch (e) { + } + }; + function _emscripten_resize_heap(requestedSize) { + requestedSize >>>= 0; + var oldSize = GROWABLE_HEAP_U8().length; + if (requestedSize <= oldSize) { + return false; + } + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + return false; + } + var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + var replacement = growMemory(newSize); + if (replacement) { + return true; + } + } + return false; + } + var ENV = {}; + var getExecutableName = () => thisProgram || "./this.program"; + var getEnvStrings = () => { + if (!getEnvStrings.strings) { + var lang = (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + var env = { "USER": "web_user", "LOGNAME": "web_user", "PATH": "/", "PWD": "/", "HOME": "/home/web_user", "LANG": lang, "_": getExecutableName() }; + for (var x in ENV) { + if (ENV[x] === void 0) + delete env[x]; + else + env[x] = ENV[x]; + } + var strings = []; + for (var x in env) { + strings.push(`${x}=${env[x]}`); + } + getEnvStrings.strings = strings; + } + return getEnvStrings.strings; + }; + var stringToAscii = (str, buffer) => { + for (var i = 0; i < str.length; ++i) { + GROWABLE_HEAP_I8()[buffer++ >>> 0] = str.charCodeAt(i); + } + GROWABLE_HEAP_I8()[buffer >>> 0] = 0; + }; + function _environ_get(__environ, environ_buf) { + if (ENVIRONMENT_IS_PTHREAD) + return proxyToMainThread(3, 1, __environ, environ_buf); + __environ >>>= 0; + environ_buf >>>= 0; + var bufSize = 0; + getEnvStrings().forEach(function(string, i) { + var ptr = environ_buf + bufSize; + GROWABLE_HEAP_U32()[__environ + i * 4 >>> 2] = ptr; + stringToAscii(string, ptr); + bufSize += string.length + 1; + }); + return 0; + } + function _environ_sizes_get(penviron_count, penviron_buf_size) { + if (ENVIRONMENT_IS_PTHREAD) + return proxyToMainThread(4, 1, penviron_count, penviron_buf_size); + penviron_count >>>= 0; + penviron_buf_size >>>= 0; + var strings = getEnvStrings(); + GROWABLE_HEAP_U32()[penviron_count >>> 2] = strings.length; + var bufSize = 0; + strings.forEach(function(string) { + bufSize += string.length + 1; + }); + GROWABLE_HEAP_U32()[penviron_buf_size >>> 2] = bufSize; + return 0; + } + function _fd_close(fd) { + if (ENVIRONMENT_IS_PTHREAD) + return proxyToMainThread(5, 1, fd); + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) + throw e; + return e.errno; + } + } + var doReadv = (stream, iov, iovcnt, offset) => { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = GROWABLE_HEAP_U32()[iov >>> 2]; + var len = GROWABLE_HEAP_U32()[iov + 4 >>> 2]; + iov += 8; + var curr = FS.read(stream, GROWABLE_HEAP_I8(), ptr, len, offset); + if (curr < 0) + return -1; + ret += curr; + if (curr < len) + break; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; + }; + function _fd_read(fd, iov, iovcnt, pnum) { + if (ENVIRONMENT_IS_PTHREAD) + return proxyToMainThread(6, 1, fd, iov, iovcnt, pnum); + iov >>>= 0; + iovcnt >>>= 0; + pnum >>>= 0; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + GROWABLE_HEAP_U32()[pnum >>> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) + throw e; + return e.errno; + } + } + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + if (ENVIRONMENT_IS_PTHREAD) + return proxyToMainThread(7, 1, fd, offset_low, offset_high, whence, newOffset); + var offset = convertI32PairToI53Checked(offset_low, offset_high); + newOffset >>>= 0; + try { + if (isNaN(offset)) + return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + FS.llseek(stream, offset, whence); + tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[newOffset >>> 2] = tempI64[0], GROWABLE_HEAP_I32()[newOffset + 4 >>> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) + stream.getdents = null; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) + throw e; + return e.errno; + } + } + var doWritev = (stream, iov, iovcnt, offset) => { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = GROWABLE_HEAP_U32()[iov >>> 2]; + var len = GROWABLE_HEAP_U32()[iov + 4 >>> 2]; + iov += 8; + var curr = FS.write(stream, GROWABLE_HEAP_I8(), ptr, len, offset); + if (curr < 0) + return -1; + ret += curr; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; + }; + function _fd_write(fd, iov, iovcnt, pnum) { + if (ENVIRONMENT_IS_PTHREAD) + return proxyToMainThread(8, 1, fd, iov, iovcnt, pnum); + iov >>>= 0; + iovcnt >>>= 0; + pnum >>>= 0; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + GROWABLE_HEAP_U32()[pnum >>> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) + throw e; + return e.errno; + } + } + var isLeapYear = (year) => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); + var arraySum = (array, index) => { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]) { + } + return sum; + }; + var MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + var MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + var addDays = (date, days) => { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1); + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1); + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate; + } + } + return newDate; + }; + var writeArrayToMemory = (array, buffer) => { + GROWABLE_HEAP_I8().set(array, buffer >>> 0); + }; + function _strftime(s, maxsize, format, tm) { + s >>>= 0; + maxsize >>>= 0; + format >>>= 0; + tm >>>= 0; + var tm_zone = GROWABLE_HEAP_I32()[tm + 40 >>> 2]; + var date = { tm_sec: GROWABLE_HEAP_I32()[tm >>> 2], tm_min: GROWABLE_HEAP_I32()[tm + 4 >>> 2], tm_hour: GROWABLE_HEAP_I32()[tm + 8 >>> 2], tm_mday: GROWABLE_HEAP_I32()[tm + 12 >>> 2], tm_mon: GROWABLE_HEAP_I32()[tm + 16 >>> 2], tm_year: GROWABLE_HEAP_I32()[tm + 20 >>> 2], tm_wday: GROWABLE_HEAP_I32()[tm + 24 >>> 2], tm_yday: GROWABLE_HEAP_I32()[tm + 28 >>> 2], tm_isdst: GROWABLE_HEAP_I32()[tm + 32 >>> 2], tm_gmtoff: GROWABLE_HEAP_I32()[tm + 36 >>> 2], tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { "%c": "%a %b %d %H:%M:%S %Y", "%D": "%m/%d/%y", "%F": "%Y-%m-%d", "%h": "%b", "%r": "%I:%M:%S %p", "%R": "%H:%M", "%T": "%H:%M:%S", "%x": "%m/%d/%y", "%X": "%H:%M:%S", "%Ec": "%c", "%EC": "%C", "%Ex": "%m/%d/%y", "%EX": "%H:%M:%S", "%Ey": "%y", "%EY": "%Y", "%Od": "%d", "%Oe": "%e", "%OH": "%H", "%OI": "%I", "%Om": "%m", "%OM": "%M", "%OS": "%S", "%Ou": "%u", "%OU": "%U", "%OV": "%V", "%Ow": "%w", "%OW": "%W", "%Oy": "%y" }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]); + } + var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; + var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + function leadingSomething(value, digits, character) { + var str = typeof value == "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str; + } + return str; + } + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0"); + } + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0; + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()); + } + } + return compare; + } + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + case 1: + return janFourth; + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30); + } + } + function getWeekBasedYear(date2) { + var thisDate = addDays(new Date(date2.tm_year + 1900, 0, 1), date2.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1; + } + return thisDate.getFullYear(); + } + return thisDate.getFullYear() - 1; + } + var EXPANSION_RULES_2 = { "%a": (date2) => WEEKDAYS[date2.tm_wday].substring(0, 3), "%A": (date2) => WEEKDAYS[date2.tm_wday], "%b": (date2) => MONTHS[date2.tm_mon].substring(0, 3), "%B": (date2) => MONTHS[date2.tm_mon], "%C": (date2) => { + var year = date2.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2); + }, "%d": (date2) => leadingNulls(date2.tm_mday, 2), "%e": (date2) => leadingSomething(date2.tm_mday, 2, " "), "%g": (date2) => getWeekBasedYear(date2).toString().substring(2), "%G": (date2) => getWeekBasedYear(date2), "%H": (date2) => leadingNulls(date2.tm_hour, 2), "%I": (date2) => { + var twelveHour = date2.tm_hour; + if (twelveHour == 0) + twelveHour = 12; + else if (twelveHour > 12) + twelveHour -= 12; + return leadingNulls(twelveHour, 2); + }, "%j": (date2) => leadingNulls(date2.tm_mday + arraySum(isLeapYear(date2.tm_year + 1900) ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR, date2.tm_mon - 1), 3), "%m": (date2) => leadingNulls(date2.tm_mon + 1, 2), "%M": (date2) => leadingNulls(date2.tm_min, 2), "%n": () => "\n", "%p": (date2) => { + if (date2.tm_hour >= 0 && date2.tm_hour < 12) { + return "AM"; + } + return "PM"; + }, "%S": (date2) => leadingNulls(date2.tm_sec, 2), "%t": () => " ", "%u": (date2) => date2.tm_wday || 7, "%U": (date2) => { + var days = date2.tm_yday + 7 - date2.tm_wday; + return leadingNulls(Math.floor(days / 7), 2); + }, "%V": (date2) => { + var val = Math.floor((date2.tm_yday + 7 - (date2.tm_wday + 6) % 7) / 7); + if ((date2.tm_wday + 371 - date2.tm_yday - 2) % 7 <= 2) { + val++; + } + if (!val) { + val = 52; + var dec31 = (date2.tm_wday + 7 - date2.tm_yday - 1) % 7; + if (dec31 == 4 || dec31 == 5 && isLeapYear(date2.tm_year % 400 - 1)) { + val++; + } + } else if (val == 53) { + var jan1 = (date2.tm_wday + 371 - date2.tm_yday) % 7; + if (jan1 != 4 && (jan1 != 3 || !isLeapYear(date2.tm_year))) + val = 1; + } + return leadingNulls(val, 2); + }, "%w": (date2) => date2.tm_wday, "%W": (date2) => { + var days = date2.tm_yday + 7 - (date2.tm_wday + 6) % 7; + return leadingNulls(Math.floor(days / 7), 2); + }, "%y": (date2) => (date2.tm_year + 1900).toString().substring(2), "%Y": (date2) => date2.tm_year + 1900, "%z": (date2) => { + var off = date2.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4); + }, "%Z": (date2) => date2.tm_zone, "%%": () => "%" }; + pattern = pattern.replace(/%%/g, "\0\0"); + for (var rule in EXPANSION_RULES_2) { + if (pattern.includes(rule)) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)); + } + } + pattern = pattern.replace(/\0\0/g, "%"); + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0; + } + writeArrayToMemory(bytes, s); + return bytes.length - 1; + } + function _strftime_l(s, maxsize, format, tm, loc) { + s >>>= 0; + maxsize >>>= 0; + format >>>= 0; + tm >>>= 0; + return _strftime(s, maxsize, format, tm); + } + PThread.init(); + var FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FSNode.prototype, { read: { get: function() { + return (this.mode & readMode) === readMode; + }, set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } }, write: { get: function() { + return (this.mode & writeMode) === writeMode; + }, set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } }, isFolder: { get: function() { + return FS.isDir(this.mode); + } }, isDevice: { get: function() { + return FS.isChrdev(this.mode); + } } }); + FS.FSNode = FSNode; + FS.createPreloadedFile = FS_createPreloadedFile; + FS.staticInit(); + InternalError = Module["InternalError"] = class InternalError extends Error { + constructor(message) { + super(message); + this.name = "InternalError"; + } + }; + embind_init_charCodes(); + BindingError = Module["BindingError"] = class BindingError extends Error { + constructor(message) { + super(message); + this.name = "BindingError"; + } + }; + init_ClassHandle(); + init_embind(); + init_RegisteredPointer(); + UnboundTypeError = Module["UnboundTypeError"] = extendError(Error, "UnboundTypeError"); + handleAllocatorInit(); + init_emval(); + var proxiedFunctionTable = [null, _proc_exit, exitOnMainThread, _environ_get, _environ_sizes_get, _fd_close, _fd_read, _fd_seek, _fd_write]; + var wasmImports = { h: ___cxa_throw, W: ___emscripten_init_main_thread_js, K: ___emscripten_thread_cleanup, ba: __embind_finalize_value_array, r: __embind_finalize_value_object, I: __embind_register_bigint, $: __embind_register_bool, q: __embind_register_class, p: __embind_register_class_constructor, c: __embind_register_class_function, _: __embind_register_emval, E: __embind_register_enum, u: __embind_register_enum_value, C: __embind_register_float, d: __embind_register_function, t: __embind_register_integer, l: __embind_register_memory_view, D: __embind_register_std_string, z: __embind_register_std_wstring, ca: __embind_register_value_array, m: __embind_register_value_array_element, s: __embind_register_value_object, f: __embind_register_value_object_field, aa: __embind_register_void, R: __emscripten_notify_mailbox_postmessage, U: __emscripten_set_offscreencanvas_size, V: __emscripten_thread_mailbox_await, Z: __emscripten_thread_set_strongref, k: __emval_as, y: __emval_call, b: __emval_decref, B: __emval_get_global, i: __emval_get_property, o: __emval_incref, G: __emval_instanceof, A: __emval_is_number, F: __emval_is_string, da: __emval_new_array, g: __emval_new_cstring, w: __emval_new_object, j: __emval_run_destructors, n: __emval_set_property, e: __emval_take_value, x: _abort, X: _emscripten_check_blocking_allowed, Y: _emscripten_exit_with_live_runtime, v: _emscripten_get_now, T: _emscripten_receive_on_main_thread_js, Q: _emscripten_resize_heap, M: _environ_get, N: _environ_sizes_get, J: _exit, O: _fd_close, P: _fd_read, H: _fd_seek, S: _fd_write, a: wasmMemory || Module["wasmMemory"], L: _strftime_l }; + createWasm(); + var _malloc = (a0) => (_malloc = wasmExports["ga"])(a0); + Module["__emscripten_tls_init"] = () => (Module["__emscripten_tls_init"] = wasmExports["ha"])(); + var _pthread_self = Module["_pthread_self"] = () => (_pthread_self = Module["_pthread_self"] = wasmExports["ia"])(); + var ___getTypeName = (a0) => (___getTypeName = wasmExports["ja"])(a0); + Module["__embind_initialize_bindings"] = () => (Module["__embind_initialize_bindings"] = wasmExports["ka"])(); + var __emscripten_thread_init = Module["__emscripten_thread_init"] = (a0, a1, a2, a3, a4, a5) => (__emscripten_thread_init = Module["__emscripten_thread_init"] = wasmExports["la"])(a0, a1, a2, a3, a4, a5); + Module["__emscripten_thread_crashed"] = () => (Module["__emscripten_thread_crashed"] = wasmExports["ma"])(); + var __emscripten_run_in_main_runtime_thread_js = (a0, a1, a2, a3) => (__emscripten_run_in_main_runtime_thread_js = wasmExports["na"])(a0, a1, a2, a3); + var __emscripten_thread_free_data = (a0) => (__emscripten_thread_free_data = wasmExports["oa"])(a0); + var __emscripten_thread_exit = Module["__emscripten_thread_exit"] = (a0) => (__emscripten_thread_exit = Module["__emscripten_thread_exit"] = wasmExports["pa"])(a0); + var _free = (a0) => (_free = wasmExports["qa"])(a0); + var __emscripten_check_mailbox = Module["__emscripten_check_mailbox"] = () => (__emscripten_check_mailbox = Module["__emscripten_check_mailbox"] = wasmExports["ra"])(); + var _emscripten_stack_set_limits = (a0, a1) => (_emscripten_stack_set_limits = wasmExports["sa"])(a0, a1); + var stackSave = () => (stackSave = wasmExports["ta"])(); + var stackRestore = (a0) => (stackRestore = wasmExports["ua"])(a0); + var stackAlloc = (a0) => (stackAlloc = wasmExports["va"])(a0); + var ___cxa_is_pointer_type = (a0) => (___cxa_is_pointer_type = wasmExports["wa"])(a0); + Module["dynCall_jiji"] = (a0, a1, a2, a3, a4) => (Module["dynCall_jiji"] = wasmExports["xa"])(a0, a1, a2, a3, a4); + Module["dynCall_viijii"] = (a0, a1, a2, a3, a4, a5, a6) => (Module["dynCall_viijii"] = wasmExports["ya"])(a0, a1, a2, a3, a4, a5, a6); + Module["dynCall_iiiiij"] = (a0, a1, a2, a3, a4, a5, a6) => (Module["dynCall_iiiiij"] = wasmExports["za"])(a0, a1, a2, a3, a4, a5, a6); + Module["dynCall_iiiiijj"] = (a0, a1, a2, a3, a4, a5, a6, a7, a8) => (Module["dynCall_iiiiijj"] = wasmExports["Aa"])(a0, a1, a2, a3, a4, a5, a6, a7, a8); + Module["dynCall_iiiiiijj"] = (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) => (Module["dynCall_iiiiiijj"] = wasmExports["Ba"])(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); + function applySignatureConversions(exports2) { + exports2 = Object.assign({}, exports2); + var makeWrapper_pp = (f) => (a0) => f(a0) >>> 0; + var makeWrapper_p = (f) => () => f() >>> 0; + exports2["malloc"] = makeWrapper_pp(exports2["malloc"]); + exports2["pthread_self"] = makeWrapper_p(exports2["pthread_self"]); + exports2["__getTypeName"] = makeWrapper_pp(exports2["__getTypeName"]); + exports2["__errno_location"] = makeWrapper_p(exports2["__errno_location"]); + exports2["stackSave"] = makeWrapper_p(exports2["stackSave"]); + exports2["stackAlloc"] = makeWrapper_pp(exports2["stackAlloc"]); + return exports2; + } + Module["keepRuntimeAlive"] = keepRuntimeAlive; + Module["wasmMemory"] = wasmMemory; + Module["ExitStatus"] = ExitStatus; + Module["PThread"] = PThread; + var calledRun; + dependenciesFulfilled = function runCaller() { + if (!calledRun) + run(); + if (!calledRun) + dependenciesFulfilled = runCaller; + }; + function run() { + if (runDependencies > 0) { + return; + } + if (ENVIRONMENT_IS_PTHREAD) { + readyPromiseResolve(Module); + initRuntime(); + startWorker(Module); + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) + return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) + return; + initRuntime(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) + Module["onRuntimeInitialized"](); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + } + if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") + Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } + } + run(); + return moduleArg.ready; + }; + })(); + if (typeof exports === "object" && typeof module === "object") + module.exports = WebIFCWasm2; + else if (typeof define === "function" && define["amd"]) + define([], () => WebIFCWasm2); + } +}); + +// dist/web-ifc.js +var require_web_ifc$1 = __commonJS$1({ + "dist/web-ifc.js"(exports, module) { + var WebIFCWasm2 = (() => { + var _scriptDir = typeof document !== "undefined" && document.currentScript ? document.currentScript.src : void 0; + return function(moduleArg = {}) { + var Module = moduleArg; + var readyPromiseResolve, readyPromiseReject; + Module["ready"] = new Promise((resolve, reject) => { + readyPromiseResolve = resolve; + readyPromiseReject = reject; + }); + var moduleOverrides = Object.assign({}, Module); + var thisProgram = "./this.program"; + var ENVIRONMENT_IS_WEB = true; + var scriptDirectory = ""; + function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; + } + var read_, readAsync; + { + if (typeof document != "undefined" && document.currentScript) { + scriptDirectory = document.currentScript.src; + } + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1); + } else { + scriptDirectory = ""; + } + { + read_ = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText; + }; + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = () => { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; + } + } + var out = Module["print"] || console.log.bind(console); + var err = Module["printErr"] || console.error.bind(console); + Object.assign(Module, moduleOverrides); + moduleOverrides = null; + if (Module["arguments"]) + Module["arguments"]; + if (Module["thisProgram"]) + thisProgram = Module["thisProgram"]; + if (Module["quit"]) + Module["quit"]; + var wasmBinary; + if (Module["wasmBinary"]) + wasmBinary = Module["wasmBinary"]; + Module["noExitRuntime"] || true; + if (typeof WebAssembly != "object") { + abort("no native wasm support detected"); + } + var wasmMemory; + var wasmExports; + var ABORT = false; + function assert(condition, text) { + if (!condition) { + abort(text); + } + } + var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + function updateMemoryViews() { + var b = wasmMemory.buffer; + Module["HEAP8"] = HEAP8 = new Int8Array(b); + Module["HEAP16"] = HEAP16 = new Int16Array(b); + Module["HEAP32"] = HEAP32 = new Int32Array(b); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(b); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); + Module["HEAPF32"] = HEAPF32 = new Float32Array(b); + Module["HEAPF64"] = HEAPF64 = new Float64Array(b); + } + var wasmTable; + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATPOSTRUN__ = []; + function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") + Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); + } + function initRuntime() { + if (!Module["noFSInit"] && !FS.init.initialized) + FS.init(); + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATINIT__); + } + function postRun() { + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") + Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); + } + function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); + } + function addOnInit(cb) { + __ATINIT__.unshift(cb); + } + function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); + } + var runDependencies = 0; + var dependenciesFulfilled = null; + function getUniqueRunDependency(id) { + return id; + } + function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + } + function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + if (runDependencies == 0) { + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } + } + function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what = "Aborted(" + what + ")"; + err(what); + ABORT = true; + what += ". Build with -sASSERTIONS for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; + } + var dataURIPrefix = "data:application/octet-stream;base64,"; + function isDataURI(filename) { + return filename.startsWith(dataURIPrefix); + } + var wasmBinaryFile; + wasmBinaryFile = "web-ifc.wasm"; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + function getBinarySync(file) { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + throw "both async and sync fetching of the wasm failed"; + } + function getBinaryPromise(binaryFile) { + if (!wasmBinary && (ENVIRONMENT_IS_WEB )) { + if (typeof fetch == "function") { + return fetch(binaryFile, { credentials: "same-origin" }).then((response) => { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + binaryFile + "'"; + } + return response["arrayBuffer"](); + }).catch(() => getBinarySync(binaryFile)); + } + } + return Promise.resolve().then(() => getBinarySync(binaryFile)); + } + function instantiateArrayBuffer(binaryFile, imports, receiver) { + return getBinaryPromise(binaryFile).then((binary) => WebAssembly.instantiate(binary, imports)).then((instance) => instance).then(receiver, (reason) => { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason); + }); + } + function instantiateAsync(binary, binaryFile, imports, callback) { + if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && typeof fetch == "function") { + return fetch(binaryFile, { credentials: "same-origin" }).then((response) => { + var result = WebAssembly.instantiateStreaming(response, imports); + return result.then(callback, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + return instantiateArrayBuffer(binaryFile, imports, callback); + }); + }); + } + return instantiateArrayBuffer(binaryFile, imports, callback); + } + function createWasm() { + var info = { "a": wasmImports }; + function receiveInstance(instance, module2) { + var exports2 = instance.exports; + exports2 = applySignatureConversions(exports2); + wasmExports = exports2; + wasmMemory = wasmExports["V"]; + updateMemoryViews(); + wasmTable = wasmExports["X"]; + addOnInit(wasmExports["W"]); + removeRunDependency(); + return exports2; + } + addRunDependency(); + function receiveInstantiationResult(result) { + receiveInstance(result["instance"]); + } + if (Module["instantiateWasm"]) { + try { + return Module["instantiateWasm"](info, receiveInstance); + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + readyPromiseReject(e); + } + } + instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); + return {}; + } + var tempDouble; + var tempI64; + var callRuntimeCallbacks = (callbacks) => { + while (callbacks.length > 0) { + callbacks.shift()(Module); + } + }; + function ExceptionInfo(excPtr) { + this.excPtr = excPtr; + this.ptr = excPtr - 24; + this.set_type = function(type) { + HEAPU32[this.ptr + 4 >>> 2] = type; + }; + this.get_type = function() { + return HEAPU32[this.ptr + 4 >>> 2]; + }; + this.set_destructor = function(destructor) { + HEAPU32[this.ptr + 8 >>> 2] = destructor; + }; + this.get_destructor = function() { + return HEAPU32[this.ptr + 8 >>> 2]; + }; + this.set_caught = function(caught) { + caught = caught ? 1 : 0; + HEAP8[this.ptr + 12 >>> 0] = caught; + }; + this.get_caught = function() { + return HEAP8[this.ptr + 12 >>> 0] != 0; + }; + this.set_rethrown = function(rethrown) { + rethrown = rethrown ? 1 : 0; + HEAP8[this.ptr + 13 >>> 0] = rethrown; + }; + this.get_rethrown = function() { + return HEAP8[this.ptr + 13 >>> 0] != 0; + }; + this.init = function(type, destructor) { + this.set_adjusted_ptr(0); + this.set_type(type); + this.set_destructor(destructor); + }; + this.set_adjusted_ptr = function(adjustedPtr) { + HEAPU32[this.ptr + 16 >>> 2] = adjustedPtr; + }; + this.get_adjusted_ptr = function() { + return HEAPU32[this.ptr + 16 >>> 2]; + }; + this.get_exception_ptr = function() { + var isPointer = ___cxa_is_pointer_type(this.get_type()); + if (isPointer) { + return HEAPU32[this.excPtr >>> 2]; + } + var adjusted = this.get_adjusted_ptr(); + if (adjusted !== 0) + return adjusted; + return this.excPtr; + }; + } + var exceptionLast = 0; + function convertI32PairToI53Checked(lo, hi) { + return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN; + } + function ___cxa_throw(ptr, type, destructor) { + ptr >>>= 0; + type >>>= 0; + destructor >>>= 0; + var info = new ExceptionInfo(ptr); + info.init(type, destructor); + exceptionLast = ptr; + throw exceptionLast; + } + var tupleRegistrations = {}; + function runDestructors(destructors) { + while (destructors.length) { + var ptr = destructors.pop(); + var del = destructors.pop(); + del(ptr); + } + } + function simpleReadValueFromPointer(pointer) { + return this["fromWireType"](HEAP32[pointer >>> 2]); + } + var awaitingDependencies = {}; + var registeredTypes = {}; + var typeDependencies = {}; + var InternalError = void 0; + function throwInternalError(message) { + throw new InternalError(message); + } + function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) { + myTypes.forEach(function(type) { + typeDependencies[type] = dependentTypes; + }); + function onComplete(typeConverters2) { + var myTypeConverters = getTypeConverters(typeConverters2); + if (myTypeConverters.length !== myTypes.length) { + throwInternalError("Mismatched type converter count"); + } + for (var i = 0; i < myTypes.length; ++i) { + registerType(myTypes[i], myTypeConverters[i]); + } + } + var typeConverters = new Array(dependentTypes.length); + var unregisteredTypes = []; + var registered = 0; + dependentTypes.forEach((dt, i) => { + if (registeredTypes.hasOwnProperty(dt)) { + typeConverters[i] = registeredTypes[dt]; + } else { + unregisteredTypes.push(dt); + if (!awaitingDependencies.hasOwnProperty(dt)) { + awaitingDependencies[dt] = []; + } + awaitingDependencies[dt].push(() => { + typeConverters[i] = registeredTypes[dt]; + ++registered; + if (registered === unregisteredTypes.length) { + onComplete(typeConverters); + } + }); + } + }); + if (unregisteredTypes.length === 0) { + onComplete(typeConverters); + } + } + function __embind_finalize_value_array(rawTupleType) { + rawTupleType >>>= 0; + var reg = tupleRegistrations[rawTupleType]; + delete tupleRegistrations[rawTupleType]; + var elements = reg.elements; + var elementsLength = elements.length; + var elementTypes = elements.map(function(elt) { + return elt.getterReturnType; + }).concat(elements.map(function(elt) { + return elt.setterArgumentType; + })); + var rawConstructor = reg.rawConstructor; + var rawDestructor = reg.rawDestructor; + whenDependentTypesAreResolved([rawTupleType], elementTypes, function(elementTypes2) { + elements.forEach((elt, i) => { + var getterReturnType = elementTypes2[i]; + var getter = elt.getter; + var getterContext = elt.getterContext; + var setterArgumentType = elementTypes2[i + elementsLength]; + var setter = elt.setter; + var setterContext = elt.setterContext; + elt.read = (ptr) => getterReturnType["fromWireType"](getter(getterContext, ptr)); + elt.write = (ptr, o) => { + var destructors = []; + setter(setterContext, ptr, setterArgumentType["toWireType"](destructors, o)); + runDestructors(destructors); + }; + }); + return [{ name: reg.name, "fromWireType": function(ptr) { + var rv = new Array(elementsLength); + for (var i = 0; i < elementsLength; ++i) { + rv[i] = elements[i].read(ptr); + } + rawDestructor(ptr); + return rv; + }, "toWireType": function(destructors, o) { + if (elementsLength !== o.length) { + throw new TypeError(`Incorrect number of tuple elements for ${reg.name}: expected=${elementsLength}, actual=${o.length}`); + } + var ptr = rawConstructor(); + for (var i = 0; i < elementsLength; ++i) { + elements[i].write(ptr, o[i]); + } + if (destructors !== null) { + destructors.push(rawDestructor, ptr); + } + return ptr; + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: rawDestructor }]; + }); + } + var structRegistrations = {}; + var __embind_finalize_value_object = function(structType) { + structType >>>= 0; + var reg = structRegistrations[structType]; + delete structRegistrations[structType]; + var rawConstructor = reg.rawConstructor; + var rawDestructor = reg.rawDestructor; + var fieldRecords = reg.fields; + var fieldTypes = fieldRecords.map((field) => field.getterReturnType).concat(fieldRecords.map((field) => field.setterArgumentType)); + whenDependentTypesAreResolved([structType], fieldTypes, (fieldTypes2) => { + var fields = {}; + fieldRecords.forEach((field, i) => { + var fieldName = field.fieldName; + var getterReturnType = fieldTypes2[i]; + var getter = field.getter; + var getterContext = field.getterContext; + var setterArgumentType = fieldTypes2[i + fieldRecords.length]; + var setter = field.setter; + var setterContext = field.setterContext; + fields[fieldName] = { read: (ptr) => getterReturnType["fromWireType"](getter(getterContext, ptr)), write: (ptr, o) => { + var destructors = []; + setter(setterContext, ptr, setterArgumentType["toWireType"](destructors, o)); + runDestructors(destructors); + } }; + }); + return [{ name: reg.name, "fromWireType": function(ptr) { + var rv = {}; + for (var i in fields) { + rv[i] = fields[i].read(ptr); + } + rawDestructor(ptr); + return rv; + }, "toWireType": function(destructors, o) { + for (var fieldName in fields) { + if (!(fieldName in o)) { + throw new TypeError(`Missing field: "${fieldName}"`); + } + } + var ptr = rawConstructor(); + for (fieldName in fields) { + fields[fieldName].write(ptr, o[fieldName]); + } + if (destructors !== null) { + destructors.push(rawDestructor, ptr); + } + return ptr; + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: rawDestructor }]; + }); + }; + function __embind_register_bigint(primitiveType, name, size, minRange, maxRange) { + } + function getShiftFromSize(size) { + switch (size) { + case 1: + return 0; + case 2: + return 1; + case 4: + return 2; + case 8: + return 3; + default: + throw new TypeError(`Unknown type size: ${size}`); + } + } + function embind_init_charCodes() { + var codes = new Array(256); + for (var i = 0; i < 256; ++i) { + codes[i] = String.fromCharCode(i); + } + embind_charCodes = codes; + } + var embind_charCodes = void 0; + function readLatin1String(ptr) { + var ret = ""; + var c = ptr; + while (HEAPU8[c >>> 0]) { + ret += embind_charCodes[HEAPU8[c++ >>> 0]]; + } + return ret; + } + var BindingError = void 0; + function throwBindingError(message) { + throw new BindingError(message); + } + function sharedRegisterType(rawType, registeredInstance, options = {}) { + var name = registeredInstance.name; + if (!rawType) { + throwBindingError(`type "${name}" must have a positive integer typeid pointer`); + } + if (registeredTypes.hasOwnProperty(rawType)) { + if (options.ignoreDuplicateRegistrations) { + return; + } else { + throwBindingError(`Cannot register type '${name}' twice`); + } + } + registeredTypes[rawType] = registeredInstance; + delete typeDependencies[rawType]; + if (awaitingDependencies.hasOwnProperty(rawType)) { + var callbacks = awaitingDependencies[rawType]; + delete awaitingDependencies[rawType]; + callbacks.forEach((cb) => cb()); + } + } + function registerType(rawType, registeredInstance, options = {}) { + if (!("argPackAdvance" in registeredInstance)) { + throw new TypeError("registerType registeredInstance requires argPackAdvance"); + } + return sharedRegisterType(rawType, registeredInstance, options); + } + function __embind_register_bool(rawType, name, size, trueValue, falseValue) { + rawType >>>= 0; + name >>>= 0; + size >>>= 0; + var shift = getShiftFromSize(size); + name = readLatin1String(name); + registerType(rawType, { name, "fromWireType": function(wt) { + return !!wt; + }, "toWireType": function(destructors, o) { + return o ? trueValue : falseValue; + }, "argPackAdvance": 8, "readValueFromPointer": function(pointer) { + var heap; + if (size === 1) { + heap = HEAP8; + } else if (size === 2) { + heap = HEAP16; + } else if (size === 4) { + heap = HEAP32; + } else { + throw new TypeError("Unknown boolean type size: " + name); + } + return this["fromWireType"](heap[pointer >>> shift]); + }, destructorFunction: null }); + } + function ClassHandle_isAliasOf(other) { + if (!(this instanceof ClassHandle)) { + return false; + } + if (!(other instanceof ClassHandle)) { + return false; + } + var leftClass = this.$$.ptrType.registeredClass; + var left = this.$$.ptr; + var rightClass = other.$$.ptrType.registeredClass; + var right = other.$$.ptr; + while (leftClass.baseClass) { + left = leftClass.upcast(left); + leftClass = leftClass.baseClass; + } + while (rightClass.baseClass) { + right = rightClass.upcast(right); + rightClass = rightClass.baseClass; + } + return leftClass === rightClass && left === right; + } + function shallowCopyInternalPointer(o) { + return { count: o.count, deleteScheduled: o.deleteScheduled, preservePointerOnDelete: o.preservePointerOnDelete, ptr: o.ptr, ptrType: o.ptrType, smartPtr: o.smartPtr, smartPtrType: o.smartPtrType }; + } + function throwInstanceAlreadyDeleted(obj) { + function getInstanceTypeName(handle) { + return handle.$$.ptrType.registeredClass.name; + } + throwBindingError(getInstanceTypeName(obj) + " instance already deleted"); + } + var finalizationRegistry = false; + function detachFinalizer(handle) { + } + function runDestructor($$) { + if ($$.smartPtr) { + $$.smartPtrType.rawDestructor($$.smartPtr); + } else { + $$.ptrType.registeredClass.rawDestructor($$.ptr); + } + } + function releaseClassHandle($$) { + $$.count.value -= 1; + var toDelete = $$.count.value === 0; + if (toDelete) { + runDestructor($$); + } + } + function downcastPointer(ptr, ptrClass, desiredClass) { + if (ptrClass === desiredClass) { + return ptr; + } + if (desiredClass.baseClass === void 0) { + return null; + } + var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass); + if (rv === null) { + return null; + } + return desiredClass.downcast(rv); + } + var registeredPointers = {}; + function getInheritedInstanceCount() { + return Object.keys(registeredInstances).length; + } + function getLiveInheritedInstances() { + var rv = []; + for (var k in registeredInstances) { + if (registeredInstances.hasOwnProperty(k)) { + rv.push(registeredInstances[k]); + } + } + return rv; + } + var deletionQueue = []; + function flushPendingDeletes() { + while (deletionQueue.length) { + var obj = deletionQueue.pop(); + obj.$$.deleteScheduled = false; + obj["delete"](); + } + } + var delayFunction = void 0; + function setDelayFunction(fn) { + delayFunction = fn; + if (deletionQueue.length && delayFunction) { + delayFunction(flushPendingDeletes); + } + } + function init_embind() { + Module["getInheritedInstanceCount"] = getInheritedInstanceCount; + Module["getLiveInheritedInstances"] = getLiveInheritedInstances; + Module["flushPendingDeletes"] = flushPendingDeletes; + Module["setDelayFunction"] = setDelayFunction; + } + var registeredInstances = {}; + function getBasestPointer(class_, ptr) { + if (ptr === void 0) { + throwBindingError("ptr should not be undefined"); + } + while (class_.baseClass) { + ptr = class_.upcast(ptr); + class_ = class_.baseClass; + } + return ptr; + } + function getInheritedInstance(class_, ptr) { + ptr = getBasestPointer(class_, ptr); + return registeredInstances[ptr]; + } + function makeClassHandle(prototype, record) { + if (!record.ptrType || !record.ptr) { + throwInternalError("makeClassHandle requires ptr and ptrType"); + } + var hasSmartPtrType = !!record.smartPtrType; + var hasSmartPtr = !!record.smartPtr; + if (hasSmartPtrType !== hasSmartPtr) { + throwInternalError("Both smartPtrType and smartPtr must be specified"); + } + record.count = { value: 1 }; + return attachFinalizer(Object.create(prototype, { $$: { value: record } })); + } + function RegisteredPointer_fromWireType(ptr) { + var rawPointer = this.getPointee(ptr); + if (!rawPointer) { + this.destructor(ptr); + return null; + } + var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer); + if (registeredInstance !== void 0) { + if (registeredInstance.$$.count.value === 0) { + registeredInstance.$$.ptr = rawPointer; + registeredInstance.$$.smartPtr = ptr; + return registeredInstance["clone"](); + } else { + var rv = registeredInstance["clone"](); + this.destructor(ptr); + return rv; + } + } + function makeDefaultHandle() { + if (this.isSmartPointer) { + return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr }); + } else { + return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr }); + } + } + var actualType = this.registeredClass.getActualType(rawPointer); + var registeredPointerRecord = registeredPointers[actualType]; + if (!registeredPointerRecord) { + return makeDefaultHandle.call(this); + } + var toType; + if (this.isConst) { + toType = registeredPointerRecord.constPointerType; + } else { + toType = registeredPointerRecord.pointerType; + } + var dp = downcastPointer(rawPointer, this.registeredClass, toType.registeredClass); + if (dp === null) { + return makeDefaultHandle.call(this); + } + if (this.isSmartPointer) { + return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr }); + } else { + return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp }); + } + } + var attachFinalizer = function(handle) { + if (typeof FinalizationRegistry === "undefined") { + attachFinalizer = (handle2) => handle2; + return handle; + } + finalizationRegistry = new FinalizationRegistry((info) => { + releaseClassHandle(info.$$); + }); + attachFinalizer = (handle2) => { + var $$ = handle2.$$; + var hasSmartPtr = !!$$.smartPtr; + if (hasSmartPtr) { + var info = { $$ }; + finalizationRegistry.register(handle2, info, handle2); + } + return handle2; + }; + detachFinalizer = (handle2) => finalizationRegistry.unregister(handle2); + return attachFinalizer(handle); + }; + function ClassHandle_clone() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + if (this.$$.preservePointerOnDelete) { + this.$$.count.value += 1; + return this; + } else { + var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { $$: { value: shallowCopyInternalPointer(this.$$) } })); + clone.$$.count.value += 1; + clone.$$.deleteScheduled = false; + return clone; + } + } + function ClassHandle_delete() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { + throwBindingError("Object already scheduled for deletion"); + } + detachFinalizer(this); + releaseClassHandle(this.$$); + if (!this.$$.preservePointerOnDelete) { + this.$$.smartPtr = void 0; + this.$$.ptr = void 0; + } + } + function ClassHandle_isDeleted() { + return !this.$$.ptr; + } + function ClassHandle_deleteLater() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { + throwBindingError("Object already scheduled for deletion"); + } + deletionQueue.push(this); + if (deletionQueue.length === 1 && delayFunction) { + delayFunction(flushPendingDeletes); + } + this.$$.deleteScheduled = true; + return this; + } + function init_ClassHandle() { + ClassHandle.prototype["isAliasOf"] = ClassHandle_isAliasOf; + ClassHandle.prototype["clone"] = ClassHandle_clone; + ClassHandle.prototype["delete"] = ClassHandle_delete; + ClassHandle.prototype["isDeleted"] = ClassHandle_isDeleted; + ClassHandle.prototype["deleteLater"] = ClassHandle_deleteLater; + } + function ClassHandle() { + } + var char_0 = 48; + var char_9 = 57; + function makeLegalFunctionName(name) { + if (name === void 0) { + return "_unknown"; + } + name = name.replace(/[^a-zA-Z0-9_]/g, "$"); + var f = name.charCodeAt(0); + if (f >= char_0 && f <= char_9) { + return `_${name}`; + } + return name; + } + function createNamedFunction(name, body) { + name = makeLegalFunctionName(name); + return { [name]: function() { + return body.apply(this, arguments); + } }[name]; + } + function ensureOverloadTable(proto, methodName, humanName) { + if (proto[methodName].overloadTable === void 0) { + var prevFunc = proto[methodName]; + proto[methodName] = function() { + if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { + throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`); + } + return proto[methodName].overloadTable[arguments.length].apply(this, arguments); + }; + proto[methodName].overloadTable = []; + proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; + } + } + function exposePublicSymbol(name, value, numArguments) { + if (Module.hasOwnProperty(name)) { + if (numArguments === void 0 || Module[name].overloadTable !== void 0 && Module[name].overloadTable[numArguments] !== void 0) { + throwBindingError(`Cannot register public name '${name}' twice`); + } + ensureOverloadTable(Module, name, name); + if (Module.hasOwnProperty(numArguments)) { + throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`); + } + Module[name].overloadTable[numArguments] = value; + } else { + Module[name] = value; + if (numArguments !== void 0) { + Module[name].numArguments = numArguments; + } + } + } + function RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast) { + this.name = name; + this.constructor = constructor; + this.instancePrototype = instancePrototype; + this.rawDestructor = rawDestructor; + this.baseClass = baseClass; + this.getActualType = getActualType; + this.upcast = upcast; + this.downcast = downcast; + this.pureVirtualFunctions = []; + } + function upcastPointer(ptr, ptrClass, desiredClass) { + while (ptrClass !== desiredClass) { + if (!ptrClass.upcast) { + throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`); + } + ptr = ptrClass.upcast(ptr); + ptrClass = ptrClass.baseClass; + } + return ptr; + } + function constNoSmartPtrRawPointerToWireType(destructors, handle) { + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + return 0; + } + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + return ptr; + } + function genericPointerToWireType(destructors, handle) { + var ptr; + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + if (this.isSmartPointer) { + ptr = this.rawConstructor(); + if (destructors !== null) { + destructors.push(this.rawDestructor, ptr); + } + return ptr; + } else { + return 0; + } + } + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + if (!this.isConst && handle.$$.ptrType.isConst) { + throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name} to parameter type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + if (this.isSmartPointer) { + if (handle.$$.smartPtr === void 0) { + throwBindingError("Passing raw pointer to smart pointer is illegal"); + } + switch (this.sharingPolicy) { + case 0: + if (handle.$$.smartPtrType === this) { + ptr = handle.$$.smartPtr; + } else { + throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name} to parameter type ${this.name}`); + } + break; + case 1: + ptr = handle.$$.smartPtr; + break; + case 2: + if (handle.$$.smartPtrType === this) { + ptr = handle.$$.smartPtr; + } else { + var clonedHandle = handle["clone"](); + ptr = this.rawShare(ptr, Emval.toHandle(function() { + clonedHandle["delete"](); + })); + if (destructors !== null) { + destructors.push(this.rawDestructor, ptr); + } + } + break; + default: + throwBindingError("Unsupporting sharing policy"); + } + } + return ptr; + } + function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) { + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + return 0; + } + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + if (handle.$$.ptrType.isConst) { + throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + return ptr; + } + function RegisteredPointer_getPointee(ptr) { + if (this.rawGetPointee) { + ptr = this.rawGetPointee(ptr); + } + return ptr; + } + function RegisteredPointer_destructor(ptr) { + if (this.rawDestructor) { + this.rawDestructor(ptr); + } + } + function RegisteredPointer_deleteObject(handle) { + if (handle !== null) { + handle["delete"](); + } + } + function init_RegisteredPointer() { + RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee; + RegisteredPointer.prototype.destructor = RegisteredPointer_destructor; + RegisteredPointer.prototype["argPackAdvance"] = 8; + RegisteredPointer.prototype["readValueFromPointer"] = simpleReadValueFromPointer; + RegisteredPointer.prototype["deleteObject"] = RegisteredPointer_deleteObject; + RegisteredPointer.prototype["fromWireType"] = RegisteredPointer_fromWireType; + } + function RegisteredPointer(name, registeredClass, isReference, isConst, isSmartPointer, pointeeType, sharingPolicy, rawGetPointee, rawConstructor, rawShare, rawDestructor) { + this.name = name; + this.registeredClass = registeredClass; + this.isReference = isReference; + this.isConst = isConst; + this.isSmartPointer = isSmartPointer; + this.pointeeType = pointeeType; + this.sharingPolicy = sharingPolicy; + this.rawGetPointee = rawGetPointee; + this.rawConstructor = rawConstructor; + this.rawShare = rawShare; + this.rawDestructor = rawDestructor; + if (!isSmartPointer && registeredClass.baseClass === void 0) { + if (isConst) { + this["toWireType"] = constNoSmartPtrRawPointerToWireType; + this.destructorFunction = null; + } else { + this["toWireType"] = nonConstNoSmartPtrRawPointerToWireType; + this.destructorFunction = null; + } + } else { + this["toWireType"] = genericPointerToWireType; + } + } + function replacePublicSymbol(name, value, numArguments) { + if (!Module.hasOwnProperty(name)) { + throwInternalError("Replacing nonexistant public symbol"); + } + if (Module[name].overloadTable !== void 0 && numArguments !== void 0) { + Module[name].overloadTable[numArguments] = value; + } else { + Module[name] = value; + Module[name].argCount = numArguments; + } + } + var dynCallLegacy = (sig, ptr, args) => { + var f = Module["dynCall_" + sig]; + return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr); + }; + var wasmTableMirror = []; + var getWasmTableEntry = (funcPtr) => { + var func = wasmTableMirror[funcPtr]; + if (!func) { + if (funcPtr >= wasmTableMirror.length) + wasmTableMirror.length = funcPtr + 1; + wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr); + } + return func; + }; + var dynCall = (sig, ptr, args) => { + if (sig.includes("j")) { + return dynCallLegacy(sig, ptr, args); + } + var rtn = getWasmTableEntry(ptr).apply(null, args); + return rtn; + }; + var getDynCaller = (sig, ptr) => { + var argCache = []; + return function() { + argCache.length = 0; + Object.assign(argCache, arguments); + return dynCall(sig, ptr, argCache); + }; + }; + function embind__requireFunction(signature, rawFunction) { + signature = readLatin1String(signature); + function makeDynCaller() { + if (signature.includes("j")) { + return getDynCaller(signature, rawFunction); + } + return getWasmTableEntry(rawFunction); + } + var fp = makeDynCaller(); + if (typeof fp != "function") { + throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`); + } + return fp; + } + function extendError(baseErrorType, errorName) { + var errorClass = createNamedFunction(errorName, function(message) { + this.name = errorName; + this.message = message; + var stack = new Error(message).stack; + if (stack !== void 0) { + this.stack = this.toString() + "\n" + stack.replace(/^Error(:[^\n]*)?\n/, ""); + } + }); + errorClass.prototype = Object.create(baseErrorType.prototype); + errorClass.prototype.constructor = errorClass; + errorClass.prototype.toString = function() { + if (this.message === void 0) { + return this.name; + } else { + return `${this.name}: ${this.message}`; + } + }; + return errorClass; + } + var UnboundTypeError = void 0; + function getTypeName(type) { + var ptr = ___getTypeName(type); + var rv = readLatin1String(ptr); + _free(ptr); + return rv; + } + function throwUnboundTypeError(message, types) { + var unboundTypes = []; + var seen = {}; + function visit(type) { + if (seen[type]) { + return; + } + if (registeredTypes[type]) { + return; + } + if (typeDependencies[type]) { + typeDependencies[type].forEach(visit); + return; + } + unboundTypes.push(type); + seen[type] = true; + } + types.forEach(visit); + throw new UnboundTypeError(`${message}: ` + unboundTypes.map(getTypeName).join([", "])); + } + function __embind_register_class(rawType, rawPointerType, rawConstPointerType, baseClassRawType, getActualTypeSignature, getActualType, upcastSignature, upcast, downcastSignature, downcast, name, destructorSignature, rawDestructor) { + rawType >>>= 0; + rawPointerType >>>= 0; + rawConstPointerType >>>= 0; + baseClassRawType >>>= 0; + getActualTypeSignature >>>= 0; + getActualType >>>= 0; + upcastSignature >>>= 0; + upcast >>>= 0; + downcastSignature >>>= 0; + downcast >>>= 0; + name >>>= 0; + destructorSignature >>>= 0; + rawDestructor >>>= 0; + name = readLatin1String(name); + getActualType = embind__requireFunction(getActualTypeSignature, getActualType); + if (upcast) { + upcast = embind__requireFunction(upcastSignature, upcast); + } + if (downcast) { + downcast = embind__requireFunction(downcastSignature, downcast); + } + rawDestructor = embind__requireFunction(destructorSignature, rawDestructor); + var legalFunctionName = makeLegalFunctionName(name); + exposePublicSymbol(legalFunctionName, function() { + throwUnboundTypeError(`Cannot construct ${name} due to unbound types`, [baseClassRawType]); + }); + whenDependentTypesAreResolved([rawType, rawPointerType, rawConstPointerType], baseClassRawType ? [baseClassRawType] : [], function(base) { + base = base[0]; + var baseClass; + var basePrototype; + if (baseClassRawType) { + baseClass = base.registeredClass; + basePrototype = baseClass.instancePrototype; + } else { + basePrototype = ClassHandle.prototype; + } + var constructor = createNamedFunction(legalFunctionName, function() { + if (Object.getPrototypeOf(this) !== instancePrototype) { + throw new BindingError("Use 'new' to construct " + name); + } + if (registeredClass.constructor_body === void 0) { + throw new BindingError(name + " has no accessible constructor"); + } + var body = registeredClass.constructor_body[arguments.length]; + if (body === void 0) { + throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`); + } + return body.apply(this, arguments); + }); + var instancePrototype = Object.create(basePrototype, { constructor: { value: constructor } }); + constructor.prototype = instancePrototype; + var registeredClass = new RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast); + if (registeredClass.baseClass) { + if (registeredClass.baseClass.__derivedClasses === void 0) { + registeredClass.baseClass.__derivedClasses = []; + } + registeredClass.baseClass.__derivedClasses.push(registeredClass); + } + var referenceConverter = new RegisteredPointer(name, registeredClass, true, false, false); + var pointerConverter = new RegisteredPointer(name + "*", registeredClass, false, false, false); + var constPointerConverter = new RegisteredPointer(name + " const*", registeredClass, false, true, false); + registeredPointers[rawType] = { pointerType: pointerConverter, constPointerType: constPointerConverter }; + replacePublicSymbol(legalFunctionName, constructor); + return [referenceConverter, pointerConverter, constPointerConverter]; + }); + } + function heap32VectorToArray(count, firstElement) { + var array = []; + for (var i = 0; i < count; i++) { + array.push(HEAPU32[firstElement + i * 4 >>> 2]); + } + return array; + } + function newFunc(constructor, argumentList) { + if (!(constructor instanceof Function)) { + throw new TypeError(`new_ called with constructor type ${typeof constructor} which is not a function`); + } + var dummy = createNamedFunction(constructor.name || "unknownFunctionName", function() { + }); + dummy.prototype = constructor.prototype; + var obj = new dummy(); + var r = constructor.apply(obj, argumentList); + return r instanceof Object ? r : obj; + } + function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc, isAsync) { + var argCount = argTypes.length; + if (argCount < 2) { + throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!"); + } + var isClassMethodFunc = argTypes[1] !== null && classType !== null; + var needsDestructorStack = false; + for (var i = 1; i < argTypes.length; ++i) { + if (argTypes[i] !== null && argTypes[i].destructorFunction === void 0) { + needsDestructorStack = true; + break; + } + } + var returns = argTypes[0].name !== "void"; + var argsList = ""; + var argsListWired = ""; + for (var i = 0; i < argCount - 2; ++i) { + argsList += (i !== 0 ? ", " : "") + "arg" + i; + argsListWired += (i !== 0 ? ", " : "") + "arg" + i + "Wired"; + } + var invokerFnBody = ` + return function ${makeLegalFunctionName(humanName)}(${argsList}) { + if (arguments.length !== ${argCount - 2}) { + throwBindingError('function ${humanName} called with ${arguments.length} arguments, expected ${argCount - 2} args!'); + }`; + if (needsDestructorStack) { + invokerFnBody += "var destructors = [];\n"; + } + var dtorStack = needsDestructorStack ? "destructors" : "null"; + var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"]; + var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]]; + if (isClassMethodFunc) { + invokerFnBody += "var thisWired = classParam.toWireType(" + dtorStack + ", this);\n"; + } + for (var i = 0; i < argCount - 2; ++i) { + invokerFnBody += "var arg" + i + "Wired = argType" + i + ".toWireType(" + dtorStack + ", arg" + i + "); // " + argTypes[i + 2].name + "\n"; + args1.push("argType" + i); + args2.push(argTypes[i + 2]); + } + if (isClassMethodFunc) { + argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired; + } + invokerFnBody += (returns || isAsync ? "var rv = " : "") + "invoker(fn" + (argsListWired.length > 0 ? ", " : "") + argsListWired + ");\n"; + if (needsDestructorStack) { + invokerFnBody += "runDestructors(destructors);\n"; + } else { + for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; ++i) { + var paramName = i === 1 ? "thisWired" : "arg" + (i - 2) + "Wired"; + if (argTypes[i].destructorFunction !== null) { + invokerFnBody += paramName + "_dtor(" + paramName + "); // " + argTypes[i].name + "\n"; + args1.push(paramName + "_dtor"); + args2.push(argTypes[i].destructorFunction); + } + } + } + if (returns) { + invokerFnBody += "var ret = retType.fromWireType(rv);\nreturn ret;\n"; + } + invokerFnBody += "}\n"; + args1.push(invokerFnBody); + return newFunc(Function, args1).apply(null, args2); + } + function __embind_register_class_constructor(rawClassType, argCount, rawArgTypesAddr, invokerSignature, invoker, rawConstructor) { + rawClassType >>>= 0; + rawArgTypesAddr >>>= 0; + invokerSignature >>>= 0; + invoker >>>= 0; + rawConstructor >>>= 0; + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + invoker = embind__requireFunction(invokerSignature, invoker); + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = `constructor ${classType.name}`; + if (classType.registeredClass.constructor_body === void 0) { + classType.registeredClass.constructor_body = []; + } + if (classType.registeredClass.constructor_body[argCount - 1] !== void 0) { + throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount - 1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`); + } + classType.registeredClass.constructor_body[argCount - 1] = () => { + throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`, rawArgTypes); + }; + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + argTypes.splice(1, 0, null); + classType.registeredClass.constructor_body[argCount - 1] = craftInvokerFunction(humanName, argTypes, null, invoker, rawConstructor); + return []; + }); + return []; + }); + } + function __embind_register_class_function(rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, context, isPureVirtual, isAsync) { + rawClassType >>>= 0; + methodName >>>= 0; + rawArgTypesAddr >>>= 0; + invokerSignature >>>= 0; + rawInvoker >>>= 0; + context >>>= 0; + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + methodName = readLatin1String(methodName); + rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = `${classType.name}.${methodName}`; + if (methodName.startsWith("@@")) { + methodName = Symbol[methodName.substring(2)]; + } + if (isPureVirtual) { + classType.registeredClass.pureVirtualFunctions.push(methodName); + } + function unboundTypesHandler() { + throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes); + } + var proto = classType.registeredClass.instancePrototype; + var method = proto[methodName]; + if (method === void 0 || method.overloadTable === void 0 && method.className !== classType.name && method.argCount === argCount - 2) { + unboundTypesHandler.argCount = argCount - 2; + unboundTypesHandler.className = classType.name; + proto[methodName] = unboundTypesHandler; + } else { + ensureOverloadTable(proto, methodName, humanName); + proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler; + } + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context, isAsync); + if (proto[methodName].overloadTable === void 0) { + memberFunction.argCount = argCount - 2; + proto[methodName] = memberFunction; + } else { + proto[methodName].overloadTable[argCount - 2] = memberFunction; + } + return []; + }); + return []; + }); + } + function handleAllocatorInit() { + Object.assign(HandleAllocator.prototype, { get(id) { + return this.allocated[id]; + }, has(id) { + return this.allocated[id] !== void 0; + }, allocate(handle) { + var id = this.freelist.pop() || this.allocated.length; + this.allocated[id] = handle; + return id; + }, free(id) { + this.allocated[id] = void 0; + this.freelist.push(id); + } }); + } + function HandleAllocator() { + this.allocated = [void 0]; + this.freelist = []; + } + var emval_handles = new HandleAllocator(); + function __emval_decref(handle) { + handle >>>= 0; + if (handle >= emval_handles.reserved && --emval_handles.get(handle).refcount === 0) { + emval_handles.free(handle); + } + } + function count_emval_handles() { + var count = 0; + for (var i = emval_handles.reserved; i < emval_handles.allocated.length; ++i) { + if (emval_handles.allocated[i] !== void 0) { + ++count; + } + } + return count; + } + function init_emval() { + emval_handles.allocated.push({ value: void 0 }, { value: null }, { value: true }, { value: false }); + emval_handles.reserved = emval_handles.allocated.length; + Module["count_emval_handles"] = count_emval_handles; + } + var Emval = { toValue: (handle) => { + if (!handle) { + throwBindingError("Cannot use deleted val. handle = " + handle); + } + return emval_handles.get(handle).value; + }, toHandle: (value) => { + switch (value) { + case void 0: + return 1; + case null: + return 2; + case true: + return 3; + case false: + return 4; + default: { + return emval_handles.allocate({ refcount: 1, value }); + } + } + } }; + function __embind_register_emval(rawType, name) { + rawType >>>= 0; + name >>>= 0; + name = readLatin1String(name); + registerType(rawType, { name, "fromWireType": function(handle) { + var rv = Emval.toValue(handle); + __emval_decref(handle); + return rv; + }, "toWireType": function(destructors, value) { + return Emval.toHandle(value); + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: null }); + } + function enumReadValueFromPointer(name, shift, signed) { + switch (shift) { + case 0: + return function(pointer) { + var heap = signed ? HEAP8 : HEAPU8; + return this["fromWireType"](heap[pointer >>> 0]); + }; + case 1: + return function(pointer) { + var heap = signed ? HEAP16 : HEAPU16; + return this["fromWireType"](heap[pointer >>> 1]); + }; + case 2: + return function(pointer) { + var heap = signed ? HEAP32 : HEAPU32; + return this["fromWireType"](heap[pointer >>> 2]); + }; + default: + throw new TypeError("Unknown integer type: " + name); + } + } + function __embind_register_enum(rawType, name, size, isSigned) { + rawType >>>= 0; + name >>>= 0; + size >>>= 0; + var shift = getShiftFromSize(size); + name = readLatin1String(name); + function ctor() { + } + ctor.values = {}; + registerType(rawType, { name, constructor: ctor, "fromWireType": function(c) { + return this.constructor.values[c]; + }, "toWireType": function(destructors, c) { + return c.value; + }, "argPackAdvance": 8, "readValueFromPointer": enumReadValueFromPointer(name, shift, isSigned), destructorFunction: null }); + exposePublicSymbol(name, ctor); + } + function requireRegisteredType(rawType, humanName) { + var impl = registeredTypes[rawType]; + if (impl === void 0) { + throwBindingError(humanName + " has unknown type " + getTypeName(rawType)); + } + return impl; + } + function __embind_register_enum_value(rawEnumType, name, enumValue) { + rawEnumType >>>= 0; + name >>>= 0; + enumValue >>>= 0; + var enumType = requireRegisteredType(rawEnumType, "enum"); + name = readLatin1String(name); + var Enum = enumType.constructor; + var Value = Object.create(enumType.constructor.prototype, { value: { value: enumValue }, constructor: { value: createNamedFunction(`${enumType.name}_${name}`, function() { + }) } }); + Enum.values[enumValue] = Value; + Enum[name] = Value; + } + function embindRepr(v) { + if (v === null) { + return "null"; + } + var t = typeof v; + if (t === "object" || t === "array" || t === "function") { + return v.toString(); + } else { + return "" + v; + } + } + function floatReadValueFromPointer(name, shift) { + switch (shift) { + case 2: + return function(pointer) { + return this["fromWireType"](HEAPF32[pointer >>> 2]); + }; + case 3: + return function(pointer) { + return this["fromWireType"](HEAPF64[pointer >>> 3]); + }; + default: + throw new TypeError("Unknown float type: " + name); + } + } + function __embind_register_float(rawType, name, size) { + rawType >>>= 0; + name >>>= 0; + size >>>= 0; + var shift = getShiftFromSize(size); + name = readLatin1String(name); + registerType(rawType, { name, "fromWireType": function(value) { + return value; + }, "toWireType": function(destructors, value) { + return value; + }, "argPackAdvance": 8, "readValueFromPointer": floatReadValueFromPointer(name, shift), destructorFunction: null }); + } + function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn, isAsync) { + name >>>= 0; + rawArgTypesAddr >>>= 0; + signature >>>= 0; + rawInvoker >>>= 0; + fn >>>= 0; + var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + name = readLatin1String(name); + rawInvoker = embind__requireFunction(signature, rawInvoker); + exposePublicSymbol(name, function() { + throwUnboundTypeError(`Cannot call ${name} due to unbound types`, argTypes); + }, argCount - 1); + whenDependentTypesAreResolved([], argTypes, function(argTypes2) { + var invokerArgsArray = [argTypes2[0], null].concat(argTypes2.slice(1)); + replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null, rawInvoker, fn, isAsync), argCount - 1); + return []; + }); + } + function integerReadValueFromPointer(name, shift, signed) { + switch (shift) { + case 0: + return signed ? function readS8FromPointer(pointer) { + return HEAP8[pointer >>> 0]; + } : function readU8FromPointer(pointer) { + return HEAPU8[pointer >>> 0]; + }; + case 1: + return signed ? function readS16FromPointer(pointer) { + return HEAP16[pointer >>> 1]; + } : function readU16FromPointer(pointer) { + return HEAPU16[pointer >>> 1]; + }; + case 2: + return signed ? function readS32FromPointer(pointer) { + return HEAP32[pointer >>> 2]; + } : function readU32FromPointer(pointer) { + return HEAPU32[pointer >>> 2]; + }; + default: + throw new TypeError("Unknown integer type: " + name); + } + } + function __embind_register_integer(primitiveType, name, size, minRange, maxRange) { + primitiveType >>>= 0; + name >>>= 0; + size >>>= 0; + name = readLatin1String(name); + var shift = getShiftFromSize(size); + var fromWireType = (value) => value; + if (minRange === 0) { + var bitshift = 32 - 8 * size; + fromWireType = (value) => value << bitshift >>> bitshift; + } + var isUnsignedType = name.includes("unsigned"); + var checkAssertions = (value, toTypeName) => { + }; + var toWireType; + if (isUnsignedType) { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + return value >>> 0; + }; + } else { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + return value; + }; + } + registerType(primitiveType, { name, "fromWireType": fromWireType, "toWireType": toWireType, "argPackAdvance": 8, "readValueFromPointer": integerReadValueFromPointer(name, shift, minRange !== 0), destructorFunction: null }); + } + function __embind_register_memory_view(rawType, dataTypeIndex, name) { + rawType >>>= 0; + name >>>= 0; + var typeMapping = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; + var TA = typeMapping[dataTypeIndex]; + function decodeMemoryView(handle) { + handle = handle >> 2; + var heap = HEAPU32; + var size = heap[handle >>> 0]; + var data = heap[handle + 1 >>> 0]; + return new TA(heap.buffer, data, size); + } + name = readLatin1String(name); + registerType(rawType, { name, "fromWireType": decodeMemoryView, "argPackAdvance": 8, "readValueFromPointer": decodeMemoryView }, { ignoreDuplicateRegistrations: true }); + } + var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { + outIdx >>>= 0; + if (!(maxBytesToWrite > 0)) + return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) + break; + heap[outIdx++ >>> 0] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) + break; + heap[outIdx++ >>> 0] = 192 | u >> 6; + heap[outIdx++ >>> 0] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) + break; + heap[outIdx++ >>> 0] = 224 | u >> 12; + heap[outIdx++ >>> 0] = 128 | u >> 6 & 63; + heap[outIdx++ >>> 0] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) + break; + heap[outIdx++ >>> 0] = 240 | u >> 18; + heap[outIdx++ >>> 0] = 128 | u >> 12 & 63; + heap[outIdx++ >>> 0] = 128 | u >> 6 & 63; + heap[outIdx++ >>> 0] = 128 | u & 63; + } + } + heap[outIdx >>> 0] = 0; + return outIdx - startIdx; + }; + var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); + var lengthBytesUTF8 = (str) => { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var c = str.charCodeAt(i); + if (c <= 127) { + len++; + } else if (c <= 2047) { + len += 2; + } else if (c >= 55296 && c <= 57343) { + len += 4; + ++i; + } else { + len += 3; + } + } + return len; + }; + var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : void 0; + var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => { + idx >>>= 0; + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) + ++endPtr; + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ""; + while (idx < endPtr) { + var u0 = heapOrArray[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue; + } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2; + } else { + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63; + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } + } + return str; + }; + var UTF8ToString = (ptr, maxBytesToRead) => { + ptr >>>= 0; + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""; + }; + function __embind_register_std_string(rawType, name) { + rawType >>>= 0; + name >>>= 0; + name = readLatin1String(name); + var stdStringIsUTF8 = name === "std::string"; + registerType(rawType, { name, "fromWireType": function(value) { + var length = HEAPU32[value >>> 2]; + var payload = value + 4; + var str; + if (stdStringIsUTF8) { + var decodeStartPtr = payload; + for (var i = 0; i <= length; ++i) { + var currentBytePtr = payload + i; + if (i == length || HEAPU8[currentBytePtr >>> 0] == 0) { + var maxRead = currentBytePtr - decodeStartPtr; + var stringSegment = UTF8ToString(decodeStartPtr, maxRead); + if (str === void 0) { + str = stringSegment; + } else { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + 1; + } + } + } else { + var a = new Array(length); + for (var i = 0; i < length; ++i) { + a[i] = String.fromCharCode(HEAPU8[payload + i >>> 0]); + } + str = a.join(""); + } + _free(value); + return str; + }, "toWireType": function(destructors, value) { + if (value instanceof ArrayBuffer) { + value = new Uint8Array(value); + } + var length; + var valueIsOfTypeString = typeof value == "string"; + if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) { + throwBindingError("Cannot pass non-string to std::string"); + } + if (stdStringIsUTF8 && valueIsOfTypeString) { + length = lengthBytesUTF8(value); + } else { + length = value.length; + } + var base = _malloc(4 + length + 1); + var ptr = base + 4; + HEAPU32[base >>> 2] = length; + if (stdStringIsUTF8 && valueIsOfTypeString) { + stringToUTF8(value, ptr, length + 1); + } else { + if (valueIsOfTypeString) { + for (var i = 0; i < length; ++i) { + var charCode = value.charCodeAt(i); + if (charCode > 255) { + _free(ptr); + throwBindingError("String has UTF-16 code units that do not fit in 8 bits"); + } + HEAPU8[ptr + i >>> 0] = charCode; + } + } else { + for (var i = 0; i < length; ++i) { + HEAPU8[ptr + i >>> 0] = value[i]; + } + } + } + if (destructors !== null) { + destructors.push(_free, base); + } + return base; + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: function(ptr) { + _free(ptr); + } }); + } + var UTF16Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf-16le") : void 0; + var UTF16ToString = (ptr, maxBytesToRead) => { + var endPtr = ptr; + var idx = endPtr >> 1; + var maxIdx = idx + maxBytesToRead / 2; + while (!(idx >= maxIdx) && HEAPU16[idx >>> 0]) + ++idx; + endPtr = idx << 1; + if (endPtr - ptr > 32 && UTF16Decoder) + return UTF16Decoder.decode(HEAPU8.subarray(ptr >>> 0, endPtr >>> 0)); + var str = ""; + for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { + var codeUnit = HEAP16[ptr + i * 2 >>> 1]; + if (codeUnit == 0) + break; + str += String.fromCharCode(codeUnit); + } + return str; + }; + var stringToUTF16 = (str, outPtr, maxBytesToWrite) => { + if (maxBytesToWrite === void 0) { + maxBytesToWrite = 2147483647; + } + if (maxBytesToWrite < 2) + return 0; + maxBytesToWrite -= 2; + var startPtr = outPtr; + var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + var codeUnit = str.charCodeAt(i); + HEAP16[outPtr >>> 1] = codeUnit; + outPtr += 2; + } + HEAP16[outPtr >>> 1] = 0; + return outPtr - startPtr; + }; + var lengthBytesUTF16 = (str) => str.length * 2; + var UTF32ToString = (ptr, maxBytesToRead) => { + var i = 0; + var str = ""; + while (!(i >= maxBytesToRead / 4)) { + var utf32 = HEAP32[ptr + i * 4 >>> 2]; + if (utf32 == 0) + break; + ++i; + if (utf32 >= 65536) { + var ch = utf32 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } else { + str += String.fromCharCode(utf32); + } + } + return str; + }; + var stringToUTF32 = (str, outPtr, maxBytesToWrite) => { + outPtr >>>= 0; + if (maxBytesToWrite === void 0) { + maxBytesToWrite = 2147483647; + } + if (maxBytesToWrite < 4) + return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 55296 && codeUnit <= 57343) { + var trailSurrogate = str.charCodeAt(++i); + codeUnit = 65536 + ((codeUnit & 1023) << 10) | trailSurrogate & 1023; + } + HEAP32[outPtr >>> 2] = codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) + break; + } + HEAP32[outPtr >>> 2] = 0; + return outPtr - startPtr; + }; + var lengthBytesUTF32 = (str) => { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 55296 && codeUnit <= 57343) + ++i; + len += 4; + } + return len; + }; + var __embind_register_std_wstring = function(rawType, charSize, name) { + rawType >>>= 0; + charSize >>>= 0; + name >>>= 0; + name = readLatin1String(name); + var decodeString, encodeString, getHeap, lengthBytesUTF, shift; + if (charSize === 2) { + decodeString = UTF16ToString; + encodeString = stringToUTF16; + lengthBytesUTF = lengthBytesUTF16; + getHeap = () => HEAPU16; + shift = 1; + } else if (charSize === 4) { + decodeString = UTF32ToString; + encodeString = stringToUTF32; + lengthBytesUTF = lengthBytesUTF32; + getHeap = () => HEAPU32; + shift = 2; + } + registerType(rawType, { name, "fromWireType": function(value) { + var length = HEAPU32[value >>> 2]; + var HEAP = getHeap(); + var str; + var decodeStartPtr = value + 4; + for (var i = 0; i <= length; ++i) { + var currentBytePtr = value + 4 + i * charSize; + if (i == length || HEAP[currentBytePtr >>> shift] == 0) { + var maxReadBytes = currentBytePtr - decodeStartPtr; + var stringSegment = decodeString(decodeStartPtr, maxReadBytes); + if (str === void 0) { + str = stringSegment; + } else { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + charSize; + } + } + _free(value); + return str; + }, "toWireType": function(destructors, value) { + if (!(typeof value == "string")) { + throwBindingError(`Cannot pass non-string to C++ string type ${name}`); + } + var length = lengthBytesUTF(value); + var ptr = _malloc(4 + length + charSize); + HEAPU32[ptr >>> 2] = length >> shift; + encodeString(value, ptr + 4, length + charSize); + if (destructors !== null) { + destructors.push(_free, ptr); + } + return ptr; + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: function(ptr) { + _free(ptr); + } }); + }; + function __embind_register_value_array(rawType, name, constructorSignature, rawConstructor, destructorSignature, rawDestructor) { + rawType >>>= 0; + name >>>= 0; + constructorSignature >>>= 0; + rawConstructor >>>= 0; + destructorSignature >>>= 0; + rawDestructor >>>= 0; + tupleRegistrations[rawType] = { name: readLatin1String(name), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), elements: [] }; + } + function __embind_register_value_array_element(rawTupleType, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) { + rawTupleType >>>= 0; + getterReturnType >>>= 0; + getterSignature >>>= 0; + getter >>>= 0; + getterContext >>>= 0; + setterArgumentType >>>= 0; + setterSignature >>>= 0; + setter >>>= 0; + setterContext >>>= 0; + tupleRegistrations[rawTupleType].elements.push({ getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext }); + } + function __embind_register_value_object(rawType, name, constructorSignature, rawConstructor, destructorSignature, rawDestructor) { + rawType >>>= 0; + name >>>= 0; + constructorSignature >>>= 0; + rawConstructor >>>= 0; + destructorSignature >>>= 0; + rawDestructor >>>= 0; + structRegistrations[rawType] = { name: readLatin1String(name), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), fields: [] }; + } + function __embind_register_value_object_field(structType, fieldName, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) { + structType >>>= 0; + fieldName >>>= 0; + getterReturnType >>>= 0; + getterSignature >>>= 0; + getter >>>= 0; + getterContext >>>= 0; + setterArgumentType >>>= 0; + setterSignature >>>= 0; + setter >>>= 0; + setterContext >>>= 0; + structRegistrations[structType].fields.push({ fieldName: readLatin1String(fieldName), getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext }); + } + function __embind_register_void(rawType, name) { + rawType >>>= 0; + name >>>= 0; + name = readLatin1String(name); + registerType(rawType, { isVoid: true, name, "argPackAdvance": 0, "fromWireType": function() { + return void 0; + }, "toWireType": function(destructors, o) { + return void 0; + } }); + } + function __emval_as(handle, returnType, destructorsRef) { + handle >>>= 0; + returnType >>>= 0; + destructorsRef >>>= 0; + handle = Emval.toValue(handle); + returnType = requireRegisteredType(returnType, "emval::as"); + var destructors = []; + var rd = Emval.toHandle(destructors); + HEAPU32[destructorsRef >>> 2] = rd; + return returnType["toWireType"](destructors, handle); + } + function emval_lookupTypes(argCount, argTypes) { + var a = new Array(argCount); + for (var i = 0; i < argCount; ++i) { + a[i] = requireRegisteredType(HEAPU32[argTypes + i * 4 >>> 2], "parameter " + i); + } + return a; + } + function __emval_call(handle, argCount, argTypes, argv) { + handle >>>= 0; + argTypes >>>= 0; + argv >>>= 0; + handle = Emval.toValue(handle); + var types = emval_lookupTypes(argCount, argTypes); + var args = new Array(argCount); + for (var i = 0; i < argCount; ++i) { + var type = types[i]; + args[i] = type["readValueFromPointer"](argv); + argv += type["argPackAdvance"]; + } + var rv = handle.apply(void 0, args); + return Emval.toHandle(rv); + } + var emval_symbols = {}; + function getStringOrSymbol(address) { + var symbol = emval_symbols[address]; + if (symbol === void 0) { + return readLatin1String(address); + } + return symbol; + } + function emval_get_global() { + if (typeof globalThis == "object") { + return globalThis; + } + return function() { + return Function; + }()("return this")(); + } + function __emval_get_global(name) { + name >>>= 0; + if (name === 0) { + return Emval.toHandle(emval_get_global()); + } else { + name = getStringOrSymbol(name); + return Emval.toHandle(emval_get_global()[name]); + } + } + function __emval_get_property(handle, key) { + handle >>>= 0; + key >>>= 0; + handle = Emval.toValue(handle); + key = Emval.toValue(key); + return Emval.toHandle(handle[key]); + } + function __emval_incref(handle) { + handle >>>= 0; + if (handle > 4) { + emval_handles.get(handle).refcount += 1; + } + } + function __emval_instanceof(object, constructor) { + object >>>= 0; + constructor >>>= 0; + object = Emval.toValue(object); + constructor = Emval.toValue(constructor); + return object instanceof constructor; + } + function __emval_is_number(handle) { + handle >>>= 0; + handle = Emval.toValue(handle); + return typeof handle == "number"; + } + function __emval_is_string(handle) { + handle >>>= 0; + handle = Emval.toValue(handle); + return typeof handle == "string"; + } + function __emval_new_array() { + return Emval.toHandle([]); + } + function __emval_new_cstring(v) { + v >>>= 0; + return Emval.toHandle(getStringOrSymbol(v)); + } + function __emval_new_object() { + return Emval.toHandle({}); + } + function __emval_run_destructors(handle) { + handle >>>= 0; + var destructors = Emval.toValue(handle); + runDestructors(destructors); + __emval_decref(handle); + } + function __emval_set_property(handle, key, value) { + handle >>>= 0; + key >>>= 0; + value >>>= 0; + handle = Emval.toValue(handle); + key = Emval.toValue(key); + value = Emval.toValue(value); + handle[key] = value; + } + function __emval_take_value(type, arg) { + type >>>= 0; + arg >>>= 0; + type = requireRegisteredType(type, "_emval_take_value"); + var v = type["readValueFromPointer"](arg); + return Emval.toHandle(v); + } + var _abort = () => { + abort(""); + }; + function _emscripten_memcpy_big(dest, src, num) { + dest >>>= 0; + src >>>= 0; + num >>>= 0; + return HEAPU8.copyWithin(dest >>> 0, src >>> 0, src + num >>> 0); + } + var getHeapMax = () => 4294901760; + var growMemory = (size) => { + var b = wasmMemory.buffer; + var pages = size - b.byteLength + 65535 >>> 16; + try { + wasmMemory.grow(pages); + updateMemoryViews(); + return 1; + } catch (e) { + } + }; + function _emscripten_resize_heap(requestedSize) { + requestedSize >>>= 0; + var oldSize = HEAPU8.length; + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + return false; + } + var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + var replacement = growMemory(newSize); + if (replacement) { + return true; + } + } + return false; + } + var ENV = {}; + var getExecutableName = () => thisProgram || "./this.program"; + var getEnvStrings = () => { + if (!getEnvStrings.strings) { + var lang = (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + var env = { "USER": "web_user", "LOGNAME": "web_user", "PATH": "/", "PWD": "/", "HOME": "/home/web_user", "LANG": lang, "_": getExecutableName() }; + for (var x in ENV) { + if (ENV[x] === void 0) + delete env[x]; + else + env[x] = ENV[x]; + } + var strings = []; + for (var x in env) { + strings.push(`${x}=${env[x]}`); + } + getEnvStrings.strings = strings; + } + return getEnvStrings.strings; + }; + var stringToAscii = (str, buffer) => { + for (var i = 0; i < str.length; ++i) { + HEAP8[buffer++ >>> 0] = str.charCodeAt(i); + } + HEAP8[buffer >>> 0] = 0; + }; + var PATH = { isAbs: (path) => path.charAt(0) === "/", splitPath: (filename) => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, normalizeArray: (parts, allowAboveRoot) => { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1); + } else if (last === "..") { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift(".."); + } + } + return parts; + }, normalize: (path) => { + var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter((p) => !!p), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, dirname: (path) => { + var result = PATH.splitPath(path), root = result[0], dir = result[1]; + if (!root && !dir) { + return "."; + } + if (dir) { + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + }, basename: (path) => { + if (path === "/") + return "/"; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) + return path; + return path.substr(lastSlash + 1); + }, join: function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join("/")); + }, join2: (l, r) => PATH.normalize(l + "/" + r) }; + var initRandomFill = () => { + if (typeof crypto == "object" && typeof crypto["getRandomValues"] == "function") { + return (view) => crypto.getRandomValues(view); + } else + abort("initRandomDevice"); + }; + var randomFill = (view) => (randomFill = initRandomFill())(view); + var PATH_FS = { resolve: function() { + var resolvedPath = "", resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path != "string") { + throw new TypeError("Arguments to path.resolve must be strings"); + } else if (!path) { + return ""; + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = PATH.isAbs(path); + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter((p) => !!p), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, relative: (from, to) => { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") + break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") + break; + } + if (start > end) + return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push(".."); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/"); + } }; + var FS_stdin_getChar_buffer = []; + function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) + u8array.length = numBytesWritten; + return u8array; + } + var FS_stdin_getChar = () => { + if (!FS_stdin_getChar_buffer.length) { + var result = null; + if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n"; + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n"; + } + } + if (!result) { + return null; + } + FS_stdin_getChar_buffer = intArrayFromString(result, true); + } + return FS_stdin_getChar_buffer.shift(); + }; + var TTY = { ttys: [], init: function() { + }, shutdown: function() { + }, register: function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops }; + FS.registerDevice(dev, TTY.stream_ops); + }, stream_ops: { open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + }, close: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, fsync: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === void 0 && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === void 0) + break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } }, default_tty_ops: { get_char: function(tty) { + return FS_stdin_getChar(); + }, put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) + tty.output.push(val); + } + }, fsync: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }, ioctl_tcgets: function(tty) { + return { c_iflag: 25856, c_oflag: 5, c_cflag: 191, c_lflag: 35387, c_cc: [3, 28, 127, 21, 4, 0, 1, 0, 17, 19, 26, 0, 18, 15, 23, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }; + }, ioctl_tcsets: function(tty, optional_actions, data) { + return 0; + }, ioctl_tiocgwinsz: function(tty) { + return [24, 80]; + } }, default_tty1_ops: { put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) + tty.output.push(val); + } + }, fsync: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } } }; + var mmapAlloc = (size) => { + abort(); + }; + var MEMFS = { ops_table: null, mount(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0); + }, createNode(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { dir: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, lookup: MEMFS.node_ops.lookup, mknod: MEMFS.node_ops.mknod, rename: MEMFS.node_ops.rename, unlink: MEMFS.node_ops.unlink, rmdir: MEMFS.node_ops.rmdir, readdir: MEMFS.node_ops.readdir, symlink: MEMFS.node_ops.symlink }, stream: { llseek: MEMFS.stream_ops.llseek } }, file: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: { llseek: MEMFS.stream_ops.llseek, read: MEMFS.stream_ops.read, write: MEMFS.stream_ops.write, allocate: MEMFS.stream_ops.allocate, mmap: MEMFS.stream_ops.mmap, msync: MEMFS.stream_ops.msync } }, link: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, readlink: MEMFS.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: FS.chrdev_stream_ops } }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node; + parent.timestamp = node.timestamp; + } + return node; + }, getFileDataAsTypedArray(node) { + if (!node.contents) + return new Uint8Array(0); + if (node.contents.subarray) + return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents); + }, expandFileStorage(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) + return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0); + if (prevCapacity != 0) + newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) + node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + }, resizeFileStorage(node, newSize) { + if (node.usedBytes == newSize) + return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); + } + node.usedBytes = newSize; + } + }, node_ops: { getattr(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + }, setattr(node, attr) { + if (attr.mode !== void 0) { + node.mode = attr.mode; + } + if (attr.timestamp !== void 0) { + node.timestamp = attr.timestamp; + } + if (attr.size !== void 0) { + MEMFS.resizeFileStorage(node, attr.size); + } + }, lookup(parent, name) { + throw FS.genericErrors[44]; + }, mknod(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + }, rename(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now(); + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + }, unlink(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, rmdir(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, readdir(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + }, symlink(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node; + }, readlink(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; + } }, stream_ops: { read(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) + return 0; + var size = Math.min(stream.node.usedBytes - position, length); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) + buffer[offset + i] = contents[position + i]; + } + return size; + }, write(stream, buffer, offset, length, position, canOwn) { + if (buffer.buffer === HEAP8.buffer) { + canOwn = false; + } + if (!length) + return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) { + node.contents.set(buffer.subarray(offset, offset + length), position); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + }, llseek(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, allocate(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + }, mmap(stream, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === HEAP8.buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr >>> 0); + } + return { ptr, allocated }; + }, msync(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0; + } } }; + var asyncLoad = (url, onload, onerror, noRunDep) => { + var dep = !noRunDep ? getUniqueRunDependency(`al ${url}`) : ""; + readAsync(url, (arrayBuffer) => { + assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); + onload(new Uint8Array(arrayBuffer)); + if (dep) + removeRunDependency(); + }, (event) => { + if (onerror) { + onerror(); + } else { + throw `Loading data file "${url}" failed.`; + } + }); + if (dep) + addRunDependency(); + }; + var preloadPlugins = Module["preloadPlugins"] || []; + function FS_handledByPreloadPlugin(byteArray, fullname, finish, onerror) { + if (typeof Browser != "undefined") + Browser.init(); + var handled = false; + preloadPlugins.forEach(function(plugin) { + if (handled) + return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, onerror); + handled = true; + } + }); + return handled; + } + function FS_createPreloadedFile(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + function processData(byteArray) { + function finish(byteArray2) { + if (preFinish) + preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray2, canRead, canWrite, canOwn); + } + if (onload) + onload(); + removeRunDependency(); + } + if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) + onerror(); + removeRunDependency(); + })) { + return; + } + finish(byteArray); + } + addRunDependency(); + if (typeof url == "string") { + asyncLoad(url, (byteArray) => processData(byteArray), onerror); + } else { + processData(url); + } + } + function FS_modeStringToFlags(str) { + var flagModes = { "r": 0, "r+": 2, "w": 512 | 64 | 1, "w+": 512 | 64 | 2, "a": 1024 | 64 | 1, "a+": 1024 | 64 | 2 }; + var flags = flagModes[str]; + if (typeof flags == "undefined") { + throw new Error(`Unknown file open mode: ${str}`); + } + return flags; + } + function FS_getMode(canRead, canWrite) { + var mode = 0; + if (canRead) + mode |= 292 | 73; + if (canWrite) + mode |= 146; + return mode; + } + var FS = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: false, ignorePermissions: true, ErrnoError: null, genericErrors: {}, filesystems: null, syncFSRequests: 0, lookupPath: (path, opts = {}) => { + path = PATH_FS.resolve(path); + if (!path) + return { path: "", node: null }; + var defaults = { follow_mount: true, recurse_count: 0 }; + opts = Object.assign(defaults, opts); + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32); + } + var parts = path.split("/").filter((p) => !!p); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break; + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root; + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count + 1 }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } + } + } + } + return { path: current_path, node: current }; + }, getPath: (node) => { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) + return mount; + return mount[mount.length - 1] !== "/" ? `${mount}/${path}` : mount + path; + } + path = path ? `${node.name}/${path}` : node.name; + node = node.parent; + } + }, hashName: (parentid, name) => { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0; + } + return (parentid + hash >>> 0) % FS.nameTable.length; + }, hashAddNode: (node) => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, hashRemoveNode: (node) => { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + }, lookupNode: (parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + return FS.lookup(parent, name); + }, createNode: (parent, name, mode, rdev) => { + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, destroyNode: (node) => { + FS.hashRemoveNode(node); + }, isRoot: (node) => node === node.parent, isMountpoint: (node) => !!node.mounted, isFile: (mode) => (mode & 61440) === 32768, isDir: (mode) => (mode & 61440) === 16384, isLink: (mode) => (mode & 61440) === 40960, isChrdev: (mode) => (mode & 61440) === 8192, isBlkdev: (mode) => (mode & 61440) === 24576, isFIFO: (mode) => (mode & 61440) === 4096, isSocket: (mode) => (mode & 49152) === 49152, flagsToPermissionString: (flag) => { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; + }, nodePermissions: (node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + if (perms.includes("r") && !(node.mode & 292)) { + return 2; + } else if (perms.includes("w") && !(node.mode & 146)) { + return 2; + } else if (perms.includes("x") && !(node.mode & 73)) { + return 2; + } + return 0; + }, mayLookup: (dir) => { + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) + return errCode; + if (!dir.node_ops.lookup) + return 2; + return 0; + }, mayCreate: (dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, "wx"); + }, mayDelete: (dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + }, mayOpen: (node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, MAX_OPEN_FDS: 4096, nextfd: () => { + for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + }, getStreamChecked: (fd) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + return stream; + }, getStream: (fd) => FS.streams[fd], createStream: (stream, fd = -1) => { + if (!FS.FSStream) { + FS.FSStream = function() { + this.shared = {}; + }; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { object: { get() { + return this.node; + }, set(val) { + this.node = val; + } }, isRead: { get() { + return (this.flags & 2097155) !== 1; + } }, isWrite: { get() { + return (this.flags & 2097155) !== 0; + } }, isAppend: { get() { + return this.flags & 1024; + } }, flags: { get() { + return this.shared.flags; + }, set(val) { + this.shared.flags = val; + } }, position: { get() { + return this.shared.position; + }, set(val) { + this.shared.position = val; + } } }); + } + stream = Object.assign(new FS.FSStream(), stream); + if (fd == -1) { + fd = FS.nextfd(); + } + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, closeStream: (fd) => { + FS.streams[fd] = null; + }, chrdev_stream_ops: { open: (stream) => { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + }, llseek: () => { + throw new FS.ErrnoError(70); + } }, major: (dev) => dev >> 8, minor: (dev) => dev & 255, makedev: (ma, mi) => ma << 8 | mi, registerDevice: (dev, ops) => { + FS.devices[dev] = { stream_ops: ops }; + }, getDevice: (dev) => FS.devices[dev], getMounts: (mount) => { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts); + } + return mounts; + }, syncfs: (populate, callback) => { + if (typeof populate == "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + function doCallback(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + mounts.forEach((mount) => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, mount: (type, opts, mountpoint) => { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + var mount = { type, opts, mountpoint, mounts: [] }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot; + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount); + } + } + return mountRoot; + }, unmount: (mountpoint) => { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach((hash) => { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, lookup: (parent, name) => parent.node_ops.lookup(parent, name), mknod: (path, mode, dev) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, create: (path, mode) => { + mode = mode !== void 0 ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, mkdir: (path, mode) => { + mode = mode !== void 0 ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, mkdirTree: (path, mode) => { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) + continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode); + } catch (e) { + if (e.errno != 20) + throw e; + } + } + }, mkdev: (path, mode, dev) => { + if (typeof dev == "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, symlink: (oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, rename: (old_path, new_path) => { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + if (!old_dir || !new_dir) + throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (old_node === new_node) { + return; + } + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + FS.hashAddNode(old_node); + } + }, rmdir: (path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + }, readdir: (path) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, unlink: (path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + }, readlink: (path) => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + }, stat: (path, dontFollow) => { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, lstat: (path) => FS.stat(path, true), chmod: (path, mode, dontFollow) => { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { mode: mode & 4095 | node.mode & ~4095, timestamp: Date.now() }); + }, lchmod: (path, mode) => { + FS.chmod(path, mode, true); + }, fchmod: (fd, mode) => { + var stream = FS.getStreamChecked(fd); + FS.chmod(stream.node, mode); + }, chown: (path, uid, gid, dontFollow) => { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { timestamp: Date.now() }); + }, lchown: (path, uid, gid) => { + FS.chown(path, uid, gid, true); + }, fchown: (fd, uid, gid) => { + var stream = FS.getStreamChecked(fd); + FS.chown(stream.node, uid, gid); + }, truncate: (path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); + }, ftruncate: (fd, len) => { + var stream = FS.getStreamChecked(fd); + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, utime: (path, atime, mtime) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); + }, open: (path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags == "string" ? FS_modeStringToFlags(flags) : flags; + mode = typeof mode == "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768; + } else { + mode = 0; + } + var node; + if (typeof path == "object") { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); + node = lookup.node; + } catch (e) { + } + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512 && !created) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream({ node, path: FS.getPath(node), flags, seekable: true, position: 0, stream_ops: node.stream_ops, ungotten: [], error: false }); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) + FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + } + } + return stream; + }, close: (stream) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) + stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + }, isClosed: (stream) => stream.fd === null, llseek: (stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, read: (stream, buffer, offset, length, position) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) + stream.position += bytesRead; + return bytesRead; + }, write: (stream, buffer, offset, length, position, canOwn) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + FS.llseek(stream, 0, 2); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) + stream.position += bytesWritten; + return bytesWritten; + }, allocate: (stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, mmap: (stream, length, position, prot, flags) => { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + }, msync: (stream, buffer, offset, length, mmapFlags) => { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + }, munmap: (stream) => 0, ioctl: (stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, readFile: (path, opts = {}) => { + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error(`Invalid encoding type "${opts.encoding}"`); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === "binary") { + ret = buf; + } + FS.close(stream); + return ret; + }, writeFile: (path, data, opts = {}) => { + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data == "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, void 0, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, void 0, opts.canOwn); + } else { + throw new Error("Unsupported data type"); + } + FS.close(stream); + }, cwd: () => FS.currentPath, chdir: (path) => { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, createDefaultDirectories: () => { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, createDefaultDevices: () => { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { read: () => 0, write: (stream, buffer, offset, length, pos) => length }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var randomBuffer = new Uint8Array(1024), randomLeft = 0; + var randomByte = () => { + if (randomLeft === 0) { + randomLeft = randomFill(randomBuffer).byteLength; + } + return randomBuffer[--randomLeft]; + }; + FS.createDevice("/dev", "random", randomByte); + FS.createDevice("/dev", "urandom", randomByte); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, createSpecialDirectories: () => { + FS.mkdir("/proc"); + var proc_self = FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ mount: () => { + var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); + node.node_ops = { lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStreamChecked(fd); + var ret = { parent: null, mount: { mountpoint: "fake" }, node_ops: { readlink: () => stream.path } }; + ret.parent = ret; + return ret; + } }; + return node; + } }, {}, "/proc/self/fd"); + }, createStandardStreams: () => { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]); + } else { + FS.symlink("/dev/tty", "/dev/stdin"); + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]); + } else { + FS.symlink("/dev/tty", "/dev/stdout"); + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]); + } else { + FS.symlink("/dev/tty1", "/dev/stderr"); + } + FS.open("/dev/stdin", 0); + FS.open("/dev/stdout", 1); + FS.open("/dev/stderr", 1); + }, ensureErrnoError: () => { + if (FS.ErrnoError) + return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.name = "ErrnoError"; + this.node = node; + this.setErrno = function(errno2) { + this.errno = errno2; + }; + this.setErrno(errno); + this.message = "FS error"; + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach((code) => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); + }, staticInit: () => { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { "MEMFS": MEMFS }; + }, init: (input, output, error) => { + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams(); + }, quit: () => { + FS.init.initialized = false; + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, findObject: (path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + }, analyzePath: (path, dontResolveLastLink) => { + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { isRoot: false, exists: false, error: 0, name: null, path: null, object: null, parentExists: false, parentPath: null, parentObject: null }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/"; + } catch (e) { + ret.error = e.errno; + } + return ret; + }, createPath: (parent, path, canRead, canWrite) => { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) + continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + } + parent = current; + } + return current; + }, createFile: (parent, name, properties, canRead, canWrite) => { + var path = PATH.join2(typeof parent == "string" ? parent : FS.getPath(parent), name); + var mode = FS_getMode(canRead, canWrite); + return FS.create(path, mode); + }, createDataFile: (parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + path = name ? PATH.join2(parent, name) : parent; + } + var mode = FS_getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data == "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) + arr[i] = data.charCodeAt(i); + data = arr; + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + }, createDevice: (parent, name, input, output) => { + var path = PATH.join2(typeof parent == "string" ? parent : FS.getPath(parent), name); + var mode = FS_getMode(!!input, !!output); + if (!FS.createDevice.major) + FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { open: (stream) => { + stream.seekable = false; + }, close: (stream) => { + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, read: (stream, buffer, offset, length, pos) => { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === void 0 && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === void 0) + break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } }); + return FS.mkdev(path, mode, dev); + }, forceLoadFile: (obj) => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) + return true; + if (typeof XMLHttpRequest != "undefined") { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, createLazyFile: (parent, name, url, canRead, canWrite) => { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return void 0; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest(); + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) + throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) + chunkSize = datalength; + var doXHR = (from, to) => { + if (from > to) + throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) + throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr2 = new XMLHttpRequest(); + xhr2.open("GET", url, false); + if (datalength !== chunkSize) + xhr2.setRequestHeader("Range", "bytes=" + from + "-" + to); + xhr2.responseType = "arraybuffer"; + if (xhr2.overrideMimeType) { + xhr2.overrideMimeType("text/plain; charset=x-user-defined"); + } + xhr2.send(null); + if (!(xhr2.status >= 200 && xhr2.status < 300 || xhr2.status === 304)) + throw new Error("Couldn't load " + url + ". Status: " + xhr2.status); + if (xhr2.response !== void 0) { + return new Uint8Array(xhr2.response || []); + } + return intArrayFromString(xhr2.responseText || "", true); + }; + var lazyArray2 = this; + lazyArray2.setDataGetter((chunkNum) => { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray2.chunks[chunkNum] == "undefined") { + lazyArray2.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray2.chunks[chunkNum] == "undefined") + throw new Error("doXHR failed!"); + return lazyArray2.chunks[chunkNum]; + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + out("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest != "undefined") { + throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array(); + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url }; + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + Object.defineProperties(node, { usedBytes: { get: function() { + return this.contents.length; + } } }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach((key) => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i); + } + } + return size; + } + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position); + }; + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, HEAP8, ptr, length, position); + return { ptr, allocated: true }; + }; + node.stream_ops = stream_ops; + return node; + } }; + var SYSCALLS = { DEFAULT_POLLMASK: 5, calculateAt: function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44); + } + return dir; + } + return PATH.join2(dir, path); + }, doStat: function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54; + } + throw e; + } + HEAP32[buf >>> 2] = stat.dev; + HEAP32[buf + 4 >>> 2] = stat.mode; + HEAPU32[buf + 8 >>> 2] = stat.nlink; + HEAP32[buf + 12 >>> 2] = stat.uid; + HEAP32[buf + 16 >>> 2] = stat.gid; + HEAP32[buf + 20 >>> 2] = stat.rdev; + tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 24 >>> 2] = tempI64[0], HEAP32[buf + 28 >>> 2] = tempI64[1]; + HEAP32[buf + 32 >>> 2] = 4096; + HEAP32[buf + 36 >>> 2] = stat.blocks; + var atime = stat.atime.getTime(); + var mtime = stat.mtime.getTime(); + var ctime = stat.ctime.getTime(); + tempI64 = [Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 40 >>> 2] = tempI64[0], HEAP32[buf + 44 >>> 2] = tempI64[1]; + HEAPU32[buf + 48 >>> 2] = atime % 1e3 * 1e3; + tempI64 = [Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 56 >>> 2] = tempI64[0], HEAP32[buf + 60 >>> 2] = tempI64[1]; + HEAPU32[buf + 64 >>> 2] = mtime % 1e3 * 1e3; + tempI64 = [Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 72 >>> 2] = tempI64[0], HEAP32[buf + 76 >>> 2] = tempI64[1]; + HEAPU32[buf + 80 >>> 2] = ctime % 1e3 * 1e3; + tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 88 >>> 2] = tempI64[0], HEAP32[buf + 92 >>> 2] = tempI64[1]; + return 0; + }, doMsync: function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + return 0; + } + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + }, varargs: void 0, get() { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >>> 2]; + return ret; + }, getStr(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, getStreamFromFD: function(fd) { + var stream = FS.getStreamChecked(fd); + return stream; + } }; + function _environ_get(__environ, environ_buf) { + __environ >>>= 0; + environ_buf >>>= 0; + var bufSize = 0; + getEnvStrings().forEach(function(string, i) { + var ptr = environ_buf + bufSize; + HEAPU32[__environ + i * 4 >>> 2] = ptr; + stringToAscii(string, ptr); + bufSize += string.length + 1; + }); + return 0; + } + function _environ_sizes_get(penviron_count, penviron_buf_size) { + penviron_count >>>= 0; + penviron_buf_size >>>= 0; + var strings = getEnvStrings(); + HEAPU32[penviron_count >>> 2] = strings.length; + var bufSize = 0; + strings.forEach(function(string) { + bufSize += string.length + 1; + }); + HEAPU32[penviron_buf_size >>> 2] = bufSize; + return 0; + } + function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) + throw e; + return e.errno; + } + } + var doReadv = (stream, iov, iovcnt, offset) => { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >>> 2]; + var len = HEAPU32[iov + 4 >>> 2]; + iov += 8; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) + return -1; + ret += curr; + if (curr < len) + break; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; + }; + function _fd_read(fd, iov, iovcnt, pnum) { + iov >>>= 0; + iovcnt >>>= 0; + pnum >>>= 0; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[pnum >>> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) + throw e; + return e.errno; + } + } + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + var offset = convertI32PairToI53Checked(offset_low, offset_high); + newOffset >>>= 0; + try { + if (isNaN(offset)) + return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + FS.llseek(stream, offset, whence); + tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[newOffset >>> 2] = tempI64[0], HEAP32[newOffset + 4 >>> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) + stream.getdents = null; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) + throw e; + return e.errno; + } + } + var doWritev = (stream, iov, iovcnt, offset) => { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >>> 2]; + var len = HEAPU32[iov + 4 >>> 2]; + iov += 8; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) + return -1; + ret += curr; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; + }; + function _fd_write(fd, iov, iovcnt, pnum) { + iov >>>= 0; + iovcnt >>>= 0; + pnum >>>= 0; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + HEAPU32[pnum >>> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) + throw e; + return e.errno; + } + } + var isLeapYear = (year) => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); + var arraySum = (array, index) => { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]) { + } + return sum; + }; + var MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + var MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + var addDays = (date, days) => { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1); + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1); + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate; + } + } + return newDate; + }; + var writeArrayToMemory = (array, buffer) => { + HEAP8.set(array, buffer >>> 0); + }; + function _strftime(s, maxsize, format, tm) { + s >>>= 0; + maxsize >>>= 0; + format >>>= 0; + tm >>>= 0; + var tm_zone = HEAP32[tm + 40 >>> 2]; + var date = { tm_sec: HEAP32[tm >>> 2], tm_min: HEAP32[tm + 4 >>> 2], tm_hour: HEAP32[tm + 8 >>> 2], tm_mday: HEAP32[tm + 12 >>> 2], tm_mon: HEAP32[tm + 16 >>> 2], tm_year: HEAP32[tm + 20 >>> 2], tm_wday: HEAP32[tm + 24 >>> 2], tm_yday: HEAP32[tm + 28 >>> 2], tm_isdst: HEAP32[tm + 32 >>> 2], tm_gmtoff: HEAP32[tm + 36 >>> 2], tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { "%c": "%a %b %d %H:%M:%S %Y", "%D": "%m/%d/%y", "%F": "%Y-%m-%d", "%h": "%b", "%r": "%I:%M:%S %p", "%R": "%H:%M", "%T": "%H:%M:%S", "%x": "%m/%d/%y", "%X": "%H:%M:%S", "%Ec": "%c", "%EC": "%C", "%Ex": "%m/%d/%y", "%EX": "%H:%M:%S", "%Ey": "%y", "%EY": "%Y", "%Od": "%d", "%Oe": "%e", "%OH": "%H", "%OI": "%I", "%Om": "%m", "%OM": "%M", "%OS": "%S", "%Ou": "%u", "%OU": "%U", "%OV": "%V", "%Ow": "%w", "%OW": "%W", "%Oy": "%y" }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]); + } + var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; + var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + function leadingSomething(value, digits, character) { + var str = typeof value == "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str; + } + return str; + } + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0"); + } + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0; + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()); + } + } + return compare; + } + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + case 1: + return janFourth; + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30); + } + } + function getWeekBasedYear(date2) { + var thisDate = addDays(new Date(date2.tm_year + 1900, 0, 1), date2.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1; + } + return thisDate.getFullYear(); + } + return thisDate.getFullYear() - 1; + } + var EXPANSION_RULES_2 = { "%a": (date2) => WEEKDAYS[date2.tm_wday].substring(0, 3), "%A": (date2) => WEEKDAYS[date2.tm_wday], "%b": (date2) => MONTHS[date2.tm_mon].substring(0, 3), "%B": (date2) => MONTHS[date2.tm_mon], "%C": (date2) => { + var year = date2.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2); + }, "%d": (date2) => leadingNulls(date2.tm_mday, 2), "%e": (date2) => leadingSomething(date2.tm_mday, 2, " "), "%g": (date2) => getWeekBasedYear(date2).toString().substring(2), "%G": (date2) => getWeekBasedYear(date2), "%H": (date2) => leadingNulls(date2.tm_hour, 2), "%I": (date2) => { + var twelveHour = date2.tm_hour; + if (twelveHour == 0) + twelveHour = 12; + else if (twelveHour > 12) + twelveHour -= 12; + return leadingNulls(twelveHour, 2); + }, "%j": (date2) => leadingNulls(date2.tm_mday + arraySum(isLeapYear(date2.tm_year + 1900) ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR, date2.tm_mon - 1), 3), "%m": (date2) => leadingNulls(date2.tm_mon + 1, 2), "%M": (date2) => leadingNulls(date2.tm_min, 2), "%n": () => "\n", "%p": (date2) => { + if (date2.tm_hour >= 0 && date2.tm_hour < 12) { + return "AM"; + } + return "PM"; + }, "%S": (date2) => leadingNulls(date2.tm_sec, 2), "%t": () => " ", "%u": (date2) => date2.tm_wday || 7, "%U": (date2) => { + var days = date2.tm_yday + 7 - date2.tm_wday; + return leadingNulls(Math.floor(days / 7), 2); + }, "%V": (date2) => { + var val = Math.floor((date2.tm_yday + 7 - (date2.tm_wday + 6) % 7) / 7); + if ((date2.tm_wday + 371 - date2.tm_yday - 2) % 7 <= 2) { + val++; + } + if (!val) { + val = 52; + var dec31 = (date2.tm_wday + 7 - date2.tm_yday - 1) % 7; + if (dec31 == 4 || dec31 == 5 && isLeapYear(date2.tm_year % 400 - 1)) { + val++; + } + } else if (val == 53) { + var jan1 = (date2.tm_wday + 371 - date2.tm_yday) % 7; + if (jan1 != 4 && (jan1 != 3 || !isLeapYear(date2.tm_year))) + val = 1; + } + return leadingNulls(val, 2); + }, "%w": (date2) => date2.tm_wday, "%W": (date2) => { + var days = date2.tm_yday + 7 - (date2.tm_wday + 6) % 7; + return leadingNulls(Math.floor(days / 7), 2); + }, "%y": (date2) => (date2.tm_year + 1900).toString().substring(2), "%Y": (date2) => date2.tm_year + 1900, "%z": (date2) => { + var off = date2.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4); + }, "%Z": (date2) => date2.tm_zone, "%%": () => "%" }; + pattern = pattern.replace(/%%/g, "\0\0"); + for (var rule in EXPANSION_RULES_2) { + if (pattern.includes(rule)) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)); + } + } + pattern = pattern.replace(/\0\0/g, "%"); + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0; + } + writeArrayToMemory(bytes, s); + return bytes.length - 1; + } + function _strftime_l(s, maxsize, format, tm, loc) { + s >>>= 0; + maxsize >>>= 0; + format >>>= 0; + tm >>>= 0; + return _strftime(s, maxsize, format, tm); + } + InternalError = Module["InternalError"] = class InternalError extends Error { + constructor(message) { + super(message); + this.name = "InternalError"; + } + }; + embind_init_charCodes(); + BindingError = Module["BindingError"] = class BindingError extends Error { + constructor(message) { + super(message); + this.name = "BindingError"; + } + }; + init_ClassHandle(); + init_embind(); + init_RegisteredPointer(); + UnboundTypeError = Module["UnboundTypeError"] = extendError(Error, "UnboundTypeError"); + handleAllocatorInit(); + init_emval(); + var FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FSNode.prototype, { read: { get: function() { + return (this.mode & readMode) === readMode; + }, set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } }, write: { get: function() { + return (this.mode & writeMode) === writeMode; + }, set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } }, isFolder: { get: function() { + return FS.isDir(this.mode); + } }, isDevice: { get: function() { + return FS.isChrdev(this.mode); + } } }); + FS.FSNode = FSNode; + FS.createPreloadedFile = FS_createPreloadedFile; + FS.staticInit(); + var wasmImports = { g: ___cxa_throw, S: __embind_finalize_value_array, q: __embind_finalize_value_object, G: __embind_register_bigint, Q: __embind_register_bool, p: __embind_register_class, o: __embind_register_class_constructor, b: __embind_register_class_function, P: __embind_register_emval, C: __embind_register_enum, t: __embind_register_enum_value, A: __embind_register_float, c: __embind_register_function, s: __embind_register_integer, k: __embind_register_memory_view, B: __embind_register_std_string, x: __embind_register_std_wstring, T: __embind_register_value_array, l: __embind_register_value_array_element, r: __embind_register_value_object, e: __embind_register_value_object_field, R: __embind_register_void, j: __emval_as, v: __emval_call, a: __emval_decref, z: __emval_get_global, h: __emval_get_property, n: __emval_incref, E: __emval_instanceof, y: __emval_is_number, D: __emval_is_string, U: __emval_new_array, f: __emval_new_cstring, u: __emval_new_object, i: __emval_run_destructors, m: __emval_set_property, d: __emval_take_value, w: _abort, O: _emscripten_memcpy_big, M: _emscripten_resize_heap, I: _environ_get, J: _environ_sizes_get, K: _fd_close, L: _fd_read, F: _fd_seek, N: _fd_write, H: _strftime_l }; + createWasm(); + var _malloc = (a0) => (_malloc = wasmExports["Y"])(a0); + var ___getTypeName = (a0) => (___getTypeName = wasmExports["Z"])(a0); + Module["__embind_initialize_bindings"] = () => (Module["__embind_initialize_bindings"] = wasmExports["_"])(); + var _free = (a0) => (_free = wasmExports["$"])(a0); + var ___cxa_is_pointer_type = (a0) => (___cxa_is_pointer_type = wasmExports["aa"])(a0); + Module["dynCall_jiji"] = (a0, a1, a2, a3, a4) => (Module["dynCall_jiji"] = wasmExports["ba"])(a0, a1, a2, a3, a4); + Module["dynCall_viijii"] = (a0, a1, a2, a3, a4, a5, a6) => (Module["dynCall_viijii"] = wasmExports["ca"])(a0, a1, a2, a3, a4, a5, a6); + Module["dynCall_iiiiij"] = (a0, a1, a2, a3, a4, a5, a6) => (Module["dynCall_iiiiij"] = wasmExports["da"])(a0, a1, a2, a3, a4, a5, a6); + Module["dynCall_iiiiijj"] = (a0, a1, a2, a3, a4, a5, a6, a7, a8) => (Module["dynCall_iiiiijj"] = wasmExports["ea"])(a0, a1, a2, a3, a4, a5, a6, a7, a8); + Module["dynCall_iiiiiijj"] = (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) => (Module["dynCall_iiiiiijj"] = wasmExports["fa"])(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); + function applySignatureConversions(exports2) { + exports2 = Object.assign({}, exports2); + var makeWrapper_pp = (f) => (a0) => f(a0) >>> 0; + var makeWrapper_p = (f) => () => f() >>> 0; + exports2["malloc"] = makeWrapper_pp(exports2["malloc"]); + exports2["__getTypeName"] = makeWrapper_pp(exports2["__getTypeName"]); + exports2["__errno_location"] = makeWrapper_p(exports2["__errno_location"]); + exports2["stackSave"] = makeWrapper_p(exports2["stackSave"]); + exports2["stackAlloc"] = makeWrapper_pp(exports2["stackAlloc"]); + return exports2; + } + var calledRun; + dependenciesFulfilled = function runCaller() { + if (!calledRun) + run(); + if (!calledRun) + dependenciesFulfilled = runCaller; + }; + function run() { + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) + return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) + return; + initRuntime(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) + Module["onRuntimeInitialized"](); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + } + if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") + Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } + } + run(); + return moduleArg.ready; + }; + })(); + if (typeof exports === "object" && typeof module === "object") + module.exports = WebIFCWasm2; + else if (typeof define === "function" && define["amd"]) + define([], () => WebIFCWasm2); + } +}); + +// dist/ifc-schema.ts +var IFCURIREFERENCE = 950732822; +var IFCTIME = 4075327185; +var IFCTEMPERATURERATEOFCHANGEMEASURE = 1209108979; +var IFCSOUNDPRESSURELEVELMEASURE = 3457685358; +var IFCSOUNDPOWERLEVELMEASURE = 4157543285; +var IFCPROPERTYSETDEFINITIONSET = 2798247006; +var IFCPOSITIVEINTEGER = 1790229001; +var IFCNONNEGATIVELENGTHMEASURE = 525895558; +var IFCLINEINDEX = 1774176899; +var IFCLANGUAGEID = 1275358634; +var IFCDURATION = 2541165894; +var IFCDAYINWEEKNUMBER = 3701338814; +var IFCDATETIME = 2195413836; +var IFCDATE = 937566702; +var IFCCARDINALPOINTREFERENCE = 1683019596; +var IFCBINARY = 2314439260; +var IFCAREADENSITYMEASURE = 1500781891; +var IFCARCINDEX = 3683503648; +var IFCYEARNUMBER = 4065007721; +var IFCWARPINGMOMENTMEASURE = 1718600412; +var IFCWARPINGCONSTANTMEASURE = 51269191; +var IFCVOLUMETRICFLOWRATEMEASURE = 2593997549; +var IFCVOLUMEMEASURE = 3458127941; +var IFCVAPORPERMEABILITYMEASURE = 3345633955; +var IFCTORQUEMEASURE = 1278329552; +var IFCTIMESTAMP = 2591213694; +var IFCTIMEMEASURE = 2726807636; +var IFCTHERMODYNAMICTEMPERATUREMEASURE = 743184107; +var IFCTHERMALTRANSMITTANCEMEASURE = 2016195849; +var IFCTHERMALRESISTANCEMEASURE = 857959152; +var IFCTHERMALEXPANSIONCOEFFICIENTMEASURE = 2281867870; +var IFCTHERMALCONDUCTIVITYMEASURE = 2645777649; +var IFCTHERMALADMITTANCEMEASURE = 232962298; +var IFCTEXTTRANSFORMATION = 296282323; +var IFCTEXTFONTNAME = 603696268; +var IFCTEXTDECORATION = 3490877962; +var IFCTEXTALIGNMENT = 1460886941; +var IFCTEXT = 2801250643; +var IFCTEMPERATUREGRADIENTMEASURE = 58845555; +var IFCSPECULARROUGHNESS = 361837227; +var IFCSPECULAREXPONENT = 2757832317; +var IFCSPECIFICHEATCAPACITYMEASURE = 3477203348; +var IFCSOUNDPRESSUREMEASURE = 993287707; +var IFCSOUNDPOWERMEASURE = 846465480; +var IFCSOLIDANGLEMEASURE = 3471399674; +var IFCSHEARMODULUSMEASURE = 408310005; +var IFCSECTIONALAREAINTEGRALMEASURE = 2190458107; +var IFCSECTIONMODULUSMEASURE = 3467162246; +var IFCSECONDINMINUTE = 2766185779; +var IFCROTATIONALSTIFFNESSMEASURE = 3211557302; +var IFCROTATIONALMASSMEASURE = 1755127002; +var IFCROTATIONALFREQUENCYMEASURE = 2133746277; +var IFCREAL = 200335297; +var IFCRATIOMEASURE = 96294661; +var IFCRADIOACTIVITYMEASURE = 3972513137; +var IFCPRESSUREMEASURE = 3665567075; +var IFCPRESENTABLETEXT = 2169031380; +var IFCPOWERMEASURE = 1364037233; +var IFCPOSITIVERATIOMEASURE = 1245737093; +var IFCPOSITIVEPLANEANGLEMEASURE = 3054510233; +var IFCPOSITIVELENGTHMEASURE = 2815919920; +var IFCPLANEANGLEMEASURE = 4042175685; +var IFCPLANARFORCEMEASURE = 2642773653; +var IFCPARAMETERVALUE = 2260317790; +var IFCPHMEASURE = 929793134; +var IFCNUMERICMEASURE = 2395907400; +var IFCNORMALISEDRATIOMEASURE = 2095195183; +var IFCMONTHINYEARNUMBER = 765770214; +var IFCMONETARYMEASURE = 2615040989; +var IFCMOMENTOFINERTIAMEASURE = 3114022597; +var IFCMOLECULARWEIGHTMEASURE = 1648970520; +var IFCMOISTUREDIFFUSIVITYMEASURE = 3177669450; +var IFCMODULUSOFSUBGRADEREACTIONMEASURE = 1753493141; +var IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE = 1052454078; +var IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE = 2173214787; +var IFCMODULUSOFELASTICITYMEASURE = 3341486342; +var IFCMINUTEINHOUR = 102610177; +var IFCMASSPERLENGTHMEASURE = 3531705166; +var IFCMASSMEASURE = 3124614049; +var IFCMASSFLOWRATEMEASURE = 4017473158; +var IFCMASSDENSITYMEASURE = 1477762836; +var IFCMAGNETICFLUXMEASURE = 2486716878; +var IFCMAGNETICFLUXDENSITYMEASURE = 286949696; +var IFCLUMINOUSINTENSITYMEASURE = 151039812; +var IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE = 2755797622; +var IFCLUMINOUSFLUXMEASURE = 2095003142; +var IFCLOGICAL = 503418787; +var IFCLINEARVELOCITYMEASURE = 3086160713; +var IFCLINEARSTIFFNESSMEASURE = 1307019551; +var IFCLINEARMOMENTMEASURE = 2128979029; +var IFCLINEARFORCEMEASURE = 191860431; +var IFCLENGTHMEASURE = 1243674935; +var IFCLABEL = 3258342251; +var IFCKINEMATICVISCOSITYMEASURE = 2054016361; +var IFCISOTHERMALMOISTURECAPACITYMEASURE = 3192672207; +var IFCIONCONCENTRATIONMEASURE = 3686016028; +var IFCINTEGERCOUNTRATEMEASURE = 3809634241; +var IFCINTEGER = 1939436016; +var IFCINDUCTANCEMEASURE = 2679005408; +var IFCILLUMINANCEMEASURE = 3358199106; +var IFCIDENTIFIER = 983778844; +var IFCHOURINDAY = 2589826445; +var IFCHEATINGVALUEMEASURE = 1158859006; +var IFCHEATFLUXDENSITYMEASURE = 3113092358; +var IFCGLOBALLYUNIQUEID = 3064340077; +var IFCFREQUENCYMEASURE = 3044325142; +var IFCFORCEMEASURE = 1361398929; +var IFCFONTWEIGHT = 2590844177; +var IFCFONTVARIANT = 2715512545; +var IFCFONTSTYLE = 1102727119; +var IFCENERGYMEASURE = 2078135608; +var IFCELECTRICVOLTAGEMEASURE = 2506197118; +var IFCELECTRICRESISTANCEMEASURE = 2951915441; +var IFCELECTRICCURRENTMEASURE = 3790457270; +var IFCELECTRICCONDUCTANCEMEASURE = 2093906313; +var IFCELECTRICCHARGEMEASURE = 3818826038; +var IFCELECTRICCAPACITANCEMEASURE = 1827137117; +var IFCDYNAMICVISCOSITYMEASURE = 69416015; +var IFCDOSEEQUIVALENTMEASURE = 524656162; +var IFCDIMENSIONCOUNT = 4134073009; +var IFCDESCRIPTIVEMEASURE = 1514641115; +var IFCDAYLIGHTSAVINGHOUR = 300323983; +var IFCDAYINMONTHNUMBER = 86635668; +var IFCCURVATUREMEASURE = 94842927; +var IFCCOUNTMEASURE = 1778710042; +var IFCCONTEXTDEPENDENTMEASURE = 3238673880; +var IFCCOMPOUNDPLANEANGLEMEASURE = 3812528620; +var IFCCOMPLEXNUMBER = 2991860651; +var IFCBOXALIGNMENT = 1867003952; +var IFCBOOLEAN = 2735952531; +var IFCAREAMEASURE = 2650437152; +var IFCANGULARVELOCITYMEASURE = 632304761; +var IFCAMOUNTOFSUBSTANCEMEASURE = 360377573; +var IFCACCELERATIONMEASURE = 4182062534; +var IFCABSORBEDDOSEMEASURE = 3699917729; +var IFCGEOSLICE = 1971632696; +var IFCGEOMODEL = 2680139844; +var IFCELECTRICFLOWTREATMENTDEVICE = 24726584; +var IFCDISTRIBUTIONBOARD = 3693000487; +var IFCCONVEYORSEGMENT = 3460952963; +var IFCCAISSONFOUNDATION = 3999819293; +var IFCBOREHOLE = 3314249567; +var IFCBEARING = 4196446775; +var IFCALIGNMENT = 325726236; +var IFCTRACKELEMENT = 3425753595; +var IFCSIGNAL = 991950508; +var IFCREINFORCEDSOIL = 3798194928; +var IFCRAIL = 3290496277; +var IFCPAVEMENT = 1383356374; +var IFCNAVIGATIONELEMENT = 2182337498; +var IFCMOORINGDEVICE = 234836483; +var IFCMOBILETELECOMMUNICATIONSAPPLIANCE = 2078563270; +var IFCLIQUIDTERMINAL = 1638804497; +var IFCLINEARPOSITIONINGELEMENT = 1154579445; +var IFCKERB = 2696325953; +var IFCGEOTECHNICALASSEMBLY = 2713699986; +var IFCELECTRICFLOWTREATMENTDEVICETYPE = 2142170206; +var IFCEARTHWORKSFILL = 3376911765; +var IFCEARTHWORKSELEMENT = 1077100507; +var IFCEARTHWORKSCUT = 3071239417; +var IFCDISTRIBUTIONBOARDTYPE = 479945903; +var IFCDEEPFOUNDATION = 3426335179; +var IFCCOURSE = 1502416096; +var IFCCONVEYORSEGMENTTYPE = 2940368186; +var IFCCAISSONFOUNDATIONTYPE = 3203706013; +var IFCBUILTSYSTEM = 3862327254; +var IFCBUILTELEMENT = 1876633798; +var IFCBRIDGEPART = 963979645; +var IFCBRIDGE = 644574406; +var IFCBEARINGTYPE = 3649138523; +var IFCALIGNMENTVERTICAL = 1662888072; +var IFCALIGNMENTSEGMENT = 317615605; +var IFCALIGNMENTHORIZONTAL = 1545765605; +var IFCALIGNMENTCANT = 4266260250; +var IFCVIBRATIONDAMPERTYPE = 3956297820; +var IFCVIBRATIONDAMPER = 1530820697; +var IFCVEHICLE = 840318589; +var IFCTRANSPORTATIONDEVICE = 1953115116; +var IFCTRACKELEMENTTYPE = 618700268; +var IFCTENDONCONDUITTYPE = 2281632017; +var IFCTENDONCONDUIT = 3663046924; +var IFCSINESPIRAL = 42703149; +var IFCSIGNALTYPE = 1894708472; +var IFCSIGNTYPE = 3599934289; +var IFCSIGN = 33720170; +var IFCSEVENTHORDERPOLYNOMIALSPIRAL = 1027922057; +var IFCSEGMENTEDREFERENCECURVE = 544395925; +var IFCSECONDORDERPOLYNOMIALSPIRAL = 3649235739; +var IFCROADPART = 550521510; +var IFCROAD = 146592293; +var IFCRELADHERESTOELEMENT = 3818125796; +var IFCREFERENT = 4021432810; +var IFCRAILWAYPART = 1891881377; +var IFCRAILWAY = 3992365140; +var IFCRAILTYPE = 1763565496; +var IFCPOSITIONINGELEMENT = 1946335990; +var IFCPAVEMENTTYPE = 514975943; +var IFCNAVIGATIONELEMENTTYPE = 506776471; +var IFCMOORINGDEVICETYPE = 710110818; +var IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE = 1950438474; +var IFCMARINEPART = 976884017; +var IFCMARINEFACILITY = 525669439; +var IFCLIQUIDTERMINALTYPE = 1770583370; +var IFCLINEARELEMENT = 2176059722; +var IFCKERBTYPE = 679976338; +var IFCIMPACTPROTECTIONDEVICETYPE = 3948183225; +var IFCIMPACTPROTECTIONDEVICE = 2568555532; +var IFCGRADIENTCURVE = 2898700619; +var IFCGEOTECHNICALSTRATUM = 1594536857; +var IFCGEOTECHNICALELEMENT = 4230923436; +var IFCFACILITYPARTCOMMON = 4228831410; +var IFCFACILITYPART = 1310830890; +var IFCFACILITY = 24185140; +var IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID = 4234616927; +var IFCDEEPFOUNDATIONTYPE = 1306400036; +var IFCCOURSETYPE = 4189326743; +var IFCCOSINESPIRAL = 2000195564; +var IFCCLOTHOID = 3497074424; +var IFCBUILTELEMENTTYPE = 1626504194; +var IFCVEHICLETYPE = 3651464721; +var IFCTRIANGULATEDIRREGULARNETWORK = 1229763772; +var IFCTRANSPORTATIONDEVICETYPE = 3665877780; +var IFCTHIRDORDERPOLYNOMIALSPIRAL = 782932809; +var IFCSPIRAL = 2735484536; +var IFCSECTIONEDSURFACE = 1356537516; +var IFCSECTIONEDSOLIDHORIZONTAL = 1290935644; +var IFCSECTIONEDSOLID = 1862484736; +var IFCRELPOSITIONS = 1441486842; +var IFCRELASSOCIATESPROFILEDEF = 1033248425; +var IFCPOLYNOMIALCURVE = 3381221214; +var IFCOFFSETCURVEBYDISTANCES = 2485787929; +var IFCOFFSETCURVE = 590820931; +var IFCINDEXEDPOLYGONALTEXTUREMAP = 3465909080; +var IFCDIRECTRIXCURVESWEPTAREASOLID = 593015953; +var IFCCURVESEGMENT = 4212018352; +var IFCAXIS2PLACEMENTLINEAR = 3425423356; +var IFCSEGMENT = 823603102; +var IFCPOINTBYDISTANCEEXPRESSION = 2165702409; +var IFCOPENCROSSPROFILEDEF = 182550632; +var IFCLINEARPLACEMENT = 388784114; +var IFCALIGNMENTHORIZONTALSEGMENT = 536804194; +var IFCALIGNMENTCANTSEGMENT = 3752311538; +var IFCTEXTURECOORDINATEINDICESWITHVOIDS = 1010789467; +var IFCTEXTURECOORDINATEINDICES = 222769930; +var IFCQUANTITYNUMBER = 2691318326; +var IFCALIGNMENTVERTICALSEGMENT = 3633395639; +var IFCALIGNMENTPARAMETERSEGMENT = 2879124712; +var IFCCONTROLLER = 25142252; +var IFCALARM = 3087945054; +var IFCACTUATOR = 4288193352; +var IFCUNITARYCONTROLELEMENT = 630975310; +var IFCSENSOR = 4086658281; +var IFCPROTECTIVEDEVICETRIPPINGUNIT = 2295281155; +var IFCFLOWINSTRUMENT = 182646315; +var IFCFIRESUPPRESSIONTERMINAL = 1426591983; +var IFCFILTER = 819412036; +var IFCFAN = 3415622556; +var IFCELECTRICTIMECONTROL = 1003880860; +var IFCELECTRICMOTOR = 402227799; +var IFCELECTRICGENERATOR = 264262732; +var IFCELECTRICFLOWSTORAGEDEVICE = 3310460725; +var IFCELECTRICDISTRIBUTIONBOARD = 862014818; +var IFCELECTRICAPPLIANCE = 1904799276; +var IFCDUCTSILENCER = 1360408905; +var IFCDUCTSEGMENT = 3518393246; +var IFCDUCTFITTING = 342316401; +var IFCDISTRIBUTIONCIRCUIT = 562808652; +var IFCDAMPER = 4074379575; +var IFCCOOLINGTOWER = 3640358203; +var IFCCOOLEDBEAM = 4136498852; +var IFCCONDENSER = 2272882330; +var IFCCOMPRESSOR = 3571504051; +var IFCCOMMUNICATIONSAPPLIANCE = 3221913625; +var IFCCOIL = 639361253; +var IFCCHILLER = 3902619387; +var IFCCABLESEGMENT = 4217484030; +var IFCCABLEFITTING = 1051757585; +var IFCCABLECARRIERSEGMENT = 3758799889; +var IFCCABLECARRIERFITTING = 635142910; +var IFCBURNER = 2938176219; +var IFCBOILER = 32344328; +var IFCBEAMSTANDARDCASE = 2906023776; +var IFCAUDIOVISUALAPPLIANCE = 277319702; +var IFCAIRTOAIRHEATRECOVERY = 2056796094; +var IFCAIRTERMINALBOX = 177149247; +var IFCAIRTERMINAL = 1634111441; +var IFCWINDOWSTANDARDCASE = 486154966; +var IFCWASTETERMINAL = 4237592921; +var IFCWALLELEMENTEDCASE = 4156078855; +var IFCVALVE = 4207607924; +var IFCUNITARYEQUIPMENT = 4292641817; +var IFCUNITARYCONTROLELEMENTTYPE = 3179687236; +var IFCTUBEBUNDLE = 3026737570; +var IFCTRANSFORMER = 3825984169; +var IFCTANK = 812556717; +var IFCSWITCHINGDEVICE = 1162798199; +var IFCSTRUCTURALLOADCASE = 385403989; +var IFCSTACKTERMINAL = 1404847402; +var IFCSPACEHEATER = 1999602285; +var IFCSOLARDEVICE = 3420628829; +var IFCSLABSTANDARDCASE = 3027962421; +var IFCSLABELEMENTEDCASE = 3127900445; +var IFCSHADINGDEVICE = 1329646415; +var IFCSANITARYTERMINAL = 3053780830; +var IFCREINFORCINGBARTYPE = 2572171363; +var IFCRATIONALBSPLINECURVEWITHKNOTS = 1232101972; +var IFCPUMP = 90941305; +var IFCPROTECTIVEDEVICETRIPPINGUNITTYPE = 655969474; +var IFCPROTECTIVEDEVICE = 738039164; +var IFCPLATESTANDARDCASE = 1156407060; +var IFCPIPESEGMENT = 3612865200; +var IFCPIPEFITTING = 310824031; +var IFCOUTLET = 3694346114; +var IFCOUTERBOUNDARYCURVE = 144952367; +var IFCMOTORCONNECTION = 2474470126; +var IFCMEMBERSTANDARDCASE = 1911478936; +var IFCMEDICALDEVICE = 1437502449; +var IFCLIGHTFIXTURE = 629592764; +var IFCLAMP = 76236018; +var IFCJUNCTIONBOX = 2176052936; +var IFCINTERCEPTOR = 4175244083; +var IFCHUMIDIFIER = 2068733104; +var IFCHEATEXCHANGER = 3319311131; +var IFCFLOWMETER = 2188021234; +var IFCEXTERNALSPATIALELEMENT = 1209101575; +var IFCEVAPORATOR = 484807127; +var IFCEVAPORATIVECOOLER = 3747195512; +var IFCENGINE = 2814081492; +var IFCELECTRICDISTRIBUTIONBOARDTYPE = 2417008758; +var IFCDOORSTANDARDCASE = 3242481149; +var IFCDISTRIBUTIONSYSTEM = 3205830791; +var IFCCOMMUNICATIONSAPPLIANCETYPE = 400855858; +var IFCCOLUMNSTANDARDCASE = 905975707; +var IFCCIVILELEMENT = 1677625105; +var IFCCHIMNEY = 3296154744; +var IFCCABLEFITTINGTYPE = 2674252688; +var IFCBURNERTYPE = 2188180465; +var IFCBUILDINGSYSTEM = 1177604601; +var IFCBUILDINGELEMENTPARTTYPE = 39481116; +var IFCBOUNDARYCURVE = 1136057603; +var IFCBSPLINECURVEWITHKNOTS = 2461110595; +var IFCAUDIOVISUALAPPLIANCETYPE = 1532957894; +var IFCWORKCALENDAR = 4088093105; +var IFCWINDOWTYPE = 4009809668; +var IFCVOIDINGFEATURE = 926996030; +var IFCVIBRATIONISOLATOR = 2391383451; +var IFCTENDONTYPE = 2415094496; +var IFCTENDONANCHORTYPE = 3081323446; +var IFCSYSTEMFURNITUREELEMENT = 413509423; +var IFCSURFACEFEATURE = 3101698114; +var IFCSTRUCTURALSURFACEACTION = 3657597509; +var IFCSTRUCTURALCURVEREACTION = 2757150158; +var IFCSTRUCTURALCURVEACTION = 1004757350; +var IFCSTAIRTYPE = 338393293; +var IFCSOLARDEVICETYPE = 1072016465; +var IFCSHADINGDEVICETYPE = 4074543187; +var IFCSEAMCURVE = 2157484638; +var IFCROOFTYPE = 2781568857; +var IFCREINFORCINGMESHTYPE = 2310774935; +var IFCREINFORCINGELEMENTTYPE = 964333572; +var IFCRATIONALBSPLINESURFACEWITHKNOTS = 683857671; +var IFCRAMPTYPE = 1469900589; +var IFCPOLYGONALFACESET = 2839578677; +var IFCPILETYPE = 1158309216; +var IFCOPENINGSTANDARDCASE = 3079942009; +var IFCMEDICALDEVICETYPE = 1114901282; +var IFCINTERSECTIONCURVE = 3113134337; +var IFCINTERCEPTORTYPE = 3946677679; +var IFCINDEXEDPOLYCURVE = 2571569899; +var IFCGEOGRAPHICELEMENT = 3493046030; +var IFCFURNITURE = 1509553395; +var IFCFOOTINGTYPE = 1893162501; +var IFCEXTERNALSPATIALSTRUCTUREELEMENT = 2853485674; +var IFCEVENT = 4148101412; +var IFCENGINETYPE = 132023988; +var IFCELEMENTASSEMBLYTYPE = 2397081782; +var IFCDOORTYPE = 2323601079; +var IFCCYLINDRICALSURFACE = 1213902940; +var IFCCONSTRUCTIONPRODUCTRESOURCETYPE = 1525564444; +var IFCCONSTRUCTIONMATERIALRESOURCETYPE = 4105962743; +var IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE = 2185764099; +var IFCCOMPOSITECURVEONSURFACE = 15328376; +var IFCCOMPLEXPROPERTYTEMPLATE = 3875453745; +var IFCCIVILELEMENTTYPE = 3893394355; +var IFCCHIMNEYTYPE = 2197970202; +var IFCBSPLINESURFACEWITHKNOTS = 167062518; +var IFCBSPLINESURFACE = 2887950389; +var IFCADVANCEDBREPWITHVOIDS = 2603310189; +var IFCADVANCEDBREP = 1635779807; +var IFCTRIANGULATEDFACESET = 2916149573; +var IFCTOROIDALSURFACE = 1935646853; +var IFCTESSELLATEDFACESET = 2387106220; +var IFCTASKTYPE = 3206491090; +var IFCSURFACECURVE = 699246055; +var IFCSUBCONTRACTRESOURCETYPE = 4095615324; +var IFCSTRUCTURALSURFACEREACTION = 603775116; +var IFCSPHERICALSURFACE = 4015995234; +var IFCSPATIALZONETYPE = 2481509218; +var IFCSPATIALZONE = 463610769; +var IFCSPATIALELEMENTTYPE = 710998568; +var IFCSPATIALELEMENT = 1412071761; +var IFCSIMPLEPROPERTYTEMPLATE = 3663146110; +var IFCREVOLVEDAREASOLIDTAPERED = 3243963512; +var IFCREPARAMETRISEDCOMPOSITECURVESEGMENT = 816062949; +var IFCRELSPACEBOUNDARY2NDLEVEL = 1521410863; +var IFCRELSPACEBOUNDARY1STLEVEL = 3523091289; +var IFCRELINTERFERESELEMENTS = 427948657; +var IFCRELDEFINESBYTEMPLATE = 307848117; +var IFCRELDEFINESBYOBJECT = 1462361463; +var IFCRELDECLARES = 2565941209; +var IFCRELASSIGNSTOGROUPBYFACTOR = 1027710054; +var IFCPROPERTYTEMPLATE = 3521284610; +var IFCPROPERTYSETTEMPLATE = 492091185; +var IFCPROJECTLIBRARY = 653396225; +var IFCPROCEDURETYPE = 569719735; +var IFCPREDEFINEDPROPERTYSET = 3967405729; +var IFCPCURVE = 1682466193; +var IFCLABORRESOURCETYPE = 428585644; +var IFCINDEXEDPOLYGONALFACEWITHVOIDS = 2294589976; +var IFCINDEXEDPOLYGONALFACE = 178912537; +var IFCGEOGRAPHICELEMENTTYPE = 4095422895; +var IFCFIXEDREFERENCESWEPTAREASOLID = 2652556860; +var IFCEXTRUDEDAREASOLIDTAPERED = 2804161546; +var IFCEVENTTYPE = 4024345920; +var IFCCURVEBOUNDEDSURFACE = 2629017746; +var IFCCREWRESOURCETYPE = 1815067380; +var IFCCONTEXT = 3419103109; +var IFCCONSTRUCTIONRESOURCETYPE = 2574617495; +var IFCCARTESIANPOINTLIST3D = 2059837836; +var IFCCARTESIANPOINTLIST2D = 1675464909; +var IFCCARTESIANPOINTLIST = 574549367; +var IFCADVANCEDFACE = 3406155212; +var IFCTYPERESOURCE = 3698973494; +var IFCTYPEPROCESS = 3736923433; +var IFCTESSELLATEDITEM = 901063453; +var IFCSWEPTDISKSOLIDPOLYGONAL = 1096409881; +var IFCRESOURCETIME = 1042787934; +var IFCRESOURCECONSTRAINTRELATIONSHIP = 1608871552; +var IFCRESOURCEAPPROVALRELATIONSHIP = 2943643501; +var IFCQUANTITYSET = 2090586900; +var IFCPROPERTYTEMPLATEDEFINITION = 1482703590; +var IFCPREDEFINEDPROPERTIES = 3778827333; +var IFCMIRROREDPROFILEDEF = 2998442950; +var IFCMATERIALRELATIONSHIP = 853536259; +var IFCMATERIALPROFILESETUSAGETAPERING = 3404854881; +var IFCMATERIALPROFILESETUSAGE = 3079605661; +var IFCMATERIALCONSTITUENTSET = 2852063980; +var IFCMATERIALCONSTITUENT = 3708119e3; +var IFCLAGTIME = 1585845231; +var IFCINDEXEDTRIANGLETEXTUREMAP = 2133299955; +var IFCINDEXEDTEXTUREMAP = 1437953363; +var IFCINDEXEDCOLOURMAP = 3570813810; +var IFCEXTERNALREFERENCERELATIONSHIP = 1437805879; +var IFCEXTENDEDPROPERTIES = 297599258; +var IFCEVENTTIME = 211053100; +var IFCCONVERSIONBASEDUNITWITHOFFSET = 2713554722; +var IFCCOLOURRGBLIST = 3285139300; +var IFCWORKTIME = 1236880293; +var IFCTIMEPERIOD = 1199560280; +var IFCTEXTUREVERTEXLIST = 3611470254; +var IFCTASKTIMERECURRING = 2771591690; +var IFCTASKTIME = 1549132990; +var IFCTABLECOLUMN = 2043862942; +var IFCSURFACEREINFORCEMENTAREA = 2934153892; +var IFCSTRUCTURALLOADORRESULT = 609421318; +var IFCSTRUCTURALLOADCONFIGURATION = 3478079324; +var IFCSCHEDULINGTIME = 1054537805; +var IFCRESOURCELEVELRELATIONSHIP = 2439245199; +var IFCREFERENCE = 2433181523; +var IFCRECURRENCEPATTERN = 3915482550; +var IFCPROPERTYABSTRACTION = 986844984; +var IFCPROJECTEDCRS = 3843373140; +var IFCPRESENTATIONITEM = 677532197; +var IFCMATERIALUSAGEDEFINITION = 1507914824; +var IFCMATERIALPROFILEWITHOFFSETS = 552965576; +var IFCMATERIALPROFILESET = 164193824; +var IFCMATERIALPROFILE = 2235152071; +var IFCMATERIALLAYERWITHOFFSETS = 1847252529; +var IFCMATERIALDEFINITION = 760658860; +var IFCMAPCONVERSION = 3057273783; +var IFCEXTERNALINFORMATION = 4294318154; +var IFCCOORDINATEREFERENCESYSTEM = 1466758467; +var IFCCOORDINATEOPERATION = 1785450214; +var IFCCONNECTIONVOLUMEGEOMETRY = 775493141; +var IFCREINFORCINGBAR = 979691226; +var IFCELECTRICDISTRIBUTIONPOINT = 3700593921; +var IFCDISTRIBUTIONCONTROLELEMENT = 1062813311; +var IFCDISTRIBUTIONCHAMBERELEMENT = 1052013943; +var IFCCONTROLLERTYPE = 578613899; +var IFCCHAMFEREDGEFEATURE = 2454782716; +var IFCBEAM = 753842376; +var IFCALARMTYPE = 3001207471; +var IFCACTUATORTYPE = 2874132201; +var IFCWINDOW = 3304561284; +var IFCWALLSTANDARDCASE = 3512223829; +var IFCWALL = 2391406946; +var IFCVIBRATIONISOLATORTYPE = 3313531582; +var IFCTENDONANCHOR = 2347447852; +var IFCTENDON = 3824725483; +var IFCSTRUCTURALANALYSISMODEL = 2515109513; +var IFCSTAIRFLIGHT = 4252922144; +var IFCSTAIR = 331165859; +var IFCSLAB = 1529196076; +var IFCSENSORTYPE = 1783015770; +var IFCROUNDEDEDGEFEATURE = 1376911519; +var IFCROOF = 2016517767; +var IFCREINFORCINGMESH = 2320036040; +var IFCREINFORCINGELEMENT = 3027567501; +var IFCRATIONALBEZIERCURVE = 3055160366; +var IFCRAMPFLIGHT = 3283111854; +var IFCRAMP = 3024970846; +var IFCRAILING = 2262370178; +var IFCPLATE = 3171933400; +var IFCPILE = 1687234759; +var IFCMEMBER = 1073191201; +var IFCFOOTING = 900683007; +var IFCFLOWTREATMENTDEVICE = 3508470533; +var IFCFLOWTERMINAL = 2223149337; +var IFCFLOWSTORAGEDEVICE = 707683696; +var IFCFLOWSEGMENT = 987401354; +var IFCFLOWMOVINGDEVICE = 3132237377; +var IFCFLOWINSTRUMENTTYPE = 4037862832; +var IFCFLOWFITTING = 4278956645; +var IFCFLOWCONTROLLER = 2058353004; +var IFCFIRESUPPRESSIONTERMINALTYPE = 4222183408; +var IFCFILTERTYPE = 1810631287; +var IFCFANTYPE = 346874300; +var IFCENERGYCONVERSIONDEVICE = 1658829314; +var IFCELECTRICALELEMENT = 857184966; +var IFCELECTRICALCIRCUIT = 1634875225; +var IFCELECTRICTIMECONTROLTYPE = 712377611; +var IFCELECTRICMOTORTYPE = 1217240411; +var IFCELECTRICHEATERTYPE = 1365060375; +var IFCELECTRICGENERATORTYPE = 1534661035; +var IFCELECTRICFLOWSTORAGEDEVICETYPE = 3277789161; +var IFCELECTRICAPPLIANCETYPE = 663422040; +var IFCEDGEFEATURE = 855621170; +var IFCDUCTSILENCERTYPE = 2030761528; +var IFCDUCTSEGMENTTYPE = 3760055223; +var IFCDUCTFITTINGTYPE = 869906466; +var IFCDOOR = 395920057; +var IFCDISTRIBUTIONPORT = 3041715199; +var IFCDISTRIBUTIONFLOWELEMENT = 3040386961; +var IFCDISTRIBUTIONELEMENT = 1945004755; +var IFCDISTRIBUTIONCONTROLELEMENTTYPE = 2063403501; +var IFCDISTRIBUTIONCHAMBERELEMENTTYPE = 1599208980; +var IFCDISCRETEACCESSORYTYPE = 2635815018; +var IFCDISCRETEACCESSORY = 1335981549; +var IFCDIAMETERDIMENSION = 4147604152; +var IFCDAMPERTYPE = 3961806047; +var IFCCURTAINWALL = 3495092785; +var IFCCOVERING = 1973544240; +var IFCCOOLINGTOWERTYPE = 2954562838; +var IFCCOOLEDBEAMTYPE = 335055490; +var IFCCONSTRUCTIONPRODUCTRESOURCE = 488727124; +var IFCCONSTRUCTIONMATERIALRESOURCE = 1060000209; +var IFCCONSTRUCTIONEQUIPMENTRESOURCE = 3898045240; +var IFCCONDITIONCRITERION = 1163958913; +var IFCCONDITION = 2188551683; +var IFCCONDENSERTYPE = 2816379211; +var IFCCOMPRESSORTYPE = 3850581409; +var IFCCOLUMN = 843113511; +var IFCCOILTYPE = 2301859152; +var IFCCIRCLE = 2611217952; +var IFCCHILLERTYPE = 2951183804; +var IFCCABLESEGMENTTYPE = 1285652485; +var IFCCABLECARRIERSEGMENTTYPE = 3293546465; +var IFCCABLECARRIERFITTINGTYPE = 395041908; +var IFCBUILDINGELEMENTPROXYTYPE = 1909888760; +var IFCBUILDINGELEMENTPROXY = 1095909175; +var IFCBUILDINGELEMENTPART = 2979338954; +var IFCBUILDINGELEMENTCOMPONENT = 52481810; +var IFCBUILDINGELEMENT = 3299480353; +var IFCBOILERTYPE = 231477066; +var IFCBEZIERCURVE = 1916977116; +var IFCBEAMTYPE = 819618141; +var IFCBSPLINECURVE = 1967976161; +var IFCASSET = 3460190687; +var IFCANGULARDIMENSION = 2470393545; +var IFCAIRTOAIRHEATRECOVERYTYPE = 1871374353; +var IFCAIRTERMINALTYPE = 3352864051; +var IFCAIRTERMINALBOXTYPE = 1411407467; +var IFCACTIONREQUEST = 3821786052; +var IFC2DCOMPOSITECURVE = 1213861670; +var IFCZONE = 1033361043; +var IFCWORKSCHEDULE = 3342526732; +var IFCWORKPLAN = 4218914973; +var IFCWORKCONTROL = 1028945134; +var IFCWASTETERMINALTYPE = 1133259667; +var IFCWALLTYPE = 1898987631; +var IFCVIRTUALELEMENT = 2769231204; +var IFCVALVETYPE = 728799441; +var IFCUNITARYEQUIPMENTTYPE = 1911125066; +var IFCTUBEBUNDLETYPE = 1600972822; +var IFCTRIMMEDCURVE = 3593883385; +var IFCTRANSPORTELEMENT = 1620046519; +var IFCTRANSFORMERTYPE = 1692211062; +var IFCTIMESERIESSCHEDULE = 1637806684; +var IFCTANKTYPE = 5716631; +var IFCSYSTEM = 2254336722; +var IFCSWITCHINGDEVICETYPE = 2315554128; +var IFCSUBCONTRACTRESOURCE = 148013059; +var IFCSTRUCTURALSURFACECONNECTION = 1975003073; +var IFCSTRUCTURALRESULTGROUP = 2986769608; +var IFCSTRUCTURALPOINTREACTION = 1235345126; +var IFCSTRUCTURALPOINTCONNECTION = 734778138; +var IFCSTRUCTURALPOINTACTION = 2082059205; +var IFCSTRUCTURALPLANARACTIONVARYING = 3987759626; +var IFCSTRUCTURALPLANARACTION = 1621171031; +var IFCSTRUCTURALLOADGROUP = 1252848954; +var IFCSTRUCTURALLINEARACTIONVARYING = 1721250024; +var IFCSTRUCTURALLINEARACTION = 1807405624; +var IFCSTRUCTURALCURVEMEMBERVARYING = 2445595289; +var IFCSTRUCTURALCURVEMEMBER = 214636428; +var IFCSTRUCTURALCURVECONNECTION = 4243806635; +var IFCSTRUCTURALCONNECTION = 1179482911; +var IFCSTRUCTURALACTION = 682877961; +var IFCSTAIRFLIGHTTYPE = 1039846685; +var IFCSTACKTERMINALTYPE = 3112655638; +var IFCSPACETYPE = 3812236995; +var IFCSPACEPROGRAM = 652456506; +var IFCSPACEHEATERTYPE = 1305183839; +var IFCSPACE = 3856911033; +var IFCSLABTYPE = 2533589738; +var IFCSITE = 4097777520; +var IFCSERVICELIFE = 4105383287; +var IFCSCHEDULETIMECONTROL = 3517283431; +var IFCSANITARYTERMINALTYPE = 1768891740; +var IFCRELASSIGNSTASKS = 2863920197; +var IFCRELAGGREGATES = 160246688; +var IFCRAMPFLIGHTTYPE = 2324767716; +var IFCRAILINGTYPE = 2893384427; +var IFCRADIUSDIMENSION = 3248260540; +var IFCPUMPTYPE = 2250791053; +var IFCPROTECTIVEDEVICETYPE = 1842657554; +var IFCPROJECTIONELEMENT = 3651124850; +var IFCPROJECTORDERRECORD = 3642467123; +var IFCPROJECTORDER = 2904328755; +var IFCPROCEDURE = 2744685151; +var IFCPORT = 3740093272; +var IFCPOLYLINE = 3724593414; +var IFCPLATETYPE = 4017108033; +var IFCPIPESEGMENTTYPE = 4231323485; +var IFCPIPEFITTINGTYPE = 804291784; +var IFCPERMIT = 3327091369; +var IFCPERFORMANCEHISTORY = 2382730787; +var IFCOUTLETTYPE = 2837617999; +var IFCORDERACTION = 3425660407; +var IFCOPENINGELEMENT = 3588315303; +var IFCOCCUPANT = 4143007308; +var IFCMOVE = 1916936684; +var IFCMOTORCONNECTIONTYPE = 977012517; +var IFCMEMBERTYPE = 3181161470; +var IFCMECHANICALFASTENERTYPE = 2108223431; +var IFCMECHANICALFASTENER = 377706215; +var IFCLINEARDIMENSION = 2506943328; +var IFCLIGHTFIXTURETYPE = 1161773419; +var IFCLAMPTYPE = 1051575348; +var IFCLABORRESOURCE = 3827777499; +var IFCJUNCTIONBOXTYPE = 4288270099; +var IFCINVENTORY = 2391368822; +var IFCHUMIDIFIERTYPE = 1806887404; +var IFCHEATEXCHANGERTYPE = 1251058090; +var IFCGROUP = 2706460486; +var IFCGRID = 3009204131; +var IFCGASTERMINALTYPE = 200128114; +var IFCFURNITURESTANDARD = 814719939; +var IFCFURNISHINGELEMENT = 263784265; +var IFCFLOWTREATMENTDEVICETYPE = 3009222698; +var IFCFLOWTERMINALTYPE = 2297155007; +var IFCFLOWSTORAGEDEVICETYPE = 1339347760; +var IFCFLOWSEGMENTTYPE = 1834744321; +var IFCFLOWMOVINGDEVICETYPE = 1482959167; +var IFCFLOWMETERTYPE = 3815607619; +var IFCFLOWFITTINGTYPE = 3198132628; +var IFCFLOWCONTROLLERTYPE = 3907093117; +var IFCFEATUREELEMENTSUBTRACTION = 1287392070; +var IFCFEATUREELEMENTADDITION = 2143335405; +var IFCFEATUREELEMENT = 2827207264; +var IFCFASTENERTYPE = 2489546625; +var IFCFASTENER = 647756555; +var IFCFACETEDBREPWITHVOIDS = 3737207727; +var IFCFACETEDBREP = 807026263; +var IFCEVAPORATORTYPE = 3390157468; +var IFCEVAPORATIVECOOLERTYPE = 3174744832; +var IFCEQUIPMENTSTANDARD = 3272907226; +var IFCEQUIPMENTELEMENT = 1962604670; +var IFCENERGYCONVERSIONDEVICETYPE = 2107101300; +var IFCELLIPSE = 1704287377; +var IFCELEMENTCOMPONENTTYPE = 2590856083; +var IFCELEMENTCOMPONENT = 1623761950; +var IFCELEMENTASSEMBLY = 4123344466; +var IFCELEMENT = 1758889154; +var IFCELECTRICALBASEPROPERTIES = 360485395; +var IFCDISTRIBUTIONFLOWELEMENTTYPE = 3849074793; +var IFCDISTRIBUTIONELEMENTTYPE = 3256556792; +var IFCDIMENSIONCURVEDIRECTEDCALLOUT = 681481545; +var IFCCURTAINWALLTYPE = 1457835157; +var IFCCREWRESOURCE = 3295246426; +var IFCCOVERINGTYPE = 1916426348; +var IFCCOSTSCHEDULE = 1419761937; +var IFCCOSTITEM = 3895139033; +var IFCCONTROL = 3293443760; +var IFCCONSTRUCTIONRESOURCE = 2559216714; +var IFCCONIC = 2510884976; +var IFCCOMPOSITECURVE = 3732776249; +var IFCCOLUMNTYPE = 300633059; +var IFCCIRCLEHOLLOWPROFILEDEF = 2937912522; +var IFCBUILDINGSTOREY = 3124254112; +var IFCBUILDINGELEMENTTYPE = 1950629157; +var IFCBUILDING = 4031249490; +var IFCBOUNDEDCURVE = 1260505505; +var IFCBOOLEANCLIPPINGRESULT = 3649129432; +var IFCBLOCK = 1334484129; +var IFCASYMMETRICISHAPEPROFILEDEF = 3207858831; +var IFCANNOTATION = 1674181508; +var IFCACTOR = 2296667514; +var IFCTRANSPORTELEMENTTYPE = 2097647324; +var IFCTASK = 3473067441; +var IFCSYSTEMFURNITUREELEMENTTYPE = 1580310250; +var IFCSURFACEOFREVOLUTION = 4124788165; +var IFCSURFACEOFLINEAREXTRUSION = 2809605785; +var IFCSURFACECURVESWEPTAREASOLID = 2028607225; +var IFCSTRUCTUREDDIMENSIONCALLOUT = 4070609034; +var IFCSTRUCTURALSURFACEMEMBERVARYING = 2218152070; +var IFCSTRUCTURALSURFACEMEMBER = 3979015343; +var IFCSTRUCTURALREACTION = 3689010777; +var IFCSTRUCTURALMEMBER = 530289379; +var IFCSTRUCTURALITEM = 3136571912; +var IFCSTRUCTURALACTIVITY = 3544373492; +var IFCSPHERE = 451544542; +var IFCSPATIALSTRUCTUREELEMENTTYPE = 3893378262; +var IFCSPATIALSTRUCTUREELEMENT = 2706606064; +var IFCRIGHTCIRCULARCYLINDER = 3626867408; +var IFCRIGHTCIRCULARCONE = 4158566097; +var IFCREVOLVEDAREASOLID = 1856042241; +var IFCRESOURCE = 2914609552; +var IFCRELVOIDSELEMENT = 1401173127; +var IFCRELSPACEBOUNDARY = 3451746338; +var IFCRELSERVICESBUILDINGS = 366585022; +var IFCRELSEQUENCE = 4122056220; +var IFCRELSCHEDULESCOSTITEMS = 1058617721; +var IFCRELREFERENCEDINSPATIALSTRUCTURE = 1245217292; +var IFCRELPROJECTSELEMENT = 750771296; +var IFCRELOVERRIDESPROPERTIES = 202636808; +var IFCRELOCCUPIESSPACES = 2051452291; +var IFCRELNESTS = 3268803585; +var IFCRELINTERACTIONREQUIREMENTS = 4189434867; +var IFCRELFLOWCONTROLELEMENTS = 279856033; +var IFCRELFILLSELEMENT = 3940055652; +var IFCRELDEFINESBYTYPE = 781010003; +var IFCRELDEFINESBYPROPERTIES = 4186316022; +var IFCRELDEFINES = 693640335; +var IFCRELDECOMPOSES = 2551354335; +var IFCRELCOVERSSPACES = 2802773753; +var IFCRELCOVERSBLDGELEMENTS = 886880790; +var IFCRELCONTAINEDINSPATIALSTRUCTURE = 3242617779; +var IFCRELCONNECTSWITHREALIZINGELEMENTS = 3678494232; +var IFCRELCONNECTSWITHECCENTRICITY = 504942748; +var IFCRELCONNECTSSTRUCTURALMEMBER = 1638771189; +var IFCRELCONNECTSSTRUCTURALELEMENT = 3912681535; +var IFCRELCONNECTSSTRUCTURALACTIVITY = 2127690289; +var IFCRELCONNECTSPORTS = 3190031847; +var IFCRELCONNECTSPORTTOELEMENT = 4201705270; +var IFCRELCONNECTSPATHELEMENTS = 3945020480; +var IFCRELCONNECTSELEMENTS = 1204542856; +var IFCRELCONNECTS = 826625072; +var IFCRELASSOCIATESPROFILEPROPERTIES = 2851387026; +var IFCRELASSOCIATESMATERIAL = 2655215786; +var IFCRELASSOCIATESLIBRARY = 3840914261; +var IFCRELASSOCIATESDOCUMENT = 982818633; +var IFCRELASSOCIATESCONSTRAINT = 2728634034; +var IFCRELASSOCIATESCLASSIFICATION = 919958153; +var IFCRELASSOCIATESAPPROVAL = 4095574036; +var IFCRELASSOCIATESAPPLIEDVALUE = 1327628568; +var IFCRELASSOCIATES = 1865459582; +var IFCRELASSIGNSTORESOURCE = 205026976; +var IFCRELASSIGNSTOPROJECTORDER = 3372526763; +var IFCRELASSIGNSTOPRODUCT = 2857406711; +var IFCRELASSIGNSTOPROCESS = 4278684876; +var IFCRELASSIGNSTOGROUP = 1307041759; +var IFCRELASSIGNSTOCONTROL = 2495723537; +var IFCRELASSIGNSTOACTOR = 1683148259; +var IFCRELASSIGNS = 3939117080; +var IFCRECTANGULARTRIMMEDSURFACE = 3454111270; +var IFCRECTANGULARPYRAMID = 2798486643; +var IFCRECTANGLEHOLLOWPROFILEDEF = 2770003689; +var IFCPROXY = 3219374653; +var IFCPROPERTYSET = 1451395588; +var IFCPROJECTIONCURVE = 4194566429; +var IFCPROJECT = 103090709; +var IFCPRODUCT = 4208778838; +var IFCPROCESS = 2945172077; +var IFCPLANE = 220341763; +var IFCPLANARBOX = 603570806; +var IFCPERMEABLECOVERINGPROPERTIES = 3566463478; +var IFCOFFSETCURVE3D = 3505215534; +var IFCOFFSETCURVE2D = 3388369263; +var IFCOBJECT = 3888040117; +var IFCMANIFOLDSOLIDBREP = 1425443689; +var IFCLINE = 1281925730; +var IFCLSHAPEPROFILEDEF = 572779678; +var IFCISHAPEPROFILEDEF = 1484403080; +var IFCGEOMETRICCURVESET = 987898635; +var IFCFURNITURETYPE = 1268542332; +var IFCFURNISHINGELEMENTTYPE = 4238390223; +var IFCFLUIDFLOWPROPERTIES = 3455213021; +var IFCFILLAREASTYLETILES = 315944413; +var IFCFILLAREASTYLETILESYMBOLWITHSTYLE = 4203026998; +var IFCFILLAREASTYLEHATCHING = 374418227; +var IFCFACEBASEDSURFACEMODEL = 2047409740; +var IFCEXTRUDEDAREASOLID = 477187591; +var IFCENERGYPROPERTIES = 80994333; +var IFCELLIPSEPROFILEDEF = 2835456948; +var IFCELEMENTARYSURFACE = 2777663545; +var IFCELEMENTTYPE = 339256511; +var IFCELEMENTQUANTITY = 1883228015; +var IFCEDGELOOP = 1472233963; +var IFCDRAUGHTINGPREDEFINEDCURVEFONT = 4006246654; +var IFCDRAUGHTINGPREDEFINEDCOLOUR = 445594917; +var IFCDRAUGHTINGCALLOUT = 3073041342; +var IFCDOORSTYLE = 526551008; +var IFCDOORPANELPROPERTIES = 1714330368; +var IFCDOORLININGPROPERTIES = 2963535650; +var IFCDIRECTION = 32440307; +var IFCDIMENSIONCURVETERMINATOR = 4054601972; +var IFCDIMENSIONCURVE = 606661476; +var IFCDEFINEDSYMBOL = 693772133; +var IFCCURVEBOUNDEDPLANE = 2827736869; +var IFCCURVE = 2601014836; +var IFCCSGSOLID = 2147822146; +var IFCCSGPRIMITIVE3D = 2506170314; +var IFCCRANERAILFSHAPEPROFILEDEF = 194851669; +var IFCCRANERAILASHAPEPROFILEDEF = 4133800736; +var IFCCOMPOSITECURVESEGMENT = 2485617015; +var IFCCLOSEDSHELL = 2205249479; +var IFCCIRCLEPROFILEDEF = 1383045692; +var IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM = 1416205885; +var IFCCARTESIANTRANSFORMATIONOPERATOR3D = 3331915920; +var IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM = 3486308946; +var IFCCARTESIANTRANSFORMATIONOPERATOR2D = 3749851601; +var IFCCARTESIANTRANSFORMATIONOPERATOR = 59481748; +var IFCCARTESIANPOINT = 1123145078; +var IFCCSHAPEPROFILEDEF = 2898889636; +var IFCBOXEDHALFSPACE = 2713105998; +var IFCBOUNDINGBOX = 2581212453; +var IFCBOUNDEDSURFACE = 4182860854; +var IFCBOOLEANRESULT = 2736907675; +var IFCAXIS2PLACEMENT3D = 2740243338; +var IFCAXIS2PLACEMENT2D = 3125803723; +var IFCAXIS1PLACEMENT = 4261334040; +var IFCANNOTATIONSURFACE = 1302238472; +var IFCANNOTATIONFILLAREAOCCURRENCE = 2265737646; +var IFCANNOTATIONFILLAREA = 669184980; +var IFCANNOTATIONCURVEOCCURRENCE = 3288037868; +var IFCZSHAPEPROFILEDEF = 2543172580; +var IFCWINDOWSTYLE = 1299126871; +var IFCWINDOWPANELPROPERTIES = 512836454; +var IFCWINDOWLININGPROPERTIES = 336235671; +var IFCVERTEXLOOP = 2759199220; +var IFCVECTOR = 1417489154; +var IFCUSHAPEPROFILEDEF = 427810014; +var IFCTYPEPRODUCT = 2347495698; +var IFCTYPEOBJECT = 1628702193; +var IFCTWODIRECTIONREPEATFACTOR = 1345879162; +var IFCTRAPEZIUMPROFILEDEF = 2715220739; +var IFCTEXTLITERALWITHEXTENT = 3124975700; +var IFCTEXTLITERAL = 4282788508; +var IFCTERMINATORSYMBOL = 3028897424; +var IFCTSHAPEPROFILEDEF = 3071757647; +var IFCSWEPTSURFACE = 230924584; +var IFCSWEPTDISKSOLID = 1260650574; +var IFCSWEPTAREASOLID = 2247615214; +var IFCSURFACESTYLERENDERING = 1878645084; +var IFCSURFACE = 2513912981; +var IFCSUBEDGE = 2233826070; +var IFCSTRUCTURALSTEELPROFILEPROPERTIES = 3653947884; +var IFCSTRUCTURALPROFILEPROPERTIES = 3843319758; +var IFCSTRUCTURALLOADSINGLEFORCEWARPING = 1190533807; +var IFCSTRUCTURALLOADSINGLEFORCE = 1597423693; +var IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION = 1973038258; +var IFCSTRUCTURALLOADSINGLEDISPLACEMENT = 2473145415; +var IFCSTRUCTURALLOADPLANARFORCE = 2668620305; +var IFCSTRUCTURALLOADLINEARFORCE = 1595516126; +var IFCSPACETHERMALLOADPROPERTIES = 390701378; +var IFCSOUNDVALUE = 1202362311; +var IFCSOUNDPROPERTIES = 2485662743; +var IFCSOLIDMODEL = 723233188; +var IFCSLIPPAGECONNECTIONCONDITION = 2609359061; +var IFCSHELLBASEDSURFACEMODEL = 4124623270; +var IFCSERVICELIFEFACTOR = 2411513650; +var IFCSECTIONEDSPINE = 1509187699; +var IFCROUNDEDRECTANGLEPROFILEDEF = 2778083089; +var IFCRELATIONSHIP = 478536968; +var IFCREINFORCEMENTDEFINITIONPROPERTIES = 3765753017; +var IFCREGULARTIMESERIES = 3413951693; +var IFCRECTANGLEPROFILEDEF = 3615266464; +var IFCPROPERTYTABLEVALUE = 110355661; +var IFCPROPERTYSINGLEVALUE = 3650150729; +var IFCPROPERTYSETDEFINITION = 3357820518; +var IFCPROPERTYREFERENCEVALUE = 941946838; +var IFCPROPERTYLISTVALUE = 2752243245; +var IFCPROPERTYENUMERATEDVALUE = 4166981789; +var IFCPROPERTYDEFINITION = 1680319473; +var IFCPROPERTYBOUNDEDVALUE = 871118103; +var IFCPRODUCTDEFINITIONSHAPE = 673634403; +var IFCPREDEFINEDPOINTMARKERSYMBOL = 179317114; +var IFCPREDEFINEDDIMENSIONSYMBOL = 433424934; +var IFCPREDEFINEDCURVEFONT = 2559016684; +var IFCPREDEFINEDCOLOUR = 759155922; +var IFCPOLYGONALBOUNDEDHALFSPACE = 2775532180; +var IFCPOLYLOOP = 2924175390; +var IFCPOINTONSURFACE = 1423911732; +var IFCPOINTONCURVE = 4022376103; +var IFCPOINT = 2067069095; +var IFCPLANAREXTENT = 1663979128; +var IFCPLACEMENT = 2004835150; +var IFCPIXELTEXTURE = 597895409; +var IFCPHYSICALCOMPLEXQUANTITY = 3021840470; +var IFCPATH = 2519244187; +var IFCPARAMETERIZEDPROFILEDEF = 2529465313; +var IFCORIENTEDEDGE = 1029017970; +var IFCOPENSHELL = 2665983363; +var IFCONEDIRECTIONREPEATFACTOR = 2833995503; +var IFCOBJECTDEFINITION = 219451334; +var IFCMECHANICALCONCRETEMATERIALPROPERTIES = 1430189142; +var IFCMATERIALDEFINITIONREPRESENTATION = 2022407955; +var IFCMAPPEDITEM = 2347385850; +var IFCLOOP = 1008929658; +var IFCLOCALPLACEMENT = 2624227202; +var IFCLIGHTSOURCESPOT = 3422422726; +var IFCLIGHTSOURCEPOSITIONAL = 1520743889; +var IFCLIGHTSOURCEGONIOMETRIC = 4266656042; +var IFCLIGHTSOURCEDIRECTIONAL = 2604431987; +var IFCLIGHTSOURCEAMBIENT = 125510826; +var IFCLIGHTSOURCE = 1402838566; +var IFCIRREGULARTIMESERIES = 3741457305; +var IFCIMAGETEXTURE = 3905492369; +var IFCHYGROSCOPICMATERIALPROPERTIES = 2445078500; +var IFCHALFSPACESOLID = 812098782; +var IFCGRIDPLACEMENT = 178086475; +var IFCGEOMETRICSET = 3590301190; +var IFCGEOMETRICREPRESENTATIONSUBCONTEXT = 4142052618; +var IFCGEOMETRICREPRESENTATIONITEM = 2453401579; +var IFCGEOMETRICREPRESENTATIONCONTEXT = 3448662350; +var IFCGENERALPROFILEPROPERTIES = 1446786286; +var IFCGENERALMATERIALPROPERTIES = 803998398; +var IFCFUELPROPERTIES = 3857492461; +var IFCFILLAREASTYLE = 738692330; +var IFCFAILURECONNECTIONCONDITION = 4219587988; +var IFCFACESURFACE = 3008276851; +var IFCFACEOUTERBOUND = 803316827; +var IFCFACEBOUND = 1809719519; +var IFCFACE = 2556980723; +var IFCEXTENDEDMATERIALPROPERTIES = 1860660968; +var IFCEDGECURVE = 476780140; +var IFCEDGE = 3900360178; +var IFCDRAUGHTINGPREDEFINEDTEXTFONT = 4170525392; +var IFCDOCUMENTREFERENCE = 3732053477; +var IFCDIMENSIONPAIR = 1694125774; +var IFCDIMENSIONCALLOUTRELATIONSHIP = 2273265877; +var IFCDERIVEDPROFILEDEF = 3632507154; +var IFCCURVESTYLE = 3800577675; +var IFCCONVERSIONBASEDUNIT = 2889183280; +var IFCCONTEXTDEPENDENTUNIT = 3050246964; +var IFCCONNECTIONPOINTECCENTRICITY = 45288368; +var IFCCONNECTIONCURVEGEOMETRY = 1981873012; +var IFCCONNECTEDFACESET = 370225590; +var IFCCOMPOSITEPROFILEDEF = 1485152156; +var IFCCOMPLEXPROPERTY = 2542286263; +var IFCCOLOURRGB = 776857604; +var IFCCLASSIFICATIONREFERENCE = 647927063; +var IFCCENTERLINEPROFILEDEF = 3150382593; +var IFCBLOBTEXTURE = 616511568; +var IFCARBITRARYPROFILEDEFWITHVOIDS = 2705031697; +var IFCARBITRARYOPENPROFILEDEF = 1310608509; +var IFCARBITRARYCLOSEDPROFILEDEF = 3798115385; +var IFCANNOTATIONTEXTOCCURRENCE = 2297822566; +var IFCANNOTATIONSYMBOLOCCURRENCE = 3612888222; +var IFCANNOTATIONSURFACEOCCURRENCE = 962685235; +var IFCANNOTATIONOCCURRENCE = 2442683028; +var IFCWATERPROPERTIES = 1065908215; +var IFCVIRTUALGRIDINTERSECTION = 891718957; +var IFCVERTEXPOINT = 1907098498; +var IFCVERTEXBASEDTEXTUREMAP = 3304826586; +var IFCVERTEX = 2799835756; +var IFCUNITASSIGNMENT = 180925521; +var IFCTOPOLOGYREPRESENTATION = 1735638870; +var IFCTOPOLOGICALREPRESENTATIONITEM = 1377556343; +var IFCTIMESERIESVALUE = 581633288; +var IFCTIMESERIESREFERENCERELATIONSHIP = 1718945513; +var IFCTIMESERIES = 3101149627; +var IFCTHERMALMATERIALPROPERTIES = 3317419933; +var IFCTEXTUREVERTEX = 1210645708; +var IFCTEXTUREMAP = 2552916305; +var IFCTEXTURECOORDINATEGENERATOR = 1742049831; +var IFCTEXTURECOORDINATE = 280115917; +var IFCTEXTSTYLEWITHBOXCHARACTERISTICS = 1484833681; +var IFCTEXTSTYLETEXTMODEL = 1640371178; +var IFCTEXTSTYLEFORDEFINEDFONT = 2636378356; +var IFCTEXTSTYLEFONTMODEL = 1983826977; +var IFCTEXTSTYLE = 1447204868; +var IFCTELECOMADDRESS = 912023232; +var IFCTABLEROW = 531007025; +var IFCTABLE = 985171141; +var IFCSYMBOLSTYLE = 1290481447; +var IFCSURFACETEXTURE = 626085974; +var IFCSURFACESTYLEWITHTEXTURES = 1351298697; +var IFCSURFACESTYLESHADING = 846575682; +var IFCSURFACESTYLEREFRACTION = 1607154358; +var IFCSURFACESTYLELIGHTING = 3303107099; +var IFCSURFACESTYLE = 1300840506; +var IFCSTYLEDREPRESENTATION = 3049322572; +var IFCSTYLEDITEM = 3958052878; +var IFCSTYLEMODEL = 2830218821; +var IFCSTRUCTURALLOADTEMPERATURE = 3408363356; +var IFCSTRUCTURALLOADSTATIC = 2525727697; +var IFCSTRUCTURALLOAD = 2162789131; +var IFCSTRUCTURALCONNECTIONCONDITION = 2273995522; +var IFCSIMPLEPROPERTY = 3692461612; +var IFCSHAPEREPRESENTATION = 4240577450; +var IFCSHAPEMODEL = 3982875396; +var IFCSHAPEASPECT = 867548509; +var IFCSECTIONREINFORCEMENTPROPERTIES = 4165799628; +var IFCSECTIONPROPERTIES = 2042790032; +var IFCSIUNIT = 448429030; +var IFCROOT = 2341007311; +var IFCRIBPLATEPROFILEPROPERTIES = 3679540991; +var IFCREPRESENTATIONMAP = 1660063152; +var IFCREPRESENTATIONITEM = 3008791417; +var IFCREPRESENTATIONCONTEXT = 3377609919; +var IFCREPRESENTATION = 1076942058; +var IFCRELAXATION = 1222501353; +var IFCREINFORCEMENTBARPROPERTIES = 1580146022; +var IFCREFERENCESVALUEDOCUMENT = 2692823254; +var IFCQUANTITYWEIGHT = 825690147; +var IFCQUANTITYVOLUME = 2405470396; +var IFCQUANTITYTIME = 3252649465; +var IFCQUANTITYLENGTH = 931644368; +var IFCQUANTITYCOUNT = 2093928680; +var IFCQUANTITYAREA = 2044713172; +var IFCPROPERTYENUMERATION = 3710013099; +var IFCPROPERTYDEPENDENCYRELATIONSHIP = 148025276; +var IFCPROPERTYCONSTRAINTRELATIONSHIP = 3896028662; +var IFCPROPERTY = 2598011224; +var IFCPROFILEPROPERTIES = 2802850158; +var IFCPROFILEDEF = 3958567839; +var IFCPRODUCTSOFCOMBUSTIONPROPERTIES = 2267347899; +var IFCPRODUCTREPRESENTATION = 2095639259; +var IFCPRESENTATIONSTYLEASSIGNMENT = 2417041796; +var IFCPRESENTATIONSTYLE = 3119450353; +var IFCPRESENTATIONLAYERWITHSTYLE = 1304840413; +var IFCPRESENTATIONLAYERASSIGNMENT = 2022622350; +var IFCPREDEFINEDTEXTFONT = 1775413392; +var IFCPREDEFINEDTERMINATORSYMBOL = 3213052703; +var IFCPREDEFINEDSYMBOL = 990879717; +var IFCPREDEFINEDITEM = 3727388367; +var IFCPOSTALADDRESS = 3355820592; +var IFCPHYSICALSIMPLEQUANTITY = 2226359599; +var IFCPHYSICALQUANTITY = 2483315170; +var IFCPERSONANDORGANIZATION = 101040310; +var IFCPERSON = 2077209135; +var IFCOWNERHISTORY = 1207048766; +var IFCORGANIZATIONRELATIONSHIP = 1411181986; +var IFCORGANIZATION = 4251960020; +var IFCOPTICALMATERIALPROPERTIES = 1227763645; +var IFCOBJECTIVE = 2251480897; +var IFCOBJECTPLACEMENT = 3701648758; +var IFCNAMEDUNIT = 1918398963; +var IFCMONETARYUNIT = 2706619895; +var IFCMETRIC = 3368373690; +var IFCMECHANICALSTEELMATERIALPROPERTIES = 677618848; +var IFCMECHANICALMATERIALPROPERTIES = 4256014907; +var IFCMEASUREWITHUNIT = 2597039031; +var IFCMATERIALPROPERTIES = 3265635763; +var IFCMATERIALLIST = 2199411900; +var IFCMATERIALLAYERSETUSAGE = 1303795690; +var IFCMATERIALLAYERSET = 3303938423; +var IFCMATERIALLAYER = 248100487; +var IFCMATERIALCLASSIFICATIONRELATIONSHIP = 1847130766; +var IFCMATERIAL = 1838606355; +var IFCLOCALTIME = 30780891; +var IFCLIGHTINTENSITYDISTRIBUTION = 1566485204; +var IFCLIGHTDISTRIBUTIONDATA = 4162380809; +var IFCLIBRARYREFERENCE = 3452421091; +var IFCLIBRARYINFORMATION = 2655187982; +var IFCIRREGULARTIMESERIESVALUE = 3020489413; +var IFCGRIDAXIS = 852622518; +var IFCEXTERNALLYDEFINEDTEXTFONT = 3548104201; +var IFCEXTERNALLYDEFINEDSYMBOL = 3207319532; +var IFCEXTERNALLYDEFINEDSURFACESTYLE = 1040185647; +var IFCEXTERNALLYDEFINEDHATCHSTYLE = 2242383968; +var IFCEXTERNALREFERENCE = 3200245327; +var IFCENVIRONMENTALIMPACTVALUE = 1648886627; +var IFCDRAUGHTINGCALLOUTRELATIONSHIP = 3796139169; +var IFCDOCUMENTINFORMATIONRELATIONSHIP = 770865208; +var IFCDOCUMENTINFORMATION = 1154170062; +var IFCDOCUMENTELECTRONICFORMAT = 1376555844; +var IFCDIMENSIONALEXPONENTS = 2949456006; +var IFCDERIVEDUNITELEMENT = 1045800335; +var IFCDERIVEDUNIT = 1765591967; +var IFCDATEANDTIME = 1072939445; +var IFCCURVESTYLEFONTPATTERN = 3510044353; +var IFCCURVESTYLEFONTANDSCALING = 2367409068; +var IFCCURVESTYLEFONT = 1105321065; +var IFCCURRENCYRELATIONSHIP = 539742890; +var IFCCOSTVALUE = 602808272; +var IFCCOORDINATEDUNIVERSALTIMEOFFSET = 1065062679; +var IFCCONSTRAINTRELATIONSHIP = 347226245; +var IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP = 613356794; +var IFCCONSTRAINTAGGREGATIONRELATIONSHIP = 1658513725; +var IFCCONSTRAINT = 1959218052; +var IFCCONNECTIONSURFACEGEOMETRY = 2732653382; +var IFCCONNECTIONPORTGEOMETRY = 4257277454; +var IFCCONNECTIONPOINTGEOMETRY = 2614616156; +var IFCCONNECTIONGEOMETRY = 2859738748; +var IFCCOLOURSPECIFICATION = 3264961684; +var IFCCLASSIFICATIONNOTATIONFACET = 3639012971; +var IFCCLASSIFICATIONNOTATION = 938368621; +var IFCCLASSIFICATIONITEMRELATIONSHIP = 1098599126; +var IFCCLASSIFICATIONITEM = 1767535486; +var IFCCLASSIFICATION = 747523909; +var IFCCALENDARDATE = 622194075; +var IFCBOUNDARYNODECONDITIONWARPING = 2069777674; +var IFCBOUNDARYNODECONDITION = 1387855156; +var IFCBOUNDARYFACECONDITION = 3367102660; +var IFCBOUNDARYEDGECONDITION = 1560379544; +var IFCBOUNDARYCONDITION = 4037036970; +var IFCAPPROVALRELATIONSHIP = 3869604511; +var IFCAPPROVALPROPERTYRELATIONSHIP = 390851274; +var IFCAPPROVALACTORRELATIONSHIP = 2080292479; +var IFCAPPROVAL = 130549933; +var IFCAPPLIEDVALUERELATIONSHIP = 1110488051; +var IFCAPPLIEDVALUE = 411424972; +var IFCAPPLICATION = 639542469; +var IFCADDRESS = 618182010; +var IFCACTORROLE = 3630933823; +var FILE_DESCRIPTION = 599546466; +var FILE_NAME = 1390159747; +var FILE_SCHEMA = 1109904537; +var Handle$5 = class Handle { + constructor(value) { + this.value = value; + this.type = 5; + } +}; +var logical; +(function(logical2) { + logical2[logical2["FALSE"] = 0] = "FALSE"; + logical2[logical2["TRUE"] = 1] = "TRUE"; + logical2[logical2["UNKNOWN"] = 2] = "UNKNOWN"; +})(logical || (logical = {})); +var IfcLineObject$1 = class IfcLineObject { + constructor(expressID = -1) { + this.expressID = expressID; + this.type = 0; + } +}; +var FromRawLineData = []; +var InversePropertyDef = {}; +var InheritanceDef = {}; +var Constructors = {}; +var ToRawLineData = {}; +var TypeInitialisers = {}; +var SchemaNames = []; +function TypeInitialiser(schema, tapeItem) { + if (Array.isArray(tapeItem)) + tapeItem.map((p) => TypeInitialiser(schema, p)); + if (tapeItem.typecode) + return TypeInitialisers[schema][tapeItem.typecode](tapeItem.value); + else + return tapeItem.value; +} +function Labelise(tapeItem) { + tapeItem.value = tapeItem.value.toString(); + tapeItem.valueType = tapeItem.type; + tapeItem.type = 2; + tapeItem.label = tapeItem.constructor.name.toUpperCase(); + return tapeItem; +} +var Schemas$1; +(function(Schemas2) { + Schemas2["IFC2X3"] = "IFC2X3"; + Schemas2["IFC4"] = "IFC4"; + Schemas2["IFC4X3"] = "IFC4X3"; +})(Schemas$1 || (Schemas$1 = {})); +SchemaNames[3] = ["IFC2X3", "IFC2X_FINAL"]; +FromRawLineData[3] = { + 3630933823: (v) => new IFC2X3$1.IfcActorRole(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcText(!v[2] ? null : v[2].value)), + 618182010: (v) => new IFC2X3$1.IfcAddress(v[0], !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 639542469: (v) => new IFC2X3$1.IfcApplication(new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), new IFC2X3$1.IfcIdentifier(!v[3] ? null : v[3].value)), + 411424972: (v) => new IFC2X3$1.IfcAppliedValue(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value)), + 1110488051: (v) => { + var _a; + return new IFC2X3$1.IfcAppliedValueRelationship(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[2], !v[3] ? null : new IFC2X3$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcText(!v[4] ? null : v[4].value)); + }, + 130549933: (v) => new IFC2X3$1.IfcApproval(!v[0] ? null : new IFC2X3$1.IfcText(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcText(!v[4] ? null : v[4].value), new IFC2X3$1.IfcLabel(!v[5] ? null : v[5].value), new IFC2X3$1.IfcIdentifier(!v[6] ? null : v[6].value)), + 2080292479: (v) => new IFC2X3$1.IfcApprovalActorRelationship(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 390851274: (v) => { + var _a; + return new IFC2X3$1.IfcApprovalPropertyRelationship(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[1] ? null : v[1].value)); + }, + 3869604511: (v) => new IFC2X3$1.IfcApprovalRelationship(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcText(!v[2] ? null : v[2].value), new IFC2X3$1.IfcLabel(!v[3] ? null : v[3].value)), + 4037036970: (v) => new IFC2X3$1.IfcBoundaryCondition(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 1560379544: (v) => new IFC2X3$1.IfcBoundaryEdgeCondition(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcModulusOfLinearSubgradeReactionMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcModulusOfLinearSubgradeReactionMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcModulusOfLinearSubgradeReactionMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcModulusOfRotationalSubgradeReactionMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcModulusOfRotationalSubgradeReactionMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcModulusOfRotationalSubgradeReactionMeasure(!v[6] ? null : v[6].value)), + 3367102660: (v) => new IFC2X3$1.IfcBoundaryFaceCondition(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcModulusOfSubgradeReactionMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcModulusOfSubgradeReactionMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcModulusOfSubgradeReactionMeasure(!v[3] ? null : v[3].value)), + 1387855156: (v) => new IFC2X3$1.IfcBoundaryNodeCondition(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLinearStiffnessMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLinearStiffnessMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcLinearStiffnessMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcRotationalStiffnessMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcRotationalStiffnessMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcRotationalStiffnessMeasure(!v[6] ? null : v[6].value)), + 2069777674: (v) => new IFC2X3$1.IfcBoundaryNodeConditionWarping(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLinearStiffnessMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLinearStiffnessMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcLinearStiffnessMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcRotationalStiffnessMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcRotationalStiffnessMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcRotationalStiffnessMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcWarpingMomentMeasure(!v[7] ? null : v[7].value)), + 622194075: (v) => new IFC2X3$1.IfcCalendarDate(new IFC2X3$1.IfcDayInMonthNumber(!v[0] ? null : v[0].value), new IFC2X3$1.IfcMonthInYearNumber(!v[1] ? null : v[1].value), new IFC2X3$1.IfcYearNumber(!v[2] ? null : v[2].value)), + 747523909: (v) => new IFC2X3$1.IfcClassification(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcLabel(!v[3] ? null : v[3].value)), + 1767535486: (v) => new IFC2X3$1.IfcClassificationItem(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 1098599126: (v) => { + var _a; + return new IFC2X3$1.IfcClassificationItemRelationship(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 938368621: (v) => { + var _a; + return new IFC2X3$1.IfcClassificationNotation(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3639012971: (v) => new IFC2X3$1.IfcClassificationNotationFacet(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 3264961684: (v) => new IFC2X3$1.IfcColourSpecification(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 2859738748: (_) => new IFC2X3$1.IfcConnectionGeometry(), + 2614616156: (v) => new IFC2X3$1.IfcConnectionPointGeometry(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 4257277454: (v) => new IFC2X3$1.IfcConnectionPortGeometry(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 2732653382: (v) => new IFC2X3$1.IfcConnectionSurfaceGeometry(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 1959218052: (v) => new IFC2X3$1.IfcConstraint(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), v[2], !v[3] ? null : new IFC2X3$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value)), + 1658513725: (v) => { + var _a; + return new IFC2X3$1.IfcConstraintAggregationRelationship(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[4]); + }, + 613356794: (v) => { + var _a; + return new IFC2X3$1.IfcConstraintClassificationRelationship(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 347226245: (v) => { + var _a; + return new IFC2X3$1.IfcConstraintRelationship(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1065062679: (v) => new IFC2X3$1.IfcCoordinatedUniversalTimeOffset(new IFC2X3$1.IfcHourInDay(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcMinuteInHour(!v[1] ? null : v[1].value), v[2]), + 602808272: (v) => new IFC2X3$1.IfcCostValue(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcText(!v[7] ? null : v[7].value)), + 539742890: (v) => new IFC2X3$1.IfcCurrencyRelationship(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new IFC2X3$1.IfcPositiveRatioMeasure(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value)), + 1105321065: (v) => { + var _a; + return new IFC2X3$1.IfcCurveStyleFont(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2367409068: (v) => new IFC2X3$1.IfcCurveStyleFontAndScaling(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new IFC2X3$1.IfcPositiveRatioMeasure(!v[2] ? null : v[2].value)), + 3510044353: (v) => new IFC2X3$1.IfcCurveStyleFontPattern(new IFC2X3$1.IfcLengthMeasure(!v[0] ? null : v[0].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value)), + 1072939445: (v) => new IFC2X3$1.IfcDateAndTime(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 1765591967: (v) => { + var _a; + return new IFC2X3$1.IfcDerivedUnit(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[1], !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)); + }, + 1045800335: (v) => new IFC2X3$1.IfcDerivedUnitElement(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : v[1].value), + 2949456006: (v) => new IFC2X3$1.IfcDimensionalExponents(!v[0] ? null : v[0].value, !v[1] ? null : v[1].value, !v[2] ? null : v[2].value, !v[3] ? null : v[3].value, !v[4] ? null : v[4].value, !v[5] ? null : v[5].value, !v[6] ? null : v[6].value), + 1376555844: (v) => new IFC2X3$1.IfcDocumentElectronicFormat(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 1154170062: (v) => { + var _a, _b; + return new IFC2X3$1.IfcDocumentInformation(new IFC2X3$1.IfcIdentifier(!v[0] ? null : v[0].value), new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcText(!v[2] ? null : v[2].value), !v[3] ? null : ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[4] ? null : new IFC2X3$1.IfcText(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcText(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value), !v[9] ? null : ((_b = v[9]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), !v[11] ? null : new Handle$5(!v[11] ? null : v[11].value), !v[12] ? null : new Handle$5(!v[12] ? null : v[12].value), !v[13] ? null : new Handle$5(!v[13] ? null : v[13].value), !v[14] ? null : new Handle$5(!v[14] ? null : v[14].value), v[15], v[16]); + }, + 770865208: (v) => { + var _a; + return new IFC2X3$1.IfcDocumentInformationRelationship(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)); + }, + 3796139169: (v) => new IFC2X3$1.IfcDraughtingCalloutRelationship(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)), + 1648886627: (v) => new IFC2X3$1.IfcEnvironmentalImpactValue(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)), + 3200245327: (v) => new IFC2X3$1.IfcExternalReference(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 2242383968: (v) => new IFC2X3$1.IfcExternallyDefinedHatchStyle(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 1040185647: (v) => new IFC2X3$1.IfcExternallyDefinedSurfaceStyle(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 3207319532: (v) => new IFC2X3$1.IfcExternallyDefinedSymbol(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 3548104201: (v) => new IFC2X3$1.IfcExternallyDefinedTextFont(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 852622518: (v) => new IFC2X3$1.IfcGridAxis(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new IFC2X3$1.IfcBoolean(!v[2] ? null : v[2].value)), + 3020489413: (v) => { + var _a; + return new IFC2X3$1.IfcIrregularTimeSeriesValue(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(3, p) : null)) || []); + }, + 2655187982: (v) => { + var _a; + return new IFC2X3$1.IfcLibraryInformation(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3452421091: (v) => new IFC2X3$1.IfcLibraryReference(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 4162380809: (v) => { + var _a, _b; + return new IFC2X3$1.IfcLightDistributionData(new IFC2X3$1.IfcPlaneAngleMeasure(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC2X3$1.IfcPlaneAngleMeasure(p.value) : null)) || [], ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC2X3$1.IfcLuminousIntensityDistributionMeasure(p.value) : null)) || []); + }, + 1566485204: (v) => { + var _a; + return new IFC2X3$1.IfcLightIntensityDistribution(v[0], ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 30780891: (v) => new IFC2X3$1.IfcLocalTime(new IFC2X3$1.IfcHourInDay(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcMinuteInHour(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcSecondInMinute(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcDaylightSavingHour(!v[4] ? null : v[4].value)), + 1838606355: (v) => new IFC2X3$1.IfcMaterial(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 1847130766: (v) => { + var _a; + return new IFC2X3$1.IfcMaterialClassificationRelationship(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[1] ? null : v[1].value)); + }, + 248100487: (v) => new IFC2X3$1.IfcMaterialLayer(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLogical(!v[2] ? null : v[2].value)), + 3303938423: (v) => { + var _a; + return new IFC2X3$1.IfcMaterialLayerSet(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value)); + }, + 1303795690: (v) => new IFC2X3$1.IfcMaterialLayerSetUsage(new Handle$5(!v[0] ? null : v[0].value), v[1], v[2], new IFC2X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value)), + 2199411900: (v) => { + var _a; + return new IFC2X3$1.IfcMaterialList(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3265635763: (v) => new IFC2X3$1.IfcMaterialProperties(new Handle$5(!v[0] ? null : v[0].value)), + 2597039031: (v) => new IFC2X3$1.IfcMeasureWithUnit(TypeInitialiser(3, v[0]), new Handle$5(!v[1] ? null : v[1].value)), + 4256014907: (v) => new IFC2X3$1.IfcMechanicalMaterialProperties(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcDynamicViscosityMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcModulusOfElasticityMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcModulusOfElasticityMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcThermalExpansionCoefficientMeasure(!v[5] ? null : v[5].value)), + 677618848: (v) => { + var _a; + return new IFC2X3$1.IfcMechanicalSteelMaterialProperties(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcDynamicViscosityMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcModulusOfElasticityMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcModulusOfElasticityMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcThermalExpansionCoefficientMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcPressureMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcPressureMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcModulusOfElasticityMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcPressureMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[11] ? null : v[11].value), !v[12] ? null : ((_a = v[12]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3368373690: (v) => new IFC2X3$1.IfcMetric(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), v[2], !v[3] ? null : new IFC2X3$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), new Handle$5(!v[9] ? null : v[9].value)), + 2706619895: (v) => new IFC2X3$1.IfcMonetaryUnit(v[0]), + 1918398963: (v) => new IFC2X3$1.IfcNamedUnit(new Handle$5(!v[0] ? null : v[0].value), v[1]), + 3701648758: (_) => new IFC2X3$1.IfcObjectPlacement(), + 2251480897: (v) => new IFC2X3$1.IfcObjective(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), v[2], !v[3] ? null : new IFC2X3$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC2X3$1.IfcLabel(!v[10] ? null : v[10].value)), + 1227763645: (v) => new IFC2X3$1.IfcOpticalMaterialProperties(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[9] ? null : v[9].value)), + 4251960020: (v) => { + var _a, _b; + return new IFC2X3$1.IfcOrganization(!v[0] ? null : new IFC2X3$1.IfcIdentifier(!v[0] ? null : v[0].value), new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcText(!v[2] ? null : v[2].value), !v[3] ? null : ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[4] ? null : ((_b = v[4]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1411181986: (v) => { + var _a; + return new IFC2X3$1.IfcOrganizationRelationship(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1207048766: (v) => new IFC2X3$1.IfcOwnerHistory(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), v[2], v[3], !v[4] ? null : new IFC2X3$1.IfcTimeStamp(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new IFC2X3$1.IfcTimeStamp(!v[7] ? null : v[7].value)), + 2077209135: (v) => { + var _a, _b, _c, _d, _e; + return new IFC2X3$1.IfcPerson(!v[0] ? null : new IFC2X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC2X3$1.IfcLabel(p.value) : null)) || [], !v[4] ? null : ((_b = v[4]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC2X3$1.IfcLabel(p.value) : null)) || [], !v[5] ? null : ((_c = v[5]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC2X3$1.IfcLabel(p.value) : null)) || [], !v[6] ? null : ((_d = v[6]) == null ? void 0 : _d.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : ((_e = v[7]) == null ? void 0 : _e.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 101040310: (v) => { + var _a; + return new IFC2X3$1.IfcPersonAndOrganization(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2483315170: (v) => new IFC2X3$1.IfcPhysicalQuantity(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value)), + 2226359599: (v) => new IFC2X3$1.IfcPhysicalSimpleQuantity(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)), + 3355820592: (v) => { + var _a; + return new IFC2X3$1.IfcPostalAddress(v[0], !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC2X3$1.IfcLabel(p.value) : null)) || [], !v[5] ? null : new IFC2X3$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcLabel(!v[9] ? null : v[9].value)); + }, + 3727388367: (v) => new IFC2X3$1.IfcPreDefinedItem(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 990879717: (v) => new IFC2X3$1.IfcPreDefinedSymbol(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 3213052703: (v) => new IFC2X3$1.IfcPreDefinedTerminatorSymbol(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 1775413392: (v) => new IFC2X3$1.IfcPreDefinedTextFont(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 2022622350: (v) => { + var _a; + return new IFC2X3$1.IfcPresentationLayerAssignment(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[3] ? null : new IFC2X3$1.IfcIdentifier(!v[3] ? null : v[3].value)); + }, + 1304840413: (v) => { + var _a, _b; + return new IFC2X3$1.IfcPresentationLayerWithStyle(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[3] ? null : new IFC2X3$1.IfcIdentifier(!v[3] ? null : v[3].value), !v[4] ? null : v[4].value, !v[5] ? null : v[5].value, !v[6] ? null : v[6].value, !v[7] ? null : ((_b = v[7]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3119450353: (v) => new IFC2X3$1.IfcPresentationStyle(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 2417041796: (v) => { + var _a; + return new IFC2X3$1.IfcPresentationStyleAssignment(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2095639259: (v) => { + var _a; + return new IFC2X3$1.IfcProductRepresentation(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2267347899: (v) => new IFC2X3$1.IfcProductsOfCombustionProperties(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcSpecificHeatCapacityMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[4] ? null : v[4].value)), + 3958567839: (v) => new IFC2X3$1.IfcProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value)), + 2802850158: (v) => new IFC2X3$1.IfcProfileProperties(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 2598011224: (v) => new IFC2X3$1.IfcProperty(new IFC2X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value)), + 3896028662: (v) => { + var _a; + return new IFC2X3$1.IfcPropertyConstraintRelationship(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value)); + }, + 148025276: (v) => new IFC2X3$1.IfcPropertyDependencyRelationship(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcText(!v[4] ? null : v[4].value)), + 3710013099: (v) => { + var _a; + return new IFC2X3$1.IfcPropertyEnumeration(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(3, p) : null)) || [], !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)); + }, + 2044713172: (v) => new IFC2X3$1.IfcQuantityArea(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcAreaMeasure(!v[3] ? null : v[3].value)), + 2093928680: (v) => new IFC2X3$1.IfcQuantityCount(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcCountMeasure(!v[3] ? null : v[3].value)), + 931644368: (v) => new IFC2X3$1.IfcQuantityLength(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value)), + 3252649465: (v) => new IFC2X3$1.IfcQuantityTime(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcTimeMeasure(!v[3] ? null : v[3].value)), + 2405470396: (v) => new IFC2X3$1.IfcQuantityVolume(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcVolumeMeasure(!v[3] ? null : v[3].value)), + 825690147: (v) => new IFC2X3$1.IfcQuantityWeight(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcMassMeasure(!v[3] ? null : v[3].value)), + 2692823254: (v) => { + var _a; + return new IFC2X3$1.IfcReferencesValueDocument(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value)); + }, + 1580146022: (v) => new IFC2X3$1.IfcReinforcementBarProperties(new IFC2X3$1.IfcAreaMeasure(!v[0] ? null : v[0].value), new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), v[2], !v[3] ? null : new IFC2X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcCountMeasure(!v[5] ? null : v[5].value)), + 1222501353: (v) => new IFC2X3$1.IfcRelaxation(new IFC2X3$1.IfcNormalisedRatioMeasure(!v[0] ? null : v[0].value), new IFC2X3$1.IfcNormalisedRatioMeasure(!v[1] ? null : v[1].value)), + 1076942058: (v) => { + var _a; + return new IFC2X3$1.IfcRepresentation(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3377609919: (v) => new IFC2X3$1.IfcRepresentationContext(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value)), + 3008791417: (_) => new IFC2X3$1.IfcRepresentationItem(), + 1660063152: (v) => new IFC2X3$1.IfcRepresentationMap(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 3679540991: (v) => new IFC2X3$1.IfcRibPlateProfileProperties(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), v[6]), + 2341007311: (v) => new IFC2X3$1.IfcRoot(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value)), + 448429030: (v) => new IFC2X3$1.IfcSIUnit(v[0], v[1], v[2]), + 2042790032: (v) => new IFC2X3$1.IfcSectionProperties(v[0], new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)), + 4165799628: (v) => { + var _a; + return new IFC2X3$1.IfcSectionReinforcementProperties(new IFC2X3$1.IfcLengthMeasure(!v[0] ? null : v[0].value), new IFC2X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), v[3], new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 867548509: (v) => { + var _a; + return new IFC2X3$1.IfcShapeAspect(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcText(!v[2] ? null : v[2].value), !v[3] ? null : v[3].value, new Handle$5(!v[4] ? null : v[4].value)); + }, + 3982875396: (v) => { + var _a; + return new IFC2X3$1.IfcShapeModel(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 4240577450: (v) => { + var _a; + return new IFC2X3$1.IfcShapeRepresentation(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3692461612: (v) => new IFC2X3$1.IfcSimpleProperty(new IFC2X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value)), + 2273995522: (v) => new IFC2X3$1.IfcStructuralConnectionCondition(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 2162789131: (v) => new IFC2X3$1.IfcStructuralLoad(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 2525727697: (v) => new IFC2X3$1.IfcStructuralLoadStatic(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 3408363356: (v) => new IFC2X3$1.IfcStructuralLoadTemperature(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcThermodynamicTemperatureMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcThermodynamicTemperatureMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcThermodynamicTemperatureMeasure(!v[3] ? null : v[3].value)), + 2830218821: (v) => { + var _a; + return new IFC2X3$1.IfcStyleModel(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3958052878: (v) => { + var _a; + return new IFC2X3$1.IfcStyledItem(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)); + }, + 3049322572: (v) => { + var _a; + return new IFC2X3$1.IfcStyledRepresentation(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1300840506: (v) => { + var _a; + return new IFC2X3$1.IfcSurfaceStyle(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), v[1], ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3303107099: (v) => new IFC2X3$1.IfcSurfaceStyleLighting(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)), + 1607154358: (v) => new IFC2X3$1.IfcSurfaceStyleRefraction(!v[0] ? null : new IFC2X3$1.IfcReal(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcReal(!v[1] ? null : v[1].value)), + 846575682: (v) => new IFC2X3$1.IfcSurfaceStyleShading(new Handle$5(!v[0] ? null : v[0].value)), + 1351298697: (v) => { + var _a; + return new IFC2X3$1.IfcSurfaceStyleWithTextures(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 626085974: (v) => new IFC2X3$1.IfcSurfaceTexture(!v[0] ? null : v[0].value, !v[1] ? null : v[1].value, v[2], !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)), + 1290481447: (v) => new IFC2X3$1.IfcSymbolStyle(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), TypeInitialiser(3, v[1])), + 985171141: (v) => { + var _a; + return new IFC2X3$1.IfcTable(!v[0] ? null : v[0].value, ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 531007025: (v) => { + var _a; + return new IFC2X3$1.IfcTableRow(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(3, p) : null)) || [], !v[1] ? null : v[1].value); + }, + 912023232: (v) => { + var _a, _b, _c; + return new IFC2X3$1.IfcTelecomAddress(v[0], !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC2X3$1.IfcLabel(p.value) : null)) || [], !v[4] ? null : ((_b = v[4]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC2X3$1.IfcLabel(p.value) : null)) || [], !v[5] ? null : new IFC2X3$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : ((_c = v[6]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC2X3$1.IfcLabel(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value)); + }, + 1447204868: (v) => new IFC2X3$1.IfcTextStyle(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)), + 1983826977: (v) => { + var _a; + return new IFC2X3$1.IfcTextStyleFontModel(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC2X3$1.IfcTextFontName(p.value) : null)) || [], !v[2] ? null : new IFC2X3$1.IfcFontStyle(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcFontVariant(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcFontWeight(!v[4] ? null : v[4].value), TypeInitialiser(3, v[5])); + }, + 2636378356: (v) => new IFC2X3$1.IfcTextStyleForDefinedFont(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 1640371178: (v) => new IFC2X3$1.IfcTextStyleTextModel(!v[0] ? null : TypeInitialiser(3, v[0]), !v[1] ? null : new IFC2X3$1.IfcTextAlignment(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcTextDecoration(!v[2] ? null : v[2].value), !v[3] ? null : TypeInitialiser(3, v[3]), !v[4] ? null : TypeInitialiser(3, v[4]), !v[5] ? null : new IFC2X3$1.IfcTextTransformation(!v[5] ? null : v[5].value), !v[6] ? null : TypeInitialiser(3, v[6])), + 1484833681: (v) => new IFC2X3$1.IfcTextStyleWithBoxCharacteristics(!v[0] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcPlaneAngleMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcPlaneAngleMeasure(!v[3] ? null : v[3].value), !v[4] ? null : TypeInitialiser(3, v[4])), + 280115917: (_) => new IFC2X3$1.IfcTextureCoordinate(), + 1742049831: (v) => { + var _a; + return new IFC2X3$1.IfcTextureCoordinateGenerator(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(3, p) : null)) || []); + }, + 2552916305: (v) => { + var _a; + return new IFC2X3$1.IfcTextureMap(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1210645708: (v) => { + var _a; + return new IFC2X3$1.IfcTextureVertex(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC2X3$1.IfcParameterValue(p.value) : null)) || []); + }, + 3317419933: (v) => new IFC2X3$1.IfcThermalMaterialProperties(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcSpecificHeatCapacityMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcThermodynamicTemperatureMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcThermodynamicTemperatureMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcThermalConductivityMeasure(!v[4] ? null : v[4].value)), + 3101149627: (v) => new IFC2X3$1.IfcTimeSeries(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), v[4], v[5], !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)), + 1718945513: (v) => { + var _a; + return new IFC2X3$1.IfcTimeSeriesReferenceRelationship(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 581633288: (v) => { + var _a; + return new IFC2X3$1.IfcTimeSeriesValue(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(3, p) : null)) || []); + }, + 1377556343: (_) => new IFC2X3$1.IfcTopologicalRepresentationItem(), + 1735638870: (v) => { + var _a; + return new IFC2X3$1.IfcTopologyRepresentation(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 180925521: (v) => { + var _a; + return new IFC2X3$1.IfcUnitAssignment(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2799835756: (_) => new IFC2X3$1.IfcVertex(), + 3304826586: (v) => { + var _a, _b; + return new IFC2X3$1.IfcVertexBasedTextureMap(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[1]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1907098498: (v) => new IFC2X3$1.IfcVertexPoint(new Handle$5(!v[0] ? null : v[0].value)), + 891718957: (v) => { + var _a, _b; + return new IFC2X3$1.IfcVirtualGridIntersection(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[1]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC2X3$1.IfcLengthMeasure(p.value) : null)) || []); + }, + 1065908215: (v) => new IFC2X3$1.IfcWaterProperties(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : !v[1] ? null : v[1].value, !v[2] ? null : new IFC2X3$1.IfcIonConcentrationMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcIonConcentrationMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcIonConcentrationMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcPHMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[7] ? null : v[7].value)), + 2442683028: (v) => { + var _a; + return new IFC2X3$1.IfcAnnotationOccurrence(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)); + }, + 962685235: (v) => { + var _a; + return new IFC2X3$1.IfcAnnotationSurfaceOccurrence(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)); + }, + 3612888222: (v) => { + var _a; + return new IFC2X3$1.IfcAnnotationSymbolOccurrence(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)); + }, + 2297822566: (v) => { + var _a; + return new IFC2X3$1.IfcAnnotationTextOccurrence(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)); + }, + 3798115385: (v) => new IFC2X3$1.IfcArbitraryClosedProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 1310608509: (v) => new IFC2X3$1.IfcArbitraryOpenProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 2705031697: (v) => { + var _a; + return new IFC2X3$1.IfcArbitraryProfileDefWithVoids(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 616511568: (v) => new IFC2X3$1.IfcBlobTexture(!v[0] ? null : v[0].value, !v[1] ? null : v[1].value, v[2], !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), new IFC2X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : v[5].value), + 3150382593: (v) => new IFC2X3$1.IfcCenterLineProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 647927063: (v) => new IFC2X3$1.IfcClassificationReference(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)), + 776857604: (v) => new IFC2X3$1.IfcColourRgb(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), new IFC2X3$1.IfcNormalisedRatioMeasure(!v[1] ? null : v[1].value), new IFC2X3$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), new IFC2X3$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value)), + 2542286263: (v) => { + var _a; + return new IFC2X3$1.IfcComplexProperty(new IFC2X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), new IFC2X3$1.IfcIdentifier(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1485152156: (v) => { + var _a; + return new IFC2X3$1.IfcCompositeProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[3] ? null : new IFC2X3$1.IfcLabel(!v[3] ? null : v[3].value)); + }, + 370225590: (v) => { + var _a; + return new IFC2X3$1.IfcConnectedFaceSet(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1981873012: (v) => new IFC2X3$1.IfcConnectionCurveGeometry(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 45288368: (v) => new IFC2X3$1.IfcConnectionPointEccentricity(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLengthMeasure(!v[4] ? null : v[4].value)), + 3050246964: (v) => new IFC2X3$1.IfcContextDependentUnit(new Handle$5(!v[0] ? null : v[0].value), v[1], new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 2889183280: (v) => new IFC2X3$1.IfcConversionBasedUnit(new Handle$5(!v[0] ? null : v[0].value), v[1], new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)), + 3800577675: (v) => new IFC2X3$1.IfcCurveStyle(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : TypeInitialiser(3, v[2]), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)), + 3632507154: (v) => new IFC2X3$1.IfcDerivedProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 2273265877: (v) => new IFC2X3$1.IfcDimensionCalloutRelationship(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)), + 1694125774: (v) => new IFC2X3$1.IfcDimensionPair(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)), + 3732053477: (v) => new IFC2X3$1.IfcDocumentReference(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 4170525392: (v) => new IFC2X3$1.IfcDraughtingPreDefinedTextFont(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 3900360178: (v) => new IFC2X3$1.IfcEdge(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 476780140: (v) => new IFC2X3$1.IfcEdgeCurve(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : v[3].value), + 1860660968: (v) => { + var _a; + return new IFC2X3$1.IfcExtendedMaterialProperties(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC2X3$1.IfcText(!v[2] ? null : v[2].value), new IFC2X3$1.IfcLabel(!v[3] ? null : v[3].value)); + }, + 2556980723: (v) => { + var _a; + return new IFC2X3$1.IfcFace(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1809719519: (v) => new IFC2X3$1.IfcFaceBound(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : v[1].value), + 803316827: (v) => new IFC2X3$1.IfcFaceOuterBound(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : v[1].value), + 3008276851: (v) => { + var _a; + return new IFC2X3$1.IfcFaceSurface(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : v[2].value); + }, + 4219587988: (v) => new IFC2X3$1.IfcFailureConnectionCondition(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcForceMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcForceMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcForceMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcForceMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcForceMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcForceMeasure(!v[6] ? null : v[6].value)), + 738692330: (v) => { + var _a; + return new IFC2X3$1.IfcFillAreaStyle(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3857492461: (v) => new IFC2X3$1.IfcFuelProperties(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcThermodynamicTemperatureMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcHeatingValueMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcHeatingValueMeasure(!v[4] ? null : v[4].value)), + 803998398: (v) => new IFC2X3$1.IfcGeneralMaterialProperties(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcMolecularWeightMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcMassDensityMeasure(!v[3] ? null : v[3].value)), + 1446786286: (v) => new IFC2X3$1.IfcGeneralProfileProperties(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcMassPerLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcAreaMeasure(!v[6] ? null : v[6].value)), + 3448662350: (v) => new IFC2X3$1.IfcGeometricRepresentationContext(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new IFC2X3$1.IfcDimensionCount(!v[2] ? null : v[2].value), !v[3] ? null : !v[3] ? null : v[3].value, new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value)), + 2453401579: (_) => new IFC2X3$1.IfcGeometricRepresentationItem(), + 4142052618: (v) => new IFC2X3$1.IfcGeometricRepresentationSubContext(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[3] ? null : v[3].value), v[4], !v[5] ? null : new IFC2X3$1.IfcLabel(!v[5] ? null : v[5].value)), + 3590301190: (v) => { + var _a; + return new IFC2X3$1.IfcGeometricSet(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 178086475: (v) => new IFC2X3$1.IfcGridPlacement(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 812098782: (v) => new IFC2X3$1.IfcHalfSpaceSolid(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : v[1].value), + 2445078500: (v) => new IFC2X3$1.IfcHygroscopicMaterialProperties(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcIsothermalMoistureCapacityMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcVaporPermeabilityMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcMoistureDiffusivityMeasure(!v[5] ? null : v[5].value)), + 3905492369: (v) => new IFC2X3$1.IfcImageTexture(!v[0] ? null : v[0].value, !v[1] ? null : v[1].value, v[2], !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), new IFC2X3$1.IfcIdentifier(!v[4] ? null : v[4].value)), + 3741457305: (v) => { + var _a; + return new IFC2X3$1.IfcIrregularTimeSeries(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), v[4], v[5], !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1402838566: (v) => new IFC2X3$1.IfcLightSource(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value)), + 125510826: (v) => new IFC2X3$1.IfcLightSourceAmbient(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value)), + 2604431987: (v) => new IFC2X3$1.IfcLightSourceDirectional(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value)), + 4266656042: (v) => new IFC2X3$1.IfcLightSourceGoniometric(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), new IFC2X3$1.IfcThermodynamicTemperatureMeasure(!v[6] ? null : v[6].value), new IFC2X3$1.IfcLuminousFluxMeasure(!v[7] ? null : v[7].value), v[8], new Handle$5(!v[9] ? null : v[9].value)), + 1520743889: (v) => new IFC2X3$1.IfcLightSourcePositional(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC2X3$1.IfcReal(!v[6] ? null : v[6].value), new IFC2X3$1.IfcReal(!v[7] ? null : v[7].value), new IFC2X3$1.IfcReal(!v[8] ? null : v[8].value)), + 3422422726: (v) => new IFC2X3$1.IfcLightSourceSpot(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC2X3$1.IfcReal(!v[6] ? null : v[6].value), new IFC2X3$1.IfcReal(!v[7] ? null : v[7].value), new IFC2X3$1.IfcReal(!v[8] ? null : v[8].value), new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcReal(!v[10] ? null : v[10].value), new IFC2X3$1.IfcPositivePlaneAngleMeasure(!v[11] ? null : v[11].value), new IFC2X3$1.IfcPositivePlaneAngleMeasure(!v[12] ? null : v[12].value)), + 2624227202: (v) => new IFC2X3$1.IfcLocalPlacement(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 1008929658: (_) => new IFC2X3$1.IfcLoop(), + 2347385850: (v) => new IFC2X3$1.IfcMappedItem(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 2022407955: (v) => { + var _a; + return new IFC2X3$1.IfcMaterialDefinitionRepresentation(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[3] ? null : v[3].value)); + }, + 1430189142: (v) => new IFC2X3$1.IfcMechanicalConcreteMaterialProperties(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcDynamicViscosityMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcModulusOfElasticityMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcModulusOfElasticityMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcThermalExpansionCoefficientMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcPressureMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcText(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcText(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC2X3$1.IfcText(!v[11] ? null : v[11].value)), + 219451334: (v) => new IFC2X3$1.IfcObjectDefinition(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value)), + 2833995503: (v) => new IFC2X3$1.IfcOneDirectionRepeatFactor(new Handle$5(!v[0] ? null : v[0].value)), + 2665983363: (v) => { + var _a; + return new IFC2X3$1.IfcOpenShell(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1029017970: (v) => new IFC2X3$1.IfcOrientedEdge(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : v[1].value), + 2529465313: (v) => new IFC2X3$1.IfcParameterizedProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 2519244187: (v) => { + var _a; + return new IFC2X3$1.IfcPath(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3021840470: (v) => { + var _a; + return new IFC2X3$1.IfcPhysicalComplexQuantity(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC2X3$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcLabel(!v[5] ? null : v[5].value)); + }, + 597895409: (v) => { + var _a; + return new IFC2X3$1.IfcPixelTexture(!v[0] ? null : v[0].value, !v[1] ? null : v[1].value, v[2], !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), new IFC2X3$1.IfcInteger(!v[4] ? null : v[4].value), new IFC2X3$1.IfcInteger(!v[5] ? null : v[5].value), new IFC2X3$1.IfcInteger(!v[6] ? null : v[6].value), ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? Number(p.value) : null)) || []); + }, + 2004835150: (v) => new IFC2X3$1.IfcPlacement(new Handle$5(!v[0] ? null : v[0].value)), + 1663979128: (v) => new IFC2X3$1.IfcPlanarExtent(new IFC2X3$1.IfcLengthMeasure(!v[0] ? null : v[0].value), new IFC2X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value)), + 2067069095: (_) => new IFC2X3$1.IfcPoint(), + 4022376103: (v) => new IFC2X3$1.IfcPointOnCurve(new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcParameterValue(!v[1] ? null : v[1].value)), + 1423911732: (v) => new IFC2X3$1.IfcPointOnSurface(new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcParameterValue(!v[1] ? null : v[1].value), new IFC2X3$1.IfcParameterValue(!v[2] ? null : v[2].value)), + 2924175390: (v) => { + var _a; + return new IFC2X3$1.IfcPolyLoop(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2775532180: (v) => new IFC2X3$1.IfcPolygonalBoundedHalfSpace(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : v[1].value, new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)), + 759155922: (v) => new IFC2X3$1.IfcPreDefinedColour(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 2559016684: (v) => new IFC2X3$1.IfcPreDefinedCurveFont(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 433424934: (v) => new IFC2X3$1.IfcPreDefinedDimensionSymbol(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 179317114: (v) => new IFC2X3$1.IfcPreDefinedPointMarkerSymbol(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 673634403: (v) => { + var _a; + return new IFC2X3$1.IfcProductDefinitionShape(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 871118103: (v) => new IFC2X3$1.IfcPropertyBoundedValue(new IFC2X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : TypeInitialiser(3, v[2]), !v[3] ? null : TypeInitialiser(3, v[3]), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value)), + 1680319473: (v) => new IFC2X3$1.IfcPropertyDefinition(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value)), + 4166981789: (v) => { + var _a; + return new IFC2X3$1.IfcPropertyEnumeratedValue(new IFC2X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(3, p) : null)) || [], !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)); + }, + 2752243245: (v) => { + var _a; + return new IFC2X3$1.IfcPropertyListValue(new IFC2X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(3, p) : null)) || [], !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)); + }, + 941946838: (v) => new IFC2X3$1.IfcPropertyReferenceValue(new IFC2X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)), + 3357820518: (v) => new IFC2X3$1.IfcPropertySetDefinition(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value)), + 3650150729: (v) => new IFC2X3$1.IfcPropertySingleValue(new IFC2X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : TypeInitialiser(3, v[2]), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)), + 110355661: (v) => { + var _a, _b; + return new IFC2X3$1.IfcPropertyTableValue(new IFC2X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(3, p) : null)) || [], ((_b = v[3]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(3, p) : null)) || [], !v[4] ? null : new IFC2X3$1.IfcText(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)); + }, + 3615266464: (v) => new IFC2X3$1.IfcRectangleProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value)), + 3413951693: (v) => { + var _a; + return new IFC2X3$1.IfcRegularTimeSeries(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), v[4], v[5], !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), new IFC2X3$1.IfcTimeMeasure(!v[8] ? null : v[8].value), ((_a = v[9]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3765753017: (v) => { + var _a; + return new IFC2X3$1.IfcReinforcementDefinitionProperties(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 478536968: (v) => new IFC2X3$1.IfcRelationship(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value)), + 2778083089: (v) => new IFC2X3$1.IfcRoundedRectangleProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value)), + 1509187699: (v) => { + var _a, _b; + return new IFC2X3$1.IfcSectionedSpine(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2411513650: (v) => new IFC2X3$1.IfcServiceLifeFactor(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), v[4], !v[5] ? null : TypeInitialiser(3, v[5]), TypeInitialiser(3, v[6]), !v[7] ? null : TypeInitialiser(3, v[7])), + 4124623270: (v) => { + var _a; + return new IFC2X3$1.IfcShellBasedSurfaceModel(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2609359061: (v) => new IFC2X3$1.IfcSlippageConnectionCondition(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value)), + 723233188: (_) => new IFC2X3$1.IfcSolidModel(), + 2485662743: (v) => { + var _a; + return new IFC2X3$1.IfcSoundProperties(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new IFC2X3$1.IfcBoolean(!v[4] ? null : v[4].value), v[5], ((_a = v[6]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1202362311: (v) => new IFC2X3$1.IfcSoundValue(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), new IFC2X3$1.IfcFrequencyMeasure(!v[5] ? null : v[5].value), !v[6] ? null : TypeInitialiser(3, v[6])), + 390701378: (v) => new IFC2X3$1.IfcSpaceThermalLoadProperties(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[4] ? null : v[4].value), v[5], v[6], !v[7] ? null : new IFC2X3$1.IfcText(!v[7] ? null : v[7].value), new IFC2X3$1.IfcPowerMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcPowerMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), !v[11] ? null : new IFC2X3$1.IfcLabel(!v[11] ? null : v[11].value), !v[12] ? null : new IFC2X3$1.IfcLabel(!v[12] ? null : v[12].value), v[13]), + 1595516126: (v) => new IFC2X3$1.IfcStructuralLoadLinearForce(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLinearForceMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLinearForceMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcLinearForceMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLinearMomentMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcLinearMomentMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcLinearMomentMeasure(!v[6] ? null : v[6].value)), + 2668620305: (v) => new IFC2X3$1.IfcStructuralLoadPlanarForce(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcPlanarForceMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcPlanarForceMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcPlanarForceMeasure(!v[3] ? null : v[3].value)), + 2473145415: (v) => new IFC2X3$1.IfcStructuralLoadSingleDisplacement(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPlaneAngleMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcPlaneAngleMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcPlaneAngleMeasure(!v[6] ? null : v[6].value)), + 1973038258: (v) => new IFC2X3$1.IfcStructuralLoadSingleDisplacementDistortion(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPlaneAngleMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcPlaneAngleMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcPlaneAngleMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcCurvatureMeasure(!v[7] ? null : v[7].value)), + 1597423693: (v) => new IFC2X3$1.IfcStructuralLoadSingleForce(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcForceMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcForceMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcForceMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcTorqueMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcTorqueMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcTorqueMeasure(!v[6] ? null : v[6].value)), + 1190533807: (v) => new IFC2X3$1.IfcStructuralLoadSingleForceWarping(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcForceMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcForceMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcForceMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcTorqueMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcTorqueMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcTorqueMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcWarpingMomentMeasure(!v[7] ? null : v[7].value)), + 3843319758: (v) => new IFC2X3$1.IfcStructuralProfileProperties(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcMassPerLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcAreaMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcMomentOfInertiaMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcMomentOfInertiaMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcMomentOfInertiaMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcMomentOfInertiaMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC2X3$1.IfcWarpingConstantMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC2X3$1.IfcLengthMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new IFC2X3$1.IfcLengthMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new IFC2X3$1.IfcAreaMeasure(!v[14] ? null : v[14].value), !v[15] ? null : new IFC2X3$1.IfcAreaMeasure(!v[15] ? null : v[15].value), !v[16] ? null : new IFC2X3$1.IfcSectionModulusMeasure(!v[16] ? null : v[16].value), !v[17] ? null : new IFC2X3$1.IfcSectionModulusMeasure(!v[17] ? null : v[17].value), !v[18] ? null : new IFC2X3$1.IfcSectionModulusMeasure(!v[18] ? null : v[18].value), !v[19] ? null : new IFC2X3$1.IfcSectionModulusMeasure(!v[19] ? null : v[19].value), !v[20] ? null : new IFC2X3$1.IfcSectionModulusMeasure(!v[20] ? null : v[20].value), !v[21] ? null : new IFC2X3$1.IfcLengthMeasure(!v[21] ? null : v[21].value), !v[22] ? null : new IFC2X3$1.IfcLengthMeasure(!v[22] ? null : v[22].value)), + 3653947884: (v) => new IFC2X3$1.IfcStructuralSteelProfileProperties(!v[0] ? null : new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcMassPerLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcAreaMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcMomentOfInertiaMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcMomentOfInertiaMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcMomentOfInertiaMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcMomentOfInertiaMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC2X3$1.IfcWarpingConstantMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC2X3$1.IfcLengthMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new IFC2X3$1.IfcLengthMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new IFC2X3$1.IfcAreaMeasure(!v[14] ? null : v[14].value), !v[15] ? null : new IFC2X3$1.IfcAreaMeasure(!v[15] ? null : v[15].value), !v[16] ? null : new IFC2X3$1.IfcSectionModulusMeasure(!v[16] ? null : v[16].value), !v[17] ? null : new IFC2X3$1.IfcSectionModulusMeasure(!v[17] ? null : v[17].value), !v[18] ? null : new IFC2X3$1.IfcSectionModulusMeasure(!v[18] ? null : v[18].value), !v[19] ? null : new IFC2X3$1.IfcSectionModulusMeasure(!v[19] ? null : v[19].value), !v[20] ? null : new IFC2X3$1.IfcSectionModulusMeasure(!v[20] ? null : v[20].value), !v[21] ? null : new IFC2X3$1.IfcLengthMeasure(!v[21] ? null : v[21].value), !v[22] ? null : new IFC2X3$1.IfcLengthMeasure(!v[22] ? null : v[22].value), !v[23] ? null : new IFC2X3$1.IfcAreaMeasure(!v[23] ? null : v[23].value), !v[24] ? null : new IFC2X3$1.IfcAreaMeasure(!v[24] ? null : v[24].value), !v[25] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[25] ? null : v[25].value), !v[26] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[26] ? null : v[26].value)), + 2233826070: (v) => new IFC2X3$1.IfcSubedge(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 2513912981: (_) => new IFC2X3$1.IfcSurface(), + 1878645084: (v) => new IFC2X3$1.IfcSurfaceStyleRendering(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : TypeInitialiser(3, v[7]), v[8]), + 2247615214: (v) => new IFC2X3$1.IfcSweptAreaSolid(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 1260650574: (v) => new IFC2X3$1.IfcSweptDiskSolid(new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), new IFC2X3$1.IfcParameterValue(!v[3] ? null : v[3].value), new IFC2X3$1.IfcParameterValue(!v[4] ? null : v[4].value)), + 230924584: (v) => new IFC2X3$1.IfcSweptSurface(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 3071757647: (v) => new IFC2X3$1.IfcTShapeProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcPlaneAngleMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC2X3$1.IfcPlaneAngleMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[12] ? null : v[12].value)), + 3028897424: (v) => { + var _a; + return new IFC2X3$1.IfcTerminatorSymbol(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)); + }, + 4282788508: (v) => new IFC2X3$1.IfcTextLiteral(new IFC2X3$1.IfcPresentableText(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), v[2]), + 3124975700: (v) => new IFC2X3$1.IfcTextLiteralWithExtent(new IFC2X3$1.IfcPresentableText(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), v[2], new Handle$5(!v[3] ? null : v[3].value), new IFC2X3$1.IfcBoxAlignment(!v[4] ? null : v[4].value)), + 2715220739: (v) => new IFC2X3$1.IfcTrapeziumProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC2X3$1.IfcLengthMeasure(!v[6] ? null : v[6].value)), + 1345879162: (v) => new IFC2X3$1.IfcTwoDirectionRepeatFactor(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 1628702193: (v) => { + var _a; + return new IFC2X3$1.IfcTypeObject(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2347495698: (v) => { + var _a, _b; + return new IFC2X3$1.IfcTypeProduct(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value)); + }, + 427810014: (v) => new IFC2X3$1.IfcUShapeProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcPlaneAngleMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value)), + 1417489154: (v) => new IFC2X3$1.IfcVector(new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value)), + 2759199220: (v) => new IFC2X3$1.IfcVertexLoop(new Handle$5(!v[0] ? null : v[0].value)), + 336235671: (v) => new IFC2X3$1.IfcWindowLiningProperties(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new Handle$5(!v[12] ? null : v[12].value)), + 512836454: (v) => new IFC2X3$1.IfcWindowPanelProperties(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), v[4], v[5], !v[6] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 1299126871: (v) => { + var _a, _b; + return new IFC2X3$1.IfcWindowStyle(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9], !v[10] ? null : v[10].value, !v[11] ? null : v[11].value); + }, + 2543172580: (v) => new IFC2X3$1.IfcZShapeProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value)), + 3288037868: (v) => { + var _a; + return new IFC2X3$1.IfcAnnotationCurveOccurrence(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)); + }, + 669184980: (v) => { + var _a; + return new IFC2X3$1.IfcAnnotationFillArea(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2265737646: (v) => { + var _a; + return new IFC2X3$1.IfcAnnotationFillAreaOccurrence(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), v[4]); + }, + 1302238472: (v) => new IFC2X3$1.IfcAnnotationSurface(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 4261334040: (v) => new IFC2X3$1.IfcAxis1Placement(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 3125803723: (v) => new IFC2X3$1.IfcAxis2Placement2D(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 2740243338: (v) => new IFC2X3$1.IfcAxis2Placement3D(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)), + 2736907675: (v) => new IFC2X3$1.IfcBooleanResult(v[0], new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 4182860854: (_) => new IFC2X3$1.IfcBoundedSurface(), + 2581212453: (v) => new IFC2X3$1.IfcBoundingBox(new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 2713105998: (v) => new IFC2X3$1.IfcBoxedHalfSpace(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : v[1].value, new Handle$5(!v[2] ? null : v[2].value)), + 2898889636: (v) => new IFC2X3$1.IfcCShapeProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value)), + 1123145078: (v) => { + var _a; + return new IFC2X3$1.IfcCartesianPoint(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC2X3$1.IfcLengthMeasure(p.value) : null)) || []); + }, + 59481748: (v) => new IFC2X3$1.IfcCartesianTransformationOperator(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : !v[3] ? null : v[3].value), + 3749851601: (v) => new IFC2X3$1.IfcCartesianTransformationOperator2D(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : !v[3] ? null : v[3].value), + 3486308946: (v) => new IFC2X3$1.IfcCartesianTransformationOperator2DnonUniform(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : !v[3] ? null : v[3].value, !v[4] ? null : !v[4] ? null : v[4].value), + 3331915920: (v) => new IFC2X3$1.IfcCartesianTransformationOperator3D(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : !v[3] ? null : v[3].value, !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value)), + 1416205885: (v) => new IFC2X3$1.IfcCartesianTransformationOperator3DnonUniform(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : !v[3] ? null : v[3].value, !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : !v[5] ? null : v[5].value, !v[6] ? null : !v[6] ? null : v[6].value), + 1383045692: (v) => new IFC2X3$1.IfcCircleProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 2205249479: (v) => { + var _a; + return new IFC2X3$1.IfcClosedShell(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2485617015: (v) => new IFC2X3$1.IfcCompositeCurveSegment(v[0], !v[1] ? null : v[1].value, new Handle$5(!v[2] ? null : v[2].value)), + 4133800736: (v) => new IFC2X3$1.IfcCraneRailAShapeProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[11] ? null : v[11].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[12] ? null : v[12].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[14] ? null : v[14].value)), + 194851669: (v) => new IFC2X3$1.IfcCraneRailFShapeProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[11] ? null : v[11].value)), + 2506170314: (v) => new IFC2X3$1.IfcCsgPrimitive3D(new Handle$5(!v[0] ? null : v[0].value)), + 2147822146: (v) => new IFC2X3$1.IfcCsgSolid(new Handle$5(!v[0] ? null : v[0].value)), + 2601014836: (_) => new IFC2X3$1.IfcCurve(), + 2827736869: (v) => { + var _a; + return new IFC2X3$1.IfcCurveBoundedPlane(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 693772133: (v) => new IFC2X3$1.IfcDefinedSymbol(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 606661476: (v) => { + var _a; + return new IFC2X3$1.IfcDimensionCurve(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)); + }, + 4054601972: (v) => { + var _a; + return new IFC2X3$1.IfcDimensionCurveTerminator(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), v[4]); + }, + 32440307: (v) => { + var _a; + return new IFC2X3$1.IfcDirection(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? Number(p.value) : null)) || []); + }, + 2963535650: (v) => new IFC2X3$1.IfcDoorLiningProperties(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC2X3$1.IfcLengthMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new Handle$5(!v[14] ? null : v[14].value)), + 1714330368: (v) => new IFC2X3$1.IfcDoorPanelProperties(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), v[5], !v[6] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 526551008: (v) => { + var _a, _b; + return new IFC2X3$1.IfcDoorStyle(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9], !v[10] ? null : v[10].value, !v[11] ? null : v[11].value); + }, + 3073041342: (v) => { + var _a; + return new IFC2X3$1.IfcDraughtingCallout(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 445594917: (v) => new IFC2X3$1.IfcDraughtingPreDefinedColour(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 4006246654: (v) => new IFC2X3$1.IfcDraughtingPreDefinedCurveFont(new IFC2X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 1472233963: (v) => { + var _a; + return new IFC2X3$1.IfcEdgeLoop(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1883228015: (v) => { + var _a; + return new IFC2X3$1.IfcElementQuantity(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 339256511: (v) => { + var _a, _b; + return new IFC2X3$1.IfcElementType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2777663545: (v) => new IFC2X3$1.IfcElementarySurface(new Handle$5(!v[0] ? null : v[0].value)), + 2835456948: (v) => new IFC2X3$1.IfcEllipseProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value)), + 80994333: (v) => new IFC2X3$1.IfcEnergyProperties(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), v[4], !v[5] ? null : new IFC2X3$1.IfcLabel(!v[5] ? null : v[5].value)), + 477187591: (v) => new IFC2X3$1.IfcExtrudedAreaSolid(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 2047409740: (v) => { + var _a; + return new IFC2X3$1.IfcFaceBasedSurfaceModel(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 374418227: (v) => new IFC2X3$1.IfcFillAreaStyleHatching(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), new IFC2X3$1.IfcPlaneAngleMeasure(!v[4] ? null : v[4].value)), + 4203026998: (v) => new IFC2X3$1.IfcFillAreaStyleTileSymbolWithStyle(new Handle$5(!v[0] ? null : v[0].value)), + 315944413: (v) => { + var _a; + return new IFC2X3$1.IfcFillAreaStyleTiles(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC2X3$1.IfcPositiveRatioMeasure(!v[2] ? null : v[2].value)); + }, + 3455213021: (v) => new IFC2X3$1.IfcFluidFlowProperties(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), v[4], !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), new Handle$5(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcLabel(!v[10] ? null : v[10].value), !v[11] ? null : new IFC2X3$1.IfcThermodynamicTemperatureMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC2X3$1.IfcThermodynamicTemperatureMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new Handle$5(!v[13] ? null : v[13].value), !v[14] ? null : new Handle$5(!v[14] ? null : v[14].value), !v[15] ? null : TypeInitialiser(3, v[15]), !v[16] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[16] ? null : v[16].value), !v[17] ? null : new IFC2X3$1.IfcLinearVelocityMeasure(!v[17] ? null : v[17].value), !v[18] ? null : new IFC2X3$1.IfcPressureMeasure(!v[18] ? null : v[18].value)), + 4238390223: (v) => { + var _a, _b; + return new IFC2X3$1.IfcFurnishingElementType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1268542332: (v) => { + var _a, _b; + return new IFC2X3$1.IfcFurnitureType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 987898635: (v) => { + var _a; + return new IFC2X3$1.IfcGeometricCurveSet(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1484403080: (v) => new IFC2X3$1.IfcIShapeProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value)), + 572779678: (v) => new IFC2X3$1.IfcLShapeProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcPlaneAngleMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value)), + 1281925730: (v) => new IFC2X3$1.IfcLine(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 1425443689: (v) => new IFC2X3$1.IfcManifoldSolidBrep(new Handle$5(!v[0] ? null : v[0].value)), + 3888040117: (v) => new IFC2X3$1.IfcObject(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 3388369263: (v) => new IFC2X3$1.IfcOffsetCurve2D(new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : v[2].value), + 3505215534: (v) => new IFC2X3$1.IfcOffsetCurve3D(new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : v[2].value, new Handle$5(!v[3] ? null : v[3].value)), + 3566463478: (v) => new IFC2X3$1.IfcPermeableCoveringProperties(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), v[4], v[5], !v[6] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 603570806: (v) => new IFC2X3$1.IfcPlanarBox(new IFC2X3$1.IfcLengthMeasure(!v[0] ? null : v[0].value), new IFC2X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 220341763: (v) => new IFC2X3$1.IfcPlane(new Handle$5(!v[0] ? null : v[0].value)), + 2945172077: (v) => new IFC2X3$1.IfcProcess(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 4208778838: (v) => new IFC2X3$1.IfcProduct(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 103090709: (v) => { + var _a; + return new IFC2X3$1.IfcProject(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[8] ? null : v[8].value)); + }, + 4194566429: (v) => { + var _a; + return new IFC2X3$1.IfcProjectionCurve(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value)); + }, + 1451395588: (v) => { + var _a; + return new IFC2X3$1.IfcPropertySet(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3219374653: (v) => new IFC2X3$1.IfcProxy(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)), + 2770003689: (v) => new IFC2X3$1.IfcRectangleHollowProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value)), + 2798486643: (v) => new IFC2X3$1.IfcRectangularPyramid(new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 3454111270: (v) => new IFC2X3$1.IfcRectangularTrimmedSurface(new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcParameterValue(!v[1] ? null : v[1].value), new IFC2X3$1.IfcParameterValue(!v[2] ? null : v[2].value), new IFC2X3$1.IfcParameterValue(!v[3] ? null : v[3].value), new IFC2X3$1.IfcParameterValue(!v[4] ? null : v[4].value), !v[5] ? null : v[5].value, !v[6] ? null : v[6].value), + 3939117080: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssigns(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5]); + }, + 1683148259: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssignsToActor(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)); + }, + 2495723537: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssignsToControl(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value)); + }, + 1307041759: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssignsToGroup(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value)); + }, + 4278684876: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssignsToProcess(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)); + }, + 2857406711: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssignsToProduct(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value)); + }, + 3372526763: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssignsToProjectOrder(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value)); + }, + 205026976: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssignsToResource(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value)); + }, + 1865459582: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssociates(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1327628568: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssociatesAppliedValue(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 4095574036: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssociatesApproval(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 919958153: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssociatesClassification(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 2728634034: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssociatesConstraint(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC2X3$1.IfcLabel(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value)); + }, + 982818633: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssociatesDocument(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 3840914261: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssociatesLibrary(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 2655215786: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssociatesMaterial(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 2851387026: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssociatesProfileProperties(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)); + }, + 826625072: (v) => new IFC2X3$1.IfcRelConnects(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value)), + 1204542856: (v) => new IFC2X3$1.IfcRelConnectsElements(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value)), + 3945020480: (v) => { + var _a, _b; + return new IFC2X3$1.IfcRelConnectsPathElements(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? Number(p.value) : null)) || [], !v[8] ? null : ((_b = v[8]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? Number(p.value) : null)) || [], v[9], v[10]); + }, + 4201705270: (v) => new IFC2X3$1.IfcRelConnectsPortToElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 3190031847: (v) => new IFC2X3$1.IfcRelConnectsPorts(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 2127690289: (v) => new IFC2X3$1.IfcRelConnectsStructuralActivity(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 3912681535: (v) => new IFC2X3$1.IfcRelConnectsStructuralElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 1638771189: (v) => new IFC2X3$1.IfcRelConnectsStructuralMember(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value)), + 504942748: (v) => new IFC2X3$1.IfcRelConnectsWithEccentricity(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), new Handle$5(!v[10] ? null : v[10].value)), + 3678494232: (v) => { + var _a; + return new IFC2X3$1.IfcRelConnectsWithRealizingElements(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value), ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3242617779: (v) => { + var _a; + return new IFC2X3$1.IfcRelContainedInSpatialStructure(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 886880790: (v) => { + var _a; + return new IFC2X3$1.IfcRelCoversBldgElements(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2802773753: (v) => { + var _a; + return new IFC2X3$1.IfcRelCoversSpaces(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2551354335: (v) => { + var _a; + return new IFC2X3$1.IfcRelDecomposes(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 693640335: (v) => { + var _a; + return new IFC2X3$1.IfcRelDefines(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 4186316022: (v) => { + var _a; + return new IFC2X3$1.IfcRelDefinesByProperties(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 781010003: (v) => { + var _a; + return new IFC2X3$1.IfcRelDefinesByType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 3940055652: (v) => new IFC2X3$1.IfcRelFillsElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 279856033: (v) => { + var _a; + return new IFC2X3$1.IfcRelFlowControlElements(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 4189434867: (v) => new IFC2X3$1.IfcRelInteractionRequirements(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcCountMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), new Handle$5(!v[8] ? null : v[8].value)), + 3268803585: (v) => { + var _a; + return new IFC2X3$1.IfcRelNests(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2051452291: (v) => { + var _a; + return new IFC2X3$1.IfcRelOccupiesSpaces(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)); + }, + 202636808: (v) => { + var _a, _b; + return new IFC2X3$1.IfcRelOverridesProperties(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value), ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 750771296: (v) => new IFC2X3$1.IfcRelProjectsElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 1245217292: (v) => { + var _a; + return new IFC2X3$1.IfcRelReferencedInSpatialStructure(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 1058617721: (v) => { + var _a; + return new IFC2X3$1.IfcRelSchedulesCostItems(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value)); + }, + 4122056220: (v) => new IFC2X3$1.IfcRelSequence(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), new IFC2X3$1.IfcTimeMeasure(!v[6] ? null : v[6].value), v[7]), + 366585022: (v) => { + var _a; + return new IFC2X3$1.IfcRelServicesBuildings(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3451746338: (v) => new IFC2X3$1.IfcRelSpaceBoundary(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], v[8]), + 1401173127: (v) => new IFC2X3$1.IfcRelVoidsElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 2914609552: (v) => new IFC2X3$1.IfcResource(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 1856042241: (v) => new IFC2X3$1.IfcRevolvedAreaSolid(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPlaneAngleMeasure(!v[3] ? null : v[3].value)), + 4158566097: (v) => new IFC2X3$1.IfcRightCircularCone(new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value)), + 3626867408: (v) => new IFC2X3$1.IfcRightCircularCylinder(new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value)), + 2706606064: (v) => new IFC2X3$1.IfcSpatialStructureElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8]), + 3893378262: (v) => { + var _a, _b; + return new IFC2X3$1.IfcSpatialStructureElementType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 451544542: (v) => new IFC2X3$1.IfcSphere(new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value)), + 3544373492: (v) => new IFC2X3$1.IfcStructuralActivity(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8]), + 3136571912: (v) => new IFC2X3$1.IfcStructuralItem(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 530289379: (v) => new IFC2X3$1.IfcStructuralMember(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 3689010777: (v) => new IFC2X3$1.IfcStructuralReaction(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8]), + 3979015343: (v) => new IFC2X3$1.IfcStructuralSurfaceMember(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value)), + 2218152070: (v) => { + var _a; + return new IFC2X3$1.IfcStructuralSurfaceMemberVarying(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), ((_a = v[9]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC2X3$1.IfcPositiveLengthMeasure(p.value) : null)) || [], new Handle$5(!v[10] ? null : v[10].value)); + }, + 4070609034: (v) => { + var _a; + return new IFC2X3$1.IfcStructuredDimensionCallout(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2028607225: (v) => new IFC2X3$1.IfcSurfaceCurveSweptAreaSolid(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcParameterValue(!v[3] ? null : v[3].value), new IFC2X3$1.IfcParameterValue(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 2809605785: (v) => new IFC2X3$1.IfcSurfaceOfLinearExtrusion(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value)), + 4124788165: (v) => new IFC2X3$1.IfcSurfaceOfRevolution(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 1580310250: (v) => { + var _a, _b; + return new IFC2X3$1.IfcSystemFurnitureElementType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3473067441: (v) => new IFC2X3$1.IfcTask(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : v[8].value, !v[9] ? null : !v[9] ? null : v[9].value), + 2097647324: (v) => { + var _a, _b; + return new IFC2X3$1.IfcTransportElementType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2296667514: (v) => new IFC2X3$1.IfcActor(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 1674181508: (v) => new IFC2X3$1.IfcAnnotation(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 3207858831: (v) => new IFC2X3$1.IfcAsymmetricIShapeProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[11] ? null : v[11].value)), + 1334484129: (v) => new IFC2X3$1.IfcBlock(new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 3649129432: (v) => new IFC2X3$1.IfcBooleanClippingResult(v[0], new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 1260505505: (_) => new IFC2X3$1.IfcBoundedCurve(), + 4031249490: (v) => new IFC2X3$1.IfcBuilding(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC2X3$1.IfcLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new Handle$5(!v[11] ? null : v[11].value)), + 1950629157: (v) => { + var _a, _b; + return new IFC2X3$1.IfcBuildingElementType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3124254112: (v) => new IFC2X3$1.IfcBuildingStorey(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC2X3$1.IfcLengthMeasure(!v[9] ? null : v[9].value)), + 2937912522: (v) => new IFC2X3$1.IfcCircleHollowProfileDef(v[0], !v[1] ? null : new IFC2X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value)), + 300633059: (v) => { + var _a, _b; + return new IFC2X3$1.IfcColumnType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3732776249: (v) => { + var _a; + return new IFC2X3$1.IfcCompositeCurve(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[1] ? null : v[1].value); + }, + 2510884976: (v) => new IFC2X3$1.IfcConic(new Handle$5(!v[0] ? null : v[0].value)), + 2559216714: (v) => new IFC2X3$1.IfcConstructionResource(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 3293443760: (v) => new IFC2X3$1.IfcControl(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 3895139033: (v) => new IFC2X3$1.IfcCostItem(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 1419761937: (v) => { + var _a; + return new IFC2X3$1.IfcCostSchedule(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : ((_a = v[9]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), new IFC2X3$1.IfcIdentifier(!v[11] ? null : v[11].value), v[12]); + }, + 1916426348: (v) => { + var _a, _b; + return new IFC2X3$1.IfcCoveringType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3295246426: (v) => new IFC2X3$1.IfcCrewResource(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 1457835157: (v) => { + var _a, _b; + return new IFC2X3$1.IfcCurtainWallType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 681481545: (v) => { + var _a; + return new IFC2X3$1.IfcDimensionCurveDirectedCallout(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3256556792: (v) => { + var _a, _b; + return new IFC2X3$1.IfcDistributionElementType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3849074793: (v) => { + var _a, _b; + return new IFC2X3$1.IfcDistributionFlowElementType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 360485395: (v) => new IFC2X3$1.IfcElectricalBaseProperties(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), v[4], !v[5] ? null : new IFC2X3$1.IfcLabel(!v[5] ? null : v[5].value), v[6], new IFC2X3$1.IfcElectricVoltageMeasure(!v[7] ? null : v[7].value), new IFC2X3$1.IfcFrequencyMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcElectricCurrentMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcElectricCurrentMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC2X3$1.IfcPowerMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC2X3$1.IfcPowerMeasure(!v[12] ? null : v[12].value), !v[13] ? null : v[13].value), + 1758889154: (v) => new IFC2X3$1.IfcElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 4123344466: (v) => new IFC2X3$1.IfcElementAssembly(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8], v[9]), + 1623761950: (v) => new IFC2X3$1.IfcElementComponent(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2590856083: (v) => { + var _a, _b; + return new IFC2X3$1.IfcElementComponentType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1704287377: (v) => new IFC2X3$1.IfcEllipse(new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value)), + 2107101300: (v) => { + var _a, _b; + return new IFC2X3$1.IfcEnergyConversionDeviceType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1962604670: (v) => new IFC2X3$1.IfcEquipmentElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3272907226: (v) => new IFC2X3$1.IfcEquipmentStandard(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 3174744832: (v) => { + var _a, _b; + return new IFC2X3$1.IfcEvaporativeCoolerType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3390157468: (v) => { + var _a, _b; + return new IFC2X3$1.IfcEvaporatorType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 807026263: (v) => new IFC2X3$1.IfcFacetedBrep(new Handle$5(!v[0] ? null : v[0].value)), + 3737207727: (v) => { + var _a; + return new IFC2X3$1.IfcFacetedBrepWithVoids(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 647756555: (v) => new IFC2X3$1.IfcFastener(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2489546625: (v) => { + var _a, _b; + return new IFC2X3$1.IfcFastenerType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2827207264: (v) => new IFC2X3$1.IfcFeatureElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2143335405: (v) => new IFC2X3$1.IfcFeatureElementAddition(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 1287392070: (v) => new IFC2X3$1.IfcFeatureElementSubtraction(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3907093117: (v) => { + var _a, _b; + return new IFC2X3$1.IfcFlowControllerType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3198132628: (v) => { + var _a, _b; + return new IFC2X3$1.IfcFlowFittingType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3815607619: (v) => { + var _a, _b; + return new IFC2X3$1.IfcFlowMeterType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1482959167: (v) => { + var _a, _b; + return new IFC2X3$1.IfcFlowMovingDeviceType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1834744321: (v) => { + var _a, _b; + return new IFC2X3$1.IfcFlowSegmentType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1339347760: (v) => { + var _a, _b; + return new IFC2X3$1.IfcFlowStorageDeviceType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2297155007: (v) => { + var _a, _b; + return new IFC2X3$1.IfcFlowTerminalType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3009222698: (v) => { + var _a, _b; + return new IFC2X3$1.IfcFlowTreatmentDeviceType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 263784265: (v) => new IFC2X3$1.IfcFurnishingElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 814719939: (v) => new IFC2X3$1.IfcFurnitureStandard(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 200128114: (v) => { + var _a, _b; + return new IFC2X3$1.IfcGasTerminalType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3009204131: (v) => { + var _a, _b, _c; + return new IFC2X3$1.IfcGrid(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[8]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : ((_c = v[9]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2706460486: (v) => new IFC2X3$1.IfcGroup(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 1251058090: (v) => { + var _a, _b; + return new IFC2X3$1.IfcHeatExchangerType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1806887404: (v) => { + var _a, _b; + return new IFC2X3$1.IfcHumidifierType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2391368822: (v) => { + var _a; + return new IFC2X3$1.IfcInventory(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), v[5], new Handle$5(!v[6] ? null : v[6].value), ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value)); + }, + 4288270099: (v) => { + var _a, _b; + return new IFC2X3$1.IfcJunctionBoxType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3827777499: (v) => new IFC2X3$1.IfcLaborResource(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcText(!v[9] ? null : v[9].value)), + 1051575348: (v) => { + var _a, _b; + return new IFC2X3$1.IfcLampType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1161773419: (v) => { + var _a, _b; + return new IFC2X3$1.IfcLightFixtureType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2506943328: (v) => { + var _a; + return new IFC2X3$1.IfcLinearDimension(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 377706215: (v) => new IFC2X3$1.IfcMechanicalFastener(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value)), + 2108223431: (v) => { + var _a, _b; + return new IFC2X3$1.IfcMechanicalFastenerType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3181161470: (v) => { + var _a, _b; + return new IFC2X3$1.IfcMemberType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 977012517: (v) => { + var _a, _b; + return new IFC2X3$1.IfcMotorConnectionType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1916936684: (v) => { + var _a; + return new IFC2X3$1.IfcMove(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : v[8].value, !v[9] ? null : !v[9] ? null : v[9].value, new Handle$5(!v[10] ? null : v[10].value), new Handle$5(!v[11] ? null : v[11].value), !v[12] ? null : ((_a = v[12]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC2X3$1.IfcText(p.value) : null)) || []); + }, + 4143007308: (v) => new IFC2X3$1.IfcOccupant(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), v[6]), + 3588315303: (v) => new IFC2X3$1.IfcOpeningElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3425660407: (v) => new IFC2X3$1.IfcOrderAction(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : v[8].value, !v[9] ? null : !v[9] ? null : v[9].value, new IFC2X3$1.IfcIdentifier(!v[10] ? null : v[10].value)), + 2837617999: (v) => { + var _a, _b; + return new IFC2X3$1.IfcOutletType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2382730787: (v) => new IFC2X3$1.IfcPerformanceHistory(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), new IFC2X3$1.IfcLabel(!v[5] ? null : v[5].value)), + 3327091369: (v) => new IFC2X3$1.IfcPermit(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value)), + 804291784: (v) => { + var _a, _b; + return new IFC2X3$1.IfcPipeFittingType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4231323485: (v) => { + var _a, _b; + return new IFC2X3$1.IfcPipeSegmentType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4017108033: (v) => { + var _a, _b; + return new IFC2X3$1.IfcPlateType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3724593414: (v) => { + var _a; + return new IFC2X3$1.IfcPolyline(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3740093272: (v) => new IFC2X3$1.IfcPort(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 2744685151: (v) => new IFC2X3$1.IfcProcedure(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), v[6], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value)), + 2904328755: (v) => new IFC2X3$1.IfcProjectOrder(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), v[6], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value)), + 3642467123: (v) => { + var _a; + return new IFC2X3$1.IfcProjectOrderRecord(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[6]); + }, + 3651124850: (v) => new IFC2X3$1.IfcProjectionElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 1842657554: (v) => { + var _a, _b; + return new IFC2X3$1.IfcProtectiveDeviceType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2250791053: (v) => { + var _a, _b; + return new IFC2X3$1.IfcPumpType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3248260540: (v) => { + var _a; + return new IFC2X3$1.IfcRadiusDimension(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2893384427: (v) => { + var _a, _b; + return new IFC2X3$1.IfcRailingType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2324767716: (v) => { + var _a, _b; + return new IFC2X3$1.IfcRampFlightType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 160246688: (v) => { + var _a; + return new IFC2X3$1.IfcRelAggregates(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2863920197: (v) => { + var _a; + return new IFC2X3$1.IfcRelAssignsTasks(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)); + }, + 1768891740: (v) => { + var _a, _b; + return new IFC2X3$1.IfcSanitaryTerminalType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3517283431: (v) => new IFC2X3$1.IfcScheduleTimeControl(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), !v[11] ? null : new Handle$5(!v[11] ? null : v[11].value), !v[12] ? null : new Handle$5(!v[12] ? null : v[12].value), !v[13] ? null : new IFC2X3$1.IfcTimeMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new IFC2X3$1.IfcTimeMeasure(!v[14] ? null : v[14].value), !v[15] ? null : new IFC2X3$1.IfcTimeMeasure(!v[15] ? null : v[15].value), !v[16] ? null : new IFC2X3$1.IfcTimeMeasure(!v[16] ? null : v[16].value), !v[17] ? null : new IFC2X3$1.IfcTimeMeasure(!v[17] ? null : v[17].value), !v[18] ? null : !v[18] ? null : v[18].value, !v[19] ? null : new Handle$5(!v[19] ? null : v[19].value), !v[20] ? null : new IFC2X3$1.IfcTimeMeasure(!v[20] ? null : v[20].value), !v[21] ? null : new IFC2X3$1.IfcTimeMeasure(!v[21] ? null : v[21].value), !v[22] ? null : new IFC2X3$1.IfcPositiveRatioMeasure(!v[22] ? null : v[22].value)), + 4105383287: (v) => new IFC2X3$1.IfcServiceLife(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), v[5], new IFC2X3$1.IfcTimeMeasure(!v[6] ? null : v[6].value)), + 4097777520: (v) => new IFC2X3$1.IfcSite(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC2X3$1.IfcCompoundPlaneAngleMeasure(v[9].map((x) => x.value)), !v[10] ? null : new IFC2X3$1.IfcCompoundPlaneAngleMeasure(v[10].map((x) => x.value)), !v[11] ? null : new IFC2X3$1.IfcLengthMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC2X3$1.IfcLabel(!v[12] ? null : v[12].value), !v[13] ? null : new Handle$5(!v[13] ? null : v[13].value)), + 2533589738: (v) => { + var _a, _b; + return new IFC2X3$1.IfcSlabType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3856911033: (v) => new IFC2X3$1.IfcSpace(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9], !v[10] ? null : new IFC2X3$1.IfcLengthMeasure(!v[10] ? null : v[10].value)), + 1305183839: (v) => { + var _a, _b; + return new IFC2X3$1.IfcSpaceHeaterType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 652456506: (v) => new IFC2X3$1.IfcSpaceProgram(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcAreaMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcAreaMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value), new IFC2X3$1.IfcAreaMeasure(!v[9] ? null : v[9].value)), + 3812236995: (v) => { + var _a, _b; + return new IFC2X3$1.IfcSpaceType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3112655638: (v) => { + var _a, _b; + return new IFC2X3$1.IfcStackTerminalType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1039846685: (v) => { + var _a, _b; + return new IFC2X3$1.IfcStairFlightType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 682877961: (v) => new IFC2X3$1.IfcStructuralAction(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : v[9].value, !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value)), + 1179482911: (v) => new IFC2X3$1.IfcStructuralConnection(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)), + 4243806635: (v) => new IFC2X3$1.IfcStructuralCurveConnection(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)), + 214636428: (v) => new IFC2X3$1.IfcStructuralCurveMember(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7]), + 2445595289: (v) => new IFC2X3$1.IfcStructuralCurveMemberVarying(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7]), + 1807405624: (v) => new IFC2X3$1.IfcStructuralLinearAction(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : v[9].value, !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), v[11]), + 1721250024: (v) => { + var _a; + return new IFC2X3$1.IfcStructuralLinearActionVarying(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : v[9].value, !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), v[11], new Handle$5(!v[12] ? null : v[12].value), ((_a = v[13]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1252848954: (v) => new IFC2X3$1.IfcStructuralLoadGroup(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), v[5], v[6], v[7], !v[8] ? null : new IFC2X3$1.IfcRatioMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcLabel(!v[9] ? null : v[9].value)), + 1621171031: (v) => new IFC2X3$1.IfcStructuralPlanarAction(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : v[9].value, !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), v[11]), + 3987759626: (v) => { + var _a; + return new IFC2X3$1.IfcStructuralPlanarActionVarying(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : v[9].value, !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), v[11], new Handle$5(!v[12] ? null : v[12].value), ((_a = v[13]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2082059205: (v) => new IFC2X3$1.IfcStructuralPointAction(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : v[9].value, !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value)), + 734778138: (v) => new IFC2X3$1.IfcStructuralPointConnection(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)), + 1235345126: (v) => new IFC2X3$1.IfcStructuralPointReaction(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8]), + 2986769608: (v) => new IFC2X3$1.IfcStructuralResultGroup(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), v[5], !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : v[7].value), + 1975003073: (v) => new IFC2X3$1.IfcStructuralSurfaceConnection(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)), + 148013059: (v) => new IFC2X3$1.IfcSubContractResource(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcText(!v[10] ? null : v[10].value)), + 2315554128: (v) => { + var _a, _b; + return new IFC2X3$1.IfcSwitchingDeviceType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2254336722: (v) => new IFC2X3$1.IfcSystem(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 5716631: (v) => { + var _a, _b; + return new IFC2X3$1.IfcTankType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1637806684: (v) => { + var _a; + return new IFC2X3$1.IfcTimeSeriesSchedule(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[6], new Handle$5(!v[7] ? null : v[7].value)); + }, + 1692211062: (v) => { + var _a, _b; + return new IFC2X3$1.IfcTransformerType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1620046519: (v) => new IFC2X3$1.IfcTransportElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC2X3$1.IfcMassMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcCountMeasure(!v[10] ? null : v[10].value)), + 3593883385: (v) => { + var _a, _b; + return new IFC2X3$1.IfcTrimmedCurve(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[3] ? null : v[3].value, v[4]); + }, + 1600972822: (v) => { + var _a, _b; + return new IFC2X3$1.IfcTubeBundleType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1911125066: (v) => { + var _a, _b; + return new IFC2X3$1.IfcUnitaryEquipmentType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 728799441: (v) => { + var _a, _b; + return new IFC2X3$1.IfcValveType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2769231204: (v) => new IFC2X3$1.IfcVirtualElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 1898987631: (v) => { + var _a, _b; + return new IFC2X3$1.IfcWallType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1133259667: (v) => { + var _a, _b; + return new IFC2X3$1.IfcWasteTerminalType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1028945134: (v) => { + var _a; + return new IFC2X3$1.IfcWorkControl(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcTimeMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcTimeMeasure(!v[10] ? null : v[10].value), new Handle$5(!v[11] ? null : v[11].value), !v[12] ? null : new Handle$5(!v[12] ? null : v[12].value), v[13], !v[14] ? null : new IFC2X3$1.IfcLabel(!v[14] ? null : v[14].value)); + }, + 4218914973: (v) => { + var _a; + return new IFC2X3$1.IfcWorkPlan(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcTimeMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcTimeMeasure(!v[10] ? null : v[10].value), new Handle$5(!v[11] ? null : v[11].value), !v[12] ? null : new Handle$5(!v[12] ? null : v[12].value), v[13], !v[14] ? null : new IFC2X3$1.IfcLabel(!v[14] ? null : v[14].value)); + }, + 3342526732: (v) => { + var _a; + return new IFC2X3$1.IfcWorkSchedule(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcTimeMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcTimeMeasure(!v[10] ? null : v[10].value), new Handle$5(!v[11] ? null : v[11].value), !v[12] ? null : new Handle$5(!v[12] ? null : v[12].value), v[13], !v[14] ? null : new IFC2X3$1.IfcLabel(!v[14] ? null : v[14].value)); + }, + 1033361043: (v) => new IFC2X3$1.IfcZone(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 1213861670: (v) => { + var _a; + return new IFC2X3$1.Ifc2DCompositeCurve(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[1] ? null : v[1].value); + }, + 3821786052: (v) => new IFC2X3$1.IfcActionRequest(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value)), + 1411407467: (v) => { + var _a, _b; + return new IFC2X3$1.IfcAirTerminalBoxType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3352864051: (v) => { + var _a, _b; + return new IFC2X3$1.IfcAirTerminalType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1871374353: (v) => { + var _a, _b; + return new IFC2X3$1.IfcAirToAirHeatRecoveryType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2470393545: (v) => { + var _a; + return new IFC2X3$1.IfcAngularDimension(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3460190687: (v) => new IFC2X3$1.IfcAsset(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), new Handle$5(!v[8] ? null : v[8].value), new Handle$5(!v[9] ? null : v[9].value), new Handle$5(!v[10] ? null : v[10].value), new Handle$5(!v[11] ? null : v[11].value), new Handle$5(!v[12] ? null : v[12].value), new Handle$5(!v[13] ? null : v[13].value)), + 1967976161: (v) => { + var _a; + return new IFC2X3$1.IfcBSplineCurve(!v[0] ? null : v[0].value, ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[2], !v[3] ? null : v[3].value, !v[4] ? null : v[4].value); + }, + 819618141: (v) => { + var _a, _b; + return new IFC2X3$1.IfcBeamType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1916977116: (v) => { + var _a; + return new IFC2X3$1.IfcBezierCurve(!v[0] ? null : v[0].value, ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[2], !v[3] ? null : v[3].value, !v[4] ? null : v[4].value); + }, + 231477066: (v) => { + var _a, _b; + return new IFC2X3$1.IfcBoilerType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3299480353: (v) => new IFC2X3$1.IfcBuildingElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 52481810: (v) => new IFC2X3$1.IfcBuildingElementComponent(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2979338954: (v) => new IFC2X3$1.IfcBuildingElementPart(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 1095909175: (v) => new IFC2X3$1.IfcBuildingElementProxy(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1909888760: (v) => { + var _a, _b; + return new IFC2X3$1.IfcBuildingElementProxyType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 395041908: (v) => { + var _a, _b; + return new IFC2X3$1.IfcCableCarrierFittingType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3293546465: (v) => { + var _a, _b; + return new IFC2X3$1.IfcCableCarrierSegmentType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1285652485: (v) => { + var _a, _b; + return new IFC2X3$1.IfcCableSegmentType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2951183804: (v) => { + var _a, _b; + return new IFC2X3$1.IfcChillerType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2611217952: (v) => new IFC2X3$1.IfcCircle(new Handle$5(!v[0] ? null : v[0].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value)), + 2301859152: (v) => { + var _a, _b; + return new IFC2X3$1.IfcCoilType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 843113511: (v) => new IFC2X3$1.IfcColumn(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3850581409: (v) => { + var _a, _b; + return new IFC2X3$1.IfcCompressorType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2816379211: (v) => { + var _a, _b; + return new IFC2X3$1.IfcCondenserType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2188551683: (v) => new IFC2X3$1.IfcCondition(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 1163958913: (v) => new IFC2X3$1.IfcConditionCriterion(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value)), + 3898045240: (v) => new IFC2X3$1.IfcConstructionEquipmentResource(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 1060000209: (v) => { + var _a; + return new IFC2X3$1.IfcConstructionMaterialResource(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value), !v[9] ? null : ((_a = v[9]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new IFC2X3$1.IfcRatioMeasure(!v[10] ? null : v[10].value)); + }, + 488727124: (v) => new IFC2X3$1.IfcConstructionProductResource(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC2X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC2X3$1.IfcLabel(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 335055490: (v) => { + var _a, _b; + return new IFC2X3$1.IfcCooledBeamType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2954562838: (v) => { + var _a, _b; + return new IFC2X3$1.IfcCoolingTowerType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1973544240: (v) => new IFC2X3$1.IfcCovering(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3495092785: (v) => new IFC2X3$1.IfcCurtainWall(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3961806047: (v) => { + var _a, _b; + return new IFC2X3$1.IfcDamperType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4147604152: (v) => { + var _a; + return new IFC2X3$1.IfcDiameterDimension(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1335981549: (v) => new IFC2X3$1.IfcDiscreteAccessory(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2635815018: (v) => { + var _a, _b; + return new IFC2X3$1.IfcDiscreteAccessoryType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1599208980: (v) => { + var _a, _b; + return new IFC2X3$1.IfcDistributionChamberElementType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2063403501: (v) => { + var _a, _b; + return new IFC2X3$1.IfcDistributionControlElementType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1945004755: (v) => new IFC2X3$1.IfcDistributionElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3040386961: (v) => new IFC2X3$1.IfcDistributionFlowElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3041715199: (v) => new IFC2X3$1.IfcDistributionPort(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7]), + 395920057: (v) => new IFC2X3$1.IfcDoor(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value)), + 869906466: (v) => { + var _a, _b; + return new IFC2X3$1.IfcDuctFittingType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3760055223: (v) => { + var _a, _b; + return new IFC2X3$1.IfcDuctSegmentType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2030761528: (v) => { + var _a, _b; + return new IFC2X3$1.IfcDuctSilencerType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 855621170: (v) => new IFC2X3$1.IfcEdgeFeature(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value)), + 663422040: (v) => { + var _a, _b; + return new IFC2X3$1.IfcElectricApplianceType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3277789161: (v) => { + var _a, _b; + return new IFC2X3$1.IfcElectricFlowStorageDeviceType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1534661035: (v) => { + var _a, _b; + return new IFC2X3$1.IfcElectricGeneratorType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1365060375: (v) => { + var _a, _b; + return new IFC2X3$1.IfcElectricHeaterType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1217240411: (v) => { + var _a, _b; + return new IFC2X3$1.IfcElectricMotorType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 712377611: (v) => { + var _a, _b; + return new IFC2X3$1.IfcElectricTimeControlType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1634875225: (v) => new IFC2X3$1.IfcElectricalCircuit(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 857184966: (v) => new IFC2X3$1.IfcElectricalElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 1658829314: (v) => new IFC2X3$1.IfcEnergyConversionDevice(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 346874300: (v) => { + var _a, _b; + return new IFC2X3$1.IfcFanType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1810631287: (v) => { + var _a, _b; + return new IFC2X3$1.IfcFilterType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4222183408: (v) => { + var _a, _b; + return new IFC2X3$1.IfcFireSuppressionTerminalType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2058353004: (v) => new IFC2X3$1.IfcFlowController(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 4278956645: (v) => new IFC2X3$1.IfcFlowFitting(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 4037862832: (v) => { + var _a, _b; + return new IFC2X3$1.IfcFlowInstrumentType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3132237377: (v) => new IFC2X3$1.IfcFlowMovingDevice(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 987401354: (v) => new IFC2X3$1.IfcFlowSegment(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 707683696: (v) => new IFC2X3$1.IfcFlowStorageDevice(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2223149337: (v) => new IFC2X3$1.IfcFlowTerminal(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3508470533: (v) => new IFC2X3$1.IfcFlowTreatmentDevice(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 900683007: (v) => new IFC2X3$1.IfcFooting(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1073191201: (v) => new IFC2X3$1.IfcMember(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 1687234759: (v) => new IFC2X3$1.IfcPile(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8], v[9]), + 3171933400: (v) => new IFC2X3$1.IfcPlate(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2262370178: (v) => new IFC2X3$1.IfcRailing(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3024970846: (v) => new IFC2X3$1.IfcRamp(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3283111854: (v) => new IFC2X3$1.IfcRampFlight(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3055160366: (v) => { + var _a, _b; + return new IFC2X3$1.IfcRationalBezierCurve(!v[0] ? null : v[0].value, ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[2], !v[3] ? null : v[3].value, !v[4] ? null : v[4].value, ((_b = v[5]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? Number(p.value) : null)) || []); + }, + 3027567501: (v) => new IFC2X3$1.IfcReinforcingElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)), + 2320036040: (v) => new IFC2X3$1.IfcReinforcingMesh(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[11] ? null : v[11].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[12] ? null : v[12].value), new IFC2X3$1.IfcAreaMeasure(!v[13] ? null : v[13].value), new IFC2X3$1.IfcAreaMeasure(!v[14] ? null : v[14].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[15] ? null : v[15].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[16] ? null : v[16].value)), + 2016517767: (v) => new IFC2X3$1.IfcRoof(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1376911519: (v) => new IFC2X3$1.IfcRoundedEdgeFeature(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value)), + 1783015770: (v) => { + var _a, _b; + return new IFC2X3$1.IfcSensorType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1529196076: (v) => new IFC2X3$1.IfcSlab(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 331165859: (v) => new IFC2X3$1.IfcStair(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4252922144: (v) => new IFC2X3$1.IfcStairFlight(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : !v[8] ? null : v[8].value, !v[9] ? null : !v[9] ? null : v[9].value, !v[10] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[11] ? null : v[11].value)), + 2515109513: (v) => { + var _a, _b; + return new IFC2X3$1.IfcStructuralAnalysisModel(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), v[5], !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : ((_b = v[8]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3824725483: (v) => new IFC2X3$1.IfcTendon(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9], new IFC2X3$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), new IFC2X3$1.IfcAreaMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC2X3$1.IfcForceMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new IFC2X3$1.IfcPressureMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new IFC2X3$1.IfcNormalisedRatioMeasure(!v[14] ? null : v[14].value), !v[15] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[15] ? null : v[15].value), !v[16] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[16] ? null : v[16].value)), + 2347447852: (v) => new IFC2X3$1.IfcTendonAnchor(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value)), + 3313531582: (v) => { + var _a, _b; + return new IFC2X3$1.IfcVibrationIsolatorType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2391406946: (v) => new IFC2X3$1.IfcWall(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3512223829: (v) => new IFC2X3$1.IfcWallStandardCase(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3304561284: (v) => new IFC2X3$1.IfcWindow(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value)), + 2874132201: (v) => { + var _a, _b; + return new IFC2X3$1.IfcActuatorType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3001207471: (v) => { + var _a, _b; + return new IFC2X3$1.IfcAlarmType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 753842376: (v) => new IFC2X3$1.IfcBeam(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2454782716: (v) => new IFC2X3$1.IfcChamferEdgeFeature(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value)), + 578613899: (v) => { + var _a, _b; + return new IFC2X3$1.IfcControllerType(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC2X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1052013943: (v) => new IFC2X3$1.IfcDistributionChamberElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 1062813311: (v) => new IFC2X3$1.IfcDistributionControlElement(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcIdentifier(!v[8] ? null : v[8].value)), + 3700593921: (v) => new IFC2X3$1.IfcElectricDistributionPoint(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC2X3$1.IfcLabel(!v[9] ? null : v[9].value)), + 979691226: (v) => new IFC2X3$1.IfcReinforcingBar(new IFC2X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC2X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC2X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC2X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC2X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC2X3$1.IfcLabel(!v[8] ? null : v[8].value), new IFC2X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), new IFC2X3$1.IfcAreaMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC2X3$1.IfcPositiveLengthMeasure(!v[11] ? null : v[11].value), v[12], v[13]) +}; +InheritanceDef[3] = { + 618182010: [IFCTELECOMADDRESS, IFCPOSTALADDRESS], + 411424972: [IFCENVIRONMENTALIMPACTVALUE, IFCCOSTVALUE], + 4037036970: [IFCBOUNDARYNODECONDITIONWARPING, IFCBOUNDARYNODECONDITION, IFCBOUNDARYFACECONDITION, IFCBOUNDARYEDGECONDITION], + 1387855156: [IFCBOUNDARYNODECONDITIONWARPING], + 3264961684: [IFCCOLOURRGB], + 2859738748: [IFCCONNECTIONCURVEGEOMETRY, IFCCONNECTIONSURFACEGEOMETRY, IFCCONNECTIONPORTGEOMETRY, IFCCONNECTIONPOINTECCENTRICITY, IFCCONNECTIONPOINTGEOMETRY], + 2614616156: [IFCCONNECTIONPOINTECCENTRICITY], + 1959218052: [IFCOBJECTIVE, IFCMETRIC], + 3796139169: [IFCDIMENSIONPAIR, IFCDIMENSIONCALLOUTRELATIONSHIP], + 3200245327: [IFCDOCUMENTREFERENCE, IFCCLASSIFICATIONREFERENCE, IFCLIBRARYREFERENCE, IFCEXTERNALLYDEFINEDTEXTFONT, IFCEXTERNALLYDEFINEDSYMBOL, IFCEXTERNALLYDEFINEDSURFACESTYLE, IFCEXTERNALLYDEFINEDHATCHSTYLE], + 3265635763: [IFCHYGROSCOPICMATERIALPROPERTIES, IFCGENERALMATERIALPROPERTIES, IFCFUELPROPERTIES, IFCEXTENDEDMATERIALPROPERTIES, IFCWATERPROPERTIES, IFCTHERMALMATERIALPROPERTIES, IFCPRODUCTSOFCOMBUSTIONPROPERTIES, IFCOPTICALMATERIALPROPERTIES, IFCMECHANICALCONCRETEMATERIALPROPERTIES, IFCMECHANICALSTEELMATERIALPROPERTIES, IFCMECHANICALMATERIALPROPERTIES], + 4256014907: [IFCMECHANICALCONCRETEMATERIALPROPERTIES, IFCMECHANICALSTEELMATERIALPROPERTIES], + 1918398963: [IFCCONVERSIONBASEDUNIT, IFCCONTEXTDEPENDENTUNIT, IFCSIUNIT], + 3701648758: [IFCLOCALPLACEMENT, IFCGRIDPLACEMENT], + 2483315170: [IFCPHYSICALCOMPLEXQUANTITY, IFCQUANTITYWEIGHT, IFCQUANTITYVOLUME, IFCQUANTITYTIME, IFCQUANTITYLENGTH, IFCQUANTITYCOUNT, IFCQUANTITYAREA, IFCPHYSICALSIMPLEQUANTITY], + 2226359599: [IFCQUANTITYWEIGHT, IFCQUANTITYVOLUME, IFCQUANTITYTIME, IFCQUANTITYLENGTH, IFCQUANTITYCOUNT, IFCQUANTITYAREA], + 3727388367: [IFCDRAUGHTINGPREDEFINEDCURVEFONT, IFCPREDEFINEDCURVEFONT, IFCDRAUGHTINGPREDEFINEDCOLOUR, IFCPREDEFINEDCOLOUR, IFCDRAUGHTINGPREDEFINEDTEXTFONT, IFCTEXTSTYLEFONTMODEL, IFCPREDEFINEDTEXTFONT, IFCPREDEFINEDPOINTMARKERSYMBOL, IFCPREDEFINEDDIMENSIONSYMBOL, IFCPREDEFINEDTERMINATORSYMBOL, IFCPREDEFINEDSYMBOL], + 990879717: [IFCPREDEFINEDPOINTMARKERSYMBOL, IFCPREDEFINEDDIMENSIONSYMBOL, IFCPREDEFINEDTERMINATORSYMBOL], + 1775413392: [IFCDRAUGHTINGPREDEFINEDTEXTFONT, IFCTEXTSTYLEFONTMODEL], + 2022622350: [IFCPRESENTATIONLAYERWITHSTYLE], + 3119450353: [IFCFILLAREASTYLE, IFCCURVESTYLE, IFCTEXTSTYLE, IFCSYMBOLSTYLE, IFCSURFACESTYLE], + 2095639259: [IFCPRODUCTDEFINITIONSHAPE, IFCMATERIALDEFINITIONREPRESENTATION], + 3958567839: [IFCLSHAPEPROFILEDEF, IFCASYMMETRICISHAPEPROFILEDEF, IFCISHAPEPROFILEDEF, IFCELLIPSEPROFILEDEF, IFCCRANERAILFSHAPEPROFILEDEF, IFCCRANERAILASHAPEPROFILEDEF, IFCCIRCLEHOLLOWPROFILEDEF, IFCCIRCLEPROFILEDEF, IFCCSHAPEPROFILEDEF, IFCZSHAPEPROFILEDEF, IFCUSHAPEPROFILEDEF, IFCTRAPEZIUMPROFILEDEF, IFCTSHAPEPROFILEDEF, IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF, IFCRECTANGLEPROFILEDEF, IFCPARAMETERIZEDPROFILEDEF, IFCDERIVEDPROFILEDEF, IFCCOMPOSITEPROFILEDEF, IFCCENTERLINEPROFILEDEF, IFCARBITRARYOPENPROFILEDEF, IFCARBITRARYPROFILEDEFWITHVOIDS, IFCARBITRARYCLOSEDPROFILEDEF], + 2802850158: [IFCSTRUCTURALSTEELPROFILEPROPERTIES, IFCSTRUCTURALPROFILEPROPERTIES, IFCGENERALPROFILEPROPERTIES, IFCRIBPLATEPROFILEPROPERTIES], + 2598011224: [IFCCOMPLEXPROPERTY, IFCPROPERTYTABLEVALUE, IFCPROPERTYSINGLEVALUE, IFCPROPERTYREFERENCEVALUE, IFCPROPERTYLISTVALUE, IFCPROPERTYENUMERATEDVALUE, IFCPROPERTYBOUNDEDVALUE, IFCSIMPLEPROPERTY], + 1076942058: [IFCSTYLEDREPRESENTATION, IFCSTYLEMODEL, IFCTOPOLOGYREPRESENTATION, IFCSHAPEREPRESENTATION, IFCSHAPEMODEL], + 3377609919: [IFCGEOMETRICREPRESENTATIONSUBCONTEXT, IFCGEOMETRICREPRESENTATIONCONTEXT], + 3008791417: [IFCMAPPEDITEM, IFCFILLAREASTYLETILES, IFCFILLAREASTYLETILESYMBOLWITHSTYLE, IFCFILLAREASTYLEHATCHING, IFCFACEBASEDSURFACEMODEL, IFCDIAMETERDIMENSION, IFCANGULARDIMENSION, IFCRADIUSDIMENSION, IFCLINEARDIMENSION, IFCDIMENSIONCURVEDIRECTEDCALLOUT, IFCSTRUCTUREDDIMENSIONCALLOUT, IFCDRAUGHTINGCALLOUT, IFCDIRECTION, IFCDEFINEDSYMBOL, IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBEZIERCURVE, IFCBEZIERCURVE, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFC2DCOMPOSITECURVE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCLINE, IFCCURVE, IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID, IFCCSGPRIMITIVE3D, IFCCOMPOSITECURVESEGMENT, IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D, IFCCARTESIANTRANSFORMATIONOPERATOR, IFCBOUNDINGBOX, IFCBOOLEANCLIPPINGRESULT, IFCBOOLEANRESULT, IFCANNOTATIONSURFACE, IFCANNOTATIONFILLAREA, IFCVECTOR, IFCTEXTLITERALWITHEXTENT, IFCTEXTLITERAL, IFCPLANE, IFCELEMENTARYSURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE, IFCSURFACE, IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLID, IFCSURFACECURVESWEPTAREASOLID, IFCREVOLVEDAREASOLID, IFCEXTRUDEDAREASOLID, IFCSWEPTAREASOLID, IFCSOLIDMODEL, IFCSHELLBASEDSURFACEMODEL, IFCSECTIONEDSPINE, IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE, IFCPOINT, IFCPLANARBOX, IFCPLANAREXTENT, IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT, IFCPLACEMENT, IFCTWODIRECTIONREPEATFACTOR, IFCONEDIRECTIONREPEATFACTOR, IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT, IFCLIGHTSOURCE, IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE, IFCHALFSPACESOLID, IFCGEOMETRICCURVESET, IFCGEOMETRICSET, IFCGEOMETRICREPRESENTATIONITEM, IFCPATH, IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP, IFCLOOP, IFCFACEOUTERBOUND, IFCFACEBOUND, IFCFACESURFACE, IFCFACE, IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE, IFCEDGE, IFCCLOSEDSHELL, IFCOPENSHELL, IFCCONNECTEDFACESET, IFCVERTEXPOINT, IFCVERTEX, IFCTOPOLOGICALREPRESENTATIONITEM, IFCANNOTATIONFILLAREAOCCURRENCE, IFCPROJECTIONCURVE, IFCDIMENSIONCURVE, IFCANNOTATIONCURVEOCCURRENCE, IFCANNOTATIONTEXTOCCURRENCE, IFCDIMENSIONCURVETERMINATOR, IFCTERMINATORSYMBOL, IFCANNOTATIONSYMBOLOCCURRENCE, IFCANNOTATIONSURFACEOCCURRENCE, IFCANNOTATIONOCCURRENCE, IFCSTYLEDITEM], + 2341007311: [IFCRELDEFINESBYTYPE, IFCRELOVERRIDESPROPERTIES, IFCRELDEFINESBYPROPERTIES, IFCRELDEFINES, IFCRELAGGREGATES, IFCRELNESTS, IFCRELDECOMPOSES, IFCRELVOIDSELEMENT, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELPROJECTSELEMENT, IFCRELINTERACTIONREQUIREMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALELEMENT, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS, IFCRELCONNECTS, IFCRELASSOCIATESPROFILEPROPERTIES, IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL, IFCRELASSOCIATESAPPLIEDVALUE, IFCRELASSOCIATES, IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTASKS, IFCRELSCHEDULESCOSTITEMS, IFCRELASSIGNSTOPROJECTORDER, IFCRELASSIGNSTOCONTROL, IFCRELOCCUPIESSPACES, IFCRELASSIGNSTOACTOR, IFCRELASSIGNS, IFCRELATIONSHIP, IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCFLUIDFLOWPROPERTIES, IFCELECTRICALBASEPROPERTIES, IFCENERGYPROPERTIES, IFCELEMENTQUANTITY, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCSPACETHERMALLOADPROPERTIES, IFCSOUNDVALUE, IFCSOUNDPROPERTIES, IFCSERVICELIFEFACTOR, IFCREINFORCEMENTDEFINITIONPROPERTIES, IFCPROPERTYSETDEFINITION, IFCPROPERTYDEFINITION, IFCCONDITION, IFCASSET, IFCZONE, IFCSTRUCTURALANALYSISMODEL, IFCELECTRICALCIRCUIT, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCCONDITIONCRITERION, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCTIMESERIESSCHEDULE, IFCSPACEPROGRAM, IFCSERVICELIFE, IFCSCHEDULETIMECONTROL, IFCPROJECTORDERRECORD, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCFURNITURESTANDARD, IFCEQUIPMENTSTANDARD, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCPROJECT, IFCDISTRIBUTIONPORT, IFCPORT, IFCGRID, IFCELECTRICALELEMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFLOWTREATMENTDEVICE, IFCFLOWTERMINAL, IFCFLOWSTORAGEDEVICE, IFCFLOWSEGMENT, IFCFLOWMOVINGDEVICE, IFCFLOWFITTING, IFCELECTRICDISTRIBUTIONPOINT, IFCFLOWCONTROLLER, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATE, IFCPILE, IFCMEMBER, IFCFOOTING, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMN, IFCBUILDINGELEMENTPROXY, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCBUILDINGELEMENTPART, IFCBUILDINGELEMENTCOMPONENT, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCFURNISHINGELEMENT, IFCCHAMFEREDGEFEATURE, IFCROUNDEDEDGEFEATURE, IFCEDGEFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCEQUIPMENTELEMENT, IFCDISCRETEACCESSORY, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALPLANARACTIONVARYING, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALLINEARACTIONVARYING, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT, IFCPROXY, IFCPRODUCT, IFCPROCEDURE, IFCORDERACTION, IFCMOVE, IFCTASK, IFCPROCESS, IFCOBJECT, IFCVIBRATIONISOLATORTYPE, IFCDISCRETEACCESSORYTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCSENSORTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICHEATERTYPE, IFCELECTRICAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCGASTERMINALTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSPACEHEATERTYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWALLTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCMEMBERTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCDOORSTYLE, IFCWINDOWSTYLE, IFCTYPEPRODUCT, IFCTYPEOBJECT, IFCOBJECTDEFINITION], + 3982875396: [IFCTOPOLOGYREPRESENTATION, IFCSHAPEREPRESENTATION], + 3692461612: [IFCPROPERTYTABLEVALUE, IFCPROPERTYSINGLEVALUE, IFCPROPERTYREFERENCEVALUE, IFCPROPERTYLISTVALUE, IFCPROPERTYENUMERATEDVALUE, IFCPROPERTYBOUNDEDVALUE], + 2273995522: [IFCSLIPPAGECONNECTIONCONDITION, IFCFAILURECONNECTIONCONDITION], + 2162789131: [IFCSTRUCTURALLOADSINGLEFORCEWARPING, IFCSTRUCTURALLOADSINGLEFORCE, IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, IFCSTRUCTURALLOADSINGLEDISPLACEMENT, IFCSTRUCTURALLOADPLANARFORCE, IFCSTRUCTURALLOADLINEARFORCE, IFCSTRUCTURALLOADTEMPERATURE, IFCSTRUCTURALLOADSTATIC], + 2525727697: [IFCSTRUCTURALLOADSINGLEFORCEWARPING, IFCSTRUCTURALLOADSINGLEFORCE, IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, IFCSTRUCTURALLOADSINGLEDISPLACEMENT, IFCSTRUCTURALLOADPLANARFORCE, IFCSTRUCTURALLOADLINEARFORCE, IFCSTRUCTURALLOADTEMPERATURE], + 2830218821: [IFCSTYLEDREPRESENTATION], + 3958052878: [IFCANNOTATIONFILLAREAOCCURRENCE, IFCPROJECTIONCURVE, IFCDIMENSIONCURVE, IFCANNOTATIONCURVEOCCURRENCE, IFCANNOTATIONTEXTOCCURRENCE, IFCDIMENSIONCURVETERMINATOR, IFCTERMINATORSYMBOL, IFCANNOTATIONSYMBOLOCCURRENCE, IFCANNOTATIONSURFACEOCCURRENCE, IFCANNOTATIONOCCURRENCE], + 846575682: [IFCSURFACESTYLERENDERING], + 626085974: [IFCPIXELTEXTURE, IFCIMAGETEXTURE, IFCBLOBTEXTURE], + 280115917: [IFCTEXTUREMAP, IFCTEXTURECOORDINATEGENERATOR], + 3101149627: [IFCREGULARTIMESERIES, IFCIRREGULARTIMESERIES], + 1377556343: [IFCPATH, IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP, IFCLOOP, IFCFACEOUTERBOUND, IFCFACEBOUND, IFCFACESURFACE, IFCFACE, IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE, IFCEDGE, IFCCLOSEDSHELL, IFCOPENSHELL, IFCCONNECTEDFACESET, IFCVERTEXPOINT, IFCVERTEX], + 2799835756: [IFCVERTEXPOINT], + 2442683028: [IFCANNOTATIONFILLAREAOCCURRENCE, IFCPROJECTIONCURVE, IFCDIMENSIONCURVE, IFCANNOTATIONCURVEOCCURRENCE, IFCANNOTATIONTEXTOCCURRENCE, IFCDIMENSIONCURVETERMINATOR, IFCTERMINATORSYMBOL, IFCANNOTATIONSYMBOLOCCURRENCE, IFCANNOTATIONSURFACEOCCURRENCE], + 3612888222: [IFCDIMENSIONCURVETERMINATOR, IFCTERMINATORSYMBOL], + 3798115385: [IFCARBITRARYPROFILEDEFWITHVOIDS], + 1310608509: [IFCCENTERLINEPROFILEDEF], + 370225590: [IFCCLOSEDSHELL, IFCOPENSHELL], + 3900360178: [IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE], + 2556980723: [IFCFACESURFACE], + 1809719519: [IFCFACEOUTERBOUND], + 1446786286: [IFCSTRUCTURALSTEELPROFILEPROPERTIES, IFCSTRUCTURALPROFILEPROPERTIES], + 3448662350: [IFCGEOMETRICREPRESENTATIONSUBCONTEXT], + 2453401579: [IFCFILLAREASTYLETILES, IFCFILLAREASTYLETILESYMBOLWITHSTYLE, IFCFILLAREASTYLEHATCHING, IFCFACEBASEDSURFACEMODEL, IFCDIAMETERDIMENSION, IFCANGULARDIMENSION, IFCRADIUSDIMENSION, IFCLINEARDIMENSION, IFCDIMENSIONCURVEDIRECTEDCALLOUT, IFCSTRUCTUREDDIMENSIONCALLOUT, IFCDRAUGHTINGCALLOUT, IFCDIRECTION, IFCDEFINEDSYMBOL, IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBEZIERCURVE, IFCBEZIERCURVE, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFC2DCOMPOSITECURVE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCLINE, IFCCURVE, IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID, IFCCSGPRIMITIVE3D, IFCCOMPOSITECURVESEGMENT, IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D, IFCCARTESIANTRANSFORMATIONOPERATOR, IFCBOUNDINGBOX, IFCBOOLEANCLIPPINGRESULT, IFCBOOLEANRESULT, IFCANNOTATIONSURFACE, IFCANNOTATIONFILLAREA, IFCVECTOR, IFCTEXTLITERALWITHEXTENT, IFCTEXTLITERAL, IFCPLANE, IFCELEMENTARYSURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE, IFCSURFACE, IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLID, IFCSURFACECURVESWEPTAREASOLID, IFCREVOLVEDAREASOLID, IFCEXTRUDEDAREASOLID, IFCSWEPTAREASOLID, IFCSOLIDMODEL, IFCSHELLBASEDSURFACEMODEL, IFCSECTIONEDSPINE, IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE, IFCPOINT, IFCPLANARBOX, IFCPLANAREXTENT, IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT, IFCPLACEMENT, IFCTWODIRECTIONREPEATFACTOR, IFCONEDIRECTIONREPEATFACTOR, IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT, IFCLIGHTSOURCE, IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE, IFCHALFSPACESOLID, IFCGEOMETRICCURVESET, IFCGEOMETRICSET], + 3590301190: [IFCGEOMETRICCURVESET], + 812098782: [IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE], + 1402838566: [IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT], + 1520743889: [IFCLIGHTSOURCESPOT], + 1008929658: [IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP], + 219451334: [IFCCONDITION, IFCASSET, IFCZONE, IFCSTRUCTURALANALYSISMODEL, IFCELECTRICALCIRCUIT, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCCONDITIONCRITERION, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCTIMESERIESSCHEDULE, IFCSPACEPROGRAM, IFCSERVICELIFE, IFCSCHEDULETIMECONTROL, IFCPROJECTORDERRECORD, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCFURNITURESTANDARD, IFCEQUIPMENTSTANDARD, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCPROJECT, IFCDISTRIBUTIONPORT, IFCPORT, IFCGRID, IFCELECTRICALELEMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFLOWTREATMENTDEVICE, IFCFLOWTERMINAL, IFCFLOWSTORAGEDEVICE, IFCFLOWSEGMENT, IFCFLOWMOVINGDEVICE, IFCFLOWFITTING, IFCELECTRICDISTRIBUTIONPOINT, IFCFLOWCONTROLLER, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATE, IFCPILE, IFCMEMBER, IFCFOOTING, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMN, IFCBUILDINGELEMENTPROXY, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCBUILDINGELEMENTPART, IFCBUILDINGELEMENTCOMPONENT, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCFURNISHINGELEMENT, IFCCHAMFEREDGEFEATURE, IFCROUNDEDEDGEFEATURE, IFCEDGEFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCEQUIPMENTELEMENT, IFCDISCRETEACCESSORY, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALPLANARACTIONVARYING, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALLINEARACTIONVARYING, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT, IFCPROXY, IFCPRODUCT, IFCPROCEDURE, IFCORDERACTION, IFCMOVE, IFCTASK, IFCPROCESS, IFCOBJECT, IFCVIBRATIONISOLATORTYPE, IFCDISCRETEACCESSORYTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCSENSORTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICHEATERTYPE, IFCELECTRICAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCGASTERMINALTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSPACEHEATERTYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWALLTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCMEMBERTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCDOORSTYLE, IFCWINDOWSTYLE, IFCTYPEPRODUCT, IFCTYPEOBJECT], + 2833995503: [IFCTWODIRECTIONREPEATFACTOR], + 2529465313: [IFCLSHAPEPROFILEDEF, IFCASYMMETRICISHAPEPROFILEDEF, IFCISHAPEPROFILEDEF, IFCELLIPSEPROFILEDEF, IFCCRANERAILFSHAPEPROFILEDEF, IFCCRANERAILASHAPEPROFILEDEF, IFCCIRCLEHOLLOWPROFILEDEF, IFCCIRCLEPROFILEDEF, IFCCSHAPEPROFILEDEF, IFCZSHAPEPROFILEDEF, IFCUSHAPEPROFILEDEF, IFCTRAPEZIUMPROFILEDEF, IFCTSHAPEPROFILEDEF, IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF, IFCRECTANGLEPROFILEDEF], + 2004835150: [IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT], + 1663979128: [IFCPLANARBOX], + 2067069095: [IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE], + 759155922: [IFCDRAUGHTINGPREDEFINEDCOLOUR], + 2559016684: [IFCDRAUGHTINGPREDEFINEDCURVEFONT], + 1680319473: [IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCFLUIDFLOWPROPERTIES, IFCELECTRICALBASEPROPERTIES, IFCENERGYPROPERTIES, IFCELEMENTQUANTITY, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCSPACETHERMALLOADPROPERTIES, IFCSOUNDVALUE, IFCSOUNDPROPERTIES, IFCSERVICELIFEFACTOR, IFCREINFORCEMENTDEFINITIONPROPERTIES, IFCPROPERTYSETDEFINITION], + 3357820518: [IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCFLUIDFLOWPROPERTIES, IFCELECTRICALBASEPROPERTIES, IFCENERGYPROPERTIES, IFCELEMENTQUANTITY, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCSPACETHERMALLOADPROPERTIES, IFCSOUNDVALUE, IFCSOUNDPROPERTIES, IFCSERVICELIFEFACTOR, IFCREINFORCEMENTDEFINITIONPROPERTIES], + 3615266464: [IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF], + 478536968: [IFCRELDEFINESBYTYPE, IFCRELOVERRIDESPROPERTIES, IFCRELDEFINESBYPROPERTIES, IFCRELDEFINES, IFCRELAGGREGATES, IFCRELNESTS, IFCRELDECOMPOSES, IFCRELVOIDSELEMENT, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELPROJECTSELEMENT, IFCRELINTERACTIONREQUIREMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALELEMENT, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS, IFCRELCONNECTS, IFCRELASSOCIATESPROFILEPROPERTIES, IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL, IFCRELASSOCIATESAPPLIEDVALUE, IFCRELASSOCIATES, IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTASKS, IFCRELSCHEDULESCOSTITEMS, IFCRELASSIGNSTOPROJECTORDER, IFCRELASSIGNSTOCONTROL, IFCRELOCCUPIESSPACES, IFCRELASSIGNSTOACTOR, IFCRELASSIGNS], + 723233188: [IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLID, IFCSURFACECURVESWEPTAREASOLID, IFCREVOLVEDAREASOLID, IFCEXTRUDEDAREASOLID, IFCSWEPTAREASOLID], + 2473145415: [IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION], + 1597423693: [IFCSTRUCTURALLOADSINGLEFORCEWARPING], + 3843319758: [IFCSTRUCTURALSTEELPROFILEPROPERTIES], + 2513912981: [IFCPLANE, IFCELEMENTARYSURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE], + 2247615214: [IFCSURFACECURVESWEPTAREASOLID, IFCREVOLVEDAREASOLID, IFCEXTRUDEDAREASOLID], + 230924584: [IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION], + 3028897424: [IFCDIMENSIONCURVETERMINATOR], + 4282788508: [IFCTEXTLITERALWITHEXTENT], + 1628702193: [IFCVIBRATIONISOLATORTYPE, IFCDISCRETEACCESSORYTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCSENSORTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICHEATERTYPE, IFCELECTRICAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCGASTERMINALTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSPACEHEATERTYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWALLTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCMEMBERTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCDOORSTYLE, IFCWINDOWSTYLE, IFCTYPEPRODUCT], + 2347495698: [IFCVIBRATIONISOLATORTYPE, IFCDISCRETEACCESSORYTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCSENSORTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICHEATERTYPE, IFCELECTRICAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCGASTERMINALTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSPACEHEATERTYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWALLTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCMEMBERTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCDOORSTYLE, IFCWINDOWSTYLE], + 3288037868: [IFCPROJECTIONCURVE, IFCDIMENSIONCURVE], + 2736907675: [IFCBOOLEANCLIPPINGRESULT], + 4182860854: [IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDPLANE], + 59481748: [IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D], + 3749851601: [IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM], + 3331915920: [IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM], + 1383045692: [IFCCIRCLEHOLLOWPROFILEDEF], + 2506170314: [IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID], + 2601014836: [IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBEZIERCURVE, IFCBEZIERCURVE, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFC2DCOMPOSITECURVE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCLINE], + 3073041342: [IFCDIAMETERDIMENSION, IFCANGULARDIMENSION, IFCRADIUSDIMENSION, IFCLINEARDIMENSION, IFCDIMENSIONCURVEDIRECTEDCALLOUT, IFCSTRUCTUREDDIMENSIONCALLOUT], + 339256511: [IFCVIBRATIONISOLATORTYPE, IFCDISCRETEACCESSORYTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCSENSORTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICHEATERTYPE, IFCELECTRICAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCGASTERMINALTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSPACEHEATERTYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWALLTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCMEMBERTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE], + 2777663545: [IFCPLANE], + 80994333: [IFCELECTRICALBASEPROPERTIES], + 4238390223: [IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE], + 1484403080: [IFCASYMMETRICISHAPEPROFILEDEF], + 1425443689: [IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP], + 3888040117: [IFCCONDITION, IFCASSET, IFCZONE, IFCSTRUCTURALANALYSISMODEL, IFCELECTRICALCIRCUIT, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCCONDITIONCRITERION, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCTIMESERIESSCHEDULE, IFCSPACEPROGRAM, IFCSERVICELIFE, IFCSCHEDULETIMECONTROL, IFCPROJECTORDERRECORD, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCFURNITURESTANDARD, IFCEQUIPMENTSTANDARD, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCPROJECT, IFCDISTRIBUTIONPORT, IFCPORT, IFCGRID, IFCELECTRICALELEMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFLOWTREATMENTDEVICE, IFCFLOWTERMINAL, IFCFLOWSTORAGEDEVICE, IFCFLOWSEGMENT, IFCFLOWMOVINGDEVICE, IFCFLOWFITTING, IFCELECTRICDISTRIBUTIONPOINT, IFCFLOWCONTROLLER, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATE, IFCPILE, IFCMEMBER, IFCFOOTING, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMN, IFCBUILDINGELEMENTPROXY, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCBUILDINGELEMENTPART, IFCBUILDINGELEMENTCOMPONENT, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCFURNISHINGELEMENT, IFCCHAMFEREDGEFEATURE, IFCROUNDEDEDGEFEATURE, IFCEDGEFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCEQUIPMENTELEMENT, IFCDISCRETEACCESSORY, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALPLANARACTIONVARYING, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALLINEARACTIONVARYING, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT, IFCPROXY, IFCPRODUCT, IFCPROCEDURE, IFCORDERACTION, IFCMOVE, IFCTASK, IFCPROCESS], + 2945172077: [IFCPROCEDURE, IFCORDERACTION, IFCMOVE, IFCTASK], + 4208778838: [IFCDISTRIBUTIONPORT, IFCPORT, IFCGRID, IFCELECTRICALELEMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFLOWTREATMENTDEVICE, IFCFLOWTERMINAL, IFCFLOWSTORAGEDEVICE, IFCFLOWSEGMENT, IFCFLOWMOVINGDEVICE, IFCFLOWFITTING, IFCELECTRICDISTRIBUTIONPOINT, IFCFLOWCONTROLLER, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATE, IFCPILE, IFCMEMBER, IFCFOOTING, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMN, IFCBUILDINGELEMENTPROXY, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCBUILDINGELEMENTPART, IFCBUILDINGELEMENTCOMPONENT, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCFURNISHINGELEMENT, IFCCHAMFEREDGEFEATURE, IFCROUNDEDEDGEFEATURE, IFCEDGEFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCEQUIPMENTELEMENT, IFCDISCRETEACCESSORY, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALPLANARACTIONVARYING, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALLINEARACTIONVARYING, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT, IFCPROXY], + 3939117080: [IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTASKS, IFCRELSCHEDULESCOSTITEMS, IFCRELASSIGNSTOPROJECTORDER, IFCRELASSIGNSTOCONTROL, IFCRELOCCUPIESSPACES, IFCRELASSIGNSTOACTOR], + 1683148259: [IFCRELOCCUPIESSPACES], + 2495723537: [IFCRELASSIGNSTASKS, IFCRELSCHEDULESCOSTITEMS, IFCRELASSIGNSTOPROJECTORDER], + 1865459582: [IFCRELASSOCIATESPROFILEPROPERTIES, IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL, IFCRELASSOCIATESAPPLIEDVALUE], + 826625072: [IFCRELVOIDSELEMENT, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELPROJECTSELEMENT, IFCRELINTERACTIONREQUIREMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALELEMENT, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS], + 1204542856: [IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS], + 1638771189: [IFCRELCONNECTSWITHECCENTRICITY], + 2551354335: [IFCRELAGGREGATES, IFCRELNESTS], + 693640335: [IFCRELDEFINESBYTYPE, IFCRELOVERRIDESPROPERTIES, IFCRELDEFINESBYPROPERTIES], + 4186316022: [IFCRELOVERRIDESPROPERTIES], + 2914609552: [IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE], + 2706606064: [IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING], + 3893378262: [IFCSPACETYPE], + 3544373492: [IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALPLANARACTIONVARYING, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALLINEARACTIONVARYING, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALREACTION], + 3136571912: [IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER], + 530289379: [IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER], + 3689010777: [IFCSTRUCTURALPOINTREACTION], + 3979015343: [IFCSTRUCTURALSURFACEMEMBERVARYING], + 3473067441: [IFCORDERACTION, IFCMOVE], + 2296667514: [IFCOCCUPANT], + 1260505505: [IFCRATIONALBEZIERCURVE, IFCBEZIERCURVE, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFC2DCOMPOSITECURVE, IFCCOMPOSITECURVE], + 1950629157: [IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWALLTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCMEMBERTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE], + 3732776249: [IFC2DCOMPOSITECURVE], + 2510884976: [IFCCIRCLE, IFCELLIPSE], + 2559216714: [IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE], + 3293443760: [IFCCONDITIONCRITERION, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCTIMESERIESSCHEDULE, IFCSPACEPROGRAM, IFCSERVICELIFE, IFCSCHEDULETIMECONTROL, IFCPROJECTORDERRECORD, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCFURNITURESTANDARD, IFCEQUIPMENTSTANDARD, IFCCOSTSCHEDULE, IFCCOSTITEM], + 681481545: [IFCDIAMETERDIMENSION, IFCANGULARDIMENSION, IFCRADIUSDIMENSION, IFCLINEARDIMENSION], + 3256556792: [IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCSENSORTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICHEATERTYPE, IFCELECTRICAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCGASTERMINALTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSPACEHEATERTYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE], + 3849074793: [IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICHEATERTYPE, IFCELECTRICAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCGASTERMINALTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSPACEHEATERTYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENERGYCONVERSIONDEVICETYPE], + 1758889154: [IFCELECTRICALELEMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFLOWTREATMENTDEVICE, IFCFLOWTERMINAL, IFCFLOWSTORAGEDEVICE, IFCFLOWSEGMENT, IFCFLOWMOVINGDEVICE, IFCFLOWFITTING, IFCELECTRICDISTRIBUTIONPOINT, IFCFLOWCONTROLLER, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATE, IFCPILE, IFCMEMBER, IFCFOOTING, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMN, IFCBUILDINGELEMENTPROXY, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCBUILDINGELEMENTPART, IFCBUILDINGELEMENTCOMPONENT, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCFURNISHINGELEMENT, IFCCHAMFEREDGEFEATURE, IFCROUNDEDEDGEFEATURE, IFCEDGEFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCEQUIPMENTELEMENT, IFCDISCRETEACCESSORY, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY], + 1623761950: [IFCDISCRETEACCESSORY, IFCMECHANICALFASTENER, IFCFASTENER], + 2590856083: [IFCVIBRATIONISOLATORTYPE, IFCDISCRETEACCESSORYTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE], + 2107101300: [IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSPACEHEATERTYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE], + 647756555: [IFCMECHANICALFASTENER], + 2489546625: [IFCMECHANICALFASTENERTYPE], + 2827207264: [IFCCHAMFEREDGEFEATURE, IFCROUNDEDEDGEFEATURE, IFCEDGEFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION], + 2143335405: [IFCPROJECTIONELEMENT], + 1287392070: [IFCCHAMFEREDGEFEATURE, IFCROUNDEDEDGEFEATURE, IFCEDGEFEATURE, IFCOPENINGELEMENT], + 3907093117: [IFCELECTRICTIMECONTROLTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE], + 3198132628: [IFCDUCTFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE], + 1482959167: [IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE], + 1834744321: [IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE], + 1339347760: [IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE], + 2297155007: [IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICHEATERTYPE, IFCELECTRICAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCGASTERMINALTYPE], + 3009222698: [IFCFILTERTYPE, IFCDUCTSILENCERTYPE], + 2706460486: [IFCCONDITION, IFCASSET, IFCZONE, IFCSTRUCTURALANALYSISMODEL, IFCELECTRICALCIRCUIT, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADGROUP, IFCINVENTORY], + 3740093272: [IFCDISTRIBUTIONPORT], + 682877961: [IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALPLANARACTIONVARYING, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALLINEARACTIONVARYING, IFCSTRUCTURALLINEARACTION], + 1179482911: [IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION], + 214636428: [IFCSTRUCTURALCURVEMEMBERVARYING], + 1807405624: [IFCSTRUCTURALLINEARACTIONVARYING], + 1621171031: [IFCSTRUCTURALPLANARACTIONVARYING], + 2254336722: [IFCSTRUCTURALANALYSISMODEL, IFCELECTRICALCIRCUIT], + 1028945134: [IFCWORKSCHEDULE, IFCWORKPLAN], + 1967976161: [IFCRATIONALBEZIERCURVE, IFCBEZIERCURVE], + 1916977116: [IFCRATIONALBEZIERCURVE], + 3299480353: [IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATE, IFCPILE, IFCMEMBER, IFCFOOTING, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMN, IFCBUILDINGELEMENTPROXY, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCBUILDINGELEMENTPART, IFCBUILDINGELEMENTCOMPONENT], + 52481810: [IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCBUILDINGELEMENTPART], + 2635815018: [IFCVIBRATIONISOLATORTYPE], + 2063403501: [IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCSENSORTYPE, IFCFLOWINSTRUMENTTYPE], + 1945004755: [IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFLOWTREATMENTDEVICE, IFCFLOWTERMINAL, IFCFLOWSTORAGEDEVICE, IFCFLOWSEGMENT, IFCFLOWMOVINGDEVICE, IFCFLOWFITTING, IFCELECTRICDISTRIBUTIONPOINT, IFCFLOWCONTROLLER, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT], + 3040386961: [IFCDISTRIBUTIONCHAMBERELEMENT, IFCFLOWTREATMENTDEVICE, IFCFLOWTERMINAL, IFCFLOWSTORAGEDEVICE, IFCFLOWSEGMENT, IFCFLOWMOVINGDEVICE, IFCFLOWFITTING, IFCELECTRICDISTRIBUTIONPOINT, IFCFLOWCONTROLLER, IFCENERGYCONVERSIONDEVICE], + 855621170: [IFCCHAMFEREDGEFEATURE, IFCROUNDEDEDGEFEATURE], + 2058353004: [IFCELECTRICDISTRIBUTIONPOINT], + 3027567501: [IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH], + 2391406946: [IFCWALLSTANDARDCASE] +}; +InversePropertyDef[3] = { + 618182010: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]], + 411424972: [["ValuesReferenced", IFCREFERENCESVALUEDOCUMENT, 1, true], ["ValueOfComponents", IFCAPPLIEDVALUERELATIONSHIP, 0, true], ["IsComponentIn", IFCAPPLIEDVALUERELATIONSHIP, 1, true]], + 130549933: [["Actors", IFCAPPROVALACTORRELATIONSHIP, 1, true], ["IsRelatedWith", IFCAPPROVALRELATIONSHIP, 0, true], ["Relates", IFCAPPROVALRELATIONSHIP, 1, true]], + 747523909: [["Contains", IFCCLASSIFICATIONITEM, 1, true]], + 1767535486: [["IsClassifiedItemIn", IFCCLASSIFICATIONITEMRELATIONSHIP, 1, true], ["IsClassifyingItemIn", IFCCLASSIFICATIONITEMRELATIONSHIP, 0, true]], + 1959218052: [["ClassifiedAs", IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP, 0, true], ["RelatesConstraints", IFCCONSTRAINTRELATIONSHIP, 2, true], ["IsRelatedWith", IFCCONSTRAINTRELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCPROPERTYCONSTRAINTRELATIONSHIP, 0, true], ["Aggregates", IFCCONSTRAINTAGGREGATIONRELATIONSHIP, 2, true], ["IsAggregatedIn", IFCCONSTRAINTAGGREGATIONRELATIONSHIP, 3, true]], + 602808272: [["ValuesReferenced", IFCREFERENCESVALUEDOCUMENT, 1, true], ["ValueOfComponents", IFCAPPLIEDVALUERELATIONSHIP, 0, true], ["IsComponentIn", IFCAPPLIEDVALUERELATIONSHIP, 1, true]], + 1154170062: [["IsPointedTo", IFCDOCUMENTINFORMATIONRELATIONSHIP, 1, true], ["IsPointer", IFCDOCUMENTINFORMATIONRELATIONSHIP, 0, true]], + 1648886627: [["ValuesReferenced", IFCREFERENCESVALUEDOCUMENT, 1, true], ["ValueOfComponents", IFCAPPLIEDVALUERELATIONSHIP, 0, true], ["IsComponentIn", IFCAPPLIEDVALUERELATIONSHIP, 1, true]], + 852622518: [["PartOfW", IFCGRID, 9, true], ["PartOfV", IFCGRID, 8, true], ["PartOfU", IFCGRID, 7, true], ["HasIntersections", IFCVIRTUALGRIDINTERSECTION, 0, true]], + 3452421091: [["ReferenceIntoLibrary", IFCLIBRARYINFORMATION, 4, true]], + 1838606355: [["HasRepresentation", IFCMATERIALDEFINITIONREPRESENTATION, 3, true], ["ClassifiedAs", IFCMATERIALCLASSIFICATIONRELATIONSHIP, 1, true]], + 248100487: [["ToMaterialLayerSet", IFCMATERIALLAYERSET, 0, false]], + 3368373690: [["ClassifiedAs", IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP, 0, true], ["RelatesConstraints", IFCCONSTRAINTRELATIONSHIP, 2, true], ["IsRelatedWith", IFCCONSTRAINTRELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCPROPERTYCONSTRAINTRELATIONSHIP, 0, true], ["Aggregates", IFCCONSTRAINTAGGREGATIONRELATIONSHIP, 2, true], ["IsAggregatedIn", IFCCONSTRAINTAGGREGATIONRELATIONSHIP, 3, true]], + 3701648758: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCLOCALPLACEMENT, 0, true]], + 2251480897: [["ClassifiedAs", IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP, 0, true], ["RelatesConstraints", IFCCONSTRAINTRELATIONSHIP, 2, true], ["IsRelatedWith", IFCCONSTRAINTRELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCPROPERTYCONSTRAINTRELATIONSHIP, 0, true], ["Aggregates", IFCCONSTRAINTAGGREGATIONRELATIONSHIP, 2, true], ["IsAggregatedIn", IFCCONSTRAINTAGGREGATIONRELATIONSHIP, 3, true]], + 4251960020: [["IsRelatedBy", IFCORGANIZATIONRELATIONSHIP, 3, true], ["Relates", IFCORGANIZATIONRELATIONSHIP, 2, true], ["Engages", IFCPERSONANDORGANIZATION, 1, true]], + 2077209135: [["EngagedIn", IFCPERSONANDORGANIZATION, 0, true]], + 2483315170: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 2226359599: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 3355820592: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]], + 2598011224: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]], + 2044713172: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 2093928680: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 931644368: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 3252649465: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 2405470396: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 825690147: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 1076942058: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]], + 3377609919: [["RepresentationsInContext", IFCREPRESENTATION, 0, true]], + 3008791417: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1660063152: [["MapUsage", IFCMAPPEDITEM, 0, true]], + 3982875396: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]], + 4240577450: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]], + 3692461612: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]], + 2830218821: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]], + 3958052878: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3049322572: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]], + 531007025: [["OfTable", IFCTABLE, 1, false]], + 912023232: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]], + 280115917: [["AnnotatedSurface", IFCANNOTATIONSURFACE, 1, true]], + 1742049831: [["AnnotatedSurface", IFCANNOTATIONSURFACE, 1, true]], + 2552916305: [["AnnotatedSurface", IFCANNOTATIONSURFACE, 1, true]], + 3101149627: [["DocumentedBy", IFCTIMESERIESREFERENCERELATIONSHIP, 0, true]], + 1377556343: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1735638870: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]], + 2799835756: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1907098498: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2442683028: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 962685235: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3612888222: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2297822566: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2542286263: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]], + 370225590: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3732053477: [["ReferenceToDocument", IFCDOCUMENTINFORMATION, 3, true]], + 3900360178: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 476780140: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2556980723: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1809719519: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 803316827: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3008276851: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3448662350: [["RepresentationsInContext", IFCREPRESENTATION, 0, true], ["HasSubContexts", IFCGEOMETRICREPRESENTATIONSUBCONTEXT, 6, true]], + 2453401579: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4142052618: [["RepresentationsInContext", IFCREPRESENTATION, 0, true], ["HasSubContexts", IFCGEOMETRICREPRESENTATIONSUBCONTEXT, 6, true]], + 3590301190: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 178086475: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCLOCALPLACEMENT, 0, true]], + 812098782: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3741457305: [["DocumentedBy", IFCTIMESERIESREFERENCERELATIONSHIP, 0, true]], + 1402838566: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 125510826: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2604431987: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4266656042: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1520743889: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3422422726: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2624227202: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCLOCALPLACEMENT, 0, true]], + 1008929658: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2347385850: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 219451334: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true]], + 2833995503: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2665983363: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1029017970: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2519244187: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3021840470: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 2004835150: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1663979128: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2067069095: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4022376103: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1423911732: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2924175390: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2775532180: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 673634403: [["ShapeOfProduct", IFCPRODUCT, 6, true], ["HasShapeAspects", IFCSHAPEASPECT, 4, true]], + 871118103: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]], + 1680319473: [["HasAssociations", IFCRELASSOCIATES, 4, true]], + 4166981789: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]], + 2752243245: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]], + 941946838: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]], + 3357820518: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]], + 3650150729: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]], + 110355661: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]], + 3413951693: [["DocumentedBy", IFCTIMESERIESREFERENCERELATIONSHIP, 0, true]], + 3765753017: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]], + 1509187699: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2411513650: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]], + 4124623270: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 723233188: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2485662743: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]], + 1202362311: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]], + 390701378: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]], + 2233826070: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2513912981: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2247615214: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1260650574: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 230924584: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3028897424: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4282788508: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3124975700: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1345879162: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1628702193: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2347495698: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1417489154: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2759199220: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 336235671: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]], + 512836454: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]], + 1299126871: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3288037868: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 669184980: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2265737646: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1302238472: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4261334040: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3125803723: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2740243338: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2736907675: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4182860854: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2581212453: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2713105998: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1123145078: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 59481748: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3749851601: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3486308946: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3331915920: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1416205885: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2205249479: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2485617015: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["UsingCurves", IFCCOMPOSITECURVE, 0, true]], + 2506170314: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2147822146: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2601014836: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2827736869: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 693772133: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 606661476: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["AnnotatedBySymbols", IFCTERMINATORSYMBOL, 3, true]], + 4054601972: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 32440307: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2963535650: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]], + 1714330368: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]], + 526551008: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3073041342: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["IsRelatedFromCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 3, true], ["IsRelatedToCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 2, true]], + 1472233963: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1883228015: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]], + 339256511: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2777663545: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 80994333: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]], + 477187591: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2047409740: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 374418227: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4203026998: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 315944413: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3455213021: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]], + 4238390223: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1268542332: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 987898635: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1281925730: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1425443689: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3888040117: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true]], + 3388369263: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3505215534: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3566463478: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]], + 603570806: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 220341763: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2945172077: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true]], + 4208778838: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 103090709: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true]], + 4194566429: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1451395588: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]], + 3219374653: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2798486643: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3454111270: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2914609552: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 1856042241: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4158566097: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3626867408: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2706606064: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true]], + 3893378262: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 451544542: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3544373492: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false]], + 3136571912: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true]], + 530289379: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ReferencesElement", IFCRELCONNECTSSTRUCTURALELEMENT, 5, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]], + 3689010777: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false], ["Causes", IFCSTRUCTURALACTION, 10, true]], + 3979015343: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ReferencesElement", IFCRELCONNECTSSTRUCTURALELEMENT, 5, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]], + 2218152070: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ReferencesElement", IFCRELCONNECTSSTRUCTURALELEMENT, 5, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]], + 4070609034: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["IsRelatedFromCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 3, true], ["IsRelatedToCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 2, true]], + 2028607225: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2809605785: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4124788165: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1580310250: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3473067441: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true]], + 2097647324: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2296667514: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsActingUpon", IFCRELASSIGNSTOACTOR, 6, true]], + 1674181508: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 1334484129: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3649129432: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1260505505: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4031249490: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true]], + 1950629157: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3124254112: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true]], + 300633059: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3732776249: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2510884976: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2559216714: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 3293443760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 3895139033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 1419761937: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 1916426348: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3295246426: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 1457835157: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 681481545: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["IsRelatedFromCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 3, true], ["IsRelatedToCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 2, true]], + 3256556792: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3849074793: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 360485395: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]], + 1758889154: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 4123344466: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 1623761950: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2590856083: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1704287377: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2107101300: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1962604670: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 3272907226: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 3174744832: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3390157468: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 807026263: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3737207727: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 647756555: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2489546625: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2827207264: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2143335405: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["ProjectsElements", IFCRELPROJECTSELEMENT, 5, false]], + 1287392070: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]], + 3907093117: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3198132628: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3815607619: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1482959167: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1834744321: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1339347760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2297155007: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3009222698: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 263784265: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 814719939: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 200128114: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3009204131: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2706460486: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false]], + 1251058090: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1806887404: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2391368822: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false]], + 4288270099: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3827777499: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 1051575348: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1161773419: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2506943328: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["IsRelatedFromCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 3, true], ["IsRelatedToCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 2, true]], + 377706215: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2108223431: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3181161470: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 977012517: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1916936684: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true]], + 4143007308: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsActingUpon", IFCRELASSIGNSTOACTOR, 6, true]], + 3588315303: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false], ["HasFillings", IFCRELFILLSELEMENT, 4, true]], + 3425660407: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true]], + 2837617999: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2382730787: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 3327091369: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 804291784: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 4231323485: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 4017108033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3724593414: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3740093272: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainedIn", IFCRELCONNECTSPORTTOELEMENT, 4, false], ["ConnectedFrom", IFCRELCONNECTSPORTS, 5, true], ["ConnectedTo", IFCRELCONNECTSPORTS, 4, true]], + 2744685151: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true]], + 2904328755: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 3642467123: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 3651124850: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["ProjectsElements", IFCRELPROJECTSELEMENT, 5, false]], + 1842657554: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2250791053: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3248260540: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["IsRelatedFromCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 3, true], ["IsRelatedToCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 2, true]], + 2893384427: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2324767716: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1768891740: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3517283431: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true], ["ScheduleTimeControlAssigned", IFCRELASSIGNSTASKS, 7, false]], + 4105383287: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 4097777520: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true]], + 2533589738: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3856911033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["HasCoverings", IFCRELCOVERSSPACES, 4, true], ["BoundedBy", IFCRELSPACEBOUNDARY, 4, true]], + 1305183839: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 652456506: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true], ["HasInteractionReqsFrom", IFCRELINTERACTIONREQUIREMENTS, 7, true], ["HasInteractionReqsTo", IFCRELINTERACTIONREQUIREMENTS, 8, true]], + 3812236995: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3112655638: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1039846685: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 682877961: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false]], + 1179482911: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]], + 4243806635: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]], + 214636428: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ReferencesElement", IFCRELCONNECTSSTRUCTURALELEMENT, 5, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]], + 2445595289: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ReferencesElement", IFCRELCONNECTSSTRUCTURALELEMENT, 5, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]], + 1807405624: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false]], + 1721250024: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false]], + 1252848954: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false], ["SourceOfResultGroup", IFCSTRUCTURALRESULTGROUP, 6, true], ["LoadGroupFor", IFCSTRUCTURALANALYSISMODEL, 7, true]], + 1621171031: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false]], + 3987759626: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false]], + 2082059205: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false]], + 734778138: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]], + 1235345126: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false], ["Causes", IFCSTRUCTURALACTION, 10, true]], + 2986769608: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false], ["ResultGroupFor", IFCSTRUCTURALANALYSISMODEL, 8, true]], + 1975003073: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]], + 148013059: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 2315554128: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2254336722: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]], + 5716631: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1637806684: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 1692211062: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1620046519: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 3593883385: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1600972822: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1911125066: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 728799441: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2769231204: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 1898987631: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1133259667: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1028945134: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 4218914973: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 3342526732: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 1033361043: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false]], + 1213861670: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3821786052: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 1411407467: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3352864051: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1871374353: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2470393545: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["IsRelatedFromCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 3, true], ["IsRelatedToCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 2, true]], + 3460190687: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false]], + 1967976161: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 819618141: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1916977116: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 231477066: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3299480353: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 52481810: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2979338954: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 1095909175: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 1909888760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 395041908: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3293546465: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1285652485: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2951183804: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2611217952: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2301859152: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 843113511: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 3850581409: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2816379211: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2188551683: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false]], + 1163958913: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 3898045240: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 1060000209: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 488727124: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 335055490: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2954562838: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1973544240: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["CoversSpaces", IFCRELCOVERSSPACES, 5, true], ["Covers", IFCRELCOVERSBLDGELEMENTS, 5, true]], + 3495092785: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 3961806047: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 4147604152: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["IsRelatedFromCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 3, true], ["IsRelatedToCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 2, true]], + 1335981549: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2635815018: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1599208980: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2063403501: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1945004755: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 3040386961: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3041715199: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainedIn", IFCRELCONNECTSPORTTOELEMENT, 4, false], ["ConnectedFrom", IFCRELCONNECTSPORTS, 5, true], ["ConnectedTo", IFCRELCONNECTSPORTS, 4, true]], + 395920057: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 869906466: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3760055223: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2030761528: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 855621170: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]], + 663422040: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3277789161: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1534661035: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1365060375: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1217240411: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 712377611: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1634875225: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]], + 857184966: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 1658829314: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 346874300: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1810631287: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 4222183408: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2058353004: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 4278956645: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 4037862832: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3132237377: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 987401354: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 707683696: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2223149337: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3508470533: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 900683007: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 1073191201: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 1687234759: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 3171933400: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2262370178: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 3024970846: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 3283111854: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 3055160366: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3027567501: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2320036040: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2016517767: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 1376911519: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]], + 1783015770: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1529196076: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 331165859: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 4252922144: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2515109513: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]], + 3824725483: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2347447852: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 3313531582: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 2391406946: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 3512223829: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 3304561284: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2874132201: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 3001207471: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 753842376: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2454782716: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]], + 578613899: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]], + 1052013943: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1062813311: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]], + 3700593921: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 979691226: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]] +}; +Constructors[3] = { + 3630933823: (a) => new IFC2X3$1.IfcActorRole(a[0], a[1], a[2]), + 618182010: (a) => new IFC2X3$1.IfcAddress(a[0], a[1], a[2]), + 639542469: (a) => new IFC2X3$1.IfcApplication(a[0], a[1], a[2], a[3]), + 411424972: (a) => new IFC2X3$1.IfcAppliedValue(a[0], a[1], a[2], a[3], a[4], a[5]), + 1110488051: (a) => new IFC2X3$1.IfcAppliedValueRelationship(a[0], a[1], a[2], a[3], a[4]), + 130549933: (a) => new IFC2X3$1.IfcApproval(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2080292479: (a) => new IFC2X3$1.IfcApprovalActorRelationship(a[0], a[1], a[2]), + 390851274: (a) => new IFC2X3$1.IfcApprovalPropertyRelationship(a[0], a[1]), + 3869604511: (a) => new IFC2X3$1.IfcApprovalRelationship(a[0], a[1], a[2], a[3]), + 4037036970: (a) => new IFC2X3$1.IfcBoundaryCondition(a[0]), + 1560379544: (a) => new IFC2X3$1.IfcBoundaryEdgeCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3367102660: (a) => new IFC2X3$1.IfcBoundaryFaceCondition(a[0], a[1], a[2], a[3]), + 1387855156: (a) => new IFC2X3$1.IfcBoundaryNodeCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2069777674: (a) => new IFC2X3$1.IfcBoundaryNodeConditionWarping(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 622194075: (a) => new IFC2X3$1.IfcCalendarDate(a[0], a[1], a[2]), + 747523909: (a) => new IFC2X3$1.IfcClassification(a[0], a[1], a[2], a[3]), + 1767535486: (a) => new IFC2X3$1.IfcClassificationItem(a[0], a[1], a[2]), + 1098599126: (a) => new IFC2X3$1.IfcClassificationItemRelationship(a[0], a[1]), + 938368621: (a) => new IFC2X3$1.IfcClassificationNotation(a[0]), + 3639012971: (a) => new IFC2X3$1.IfcClassificationNotationFacet(a[0]), + 3264961684: (a) => new IFC2X3$1.IfcColourSpecification(a[0]), + 2859738748: (_) => new IFC2X3$1.IfcConnectionGeometry(), + 2614616156: (a) => new IFC2X3$1.IfcConnectionPointGeometry(a[0], a[1]), + 4257277454: (a) => new IFC2X3$1.IfcConnectionPortGeometry(a[0], a[1], a[2]), + 2732653382: (a) => new IFC2X3$1.IfcConnectionSurfaceGeometry(a[0], a[1]), + 1959218052: (a) => new IFC2X3$1.IfcConstraint(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1658513725: (a) => new IFC2X3$1.IfcConstraintAggregationRelationship(a[0], a[1], a[2], a[3], a[4]), + 613356794: (a) => new IFC2X3$1.IfcConstraintClassificationRelationship(a[0], a[1]), + 347226245: (a) => new IFC2X3$1.IfcConstraintRelationship(a[0], a[1], a[2], a[3]), + 1065062679: (a) => new IFC2X3$1.IfcCoordinatedUniversalTimeOffset(a[0], a[1], a[2]), + 602808272: (a) => new IFC2X3$1.IfcCostValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 539742890: (a) => new IFC2X3$1.IfcCurrencyRelationship(a[0], a[1], a[2], a[3], a[4]), + 1105321065: (a) => new IFC2X3$1.IfcCurveStyleFont(a[0], a[1]), + 2367409068: (a) => new IFC2X3$1.IfcCurveStyleFontAndScaling(a[0], a[1], a[2]), + 3510044353: (a) => new IFC2X3$1.IfcCurveStyleFontPattern(a[0], a[1]), + 1072939445: (a) => new IFC2X3$1.IfcDateAndTime(a[0], a[1]), + 1765591967: (a) => new IFC2X3$1.IfcDerivedUnit(a[0], a[1], a[2]), + 1045800335: (a) => new IFC2X3$1.IfcDerivedUnitElement(a[0], a[1]), + 2949456006: (a) => new IFC2X3$1.IfcDimensionalExponents(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1376555844: (a) => new IFC2X3$1.IfcDocumentElectronicFormat(a[0], a[1], a[2]), + 1154170062: (a) => new IFC2X3$1.IfcDocumentInformation(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]), + 770865208: (a) => new IFC2X3$1.IfcDocumentInformationRelationship(a[0], a[1], a[2]), + 3796139169: (a) => new IFC2X3$1.IfcDraughtingCalloutRelationship(a[0], a[1], a[2], a[3]), + 1648886627: (a) => new IFC2X3$1.IfcEnvironmentalImpactValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3200245327: (a) => new IFC2X3$1.IfcExternalReference(a[0], a[1], a[2]), + 2242383968: (a) => new IFC2X3$1.IfcExternallyDefinedHatchStyle(a[0], a[1], a[2]), + 1040185647: (a) => new IFC2X3$1.IfcExternallyDefinedSurfaceStyle(a[0], a[1], a[2]), + 3207319532: (a) => new IFC2X3$1.IfcExternallyDefinedSymbol(a[0], a[1], a[2]), + 3548104201: (a) => new IFC2X3$1.IfcExternallyDefinedTextFont(a[0], a[1], a[2]), + 852622518: (a) => new IFC2X3$1.IfcGridAxis(a[0], a[1], a[2]), + 3020489413: (a) => new IFC2X3$1.IfcIrregularTimeSeriesValue(a[0], a[1]), + 2655187982: (a) => new IFC2X3$1.IfcLibraryInformation(a[0], a[1], a[2], a[3], a[4]), + 3452421091: (a) => new IFC2X3$1.IfcLibraryReference(a[0], a[1], a[2]), + 4162380809: (a) => new IFC2X3$1.IfcLightDistributionData(a[0], a[1], a[2]), + 1566485204: (a) => new IFC2X3$1.IfcLightIntensityDistribution(a[0], a[1]), + 30780891: (a) => new IFC2X3$1.IfcLocalTime(a[0], a[1], a[2], a[3], a[4]), + 1838606355: (a) => new IFC2X3$1.IfcMaterial(a[0]), + 1847130766: (a) => new IFC2X3$1.IfcMaterialClassificationRelationship(a[0], a[1]), + 248100487: (a) => new IFC2X3$1.IfcMaterialLayer(a[0], a[1], a[2]), + 3303938423: (a) => new IFC2X3$1.IfcMaterialLayerSet(a[0], a[1]), + 1303795690: (a) => new IFC2X3$1.IfcMaterialLayerSetUsage(a[0], a[1], a[2], a[3]), + 2199411900: (a) => new IFC2X3$1.IfcMaterialList(a[0]), + 3265635763: (a) => new IFC2X3$1.IfcMaterialProperties(a[0]), + 2597039031: (a) => new IFC2X3$1.IfcMeasureWithUnit(a[0], a[1]), + 4256014907: (a) => new IFC2X3$1.IfcMechanicalMaterialProperties(a[0], a[1], a[2], a[3], a[4], a[5]), + 677618848: (a) => new IFC2X3$1.IfcMechanicalSteelMaterialProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 3368373690: (a) => new IFC2X3$1.IfcMetric(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2706619895: (a) => new IFC2X3$1.IfcMonetaryUnit(a[0]), + 1918398963: (a) => new IFC2X3$1.IfcNamedUnit(a[0], a[1]), + 3701648758: (_) => new IFC2X3$1.IfcObjectPlacement(), + 2251480897: (a) => new IFC2X3$1.IfcObjective(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1227763645: (a) => new IFC2X3$1.IfcOpticalMaterialProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4251960020: (a) => new IFC2X3$1.IfcOrganization(a[0], a[1], a[2], a[3], a[4]), + 1411181986: (a) => new IFC2X3$1.IfcOrganizationRelationship(a[0], a[1], a[2], a[3]), + 1207048766: (a) => new IFC2X3$1.IfcOwnerHistory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2077209135: (a) => new IFC2X3$1.IfcPerson(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 101040310: (a) => new IFC2X3$1.IfcPersonAndOrganization(a[0], a[1], a[2]), + 2483315170: (a) => new IFC2X3$1.IfcPhysicalQuantity(a[0], a[1]), + 2226359599: (a) => new IFC2X3$1.IfcPhysicalSimpleQuantity(a[0], a[1], a[2]), + 3355820592: (a) => new IFC2X3$1.IfcPostalAddress(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3727388367: (a) => new IFC2X3$1.IfcPreDefinedItem(a[0]), + 990879717: (a) => new IFC2X3$1.IfcPreDefinedSymbol(a[0]), + 3213052703: (a) => new IFC2X3$1.IfcPreDefinedTerminatorSymbol(a[0]), + 1775413392: (a) => new IFC2X3$1.IfcPreDefinedTextFont(a[0]), + 2022622350: (a) => new IFC2X3$1.IfcPresentationLayerAssignment(a[0], a[1], a[2], a[3]), + 1304840413: (a) => new IFC2X3$1.IfcPresentationLayerWithStyle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3119450353: (a) => new IFC2X3$1.IfcPresentationStyle(a[0]), + 2417041796: (a) => new IFC2X3$1.IfcPresentationStyleAssignment(a[0]), + 2095639259: (a) => new IFC2X3$1.IfcProductRepresentation(a[0], a[1], a[2]), + 2267347899: (a) => new IFC2X3$1.IfcProductsOfCombustionProperties(a[0], a[1], a[2], a[3], a[4]), + 3958567839: (a) => new IFC2X3$1.IfcProfileDef(a[0], a[1]), + 2802850158: (a) => new IFC2X3$1.IfcProfileProperties(a[0], a[1]), + 2598011224: (a) => new IFC2X3$1.IfcProperty(a[0], a[1]), + 3896028662: (a) => new IFC2X3$1.IfcPropertyConstraintRelationship(a[0], a[1], a[2], a[3]), + 148025276: (a) => new IFC2X3$1.IfcPropertyDependencyRelationship(a[0], a[1], a[2], a[3], a[4]), + 3710013099: (a) => new IFC2X3$1.IfcPropertyEnumeration(a[0], a[1], a[2]), + 2044713172: (a) => new IFC2X3$1.IfcQuantityArea(a[0], a[1], a[2], a[3]), + 2093928680: (a) => new IFC2X3$1.IfcQuantityCount(a[0], a[1], a[2], a[3]), + 931644368: (a) => new IFC2X3$1.IfcQuantityLength(a[0], a[1], a[2], a[3]), + 3252649465: (a) => new IFC2X3$1.IfcQuantityTime(a[0], a[1], a[2], a[3]), + 2405470396: (a) => new IFC2X3$1.IfcQuantityVolume(a[0], a[1], a[2], a[3]), + 825690147: (a) => new IFC2X3$1.IfcQuantityWeight(a[0], a[1], a[2], a[3]), + 2692823254: (a) => new IFC2X3$1.IfcReferencesValueDocument(a[0], a[1], a[2], a[3]), + 1580146022: (a) => new IFC2X3$1.IfcReinforcementBarProperties(a[0], a[1], a[2], a[3], a[4], a[5]), + 1222501353: (a) => new IFC2X3$1.IfcRelaxation(a[0], a[1]), + 1076942058: (a) => new IFC2X3$1.IfcRepresentation(a[0], a[1], a[2], a[3]), + 3377609919: (a) => new IFC2X3$1.IfcRepresentationContext(a[0], a[1]), + 3008791417: (_) => new IFC2X3$1.IfcRepresentationItem(), + 1660063152: (a) => new IFC2X3$1.IfcRepresentationMap(a[0], a[1]), + 3679540991: (a) => new IFC2X3$1.IfcRibPlateProfileProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2341007311: (a) => new IFC2X3$1.IfcRoot(a[0], a[1], a[2], a[3]), + 448429030: (a) => new IFC2X3$1.IfcSIUnit(a[0], a[1], a[2]), + 2042790032: (a) => new IFC2X3$1.IfcSectionProperties(a[0], a[1], a[2]), + 4165799628: (a) => new IFC2X3$1.IfcSectionReinforcementProperties(a[0], a[1], a[2], a[3], a[4], a[5]), + 867548509: (a) => new IFC2X3$1.IfcShapeAspect(a[0], a[1], a[2], a[3], a[4]), + 3982875396: (a) => new IFC2X3$1.IfcShapeModel(a[0], a[1], a[2], a[3]), + 4240577450: (a) => new IFC2X3$1.IfcShapeRepresentation(a[0], a[1], a[2], a[3]), + 3692461612: (a) => new IFC2X3$1.IfcSimpleProperty(a[0], a[1]), + 2273995522: (a) => new IFC2X3$1.IfcStructuralConnectionCondition(a[0]), + 2162789131: (a) => new IFC2X3$1.IfcStructuralLoad(a[0]), + 2525727697: (a) => new IFC2X3$1.IfcStructuralLoadStatic(a[0]), + 3408363356: (a) => new IFC2X3$1.IfcStructuralLoadTemperature(a[0], a[1], a[2], a[3]), + 2830218821: (a) => new IFC2X3$1.IfcStyleModel(a[0], a[1], a[2], a[3]), + 3958052878: (a) => new IFC2X3$1.IfcStyledItem(a[0], a[1], a[2]), + 3049322572: (a) => new IFC2X3$1.IfcStyledRepresentation(a[0], a[1], a[2], a[3]), + 1300840506: (a) => new IFC2X3$1.IfcSurfaceStyle(a[0], a[1], a[2]), + 3303107099: (a) => new IFC2X3$1.IfcSurfaceStyleLighting(a[0], a[1], a[2], a[3]), + 1607154358: (a) => new IFC2X3$1.IfcSurfaceStyleRefraction(a[0], a[1]), + 846575682: (a) => new IFC2X3$1.IfcSurfaceStyleShading(a[0]), + 1351298697: (a) => new IFC2X3$1.IfcSurfaceStyleWithTextures(a[0]), + 626085974: (a) => new IFC2X3$1.IfcSurfaceTexture(a[0], a[1], a[2], a[3]), + 1290481447: (a) => new IFC2X3$1.IfcSymbolStyle(a[0], a[1]), + 985171141: (a) => new IFC2X3$1.IfcTable(a[0], a[1]), + 531007025: (a) => new IFC2X3$1.IfcTableRow(a[0], a[1]), + 912023232: (a) => new IFC2X3$1.IfcTelecomAddress(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1447204868: (a) => new IFC2X3$1.IfcTextStyle(a[0], a[1], a[2], a[3]), + 1983826977: (a) => new IFC2X3$1.IfcTextStyleFontModel(a[0], a[1], a[2], a[3], a[4], a[5]), + 2636378356: (a) => new IFC2X3$1.IfcTextStyleForDefinedFont(a[0], a[1]), + 1640371178: (a) => new IFC2X3$1.IfcTextStyleTextModel(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1484833681: (a) => new IFC2X3$1.IfcTextStyleWithBoxCharacteristics(a[0], a[1], a[2], a[3], a[4]), + 280115917: (_) => new IFC2X3$1.IfcTextureCoordinate(), + 1742049831: (a) => new IFC2X3$1.IfcTextureCoordinateGenerator(a[0], a[1]), + 2552916305: (a) => new IFC2X3$1.IfcTextureMap(a[0]), + 1210645708: (a) => new IFC2X3$1.IfcTextureVertex(a[0]), + 3317419933: (a) => new IFC2X3$1.IfcThermalMaterialProperties(a[0], a[1], a[2], a[3], a[4]), + 3101149627: (a) => new IFC2X3$1.IfcTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1718945513: (a) => new IFC2X3$1.IfcTimeSeriesReferenceRelationship(a[0], a[1]), + 581633288: (a) => new IFC2X3$1.IfcTimeSeriesValue(a[0]), + 1377556343: (_) => new IFC2X3$1.IfcTopologicalRepresentationItem(), + 1735638870: (a) => new IFC2X3$1.IfcTopologyRepresentation(a[0], a[1], a[2], a[3]), + 180925521: (a) => new IFC2X3$1.IfcUnitAssignment(a[0]), + 2799835756: (_) => new IFC2X3$1.IfcVertex(), + 3304826586: (a) => new IFC2X3$1.IfcVertexBasedTextureMap(a[0], a[1]), + 1907098498: (a) => new IFC2X3$1.IfcVertexPoint(a[0]), + 891718957: (a) => new IFC2X3$1.IfcVirtualGridIntersection(a[0], a[1]), + 1065908215: (a) => new IFC2X3$1.IfcWaterProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2442683028: (a) => new IFC2X3$1.IfcAnnotationOccurrence(a[0], a[1], a[2]), + 962685235: (a) => new IFC2X3$1.IfcAnnotationSurfaceOccurrence(a[0], a[1], a[2]), + 3612888222: (a) => new IFC2X3$1.IfcAnnotationSymbolOccurrence(a[0], a[1], a[2]), + 2297822566: (a) => new IFC2X3$1.IfcAnnotationTextOccurrence(a[0], a[1], a[2]), + 3798115385: (a) => new IFC2X3$1.IfcArbitraryClosedProfileDef(a[0], a[1], a[2]), + 1310608509: (a) => new IFC2X3$1.IfcArbitraryOpenProfileDef(a[0], a[1], a[2]), + 2705031697: (a) => new IFC2X3$1.IfcArbitraryProfileDefWithVoids(a[0], a[1], a[2], a[3]), + 616511568: (a) => new IFC2X3$1.IfcBlobTexture(a[0], a[1], a[2], a[3], a[4], a[5]), + 3150382593: (a) => new IFC2X3$1.IfcCenterLineProfileDef(a[0], a[1], a[2], a[3]), + 647927063: (a) => new IFC2X3$1.IfcClassificationReference(a[0], a[1], a[2], a[3]), + 776857604: (a) => new IFC2X3$1.IfcColourRgb(a[0], a[1], a[2], a[3]), + 2542286263: (a) => new IFC2X3$1.IfcComplexProperty(a[0], a[1], a[2], a[3]), + 1485152156: (a) => new IFC2X3$1.IfcCompositeProfileDef(a[0], a[1], a[2], a[3]), + 370225590: (a) => new IFC2X3$1.IfcConnectedFaceSet(a[0]), + 1981873012: (a) => new IFC2X3$1.IfcConnectionCurveGeometry(a[0], a[1]), + 45288368: (a) => new IFC2X3$1.IfcConnectionPointEccentricity(a[0], a[1], a[2], a[3], a[4]), + 3050246964: (a) => new IFC2X3$1.IfcContextDependentUnit(a[0], a[1], a[2]), + 2889183280: (a) => new IFC2X3$1.IfcConversionBasedUnit(a[0], a[1], a[2], a[3]), + 3800577675: (a) => new IFC2X3$1.IfcCurveStyle(a[0], a[1], a[2], a[3]), + 3632507154: (a) => new IFC2X3$1.IfcDerivedProfileDef(a[0], a[1], a[2], a[3], a[4]), + 2273265877: (a) => new IFC2X3$1.IfcDimensionCalloutRelationship(a[0], a[1], a[2], a[3]), + 1694125774: (a) => new IFC2X3$1.IfcDimensionPair(a[0], a[1], a[2], a[3]), + 3732053477: (a) => new IFC2X3$1.IfcDocumentReference(a[0], a[1], a[2]), + 4170525392: (a) => new IFC2X3$1.IfcDraughtingPreDefinedTextFont(a[0]), + 3900360178: (a) => new IFC2X3$1.IfcEdge(a[0], a[1]), + 476780140: (a) => new IFC2X3$1.IfcEdgeCurve(a[0], a[1], a[2], a[3]), + 1860660968: (a) => new IFC2X3$1.IfcExtendedMaterialProperties(a[0], a[1], a[2], a[3]), + 2556980723: (a) => new IFC2X3$1.IfcFace(a[0]), + 1809719519: (a) => new IFC2X3$1.IfcFaceBound(a[0], a[1]), + 803316827: (a) => new IFC2X3$1.IfcFaceOuterBound(a[0], a[1]), + 3008276851: (a) => new IFC2X3$1.IfcFaceSurface(a[0], a[1], a[2]), + 4219587988: (a) => new IFC2X3$1.IfcFailureConnectionCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 738692330: (a) => new IFC2X3$1.IfcFillAreaStyle(a[0], a[1]), + 3857492461: (a) => new IFC2X3$1.IfcFuelProperties(a[0], a[1], a[2], a[3], a[4]), + 803998398: (a) => new IFC2X3$1.IfcGeneralMaterialProperties(a[0], a[1], a[2], a[3]), + 1446786286: (a) => new IFC2X3$1.IfcGeneralProfileProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3448662350: (a) => new IFC2X3$1.IfcGeometricRepresentationContext(a[0], a[1], a[2], a[3], a[4], a[5]), + 2453401579: (_) => new IFC2X3$1.IfcGeometricRepresentationItem(), + 4142052618: (a) => new IFC2X3$1.IfcGeometricRepresentationSubContext(a[0], a[1], a[2], a[3], a[4], a[5]), + 3590301190: (a) => new IFC2X3$1.IfcGeometricSet(a[0]), + 178086475: (a) => new IFC2X3$1.IfcGridPlacement(a[0], a[1]), + 812098782: (a) => new IFC2X3$1.IfcHalfSpaceSolid(a[0], a[1]), + 2445078500: (a) => new IFC2X3$1.IfcHygroscopicMaterialProperties(a[0], a[1], a[2], a[3], a[4], a[5]), + 3905492369: (a) => new IFC2X3$1.IfcImageTexture(a[0], a[1], a[2], a[3], a[4]), + 3741457305: (a) => new IFC2X3$1.IfcIrregularTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1402838566: (a) => new IFC2X3$1.IfcLightSource(a[0], a[1], a[2], a[3]), + 125510826: (a) => new IFC2X3$1.IfcLightSourceAmbient(a[0], a[1], a[2], a[3]), + 2604431987: (a) => new IFC2X3$1.IfcLightSourceDirectional(a[0], a[1], a[2], a[3], a[4]), + 4266656042: (a) => new IFC2X3$1.IfcLightSourceGoniometric(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1520743889: (a) => new IFC2X3$1.IfcLightSourcePositional(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3422422726: (a) => new IFC2X3$1.IfcLightSourceSpot(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 2624227202: (a) => new IFC2X3$1.IfcLocalPlacement(a[0], a[1]), + 1008929658: (_) => new IFC2X3$1.IfcLoop(), + 2347385850: (a) => new IFC2X3$1.IfcMappedItem(a[0], a[1]), + 2022407955: (a) => new IFC2X3$1.IfcMaterialDefinitionRepresentation(a[0], a[1], a[2], a[3]), + 1430189142: (a) => new IFC2X3$1.IfcMechanicalConcreteMaterialProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 219451334: (a) => new IFC2X3$1.IfcObjectDefinition(a[0], a[1], a[2], a[3]), + 2833995503: (a) => new IFC2X3$1.IfcOneDirectionRepeatFactor(a[0]), + 2665983363: (a) => new IFC2X3$1.IfcOpenShell(a[0]), + 1029017970: (a) => new IFC2X3$1.IfcOrientedEdge(a[0], a[1]), + 2529465313: (a) => new IFC2X3$1.IfcParameterizedProfileDef(a[0], a[1], a[2]), + 2519244187: (a) => new IFC2X3$1.IfcPath(a[0]), + 3021840470: (a) => new IFC2X3$1.IfcPhysicalComplexQuantity(a[0], a[1], a[2], a[3], a[4], a[5]), + 597895409: (a) => new IFC2X3$1.IfcPixelTexture(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2004835150: (a) => new IFC2X3$1.IfcPlacement(a[0]), + 1663979128: (a) => new IFC2X3$1.IfcPlanarExtent(a[0], a[1]), + 2067069095: (_) => new IFC2X3$1.IfcPoint(), + 4022376103: (a) => new IFC2X3$1.IfcPointOnCurve(a[0], a[1]), + 1423911732: (a) => new IFC2X3$1.IfcPointOnSurface(a[0], a[1], a[2]), + 2924175390: (a) => new IFC2X3$1.IfcPolyLoop(a[0]), + 2775532180: (a) => new IFC2X3$1.IfcPolygonalBoundedHalfSpace(a[0], a[1], a[2], a[3]), + 759155922: (a) => new IFC2X3$1.IfcPreDefinedColour(a[0]), + 2559016684: (a) => new IFC2X3$1.IfcPreDefinedCurveFont(a[0]), + 433424934: (a) => new IFC2X3$1.IfcPreDefinedDimensionSymbol(a[0]), + 179317114: (a) => new IFC2X3$1.IfcPreDefinedPointMarkerSymbol(a[0]), + 673634403: (a) => new IFC2X3$1.IfcProductDefinitionShape(a[0], a[1], a[2]), + 871118103: (a) => new IFC2X3$1.IfcPropertyBoundedValue(a[0], a[1], a[2], a[3], a[4]), + 1680319473: (a) => new IFC2X3$1.IfcPropertyDefinition(a[0], a[1], a[2], a[3]), + 4166981789: (a) => new IFC2X3$1.IfcPropertyEnumeratedValue(a[0], a[1], a[2], a[3]), + 2752243245: (a) => new IFC2X3$1.IfcPropertyListValue(a[0], a[1], a[2], a[3]), + 941946838: (a) => new IFC2X3$1.IfcPropertyReferenceValue(a[0], a[1], a[2], a[3]), + 3357820518: (a) => new IFC2X3$1.IfcPropertySetDefinition(a[0], a[1], a[2], a[3]), + 3650150729: (a) => new IFC2X3$1.IfcPropertySingleValue(a[0], a[1], a[2], a[3]), + 110355661: (a) => new IFC2X3$1.IfcPropertyTableValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3615266464: (a) => new IFC2X3$1.IfcRectangleProfileDef(a[0], a[1], a[2], a[3], a[4]), + 3413951693: (a) => new IFC2X3$1.IfcRegularTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3765753017: (a) => new IFC2X3$1.IfcReinforcementDefinitionProperties(a[0], a[1], a[2], a[3], a[4], a[5]), + 478536968: (a) => new IFC2X3$1.IfcRelationship(a[0], a[1], a[2], a[3]), + 2778083089: (a) => new IFC2X3$1.IfcRoundedRectangleProfileDef(a[0], a[1], a[2], a[3], a[4], a[5]), + 1509187699: (a) => new IFC2X3$1.IfcSectionedSpine(a[0], a[1], a[2]), + 2411513650: (a) => new IFC2X3$1.IfcServiceLifeFactor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 4124623270: (a) => new IFC2X3$1.IfcShellBasedSurfaceModel(a[0]), + 2609359061: (a) => new IFC2X3$1.IfcSlippageConnectionCondition(a[0], a[1], a[2], a[3]), + 723233188: (_) => new IFC2X3$1.IfcSolidModel(), + 2485662743: (a) => new IFC2X3$1.IfcSoundProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1202362311: (a) => new IFC2X3$1.IfcSoundValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 390701378: (a) => new IFC2X3$1.IfcSpaceThermalLoadProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]), + 1595516126: (a) => new IFC2X3$1.IfcStructuralLoadLinearForce(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2668620305: (a) => new IFC2X3$1.IfcStructuralLoadPlanarForce(a[0], a[1], a[2], a[3]), + 2473145415: (a) => new IFC2X3$1.IfcStructuralLoadSingleDisplacement(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1973038258: (a) => new IFC2X3$1.IfcStructuralLoadSingleDisplacementDistortion(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1597423693: (a) => new IFC2X3$1.IfcStructuralLoadSingleForce(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1190533807: (a) => new IFC2X3$1.IfcStructuralLoadSingleForceWarping(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3843319758: (a) => new IFC2X3$1.IfcStructuralProfileProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19], a[20], a[21], a[22]), + 3653947884: (a) => new IFC2X3$1.IfcStructuralSteelProfileProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19], a[20], a[21], a[22], a[23], a[24], a[25], a[26]), + 2233826070: (a) => new IFC2X3$1.IfcSubedge(a[0], a[1], a[2]), + 2513912981: (_) => new IFC2X3$1.IfcSurface(), + 1878645084: (a) => new IFC2X3$1.IfcSurfaceStyleRendering(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2247615214: (a) => new IFC2X3$1.IfcSweptAreaSolid(a[0], a[1]), + 1260650574: (a) => new IFC2X3$1.IfcSweptDiskSolid(a[0], a[1], a[2], a[3], a[4]), + 230924584: (a) => new IFC2X3$1.IfcSweptSurface(a[0], a[1]), + 3071757647: (a) => new IFC2X3$1.IfcTShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 3028897424: (a) => new IFC2X3$1.IfcTerminatorSymbol(a[0], a[1], a[2], a[3]), + 4282788508: (a) => new IFC2X3$1.IfcTextLiteral(a[0], a[1], a[2]), + 3124975700: (a) => new IFC2X3$1.IfcTextLiteralWithExtent(a[0], a[1], a[2], a[3], a[4]), + 2715220739: (a) => new IFC2X3$1.IfcTrapeziumProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1345879162: (a) => new IFC2X3$1.IfcTwoDirectionRepeatFactor(a[0], a[1]), + 1628702193: (a) => new IFC2X3$1.IfcTypeObject(a[0], a[1], a[2], a[3], a[4], a[5]), + 2347495698: (a) => new IFC2X3$1.IfcTypeProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 427810014: (a) => new IFC2X3$1.IfcUShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1417489154: (a) => new IFC2X3$1.IfcVector(a[0], a[1]), + 2759199220: (a) => new IFC2X3$1.IfcVertexLoop(a[0]), + 336235671: (a) => new IFC2X3$1.IfcWindowLiningProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 512836454: (a) => new IFC2X3$1.IfcWindowPanelProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1299126871: (a) => new IFC2X3$1.IfcWindowStyle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 2543172580: (a) => new IFC2X3$1.IfcZShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3288037868: (a) => new IFC2X3$1.IfcAnnotationCurveOccurrence(a[0], a[1], a[2]), + 669184980: (a) => new IFC2X3$1.IfcAnnotationFillArea(a[0], a[1]), + 2265737646: (a) => new IFC2X3$1.IfcAnnotationFillAreaOccurrence(a[0], a[1], a[2], a[3], a[4]), + 1302238472: (a) => new IFC2X3$1.IfcAnnotationSurface(a[0], a[1]), + 4261334040: (a) => new IFC2X3$1.IfcAxis1Placement(a[0], a[1]), + 3125803723: (a) => new IFC2X3$1.IfcAxis2Placement2D(a[0], a[1]), + 2740243338: (a) => new IFC2X3$1.IfcAxis2Placement3D(a[0], a[1], a[2]), + 2736907675: (a) => new IFC2X3$1.IfcBooleanResult(a[0], a[1], a[2]), + 4182860854: (_) => new IFC2X3$1.IfcBoundedSurface(), + 2581212453: (a) => new IFC2X3$1.IfcBoundingBox(a[0], a[1], a[2], a[3]), + 2713105998: (a) => new IFC2X3$1.IfcBoxedHalfSpace(a[0], a[1], a[2]), + 2898889636: (a) => new IFC2X3$1.IfcCShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1123145078: (a) => new IFC2X3$1.IfcCartesianPoint(a[0]), + 59481748: (a) => new IFC2X3$1.IfcCartesianTransformationOperator(a[0], a[1], a[2], a[3]), + 3749851601: (a) => new IFC2X3$1.IfcCartesianTransformationOperator2D(a[0], a[1], a[2], a[3]), + 3486308946: (a) => new IFC2X3$1.IfcCartesianTransformationOperator2DnonUniform(a[0], a[1], a[2], a[3], a[4]), + 3331915920: (a) => new IFC2X3$1.IfcCartesianTransformationOperator3D(a[0], a[1], a[2], a[3], a[4]), + 1416205885: (a) => new IFC2X3$1.IfcCartesianTransformationOperator3DnonUniform(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1383045692: (a) => new IFC2X3$1.IfcCircleProfileDef(a[0], a[1], a[2], a[3]), + 2205249479: (a) => new IFC2X3$1.IfcClosedShell(a[0]), + 2485617015: (a) => new IFC2X3$1.IfcCompositeCurveSegment(a[0], a[1], a[2]), + 4133800736: (a) => new IFC2X3$1.IfcCraneRailAShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]), + 194851669: (a) => new IFC2X3$1.IfcCraneRailFShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 2506170314: (a) => new IFC2X3$1.IfcCsgPrimitive3D(a[0]), + 2147822146: (a) => new IFC2X3$1.IfcCsgSolid(a[0]), + 2601014836: (_) => new IFC2X3$1.IfcCurve(), + 2827736869: (a) => new IFC2X3$1.IfcCurveBoundedPlane(a[0], a[1], a[2]), + 693772133: (a) => new IFC2X3$1.IfcDefinedSymbol(a[0], a[1]), + 606661476: (a) => new IFC2X3$1.IfcDimensionCurve(a[0], a[1], a[2]), + 4054601972: (a) => new IFC2X3$1.IfcDimensionCurveTerminator(a[0], a[1], a[2], a[3], a[4]), + 32440307: (a) => new IFC2X3$1.IfcDirection(a[0]), + 2963535650: (a) => new IFC2X3$1.IfcDoorLiningProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]), + 1714330368: (a) => new IFC2X3$1.IfcDoorPanelProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 526551008: (a) => new IFC2X3$1.IfcDoorStyle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 3073041342: (a) => new IFC2X3$1.IfcDraughtingCallout(a[0]), + 445594917: (a) => new IFC2X3$1.IfcDraughtingPreDefinedColour(a[0]), + 4006246654: (a) => new IFC2X3$1.IfcDraughtingPreDefinedCurveFont(a[0]), + 1472233963: (a) => new IFC2X3$1.IfcEdgeLoop(a[0]), + 1883228015: (a) => new IFC2X3$1.IfcElementQuantity(a[0], a[1], a[2], a[3], a[4], a[5]), + 339256511: (a) => new IFC2X3$1.IfcElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2777663545: (a) => new IFC2X3$1.IfcElementarySurface(a[0]), + 2835456948: (a) => new IFC2X3$1.IfcEllipseProfileDef(a[0], a[1], a[2], a[3], a[4]), + 80994333: (a) => new IFC2X3$1.IfcEnergyProperties(a[0], a[1], a[2], a[3], a[4], a[5]), + 477187591: (a) => new IFC2X3$1.IfcExtrudedAreaSolid(a[0], a[1], a[2], a[3]), + 2047409740: (a) => new IFC2X3$1.IfcFaceBasedSurfaceModel(a[0]), + 374418227: (a) => new IFC2X3$1.IfcFillAreaStyleHatching(a[0], a[1], a[2], a[3], a[4]), + 4203026998: (a) => new IFC2X3$1.IfcFillAreaStyleTileSymbolWithStyle(a[0]), + 315944413: (a) => new IFC2X3$1.IfcFillAreaStyleTiles(a[0], a[1], a[2]), + 3455213021: (a) => new IFC2X3$1.IfcFluidFlowProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18]), + 4238390223: (a) => new IFC2X3$1.IfcFurnishingElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1268542332: (a) => new IFC2X3$1.IfcFurnitureType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 987898635: (a) => new IFC2X3$1.IfcGeometricCurveSet(a[0]), + 1484403080: (a) => new IFC2X3$1.IfcIShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 572779678: (a) => new IFC2X3$1.IfcLShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1281925730: (a) => new IFC2X3$1.IfcLine(a[0], a[1]), + 1425443689: (a) => new IFC2X3$1.IfcManifoldSolidBrep(a[0]), + 3888040117: (a) => new IFC2X3$1.IfcObject(a[0], a[1], a[2], a[3], a[4]), + 3388369263: (a) => new IFC2X3$1.IfcOffsetCurve2D(a[0], a[1], a[2]), + 3505215534: (a) => new IFC2X3$1.IfcOffsetCurve3D(a[0], a[1], a[2], a[3]), + 3566463478: (a) => new IFC2X3$1.IfcPermeableCoveringProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 603570806: (a) => new IFC2X3$1.IfcPlanarBox(a[0], a[1], a[2]), + 220341763: (a) => new IFC2X3$1.IfcPlane(a[0]), + 2945172077: (a) => new IFC2X3$1.IfcProcess(a[0], a[1], a[2], a[3], a[4]), + 4208778838: (a) => new IFC2X3$1.IfcProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 103090709: (a) => new IFC2X3$1.IfcProject(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4194566429: (a) => new IFC2X3$1.IfcProjectionCurve(a[0], a[1], a[2]), + 1451395588: (a) => new IFC2X3$1.IfcPropertySet(a[0], a[1], a[2], a[3], a[4]), + 3219374653: (a) => new IFC2X3$1.IfcProxy(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2770003689: (a) => new IFC2X3$1.IfcRectangleHollowProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2798486643: (a) => new IFC2X3$1.IfcRectangularPyramid(a[0], a[1], a[2], a[3]), + 3454111270: (a) => new IFC2X3$1.IfcRectangularTrimmedSurface(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3939117080: (a) => new IFC2X3$1.IfcRelAssigns(a[0], a[1], a[2], a[3], a[4], a[5]), + 1683148259: (a) => new IFC2X3$1.IfcRelAssignsToActor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2495723537: (a) => new IFC2X3$1.IfcRelAssignsToControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1307041759: (a) => new IFC2X3$1.IfcRelAssignsToGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 4278684876: (a) => new IFC2X3$1.IfcRelAssignsToProcess(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2857406711: (a) => new IFC2X3$1.IfcRelAssignsToProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3372526763: (a) => new IFC2X3$1.IfcRelAssignsToProjectOrder(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 205026976: (a) => new IFC2X3$1.IfcRelAssignsToResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1865459582: (a) => new IFC2X3$1.IfcRelAssociates(a[0], a[1], a[2], a[3], a[4]), + 1327628568: (a) => new IFC2X3$1.IfcRelAssociatesAppliedValue(a[0], a[1], a[2], a[3], a[4], a[5]), + 4095574036: (a) => new IFC2X3$1.IfcRelAssociatesApproval(a[0], a[1], a[2], a[3], a[4], a[5]), + 919958153: (a) => new IFC2X3$1.IfcRelAssociatesClassification(a[0], a[1], a[2], a[3], a[4], a[5]), + 2728634034: (a) => new IFC2X3$1.IfcRelAssociatesConstraint(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 982818633: (a) => new IFC2X3$1.IfcRelAssociatesDocument(a[0], a[1], a[2], a[3], a[4], a[5]), + 3840914261: (a) => new IFC2X3$1.IfcRelAssociatesLibrary(a[0], a[1], a[2], a[3], a[4], a[5]), + 2655215786: (a) => new IFC2X3$1.IfcRelAssociatesMaterial(a[0], a[1], a[2], a[3], a[4], a[5]), + 2851387026: (a) => new IFC2X3$1.IfcRelAssociatesProfileProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 826625072: (a) => new IFC2X3$1.IfcRelConnects(a[0], a[1], a[2], a[3]), + 1204542856: (a) => new IFC2X3$1.IfcRelConnectsElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3945020480: (a) => new IFC2X3$1.IfcRelConnectsPathElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 4201705270: (a) => new IFC2X3$1.IfcRelConnectsPortToElement(a[0], a[1], a[2], a[3], a[4], a[5]), + 3190031847: (a) => new IFC2X3$1.IfcRelConnectsPorts(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2127690289: (a) => new IFC2X3$1.IfcRelConnectsStructuralActivity(a[0], a[1], a[2], a[3], a[4], a[5]), + 3912681535: (a) => new IFC2X3$1.IfcRelConnectsStructuralElement(a[0], a[1], a[2], a[3], a[4], a[5]), + 1638771189: (a) => new IFC2X3$1.IfcRelConnectsStructuralMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 504942748: (a) => new IFC2X3$1.IfcRelConnectsWithEccentricity(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 3678494232: (a) => new IFC2X3$1.IfcRelConnectsWithRealizingElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3242617779: (a) => new IFC2X3$1.IfcRelContainedInSpatialStructure(a[0], a[1], a[2], a[3], a[4], a[5]), + 886880790: (a) => new IFC2X3$1.IfcRelCoversBldgElements(a[0], a[1], a[2], a[3], a[4], a[5]), + 2802773753: (a) => new IFC2X3$1.IfcRelCoversSpaces(a[0], a[1], a[2], a[3], a[4], a[5]), + 2551354335: (a) => new IFC2X3$1.IfcRelDecomposes(a[0], a[1], a[2], a[3], a[4], a[5]), + 693640335: (a) => new IFC2X3$1.IfcRelDefines(a[0], a[1], a[2], a[3], a[4]), + 4186316022: (a) => new IFC2X3$1.IfcRelDefinesByProperties(a[0], a[1], a[2], a[3], a[4], a[5]), + 781010003: (a) => new IFC2X3$1.IfcRelDefinesByType(a[0], a[1], a[2], a[3], a[4], a[5]), + 3940055652: (a) => new IFC2X3$1.IfcRelFillsElement(a[0], a[1], a[2], a[3], a[4], a[5]), + 279856033: (a) => new IFC2X3$1.IfcRelFlowControlElements(a[0], a[1], a[2], a[3], a[4], a[5]), + 4189434867: (a) => new IFC2X3$1.IfcRelInteractionRequirements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3268803585: (a) => new IFC2X3$1.IfcRelNests(a[0], a[1], a[2], a[3], a[4], a[5]), + 2051452291: (a) => new IFC2X3$1.IfcRelOccupiesSpaces(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 202636808: (a) => new IFC2X3$1.IfcRelOverridesProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 750771296: (a) => new IFC2X3$1.IfcRelProjectsElement(a[0], a[1], a[2], a[3], a[4], a[5]), + 1245217292: (a) => new IFC2X3$1.IfcRelReferencedInSpatialStructure(a[0], a[1], a[2], a[3], a[4], a[5]), + 1058617721: (a) => new IFC2X3$1.IfcRelSchedulesCostItems(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 4122056220: (a) => new IFC2X3$1.IfcRelSequence(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 366585022: (a) => new IFC2X3$1.IfcRelServicesBuildings(a[0], a[1], a[2], a[3], a[4], a[5]), + 3451746338: (a) => new IFC2X3$1.IfcRelSpaceBoundary(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1401173127: (a) => new IFC2X3$1.IfcRelVoidsElement(a[0], a[1], a[2], a[3], a[4], a[5]), + 2914609552: (a) => new IFC2X3$1.IfcResource(a[0], a[1], a[2], a[3], a[4]), + 1856042241: (a) => new IFC2X3$1.IfcRevolvedAreaSolid(a[0], a[1], a[2], a[3]), + 4158566097: (a) => new IFC2X3$1.IfcRightCircularCone(a[0], a[1], a[2]), + 3626867408: (a) => new IFC2X3$1.IfcRightCircularCylinder(a[0], a[1], a[2]), + 2706606064: (a) => new IFC2X3$1.IfcSpatialStructureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3893378262: (a) => new IFC2X3$1.IfcSpatialStructureElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 451544542: (a) => new IFC2X3$1.IfcSphere(a[0], a[1]), + 3544373492: (a) => new IFC2X3$1.IfcStructuralActivity(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3136571912: (a) => new IFC2X3$1.IfcStructuralItem(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 530289379: (a) => new IFC2X3$1.IfcStructuralMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3689010777: (a) => new IFC2X3$1.IfcStructuralReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3979015343: (a) => new IFC2X3$1.IfcStructuralSurfaceMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2218152070: (a) => new IFC2X3$1.IfcStructuralSurfaceMemberVarying(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 4070609034: (a) => new IFC2X3$1.IfcStructuredDimensionCallout(a[0]), + 2028607225: (a) => new IFC2X3$1.IfcSurfaceCurveSweptAreaSolid(a[0], a[1], a[2], a[3], a[4], a[5]), + 2809605785: (a) => new IFC2X3$1.IfcSurfaceOfLinearExtrusion(a[0], a[1], a[2], a[3]), + 4124788165: (a) => new IFC2X3$1.IfcSurfaceOfRevolution(a[0], a[1], a[2]), + 1580310250: (a) => new IFC2X3$1.IfcSystemFurnitureElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3473067441: (a) => new IFC2X3$1.IfcTask(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2097647324: (a) => new IFC2X3$1.IfcTransportElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2296667514: (a) => new IFC2X3$1.IfcActor(a[0], a[1], a[2], a[3], a[4], a[5]), + 1674181508: (a) => new IFC2X3$1.IfcAnnotation(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3207858831: (a) => new IFC2X3$1.IfcAsymmetricIShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1334484129: (a) => new IFC2X3$1.IfcBlock(a[0], a[1], a[2], a[3]), + 3649129432: (a) => new IFC2X3$1.IfcBooleanClippingResult(a[0], a[1], a[2]), + 1260505505: (_) => new IFC2X3$1.IfcBoundedCurve(), + 4031249490: (a) => new IFC2X3$1.IfcBuilding(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1950629157: (a) => new IFC2X3$1.IfcBuildingElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3124254112: (a) => new IFC2X3$1.IfcBuildingStorey(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2937912522: (a) => new IFC2X3$1.IfcCircleHollowProfileDef(a[0], a[1], a[2], a[3], a[4]), + 300633059: (a) => new IFC2X3$1.IfcColumnType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3732776249: (a) => new IFC2X3$1.IfcCompositeCurve(a[0], a[1]), + 2510884976: (a) => new IFC2X3$1.IfcConic(a[0]), + 2559216714: (a) => new IFC2X3$1.IfcConstructionResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3293443760: (a) => new IFC2X3$1.IfcControl(a[0], a[1], a[2], a[3], a[4]), + 3895139033: (a) => new IFC2X3$1.IfcCostItem(a[0], a[1], a[2], a[3], a[4]), + 1419761937: (a) => new IFC2X3$1.IfcCostSchedule(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 1916426348: (a) => new IFC2X3$1.IfcCoveringType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3295246426: (a) => new IFC2X3$1.IfcCrewResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1457835157: (a) => new IFC2X3$1.IfcCurtainWallType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 681481545: (a) => new IFC2X3$1.IfcDimensionCurveDirectedCallout(a[0]), + 3256556792: (a) => new IFC2X3$1.IfcDistributionElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3849074793: (a) => new IFC2X3$1.IfcDistributionFlowElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 360485395: (a) => new IFC2X3$1.IfcElectricalBaseProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]), + 1758889154: (a) => new IFC2X3$1.IfcElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 4123344466: (a) => new IFC2X3$1.IfcElementAssembly(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1623761950: (a) => new IFC2X3$1.IfcElementComponent(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2590856083: (a) => new IFC2X3$1.IfcElementComponentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1704287377: (a) => new IFC2X3$1.IfcEllipse(a[0], a[1], a[2]), + 2107101300: (a) => new IFC2X3$1.IfcEnergyConversionDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1962604670: (a) => new IFC2X3$1.IfcEquipmentElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3272907226: (a) => new IFC2X3$1.IfcEquipmentStandard(a[0], a[1], a[2], a[3], a[4]), + 3174744832: (a) => new IFC2X3$1.IfcEvaporativeCoolerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3390157468: (a) => new IFC2X3$1.IfcEvaporatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 807026263: (a) => new IFC2X3$1.IfcFacetedBrep(a[0]), + 3737207727: (a) => new IFC2X3$1.IfcFacetedBrepWithVoids(a[0], a[1]), + 647756555: (a) => new IFC2X3$1.IfcFastener(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2489546625: (a) => new IFC2X3$1.IfcFastenerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2827207264: (a) => new IFC2X3$1.IfcFeatureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2143335405: (a) => new IFC2X3$1.IfcFeatureElementAddition(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1287392070: (a) => new IFC2X3$1.IfcFeatureElementSubtraction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3907093117: (a) => new IFC2X3$1.IfcFlowControllerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3198132628: (a) => new IFC2X3$1.IfcFlowFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3815607619: (a) => new IFC2X3$1.IfcFlowMeterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1482959167: (a) => new IFC2X3$1.IfcFlowMovingDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1834744321: (a) => new IFC2X3$1.IfcFlowSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1339347760: (a) => new IFC2X3$1.IfcFlowStorageDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2297155007: (a) => new IFC2X3$1.IfcFlowTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3009222698: (a) => new IFC2X3$1.IfcFlowTreatmentDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 263784265: (a) => new IFC2X3$1.IfcFurnishingElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 814719939: (a) => new IFC2X3$1.IfcFurnitureStandard(a[0], a[1], a[2], a[3], a[4]), + 200128114: (a) => new IFC2X3$1.IfcGasTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3009204131: (a) => new IFC2X3$1.IfcGrid(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2706460486: (a) => new IFC2X3$1.IfcGroup(a[0], a[1], a[2], a[3], a[4]), + 1251058090: (a) => new IFC2X3$1.IfcHeatExchangerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1806887404: (a) => new IFC2X3$1.IfcHumidifierType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2391368822: (a) => new IFC2X3$1.IfcInventory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 4288270099: (a) => new IFC2X3$1.IfcJunctionBoxType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3827777499: (a) => new IFC2X3$1.IfcLaborResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1051575348: (a) => new IFC2X3$1.IfcLampType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1161773419: (a) => new IFC2X3$1.IfcLightFixtureType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2506943328: (a) => new IFC2X3$1.IfcLinearDimension(a[0]), + 377706215: (a) => new IFC2X3$1.IfcMechanicalFastener(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2108223431: (a) => new IFC2X3$1.IfcMechanicalFastenerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3181161470: (a) => new IFC2X3$1.IfcMemberType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 977012517: (a) => new IFC2X3$1.IfcMotorConnectionType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1916936684: (a) => new IFC2X3$1.IfcMove(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 4143007308: (a) => new IFC2X3$1.IfcOccupant(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3588315303: (a) => new IFC2X3$1.IfcOpeningElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3425660407: (a) => new IFC2X3$1.IfcOrderAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 2837617999: (a) => new IFC2X3$1.IfcOutletType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2382730787: (a) => new IFC2X3$1.IfcPerformanceHistory(a[0], a[1], a[2], a[3], a[4], a[5]), + 3327091369: (a) => new IFC2X3$1.IfcPermit(a[0], a[1], a[2], a[3], a[4], a[5]), + 804291784: (a) => new IFC2X3$1.IfcPipeFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4231323485: (a) => new IFC2X3$1.IfcPipeSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4017108033: (a) => new IFC2X3$1.IfcPlateType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3724593414: (a) => new IFC2X3$1.IfcPolyline(a[0]), + 3740093272: (a) => new IFC2X3$1.IfcPort(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2744685151: (a) => new IFC2X3$1.IfcProcedure(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2904328755: (a) => new IFC2X3$1.IfcProjectOrder(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3642467123: (a) => new IFC2X3$1.IfcProjectOrderRecord(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3651124850: (a) => new IFC2X3$1.IfcProjectionElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1842657554: (a) => new IFC2X3$1.IfcProtectiveDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2250791053: (a) => new IFC2X3$1.IfcPumpType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3248260540: (a) => new IFC2X3$1.IfcRadiusDimension(a[0]), + 2893384427: (a) => new IFC2X3$1.IfcRailingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2324767716: (a) => new IFC2X3$1.IfcRampFlightType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 160246688: (a) => new IFC2X3$1.IfcRelAggregates(a[0], a[1], a[2], a[3], a[4], a[5]), + 2863920197: (a) => new IFC2X3$1.IfcRelAssignsTasks(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1768891740: (a) => new IFC2X3$1.IfcSanitaryTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3517283431: (a) => new IFC2X3$1.IfcScheduleTimeControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19], a[20], a[21], a[22]), + 4105383287: (a) => new IFC2X3$1.IfcServiceLife(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 4097777520: (a) => new IFC2X3$1.IfcSite(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]), + 2533589738: (a) => new IFC2X3$1.IfcSlabType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3856911033: (a) => new IFC2X3$1.IfcSpace(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1305183839: (a) => new IFC2X3$1.IfcSpaceHeaterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 652456506: (a) => new IFC2X3$1.IfcSpaceProgram(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3812236995: (a) => new IFC2X3$1.IfcSpaceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3112655638: (a) => new IFC2X3$1.IfcStackTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1039846685: (a) => new IFC2X3$1.IfcStairFlightType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 682877961: (a) => new IFC2X3$1.IfcStructuralAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1179482911: (a) => new IFC2X3$1.IfcStructuralConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 4243806635: (a) => new IFC2X3$1.IfcStructuralCurveConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 214636428: (a) => new IFC2X3$1.IfcStructuralCurveMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2445595289: (a) => new IFC2X3$1.IfcStructuralCurveMemberVarying(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1807405624: (a) => new IFC2X3$1.IfcStructuralLinearAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1721250024: (a) => new IFC2X3$1.IfcStructuralLinearActionVarying(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]), + 1252848954: (a) => new IFC2X3$1.IfcStructuralLoadGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1621171031: (a) => new IFC2X3$1.IfcStructuralPlanarAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 3987759626: (a) => new IFC2X3$1.IfcStructuralPlanarActionVarying(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]), + 2082059205: (a) => new IFC2X3$1.IfcStructuralPointAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 734778138: (a) => new IFC2X3$1.IfcStructuralPointConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1235345126: (a) => new IFC2X3$1.IfcStructuralPointReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2986769608: (a) => new IFC2X3$1.IfcStructuralResultGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1975003073: (a) => new IFC2X3$1.IfcStructuralSurfaceConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 148013059: (a) => new IFC2X3$1.IfcSubContractResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 2315554128: (a) => new IFC2X3$1.IfcSwitchingDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2254336722: (a) => new IFC2X3$1.IfcSystem(a[0], a[1], a[2], a[3], a[4]), + 5716631: (a) => new IFC2X3$1.IfcTankType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1637806684: (a) => new IFC2X3$1.IfcTimeSeriesSchedule(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1692211062: (a) => new IFC2X3$1.IfcTransformerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1620046519: (a) => new IFC2X3$1.IfcTransportElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 3593883385: (a) => new IFC2X3$1.IfcTrimmedCurve(a[0], a[1], a[2], a[3], a[4]), + 1600972822: (a) => new IFC2X3$1.IfcTubeBundleType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1911125066: (a) => new IFC2X3$1.IfcUnitaryEquipmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 728799441: (a) => new IFC2X3$1.IfcValveType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2769231204: (a) => new IFC2X3$1.IfcVirtualElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1898987631: (a) => new IFC2X3$1.IfcWallType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1133259667: (a) => new IFC2X3$1.IfcWasteTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1028945134: (a) => new IFC2X3$1.IfcWorkControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]), + 4218914973: (a) => new IFC2X3$1.IfcWorkPlan(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]), + 3342526732: (a) => new IFC2X3$1.IfcWorkSchedule(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]), + 1033361043: (a) => new IFC2X3$1.IfcZone(a[0], a[1], a[2], a[3], a[4]), + 1213861670: (a) => new IFC2X3$1.Ifc2DCompositeCurve(a[0], a[1]), + 3821786052: (a) => new IFC2X3$1.IfcActionRequest(a[0], a[1], a[2], a[3], a[4], a[5]), + 1411407467: (a) => new IFC2X3$1.IfcAirTerminalBoxType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3352864051: (a) => new IFC2X3$1.IfcAirTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1871374353: (a) => new IFC2X3$1.IfcAirToAirHeatRecoveryType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2470393545: (a) => new IFC2X3$1.IfcAngularDimension(a[0]), + 3460190687: (a) => new IFC2X3$1.IfcAsset(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]), + 1967976161: (a) => new IFC2X3$1.IfcBSplineCurve(a[0], a[1], a[2], a[3], a[4]), + 819618141: (a) => new IFC2X3$1.IfcBeamType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1916977116: (a) => new IFC2X3$1.IfcBezierCurve(a[0], a[1], a[2], a[3], a[4]), + 231477066: (a) => new IFC2X3$1.IfcBoilerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3299480353: (a) => new IFC2X3$1.IfcBuildingElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 52481810: (a) => new IFC2X3$1.IfcBuildingElementComponent(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2979338954: (a) => new IFC2X3$1.IfcBuildingElementPart(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1095909175: (a) => new IFC2X3$1.IfcBuildingElementProxy(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1909888760: (a) => new IFC2X3$1.IfcBuildingElementProxyType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 395041908: (a) => new IFC2X3$1.IfcCableCarrierFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3293546465: (a) => new IFC2X3$1.IfcCableCarrierSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1285652485: (a) => new IFC2X3$1.IfcCableSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2951183804: (a) => new IFC2X3$1.IfcChillerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2611217952: (a) => new IFC2X3$1.IfcCircle(a[0], a[1]), + 2301859152: (a) => new IFC2X3$1.IfcCoilType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 843113511: (a) => new IFC2X3$1.IfcColumn(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3850581409: (a) => new IFC2X3$1.IfcCompressorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2816379211: (a) => new IFC2X3$1.IfcCondenserType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2188551683: (a) => new IFC2X3$1.IfcCondition(a[0], a[1], a[2], a[3], a[4]), + 1163958913: (a) => new IFC2X3$1.IfcConditionCriterion(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3898045240: (a) => new IFC2X3$1.IfcConstructionEquipmentResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1060000209: (a) => new IFC2X3$1.IfcConstructionMaterialResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 488727124: (a) => new IFC2X3$1.IfcConstructionProductResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 335055490: (a) => new IFC2X3$1.IfcCooledBeamType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2954562838: (a) => new IFC2X3$1.IfcCoolingTowerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1973544240: (a) => new IFC2X3$1.IfcCovering(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3495092785: (a) => new IFC2X3$1.IfcCurtainWall(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3961806047: (a) => new IFC2X3$1.IfcDamperType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4147604152: (a) => new IFC2X3$1.IfcDiameterDimension(a[0]), + 1335981549: (a) => new IFC2X3$1.IfcDiscreteAccessory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2635815018: (a) => new IFC2X3$1.IfcDiscreteAccessoryType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1599208980: (a) => new IFC2X3$1.IfcDistributionChamberElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2063403501: (a) => new IFC2X3$1.IfcDistributionControlElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1945004755: (a) => new IFC2X3$1.IfcDistributionElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3040386961: (a) => new IFC2X3$1.IfcDistributionFlowElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3041715199: (a) => new IFC2X3$1.IfcDistributionPort(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 395920057: (a) => new IFC2X3$1.IfcDoor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 869906466: (a) => new IFC2X3$1.IfcDuctFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3760055223: (a) => new IFC2X3$1.IfcDuctSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2030761528: (a) => new IFC2X3$1.IfcDuctSilencerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 855621170: (a) => new IFC2X3$1.IfcEdgeFeature(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 663422040: (a) => new IFC2X3$1.IfcElectricApplianceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3277789161: (a) => new IFC2X3$1.IfcElectricFlowStorageDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1534661035: (a) => new IFC2X3$1.IfcElectricGeneratorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1365060375: (a) => new IFC2X3$1.IfcElectricHeaterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1217240411: (a) => new IFC2X3$1.IfcElectricMotorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 712377611: (a) => new IFC2X3$1.IfcElectricTimeControlType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1634875225: (a) => new IFC2X3$1.IfcElectricalCircuit(a[0], a[1], a[2], a[3], a[4]), + 857184966: (a) => new IFC2X3$1.IfcElectricalElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1658829314: (a) => new IFC2X3$1.IfcEnergyConversionDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 346874300: (a) => new IFC2X3$1.IfcFanType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1810631287: (a) => new IFC2X3$1.IfcFilterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4222183408: (a) => new IFC2X3$1.IfcFireSuppressionTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2058353004: (a) => new IFC2X3$1.IfcFlowController(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 4278956645: (a) => new IFC2X3$1.IfcFlowFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 4037862832: (a) => new IFC2X3$1.IfcFlowInstrumentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3132237377: (a) => new IFC2X3$1.IfcFlowMovingDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 987401354: (a) => new IFC2X3$1.IfcFlowSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 707683696: (a) => new IFC2X3$1.IfcFlowStorageDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2223149337: (a) => new IFC2X3$1.IfcFlowTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3508470533: (a) => new IFC2X3$1.IfcFlowTreatmentDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 900683007: (a) => new IFC2X3$1.IfcFooting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1073191201: (a) => new IFC2X3$1.IfcMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1687234759: (a) => new IFC2X3$1.IfcPile(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3171933400: (a) => new IFC2X3$1.IfcPlate(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2262370178: (a) => new IFC2X3$1.IfcRailing(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3024970846: (a) => new IFC2X3$1.IfcRamp(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3283111854: (a) => new IFC2X3$1.IfcRampFlight(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3055160366: (a) => new IFC2X3$1.IfcRationalBezierCurve(a[0], a[1], a[2], a[3], a[4], a[5]), + 3027567501: (a) => new IFC2X3$1.IfcReinforcingElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2320036040: (a) => new IFC2X3$1.IfcReinforcingMesh(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]), + 2016517767: (a) => new IFC2X3$1.IfcRoof(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1376911519: (a) => new IFC2X3$1.IfcRoundedEdgeFeature(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1783015770: (a) => new IFC2X3$1.IfcSensorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1529196076: (a) => new IFC2X3$1.IfcSlab(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 331165859: (a) => new IFC2X3$1.IfcStair(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4252922144: (a) => new IFC2X3$1.IfcStairFlight(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 2515109513: (a) => new IFC2X3$1.IfcStructuralAnalysisModel(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3824725483: (a) => new IFC2X3$1.IfcTendon(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]), + 2347447852: (a) => new IFC2X3$1.IfcTendonAnchor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3313531582: (a) => new IFC2X3$1.IfcVibrationIsolatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2391406946: (a) => new IFC2X3$1.IfcWall(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3512223829: (a) => new IFC2X3$1.IfcWallStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3304561284: (a) => new IFC2X3$1.IfcWindow(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2874132201: (a) => new IFC2X3$1.IfcActuatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3001207471: (a) => new IFC2X3$1.IfcAlarmType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 753842376: (a) => new IFC2X3$1.IfcBeam(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2454782716: (a) => new IFC2X3$1.IfcChamferEdgeFeature(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 578613899: (a) => new IFC2X3$1.IfcControllerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1052013943: (a) => new IFC2X3$1.IfcDistributionChamberElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1062813311: (a) => new IFC2X3$1.IfcDistributionControlElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3700593921: (a) => new IFC2X3$1.IfcElectricDistributionPoint(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 979691226: (a) => new IFC2X3$1.IfcReinforcingBar(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]) +}; +ToRawLineData[3] = { + 3630933823: (i) => [i.Role, i.UserDefinedRole, i.Description], + 618182010: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose], + 639542469: (i) => [i.ApplicationDeveloper, i.Version, i.ApplicationFullName, i.ApplicationIdentifier], + 411424972: (i) => [i.Name, i.Description, i.AppliedValue, i.UnitBasis, i.ApplicableDate, i.FixedUntilDate], + 1110488051: (i) => [i.ComponentOfTotal, i.Components, i.ArithmeticOperator, i.Name, i.Description], + 130549933: (i) => [i.Description, i.ApprovalDateTime, i.ApprovalStatus, i.ApprovalLevel, i.ApprovalQualifier, i.Name, i.Identifier], + 2080292479: (i) => [i.Actor, i.Approval, i.Role], + 390851274: (i) => [i.ApprovedProperties, i.Approval], + 3869604511: (i) => [i.RelatedApproval, i.RelatingApproval, i.Description, i.Name], + 4037036970: (i) => [i.Name], + 1560379544: (i) => [i.Name, i.LinearStiffnessByLengthX, i.LinearStiffnessByLengthY, i.LinearStiffnessByLengthZ, i.RotationalStiffnessByLengthX, i.RotationalStiffnessByLengthY, i.RotationalStiffnessByLengthZ], + 3367102660: (i) => [i.Name, i.LinearStiffnessByAreaX, i.LinearStiffnessByAreaY, i.LinearStiffnessByAreaZ], + 1387855156: (i) => [i.Name, i.LinearStiffnessX, i.LinearStiffnessY, i.LinearStiffnessZ, i.RotationalStiffnessX, i.RotationalStiffnessY, i.RotationalStiffnessZ], + 2069777674: (i) => [i.Name, i.LinearStiffnessX, i.LinearStiffnessY, i.LinearStiffnessZ, i.RotationalStiffnessX, i.RotationalStiffnessY, i.RotationalStiffnessZ, i.WarpingStiffness], + 622194075: (i) => [i.DayComponent, i.MonthComponent, i.YearComponent], + 747523909: (i) => [i.Source, i.Edition, i.EditionDate, i.Name], + 1767535486: (i) => [i.Notation, i.ItemOf, i.Title], + 1098599126: (i) => [i.RelatingItem, i.RelatedItems], + 938368621: (i) => [i.NotationFacets], + 3639012971: (i) => [i.NotationValue], + 3264961684: (i) => [i.Name], + 2859738748: (_) => [], + 2614616156: (i) => [i.PointOnRelatingElement, i.PointOnRelatedElement], + 4257277454: (i) => [i.LocationAtRelatingElement, i.LocationAtRelatedElement, i.ProfileOfPort], + 2732653382: (i) => [i.SurfaceOnRelatingElement, i.SurfaceOnRelatedElement], + 1959218052: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, i.CreatingActor, i.CreationTime, i.UserDefinedGrade], + 1658513725: (i) => [i.Name, i.Description, i.RelatingConstraint, i.RelatedConstraints, i.LogicalAggregator], + 613356794: (i) => [i.ClassifiedConstraint, i.RelatedClassifications], + 347226245: (i) => [i.Name, i.Description, i.RelatingConstraint, i.RelatedConstraints], + 1065062679: (i) => [i.HourOffset, i.MinuteOffset, i.Sense], + 602808272: (i) => [i.Name, i.Description, i.AppliedValue, i.UnitBasis, i.ApplicableDate, i.FixedUntilDate, i.CostType, i.Condition], + 539742890: (i) => [i.RelatingMonetaryUnit, i.RelatedMonetaryUnit, i.ExchangeRate, i.RateDateTime, i.RateSource], + 1105321065: (i) => [i.Name, i.PatternList], + 2367409068: (i) => [i.Name, i.CurveFont, i.CurveFontScaling], + 3510044353: (i) => [i.VisibleSegmentLength, i.InvisibleSegmentLength], + 1072939445: (i) => [i.DateComponent, i.TimeComponent], + 1765591967: (i) => [i.Elements, i.UnitType, i.UserDefinedType], + 1045800335: (i) => [i.Unit, i.Exponent], + 2949456006: (i) => [i.LengthExponent, i.MassExponent, i.TimeExponent, i.ElectricCurrentExponent, i.ThermodynamicTemperatureExponent, i.AmountOfSubstanceExponent, i.LuminousIntensityExponent], + 1376555844: (i) => [i.FileExtension, i.MimeContentType, i.MimeSubtype], + 1154170062: (i) => [i.DocumentId, i.Name, i.Description, i.DocumentReferences, i.Purpose, i.IntendedUse, i.Scope, i.Revision, i.DocumentOwner, i.Editors, i.CreationTime, i.LastRevisionTime, i.ElectronicFormat, i.ValidFrom, i.ValidUntil, i.Confidentiality, i.Status], + 770865208: (i) => [i.RelatingDocument, i.RelatedDocuments, i.RelationshipType], + 3796139169: (i) => [i.Name, i.Description, i.RelatingDraughtingCallout, i.RelatedDraughtingCallout], + 1648886627: (i) => [i.Name, i.Description, i.AppliedValue, i.UnitBasis, i.ApplicableDate, i.FixedUntilDate, i.ImpactType, i.Category, i.UserDefinedCategory], + 3200245327: (i) => [i.Location, i.ItemReference, i.Name], + 2242383968: (i) => [i.Location, i.ItemReference, i.Name], + 1040185647: (i) => [i.Location, i.ItemReference, i.Name], + 3207319532: (i) => [i.Location, i.ItemReference, i.Name], + 3548104201: (i) => [i.Location, i.ItemReference, i.Name], + 852622518: (i) => { + var _a; + return [i.AxisTag, i.AxisCurve, (_a = i.SameSense) == null ? void 0 : _a.toString()]; + }, + 3020489413: (i) => [i.TimeStamp, i.ListValues.map((p) => Labelise(p))], + 2655187982: (i) => [i.Name, i.Version, i.Publisher, i.VersionDate, i.LibraryReference], + 3452421091: (i) => [i.Location, i.ItemReference, i.Name], + 4162380809: (i) => [i.MainPlaneAngle, i.SecondaryPlaneAngle, i.LuminousIntensity], + 1566485204: (i) => [i.LightDistributionCurve, i.DistributionData], + 30780891: (i) => [i.HourComponent, i.MinuteComponent, i.SecondComponent, i.Zone, i.DaylightSavingOffset], + 1838606355: (i) => [i.Name], + 1847130766: (i) => [i.MaterialClassifications, i.ClassifiedMaterial], + 248100487: (i) => { + var _a; + return [i.Material, i.LayerThickness, (_a = i.IsVentilated) == null ? void 0 : _a.toString()]; + }, + 3303938423: (i) => [i.MaterialLayers, i.LayerSetName], + 1303795690: (i) => [i.ForLayerSet, i.LayerSetDirection, i.DirectionSense, i.OffsetFromReferenceLine], + 2199411900: (i) => [i.Materials], + 3265635763: (i) => [i.Material], + 2597039031: (i) => [Labelise(i.ValueComponent), i.UnitComponent], + 4256014907: (i) => [i.Material, i.DynamicViscosity, i.YoungModulus, i.ShearModulus, i.PoissonRatio, i.ThermalExpansionCoefficient], + 677618848: (i) => [i.Material, i.DynamicViscosity, i.YoungModulus, i.ShearModulus, i.PoissonRatio, i.ThermalExpansionCoefficient, i.YieldStress, i.UltimateStress, i.UltimateStrain, i.HardeningModule, i.ProportionalStress, i.PlasticStrain, i.Relaxations], + 3368373690: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, i.CreatingActor, i.CreationTime, i.UserDefinedGrade, i.Benchmark, i.ValueSource, i.DataValue], + 2706619895: (i) => [i.Currency], + 1918398963: (i) => [i.Dimensions, i.UnitType], + 3701648758: (_) => [], + 2251480897: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, i.CreatingActor, i.CreationTime, i.UserDefinedGrade, i.BenchmarkValues, i.ResultValues, i.ObjectiveQualifier, i.UserDefinedQualifier], + 1227763645: (i) => [i.Material, i.VisibleTransmittance, i.SolarTransmittance, i.ThermalIrTransmittance, i.ThermalIrEmissivityBack, i.ThermalIrEmissivityFront, i.VisibleReflectanceBack, i.VisibleReflectanceFront, i.SolarReflectanceFront, i.SolarReflectanceBack], + 4251960020: (i) => [i.Id, i.Name, i.Description, i.Roles, i.Addresses], + 1411181986: (i) => [i.Name, i.Description, i.RelatingOrganization, i.RelatedOrganizations], + 1207048766: (i) => [i.OwningUser, i.OwningApplication, i.State, i.ChangeAction, i.LastModifiedDate, i.LastModifyingUser, i.LastModifyingApplication, i.CreationDate], + 2077209135: (i) => [i.Id, i.FamilyName, i.GivenName, i.MiddleNames, i.PrefixTitles, i.SuffixTitles, i.Roles, i.Addresses], + 101040310: (i) => [i.ThePerson, i.TheOrganization, i.Roles], + 2483315170: (i) => [i.Name, i.Description], + 2226359599: (i) => [i.Name, i.Description, i.Unit], + 3355820592: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose, i.InternalLocation, i.AddressLines, i.PostalBox, i.Town, i.Region, i.PostalCode, i.Country], + 3727388367: (i) => [i.Name], + 990879717: (i) => [i.Name], + 3213052703: (i) => [i.Name], + 1775413392: (i) => [i.Name], + 2022622350: (i) => [i.Name, i.Description, i.AssignedItems, i.Identifier], + 1304840413: (i) => [i.Name, i.Description, i.AssignedItems, i.Identifier, i.LayerOn, i.LayerFrozen, i.LayerBlocked, i.LayerStyles], + 3119450353: (i) => [i.Name], + 2417041796: (i) => [i.Styles], + 2095639259: (i) => [i.Name, i.Description, i.Representations], + 2267347899: (i) => [i.Material, i.SpecificHeatCapacity, i.N20Content, i.COContent, i.CO2Content], + 3958567839: (i) => [i.ProfileType, i.ProfileName], + 2802850158: (i) => [i.ProfileName, i.ProfileDefinition], + 2598011224: (i) => [i.Name, i.Description], + 3896028662: (i) => [i.RelatingConstraint, i.RelatedProperties, i.Name, i.Description], + 148025276: (i) => [i.DependingProperty, i.DependantProperty, i.Name, i.Description, i.Expression], + 3710013099: (i) => [i.Name, i.EnumerationValues.map((p) => Labelise(p)), i.Unit], + 2044713172: (i) => [i.Name, i.Description, i.Unit, i.AreaValue], + 2093928680: (i) => [i.Name, i.Description, i.Unit, i.CountValue], + 931644368: (i) => [i.Name, i.Description, i.Unit, i.LengthValue], + 3252649465: (i) => [i.Name, i.Description, i.Unit, i.TimeValue], + 2405470396: (i) => [i.Name, i.Description, i.Unit, i.VolumeValue], + 825690147: (i) => [i.Name, i.Description, i.Unit, i.WeightValue], + 2692823254: (i) => [i.ReferencedDocument, i.ReferencingValues, i.Name, i.Description], + 1580146022: (i) => [i.TotalCrossSectionArea, i.SteelGrade, i.BarSurface, i.EffectiveDepth, i.NominalBarDiameter, i.BarCount], + 1222501353: (i) => [i.RelaxationValue, i.InitialStress], + 1076942058: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 3377609919: (i) => [i.ContextIdentifier, i.ContextType], + 3008791417: (_) => [], + 1660063152: (i) => [i.MappingOrigin, i.MappedRepresentation], + 3679540991: (i) => [i.ProfileName, i.ProfileDefinition, i.Thickness, i.RibHeight, i.RibWidth, i.RibSpacing, i.Direction], + 2341007311: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 448429030: (i) => [i.Dimensions, i.UnitType, i.Prefix, i.Name], + 2042790032: (i) => [i.SectionType, i.StartProfile, i.EndProfile], + 4165799628: (i) => [i.LongitudinalStartPosition, i.LongitudinalEndPosition, i.TransversePosition, i.ReinforcementRole, i.SectionDefinition, i.CrossSectionReinforcementDefinitions], + 867548509: (i) => [i.ShapeRepresentations, i.Name, i.Description, i.ProductDefinitional, i.PartOfProductDefinitionShape], + 3982875396: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 4240577450: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 3692461612: (i) => [i.Name, i.Description], + 2273995522: (i) => [i.Name], + 2162789131: (i) => [i.Name], + 2525727697: (i) => [i.Name], + 3408363356: (i) => [i.Name, i.DeltaT_Constant, i.DeltaT_Y, i.DeltaT_Z], + 2830218821: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 3958052878: (i) => [i.Item, i.Styles, i.Name], + 3049322572: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 1300840506: (i) => [i.Name, i.Side, i.Styles], + 3303107099: (i) => [i.DiffuseTransmissionColour, i.DiffuseReflectionColour, i.TransmissionColour, i.ReflectanceColour], + 1607154358: (i) => [i.RefractionIndex, i.DispersionFactor], + 846575682: (i) => [i.SurfaceColour], + 1351298697: (i) => [i.Textures], + 626085974: (i) => [i.RepeatS, i.RepeatT, i.TextureType, i.TextureTransform], + 1290481447: (i) => [i.Name, Labelise(i.StyleOfSymbol)], + 985171141: (i) => [i.Name, i.Rows], + 531007025: (i) => [i.RowCells.map((p) => Labelise(p)), i.IsHeading], + 912023232: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose, i.TelephoneNumbers, i.FacsimileNumbers, i.PagerNumber, i.ElectronicMailAddresses, i.WWWHomePageURL], + 1447204868: (i) => [i.Name, i.TextCharacterAppearance, i.TextStyle, i.TextFontStyle], + 1983826977: (i) => [i.Name, i.FontFamily, i.FontStyle, i.FontVariant, i.FontWeight, Labelise(i.FontSize)], + 2636378356: (i) => [i.Colour, i.BackgroundColour], + 1640371178: (i) => [!i.TextIndent ? null : Labelise(i.TextIndent), i.TextAlign, i.TextDecoration, !i.LetterSpacing ? null : Labelise(i.LetterSpacing), !i.WordSpacing ? null : Labelise(i.WordSpacing), i.TextTransform, !i.LineHeight ? null : Labelise(i.LineHeight)], + 1484833681: (i) => [i.BoxHeight, i.BoxWidth, i.BoxSlantAngle, i.BoxRotateAngle, !i.CharacterSpacing ? null : Labelise(i.CharacterSpacing)], + 280115917: (_) => [], + 1742049831: (i) => [i.Mode, i.Parameter.map((p) => Labelise(p))], + 2552916305: (i) => [i.TextureMaps], + 1210645708: (i) => [i.Coordinates], + 3317419933: (i) => [i.Material, i.SpecificHeatCapacity, i.BoilingPoint, i.FreezingPoint, i.ThermalConductivity], + 3101149627: (i) => [i.Name, i.Description, i.StartTime, i.EndTime, i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, i.Unit], + 1718945513: (i) => [i.ReferencedTimeSeries, i.TimeSeriesReferences], + 581633288: (i) => [i.ListValues.map((p) => Labelise(p))], + 1377556343: (_) => [], + 1735638870: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 180925521: (i) => [i.Units], + 2799835756: (_) => [], + 3304826586: (i) => [i.TextureVertices, i.TexturePoints], + 1907098498: (i) => [i.VertexGeometry], + 891718957: (i) => [i.IntersectingAxes, i.OffsetDistances], + 1065908215: (i) => [i.Material, i.IsPotable, i.Hardness, i.AlkalinityConcentration, i.AcidityConcentration, i.ImpuritiesContent, i.PHLevel, i.DissolvedSolidsContent], + 2442683028: (i) => [i.Item, i.Styles, i.Name], + 962685235: (i) => [i.Item, i.Styles, i.Name], + 3612888222: (i) => [i.Item, i.Styles, i.Name], + 2297822566: (i) => [i.Item, i.Styles, i.Name], + 3798115385: (i) => [i.ProfileType, i.ProfileName, i.OuterCurve], + 1310608509: (i) => [i.ProfileType, i.ProfileName, i.Curve], + 2705031697: (i) => [i.ProfileType, i.ProfileName, i.OuterCurve, i.InnerCurves], + 616511568: (i) => [i.RepeatS, i.RepeatT, i.TextureType, i.TextureTransform, i.RasterFormat, i.RasterCode], + 3150382593: (i) => [i.ProfileType, i.ProfileName, i.Curve, i.Thickness], + 647927063: (i) => [i.Location, i.ItemReference, i.Name, i.ReferencedSource], + 776857604: (i) => [i.Name, i.Red, i.Green, i.Blue], + 2542286263: (i) => [i.Name, i.Description, i.UsageName, i.HasProperties], + 1485152156: (i) => [i.ProfileType, i.ProfileName, i.Profiles, i.Label], + 370225590: (i) => [i.CfsFaces], + 1981873012: (i) => [i.CurveOnRelatingElement, i.CurveOnRelatedElement], + 45288368: (i) => [i.PointOnRelatingElement, i.PointOnRelatedElement, i.EccentricityInX, i.EccentricityInY, i.EccentricityInZ], + 3050246964: (i) => [i.Dimensions, i.UnitType, i.Name], + 2889183280: (i) => [i.Dimensions, i.UnitType, i.Name, i.ConversionFactor], + 3800577675: (i) => [i.Name, i.CurveFont, !i.CurveWidth ? null : Labelise(i.CurveWidth), i.CurveColour], + 3632507154: (i) => [i.ProfileType, i.ProfileName, i.ParentProfile, i.Operator, i.Label], + 2273265877: (i) => [i.Name, i.Description, i.RelatingDraughtingCallout, i.RelatedDraughtingCallout], + 1694125774: (i) => [i.Name, i.Description, i.RelatingDraughtingCallout, i.RelatedDraughtingCallout], + 3732053477: (i) => [i.Location, i.ItemReference, i.Name], + 4170525392: (i) => [i.Name], + 3900360178: (i) => [i.EdgeStart, i.EdgeEnd], + 476780140: (i) => [i.EdgeStart, i.EdgeEnd, i.EdgeGeometry, i.SameSense], + 1860660968: (i) => [i.Material, i.ExtendedProperties, i.Description, i.Name], + 2556980723: (i) => [i.Bounds], + 1809719519: (i) => [i.Bound, i.Orientation], + 803316827: (i) => [i.Bound, i.Orientation], + 3008276851: (i) => [i.Bounds, i.FaceSurface, i.SameSense], + 4219587988: (i) => [i.Name, i.TensionFailureX, i.TensionFailureY, i.TensionFailureZ, i.CompressionFailureX, i.CompressionFailureY, i.CompressionFailureZ], + 738692330: (i) => [i.Name, i.FillStyles], + 3857492461: (i) => [i.Material, i.CombustionTemperature, i.CarbonContent, i.LowerHeatingValue, i.HigherHeatingValue], + 803998398: (i) => [i.Material, i.MolecularWeight, i.Porosity, i.MassDensity], + 1446786286: (i) => [i.ProfileName, i.ProfileDefinition, i.PhysicalWeight, i.Perimeter, i.MinimumPlateThickness, i.MaximumPlateThickness, i.CrossSectionArea], + 3448662350: (i) => [i.ContextIdentifier, i.ContextType, i.CoordinateSpaceDimension, i.Precision, i.WorldCoordinateSystem, i.TrueNorth], + 2453401579: (_) => [], + 4142052618: (i) => [i.ContextIdentifier, i.ContextType, i.CoordinateSpaceDimension, i.Precision, i.WorldCoordinateSystem, i.TrueNorth, i.ParentContext, i.TargetScale, i.TargetView, i.UserDefinedTargetView], + 3590301190: (i) => [i.Elements], + 178086475: (i) => [i.PlacementLocation, i.PlacementRefDirection], + 812098782: (i) => [i.BaseSurface, i.AgreementFlag], + 2445078500: (i) => [i.Material, i.UpperVaporResistanceFactor, i.LowerVaporResistanceFactor, i.IsothermalMoistureCapacity, i.VaporPermeability, i.MoistureDiffusivity], + 3905492369: (i) => [i.RepeatS, i.RepeatT, i.TextureType, i.TextureTransform, i.UrlReference], + 3741457305: (i) => [i.Name, i.Description, i.StartTime, i.EndTime, i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, i.Unit, i.Values], + 1402838566: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity], + 125510826: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity], + 2604431987: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Orientation], + 4266656042: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.ColourAppearance, i.ColourTemperature, i.LuminousFlux, i.LightEmissionSource, i.LightDistributionDataSource], + 1520743889: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.Radius, i.ConstantAttenuation, i.DistanceAttenuation, i.QuadricAttenuation], + 3422422726: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.Radius, i.ConstantAttenuation, i.DistanceAttenuation, i.QuadricAttenuation, i.Orientation, i.ConcentrationExponent, i.SpreadAngle, i.BeamWidthAngle], + 2624227202: (i) => [i.PlacementRelTo, i.RelativePlacement], + 1008929658: (_) => [], + 2347385850: (i) => [i.MappingSource, i.MappingTarget], + 2022407955: (i) => [i.Name, i.Description, i.Representations, i.RepresentedMaterial], + 1430189142: (i) => [i.Material, i.DynamicViscosity, i.YoungModulus, i.ShearModulus, i.PoissonRatio, i.ThermalExpansionCoefficient, i.CompressiveStrength, i.MaxAggregateSize, i.AdmixturesDescription, i.Workability, i.ProtectivePoreRatio, i.WaterImpermeability], + 219451334: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 2833995503: (i) => [i.RepeatFactor], + 2665983363: (i) => [i.CfsFaces], + 1029017970: (i) => [i.EdgeStart, i.EdgeEnd, i.EdgeElement, i.Orientation], + 2529465313: (i) => [i.ProfileType, i.ProfileName, i.Position], + 2519244187: (i) => [i.EdgeList], + 3021840470: (i) => [i.Name, i.Description, i.HasQuantities, i.Discrimination, i.Quality, i.Usage], + 597895409: (i) => [i.RepeatS, i.RepeatT, i.TextureType, i.TextureTransform, i.Width, i.Height, i.ColourComponents, i.Pixel], + 2004835150: (i) => [i.Location], + 1663979128: (i) => [i.SizeInX, i.SizeInY], + 2067069095: (_) => [], + 4022376103: (i) => [i.BasisCurve, i.PointParameter], + 1423911732: (i) => [i.BasisSurface, i.PointParameterU, i.PointParameterV], + 2924175390: (i) => [i.Polygon], + 2775532180: (i) => [i.BaseSurface, i.AgreementFlag, i.Position, i.PolygonalBoundary], + 759155922: (i) => [i.Name], + 2559016684: (i) => [i.Name], + 433424934: (i) => [i.Name], + 179317114: (i) => [i.Name], + 673634403: (i) => [i.Name, i.Description, i.Representations], + 871118103: (i) => [i.Name, i.Description, !i.UpperBoundValue ? null : Labelise(i.UpperBoundValue), !i.LowerBoundValue ? null : Labelise(i.LowerBoundValue), i.Unit], + 1680319473: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 4166981789: (i) => [i.Name, i.Description, i.EnumerationValues.map((p) => Labelise(p)), i.EnumerationReference], + 2752243245: (i) => [i.Name, i.Description, i.ListValues.map((p) => Labelise(p)), i.Unit], + 941946838: (i) => [i.Name, i.Description, i.UsageName, i.PropertyReference], + 3357820518: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 3650150729: (i) => [i.Name, i.Description, !i.NominalValue ? null : Labelise(i.NominalValue), i.Unit], + 110355661: (i) => [i.Name, i.Description, i.DefiningValues.map((p) => Labelise(p)), i.DefinedValues.map((p) => Labelise(p)), i.Expression, i.DefiningUnit, i.DefinedUnit], + 3615266464: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim], + 3413951693: (i) => [i.Name, i.Description, i.StartTime, i.EndTime, i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, i.Unit, i.TimeStep, i.Values], + 3765753017: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.DefinitionType, i.ReinforcementSectionDefinitions], + 478536968: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 2778083089: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim, i.RoundingRadius], + 1509187699: (i) => [i.SpineCurve, i.CrossSections, i.CrossSectionPositions], + 2411513650: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.PredefinedType, !i.UpperValue ? null : Labelise(i.UpperValue), Labelise(i.MostUsedValue), !i.LowerValue ? null : Labelise(i.LowerValue)], + 4124623270: (i) => [i.SbsmBoundary], + 2609359061: (i) => [i.Name, i.SlippageX, i.SlippageY, i.SlippageZ], + 723233188: (_) => [], + 2485662743: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, (_a = i.IsAttenuating) == null ? void 0 : _a.toString(), i.SoundScale, i.SoundValues]; + }, + 1202362311: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.SoundLevelTimeSeries, i.Frequency, !i.SoundLevelSingleValue ? null : Labelise(i.SoundLevelSingleValue)], + 390701378: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableValueRatio, i.ThermalLoadSource, i.PropertySource, i.SourceDescription, i.MaximumValue, i.MinimumValue, i.ThermalLoadTimeSeriesValues, i.UserDefinedThermalLoadSource, i.UserDefinedPropertySource, i.ThermalLoadType], + 1595516126: (i) => [i.Name, i.LinearForceX, i.LinearForceY, i.LinearForceZ, i.LinearMomentX, i.LinearMomentY, i.LinearMomentZ], + 2668620305: (i) => [i.Name, i.PlanarForceX, i.PlanarForceY, i.PlanarForceZ], + 2473145415: (i) => [i.Name, i.DisplacementX, i.DisplacementY, i.DisplacementZ, i.RotationalDisplacementRX, i.RotationalDisplacementRY, i.RotationalDisplacementRZ], + 1973038258: (i) => [i.Name, i.DisplacementX, i.DisplacementY, i.DisplacementZ, i.RotationalDisplacementRX, i.RotationalDisplacementRY, i.RotationalDisplacementRZ, i.Distortion], + 1597423693: (i) => [i.Name, i.ForceX, i.ForceY, i.ForceZ, i.MomentX, i.MomentY, i.MomentZ], + 1190533807: (i) => [i.Name, i.ForceX, i.ForceY, i.ForceZ, i.MomentX, i.MomentY, i.MomentZ, i.WarpingMoment], + 3843319758: (i) => [i.ProfileName, i.ProfileDefinition, i.PhysicalWeight, i.Perimeter, i.MinimumPlateThickness, i.MaximumPlateThickness, i.CrossSectionArea, i.TorsionalConstantX, i.MomentOfInertiaYZ, i.MomentOfInertiaY, i.MomentOfInertiaZ, i.WarpingConstant, i.ShearCentreZ, i.ShearCentreY, i.ShearDeformationAreaZ, i.ShearDeformationAreaY, i.MaximumSectionModulusY, i.MinimumSectionModulusY, i.MaximumSectionModulusZ, i.MinimumSectionModulusZ, i.TorsionalSectionModulus, i.CentreOfGravityInX, i.CentreOfGravityInY], + 3653947884: (i) => [i.ProfileName, i.ProfileDefinition, i.PhysicalWeight, i.Perimeter, i.MinimumPlateThickness, i.MaximumPlateThickness, i.CrossSectionArea, i.TorsionalConstantX, i.MomentOfInertiaYZ, i.MomentOfInertiaY, i.MomentOfInertiaZ, i.WarpingConstant, i.ShearCentreZ, i.ShearCentreY, i.ShearDeformationAreaZ, i.ShearDeformationAreaY, i.MaximumSectionModulusY, i.MinimumSectionModulusY, i.MaximumSectionModulusZ, i.MinimumSectionModulusZ, i.TorsionalSectionModulus, i.CentreOfGravityInX, i.CentreOfGravityInY, i.ShearAreaZ, i.ShearAreaY, i.PlasticShapeFactorY, i.PlasticShapeFactorZ], + 2233826070: (i) => [i.EdgeStart, i.EdgeEnd, i.ParentEdge], + 2513912981: (_) => [], + 1878645084: (i) => [i.SurfaceColour, i.Transparency, i.DiffuseColour, i.TransmissionColour, i.DiffuseTransmissionColour, i.ReflectionColour, i.SpecularColour, !i.SpecularHighlight ? null : Labelise(i.SpecularHighlight), i.ReflectanceMethod], + 2247615214: (i) => [i.SweptArea, i.Position], + 1260650574: (i) => [i.Directrix, i.Radius, i.InnerRadius, i.StartParam, i.EndParam], + 230924584: (i) => [i.SweptCurve, i.Position], + 3071757647: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.FlangeEdgeRadius, i.WebEdgeRadius, i.WebSlope, i.FlangeSlope, i.CentreOfGravityInY], + 3028897424: (i) => [i.Item, i.Styles, i.Name, i.AnnotatedCurve], + 4282788508: (i) => [i.Literal, i.Placement, i.Path], + 3124975700: (i) => [i.Literal, i.Placement, i.Path, i.Extent, i.BoxAlignment], + 2715220739: (i) => [i.ProfileType, i.ProfileName, i.Position, i.BottomXDim, i.TopXDim, i.YDim, i.TopXOffset], + 1345879162: (i) => [i.RepeatFactor, i.SecondRepeatFactor], + 1628702193: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets], + 2347495698: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag], + 427810014: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.EdgeRadius, i.FlangeSlope, i.CentreOfGravityInX], + 1417489154: (i) => [i.Orientation, i.Magnitude], + 2759199220: (i) => [i.LoopVertex], + 336235671: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.LiningDepth, i.LiningThickness, i.TransomThickness, i.MullionThickness, i.FirstTransomOffset, i.SecondTransomOffset, i.FirstMullionOffset, i.SecondMullionOffset, i.ShapeAspectStyle], + 512836454: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.OperationType, i.PanelPosition, i.FrameDepth, i.FrameThickness, i.ShapeAspectStyle], + 1299126871: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ConstructionType, i.OperationType, i.ParameterTakesPrecedence, i.Sizeable], + 2543172580: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.EdgeRadius], + 3288037868: (i) => [i.Item, i.Styles, i.Name], + 669184980: (i) => [i.OuterBoundary, i.InnerBoundaries], + 2265737646: (i) => [i.Item, i.Styles, i.Name, i.FillStyleTarget, i.GlobalOrLocal], + 1302238472: (i) => [i.Item, i.TextureCoordinates], + 4261334040: (i) => [i.Location, i.Axis], + 3125803723: (i) => [i.Location, i.RefDirection], + 2740243338: (i) => [i.Location, i.Axis, i.RefDirection], + 2736907675: (i) => [i.Operator, i.FirstOperand, i.SecondOperand], + 4182860854: (_) => [], + 2581212453: (i) => [i.Corner, i.XDim, i.YDim, i.ZDim], + 2713105998: (i) => [i.BaseSurface, i.AgreementFlag, i.Enclosure], + 2898889636: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.Width, i.WallThickness, i.Girth, i.InternalFilletRadius, i.CentreOfGravityInX], + 1123145078: (i) => [i.Coordinates], + 59481748: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale], + 3749851601: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale], + 3486308946: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Scale2], + 3331915920: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Axis3], + 1416205885: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Axis3, i.Scale2, i.Scale3], + 1383045692: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Radius], + 2205249479: (i) => [i.CfsFaces], + 2485617015: (i) => [i.Transition, i.SameSense, i.ParentCurve], + 4133800736: (i) => [i.ProfileType, i.ProfileName, i.Position, i.OverallHeight, i.BaseWidth2, i.Radius, i.HeadWidth, i.HeadDepth2, i.HeadDepth3, i.WebThickness, i.BaseWidth4, i.BaseDepth1, i.BaseDepth2, i.BaseDepth3, i.CentreOfGravityInY], + 194851669: (i) => [i.ProfileType, i.ProfileName, i.Position, i.OverallHeight, i.HeadWidth, i.Radius, i.HeadDepth2, i.HeadDepth3, i.WebThickness, i.BaseDepth1, i.BaseDepth2, i.CentreOfGravityInY], + 2506170314: (i) => [i.Position], + 2147822146: (i) => [i.TreeRootExpression], + 2601014836: (_) => [], + 2827736869: (i) => [i.BasisSurface, i.OuterBoundary, i.InnerBoundaries], + 693772133: (i) => [i.Definition, i.Target], + 606661476: (i) => [i.Item, i.Styles, i.Name], + 4054601972: (i) => [i.Item, i.Styles, i.Name, i.AnnotatedCurve, i.Role], + 32440307: (i) => [i.DirectionRatios], + 2963535650: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.LiningDepth, i.LiningThickness, i.ThresholdDepth, i.ThresholdThickness, i.TransomThickness, i.TransomOffset, i.LiningOffset, i.ThresholdOffset, i.CasingThickness, i.CasingDepth, i.ShapeAspectStyle], + 1714330368: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.PanelDepth, i.PanelOperation, i.PanelWidth, i.PanelPosition, i.ShapeAspectStyle], + 526551008: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.OperationType, i.ConstructionType, i.ParameterTakesPrecedence, i.Sizeable], + 3073041342: (i) => [i.Contents], + 445594917: (i) => [i.Name], + 4006246654: (i) => [i.Name], + 1472233963: (i) => [i.EdgeList], + 1883228015: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.MethodOfMeasurement, i.Quantities], + 339256511: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 2777663545: (i) => [i.Position], + 2835456948: (i) => [i.ProfileType, i.ProfileName, i.Position, i.SemiAxis1, i.SemiAxis2], + 80994333: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.EnergySequence, i.UserDefinedEnergySequence], + 477187591: (i) => [i.SweptArea, i.Position, i.ExtrudedDirection, i.Depth], + 2047409740: (i) => [i.FbsmFaces], + 374418227: (i) => [i.HatchLineAppearance, i.StartOfNextHatchLine, i.PointOfReferenceHatchLine, i.PatternStart, i.HatchLineAngle], + 4203026998: (i) => [i.Symbol], + 315944413: (i) => [i.TilingPattern, i.Tiles, i.TilingScale], + 3455213021: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.PropertySource, i.FlowConditionTimeSeries, i.VelocityTimeSeries, i.FlowrateTimeSeries, i.Fluid, i.PressureTimeSeries, i.UserDefinedPropertySource, i.TemperatureSingleValue, i.WetBulbTemperatureSingleValue, i.WetBulbTemperatureTimeSeries, i.TemperatureTimeSeries, !i.FlowrateSingleValue ? null : Labelise(i.FlowrateSingleValue), i.FlowConditionSingleValue, i.VelocitySingleValue, i.PressureSingleValue], + 4238390223: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1268542332: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.AssemblyPlace], + 987898635: (i) => [i.Elements], + 1484403080: (i) => [i.ProfileType, i.ProfileName, i.Position, i.OverallWidth, i.OverallDepth, i.WebThickness, i.FlangeThickness, i.FilletRadius], + 572779678: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.Width, i.Thickness, i.FilletRadius, i.EdgeRadius, i.LegSlope, i.CentreOfGravityInX, i.CentreOfGravityInY], + 1281925730: (i) => [i.Pnt, i.Dir], + 1425443689: (i) => [i.Outer], + 3888040117: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 3388369263: (i) => [i.BasisCurve, i.Distance, i.SelfIntersect], + 3505215534: (i) => [i.BasisCurve, i.Distance, i.SelfIntersect, i.RefDirection], + 3566463478: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.OperationType, i.PanelPosition, i.FrameDepth, i.FrameThickness, i.ShapeAspectStyle], + 603570806: (i) => [i.SizeInX, i.SizeInY, i.Placement], + 220341763: (i) => [i.Position], + 2945172077: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 4208778838: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 103090709: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.Phase, i.RepresentationContexts, i.UnitsInContext], + 4194566429: (i) => [i.Item, i.Styles, i.Name], + 1451395588: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.HasProperties], + 3219374653: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.ProxyType, i.Tag], + 2770003689: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim, i.WallThickness, i.InnerFilletRadius, i.OuterFilletRadius], + 2798486643: (i) => [i.Position, i.XLength, i.YLength, i.Height], + 3454111270: (i) => [i.BasisSurface, i.U1, i.V1, i.U2, i.V2, i.Usense, i.Vsense], + 3939117080: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType], + 1683148259: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingActor, i.ActingRole], + 2495723537: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingControl], + 1307041759: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingGroup], + 4278684876: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingProcess, i.QuantityInProcess], + 2857406711: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingProduct], + 3372526763: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingControl], + 205026976: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingResource], + 1865459582: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects], + 1327628568: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingAppliedValue], + 4095574036: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingApproval], + 919958153: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingClassification], + 2728634034: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.Intent, i.RelatingConstraint], + 982818633: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingDocument], + 3840914261: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingLibrary], + 2655215786: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingMaterial], + 2851387026: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingProfileProperties, i.ProfileSectionLocation, i.ProfileOrientation], + 826625072: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 1204542856: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement], + 3945020480: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement, i.RelatingPriorities, i.RelatedPriorities, i.RelatedConnectionType, i.RelatingConnectionType], + 4201705270: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingPort, i.RelatedElement], + 3190031847: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingPort, i.RelatedPort, i.RealizingElement], + 2127690289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingElement, i.RelatedStructuralActivity], + 3912681535: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingElement, i.RelatedStructuralMember], + 1638771189: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingStructuralMember, i.RelatedStructuralConnection, i.AppliedCondition, i.AdditionalConditions, i.SupportedLength, i.ConditionCoordinateSystem], + 504942748: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingStructuralMember, i.RelatedStructuralConnection, i.AppliedCondition, i.AdditionalConditions, i.SupportedLength, i.ConditionCoordinateSystem, i.ConnectionConstraint], + 3678494232: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement, i.RealizingElements, i.ConnectionType], + 3242617779: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedElements, i.RelatingStructure], + 886880790: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingBuildingElement, i.RelatedCoverings], + 2802773753: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedSpace, i.RelatedCoverings], + 2551354335: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingObject, i.RelatedObjects], + 693640335: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects], + 4186316022: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingPropertyDefinition], + 781010003: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingType], + 3940055652: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingOpeningElement, i.RelatedBuildingElement], + 279856033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedControlElements, i.RelatingFlowElement], + 4189434867: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.DailyInteraction, i.ImportanceRating, i.LocationOfInteraction, i.RelatedSpaceProgram, i.RelatingSpaceProgram], + 3268803585: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingObject, i.RelatedObjects], + 2051452291: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingActor, i.ActingRole], + 202636808: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingPropertyDefinition, i.OverridingProperties], + 750771296: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingElement, i.RelatedFeatureElement], + 1245217292: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedElements, i.RelatingStructure], + 1058617721: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingControl], + 4122056220: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingProcess, i.RelatedProcess, i.TimeLag, i.SequenceType], + 366585022: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSystem, i.RelatedBuildings], + 3451746338: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSpace, i.RelatedBuildingElement, i.ConnectionGeometry, i.PhysicalOrVirtualBoundary, i.InternalOrExternalBoundary], + 1401173127: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingBuildingElement, i.RelatedOpeningElement], + 2914609552: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 1856042241: (i) => [i.SweptArea, i.Position, i.Axis, i.Angle], + 4158566097: (i) => [i.Position, i.Height, i.BottomRadius], + 3626867408: (i) => [i.Position, i.Height, i.Radius], + 2706606064: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType], + 3893378262: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 451544542: (i) => [i.Position, i.Radius], + 3544373492: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal], + 3136571912: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 530289379: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 3689010777: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal], + 3979015343: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Thickness], + 2218152070: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Thickness, i.SubsequentThickness, i.VaryingThicknessLocation], + 4070609034: (i) => [i.Contents], + 2028607225: (i) => [i.SweptArea, i.Position, i.Directrix, i.StartParam, i.EndParam, i.ReferenceSurface], + 2809605785: (i) => [i.SweptCurve, i.Position, i.ExtrudedDirection, i.Depth], + 4124788165: (i) => [i.SweptCurve, i.Position, i.AxisPosition], + 1580310250: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3473067441: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TaskId, i.Status, i.WorkMethod, i.IsMilestone, i.Priority], + 2097647324: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2296667514: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TheActor], + 1674181508: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 3207858831: (i) => [i.ProfileType, i.ProfileName, i.Position, i.OverallWidth, i.OverallDepth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.TopFlangeWidth, i.TopFlangeThickness, i.TopFlangeFilletRadius, i.CentreOfGravityInY], + 1334484129: (i) => [i.Position, i.XLength, i.YLength, i.ZLength], + 3649129432: (i) => [i.Operator, i.FirstOperand, i.SecondOperand], + 1260505505: (_) => [], + 4031249490: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.ElevationOfRefHeight, i.ElevationOfTerrain, i.BuildingAddress], + 1950629157: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3124254112: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.Elevation], + 2937912522: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Radius, i.WallThickness], + 300633059: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3732776249: (i) => [i.Segments, i.SelfIntersect], + 2510884976: (i) => [i.Position], + 2559216714: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ResourceIdentifier, i.ResourceGroup, i.ResourceConsumption, i.BaseQuantity], + 3293443760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 3895139033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 1419761937: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.SubmittedBy, i.PreparedBy, i.SubmittedOn, i.Status, i.TargetUsers, i.UpdateDate, i.ID, i.PredefinedType], + 1916426348: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3295246426: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ResourceIdentifier, i.ResourceGroup, i.ResourceConsumption, i.BaseQuantity], + 1457835157: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 681481545: (i) => [i.Contents], + 3256556792: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3849074793: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 360485395: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.EnergySequence, i.UserDefinedEnergySequence, i.ElectricCurrentType, i.InputVoltage, i.InputFrequency, i.FullLoadCurrent, i.MinimumCircuitCurrent, i.MaximumPowerInput, i.RatedPowerInput, i.InputPhase], + 1758889154: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 4123344466: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.AssemblyPlace, i.PredefinedType], + 1623761950: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2590856083: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1704287377: (i) => [i.Position, i.SemiAxis1, i.SemiAxis2], + 2107101300: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1962604670: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3272907226: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 3174744832: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3390157468: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 807026263: (i) => [i.Outer], + 3737207727: (i) => [i.Outer, i.Voids], + 647756555: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2489546625: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 2827207264: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2143335405: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 1287392070: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3907093117: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3198132628: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3815607619: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1482959167: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1834744321: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1339347760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 2297155007: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3009222698: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 263784265: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 814719939: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 200128114: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3009204131: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.UAxes, i.VAxes, i.WAxes], + 2706460486: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 1251058090: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1806887404: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2391368822: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.InventoryType, i.Jurisdiction, i.ResponsiblePersons, i.LastUpdateDate, i.CurrentValue, i.OriginalValue], + 4288270099: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3827777499: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ResourceIdentifier, i.ResourceGroup, i.ResourceConsumption, i.BaseQuantity, i.SkillSet], + 1051575348: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1161773419: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2506943328: (i) => [i.Contents], + 377706215: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.NominalDiameter, i.NominalLength], + 2108223431: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3181161470: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 977012517: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1916936684: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TaskId, i.Status, i.WorkMethod, i.IsMilestone, i.Priority, i.MoveFrom, i.MoveTo, i.PunchList], + 4143007308: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TheActor, i.PredefinedType], + 3588315303: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3425660407: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TaskId, i.Status, i.WorkMethod, i.IsMilestone, i.Priority, i.ActionID], + 2837617999: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2382730787: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LifeCyclePhase], + 3327091369: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PermitID], + 804291784: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4231323485: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4017108033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3724593414: (i) => [i.Points], + 3740093272: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 2744685151: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ProcedureID, i.ProcedureType, i.UserDefinedProcedureType], + 2904328755: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ID, i.PredefinedType, i.Status], + 3642467123: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Records, i.PredefinedType], + 3651124850: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 1842657554: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2250791053: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3248260540: (i) => [i.Contents], + 2893384427: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2324767716: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 160246688: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingObject, i.RelatedObjects], + 2863920197: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingControl, i.TimeForTask], + 1768891740: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3517283431: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ActualStart, i.EarlyStart, i.LateStart, i.ScheduleStart, i.ActualFinish, i.EarlyFinish, i.LateFinish, i.ScheduleFinish, i.ScheduleDuration, i.ActualDuration, i.RemainingTime, i.FreeFloat, i.TotalFloat, i.IsCritical, i.StatusTime, i.StartFloat, i.FinishFloat, i.Completion], + 4105383287: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ServiceLifeType, i.ServiceLifeDuration], + 4097777520: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.RefLatitude, i.RefLongitude, i.RefElevation, i.LandTitleNumber, i.SiteAddress], + 2533589738: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3856911033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.InteriorOrExteriorSpace, i.ElevationWithFlooring], + 1305183839: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 652456506: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.SpaceProgramIdentifier, i.MaxRequiredArea, i.MinRequiredArea, i.RequestedLocation, i.StandardRequiredArea], + 3812236995: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3112655638: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1039846685: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 682877961: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad, i.CausedBy], + 1179482911: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition], + 4243806635: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition], + 214636428: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType], + 2445595289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType], + 1807405624: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad, i.CausedBy, i.ProjectedOrTrue], + 1721250024: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad, i.CausedBy, i.ProjectedOrTrue, i.VaryingAppliedLoadLocation, i.SubsequentAppliedLoads], + 1252848954: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.ActionType, i.ActionSource, i.Coefficient, i.Purpose], + 1621171031: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad, i.CausedBy, i.ProjectedOrTrue], + 3987759626: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad, i.CausedBy, i.ProjectedOrTrue, i.VaryingAppliedLoadLocation, i.SubsequentAppliedLoads], + 2082059205: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad, i.CausedBy], + 734778138: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition], + 1235345126: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal], + 2986769608: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TheoryType, i.ResultForLoadGroup, i.IsLinear], + 1975003073: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition], + 148013059: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ResourceIdentifier, i.ResourceGroup, i.ResourceConsumption, i.BaseQuantity, i.SubContractor, i.JobDescription], + 2315554128: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2254336722: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 5716631: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1637806684: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ApplicableDates, i.TimeSeriesScheduleType, i.TimeSeries], + 1692211062: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1620046519: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OperationType, i.CapacityByWeight, i.CapacityByNumber], + 3593883385: (i) => [i.BasisCurve, i.Trim1, i.Trim2, i.SenseAgreement, i.MasterRepresentation], + 1600972822: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1911125066: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 728799441: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2769231204: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 1898987631: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1133259667: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1028945134: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identifier, i.CreationDate, i.Creators, i.Purpose, i.Duration, i.TotalFloat, i.StartTime, i.FinishTime, i.WorkControlType, i.UserDefinedControlType], + 4218914973: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identifier, i.CreationDate, i.Creators, i.Purpose, i.Duration, i.TotalFloat, i.StartTime, i.FinishTime, i.WorkControlType, i.UserDefinedControlType], + 3342526732: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identifier, i.CreationDate, i.Creators, i.Purpose, i.Duration, i.TotalFloat, i.StartTime, i.FinishTime, i.WorkControlType, i.UserDefinedControlType], + 1033361043: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 1213861670: (i) => [i.Segments, i.SelfIntersect], + 3821786052: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.RequestID], + 1411407467: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3352864051: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1871374353: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2470393545: (i) => [i.Contents], + 3460190687: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.AssetID, i.OriginalValue, i.CurrentValue, i.TotalReplacementCost, i.Owner, i.User, i.ResponsiblePerson, i.IncorporationDate, i.DepreciatedValue], + 1967976161: (i) => [i.Degree, i.ControlPointsList, i.CurveForm, i.ClosedCurve, i.SelfIntersect], + 819618141: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1916977116: (i) => [i.Degree, i.ControlPointsList, i.CurveForm, i.ClosedCurve, i.SelfIntersect], + 231477066: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3299480353: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 52481810: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2979338954: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 1095909175: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.CompositionType], + 1909888760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 395041908: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3293546465: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1285652485: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2951183804: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2611217952: (i) => [i.Position, i.Radius], + 2301859152: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 843113511: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3850581409: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2816379211: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2188551683: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 1163958913: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Criterion, i.CriterionDateTime], + 3898045240: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ResourceIdentifier, i.ResourceGroup, i.ResourceConsumption, i.BaseQuantity], + 1060000209: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ResourceIdentifier, i.ResourceGroup, i.ResourceConsumption, i.BaseQuantity, i.Suppliers, i.UsageRatio], + 488727124: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ResourceIdentifier, i.ResourceGroup, i.ResourceConsumption, i.BaseQuantity], + 335055490: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2954562838: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1973544240: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3495092785: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3961806047: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4147604152: (i) => [i.Contents], + 1335981549: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2635815018: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1599208980: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2063403501: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1945004755: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3040386961: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3041715199: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.FlowDirection], + 395920057: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OverallHeight, i.OverallWidth], + 869906466: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3760055223: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2030761528: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 855621170: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.FeatureLength], + 663422040: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3277789161: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1534661035: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1365060375: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1217240411: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 712377611: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1634875225: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 857184966: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 1658829314: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 346874300: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1810631287: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4222183408: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2058353004: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 4278956645: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 4037862832: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3132237377: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 987401354: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 707683696: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2223149337: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3508470533: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 900683007: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1073191201: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 1687234759: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType, i.ConstructionType], + 3171933400: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2262370178: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3024970846: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.ShapeType], + 3283111854: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3055160366: (i) => [i.Degree, i.ControlPointsList, i.CurveForm, i.ClosedCurve, i.SelfIntersect, i.WeightsData], + 3027567501: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade], + 2320036040: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.MeshLength, i.MeshWidth, i.LongitudinalBarNominalDiameter, i.TransverseBarNominalDiameter, i.LongitudinalBarCrossSectionArea, i.TransverseBarCrossSectionArea, i.LongitudinalBarSpacing, i.TransverseBarSpacing], + 2016517767: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.ShapeType], + 1376911519: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.FeatureLength, i.Radius], + 1783015770: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1529196076: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 331165859: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.ShapeType], + 4252922144: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.NumberOfRiser, i.NumberOfTreads, i.RiserHeight, i.TreadLength], + 2515109513: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.OrientationOf2DPlane, i.LoadedBy, i.HasResults], + 3824725483: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.PredefinedType, i.NominalDiameter, i.CrossSectionArea, i.TensionForce, i.PreStress, i.FrictionCoefficient, i.AnchorageSlip, i.MinCurvatureRadius], + 2347447852: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade], + 3313531582: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2391406946: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3512223829: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3304561284: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OverallHeight, i.OverallWidth], + 2874132201: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3001207471: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 753842376: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2454782716: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.FeatureLength, i.Width, i.Height], + 578613899: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1052013943: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 1062813311: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.ControlElementId], + 3700593921: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.DistributionPointFunction, i.UserDefinedFunction], + 979691226: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.NominalDiameter, i.CrossSectionArea, i.BarLength, i.BarRole, i.BarSurface] +}; +TypeInitialisers[3] = { + 3699917729: (v) => new IFC2X3$1.IfcAbsorbedDoseMeasure(v), + 4182062534: (v) => new IFC2X3$1.IfcAccelerationMeasure(v), + 360377573: (v) => new IFC2X3$1.IfcAmountOfSubstanceMeasure(v), + 632304761: (v) => new IFC2X3$1.IfcAngularVelocityMeasure(v), + 2650437152: (v) => new IFC2X3$1.IfcAreaMeasure(v), + 2735952531: (v) => new IFC2X3$1.IfcBoolean(v), + 1867003952: (v) => new IFC2X3$1.IfcBoxAlignment(v), + 2991860651: (v) => new IFC2X3$1.IfcComplexNumber(v.map((x) => x.value)), + 3812528620: (v) => new IFC2X3$1.IfcCompoundPlaneAngleMeasure(v.map((x) => x.value)), + 3238673880: (v) => new IFC2X3$1.IfcContextDependentMeasure(v), + 1778710042: (v) => new IFC2X3$1.IfcCountMeasure(v), + 94842927: (v) => new IFC2X3$1.IfcCurvatureMeasure(v), + 86635668: (v) => new IFC2X3$1.IfcDayInMonthNumber(v), + 300323983: (v) => new IFC2X3$1.IfcDaylightSavingHour(v), + 1514641115: (v) => new IFC2X3$1.IfcDescriptiveMeasure(v), + 4134073009: (v) => new IFC2X3$1.IfcDimensionCount(v), + 524656162: (v) => new IFC2X3$1.IfcDoseEquivalentMeasure(v), + 69416015: (v) => new IFC2X3$1.IfcDynamicViscosityMeasure(v), + 1827137117: (v) => new IFC2X3$1.IfcElectricCapacitanceMeasure(v), + 3818826038: (v) => new IFC2X3$1.IfcElectricChargeMeasure(v), + 2093906313: (v) => new IFC2X3$1.IfcElectricConductanceMeasure(v), + 3790457270: (v) => new IFC2X3$1.IfcElectricCurrentMeasure(v), + 2951915441: (v) => new IFC2X3$1.IfcElectricResistanceMeasure(v), + 2506197118: (v) => new IFC2X3$1.IfcElectricVoltageMeasure(v), + 2078135608: (v) => new IFC2X3$1.IfcEnergyMeasure(v), + 1102727119: (v) => new IFC2X3$1.IfcFontStyle(v), + 2715512545: (v) => new IFC2X3$1.IfcFontVariant(v), + 2590844177: (v) => new IFC2X3$1.IfcFontWeight(v), + 1361398929: (v) => new IFC2X3$1.IfcForceMeasure(v), + 3044325142: (v) => new IFC2X3$1.IfcFrequencyMeasure(v), + 3064340077: (v) => new IFC2X3$1.IfcGloballyUniqueId(v), + 3113092358: (v) => new IFC2X3$1.IfcHeatFluxDensityMeasure(v), + 1158859006: (v) => new IFC2X3$1.IfcHeatingValueMeasure(v), + 2589826445: (v) => new IFC2X3$1.IfcHourInDay(v), + 983778844: (v) => new IFC2X3$1.IfcIdentifier(v), + 3358199106: (v) => new IFC2X3$1.IfcIlluminanceMeasure(v), + 2679005408: (v) => new IFC2X3$1.IfcInductanceMeasure(v), + 1939436016: (v) => new IFC2X3$1.IfcInteger(v), + 3809634241: (v) => new IFC2X3$1.IfcIntegerCountRateMeasure(v), + 3686016028: (v) => new IFC2X3$1.IfcIonConcentrationMeasure(v), + 3192672207: (v) => new IFC2X3$1.IfcIsothermalMoistureCapacityMeasure(v), + 2054016361: (v) => new IFC2X3$1.IfcKinematicViscosityMeasure(v), + 3258342251: (v) => new IFC2X3$1.IfcLabel(v), + 1243674935: (v) => new IFC2X3$1.IfcLengthMeasure(v), + 191860431: (v) => new IFC2X3$1.IfcLinearForceMeasure(v), + 2128979029: (v) => new IFC2X3$1.IfcLinearMomentMeasure(v), + 1307019551: (v) => new IFC2X3$1.IfcLinearStiffnessMeasure(v), + 3086160713: (v) => new IFC2X3$1.IfcLinearVelocityMeasure(v), + 503418787: (v) => new IFC2X3$1.IfcLogical(v), + 2095003142: (v) => new IFC2X3$1.IfcLuminousFluxMeasure(v), + 2755797622: (v) => new IFC2X3$1.IfcLuminousIntensityDistributionMeasure(v), + 151039812: (v) => new IFC2X3$1.IfcLuminousIntensityMeasure(v), + 286949696: (v) => new IFC2X3$1.IfcMagneticFluxDensityMeasure(v), + 2486716878: (v) => new IFC2X3$1.IfcMagneticFluxMeasure(v), + 1477762836: (v) => new IFC2X3$1.IfcMassDensityMeasure(v), + 4017473158: (v) => new IFC2X3$1.IfcMassFlowRateMeasure(v), + 3124614049: (v) => new IFC2X3$1.IfcMassMeasure(v), + 3531705166: (v) => new IFC2X3$1.IfcMassPerLengthMeasure(v), + 102610177: (v) => new IFC2X3$1.IfcMinuteInHour(v), + 3341486342: (v) => new IFC2X3$1.IfcModulusOfElasticityMeasure(v), + 2173214787: (v) => new IFC2X3$1.IfcModulusOfLinearSubgradeReactionMeasure(v), + 1052454078: (v) => new IFC2X3$1.IfcModulusOfRotationalSubgradeReactionMeasure(v), + 1753493141: (v) => new IFC2X3$1.IfcModulusOfSubgradeReactionMeasure(v), + 3177669450: (v) => new IFC2X3$1.IfcMoistureDiffusivityMeasure(v), + 1648970520: (v) => new IFC2X3$1.IfcMolecularWeightMeasure(v), + 3114022597: (v) => new IFC2X3$1.IfcMomentOfInertiaMeasure(v), + 2615040989: (v) => new IFC2X3$1.IfcMonetaryMeasure(v), + 765770214: (v) => new IFC2X3$1.IfcMonthInYearNumber(v), + 2095195183: (v) => new IFC2X3$1.IfcNormalisedRatioMeasure(v), + 2395907400: (v) => new IFC2X3$1.IfcNumericMeasure(v), + 929793134: (v) => new IFC2X3$1.IfcPHMeasure(v), + 2260317790: (v) => new IFC2X3$1.IfcParameterValue(v), + 2642773653: (v) => new IFC2X3$1.IfcPlanarForceMeasure(v), + 4042175685: (v) => new IFC2X3$1.IfcPlaneAngleMeasure(v), + 2815919920: (v) => new IFC2X3$1.IfcPositiveLengthMeasure(v), + 3054510233: (v) => new IFC2X3$1.IfcPositivePlaneAngleMeasure(v), + 1245737093: (v) => new IFC2X3$1.IfcPositiveRatioMeasure(v), + 1364037233: (v) => new IFC2X3$1.IfcPowerMeasure(v), + 2169031380: (v) => new IFC2X3$1.IfcPresentableText(v), + 3665567075: (v) => new IFC2X3$1.IfcPressureMeasure(v), + 3972513137: (v) => new IFC2X3$1.IfcRadioActivityMeasure(v), + 96294661: (v) => new IFC2X3$1.IfcRatioMeasure(v), + 200335297: (v) => new IFC2X3$1.IfcReal(v), + 2133746277: (v) => new IFC2X3$1.IfcRotationalFrequencyMeasure(v), + 1755127002: (v) => new IFC2X3$1.IfcRotationalMassMeasure(v), + 3211557302: (v) => new IFC2X3$1.IfcRotationalStiffnessMeasure(v), + 2766185779: (v) => new IFC2X3$1.IfcSecondInMinute(v), + 3467162246: (v) => new IFC2X3$1.IfcSectionModulusMeasure(v), + 2190458107: (v) => new IFC2X3$1.IfcSectionalAreaIntegralMeasure(v), + 408310005: (v) => new IFC2X3$1.IfcShearModulusMeasure(v), + 3471399674: (v) => new IFC2X3$1.IfcSolidAngleMeasure(v), + 846465480: (v) => new IFC2X3$1.IfcSoundPowerMeasure(v), + 993287707: (v) => new IFC2X3$1.IfcSoundPressureMeasure(v), + 3477203348: (v) => new IFC2X3$1.IfcSpecificHeatCapacityMeasure(v), + 2757832317: (v) => new IFC2X3$1.IfcSpecularExponent(v), + 361837227: (v) => new IFC2X3$1.IfcSpecularRoughness(v), + 58845555: (v) => new IFC2X3$1.IfcTemperatureGradientMeasure(v), + 2801250643: (v) => new IFC2X3$1.IfcText(v), + 1460886941: (v) => new IFC2X3$1.IfcTextAlignment(v), + 3490877962: (v) => new IFC2X3$1.IfcTextDecoration(v), + 603696268: (v) => new IFC2X3$1.IfcTextFontName(v), + 296282323: (v) => new IFC2X3$1.IfcTextTransformation(v), + 232962298: (v) => new IFC2X3$1.IfcThermalAdmittanceMeasure(v), + 2645777649: (v) => new IFC2X3$1.IfcThermalConductivityMeasure(v), + 2281867870: (v) => new IFC2X3$1.IfcThermalExpansionCoefficientMeasure(v), + 857959152: (v) => new IFC2X3$1.IfcThermalResistanceMeasure(v), + 2016195849: (v) => new IFC2X3$1.IfcThermalTransmittanceMeasure(v), + 743184107: (v) => new IFC2X3$1.IfcThermodynamicTemperatureMeasure(v), + 2726807636: (v) => new IFC2X3$1.IfcTimeMeasure(v), + 2591213694: (v) => new IFC2X3$1.IfcTimeStamp(v), + 1278329552: (v) => new IFC2X3$1.IfcTorqueMeasure(v), + 3345633955: (v) => new IFC2X3$1.IfcVaporPermeabilityMeasure(v), + 3458127941: (v) => new IFC2X3$1.IfcVolumeMeasure(v), + 2593997549: (v) => new IFC2X3$1.IfcVolumetricFlowRateMeasure(v), + 51269191: (v) => new IFC2X3$1.IfcWarpingConstantMeasure(v), + 1718600412: (v) => new IFC2X3$1.IfcWarpingMomentMeasure(v), + 4065007721: (v) => new IFC2X3$1.IfcYearNumber(v) +}; +var IFC2X3$1; +(function(IFC2X32) { + class IfcAbsorbedDoseMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcAbsorbedDoseMeasure = IfcAbsorbedDoseMeasure; + class IfcAccelerationMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcAccelerationMeasure = IfcAccelerationMeasure; + class IfcAmountOfSubstanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcAmountOfSubstanceMeasure = IfcAmountOfSubstanceMeasure; + class IfcAngularVelocityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcAngularVelocityMeasure = IfcAngularVelocityMeasure; + class IfcAreaMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcAreaMeasure = IfcAreaMeasure; + class IfcBoolean { + constructor(v) { + this.type = 3; + this.value = v === null ? v : v == "T" ? true : false; + } + } + IFC2X32.IfcBoolean = IfcBoolean; + class IfcBoxAlignment { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcBoxAlignment = IfcBoxAlignment; + class IfcComplexNumber { + constructor(value) { + this.value = value; + this.type = 4; + } + } + IFC2X32.IfcComplexNumber = IfcComplexNumber; + class IfcCompoundPlaneAngleMeasure { + constructor(value) { + this.value = value; + this.type = 10; + } + } + IFC2X32.IfcCompoundPlaneAngleMeasure = IfcCompoundPlaneAngleMeasure; + class IfcContextDependentMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcContextDependentMeasure = IfcContextDependentMeasure; + class IfcCountMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcCountMeasure = IfcCountMeasure; + class IfcCurvatureMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcCurvatureMeasure = IfcCurvatureMeasure; + class IfcDayInMonthNumber { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcDayInMonthNumber = IfcDayInMonthNumber; + class IfcDaylightSavingHour { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcDaylightSavingHour = IfcDaylightSavingHour; + class IfcDescriptiveMeasure { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcDescriptiveMeasure = IfcDescriptiveMeasure; + class IfcDimensionCount { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcDimensionCount = IfcDimensionCount; + class IfcDoseEquivalentMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcDoseEquivalentMeasure = IfcDoseEquivalentMeasure; + class IfcDynamicViscosityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcDynamicViscosityMeasure = IfcDynamicViscosityMeasure; + class IfcElectricCapacitanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcElectricCapacitanceMeasure = IfcElectricCapacitanceMeasure; + class IfcElectricChargeMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcElectricChargeMeasure = IfcElectricChargeMeasure; + class IfcElectricConductanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcElectricConductanceMeasure = IfcElectricConductanceMeasure; + class IfcElectricCurrentMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcElectricCurrentMeasure = IfcElectricCurrentMeasure; + class IfcElectricResistanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcElectricResistanceMeasure = IfcElectricResistanceMeasure; + class IfcElectricVoltageMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcElectricVoltageMeasure = IfcElectricVoltageMeasure; + class IfcEnergyMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcEnergyMeasure = IfcEnergyMeasure; + class IfcFontStyle { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcFontStyle = IfcFontStyle; + class IfcFontVariant { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcFontVariant = IfcFontVariant; + class IfcFontWeight { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcFontWeight = IfcFontWeight; + class IfcForceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcForceMeasure = IfcForceMeasure; + class IfcFrequencyMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcFrequencyMeasure = IfcFrequencyMeasure; + class IfcGloballyUniqueId { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcGloballyUniqueId = IfcGloballyUniqueId; + class IfcHeatFluxDensityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcHeatFluxDensityMeasure = IfcHeatFluxDensityMeasure; + class IfcHeatingValueMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcHeatingValueMeasure = IfcHeatingValueMeasure; + class IfcHourInDay { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcHourInDay = IfcHourInDay; + class IfcIdentifier { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcIdentifier = IfcIdentifier; + class IfcIlluminanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcIlluminanceMeasure = IfcIlluminanceMeasure; + class IfcInductanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcInductanceMeasure = IfcInductanceMeasure; + class IfcInteger { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcInteger = IfcInteger; + class IfcIntegerCountRateMeasure { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcIntegerCountRateMeasure = IfcIntegerCountRateMeasure; + class IfcIonConcentrationMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcIonConcentrationMeasure = IfcIonConcentrationMeasure; + class IfcIsothermalMoistureCapacityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcIsothermalMoistureCapacityMeasure = IfcIsothermalMoistureCapacityMeasure; + class IfcKinematicViscosityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcKinematicViscosityMeasure = IfcKinematicViscosityMeasure; + class IfcLabel { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcLabel = IfcLabel; + class IfcLengthMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcLengthMeasure = IfcLengthMeasure; + class IfcLinearForceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcLinearForceMeasure = IfcLinearForceMeasure; + class IfcLinearMomentMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcLinearMomentMeasure = IfcLinearMomentMeasure; + class IfcLinearStiffnessMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcLinearStiffnessMeasure = IfcLinearStiffnessMeasure; + class IfcLinearVelocityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcLinearVelocityMeasure = IfcLinearVelocityMeasure; + class IfcLogical { + constructor(v) { + this.type = 3; + this.value = v === null ? v : v == "T" ? 1 : v == "F" ? 0 : 2; + } + } + IFC2X32.IfcLogical = IfcLogical; + class IfcLuminousFluxMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcLuminousFluxMeasure = IfcLuminousFluxMeasure; + class IfcLuminousIntensityDistributionMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcLuminousIntensityDistributionMeasure = IfcLuminousIntensityDistributionMeasure; + class IfcLuminousIntensityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcLuminousIntensityMeasure = IfcLuminousIntensityMeasure; + class IfcMagneticFluxDensityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcMagneticFluxDensityMeasure = IfcMagneticFluxDensityMeasure; + class IfcMagneticFluxMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcMagneticFluxMeasure = IfcMagneticFluxMeasure; + class IfcMassDensityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcMassDensityMeasure = IfcMassDensityMeasure; + class IfcMassFlowRateMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcMassFlowRateMeasure = IfcMassFlowRateMeasure; + class IfcMassMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcMassMeasure = IfcMassMeasure; + class IfcMassPerLengthMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcMassPerLengthMeasure = IfcMassPerLengthMeasure; + class IfcMinuteInHour { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcMinuteInHour = IfcMinuteInHour; + class IfcModulusOfElasticityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcModulusOfElasticityMeasure = IfcModulusOfElasticityMeasure; + class IfcModulusOfLinearSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcModulusOfLinearSubgradeReactionMeasure = IfcModulusOfLinearSubgradeReactionMeasure; + class IfcModulusOfRotationalSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcModulusOfRotationalSubgradeReactionMeasure = IfcModulusOfRotationalSubgradeReactionMeasure; + class IfcModulusOfSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcModulusOfSubgradeReactionMeasure = IfcModulusOfSubgradeReactionMeasure; + class IfcMoistureDiffusivityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcMoistureDiffusivityMeasure = IfcMoistureDiffusivityMeasure; + class IfcMolecularWeightMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcMolecularWeightMeasure = IfcMolecularWeightMeasure; + class IfcMomentOfInertiaMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcMomentOfInertiaMeasure = IfcMomentOfInertiaMeasure; + class IfcMonetaryMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcMonetaryMeasure = IfcMonetaryMeasure; + class IfcMonthInYearNumber { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcMonthInYearNumber = IfcMonthInYearNumber; + class IfcNormalisedRatioMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcNormalisedRatioMeasure = IfcNormalisedRatioMeasure; + class IfcNumericMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcNumericMeasure = IfcNumericMeasure; + class IfcPHMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcPHMeasure = IfcPHMeasure; + class IfcParameterValue { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcParameterValue = IfcParameterValue; + class IfcPlanarForceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcPlanarForceMeasure = IfcPlanarForceMeasure; + class IfcPlaneAngleMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcPlaneAngleMeasure = IfcPlaneAngleMeasure; + class IfcPositiveLengthMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcPositiveLengthMeasure = IfcPositiveLengthMeasure; + class IfcPositivePlaneAngleMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcPositivePlaneAngleMeasure = IfcPositivePlaneAngleMeasure; + class IfcPositiveRatioMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcPositiveRatioMeasure = IfcPositiveRatioMeasure; + class IfcPowerMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcPowerMeasure = IfcPowerMeasure; + class IfcPresentableText { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcPresentableText = IfcPresentableText; + class IfcPressureMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcPressureMeasure = IfcPressureMeasure; + class IfcRadioActivityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcRadioActivityMeasure = IfcRadioActivityMeasure; + class IfcRatioMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcRatioMeasure = IfcRatioMeasure; + class IfcReal { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcReal = IfcReal; + class IfcRotationalFrequencyMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcRotationalFrequencyMeasure = IfcRotationalFrequencyMeasure; + class IfcRotationalMassMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcRotationalMassMeasure = IfcRotationalMassMeasure; + class IfcRotationalStiffnessMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcRotationalStiffnessMeasure = IfcRotationalStiffnessMeasure; + class IfcSecondInMinute { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcSecondInMinute = IfcSecondInMinute; + class IfcSectionModulusMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcSectionModulusMeasure = IfcSectionModulusMeasure; + class IfcSectionalAreaIntegralMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcSectionalAreaIntegralMeasure = IfcSectionalAreaIntegralMeasure; + class IfcShearModulusMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcShearModulusMeasure = IfcShearModulusMeasure; + class IfcSolidAngleMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcSolidAngleMeasure = IfcSolidAngleMeasure; + class IfcSoundPowerMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcSoundPowerMeasure = IfcSoundPowerMeasure; + class IfcSoundPressureMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcSoundPressureMeasure = IfcSoundPressureMeasure; + class IfcSpecificHeatCapacityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcSpecificHeatCapacityMeasure = IfcSpecificHeatCapacityMeasure; + class IfcSpecularExponent { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcSpecularExponent = IfcSpecularExponent; + class IfcSpecularRoughness { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcSpecularRoughness = IfcSpecularRoughness; + class IfcTemperatureGradientMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcTemperatureGradientMeasure = IfcTemperatureGradientMeasure; + class IfcText { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcText = IfcText; + class IfcTextAlignment { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcTextAlignment = IfcTextAlignment; + class IfcTextDecoration { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcTextDecoration = IfcTextDecoration; + class IfcTextFontName { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcTextFontName = IfcTextFontName; + class IfcTextTransformation { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcTextTransformation = IfcTextTransformation; + class IfcThermalAdmittanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcThermalAdmittanceMeasure = IfcThermalAdmittanceMeasure; + class IfcThermalConductivityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcThermalConductivityMeasure = IfcThermalConductivityMeasure; + class IfcThermalExpansionCoefficientMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcThermalExpansionCoefficientMeasure = IfcThermalExpansionCoefficientMeasure; + class IfcThermalResistanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcThermalResistanceMeasure = IfcThermalResistanceMeasure; + class IfcThermalTransmittanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcThermalTransmittanceMeasure = IfcThermalTransmittanceMeasure; + class IfcThermodynamicTemperatureMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcThermodynamicTemperatureMeasure = IfcThermodynamicTemperatureMeasure; + class IfcTimeMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcTimeMeasure = IfcTimeMeasure; + class IfcTimeStamp { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcTimeStamp = IfcTimeStamp; + class IfcTorqueMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcTorqueMeasure = IfcTorqueMeasure; + class IfcVaporPermeabilityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcVaporPermeabilityMeasure = IfcVaporPermeabilityMeasure; + class IfcVolumeMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcVolumeMeasure = IfcVolumeMeasure; + class IfcVolumetricFlowRateMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcVolumetricFlowRateMeasure = IfcVolumetricFlowRateMeasure; + class IfcWarpingConstantMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcWarpingConstantMeasure = IfcWarpingConstantMeasure; + class IfcWarpingMomentMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcWarpingMomentMeasure = IfcWarpingMomentMeasure; + class IfcYearNumber { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC2X32.IfcYearNumber = IfcYearNumber; + class IfcActionSourceTypeEnum { + } + IfcActionSourceTypeEnum.DEAD_LOAD_G = { type: 3, value: "DEAD_LOAD_G" }; + IfcActionSourceTypeEnum.COMPLETION_G1 = { type: 3, value: "COMPLETION_G1" }; + IfcActionSourceTypeEnum.LIVE_LOAD_Q = { type: 3, value: "LIVE_LOAD_Q" }; + IfcActionSourceTypeEnum.SNOW_S = { type: 3, value: "SNOW_S" }; + IfcActionSourceTypeEnum.WIND_W = { type: 3, value: "WIND_W" }; + IfcActionSourceTypeEnum.PRESTRESSING_P = { type: 3, value: "PRESTRESSING_P" }; + IfcActionSourceTypeEnum.SETTLEMENT_U = { type: 3, value: "SETTLEMENT_U" }; + IfcActionSourceTypeEnum.TEMPERATURE_T = { type: 3, value: "TEMPERATURE_T" }; + IfcActionSourceTypeEnum.EARTHQUAKE_E = { type: 3, value: "EARTHQUAKE_E" }; + IfcActionSourceTypeEnum.FIRE = { type: 3, value: "FIRE" }; + IfcActionSourceTypeEnum.IMPULSE = { type: 3, value: "IMPULSE" }; + IfcActionSourceTypeEnum.IMPACT = { type: 3, value: "IMPACT" }; + IfcActionSourceTypeEnum.TRANSPORT = { type: 3, value: "TRANSPORT" }; + IfcActionSourceTypeEnum.ERECTION = { type: 3, value: "ERECTION" }; + IfcActionSourceTypeEnum.PROPPING = { type: 3, value: "PROPPING" }; + IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION = { type: 3, value: "SYSTEM_IMPERFECTION" }; + IfcActionSourceTypeEnum.SHRINKAGE = { type: 3, value: "SHRINKAGE" }; + IfcActionSourceTypeEnum.CREEP = { type: 3, value: "CREEP" }; + IfcActionSourceTypeEnum.LACK_OF_FIT = { type: 3, value: "LACK_OF_FIT" }; + IfcActionSourceTypeEnum.BUOYANCY = { type: 3, value: "BUOYANCY" }; + IfcActionSourceTypeEnum.ICE = { type: 3, value: "ICE" }; + IfcActionSourceTypeEnum.CURRENT = { type: 3, value: "CURRENT" }; + IfcActionSourceTypeEnum.WAVE = { type: 3, value: "WAVE" }; + IfcActionSourceTypeEnum.RAIN = { type: 3, value: "RAIN" }; + IfcActionSourceTypeEnum.BRAKES = { type: 3, value: "BRAKES" }; + IfcActionSourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActionSourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcActionSourceTypeEnum = IfcActionSourceTypeEnum; + class IfcActionTypeEnum { + } + IfcActionTypeEnum.PERMANENT_G = { type: 3, value: "PERMANENT_G" }; + IfcActionTypeEnum.VARIABLE_Q = { type: 3, value: "VARIABLE_Q" }; + IfcActionTypeEnum.EXTRAORDINARY_A = { type: 3, value: "EXTRAORDINARY_A" }; + IfcActionTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcActionTypeEnum = IfcActionTypeEnum; + class IfcActuatorTypeEnum { + } + IfcActuatorTypeEnum.ELECTRICACTUATOR = { type: 3, value: "ELECTRICACTUATOR" }; + IfcActuatorTypeEnum.HANDOPERATEDACTUATOR = { type: 3, value: "HANDOPERATEDACTUATOR" }; + IfcActuatorTypeEnum.HYDRAULICACTUATOR = { type: 3, value: "HYDRAULICACTUATOR" }; + IfcActuatorTypeEnum.PNEUMATICACTUATOR = { type: 3, value: "PNEUMATICACTUATOR" }; + IfcActuatorTypeEnum.THERMOSTATICACTUATOR = { type: 3, value: "THERMOSTATICACTUATOR" }; + IfcActuatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActuatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcActuatorTypeEnum = IfcActuatorTypeEnum; + class IfcAddressTypeEnum { + } + IfcAddressTypeEnum.OFFICE = { type: 3, value: "OFFICE" }; + IfcAddressTypeEnum.SITE = { type: 3, value: "SITE" }; + IfcAddressTypeEnum.HOME = { type: 3, value: "HOME" }; + IfcAddressTypeEnum.DISTRIBUTIONPOINT = { type: 3, value: "DISTRIBUTIONPOINT" }; + IfcAddressTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC2X32.IfcAddressTypeEnum = IfcAddressTypeEnum; + class IfcAheadOrBehind { + } + IfcAheadOrBehind.AHEAD = { type: 3, value: "AHEAD" }; + IfcAheadOrBehind.BEHIND = { type: 3, value: "BEHIND" }; + IFC2X32.IfcAheadOrBehind = IfcAheadOrBehind; + class IfcAirTerminalBoxTypeEnum { + } + IfcAirTerminalBoxTypeEnum.CONSTANTFLOW = { type: 3, value: "CONSTANTFLOW" }; + IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREDEPENDANT" }; + IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREINDEPENDANT" }; + IfcAirTerminalBoxTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirTerminalBoxTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcAirTerminalBoxTypeEnum = IfcAirTerminalBoxTypeEnum; + class IfcAirTerminalTypeEnum { + } + IfcAirTerminalTypeEnum.GRILLE = { type: 3, value: "GRILLE" }; + IfcAirTerminalTypeEnum.REGISTER = { type: 3, value: "REGISTER" }; + IfcAirTerminalTypeEnum.DIFFUSER = { type: 3, value: "DIFFUSER" }; + IfcAirTerminalTypeEnum.EYEBALL = { type: 3, value: "EYEBALL" }; + IfcAirTerminalTypeEnum.IRIS = { type: 3, value: "IRIS" }; + IfcAirTerminalTypeEnum.LINEARGRILLE = { type: 3, value: "LINEARGRILLE" }; + IfcAirTerminalTypeEnum.LINEARDIFFUSER = { type: 3, value: "LINEARDIFFUSER" }; + IfcAirTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcAirTerminalTypeEnum = IfcAirTerminalTypeEnum; + class IfcAirToAirHeatRecoveryTypeEnum { + } + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECOUNTERFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECROSSFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER = { type: 3, value: "FIXEDPLATEPARALLELFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL = { type: 3, value: "ROTARYWHEEL" }; + IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP = { type: 3, value: "RUNAROUNDCOILLOOP" }; + IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE = { type: 3, value: "HEATPIPE" }; + IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS = { type: 3, value: "TWINTOWERENTHALPYRECOVERYLOOPS" }; + IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONSEALEDTUBEHEATEXCHANGERS" }; + IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONCOILTYPEHEATEXCHANGERS" }; + IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcAirToAirHeatRecoveryTypeEnum = IfcAirToAirHeatRecoveryTypeEnum; + class IfcAlarmTypeEnum { + } + IfcAlarmTypeEnum.BELL = { type: 3, value: "BELL" }; + IfcAlarmTypeEnum.BREAKGLASSBUTTON = { type: 3, value: "BREAKGLASSBUTTON" }; + IfcAlarmTypeEnum.LIGHT = { type: 3, value: "LIGHT" }; + IfcAlarmTypeEnum.MANUALPULLBOX = { type: 3, value: "MANUALPULLBOX" }; + IfcAlarmTypeEnum.SIREN = { type: 3, value: "SIREN" }; + IfcAlarmTypeEnum.WHISTLE = { type: 3, value: "WHISTLE" }; + IfcAlarmTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAlarmTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcAlarmTypeEnum = IfcAlarmTypeEnum; + class IfcAnalysisModelTypeEnum { + } + IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D = { type: 3, value: "IN_PLANE_LOADING_2D" }; + IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D = { type: 3, value: "OUT_PLANE_LOADING_2D" }; + IfcAnalysisModelTypeEnum.LOADING_3D = { type: 3, value: "LOADING_3D" }; + IfcAnalysisModelTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAnalysisModelTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcAnalysisModelTypeEnum = IfcAnalysisModelTypeEnum; + class IfcAnalysisTheoryTypeEnum { + } + IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY = { type: 3, value: "FIRST_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY = { type: 3, value: "SECOND_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY = { type: 3, value: "THIRD_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY = { type: 3, value: "FULL_NONLINEAR_THEORY" }; + IfcAnalysisTheoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAnalysisTheoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcAnalysisTheoryTypeEnum = IfcAnalysisTheoryTypeEnum; + class IfcArithmeticOperatorEnum { + } + IfcArithmeticOperatorEnum.ADD = { type: 3, value: "ADD" }; + IfcArithmeticOperatorEnum.DIVIDE = { type: 3, value: "DIVIDE" }; + IfcArithmeticOperatorEnum.MULTIPLY = { type: 3, value: "MULTIPLY" }; + IfcArithmeticOperatorEnum.SUBTRACT = { type: 3, value: "SUBTRACT" }; + IFC2X32.IfcArithmeticOperatorEnum = IfcArithmeticOperatorEnum; + class IfcAssemblyPlaceEnum { + } + IfcAssemblyPlaceEnum.SITE = { type: 3, value: "SITE" }; + IfcAssemblyPlaceEnum.FACTORY = { type: 3, value: "FACTORY" }; + IfcAssemblyPlaceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcAssemblyPlaceEnum = IfcAssemblyPlaceEnum; + class IfcBSplineCurveForm { + } + IfcBSplineCurveForm.POLYLINE_FORM = { type: 3, value: "POLYLINE_FORM" }; + IfcBSplineCurveForm.CIRCULAR_ARC = { type: 3, value: "CIRCULAR_ARC" }; + IfcBSplineCurveForm.ELLIPTIC_ARC = { type: 3, value: "ELLIPTIC_ARC" }; + IfcBSplineCurveForm.PARABOLIC_ARC = { type: 3, value: "PARABOLIC_ARC" }; + IfcBSplineCurveForm.HYPERBOLIC_ARC = { type: 3, value: "HYPERBOLIC_ARC" }; + IfcBSplineCurveForm.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC2X32.IfcBSplineCurveForm = IfcBSplineCurveForm; + class IfcBeamTypeEnum { + } + IfcBeamTypeEnum.BEAM = { type: 3, value: "BEAM" }; + IfcBeamTypeEnum.JOIST = { type: 3, value: "JOIST" }; + IfcBeamTypeEnum.LINTEL = { type: 3, value: "LINTEL" }; + IfcBeamTypeEnum.T_BEAM = { type: 3, value: "T_BEAM" }; + IfcBeamTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBeamTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcBeamTypeEnum = IfcBeamTypeEnum; + class IfcBenchmarkEnum { + } + IfcBenchmarkEnum.GREATERTHAN = { type: 3, value: "GREATERTHAN" }; + IfcBenchmarkEnum.GREATERTHANOREQUALTO = { type: 3, value: "GREATERTHANOREQUALTO" }; + IfcBenchmarkEnum.LESSTHAN = { type: 3, value: "LESSTHAN" }; + IfcBenchmarkEnum.LESSTHANOREQUALTO = { type: 3, value: "LESSTHANOREQUALTO" }; + IfcBenchmarkEnum.EQUALTO = { type: 3, value: "EQUALTO" }; + IfcBenchmarkEnum.NOTEQUALTO = { type: 3, value: "NOTEQUALTO" }; + IFC2X32.IfcBenchmarkEnum = IfcBenchmarkEnum; + class IfcBoilerTypeEnum { + } + IfcBoilerTypeEnum.WATER = { type: 3, value: "WATER" }; + IfcBoilerTypeEnum.STEAM = { type: 3, value: "STEAM" }; + IfcBoilerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBoilerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcBoilerTypeEnum = IfcBoilerTypeEnum; + class IfcBooleanOperator { + } + IfcBooleanOperator.UNION = { type: 3, value: "UNION" }; + IfcBooleanOperator.INTERSECTION = { type: 3, value: "INTERSECTION" }; + IfcBooleanOperator.DIFFERENCE = { type: 3, value: "DIFFERENCE" }; + IFC2X32.IfcBooleanOperator = IfcBooleanOperator; + class IfcBuildingElementProxyTypeEnum { + } + IfcBuildingElementProxyTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBuildingElementProxyTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcBuildingElementProxyTypeEnum = IfcBuildingElementProxyTypeEnum; + class IfcCableCarrierFittingTypeEnum { + } + IfcCableCarrierFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcCableCarrierFittingTypeEnum.CROSS = { type: 3, value: "CROSS" }; + IfcCableCarrierFittingTypeEnum.REDUCER = { type: 3, value: "REDUCER" }; + IfcCableCarrierFittingTypeEnum.TEE = { type: 3, value: "TEE" }; + IfcCableCarrierFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableCarrierFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCableCarrierFittingTypeEnum = IfcCableCarrierFittingTypeEnum; + class IfcCableCarrierSegmentTypeEnum { + } + IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT = { type: 3, value: "CABLELADDERSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT = { type: 3, value: "CABLETRAYSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT = { type: 3, value: "CABLETRUNKINGSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT = { type: 3, value: "CONDUITSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableCarrierSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCableCarrierSegmentTypeEnum = IfcCableCarrierSegmentTypeEnum; + class IfcCableSegmentTypeEnum { + } + IfcCableSegmentTypeEnum.CABLESEGMENT = { type: 3, value: "CABLESEGMENT" }; + IfcCableSegmentTypeEnum.CONDUCTORSEGMENT = { type: 3, value: "CONDUCTORSEGMENT" }; + IfcCableSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCableSegmentTypeEnum = IfcCableSegmentTypeEnum; + class IfcChangeActionEnum { + } + IfcChangeActionEnum.NOCHANGE = { type: 3, value: "NOCHANGE" }; + IfcChangeActionEnum.MODIFIED = { type: 3, value: "MODIFIED" }; + IfcChangeActionEnum.ADDED = { type: 3, value: "ADDED" }; + IfcChangeActionEnum.DELETED = { type: 3, value: "DELETED" }; + IfcChangeActionEnum.MODIFIEDADDED = { type: 3, value: "MODIFIEDADDED" }; + IfcChangeActionEnum.MODIFIEDDELETED = { type: 3, value: "MODIFIEDDELETED" }; + IFC2X32.IfcChangeActionEnum = IfcChangeActionEnum; + class IfcChillerTypeEnum { + } + IfcChillerTypeEnum.AIRCOOLED = { type: 3, value: "AIRCOOLED" }; + IfcChillerTypeEnum.WATERCOOLED = { type: 3, value: "WATERCOOLED" }; + IfcChillerTypeEnum.HEATRECOVERY = { type: 3, value: "HEATRECOVERY" }; + IfcChillerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcChillerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcChillerTypeEnum = IfcChillerTypeEnum; + class IfcCoilTypeEnum { + } + IfcCoilTypeEnum.DXCOOLINGCOIL = { type: 3, value: "DXCOOLINGCOIL" }; + IfcCoilTypeEnum.WATERCOOLINGCOIL = { type: 3, value: "WATERCOOLINGCOIL" }; + IfcCoilTypeEnum.STEAMHEATINGCOIL = { type: 3, value: "STEAMHEATINGCOIL" }; + IfcCoilTypeEnum.WATERHEATINGCOIL = { type: 3, value: "WATERHEATINGCOIL" }; + IfcCoilTypeEnum.ELECTRICHEATINGCOIL = { type: 3, value: "ELECTRICHEATINGCOIL" }; + IfcCoilTypeEnum.GASHEATINGCOIL = { type: 3, value: "GASHEATINGCOIL" }; + IfcCoilTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoilTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCoilTypeEnum = IfcCoilTypeEnum; + class IfcColumnTypeEnum { + } + IfcColumnTypeEnum.COLUMN = { type: 3, value: "COLUMN" }; + IfcColumnTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcColumnTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcColumnTypeEnum = IfcColumnTypeEnum; + class IfcCompressorTypeEnum { + } + IfcCompressorTypeEnum.DYNAMIC = { type: 3, value: "DYNAMIC" }; + IfcCompressorTypeEnum.RECIPROCATING = { type: 3, value: "RECIPROCATING" }; + IfcCompressorTypeEnum.ROTARY = { type: 3, value: "ROTARY" }; + IfcCompressorTypeEnum.SCROLL = { type: 3, value: "SCROLL" }; + IfcCompressorTypeEnum.TROCHOIDAL = { type: 3, value: "TROCHOIDAL" }; + IfcCompressorTypeEnum.SINGLESTAGE = { type: 3, value: "SINGLESTAGE" }; + IfcCompressorTypeEnum.BOOSTER = { type: 3, value: "BOOSTER" }; + IfcCompressorTypeEnum.OPENTYPE = { type: 3, value: "OPENTYPE" }; + IfcCompressorTypeEnum.HERMETIC = { type: 3, value: "HERMETIC" }; + IfcCompressorTypeEnum.SEMIHERMETIC = { type: 3, value: "SEMIHERMETIC" }; + IfcCompressorTypeEnum.WELDEDSHELLHERMETIC = { type: 3, value: "WELDEDSHELLHERMETIC" }; + IfcCompressorTypeEnum.ROLLINGPISTON = { type: 3, value: "ROLLINGPISTON" }; + IfcCompressorTypeEnum.ROTARYVANE = { type: 3, value: "ROTARYVANE" }; + IfcCompressorTypeEnum.SINGLESCREW = { type: 3, value: "SINGLESCREW" }; + IfcCompressorTypeEnum.TWINSCREW = { type: 3, value: "TWINSCREW" }; + IfcCompressorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCompressorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCompressorTypeEnum = IfcCompressorTypeEnum; + class IfcCondenserTypeEnum { + } + IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE = { type: 3, value: "WATERCOOLEDSHELLTUBE" }; + IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL = { type: 3, value: "WATERCOOLEDSHELLCOIL" }; + IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE = { type: 3, value: "WATERCOOLEDTUBEINTUBE" }; + IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE = { type: 3, value: "WATERCOOLEDBRAZEDPLATE" }; + IfcCondenserTypeEnum.AIRCOOLED = { type: 3, value: "AIRCOOLED" }; + IfcCondenserTypeEnum.EVAPORATIVECOOLED = { type: 3, value: "EVAPORATIVECOOLED" }; + IfcCondenserTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCondenserTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCondenserTypeEnum = IfcCondenserTypeEnum; + class IfcConnectionTypeEnum { + } + IfcConnectionTypeEnum.ATPATH = { type: 3, value: "ATPATH" }; + IfcConnectionTypeEnum.ATSTART = { type: 3, value: "ATSTART" }; + IfcConnectionTypeEnum.ATEND = { type: 3, value: "ATEND" }; + IfcConnectionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcConnectionTypeEnum = IfcConnectionTypeEnum; + class IfcConstraintEnum { + } + IfcConstraintEnum.HARD = { type: 3, value: "HARD" }; + IfcConstraintEnum.SOFT = { type: 3, value: "SOFT" }; + IfcConstraintEnum.ADVISORY = { type: 3, value: "ADVISORY" }; + IfcConstraintEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConstraintEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcConstraintEnum = IfcConstraintEnum; + class IfcControllerTypeEnum { + } + IfcControllerTypeEnum.FLOATING = { type: 3, value: "FLOATING" }; + IfcControllerTypeEnum.PROPORTIONAL = { type: 3, value: "PROPORTIONAL" }; + IfcControllerTypeEnum.PROPORTIONALINTEGRAL = { type: 3, value: "PROPORTIONALINTEGRAL" }; + IfcControllerTypeEnum.PROPORTIONALINTEGRALDERIVATIVE = { type: 3, value: "PROPORTIONALINTEGRALDERIVATIVE" }; + IfcControllerTypeEnum.TIMEDTWOPOSITION = { type: 3, value: "TIMEDTWOPOSITION" }; + IfcControllerTypeEnum.TWOPOSITION = { type: 3, value: "TWOPOSITION" }; + IfcControllerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcControllerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcControllerTypeEnum = IfcControllerTypeEnum; + class IfcCooledBeamTypeEnum { + } + IfcCooledBeamTypeEnum.ACTIVE = { type: 3, value: "ACTIVE" }; + IfcCooledBeamTypeEnum.PASSIVE = { type: 3, value: "PASSIVE" }; + IfcCooledBeamTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCooledBeamTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCooledBeamTypeEnum = IfcCooledBeamTypeEnum; + class IfcCoolingTowerTypeEnum { + } + IfcCoolingTowerTypeEnum.NATURALDRAFT = { type: 3, value: "NATURALDRAFT" }; + IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT = { type: 3, value: "MECHANICALINDUCEDDRAFT" }; + IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT = { type: 3, value: "MECHANICALFORCEDDRAFT" }; + IfcCoolingTowerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoolingTowerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCoolingTowerTypeEnum = IfcCoolingTowerTypeEnum; + class IfcCostScheduleTypeEnum { + } + IfcCostScheduleTypeEnum.BUDGET = { type: 3, value: "BUDGET" }; + IfcCostScheduleTypeEnum.COSTPLAN = { type: 3, value: "COSTPLAN" }; + IfcCostScheduleTypeEnum.ESTIMATE = { type: 3, value: "ESTIMATE" }; + IfcCostScheduleTypeEnum.TENDER = { type: 3, value: "TENDER" }; + IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES = { type: 3, value: "PRICEDBILLOFQUANTITIES" }; + IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES = { type: 3, value: "UNPRICEDBILLOFQUANTITIES" }; + IfcCostScheduleTypeEnum.SCHEDULEOFRATES = { type: 3, value: "SCHEDULEOFRATES" }; + IfcCostScheduleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCostScheduleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCostScheduleTypeEnum = IfcCostScheduleTypeEnum; + class IfcCoveringTypeEnum { + } + IfcCoveringTypeEnum.CEILING = { type: 3, value: "CEILING" }; + IfcCoveringTypeEnum.FLOORING = { type: 3, value: "FLOORING" }; + IfcCoveringTypeEnum.CLADDING = { type: 3, value: "CLADDING" }; + IfcCoveringTypeEnum.ROOFING = { type: 3, value: "ROOFING" }; + IfcCoveringTypeEnum.INSULATION = { type: 3, value: "INSULATION" }; + IfcCoveringTypeEnum.MEMBRANE = { type: 3, value: "MEMBRANE" }; + IfcCoveringTypeEnum.SLEEVING = { type: 3, value: "SLEEVING" }; + IfcCoveringTypeEnum.WRAPPING = { type: 3, value: "WRAPPING" }; + IfcCoveringTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoveringTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCoveringTypeEnum = IfcCoveringTypeEnum; + class IfcCurrencyEnum { + } + IfcCurrencyEnum.AED = { type: 3, value: "AED" }; + IfcCurrencyEnum.AES = { type: 3, value: "AES" }; + IfcCurrencyEnum.ATS = { type: 3, value: "ATS" }; + IfcCurrencyEnum.AUD = { type: 3, value: "AUD" }; + IfcCurrencyEnum.BBD = { type: 3, value: "BBD" }; + IfcCurrencyEnum.BEG = { type: 3, value: "BEG" }; + IfcCurrencyEnum.BGL = { type: 3, value: "BGL" }; + IfcCurrencyEnum.BHD = { type: 3, value: "BHD" }; + IfcCurrencyEnum.BMD = { type: 3, value: "BMD" }; + IfcCurrencyEnum.BND = { type: 3, value: "BND" }; + IfcCurrencyEnum.BRL = { type: 3, value: "BRL" }; + IfcCurrencyEnum.BSD = { type: 3, value: "BSD" }; + IfcCurrencyEnum.BWP = { type: 3, value: "BWP" }; + IfcCurrencyEnum.BZD = { type: 3, value: "BZD" }; + IfcCurrencyEnum.CAD = { type: 3, value: "CAD" }; + IfcCurrencyEnum.CBD = { type: 3, value: "CBD" }; + IfcCurrencyEnum.CHF = { type: 3, value: "CHF" }; + IfcCurrencyEnum.CLP = { type: 3, value: "CLP" }; + IfcCurrencyEnum.CNY = { type: 3, value: "CNY" }; + IfcCurrencyEnum.CYS = { type: 3, value: "CYS" }; + IfcCurrencyEnum.CZK = { type: 3, value: "CZK" }; + IfcCurrencyEnum.DDP = { type: 3, value: "DDP" }; + IfcCurrencyEnum.DEM = { type: 3, value: "DEM" }; + IfcCurrencyEnum.DKK = { type: 3, value: "DKK" }; + IfcCurrencyEnum.EGL = { type: 3, value: "EGL" }; + IfcCurrencyEnum.EST = { type: 3, value: "EST" }; + IfcCurrencyEnum.EUR = { type: 3, value: "EUR" }; + IfcCurrencyEnum.FAK = { type: 3, value: "FAK" }; + IfcCurrencyEnum.FIM = { type: 3, value: "FIM" }; + IfcCurrencyEnum.FJD = { type: 3, value: "FJD" }; + IfcCurrencyEnum.FKP = { type: 3, value: "FKP" }; + IfcCurrencyEnum.FRF = { type: 3, value: "FRF" }; + IfcCurrencyEnum.GBP = { type: 3, value: "GBP" }; + IfcCurrencyEnum.GIP = { type: 3, value: "GIP" }; + IfcCurrencyEnum.GMD = { type: 3, value: "GMD" }; + IfcCurrencyEnum.GRX = { type: 3, value: "GRX" }; + IfcCurrencyEnum.HKD = { type: 3, value: "HKD" }; + IfcCurrencyEnum.HUF = { type: 3, value: "HUF" }; + IfcCurrencyEnum.ICK = { type: 3, value: "ICK" }; + IfcCurrencyEnum.IDR = { type: 3, value: "IDR" }; + IfcCurrencyEnum.ILS = { type: 3, value: "ILS" }; + IfcCurrencyEnum.INR = { type: 3, value: "INR" }; + IfcCurrencyEnum.IRP = { type: 3, value: "IRP" }; + IfcCurrencyEnum.ITL = { type: 3, value: "ITL" }; + IfcCurrencyEnum.JMD = { type: 3, value: "JMD" }; + IfcCurrencyEnum.JOD = { type: 3, value: "JOD" }; + IfcCurrencyEnum.JPY = { type: 3, value: "JPY" }; + IfcCurrencyEnum.KES = { type: 3, value: "KES" }; + IfcCurrencyEnum.KRW = { type: 3, value: "KRW" }; + IfcCurrencyEnum.KWD = { type: 3, value: "KWD" }; + IfcCurrencyEnum.KYD = { type: 3, value: "KYD" }; + IfcCurrencyEnum.LKR = { type: 3, value: "LKR" }; + IfcCurrencyEnum.LUF = { type: 3, value: "LUF" }; + IfcCurrencyEnum.MTL = { type: 3, value: "MTL" }; + IfcCurrencyEnum.MUR = { type: 3, value: "MUR" }; + IfcCurrencyEnum.MXN = { type: 3, value: "MXN" }; + IfcCurrencyEnum.MYR = { type: 3, value: "MYR" }; + IfcCurrencyEnum.NLG = { type: 3, value: "NLG" }; + IfcCurrencyEnum.NZD = { type: 3, value: "NZD" }; + IfcCurrencyEnum.OMR = { type: 3, value: "OMR" }; + IfcCurrencyEnum.PGK = { type: 3, value: "PGK" }; + IfcCurrencyEnum.PHP = { type: 3, value: "PHP" }; + IfcCurrencyEnum.PKR = { type: 3, value: "PKR" }; + IfcCurrencyEnum.PLN = { type: 3, value: "PLN" }; + IfcCurrencyEnum.PTN = { type: 3, value: "PTN" }; + IfcCurrencyEnum.QAR = { type: 3, value: "QAR" }; + IfcCurrencyEnum.RUR = { type: 3, value: "RUR" }; + IfcCurrencyEnum.SAR = { type: 3, value: "SAR" }; + IfcCurrencyEnum.SCR = { type: 3, value: "SCR" }; + IfcCurrencyEnum.SEK = { type: 3, value: "SEK" }; + IfcCurrencyEnum.SGD = { type: 3, value: "SGD" }; + IfcCurrencyEnum.SKP = { type: 3, value: "SKP" }; + IfcCurrencyEnum.THB = { type: 3, value: "THB" }; + IfcCurrencyEnum.TRL = { type: 3, value: "TRL" }; + IfcCurrencyEnum.TTD = { type: 3, value: "TTD" }; + IfcCurrencyEnum.TWD = { type: 3, value: "TWD" }; + IfcCurrencyEnum.USD = { type: 3, value: "USD" }; + IfcCurrencyEnum.VEB = { type: 3, value: "VEB" }; + IfcCurrencyEnum.VND = { type: 3, value: "VND" }; + IfcCurrencyEnum.XEU = { type: 3, value: "XEU" }; + IfcCurrencyEnum.ZAR = { type: 3, value: "ZAR" }; + IfcCurrencyEnum.ZWD = { type: 3, value: "ZWD" }; + IfcCurrencyEnum.NOK = { type: 3, value: "NOK" }; + IFC2X32.IfcCurrencyEnum = IfcCurrencyEnum; + class IfcCurtainWallTypeEnum { + } + IfcCurtainWallTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCurtainWallTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCurtainWallTypeEnum = IfcCurtainWallTypeEnum; + class IfcDamperTypeEnum { + } + IfcDamperTypeEnum.CONTROLDAMPER = { type: 3, value: "CONTROLDAMPER" }; + IfcDamperTypeEnum.FIREDAMPER = { type: 3, value: "FIREDAMPER" }; + IfcDamperTypeEnum.SMOKEDAMPER = { type: 3, value: "SMOKEDAMPER" }; + IfcDamperTypeEnum.FIRESMOKEDAMPER = { type: 3, value: "FIRESMOKEDAMPER" }; + IfcDamperTypeEnum.BACKDRAFTDAMPER = { type: 3, value: "BACKDRAFTDAMPER" }; + IfcDamperTypeEnum.RELIEFDAMPER = { type: 3, value: "RELIEFDAMPER" }; + IfcDamperTypeEnum.BLASTDAMPER = { type: 3, value: "BLASTDAMPER" }; + IfcDamperTypeEnum.GRAVITYDAMPER = { type: 3, value: "GRAVITYDAMPER" }; + IfcDamperTypeEnum.GRAVITYRELIEFDAMPER = { type: 3, value: "GRAVITYRELIEFDAMPER" }; + IfcDamperTypeEnum.BALANCINGDAMPER = { type: 3, value: "BALANCINGDAMPER" }; + IfcDamperTypeEnum.FUMEHOODEXHAUST = { type: 3, value: "FUMEHOODEXHAUST" }; + IfcDamperTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDamperTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDamperTypeEnum = IfcDamperTypeEnum; + class IfcDataOriginEnum { + } + IfcDataOriginEnum.MEASURED = { type: 3, value: "MEASURED" }; + IfcDataOriginEnum.PREDICTED = { type: 3, value: "PREDICTED" }; + IfcDataOriginEnum.SIMULATED = { type: 3, value: "SIMULATED" }; + IfcDataOriginEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDataOriginEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDataOriginEnum = IfcDataOriginEnum; + class IfcDerivedUnitEnum { + } + IfcDerivedUnitEnum.ANGULARVELOCITYUNIT = { type: 3, value: "ANGULARVELOCITYUNIT" }; + IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT = { type: 3, value: "COMPOUNDPLANEANGLEUNIT" }; + IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT = { type: 3, value: "DYNAMICVISCOSITYUNIT" }; + IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT = { type: 3, value: "HEATFLUXDENSITYUNIT" }; + IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT = { type: 3, value: "INTEGERCOUNTRATEUNIT" }; + IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT = { type: 3, value: "ISOTHERMALMOISTURECAPACITYUNIT" }; + IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT = { type: 3, value: "KINEMATICVISCOSITYUNIT" }; + IfcDerivedUnitEnum.LINEARVELOCITYUNIT = { type: 3, value: "LINEARVELOCITYUNIT" }; + IfcDerivedUnitEnum.MASSDENSITYUNIT = { type: 3, value: "MASSDENSITYUNIT" }; + IfcDerivedUnitEnum.MASSFLOWRATEUNIT = { type: 3, value: "MASSFLOWRATEUNIT" }; + IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT = { type: 3, value: "MOISTUREDIFFUSIVITYUNIT" }; + IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT = { type: 3, value: "MOLECULARWEIGHTUNIT" }; + IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT = { type: 3, value: "SPECIFICHEATCAPACITYUNIT" }; + IfcDerivedUnitEnum.THERMALADMITTANCEUNIT = { type: 3, value: "THERMALADMITTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT = { type: 3, value: "THERMALCONDUCTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALRESISTANCEUNIT = { type: 3, value: "THERMALRESISTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT = { type: 3, value: "THERMALTRANSMITTANCEUNIT" }; + IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT = { type: 3, value: "VAPORPERMEABILITYUNIT" }; + IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT = { type: 3, value: "VOLUMETRICFLOWRATEUNIT" }; + IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT = { type: 3, value: "ROTATIONALFREQUENCYUNIT" }; + IfcDerivedUnitEnum.TORQUEUNIT = { type: 3, value: "TORQUEUNIT" }; + IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT = { type: 3, value: "MOMENTOFINERTIAUNIT" }; + IfcDerivedUnitEnum.LINEARMOMENTUNIT = { type: 3, value: "LINEARMOMENTUNIT" }; + IfcDerivedUnitEnum.LINEARFORCEUNIT = { type: 3, value: "LINEARFORCEUNIT" }; + IfcDerivedUnitEnum.PLANARFORCEUNIT = { type: 3, value: "PLANARFORCEUNIT" }; + IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT = { type: 3, value: "MODULUSOFELASTICITYUNIT" }; + IfcDerivedUnitEnum.SHEARMODULUSUNIT = { type: 3, value: "SHEARMODULUSUNIT" }; + IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT = { type: 3, value: "LINEARSTIFFNESSUNIT" }; + IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT = { type: 3, value: "ROTATIONALSTIFFNESSUNIT" }; + IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.ACCELERATIONUNIT = { type: 3, value: "ACCELERATIONUNIT" }; + IfcDerivedUnitEnum.CURVATUREUNIT = { type: 3, value: "CURVATUREUNIT" }; + IfcDerivedUnitEnum.HEATINGVALUEUNIT = { type: 3, value: "HEATINGVALUEUNIT" }; + IfcDerivedUnitEnum.IONCONCENTRATIONUNIT = { type: 3, value: "IONCONCENTRATIONUNIT" }; + IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT = { type: 3, value: "LUMINOUSINTENSITYDISTRIBUTIONUNIT" }; + IfcDerivedUnitEnum.MASSPERLENGTHUNIT = { type: 3, value: "MASSPERLENGTHUNIT" }; + IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFLINEARSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFROTATIONALSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.PHUNIT = { type: 3, value: "PHUNIT" }; + IfcDerivedUnitEnum.ROTATIONALMASSUNIT = { type: 3, value: "ROTATIONALMASSUNIT" }; + IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT = { type: 3, value: "SECTIONAREAINTEGRALUNIT" }; + IfcDerivedUnitEnum.SECTIONMODULUSUNIT = { type: 3, value: "SECTIONMODULUSUNIT" }; + IfcDerivedUnitEnum.SOUNDPOWERUNIT = { type: 3, value: "SOUNDPOWERUNIT" }; + IfcDerivedUnitEnum.SOUNDPRESSUREUNIT = { type: 3, value: "SOUNDPRESSUREUNIT" }; + IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT = { type: 3, value: "TEMPERATUREGRADIENTUNIT" }; + IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT = { type: 3, value: "THERMALEXPANSIONCOEFFICIENTUNIT" }; + IfcDerivedUnitEnum.WARPINGCONSTANTUNIT = { type: 3, value: "WARPINGCONSTANTUNIT" }; + IfcDerivedUnitEnum.WARPINGMOMENTUNIT = { type: 3, value: "WARPINGMOMENTUNIT" }; + IfcDerivedUnitEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC2X32.IfcDerivedUnitEnum = IfcDerivedUnitEnum; + class IfcDimensionExtentUsage { + } + IfcDimensionExtentUsage.ORIGIN = { type: 3, value: "ORIGIN" }; + IfcDimensionExtentUsage.TARGET = { type: 3, value: "TARGET" }; + IFC2X32.IfcDimensionExtentUsage = IfcDimensionExtentUsage; + class IfcDirectionSenseEnum { + } + IfcDirectionSenseEnum.POSITIVE = { type: 3, value: "POSITIVE" }; + IfcDirectionSenseEnum.NEGATIVE = { type: 3, value: "NEGATIVE" }; + IFC2X32.IfcDirectionSenseEnum = IfcDirectionSenseEnum; + class IfcDistributionChamberElementTypeEnum { + } + IfcDistributionChamberElementTypeEnum.FORMEDDUCT = { type: 3, value: "FORMEDDUCT" }; + IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER = { type: 3, value: "INSPECTIONCHAMBER" }; + IfcDistributionChamberElementTypeEnum.INSPECTIONPIT = { type: 3, value: "INSPECTIONPIT" }; + IfcDistributionChamberElementTypeEnum.MANHOLE = { type: 3, value: "MANHOLE" }; + IfcDistributionChamberElementTypeEnum.METERCHAMBER = { type: 3, value: "METERCHAMBER" }; + IfcDistributionChamberElementTypeEnum.SUMP = { type: 3, value: "SUMP" }; + IfcDistributionChamberElementTypeEnum.TRENCH = { type: 3, value: "TRENCH" }; + IfcDistributionChamberElementTypeEnum.VALVECHAMBER = { type: 3, value: "VALVECHAMBER" }; + IfcDistributionChamberElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDistributionChamberElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDistributionChamberElementTypeEnum = IfcDistributionChamberElementTypeEnum; + class IfcDocumentConfidentialityEnum { + } + IfcDocumentConfidentialityEnum.PUBLIC = { type: 3, value: "PUBLIC" }; + IfcDocumentConfidentialityEnum.RESTRICTED = { type: 3, value: "RESTRICTED" }; + IfcDocumentConfidentialityEnum.CONFIDENTIAL = { type: 3, value: "CONFIDENTIAL" }; + IfcDocumentConfidentialityEnum.PERSONAL = { type: 3, value: "PERSONAL" }; + IfcDocumentConfidentialityEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDocumentConfidentialityEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDocumentConfidentialityEnum = IfcDocumentConfidentialityEnum; + class IfcDocumentStatusEnum { + } + IfcDocumentStatusEnum.DRAFT = { type: 3, value: "DRAFT" }; + IfcDocumentStatusEnum.FINALDRAFT = { type: 3, value: "FINALDRAFT" }; + IfcDocumentStatusEnum.FINAL = { type: 3, value: "FINAL" }; + IfcDocumentStatusEnum.REVISION = { type: 3, value: "REVISION" }; + IfcDocumentStatusEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDocumentStatusEnum = IfcDocumentStatusEnum; + class IfcDoorPanelOperationEnum { + } + IfcDoorPanelOperationEnum.SWINGING = { type: 3, value: "SWINGING" }; + IfcDoorPanelOperationEnum.DOUBLE_ACTING = { type: 3, value: "DOUBLE_ACTING" }; + IfcDoorPanelOperationEnum.SLIDING = { type: 3, value: "SLIDING" }; + IfcDoorPanelOperationEnum.FOLDING = { type: 3, value: "FOLDING" }; + IfcDoorPanelOperationEnum.REVOLVING = { type: 3, value: "REVOLVING" }; + IfcDoorPanelOperationEnum.ROLLINGUP = { type: 3, value: "ROLLINGUP" }; + IfcDoorPanelOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorPanelOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDoorPanelOperationEnum = IfcDoorPanelOperationEnum; + class IfcDoorPanelPositionEnum { + } + IfcDoorPanelPositionEnum.LEFT = { type: 3, value: "LEFT" }; + IfcDoorPanelPositionEnum.MIDDLE = { type: 3, value: "MIDDLE" }; + IfcDoorPanelPositionEnum.RIGHT = { type: 3, value: "RIGHT" }; + IfcDoorPanelPositionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDoorPanelPositionEnum = IfcDoorPanelPositionEnum; + class IfcDoorStyleConstructionEnum { + } + IfcDoorStyleConstructionEnum.ALUMINIUM = { type: 3, value: "ALUMINIUM" }; + IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL = { type: 3, value: "HIGH_GRADE_STEEL" }; + IfcDoorStyleConstructionEnum.STEEL = { type: 3, value: "STEEL" }; + IfcDoorStyleConstructionEnum.WOOD = { type: 3, value: "WOOD" }; + IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD = { type: 3, value: "ALUMINIUM_WOOD" }; + IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC = { type: 3, value: "ALUMINIUM_PLASTIC" }; + IfcDoorStyleConstructionEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcDoorStyleConstructionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorStyleConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDoorStyleConstructionEnum = IfcDoorStyleConstructionEnum; + class IfcDoorStyleOperationEnum { + } + IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT = { type: 3, value: "SINGLE_SWING_LEFT" }; + IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT = { type: 3, value: "SINGLE_SWING_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT = { type: 3, value: "DOUBLE_SWING_LEFT" }; + IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT = { type: 3, value: "DOUBLE_SWING_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING = { type: 3, value: "DOUBLE_DOOR_DOUBLE_SWING" }; + IfcDoorStyleOperationEnum.SLIDING_TO_LEFT = { type: 3, value: "SLIDING_TO_LEFT" }; + IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT = { type: 3, value: "SLIDING_TO_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING = { type: 3, value: "DOUBLE_DOOR_SLIDING" }; + IfcDoorStyleOperationEnum.FOLDING_TO_LEFT = { type: 3, value: "FOLDING_TO_LEFT" }; + IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT = { type: 3, value: "FOLDING_TO_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING = { type: 3, value: "DOUBLE_DOOR_FOLDING" }; + IfcDoorStyleOperationEnum.REVOLVING = { type: 3, value: "REVOLVING" }; + IfcDoorStyleOperationEnum.ROLLINGUP = { type: 3, value: "ROLLINGUP" }; + IfcDoorStyleOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorStyleOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDoorStyleOperationEnum = IfcDoorStyleOperationEnum; + class IfcDuctFittingTypeEnum { + } + IfcDuctFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcDuctFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcDuctFittingTypeEnum.ENTRY = { type: 3, value: "ENTRY" }; + IfcDuctFittingTypeEnum.EXIT = { type: 3, value: "EXIT" }; + IfcDuctFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcDuctFittingTypeEnum.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" }; + IfcDuctFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcDuctFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDuctFittingTypeEnum = IfcDuctFittingTypeEnum; + class IfcDuctSegmentTypeEnum { + } + IfcDuctSegmentTypeEnum.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" }; + IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" }; + IfcDuctSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDuctSegmentTypeEnum = IfcDuctSegmentTypeEnum; + class IfcDuctSilencerTypeEnum { + } + IfcDuctSilencerTypeEnum.FLATOVAL = { type: 3, value: "FLATOVAL" }; + IfcDuctSilencerTypeEnum.RECTANGULAR = { type: 3, value: "RECTANGULAR" }; + IfcDuctSilencerTypeEnum.ROUND = { type: 3, value: "ROUND" }; + IfcDuctSilencerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctSilencerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDuctSilencerTypeEnum = IfcDuctSilencerTypeEnum; + class IfcElectricApplianceTypeEnum { + } + IfcElectricApplianceTypeEnum.COMPUTER = { type: 3, value: "COMPUTER" }; + IfcElectricApplianceTypeEnum.DIRECTWATERHEATER = { type: 3, value: "DIRECTWATERHEATER" }; + IfcElectricApplianceTypeEnum.DISHWASHER = { type: 3, value: "DISHWASHER" }; + IfcElectricApplianceTypeEnum.ELECTRICCOOKER = { type: 3, value: "ELECTRICCOOKER" }; + IfcElectricApplianceTypeEnum.ELECTRICHEATER = { type: 3, value: "ELECTRICHEATER" }; + IfcElectricApplianceTypeEnum.FACSIMILE = { type: 3, value: "FACSIMILE" }; + IfcElectricApplianceTypeEnum.FREESTANDINGFAN = { type: 3, value: "FREESTANDINGFAN" }; + IfcElectricApplianceTypeEnum.FREEZER = { type: 3, value: "FREEZER" }; + IfcElectricApplianceTypeEnum.FRIDGE_FREEZER = { type: 3, value: "FRIDGE_FREEZER" }; + IfcElectricApplianceTypeEnum.HANDDRYER = { type: 3, value: "HANDDRYER" }; + IfcElectricApplianceTypeEnum.INDIRECTWATERHEATER = { type: 3, value: "INDIRECTWATERHEATER" }; + IfcElectricApplianceTypeEnum.MICROWAVE = { type: 3, value: "MICROWAVE" }; + IfcElectricApplianceTypeEnum.PHOTOCOPIER = { type: 3, value: "PHOTOCOPIER" }; + IfcElectricApplianceTypeEnum.PRINTER = { type: 3, value: "PRINTER" }; + IfcElectricApplianceTypeEnum.REFRIGERATOR = { type: 3, value: "REFRIGERATOR" }; + IfcElectricApplianceTypeEnum.RADIANTHEATER = { type: 3, value: "RADIANTHEATER" }; + IfcElectricApplianceTypeEnum.SCANNER = { type: 3, value: "SCANNER" }; + IfcElectricApplianceTypeEnum.TELEPHONE = { type: 3, value: "TELEPHONE" }; + IfcElectricApplianceTypeEnum.TUMBLEDRYER = { type: 3, value: "TUMBLEDRYER" }; + IfcElectricApplianceTypeEnum.TV = { type: 3, value: "TV" }; + IfcElectricApplianceTypeEnum.VENDINGMACHINE = { type: 3, value: "VENDINGMACHINE" }; + IfcElectricApplianceTypeEnum.WASHINGMACHINE = { type: 3, value: "WASHINGMACHINE" }; + IfcElectricApplianceTypeEnum.WATERHEATER = { type: 3, value: "WATERHEATER" }; + IfcElectricApplianceTypeEnum.WATERCOOLER = { type: 3, value: "WATERCOOLER" }; + IfcElectricApplianceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricApplianceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElectricApplianceTypeEnum = IfcElectricApplianceTypeEnum; + class IfcElectricCurrentEnum { + } + IfcElectricCurrentEnum.ALTERNATING = { type: 3, value: "ALTERNATING" }; + IfcElectricCurrentEnum.DIRECT = { type: 3, value: "DIRECT" }; + IfcElectricCurrentEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElectricCurrentEnum = IfcElectricCurrentEnum; + class IfcElectricDistributionPointFunctionEnum { + } + IfcElectricDistributionPointFunctionEnum.ALARMPANEL = { type: 3, value: "ALARMPANEL" }; + IfcElectricDistributionPointFunctionEnum.CONSUMERUNIT = { type: 3, value: "CONSUMERUNIT" }; + IfcElectricDistributionPointFunctionEnum.CONTROLPANEL = { type: 3, value: "CONTROLPANEL" }; + IfcElectricDistributionPointFunctionEnum.DISTRIBUTIONBOARD = { type: 3, value: "DISTRIBUTIONBOARD" }; + IfcElectricDistributionPointFunctionEnum.GASDETECTORPANEL = { type: 3, value: "GASDETECTORPANEL" }; + IfcElectricDistributionPointFunctionEnum.INDICATORPANEL = { type: 3, value: "INDICATORPANEL" }; + IfcElectricDistributionPointFunctionEnum.MIMICPANEL = { type: 3, value: "MIMICPANEL" }; + IfcElectricDistributionPointFunctionEnum.MOTORCONTROLCENTRE = { type: 3, value: "MOTORCONTROLCENTRE" }; + IfcElectricDistributionPointFunctionEnum.SWITCHBOARD = { type: 3, value: "SWITCHBOARD" }; + IfcElectricDistributionPointFunctionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricDistributionPointFunctionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElectricDistributionPointFunctionEnum = IfcElectricDistributionPointFunctionEnum; + class IfcElectricFlowStorageDeviceTypeEnum { + } + IfcElectricFlowStorageDeviceTypeEnum.BATTERY = { type: 3, value: "BATTERY" }; + IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK = { type: 3, value: "CAPACITORBANK" }; + IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER = { type: 3, value: "HARMONICFILTER" }; + IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK = { type: 3, value: "INDUCTORBANK" }; + IfcElectricFlowStorageDeviceTypeEnum.UPS = { type: 3, value: "UPS" }; + IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElectricFlowStorageDeviceTypeEnum = IfcElectricFlowStorageDeviceTypeEnum; + class IfcElectricGeneratorTypeEnum { + } + IfcElectricGeneratorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricGeneratorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElectricGeneratorTypeEnum = IfcElectricGeneratorTypeEnum; + class IfcElectricHeaterTypeEnum { + } + IfcElectricHeaterTypeEnum.ELECTRICPOINTHEATER = { type: 3, value: "ELECTRICPOINTHEATER" }; + IfcElectricHeaterTypeEnum.ELECTRICCABLEHEATER = { type: 3, value: "ELECTRICCABLEHEATER" }; + IfcElectricHeaterTypeEnum.ELECTRICMATHEATER = { type: 3, value: "ELECTRICMATHEATER" }; + IfcElectricHeaterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricHeaterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElectricHeaterTypeEnum = IfcElectricHeaterTypeEnum; + class IfcElectricMotorTypeEnum { + } + IfcElectricMotorTypeEnum.DC = { type: 3, value: "DC" }; + IfcElectricMotorTypeEnum.INDUCTION = { type: 3, value: "INDUCTION" }; + IfcElectricMotorTypeEnum.POLYPHASE = { type: 3, value: "POLYPHASE" }; + IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS = { type: 3, value: "RELUCTANCESYNCHRONOUS" }; + IfcElectricMotorTypeEnum.SYNCHRONOUS = { type: 3, value: "SYNCHRONOUS" }; + IfcElectricMotorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricMotorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElectricMotorTypeEnum = IfcElectricMotorTypeEnum; + class IfcElectricTimeControlTypeEnum { + } + IfcElectricTimeControlTypeEnum.TIMECLOCK = { type: 3, value: "TIMECLOCK" }; + IfcElectricTimeControlTypeEnum.TIMEDELAY = { type: 3, value: "TIMEDELAY" }; + IfcElectricTimeControlTypeEnum.RELAY = { type: 3, value: "RELAY" }; + IfcElectricTimeControlTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricTimeControlTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElectricTimeControlTypeEnum = IfcElectricTimeControlTypeEnum; + class IfcElementAssemblyTypeEnum { + } + IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY = { type: 3, value: "ACCESSORY_ASSEMBLY" }; + IfcElementAssemblyTypeEnum.ARCH = { type: 3, value: "ARCH" }; + IfcElementAssemblyTypeEnum.BEAM_GRID = { type: 3, value: "BEAM_GRID" }; + IfcElementAssemblyTypeEnum.BRACED_FRAME = { type: 3, value: "BRACED_FRAME" }; + IfcElementAssemblyTypeEnum.GIRDER = { type: 3, value: "GIRDER" }; + IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT = { type: 3, value: "REINFORCEMENT_UNIT" }; + IfcElementAssemblyTypeEnum.RIGID_FRAME = { type: 3, value: "RIGID_FRAME" }; + IfcElementAssemblyTypeEnum.SLAB_FIELD = { type: 3, value: "SLAB_FIELD" }; + IfcElementAssemblyTypeEnum.TRUSS = { type: 3, value: "TRUSS" }; + IfcElementAssemblyTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElementAssemblyTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElementAssemblyTypeEnum = IfcElementAssemblyTypeEnum; + class IfcElementCompositionEnum { + } + IfcElementCompositionEnum.COMPLEX = { type: 3, value: "COMPLEX" }; + IfcElementCompositionEnum.ELEMENT = { type: 3, value: "ELEMENT" }; + IfcElementCompositionEnum.PARTIAL = { type: 3, value: "PARTIAL" }; + IFC2X32.IfcElementCompositionEnum = IfcElementCompositionEnum; + class IfcEnergySequenceEnum { + } + IfcEnergySequenceEnum.PRIMARY = { type: 3, value: "PRIMARY" }; + IfcEnergySequenceEnum.SECONDARY = { type: 3, value: "SECONDARY" }; + IfcEnergySequenceEnum.TERTIARY = { type: 3, value: "TERTIARY" }; + IfcEnergySequenceEnum.AUXILIARY = { type: 3, value: "AUXILIARY" }; + IfcEnergySequenceEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEnergySequenceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcEnergySequenceEnum = IfcEnergySequenceEnum; + class IfcEnvironmentalImpactCategoryEnum { + } + IfcEnvironmentalImpactCategoryEnum.COMBINEDVALUE = { type: 3, value: "COMBINEDVALUE" }; + IfcEnvironmentalImpactCategoryEnum.DISPOSAL = { type: 3, value: "DISPOSAL" }; + IfcEnvironmentalImpactCategoryEnum.EXTRACTION = { type: 3, value: "EXTRACTION" }; + IfcEnvironmentalImpactCategoryEnum.INSTALLATION = { type: 3, value: "INSTALLATION" }; + IfcEnvironmentalImpactCategoryEnum.MANUFACTURE = { type: 3, value: "MANUFACTURE" }; + IfcEnvironmentalImpactCategoryEnum.TRANSPORTATION = { type: 3, value: "TRANSPORTATION" }; + IfcEnvironmentalImpactCategoryEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEnvironmentalImpactCategoryEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcEnvironmentalImpactCategoryEnum = IfcEnvironmentalImpactCategoryEnum; + class IfcEvaporativeCoolerTypeEnum { + } + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER = { type: 3, value: "DIRECTEVAPORATIVEAIRWASHER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER = { type: 3, value: "INDIRECTEVAPORATIVEPACKAGEAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL = { type: 3, value: "INDIRECTEVAPORATIVEWETCOIL" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER = { type: 3, value: "INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION = { type: 3, value: "INDIRECTDIRECTCOMBINATION" }; + IfcEvaporativeCoolerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEvaporativeCoolerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcEvaporativeCoolerTypeEnum = IfcEvaporativeCoolerTypeEnum; + class IfcEvaporatorTypeEnum { + } + IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE = { type: 3, value: "DIRECTEXPANSIONSHELLANDTUBE" }; + IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE = { type: 3, value: "DIRECTEXPANSIONTUBEINTUBE" }; + IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE = { type: 3, value: "DIRECTEXPANSIONBRAZEDPLATE" }; + IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE = { type: 3, value: "FLOODEDSHELLANDTUBE" }; + IfcEvaporatorTypeEnum.SHELLANDCOIL = { type: 3, value: "SHELLANDCOIL" }; + IfcEvaporatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEvaporatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcEvaporatorTypeEnum = IfcEvaporatorTypeEnum; + class IfcFanTypeEnum { + } + IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED = { type: 3, value: "CENTRIFUGALFORWARDCURVED" }; + IfcFanTypeEnum.CENTRIFUGALRADIAL = { type: 3, value: "CENTRIFUGALRADIAL" }; + IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED = { type: 3, value: "CENTRIFUGALBACKWARDINCLINEDCURVED" }; + IfcFanTypeEnum.CENTRIFUGALAIRFOIL = { type: 3, value: "CENTRIFUGALAIRFOIL" }; + IfcFanTypeEnum.TUBEAXIAL = { type: 3, value: "TUBEAXIAL" }; + IfcFanTypeEnum.VANEAXIAL = { type: 3, value: "VANEAXIAL" }; + IfcFanTypeEnum.PROPELLORAXIAL = { type: 3, value: "PROPELLORAXIAL" }; + IfcFanTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFanTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcFanTypeEnum = IfcFanTypeEnum; + class IfcFilterTypeEnum { + } + IfcFilterTypeEnum.AIRPARTICLEFILTER = { type: 3, value: "AIRPARTICLEFILTER" }; + IfcFilterTypeEnum.ODORFILTER = { type: 3, value: "ODORFILTER" }; + IfcFilterTypeEnum.OILFILTER = { type: 3, value: "OILFILTER" }; + IfcFilterTypeEnum.STRAINER = { type: 3, value: "STRAINER" }; + IfcFilterTypeEnum.WATERFILTER = { type: 3, value: "WATERFILTER" }; + IfcFilterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFilterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcFilterTypeEnum = IfcFilterTypeEnum; + class IfcFireSuppressionTerminalTypeEnum { + } + IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET = { type: 3, value: "BREECHINGINLET" }; + IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT = { type: 3, value: "FIREHYDRANT" }; + IfcFireSuppressionTerminalTypeEnum.HOSEREEL = { type: 3, value: "HOSEREEL" }; + IfcFireSuppressionTerminalTypeEnum.SPRINKLER = { type: 3, value: "SPRINKLER" }; + IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR = { type: 3, value: "SPRINKLERDEFLECTOR" }; + IfcFireSuppressionTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFireSuppressionTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcFireSuppressionTerminalTypeEnum = IfcFireSuppressionTerminalTypeEnum; + class IfcFlowDirectionEnum { + } + IfcFlowDirectionEnum.SOURCE = { type: 3, value: "SOURCE" }; + IfcFlowDirectionEnum.SINK = { type: 3, value: "SINK" }; + IfcFlowDirectionEnum.SOURCEANDSINK = { type: 3, value: "SOURCEANDSINK" }; + IfcFlowDirectionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcFlowDirectionEnum = IfcFlowDirectionEnum; + class IfcFlowInstrumentTypeEnum { + } + IfcFlowInstrumentTypeEnum.PRESSUREGAUGE = { type: 3, value: "PRESSUREGAUGE" }; + IfcFlowInstrumentTypeEnum.THERMOMETER = { type: 3, value: "THERMOMETER" }; + IfcFlowInstrumentTypeEnum.AMMETER = { type: 3, value: "AMMETER" }; + IfcFlowInstrumentTypeEnum.FREQUENCYMETER = { type: 3, value: "FREQUENCYMETER" }; + IfcFlowInstrumentTypeEnum.POWERFACTORMETER = { type: 3, value: "POWERFACTORMETER" }; + IfcFlowInstrumentTypeEnum.PHASEANGLEMETER = { type: 3, value: "PHASEANGLEMETER" }; + IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK = { type: 3, value: "VOLTMETER_PEAK" }; + IfcFlowInstrumentTypeEnum.VOLTMETER_RMS = { type: 3, value: "VOLTMETER_RMS" }; + IfcFlowInstrumentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFlowInstrumentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcFlowInstrumentTypeEnum = IfcFlowInstrumentTypeEnum; + class IfcFlowMeterTypeEnum { + } + IfcFlowMeterTypeEnum.ELECTRICMETER = { type: 3, value: "ELECTRICMETER" }; + IfcFlowMeterTypeEnum.ENERGYMETER = { type: 3, value: "ENERGYMETER" }; + IfcFlowMeterTypeEnum.FLOWMETER = { type: 3, value: "FLOWMETER" }; + IfcFlowMeterTypeEnum.GASMETER = { type: 3, value: "GASMETER" }; + IfcFlowMeterTypeEnum.OILMETER = { type: 3, value: "OILMETER" }; + IfcFlowMeterTypeEnum.WATERMETER = { type: 3, value: "WATERMETER" }; + IfcFlowMeterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFlowMeterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcFlowMeterTypeEnum = IfcFlowMeterTypeEnum; + class IfcFootingTypeEnum { + } + IfcFootingTypeEnum.FOOTING_BEAM = { type: 3, value: "FOOTING_BEAM" }; + IfcFootingTypeEnum.PAD_FOOTING = { type: 3, value: "PAD_FOOTING" }; + IfcFootingTypeEnum.PILE_CAP = { type: 3, value: "PILE_CAP" }; + IfcFootingTypeEnum.STRIP_FOOTING = { type: 3, value: "STRIP_FOOTING" }; + IfcFootingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFootingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcFootingTypeEnum = IfcFootingTypeEnum; + class IfcGasTerminalTypeEnum { + } + IfcGasTerminalTypeEnum.GASAPPLIANCE = { type: 3, value: "GASAPPLIANCE" }; + IfcGasTerminalTypeEnum.GASBOOSTER = { type: 3, value: "GASBOOSTER" }; + IfcGasTerminalTypeEnum.GASBURNER = { type: 3, value: "GASBURNER" }; + IfcGasTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGasTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcGasTerminalTypeEnum = IfcGasTerminalTypeEnum; + class IfcGeometricProjectionEnum { + } + IfcGeometricProjectionEnum.GRAPH_VIEW = { type: 3, value: "GRAPH_VIEW" }; + IfcGeometricProjectionEnum.SKETCH_VIEW = { type: 3, value: "SKETCH_VIEW" }; + IfcGeometricProjectionEnum.MODEL_VIEW = { type: 3, value: "MODEL_VIEW" }; + IfcGeometricProjectionEnum.PLAN_VIEW = { type: 3, value: "PLAN_VIEW" }; + IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW = { type: 3, value: "REFLECTED_PLAN_VIEW" }; + IfcGeometricProjectionEnum.SECTION_VIEW = { type: 3, value: "SECTION_VIEW" }; + IfcGeometricProjectionEnum.ELEVATION_VIEW = { type: 3, value: "ELEVATION_VIEW" }; + IfcGeometricProjectionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGeometricProjectionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcGeometricProjectionEnum = IfcGeometricProjectionEnum; + class IfcGlobalOrLocalEnum { + } + IfcGlobalOrLocalEnum.GLOBAL_COORDS = { type: 3, value: "GLOBAL_COORDS" }; + IfcGlobalOrLocalEnum.LOCAL_COORDS = { type: 3, value: "LOCAL_COORDS" }; + IFC2X32.IfcGlobalOrLocalEnum = IfcGlobalOrLocalEnum; + class IfcHeatExchangerTypeEnum { + } + IfcHeatExchangerTypeEnum.PLATE = { type: 3, value: "PLATE" }; + IfcHeatExchangerTypeEnum.SHELLANDTUBE = { type: 3, value: "SHELLANDTUBE" }; + IfcHeatExchangerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcHeatExchangerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcHeatExchangerTypeEnum = IfcHeatExchangerTypeEnum; + class IfcHumidifierTypeEnum { + } + IfcHumidifierTypeEnum.STEAMINJECTION = { type: 3, value: "STEAMINJECTION" }; + IfcHumidifierTypeEnum.ADIABATICAIRWASHER = { type: 3, value: "ADIABATICAIRWASHER" }; + IfcHumidifierTypeEnum.ADIABATICPAN = { type: 3, value: "ADIABATICPAN" }; + IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT = { type: 3, value: "ADIABATICWETTEDELEMENT" }; + IfcHumidifierTypeEnum.ADIABATICATOMIZING = { type: 3, value: "ADIABATICATOMIZING" }; + IfcHumidifierTypeEnum.ADIABATICULTRASONIC = { type: 3, value: "ADIABATICULTRASONIC" }; + IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA = { type: 3, value: "ADIABATICRIGIDMEDIA" }; + IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE = { type: 3, value: "ADIABATICCOMPRESSEDAIRNOZZLE" }; + IfcHumidifierTypeEnum.ASSISTEDELECTRIC = { type: 3, value: "ASSISTEDELECTRIC" }; + IfcHumidifierTypeEnum.ASSISTEDNATURALGAS = { type: 3, value: "ASSISTEDNATURALGAS" }; + IfcHumidifierTypeEnum.ASSISTEDPROPANE = { type: 3, value: "ASSISTEDPROPANE" }; + IfcHumidifierTypeEnum.ASSISTEDBUTANE = { type: 3, value: "ASSISTEDBUTANE" }; + IfcHumidifierTypeEnum.ASSISTEDSTEAM = { type: 3, value: "ASSISTEDSTEAM" }; + IfcHumidifierTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcHumidifierTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcHumidifierTypeEnum = IfcHumidifierTypeEnum; + class IfcInternalOrExternalEnum { + } + IfcInternalOrExternalEnum.INTERNAL = { type: 3, value: "INTERNAL" }; + IfcInternalOrExternalEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcInternalOrExternalEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcInternalOrExternalEnum = IfcInternalOrExternalEnum; + class IfcInventoryTypeEnum { + } + IfcInventoryTypeEnum.ASSETINVENTORY = { type: 3, value: "ASSETINVENTORY" }; + IfcInventoryTypeEnum.SPACEINVENTORY = { type: 3, value: "SPACEINVENTORY" }; + IfcInventoryTypeEnum.FURNITUREINVENTORY = { type: 3, value: "FURNITUREINVENTORY" }; + IfcInventoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcInventoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcInventoryTypeEnum = IfcInventoryTypeEnum; + class IfcJunctionBoxTypeEnum { + } + IfcJunctionBoxTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcJunctionBoxTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcJunctionBoxTypeEnum = IfcJunctionBoxTypeEnum; + class IfcLampTypeEnum { + } + IfcLampTypeEnum.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" }; + IfcLampTypeEnum.FLUORESCENT = { type: 3, value: "FLUORESCENT" }; + IfcLampTypeEnum.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" }; + IfcLampTypeEnum.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" }; + IfcLampTypeEnum.METALHALIDE = { type: 3, value: "METALHALIDE" }; + IfcLampTypeEnum.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" }; + IfcLampTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLampTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcLampTypeEnum = IfcLampTypeEnum; + class IfcLayerSetDirectionEnum { + } + IfcLayerSetDirectionEnum.AXIS1 = { type: 3, value: "AXIS1" }; + IfcLayerSetDirectionEnum.AXIS2 = { type: 3, value: "AXIS2" }; + IfcLayerSetDirectionEnum.AXIS3 = { type: 3, value: "AXIS3" }; + IFC2X32.IfcLayerSetDirectionEnum = IfcLayerSetDirectionEnum; + class IfcLightDistributionCurveEnum { + } + IfcLightDistributionCurveEnum.TYPE_A = { type: 3, value: "TYPE_A" }; + IfcLightDistributionCurveEnum.TYPE_B = { type: 3, value: "TYPE_B" }; + IfcLightDistributionCurveEnum.TYPE_C = { type: 3, value: "TYPE_C" }; + IfcLightDistributionCurveEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcLightDistributionCurveEnum = IfcLightDistributionCurveEnum; + class IfcLightEmissionSourceEnum { + } + IfcLightEmissionSourceEnum.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" }; + IfcLightEmissionSourceEnum.FLUORESCENT = { type: 3, value: "FLUORESCENT" }; + IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" }; + IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" }; + IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE = { type: 3, value: "LIGHTEMITTINGDIODE" }; + IfcLightEmissionSourceEnum.LOWPRESSURESODIUM = { type: 3, value: "LOWPRESSURESODIUM" }; + IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN = { type: 3, value: "LOWVOLTAGEHALOGEN" }; + IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN = { type: 3, value: "MAINVOLTAGEHALOGEN" }; + IfcLightEmissionSourceEnum.METALHALIDE = { type: 3, value: "METALHALIDE" }; + IfcLightEmissionSourceEnum.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" }; + IfcLightEmissionSourceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcLightEmissionSourceEnum = IfcLightEmissionSourceEnum; + class IfcLightFixtureTypeEnum { + } + IfcLightFixtureTypeEnum.POINTSOURCE = { type: 3, value: "POINTSOURCE" }; + IfcLightFixtureTypeEnum.DIRECTIONSOURCE = { type: 3, value: "DIRECTIONSOURCE" }; + IfcLightFixtureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLightFixtureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcLightFixtureTypeEnum = IfcLightFixtureTypeEnum; + class IfcLoadGroupTypeEnum { + } + IfcLoadGroupTypeEnum.LOAD_GROUP = { type: 3, value: "LOAD_GROUP" }; + IfcLoadGroupTypeEnum.LOAD_CASE = { type: 3, value: "LOAD_CASE" }; + IfcLoadGroupTypeEnum.LOAD_COMBINATION_GROUP = { type: 3, value: "LOAD_COMBINATION_GROUP" }; + IfcLoadGroupTypeEnum.LOAD_COMBINATION = { type: 3, value: "LOAD_COMBINATION" }; + IfcLoadGroupTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLoadGroupTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcLoadGroupTypeEnum = IfcLoadGroupTypeEnum; + class IfcLogicalOperatorEnum { + } + IfcLogicalOperatorEnum.LOGICALAND = { type: 3, value: "LOGICALAND" }; + IfcLogicalOperatorEnum.LOGICALOR = { type: 3, value: "LOGICALOR" }; + IFC2X32.IfcLogicalOperatorEnum = IfcLogicalOperatorEnum; + class IfcMemberTypeEnum { + } + IfcMemberTypeEnum.BRACE = { type: 3, value: "BRACE" }; + IfcMemberTypeEnum.CHORD = { type: 3, value: "CHORD" }; + IfcMemberTypeEnum.COLLAR = { type: 3, value: "COLLAR" }; + IfcMemberTypeEnum.MEMBER = { type: 3, value: "MEMBER" }; + IfcMemberTypeEnum.MULLION = { type: 3, value: "MULLION" }; + IfcMemberTypeEnum.PLATE = { type: 3, value: "PLATE" }; + IfcMemberTypeEnum.POST = { type: 3, value: "POST" }; + IfcMemberTypeEnum.PURLIN = { type: 3, value: "PURLIN" }; + IfcMemberTypeEnum.RAFTER = { type: 3, value: "RAFTER" }; + IfcMemberTypeEnum.STRINGER = { type: 3, value: "STRINGER" }; + IfcMemberTypeEnum.STRUT = { type: 3, value: "STRUT" }; + IfcMemberTypeEnum.STUD = { type: 3, value: "STUD" }; + IfcMemberTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMemberTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcMemberTypeEnum = IfcMemberTypeEnum; + class IfcMotorConnectionTypeEnum { + } + IfcMotorConnectionTypeEnum.BELTDRIVE = { type: 3, value: "BELTDRIVE" }; + IfcMotorConnectionTypeEnum.COUPLING = { type: 3, value: "COUPLING" }; + IfcMotorConnectionTypeEnum.DIRECTDRIVE = { type: 3, value: "DIRECTDRIVE" }; + IfcMotorConnectionTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMotorConnectionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcMotorConnectionTypeEnum = IfcMotorConnectionTypeEnum; + class IfcNullStyle { + } + IfcNullStyle.NULL = { type: 3, value: "NULL" }; + IFC2X32.IfcNullStyle = IfcNullStyle; + class IfcObjectTypeEnum { + } + IfcObjectTypeEnum.PRODUCT = { type: 3, value: "PRODUCT" }; + IfcObjectTypeEnum.PROCESS = { type: 3, value: "PROCESS" }; + IfcObjectTypeEnum.CONTROL = { type: 3, value: "CONTROL" }; + IfcObjectTypeEnum.RESOURCE = { type: 3, value: "RESOURCE" }; + IfcObjectTypeEnum.ACTOR = { type: 3, value: "ACTOR" }; + IfcObjectTypeEnum.GROUP = { type: 3, value: "GROUP" }; + IfcObjectTypeEnum.PROJECT = { type: 3, value: "PROJECT" }; + IfcObjectTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcObjectTypeEnum = IfcObjectTypeEnum; + class IfcObjectiveEnum { + } + IfcObjectiveEnum.CODECOMPLIANCE = { type: 3, value: "CODECOMPLIANCE" }; + IfcObjectiveEnum.DESIGNINTENT = { type: 3, value: "DESIGNINTENT" }; + IfcObjectiveEnum.HEALTHANDSAFETY = { type: 3, value: "HEALTHANDSAFETY" }; + IfcObjectiveEnum.REQUIREMENT = { type: 3, value: "REQUIREMENT" }; + IfcObjectiveEnum.SPECIFICATION = { type: 3, value: "SPECIFICATION" }; + IfcObjectiveEnum.TRIGGERCONDITION = { type: 3, value: "TRIGGERCONDITION" }; + IfcObjectiveEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcObjectiveEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcObjectiveEnum = IfcObjectiveEnum; + class IfcOccupantTypeEnum { + } + IfcOccupantTypeEnum.ASSIGNEE = { type: 3, value: "ASSIGNEE" }; + IfcOccupantTypeEnum.ASSIGNOR = { type: 3, value: "ASSIGNOR" }; + IfcOccupantTypeEnum.LESSEE = { type: 3, value: "LESSEE" }; + IfcOccupantTypeEnum.LESSOR = { type: 3, value: "LESSOR" }; + IfcOccupantTypeEnum.LETTINGAGENT = { type: 3, value: "LETTINGAGENT" }; + IfcOccupantTypeEnum.OWNER = { type: 3, value: "OWNER" }; + IfcOccupantTypeEnum.TENANT = { type: 3, value: "TENANT" }; + IfcOccupantTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcOccupantTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcOccupantTypeEnum = IfcOccupantTypeEnum; + class IfcOutletTypeEnum { + } + IfcOutletTypeEnum.AUDIOVISUALOUTLET = { type: 3, value: "AUDIOVISUALOUTLET" }; + IfcOutletTypeEnum.COMMUNICATIONSOUTLET = { type: 3, value: "COMMUNICATIONSOUTLET" }; + IfcOutletTypeEnum.POWEROUTLET = { type: 3, value: "POWEROUTLET" }; + IfcOutletTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcOutletTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcOutletTypeEnum = IfcOutletTypeEnum; + class IfcPermeableCoveringOperationEnum { + } + IfcPermeableCoveringOperationEnum.GRILL = { type: 3, value: "GRILL" }; + IfcPermeableCoveringOperationEnum.LOUVER = { type: 3, value: "LOUVER" }; + IfcPermeableCoveringOperationEnum.SCREEN = { type: 3, value: "SCREEN" }; + IfcPermeableCoveringOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPermeableCoveringOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcPermeableCoveringOperationEnum = IfcPermeableCoveringOperationEnum; + class IfcPhysicalOrVirtualEnum { + } + IfcPhysicalOrVirtualEnum.PHYSICAL = { type: 3, value: "PHYSICAL" }; + IfcPhysicalOrVirtualEnum.VIRTUAL = { type: 3, value: "VIRTUAL" }; + IfcPhysicalOrVirtualEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcPhysicalOrVirtualEnum = IfcPhysicalOrVirtualEnum; + class IfcPileConstructionEnum { + } + IfcPileConstructionEnum.CAST_IN_PLACE = { type: 3, value: "CAST_IN_PLACE" }; + IfcPileConstructionEnum.COMPOSITE = { type: 3, value: "COMPOSITE" }; + IfcPileConstructionEnum.PRECAST_CONCRETE = { type: 3, value: "PRECAST_CONCRETE" }; + IfcPileConstructionEnum.PREFAB_STEEL = { type: 3, value: "PREFAB_STEEL" }; + IfcPileConstructionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPileConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcPileConstructionEnum = IfcPileConstructionEnum; + class IfcPileTypeEnum { + } + IfcPileTypeEnum.COHESION = { type: 3, value: "COHESION" }; + IfcPileTypeEnum.FRICTION = { type: 3, value: "FRICTION" }; + IfcPileTypeEnum.SUPPORT = { type: 3, value: "SUPPORT" }; + IfcPileTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPileTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcPileTypeEnum = IfcPileTypeEnum; + class IfcPipeFittingTypeEnum { + } + IfcPipeFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcPipeFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcPipeFittingTypeEnum.ENTRY = { type: 3, value: "ENTRY" }; + IfcPipeFittingTypeEnum.EXIT = { type: 3, value: "EXIT" }; + IfcPipeFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcPipeFittingTypeEnum.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" }; + IfcPipeFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcPipeFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPipeFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcPipeFittingTypeEnum = IfcPipeFittingTypeEnum; + class IfcPipeSegmentTypeEnum { + } + IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" }; + IfcPipeSegmentTypeEnum.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" }; + IfcPipeSegmentTypeEnum.GUTTER = { type: 3, value: "GUTTER" }; + IfcPipeSegmentTypeEnum.SPOOL = { type: 3, value: "SPOOL" }; + IfcPipeSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPipeSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcPipeSegmentTypeEnum = IfcPipeSegmentTypeEnum; + class IfcPlateTypeEnum { + } + IfcPlateTypeEnum.CURTAIN_PANEL = { type: 3, value: "CURTAIN_PANEL" }; + IfcPlateTypeEnum.SHEET = { type: 3, value: "SHEET" }; + IfcPlateTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPlateTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcPlateTypeEnum = IfcPlateTypeEnum; + class IfcProcedureTypeEnum { + } + IfcProcedureTypeEnum.ADVICE_CAUTION = { type: 3, value: "ADVICE_CAUTION" }; + IfcProcedureTypeEnum.ADVICE_NOTE = { type: 3, value: "ADVICE_NOTE" }; + IfcProcedureTypeEnum.ADVICE_WARNING = { type: 3, value: "ADVICE_WARNING" }; + IfcProcedureTypeEnum.CALIBRATION = { type: 3, value: "CALIBRATION" }; + IfcProcedureTypeEnum.DIAGNOSTIC = { type: 3, value: "DIAGNOSTIC" }; + IfcProcedureTypeEnum.SHUTDOWN = { type: 3, value: "SHUTDOWN" }; + IfcProcedureTypeEnum.STARTUP = { type: 3, value: "STARTUP" }; + IfcProcedureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProcedureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcProcedureTypeEnum = IfcProcedureTypeEnum; + class IfcProfileTypeEnum { + } + IfcProfileTypeEnum.CURVE = { type: 3, value: "CURVE" }; + IfcProfileTypeEnum.AREA = { type: 3, value: "AREA" }; + IFC2X32.IfcProfileTypeEnum = IfcProfileTypeEnum; + class IfcProjectOrderRecordTypeEnum { + } + IfcProjectOrderRecordTypeEnum.CHANGE = { type: 3, value: "CHANGE" }; + IfcProjectOrderRecordTypeEnum.MAINTENANCE = { type: 3, value: "MAINTENANCE" }; + IfcProjectOrderRecordTypeEnum.MOVE = { type: 3, value: "MOVE" }; + IfcProjectOrderRecordTypeEnum.PURCHASE = { type: 3, value: "PURCHASE" }; + IfcProjectOrderRecordTypeEnum.WORK = { type: 3, value: "WORK" }; + IfcProjectOrderRecordTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProjectOrderRecordTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcProjectOrderRecordTypeEnum = IfcProjectOrderRecordTypeEnum; + class IfcProjectOrderTypeEnum { + } + IfcProjectOrderTypeEnum.CHANGEORDER = { type: 3, value: "CHANGEORDER" }; + IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER = { type: 3, value: "MAINTENANCEWORKORDER" }; + IfcProjectOrderTypeEnum.MOVEORDER = { type: 3, value: "MOVEORDER" }; + IfcProjectOrderTypeEnum.PURCHASEORDER = { type: 3, value: "PURCHASEORDER" }; + IfcProjectOrderTypeEnum.WORKORDER = { type: 3, value: "WORKORDER" }; + IfcProjectOrderTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProjectOrderTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcProjectOrderTypeEnum = IfcProjectOrderTypeEnum; + class IfcProjectedOrTrueLengthEnum { + } + IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH = { type: 3, value: "PROJECTED_LENGTH" }; + IfcProjectedOrTrueLengthEnum.TRUE_LENGTH = { type: 3, value: "TRUE_LENGTH" }; + IFC2X32.IfcProjectedOrTrueLengthEnum = IfcProjectedOrTrueLengthEnum; + class IfcPropertySourceEnum { + } + IfcPropertySourceEnum.DESIGN = { type: 3, value: "DESIGN" }; + IfcPropertySourceEnum.DESIGNMAXIMUM = { type: 3, value: "DESIGNMAXIMUM" }; + IfcPropertySourceEnum.DESIGNMINIMUM = { type: 3, value: "DESIGNMINIMUM" }; + IfcPropertySourceEnum.SIMULATED = { type: 3, value: "SIMULATED" }; + IfcPropertySourceEnum.ASBUILT = { type: 3, value: "ASBUILT" }; + IfcPropertySourceEnum.COMMISSIONING = { type: 3, value: "COMMISSIONING" }; + IfcPropertySourceEnum.MEASURED = { type: 3, value: "MEASURED" }; + IfcPropertySourceEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPropertySourceEnum.NOTKNOWN = { type: 3, value: "NOTKNOWN" }; + IFC2X32.IfcPropertySourceEnum = IfcPropertySourceEnum; + class IfcProtectiveDeviceTypeEnum { + } + IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR = { type: 3, value: "FUSEDISCONNECTOR" }; + IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER = { type: 3, value: "CIRCUITBREAKER" }; + IfcProtectiveDeviceTypeEnum.EARTHFAILUREDEVICE = { type: 3, value: "EARTHFAILUREDEVICE" }; + IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER = { type: 3, value: "RESIDUALCURRENTCIRCUITBREAKER" }; + IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH = { type: 3, value: "RESIDUALCURRENTSWITCH" }; + IfcProtectiveDeviceTypeEnum.VARISTOR = { type: 3, value: "VARISTOR" }; + IfcProtectiveDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProtectiveDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcProtectiveDeviceTypeEnum = IfcProtectiveDeviceTypeEnum; + class IfcPumpTypeEnum { + } + IfcPumpTypeEnum.CIRCULATOR = { type: 3, value: "CIRCULATOR" }; + IfcPumpTypeEnum.ENDSUCTION = { type: 3, value: "ENDSUCTION" }; + IfcPumpTypeEnum.SPLITCASE = { type: 3, value: "SPLITCASE" }; + IfcPumpTypeEnum.VERTICALINLINE = { type: 3, value: "VERTICALINLINE" }; + IfcPumpTypeEnum.VERTICALTURBINE = { type: 3, value: "VERTICALTURBINE" }; + IfcPumpTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPumpTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcPumpTypeEnum = IfcPumpTypeEnum; + class IfcRailingTypeEnum { + } + IfcRailingTypeEnum.HANDRAIL = { type: 3, value: "HANDRAIL" }; + IfcRailingTypeEnum.GUARDRAIL = { type: 3, value: "GUARDRAIL" }; + IfcRailingTypeEnum.BALUSTRADE = { type: 3, value: "BALUSTRADE" }; + IfcRailingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRailingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcRailingTypeEnum = IfcRailingTypeEnum; + class IfcRampFlightTypeEnum { + } + IfcRampFlightTypeEnum.STRAIGHT = { type: 3, value: "STRAIGHT" }; + IfcRampFlightTypeEnum.SPIRAL = { type: 3, value: "SPIRAL" }; + IfcRampFlightTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRampFlightTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcRampFlightTypeEnum = IfcRampFlightTypeEnum; + class IfcRampTypeEnum { + } + IfcRampTypeEnum.STRAIGHT_RUN_RAMP = { type: 3, value: "STRAIGHT_RUN_RAMP" }; + IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP = { type: 3, value: "TWO_STRAIGHT_RUN_RAMP" }; + IfcRampTypeEnum.QUARTER_TURN_RAMP = { type: 3, value: "QUARTER_TURN_RAMP" }; + IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP = { type: 3, value: "TWO_QUARTER_TURN_RAMP" }; + IfcRampTypeEnum.HALF_TURN_RAMP = { type: 3, value: "HALF_TURN_RAMP" }; + IfcRampTypeEnum.SPIRAL_RAMP = { type: 3, value: "SPIRAL_RAMP" }; + IfcRampTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRampTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcRampTypeEnum = IfcRampTypeEnum; + class IfcReflectanceMethodEnum { + } + IfcReflectanceMethodEnum.BLINN = { type: 3, value: "BLINN" }; + IfcReflectanceMethodEnum.FLAT = { type: 3, value: "FLAT" }; + IfcReflectanceMethodEnum.GLASS = { type: 3, value: "GLASS" }; + IfcReflectanceMethodEnum.MATT = { type: 3, value: "MATT" }; + IfcReflectanceMethodEnum.METAL = { type: 3, value: "METAL" }; + IfcReflectanceMethodEnum.MIRROR = { type: 3, value: "MIRROR" }; + IfcReflectanceMethodEnum.PHONG = { type: 3, value: "PHONG" }; + IfcReflectanceMethodEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcReflectanceMethodEnum.STRAUSS = { type: 3, value: "STRAUSS" }; + IfcReflectanceMethodEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcReflectanceMethodEnum = IfcReflectanceMethodEnum; + class IfcReinforcingBarRoleEnum { + } + IfcReinforcingBarRoleEnum.MAIN = { type: 3, value: "MAIN" }; + IfcReinforcingBarRoleEnum.SHEAR = { type: 3, value: "SHEAR" }; + IfcReinforcingBarRoleEnum.LIGATURE = { type: 3, value: "LIGATURE" }; + IfcReinforcingBarRoleEnum.STUD = { type: 3, value: "STUD" }; + IfcReinforcingBarRoleEnum.PUNCHING = { type: 3, value: "PUNCHING" }; + IfcReinforcingBarRoleEnum.EDGE = { type: 3, value: "EDGE" }; + IfcReinforcingBarRoleEnum.RING = { type: 3, value: "RING" }; + IfcReinforcingBarRoleEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReinforcingBarRoleEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcReinforcingBarRoleEnum = IfcReinforcingBarRoleEnum; + class IfcReinforcingBarSurfaceEnum { + } + IfcReinforcingBarSurfaceEnum.PLAIN = { type: 3, value: "PLAIN" }; + IfcReinforcingBarSurfaceEnum.TEXTURED = { type: 3, value: "TEXTURED" }; + IFC2X32.IfcReinforcingBarSurfaceEnum = IfcReinforcingBarSurfaceEnum; + class IfcResourceConsumptionEnum { + } + IfcResourceConsumptionEnum.CONSUMED = { type: 3, value: "CONSUMED" }; + IfcResourceConsumptionEnum.PARTIALLYCONSUMED = { type: 3, value: "PARTIALLYCONSUMED" }; + IfcResourceConsumptionEnum.NOTCONSUMED = { type: 3, value: "NOTCONSUMED" }; + IfcResourceConsumptionEnum.OCCUPIED = { type: 3, value: "OCCUPIED" }; + IfcResourceConsumptionEnum.PARTIALLYOCCUPIED = { type: 3, value: "PARTIALLYOCCUPIED" }; + IfcResourceConsumptionEnum.NOTOCCUPIED = { type: 3, value: "NOTOCCUPIED" }; + IfcResourceConsumptionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcResourceConsumptionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcResourceConsumptionEnum = IfcResourceConsumptionEnum; + class IfcRibPlateDirectionEnum { + } + IfcRibPlateDirectionEnum.DIRECTION_X = { type: 3, value: "DIRECTION_X" }; + IfcRibPlateDirectionEnum.DIRECTION_Y = { type: 3, value: "DIRECTION_Y" }; + IFC2X32.IfcRibPlateDirectionEnum = IfcRibPlateDirectionEnum; + class IfcRoleEnum { + } + IfcRoleEnum.SUPPLIER = { type: 3, value: "SUPPLIER" }; + IfcRoleEnum.MANUFACTURER = { type: 3, value: "MANUFACTURER" }; + IfcRoleEnum.CONTRACTOR = { type: 3, value: "CONTRACTOR" }; + IfcRoleEnum.SUBCONTRACTOR = { type: 3, value: "SUBCONTRACTOR" }; + IfcRoleEnum.ARCHITECT = { type: 3, value: "ARCHITECT" }; + IfcRoleEnum.STRUCTURALENGINEER = { type: 3, value: "STRUCTURALENGINEER" }; + IfcRoleEnum.COSTENGINEER = { type: 3, value: "COSTENGINEER" }; + IfcRoleEnum.CLIENT = { type: 3, value: "CLIENT" }; + IfcRoleEnum.BUILDINGOWNER = { type: 3, value: "BUILDINGOWNER" }; + IfcRoleEnum.BUILDINGOPERATOR = { type: 3, value: "BUILDINGOPERATOR" }; + IfcRoleEnum.MECHANICALENGINEER = { type: 3, value: "MECHANICALENGINEER" }; + IfcRoleEnum.ELECTRICALENGINEER = { type: 3, value: "ELECTRICALENGINEER" }; + IfcRoleEnum.PROJECTMANAGER = { type: 3, value: "PROJECTMANAGER" }; + IfcRoleEnum.FACILITIESMANAGER = { type: 3, value: "FACILITIESMANAGER" }; + IfcRoleEnum.CIVILENGINEER = { type: 3, value: "CIVILENGINEER" }; + IfcRoleEnum.COMISSIONINGENGINEER = { type: 3, value: "COMISSIONINGENGINEER" }; + IfcRoleEnum.ENGINEER = { type: 3, value: "ENGINEER" }; + IfcRoleEnum.OWNER = { type: 3, value: "OWNER" }; + IfcRoleEnum.CONSULTANT = { type: 3, value: "CONSULTANT" }; + IfcRoleEnum.CONSTRUCTIONMANAGER = { type: 3, value: "CONSTRUCTIONMANAGER" }; + IfcRoleEnum.FIELDCONSTRUCTIONMANAGER = { type: 3, value: "FIELDCONSTRUCTIONMANAGER" }; + IfcRoleEnum.RESELLER = { type: 3, value: "RESELLER" }; + IfcRoleEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC2X32.IfcRoleEnum = IfcRoleEnum; + class IfcRoofTypeEnum { + } + IfcRoofTypeEnum.FLAT_ROOF = { type: 3, value: "FLAT_ROOF" }; + IfcRoofTypeEnum.SHED_ROOF = { type: 3, value: "SHED_ROOF" }; + IfcRoofTypeEnum.GABLE_ROOF = { type: 3, value: "GABLE_ROOF" }; + IfcRoofTypeEnum.HIP_ROOF = { type: 3, value: "HIP_ROOF" }; + IfcRoofTypeEnum.HIPPED_GABLE_ROOF = { type: 3, value: "HIPPED_GABLE_ROOF" }; + IfcRoofTypeEnum.GAMBREL_ROOF = { type: 3, value: "GAMBREL_ROOF" }; + IfcRoofTypeEnum.MANSARD_ROOF = { type: 3, value: "MANSARD_ROOF" }; + IfcRoofTypeEnum.BARREL_ROOF = { type: 3, value: "BARREL_ROOF" }; + IfcRoofTypeEnum.RAINBOW_ROOF = { type: 3, value: "RAINBOW_ROOF" }; + IfcRoofTypeEnum.BUTTERFLY_ROOF = { type: 3, value: "BUTTERFLY_ROOF" }; + IfcRoofTypeEnum.PAVILION_ROOF = { type: 3, value: "PAVILION_ROOF" }; + IfcRoofTypeEnum.DOME_ROOF = { type: 3, value: "DOME_ROOF" }; + IfcRoofTypeEnum.FREEFORM = { type: 3, value: "FREEFORM" }; + IfcRoofTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcRoofTypeEnum = IfcRoofTypeEnum; + class IfcSIPrefix { + } + IfcSIPrefix.EXA = { type: 3, value: "EXA" }; + IfcSIPrefix.PETA = { type: 3, value: "PETA" }; + IfcSIPrefix.TERA = { type: 3, value: "TERA" }; + IfcSIPrefix.GIGA = { type: 3, value: "GIGA" }; + IfcSIPrefix.MEGA = { type: 3, value: "MEGA" }; + IfcSIPrefix.KILO = { type: 3, value: "KILO" }; + IfcSIPrefix.HECTO = { type: 3, value: "HECTO" }; + IfcSIPrefix.DECA = { type: 3, value: "DECA" }; + IfcSIPrefix.DECI = { type: 3, value: "DECI" }; + IfcSIPrefix.CENTI = { type: 3, value: "CENTI" }; + IfcSIPrefix.MILLI = { type: 3, value: "MILLI" }; + IfcSIPrefix.MICRO = { type: 3, value: "MICRO" }; + IfcSIPrefix.NANO = { type: 3, value: "NANO" }; + IfcSIPrefix.PICO = { type: 3, value: "PICO" }; + IfcSIPrefix.FEMTO = { type: 3, value: "FEMTO" }; + IfcSIPrefix.ATTO = { type: 3, value: "ATTO" }; + IFC2X32.IfcSIPrefix = IfcSIPrefix; + class IfcSIUnitName { + } + IfcSIUnitName.AMPERE = { type: 3, value: "AMPERE" }; + IfcSIUnitName.BECQUEREL = { type: 3, value: "BECQUEREL" }; + IfcSIUnitName.CANDELA = { type: 3, value: "CANDELA" }; + IfcSIUnitName.COULOMB = { type: 3, value: "COULOMB" }; + IfcSIUnitName.CUBIC_METRE = { type: 3, value: "CUBIC_METRE" }; + IfcSIUnitName.DEGREE_CELSIUS = { type: 3, value: "DEGREE_CELSIUS" }; + IfcSIUnitName.FARAD = { type: 3, value: "FARAD" }; + IfcSIUnitName.GRAM = { type: 3, value: "GRAM" }; + IfcSIUnitName.GRAY = { type: 3, value: "GRAY" }; + IfcSIUnitName.HENRY = { type: 3, value: "HENRY" }; + IfcSIUnitName.HERTZ = { type: 3, value: "HERTZ" }; + IfcSIUnitName.JOULE = { type: 3, value: "JOULE" }; + IfcSIUnitName.KELVIN = { type: 3, value: "KELVIN" }; + IfcSIUnitName.LUMEN = { type: 3, value: "LUMEN" }; + IfcSIUnitName.LUX = { type: 3, value: "LUX" }; + IfcSIUnitName.METRE = { type: 3, value: "METRE" }; + IfcSIUnitName.MOLE = { type: 3, value: "MOLE" }; + IfcSIUnitName.NEWTON = { type: 3, value: "NEWTON" }; + IfcSIUnitName.OHM = { type: 3, value: "OHM" }; + IfcSIUnitName.PASCAL = { type: 3, value: "PASCAL" }; + IfcSIUnitName.RADIAN = { type: 3, value: "RADIAN" }; + IfcSIUnitName.SECOND = { type: 3, value: "SECOND" }; + IfcSIUnitName.SIEMENS = { type: 3, value: "SIEMENS" }; + IfcSIUnitName.SIEVERT = { type: 3, value: "SIEVERT" }; + IfcSIUnitName.SQUARE_METRE = { type: 3, value: "SQUARE_METRE" }; + IfcSIUnitName.STERADIAN = { type: 3, value: "STERADIAN" }; + IfcSIUnitName.TESLA = { type: 3, value: "TESLA" }; + IfcSIUnitName.VOLT = { type: 3, value: "VOLT" }; + IfcSIUnitName.WATT = { type: 3, value: "WATT" }; + IfcSIUnitName.WEBER = { type: 3, value: "WEBER" }; + IFC2X32.IfcSIUnitName = IfcSIUnitName; + class IfcSanitaryTerminalTypeEnum { + } + IfcSanitaryTerminalTypeEnum.BATH = { type: 3, value: "BATH" }; + IfcSanitaryTerminalTypeEnum.BIDET = { type: 3, value: "BIDET" }; + IfcSanitaryTerminalTypeEnum.CISTERN = { type: 3, value: "CISTERN" }; + IfcSanitaryTerminalTypeEnum.SHOWER = { type: 3, value: "SHOWER" }; + IfcSanitaryTerminalTypeEnum.SINK = { type: 3, value: "SINK" }; + IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN = { type: 3, value: "SANITARYFOUNTAIN" }; + IfcSanitaryTerminalTypeEnum.TOILETPAN = { type: 3, value: "TOILETPAN" }; + IfcSanitaryTerminalTypeEnum.URINAL = { type: 3, value: "URINAL" }; + IfcSanitaryTerminalTypeEnum.WASHHANDBASIN = { type: 3, value: "WASHHANDBASIN" }; + IfcSanitaryTerminalTypeEnum.WCSEAT = { type: 3, value: "WCSEAT" }; + IfcSanitaryTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSanitaryTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSanitaryTerminalTypeEnum = IfcSanitaryTerminalTypeEnum; + class IfcSectionTypeEnum { + } + IfcSectionTypeEnum.UNIFORM = { type: 3, value: "UNIFORM" }; + IfcSectionTypeEnum.TAPERED = { type: 3, value: "TAPERED" }; + IFC2X32.IfcSectionTypeEnum = IfcSectionTypeEnum; + class IfcSensorTypeEnum { + } + IfcSensorTypeEnum.CO2SENSOR = { type: 3, value: "CO2SENSOR" }; + IfcSensorTypeEnum.FIRESENSOR = { type: 3, value: "FIRESENSOR" }; + IfcSensorTypeEnum.FLOWSENSOR = { type: 3, value: "FLOWSENSOR" }; + IfcSensorTypeEnum.GASSENSOR = { type: 3, value: "GASSENSOR" }; + IfcSensorTypeEnum.HEATSENSOR = { type: 3, value: "HEATSENSOR" }; + IfcSensorTypeEnum.HUMIDITYSENSOR = { type: 3, value: "HUMIDITYSENSOR" }; + IfcSensorTypeEnum.LIGHTSENSOR = { type: 3, value: "LIGHTSENSOR" }; + IfcSensorTypeEnum.MOISTURESENSOR = { type: 3, value: "MOISTURESENSOR" }; + IfcSensorTypeEnum.MOVEMENTSENSOR = { type: 3, value: "MOVEMENTSENSOR" }; + IfcSensorTypeEnum.PRESSURESENSOR = { type: 3, value: "PRESSURESENSOR" }; + IfcSensorTypeEnum.SMOKESENSOR = { type: 3, value: "SMOKESENSOR" }; + IfcSensorTypeEnum.SOUNDSENSOR = { type: 3, value: "SOUNDSENSOR" }; + IfcSensorTypeEnum.TEMPERATURESENSOR = { type: 3, value: "TEMPERATURESENSOR" }; + IfcSensorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSensorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSensorTypeEnum = IfcSensorTypeEnum; + class IfcSequenceEnum { + } + IfcSequenceEnum.START_START = { type: 3, value: "START_START" }; + IfcSequenceEnum.START_FINISH = { type: 3, value: "START_FINISH" }; + IfcSequenceEnum.FINISH_START = { type: 3, value: "FINISH_START" }; + IfcSequenceEnum.FINISH_FINISH = { type: 3, value: "FINISH_FINISH" }; + IfcSequenceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSequenceEnum = IfcSequenceEnum; + class IfcServiceLifeFactorTypeEnum { + } + IfcServiceLifeFactorTypeEnum.A_QUALITYOFCOMPONENTS = { type: 3, value: "A_QUALITYOFCOMPONENTS" }; + IfcServiceLifeFactorTypeEnum.B_DESIGNLEVEL = { type: 3, value: "B_DESIGNLEVEL" }; + IfcServiceLifeFactorTypeEnum.C_WORKEXECUTIONLEVEL = { type: 3, value: "C_WORKEXECUTIONLEVEL" }; + IfcServiceLifeFactorTypeEnum.D_INDOORENVIRONMENT = { type: 3, value: "D_INDOORENVIRONMENT" }; + IfcServiceLifeFactorTypeEnum.E_OUTDOORENVIRONMENT = { type: 3, value: "E_OUTDOORENVIRONMENT" }; + IfcServiceLifeFactorTypeEnum.F_INUSECONDITIONS = { type: 3, value: "F_INUSECONDITIONS" }; + IfcServiceLifeFactorTypeEnum.G_MAINTENANCELEVEL = { type: 3, value: "G_MAINTENANCELEVEL" }; + IfcServiceLifeFactorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcServiceLifeFactorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcServiceLifeFactorTypeEnum = IfcServiceLifeFactorTypeEnum; + class IfcServiceLifeTypeEnum { + } + IfcServiceLifeTypeEnum.ACTUALSERVICELIFE = { type: 3, value: "ACTUALSERVICELIFE" }; + IfcServiceLifeTypeEnum.EXPECTEDSERVICELIFE = { type: 3, value: "EXPECTEDSERVICELIFE" }; + IfcServiceLifeTypeEnum.OPTIMISTICREFERENCESERVICELIFE = { type: 3, value: "OPTIMISTICREFERENCESERVICELIFE" }; + IfcServiceLifeTypeEnum.PESSIMISTICREFERENCESERVICELIFE = { type: 3, value: "PESSIMISTICREFERENCESERVICELIFE" }; + IfcServiceLifeTypeEnum.REFERENCESERVICELIFE = { type: 3, value: "REFERENCESERVICELIFE" }; + IFC2X32.IfcServiceLifeTypeEnum = IfcServiceLifeTypeEnum; + class IfcSlabTypeEnum { + } + IfcSlabTypeEnum.FLOOR = { type: 3, value: "FLOOR" }; + IfcSlabTypeEnum.ROOF = { type: 3, value: "ROOF" }; + IfcSlabTypeEnum.LANDING = { type: 3, value: "LANDING" }; + IfcSlabTypeEnum.BASESLAB = { type: 3, value: "BASESLAB" }; + IfcSlabTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSlabTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSlabTypeEnum = IfcSlabTypeEnum; + class IfcSoundScaleEnum { + } + IfcSoundScaleEnum.DBA = { type: 3, value: "DBA" }; + IfcSoundScaleEnum.DBB = { type: 3, value: "DBB" }; + IfcSoundScaleEnum.DBC = { type: 3, value: "DBC" }; + IfcSoundScaleEnum.NC = { type: 3, value: "NC" }; + IfcSoundScaleEnum.NR = { type: 3, value: "NR" }; + IfcSoundScaleEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSoundScaleEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSoundScaleEnum = IfcSoundScaleEnum; + class IfcSpaceHeaterTypeEnum { + } + IfcSpaceHeaterTypeEnum.SECTIONALRADIATOR = { type: 3, value: "SECTIONALRADIATOR" }; + IfcSpaceHeaterTypeEnum.PANELRADIATOR = { type: 3, value: "PANELRADIATOR" }; + IfcSpaceHeaterTypeEnum.TUBULARRADIATOR = { type: 3, value: "TUBULARRADIATOR" }; + IfcSpaceHeaterTypeEnum.CONVECTOR = { type: 3, value: "CONVECTOR" }; + IfcSpaceHeaterTypeEnum.BASEBOARDHEATER = { type: 3, value: "BASEBOARDHEATER" }; + IfcSpaceHeaterTypeEnum.FINNEDTUBEUNIT = { type: 3, value: "FINNEDTUBEUNIT" }; + IfcSpaceHeaterTypeEnum.UNITHEATER = { type: 3, value: "UNITHEATER" }; + IfcSpaceHeaterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSpaceHeaterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSpaceHeaterTypeEnum = IfcSpaceHeaterTypeEnum; + class IfcSpaceTypeEnum { + } + IfcSpaceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSpaceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSpaceTypeEnum = IfcSpaceTypeEnum; + class IfcStackTerminalTypeEnum { + } + IfcStackTerminalTypeEnum.BIRDCAGE = { type: 3, value: "BIRDCAGE" }; + IfcStackTerminalTypeEnum.COWL = { type: 3, value: "COWL" }; + IfcStackTerminalTypeEnum.RAINWATERHOPPER = { type: 3, value: "RAINWATERHOPPER" }; + IfcStackTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStackTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcStackTerminalTypeEnum = IfcStackTerminalTypeEnum; + class IfcStairFlightTypeEnum { + } + IfcStairFlightTypeEnum.STRAIGHT = { type: 3, value: "STRAIGHT" }; + IfcStairFlightTypeEnum.WINDER = { type: 3, value: "WINDER" }; + IfcStairFlightTypeEnum.SPIRAL = { type: 3, value: "SPIRAL" }; + IfcStairFlightTypeEnum.CURVED = { type: 3, value: "CURVED" }; + IfcStairFlightTypeEnum.FREEFORM = { type: 3, value: "FREEFORM" }; + IfcStairFlightTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStairFlightTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcStairFlightTypeEnum = IfcStairFlightTypeEnum; + class IfcStairTypeEnum { + } + IfcStairTypeEnum.STRAIGHT_RUN_STAIR = { type: 3, value: "STRAIGHT_RUN_STAIR" }; + IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR = { type: 3, value: "TWO_STRAIGHT_RUN_STAIR" }; + IfcStairTypeEnum.QUARTER_WINDING_STAIR = { type: 3, value: "QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.QUARTER_TURN_STAIR = { type: 3, value: "QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.HALF_WINDING_STAIR = { type: 3, value: "HALF_WINDING_STAIR" }; + IfcStairTypeEnum.HALF_TURN_STAIR = { type: 3, value: "HALF_TURN_STAIR" }; + IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR = { type: 3, value: "TWO_QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR = { type: 3, value: "TWO_QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR = { type: 3, value: "THREE_QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR = { type: 3, value: "THREE_QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.SPIRAL_STAIR = { type: 3, value: "SPIRAL_STAIR" }; + IfcStairTypeEnum.DOUBLE_RETURN_STAIR = { type: 3, value: "DOUBLE_RETURN_STAIR" }; + IfcStairTypeEnum.CURVED_RUN_STAIR = { type: 3, value: "CURVED_RUN_STAIR" }; + IfcStairTypeEnum.TWO_CURVED_RUN_STAIR = { type: 3, value: "TWO_CURVED_RUN_STAIR" }; + IfcStairTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStairTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcStairTypeEnum = IfcStairTypeEnum; + class IfcStateEnum { + } + IfcStateEnum.READWRITE = { type: 3, value: "READWRITE" }; + IfcStateEnum.READONLY = { type: 3, value: "READONLY" }; + IfcStateEnum.LOCKED = { type: 3, value: "LOCKED" }; + IfcStateEnum.READWRITELOCKED = { type: 3, value: "READWRITELOCKED" }; + IfcStateEnum.READONLYLOCKED = { type: 3, value: "READONLYLOCKED" }; + IFC2X32.IfcStateEnum = IfcStateEnum; + class IfcStructuralCurveTypeEnum { + } + IfcStructuralCurveTypeEnum.RIGID_JOINED_MEMBER = { type: 3, value: "RIGID_JOINED_MEMBER" }; + IfcStructuralCurveTypeEnum.PIN_JOINED_MEMBER = { type: 3, value: "PIN_JOINED_MEMBER" }; + IfcStructuralCurveTypeEnum.CABLE = { type: 3, value: "CABLE" }; + IfcStructuralCurveTypeEnum.TENSION_MEMBER = { type: 3, value: "TENSION_MEMBER" }; + IfcStructuralCurveTypeEnum.COMPRESSION_MEMBER = { type: 3, value: "COMPRESSION_MEMBER" }; + IfcStructuralCurveTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralCurveTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcStructuralCurveTypeEnum = IfcStructuralCurveTypeEnum; + class IfcStructuralSurfaceTypeEnum { + } + IfcStructuralSurfaceTypeEnum.BENDING_ELEMENT = { type: 3, value: "BENDING_ELEMENT" }; + IfcStructuralSurfaceTypeEnum.MEMBRANE_ELEMENT = { type: 3, value: "MEMBRANE_ELEMENT" }; + IfcStructuralSurfaceTypeEnum.SHELL = { type: 3, value: "SHELL" }; + IfcStructuralSurfaceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralSurfaceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcStructuralSurfaceTypeEnum = IfcStructuralSurfaceTypeEnum; + class IfcSurfaceSide { + } + IfcSurfaceSide.POSITIVE = { type: 3, value: "POSITIVE" }; + IfcSurfaceSide.NEGATIVE = { type: 3, value: "NEGATIVE" }; + IfcSurfaceSide.BOTH = { type: 3, value: "BOTH" }; + IFC2X32.IfcSurfaceSide = IfcSurfaceSide; + class IfcSurfaceTextureEnum { + } + IfcSurfaceTextureEnum.BUMP = { type: 3, value: "BUMP" }; + IfcSurfaceTextureEnum.OPACITY = { type: 3, value: "OPACITY" }; + IfcSurfaceTextureEnum.REFLECTION = { type: 3, value: "REFLECTION" }; + IfcSurfaceTextureEnum.SELFILLUMINATION = { type: 3, value: "SELFILLUMINATION" }; + IfcSurfaceTextureEnum.SHININESS = { type: 3, value: "SHININESS" }; + IfcSurfaceTextureEnum.SPECULAR = { type: 3, value: "SPECULAR" }; + IfcSurfaceTextureEnum.TEXTURE = { type: 3, value: "TEXTURE" }; + IfcSurfaceTextureEnum.TRANSPARENCYMAP = { type: 3, value: "TRANSPARENCYMAP" }; + IfcSurfaceTextureEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSurfaceTextureEnum = IfcSurfaceTextureEnum; + class IfcSwitchingDeviceTypeEnum { + } + IfcSwitchingDeviceTypeEnum.CONTACTOR = { type: 3, value: "CONTACTOR" }; + IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP = { type: 3, value: "EMERGENCYSTOP" }; + IfcSwitchingDeviceTypeEnum.STARTER = { type: 3, value: "STARTER" }; + IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR = { type: 3, value: "SWITCHDISCONNECTOR" }; + IfcSwitchingDeviceTypeEnum.TOGGLESWITCH = { type: 3, value: "TOGGLESWITCH" }; + IfcSwitchingDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSwitchingDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSwitchingDeviceTypeEnum = IfcSwitchingDeviceTypeEnum; + class IfcTankTypeEnum { + } + IfcTankTypeEnum.PREFORMED = { type: 3, value: "PREFORMED" }; + IfcTankTypeEnum.SECTIONAL = { type: 3, value: "SECTIONAL" }; + IfcTankTypeEnum.EXPANSION = { type: 3, value: "EXPANSION" }; + IfcTankTypeEnum.PRESSUREVESSEL = { type: 3, value: "PRESSUREVESSEL" }; + IfcTankTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTankTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcTankTypeEnum = IfcTankTypeEnum; + class IfcTendonTypeEnum { + } + IfcTendonTypeEnum.STRAND = { type: 3, value: "STRAND" }; + IfcTendonTypeEnum.WIRE = { type: 3, value: "WIRE" }; + IfcTendonTypeEnum.BAR = { type: 3, value: "BAR" }; + IfcTendonTypeEnum.COATED = { type: 3, value: "COATED" }; + IfcTendonTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTendonTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcTendonTypeEnum = IfcTendonTypeEnum; + class IfcTextPath { + } + IfcTextPath.LEFT = { type: 3, value: "LEFT" }; + IfcTextPath.RIGHT = { type: 3, value: "RIGHT" }; + IfcTextPath.UP = { type: 3, value: "UP" }; + IfcTextPath.DOWN = { type: 3, value: "DOWN" }; + IFC2X32.IfcTextPath = IfcTextPath; + class IfcThermalLoadSourceEnum { + } + IfcThermalLoadSourceEnum.PEOPLE = { type: 3, value: "PEOPLE" }; + IfcThermalLoadSourceEnum.LIGHTING = { type: 3, value: "LIGHTING" }; + IfcThermalLoadSourceEnum.EQUIPMENT = { type: 3, value: "EQUIPMENT" }; + IfcThermalLoadSourceEnum.VENTILATIONINDOORAIR = { type: 3, value: "VENTILATIONINDOORAIR" }; + IfcThermalLoadSourceEnum.VENTILATIONOUTSIDEAIR = { type: 3, value: "VENTILATIONOUTSIDEAIR" }; + IfcThermalLoadSourceEnum.RECIRCULATEDAIR = { type: 3, value: "RECIRCULATEDAIR" }; + IfcThermalLoadSourceEnum.EXHAUSTAIR = { type: 3, value: "EXHAUSTAIR" }; + IfcThermalLoadSourceEnum.AIREXCHANGERATE = { type: 3, value: "AIREXCHANGERATE" }; + IfcThermalLoadSourceEnum.DRYBULBTEMPERATURE = { type: 3, value: "DRYBULBTEMPERATURE" }; + IfcThermalLoadSourceEnum.RELATIVEHUMIDITY = { type: 3, value: "RELATIVEHUMIDITY" }; + IfcThermalLoadSourceEnum.INFILTRATION = { type: 3, value: "INFILTRATION" }; + IfcThermalLoadSourceEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcThermalLoadSourceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcThermalLoadSourceEnum = IfcThermalLoadSourceEnum; + class IfcThermalLoadTypeEnum { + } + IfcThermalLoadTypeEnum.SENSIBLE = { type: 3, value: "SENSIBLE" }; + IfcThermalLoadTypeEnum.LATENT = { type: 3, value: "LATENT" }; + IfcThermalLoadTypeEnum.RADIANT = { type: 3, value: "RADIANT" }; + IfcThermalLoadTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcThermalLoadTypeEnum = IfcThermalLoadTypeEnum; + class IfcTimeSeriesDataTypeEnum { + } + IfcTimeSeriesDataTypeEnum.CONTINUOUS = { type: 3, value: "CONTINUOUS" }; + IfcTimeSeriesDataTypeEnum.DISCRETE = { type: 3, value: "DISCRETE" }; + IfcTimeSeriesDataTypeEnum.DISCRETEBINARY = { type: 3, value: "DISCRETEBINARY" }; + IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY = { type: 3, value: "PIECEWISEBINARY" }; + IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT = { type: 3, value: "PIECEWISECONSTANT" }; + IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS = { type: 3, value: "PIECEWISECONTINUOUS" }; + IfcTimeSeriesDataTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcTimeSeriesDataTypeEnum = IfcTimeSeriesDataTypeEnum; + class IfcTimeSeriesScheduleTypeEnum { + } + IfcTimeSeriesScheduleTypeEnum.ANNUAL = { type: 3, value: "ANNUAL" }; + IfcTimeSeriesScheduleTypeEnum.MONTHLY = { type: 3, value: "MONTHLY" }; + IfcTimeSeriesScheduleTypeEnum.WEEKLY = { type: 3, value: "WEEKLY" }; + IfcTimeSeriesScheduleTypeEnum.DAILY = { type: 3, value: "DAILY" }; + IfcTimeSeriesScheduleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTimeSeriesScheduleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcTimeSeriesScheduleTypeEnum = IfcTimeSeriesScheduleTypeEnum; + class IfcTransformerTypeEnum { + } + IfcTransformerTypeEnum.CURRENT = { type: 3, value: "CURRENT" }; + IfcTransformerTypeEnum.FREQUENCY = { type: 3, value: "FREQUENCY" }; + IfcTransformerTypeEnum.VOLTAGE = { type: 3, value: "VOLTAGE" }; + IfcTransformerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTransformerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcTransformerTypeEnum = IfcTransformerTypeEnum; + class IfcTransitionCode { + } + IfcTransitionCode.DISCONTINUOUS = { type: 3, value: "DISCONTINUOUS" }; + IfcTransitionCode.CONTINUOUS = { type: 3, value: "CONTINUOUS" }; + IfcTransitionCode.CONTSAMEGRADIENT = { type: 3, value: "CONTSAMEGRADIENT" }; + IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE = { type: 3, value: "CONTSAMEGRADIENTSAMECURVATURE" }; + IFC2X32.IfcTransitionCode = IfcTransitionCode; + class IfcTransportElementTypeEnum { + } + IfcTransportElementTypeEnum.ELEVATOR = { type: 3, value: "ELEVATOR" }; + IfcTransportElementTypeEnum.ESCALATOR = { type: 3, value: "ESCALATOR" }; + IfcTransportElementTypeEnum.MOVINGWALKWAY = { type: 3, value: "MOVINGWALKWAY" }; + IfcTransportElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTransportElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcTransportElementTypeEnum = IfcTransportElementTypeEnum; + class IfcTrimmingPreference { + } + IfcTrimmingPreference.CARTESIAN = { type: 3, value: "CARTESIAN" }; + IfcTrimmingPreference.PARAMETER = { type: 3, value: "PARAMETER" }; + IfcTrimmingPreference.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC2X32.IfcTrimmingPreference = IfcTrimmingPreference; + class IfcTubeBundleTypeEnum { + } + IfcTubeBundleTypeEnum.FINNED = { type: 3, value: "FINNED" }; + IfcTubeBundleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTubeBundleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcTubeBundleTypeEnum = IfcTubeBundleTypeEnum; + class IfcUnitEnum { + } + IfcUnitEnum.ABSORBEDDOSEUNIT = { type: 3, value: "ABSORBEDDOSEUNIT" }; + IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT = { type: 3, value: "AMOUNTOFSUBSTANCEUNIT" }; + IfcUnitEnum.AREAUNIT = { type: 3, value: "AREAUNIT" }; + IfcUnitEnum.DOSEEQUIVALENTUNIT = { type: 3, value: "DOSEEQUIVALENTUNIT" }; + IfcUnitEnum.ELECTRICCAPACITANCEUNIT = { type: 3, value: "ELECTRICCAPACITANCEUNIT" }; + IfcUnitEnum.ELECTRICCHARGEUNIT = { type: 3, value: "ELECTRICCHARGEUNIT" }; + IfcUnitEnum.ELECTRICCONDUCTANCEUNIT = { type: 3, value: "ELECTRICCONDUCTANCEUNIT" }; + IfcUnitEnum.ELECTRICCURRENTUNIT = { type: 3, value: "ELECTRICCURRENTUNIT" }; + IfcUnitEnum.ELECTRICRESISTANCEUNIT = { type: 3, value: "ELECTRICRESISTANCEUNIT" }; + IfcUnitEnum.ELECTRICVOLTAGEUNIT = { type: 3, value: "ELECTRICVOLTAGEUNIT" }; + IfcUnitEnum.ENERGYUNIT = { type: 3, value: "ENERGYUNIT" }; + IfcUnitEnum.FORCEUNIT = { type: 3, value: "FORCEUNIT" }; + IfcUnitEnum.FREQUENCYUNIT = { type: 3, value: "FREQUENCYUNIT" }; + IfcUnitEnum.ILLUMINANCEUNIT = { type: 3, value: "ILLUMINANCEUNIT" }; + IfcUnitEnum.INDUCTANCEUNIT = { type: 3, value: "INDUCTANCEUNIT" }; + IfcUnitEnum.LENGTHUNIT = { type: 3, value: "LENGTHUNIT" }; + IfcUnitEnum.LUMINOUSFLUXUNIT = { type: 3, value: "LUMINOUSFLUXUNIT" }; + IfcUnitEnum.LUMINOUSINTENSITYUNIT = { type: 3, value: "LUMINOUSINTENSITYUNIT" }; + IfcUnitEnum.MAGNETICFLUXDENSITYUNIT = { type: 3, value: "MAGNETICFLUXDENSITYUNIT" }; + IfcUnitEnum.MAGNETICFLUXUNIT = { type: 3, value: "MAGNETICFLUXUNIT" }; + IfcUnitEnum.MASSUNIT = { type: 3, value: "MASSUNIT" }; + IfcUnitEnum.PLANEANGLEUNIT = { type: 3, value: "PLANEANGLEUNIT" }; + IfcUnitEnum.POWERUNIT = { type: 3, value: "POWERUNIT" }; + IfcUnitEnum.PRESSUREUNIT = { type: 3, value: "PRESSUREUNIT" }; + IfcUnitEnum.RADIOACTIVITYUNIT = { type: 3, value: "RADIOACTIVITYUNIT" }; + IfcUnitEnum.SOLIDANGLEUNIT = { type: 3, value: "SOLIDANGLEUNIT" }; + IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT = { type: 3, value: "THERMODYNAMICTEMPERATUREUNIT" }; + IfcUnitEnum.TIMEUNIT = { type: 3, value: "TIMEUNIT" }; + IfcUnitEnum.VOLUMEUNIT = { type: 3, value: "VOLUMEUNIT" }; + IfcUnitEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC2X32.IfcUnitEnum = IfcUnitEnum; + class IfcUnitaryEquipmentTypeEnum { + } + IfcUnitaryEquipmentTypeEnum.AIRHANDLER = { type: 3, value: "AIRHANDLER" }; + IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT = { type: 3, value: "AIRCONDITIONINGUNIT" }; + IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM = { type: 3, value: "SPLITSYSTEM" }; + IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT = { type: 3, value: "ROOFTOPUNIT" }; + IfcUnitaryEquipmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcUnitaryEquipmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcUnitaryEquipmentTypeEnum = IfcUnitaryEquipmentTypeEnum; + class IfcValveTypeEnum { + } + IfcValveTypeEnum.AIRRELEASE = { type: 3, value: "AIRRELEASE" }; + IfcValveTypeEnum.ANTIVACUUM = { type: 3, value: "ANTIVACUUM" }; + IfcValveTypeEnum.CHANGEOVER = { type: 3, value: "CHANGEOVER" }; + IfcValveTypeEnum.CHECK = { type: 3, value: "CHECK" }; + IfcValveTypeEnum.COMMISSIONING = { type: 3, value: "COMMISSIONING" }; + IfcValveTypeEnum.DIVERTING = { type: 3, value: "DIVERTING" }; + IfcValveTypeEnum.DRAWOFFCOCK = { type: 3, value: "DRAWOFFCOCK" }; + IfcValveTypeEnum.DOUBLECHECK = { type: 3, value: "DOUBLECHECK" }; + IfcValveTypeEnum.DOUBLEREGULATING = { type: 3, value: "DOUBLEREGULATING" }; + IfcValveTypeEnum.FAUCET = { type: 3, value: "FAUCET" }; + IfcValveTypeEnum.FLUSHING = { type: 3, value: "FLUSHING" }; + IfcValveTypeEnum.GASCOCK = { type: 3, value: "GASCOCK" }; + IfcValveTypeEnum.GASTAP = { type: 3, value: "GASTAP" }; + IfcValveTypeEnum.ISOLATING = { type: 3, value: "ISOLATING" }; + IfcValveTypeEnum.MIXING = { type: 3, value: "MIXING" }; + IfcValveTypeEnum.PRESSUREREDUCING = { type: 3, value: "PRESSUREREDUCING" }; + IfcValveTypeEnum.PRESSURERELIEF = { type: 3, value: "PRESSURERELIEF" }; + IfcValveTypeEnum.REGULATING = { type: 3, value: "REGULATING" }; + IfcValveTypeEnum.SAFETYCUTOFF = { type: 3, value: "SAFETYCUTOFF" }; + IfcValveTypeEnum.STEAMTRAP = { type: 3, value: "STEAMTRAP" }; + IfcValveTypeEnum.STOPCOCK = { type: 3, value: "STOPCOCK" }; + IfcValveTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcValveTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcValveTypeEnum = IfcValveTypeEnum; + class IfcVibrationIsolatorTypeEnum { + } + IfcVibrationIsolatorTypeEnum.COMPRESSION = { type: 3, value: "COMPRESSION" }; + IfcVibrationIsolatorTypeEnum.SPRING = { type: 3, value: "SPRING" }; + IfcVibrationIsolatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcVibrationIsolatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcVibrationIsolatorTypeEnum = IfcVibrationIsolatorTypeEnum; + class IfcWallTypeEnum { + } + IfcWallTypeEnum.STANDARD = { type: 3, value: "STANDARD" }; + IfcWallTypeEnum.POLYGONAL = { type: 3, value: "POLYGONAL" }; + IfcWallTypeEnum.SHEAR = { type: 3, value: "SHEAR" }; + IfcWallTypeEnum.ELEMENTEDWALL = { type: 3, value: "ELEMENTEDWALL" }; + IfcWallTypeEnum.PLUMBINGWALL = { type: 3, value: "PLUMBINGWALL" }; + IfcWallTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWallTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcWallTypeEnum = IfcWallTypeEnum; + class IfcWasteTerminalTypeEnum { + } + IfcWasteTerminalTypeEnum.FLOORTRAP = { type: 3, value: "FLOORTRAP" }; + IfcWasteTerminalTypeEnum.FLOORWASTE = { type: 3, value: "FLOORWASTE" }; + IfcWasteTerminalTypeEnum.GULLYSUMP = { type: 3, value: "GULLYSUMP" }; + IfcWasteTerminalTypeEnum.GULLYTRAP = { type: 3, value: "GULLYTRAP" }; + IfcWasteTerminalTypeEnum.GREASEINTERCEPTOR = { type: 3, value: "GREASEINTERCEPTOR" }; + IfcWasteTerminalTypeEnum.OILINTERCEPTOR = { type: 3, value: "OILINTERCEPTOR" }; + IfcWasteTerminalTypeEnum.PETROLINTERCEPTOR = { type: 3, value: "PETROLINTERCEPTOR" }; + IfcWasteTerminalTypeEnum.ROOFDRAIN = { type: 3, value: "ROOFDRAIN" }; + IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT = { type: 3, value: "WASTEDISPOSALUNIT" }; + IfcWasteTerminalTypeEnum.WASTETRAP = { type: 3, value: "WASTETRAP" }; + IfcWasteTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWasteTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcWasteTerminalTypeEnum = IfcWasteTerminalTypeEnum; + class IfcWindowPanelOperationEnum { + } + IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND = { type: 3, value: "SIDEHUNGRIGHTHAND" }; + IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND = { type: 3, value: "SIDEHUNGLEFTHAND" }; + IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND = { type: 3, value: "TILTANDTURNRIGHTHAND" }; + IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND = { type: 3, value: "TILTANDTURNLEFTHAND" }; + IfcWindowPanelOperationEnum.TOPHUNG = { type: 3, value: "TOPHUNG" }; + IfcWindowPanelOperationEnum.BOTTOMHUNG = { type: 3, value: "BOTTOMHUNG" }; + IfcWindowPanelOperationEnum.PIVOTHORIZONTAL = { type: 3, value: "PIVOTHORIZONTAL" }; + IfcWindowPanelOperationEnum.PIVOTVERTICAL = { type: 3, value: "PIVOTVERTICAL" }; + IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL = { type: 3, value: "SLIDINGHORIZONTAL" }; + IfcWindowPanelOperationEnum.SLIDINGVERTICAL = { type: 3, value: "SLIDINGVERTICAL" }; + IfcWindowPanelOperationEnum.REMOVABLECASEMENT = { type: 3, value: "REMOVABLECASEMENT" }; + IfcWindowPanelOperationEnum.FIXEDCASEMENT = { type: 3, value: "FIXEDCASEMENT" }; + IfcWindowPanelOperationEnum.OTHEROPERATION = { type: 3, value: "OTHEROPERATION" }; + IfcWindowPanelOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcWindowPanelOperationEnum = IfcWindowPanelOperationEnum; + class IfcWindowPanelPositionEnum { + } + IfcWindowPanelPositionEnum.LEFT = { type: 3, value: "LEFT" }; + IfcWindowPanelPositionEnum.MIDDLE = { type: 3, value: "MIDDLE" }; + IfcWindowPanelPositionEnum.RIGHT = { type: 3, value: "RIGHT" }; + IfcWindowPanelPositionEnum.BOTTOM = { type: 3, value: "BOTTOM" }; + IfcWindowPanelPositionEnum.TOP = { type: 3, value: "TOP" }; + IfcWindowPanelPositionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcWindowPanelPositionEnum = IfcWindowPanelPositionEnum; + class IfcWindowStyleConstructionEnum { + } + IfcWindowStyleConstructionEnum.ALUMINIUM = { type: 3, value: "ALUMINIUM" }; + IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL = { type: 3, value: "HIGH_GRADE_STEEL" }; + IfcWindowStyleConstructionEnum.STEEL = { type: 3, value: "STEEL" }; + IfcWindowStyleConstructionEnum.WOOD = { type: 3, value: "WOOD" }; + IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD = { type: 3, value: "ALUMINIUM_WOOD" }; + IfcWindowStyleConstructionEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION = { type: 3, value: "OTHER_CONSTRUCTION" }; + IfcWindowStyleConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcWindowStyleConstructionEnum = IfcWindowStyleConstructionEnum; + class IfcWindowStyleOperationEnum { + } + IfcWindowStyleOperationEnum.SINGLE_PANEL = { type: 3, value: "SINGLE_PANEL" }; + IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL = { type: 3, value: "DOUBLE_PANEL_VERTICAL" }; + IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL = { type: 3, value: "DOUBLE_PANEL_HORIZONTAL" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL = { type: 3, value: "TRIPLE_PANEL_VERTICAL" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM = { type: 3, value: "TRIPLE_PANEL_BOTTOM" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP = { type: 3, value: "TRIPLE_PANEL_TOP" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT = { type: 3, value: "TRIPLE_PANEL_LEFT" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT = { type: 3, value: "TRIPLE_PANEL_RIGHT" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL = { type: 3, value: "TRIPLE_PANEL_HORIZONTAL" }; + IfcWindowStyleOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWindowStyleOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcWindowStyleOperationEnum = IfcWindowStyleOperationEnum; + class IfcWorkControlTypeEnum { + } + IfcWorkControlTypeEnum.ACTUAL = { type: 3, value: "ACTUAL" }; + IfcWorkControlTypeEnum.BASELINE = { type: 3, value: "BASELINE" }; + IfcWorkControlTypeEnum.PLANNED = { type: 3, value: "PLANNED" }; + IfcWorkControlTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWorkControlTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcWorkControlTypeEnum = IfcWorkControlTypeEnum; + class IfcActorRole extends IfcLineObject$1 { + constructor(Role, UserDefinedRole, Description) { + super(); + this.Role = Role; + this.UserDefinedRole = UserDefinedRole; + this.Description = Description; + this.type = 3630933823; + } + } + IFC2X32.IfcActorRole = IfcActorRole; + class IfcAddress extends IfcLineObject$1 { + constructor(Purpose, Description, UserDefinedPurpose) { + super(); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.type = 618182010; + } + } + IFC2X32.IfcAddress = IfcAddress; + class IfcApplication extends IfcLineObject$1 { + constructor(ApplicationDeveloper, Version, ApplicationFullName, ApplicationIdentifier) { + super(); + this.ApplicationDeveloper = ApplicationDeveloper; + this.Version = Version; + this.ApplicationFullName = ApplicationFullName; + this.ApplicationIdentifier = ApplicationIdentifier; + this.type = 639542469; + } + } + IFC2X32.IfcApplication = IfcApplication; + class IfcAppliedValue extends IfcLineObject$1 { + constructor(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate) { + super(); + this.Name = Name; + this.Description = Description; + this.AppliedValue = AppliedValue; + this.UnitBasis = UnitBasis; + this.ApplicableDate = ApplicableDate; + this.FixedUntilDate = FixedUntilDate; + this.type = 411424972; + } + } + IFC2X32.IfcAppliedValue = IfcAppliedValue; + class IfcAppliedValueRelationship extends IfcLineObject$1 { + constructor(ComponentOfTotal, Components, ArithmeticOperator, Name, Description) { + super(); + this.ComponentOfTotal = ComponentOfTotal; + this.Components = Components; + this.ArithmeticOperator = ArithmeticOperator; + this.Name = Name; + this.Description = Description; + this.type = 1110488051; + } + } + IFC2X32.IfcAppliedValueRelationship = IfcAppliedValueRelationship; + class IfcApproval extends IfcLineObject$1 { + constructor(Description, ApprovalDateTime, ApprovalStatus, ApprovalLevel, ApprovalQualifier, Name, Identifier) { + super(); + this.Description = Description; + this.ApprovalDateTime = ApprovalDateTime; + this.ApprovalStatus = ApprovalStatus; + this.ApprovalLevel = ApprovalLevel; + this.ApprovalQualifier = ApprovalQualifier; + this.Name = Name; + this.Identifier = Identifier; + this.type = 130549933; + } + } + IFC2X32.IfcApproval = IfcApproval; + class IfcApprovalActorRelationship extends IfcLineObject$1 { + constructor(Actor, Approval, Role) { + super(); + this.Actor = Actor; + this.Approval = Approval; + this.Role = Role; + this.type = 2080292479; + } + } + IFC2X32.IfcApprovalActorRelationship = IfcApprovalActorRelationship; + class IfcApprovalPropertyRelationship extends IfcLineObject$1 { + constructor(ApprovedProperties, Approval) { + super(); + this.ApprovedProperties = ApprovedProperties; + this.Approval = Approval; + this.type = 390851274; + } + } + IFC2X32.IfcApprovalPropertyRelationship = IfcApprovalPropertyRelationship; + class IfcApprovalRelationship extends IfcLineObject$1 { + constructor(RelatedApproval, RelatingApproval, Description, Name) { + super(); + this.RelatedApproval = RelatedApproval; + this.RelatingApproval = RelatingApproval; + this.Description = Description; + this.Name = Name; + this.type = 3869604511; + } + } + IFC2X32.IfcApprovalRelationship = IfcApprovalRelationship; + class IfcBoundaryCondition extends IfcLineObject$1 { + constructor(Name) { + super(); + this.Name = Name; + this.type = 4037036970; + } + } + IFC2X32.IfcBoundaryCondition = IfcBoundaryCondition; + class IfcBoundaryEdgeCondition extends IfcBoundaryCondition { + constructor(Name, LinearStiffnessByLengthX, LinearStiffnessByLengthY, LinearStiffnessByLengthZ, RotationalStiffnessByLengthX, RotationalStiffnessByLengthY, RotationalStiffnessByLengthZ) { + super(Name); + this.Name = Name; + this.LinearStiffnessByLengthX = LinearStiffnessByLengthX; + this.LinearStiffnessByLengthY = LinearStiffnessByLengthY; + this.LinearStiffnessByLengthZ = LinearStiffnessByLengthZ; + this.RotationalStiffnessByLengthX = RotationalStiffnessByLengthX; + this.RotationalStiffnessByLengthY = RotationalStiffnessByLengthY; + this.RotationalStiffnessByLengthZ = RotationalStiffnessByLengthZ; + this.type = 1560379544; + } + } + IFC2X32.IfcBoundaryEdgeCondition = IfcBoundaryEdgeCondition; + class IfcBoundaryFaceCondition extends IfcBoundaryCondition { + constructor(Name, LinearStiffnessByAreaX, LinearStiffnessByAreaY, LinearStiffnessByAreaZ) { + super(Name); + this.Name = Name; + this.LinearStiffnessByAreaX = LinearStiffnessByAreaX; + this.LinearStiffnessByAreaY = LinearStiffnessByAreaY; + this.LinearStiffnessByAreaZ = LinearStiffnessByAreaZ; + this.type = 3367102660; + } + } + IFC2X32.IfcBoundaryFaceCondition = IfcBoundaryFaceCondition; + class IfcBoundaryNodeCondition extends IfcBoundaryCondition { + constructor(Name, LinearStiffnessX, LinearStiffnessY, LinearStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ) { + super(Name); + this.Name = Name; + this.LinearStiffnessX = LinearStiffnessX; + this.LinearStiffnessY = LinearStiffnessY; + this.LinearStiffnessZ = LinearStiffnessZ; + this.RotationalStiffnessX = RotationalStiffnessX; + this.RotationalStiffnessY = RotationalStiffnessY; + this.RotationalStiffnessZ = RotationalStiffnessZ; + this.type = 1387855156; + } + } + IFC2X32.IfcBoundaryNodeCondition = IfcBoundaryNodeCondition; + class IfcBoundaryNodeConditionWarping extends IfcBoundaryNodeCondition { + constructor(Name, LinearStiffnessX, LinearStiffnessY, LinearStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ, WarpingStiffness) { + super(Name, LinearStiffnessX, LinearStiffnessY, LinearStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ); + this.Name = Name; + this.LinearStiffnessX = LinearStiffnessX; + this.LinearStiffnessY = LinearStiffnessY; + this.LinearStiffnessZ = LinearStiffnessZ; + this.RotationalStiffnessX = RotationalStiffnessX; + this.RotationalStiffnessY = RotationalStiffnessY; + this.RotationalStiffnessZ = RotationalStiffnessZ; + this.WarpingStiffness = WarpingStiffness; + this.type = 2069777674; + } + } + IFC2X32.IfcBoundaryNodeConditionWarping = IfcBoundaryNodeConditionWarping; + class IfcCalendarDate extends IfcLineObject$1 { + constructor(DayComponent, MonthComponent, YearComponent) { + super(); + this.DayComponent = DayComponent; + this.MonthComponent = MonthComponent; + this.YearComponent = YearComponent; + this.type = 622194075; + } + } + IFC2X32.IfcCalendarDate = IfcCalendarDate; + class IfcClassification extends IfcLineObject$1 { + constructor(Source, Edition, EditionDate, Name) { + super(); + this.Source = Source; + this.Edition = Edition; + this.EditionDate = EditionDate; + this.Name = Name; + this.type = 747523909; + } + } + IFC2X32.IfcClassification = IfcClassification; + class IfcClassificationItem extends IfcLineObject$1 { + constructor(Notation, ItemOf, Title) { + super(); + this.Notation = Notation; + this.ItemOf = ItemOf; + this.Title = Title; + this.type = 1767535486; + } + } + IFC2X32.IfcClassificationItem = IfcClassificationItem; + class IfcClassificationItemRelationship extends IfcLineObject$1 { + constructor(RelatingItem, RelatedItems) { + super(); + this.RelatingItem = RelatingItem; + this.RelatedItems = RelatedItems; + this.type = 1098599126; + } + } + IFC2X32.IfcClassificationItemRelationship = IfcClassificationItemRelationship; + class IfcClassificationNotation extends IfcLineObject$1 { + constructor(NotationFacets) { + super(); + this.NotationFacets = NotationFacets; + this.type = 938368621; + } + } + IFC2X32.IfcClassificationNotation = IfcClassificationNotation; + class IfcClassificationNotationFacet extends IfcLineObject$1 { + constructor(NotationValue) { + super(); + this.NotationValue = NotationValue; + this.type = 3639012971; + } + } + IFC2X32.IfcClassificationNotationFacet = IfcClassificationNotationFacet; + class IfcColourSpecification extends IfcLineObject$1 { + constructor(Name) { + super(); + this.Name = Name; + this.type = 3264961684; + } + } + IFC2X32.IfcColourSpecification = IfcColourSpecification; + class IfcConnectionGeometry extends IfcLineObject$1 { + constructor() { + super(); + this.type = 2859738748; + } + } + IFC2X32.IfcConnectionGeometry = IfcConnectionGeometry; + class IfcConnectionPointGeometry extends IfcConnectionGeometry { + constructor(PointOnRelatingElement, PointOnRelatedElement) { + super(); + this.PointOnRelatingElement = PointOnRelatingElement; + this.PointOnRelatedElement = PointOnRelatedElement; + this.type = 2614616156; + } + } + IFC2X32.IfcConnectionPointGeometry = IfcConnectionPointGeometry; + class IfcConnectionPortGeometry extends IfcConnectionGeometry { + constructor(LocationAtRelatingElement, LocationAtRelatedElement, ProfileOfPort) { + super(); + this.LocationAtRelatingElement = LocationAtRelatingElement; + this.LocationAtRelatedElement = LocationAtRelatedElement; + this.ProfileOfPort = ProfileOfPort; + this.type = 4257277454; + } + } + IFC2X32.IfcConnectionPortGeometry = IfcConnectionPortGeometry; + class IfcConnectionSurfaceGeometry extends IfcConnectionGeometry { + constructor(SurfaceOnRelatingElement, SurfaceOnRelatedElement) { + super(); + this.SurfaceOnRelatingElement = SurfaceOnRelatingElement; + this.SurfaceOnRelatedElement = SurfaceOnRelatedElement; + this.type = 2732653382; + } + } + IFC2X32.IfcConnectionSurfaceGeometry = IfcConnectionSurfaceGeometry; + class IfcConstraint extends IfcLineObject$1 { + constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade) { + super(); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.type = 1959218052; + } + } + IFC2X32.IfcConstraint = IfcConstraint; + class IfcConstraintAggregationRelationship extends IfcLineObject$1 { + constructor(Name, Description, RelatingConstraint, RelatedConstraints, LogicalAggregator) { + super(); + this.Name = Name; + this.Description = Description; + this.RelatingConstraint = RelatingConstraint; + this.RelatedConstraints = RelatedConstraints; + this.LogicalAggregator = LogicalAggregator; + this.type = 1658513725; + } + } + IFC2X32.IfcConstraintAggregationRelationship = IfcConstraintAggregationRelationship; + class IfcConstraintClassificationRelationship extends IfcLineObject$1 { + constructor(ClassifiedConstraint, RelatedClassifications) { + super(); + this.ClassifiedConstraint = ClassifiedConstraint; + this.RelatedClassifications = RelatedClassifications; + this.type = 613356794; + } + } + IFC2X32.IfcConstraintClassificationRelationship = IfcConstraintClassificationRelationship; + class IfcConstraintRelationship extends IfcLineObject$1 { + constructor(Name, Description, RelatingConstraint, RelatedConstraints) { + super(); + this.Name = Name; + this.Description = Description; + this.RelatingConstraint = RelatingConstraint; + this.RelatedConstraints = RelatedConstraints; + this.type = 347226245; + } + } + IFC2X32.IfcConstraintRelationship = IfcConstraintRelationship; + class IfcCoordinatedUniversalTimeOffset extends IfcLineObject$1 { + constructor(HourOffset, MinuteOffset, Sense) { + super(); + this.HourOffset = HourOffset; + this.MinuteOffset = MinuteOffset; + this.Sense = Sense; + this.type = 1065062679; + } + } + IFC2X32.IfcCoordinatedUniversalTimeOffset = IfcCoordinatedUniversalTimeOffset; + class IfcCostValue extends IfcAppliedValue { + constructor(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, CostType, Condition) { + super(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate); + this.Name = Name; + this.Description = Description; + this.AppliedValue = AppliedValue; + this.UnitBasis = UnitBasis; + this.ApplicableDate = ApplicableDate; + this.FixedUntilDate = FixedUntilDate; + this.CostType = CostType; + this.Condition = Condition; + this.type = 602808272; + } + } + IFC2X32.IfcCostValue = IfcCostValue; + class IfcCurrencyRelationship extends IfcLineObject$1 { + constructor(RelatingMonetaryUnit, RelatedMonetaryUnit, ExchangeRate, RateDateTime, RateSource) { + super(); + this.RelatingMonetaryUnit = RelatingMonetaryUnit; + this.RelatedMonetaryUnit = RelatedMonetaryUnit; + this.ExchangeRate = ExchangeRate; + this.RateDateTime = RateDateTime; + this.RateSource = RateSource; + this.type = 539742890; + } + } + IFC2X32.IfcCurrencyRelationship = IfcCurrencyRelationship; + class IfcCurveStyleFont extends IfcLineObject$1 { + constructor(Name, PatternList) { + super(); + this.Name = Name; + this.PatternList = PatternList; + this.type = 1105321065; + } + } + IFC2X32.IfcCurveStyleFont = IfcCurveStyleFont; + class IfcCurveStyleFontAndScaling extends IfcLineObject$1 { + constructor(Name, CurveFont, CurveFontScaling) { + super(); + this.Name = Name; + this.CurveFont = CurveFont; + this.CurveFontScaling = CurveFontScaling; + this.type = 2367409068; + } + } + IFC2X32.IfcCurveStyleFontAndScaling = IfcCurveStyleFontAndScaling; + class IfcCurveStyleFontPattern extends IfcLineObject$1 { + constructor(VisibleSegmentLength, InvisibleSegmentLength) { + super(); + this.VisibleSegmentLength = VisibleSegmentLength; + this.InvisibleSegmentLength = InvisibleSegmentLength; + this.type = 3510044353; + } + } + IFC2X32.IfcCurveStyleFontPattern = IfcCurveStyleFontPattern; + class IfcDateAndTime extends IfcLineObject$1 { + constructor(DateComponent, TimeComponent) { + super(); + this.DateComponent = DateComponent; + this.TimeComponent = TimeComponent; + this.type = 1072939445; + } + } + IFC2X32.IfcDateAndTime = IfcDateAndTime; + class IfcDerivedUnit extends IfcLineObject$1 { + constructor(Elements, UnitType, UserDefinedType) { + super(); + this.Elements = Elements; + this.UnitType = UnitType; + this.UserDefinedType = UserDefinedType; + this.type = 1765591967; + } + } + IFC2X32.IfcDerivedUnit = IfcDerivedUnit; + class IfcDerivedUnitElement extends IfcLineObject$1 { + constructor(Unit, Exponent) { + super(); + this.Unit = Unit; + this.Exponent = Exponent; + this.type = 1045800335; + } + } + IFC2X32.IfcDerivedUnitElement = IfcDerivedUnitElement; + class IfcDimensionalExponents extends IfcLineObject$1 { + constructor(LengthExponent, MassExponent, TimeExponent, ElectricCurrentExponent, ThermodynamicTemperatureExponent, AmountOfSubstanceExponent, LuminousIntensityExponent) { + super(); + this.LengthExponent = LengthExponent; + this.MassExponent = MassExponent; + this.TimeExponent = TimeExponent; + this.ElectricCurrentExponent = ElectricCurrentExponent; + this.ThermodynamicTemperatureExponent = ThermodynamicTemperatureExponent; + this.AmountOfSubstanceExponent = AmountOfSubstanceExponent; + this.LuminousIntensityExponent = LuminousIntensityExponent; + this.type = 2949456006; + } + } + IFC2X32.IfcDimensionalExponents = IfcDimensionalExponents; + class IfcDocumentElectronicFormat extends IfcLineObject$1 { + constructor(FileExtension, MimeContentType, MimeSubtype) { + super(); + this.FileExtension = FileExtension; + this.MimeContentType = MimeContentType; + this.MimeSubtype = MimeSubtype; + this.type = 1376555844; + } + } + IFC2X32.IfcDocumentElectronicFormat = IfcDocumentElectronicFormat; + class IfcDocumentInformation extends IfcLineObject$1 { + constructor(DocumentId, Name, Description, DocumentReferences, Purpose, IntendedUse, Scope, Revision, DocumentOwner, Editors, CreationTime, LastRevisionTime, ElectronicFormat, ValidFrom, ValidUntil, Confidentiality, Status) { + super(); + this.DocumentId = DocumentId; + this.Name = Name; + this.Description = Description; + this.DocumentReferences = DocumentReferences; + this.Purpose = Purpose; + this.IntendedUse = IntendedUse; + this.Scope = Scope; + this.Revision = Revision; + this.DocumentOwner = DocumentOwner; + this.Editors = Editors; + this.CreationTime = CreationTime; + this.LastRevisionTime = LastRevisionTime; + this.ElectronicFormat = ElectronicFormat; + this.ValidFrom = ValidFrom; + this.ValidUntil = ValidUntil; + this.Confidentiality = Confidentiality; + this.Status = Status; + this.type = 1154170062; + } + } + IFC2X32.IfcDocumentInformation = IfcDocumentInformation; + class IfcDocumentInformationRelationship extends IfcLineObject$1 { + constructor(RelatingDocument, RelatedDocuments, RelationshipType) { + super(); + this.RelatingDocument = RelatingDocument; + this.RelatedDocuments = RelatedDocuments; + this.RelationshipType = RelationshipType; + this.type = 770865208; + } + } + IFC2X32.IfcDocumentInformationRelationship = IfcDocumentInformationRelationship; + class IfcDraughtingCalloutRelationship extends IfcLineObject$1 { + constructor(Name, Description, RelatingDraughtingCallout, RelatedDraughtingCallout) { + super(); + this.Name = Name; + this.Description = Description; + this.RelatingDraughtingCallout = RelatingDraughtingCallout; + this.RelatedDraughtingCallout = RelatedDraughtingCallout; + this.type = 3796139169; + } + } + IFC2X32.IfcDraughtingCalloutRelationship = IfcDraughtingCalloutRelationship; + class IfcEnvironmentalImpactValue extends IfcAppliedValue { + constructor(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, ImpactType, Category, UserDefinedCategory) { + super(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate); + this.Name = Name; + this.Description = Description; + this.AppliedValue = AppliedValue; + this.UnitBasis = UnitBasis; + this.ApplicableDate = ApplicableDate; + this.FixedUntilDate = FixedUntilDate; + this.ImpactType = ImpactType; + this.Category = Category; + this.UserDefinedCategory = UserDefinedCategory; + this.type = 1648886627; + } + } + IFC2X32.IfcEnvironmentalImpactValue = IfcEnvironmentalImpactValue; + class IfcExternalReference extends IfcLineObject$1 { + constructor(Location, ItemReference, Name) { + super(); + this.Location = Location; + this.ItemReference = ItemReference; + this.Name = Name; + this.type = 3200245327; + } + } + IFC2X32.IfcExternalReference = IfcExternalReference; + class IfcExternallyDefinedHatchStyle extends IfcExternalReference { + constructor(Location, ItemReference, Name) { + super(Location, ItemReference, Name); + this.Location = Location; + this.ItemReference = ItemReference; + this.Name = Name; + this.type = 2242383968; + } + } + IFC2X32.IfcExternallyDefinedHatchStyle = IfcExternallyDefinedHatchStyle; + class IfcExternallyDefinedSurfaceStyle extends IfcExternalReference { + constructor(Location, ItemReference, Name) { + super(Location, ItemReference, Name); + this.Location = Location; + this.ItemReference = ItemReference; + this.Name = Name; + this.type = 1040185647; + } + } + IFC2X32.IfcExternallyDefinedSurfaceStyle = IfcExternallyDefinedSurfaceStyle; + class IfcExternallyDefinedSymbol extends IfcExternalReference { + constructor(Location, ItemReference, Name) { + super(Location, ItemReference, Name); + this.Location = Location; + this.ItemReference = ItemReference; + this.Name = Name; + this.type = 3207319532; + } + } + IFC2X32.IfcExternallyDefinedSymbol = IfcExternallyDefinedSymbol; + class IfcExternallyDefinedTextFont extends IfcExternalReference { + constructor(Location, ItemReference, Name) { + super(Location, ItemReference, Name); + this.Location = Location; + this.ItemReference = ItemReference; + this.Name = Name; + this.type = 3548104201; + } + } + IFC2X32.IfcExternallyDefinedTextFont = IfcExternallyDefinedTextFont; + class IfcGridAxis extends IfcLineObject$1 { + constructor(AxisTag, AxisCurve, SameSense) { + super(); + this.AxisTag = AxisTag; + this.AxisCurve = AxisCurve; + this.SameSense = SameSense; + this.type = 852622518; + } + } + IFC2X32.IfcGridAxis = IfcGridAxis; + class IfcIrregularTimeSeriesValue extends IfcLineObject$1 { + constructor(TimeStamp, ListValues) { + super(); + this.TimeStamp = TimeStamp; + this.ListValues = ListValues; + this.type = 3020489413; + } + } + IFC2X32.IfcIrregularTimeSeriesValue = IfcIrregularTimeSeriesValue; + class IfcLibraryInformation extends IfcLineObject$1 { + constructor(Name, Version, Publisher, VersionDate, LibraryReference) { + super(); + this.Name = Name; + this.Version = Version; + this.Publisher = Publisher; + this.VersionDate = VersionDate; + this.LibraryReference = LibraryReference; + this.type = 2655187982; + } + } + IFC2X32.IfcLibraryInformation = IfcLibraryInformation; + class IfcLibraryReference extends IfcExternalReference { + constructor(Location, ItemReference, Name) { + super(Location, ItemReference, Name); + this.Location = Location; + this.ItemReference = ItemReference; + this.Name = Name; + this.type = 3452421091; + } + } + IFC2X32.IfcLibraryReference = IfcLibraryReference; + class IfcLightDistributionData extends IfcLineObject$1 { + constructor(MainPlaneAngle, SecondaryPlaneAngle, LuminousIntensity) { + super(); + this.MainPlaneAngle = MainPlaneAngle; + this.SecondaryPlaneAngle = SecondaryPlaneAngle; + this.LuminousIntensity = LuminousIntensity; + this.type = 4162380809; + } + } + IFC2X32.IfcLightDistributionData = IfcLightDistributionData; + class IfcLightIntensityDistribution extends IfcLineObject$1 { + constructor(LightDistributionCurve, DistributionData) { + super(); + this.LightDistributionCurve = LightDistributionCurve; + this.DistributionData = DistributionData; + this.type = 1566485204; + } + } + IFC2X32.IfcLightIntensityDistribution = IfcLightIntensityDistribution; + class IfcLocalTime extends IfcLineObject$1 { + constructor(HourComponent, MinuteComponent, SecondComponent, Zone, DaylightSavingOffset) { + super(); + this.HourComponent = HourComponent; + this.MinuteComponent = MinuteComponent; + this.SecondComponent = SecondComponent; + this.Zone = Zone; + this.DaylightSavingOffset = DaylightSavingOffset; + this.type = 30780891; + } + } + IFC2X32.IfcLocalTime = IfcLocalTime; + class IfcMaterial extends IfcLineObject$1 { + constructor(Name) { + super(); + this.Name = Name; + this.type = 1838606355; + } + } + IFC2X32.IfcMaterial = IfcMaterial; + class IfcMaterialClassificationRelationship extends IfcLineObject$1 { + constructor(MaterialClassifications, ClassifiedMaterial) { + super(); + this.MaterialClassifications = MaterialClassifications; + this.ClassifiedMaterial = ClassifiedMaterial; + this.type = 1847130766; + } + } + IFC2X32.IfcMaterialClassificationRelationship = IfcMaterialClassificationRelationship; + class IfcMaterialLayer extends IfcLineObject$1 { + constructor(Material, LayerThickness, IsVentilated) { + super(); + this.Material = Material; + this.LayerThickness = LayerThickness; + this.IsVentilated = IsVentilated; + this.type = 248100487; + } + } + IFC2X32.IfcMaterialLayer = IfcMaterialLayer; + class IfcMaterialLayerSet extends IfcLineObject$1 { + constructor(MaterialLayers, LayerSetName) { + super(); + this.MaterialLayers = MaterialLayers; + this.LayerSetName = LayerSetName; + this.type = 3303938423; + } + } + IFC2X32.IfcMaterialLayerSet = IfcMaterialLayerSet; + class IfcMaterialLayerSetUsage extends IfcLineObject$1 { + constructor(ForLayerSet, LayerSetDirection, DirectionSense, OffsetFromReferenceLine) { + super(); + this.ForLayerSet = ForLayerSet; + this.LayerSetDirection = LayerSetDirection; + this.DirectionSense = DirectionSense; + this.OffsetFromReferenceLine = OffsetFromReferenceLine; + this.type = 1303795690; + } + } + IFC2X32.IfcMaterialLayerSetUsage = IfcMaterialLayerSetUsage; + class IfcMaterialList extends IfcLineObject$1 { + constructor(Materials) { + super(); + this.Materials = Materials; + this.type = 2199411900; + } + } + IFC2X32.IfcMaterialList = IfcMaterialList; + class IfcMaterialProperties extends IfcLineObject$1 { + constructor(Material) { + super(); + this.Material = Material; + this.type = 3265635763; + } + } + IFC2X32.IfcMaterialProperties = IfcMaterialProperties; + class IfcMeasureWithUnit extends IfcLineObject$1 { + constructor(ValueComponent, UnitComponent) { + super(); + this.ValueComponent = ValueComponent; + this.UnitComponent = UnitComponent; + this.type = 2597039031; + } + } + IFC2X32.IfcMeasureWithUnit = IfcMeasureWithUnit; + class IfcMechanicalMaterialProperties extends IfcMaterialProperties { + constructor(Material, DynamicViscosity, YoungModulus, ShearModulus, PoissonRatio, ThermalExpansionCoefficient) { + super(Material); + this.Material = Material; + this.DynamicViscosity = DynamicViscosity; + this.YoungModulus = YoungModulus; + this.ShearModulus = ShearModulus; + this.PoissonRatio = PoissonRatio; + this.ThermalExpansionCoefficient = ThermalExpansionCoefficient; + this.type = 4256014907; + } + } + IFC2X32.IfcMechanicalMaterialProperties = IfcMechanicalMaterialProperties; + class IfcMechanicalSteelMaterialProperties extends IfcMechanicalMaterialProperties { + constructor(Material, DynamicViscosity, YoungModulus, ShearModulus, PoissonRatio, ThermalExpansionCoefficient, YieldStress, UltimateStress, UltimateStrain, HardeningModule, ProportionalStress, PlasticStrain, Relaxations) { + super(Material, DynamicViscosity, YoungModulus, ShearModulus, PoissonRatio, ThermalExpansionCoefficient); + this.Material = Material; + this.DynamicViscosity = DynamicViscosity; + this.YoungModulus = YoungModulus; + this.ShearModulus = ShearModulus; + this.PoissonRatio = PoissonRatio; + this.ThermalExpansionCoefficient = ThermalExpansionCoefficient; + this.YieldStress = YieldStress; + this.UltimateStress = UltimateStress; + this.UltimateStrain = UltimateStrain; + this.HardeningModule = HardeningModule; + this.ProportionalStress = ProportionalStress; + this.PlasticStrain = PlasticStrain; + this.Relaxations = Relaxations; + this.type = 677618848; + } + } + IFC2X32.IfcMechanicalSteelMaterialProperties = IfcMechanicalSteelMaterialProperties; + class IfcMetric extends IfcConstraint { + constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, Benchmark, ValueSource, DataValue) { + super(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.Benchmark = Benchmark; + this.ValueSource = ValueSource; + this.DataValue = DataValue; + this.type = 3368373690; + } + } + IFC2X32.IfcMetric = IfcMetric; + class IfcMonetaryUnit extends IfcLineObject$1 { + constructor(Currency) { + super(); + this.Currency = Currency; + this.type = 2706619895; + } + } + IFC2X32.IfcMonetaryUnit = IfcMonetaryUnit; + class IfcNamedUnit extends IfcLineObject$1 { + constructor(Dimensions, UnitType) { + super(); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.type = 1918398963; + } + } + IFC2X32.IfcNamedUnit = IfcNamedUnit; + class IfcObjectPlacement extends IfcLineObject$1 { + constructor() { + super(); + this.type = 3701648758; + } + } + IFC2X32.IfcObjectPlacement = IfcObjectPlacement; + class IfcObjective extends IfcConstraint { + constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, BenchmarkValues, ResultValues, ObjectiveQualifier, UserDefinedQualifier) { + super(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.BenchmarkValues = BenchmarkValues; + this.ResultValues = ResultValues; + this.ObjectiveQualifier = ObjectiveQualifier; + this.UserDefinedQualifier = UserDefinedQualifier; + this.type = 2251480897; + } + } + IFC2X32.IfcObjective = IfcObjective; + class IfcOpticalMaterialProperties extends IfcMaterialProperties { + constructor(Material, VisibleTransmittance, SolarTransmittance, ThermalIrTransmittance, ThermalIrEmissivityBack, ThermalIrEmissivityFront, VisibleReflectanceBack, VisibleReflectanceFront, SolarReflectanceFront, SolarReflectanceBack) { + super(Material); + this.Material = Material; + this.VisibleTransmittance = VisibleTransmittance; + this.SolarTransmittance = SolarTransmittance; + this.ThermalIrTransmittance = ThermalIrTransmittance; + this.ThermalIrEmissivityBack = ThermalIrEmissivityBack; + this.ThermalIrEmissivityFront = ThermalIrEmissivityFront; + this.VisibleReflectanceBack = VisibleReflectanceBack; + this.VisibleReflectanceFront = VisibleReflectanceFront; + this.SolarReflectanceFront = SolarReflectanceFront; + this.SolarReflectanceBack = SolarReflectanceBack; + this.type = 1227763645; + } + } + IFC2X32.IfcOpticalMaterialProperties = IfcOpticalMaterialProperties; + class IfcOrganization extends IfcLineObject$1 { + constructor(Id, Name, Description, Roles, Addresses) { + super(); + this.Id = Id; + this.Name = Name; + this.Description = Description; + this.Roles = Roles; + this.Addresses = Addresses; + this.type = 4251960020; + } + } + IFC2X32.IfcOrganization = IfcOrganization; + class IfcOrganizationRelationship extends IfcLineObject$1 { + constructor(Name, Description, RelatingOrganization, RelatedOrganizations) { + super(); + this.Name = Name; + this.Description = Description; + this.RelatingOrganization = RelatingOrganization; + this.RelatedOrganizations = RelatedOrganizations; + this.type = 1411181986; + } + } + IFC2X32.IfcOrganizationRelationship = IfcOrganizationRelationship; + class IfcOwnerHistory extends IfcLineObject$1 { + constructor(OwningUser, OwningApplication, State, ChangeAction, LastModifiedDate, LastModifyingUser, LastModifyingApplication, CreationDate) { + super(); + this.OwningUser = OwningUser; + this.OwningApplication = OwningApplication; + this.State = State; + this.ChangeAction = ChangeAction; + this.LastModifiedDate = LastModifiedDate; + this.LastModifyingUser = LastModifyingUser; + this.LastModifyingApplication = LastModifyingApplication; + this.CreationDate = CreationDate; + this.type = 1207048766; + } + } + IFC2X32.IfcOwnerHistory = IfcOwnerHistory; + class IfcPerson extends IfcLineObject$1 { + constructor(Id, FamilyName, GivenName, MiddleNames, PrefixTitles, SuffixTitles, Roles, Addresses) { + super(); + this.Id = Id; + this.FamilyName = FamilyName; + this.GivenName = GivenName; + this.MiddleNames = MiddleNames; + this.PrefixTitles = PrefixTitles; + this.SuffixTitles = SuffixTitles; + this.Roles = Roles; + this.Addresses = Addresses; + this.type = 2077209135; + } + } + IFC2X32.IfcPerson = IfcPerson; + class IfcPersonAndOrganization extends IfcLineObject$1 { + constructor(ThePerson, TheOrganization, Roles) { + super(); + this.ThePerson = ThePerson; + this.TheOrganization = TheOrganization; + this.Roles = Roles; + this.type = 101040310; + } + } + IFC2X32.IfcPersonAndOrganization = IfcPersonAndOrganization; + class IfcPhysicalQuantity extends IfcLineObject$1 { + constructor(Name, Description) { + super(); + this.Name = Name; + this.Description = Description; + this.type = 2483315170; + } + } + IFC2X32.IfcPhysicalQuantity = IfcPhysicalQuantity; + class IfcPhysicalSimpleQuantity extends IfcPhysicalQuantity { + constructor(Name, Description, Unit) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.type = 2226359599; + } + } + IFC2X32.IfcPhysicalSimpleQuantity = IfcPhysicalSimpleQuantity; + class IfcPostalAddress extends IfcAddress { + constructor(Purpose, Description, UserDefinedPurpose, InternalLocation, AddressLines, PostalBox, Town, Region, PostalCode, Country) { + super(Purpose, Description, UserDefinedPurpose); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.InternalLocation = InternalLocation; + this.AddressLines = AddressLines; + this.PostalBox = PostalBox; + this.Town = Town; + this.Region = Region; + this.PostalCode = PostalCode; + this.Country = Country; + this.type = 3355820592; + } + } + IFC2X32.IfcPostalAddress = IfcPostalAddress; + class IfcPreDefinedItem extends IfcLineObject$1 { + constructor(Name) { + super(); + this.Name = Name; + this.type = 3727388367; + } + } + IFC2X32.IfcPreDefinedItem = IfcPreDefinedItem; + class IfcPreDefinedSymbol extends IfcPreDefinedItem { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 990879717; + } + } + IFC2X32.IfcPreDefinedSymbol = IfcPreDefinedSymbol; + class IfcPreDefinedTerminatorSymbol extends IfcPreDefinedSymbol { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 3213052703; + } + } + IFC2X32.IfcPreDefinedTerminatorSymbol = IfcPreDefinedTerminatorSymbol; + class IfcPreDefinedTextFont extends IfcPreDefinedItem { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 1775413392; + } + } + IFC2X32.IfcPreDefinedTextFont = IfcPreDefinedTextFont; + class IfcPresentationLayerAssignment extends IfcLineObject$1 { + constructor(Name, Description, AssignedItems, Identifier) { + super(); + this.Name = Name; + this.Description = Description; + this.AssignedItems = AssignedItems; + this.Identifier = Identifier; + this.type = 2022622350; + } + } + IFC2X32.IfcPresentationLayerAssignment = IfcPresentationLayerAssignment; + class IfcPresentationLayerWithStyle extends IfcPresentationLayerAssignment { + constructor(Name, Description, AssignedItems, Identifier, LayerOn, LayerFrozen, LayerBlocked, LayerStyles) { + super(Name, Description, AssignedItems, Identifier); + this.Name = Name; + this.Description = Description; + this.AssignedItems = AssignedItems; + this.Identifier = Identifier; + this.LayerOn = LayerOn; + this.LayerFrozen = LayerFrozen; + this.LayerBlocked = LayerBlocked; + this.LayerStyles = LayerStyles; + this.type = 1304840413; + } + } + IFC2X32.IfcPresentationLayerWithStyle = IfcPresentationLayerWithStyle; + class IfcPresentationStyle extends IfcLineObject$1 { + constructor(Name) { + super(); + this.Name = Name; + this.type = 3119450353; + } + } + IFC2X32.IfcPresentationStyle = IfcPresentationStyle; + class IfcPresentationStyleAssignment extends IfcLineObject$1 { + constructor(Styles) { + super(); + this.Styles = Styles; + this.type = 2417041796; + } + } + IFC2X32.IfcPresentationStyleAssignment = IfcPresentationStyleAssignment; + class IfcProductRepresentation extends IfcLineObject$1 { + constructor(Name, Description, Representations) { + super(); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.type = 2095639259; + } + } + IFC2X32.IfcProductRepresentation = IfcProductRepresentation; + class IfcProductsOfCombustionProperties extends IfcMaterialProperties { + constructor(Material, SpecificHeatCapacity, N20Content, COContent, CO2Content) { + super(Material); + this.Material = Material; + this.SpecificHeatCapacity = SpecificHeatCapacity; + this.N20Content = N20Content; + this.COContent = COContent; + this.CO2Content = CO2Content; + this.type = 2267347899; + } + } + IFC2X32.IfcProductsOfCombustionProperties = IfcProductsOfCombustionProperties; + class IfcProfileDef extends IfcLineObject$1 { + constructor(ProfileType, ProfileName) { + super(); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.type = 3958567839; + } + } + IFC2X32.IfcProfileDef = IfcProfileDef; + class IfcProfileProperties extends IfcLineObject$1 { + constructor(ProfileName, ProfileDefinition) { + super(); + this.ProfileName = ProfileName; + this.ProfileDefinition = ProfileDefinition; + this.type = 2802850158; + } + } + IFC2X32.IfcProfileProperties = IfcProfileProperties; + class IfcProperty extends IfcLineObject$1 { + constructor(Name, Description) { + super(); + this.Name = Name; + this.Description = Description; + this.type = 2598011224; + } + } + IFC2X32.IfcProperty = IfcProperty; + class IfcPropertyConstraintRelationship extends IfcLineObject$1 { + constructor(RelatingConstraint, RelatedProperties, Name, Description) { + super(); + this.RelatingConstraint = RelatingConstraint; + this.RelatedProperties = RelatedProperties; + this.Name = Name; + this.Description = Description; + this.type = 3896028662; + } + } + IFC2X32.IfcPropertyConstraintRelationship = IfcPropertyConstraintRelationship; + class IfcPropertyDependencyRelationship extends IfcLineObject$1 { + constructor(DependingProperty, DependantProperty, Name, Description, Expression) { + super(); + this.DependingProperty = DependingProperty; + this.DependantProperty = DependantProperty; + this.Name = Name; + this.Description = Description; + this.Expression = Expression; + this.type = 148025276; + } + } + IFC2X32.IfcPropertyDependencyRelationship = IfcPropertyDependencyRelationship; + class IfcPropertyEnumeration extends IfcLineObject$1 { + constructor(Name, EnumerationValues, Unit) { + super(); + this.Name = Name; + this.EnumerationValues = EnumerationValues; + this.Unit = Unit; + this.type = 3710013099; + } + } + IFC2X32.IfcPropertyEnumeration = IfcPropertyEnumeration; + class IfcQuantityArea extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, AreaValue) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.AreaValue = AreaValue; + this.type = 2044713172; + } + } + IFC2X32.IfcQuantityArea = IfcQuantityArea; + class IfcQuantityCount extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, CountValue) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.CountValue = CountValue; + this.type = 2093928680; + } + } + IFC2X32.IfcQuantityCount = IfcQuantityCount; + class IfcQuantityLength extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, LengthValue) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.LengthValue = LengthValue; + this.type = 931644368; + } + } + IFC2X32.IfcQuantityLength = IfcQuantityLength; + class IfcQuantityTime extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, TimeValue) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.TimeValue = TimeValue; + this.type = 3252649465; + } + } + IFC2X32.IfcQuantityTime = IfcQuantityTime; + class IfcQuantityVolume extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, VolumeValue) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.VolumeValue = VolumeValue; + this.type = 2405470396; + } + } + IFC2X32.IfcQuantityVolume = IfcQuantityVolume; + class IfcQuantityWeight extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, WeightValue) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.WeightValue = WeightValue; + this.type = 825690147; + } + } + IFC2X32.IfcQuantityWeight = IfcQuantityWeight; + class IfcReferencesValueDocument extends IfcLineObject$1 { + constructor(ReferencedDocument, ReferencingValues, Name, Description) { + super(); + this.ReferencedDocument = ReferencedDocument; + this.ReferencingValues = ReferencingValues; + this.Name = Name; + this.Description = Description; + this.type = 2692823254; + } + } + IFC2X32.IfcReferencesValueDocument = IfcReferencesValueDocument; + class IfcReinforcementBarProperties extends IfcLineObject$1 { + constructor(TotalCrossSectionArea, SteelGrade, BarSurface, EffectiveDepth, NominalBarDiameter, BarCount) { + super(); + this.TotalCrossSectionArea = TotalCrossSectionArea; + this.SteelGrade = SteelGrade; + this.BarSurface = BarSurface; + this.EffectiveDepth = EffectiveDepth; + this.NominalBarDiameter = NominalBarDiameter; + this.BarCount = BarCount; + this.type = 1580146022; + } + } + IFC2X32.IfcReinforcementBarProperties = IfcReinforcementBarProperties; + class IfcRelaxation extends IfcLineObject$1 { + constructor(RelaxationValue, InitialStress) { + super(); + this.RelaxationValue = RelaxationValue; + this.InitialStress = InitialStress; + this.type = 1222501353; + } + } + IFC2X32.IfcRelaxation = IfcRelaxation; + class IfcRepresentation extends IfcLineObject$1 { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 1076942058; + } + } + IFC2X32.IfcRepresentation = IfcRepresentation; + class IfcRepresentationContext extends IfcLineObject$1 { + constructor(ContextIdentifier, ContextType) { + super(); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.type = 3377609919; + } + } + IFC2X32.IfcRepresentationContext = IfcRepresentationContext; + class IfcRepresentationItem extends IfcLineObject$1 { + constructor() { + super(); + this.type = 3008791417; + } + } + IFC2X32.IfcRepresentationItem = IfcRepresentationItem; + class IfcRepresentationMap extends IfcLineObject$1 { + constructor(MappingOrigin, MappedRepresentation) { + super(); + this.MappingOrigin = MappingOrigin; + this.MappedRepresentation = MappedRepresentation; + this.type = 1660063152; + } + } + IFC2X32.IfcRepresentationMap = IfcRepresentationMap; + class IfcRibPlateProfileProperties extends IfcProfileProperties { + constructor(ProfileName, ProfileDefinition, Thickness, RibHeight, RibWidth, RibSpacing, Direction) { + super(ProfileName, ProfileDefinition); + this.ProfileName = ProfileName; + this.ProfileDefinition = ProfileDefinition; + this.Thickness = Thickness; + this.RibHeight = RibHeight; + this.RibWidth = RibWidth; + this.RibSpacing = RibSpacing; + this.Direction = Direction; + this.type = 3679540991; + } + } + IFC2X32.IfcRibPlateProfileProperties = IfcRibPlateProfileProperties; + class IfcRoot extends IfcLineObject$1 { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 2341007311; + } + } + IFC2X32.IfcRoot = IfcRoot; + class IfcSIUnit extends IfcNamedUnit { + constructor(UnitType, Prefix, Name) { + super(new Handle$5(0), UnitType); + this.UnitType = UnitType; + this.Prefix = Prefix; + this.Name = Name; + this.type = 448429030; + } + } + IFC2X32.IfcSIUnit = IfcSIUnit; + class IfcSectionProperties extends IfcLineObject$1 { + constructor(SectionType, StartProfile, EndProfile) { + super(); + this.SectionType = SectionType; + this.StartProfile = StartProfile; + this.EndProfile = EndProfile; + this.type = 2042790032; + } + } + IFC2X32.IfcSectionProperties = IfcSectionProperties; + class IfcSectionReinforcementProperties extends IfcLineObject$1 { + constructor(LongitudinalStartPosition, LongitudinalEndPosition, TransversePosition, ReinforcementRole, SectionDefinition, CrossSectionReinforcementDefinitions) { + super(); + this.LongitudinalStartPosition = LongitudinalStartPosition; + this.LongitudinalEndPosition = LongitudinalEndPosition; + this.TransversePosition = TransversePosition; + this.ReinforcementRole = ReinforcementRole; + this.SectionDefinition = SectionDefinition; + this.CrossSectionReinforcementDefinitions = CrossSectionReinforcementDefinitions; + this.type = 4165799628; + } + } + IFC2X32.IfcSectionReinforcementProperties = IfcSectionReinforcementProperties; + class IfcShapeAspect extends IfcLineObject$1 { + constructor(ShapeRepresentations, Name, Description, ProductDefinitional, PartOfProductDefinitionShape) { + super(); + this.ShapeRepresentations = ShapeRepresentations; + this.Name = Name; + this.Description = Description; + this.ProductDefinitional = ProductDefinitional; + this.PartOfProductDefinitionShape = PartOfProductDefinitionShape; + this.type = 867548509; + } + } + IFC2X32.IfcShapeAspect = IfcShapeAspect; + class IfcShapeModel extends IfcRepresentation { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 3982875396; + } + } + IFC2X32.IfcShapeModel = IfcShapeModel; + class IfcShapeRepresentation extends IfcShapeModel { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 4240577450; + } + } + IFC2X32.IfcShapeRepresentation = IfcShapeRepresentation; + class IfcSimpleProperty extends IfcProperty { + constructor(Name, Description) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.type = 3692461612; + } + } + IFC2X32.IfcSimpleProperty = IfcSimpleProperty; + class IfcStructuralConnectionCondition extends IfcLineObject$1 { + constructor(Name) { + super(); + this.Name = Name; + this.type = 2273995522; + } + } + IFC2X32.IfcStructuralConnectionCondition = IfcStructuralConnectionCondition; + class IfcStructuralLoad extends IfcLineObject$1 { + constructor(Name) { + super(); + this.Name = Name; + this.type = 2162789131; + } + } + IFC2X32.IfcStructuralLoad = IfcStructuralLoad; + class IfcStructuralLoadStatic extends IfcStructuralLoad { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 2525727697; + } + } + IFC2X32.IfcStructuralLoadStatic = IfcStructuralLoadStatic; + class IfcStructuralLoadTemperature extends IfcStructuralLoadStatic { + constructor(Name, DeltaT_Constant, DeltaT_Y, DeltaT_Z) { + super(Name); + this.Name = Name; + this.DeltaT_Constant = DeltaT_Constant; + this.DeltaT_Y = DeltaT_Y; + this.DeltaT_Z = DeltaT_Z; + this.type = 3408363356; + } + } + IFC2X32.IfcStructuralLoadTemperature = IfcStructuralLoadTemperature; + class IfcStyleModel extends IfcRepresentation { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 2830218821; + } + } + IFC2X32.IfcStyleModel = IfcStyleModel; + class IfcStyledItem extends IfcRepresentationItem { + constructor(Item, Styles, Name) { + super(); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 3958052878; + } + } + IFC2X32.IfcStyledItem = IfcStyledItem; + class IfcStyledRepresentation extends IfcStyleModel { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 3049322572; + } + } + IFC2X32.IfcStyledRepresentation = IfcStyledRepresentation; + class IfcSurfaceStyle extends IfcPresentationStyle { + constructor(Name, Side, Styles) { + super(Name); + this.Name = Name; + this.Side = Side; + this.Styles = Styles; + this.type = 1300840506; + } + } + IFC2X32.IfcSurfaceStyle = IfcSurfaceStyle; + class IfcSurfaceStyleLighting extends IfcLineObject$1 { + constructor(DiffuseTransmissionColour, DiffuseReflectionColour, TransmissionColour, ReflectanceColour) { + super(); + this.DiffuseTransmissionColour = DiffuseTransmissionColour; + this.DiffuseReflectionColour = DiffuseReflectionColour; + this.TransmissionColour = TransmissionColour; + this.ReflectanceColour = ReflectanceColour; + this.type = 3303107099; + } + } + IFC2X32.IfcSurfaceStyleLighting = IfcSurfaceStyleLighting; + class IfcSurfaceStyleRefraction extends IfcLineObject$1 { + constructor(RefractionIndex, DispersionFactor) { + super(); + this.RefractionIndex = RefractionIndex; + this.DispersionFactor = DispersionFactor; + this.type = 1607154358; + } + } + IFC2X32.IfcSurfaceStyleRefraction = IfcSurfaceStyleRefraction; + class IfcSurfaceStyleShading extends IfcLineObject$1 { + constructor(SurfaceColour) { + super(); + this.SurfaceColour = SurfaceColour; + this.type = 846575682; + } + } + IFC2X32.IfcSurfaceStyleShading = IfcSurfaceStyleShading; + class IfcSurfaceStyleWithTextures extends IfcLineObject$1 { + constructor(Textures) { + super(); + this.Textures = Textures; + this.type = 1351298697; + } + } + IFC2X32.IfcSurfaceStyleWithTextures = IfcSurfaceStyleWithTextures; + class IfcSurfaceTexture extends IfcLineObject$1 { + constructor(RepeatS, RepeatT, TextureType, TextureTransform) { + super(); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.TextureType = TextureType; + this.TextureTransform = TextureTransform; + this.type = 626085974; + } + } + IFC2X32.IfcSurfaceTexture = IfcSurfaceTexture; + class IfcSymbolStyle extends IfcPresentationStyle { + constructor(Name, StyleOfSymbol) { + super(Name); + this.Name = Name; + this.StyleOfSymbol = StyleOfSymbol; + this.type = 1290481447; + } + } + IFC2X32.IfcSymbolStyle = IfcSymbolStyle; + class IfcTable extends IfcLineObject$1 { + constructor(Name, Rows) { + super(); + this.Name = Name; + this.Rows = Rows; + this.type = 985171141; + } + } + IFC2X32.IfcTable = IfcTable; + class IfcTableRow extends IfcLineObject$1 { + constructor(RowCells, IsHeading) { + super(); + this.RowCells = RowCells; + this.IsHeading = IsHeading; + this.type = 531007025; + } + } + IFC2X32.IfcTableRow = IfcTableRow; + class IfcTelecomAddress extends IfcAddress { + constructor(Purpose, Description, UserDefinedPurpose, TelephoneNumbers, FacsimileNumbers, PagerNumber, ElectronicMailAddresses, WWWHomePageURL) { + super(Purpose, Description, UserDefinedPurpose); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.TelephoneNumbers = TelephoneNumbers; + this.FacsimileNumbers = FacsimileNumbers; + this.PagerNumber = PagerNumber; + this.ElectronicMailAddresses = ElectronicMailAddresses; + this.WWWHomePageURL = WWWHomePageURL; + this.type = 912023232; + } + } + IFC2X32.IfcTelecomAddress = IfcTelecomAddress; + class IfcTextStyle extends IfcPresentationStyle { + constructor(Name, TextCharacterAppearance, TextStyle, TextFontStyle) { + super(Name); + this.Name = Name; + this.TextCharacterAppearance = TextCharacterAppearance; + this.TextStyle = TextStyle; + this.TextFontStyle = TextFontStyle; + this.type = 1447204868; + } + } + IFC2X32.IfcTextStyle = IfcTextStyle; + class IfcTextStyleFontModel extends IfcPreDefinedTextFont { + constructor(Name, FontFamily, FontStyle, FontVariant, FontWeight, FontSize) { + super(Name); + this.Name = Name; + this.FontFamily = FontFamily; + this.FontStyle = FontStyle; + this.FontVariant = FontVariant; + this.FontWeight = FontWeight; + this.FontSize = FontSize; + this.type = 1983826977; + } + } + IFC2X32.IfcTextStyleFontModel = IfcTextStyleFontModel; + class IfcTextStyleForDefinedFont extends IfcLineObject$1 { + constructor(Colour, BackgroundColour) { + super(); + this.Colour = Colour; + this.BackgroundColour = BackgroundColour; + this.type = 2636378356; + } + } + IFC2X32.IfcTextStyleForDefinedFont = IfcTextStyleForDefinedFont; + class IfcTextStyleTextModel extends IfcLineObject$1 { + constructor(TextIndent, TextAlign, TextDecoration, LetterSpacing, WordSpacing, TextTransform, LineHeight) { + super(); + this.TextIndent = TextIndent; + this.TextAlign = TextAlign; + this.TextDecoration = TextDecoration; + this.LetterSpacing = LetterSpacing; + this.WordSpacing = WordSpacing; + this.TextTransform = TextTransform; + this.LineHeight = LineHeight; + this.type = 1640371178; + } + } + IFC2X32.IfcTextStyleTextModel = IfcTextStyleTextModel; + class IfcTextStyleWithBoxCharacteristics extends IfcLineObject$1 { + constructor(BoxHeight, BoxWidth, BoxSlantAngle, BoxRotateAngle, CharacterSpacing) { + super(); + this.BoxHeight = BoxHeight; + this.BoxWidth = BoxWidth; + this.BoxSlantAngle = BoxSlantAngle; + this.BoxRotateAngle = BoxRotateAngle; + this.CharacterSpacing = CharacterSpacing; + this.type = 1484833681; + } + } + IFC2X32.IfcTextStyleWithBoxCharacteristics = IfcTextStyleWithBoxCharacteristics; + class IfcTextureCoordinate extends IfcLineObject$1 { + constructor() { + super(); + this.type = 280115917; + } + } + IFC2X32.IfcTextureCoordinate = IfcTextureCoordinate; + class IfcTextureCoordinateGenerator extends IfcTextureCoordinate { + constructor(Mode, Parameter) { + super(); + this.Mode = Mode; + this.Parameter = Parameter; + this.type = 1742049831; + } + } + IFC2X32.IfcTextureCoordinateGenerator = IfcTextureCoordinateGenerator; + class IfcTextureMap extends IfcTextureCoordinate { + constructor(TextureMaps) { + super(); + this.TextureMaps = TextureMaps; + this.type = 2552916305; + } + } + IFC2X32.IfcTextureMap = IfcTextureMap; + class IfcTextureVertex extends IfcLineObject$1 { + constructor(Coordinates) { + super(); + this.Coordinates = Coordinates; + this.type = 1210645708; + } + } + IFC2X32.IfcTextureVertex = IfcTextureVertex; + class IfcThermalMaterialProperties extends IfcMaterialProperties { + constructor(Material, SpecificHeatCapacity, BoilingPoint, FreezingPoint, ThermalConductivity) { + super(Material); + this.Material = Material; + this.SpecificHeatCapacity = SpecificHeatCapacity; + this.BoilingPoint = BoilingPoint; + this.FreezingPoint = FreezingPoint; + this.ThermalConductivity = ThermalConductivity; + this.type = 3317419933; + } + } + IFC2X32.IfcThermalMaterialProperties = IfcThermalMaterialProperties; + class IfcTimeSeries extends IfcLineObject$1 { + constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit) { + super(); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.type = 3101149627; + } + } + IFC2X32.IfcTimeSeries = IfcTimeSeries; + class IfcTimeSeriesReferenceRelationship extends IfcLineObject$1 { + constructor(ReferencedTimeSeries, TimeSeriesReferences) { + super(); + this.ReferencedTimeSeries = ReferencedTimeSeries; + this.TimeSeriesReferences = TimeSeriesReferences; + this.type = 1718945513; + } + } + IFC2X32.IfcTimeSeriesReferenceRelationship = IfcTimeSeriesReferenceRelationship; + class IfcTimeSeriesValue extends IfcLineObject$1 { + constructor(ListValues) { + super(); + this.ListValues = ListValues; + this.type = 581633288; + } + } + IFC2X32.IfcTimeSeriesValue = IfcTimeSeriesValue; + class IfcTopologicalRepresentationItem extends IfcRepresentationItem { + constructor() { + super(); + this.type = 1377556343; + } + } + IFC2X32.IfcTopologicalRepresentationItem = IfcTopologicalRepresentationItem; + class IfcTopologyRepresentation extends IfcShapeModel { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 1735638870; + } + } + IFC2X32.IfcTopologyRepresentation = IfcTopologyRepresentation; + class IfcUnitAssignment extends IfcLineObject$1 { + constructor(Units) { + super(); + this.Units = Units; + this.type = 180925521; + } + } + IFC2X32.IfcUnitAssignment = IfcUnitAssignment; + class IfcVertex extends IfcTopologicalRepresentationItem { + constructor() { + super(); + this.type = 2799835756; + } + } + IFC2X32.IfcVertex = IfcVertex; + class IfcVertexBasedTextureMap extends IfcLineObject$1 { + constructor(TextureVertices, TexturePoints) { + super(); + this.TextureVertices = TextureVertices; + this.TexturePoints = TexturePoints; + this.type = 3304826586; + } + } + IFC2X32.IfcVertexBasedTextureMap = IfcVertexBasedTextureMap; + class IfcVertexPoint extends IfcVertex { + constructor(VertexGeometry) { + super(); + this.VertexGeometry = VertexGeometry; + this.type = 1907098498; + } + } + IFC2X32.IfcVertexPoint = IfcVertexPoint; + class IfcVirtualGridIntersection extends IfcLineObject$1 { + constructor(IntersectingAxes, OffsetDistances) { + super(); + this.IntersectingAxes = IntersectingAxes; + this.OffsetDistances = OffsetDistances; + this.type = 891718957; + } + } + IFC2X32.IfcVirtualGridIntersection = IfcVirtualGridIntersection; + class IfcWaterProperties extends IfcMaterialProperties { + constructor(Material, IsPotable, Hardness, AlkalinityConcentration, AcidityConcentration, ImpuritiesContent, PHLevel, DissolvedSolidsContent) { + super(Material); + this.Material = Material; + this.IsPotable = IsPotable; + this.Hardness = Hardness; + this.AlkalinityConcentration = AlkalinityConcentration; + this.AcidityConcentration = AcidityConcentration; + this.ImpuritiesContent = ImpuritiesContent; + this.PHLevel = PHLevel; + this.DissolvedSolidsContent = DissolvedSolidsContent; + this.type = 1065908215; + } + } + IFC2X32.IfcWaterProperties = IfcWaterProperties; + class IfcAnnotationOccurrence extends IfcStyledItem { + constructor(Item, Styles, Name) { + super(Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 2442683028; + } + } + IFC2X32.IfcAnnotationOccurrence = IfcAnnotationOccurrence; + class IfcAnnotationSurfaceOccurrence extends IfcAnnotationOccurrence { + constructor(Item, Styles, Name) { + super(Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 962685235; + } + } + IFC2X32.IfcAnnotationSurfaceOccurrence = IfcAnnotationSurfaceOccurrence; + class IfcAnnotationSymbolOccurrence extends IfcAnnotationOccurrence { + constructor(Item, Styles, Name) { + super(Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 3612888222; + } + } + IFC2X32.IfcAnnotationSymbolOccurrence = IfcAnnotationSymbolOccurrence; + class IfcAnnotationTextOccurrence extends IfcAnnotationOccurrence { + constructor(Item, Styles, Name) { + super(Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 2297822566; + } + } + IFC2X32.IfcAnnotationTextOccurrence = IfcAnnotationTextOccurrence; + class IfcArbitraryClosedProfileDef extends IfcProfileDef { + constructor(ProfileType, ProfileName, OuterCurve) { + super(ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.OuterCurve = OuterCurve; + this.type = 3798115385; + } + } + IFC2X32.IfcArbitraryClosedProfileDef = IfcArbitraryClosedProfileDef; + class IfcArbitraryOpenProfileDef extends IfcProfileDef { + constructor(ProfileType, ProfileName, Curve) { + super(ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Curve = Curve; + this.type = 1310608509; + } + } + IFC2X32.IfcArbitraryOpenProfileDef = IfcArbitraryOpenProfileDef; + class IfcArbitraryProfileDefWithVoids extends IfcArbitraryClosedProfileDef { + constructor(ProfileType, ProfileName, OuterCurve, InnerCurves) { + super(ProfileType, ProfileName, OuterCurve); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.OuterCurve = OuterCurve; + this.InnerCurves = InnerCurves; + this.type = 2705031697; + } + } + IFC2X32.IfcArbitraryProfileDefWithVoids = IfcArbitraryProfileDefWithVoids; + class IfcBlobTexture extends IfcSurfaceTexture { + constructor(RepeatS, RepeatT, TextureType, TextureTransform, RasterFormat, RasterCode) { + super(RepeatS, RepeatT, TextureType, TextureTransform); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.TextureType = TextureType; + this.TextureTransform = TextureTransform; + this.RasterFormat = RasterFormat; + this.RasterCode = RasterCode; + this.type = 616511568; + } + } + IFC2X32.IfcBlobTexture = IfcBlobTexture; + class IfcCenterLineProfileDef extends IfcArbitraryOpenProfileDef { + constructor(ProfileType, ProfileName, Curve, Thickness) { + super(ProfileType, ProfileName, Curve); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Curve = Curve; + this.Thickness = Thickness; + this.type = 3150382593; + } + } + IFC2X32.IfcCenterLineProfileDef = IfcCenterLineProfileDef; + class IfcClassificationReference extends IfcExternalReference { + constructor(Location, ItemReference, Name, ReferencedSource) { + super(Location, ItemReference, Name); + this.Location = Location; + this.ItemReference = ItemReference; + this.Name = Name; + this.ReferencedSource = ReferencedSource; + this.type = 647927063; + } + } + IFC2X32.IfcClassificationReference = IfcClassificationReference; + class IfcColourRgb extends IfcColourSpecification { + constructor(Name, Red, Green, Blue) { + super(Name); + this.Name = Name; + this.Red = Red; + this.Green = Green; + this.Blue = Blue; + this.type = 776857604; + } + } + IFC2X32.IfcColourRgb = IfcColourRgb; + class IfcComplexProperty extends IfcProperty { + constructor(Name, Description, UsageName, HasProperties) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.UsageName = UsageName; + this.HasProperties = HasProperties; + this.type = 2542286263; + } + } + IFC2X32.IfcComplexProperty = IfcComplexProperty; + class IfcCompositeProfileDef extends IfcProfileDef { + constructor(ProfileType, ProfileName, Profiles, Label) { + super(ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Profiles = Profiles; + this.Label = Label; + this.type = 1485152156; + } + } + IFC2X32.IfcCompositeProfileDef = IfcCompositeProfileDef; + class IfcConnectedFaceSet extends IfcTopologicalRepresentationItem { + constructor(CfsFaces) { + super(); + this.CfsFaces = CfsFaces; + this.type = 370225590; + } + } + IFC2X32.IfcConnectedFaceSet = IfcConnectedFaceSet; + class IfcConnectionCurveGeometry extends IfcConnectionGeometry { + constructor(CurveOnRelatingElement, CurveOnRelatedElement) { + super(); + this.CurveOnRelatingElement = CurveOnRelatingElement; + this.CurveOnRelatedElement = CurveOnRelatedElement; + this.type = 1981873012; + } + } + IFC2X32.IfcConnectionCurveGeometry = IfcConnectionCurveGeometry; + class IfcConnectionPointEccentricity extends IfcConnectionPointGeometry { + constructor(PointOnRelatingElement, PointOnRelatedElement, EccentricityInX, EccentricityInY, EccentricityInZ) { + super(PointOnRelatingElement, PointOnRelatedElement); + this.PointOnRelatingElement = PointOnRelatingElement; + this.PointOnRelatedElement = PointOnRelatedElement; + this.EccentricityInX = EccentricityInX; + this.EccentricityInY = EccentricityInY; + this.EccentricityInZ = EccentricityInZ; + this.type = 45288368; + } + } + IFC2X32.IfcConnectionPointEccentricity = IfcConnectionPointEccentricity; + class IfcContextDependentUnit extends IfcNamedUnit { + constructor(Dimensions, UnitType, Name) { + super(Dimensions, UnitType); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Name = Name; + this.type = 3050246964; + } + } + IFC2X32.IfcContextDependentUnit = IfcContextDependentUnit; + class IfcConversionBasedUnit extends IfcNamedUnit { + constructor(Dimensions, UnitType, Name, ConversionFactor) { + super(Dimensions, UnitType); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Name = Name; + this.ConversionFactor = ConversionFactor; + this.type = 2889183280; + } + } + IFC2X32.IfcConversionBasedUnit = IfcConversionBasedUnit; + class IfcCurveStyle extends IfcPresentationStyle { + constructor(Name, CurveFont, CurveWidth, CurveColour) { + super(Name); + this.Name = Name; + this.CurveFont = CurveFont; + this.CurveWidth = CurveWidth; + this.CurveColour = CurveColour; + this.type = 3800577675; + } + } + IFC2X32.IfcCurveStyle = IfcCurveStyle; + class IfcDerivedProfileDef extends IfcProfileDef { + constructor(ProfileType, ProfileName, ParentProfile, Operator, Label) { + super(ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.ParentProfile = ParentProfile; + this.Operator = Operator; + this.Label = Label; + this.type = 3632507154; + } + } + IFC2X32.IfcDerivedProfileDef = IfcDerivedProfileDef; + class IfcDimensionCalloutRelationship extends IfcDraughtingCalloutRelationship { + constructor(Name, Description, RelatingDraughtingCallout, RelatedDraughtingCallout) { + super(Name, Description, RelatingDraughtingCallout, RelatedDraughtingCallout); + this.Name = Name; + this.Description = Description; + this.RelatingDraughtingCallout = RelatingDraughtingCallout; + this.RelatedDraughtingCallout = RelatedDraughtingCallout; + this.type = 2273265877; + } + } + IFC2X32.IfcDimensionCalloutRelationship = IfcDimensionCalloutRelationship; + class IfcDimensionPair extends IfcDraughtingCalloutRelationship { + constructor(Name, Description, RelatingDraughtingCallout, RelatedDraughtingCallout) { + super(Name, Description, RelatingDraughtingCallout, RelatedDraughtingCallout); + this.Name = Name; + this.Description = Description; + this.RelatingDraughtingCallout = RelatingDraughtingCallout; + this.RelatedDraughtingCallout = RelatedDraughtingCallout; + this.type = 1694125774; + } + } + IFC2X32.IfcDimensionPair = IfcDimensionPair; + class IfcDocumentReference extends IfcExternalReference { + constructor(Location, ItemReference, Name) { + super(Location, ItemReference, Name); + this.Location = Location; + this.ItemReference = ItemReference; + this.Name = Name; + this.type = 3732053477; + } + } + IFC2X32.IfcDocumentReference = IfcDocumentReference; + class IfcDraughtingPreDefinedTextFont extends IfcPreDefinedTextFont { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 4170525392; + } + } + IFC2X32.IfcDraughtingPreDefinedTextFont = IfcDraughtingPreDefinedTextFont; + class IfcEdge extends IfcTopologicalRepresentationItem { + constructor(EdgeStart, EdgeEnd) { + super(); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.type = 3900360178; + } + } + IFC2X32.IfcEdge = IfcEdge; + class IfcEdgeCurve extends IfcEdge { + constructor(EdgeStart, EdgeEnd, EdgeGeometry, SameSense) { + super(EdgeStart, EdgeEnd); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.EdgeGeometry = EdgeGeometry; + this.SameSense = SameSense; + this.type = 476780140; + } + } + IFC2X32.IfcEdgeCurve = IfcEdgeCurve; + class IfcExtendedMaterialProperties extends IfcMaterialProperties { + constructor(Material, ExtendedProperties, Description, Name) { + super(Material); + this.Material = Material; + this.ExtendedProperties = ExtendedProperties; + this.Description = Description; + this.Name = Name; + this.type = 1860660968; + } + } + IFC2X32.IfcExtendedMaterialProperties = IfcExtendedMaterialProperties; + class IfcFace extends IfcTopologicalRepresentationItem { + constructor(Bounds) { + super(); + this.Bounds = Bounds; + this.type = 2556980723; + } + } + IFC2X32.IfcFace = IfcFace; + class IfcFaceBound extends IfcTopologicalRepresentationItem { + constructor(Bound, Orientation) { + super(); + this.Bound = Bound; + this.Orientation = Orientation; + this.type = 1809719519; + } + } + IFC2X32.IfcFaceBound = IfcFaceBound; + class IfcFaceOuterBound extends IfcFaceBound { + constructor(Bound, Orientation) { + super(Bound, Orientation); + this.Bound = Bound; + this.Orientation = Orientation; + this.type = 803316827; + } + } + IFC2X32.IfcFaceOuterBound = IfcFaceOuterBound; + class IfcFaceSurface extends IfcFace { + constructor(Bounds, FaceSurface, SameSense) { + super(Bounds); + this.Bounds = Bounds; + this.FaceSurface = FaceSurface; + this.SameSense = SameSense; + this.type = 3008276851; + } + } + IFC2X32.IfcFaceSurface = IfcFaceSurface; + class IfcFailureConnectionCondition extends IfcStructuralConnectionCondition { + constructor(Name, TensionFailureX, TensionFailureY, TensionFailureZ, CompressionFailureX, CompressionFailureY, CompressionFailureZ) { + super(Name); + this.Name = Name; + this.TensionFailureX = TensionFailureX; + this.TensionFailureY = TensionFailureY; + this.TensionFailureZ = TensionFailureZ; + this.CompressionFailureX = CompressionFailureX; + this.CompressionFailureY = CompressionFailureY; + this.CompressionFailureZ = CompressionFailureZ; + this.type = 4219587988; + } + } + IFC2X32.IfcFailureConnectionCondition = IfcFailureConnectionCondition; + class IfcFillAreaStyle extends IfcPresentationStyle { + constructor(Name, FillStyles) { + super(Name); + this.Name = Name; + this.FillStyles = FillStyles; + this.type = 738692330; + } + } + IFC2X32.IfcFillAreaStyle = IfcFillAreaStyle; + class IfcFuelProperties extends IfcMaterialProperties { + constructor(Material, CombustionTemperature, CarbonContent, LowerHeatingValue, HigherHeatingValue) { + super(Material); + this.Material = Material; + this.CombustionTemperature = CombustionTemperature; + this.CarbonContent = CarbonContent; + this.LowerHeatingValue = LowerHeatingValue; + this.HigherHeatingValue = HigherHeatingValue; + this.type = 3857492461; + } + } + IFC2X32.IfcFuelProperties = IfcFuelProperties; + class IfcGeneralMaterialProperties extends IfcMaterialProperties { + constructor(Material, MolecularWeight, Porosity, MassDensity) { + super(Material); + this.Material = Material; + this.MolecularWeight = MolecularWeight; + this.Porosity = Porosity; + this.MassDensity = MassDensity; + this.type = 803998398; + } + } + IFC2X32.IfcGeneralMaterialProperties = IfcGeneralMaterialProperties; + class IfcGeneralProfileProperties extends IfcProfileProperties { + constructor(ProfileName, ProfileDefinition, PhysicalWeight, Perimeter, MinimumPlateThickness, MaximumPlateThickness, CrossSectionArea) { + super(ProfileName, ProfileDefinition); + this.ProfileName = ProfileName; + this.ProfileDefinition = ProfileDefinition; + this.PhysicalWeight = PhysicalWeight; + this.Perimeter = Perimeter; + this.MinimumPlateThickness = MinimumPlateThickness; + this.MaximumPlateThickness = MaximumPlateThickness; + this.CrossSectionArea = CrossSectionArea; + this.type = 1446786286; + } + } + IFC2X32.IfcGeneralProfileProperties = IfcGeneralProfileProperties; + class IfcGeometricRepresentationContext extends IfcRepresentationContext { + constructor(ContextIdentifier, ContextType, CoordinateSpaceDimension, Precision, WorldCoordinateSystem, TrueNorth) { + super(ContextIdentifier, ContextType); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.CoordinateSpaceDimension = CoordinateSpaceDimension; + this.Precision = Precision; + this.WorldCoordinateSystem = WorldCoordinateSystem; + this.TrueNorth = TrueNorth; + this.type = 3448662350; + } + } + IFC2X32.IfcGeometricRepresentationContext = IfcGeometricRepresentationContext; + class IfcGeometricRepresentationItem extends IfcRepresentationItem { + constructor() { + super(); + this.type = 2453401579; + } + } + IFC2X32.IfcGeometricRepresentationItem = IfcGeometricRepresentationItem; + class IfcGeometricRepresentationSubContext extends IfcGeometricRepresentationContext { + constructor(ContextIdentifier, ContextType, ParentContext, TargetScale, TargetView, UserDefinedTargetView) { + super(ContextIdentifier, ContextType, new IfcDimensionCount(0), null, new Handle$5(0), null); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.ParentContext = ParentContext; + this.TargetScale = TargetScale; + this.TargetView = TargetView; + this.UserDefinedTargetView = UserDefinedTargetView; + this.type = 4142052618; + } + } + IFC2X32.IfcGeometricRepresentationSubContext = IfcGeometricRepresentationSubContext; + class IfcGeometricSet extends IfcGeometricRepresentationItem { + constructor(Elements) { + super(); + this.Elements = Elements; + this.type = 3590301190; + } + } + IFC2X32.IfcGeometricSet = IfcGeometricSet; + class IfcGridPlacement extends IfcObjectPlacement { + constructor(PlacementLocation, PlacementRefDirection) { + super(); + this.PlacementLocation = PlacementLocation; + this.PlacementRefDirection = PlacementRefDirection; + this.type = 178086475; + } + } + IFC2X32.IfcGridPlacement = IfcGridPlacement; + class IfcHalfSpaceSolid extends IfcGeometricRepresentationItem { + constructor(BaseSurface, AgreementFlag) { + super(); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.type = 812098782; + } + } + IFC2X32.IfcHalfSpaceSolid = IfcHalfSpaceSolid; + class IfcHygroscopicMaterialProperties extends IfcMaterialProperties { + constructor(Material, UpperVaporResistanceFactor, LowerVaporResistanceFactor, IsothermalMoistureCapacity, VaporPermeability, MoistureDiffusivity) { + super(Material); + this.Material = Material; + this.UpperVaporResistanceFactor = UpperVaporResistanceFactor; + this.LowerVaporResistanceFactor = LowerVaporResistanceFactor; + this.IsothermalMoistureCapacity = IsothermalMoistureCapacity; + this.VaporPermeability = VaporPermeability; + this.MoistureDiffusivity = MoistureDiffusivity; + this.type = 2445078500; + } + } + IFC2X32.IfcHygroscopicMaterialProperties = IfcHygroscopicMaterialProperties; + class IfcImageTexture extends IfcSurfaceTexture { + constructor(RepeatS, RepeatT, TextureType, TextureTransform, UrlReference) { + super(RepeatS, RepeatT, TextureType, TextureTransform); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.TextureType = TextureType; + this.TextureTransform = TextureTransform; + this.UrlReference = UrlReference; + this.type = 3905492369; + } + } + IFC2X32.IfcImageTexture = IfcImageTexture; + class IfcIrregularTimeSeries extends IfcTimeSeries { + constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, Values) { + super(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.Values = Values; + this.type = 3741457305; + } + } + IFC2X32.IfcIrregularTimeSeries = IfcIrregularTimeSeries; + class IfcLightSource extends IfcGeometricRepresentationItem { + constructor(Name, LightColour, AmbientIntensity, Intensity) { + super(); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.type = 1402838566; + } + } + IFC2X32.IfcLightSource = IfcLightSource; + class IfcLightSourceAmbient extends IfcLightSource { + constructor(Name, LightColour, AmbientIntensity, Intensity) { + super(Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.type = 125510826; + } + } + IFC2X32.IfcLightSourceAmbient = IfcLightSourceAmbient; + class IfcLightSourceDirectional extends IfcLightSource { + constructor(Name, LightColour, AmbientIntensity, Intensity, Orientation) { + super(Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Orientation = Orientation; + this.type = 2604431987; + } + } + IFC2X32.IfcLightSourceDirectional = IfcLightSourceDirectional; + class IfcLightSourceGoniometric extends IfcLightSource { + constructor(Name, LightColour, AmbientIntensity, Intensity, Position, ColourAppearance, ColourTemperature, LuminousFlux, LightEmissionSource, LightDistributionDataSource) { + super(Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.ColourAppearance = ColourAppearance; + this.ColourTemperature = ColourTemperature; + this.LuminousFlux = LuminousFlux; + this.LightEmissionSource = LightEmissionSource; + this.LightDistributionDataSource = LightDistributionDataSource; + this.type = 4266656042; + } + } + IFC2X32.IfcLightSourceGoniometric = IfcLightSourceGoniometric; + class IfcLightSourcePositional extends IfcLightSource { + constructor(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation) { + super(Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.Radius = Radius; + this.ConstantAttenuation = ConstantAttenuation; + this.DistanceAttenuation = DistanceAttenuation; + this.QuadricAttenuation = QuadricAttenuation; + this.type = 1520743889; + } + } + IFC2X32.IfcLightSourcePositional = IfcLightSourcePositional; + class IfcLightSourceSpot extends IfcLightSourcePositional { + constructor(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation, Orientation, ConcentrationExponent, SpreadAngle, BeamWidthAngle) { + super(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.Radius = Radius; + this.ConstantAttenuation = ConstantAttenuation; + this.DistanceAttenuation = DistanceAttenuation; + this.QuadricAttenuation = QuadricAttenuation; + this.Orientation = Orientation; + this.ConcentrationExponent = ConcentrationExponent; + this.SpreadAngle = SpreadAngle; + this.BeamWidthAngle = BeamWidthAngle; + this.type = 3422422726; + } + } + IFC2X32.IfcLightSourceSpot = IfcLightSourceSpot; + class IfcLocalPlacement extends IfcObjectPlacement { + constructor(PlacementRelTo, RelativePlacement) { + super(); + this.PlacementRelTo = PlacementRelTo; + this.RelativePlacement = RelativePlacement; + this.type = 2624227202; + } + } + IFC2X32.IfcLocalPlacement = IfcLocalPlacement; + class IfcLoop extends IfcTopologicalRepresentationItem { + constructor() { + super(); + this.type = 1008929658; + } + } + IFC2X32.IfcLoop = IfcLoop; + class IfcMappedItem extends IfcRepresentationItem { + constructor(MappingSource, MappingTarget) { + super(); + this.MappingSource = MappingSource; + this.MappingTarget = MappingTarget; + this.type = 2347385850; + } + } + IFC2X32.IfcMappedItem = IfcMappedItem; + class IfcMaterialDefinitionRepresentation extends IfcProductRepresentation { + constructor(Name, Description, Representations, RepresentedMaterial) { + super(Name, Description, Representations); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.RepresentedMaterial = RepresentedMaterial; + this.type = 2022407955; + } + } + IFC2X32.IfcMaterialDefinitionRepresentation = IfcMaterialDefinitionRepresentation; + class IfcMechanicalConcreteMaterialProperties extends IfcMechanicalMaterialProperties { + constructor(Material, DynamicViscosity, YoungModulus, ShearModulus, PoissonRatio, ThermalExpansionCoefficient, CompressiveStrength, MaxAggregateSize, AdmixturesDescription, Workability, ProtectivePoreRatio, WaterImpermeability) { + super(Material, DynamicViscosity, YoungModulus, ShearModulus, PoissonRatio, ThermalExpansionCoefficient); + this.Material = Material; + this.DynamicViscosity = DynamicViscosity; + this.YoungModulus = YoungModulus; + this.ShearModulus = ShearModulus; + this.PoissonRatio = PoissonRatio; + this.ThermalExpansionCoefficient = ThermalExpansionCoefficient; + this.CompressiveStrength = CompressiveStrength; + this.MaxAggregateSize = MaxAggregateSize; + this.AdmixturesDescription = AdmixturesDescription; + this.Workability = Workability; + this.ProtectivePoreRatio = ProtectivePoreRatio; + this.WaterImpermeability = WaterImpermeability; + this.type = 1430189142; + } + } + IFC2X32.IfcMechanicalConcreteMaterialProperties = IfcMechanicalConcreteMaterialProperties; + class IfcObjectDefinition extends IfcRoot { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 219451334; + } + } + IFC2X32.IfcObjectDefinition = IfcObjectDefinition; + class IfcOneDirectionRepeatFactor extends IfcGeometricRepresentationItem { + constructor(RepeatFactor) { + super(); + this.RepeatFactor = RepeatFactor; + this.type = 2833995503; + } + } + IFC2X32.IfcOneDirectionRepeatFactor = IfcOneDirectionRepeatFactor; + class IfcOpenShell extends IfcConnectedFaceSet { + constructor(CfsFaces) { + super(CfsFaces); + this.CfsFaces = CfsFaces; + this.type = 2665983363; + } + } + IFC2X32.IfcOpenShell = IfcOpenShell; + class IfcOrientedEdge extends IfcEdge { + constructor(EdgeElement, Orientation) { + super(new Handle$5(0), new Handle$5(0)); + this.EdgeElement = EdgeElement; + this.Orientation = Orientation; + this.type = 1029017970; + } + } + IFC2X32.IfcOrientedEdge = IfcOrientedEdge; + class IfcParameterizedProfileDef extends IfcProfileDef { + constructor(ProfileType, ProfileName, Position) { + super(ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.type = 2529465313; + } + } + IFC2X32.IfcParameterizedProfileDef = IfcParameterizedProfileDef; + class IfcPath extends IfcTopologicalRepresentationItem { + constructor(EdgeList) { + super(); + this.EdgeList = EdgeList; + this.type = 2519244187; + } + } + IFC2X32.IfcPath = IfcPath; + class IfcPhysicalComplexQuantity extends IfcPhysicalQuantity { + constructor(Name, Description, HasQuantities, Discrimination, Quality, Usage) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.HasQuantities = HasQuantities; + this.Discrimination = Discrimination; + this.Quality = Quality; + this.Usage = Usage; + this.type = 3021840470; + } + } + IFC2X32.IfcPhysicalComplexQuantity = IfcPhysicalComplexQuantity; + class IfcPixelTexture extends IfcSurfaceTexture { + constructor(RepeatS, RepeatT, TextureType, TextureTransform, Width, Height, ColourComponents, Pixel) { + super(RepeatS, RepeatT, TextureType, TextureTransform); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.TextureType = TextureType; + this.TextureTransform = TextureTransform; + this.Width = Width; + this.Height = Height; + this.ColourComponents = ColourComponents; + this.Pixel = Pixel; + this.type = 597895409; + } + } + IFC2X32.IfcPixelTexture = IfcPixelTexture; + class IfcPlacement extends IfcGeometricRepresentationItem { + constructor(Location) { + super(); + this.Location = Location; + this.type = 2004835150; + } + } + IFC2X32.IfcPlacement = IfcPlacement; + class IfcPlanarExtent extends IfcGeometricRepresentationItem { + constructor(SizeInX, SizeInY) { + super(); + this.SizeInX = SizeInX; + this.SizeInY = SizeInY; + this.type = 1663979128; + } + } + IFC2X32.IfcPlanarExtent = IfcPlanarExtent; + class IfcPoint extends IfcGeometricRepresentationItem { + constructor() { + super(); + this.type = 2067069095; + } + } + IFC2X32.IfcPoint = IfcPoint; + class IfcPointOnCurve extends IfcPoint { + constructor(BasisCurve, PointParameter) { + super(); + this.BasisCurve = BasisCurve; + this.PointParameter = PointParameter; + this.type = 4022376103; + } + } + IFC2X32.IfcPointOnCurve = IfcPointOnCurve; + class IfcPointOnSurface extends IfcPoint { + constructor(BasisSurface, PointParameterU, PointParameterV) { + super(); + this.BasisSurface = BasisSurface; + this.PointParameterU = PointParameterU; + this.PointParameterV = PointParameterV; + this.type = 1423911732; + } + } + IFC2X32.IfcPointOnSurface = IfcPointOnSurface; + class IfcPolyLoop extends IfcLoop { + constructor(Polygon) { + super(); + this.Polygon = Polygon; + this.type = 2924175390; + } + } + IFC2X32.IfcPolyLoop = IfcPolyLoop; + class IfcPolygonalBoundedHalfSpace extends IfcHalfSpaceSolid { + constructor(BaseSurface, AgreementFlag, Position, PolygonalBoundary) { + super(BaseSurface, AgreementFlag); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.Position = Position; + this.PolygonalBoundary = PolygonalBoundary; + this.type = 2775532180; + } + } + IFC2X32.IfcPolygonalBoundedHalfSpace = IfcPolygonalBoundedHalfSpace; + class IfcPreDefinedColour extends IfcPreDefinedItem { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 759155922; + } + } + IFC2X32.IfcPreDefinedColour = IfcPreDefinedColour; + class IfcPreDefinedCurveFont extends IfcPreDefinedItem { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 2559016684; + } + } + IFC2X32.IfcPreDefinedCurveFont = IfcPreDefinedCurveFont; + class IfcPreDefinedDimensionSymbol extends IfcPreDefinedSymbol { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 433424934; + } + } + IFC2X32.IfcPreDefinedDimensionSymbol = IfcPreDefinedDimensionSymbol; + class IfcPreDefinedPointMarkerSymbol extends IfcPreDefinedSymbol { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 179317114; + } + } + IFC2X32.IfcPreDefinedPointMarkerSymbol = IfcPreDefinedPointMarkerSymbol; + class IfcProductDefinitionShape extends IfcProductRepresentation { + constructor(Name, Description, Representations) { + super(Name, Description, Representations); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.type = 673634403; + } + } + IFC2X32.IfcProductDefinitionShape = IfcProductDefinitionShape; + class IfcPropertyBoundedValue extends IfcSimpleProperty { + constructor(Name, Description, UpperBoundValue, LowerBoundValue, Unit) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.UpperBoundValue = UpperBoundValue; + this.LowerBoundValue = LowerBoundValue; + this.Unit = Unit; + this.type = 871118103; + } + } + IFC2X32.IfcPropertyBoundedValue = IfcPropertyBoundedValue; + class IfcPropertyDefinition extends IfcRoot { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 1680319473; + } + } + IFC2X32.IfcPropertyDefinition = IfcPropertyDefinition; + class IfcPropertyEnumeratedValue extends IfcSimpleProperty { + constructor(Name, Description, EnumerationValues, EnumerationReference) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.EnumerationValues = EnumerationValues; + this.EnumerationReference = EnumerationReference; + this.type = 4166981789; + } + } + IFC2X32.IfcPropertyEnumeratedValue = IfcPropertyEnumeratedValue; + class IfcPropertyListValue extends IfcSimpleProperty { + constructor(Name, Description, ListValues, Unit) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.ListValues = ListValues; + this.Unit = Unit; + this.type = 2752243245; + } + } + IFC2X32.IfcPropertyListValue = IfcPropertyListValue; + class IfcPropertyReferenceValue extends IfcSimpleProperty { + constructor(Name, Description, UsageName, PropertyReference) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.UsageName = UsageName; + this.PropertyReference = PropertyReference; + this.type = 941946838; + } + } + IFC2X32.IfcPropertyReferenceValue = IfcPropertyReferenceValue; + class IfcPropertySetDefinition extends IfcPropertyDefinition { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 3357820518; + } + } + IFC2X32.IfcPropertySetDefinition = IfcPropertySetDefinition; + class IfcPropertySingleValue extends IfcSimpleProperty { + constructor(Name, Description, NominalValue, Unit) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.NominalValue = NominalValue; + this.Unit = Unit; + this.type = 3650150729; + } + } + IFC2X32.IfcPropertySingleValue = IfcPropertySingleValue; + class IfcPropertyTableValue extends IfcSimpleProperty { + constructor(Name, Description, DefiningValues, DefinedValues, Expression, DefiningUnit, DefinedUnit) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.DefiningValues = DefiningValues; + this.DefinedValues = DefinedValues; + this.Expression = Expression; + this.DefiningUnit = DefiningUnit; + this.DefinedUnit = DefinedUnit; + this.type = 110355661; + } + } + IFC2X32.IfcPropertyTableValue = IfcPropertyTableValue; + class IfcRectangleProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, XDim, YDim) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.type = 3615266464; + } + } + IFC2X32.IfcRectangleProfileDef = IfcRectangleProfileDef; + class IfcRegularTimeSeries extends IfcTimeSeries { + constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, TimeStep, Values) { + super(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.TimeStep = TimeStep; + this.Values = Values; + this.type = 3413951693; + } + } + IFC2X32.IfcRegularTimeSeries = IfcRegularTimeSeries; + class IfcReinforcementDefinitionProperties extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, DefinitionType, ReinforcementSectionDefinitions) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.DefinitionType = DefinitionType; + this.ReinforcementSectionDefinitions = ReinforcementSectionDefinitions; + this.type = 3765753017; + } + } + IFC2X32.IfcReinforcementDefinitionProperties = IfcReinforcementDefinitionProperties; + class IfcRelationship extends IfcRoot { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 478536968; + } + } + IFC2X32.IfcRelationship = IfcRelationship; + class IfcRoundedRectangleProfileDef extends IfcRectangleProfileDef { + constructor(ProfileType, ProfileName, Position, XDim, YDim, RoundingRadius) { + super(ProfileType, ProfileName, Position, XDim, YDim); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.RoundingRadius = RoundingRadius; + this.type = 2778083089; + } + } + IFC2X32.IfcRoundedRectangleProfileDef = IfcRoundedRectangleProfileDef; + class IfcSectionedSpine extends IfcGeometricRepresentationItem { + constructor(SpineCurve, CrossSections, CrossSectionPositions) { + super(); + this.SpineCurve = SpineCurve; + this.CrossSections = CrossSections; + this.CrossSectionPositions = CrossSectionPositions; + this.type = 1509187699; + } + } + IFC2X32.IfcSectionedSpine = IfcSectionedSpine; + class IfcServiceLifeFactor extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, PredefinedType, UpperValue, MostUsedValue, LowerValue) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.PredefinedType = PredefinedType; + this.UpperValue = UpperValue; + this.MostUsedValue = MostUsedValue; + this.LowerValue = LowerValue; + this.type = 2411513650; + } + } + IFC2X32.IfcServiceLifeFactor = IfcServiceLifeFactor; + class IfcShellBasedSurfaceModel extends IfcGeometricRepresentationItem { + constructor(SbsmBoundary) { + super(); + this.SbsmBoundary = SbsmBoundary; + this.type = 4124623270; + } + } + IFC2X32.IfcShellBasedSurfaceModel = IfcShellBasedSurfaceModel; + class IfcSlippageConnectionCondition extends IfcStructuralConnectionCondition { + constructor(Name, SlippageX, SlippageY, SlippageZ) { + super(Name); + this.Name = Name; + this.SlippageX = SlippageX; + this.SlippageY = SlippageY; + this.SlippageZ = SlippageZ; + this.type = 2609359061; + } + } + IFC2X32.IfcSlippageConnectionCondition = IfcSlippageConnectionCondition; + class IfcSolidModel extends IfcGeometricRepresentationItem { + constructor() { + super(); + this.type = 723233188; + } + } + IFC2X32.IfcSolidModel = IfcSolidModel; + class IfcSoundProperties extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, IsAttenuating, SoundScale, SoundValues) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.IsAttenuating = IsAttenuating; + this.SoundScale = SoundScale; + this.SoundValues = SoundValues; + this.type = 2485662743; + } + } + IFC2X32.IfcSoundProperties = IfcSoundProperties; + class IfcSoundValue extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, SoundLevelTimeSeries, Frequency, SoundLevelSingleValue) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.SoundLevelTimeSeries = SoundLevelTimeSeries; + this.Frequency = Frequency; + this.SoundLevelSingleValue = SoundLevelSingleValue; + this.type = 1202362311; + } + } + IFC2X32.IfcSoundValue = IfcSoundValue; + class IfcSpaceThermalLoadProperties extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableValueRatio, ThermalLoadSource, PropertySource, SourceDescription, MaximumValue, MinimumValue, ThermalLoadTimeSeriesValues, UserDefinedThermalLoadSource, UserDefinedPropertySource, ThermalLoadType) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableValueRatio = ApplicableValueRatio; + this.ThermalLoadSource = ThermalLoadSource; + this.PropertySource = PropertySource; + this.SourceDescription = SourceDescription; + this.MaximumValue = MaximumValue; + this.MinimumValue = MinimumValue; + this.ThermalLoadTimeSeriesValues = ThermalLoadTimeSeriesValues; + this.UserDefinedThermalLoadSource = UserDefinedThermalLoadSource; + this.UserDefinedPropertySource = UserDefinedPropertySource; + this.ThermalLoadType = ThermalLoadType; + this.type = 390701378; + } + } + IFC2X32.IfcSpaceThermalLoadProperties = IfcSpaceThermalLoadProperties; + class IfcStructuralLoadLinearForce extends IfcStructuralLoadStatic { + constructor(Name, LinearForceX, LinearForceY, LinearForceZ, LinearMomentX, LinearMomentY, LinearMomentZ) { + super(Name); + this.Name = Name; + this.LinearForceX = LinearForceX; + this.LinearForceY = LinearForceY; + this.LinearForceZ = LinearForceZ; + this.LinearMomentX = LinearMomentX; + this.LinearMomentY = LinearMomentY; + this.LinearMomentZ = LinearMomentZ; + this.type = 1595516126; + } + } + IFC2X32.IfcStructuralLoadLinearForce = IfcStructuralLoadLinearForce; + class IfcStructuralLoadPlanarForce extends IfcStructuralLoadStatic { + constructor(Name, PlanarForceX, PlanarForceY, PlanarForceZ) { + super(Name); + this.Name = Name; + this.PlanarForceX = PlanarForceX; + this.PlanarForceY = PlanarForceY; + this.PlanarForceZ = PlanarForceZ; + this.type = 2668620305; + } + } + IFC2X32.IfcStructuralLoadPlanarForce = IfcStructuralLoadPlanarForce; + class IfcStructuralLoadSingleDisplacement extends IfcStructuralLoadStatic { + constructor(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ) { + super(Name); + this.Name = Name; + this.DisplacementX = DisplacementX; + this.DisplacementY = DisplacementY; + this.DisplacementZ = DisplacementZ; + this.RotationalDisplacementRX = RotationalDisplacementRX; + this.RotationalDisplacementRY = RotationalDisplacementRY; + this.RotationalDisplacementRZ = RotationalDisplacementRZ; + this.type = 2473145415; + } + } + IFC2X32.IfcStructuralLoadSingleDisplacement = IfcStructuralLoadSingleDisplacement; + class IfcStructuralLoadSingleDisplacementDistortion extends IfcStructuralLoadSingleDisplacement { + constructor(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ, Distortion) { + super(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ); + this.Name = Name; + this.DisplacementX = DisplacementX; + this.DisplacementY = DisplacementY; + this.DisplacementZ = DisplacementZ; + this.RotationalDisplacementRX = RotationalDisplacementRX; + this.RotationalDisplacementRY = RotationalDisplacementRY; + this.RotationalDisplacementRZ = RotationalDisplacementRZ; + this.Distortion = Distortion; + this.type = 1973038258; + } + } + IFC2X32.IfcStructuralLoadSingleDisplacementDistortion = IfcStructuralLoadSingleDisplacementDistortion; + class IfcStructuralLoadSingleForce extends IfcStructuralLoadStatic { + constructor(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ) { + super(Name); + this.Name = Name; + this.ForceX = ForceX; + this.ForceY = ForceY; + this.ForceZ = ForceZ; + this.MomentX = MomentX; + this.MomentY = MomentY; + this.MomentZ = MomentZ; + this.type = 1597423693; + } + } + IFC2X32.IfcStructuralLoadSingleForce = IfcStructuralLoadSingleForce; + class IfcStructuralLoadSingleForceWarping extends IfcStructuralLoadSingleForce { + constructor(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ, WarpingMoment) { + super(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ); + this.Name = Name; + this.ForceX = ForceX; + this.ForceY = ForceY; + this.ForceZ = ForceZ; + this.MomentX = MomentX; + this.MomentY = MomentY; + this.MomentZ = MomentZ; + this.WarpingMoment = WarpingMoment; + this.type = 1190533807; + } + } + IFC2X32.IfcStructuralLoadSingleForceWarping = IfcStructuralLoadSingleForceWarping; + class IfcStructuralProfileProperties extends IfcGeneralProfileProperties { + constructor(ProfileName, ProfileDefinition, PhysicalWeight, Perimeter, MinimumPlateThickness, MaximumPlateThickness, CrossSectionArea, TorsionalConstantX, MomentOfInertiaYZ, MomentOfInertiaY, MomentOfInertiaZ, WarpingConstant, ShearCentreZ, ShearCentreY, ShearDeformationAreaZ, ShearDeformationAreaY, MaximumSectionModulusY, MinimumSectionModulusY, MaximumSectionModulusZ, MinimumSectionModulusZ, TorsionalSectionModulus, CentreOfGravityInX, CentreOfGravityInY) { + super(ProfileName, ProfileDefinition, PhysicalWeight, Perimeter, MinimumPlateThickness, MaximumPlateThickness, CrossSectionArea); + this.ProfileName = ProfileName; + this.ProfileDefinition = ProfileDefinition; + this.PhysicalWeight = PhysicalWeight; + this.Perimeter = Perimeter; + this.MinimumPlateThickness = MinimumPlateThickness; + this.MaximumPlateThickness = MaximumPlateThickness; + this.CrossSectionArea = CrossSectionArea; + this.TorsionalConstantX = TorsionalConstantX; + this.MomentOfInertiaYZ = MomentOfInertiaYZ; + this.MomentOfInertiaY = MomentOfInertiaY; + this.MomentOfInertiaZ = MomentOfInertiaZ; + this.WarpingConstant = WarpingConstant; + this.ShearCentreZ = ShearCentreZ; + this.ShearCentreY = ShearCentreY; + this.ShearDeformationAreaZ = ShearDeformationAreaZ; + this.ShearDeformationAreaY = ShearDeformationAreaY; + this.MaximumSectionModulusY = MaximumSectionModulusY; + this.MinimumSectionModulusY = MinimumSectionModulusY; + this.MaximumSectionModulusZ = MaximumSectionModulusZ; + this.MinimumSectionModulusZ = MinimumSectionModulusZ; + this.TorsionalSectionModulus = TorsionalSectionModulus; + this.CentreOfGravityInX = CentreOfGravityInX; + this.CentreOfGravityInY = CentreOfGravityInY; + this.type = 3843319758; + } + } + IFC2X32.IfcStructuralProfileProperties = IfcStructuralProfileProperties; + class IfcStructuralSteelProfileProperties extends IfcStructuralProfileProperties { + constructor(ProfileName, ProfileDefinition, PhysicalWeight, Perimeter, MinimumPlateThickness, MaximumPlateThickness, CrossSectionArea, TorsionalConstantX, MomentOfInertiaYZ, MomentOfInertiaY, MomentOfInertiaZ, WarpingConstant, ShearCentreZ, ShearCentreY, ShearDeformationAreaZ, ShearDeformationAreaY, MaximumSectionModulusY, MinimumSectionModulusY, MaximumSectionModulusZ, MinimumSectionModulusZ, TorsionalSectionModulus, CentreOfGravityInX, CentreOfGravityInY, ShearAreaZ, ShearAreaY, PlasticShapeFactorY, PlasticShapeFactorZ) { + super(ProfileName, ProfileDefinition, PhysicalWeight, Perimeter, MinimumPlateThickness, MaximumPlateThickness, CrossSectionArea, TorsionalConstantX, MomentOfInertiaYZ, MomentOfInertiaY, MomentOfInertiaZ, WarpingConstant, ShearCentreZ, ShearCentreY, ShearDeformationAreaZ, ShearDeformationAreaY, MaximumSectionModulusY, MinimumSectionModulusY, MaximumSectionModulusZ, MinimumSectionModulusZ, TorsionalSectionModulus, CentreOfGravityInX, CentreOfGravityInY); + this.ProfileName = ProfileName; + this.ProfileDefinition = ProfileDefinition; + this.PhysicalWeight = PhysicalWeight; + this.Perimeter = Perimeter; + this.MinimumPlateThickness = MinimumPlateThickness; + this.MaximumPlateThickness = MaximumPlateThickness; + this.CrossSectionArea = CrossSectionArea; + this.TorsionalConstantX = TorsionalConstantX; + this.MomentOfInertiaYZ = MomentOfInertiaYZ; + this.MomentOfInertiaY = MomentOfInertiaY; + this.MomentOfInertiaZ = MomentOfInertiaZ; + this.WarpingConstant = WarpingConstant; + this.ShearCentreZ = ShearCentreZ; + this.ShearCentreY = ShearCentreY; + this.ShearDeformationAreaZ = ShearDeformationAreaZ; + this.ShearDeformationAreaY = ShearDeformationAreaY; + this.MaximumSectionModulusY = MaximumSectionModulusY; + this.MinimumSectionModulusY = MinimumSectionModulusY; + this.MaximumSectionModulusZ = MaximumSectionModulusZ; + this.MinimumSectionModulusZ = MinimumSectionModulusZ; + this.TorsionalSectionModulus = TorsionalSectionModulus; + this.CentreOfGravityInX = CentreOfGravityInX; + this.CentreOfGravityInY = CentreOfGravityInY; + this.ShearAreaZ = ShearAreaZ; + this.ShearAreaY = ShearAreaY; + this.PlasticShapeFactorY = PlasticShapeFactorY; + this.PlasticShapeFactorZ = PlasticShapeFactorZ; + this.type = 3653947884; + } + } + IFC2X32.IfcStructuralSteelProfileProperties = IfcStructuralSteelProfileProperties; + class IfcSubedge extends IfcEdge { + constructor(EdgeStart, EdgeEnd, ParentEdge) { + super(EdgeStart, EdgeEnd); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.ParentEdge = ParentEdge; + this.type = 2233826070; + } + } + IFC2X32.IfcSubedge = IfcSubedge; + class IfcSurface extends IfcGeometricRepresentationItem { + constructor() { + super(); + this.type = 2513912981; + } + } + IFC2X32.IfcSurface = IfcSurface; + class IfcSurfaceStyleRendering extends IfcSurfaceStyleShading { + constructor(SurfaceColour, Transparency, DiffuseColour, TransmissionColour, DiffuseTransmissionColour, ReflectionColour, SpecularColour, SpecularHighlight, ReflectanceMethod) { + super(SurfaceColour); + this.SurfaceColour = SurfaceColour; + this.Transparency = Transparency; + this.DiffuseColour = DiffuseColour; + this.TransmissionColour = TransmissionColour; + this.DiffuseTransmissionColour = DiffuseTransmissionColour; + this.ReflectionColour = ReflectionColour; + this.SpecularColour = SpecularColour; + this.SpecularHighlight = SpecularHighlight; + this.ReflectanceMethod = ReflectanceMethod; + this.type = 1878645084; + } + } + IFC2X32.IfcSurfaceStyleRendering = IfcSurfaceStyleRendering; + class IfcSweptAreaSolid extends IfcSolidModel { + constructor(SweptArea, Position) { + super(); + this.SweptArea = SweptArea; + this.Position = Position; + this.type = 2247615214; + } + } + IFC2X32.IfcSweptAreaSolid = IfcSweptAreaSolid; + class IfcSweptDiskSolid extends IfcSolidModel { + constructor(Directrix, Radius, InnerRadius, StartParam, EndParam) { + super(); + this.Directrix = Directrix; + this.Radius = Radius; + this.InnerRadius = InnerRadius; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.type = 1260650574; + } + } + IFC2X32.IfcSweptDiskSolid = IfcSweptDiskSolid; + class IfcSweptSurface extends IfcSurface { + constructor(SweptCurve, Position) { + super(); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.type = 230924584; + } + } + IFC2X32.IfcSweptSurface = IfcSweptSurface; + class IfcTShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, WebEdgeRadius, WebSlope, FlangeSlope, CentreOfGravityInY) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.FlangeEdgeRadius = FlangeEdgeRadius; + this.WebEdgeRadius = WebEdgeRadius; + this.WebSlope = WebSlope; + this.FlangeSlope = FlangeSlope; + this.CentreOfGravityInY = CentreOfGravityInY; + this.type = 3071757647; + } + } + IFC2X32.IfcTShapeProfileDef = IfcTShapeProfileDef; + class IfcTerminatorSymbol extends IfcAnnotationSymbolOccurrence { + constructor(Item, Styles, Name, AnnotatedCurve) { + super(Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.AnnotatedCurve = AnnotatedCurve; + this.type = 3028897424; + } + } + IFC2X32.IfcTerminatorSymbol = IfcTerminatorSymbol; + class IfcTextLiteral extends IfcGeometricRepresentationItem { + constructor(Literal, Placement, Path) { + super(); + this.Literal = Literal; + this.Placement = Placement; + this.Path = Path; + this.type = 4282788508; + } + } + IFC2X32.IfcTextLiteral = IfcTextLiteral; + class IfcTextLiteralWithExtent extends IfcTextLiteral { + constructor(Literal, Placement, Path, Extent, BoxAlignment) { + super(Literal, Placement, Path); + this.Literal = Literal; + this.Placement = Placement; + this.Path = Path; + this.Extent = Extent; + this.BoxAlignment = BoxAlignment; + this.type = 3124975700; + } + } + IFC2X32.IfcTextLiteralWithExtent = IfcTextLiteralWithExtent; + class IfcTrapeziumProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, BottomXDim, TopXDim, YDim, TopXOffset) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.BottomXDim = BottomXDim; + this.TopXDim = TopXDim; + this.YDim = YDim; + this.TopXOffset = TopXOffset; + this.type = 2715220739; + } + } + IFC2X32.IfcTrapeziumProfileDef = IfcTrapeziumProfileDef; + class IfcTwoDirectionRepeatFactor extends IfcOneDirectionRepeatFactor { + constructor(RepeatFactor, SecondRepeatFactor) { + super(RepeatFactor); + this.RepeatFactor = RepeatFactor; + this.SecondRepeatFactor = SecondRepeatFactor; + this.type = 1345879162; + } + } + IFC2X32.IfcTwoDirectionRepeatFactor = IfcTwoDirectionRepeatFactor; + class IfcTypeObject extends IfcObjectDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.type = 1628702193; + } + } + IFC2X32.IfcTypeObject = IfcTypeObject; + class IfcTypeProduct extends IfcTypeObject { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.type = 2347495698; + } + } + IFC2X32.IfcTypeProduct = IfcTypeProduct; + class IfcUShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius, FlangeSlope, CentreOfGravityInX) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.FlangeSlope = FlangeSlope; + this.CentreOfGravityInX = CentreOfGravityInX; + this.type = 427810014; + } + } + IFC2X32.IfcUShapeProfileDef = IfcUShapeProfileDef; + class IfcVector extends IfcGeometricRepresentationItem { + constructor(Orientation, Magnitude) { + super(); + this.Orientation = Orientation; + this.Magnitude = Magnitude; + this.type = 1417489154; + } + } + IFC2X32.IfcVector = IfcVector; + class IfcVertexLoop extends IfcLoop { + constructor(LoopVertex) { + super(); + this.LoopVertex = LoopVertex; + this.type = 2759199220; + } + } + IFC2X32.IfcVertexLoop = IfcVertexLoop; + class IfcWindowLiningProperties extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, TransomThickness, MullionThickness, FirstTransomOffset, SecondTransomOffset, FirstMullionOffset, SecondMullionOffset, ShapeAspectStyle) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.LiningDepth = LiningDepth; + this.LiningThickness = LiningThickness; + this.TransomThickness = TransomThickness; + this.MullionThickness = MullionThickness; + this.FirstTransomOffset = FirstTransomOffset; + this.SecondTransomOffset = SecondTransomOffset; + this.FirstMullionOffset = FirstMullionOffset; + this.SecondMullionOffset = SecondMullionOffset; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 336235671; + } + } + IFC2X32.IfcWindowLiningProperties = IfcWindowLiningProperties; + class IfcWindowPanelProperties extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.OperationType = OperationType; + this.PanelPosition = PanelPosition; + this.FrameDepth = FrameDepth; + this.FrameThickness = FrameThickness; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 512836454; + } + } + IFC2X32.IfcWindowPanelProperties = IfcWindowPanelProperties; + class IfcWindowStyle extends IfcTypeProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ConstructionType, OperationType, ParameterTakesPrecedence, Sizeable) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ConstructionType = ConstructionType; + this.OperationType = OperationType; + this.ParameterTakesPrecedence = ParameterTakesPrecedence; + this.Sizeable = Sizeable; + this.type = 1299126871; + } + } + IFC2X32.IfcWindowStyle = IfcWindowStyle; + class IfcZShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.type = 2543172580; + } + } + IFC2X32.IfcZShapeProfileDef = IfcZShapeProfileDef; + class IfcAnnotationCurveOccurrence extends IfcAnnotationOccurrence { + constructor(Item, Styles, Name) { + super(Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 3288037868; + } + } + IFC2X32.IfcAnnotationCurveOccurrence = IfcAnnotationCurveOccurrence; + class IfcAnnotationFillArea extends IfcGeometricRepresentationItem { + constructor(OuterBoundary, InnerBoundaries) { + super(); + this.OuterBoundary = OuterBoundary; + this.InnerBoundaries = InnerBoundaries; + this.type = 669184980; + } + } + IFC2X32.IfcAnnotationFillArea = IfcAnnotationFillArea; + class IfcAnnotationFillAreaOccurrence extends IfcAnnotationOccurrence { + constructor(Item, Styles, Name, FillStyleTarget, GlobalOrLocal) { + super(Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.FillStyleTarget = FillStyleTarget; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 2265737646; + } + } + IFC2X32.IfcAnnotationFillAreaOccurrence = IfcAnnotationFillAreaOccurrence; + class IfcAnnotationSurface extends IfcGeometricRepresentationItem { + constructor(Item, TextureCoordinates) { + super(); + this.Item = Item; + this.TextureCoordinates = TextureCoordinates; + this.type = 1302238472; + } + } + IFC2X32.IfcAnnotationSurface = IfcAnnotationSurface; + class IfcAxis1Placement extends IfcPlacement { + constructor(Location, Axis) { + super(Location); + this.Location = Location; + this.Axis = Axis; + this.type = 4261334040; + } + } + IFC2X32.IfcAxis1Placement = IfcAxis1Placement; + class IfcAxis2Placement2D extends IfcPlacement { + constructor(Location, RefDirection) { + super(Location); + this.Location = Location; + this.RefDirection = RefDirection; + this.type = 3125803723; + } + } + IFC2X32.IfcAxis2Placement2D = IfcAxis2Placement2D; + class IfcAxis2Placement3D extends IfcPlacement { + constructor(Location, Axis, RefDirection) { + super(Location); + this.Location = Location; + this.Axis = Axis; + this.RefDirection = RefDirection; + this.type = 2740243338; + } + } + IFC2X32.IfcAxis2Placement3D = IfcAxis2Placement3D; + class IfcBooleanResult extends IfcGeometricRepresentationItem { + constructor(Operator, FirstOperand, SecondOperand) { + super(); + this.Operator = Operator; + this.FirstOperand = FirstOperand; + this.SecondOperand = SecondOperand; + this.type = 2736907675; + } + } + IFC2X32.IfcBooleanResult = IfcBooleanResult; + class IfcBoundedSurface extends IfcSurface { + constructor() { + super(); + this.type = 4182860854; + } + } + IFC2X32.IfcBoundedSurface = IfcBoundedSurface; + class IfcBoundingBox extends IfcGeometricRepresentationItem { + constructor(Corner, XDim, YDim, ZDim) { + super(); + this.Corner = Corner; + this.XDim = XDim; + this.YDim = YDim; + this.ZDim = ZDim; + this.type = 2581212453; + } + } + IFC2X32.IfcBoundingBox = IfcBoundingBox; + class IfcBoxedHalfSpace extends IfcHalfSpaceSolid { + constructor(BaseSurface, AgreementFlag, Enclosure) { + super(BaseSurface, AgreementFlag); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.Enclosure = Enclosure; + this.type = 2713105998; + } + } + IFC2X32.IfcBoxedHalfSpace = IfcBoxedHalfSpace; + class IfcCShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Depth, Width, WallThickness, Girth, InternalFilletRadius, CentreOfGravityInX) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.Width = Width; + this.WallThickness = WallThickness; + this.Girth = Girth; + this.InternalFilletRadius = InternalFilletRadius; + this.CentreOfGravityInX = CentreOfGravityInX; + this.type = 2898889636; + } + } + IFC2X32.IfcCShapeProfileDef = IfcCShapeProfileDef; + class IfcCartesianPoint extends IfcPoint { + constructor(Coordinates) { + super(); + this.Coordinates = Coordinates; + this.type = 1123145078; + } + } + IFC2X32.IfcCartesianPoint = IfcCartesianPoint; + class IfcCartesianTransformationOperator extends IfcGeometricRepresentationItem { + constructor(Axis1, Axis2, LocalOrigin, Scale) { + super(); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.type = 59481748; + } + } + IFC2X32.IfcCartesianTransformationOperator = IfcCartesianTransformationOperator; + class IfcCartesianTransformationOperator2D extends IfcCartesianTransformationOperator { + constructor(Axis1, Axis2, LocalOrigin, Scale) { + super(Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.type = 3749851601; + } + } + IFC2X32.IfcCartesianTransformationOperator2D = IfcCartesianTransformationOperator2D; + class IfcCartesianTransformationOperator2DnonUniform extends IfcCartesianTransformationOperator2D { + constructor(Axis1, Axis2, LocalOrigin, Scale, Scale2) { + super(Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Scale2 = Scale2; + this.type = 3486308946; + } + } + IFC2X32.IfcCartesianTransformationOperator2DnonUniform = IfcCartesianTransformationOperator2DnonUniform; + class IfcCartesianTransformationOperator3D extends IfcCartesianTransformationOperator { + constructor(Axis1, Axis2, LocalOrigin, Scale, Axis3) { + super(Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Axis3 = Axis3; + this.type = 3331915920; + } + } + IFC2X32.IfcCartesianTransformationOperator3D = IfcCartesianTransformationOperator3D; + class IfcCartesianTransformationOperator3DnonUniform extends IfcCartesianTransformationOperator3D { + constructor(Axis1, Axis2, LocalOrigin, Scale, Axis3, Scale2, Scale3) { + super(Axis1, Axis2, LocalOrigin, Scale, Axis3); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Axis3 = Axis3; + this.Scale2 = Scale2; + this.Scale3 = Scale3; + this.type = 1416205885; + } + } + IFC2X32.IfcCartesianTransformationOperator3DnonUniform = IfcCartesianTransformationOperator3DnonUniform; + class IfcCircleProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Radius) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Radius = Radius; + this.type = 1383045692; + } + } + IFC2X32.IfcCircleProfileDef = IfcCircleProfileDef; + class IfcClosedShell extends IfcConnectedFaceSet { + constructor(CfsFaces) { + super(CfsFaces); + this.CfsFaces = CfsFaces; + this.type = 2205249479; + } + } + IFC2X32.IfcClosedShell = IfcClosedShell; + class IfcCompositeCurveSegment extends IfcGeometricRepresentationItem { + constructor(Transition, SameSense, ParentCurve) { + super(); + this.Transition = Transition; + this.SameSense = SameSense; + this.ParentCurve = ParentCurve; + this.type = 2485617015; + } + } + IFC2X32.IfcCompositeCurveSegment = IfcCompositeCurveSegment; + class IfcCraneRailAShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, OverallHeight, BaseWidth2, Radius, HeadWidth, HeadDepth2, HeadDepth3, WebThickness, BaseWidth4, BaseDepth1, BaseDepth2, BaseDepth3, CentreOfGravityInY) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.OverallHeight = OverallHeight; + this.BaseWidth2 = BaseWidth2; + this.Radius = Radius; + this.HeadWidth = HeadWidth; + this.HeadDepth2 = HeadDepth2; + this.HeadDepth3 = HeadDepth3; + this.WebThickness = WebThickness; + this.BaseWidth4 = BaseWidth4; + this.BaseDepth1 = BaseDepth1; + this.BaseDepth2 = BaseDepth2; + this.BaseDepth3 = BaseDepth3; + this.CentreOfGravityInY = CentreOfGravityInY; + this.type = 4133800736; + } + } + IFC2X32.IfcCraneRailAShapeProfileDef = IfcCraneRailAShapeProfileDef; + class IfcCraneRailFShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, OverallHeight, HeadWidth, Radius, HeadDepth2, HeadDepth3, WebThickness, BaseDepth1, BaseDepth2, CentreOfGravityInY) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.OverallHeight = OverallHeight; + this.HeadWidth = HeadWidth; + this.Radius = Radius; + this.HeadDepth2 = HeadDepth2; + this.HeadDepth3 = HeadDepth3; + this.WebThickness = WebThickness; + this.BaseDepth1 = BaseDepth1; + this.BaseDepth2 = BaseDepth2; + this.CentreOfGravityInY = CentreOfGravityInY; + this.type = 194851669; + } + } + IFC2X32.IfcCraneRailFShapeProfileDef = IfcCraneRailFShapeProfileDef; + class IfcCsgPrimitive3D extends IfcGeometricRepresentationItem { + constructor(Position) { + super(); + this.Position = Position; + this.type = 2506170314; + } + } + IFC2X32.IfcCsgPrimitive3D = IfcCsgPrimitive3D; + class IfcCsgSolid extends IfcSolidModel { + constructor(TreeRootExpression) { + super(); + this.TreeRootExpression = TreeRootExpression; + this.type = 2147822146; + } + } + IFC2X32.IfcCsgSolid = IfcCsgSolid; + class IfcCurve extends IfcGeometricRepresentationItem { + constructor() { + super(); + this.type = 2601014836; + } + } + IFC2X32.IfcCurve = IfcCurve; + class IfcCurveBoundedPlane extends IfcBoundedSurface { + constructor(BasisSurface, OuterBoundary, InnerBoundaries) { + super(); + this.BasisSurface = BasisSurface; + this.OuterBoundary = OuterBoundary; + this.InnerBoundaries = InnerBoundaries; + this.type = 2827736869; + } + } + IFC2X32.IfcCurveBoundedPlane = IfcCurveBoundedPlane; + class IfcDefinedSymbol extends IfcGeometricRepresentationItem { + constructor(Definition, Target) { + super(); + this.Definition = Definition; + this.Target = Target; + this.type = 693772133; + } + } + IFC2X32.IfcDefinedSymbol = IfcDefinedSymbol; + class IfcDimensionCurve extends IfcAnnotationCurveOccurrence { + constructor(Item, Styles, Name) { + super(Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 606661476; + } + } + IFC2X32.IfcDimensionCurve = IfcDimensionCurve; + class IfcDimensionCurveTerminator extends IfcTerminatorSymbol { + constructor(Item, Styles, Name, AnnotatedCurve, Role) { + super(Item, Styles, Name, AnnotatedCurve); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.AnnotatedCurve = AnnotatedCurve; + this.Role = Role; + this.type = 4054601972; + } + } + IFC2X32.IfcDimensionCurveTerminator = IfcDimensionCurveTerminator; + class IfcDirection extends IfcGeometricRepresentationItem { + constructor(DirectionRatios) { + super(); + this.DirectionRatios = DirectionRatios; + this.type = 32440307; + } + } + IFC2X32.IfcDirection = IfcDirection; + class IfcDoorLiningProperties extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, ThresholdDepth, ThresholdThickness, TransomThickness, TransomOffset, LiningOffset, ThresholdOffset, CasingThickness, CasingDepth, ShapeAspectStyle) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.LiningDepth = LiningDepth; + this.LiningThickness = LiningThickness; + this.ThresholdDepth = ThresholdDepth; + this.ThresholdThickness = ThresholdThickness; + this.TransomThickness = TransomThickness; + this.TransomOffset = TransomOffset; + this.LiningOffset = LiningOffset; + this.ThresholdOffset = ThresholdOffset; + this.CasingThickness = CasingThickness; + this.CasingDepth = CasingDepth; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 2963535650; + } + } + IFC2X32.IfcDoorLiningProperties = IfcDoorLiningProperties; + class IfcDoorPanelProperties extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, PanelDepth, PanelOperation, PanelWidth, PanelPosition, ShapeAspectStyle) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.PanelDepth = PanelDepth; + this.PanelOperation = PanelOperation; + this.PanelWidth = PanelWidth; + this.PanelPosition = PanelPosition; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 1714330368; + } + } + IFC2X32.IfcDoorPanelProperties = IfcDoorPanelProperties; + class IfcDoorStyle extends IfcTypeProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, OperationType, ConstructionType, ParameterTakesPrecedence, Sizeable) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.OperationType = OperationType; + this.ConstructionType = ConstructionType; + this.ParameterTakesPrecedence = ParameterTakesPrecedence; + this.Sizeable = Sizeable; + this.type = 526551008; + } + } + IFC2X32.IfcDoorStyle = IfcDoorStyle; + class IfcDraughtingCallout extends IfcGeometricRepresentationItem { + constructor(Contents) { + super(); + this.Contents = Contents; + this.type = 3073041342; + } + } + IFC2X32.IfcDraughtingCallout = IfcDraughtingCallout; + class IfcDraughtingPreDefinedColour extends IfcPreDefinedColour { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 445594917; + } + } + IFC2X32.IfcDraughtingPreDefinedColour = IfcDraughtingPreDefinedColour; + class IfcDraughtingPreDefinedCurveFont extends IfcPreDefinedCurveFont { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 4006246654; + } + } + IFC2X32.IfcDraughtingPreDefinedCurveFont = IfcDraughtingPreDefinedCurveFont; + class IfcEdgeLoop extends IfcLoop { + constructor(EdgeList) { + super(); + this.EdgeList = EdgeList; + this.type = 1472233963; + } + } + IFC2X32.IfcEdgeLoop = IfcEdgeLoop; + class IfcElementQuantity extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, MethodOfMeasurement, Quantities) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.MethodOfMeasurement = MethodOfMeasurement; + this.Quantities = Quantities; + this.type = 1883228015; + } + } + IFC2X32.IfcElementQuantity = IfcElementQuantity; + class IfcElementType extends IfcTypeProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 339256511; + } + } + IFC2X32.IfcElementType = IfcElementType; + class IfcElementarySurface extends IfcSurface { + constructor(Position) { + super(); + this.Position = Position; + this.type = 2777663545; + } + } + IFC2X32.IfcElementarySurface = IfcElementarySurface; + class IfcEllipseProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, SemiAxis1, SemiAxis2) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.SemiAxis1 = SemiAxis1; + this.SemiAxis2 = SemiAxis2; + this.type = 2835456948; + } + } + IFC2X32.IfcEllipseProfileDef = IfcEllipseProfileDef; + class IfcEnergyProperties extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, EnergySequence, UserDefinedEnergySequence) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.EnergySequence = EnergySequence; + this.UserDefinedEnergySequence = UserDefinedEnergySequence; + this.type = 80994333; + } + } + IFC2X32.IfcEnergyProperties = IfcEnergyProperties; + class IfcExtrudedAreaSolid extends IfcSweptAreaSolid { + constructor(SweptArea, Position, ExtrudedDirection, Depth) { + super(SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.ExtrudedDirection = ExtrudedDirection; + this.Depth = Depth; + this.type = 477187591; + } + } + IFC2X32.IfcExtrudedAreaSolid = IfcExtrudedAreaSolid; + class IfcFaceBasedSurfaceModel extends IfcGeometricRepresentationItem { + constructor(FbsmFaces) { + super(); + this.FbsmFaces = FbsmFaces; + this.type = 2047409740; + } + } + IFC2X32.IfcFaceBasedSurfaceModel = IfcFaceBasedSurfaceModel; + class IfcFillAreaStyleHatching extends IfcGeometricRepresentationItem { + constructor(HatchLineAppearance, StartOfNextHatchLine, PointOfReferenceHatchLine, PatternStart, HatchLineAngle) { + super(); + this.HatchLineAppearance = HatchLineAppearance; + this.StartOfNextHatchLine = StartOfNextHatchLine; + this.PointOfReferenceHatchLine = PointOfReferenceHatchLine; + this.PatternStart = PatternStart; + this.HatchLineAngle = HatchLineAngle; + this.type = 374418227; + } + } + IFC2X32.IfcFillAreaStyleHatching = IfcFillAreaStyleHatching; + class IfcFillAreaStyleTileSymbolWithStyle extends IfcGeometricRepresentationItem { + constructor(Symbol2) { + super(); + this.Symbol = Symbol2; + this.type = 4203026998; + } + } + IFC2X32.IfcFillAreaStyleTileSymbolWithStyle = IfcFillAreaStyleTileSymbolWithStyle; + class IfcFillAreaStyleTiles extends IfcGeometricRepresentationItem { + constructor(TilingPattern, Tiles, TilingScale) { + super(); + this.TilingPattern = TilingPattern; + this.Tiles = Tiles; + this.TilingScale = TilingScale; + this.type = 315944413; + } + } + IFC2X32.IfcFillAreaStyleTiles = IfcFillAreaStyleTiles; + class IfcFluidFlowProperties extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, PropertySource, FlowConditionTimeSeries, VelocityTimeSeries, FlowrateTimeSeries, Fluid, PressureTimeSeries, UserDefinedPropertySource, TemperatureSingleValue, WetBulbTemperatureSingleValue, WetBulbTemperatureTimeSeries, TemperatureTimeSeries, FlowrateSingleValue, FlowConditionSingleValue, VelocitySingleValue, PressureSingleValue) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.PropertySource = PropertySource; + this.FlowConditionTimeSeries = FlowConditionTimeSeries; + this.VelocityTimeSeries = VelocityTimeSeries; + this.FlowrateTimeSeries = FlowrateTimeSeries; + this.Fluid = Fluid; + this.PressureTimeSeries = PressureTimeSeries; + this.UserDefinedPropertySource = UserDefinedPropertySource; + this.TemperatureSingleValue = TemperatureSingleValue; + this.WetBulbTemperatureSingleValue = WetBulbTemperatureSingleValue; + this.WetBulbTemperatureTimeSeries = WetBulbTemperatureTimeSeries; + this.TemperatureTimeSeries = TemperatureTimeSeries; + this.FlowrateSingleValue = FlowrateSingleValue; + this.FlowConditionSingleValue = FlowConditionSingleValue; + this.VelocitySingleValue = VelocitySingleValue; + this.PressureSingleValue = PressureSingleValue; + this.type = 3455213021; + } + } + IFC2X32.IfcFluidFlowProperties = IfcFluidFlowProperties; + class IfcFurnishingElementType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 4238390223; + } + } + IFC2X32.IfcFurnishingElementType = IfcFurnishingElementType; + class IfcFurnitureType extends IfcFurnishingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, AssemblyPlace) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.AssemblyPlace = AssemblyPlace; + this.type = 1268542332; + } + } + IFC2X32.IfcFurnitureType = IfcFurnitureType; + class IfcGeometricCurveSet extends IfcGeometricSet { + constructor(Elements) { + super(Elements); + this.Elements = Elements; + this.type = 987898635; + } + } + IFC2X32.IfcGeometricCurveSet = IfcGeometricCurveSet; + class IfcIShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.OverallWidth = OverallWidth; + this.OverallDepth = OverallDepth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.type = 1484403080; + } + } + IFC2X32.IfcIShapeProfileDef = IfcIShapeProfileDef; + class IfcLShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Depth, Width, Thickness, FilletRadius, EdgeRadius, LegSlope, CentreOfGravityInX, CentreOfGravityInY) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.Width = Width; + this.Thickness = Thickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.LegSlope = LegSlope; + this.CentreOfGravityInX = CentreOfGravityInX; + this.CentreOfGravityInY = CentreOfGravityInY; + this.type = 572779678; + } + } + IFC2X32.IfcLShapeProfileDef = IfcLShapeProfileDef; + class IfcLine extends IfcCurve { + constructor(Pnt, Dir) { + super(); + this.Pnt = Pnt; + this.Dir = Dir; + this.type = 1281925730; + } + } + IFC2X32.IfcLine = IfcLine; + class IfcManifoldSolidBrep extends IfcSolidModel { + constructor(Outer) { + super(); + this.Outer = Outer; + this.type = 1425443689; + } + } + IFC2X32.IfcManifoldSolidBrep = IfcManifoldSolidBrep; + class IfcObject extends IfcObjectDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 3888040117; + } + } + IFC2X32.IfcObject = IfcObject; + class IfcOffsetCurve2D extends IfcCurve { + constructor(BasisCurve, Distance, SelfIntersect) { + super(); + this.BasisCurve = BasisCurve; + this.Distance = Distance; + this.SelfIntersect = SelfIntersect; + this.type = 3388369263; + } + } + IFC2X32.IfcOffsetCurve2D = IfcOffsetCurve2D; + class IfcOffsetCurve3D extends IfcCurve { + constructor(BasisCurve, Distance, SelfIntersect, RefDirection) { + super(); + this.BasisCurve = BasisCurve; + this.Distance = Distance; + this.SelfIntersect = SelfIntersect; + this.RefDirection = RefDirection; + this.type = 3505215534; + } + } + IFC2X32.IfcOffsetCurve3D = IfcOffsetCurve3D; + class IfcPermeableCoveringProperties extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.OperationType = OperationType; + this.PanelPosition = PanelPosition; + this.FrameDepth = FrameDepth; + this.FrameThickness = FrameThickness; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 3566463478; + } + } + IFC2X32.IfcPermeableCoveringProperties = IfcPermeableCoveringProperties; + class IfcPlanarBox extends IfcPlanarExtent { + constructor(SizeInX, SizeInY, Placement) { + super(SizeInX, SizeInY); + this.SizeInX = SizeInX; + this.SizeInY = SizeInY; + this.Placement = Placement; + this.type = 603570806; + } + } + IFC2X32.IfcPlanarBox = IfcPlanarBox; + class IfcPlane extends IfcElementarySurface { + constructor(Position) { + super(Position); + this.Position = Position; + this.type = 220341763; + } + } + IFC2X32.IfcPlane = IfcPlane; + class IfcProcess extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2945172077; + } + } + IFC2X32.IfcProcess = IfcProcess; + class IfcProduct extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 4208778838; + } + } + IFC2X32.IfcProduct = IfcProduct; + class IfcProject extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.Phase = Phase; + this.RepresentationContexts = RepresentationContexts; + this.UnitsInContext = UnitsInContext; + this.type = 103090709; + } + } + IFC2X32.IfcProject = IfcProject; + class IfcProjectionCurve extends IfcAnnotationCurveOccurrence { + constructor(Item, Styles, Name) { + super(Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 4194566429; + } + } + IFC2X32.IfcProjectionCurve = IfcProjectionCurve; + class IfcPropertySet extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, HasProperties) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.HasProperties = HasProperties; + this.type = 1451395588; + } + } + IFC2X32.IfcPropertySet = IfcPropertySet; + class IfcProxy extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, ProxyType, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.ProxyType = ProxyType; + this.Tag = Tag; + this.type = 3219374653; + } + } + IFC2X32.IfcProxy = IfcProxy; + class IfcRectangleHollowProfileDef extends IfcRectangleProfileDef { + constructor(ProfileType, ProfileName, Position, XDim, YDim, WallThickness, InnerFilletRadius, OuterFilletRadius) { + super(ProfileType, ProfileName, Position, XDim, YDim); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.WallThickness = WallThickness; + this.InnerFilletRadius = InnerFilletRadius; + this.OuterFilletRadius = OuterFilletRadius; + this.type = 2770003689; + } + } + IFC2X32.IfcRectangleHollowProfileDef = IfcRectangleHollowProfileDef; + class IfcRectangularPyramid extends IfcCsgPrimitive3D { + constructor(Position, XLength, YLength, Height) { + super(Position); + this.Position = Position; + this.XLength = XLength; + this.YLength = YLength; + this.Height = Height; + this.type = 2798486643; + } + } + IFC2X32.IfcRectangularPyramid = IfcRectangularPyramid; + class IfcRectangularTrimmedSurface extends IfcBoundedSurface { + constructor(BasisSurface, U1, V1, U2, V2, Usense, Vsense) { + super(); + this.BasisSurface = BasisSurface; + this.U1 = U1; + this.V1 = V1; + this.U2 = U2; + this.V2 = V2; + this.Usense = Usense; + this.Vsense = Vsense; + this.type = 3454111270; + } + } + IFC2X32.IfcRectangularTrimmedSurface = IfcRectangularTrimmedSurface; + class IfcRelAssigns extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.type = 3939117080; + } + } + IFC2X32.IfcRelAssigns = IfcRelAssigns; + class IfcRelAssignsToActor extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingActor = RelatingActor; + this.ActingRole = ActingRole; + this.type = 1683148259; + } + } + IFC2X32.IfcRelAssignsToActor = IfcRelAssignsToActor; + class IfcRelAssignsToControl extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingControl = RelatingControl; + this.type = 2495723537; + } + } + IFC2X32.IfcRelAssignsToControl = IfcRelAssignsToControl; + class IfcRelAssignsToGroup extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingGroup = RelatingGroup; + this.type = 1307041759; + } + } + IFC2X32.IfcRelAssignsToGroup = IfcRelAssignsToGroup; + class IfcRelAssignsToProcess extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProcess, QuantityInProcess) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingProcess = RelatingProcess; + this.QuantityInProcess = QuantityInProcess; + this.type = 4278684876; + } + } + IFC2X32.IfcRelAssignsToProcess = IfcRelAssignsToProcess; + class IfcRelAssignsToProduct extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProduct) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingProduct = RelatingProduct; + this.type = 2857406711; + } + } + IFC2X32.IfcRelAssignsToProduct = IfcRelAssignsToProduct; + class IfcRelAssignsToProjectOrder extends IfcRelAssignsToControl { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingControl = RelatingControl; + this.type = 3372526763; + } + } + IFC2X32.IfcRelAssignsToProjectOrder = IfcRelAssignsToProjectOrder; + class IfcRelAssignsToResource extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingResource) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingResource = RelatingResource; + this.type = 205026976; + } + } + IFC2X32.IfcRelAssignsToResource = IfcRelAssignsToResource; + class IfcRelAssociates extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.type = 1865459582; + } + } + IFC2X32.IfcRelAssociates = IfcRelAssociates; + class IfcRelAssociatesAppliedValue extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingAppliedValue) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingAppliedValue = RelatingAppliedValue; + this.type = 1327628568; + } + } + IFC2X32.IfcRelAssociatesAppliedValue = IfcRelAssociatesAppliedValue; + class IfcRelAssociatesApproval extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingApproval) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingApproval = RelatingApproval; + this.type = 4095574036; + } + } + IFC2X32.IfcRelAssociatesApproval = IfcRelAssociatesApproval; + class IfcRelAssociatesClassification extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingClassification) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingClassification = RelatingClassification; + this.type = 919958153; + } + } + IFC2X32.IfcRelAssociatesClassification = IfcRelAssociatesClassification; + class IfcRelAssociatesConstraint extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, Intent, RelatingConstraint) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.Intent = Intent; + this.RelatingConstraint = RelatingConstraint; + this.type = 2728634034; + } + } + IFC2X32.IfcRelAssociatesConstraint = IfcRelAssociatesConstraint; + class IfcRelAssociatesDocument extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingDocument) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingDocument = RelatingDocument; + this.type = 982818633; + } + } + IFC2X32.IfcRelAssociatesDocument = IfcRelAssociatesDocument; + class IfcRelAssociatesLibrary extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingLibrary) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingLibrary = RelatingLibrary; + this.type = 3840914261; + } + } + IFC2X32.IfcRelAssociatesLibrary = IfcRelAssociatesLibrary; + class IfcRelAssociatesMaterial extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingMaterial) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingMaterial = RelatingMaterial; + this.type = 2655215786; + } + } + IFC2X32.IfcRelAssociatesMaterial = IfcRelAssociatesMaterial; + class IfcRelAssociatesProfileProperties extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingProfileProperties, ProfileSectionLocation, ProfileOrientation) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingProfileProperties = RelatingProfileProperties; + this.ProfileSectionLocation = ProfileSectionLocation; + this.ProfileOrientation = ProfileOrientation; + this.type = 2851387026; + } + } + IFC2X32.IfcRelAssociatesProfileProperties = IfcRelAssociatesProfileProperties; + class IfcRelConnects extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 826625072; + } + } + IFC2X32.IfcRelConnects = IfcRelConnects; + class IfcRelConnectsElements extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.type = 1204542856; + } + } + IFC2X32.IfcRelConnectsElements = IfcRelConnectsElements; + class IfcRelConnectsPathElements extends IfcRelConnectsElements { + constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RelatingPriorities, RelatedPriorities, RelatedConnectionType, RelatingConnectionType) { + super(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.RelatingPriorities = RelatingPriorities; + this.RelatedPriorities = RelatedPriorities; + this.RelatedConnectionType = RelatedConnectionType; + this.RelatingConnectionType = RelatingConnectionType; + this.type = 3945020480; + } + } + IFC2X32.IfcRelConnectsPathElements = IfcRelConnectsPathElements; + class IfcRelConnectsPortToElement extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingPort = RelatingPort; + this.RelatedElement = RelatedElement; + this.type = 4201705270; + } + } + IFC2X32.IfcRelConnectsPortToElement = IfcRelConnectsPortToElement; + class IfcRelConnectsPorts extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedPort, RealizingElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingPort = RelatingPort; + this.RelatedPort = RelatedPort; + this.RealizingElement = RealizingElement; + this.type = 3190031847; + } + } + IFC2X32.IfcRelConnectsPorts = IfcRelConnectsPorts; + class IfcRelConnectsStructuralActivity extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedStructuralActivity) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedStructuralActivity = RelatedStructuralActivity; + this.type = 2127690289; + } + } + IFC2X32.IfcRelConnectsStructuralActivity = IfcRelConnectsStructuralActivity; + class IfcRelConnectsStructuralElement extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedStructuralMember) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedStructuralMember = RelatedStructuralMember; + this.type = 3912681535; + } + } + IFC2X32.IfcRelConnectsStructuralElement = IfcRelConnectsStructuralElement; + class IfcRelConnectsStructuralMember extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingStructuralMember = RelatingStructuralMember; + this.RelatedStructuralConnection = RelatedStructuralConnection; + this.AppliedCondition = AppliedCondition; + this.AdditionalConditions = AdditionalConditions; + this.SupportedLength = SupportedLength; + this.ConditionCoordinateSystem = ConditionCoordinateSystem; + this.type = 1638771189; + } + } + IFC2X32.IfcRelConnectsStructuralMember = IfcRelConnectsStructuralMember; + class IfcRelConnectsWithEccentricity extends IfcRelConnectsStructuralMember { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem, ConnectionConstraint) { + super(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingStructuralMember = RelatingStructuralMember; + this.RelatedStructuralConnection = RelatedStructuralConnection; + this.AppliedCondition = AppliedCondition; + this.AdditionalConditions = AdditionalConditions; + this.SupportedLength = SupportedLength; + this.ConditionCoordinateSystem = ConditionCoordinateSystem; + this.ConnectionConstraint = ConnectionConstraint; + this.type = 504942748; + } + } + IFC2X32.IfcRelConnectsWithEccentricity = IfcRelConnectsWithEccentricity; + class IfcRelConnectsWithRealizingElements extends IfcRelConnectsElements { + constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RealizingElements, ConnectionType) { + super(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.RealizingElements = RealizingElements; + this.ConnectionType = ConnectionType; + this.type = 3678494232; + } + } + IFC2X32.IfcRelConnectsWithRealizingElements = IfcRelConnectsWithRealizingElements; + class IfcRelContainedInSpatialStructure extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedElements = RelatedElements; + this.RelatingStructure = RelatingStructure; + this.type = 3242617779; + } + } + IFC2X32.IfcRelContainedInSpatialStructure = IfcRelContainedInSpatialStructure; + class IfcRelCoversBldgElements extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedCoverings) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingBuildingElement = RelatingBuildingElement; + this.RelatedCoverings = RelatedCoverings; + this.type = 886880790; + } + } + IFC2X32.IfcRelCoversBldgElements = IfcRelCoversBldgElements; + class IfcRelCoversSpaces extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedSpace, RelatedCoverings) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedSpace = RelatedSpace; + this.RelatedCoverings = RelatedCoverings; + this.type = 2802773753; + } + } + IFC2X32.IfcRelCoversSpaces = IfcRelCoversSpaces; + class IfcRelDecomposes extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingObject = RelatingObject; + this.RelatedObjects = RelatedObjects; + this.type = 2551354335; + } + } + IFC2X32.IfcRelDecomposes = IfcRelDecomposes; + class IfcRelDefines extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.type = 693640335; + } + } + IFC2X32.IfcRelDefines = IfcRelDefines; + class IfcRelDefinesByProperties extends IfcRelDefines { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingPropertyDefinition = RelatingPropertyDefinition; + this.type = 4186316022; + } + } + IFC2X32.IfcRelDefinesByProperties = IfcRelDefinesByProperties; + class IfcRelDefinesByType extends IfcRelDefines { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingType) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingType = RelatingType; + this.type = 781010003; + } + } + IFC2X32.IfcRelDefinesByType = IfcRelDefinesByType; + class IfcRelFillsElement extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingOpeningElement, RelatedBuildingElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingOpeningElement = RelatingOpeningElement; + this.RelatedBuildingElement = RelatedBuildingElement; + this.type = 3940055652; + } + } + IFC2X32.IfcRelFillsElement = IfcRelFillsElement; + class IfcRelFlowControlElements extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedControlElements, RelatingFlowElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedControlElements = RelatedControlElements; + this.RelatingFlowElement = RelatingFlowElement; + this.type = 279856033; + } + } + IFC2X32.IfcRelFlowControlElements = IfcRelFlowControlElements; + class IfcRelInteractionRequirements extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, DailyInteraction, ImportanceRating, LocationOfInteraction, RelatedSpaceProgram, RelatingSpaceProgram) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.DailyInteraction = DailyInteraction; + this.ImportanceRating = ImportanceRating; + this.LocationOfInteraction = LocationOfInteraction; + this.RelatedSpaceProgram = RelatedSpaceProgram; + this.RelatingSpaceProgram = RelatingSpaceProgram; + this.type = 4189434867; + } + } + IFC2X32.IfcRelInteractionRequirements = IfcRelInteractionRequirements; + class IfcRelNests extends IfcRelDecomposes { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) { + super(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingObject = RelatingObject; + this.RelatedObjects = RelatedObjects; + this.type = 3268803585; + } + } + IFC2X32.IfcRelNests = IfcRelNests; + class IfcRelOccupiesSpaces extends IfcRelAssignsToActor { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingActor = RelatingActor; + this.ActingRole = ActingRole; + this.type = 2051452291; + } + } + IFC2X32.IfcRelOccupiesSpaces = IfcRelOccupiesSpaces; + class IfcRelOverridesProperties extends IfcRelDefinesByProperties { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition, OverridingProperties) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingPropertyDefinition = RelatingPropertyDefinition; + this.OverridingProperties = OverridingProperties; + this.type = 202636808; + } + } + IFC2X32.IfcRelOverridesProperties = IfcRelOverridesProperties; + class IfcRelProjectsElement extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedFeatureElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedFeatureElement = RelatedFeatureElement; + this.type = 750771296; + } + } + IFC2X32.IfcRelProjectsElement = IfcRelProjectsElement; + class IfcRelReferencedInSpatialStructure extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedElements = RelatedElements; + this.RelatingStructure = RelatingStructure; + this.type = 1245217292; + } + } + IFC2X32.IfcRelReferencedInSpatialStructure = IfcRelReferencedInSpatialStructure; + class IfcRelSchedulesCostItems extends IfcRelAssignsToControl { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingControl = RelatingControl; + this.type = 1058617721; + } + } + IFC2X32.IfcRelSchedulesCostItems = IfcRelSchedulesCostItems; + class IfcRelSequence extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingProcess, RelatedProcess, TimeLag, SequenceType) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingProcess = RelatingProcess; + this.RelatedProcess = RelatedProcess; + this.TimeLag = TimeLag; + this.SequenceType = SequenceType; + this.type = 4122056220; + } + } + IFC2X32.IfcRelSequence = IfcRelSequence; + class IfcRelServicesBuildings extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingSystem, RelatedBuildings) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSystem = RelatingSystem; + this.RelatedBuildings = RelatedBuildings; + this.type = 366585022; + } + } + IFC2X32.IfcRelServicesBuildings = IfcRelServicesBuildings; + class IfcRelSpaceBoundary extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedBuildingElement = RelatedBuildingElement; + this.ConnectionGeometry = ConnectionGeometry; + this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary; + this.InternalOrExternalBoundary = InternalOrExternalBoundary; + this.type = 3451746338; + } + } + IFC2X32.IfcRelSpaceBoundary = IfcRelSpaceBoundary; + class IfcRelVoidsElement extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedOpeningElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingBuildingElement = RelatingBuildingElement; + this.RelatedOpeningElement = RelatedOpeningElement; + this.type = 1401173127; + } + } + IFC2X32.IfcRelVoidsElement = IfcRelVoidsElement; + class IfcResource extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2914609552; + } + } + IFC2X32.IfcResource = IfcResource; + class IfcRevolvedAreaSolid extends IfcSweptAreaSolid { + constructor(SweptArea, Position, Axis, Angle) { + super(SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.Axis = Axis; + this.Angle = Angle; + this.type = 1856042241; + } + } + IFC2X32.IfcRevolvedAreaSolid = IfcRevolvedAreaSolid; + class IfcRightCircularCone extends IfcCsgPrimitive3D { + constructor(Position, Height, BottomRadius) { + super(Position); + this.Position = Position; + this.Height = Height; + this.BottomRadius = BottomRadius; + this.type = 4158566097; + } + } + IFC2X32.IfcRightCircularCone = IfcRightCircularCone; + class IfcRightCircularCylinder extends IfcCsgPrimitive3D { + constructor(Position, Height, Radius) { + super(Position); + this.Position = Position; + this.Height = Height; + this.Radius = Radius; + this.type = 3626867408; + } + } + IFC2X32.IfcRightCircularCylinder = IfcRightCircularCylinder; + class IfcSpatialStructureElement extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.type = 2706606064; + } + } + IFC2X32.IfcSpatialStructureElement = IfcSpatialStructureElement; + class IfcSpatialStructureElementType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3893378262; + } + } + IFC2X32.IfcSpatialStructureElementType = IfcSpatialStructureElementType; + class IfcSphere extends IfcCsgPrimitive3D { + constructor(Position, Radius) { + super(Position); + this.Position = Position; + this.Radius = Radius; + this.type = 451544542; + } + } + IFC2X32.IfcSphere = IfcSphere; + class IfcStructuralActivity extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 3544373492; + } + } + IFC2X32.IfcStructuralActivity = IfcStructuralActivity; + class IfcStructuralItem extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 3136571912; + } + } + IFC2X32.IfcStructuralItem = IfcStructuralItem; + class IfcStructuralMember extends IfcStructuralItem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 530289379; + } + } + IFC2X32.IfcStructuralMember = IfcStructuralMember; + class IfcStructuralReaction extends IfcStructuralActivity { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 3689010777; + } + } + IFC2X32.IfcStructuralReaction = IfcStructuralReaction; + class IfcStructuralSurfaceMember extends IfcStructuralMember { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Thickness = Thickness; + this.type = 3979015343; + } + } + IFC2X32.IfcStructuralSurfaceMember = IfcStructuralSurfaceMember; + class IfcStructuralSurfaceMemberVarying extends IfcStructuralSurfaceMember { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness, SubsequentThickness, VaryingThicknessLocation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Thickness = Thickness; + this.SubsequentThickness = SubsequentThickness; + this.VaryingThicknessLocation = VaryingThicknessLocation; + this.type = 2218152070; + } + } + IFC2X32.IfcStructuralSurfaceMemberVarying = IfcStructuralSurfaceMemberVarying; + class IfcStructuredDimensionCallout extends IfcDraughtingCallout { + constructor(Contents) { + super(Contents); + this.Contents = Contents; + this.type = 4070609034; + } + } + IFC2X32.IfcStructuredDimensionCallout = IfcStructuredDimensionCallout; + class IfcSurfaceCurveSweptAreaSolid extends IfcSweptAreaSolid { + constructor(SweptArea, Position, Directrix, StartParam, EndParam, ReferenceSurface) { + super(SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.Directrix = Directrix; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.ReferenceSurface = ReferenceSurface; + this.type = 2028607225; + } + } + IFC2X32.IfcSurfaceCurveSweptAreaSolid = IfcSurfaceCurveSweptAreaSolid; + class IfcSurfaceOfLinearExtrusion extends IfcSweptSurface { + constructor(SweptCurve, Position, ExtrudedDirection, Depth) { + super(SweptCurve, Position); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.ExtrudedDirection = ExtrudedDirection; + this.Depth = Depth; + this.type = 2809605785; + } + } + IFC2X32.IfcSurfaceOfLinearExtrusion = IfcSurfaceOfLinearExtrusion; + class IfcSurfaceOfRevolution extends IfcSweptSurface { + constructor(SweptCurve, Position, AxisPosition) { + super(SweptCurve, Position); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.AxisPosition = AxisPosition; + this.type = 4124788165; + } + } + IFC2X32.IfcSurfaceOfRevolution = IfcSurfaceOfRevolution; + class IfcSystemFurnitureElementType extends IfcFurnishingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1580310250; + } + } + IFC2X32.IfcSystemFurnitureElementType = IfcSystemFurnitureElementType; + class IfcTask extends IfcProcess { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TaskId, Status, WorkMethod, IsMilestone, Priority) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TaskId = TaskId; + this.Status = Status; + this.WorkMethod = WorkMethod; + this.IsMilestone = IsMilestone; + this.Priority = Priority; + this.type = 3473067441; + } + } + IFC2X32.IfcTask = IfcTask; + class IfcTransportElementType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2097647324; + } + } + IFC2X32.IfcTransportElementType = IfcTransportElementType; + class IfcActor extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheActor = TheActor; + this.type = 2296667514; + } + } + IFC2X32.IfcActor = IfcActor; + class IfcAnnotation extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 1674181508; + } + } + IFC2X32.IfcAnnotation = IfcAnnotation; + class IfcAsymmetricIShapeProfileDef extends IfcIShapeProfileDef { + constructor(ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius, TopFlangeWidth, TopFlangeThickness, TopFlangeFilletRadius, CentreOfGravityInY) { + super(ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.OverallWidth = OverallWidth; + this.OverallDepth = OverallDepth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.TopFlangeWidth = TopFlangeWidth; + this.TopFlangeThickness = TopFlangeThickness; + this.TopFlangeFilletRadius = TopFlangeFilletRadius; + this.CentreOfGravityInY = CentreOfGravityInY; + this.type = 3207858831; + } + } + IFC2X32.IfcAsymmetricIShapeProfileDef = IfcAsymmetricIShapeProfileDef; + class IfcBlock extends IfcCsgPrimitive3D { + constructor(Position, XLength, YLength, ZLength) { + super(Position); + this.Position = Position; + this.XLength = XLength; + this.YLength = YLength; + this.ZLength = ZLength; + this.type = 1334484129; + } + } + IFC2X32.IfcBlock = IfcBlock; + class IfcBooleanClippingResult extends IfcBooleanResult { + constructor(Operator, FirstOperand, SecondOperand) { + super(Operator, FirstOperand, SecondOperand); + this.Operator = Operator; + this.FirstOperand = FirstOperand; + this.SecondOperand = SecondOperand; + this.type = 3649129432; + } + } + IFC2X32.IfcBooleanClippingResult = IfcBooleanClippingResult; + class IfcBoundedCurve extends IfcCurve { + constructor() { + super(); + this.type = 1260505505; + } + } + IFC2X32.IfcBoundedCurve = IfcBoundedCurve; + class IfcBuilding extends IfcSpatialStructureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, ElevationOfRefHeight, ElevationOfTerrain, BuildingAddress) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.ElevationOfRefHeight = ElevationOfRefHeight; + this.ElevationOfTerrain = ElevationOfTerrain; + this.BuildingAddress = BuildingAddress; + this.type = 4031249490; + } + } + IFC2X32.IfcBuilding = IfcBuilding; + class IfcBuildingElementType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1950629157; + } + } + IFC2X32.IfcBuildingElementType = IfcBuildingElementType; + class IfcBuildingStorey extends IfcSpatialStructureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, Elevation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.Elevation = Elevation; + this.type = 3124254112; + } + } + IFC2X32.IfcBuildingStorey = IfcBuildingStorey; + class IfcCircleHollowProfileDef extends IfcCircleProfileDef { + constructor(ProfileType, ProfileName, Position, Radius, WallThickness) { + super(ProfileType, ProfileName, Position, Radius); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Radius = Radius; + this.WallThickness = WallThickness; + this.type = 2937912522; + } + } + IFC2X32.IfcCircleHollowProfileDef = IfcCircleHollowProfileDef; + class IfcColumnType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 300633059; + } + } + IFC2X32.IfcColumnType = IfcColumnType; + class IfcCompositeCurve extends IfcBoundedCurve { + constructor(Segments, SelfIntersect) { + super(); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 3732776249; + } + } + IFC2X32.IfcCompositeCurve = IfcCompositeCurve; + class IfcConic extends IfcCurve { + constructor(Position) { + super(); + this.Position = Position; + this.type = 2510884976; + } + } + IFC2X32.IfcConic = IfcConic; + class IfcConstructionResource extends IfcResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ResourceIdentifier = ResourceIdentifier; + this.ResourceGroup = ResourceGroup; + this.ResourceConsumption = ResourceConsumption; + this.BaseQuantity = BaseQuantity; + this.type = 2559216714; + } + } + IFC2X32.IfcConstructionResource = IfcConstructionResource; + class IfcControl extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 3293443760; + } + } + IFC2X32.IfcControl = IfcControl; + class IfcCostItem extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 3895139033; + } + } + IFC2X32.IfcCostItem = IfcCostItem; + class IfcCostSchedule extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, SubmittedBy, PreparedBy, SubmittedOn, Status, TargetUsers, UpdateDate, ID, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.SubmittedBy = SubmittedBy; + this.PreparedBy = PreparedBy; + this.SubmittedOn = SubmittedOn; + this.Status = Status; + this.TargetUsers = TargetUsers; + this.UpdateDate = UpdateDate; + this.ID = ID; + this.PredefinedType = PredefinedType; + this.type = 1419761937; + } + } + IFC2X32.IfcCostSchedule = IfcCostSchedule; + class IfcCoveringType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1916426348; + } + } + IFC2X32.IfcCoveringType = IfcCoveringType; + class IfcCrewResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ResourceIdentifier = ResourceIdentifier; + this.ResourceGroup = ResourceGroup; + this.ResourceConsumption = ResourceConsumption; + this.BaseQuantity = BaseQuantity; + this.type = 3295246426; + } + } + IFC2X32.IfcCrewResource = IfcCrewResource; + class IfcCurtainWallType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1457835157; + } + } + IFC2X32.IfcCurtainWallType = IfcCurtainWallType; + class IfcDimensionCurveDirectedCallout extends IfcDraughtingCallout { + constructor(Contents) { + super(Contents); + this.Contents = Contents; + this.type = 681481545; + } + } + IFC2X32.IfcDimensionCurveDirectedCallout = IfcDimensionCurveDirectedCallout; + class IfcDistributionElementType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3256556792; + } + } + IFC2X32.IfcDistributionElementType = IfcDistributionElementType; + class IfcDistributionFlowElementType extends IfcDistributionElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3849074793; + } + } + IFC2X32.IfcDistributionFlowElementType = IfcDistributionFlowElementType; + class IfcElectricalBaseProperties extends IfcEnergyProperties { + constructor(GlobalId, OwnerHistory, Name, Description, EnergySequence, UserDefinedEnergySequence, ElectricCurrentType, InputVoltage, InputFrequency, FullLoadCurrent, MinimumCircuitCurrent, MaximumPowerInput, RatedPowerInput, InputPhase) { + super(GlobalId, OwnerHistory, Name, Description, EnergySequence, UserDefinedEnergySequence); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.EnergySequence = EnergySequence; + this.UserDefinedEnergySequence = UserDefinedEnergySequence; + this.ElectricCurrentType = ElectricCurrentType; + this.InputVoltage = InputVoltage; + this.InputFrequency = InputFrequency; + this.FullLoadCurrent = FullLoadCurrent; + this.MinimumCircuitCurrent = MinimumCircuitCurrent; + this.MaximumPowerInput = MaximumPowerInput; + this.RatedPowerInput = RatedPowerInput; + this.InputPhase = InputPhase; + this.type = 360485395; + } + } + IFC2X32.IfcElectricalBaseProperties = IfcElectricalBaseProperties; + class IfcElement extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1758889154; + } + } + IFC2X32.IfcElement = IfcElement; + class IfcElementAssembly extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, AssemblyPlace, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.AssemblyPlace = AssemblyPlace; + this.PredefinedType = PredefinedType; + this.type = 4123344466; + } + } + IFC2X32.IfcElementAssembly = IfcElementAssembly; + class IfcElementComponent extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1623761950; + } + } + IFC2X32.IfcElementComponent = IfcElementComponent; + class IfcElementComponentType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2590856083; + } + } + IFC2X32.IfcElementComponentType = IfcElementComponentType; + class IfcEllipse extends IfcConic { + constructor(Position, SemiAxis1, SemiAxis2) { + super(Position); + this.Position = Position; + this.SemiAxis1 = SemiAxis1; + this.SemiAxis2 = SemiAxis2; + this.type = 1704287377; + } + } + IFC2X32.IfcEllipse = IfcEllipse; + class IfcEnergyConversionDeviceType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2107101300; + } + } + IFC2X32.IfcEnergyConversionDeviceType = IfcEnergyConversionDeviceType; + class IfcEquipmentElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1962604670; + } + } + IFC2X32.IfcEquipmentElement = IfcEquipmentElement; + class IfcEquipmentStandard extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 3272907226; + } + } + IFC2X32.IfcEquipmentStandard = IfcEquipmentStandard; + class IfcEvaporativeCoolerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3174744832; + } + } + IFC2X32.IfcEvaporativeCoolerType = IfcEvaporativeCoolerType; + class IfcEvaporatorType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3390157468; + } + } + IFC2X32.IfcEvaporatorType = IfcEvaporatorType; + class IfcFacetedBrep extends IfcManifoldSolidBrep { + constructor(Outer) { + super(Outer); + this.Outer = Outer; + this.type = 807026263; + } + } + IFC2X32.IfcFacetedBrep = IfcFacetedBrep; + class IfcFacetedBrepWithVoids extends IfcManifoldSolidBrep { + constructor(Outer, Voids) { + super(Outer); + this.Outer = Outer; + this.Voids = Voids; + this.type = 3737207727; + } + } + IFC2X32.IfcFacetedBrepWithVoids = IfcFacetedBrepWithVoids; + class IfcFastener extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 647756555; + } + } + IFC2X32.IfcFastener = IfcFastener; + class IfcFastenerType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2489546625; + } + } + IFC2X32.IfcFastenerType = IfcFastenerType; + class IfcFeatureElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2827207264; + } + } + IFC2X32.IfcFeatureElement = IfcFeatureElement; + class IfcFeatureElementAddition extends IfcFeatureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2143335405; + } + } + IFC2X32.IfcFeatureElementAddition = IfcFeatureElementAddition; + class IfcFeatureElementSubtraction extends IfcFeatureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1287392070; + } + } + IFC2X32.IfcFeatureElementSubtraction = IfcFeatureElementSubtraction; + class IfcFlowControllerType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3907093117; + } + } + IFC2X32.IfcFlowControllerType = IfcFlowControllerType; + class IfcFlowFittingType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3198132628; + } + } + IFC2X32.IfcFlowFittingType = IfcFlowFittingType; + class IfcFlowMeterType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3815607619; + } + } + IFC2X32.IfcFlowMeterType = IfcFlowMeterType; + class IfcFlowMovingDeviceType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1482959167; + } + } + IFC2X32.IfcFlowMovingDeviceType = IfcFlowMovingDeviceType; + class IfcFlowSegmentType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1834744321; + } + } + IFC2X32.IfcFlowSegmentType = IfcFlowSegmentType; + class IfcFlowStorageDeviceType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1339347760; + } + } + IFC2X32.IfcFlowStorageDeviceType = IfcFlowStorageDeviceType; + class IfcFlowTerminalType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2297155007; + } + } + IFC2X32.IfcFlowTerminalType = IfcFlowTerminalType; + class IfcFlowTreatmentDeviceType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3009222698; + } + } + IFC2X32.IfcFlowTreatmentDeviceType = IfcFlowTreatmentDeviceType; + class IfcFurnishingElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 263784265; + } + } + IFC2X32.IfcFurnishingElement = IfcFurnishingElement; + class IfcFurnitureStandard extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 814719939; + } + } + IFC2X32.IfcFurnitureStandard = IfcFurnitureStandard; + class IfcGasTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 200128114; + } + } + IFC2X32.IfcGasTerminalType = IfcGasTerminalType; + class IfcGrid extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, UAxes, VAxes, WAxes) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.UAxes = UAxes; + this.VAxes = VAxes; + this.WAxes = WAxes; + this.type = 3009204131; + } + } + IFC2X32.IfcGrid = IfcGrid; + class IfcGroup extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2706460486; + } + } + IFC2X32.IfcGroup = IfcGroup; + class IfcHeatExchangerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1251058090; + } + } + IFC2X32.IfcHeatExchangerType = IfcHeatExchangerType; + class IfcHumidifierType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1806887404; + } + } + IFC2X32.IfcHumidifierType = IfcHumidifierType; + class IfcInventory extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, InventoryType, Jurisdiction, ResponsiblePersons, LastUpdateDate, CurrentValue, OriginalValue) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.InventoryType = InventoryType; + this.Jurisdiction = Jurisdiction; + this.ResponsiblePersons = ResponsiblePersons; + this.LastUpdateDate = LastUpdateDate; + this.CurrentValue = CurrentValue; + this.OriginalValue = OriginalValue; + this.type = 2391368822; + } + } + IFC2X32.IfcInventory = IfcInventory; + class IfcJunctionBoxType extends IfcFlowFittingType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4288270099; + } + } + IFC2X32.IfcJunctionBoxType = IfcJunctionBoxType; + class IfcLaborResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity, SkillSet) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ResourceIdentifier = ResourceIdentifier; + this.ResourceGroup = ResourceGroup; + this.ResourceConsumption = ResourceConsumption; + this.BaseQuantity = BaseQuantity; + this.SkillSet = SkillSet; + this.type = 3827777499; + } + } + IFC2X32.IfcLaborResource = IfcLaborResource; + class IfcLampType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1051575348; + } + } + IFC2X32.IfcLampType = IfcLampType; + class IfcLightFixtureType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1161773419; + } + } + IFC2X32.IfcLightFixtureType = IfcLightFixtureType; + class IfcLinearDimension extends IfcDimensionCurveDirectedCallout { + constructor(Contents) { + super(Contents); + this.Contents = Contents; + this.type = 2506943328; + } + } + IFC2X32.IfcLinearDimension = IfcLinearDimension; + class IfcMechanicalFastener extends IfcFastener { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NominalDiameter, NominalLength) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.NominalDiameter = NominalDiameter; + this.NominalLength = NominalLength; + this.type = 377706215; + } + } + IFC2X32.IfcMechanicalFastener = IfcMechanicalFastener; + class IfcMechanicalFastenerType extends IfcFastenerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2108223431; + } + } + IFC2X32.IfcMechanicalFastenerType = IfcMechanicalFastenerType; + class IfcMemberType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3181161470; + } + } + IFC2X32.IfcMemberType = IfcMemberType; + class IfcMotorConnectionType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 977012517; + } + } + IFC2X32.IfcMotorConnectionType = IfcMotorConnectionType; + class IfcMove extends IfcTask { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TaskId, Status, WorkMethod, IsMilestone, Priority, MoveFrom, MoveTo, PunchList) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, TaskId, Status, WorkMethod, IsMilestone, Priority); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TaskId = TaskId; + this.Status = Status; + this.WorkMethod = WorkMethod; + this.IsMilestone = IsMilestone; + this.Priority = Priority; + this.MoveFrom = MoveFrom; + this.MoveTo = MoveTo; + this.PunchList = PunchList; + this.type = 1916936684; + } + } + IFC2X32.IfcMove = IfcMove; + class IfcOccupant extends IfcActor { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheActor = TheActor; + this.PredefinedType = PredefinedType; + this.type = 4143007308; + } + } + IFC2X32.IfcOccupant = IfcOccupant; + class IfcOpeningElement extends IfcFeatureElementSubtraction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3588315303; + } + } + IFC2X32.IfcOpeningElement = IfcOpeningElement; + class IfcOrderAction extends IfcTask { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TaskId, Status, WorkMethod, IsMilestone, Priority, ActionID) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, TaskId, Status, WorkMethod, IsMilestone, Priority); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TaskId = TaskId; + this.Status = Status; + this.WorkMethod = WorkMethod; + this.IsMilestone = IsMilestone; + this.Priority = Priority; + this.ActionID = ActionID; + this.type = 3425660407; + } + } + IFC2X32.IfcOrderAction = IfcOrderAction; + class IfcOutletType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2837617999; + } + } + IFC2X32.IfcOutletType = IfcOutletType; + class IfcPerformanceHistory extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LifeCyclePhase) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LifeCyclePhase = LifeCyclePhase; + this.type = 2382730787; + } + } + IFC2X32.IfcPerformanceHistory = IfcPerformanceHistory; + class IfcPermit extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PermitID) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PermitID = PermitID; + this.type = 3327091369; + } + } + IFC2X32.IfcPermit = IfcPermit; + class IfcPipeFittingType extends IfcFlowFittingType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 804291784; + } + } + IFC2X32.IfcPipeFittingType = IfcPipeFittingType; + class IfcPipeSegmentType extends IfcFlowSegmentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4231323485; + } + } + IFC2X32.IfcPipeSegmentType = IfcPipeSegmentType; + class IfcPlateType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4017108033; + } + } + IFC2X32.IfcPlateType = IfcPlateType; + class IfcPolyline extends IfcBoundedCurve { + constructor(Points) { + super(); + this.Points = Points; + this.type = 3724593414; + } + } + IFC2X32.IfcPolyline = IfcPolyline; + class IfcPort extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 3740093272; + } + } + IFC2X32.IfcPort = IfcPort; + class IfcProcedure extends IfcProcess { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ProcedureID, ProcedureType, UserDefinedProcedureType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ProcedureID = ProcedureID; + this.ProcedureType = ProcedureType; + this.UserDefinedProcedureType = UserDefinedProcedureType; + this.type = 2744685151; + } + } + IFC2X32.IfcProcedure = IfcProcedure; + class IfcProjectOrder extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ID, PredefinedType, Status) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ID = ID; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.type = 2904328755; + } + } + IFC2X32.IfcProjectOrder = IfcProjectOrder; + class IfcProjectOrderRecord extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Records, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Records = Records; + this.PredefinedType = PredefinedType; + this.type = 3642467123; + } + } + IFC2X32.IfcProjectOrderRecord = IfcProjectOrderRecord; + class IfcProjectionElement extends IfcFeatureElementAddition { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3651124850; + } + } + IFC2X32.IfcProjectionElement = IfcProjectionElement; + class IfcProtectiveDeviceType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1842657554; + } + } + IFC2X32.IfcProtectiveDeviceType = IfcProtectiveDeviceType; + class IfcPumpType extends IfcFlowMovingDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2250791053; + } + } + IFC2X32.IfcPumpType = IfcPumpType; + class IfcRadiusDimension extends IfcDimensionCurveDirectedCallout { + constructor(Contents) { + super(Contents); + this.Contents = Contents; + this.type = 3248260540; + } + } + IFC2X32.IfcRadiusDimension = IfcRadiusDimension; + class IfcRailingType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2893384427; + } + } + IFC2X32.IfcRailingType = IfcRailingType; + class IfcRampFlightType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2324767716; + } + } + IFC2X32.IfcRampFlightType = IfcRampFlightType; + class IfcRelAggregates extends IfcRelDecomposes { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) { + super(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingObject = RelatingObject; + this.RelatedObjects = RelatedObjects; + this.type = 160246688; + } + } + IFC2X32.IfcRelAggregates = IfcRelAggregates; + class IfcRelAssignsTasks extends IfcRelAssignsToControl { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl, TimeForTask) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingControl = RelatingControl; + this.TimeForTask = TimeForTask; + this.type = 2863920197; + } + } + IFC2X32.IfcRelAssignsTasks = IfcRelAssignsTasks; + class IfcSanitaryTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1768891740; + } + } + IFC2X32.IfcSanitaryTerminalType = IfcSanitaryTerminalType; + class IfcScheduleTimeControl extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ActualStart, EarlyStart, LateStart, ScheduleStart, ActualFinish, EarlyFinish, LateFinish, ScheduleFinish, ScheduleDuration, ActualDuration, RemainingTime, FreeFloat, TotalFloat, IsCritical, StatusTime, StartFloat, FinishFloat, Completion) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ActualStart = ActualStart; + this.EarlyStart = EarlyStart; + this.LateStart = LateStart; + this.ScheduleStart = ScheduleStart; + this.ActualFinish = ActualFinish; + this.EarlyFinish = EarlyFinish; + this.LateFinish = LateFinish; + this.ScheduleFinish = ScheduleFinish; + this.ScheduleDuration = ScheduleDuration; + this.ActualDuration = ActualDuration; + this.RemainingTime = RemainingTime; + this.FreeFloat = FreeFloat; + this.TotalFloat = TotalFloat; + this.IsCritical = IsCritical; + this.StatusTime = StatusTime; + this.StartFloat = StartFloat; + this.FinishFloat = FinishFloat; + this.Completion = Completion; + this.type = 3517283431; + } + } + IFC2X32.IfcScheduleTimeControl = IfcScheduleTimeControl; + class IfcServiceLife extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ServiceLifeType, ServiceLifeDuration) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ServiceLifeType = ServiceLifeType; + this.ServiceLifeDuration = ServiceLifeDuration; + this.type = 4105383287; + } + } + IFC2X32.IfcServiceLife = IfcServiceLife; + class IfcSite extends IfcSpatialStructureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, RefLatitude, RefLongitude, RefElevation, LandTitleNumber, SiteAddress) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.RefLatitude = RefLatitude; + this.RefLongitude = RefLongitude; + this.RefElevation = RefElevation; + this.LandTitleNumber = LandTitleNumber; + this.SiteAddress = SiteAddress; + this.type = 4097777520; + } + } + IFC2X32.IfcSite = IfcSite; + class IfcSlabType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2533589738; + } + } + IFC2X32.IfcSlabType = IfcSlabType; + class IfcSpace extends IfcSpatialStructureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, InteriorOrExteriorSpace, ElevationWithFlooring) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.InteriorOrExteriorSpace = InteriorOrExteriorSpace; + this.ElevationWithFlooring = ElevationWithFlooring; + this.type = 3856911033; + } + } + IFC2X32.IfcSpace = IfcSpace; + class IfcSpaceHeaterType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1305183839; + } + } + IFC2X32.IfcSpaceHeaterType = IfcSpaceHeaterType; + class IfcSpaceProgram extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, SpaceProgramIdentifier, MaxRequiredArea, MinRequiredArea, RequestedLocation, StandardRequiredArea) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.SpaceProgramIdentifier = SpaceProgramIdentifier; + this.MaxRequiredArea = MaxRequiredArea; + this.MinRequiredArea = MinRequiredArea; + this.RequestedLocation = RequestedLocation; + this.StandardRequiredArea = StandardRequiredArea; + this.type = 652456506; + } + } + IFC2X32.IfcSpaceProgram = IfcSpaceProgram; + class IfcSpaceType extends IfcSpatialStructureElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3812236995; + } + } + IFC2X32.IfcSpaceType = IfcSpaceType; + class IfcStackTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3112655638; + } + } + IFC2X32.IfcStackTerminalType = IfcStackTerminalType; + class IfcStairFlightType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1039846685; + } + } + IFC2X32.IfcStairFlightType = IfcStairFlightType; + class IfcStructuralAction extends IfcStructuralActivity { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.CausedBy = CausedBy; + this.type = 682877961; + } + } + IFC2X32.IfcStructuralAction = IfcStructuralAction; + class IfcStructuralConnection extends IfcStructuralItem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.type = 1179482911; + } + } + IFC2X32.IfcStructuralConnection = IfcStructuralConnection; + class IfcStructuralCurveConnection extends IfcStructuralConnection { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.type = 4243806635; + } + } + IFC2X32.IfcStructuralCurveConnection = IfcStructuralCurveConnection; + class IfcStructuralCurveMember extends IfcStructuralMember { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.type = 214636428; + } + } + IFC2X32.IfcStructuralCurveMember = IfcStructuralCurveMember; + class IfcStructuralCurveMemberVarying extends IfcStructuralCurveMember { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.type = 2445595289; + } + } + IFC2X32.IfcStructuralCurveMemberVarying = IfcStructuralCurveMemberVarying; + class IfcStructuralLinearAction extends IfcStructuralAction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.CausedBy = CausedBy; + this.ProjectedOrTrue = ProjectedOrTrue; + this.type = 1807405624; + } + } + IFC2X32.IfcStructuralLinearAction = IfcStructuralLinearAction; + class IfcStructuralLinearActionVarying extends IfcStructuralLinearAction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue, VaryingAppliedLoadLocation, SubsequentAppliedLoads) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.CausedBy = CausedBy; + this.ProjectedOrTrue = ProjectedOrTrue; + this.VaryingAppliedLoadLocation = VaryingAppliedLoadLocation; + this.SubsequentAppliedLoads = SubsequentAppliedLoads; + this.type = 1721250024; + } + } + IFC2X32.IfcStructuralLinearActionVarying = IfcStructuralLinearActionVarying; + class IfcStructuralLoadGroup extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.ActionType = ActionType; + this.ActionSource = ActionSource; + this.Coefficient = Coefficient; + this.Purpose = Purpose; + this.type = 1252848954; + } + } + IFC2X32.IfcStructuralLoadGroup = IfcStructuralLoadGroup; + class IfcStructuralPlanarAction extends IfcStructuralAction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.CausedBy = CausedBy; + this.ProjectedOrTrue = ProjectedOrTrue; + this.type = 1621171031; + } + } + IFC2X32.IfcStructuralPlanarAction = IfcStructuralPlanarAction; + class IfcStructuralPlanarActionVarying extends IfcStructuralPlanarAction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue, VaryingAppliedLoadLocation, SubsequentAppliedLoads) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.CausedBy = CausedBy; + this.ProjectedOrTrue = ProjectedOrTrue; + this.VaryingAppliedLoadLocation = VaryingAppliedLoadLocation; + this.SubsequentAppliedLoads = SubsequentAppliedLoads; + this.type = 3987759626; + } + } + IFC2X32.IfcStructuralPlanarActionVarying = IfcStructuralPlanarActionVarying; + class IfcStructuralPointAction extends IfcStructuralAction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.CausedBy = CausedBy; + this.type = 2082059205; + } + } + IFC2X32.IfcStructuralPointAction = IfcStructuralPointAction; + class IfcStructuralPointConnection extends IfcStructuralConnection { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.type = 734778138; + } + } + IFC2X32.IfcStructuralPointConnection = IfcStructuralPointConnection; + class IfcStructuralPointReaction extends IfcStructuralReaction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 1235345126; + } + } + IFC2X32.IfcStructuralPointReaction = IfcStructuralPointReaction; + class IfcStructuralResultGroup extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheoryType, ResultForLoadGroup, IsLinear) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheoryType = TheoryType; + this.ResultForLoadGroup = ResultForLoadGroup; + this.IsLinear = IsLinear; + this.type = 2986769608; + } + } + IFC2X32.IfcStructuralResultGroup = IfcStructuralResultGroup; + class IfcStructuralSurfaceConnection extends IfcStructuralConnection { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.type = 1975003073; + } + } + IFC2X32.IfcStructuralSurfaceConnection = IfcStructuralSurfaceConnection; + class IfcSubContractResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity, SubContractor, JobDescription) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ResourceIdentifier = ResourceIdentifier; + this.ResourceGroup = ResourceGroup; + this.ResourceConsumption = ResourceConsumption; + this.BaseQuantity = BaseQuantity; + this.SubContractor = SubContractor; + this.JobDescription = JobDescription; + this.type = 148013059; + } + } + IFC2X32.IfcSubContractResource = IfcSubContractResource; + class IfcSwitchingDeviceType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2315554128; + } + } + IFC2X32.IfcSwitchingDeviceType = IfcSwitchingDeviceType; + class IfcSystem extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2254336722; + } + } + IFC2X32.IfcSystem = IfcSystem; + class IfcTankType extends IfcFlowStorageDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 5716631; + } + } + IFC2X32.IfcTankType = IfcTankType; + class IfcTimeSeriesSchedule extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ApplicableDates, TimeSeriesScheduleType, TimeSeries) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ApplicableDates = ApplicableDates; + this.TimeSeriesScheduleType = TimeSeriesScheduleType; + this.TimeSeries = TimeSeries; + this.type = 1637806684; + } + } + IFC2X32.IfcTimeSeriesSchedule = IfcTimeSeriesSchedule; + class IfcTransformerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1692211062; + } + } + IFC2X32.IfcTransformerType = IfcTransformerType; + class IfcTransportElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OperationType, CapacityByWeight, CapacityByNumber) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OperationType = OperationType; + this.CapacityByWeight = CapacityByWeight; + this.CapacityByNumber = CapacityByNumber; + this.type = 1620046519; + } + } + IFC2X32.IfcTransportElement = IfcTransportElement; + class IfcTrimmedCurve extends IfcBoundedCurve { + constructor(BasisCurve, Trim1, Trim2, SenseAgreement, MasterRepresentation) { + super(); + this.BasisCurve = BasisCurve; + this.Trim1 = Trim1; + this.Trim2 = Trim2; + this.SenseAgreement = SenseAgreement; + this.MasterRepresentation = MasterRepresentation; + this.type = 3593883385; + } + } + IFC2X32.IfcTrimmedCurve = IfcTrimmedCurve; + class IfcTubeBundleType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1600972822; + } + } + IFC2X32.IfcTubeBundleType = IfcTubeBundleType; + class IfcUnitaryEquipmentType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1911125066; + } + } + IFC2X32.IfcUnitaryEquipmentType = IfcUnitaryEquipmentType; + class IfcValveType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 728799441; + } + } + IFC2X32.IfcValveType = IfcValveType; + class IfcVirtualElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2769231204; + } + } + IFC2X32.IfcVirtualElement = IfcVirtualElement; + class IfcWallType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1898987631; + } + } + IFC2X32.IfcWallType = IfcWallType; + class IfcWasteTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1133259667; + } + } + IFC2X32.IfcWasteTerminalType = IfcWasteTerminalType; + class IfcWorkControl extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identifier, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, WorkControlType, UserDefinedControlType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identifier = Identifier; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.WorkControlType = WorkControlType; + this.UserDefinedControlType = UserDefinedControlType; + this.type = 1028945134; + } + } + IFC2X32.IfcWorkControl = IfcWorkControl; + class IfcWorkPlan extends IfcWorkControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identifier, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, WorkControlType, UserDefinedControlType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identifier, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, WorkControlType, UserDefinedControlType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identifier = Identifier; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.WorkControlType = WorkControlType; + this.UserDefinedControlType = UserDefinedControlType; + this.type = 4218914973; + } + } + IFC2X32.IfcWorkPlan = IfcWorkPlan; + class IfcWorkSchedule extends IfcWorkControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identifier, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, WorkControlType, UserDefinedControlType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identifier, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, WorkControlType, UserDefinedControlType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identifier = Identifier; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.WorkControlType = WorkControlType; + this.UserDefinedControlType = UserDefinedControlType; + this.type = 3342526732; + } + } + IFC2X32.IfcWorkSchedule = IfcWorkSchedule; + class IfcZone extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 1033361043; + } + } + IFC2X32.IfcZone = IfcZone; + class Ifc2DCompositeCurve extends IfcCompositeCurve { + constructor(Segments, SelfIntersect) { + super(Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 1213861670; + } + } + IFC2X32.Ifc2DCompositeCurve = Ifc2DCompositeCurve; + class IfcActionRequest extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, RequestID) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.RequestID = RequestID; + this.type = 3821786052; + } + } + IFC2X32.IfcActionRequest = IfcActionRequest; + class IfcAirTerminalBoxType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1411407467; + } + } + IFC2X32.IfcAirTerminalBoxType = IfcAirTerminalBoxType; + class IfcAirTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3352864051; + } + } + IFC2X32.IfcAirTerminalType = IfcAirTerminalType; + class IfcAirToAirHeatRecoveryType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1871374353; + } + } + IFC2X32.IfcAirToAirHeatRecoveryType = IfcAirToAirHeatRecoveryType; + class IfcAngularDimension extends IfcDimensionCurveDirectedCallout { + constructor(Contents) { + super(Contents); + this.Contents = Contents; + this.type = 2470393545; + } + } + IFC2X32.IfcAngularDimension = IfcAngularDimension; + class IfcAsset extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, AssetID, OriginalValue, CurrentValue, TotalReplacementCost, Owner, User, ResponsiblePerson, IncorporationDate, DepreciatedValue) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.AssetID = AssetID; + this.OriginalValue = OriginalValue; + this.CurrentValue = CurrentValue; + this.TotalReplacementCost = TotalReplacementCost; + this.Owner = Owner; + this.User = User; + this.ResponsiblePerson = ResponsiblePerson; + this.IncorporationDate = IncorporationDate; + this.DepreciatedValue = DepreciatedValue; + this.type = 3460190687; + } + } + IFC2X32.IfcAsset = IfcAsset; + class IfcBSplineCurve extends IfcBoundedCurve { + constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect) { + super(); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.type = 1967976161; + } + } + IFC2X32.IfcBSplineCurve = IfcBSplineCurve; + class IfcBeamType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 819618141; + } + } + IFC2X32.IfcBeamType = IfcBeamType; + class IfcBezierCurve extends IfcBSplineCurve { + constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect) { + super(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.type = 1916977116; + } + } + IFC2X32.IfcBezierCurve = IfcBezierCurve; + class IfcBoilerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 231477066; + } + } + IFC2X32.IfcBoilerType = IfcBoilerType; + class IfcBuildingElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3299480353; + } + } + IFC2X32.IfcBuildingElement = IfcBuildingElement; + class IfcBuildingElementComponent extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 52481810; + } + } + IFC2X32.IfcBuildingElementComponent = IfcBuildingElementComponent; + class IfcBuildingElementPart extends IfcBuildingElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2979338954; + } + } + IFC2X32.IfcBuildingElementPart = IfcBuildingElementPart; + class IfcBuildingElementProxy extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, CompositionType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.CompositionType = CompositionType; + this.type = 1095909175; + } + } + IFC2X32.IfcBuildingElementProxy = IfcBuildingElementProxy; + class IfcBuildingElementProxyType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1909888760; + } + } + IFC2X32.IfcBuildingElementProxyType = IfcBuildingElementProxyType; + class IfcCableCarrierFittingType extends IfcFlowFittingType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 395041908; + } + } + IFC2X32.IfcCableCarrierFittingType = IfcCableCarrierFittingType; + class IfcCableCarrierSegmentType extends IfcFlowSegmentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3293546465; + } + } + IFC2X32.IfcCableCarrierSegmentType = IfcCableCarrierSegmentType; + class IfcCableSegmentType extends IfcFlowSegmentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1285652485; + } + } + IFC2X32.IfcCableSegmentType = IfcCableSegmentType; + class IfcChillerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2951183804; + } + } + IFC2X32.IfcChillerType = IfcChillerType; + class IfcCircle extends IfcConic { + constructor(Position, Radius) { + super(Position); + this.Position = Position; + this.Radius = Radius; + this.type = 2611217952; + } + } + IFC2X32.IfcCircle = IfcCircle; + class IfcCoilType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2301859152; + } + } + IFC2X32.IfcCoilType = IfcCoilType; + class IfcColumn extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 843113511; + } + } + IFC2X32.IfcColumn = IfcColumn; + class IfcCompressorType extends IfcFlowMovingDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3850581409; + } + } + IFC2X32.IfcCompressorType = IfcCompressorType; + class IfcCondenserType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2816379211; + } + } + IFC2X32.IfcCondenserType = IfcCondenserType; + class IfcCondition extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2188551683; + } + } + IFC2X32.IfcCondition = IfcCondition; + class IfcConditionCriterion extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Criterion, CriterionDateTime) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Criterion = Criterion; + this.CriterionDateTime = CriterionDateTime; + this.type = 1163958913; + } + } + IFC2X32.IfcConditionCriterion = IfcConditionCriterion; + class IfcConstructionEquipmentResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ResourceIdentifier = ResourceIdentifier; + this.ResourceGroup = ResourceGroup; + this.ResourceConsumption = ResourceConsumption; + this.BaseQuantity = BaseQuantity; + this.type = 3898045240; + } + } + IFC2X32.IfcConstructionEquipmentResource = IfcConstructionEquipmentResource; + class IfcConstructionMaterialResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity, Suppliers, UsageRatio) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ResourceIdentifier = ResourceIdentifier; + this.ResourceGroup = ResourceGroup; + this.ResourceConsumption = ResourceConsumption; + this.BaseQuantity = BaseQuantity; + this.Suppliers = Suppliers; + this.UsageRatio = UsageRatio; + this.type = 1060000209; + } + } + IFC2X32.IfcConstructionMaterialResource = IfcConstructionMaterialResource; + class IfcConstructionProductResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ResourceIdentifier = ResourceIdentifier; + this.ResourceGroup = ResourceGroup; + this.ResourceConsumption = ResourceConsumption; + this.BaseQuantity = BaseQuantity; + this.type = 488727124; + } + } + IFC2X32.IfcConstructionProductResource = IfcConstructionProductResource; + class IfcCooledBeamType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 335055490; + } + } + IFC2X32.IfcCooledBeamType = IfcCooledBeamType; + class IfcCoolingTowerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2954562838; + } + } + IFC2X32.IfcCoolingTowerType = IfcCoolingTowerType; + class IfcCovering extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1973544240; + } + } + IFC2X32.IfcCovering = IfcCovering; + class IfcCurtainWall extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3495092785; + } + } + IFC2X32.IfcCurtainWall = IfcCurtainWall; + class IfcDamperType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3961806047; + } + } + IFC2X32.IfcDamperType = IfcDamperType; + class IfcDiameterDimension extends IfcDimensionCurveDirectedCallout { + constructor(Contents) { + super(Contents); + this.Contents = Contents; + this.type = 4147604152; + } + } + IFC2X32.IfcDiameterDimension = IfcDiameterDimension; + class IfcDiscreteAccessory extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1335981549; + } + } + IFC2X32.IfcDiscreteAccessory = IfcDiscreteAccessory; + class IfcDiscreteAccessoryType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2635815018; + } + } + IFC2X32.IfcDiscreteAccessoryType = IfcDiscreteAccessoryType; + class IfcDistributionChamberElementType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1599208980; + } + } + IFC2X32.IfcDistributionChamberElementType = IfcDistributionChamberElementType; + class IfcDistributionControlElementType extends IfcDistributionElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2063403501; + } + } + IFC2X32.IfcDistributionControlElementType = IfcDistributionControlElementType; + class IfcDistributionElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1945004755; + } + } + IFC2X32.IfcDistributionElement = IfcDistributionElement; + class IfcDistributionFlowElement extends IfcDistributionElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3040386961; + } + } + IFC2X32.IfcDistributionFlowElement = IfcDistributionFlowElement; + class IfcDistributionPort extends IfcPort { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, FlowDirection) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.FlowDirection = FlowDirection; + this.type = 3041715199; + } + } + IFC2X32.IfcDistributionPort = IfcDistributionPort; + class IfcDoor extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OverallHeight = OverallHeight; + this.OverallWidth = OverallWidth; + this.type = 395920057; + } + } + IFC2X32.IfcDoor = IfcDoor; + class IfcDuctFittingType extends IfcFlowFittingType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 869906466; + } + } + IFC2X32.IfcDuctFittingType = IfcDuctFittingType; + class IfcDuctSegmentType extends IfcFlowSegmentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3760055223; + } + } + IFC2X32.IfcDuctSegmentType = IfcDuctSegmentType; + class IfcDuctSilencerType extends IfcFlowTreatmentDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2030761528; + } + } + IFC2X32.IfcDuctSilencerType = IfcDuctSilencerType; + class IfcEdgeFeature extends IfcFeatureElementSubtraction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, FeatureLength) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.FeatureLength = FeatureLength; + this.type = 855621170; + } + } + IFC2X32.IfcEdgeFeature = IfcEdgeFeature; + class IfcElectricApplianceType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 663422040; + } + } + IFC2X32.IfcElectricApplianceType = IfcElectricApplianceType; + class IfcElectricFlowStorageDeviceType extends IfcFlowStorageDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3277789161; + } + } + IFC2X32.IfcElectricFlowStorageDeviceType = IfcElectricFlowStorageDeviceType; + class IfcElectricGeneratorType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1534661035; + } + } + IFC2X32.IfcElectricGeneratorType = IfcElectricGeneratorType; + class IfcElectricHeaterType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1365060375; + } + } + IFC2X32.IfcElectricHeaterType = IfcElectricHeaterType; + class IfcElectricMotorType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1217240411; + } + } + IFC2X32.IfcElectricMotorType = IfcElectricMotorType; + class IfcElectricTimeControlType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 712377611; + } + } + IFC2X32.IfcElectricTimeControlType = IfcElectricTimeControlType; + class IfcElectricalCircuit extends IfcSystem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 1634875225; + } + } + IFC2X32.IfcElectricalCircuit = IfcElectricalCircuit; + class IfcElectricalElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 857184966; + } + } + IFC2X32.IfcElectricalElement = IfcElectricalElement; + class IfcEnergyConversionDevice extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1658829314; + } + } + IFC2X32.IfcEnergyConversionDevice = IfcEnergyConversionDevice; + class IfcFanType extends IfcFlowMovingDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 346874300; + } + } + IFC2X32.IfcFanType = IfcFanType; + class IfcFilterType extends IfcFlowTreatmentDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1810631287; + } + } + IFC2X32.IfcFilterType = IfcFilterType; + class IfcFireSuppressionTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4222183408; + } + } + IFC2X32.IfcFireSuppressionTerminalType = IfcFireSuppressionTerminalType; + class IfcFlowController extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2058353004; + } + } + IFC2X32.IfcFlowController = IfcFlowController; + class IfcFlowFitting extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 4278956645; + } + } + IFC2X32.IfcFlowFitting = IfcFlowFitting; + class IfcFlowInstrumentType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4037862832; + } + } + IFC2X32.IfcFlowInstrumentType = IfcFlowInstrumentType; + class IfcFlowMovingDevice extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3132237377; + } + } + IFC2X32.IfcFlowMovingDevice = IfcFlowMovingDevice; + class IfcFlowSegment extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 987401354; + } + } + IFC2X32.IfcFlowSegment = IfcFlowSegment; + class IfcFlowStorageDevice extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 707683696; + } + } + IFC2X32.IfcFlowStorageDevice = IfcFlowStorageDevice; + class IfcFlowTerminal extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2223149337; + } + } + IFC2X32.IfcFlowTerminal = IfcFlowTerminal; + class IfcFlowTreatmentDevice extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3508470533; + } + } + IFC2X32.IfcFlowTreatmentDevice = IfcFlowTreatmentDevice; + class IfcFooting extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 900683007; + } + } + IFC2X32.IfcFooting = IfcFooting; + class IfcMember extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1073191201; + } + } + IFC2X32.IfcMember = IfcMember; + class IfcPile extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType, ConstructionType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.ConstructionType = ConstructionType; + this.type = 1687234759; + } + } + IFC2X32.IfcPile = IfcPile; + class IfcPlate extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3171933400; + } + } + IFC2X32.IfcPlate = IfcPlate; + class IfcRailing extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2262370178; + } + } + IFC2X32.IfcRailing = IfcRailing; + class IfcRamp extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, ShapeType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.ShapeType = ShapeType; + this.type = 3024970846; + } + } + IFC2X32.IfcRamp = IfcRamp; + class IfcRampFlight extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3283111854; + } + } + IFC2X32.IfcRampFlight = IfcRampFlight; + class IfcRationalBezierCurve extends IfcBezierCurve { + constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, WeightsData) { + super(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.WeightsData = WeightsData; + this.type = 3055160366; + } + } + IFC2X32.IfcRationalBezierCurve = IfcRationalBezierCurve; + class IfcReinforcingElement extends IfcBuildingElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.type = 3027567501; + } + } + IFC2X32.IfcReinforcingElement = IfcReinforcingElement; + class IfcReinforcingMesh extends IfcReinforcingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.MeshLength = MeshLength; + this.MeshWidth = MeshWidth; + this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter; + this.TransverseBarNominalDiameter = TransverseBarNominalDiameter; + this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea; + this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea; + this.LongitudinalBarSpacing = LongitudinalBarSpacing; + this.TransverseBarSpacing = TransverseBarSpacing; + this.type = 2320036040; + } + } + IFC2X32.IfcReinforcingMesh = IfcReinforcingMesh; + class IfcRoof extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, ShapeType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.ShapeType = ShapeType; + this.type = 2016517767; + } + } + IFC2X32.IfcRoof = IfcRoof; + class IfcRoundedEdgeFeature extends IfcEdgeFeature { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, FeatureLength, Radius) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, FeatureLength); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.FeatureLength = FeatureLength; + this.Radius = Radius; + this.type = 1376911519; + } + } + IFC2X32.IfcRoundedEdgeFeature = IfcRoundedEdgeFeature; + class IfcSensorType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1783015770; + } + } + IFC2X32.IfcSensorType = IfcSensorType; + class IfcSlab extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1529196076; + } + } + IFC2X32.IfcSlab = IfcSlab; + class IfcStair extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, ShapeType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.ShapeType = ShapeType; + this.type = 331165859; + } + } + IFC2X32.IfcStair = IfcStair; + class IfcStairFlight extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NumberOfRiser, NumberOfTreads, RiserHeight, TreadLength) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.NumberOfRiser = NumberOfRiser; + this.NumberOfTreads = NumberOfTreads; + this.RiserHeight = RiserHeight; + this.TreadLength = TreadLength; + this.type = 4252922144; + } + } + IFC2X32.IfcStairFlight = IfcStairFlight; + class IfcStructuralAnalysisModel extends IfcSystem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, OrientationOf2DPlane, LoadedBy, HasResults) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.OrientationOf2DPlane = OrientationOf2DPlane; + this.LoadedBy = LoadedBy; + this.HasResults = HasResults; + this.type = 2515109513; + } + } + IFC2X32.IfcStructuralAnalysisModel = IfcStructuralAnalysisModel; + class IfcTendon extends IfcReinforcingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType, NominalDiameter, CrossSectionArea, TensionForce, PreStress, FrictionCoefficient, AnchorageSlip, MinCurvatureRadius) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.TensionForce = TensionForce; + this.PreStress = PreStress; + this.FrictionCoefficient = FrictionCoefficient; + this.AnchorageSlip = AnchorageSlip; + this.MinCurvatureRadius = MinCurvatureRadius; + this.type = 3824725483; + } + } + IFC2X32.IfcTendon = IfcTendon; + class IfcTendonAnchor extends IfcReinforcingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.type = 2347447852; + } + } + IFC2X32.IfcTendonAnchor = IfcTendonAnchor; + class IfcVibrationIsolatorType extends IfcDiscreteAccessoryType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3313531582; + } + } + IFC2X32.IfcVibrationIsolatorType = IfcVibrationIsolatorType; + class IfcWall extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2391406946; + } + } + IFC2X32.IfcWall = IfcWall; + class IfcWallStandardCase extends IfcWall { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3512223829; + } + } + IFC2X32.IfcWallStandardCase = IfcWallStandardCase; + class IfcWindow extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OverallHeight = OverallHeight; + this.OverallWidth = OverallWidth; + this.type = 3304561284; + } + } + IFC2X32.IfcWindow = IfcWindow; + class IfcActuatorType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2874132201; + } + } + IFC2X32.IfcActuatorType = IfcActuatorType; + class IfcAlarmType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3001207471; + } + } + IFC2X32.IfcAlarmType = IfcAlarmType; + class IfcBeam extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 753842376; + } + } + IFC2X32.IfcBeam = IfcBeam; + class IfcChamferEdgeFeature extends IfcEdgeFeature { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, FeatureLength, Width, Height) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, FeatureLength); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.FeatureLength = FeatureLength; + this.Width = Width; + this.Height = Height; + this.type = 2454782716; + } + } + IFC2X32.IfcChamferEdgeFeature = IfcChamferEdgeFeature; + class IfcControllerType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 578613899; + } + } + IFC2X32.IfcControllerType = IfcControllerType; + class IfcDistributionChamberElement extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1052013943; + } + } + IFC2X32.IfcDistributionChamberElement = IfcDistributionChamberElement; + class IfcDistributionControlElement extends IfcDistributionElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, ControlElementId) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.ControlElementId = ControlElementId; + this.type = 1062813311; + } + } + IFC2X32.IfcDistributionControlElement = IfcDistributionControlElement; + class IfcElectricDistributionPoint extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, DistributionPointFunction, UserDefinedFunction) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.DistributionPointFunction = DistributionPointFunction; + this.UserDefinedFunction = UserDefinedFunction; + this.type = 3700593921; + } + } + IFC2X32.IfcElectricDistributionPoint = IfcElectricDistributionPoint; + class IfcReinforcingBar extends IfcReinforcingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, NominalDiameter, CrossSectionArea, BarLength, BarRole, BarSurface) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.BarLength = BarLength; + this.BarRole = BarRole; + this.BarSurface = BarSurface; + this.type = 979691226; + } + } + IFC2X32.IfcReinforcingBar = IfcReinforcingBar; +})(IFC2X3$1 || (IFC2X3$1 = {})); +SchemaNames[4] = ["IFC4", "IFC4X1", "IFC4X2"]; +FromRawLineData[4] = { + 3630933823: (v) => new IFC4$1.IfcActorRole(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcText(!v[2] ? null : v[2].value)), + 618182010: (v) => new IFC4$1.IfcAddress(v[0], !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value)), + 639542469: (v) => new IFC4$1.IfcApplication(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), new IFC4$1.IfcIdentifier(!v[3] ? null : v[3].value)), + 411424972: (v) => { + var _a; + return new IFC4$1.IfcAppliedValue(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcDate(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcDate(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), v[8], !v[9] ? null : ((_a = v[9]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 130549933: (v) => new IFC4$1.IfcApproval(!v[0] ? null : new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcText(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcDateTime(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 4037036970: (v) => new IFC4$1.IfcBoundaryCondition(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value)), + 1560379544: (v) => new IFC4$1.IfcBoundaryEdgeCondition(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : TypeInitialiser(4, v[1]), !v[2] ? null : TypeInitialiser(4, v[2]), !v[3] ? null : TypeInitialiser(4, v[3]), !v[4] ? null : TypeInitialiser(4, v[4]), !v[5] ? null : TypeInitialiser(4, v[5]), !v[6] ? null : TypeInitialiser(4, v[6])), + 3367102660: (v) => new IFC4$1.IfcBoundaryFaceCondition(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : TypeInitialiser(4, v[1]), !v[2] ? null : TypeInitialiser(4, v[2]), !v[3] ? null : TypeInitialiser(4, v[3])), + 1387855156: (v) => new IFC4$1.IfcBoundaryNodeCondition(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : TypeInitialiser(4, v[1]), !v[2] ? null : TypeInitialiser(4, v[2]), !v[3] ? null : TypeInitialiser(4, v[3]), !v[4] ? null : TypeInitialiser(4, v[4]), !v[5] ? null : TypeInitialiser(4, v[5]), !v[6] ? null : TypeInitialiser(4, v[6])), + 2069777674: (v) => new IFC4$1.IfcBoundaryNodeConditionWarping(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : TypeInitialiser(4, v[1]), !v[2] ? null : TypeInitialiser(4, v[2]), !v[3] ? null : TypeInitialiser(4, v[3]), !v[4] ? null : TypeInitialiser(4, v[4]), !v[5] ? null : TypeInitialiser(4, v[5]), !v[6] ? null : TypeInitialiser(4, v[6]), !v[7] ? null : TypeInitialiser(4, v[7])), + 2859738748: (_) => new IFC4$1.IfcConnectionGeometry(), + 2614616156: (v) => new IFC4$1.IfcConnectionPointGeometry(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 2732653382: (v) => new IFC4$1.IfcConnectionSurfaceGeometry(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 775493141: (v) => new IFC4$1.IfcConnectionVolumeGeometry(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 1959218052: (v) => new IFC4$1.IfcConstraint(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), v[2], !v[3] ? null : new IFC4$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcDateTime(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcLabel(!v[6] ? null : v[6].value)), + 1785450214: (v) => new IFC4$1.IfcCoordinateOperation(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 1466758467: (v) => new IFC4$1.IfcCoordinateReferenceSystem(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcIdentifier(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcIdentifier(!v[3] ? null : v[3].value)), + 602808272: (v) => { + var _a; + return new IFC4$1.IfcCostValue(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcDate(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcDate(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), v[8], !v[9] ? null : ((_a = v[9]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1765591967: (v) => { + var _a; + return new IFC4$1.IfcDerivedUnit(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[1], !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value)); + }, + 1045800335: (v) => new IFC4$1.IfcDerivedUnitElement(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : v[1].value), + 2949456006: (v) => new IFC4$1.IfcDimensionalExponents(!v[0] ? null : v[0].value, !v[1] ? null : v[1].value, !v[2] ? null : v[2].value, !v[3] ? null : v[3].value, !v[4] ? null : v[4].value, !v[5] ? null : v[5].value, !v[6] ? null : v[6].value), + 4294318154: (_) => new IFC4$1.IfcExternalInformation(), + 3200245327: (v) => new IFC4$1.IfcExternalReference(!v[0] ? null : new IFC4$1.IfcURIReference(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value)), + 2242383968: (v) => new IFC4$1.IfcExternallyDefinedHatchStyle(!v[0] ? null : new IFC4$1.IfcURIReference(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value)), + 1040185647: (v) => new IFC4$1.IfcExternallyDefinedSurfaceStyle(!v[0] ? null : new IFC4$1.IfcURIReference(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value)), + 3548104201: (v) => new IFC4$1.IfcExternallyDefinedTextFont(!v[0] ? null : new IFC4$1.IfcURIReference(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value)), + 852622518: (v) => new IFC4$1.IfcGridAxis(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new IFC4$1.IfcBoolean(!v[2] ? null : v[2].value)), + 3020489413: (v) => { + var _a; + return new IFC4$1.IfcIrregularTimeSeriesValue(new IFC4$1.IfcDateTime(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(4, p) : null)) || []); + }, + 2655187982: (v) => new IFC4$1.IfcLibraryInformation(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcDateTime(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcURIReference(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcText(!v[5] ? null : v[5].value)), + 3452421091: (v) => new IFC4$1.IfcLibraryReference(!v[0] ? null : new IFC4$1.IfcURIReference(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLanguageId(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value)), + 4162380809: (v) => { + var _a, _b; + return new IFC4$1.IfcLightDistributionData(new IFC4$1.IfcPlaneAngleMeasure(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcPlaneAngleMeasure(p.value) : null)) || [], ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcLuminousIntensityDistributionMeasure(p.value) : null)) || []); + }, + 1566485204: (v) => { + var _a; + return new IFC4$1.IfcLightIntensityDistribution(v[0], ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3057273783: (v) => new IFC4$1.IfcMapConversion(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new IFC4$1.IfcLengthMeasure(!v[2] ? null : v[2].value), new IFC4$1.IfcLengthMeasure(!v[3] ? null : v[3].value), new IFC4$1.IfcLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcReal(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcReal(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcReal(!v[7] ? null : v[7].value)), + 1847130766: (v) => { + var _a; + return new IFC4$1.IfcMaterialClassificationRelationship(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[1] ? null : v[1].value)); + }, + 760658860: (_) => new IFC4$1.IfcMaterialDefinition(), + 248100487: (v) => new IFC4$1.IfcMaterialLayer(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcNonNegativeLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLogical(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcText(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcInteger(!v[6] ? null : v[6].value)), + 3303938423: (v) => { + var _a; + return new IFC4$1.IfcMaterialLayerSet(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcText(!v[2] ? null : v[2].value)); + }, + 1847252529: (v) => new IFC4$1.IfcMaterialLayerWithOffsets(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcNonNegativeLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLogical(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcText(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcInteger(!v[6] ? null : v[6].value), v[7], new IFC4$1.IfcLengthMeasure(!v[8] ? null : v[8].value)), + 2199411900: (v) => { + var _a; + return new IFC4$1.IfcMaterialList(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2235152071: (v) => new IFC4$1.IfcMaterialProfile(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcInteger(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value)), + 164193824: (v) => { + var _a; + return new IFC4$1.IfcMaterialProfileSet(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)); + }, + 552965576: (v) => new IFC4$1.IfcMaterialProfileWithOffsets(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcInteger(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value), new IFC4$1.IfcLengthMeasure(!v[6] ? null : v[6].value)), + 1507914824: (_) => new IFC4$1.IfcMaterialUsageDefinition(), + 2597039031: (v) => new IFC4$1.IfcMeasureWithUnit(TypeInitialiser(4, v[0]), new Handle$5(!v[1] ? null : v[1].value)), + 3368373690: (v) => new IFC4$1.IfcMetric(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), v[2], !v[3] ? null : new IFC4$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcDateTime(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcLabel(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value)), + 2706619895: (v) => new IFC4$1.IfcMonetaryUnit(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value)), + 1918398963: (v) => new IFC4$1.IfcNamedUnit(new Handle$5(!v[0] ? null : v[0].value), v[1]), + 3701648758: (_) => new IFC4$1.IfcObjectPlacement(), + 2251480897: (v) => { + var _a; + return new IFC4$1.IfcObjective(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), v[2], !v[3] ? null : new IFC4$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcDateTime(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[8], v[9], !v[10] ? null : new IFC4$1.IfcLabel(!v[10] ? null : v[10].value)); + }, + 4251960020: (v) => { + var _a, _b; + return new IFC4$1.IfcOrganization(!v[0] ? null : new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcText(!v[2] ? null : v[2].value), !v[3] ? null : ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[4] ? null : ((_b = v[4]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1207048766: (v) => new IFC4$1.IfcOwnerHistory(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), v[2], v[3], !v[4] ? null : new IFC4$1.IfcTimeStamp(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new IFC4$1.IfcTimeStamp(!v[7] ? null : v[7].value)), + 2077209135: (v) => { + var _a, _b, _c, _d, _e; + return new IFC4$1.IfcPerson(!v[0] ? null : new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcLabel(p.value) : null)) || [], !v[4] ? null : ((_b = v[4]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcLabel(p.value) : null)) || [], !v[5] ? null : ((_c = v[5]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcLabel(p.value) : null)) || [], !v[6] ? null : ((_d = v[6]) == null ? void 0 : _d.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : ((_e = v[7]) == null ? void 0 : _e.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 101040310: (v) => { + var _a; + return new IFC4$1.IfcPersonAndOrganization(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2483315170: (v) => new IFC4$1.IfcPhysicalQuantity(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value)), + 2226359599: (v) => new IFC4$1.IfcPhysicalSimpleQuantity(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)), + 3355820592: (v) => { + var _a; + return new IFC4$1.IfcPostalAddress(v[0], !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcLabel(p.value) : null)) || [], !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcLabel(!v[9] ? null : v[9].value)); + }, + 677532197: (_) => new IFC4$1.IfcPresentationItem(), + 2022622350: (v) => { + var _a; + return new IFC4$1.IfcPresentationLayerAssignment(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[3] ? null : new IFC4$1.IfcIdentifier(!v[3] ? null : v[3].value)); + }, + 1304840413: (v) => { + var _a, _b; + return new IFC4$1.IfcPresentationLayerWithStyle(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[3] ? null : new IFC4$1.IfcIdentifier(!v[3] ? null : v[3].value), new IFC4$1.IfcLogical(!v[4] ? null : v[4].value), new IFC4$1.IfcLogical(!v[5] ? null : v[5].value), new IFC4$1.IfcLogical(!v[6] ? null : v[6].value), !v[7] ? null : ((_b = v[7]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3119450353: (v) => new IFC4$1.IfcPresentationStyle(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value)), + 2417041796: (v) => { + var _a; + return new IFC4$1.IfcPresentationStyleAssignment(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2095639259: (v) => { + var _a; + return new IFC4$1.IfcProductRepresentation(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3958567839: (v) => new IFC4$1.IfcProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value)), + 3843373140: (v) => new IFC4$1.IfcProjectedCRS(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcIdentifier(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcIdentifier(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 986844984: (_) => new IFC4$1.IfcPropertyAbstraction(), + 3710013099: (v) => { + var _a; + return new IFC4$1.IfcPropertyEnumeration(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(4, p) : null)) || [], !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)); + }, + 2044713172: (v) => new IFC4$1.IfcQuantityArea(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcAreaMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value)), + 2093928680: (v) => new IFC4$1.IfcQuantityCount(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcCountMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value)), + 931644368: (v) => new IFC4$1.IfcQuantityLength(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value)), + 3252649465: (v) => new IFC4$1.IfcQuantityTime(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcTimeMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value)), + 2405470396: (v) => new IFC4$1.IfcQuantityVolume(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcVolumeMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value)), + 825690147: (v) => new IFC4$1.IfcQuantityWeight(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcMassMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value)), + 3915482550: (v) => { + var _a, _b, _c, _d; + return new IFC4$1.IfcRecurrencePattern(v[0], !v[1] ? null : ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcDayInMonthNumber(p.value) : null)) || [], !v[2] ? null : ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcDayInWeekNumber(p.value) : null)) || [], !v[3] ? null : ((_c = v[3]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcMonthInYearNumber(p.value) : null)) || [], !v[4] ? null : new IFC4$1.IfcInteger(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcInteger(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcInteger(!v[6] ? null : v[6].value), !v[7] ? null : ((_d = v[7]) == null ? void 0 : _d.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2433181523: (v) => { + var _a; + return new IFC4$1.IfcReference(!v[0] ? null : new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcInteger(p.value) : null)) || [], !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value)); + }, + 1076942058: (v) => { + var _a; + return new IFC4$1.IfcRepresentation(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3377609919: (v) => new IFC4$1.IfcRepresentationContext(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value)), + 3008791417: (_) => new IFC4$1.IfcRepresentationItem(), + 1660063152: (v) => new IFC4$1.IfcRepresentationMap(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 2439245199: (v) => new IFC4$1.IfcResourceLevelRelationship(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value)), + 2341007311: (v) => new IFC4$1.IfcRoot(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value)), + 448429030: (v) => new IFC4$1.IfcSIUnit(v[0], v[1], v[2]), + 1054537805: (v) => new IFC4$1.IfcSchedulingTime(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), v[1], !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value)), + 867548509: (v) => { + var _a; + return new IFC4$1.IfcShapeAspect(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcText(!v[2] ? null : v[2].value), new IFC4$1.IfcLogical(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value)); + }, + 3982875396: (v) => { + var _a; + return new IFC4$1.IfcShapeModel(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 4240577450: (v) => { + var _a; + return new IFC4$1.IfcShapeRepresentation(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2273995522: (v) => new IFC4$1.IfcStructuralConnectionCondition(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value)), + 2162789131: (v) => new IFC4$1.IfcStructuralLoad(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value)), + 3478079324: (v) => { + var _a, _b; + return new IFC4$1.IfcStructuralLoadConfiguration(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcLengthMeasure(p.value) : null)) || []); + }, + 609421318: (v) => new IFC4$1.IfcStructuralLoadOrResult(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value)), + 2525727697: (v) => new IFC4$1.IfcStructuralLoadStatic(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value)), + 3408363356: (v) => new IFC4$1.IfcStructuralLoadTemperature(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcThermodynamicTemperatureMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcThermodynamicTemperatureMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcThermodynamicTemperatureMeasure(!v[3] ? null : v[3].value)), + 2830218821: (v) => { + var _a; + return new IFC4$1.IfcStyleModel(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3958052878: (v) => { + var _a; + return new IFC4$1.IfcStyledItem(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value)); + }, + 3049322572: (v) => { + var _a; + return new IFC4$1.IfcStyledRepresentation(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2934153892: (v) => { + var _a, _b; + return new IFC4$1.IfcSurfaceReinforcementArea(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcLengthMeasure(p.value) : null)) || [], !v[2] ? null : ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcLengthMeasure(p.value) : null)) || [], !v[3] ? null : new IFC4$1.IfcRatioMeasure(!v[3] ? null : v[3].value)); + }, + 1300840506: (v) => { + var _a; + return new IFC4$1.IfcSurfaceStyle(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), v[1], ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3303107099: (v) => new IFC4$1.IfcSurfaceStyleLighting(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)), + 1607154358: (v) => new IFC4$1.IfcSurfaceStyleRefraction(!v[0] ? null : new IFC4$1.IfcReal(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcReal(!v[1] ? null : v[1].value)), + 846575682: (v) => new IFC4$1.IfcSurfaceStyleShading(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[1] ? null : v[1].value)), + 1351298697: (v) => { + var _a; + return new IFC4$1.IfcSurfaceStyleWithTextures(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 626085974: (v) => { + var _a; + return new IFC4$1.IfcSurfaceTexture(new IFC4$1.IfcBoolean(!v[0] ? null : v[0].value), new IFC4$1.IfcBoolean(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcIdentifier(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcIdentifier(p.value) : null)) || []); + }, + 985171141: (v) => { + var _a, _b; + return new IFC4$1.IfcTable(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2043862942: (v) => new IFC4$1.IfcTableColumn(!v[0] ? null : new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcText(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value)), + 531007025: (v) => { + var _a; + return new IFC4$1.IfcTableRow(!v[0] ? null : ((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(4, p) : null)) || [], !v[1] ? null : new IFC4$1.IfcBoolean(!v[1] ? null : v[1].value)); + }, + 1549132990: (v) => new IFC4$1.IfcTaskTime(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), v[1], !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), v[3], !v[4] ? null : new IFC4$1.IfcDuration(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcDateTime(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcDateTime(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcDateTime(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcDateTime(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcDateTime(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcDateTime(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4$1.IfcDuration(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcDuration(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4$1.IfcBoolean(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4$1.IfcDateTime(!v[14] ? null : v[14].value), !v[15] ? null : new IFC4$1.IfcDuration(!v[15] ? null : v[15].value), !v[16] ? null : new IFC4$1.IfcDateTime(!v[16] ? null : v[16].value), !v[17] ? null : new IFC4$1.IfcDateTime(!v[17] ? null : v[17].value), !v[18] ? null : new IFC4$1.IfcDuration(!v[18] ? null : v[18].value), !v[19] ? null : new IFC4$1.IfcPositiveRatioMeasure(!v[19] ? null : v[19].value)), + 2771591690: (v) => new IFC4$1.IfcTaskTimeRecurring(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), v[1], !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), v[3], !v[4] ? null : new IFC4$1.IfcDuration(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcDateTime(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcDateTime(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcDateTime(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcDateTime(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcDateTime(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcDateTime(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4$1.IfcDuration(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcDuration(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4$1.IfcBoolean(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4$1.IfcDateTime(!v[14] ? null : v[14].value), !v[15] ? null : new IFC4$1.IfcDuration(!v[15] ? null : v[15].value), !v[16] ? null : new IFC4$1.IfcDateTime(!v[16] ? null : v[16].value), !v[17] ? null : new IFC4$1.IfcDateTime(!v[17] ? null : v[17].value), !v[18] ? null : new IFC4$1.IfcDuration(!v[18] ? null : v[18].value), !v[19] ? null : new IFC4$1.IfcPositiveRatioMeasure(!v[19] ? null : v[19].value), new Handle$5(!v[20] ? null : v[20].value)), + 912023232: (v) => { + var _a, _b, _c, _d; + return new IFC4$1.IfcTelecomAddress(v[0], !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcLabel(p.value) : null)) || [], !v[4] ? null : ((_b = v[4]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcLabel(p.value) : null)) || [], !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : ((_c = v[6]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcLabel(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcURIReference(!v[7] ? null : v[7].value), !v[8] ? null : ((_d = v[8]) == null ? void 0 : _d.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcURIReference(p.value) : null)) || []); + }, + 1447204868: (v) => new IFC4$1.IfcTextStyle(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcBoolean(!v[4] ? null : v[4].value)), + 2636378356: (v) => new IFC4$1.IfcTextStyleForDefinedFont(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 1640371178: (v) => new IFC4$1.IfcTextStyleTextModel(!v[0] ? null : TypeInitialiser(4, v[0]), !v[1] ? null : new IFC4$1.IfcTextAlignment(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcTextDecoration(!v[2] ? null : v[2].value), !v[3] ? null : TypeInitialiser(4, v[3]), !v[4] ? null : TypeInitialiser(4, v[4]), !v[5] ? null : new IFC4$1.IfcTextTransformation(!v[5] ? null : v[5].value), !v[6] ? null : TypeInitialiser(4, v[6])), + 280115917: (v) => { + var _a; + return new IFC4$1.IfcTextureCoordinate(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1742049831: (v) => { + var _a, _b; + return new IFC4$1.IfcTextureCoordinateGenerator(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcReal(p.value) : null)) || []); + }, + 2552916305: (v) => { + var _a, _b; + return new IFC4$1.IfcTextureMap(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[1]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[2] ? null : v[2].value)); + }, + 1210645708: (v) => { + var _a; + return new IFC4$1.IfcTextureVertex(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcParameterValue(p.value) : null)) || []); + }, + 3611470254: (v) => { + var _a; + return new IFC4$1.IfcTextureVertexList(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcParameterValue(p.value) : null)) || []); + }, + 1199560280: (v) => new IFC4$1.IfcTimePeriod(new IFC4$1.IfcTime(!v[0] ? null : v[0].value), new IFC4$1.IfcTime(!v[1] ? null : v[1].value)), + 3101149627: (v) => new IFC4$1.IfcTimeSeries(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), new IFC4$1.IfcDateTime(!v[2] ? null : v[2].value), new IFC4$1.IfcDateTime(!v[3] ? null : v[3].value), v[4], v[5], !v[6] ? null : new IFC4$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)), + 581633288: (v) => { + var _a; + return new IFC4$1.IfcTimeSeriesValue(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(4, p) : null)) || []); + }, + 1377556343: (_) => new IFC4$1.IfcTopologicalRepresentationItem(), + 1735638870: (v) => { + var _a; + return new IFC4$1.IfcTopologyRepresentation(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 180925521: (v) => { + var _a; + return new IFC4$1.IfcUnitAssignment(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2799835756: (_) => new IFC4$1.IfcVertex(), + 1907098498: (v) => new IFC4$1.IfcVertexPoint(new Handle$5(!v[0] ? null : v[0].value)), + 891718957: (v) => { + var _a, _b; + return new IFC4$1.IfcVirtualGridIntersection(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[1]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcLengthMeasure(p.value) : null)) || []); + }, + 1236880293: (v) => new IFC4$1.IfcWorkTime(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), v[1], !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcDate(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcDate(!v[5] ? null : v[5].value)), + 3869604511: (v) => { + var _a; + return new IFC4$1.IfcApprovalRelationship(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3798115385: (v) => new IFC4$1.IfcArbitraryClosedProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 1310608509: (v) => new IFC4$1.IfcArbitraryOpenProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 2705031697: (v) => { + var _a; + return new IFC4$1.IfcArbitraryProfileDefWithVoids(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 616511568: (v) => { + var _a; + return new IFC4$1.IfcBlobTexture(new IFC4$1.IfcBoolean(!v[0] ? null : v[0].value), new IFC4$1.IfcBoolean(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcIdentifier(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcIdentifier(p.value) : null)) || [], new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), new IFC4$1.IfcBinary(!v[6] ? null : v[6].value)); + }, + 3150382593: (v) => new IFC4$1.IfcCenterLineProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 747523909: (v) => { + var _a; + return new IFC4$1.IfcClassification(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcDate(!v[2] ? null : v[2].value), new IFC4$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcText(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcURIReference(!v[5] ? null : v[5].value), !v[6] ? null : ((_a = v[6]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcIdentifier(p.value) : null)) || []); + }, + 647927063: (v) => new IFC4$1.IfcClassificationReference(!v[0] ? null : new IFC4$1.IfcURIReference(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcText(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value)), + 3285139300: (v) => { + var _a; + return new IFC4$1.IfcColourRgbList(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcNormalisedRatioMeasure(p.value) : null)) || []); + }, + 3264961684: (v) => new IFC4$1.IfcColourSpecification(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value)), + 1485152156: (v) => { + var _a; + return new IFC4$1.IfcCompositeProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[3] ? null : new IFC4$1.IfcLabel(!v[3] ? null : v[3].value)); + }, + 370225590: (v) => { + var _a; + return new IFC4$1.IfcConnectedFaceSet(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1981873012: (v) => new IFC4$1.IfcConnectionCurveGeometry(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 45288368: (v) => new IFC4$1.IfcConnectionPointEccentricity(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLengthMeasure(!v[4] ? null : v[4].value)), + 3050246964: (v) => new IFC4$1.IfcContextDependentUnit(new Handle$5(!v[0] ? null : v[0].value), v[1], new IFC4$1.IfcLabel(!v[2] ? null : v[2].value)), + 2889183280: (v) => new IFC4$1.IfcConversionBasedUnit(new Handle$5(!v[0] ? null : v[0].value), v[1], new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)), + 2713554722: (v) => new IFC4$1.IfcConversionBasedUnitWithOffset(new Handle$5(!v[0] ? null : v[0].value), v[1], new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), new IFC4$1.IfcReal(!v[4] ? null : v[4].value)), + 539742890: (v) => new IFC4$1.IfcCurrencyRelationship(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), new IFC4$1.IfcPositiveRatioMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcDateTime(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 3800577675: (v) => new IFC4$1.IfcCurveStyle(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : TypeInitialiser(4, v[2]), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcBoolean(!v[4] ? null : v[4].value)), + 1105321065: (v) => { + var _a; + return new IFC4$1.IfcCurveStyleFont(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2367409068: (v) => new IFC4$1.IfcCurveStyleFontAndScaling(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new IFC4$1.IfcPositiveRatioMeasure(!v[2] ? null : v[2].value)), + 3510044353: (v) => new IFC4$1.IfcCurveStyleFontPattern(new IFC4$1.IfcLengthMeasure(!v[0] ? null : v[0].value), new IFC4$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value)), + 3632507154: (v) => new IFC4$1.IfcDerivedProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value)), + 1154170062: (v) => { + var _a; + return new IFC4$1.IfcDocumentInformation(new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcText(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcURIReference(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcText(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcText(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value), !v[9] ? null : ((_a = v[9]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new IFC4$1.IfcDateTime(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4$1.IfcDateTime(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcIdentifier(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4$1.IfcDate(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4$1.IfcDate(!v[14] ? null : v[14].value), v[15], v[16]); + }, + 770865208: (v) => { + var _a; + return new IFC4$1.IfcDocumentInformationRelationship(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value)); + }, + 3732053477: (v) => new IFC4$1.IfcDocumentReference(!v[0] ? null : new IFC4$1.IfcURIReference(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value)), + 3900360178: (v) => new IFC4$1.IfcEdge(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 476780140: (v) => new IFC4$1.IfcEdgeCurve(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcBoolean(!v[3] ? null : v[3].value)), + 211053100: (v) => new IFC4$1.IfcEventTime(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), v[1], !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcDateTime(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcDateTime(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcDateTime(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcDateTime(!v[6] ? null : v[6].value)), + 297599258: (v) => { + var _a; + return new IFC4$1.IfcExtendedProperties(!v[0] ? null : new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1437805879: (v) => { + var _a; + return new IFC4$1.IfcExternalReferenceRelationship(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2556980723: (v) => { + var _a; + return new IFC4$1.IfcFace(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1809719519: (v) => new IFC4$1.IfcFaceBound(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcBoolean(!v[1] ? null : v[1].value)), + 803316827: (v) => new IFC4$1.IfcFaceOuterBound(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcBoolean(!v[1] ? null : v[1].value)), + 3008276851: (v) => { + var _a; + return new IFC4$1.IfcFaceSurface(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[1] ? null : v[1].value), new IFC4$1.IfcBoolean(!v[2] ? null : v[2].value)); + }, + 4219587988: (v) => new IFC4$1.IfcFailureConnectionCondition(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcForceMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcForceMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcForceMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcForceMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcForceMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcForceMeasure(!v[6] ? null : v[6].value)), + 738692330: (v) => { + var _a; + return new IFC4$1.IfcFillAreaStyle(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC4$1.IfcBoolean(!v[2] ? null : v[2].value)); + }, + 3448662350: (v) => new IFC4$1.IfcGeometricRepresentationContext(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), new IFC4$1.IfcDimensionCount(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcReal(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value)), + 2453401579: (_) => new IFC4$1.IfcGeometricRepresentationItem(), + 4142052618: (v) => new IFC4$1.IfcGeometricRepresentationSubContext(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcPositiveRatioMeasure(!v[3] ? null : v[3].value), v[4], !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value)), + 3590301190: (v) => { + var _a; + return new IFC4$1.IfcGeometricSet(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 178086475: (v) => new IFC4$1.IfcGridPlacement(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 812098782: (v) => new IFC4$1.IfcHalfSpaceSolid(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcBoolean(!v[1] ? null : v[1].value)), + 3905492369: (v) => { + var _a; + return new IFC4$1.IfcImageTexture(new IFC4$1.IfcBoolean(!v[0] ? null : v[0].value), new IFC4$1.IfcBoolean(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcIdentifier(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcIdentifier(p.value) : null)) || [], new IFC4$1.IfcURIReference(!v[5] ? null : v[5].value)); + }, + 3570813810: (v) => { + var _a; + return new IFC4$1.IfcIndexedColourMap(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcPositiveInteger(p.value) : null)) || []); + }, + 1437953363: (v) => { + var _a; + return new IFC4$1.IfcIndexedTextureMap(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)); + }, + 2133299955: (v) => { + var _a, _b; + return new IFC4$1.IfcIndexedTriangleTextureMap(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : ((_b = v[3]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcPositiveInteger(p.value) : null)) || []); + }, + 3741457305: (v) => { + var _a; + return new IFC4$1.IfcIrregularTimeSeries(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), new IFC4$1.IfcDateTime(!v[2] ? null : v[2].value), new IFC4$1.IfcDateTime(!v[3] ? null : v[3].value), v[4], v[5], !v[6] ? null : new IFC4$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1585845231: (v) => new IFC4$1.IfcLagTime(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), v[1], !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), TypeInitialiser(4, v[3]), v[4]), + 1402838566: (v) => new IFC4$1.IfcLightSource(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value)), + 125510826: (v) => new IFC4$1.IfcLightSourceAmbient(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value)), + 2604431987: (v) => new IFC4$1.IfcLightSourceDirectional(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value)), + 4266656042: (v) => new IFC4$1.IfcLightSourceGoniometric(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), new IFC4$1.IfcThermodynamicTemperatureMeasure(!v[6] ? null : v[6].value), new IFC4$1.IfcLuminousFluxMeasure(!v[7] ? null : v[7].value), v[8], new Handle$5(!v[9] ? null : v[9].value)), + 1520743889: (v) => new IFC4$1.IfcLightSourcePositional(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new IFC4$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4$1.IfcReal(!v[6] ? null : v[6].value), new IFC4$1.IfcReal(!v[7] ? null : v[7].value), new IFC4$1.IfcReal(!v[8] ? null : v[8].value)), + 3422422726: (v) => new IFC4$1.IfcLightSourceSpot(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new IFC4$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4$1.IfcReal(!v[6] ? null : v[6].value), new IFC4$1.IfcReal(!v[7] ? null : v[7].value), new IFC4$1.IfcReal(!v[8] ? null : v[8].value), new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcReal(!v[10] ? null : v[10].value), new IFC4$1.IfcPositivePlaneAngleMeasure(!v[11] ? null : v[11].value), new IFC4$1.IfcPositivePlaneAngleMeasure(!v[12] ? null : v[12].value)), + 2624227202: (v) => new IFC4$1.IfcLocalPlacement(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 1008929658: (_) => new IFC4$1.IfcLoop(), + 2347385850: (v) => new IFC4$1.IfcMappedItem(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 1838606355: (v) => new IFC4$1.IfcMaterial(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value)), + 3708119e3: (v) => new IFC4$1.IfcMaterialConstituent(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value)), + 2852063980: (v) => { + var _a; + return new IFC4$1.IfcMaterialConstituentSet(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2022407955: (v) => { + var _a; + return new IFC4$1.IfcMaterialDefinitionRepresentation(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[3] ? null : v[3].value)); + }, + 1303795690: (v) => new IFC4$1.IfcMaterialLayerSetUsage(new Handle$5(!v[0] ? null : v[0].value), v[1], v[2], new IFC4$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value)), + 3079605661: (v) => new IFC4$1.IfcMaterialProfileSetUsage(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcCardinalPointReference(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value)), + 3404854881: (v) => new IFC4$1.IfcMaterialProfileSetUsageTapering(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcCardinalPointReference(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcCardinalPointReference(!v[4] ? null : v[4].value)), + 3265635763: (v) => { + var _a; + return new IFC4$1.IfcMaterialProperties(!v[0] ? null : new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[3] ? null : v[3].value)); + }, + 853536259: (v) => { + var _a; + return new IFC4$1.IfcMaterialRelationship(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value)); + }, + 2998442950: (v) => new IFC4$1.IfcMirroredProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcLabel(!v[3] ? null : v[3].value)), + 219451334: (v) => new IFC4$1.IfcObjectDefinition(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value)), + 2665983363: (v) => { + var _a; + return new IFC4$1.IfcOpenShell(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1411181986: (v) => { + var _a; + return new IFC4$1.IfcOrganizationRelationship(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1029017970: (v) => new IFC4$1.IfcOrientedEdge(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcBoolean(!v[1] ? null : v[1].value)), + 2529465313: (v) => new IFC4$1.IfcParameterizedProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)), + 2519244187: (v) => { + var _a; + return new IFC4$1.IfcPath(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3021840470: (v) => { + var _a; + return new IFC4$1.IfcPhysicalComplexQuantity(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value)); + }, + 597895409: (v) => { + var _a, _b; + return new IFC4$1.IfcPixelTexture(new IFC4$1.IfcBoolean(!v[0] ? null : v[0].value), new IFC4$1.IfcBoolean(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcIdentifier(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcIdentifier(p.value) : null)) || [], new IFC4$1.IfcInteger(!v[5] ? null : v[5].value), new IFC4$1.IfcInteger(!v[6] ? null : v[6].value), new IFC4$1.IfcInteger(!v[7] ? null : v[7].value), ((_b = v[8]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcBinary(p.value) : null)) || []); + }, + 2004835150: (v) => new IFC4$1.IfcPlacement(new Handle$5(!v[0] ? null : v[0].value)), + 1663979128: (v) => new IFC4$1.IfcPlanarExtent(new IFC4$1.IfcLengthMeasure(!v[0] ? null : v[0].value), new IFC4$1.IfcLengthMeasure(!v[1] ? null : v[1].value)), + 2067069095: (_) => new IFC4$1.IfcPoint(), + 4022376103: (v) => new IFC4$1.IfcPointOnCurve(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcParameterValue(!v[1] ? null : v[1].value)), + 1423911732: (v) => new IFC4$1.IfcPointOnSurface(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcParameterValue(!v[1] ? null : v[1].value), new IFC4$1.IfcParameterValue(!v[2] ? null : v[2].value)), + 2924175390: (v) => { + var _a; + return new IFC4$1.IfcPolyLoop(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2775532180: (v) => new IFC4$1.IfcPolygonalBoundedHalfSpace(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcBoolean(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)), + 3727388367: (v) => new IFC4$1.IfcPreDefinedItem(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value)), + 3778827333: (_) => new IFC4$1.IfcPreDefinedProperties(), + 1775413392: (v) => new IFC4$1.IfcPreDefinedTextFont(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value)), + 673634403: (v) => { + var _a; + return new IFC4$1.IfcProductDefinitionShape(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2802850158: (v) => { + var _a; + return new IFC4$1.IfcProfileProperties(!v[0] ? null : new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[3] ? null : v[3].value)); + }, + 2598011224: (v) => new IFC4$1.IfcProperty(new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value)), + 1680319473: (v) => new IFC4$1.IfcPropertyDefinition(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value)), + 148025276: (v) => new IFC4$1.IfcPropertyDependencyRelationship(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcText(!v[4] ? null : v[4].value)), + 3357820518: (v) => new IFC4$1.IfcPropertySetDefinition(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value)), + 1482703590: (v) => new IFC4$1.IfcPropertyTemplateDefinition(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value)), + 2090586900: (v) => new IFC4$1.IfcQuantitySet(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value)), + 3615266464: (v) => new IFC4$1.IfcRectangleProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value)), + 3413951693: (v) => { + var _a; + return new IFC4$1.IfcRegularTimeSeries(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), new IFC4$1.IfcDateTime(!v[2] ? null : v[2].value), new IFC4$1.IfcDateTime(!v[3] ? null : v[3].value), v[4], v[5], !v[6] ? null : new IFC4$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), new IFC4$1.IfcTimeMeasure(!v[8] ? null : v[8].value), ((_a = v[9]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1580146022: (v) => new IFC4$1.IfcReinforcementBarProperties(new IFC4$1.IfcAreaMeasure(!v[0] ? null : v[0].value), new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), v[2], !v[3] ? null : new IFC4$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcCountMeasure(!v[5] ? null : v[5].value)), + 478536968: (v) => new IFC4$1.IfcRelationship(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value)), + 2943643501: (v) => { + var _a; + return new IFC4$1.IfcResourceApprovalRelationship(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[3] ? null : v[3].value)); + }, + 1608871552: (v) => { + var _a; + return new IFC4$1.IfcResourceConstraintRelationship(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1042787934: (v) => new IFC4$1.IfcResourceTime(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), v[1], !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcDuration(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcPositiveRatioMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcDateTime(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcDateTime(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcDuration(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcBoolean(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcDateTime(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4$1.IfcDuration(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcPositiveRatioMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4$1.IfcDateTime(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4$1.IfcDateTime(!v[14] ? null : v[14].value), !v[15] ? null : new IFC4$1.IfcDuration(!v[15] ? null : v[15].value), !v[16] ? null : new IFC4$1.IfcPositiveRatioMeasure(!v[16] ? null : v[16].value), !v[17] ? null : new IFC4$1.IfcPositiveRatioMeasure(!v[17] ? null : v[17].value)), + 2778083089: (v) => new IFC4$1.IfcRoundedRectangleProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value)), + 2042790032: (v) => new IFC4$1.IfcSectionProperties(v[0], new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)), + 4165799628: (v) => { + var _a; + return new IFC4$1.IfcSectionReinforcementProperties(new IFC4$1.IfcLengthMeasure(!v[0] ? null : v[0].value), new IFC4$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLengthMeasure(!v[2] ? null : v[2].value), v[3], new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1509187699: (v) => { + var _a, _b; + return new IFC4$1.IfcSectionedSpine(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 4124623270: (v) => { + var _a; + return new IFC4$1.IfcShellBasedSurfaceModel(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3692461612: (v) => new IFC4$1.IfcSimpleProperty(new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value)), + 2609359061: (v) => new IFC4$1.IfcSlippageConnectionCondition(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcLengthMeasure(!v[3] ? null : v[3].value)), + 723233188: (_) => new IFC4$1.IfcSolidModel(), + 1595516126: (v) => new IFC4$1.IfcStructuralLoadLinearForce(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLinearForceMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLinearForceMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcLinearForceMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLinearMomentMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcLinearMomentMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcLinearMomentMeasure(!v[6] ? null : v[6].value)), + 2668620305: (v) => new IFC4$1.IfcStructuralLoadPlanarForce(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcPlanarForceMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcPlanarForceMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcPlanarForceMeasure(!v[3] ? null : v[3].value)), + 2473145415: (v) => new IFC4$1.IfcStructuralLoadSingleDisplacement(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcPlaneAngleMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcPlaneAngleMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcPlaneAngleMeasure(!v[6] ? null : v[6].value)), + 1973038258: (v) => new IFC4$1.IfcStructuralLoadSingleDisplacementDistortion(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcPlaneAngleMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcPlaneAngleMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcPlaneAngleMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcCurvatureMeasure(!v[7] ? null : v[7].value)), + 1597423693: (v) => new IFC4$1.IfcStructuralLoadSingleForce(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcForceMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcForceMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcForceMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcTorqueMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcTorqueMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcTorqueMeasure(!v[6] ? null : v[6].value)), + 1190533807: (v) => new IFC4$1.IfcStructuralLoadSingleForceWarping(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcForceMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcForceMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcForceMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcTorqueMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcTorqueMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcTorqueMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcWarpingMomentMeasure(!v[7] ? null : v[7].value)), + 2233826070: (v) => new IFC4$1.IfcSubedge(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 2513912981: (_) => new IFC4$1.IfcSurface(), + 1878645084: (v) => new IFC4$1.IfcSurfaceStyleRendering(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : TypeInitialiser(4, v[7]), v[8]), + 2247615214: (v) => new IFC4$1.IfcSweptAreaSolid(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 1260650574: (v) => new IFC4$1.IfcSweptDiskSolid(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcParameterValue(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcParameterValue(!v[4] ? null : v[4].value)), + 1096409881: (v) => new IFC4$1.IfcSweptDiskSolidPolygonal(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcParameterValue(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcParameterValue(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value)), + 230924584: (v) => new IFC4$1.IfcSweptSurface(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 3071757647: (v) => new IFC4$1.IfcTShapeProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcPlaneAngleMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4$1.IfcPlaneAngleMeasure(!v[11] ? null : v[11].value)), + 901063453: (_) => new IFC4$1.IfcTessellatedItem(), + 4282788508: (v) => new IFC4$1.IfcTextLiteral(new IFC4$1.IfcPresentableText(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), v[2]), + 3124975700: (v) => new IFC4$1.IfcTextLiteralWithExtent(new IFC4$1.IfcPresentableText(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), v[2], new Handle$5(!v[3] ? null : v[3].value), new IFC4$1.IfcBoxAlignment(!v[4] ? null : v[4].value)), + 1983826977: (v) => { + var _a; + return new IFC4$1.IfcTextStyleFontModel(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcTextFontName(p.value) : null)) || [], !v[2] ? null : new IFC4$1.IfcFontStyle(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcFontVariant(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcFontWeight(!v[4] ? null : v[4].value), TypeInitialiser(4, v[5])); + }, + 2715220739: (v) => new IFC4$1.IfcTrapeziumProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4$1.IfcLengthMeasure(!v[6] ? null : v[6].value)), + 1628702193: (v) => { + var _a; + return new IFC4$1.IfcTypeObject(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3736923433: (v) => { + var _a; + return new IFC4$1.IfcTypeProcess(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2347495698: (v) => { + var _a, _b; + return new IFC4$1.IfcTypeProduct(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value)); + }, + 3698973494: (v) => { + var _a; + return new IFC4$1.IfcTypeResource(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 427810014: (v) => new IFC4$1.IfcUShapeProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcPlaneAngleMeasure(!v[9] ? null : v[9].value)), + 1417489154: (v) => new IFC4$1.IfcVector(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcLengthMeasure(!v[1] ? null : v[1].value)), + 2759199220: (v) => new IFC4$1.IfcVertexLoop(new Handle$5(!v[0] ? null : v[0].value)), + 1299126871: (v) => { + var _a, _b; + return new IFC4$1.IfcWindowStyle(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9], new IFC4$1.IfcBoolean(!v[10] ? null : v[10].value), new IFC4$1.IfcBoolean(!v[11] ? null : v[11].value)); + }, + 2543172580: (v) => new IFC4$1.IfcZShapeProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[8] ? null : v[8].value)), + 3406155212: (v) => { + var _a; + return new IFC4$1.IfcAdvancedFace(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[1] ? null : v[1].value), new IFC4$1.IfcBoolean(!v[2] ? null : v[2].value)); + }, + 669184980: (v) => { + var _a; + return new IFC4$1.IfcAnnotationFillArea(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3207858831: (v) => new IFC4$1.IfcAsymmetricIShapeProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value), new IFC4$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcPlaneAngleMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4$1.IfcPlaneAngleMeasure(!v[14] ? null : v[14].value)), + 4261334040: (v) => new IFC4$1.IfcAxis1Placement(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 3125803723: (v) => new IFC4$1.IfcAxis2Placement2D(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 2740243338: (v) => new IFC4$1.IfcAxis2Placement3D(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)), + 2736907675: (v) => new IFC4$1.IfcBooleanResult(v[0], new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 4182860854: (_) => new IFC4$1.IfcBoundedSurface(), + 2581212453: (v) => new IFC4$1.IfcBoundingBox(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC4$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 2713105998: (v) => new IFC4$1.IfcBoxedHalfSpace(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcBoolean(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 2898889636: (v) => new IFC4$1.IfcCShapeProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value)), + 1123145078: (v) => { + var _a; + return new IFC4$1.IfcCartesianPoint(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcLengthMeasure(p.value) : null)) || []); + }, + 574549367: (_) => new IFC4$1.IfcCartesianPointList(), + 1675464909: (v) => { + var _a; + return new IFC4$1.IfcCartesianPointList2D(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcLengthMeasure(p.value) : null)) || []); + }, + 2059837836: (v) => { + var _a; + return new IFC4$1.IfcCartesianPointList3D(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcLengthMeasure(p.value) : null)) || []); + }, + 59481748: (v) => new IFC4$1.IfcCartesianTransformationOperator(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcReal(!v[3] ? null : v[3].value)), + 3749851601: (v) => new IFC4$1.IfcCartesianTransformationOperator2D(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcReal(!v[3] ? null : v[3].value)), + 3486308946: (v) => new IFC4$1.IfcCartesianTransformationOperator2DnonUniform(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcReal(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcReal(!v[4] ? null : v[4].value)), + 3331915920: (v) => new IFC4$1.IfcCartesianTransformationOperator3D(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcReal(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value)), + 1416205885: (v) => new IFC4$1.IfcCartesianTransformationOperator3DnonUniform(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcReal(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcReal(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcReal(!v[6] ? null : v[6].value)), + 1383045692: (v) => new IFC4$1.IfcCircleProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 2205249479: (v) => { + var _a; + return new IFC4$1.IfcClosedShell(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 776857604: (v) => new IFC4$1.IfcColourRgb(!v[0] ? null : new IFC4$1.IfcLabel(!v[0] ? null : v[0].value), new IFC4$1.IfcNormalisedRatioMeasure(!v[1] ? null : v[1].value), new IFC4$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), new IFC4$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value)), + 2542286263: (v) => { + var _a; + return new IFC4$1.IfcComplexProperty(new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), new IFC4$1.IfcIdentifier(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2485617015: (v) => new IFC4$1.IfcCompositeCurveSegment(v[0], new IFC4$1.IfcBoolean(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 2574617495: (v) => { + var _a, _b; + return new IFC4$1.IfcConstructionResourceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : ((_b = v[9]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value)); + }, + 3419103109: (v) => { + var _a; + return new IFC4$1.IfcContext(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)); + }, + 1815067380: (v) => { + var _a, _b; + return new IFC4$1.IfcCrewResourceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : ((_b = v[9]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), v[11]); + }, + 2506170314: (v) => new IFC4$1.IfcCsgPrimitive3D(new Handle$5(!v[0] ? null : v[0].value)), + 2147822146: (v) => new IFC4$1.IfcCsgSolid(new Handle$5(!v[0] ? null : v[0].value)), + 2601014836: (_) => new IFC4$1.IfcCurve(), + 2827736869: (v) => { + var _a; + return new IFC4$1.IfcCurveBoundedPlane(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2629017746: (v) => { + var _a; + return new IFC4$1.IfcCurveBoundedSurface(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4$1.IfcBoolean(!v[2] ? null : v[2].value)); + }, + 32440307: (v) => { + var _a; + return new IFC4$1.IfcDirection(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcReal(p.value) : null)) || []); + }, + 526551008: (v) => { + var _a, _b; + return new IFC4$1.IfcDoorStyle(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9], new IFC4$1.IfcBoolean(!v[10] ? null : v[10].value), new IFC4$1.IfcBoolean(!v[11] ? null : v[11].value)); + }, + 1472233963: (v) => { + var _a; + return new IFC4$1.IfcEdgeLoop(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1883228015: (v) => { + var _a; + return new IFC4$1.IfcElementQuantity(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 339256511: (v) => { + var _a, _b; + return new IFC4$1.IfcElementType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2777663545: (v) => new IFC4$1.IfcElementarySurface(new Handle$5(!v[0] ? null : v[0].value)), + 2835456948: (v) => new IFC4$1.IfcEllipseProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value)), + 4024345920: (v) => { + var _a; + return new IFC4$1.IfcEventType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9], v[10], !v[11] ? null : new IFC4$1.IfcLabel(!v[11] ? null : v[11].value)); + }, + 477187591: (v) => new IFC4$1.IfcExtrudedAreaSolid(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 2804161546: (v) => new IFC4$1.IfcExtrudedAreaSolidTapered(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value)), + 2047409740: (v) => { + var _a; + return new IFC4$1.IfcFaceBasedSurfaceModel(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 374418227: (v) => new IFC4$1.IfcFillAreaStyleHatching(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), new IFC4$1.IfcPlaneAngleMeasure(!v[4] ? null : v[4].value)), + 315944413: (v) => { + var _a, _b; + return new IFC4$1.IfcFillAreaStyleTiles(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[1]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4$1.IfcPositiveRatioMeasure(!v[2] ? null : v[2].value)); + }, + 2652556860: (v) => new IFC4$1.IfcFixedReferenceSweptAreaSolid(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcParameterValue(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcParameterValue(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 4238390223: (v) => { + var _a, _b; + return new IFC4$1.IfcFurnishingElementType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1268542332: (v) => { + var _a, _b; + return new IFC4$1.IfcFurnitureType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9], v[10]); + }, + 4095422895: (v) => { + var _a, _b; + return new IFC4$1.IfcGeographicElementType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 987898635: (v) => { + var _a; + return new IFC4$1.IfcGeometricCurveSet(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1484403080: (v) => new IFC4$1.IfcIShapeProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcPlaneAngleMeasure(!v[9] ? null : v[9].value)), + 178912537: (v) => { + var _a; + return new IFC4$1.IfcIndexedPolygonalFace(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcPositiveInteger(p.value) : null)) || []); + }, + 2294589976: (v) => { + var _a, _b; + return new IFC4$1.IfcIndexedPolygonalFaceWithVoids(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcPositiveInteger(p.value) : null)) || [], ((_b = v[1]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcPositiveInteger(p.value) : null)) || []); + }, + 572779678: (v) => new IFC4$1.IfcLShapeProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcPlaneAngleMeasure(!v[8] ? null : v[8].value)), + 428585644: (v) => { + var _a, _b; + return new IFC4$1.IfcLaborResourceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : ((_b = v[9]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), v[11]); + }, + 1281925730: (v) => new IFC4$1.IfcLine(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 1425443689: (v) => new IFC4$1.IfcManifoldSolidBrep(new Handle$5(!v[0] ? null : v[0].value)), + 3888040117: (v) => new IFC4$1.IfcObject(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value)), + 3388369263: (v) => new IFC4$1.IfcOffsetCurve2D(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcLengthMeasure(!v[1] ? null : v[1].value), new IFC4$1.IfcLogical(!v[2] ? null : v[2].value)), + 3505215534: (v) => new IFC4$1.IfcOffsetCurve3D(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcLengthMeasure(!v[1] ? null : v[1].value), new IFC4$1.IfcLogical(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)), + 1682466193: (v) => new IFC4$1.IfcPcurve(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 603570806: (v) => new IFC4$1.IfcPlanarBox(new IFC4$1.IfcLengthMeasure(!v[0] ? null : v[0].value), new IFC4$1.IfcLengthMeasure(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 220341763: (v) => new IFC4$1.IfcPlane(new Handle$5(!v[0] ? null : v[0].value)), + 759155922: (v) => new IFC4$1.IfcPreDefinedColour(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value)), + 2559016684: (v) => new IFC4$1.IfcPreDefinedCurveFont(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value)), + 3967405729: (v) => new IFC4$1.IfcPreDefinedPropertySet(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value)), + 569719735: (v) => { + var _a; + return new IFC4$1.IfcProcedureType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2945172077: (v) => new IFC4$1.IfcProcess(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcText(!v[6] ? null : v[6].value)), + 4208778838: (v) => new IFC4$1.IfcProduct(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 103090709: (v) => { + var _a; + return new IFC4$1.IfcProject(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)); + }, + 653396225: (v) => { + var _a; + return new IFC4$1.IfcProjectLibrary(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)); + }, + 871118103: (v) => new IFC4$1.IfcPropertyBoundedValue(new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : TypeInitialiser(4, v[2]), !v[3] ? null : TypeInitialiser(4, v[3]), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : TypeInitialiser(4, v[5])), + 4166981789: (v) => { + var _a; + return new IFC4$1.IfcPropertyEnumeratedValue(new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(4, p) : null)) || [], !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)); + }, + 2752243245: (v) => { + var _a; + return new IFC4$1.IfcPropertyListValue(new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(4, p) : null)) || [], !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)); + }, + 941946838: (v) => new IFC4$1.IfcPropertyReferenceValue(new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcText(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)), + 1451395588: (v) => { + var _a; + return new IFC4$1.IfcPropertySet(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 492091185: (v) => { + var _a; + return new IFC4$1.IfcPropertySetTemplate(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), v[4], !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), ((_a = v[6]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3650150729: (v) => new IFC4$1.IfcPropertySingleValue(new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : TypeInitialiser(4, v[2]), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)), + 110355661: (v) => { + var _a, _b; + return new IFC4$1.IfcPropertyTableValue(new IFC4$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(4, p) : null)) || [], !v[3] ? null : ((_b = v[3]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(4, p) : null)) || [], !v[4] ? null : new IFC4$1.IfcText(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7]); + }, + 3521284610: (v) => new IFC4$1.IfcPropertyTemplate(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value)), + 3219374653: (v) => new IFC4$1.IfcProxy(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)), + 2770003689: (v) => new IFC4$1.IfcRectangleHollowProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value)), + 2798486643: (v) => new IFC4$1.IfcRectangularPyramid(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC4$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 3454111270: (v) => new IFC4$1.IfcRectangularTrimmedSurface(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcParameterValue(!v[1] ? null : v[1].value), new IFC4$1.IfcParameterValue(!v[2] ? null : v[2].value), new IFC4$1.IfcParameterValue(!v[3] ? null : v[3].value), new IFC4$1.IfcParameterValue(!v[4] ? null : v[4].value), new IFC4$1.IfcBoolean(!v[5] ? null : v[5].value), new IFC4$1.IfcBoolean(!v[6] ? null : v[6].value)), + 3765753017: (v) => { + var _a; + return new IFC4$1.IfcReinforcementDefinitionProperties(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3939117080: (v) => { + var _a; + return new IFC4$1.IfcRelAssigns(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5]); + }, + 1683148259: (v) => { + var _a; + return new IFC4$1.IfcRelAssignsToActor(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)); + }, + 2495723537: (v) => { + var _a; + return new IFC4$1.IfcRelAssignsToControl(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value)); + }, + 1307041759: (v) => { + var _a; + return new IFC4$1.IfcRelAssignsToGroup(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value)); + }, + 1027710054: (v) => { + var _a; + return new IFC4$1.IfcRelAssignsToGroupByFactor(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value), new IFC4$1.IfcRatioMeasure(!v[7] ? null : v[7].value)); + }, + 4278684876: (v) => { + var _a; + return new IFC4$1.IfcRelAssignsToProcess(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)); + }, + 2857406711: (v) => { + var _a; + return new IFC4$1.IfcRelAssignsToProduct(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value)); + }, + 205026976: (v) => { + var _a; + return new IFC4$1.IfcRelAssignsToResource(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value)); + }, + 1865459582: (v) => { + var _a; + return new IFC4$1.IfcRelAssociates(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 4095574036: (v) => { + var _a; + return new IFC4$1.IfcRelAssociatesApproval(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 919958153: (v) => { + var _a; + return new IFC4$1.IfcRelAssociatesClassification(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 2728634034: (v) => { + var _a; + return new IFC4$1.IfcRelAssociatesConstraint(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value)); + }, + 982818633: (v) => { + var _a; + return new IFC4$1.IfcRelAssociatesDocument(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 3840914261: (v) => { + var _a; + return new IFC4$1.IfcRelAssociatesLibrary(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 2655215786: (v) => { + var _a; + return new IFC4$1.IfcRelAssociatesMaterial(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 826625072: (v) => new IFC4$1.IfcRelConnects(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value)), + 1204542856: (v) => new IFC4$1.IfcRelConnectsElements(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value)), + 3945020480: (v) => { + var _a, _b; + return new IFC4$1.IfcRelConnectsPathElements(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcInteger(p.value) : null)) || [], !v[8] ? null : ((_b = v[8]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcInteger(p.value) : null)) || [], v[9], v[10]); + }, + 4201705270: (v) => new IFC4$1.IfcRelConnectsPortToElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 3190031847: (v) => new IFC4$1.IfcRelConnectsPorts(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 2127690289: (v) => new IFC4$1.IfcRelConnectsStructuralActivity(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 1638771189: (v) => new IFC4$1.IfcRelConnectsStructuralMember(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value)), + 504942748: (v) => new IFC4$1.IfcRelConnectsWithEccentricity(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), new Handle$5(!v[10] ? null : v[10].value)), + 3678494232: (v) => { + var _a; + return new IFC4$1.IfcRelConnectsWithRealizingElements(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value), ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3242617779: (v) => { + var _a; + return new IFC4$1.IfcRelContainedInSpatialStructure(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 886880790: (v) => { + var _a; + return new IFC4$1.IfcRelCoversBldgElements(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2802773753: (v) => { + var _a; + return new IFC4$1.IfcRelCoversSpaces(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2565941209: (v) => { + var _a; + return new IFC4$1.IfcRelDeclares(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2551354335: (v) => new IFC4$1.IfcRelDecomposes(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value)), + 693640335: (v) => new IFC4$1.IfcRelDefines(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value)), + 1462361463: (v) => { + var _a; + return new IFC4$1.IfcRelDefinesByObject(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 4186316022: (v) => { + var _a; + return new IFC4$1.IfcRelDefinesByProperties(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 307848117: (v) => { + var _a; + return new IFC4$1.IfcRelDefinesByTemplate(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 781010003: (v) => { + var _a; + return new IFC4$1.IfcRelDefinesByType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 3940055652: (v) => new IFC4$1.IfcRelFillsElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 279856033: (v) => { + var _a; + return new IFC4$1.IfcRelFlowControlElements(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 427948657: (v) => new IFC4$1.IfcRelInterferesElements(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : v[8].value), + 3268803585: (v) => { + var _a; + return new IFC4$1.IfcRelNests(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 750771296: (v) => new IFC4$1.IfcRelProjectsElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 1245217292: (v) => { + var _a; + return new IFC4$1.IfcRelReferencedInSpatialStructure(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 4122056220: (v) => new IFC4$1.IfcRelSequence(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)), + 366585022: (v) => { + var _a; + return new IFC4$1.IfcRelServicesBuildings(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3451746338: (v) => new IFC4$1.IfcRelSpaceBoundary(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], v[8]), + 3523091289: (v) => new IFC4$1.IfcRelSpaceBoundary1stLevel(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], v[8], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value)), + 1521410863: (v) => new IFC4$1.IfcRelSpaceBoundary2ndLevel(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], v[8], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value)), + 1401173127: (v) => new IFC4$1.IfcRelVoidsElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 816062949: (v) => new IFC4$1.IfcReparametrisedCompositeCurveSegment(v[0], new IFC4$1.IfcBoolean(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcParameterValue(!v[3] ? null : v[3].value)), + 2914609552: (v) => new IFC4$1.IfcResource(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcText(!v[6] ? null : v[6].value)), + 1856042241: (v) => new IFC4$1.IfcRevolvedAreaSolid(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPlaneAngleMeasure(!v[3] ? null : v[3].value)), + 3243963512: (v) => new IFC4$1.IfcRevolvedAreaSolidTapered(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPlaneAngleMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value)), + 4158566097: (v) => new IFC4$1.IfcRightCircularCone(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC4$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value)), + 3626867408: (v) => new IFC4$1.IfcRightCircularCylinder(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC4$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value)), + 3663146110: (v) => new IFC4$1.IfcSimplePropertyTemplate(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), v[4], !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcLabel(!v[10] ? null : v[10].value), v[11]), + 1412071761: (v) => new IFC4$1.IfcSpatialElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value)), + 710998568: (v) => { + var _a, _b; + return new IFC4$1.IfcSpatialElementType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2706606064: (v) => new IFC4$1.IfcSpatialStructureElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), v[8]), + 3893378262: (v) => { + var _a, _b; + return new IFC4$1.IfcSpatialStructureElementType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 463610769: (v) => new IFC4$1.IfcSpatialZone(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), v[8]), + 2481509218: (v) => { + var _a, _b; + return new IFC4$1.IfcSpatialZoneType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC4$1.IfcLabel(!v[10] ? null : v[10].value)); + }, + 451544542: (v) => new IFC4$1.IfcSphere(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value)), + 4015995234: (v) => new IFC4$1.IfcSphericalSurface(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value)), + 3544373492: (v) => new IFC4$1.IfcStructuralActivity(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8]), + 3136571912: (v) => new IFC4$1.IfcStructuralItem(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 530289379: (v) => new IFC4$1.IfcStructuralMember(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 3689010777: (v) => new IFC4$1.IfcStructuralReaction(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8]), + 3979015343: (v) => new IFC4$1.IfcStructuralSurfaceMember(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value)), + 2218152070: (v) => new IFC4$1.IfcStructuralSurfaceMemberVarying(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value)), + 603775116: (v) => new IFC4$1.IfcStructuralSurfaceReaction(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], v[9]), + 4095615324: (v) => { + var _a, _b; + return new IFC4$1.IfcSubContractResourceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : ((_b = v[9]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), v[11]); + }, + 699246055: (v) => { + var _a; + return new IFC4$1.IfcSurfaceCurve(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[2]); + }, + 2028607225: (v) => new IFC4$1.IfcSurfaceCurveSweptAreaSolid(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcParameterValue(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcParameterValue(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 2809605785: (v) => new IFC4$1.IfcSurfaceOfLinearExtrusion(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcLengthMeasure(!v[3] ? null : v[3].value)), + 4124788165: (v) => new IFC4$1.IfcSurfaceOfRevolution(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 1580310250: (v) => { + var _a, _b; + return new IFC4$1.IfcSystemFurnitureElementType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3473067441: (v) => new IFC4$1.IfcTask(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), new IFC4$1.IfcBoolean(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcInteger(!v[10] ? null : v[10].value), !v[11] ? null : new Handle$5(!v[11] ? null : v[11].value), v[12]), + 3206491090: (v) => { + var _a; + return new IFC4$1.IfcTaskType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC4$1.IfcLabel(!v[10] ? null : v[10].value)); + }, + 2387106220: (v) => new IFC4$1.IfcTessellatedFaceSet(new Handle$5(!v[0] ? null : v[0].value)), + 1935646853: (v) => new IFC4$1.IfcToroidalSurface(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC4$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value)), + 2097647324: (v) => { + var _a, _b; + return new IFC4$1.IfcTransportElementType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2916149573: (v) => { + var _a, _b, _c; + return new IFC4$1.IfcTriangulatedFaceSet(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcParameterValue(p.value) : null)) || [], !v[2] ? null : new IFC4$1.IfcBoolean(!v[2] ? null : v[2].value), ((_b = v[3]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcPositiveInteger(p.value) : null)) || [], !v[4] ? null : ((_c = v[4]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcPositiveInteger(p.value) : null)) || []); + }, + 336235671: (v) => new IFC4$1.IfcWindowLiningProperties(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new Handle$5(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4$1.IfcLengthMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4$1.IfcLengthMeasure(!v[14] ? null : v[14].value), !v[15] ? null : new IFC4$1.IfcLengthMeasure(!v[15] ? null : v[15].value)), + 512836454: (v) => new IFC4$1.IfcWindowPanelProperties(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), v[4], v[5], !v[6] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 2296667514: (v) => new IFC4$1.IfcActor(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 1635779807: (v) => new IFC4$1.IfcAdvancedBrep(new Handle$5(!v[0] ? null : v[0].value)), + 2603310189: (v) => { + var _a; + return new IFC4$1.IfcAdvancedBrepWithVoids(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1674181508: (v) => new IFC4$1.IfcAnnotation(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 2887950389: (v) => { + var _a; + return new IFC4$1.IfcBSplineSurface(new IFC4$1.IfcInteger(!v[0] ? null : v[0].value), new IFC4$1.IfcInteger(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[3], new IFC4$1.IfcLogical(!v[4] ? null : v[4].value), new IFC4$1.IfcLogical(!v[5] ? null : v[5].value), new IFC4$1.IfcLogical(!v[6] ? null : v[6].value)); + }, + 167062518: (v) => { + var _a, _b, _c, _d, _e; + return new IFC4$1.IfcBSplineSurfaceWithKnots(new IFC4$1.IfcInteger(!v[0] ? null : v[0].value), new IFC4$1.IfcInteger(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[3], new IFC4$1.IfcLogical(!v[4] ? null : v[4].value), new IFC4$1.IfcLogical(!v[5] ? null : v[5].value), new IFC4$1.IfcLogical(!v[6] ? null : v[6].value), ((_b = v[7]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcInteger(p.value) : null)) || [], ((_c = v[8]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcInteger(p.value) : null)) || [], ((_d = v[9]) == null ? void 0 : _d.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcParameterValue(p.value) : null)) || [], ((_e = v[10]) == null ? void 0 : _e.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcParameterValue(p.value) : null)) || [], v[11]); + }, + 1334484129: (v) => new IFC4$1.IfcBlock(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC4$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 3649129432: (v) => new IFC4$1.IfcBooleanClippingResult(v[0], new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 1260505505: (_) => new IFC4$1.IfcBoundedCurve(), + 4031249490: (v) => new IFC4$1.IfcBuilding(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4$1.IfcLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new Handle$5(!v[11] ? null : v[11].value)), + 1950629157: (v) => { + var _a, _b; + return new IFC4$1.IfcBuildingElementType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3124254112: (v) => new IFC4$1.IfcBuildingStorey(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4$1.IfcLengthMeasure(!v[9] ? null : v[9].value)), + 2197970202: (v) => { + var _a, _b; + return new IFC4$1.IfcChimneyType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2937912522: (v) => new IFC4$1.IfcCircleHollowProfileDef(v[0], !v[1] ? null : new IFC4$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value)), + 3893394355: (v) => { + var _a, _b; + return new IFC4$1.IfcCivilElementType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 300633059: (v) => { + var _a, _b; + return new IFC4$1.IfcColumnType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3875453745: (v) => { + var _a; + return new IFC4$1.IfcComplexPropertyTemplate(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), v[5], !v[6] ? null : ((_a = v[6]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3732776249: (v) => { + var _a; + return new IFC4$1.IfcCompositeCurve(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4$1.IfcLogical(!v[1] ? null : v[1].value)); + }, + 15328376: (v) => { + var _a; + return new IFC4$1.IfcCompositeCurveOnSurface(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4$1.IfcLogical(!v[1] ? null : v[1].value)); + }, + 2510884976: (v) => new IFC4$1.IfcConic(new Handle$5(!v[0] ? null : v[0].value)), + 2185764099: (v) => { + var _a, _b; + return new IFC4$1.IfcConstructionEquipmentResourceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : ((_b = v[9]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), v[11]); + }, + 4105962743: (v) => { + var _a, _b; + return new IFC4$1.IfcConstructionMaterialResourceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : ((_b = v[9]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), v[11]); + }, + 1525564444: (v) => { + var _a, _b; + return new IFC4$1.IfcConstructionProductResourceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : ((_b = v[9]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), v[11]); + }, + 2559216714: (v) => { + var _a; + return new IFC4$1.IfcConstructionResource(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value)); + }, + 3293443760: (v) => new IFC4$1.IfcControl(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value)), + 3895139033: (v) => { + var _a, _b; + return new IFC4$1.IfcCostItem(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), v[6], !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : ((_b = v[8]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1419761937: (v) => new IFC4$1.IfcCostSchedule(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), v[6], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcDateTime(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcDateTime(!v[9] ? null : v[9].value)), + 1916426348: (v) => { + var _a, _b; + return new IFC4$1.IfcCoveringType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3295246426: (v) => { + var _a; + return new IFC4$1.IfcCrewResource(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), v[10]); + }, + 1457835157: (v) => { + var _a, _b; + return new IFC4$1.IfcCurtainWallType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1213902940: (v) => new IFC4$1.IfcCylindricalSurface(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value)), + 3256556792: (v) => { + var _a, _b; + return new IFC4$1.IfcDistributionElementType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3849074793: (v) => { + var _a, _b; + return new IFC4$1.IfcDistributionFlowElementType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2963535650: (v) => new IFC4$1.IfcDoorLiningProperties(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcNonNegativeLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4$1.IfcLengthMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new Handle$5(!v[14] ? null : v[14].value), !v[15] ? null : new IFC4$1.IfcLengthMeasure(!v[15] ? null : v[15].value), !v[16] ? null : new IFC4$1.IfcLengthMeasure(!v[16] ? null : v[16].value)), + 1714330368: (v) => new IFC4$1.IfcDoorPanelProperties(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), v[5], !v[6] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 2323601079: (v) => { + var _a, _b; + return new IFC4$1.IfcDoorType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9], v[10], !v[11] ? null : new IFC4$1.IfcBoolean(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcLabel(!v[12] ? null : v[12].value)); + }, + 445594917: (v) => new IFC4$1.IfcDraughtingPreDefinedColour(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value)), + 4006246654: (v) => new IFC4$1.IfcDraughtingPreDefinedCurveFont(new IFC4$1.IfcLabel(!v[0] ? null : v[0].value)), + 1758889154: (v) => new IFC4$1.IfcElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 4123344466: (v) => new IFC4$1.IfcElementAssembly(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8], v[9]), + 2397081782: (v) => { + var _a, _b; + return new IFC4$1.IfcElementAssemblyType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1623761950: (v) => new IFC4$1.IfcElementComponent(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2590856083: (v) => { + var _a, _b; + return new IFC4$1.IfcElementComponentType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1704287377: (v) => new IFC4$1.IfcEllipse(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC4$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value)), + 2107101300: (v) => { + var _a, _b; + return new IFC4$1.IfcEnergyConversionDeviceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 132023988: (v) => { + var _a, _b; + return new IFC4$1.IfcEngineType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3174744832: (v) => { + var _a, _b; + return new IFC4$1.IfcEvaporativeCoolerType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3390157468: (v) => { + var _a, _b; + return new IFC4$1.IfcEvaporatorType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4148101412: (v) => new IFC4$1.IfcEvent(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcText(!v[6] ? null : v[6].value), v[7], v[8], !v[9] ? null : new IFC4$1.IfcLabel(!v[9] ? null : v[9].value), !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value)), + 2853485674: (v) => new IFC4$1.IfcExternalSpatialStructureElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value)), + 807026263: (v) => new IFC4$1.IfcFacetedBrep(new Handle$5(!v[0] ? null : v[0].value)), + 3737207727: (v) => { + var _a; + return new IFC4$1.IfcFacetedBrepWithVoids(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 647756555: (v) => new IFC4$1.IfcFastener(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2489546625: (v) => { + var _a, _b; + return new IFC4$1.IfcFastenerType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2827207264: (v) => new IFC4$1.IfcFeatureElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2143335405: (v) => new IFC4$1.IfcFeatureElementAddition(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 1287392070: (v) => new IFC4$1.IfcFeatureElementSubtraction(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3907093117: (v) => { + var _a, _b; + return new IFC4$1.IfcFlowControllerType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3198132628: (v) => { + var _a, _b; + return new IFC4$1.IfcFlowFittingType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3815607619: (v) => { + var _a, _b; + return new IFC4$1.IfcFlowMeterType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1482959167: (v) => { + var _a, _b; + return new IFC4$1.IfcFlowMovingDeviceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1834744321: (v) => { + var _a, _b; + return new IFC4$1.IfcFlowSegmentType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1339347760: (v) => { + var _a, _b; + return new IFC4$1.IfcFlowStorageDeviceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2297155007: (v) => { + var _a, _b; + return new IFC4$1.IfcFlowTerminalType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3009222698: (v) => { + var _a, _b; + return new IFC4$1.IfcFlowTreatmentDeviceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1893162501: (v) => { + var _a, _b; + return new IFC4$1.IfcFootingType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 263784265: (v) => new IFC4$1.IfcFurnishingElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 1509553395: (v) => new IFC4$1.IfcFurniture(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3493046030: (v) => new IFC4$1.IfcGeographicElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3009204131: (v) => { + var _a, _b, _c; + return new IFC4$1.IfcGrid(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[8]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : ((_c = v[9]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[10]); + }, + 2706460486: (v) => new IFC4$1.IfcGroup(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value)), + 1251058090: (v) => { + var _a, _b; + return new IFC4$1.IfcHeatExchangerType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1806887404: (v) => { + var _a, _b; + return new IFC4$1.IfcHumidifierType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2571569899: (v) => { + var _a; + return new IFC4$1.IfcIndexedPolyCurve(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(4, p) : null)) || [], !v[2] ? null : new IFC4$1.IfcBoolean(!v[2] ? null : v[2].value)); + }, + 3946677679: (v) => { + var _a, _b; + return new IFC4$1.IfcInterceptorType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3113134337: (v) => { + var _a; + return new IFC4$1.IfcIntersectionCurve(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[2]); + }, + 2391368822: (v) => { + var _a; + return new IFC4$1.IfcInventory(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), v[5], !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new IFC4$1.IfcDate(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value)); + }, + 4288270099: (v) => { + var _a, _b; + return new IFC4$1.IfcJunctionBoxType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3827777499: (v) => { + var _a; + return new IFC4$1.IfcLaborResource(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), v[10]); + }, + 1051575348: (v) => { + var _a, _b; + return new IFC4$1.IfcLampType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1161773419: (v) => { + var _a, _b; + return new IFC4$1.IfcLightFixtureType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 377706215: (v) => new IFC4$1.IfcMechanicalFastener(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), v[10]), + 2108223431: (v) => { + var _a, _b; + return new IFC4$1.IfcMechanicalFastenerType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[11] ? null : v[11].value)); + }, + 1114901282: (v) => { + var _a, _b; + return new IFC4$1.IfcMedicalDeviceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3181161470: (v) => { + var _a, _b; + return new IFC4$1.IfcMemberType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 977012517: (v) => { + var _a, _b; + return new IFC4$1.IfcMotorConnectionType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4143007308: (v) => new IFC4$1.IfcOccupant(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), v[6]), + 3588315303: (v) => new IFC4$1.IfcOpeningElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3079942009: (v) => new IFC4$1.IfcOpeningStandardCase(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2837617999: (v) => { + var _a, _b; + return new IFC4$1.IfcOutletType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2382730787: (v) => new IFC4$1.IfcPerformanceHistory(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), new IFC4$1.IfcLabel(!v[6] ? null : v[6].value), v[7]), + 3566463478: (v) => new IFC4$1.IfcPermeableCoveringProperties(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), v[4], v[5], !v[6] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 3327091369: (v) => new IFC4$1.IfcPermit(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), v[6], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcText(!v[8] ? null : v[8].value)), + 1158309216: (v) => { + var _a, _b; + return new IFC4$1.IfcPileType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 804291784: (v) => { + var _a, _b; + return new IFC4$1.IfcPipeFittingType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4231323485: (v) => { + var _a, _b; + return new IFC4$1.IfcPipeSegmentType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4017108033: (v) => { + var _a, _b; + return new IFC4$1.IfcPlateType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2839578677: (v) => { + var _a, _b; + return new IFC4$1.IfcPolygonalFaceSet(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4$1.IfcBoolean(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[3] ? null : ((_b = v[3]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcPositiveInteger(p.value) : null)) || []); + }, + 3724593414: (v) => { + var _a; + return new IFC4$1.IfcPolyline(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3740093272: (v) => new IFC4$1.IfcPort(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 2744685151: (v) => new IFC4$1.IfcProcedure(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcText(!v[6] ? null : v[6].value), v[7]), + 2904328755: (v) => new IFC4$1.IfcProjectOrder(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), v[6], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcText(!v[8] ? null : v[8].value)), + 3651124850: (v) => new IFC4$1.IfcProjectionElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1842657554: (v) => { + var _a, _b; + return new IFC4$1.IfcProtectiveDeviceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2250791053: (v) => { + var _a, _b; + return new IFC4$1.IfcPumpType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2893384427: (v) => { + var _a, _b; + return new IFC4$1.IfcRailingType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2324767716: (v) => { + var _a, _b; + return new IFC4$1.IfcRampFlightType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1469900589: (v) => { + var _a, _b; + return new IFC4$1.IfcRampType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 683857671: (v) => { + var _a, _b, _c, _d, _e, _f; + return new IFC4$1.IfcRationalBSplineSurfaceWithKnots(new IFC4$1.IfcInteger(!v[0] ? null : v[0].value), new IFC4$1.IfcInteger(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[3], new IFC4$1.IfcLogical(!v[4] ? null : v[4].value), new IFC4$1.IfcLogical(!v[5] ? null : v[5].value), new IFC4$1.IfcLogical(!v[6] ? null : v[6].value), ((_b = v[7]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcInteger(p.value) : null)) || [], ((_c = v[8]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcInteger(p.value) : null)) || [], ((_d = v[9]) == null ? void 0 : _d.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcParameterValue(p.value) : null)) || [], ((_e = v[10]) == null ? void 0 : _e.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcParameterValue(p.value) : null)) || [], v[11], ((_f = v[12]) == null ? void 0 : _f.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcReal(p.value) : null)) || []); + }, + 3027567501: (v) => new IFC4$1.IfcReinforcingElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)), + 964333572: (v) => { + var _a, _b; + return new IFC4$1.IfcReinforcingElementType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2320036040: (v) => new IFC4$1.IfcReinforcingMesh(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4$1.IfcAreaMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4$1.IfcAreaMeasure(!v[14] ? null : v[14].value), !v[15] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[15] ? null : v[15].value), !v[16] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[16] ? null : v[16].value), v[17]), + 2310774935: (v) => { + var _a, _b, _c; + return new IFC4$1.IfcReinforcingMeshType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4$1.IfcAreaMeasure(!v[14] ? null : v[14].value), !v[15] ? null : new IFC4$1.IfcAreaMeasure(!v[15] ? null : v[15].value), !v[16] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[16] ? null : v[16].value), !v[17] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[17] ? null : v[17].value), !v[18] ? null : new IFC4$1.IfcLabel(!v[18] ? null : v[18].value), !v[19] ? null : ((_c = v[19]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(4, p) : null)) || []); + }, + 160246688: (v) => { + var _a; + return new IFC4$1.IfcRelAggregates(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2781568857: (v) => { + var _a, _b; + return new IFC4$1.IfcRoofType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1768891740: (v) => { + var _a, _b; + return new IFC4$1.IfcSanitaryTerminalType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2157484638: (v) => { + var _a; + return new IFC4$1.IfcSeamCurve(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[2]); + }, + 4074543187: (v) => { + var _a, _b; + return new IFC4$1.IfcShadingDeviceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4097777520: (v) => new IFC4$1.IfcSite(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4$1.IfcCompoundPlaneAngleMeasure(v[9].map((x) => x.value)), !v[10] ? null : new IFC4$1.IfcCompoundPlaneAngleMeasure(v[10].map((x) => x.value)), !v[11] ? null : new IFC4$1.IfcLengthMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcLabel(!v[12] ? null : v[12].value), !v[13] ? null : new Handle$5(!v[13] ? null : v[13].value)), + 2533589738: (v) => { + var _a, _b; + return new IFC4$1.IfcSlabType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1072016465: (v) => { + var _a, _b; + return new IFC4$1.IfcSolarDeviceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3856911033: (v) => new IFC4$1.IfcSpace(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9], !v[10] ? null : new IFC4$1.IfcLengthMeasure(!v[10] ? null : v[10].value)), + 1305183839: (v) => { + var _a, _b; + return new IFC4$1.IfcSpaceHeaterType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3812236995: (v) => { + var _a, _b; + return new IFC4$1.IfcSpaceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC4$1.IfcLabel(!v[10] ? null : v[10].value)); + }, + 3112655638: (v) => { + var _a, _b; + return new IFC4$1.IfcStackTerminalType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1039846685: (v) => { + var _a, _b; + return new IFC4$1.IfcStairFlightType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 338393293: (v) => { + var _a, _b; + return new IFC4$1.IfcStairType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 682877961: (v) => new IFC4$1.IfcStructuralAction(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4$1.IfcBoolean(!v[9] ? null : v[9].value)), + 1179482911: (v) => new IFC4$1.IfcStructuralConnection(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)), + 1004757350: (v) => new IFC4$1.IfcStructuralCurveAction(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4$1.IfcBoolean(!v[9] ? null : v[9].value), v[10], v[11]), + 4243806635: (v) => new IFC4$1.IfcStructuralCurveConnection(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), new Handle$5(!v[8] ? null : v[8].value)), + 214636428: (v) => new IFC4$1.IfcStructuralCurveMember(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], new Handle$5(!v[8] ? null : v[8].value)), + 2445595289: (v) => new IFC4$1.IfcStructuralCurveMemberVarying(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], new Handle$5(!v[8] ? null : v[8].value)), + 2757150158: (v) => new IFC4$1.IfcStructuralCurveReaction(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], v[9]), + 1807405624: (v) => new IFC4$1.IfcStructuralLinearAction(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4$1.IfcBoolean(!v[9] ? null : v[9].value), v[10], v[11]), + 1252848954: (v) => new IFC4$1.IfcStructuralLoadGroup(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), v[5], v[6], v[7], !v[8] ? null : new IFC4$1.IfcRatioMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcLabel(!v[9] ? null : v[9].value)), + 2082059205: (v) => new IFC4$1.IfcStructuralPointAction(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4$1.IfcBoolean(!v[9] ? null : v[9].value)), + 734778138: (v) => new IFC4$1.IfcStructuralPointConnection(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 1235345126: (v) => new IFC4$1.IfcStructuralPointReaction(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8]), + 2986769608: (v) => new IFC4$1.IfcStructuralResultGroup(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), v[5], !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new IFC4$1.IfcBoolean(!v[7] ? null : v[7].value)), + 3657597509: (v) => new IFC4$1.IfcStructuralSurfaceAction(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4$1.IfcBoolean(!v[9] ? null : v[9].value), v[10], v[11]), + 1975003073: (v) => new IFC4$1.IfcStructuralSurfaceConnection(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)), + 148013059: (v) => { + var _a; + return new IFC4$1.IfcSubContractResource(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), v[10]); + }, + 3101698114: (v) => new IFC4$1.IfcSurfaceFeature(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2315554128: (v) => { + var _a, _b; + return new IFC4$1.IfcSwitchingDeviceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2254336722: (v) => new IFC4$1.IfcSystem(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value)), + 413509423: (v) => new IFC4$1.IfcSystemFurnitureElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 5716631: (v) => { + var _a, _b; + return new IFC4$1.IfcTankType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3824725483: (v) => new IFC4$1.IfcTendon(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4$1.IfcAreaMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcForceMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4$1.IfcPressureMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4$1.IfcNormalisedRatioMeasure(!v[14] ? null : v[14].value), !v[15] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[15] ? null : v[15].value), !v[16] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[16] ? null : v[16].value)), + 2347447852: (v) => new IFC4$1.IfcTendonAnchor(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]), + 3081323446: (v) => { + var _a, _b; + return new IFC4$1.IfcTendonAnchorType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2415094496: (v) => { + var _a, _b; + return new IFC4$1.IfcTendonType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4$1.IfcAreaMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[12] ? null : v[12].value)); + }, + 1692211062: (v) => { + var _a, _b; + return new IFC4$1.IfcTransformerType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1620046519: (v) => new IFC4$1.IfcTransportElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3593883385: (v) => { + var _a, _b; + return new IFC4$1.IfcTrimmedCurve(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4$1.IfcBoolean(!v[3] ? null : v[3].value), v[4]); + }, + 1600972822: (v) => { + var _a, _b; + return new IFC4$1.IfcTubeBundleType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1911125066: (v) => { + var _a, _b; + return new IFC4$1.IfcUnitaryEquipmentType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 728799441: (v) => { + var _a, _b; + return new IFC4$1.IfcValveType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2391383451: (v) => new IFC4$1.IfcVibrationIsolator(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3313531582: (v) => { + var _a, _b; + return new IFC4$1.IfcVibrationIsolatorType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2769231204: (v) => new IFC4$1.IfcVirtualElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 926996030: (v) => new IFC4$1.IfcVoidingFeature(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1898987631: (v) => { + var _a, _b; + return new IFC4$1.IfcWallType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1133259667: (v) => { + var _a, _b; + return new IFC4$1.IfcWasteTerminalType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4009809668: (v) => { + var _a, _b; + return new IFC4$1.IfcWindowType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9], v[10], !v[11] ? null : new IFC4$1.IfcBoolean(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcLabel(!v[12] ? null : v[12].value)); + }, + 4088093105: (v) => { + var _a, _b; + return new IFC4$1.IfcWorkCalendar(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : ((_a = v[6]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : ((_b = v[7]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[8]); + }, + 1028945134: (v) => { + var _a; + return new IFC4$1.IfcWorkControl(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), new IFC4$1.IfcDateTime(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcDuration(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcDuration(!v[10] ? null : v[10].value), new IFC4$1.IfcDateTime(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcDateTime(!v[12] ? null : v[12].value)); + }, + 4218914973: (v) => { + var _a; + return new IFC4$1.IfcWorkPlan(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), new IFC4$1.IfcDateTime(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcDuration(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcDuration(!v[10] ? null : v[10].value), new IFC4$1.IfcDateTime(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcDateTime(!v[12] ? null : v[12].value), v[13]); + }, + 3342526732: (v) => { + var _a; + return new IFC4$1.IfcWorkSchedule(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), new IFC4$1.IfcDateTime(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcDuration(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcDuration(!v[10] ? null : v[10].value), new IFC4$1.IfcDateTime(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcDateTime(!v[12] ? null : v[12].value), v[13]); + }, + 1033361043: (v) => new IFC4$1.IfcZone(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value)), + 3821786052: (v) => new IFC4$1.IfcActionRequest(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), v[6], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcText(!v[8] ? null : v[8].value)), + 1411407467: (v) => { + var _a, _b; + return new IFC4$1.IfcAirTerminalBoxType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3352864051: (v) => { + var _a, _b; + return new IFC4$1.IfcAirTerminalType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1871374353: (v) => { + var _a, _b; + return new IFC4$1.IfcAirToAirHeatRecoveryType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3460190687: (v) => new IFC4$1.IfcAsset(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), !v[11] ? null : new Handle$5(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcDate(!v[12] ? null : v[12].value), !v[13] ? null : new Handle$5(!v[13] ? null : v[13].value)), + 1532957894: (v) => { + var _a, _b; + return new IFC4$1.IfcAudioVisualApplianceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1967976161: (v) => { + var _a; + return new IFC4$1.IfcBSplineCurve(new IFC4$1.IfcInteger(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[2], new IFC4$1.IfcLogical(!v[3] ? null : v[3].value), new IFC4$1.IfcLogical(!v[4] ? null : v[4].value)); + }, + 2461110595: (v) => { + var _a, _b, _c; + return new IFC4$1.IfcBSplineCurveWithKnots(new IFC4$1.IfcInteger(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[2], new IFC4$1.IfcLogical(!v[3] ? null : v[3].value), new IFC4$1.IfcLogical(!v[4] ? null : v[4].value), ((_b = v[5]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcInteger(p.value) : null)) || [], ((_c = v[6]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcParameterValue(p.value) : null)) || [], v[7]); + }, + 819618141: (v) => { + var _a, _b; + return new IFC4$1.IfcBeamType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 231477066: (v) => { + var _a, _b; + return new IFC4$1.IfcBoilerType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1136057603: (v) => { + var _a; + return new IFC4$1.IfcBoundaryCurve(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4$1.IfcLogical(!v[1] ? null : v[1].value)); + }, + 3299480353: (v) => new IFC4$1.IfcBuildingElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2979338954: (v) => new IFC4$1.IfcBuildingElementPart(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 39481116: (v) => { + var _a, _b; + return new IFC4$1.IfcBuildingElementPartType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1095909175: (v) => new IFC4$1.IfcBuildingElementProxy(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1909888760: (v) => { + var _a, _b; + return new IFC4$1.IfcBuildingElementProxyType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1177604601: (v) => new IFC4$1.IfcBuildingSystem(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), v[5], !v[6] ? null : new IFC4$1.IfcLabel(!v[6] ? null : v[6].value)), + 2188180465: (v) => { + var _a, _b; + return new IFC4$1.IfcBurnerType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 395041908: (v) => { + var _a, _b; + return new IFC4$1.IfcCableCarrierFittingType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3293546465: (v) => { + var _a, _b; + return new IFC4$1.IfcCableCarrierSegmentType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2674252688: (v) => { + var _a, _b; + return new IFC4$1.IfcCableFittingType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1285652485: (v) => { + var _a, _b; + return new IFC4$1.IfcCableSegmentType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2951183804: (v) => { + var _a, _b; + return new IFC4$1.IfcChillerType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3296154744: (v) => new IFC4$1.IfcChimney(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2611217952: (v) => new IFC4$1.IfcCircle(new Handle$5(!v[0] ? null : v[0].value), new IFC4$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value)), + 1677625105: (v) => new IFC4$1.IfcCivilElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2301859152: (v) => { + var _a, _b; + return new IFC4$1.IfcCoilType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 843113511: (v) => new IFC4$1.IfcColumn(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 905975707: (v) => new IFC4$1.IfcColumnStandardCase(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 400855858: (v) => { + var _a, _b; + return new IFC4$1.IfcCommunicationsApplianceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3850581409: (v) => { + var _a, _b; + return new IFC4$1.IfcCompressorType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2816379211: (v) => { + var _a, _b; + return new IFC4$1.IfcCondenserType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3898045240: (v) => { + var _a; + return new IFC4$1.IfcConstructionEquipmentResource(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), v[10]); + }, + 1060000209: (v) => { + var _a; + return new IFC4$1.IfcConstructionMaterialResource(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), v[10]); + }, + 488727124: (v) => { + var _a; + return new IFC4$1.IfcConstructionProductResource(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), v[10]); + }, + 335055490: (v) => { + var _a, _b; + return new IFC4$1.IfcCooledBeamType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2954562838: (v) => { + var _a, _b; + return new IFC4$1.IfcCoolingTowerType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1973544240: (v) => new IFC4$1.IfcCovering(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3495092785: (v) => new IFC4$1.IfcCurtainWall(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3961806047: (v) => { + var _a, _b; + return new IFC4$1.IfcDamperType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1335981549: (v) => new IFC4$1.IfcDiscreteAccessory(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2635815018: (v) => { + var _a, _b; + return new IFC4$1.IfcDiscreteAccessoryType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1599208980: (v) => { + var _a, _b; + return new IFC4$1.IfcDistributionChamberElementType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2063403501: (v) => { + var _a, _b; + return new IFC4$1.IfcDistributionControlElementType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1945004755: (v) => new IFC4$1.IfcDistributionElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3040386961: (v) => new IFC4$1.IfcDistributionFlowElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3041715199: (v) => new IFC4$1.IfcDistributionPort(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], v[8], v[9]), + 3205830791: (v) => new IFC4$1.IfcDistributionSystem(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value), v[6]), + 395920057: (v) => new IFC4$1.IfcDoor(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), v[10], v[11], !v[12] ? null : new IFC4$1.IfcLabel(!v[12] ? null : v[12].value)), + 3242481149: (v) => new IFC4$1.IfcDoorStandardCase(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), v[10], v[11], !v[12] ? null : new IFC4$1.IfcLabel(!v[12] ? null : v[12].value)), + 869906466: (v) => { + var _a, _b; + return new IFC4$1.IfcDuctFittingType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3760055223: (v) => { + var _a, _b; + return new IFC4$1.IfcDuctSegmentType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2030761528: (v) => { + var _a, _b; + return new IFC4$1.IfcDuctSilencerType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 663422040: (v) => { + var _a, _b; + return new IFC4$1.IfcElectricApplianceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2417008758: (v) => { + var _a, _b; + return new IFC4$1.IfcElectricDistributionBoardType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3277789161: (v) => { + var _a, _b; + return new IFC4$1.IfcElectricFlowStorageDeviceType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1534661035: (v) => { + var _a, _b; + return new IFC4$1.IfcElectricGeneratorType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1217240411: (v) => { + var _a, _b; + return new IFC4$1.IfcElectricMotorType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 712377611: (v) => { + var _a, _b; + return new IFC4$1.IfcElectricTimeControlType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1658829314: (v) => new IFC4$1.IfcEnergyConversionDevice(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2814081492: (v) => new IFC4$1.IfcEngine(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3747195512: (v) => new IFC4$1.IfcEvaporativeCooler(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 484807127: (v) => new IFC4$1.IfcEvaporator(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1209101575: (v) => new IFC4$1.IfcExternalSpatialElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), v[8]), + 346874300: (v) => { + var _a, _b; + return new IFC4$1.IfcFanType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1810631287: (v) => { + var _a, _b; + return new IFC4$1.IfcFilterType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4222183408: (v) => { + var _a, _b; + return new IFC4$1.IfcFireSuppressionTerminalType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2058353004: (v) => new IFC4$1.IfcFlowController(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 4278956645: (v) => new IFC4$1.IfcFlowFitting(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 4037862832: (v) => { + var _a, _b; + return new IFC4$1.IfcFlowInstrumentType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2188021234: (v) => new IFC4$1.IfcFlowMeter(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3132237377: (v) => new IFC4$1.IfcFlowMovingDevice(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 987401354: (v) => new IFC4$1.IfcFlowSegment(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 707683696: (v) => new IFC4$1.IfcFlowStorageDevice(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2223149337: (v) => new IFC4$1.IfcFlowTerminal(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3508470533: (v) => new IFC4$1.IfcFlowTreatmentDevice(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 900683007: (v) => new IFC4$1.IfcFooting(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3319311131: (v) => new IFC4$1.IfcHeatExchanger(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2068733104: (v) => new IFC4$1.IfcHumidifier(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4175244083: (v) => new IFC4$1.IfcInterceptor(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2176052936: (v) => new IFC4$1.IfcJunctionBox(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 76236018: (v) => new IFC4$1.IfcLamp(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 629592764: (v) => new IFC4$1.IfcLightFixture(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1437502449: (v) => new IFC4$1.IfcMedicalDevice(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1073191201: (v) => new IFC4$1.IfcMember(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1911478936: (v) => new IFC4$1.IfcMemberStandardCase(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2474470126: (v) => new IFC4$1.IfcMotorConnection(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 144952367: (v) => { + var _a; + return new IFC4$1.IfcOuterBoundaryCurve(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4$1.IfcLogical(!v[1] ? null : v[1].value)); + }, + 3694346114: (v) => new IFC4$1.IfcOutlet(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1687234759: (v) => new IFC4$1.IfcPile(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8], v[9]), + 310824031: (v) => new IFC4$1.IfcPipeFitting(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3612865200: (v) => new IFC4$1.IfcPipeSegment(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3171933400: (v) => new IFC4$1.IfcPlate(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1156407060: (v) => new IFC4$1.IfcPlateStandardCase(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 738039164: (v) => new IFC4$1.IfcProtectiveDevice(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 655969474: (v) => { + var _a, _b; + return new IFC4$1.IfcProtectiveDeviceTrippingUnitType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 90941305: (v) => new IFC4$1.IfcPump(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2262370178: (v) => new IFC4$1.IfcRailing(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3024970846: (v) => new IFC4$1.IfcRamp(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3283111854: (v) => new IFC4$1.IfcRampFlight(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1232101972: (v) => { + var _a, _b, _c, _d; + return new IFC4$1.IfcRationalBSplineCurveWithKnots(new IFC4$1.IfcInteger(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[2], new IFC4$1.IfcLogical(!v[3] ? null : v[3].value), new IFC4$1.IfcLogical(!v[4] ? null : v[4].value), ((_b = v[5]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcInteger(p.value) : null)) || [], ((_c = v[6]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcParameterValue(p.value) : null)) || [], v[7], ((_d = v[8]) == null ? void 0 : _d.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcReal(p.value) : null)) || []); + }, + 979691226: (v) => new IFC4$1.IfcReinforcingBar(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcAreaMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[11] ? null : v[11].value), v[12], v[13]), + 2572171363: (v) => { + var _a, _b, _c; + return new IFC4$1.IfcReinforcingBarType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4$1.IfcAreaMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[12] ? null : v[12].value), v[13], !v[14] ? null : new IFC4$1.IfcLabel(!v[14] ? null : v[14].value), !v[15] ? null : ((_c = v[15]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(4, p) : null)) || []); + }, + 2016517767: (v) => new IFC4$1.IfcRoof(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3053780830: (v) => new IFC4$1.IfcSanitaryTerminal(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1783015770: (v) => { + var _a, _b; + return new IFC4$1.IfcSensorType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1329646415: (v) => new IFC4$1.IfcShadingDevice(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1529196076: (v) => new IFC4$1.IfcSlab(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3127900445: (v) => new IFC4$1.IfcSlabElementedCase(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3027962421: (v) => new IFC4$1.IfcSlabStandardCase(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3420628829: (v) => new IFC4$1.IfcSolarDevice(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1999602285: (v) => new IFC4$1.IfcSpaceHeater(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1404847402: (v) => new IFC4$1.IfcStackTerminal(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 331165859: (v) => new IFC4$1.IfcStair(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4252922144: (v) => new IFC4$1.IfcStairFlight(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcInteger(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcInteger(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[11] ? null : v[11].value), v[12]), + 2515109513: (v) => { + var _a, _b; + return new IFC4$1.IfcStructuralAnalysisModel(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), v[5], !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : ((_b = v[8]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value)); + }, + 385403989: (v) => { + var _a; + return new IFC4$1.IfcStructuralLoadCase(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), v[5], v[6], v[7], !v[8] ? null : new IFC4$1.IfcRatioMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcLabel(!v[9] ? null : v[9].value), !v[10] ? null : ((_a = v[10]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4$1.IfcRatioMeasure(p.value) : null)) || []); + }, + 1621171031: (v) => new IFC4$1.IfcStructuralPlanarAction(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4$1.IfcBoolean(!v[9] ? null : v[9].value), v[10], v[11]), + 1162798199: (v) => new IFC4$1.IfcSwitchingDevice(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 812556717: (v) => new IFC4$1.IfcTank(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3825984169: (v) => new IFC4$1.IfcTransformer(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3026737570: (v) => new IFC4$1.IfcTubeBundle(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3179687236: (v) => { + var _a, _b; + return new IFC4$1.IfcUnitaryControlElementType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4292641817: (v) => new IFC4$1.IfcUnitaryEquipment(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4207607924: (v) => new IFC4$1.IfcValve(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2391406946: (v) => new IFC4$1.IfcWall(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4156078855: (v) => new IFC4$1.IfcWallElementedCase(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3512223829: (v) => new IFC4$1.IfcWallStandardCase(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4237592921: (v) => new IFC4$1.IfcWasteTerminal(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3304561284: (v) => new IFC4$1.IfcWindow(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), v[10], v[11], !v[12] ? null : new IFC4$1.IfcLabel(!v[12] ? null : v[12].value)), + 486154966: (v) => new IFC4$1.IfcWindowStandardCase(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), v[10], v[11], !v[12] ? null : new IFC4$1.IfcLabel(!v[12] ? null : v[12].value)), + 2874132201: (v) => { + var _a, _b; + return new IFC4$1.IfcActuatorType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1634111441: (v) => new IFC4$1.IfcAirTerminal(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 177149247: (v) => new IFC4$1.IfcAirTerminalBox(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2056796094: (v) => new IFC4$1.IfcAirToAirHeatRecovery(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3001207471: (v) => { + var _a, _b; + return new IFC4$1.IfcAlarmType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 277319702: (v) => new IFC4$1.IfcAudioVisualAppliance(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 753842376: (v) => new IFC4$1.IfcBeam(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2906023776: (v) => new IFC4$1.IfcBeamStandardCase(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 32344328: (v) => new IFC4$1.IfcBoiler(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2938176219: (v) => new IFC4$1.IfcBurner(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 635142910: (v) => new IFC4$1.IfcCableCarrierFitting(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3758799889: (v) => new IFC4$1.IfcCableCarrierSegment(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1051757585: (v) => new IFC4$1.IfcCableFitting(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4217484030: (v) => new IFC4$1.IfcCableSegment(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3902619387: (v) => new IFC4$1.IfcChiller(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 639361253: (v) => new IFC4$1.IfcCoil(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3221913625: (v) => new IFC4$1.IfcCommunicationsAppliance(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3571504051: (v) => new IFC4$1.IfcCompressor(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2272882330: (v) => new IFC4$1.IfcCondenser(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 578613899: (v) => { + var _a, _b; + return new IFC4$1.IfcControllerType(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4136498852: (v) => new IFC4$1.IfcCooledBeam(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3640358203: (v) => new IFC4$1.IfcCoolingTower(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4074379575: (v) => new IFC4$1.IfcDamper(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1052013943: (v) => new IFC4$1.IfcDistributionChamberElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 562808652: (v) => new IFC4$1.IfcDistributionCircuit(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4$1.IfcLabel(!v[5] ? null : v[5].value), v[6]), + 1062813311: (v) => new IFC4$1.IfcDistributionControlElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 342316401: (v) => new IFC4$1.IfcDuctFitting(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3518393246: (v) => new IFC4$1.IfcDuctSegment(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1360408905: (v) => new IFC4$1.IfcDuctSilencer(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1904799276: (v) => new IFC4$1.IfcElectricAppliance(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 862014818: (v) => new IFC4$1.IfcElectricDistributionBoard(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3310460725: (v) => new IFC4$1.IfcElectricFlowStorageDevice(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 264262732: (v) => new IFC4$1.IfcElectricGenerator(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 402227799: (v) => new IFC4$1.IfcElectricMotor(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1003880860: (v) => new IFC4$1.IfcElectricTimeControl(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3415622556: (v) => new IFC4$1.IfcFan(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 819412036: (v) => new IFC4$1.IfcFilter(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1426591983: (v) => new IFC4$1.IfcFireSuppressionTerminal(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 182646315: (v) => new IFC4$1.IfcFlowInstrument(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2295281155: (v) => new IFC4$1.IfcProtectiveDeviceTrippingUnit(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4086658281: (v) => new IFC4$1.IfcSensor(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 630975310: (v) => new IFC4$1.IfcUnitaryControlElement(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4288193352: (v) => new IFC4$1.IfcActuator(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3087945054: (v) => new IFC4$1.IfcAlarm(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 25142252: (v) => new IFC4$1.IfcController(new IFC4$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]) +}; +InheritanceDef[4] = { + 618182010: [IFCTELECOMADDRESS, IFCPOSTALADDRESS], + 411424972: [IFCCOSTVALUE], + 4037036970: [IFCBOUNDARYNODECONDITIONWARPING, IFCBOUNDARYNODECONDITION, IFCBOUNDARYFACECONDITION, IFCBOUNDARYEDGECONDITION], + 1387855156: [IFCBOUNDARYNODECONDITIONWARPING], + 2859738748: [IFCCONNECTIONCURVEGEOMETRY, IFCCONNECTIONVOLUMEGEOMETRY, IFCCONNECTIONSURFACEGEOMETRY, IFCCONNECTIONPOINTECCENTRICITY, IFCCONNECTIONPOINTGEOMETRY], + 2614616156: [IFCCONNECTIONPOINTECCENTRICITY], + 1959218052: [IFCOBJECTIVE, IFCMETRIC], + 1785450214: [IFCMAPCONVERSION], + 1466758467: [IFCPROJECTEDCRS], + 4294318154: [IFCDOCUMENTINFORMATION, IFCCLASSIFICATION, IFCLIBRARYINFORMATION], + 3200245327: [IFCDOCUMENTREFERENCE, IFCCLASSIFICATIONREFERENCE, IFCLIBRARYREFERENCE, IFCEXTERNALLYDEFINEDTEXTFONT, IFCEXTERNALLYDEFINEDSURFACESTYLE, IFCEXTERNALLYDEFINEDHATCHSTYLE], + 760658860: [IFCMATERIALCONSTITUENTSET, IFCMATERIALCONSTITUENT, IFCMATERIAL, IFCMATERIALPROFILESET, IFCMATERIALPROFILEWITHOFFSETS, IFCMATERIALPROFILE, IFCMATERIALLAYERSET, IFCMATERIALLAYERWITHOFFSETS, IFCMATERIALLAYER], + 248100487: [IFCMATERIALLAYERWITHOFFSETS], + 2235152071: [IFCMATERIALPROFILEWITHOFFSETS], + 1507914824: [IFCMATERIALPROFILESETUSAGETAPERING, IFCMATERIALPROFILESETUSAGE, IFCMATERIALLAYERSETUSAGE], + 1918398963: [IFCCONVERSIONBASEDUNITWITHOFFSET, IFCCONVERSIONBASEDUNIT, IFCCONTEXTDEPENDENTUNIT, IFCSIUNIT], + 3701648758: [IFCLOCALPLACEMENT, IFCGRIDPLACEMENT], + 2483315170: [IFCPHYSICALCOMPLEXQUANTITY, IFCQUANTITYWEIGHT, IFCQUANTITYVOLUME, IFCQUANTITYTIME, IFCQUANTITYLENGTH, IFCQUANTITYCOUNT, IFCQUANTITYAREA, IFCPHYSICALSIMPLEQUANTITY], + 2226359599: [IFCQUANTITYWEIGHT, IFCQUANTITYVOLUME, IFCQUANTITYTIME, IFCQUANTITYLENGTH, IFCQUANTITYCOUNT, IFCQUANTITYAREA], + 677532197: [IFCDRAUGHTINGPREDEFINEDCURVEFONT, IFCPREDEFINEDCURVEFONT, IFCDRAUGHTINGPREDEFINEDCOLOUR, IFCPREDEFINEDCOLOUR, IFCTEXTSTYLEFONTMODEL, IFCPREDEFINEDTEXTFONT, IFCPREDEFINEDITEM, IFCINDEXEDCOLOURMAP, IFCCURVESTYLEFONTPATTERN, IFCCURVESTYLEFONTANDSCALING, IFCCURVESTYLEFONT, IFCCOLOURRGB, IFCCOLOURSPECIFICATION, IFCCOLOURRGBLIST, IFCTEXTUREVERTEXLIST, IFCTEXTUREVERTEX, IFCINDEXEDTRIANGLETEXTUREMAP, IFCINDEXEDTEXTUREMAP, IFCTEXTUREMAP, IFCTEXTURECOORDINATEGENERATOR, IFCTEXTURECOORDINATE, IFCTEXTSTYLETEXTMODEL, IFCTEXTSTYLEFORDEFINEDFONT, IFCPIXELTEXTURE, IFCIMAGETEXTURE, IFCBLOBTEXTURE, IFCSURFACETEXTURE, IFCSURFACESTYLEWITHTEXTURES, IFCSURFACESTYLERENDERING, IFCSURFACESTYLESHADING, IFCSURFACESTYLEREFRACTION, IFCSURFACESTYLELIGHTING], + 2022622350: [IFCPRESENTATIONLAYERWITHSTYLE], + 3119450353: [IFCFILLAREASTYLE, IFCCURVESTYLE, IFCTEXTSTYLE, IFCSURFACESTYLE], + 2095639259: [IFCPRODUCTDEFINITIONSHAPE, IFCMATERIALDEFINITIONREPRESENTATION], + 3958567839: [IFCLSHAPEPROFILEDEF, IFCISHAPEPROFILEDEF, IFCELLIPSEPROFILEDEF, IFCCIRCLEHOLLOWPROFILEDEF, IFCCIRCLEPROFILEDEF, IFCCSHAPEPROFILEDEF, IFCASYMMETRICISHAPEPROFILEDEF, IFCZSHAPEPROFILEDEF, IFCUSHAPEPROFILEDEF, IFCTRAPEZIUMPROFILEDEF, IFCTSHAPEPROFILEDEF, IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF, IFCRECTANGLEPROFILEDEF, IFCPARAMETERIZEDPROFILEDEF, IFCMIRROREDPROFILEDEF, IFCDERIVEDPROFILEDEF, IFCCOMPOSITEPROFILEDEF, IFCCENTERLINEPROFILEDEF, IFCARBITRARYOPENPROFILEDEF, IFCARBITRARYPROFILEDEFWITHVOIDS, IFCARBITRARYCLOSEDPROFILEDEF], + 986844984: [IFCCOMPLEXPROPERTY, IFCPROPERTYTABLEVALUE, IFCPROPERTYSINGLEVALUE, IFCPROPERTYREFERENCEVALUE, IFCPROPERTYLISTVALUE, IFCPROPERTYENUMERATEDVALUE, IFCPROPERTYBOUNDEDVALUE, IFCSIMPLEPROPERTY, IFCPROPERTY, IFCSECTIONREINFORCEMENTPROPERTIES, IFCSECTIONPROPERTIES, IFCREINFORCEMENTBARPROPERTIES, IFCPREDEFINEDPROPERTIES, IFCPROFILEPROPERTIES, IFCMATERIALPROPERTIES, IFCEXTENDEDPROPERTIES, IFCPROPERTYENUMERATION], + 1076942058: [IFCSTYLEDREPRESENTATION, IFCSTYLEMODEL, IFCTOPOLOGYREPRESENTATION, IFCSHAPEREPRESENTATION, IFCSHAPEMODEL], + 3377609919: [IFCGEOMETRICREPRESENTATIONSUBCONTEXT, IFCGEOMETRICREPRESENTATIONCONTEXT], + 3008791417: [IFCMAPPEDITEM, IFCFILLAREASTYLETILES, IFCFILLAREASTYLEHATCHING, IFCFACEBASEDSURFACEMODEL, IFCDIRECTION, IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFCINDEXEDPOLYCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCSEAMCURVE, IFCINTERSECTIONCURVE, IFCSURFACECURVE, IFCPCURVE, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCLINE, IFCCURVE, IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID, IFCCSGPRIMITIVE3D, IFCREPARAMETRISEDCOMPOSITECURVESEGMENT, IFCCOMPOSITECURVESEGMENT, IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D, IFCCARTESIANTRANSFORMATIONOPERATOR, IFCCARTESIANPOINTLIST3D, IFCCARTESIANPOINTLIST2D, IFCCARTESIANPOINTLIST, IFCBOUNDINGBOX, IFCBOOLEANCLIPPINGRESULT, IFCBOOLEANRESULT, IFCANNOTATIONFILLAREA, IFCVECTOR, IFCTEXTLITERALWITHEXTENT, IFCTEXTLITERAL, IFCPOLYGONALFACESET, IFCTRIANGULATEDFACESET, IFCTESSELLATEDFACESET, IFCINDEXEDPOLYGONALFACEWITHVOIDS, IFCINDEXEDPOLYGONALFACE, IFCTESSELLATEDITEM, IFCCYLINDRICALSURFACE, IFCTOROIDALSURFACE, IFCSPHERICALSURFACE, IFCPLANE, IFCELEMENTARYSURFACE, IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE, IFCSURFACE, IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCADVANCEDBREPWITHVOIDS, IFCADVANCEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLIDPOLYGONAL, IFCSWEPTDISKSOLID, IFCSURFACECURVESWEPTAREASOLID, IFCREVOLVEDAREASOLIDTAPERED, IFCREVOLVEDAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID, IFCEXTRUDEDAREASOLIDTAPERED, IFCEXTRUDEDAREASOLID, IFCSWEPTAREASOLID, IFCSOLIDMODEL, IFCSHELLBASEDSURFACEMODEL, IFCSECTIONEDSPINE, IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE, IFCPOINT, IFCPLANARBOX, IFCPLANAREXTENT, IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT, IFCPLACEMENT, IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT, IFCLIGHTSOURCE, IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE, IFCHALFSPACESOLID, IFCGEOMETRICCURVESET, IFCGEOMETRICSET, IFCGEOMETRICREPRESENTATIONITEM, IFCPATH, IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP, IFCLOOP, IFCFACEOUTERBOUND, IFCFACEBOUND, IFCADVANCEDFACE, IFCFACESURFACE, IFCFACE, IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE, IFCEDGE, IFCCLOSEDSHELL, IFCOPENSHELL, IFCCONNECTEDFACESET, IFCVERTEXPOINT, IFCVERTEX, IFCTOPOLOGICALREPRESENTATIONITEM, IFCSTYLEDITEM], + 2439245199: [IFCRESOURCECONSTRAINTRELATIONSHIP, IFCRESOURCEAPPROVALRELATIONSHIP, IFCPROPERTYDEPENDENCYRELATIONSHIP, IFCORGANIZATIONRELATIONSHIP, IFCMATERIALRELATIONSHIP, IFCEXTERNALREFERENCERELATIONSHIP, IFCDOCUMENTINFORMATIONRELATIONSHIP, IFCCURRENCYRELATIONSHIP, IFCAPPROVALRELATIONSHIP], + 2341007311: [IFCRELDEFINESBYTYPE, IFCRELDEFINESBYTEMPLATE, IFCRELDEFINESBYPROPERTIES, IFCRELDEFINESBYOBJECT, IFCRELDEFINES, IFCRELAGGREGATES, IFCRELVOIDSELEMENT, IFCRELPROJECTSELEMENT, IFCRELNESTS, IFCRELDECOMPOSES, IFCRELDECLARES, IFCRELSPACEBOUNDARY2NDLEVEL, IFCRELSPACEBOUNDARY1STLEVEL, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELINTERFERESELEMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS, IFCRELCONNECTS, IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL, IFCRELASSOCIATES, IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUPBYFACTOR, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTOCONTROL, IFCRELASSIGNSTOACTOR, IFCRELASSIGNS, IFCRELATIONSHIP, IFCCOMPLEXPROPERTYTEMPLATE, IFCSIMPLEPROPERTYTEMPLATE, IFCPROPERTYTEMPLATE, IFCPROPERTYSETTEMPLATE, IFCPROPERTYTEMPLATEDEFINITION, IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCREINFORCEMENTDEFINITIONPROPERTIES, IFCPREDEFINEDPROPERTYSET, IFCELEMENTQUANTITY, IFCQUANTITYSET, IFCPROPERTYSETDEFINITION, IFCPROPERTYDEFINITION, IFCASSET, IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILDINGSYSTEM, IFCZONE, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADCASE, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCWORKCALENDAR, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCDISTRIBUTIONPORT, IFCPORT, IFCGRID, IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSANITARYTERMINAL, IFCOUTLET, IFCMEDICALDEVICE, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBEAMSTANDARDCASE, IFCBEAM, IFCWINDOWSTANDARDCASE, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALLELEMENTEDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLABSTANDARDCASE, IFCSLABELEMENTEDCASE, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATESTANDARDCASE, IFCPLATE, IFCPILE, IFCMEMBERSTANDARDCASE, IFCMEMBER, IFCFOOTING, IFCDOORSTANDARDCASE, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMNSTANDARDCASE, IFCCOLUMN, IFCCHIMNEY, IFCBUILDINGELEMENTPROXY, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCVOIDINGFEATURE, IFCOPENINGSTANDARDCASE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT, IFCSPATIALELEMENT, IFCPROXY, IFCPRODUCT, IFCPROCEDURE, IFCEVENT, IFCTASK, IFCPROCESS, IFCOBJECT, IFCPROJECTLIBRARY, IFCPROJECT, IFCCONTEXT, IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE, IFCCONSTRUCTIONRESOURCETYPE, IFCTYPERESOURCE, IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSPATIALELEMENTTYPE, IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMEDICALDEVICETYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCPILETYPE, IFCMEMBERTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCDOORSTYLE, IFCWINDOWSTYLE, IFCTYPEPRODUCT, IFCTASKTYPE, IFCPROCEDURETYPE, IFCEVENTTYPE, IFCTYPEPROCESS, IFCTYPEOBJECT, IFCOBJECTDEFINITION], + 1054537805: [IFCRESOURCETIME, IFCLAGTIME, IFCEVENTTIME, IFCWORKTIME, IFCTASKTIMERECURRING, IFCTASKTIME], + 3982875396: [IFCTOPOLOGYREPRESENTATION, IFCSHAPEREPRESENTATION], + 2273995522: [IFCSLIPPAGECONNECTIONCONDITION, IFCFAILURECONNECTIONCONDITION], + 2162789131: [IFCSURFACEREINFORCEMENTAREA, IFCSTRUCTURALLOADSINGLEFORCEWARPING, IFCSTRUCTURALLOADSINGLEFORCE, IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, IFCSTRUCTURALLOADSINGLEDISPLACEMENT, IFCSTRUCTURALLOADPLANARFORCE, IFCSTRUCTURALLOADLINEARFORCE, IFCSTRUCTURALLOADTEMPERATURE, IFCSTRUCTURALLOADSTATIC, IFCSTRUCTURALLOADORRESULT, IFCSTRUCTURALLOADCONFIGURATION], + 609421318: [IFCSURFACEREINFORCEMENTAREA, IFCSTRUCTURALLOADSINGLEFORCEWARPING, IFCSTRUCTURALLOADSINGLEFORCE, IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, IFCSTRUCTURALLOADSINGLEDISPLACEMENT, IFCSTRUCTURALLOADPLANARFORCE, IFCSTRUCTURALLOADLINEARFORCE, IFCSTRUCTURALLOADTEMPERATURE, IFCSTRUCTURALLOADSTATIC], + 2525727697: [IFCSTRUCTURALLOADSINGLEFORCEWARPING, IFCSTRUCTURALLOADSINGLEFORCE, IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, IFCSTRUCTURALLOADSINGLEDISPLACEMENT, IFCSTRUCTURALLOADPLANARFORCE, IFCSTRUCTURALLOADLINEARFORCE, IFCSTRUCTURALLOADTEMPERATURE], + 2830218821: [IFCSTYLEDREPRESENTATION], + 846575682: [IFCSURFACESTYLERENDERING], + 626085974: [IFCPIXELTEXTURE, IFCIMAGETEXTURE, IFCBLOBTEXTURE], + 1549132990: [IFCTASKTIMERECURRING], + 280115917: [IFCINDEXEDTRIANGLETEXTUREMAP, IFCINDEXEDTEXTUREMAP, IFCTEXTUREMAP, IFCTEXTURECOORDINATEGENERATOR], + 3101149627: [IFCREGULARTIMESERIES, IFCIRREGULARTIMESERIES], + 1377556343: [IFCPATH, IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP, IFCLOOP, IFCFACEOUTERBOUND, IFCFACEBOUND, IFCADVANCEDFACE, IFCFACESURFACE, IFCFACE, IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE, IFCEDGE, IFCCLOSEDSHELL, IFCOPENSHELL, IFCCONNECTEDFACESET, IFCVERTEXPOINT, IFCVERTEX], + 2799835756: [IFCVERTEXPOINT], + 3798115385: [IFCARBITRARYPROFILEDEFWITHVOIDS], + 1310608509: [IFCCENTERLINEPROFILEDEF], + 3264961684: [IFCCOLOURRGB], + 370225590: [IFCCLOSEDSHELL, IFCOPENSHELL], + 2889183280: [IFCCONVERSIONBASEDUNITWITHOFFSET], + 3632507154: [IFCMIRROREDPROFILEDEF], + 3900360178: [IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE], + 297599258: [IFCPROFILEPROPERTIES, IFCMATERIALPROPERTIES], + 2556980723: [IFCADVANCEDFACE, IFCFACESURFACE], + 1809719519: [IFCFACEOUTERBOUND], + 3008276851: [IFCADVANCEDFACE], + 3448662350: [IFCGEOMETRICREPRESENTATIONSUBCONTEXT], + 2453401579: [IFCFILLAREASTYLETILES, IFCFILLAREASTYLEHATCHING, IFCFACEBASEDSURFACEMODEL, IFCDIRECTION, IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFCINDEXEDPOLYCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCSEAMCURVE, IFCINTERSECTIONCURVE, IFCSURFACECURVE, IFCPCURVE, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCLINE, IFCCURVE, IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID, IFCCSGPRIMITIVE3D, IFCREPARAMETRISEDCOMPOSITECURVESEGMENT, IFCCOMPOSITECURVESEGMENT, IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D, IFCCARTESIANTRANSFORMATIONOPERATOR, IFCCARTESIANPOINTLIST3D, IFCCARTESIANPOINTLIST2D, IFCCARTESIANPOINTLIST, IFCBOUNDINGBOX, IFCBOOLEANCLIPPINGRESULT, IFCBOOLEANRESULT, IFCANNOTATIONFILLAREA, IFCVECTOR, IFCTEXTLITERALWITHEXTENT, IFCTEXTLITERAL, IFCPOLYGONALFACESET, IFCTRIANGULATEDFACESET, IFCTESSELLATEDFACESET, IFCINDEXEDPOLYGONALFACEWITHVOIDS, IFCINDEXEDPOLYGONALFACE, IFCTESSELLATEDITEM, IFCCYLINDRICALSURFACE, IFCTOROIDALSURFACE, IFCSPHERICALSURFACE, IFCPLANE, IFCELEMENTARYSURFACE, IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE, IFCSURFACE, IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCADVANCEDBREPWITHVOIDS, IFCADVANCEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLIDPOLYGONAL, IFCSWEPTDISKSOLID, IFCSURFACECURVESWEPTAREASOLID, IFCREVOLVEDAREASOLIDTAPERED, IFCREVOLVEDAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID, IFCEXTRUDEDAREASOLIDTAPERED, IFCEXTRUDEDAREASOLID, IFCSWEPTAREASOLID, IFCSOLIDMODEL, IFCSHELLBASEDSURFACEMODEL, IFCSECTIONEDSPINE, IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE, IFCPOINT, IFCPLANARBOX, IFCPLANAREXTENT, IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT, IFCPLACEMENT, IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT, IFCLIGHTSOURCE, IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE, IFCHALFSPACESOLID, IFCGEOMETRICCURVESET, IFCGEOMETRICSET], + 3590301190: [IFCGEOMETRICCURVESET], + 812098782: [IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE], + 1437953363: [IFCINDEXEDTRIANGLETEXTUREMAP], + 1402838566: [IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT], + 1520743889: [IFCLIGHTSOURCESPOT], + 1008929658: [IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP], + 3079605661: [IFCMATERIALPROFILESETUSAGETAPERING], + 219451334: [IFCASSET, IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILDINGSYSTEM, IFCZONE, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADCASE, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCWORKCALENDAR, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCDISTRIBUTIONPORT, IFCPORT, IFCGRID, IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSANITARYTERMINAL, IFCOUTLET, IFCMEDICALDEVICE, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBEAMSTANDARDCASE, IFCBEAM, IFCWINDOWSTANDARDCASE, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALLELEMENTEDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLABSTANDARDCASE, IFCSLABELEMENTEDCASE, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATESTANDARDCASE, IFCPLATE, IFCPILE, IFCMEMBERSTANDARDCASE, IFCMEMBER, IFCFOOTING, IFCDOORSTANDARDCASE, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMNSTANDARDCASE, IFCCOLUMN, IFCCHIMNEY, IFCBUILDINGELEMENTPROXY, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCVOIDINGFEATURE, IFCOPENINGSTANDARDCASE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT, IFCSPATIALELEMENT, IFCPROXY, IFCPRODUCT, IFCPROCEDURE, IFCEVENT, IFCTASK, IFCPROCESS, IFCOBJECT, IFCPROJECTLIBRARY, IFCPROJECT, IFCCONTEXT, IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE, IFCCONSTRUCTIONRESOURCETYPE, IFCTYPERESOURCE, IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSPATIALELEMENTTYPE, IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMEDICALDEVICETYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCPILETYPE, IFCMEMBERTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCDOORSTYLE, IFCWINDOWSTYLE, IFCTYPEPRODUCT, IFCTASKTYPE, IFCPROCEDURETYPE, IFCEVENTTYPE, IFCTYPEPROCESS, IFCTYPEOBJECT], + 2529465313: [IFCLSHAPEPROFILEDEF, IFCISHAPEPROFILEDEF, IFCELLIPSEPROFILEDEF, IFCCIRCLEHOLLOWPROFILEDEF, IFCCIRCLEPROFILEDEF, IFCCSHAPEPROFILEDEF, IFCASYMMETRICISHAPEPROFILEDEF, IFCZSHAPEPROFILEDEF, IFCUSHAPEPROFILEDEF, IFCTRAPEZIUMPROFILEDEF, IFCTSHAPEPROFILEDEF, IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF, IFCRECTANGLEPROFILEDEF], + 2004835150: [IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT], + 1663979128: [IFCPLANARBOX], + 2067069095: [IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE], + 3727388367: [IFCDRAUGHTINGPREDEFINEDCURVEFONT, IFCPREDEFINEDCURVEFONT, IFCDRAUGHTINGPREDEFINEDCOLOUR, IFCPREDEFINEDCOLOUR, IFCTEXTSTYLEFONTMODEL, IFCPREDEFINEDTEXTFONT], + 3778827333: [IFCSECTIONREINFORCEMENTPROPERTIES, IFCSECTIONPROPERTIES, IFCREINFORCEMENTBARPROPERTIES], + 1775413392: [IFCTEXTSTYLEFONTMODEL], + 2598011224: [IFCCOMPLEXPROPERTY, IFCPROPERTYTABLEVALUE, IFCPROPERTYSINGLEVALUE, IFCPROPERTYREFERENCEVALUE, IFCPROPERTYLISTVALUE, IFCPROPERTYENUMERATEDVALUE, IFCPROPERTYBOUNDEDVALUE, IFCSIMPLEPROPERTY], + 1680319473: [IFCCOMPLEXPROPERTYTEMPLATE, IFCSIMPLEPROPERTYTEMPLATE, IFCPROPERTYTEMPLATE, IFCPROPERTYSETTEMPLATE, IFCPROPERTYTEMPLATEDEFINITION, IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCREINFORCEMENTDEFINITIONPROPERTIES, IFCPREDEFINEDPROPERTYSET, IFCELEMENTQUANTITY, IFCQUANTITYSET, IFCPROPERTYSETDEFINITION], + 3357820518: [IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCREINFORCEMENTDEFINITIONPROPERTIES, IFCPREDEFINEDPROPERTYSET, IFCELEMENTQUANTITY, IFCQUANTITYSET], + 1482703590: [IFCCOMPLEXPROPERTYTEMPLATE, IFCSIMPLEPROPERTYTEMPLATE, IFCPROPERTYTEMPLATE, IFCPROPERTYSETTEMPLATE], + 2090586900: [IFCELEMENTQUANTITY], + 3615266464: [IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF], + 478536968: [IFCRELDEFINESBYTYPE, IFCRELDEFINESBYTEMPLATE, IFCRELDEFINESBYPROPERTIES, IFCRELDEFINESBYOBJECT, IFCRELDEFINES, IFCRELAGGREGATES, IFCRELVOIDSELEMENT, IFCRELPROJECTSELEMENT, IFCRELNESTS, IFCRELDECOMPOSES, IFCRELDECLARES, IFCRELSPACEBOUNDARY2NDLEVEL, IFCRELSPACEBOUNDARY1STLEVEL, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELINTERFERESELEMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS, IFCRELCONNECTS, IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL, IFCRELASSOCIATES, IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUPBYFACTOR, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTOCONTROL, IFCRELASSIGNSTOACTOR, IFCRELASSIGNS], + 3692461612: [IFCPROPERTYTABLEVALUE, IFCPROPERTYSINGLEVALUE, IFCPROPERTYREFERENCEVALUE, IFCPROPERTYLISTVALUE, IFCPROPERTYENUMERATEDVALUE, IFCPROPERTYBOUNDEDVALUE], + 723233188: [IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCADVANCEDBREPWITHVOIDS, IFCADVANCEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLIDPOLYGONAL, IFCSWEPTDISKSOLID, IFCSURFACECURVESWEPTAREASOLID, IFCREVOLVEDAREASOLIDTAPERED, IFCREVOLVEDAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID, IFCEXTRUDEDAREASOLIDTAPERED, IFCEXTRUDEDAREASOLID, IFCSWEPTAREASOLID], + 2473145415: [IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION], + 1597423693: [IFCSTRUCTURALLOADSINGLEFORCEWARPING], + 2513912981: [IFCCYLINDRICALSURFACE, IFCTOROIDALSURFACE, IFCSPHERICALSURFACE, IFCPLANE, IFCELEMENTARYSURFACE, IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE], + 2247615214: [IFCSURFACECURVESWEPTAREASOLID, IFCREVOLVEDAREASOLIDTAPERED, IFCREVOLVEDAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID, IFCEXTRUDEDAREASOLIDTAPERED, IFCEXTRUDEDAREASOLID], + 1260650574: [IFCSWEPTDISKSOLIDPOLYGONAL], + 230924584: [IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION], + 901063453: [IFCPOLYGONALFACESET, IFCTRIANGULATEDFACESET, IFCTESSELLATEDFACESET, IFCINDEXEDPOLYGONALFACEWITHVOIDS, IFCINDEXEDPOLYGONALFACE], + 4282788508: [IFCTEXTLITERALWITHEXTENT], + 1628702193: [IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE, IFCCONSTRUCTIONRESOURCETYPE, IFCTYPERESOURCE, IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSPATIALELEMENTTYPE, IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMEDICALDEVICETYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCPILETYPE, IFCMEMBERTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCDOORSTYLE, IFCWINDOWSTYLE, IFCTYPEPRODUCT, IFCTASKTYPE, IFCPROCEDURETYPE, IFCEVENTTYPE, IFCTYPEPROCESS], + 3736923433: [IFCTASKTYPE, IFCPROCEDURETYPE, IFCEVENTTYPE], + 2347495698: [IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSPATIALELEMENTTYPE, IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMEDICALDEVICETYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCPILETYPE, IFCMEMBERTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCDOORSTYLE, IFCWINDOWSTYLE], + 3698973494: [IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE, IFCCONSTRUCTIONRESOURCETYPE], + 2736907675: [IFCBOOLEANCLIPPINGRESULT], + 4182860854: [IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDSURFACE, IFCCURVEBOUNDEDPLANE], + 574549367: [IFCCARTESIANPOINTLIST3D, IFCCARTESIANPOINTLIST2D], + 59481748: [IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D], + 3749851601: [IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM], + 3331915920: [IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM], + 1383045692: [IFCCIRCLEHOLLOWPROFILEDEF], + 2485617015: [IFCREPARAMETRISEDCOMPOSITECURVESEGMENT], + 2574617495: [IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE], + 3419103109: [IFCPROJECTLIBRARY, IFCPROJECT], + 2506170314: [IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID], + 2601014836: [IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFCINDEXEDPOLYCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCSEAMCURVE, IFCINTERSECTIONCURVE, IFCSURFACECURVE, IFCPCURVE, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCLINE], + 339256511: [IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMEDICALDEVICETYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCPILETYPE, IFCMEMBERTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE], + 2777663545: [IFCCYLINDRICALSURFACE, IFCTOROIDALSURFACE, IFCSPHERICALSURFACE, IFCPLANE], + 477187591: [IFCEXTRUDEDAREASOLIDTAPERED], + 4238390223: [IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE], + 178912537: [IFCINDEXEDPOLYGONALFACEWITHVOIDS], + 1425443689: [IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCADVANCEDBREPWITHVOIDS, IFCADVANCEDBREP], + 3888040117: [IFCASSET, IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILDINGSYSTEM, IFCZONE, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADCASE, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCWORKCALENDAR, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCDISTRIBUTIONPORT, IFCPORT, IFCGRID, IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSANITARYTERMINAL, IFCOUTLET, IFCMEDICALDEVICE, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBEAMSTANDARDCASE, IFCBEAM, IFCWINDOWSTANDARDCASE, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALLELEMENTEDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLABSTANDARDCASE, IFCSLABELEMENTEDCASE, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATESTANDARDCASE, IFCPLATE, IFCPILE, IFCMEMBERSTANDARDCASE, IFCMEMBER, IFCFOOTING, IFCDOORSTANDARDCASE, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMNSTANDARDCASE, IFCCOLUMN, IFCCHIMNEY, IFCBUILDINGELEMENTPROXY, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCVOIDINGFEATURE, IFCOPENINGSTANDARDCASE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT, IFCSPATIALELEMENT, IFCPROXY, IFCPRODUCT, IFCPROCEDURE, IFCEVENT, IFCTASK, IFCPROCESS], + 759155922: [IFCDRAUGHTINGPREDEFINEDCOLOUR], + 2559016684: [IFCDRAUGHTINGPREDEFINEDCURVEFONT], + 3967405729: [IFCPERMEABLECOVERINGPROPERTIES, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCREINFORCEMENTDEFINITIONPROPERTIES], + 2945172077: [IFCPROCEDURE, IFCEVENT, IFCTASK], + 4208778838: [IFCDISTRIBUTIONPORT, IFCPORT, IFCGRID, IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSANITARYTERMINAL, IFCOUTLET, IFCMEDICALDEVICE, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBEAMSTANDARDCASE, IFCBEAM, IFCWINDOWSTANDARDCASE, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALLELEMENTEDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLABSTANDARDCASE, IFCSLABELEMENTEDCASE, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATESTANDARDCASE, IFCPLATE, IFCPILE, IFCMEMBERSTANDARDCASE, IFCMEMBER, IFCFOOTING, IFCDOORSTANDARDCASE, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMNSTANDARDCASE, IFCCOLUMN, IFCCHIMNEY, IFCBUILDINGELEMENTPROXY, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCVOIDINGFEATURE, IFCOPENINGSTANDARDCASE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT, IFCSPATIALELEMENT, IFCPROXY], + 3521284610: [IFCCOMPLEXPROPERTYTEMPLATE, IFCSIMPLEPROPERTYTEMPLATE], + 3939117080: [IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUPBYFACTOR, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTOCONTROL, IFCRELASSIGNSTOACTOR], + 1307041759: [IFCRELASSIGNSTOGROUPBYFACTOR], + 1865459582: [IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL], + 826625072: [IFCRELSPACEBOUNDARY2NDLEVEL, IFCRELSPACEBOUNDARY1STLEVEL, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELINTERFERESELEMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS], + 1204542856: [IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS], + 1638771189: [IFCRELCONNECTSWITHECCENTRICITY], + 2551354335: [IFCRELAGGREGATES, IFCRELVOIDSELEMENT, IFCRELPROJECTSELEMENT, IFCRELNESTS], + 693640335: [IFCRELDEFINESBYTYPE, IFCRELDEFINESBYTEMPLATE, IFCRELDEFINESBYPROPERTIES, IFCRELDEFINESBYOBJECT], + 3451746338: [IFCRELSPACEBOUNDARY2NDLEVEL, IFCRELSPACEBOUNDARY1STLEVEL], + 3523091289: [IFCRELSPACEBOUNDARY2NDLEVEL], + 2914609552: [IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE], + 1856042241: [IFCREVOLVEDAREASOLIDTAPERED], + 1412071761: [IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT], + 710998568: [IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE], + 2706606064: [IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING], + 3893378262: [IFCSPACETYPE], + 3544373492: [IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION], + 3136571912: [IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER], + 530289379: [IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER], + 3689010777: [IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION], + 3979015343: [IFCSTRUCTURALSURFACEMEMBERVARYING], + 699246055: [IFCSEAMCURVE, IFCINTERSECTIONCURVE], + 2387106220: [IFCPOLYGONALFACESET, IFCTRIANGULATEDFACESET], + 2296667514: [IFCOCCUPANT], + 1635779807: [IFCADVANCEDBREPWITHVOIDS], + 2887950389: [IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS], + 167062518: [IFCRATIONALBSPLINESURFACEWITHKNOTS], + 1260505505: [IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFCINDEXEDPOLYCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE, IFCCOMPOSITECURVE], + 1950629157: [IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCPILETYPE, IFCMEMBERTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE], + 3732776249: [IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE], + 15328376: [IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE], + 2510884976: [IFCCIRCLE, IFCELLIPSE], + 2559216714: [IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE], + 3293443760: [IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCWORKCALENDAR, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCCOSTSCHEDULE, IFCCOSTITEM], + 3256556792: [IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMEDICALDEVICETYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE], + 3849074793: [IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMEDICALDEVICETYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE], + 1758889154: [IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSANITARYTERMINAL, IFCOUTLET, IFCMEDICALDEVICE, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBEAMSTANDARDCASE, IFCBEAM, IFCWINDOWSTANDARDCASE, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALLELEMENTEDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLABSTANDARDCASE, IFCSLABELEMENTEDCASE, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATESTANDARDCASE, IFCPLATE, IFCPILE, IFCMEMBERSTANDARDCASE, IFCMEMBER, IFCFOOTING, IFCDOORSTANDARDCASE, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMNSTANDARDCASE, IFCCOLUMN, IFCCHIMNEY, IFCBUILDINGELEMENTPROXY, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCVOIDINGFEATURE, IFCOPENINGSTANDARDCASE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY], + 1623761950: [IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCFASTENER], + 2590856083: [IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE], + 2107101300: [IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE], + 2853485674: [IFCEXTERNALSPATIALELEMENT], + 807026263: [IFCFACETEDBREPWITHVOIDS], + 2827207264: [IFCSURFACEFEATURE, IFCVOIDINGFEATURE, IFCOPENINGSTANDARDCASE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION], + 2143335405: [IFCPROJECTIONELEMENT], + 1287392070: [IFCVOIDINGFEATURE, IFCOPENINGSTANDARDCASE, IFCOPENINGELEMENT], + 3907093117: [IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE], + 3198132628: [IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE], + 1482959167: [IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE], + 1834744321: [IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE], + 1339347760: [IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE], + 2297155007: [IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMEDICALDEVICETYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE], + 3009222698: [IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE], + 263784265: [IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE], + 2706460486: [IFCASSET, IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILDINGSYSTEM, IFCZONE, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADCASE, IFCSTRUCTURALLOADGROUP, IFCINVENTORY], + 3588315303: [IFCOPENINGSTANDARDCASE], + 3740093272: [IFCDISTRIBUTIONPORT], + 3027567501: [IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH], + 964333572: [IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE], + 682877961: [IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION], + 1179482911: [IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION], + 1004757350: [IFCSTRUCTURALLINEARACTION], + 214636428: [IFCSTRUCTURALCURVEMEMBERVARYING], + 1252848954: [IFCSTRUCTURALLOADCASE], + 3657597509: [IFCSTRUCTURALPLANARACTION], + 2254336722: [IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILDINGSYSTEM, IFCZONE], + 1028945134: [IFCWORKSCHEDULE, IFCWORKPLAN], + 1967976161: [IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS], + 2461110595: [IFCRATIONALBSPLINECURVEWITHKNOTS], + 1136057603: [IFCOUTERBOUNDARYCURVE], + 3299480353: [IFCBEAMSTANDARDCASE, IFCBEAM, IFCWINDOWSTANDARDCASE, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALLELEMENTEDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLABSTANDARDCASE, IFCSLABELEMENTEDCASE, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATESTANDARDCASE, IFCPLATE, IFCPILE, IFCMEMBERSTANDARDCASE, IFCMEMBER, IFCFOOTING, IFCDOORSTANDARDCASE, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMNSTANDARDCASE, IFCCOLUMN, IFCCHIMNEY, IFCBUILDINGELEMENTPROXY], + 843113511: [IFCCOLUMNSTANDARDCASE], + 2063403501: [IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE], + 1945004755: [IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSANITARYTERMINAL, IFCOUTLET, IFCMEDICALDEVICE, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT], + 3040386961: [IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSANITARYTERMINAL, IFCOUTLET, IFCMEDICALDEVICE, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE], + 3205830791: [IFCDISTRIBUTIONCIRCUIT], + 395920057: [IFCDOORSTANDARDCASE], + 1658829314: [IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE], + 2058353004: [IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER], + 4278956645: [IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX], + 3132237377: [IFCFAN, IFCCOMPRESSOR, IFCPUMP], + 987401354: [IFCDUCTSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT], + 707683696: [IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK], + 2223149337: [IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSANITARYTERMINAL, IFCOUTLET, IFCMEDICALDEVICE, IFCLIGHTFIXTURE, IFCLAMP], + 3508470533: [IFCFILTER, IFCDUCTSILENCER, IFCINTERCEPTOR], + 1073191201: [IFCMEMBERSTANDARDCASE], + 3171933400: [IFCPLATESTANDARDCASE], + 1529196076: [IFCSLABSTANDARDCASE, IFCSLABELEMENTEDCASE], + 2391406946: [IFCWALLSTANDARDCASE, IFCWALLELEMENTEDCASE], + 3304561284: [IFCWINDOWSTANDARDCASE], + 753842376: [IFCBEAMSTANDARDCASE], + 1062813311: [IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT] +}; +InversePropertyDef[4] = { + 3630933823: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 618182010: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]], + 411424972: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 130549933: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["ApprovedObjects", IFCRELASSOCIATESAPPROVAL, 5, true], ["ApprovedResources", IFCRESOURCEAPPROVALRELATIONSHIP, 3, true], ["IsRelatedWith", IFCAPPROVALRELATIONSHIP, 3, true], ["Relates", IFCAPPROVALRELATIONSHIP, 2, true]], + 1959218052: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCRESOURCECONSTRAINTRELATIONSHIP, 2, true]], + 1466758467: [["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true]], + 602808272: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 3200245327: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true]], + 2242383968: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true]], + 1040185647: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true]], + 3548104201: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true]], + 852622518: [["PartOfW", IFCGRID, 9, true], ["PartOfV", IFCGRID, 8, true], ["PartOfU", IFCGRID, 7, true], ["HasIntersections", IFCVIRTUALGRIDINTERSECTION, 0, true]], + 2655187982: [["LibraryInfoForObjects", IFCRELASSOCIATESLIBRARY, 5, true], ["HasLibraryReferences", IFCLIBRARYREFERENCE, 5, true]], + 3452421091: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true], ["LibraryRefForObjects", IFCRELASSOCIATESLIBRARY, 5, true]], + 760658860: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true]], + 248100487: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialLayerSet", IFCMATERIALLAYERSET, 0, false]], + 3303938423: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true]], + 1847252529: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialLayerSet", IFCMATERIALLAYERSET, 0, false]], + 2235152071: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialProfileSet", IFCMATERIALPROFILESET, 2, false]], + 164193824: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true]], + 552965576: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialProfileSet", IFCMATERIALPROFILESET, 2, false]], + 1507914824: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true]], + 3368373690: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCRESOURCECONSTRAINTRELATIONSHIP, 2, true]], + 3701648758: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCLOCALPLACEMENT, 0, true]], + 2251480897: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCRESOURCECONSTRAINTRELATIONSHIP, 2, true]], + 4251960020: [["IsRelatedBy", IFCORGANIZATIONRELATIONSHIP, 3, true], ["Relates", IFCORGANIZATIONRELATIONSHIP, 2, true], ["Engages", IFCPERSONANDORGANIZATION, 1, true]], + 2077209135: [["EngagedIn", IFCPERSONANDORGANIZATION, 0, true]], + 2483315170: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 2226359599: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 3355820592: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]], + 3958567839: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 3843373140: [["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true]], + 986844984: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 3710013099: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 2044713172: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 2093928680: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 931644368: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 3252649465: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 2405470396: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 825690147: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 1076942058: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]], + 3377609919: [["RepresentationsInContext", IFCREPRESENTATION, 0, true]], + 3008791417: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1660063152: [["HasShapeAspects", IFCSHAPEASPECT, 4, true], ["MapUsage", IFCMAPPEDITEM, 0, true]], + 3982875396: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]], + 4240577450: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]], + 2830218821: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]], + 3958052878: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3049322572: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]], + 626085974: [["IsMappedBy", IFCTEXTURECOORDINATE, 0, true], ["UsedInStyles", IFCSURFACESTYLEWITHTEXTURES, 0, true]], + 912023232: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]], + 3101149627: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 1377556343: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1735638870: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]], + 2799835756: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1907098498: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3798115385: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 1310608509: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 2705031697: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 616511568: [["IsMappedBy", IFCTEXTURECOORDINATE, 0, true], ["UsedInStyles", IFCSURFACESTYLEWITHTEXTURES, 0, true]], + 3150382593: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 747523909: [["ClassificationForObjects", IFCRELASSOCIATESCLASSIFICATION, 5, true], ["HasReferences", IFCCLASSIFICATIONREFERENCE, 3, true]], + 647927063: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true], ["ClassificationRefForObjects", IFCRELASSOCIATESCLASSIFICATION, 5, true], ["HasReferences", IFCCLASSIFICATIONREFERENCE, 3, true]], + 1485152156: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 370225590: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3050246964: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 2889183280: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 2713554722: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 3632507154: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 1154170062: [["DocumentInfoForObjects", IFCRELASSOCIATESDOCUMENT, 5, true], ["HasDocumentReferences", IFCDOCUMENTREFERENCE, 4, true], ["IsPointedTo", IFCDOCUMENTINFORMATIONRELATIONSHIP, 3, true], ["IsPointer", IFCDOCUMENTINFORMATIONRELATIONSHIP, 2, true]], + 3732053477: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true], ["DocumentRefForObjects", IFCRELASSOCIATESDOCUMENT, 5, true]], + 3900360178: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 476780140: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 297599258: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 2556980723: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasTextureMaps", IFCTEXTUREMAP, 2, true]], + 1809719519: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 803316827: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3008276851: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasTextureMaps", IFCTEXTUREMAP, 2, true]], + 3448662350: [["RepresentationsInContext", IFCREPRESENTATION, 0, true], ["HasSubContexts", IFCGEOMETRICREPRESENTATIONSUBCONTEXT, 6, true], ["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true]], + 2453401579: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4142052618: [["RepresentationsInContext", IFCREPRESENTATION, 0, true], ["HasSubContexts", IFCGEOMETRICREPRESENTATIONSUBCONTEXT, 6, true], ["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true]], + 3590301190: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 178086475: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCLOCALPLACEMENT, 0, true]], + 812098782: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3905492369: [["IsMappedBy", IFCTEXTURECOORDINATE, 0, true], ["UsedInStyles", IFCSURFACESTYLEWITHTEXTURES, 0, true]], + 3741457305: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 1402838566: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 125510826: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2604431987: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4266656042: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1520743889: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3422422726: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2624227202: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCLOCALPLACEMENT, 0, true]], + 1008929658: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2347385850: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1838606355: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["HasRepresentation", IFCMATERIALDEFINITIONREPRESENTATION, 3, true], ["IsRelatedWith", IFCMATERIALRELATIONSHIP, 3, true], ["RelatesTo", IFCMATERIALRELATIONSHIP, 2, true]], + 3708119e3: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialConstituentSet", IFCMATERIALCONSTITUENTSET, 2, false]], + 2852063980: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true]], + 1303795690: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true]], + 3079605661: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true]], + 3404854881: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true]], + 3265635763: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 2998442950: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 219451334: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true]], + 2665983363: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1029017970: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2529465313: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 2519244187: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3021840470: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 597895409: [["IsMappedBy", IFCTEXTURECOORDINATE, 0, true], ["UsedInStyles", IFCSURFACESTYLEWITHTEXTURES, 0, true]], + 2004835150: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1663979128: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2067069095: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4022376103: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1423911732: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2924175390: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2775532180: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3778827333: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 673634403: [["ShapeOfProduct", IFCPRODUCT, 6, true], ["HasShapeAspects", IFCSHAPEASPECT, 4, true]], + 2802850158: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 2598011224: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 1680319473: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true]], + 3357820518: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 1482703590: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true]], + 2090586900: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 3615266464: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 3413951693: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 1580146022: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 2778083089: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 2042790032: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 4165799628: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 1509187699: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4124623270: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3692461612: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 723233188: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2233826070: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2513912981: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2247615214: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1260650574: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1096409881: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 230924584: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3071757647: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 901063453: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4282788508: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3124975700: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2715220739: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 1628702193: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true]], + 3736923433: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]], + 2347495698: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3698973494: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 427810014: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 1417489154: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2759199220: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1299126871: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2543172580: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 3406155212: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasTextureMaps", IFCTEXTUREMAP, 2, true]], + 669184980: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3207858831: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 4261334040: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3125803723: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2740243338: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2736907675: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4182860854: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2581212453: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2713105998: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2898889636: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 1123145078: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 574549367: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1675464909: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2059837836: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 59481748: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3749851601: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3486308946: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3331915920: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1416205885: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1383045692: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 2205249479: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2542286263: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 2485617015: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["UsingCurves", IFCCOMPOSITECURVE, 0, true]], + 2574617495: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 3419103109: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Declares", IFCRELDECLARES, 4, true]], + 1815067380: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 2506170314: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2147822146: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2601014836: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2827736869: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2629017746: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 32440307: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 526551008: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1472233963: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1883228015: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 339256511: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2777663545: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2835456948: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 4024345920: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]], + 477187591: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2804161546: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2047409740: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 374418227: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 315944413: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2652556860: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4238390223: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1268542332: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4095422895: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 987898635: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1484403080: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 178912537: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["ToFaceSet", IFCPOLYGONALFACESET, 2, true]], + 2294589976: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["ToFaceSet", IFCPOLYGONALFACESET, 2, true]], + 572779678: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 428585644: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 1281925730: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1425443689: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3888040117: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true]], + 3388369263: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3505215534: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1682466193: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 603570806: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 220341763: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3967405729: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 569719735: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]], + 2945172077: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]], + 4208778838: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 103090709: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Declares", IFCRELDECLARES, 4, true]], + 653396225: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Declares", IFCRELDECLARES, 4, true]], + 871118103: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 4166981789: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 2752243245: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 941946838: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 1451395588: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 492091185: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Defines", IFCRELDEFINESBYTEMPLATE, 5, true]], + 3650150729: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 110355661: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 3521284610: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["PartOfComplexTemplate", IFCCOMPLEXPROPERTYTEMPLATE, 6, true], ["PartOfPsetTemplate", IFCPROPERTYSETTEMPLATE, 6, true]], + 3219374653: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2770003689: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 2798486643: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3454111270: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3765753017: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 3523091289: [["InnerBoundaries", IFCRELSPACEBOUNDARY1STLEVEL, 9, true]], + 1521410863: [["InnerBoundaries", IFCRELSPACEBOUNDARY1STLEVEL, 9, true], ["Corresponds", IFCRELSPACEBOUNDARY2NDLEVEL, 10, true]], + 816062949: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["UsingCurves", IFCCOMPOSITECURVE, 0, true]], + 2914609552: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 1856042241: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3243963512: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4158566097: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3626867408: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3663146110: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["PartOfComplexTemplate", IFCCOMPLEXPROPERTYTEMPLATE, 6, true], ["PartOfPsetTemplate", IFCPROPERTYSETTEMPLATE, 6, true]], + 1412071761: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true]], + 710998568: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2706606064: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true]], + 3893378262: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 463610769: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true]], + 2481509218: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 451544542: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4015995234: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3544373492: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 3136571912: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true]], + 530289379: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]], + 3689010777: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 3979015343: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]], + 2218152070: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]], + 603775116: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 4095615324: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 699246055: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2028607225: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2809605785: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4124788165: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1580310250: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3473067441: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]], + 3206491090: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]], + 2387106220: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasColours", IFCINDEXEDCOLOURMAP, 0, true], ["HasTextures", IFCINDEXEDTEXTUREMAP, 1, true]], + 1935646853: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2097647324: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2916149573: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasColours", IFCINDEXEDCOLOURMAP, 0, true], ["HasTextures", IFCINDEXEDTEXTUREMAP, 1, true]], + 336235671: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 512836454: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 2296667514: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsActingUpon", IFCRELASSIGNSTOACTOR, 6, true]], + 1635779807: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2603310189: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1674181508: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2887950389: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 167062518: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1334484129: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3649129432: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1260505505: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4031249490: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true]], + 1950629157: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3124254112: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true]], + 2197970202: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2937912522: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 3893394355: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 300633059: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3875453745: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["PartOfComplexTemplate", IFCCOMPLEXPROPERTYTEMPLATE, 6, true], ["PartOfPsetTemplate", IFCPROPERTYSETTEMPLATE, 6, true]], + 3732776249: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 15328376: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2510884976: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2185764099: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 4105962743: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 1525564444: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 2559216714: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 3293443760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 3895139033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 1419761937: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 1916426348: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3295246426: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 1457835157: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1213902940: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3256556792: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3849074793: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2963535650: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 1714330368: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 2323601079: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1758889154: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 4123344466: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2397081782: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1623761950: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2590856083: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1704287377: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2107101300: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 132023988: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3174744832: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3390157468: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4148101412: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]], + 2853485674: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true]], + 807026263: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3737207727: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 647756555: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2489546625: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2827207264: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2143335405: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["ProjectsElements", IFCRELPROJECTSELEMENT, 5, false]], + 1287392070: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]], + 3907093117: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3198132628: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3815607619: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1482959167: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1834744321: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1339347760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2297155007: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3009222698: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1893162501: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 263784265: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 1509553395: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 3493046030: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 3009204131: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2706460486: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true]], + 1251058090: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1806887404: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2571569899: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3946677679: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3113134337: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2391368822: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true]], + 4288270099: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3827777499: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 1051575348: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1161773419: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 377706215: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2108223431: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1114901282: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3181161470: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 977012517: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4143007308: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsActingUpon", IFCRELASSIGNSTOACTOR, 6, true]], + 3588315303: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false], ["HasFillings", IFCRELFILLSELEMENT, 4, true]], + 3079942009: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false], ["HasFillings", IFCRELFILLSELEMENT, 4, true]], + 2837617999: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2382730787: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 3566463478: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 3327091369: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 1158309216: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 804291784: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4231323485: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4017108033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2839578677: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasColours", IFCINDEXEDCOLOURMAP, 0, true], ["HasTextures", IFCINDEXEDTEXTUREMAP, 1, true]], + 3724593414: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3740093272: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainedIn", IFCRELCONNECTSPORTTOELEMENT, 4, true], ["ConnectedFrom", IFCRELCONNECTSPORTS, 5, true], ["ConnectedTo", IFCRELCONNECTSPORTS, 4, true]], + 2744685151: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]], + 2904328755: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 3651124850: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["ProjectsElements", IFCRELPROJECTSELEMENT, 5, false]], + 1842657554: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2250791053: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2893384427: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2324767716: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1469900589: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 683857671: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3027567501: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 964333572: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2320036040: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2310774935: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2781568857: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1768891740: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2157484638: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4074543187: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4097777520: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true]], + 2533589738: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1072016465: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3856911033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["HasCoverings", IFCRELCOVERSSPACES, 4, true], ["BoundedBy", IFCRELSPACEBOUNDARY, 4, true]], + 1305183839: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3812236995: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3112655638: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1039846685: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 338393293: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 682877961: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 1179482911: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]], + 1004757350: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 4243806635: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]], + 214636428: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]], + 2445595289: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]], + 2757150158: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 1807405624: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 1252848954: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["SourceOfResultGroup", IFCSTRUCTURALRESULTGROUP, 6, true], ["LoadGroupFor", IFCSTRUCTURALANALYSISMODEL, 7, true]], + 2082059205: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 734778138: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]], + 1235345126: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 2986769608: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ResultGroupFor", IFCSTRUCTURALANALYSISMODEL, 8, true]], + 3657597509: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 1975003073: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]], + 148013059: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 3101698114: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2315554128: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2254336722: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]], + 413509423: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 5716631: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3824725483: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2347447852: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 3081323446: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2415094496: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1692211062: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1620046519: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 3593883385: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1600972822: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1911125066: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 728799441: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2391383451: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 3313531582: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2769231204: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 926996030: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]], + 1898987631: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1133259667: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4009809668: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4088093105: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 1028945134: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 4218914973: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 3342526732: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 1033361043: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]], + 3821786052: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 1411407467: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3352864051: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1871374353: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3460190687: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true]], + 1532957894: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1967976161: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2461110595: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 819618141: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 231477066: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1136057603: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3299480353: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2979338954: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 39481116: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1095909175: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 1909888760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1177604601: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]], + 2188180465: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 395041908: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3293546465: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2674252688: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1285652485: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2951183804: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3296154744: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2611217952: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1677625105: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2301859152: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 843113511: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 905975707: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 400855858: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3850581409: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2816379211: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3898045240: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 1060000209: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 488727124: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 335055490: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2954562838: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1973544240: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["CoversSpaces", IFCRELCOVERSSPACES, 5, true], ["CoversElements", IFCRELCOVERSBLDGELEMENTS, 5, true]], + 3495092785: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 3961806047: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1335981549: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2635815018: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1599208980: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2063403501: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1945004755: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true]], + 3040386961: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3041715199: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainedIn", IFCRELCONNECTSPORTTOELEMENT, 4, true], ["ConnectedFrom", IFCRELCONNECTSPORTS, 5, true], ["ConnectedTo", IFCRELCONNECTSPORTS, 4, true]], + 3205830791: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]], + 395920057: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 3242481149: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 869906466: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3760055223: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2030761528: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 663422040: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2417008758: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3277789161: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1534661035: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1217240411: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 712377611: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1658829314: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2814081492: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3747195512: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 484807127: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1209101575: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["BoundedBy", IFCRELSPACEBOUNDARY, 4, true]], + 346874300: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1810631287: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4222183408: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2058353004: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 4278956645: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 4037862832: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2188021234: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3132237377: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 987401354: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 707683696: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2223149337: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3508470533: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 900683007: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 3319311131: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2068733104: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 4175244083: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2176052936: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 76236018: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 629592764: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1437502449: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1073191201: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 1911478936: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2474470126: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 144952367: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3694346114: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1687234759: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 310824031: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3612865200: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3171933400: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 1156407060: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 738039164: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 655969474: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 90941305: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2262370178: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 3024970846: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 3283111854: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 1232101972: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 979691226: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2572171363: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2016517767: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 3053780830: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1783015770: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1329646415: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 1529196076: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 3127900445: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 3027962421: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 3420628829: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1999602285: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1404847402: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 331165859: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 4252922144: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2515109513: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]], + 385403989: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["SourceOfResultGroup", IFCSTRUCTURALRESULTGROUP, 6, true], ["LoadGroupFor", IFCSTRUCTURALANALYSISMODEL, 7, true]], + 1621171031: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 1162798199: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 812556717: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3825984169: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3026737570: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3179687236: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4292641817: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 4207607924: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2391406946: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 4156078855: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 3512223829: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 4237592921: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3304561284: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 486154966: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2874132201: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1634111441: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 177149247: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2056796094: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3001207471: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 277319702: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 753842376: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 2906023776: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]], + 32344328: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2938176219: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 635142910: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3758799889: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1051757585: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 4217484030: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3902619387: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 639361253: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3221913625: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3571504051: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2272882330: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 578613899: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4136498852: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3640358203: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 4074379575: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1052013943: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 562808652: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]], + 1062813311: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]], + 342316401: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3518393246: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1360408905: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1904799276: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 862014818: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3310460725: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 264262732: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 402227799: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1003880860: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3415622556: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 819412036: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1426591983: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 182646315: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]], + 2295281155: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]], + 4086658281: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]], + 630975310: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]], + 4288193352: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]], + 3087945054: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]], + 25142252: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]] +}; +Constructors[4] = { + 3630933823: (a) => new IFC4$1.IfcActorRole(a[0], a[1], a[2]), + 618182010: (a) => new IFC4$1.IfcAddress(a[0], a[1], a[2]), + 639542469: (a) => new IFC4$1.IfcApplication(a[0], a[1], a[2], a[3]), + 411424972: (a) => new IFC4$1.IfcAppliedValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 130549933: (a) => new IFC4$1.IfcApproval(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4037036970: (a) => new IFC4$1.IfcBoundaryCondition(a[0]), + 1560379544: (a) => new IFC4$1.IfcBoundaryEdgeCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3367102660: (a) => new IFC4$1.IfcBoundaryFaceCondition(a[0], a[1], a[2], a[3]), + 1387855156: (a) => new IFC4$1.IfcBoundaryNodeCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2069777674: (a) => new IFC4$1.IfcBoundaryNodeConditionWarping(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2859738748: (_) => new IFC4$1.IfcConnectionGeometry(), + 2614616156: (a) => new IFC4$1.IfcConnectionPointGeometry(a[0], a[1]), + 2732653382: (a) => new IFC4$1.IfcConnectionSurfaceGeometry(a[0], a[1]), + 775493141: (a) => new IFC4$1.IfcConnectionVolumeGeometry(a[0], a[1]), + 1959218052: (a) => new IFC4$1.IfcConstraint(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1785450214: (a) => new IFC4$1.IfcCoordinateOperation(a[0], a[1]), + 1466758467: (a) => new IFC4$1.IfcCoordinateReferenceSystem(a[0], a[1], a[2], a[3]), + 602808272: (a) => new IFC4$1.IfcCostValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1765591967: (a) => new IFC4$1.IfcDerivedUnit(a[0], a[1], a[2]), + 1045800335: (a) => new IFC4$1.IfcDerivedUnitElement(a[0], a[1]), + 2949456006: (a) => new IFC4$1.IfcDimensionalExponents(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 4294318154: (_) => new IFC4$1.IfcExternalInformation(), + 3200245327: (a) => new IFC4$1.IfcExternalReference(a[0], a[1], a[2]), + 2242383968: (a) => new IFC4$1.IfcExternallyDefinedHatchStyle(a[0], a[1], a[2]), + 1040185647: (a) => new IFC4$1.IfcExternallyDefinedSurfaceStyle(a[0], a[1], a[2]), + 3548104201: (a) => new IFC4$1.IfcExternallyDefinedTextFont(a[0], a[1], a[2]), + 852622518: (a) => new IFC4$1.IfcGridAxis(a[0], a[1], a[2]), + 3020489413: (a) => new IFC4$1.IfcIrregularTimeSeriesValue(a[0], a[1]), + 2655187982: (a) => new IFC4$1.IfcLibraryInformation(a[0], a[1], a[2], a[3], a[4], a[5]), + 3452421091: (a) => new IFC4$1.IfcLibraryReference(a[0], a[1], a[2], a[3], a[4], a[5]), + 4162380809: (a) => new IFC4$1.IfcLightDistributionData(a[0], a[1], a[2]), + 1566485204: (a) => new IFC4$1.IfcLightIntensityDistribution(a[0], a[1]), + 3057273783: (a) => new IFC4$1.IfcMapConversion(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1847130766: (a) => new IFC4$1.IfcMaterialClassificationRelationship(a[0], a[1]), + 760658860: (_) => new IFC4$1.IfcMaterialDefinition(), + 248100487: (a) => new IFC4$1.IfcMaterialLayer(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3303938423: (a) => new IFC4$1.IfcMaterialLayerSet(a[0], a[1], a[2]), + 1847252529: (a) => new IFC4$1.IfcMaterialLayerWithOffsets(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2199411900: (a) => new IFC4$1.IfcMaterialList(a[0]), + 2235152071: (a) => new IFC4$1.IfcMaterialProfile(a[0], a[1], a[2], a[3], a[4], a[5]), + 164193824: (a) => new IFC4$1.IfcMaterialProfileSet(a[0], a[1], a[2], a[3]), + 552965576: (a) => new IFC4$1.IfcMaterialProfileWithOffsets(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1507914824: (_) => new IFC4$1.IfcMaterialUsageDefinition(), + 2597039031: (a) => new IFC4$1.IfcMeasureWithUnit(a[0], a[1]), + 3368373690: (a) => new IFC4$1.IfcMetric(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 2706619895: (a) => new IFC4$1.IfcMonetaryUnit(a[0]), + 1918398963: (a) => new IFC4$1.IfcNamedUnit(a[0], a[1]), + 3701648758: (_) => new IFC4$1.IfcObjectPlacement(), + 2251480897: (a) => new IFC4$1.IfcObjective(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 4251960020: (a) => new IFC4$1.IfcOrganization(a[0], a[1], a[2], a[3], a[4]), + 1207048766: (a) => new IFC4$1.IfcOwnerHistory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2077209135: (a) => new IFC4$1.IfcPerson(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 101040310: (a) => new IFC4$1.IfcPersonAndOrganization(a[0], a[1], a[2]), + 2483315170: (a) => new IFC4$1.IfcPhysicalQuantity(a[0], a[1]), + 2226359599: (a) => new IFC4$1.IfcPhysicalSimpleQuantity(a[0], a[1], a[2]), + 3355820592: (a) => new IFC4$1.IfcPostalAddress(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 677532197: (_) => new IFC4$1.IfcPresentationItem(), + 2022622350: (a) => new IFC4$1.IfcPresentationLayerAssignment(a[0], a[1], a[2], a[3]), + 1304840413: (a) => new IFC4$1.IfcPresentationLayerWithStyle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3119450353: (a) => new IFC4$1.IfcPresentationStyle(a[0]), + 2417041796: (a) => new IFC4$1.IfcPresentationStyleAssignment(a[0]), + 2095639259: (a) => new IFC4$1.IfcProductRepresentation(a[0], a[1], a[2]), + 3958567839: (a) => new IFC4$1.IfcProfileDef(a[0], a[1]), + 3843373140: (a) => new IFC4$1.IfcProjectedCRS(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 986844984: (_) => new IFC4$1.IfcPropertyAbstraction(), + 3710013099: (a) => new IFC4$1.IfcPropertyEnumeration(a[0], a[1], a[2]), + 2044713172: (a) => new IFC4$1.IfcQuantityArea(a[0], a[1], a[2], a[3], a[4]), + 2093928680: (a) => new IFC4$1.IfcQuantityCount(a[0], a[1], a[2], a[3], a[4]), + 931644368: (a) => new IFC4$1.IfcQuantityLength(a[0], a[1], a[2], a[3], a[4]), + 3252649465: (a) => new IFC4$1.IfcQuantityTime(a[0], a[1], a[2], a[3], a[4]), + 2405470396: (a) => new IFC4$1.IfcQuantityVolume(a[0], a[1], a[2], a[3], a[4]), + 825690147: (a) => new IFC4$1.IfcQuantityWeight(a[0], a[1], a[2], a[3], a[4]), + 3915482550: (a) => new IFC4$1.IfcRecurrencePattern(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2433181523: (a) => new IFC4$1.IfcReference(a[0], a[1], a[2], a[3], a[4]), + 1076942058: (a) => new IFC4$1.IfcRepresentation(a[0], a[1], a[2], a[3]), + 3377609919: (a) => new IFC4$1.IfcRepresentationContext(a[0], a[1]), + 3008791417: (_) => new IFC4$1.IfcRepresentationItem(), + 1660063152: (a) => new IFC4$1.IfcRepresentationMap(a[0], a[1]), + 2439245199: (a) => new IFC4$1.IfcResourceLevelRelationship(a[0], a[1]), + 2341007311: (a) => new IFC4$1.IfcRoot(a[0], a[1], a[2], a[3]), + 448429030: (a) => new IFC4$1.IfcSIUnit(a[0], a[1], a[2]), + 1054537805: (a) => new IFC4$1.IfcSchedulingTime(a[0], a[1], a[2]), + 867548509: (a) => new IFC4$1.IfcShapeAspect(a[0], a[1], a[2], a[3], a[4]), + 3982875396: (a) => new IFC4$1.IfcShapeModel(a[0], a[1], a[2], a[3]), + 4240577450: (a) => new IFC4$1.IfcShapeRepresentation(a[0], a[1], a[2], a[3]), + 2273995522: (a) => new IFC4$1.IfcStructuralConnectionCondition(a[0]), + 2162789131: (a) => new IFC4$1.IfcStructuralLoad(a[0]), + 3478079324: (a) => new IFC4$1.IfcStructuralLoadConfiguration(a[0], a[1], a[2]), + 609421318: (a) => new IFC4$1.IfcStructuralLoadOrResult(a[0]), + 2525727697: (a) => new IFC4$1.IfcStructuralLoadStatic(a[0]), + 3408363356: (a) => new IFC4$1.IfcStructuralLoadTemperature(a[0], a[1], a[2], a[3]), + 2830218821: (a) => new IFC4$1.IfcStyleModel(a[0], a[1], a[2], a[3]), + 3958052878: (a) => new IFC4$1.IfcStyledItem(a[0], a[1], a[2]), + 3049322572: (a) => new IFC4$1.IfcStyledRepresentation(a[0], a[1], a[2], a[3]), + 2934153892: (a) => new IFC4$1.IfcSurfaceReinforcementArea(a[0], a[1], a[2], a[3]), + 1300840506: (a) => new IFC4$1.IfcSurfaceStyle(a[0], a[1], a[2]), + 3303107099: (a) => new IFC4$1.IfcSurfaceStyleLighting(a[0], a[1], a[2], a[3]), + 1607154358: (a) => new IFC4$1.IfcSurfaceStyleRefraction(a[0], a[1]), + 846575682: (a) => new IFC4$1.IfcSurfaceStyleShading(a[0], a[1]), + 1351298697: (a) => new IFC4$1.IfcSurfaceStyleWithTextures(a[0]), + 626085974: (a) => new IFC4$1.IfcSurfaceTexture(a[0], a[1], a[2], a[3], a[4]), + 985171141: (a) => new IFC4$1.IfcTable(a[0], a[1], a[2]), + 2043862942: (a) => new IFC4$1.IfcTableColumn(a[0], a[1], a[2], a[3], a[4]), + 531007025: (a) => new IFC4$1.IfcTableRow(a[0], a[1]), + 1549132990: (a) => new IFC4$1.IfcTaskTime(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19]), + 2771591690: (a) => new IFC4$1.IfcTaskTimeRecurring(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19], a[20]), + 912023232: (a) => new IFC4$1.IfcTelecomAddress(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1447204868: (a) => new IFC4$1.IfcTextStyle(a[0], a[1], a[2], a[3], a[4]), + 2636378356: (a) => new IFC4$1.IfcTextStyleForDefinedFont(a[0], a[1]), + 1640371178: (a) => new IFC4$1.IfcTextStyleTextModel(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 280115917: (a) => new IFC4$1.IfcTextureCoordinate(a[0]), + 1742049831: (a) => new IFC4$1.IfcTextureCoordinateGenerator(a[0], a[1], a[2]), + 2552916305: (a) => new IFC4$1.IfcTextureMap(a[0], a[1], a[2]), + 1210645708: (a) => new IFC4$1.IfcTextureVertex(a[0]), + 3611470254: (a) => new IFC4$1.IfcTextureVertexList(a[0]), + 1199560280: (a) => new IFC4$1.IfcTimePeriod(a[0], a[1]), + 3101149627: (a) => new IFC4$1.IfcTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 581633288: (a) => new IFC4$1.IfcTimeSeriesValue(a[0]), + 1377556343: (_) => new IFC4$1.IfcTopologicalRepresentationItem(), + 1735638870: (a) => new IFC4$1.IfcTopologyRepresentation(a[0], a[1], a[2], a[3]), + 180925521: (a) => new IFC4$1.IfcUnitAssignment(a[0]), + 2799835756: (_) => new IFC4$1.IfcVertex(), + 1907098498: (a) => new IFC4$1.IfcVertexPoint(a[0]), + 891718957: (a) => new IFC4$1.IfcVirtualGridIntersection(a[0], a[1]), + 1236880293: (a) => new IFC4$1.IfcWorkTime(a[0], a[1], a[2], a[3], a[4], a[5]), + 3869604511: (a) => new IFC4$1.IfcApprovalRelationship(a[0], a[1], a[2], a[3]), + 3798115385: (a) => new IFC4$1.IfcArbitraryClosedProfileDef(a[0], a[1], a[2]), + 1310608509: (a) => new IFC4$1.IfcArbitraryOpenProfileDef(a[0], a[1], a[2]), + 2705031697: (a) => new IFC4$1.IfcArbitraryProfileDefWithVoids(a[0], a[1], a[2], a[3]), + 616511568: (a) => new IFC4$1.IfcBlobTexture(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3150382593: (a) => new IFC4$1.IfcCenterLineProfileDef(a[0], a[1], a[2], a[3]), + 747523909: (a) => new IFC4$1.IfcClassification(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 647927063: (a) => new IFC4$1.IfcClassificationReference(a[0], a[1], a[2], a[3], a[4], a[5]), + 3285139300: (a) => new IFC4$1.IfcColourRgbList(a[0]), + 3264961684: (a) => new IFC4$1.IfcColourSpecification(a[0]), + 1485152156: (a) => new IFC4$1.IfcCompositeProfileDef(a[0], a[1], a[2], a[3]), + 370225590: (a) => new IFC4$1.IfcConnectedFaceSet(a[0]), + 1981873012: (a) => new IFC4$1.IfcConnectionCurveGeometry(a[0], a[1]), + 45288368: (a) => new IFC4$1.IfcConnectionPointEccentricity(a[0], a[1], a[2], a[3], a[4]), + 3050246964: (a) => new IFC4$1.IfcContextDependentUnit(a[0], a[1], a[2]), + 2889183280: (a) => new IFC4$1.IfcConversionBasedUnit(a[0], a[1], a[2], a[3]), + 2713554722: (a) => new IFC4$1.IfcConversionBasedUnitWithOffset(a[0], a[1], a[2], a[3], a[4]), + 539742890: (a) => new IFC4$1.IfcCurrencyRelationship(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3800577675: (a) => new IFC4$1.IfcCurveStyle(a[0], a[1], a[2], a[3], a[4]), + 1105321065: (a) => new IFC4$1.IfcCurveStyleFont(a[0], a[1]), + 2367409068: (a) => new IFC4$1.IfcCurveStyleFontAndScaling(a[0], a[1], a[2]), + 3510044353: (a) => new IFC4$1.IfcCurveStyleFontPattern(a[0], a[1]), + 3632507154: (a) => new IFC4$1.IfcDerivedProfileDef(a[0], a[1], a[2], a[3], a[4]), + 1154170062: (a) => new IFC4$1.IfcDocumentInformation(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]), + 770865208: (a) => new IFC4$1.IfcDocumentInformationRelationship(a[0], a[1], a[2], a[3], a[4]), + 3732053477: (a) => new IFC4$1.IfcDocumentReference(a[0], a[1], a[2], a[3], a[4]), + 3900360178: (a) => new IFC4$1.IfcEdge(a[0], a[1]), + 476780140: (a) => new IFC4$1.IfcEdgeCurve(a[0], a[1], a[2], a[3]), + 211053100: (a) => new IFC4$1.IfcEventTime(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 297599258: (a) => new IFC4$1.IfcExtendedProperties(a[0], a[1], a[2]), + 1437805879: (a) => new IFC4$1.IfcExternalReferenceRelationship(a[0], a[1], a[2], a[3]), + 2556980723: (a) => new IFC4$1.IfcFace(a[0]), + 1809719519: (a) => new IFC4$1.IfcFaceBound(a[0], a[1]), + 803316827: (a) => new IFC4$1.IfcFaceOuterBound(a[0], a[1]), + 3008276851: (a) => new IFC4$1.IfcFaceSurface(a[0], a[1], a[2]), + 4219587988: (a) => new IFC4$1.IfcFailureConnectionCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 738692330: (a) => new IFC4$1.IfcFillAreaStyle(a[0], a[1], a[2]), + 3448662350: (a) => new IFC4$1.IfcGeometricRepresentationContext(a[0], a[1], a[2], a[3], a[4], a[5]), + 2453401579: (_) => new IFC4$1.IfcGeometricRepresentationItem(), + 4142052618: (a) => new IFC4$1.IfcGeometricRepresentationSubContext(a[0], a[1], a[2], a[3], a[4], a[5]), + 3590301190: (a) => new IFC4$1.IfcGeometricSet(a[0]), + 178086475: (a) => new IFC4$1.IfcGridPlacement(a[0], a[1]), + 812098782: (a) => new IFC4$1.IfcHalfSpaceSolid(a[0], a[1]), + 3905492369: (a) => new IFC4$1.IfcImageTexture(a[0], a[1], a[2], a[3], a[4], a[5]), + 3570813810: (a) => new IFC4$1.IfcIndexedColourMap(a[0], a[1], a[2], a[3]), + 1437953363: (a) => new IFC4$1.IfcIndexedTextureMap(a[0], a[1], a[2]), + 2133299955: (a) => new IFC4$1.IfcIndexedTriangleTextureMap(a[0], a[1], a[2], a[3]), + 3741457305: (a) => new IFC4$1.IfcIrregularTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1585845231: (a) => new IFC4$1.IfcLagTime(a[0], a[1], a[2], a[3], a[4]), + 1402838566: (a) => new IFC4$1.IfcLightSource(a[0], a[1], a[2], a[3]), + 125510826: (a) => new IFC4$1.IfcLightSourceAmbient(a[0], a[1], a[2], a[3]), + 2604431987: (a) => new IFC4$1.IfcLightSourceDirectional(a[0], a[1], a[2], a[3], a[4]), + 4266656042: (a) => new IFC4$1.IfcLightSourceGoniometric(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1520743889: (a) => new IFC4$1.IfcLightSourcePositional(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3422422726: (a) => new IFC4$1.IfcLightSourceSpot(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 2624227202: (a) => new IFC4$1.IfcLocalPlacement(a[0], a[1]), + 1008929658: (_) => new IFC4$1.IfcLoop(), + 2347385850: (a) => new IFC4$1.IfcMappedItem(a[0], a[1]), + 1838606355: (a) => new IFC4$1.IfcMaterial(a[0], a[1], a[2]), + 3708119e3: (a) => new IFC4$1.IfcMaterialConstituent(a[0], a[1], a[2], a[3], a[4]), + 2852063980: (a) => new IFC4$1.IfcMaterialConstituentSet(a[0], a[1], a[2]), + 2022407955: (a) => new IFC4$1.IfcMaterialDefinitionRepresentation(a[0], a[1], a[2], a[3]), + 1303795690: (a) => new IFC4$1.IfcMaterialLayerSetUsage(a[0], a[1], a[2], a[3], a[4]), + 3079605661: (a) => new IFC4$1.IfcMaterialProfileSetUsage(a[0], a[1], a[2]), + 3404854881: (a) => new IFC4$1.IfcMaterialProfileSetUsageTapering(a[0], a[1], a[2], a[3], a[4]), + 3265635763: (a) => new IFC4$1.IfcMaterialProperties(a[0], a[1], a[2], a[3]), + 853536259: (a) => new IFC4$1.IfcMaterialRelationship(a[0], a[1], a[2], a[3], a[4]), + 2998442950: (a) => new IFC4$1.IfcMirroredProfileDef(a[0], a[1], a[2], a[3]), + 219451334: (a) => new IFC4$1.IfcObjectDefinition(a[0], a[1], a[2], a[3]), + 2665983363: (a) => new IFC4$1.IfcOpenShell(a[0]), + 1411181986: (a) => new IFC4$1.IfcOrganizationRelationship(a[0], a[1], a[2], a[3]), + 1029017970: (a) => new IFC4$1.IfcOrientedEdge(a[0], a[1]), + 2529465313: (a) => new IFC4$1.IfcParameterizedProfileDef(a[0], a[1], a[2]), + 2519244187: (a) => new IFC4$1.IfcPath(a[0]), + 3021840470: (a) => new IFC4$1.IfcPhysicalComplexQuantity(a[0], a[1], a[2], a[3], a[4], a[5]), + 597895409: (a) => new IFC4$1.IfcPixelTexture(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2004835150: (a) => new IFC4$1.IfcPlacement(a[0]), + 1663979128: (a) => new IFC4$1.IfcPlanarExtent(a[0], a[1]), + 2067069095: (_) => new IFC4$1.IfcPoint(), + 4022376103: (a) => new IFC4$1.IfcPointOnCurve(a[0], a[1]), + 1423911732: (a) => new IFC4$1.IfcPointOnSurface(a[0], a[1], a[2]), + 2924175390: (a) => new IFC4$1.IfcPolyLoop(a[0]), + 2775532180: (a) => new IFC4$1.IfcPolygonalBoundedHalfSpace(a[0], a[1], a[2], a[3]), + 3727388367: (a) => new IFC4$1.IfcPreDefinedItem(a[0]), + 3778827333: (_) => new IFC4$1.IfcPreDefinedProperties(), + 1775413392: (a) => new IFC4$1.IfcPreDefinedTextFont(a[0]), + 673634403: (a) => new IFC4$1.IfcProductDefinitionShape(a[0], a[1], a[2]), + 2802850158: (a) => new IFC4$1.IfcProfileProperties(a[0], a[1], a[2], a[3]), + 2598011224: (a) => new IFC4$1.IfcProperty(a[0], a[1]), + 1680319473: (a) => new IFC4$1.IfcPropertyDefinition(a[0], a[1], a[2], a[3]), + 148025276: (a) => new IFC4$1.IfcPropertyDependencyRelationship(a[0], a[1], a[2], a[3], a[4]), + 3357820518: (a) => new IFC4$1.IfcPropertySetDefinition(a[0], a[1], a[2], a[3]), + 1482703590: (a) => new IFC4$1.IfcPropertyTemplateDefinition(a[0], a[1], a[2], a[3]), + 2090586900: (a) => new IFC4$1.IfcQuantitySet(a[0], a[1], a[2], a[3]), + 3615266464: (a) => new IFC4$1.IfcRectangleProfileDef(a[0], a[1], a[2], a[3], a[4]), + 3413951693: (a) => new IFC4$1.IfcRegularTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1580146022: (a) => new IFC4$1.IfcReinforcementBarProperties(a[0], a[1], a[2], a[3], a[4], a[5]), + 478536968: (a) => new IFC4$1.IfcRelationship(a[0], a[1], a[2], a[3]), + 2943643501: (a) => new IFC4$1.IfcResourceApprovalRelationship(a[0], a[1], a[2], a[3]), + 1608871552: (a) => new IFC4$1.IfcResourceConstraintRelationship(a[0], a[1], a[2], a[3]), + 1042787934: (a) => new IFC4$1.IfcResourceTime(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17]), + 2778083089: (a) => new IFC4$1.IfcRoundedRectangleProfileDef(a[0], a[1], a[2], a[3], a[4], a[5]), + 2042790032: (a) => new IFC4$1.IfcSectionProperties(a[0], a[1], a[2]), + 4165799628: (a) => new IFC4$1.IfcSectionReinforcementProperties(a[0], a[1], a[2], a[3], a[4], a[5]), + 1509187699: (a) => new IFC4$1.IfcSectionedSpine(a[0], a[1], a[2]), + 4124623270: (a) => new IFC4$1.IfcShellBasedSurfaceModel(a[0]), + 3692461612: (a) => new IFC4$1.IfcSimpleProperty(a[0], a[1]), + 2609359061: (a) => new IFC4$1.IfcSlippageConnectionCondition(a[0], a[1], a[2], a[3]), + 723233188: (_) => new IFC4$1.IfcSolidModel(), + 1595516126: (a) => new IFC4$1.IfcStructuralLoadLinearForce(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2668620305: (a) => new IFC4$1.IfcStructuralLoadPlanarForce(a[0], a[1], a[2], a[3]), + 2473145415: (a) => new IFC4$1.IfcStructuralLoadSingleDisplacement(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1973038258: (a) => new IFC4$1.IfcStructuralLoadSingleDisplacementDistortion(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1597423693: (a) => new IFC4$1.IfcStructuralLoadSingleForce(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1190533807: (a) => new IFC4$1.IfcStructuralLoadSingleForceWarping(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2233826070: (a) => new IFC4$1.IfcSubedge(a[0], a[1], a[2]), + 2513912981: (_) => new IFC4$1.IfcSurface(), + 1878645084: (a) => new IFC4$1.IfcSurfaceStyleRendering(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2247615214: (a) => new IFC4$1.IfcSweptAreaSolid(a[0], a[1]), + 1260650574: (a) => new IFC4$1.IfcSweptDiskSolid(a[0], a[1], a[2], a[3], a[4]), + 1096409881: (a) => new IFC4$1.IfcSweptDiskSolidPolygonal(a[0], a[1], a[2], a[3], a[4], a[5]), + 230924584: (a) => new IFC4$1.IfcSweptSurface(a[0], a[1]), + 3071757647: (a) => new IFC4$1.IfcTShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 901063453: (_) => new IFC4$1.IfcTessellatedItem(), + 4282788508: (a) => new IFC4$1.IfcTextLiteral(a[0], a[1], a[2]), + 3124975700: (a) => new IFC4$1.IfcTextLiteralWithExtent(a[0], a[1], a[2], a[3], a[4]), + 1983826977: (a) => new IFC4$1.IfcTextStyleFontModel(a[0], a[1], a[2], a[3], a[4], a[5]), + 2715220739: (a) => new IFC4$1.IfcTrapeziumProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1628702193: (a) => new IFC4$1.IfcTypeObject(a[0], a[1], a[2], a[3], a[4], a[5]), + 3736923433: (a) => new IFC4$1.IfcTypeProcess(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2347495698: (a) => new IFC4$1.IfcTypeProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3698973494: (a) => new IFC4$1.IfcTypeResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 427810014: (a) => new IFC4$1.IfcUShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1417489154: (a) => new IFC4$1.IfcVector(a[0], a[1]), + 2759199220: (a) => new IFC4$1.IfcVertexLoop(a[0]), + 1299126871: (a) => new IFC4$1.IfcWindowStyle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 2543172580: (a) => new IFC4$1.IfcZShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3406155212: (a) => new IFC4$1.IfcAdvancedFace(a[0], a[1], a[2]), + 669184980: (a) => new IFC4$1.IfcAnnotationFillArea(a[0], a[1]), + 3207858831: (a) => new IFC4$1.IfcAsymmetricIShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]), + 4261334040: (a) => new IFC4$1.IfcAxis1Placement(a[0], a[1]), + 3125803723: (a) => new IFC4$1.IfcAxis2Placement2D(a[0], a[1]), + 2740243338: (a) => new IFC4$1.IfcAxis2Placement3D(a[0], a[1], a[2]), + 2736907675: (a) => new IFC4$1.IfcBooleanResult(a[0], a[1], a[2]), + 4182860854: (_) => new IFC4$1.IfcBoundedSurface(), + 2581212453: (a) => new IFC4$1.IfcBoundingBox(a[0], a[1], a[2], a[3]), + 2713105998: (a) => new IFC4$1.IfcBoxedHalfSpace(a[0], a[1], a[2]), + 2898889636: (a) => new IFC4$1.IfcCShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1123145078: (a) => new IFC4$1.IfcCartesianPoint(a[0]), + 574549367: (_) => new IFC4$1.IfcCartesianPointList(), + 1675464909: (a) => new IFC4$1.IfcCartesianPointList2D(a[0]), + 2059837836: (a) => new IFC4$1.IfcCartesianPointList3D(a[0]), + 59481748: (a) => new IFC4$1.IfcCartesianTransformationOperator(a[0], a[1], a[2], a[3]), + 3749851601: (a) => new IFC4$1.IfcCartesianTransformationOperator2D(a[0], a[1], a[2], a[3]), + 3486308946: (a) => new IFC4$1.IfcCartesianTransformationOperator2DnonUniform(a[0], a[1], a[2], a[3], a[4]), + 3331915920: (a) => new IFC4$1.IfcCartesianTransformationOperator3D(a[0], a[1], a[2], a[3], a[4]), + 1416205885: (a) => new IFC4$1.IfcCartesianTransformationOperator3DnonUniform(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1383045692: (a) => new IFC4$1.IfcCircleProfileDef(a[0], a[1], a[2], a[3]), + 2205249479: (a) => new IFC4$1.IfcClosedShell(a[0]), + 776857604: (a) => new IFC4$1.IfcColourRgb(a[0], a[1], a[2], a[3]), + 2542286263: (a) => new IFC4$1.IfcComplexProperty(a[0], a[1], a[2], a[3]), + 2485617015: (a) => new IFC4$1.IfcCompositeCurveSegment(a[0], a[1], a[2]), + 2574617495: (a) => new IFC4$1.IfcConstructionResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 3419103109: (a) => new IFC4$1.IfcContext(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1815067380: (a) => new IFC4$1.IfcCrewResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 2506170314: (a) => new IFC4$1.IfcCsgPrimitive3D(a[0]), + 2147822146: (a) => new IFC4$1.IfcCsgSolid(a[0]), + 2601014836: (_) => new IFC4$1.IfcCurve(), + 2827736869: (a) => new IFC4$1.IfcCurveBoundedPlane(a[0], a[1], a[2]), + 2629017746: (a) => new IFC4$1.IfcCurveBoundedSurface(a[0], a[1], a[2]), + 32440307: (a) => new IFC4$1.IfcDirection(a[0]), + 526551008: (a) => new IFC4$1.IfcDoorStyle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1472233963: (a) => new IFC4$1.IfcEdgeLoop(a[0]), + 1883228015: (a) => new IFC4$1.IfcElementQuantity(a[0], a[1], a[2], a[3], a[4], a[5]), + 339256511: (a) => new IFC4$1.IfcElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2777663545: (a) => new IFC4$1.IfcElementarySurface(a[0]), + 2835456948: (a) => new IFC4$1.IfcEllipseProfileDef(a[0], a[1], a[2], a[3], a[4]), + 4024345920: (a) => new IFC4$1.IfcEventType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 477187591: (a) => new IFC4$1.IfcExtrudedAreaSolid(a[0], a[1], a[2], a[3]), + 2804161546: (a) => new IFC4$1.IfcExtrudedAreaSolidTapered(a[0], a[1], a[2], a[3], a[4]), + 2047409740: (a) => new IFC4$1.IfcFaceBasedSurfaceModel(a[0]), + 374418227: (a) => new IFC4$1.IfcFillAreaStyleHatching(a[0], a[1], a[2], a[3], a[4]), + 315944413: (a) => new IFC4$1.IfcFillAreaStyleTiles(a[0], a[1], a[2]), + 2652556860: (a) => new IFC4$1.IfcFixedReferenceSweptAreaSolid(a[0], a[1], a[2], a[3], a[4], a[5]), + 4238390223: (a) => new IFC4$1.IfcFurnishingElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1268542332: (a) => new IFC4$1.IfcFurnitureType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 4095422895: (a) => new IFC4$1.IfcGeographicElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 987898635: (a) => new IFC4$1.IfcGeometricCurveSet(a[0]), + 1484403080: (a) => new IFC4$1.IfcIShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 178912537: (a) => new IFC4$1.IfcIndexedPolygonalFace(a[0]), + 2294589976: (a) => new IFC4$1.IfcIndexedPolygonalFaceWithVoids(a[0], a[1]), + 572779678: (a) => new IFC4$1.IfcLShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 428585644: (a) => new IFC4$1.IfcLaborResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1281925730: (a) => new IFC4$1.IfcLine(a[0], a[1]), + 1425443689: (a) => new IFC4$1.IfcManifoldSolidBrep(a[0]), + 3888040117: (a) => new IFC4$1.IfcObject(a[0], a[1], a[2], a[3], a[4]), + 3388369263: (a) => new IFC4$1.IfcOffsetCurve2D(a[0], a[1], a[2]), + 3505215534: (a) => new IFC4$1.IfcOffsetCurve3D(a[0], a[1], a[2], a[3]), + 1682466193: (a) => new IFC4$1.IfcPcurve(a[0], a[1]), + 603570806: (a) => new IFC4$1.IfcPlanarBox(a[0], a[1], a[2]), + 220341763: (a) => new IFC4$1.IfcPlane(a[0]), + 759155922: (a) => new IFC4$1.IfcPreDefinedColour(a[0]), + 2559016684: (a) => new IFC4$1.IfcPreDefinedCurveFont(a[0]), + 3967405729: (a) => new IFC4$1.IfcPreDefinedPropertySet(a[0], a[1], a[2], a[3]), + 569719735: (a) => new IFC4$1.IfcProcedureType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2945172077: (a) => new IFC4$1.IfcProcess(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 4208778838: (a) => new IFC4$1.IfcProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 103090709: (a) => new IFC4$1.IfcProject(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 653396225: (a) => new IFC4$1.IfcProjectLibrary(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 871118103: (a) => new IFC4$1.IfcPropertyBoundedValue(a[0], a[1], a[2], a[3], a[4], a[5]), + 4166981789: (a) => new IFC4$1.IfcPropertyEnumeratedValue(a[0], a[1], a[2], a[3]), + 2752243245: (a) => new IFC4$1.IfcPropertyListValue(a[0], a[1], a[2], a[3]), + 941946838: (a) => new IFC4$1.IfcPropertyReferenceValue(a[0], a[1], a[2], a[3]), + 1451395588: (a) => new IFC4$1.IfcPropertySet(a[0], a[1], a[2], a[3], a[4]), + 492091185: (a) => new IFC4$1.IfcPropertySetTemplate(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3650150729: (a) => new IFC4$1.IfcPropertySingleValue(a[0], a[1], a[2], a[3]), + 110355661: (a) => new IFC4$1.IfcPropertyTableValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3521284610: (a) => new IFC4$1.IfcPropertyTemplate(a[0], a[1], a[2], a[3]), + 3219374653: (a) => new IFC4$1.IfcProxy(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2770003689: (a) => new IFC4$1.IfcRectangleHollowProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2798486643: (a) => new IFC4$1.IfcRectangularPyramid(a[0], a[1], a[2], a[3]), + 3454111270: (a) => new IFC4$1.IfcRectangularTrimmedSurface(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3765753017: (a) => new IFC4$1.IfcReinforcementDefinitionProperties(a[0], a[1], a[2], a[3], a[4], a[5]), + 3939117080: (a) => new IFC4$1.IfcRelAssigns(a[0], a[1], a[2], a[3], a[4], a[5]), + 1683148259: (a) => new IFC4$1.IfcRelAssignsToActor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2495723537: (a) => new IFC4$1.IfcRelAssignsToControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1307041759: (a) => new IFC4$1.IfcRelAssignsToGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1027710054: (a) => new IFC4$1.IfcRelAssignsToGroupByFactor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 4278684876: (a) => new IFC4$1.IfcRelAssignsToProcess(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2857406711: (a) => new IFC4$1.IfcRelAssignsToProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 205026976: (a) => new IFC4$1.IfcRelAssignsToResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1865459582: (a) => new IFC4$1.IfcRelAssociates(a[0], a[1], a[2], a[3], a[4]), + 4095574036: (a) => new IFC4$1.IfcRelAssociatesApproval(a[0], a[1], a[2], a[3], a[4], a[5]), + 919958153: (a) => new IFC4$1.IfcRelAssociatesClassification(a[0], a[1], a[2], a[3], a[4], a[5]), + 2728634034: (a) => new IFC4$1.IfcRelAssociatesConstraint(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 982818633: (a) => new IFC4$1.IfcRelAssociatesDocument(a[0], a[1], a[2], a[3], a[4], a[5]), + 3840914261: (a) => new IFC4$1.IfcRelAssociatesLibrary(a[0], a[1], a[2], a[3], a[4], a[5]), + 2655215786: (a) => new IFC4$1.IfcRelAssociatesMaterial(a[0], a[1], a[2], a[3], a[4], a[5]), + 826625072: (a) => new IFC4$1.IfcRelConnects(a[0], a[1], a[2], a[3]), + 1204542856: (a) => new IFC4$1.IfcRelConnectsElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3945020480: (a) => new IFC4$1.IfcRelConnectsPathElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 4201705270: (a) => new IFC4$1.IfcRelConnectsPortToElement(a[0], a[1], a[2], a[3], a[4], a[5]), + 3190031847: (a) => new IFC4$1.IfcRelConnectsPorts(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2127690289: (a) => new IFC4$1.IfcRelConnectsStructuralActivity(a[0], a[1], a[2], a[3], a[4], a[5]), + 1638771189: (a) => new IFC4$1.IfcRelConnectsStructuralMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 504942748: (a) => new IFC4$1.IfcRelConnectsWithEccentricity(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 3678494232: (a) => new IFC4$1.IfcRelConnectsWithRealizingElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3242617779: (a) => new IFC4$1.IfcRelContainedInSpatialStructure(a[0], a[1], a[2], a[3], a[4], a[5]), + 886880790: (a) => new IFC4$1.IfcRelCoversBldgElements(a[0], a[1], a[2], a[3], a[4], a[5]), + 2802773753: (a) => new IFC4$1.IfcRelCoversSpaces(a[0], a[1], a[2], a[3], a[4], a[5]), + 2565941209: (a) => new IFC4$1.IfcRelDeclares(a[0], a[1], a[2], a[3], a[4], a[5]), + 2551354335: (a) => new IFC4$1.IfcRelDecomposes(a[0], a[1], a[2], a[3]), + 693640335: (a) => new IFC4$1.IfcRelDefines(a[0], a[1], a[2], a[3]), + 1462361463: (a) => new IFC4$1.IfcRelDefinesByObject(a[0], a[1], a[2], a[3], a[4], a[5]), + 4186316022: (a) => new IFC4$1.IfcRelDefinesByProperties(a[0], a[1], a[2], a[3], a[4], a[5]), + 307848117: (a) => new IFC4$1.IfcRelDefinesByTemplate(a[0], a[1], a[2], a[3], a[4], a[5]), + 781010003: (a) => new IFC4$1.IfcRelDefinesByType(a[0], a[1], a[2], a[3], a[4], a[5]), + 3940055652: (a) => new IFC4$1.IfcRelFillsElement(a[0], a[1], a[2], a[3], a[4], a[5]), + 279856033: (a) => new IFC4$1.IfcRelFlowControlElements(a[0], a[1], a[2], a[3], a[4], a[5]), + 427948657: (a) => new IFC4$1.IfcRelInterferesElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3268803585: (a) => new IFC4$1.IfcRelNests(a[0], a[1], a[2], a[3], a[4], a[5]), + 750771296: (a) => new IFC4$1.IfcRelProjectsElement(a[0], a[1], a[2], a[3], a[4], a[5]), + 1245217292: (a) => new IFC4$1.IfcRelReferencedInSpatialStructure(a[0], a[1], a[2], a[3], a[4], a[5]), + 4122056220: (a) => new IFC4$1.IfcRelSequence(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 366585022: (a) => new IFC4$1.IfcRelServicesBuildings(a[0], a[1], a[2], a[3], a[4], a[5]), + 3451746338: (a) => new IFC4$1.IfcRelSpaceBoundary(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3523091289: (a) => new IFC4$1.IfcRelSpaceBoundary1stLevel(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1521410863: (a) => new IFC4$1.IfcRelSpaceBoundary2ndLevel(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1401173127: (a) => new IFC4$1.IfcRelVoidsElement(a[0], a[1], a[2], a[3], a[4], a[5]), + 816062949: (a) => new IFC4$1.IfcReparametrisedCompositeCurveSegment(a[0], a[1], a[2], a[3]), + 2914609552: (a) => new IFC4$1.IfcResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1856042241: (a) => new IFC4$1.IfcRevolvedAreaSolid(a[0], a[1], a[2], a[3]), + 3243963512: (a) => new IFC4$1.IfcRevolvedAreaSolidTapered(a[0], a[1], a[2], a[3], a[4]), + 4158566097: (a) => new IFC4$1.IfcRightCircularCone(a[0], a[1], a[2]), + 3626867408: (a) => new IFC4$1.IfcRightCircularCylinder(a[0], a[1], a[2]), + 3663146110: (a) => new IFC4$1.IfcSimplePropertyTemplate(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1412071761: (a) => new IFC4$1.IfcSpatialElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 710998568: (a) => new IFC4$1.IfcSpatialElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2706606064: (a) => new IFC4$1.IfcSpatialStructureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3893378262: (a) => new IFC4$1.IfcSpatialStructureElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 463610769: (a) => new IFC4$1.IfcSpatialZone(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2481509218: (a) => new IFC4$1.IfcSpatialZoneType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 451544542: (a) => new IFC4$1.IfcSphere(a[0], a[1]), + 4015995234: (a) => new IFC4$1.IfcSphericalSurface(a[0], a[1]), + 3544373492: (a) => new IFC4$1.IfcStructuralActivity(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3136571912: (a) => new IFC4$1.IfcStructuralItem(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 530289379: (a) => new IFC4$1.IfcStructuralMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3689010777: (a) => new IFC4$1.IfcStructuralReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3979015343: (a) => new IFC4$1.IfcStructuralSurfaceMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2218152070: (a) => new IFC4$1.IfcStructuralSurfaceMemberVarying(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 603775116: (a) => new IFC4$1.IfcStructuralSurfaceReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4095615324: (a) => new IFC4$1.IfcSubContractResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 699246055: (a) => new IFC4$1.IfcSurfaceCurve(a[0], a[1], a[2]), + 2028607225: (a) => new IFC4$1.IfcSurfaceCurveSweptAreaSolid(a[0], a[1], a[2], a[3], a[4], a[5]), + 2809605785: (a) => new IFC4$1.IfcSurfaceOfLinearExtrusion(a[0], a[1], a[2], a[3]), + 4124788165: (a) => new IFC4$1.IfcSurfaceOfRevolution(a[0], a[1], a[2]), + 1580310250: (a) => new IFC4$1.IfcSystemFurnitureElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3473067441: (a) => new IFC4$1.IfcTask(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 3206491090: (a) => new IFC4$1.IfcTaskType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 2387106220: (a) => new IFC4$1.IfcTessellatedFaceSet(a[0]), + 1935646853: (a) => new IFC4$1.IfcToroidalSurface(a[0], a[1], a[2]), + 2097647324: (a) => new IFC4$1.IfcTransportElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2916149573: (a) => new IFC4$1.IfcTriangulatedFaceSet(a[0], a[1], a[2], a[3], a[4]), + 336235671: (a) => new IFC4$1.IfcWindowLiningProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15]), + 512836454: (a) => new IFC4$1.IfcWindowPanelProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2296667514: (a) => new IFC4$1.IfcActor(a[0], a[1], a[2], a[3], a[4], a[5]), + 1635779807: (a) => new IFC4$1.IfcAdvancedBrep(a[0]), + 2603310189: (a) => new IFC4$1.IfcAdvancedBrepWithVoids(a[0], a[1]), + 1674181508: (a) => new IFC4$1.IfcAnnotation(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2887950389: (a) => new IFC4$1.IfcBSplineSurface(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 167062518: (a) => new IFC4$1.IfcBSplineSurfaceWithKnots(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1334484129: (a) => new IFC4$1.IfcBlock(a[0], a[1], a[2], a[3]), + 3649129432: (a) => new IFC4$1.IfcBooleanClippingResult(a[0], a[1], a[2]), + 1260505505: (_) => new IFC4$1.IfcBoundedCurve(), + 4031249490: (a) => new IFC4$1.IfcBuilding(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1950629157: (a) => new IFC4$1.IfcBuildingElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3124254112: (a) => new IFC4$1.IfcBuildingStorey(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2197970202: (a) => new IFC4$1.IfcChimneyType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2937912522: (a) => new IFC4$1.IfcCircleHollowProfileDef(a[0], a[1], a[2], a[3], a[4]), + 3893394355: (a) => new IFC4$1.IfcCivilElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 300633059: (a) => new IFC4$1.IfcColumnType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3875453745: (a) => new IFC4$1.IfcComplexPropertyTemplate(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3732776249: (a) => new IFC4$1.IfcCompositeCurve(a[0], a[1]), + 15328376: (a) => new IFC4$1.IfcCompositeCurveOnSurface(a[0], a[1]), + 2510884976: (a) => new IFC4$1.IfcConic(a[0]), + 2185764099: (a) => new IFC4$1.IfcConstructionEquipmentResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 4105962743: (a) => new IFC4$1.IfcConstructionMaterialResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1525564444: (a) => new IFC4$1.IfcConstructionProductResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 2559216714: (a) => new IFC4$1.IfcConstructionResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3293443760: (a) => new IFC4$1.IfcControl(a[0], a[1], a[2], a[3], a[4], a[5]), + 3895139033: (a) => new IFC4$1.IfcCostItem(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1419761937: (a) => new IFC4$1.IfcCostSchedule(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1916426348: (a) => new IFC4$1.IfcCoveringType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3295246426: (a) => new IFC4$1.IfcCrewResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1457835157: (a) => new IFC4$1.IfcCurtainWallType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1213902940: (a) => new IFC4$1.IfcCylindricalSurface(a[0], a[1]), + 3256556792: (a) => new IFC4$1.IfcDistributionElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3849074793: (a) => new IFC4$1.IfcDistributionFlowElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2963535650: (a) => new IFC4$1.IfcDoorLiningProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]), + 1714330368: (a) => new IFC4$1.IfcDoorPanelProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2323601079: (a) => new IFC4$1.IfcDoorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 445594917: (a) => new IFC4$1.IfcDraughtingPreDefinedColour(a[0]), + 4006246654: (a) => new IFC4$1.IfcDraughtingPreDefinedCurveFont(a[0]), + 1758889154: (a) => new IFC4$1.IfcElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 4123344466: (a) => new IFC4$1.IfcElementAssembly(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2397081782: (a) => new IFC4$1.IfcElementAssemblyType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1623761950: (a) => new IFC4$1.IfcElementComponent(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2590856083: (a) => new IFC4$1.IfcElementComponentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1704287377: (a) => new IFC4$1.IfcEllipse(a[0], a[1], a[2]), + 2107101300: (a) => new IFC4$1.IfcEnergyConversionDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 132023988: (a) => new IFC4$1.IfcEngineType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3174744832: (a) => new IFC4$1.IfcEvaporativeCoolerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3390157468: (a) => new IFC4$1.IfcEvaporatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4148101412: (a) => new IFC4$1.IfcEvent(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 2853485674: (a) => new IFC4$1.IfcExternalSpatialStructureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 807026263: (a) => new IFC4$1.IfcFacetedBrep(a[0]), + 3737207727: (a) => new IFC4$1.IfcFacetedBrepWithVoids(a[0], a[1]), + 647756555: (a) => new IFC4$1.IfcFastener(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2489546625: (a) => new IFC4$1.IfcFastenerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2827207264: (a) => new IFC4$1.IfcFeatureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2143335405: (a) => new IFC4$1.IfcFeatureElementAddition(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1287392070: (a) => new IFC4$1.IfcFeatureElementSubtraction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3907093117: (a) => new IFC4$1.IfcFlowControllerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3198132628: (a) => new IFC4$1.IfcFlowFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3815607619: (a) => new IFC4$1.IfcFlowMeterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1482959167: (a) => new IFC4$1.IfcFlowMovingDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1834744321: (a) => new IFC4$1.IfcFlowSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1339347760: (a) => new IFC4$1.IfcFlowStorageDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2297155007: (a) => new IFC4$1.IfcFlowTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3009222698: (a) => new IFC4$1.IfcFlowTreatmentDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1893162501: (a) => new IFC4$1.IfcFootingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 263784265: (a) => new IFC4$1.IfcFurnishingElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1509553395: (a) => new IFC4$1.IfcFurniture(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3493046030: (a) => new IFC4$1.IfcGeographicElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3009204131: (a) => new IFC4$1.IfcGrid(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 2706460486: (a) => new IFC4$1.IfcGroup(a[0], a[1], a[2], a[3], a[4]), + 1251058090: (a) => new IFC4$1.IfcHeatExchangerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1806887404: (a) => new IFC4$1.IfcHumidifierType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2571569899: (a) => new IFC4$1.IfcIndexedPolyCurve(a[0], a[1], a[2]), + 3946677679: (a) => new IFC4$1.IfcInterceptorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3113134337: (a) => new IFC4$1.IfcIntersectionCurve(a[0], a[1], a[2]), + 2391368822: (a) => new IFC4$1.IfcInventory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 4288270099: (a) => new IFC4$1.IfcJunctionBoxType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3827777499: (a) => new IFC4$1.IfcLaborResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1051575348: (a) => new IFC4$1.IfcLampType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1161773419: (a) => new IFC4$1.IfcLightFixtureType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 377706215: (a) => new IFC4$1.IfcMechanicalFastener(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 2108223431: (a) => new IFC4$1.IfcMechanicalFastenerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1114901282: (a) => new IFC4$1.IfcMedicalDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3181161470: (a) => new IFC4$1.IfcMemberType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 977012517: (a) => new IFC4$1.IfcMotorConnectionType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4143007308: (a) => new IFC4$1.IfcOccupant(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3588315303: (a) => new IFC4$1.IfcOpeningElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3079942009: (a) => new IFC4$1.IfcOpeningStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2837617999: (a) => new IFC4$1.IfcOutletType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2382730787: (a) => new IFC4$1.IfcPerformanceHistory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3566463478: (a) => new IFC4$1.IfcPermeableCoveringProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3327091369: (a) => new IFC4$1.IfcPermit(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1158309216: (a) => new IFC4$1.IfcPileType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 804291784: (a) => new IFC4$1.IfcPipeFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4231323485: (a) => new IFC4$1.IfcPipeSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4017108033: (a) => new IFC4$1.IfcPlateType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2839578677: (a) => new IFC4$1.IfcPolygonalFaceSet(a[0], a[1], a[2], a[3]), + 3724593414: (a) => new IFC4$1.IfcPolyline(a[0]), + 3740093272: (a) => new IFC4$1.IfcPort(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2744685151: (a) => new IFC4$1.IfcProcedure(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2904328755: (a) => new IFC4$1.IfcProjectOrder(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3651124850: (a) => new IFC4$1.IfcProjectionElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1842657554: (a) => new IFC4$1.IfcProtectiveDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2250791053: (a) => new IFC4$1.IfcPumpType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2893384427: (a) => new IFC4$1.IfcRailingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2324767716: (a) => new IFC4$1.IfcRampFlightType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1469900589: (a) => new IFC4$1.IfcRampType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 683857671: (a) => new IFC4$1.IfcRationalBSplineSurfaceWithKnots(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 3027567501: (a) => new IFC4$1.IfcReinforcingElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 964333572: (a) => new IFC4$1.IfcReinforcingElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2320036040: (a) => new IFC4$1.IfcReinforcingMesh(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17]), + 2310774935: (a) => new IFC4$1.IfcReinforcingMeshType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19]), + 160246688: (a) => new IFC4$1.IfcRelAggregates(a[0], a[1], a[2], a[3], a[4], a[5]), + 2781568857: (a) => new IFC4$1.IfcRoofType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1768891740: (a) => new IFC4$1.IfcSanitaryTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2157484638: (a) => new IFC4$1.IfcSeamCurve(a[0], a[1], a[2]), + 4074543187: (a) => new IFC4$1.IfcShadingDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4097777520: (a) => new IFC4$1.IfcSite(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]), + 2533589738: (a) => new IFC4$1.IfcSlabType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1072016465: (a) => new IFC4$1.IfcSolarDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3856911033: (a) => new IFC4$1.IfcSpace(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1305183839: (a) => new IFC4$1.IfcSpaceHeaterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3812236995: (a) => new IFC4$1.IfcSpaceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 3112655638: (a) => new IFC4$1.IfcStackTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1039846685: (a) => new IFC4$1.IfcStairFlightType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 338393293: (a) => new IFC4$1.IfcStairType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 682877961: (a) => new IFC4$1.IfcStructuralAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1179482911: (a) => new IFC4$1.IfcStructuralConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1004757350: (a) => new IFC4$1.IfcStructuralCurveAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 4243806635: (a) => new IFC4$1.IfcStructuralCurveConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 214636428: (a) => new IFC4$1.IfcStructuralCurveMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2445595289: (a) => new IFC4$1.IfcStructuralCurveMemberVarying(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2757150158: (a) => new IFC4$1.IfcStructuralCurveReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1807405624: (a) => new IFC4$1.IfcStructuralLinearAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1252848954: (a) => new IFC4$1.IfcStructuralLoadGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2082059205: (a) => new IFC4$1.IfcStructuralPointAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 734778138: (a) => new IFC4$1.IfcStructuralPointConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1235345126: (a) => new IFC4$1.IfcStructuralPointReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2986769608: (a) => new IFC4$1.IfcStructuralResultGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3657597509: (a) => new IFC4$1.IfcStructuralSurfaceAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1975003073: (a) => new IFC4$1.IfcStructuralSurfaceConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 148013059: (a) => new IFC4$1.IfcSubContractResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 3101698114: (a) => new IFC4$1.IfcSurfaceFeature(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2315554128: (a) => new IFC4$1.IfcSwitchingDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2254336722: (a) => new IFC4$1.IfcSystem(a[0], a[1], a[2], a[3], a[4]), + 413509423: (a) => new IFC4$1.IfcSystemFurnitureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 5716631: (a) => new IFC4$1.IfcTankType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3824725483: (a) => new IFC4$1.IfcTendon(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]), + 2347447852: (a) => new IFC4$1.IfcTendonAnchor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3081323446: (a) => new IFC4$1.IfcTendonAnchorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2415094496: (a) => new IFC4$1.IfcTendonType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 1692211062: (a) => new IFC4$1.IfcTransformerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1620046519: (a) => new IFC4$1.IfcTransportElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3593883385: (a) => new IFC4$1.IfcTrimmedCurve(a[0], a[1], a[2], a[3], a[4]), + 1600972822: (a) => new IFC4$1.IfcTubeBundleType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1911125066: (a) => new IFC4$1.IfcUnitaryEquipmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 728799441: (a) => new IFC4$1.IfcValveType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2391383451: (a) => new IFC4$1.IfcVibrationIsolator(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3313531582: (a) => new IFC4$1.IfcVibrationIsolatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2769231204: (a) => new IFC4$1.IfcVirtualElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 926996030: (a) => new IFC4$1.IfcVoidingFeature(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1898987631: (a) => new IFC4$1.IfcWallType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1133259667: (a) => new IFC4$1.IfcWasteTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4009809668: (a) => new IFC4$1.IfcWindowType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 4088093105: (a) => new IFC4$1.IfcWorkCalendar(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1028945134: (a) => new IFC4$1.IfcWorkControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 4218914973: (a) => new IFC4$1.IfcWorkPlan(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]), + 3342526732: (a) => new IFC4$1.IfcWorkSchedule(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]), + 1033361043: (a) => new IFC4$1.IfcZone(a[0], a[1], a[2], a[3], a[4], a[5]), + 3821786052: (a) => new IFC4$1.IfcActionRequest(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1411407467: (a) => new IFC4$1.IfcAirTerminalBoxType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3352864051: (a) => new IFC4$1.IfcAirTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1871374353: (a) => new IFC4$1.IfcAirToAirHeatRecoveryType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3460190687: (a) => new IFC4$1.IfcAsset(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]), + 1532957894: (a) => new IFC4$1.IfcAudioVisualApplianceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1967976161: (a) => new IFC4$1.IfcBSplineCurve(a[0], a[1], a[2], a[3], a[4]), + 2461110595: (a) => new IFC4$1.IfcBSplineCurveWithKnots(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 819618141: (a) => new IFC4$1.IfcBeamType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 231477066: (a) => new IFC4$1.IfcBoilerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1136057603: (a) => new IFC4$1.IfcBoundaryCurve(a[0], a[1]), + 3299480353: (a) => new IFC4$1.IfcBuildingElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2979338954: (a) => new IFC4$1.IfcBuildingElementPart(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 39481116: (a) => new IFC4$1.IfcBuildingElementPartType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1095909175: (a) => new IFC4$1.IfcBuildingElementProxy(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1909888760: (a) => new IFC4$1.IfcBuildingElementProxyType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1177604601: (a) => new IFC4$1.IfcBuildingSystem(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2188180465: (a) => new IFC4$1.IfcBurnerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 395041908: (a) => new IFC4$1.IfcCableCarrierFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3293546465: (a) => new IFC4$1.IfcCableCarrierSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2674252688: (a) => new IFC4$1.IfcCableFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1285652485: (a) => new IFC4$1.IfcCableSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2951183804: (a) => new IFC4$1.IfcChillerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3296154744: (a) => new IFC4$1.IfcChimney(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2611217952: (a) => new IFC4$1.IfcCircle(a[0], a[1]), + 1677625105: (a) => new IFC4$1.IfcCivilElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2301859152: (a) => new IFC4$1.IfcCoilType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 843113511: (a) => new IFC4$1.IfcColumn(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 905975707: (a) => new IFC4$1.IfcColumnStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 400855858: (a) => new IFC4$1.IfcCommunicationsApplianceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3850581409: (a) => new IFC4$1.IfcCompressorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2816379211: (a) => new IFC4$1.IfcCondenserType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3898045240: (a) => new IFC4$1.IfcConstructionEquipmentResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1060000209: (a) => new IFC4$1.IfcConstructionMaterialResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 488727124: (a) => new IFC4$1.IfcConstructionProductResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 335055490: (a) => new IFC4$1.IfcCooledBeamType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2954562838: (a) => new IFC4$1.IfcCoolingTowerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1973544240: (a) => new IFC4$1.IfcCovering(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3495092785: (a) => new IFC4$1.IfcCurtainWall(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3961806047: (a) => new IFC4$1.IfcDamperType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1335981549: (a) => new IFC4$1.IfcDiscreteAccessory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2635815018: (a) => new IFC4$1.IfcDiscreteAccessoryType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1599208980: (a) => new IFC4$1.IfcDistributionChamberElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2063403501: (a) => new IFC4$1.IfcDistributionControlElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1945004755: (a) => new IFC4$1.IfcDistributionElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3040386961: (a) => new IFC4$1.IfcDistributionFlowElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3041715199: (a) => new IFC4$1.IfcDistributionPort(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3205830791: (a) => new IFC4$1.IfcDistributionSystem(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 395920057: (a) => new IFC4$1.IfcDoor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 3242481149: (a) => new IFC4$1.IfcDoorStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 869906466: (a) => new IFC4$1.IfcDuctFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3760055223: (a) => new IFC4$1.IfcDuctSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2030761528: (a) => new IFC4$1.IfcDuctSilencerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 663422040: (a) => new IFC4$1.IfcElectricApplianceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2417008758: (a) => new IFC4$1.IfcElectricDistributionBoardType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3277789161: (a) => new IFC4$1.IfcElectricFlowStorageDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1534661035: (a) => new IFC4$1.IfcElectricGeneratorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1217240411: (a) => new IFC4$1.IfcElectricMotorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 712377611: (a) => new IFC4$1.IfcElectricTimeControlType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1658829314: (a) => new IFC4$1.IfcEnergyConversionDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2814081492: (a) => new IFC4$1.IfcEngine(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3747195512: (a) => new IFC4$1.IfcEvaporativeCooler(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 484807127: (a) => new IFC4$1.IfcEvaporator(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1209101575: (a) => new IFC4$1.IfcExternalSpatialElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 346874300: (a) => new IFC4$1.IfcFanType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1810631287: (a) => new IFC4$1.IfcFilterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4222183408: (a) => new IFC4$1.IfcFireSuppressionTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2058353004: (a) => new IFC4$1.IfcFlowController(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 4278956645: (a) => new IFC4$1.IfcFlowFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 4037862832: (a) => new IFC4$1.IfcFlowInstrumentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2188021234: (a) => new IFC4$1.IfcFlowMeter(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3132237377: (a) => new IFC4$1.IfcFlowMovingDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 987401354: (a) => new IFC4$1.IfcFlowSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 707683696: (a) => new IFC4$1.IfcFlowStorageDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2223149337: (a) => new IFC4$1.IfcFlowTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3508470533: (a) => new IFC4$1.IfcFlowTreatmentDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 900683007: (a) => new IFC4$1.IfcFooting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3319311131: (a) => new IFC4$1.IfcHeatExchanger(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2068733104: (a) => new IFC4$1.IfcHumidifier(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4175244083: (a) => new IFC4$1.IfcInterceptor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2176052936: (a) => new IFC4$1.IfcJunctionBox(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 76236018: (a) => new IFC4$1.IfcLamp(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 629592764: (a) => new IFC4$1.IfcLightFixture(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1437502449: (a) => new IFC4$1.IfcMedicalDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1073191201: (a) => new IFC4$1.IfcMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1911478936: (a) => new IFC4$1.IfcMemberStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2474470126: (a) => new IFC4$1.IfcMotorConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 144952367: (a) => new IFC4$1.IfcOuterBoundaryCurve(a[0], a[1]), + 3694346114: (a) => new IFC4$1.IfcOutlet(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1687234759: (a) => new IFC4$1.IfcPile(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 310824031: (a) => new IFC4$1.IfcPipeFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3612865200: (a) => new IFC4$1.IfcPipeSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3171933400: (a) => new IFC4$1.IfcPlate(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1156407060: (a) => new IFC4$1.IfcPlateStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 738039164: (a) => new IFC4$1.IfcProtectiveDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 655969474: (a) => new IFC4$1.IfcProtectiveDeviceTrippingUnitType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 90941305: (a) => new IFC4$1.IfcPump(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2262370178: (a) => new IFC4$1.IfcRailing(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3024970846: (a) => new IFC4$1.IfcRamp(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3283111854: (a) => new IFC4$1.IfcRampFlight(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1232101972: (a) => new IFC4$1.IfcRationalBSplineCurveWithKnots(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 979691226: (a) => new IFC4$1.IfcReinforcingBar(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]), + 2572171363: (a) => new IFC4$1.IfcReinforcingBarType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15]), + 2016517767: (a) => new IFC4$1.IfcRoof(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3053780830: (a) => new IFC4$1.IfcSanitaryTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1783015770: (a) => new IFC4$1.IfcSensorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1329646415: (a) => new IFC4$1.IfcShadingDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1529196076: (a) => new IFC4$1.IfcSlab(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3127900445: (a) => new IFC4$1.IfcSlabElementedCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3027962421: (a) => new IFC4$1.IfcSlabStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3420628829: (a) => new IFC4$1.IfcSolarDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1999602285: (a) => new IFC4$1.IfcSpaceHeater(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1404847402: (a) => new IFC4$1.IfcStackTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 331165859: (a) => new IFC4$1.IfcStair(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4252922144: (a) => new IFC4$1.IfcStairFlight(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 2515109513: (a) => new IFC4$1.IfcStructuralAnalysisModel(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 385403989: (a) => new IFC4$1.IfcStructuralLoadCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1621171031: (a) => new IFC4$1.IfcStructuralPlanarAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1162798199: (a) => new IFC4$1.IfcSwitchingDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 812556717: (a) => new IFC4$1.IfcTank(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3825984169: (a) => new IFC4$1.IfcTransformer(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3026737570: (a) => new IFC4$1.IfcTubeBundle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3179687236: (a) => new IFC4$1.IfcUnitaryControlElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4292641817: (a) => new IFC4$1.IfcUnitaryEquipment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4207607924: (a) => new IFC4$1.IfcValve(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2391406946: (a) => new IFC4$1.IfcWall(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4156078855: (a) => new IFC4$1.IfcWallElementedCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3512223829: (a) => new IFC4$1.IfcWallStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4237592921: (a) => new IFC4$1.IfcWasteTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3304561284: (a) => new IFC4$1.IfcWindow(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 486154966: (a) => new IFC4$1.IfcWindowStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 2874132201: (a) => new IFC4$1.IfcActuatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1634111441: (a) => new IFC4$1.IfcAirTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 177149247: (a) => new IFC4$1.IfcAirTerminalBox(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2056796094: (a) => new IFC4$1.IfcAirToAirHeatRecovery(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3001207471: (a) => new IFC4$1.IfcAlarmType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 277319702: (a) => new IFC4$1.IfcAudioVisualAppliance(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 753842376: (a) => new IFC4$1.IfcBeam(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2906023776: (a) => new IFC4$1.IfcBeamStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 32344328: (a) => new IFC4$1.IfcBoiler(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2938176219: (a) => new IFC4$1.IfcBurner(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 635142910: (a) => new IFC4$1.IfcCableCarrierFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3758799889: (a) => new IFC4$1.IfcCableCarrierSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1051757585: (a) => new IFC4$1.IfcCableFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4217484030: (a) => new IFC4$1.IfcCableSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3902619387: (a) => new IFC4$1.IfcChiller(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 639361253: (a) => new IFC4$1.IfcCoil(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3221913625: (a) => new IFC4$1.IfcCommunicationsAppliance(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3571504051: (a) => new IFC4$1.IfcCompressor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2272882330: (a) => new IFC4$1.IfcCondenser(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 578613899: (a) => new IFC4$1.IfcControllerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4136498852: (a) => new IFC4$1.IfcCooledBeam(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3640358203: (a) => new IFC4$1.IfcCoolingTower(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4074379575: (a) => new IFC4$1.IfcDamper(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1052013943: (a) => new IFC4$1.IfcDistributionChamberElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 562808652: (a) => new IFC4$1.IfcDistributionCircuit(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1062813311: (a) => new IFC4$1.IfcDistributionControlElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 342316401: (a) => new IFC4$1.IfcDuctFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3518393246: (a) => new IFC4$1.IfcDuctSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1360408905: (a) => new IFC4$1.IfcDuctSilencer(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1904799276: (a) => new IFC4$1.IfcElectricAppliance(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 862014818: (a) => new IFC4$1.IfcElectricDistributionBoard(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3310460725: (a) => new IFC4$1.IfcElectricFlowStorageDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 264262732: (a) => new IFC4$1.IfcElectricGenerator(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 402227799: (a) => new IFC4$1.IfcElectricMotor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1003880860: (a) => new IFC4$1.IfcElectricTimeControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3415622556: (a) => new IFC4$1.IfcFan(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 819412036: (a) => new IFC4$1.IfcFilter(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1426591983: (a) => new IFC4$1.IfcFireSuppressionTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 182646315: (a) => new IFC4$1.IfcFlowInstrument(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2295281155: (a) => new IFC4$1.IfcProtectiveDeviceTrippingUnit(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4086658281: (a) => new IFC4$1.IfcSensor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 630975310: (a) => new IFC4$1.IfcUnitaryControlElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4288193352: (a) => new IFC4$1.IfcActuator(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3087945054: (a) => new IFC4$1.IfcAlarm(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 25142252: (a) => new IFC4$1.IfcController(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]) +}; +ToRawLineData[4] = { + 3630933823: (i) => [i.Role, i.UserDefinedRole, i.Description], + 618182010: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose], + 639542469: (i) => [i.ApplicationDeveloper, i.Version, i.ApplicationFullName, i.ApplicationIdentifier], + 411424972: (i) => [i.Name, i.Description, i.AppliedValue, i.UnitBasis, i.ApplicableDate, i.FixedUntilDate, i.Category, i.Condition, i.ArithmeticOperator, i.Components], + 130549933: (i) => [i.Identifier, i.Name, i.Description, i.TimeOfApproval, i.Status, i.Level, i.Qualifier, i.RequestingApproval, i.GivingApproval], + 4037036970: (i) => [i.Name], + 1560379544: (i) => [i.Name, !i.TranslationalStiffnessByLengthX ? null : Labelise(i.TranslationalStiffnessByLengthX), !i.TranslationalStiffnessByLengthY ? null : Labelise(i.TranslationalStiffnessByLengthY), !i.TranslationalStiffnessByLengthZ ? null : Labelise(i.TranslationalStiffnessByLengthZ), !i.RotationalStiffnessByLengthX ? null : Labelise(i.RotationalStiffnessByLengthX), !i.RotationalStiffnessByLengthY ? null : Labelise(i.RotationalStiffnessByLengthY), !i.RotationalStiffnessByLengthZ ? null : Labelise(i.RotationalStiffnessByLengthZ)], + 3367102660: (i) => [i.Name, !i.TranslationalStiffnessByAreaX ? null : Labelise(i.TranslationalStiffnessByAreaX), !i.TranslationalStiffnessByAreaY ? null : Labelise(i.TranslationalStiffnessByAreaY), !i.TranslationalStiffnessByAreaZ ? null : Labelise(i.TranslationalStiffnessByAreaZ)], + 1387855156: (i) => [i.Name, !i.TranslationalStiffnessX ? null : Labelise(i.TranslationalStiffnessX), !i.TranslationalStiffnessY ? null : Labelise(i.TranslationalStiffnessY), !i.TranslationalStiffnessZ ? null : Labelise(i.TranslationalStiffnessZ), !i.RotationalStiffnessX ? null : Labelise(i.RotationalStiffnessX), !i.RotationalStiffnessY ? null : Labelise(i.RotationalStiffnessY), !i.RotationalStiffnessZ ? null : Labelise(i.RotationalStiffnessZ)], + 2069777674: (i) => [i.Name, !i.TranslationalStiffnessX ? null : Labelise(i.TranslationalStiffnessX), !i.TranslationalStiffnessY ? null : Labelise(i.TranslationalStiffnessY), !i.TranslationalStiffnessZ ? null : Labelise(i.TranslationalStiffnessZ), !i.RotationalStiffnessX ? null : Labelise(i.RotationalStiffnessX), !i.RotationalStiffnessY ? null : Labelise(i.RotationalStiffnessY), !i.RotationalStiffnessZ ? null : Labelise(i.RotationalStiffnessZ), !i.WarpingStiffness ? null : Labelise(i.WarpingStiffness)], + 2859738748: (_) => [], + 2614616156: (i) => [i.PointOnRelatingElement, i.PointOnRelatedElement], + 2732653382: (i) => [i.SurfaceOnRelatingElement, i.SurfaceOnRelatedElement], + 775493141: (i) => [i.VolumeOnRelatingElement, i.VolumeOnRelatedElement], + 1959218052: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, i.CreatingActor, i.CreationTime, i.UserDefinedGrade], + 1785450214: (i) => [i.SourceCRS, i.TargetCRS], + 1466758467: (i) => [i.Name, i.Description, i.GeodeticDatum, i.VerticalDatum], + 602808272: (i) => [i.Name, i.Description, i.AppliedValue, i.UnitBasis, i.ApplicableDate, i.FixedUntilDate, i.Category, i.Condition, i.ArithmeticOperator, i.Components], + 1765591967: (i) => [i.Elements, i.UnitType, i.UserDefinedType], + 1045800335: (i) => [i.Unit, i.Exponent], + 2949456006: (i) => [i.LengthExponent, i.MassExponent, i.TimeExponent, i.ElectricCurrentExponent, i.ThermodynamicTemperatureExponent, i.AmountOfSubstanceExponent, i.LuminousIntensityExponent], + 4294318154: (_) => [], + 3200245327: (i) => [i.Location, i.Identification, i.Name], + 2242383968: (i) => [i.Location, i.Identification, i.Name], + 1040185647: (i) => [i.Location, i.Identification, i.Name], + 3548104201: (i) => [i.Location, i.Identification, i.Name], + 852622518: (i) => { + var _a; + return [i.AxisTag, i.AxisCurve, (_a = i.SameSense) == null ? void 0 : _a.toString()]; + }, + 3020489413: (i) => [i.TimeStamp, i.ListValues.map((p) => Labelise(p))], + 2655187982: (i) => [i.Name, i.Version, i.Publisher, i.VersionDate, i.Location, i.Description], + 3452421091: (i) => [i.Location, i.Identification, i.Name, i.Description, i.Language, i.ReferencedLibrary], + 4162380809: (i) => [i.MainPlaneAngle, i.SecondaryPlaneAngle, i.LuminousIntensity], + 1566485204: (i) => [i.LightDistributionCurve, i.DistributionData], + 3057273783: (i) => [i.SourceCRS, i.TargetCRS, i.Eastings, i.Northings, i.OrthogonalHeight, i.XAxisAbscissa, i.XAxisOrdinate, i.Scale], + 1847130766: (i) => [i.MaterialClassifications, i.ClassifiedMaterial], + 760658860: (_) => [], + 248100487: (i) => { + var _a; + return [i.Material, i.LayerThickness, (_a = i.IsVentilated) == null ? void 0 : _a.toString(), i.Name, i.Description, i.Category, i.Priority]; + }, + 3303938423: (i) => [i.MaterialLayers, i.LayerSetName, i.Description], + 1847252529: (i) => { + var _a; + return [i.Material, i.LayerThickness, (_a = i.IsVentilated) == null ? void 0 : _a.toString(), i.Name, i.Description, i.Category, i.Priority, i.OffsetDirection, i.OffsetValues]; + }, + 2199411900: (i) => [i.Materials], + 2235152071: (i) => [i.Name, i.Description, i.Material, i.Profile, i.Priority, i.Category], + 164193824: (i) => [i.Name, i.Description, i.MaterialProfiles, i.CompositeProfile], + 552965576: (i) => [i.Name, i.Description, i.Material, i.Profile, i.Priority, i.Category, i.OffsetValues], + 1507914824: (_) => [], + 2597039031: (i) => [Labelise(i.ValueComponent), i.UnitComponent], + 3368373690: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, i.CreatingActor, i.CreationTime, i.UserDefinedGrade, i.Benchmark, i.ValueSource, i.DataValue, i.ReferencePath], + 2706619895: (i) => [i.Currency], + 1918398963: (i) => [i.Dimensions, i.UnitType], + 3701648758: (_) => [], + 2251480897: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, i.CreatingActor, i.CreationTime, i.UserDefinedGrade, i.BenchmarkValues, i.LogicalAggregator, i.ObjectiveQualifier, i.UserDefinedQualifier], + 4251960020: (i) => [i.Identification, i.Name, i.Description, i.Roles, i.Addresses], + 1207048766: (i) => [i.OwningUser, i.OwningApplication, i.State, i.ChangeAction, i.LastModifiedDate, i.LastModifyingUser, i.LastModifyingApplication, i.CreationDate], + 2077209135: (i) => [i.Identification, i.FamilyName, i.GivenName, i.MiddleNames, i.PrefixTitles, i.SuffixTitles, i.Roles, i.Addresses], + 101040310: (i) => [i.ThePerson, i.TheOrganization, i.Roles], + 2483315170: (i) => [i.Name, i.Description], + 2226359599: (i) => [i.Name, i.Description, i.Unit], + 3355820592: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose, i.InternalLocation, i.AddressLines, i.PostalBox, i.Town, i.Region, i.PostalCode, i.Country], + 677532197: (_) => [], + 2022622350: (i) => [i.Name, i.Description, i.AssignedItems, i.Identifier], + 1304840413: (i) => { + var _a, _b, _c; + return [i.Name, i.Description, i.AssignedItems, i.Identifier, (_a = i.LayerOn) == null ? void 0 : _a.toString(), (_b = i.LayerFrozen) == null ? void 0 : _b.toString(), (_c = i.LayerBlocked) == null ? void 0 : _c.toString(), i.LayerStyles]; + }, + 3119450353: (i) => [i.Name], + 2417041796: (i) => [i.Styles], + 2095639259: (i) => [i.Name, i.Description, i.Representations], + 3958567839: (i) => [i.ProfileType, i.ProfileName], + 3843373140: (i) => [i.Name, i.Description, i.GeodeticDatum, i.VerticalDatum, i.MapProjection, i.MapZone, i.MapUnit], + 986844984: (_) => [], + 3710013099: (i) => [i.Name, i.EnumerationValues.map((p) => Labelise(p)), i.Unit], + 2044713172: (i) => [i.Name, i.Description, i.Unit, i.AreaValue, i.Formula], + 2093928680: (i) => [i.Name, i.Description, i.Unit, i.CountValue, i.Formula], + 931644368: (i) => [i.Name, i.Description, i.Unit, i.LengthValue, i.Formula], + 3252649465: (i) => [i.Name, i.Description, i.Unit, i.TimeValue, i.Formula], + 2405470396: (i) => [i.Name, i.Description, i.Unit, i.VolumeValue, i.Formula], + 825690147: (i) => [i.Name, i.Description, i.Unit, i.WeightValue, i.Formula], + 3915482550: (i) => [i.RecurrenceType, i.DayComponent, i.WeekdayComponent, i.MonthComponent, i.Position, i.Interval, i.Occurrences, i.TimePeriods], + 2433181523: (i) => [i.TypeIdentifier, i.AttributeIdentifier, i.InstanceName, i.ListPositions, i.InnerReference], + 1076942058: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 3377609919: (i) => [i.ContextIdentifier, i.ContextType], + 3008791417: (_) => [], + 1660063152: (i) => [i.MappingOrigin, i.MappedRepresentation], + 2439245199: (i) => [i.Name, i.Description], + 2341007311: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 448429030: (i) => [i.Dimensions, i.UnitType, i.Prefix, i.Name], + 1054537805: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin], + 867548509: (i) => { + var _a; + return [i.ShapeRepresentations, i.Name, i.Description, (_a = i.ProductDefinitional) == null ? void 0 : _a.toString(), i.PartOfProductDefinitionShape]; + }, + 3982875396: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 4240577450: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 2273995522: (i) => [i.Name], + 2162789131: (i) => [i.Name], + 3478079324: (i) => [i.Name, i.Values, i.Locations], + 609421318: (i) => [i.Name], + 2525727697: (i) => [i.Name], + 3408363356: (i) => [i.Name, i.DeltaTConstant, i.DeltaTY, i.DeltaTZ], + 2830218821: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 3958052878: (i) => [i.Item, i.Styles, i.Name], + 3049322572: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 2934153892: (i) => [i.Name, i.SurfaceReinforcement1, i.SurfaceReinforcement2, i.ShearReinforcement], + 1300840506: (i) => [i.Name, i.Side, i.Styles], + 3303107099: (i) => [i.DiffuseTransmissionColour, i.DiffuseReflectionColour, i.TransmissionColour, i.ReflectanceColour], + 1607154358: (i) => [i.RefractionIndex, i.DispersionFactor], + 846575682: (i) => [i.SurfaceColour, i.Transparency], + 1351298697: (i) => [i.Textures], + 626085974: (i) => { + var _a, _b; + return [(_a = i.RepeatS) == null ? void 0 : _a.toString(), (_b = i.RepeatT) == null ? void 0 : _b.toString(), i.Mode, i.TextureTransform, i.Parameter]; + }, + 985171141: (i) => [i.Name, i.Rows, i.Columns], + 2043862942: (i) => [i.Identifier, i.Name, i.Description, i.Unit, i.ReferencePath], + 531007025: (i) => { + var _a; + return [!i.RowCells ? null : i.RowCells.map((p) => Labelise(p)), (_a = i.IsHeading) == null ? void 0 : _a.toString()]; + }, + 1549132990: (i) => { + var _a; + return [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.DurationType, i.ScheduleDuration, i.ScheduleStart, i.ScheduleFinish, i.EarlyStart, i.EarlyFinish, i.LateStart, i.LateFinish, i.FreeFloat, i.TotalFloat, (_a = i.IsCritical) == null ? void 0 : _a.toString(), i.StatusTime, i.ActualDuration, i.ActualStart, i.ActualFinish, i.RemainingTime, i.Completion]; + }, + 2771591690: (i) => { + var _a; + return [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.DurationType, i.ScheduleDuration, i.ScheduleStart, i.ScheduleFinish, i.EarlyStart, i.EarlyFinish, i.LateStart, i.LateFinish, i.FreeFloat, i.TotalFloat, (_a = i.IsCritical) == null ? void 0 : _a.toString(), i.StatusTime, i.ActualDuration, i.ActualStart, i.ActualFinish, i.RemainingTime, i.Completion, i.Recurrence]; + }, + 912023232: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose, i.TelephoneNumbers, i.FacsimileNumbers, i.PagerNumber, i.ElectronicMailAddresses, i.WWWHomePageURL, i.MessagingIDs], + 1447204868: (i) => { + var _a; + return [i.Name, i.TextCharacterAppearance, i.TextStyle, i.TextFontStyle, (_a = i.ModelOrDraughting) == null ? void 0 : _a.toString()]; + }, + 2636378356: (i) => [i.Colour, i.BackgroundColour], + 1640371178: (i) => [!i.TextIndent ? null : Labelise(i.TextIndent), i.TextAlign, i.TextDecoration, !i.LetterSpacing ? null : Labelise(i.LetterSpacing), !i.WordSpacing ? null : Labelise(i.WordSpacing), i.TextTransform, !i.LineHeight ? null : Labelise(i.LineHeight)], + 280115917: (i) => [i.Maps], + 1742049831: (i) => [i.Maps, i.Mode, i.Parameter], + 2552916305: (i) => [i.Maps, i.Vertices, i.MappedTo], + 1210645708: (i) => [i.Coordinates], + 3611470254: (i) => [i.TexCoordsList], + 1199560280: (i) => [i.StartTime, i.EndTime], + 3101149627: (i) => [i.Name, i.Description, i.StartTime, i.EndTime, i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, i.Unit], + 581633288: (i) => [i.ListValues.map((p) => Labelise(p))], + 1377556343: (_) => [], + 1735638870: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 180925521: (i) => [i.Units], + 2799835756: (_) => [], + 1907098498: (i) => [i.VertexGeometry], + 891718957: (i) => [i.IntersectingAxes, i.OffsetDistances], + 1236880293: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.RecurrencePattern, i.Start, i.Finish], + 3869604511: (i) => [i.Name, i.Description, i.RelatingApproval, i.RelatedApprovals], + 3798115385: (i) => [i.ProfileType, i.ProfileName, i.OuterCurve], + 1310608509: (i) => [i.ProfileType, i.ProfileName, i.Curve], + 2705031697: (i) => [i.ProfileType, i.ProfileName, i.OuterCurve, i.InnerCurves], + 616511568: (i) => { + var _a, _b; + return [(_a = i.RepeatS) == null ? void 0 : _a.toString(), (_b = i.RepeatT) == null ? void 0 : _b.toString(), i.Mode, i.TextureTransform, i.Parameter, i.RasterFormat, i.RasterCode]; + }, + 3150382593: (i) => [i.ProfileType, i.ProfileName, i.Curve, i.Thickness], + 747523909: (i) => [i.Source, i.Edition, i.EditionDate, i.Name, i.Description, i.Location, i.ReferenceTokens], + 647927063: (i) => [i.Location, i.Identification, i.Name, i.ReferencedSource, i.Description, i.Sort], + 3285139300: (i) => [i.ColourList], + 3264961684: (i) => [i.Name], + 1485152156: (i) => [i.ProfileType, i.ProfileName, i.Profiles, i.Label], + 370225590: (i) => [i.CfsFaces], + 1981873012: (i) => [i.CurveOnRelatingElement, i.CurveOnRelatedElement], + 45288368: (i) => [i.PointOnRelatingElement, i.PointOnRelatedElement, i.EccentricityInX, i.EccentricityInY, i.EccentricityInZ], + 3050246964: (i) => [i.Dimensions, i.UnitType, i.Name], + 2889183280: (i) => [i.Dimensions, i.UnitType, i.Name, i.ConversionFactor], + 2713554722: (i) => [i.Dimensions, i.UnitType, i.Name, i.ConversionFactor, i.ConversionOffset], + 539742890: (i) => [i.Name, i.Description, i.RelatingMonetaryUnit, i.RelatedMonetaryUnit, i.ExchangeRate, i.RateDateTime, i.RateSource], + 3800577675: (i) => { + var _a; + return [i.Name, i.CurveFont, !i.CurveWidth ? null : Labelise(i.CurveWidth), i.CurveColour, (_a = i.ModelOrDraughting) == null ? void 0 : _a.toString()]; + }, + 1105321065: (i) => [i.Name, i.PatternList], + 2367409068: (i) => [i.Name, i.CurveFont, i.CurveFontScaling], + 3510044353: (i) => [i.VisibleSegmentLength, i.InvisibleSegmentLength], + 3632507154: (i) => [i.ProfileType, i.ProfileName, i.ParentProfile, i.Operator, i.Label], + 1154170062: (i) => [i.Identification, i.Name, i.Description, i.Location, i.Purpose, i.IntendedUse, i.Scope, i.Revision, i.DocumentOwner, i.Editors, i.CreationTime, i.LastRevisionTime, i.ElectronicFormat, i.ValidFrom, i.ValidUntil, i.Confidentiality, i.Status], + 770865208: (i) => [i.Name, i.Description, i.RelatingDocument, i.RelatedDocuments, i.RelationshipType], + 3732053477: (i) => [i.Location, i.Identification, i.Name, i.Description, i.ReferencedDocument], + 3900360178: (i) => [i.EdgeStart, i.EdgeEnd], + 476780140: (i) => { + var _a; + return [i.EdgeStart, i.EdgeEnd, i.EdgeGeometry, (_a = i.SameSense) == null ? void 0 : _a.toString()]; + }, + 211053100: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.ActualDate, i.EarlyDate, i.LateDate, i.ScheduleDate], + 297599258: (i) => [i.Name, i.Description, i.Properties], + 1437805879: (i) => [i.Name, i.Description, i.RelatingReference, i.RelatedResourceObjects], + 2556980723: (i) => [i.Bounds], + 1809719519: (i) => { + var _a; + return [i.Bound, (_a = i.Orientation) == null ? void 0 : _a.toString()]; + }, + 803316827: (i) => { + var _a; + return [i.Bound, (_a = i.Orientation) == null ? void 0 : _a.toString()]; + }, + 3008276851: (i) => { + var _a; + return [i.Bounds, i.FaceSurface, (_a = i.SameSense) == null ? void 0 : _a.toString()]; + }, + 4219587988: (i) => [i.Name, i.TensionFailureX, i.TensionFailureY, i.TensionFailureZ, i.CompressionFailureX, i.CompressionFailureY, i.CompressionFailureZ], + 738692330: (i) => { + var _a; + return [i.Name, i.FillStyles, (_a = i.ModelorDraughting) == null ? void 0 : _a.toString()]; + }, + 3448662350: (i) => [i.ContextIdentifier, i.ContextType, i.CoordinateSpaceDimension, i.Precision, i.WorldCoordinateSystem, i.TrueNorth], + 2453401579: (_) => [], + 4142052618: (i) => [i.ContextIdentifier, i.ContextType, i.CoordinateSpaceDimension, i.Precision, i.WorldCoordinateSystem, i.TrueNorth, i.ParentContext, i.TargetScale, i.TargetView, i.UserDefinedTargetView], + 3590301190: (i) => [i.Elements], + 178086475: (i) => [i.PlacementLocation, i.PlacementRefDirection], + 812098782: (i) => { + var _a; + return [i.BaseSurface, (_a = i.AgreementFlag) == null ? void 0 : _a.toString()]; + }, + 3905492369: (i) => { + var _a, _b; + return [(_a = i.RepeatS) == null ? void 0 : _a.toString(), (_b = i.RepeatT) == null ? void 0 : _b.toString(), i.Mode, i.TextureTransform, i.Parameter, i.URLReference]; + }, + 3570813810: (i) => [i.MappedTo, i.Opacity, i.Colours, i.ColourIndex], + 1437953363: (i) => [i.Maps, i.MappedTo, i.TexCoords], + 2133299955: (i) => [i.Maps, i.MappedTo, i.TexCoords, i.TexCoordIndex], + 3741457305: (i) => [i.Name, i.Description, i.StartTime, i.EndTime, i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, i.Unit, i.Values], + 1585845231: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, Labelise(i.LagValue), i.DurationType], + 1402838566: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity], + 125510826: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity], + 2604431987: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Orientation], + 4266656042: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.ColourAppearance, i.ColourTemperature, i.LuminousFlux, i.LightEmissionSource, i.LightDistributionDataSource], + 1520743889: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.Radius, i.ConstantAttenuation, i.DistanceAttenuation, i.QuadricAttenuation], + 3422422726: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.Radius, i.ConstantAttenuation, i.DistanceAttenuation, i.QuadricAttenuation, i.Orientation, i.ConcentrationExponent, i.SpreadAngle, i.BeamWidthAngle], + 2624227202: (i) => [i.PlacementRelTo, i.RelativePlacement], + 1008929658: (_) => [], + 2347385850: (i) => [i.MappingSource, i.MappingTarget], + 1838606355: (i) => [i.Name, i.Description, i.Category], + 3708119e3: (i) => [i.Name, i.Description, i.Material, i.Fraction, i.Category], + 2852063980: (i) => [i.Name, i.Description, i.MaterialConstituents], + 2022407955: (i) => [i.Name, i.Description, i.Representations, i.RepresentedMaterial], + 1303795690: (i) => [i.ForLayerSet, i.LayerSetDirection, i.DirectionSense, i.OffsetFromReferenceLine, i.ReferenceExtent], + 3079605661: (i) => [i.ForProfileSet, i.CardinalPoint, i.ReferenceExtent], + 3404854881: (i) => [i.ForProfileSet, i.CardinalPoint, i.ReferenceExtent, i.ForProfileEndSet, i.CardinalEndPoint], + 3265635763: (i) => [i.Name, i.Description, i.Properties, i.Material], + 853536259: (i) => [i.Name, i.Description, i.RelatingMaterial, i.RelatedMaterials, i.Expression], + 2998442950: (i) => [i.ProfileType, i.ProfileName, i.ParentProfile, i.Operator, i.Label], + 219451334: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 2665983363: (i) => [i.CfsFaces], + 1411181986: (i) => [i.Name, i.Description, i.RelatingOrganization, i.RelatedOrganizations], + 1029017970: (i) => { + var _a; + return [i.EdgeStart, i.EdgeEnd, i.EdgeElement, (_a = i.Orientation) == null ? void 0 : _a.toString()]; + }, + 2529465313: (i) => [i.ProfileType, i.ProfileName, i.Position], + 2519244187: (i) => [i.EdgeList], + 3021840470: (i) => [i.Name, i.Description, i.HasQuantities, i.Discrimination, i.Quality, i.Usage], + 597895409: (i) => { + var _a, _b; + return [(_a = i.RepeatS) == null ? void 0 : _a.toString(), (_b = i.RepeatT) == null ? void 0 : _b.toString(), i.Mode, i.TextureTransform, i.Parameter, i.Width, i.Height, i.ColourComponents, i.Pixel]; + }, + 2004835150: (i) => [i.Location], + 1663979128: (i) => [i.SizeInX, i.SizeInY], + 2067069095: (_) => [], + 4022376103: (i) => [i.BasisCurve, i.PointParameter], + 1423911732: (i) => [i.BasisSurface, i.PointParameterU, i.PointParameterV], + 2924175390: (i) => [i.Polygon], + 2775532180: (i) => { + var _a; + return [i.BaseSurface, (_a = i.AgreementFlag) == null ? void 0 : _a.toString(), i.Position, i.PolygonalBoundary]; + }, + 3727388367: (i) => [i.Name], + 3778827333: (_) => [], + 1775413392: (i) => [i.Name], + 673634403: (i) => [i.Name, i.Description, i.Representations], + 2802850158: (i) => [i.Name, i.Description, i.Properties, i.ProfileDefinition], + 2598011224: (i) => [i.Name, i.Description], + 1680319473: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 148025276: (i) => [i.Name, i.Description, i.DependingProperty, i.DependantProperty, i.Expression], + 3357820518: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 1482703590: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 2090586900: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 3615266464: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim], + 3413951693: (i) => [i.Name, i.Description, i.StartTime, i.EndTime, i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, i.Unit, i.TimeStep, i.Values], + 1580146022: (i) => [i.TotalCrossSectionArea, i.SteelGrade, i.BarSurface, i.EffectiveDepth, i.NominalBarDiameter, i.BarCount], + 478536968: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 2943643501: (i) => [i.Name, i.Description, i.RelatedResourceObjects, i.RelatingApproval], + 1608871552: (i) => [i.Name, i.Description, i.RelatingConstraint, i.RelatedResourceObjects], + 1042787934: (i) => { + var _a; + return [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.ScheduleWork, i.ScheduleUsage, i.ScheduleStart, i.ScheduleFinish, i.ScheduleContour, i.LevelingDelay, (_a = i.IsOverAllocated) == null ? void 0 : _a.toString(), i.StatusTime, i.ActualWork, i.ActualUsage, i.ActualStart, i.ActualFinish, i.RemainingWork, i.RemainingUsage, i.Completion]; + }, + 2778083089: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim, i.RoundingRadius], + 2042790032: (i) => [i.SectionType, i.StartProfile, i.EndProfile], + 4165799628: (i) => [i.LongitudinalStartPosition, i.LongitudinalEndPosition, i.TransversePosition, i.ReinforcementRole, i.SectionDefinition, i.CrossSectionReinforcementDefinitions], + 1509187699: (i) => [i.SpineCurve, i.CrossSections, i.CrossSectionPositions], + 4124623270: (i) => [i.SbsmBoundary], + 3692461612: (i) => [i.Name, i.Description], + 2609359061: (i) => [i.Name, i.SlippageX, i.SlippageY, i.SlippageZ], + 723233188: (_) => [], + 1595516126: (i) => [i.Name, i.LinearForceX, i.LinearForceY, i.LinearForceZ, i.LinearMomentX, i.LinearMomentY, i.LinearMomentZ], + 2668620305: (i) => [i.Name, i.PlanarForceX, i.PlanarForceY, i.PlanarForceZ], + 2473145415: (i) => [i.Name, i.DisplacementX, i.DisplacementY, i.DisplacementZ, i.RotationalDisplacementRX, i.RotationalDisplacementRY, i.RotationalDisplacementRZ], + 1973038258: (i) => [i.Name, i.DisplacementX, i.DisplacementY, i.DisplacementZ, i.RotationalDisplacementRX, i.RotationalDisplacementRY, i.RotationalDisplacementRZ, i.Distortion], + 1597423693: (i) => [i.Name, i.ForceX, i.ForceY, i.ForceZ, i.MomentX, i.MomentY, i.MomentZ], + 1190533807: (i) => [i.Name, i.ForceX, i.ForceY, i.ForceZ, i.MomentX, i.MomentY, i.MomentZ, i.WarpingMoment], + 2233826070: (i) => [i.EdgeStart, i.EdgeEnd, i.ParentEdge], + 2513912981: (_) => [], + 1878645084: (i) => [i.SurfaceColour, i.Transparency, i.DiffuseColour, i.TransmissionColour, i.DiffuseTransmissionColour, i.ReflectionColour, i.SpecularColour, !i.SpecularHighlight ? null : Labelise(i.SpecularHighlight), i.ReflectanceMethod], + 2247615214: (i) => [i.SweptArea, i.Position], + 1260650574: (i) => [i.Directrix, i.Radius, i.InnerRadius, i.StartParam, i.EndParam], + 1096409881: (i) => [i.Directrix, i.Radius, i.InnerRadius, i.StartParam, i.EndParam, i.FilletRadius], + 230924584: (i) => [i.SweptCurve, i.Position], + 3071757647: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.FlangeEdgeRadius, i.WebEdgeRadius, i.WebSlope, i.FlangeSlope], + 901063453: (_) => [], + 4282788508: (i) => [i.Literal, i.Placement, i.Path], + 3124975700: (i) => [i.Literal, i.Placement, i.Path, i.Extent, i.BoxAlignment], + 1983826977: (i) => [i.Name, i.FontFamily, i.FontStyle, i.FontVariant, i.FontWeight, Labelise(i.FontSize)], + 2715220739: (i) => [i.ProfileType, i.ProfileName, i.Position, i.BottomXDim, i.TopXDim, i.YDim, i.TopXOffset], + 1628702193: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets], + 3736923433: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ProcessType], + 2347495698: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag], + 3698973494: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType], + 427810014: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.EdgeRadius, i.FlangeSlope], + 1417489154: (i) => [i.Orientation, i.Magnitude], + 2759199220: (i) => [i.LoopVertex], + 1299126871: (i) => { + var _a, _b; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ConstructionType, i.OperationType, (_a = i.ParameterTakesPrecedence) == null ? void 0 : _a.toString(), (_b = i.Sizeable) == null ? void 0 : _b.toString()]; + }, + 2543172580: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.EdgeRadius], + 3406155212: (i) => { + var _a; + return [i.Bounds, i.FaceSurface, (_a = i.SameSense) == null ? void 0 : _a.toString()]; + }, + 669184980: (i) => [i.OuterBoundary, i.InnerBoundaries], + 3207858831: (i) => [i.ProfileType, i.ProfileName, i.Position, i.BottomFlangeWidth, i.OverallDepth, i.WebThickness, i.BottomFlangeThickness, i.BottomFlangeFilletRadius, i.TopFlangeWidth, i.TopFlangeThickness, i.TopFlangeFilletRadius, i.BottomFlangeEdgeRadius, i.BottomFlangeSlope, i.TopFlangeEdgeRadius, i.TopFlangeSlope], + 4261334040: (i) => [i.Location, i.Axis], + 3125803723: (i) => [i.Location, i.RefDirection], + 2740243338: (i) => [i.Location, i.Axis, i.RefDirection], + 2736907675: (i) => [i.Operator, i.FirstOperand, i.SecondOperand], + 4182860854: (_) => [], + 2581212453: (i) => [i.Corner, i.XDim, i.YDim, i.ZDim], + 2713105998: (i) => { + var _a; + return [i.BaseSurface, (_a = i.AgreementFlag) == null ? void 0 : _a.toString(), i.Enclosure]; + }, + 2898889636: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.Width, i.WallThickness, i.Girth, i.InternalFilletRadius], + 1123145078: (i) => [i.Coordinates], + 574549367: (_) => [], + 1675464909: (i) => [i.CoordList], + 2059837836: (i) => [i.CoordList], + 59481748: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale], + 3749851601: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale], + 3486308946: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Scale2], + 3331915920: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Axis3], + 1416205885: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Axis3, i.Scale2, i.Scale3], + 1383045692: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Radius], + 2205249479: (i) => [i.CfsFaces], + 776857604: (i) => [i.Name, i.Red, i.Green, i.Blue], + 2542286263: (i) => [i.Name, i.Description, i.UsageName, i.HasProperties], + 2485617015: (i) => { + var _a; + return [i.Transition, (_a = i.SameSense) == null ? void 0 : _a.toString(), i.ParentCurve]; + }, + 2574617495: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity], + 3419103109: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.Phase, i.RepresentationContexts, i.UnitsInContext], + 1815067380: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 2506170314: (i) => [i.Position], + 2147822146: (i) => [i.TreeRootExpression], + 2601014836: (_) => [], + 2827736869: (i) => [i.BasisSurface, i.OuterBoundary, i.InnerBoundaries], + 2629017746: (i) => { + var _a; + return [i.BasisSurface, i.Boundaries, (_a = i.ImplicitOuter) == null ? void 0 : _a.toString()]; + }, + 32440307: (i) => [i.DirectionRatios], + 526551008: (i) => { + var _a, _b; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.OperationType, i.ConstructionType, (_a = i.ParameterTakesPrecedence) == null ? void 0 : _a.toString(), (_b = i.Sizeable) == null ? void 0 : _b.toString()]; + }, + 1472233963: (i) => [i.EdgeList], + 1883228015: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.MethodOfMeasurement, i.Quantities], + 339256511: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 2777663545: (i) => [i.Position], + 2835456948: (i) => [i.ProfileType, i.ProfileName, i.Position, i.SemiAxis1, i.SemiAxis2], + 4024345920: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ProcessType, i.PredefinedType, i.EventTriggerType, i.UserDefinedEventTriggerType], + 477187591: (i) => [i.SweptArea, i.Position, i.ExtrudedDirection, i.Depth], + 2804161546: (i) => [i.SweptArea, i.Position, i.ExtrudedDirection, i.Depth, i.EndSweptArea], + 2047409740: (i) => [i.FbsmFaces], + 374418227: (i) => [i.HatchLineAppearance, i.StartOfNextHatchLine, i.PointOfReferenceHatchLine, i.PatternStart, i.HatchLineAngle], + 315944413: (i) => [i.TilingPattern, i.Tiles, i.TilingScale], + 2652556860: (i) => [i.SweptArea, i.Position, i.Directrix, i.StartParam, i.EndParam, i.FixedReference], + 4238390223: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1268542332: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.AssemblyPlace, i.PredefinedType], + 4095422895: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 987898635: (i) => [i.Elements], + 1484403080: (i) => [i.ProfileType, i.ProfileName, i.Position, i.OverallWidth, i.OverallDepth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.FlangeEdgeRadius, i.FlangeSlope], + 178912537: (i) => [i.CoordIndex], + 2294589976: (i) => [i.CoordIndex, i.InnerCoordIndices], + 572779678: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.Width, i.Thickness, i.FilletRadius, i.EdgeRadius, i.LegSlope], + 428585644: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 1281925730: (i) => [i.Pnt, i.Dir], + 1425443689: (i) => [i.Outer], + 3888040117: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 3388369263: (i) => { + var _a; + return [i.BasisCurve, i.Distance, (_a = i.SelfIntersect) == null ? void 0 : _a.toString()]; + }, + 3505215534: (i) => { + var _a; + return [i.BasisCurve, i.Distance, (_a = i.SelfIntersect) == null ? void 0 : _a.toString(), i.RefDirection]; + }, + 1682466193: (i) => [i.BasisSurface, i.ReferenceCurve], + 603570806: (i) => [i.SizeInX, i.SizeInY, i.Placement], + 220341763: (i) => [i.Position], + 759155922: (i) => [i.Name], + 2559016684: (i) => [i.Name], + 3967405729: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 569719735: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ProcessType, i.PredefinedType], + 2945172077: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription], + 4208778838: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 103090709: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.Phase, i.RepresentationContexts, i.UnitsInContext], + 653396225: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.Phase, i.RepresentationContexts, i.UnitsInContext], + 871118103: (i) => [i.Name, i.Description, !i.UpperBoundValue ? null : Labelise(i.UpperBoundValue), !i.LowerBoundValue ? null : Labelise(i.LowerBoundValue), i.Unit, !i.SetPointValue ? null : Labelise(i.SetPointValue)], + 4166981789: (i) => [i.Name, i.Description, !i.EnumerationValues ? null : i.EnumerationValues.map((p) => Labelise(p)), i.EnumerationReference], + 2752243245: (i) => [i.Name, i.Description, !i.ListValues ? null : i.ListValues.map((p) => Labelise(p)), i.Unit], + 941946838: (i) => [i.Name, i.Description, i.UsageName, i.PropertyReference], + 1451395588: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.HasProperties], + 492091185: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.TemplateType, i.ApplicableEntity, i.HasPropertyTemplates], + 3650150729: (i) => [i.Name, i.Description, !i.NominalValue ? null : Labelise(i.NominalValue), i.Unit], + 110355661: (i) => [i.Name, i.Description, !i.DefiningValues ? null : i.DefiningValues.map((p) => Labelise(p)), !i.DefinedValues ? null : i.DefinedValues.map((p) => Labelise(p)), i.Expression, i.DefiningUnit, i.DefinedUnit, i.CurveInterpolation], + 3521284610: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 3219374653: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.ProxyType, i.Tag], + 2770003689: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim, i.WallThickness, i.InnerFilletRadius, i.OuterFilletRadius], + 2798486643: (i) => [i.Position, i.XLength, i.YLength, i.Height], + 3454111270: (i) => { + var _a, _b; + return [i.BasisSurface, i.U1, i.V1, i.U2, i.V2, (_a = i.Usense) == null ? void 0 : _a.toString(), (_b = i.Vsense) == null ? void 0 : _b.toString()]; + }, + 3765753017: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.DefinitionType, i.ReinforcementSectionDefinitions], + 3939117080: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType], + 1683148259: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingActor, i.ActingRole], + 2495723537: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingControl], + 1307041759: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingGroup], + 1027710054: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingGroup, i.Factor], + 4278684876: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingProcess, i.QuantityInProcess], + 2857406711: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingProduct], + 205026976: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingResource], + 1865459582: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects], + 4095574036: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingApproval], + 919958153: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingClassification], + 2728634034: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.Intent, i.RelatingConstraint], + 982818633: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingDocument], + 3840914261: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingLibrary], + 2655215786: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingMaterial], + 826625072: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 1204542856: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement], + 3945020480: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement, i.RelatingPriorities, i.RelatedPriorities, i.RelatedConnectionType, i.RelatingConnectionType], + 4201705270: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingPort, i.RelatedElement], + 3190031847: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingPort, i.RelatedPort, i.RealizingElement], + 2127690289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingElement, i.RelatedStructuralActivity], + 1638771189: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingStructuralMember, i.RelatedStructuralConnection, i.AppliedCondition, i.AdditionalConditions, i.SupportedLength, i.ConditionCoordinateSystem], + 504942748: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingStructuralMember, i.RelatedStructuralConnection, i.AppliedCondition, i.AdditionalConditions, i.SupportedLength, i.ConditionCoordinateSystem, i.ConnectionConstraint], + 3678494232: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement, i.RealizingElements, i.ConnectionType], + 3242617779: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedElements, i.RelatingStructure], + 886880790: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingBuildingElement, i.RelatedCoverings], + 2802773753: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSpace, i.RelatedCoverings], + 2565941209: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingContext, i.RelatedDefinitions], + 2551354335: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 693640335: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 1462361463: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingObject], + 4186316022: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingPropertyDefinition], + 307848117: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedPropertySets, i.RelatingTemplate], + 781010003: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingType], + 3940055652: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingOpeningElement, i.RelatedBuildingElement], + 279856033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedControlElements, i.RelatingFlowElement], + 427948657: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingElement, i.RelatedElement, i.InterferenceGeometry, i.InterferenceType, i.ImpliedOrder], + 3268803585: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingObject, i.RelatedObjects], + 750771296: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingElement, i.RelatedFeatureElement], + 1245217292: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedElements, i.RelatingStructure], + 4122056220: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingProcess, i.RelatedProcess, i.TimeLag, i.SequenceType, i.UserDefinedSequenceType], + 366585022: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSystem, i.RelatedBuildings], + 3451746338: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSpace, i.RelatedBuildingElement, i.ConnectionGeometry, i.PhysicalOrVirtualBoundary, i.InternalOrExternalBoundary], + 3523091289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSpace, i.RelatedBuildingElement, i.ConnectionGeometry, i.PhysicalOrVirtualBoundary, i.InternalOrExternalBoundary, i.ParentBoundary], + 1521410863: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSpace, i.RelatedBuildingElement, i.ConnectionGeometry, i.PhysicalOrVirtualBoundary, i.InternalOrExternalBoundary, i.ParentBoundary, i.CorrespondingBoundary], + 1401173127: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingBuildingElement, i.RelatedOpeningElement], + 816062949: (i) => { + var _a; + return [i.Transition, (_a = i.SameSense) == null ? void 0 : _a.toString(), i.ParentCurve, i.ParamLength]; + }, + 2914609552: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription], + 1856042241: (i) => [i.SweptArea, i.Position, i.Axis, i.Angle], + 3243963512: (i) => [i.SweptArea, i.Position, i.Axis, i.Angle, i.EndSweptArea], + 4158566097: (i) => [i.Position, i.Height, i.BottomRadius], + 3626867408: (i) => [i.Position, i.Height, i.Radius], + 3663146110: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.TemplateType, i.PrimaryMeasureType, i.SecondaryMeasureType, i.Enumerators, i.PrimaryUnit, i.SecondaryUnit, i.Expression, i.AccessState], + 1412071761: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName], + 710998568: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 2706606064: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType], + 3893378262: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 463610769: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.PredefinedType], + 2481509218: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.LongName], + 451544542: (i) => [i.Position, i.Radius], + 4015995234: (i) => [i.Position, i.Radius], + 3544373492: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal], + 3136571912: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 530289379: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 3689010777: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal], + 3979015343: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Thickness], + 2218152070: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Thickness], + 603775116: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.PredefinedType], + 4095615324: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 699246055: (i) => [i.Curve3D, i.AssociatedGeometry, i.MasterRepresentation], + 2028607225: (i) => [i.SweptArea, i.Position, i.Directrix, i.StartParam, i.EndParam, i.ReferenceSurface], + 2809605785: (i) => [i.SweptCurve, i.Position, i.ExtrudedDirection, i.Depth], + 4124788165: (i) => [i.SweptCurve, i.Position, i.AxisPosition], + 1580310250: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3473067441: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Status, i.WorkMethod, (_a = i.IsMilestone) == null ? void 0 : _a.toString(), i.Priority, i.TaskTime, i.PredefinedType]; + }, + 3206491090: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ProcessType, i.PredefinedType, i.WorkMethod], + 2387106220: (i) => [i.Coordinates], + 1935646853: (i) => [i.Position, i.MajorRadius, i.MinorRadius], + 2097647324: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2916149573: (i) => { + var _a; + return [i.Coordinates, i.Normals, (_a = i.Closed) == null ? void 0 : _a.toString(), i.CoordIndex, i.PnIndex]; + }, + 336235671: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.LiningDepth, i.LiningThickness, i.TransomThickness, i.MullionThickness, i.FirstTransomOffset, i.SecondTransomOffset, i.FirstMullionOffset, i.SecondMullionOffset, i.ShapeAspectStyle, i.LiningOffset, i.LiningToPanelOffsetX, i.LiningToPanelOffsetY], + 512836454: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.OperationType, i.PanelPosition, i.FrameDepth, i.FrameThickness, i.ShapeAspectStyle], + 2296667514: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TheActor], + 1635779807: (i) => [i.Outer], + 2603310189: (i) => [i.Outer, i.Voids], + 1674181508: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 2887950389: (i) => { + var _a, _b, _c; + return [i.UDegree, i.VDegree, i.ControlPointsList, i.SurfaceForm, (_a = i.UClosed) == null ? void 0 : _a.toString(), (_b = i.VClosed) == null ? void 0 : _b.toString(), (_c = i.SelfIntersect) == null ? void 0 : _c.toString()]; + }, + 167062518: (i) => { + var _a, _b, _c; + return [i.UDegree, i.VDegree, i.ControlPointsList, i.SurfaceForm, (_a = i.UClosed) == null ? void 0 : _a.toString(), (_b = i.VClosed) == null ? void 0 : _b.toString(), (_c = i.SelfIntersect) == null ? void 0 : _c.toString(), i.UMultiplicities, i.VMultiplicities, i.UKnots, i.VKnots, i.KnotSpec]; + }, + 1334484129: (i) => [i.Position, i.XLength, i.YLength, i.ZLength], + 3649129432: (i) => [i.Operator, i.FirstOperand, i.SecondOperand], + 1260505505: (_) => [], + 4031249490: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.ElevationOfRefHeight, i.ElevationOfTerrain, i.BuildingAddress], + 1950629157: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3124254112: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.Elevation], + 2197970202: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2937912522: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Radius, i.WallThickness], + 3893394355: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 300633059: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3875453745: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.UsageName, i.TemplateType, i.HasPropertyTemplates], + 3732776249: (i) => { + var _a; + return [i.Segments, (_a = i.SelfIntersect) == null ? void 0 : _a.toString()]; + }, + 15328376: (i) => { + var _a; + return [i.Segments, (_a = i.SelfIntersect) == null ? void 0 : _a.toString()]; + }, + 2510884976: (i) => [i.Position], + 2185764099: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 4105962743: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 1525564444: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 2559216714: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity], + 3293443760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification], + 3895139033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.CostValues, i.CostQuantities], + 1419761937: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.Status, i.SubmittedOn, i.UpdateDate], + 1916426348: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3295246426: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 1457835157: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1213902940: (i) => [i.Position, i.Radius], + 3256556792: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3849074793: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 2963535650: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.LiningDepth, i.LiningThickness, i.ThresholdDepth, i.ThresholdThickness, i.TransomThickness, i.TransomOffset, i.LiningOffset, i.ThresholdOffset, i.CasingThickness, i.CasingDepth, i.ShapeAspectStyle, i.LiningToPanelOffsetX, i.LiningToPanelOffsetY], + 1714330368: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.PanelDepth, i.PanelOperation, i.PanelWidth, i.PanelPosition, i.ShapeAspectStyle], + 2323601079: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.OperationType, (_a = i.ParameterTakesPrecedence) == null ? void 0 : _a.toString(), i.UserDefinedOperationType]; + }, + 445594917: (i) => [i.Name], + 4006246654: (i) => [i.Name], + 1758889154: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 4123344466: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.AssemblyPlace, i.PredefinedType], + 2397081782: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1623761950: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2590856083: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1704287377: (i) => [i.Position, i.SemiAxis1, i.SemiAxis2], + 2107101300: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 132023988: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3174744832: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3390157468: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4148101412: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.PredefinedType, i.EventTriggerType, i.UserDefinedEventTriggerType, i.EventOccurenceTime], + 2853485674: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName], + 807026263: (i) => [i.Outer], + 3737207727: (i) => [i.Outer, i.Voids], + 647756555: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2489546625: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2827207264: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2143335405: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 1287392070: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3907093117: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3198132628: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3815607619: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1482959167: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1834744321: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1339347760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 2297155007: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3009222698: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1893162501: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 263784265: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 1509553395: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3493046030: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3009204131: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.UAxes, i.VAxes, i.WAxes, i.PredefinedType], + 2706460486: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 1251058090: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1806887404: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2571569899: (i) => { + var _a; + return [i.Points, !i.Segments ? null : i.Segments.map((p) => Labelise(p)), (_a = i.SelfIntersect) == null ? void 0 : _a.toString()]; + }, + 3946677679: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3113134337: (i) => [i.Curve3D, i.AssociatedGeometry, i.MasterRepresentation], + 2391368822: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.Jurisdiction, i.ResponsiblePersons, i.LastUpdateDate, i.CurrentValue, i.OriginalValue], + 4288270099: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3827777499: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 1051575348: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1161773419: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 377706215: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.NominalDiameter, i.NominalLength, i.PredefinedType], + 2108223431: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.NominalDiameter, i.NominalLength], + 1114901282: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3181161470: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 977012517: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4143007308: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TheActor, i.PredefinedType], + 3588315303: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3079942009: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2837617999: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2382730787: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LifeCyclePhase, i.PredefinedType], + 3566463478: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.OperationType, i.PanelPosition, i.FrameDepth, i.FrameThickness, i.ShapeAspectStyle], + 3327091369: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.Status, i.LongDescription], + 1158309216: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 804291784: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4231323485: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4017108033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2839578677: (i) => { + var _a; + return [i.Coordinates, (_a = i.Closed) == null ? void 0 : _a.toString(), i.Faces, i.PnIndex]; + }, + 3724593414: (i) => [i.Points], + 3740093272: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 2744685151: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.PredefinedType], + 2904328755: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.Status, i.LongDescription], + 3651124850: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1842657554: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2250791053: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2893384427: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2324767716: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1469900589: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 683857671: (i) => { + var _a, _b, _c; + return [i.UDegree, i.VDegree, i.ControlPointsList, i.SurfaceForm, (_a = i.UClosed) == null ? void 0 : _a.toString(), (_b = i.VClosed) == null ? void 0 : _b.toString(), (_c = i.SelfIntersect) == null ? void 0 : _c.toString(), i.UMultiplicities, i.VMultiplicities, i.UKnots, i.VKnots, i.KnotSpec, i.WeightsData]; + }, + 3027567501: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade], + 964333572: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 2320036040: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.MeshLength, i.MeshWidth, i.LongitudinalBarNominalDiameter, i.TransverseBarNominalDiameter, i.LongitudinalBarCrossSectionArea, i.TransverseBarCrossSectionArea, i.LongitudinalBarSpacing, i.TransverseBarSpacing, i.PredefinedType], + 2310774935: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.MeshLength, i.MeshWidth, i.LongitudinalBarNominalDiameter, i.TransverseBarNominalDiameter, i.LongitudinalBarCrossSectionArea, i.TransverseBarCrossSectionArea, i.LongitudinalBarSpacing, i.TransverseBarSpacing, i.BendingShapeCode, !i.BendingParameters ? null : i.BendingParameters.map((p) => Labelise(p))], + 160246688: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingObject, i.RelatedObjects], + 2781568857: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1768891740: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2157484638: (i) => [i.Curve3D, i.AssociatedGeometry, i.MasterRepresentation], + 4074543187: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4097777520: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.RefLatitude, i.RefLongitude, i.RefElevation, i.LandTitleNumber, i.SiteAddress], + 2533589738: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1072016465: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3856911033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.PredefinedType, i.ElevationWithFlooring], + 1305183839: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3812236995: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.LongName], + 3112655638: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1039846685: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 338393293: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 682877961: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, (_a = i.DestabilizingLoad) == null ? void 0 : _a.toString()]; + }, + 1179482911: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition], + 1004757350: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, (_a = i.DestabilizingLoad) == null ? void 0 : _a.toString(), i.ProjectedOrTrue, i.PredefinedType]; + }, + 4243806635: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition, i.Axis], + 214636428: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Axis], + 2445595289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Axis], + 2757150158: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.PredefinedType], + 1807405624: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, (_a = i.DestabilizingLoad) == null ? void 0 : _a.toString(), i.ProjectedOrTrue, i.PredefinedType]; + }, + 1252848954: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.ActionType, i.ActionSource, i.Coefficient, i.Purpose], + 2082059205: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, (_a = i.DestabilizingLoad) == null ? void 0 : _a.toString()]; + }, + 734778138: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition, i.ConditionCoordinateSystem], + 1235345126: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal], + 2986769608: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TheoryType, i.ResultForLoadGroup, (_a = i.IsLinear) == null ? void 0 : _a.toString()]; + }, + 3657597509: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, (_a = i.DestabilizingLoad) == null ? void 0 : _a.toString(), i.ProjectedOrTrue, i.PredefinedType]; + }, + 1975003073: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition], + 148013059: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 3101698114: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2315554128: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2254336722: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 413509423: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 5716631: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3824725483: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.PredefinedType, i.NominalDiameter, i.CrossSectionArea, i.TensionForce, i.PreStress, i.FrictionCoefficient, i.AnchorageSlip, i.MinCurvatureRadius], + 2347447852: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.PredefinedType], + 3081323446: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2415094496: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.NominalDiameter, i.CrossSectionArea, i.SheathDiameter], + 1692211062: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1620046519: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3593883385: (i) => { + var _a; + return [i.BasisCurve, i.Trim1, i.Trim2, (_a = i.SenseAgreement) == null ? void 0 : _a.toString(), i.MasterRepresentation]; + }, + 1600972822: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1911125066: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 728799441: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2391383451: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3313531582: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2769231204: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 926996030: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1898987631: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1133259667: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4009809668: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.PartitioningType, (_a = i.ParameterTakesPrecedence) == null ? void 0 : _a.toString(), i.UserDefinedPartitioningType]; + }, + 4088093105: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.WorkingTimes, i.ExceptionTimes, i.PredefinedType], + 1028945134: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.CreationDate, i.Creators, i.Purpose, i.Duration, i.TotalFloat, i.StartTime, i.FinishTime], + 4218914973: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.CreationDate, i.Creators, i.Purpose, i.Duration, i.TotalFloat, i.StartTime, i.FinishTime, i.PredefinedType], + 3342526732: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.CreationDate, i.Creators, i.Purpose, i.Duration, i.TotalFloat, i.StartTime, i.FinishTime, i.PredefinedType], + 1033361043: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName], + 3821786052: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.Status, i.LongDescription], + 1411407467: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3352864051: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1871374353: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3460190687: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.OriginalValue, i.CurrentValue, i.TotalReplacementCost, i.Owner, i.User, i.ResponsiblePerson, i.IncorporationDate, i.DepreciatedValue], + 1532957894: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1967976161: (i) => { + var _a, _b; + return [i.Degree, i.ControlPointsList, i.CurveForm, (_a = i.ClosedCurve) == null ? void 0 : _a.toString(), (_b = i.SelfIntersect) == null ? void 0 : _b.toString()]; + }, + 2461110595: (i) => { + var _a, _b; + return [i.Degree, i.ControlPointsList, i.CurveForm, (_a = i.ClosedCurve) == null ? void 0 : _a.toString(), (_b = i.SelfIntersect) == null ? void 0 : _b.toString(), i.KnotMultiplicities, i.Knots, i.KnotSpec]; + }, + 819618141: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 231477066: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1136057603: (i) => { + var _a; + return [i.Segments, (_a = i.SelfIntersect) == null ? void 0 : _a.toString()]; + }, + 3299480353: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2979338954: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 39481116: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1095909175: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1909888760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1177604601: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.LongName], + 2188180465: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 395041908: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3293546465: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2674252688: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1285652485: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2951183804: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3296154744: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2611217952: (i) => [i.Position, i.Radius], + 1677625105: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2301859152: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 843113511: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 905975707: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 400855858: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3850581409: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2816379211: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3898045240: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 1060000209: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 488727124: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 335055490: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2954562838: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1973544240: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3495092785: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3961806047: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1335981549: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2635815018: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1599208980: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2063403501: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1945004755: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3040386961: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3041715199: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.FlowDirection, i.PredefinedType, i.SystemType], + 3205830791: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.PredefinedType], + 395920057: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OverallHeight, i.OverallWidth, i.PredefinedType, i.OperationType, i.UserDefinedOperationType], + 3242481149: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OverallHeight, i.OverallWidth, i.PredefinedType, i.OperationType, i.UserDefinedOperationType], + 869906466: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3760055223: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2030761528: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 663422040: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2417008758: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3277789161: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1534661035: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1217240411: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 712377611: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1658829314: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2814081492: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3747195512: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 484807127: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1209101575: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.PredefinedType], + 346874300: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1810631287: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4222183408: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2058353004: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 4278956645: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 4037862832: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2188021234: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3132237377: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 987401354: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 707683696: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2223149337: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3508470533: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 900683007: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3319311131: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2068733104: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4175244083: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2176052936: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 76236018: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 629592764: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1437502449: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1073191201: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1911478936: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2474470126: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 144952367: (i) => { + var _a; + return [i.Segments, (_a = i.SelfIntersect) == null ? void 0 : _a.toString()]; + }, + 3694346114: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1687234759: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType, i.ConstructionType], + 310824031: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3612865200: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3171933400: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1156407060: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 738039164: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 655969474: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 90941305: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2262370178: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3024970846: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3283111854: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1232101972: (i) => { + var _a, _b; + return [i.Degree, i.ControlPointsList, i.CurveForm, (_a = i.ClosedCurve) == null ? void 0 : _a.toString(), (_b = i.SelfIntersect) == null ? void 0 : _b.toString(), i.KnotMultiplicities, i.Knots, i.KnotSpec, i.WeightsData]; + }, + 979691226: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.NominalDiameter, i.CrossSectionArea, i.BarLength, i.PredefinedType, i.BarSurface], + 2572171363: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.NominalDiameter, i.CrossSectionArea, i.BarLength, i.BarSurface, i.BendingShapeCode, !i.BendingParameters ? null : i.BendingParameters.map((p) => Labelise(p))], + 2016517767: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3053780830: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1783015770: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1329646415: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1529196076: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3127900445: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3027962421: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3420628829: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1999602285: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1404847402: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 331165859: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4252922144: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.NumberOfRisers, i.NumberOfTreads, i.RiserHeight, i.TreadLength, i.PredefinedType], + 2515109513: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.OrientationOf2DPlane, i.LoadedBy, i.HasResults, i.SharedPlacement], + 385403989: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.ActionType, i.ActionSource, i.Coefficient, i.Purpose, i.SelfWeightCoefficients], + 1621171031: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, (_a = i.DestabilizingLoad) == null ? void 0 : _a.toString(), i.ProjectedOrTrue, i.PredefinedType]; + }, + 1162798199: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 812556717: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3825984169: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3026737570: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3179687236: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4292641817: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4207607924: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2391406946: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4156078855: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3512223829: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4237592921: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3304561284: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OverallHeight, i.OverallWidth, i.PredefinedType, i.PartitioningType, i.UserDefinedPartitioningType], + 486154966: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OverallHeight, i.OverallWidth, i.PredefinedType, i.PartitioningType, i.UserDefinedPartitioningType], + 2874132201: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1634111441: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 177149247: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2056796094: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3001207471: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 277319702: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 753842376: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2906023776: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 32344328: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2938176219: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 635142910: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3758799889: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1051757585: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4217484030: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3902619387: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 639361253: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3221913625: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3571504051: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2272882330: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 578613899: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4136498852: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3640358203: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4074379575: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1052013943: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 562808652: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.PredefinedType], + 1062813311: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 342316401: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3518393246: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1360408905: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1904799276: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 862014818: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3310460725: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 264262732: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 402227799: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1003880860: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3415622556: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 819412036: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1426591983: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 182646315: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2295281155: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4086658281: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 630975310: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4288193352: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3087945054: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 25142252: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType] +}; +TypeInitialisers[4] = { + 3699917729: (v) => new IFC4$1.IfcAbsorbedDoseMeasure(v), + 4182062534: (v) => new IFC4$1.IfcAccelerationMeasure(v), + 360377573: (v) => new IFC4$1.IfcAmountOfSubstanceMeasure(v), + 632304761: (v) => new IFC4$1.IfcAngularVelocityMeasure(v), + 3683503648: (v) => new IFC4$1.IfcArcIndex(v.map((x) => x.value)), + 1500781891: (v) => new IFC4$1.IfcAreaDensityMeasure(v), + 2650437152: (v) => new IFC4$1.IfcAreaMeasure(v), + 2314439260: (v) => new IFC4$1.IfcBinary(v), + 2735952531: (v) => new IFC4$1.IfcBoolean(v), + 1867003952: (v) => new IFC4$1.IfcBoxAlignment(v), + 1683019596: (v) => new IFC4$1.IfcCardinalPointReference(v), + 2991860651: (v) => new IFC4$1.IfcComplexNumber(v.map((x) => x.value)), + 3812528620: (v) => new IFC4$1.IfcCompoundPlaneAngleMeasure(v.map((x) => x.value)), + 3238673880: (v) => new IFC4$1.IfcContextDependentMeasure(v), + 1778710042: (v) => new IFC4$1.IfcCountMeasure(v), + 94842927: (v) => new IFC4$1.IfcCurvatureMeasure(v), + 937566702: (v) => new IFC4$1.IfcDate(v), + 2195413836: (v) => new IFC4$1.IfcDateTime(v), + 86635668: (v) => new IFC4$1.IfcDayInMonthNumber(v), + 3701338814: (v) => new IFC4$1.IfcDayInWeekNumber(v), + 1514641115: (v) => new IFC4$1.IfcDescriptiveMeasure(v), + 4134073009: (v) => new IFC4$1.IfcDimensionCount(v), + 524656162: (v) => new IFC4$1.IfcDoseEquivalentMeasure(v), + 2541165894: (v) => new IFC4$1.IfcDuration(v), + 69416015: (v) => new IFC4$1.IfcDynamicViscosityMeasure(v), + 1827137117: (v) => new IFC4$1.IfcElectricCapacitanceMeasure(v), + 3818826038: (v) => new IFC4$1.IfcElectricChargeMeasure(v), + 2093906313: (v) => new IFC4$1.IfcElectricConductanceMeasure(v), + 3790457270: (v) => new IFC4$1.IfcElectricCurrentMeasure(v), + 2951915441: (v) => new IFC4$1.IfcElectricResistanceMeasure(v), + 2506197118: (v) => new IFC4$1.IfcElectricVoltageMeasure(v), + 2078135608: (v) => new IFC4$1.IfcEnergyMeasure(v), + 1102727119: (v) => new IFC4$1.IfcFontStyle(v), + 2715512545: (v) => new IFC4$1.IfcFontVariant(v), + 2590844177: (v) => new IFC4$1.IfcFontWeight(v), + 1361398929: (v) => new IFC4$1.IfcForceMeasure(v), + 3044325142: (v) => new IFC4$1.IfcFrequencyMeasure(v), + 3064340077: (v) => new IFC4$1.IfcGloballyUniqueId(v), + 3113092358: (v) => new IFC4$1.IfcHeatFluxDensityMeasure(v), + 1158859006: (v) => new IFC4$1.IfcHeatingValueMeasure(v), + 983778844: (v) => new IFC4$1.IfcIdentifier(v), + 3358199106: (v) => new IFC4$1.IfcIlluminanceMeasure(v), + 2679005408: (v) => new IFC4$1.IfcInductanceMeasure(v), + 1939436016: (v) => new IFC4$1.IfcInteger(v), + 3809634241: (v) => new IFC4$1.IfcIntegerCountRateMeasure(v), + 3686016028: (v) => new IFC4$1.IfcIonConcentrationMeasure(v), + 3192672207: (v) => new IFC4$1.IfcIsothermalMoistureCapacityMeasure(v), + 2054016361: (v) => new IFC4$1.IfcKinematicViscosityMeasure(v), + 3258342251: (v) => new IFC4$1.IfcLabel(v), + 1275358634: (v) => new IFC4$1.IfcLanguageId(v), + 1243674935: (v) => new IFC4$1.IfcLengthMeasure(v), + 1774176899: (v) => new IFC4$1.IfcLineIndex(v.map((x) => x.value)), + 191860431: (v) => new IFC4$1.IfcLinearForceMeasure(v), + 2128979029: (v) => new IFC4$1.IfcLinearMomentMeasure(v), + 1307019551: (v) => new IFC4$1.IfcLinearStiffnessMeasure(v), + 3086160713: (v) => new IFC4$1.IfcLinearVelocityMeasure(v), + 503418787: (v) => new IFC4$1.IfcLogical(v), + 2095003142: (v) => new IFC4$1.IfcLuminousFluxMeasure(v), + 2755797622: (v) => new IFC4$1.IfcLuminousIntensityDistributionMeasure(v), + 151039812: (v) => new IFC4$1.IfcLuminousIntensityMeasure(v), + 286949696: (v) => new IFC4$1.IfcMagneticFluxDensityMeasure(v), + 2486716878: (v) => new IFC4$1.IfcMagneticFluxMeasure(v), + 1477762836: (v) => new IFC4$1.IfcMassDensityMeasure(v), + 4017473158: (v) => new IFC4$1.IfcMassFlowRateMeasure(v), + 3124614049: (v) => new IFC4$1.IfcMassMeasure(v), + 3531705166: (v) => new IFC4$1.IfcMassPerLengthMeasure(v), + 3341486342: (v) => new IFC4$1.IfcModulusOfElasticityMeasure(v), + 2173214787: (v) => new IFC4$1.IfcModulusOfLinearSubgradeReactionMeasure(v), + 1052454078: (v) => new IFC4$1.IfcModulusOfRotationalSubgradeReactionMeasure(v), + 1753493141: (v) => new IFC4$1.IfcModulusOfSubgradeReactionMeasure(v), + 3177669450: (v) => new IFC4$1.IfcMoistureDiffusivityMeasure(v), + 1648970520: (v) => new IFC4$1.IfcMolecularWeightMeasure(v), + 3114022597: (v) => new IFC4$1.IfcMomentOfInertiaMeasure(v), + 2615040989: (v) => new IFC4$1.IfcMonetaryMeasure(v), + 765770214: (v) => new IFC4$1.IfcMonthInYearNumber(v), + 525895558: (v) => new IFC4$1.IfcNonNegativeLengthMeasure(v), + 2095195183: (v) => new IFC4$1.IfcNormalisedRatioMeasure(v), + 2395907400: (v) => new IFC4$1.IfcNumericMeasure(v), + 929793134: (v) => new IFC4$1.IfcPHMeasure(v), + 2260317790: (v) => new IFC4$1.IfcParameterValue(v), + 2642773653: (v) => new IFC4$1.IfcPlanarForceMeasure(v), + 4042175685: (v) => new IFC4$1.IfcPlaneAngleMeasure(v), + 1790229001: (v) => new IFC4$1.IfcPositiveInteger(v), + 2815919920: (v) => new IFC4$1.IfcPositiveLengthMeasure(v), + 3054510233: (v) => new IFC4$1.IfcPositivePlaneAngleMeasure(v), + 1245737093: (v) => new IFC4$1.IfcPositiveRatioMeasure(v), + 1364037233: (v) => new IFC4$1.IfcPowerMeasure(v), + 2169031380: (v) => new IFC4$1.IfcPresentableText(v), + 3665567075: (v) => new IFC4$1.IfcPressureMeasure(v), + 2798247006: (v) => new IFC4$1.IfcPropertySetDefinitionSet(v.map((x) => x.value)), + 3972513137: (v) => new IFC4$1.IfcRadioActivityMeasure(v), + 96294661: (v) => new IFC4$1.IfcRatioMeasure(v), + 200335297: (v) => new IFC4$1.IfcReal(v), + 2133746277: (v) => new IFC4$1.IfcRotationalFrequencyMeasure(v), + 1755127002: (v) => new IFC4$1.IfcRotationalMassMeasure(v), + 3211557302: (v) => new IFC4$1.IfcRotationalStiffnessMeasure(v), + 3467162246: (v) => new IFC4$1.IfcSectionModulusMeasure(v), + 2190458107: (v) => new IFC4$1.IfcSectionalAreaIntegralMeasure(v), + 408310005: (v) => new IFC4$1.IfcShearModulusMeasure(v), + 3471399674: (v) => new IFC4$1.IfcSolidAngleMeasure(v), + 4157543285: (v) => new IFC4$1.IfcSoundPowerLevelMeasure(v), + 846465480: (v) => new IFC4$1.IfcSoundPowerMeasure(v), + 3457685358: (v) => new IFC4$1.IfcSoundPressureLevelMeasure(v), + 993287707: (v) => new IFC4$1.IfcSoundPressureMeasure(v), + 3477203348: (v) => new IFC4$1.IfcSpecificHeatCapacityMeasure(v), + 2757832317: (v) => new IFC4$1.IfcSpecularExponent(v), + 361837227: (v) => new IFC4$1.IfcSpecularRoughness(v), + 58845555: (v) => new IFC4$1.IfcTemperatureGradientMeasure(v), + 1209108979: (v) => new IFC4$1.IfcTemperatureRateOfChangeMeasure(v), + 2801250643: (v) => new IFC4$1.IfcText(v), + 1460886941: (v) => new IFC4$1.IfcTextAlignment(v), + 3490877962: (v) => new IFC4$1.IfcTextDecoration(v), + 603696268: (v) => new IFC4$1.IfcTextFontName(v), + 296282323: (v) => new IFC4$1.IfcTextTransformation(v), + 232962298: (v) => new IFC4$1.IfcThermalAdmittanceMeasure(v), + 2645777649: (v) => new IFC4$1.IfcThermalConductivityMeasure(v), + 2281867870: (v) => new IFC4$1.IfcThermalExpansionCoefficientMeasure(v), + 857959152: (v) => new IFC4$1.IfcThermalResistanceMeasure(v), + 2016195849: (v) => new IFC4$1.IfcThermalTransmittanceMeasure(v), + 743184107: (v) => new IFC4$1.IfcThermodynamicTemperatureMeasure(v), + 4075327185: (v) => new IFC4$1.IfcTime(v), + 2726807636: (v) => new IFC4$1.IfcTimeMeasure(v), + 2591213694: (v) => new IFC4$1.IfcTimeStamp(v), + 1278329552: (v) => new IFC4$1.IfcTorqueMeasure(v), + 950732822: (v) => new IFC4$1.IfcURIReference(v), + 3345633955: (v) => new IFC4$1.IfcVaporPermeabilityMeasure(v), + 3458127941: (v) => new IFC4$1.IfcVolumeMeasure(v), + 2593997549: (v) => new IFC4$1.IfcVolumetricFlowRateMeasure(v), + 51269191: (v) => new IFC4$1.IfcWarpingConstantMeasure(v), + 1718600412: (v) => new IFC4$1.IfcWarpingMomentMeasure(v) +}; +var IFC4$1; +(function(IFC42) { + class IfcAbsorbedDoseMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcAbsorbedDoseMeasure = IfcAbsorbedDoseMeasure; + class IfcAccelerationMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcAccelerationMeasure = IfcAccelerationMeasure; + class IfcAmountOfSubstanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcAmountOfSubstanceMeasure = IfcAmountOfSubstanceMeasure; + class IfcAngularVelocityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcAngularVelocityMeasure = IfcAngularVelocityMeasure; + class IfcArcIndex { + constructor(value) { + this.value = value; + this.type = 5; + } + } + IFC42.IfcArcIndex = IfcArcIndex; + class IfcAreaDensityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcAreaDensityMeasure = IfcAreaDensityMeasure; + class IfcAreaMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcAreaMeasure = IfcAreaMeasure; + class IfcBinary { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcBinary = IfcBinary; + class IfcBoolean { + constructor(v) { + this.type = 3; + this.value = v === null ? v : v == "T" ? true : false; + } + } + IFC42.IfcBoolean = IfcBoolean; + class IfcBoxAlignment { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcBoxAlignment = IfcBoxAlignment; + class IfcCardinalPointReference { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcCardinalPointReference = IfcCardinalPointReference; + class IfcComplexNumber { + constructor(value) { + this.value = value; + this.type = 4; + } + } + IFC42.IfcComplexNumber = IfcComplexNumber; + class IfcCompoundPlaneAngleMeasure { + constructor(value) { + this.value = value; + this.type = 10; + } + } + IFC42.IfcCompoundPlaneAngleMeasure = IfcCompoundPlaneAngleMeasure; + class IfcContextDependentMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcContextDependentMeasure = IfcContextDependentMeasure; + class IfcCountMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcCountMeasure = IfcCountMeasure; + class IfcCurvatureMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcCurvatureMeasure = IfcCurvatureMeasure; + class IfcDate { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcDate = IfcDate; + class IfcDateTime { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcDateTime = IfcDateTime; + class IfcDayInMonthNumber { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcDayInMonthNumber = IfcDayInMonthNumber; + class IfcDayInWeekNumber { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcDayInWeekNumber = IfcDayInWeekNumber; + class IfcDescriptiveMeasure { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcDescriptiveMeasure = IfcDescriptiveMeasure; + class IfcDimensionCount { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcDimensionCount = IfcDimensionCount; + class IfcDoseEquivalentMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcDoseEquivalentMeasure = IfcDoseEquivalentMeasure; + class IfcDuration { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcDuration = IfcDuration; + class IfcDynamicViscosityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcDynamicViscosityMeasure = IfcDynamicViscosityMeasure; + class IfcElectricCapacitanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcElectricCapacitanceMeasure = IfcElectricCapacitanceMeasure; + class IfcElectricChargeMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcElectricChargeMeasure = IfcElectricChargeMeasure; + class IfcElectricConductanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcElectricConductanceMeasure = IfcElectricConductanceMeasure; + class IfcElectricCurrentMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcElectricCurrentMeasure = IfcElectricCurrentMeasure; + class IfcElectricResistanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcElectricResistanceMeasure = IfcElectricResistanceMeasure; + class IfcElectricVoltageMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcElectricVoltageMeasure = IfcElectricVoltageMeasure; + class IfcEnergyMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcEnergyMeasure = IfcEnergyMeasure; + class IfcFontStyle { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcFontStyle = IfcFontStyle; + class IfcFontVariant { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcFontVariant = IfcFontVariant; + class IfcFontWeight { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcFontWeight = IfcFontWeight; + class IfcForceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcForceMeasure = IfcForceMeasure; + class IfcFrequencyMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcFrequencyMeasure = IfcFrequencyMeasure; + class IfcGloballyUniqueId { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcGloballyUniqueId = IfcGloballyUniqueId; + class IfcHeatFluxDensityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcHeatFluxDensityMeasure = IfcHeatFluxDensityMeasure; + class IfcHeatingValueMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcHeatingValueMeasure = IfcHeatingValueMeasure; + class IfcIdentifier { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcIdentifier = IfcIdentifier; + class IfcIlluminanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcIlluminanceMeasure = IfcIlluminanceMeasure; + class IfcInductanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcInductanceMeasure = IfcInductanceMeasure; + class IfcInteger { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcInteger = IfcInteger; + class IfcIntegerCountRateMeasure { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcIntegerCountRateMeasure = IfcIntegerCountRateMeasure; + class IfcIonConcentrationMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcIonConcentrationMeasure = IfcIonConcentrationMeasure; + class IfcIsothermalMoistureCapacityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcIsothermalMoistureCapacityMeasure = IfcIsothermalMoistureCapacityMeasure; + class IfcKinematicViscosityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcKinematicViscosityMeasure = IfcKinematicViscosityMeasure; + class IfcLabel { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcLabel = IfcLabel; + class IfcLanguageId { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcLanguageId = IfcLanguageId; + class IfcLengthMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcLengthMeasure = IfcLengthMeasure; + class IfcLineIndex { + constructor(value) { + this.value = value; + this.type = 5; + } + } + IFC42.IfcLineIndex = IfcLineIndex; + class IfcLinearForceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcLinearForceMeasure = IfcLinearForceMeasure; + class IfcLinearMomentMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcLinearMomentMeasure = IfcLinearMomentMeasure; + class IfcLinearStiffnessMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcLinearStiffnessMeasure = IfcLinearStiffnessMeasure; + class IfcLinearVelocityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcLinearVelocityMeasure = IfcLinearVelocityMeasure; + class IfcLogical { + constructor(v) { + this.type = 3; + this.value = v === null ? v : v == "T" ? 1 : v == "F" ? 0 : 2; + } + } + IFC42.IfcLogical = IfcLogical; + class IfcLuminousFluxMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcLuminousFluxMeasure = IfcLuminousFluxMeasure; + class IfcLuminousIntensityDistributionMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcLuminousIntensityDistributionMeasure = IfcLuminousIntensityDistributionMeasure; + class IfcLuminousIntensityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcLuminousIntensityMeasure = IfcLuminousIntensityMeasure; + class IfcMagneticFluxDensityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcMagneticFluxDensityMeasure = IfcMagneticFluxDensityMeasure; + class IfcMagneticFluxMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcMagneticFluxMeasure = IfcMagneticFluxMeasure; + class IfcMassDensityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcMassDensityMeasure = IfcMassDensityMeasure; + class IfcMassFlowRateMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcMassFlowRateMeasure = IfcMassFlowRateMeasure; + class IfcMassMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcMassMeasure = IfcMassMeasure; + class IfcMassPerLengthMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcMassPerLengthMeasure = IfcMassPerLengthMeasure; + class IfcModulusOfElasticityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcModulusOfElasticityMeasure = IfcModulusOfElasticityMeasure; + class IfcModulusOfLinearSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcModulusOfLinearSubgradeReactionMeasure = IfcModulusOfLinearSubgradeReactionMeasure; + class IfcModulusOfRotationalSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcModulusOfRotationalSubgradeReactionMeasure = IfcModulusOfRotationalSubgradeReactionMeasure; + class IfcModulusOfSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcModulusOfSubgradeReactionMeasure = IfcModulusOfSubgradeReactionMeasure; + class IfcMoistureDiffusivityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcMoistureDiffusivityMeasure = IfcMoistureDiffusivityMeasure; + class IfcMolecularWeightMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcMolecularWeightMeasure = IfcMolecularWeightMeasure; + class IfcMomentOfInertiaMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcMomentOfInertiaMeasure = IfcMomentOfInertiaMeasure; + class IfcMonetaryMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcMonetaryMeasure = IfcMonetaryMeasure; + class IfcMonthInYearNumber { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcMonthInYearNumber = IfcMonthInYearNumber; + class IfcNonNegativeLengthMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcNonNegativeLengthMeasure = IfcNonNegativeLengthMeasure; + class IfcNormalisedRatioMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcNormalisedRatioMeasure = IfcNormalisedRatioMeasure; + class IfcNumericMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcNumericMeasure = IfcNumericMeasure; + class IfcPHMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcPHMeasure = IfcPHMeasure; + class IfcParameterValue { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcParameterValue = IfcParameterValue; + class IfcPlanarForceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcPlanarForceMeasure = IfcPlanarForceMeasure; + class IfcPlaneAngleMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcPlaneAngleMeasure = IfcPlaneAngleMeasure; + class IfcPositiveInteger { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcPositiveInteger = IfcPositiveInteger; + class IfcPositiveLengthMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcPositiveLengthMeasure = IfcPositiveLengthMeasure; + class IfcPositivePlaneAngleMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcPositivePlaneAngleMeasure = IfcPositivePlaneAngleMeasure; + class IfcPositiveRatioMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcPositiveRatioMeasure = IfcPositiveRatioMeasure; + class IfcPowerMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcPowerMeasure = IfcPowerMeasure; + class IfcPresentableText { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcPresentableText = IfcPresentableText; + class IfcPressureMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcPressureMeasure = IfcPressureMeasure; + class IfcPropertySetDefinitionSet { + constructor(value) { + this.value = value; + this.type = 5; + } + } + IFC42.IfcPropertySetDefinitionSet = IfcPropertySetDefinitionSet; + class IfcRadioActivityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcRadioActivityMeasure = IfcRadioActivityMeasure; + class IfcRatioMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcRatioMeasure = IfcRatioMeasure; + class IfcReal { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcReal = IfcReal; + class IfcRotationalFrequencyMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcRotationalFrequencyMeasure = IfcRotationalFrequencyMeasure; + class IfcRotationalMassMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcRotationalMassMeasure = IfcRotationalMassMeasure; + class IfcRotationalStiffnessMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcRotationalStiffnessMeasure = IfcRotationalStiffnessMeasure; + class IfcSectionModulusMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcSectionModulusMeasure = IfcSectionModulusMeasure; + class IfcSectionalAreaIntegralMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcSectionalAreaIntegralMeasure = IfcSectionalAreaIntegralMeasure; + class IfcShearModulusMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcShearModulusMeasure = IfcShearModulusMeasure; + class IfcSolidAngleMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcSolidAngleMeasure = IfcSolidAngleMeasure; + class IfcSoundPowerLevelMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcSoundPowerLevelMeasure = IfcSoundPowerLevelMeasure; + class IfcSoundPowerMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcSoundPowerMeasure = IfcSoundPowerMeasure; + class IfcSoundPressureLevelMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcSoundPressureLevelMeasure = IfcSoundPressureLevelMeasure; + class IfcSoundPressureMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcSoundPressureMeasure = IfcSoundPressureMeasure; + class IfcSpecificHeatCapacityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcSpecificHeatCapacityMeasure = IfcSpecificHeatCapacityMeasure; + class IfcSpecularExponent { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcSpecularExponent = IfcSpecularExponent; + class IfcSpecularRoughness { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcSpecularRoughness = IfcSpecularRoughness; + class IfcTemperatureGradientMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcTemperatureGradientMeasure = IfcTemperatureGradientMeasure; + class IfcTemperatureRateOfChangeMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcTemperatureRateOfChangeMeasure = IfcTemperatureRateOfChangeMeasure; + class IfcText { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcText = IfcText; + class IfcTextAlignment { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcTextAlignment = IfcTextAlignment; + class IfcTextDecoration { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcTextDecoration = IfcTextDecoration; + class IfcTextFontName { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcTextFontName = IfcTextFontName; + class IfcTextTransformation { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcTextTransformation = IfcTextTransformation; + class IfcThermalAdmittanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcThermalAdmittanceMeasure = IfcThermalAdmittanceMeasure; + class IfcThermalConductivityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcThermalConductivityMeasure = IfcThermalConductivityMeasure; + class IfcThermalExpansionCoefficientMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcThermalExpansionCoefficientMeasure = IfcThermalExpansionCoefficientMeasure; + class IfcThermalResistanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcThermalResistanceMeasure = IfcThermalResistanceMeasure; + class IfcThermalTransmittanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcThermalTransmittanceMeasure = IfcThermalTransmittanceMeasure; + class IfcThermodynamicTemperatureMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcThermodynamicTemperatureMeasure = IfcThermodynamicTemperatureMeasure; + class IfcTime { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcTime = IfcTime; + class IfcTimeMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcTimeMeasure = IfcTimeMeasure; + class IfcTimeStamp { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcTimeStamp = IfcTimeStamp; + class IfcTorqueMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcTorqueMeasure = IfcTorqueMeasure; + class IfcURIReference { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcURIReference = IfcURIReference; + class IfcVaporPermeabilityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcVaporPermeabilityMeasure = IfcVaporPermeabilityMeasure; + class IfcVolumeMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcVolumeMeasure = IfcVolumeMeasure; + class IfcVolumetricFlowRateMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcVolumetricFlowRateMeasure = IfcVolumetricFlowRateMeasure; + class IfcWarpingConstantMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcWarpingConstantMeasure = IfcWarpingConstantMeasure; + class IfcWarpingMomentMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC42.IfcWarpingMomentMeasure = IfcWarpingMomentMeasure; + class IfcActionRequestTypeEnum { + } + IfcActionRequestTypeEnum.EMAIL = { type: 3, value: "EMAIL" }; + IfcActionRequestTypeEnum.FAX = { type: 3, value: "FAX" }; + IfcActionRequestTypeEnum.PHONE = { type: 3, value: "PHONE" }; + IfcActionRequestTypeEnum.POST = { type: 3, value: "POST" }; + IfcActionRequestTypeEnum.VERBAL = { type: 3, value: "VERBAL" }; + IfcActionRequestTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActionRequestTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcActionRequestTypeEnum = IfcActionRequestTypeEnum; + class IfcActionSourceTypeEnum { + } + IfcActionSourceTypeEnum.DEAD_LOAD_G = { type: 3, value: "DEAD_LOAD_G" }; + IfcActionSourceTypeEnum.COMPLETION_G1 = { type: 3, value: "COMPLETION_G1" }; + IfcActionSourceTypeEnum.LIVE_LOAD_Q = { type: 3, value: "LIVE_LOAD_Q" }; + IfcActionSourceTypeEnum.SNOW_S = { type: 3, value: "SNOW_S" }; + IfcActionSourceTypeEnum.WIND_W = { type: 3, value: "WIND_W" }; + IfcActionSourceTypeEnum.PRESTRESSING_P = { type: 3, value: "PRESTRESSING_P" }; + IfcActionSourceTypeEnum.SETTLEMENT_U = { type: 3, value: "SETTLEMENT_U" }; + IfcActionSourceTypeEnum.TEMPERATURE_T = { type: 3, value: "TEMPERATURE_T" }; + IfcActionSourceTypeEnum.EARTHQUAKE_E = { type: 3, value: "EARTHQUAKE_E" }; + IfcActionSourceTypeEnum.FIRE = { type: 3, value: "FIRE" }; + IfcActionSourceTypeEnum.IMPULSE = { type: 3, value: "IMPULSE" }; + IfcActionSourceTypeEnum.IMPACT = { type: 3, value: "IMPACT" }; + IfcActionSourceTypeEnum.TRANSPORT = { type: 3, value: "TRANSPORT" }; + IfcActionSourceTypeEnum.ERECTION = { type: 3, value: "ERECTION" }; + IfcActionSourceTypeEnum.PROPPING = { type: 3, value: "PROPPING" }; + IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION = { type: 3, value: "SYSTEM_IMPERFECTION" }; + IfcActionSourceTypeEnum.SHRINKAGE = { type: 3, value: "SHRINKAGE" }; + IfcActionSourceTypeEnum.CREEP = { type: 3, value: "CREEP" }; + IfcActionSourceTypeEnum.LACK_OF_FIT = { type: 3, value: "LACK_OF_FIT" }; + IfcActionSourceTypeEnum.BUOYANCY = { type: 3, value: "BUOYANCY" }; + IfcActionSourceTypeEnum.ICE = { type: 3, value: "ICE" }; + IfcActionSourceTypeEnum.CURRENT = { type: 3, value: "CURRENT" }; + IfcActionSourceTypeEnum.WAVE = { type: 3, value: "WAVE" }; + IfcActionSourceTypeEnum.RAIN = { type: 3, value: "RAIN" }; + IfcActionSourceTypeEnum.BRAKES = { type: 3, value: "BRAKES" }; + IfcActionSourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActionSourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcActionSourceTypeEnum = IfcActionSourceTypeEnum; + class IfcActionTypeEnum { + } + IfcActionTypeEnum.PERMANENT_G = { type: 3, value: "PERMANENT_G" }; + IfcActionTypeEnum.VARIABLE_Q = { type: 3, value: "VARIABLE_Q" }; + IfcActionTypeEnum.EXTRAORDINARY_A = { type: 3, value: "EXTRAORDINARY_A" }; + IfcActionTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcActionTypeEnum = IfcActionTypeEnum; + class IfcActuatorTypeEnum { + } + IfcActuatorTypeEnum.ELECTRICACTUATOR = { type: 3, value: "ELECTRICACTUATOR" }; + IfcActuatorTypeEnum.HANDOPERATEDACTUATOR = { type: 3, value: "HANDOPERATEDACTUATOR" }; + IfcActuatorTypeEnum.HYDRAULICACTUATOR = { type: 3, value: "HYDRAULICACTUATOR" }; + IfcActuatorTypeEnum.PNEUMATICACTUATOR = { type: 3, value: "PNEUMATICACTUATOR" }; + IfcActuatorTypeEnum.THERMOSTATICACTUATOR = { type: 3, value: "THERMOSTATICACTUATOR" }; + IfcActuatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActuatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcActuatorTypeEnum = IfcActuatorTypeEnum; + class IfcAddressTypeEnum { + } + IfcAddressTypeEnum.OFFICE = { type: 3, value: "OFFICE" }; + IfcAddressTypeEnum.SITE = { type: 3, value: "SITE" }; + IfcAddressTypeEnum.HOME = { type: 3, value: "HOME" }; + IfcAddressTypeEnum.DISTRIBUTIONPOINT = { type: 3, value: "DISTRIBUTIONPOINT" }; + IfcAddressTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC42.IfcAddressTypeEnum = IfcAddressTypeEnum; + class IfcAirTerminalBoxTypeEnum { + } + IfcAirTerminalBoxTypeEnum.CONSTANTFLOW = { type: 3, value: "CONSTANTFLOW" }; + IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREDEPENDANT" }; + IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREINDEPENDANT" }; + IfcAirTerminalBoxTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirTerminalBoxTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcAirTerminalBoxTypeEnum = IfcAirTerminalBoxTypeEnum; + class IfcAirTerminalTypeEnum { + } + IfcAirTerminalTypeEnum.DIFFUSER = { type: 3, value: "DIFFUSER" }; + IfcAirTerminalTypeEnum.GRILLE = { type: 3, value: "GRILLE" }; + IfcAirTerminalTypeEnum.LOUVRE = { type: 3, value: "LOUVRE" }; + IfcAirTerminalTypeEnum.REGISTER = { type: 3, value: "REGISTER" }; + IfcAirTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcAirTerminalTypeEnum = IfcAirTerminalTypeEnum; + class IfcAirToAirHeatRecoveryTypeEnum { + } + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECOUNTERFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECROSSFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER = { type: 3, value: "FIXEDPLATEPARALLELFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL = { type: 3, value: "ROTARYWHEEL" }; + IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP = { type: 3, value: "RUNAROUNDCOILLOOP" }; + IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE = { type: 3, value: "HEATPIPE" }; + IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS = { type: 3, value: "TWINTOWERENTHALPYRECOVERYLOOPS" }; + IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONSEALEDTUBEHEATEXCHANGERS" }; + IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONCOILTYPEHEATEXCHANGERS" }; + IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcAirToAirHeatRecoveryTypeEnum = IfcAirToAirHeatRecoveryTypeEnum; + class IfcAlarmTypeEnum { + } + IfcAlarmTypeEnum.BELL = { type: 3, value: "BELL" }; + IfcAlarmTypeEnum.BREAKGLASSBUTTON = { type: 3, value: "BREAKGLASSBUTTON" }; + IfcAlarmTypeEnum.LIGHT = { type: 3, value: "LIGHT" }; + IfcAlarmTypeEnum.MANUALPULLBOX = { type: 3, value: "MANUALPULLBOX" }; + IfcAlarmTypeEnum.SIREN = { type: 3, value: "SIREN" }; + IfcAlarmTypeEnum.WHISTLE = { type: 3, value: "WHISTLE" }; + IfcAlarmTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAlarmTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcAlarmTypeEnum = IfcAlarmTypeEnum; + class IfcAnalysisModelTypeEnum { + } + IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D = { type: 3, value: "IN_PLANE_LOADING_2D" }; + IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D = { type: 3, value: "OUT_PLANE_LOADING_2D" }; + IfcAnalysisModelTypeEnum.LOADING_3D = { type: 3, value: "LOADING_3D" }; + IfcAnalysisModelTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAnalysisModelTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcAnalysisModelTypeEnum = IfcAnalysisModelTypeEnum; + class IfcAnalysisTheoryTypeEnum { + } + IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY = { type: 3, value: "FIRST_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY = { type: 3, value: "SECOND_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY = { type: 3, value: "THIRD_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY = { type: 3, value: "FULL_NONLINEAR_THEORY" }; + IfcAnalysisTheoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAnalysisTheoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcAnalysisTheoryTypeEnum = IfcAnalysisTheoryTypeEnum; + class IfcArithmeticOperatorEnum { + } + IfcArithmeticOperatorEnum.ADD = { type: 3, value: "ADD" }; + IfcArithmeticOperatorEnum.DIVIDE = { type: 3, value: "DIVIDE" }; + IfcArithmeticOperatorEnum.MULTIPLY = { type: 3, value: "MULTIPLY" }; + IfcArithmeticOperatorEnum.SUBTRACT = { type: 3, value: "SUBTRACT" }; + IFC42.IfcArithmeticOperatorEnum = IfcArithmeticOperatorEnum; + class IfcAssemblyPlaceEnum { + } + IfcAssemblyPlaceEnum.SITE = { type: 3, value: "SITE" }; + IfcAssemblyPlaceEnum.FACTORY = { type: 3, value: "FACTORY" }; + IfcAssemblyPlaceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcAssemblyPlaceEnum = IfcAssemblyPlaceEnum; + class IfcAudioVisualApplianceTypeEnum { + } + IfcAudioVisualApplianceTypeEnum.AMPLIFIER = { type: 3, value: "AMPLIFIER" }; + IfcAudioVisualApplianceTypeEnum.CAMERA = { type: 3, value: "CAMERA" }; + IfcAudioVisualApplianceTypeEnum.DISPLAY = { type: 3, value: "DISPLAY" }; + IfcAudioVisualApplianceTypeEnum.MICROPHONE = { type: 3, value: "MICROPHONE" }; + IfcAudioVisualApplianceTypeEnum.PLAYER = { type: 3, value: "PLAYER" }; + IfcAudioVisualApplianceTypeEnum.PROJECTOR = { type: 3, value: "PROJECTOR" }; + IfcAudioVisualApplianceTypeEnum.RECEIVER = { type: 3, value: "RECEIVER" }; + IfcAudioVisualApplianceTypeEnum.SPEAKER = { type: 3, value: "SPEAKER" }; + IfcAudioVisualApplianceTypeEnum.SWITCHER = { type: 3, value: "SWITCHER" }; + IfcAudioVisualApplianceTypeEnum.TELEPHONE = { type: 3, value: "TELEPHONE" }; + IfcAudioVisualApplianceTypeEnum.TUNER = { type: 3, value: "TUNER" }; + IfcAudioVisualApplianceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAudioVisualApplianceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcAudioVisualApplianceTypeEnum = IfcAudioVisualApplianceTypeEnum; + class IfcBSplineCurveForm { + } + IfcBSplineCurveForm.POLYLINE_FORM = { type: 3, value: "POLYLINE_FORM" }; + IfcBSplineCurveForm.CIRCULAR_ARC = { type: 3, value: "CIRCULAR_ARC" }; + IfcBSplineCurveForm.ELLIPTIC_ARC = { type: 3, value: "ELLIPTIC_ARC" }; + IfcBSplineCurveForm.PARABOLIC_ARC = { type: 3, value: "PARABOLIC_ARC" }; + IfcBSplineCurveForm.HYPERBOLIC_ARC = { type: 3, value: "HYPERBOLIC_ARC" }; + IfcBSplineCurveForm.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC42.IfcBSplineCurveForm = IfcBSplineCurveForm; + class IfcBSplineSurfaceForm { + } + IfcBSplineSurfaceForm.PLANE_SURF = { type: 3, value: "PLANE_SURF" }; + IfcBSplineSurfaceForm.CYLINDRICAL_SURF = { type: 3, value: "CYLINDRICAL_SURF" }; + IfcBSplineSurfaceForm.CONICAL_SURF = { type: 3, value: "CONICAL_SURF" }; + IfcBSplineSurfaceForm.SPHERICAL_SURF = { type: 3, value: "SPHERICAL_SURF" }; + IfcBSplineSurfaceForm.TOROIDAL_SURF = { type: 3, value: "TOROIDAL_SURF" }; + IfcBSplineSurfaceForm.SURF_OF_REVOLUTION = { type: 3, value: "SURF_OF_REVOLUTION" }; + IfcBSplineSurfaceForm.RULED_SURF = { type: 3, value: "RULED_SURF" }; + IfcBSplineSurfaceForm.GENERALISED_CONE = { type: 3, value: "GENERALISED_CONE" }; + IfcBSplineSurfaceForm.QUADRIC_SURF = { type: 3, value: "QUADRIC_SURF" }; + IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION = { type: 3, value: "SURF_OF_LINEAR_EXTRUSION" }; + IfcBSplineSurfaceForm.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC42.IfcBSplineSurfaceForm = IfcBSplineSurfaceForm; + class IfcBeamTypeEnum { + } + IfcBeamTypeEnum.BEAM = { type: 3, value: "BEAM" }; + IfcBeamTypeEnum.JOIST = { type: 3, value: "JOIST" }; + IfcBeamTypeEnum.HOLLOWCORE = { type: 3, value: "HOLLOWCORE" }; + IfcBeamTypeEnum.LINTEL = { type: 3, value: "LINTEL" }; + IfcBeamTypeEnum.SPANDREL = { type: 3, value: "SPANDREL" }; + IfcBeamTypeEnum.T_BEAM = { type: 3, value: "T_BEAM" }; + IfcBeamTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBeamTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcBeamTypeEnum = IfcBeamTypeEnum; + class IfcBenchmarkEnum { + } + IfcBenchmarkEnum.GREATERTHAN = { type: 3, value: "GREATERTHAN" }; + IfcBenchmarkEnum.GREATERTHANOREQUALTO = { type: 3, value: "GREATERTHANOREQUALTO" }; + IfcBenchmarkEnum.LESSTHAN = { type: 3, value: "LESSTHAN" }; + IfcBenchmarkEnum.LESSTHANOREQUALTO = { type: 3, value: "LESSTHANOREQUALTO" }; + IfcBenchmarkEnum.EQUALTO = { type: 3, value: "EQUALTO" }; + IfcBenchmarkEnum.NOTEQUALTO = { type: 3, value: "NOTEQUALTO" }; + IfcBenchmarkEnum.INCLUDES = { type: 3, value: "INCLUDES" }; + IfcBenchmarkEnum.NOTINCLUDES = { type: 3, value: "NOTINCLUDES" }; + IfcBenchmarkEnum.INCLUDEDIN = { type: 3, value: "INCLUDEDIN" }; + IfcBenchmarkEnum.NOTINCLUDEDIN = { type: 3, value: "NOTINCLUDEDIN" }; + IFC42.IfcBenchmarkEnum = IfcBenchmarkEnum; + class IfcBoilerTypeEnum { + } + IfcBoilerTypeEnum.WATER = { type: 3, value: "WATER" }; + IfcBoilerTypeEnum.STEAM = { type: 3, value: "STEAM" }; + IfcBoilerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBoilerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcBoilerTypeEnum = IfcBoilerTypeEnum; + class IfcBooleanOperator { + } + IfcBooleanOperator.UNION = { type: 3, value: "UNION" }; + IfcBooleanOperator.INTERSECTION = { type: 3, value: "INTERSECTION" }; + IfcBooleanOperator.DIFFERENCE = { type: 3, value: "DIFFERENCE" }; + IFC42.IfcBooleanOperator = IfcBooleanOperator; + class IfcBuildingElementPartTypeEnum { + } + IfcBuildingElementPartTypeEnum.INSULATION = { type: 3, value: "INSULATION" }; + IfcBuildingElementPartTypeEnum.PRECASTPANEL = { type: 3, value: "PRECASTPANEL" }; + IfcBuildingElementPartTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBuildingElementPartTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcBuildingElementPartTypeEnum = IfcBuildingElementPartTypeEnum; + class IfcBuildingElementProxyTypeEnum { + } + IfcBuildingElementProxyTypeEnum.COMPLEX = { type: 3, value: "COMPLEX" }; + IfcBuildingElementProxyTypeEnum.ELEMENT = { type: 3, value: "ELEMENT" }; + IfcBuildingElementProxyTypeEnum.PARTIAL = { type: 3, value: "PARTIAL" }; + IfcBuildingElementProxyTypeEnum.PROVISIONFORVOID = { type: 3, value: "PROVISIONFORVOID" }; + IfcBuildingElementProxyTypeEnum.PROVISIONFORSPACE = { type: 3, value: "PROVISIONFORSPACE" }; + IfcBuildingElementProxyTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBuildingElementProxyTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcBuildingElementProxyTypeEnum = IfcBuildingElementProxyTypeEnum; + class IfcBuildingSystemTypeEnum { + } + IfcBuildingSystemTypeEnum.FENESTRATION = { type: 3, value: "FENESTRATION" }; + IfcBuildingSystemTypeEnum.FOUNDATION = { type: 3, value: "FOUNDATION" }; + IfcBuildingSystemTypeEnum.LOADBEARING = { type: 3, value: "LOADBEARING" }; + IfcBuildingSystemTypeEnum.OUTERSHELL = { type: 3, value: "OUTERSHELL" }; + IfcBuildingSystemTypeEnum.SHADING = { type: 3, value: "SHADING" }; + IfcBuildingSystemTypeEnum.TRANSPORT = { type: 3, value: "TRANSPORT" }; + IfcBuildingSystemTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBuildingSystemTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcBuildingSystemTypeEnum = IfcBuildingSystemTypeEnum; + class IfcBurnerTypeEnum { + } + IfcBurnerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBurnerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcBurnerTypeEnum = IfcBurnerTypeEnum; + class IfcCableCarrierFittingTypeEnum { + } + IfcCableCarrierFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcCableCarrierFittingTypeEnum.CROSS = { type: 3, value: "CROSS" }; + IfcCableCarrierFittingTypeEnum.REDUCER = { type: 3, value: "REDUCER" }; + IfcCableCarrierFittingTypeEnum.TEE = { type: 3, value: "TEE" }; + IfcCableCarrierFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableCarrierFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCableCarrierFittingTypeEnum = IfcCableCarrierFittingTypeEnum; + class IfcCableCarrierSegmentTypeEnum { + } + IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT = { type: 3, value: "CABLELADDERSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT = { type: 3, value: "CABLETRAYSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT = { type: 3, value: "CABLETRUNKINGSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT = { type: 3, value: "CONDUITSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableCarrierSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCableCarrierSegmentTypeEnum = IfcCableCarrierSegmentTypeEnum; + class IfcCableFittingTypeEnum { + } + IfcCableFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcCableFittingTypeEnum.ENTRY = { type: 3, value: "ENTRY" }; + IfcCableFittingTypeEnum.EXIT = { type: 3, value: "EXIT" }; + IfcCableFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcCableFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcCableFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCableFittingTypeEnum = IfcCableFittingTypeEnum; + class IfcCableSegmentTypeEnum { + } + IfcCableSegmentTypeEnum.BUSBARSEGMENT = { type: 3, value: "BUSBARSEGMENT" }; + IfcCableSegmentTypeEnum.CABLESEGMENT = { type: 3, value: "CABLESEGMENT" }; + IfcCableSegmentTypeEnum.CONDUCTORSEGMENT = { type: 3, value: "CONDUCTORSEGMENT" }; + IfcCableSegmentTypeEnum.CORESEGMENT = { type: 3, value: "CORESEGMENT" }; + IfcCableSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCableSegmentTypeEnum = IfcCableSegmentTypeEnum; + class IfcChangeActionEnum { + } + IfcChangeActionEnum.NOCHANGE = { type: 3, value: "NOCHANGE" }; + IfcChangeActionEnum.MODIFIED = { type: 3, value: "MODIFIED" }; + IfcChangeActionEnum.ADDED = { type: 3, value: "ADDED" }; + IfcChangeActionEnum.DELETED = { type: 3, value: "DELETED" }; + IfcChangeActionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcChangeActionEnum = IfcChangeActionEnum; + class IfcChillerTypeEnum { + } + IfcChillerTypeEnum.AIRCOOLED = { type: 3, value: "AIRCOOLED" }; + IfcChillerTypeEnum.WATERCOOLED = { type: 3, value: "WATERCOOLED" }; + IfcChillerTypeEnum.HEATRECOVERY = { type: 3, value: "HEATRECOVERY" }; + IfcChillerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcChillerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcChillerTypeEnum = IfcChillerTypeEnum; + class IfcChimneyTypeEnum { + } + IfcChimneyTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcChimneyTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcChimneyTypeEnum = IfcChimneyTypeEnum; + class IfcCoilTypeEnum { + } + IfcCoilTypeEnum.DXCOOLINGCOIL = { type: 3, value: "DXCOOLINGCOIL" }; + IfcCoilTypeEnum.ELECTRICHEATINGCOIL = { type: 3, value: "ELECTRICHEATINGCOIL" }; + IfcCoilTypeEnum.GASHEATINGCOIL = { type: 3, value: "GASHEATINGCOIL" }; + IfcCoilTypeEnum.HYDRONICCOIL = { type: 3, value: "HYDRONICCOIL" }; + IfcCoilTypeEnum.STEAMHEATINGCOIL = { type: 3, value: "STEAMHEATINGCOIL" }; + IfcCoilTypeEnum.WATERCOOLINGCOIL = { type: 3, value: "WATERCOOLINGCOIL" }; + IfcCoilTypeEnum.WATERHEATINGCOIL = { type: 3, value: "WATERHEATINGCOIL" }; + IfcCoilTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoilTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCoilTypeEnum = IfcCoilTypeEnum; + class IfcColumnTypeEnum { + } + IfcColumnTypeEnum.COLUMN = { type: 3, value: "COLUMN" }; + IfcColumnTypeEnum.PILASTER = { type: 3, value: "PILASTER" }; + IfcColumnTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcColumnTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcColumnTypeEnum = IfcColumnTypeEnum; + class IfcCommunicationsApplianceTypeEnum { + } + IfcCommunicationsApplianceTypeEnum.ANTENNA = { type: 3, value: "ANTENNA" }; + IfcCommunicationsApplianceTypeEnum.COMPUTER = { type: 3, value: "COMPUTER" }; + IfcCommunicationsApplianceTypeEnum.FAX = { type: 3, value: "FAX" }; + IfcCommunicationsApplianceTypeEnum.GATEWAY = { type: 3, value: "GATEWAY" }; + IfcCommunicationsApplianceTypeEnum.MODEM = { type: 3, value: "MODEM" }; + IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE = { type: 3, value: "NETWORKAPPLIANCE" }; + IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE = { type: 3, value: "NETWORKBRIDGE" }; + IfcCommunicationsApplianceTypeEnum.NETWORKHUB = { type: 3, value: "NETWORKHUB" }; + IfcCommunicationsApplianceTypeEnum.PRINTER = { type: 3, value: "PRINTER" }; + IfcCommunicationsApplianceTypeEnum.REPEATER = { type: 3, value: "REPEATER" }; + IfcCommunicationsApplianceTypeEnum.ROUTER = { type: 3, value: "ROUTER" }; + IfcCommunicationsApplianceTypeEnum.SCANNER = { type: 3, value: "SCANNER" }; + IfcCommunicationsApplianceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCommunicationsApplianceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCommunicationsApplianceTypeEnum = IfcCommunicationsApplianceTypeEnum; + class IfcComplexPropertyTemplateTypeEnum { + } + IfcComplexPropertyTemplateTypeEnum.P_COMPLEX = { type: 3, value: "P_COMPLEX" }; + IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX = { type: 3, value: "Q_COMPLEX" }; + IFC42.IfcComplexPropertyTemplateTypeEnum = IfcComplexPropertyTemplateTypeEnum; + class IfcCompressorTypeEnum { + } + IfcCompressorTypeEnum.DYNAMIC = { type: 3, value: "DYNAMIC" }; + IfcCompressorTypeEnum.RECIPROCATING = { type: 3, value: "RECIPROCATING" }; + IfcCompressorTypeEnum.ROTARY = { type: 3, value: "ROTARY" }; + IfcCompressorTypeEnum.SCROLL = { type: 3, value: "SCROLL" }; + IfcCompressorTypeEnum.TROCHOIDAL = { type: 3, value: "TROCHOIDAL" }; + IfcCompressorTypeEnum.SINGLESTAGE = { type: 3, value: "SINGLESTAGE" }; + IfcCompressorTypeEnum.BOOSTER = { type: 3, value: "BOOSTER" }; + IfcCompressorTypeEnum.OPENTYPE = { type: 3, value: "OPENTYPE" }; + IfcCompressorTypeEnum.HERMETIC = { type: 3, value: "HERMETIC" }; + IfcCompressorTypeEnum.SEMIHERMETIC = { type: 3, value: "SEMIHERMETIC" }; + IfcCompressorTypeEnum.WELDEDSHELLHERMETIC = { type: 3, value: "WELDEDSHELLHERMETIC" }; + IfcCompressorTypeEnum.ROLLINGPISTON = { type: 3, value: "ROLLINGPISTON" }; + IfcCompressorTypeEnum.ROTARYVANE = { type: 3, value: "ROTARYVANE" }; + IfcCompressorTypeEnum.SINGLESCREW = { type: 3, value: "SINGLESCREW" }; + IfcCompressorTypeEnum.TWINSCREW = { type: 3, value: "TWINSCREW" }; + IfcCompressorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCompressorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCompressorTypeEnum = IfcCompressorTypeEnum; + class IfcCondenserTypeEnum { + } + IfcCondenserTypeEnum.AIRCOOLED = { type: 3, value: "AIRCOOLED" }; + IfcCondenserTypeEnum.EVAPORATIVECOOLED = { type: 3, value: "EVAPORATIVECOOLED" }; + IfcCondenserTypeEnum.WATERCOOLED = { type: 3, value: "WATERCOOLED" }; + IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE = { type: 3, value: "WATERCOOLEDBRAZEDPLATE" }; + IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL = { type: 3, value: "WATERCOOLEDSHELLCOIL" }; + IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE = { type: 3, value: "WATERCOOLEDSHELLTUBE" }; + IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE = { type: 3, value: "WATERCOOLEDTUBEINTUBE" }; + IfcCondenserTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCondenserTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCondenserTypeEnum = IfcCondenserTypeEnum; + class IfcConnectionTypeEnum { + } + IfcConnectionTypeEnum.ATPATH = { type: 3, value: "ATPATH" }; + IfcConnectionTypeEnum.ATSTART = { type: 3, value: "ATSTART" }; + IfcConnectionTypeEnum.ATEND = { type: 3, value: "ATEND" }; + IfcConnectionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcConnectionTypeEnum = IfcConnectionTypeEnum; + class IfcConstraintEnum { + } + IfcConstraintEnum.HARD = { type: 3, value: "HARD" }; + IfcConstraintEnum.SOFT = { type: 3, value: "SOFT" }; + IfcConstraintEnum.ADVISORY = { type: 3, value: "ADVISORY" }; + IfcConstraintEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConstraintEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcConstraintEnum = IfcConstraintEnum; + class IfcConstructionEquipmentResourceTypeEnum { + } + IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING = { type: 3, value: "DEMOLISHING" }; + IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING = { type: 3, value: "EARTHMOVING" }; + IfcConstructionEquipmentResourceTypeEnum.ERECTING = { type: 3, value: "ERECTING" }; + IfcConstructionEquipmentResourceTypeEnum.HEATING = { type: 3, value: "HEATING" }; + IfcConstructionEquipmentResourceTypeEnum.LIGHTING = { type: 3, value: "LIGHTING" }; + IfcConstructionEquipmentResourceTypeEnum.PAVING = { type: 3, value: "PAVING" }; + IfcConstructionEquipmentResourceTypeEnum.PUMPING = { type: 3, value: "PUMPING" }; + IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING = { type: 3, value: "TRANSPORTING" }; + IfcConstructionEquipmentResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcConstructionEquipmentResourceTypeEnum = IfcConstructionEquipmentResourceTypeEnum; + class IfcConstructionMaterialResourceTypeEnum { + } + IfcConstructionMaterialResourceTypeEnum.AGGREGATES = { type: 3, value: "AGGREGATES" }; + IfcConstructionMaterialResourceTypeEnum.CONCRETE = { type: 3, value: "CONCRETE" }; + IfcConstructionMaterialResourceTypeEnum.DRYWALL = { type: 3, value: "DRYWALL" }; + IfcConstructionMaterialResourceTypeEnum.FUEL = { type: 3, value: "FUEL" }; + IfcConstructionMaterialResourceTypeEnum.GYPSUM = { type: 3, value: "GYPSUM" }; + IfcConstructionMaterialResourceTypeEnum.MASONRY = { type: 3, value: "MASONRY" }; + IfcConstructionMaterialResourceTypeEnum.METAL = { type: 3, value: "METAL" }; + IfcConstructionMaterialResourceTypeEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcConstructionMaterialResourceTypeEnum.WOOD = { type: 3, value: "WOOD" }; + IfcConstructionMaterialResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IfcConstructionMaterialResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC42.IfcConstructionMaterialResourceTypeEnum = IfcConstructionMaterialResourceTypeEnum; + class IfcConstructionProductResourceTypeEnum { + } + IfcConstructionProductResourceTypeEnum.ASSEMBLY = { type: 3, value: "ASSEMBLY" }; + IfcConstructionProductResourceTypeEnum.FORMWORK = { type: 3, value: "FORMWORK" }; + IfcConstructionProductResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConstructionProductResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcConstructionProductResourceTypeEnum = IfcConstructionProductResourceTypeEnum; + class IfcControllerTypeEnum { + } + IfcControllerTypeEnum.FLOATING = { type: 3, value: "FLOATING" }; + IfcControllerTypeEnum.PROGRAMMABLE = { type: 3, value: "PROGRAMMABLE" }; + IfcControllerTypeEnum.PROPORTIONAL = { type: 3, value: "PROPORTIONAL" }; + IfcControllerTypeEnum.MULTIPOSITION = { type: 3, value: "MULTIPOSITION" }; + IfcControllerTypeEnum.TWOPOSITION = { type: 3, value: "TWOPOSITION" }; + IfcControllerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcControllerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcControllerTypeEnum = IfcControllerTypeEnum; + class IfcCooledBeamTypeEnum { + } + IfcCooledBeamTypeEnum.ACTIVE = { type: 3, value: "ACTIVE" }; + IfcCooledBeamTypeEnum.PASSIVE = { type: 3, value: "PASSIVE" }; + IfcCooledBeamTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCooledBeamTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCooledBeamTypeEnum = IfcCooledBeamTypeEnum; + class IfcCoolingTowerTypeEnum { + } + IfcCoolingTowerTypeEnum.NATURALDRAFT = { type: 3, value: "NATURALDRAFT" }; + IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT = { type: 3, value: "MECHANICALINDUCEDDRAFT" }; + IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT = { type: 3, value: "MECHANICALFORCEDDRAFT" }; + IfcCoolingTowerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoolingTowerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCoolingTowerTypeEnum = IfcCoolingTowerTypeEnum; + class IfcCostItemTypeEnum { + } + IfcCostItemTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCostItemTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCostItemTypeEnum = IfcCostItemTypeEnum; + class IfcCostScheduleTypeEnum { + } + IfcCostScheduleTypeEnum.BUDGET = { type: 3, value: "BUDGET" }; + IfcCostScheduleTypeEnum.COSTPLAN = { type: 3, value: "COSTPLAN" }; + IfcCostScheduleTypeEnum.ESTIMATE = { type: 3, value: "ESTIMATE" }; + IfcCostScheduleTypeEnum.TENDER = { type: 3, value: "TENDER" }; + IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES = { type: 3, value: "PRICEDBILLOFQUANTITIES" }; + IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES = { type: 3, value: "UNPRICEDBILLOFQUANTITIES" }; + IfcCostScheduleTypeEnum.SCHEDULEOFRATES = { type: 3, value: "SCHEDULEOFRATES" }; + IfcCostScheduleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCostScheduleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCostScheduleTypeEnum = IfcCostScheduleTypeEnum; + class IfcCoveringTypeEnum { + } + IfcCoveringTypeEnum.CEILING = { type: 3, value: "CEILING" }; + IfcCoveringTypeEnum.FLOORING = { type: 3, value: "FLOORING" }; + IfcCoveringTypeEnum.CLADDING = { type: 3, value: "CLADDING" }; + IfcCoveringTypeEnum.ROOFING = { type: 3, value: "ROOFING" }; + IfcCoveringTypeEnum.MOLDING = { type: 3, value: "MOLDING" }; + IfcCoveringTypeEnum.SKIRTINGBOARD = { type: 3, value: "SKIRTINGBOARD" }; + IfcCoveringTypeEnum.INSULATION = { type: 3, value: "INSULATION" }; + IfcCoveringTypeEnum.MEMBRANE = { type: 3, value: "MEMBRANE" }; + IfcCoveringTypeEnum.SLEEVING = { type: 3, value: "SLEEVING" }; + IfcCoveringTypeEnum.WRAPPING = { type: 3, value: "WRAPPING" }; + IfcCoveringTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoveringTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCoveringTypeEnum = IfcCoveringTypeEnum; + class IfcCrewResourceTypeEnum { + } + IfcCrewResourceTypeEnum.OFFICE = { type: 3, value: "OFFICE" }; + IfcCrewResourceTypeEnum.SITE = { type: 3, value: "SITE" }; + IfcCrewResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCrewResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCrewResourceTypeEnum = IfcCrewResourceTypeEnum; + class IfcCurtainWallTypeEnum { + } + IfcCurtainWallTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCurtainWallTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCurtainWallTypeEnum = IfcCurtainWallTypeEnum; + class IfcCurveInterpolationEnum { + } + IfcCurveInterpolationEnum.LINEAR = { type: 3, value: "LINEAR" }; + IfcCurveInterpolationEnum.LOG_LINEAR = { type: 3, value: "LOG_LINEAR" }; + IfcCurveInterpolationEnum.LOG_LOG = { type: 3, value: "LOG_LOG" }; + IfcCurveInterpolationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCurveInterpolationEnum = IfcCurveInterpolationEnum; + class IfcDamperTypeEnum { + } + IfcDamperTypeEnum.BACKDRAFTDAMPER = { type: 3, value: "BACKDRAFTDAMPER" }; + IfcDamperTypeEnum.BALANCINGDAMPER = { type: 3, value: "BALANCINGDAMPER" }; + IfcDamperTypeEnum.BLASTDAMPER = { type: 3, value: "BLASTDAMPER" }; + IfcDamperTypeEnum.CONTROLDAMPER = { type: 3, value: "CONTROLDAMPER" }; + IfcDamperTypeEnum.FIREDAMPER = { type: 3, value: "FIREDAMPER" }; + IfcDamperTypeEnum.FIRESMOKEDAMPER = { type: 3, value: "FIRESMOKEDAMPER" }; + IfcDamperTypeEnum.FUMEHOODEXHAUST = { type: 3, value: "FUMEHOODEXHAUST" }; + IfcDamperTypeEnum.GRAVITYDAMPER = { type: 3, value: "GRAVITYDAMPER" }; + IfcDamperTypeEnum.GRAVITYRELIEFDAMPER = { type: 3, value: "GRAVITYRELIEFDAMPER" }; + IfcDamperTypeEnum.RELIEFDAMPER = { type: 3, value: "RELIEFDAMPER" }; + IfcDamperTypeEnum.SMOKEDAMPER = { type: 3, value: "SMOKEDAMPER" }; + IfcDamperTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDamperTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDamperTypeEnum = IfcDamperTypeEnum; + class IfcDataOriginEnum { + } + IfcDataOriginEnum.MEASURED = { type: 3, value: "MEASURED" }; + IfcDataOriginEnum.PREDICTED = { type: 3, value: "PREDICTED" }; + IfcDataOriginEnum.SIMULATED = { type: 3, value: "SIMULATED" }; + IfcDataOriginEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDataOriginEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDataOriginEnum = IfcDataOriginEnum; + class IfcDerivedUnitEnum { + } + IfcDerivedUnitEnum.ANGULARVELOCITYUNIT = { type: 3, value: "ANGULARVELOCITYUNIT" }; + IfcDerivedUnitEnum.AREADENSITYUNIT = { type: 3, value: "AREADENSITYUNIT" }; + IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT = { type: 3, value: "COMPOUNDPLANEANGLEUNIT" }; + IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT = { type: 3, value: "DYNAMICVISCOSITYUNIT" }; + IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT = { type: 3, value: "HEATFLUXDENSITYUNIT" }; + IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT = { type: 3, value: "INTEGERCOUNTRATEUNIT" }; + IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT = { type: 3, value: "ISOTHERMALMOISTURECAPACITYUNIT" }; + IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT = { type: 3, value: "KINEMATICVISCOSITYUNIT" }; + IfcDerivedUnitEnum.LINEARVELOCITYUNIT = { type: 3, value: "LINEARVELOCITYUNIT" }; + IfcDerivedUnitEnum.MASSDENSITYUNIT = { type: 3, value: "MASSDENSITYUNIT" }; + IfcDerivedUnitEnum.MASSFLOWRATEUNIT = { type: 3, value: "MASSFLOWRATEUNIT" }; + IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT = { type: 3, value: "MOISTUREDIFFUSIVITYUNIT" }; + IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT = { type: 3, value: "MOLECULARWEIGHTUNIT" }; + IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT = { type: 3, value: "SPECIFICHEATCAPACITYUNIT" }; + IfcDerivedUnitEnum.THERMALADMITTANCEUNIT = { type: 3, value: "THERMALADMITTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT = { type: 3, value: "THERMALCONDUCTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALRESISTANCEUNIT = { type: 3, value: "THERMALRESISTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT = { type: 3, value: "THERMALTRANSMITTANCEUNIT" }; + IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT = { type: 3, value: "VAPORPERMEABILITYUNIT" }; + IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT = { type: 3, value: "VOLUMETRICFLOWRATEUNIT" }; + IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT = { type: 3, value: "ROTATIONALFREQUENCYUNIT" }; + IfcDerivedUnitEnum.TORQUEUNIT = { type: 3, value: "TORQUEUNIT" }; + IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT = { type: 3, value: "MOMENTOFINERTIAUNIT" }; + IfcDerivedUnitEnum.LINEARMOMENTUNIT = { type: 3, value: "LINEARMOMENTUNIT" }; + IfcDerivedUnitEnum.LINEARFORCEUNIT = { type: 3, value: "LINEARFORCEUNIT" }; + IfcDerivedUnitEnum.PLANARFORCEUNIT = { type: 3, value: "PLANARFORCEUNIT" }; + IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT = { type: 3, value: "MODULUSOFELASTICITYUNIT" }; + IfcDerivedUnitEnum.SHEARMODULUSUNIT = { type: 3, value: "SHEARMODULUSUNIT" }; + IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT = { type: 3, value: "LINEARSTIFFNESSUNIT" }; + IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT = { type: 3, value: "ROTATIONALSTIFFNESSUNIT" }; + IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.ACCELERATIONUNIT = { type: 3, value: "ACCELERATIONUNIT" }; + IfcDerivedUnitEnum.CURVATUREUNIT = { type: 3, value: "CURVATUREUNIT" }; + IfcDerivedUnitEnum.HEATINGVALUEUNIT = { type: 3, value: "HEATINGVALUEUNIT" }; + IfcDerivedUnitEnum.IONCONCENTRATIONUNIT = { type: 3, value: "IONCONCENTRATIONUNIT" }; + IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT = { type: 3, value: "LUMINOUSINTENSITYDISTRIBUTIONUNIT" }; + IfcDerivedUnitEnum.MASSPERLENGTHUNIT = { type: 3, value: "MASSPERLENGTHUNIT" }; + IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFLINEARSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFROTATIONALSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.PHUNIT = { type: 3, value: "PHUNIT" }; + IfcDerivedUnitEnum.ROTATIONALMASSUNIT = { type: 3, value: "ROTATIONALMASSUNIT" }; + IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT = { type: 3, value: "SECTIONAREAINTEGRALUNIT" }; + IfcDerivedUnitEnum.SECTIONMODULUSUNIT = { type: 3, value: "SECTIONMODULUSUNIT" }; + IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT = { type: 3, value: "SOUNDPOWERLEVELUNIT" }; + IfcDerivedUnitEnum.SOUNDPOWERUNIT = { type: 3, value: "SOUNDPOWERUNIT" }; + IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT = { type: 3, value: "SOUNDPRESSURELEVELUNIT" }; + IfcDerivedUnitEnum.SOUNDPRESSUREUNIT = { type: 3, value: "SOUNDPRESSUREUNIT" }; + IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT = { type: 3, value: "TEMPERATUREGRADIENTUNIT" }; + IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT = { type: 3, value: "TEMPERATURERATEOFCHANGEUNIT" }; + IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT = { type: 3, value: "THERMALEXPANSIONCOEFFICIENTUNIT" }; + IfcDerivedUnitEnum.WARPINGCONSTANTUNIT = { type: 3, value: "WARPINGCONSTANTUNIT" }; + IfcDerivedUnitEnum.WARPINGMOMENTUNIT = { type: 3, value: "WARPINGMOMENTUNIT" }; + IfcDerivedUnitEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC42.IfcDerivedUnitEnum = IfcDerivedUnitEnum; + class IfcDirectionSenseEnum { + } + IfcDirectionSenseEnum.POSITIVE = { type: 3, value: "POSITIVE" }; + IfcDirectionSenseEnum.NEGATIVE = { type: 3, value: "NEGATIVE" }; + IFC42.IfcDirectionSenseEnum = IfcDirectionSenseEnum; + class IfcDiscreteAccessoryTypeEnum { + } + IfcDiscreteAccessoryTypeEnum.ANCHORPLATE = { type: 3, value: "ANCHORPLATE" }; + IfcDiscreteAccessoryTypeEnum.BRACKET = { type: 3, value: "BRACKET" }; + IfcDiscreteAccessoryTypeEnum.SHOE = { type: 3, value: "SHOE" }; + IfcDiscreteAccessoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDiscreteAccessoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDiscreteAccessoryTypeEnum = IfcDiscreteAccessoryTypeEnum; + class IfcDistributionChamberElementTypeEnum { + } + IfcDistributionChamberElementTypeEnum.FORMEDDUCT = { type: 3, value: "FORMEDDUCT" }; + IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER = { type: 3, value: "INSPECTIONCHAMBER" }; + IfcDistributionChamberElementTypeEnum.INSPECTIONPIT = { type: 3, value: "INSPECTIONPIT" }; + IfcDistributionChamberElementTypeEnum.MANHOLE = { type: 3, value: "MANHOLE" }; + IfcDistributionChamberElementTypeEnum.METERCHAMBER = { type: 3, value: "METERCHAMBER" }; + IfcDistributionChamberElementTypeEnum.SUMP = { type: 3, value: "SUMP" }; + IfcDistributionChamberElementTypeEnum.TRENCH = { type: 3, value: "TRENCH" }; + IfcDistributionChamberElementTypeEnum.VALVECHAMBER = { type: 3, value: "VALVECHAMBER" }; + IfcDistributionChamberElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDistributionChamberElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDistributionChamberElementTypeEnum = IfcDistributionChamberElementTypeEnum; + class IfcDistributionPortTypeEnum { + } + IfcDistributionPortTypeEnum.CABLE = { type: 3, value: "CABLE" }; + IfcDistributionPortTypeEnum.CABLECARRIER = { type: 3, value: "CABLECARRIER" }; + IfcDistributionPortTypeEnum.DUCT = { type: 3, value: "DUCT" }; + IfcDistributionPortTypeEnum.PIPE = { type: 3, value: "PIPE" }; + IfcDistributionPortTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDistributionPortTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDistributionPortTypeEnum = IfcDistributionPortTypeEnum; + class IfcDistributionSystemEnum { + } + IfcDistributionSystemEnum.AIRCONDITIONING = { type: 3, value: "AIRCONDITIONING" }; + IfcDistributionSystemEnum.AUDIOVISUAL = { type: 3, value: "AUDIOVISUAL" }; + IfcDistributionSystemEnum.CHEMICAL = { type: 3, value: "CHEMICAL" }; + IfcDistributionSystemEnum.CHILLEDWATER = { type: 3, value: "CHILLEDWATER" }; + IfcDistributionSystemEnum.COMMUNICATION = { type: 3, value: "COMMUNICATION" }; + IfcDistributionSystemEnum.COMPRESSEDAIR = { type: 3, value: "COMPRESSEDAIR" }; + IfcDistributionSystemEnum.CONDENSERWATER = { type: 3, value: "CONDENSERWATER" }; + IfcDistributionSystemEnum.CONTROL = { type: 3, value: "CONTROL" }; + IfcDistributionSystemEnum.CONVEYING = { type: 3, value: "CONVEYING" }; + IfcDistributionSystemEnum.DATA = { type: 3, value: "DATA" }; + IfcDistributionSystemEnum.DISPOSAL = { type: 3, value: "DISPOSAL" }; + IfcDistributionSystemEnum.DOMESTICCOLDWATER = { type: 3, value: "DOMESTICCOLDWATER" }; + IfcDistributionSystemEnum.DOMESTICHOTWATER = { type: 3, value: "DOMESTICHOTWATER" }; + IfcDistributionSystemEnum.DRAINAGE = { type: 3, value: "DRAINAGE" }; + IfcDistributionSystemEnum.EARTHING = { type: 3, value: "EARTHING" }; + IfcDistributionSystemEnum.ELECTRICAL = { type: 3, value: "ELECTRICAL" }; + IfcDistributionSystemEnum.ELECTROACOUSTIC = { type: 3, value: "ELECTROACOUSTIC" }; + IfcDistributionSystemEnum.EXHAUST = { type: 3, value: "EXHAUST" }; + IfcDistributionSystemEnum.FIREPROTECTION = { type: 3, value: "FIREPROTECTION" }; + IfcDistributionSystemEnum.FUEL = { type: 3, value: "FUEL" }; + IfcDistributionSystemEnum.GAS = { type: 3, value: "GAS" }; + IfcDistributionSystemEnum.HAZARDOUS = { type: 3, value: "HAZARDOUS" }; + IfcDistributionSystemEnum.HEATING = { type: 3, value: "HEATING" }; + IfcDistributionSystemEnum.LIGHTING = { type: 3, value: "LIGHTING" }; + IfcDistributionSystemEnum.LIGHTNINGPROTECTION = { type: 3, value: "LIGHTNINGPROTECTION" }; + IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE = { type: 3, value: "MUNICIPALSOLIDWASTE" }; + IfcDistributionSystemEnum.OIL = { type: 3, value: "OIL" }; + IfcDistributionSystemEnum.OPERATIONAL = { type: 3, value: "OPERATIONAL" }; + IfcDistributionSystemEnum.POWERGENERATION = { type: 3, value: "POWERGENERATION" }; + IfcDistributionSystemEnum.RAINWATER = { type: 3, value: "RAINWATER" }; + IfcDistributionSystemEnum.REFRIGERATION = { type: 3, value: "REFRIGERATION" }; + IfcDistributionSystemEnum.SECURITY = { type: 3, value: "SECURITY" }; + IfcDistributionSystemEnum.SEWAGE = { type: 3, value: "SEWAGE" }; + IfcDistributionSystemEnum.SIGNAL = { type: 3, value: "SIGNAL" }; + IfcDistributionSystemEnum.STORMWATER = { type: 3, value: "STORMWATER" }; + IfcDistributionSystemEnum.TELEPHONE = { type: 3, value: "TELEPHONE" }; + IfcDistributionSystemEnum.TV = { type: 3, value: "TV" }; + IfcDistributionSystemEnum.VACUUM = { type: 3, value: "VACUUM" }; + IfcDistributionSystemEnum.VENT = { type: 3, value: "VENT" }; + IfcDistributionSystemEnum.VENTILATION = { type: 3, value: "VENTILATION" }; + IfcDistributionSystemEnum.WASTEWATER = { type: 3, value: "WASTEWATER" }; + IfcDistributionSystemEnum.WATERSUPPLY = { type: 3, value: "WATERSUPPLY" }; + IfcDistributionSystemEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDistributionSystemEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDistributionSystemEnum = IfcDistributionSystemEnum; + class IfcDocumentConfidentialityEnum { + } + IfcDocumentConfidentialityEnum.PUBLIC = { type: 3, value: "PUBLIC" }; + IfcDocumentConfidentialityEnum.RESTRICTED = { type: 3, value: "RESTRICTED" }; + IfcDocumentConfidentialityEnum.CONFIDENTIAL = { type: 3, value: "CONFIDENTIAL" }; + IfcDocumentConfidentialityEnum.PERSONAL = { type: 3, value: "PERSONAL" }; + IfcDocumentConfidentialityEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDocumentConfidentialityEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDocumentConfidentialityEnum = IfcDocumentConfidentialityEnum; + class IfcDocumentStatusEnum { + } + IfcDocumentStatusEnum.DRAFT = { type: 3, value: "DRAFT" }; + IfcDocumentStatusEnum.FINALDRAFT = { type: 3, value: "FINALDRAFT" }; + IfcDocumentStatusEnum.FINAL = { type: 3, value: "FINAL" }; + IfcDocumentStatusEnum.REVISION = { type: 3, value: "REVISION" }; + IfcDocumentStatusEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDocumentStatusEnum = IfcDocumentStatusEnum; + class IfcDoorPanelOperationEnum { + } + IfcDoorPanelOperationEnum.SWINGING = { type: 3, value: "SWINGING" }; + IfcDoorPanelOperationEnum.DOUBLE_ACTING = { type: 3, value: "DOUBLE_ACTING" }; + IfcDoorPanelOperationEnum.SLIDING = { type: 3, value: "SLIDING" }; + IfcDoorPanelOperationEnum.FOLDING = { type: 3, value: "FOLDING" }; + IfcDoorPanelOperationEnum.REVOLVING = { type: 3, value: "REVOLVING" }; + IfcDoorPanelOperationEnum.ROLLINGUP = { type: 3, value: "ROLLINGUP" }; + IfcDoorPanelOperationEnum.FIXEDPANEL = { type: 3, value: "FIXEDPANEL" }; + IfcDoorPanelOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorPanelOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDoorPanelOperationEnum = IfcDoorPanelOperationEnum; + class IfcDoorPanelPositionEnum { + } + IfcDoorPanelPositionEnum.LEFT = { type: 3, value: "LEFT" }; + IfcDoorPanelPositionEnum.MIDDLE = { type: 3, value: "MIDDLE" }; + IfcDoorPanelPositionEnum.RIGHT = { type: 3, value: "RIGHT" }; + IfcDoorPanelPositionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDoorPanelPositionEnum = IfcDoorPanelPositionEnum; + class IfcDoorStyleConstructionEnum { + } + IfcDoorStyleConstructionEnum.ALUMINIUM = { type: 3, value: "ALUMINIUM" }; + IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL = { type: 3, value: "HIGH_GRADE_STEEL" }; + IfcDoorStyleConstructionEnum.STEEL = { type: 3, value: "STEEL" }; + IfcDoorStyleConstructionEnum.WOOD = { type: 3, value: "WOOD" }; + IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD = { type: 3, value: "ALUMINIUM_WOOD" }; + IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC = { type: 3, value: "ALUMINIUM_PLASTIC" }; + IfcDoorStyleConstructionEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcDoorStyleConstructionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorStyleConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDoorStyleConstructionEnum = IfcDoorStyleConstructionEnum; + class IfcDoorStyleOperationEnum { + } + IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT = { type: 3, value: "SINGLE_SWING_LEFT" }; + IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT = { type: 3, value: "SINGLE_SWING_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT = { type: 3, value: "DOUBLE_SWING_LEFT" }; + IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT = { type: 3, value: "DOUBLE_SWING_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING = { type: 3, value: "DOUBLE_DOOR_DOUBLE_SWING" }; + IfcDoorStyleOperationEnum.SLIDING_TO_LEFT = { type: 3, value: "SLIDING_TO_LEFT" }; + IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT = { type: 3, value: "SLIDING_TO_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING = { type: 3, value: "DOUBLE_DOOR_SLIDING" }; + IfcDoorStyleOperationEnum.FOLDING_TO_LEFT = { type: 3, value: "FOLDING_TO_LEFT" }; + IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT = { type: 3, value: "FOLDING_TO_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING = { type: 3, value: "DOUBLE_DOOR_FOLDING" }; + IfcDoorStyleOperationEnum.REVOLVING = { type: 3, value: "REVOLVING" }; + IfcDoorStyleOperationEnum.ROLLINGUP = { type: 3, value: "ROLLINGUP" }; + IfcDoorStyleOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorStyleOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDoorStyleOperationEnum = IfcDoorStyleOperationEnum; + class IfcDoorTypeEnum { + } + IfcDoorTypeEnum.DOOR = { type: 3, value: "DOOR" }; + IfcDoorTypeEnum.GATE = { type: 3, value: "GATE" }; + IfcDoorTypeEnum.TRAPDOOR = { type: 3, value: "TRAPDOOR" }; + IfcDoorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDoorTypeEnum = IfcDoorTypeEnum; + class IfcDoorTypeOperationEnum { + } + IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT = { type: 3, value: "SINGLE_SWING_LEFT" }; + IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT = { type: 3, value: "SINGLE_SWING_RIGHT" }; + IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING" }; + IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT" }; + IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT" }; + IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT = { type: 3, value: "DOUBLE_SWING_LEFT" }; + IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT = { type: 3, value: "DOUBLE_SWING_RIGHT" }; + IfcDoorTypeOperationEnum.DOUBLE_DOOR_DOUBLE_SWING = { type: 3, value: "DOUBLE_DOOR_DOUBLE_SWING" }; + IfcDoorTypeOperationEnum.SLIDING_TO_LEFT = { type: 3, value: "SLIDING_TO_LEFT" }; + IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT = { type: 3, value: "SLIDING_TO_RIGHT" }; + IfcDoorTypeOperationEnum.DOUBLE_DOOR_SLIDING = { type: 3, value: "DOUBLE_DOOR_SLIDING" }; + IfcDoorTypeOperationEnum.FOLDING_TO_LEFT = { type: 3, value: "FOLDING_TO_LEFT" }; + IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT = { type: 3, value: "FOLDING_TO_RIGHT" }; + IfcDoorTypeOperationEnum.DOUBLE_DOOR_FOLDING = { type: 3, value: "DOUBLE_DOOR_FOLDING" }; + IfcDoorTypeOperationEnum.REVOLVING = { type: 3, value: "REVOLVING" }; + IfcDoorTypeOperationEnum.ROLLINGUP = { type: 3, value: "ROLLINGUP" }; + IfcDoorTypeOperationEnum.SWING_FIXED_LEFT = { type: 3, value: "SWING_FIXED_LEFT" }; + IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT = { type: 3, value: "SWING_FIXED_RIGHT" }; + IfcDoorTypeOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorTypeOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDoorTypeOperationEnum = IfcDoorTypeOperationEnum; + class IfcDuctFittingTypeEnum { + } + IfcDuctFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcDuctFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcDuctFittingTypeEnum.ENTRY = { type: 3, value: "ENTRY" }; + IfcDuctFittingTypeEnum.EXIT = { type: 3, value: "EXIT" }; + IfcDuctFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcDuctFittingTypeEnum.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" }; + IfcDuctFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcDuctFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDuctFittingTypeEnum = IfcDuctFittingTypeEnum; + class IfcDuctSegmentTypeEnum { + } + IfcDuctSegmentTypeEnum.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" }; + IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" }; + IfcDuctSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDuctSegmentTypeEnum = IfcDuctSegmentTypeEnum; + class IfcDuctSilencerTypeEnum { + } + IfcDuctSilencerTypeEnum.FLATOVAL = { type: 3, value: "FLATOVAL" }; + IfcDuctSilencerTypeEnum.RECTANGULAR = { type: 3, value: "RECTANGULAR" }; + IfcDuctSilencerTypeEnum.ROUND = { type: 3, value: "ROUND" }; + IfcDuctSilencerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctSilencerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDuctSilencerTypeEnum = IfcDuctSilencerTypeEnum; + class IfcElectricApplianceTypeEnum { + } + IfcElectricApplianceTypeEnum.DISHWASHER = { type: 3, value: "DISHWASHER" }; + IfcElectricApplianceTypeEnum.ELECTRICCOOKER = { type: 3, value: "ELECTRICCOOKER" }; + IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER = { type: 3, value: "FREESTANDINGELECTRICHEATER" }; + IfcElectricApplianceTypeEnum.FREESTANDINGFAN = { type: 3, value: "FREESTANDINGFAN" }; + IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER = { type: 3, value: "FREESTANDINGWATERHEATER" }; + IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER = { type: 3, value: "FREESTANDINGWATERCOOLER" }; + IfcElectricApplianceTypeEnum.FREEZER = { type: 3, value: "FREEZER" }; + IfcElectricApplianceTypeEnum.FRIDGE_FREEZER = { type: 3, value: "FRIDGE_FREEZER" }; + IfcElectricApplianceTypeEnum.HANDDRYER = { type: 3, value: "HANDDRYER" }; + IfcElectricApplianceTypeEnum.KITCHENMACHINE = { type: 3, value: "KITCHENMACHINE" }; + IfcElectricApplianceTypeEnum.MICROWAVE = { type: 3, value: "MICROWAVE" }; + IfcElectricApplianceTypeEnum.PHOTOCOPIER = { type: 3, value: "PHOTOCOPIER" }; + IfcElectricApplianceTypeEnum.REFRIGERATOR = { type: 3, value: "REFRIGERATOR" }; + IfcElectricApplianceTypeEnum.TUMBLEDRYER = { type: 3, value: "TUMBLEDRYER" }; + IfcElectricApplianceTypeEnum.VENDINGMACHINE = { type: 3, value: "VENDINGMACHINE" }; + IfcElectricApplianceTypeEnum.WASHINGMACHINE = { type: 3, value: "WASHINGMACHINE" }; + IfcElectricApplianceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricApplianceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcElectricApplianceTypeEnum = IfcElectricApplianceTypeEnum; + class IfcElectricDistributionBoardTypeEnum { + } + IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT = { type: 3, value: "CONSUMERUNIT" }; + IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD = { type: 3, value: "DISTRIBUTIONBOARD" }; + IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE = { type: 3, value: "MOTORCONTROLCENTRE" }; + IfcElectricDistributionBoardTypeEnum.SWITCHBOARD = { type: 3, value: "SWITCHBOARD" }; + IfcElectricDistributionBoardTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricDistributionBoardTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcElectricDistributionBoardTypeEnum = IfcElectricDistributionBoardTypeEnum; + class IfcElectricFlowStorageDeviceTypeEnum { + } + IfcElectricFlowStorageDeviceTypeEnum.BATTERY = { type: 3, value: "BATTERY" }; + IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK = { type: 3, value: "CAPACITORBANK" }; + IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER = { type: 3, value: "HARMONICFILTER" }; + IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK = { type: 3, value: "INDUCTORBANK" }; + IfcElectricFlowStorageDeviceTypeEnum.UPS = { type: 3, value: "UPS" }; + IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcElectricFlowStorageDeviceTypeEnum = IfcElectricFlowStorageDeviceTypeEnum; + class IfcElectricGeneratorTypeEnum { + } + IfcElectricGeneratorTypeEnum.CHP = { type: 3, value: "CHP" }; + IfcElectricGeneratorTypeEnum.ENGINEGENERATOR = { type: 3, value: "ENGINEGENERATOR" }; + IfcElectricGeneratorTypeEnum.STANDALONE = { type: 3, value: "STANDALONE" }; + IfcElectricGeneratorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricGeneratorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcElectricGeneratorTypeEnum = IfcElectricGeneratorTypeEnum; + class IfcElectricMotorTypeEnum { + } + IfcElectricMotorTypeEnum.DC = { type: 3, value: "DC" }; + IfcElectricMotorTypeEnum.INDUCTION = { type: 3, value: "INDUCTION" }; + IfcElectricMotorTypeEnum.POLYPHASE = { type: 3, value: "POLYPHASE" }; + IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS = { type: 3, value: "RELUCTANCESYNCHRONOUS" }; + IfcElectricMotorTypeEnum.SYNCHRONOUS = { type: 3, value: "SYNCHRONOUS" }; + IfcElectricMotorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricMotorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcElectricMotorTypeEnum = IfcElectricMotorTypeEnum; + class IfcElectricTimeControlTypeEnum { + } + IfcElectricTimeControlTypeEnum.TIMECLOCK = { type: 3, value: "TIMECLOCK" }; + IfcElectricTimeControlTypeEnum.TIMEDELAY = { type: 3, value: "TIMEDELAY" }; + IfcElectricTimeControlTypeEnum.RELAY = { type: 3, value: "RELAY" }; + IfcElectricTimeControlTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricTimeControlTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcElectricTimeControlTypeEnum = IfcElectricTimeControlTypeEnum; + class IfcElementAssemblyTypeEnum { + } + IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY = { type: 3, value: "ACCESSORY_ASSEMBLY" }; + IfcElementAssemblyTypeEnum.ARCH = { type: 3, value: "ARCH" }; + IfcElementAssemblyTypeEnum.BEAM_GRID = { type: 3, value: "BEAM_GRID" }; + IfcElementAssemblyTypeEnum.BRACED_FRAME = { type: 3, value: "BRACED_FRAME" }; + IfcElementAssemblyTypeEnum.GIRDER = { type: 3, value: "GIRDER" }; + IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT = { type: 3, value: "REINFORCEMENT_UNIT" }; + IfcElementAssemblyTypeEnum.RIGID_FRAME = { type: 3, value: "RIGID_FRAME" }; + IfcElementAssemblyTypeEnum.SLAB_FIELD = { type: 3, value: "SLAB_FIELD" }; + IfcElementAssemblyTypeEnum.TRUSS = { type: 3, value: "TRUSS" }; + IfcElementAssemblyTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElementAssemblyTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcElementAssemblyTypeEnum = IfcElementAssemblyTypeEnum; + class IfcElementCompositionEnum { + } + IfcElementCompositionEnum.COMPLEX = { type: 3, value: "COMPLEX" }; + IfcElementCompositionEnum.ELEMENT = { type: 3, value: "ELEMENT" }; + IfcElementCompositionEnum.PARTIAL = { type: 3, value: "PARTIAL" }; + IFC42.IfcElementCompositionEnum = IfcElementCompositionEnum; + class IfcEngineTypeEnum { + } + IfcEngineTypeEnum.EXTERNALCOMBUSTION = { type: 3, value: "EXTERNALCOMBUSTION" }; + IfcEngineTypeEnum.INTERNALCOMBUSTION = { type: 3, value: "INTERNALCOMBUSTION" }; + IfcEngineTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEngineTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcEngineTypeEnum = IfcEngineTypeEnum; + class IfcEvaporativeCoolerTypeEnum { + } + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER = { type: 3, value: "DIRECTEVAPORATIVEAIRWASHER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER = { type: 3, value: "INDIRECTEVAPORATIVEPACKAGEAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL = { type: 3, value: "INDIRECTEVAPORATIVEWETCOIL" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER = { type: 3, value: "INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION = { type: 3, value: "INDIRECTDIRECTCOMBINATION" }; + IfcEvaporativeCoolerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEvaporativeCoolerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcEvaporativeCoolerTypeEnum = IfcEvaporativeCoolerTypeEnum; + class IfcEvaporatorTypeEnum { + } + IfcEvaporatorTypeEnum.DIRECTEXPANSION = { type: 3, value: "DIRECTEXPANSION" }; + IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE = { type: 3, value: "DIRECTEXPANSIONSHELLANDTUBE" }; + IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE = { type: 3, value: "DIRECTEXPANSIONTUBEINTUBE" }; + IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE = { type: 3, value: "DIRECTEXPANSIONBRAZEDPLATE" }; + IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE = { type: 3, value: "FLOODEDSHELLANDTUBE" }; + IfcEvaporatorTypeEnum.SHELLANDCOIL = { type: 3, value: "SHELLANDCOIL" }; + IfcEvaporatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEvaporatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcEvaporatorTypeEnum = IfcEvaporatorTypeEnum; + class IfcEventTriggerTypeEnum { + } + IfcEventTriggerTypeEnum.EVENTRULE = { type: 3, value: "EVENTRULE" }; + IfcEventTriggerTypeEnum.EVENTMESSAGE = { type: 3, value: "EVENTMESSAGE" }; + IfcEventTriggerTypeEnum.EVENTTIME = { type: 3, value: "EVENTTIME" }; + IfcEventTriggerTypeEnum.EVENTCOMPLEX = { type: 3, value: "EVENTCOMPLEX" }; + IfcEventTriggerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEventTriggerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcEventTriggerTypeEnum = IfcEventTriggerTypeEnum; + class IfcEventTypeEnum { + } + IfcEventTypeEnum.STARTEVENT = { type: 3, value: "STARTEVENT" }; + IfcEventTypeEnum.ENDEVENT = { type: 3, value: "ENDEVENT" }; + IfcEventTypeEnum.INTERMEDIATEEVENT = { type: 3, value: "INTERMEDIATEEVENT" }; + IfcEventTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEventTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcEventTypeEnum = IfcEventTypeEnum; + class IfcExternalSpatialElementTypeEnum { + } + IfcExternalSpatialElementTypeEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH = { type: 3, value: "EXTERNAL_EARTH" }; + IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER = { type: 3, value: "EXTERNAL_WATER" }; + IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE = { type: 3, value: "EXTERNAL_FIRE" }; + IfcExternalSpatialElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcExternalSpatialElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcExternalSpatialElementTypeEnum = IfcExternalSpatialElementTypeEnum; + class IfcFanTypeEnum { + } + IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED = { type: 3, value: "CENTRIFUGALFORWARDCURVED" }; + IfcFanTypeEnum.CENTRIFUGALRADIAL = { type: 3, value: "CENTRIFUGALRADIAL" }; + IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED = { type: 3, value: "CENTRIFUGALBACKWARDINCLINEDCURVED" }; + IfcFanTypeEnum.CENTRIFUGALAIRFOIL = { type: 3, value: "CENTRIFUGALAIRFOIL" }; + IfcFanTypeEnum.TUBEAXIAL = { type: 3, value: "TUBEAXIAL" }; + IfcFanTypeEnum.VANEAXIAL = { type: 3, value: "VANEAXIAL" }; + IfcFanTypeEnum.PROPELLORAXIAL = { type: 3, value: "PROPELLORAXIAL" }; + IfcFanTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFanTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFanTypeEnum = IfcFanTypeEnum; + class IfcFastenerTypeEnum { + } + IfcFastenerTypeEnum.GLUE = { type: 3, value: "GLUE" }; + IfcFastenerTypeEnum.MORTAR = { type: 3, value: "MORTAR" }; + IfcFastenerTypeEnum.WELD = { type: 3, value: "WELD" }; + IfcFastenerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFastenerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFastenerTypeEnum = IfcFastenerTypeEnum; + class IfcFilterTypeEnum { + } + IfcFilterTypeEnum.AIRPARTICLEFILTER = { type: 3, value: "AIRPARTICLEFILTER" }; + IfcFilterTypeEnum.COMPRESSEDAIRFILTER = { type: 3, value: "COMPRESSEDAIRFILTER" }; + IfcFilterTypeEnum.ODORFILTER = { type: 3, value: "ODORFILTER" }; + IfcFilterTypeEnum.OILFILTER = { type: 3, value: "OILFILTER" }; + IfcFilterTypeEnum.STRAINER = { type: 3, value: "STRAINER" }; + IfcFilterTypeEnum.WATERFILTER = { type: 3, value: "WATERFILTER" }; + IfcFilterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFilterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFilterTypeEnum = IfcFilterTypeEnum; + class IfcFireSuppressionTerminalTypeEnum { + } + IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET = { type: 3, value: "BREECHINGINLET" }; + IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT = { type: 3, value: "FIREHYDRANT" }; + IfcFireSuppressionTerminalTypeEnum.HOSEREEL = { type: 3, value: "HOSEREEL" }; + IfcFireSuppressionTerminalTypeEnum.SPRINKLER = { type: 3, value: "SPRINKLER" }; + IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR = { type: 3, value: "SPRINKLERDEFLECTOR" }; + IfcFireSuppressionTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFireSuppressionTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFireSuppressionTerminalTypeEnum = IfcFireSuppressionTerminalTypeEnum; + class IfcFlowDirectionEnum { + } + IfcFlowDirectionEnum.SOURCE = { type: 3, value: "SOURCE" }; + IfcFlowDirectionEnum.SINK = { type: 3, value: "SINK" }; + IfcFlowDirectionEnum.SOURCEANDSINK = { type: 3, value: "SOURCEANDSINK" }; + IfcFlowDirectionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFlowDirectionEnum = IfcFlowDirectionEnum; + class IfcFlowInstrumentTypeEnum { + } + IfcFlowInstrumentTypeEnum.PRESSUREGAUGE = { type: 3, value: "PRESSUREGAUGE" }; + IfcFlowInstrumentTypeEnum.THERMOMETER = { type: 3, value: "THERMOMETER" }; + IfcFlowInstrumentTypeEnum.AMMETER = { type: 3, value: "AMMETER" }; + IfcFlowInstrumentTypeEnum.FREQUENCYMETER = { type: 3, value: "FREQUENCYMETER" }; + IfcFlowInstrumentTypeEnum.POWERFACTORMETER = { type: 3, value: "POWERFACTORMETER" }; + IfcFlowInstrumentTypeEnum.PHASEANGLEMETER = { type: 3, value: "PHASEANGLEMETER" }; + IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK = { type: 3, value: "VOLTMETER_PEAK" }; + IfcFlowInstrumentTypeEnum.VOLTMETER_RMS = { type: 3, value: "VOLTMETER_RMS" }; + IfcFlowInstrumentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFlowInstrumentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFlowInstrumentTypeEnum = IfcFlowInstrumentTypeEnum; + class IfcFlowMeterTypeEnum { + } + IfcFlowMeterTypeEnum.ENERGYMETER = { type: 3, value: "ENERGYMETER" }; + IfcFlowMeterTypeEnum.GASMETER = { type: 3, value: "GASMETER" }; + IfcFlowMeterTypeEnum.OILMETER = { type: 3, value: "OILMETER" }; + IfcFlowMeterTypeEnum.WATERMETER = { type: 3, value: "WATERMETER" }; + IfcFlowMeterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFlowMeterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFlowMeterTypeEnum = IfcFlowMeterTypeEnum; + class IfcFootingTypeEnum { + } + IfcFootingTypeEnum.CAISSON_FOUNDATION = { type: 3, value: "CAISSON_FOUNDATION" }; + IfcFootingTypeEnum.FOOTING_BEAM = { type: 3, value: "FOOTING_BEAM" }; + IfcFootingTypeEnum.PAD_FOOTING = { type: 3, value: "PAD_FOOTING" }; + IfcFootingTypeEnum.PILE_CAP = { type: 3, value: "PILE_CAP" }; + IfcFootingTypeEnum.STRIP_FOOTING = { type: 3, value: "STRIP_FOOTING" }; + IfcFootingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFootingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFootingTypeEnum = IfcFootingTypeEnum; + class IfcFurnitureTypeEnum { + } + IfcFurnitureTypeEnum.CHAIR = { type: 3, value: "CHAIR" }; + IfcFurnitureTypeEnum.TABLE = { type: 3, value: "TABLE" }; + IfcFurnitureTypeEnum.DESK = { type: 3, value: "DESK" }; + IfcFurnitureTypeEnum.BED = { type: 3, value: "BED" }; + IfcFurnitureTypeEnum.FILECABINET = { type: 3, value: "FILECABINET" }; + IfcFurnitureTypeEnum.SHELF = { type: 3, value: "SHELF" }; + IfcFurnitureTypeEnum.SOFA = { type: 3, value: "SOFA" }; + IfcFurnitureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFurnitureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFurnitureTypeEnum = IfcFurnitureTypeEnum; + class IfcGeographicElementTypeEnum { + } + IfcGeographicElementTypeEnum.TERRAIN = { type: 3, value: "TERRAIN" }; + IfcGeographicElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGeographicElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcGeographicElementTypeEnum = IfcGeographicElementTypeEnum; + class IfcGeometricProjectionEnum { + } + IfcGeometricProjectionEnum.GRAPH_VIEW = { type: 3, value: "GRAPH_VIEW" }; + IfcGeometricProjectionEnum.SKETCH_VIEW = { type: 3, value: "SKETCH_VIEW" }; + IfcGeometricProjectionEnum.MODEL_VIEW = { type: 3, value: "MODEL_VIEW" }; + IfcGeometricProjectionEnum.PLAN_VIEW = { type: 3, value: "PLAN_VIEW" }; + IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW = { type: 3, value: "REFLECTED_PLAN_VIEW" }; + IfcGeometricProjectionEnum.SECTION_VIEW = { type: 3, value: "SECTION_VIEW" }; + IfcGeometricProjectionEnum.ELEVATION_VIEW = { type: 3, value: "ELEVATION_VIEW" }; + IfcGeometricProjectionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGeometricProjectionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcGeometricProjectionEnum = IfcGeometricProjectionEnum; + class IfcGlobalOrLocalEnum { + } + IfcGlobalOrLocalEnum.GLOBAL_COORDS = { type: 3, value: "GLOBAL_COORDS" }; + IfcGlobalOrLocalEnum.LOCAL_COORDS = { type: 3, value: "LOCAL_COORDS" }; + IFC42.IfcGlobalOrLocalEnum = IfcGlobalOrLocalEnum; + class IfcGridTypeEnum { + } + IfcGridTypeEnum.RECTANGULAR = { type: 3, value: "RECTANGULAR" }; + IfcGridTypeEnum.RADIAL = { type: 3, value: "RADIAL" }; + IfcGridTypeEnum.TRIANGULAR = { type: 3, value: "TRIANGULAR" }; + IfcGridTypeEnum.IRREGULAR = { type: 3, value: "IRREGULAR" }; + IfcGridTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGridTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcGridTypeEnum = IfcGridTypeEnum; + class IfcHeatExchangerTypeEnum { + } + IfcHeatExchangerTypeEnum.PLATE = { type: 3, value: "PLATE" }; + IfcHeatExchangerTypeEnum.SHELLANDTUBE = { type: 3, value: "SHELLANDTUBE" }; + IfcHeatExchangerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcHeatExchangerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcHeatExchangerTypeEnum = IfcHeatExchangerTypeEnum; + class IfcHumidifierTypeEnum { + } + IfcHumidifierTypeEnum.STEAMINJECTION = { type: 3, value: "STEAMINJECTION" }; + IfcHumidifierTypeEnum.ADIABATICAIRWASHER = { type: 3, value: "ADIABATICAIRWASHER" }; + IfcHumidifierTypeEnum.ADIABATICPAN = { type: 3, value: "ADIABATICPAN" }; + IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT = { type: 3, value: "ADIABATICWETTEDELEMENT" }; + IfcHumidifierTypeEnum.ADIABATICATOMIZING = { type: 3, value: "ADIABATICATOMIZING" }; + IfcHumidifierTypeEnum.ADIABATICULTRASONIC = { type: 3, value: "ADIABATICULTRASONIC" }; + IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA = { type: 3, value: "ADIABATICRIGIDMEDIA" }; + IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE = { type: 3, value: "ADIABATICCOMPRESSEDAIRNOZZLE" }; + IfcHumidifierTypeEnum.ASSISTEDELECTRIC = { type: 3, value: "ASSISTEDELECTRIC" }; + IfcHumidifierTypeEnum.ASSISTEDNATURALGAS = { type: 3, value: "ASSISTEDNATURALGAS" }; + IfcHumidifierTypeEnum.ASSISTEDPROPANE = { type: 3, value: "ASSISTEDPROPANE" }; + IfcHumidifierTypeEnum.ASSISTEDBUTANE = { type: 3, value: "ASSISTEDBUTANE" }; + IfcHumidifierTypeEnum.ASSISTEDSTEAM = { type: 3, value: "ASSISTEDSTEAM" }; + IfcHumidifierTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcHumidifierTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcHumidifierTypeEnum = IfcHumidifierTypeEnum; + class IfcInterceptorTypeEnum { + } + IfcInterceptorTypeEnum.CYCLONIC = { type: 3, value: "CYCLONIC" }; + IfcInterceptorTypeEnum.GREASE = { type: 3, value: "GREASE" }; + IfcInterceptorTypeEnum.OIL = { type: 3, value: "OIL" }; + IfcInterceptorTypeEnum.PETROL = { type: 3, value: "PETROL" }; + IfcInterceptorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcInterceptorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcInterceptorTypeEnum = IfcInterceptorTypeEnum; + class IfcInternalOrExternalEnum { + } + IfcInternalOrExternalEnum.INTERNAL = { type: 3, value: "INTERNAL" }; + IfcInternalOrExternalEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcInternalOrExternalEnum.EXTERNAL_EARTH = { type: 3, value: "EXTERNAL_EARTH" }; + IfcInternalOrExternalEnum.EXTERNAL_WATER = { type: 3, value: "EXTERNAL_WATER" }; + IfcInternalOrExternalEnum.EXTERNAL_FIRE = { type: 3, value: "EXTERNAL_FIRE" }; + IfcInternalOrExternalEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcInternalOrExternalEnum = IfcInternalOrExternalEnum; + class IfcInventoryTypeEnum { + } + IfcInventoryTypeEnum.ASSETINVENTORY = { type: 3, value: "ASSETINVENTORY" }; + IfcInventoryTypeEnum.SPACEINVENTORY = { type: 3, value: "SPACEINVENTORY" }; + IfcInventoryTypeEnum.FURNITUREINVENTORY = { type: 3, value: "FURNITUREINVENTORY" }; + IfcInventoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcInventoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcInventoryTypeEnum = IfcInventoryTypeEnum; + class IfcJunctionBoxTypeEnum { + } + IfcJunctionBoxTypeEnum.DATA = { type: 3, value: "DATA" }; + IfcJunctionBoxTypeEnum.POWER = { type: 3, value: "POWER" }; + IfcJunctionBoxTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcJunctionBoxTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcJunctionBoxTypeEnum = IfcJunctionBoxTypeEnum; + class IfcKnotType { + } + IfcKnotType.UNIFORM_KNOTS = { type: 3, value: "UNIFORM_KNOTS" }; + IfcKnotType.QUASI_UNIFORM_KNOTS = { type: 3, value: "QUASI_UNIFORM_KNOTS" }; + IfcKnotType.PIECEWISE_BEZIER_KNOTS = { type: 3, value: "PIECEWISE_BEZIER_KNOTS" }; + IfcKnotType.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC42.IfcKnotType = IfcKnotType; + class IfcLaborResourceTypeEnum { + } + IfcLaborResourceTypeEnum.ADMINISTRATION = { type: 3, value: "ADMINISTRATION" }; + IfcLaborResourceTypeEnum.CARPENTRY = { type: 3, value: "CARPENTRY" }; + IfcLaborResourceTypeEnum.CLEANING = { type: 3, value: "CLEANING" }; + IfcLaborResourceTypeEnum.CONCRETE = { type: 3, value: "CONCRETE" }; + IfcLaborResourceTypeEnum.DRYWALL = { type: 3, value: "DRYWALL" }; + IfcLaborResourceTypeEnum.ELECTRIC = { type: 3, value: "ELECTRIC" }; + IfcLaborResourceTypeEnum.FINISHING = { type: 3, value: "FINISHING" }; + IfcLaborResourceTypeEnum.FLOORING = { type: 3, value: "FLOORING" }; + IfcLaborResourceTypeEnum.GENERAL = { type: 3, value: "GENERAL" }; + IfcLaborResourceTypeEnum.HVAC = { type: 3, value: "HVAC" }; + IfcLaborResourceTypeEnum.LANDSCAPING = { type: 3, value: "LANDSCAPING" }; + IfcLaborResourceTypeEnum.MASONRY = { type: 3, value: "MASONRY" }; + IfcLaborResourceTypeEnum.PAINTING = { type: 3, value: "PAINTING" }; + IfcLaborResourceTypeEnum.PAVING = { type: 3, value: "PAVING" }; + IfcLaborResourceTypeEnum.PLUMBING = { type: 3, value: "PLUMBING" }; + IfcLaborResourceTypeEnum.ROOFING = { type: 3, value: "ROOFING" }; + IfcLaborResourceTypeEnum.SITEGRADING = { type: 3, value: "SITEGRADING" }; + IfcLaborResourceTypeEnum.STEELWORK = { type: 3, value: "STEELWORK" }; + IfcLaborResourceTypeEnum.SURVEYING = { type: 3, value: "SURVEYING" }; + IfcLaborResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLaborResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcLaborResourceTypeEnum = IfcLaborResourceTypeEnum; + class IfcLampTypeEnum { + } + IfcLampTypeEnum.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" }; + IfcLampTypeEnum.FLUORESCENT = { type: 3, value: "FLUORESCENT" }; + IfcLampTypeEnum.HALOGEN = { type: 3, value: "HALOGEN" }; + IfcLampTypeEnum.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" }; + IfcLampTypeEnum.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" }; + IfcLampTypeEnum.LED = { type: 3, value: "LED" }; + IfcLampTypeEnum.METALHALIDE = { type: 3, value: "METALHALIDE" }; + IfcLampTypeEnum.OLED = { type: 3, value: "OLED" }; + IfcLampTypeEnum.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" }; + IfcLampTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLampTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcLampTypeEnum = IfcLampTypeEnum; + class IfcLayerSetDirectionEnum { + } + IfcLayerSetDirectionEnum.AXIS1 = { type: 3, value: "AXIS1" }; + IfcLayerSetDirectionEnum.AXIS2 = { type: 3, value: "AXIS2" }; + IfcLayerSetDirectionEnum.AXIS3 = { type: 3, value: "AXIS3" }; + IFC42.IfcLayerSetDirectionEnum = IfcLayerSetDirectionEnum; + class IfcLightDistributionCurveEnum { + } + IfcLightDistributionCurveEnum.TYPE_A = { type: 3, value: "TYPE_A" }; + IfcLightDistributionCurveEnum.TYPE_B = { type: 3, value: "TYPE_B" }; + IfcLightDistributionCurveEnum.TYPE_C = { type: 3, value: "TYPE_C" }; + IfcLightDistributionCurveEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcLightDistributionCurveEnum = IfcLightDistributionCurveEnum; + class IfcLightEmissionSourceEnum { + } + IfcLightEmissionSourceEnum.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" }; + IfcLightEmissionSourceEnum.FLUORESCENT = { type: 3, value: "FLUORESCENT" }; + IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" }; + IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" }; + IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE = { type: 3, value: "LIGHTEMITTINGDIODE" }; + IfcLightEmissionSourceEnum.LOWPRESSURESODIUM = { type: 3, value: "LOWPRESSURESODIUM" }; + IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN = { type: 3, value: "LOWVOLTAGEHALOGEN" }; + IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN = { type: 3, value: "MAINVOLTAGEHALOGEN" }; + IfcLightEmissionSourceEnum.METALHALIDE = { type: 3, value: "METALHALIDE" }; + IfcLightEmissionSourceEnum.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" }; + IfcLightEmissionSourceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcLightEmissionSourceEnum = IfcLightEmissionSourceEnum; + class IfcLightFixtureTypeEnum { + } + IfcLightFixtureTypeEnum.POINTSOURCE = { type: 3, value: "POINTSOURCE" }; + IfcLightFixtureTypeEnum.DIRECTIONSOURCE = { type: 3, value: "DIRECTIONSOURCE" }; + IfcLightFixtureTypeEnum.SECURITYLIGHTING = { type: 3, value: "SECURITYLIGHTING" }; + IfcLightFixtureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLightFixtureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcLightFixtureTypeEnum = IfcLightFixtureTypeEnum; + class IfcLoadGroupTypeEnum { + } + IfcLoadGroupTypeEnum.LOAD_GROUP = { type: 3, value: "LOAD_GROUP" }; + IfcLoadGroupTypeEnum.LOAD_CASE = { type: 3, value: "LOAD_CASE" }; + IfcLoadGroupTypeEnum.LOAD_COMBINATION = { type: 3, value: "LOAD_COMBINATION" }; + IfcLoadGroupTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLoadGroupTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcLoadGroupTypeEnum = IfcLoadGroupTypeEnum; + class IfcLogicalOperatorEnum { + } + IfcLogicalOperatorEnum.LOGICALAND = { type: 3, value: "LOGICALAND" }; + IfcLogicalOperatorEnum.LOGICALOR = { type: 3, value: "LOGICALOR" }; + IfcLogicalOperatorEnum.LOGICALXOR = { type: 3, value: "LOGICALXOR" }; + IfcLogicalOperatorEnum.LOGICALNOTAND = { type: 3, value: "LOGICALNOTAND" }; + IfcLogicalOperatorEnum.LOGICALNOTOR = { type: 3, value: "LOGICALNOTOR" }; + IFC42.IfcLogicalOperatorEnum = IfcLogicalOperatorEnum; + class IfcMechanicalFastenerTypeEnum { + } + IfcMechanicalFastenerTypeEnum.ANCHORBOLT = { type: 3, value: "ANCHORBOLT" }; + IfcMechanicalFastenerTypeEnum.BOLT = { type: 3, value: "BOLT" }; + IfcMechanicalFastenerTypeEnum.DOWEL = { type: 3, value: "DOWEL" }; + IfcMechanicalFastenerTypeEnum.NAIL = { type: 3, value: "NAIL" }; + IfcMechanicalFastenerTypeEnum.NAILPLATE = { type: 3, value: "NAILPLATE" }; + IfcMechanicalFastenerTypeEnum.RIVET = { type: 3, value: "RIVET" }; + IfcMechanicalFastenerTypeEnum.SCREW = { type: 3, value: "SCREW" }; + IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR = { type: 3, value: "SHEARCONNECTOR" }; + IfcMechanicalFastenerTypeEnum.STAPLE = { type: 3, value: "STAPLE" }; + IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR = { type: 3, value: "STUDSHEARCONNECTOR" }; + IfcMechanicalFastenerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMechanicalFastenerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcMechanicalFastenerTypeEnum = IfcMechanicalFastenerTypeEnum; + class IfcMedicalDeviceTypeEnum { + } + IfcMedicalDeviceTypeEnum.AIRSTATION = { type: 3, value: "AIRSTATION" }; + IfcMedicalDeviceTypeEnum.FEEDAIRUNIT = { type: 3, value: "FEEDAIRUNIT" }; + IfcMedicalDeviceTypeEnum.OXYGENGENERATOR = { type: 3, value: "OXYGENGENERATOR" }; + IfcMedicalDeviceTypeEnum.OXYGENPLANT = { type: 3, value: "OXYGENPLANT" }; + IfcMedicalDeviceTypeEnum.VACUUMSTATION = { type: 3, value: "VACUUMSTATION" }; + IfcMedicalDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMedicalDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcMedicalDeviceTypeEnum = IfcMedicalDeviceTypeEnum; + class IfcMemberTypeEnum { + } + IfcMemberTypeEnum.BRACE = { type: 3, value: "BRACE" }; + IfcMemberTypeEnum.CHORD = { type: 3, value: "CHORD" }; + IfcMemberTypeEnum.COLLAR = { type: 3, value: "COLLAR" }; + IfcMemberTypeEnum.MEMBER = { type: 3, value: "MEMBER" }; + IfcMemberTypeEnum.MULLION = { type: 3, value: "MULLION" }; + IfcMemberTypeEnum.PLATE = { type: 3, value: "PLATE" }; + IfcMemberTypeEnum.POST = { type: 3, value: "POST" }; + IfcMemberTypeEnum.PURLIN = { type: 3, value: "PURLIN" }; + IfcMemberTypeEnum.RAFTER = { type: 3, value: "RAFTER" }; + IfcMemberTypeEnum.STRINGER = { type: 3, value: "STRINGER" }; + IfcMemberTypeEnum.STRUT = { type: 3, value: "STRUT" }; + IfcMemberTypeEnum.STUD = { type: 3, value: "STUD" }; + IfcMemberTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMemberTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcMemberTypeEnum = IfcMemberTypeEnum; + class IfcMotorConnectionTypeEnum { + } + IfcMotorConnectionTypeEnum.BELTDRIVE = { type: 3, value: "BELTDRIVE" }; + IfcMotorConnectionTypeEnum.COUPLING = { type: 3, value: "COUPLING" }; + IfcMotorConnectionTypeEnum.DIRECTDRIVE = { type: 3, value: "DIRECTDRIVE" }; + IfcMotorConnectionTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMotorConnectionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcMotorConnectionTypeEnum = IfcMotorConnectionTypeEnum; + class IfcNullStyle { + } + IfcNullStyle.NULL = { type: 3, value: "NULL" }; + IFC42.IfcNullStyle = IfcNullStyle; + class IfcObjectTypeEnum { + } + IfcObjectTypeEnum.PRODUCT = { type: 3, value: "PRODUCT" }; + IfcObjectTypeEnum.PROCESS = { type: 3, value: "PROCESS" }; + IfcObjectTypeEnum.CONTROL = { type: 3, value: "CONTROL" }; + IfcObjectTypeEnum.RESOURCE = { type: 3, value: "RESOURCE" }; + IfcObjectTypeEnum.ACTOR = { type: 3, value: "ACTOR" }; + IfcObjectTypeEnum.GROUP = { type: 3, value: "GROUP" }; + IfcObjectTypeEnum.PROJECT = { type: 3, value: "PROJECT" }; + IfcObjectTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcObjectTypeEnum = IfcObjectTypeEnum; + class IfcObjectiveEnum { + } + IfcObjectiveEnum.CODECOMPLIANCE = { type: 3, value: "CODECOMPLIANCE" }; + IfcObjectiveEnum.CODEWAIVER = { type: 3, value: "CODEWAIVER" }; + IfcObjectiveEnum.DESIGNINTENT = { type: 3, value: "DESIGNINTENT" }; + IfcObjectiveEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcObjectiveEnum.HEALTHANDSAFETY = { type: 3, value: "HEALTHANDSAFETY" }; + IfcObjectiveEnum.MERGECONFLICT = { type: 3, value: "MERGECONFLICT" }; + IfcObjectiveEnum.MODELVIEW = { type: 3, value: "MODELVIEW" }; + IfcObjectiveEnum.PARAMETER = { type: 3, value: "PARAMETER" }; + IfcObjectiveEnum.REQUIREMENT = { type: 3, value: "REQUIREMENT" }; + IfcObjectiveEnum.SPECIFICATION = { type: 3, value: "SPECIFICATION" }; + IfcObjectiveEnum.TRIGGERCONDITION = { type: 3, value: "TRIGGERCONDITION" }; + IfcObjectiveEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcObjectiveEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcObjectiveEnum = IfcObjectiveEnum; + class IfcOccupantTypeEnum { + } + IfcOccupantTypeEnum.ASSIGNEE = { type: 3, value: "ASSIGNEE" }; + IfcOccupantTypeEnum.ASSIGNOR = { type: 3, value: "ASSIGNOR" }; + IfcOccupantTypeEnum.LESSEE = { type: 3, value: "LESSEE" }; + IfcOccupantTypeEnum.LESSOR = { type: 3, value: "LESSOR" }; + IfcOccupantTypeEnum.LETTINGAGENT = { type: 3, value: "LETTINGAGENT" }; + IfcOccupantTypeEnum.OWNER = { type: 3, value: "OWNER" }; + IfcOccupantTypeEnum.TENANT = { type: 3, value: "TENANT" }; + IfcOccupantTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcOccupantTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcOccupantTypeEnum = IfcOccupantTypeEnum; + class IfcOpeningElementTypeEnum { + } + IfcOpeningElementTypeEnum.OPENING = { type: 3, value: "OPENING" }; + IfcOpeningElementTypeEnum.RECESS = { type: 3, value: "RECESS" }; + IfcOpeningElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcOpeningElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcOpeningElementTypeEnum = IfcOpeningElementTypeEnum; + class IfcOutletTypeEnum { + } + IfcOutletTypeEnum.AUDIOVISUALOUTLET = { type: 3, value: "AUDIOVISUALOUTLET" }; + IfcOutletTypeEnum.COMMUNICATIONSOUTLET = { type: 3, value: "COMMUNICATIONSOUTLET" }; + IfcOutletTypeEnum.POWEROUTLET = { type: 3, value: "POWEROUTLET" }; + IfcOutletTypeEnum.DATAOUTLET = { type: 3, value: "DATAOUTLET" }; + IfcOutletTypeEnum.TELEPHONEOUTLET = { type: 3, value: "TELEPHONEOUTLET" }; + IfcOutletTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcOutletTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcOutletTypeEnum = IfcOutletTypeEnum; + class IfcPerformanceHistoryTypeEnum { + } + IfcPerformanceHistoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPerformanceHistoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPerformanceHistoryTypeEnum = IfcPerformanceHistoryTypeEnum; + class IfcPermeableCoveringOperationEnum { + } + IfcPermeableCoveringOperationEnum.GRILL = { type: 3, value: "GRILL" }; + IfcPermeableCoveringOperationEnum.LOUVER = { type: 3, value: "LOUVER" }; + IfcPermeableCoveringOperationEnum.SCREEN = { type: 3, value: "SCREEN" }; + IfcPermeableCoveringOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPermeableCoveringOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPermeableCoveringOperationEnum = IfcPermeableCoveringOperationEnum; + class IfcPermitTypeEnum { + } + IfcPermitTypeEnum.ACCESS = { type: 3, value: "ACCESS" }; + IfcPermitTypeEnum.BUILDING = { type: 3, value: "BUILDING" }; + IfcPermitTypeEnum.WORK = { type: 3, value: "WORK" }; + IfcPermitTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPermitTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPermitTypeEnum = IfcPermitTypeEnum; + class IfcPhysicalOrVirtualEnum { + } + IfcPhysicalOrVirtualEnum.PHYSICAL = { type: 3, value: "PHYSICAL" }; + IfcPhysicalOrVirtualEnum.VIRTUAL = { type: 3, value: "VIRTUAL" }; + IfcPhysicalOrVirtualEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPhysicalOrVirtualEnum = IfcPhysicalOrVirtualEnum; + class IfcPileConstructionEnum { + } + IfcPileConstructionEnum.CAST_IN_PLACE = { type: 3, value: "CAST_IN_PLACE" }; + IfcPileConstructionEnum.COMPOSITE = { type: 3, value: "COMPOSITE" }; + IfcPileConstructionEnum.PRECAST_CONCRETE = { type: 3, value: "PRECAST_CONCRETE" }; + IfcPileConstructionEnum.PREFAB_STEEL = { type: 3, value: "PREFAB_STEEL" }; + IfcPileConstructionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPileConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPileConstructionEnum = IfcPileConstructionEnum; + class IfcPileTypeEnum { + } + IfcPileTypeEnum.BORED = { type: 3, value: "BORED" }; + IfcPileTypeEnum.DRIVEN = { type: 3, value: "DRIVEN" }; + IfcPileTypeEnum.JETGROUTING = { type: 3, value: "JETGROUTING" }; + IfcPileTypeEnum.COHESION = { type: 3, value: "COHESION" }; + IfcPileTypeEnum.FRICTION = { type: 3, value: "FRICTION" }; + IfcPileTypeEnum.SUPPORT = { type: 3, value: "SUPPORT" }; + IfcPileTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPileTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPileTypeEnum = IfcPileTypeEnum; + class IfcPipeFittingTypeEnum { + } + IfcPipeFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcPipeFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcPipeFittingTypeEnum.ENTRY = { type: 3, value: "ENTRY" }; + IfcPipeFittingTypeEnum.EXIT = { type: 3, value: "EXIT" }; + IfcPipeFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcPipeFittingTypeEnum.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" }; + IfcPipeFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcPipeFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPipeFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPipeFittingTypeEnum = IfcPipeFittingTypeEnum; + class IfcPipeSegmentTypeEnum { + } + IfcPipeSegmentTypeEnum.CULVERT = { type: 3, value: "CULVERT" }; + IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" }; + IfcPipeSegmentTypeEnum.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" }; + IfcPipeSegmentTypeEnum.GUTTER = { type: 3, value: "GUTTER" }; + IfcPipeSegmentTypeEnum.SPOOL = { type: 3, value: "SPOOL" }; + IfcPipeSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPipeSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPipeSegmentTypeEnum = IfcPipeSegmentTypeEnum; + class IfcPlateTypeEnum { + } + IfcPlateTypeEnum.CURTAIN_PANEL = { type: 3, value: "CURTAIN_PANEL" }; + IfcPlateTypeEnum.SHEET = { type: 3, value: "SHEET" }; + IfcPlateTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPlateTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPlateTypeEnum = IfcPlateTypeEnum; + class IfcPreferredSurfaceCurveRepresentation { + } + IfcPreferredSurfaceCurveRepresentation.CURVE3D = { type: 3, value: "CURVE3D" }; + IfcPreferredSurfaceCurveRepresentation.PCURVE_S1 = { type: 3, value: "PCURVE_S1" }; + IfcPreferredSurfaceCurveRepresentation.PCURVE_S2 = { type: 3, value: "PCURVE_S2" }; + IFC42.IfcPreferredSurfaceCurveRepresentation = IfcPreferredSurfaceCurveRepresentation; + class IfcProcedureTypeEnum { + } + IfcProcedureTypeEnum.ADVICE_CAUTION = { type: 3, value: "ADVICE_CAUTION" }; + IfcProcedureTypeEnum.ADVICE_NOTE = { type: 3, value: "ADVICE_NOTE" }; + IfcProcedureTypeEnum.ADVICE_WARNING = { type: 3, value: "ADVICE_WARNING" }; + IfcProcedureTypeEnum.CALIBRATION = { type: 3, value: "CALIBRATION" }; + IfcProcedureTypeEnum.DIAGNOSTIC = { type: 3, value: "DIAGNOSTIC" }; + IfcProcedureTypeEnum.SHUTDOWN = { type: 3, value: "SHUTDOWN" }; + IfcProcedureTypeEnum.STARTUP = { type: 3, value: "STARTUP" }; + IfcProcedureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProcedureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcProcedureTypeEnum = IfcProcedureTypeEnum; + class IfcProfileTypeEnum { + } + IfcProfileTypeEnum.CURVE = { type: 3, value: "CURVE" }; + IfcProfileTypeEnum.AREA = { type: 3, value: "AREA" }; + IFC42.IfcProfileTypeEnum = IfcProfileTypeEnum; + class IfcProjectOrderTypeEnum { + } + IfcProjectOrderTypeEnum.CHANGEORDER = { type: 3, value: "CHANGEORDER" }; + IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER = { type: 3, value: "MAINTENANCEWORKORDER" }; + IfcProjectOrderTypeEnum.MOVEORDER = { type: 3, value: "MOVEORDER" }; + IfcProjectOrderTypeEnum.PURCHASEORDER = { type: 3, value: "PURCHASEORDER" }; + IfcProjectOrderTypeEnum.WORKORDER = { type: 3, value: "WORKORDER" }; + IfcProjectOrderTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProjectOrderTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcProjectOrderTypeEnum = IfcProjectOrderTypeEnum; + class IfcProjectedOrTrueLengthEnum { + } + IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH = { type: 3, value: "PROJECTED_LENGTH" }; + IfcProjectedOrTrueLengthEnum.TRUE_LENGTH = { type: 3, value: "TRUE_LENGTH" }; + IFC42.IfcProjectedOrTrueLengthEnum = IfcProjectedOrTrueLengthEnum; + class IfcProjectionElementTypeEnum { + } + IfcProjectionElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProjectionElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcProjectionElementTypeEnum = IfcProjectionElementTypeEnum; + class IfcPropertySetTemplateTypeEnum { + } + IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY = { type: 3, value: "PSET_TYPEDRIVENONLY" }; + IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE = { type: 3, value: "PSET_TYPEDRIVENOVERRIDE" }; + IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN = { type: 3, value: "PSET_OCCURRENCEDRIVEN" }; + IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN = { type: 3, value: "PSET_PERFORMANCEDRIVEN" }; + IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY = { type: 3, value: "QTO_TYPEDRIVENONLY" }; + IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE = { type: 3, value: "QTO_TYPEDRIVENOVERRIDE" }; + IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN = { type: 3, value: "QTO_OCCURRENCEDRIVEN" }; + IfcPropertySetTemplateTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPropertySetTemplateTypeEnum = IfcPropertySetTemplateTypeEnum; + class IfcProtectiveDeviceTrippingUnitTypeEnum { + } + IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC = { type: 3, value: "ELECTRONIC" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC = { type: 3, value: "ELECTROMAGNETIC" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT = { type: 3, value: "RESIDUALCURRENT" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL = { type: 3, value: "THERMAL" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcProtectiveDeviceTrippingUnitTypeEnum = IfcProtectiveDeviceTrippingUnitTypeEnum; + class IfcProtectiveDeviceTypeEnum { + } + IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER = { type: 3, value: "CIRCUITBREAKER" }; + IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER = { type: 3, value: "EARTHLEAKAGECIRCUITBREAKER" }; + IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH = { type: 3, value: "EARTHINGSWITCH" }; + IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR = { type: 3, value: "FUSEDISCONNECTOR" }; + IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER = { type: 3, value: "RESIDUALCURRENTCIRCUITBREAKER" }; + IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH = { type: 3, value: "RESIDUALCURRENTSWITCH" }; + IfcProtectiveDeviceTypeEnum.VARISTOR = { type: 3, value: "VARISTOR" }; + IfcProtectiveDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProtectiveDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcProtectiveDeviceTypeEnum = IfcProtectiveDeviceTypeEnum; + class IfcPumpTypeEnum { + } + IfcPumpTypeEnum.CIRCULATOR = { type: 3, value: "CIRCULATOR" }; + IfcPumpTypeEnum.ENDSUCTION = { type: 3, value: "ENDSUCTION" }; + IfcPumpTypeEnum.SPLITCASE = { type: 3, value: "SPLITCASE" }; + IfcPumpTypeEnum.SUBMERSIBLEPUMP = { type: 3, value: "SUBMERSIBLEPUMP" }; + IfcPumpTypeEnum.SUMPPUMP = { type: 3, value: "SUMPPUMP" }; + IfcPumpTypeEnum.VERTICALINLINE = { type: 3, value: "VERTICALINLINE" }; + IfcPumpTypeEnum.VERTICALTURBINE = { type: 3, value: "VERTICALTURBINE" }; + IfcPumpTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPumpTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPumpTypeEnum = IfcPumpTypeEnum; + class IfcRailingTypeEnum { + } + IfcRailingTypeEnum.HANDRAIL = { type: 3, value: "HANDRAIL" }; + IfcRailingTypeEnum.GUARDRAIL = { type: 3, value: "GUARDRAIL" }; + IfcRailingTypeEnum.BALUSTRADE = { type: 3, value: "BALUSTRADE" }; + IfcRailingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRailingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcRailingTypeEnum = IfcRailingTypeEnum; + class IfcRampFlightTypeEnum { + } + IfcRampFlightTypeEnum.STRAIGHT = { type: 3, value: "STRAIGHT" }; + IfcRampFlightTypeEnum.SPIRAL = { type: 3, value: "SPIRAL" }; + IfcRampFlightTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRampFlightTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcRampFlightTypeEnum = IfcRampFlightTypeEnum; + class IfcRampTypeEnum { + } + IfcRampTypeEnum.STRAIGHT_RUN_RAMP = { type: 3, value: "STRAIGHT_RUN_RAMP" }; + IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP = { type: 3, value: "TWO_STRAIGHT_RUN_RAMP" }; + IfcRampTypeEnum.QUARTER_TURN_RAMP = { type: 3, value: "QUARTER_TURN_RAMP" }; + IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP = { type: 3, value: "TWO_QUARTER_TURN_RAMP" }; + IfcRampTypeEnum.HALF_TURN_RAMP = { type: 3, value: "HALF_TURN_RAMP" }; + IfcRampTypeEnum.SPIRAL_RAMP = { type: 3, value: "SPIRAL_RAMP" }; + IfcRampTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRampTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcRampTypeEnum = IfcRampTypeEnum; + class IfcRecurrenceTypeEnum { + } + IfcRecurrenceTypeEnum.DAILY = { type: 3, value: "DAILY" }; + IfcRecurrenceTypeEnum.WEEKLY = { type: 3, value: "WEEKLY" }; + IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH = { type: 3, value: "MONTHLY_BY_DAY_OF_MONTH" }; + IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION = { type: 3, value: "MONTHLY_BY_POSITION" }; + IfcRecurrenceTypeEnum.BY_DAY_COUNT = { type: 3, value: "BY_DAY_COUNT" }; + IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT = { type: 3, value: "BY_WEEKDAY_COUNT" }; + IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH = { type: 3, value: "YEARLY_BY_DAY_OF_MONTH" }; + IfcRecurrenceTypeEnum.YEARLY_BY_POSITION = { type: 3, value: "YEARLY_BY_POSITION" }; + IFC42.IfcRecurrenceTypeEnum = IfcRecurrenceTypeEnum; + class IfcReflectanceMethodEnum { + } + IfcReflectanceMethodEnum.BLINN = { type: 3, value: "BLINN" }; + IfcReflectanceMethodEnum.FLAT = { type: 3, value: "FLAT" }; + IfcReflectanceMethodEnum.GLASS = { type: 3, value: "GLASS" }; + IfcReflectanceMethodEnum.MATT = { type: 3, value: "MATT" }; + IfcReflectanceMethodEnum.METAL = { type: 3, value: "METAL" }; + IfcReflectanceMethodEnum.MIRROR = { type: 3, value: "MIRROR" }; + IfcReflectanceMethodEnum.PHONG = { type: 3, value: "PHONG" }; + IfcReflectanceMethodEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcReflectanceMethodEnum.STRAUSS = { type: 3, value: "STRAUSS" }; + IfcReflectanceMethodEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcReflectanceMethodEnum = IfcReflectanceMethodEnum; + class IfcReinforcingBarRoleEnum { + } + IfcReinforcingBarRoleEnum.MAIN = { type: 3, value: "MAIN" }; + IfcReinforcingBarRoleEnum.SHEAR = { type: 3, value: "SHEAR" }; + IfcReinforcingBarRoleEnum.LIGATURE = { type: 3, value: "LIGATURE" }; + IfcReinforcingBarRoleEnum.STUD = { type: 3, value: "STUD" }; + IfcReinforcingBarRoleEnum.PUNCHING = { type: 3, value: "PUNCHING" }; + IfcReinforcingBarRoleEnum.EDGE = { type: 3, value: "EDGE" }; + IfcReinforcingBarRoleEnum.RING = { type: 3, value: "RING" }; + IfcReinforcingBarRoleEnum.ANCHORING = { type: 3, value: "ANCHORING" }; + IfcReinforcingBarRoleEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReinforcingBarRoleEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcReinforcingBarRoleEnum = IfcReinforcingBarRoleEnum; + class IfcReinforcingBarSurfaceEnum { + } + IfcReinforcingBarSurfaceEnum.PLAIN = { type: 3, value: "PLAIN" }; + IfcReinforcingBarSurfaceEnum.TEXTURED = { type: 3, value: "TEXTURED" }; + IFC42.IfcReinforcingBarSurfaceEnum = IfcReinforcingBarSurfaceEnum; + class IfcReinforcingBarTypeEnum { + } + IfcReinforcingBarTypeEnum.ANCHORING = { type: 3, value: "ANCHORING" }; + IfcReinforcingBarTypeEnum.EDGE = { type: 3, value: "EDGE" }; + IfcReinforcingBarTypeEnum.LIGATURE = { type: 3, value: "LIGATURE" }; + IfcReinforcingBarTypeEnum.MAIN = { type: 3, value: "MAIN" }; + IfcReinforcingBarTypeEnum.PUNCHING = { type: 3, value: "PUNCHING" }; + IfcReinforcingBarTypeEnum.RING = { type: 3, value: "RING" }; + IfcReinforcingBarTypeEnum.SHEAR = { type: 3, value: "SHEAR" }; + IfcReinforcingBarTypeEnum.STUD = { type: 3, value: "STUD" }; + IfcReinforcingBarTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReinforcingBarTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcReinforcingBarTypeEnum = IfcReinforcingBarTypeEnum; + class IfcReinforcingMeshTypeEnum { + } + IfcReinforcingMeshTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReinforcingMeshTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcReinforcingMeshTypeEnum = IfcReinforcingMeshTypeEnum; + class IfcRoleEnum { + } + IfcRoleEnum.SUPPLIER = { type: 3, value: "SUPPLIER" }; + IfcRoleEnum.MANUFACTURER = { type: 3, value: "MANUFACTURER" }; + IfcRoleEnum.CONTRACTOR = { type: 3, value: "CONTRACTOR" }; + IfcRoleEnum.SUBCONTRACTOR = { type: 3, value: "SUBCONTRACTOR" }; + IfcRoleEnum.ARCHITECT = { type: 3, value: "ARCHITECT" }; + IfcRoleEnum.STRUCTURALENGINEER = { type: 3, value: "STRUCTURALENGINEER" }; + IfcRoleEnum.COSTENGINEER = { type: 3, value: "COSTENGINEER" }; + IfcRoleEnum.CLIENT = { type: 3, value: "CLIENT" }; + IfcRoleEnum.BUILDINGOWNER = { type: 3, value: "BUILDINGOWNER" }; + IfcRoleEnum.BUILDINGOPERATOR = { type: 3, value: "BUILDINGOPERATOR" }; + IfcRoleEnum.MECHANICALENGINEER = { type: 3, value: "MECHANICALENGINEER" }; + IfcRoleEnum.ELECTRICALENGINEER = { type: 3, value: "ELECTRICALENGINEER" }; + IfcRoleEnum.PROJECTMANAGER = { type: 3, value: "PROJECTMANAGER" }; + IfcRoleEnum.FACILITIESMANAGER = { type: 3, value: "FACILITIESMANAGER" }; + IfcRoleEnum.CIVILENGINEER = { type: 3, value: "CIVILENGINEER" }; + IfcRoleEnum.COMMISSIONINGENGINEER = { type: 3, value: "COMMISSIONINGENGINEER" }; + IfcRoleEnum.ENGINEER = { type: 3, value: "ENGINEER" }; + IfcRoleEnum.OWNER = { type: 3, value: "OWNER" }; + IfcRoleEnum.CONSULTANT = { type: 3, value: "CONSULTANT" }; + IfcRoleEnum.CONSTRUCTIONMANAGER = { type: 3, value: "CONSTRUCTIONMANAGER" }; + IfcRoleEnum.FIELDCONSTRUCTIONMANAGER = { type: 3, value: "FIELDCONSTRUCTIONMANAGER" }; + IfcRoleEnum.RESELLER = { type: 3, value: "RESELLER" }; + IfcRoleEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC42.IfcRoleEnum = IfcRoleEnum; + class IfcRoofTypeEnum { + } + IfcRoofTypeEnum.FLAT_ROOF = { type: 3, value: "FLAT_ROOF" }; + IfcRoofTypeEnum.SHED_ROOF = { type: 3, value: "SHED_ROOF" }; + IfcRoofTypeEnum.GABLE_ROOF = { type: 3, value: "GABLE_ROOF" }; + IfcRoofTypeEnum.HIP_ROOF = { type: 3, value: "HIP_ROOF" }; + IfcRoofTypeEnum.HIPPED_GABLE_ROOF = { type: 3, value: "HIPPED_GABLE_ROOF" }; + IfcRoofTypeEnum.GAMBREL_ROOF = { type: 3, value: "GAMBREL_ROOF" }; + IfcRoofTypeEnum.MANSARD_ROOF = { type: 3, value: "MANSARD_ROOF" }; + IfcRoofTypeEnum.BARREL_ROOF = { type: 3, value: "BARREL_ROOF" }; + IfcRoofTypeEnum.RAINBOW_ROOF = { type: 3, value: "RAINBOW_ROOF" }; + IfcRoofTypeEnum.BUTTERFLY_ROOF = { type: 3, value: "BUTTERFLY_ROOF" }; + IfcRoofTypeEnum.PAVILION_ROOF = { type: 3, value: "PAVILION_ROOF" }; + IfcRoofTypeEnum.DOME_ROOF = { type: 3, value: "DOME_ROOF" }; + IfcRoofTypeEnum.FREEFORM = { type: 3, value: "FREEFORM" }; + IfcRoofTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRoofTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcRoofTypeEnum = IfcRoofTypeEnum; + class IfcSIPrefix { + } + IfcSIPrefix.EXA = { type: 3, value: "EXA" }; + IfcSIPrefix.PETA = { type: 3, value: "PETA" }; + IfcSIPrefix.TERA = { type: 3, value: "TERA" }; + IfcSIPrefix.GIGA = { type: 3, value: "GIGA" }; + IfcSIPrefix.MEGA = { type: 3, value: "MEGA" }; + IfcSIPrefix.KILO = { type: 3, value: "KILO" }; + IfcSIPrefix.HECTO = { type: 3, value: "HECTO" }; + IfcSIPrefix.DECA = { type: 3, value: "DECA" }; + IfcSIPrefix.DECI = { type: 3, value: "DECI" }; + IfcSIPrefix.CENTI = { type: 3, value: "CENTI" }; + IfcSIPrefix.MILLI = { type: 3, value: "MILLI" }; + IfcSIPrefix.MICRO = { type: 3, value: "MICRO" }; + IfcSIPrefix.NANO = { type: 3, value: "NANO" }; + IfcSIPrefix.PICO = { type: 3, value: "PICO" }; + IfcSIPrefix.FEMTO = { type: 3, value: "FEMTO" }; + IfcSIPrefix.ATTO = { type: 3, value: "ATTO" }; + IFC42.IfcSIPrefix = IfcSIPrefix; + class IfcSIUnitName { + } + IfcSIUnitName.AMPERE = { type: 3, value: "AMPERE" }; + IfcSIUnitName.BECQUEREL = { type: 3, value: "BECQUEREL" }; + IfcSIUnitName.CANDELA = { type: 3, value: "CANDELA" }; + IfcSIUnitName.COULOMB = { type: 3, value: "COULOMB" }; + IfcSIUnitName.CUBIC_METRE = { type: 3, value: "CUBIC_METRE" }; + IfcSIUnitName.DEGREE_CELSIUS = { type: 3, value: "DEGREE_CELSIUS" }; + IfcSIUnitName.FARAD = { type: 3, value: "FARAD" }; + IfcSIUnitName.GRAM = { type: 3, value: "GRAM" }; + IfcSIUnitName.GRAY = { type: 3, value: "GRAY" }; + IfcSIUnitName.HENRY = { type: 3, value: "HENRY" }; + IfcSIUnitName.HERTZ = { type: 3, value: "HERTZ" }; + IfcSIUnitName.JOULE = { type: 3, value: "JOULE" }; + IfcSIUnitName.KELVIN = { type: 3, value: "KELVIN" }; + IfcSIUnitName.LUMEN = { type: 3, value: "LUMEN" }; + IfcSIUnitName.LUX = { type: 3, value: "LUX" }; + IfcSIUnitName.METRE = { type: 3, value: "METRE" }; + IfcSIUnitName.MOLE = { type: 3, value: "MOLE" }; + IfcSIUnitName.NEWTON = { type: 3, value: "NEWTON" }; + IfcSIUnitName.OHM = { type: 3, value: "OHM" }; + IfcSIUnitName.PASCAL = { type: 3, value: "PASCAL" }; + IfcSIUnitName.RADIAN = { type: 3, value: "RADIAN" }; + IfcSIUnitName.SECOND = { type: 3, value: "SECOND" }; + IfcSIUnitName.SIEMENS = { type: 3, value: "SIEMENS" }; + IfcSIUnitName.SIEVERT = { type: 3, value: "SIEVERT" }; + IfcSIUnitName.SQUARE_METRE = { type: 3, value: "SQUARE_METRE" }; + IfcSIUnitName.STERADIAN = { type: 3, value: "STERADIAN" }; + IfcSIUnitName.TESLA = { type: 3, value: "TESLA" }; + IfcSIUnitName.VOLT = { type: 3, value: "VOLT" }; + IfcSIUnitName.WATT = { type: 3, value: "WATT" }; + IfcSIUnitName.WEBER = { type: 3, value: "WEBER" }; + IFC42.IfcSIUnitName = IfcSIUnitName; + class IfcSanitaryTerminalTypeEnum { + } + IfcSanitaryTerminalTypeEnum.BATH = { type: 3, value: "BATH" }; + IfcSanitaryTerminalTypeEnum.BIDET = { type: 3, value: "BIDET" }; + IfcSanitaryTerminalTypeEnum.CISTERN = { type: 3, value: "CISTERN" }; + IfcSanitaryTerminalTypeEnum.SHOWER = { type: 3, value: "SHOWER" }; + IfcSanitaryTerminalTypeEnum.SINK = { type: 3, value: "SINK" }; + IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN = { type: 3, value: "SANITARYFOUNTAIN" }; + IfcSanitaryTerminalTypeEnum.TOILETPAN = { type: 3, value: "TOILETPAN" }; + IfcSanitaryTerminalTypeEnum.URINAL = { type: 3, value: "URINAL" }; + IfcSanitaryTerminalTypeEnum.WASHHANDBASIN = { type: 3, value: "WASHHANDBASIN" }; + IfcSanitaryTerminalTypeEnum.WCSEAT = { type: 3, value: "WCSEAT" }; + IfcSanitaryTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSanitaryTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSanitaryTerminalTypeEnum = IfcSanitaryTerminalTypeEnum; + class IfcSectionTypeEnum { + } + IfcSectionTypeEnum.UNIFORM = { type: 3, value: "UNIFORM" }; + IfcSectionTypeEnum.TAPERED = { type: 3, value: "TAPERED" }; + IFC42.IfcSectionTypeEnum = IfcSectionTypeEnum; + class IfcSensorTypeEnum { + } + IfcSensorTypeEnum.COSENSOR = { type: 3, value: "COSENSOR" }; + IfcSensorTypeEnum.CO2SENSOR = { type: 3, value: "CO2SENSOR" }; + IfcSensorTypeEnum.CONDUCTANCESENSOR = { type: 3, value: "CONDUCTANCESENSOR" }; + IfcSensorTypeEnum.CONTACTSENSOR = { type: 3, value: "CONTACTSENSOR" }; + IfcSensorTypeEnum.FIRESENSOR = { type: 3, value: "FIRESENSOR" }; + IfcSensorTypeEnum.FLOWSENSOR = { type: 3, value: "FLOWSENSOR" }; + IfcSensorTypeEnum.FROSTSENSOR = { type: 3, value: "FROSTSENSOR" }; + IfcSensorTypeEnum.GASSENSOR = { type: 3, value: "GASSENSOR" }; + IfcSensorTypeEnum.HEATSENSOR = { type: 3, value: "HEATSENSOR" }; + IfcSensorTypeEnum.HUMIDITYSENSOR = { type: 3, value: "HUMIDITYSENSOR" }; + IfcSensorTypeEnum.IDENTIFIERSENSOR = { type: 3, value: "IDENTIFIERSENSOR" }; + IfcSensorTypeEnum.IONCONCENTRATIONSENSOR = { type: 3, value: "IONCONCENTRATIONSENSOR" }; + IfcSensorTypeEnum.LEVELSENSOR = { type: 3, value: "LEVELSENSOR" }; + IfcSensorTypeEnum.LIGHTSENSOR = { type: 3, value: "LIGHTSENSOR" }; + IfcSensorTypeEnum.MOISTURESENSOR = { type: 3, value: "MOISTURESENSOR" }; + IfcSensorTypeEnum.MOVEMENTSENSOR = { type: 3, value: "MOVEMENTSENSOR" }; + IfcSensorTypeEnum.PHSENSOR = { type: 3, value: "PHSENSOR" }; + IfcSensorTypeEnum.PRESSURESENSOR = { type: 3, value: "PRESSURESENSOR" }; + IfcSensorTypeEnum.RADIATIONSENSOR = { type: 3, value: "RADIATIONSENSOR" }; + IfcSensorTypeEnum.RADIOACTIVITYSENSOR = { type: 3, value: "RADIOACTIVITYSENSOR" }; + IfcSensorTypeEnum.SMOKESENSOR = { type: 3, value: "SMOKESENSOR" }; + IfcSensorTypeEnum.SOUNDSENSOR = { type: 3, value: "SOUNDSENSOR" }; + IfcSensorTypeEnum.TEMPERATURESENSOR = { type: 3, value: "TEMPERATURESENSOR" }; + IfcSensorTypeEnum.WINDSENSOR = { type: 3, value: "WINDSENSOR" }; + IfcSensorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSensorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSensorTypeEnum = IfcSensorTypeEnum; + class IfcSequenceEnum { + } + IfcSequenceEnum.START_START = { type: 3, value: "START_START" }; + IfcSequenceEnum.START_FINISH = { type: 3, value: "START_FINISH" }; + IfcSequenceEnum.FINISH_START = { type: 3, value: "FINISH_START" }; + IfcSequenceEnum.FINISH_FINISH = { type: 3, value: "FINISH_FINISH" }; + IfcSequenceEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSequenceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSequenceEnum = IfcSequenceEnum; + class IfcShadingDeviceTypeEnum { + } + IfcShadingDeviceTypeEnum.JALOUSIE = { type: 3, value: "JALOUSIE" }; + IfcShadingDeviceTypeEnum.SHUTTER = { type: 3, value: "SHUTTER" }; + IfcShadingDeviceTypeEnum.AWNING = { type: 3, value: "AWNING" }; + IfcShadingDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcShadingDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcShadingDeviceTypeEnum = IfcShadingDeviceTypeEnum; + class IfcSimplePropertyTemplateTypeEnum { + } + IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE = { type: 3, value: "P_SINGLEVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE = { type: 3, value: "P_ENUMERATEDVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE = { type: 3, value: "P_BOUNDEDVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE = { type: 3, value: "P_LISTVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE = { type: 3, value: "P_TABLEVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE = { type: 3, value: "P_REFERENCEVALUE" }; + IfcSimplePropertyTemplateTypeEnum.Q_LENGTH = { type: 3, value: "Q_LENGTH" }; + IfcSimplePropertyTemplateTypeEnum.Q_AREA = { type: 3, value: "Q_AREA" }; + IfcSimplePropertyTemplateTypeEnum.Q_VOLUME = { type: 3, value: "Q_VOLUME" }; + IfcSimplePropertyTemplateTypeEnum.Q_COUNT = { type: 3, value: "Q_COUNT" }; + IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT = { type: 3, value: "Q_WEIGHT" }; + IfcSimplePropertyTemplateTypeEnum.Q_TIME = { type: 3, value: "Q_TIME" }; + IFC42.IfcSimplePropertyTemplateTypeEnum = IfcSimplePropertyTemplateTypeEnum; + class IfcSlabTypeEnum { + } + IfcSlabTypeEnum.FLOOR = { type: 3, value: "FLOOR" }; + IfcSlabTypeEnum.ROOF = { type: 3, value: "ROOF" }; + IfcSlabTypeEnum.LANDING = { type: 3, value: "LANDING" }; + IfcSlabTypeEnum.BASESLAB = { type: 3, value: "BASESLAB" }; + IfcSlabTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSlabTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSlabTypeEnum = IfcSlabTypeEnum; + class IfcSolarDeviceTypeEnum { + } + IfcSolarDeviceTypeEnum.SOLARCOLLECTOR = { type: 3, value: "SOLARCOLLECTOR" }; + IfcSolarDeviceTypeEnum.SOLARPANEL = { type: 3, value: "SOLARPANEL" }; + IfcSolarDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSolarDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSolarDeviceTypeEnum = IfcSolarDeviceTypeEnum; + class IfcSpaceHeaterTypeEnum { + } + IfcSpaceHeaterTypeEnum.CONVECTOR = { type: 3, value: "CONVECTOR" }; + IfcSpaceHeaterTypeEnum.RADIATOR = { type: 3, value: "RADIATOR" }; + IfcSpaceHeaterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSpaceHeaterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSpaceHeaterTypeEnum = IfcSpaceHeaterTypeEnum; + class IfcSpaceTypeEnum { + } + IfcSpaceTypeEnum.SPACE = { type: 3, value: "SPACE" }; + IfcSpaceTypeEnum.PARKING = { type: 3, value: "PARKING" }; + IfcSpaceTypeEnum.GFA = { type: 3, value: "GFA" }; + IfcSpaceTypeEnum.INTERNAL = { type: 3, value: "INTERNAL" }; + IfcSpaceTypeEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcSpaceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSpaceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSpaceTypeEnum = IfcSpaceTypeEnum; + class IfcSpatialZoneTypeEnum { + } + IfcSpatialZoneTypeEnum.CONSTRUCTION = { type: 3, value: "CONSTRUCTION" }; + IfcSpatialZoneTypeEnum.FIRESAFETY = { type: 3, value: "FIRESAFETY" }; + IfcSpatialZoneTypeEnum.LIGHTING = { type: 3, value: "LIGHTING" }; + IfcSpatialZoneTypeEnum.OCCUPANCY = { type: 3, value: "OCCUPANCY" }; + IfcSpatialZoneTypeEnum.SECURITY = { type: 3, value: "SECURITY" }; + IfcSpatialZoneTypeEnum.THERMAL = { type: 3, value: "THERMAL" }; + IfcSpatialZoneTypeEnum.TRANSPORT = { type: 3, value: "TRANSPORT" }; + IfcSpatialZoneTypeEnum.VENTILATION = { type: 3, value: "VENTILATION" }; + IfcSpatialZoneTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSpatialZoneTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSpatialZoneTypeEnum = IfcSpatialZoneTypeEnum; + class IfcStackTerminalTypeEnum { + } + IfcStackTerminalTypeEnum.BIRDCAGE = { type: 3, value: "BIRDCAGE" }; + IfcStackTerminalTypeEnum.COWL = { type: 3, value: "COWL" }; + IfcStackTerminalTypeEnum.RAINWATERHOPPER = { type: 3, value: "RAINWATERHOPPER" }; + IfcStackTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStackTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcStackTerminalTypeEnum = IfcStackTerminalTypeEnum; + class IfcStairFlightTypeEnum { + } + IfcStairFlightTypeEnum.STRAIGHT = { type: 3, value: "STRAIGHT" }; + IfcStairFlightTypeEnum.WINDER = { type: 3, value: "WINDER" }; + IfcStairFlightTypeEnum.SPIRAL = { type: 3, value: "SPIRAL" }; + IfcStairFlightTypeEnum.CURVED = { type: 3, value: "CURVED" }; + IfcStairFlightTypeEnum.FREEFORM = { type: 3, value: "FREEFORM" }; + IfcStairFlightTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStairFlightTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcStairFlightTypeEnum = IfcStairFlightTypeEnum; + class IfcStairTypeEnum { + } + IfcStairTypeEnum.STRAIGHT_RUN_STAIR = { type: 3, value: "STRAIGHT_RUN_STAIR" }; + IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR = { type: 3, value: "TWO_STRAIGHT_RUN_STAIR" }; + IfcStairTypeEnum.QUARTER_WINDING_STAIR = { type: 3, value: "QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.QUARTER_TURN_STAIR = { type: 3, value: "QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.HALF_WINDING_STAIR = { type: 3, value: "HALF_WINDING_STAIR" }; + IfcStairTypeEnum.HALF_TURN_STAIR = { type: 3, value: "HALF_TURN_STAIR" }; + IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR = { type: 3, value: "TWO_QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR = { type: 3, value: "TWO_QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR = { type: 3, value: "THREE_QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR = { type: 3, value: "THREE_QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.SPIRAL_STAIR = { type: 3, value: "SPIRAL_STAIR" }; + IfcStairTypeEnum.DOUBLE_RETURN_STAIR = { type: 3, value: "DOUBLE_RETURN_STAIR" }; + IfcStairTypeEnum.CURVED_RUN_STAIR = { type: 3, value: "CURVED_RUN_STAIR" }; + IfcStairTypeEnum.TWO_CURVED_RUN_STAIR = { type: 3, value: "TWO_CURVED_RUN_STAIR" }; + IfcStairTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStairTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcStairTypeEnum = IfcStairTypeEnum; + class IfcStateEnum { + } + IfcStateEnum.READWRITE = { type: 3, value: "READWRITE" }; + IfcStateEnum.READONLY = { type: 3, value: "READONLY" }; + IfcStateEnum.LOCKED = { type: 3, value: "LOCKED" }; + IfcStateEnum.READWRITELOCKED = { type: 3, value: "READWRITELOCKED" }; + IfcStateEnum.READONLYLOCKED = { type: 3, value: "READONLYLOCKED" }; + IFC42.IfcStateEnum = IfcStateEnum; + class IfcStructuralCurveActivityTypeEnum { + } + IfcStructuralCurveActivityTypeEnum.CONST = { type: 3, value: "CONST" }; + IfcStructuralCurveActivityTypeEnum.LINEAR = { type: 3, value: "LINEAR" }; + IfcStructuralCurveActivityTypeEnum.POLYGONAL = { type: 3, value: "POLYGONAL" }; + IfcStructuralCurveActivityTypeEnum.EQUIDISTANT = { type: 3, value: "EQUIDISTANT" }; + IfcStructuralCurveActivityTypeEnum.SINUS = { type: 3, value: "SINUS" }; + IfcStructuralCurveActivityTypeEnum.PARABOLA = { type: 3, value: "PARABOLA" }; + IfcStructuralCurveActivityTypeEnum.DISCRETE = { type: 3, value: "DISCRETE" }; + IfcStructuralCurveActivityTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralCurveActivityTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcStructuralCurveActivityTypeEnum = IfcStructuralCurveActivityTypeEnum; + class IfcStructuralCurveMemberTypeEnum { + } + IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER = { type: 3, value: "RIGID_JOINED_MEMBER" }; + IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER = { type: 3, value: "PIN_JOINED_MEMBER" }; + IfcStructuralCurveMemberTypeEnum.CABLE = { type: 3, value: "CABLE" }; + IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER = { type: 3, value: "TENSION_MEMBER" }; + IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER = { type: 3, value: "COMPRESSION_MEMBER" }; + IfcStructuralCurveMemberTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralCurveMemberTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcStructuralCurveMemberTypeEnum = IfcStructuralCurveMemberTypeEnum; + class IfcStructuralSurfaceActivityTypeEnum { + } + IfcStructuralSurfaceActivityTypeEnum.CONST = { type: 3, value: "CONST" }; + IfcStructuralSurfaceActivityTypeEnum.BILINEAR = { type: 3, value: "BILINEAR" }; + IfcStructuralSurfaceActivityTypeEnum.DISCRETE = { type: 3, value: "DISCRETE" }; + IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR = { type: 3, value: "ISOCONTOUR" }; + IfcStructuralSurfaceActivityTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcStructuralSurfaceActivityTypeEnum = IfcStructuralSurfaceActivityTypeEnum; + class IfcStructuralSurfaceMemberTypeEnum { + } + IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT = { type: 3, value: "BENDING_ELEMENT" }; + IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT = { type: 3, value: "MEMBRANE_ELEMENT" }; + IfcStructuralSurfaceMemberTypeEnum.SHELL = { type: 3, value: "SHELL" }; + IfcStructuralSurfaceMemberTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcStructuralSurfaceMemberTypeEnum = IfcStructuralSurfaceMemberTypeEnum; + class IfcSubContractResourceTypeEnum { + } + IfcSubContractResourceTypeEnum.PURCHASE = { type: 3, value: "PURCHASE" }; + IfcSubContractResourceTypeEnum.WORK = { type: 3, value: "WORK" }; + IfcSubContractResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSubContractResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSubContractResourceTypeEnum = IfcSubContractResourceTypeEnum; + class IfcSurfaceFeatureTypeEnum { + } + IfcSurfaceFeatureTypeEnum.MARK = { type: 3, value: "MARK" }; + IfcSurfaceFeatureTypeEnum.TAG = { type: 3, value: "TAG" }; + IfcSurfaceFeatureTypeEnum.TREATMENT = { type: 3, value: "TREATMENT" }; + IfcSurfaceFeatureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSurfaceFeatureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSurfaceFeatureTypeEnum = IfcSurfaceFeatureTypeEnum; + class IfcSurfaceSide { + } + IfcSurfaceSide.POSITIVE = { type: 3, value: "POSITIVE" }; + IfcSurfaceSide.NEGATIVE = { type: 3, value: "NEGATIVE" }; + IfcSurfaceSide.BOTH = { type: 3, value: "BOTH" }; + IFC42.IfcSurfaceSide = IfcSurfaceSide; + class IfcSwitchingDeviceTypeEnum { + } + IfcSwitchingDeviceTypeEnum.CONTACTOR = { type: 3, value: "CONTACTOR" }; + IfcSwitchingDeviceTypeEnum.DIMMERSWITCH = { type: 3, value: "DIMMERSWITCH" }; + IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP = { type: 3, value: "EMERGENCYSTOP" }; + IfcSwitchingDeviceTypeEnum.KEYPAD = { type: 3, value: "KEYPAD" }; + IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH = { type: 3, value: "MOMENTARYSWITCH" }; + IfcSwitchingDeviceTypeEnum.SELECTORSWITCH = { type: 3, value: "SELECTORSWITCH" }; + IfcSwitchingDeviceTypeEnum.STARTER = { type: 3, value: "STARTER" }; + IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR = { type: 3, value: "SWITCHDISCONNECTOR" }; + IfcSwitchingDeviceTypeEnum.TOGGLESWITCH = { type: 3, value: "TOGGLESWITCH" }; + IfcSwitchingDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSwitchingDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSwitchingDeviceTypeEnum = IfcSwitchingDeviceTypeEnum; + class IfcSystemFurnitureElementTypeEnum { + } + IfcSystemFurnitureElementTypeEnum.PANEL = { type: 3, value: "PANEL" }; + IfcSystemFurnitureElementTypeEnum.WORKSURFACE = { type: 3, value: "WORKSURFACE" }; + IfcSystemFurnitureElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSystemFurnitureElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSystemFurnitureElementTypeEnum = IfcSystemFurnitureElementTypeEnum; + class IfcTankTypeEnum { + } + IfcTankTypeEnum.BASIN = { type: 3, value: "BASIN" }; + IfcTankTypeEnum.BREAKPRESSURE = { type: 3, value: "BREAKPRESSURE" }; + IfcTankTypeEnum.EXPANSION = { type: 3, value: "EXPANSION" }; + IfcTankTypeEnum.FEEDANDEXPANSION = { type: 3, value: "FEEDANDEXPANSION" }; + IfcTankTypeEnum.PRESSUREVESSEL = { type: 3, value: "PRESSUREVESSEL" }; + IfcTankTypeEnum.STORAGE = { type: 3, value: "STORAGE" }; + IfcTankTypeEnum.VESSEL = { type: 3, value: "VESSEL" }; + IfcTankTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTankTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTankTypeEnum = IfcTankTypeEnum; + class IfcTaskDurationEnum { + } + IfcTaskDurationEnum.ELAPSEDTIME = { type: 3, value: "ELAPSEDTIME" }; + IfcTaskDurationEnum.WORKTIME = { type: 3, value: "WORKTIME" }; + IfcTaskDurationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTaskDurationEnum = IfcTaskDurationEnum; + class IfcTaskTypeEnum { + } + IfcTaskTypeEnum.ATTENDANCE = { type: 3, value: "ATTENDANCE" }; + IfcTaskTypeEnum.CONSTRUCTION = { type: 3, value: "CONSTRUCTION" }; + IfcTaskTypeEnum.DEMOLITION = { type: 3, value: "DEMOLITION" }; + IfcTaskTypeEnum.DISMANTLE = { type: 3, value: "DISMANTLE" }; + IfcTaskTypeEnum.DISPOSAL = { type: 3, value: "DISPOSAL" }; + IfcTaskTypeEnum.INSTALLATION = { type: 3, value: "INSTALLATION" }; + IfcTaskTypeEnum.LOGISTIC = { type: 3, value: "LOGISTIC" }; + IfcTaskTypeEnum.MAINTENANCE = { type: 3, value: "MAINTENANCE" }; + IfcTaskTypeEnum.MOVE = { type: 3, value: "MOVE" }; + IfcTaskTypeEnum.OPERATION = { type: 3, value: "OPERATION" }; + IfcTaskTypeEnum.REMOVAL = { type: 3, value: "REMOVAL" }; + IfcTaskTypeEnum.RENOVATION = { type: 3, value: "RENOVATION" }; + IfcTaskTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTaskTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTaskTypeEnum = IfcTaskTypeEnum; + class IfcTendonAnchorTypeEnum { + } + IfcTendonAnchorTypeEnum.COUPLER = { type: 3, value: "COUPLER" }; + IfcTendonAnchorTypeEnum.FIXED_END = { type: 3, value: "FIXED_END" }; + IfcTendonAnchorTypeEnum.TENSIONING_END = { type: 3, value: "TENSIONING_END" }; + IfcTendonAnchorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTendonAnchorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTendonAnchorTypeEnum = IfcTendonAnchorTypeEnum; + class IfcTendonTypeEnum { + } + IfcTendonTypeEnum.BAR = { type: 3, value: "BAR" }; + IfcTendonTypeEnum.COATED = { type: 3, value: "COATED" }; + IfcTendonTypeEnum.STRAND = { type: 3, value: "STRAND" }; + IfcTendonTypeEnum.WIRE = { type: 3, value: "WIRE" }; + IfcTendonTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTendonTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTendonTypeEnum = IfcTendonTypeEnum; + class IfcTextPath { + } + IfcTextPath.LEFT = { type: 3, value: "LEFT" }; + IfcTextPath.RIGHT = { type: 3, value: "RIGHT" }; + IfcTextPath.UP = { type: 3, value: "UP" }; + IfcTextPath.DOWN = { type: 3, value: "DOWN" }; + IFC42.IfcTextPath = IfcTextPath; + class IfcTimeSeriesDataTypeEnum { + } + IfcTimeSeriesDataTypeEnum.CONTINUOUS = { type: 3, value: "CONTINUOUS" }; + IfcTimeSeriesDataTypeEnum.DISCRETE = { type: 3, value: "DISCRETE" }; + IfcTimeSeriesDataTypeEnum.DISCRETEBINARY = { type: 3, value: "DISCRETEBINARY" }; + IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY = { type: 3, value: "PIECEWISEBINARY" }; + IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT = { type: 3, value: "PIECEWISECONSTANT" }; + IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS = { type: 3, value: "PIECEWISECONTINUOUS" }; + IfcTimeSeriesDataTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTimeSeriesDataTypeEnum = IfcTimeSeriesDataTypeEnum; + class IfcTransformerTypeEnum { + } + IfcTransformerTypeEnum.CURRENT = { type: 3, value: "CURRENT" }; + IfcTransformerTypeEnum.FREQUENCY = { type: 3, value: "FREQUENCY" }; + IfcTransformerTypeEnum.INVERTER = { type: 3, value: "INVERTER" }; + IfcTransformerTypeEnum.RECTIFIER = { type: 3, value: "RECTIFIER" }; + IfcTransformerTypeEnum.VOLTAGE = { type: 3, value: "VOLTAGE" }; + IfcTransformerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTransformerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTransformerTypeEnum = IfcTransformerTypeEnum; + class IfcTransitionCode { + } + IfcTransitionCode.DISCONTINUOUS = { type: 3, value: "DISCONTINUOUS" }; + IfcTransitionCode.CONTINUOUS = { type: 3, value: "CONTINUOUS" }; + IfcTransitionCode.CONTSAMEGRADIENT = { type: 3, value: "CONTSAMEGRADIENT" }; + IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE = { type: 3, value: "CONTSAMEGRADIENTSAMECURVATURE" }; + IFC42.IfcTransitionCode = IfcTransitionCode; + class IfcTransportElementTypeEnum { + } + IfcTransportElementTypeEnum.ELEVATOR = { type: 3, value: "ELEVATOR" }; + IfcTransportElementTypeEnum.ESCALATOR = { type: 3, value: "ESCALATOR" }; + IfcTransportElementTypeEnum.MOVINGWALKWAY = { type: 3, value: "MOVINGWALKWAY" }; + IfcTransportElementTypeEnum.CRANEWAY = { type: 3, value: "CRANEWAY" }; + IfcTransportElementTypeEnum.LIFTINGGEAR = { type: 3, value: "LIFTINGGEAR" }; + IfcTransportElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTransportElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTransportElementTypeEnum = IfcTransportElementTypeEnum; + class IfcTrimmingPreference { + } + IfcTrimmingPreference.CARTESIAN = { type: 3, value: "CARTESIAN" }; + IfcTrimmingPreference.PARAMETER = { type: 3, value: "PARAMETER" }; + IfcTrimmingPreference.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC42.IfcTrimmingPreference = IfcTrimmingPreference; + class IfcTubeBundleTypeEnum { + } + IfcTubeBundleTypeEnum.FINNED = { type: 3, value: "FINNED" }; + IfcTubeBundleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTubeBundleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTubeBundleTypeEnum = IfcTubeBundleTypeEnum; + class IfcUnitEnum { + } + IfcUnitEnum.ABSORBEDDOSEUNIT = { type: 3, value: "ABSORBEDDOSEUNIT" }; + IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT = { type: 3, value: "AMOUNTOFSUBSTANCEUNIT" }; + IfcUnitEnum.AREAUNIT = { type: 3, value: "AREAUNIT" }; + IfcUnitEnum.DOSEEQUIVALENTUNIT = { type: 3, value: "DOSEEQUIVALENTUNIT" }; + IfcUnitEnum.ELECTRICCAPACITANCEUNIT = { type: 3, value: "ELECTRICCAPACITANCEUNIT" }; + IfcUnitEnum.ELECTRICCHARGEUNIT = { type: 3, value: "ELECTRICCHARGEUNIT" }; + IfcUnitEnum.ELECTRICCONDUCTANCEUNIT = { type: 3, value: "ELECTRICCONDUCTANCEUNIT" }; + IfcUnitEnum.ELECTRICCURRENTUNIT = { type: 3, value: "ELECTRICCURRENTUNIT" }; + IfcUnitEnum.ELECTRICRESISTANCEUNIT = { type: 3, value: "ELECTRICRESISTANCEUNIT" }; + IfcUnitEnum.ELECTRICVOLTAGEUNIT = { type: 3, value: "ELECTRICVOLTAGEUNIT" }; + IfcUnitEnum.ENERGYUNIT = { type: 3, value: "ENERGYUNIT" }; + IfcUnitEnum.FORCEUNIT = { type: 3, value: "FORCEUNIT" }; + IfcUnitEnum.FREQUENCYUNIT = { type: 3, value: "FREQUENCYUNIT" }; + IfcUnitEnum.ILLUMINANCEUNIT = { type: 3, value: "ILLUMINANCEUNIT" }; + IfcUnitEnum.INDUCTANCEUNIT = { type: 3, value: "INDUCTANCEUNIT" }; + IfcUnitEnum.LENGTHUNIT = { type: 3, value: "LENGTHUNIT" }; + IfcUnitEnum.LUMINOUSFLUXUNIT = { type: 3, value: "LUMINOUSFLUXUNIT" }; + IfcUnitEnum.LUMINOUSINTENSITYUNIT = { type: 3, value: "LUMINOUSINTENSITYUNIT" }; + IfcUnitEnum.MAGNETICFLUXDENSITYUNIT = { type: 3, value: "MAGNETICFLUXDENSITYUNIT" }; + IfcUnitEnum.MAGNETICFLUXUNIT = { type: 3, value: "MAGNETICFLUXUNIT" }; + IfcUnitEnum.MASSUNIT = { type: 3, value: "MASSUNIT" }; + IfcUnitEnum.PLANEANGLEUNIT = { type: 3, value: "PLANEANGLEUNIT" }; + IfcUnitEnum.POWERUNIT = { type: 3, value: "POWERUNIT" }; + IfcUnitEnum.PRESSUREUNIT = { type: 3, value: "PRESSUREUNIT" }; + IfcUnitEnum.RADIOACTIVITYUNIT = { type: 3, value: "RADIOACTIVITYUNIT" }; + IfcUnitEnum.SOLIDANGLEUNIT = { type: 3, value: "SOLIDANGLEUNIT" }; + IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT = { type: 3, value: "THERMODYNAMICTEMPERATUREUNIT" }; + IfcUnitEnum.TIMEUNIT = { type: 3, value: "TIMEUNIT" }; + IfcUnitEnum.VOLUMEUNIT = { type: 3, value: "VOLUMEUNIT" }; + IfcUnitEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC42.IfcUnitEnum = IfcUnitEnum; + class IfcUnitaryControlElementTypeEnum { + } + IfcUnitaryControlElementTypeEnum.ALARMPANEL = { type: 3, value: "ALARMPANEL" }; + IfcUnitaryControlElementTypeEnum.CONTROLPANEL = { type: 3, value: "CONTROLPANEL" }; + IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL = { type: 3, value: "GASDETECTIONPANEL" }; + IfcUnitaryControlElementTypeEnum.INDICATORPANEL = { type: 3, value: "INDICATORPANEL" }; + IfcUnitaryControlElementTypeEnum.MIMICPANEL = { type: 3, value: "MIMICPANEL" }; + IfcUnitaryControlElementTypeEnum.HUMIDISTAT = { type: 3, value: "HUMIDISTAT" }; + IfcUnitaryControlElementTypeEnum.THERMOSTAT = { type: 3, value: "THERMOSTAT" }; + IfcUnitaryControlElementTypeEnum.WEATHERSTATION = { type: 3, value: "WEATHERSTATION" }; + IfcUnitaryControlElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcUnitaryControlElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcUnitaryControlElementTypeEnum = IfcUnitaryControlElementTypeEnum; + class IfcUnitaryEquipmentTypeEnum { + } + IfcUnitaryEquipmentTypeEnum.AIRHANDLER = { type: 3, value: "AIRHANDLER" }; + IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT = { type: 3, value: "AIRCONDITIONINGUNIT" }; + IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER = { type: 3, value: "DEHUMIDIFIER" }; + IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM = { type: 3, value: "SPLITSYSTEM" }; + IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT = { type: 3, value: "ROOFTOPUNIT" }; + IfcUnitaryEquipmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcUnitaryEquipmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcUnitaryEquipmentTypeEnum = IfcUnitaryEquipmentTypeEnum; + class IfcValveTypeEnum { + } + IfcValveTypeEnum.AIRRELEASE = { type: 3, value: "AIRRELEASE" }; + IfcValveTypeEnum.ANTIVACUUM = { type: 3, value: "ANTIVACUUM" }; + IfcValveTypeEnum.CHANGEOVER = { type: 3, value: "CHANGEOVER" }; + IfcValveTypeEnum.CHECK = { type: 3, value: "CHECK" }; + IfcValveTypeEnum.COMMISSIONING = { type: 3, value: "COMMISSIONING" }; + IfcValveTypeEnum.DIVERTING = { type: 3, value: "DIVERTING" }; + IfcValveTypeEnum.DRAWOFFCOCK = { type: 3, value: "DRAWOFFCOCK" }; + IfcValveTypeEnum.DOUBLECHECK = { type: 3, value: "DOUBLECHECK" }; + IfcValveTypeEnum.DOUBLEREGULATING = { type: 3, value: "DOUBLEREGULATING" }; + IfcValveTypeEnum.FAUCET = { type: 3, value: "FAUCET" }; + IfcValveTypeEnum.FLUSHING = { type: 3, value: "FLUSHING" }; + IfcValveTypeEnum.GASCOCK = { type: 3, value: "GASCOCK" }; + IfcValveTypeEnum.GASTAP = { type: 3, value: "GASTAP" }; + IfcValveTypeEnum.ISOLATING = { type: 3, value: "ISOLATING" }; + IfcValveTypeEnum.MIXING = { type: 3, value: "MIXING" }; + IfcValveTypeEnum.PRESSUREREDUCING = { type: 3, value: "PRESSUREREDUCING" }; + IfcValveTypeEnum.PRESSURERELIEF = { type: 3, value: "PRESSURERELIEF" }; + IfcValveTypeEnum.REGULATING = { type: 3, value: "REGULATING" }; + IfcValveTypeEnum.SAFETYCUTOFF = { type: 3, value: "SAFETYCUTOFF" }; + IfcValveTypeEnum.STEAMTRAP = { type: 3, value: "STEAMTRAP" }; + IfcValveTypeEnum.STOPCOCK = { type: 3, value: "STOPCOCK" }; + IfcValveTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcValveTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcValveTypeEnum = IfcValveTypeEnum; + class IfcVibrationIsolatorTypeEnum { + } + IfcVibrationIsolatorTypeEnum.COMPRESSION = { type: 3, value: "COMPRESSION" }; + IfcVibrationIsolatorTypeEnum.SPRING = { type: 3, value: "SPRING" }; + IfcVibrationIsolatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcVibrationIsolatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcVibrationIsolatorTypeEnum = IfcVibrationIsolatorTypeEnum; + class IfcVoidingFeatureTypeEnum { + } + IfcVoidingFeatureTypeEnum.CUTOUT = { type: 3, value: "CUTOUT" }; + IfcVoidingFeatureTypeEnum.NOTCH = { type: 3, value: "NOTCH" }; + IfcVoidingFeatureTypeEnum.HOLE = { type: 3, value: "HOLE" }; + IfcVoidingFeatureTypeEnum.MITER = { type: 3, value: "MITER" }; + IfcVoidingFeatureTypeEnum.CHAMFER = { type: 3, value: "CHAMFER" }; + IfcVoidingFeatureTypeEnum.EDGE = { type: 3, value: "EDGE" }; + IfcVoidingFeatureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcVoidingFeatureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcVoidingFeatureTypeEnum = IfcVoidingFeatureTypeEnum; + class IfcWallTypeEnum { + } + IfcWallTypeEnum.MOVABLE = { type: 3, value: "MOVABLE" }; + IfcWallTypeEnum.PARAPET = { type: 3, value: "PARAPET" }; + IfcWallTypeEnum.PARTITIONING = { type: 3, value: "PARTITIONING" }; + IfcWallTypeEnum.PLUMBINGWALL = { type: 3, value: "PLUMBINGWALL" }; + IfcWallTypeEnum.SHEAR = { type: 3, value: "SHEAR" }; + IfcWallTypeEnum.SOLIDWALL = { type: 3, value: "SOLIDWALL" }; + IfcWallTypeEnum.STANDARD = { type: 3, value: "STANDARD" }; + IfcWallTypeEnum.POLYGONAL = { type: 3, value: "POLYGONAL" }; + IfcWallTypeEnum.ELEMENTEDWALL = { type: 3, value: "ELEMENTEDWALL" }; + IfcWallTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWallTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWallTypeEnum = IfcWallTypeEnum; + class IfcWasteTerminalTypeEnum { + } + IfcWasteTerminalTypeEnum.FLOORTRAP = { type: 3, value: "FLOORTRAP" }; + IfcWasteTerminalTypeEnum.FLOORWASTE = { type: 3, value: "FLOORWASTE" }; + IfcWasteTerminalTypeEnum.GULLYSUMP = { type: 3, value: "GULLYSUMP" }; + IfcWasteTerminalTypeEnum.GULLYTRAP = { type: 3, value: "GULLYTRAP" }; + IfcWasteTerminalTypeEnum.ROOFDRAIN = { type: 3, value: "ROOFDRAIN" }; + IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT = { type: 3, value: "WASTEDISPOSALUNIT" }; + IfcWasteTerminalTypeEnum.WASTETRAP = { type: 3, value: "WASTETRAP" }; + IfcWasteTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWasteTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWasteTerminalTypeEnum = IfcWasteTerminalTypeEnum; + class IfcWindowPanelOperationEnum { + } + IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND = { type: 3, value: "SIDEHUNGRIGHTHAND" }; + IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND = { type: 3, value: "SIDEHUNGLEFTHAND" }; + IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND = { type: 3, value: "TILTANDTURNRIGHTHAND" }; + IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND = { type: 3, value: "TILTANDTURNLEFTHAND" }; + IfcWindowPanelOperationEnum.TOPHUNG = { type: 3, value: "TOPHUNG" }; + IfcWindowPanelOperationEnum.BOTTOMHUNG = { type: 3, value: "BOTTOMHUNG" }; + IfcWindowPanelOperationEnum.PIVOTHORIZONTAL = { type: 3, value: "PIVOTHORIZONTAL" }; + IfcWindowPanelOperationEnum.PIVOTVERTICAL = { type: 3, value: "PIVOTVERTICAL" }; + IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL = { type: 3, value: "SLIDINGHORIZONTAL" }; + IfcWindowPanelOperationEnum.SLIDINGVERTICAL = { type: 3, value: "SLIDINGVERTICAL" }; + IfcWindowPanelOperationEnum.REMOVABLECASEMENT = { type: 3, value: "REMOVABLECASEMENT" }; + IfcWindowPanelOperationEnum.FIXEDCASEMENT = { type: 3, value: "FIXEDCASEMENT" }; + IfcWindowPanelOperationEnum.OTHEROPERATION = { type: 3, value: "OTHEROPERATION" }; + IfcWindowPanelOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWindowPanelOperationEnum = IfcWindowPanelOperationEnum; + class IfcWindowPanelPositionEnum { + } + IfcWindowPanelPositionEnum.LEFT = { type: 3, value: "LEFT" }; + IfcWindowPanelPositionEnum.MIDDLE = { type: 3, value: "MIDDLE" }; + IfcWindowPanelPositionEnum.RIGHT = { type: 3, value: "RIGHT" }; + IfcWindowPanelPositionEnum.BOTTOM = { type: 3, value: "BOTTOM" }; + IfcWindowPanelPositionEnum.TOP = { type: 3, value: "TOP" }; + IfcWindowPanelPositionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWindowPanelPositionEnum = IfcWindowPanelPositionEnum; + class IfcWindowStyleConstructionEnum { + } + IfcWindowStyleConstructionEnum.ALUMINIUM = { type: 3, value: "ALUMINIUM" }; + IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL = { type: 3, value: "HIGH_GRADE_STEEL" }; + IfcWindowStyleConstructionEnum.STEEL = { type: 3, value: "STEEL" }; + IfcWindowStyleConstructionEnum.WOOD = { type: 3, value: "WOOD" }; + IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD = { type: 3, value: "ALUMINIUM_WOOD" }; + IfcWindowStyleConstructionEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION = { type: 3, value: "OTHER_CONSTRUCTION" }; + IfcWindowStyleConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWindowStyleConstructionEnum = IfcWindowStyleConstructionEnum; + class IfcWindowStyleOperationEnum { + } + IfcWindowStyleOperationEnum.SINGLE_PANEL = { type: 3, value: "SINGLE_PANEL" }; + IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL = { type: 3, value: "DOUBLE_PANEL_VERTICAL" }; + IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL = { type: 3, value: "DOUBLE_PANEL_HORIZONTAL" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL = { type: 3, value: "TRIPLE_PANEL_VERTICAL" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM = { type: 3, value: "TRIPLE_PANEL_BOTTOM" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP = { type: 3, value: "TRIPLE_PANEL_TOP" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT = { type: 3, value: "TRIPLE_PANEL_LEFT" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT = { type: 3, value: "TRIPLE_PANEL_RIGHT" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL = { type: 3, value: "TRIPLE_PANEL_HORIZONTAL" }; + IfcWindowStyleOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWindowStyleOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWindowStyleOperationEnum = IfcWindowStyleOperationEnum; + class IfcWindowTypeEnum { + } + IfcWindowTypeEnum.WINDOW = { type: 3, value: "WINDOW" }; + IfcWindowTypeEnum.SKYLIGHT = { type: 3, value: "SKYLIGHT" }; + IfcWindowTypeEnum.LIGHTDOME = { type: 3, value: "LIGHTDOME" }; + IfcWindowTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWindowTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWindowTypeEnum = IfcWindowTypeEnum; + class IfcWindowTypePartitioningEnum { + } + IfcWindowTypePartitioningEnum.SINGLE_PANEL = { type: 3, value: "SINGLE_PANEL" }; + IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL = { type: 3, value: "DOUBLE_PANEL_VERTICAL" }; + IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL = { type: 3, value: "DOUBLE_PANEL_HORIZONTAL" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL = { type: 3, value: "TRIPLE_PANEL_VERTICAL" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM = { type: 3, value: "TRIPLE_PANEL_BOTTOM" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP = { type: 3, value: "TRIPLE_PANEL_TOP" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT = { type: 3, value: "TRIPLE_PANEL_LEFT" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT = { type: 3, value: "TRIPLE_PANEL_RIGHT" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL = { type: 3, value: "TRIPLE_PANEL_HORIZONTAL" }; + IfcWindowTypePartitioningEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWindowTypePartitioningEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWindowTypePartitioningEnum = IfcWindowTypePartitioningEnum; + class IfcWorkCalendarTypeEnum { + } + IfcWorkCalendarTypeEnum.FIRSTSHIFT = { type: 3, value: "FIRSTSHIFT" }; + IfcWorkCalendarTypeEnum.SECONDSHIFT = { type: 3, value: "SECONDSHIFT" }; + IfcWorkCalendarTypeEnum.THIRDSHIFT = { type: 3, value: "THIRDSHIFT" }; + IfcWorkCalendarTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWorkCalendarTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWorkCalendarTypeEnum = IfcWorkCalendarTypeEnum; + class IfcWorkPlanTypeEnum { + } + IfcWorkPlanTypeEnum.ACTUAL = { type: 3, value: "ACTUAL" }; + IfcWorkPlanTypeEnum.BASELINE = { type: 3, value: "BASELINE" }; + IfcWorkPlanTypeEnum.PLANNED = { type: 3, value: "PLANNED" }; + IfcWorkPlanTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWorkPlanTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWorkPlanTypeEnum = IfcWorkPlanTypeEnum; + class IfcWorkScheduleTypeEnum { + } + IfcWorkScheduleTypeEnum.ACTUAL = { type: 3, value: "ACTUAL" }; + IfcWorkScheduleTypeEnum.BASELINE = { type: 3, value: "BASELINE" }; + IfcWorkScheduleTypeEnum.PLANNED = { type: 3, value: "PLANNED" }; + IfcWorkScheduleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWorkScheduleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWorkScheduleTypeEnum = IfcWorkScheduleTypeEnum; + class IfcActorRole extends IfcLineObject$1 { + constructor(Role, UserDefinedRole, Description) { + super(); + this.Role = Role; + this.UserDefinedRole = UserDefinedRole; + this.Description = Description; + this.type = 3630933823; + } + } + IFC42.IfcActorRole = IfcActorRole; + class IfcAddress extends IfcLineObject$1 { + constructor(Purpose, Description, UserDefinedPurpose) { + super(); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.type = 618182010; + } + } + IFC42.IfcAddress = IfcAddress; + class IfcApplication extends IfcLineObject$1 { + constructor(ApplicationDeveloper, Version, ApplicationFullName, ApplicationIdentifier) { + super(); + this.ApplicationDeveloper = ApplicationDeveloper; + this.Version = Version; + this.ApplicationFullName = ApplicationFullName; + this.ApplicationIdentifier = ApplicationIdentifier; + this.type = 639542469; + } + } + IFC42.IfcApplication = IfcApplication; + class IfcAppliedValue extends IfcLineObject$1 { + constructor(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components) { + super(); + this.Name = Name; + this.Description = Description; + this.AppliedValue = AppliedValue; + this.UnitBasis = UnitBasis; + this.ApplicableDate = ApplicableDate; + this.FixedUntilDate = FixedUntilDate; + this.Category = Category; + this.Condition = Condition; + this.ArithmeticOperator = ArithmeticOperator; + this.Components = Components; + this.type = 411424972; + } + } + IFC42.IfcAppliedValue = IfcAppliedValue; + class IfcApproval extends IfcLineObject$1 { + constructor(Identifier, Name, Description, TimeOfApproval, Status, Level, Qualifier, RequestingApproval, GivingApproval) { + super(); + this.Identifier = Identifier; + this.Name = Name; + this.Description = Description; + this.TimeOfApproval = TimeOfApproval; + this.Status = Status; + this.Level = Level; + this.Qualifier = Qualifier; + this.RequestingApproval = RequestingApproval; + this.GivingApproval = GivingApproval; + this.type = 130549933; + } + } + IFC42.IfcApproval = IfcApproval; + class IfcBoundaryCondition extends IfcLineObject$1 { + constructor(Name) { + super(); + this.Name = Name; + this.type = 4037036970; + } + } + IFC42.IfcBoundaryCondition = IfcBoundaryCondition; + class IfcBoundaryEdgeCondition extends IfcBoundaryCondition { + constructor(Name, TranslationalStiffnessByLengthX, TranslationalStiffnessByLengthY, TranslationalStiffnessByLengthZ, RotationalStiffnessByLengthX, RotationalStiffnessByLengthY, RotationalStiffnessByLengthZ) { + super(Name); + this.Name = Name; + this.TranslationalStiffnessByLengthX = TranslationalStiffnessByLengthX; + this.TranslationalStiffnessByLengthY = TranslationalStiffnessByLengthY; + this.TranslationalStiffnessByLengthZ = TranslationalStiffnessByLengthZ; + this.RotationalStiffnessByLengthX = RotationalStiffnessByLengthX; + this.RotationalStiffnessByLengthY = RotationalStiffnessByLengthY; + this.RotationalStiffnessByLengthZ = RotationalStiffnessByLengthZ; + this.type = 1560379544; + } + } + IFC42.IfcBoundaryEdgeCondition = IfcBoundaryEdgeCondition; + class IfcBoundaryFaceCondition extends IfcBoundaryCondition { + constructor(Name, TranslationalStiffnessByAreaX, TranslationalStiffnessByAreaY, TranslationalStiffnessByAreaZ) { + super(Name); + this.Name = Name; + this.TranslationalStiffnessByAreaX = TranslationalStiffnessByAreaX; + this.TranslationalStiffnessByAreaY = TranslationalStiffnessByAreaY; + this.TranslationalStiffnessByAreaZ = TranslationalStiffnessByAreaZ; + this.type = 3367102660; + } + } + IFC42.IfcBoundaryFaceCondition = IfcBoundaryFaceCondition; + class IfcBoundaryNodeCondition extends IfcBoundaryCondition { + constructor(Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ) { + super(Name); + this.Name = Name; + this.TranslationalStiffnessX = TranslationalStiffnessX; + this.TranslationalStiffnessY = TranslationalStiffnessY; + this.TranslationalStiffnessZ = TranslationalStiffnessZ; + this.RotationalStiffnessX = RotationalStiffnessX; + this.RotationalStiffnessY = RotationalStiffnessY; + this.RotationalStiffnessZ = RotationalStiffnessZ; + this.type = 1387855156; + } + } + IFC42.IfcBoundaryNodeCondition = IfcBoundaryNodeCondition; + class IfcBoundaryNodeConditionWarping extends IfcBoundaryNodeCondition { + constructor(Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ, WarpingStiffness) { + super(Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ); + this.Name = Name; + this.TranslationalStiffnessX = TranslationalStiffnessX; + this.TranslationalStiffnessY = TranslationalStiffnessY; + this.TranslationalStiffnessZ = TranslationalStiffnessZ; + this.RotationalStiffnessX = RotationalStiffnessX; + this.RotationalStiffnessY = RotationalStiffnessY; + this.RotationalStiffnessZ = RotationalStiffnessZ; + this.WarpingStiffness = WarpingStiffness; + this.type = 2069777674; + } + } + IFC42.IfcBoundaryNodeConditionWarping = IfcBoundaryNodeConditionWarping; + class IfcConnectionGeometry extends IfcLineObject$1 { + constructor() { + super(); + this.type = 2859738748; + } + } + IFC42.IfcConnectionGeometry = IfcConnectionGeometry; + class IfcConnectionPointGeometry extends IfcConnectionGeometry { + constructor(PointOnRelatingElement, PointOnRelatedElement) { + super(); + this.PointOnRelatingElement = PointOnRelatingElement; + this.PointOnRelatedElement = PointOnRelatedElement; + this.type = 2614616156; + } + } + IFC42.IfcConnectionPointGeometry = IfcConnectionPointGeometry; + class IfcConnectionSurfaceGeometry extends IfcConnectionGeometry { + constructor(SurfaceOnRelatingElement, SurfaceOnRelatedElement) { + super(); + this.SurfaceOnRelatingElement = SurfaceOnRelatingElement; + this.SurfaceOnRelatedElement = SurfaceOnRelatedElement; + this.type = 2732653382; + } + } + IFC42.IfcConnectionSurfaceGeometry = IfcConnectionSurfaceGeometry; + class IfcConnectionVolumeGeometry extends IfcConnectionGeometry { + constructor(VolumeOnRelatingElement, VolumeOnRelatedElement) { + super(); + this.VolumeOnRelatingElement = VolumeOnRelatingElement; + this.VolumeOnRelatedElement = VolumeOnRelatedElement; + this.type = 775493141; + } + } + IFC42.IfcConnectionVolumeGeometry = IfcConnectionVolumeGeometry; + class IfcConstraint extends IfcLineObject$1 { + constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade) { + super(); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.type = 1959218052; + } + } + IFC42.IfcConstraint = IfcConstraint; + class IfcCoordinateOperation extends IfcLineObject$1 { + constructor(SourceCRS, TargetCRS) { + super(); + this.SourceCRS = SourceCRS; + this.TargetCRS = TargetCRS; + this.type = 1785450214; + } + } + IFC42.IfcCoordinateOperation = IfcCoordinateOperation; + class IfcCoordinateReferenceSystem extends IfcLineObject$1 { + constructor(Name, Description, GeodeticDatum, VerticalDatum) { + super(); + this.Name = Name; + this.Description = Description; + this.GeodeticDatum = GeodeticDatum; + this.VerticalDatum = VerticalDatum; + this.type = 1466758467; + } + } + IFC42.IfcCoordinateReferenceSystem = IfcCoordinateReferenceSystem; + class IfcCostValue extends IfcAppliedValue { + constructor(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components) { + super(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components); + this.Name = Name; + this.Description = Description; + this.AppliedValue = AppliedValue; + this.UnitBasis = UnitBasis; + this.ApplicableDate = ApplicableDate; + this.FixedUntilDate = FixedUntilDate; + this.Category = Category; + this.Condition = Condition; + this.ArithmeticOperator = ArithmeticOperator; + this.Components = Components; + this.type = 602808272; + } + } + IFC42.IfcCostValue = IfcCostValue; + class IfcDerivedUnit extends IfcLineObject$1 { + constructor(Elements, UnitType, UserDefinedType) { + super(); + this.Elements = Elements; + this.UnitType = UnitType; + this.UserDefinedType = UserDefinedType; + this.type = 1765591967; + } + } + IFC42.IfcDerivedUnit = IfcDerivedUnit; + class IfcDerivedUnitElement extends IfcLineObject$1 { + constructor(Unit, Exponent) { + super(); + this.Unit = Unit; + this.Exponent = Exponent; + this.type = 1045800335; + } + } + IFC42.IfcDerivedUnitElement = IfcDerivedUnitElement; + class IfcDimensionalExponents extends IfcLineObject$1 { + constructor(LengthExponent, MassExponent, TimeExponent, ElectricCurrentExponent, ThermodynamicTemperatureExponent, AmountOfSubstanceExponent, LuminousIntensityExponent) { + super(); + this.LengthExponent = LengthExponent; + this.MassExponent = MassExponent; + this.TimeExponent = TimeExponent; + this.ElectricCurrentExponent = ElectricCurrentExponent; + this.ThermodynamicTemperatureExponent = ThermodynamicTemperatureExponent; + this.AmountOfSubstanceExponent = AmountOfSubstanceExponent; + this.LuminousIntensityExponent = LuminousIntensityExponent; + this.type = 2949456006; + } + } + IFC42.IfcDimensionalExponents = IfcDimensionalExponents; + class IfcExternalInformation extends IfcLineObject$1 { + constructor() { + super(); + this.type = 4294318154; + } + } + IFC42.IfcExternalInformation = IfcExternalInformation; + class IfcExternalReference extends IfcLineObject$1 { + constructor(Location, Identification, Name) { + super(); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.type = 3200245327; + } + } + IFC42.IfcExternalReference = IfcExternalReference; + class IfcExternallyDefinedHatchStyle extends IfcExternalReference { + constructor(Location, Identification, Name) { + super(Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.type = 2242383968; + } + } + IFC42.IfcExternallyDefinedHatchStyle = IfcExternallyDefinedHatchStyle; + class IfcExternallyDefinedSurfaceStyle extends IfcExternalReference { + constructor(Location, Identification, Name) { + super(Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.type = 1040185647; + } + } + IFC42.IfcExternallyDefinedSurfaceStyle = IfcExternallyDefinedSurfaceStyle; + class IfcExternallyDefinedTextFont extends IfcExternalReference { + constructor(Location, Identification, Name) { + super(Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.type = 3548104201; + } + } + IFC42.IfcExternallyDefinedTextFont = IfcExternallyDefinedTextFont; + class IfcGridAxis extends IfcLineObject$1 { + constructor(AxisTag, AxisCurve, SameSense) { + super(); + this.AxisTag = AxisTag; + this.AxisCurve = AxisCurve; + this.SameSense = SameSense; + this.type = 852622518; + } + } + IFC42.IfcGridAxis = IfcGridAxis; + class IfcIrregularTimeSeriesValue extends IfcLineObject$1 { + constructor(TimeStamp, ListValues) { + super(); + this.TimeStamp = TimeStamp; + this.ListValues = ListValues; + this.type = 3020489413; + } + } + IFC42.IfcIrregularTimeSeriesValue = IfcIrregularTimeSeriesValue; + class IfcLibraryInformation extends IfcExternalInformation { + constructor(Name, Version, Publisher, VersionDate, Location, Description) { + super(); + this.Name = Name; + this.Version = Version; + this.Publisher = Publisher; + this.VersionDate = VersionDate; + this.Location = Location; + this.Description = Description; + this.type = 2655187982; + } + } + IFC42.IfcLibraryInformation = IfcLibraryInformation; + class IfcLibraryReference extends IfcExternalReference { + constructor(Location, Identification, Name, Description, Language, ReferencedLibrary) { + super(Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.Description = Description; + this.Language = Language; + this.ReferencedLibrary = ReferencedLibrary; + this.type = 3452421091; + } + } + IFC42.IfcLibraryReference = IfcLibraryReference; + class IfcLightDistributionData extends IfcLineObject$1 { + constructor(MainPlaneAngle, SecondaryPlaneAngle, LuminousIntensity) { + super(); + this.MainPlaneAngle = MainPlaneAngle; + this.SecondaryPlaneAngle = SecondaryPlaneAngle; + this.LuminousIntensity = LuminousIntensity; + this.type = 4162380809; + } + } + IFC42.IfcLightDistributionData = IfcLightDistributionData; + class IfcLightIntensityDistribution extends IfcLineObject$1 { + constructor(LightDistributionCurve, DistributionData) { + super(); + this.LightDistributionCurve = LightDistributionCurve; + this.DistributionData = DistributionData; + this.type = 1566485204; + } + } + IFC42.IfcLightIntensityDistribution = IfcLightIntensityDistribution; + class IfcMapConversion extends IfcCoordinateOperation { + constructor(SourceCRS, TargetCRS, Eastings, Northings, OrthogonalHeight, XAxisAbscissa, XAxisOrdinate, Scale) { + super(SourceCRS, TargetCRS); + this.SourceCRS = SourceCRS; + this.TargetCRS = TargetCRS; + this.Eastings = Eastings; + this.Northings = Northings; + this.OrthogonalHeight = OrthogonalHeight; + this.XAxisAbscissa = XAxisAbscissa; + this.XAxisOrdinate = XAxisOrdinate; + this.Scale = Scale; + this.type = 3057273783; + } + } + IFC42.IfcMapConversion = IfcMapConversion; + class IfcMaterialClassificationRelationship extends IfcLineObject$1 { + constructor(MaterialClassifications, ClassifiedMaterial) { + super(); + this.MaterialClassifications = MaterialClassifications; + this.ClassifiedMaterial = ClassifiedMaterial; + this.type = 1847130766; + } + } + IFC42.IfcMaterialClassificationRelationship = IfcMaterialClassificationRelationship; + class IfcMaterialDefinition extends IfcLineObject$1 { + constructor() { + super(); + this.type = 760658860; + } + } + IFC42.IfcMaterialDefinition = IfcMaterialDefinition; + class IfcMaterialLayer extends IfcMaterialDefinition { + constructor(Material, LayerThickness, IsVentilated, Name, Description, Category, Priority) { + super(); + this.Material = Material; + this.LayerThickness = LayerThickness; + this.IsVentilated = IsVentilated; + this.Name = Name; + this.Description = Description; + this.Category = Category; + this.Priority = Priority; + this.type = 248100487; + } + } + IFC42.IfcMaterialLayer = IfcMaterialLayer; + class IfcMaterialLayerSet extends IfcMaterialDefinition { + constructor(MaterialLayers, LayerSetName, Description) { + super(); + this.MaterialLayers = MaterialLayers; + this.LayerSetName = LayerSetName; + this.Description = Description; + this.type = 3303938423; + } + } + IFC42.IfcMaterialLayerSet = IfcMaterialLayerSet; + class IfcMaterialLayerWithOffsets extends IfcMaterialLayer { + constructor(Material, LayerThickness, IsVentilated, Name, Description, Category, Priority, OffsetDirection, OffsetValues) { + super(Material, LayerThickness, IsVentilated, Name, Description, Category, Priority); + this.Material = Material; + this.LayerThickness = LayerThickness; + this.IsVentilated = IsVentilated; + this.Name = Name; + this.Description = Description; + this.Category = Category; + this.Priority = Priority; + this.OffsetDirection = OffsetDirection; + this.OffsetValues = OffsetValues; + this.type = 1847252529; + } + } + IFC42.IfcMaterialLayerWithOffsets = IfcMaterialLayerWithOffsets; + class IfcMaterialList extends IfcLineObject$1 { + constructor(Materials) { + super(); + this.Materials = Materials; + this.type = 2199411900; + } + } + IFC42.IfcMaterialList = IfcMaterialList; + class IfcMaterialProfile extends IfcMaterialDefinition { + constructor(Name, Description, Material, Profile, Priority, Category) { + super(); + this.Name = Name; + this.Description = Description; + this.Material = Material; + this.Profile = Profile; + this.Priority = Priority; + this.Category = Category; + this.type = 2235152071; + } + } + IFC42.IfcMaterialProfile = IfcMaterialProfile; + class IfcMaterialProfileSet extends IfcMaterialDefinition { + constructor(Name, Description, MaterialProfiles, CompositeProfile) { + super(); + this.Name = Name; + this.Description = Description; + this.MaterialProfiles = MaterialProfiles; + this.CompositeProfile = CompositeProfile; + this.type = 164193824; + } + } + IFC42.IfcMaterialProfileSet = IfcMaterialProfileSet; + class IfcMaterialProfileWithOffsets extends IfcMaterialProfile { + constructor(Name, Description, Material, Profile, Priority, Category, OffsetValues) { + super(Name, Description, Material, Profile, Priority, Category); + this.Name = Name; + this.Description = Description; + this.Material = Material; + this.Profile = Profile; + this.Priority = Priority; + this.Category = Category; + this.OffsetValues = OffsetValues; + this.type = 552965576; + } + } + IFC42.IfcMaterialProfileWithOffsets = IfcMaterialProfileWithOffsets; + class IfcMaterialUsageDefinition extends IfcLineObject$1 { + constructor() { + super(); + this.type = 1507914824; + } + } + IFC42.IfcMaterialUsageDefinition = IfcMaterialUsageDefinition; + class IfcMeasureWithUnit extends IfcLineObject$1 { + constructor(ValueComponent, UnitComponent) { + super(); + this.ValueComponent = ValueComponent; + this.UnitComponent = UnitComponent; + this.type = 2597039031; + } + } + IFC42.IfcMeasureWithUnit = IfcMeasureWithUnit; + class IfcMetric extends IfcConstraint { + constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, Benchmark, ValueSource, DataValue, ReferencePath) { + super(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.Benchmark = Benchmark; + this.ValueSource = ValueSource; + this.DataValue = DataValue; + this.ReferencePath = ReferencePath; + this.type = 3368373690; + } + } + IFC42.IfcMetric = IfcMetric; + class IfcMonetaryUnit extends IfcLineObject$1 { + constructor(Currency) { + super(); + this.Currency = Currency; + this.type = 2706619895; + } + } + IFC42.IfcMonetaryUnit = IfcMonetaryUnit; + class IfcNamedUnit extends IfcLineObject$1 { + constructor(Dimensions, UnitType) { + super(); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.type = 1918398963; + } + } + IFC42.IfcNamedUnit = IfcNamedUnit; + class IfcObjectPlacement extends IfcLineObject$1 { + constructor() { + super(); + this.type = 3701648758; + } + } + IFC42.IfcObjectPlacement = IfcObjectPlacement; + class IfcObjective extends IfcConstraint { + constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, BenchmarkValues, LogicalAggregator, ObjectiveQualifier, UserDefinedQualifier) { + super(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.BenchmarkValues = BenchmarkValues; + this.LogicalAggregator = LogicalAggregator; + this.ObjectiveQualifier = ObjectiveQualifier; + this.UserDefinedQualifier = UserDefinedQualifier; + this.type = 2251480897; + } + } + IFC42.IfcObjective = IfcObjective; + class IfcOrganization extends IfcLineObject$1 { + constructor(Identification, Name, Description, Roles, Addresses) { + super(); + this.Identification = Identification; + this.Name = Name; + this.Description = Description; + this.Roles = Roles; + this.Addresses = Addresses; + this.type = 4251960020; + } + } + IFC42.IfcOrganization = IfcOrganization; + class IfcOwnerHistory extends IfcLineObject$1 { + constructor(OwningUser, OwningApplication, State, ChangeAction, LastModifiedDate, LastModifyingUser, LastModifyingApplication, CreationDate) { + super(); + this.OwningUser = OwningUser; + this.OwningApplication = OwningApplication; + this.State = State; + this.ChangeAction = ChangeAction; + this.LastModifiedDate = LastModifiedDate; + this.LastModifyingUser = LastModifyingUser; + this.LastModifyingApplication = LastModifyingApplication; + this.CreationDate = CreationDate; + this.type = 1207048766; + } + } + IFC42.IfcOwnerHistory = IfcOwnerHistory; + class IfcPerson extends IfcLineObject$1 { + constructor(Identification, FamilyName, GivenName, MiddleNames, PrefixTitles, SuffixTitles, Roles, Addresses) { + super(); + this.Identification = Identification; + this.FamilyName = FamilyName; + this.GivenName = GivenName; + this.MiddleNames = MiddleNames; + this.PrefixTitles = PrefixTitles; + this.SuffixTitles = SuffixTitles; + this.Roles = Roles; + this.Addresses = Addresses; + this.type = 2077209135; + } + } + IFC42.IfcPerson = IfcPerson; + class IfcPersonAndOrganization extends IfcLineObject$1 { + constructor(ThePerson, TheOrganization, Roles) { + super(); + this.ThePerson = ThePerson; + this.TheOrganization = TheOrganization; + this.Roles = Roles; + this.type = 101040310; + } + } + IFC42.IfcPersonAndOrganization = IfcPersonAndOrganization; + class IfcPhysicalQuantity extends IfcLineObject$1 { + constructor(Name, Description) { + super(); + this.Name = Name; + this.Description = Description; + this.type = 2483315170; + } + } + IFC42.IfcPhysicalQuantity = IfcPhysicalQuantity; + class IfcPhysicalSimpleQuantity extends IfcPhysicalQuantity { + constructor(Name, Description, Unit) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.type = 2226359599; + } + } + IFC42.IfcPhysicalSimpleQuantity = IfcPhysicalSimpleQuantity; + class IfcPostalAddress extends IfcAddress { + constructor(Purpose, Description, UserDefinedPurpose, InternalLocation, AddressLines, PostalBox, Town, Region, PostalCode, Country) { + super(Purpose, Description, UserDefinedPurpose); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.InternalLocation = InternalLocation; + this.AddressLines = AddressLines; + this.PostalBox = PostalBox; + this.Town = Town; + this.Region = Region; + this.PostalCode = PostalCode; + this.Country = Country; + this.type = 3355820592; + } + } + IFC42.IfcPostalAddress = IfcPostalAddress; + class IfcPresentationItem extends IfcLineObject$1 { + constructor() { + super(); + this.type = 677532197; + } + } + IFC42.IfcPresentationItem = IfcPresentationItem; + class IfcPresentationLayerAssignment extends IfcLineObject$1 { + constructor(Name, Description, AssignedItems, Identifier) { + super(); + this.Name = Name; + this.Description = Description; + this.AssignedItems = AssignedItems; + this.Identifier = Identifier; + this.type = 2022622350; + } + } + IFC42.IfcPresentationLayerAssignment = IfcPresentationLayerAssignment; + class IfcPresentationLayerWithStyle extends IfcPresentationLayerAssignment { + constructor(Name, Description, AssignedItems, Identifier, LayerOn, LayerFrozen, LayerBlocked, LayerStyles) { + super(Name, Description, AssignedItems, Identifier); + this.Name = Name; + this.Description = Description; + this.AssignedItems = AssignedItems; + this.Identifier = Identifier; + this.LayerOn = LayerOn; + this.LayerFrozen = LayerFrozen; + this.LayerBlocked = LayerBlocked; + this.LayerStyles = LayerStyles; + this.type = 1304840413; + } + } + IFC42.IfcPresentationLayerWithStyle = IfcPresentationLayerWithStyle; + class IfcPresentationStyle extends IfcLineObject$1 { + constructor(Name) { + super(); + this.Name = Name; + this.type = 3119450353; + } + } + IFC42.IfcPresentationStyle = IfcPresentationStyle; + class IfcPresentationStyleAssignment extends IfcLineObject$1 { + constructor(Styles) { + super(); + this.Styles = Styles; + this.type = 2417041796; + } + } + IFC42.IfcPresentationStyleAssignment = IfcPresentationStyleAssignment; + class IfcProductRepresentation extends IfcLineObject$1 { + constructor(Name, Description, Representations) { + super(); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.type = 2095639259; + } + } + IFC42.IfcProductRepresentation = IfcProductRepresentation; + class IfcProfileDef extends IfcLineObject$1 { + constructor(ProfileType, ProfileName) { + super(); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.type = 3958567839; + } + } + IFC42.IfcProfileDef = IfcProfileDef; + class IfcProjectedCRS extends IfcCoordinateReferenceSystem { + constructor(Name, Description, GeodeticDatum, VerticalDatum, MapProjection, MapZone, MapUnit) { + super(Name, Description, GeodeticDatum, VerticalDatum); + this.Name = Name; + this.Description = Description; + this.GeodeticDatum = GeodeticDatum; + this.VerticalDatum = VerticalDatum; + this.MapProjection = MapProjection; + this.MapZone = MapZone; + this.MapUnit = MapUnit; + this.type = 3843373140; + } + } + IFC42.IfcProjectedCRS = IfcProjectedCRS; + class IfcPropertyAbstraction extends IfcLineObject$1 { + constructor() { + super(); + this.type = 986844984; + } + } + IFC42.IfcPropertyAbstraction = IfcPropertyAbstraction; + class IfcPropertyEnumeration extends IfcPropertyAbstraction { + constructor(Name, EnumerationValues, Unit) { + super(); + this.Name = Name; + this.EnumerationValues = EnumerationValues; + this.Unit = Unit; + this.type = 3710013099; + } + } + IFC42.IfcPropertyEnumeration = IfcPropertyEnumeration; + class IfcQuantityArea extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, AreaValue, Formula) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.AreaValue = AreaValue; + this.Formula = Formula; + this.type = 2044713172; + } + } + IFC42.IfcQuantityArea = IfcQuantityArea; + class IfcQuantityCount extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, CountValue, Formula) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.CountValue = CountValue; + this.Formula = Formula; + this.type = 2093928680; + } + } + IFC42.IfcQuantityCount = IfcQuantityCount; + class IfcQuantityLength extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, LengthValue, Formula) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.LengthValue = LengthValue; + this.Formula = Formula; + this.type = 931644368; + } + } + IFC42.IfcQuantityLength = IfcQuantityLength; + class IfcQuantityTime extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, TimeValue, Formula) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.TimeValue = TimeValue; + this.Formula = Formula; + this.type = 3252649465; + } + } + IFC42.IfcQuantityTime = IfcQuantityTime; + class IfcQuantityVolume extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, VolumeValue, Formula) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.VolumeValue = VolumeValue; + this.Formula = Formula; + this.type = 2405470396; + } + } + IFC42.IfcQuantityVolume = IfcQuantityVolume; + class IfcQuantityWeight extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, WeightValue, Formula) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.WeightValue = WeightValue; + this.Formula = Formula; + this.type = 825690147; + } + } + IFC42.IfcQuantityWeight = IfcQuantityWeight; + class IfcRecurrencePattern extends IfcLineObject$1 { + constructor(RecurrenceType, DayComponent, WeekdayComponent, MonthComponent, Position, Interval, Occurrences, TimePeriods) { + super(); + this.RecurrenceType = RecurrenceType; + this.DayComponent = DayComponent; + this.WeekdayComponent = WeekdayComponent; + this.MonthComponent = MonthComponent; + this.Position = Position; + this.Interval = Interval; + this.Occurrences = Occurrences; + this.TimePeriods = TimePeriods; + this.type = 3915482550; + } + } + IFC42.IfcRecurrencePattern = IfcRecurrencePattern; + class IfcReference extends IfcLineObject$1 { + constructor(TypeIdentifier, AttributeIdentifier, InstanceName, ListPositions, InnerReference) { + super(); + this.TypeIdentifier = TypeIdentifier; + this.AttributeIdentifier = AttributeIdentifier; + this.InstanceName = InstanceName; + this.ListPositions = ListPositions; + this.InnerReference = InnerReference; + this.type = 2433181523; + } + } + IFC42.IfcReference = IfcReference; + class IfcRepresentation extends IfcLineObject$1 { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 1076942058; + } + } + IFC42.IfcRepresentation = IfcRepresentation; + class IfcRepresentationContext extends IfcLineObject$1 { + constructor(ContextIdentifier, ContextType) { + super(); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.type = 3377609919; + } + } + IFC42.IfcRepresentationContext = IfcRepresentationContext; + class IfcRepresentationItem extends IfcLineObject$1 { + constructor() { + super(); + this.type = 3008791417; + } + } + IFC42.IfcRepresentationItem = IfcRepresentationItem; + class IfcRepresentationMap extends IfcLineObject$1 { + constructor(MappingOrigin, MappedRepresentation) { + super(); + this.MappingOrigin = MappingOrigin; + this.MappedRepresentation = MappedRepresentation; + this.type = 1660063152; + } + } + IFC42.IfcRepresentationMap = IfcRepresentationMap; + class IfcResourceLevelRelationship extends IfcLineObject$1 { + constructor(Name, Description) { + super(); + this.Name = Name; + this.Description = Description; + this.type = 2439245199; + } + } + IFC42.IfcResourceLevelRelationship = IfcResourceLevelRelationship; + class IfcRoot extends IfcLineObject$1 { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 2341007311; + } + } + IFC42.IfcRoot = IfcRoot; + class IfcSIUnit extends IfcNamedUnit { + constructor(UnitType, Prefix, Name) { + super(new Handle$5(0), UnitType); + this.UnitType = UnitType; + this.Prefix = Prefix; + this.Name = Name; + this.type = 448429030; + } + } + IFC42.IfcSIUnit = IfcSIUnit; + class IfcSchedulingTime extends IfcLineObject$1 { + constructor(Name, DataOrigin, UserDefinedDataOrigin) { + super(); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.type = 1054537805; + } + } + IFC42.IfcSchedulingTime = IfcSchedulingTime; + class IfcShapeAspect extends IfcLineObject$1 { + constructor(ShapeRepresentations, Name, Description, ProductDefinitional, PartOfProductDefinitionShape) { + super(); + this.ShapeRepresentations = ShapeRepresentations; + this.Name = Name; + this.Description = Description; + this.ProductDefinitional = ProductDefinitional; + this.PartOfProductDefinitionShape = PartOfProductDefinitionShape; + this.type = 867548509; + } + } + IFC42.IfcShapeAspect = IfcShapeAspect; + class IfcShapeModel extends IfcRepresentation { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 3982875396; + } + } + IFC42.IfcShapeModel = IfcShapeModel; + class IfcShapeRepresentation extends IfcShapeModel { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 4240577450; + } + } + IFC42.IfcShapeRepresentation = IfcShapeRepresentation; + class IfcStructuralConnectionCondition extends IfcLineObject$1 { + constructor(Name) { + super(); + this.Name = Name; + this.type = 2273995522; + } + } + IFC42.IfcStructuralConnectionCondition = IfcStructuralConnectionCondition; + class IfcStructuralLoad extends IfcLineObject$1 { + constructor(Name) { + super(); + this.Name = Name; + this.type = 2162789131; + } + } + IFC42.IfcStructuralLoad = IfcStructuralLoad; + class IfcStructuralLoadConfiguration extends IfcStructuralLoad { + constructor(Name, Values, Locations) { + super(Name); + this.Name = Name; + this.Values = Values; + this.Locations = Locations; + this.type = 3478079324; + } + } + IFC42.IfcStructuralLoadConfiguration = IfcStructuralLoadConfiguration; + class IfcStructuralLoadOrResult extends IfcStructuralLoad { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 609421318; + } + } + IFC42.IfcStructuralLoadOrResult = IfcStructuralLoadOrResult; + class IfcStructuralLoadStatic extends IfcStructuralLoadOrResult { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 2525727697; + } + } + IFC42.IfcStructuralLoadStatic = IfcStructuralLoadStatic; + class IfcStructuralLoadTemperature extends IfcStructuralLoadStatic { + constructor(Name, DeltaTConstant, DeltaTY, DeltaTZ) { + super(Name); + this.Name = Name; + this.DeltaTConstant = DeltaTConstant; + this.DeltaTY = DeltaTY; + this.DeltaTZ = DeltaTZ; + this.type = 3408363356; + } + } + IFC42.IfcStructuralLoadTemperature = IfcStructuralLoadTemperature; + class IfcStyleModel extends IfcRepresentation { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 2830218821; + } + } + IFC42.IfcStyleModel = IfcStyleModel; + class IfcStyledItem extends IfcRepresentationItem { + constructor(Item, Styles, Name) { + super(); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 3958052878; + } + } + IFC42.IfcStyledItem = IfcStyledItem; + class IfcStyledRepresentation extends IfcStyleModel { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 3049322572; + } + } + IFC42.IfcStyledRepresentation = IfcStyledRepresentation; + class IfcSurfaceReinforcementArea extends IfcStructuralLoadOrResult { + constructor(Name, SurfaceReinforcement1, SurfaceReinforcement2, ShearReinforcement) { + super(Name); + this.Name = Name; + this.SurfaceReinforcement1 = SurfaceReinforcement1; + this.SurfaceReinforcement2 = SurfaceReinforcement2; + this.ShearReinforcement = ShearReinforcement; + this.type = 2934153892; + } + } + IFC42.IfcSurfaceReinforcementArea = IfcSurfaceReinforcementArea; + class IfcSurfaceStyle extends IfcPresentationStyle { + constructor(Name, Side, Styles) { + super(Name); + this.Name = Name; + this.Side = Side; + this.Styles = Styles; + this.type = 1300840506; + } + } + IFC42.IfcSurfaceStyle = IfcSurfaceStyle; + class IfcSurfaceStyleLighting extends IfcPresentationItem { + constructor(DiffuseTransmissionColour, DiffuseReflectionColour, TransmissionColour, ReflectanceColour) { + super(); + this.DiffuseTransmissionColour = DiffuseTransmissionColour; + this.DiffuseReflectionColour = DiffuseReflectionColour; + this.TransmissionColour = TransmissionColour; + this.ReflectanceColour = ReflectanceColour; + this.type = 3303107099; + } + } + IFC42.IfcSurfaceStyleLighting = IfcSurfaceStyleLighting; + class IfcSurfaceStyleRefraction extends IfcPresentationItem { + constructor(RefractionIndex, DispersionFactor) { + super(); + this.RefractionIndex = RefractionIndex; + this.DispersionFactor = DispersionFactor; + this.type = 1607154358; + } + } + IFC42.IfcSurfaceStyleRefraction = IfcSurfaceStyleRefraction; + class IfcSurfaceStyleShading extends IfcPresentationItem { + constructor(SurfaceColour, Transparency) { + super(); + this.SurfaceColour = SurfaceColour; + this.Transparency = Transparency; + this.type = 846575682; + } + } + IFC42.IfcSurfaceStyleShading = IfcSurfaceStyleShading; + class IfcSurfaceStyleWithTextures extends IfcPresentationItem { + constructor(Textures) { + super(); + this.Textures = Textures; + this.type = 1351298697; + } + } + IFC42.IfcSurfaceStyleWithTextures = IfcSurfaceStyleWithTextures; + class IfcSurfaceTexture extends IfcPresentationItem { + constructor(RepeatS, RepeatT, Mode, TextureTransform, Parameter) { + super(); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.Mode = Mode; + this.TextureTransform = TextureTransform; + this.Parameter = Parameter; + this.type = 626085974; + } + } + IFC42.IfcSurfaceTexture = IfcSurfaceTexture; + class IfcTable extends IfcLineObject$1 { + constructor(Name, Rows, Columns) { + super(); + this.Name = Name; + this.Rows = Rows; + this.Columns = Columns; + this.type = 985171141; + } + } + IFC42.IfcTable = IfcTable; + class IfcTableColumn extends IfcLineObject$1 { + constructor(Identifier, Name, Description, Unit, ReferencePath) { + super(); + this.Identifier = Identifier; + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.ReferencePath = ReferencePath; + this.type = 2043862942; + } + } + IFC42.IfcTableColumn = IfcTableColumn; + class IfcTableRow extends IfcLineObject$1 { + constructor(RowCells, IsHeading) { + super(); + this.RowCells = RowCells; + this.IsHeading = IsHeading; + this.type = 531007025; + } + } + IFC42.IfcTableRow = IfcTableRow; + class IfcTaskTime extends IfcSchedulingTime { + constructor(Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion) { + super(Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.DurationType = DurationType; + this.ScheduleDuration = ScheduleDuration; + this.ScheduleStart = ScheduleStart; + this.ScheduleFinish = ScheduleFinish; + this.EarlyStart = EarlyStart; + this.EarlyFinish = EarlyFinish; + this.LateStart = LateStart; + this.LateFinish = LateFinish; + this.FreeFloat = FreeFloat; + this.TotalFloat = TotalFloat; + this.IsCritical = IsCritical; + this.StatusTime = StatusTime; + this.ActualDuration = ActualDuration; + this.ActualStart = ActualStart; + this.ActualFinish = ActualFinish; + this.RemainingTime = RemainingTime; + this.Completion = Completion; + this.type = 1549132990; + } + } + IFC42.IfcTaskTime = IfcTaskTime; + class IfcTaskTimeRecurring extends IfcTaskTime { + constructor(Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion, Recurrence) { + super(Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.DurationType = DurationType; + this.ScheduleDuration = ScheduleDuration; + this.ScheduleStart = ScheduleStart; + this.ScheduleFinish = ScheduleFinish; + this.EarlyStart = EarlyStart; + this.EarlyFinish = EarlyFinish; + this.LateStart = LateStart; + this.LateFinish = LateFinish; + this.FreeFloat = FreeFloat; + this.TotalFloat = TotalFloat; + this.IsCritical = IsCritical; + this.StatusTime = StatusTime; + this.ActualDuration = ActualDuration; + this.ActualStart = ActualStart; + this.ActualFinish = ActualFinish; + this.RemainingTime = RemainingTime; + this.Completion = Completion; + this.Recurrence = Recurrence; + this.type = 2771591690; + } + } + IFC42.IfcTaskTimeRecurring = IfcTaskTimeRecurring; + class IfcTelecomAddress extends IfcAddress { + constructor(Purpose, Description, UserDefinedPurpose, TelephoneNumbers, FacsimileNumbers, PagerNumber, ElectronicMailAddresses, WWWHomePageURL, MessagingIDs) { + super(Purpose, Description, UserDefinedPurpose); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.TelephoneNumbers = TelephoneNumbers; + this.FacsimileNumbers = FacsimileNumbers; + this.PagerNumber = PagerNumber; + this.ElectronicMailAddresses = ElectronicMailAddresses; + this.WWWHomePageURL = WWWHomePageURL; + this.MessagingIDs = MessagingIDs; + this.type = 912023232; + } + } + IFC42.IfcTelecomAddress = IfcTelecomAddress; + class IfcTextStyle extends IfcPresentationStyle { + constructor(Name, TextCharacterAppearance, TextStyle, TextFontStyle, ModelOrDraughting) { + super(Name); + this.Name = Name; + this.TextCharacterAppearance = TextCharacterAppearance; + this.TextStyle = TextStyle; + this.TextFontStyle = TextFontStyle; + this.ModelOrDraughting = ModelOrDraughting; + this.type = 1447204868; + } + } + IFC42.IfcTextStyle = IfcTextStyle; + class IfcTextStyleForDefinedFont extends IfcPresentationItem { + constructor(Colour, BackgroundColour) { + super(); + this.Colour = Colour; + this.BackgroundColour = BackgroundColour; + this.type = 2636378356; + } + } + IFC42.IfcTextStyleForDefinedFont = IfcTextStyleForDefinedFont; + class IfcTextStyleTextModel extends IfcPresentationItem { + constructor(TextIndent, TextAlign, TextDecoration, LetterSpacing, WordSpacing, TextTransform, LineHeight) { + super(); + this.TextIndent = TextIndent; + this.TextAlign = TextAlign; + this.TextDecoration = TextDecoration; + this.LetterSpacing = LetterSpacing; + this.WordSpacing = WordSpacing; + this.TextTransform = TextTransform; + this.LineHeight = LineHeight; + this.type = 1640371178; + } + } + IFC42.IfcTextStyleTextModel = IfcTextStyleTextModel; + class IfcTextureCoordinate extends IfcPresentationItem { + constructor(Maps) { + super(); + this.Maps = Maps; + this.type = 280115917; + } + } + IFC42.IfcTextureCoordinate = IfcTextureCoordinate; + class IfcTextureCoordinateGenerator extends IfcTextureCoordinate { + constructor(Maps, Mode, Parameter) { + super(Maps); + this.Maps = Maps; + this.Mode = Mode; + this.Parameter = Parameter; + this.type = 1742049831; + } + } + IFC42.IfcTextureCoordinateGenerator = IfcTextureCoordinateGenerator; + class IfcTextureMap extends IfcTextureCoordinate { + constructor(Maps, Vertices, MappedTo) { + super(Maps); + this.Maps = Maps; + this.Vertices = Vertices; + this.MappedTo = MappedTo; + this.type = 2552916305; + } + } + IFC42.IfcTextureMap = IfcTextureMap; + class IfcTextureVertex extends IfcPresentationItem { + constructor(Coordinates) { + super(); + this.Coordinates = Coordinates; + this.type = 1210645708; + } + } + IFC42.IfcTextureVertex = IfcTextureVertex; + class IfcTextureVertexList extends IfcPresentationItem { + constructor(TexCoordsList) { + super(); + this.TexCoordsList = TexCoordsList; + this.type = 3611470254; + } + } + IFC42.IfcTextureVertexList = IfcTextureVertexList; + class IfcTimePeriod extends IfcLineObject$1 { + constructor(StartTime, EndTime) { + super(); + this.StartTime = StartTime; + this.EndTime = EndTime; + this.type = 1199560280; + } + } + IFC42.IfcTimePeriod = IfcTimePeriod; + class IfcTimeSeries extends IfcLineObject$1 { + constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit) { + super(); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.type = 3101149627; + } + } + IFC42.IfcTimeSeries = IfcTimeSeries; + class IfcTimeSeriesValue extends IfcLineObject$1 { + constructor(ListValues) { + super(); + this.ListValues = ListValues; + this.type = 581633288; + } + } + IFC42.IfcTimeSeriesValue = IfcTimeSeriesValue; + class IfcTopologicalRepresentationItem extends IfcRepresentationItem { + constructor() { + super(); + this.type = 1377556343; + } + } + IFC42.IfcTopologicalRepresentationItem = IfcTopologicalRepresentationItem; + class IfcTopologyRepresentation extends IfcShapeModel { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 1735638870; + } + } + IFC42.IfcTopologyRepresentation = IfcTopologyRepresentation; + class IfcUnitAssignment extends IfcLineObject$1 { + constructor(Units) { + super(); + this.Units = Units; + this.type = 180925521; + } + } + IFC42.IfcUnitAssignment = IfcUnitAssignment; + class IfcVertex extends IfcTopologicalRepresentationItem { + constructor() { + super(); + this.type = 2799835756; + } + } + IFC42.IfcVertex = IfcVertex; + class IfcVertexPoint extends IfcVertex { + constructor(VertexGeometry) { + super(); + this.VertexGeometry = VertexGeometry; + this.type = 1907098498; + } + } + IFC42.IfcVertexPoint = IfcVertexPoint; + class IfcVirtualGridIntersection extends IfcLineObject$1 { + constructor(IntersectingAxes, OffsetDistances) { + super(); + this.IntersectingAxes = IntersectingAxes; + this.OffsetDistances = OffsetDistances; + this.type = 891718957; + } + } + IFC42.IfcVirtualGridIntersection = IfcVirtualGridIntersection; + class IfcWorkTime extends IfcSchedulingTime { + constructor(Name, DataOrigin, UserDefinedDataOrigin, RecurrencePattern, Start, Finish) { + super(Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.RecurrencePattern = RecurrencePattern; + this.Start = Start; + this.Finish = Finish; + this.type = 1236880293; + } + } + IFC42.IfcWorkTime = IfcWorkTime; + class IfcApprovalRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, RelatingApproval, RelatedApprovals) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingApproval = RelatingApproval; + this.RelatedApprovals = RelatedApprovals; + this.type = 3869604511; + } + } + IFC42.IfcApprovalRelationship = IfcApprovalRelationship; + class IfcArbitraryClosedProfileDef extends IfcProfileDef { + constructor(ProfileType, ProfileName, OuterCurve) { + super(ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.OuterCurve = OuterCurve; + this.type = 3798115385; + } + } + IFC42.IfcArbitraryClosedProfileDef = IfcArbitraryClosedProfileDef; + class IfcArbitraryOpenProfileDef extends IfcProfileDef { + constructor(ProfileType, ProfileName, Curve) { + super(ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Curve = Curve; + this.type = 1310608509; + } + } + IFC42.IfcArbitraryOpenProfileDef = IfcArbitraryOpenProfileDef; + class IfcArbitraryProfileDefWithVoids extends IfcArbitraryClosedProfileDef { + constructor(ProfileType, ProfileName, OuterCurve, InnerCurves) { + super(ProfileType, ProfileName, OuterCurve); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.OuterCurve = OuterCurve; + this.InnerCurves = InnerCurves; + this.type = 2705031697; + } + } + IFC42.IfcArbitraryProfileDefWithVoids = IfcArbitraryProfileDefWithVoids; + class IfcBlobTexture extends IfcSurfaceTexture { + constructor(RepeatS, RepeatT, Mode, TextureTransform, Parameter, RasterFormat, RasterCode) { + super(RepeatS, RepeatT, Mode, TextureTransform, Parameter); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.Mode = Mode; + this.TextureTransform = TextureTransform; + this.Parameter = Parameter; + this.RasterFormat = RasterFormat; + this.RasterCode = RasterCode; + this.type = 616511568; + } + } + IFC42.IfcBlobTexture = IfcBlobTexture; + class IfcCenterLineProfileDef extends IfcArbitraryOpenProfileDef { + constructor(ProfileType, ProfileName, Curve, Thickness) { + super(ProfileType, ProfileName, Curve); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Curve = Curve; + this.Thickness = Thickness; + this.type = 3150382593; + } + } + IFC42.IfcCenterLineProfileDef = IfcCenterLineProfileDef; + class IfcClassification extends IfcExternalInformation { + constructor(Source, Edition, EditionDate, Name, Description, Location, ReferenceTokens) { + super(); + this.Source = Source; + this.Edition = Edition; + this.EditionDate = EditionDate; + this.Name = Name; + this.Description = Description; + this.Location = Location; + this.ReferenceTokens = ReferenceTokens; + this.type = 747523909; + } + } + IFC42.IfcClassification = IfcClassification; + class IfcClassificationReference extends IfcExternalReference { + constructor(Location, Identification, Name, ReferencedSource, Description, Sort) { + super(Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.ReferencedSource = ReferencedSource; + this.Description = Description; + this.Sort = Sort; + this.type = 647927063; + } + } + IFC42.IfcClassificationReference = IfcClassificationReference; + class IfcColourRgbList extends IfcPresentationItem { + constructor(ColourList) { + super(); + this.ColourList = ColourList; + this.type = 3285139300; + } + } + IFC42.IfcColourRgbList = IfcColourRgbList; + class IfcColourSpecification extends IfcPresentationItem { + constructor(Name) { + super(); + this.Name = Name; + this.type = 3264961684; + } + } + IFC42.IfcColourSpecification = IfcColourSpecification; + class IfcCompositeProfileDef extends IfcProfileDef { + constructor(ProfileType, ProfileName, Profiles, Label) { + super(ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Profiles = Profiles; + this.Label = Label; + this.type = 1485152156; + } + } + IFC42.IfcCompositeProfileDef = IfcCompositeProfileDef; + class IfcConnectedFaceSet extends IfcTopologicalRepresentationItem { + constructor(CfsFaces) { + super(); + this.CfsFaces = CfsFaces; + this.type = 370225590; + } + } + IFC42.IfcConnectedFaceSet = IfcConnectedFaceSet; + class IfcConnectionCurveGeometry extends IfcConnectionGeometry { + constructor(CurveOnRelatingElement, CurveOnRelatedElement) { + super(); + this.CurveOnRelatingElement = CurveOnRelatingElement; + this.CurveOnRelatedElement = CurveOnRelatedElement; + this.type = 1981873012; + } + } + IFC42.IfcConnectionCurveGeometry = IfcConnectionCurveGeometry; + class IfcConnectionPointEccentricity extends IfcConnectionPointGeometry { + constructor(PointOnRelatingElement, PointOnRelatedElement, EccentricityInX, EccentricityInY, EccentricityInZ) { + super(PointOnRelatingElement, PointOnRelatedElement); + this.PointOnRelatingElement = PointOnRelatingElement; + this.PointOnRelatedElement = PointOnRelatedElement; + this.EccentricityInX = EccentricityInX; + this.EccentricityInY = EccentricityInY; + this.EccentricityInZ = EccentricityInZ; + this.type = 45288368; + } + } + IFC42.IfcConnectionPointEccentricity = IfcConnectionPointEccentricity; + class IfcContextDependentUnit extends IfcNamedUnit { + constructor(Dimensions, UnitType, Name) { + super(Dimensions, UnitType); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Name = Name; + this.type = 3050246964; + } + } + IFC42.IfcContextDependentUnit = IfcContextDependentUnit; + class IfcConversionBasedUnit extends IfcNamedUnit { + constructor(Dimensions, UnitType, Name, ConversionFactor) { + super(Dimensions, UnitType); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Name = Name; + this.ConversionFactor = ConversionFactor; + this.type = 2889183280; + } + } + IFC42.IfcConversionBasedUnit = IfcConversionBasedUnit; + class IfcConversionBasedUnitWithOffset extends IfcConversionBasedUnit { + constructor(Dimensions, UnitType, Name, ConversionFactor, ConversionOffset) { + super(Dimensions, UnitType, Name, ConversionFactor); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Name = Name; + this.ConversionFactor = ConversionFactor; + this.ConversionOffset = ConversionOffset; + this.type = 2713554722; + } + } + IFC42.IfcConversionBasedUnitWithOffset = IfcConversionBasedUnitWithOffset; + class IfcCurrencyRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, RelatingMonetaryUnit, RelatedMonetaryUnit, ExchangeRate, RateDateTime, RateSource) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingMonetaryUnit = RelatingMonetaryUnit; + this.RelatedMonetaryUnit = RelatedMonetaryUnit; + this.ExchangeRate = ExchangeRate; + this.RateDateTime = RateDateTime; + this.RateSource = RateSource; + this.type = 539742890; + } + } + IFC42.IfcCurrencyRelationship = IfcCurrencyRelationship; + class IfcCurveStyle extends IfcPresentationStyle { + constructor(Name, CurveFont, CurveWidth, CurveColour, ModelOrDraughting) { + super(Name); + this.Name = Name; + this.CurveFont = CurveFont; + this.CurveWidth = CurveWidth; + this.CurveColour = CurveColour; + this.ModelOrDraughting = ModelOrDraughting; + this.type = 3800577675; + } + } + IFC42.IfcCurveStyle = IfcCurveStyle; + class IfcCurveStyleFont extends IfcPresentationItem { + constructor(Name, PatternList) { + super(); + this.Name = Name; + this.PatternList = PatternList; + this.type = 1105321065; + } + } + IFC42.IfcCurveStyleFont = IfcCurveStyleFont; + class IfcCurveStyleFontAndScaling extends IfcPresentationItem { + constructor(Name, CurveFont, CurveFontScaling) { + super(); + this.Name = Name; + this.CurveFont = CurveFont; + this.CurveFontScaling = CurveFontScaling; + this.type = 2367409068; + } + } + IFC42.IfcCurveStyleFontAndScaling = IfcCurveStyleFontAndScaling; + class IfcCurveStyleFontPattern extends IfcPresentationItem { + constructor(VisibleSegmentLength, InvisibleSegmentLength) { + super(); + this.VisibleSegmentLength = VisibleSegmentLength; + this.InvisibleSegmentLength = InvisibleSegmentLength; + this.type = 3510044353; + } + } + IFC42.IfcCurveStyleFontPattern = IfcCurveStyleFontPattern; + class IfcDerivedProfileDef extends IfcProfileDef { + constructor(ProfileType, ProfileName, ParentProfile, Operator, Label) { + super(ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.ParentProfile = ParentProfile; + this.Operator = Operator; + this.Label = Label; + this.type = 3632507154; + } + } + IFC42.IfcDerivedProfileDef = IfcDerivedProfileDef; + class IfcDocumentInformation extends IfcExternalInformation { + constructor(Identification, Name, Description, Location, Purpose, IntendedUse, Scope, Revision, DocumentOwner, Editors, CreationTime, LastRevisionTime, ElectronicFormat, ValidFrom, ValidUntil, Confidentiality, Status) { + super(); + this.Identification = Identification; + this.Name = Name; + this.Description = Description; + this.Location = Location; + this.Purpose = Purpose; + this.IntendedUse = IntendedUse; + this.Scope = Scope; + this.Revision = Revision; + this.DocumentOwner = DocumentOwner; + this.Editors = Editors; + this.CreationTime = CreationTime; + this.LastRevisionTime = LastRevisionTime; + this.ElectronicFormat = ElectronicFormat; + this.ValidFrom = ValidFrom; + this.ValidUntil = ValidUntil; + this.Confidentiality = Confidentiality; + this.Status = Status; + this.type = 1154170062; + } + } + IFC42.IfcDocumentInformation = IfcDocumentInformation; + class IfcDocumentInformationRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, RelatingDocument, RelatedDocuments, RelationshipType) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingDocument = RelatingDocument; + this.RelatedDocuments = RelatedDocuments; + this.RelationshipType = RelationshipType; + this.type = 770865208; + } + } + IFC42.IfcDocumentInformationRelationship = IfcDocumentInformationRelationship; + class IfcDocumentReference extends IfcExternalReference { + constructor(Location, Identification, Name, Description, ReferencedDocument) { + super(Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.Description = Description; + this.ReferencedDocument = ReferencedDocument; + this.type = 3732053477; + } + } + IFC42.IfcDocumentReference = IfcDocumentReference; + class IfcEdge extends IfcTopologicalRepresentationItem { + constructor(EdgeStart, EdgeEnd) { + super(); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.type = 3900360178; + } + } + IFC42.IfcEdge = IfcEdge; + class IfcEdgeCurve extends IfcEdge { + constructor(EdgeStart, EdgeEnd, EdgeGeometry, SameSense) { + super(EdgeStart, EdgeEnd); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.EdgeGeometry = EdgeGeometry; + this.SameSense = SameSense; + this.type = 476780140; + } + } + IFC42.IfcEdgeCurve = IfcEdgeCurve; + class IfcEventTime extends IfcSchedulingTime { + constructor(Name, DataOrigin, UserDefinedDataOrigin, ActualDate, EarlyDate, LateDate, ScheduleDate) { + super(Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.ActualDate = ActualDate; + this.EarlyDate = EarlyDate; + this.LateDate = LateDate; + this.ScheduleDate = ScheduleDate; + this.type = 211053100; + } + } + IFC42.IfcEventTime = IfcEventTime; + class IfcExtendedProperties extends IfcPropertyAbstraction { + constructor(Name, Description, Properties2) { + super(); + this.Name = Name; + this.Description = Description; + this.Properties = Properties2; + this.type = 297599258; + } + } + IFC42.IfcExtendedProperties = IfcExtendedProperties; + class IfcExternalReferenceRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, RelatingReference, RelatedResourceObjects) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingReference = RelatingReference; + this.RelatedResourceObjects = RelatedResourceObjects; + this.type = 1437805879; + } + } + IFC42.IfcExternalReferenceRelationship = IfcExternalReferenceRelationship; + class IfcFace extends IfcTopologicalRepresentationItem { + constructor(Bounds) { + super(); + this.Bounds = Bounds; + this.type = 2556980723; + } + } + IFC42.IfcFace = IfcFace; + class IfcFaceBound extends IfcTopologicalRepresentationItem { + constructor(Bound, Orientation) { + super(); + this.Bound = Bound; + this.Orientation = Orientation; + this.type = 1809719519; + } + } + IFC42.IfcFaceBound = IfcFaceBound; + class IfcFaceOuterBound extends IfcFaceBound { + constructor(Bound, Orientation) { + super(Bound, Orientation); + this.Bound = Bound; + this.Orientation = Orientation; + this.type = 803316827; + } + } + IFC42.IfcFaceOuterBound = IfcFaceOuterBound; + class IfcFaceSurface extends IfcFace { + constructor(Bounds, FaceSurface, SameSense) { + super(Bounds); + this.Bounds = Bounds; + this.FaceSurface = FaceSurface; + this.SameSense = SameSense; + this.type = 3008276851; + } + } + IFC42.IfcFaceSurface = IfcFaceSurface; + class IfcFailureConnectionCondition extends IfcStructuralConnectionCondition { + constructor(Name, TensionFailureX, TensionFailureY, TensionFailureZ, CompressionFailureX, CompressionFailureY, CompressionFailureZ) { + super(Name); + this.Name = Name; + this.TensionFailureX = TensionFailureX; + this.TensionFailureY = TensionFailureY; + this.TensionFailureZ = TensionFailureZ; + this.CompressionFailureX = CompressionFailureX; + this.CompressionFailureY = CompressionFailureY; + this.CompressionFailureZ = CompressionFailureZ; + this.type = 4219587988; + } + } + IFC42.IfcFailureConnectionCondition = IfcFailureConnectionCondition; + class IfcFillAreaStyle extends IfcPresentationStyle { + constructor(Name, FillStyles, ModelorDraughting) { + super(Name); + this.Name = Name; + this.FillStyles = FillStyles; + this.ModelorDraughting = ModelorDraughting; + this.type = 738692330; + } + } + IFC42.IfcFillAreaStyle = IfcFillAreaStyle; + class IfcGeometricRepresentationContext extends IfcRepresentationContext { + constructor(ContextIdentifier, ContextType, CoordinateSpaceDimension, Precision, WorldCoordinateSystem, TrueNorth) { + super(ContextIdentifier, ContextType); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.CoordinateSpaceDimension = CoordinateSpaceDimension; + this.Precision = Precision; + this.WorldCoordinateSystem = WorldCoordinateSystem; + this.TrueNorth = TrueNorth; + this.type = 3448662350; + } + } + IFC42.IfcGeometricRepresentationContext = IfcGeometricRepresentationContext; + class IfcGeometricRepresentationItem extends IfcRepresentationItem { + constructor() { + super(); + this.type = 2453401579; + } + } + IFC42.IfcGeometricRepresentationItem = IfcGeometricRepresentationItem; + class IfcGeometricRepresentationSubContext extends IfcGeometricRepresentationContext { + constructor(ContextIdentifier, ContextType, ParentContext, TargetScale, TargetView, UserDefinedTargetView) { + super(ContextIdentifier, ContextType, new IfcDimensionCount(0), null, new Handle$5(0), null); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.ParentContext = ParentContext; + this.TargetScale = TargetScale; + this.TargetView = TargetView; + this.UserDefinedTargetView = UserDefinedTargetView; + this.type = 4142052618; + } + } + IFC42.IfcGeometricRepresentationSubContext = IfcGeometricRepresentationSubContext; + class IfcGeometricSet extends IfcGeometricRepresentationItem { + constructor(Elements) { + super(); + this.Elements = Elements; + this.type = 3590301190; + } + } + IFC42.IfcGeometricSet = IfcGeometricSet; + class IfcGridPlacement extends IfcObjectPlacement { + constructor(PlacementLocation, PlacementRefDirection) { + super(); + this.PlacementLocation = PlacementLocation; + this.PlacementRefDirection = PlacementRefDirection; + this.type = 178086475; + } + } + IFC42.IfcGridPlacement = IfcGridPlacement; + class IfcHalfSpaceSolid extends IfcGeometricRepresentationItem { + constructor(BaseSurface, AgreementFlag) { + super(); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.type = 812098782; + } + } + IFC42.IfcHalfSpaceSolid = IfcHalfSpaceSolid; + class IfcImageTexture extends IfcSurfaceTexture { + constructor(RepeatS, RepeatT, Mode, TextureTransform, Parameter, URLReference) { + super(RepeatS, RepeatT, Mode, TextureTransform, Parameter); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.Mode = Mode; + this.TextureTransform = TextureTransform; + this.Parameter = Parameter; + this.URLReference = URLReference; + this.type = 3905492369; + } + } + IFC42.IfcImageTexture = IfcImageTexture; + class IfcIndexedColourMap extends IfcPresentationItem { + constructor(MappedTo, Opacity, Colours, ColourIndex) { + super(); + this.MappedTo = MappedTo; + this.Opacity = Opacity; + this.Colours = Colours; + this.ColourIndex = ColourIndex; + this.type = 3570813810; + } + } + IFC42.IfcIndexedColourMap = IfcIndexedColourMap; + class IfcIndexedTextureMap extends IfcTextureCoordinate { + constructor(Maps, MappedTo, TexCoords) { + super(Maps); + this.Maps = Maps; + this.MappedTo = MappedTo; + this.TexCoords = TexCoords; + this.type = 1437953363; + } + } + IFC42.IfcIndexedTextureMap = IfcIndexedTextureMap; + class IfcIndexedTriangleTextureMap extends IfcIndexedTextureMap { + constructor(Maps, MappedTo, TexCoords, TexCoordIndex) { + super(Maps, MappedTo, TexCoords); + this.Maps = Maps; + this.MappedTo = MappedTo; + this.TexCoords = TexCoords; + this.TexCoordIndex = TexCoordIndex; + this.type = 2133299955; + } + } + IFC42.IfcIndexedTriangleTextureMap = IfcIndexedTriangleTextureMap; + class IfcIrregularTimeSeries extends IfcTimeSeries { + constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, Values) { + super(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.Values = Values; + this.type = 3741457305; + } + } + IFC42.IfcIrregularTimeSeries = IfcIrregularTimeSeries; + class IfcLagTime extends IfcSchedulingTime { + constructor(Name, DataOrigin, UserDefinedDataOrigin, LagValue, DurationType) { + super(Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.LagValue = LagValue; + this.DurationType = DurationType; + this.type = 1585845231; + } + } + IFC42.IfcLagTime = IfcLagTime; + class IfcLightSource extends IfcGeometricRepresentationItem { + constructor(Name, LightColour, AmbientIntensity, Intensity) { + super(); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.type = 1402838566; + } + } + IFC42.IfcLightSource = IfcLightSource; + class IfcLightSourceAmbient extends IfcLightSource { + constructor(Name, LightColour, AmbientIntensity, Intensity) { + super(Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.type = 125510826; + } + } + IFC42.IfcLightSourceAmbient = IfcLightSourceAmbient; + class IfcLightSourceDirectional extends IfcLightSource { + constructor(Name, LightColour, AmbientIntensity, Intensity, Orientation) { + super(Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Orientation = Orientation; + this.type = 2604431987; + } + } + IFC42.IfcLightSourceDirectional = IfcLightSourceDirectional; + class IfcLightSourceGoniometric extends IfcLightSource { + constructor(Name, LightColour, AmbientIntensity, Intensity, Position, ColourAppearance, ColourTemperature, LuminousFlux, LightEmissionSource, LightDistributionDataSource) { + super(Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.ColourAppearance = ColourAppearance; + this.ColourTemperature = ColourTemperature; + this.LuminousFlux = LuminousFlux; + this.LightEmissionSource = LightEmissionSource; + this.LightDistributionDataSource = LightDistributionDataSource; + this.type = 4266656042; + } + } + IFC42.IfcLightSourceGoniometric = IfcLightSourceGoniometric; + class IfcLightSourcePositional extends IfcLightSource { + constructor(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation) { + super(Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.Radius = Radius; + this.ConstantAttenuation = ConstantAttenuation; + this.DistanceAttenuation = DistanceAttenuation; + this.QuadricAttenuation = QuadricAttenuation; + this.type = 1520743889; + } + } + IFC42.IfcLightSourcePositional = IfcLightSourcePositional; + class IfcLightSourceSpot extends IfcLightSourcePositional { + constructor(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation, Orientation, ConcentrationExponent, SpreadAngle, BeamWidthAngle) { + super(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.Radius = Radius; + this.ConstantAttenuation = ConstantAttenuation; + this.DistanceAttenuation = DistanceAttenuation; + this.QuadricAttenuation = QuadricAttenuation; + this.Orientation = Orientation; + this.ConcentrationExponent = ConcentrationExponent; + this.SpreadAngle = SpreadAngle; + this.BeamWidthAngle = BeamWidthAngle; + this.type = 3422422726; + } + } + IFC42.IfcLightSourceSpot = IfcLightSourceSpot; + class IfcLocalPlacement extends IfcObjectPlacement { + constructor(PlacementRelTo, RelativePlacement) { + super(); + this.PlacementRelTo = PlacementRelTo; + this.RelativePlacement = RelativePlacement; + this.type = 2624227202; + } + } + IFC42.IfcLocalPlacement = IfcLocalPlacement; + class IfcLoop extends IfcTopologicalRepresentationItem { + constructor() { + super(); + this.type = 1008929658; + } + } + IFC42.IfcLoop = IfcLoop; + class IfcMappedItem extends IfcRepresentationItem { + constructor(MappingSource, MappingTarget) { + super(); + this.MappingSource = MappingSource; + this.MappingTarget = MappingTarget; + this.type = 2347385850; + } + } + IFC42.IfcMappedItem = IfcMappedItem; + class IfcMaterial extends IfcMaterialDefinition { + constructor(Name, Description, Category) { + super(); + this.Name = Name; + this.Description = Description; + this.Category = Category; + this.type = 1838606355; + } + } + IFC42.IfcMaterial = IfcMaterial; + class IfcMaterialConstituent extends IfcMaterialDefinition { + constructor(Name, Description, Material, Fraction, Category) { + super(); + this.Name = Name; + this.Description = Description; + this.Material = Material; + this.Fraction = Fraction; + this.Category = Category; + this.type = 3708119e3; + } + } + IFC42.IfcMaterialConstituent = IfcMaterialConstituent; + class IfcMaterialConstituentSet extends IfcMaterialDefinition { + constructor(Name, Description, MaterialConstituents) { + super(); + this.Name = Name; + this.Description = Description; + this.MaterialConstituents = MaterialConstituents; + this.type = 2852063980; + } + } + IFC42.IfcMaterialConstituentSet = IfcMaterialConstituentSet; + class IfcMaterialDefinitionRepresentation extends IfcProductRepresentation { + constructor(Name, Description, Representations, RepresentedMaterial) { + super(Name, Description, Representations); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.RepresentedMaterial = RepresentedMaterial; + this.type = 2022407955; + } + } + IFC42.IfcMaterialDefinitionRepresentation = IfcMaterialDefinitionRepresentation; + class IfcMaterialLayerSetUsage extends IfcMaterialUsageDefinition { + constructor(ForLayerSet, LayerSetDirection, DirectionSense, OffsetFromReferenceLine, ReferenceExtent) { + super(); + this.ForLayerSet = ForLayerSet; + this.LayerSetDirection = LayerSetDirection; + this.DirectionSense = DirectionSense; + this.OffsetFromReferenceLine = OffsetFromReferenceLine; + this.ReferenceExtent = ReferenceExtent; + this.type = 1303795690; + } + } + IFC42.IfcMaterialLayerSetUsage = IfcMaterialLayerSetUsage; + class IfcMaterialProfileSetUsage extends IfcMaterialUsageDefinition { + constructor(ForProfileSet, CardinalPoint, ReferenceExtent) { + super(); + this.ForProfileSet = ForProfileSet; + this.CardinalPoint = CardinalPoint; + this.ReferenceExtent = ReferenceExtent; + this.type = 3079605661; + } + } + IFC42.IfcMaterialProfileSetUsage = IfcMaterialProfileSetUsage; + class IfcMaterialProfileSetUsageTapering extends IfcMaterialProfileSetUsage { + constructor(ForProfileSet, CardinalPoint, ReferenceExtent, ForProfileEndSet, CardinalEndPoint) { + super(ForProfileSet, CardinalPoint, ReferenceExtent); + this.ForProfileSet = ForProfileSet; + this.CardinalPoint = CardinalPoint; + this.ReferenceExtent = ReferenceExtent; + this.ForProfileEndSet = ForProfileEndSet; + this.CardinalEndPoint = CardinalEndPoint; + this.type = 3404854881; + } + } + IFC42.IfcMaterialProfileSetUsageTapering = IfcMaterialProfileSetUsageTapering; + class IfcMaterialProperties extends IfcExtendedProperties { + constructor(Name, Description, Properties2, Material) { + super(Name, Description, Properties2); + this.Name = Name; + this.Description = Description; + this.Properties = Properties2; + this.Material = Material; + this.type = 3265635763; + } + } + IFC42.IfcMaterialProperties = IfcMaterialProperties; + class IfcMaterialRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, RelatingMaterial, RelatedMaterials, Expression) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingMaterial = RelatingMaterial; + this.RelatedMaterials = RelatedMaterials; + this.Expression = Expression; + this.type = 853536259; + } + } + IFC42.IfcMaterialRelationship = IfcMaterialRelationship; + class IfcMirroredProfileDef extends IfcDerivedProfileDef { + constructor(ProfileType, ProfileName, ParentProfile, Label) { + super(ProfileType, ProfileName, ParentProfile, new Handle$5(0), Label); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.ParentProfile = ParentProfile; + this.Label = Label; + this.type = 2998442950; + } + } + IFC42.IfcMirroredProfileDef = IfcMirroredProfileDef; + class IfcObjectDefinition extends IfcRoot { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 219451334; + } + } + IFC42.IfcObjectDefinition = IfcObjectDefinition; + class IfcOpenShell extends IfcConnectedFaceSet { + constructor(CfsFaces) { + super(CfsFaces); + this.CfsFaces = CfsFaces; + this.type = 2665983363; + } + } + IFC42.IfcOpenShell = IfcOpenShell; + class IfcOrganizationRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, RelatingOrganization, RelatedOrganizations) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingOrganization = RelatingOrganization; + this.RelatedOrganizations = RelatedOrganizations; + this.type = 1411181986; + } + } + IFC42.IfcOrganizationRelationship = IfcOrganizationRelationship; + class IfcOrientedEdge extends IfcEdge { + constructor(EdgeElement, Orientation) { + super(new Handle$5(0), new Handle$5(0)); + this.EdgeElement = EdgeElement; + this.Orientation = Orientation; + this.type = 1029017970; + } + } + IFC42.IfcOrientedEdge = IfcOrientedEdge; + class IfcParameterizedProfileDef extends IfcProfileDef { + constructor(ProfileType, ProfileName, Position) { + super(ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.type = 2529465313; + } + } + IFC42.IfcParameterizedProfileDef = IfcParameterizedProfileDef; + class IfcPath extends IfcTopologicalRepresentationItem { + constructor(EdgeList) { + super(); + this.EdgeList = EdgeList; + this.type = 2519244187; + } + } + IFC42.IfcPath = IfcPath; + class IfcPhysicalComplexQuantity extends IfcPhysicalQuantity { + constructor(Name, Description, HasQuantities, Discrimination, Quality, Usage) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.HasQuantities = HasQuantities; + this.Discrimination = Discrimination; + this.Quality = Quality; + this.Usage = Usage; + this.type = 3021840470; + } + } + IFC42.IfcPhysicalComplexQuantity = IfcPhysicalComplexQuantity; + class IfcPixelTexture extends IfcSurfaceTexture { + constructor(RepeatS, RepeatT, Mode, TextureTransform, Parameter, Width, Height, ColourComponents, Pixel) { + super(RepeatS, RepeatT, Mode, TextureTransform, Parameter); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.Mode = Mode; + this.TextureTransform = TextureTransform; + this.Parameter = Parameter; + this.Width = Width; + this.Height = Height; + this.ColourComponents = ColourComponents; + this.Pixel = Pixel; + this.type = 597895409; + } + } + IFC42.IfcPixelTexture = IfcPixelTexture; + class IfcPlacement extends IfcGeometricRepresentationItem { + constructor(Location) { + super(); + this.Location = Location; + this.type = 2004835150; + } + } + IFC42.IfcPlacement = IfcPlacement; + class IfcPlanarExtent extends IfcGeometricRepresentationItem { + constructor(SizeInX, SizeInY) { + super(); + this.SizeInX = SizeInX; + this.SizeInY = SizeInY; + this.type = 1663979128; + } + } + IFC42.IfcPlanarExtent = IfcPlanarExtent; + class IfcPoint extends IfcGeometricRepresentationItem { + constructor() { + super(); + this.type = 2067069095; + } + } + IFC42.IfcPoint = IfcPoint; + class IfcPointOnCurve extends IfcPoint { + constructor(BasisCurve, PointParameter) { + super(); + this.BasisCurve = BasisCurve; + this.PointParameter = PointParameter; + this.type = 4022376103; + } + } + IFC42.IfcPointOnCurve = IfcPointOnCurve; + class IfcPointOnSurface extends IfcPoint { + constructor(BasisSurface, PointParameterU, PointParameterV) { + super(); + this.BasisSurface = BasisSurface; + this.PointParameterU = PointParameterU; + this.PointParameterV = PointParameterV; + this.type = 1423911732; + } + } + IFC42.IfcPointOnSurface = IfcPointOnSurface; + class IfcPolyLoop extends IfcLoop { + constructor(Polygon) { + super(); + this.Polygon = Polygon; + this.type = 2924175390; + } + } + IFC42.IfcPolyLoop = IfcPolyLoop; + class IfcPolygonalBoundedHalfSpace extends IfcHalfSpaceSolid { + constructor(BaseSurface, AgreementFlag, Position, PolygonalBoundary) { + super(BaseSurface, AgreementFlag); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.Position = Position; + this.PolygonalBoundary = PolygonalBoundary; + this.type = 2775532180; + } + } + IFC42.IfcPolygonalBoundedHalfSpace = IfcPolygonalBoundedHalfSpace; + class IfcPreDefinedItem extends IfcPresentationItem { + constructor(Name) { + super(); + this.Name = Name; + this.type = 3727388367; + } + } + IFC42.IfcPreDefinedItem = IfcPreDefinedItem; + class IfcPreDefinedProperties extends IfcPropertyAbstraction { + constructor() { + super(); + this.type = 3778827333; + } + } + IFC42.IfcPreDefinedProperties = IfcPreDefinedProperties; + class IfcPreDefinedTextFont extends IfcPreDefinedItem { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 1775413392; + } + } + IFC42.IfcPreDefinedTextFont = IfcPreDefinedTextFont; + class IfcProductDefinitionShape extends IfcProductRepresentation { + constructor(Name, Description, Representations) { + super(Name, Description, Representations); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.type = 673634403; + } + } + IFC42.IfcProductDefinitionShape = IfcProductDefinitionShape; + class IfcProfileProperties extends IfcExtendedProperties { + constructor(Name, Description, Properties2, ProfileDefinition) { + super(Name, Description, Properties2); + this.Name = Name; + this.Description = Description; + this.Properties = Properties2; + this.ProfileDefinition = ProfileDefinition; + this.type = 2802850158; + } + } + IFC42.IfcProfileProperties = IfcProfileProperties; + class IfcProperty extends IfcPropertyAbstraction { + constructor(Name, Description) { + super(); + this.Name = Name; + this.Description = Description; + this.type = 2598011224; + } + } + IFC42.IfcProperty = IfcProperty; + class IfcPropertyDefinition extends IfcRoot { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 1680319473; + } + } + IFC42.IfcPropertyDefinition = IfcPropertyDefinition; + class IfcPropertyDependencyRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, DependingProperty, DependantProperty, Expression) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.DependingProperty = DependingProperty; + this.DependantProperty = DependantProperty; + this.Expression = Expression; + this.type = 148025276; + } + } + IFC42.IfcPropertyDependencyRelationship = IfcPropertyDependencyRelationship; + class IfcPropertySetDefinition extends IfcPropertyDefinition { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 3357820518; + } + } + IFC42.IfcPropertySetDefinition = IfcPropertySetDefinition; + class IfcPropertyTemplateDefinition extends IfcPropertyDefinition { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 1482703590; + } + } + IFC42.IfcPropertyTemplateDefinition = IfcPropertyTemplateDefinition; + class IfcQuantitySet extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 2090586900; + } + } + IFC42.IfcQuantitySet = IfcQuantitySet; + class IfcRectangleProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, XDim, YDim) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.type = 3615266464; + } + } + IFC42.IfcRectangleProfileDef = IfcRectangleProfileDef; + class IfcRegularTimeSeries extends IfcTimeSeries { + constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, TimeStep, Values) { + super(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.TimeStep = TimeStep; + this.Values = Values; + this.type = 3413951693; + } + } + IFC42.IfcRegularTimeSeries = IfcRegularTimeSeries; + class IfcReinforcementBarProperties extends IfcPreDefinedProperties { + constructor(TotalCrossSectionArea, SteelGrade, BarSurface, EffectiveDepth, NominalBarDiameter, BarCount) { + super(); + this.TotalCrossSectionArea = TotalCrossSectionArea; + this.SteelGrade = SteelGrade; + this.BarSurface = BarSurface; + this.EffectiveDepth = EffectiveDepth; + this.NominalBarDiameter = NominalBarDiameter; + this.BarCount = BarCount; + this.type = 1580146022; + } + } + IFC42.IfcReinforcementBarProperties = IfcReinforcementBarProperties; + class IfcRelationship extends IfcRoot { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 478536968; + } + } + IFC42.IfcRelationship = IfcRelationship; + class IfcResourceApprovalRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, RelatedResourceObjects, RelatingApproval) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatedResourceObjects = RelatedResourceObjects; + this.RelatingApproval = RelatingApproval; + this.type = 2943643501; + } + } + IFC42.IfcResourceApprovalRelationship = IfcResourceApprovalRelationship; + class IfcResourceConstraintRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, RelatingConstraint, RelatedResourceObjects) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingConstraint = RelatingConstraint; + this.RelatedResourceObjects = RelatedResourceObjects; + this.type = 1608871552; + } + } + IFC42.IfcResourceConstraintRelationship = IfcResourceConstraintRelationship; + class IfcResourceTime extends IfcSchedulingTime { + constructor(Name, DataOrigin, UserDefinedDataOrigin, ScheduleWork, ScheduleUsage, ScheduleStart, ScheduleFinish, ScheduleContour, LevelingDelay, IsOverAllocated, StatusTime, ActualWork, ActualUsage, ActualStart, ActualFinish, RemainingWork, RemainingUsage, Completion) { + super(Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.ScheduleWork = ScheduleWork; + this.ScheduleUsage = ScheduleUsage; + this.ScheduleStart = ScheduleStart; + this.ScheduleFinish = ScheduleFinish; + this.ScheduleContour = ScheduleContour; + this.LevelingDelay = LevelingDelay; + this.IsOverAllocated = IsOverAllocated; + this.StatusTime = StatusTime; + this.ActualWork = ActualWork; + this.ActualUsage = ActualUsage; + this.ActualStart = ActualStart; + this.ActualFinish = ActualFinish; + this.RemainingWork = RemainingWork; + this.RemainingUsage = RemainingUsage; + this.Completion = Completion; + this.type = 1042787934; + } + } + IFC42.IfcResourceTime = IfcResourceTime; + class IfcRoundedRectangleProfileDef extends IfcRectangleProfileDef { + constructor(ProfileType, ProfileName, Position, XDim, YDim, RoundingRadius) { + super(ProfileType, ProfileName, Position, XDim, YDim); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.RoundingRadius = RoundingRadius; + this.type = 2778083089; + } + } + IFC42.IfcRoundedRectangleProfileDef = IfcRoundedRectangleProfileDef; + class IfcSectionProperties extends IfcPreDefinedProperties { + constructor(SectionType, StartProfile, EndProfile) { + super(); + this.SectionType = SectionType; + this.StartProfile = StartProfile; + this.EndProfile = EndProfile; + this.type = 2042790032; + } + } + IFC42.IfcSectionProperties = IfcSectionProperties; + class IfcSectionReinforcementProperties extends IfcPreDefinedProperties { + constructor(LongitudinalStartPosition, LongitudinalEndPosition, TransversePosition, ReinforcementRole, SectionDefinition, CrossSectionReinforcementDefinitions) { + super(); + this.LongitudinalStartPosition = LongitudinalStartPosition; + this.LongitudinalEndPosition = LongitudinalEndPosition; + this.TransversePosition = TransversePosition; + this.ReinforcementRole = ReinforcementRole; + this.SectionDefinition = SectionDefinition; + this.CrossSectionReinforcementDefinitions = CrossSectionReinforcementDefinitions; + this.type = 4165799628; + } + } + IFC42.IfcSectionReinforcementProperties = IfcSectionReinforcementProperties; + class IfcSectionedSpine extends IfcGeometricRepresentationItem { + constructor(SpineCurve, CrossSections, CrossSectionPositions) { + super(); + this.SpineCurve = SpineCurve; + this.CrossSections = CrossSections; + this.CrossSectionPositions = CrossSectionPositions; + this.type = 1509187699; + } + } + IFC42.IfcSectionedSpine = IfcSectionedSpine; + class IfcShellBasedSurfaceModel extends IfcGeometricRepresentationItem { + constructor(SbsmBoundary) { + super(); + this.SbsmBoundary = SbsmBoundary; + this.type = 4124623270; + } + } + IFC42.IfcShellBasedSurfaceModel = IfcShellBasedSurfaceModel; + class IfcSimpleProperty extends IfcProperty { + constructor(Name, Description) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.type = 3692461612; + } + } + IFC42.IfcSimpleProperty = IfcSimpleProperty; + class IfcSlippageConnectionCondition extends IfcStructuralConnectionCondition { + constructor(Name, SlippageX, SlippageY, SlippageZ) { + super(Name); + this.Name = Name; + this.SlippageX = SlippageX; + this.SlippageY = SlippageY; + this.SlippageZ = SlippageZ; + this.type = 2609359061; + } + } + IFC42.IfcSlippageConnectionCondition = IfcSlippageConnectionCondition; + class IfcSolidModel extends IfcGeometricRepresentationItem { + constructor() { + super(); + this.type = 723233188; + } + } + IFC42.IfcSolidModel = IfcSolidModel; + class IfcStructuralLoadLinearForce extends IfcStructuralLoadStatic { + constructor(Name, LinearForceX, LinearForceY, LinearForceZ, LinearMomentX, LinearMomentY, LinearMomentZ) { + super(Name); + this.Name = Name; + this.LinearForceX = LinearForceX; + this.LinearForceY = LinearForceY; + this.LinearForceZ = LinearForceZ; + this.LinearMomentX = LinearMomentX; + this.LinearMomentY = LinearMomentY; + this.LinearMomentZ = LinearMomentZ; + this.type = 1595516126; + } + } + IFC42.IfcStructuralLoadLinearForce = IfcStructuralLoadLinearForce; + class IfcStructuralLoadPlanarForce extends IfcStructuralLoadStatic { + constructor(Name, PlanarForceX, PlanarForceY, PlanarForceZ) { + super(Name); + this.Name = Name; + this.PlanarForceX = PlanarForceX; + this.PlanarForceY = PlanarForceY; + this.PlanarForceZ = PlanarForceZ; + this.type = 2668620305; + } + } + IFC42.IfcStructuralLoadPlanarForce = IfcStructuralLoadPlanarForce; + class IfcStructuralLoadSingleDisplacement extends IfcStructuralLoadStatic { + constructor(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ) { + super(Name); + this.Name = Name; + this.DisplacementX = DisplacementX; + this.DisplacementY = DisplacementY; + this.DisplacementZ = DisplacementZ; + this.RotationalDisplacementRX = RotationalDisplacementRX; + this.RotationalDisplacementRY = RotationalDisplacementRY; + this.RotationalDisplacementRZ = RotationalDisplacementRZ; + this.type = 2473145415; + } + } + IFC42.IfcStructuralLoadSingleDisplacement = IfcStructuralLoadSingleDisplacement; + class IfcStructuralLoadSingleDisplacementDistortion extends IfcStructuralLoadSingleDisplacement { + constructor(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ, Distortion) { + super(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ); + this.Name = Name; + this.DisplacementX = DisplacementX; + this.DisplacementY = DisplacementY; + this.DisplacementZ = DisplacementZ; + this.RotationalDisplacementRX = RotationalDisplacementRX; + this.RotationalDisplacementRY = RotationalDisplacementRY; + this.RotationalDisplacementRZ = RotationalDisplacementRZ; + this.Distortion = Distortion; + this.type = 1973038258; + } + } + IFC42.IfcStructuralLoadSingleDisplacementDistortion = IfcStructuralLoadSingleDisplacementDistortion; + class IfcStructuralLoadSingleForce extends IfcStructuralLoadStatic { + constructor(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ) { + super(Name); + this.Name = Name; + this.ForceX = ForceX; + this.ForceY = ForceY; + this.ForceZ = ForceZ; + this.MomentX = MomentX; + this.MomentY = MomentY; + this.MomentZ = MomentZ; + this.type = 1597423693; + } + } + IFC42.IfcStructuralLoadSingleForce = IfcStructuralLoadSingleForce; + class IfcStructuralLoadSingleForceWarping extends IfcStructuralLoadSingleForce { + constructor(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ, WarpingMoment) { + super(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ); + this.Name = Name; + this.ForceX = ForceX; + this.ForceY = ForceY; + this.ForceZ = ForceZ; + this.MomentX = MomentX; + this.MomentY = MomentY; + this.MomentZ = MomentZ; + this.WarpingMoment = WarpingMoment; + this.type = 1190533807; + } + } + IFC42.IfcStructuralLoadSingleForceWarping = IfcStructuralLoadSingleForceWarping; + class IfcSubedge extends IfcEdge { + constructor(EdgeStart, EdgeEnd, ParentEdge) { + super(EdgeStart, EdgeEnd); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.ParentEdge = ParentEdge; + this.type = 2233826070; + } + } + IFC42.IfcSubedge = IfcSubedge; + class IfcSurface extends IfcGeometricRepresentationItem { + constructor() { + super(); + this.type = 2513912981; + } + } + IFC42.IfcSurface = IfcSurface; + class IfcSurfaceStyleRendering extends IfcSurfaceStyleShading { + constructor(SurfaceColour, Transparency, DiffuseColour, TransmissionColour, DiffuseTransmissionColour, ReflectionColour, SpecularColour, SpecularHighlight, ReflectanceMethod) { + super(SurfaceColour, Transparency); + this.SurfaceColour = SurfaceColour; + this.Transparency = Transparency; + this.DiffuseColour = DiffuseColour; + this.TransmissionColour = TransmissionColour; + this.DiffuseTransmissionColour = DiffuseTransmissionColour; + this.ReflectionColour = ReflectionColour; + this.SpecularColour = SpecularColour; + this.SpecularHighlight = SpecularHighlight; + this.ReflectanceMethod = ReflectanceMethod; + this.type = 1878645084; + } + } + IFC42.IfcSurfaceStyleRendering = IfcSurfaceStyleRendering; + class IfcSweptAreaSolid extends IfcSolidModel { + constructor(SweptArea, Position) { + super(); + this.SweptArea = SweptArea; + this.Position = Position; + this.type = 2247615214; + } + } + IFC42.IfcSweptAreaSolid = IfcSweptAreaSolid; + class IfcSweptDiskSolid extends IfcSolidModel { + constructor(Directrix, Radius, InnerRadius, StartParam, EndParam) { + super(); + this.Directrix = Directrix; + this.Radius = Radius; + this.InnerRadius = InnerRadius; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.type = 1260650574; + } + } + IFC42.IfcSweptDiskSolid = IfcSweptDiskSolid; + class IfcSweptDiskSolidPolygonal extends IfcSweptDiskSolid { + constructor(Directrix, Radius, InnerRadius, StartParam, EndParam, FilletRadius) { + super(Directrix, Radius, InnerRadius, StartParam, EndParam); + this.Directrix = Directrix; + this.Radius = Radius; + this.InnerRadius = InnerRadius; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.FilletRadius = FilletRadius; + this.type = 1096409881; + } + } + IFC42.IfcSweptDiskSolidPolygonal = IfcSweptDiskSolidPolygonal; + class IfcSweptSurface extends IfcSurface { + constructor(SweptCurve, Position) { + super(); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.type = 230924584; + } + } + IFC42.IfcSweptSurface = IfcSweptSurface; + class IfcTShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, WebEdgeRadius, WebSlope, FlangeSlope) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.FlangeEdgeRadius = FlangeEdgeRadius; + this.WebEdgeRadius = WebEdgeRadius; + this.WebSlope = WebSlope; + this.FlangeSlope = FlangeSlope; + this.type = 3071757647; + } + } + IFC42.IfcTShapeProfileDef = IfcTShapeProfileDef; + class IfcTessellatedItem extends IfcGeometricRepresentationItem { + constructor() { + super(); + this.type = 901063453; + } + } + IFC42.IfcTessellatedItem = IfcTessellatedItem; + class IfcTextLiteral extends IfcGeometricRepresentationItem { + constructor(Literal, Placement, Path) { + super(); + this.Literal = Literal; + this.Placement = Placement; + this.Path = Path; + this.type = 4282788508; + } + } + IFC42.IfcTextLiteral = IfcTextLiteral; + class IfcTextLiteralWithExtent extends IfcTextLiteral { + constructor(Literal, Placement, Path, Extent, BoxAlignment) { + super(Literal, Placement, Path); + this.Literal = Literal; + this.Placement = Placement; + this.Path = Path; + this.Extent = Extent; + this.BoxAlignment = BoxAlignment; + this.type = 3124975700; + } + } + IFC42.IfcTextLiteralWithExtent = IfcTextLiteralWithExtent; + class IfcTextStyleFontModel extends IfcPreDefinedTextFont { + constructor(Name, FontFamily, FontStyle, FontVariant, FontWeight, FontSize) { + super(Name); + this.Name = Name; + this.FontFamily = FontFamily; + this.FontStyle = FontStyle; + this.FontVariant = FontVariant; + this.FontWeight = FontWeight; + this.FontSize = FontSize; + this.type = 1983826977; + } + } + IFC42.IfcTextStyleFontModel = IfcTextStyleFontModel; + class IfcTrapeziumProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, BottomXDim, TopXDim, YDim, TopXOffset) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.BottomXDim = BottomXDim; + this.TopXDim = TopXDim; + this.YDim = YDim; + this.TopXOffset = TopXOffset; + this.type = 2715220739; + } + } + IFC42.IfcTrapeziumProfileDef = IfcTrapeziumProfileDef; + class IfcTypeObject extends IfcObjectDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.type = 1628702193; + } + } + IFC42.IfcTypeObject = IfcTypeObject; + class IfcTypeProcess extends IfcTypeObject { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ProcessType = ProcessType; + this.type = 3736923433; + } + } + IFC42.IfcTypeProcess = IfcTypeProcess; + class IfcTypeProduct extends IfcTypeObject { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.type = 2347495698; + } + } + IFC42.IfcTypeProduct = IfcTypeProduct; + class IfcTypeResource extends IfcTypeObject { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.type = 3698973494; + } + } + IFC42.IfcTypeResource = IfcTypeResource; + class IfcUShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius, FlangeSlope) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.FlangeSlope = FlangeSlope; + this.type = 427810014; + } + } + IFC42.IfcUShapeProfileDef = IfcUShapeProfileDef; + class IfcVector extends IfcGeometricRepresentationItem { + constructor(Orientation, Magnitude) { + super(); + this.Orientation = Orientation; + this.Magnitude = Magnitude; + this.type = 1417489154; + } + } + IFC42.IfcVector = IfcVector; + class IfcVertexLoop extends IfcLoop { + constructor(LoopVertex) { + super(); + this.LoopVertex = LoopVertex; + this.type = 2759199220; + } + } + IFC42.IfcVertexLoop = IfcVertexLoop; + class IfcWindowStyle extends IfcTypeProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ConstructionType, OperationType, ParameterTakesPrecedence, Sizeable) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ConstructionType = ConstructionType; + this.OperationType = OperationType; + this.ParameterTakesPrecedence = ParameterTakesPrecedence; + this.Sizeable = Sizeable; + this.type = 1299126871; + } + } + IFC42.IfcWindowStyle = IfcWindowStyle; + class IfcZShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.type = 2543172580; + } + } + IFC42.IfcZShapeProfileDef = IfcZShapeProfileDef; + class IfcAdvancedFace extends IfcFaceSurface { + constructor(Bounds, FaceSurface, SameSense) { + super(Bounds, FaceSurface, SameSense); + this.Bounds = Bounds; + this.FaceSurface = FaceSurface; + this.SameSense = SameSense; + this.type = 3406155212; + } + } + IFC42.IfcAdvancedFace = IfcAdvancedFace; + class IfcAnnotationFillArea extends IfcGeometricRepresentationItem { + constructor(OuterBoundary, InnerBoundaries) { + super(); + this.OuterBoundary = OuterBoundary; + this.InnerBoundaries = InnerBoundaries; + this.type = 669184980; + } + } + IFC42.IfcAnnotationFillArea = IfcAnnotationFillArea; + class IfcAsymmetricIShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, BottomFlangeWidth, OverallDepth, WebThickness, BottomFlangeThickness, BottomFlangeFilletRadius, TopFlangeWidth, TopFlangeThickness, TopFlangeFilletRadius, BottomFlangeEdgeRadius, BottomFlangeSlope, TopFlangeEdgeRadius, TopFlangeSlope) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.BottomFlangeWidth = BottomFlangeWidth; + this.OverallDepth = OverallDepth; + this.WebThickness = WebThickness; + this.BottomFlangeThickness = BottomFlangeThickness; + this.BottomFlangeFilletRadius = BottomFlangeFilletRadius; + this.TopFlangeWidth = TopFlangeWidth; + this.TopFlangeThickness = TopFlangeThickness; + this.TopFlangeFilletRadius = TopFlangeFilletRadius; + this.BottomFlangeEdgeRadius = BottomFlangeEdgeRadius; + this.BottomFlangeSlope = BottomFlangeSlope; + this.TopFlangeEdgeRadius = TopFlangeEdgeRadius; + this.TopFlangeSlope = TopFlangeSlope; + this.type = 3207858831; + } + } + IFC42.IfcAsymmetricIShapeProfileDef = IfcAsymmetricIShapeProfileDef; + class IfcAxis1Placement extends IfcPlacement { + constructor(Location, Axis) { + super(Location); + this.Location = Location; + this.Axis = Axis; + this.type = 4261334040; + } + } + IFC42.IfcAxis1Placement = IfcAxis1Placement; + class IfcAxis2Placement2D extends IfcPlacement { + constructor(Location, RefDirection) { + super(Location); + this.Location = Location; + this.RefDirection = RefDirection; + this.type = 3125803723; + } + } + IFC42.IfcAxis2Placement2D = IfcAxis2Placement2D; + class IfcAxis2Placement3D extends IfcPlacement { + constructor(Location, Axis, RefDirection) { + super(Location); + this.Location = Location; + this.Axis = Axis; + this.RefDirection = RefDirection; + this.type = 2740243338; + } + } + IFC42.IfcAxis2Placement3D = IfcAxis2Placement3D; + class IfcBooleanResult extends IfcGeometricRepresentationItem { + constructor(Operator, FirstOperand, SecondOperand) { + super(); + this.Operator = Operator; + this.FirstOperand = FirstOperand; + this.SecondOperand = SecondOperand; + this.type = 2736907675; + } + } + IFC42.IfcBooleanResult = IfcBooleanResult; + class IfcBoundedSurface extends IfcSurface { + constructor() { + super(); + this.type = 4182860854; + } + } + IFC42.IfcBoundedSurface = IfcBoundedSurface; + class IfcBoundingBox extends IfcGeometricRepresentationItem { + constructor(Corner, XDim, YDim, ZDim) { + super(); + this.Corner = Corner; + this.XDim = XDim; + this.YDim = YDim; + this.ZDim = ZDim; + this.type = 2581212453; + } + } + IFC42.IfcBoundingBox = IfcBoundingBox; + class IfcBoxedHalfSpace extends IfcHalfSpaceSolid { + constructor(BaseSurface, AgreementFlag, Enclosure) { + super(BaseSurface, AgreementFlag); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.Enclosure = Enclosure; + this.type = 2713105998; + } + } + IFC42.IfcBoxedHalfSpace = IfcBoxedHalfSpace; + class IfcCShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Depth, Width, WallThickness, Girth, InternalFilletRadius) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.Width = Width; + this.WallThickness = WallThickness; + this.Girth = Girth; + this.InternalFilletRadius = InternalFilletRadius; + this.type = 2898889636; + } + } + IFC42.IfcCShapeProfileDef = IfcCShapeProfileDef; + class IfcCartesianPoint extends IfcPoint { + constructor(Coordinates) { + super(); + this.Coordinates = Coordinates; + this.type = 1123145078; + } + } + IFC42.IfcCartesianPoint = IfcCartesianPoint; + class IfcCartesianPointList extends IfcGeometricRepresentationItem { + constructor() { + super(); + this.type = 574549367; + } + } + IFC42.IfcCartesianPointList = IfcCartesianPointList; + class IfcCartesianPointList2D extends IfcCartesianPointList { + constructor(CoordList) { + super(); + this.CoordList = CoordList; + this.type = 1675464909; + } + } + IFC42.IfcCartesianPointList2D = IfcCartesianPointList2D; + class IfcCartesianPointList3D extends IfcCartesianPointList { + constructor(CoordList) { + super(); + this.CoordList = CoordList; + this.type = 2059837836; + } + } + IFC42.IfcCartesianPointList3D = IfcCartesianPointList3D; + class IfcCartesianTransformationOperator extends IfcGeometricRepresentationItem { + constructor(Axis1, Axis2, LocalOrigin, Scale) { + super(); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.type = 59481748; + } + } + IFC42.IfcCartesianTransformationOperator = IfcCartesianTransformationOperator; + class IfcCartesianTransformationOperator2D extends IfcCartesianTransformationOperator { + constructor(Axis1, Axis2, LocalOrigin, Scale) { + super(Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.type = 3749851601; + } + } + IFC42.IfcCartesianTransformationOperator2D = IfcCartesianTransformationOperator2D; + class IfcCartesianTransformationOperator2DnonUniform extends IfcCartesianTransformationOperator2D { + constructor(Axis1, Axis2, LocalOrigin, Scale, Scale2) { + super(Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Scale2 = Scale2; + this.type = 3486308946; + } + } + IFC42.IfcCartesianTransformationOperator2DnonUniform = IfcCartesianTransformationOperator2DnonUniform; + class IfcCartesianTransformationOperator3D extends IfcCartesianTransformationOperator { + constructor(Axis1, Axis2, LocalOrigin, Scale, Axis3) { + super(Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Axis3 = Axis3; + this.type = 3331915920; + } + } + IFC42.IfcCartesianTransformationOperator3D = IfcCartesianTransformationOperator3D; + class IfcCartesianTransformationOperator3DnonUniform extends IfcCartesianTransformationOperator3D { + constructor(Axis1, Axis2, LocalOrigin, Scale, Axis3, Scale2, Scale3) { + super(Axis1, Axis2, LocalOrigin, Scale, Axis3); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Axis3 = Axis3; + this.Scale2 = Scale2; + this.Scale3 = Scale3; + this.type = 1416205885; + } + } + IFC42.IfcCartesianTransformationOperator3DnonUniform = IfcCartesianTransformationOperator3DnonUniform; + class IfcCircleProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Radius) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Radius = Radius; + this.type = 1383045692; + } + } + IFC42.IfcCircleProfileDef = IfcCircleProfileDef; + class IfcClosedShell extends IfcConnectedFaceSet { + constructor(CfsFaces) { + super(CfsFaces); + this.CfsFaces = CfsFaces; + this.type = 2205249479; + } + } + IFC42.IfcClosedShell = IfcClosedShell; + class IfcColourRgb extends IfcColourSpecification { + constructor(Name, Red, Green, Blue) { + super(Name); + this.Name = Name; + this.Red = Red; + this.Green = Green; + this.Blue = Blue; + this.type = 776857604; + } + } + IFC42.IfcColourRgb = IfcColourRgb; + class IfcComplexProperty extends IfcProperty { + constructor(Name, Description, UsageName, HasProperties) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.UsageName = UsageName; + this.HasProperties = HasProperties; + this.type = 2542286263; + } + } + IFC42.IfcComplexProperty = IfcComplexProperty; + class IfcCompositeCurveSegment extends IfcGeometricRepresentationItem { + constructor(Transition, SameSense, ParentCurve) { + super(); + this.Transition = Transition; + this.SameSense = SameSense; + this.ParentCurve = ParentCurve; + this.type = 2485617015; + } + } + IFC42.IfcCompositeCurveSegment = IfcCompositeCurveSegment; + class IfcConstructionResourceType extends IfcTypeResource { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.type = 2574617495; + } + } + IFC42.IfcConstructionResourceType = IfcConstructionResourceType; + class IfcContext extends IfcObjectDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.Phase = Phase; + this.RepresentationContexts = RepresentationContexts; + this.UnitsInContext = UnitsInContext; + this.type = 3419103109; + } + } + IFC42.IfcContext = IfcContext; + class IfcCrewResourceType extends IfcConstructionResourceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 1815067380; + } + } + IFC42.IfcCrewResourceType = IfcCrewResourceType; + class IfcCsgPrimitive3D extends IfcGeometricRepresentationItem { + constructor(Position) { + super(); + this.Position = Position; + this.type = 2506170314; + } + } + IFC42.IfcCsgPrimitive3D = IfcCsgPrimitive3D; + class IfcCsgSolid extends IfcSolidModel { + constructor(TreeRootExpression) { + super(); + this.TreeRootExpression = TreeRootExpression; + this.type = 2147822146; + } + } + IFC42.IfcCsgSolid = IfcCsgSolid; + class IfcCurve extends IfcGeometricRepresentationItem { + constructor() { + super(); + this.type = 2601014836; + } + } + IFC42.IfcCurve = IfcCurve; + class IfcCurveBoundedPlane extends IfcBoundedSurface { + constructor(BasisSurface, OuterBoundary, InnerBoundaries) { + super(); + this.BasisSurface = BasisSurface; + this.OuterBoundary = OuterBoundary; + this.InnerBoundaries = InnerBoundaries; + this.type = 2827736869; + } + } + IFC42.IfcCurveBoundedPlane = IfcCurveBoundedPlane; + class IfcCurveBoundedSurface extends IfcBoundedSurface { + constructor(BasisSurface, Boundaries, ImplicitOuter) { + super(); + this.BasisSurface = BasisSurface; + this.Boundaries = Boundaries; + this.ImplicitOuter = ImplicitOuter; + this.type = 2629017746; + } + } + IFC42.IfcCurveBoundedSurface = IfcCurveBoundedSurface; + class IfcDirection extends IfcGeometricRepresentationItem { + constructor(DirectionRatios) { + super(); + this.DirectionRatios = DirectionRatios; + this.type = 32440307; + } + } + IFC42.IfcDirection = IfcDirection; + class IfcDoorStyle extends IfcTypeProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, OperationType, ConstructionType, ParameterTakesPrecedence, Sizeable) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.OperationType = OperationType; + this.ConstructionType = ConstructionType; + this.ParameterTakesPrecedence = ParameterTakesPrecedence; + this.Sizeable = Sizeable; + this.type = 526551008; + } + } + IFC42.IfcDoorStyle = IfcDoorStyle; + class IfcEdgeLoop extends IfcLoop { + constructor(EdgeList) { + super(); + this.EdgeList = EdgeList; + this.type = 1472233963; + } + } + IFC42.IfcEdgeLoop = IfcEdgeLoop; + class IfcElementQuantity extends IfcQuantitySet { + constructor(GlobalId, OwnerHistory, Name, Description, MethodOfMeasurement, Quantities) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.MethodOfMeasurement = MethodOfMeasurement; + this.Quantities = Quantities; + this.type = 1883228015; + } + } + IFC42.IfcElementQuantity = IfcElementQuantity; + class IfcElementType extends IfcTypeProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 339256511; + } + } + IFC42.IfcElementType = IfcElementType; + class IfcElementarySurface extends IfcSurface { + constructor(Position) { + super(); + this.Position = Position; + this.type = 2777663545; + } + } + IFC42.IfcElementarySurface = IfcElementarySurface; + class IfcEllipseProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, SemiAxis1, SemiAxis2) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.SemiAxis1 = SemiAxis1; + this.SemiAxis2 = SemiAxis2; + this.type = 2835456948; + } + } + IFC42.IfcEllipseProfileDef = IfcEllipseProfileDef; + class IfcEventType extends IfcTypeProcess { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType, EventTriggerType, UserDefinedEventTriggerType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ProcessType = ProcessType; + this.PredefinedType = PredefinedType; + this.EventTriggerType = EventTriggerType; + this.UserDefinedEventTriggerType = UserDefinedEventTriggerType; + this.type = 4024345920; + } + } + IFC42.IfcEventType = IfcEventType; + class IfcExtrudedAreaSolid extends IfcSweptAreaSolid { + constructor(SweptArea, Position, ExtrudedDirection, Depth) { + super(SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.ExtrudedDirection = ExtrudedDirection; + this.Depth = Depth; + this.type = 477187591; + } + } + IFC42.IfcExtrudedAreaSolid = IfcExtrudedAreaSolid; + class IfcExtrudedAreaSolidTapered extends IfcExtrudedAreaSolid { + constructor(SweptArea, Position, ExtrudedDirection, Depth, EndSweptArea) { + super(SweptArea, Position, ExtrudedDirection, Depth); + this.SweptArea = SweptArea; + this.Position = Position; + this.ExtrudedDirection = ExtrudedDirection; + this.Depth = Depth; + this.EndSweptArea = EndSweptArea; + this.type = 2804161546; + } + } + IFC42.IfcExtrudedAreaSolidTapered = IfcExtrudedAreaSolidTapered; + class IfcFaceBasedSurfaceModel extends IfcGeometricRepresentationItem { + constructor(FbsmFaces) { + super(); + this.FbsmFaces = FbsmFaces; + this.type = 2047409740; + } + } + IFC42.IfcFaceBasedSurfaceModel = IfcFaceBasedSurfaceModel; + class IfcFillAreaStyleHatching extends IfcGeometricRepresentationItem { + constructor(HatchLineAppearance, StartOfNextHatchLine, PointOfReferenceHatchLine, PatternStart, HatchLineAngle) { + super(); + this.HatchLineAppearance = HatchLineAppearance; + this.StartOfNextHatchLine = StartOfNextHatchLine; + this.PointOfReferenceHatchLine = PointOfReferenceHatchLine; + this.PatternStart = PatternStart; + this.HatchLineAngle = HatchLineAngle; + this.type = 374418227; + } + } + IFC42.IfcFillAreaStyleHatching = IfcFillAreaStyleHatching; + class IfcFillAreaStyleTiles extends IfcGeometricRepresentationItem { + constructor(TilingPattern, Tiles, TilingScale) { + super(); + this.TilingPattern = TilingPattern; + this.Tiles = Tiles; + this.TilingScale = TilingScale; + this.type = 315944413; + } + } + IFC42.IfcFillAreaStyleTiles = IfcFillAreaStyleTiles; + class IfcFixedReferenceSweptAreaSolid extends IfcSweptAreaSolid { + constructor(SweptArea, Position, Directrix, StartParam, EndParam, FixedReference) { + super(SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.Directrix = Directrix; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.FixedReference = FixedReference; + this.type = 2652556860; + } + } + IFC42.IfcFixedReferenceSweptAreaSolid = IfcFixedReferenceSweptAreaSolid; + class IfcFurnishingElementType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 4238390223; + } + } + IFC42.IfcFurnishingElementType = IfcFurnishingElementType; + class IfcFurnitureType extends IfcFurnishingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, AssemblyPlace, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.AssemblyPlace = AssemblyPlace; + this.PredefinedType = PredefinedType; + this.type = 1268542332; + } + } + IFC42.IfcFurnitureType = IfcFurnitureType; + class IfcGeographicElementType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4095422895; + } + } + IFC42.IfcGeographicElementType = IfcGeographicElementType; + class IfcGeometricCurveSet extends IfcGeometricSet { + constructor(Elements) { + super(Elements); + this.Elements = Elements; + this.type = 987898635; + } + } + IFC42.IfcGeometricCurveSet = IfcGeometricCurveSet; + class IfcIShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, FlangeSlope) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.OverallWidth = OverallWidth; + this.OverallDepth = OverallDepth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.FlangeEdgeRadius = FlangeEdgeRadius; + this.FlangeSlope = FlangeSlope; + this.type = 1484403080; + } + } + IFC42.IfcIShapeProfileDef = IfcIShapeProfileDef; + class IfcIndexedPolygonalFace extends IfcTessellatedItem { + constructor(CoordIndex) { + super(); + this.CoordIndex = CoordIndex; + this.type = 178912537; + } + } + IFC42.IfcIndexedPolygonalFace = IfcIndexedPolygonalFace; + class IfcIndexedPolygonalFaceWithVoids extends IfcIndexedPolygonalFace { + constructor(CoordIndex, InnerCoordIndices) { + super(CoordIndex); + this.CoordIndex = CoordIndex; + this.InnerCoordIndices = InnerCoordIndices; + this.type = 2294589976; + } + } + IFC42.IfcIndexedPolygonalFaceWithVoids = IfcIndexedPolygonalFaceWithVoids; + class IfcLShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Depth, Width, Thickness, FilletRadius, EdgeRadius, LegSlope) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.Width = Width; + this.Thickness = Thickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.LegSlope = LegSlope; + this.type = 572779678; + } + } + IFC42.IfcLShapeProfileDef = IfcLShapeProfileDef; + class IfcLaborResourceType extends IfcConstructionResourceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 428585644; + } + } + IFC42.IfcLaborResourceType = IfcLaborResourceType; + class IfcLine extends IfcCurve { + constructor(Pnt, Dir) { + super(); + this.Pnt = Pnt; + this.Dir = Dir; + this.type = 1281925730; + } + } + IFC42.IfcLine = IfcLine; + class IfcManifoldSolidBrep extends IfcSolidModel { + constructor(Outer) { + super(); + this.Outer = Outer; + this.type = 1425443689; + } + } + IFC42.IfcManifoldSolidBrep = IfcManifoldSolidBrep; + class IfcObject extends IfcObjectDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 3888040117; + } + } + IFC42.IfcObject = IfcObject; + class IfcOffsetCurve2D extends IfcCurve { + constructor(BasisCurve, Distance, SelfIntersect) { + super(); + this.BasisCurve = BasisCurve; + this.Distance = Distance; + this.SelfIntersect = SelfIntersect; + this.type = 3388369263; + } + } + IFC42.IfcOffsetCurve2D = IfcOffsetCurve2D; + class IfcOffsetCurve3D extends IfcCurve { + constructor(BasisCurve, Distance, SelfIntersect, RefDirection) { + super(); + this.BasisCurve = BasisCurve; + this.Distance = Distance; + this.SelfIntersect = SelfIntersect; + this.RefDirection = RefDirection; + this.type = 3505215534; + } + } + IFC42.IfcOffsetCurve3D = IfcOffsetCurve3D; + class IfcPcurve extends IfcCurve { + constructor(BasisSurface, ReferenceCurve) { + super(); + this.BasisSurface = BasisSurface; + this.ReferenceCurve = ReferenceCurve; + this.type = 1682466193; + } + } + IFC42.IfcPcurve = IfcPcurve; + class IfcPlanarBox extends IfcPlanarExtent { + constructor(SizeInX, SizeInY, Placement) { + super(SizeInX, SizeInY); + this.SizeInX = SizeInX; + this.SizeInY = SizeInY; + this.Placement = Placement; + this.type = 603570806; + } + } + IFC42.IfcPlanarBox = IfcPlanarBox; + class IfcPlane extends IfcElementarySurface { + constructor(Position) { + super(Position); + this.Position = Position; + this.type = 220341763; + } + } + IFC42.IfcPlane = IfcPlane; + class IfcPreDefinedColour extends IfcPreDefinedItem { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 759155922; + } + } + IFC42.IfcPreDefinedColour = IfcPreDefinedColour; + class IfcPreDefinedCurveFont extends IfcPreDefinedItem { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 2559016684; + } + } + IFC42.IfcPreDefinedCurveFont = IfcPreDefinedCurveFont; + class IfcPreDefinedPropertySet extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 3967405729; + } + } + IFC42.IfcPreDefinedPropertySet = IfcPreDefinedPropertySet; + class IfcProcedureType extends IfcTypeProcess { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ProcessType = ProcessType; + this.PredefinedType = PredefinedType; + this.type = 569719735; + } + } + IFC42.IfcProcedureType = IfcProcedureType; + class IfcProcess extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.type = 2945172077; + } + } + IFC42.IfcProcess = IfcProcess; + class IfcProduct extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 4208778838; + } + } + IFC42.IfcProduct = IfcProduct; + class IfcProject extends IfcContext { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.Phase = Phase; + this.RepresentationContexts = RepresentationContexts; + this.UnitsInContext = UnitsInContext; + this.type = 103090709; + } + } + IFC42.IfcProject = IfcProject; + class IfcProjectLibrary extends IfcContext { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.Phase = Phase; + this.RepresentationContexts = RepresentationContexts; + this.UnitsInContext = UnitsInContext; + this.type = 653396225; + } + } + IFC42.IfcProjectLibrary = IfcProjectLibrary; + class IfcPropertyBoundedValue extends IfcSimpleProperty { + constructor(Name, Description, UpperBoundValue, LowerBoundValue, Unit, SetPointValue) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.UpperBoundValue = UpperBoundValue; + this.LowerBoundValue = LowerBoundValue; + this.Unit = Unit; + this.SetPointValue = SetPointValue; + this.type = 871118103; + } + } + IFC42.IfcPropertyBoundedValue = IfcPropertyBoundedValue; + class IfcPropertyEnumeratedValue extends IfcSimpleProperty { + constructor(Name, Description, EnumerationValues, EnumerationReference) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.EnumerationValues = EnumerationValues; + this.EnumerationReference = EnumerationReference; + this.type = 4166981789; + } + } + IFC42.IfcPropertyEnumeratedValue = IfcPropertyEnumeratedValue; + class IfcPropertyListValue extends IfcSimpleProperty { + constructor(Name, Description, ListValues, Unit) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.ListValues = ListValues; + this.Unit = Unit; + this.type = 2752243245; + } + } + IFC42.IfcPropertyListValue = IfcPropertyListValue; + class IfcPropertyReferenceValue extends IfcSimpleProperty { + constructor(Name, Description, UsageName, PropertyReference) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.UsageName = UsageName; + this.PropertyReference = PropertyReference; + this.type = 941946838; + } + } + IFC42.IfcPropertyReferenceValue = IfcPropertyReferenceValue; + class IfcPropertySet extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, HasProperties) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.HasProperties = HasProperties; + this.type = 1451395588; + } + } + IFC42.IfcPropertySet = IfcPropertySet; + class IfcPropertySetTemplate extends IfcPropertyTemplateDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, TemplateType, ApplicableEntity, HasPropertyTemplates) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.TemplateType = TemplateType; + this.ApplicableEntity = ApplicableEntity; + this.HasPropertyTemplates = HasPropertyTemplates; + this.type = 492091185; + } + } + IFC42.IfcPropertySetTemplate = IfcPropertySetTemplate; + class IfcPropertySingleValue extends IfcSimpleProperty { + constructor(Name, Description, NominalValue, Unit) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.NominalValue = NominalValue; + this.Unit = Unit; + this.type = 3650150729; + } + } + IFC42.IfcPropertySingleValue = IfcPropertySingleValue; + class IfcPropertyTableValue extends IfcSimpleProperty { + constructor(Name, Description, DefiningValues, DefinedValues, Expression, DefiningUnit, DefinedUnit, CurveInterpolation) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.DefiningValues = DefiningValues; + this.DefinedValues = DefinedValues; + this.Expression = Expression; + this.DefiningUnit = DefiningUnit; + this.DefinedUnit = DefinedUnit; + this.CurveInterpolation = CurveInterpolation; + this.type = 110355661; + } + } + IFC42.IfcPropertyTableValue = IfcPropertyTableValue; + class IfcPropertyTemplate extends IfcPropertyTemplateDefinition { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 3521284610; + } + } + IFC42.IfcPropertyTemplate = IfcPropertyTemplate; + class IfcProxy extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, ProxyType, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.ProxyType = ProxyType; + this.Tag = Tag; + this.type = 3219374653; + } + } + IFC42.IfcProxy = IfcProxy; + class IfcRectangleHollowProfileDef extends IfcRectangleProfileDef { + constructor(ProfileType, ProfileName, Position, XDim, YDim, WallThickness, InnerFilletRadius, OuterFilletRadius) { + super(ProfileType, ProfileName, Position, XDim, YDim); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.WallThickness = WallThickness; + this.InnerFilletRadius = InnerFilletRadius; + this.OuterFilletRadius = OuterFilletRadius; + this.type = 2770003689; + } + } + IFC42.IfcRectangleHollowProfileDef = IfcRectangleHollowProfileDef; + class IfcRectangularPyramid extends IfcCsgPrimitive3D { + constructor(Position, XLength, YLength, Height) { + super(Position); + this.Position = Position; + this.XLength = XLength; + this.YLength = YLength; + this.Height = Height; + this.type = 2798486643; + } + } + IFC42.IfcRectangularPyramid = IfcRectangularPyramid; + class IfcRectangularTrimmedSurface extends IfcBoundedSurface { + constructor(BasisSurface, U1, V1, U2, V2, Usense, Vsense) { + super(); + this.BasisSurface = BasisSurface; + this.U1 = U1; + this.V1 = V1; + this.U2 = U2; + this.V2 = V2; + this.Usense = Usense; + this.Vsense = Vsense; + this.type = 3454111270; + } + } + IFC42.IfcRectangularTrimmedSurface = IfcRectangularTrimmedSurface; + class IfcReinforcementDefinitionProperties extends IfcPreDefinedPropertySet { + constructor(GlobalId, OwnerHistory, Name, Description, DefinitionType, ReinforcementSectionDefinitions) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.DefinitionType = DefinitionType; + this.ReinforcementSectionDefinitions = ReinforcementSectionDefinitions; + this.type = 3765753017; + } + } + IFC42.IfcReinforcementDefinitionProperties = IfcReinforcementDefinitionProperties; + class IfcRelAssigns extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.type = 3939117080; + } + } + IFC42.IfcRelAssigns = IfcRelAssigns; + class IfcRelAssignsToActor extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingActor = RelatingActor; + this.ActingRole = ActingRole; + this.type = 1683148259; + } + } + IFC42.IfcRelAssignsToActor = IfcRelAssignsToActor; + class IfcRelAssignsToControl extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingControl = RelatingControl; + this.type = 2495723537; + } + } + IFC42.IfcRelAssignsToControl = IfcRelAssignsToControl; + class IfcRelAssignsToGroup extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingGroup = RelatingGroup; + this.type = 1307041759; + } + } + IFC42.IfcRelAssignsToGroup = IfcRelAssignsToGroup; + class IfcRelAssignsToGroupByFactor extends IfcRelAssignsToGroup { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup, Factor) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingGroup = RelatingGroup; + this.Factor = Factor; + this.type = 1027710054; + } + } + IFC42.IfcRelAssignsToGroupByFactor = IfcRelAssignsToGroupByFactor; + class IfcRelAssignsToProcess extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProcess, QuantityInProcess) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingProcess = RelatingProcess; + this.QuantityInProcess = QuantityInProcess; + this.type = 4278684876; + } + } + IFC42.IfcRelAssignsToProcess = IfcRelAssignsToProcess; + class IfcRelAssignsToProduct extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProduct) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingProduct = RelatingProduct; + this.type = 2857406711; + } + } + IFC42.IfcRelAssignsToProduct = IfcRelAssignsToProduct; + class IfcRelAssignsToResource extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingResource) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingResource = RelatingResource; + this.type = 205026976; + } + } + IFC42.IfcRelAssignsToResource = IfcRelAssignsToResource; + class IfcRelAssociates extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.type = 1865459582; + } + } + IFC42.IfcRelAssociates = IfcRelAssociates; + class IfcRelAssociatesApproval extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingApproval) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingApproval = RelatingApproval; + this.type = 4095574036; + } + } + IFC42.IfcRelAssociatesApproval = IfcRelAssociatesApproval; + class IfcRelAssociatesClassification extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingClassification) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingClassification = RelatingClassification; + this.type = 919958153; + } + } + IFC42.IfcRelAssociatesClassification = IfcRelAssociatesClassification; + class IfcRelAssociatesConstraint extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, Intent, RelatingConstraint) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.Intent = Intent; + this.RelatingConstraint = RelatingConstraint; + this.type = 2728634034; + } + } + IFC42.IfcRelAssociatesConstraint = IfcRelAssociatesConstraint; + class IfcRelAssociatesDocument extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingDocument) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingDocument = RelatingDocument; + this.type = 982818633; + } + } + IFC42.IfcRelAssociatesDocument = IfcRelAssociatesDocument; + class IfcRelAssociatesLibrary extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingLibrary) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingLibrary = RelatingLibrary; + this.type = 3840914261; + } + } + IFC42.IfcRelAssociatesLibrary = IfcRelAssociatesLibrary; + class IfcRelAssociatesMaterial extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingMaterial) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingMaterial = RelatingMaterial; + this.type = 2655215786; + } + } + IFC42.IfcRelAssociatesMaterial = IfcRelAssociatesMaterial; + class IfcRelConnects extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 826625072; + } + } + IFC42.IfcRelConnects = IfcRelConnects; + class IfcRelConnectsElements extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.type = 1204542856; + } + } + IFC42.IfcRelConnectsElements = IfcRelConnectsElements; + class IfcRelConnectsPathElements extends IfcRelConnectsElements { + constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RelatingPriorities, RelatedPriorities, RelatedConnectionType, RelatingConnectionType) { + super(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.RelatingPriorities = RelatingPriorities; + this.RelatedPriorities = RelatedPriorities; + this.RelatedConnectionType = RelatedConnectionType; + this.RelatingConnectionType = RelatingConnectionType; + this.type = 3945020480; + } + } + IFC42.IfcRelConnectsPathElements = IfcRelConnectsPathElements; + class IfcRelConnectsPortToElement extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingPort = RelatingPort; + this.RelatedElement = RelatedElement; + this.type = 4201705270; + } + } + IFC42.IfcRelConnectsPortToElement = IfcRelConnectsPortToElement; + class IfcRelConnectsPorts extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedPort, RealizingElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingPort = RelatingPort; + this.RelatedPort = RelatedPort; + this.RealizingElement = RealizingElement; + this.type = 3190031847; + } + } + IFC42.IfcRelConnectsPorts = IfcRelConnectsPorts; + class IfcRelConnectsStructuralActivity extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedStructuralActivity) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedStructuralActivity = RelatedStructuralActivity; + this.type = 2127690289; + } + } + IFC42.IfcRelConnectsStructuralActivity = IfcRelConnectsStructuralActivity; + class IfcRelConnectsStructuralMember extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingStructuralMember = RelatingStructuralMember; + this.RelatedStructuralConnection = RelatedStructuralConnection; + this.AppliedCondition = AppliedCondition; + this.AdditionalConditions = AdditionalConditions; + this.SupportedLength = SupportedLength; + this.ConditionCoordinateSystem = ConditionCoordinateSystem; + this.type = 1638771189; + } + } + IFC42.IfcRelConnectsStructuralMember = IfcRelConnectsStructuralMember; + class IfcRelConnectsWithEccentricity extends IfcRelConnectsStructuralMember { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem, ConnectionConstraint) { + super(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingStructuralMember = RelatingStructuralMember; + this.RelatedStructuralConnection = RelatedStructuralConnection; + this.AppliedCondition = AppliedCondition; + this.AdditionalConditions = AdditionalConditions; + this.SupportedLength = SupportedLength; + this.ConditionCoordinateSystem = ConditionCoordinateSystem; + this.ConnectionConstraint = ConnectionConstraint; + this.type = 504942748; + } + } + IFC42.IfcRelConnectsWithEccentricity = IfcRelConnectsWithEccentricity; + class IfcRelConnectsWithRealizingElements extends IfcRelConnectsElements { + constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RealizingElements, ConnectionType) { + super(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.RealizingElements = RealizingElements; + this.ConnectionType = ConnectionType; + this.type = 3678494232; + } + } + IFC42.IfcRelConnectsWithRealizingElements = IfcRelConnectsWithRealizingElements; + class IfcRelContainedInSpatialStructure extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedElements = RelatedElements; + this.RelatingStructure = RelatingStructure; + this.type = 3242617779; + } + } + IFC42.IfcRelContainedInSpatialStructure = IfcRelContainedInSpatialStructure; + class IfcRelCoversBldgElements extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedCoverings) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingBuildingElement = RelatingBuildingElement; + this.RelatedCoverings = RelatedCoverings; + this.type = 886880790; + } + } + IFC42.IfcRelCoversBldgElements = IfcRelCoversBldgElements; + class IfcRelCoversSpaces extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedCoverings) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedCoverings = RelatedCoverings; + this.type = 2802773753; + } + } + IFC42.IfcRelCoversSpaces = IfcRelCoversSpaces; + class IfcRelDeclares extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingContext, RelatedDefinitions) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingContext = RelatingContext; + this.RelatedDefinitions = RelatedDefinitions; + this.type = 2565941209; + } + } + IFC42.IfcRelDeclares = IfcRelDeclares; + class IfcRelDecomposes extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 2551354335; + } + } + IFC42.IfcRelDecomposes = IfcRelDecomposes; + class IfcRelDefines extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 693640335; + } + } + IFC42.IfcRelDefines = IfcRelDefines; + class IfcRelDefinesByObject extends IfcRelDefines { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingObject) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingObject = RelatingObject; + this.type = 1462361463; + } + } + IFC42.IfcRelDefinesByObject = IfcRelDefinesByObject; + class IfcRelDefinesByProperties extends IfcRelDefines { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingPropertyDefinition = RelatingPropertyDefinition; + this.type = 4186316022; + } + } + IFC42.IfcRelDefinesByProperties = IfcRelDefinesByProperties; + class IfcRelDefinesByTemplate extends IfcRelDefines { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedPropertySets, RelatingTemplate) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedPropertySets = RelatedPropertySets; + this.RelatingTemplate = RelatingTemplate; + this.type = 307848117; + } + } + IFC42.IfcRelDefinesByTemplate = IfcRelDefinesByTemplate; + class IfcRelDefinesByType extends IfcRelDefines { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingType) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingType = RelatingType; + this.type = 781010003; + } + } + IFC42.IfcRelDefinesByType = IfcRelDefinesByType; + class IfcRelFillsElement extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingOpeningElement, RelatedBuildingElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingOpeningElement = RelatingOpeningElement; + this.RelatedBuildingElement = RelatedBuildingElement; + this.type = 3940055652; + } + } + IFC42.IfcRelFillsElement = IfcRelFillsElement; + class IfcRelFlowControlElements extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedControlElements, RelatingFlowElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedControlElements = RelatedControlElements; + this.RelatingFlowElement = RelatingFlowElement; + this.type = 279856033; + } + } + IFC42.IfcRelFlowControlElements = IfcRelFlowControlElements; + class IfcRelInterferesElements extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedElement, InterferenceGeometry, InterferenceType, ImpliedOrder) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.InterferenceGeometry = InterferenceGeometry; + this.InterferenceType = InterferenceType; + this.ImpliedOrder = ImpliedOrder; + this.type = 427948657; + } + } + IFC42.IfcRelInterferesElements = IfcRelInterferesElements; + class IfcRelNests extends IfcRelDecomposes { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingObject = RelatingObject; + this.RelatedObjects = RelatedObjects; + this.type = 3268803585; + } + } + IFC42.IfcRelNests = IfcRelNests; + class IfcRelProjectsElement extends IfcRelDecomposes { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedFeatureElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedFeatureElement = RelatedFeatureElement; + this.type = 750771296; + } + } + IFC42.IfcRelProjectsElement = IfcRelProjectsElement; + class IfcRelReferencedInSpatialStructure extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedElements = RelatedElements; + this.RelatingStructure = RelatingStructure; + this.type = 1245217292; + } + } + IFC42.IfcRelReferencedInSpatialStructure = IfcRelReferencedInSpatialStructure; + class IfcRelSequence extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingProcess, RelatedProcess, TimeLag, SequenceType, UserDefinedSequenceType) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingProcess = RelatingProcess; + this.RelatedProcess = RelatedProcess; + this.TimeLag = TimeLag; + this.SequenceType = SequenceType; + this.UserDefinedSequenceType = UserDefinedSequenceType; + this.type = 4122056220; + } + } + IFC42.IfcRelSequence = IfcRelSequence; + class IfcRelServicesBuildings extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingSystem, RelatedBuildings) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSystem = RelatingSystem; + this.RelatedBuildings = RelatedBuildings; + this.type = 366585022; + } + } + IFC42.IfcRelServicesBuildings = IfcRelServicesBuildings; + class IfcRelSpaceBoundary extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedBuildingElement = RelatedBuildingElement; + this.ConnectionGeometry = ConnectionGeometry; + this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary; + this.InternalOrExternalBoundary = InternalOrExternalBoundary; + this.type = 3451746338; + } + } + IFC42.IfcRelSpaceBoundary = IfcRelSpaceBoundary; + class IfcRelSpaceBoundary1stLevel extends IfcRelSpaceBoundary { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary) { + super(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedBuildingElement = RelatedBuildingElement; + this.ConnectionGeometry = ConnectionGeometry; + this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary; + this.InternalOrExternalBoundary = InternalOrExternalBoundary; + this.ParentBoundary = ParentBoundary; + this.type = 3523091289; + } + } + IFC42.IfcRelSpaceBoundary1stLevel = IfcRelSpaceBoundary1stLevel; + class IfcRelSpaceBoundary2ndLevel extends IfcRelSpaceBoundary1stLevel { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary, CorrespondingBoundary) { + super(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedBuildingElement = RelatedBuildingElement; + this.ConnectionGeometry = ConnectionGeometry; + this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary; + this.InternalOrExternalBoundary = InternalOrExternalBoundary; + this.ParentBoundary = ParentBoundary; + this.CorrespondingBoundary = CorrespondingBoundary; + this.type = 1521410863; + } + } + IFC42.IfcRelSpaceBoundary2ndLevel = IfcRelSpaceBoundary2ndLevel; + class IfcRelVoidsElement extends IfcRelDecomposes { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedOpeningElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingBuildingElement = RelatingBuildingElement; + this.RelatedOpeningElement = RelatedOpeningElement; + this.type = 1401173127; + } + } + IFC42.IfcRelVoidsElement = IfcRelVoidsElement; + class IfcReparametrisedCompositeCurveSegment extends IfcCompositeCurveSegment { + constructor(Transition, SameSense, ParentCurve, ParamLength) { + super(Transition, SameSense, ParentCurve); + this.Transition = Transition; + this.SameSense = SameSense; + this.ParentCurve = ParentCurve; + this.ParamLength = ParamLength; + this.type = 816062949; + } + } + IFC42.IfcReparametrisedCompositeCurveSegment = IfcReparametrisedCompositeCurveSegment; + class IfcResource extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.type = 2914609552; + } + } + IFC42.IfcResource = IfcResource; + class IfcRevolvedAreaSolid extends IfcSweptAreaSolid { + constructor(SweptArea, Position, Axis, Angle) { + super(SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.Axis = Axis; + this.Angle = Angle; + this.type = 1856042241; + } + } + IFC42.IfcRevolvedAreaSolid = IfcRevolvedAreaSolid; + class IfcRevolvedAreaSolidTapered extends IfcRevolvedAreaSolid { + constructor(SweptArea, Position, Axis, Angle, EndSweptArea) { + super(SweptArea, Position, Axis, Angle); + this.SweptArea = SweptArea; + this.Position = Position; + this.Axis = Axis; + this.Angle = Angle; + this.EndSweptArea = EndSweptArea; + this.type = 3243963512; + } + } + IFC42.IfcRevolvedAreaSolidTapered = IfcRevolvedAreaSolidTapered; + class IfcRightCircularCone extends IfcCsgPrimitive3D { + constructor(Position, Height, BottomRadius) { + super(Position); + this.Position = Position; + this.Height = Height; + this.BottomRadius = BottomRadius; + this.type = 4158566097; + } + } + IFC42.IfcRightCircularCone = IfcRightCircularCone; + class IfcRightCircularCylinder extends IfcCsgPrimitive3D { + constructor(Position, Height, Radius) { + super(Position); + this.Position = Position; + this.Height = Height; + this.Radius = Radius; + this.type = 3626867408; + } + } + IFC42.IfcRightCircularCylinder = IfcRightCircularCylinder; + class IfcSimplePropertyTemplate extends IfcPropertyTemplate { + constructor(GlobalId, OwnerHistory, Name, Description, TemplateType, PrimaryMeasureType, SecondaryMeasureType, Enumerators, PrimaryUnit, SecondaryUnit, Expression, AccessState) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.TemplateType = TemplateType; + this.PrimaryMeasureType = PrimaryMeasureType; + this.SecondaryMeasureType = SecondaryMeasureType; + this.Enumerators = Enumerators; + this.PrimaryUnit = PrimaryUnit; + this.SecondaryUnit = SecondaryUnit; + this.Expression = Expression; + this.AccessState = AccessState; + this.type = 3663146110; + } + } + IFC42.IfcSimplePropertyTemplate = IfcSimplePropertyTemplate; + class IfcSpatialElement extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.type = 1412071761; + } + } + IFC42.IfcSpatialElement = IfcSpatialElement; + class IfcSpatialElementType extends IfcTypeProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 710998568; + } + } + IFC42.IfcSpatialElementType = IfcSpatialElementType; + class IfcSpatialStructureElement extends IfcSpatialElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.type = 2706606064; + } + } + IFC42.IfcSpatialStructureElement = IfcSpatialStructureElement; + class IfcSpatialStructureElementType extends IfcSpatialElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3893378262; + } + } + IFC42.IfcSpatialStructureElementType = IfcSpatialStructureElementType; + class IfcSpatialZone extends IfcSpatialElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.PredefinedType = PredefinedType; + this.type = 463610769; + } + } + IFC42.IfcSpatialZone = IfcSpatialZone; + class IfcSpatialZoneType extends IfcSpatialElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, LongName) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.LongName = LongName; + this.type = 2481509218; + } + } + IFC42.IfcSpatialZoneType = IfcSpatialZoneType; + class IfcSphere extends IfcCsgPrimitive3D { + constructor(Position, Radius) { + super(Position); + this.Position = Position; + this.Radius = Radius; + this.type = 451544542; + } + } + IFC42.IfcSphere = IfcSphere; + class IfcSphericalSurface extends IfcElementarySurface { + constructor(Position, Radius) { + super(Position); + this.Position = Position; + this.Radius = Radius; + this.type = 4015995234; + } + } + IFC42.IfcSphericalSurface = IfcSphericalSurface; + class IfcStructuralActivity extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 3544373492; + } + } + IFC42.IfcStructuralActivity = IfcStructuralActivity; + class IfcStructuralItem extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 3136571912; + } + } + IFC42.IfcStructuralItem = IfcStructuralItem; + class IfcStructuralMember extends IfcStructuralItem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 530289379; + } + } + IFC42.IfcStructuralMember = IfcStructuralMember; + class IfcStructuralReaction extends IfcStructuralActivity { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 3689010777; + } + } + IFC42.IfcStructuralReaction = IfcStructuralReaction; + class IfcStructuralSurfaceMember extends IfcStructuralMember { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Thickness = Thickness; + this.type = 3979015343; + } + } + IFC42.IfcStructuralSurfaceMember = IfcStructuralSurfaceMember; + class IfcStructuralSurfaceMemberVarying extends IfcStructuralSurfaceMember { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Thickness = Thickness; + this.type = 2218152070; + } + } + IFC42.IfcStructuralSurfaceMemberVarying = IfcStructuralSurfaceMemberVarying; + class IfcStructuralSurfaceReaction extends IfcStructuralReaction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.PredefinedType = PredefinedType; + this.type = 603775116; + } + } + IFC42.IfcStructuralSurfaceReaction = IfcStructuralSurfaceReaction; + class IfcSubContractResourceType extends IfcConstructionResourceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 4095615324; + } + } + IFC42.IfcSubContractResourceType = IfcSubContractResourceType; + class IfcSurfaceCurve extends IfcCurve { + constructor(Curve3D, AssociatedGeometry, MasterRepresentation) { + super(); + this.Curve3D = Curve3D; + this.AssociatedGeometry = AssociatedGeometry; + this.MasterRepresentation = MasterRepresentation; + this.type = 699246055; + } + } + IFC42.IfcSurfaceCurve = IfcSurfaceCurve; + class IfcSurfaceCurveSweptAreaSolid extends IfcSweptAreaSolid { + constructor(SweptArea, Position, Directrix, StartParam, EndParam, ReferenceSurface) { + super(SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.Directrix = Directrix; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.ReferenceSurface = ReferenceSurface; + this.type = 2028607225; + } + } + IFC42.IfcSurfaceCurveSweptAreaSolid = IfcSurfaceCurveSweptAreaSolid; + class IfcSurfaceOfLinearExtrusion extends IfcSweptSurface { + constructor(SweptCurve, Position, ExtrudedDirection, Depth) { + super(SweptCurve, Position); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.ExtrudedDirection = ExtrudedDirection; + this.Depth = Depth; + this.type = 2809605785; + } + } + IFC42.IfcSurfaceOfLinearExtrusion = IfcSurfaceOfLinearExtrusion; + class IfcSurfaceOfRevolution extends IfcSweptSurface { + constructor(SweptCurve, Position, AxisPosition) { + super(SweptCurve, Position); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.AxisPosition = AxisPosition; + this.type = 4124788165; + } + } + IFC42.IfcSurfaceOfRevolution = IfcSurfaceOfRevolution; + class IfcSystemFurnitureElementType extends IfcFurnishingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1580310250; + } + } + IFC42.IfcSystemFurnitureElementType = IfcSystemFurnitureElementType; + class IfcTask extends IfcProcess { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Status, WorkMethod, IsMilestone, Priority, TaskTime, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Status = Status; + this.WorkMethod = WorkMethod; + this.IsMilestone = IsMilestone; + this.Priority = Priority; + this.TaskTime = TaskTime; + this.PredefinedType = PredefinedType; + this.type = 3473067441; + } + } + IFC42.IfcTask = IfcTask; + class IfcTaskType extends IfcTypeProcess { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType, WorkMethod) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ProcessType = ProcessType; + this.PredefinedType = PredefinedType; + this.WorkMethod = WorkMethod; + this.type = 3206491090; + } + } + IFC42.IfcTaskType = IfcTaskType; + class IfcTessellatedFaceSet extends IfcTessellatedItem { + constructor(Coordinates) { + super(); + this.Coordinates = Coordinates; + this.type = 2387106220; + } + } + IFC42.IfcTessellatedFaceSet = IfcTessellatedFaceSet; + class IfcToroidalSurface extends IfcElementarySurface { + constructor(Position, MajorRadius, MinorRadius) { + super(Position); + this.Position = Position; + this.MajorRadius = MajorRadius; + this.MinorRadius = MinorRadius; + this.type = 1935646853; + } + } + IFC42.IfcToroidalSurface = IfcToroidalSurface; + class IfcTransportElementType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2097647324; + } + } + IFC42.IfcTransportElementType = IfcTransportElementType; + class IfcTriangulatedFaceSet extends IfcTessellatedFaceSet { + constructor(Coordinates, Normals, Closed, CoordIndex, PnIndex) { + super(Coordinates); + this.Coordinates = Coordinates; + this.Normals = Normals; + this.Closed = Closed; + this.CoordIndex = CoordIndex; + this.PnIndex = PnIndex; + this.type = 2916149573; + } + } + IFC42.IfcTriangulatedFaceSet = IfcTriangulatedFaceSet; + class IfcWindowLiningProperties extends IfcPreDefinedPropertySet { + constructor(GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, TransomThickness, MullionThickness, FirstTransomOffset, SecondTransomOffset, FirstMullionOffset, SecondMullionOffset, ShapeAspectStyle, LiningOffset, LiningToPanelOffsetX, LiningToPanelOffsetY) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.LiningDepth = LiningDepth; + this.LiningThickness = LiningThickness; + this.TransomThickness = TransomThickness; + this.MullionThickness = MullionThickness; + this.FirstTransomOffset = FirstTransomOffset; + this.SecondTransomOffset = SecondTransomOffset; + this.FirstMullionOffset = FirstMullionOffset; + this.SecondMullionOffset = SecondMullionOffset; + this.ShapeAspectStyle = ShapeAspectStyle; + this.LiningOffset = LiningOffset; + this.LiningToPanelOffsetX = LiningToPanelOffsetX; + this.LiningToPanelOffsetY = LiningToPanelOffsetY; + this.type = 336235671; + } + } + IFC42.IfcWindowLiningProperties = IfcWindowLiningProperties; + class IfcWindowPanelProperties extends IfcPreDefinedPropertySet { + constructor(GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.OperationType = OperationType; + this.PanelPosition = PanelPosition; + this.FrameDepth = FrameDepth; + this.FrameThickness = FrameThickness; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 512836454; + } + } + IFC42.IfcWindowPanelProperties = IfcWindowPanelProperties; + class IfcActor extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheActor = TheActor; + this.type = 2296667514; + } + } + IFC42.IfcActor = IfcActor; + class IfcAdvancedBrep extends IfcManifoldSolidBrep { + constructor(Outer) { + super(Outer); + this.Outer = Outer; + this.type = 1635779807; + } + } + IFC42.IfcAdvancedBrep = IfcAdvancedBrep; + class IfcAdvancedBrepWithVoids extends IfcAdvancedBrep { + constructor(Outer, Voids) { + super(Outer); + this.Outer = Outer; + this.Voids = Voids; + this.type = 2603310189; + } + } + IFC42.IfcAdvancedBrepWithVoids = IfcAdvancedBrepWithVoids; + class IfcAnnotation extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 1674181508; + } + } + IFC42.IfcAnnotation = IfcAnnotation; + class IfcBSplineSurface extends IfcBoundedSurface { + constructor(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect) { + super(); + this.UDegree = UDegree; + this.VDegree = VDegree; + this.ControlPointsList = ControlPointsList; + this.SurfaceForm = SurfaceForm; + this.UClosed = UClosed; + this.VClosed = VClosed; + this.SelfIntersect = SelfIntersect; + this.type = 2887950389; + } + } + IFC42.IfcBSplineSurface = IfcBSplineSurface; + class IfcBSplineSurfaceWithKnots extends IfcBSplineSurface { + constructor(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec) { + super(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect); + this.UDegree = UDegree; + this.VDegree = VDegree; + this.ControlPointsList = ControlPointsList; + this.SurfaceForm = SurfaceForm; + this.UClosed = UClosed; + this.VClosed = VClosed; + this.SelfIntersect = SelfIntersect; + this.UMultiplicities = UMultiplicities; + this.VMultiplicities = VMultiplicities; + this.UKnots = UKnots; + this.VKnots = VKnots; + this.KnotSpec = KnotSpec; + this.type = 167062518; + } + } + IFC42.IfcBSplineSurfaceWithKnots = IfcBSplineSurfaceWithKnots; + class IfcBlock extends IfcCsgPrimitive3D { + constructor(Position, XLength, YLength, ZLength) { + super(Position); + this.Position = Position; + this.XLength = XLength; + this.YLength = YLength; + this.ZLength = ZLength; + this.type = 1334484129; + } + } + IFC42.IfcBlock = IfcBlock; + class IfcBooleanClippingResult extends IfcBooleanResult { + constructor(Operator, FirstOperand, SecondOperand) { + super(Operator, FirstOperand, SecondOperand); + this.Operator = Operator; + this.FirstOperand = FirstOperand; + this.SecondOperand = SecondOperand; + this.type = 3649129432; + } + } + IFC42.IfcBooleanClippingResult = IfcBooleanClippingResult; + class IfcBoundedCurve extends IfcCurve { + constructor() { + super(); + this.type = 1260505505; + } + } + IFC42.IfcBoundedCurve = IfcBoundedCurve; + class IfcBuilding extends IfcSpatialStructureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, ElevationOfRefHeight, ElevationOfTerrain, BuildingAddress) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.ElevationOfRefHeight = ElevationOfRefHeight; + this.ElevationOfTerrain = ElevationOfTerrain; + this.BuildingAddress = BuildingAddress; + this.type = 4031249490; + } + } + IFC42.IfcBuilding = IfcBuilding; + class IfcBuildingElementType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1950629157; + } + } + IFC42.IfcBuildingElementType = IfcBuildingElementType; + class IfcBuildingStorey extends IfcSpatialStructureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, Elevation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.Elevation = Elevation; + this.type = 3124254112; + } + } + IFC42.IfcBuildingStorey = IfcBuildingStorey; + class IfcChimneyType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2197970202; + } + } + IFC42.IfcChimneyType = IfcChimneyType; + class IfcCircleHollowProfileDef extends IfcCircleProfileDef { + constructor(ProfileType, ProfileName, Position, Radius, WallThickness) { + super(ProfileType, ProfileName, Position, Radius); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Radius = Radius; + this.WallThickness = WallThickness; + this.type = 2937912522; + } + } + IFC42.IfcCircleHollowProfileDef = IfcCircleHollowProfileDef; + class IfcCivilElementType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3893394355; + } + } + IFC42.IfcCivilElementType = IfcCivilElementType; + class IfcColumnType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 300633059; + } + } + IFC42.IfcColumnType = IfcColumnType; + class IfcComplexPropertyTemplate extends IfcPropertyTemplate { + constructor(GlobalId, OwnerHistory, Name, Description, UsageName, TemplateType, HasPropertyTemplates) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.UsageName = UsageName; + this.TemplateType = TemplateType; + this.HasPropertyTemplates = HasPropertyTemplates; + this.type = 3875453745; + } + } + IFC42.IfcComplexPropertyTemplate = IfcComplexPropertyTemplate; + class IfcCompositeCurve extends IfcBoundedCurve { + constructor(Segments, SelfIntersect) { + super(); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 3732776249; + } + } + IFC42.IfcCompositeCurve = IfcCompositeCurve; + class IfcCompositeCurveOnSurface extends IfcCompositeCurve { + constructor(Segments, SelfIntersect) { + super(Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 15328376; + } + } + IFC42.IfcCompositeCurveOnSurface = IfcCompositeCurveOnSurface; + class IfcConic extends IfcCurve { + constructor(Position) { + super(); + this.Position = Position; + this.type = 2510884976; + } + } + IFC42.IfcConic = IfcConic; + class IfcConstructionEquipmentResourceType extends IfcConstructionResourceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 2185764099; + } + } + IFC42.IfcConstructionEquipmentResourceType = IfcConstructionEquipmentResourceType; + class IfcConstructionMaterialResourceType extends IfcConstructionResourceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 4105962743; + } + } + IFC42.IfcConstructionMaterialResourceType = IfcConstructionMaterialResourceType; + class IfcConstructionProductResourceType extends IfcConstructionResourceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 1525564444; + } + } + IFC42.IfcConstructionProductResourceType = IfcConstructionProductResourceType; + class IfcConstructionResource extends IfcResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.type = 2559216714; + } + } + IFC42.IfcConstructionResource = IfcConstructionResource; + class IfcControl extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.type = 3293443760; + } + } + IFC42.IfcControl = IfcControl; + class IfcCostItem extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, CostValues, CostQuantities) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.CostValues = CostValues; + this.CostQuantities = CostQuantities; + this.type = 3895139033; + } + } + IFC42.IfcCostItem = IfcCostItem; + class IfcCostSchedule extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, SubmittedOn, UpdateDate) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.SubmittedOn = SubmittedOn; + this.UpdateDate = UpdateDate; + this.type = 1419761937; + } + } + IFC42.IfcCostSchedule = IfcCostSchedule; + class IfcCoveringType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1916426348; + } + } + IFC42.IfcCoveringType = IfcCoveringType; + class IfcCrewResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 3295246426; + } + } + IFC42.IfcCrewResource = IfcCrewResource; + class IfcCurtainWallType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1457835157; + } + } + IFC42.IfcCurtainWallType = IfcCurtainWallType; + class IfcCylindricalSurface extends IfcElementarySurface { + constructor(Position, Radius) { + super(Position); + this.Position = Position; + this.Radius = Radius; + this.type = 1213902940; + } + } + IFC42.IfcCylindricalSurface = IfcCylindricalSurface; + class IfcDistributionElementType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3256556792; + } + } + IFC42.IfcDistributionElementType = IfcDistributionElementType; + class IfcDistributionFlowElementType extends IfcDistributionElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3849074793; + } + } + IFC42.IfcDistributionFlowElementType = IfcDistributionFlowElementType; + class IfcDoorLiningProperties extends IfcPreDefinedPropertySet { + constructor(GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, ThresholdDepth, ThresholdThickness, TransomThickness, TransomOffset, LiningOffset, ThresholdOffset, CasingThickness, CasingDepth, ShapeAspectStyle, LiningToPanelOffsetX, LiningToPanelOffsetY) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.LiningDepth = LiningDepth; + this.LiningThickness = LiningThickness; + this.ThresholdDepth = ThresholdDepth; + this.ThresholdThickness = ThresholdThickness; + this.TransomThickness = TransomThickness; + this.TransomOffset = TransomOffset; + this.LiningOffset = LiningOffset; + this.ThresholdOffset = ThresholdOffset; + this.CasingThickness = CasingThickness; + this.CasingDepth = CasingDepth; + this.ShapeAspectStyle = ShapeAspectStyle; + this.LiningToPanelOffsetX = LiningToPanelOffsetX; + this.LiningToPanelOffsetY = LiningToPanelOffsetY; + this.type = 2963535650; + } + } + IFC42.IfcDoorLiningProperties = IfcDoorLiningProperties; + class IfcDoorPanelProperties extends IfcPreDefinedPropertySet { + constructor(GlobalId, OwnerHistory, Name, Description, PanelDepth, PanelOperation, PanelWidth, PanelPosition, ShapeAspectStyle) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.PanelDepth = PanelDepth; + this.PanelOperation = PanelOperation; + this.PanelWidth = PanelWidth; + this.PanelPosition = PanelPosition; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 1714330368; + } + } + IFC42.IfcDoorPanelProperties = IfcDoorPanelProperties; + class IfcDoorType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, OperationType, ParameterTakesPrecedence, UserDefinedOperationType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.OperationType = OperationType; + this.ParameterTakesPrecedence = ParameterTakesPrecedence; + this.UserDefinedOperationType = UserDefinedOperationType; + this.type = 2323601079; + } + } + IFC42.IfcDoorType = IfcDoorType; + class IfcDraughtingPreDefinedColour extends IfcPreDefinedColour { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 445594917; + } + } + IFC42.IfcDraughtingPreDefinedColour = IfcDraughtingPreDefinedColour; + class IfcDraughtingPreDefinedCurveFont extends IfcPreDefinedCurveFont { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 4006246654; + } + } + IFC42.IfcDraughtingPreDefinedCurveFont = IfcDraughtingPreDefinedCurveFont; + class IfcElement extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1758889154; + } + } + IFC42.IfcElement = IfcElement; + class IfcElementAssembly extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, AssemblyPlace, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.AssemblyPlace = AssemblyPlace; + this.PredefinedType = PredefinedType; + this.type = 4123344466; + } + } + IFC42.IfcElementAssembly = IfcElementAssembly; + class IfcElementAssemblyType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2397081782; + } + } + IFC42.IfcElementAssemblyType = IfcElementAssemblyType; + class IfcElementComponent extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1623761950; + } + } + IFC42.IfcElementComponent = IfcElementComponent; + class IfcElementComponentType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2590856083; + } + } + IFC42.IfcElementComponentType = IfcElementComponentType; + class IfcEllipse extends IfcConic { + constructor(Position, SemiAxis1, SemiAxis2) { + super(Position); + this.Position = Position; + this.SemiAxis1 = SemiAxis1; + this.SemiAxis2 = SemiAxis2; + this.type = 1704287377; + } + } + IFC42.IfcEllipse = IfcEllipse; + class IfcEnergyConversionDeviceType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2107101300; + } + } + IFC42.IfcEnergyConversionDeviceType = IfcEnergyConversionDeviceType; + class IfcEngineType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 132023988; + } + } + IFC42.IfcEngineType = IfcEngineType; + class IfcEvaporativeCoolerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3174744832; + } + } + IFC42.IfcEvaporativeCoolerType = IfcEvaporativeCoolerType; + class IfcEvaporatorType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3390157468; + } + } + IFC42.IfcEvaporatorType = IfcEvaporatorType; + class IfcEvent extends IfcProcess { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, PredefinedType, EventTriggerType, UserDefinedEventTriggerType, EventOccurenceTime) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.PredefinedType = PredefinedType; + this.EventTriggerType = EventTriggerType; + this.UserDefinedEventTriggerType = UserDefinedEventTriggerType; + this.EventOccurenceTime = EventOccurenceTime; + this.type = 4148101412; + } + } + IFC42.IfcEvent = IfcEvent; + class IfcExternalSpatialStructureElement extends IfcSpatialElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.type = 2853485674; + } + } + IFC42.IfcExternalSpatialStructureElement = IfcExternalSpatialStructureElement; + class IfcFacetedBrep extends IfcManifoldSolidBrep { + constructor(Outer) { + super(Outer); + this.Outer = Outer; + this.type = 807026263; + } + } + IFC42.IfcFacetedBrep = IfcFacetedBrep; + class IfcFacetedBrepWithVoids extends IfcFacetedBrep { + constructor(Outer, Voids) { + super(Outer); + this.Outer = Outer; + this.Voids = Voids; + this.type = 3737207727; + } + } + IFC42.IfcFacetedBrepWithVoids = IfcFacetedBrepWithVoids; + class IfcFastener extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 647756555; + } + } + IFC42.IfcFastener = IfcFastener; + class IfcFastenerType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2489546625; + } + } + IFC42.IfcFastenerType = IfcFastenerType; + class IfcFeatureElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2827207264; + } + } + IFC42.IfcFeatureElement = IfcFeatureElement; + class IfcFeatureElementAddition extends IfcFeatureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2143335405; + } + } + IFC42.IfcFeatureElementAddition = IfcFeatureElementAddition; + class IfcFeatureElementSubtraction extends IfcFeatureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1287392070; + } + } + IFC42.IfcFeatureElementSubtraction = IfcFeatureElementSubtraction; + class IfcFlowControllerType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3907093117; + } + } + IFC42.IfcFlowControllerType = IfcFlowControllerType; + class IfcFlowFittingType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3198132628; + } + } + IFC42.IfcFlowFittingType = IfcFlowFittingType; + class IfcFlowMeterType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3815607619; + } + } + IFC42.IfcFlowMeterType = IfcFlowMeterType; + class IfcFlowMovingDeviceType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1482959167; + } + } + IFC42.IfcFlowMovingDeviceType = IfcFlowMovingDeviceType; + class IfcFlowSegmentType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1834744321; + } + } + IFC42.IfcFlowSegmentType = IfcFlowSegmentType; + class IfcFlowStorageDeviceType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1339347760; + } + } + IFC42.IfcFlowStorageDeviceType = IfcFlowStorageDeviceType; + class IfcFlowTerminalType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2297155007; + } + } + IFC42.IfcFlowTerminalType = IfcFlowTerminalType; + class IfcFlowTreatmentDeviceType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3009222698; + } + } + IFC42.IfcFlowTreatmentDeviceType = IfcFlowTreatmentDeviceType; + class IfcFootingType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1893162501; + } + } + IFC42.IfcFootingType = IfcFootingType; + class IfcFurnishingElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 263784265; + } + } + IFC42.IfcFurnishingElement = IfcFurnishingElement; + class IfcFurniture extends IfcFurnishingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1509553395; + } + } + IFC42.IfcFurniture = IfcFurniture; + class IfcGeographicElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3493046030; + } + } + IFC42.IfcGeographicElement = IfcGeographicElement; + class IfcGrid extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, UAxes, VAxes, WAxes, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.UAxes = UAxes; + this.VAxes = VAxes; + this.WAxes = WAxes; + this.PredefinedType = PredefinedType; + this.type = 3009204131; + } + } + IFC42.IfcGrid = IfcGrid; + class IfcGroup extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2706460486; + } + } + IFC42.IfcGroup = IfcGroup; + class IfcHeatExchangerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1251058090; + } + } + IFC42.IfcHeatExchangerType = IfcHeatExchangerType; + class IfcHumidifierType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1806887404; + } + } + IFC42.IfcHumidifierType = IfcHumidifierType; + class IfcIndexedPolyCurve extends IfcBoundedCurve { + constructor(Points, Segments, SelfIntersect) { + super(); + this.Points = Points; + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 2571569899; + } + } + IFC42.IfcIndexedPolyCurve = IfcIndexedPolyCurve; + class IfcInterceptorType extends IfcFlowTreatmentDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3946677679; + } + } + IFC42.IfcInterceptorType = IfcInterceptorType; + class IfcIntersectionCurve extends IfcSurfaceCurve { + constructor(Curve3D, AssociatedGeometry, MasterRepresentation) { + super(Curve3D, AssociatedGeometry, MasterRepresentation); + this.Curve3D = Curve3D; + this.AssociatedGeometry = AssociatedGeometry; + this.MasterRepresentation = MasterRepresentation; + this.type = 3113134337; + } + } + IFC42.IfcIntersectionCurve = IfcIntersectionCurve; + class IfcInventory extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, Jurisdiction, ResponsiblePersons, LastUpdateDate, CurrentValue, OriginalValue) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.Jurisdiction = Jurisdiction; + this.ResponsiblePersons = ResponsiblePersons; + this.LastUpdateDate = LastUpdateDate; + this.CurrentValue = CurrentValue; + this.OriginalValue = OriginalValue; + this.type = 2391368822; + } + } + IFC42.IfcInventory = IfcInventory; + class IfcJunctionBoxType extends IfcFlowFittingType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4288270099; + } + } + IFC42.IfcJunctionBoxType = IfcJunctionBoxType; + class IfcLaborResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 3827777499; + } + } + IFC42.IfcLaborResource = IfcLaborResource; + class IfcLampType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1051575348; + } + } + IFC42.IfcLampType = IfcLampType; + class IfcLightFixtureType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1161773419; + } + } + IFC42.IfcLightFixtureType = IfcLightFixtureType; + class IfcMechanicalFastener extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NominalDiameter, NominalLength, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.NominalDiameter = NominalDiameter; + this.NominalLength = NominalLength; + this.PredefinedType = PredefinedType; + this.type = 377706215; + } + } + IFC42.IfcMechanicalFastener = IfcMechanicalFastener; + class IfcMechanicalFastenerType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, NominalLength) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.NominalLength = NominalLength; + this.type = 2108223431; + } + } + IFC42.IfcMechanicalFastenerType = IfcMechanicalFastenerType; + class IfcMedicalDeviceType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1114901282; + } + } + IFC42.IfcMedicalDeviceType = IfcMedicalDeviceType; + class IfcMemberType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3181161470; + } + } + IFC42.IfcMemberType = IfcMemberType; + class IfcMotorConnectionType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 977012517; + } + } + IFC42.IfcMotorConnectionType = IfcMotorConnectionType; + class IfcOccupant extends IfcActor { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheActor = TheActor; + this.PredefinedType = PredefinedType; + this.type = 4143007308; + } + } + IFC42.IfcOccupant = IfcOccupant; + class IfcOpeningElement extends IfcFeatureElementSubtraction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3588315303; + } + } + IFC42.IfcOpeningElement = IfcOpeningElement; + class IfcOpeningStandardCase extends IfcOpeningElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3079942009; + } + } + IFC42.IfcOpeningStandardCase = IfcOpeningStandardCase; + class IfcOutletType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2837617999; + } + } + IFC42.IfcOutletType = IfcOutletType; + class IfcPerformanceHistory extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LifeCyclePhase, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LifeCyclePhase = LifeCyclePhase; + this.PredefinedType = PredefinedType; + this.type = 2382730787; + } + } + IFC42.IfcPerformanceHistory = IfcPerformanceHistory; + class IfcPermeableCoveringProperties extends IfcPreDefinedPropertySet { + constructor(GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.OperationType = OperationType; + this.PanelPosition = PanelPosition; + this.FrameDepth = FrameDepth; + this.FrameThickness = FrameThickness; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 3566463478; + } + } + IFC42.IfcPermeableCoveringProperties = IfcPermeableCoveringProperties; + class IfcPermit extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.LongDescription = LongDescription; + this.type = 3327091369; + } + } + IFC42.IfcPermit = IfcPermit; + class IfcPileType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1158309216; + } + } + IFC42.IfcPileType = IfcPileType; + class IfcPipeFittingType extends IfcFlowFittingType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 804291784; + } + } + IFC42.IfcPipeFittingType = IfcPipeFittingType; + class IfcPipeSegmentType extends IfcFlowSegmentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4231323485; + } + } + IFC42.IfcPipeSegmentType = IfcPipeSegmentType; + class IfcPlateType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4017108033; + } + } + IFC42.IfcPlateType = IfcPlateType; + class IfcPolygonalFaceSet extends IfcTessellatedFaceSet { + constructor(Coordinates, Closed, Faces, PnIndex) { + super(Coordinates); + this.Coordinates = Coordinates; + this.Closed = Closed; + this.Faces = Faces; + this.PnIndex = PnIndex; + this.type = 2839578677; + } + } + IFC42.IfcPolygonalFaceSet = IfcPolygonalFaceSet; + class IfcPolyline extends IfcBoundedCurve { + constructor(Points) { + super(); + this.Points = Points; + this.type = 3724593414; + } + } + IFC42.IfcPolyline = IfcPolyline; + class IfcPort extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 3740093272; + } + } + IFC42.IfcPort = IfcPort; + class IfcProcedure extends IfcProcess { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.PredefinedType = PredefinedType; + this.type = 2744685151; + } + } + IFC42.IfcProcedure = IfcProcedure; + class IfcProjectOrder extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.LongDescription = LongDescription; + this.type = 2904328755; + } + } + IFC42.IfcProjectOrder = IfcProjectOrder; + class IfcProjectionElement extends IfcFeatureElementAddition { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3651124850; + } + } + IFC42.IfcProjectionElement = IfcProjectionElement; + class IfcProtectiveDeviceType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1842657554; + } + } + IFC42.IfcProtectiveDeviceType = IfcProtectiveDeviceType; + class IfcPumpType extends IfcFlowMovingDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2250791053; + } + } + IFC42.IfcPumpType = IfcPumpType; + class IfcRailingType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2893384427; + } + } + IFC42.IfcRailingType = IfcRailingType; + class IfcRampFlightType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2324767716; + } + } + IFC42.IfcRampFlightType = IfcRampFlightType; + class IfcRampType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1469900589; + } + } + IFC42.IfcRampType = IfcRampType; + class IfcRationalBSplineSurfaceWithKnots extends IfcBSplineSurfaceWithKnots { + constructor(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec, WeightsData) { + super(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec); + this.UDegree = UDegree; + this.VDegree = VDegree; + this.ControlPointsList = ControlPointsList; + this.SurfaceForm = SurfaceForm; + this.UClosed = UClosed; + this.VClosed = VClosed; + this.SelfIntersect = SelfIntersect; + this.UMultiplicities = UMultiplicities; + this.VMultiplicities = VMultiplicities; + this.UKnots = UKnots; + this.VKnots = VKnots; + this.KnotSpec = KnotSpec; + this.WeightsData = WeightsData; + this.type = 683857671; + } + } + IFC42.IfcRationalBSplineSurfaceWithKnots = IfcRationalBSplineSurfaceWithKnots; + class IfcReinforcingElement extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.type = 3027567501; + } + } + IFC42.IfcReinforcingElement = IfcReinforcingElement; + class IfcReinforcingElementType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 964333572; + } + } + IFC42.IfcReinforcingElementType = IfcReinforcingElementType; + class IfcReinforcingMesh extends IfcReinforcingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.MeshLength = MeshLength; + this.MeshWidth = MeshWidth; + this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter; + this.TransverseBarNominalDiameter = TransverseBarNominalDiameter; + this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea; + this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea; + this.LongitudinalBarSpacing = LongitudinalBarSpacing; + this.TransverseBarSpacing = TransverseBarSpacing; + this.PredefinedType = PredefinedType; + this.type = 2320036040; + } + } + IFC42.IfcReinforcingMesh = IfcReinforcingMesh; + class IfcReinforcingMeshType extends IfcReinforcingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing, BendingShapeCode, BendingParameters) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.MeshLength = MeshLength; + this.MeshWidth = MeshWidth; + this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter; + this.TransverseBarNominalDiameter = TransverseBarNominalDiameter; + this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea; + this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea; + this.LongitudinalBarSpacing = LongitudinalBarSpacing; + this.TransverseBarSpacing = TransverseBarSpacing; + this.BendingShapeCode = BendingShapeCode; + this.BendingParameters = BendingParameters; + this.type = 2310774935; + } + } + IFC42.IfcReinforcingMeshType = IfcReinforcingMeshType; + class IfcRelAggregates extends IfcRelDecomposes { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingObject = RelatingObject; + this.RelatedObjects = RelatedObjects; + this.type = 160246688; + } + } + IFC42.IfcRelAggregates = IfcRelAggregates; + class IfcRoofType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2781568857; + } + } + IFC42.IfcRoofType = IfcRoofType; + class IfcSanitaryTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1768891740; + } + } + IFC42.IfcSanitaryTerminalType = IfcSanitaryTerminalType; + class IfcSeamCurve extends IfcSurfaceCurve { + constructor(Curve3D, AssociatedGeometry, MasterRepresentation) { + super(Curve3D, AssociatedGeometry, MasterRepresentation); + this.Curve3D = Curve3D; + this.AssociatedGeometry = AssociatedGeometry; + this.MasterRepresentation = MasterRepresentation; + this.type = 2157484638; + } + } + IFC42.IfcSeamCurve = IfcSeamCurve; + class IfcShadingDeviceType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4074543187; + } + } + IFC42.IfcShadingDeviceType = IfcShadingDeviceType; + class IfcSite extends IfcSpatialStructureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, RefLatitude, RefLongitude, RefElevation, LandTitleNumber, SiteAddress) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.RefLatitude = RefLatitude; + this.RefLongitude = RefLongitude; + this.RefElevation = RefElevation; + this.LandTitleNumber = LandTitleNumber; + this.SiteAddress = SiteAddress; + this.type = 4097777520; + } + } + IFC42.IfcSite = IfcSite; + class IfcSlabType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2533589738; + } + } + IFC42.IfcSlabType = IfcSlabType; + class IfcSolarDeviceType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1072016465; + } + } + IFC42.IfcSolarDeviceType = IfcSolarDeviceType; + class IfcSpace extends IfcSpatialStructureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType, ElevationWithFlooring) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.PredefinedType = PredefinedType; + this.ElevationWithFlooring = ElevationWithFlooring; + this.type = 3856911033; + } + } + IFC42.IfcSpace = IfcSpace; + class IfcSpaceHeaterType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1305183839; + } + } + IFC42.IfcSpaceHeaterType = IfcSpaceHeaterType; + class IfcSpaceType extends IfcSpatialStructureElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, LongName) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.LongName = LongName; + this.type = 3812236995; + } + } + IFC42.IfcSpaceType = IfcSpaceType; + class IfcStackTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3112655638; + } + } + IFC42.IfcStackTerminalType = IfcStackTerminalType; + class IfcStairFlightType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1039846685; + } + } + IFC42.IfcStairFlightType = IfcStairFlightType; + class IfcStairType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 338393293; + } + } + IFC42.IfcStairType = IfcStairType; + class IfcStructuralAction extends IfcStructuralActivity { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.type = 682877961; + } + } + IFC42.IfcStructuralAction = IfcStructuralAction; + class IfcStructuralConnection extends IfcStructuralItem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.type = 1179482911; + } + } + IFC42.IfcStructuralConnection = IfcStructuralConnection; + class IfcStructuralCurveAction extends IfcStructuralAction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.ProjectedOrTrue = ProjectedOrTrue; + this.PredefinedType = PredefinedType; + this.type = 1004757350; + } + } + IFC42.IfcStructuralCurveAction = IfcStructuralCurveAction; + class IfcStructuralCurveConnection extends IfcStructuralConnection { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition, Axis) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.Axis = Axis; + this.type = 4243806635; + } + } + IFC42.IfcStructuralCurveConnection = IfcStructuralCurveConnection; + class IfcStructuralCurveMember extends IfcStructuralMember { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Axis = Axis; + this.type = 214636428; + } + } + IFC42.IfcStructuralCurveMember = IfcStructuralCurveMember; + class IfcStructuralCurveMemberVarying extends IfcStructuralCurveMember { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Axis = Axis; + this.type = 2445595289; + } + } + IFC42.IfcStructuralCurveMemberVarying = IfcStructuralCurveMemberVarying; + class IfcStructuralCurveReaction extends IfcStructuralReaction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.PredefinedType = PredefinedType; + this.type = 2757150158; + } + } + IFC42.IfcStructuralCurveReaction = IfcStructuralCurveReaction; + class IfcStructuralLinearAction extends IfcStructuralCurveAction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.ProjectedOrTrue = ProjectedOrTrue; + this.PredefinedType = PredefinedType; + this.type = 1807405624; + } + } + IFC42.IfcStructuralLinearAction = IfcStructuralLinearAction; + class IfcStructuralLoadGroup extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.ActionType = ActionType; + this.ActionSource = ActionSource; + this.Coefficient = Coefficient; + this.Purpose = Purpose; + this.type = 1252848954; + } + } + IFC42.IfcStructuralLoadGroup = IfcStructuralLoadGroup; + class IfcStructuralPointAction extends IfcStructuralAction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.type = 2082059205; + } + } + IFC42.IfcStructuralPointAction = IfcStructuralPointAction; + class IfcStructuralPointConnection extends IfcStructuralConnection { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition, ConditionCoordinateSystem) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.ConditionCoordinateSystem = ConditionCoordinateSystem; + this.type = 734778138; + } + } + IFC42.IfcStructuralPointConnection = IfcStructuralPointConnection; + class IfcStructuralPointReaction extends IfcStructuralReaction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 1235345126; + } + } + IFC42.IfcStructuralPointReaction = IfcStructuralPointReaction; + class IfcStructuralResultGroup extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheoryType, ResultForLoadGroup, IsLinear) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheoryType = TheoryType; + this.ResultForLoadGroup = ResultForLoadGroup; + this.IsLinear = IsLinear; + this.type = 2986769608; + } + } + IFC42.IfcStructuralResultGroup = IfcStructuralResultGroup; + class IfcStructuralSurfaceAction extends IfcStructuralAction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.ProjectedOrTrue = ProjectedOrTrue; + this.PredefinedType = PredefinedType; + this.type = 3657597509; + } + } + IFC42.IfcStructuralSurfaceAction = IfcStructuralSurfaceAction; + class IfcStructuralSurfaceConnection extends IfcStructuralConnection { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.type = 1975003073; + } + } + IFC42.IfcStructuralSurfaceConnection = IfcStructuralSurfaceConnection; + class IfcSubContractResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 148013059; + } + } + IFC42.IfcSubContractResource = IfcSubContractResource; + class IfcSurfaceFeature extends IfcFeatureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3101698114; + } + } + IFC42.IfcSurfaceFeature = IfcSurfaceFeature; + class IfcSwitchingDeviceType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2315554128; + } + } + IFC42.IfcSwitchingDeviceType = IfcSwitchingDeviceType; + class IfcSystem extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2254336722; + } + } + IFC42.IfcSystem = IfcSystem; + class IfcSystemFurnitureElement extends IfcFurnishingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 413509423; + } + } + IFC42.IfcSystemFurnitureElement = IfcSystemFurnitureElement; + class IfcTankType extends IfcFlowStorageDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 5716631; + } + } + IFC42.IfcTankType = IfcTankType; + class IfcTendon extends IfcReinforcingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType, NominalDiameter, CrossSectionArea, TensionForce, PreStress, FrictionCoefficient, AnchorageSlip, MinCurvatureRadius) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.TensionForce = TensionForce; + this.PreStress = PreStress; + this.FrictionCoefficient = FrictionCoefficient; + this.AnchorageSlip = AnchorageSlip; + this.MinCurvatureRadius = MinCurvatureRadius; + this.type = 3824725483; + } + } + IFC42.IfcTendon = IfcTendon; + class IfcTendonAnchor extends IfcReinforcingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.PredefinedType = PredefinedType; + this.type = 2347447852; + } + } + IFC42.IfcTendonAnchor = IfcTendonAnchor; + class IfcTendonAnchorType extends IfcReinforcingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3081323446; + } + } + IFC42.IfcTendonAnchorType = IfcTendonAnchorType; + class IfcTendonType extends IfcReinforcingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, CrossSectionArea, SheathDiameter) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.SheathDiameter = SheathDiameter; + this.type = 2415094496; + } + } + IFC42.IfcTendonType = IfcTendonType; + class IfcTransformerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1692211062; + } + } + IFC42.IfcTransformerType = IfcTransformerType; + class IfcTransportElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1620046519; + } + } + IFC42.IfcTransportElement = IfcTransportElement; + class IfcTrimmedCurve extends IfcBoundedCurve { + constructor(BasisCurve, Trim1, Trim2, SenseAgreement, MasterRepresentation) { + super(); + this.BasisCurve = BasisCurve; + this.Trim1 = Trim1; + this.Trim2 = Trim2; + this.SenseAgreement = SenseAgreement; + this.MasterRepresentation = MasterRepresentation; + this.type = 3593883385; + } + } + IFC42.IfcTrimmedCurve = IfcTrimmedCurve; + class IfcTubeBundleType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1600972822; + } + } + IFC42.IfcTubeBundleType = IfcTubeBundleType; + class IfcUnitaryEquipmentType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1911125066; + } + } + IFC42.IfcUnitaryEquipmentType = IfcUnitaryEquipmentType; + class IfcValveType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 728799441; + } + } + IFC42.IfcValveType = IfcValveType; + class IfcVibrationIsolator extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2391383451; + } + } + IFC42.IfcVibrationIsolator = IfcVibrationIsolator; + class IfcVibrationIsolatorType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3313531582; + } + } + IFC42.IfcVibrationIsolatorType = IfcVibrationIsolatorType; + class IfcVirtualElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2769231204; + } + } + IFC42.IfcVirtualElement = IfcVirtualElement; + class IfcVoidingFeature extends IfcFeatureElementSubtraction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 926996030; + } + } + IFC42.IfcVoidingFeature = IfcVoidingFeature; + class IfcWallType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1898987631; + } + } + IFC42.IfcWallType = IfcWallType; + class IfcWasteTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1133259667; + } + } + IFC42.IfcWasteTerminalType = IfcWasteTerminalType; + class IfcWindowType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, PartitioningType, ParameterTakesPrecedence, UserDefinedPartitioningType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.PartitioningType = PartitioningType; + this.ParameterTakesPrecedence = ParameterTakesPrecedence; + this.UserDefinedPartitioningType = UserDefinedPartitioningType; + this.type = 4009809668; + } + } + IFC42.IfcWindowType = IfcWindowType; + class IfcWorkCalendar extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, WorkingTimes, ExceptionTimes, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.WorkingTimes = WorkingTimes; + this.ExceptionTimes = ExceptionTimes; + this.PredefinedType = PredefinedType; + this.type = 4088093105; + } + } + IFC42.IfcWorkCalendar = IfcWorkCalendar; + class IfcWorkControl extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.type = 1028945134; + } + } + IFC42.IfcWorkControl = IfcWorkControl; + class IfcWorkPlan extends IfcWorkControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.PredefinedType = PredefinedType; + this.type = 4218914973; + } + } + IFC42.IfcWorkPlan = IfcWorkPlan; + class IfcWorkSchedule extends IfcWorkControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.PredefinedType = PredefinedType; + this.type = 3342526732; + } + } + IFC42.IfcWorkSchedule = IfcWorkSchedule; + class IfcZone extends IfcSystem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.type = 1033361043; + } + } + IFC42.IfcZone = IfcZone; + class IfcActionRequest extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.LongDescription = LongDescription; + this.type = 3821786052; + } + } + IFC42.IfcActionRequest = IfcActionRequest; + class IfcAirTerminalBoxType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1411407467; + } + } + IFC42.IfcAirTerminalBoxType = IfcAirTerminalBoxType; + class IfcAirTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3352864051; + } + } + IFC42.IfcAirTerminalType = IfcAirTerminalType; + class IfcAirToAirHeatRecoveryType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1871374353; + } + } + IFC42.IfcAirToAirHeatRecoveryType = IfcAirToAirHeatRecoveryType; + class IfcAsset extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, OriginalValue, CurrentValue, TotalReplacementCost, Owner, User, ResponsiblePerson, IncorporationDate, DepreciatedValue) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.OriginalValue = OriginalValue; + this.CurrentValue = CurrentValue; + this.TotalReplacementCost = TotalReplacementCost; + this.Owner = Owner; + this.User = User; + this.ResponsiblePerson = ResponsiblePerson; + this.IncorporationDate = IncorporationDate; + this.DepreciatedValue = DepreciatedValue; + this.type = 3460190687; + } + } + IFC42.IfcAsset = IfcAsset; + class IfcAudioVisualApplianceType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1532957894; + } + } + IFC42.IfcAudioVisualApplianceType = IfcAudioVisualApplianceType; + class IfcBSplineCurve extends IfcBoundedCurve { + constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect) { + super(); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.type = 1967976161; + } + } + IFC42.IfcBSplineCurve = IfcBSplineCurve; + class IfcBSplineCurveWithKnots extends IfcBSplineCurve { + constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec) { + super(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.KnotMultiplicities = KnotMultiplicities; + this.Knots = Knots; + this.KnotSpec = KnotSpec; + this.type = 2461110595; + } + } + IFC42.IfcBSplineCurveWithKnots = IfcBSplineCurveWithKnots; + class IfcBeamType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 819618141; + } + } + IFC42.IfcBeamType = IfcBeamType; + class IfcBoilerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 231477066; + } + } + IFC42.IfcBoilerType = IfcBoilerType; + class IfcBoundaryCurve extends IfcCompositeCurveOnSurface { + constructor(Segments, SelfIntersect) { + super(Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 1136057603; + } + } + IFC42.IfcBoundaryCurve = IfcBoundaryCurve; + class IfcBuildingElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3299480353; + } + } + IFC42.IfcBuildingElement = IfcBuildingElement; + class IfcBuildingElementPart extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2979338954; + } + } + IFC42.IfcBuildingElementPart = IfcBuildingElementPart; + class IfcBuildingElementPartType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 39481116; + } + } + IFC42.IfcBuildingElementPartType = IfcBuildingElementPartType; + class IfcBuildingElementProxy extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1095909175; + } + } + IFC42.IfcBuildingElementProxy = IfcBuildingElementProxy; + class IfcBuildingElementProxyType extends IfcBuildingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1909888760; + } + } + IFC42.IfcBuildingElementProxyType = IfcBuildingElementProxyType; + class IfcBuildingSystem extends IfcSystem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, LongName) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.LongName = LongName; + this.type = 1177604601; + } + } + IFC42.IfcBuildingSystem = IfcBuildingSystem; + class IfcBurnerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2188180465; + } + } + IFC42.IfcBurnerType = IfcBurnerType; + class IfcCableCarrierFittingType extends IfcFlowFittingType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 395041908; + } + } + IFC42.IfcCableCarrierFittingType = IfcCableCarrierFittingType; + class IfcCableCarrierSegmentType extends IfcFlowSegmentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3293546465; + } + } + IFC42.IfcCableCarrierSegmentType = IfcCableCarrierSegmentType; + class IfcCableFittingType extends IfcFlowFittingType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2674252688; + } + } + IFC42.IfcCableFittingType = IfcCableFittingType; + class IfcCableSegmentType extends IfcFlowSegmentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1285652485; + } + } + IFC42.IfcCableSegmentType = IfcCableSegmentType; + class IfcChillerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2951183804; + } + } + IFC42.IfcChillerType = IfcChillerType; + class IfcChimney extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3296154744; + } + } + IFC42.IfcChimney = IfcChimney; + class IfcCircle extends IfcConic { + constructor(Position, Radius) { + super(Position); + this.Position = Position; + this.Radius = Radius; + this.type = 2611217952; + } + } + IFC42.IfcCircle = IfcCircle; + class IfcCivilElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1677625105; + } + } + IFC42.IfcCivilElement = IfcCivilElement; + class IfcCoilType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2301859152; + } + } + IFC42.IfcCoilType = IfcCoilType; + class IfcColumn extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 843113511; + } + } + IFC42.IfcColumn = IfcColumn; + class IfcColumnStandardCase extends IfcColumn { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 905975707; + } + } + IFC42.IfcColumnStandardCase = IfcColumnStandardCase; + class IfcCommunicationsApplianceType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 400855858; + } + } + IFC42.IfcCommunicationsApplianceType = IfcCommunicationsApplianceType; + class IfcCompressorType extends IfcFlowMovingDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3850581409; + } + } + IFC42.IfcCompressorType = IfcCompressorType; + class IfcCondenserType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2816379211; + } + } + IFC42.IfcCondenserType = IfcCondenserType; + class IfcConstructionEquipmentResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 3898045240; + } + } + IFC42.IfcConstructionEquipmentResource = IfcConstructionEquipmentResource; + class IfcConstructionMaterialResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 1060000209; + } + } + IFC42.IfcConstructionMaterialResource = IfcConstructionMaterialResource; + class IfcConstructionProductResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 488727124; + } + } + IFC42.IfcConstructionProductResource = IfcConstructionProductResource; + class IfcCooledBeamType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 335055490; + } + } + IFC42.IfcCooledBeamType = IfcCooledBeamType; + class IfcCoolingTowerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2954562838; + } + } + IFC42.IfcCoolingTowerType = IfcCoolingTowerType; + class IfcCovering extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1973544240; + } + } + IFC42.IfcCovering = IfcCovering; + class IfcCurtainWall extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3495092785; + } + } + IFC42.IfcCurtainWall = IfcCurtainWall; + class IfcDamperType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3961806047; + } + } + IFC42.IfcDamperType = IfcDamperType; + class IfcDiscreteAccessory extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1335981549; + } + } + IFC42.IfcDiscreteAccessory = IfcDiscreteAccessory; + class IfcDiscreteAccessoryType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2635815018; + } + } + IFC42.IfcDiscreteAccessoryType = IfcDiscreteAccessoryType; + class IfcDistributionChamberElementType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1599208980; + } + } + IFC42.IfcDistributionChamberElementType = IfcDistributionChamberElementType; + class IfcDistributionControlElementType extends IfcDistributionElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2063403501; + } + } + IFC42.IfcDistributionControlElementType = IfcDistributionControlElementType; + class IfcDistributionElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1945004755; + } + } + IFC42.IfcDistributionElement = IfcDistributionElement; + class IfcDistributionFlowElement extends IfcDistributionElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3040386961; + } + } + IFC42.IfcDistributionFlowElement = IfcDistributionFlowElement; + class IfcDistributionPort extends IfcPort { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, FlowDirection, PredefinedType, SystemType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.FlowDirection = FlowDirection; + this.PredefinedType = PredefinedType; + this.SystemType = SystemType; + this.type = 3041715199; + } + } + IFC42.IfcDistributionPort = IfcDistributionPort; + class IfcDistributionSystem extends IfcSystem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.PredefinedType = PredefinedType; + this.type = 3205830791; + } + } + IFC42.IfcDistributionSystem = IfcDistributionSystem; + class IfcDoor extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, OperationType, UserDefinedOperationType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OverallHeight = OverallHeight; + this.OverallWidth = OverallWidth; + this.PredefinedType = PredefinedType; + this.OperationType = OperationType; + this.UserDefinedOperationType = UserDefinedOperationType; + this.type = 395920057; + } + } + IFC42.IfcDoor = IfcDoor; + class IfcDoorStandardCase extends IfcDoor { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, OperationType, UserDefinedOperationType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, OperationType, UserDefinedOperationType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OverallHeight = OverallHeight; + this.OverallWidth = OverallWidth; + this.PredefinedType = PredefinedType; + this.OperationType = OperationType; + this.UserDefinedOperationType = UserDefinedOperationType; + this.type = 3242481149; + } + } + IFC42.IfcDoorStandardCase = IfcDoorStandardCase; + class IfcDuctFittingType extends IfcFlowFittingType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 869906466; + } + } + IFC42.IfcDuctFittingType = IfcDuctFittingType; + class IfcDuctSegmentType extends IfcFlowSegmentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3760055223; + } + } + IFC42.IfcDuctSegmentType = IfcDuctSegmentType; + class IfcDuctSilencerType extends IfcFlowTreatmentDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2030761528; + } + } + IFC42.IfcDuctSilencerType = IfcDuctSilencerType; + class IfcElectricApplianceType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 663422040; + } + } + IFC42.IfcElectricApplianceType = IfcElectricApplianceType; + class IfcElectricDistributionBoardType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2417008758; + } + } + IFC42.IfcElectricDistributionBoardType = IfcElectricDistributionBoardType; + class IfcElectricFlowStorageDeviceType extends IfcFlowStorageDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3277789161; + } + } + IFC42.IfcElectricFlowStorageDeviceType = IfcElectricFlowStorageDeviceType; + class IfcElectricGeneratorType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1534661035; + } + } + IFC42.IfcElectricGeneratorType = IfcElectricGeneratorType; + class IfcElectricMotorType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1217240411; + } + } + IFC42.IfcElectricMotorType = IfcElectricMotorType; + class IfcElectricTimeControlType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 712377611; + } + } + IFC42.IfcElectricTimeControlType = IfcElectricTimeControlType; + class IfcEnergyConversionDevice extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1658829314; + } + } + IFC42.IfcEnergyConversionDevice = IfcEnergyConversionDevice; + class IfcEngine extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2814081492; + } + } + IFC42.IfcEngine = IfcEngine; + class IfcEvaporativeCooler extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3747195512; + } + } + IFC42.IfcEvaporativeCooler = IfcEvaporativeCooler; + class IfcEvaporator extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 484807127; + } + } + IFC42.IfcEvaporator = IfcEvaporator; + class IfcExternalSpatialElement extends IfcExternalSpatialStructureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.PredefinedType = PredefinedType; + this.type = 1209101575; + } + } + IFC42.IfcExternalSpatialElement = IfcExternalSpatialElement; + class IfcFanType extends IfcFlowMovingDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 346874300; + } + } + IFC42.IfcFanType = IfcFanType; + class IfcFilterType extends IfcFlowTreatmentDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1810631287; + } + } + IFC42.IfcFilterType = IfcFilterType; + class IfcFireSuppressionTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4222183408; + } + } + IFC42.IfcFireSuppressionTerminalType = IfcFireSuppressionTerminalType; + class IfcFlowController extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2058353004; + } + } + IFC42.IfcFlowController = IfcFlowController; + class IfcFlowFitting extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 4278956645; + } + } + IFC42.IfcFlowFitting = IfcFlowFitting; + class IfcFlowInstrumentType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4037862832; + } + } + IFC42.IfcFlowInstrumentType = IfcFlowInstrumentType; + class IfcFlowMeter extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2188021234; + } + } + IFC42.IfcFlowMeter = IfcFlowMeter; + class IfcFlowMovingDevice extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3132237377; + } + } + IFC42.IfcFlowMovingDevice = IfcFlowMovingDevice; + class IfcFlowSegment extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 987401354; + } + } + IFC42.IfcFlowSegment = IfcFlowSegment; + class IfcFlowStorageDevice extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 707683696; + } + } + IFC42.IfcFlowStorageDevice = IfcFlowStorageDevice; + class IfcFlowTerminal extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2223149337; + } + } + IFC42.IfcFlowTerminal = IfcFlowTerminal; + class IfcFlowTreatmentDevice extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3508470533; + } + } + IFC42.IfcFlowTreatmentDevice = IfcFlowTreatmentDevice; + class IfcFooting extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 900683007; + } + } + IFC42.IfcFooting = IfcFooting; + class IfcHeatExchanger extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3319311131; + } + } + IFC42.IfcHeatExchanger = IfcHeatExchanger; + class IfcHumidifier extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2068733104; + } + } + IFC42.IfcHumidifier = IfcHumidifier; + class IfcInterceptor extends IfcFlowTreatmentDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4175244083; + } + } + IFC42.IfcInterceptor = IfcInterceptor; + class IfcJunctionBox extends IfcFlowFitting { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2176052936; + } + } + IFC42.IfcJunctionBox = IfcJunctionBox; + class IfcLamp extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 76236018; + } + } + IFC42.IfcLamp = IfcLamp; + class IfcLightFixture extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 629592764; + } + } + IFC42.IfcLightFixture = IfcLightFixture; + class IfcMedicalDevice extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1437502449; + } + } + IFC42.IfcMedicalDevice = IfcMedicalDevice; + class IfcMember extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1073191201; + } + } + IFC42.IfcMember = IfcMember; + class IfcMemberStandardCase extends IfcMember { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1911478936; + } + } + IFC42.IfcMemberStandardCase = IfcMemberStandardCase; + class IfcMotorConnection extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2474470126; + } + } + IFC42.IfcMotorConnection = IfcMotorConnection; + class IfcOuterBoundaryCurve extends IfcBoundaryCurve { + constructor(Segments, SelfIntersect) { + super(Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 144952367; + } + } + IFC42.IfcOuterBoundaryCurve = IfcOuterBoundaryCurve; + class IfcOutlet extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3694346114; + } + } + IFC42.IfcOutlet = IfcOutlet; + class IfcPile extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType, ConstructionType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.ConstructionType = ConstructionType; + this.type = 1687234759; + } + } + IFC42.IfcPile = IfcPile; + class IfcPipeFitting extends IfcFlowFitting { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 310824031; + } + } + IFC42.IfcPipeFitting = IfcPipeFitting; + class IfcPipeSegment extends IfcFlowSegment { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3612865200; + } + } + IFC42.IfcPipeSegment = IfcPipeSegment; + class IfcPlate extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3171933400; + } + } + IFC42.IfcPlate = IfcPlate; + class IfcPlateStandardCase extends IfcPlate { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1156407060; + } + } + IFC42.IfcPlateStandardCase = IfcPlateStandardCase; + class IfcProtectiveDevice extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 738039164; + } + } + IFC42.IfcProtectiveDevice = IfcProtectiveDevice; + class IfcProtectiveDeviceTrippingUnitType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 655969474; + } + } + IFC42.IfcProtectiveDeviceTrippingUnitType = IfcProtectiveDeviceTrippingUnitType; + class IfcPump extends IfcFlowMovingDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 90941305; + } + } + IFC42.IfcPump = IfcPump; + class IfcRailing extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2262370178; + } + } + IFC42.IfcRailing = IfcRailing; + class IfcRamp extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3024970846; + } + } + IFC42.IfcRamp = IfcRamp; + class IfcRampFlight extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3283111854; + } + } + IFC42.IfcRampFlight = IfcRampFlight; + class IfcRationalBSplineCurveWithKnots extends IfcBSplineCurveWithKnots { + constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec, WeightsData) { + super(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.KnotMultiplicities = KnotMultiplicities; + this.Knots = Knots; + this.KnotSpec = KnotSpec; + this.WeightsData = WeightsData; + this.type = 1232101972; + } + } + IFC42.IfcRationalBSplineCurveWithKnots = IfcRationalBSplineCurveWithKnots; + class IfcReinforcingBar extends IfcReinforcingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, NominalDiameter, CrossSectionArea, BarLength, PredefinedType, BarSurface) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.BarLength = BarLength; + this.PredefinedType = PredefinedType; + this.BarSurface = BarSurface; + this.type = 979691226; + } + } + IFC42.IfcReinforcingBar = IfcReinforcingBar; + class IfcReinforcingBarType extends IfcReinforcingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, CrossSectionArea, BarLength, BarSurface, BendingShapeCode, BendingParameters) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.BarLength = BarLength; + this.BarSurface = BarSurface; + this.BendingShapeCode = BendingShapeCode; + this.BendingParameters = BendingParameters; + this.type = 2572171363; + } + } + IFC42.IfcReinforcingBarType = IfcReinforcingBarType; + class IfcRoof extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2016517767; + } + } + IFC42.IfcRoof = IfcRoof; + class IfcSanitaryTerminal extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3053780830; + } + } + IFC42.IfcSanitaryTerminal = IfcSanitaryTerminal; + class IfcSensorType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1783015770; + } + } + IFC42.IfcSensorType = IfcSensorType; + class IfcShadingDevice extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1329646415; + } + } + IFC42.IfcShadingDevice = IfcShadingDevice; + class IfcSlab extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1529196076; + } + } + IFC42.IfcSlab = IfcSlab; + class IfcSlabElementedCase extends IfcSlab { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3127900445; + } + } + IFC42.IfcSlabElementedCase = IfcSlabElementedCase; + class IfcSlabStandardCase extends IfcSlab { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3027962421; + } + } + IFC42.IfcSlabStandardCase = IfcSlabStandardCase; + class IfcSolarDevice extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3420628829; + } + } + IFC42.IfcSolarDevice = IfcSolarDevice; + class IfcSpaceHeater extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1999602285; + } + } + IFC42.IfcSpaceHeater = IfcSpaceHeater; + class IfcStackTerminal extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1404847402; + } + } + IFC42.IfcStackTerminal = IfcStackTerminal; + class IfcStair extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 331165859; + } + } + IFC42.IfcStair = IfcStair; + class IfcStairFlight extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NumberOfRisers, NumberOfTreads, RiserHeight, TreadLength, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.NumberOfRisers = NumberOfRisers; + this.NumberOfTreads = NumberOfTreads; + this.RiserHeight = RiserHeight; + this.TreadLength = TreadLength; + this.PredefinedType = PredefinedType; + this.type = 4252922144; + } + } + IFC42.IfcStairFlight = IfcStairFlight; + class IfcStructuralAnalysisModel extends IfcSystem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, OrientationOf2DPlane, LoadedBy, HasResults, SharedPlacement) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.OrientationOf2DPlane = OrientationOf2DPlane; + this.LoadedBy = LoadedBy; + this.HasResults = HasResults; + this.SharedPlacement = SharedPlacement; + this.type = 2515109513; + } + } + IFC42.IfcStructuralAnalysisModel = IfcStructuralAnalysisModel; + class IfcStructuralLoadCase extends IfcStructuralLoadGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose, SelfWeightCoefficients) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.ActionType = ActionType; + this.ActionSource = ActionSource; + this.Coefficient = Coefficient; + this.Purpose = Purpose; + this.SelfWeightCoefficients = SelfWeightCoefficients; + this.type = 385403989; + } + } + IFC42.IfcStructuralLoadCase = IfcStructuralLoadCase; + class IfcStructuralPlanarAction extends IfcStructuralSurfaceAction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.ProjectedOrTrue = ProjectedOrTrue; + this.PredefinedType = PredefinedType; + this.type = 1621171031; + } + } + IFC42.IfcStructuralPlanarAction = IfcStructuralPlanarAction; + class IfcSwitchingDevice extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1162798199; + } + } + IFC42.IfcSwitchingDevice = IfcSwitchingDevice; + class IfcTank extends IfcFlowStorageDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 812556717; + } + } + IFC42.IfcTank = IfcTank; + class IfcTransformer extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3825984169; + } + } + IFC42.IfcTransformer = IfcTransformer; + class IfcTubeBundle extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3026737570; + } + } + IFC42.IfcTubeBundle = IfcTubeBundle; + class IfcUnitaryControlElementType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3179687236; + } + } + IFC42.IfcUnitaryControlElementType = IfcUnitaryControlElementType; + class IfcUnitaryEquipment extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4292641817; + } + } + IFC42.IfcUnitaryEquipment = IfcUnitaryEquipment; + class IfcValve extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4207607924; + } + } + IFC42.IfcValve = IfcValve; + class IfcWall extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2391406946; + } + } + IFC42.IfcWall = IfcWall; + class IfcWallElementedCase extends IfcWall { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4156078855; + } + } + IFC42.IfcWallElementedCase = IfcWallElementedCase; + class IfcWallStandardCase extends IfcWall { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3512223829; + } + } + IFC42.IfcWallStandardCase = IfcWallStandardCase; + class IfcWasteTerminal extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4237592921; + } + } + IFC42.IfcWasteTerminal = IfcWasteTerminal; + class IfcWindow extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, PartitioningType, UserDefinedPartitioningType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OverallHeight = OverallHeight; + this.OverallWidth = OverallWidth; + this.PredefinedType = PredefinedType; + this.PartitioningType = PartitioningType; + this.UserDefinedPartitioningType = UserDefinedPartitioningType; + this.type = 3304561284; + } + } + IFC42.IfcWindow = IfcWindow; + class IfcWindowStandardCase extends IfcWindow { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, PartitioningType, UserDefinedPartitioningType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, PartitioningType, UserDefinedPartitioningType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OverallHeight = OverallHeight; + this.OverallWidth = OverallWidth; + this.PredefinedType = PredefinedType; + this.PartitioningType = PartitioningType; + this.UserDefinedPartitioningType = UserDefinedPartitioningType; + this.type = 486154966; + } + } + IFC42.IfcWindowStandardCase = IfcWindowStandardCase; + class IfcActuatorType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2874132201; + } + } + IFC42.IfcActuatorType = IfcActuatorType; + class IfcAirTerminal extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1634111441; + } + } + IFC42.IfcAirTerminal = IfcAirTerminal; + class IfcAirTerminalBox extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 177149247; + } + } + IFC42.IfcAirTerminalBox = IfcAirTerminalBox; + class IfcAirToAirHeatRecovery extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2056796094; + } + } + IFC42.IfcAirToAirHeatRecovery = IfcAirToAirHeatRecovery; + class IfcAlarmType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3001207471; + } + } + IFC42.IfcAlarmType = IfcAlarmType; + class IfcAudioVisualAppliance extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 277319702; + } + } + IFC42.IfcAudioVisualAppliance = IfcAudioVisualAppliance; + class IfcBeam extends IfcBuildingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 753842376; + } + } + IFC42.IfcBeam = IfcBeam; + class IfcBeamStandardCase extends IfcBeam { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2906023776; + } + } + IFC42.IfcBeamStandardCase = IfcBeamStandardCase; + class IfcBoiler extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 32344328; + } + } + IFC42.IfcBoiler = IfcBoiler; + class IfcBurner extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2938176219; + } + } + IFC42.IfcBurner = IfcBurner; + class IfcCableCarrierFitting extends IfcFlowFitting { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 635142910; + } + } + IFC42.IfcCableCarrierFitting = IfcCableCarrierFitting; + class IfcCableCarrierSegment extends IfcFlowSegment { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3758799889; + } + } + IFC42.IfcCableCarrierSegment = IfcCableCarrierSegment; + class IfcCableFitting extends IfcFlowFitting { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1051757585; + } + } + IFC42.IfcCableFitting = IfcCableFitting; + class IfcCableSegment extends IfcFlowSegment { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4217484030; + } + } + IFC42.IfcCableSegment = IfcCableSegment; + class IfcChiller extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3902619387; + } + } + IFC42.IfcChiller = IfcChiller; + class IfcCoil extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 639361253; + } + } + IFC42.IfcCoil = IfcCoil; + class IfcCommunicationsAppliance extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3221913625; + } + } + IFC42.IfcCommunicationsAppliance = IfcCommunicationsAppliance; + class IfcCompressor extends IfcFlowMovingDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3571504051; + } + } + IFC42.IfcCompressor = IfcCompressor; + class IfcCondenser extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2272882330; + } + } + IFC42.IfcCondenser = IfcCondenser; + class IfcControllerType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 578613899; + } + } + IFC42.IfcControllerType = IfcControllerType; + class IfcCooledBeam extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4136498852; + } + } + IFC42.IfcCooledBeam = IfcCooledBeam; + class IfcCoolingTower extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3640358203; + } + } + IFC42.IfcCoolingTower = IfcCoolingTower; + class IfcDamper extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4074379575; + } + } + IFC42.IfcDamper = IfcDamper; + class IfcDistributionChamberElement extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1052013943; + } + } + IFC42.IfcDistributionChamberElement = IfcDistributionChamberElement; + class IfcDistributionCircuit extends IfcDistributionSystem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.PredefinedType = PredefinedType; + this.type = 562808652; + } + } + IFC42.IfcDistributionCircuit = IfcDistributionCircuit; + class IfcDistributionControlElement extends IfcDistributionElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1062813311; + } + } + IFC42.IfcDistributionControlElement = IfcDistributionControlElement; + class IfcDuctFitting extends IfcFlowFitting { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 342316401; + } + } + IFC42.IfcDuctFitting = IfcDuctFitting; + class IfcDuctSegment extends IfcFlowSegment { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3518393246; + } + } + IFC42.IfcDuctSegment = IfcDuctSegment; + class IfcDuctSilencer extends IfcFlowTreatmentDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1360408905; + } + } + IFC42.IfcDuctSilencer = IfcDuctSilencer; + class IfcElectricAppliance extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1904799276; + } + } + IFC42.IfcElectricAppliance = IfcElectricAppliance; + class IfcElectricDistributionBoard extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 862014818; + } + } + IFC42.IfcElectricDistributionBoard = IfcElectricDistributionBoard; + class IfcElectricFlowStorageDevice extends IfcFlowStorageDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3310460725; + } + } + IFC42.IfcElectricFlowStorageDevice = IfcElectricFlowStorageDevice; + class IfcElectricGenerator extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 264262732; + } + } + IFC42.IfcElectricGenerator = IfcElectricGenerator; + class IfcElectricMotor extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 402227799; + } + } + IFC42.IfcElectricMotor = IfcElectricMotor; + class IfcElectricTimeControl extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1003880860; + } + } + IFC42.IfcElectricTimeControl = IfcElectricTimeControl; + class IfcFan extends IfcFlowMovingDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3415622556; + } + } + IFC42.IfcFan = IfcFan; + class IfcFilter extends IfcFlowTreatmentDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 819412036; + } + } + IFC42.IfcFilter = IfcFilter; + class IfcFireSuppressionTerminal extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1426591983; + } + } + IFC42.IfcFireSuppressionTerminal = IfcFireSuppressionTerminal; + class IfcFlowInstrument extends IfcDistributionControlElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 182646315; + } + } + IFC42.IfcFlowInstrument = IfcFlowInstrument; + class IfcProtectiveDeviceTrippingUnit extends IfcDistributionControlElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2295281155; + } + } + IFC42.IfcProtectiveDeviceTrippingUnit = IfcProtectiveDeviceTrippingUnit; + class IfcSensor extends IfcDistributionControlElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4086658281; + } + } + IFC42.IfcSensor = IfcSensor; + class IfcUnitaryControlElement extends IfcDistributionControlElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 630975310; + } + } + IFC42.IfcUnitaryControlElement = IfcUnitaryControlElement; + class IfcActuator extends IfcDistributionControlElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4288193352; + } + } + IFC42.IfcActuator = IfcActuator; + class IfcAlarm extends IfcDistributionControlElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3087945054; + } + } + IFC42.IfcAlarm = IfcAlarm; + class IfcController extends IfcDistributionControlElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 25142252; + } + } + IFC42.IfcController = IfcController; +})(IFC4$1 || (IFC4$1 = {})); +SchemaNames[5] = ["IFC4X3", "IFC4X3_RC3", "IFC4X3_RC1", "IFC4X3_RC2"]; +FromRawLineData[5] = { + 3630933823: (v) => new IFC4X3$1.IfcActorRole(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcText(!v[2] ? null : v[2].value)), + 618182010: (v) => new IFC4X3$1.IfcAddress(v[0], !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 2879124712: (v) => new IFC4X3$1.IfcAlignmentParameterSegment(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value)), + 3633395639: (v) => new IFC4X3$1.IfcAlignmentVerticalSegment(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), new IFC4X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[3] ? null : v[3].value), new IFC4X3$1.IfcLengthMeasure(!v[4] ? null : v[4].value), new IFC4X3$1.IfcRatioMeasure(!v[5] ? null : v[5].value), new IFC4X3$1.IfcRatioMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLengthMeasure(!v[7] ? null : v[7].value), v[8]), + 639542469: (v) => new IFC4X3$1.IfcApplication(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), new IFC4X3$1.IfcIdentifier(!v[3] ? null : v[3].value)), + 411424972: (v) => { + var _a; + return new IFC4X3$1.IfcAppliedValue(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcDate(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcDate(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], !v[9] ? null : ((_a = v[9]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 130549933: (v) => new IFC4X3$1.IfcApproval(!v[0] ? null : new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcText(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcDateTime(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 4037036970: (v) => new IFC4X3$1.IfcBoundaryCondition(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 1560379544: (v) => new IFC4X3$1.IfcBoundaryEdgeCondition(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : TypeInitialiser(5, v[1]), !v[2] ? null : TypeInitialiser(5, v[2]), !v[3] ? null : TypeInitialiser(5, v[3]), !v[4] ? null : TypeInitialiser(5, v[4]), !v[5] ? null : TypeInitialiser(5, v[5]), !v[6] ? null : TypeInitialiser(5, v[6])), + 3367102660: (v) => new IFC4X3$1.IfcBoundaryFaceCondition(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : TypeInitialiser(5, v[1]), !v[2] ? null : TypeInitialiser(5, v[2]), !v[3] ? null : TypeInitialiser(5, v[3])), + 1387855156: (v) => new IFC4X3$1.IfcBoundaryNodeCondition(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : TypeInitialiser(5, v[1]), !v[2] ? null : TypeInitialiser(5, v[2]), !v[3] ? null : TypeInitialiser(5, v[3]), !v[4] ? null : TypeInitialiser(5, v[4]), !v[5] ? null : TypeInitialiser(5, v[5]), !v[6] ? null : TypeInitialiser(5, v[6])), + 2069777674: (v) => new IFC4X3$1.IfcBoundaryNodeConditionWarping(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : TypeInitialiser(5, v[1]), !v[2] ? null : TypeInitialiser(5, v[2]), !v[3] ? null : TypeInitialiser(5, v[3]), !v[4] ? null : TypeInitialiser(5, v[4]), !v[5] ? null : TypeInitialiser(5, v[5]), !v[6] ? null : TypeInitialiser(5, v[6]), !v[7] ? null : TypeInitialiser(5, v[7])), + 2859738748: (_) => new IFC4X3$1.IfcConnectionGeometry(), + 2614616156: (v) => new IFC4X3$1.IfcConnectionPointGeometry(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 2732653382: (v) => new IFC4X3$1.IfcConnectionSurfaceGeometry(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 775493141: (v) => new IFC4X3$1.IfcConnectionVolumeGeometry(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 1959218052: (v) => new IFC4X3$1.IfcConstraint(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), v[2], !v[3] ? null : new IFC4X3$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcDateTime(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value)), + 1785450214: (v) => new IFC4X3$1.IfcCoordinateOperation(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 1466758467: (v) => new IFC4X3$1.IfcCoordinateReferenceSystem(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcIdentifier(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcIdentifier(!v[3] ? null : v[3].value)), + 602808272: (v) => { + var _a; + return new IFC4X3$1.IfcCostValue(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcDate(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcDate(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], !v[9] ? null : ((_a = v[9]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1765591967: (v) => { + var _a; + return new IFC4X3$1.IfcDerivedUnit(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[1], !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcLabel(!v[3] ? null : v[3].value)); + }, + 1045800335: (v) => new IFC4X3$1.IfcDerivedUnitElement(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : v[1].value), + 2949456006: (v) => new IFC4X3$1.IfcDimensionalExponents(!v[0] ? null : v[0].value, !v[1] ? null : v[1].value, !v[2] ? null : v[2].value, !v[3] ? null : v[3].value, !v[4] ? null : v[4].value, !v[5] ? null : v[5].value, !v[6] ? null : v[6].value), + 4294318154: (_) => new IFC4X3$1.IfcExternalInformation(), + 3200245327: (v) => new IFC4X3$1.IfcExternalReference(!v[0] ? null : new IFC4X3$1.IfcURIReference(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 2242383968: (v) => new IFC4X3$1.IfcExternallyDefinedHatchStyle(!v[0] ? null : new IFC4X3$1.IfcURIReference(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 1040185647: (v) => new IFC4X3$1.IfcExternallyDefinedSurfaceStyle(!v[0] ? null : new IFC4X3$1.IfcURIReference(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 3548104201: (v) => new IFC4X3$1.IfcExternallyDefinedTextFont(!v[0] ? null : new IFC4X3$1.IfcURIReference(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 852622518: (v) => new IFC4X3$1.IfcGridAxis(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new IFC4X3$1.IfcBoolean(!v[2] ? null : v[2].value)), + 3020489413: (v) => { + var _a; + return new IFC4X3$1.IfcIrregularTimeSeriesValue(new IFC4X3$1.IfcDateTime(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(5, p) : null)) || []); + }, + 2655187982: (v) => new IFC4X3$1.IfcLibraryInformation(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcDateTime(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcURIReference(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcText(!v[5] ? null : v[5].value)), + 3452421091: (v) => new IFC4X3$1.IfcLibraryReference(!v[0] ? null : new IFC4X3$1.IfcURIReference(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLanguageId(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value)), + 4162380809: (v) => { + var _a, _b; + return new IFC4X3$1.IfcLightDistributionData(new IFC4X3$1.IfcPlaneAngleMeasure(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcPlaneAngleMeasure(p.value) : null)) || [], ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLuminousIntensityDistributionMeasure(p.value) : null)) || []); + }, + 1566485204: (v) => { + var _a; + return new IFC4X3$1.IfcLightIntensityDistribution(v[0], ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3057273783: (v) => new IFC4X3$1.IfcMapConversion(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new IFC4X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), new IFC4X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value), new IFC4X3$1.IfcLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcReal(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcReal(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcReal(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcReal(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcReal(!v[9] ? null : v[9].value)), + 1847130766: (v) => { + var _a; + return new IFC4X3$1.IfcMaterialClassificationRelationship(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[1] ? null : v[1].value)); + }, + 760658860: (_) => new IFC4X3$1.IfcMaterialDefinition(), + 248100487: (v) => new IFC4X3$1.IfcMaterialLayer(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLogical(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcText(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcInteger(!v[6] ? null : v[6].value)), + 3303938423: (v) => { + var _a; + return new IFC4X3$1.IfcMaterialLayerSet(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcText(!v[2] ? null : v[2].value)); + }, + 1847252529: (v) => new IFC4X3$1.IfcMaterialLayerWithOffsets(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLogical(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcText(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcInteger(!v[6] ? null : v[6].value), v[7], new IFC4X3$1.IfcLengthMeasure(!v[8] ? null : v[8].value)), + 2199411900: (v) => { + var _a; + return new IFC4X3$1.IfcMaterialList(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2235152071: (v) => new IFC4X3$1.IfcMaterialProfile(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcInteger(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcLabel(!v[5] ? null : v[5].value)), + 164193824: (v) => { + var _a; + return new IFC4X3$1.IfcMaterialProfileSet(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)); + }, + 552965576: (v) => new IFC4X3$1.IfcMaterialProfileWithOffsets(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcInteger(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcLabel(!v[5] ? null : v[5].value), new IFC4X3$1.IfcLengthMeasure(!v[6] ? null : v[6].value)), + 1507914824: (_) => new IFC4X3$1.IfcMaterialUsageDefinition(), + 2597039031: (v) => new IFC4X3$1.IfcMeasureWithUnit(TypeInitialiser(5, v[0]), new Handle$5(!v[1] ? null : v[1].value)), + 3368373690: (v) => new IFC4X3$1.IfcMetric(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), v[2], !v[3] ? null : new IFC4X3$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcDateTime(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value)), + 2706619895: (v) => new IFC4X3$1.IfcMonetaryUnit(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 1918398963: (v) => new IFC4X3$1.IfcNamedUnit(new Handle$5(!v[0] ? null : v[0].value), v[1]), + 3701648758: (v) => new IFC4X3$1.IfcObjectPlacement(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value)), + 2251480897: (v) => { + var _a; + return new IFC4X3$1.IfcObjective(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), v[2], !v[3] ? null : new IFC4X3$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcDateTime(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[8], v[9], !v[10] ? null : new IFC4X3$1.IfcLabel(!v[10] ? null : v[10].value)); + }, + 4251960020: (v) => { + var _a, _b; + return new IFC4X3$1.IfcOrganization(!v[0] ? null : new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcText(!v[2] ? null : v[2].value), !v[3] ? null : ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[4] ? null : ((_b = v[4]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1207048766: (v) => new IFC4X3$1.IfcOwnerHistory(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), v[2], v[3], !v[4] ? null : new IFC4X3$1.IfcTimeStamp(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new IFC4X3$1.IfcTimeStamp(!v[7] ? null : v[7].value)), + 2077209135: (v) => { + var _a, _b, _c, _d, _e; + return new IFC4X3$1.IfcPerson(!v[0] ? null : new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLabel(p.value) : null)) || [], !v[4] ? null : ((_b = v[4]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLabel(p.value) : null)) || [], !v[5] ? null : ((_c = v[5]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLabel(p.value) : null)) || [], !v[6] ? null : ((_d = v[6]) == null ? void 0 : _d.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : ((_e = v[7]) == null ? void 0 : _e.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 101040310: (v) => { + var _a; + return new IFC4X3$1.IfcPersonAndOrganization(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2483315170: (v) => new IFC4X3$1.IfcPhysicalQuantity(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value)), + 2226359599: (v) => new IFC4X3$1.IfcPhysicalSimpleQuantity(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)), + 3355820592: (v) => { + var _a; + return new IFC4X3$1.IfcPostalAddress(v[0], !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLabel(p.value) : null)) || [], !v[5] ? null : new IFC4X3$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcLabel(!v[9] ? null : v[9].value)); + }, + 677532197: (_) => new IFC4X3$1.IfcPresentationItem(), + 2022622350: (v) => { + var _a; + return new IFC4X3$1.IfcPresentationLayerAssignment(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[3] ? null : new IFC4X3$1.IfcIdentifier(!v[3] ? null : v[3].value)); + }, + 1304840413: (v) => { + var _a, _b; + return new IFC4X3$1.IfcPresentationLayerWithStyle(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[3] ? null : new IFC4X3$1.IfcIdentifier(!v[3] ? null : v[3].value), new IFC4X3$1.IfcLogical(!v[4] ? null : v[4].value), new IFC4X3$1.IfcLogical(!v[5] ? null : v[5].value), new IFC4X3$1.IfcLogical(!v[6] ? null : v[6].value), !v[7] ? null : ((_b = v[7]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3119450353: (v) => new IFC4X3$1.IfcPresentationStyle(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 2095639259: (v) => { + var _a; + return new IFC4X3$1.IfcProductRepresentation(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3958567839: (v) => new IFC4X3$1.IfcProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value)), + 3843373140: (v) => new IFC4X3$1.IfcProjectedCRS(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcIdentifier(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcIdentifier(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 986844984: (_) => new IFC4X3$1.IfcPropertyAbstraction(), + 3710013099: (v) => { + var _a; + return new IFC4X3$1.IfcPropertyEnumeration(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(5, p) : null)) || [], !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)); + }, + 2044713172: (v) => new IFC4X3$1.IfcQuantityArea(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcAreaMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 2093928680: (v) => new IFC4X3$1.IfcQuantityCount(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcCountMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 931644368: (v) => new IFC4X3$1.IfcQuantityLength(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 2691318326: (v) => new IFC4X3$1.IfcQuantityNumber(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcNumericMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 3252649465: (v) => new IFC4X3$1.IfcQuantityTime(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcTimeMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 2405470396: (v) => new IFC4X3$1.IfcQuantityVolume(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcVolumeMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 825690147: (v) => new IFC4X3$1.IfcQuantityWeight(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcMassMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 3915482550: (v) => { + var _a, _b, _c, _d; + return new IFC4X3$1.IfcRecurrencePattern(v[0], !v[1] ? null : ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcDayInMonthNumber(p.value) : null)) || [], !v[2] ? null : ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcDayInWeekNumber(p.value) : null)) || [], !v[3] ? null : ((_c = v[3]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcMonthInYearNumber(p.value) : null)) || [], !v[4] ? null : new IFC4X3$1.IfcInteger(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcInteger(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcInteger(!v[6] ? null : v[6].value), !v[7] ? null : ((_d = v[7]) == null ? void 0 : _d.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2433181523: (v) => { + var _a; + return new IFC4X3$1.IfcReference(!v[0] ? null : new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcInteger(p.value) : null)) || [], !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value)); + }, + 1076942058: (v) => { + var _a; + return new IFC4X3$1.IfcRepresentation(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3377609919: (v) => new IFC4X3$1.IfcRepresentationContext(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value)), + 3008791417: (_) => new IFC4X3$1.IfcRepresentationItem(), + 1660063152: (v) => new IFC4X3$1.IfcRepresentationMap(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 2439245199: (v) => new IFC4X3$1.IfcResourceLevelRelationship(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value)), + 2341007311: (v) => new IFC4X3$1.IfcRoot(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value)), + 448429030: (v) => new IFC4X3$1.IfcSIUnit(new Handle$5(!v[0] ? null : v[0].value), v[1], v[2], v[3]), + 1054537805: (v) => new IFC4X3$1.IfcSchedulingTime(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), v[1], !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 867548509: (v) => { + var _a; + return new IFC4X3$1.IfcShapeAspect(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcText(!v[2] ? null : v[2].value), new IFC4X3$1.IfcLogical(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value)); + }, + 3982875396: (v) => { + var _a; + return new IFC4X3$1.IfcShapeModel(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 4240577450: (v) => { + var _a; + return new IFC4X3$1.IfcShapeRepresentation(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2273995522: (v) => new IFC4X3$1.IfcStructuralConnectionCondition(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 2162789131: (v) => new IFC4X3$1.IfcStructuralLoad(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 3478079324: (v) => { + var _a, _b; + return new IFC4X3$1.IfcStructuralLoadConfiguration(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLengthMeasure(p.value) : null)) || []); + }, + 609421318: (v) => new IFC4X3$1.IfcStructuralLoadOrResult(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 2525727697: (v) => new IFC4X3$1.IfcStructuralLoadStatic(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 3408363356: (v) => new IFC4X3$1.IfcStructuralLoadTemperature(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcThermodynamicTemperatureMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcThermodynamicTemperatureMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcThermodynamicTemperatureMeasure(!v[3] ? null : v[3].value)), + 2830218821: (v) => { + var _a; + return new IFC4X3$1.IfcStyleModel(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3958052878: (v) => { + var _a; + return new IFC4X3$1.IfcStyledItem(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value)); + }, + 3049322572: (v) => { + var _a; + return new IFC4X3$1.IfcStyledRepresentation(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2934153892: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSurfaceReinforcementArea(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLengthMeasure(p.value) : null)) || [], !v[2] ? null : ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLengthMeasure(p.value) : null)) || [], !v[3] ? null : new IFC4X3$1.IfcRatioMeasure(!v[3] ? null : v[3].value)); + }, + 1300840506: (v) => { + var _a; + return new IFC4X3$1.IfcSurfaceStyle(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), v[1], ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3303107099: (v) => new IFC4X3$1.IfcSurfaceStyleLighting(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)), + 1607154358: (v) => new IFC4X3$1.IfcSurfaceStyleRefraction(!v[0] ? null : new IFC4X3$1.IfcReal(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcReal(!v[1] ? null : v[1].value)), + 846575682: (v) => new IFC4X3$1.IfcSurfaceStyleShading(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[1] ? null : v[1].value)), + 1351298697: (v) => { + var _a; + return new IFC4X3$1.IfcSurfaceStyleWithTextures(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 626085974: (v) => { + var _a; + return new IFC4X3$1.IfcSurfaceTexture(new IFC4X3$1.IfcBoolean(!v[0] ? null : v[0].value), new IFC4X3$1.IfcBoolean(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcIdentifier(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcIdentifier(p.value) : null)) || []); + }, + 985171141: (v) => { + var _a, _b; + return new IFC4X3$1.IfcTable(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2043862942: (v) => new IFC4X3$1.IfcTableColumn(!v[0] ? null : new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcText(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value)), + 531007025: (v) => { + var _a; + return new IFC4X3$1.IfcTableRow(!v[0] ? null : ((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(5, p) : null)) || [], !v[1] ? null : new IFC4X3$1.IfcBoolean(!v[1] ? null : v[1].value)); + }, + 1549132990: (v) => new IFC4X3$1.IfcTaskTime(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), v[1], !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), v[3], !v[4] ? null : new IFC4X3$1.IfcDuration(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcDateTime(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcDateTime(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcDateTime(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcDateTime(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcDateTime(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcDateTime(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4X3$1.IfcDuration(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcDuration(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4X3$1.IfcBoolean(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4X3$1.IfcDateTime(!v[14] ? null : v[14].value), !v[15] ? null : new IFC4X3$1.IfcDuration(!v[15] ? null : v[15].value), !v[16] ? null : new IFC4X3$1.IfcDateTime(!v[16] ? null : v[16].value), !v[17] ? null : new IFC4X3$1.IfcDateTime(!v[17] ? null : v[17].value), !v[18] ? null : new IFC4X3$1.IfcDuration(!v[18] ? null : v[18].value), !v[19] ? null : new IFC4X3$1.IfcPositiveRatioMeasure(!v[19] ? null : v[19].value)), + 2771591690: (v) => new IFC4X3$1.IfcTaskTimeRecurring(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), v[1], !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), v[3], !v[4] ? null : new IFC4X3$1.IfcDuration(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcDateTime(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcDateTime(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcDateTime(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcDateTime(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcDateTime(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcDateTime(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4X3$1.IfcDuration(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcDuration(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4X3$1.IfcBoolean(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4X3$1.IfcDateTime(!v[14] ? null : v[14].value), !v[15] ? null : new IFC4X3$1.IfcDuration(!v[15] ? null : v[15].value), !v[16] ? null : new IFC4X3$1.IfcDateTime(!v[16] ? null : v[16].value), !v[17] ? null : new IFC4X3$1.IfcDateTime(!v[17] ? null : v[17].value), !v[18] ? null : new IFC4X3$1.IfcDuration(!v[18] ? null : v[18].value), !v[19] ? null : new IFC4X3$1.IfcPositiveRatioMeasure(!v[19] ? null : v[19].value), new Handle$5(!v[20] ? null : v[20].value)), + 912023232: (v) => { + var _a, _b, _c, _d; + return new IFC4X3$1.IfcTelecomAddress(v[0], !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLabel(p.value) : null)) || [], !v[4] ? null : ((_b = v[4]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLabel(p.value) : null)) || [], !v[5] ? null : new IFC4X3$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : ((_c = v[6]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLabel(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcURIReference(!v[7] ? null : v[7].value), !v[8] ? null : ((_d = v[8]) == null ? void 0 : _d.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcURIReference(p.value) : null)) || []); + }, + 1447204868: (v) => new IFC4X3$1.IfcTextStyle(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcBoolean(!v[4] ? null : v[4].value)), + 2636378356: (v) => new IFC4X3$1.IfcTextStyleForDefinedFont(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 1640371178: (v) => new IFC4X3$1.IfcTextStyleTextModel(!v[0] ? null : TypeInitialiser(5, v[0]), !v[1] ? null : new IFC4X3$1.IfcTextAlignment(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcTextDecoration(!v[2] ? null : v[2].value), !v[3] ? null : TypeInitialiser(5, v[3]), !v[4] ? null : TypeInitialiser(5, v[4]), !v[5] ? null : new IFC4X3$1.IfcTextTransformation(!v[5] ? null : v[5].value), !v[6] ? null : TypeInitialiser(5, v[6])), + 280115917: (v) => { + var _a; + return new IFC4X3$1.IfcTextureCoordinate(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1742049831: (v) => { + var _a, _b; + return new IFC4X3$1.IfcTextureCoordinateGenerator(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcReal(p.value) : null)) || []); + }, + 222769930: (v) => { + var _a; + return new IFC4X3$1.IfcTextureCoordinateIndices(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcPositiveInteger(p.value) : null)) || [], new Handle$5(!v[1] ? null : v[1].value)); + }, + 1010789467: (v) => { + var _a, _b; + return new IFC4X3$1.IfcTextureCoordinateIndicesWithVoids(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcPositiveInteger(p.value) : null)) || [], new Handle$5(!v[1] ? null : v[1].value), ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcPositiveInteger(p.value) : null)) || []); + }, + 2552916305: (v) => { + var _a, _b; + return new IFC4X3$1.IfcTextureMap(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[1]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[2] ? null : v[2].value)); + }, + 1210645708: (v) => { + var _a; + return new IFC4X3$1.IfcTextureVertex(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcParameterValue(p.value) : null)) || []); + }, + 3611470254: (v) => { + var _a; + return new IFC4X3$1.IfcTextureVertexList(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcParameterValue(p.value) : null)) || []); + }, + 1199560280: (v) => new IFC4X3$1.IfcTimePeriod(new IFC4X3$1.IfcTime(!v[0] ? null : v[0].value), new IFC4X3$1.IfcTime(!v[1] ? null : v[1].value)), + 3101149627: (v) => new IFC4X3$1.IfcTimeSeries(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), new IFC4X3$1.IfcDateTime(!v[2] ? null : v[2].value), new IFC4X3$1.IfcDateTime(!v[3] ? null : v[3].value), v[4], v[5], !v[6] ? null : new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)), + 581633288: (v) => { + var _a; + return new IFC4X3$1.IfcTimeSeriesValue(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(5, p) : null)) || []); + }, + 1377556343: (_) => new IFC4X3$1.IfcTopologicalRepresentationItem(), + 1735638870: (v) => { + var _a; + return new IFC4X3$1.IfcTopologyRepresentation(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 180925521: (v) => { + var _a; + return new IFC4X3$1.IfcUnitAssignment(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2799835756: (_) => new IFC4X3$1.IfcVertex(), + 1907098498: (v) => new IFC4X3$1.IfcVertexPoint(new Handle$5(!v[0] ? null : v[0].value)), + 891718957: (v) => { + var _a, _b; + return new IFC4X3$1.IfcVirtualGridIntersection(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[1]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLengthMeasure(p.value) : null)) || []); + }, + 1236880293: (v) => new IFC4X3$1.IfcWorkTime(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), v[1], !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcDate(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcDate(!v[5] ? null : v[5].value)), + 3752311538: (v) => new IFC4X3$1.IfcAlignmentCantSegment(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), new IFC4X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[3] ? null : v[3].value), new IFC4X3$1.IfcLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcLengthMeasure(!v[5] ? null : v[5].value), new IFC4X3$1.IfcLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLengthMeasure(!v[7] ? null : v[7].value), v[8]), + 536804194: (v) => new IFC4X3$1.IfcAlignmentHorizontalSegment(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPlaneAngleMeasure(!v[3] ? null : v[3].value), new IFC4X3$1.IfcLengthMeasure(!v[4] ? null : v[4].value), new IFC4X3$1.IfcLengthMeasure(!v[5] ? null : v[5].value), new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), v[8]), + 3869604511: (v) => { + var _a; + return new IFC4X3$1.IfcApprovalRelationship(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3798115385: (v) => new IFC4X3$1.IfcArbitraryClosedProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 1310608509: (v) => new IFC4X3$1.IfcArbitraryOpenProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 2705031697: (v) => { + var _a; + return new IFC4X3$1.IfcArbitraryProfileDefWithVoids(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 616511568: (v) => { + var _a; + return new IFC4X3$1.IfcBlobTexture(new IFC4X3$1.IfcBoolean(!v[0] ? null : v[0].value), new IFC4X3$1.IfcBoolean(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcIdentifier(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcIdentifier(p.value) : null)) || [], new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), new IFC4X3$1.IfcBinary(!v[6] ? null : v[6].value)); + }, + 3150382593: (v) => new IFC4X3$1.IfcCenterLineProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 747523909: (v) => { + var _a; + return new IFC4X3$1.IfcClassification(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcDate(!v[2] ? null : v[2].value), new IFC4X3$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcText(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcURIReference(!v[5] ? null : v[5].value), !v[6] ? null : ((_a = v[6]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcIdentifier(p.value) : null)) || []); + }, + 647927063: (v) => new IFC4X3$1.IfcClassificationReference(!v[0] ? null : new IFC4X3$1.IfcURIReference(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcText(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value)), + 3285139300: (v) => { + var _a; + return new IFC4X3$1.IfcColourRgbList(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcNormalisedRatioMeasure(p.value) : null)) || []); + }, + 3264961684: (v) => new IFC4X3$1.IfcColourSpecification(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 1485152156: (v) => { + var _a; + return new IFC4X3$1.IfcCompositeProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[3] ? null : new IFC4X3$1.IfcLabel(!v[3] ? null : v[3].value)); + }, + 370225590: (v) => { + var _a; + return new IFC4X3$1.IfcConnectedFaceSet(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1981873012: (v) => new IFC4X3$1.IfcConnectionCurveGeometry(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 45288368: (v) => new IFC4X3$1.IfcConnectionPointEccentricity(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLengthMeasure(!v[4] ? null : v[4].value)), + 3050246964: (v) => new IFC4X3$1.IfcContextDependentUnit(new Handle$5(!v[0] ? null : v[0].value), v[1], new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 2889183280: (v) => new IFC4X3$1.IfcConversionBasedUnit(new Handle$5(!v[0] ? null : v[0].value), v[1], new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)), + 2713554722: (v) => new IFC4X3$1.IfcConversionBasedUnitWithOffset(new Handle$5(!v[0] ? null : v[0].value), v[1], new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), new IFC4X3$1.IfcReal(!v[4] ? null : v[4].value)), + 539742890: (v) => new IFC4X3$1.IfcCurrencyRelationship(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), new IFC4X3$1.IfcPositiveRatioMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcDateTime(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 3800577675: (v) => new IFC4X3$1.IfcCurveStyle(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : TypeInitialiser(5, v[2]), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcBoolean(!v[4] ? null : v[4].value)), + 1105321065: (v) => { + var _a; + return new IFC4X3$1.IfcCurveStyleFont(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2367409068: (v) => new IFC4X3$1.IfcCurveStyleFontAndScaling(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new IFC4X3$1.IfcPositiveRatioMeasure(!v[2] ? null : v[2].value)), + 3510044353: (v) => new IFC4X3$1.IfcCurveStyleFontPattern(new IFC4X3$1.IfcLengthMeasure(!v[0] ? null : v[0].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value)), + 3632507154: (v) => new IFC4X3$1.IfcDerivedProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 1154170062: (v) => { + var _a; + return new IFC4X3$1.IfcDocumentInformation(new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcText(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcURIReference(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcText(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcText(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value), !v[9] ? null : ((_a = v[9]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new IFC4X3$1.IfcDateTime(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4X3$1.IfcDateTime(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcIdentifier(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4X3$1.IfcDate(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4X3$1.IfcDate(!v[14] ? null : v[14].value), v[15], v[16]); + }, + 770865208: (v) => { + var _a; + return new IFC4X3$1.IfcDocumentInformationRelationship(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value)); + }, + 3732053477: (v) => new IFC4X3$1.IfcDocumentReference(!v[0] ? null : new IFC4X3$1.IfcURIReference(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcIdentifier(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value)), + 3900360178: (v) => new IFC4X3$1.IfcEdge(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 476780140: (v) => new IFC4X3$1.IfcEdgeCurve(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcBoolean(!v[3] ? null : v[3].value)), + 211053100: (v) => new IFC4X3$1.IfcEventTime(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), v[1], !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcDateTime(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcDateTime(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcDateTime(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcDateTime(!v[6] ? null : v[6].value)), + 297599258: (v) => { + var _a; + return new IFC4X3$1.IfcExtendedProperties(!v[0] ? null : new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1437805879: (v) => { + var _a; + return new IFC4X3$1.IfcExternalReferenceRelationship(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2556980723: (v) => { + var _a; + return new IFC4X3$1.IfcFace(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1809719519: (v) => new IFC4X3$1.IfcFaceBound(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcBoolean(!v[1] ? null : v[1].value)), + 803316827: (v) => new IFC4X3$1.IfcFaceOuterBound(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcBoolean(!v[1] ? null : v[1].value)), + 3008276851: (v) => { + var _a; + return new IFC4X3$1.IfcFaceSurface(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[1] ? null : v[1].value), new IFC4X3$1.IfcBoolean(!v[2] ? null : v[2].value)); + }, + 4219587988: (v) => new IFC4X3$1.IfcFailureConnectionCondition(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcForceMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcForceMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcForceMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcForceMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcForceMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcForceMeasure(!v[6] ? null : v[6].value)), + 738692330: (v) => { + var _a; + return new IFC4X3$1.IfcFillAreaStyle(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC4X3$1.IfcBoolean(!v[2] ? null : v[2].value)); + }, + 3448662350: (v) => new IFC4X3$1.IfcGeometricRepresentationContext(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), new IFC4X3$1.IfcDimensionCount(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcReal(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value)), + 2453401579: (_) => new IFC4X3$1.IfcGeometricRepresentationItem(), + 4142052618: (v) => new IFC4X3$1.IfcGeometricRepresentationSubContext(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcPositiveRatioMeasure(!v[4] ? null : v[4].value), v[5], !v[6] ? null : new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value)), + 3590301190: (v) => { + var _a; + return new IFC4X3$1.IfcGeometricSet(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 178086475: (v) => new IFC4X3$1.IfcGridPlacement(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)), + 812098782: (v) => new IFC4X3$1.IfcHalfSpaceSolid(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcBoolean(!v[1] ? null : v[1].value)), + 3905492369: (v) => { + var _a; + return new IFC4X3$1.IfcImageTexture(new IFC4X3$1.IfcBoolean(!v[0] ? null : v[0].value), new IFC4X3$1.IfcBoolean(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcIdentifier(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcIdentifier(p.value) : null)) || [], new IFC4X3$1.IfcURIReference(!v[5] ? null : v[5].value)); + }, + 3570813810: (v) => { + var _a; + return new IFC4X3$1.IfcIndexedColourMap(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcPositiveInteger(p.value) : null)) || []); + }, + 1437953363: (v) => { + var _a; + return new IFC4X3$1.IfcIndexedTextureMap(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)); + }, + 2133299955: (v) => { + var _a, _b; + return new IFC4X3$1.IfcIndexedTriangleTextureMap(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : ((_b = v[3]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcPositiveInteger(p.value) : null)) || []); + }, + 3741457305: (v) => { + var _a; + return new IFC4X3$1.IfcIrregularTimeSeries(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), new IFC4X3$1.IfcDateTime(!v[2] ? null : v[2].value), new IFC4X3$1.IfcDateTime(!v[3] ? null : v[3].value), v[4], v[5], !v[6] ? null : new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1585845231: (v) => new IFC4X3$1.IfcLagTime(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), v[1], !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), TypeInitialiser(5, v[3]), v[4]), + 1402838566: (v) => new IFC4X3$1.IfcLightSource(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value)), + 125510826: (v) => new IFC4X3$1.IfcLightSourceAmbient(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value)), + 2604431987: (v) => new IFC4X3$1.IfcLightSourceDirectional(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value)), + 4266656042: (v) => new IFC4X3$1.IfcLightSourceGoniometric(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), new IFC4X3$1.IfcThermodynamicTemperatureMeasure(!v[6] ? null : v[6].value), new IFC4X3$1.IfcLuminousFluxMeasure(!v[7] ? null : v[7].value), v[8], new Handle$5(!v[9] ? null : v[9].value)), + 1520743889: (v) => new IFC4X3$1.IfcLightSourcePositional(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4X3$1.IfcReal(!v[6] ? null : v[6].value), new IFC4X3$1.IfcReal(!v[7] ? null : v[7].value), new IFC4X3$1.IfcReal(!v[8] ? null : v[8].value)), + 3422422726: (v) => new IFC4X3$1.IfcLightSourceSpot(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4X3$1.IfcReal(!v[6] ? null : v[6].value), new IFC4X3$1.IfcReal(!v[7] ? null : v[7].value), new IFC4X3$1.IfcReal(!v[8] ? null : v[8].value), new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcReal(!v[10] ? null : v[10].value), new IFC4X3$1.IfcPositivePlaneAngleMeasure(!v[11] ? null : v[11].value), new IFC4X3$1.IfcPositivePlaneAngleMeasure(!v[12] ? null : v[12].value)), + 388784114: (v) => new IFC4X3$1.IfcLinearPlacement(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)), + 2624227202: (v) => new IFC4X3$1.IfcLocalPlacement(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 1008929658: (_) => new IFC4X3$1.IfcLoop(), + 2347385850: (v) => new IFC4X3$1.IfcMappedItem(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 1838606355: (v) => new IFC4X3$1.IfcMaterial(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value)), + 3708119e3: (v) => new IFC4X3$1.IfcMaterialConstituent(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 2852063980: (v) => { + var _a; + return new IFC4X3$1.IfcMaterialConstituentSet(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2022407955: (v) => { + var _a; + return new IFC4X3$1.IfcMaterialDefinitionRepresentation(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[3] ? null : v[3].value)); + }, + 1303795690: (v) => new IFC4X3$1.IfcMaterialLayerSetUsage(new Handle$5(!v[0] ? null : v[0].value), v[1], v[2], new IFC4X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value)), + 3079605661: (v) => new IFC4X3$1.IfcMaterialProfileSetUsage(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcCardinalPointReference(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value)), + 3404854881: (v) => new IFC4X3$1.IfcMaterialProfileSetUsageTapering(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcCardinalPointReference(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcCardinalPointReference(!v[4] ? null : v[4].value)), + 3265635763: (v) => { + var _a; + return new IFC4X3$1.IfcMaterialProperties(!v[0] ? null : new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[3] ? null : v[3].value)); + }, + 853536259: (v) => { + var _a; + return new IFC4X3$1.IfcMaterialRelationship(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value)); + }, + 2998442950: (v) => new IFC4X3$1.IfcMirroredProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 219451334: (v) => new IFC4X3$1.IfcObjectDefinition(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value)), + 182550632: (v) => { + var _a, _b, _c; + return new IFC4X3$1.IfcOpenCrossProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), new IFC4X3$1.IfcBoolean(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcNonNegativeLengthMeasure(p.value) : null)) || [], ((_b = v[4]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcPlaneAngleMeasure(p.value) : null)) || [], !v[5] ? null : ((_c = v[5]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLabel(p.value) : null)) || [], !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)); + }, + 2665983363: (v) => { + var _a; + return new IFC4X3$1.IfcOpenShell(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1411181986: (v) => { + var _a; + return new IFC4X3$1.IfcOrganizationRelationship(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1029017970: (v) => new IFC4X3$1.IfcOrientedEdge(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new IFC4X3$1.IfcBoolean(!v[2] ? null : v[2].value)), + 2529465313: (v) => new IFC4X3$1.IfcParameterizedProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)), + 2519244187: (v) => { + var _a; + return new IFC4X3$1.IfcPath(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3021840470: (v) => { + var _a; + return new IFC4X3$1.IfcPhysicalComplexQuantity(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4X3$1.IfcLabel(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcLabel(!v[5] ? null : v[5].value)); + }, + 597895409: (v) => { + var _a, _b; + return new IFC4X3$1.IfcPixelTexture(new IFC4X3$1.IfcBoolean(!v[0] ? null : v[0].value), new IFC4X3$1.IfcBoolean(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcIdentifier(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcIdentifier(p.value) : null)) || [], new IFC4X3$1.IfcInteger(!v[5] ? null : v[5].value), new IFC4X3$1.IfcInteger(!v[6] ? null : v[6].value), new IFC4X3$1.IfcInteger(!v[7] ? null : v[7].value), ((_b = v[8]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcBinary(p.value) : null)) || []); + }, + 2004835150: (v) => new IFC4X3$1.IfcPlacement(new Handle$5(!v[0] ? null : v[0].value)), + 1663979128: (v) => new IFC4X3$1.IfcPlanarExtent(new IFC4X3$1.IfcLengthMeasure(!v[0] ? null : v[0].value), new IFC4X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value)), + 2067069095: (_) => new IFC4X3$1.IfcPoint(), + 2165702409: (v) => new IFC4X3$1.IfcPointByDistanceExpression(TypeInitialiser(5, v[0]), !v[1] ? null : new IFC4X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value)), + 4022376103: (v) => new IFC4X3$1.IfcPointOnCurve(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcParameterValue(!v[1] ? null : v[1].value)), + 1423911732: (v) => new IFC4X3$1.IfcPointOnSurface(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcParameterValue(!v[1] ? null : v[1].value), new IFC4X3$1.IfcParameterValue(!v[2] ? null : v[2].value)), + 2924175390: (v) => { + var _a; + return new IFC4X3$1.IfcPolyLoop(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2775532180: (v) => new IFC4X3$1.IfcPolygonalBoundedHalfSpace(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcBoolean(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)), + 3727388367: (v) => new IFC4X3$1.IfcPreDefinedItem(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 3778827333: (_) => new IFC4X3$1.IfcPreDefinedProperties(), + 1775413392: (v) => new IFC4X3$1.IfcPreDefinedTextFont(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 673634403: (v) => { + var _a; + return new IFC4X3$1.IfcProductDefinitionShape(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2802850158: (v) => { + var _a; + return new IFC4X3$1.IfcProfileProperties(!v[0] ? null : new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[3] ? null : v[3].value)); + }, + 2598011224: (v) => new IFC4X3$1.IfcProperty(new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value)), + 1680319473: (v) => new IFC4X3$1.IfcPropertyDefinition(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value)), + 148025276: (v) => new IFC4X3$1.IfcPropertyDependencyRelationship(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcText(!v[4] ? null : v[4].value)), + 3357820518: (v) => new IFC4X3$1.IfcPropertySetDefinition(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value)), + 1482703590: (v) => new IFC4X3$1.IfcPropertyTemplateDefinition(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value)), + 2090586900: (v) => new IFC4X3$1.IfcQuantitySet(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value)), + 3615266464: (v) => new IFC4X3$1.IfcRectangleProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value)), + 3413951693: (v) => { + var _a; + return new IFC4X3$1.IfcRegularTimeSeries(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), new IFC4X3$1.IfcDateTime(!v[2] ? null : v[2].value), new IFC4X3$1.IfcDateTime(!v[3] ? null : v[3].value), v[4], v[5], !v[6] ? null : new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), new IFC4X3$1.IfcTimeMeasure(!v[8] ? null : v[8].value), ((_a = v[9]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1580146022: (v) => new IFC4X3$1.IfcReinforcementBarProperties(new IFC4X3$1.IfcAreaMeasure(!v[0] ? null : v[0].value), new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), v[2], !v[3] ? null : new IFC4X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcCountMeasure(!v[5] ? null : v[5].value)), + 478536968: (v) => new IFC4X3$1.IfcRelationship(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value)), + 2943643501: (v) => { + var _a; + return new IFC4X3$1.IfcResourceApprovalRelationship(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[3] ? null : v[3].value)); + }, + 1608871552: (v) => { + var _a; + return new IFC4X3$1.IfcResourceConstraintRelationship(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1042787934: (v) => new IFC4X3$1.IfcResourceTime(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), v[1], !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcDuration(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcPositiveRatioMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcDateTime(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcDateTime(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcDuration(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcBoolean(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcDateTime(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4X3$1.IfcDuration(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcPositiveRatioMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4X3$1.IfcDateTime(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4X3$1.IfcDateTime(!v[14] ? null : v[14].value), !v[15] ? null : new IFC4X3$1.IfcDuration(!v[15] ? null : v[15].value), !v[16] ? null : new IFC4X3$1.IfcPositiveRatioMeasure(!v[16] ? null : v[16].value), !v[17] ? null : new IFC4X3$1.IfcPositiveRatioMeasure(!v[17] ? null : v[17].value)), + 2778083089: (v) => new IFC4X3$1.IfcRoundedRectangleProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value)), + 2042790032: (v) => new IFC4X3$1.IfcSectionProperties(v[0], new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)), + 4165799628: (v) => { + var _a; + return new IFC4X3$1.IfcSectionReinforcementProperties(new IFC4X3$1.IfcLengthMeasure(!v[0] ? null : v[0].value), new IFC4X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), v[3], new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1509187699: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSectionedSpine(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 823603102: (v) => new IFC4X3$1.IfcSegment(v[0]), + 4124623270: (v) => { + var _a; + return new IFC4X3$1.IfcShellBasedSurfaceModel(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3692461612: (v) => new IFC4X3$1.IfcSimpleProperty(new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value)), + 2609359061: (v) => new IFC4X3$1.IfcSlippageConnectionCondition(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value)), + 723233188: (_) => new IFC4X3$1.IfcSolidModel(), + 1595516126: (v) => new IFC4X3$1.IfcStructuralLoadLinearForce(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLinearForceMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLinearForceMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcLinearForceMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLinearMomentMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcLinearMomentMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcLinearMomentMeasure(!v[6] ? null : v[6].value)), + 2668620305: (v) => new IFC4X3$1.IfcStructuralLoadPlanarForce(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcPlanarForceMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcPlanarForceMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcPlanarForceMeasure(!v[3] ? null : v[3].value)), + 2473145415: (v) => new IFC4X3$1.IfcStructuralLoadSingleDisplacement(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcPlaneAngleMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcPlaneAngleMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcPlaneAngleMeasure(!v[6] ? null : v[6].value)), + 1973038258: (v) => new IFC4X3$1.IfcStructuralLoadSingleDisplacementDistortion(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcPlaneAngleMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcPlaneAngleMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcPlaneAngleMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcCurvatureMeasure(!v[7] ? null : v[7].value)), + 1597423693: (v) => new IFC4X3$1.IfcStructuralLoadSingleForce(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcForceMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcForceMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcForceMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcTorqueMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcTorqueMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcTorqueMeasure(!v[6] ? null : v[6].value)), + 1190533807: (v) => new IFC4X3$1.IfcStructuralLoadSingleForceWarping(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcForceMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcForceMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcForceMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcTorqueMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcTorqueMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcTorqueMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcWarpingMomentMeasure(!v[7] ? null : v[7].value)), + 2233826070: (v) => new IFC4X3$1.IfcSubedge(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 2513912981: (_) => new IFC4X3$1.IfcSurface(), + 1878645084: (v) => new IFC4X3$1.IfcSurfaceStyleRendering(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : TypeInitialiser(5, v[7]), v[8]), + 2247615214: (v) => new IFC4X3$1.IfcSweptAreaSolid(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 1260650574: (v) => new IFC4X3$1.IfcSweptDiskSolid(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcParameterValue(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcParameterValue(!v[4] ? null : v[4].value)), + 1096409881: (v) => new IFC4X3$1.IfcSweptDiskSolidPolygonal(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcParameterValue(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcParameterValue(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[5] ? null : v[5].value)), + 230924584: (v) => new IFC4X3$1.IfcSweptSurface(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 3071757647: (v) => new IFC4X3$1.IfcTShapeProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcPlaneAngleMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4X3$1.IfcPlaneAngleMeasure(!v[11] ? null : v[11].value)), + 901063453: (_) => new IFC4X3$1.IfcTessellatedItem(), + 4282788508: (v) => new IFC4X3$1.IfcTextLiteral(new IFC4X3$1.IfcPresentableText(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), v[2]), + 3124975700: (v) => new IFC4X3$1.IfcTextLiteralWithExtent(new IFC4X3$1.IfcPresentableText(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), v[2], new Handle$5(!v[3] ? null : v[3].value), new IFC4X3$1.IfcBoxAlignment(!v[4] ? null : v[4].value)), + 1983826977: (v) => { + var _a; + return new IFC4X3$1.IfcTextStyleFontModel(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcTextFontName(p.value) : null)) || [], !v[2] ? null : new IFC4X3$1.IfcFontStyle(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcFontVariant(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcFontWeight(!v[4] ? null : v[4].value), TypeInitialiser(5, v[5])); + }, + 2715220739: (v) => new IFC4X3$1.IfcTrapeziumProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4X3$1.IfcLengthMeasure(!v[6] ? null : v[6].value)), + 1628702193: (v) => { + var _a; + return new IFC4X3$1.IfcTypeObject(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3736923433: (v) => { + var _a; + return new IFC4X3$1.IfcTypeProcess(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4X3$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2347495698: (v) => { + var _a, _b; + return new IFC4X3$1.IfcTypeProduct(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value)); + }, + 3698973494: (v) => { + var _a; + return new IFC4X3$1.IfcTypeResource(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4X3$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 427810014: (v) => new IFC4X3$1.IfcUShapeProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcPlaneAngleMeasure(!v[9] ? null : v[9].value)), + 1417489154: (v) => new IFC4X3$1.IfcVector(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value)), + 2759199220: (v) => new IFC4X3$1.IfcVertexLoop(new Handle$5(!v[0] ? null : v[0].value)), + 2543172580: (v) => new IFC4X3$1.IfcZShapeProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[8] ? null : v[8].value)), + 3406155212: (v) => { + var _a; + return new IFC4X3$1.IfcAdvancedFace(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[1] ? null : v[1].value), new IFC4X3$1.IfcBoolean(!v[2] ? null : v[2].value)); + }, + 669184980: (v) => { + var _a; + return new IFC4X3$1.IfcAnnotationFillArea(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3207858831: (v) => new IFC4X3$1.IfcAsymmetricIShapeProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcPlaneAngleMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4X3$1.IfcPlaneAngleMeasure(!v[14] ? null : v[14].value)), + 4261334040: (v) => new IFC4X3$1.IfcAxis1Placement(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 3125803723: (v) => new IFC4X3$1.IfcAxis2Placement2D(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value)), + 2740243338: (v) => new IFC4X3$1.IfcAxis2Placement3D(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)), + 3425423356: (v) => new IFC4X3$1.IfcAxis2PlacementLinear(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value)), + 2736907675: (v) => new IFC4X3$1.IfcBooleanResult(v[0], new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 4182860854: (_) => new IFC4X3$1.IfcBoundedSurface(), + 2581212453: (v) => new IFC4X3$1.IfcBoundingBox(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 2713105998: (v) => new IFC4X3$1.IfcBoxedHalfSpace(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcBoolean(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 2898889636: (v) => new IFC4X3$1.IfcCShapeProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value)), + 1123145078: (v) => { + var _a; + return new IFC4X3$1.IfcCartesianPoint(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLengthMeasure(p.value) : null)) || []); + }, + 574549367: (_) => new IFC4X3$1.IfcCartesianPointList(), + 1675464909: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCartesianPointList2D(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLengthMeasure(p.value) : null)) || [], !v[1] ? null : ((_b = v[1]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLabel(p.value) : null)) || []); + }, + 2059837836: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCartesianPointList3D(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLengthMeasure(p.value) : null)) || [], !v[1] ? null : ((_b = v[1]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcLabel(p.value) : null)) || []); + }, + 59481748: (v) => new IFC4X3$1.IfcCartesianTransformationOperator(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcReal(!v[3] ? null : v[3].value)), + 3749851601: (v) => new IFC4X3$1.IfcCartesianTransformationOperator2D(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcReal(!v[3] ? null : v[3].value)), + 3486308946: (v) => new IFC4X3$1.IfcCartesianTransformationOperator2DnonUniform(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcReal(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcReal(!v[4] ? null : v[4].value)), + 3331915920: (v) => new IFC4X3$1.IfcCartesianTransformationOperator3D(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcReal(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value)), + 1416205885: (v) => new IFC4X3$1.IfcCartesianTransformationOperator3DnonUniform(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcReal(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcReal(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcReal(!v[6] ? null : v[6].value)), + 1383045692: (v) => new IFC4X3$1.IfcCircleProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 2205249479: (v) => { + var _a; + return new IFC4X3$1.IfcClosedShell(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 776857604: (v) => new IFC4X3$1.IfcColourRgb(!v[0] ? null : new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value), new IFC4X3$1.IfcNormalisedRatioMeasure(!v[1] ? null : v[1].value), new IFC4X3$1.IfcNormalisedRatioMeasure(!v[2] ? null : v[2].value), new IFC4X3$1.IfcNormalisedRatioMeasure(!v[3] ? null : v[3].value)), + 2542286263: (v) => { + var _a; + return new IFC4X3$1.IfcComplexProperty(new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), new IFC4X3$1.IfcIdentifier(!v[2] ? null : v[2].value), ((_a = v[3]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2485617015: (v) => new IFC4X3$1.IfcCompositeCurveSegment(v[0], new IFC4X3$1.IfcBoolean(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 2574617495: (v) => { + var _a, _b; + return new IFC4X3$1.IfcConstructionResourceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4X3$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : ((_b = v[9]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value)); + }, + 3419103109: (v) => { + var _a; + return new IFC4X3$1.IfcContext(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)); + }, + 1815067380: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCrewResourceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4X3$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : ((_b = v[9]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), v[11]); + }, + 2506170314: (v) => new IFC4X3$1.IfcCsgPrimitive3D(new Handle$5(!v[0] ? null : v[0].value)), + 2147822146: (v) => new IFC4X3$1.IfcCsgSolid(new Handle$5(!v[0] ? null : v[0].value)), + 2601014836: (_) => new IFC4X3$1.IfcCurve(), + 2827736869: (v) => { + var _a; + return new IFC4X3$1.IfcCurveBoundedPlane(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2629017746: (v) => { + var _a; + return new IFC4X3$1.IfcCurveBoundedSurface(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4X3$1.IfcBoolean(!v[2] ? null : v[2].value)); + }, + 4212018352: (v) => new IFC4X3$1.IfcCurveSegment(v[0], new Handle$5(!v[1] ? null : v[1].value), TypeInitialiser(5, v[2]), TypeInitialiser(5, v[3]), new Handle$5(!v[4] ? null : v[4].value)), + 32440307: (v) => { + var _a; + return new IFC4X3$1.IfcDirection(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcReal(p.value) : null)) || []); + }, + 593015953: (v) => new IFC4X3$1.IfcDirectrixCurveSweptAreaSolid(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : TypeInitialiser(5, v[3]), !v[4] ? null : TypeInitialiser(5, v[4])), + 1472233963: (v) => { + var _a; + return new IFC4X3$1.IfcEdgeLoop(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1883228015: (v) => { + var _a; + return new IFC4X3$1.IfcElementQuantity(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 339256511: (v) => { + var _a, _b; + return new IFC4X3$1.IfcElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2777663545: (v) => new IFC4X3$1.IfcElementarySurface(new Handle$5(!v[0] ? null : v[0].value)), + 2835456948: (v) => new IFC4X3$1.IfcEllipseProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value)), + 4024345920: (v) => { + var _a; + return new IFC4X3$1.IfcEventType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4X3$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9], v[10], !v[11] ? null : new IFC4X3$1.IfcLabel(!v[11] ? null : v[11].value)); + }, + 477187591: (v) => new IFC4X3$1.IfcExtrudedAreaSolid(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 2804161546: (v) => new IFC4X3$1.IfcExtrudedAreaSolidTapered(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value)), + 2047409740: (v) => { + var _a; + return new IFC4X3$1.IfcFaceBasedSurfaceModel(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 374418227: (v) => new IFC4X3$1.IfcFillAreaStyleHatching(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value), new IFC4X3$1.IfcPlaneAngleMeasure(!v[4] ? null : v[4].value)), + 315944413: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFillAreaStyleTiles(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[1]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4X3$1.IfcPositiveRatioMeasure(!v[2] ? null : v[2].value)); + }, + 2652556860: (v) => new IFC4X3$1.IfcFixedReferenceSweptAreaSolid(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : TypeInitialiser(5, v[3]), !v[4] ? null : TypeInitialiser(5, v[4]), new Handle$5(!v[5] ? null : v[5].value)), + 4238390223: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFurnishingElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1268542332: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFurnitureType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9], v[10]); + }, + 4095422895: (v) => { + var _a, _b; + return new IFC4X3$1.IfcGeographicElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 987898635: (v) => { + var _a; + return new IFC4X3$1.IfcGeometricCurveSet(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1484403080: (v) => new IFC4X3$1.IfcIShapeProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcPlaneAngleMeasure(!v[9] ? null : v[9].value)), + 178912537: (v) => { + var _a; + return new IFC4X3$1.IfcIndexedPolygonalFace(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcPositiveInteger(p.value) : null)) || []); + }, + 2294589976: (v) => { + var _a, _b; + return new IFC4X3$1.IfcIndexedPolygonalFaceWithVoids(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcPositiveInteger(p.value) : null)) || [], ((_b = v[1]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcPositiveInteger(p.value) : null)) || []); + }, + 3465909080: (v) => { + var _a, _b; + return new IFC4X3$1.IfcIndexedPolygonalTextureMap(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), ((_b = v[3]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 572779678: (v) => new IFC4X3$1.IfcLShapeProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcPlaneAngleMeasure(!v[8] ? null : v[8].value)), + 428585644: (v) => { + var _a, _b; + return new IFC4X3$1.IfcLaborResourceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4X3$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : ((_b = v[9]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), v[11]); + }, + 1281925730: (v) => new IFC4X3$1.IfcLine(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 1425443689: (v) => new IFC4X3$1.IfcManifoldSolidBrep(new Handle$5(!v[0] ? null : v[0].value)), + 3888040117: (v) => new IFC4X3$1.IfcObject(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 590820931: (v) => new IFC4X3$1.IfcOffsetCurve(new Handle$5(!v[0] ? null : v[0].value)), + 3388369263: (v) => new IFC4X3$1.IfcOffsetCurve2D(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), new IFC4X3$1.IfcLogical(!v[2] ? null : v[2].value)), + 3505215534: (v) => new IFC4X3$1.IfcOffsetCurve3D(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), new IFC4X3$1.IfcLogical(!v[2] ? null : v[2].value), new Handle$5(!v[3] ? null : v[3].value)), + 2485787929: (v) => { + var _a; + return new IFC4X3$1.IfcOffsetCurveByDistances(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value)); + }, + 1682466193: (v) => new IFC4X3$1.IfcPcurve(new Handle$5(!v[0] ? null : v[0].value), new Handle$5(!v[1] ? null : v[1].value)), + 603570806: (v) => new IFC4X3$1.IfcPlanarBox(new IFC4X3$1.IfcLengthMeasure(!v[0] ? null : v[0].value), new IFC4X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 220341763: (v) => new IFC4X3$1.IfcPlane(new Handle$5(!v[0] ? null : v[0].value)), + 3381221214: (v) => { + var _a, _b, _c; + return new IFC4X3$1.IfcPolynomialCurve(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcReal(p.value) : null)) || [], !v[2] ? null : ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcReal(p.value) : null)) || [], !v[3] ? null : ((_c = v[3]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcReal(p.value) : null)) || []); + }, + 759155922: (v) => new IFC4X3$1.IfcPreDefinedColour(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 2559016684: (v) => new IFC4X3$1.IfcPreDefinedCurveFont(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 3967405729: (v) => new IFC4X3$1.IfcPreDefinedPropertySet(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value)), + 569719735: (v) => { + var _a; + return new IFC4X3$1.IfcProcedureType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4X3$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2945172077: (v) => new IFC4X3$1.IfcProcess(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcText(!v[6] ? null : v[6].value)), + 4208778838: (v) => new IFC4X3$1.IfcProduct(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 103090709: (v) => { + var _a; + return new IFC4X3$1.IfcProject(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)); + }, + 653396225: (v) => { + var _a; + return new IFC4X3$1.IfcProjectLibrary(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)); + }, + 871118103: (v) => new IFC4X3$1.IfcPropertyBoundedValue(new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : TypeInitialiser(5, v[2]), !v[3] ? null : TypeInitialiser(5, v[3]), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), !v[5] ? null : TypeInitialiser(5, v[5])), + 4166981789: (v) => { + var _a; + return new IFC4X3$1.IfcPropertyEnumeratedValue(new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(5, p) : null)) || [], !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)); + }, + 2752243245: (v) => { + var _a; + return new IFC4X3$1.IfcPropertyListValue(new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(5, p) : null)) || [], !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)); + }, + 941946838: (v) => new IFC4X3$1.IfcPropertyReferenceValue(new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcText(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)), + 1451395588: (v) => { + var _a; + return new IFC4X3$1.IfcPropertySet(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 492091185: (v) => { + var _a; + return new IFC4X3$1.IfcPropertySetTemplate(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), v[4], !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), ((_a = v[6]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3650150729: (v) => new IFC4X3$1.IfcPropertySingleValue(new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : TypeInitialiser(5, v[2]), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)), + 110355661: (v) => { + var _a, _b; + return new IFC4X3$1.IfcPropertyTableValue(new IFC4X3$1.IfcIdentifier(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcText(!v[1] ? null : v[1].value), !v[2] ? null : ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(5, p) : null)) || [], !v[3] ? null : ((_b = v[3]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(5, p) : null)) || [], !v[4] ? null : new IFC4X3$1.IfcText(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7]); + }, + 3521284610: (v) => new IFC4X3$1.IfcPropertyTemplate(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value)), + 2770003689: (v) => new IFC4X3$1.IfcRectangleHollowProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value)), + 2798486643: (v) => new IFC4X3$1.IfcRectangularPyramid(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 3454111270: (v) => new IFC4X3$1.IfcRectangularTrimmedSurface(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcParameterValue(!v[1] ? null : v[1].value), new IFC4X3$1.IfcParameterValue(!v[2] ? null : v[2].value), new IFC4X3$1.IfcParameterValue(!v[3] ? null : v[3].value), new IFC4X3$1.IfcParameterValue(!v[4] ? null : v[4].value), new IFC4X3$1.IfcBoolean(!v[5] ? null : v[5].value), new IFC4X3$1.IfcBoolean(!v[6] ? null : v[6].value)), + 3765753017: (v) => { + var _a; + return new IFC4X3$1.IfcReinforcementDefinitionProperties(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3939117080: (v) => { + var _a; + return new IFC4X3$1.IfcRelAssigns(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5]); + }, + 1683148259: (v) => { + var _a; + return new IFC4X3$1.IfcRelAssignsToActor(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)); + }, + 2495723537: (v) => { + var _a; + return new IFC4X3$1.IfcRelAssignsToControl(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value)); + }, + 1307041759: (v) => { + var _a; + return new IFC4X3$1.IfcRelAssignsToGroup(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value)); + }, + 1027710054: (v) => { + var _a; + return new IFC4X3$1.IfcRelAssignsToGroupByFactor(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value), new IFC4X3$1.IfcRatioMeasure(!v[7] ? null : v[7].value)); + }, + 4278684876: (v) => { + var _a; + return new IFC4X3$1.IfcRelAssignsToProcess(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)); + }, + 2857406711: (v) => { + var _a; + return new IFC4X3$1.IfcRelAssignsToProduct(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value)); + }, + 205026976: (v) => { + var _a; + return new IFC4X3$1.IfcRelAssignsToResource(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[5], new Handle$5(!v[6] ? null : v[6].value)); + }, + 1865459582: (v) => { + var _a; + return new IFC4X3$1.IfcRelAssociates(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 4095574036: (v) => { + var _a; + return new IFC4X3$1.IfcRelAssociatesApproval(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 919958153: (v) => { + var _a; + return new IFC4X3$1.IfcRelAssociatesClassification(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 2728634034: (v) => { + var _a; + return new IFC4X3$1.IfcRelAssociatesConstraint(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[5] ? null : new IFC4X3$1.IfcLabel(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value)); + }, + 982818633: (v) => { + var _a; + return new IFC4X3$1.IfcRelAssociatesDocument(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 3840914261: (v) => { + var _a; + return new IFC4X3$1.IfcRelAssociatesLibrary(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 2655215786: (v) => { + var _a; + return new IFC4X3$1.IfcRelAssociatesMaterial(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 1033248425: (v) => { + var _a; + return new IFC4X3$1.IfcRelAssociatesProfileDef(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 826625072: (v) => new IFC4X3$1.IfcRelConnects(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value)), + 1204542856: (v) => new IFC4X3$1.IfcRelConnectsElements(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value)), + 3945020480: (v) => { + var _a, _b; + return new IFC4X3$1.IfcRelConnectsPathElements(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcInteger(p.value) : null)) || [], !v[8] ? null : ((_b = v[8]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcInteger(p.value) : null)) || [], v[9], v[10]); + }, + 4201705270: (v) => new IFC4X3$1.IfcRelConnectsPortToElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 3190031847: (v) => new IFC4X3$1.IfcRelConnectsPorts(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 2127690289: (v) => new IFC4X3$1.IfcRelConnectsStructuralActivity(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 1638771189: (v) => new IFC4X3$1.IfcRelConnectsStructuralMember(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value)), + 504942748: (v) => new IFC4X3$1.IfcRelConnectsWithEccentricity(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), new Handle$5(!v[10] ? null : v[10].value)), + 3678494232: (v) => { + var _a; + return new IFC4X3$1.IfcRelConnectsWithRealizingElements(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), new Handle$5(!v[6] ? null : v[6].value), ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3242617779: (v) => { + var _a; + return new IFC4X3$1.IfcRelContainedInSpatialStructure(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 886880790: (v) => { + var _a; + return new IFC4X3$1.IfcRelCoversBldgElements(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2802773753: (v) => { + var _a; + return new IFC4X3$1.IfcRelCoversSpaces(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2565941209: (v) => { + var _a; + return new IFC4X3$1.IfcRelDeclares(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 2551354335: (v) => new IFC4X3$1.IfcRelDecomposes(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value)), + 693640335: (v) => new IFC4X3$1.IfcRelDefines(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value)), + 1462361463: (v) => { + var _a; + return new IFC4X3$1.IfcRelDefinesByObject(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 4186316022: (v) => { + var _a; + return new IFC4X3$1.IfcRelDefinesByProperties(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 307848117: (v) => { + var _a; + return new IFC4X3$1.IfcRelDefinesByTemplate(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 781010003: (v) => { + var _a; + return new IFC4X3$1.IfcRelDefinesByType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 3940055652: (v) => new IFC4X3$1.IfcRelFillsElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 279856033: (v) => { + var _a; + return new IFC4X3$1.IfcRelFlowControlElements(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 427948657: (v) => new IFC4X3$1.IfcRelInterferesElements(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcIdentifier(!v[8] ? null : v[8].value), new IFC4X3$1.IfcLogical(!v[9] ? null : v[9].value)), + 3268803585: (v) => { + var _a; + return new IFC4X3$1.IfcRelNests(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1441486842: (v) => { + var _a; + return new IFC4X3$1.IfcRelPositions(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 750771296: (v) => new IFC4X3$1.IfcRelProjectsElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 1245217292: (v) => { + var _a; + return new IFC4X3$1.IfcRelReferencedInSpatialStructure(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), ((_a = v[4]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new Handle$5(!v[5] ? null : v[5].value)); + }, + 4122056220: (v) => new IFC4X3$1.IfcRelSequence(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)), + 366585022: (v) => { + var _a; + return new IFC4X3$1.IfcRelServicesBuildings(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3451746338: (v) => new IFC4X3$1.IfcRelSpaceBoundary(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], v[8]), + 3523091289: (v) => new IFC4X3$1.IfcRelSpaceBoundary1stLevel(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], v[8], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value)), + 1521410863: (v) => new IFC4X3$1.IfcRelSpaceBoundary2ndLevel(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], v[8], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value)), + 1401173127: (v) => new IFC4X3$1.IfcRelVoidsElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 816062949: (v) => new IFC4X3$1.IfcReparametrisedCompositeCurveSegment(v[0], new IFC4X3$1.IfcBoolean(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcParameterValue(!v[3] ? null : v[3].value)), + 2914609552: (v) => new IFC4X3$1.IfcResource(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcText(!v[6] ? null : v[6].value)), + 1856042241: (v) => new IFC4X3$1.IfcRevolvedAreaSolid(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPlaneAngleMeasure(!v[3] ? null : v[3].value)), + 3243963512: (v) => new IFC4X3$1.IfcRevolvedAreaSolidTapered(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPlaneAngleMeasure(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value)), + 4158566097: (v) => new IFC4X3$1.IfcRightCircularCone(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value)), + 3626867408: (v) => new IFC4X3$1.IfcRightCircularCylinder(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value)), + 1862484736: (v) => { + var _a; + return new IFC4X3$1.IfcSectionedSolid(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1290935644: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSectionedSolidHorizontal(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1356537516: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSectionedSurface(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3663146110: (v) => new IFC4X3$1.IfcSimplePropertyTemplate(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), v[4], !v[5] ? null : new IFC4X3$1.IfcLabel(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcLabel(!v[10] ? null : v[10].value), v[11]), + 1412071761: (v) => new IFC4X3$1.IfcSpatialElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value)), + 710998568: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSpatialElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2706606064: (v) => new IFC4X3$1.IfcSpatialStructureElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8]), + 3893378262: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSpatialStructureElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 463610769: (v) => new IFC4X3$1.IfcSpatialZone(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8]), + 2481509218: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSpatialZoneType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC4X3$1.IfcLabel(!v[10] ? null : v[10].value)); + }, + 451544542: (v) => new IFC4X3$1.IfcSphere(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value)), + 4015995234: (v) => new IFC4X3$1.IfcSphericalSurface(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value)), + 2735484536: (v) => new IFC4X3$1.IfcSpiral(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value)), + 3544373492: (v) => new IFC4X3$1.IfcStructuralActivity(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8]), + 3136571912: (v) => new IFC4X3$1.IfcStructuralItem(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 530289379: (v) => new IFC4X3$1.IfcStructuralMember(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 3689010777: (v) => new IFC4X3$1.IfcStructuralReaction(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8]), + 3979015343: (v) => new IFC4X3$1.IfcStructuralSurfaceMember(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value)), + 2218152070: (v) => new IFC4X3$1.IfcStructuralSurfaceMemberVarying(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value)), + 603775116: (v) => new IFC4X3$1.IfcStructuralSurfaceReaction(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], v[9]), + 4095615324: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSubContractResourceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4X3$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : ((_b = v[9]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), v[11]); + }, + 699246055: (v) => { + var _a; + return new IFC4X3$1.IfcSurfaceCurve(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[2]); + }, + 2028607225: (v) => new IFC4X3$1.IfcSurfaceCurveSweptAreaSolid(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : TypeInitialiser(5, v[3]), !v[4] ? null : TypeInitialiser(5, v[4]), new Handle$5(!v[5] ? null : v[5].value)), + 2809605785: (v) => new IFC4X3$1.IfcSurfaceOfLinearExtrusion(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value)), + 4124788165: (v) => new IFC4X3$1.IfcSurfaceOfRevolution(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 1580310250: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSystemFurnitureElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3473067441: (v) => new IFC4X3$1.IfcTask(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), new IFC4X3$1.IfcBoolean(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcInteger(!v[10] ? null : v[10].value), !v[11] ? null : new Handle$5(!v[11] ? null : v[11].value), v[12]), + 3206491090: (v) => { + var _a; + return new IFC4X3$1.IfcTaskType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4X3$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC4X3$1.IfcLabel(!v[10] ? null : v[10].value)); + }, + 2387106220: (v) => new IFC4X3$1.IfcTessellatedFaceSet(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcBoolean(!v[1] ? null : v[1].value)), + 782932809: (v) => new IFC4X3$1.IfcThirdOrderPolynomialSpiral(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLengthMeasure(!v[4] ? null : v[4].value)), + 1935646853: (v) => new IFC4X3$1.IfcToroidalSurface(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value)), + 3665877780: (v) => { + var _a, _b; + return new IFC4X3$1.IfcTransportationDeviceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2916149573: (v) => { + var _a, _b, _c; + return new IFC4X3$1.IfcTriangulatedFaceSet(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcBoolean(!v[1] ? null : v[1].value), !v[2] ? null : ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcParameterValue(p.value) : null)) || [], ((_b = v[3]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcPositiveInteger(p.value) : null)) || [], !v[4] ? null : ((_c = v[4]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcPositiveInteger(p.value) : null)) || []); + }, + 1229763772: (v) => { + var _a, _b, _c, _d; + return new IFC4X3$1.IfcTriangulatedIrregularNetwork(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcBoolean(!v[1] ? null : v[1].value), !v[2] ? null : ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcParameterValue(p.value) : null)) || [], ((_b = v[3]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcPositiveInteger(p.value) : null)) || [], !v[4] ? null : ((_c = v[4]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcPositiveInteger(p.value) : null)) || [], ((_d = v[5]) == null ? void 0 : _d.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcInteger(p.value) : null)) || []); + }, + 3651464721: (v) => { + var _a, _b; + return new IFC4X3$1.IfcVehicleType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 336235671: (v) => new IFC4X3$1.IfcWindowLiningProperties(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new Handle$5(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4X3$1.IfcLengthMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4X3$1.IfcLengthMeasure(!v[14] ? null : v[14].value), !v[15] ? null : new IFC4X3$1.IfcLengthMeasure(!v[15] ? null : v[15].value)), + 512836454: (v) => new IFC4X3$1.IfcWindowPanelProperties(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), v[4], v[5], !v[6] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 2296667514: (v) => new IFC4X3$1.IfcActor(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value)), + 1635779807: (v) => new IFC4X3$1.IfcAdvancedBrep(new Handle$5(!v[0] ? null : v[0].value)), + 2603310189: (v) => { + var _a; + return new IFC4X3$1.IfcAdvancedBrepWithVoids(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1674181508: (v) => new IFC4X3$1.IfcAnnotation(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7]), + 2887950389: (v) => { + var _a; + return new IFC4X3$1.IfcBSplineSurface(new IFC4X3$1.IfcInteger(!v[0] ? null : v[0].value), new IFC4X3$1.IfcInteger(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[3], new IFC4X3$1.IfcLogical(!v[4] ? null : v[4].value), new IFC4X3$1.IfcLogical(!v[5] ? null : v[5].value), new IFC4X3$1.IfcLogical(!v[6] ? null : v[6].value)); + }, + 167062518: (v) => { + var _a, _b, _c, _d, _e; + return new IFC4X3$1.IfcBSplineSurfaceWithKnots(new IFC4X3$1.IfcInteger(!v[0] ? null : v[0].value), new IFC4X3$1.IfcInteger(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[3], new IFC4X3$1.IfcLogical(!v[4] ? null : v[4].value), new IFC4X3$1.IfcLogical(!v[5] ? null : v[5].value), new IFC4X3$1.IfcLogical(!v[6] ? null : v[6].value), ((_b = v[7]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcInteger(p.value) : null)) || [], ((_c = v[8]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcInteger(p.value) : null)) || [], ((_d = v[9]) == null ? void 0 : _d.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcParameterValue(p.value) : null)) || [], ((_e = v[10]) == null ? void 0 : _e.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcParameterValue(p.value) : null)) || [], v[11]); + }, + 1334484129: (v) => new IFC4X3$1.IfcBlock(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value)), + 3649129432: (v) => new IFC4X3$1.IfcBooleanClippingResult(v[0], new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value)), + 1260505505: (_) => new IFC4X3$1.IfcBoundedCurve(), + 3124254112: (v) => new IFC4X3$1.IfcBuildingStorey(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4X3$1.IfcLengthMeasure(!v[9] ? null : v[9].value)), + 1626504194: (v) => { + var _a, _b; + return new IFC4X3$1.IfcBuiltElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2197970202: (v) => { + var _a, _b; + return new IFC4X3$1.IfcChimneyType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2937912522: (v) => new IFC4X3$1.IfcCircleHollowProfileDef(v[0], !v[1] ? null : new IFC4X3$1.IfcLabel(!v[1] ? null : v[1].value), !v[2] ? null : new Handle$5(!v[2] ? null : v[2].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[3] ? null : v[3].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value)), + 3893394355: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCivilElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3497074424: (v) => new IFC4X3$1.IfcClothoid(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value)), + 300633059: (v) => { + var _a, _b; + return new IFC4X3$1.IfcColumnType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3875453745: (v) => { + var _a; + return new IFC4X3$1.IfcComplexPropertyTemplate(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), v[5], !v[6] ? null : ((_a = v[6]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3732776249: (v) => { + var _a; + return new IFC4X3$1.IfcCompositeCurve(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4X3$1.IfcLogical(!v[1] ? null : v[1].value)); + }, + 15328376: (v) => { + var _a; + return new IFC4X3$1.IfcCompositeCurveOnSurface(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4X3$1.IfcLogical(!v[1] ? null : v[1].value)); + }, + 2510884976: (v) => new IFC4X3$1.IfcConic(new Handle$5(!v[0] ? null : v[0].value)), + 2185764099: (v) => { + var _a, _b; + return new IFC4X3$1.IfcConstructionEquipmentResourceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4X3$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : ((_b = v[9]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), v[11]); + }, + 4105962743: (v) => { + var _a, _b; + return new IFC4X3$1.IfcConstructionMaterialResourceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4X3$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : ((_b = v[9]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), v[11]); + }, + 1525564444: (v) => { + var _a, _b; + return new IFC4X3$1.IfcConstructionProductResourceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : new IFC4X3$1.IfcIdentifier(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcText(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : ((_b = v[9]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), v[11]); + }, + 2559216714: (v) => { + var _a; + return new IFC4X3$1.IfcConstructionResource(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value)); + }, + 3293443760: (v) => new IFC4X3$1.IfcControl(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value)), + 2000195564: (v) => new IFC4X3$1.IfcCosineSpiral(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value)), + 3895139033: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCostItem(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), v[6], !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : ((_b = v[8]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 1419761937: (v) => new IFC4X3$1.IfcCostSchedule(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), v[6], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcDateTime(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcDateTime(!v[9] ? null : v[9].value)), + 4189326743: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCourseType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1916426348: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCoveringType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3295246426: (v) => { + var _a; + return new IFC4X3$1.IfcCrewResource(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), v[10]); + }, + 1457835157: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCurtainWallType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1213902940: (v) => new IFC4X3$1.IfcCylindricalSurface(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value)), + 1306400036: (v) => { + var _a, _b; + return new IFC4X3$1.IfcDeepFoundationType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 4234616927: (v) => new IFC4X3$1.IfcDirectrixDerivedReferenceSweptAreaSolid(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : TypeInitialiser(5, v[3]), !v[4] ? null : TypeInitialiser(5, v[4]), new Handle$5(!v[5] ? null : v[5].value)), + 3256556792: (v) => { + var _a, _b; + return new IFC4X3$1.IfcDistributionElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3849074793: (v) => { + var _a, _b; + return new IFC4X3$1.IfcDistributionFlowElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2963535650: (v) => new IFC4X3$1.IfcDoorLiningProperties(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcNonNegativeLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4X3$1.IfcLengthMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new Handle$5(!v[14] ? null : v[14].value), !v[15] ? null : new IFC4X3$1.IfcLengthMeasure(!v[15] ? null : v[15].value), !v[16] ? null : new IFC4X3$1.IfcLengthMeasure(!v[16] ? null : v[16].value)), + 1714330368: (v) => new IFC4X3$1.IfcDoorPanelProperties(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[4] ? null : v[4].value), v[5], !v[6] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[6] ? null : v[6].value), v[7], !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 2323601079: (v) => { + var _a, _b; + return new IFC4X3$1.IfcDoorType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9], v[10], !v[11] ? null : new IFC4X3$1.IfcBoolean(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcLabel(!v[12] ? null : v[12].value)); + }, + 445594917: (v) => new IFC4X3$1.IfcDraughtingPreDefinedColour(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 4006246654: (v) => new IFC4X3$1.IfcDraughtingPreDefinedCurveFont(new IFC4X3$1.IfcLabel(!v[0] ? null : v[0].value)), + 1758889154: (v) => new IFC4X3$1.IfcElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 4123344466: (v) => new IFC4X3$1.IfcElementAssembly(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8], v[9]), + 2397081782: (v) => { + var _a, _b; + return new IFC4X3$1.IfcElementAssemblyType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1623761950: (v) => new IFC4X3$1.IfcElementComponent(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2590856083: (v) => { + var _a, _b; + return new IFC4X3$1.IfcElementComponentType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1704287377: (v) => new IFC4X3$1.IfcEllipse(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[2] ? null : v[2].value)), + 2107101300: (v) => { + var _a, _b; + return new IFC4X3$1.IfcEnergyConversionDeviceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 132023988: (v) => { + var _a, _b; + return new IFC4X3$1.IfcEngineType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3174744832: (v) => { + var _a, _b; + return new IFC4X3$1.IfcEvaporativeCoolerType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3390157468: (v) => { + var _a, _b; + return new IFC4X3$1.IfcEvaporatorType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4148101412: (v) => new IFC4X3$1.IfcEvent(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcText(!v[6] ? null : v[6].value), v[7], v[8], !v[9] ? null : new IFC4X3$1.IfcLabel(!v[9] ? null : v[9].value), !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value)), + 2853485674: (v) => new IFC4X3$1.IfcExternalSpatialStructureElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value)), + 807026263: (v) => new IFC4X3$1.IfcFacetedBrep(new Handle$5(!v[0] ? null : v[0].value)), + 3737207727: (v) => { + var _a; + return new IFC4X3$1.IfcFacetedBrepWithVoids(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 24185140: (v) => new IFC4X3$1.IfcFacility(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8]), + 1310830890: (v) => new IFC4X3$1.IfcFacilityPart(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9]), + 4228831410: (v) => new IFC4X3$1.IfcFacilityPartCommon(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9], v[10]), + 647756555: (v) => new IFC4X3$1.IfcFastener(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2489546625: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFastenerType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2827207264: (v) => new IFC4X3$1.IfcFeatureElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2143335405: (v) => new IFC4X3$1.IfcFeatureElementAddition(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 1287392070: (v) => new IFC4X3$1.IfcFeatureElementSubtraction(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3907093117: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFlowControllerType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3198132628: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFlowFittingType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3815607619: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFlowMeterType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1482959167: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFlowMovingDeviceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1834744321: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFlowSegmentType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1339347760: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFlowStorageDeviceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2297155007: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFlowTerminalType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 3009222698: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFlowTreatmentDeviceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1893162501: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFootingType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 263784265: (v) => new IFC4X3$1.IfcFurnishingElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 1509553395: (v) => new IFC4X3$1.IfcFurniture(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3493046030: (v) => new IFC4X3$1.IfcGeographicElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4230923436: (v) => new IFC4X3$1.IfcGeotechnicalElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 1594536857: (v) => new IFC4X3$1.IfcGeotechnicalStratum(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2898700619: (v) => { + var _a; + return new IFC4X3$1.IfcGradientCurve(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4X3$1.IfcLogical(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)); + }, + 2706460486: (v) => new IFC4X3$1.IfcGroup(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 1251058090: (v) => { + var _a, _b; + return new IFC4X3$1.IfcHeatExchangerType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1806887404: (v) => { + var _a, _b; + return new IFC4X3$1.IfcHumidifierType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2568555532: (v) => new IFC4X3$1.IfcImpactProtectionDevice(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3948183225: (v) => { + var _a, _b; + return new IFC4X3$1.IfcImpactProtectionDeviceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2571569899: (v) => { + var _a; + return new IFC4X3$1.IfcIndexedPolyCurve(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(5, p) : null)) || [], new IFC4X3$1.IfcLogical(!v[2] ? null : v[2].value)); + }, + 3946677679: (v) => { + var _a, _b; + return new IFC4X3$1.IfcInterceptorType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3113134337: (v) => { + var _a; + return new IFC4X3$1.IfcIntersectionCurve(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[2]); + }, + 2391368822: (v) => { + var _a; + return new IFC4X3$1.IfcInventory(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), v[5], !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new IFC4X3$1.IfcDate(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value)); + }, + 4288270099: (v) => { + var _a, _b; + return new IFC4X3$1.IfcJunctionBoxType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 679976338: (v) => { + var _a, _b; + return new IFC4X3$1.IfcKerbType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), new IFC4X3$1.IfcBoolean(!v[9] ? null : v[9].value)); + }, + 3827777499: (v) => { + var _a; + return new IFC4X3$1.IfcLaborResource(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), v[10]); + }, + 1051575348: (v) => { + var _a, _b; + return new IFC4X3$1.IfcLampType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1161773419: (v) => { + var _a, _b; + return new IFC4X3$1.IfcLightFixtureType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2176059722: (v) => new IFC4X3$1.IfcLinearElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 1770583370: (v) => { + var _a, _b; + return new IFC4X3$1.IfcLiquidTerminalType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 525669439: (v) => new IFC4X3$1.IfcMarineFacility(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9]), + 976884017: (v) => new IFC4X3$1.IfcMarinePart(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9], v[10]), + 377706215: (v) => new IFC4X3$1.IfcMechanicalFastener(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), v[10]), + 2108223431: (v) => { + var _a, _b; + return new IFC4X3$1.IfcMechanicalFastenerType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[11] ? null : v[11].value)); + }, + 1114901282: (v) => { + var _a, _b; + return new IFC4X3$1.IfcMedicalDeviceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3181161470: (v) => { + var _a, _b; + return new IFC4X3$1.IfcMemberType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1950438474: (v) => { + var _a, _b; + return new IFC4X3$1.IfcMobileTelecommunicationsApplianceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 710110818: (v) => { + var _a, _b; + return new IFC4X3$1.IfcMooringDeviceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 977012517: (v) => { + var _a, _b; + return new IFC4X3$1.IfcMotorConnectionType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 506776471: (v) => { + var _a, _b; + return new IFC4X3$1.IfcNavigationElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4143007308: (v) => new IFC4X3$1.IfcOccupant(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), new Handle$5(!v[5] ? null : v[5].value), v[6]), + 3588315303: (v) => new IFC4X3$1.IfcOpeningElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2837617999: (v) => { + var _a, _b; + return new IFC4X3$1.IfcOutletType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 514975943: (v) => { + var _a, _b; + return new IFC4X3$1.IfcPavementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2382730787: (v) => new IFC4X3$1.IfcPerformanceHistory(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value), v[7]), + 3566463478: (v) => new IFC4X3$1.IfcPermeableCoveringProperties(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), v[4], v[5], !v[6] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 3327091369: (v) => new IFC4X3$1.IfcPermit(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), v[6], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcText(!v[8] ? null : v[8].value)), + 1158309216: (v) => { + var _a, _b; + return new IFC4X3$1.IfcPileType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 804291784: (v) => { + var _a, _b; + return new IFC4X3$1.IfcPipeFittingType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4231323485: (v) => { + var _a, _b; + return new IFC4X3$1.IfcPipeSegmentType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4017108033: (v) => { + var _a, _b; + return new IFC4X3$1.IfcPlateType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2839578677: (v) => { + var _a, _b; + return new IFC4X3$1.IfcPolygonalFaceSet(new Handle$5(!v[0] ? null : v[0].value), !v[1] ? null : new IFC4X3$1.IfcBoolean(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[3] ? null : ((_b = v[3]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcPositiveInteger(p.value) : null)) || []); + }, + 3724593414: (v) => { + var _a; + return new IFC4X3$1.IfcPolyline(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 3740093272: (v) => new IFC4X3$1.IfcPort(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 1946335990: (v) => new IFC4X3$1.IfcPositioningElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 2744685151: (v) => new IFC4X3$1.IfcProcedure(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcText(!v[6] ? null : v[6].value), v[7]), + 2904328755: (v) => new IFC4X3$1.IfcProjectOrder(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), v[6], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcText(!v[8] ? null : v[8].value)), + 3651124850: (v) => new IFC4X3$1.IfcProjectionElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1842657554: (v) => { + var _a, _b; + return new IFC4X3$1.IfcProtectiveDeviceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2250791053: (v) => { + var _a, _b; + return new IFC4X3$1.IfcPumpType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1763565496: (v) => { + var _a, _b; + return new IFC4X3$1.IfcRailType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2893384427: (v) => { + var _a, _b; + return new IFC4X3$1.IfcRailingType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3992365140: (v) => new IFC4X3$1.IfcRailway(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9]), + 1891881377: (v) => new IFC4X3$1.IfcRailwayPart(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9], v[10]), + 2324767716: (v) => { + var _a, _b; + return new IFC4X3$1.IfcRampFlightType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1469900589: (v) => { + var _a, _b; + return new IFC4X3$1.IfcRampType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 683857671: (v) => { + var _a, _b, _c, _d, _e, _f; + return new IFC4X3$1.IfcRationalBSplineSurfaceWithKnots(new IFC4X3$1.IfcInteger(!v[0] ? null : v[0].value), new IFC4X3$1.IfcInteger(!v[1] ? null : v[1].value), ((_a = v[2]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[3], new IFC4X3$1.IfcLogical(!v[4] ? null : v[4].value), new IFC4X3$1.IfcLogical(!v[5] ? null : v[5].value), new IFC4X3$1.IfcLogical(!v[6] ? null : v[6].value), ((_b = v[7]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcInteger(p.value) : null)) || [], ((_c = v[8]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcInteger(p.value) : null)) || [], ((_d = v[9]) == null ? void 0 : _d.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcParameterValue(p.value) : null)) || [], ((_e = v[10]) == null ? void 0 : _e.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcParameterValue(p.value) : null)) || [], v[11], ((_f = v[12]) == null ? void 0 : _f.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcReal(p.value) : null)) || []); + }, + 4021432810: (v) => new IFC4X3$1.IfcReferent(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7]), + 3027567501: (v) => new IFC4X3$1.IfcReinforcingElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)), + 964333572: (v) => { + var _a, _b; + return new IFC4X3$1.IfcReinforcingElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 2320036040: (v) => new IFC4X3$1.IfcReinforcingMesh(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4X3$1.IfcAreaMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4X3$1.IfcAreaMeasure(!v[14] ? null : v[14].value), !v[15] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[15] ? null : v[15].value), !v[16] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[16] ? null : v[16].value), v[17]), + 2310774935: (v) => { + var _a, _b, _c; + return new IFC4X3$1.IfcReinforcingMeshType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4X3$1.IfcAreaMeasure(!v[14] ? null : v[14].value), !v[15] ? null : new IFC4X3$1.IfcAreaMeasure(!v[15] ? null : v[15].value), !v[16] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[16] ? null : v[16].value), !v[17] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[17] ? null : v[17].value), !v[18] ? null : new IFC4X3$1.IfcLabel(!v[18] ? null : v[18].value), !v[19] ? null : ((_c = v[19]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(5, p) : null)) || []); + }, + 3818125796: (v) => { + var _a; + return new IFC4X3$1.IfcRelAdheresToElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 160246688: (v) => { + var _a; + return new IFC4X3$1.IfcRelAggregates(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), new Handle$5(!v[4] ? null : v[4].value), ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || []); + }, + 146592293: (v) => new IFC4X3$1.IfcRoad(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9]), + 550521510: (v) => new IFC4X3$1.IfcRoadPart(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9], v[10]), + 2781568857: (v) => { + var _a, _b; + return new IFC4X3$1.IfcRoofType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1768891740: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSanitaryTerminalType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2157484638: (v) => { + var _a; + return new IFC4X3$1.IfcSeamCurve(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[2]); + }, + 3649235739: (v) => new IFC4X3$1.IfcSecondOrderPolynomialSpiral(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value)), + 544395925: (v) => { + var _a; + return new IFC4X3$1.IfcSegmentedReferenceCurve(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4X3$1.IfcLogical(!v[1] ? null : v[1].value), new Handle$5(!v[2] ? null : v[2].value), !v[3] ? null : new Handle$5(!v[3] ? null : v[3].value)); + }, + 1027922057: (v) => new IFC4X3$1.IfcSeventhOrderPolynomialSpiral(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLengthMeasure(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcLengthMeasure(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcLengthMeasure(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLengthMeasure(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLengthMeasure(!v[8] ? null : v[8].value)), + 4074543187: (v) => { + var _a, _b; + return new IFC4X3$1.IfcShadingDeviceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 33720170: (v) => new IFC4X3$1.IfcSign(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3599934289: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSignType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1894708472: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSignalType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 42703149: (v) => new IFC4X3$1.IfcSineSpiral(!v[0] ? null : new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcLengthMeasure(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLengthMeasure(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcLengthMeasure(!v[3] ? null : v[3].value)), + 4097777520: (v) => new IFC4X3$1.IfcSite(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4X3$1.IfcCompoundPlaneAngleMeasure(v[9].map((x) => x.value)), !v[10] ? null : new IFC4X3$1.IfcCompoundPlaneAngleMeasure(v[10].map((x) => x.value)), !v[11] ? null : new IFC4X3$1.IfcLengthMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcLabel(!v[12] ? null : v[12].value), !v[13] ? null : new Handle$5(!v[13] ? null : v[13].value)), + 2533589738: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSlabType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1072016465: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSolarDeviceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3856911033: (v) => new IFC4X3$1.IfcSpace(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9], !v[10] ? null : new IFC4X3$1.IfcLengthMeasure(!v[10] ? null : v[10].value)), + 1305183839: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSpaceHeaterType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3812236995: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSpaceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC4X3$1.IfcLabel(!v[10] ? null : v[10].value)); + }, + 3112655638: (v) => { + var _a, _b; + return new IFC4X3$1.IfcStackTerminalType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1039846685: (v) => { + var _a, _b; + return new IFC4X3$1.IfcStairFlightType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 338393293: (v) => { + var _a, _b; + return new IFC4X3$1.IfcStairType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 682877961: (v) => new IFC4X3$1.IfcStructuralAction(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4X3$1.IfcBoolean(!v[9] ? null : v[9].value)), + 1179482911: (v) => new IFC4X3$1.IfcStructuralConnection(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)), + 1004757350: (v) => new IFC4X3$1.IfcStructuralCurveAction(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4X3$1.IfcBoolean(!v[9] ? null : v[9].value), v[10], v[11]), + 4243806635: (v) => new IFC4X3$1.IfcStructuralCurveConnection(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), new Handle$5(!v[8] ? null : v[8].value)), + 214636428: (v) => new IFC4X3$1.IfcStructuralCurveMember(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], new Handle$5(!v[8] ? null : v[8].value)), + 2445595289: (v) => new IFC4X3$1.IfcStructuralCurveMemberVarying(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], new Handle$5(!v[8] ? null : v[8].value)), + 2757150158: (v) => new IFC4X3$1.IfcStructuralCurveReaction(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], v[9]), + 1807405624: (v) => new IFC4X3$1.IfcStructuralLinearAction(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4X3$1.IfcBoolean(!v[9] ? null : v[9].value), v[10], v[11]), + 1252848954: (v) => new IFC4X3$1.IfcStructuralLoadGroup(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), v[5], v[6], v[7], !v[8] ? null : new IFC4X3$1.IfcRatioMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcLabel(!v[9] ? null : v[9].value)), + 2082059205: (v) => new IFC4X3$1.IfcStructuralPointAction(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4X3$1.IfcBoolean(!v[9] ? null : v[9].value)), + 734778138: (v) => new IFC4X3$1.IfcStructuralPointConnection(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value)), + 1235345126: (v) => new IFC4X3$1.IfcStructuralPointReaction(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8]), + 2986769608: (v) => new IFC4X3$1.IfcStructuralResultGroup(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), v[5], !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new IFC4X3$1.IfcBoolean(!v[7] ? null : v[7].value)), + 3657597509: (v) => new IFC4X3$1.IfcStructuralSurfaceAction(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4X3$1.IfcBoolean(!v[9] ? null : v[9].value), v[10], v[11]), + 1975003073: (v) => new IFC4X3$1.IfcStructuralSurfaceConnection(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value)), + 148013059: (v) => { + var _a; + return new IFC4X3$1.IfcSubContractResource(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), v[10]); + }, + 3101698114: (v) => new IFC4X3$1.IfcSurfaceFeature(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2315554128: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSwitchingDeviceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2254336722: (v) => new IFC4X3$1.IfcSystem(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value)), + 413509423: (v) => new IFC4X3$1.IfcSystemFurnitureElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 5716631: (v) => { + var _a, _b; + return new IFC4X3$1.IfcTankType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3824725483: (v) => new IFC4X3$1.IfcTendon(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4X3$1.IfcAreaMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcForceMeasure(!v[12] ? null : v[12].value), !v[13] ? null : new IFC4X3$1.IfcPressureMeasure(!v[13] ? null : v[13].value), !v[14] ? null : new IFC4X3$1.IfcNormalisedRatioMeasure(!v[14] ? null : v[14].value), !v[15] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[15] ? null : v[15].value), !v[16] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[16] ? null : v[16].value)), + 2347447852: (v) => new IFC4X3$1.IfcTendonAnchor(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]), + 3081323446: (v) => { + var _a, _b; + return new IFC4X3$1.IfcTendonAnchorType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3663046924: (v) => new IFC4X3$1.IfcTendonConduit(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]), + 2281632017: (v) => { + var _a, _b; + return new IFC4X3$1.IfcTendonConduitType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2415094496: (v) => { + var _a, _b; + return new IFC4X3$1.IfcTendonType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4X3$1.IfcAreaMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[12] ? null : v[12].value)); + }, + 618700268: (v) => { + var _a, _b; + return new IFC4X3$1.IfcTrackElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1692211062: (v) => { + var _a, _b; + return new IFC4X3$1.IfcTransformerType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2097647324: (v) => { + var _a, _b; + return new IFC4X3$1.IfcTransportElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1953115116: (v) => new IFC4X3$1.IfcTransportationDevice(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3593883385: (v) => { + var _a, _b; + return new IFC4X3$1.IfcTrimmedCurve(new Handle$5(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[2]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4X3$1.IfcBoolean(!v[3] ? null : v[3].value), v[4]); + }, + 1600972822: (v) => { + var _a, _b; + return new IFC4X3$1.IfcTubeBundleType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1911125066: (v) => { + var _a, _b; + return new IFC4X3$1.IfcUnitaryEquipmentType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 728799441: (v) => { + var _a, _b; + return new IFC4X3$1.IfcValveType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 840318589: (v) => new IFC4X3$1.IfcVehicle(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1530820697: (v) => new IFC4X3$1.IfcVibrationDamper(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3956297820: (v) => { + var _a, _b; + return new IFC4X3$1.IfcVibrationDamperType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2391383451: (v) => new IFC4X3$1.IfcVibrationIsolator(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3313531582: (v) => { + var _a, _b; + return new IFC4X3$1.IfcVibrationIsolatorType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2769231204: (v) => new IFC4X3$1.IfcVirtualElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 926996030: (v) => new IFC4X3$1.IfcVoidingFeature(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1898987631: (v) => { + var _a, _b; + return new IFC4X3$1.IfcWallType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1133259667: (v) => { + var _a, _b; + return new IFC4X3$1.IfcWasteTerminalType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4009809668: (v) => { + var _a, _b; + return new IFC4X3$1.IfcWindowType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9], v[10], !v[11] ? null : new IFC4X3$1.IfcBoolean(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcLabel(!v[12] ? null : v[12].value)); + }, + 4088093105: (v) => { + var _a, _b; + return new IFC4X3$1.IfcWorkCalendar(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : ((_a = v[6]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : ((_b = v[7]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[8]); + }, + 1028945134: (v) => { + var _a; + return new IFC4X3$1.IfcWorkControl(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), new IFC4X3$1.IfcDateTime(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcDuration(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcDuration(!v[10] ? null : v[10].value), new IFC4X3$1.IfcDateTime(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcDateTime(!v[12] ? null : v[12].value)); + }, + 4218914973: (v) => { + var _a; + return new IFC4X3$1.IfcWorkPlan(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), new IFC4X3$1.IfcDateTime(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcDuration(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcDuration(!v[10] ? null : v[10].value), new IFC4X3$1.IfcDateTime(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcDateTime(!v[12] ? null : v[12].value), v[13]); + }, + 3342526732: (v) => { + var _a; + return new IFC4X3$1.IfcWorkSchedule(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), new IFC4X3$1.IfcDateTime(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcDuration(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcDuration(!v[10] ? null : v[10].value), new IFC4X3$1.IfcDateTime(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcDateTime(!v[12] ? null : v[12].value), v[13]); + }, + 1033361043: (v) => new IFC4X3$1.IfcZone(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcLabel(!v[5] ? null : v[5].value)), + 3821786052: (v) => new IFC4X3$1.IfcActionRequest(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), v[6], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcText(!v[8] ? null : v[8].value)), + 1411407467: (v) => { + var _a, _b; + return new IFC4X3$1.IfcAirTerminalBoxType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3352864051: (v) => { + var _a, _b; + return new IFC4X3$1.IfcAirTerminalType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1871374353: (v) => { + var _a, _b; + return new IFC4X3$1.IfcAirToAirHeatRecoveryType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4266260250: (v) => new IFC4X3$1.IfcAlignmentCant(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[7] ? null : v[7].value)), + 1545765605: (v) => new IFC4X3$1.IfcAlignmentHorizontal(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 317615605: (v) => new IFC4X3$1.IfcAlignmentSegment(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value)), + 1662888072: (v) => new IFC4X3$1.IfcAlignmentVertical(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 3460190687: (v) => new IFC4X3$1.IfcAsset(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : new Handle$5(!v[8] ? null : v[8].value), !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), !v[10] ? null : new Handle$5(!v[10] ? null : v[10].value), !v[11] ? null : new Handle$5(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcDate(!v[12] ? null : v[12].value), !v[13] ? null : new Handle$5(!v[13] ? null : v[13].value)), + 1532957894: (v) => { + var _a, _b; + return new IFC4X3$1.IfcAudioVisualApplianceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1967976161: (v) => { + var _a; + return new IFC4X3$1.IfcBSplineCurve(new IFC4X3$1.IfcInteger(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[2], new IFC4X3$1.IfcLogical(!v[3] ? null : v[3].value), new IFC4X3$1.IfcLogical(!v[4] ? null : v[4].value)); + }, + 2461110595: (v) => { + var _a, _b, _c; + return new IFC4X3$1.IfcBSplineCurveWithKnots(new IFC4X3$1.IfcInteger(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[2], new IFC4X3$1.IfcLogical(!v[3] ? null : v[3].value), new IFC4X3$1.IfcLogical(!v[4] ? null : v[4].value), ((_b = v[5]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcInteger(p.value) : null)) || [], ((_c = v[6]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcParameterValue(p.value) : null)) || [], v[7]); + }, + 819618141: (v) => { + var _a, _b; + return new IFC4X3$1.IfcBeamType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3649138523: (v) => { + var _a, _b; + return new IFC4X3$1.IfcBearingType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 231477066: (v) => { + var _a, _b; + return new IFC4X3$1.IfcBoilerType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1136057603: (v) => { + var _a; + return new IFC4X3$1.IfcBoundaryCurve(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4X3$1.IfcLogical(!v[1] ? null : v[1].value)); + }, + 644574406: (v) => new IFC4X3$1.IfcBridge(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9]), + 963979645: (v) => new IFC4X3$1.IfcBridgePart(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], v[9], v[10]), + 4031249490: (v) => new IFC4X3$1.IfcBuilding(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4X3$1.IfcLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new Handle$5(!v[11] ? null : v[11].value)), + 2979338954: (v) => new IFC4X3$1.IfcBuildingElementPart(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 39481116: (v) => { + var _a, _b; + return new IFC4X3$1.IfcBuildingElementPartType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1909888760: (v) => { + var _a, _b; + return new IFC4X3$1.IfcBuildingElementProxyType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1177604601: (v) => new IFC4X3$1.IfcBuildingSystem(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), v[5], !v[6] ? null : new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value)), + 1876633798: (v) => new IFC4X3$1.IfcBuiltElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3862327254: (v) => new IFC4X3$1.IfcBuiltSystem(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), v[5], !v[6] ? null : new IFC4X3$1.IfcLabel(!v[6] ? null : v[6].value)), + 2188180465: (v) => { + var _a, _b; + return new IFC4X3$1.IfcBurnerType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 395041908: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCableCarrierFittingType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3293546465: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCableCarrierSegmentType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2674252688: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCableFittingType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1285652485: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCableSegmentType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3203706013: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCaissonFoundationType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2951183804: (v) => { + var _a, _b; + return new IFC4X3$1.IfcChillerType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3296154744: (v) => new IFC4X3$1.IfcChimney(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2611217952: (v) => new IFC4X3$1.IfcCircle(new Handle$5(!v[0] ? null : v[0].value), new IFC4X3$1.IfcPositiveLengthMeasure(!v[1] ? null : v[1].value)), + 1677625105: (v) => new IFC4X3$1.IfcCivilElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2301859152: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCoilType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 843113511: (v) => new IFC4X3$1.IfcColumn(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 400855858: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCommunicationsApplianceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3850581409: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCompressorType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2816379211: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCondenserType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3898045240: (v) => { + var _a; + return new IFC4X3$1.IfcConstructionEquipmentResource(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), v[10]); + }, + 1060000209: (v) => { + var _a; + return new IFC4X3$1.IfcConstructionMaterialResource(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), v[10]); + }, + 488727124: (v) => { + var _a; + return new IFC4X3$1.IfcConstructionProductResource(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcIdentifier(!v[5] ? null : v[5].value), !v[6] ? null : new IFC4X3$1.IfcText(!v[6] ? null : v[6].value), !v[7] ? null : new Handle$5(!v[7] ? null : v[7].value), !v[8] ? null : ((_a = v[8]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value), v[10]); + }, + 2940368186: (v) => { + var _a, _b; + return new IFC4X3$1.IfcConveyorSegmentType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 335055490: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCooledBeamType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2954562838: (v) => { + var _a, _b; + return new IFC4X3$1.IfcCoolingTowerType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1502416096: (v) => new IFC4X3$1.IfcCourse(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1973544240: (v) => new IFC4X3$1.IfcCovering(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3495092785: (v) => new IFC4X3$1.IfcCurtainWall(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3961806047: (v) => { + var _a, _b; + return new IFC4X3$1.IfcDamperType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3426335179: (v) => new IFC4X3$1.IfcDeepFoundation(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 1335981549: (v) => new IFC4X3$1.IfcDiscreteAccessory(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2635815018: (v) => { + var _a, _b; + return new IFC4X3$1.IfcDiscreteAccessoryType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 479945903: (v) => { + var _a, _b; + return new IFC4X3$1.IfcDistributionBoardType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1599208980: (v) => { + var _a, _b; + return new IFC4X3$1.IfcDistributionChamberElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2063403501: (v) => { + var _a, _b; + return new IFC4X3$1.IfcDistributionControlElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value)); + }, + 1945004755: (v) => new IFC4X3$1.IfcDistributionElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3040386961: (v) => new IFC4X3$1.IfcDistributionFlowElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3041715199: (v) => new IFC4X3$1.IfcDistributionPort(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7], v[8], v[9]), + 3205830791: (v) => new IFC4X3$1.IfcDistributionSystem(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcLabel(!v[5] ? null : v[5].value), v[6]), + 395920057: (v) => new IFC4X3$1.IfcDoor(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), v[10], v[11], !v[12] ? null : new IFC4X3$1.IfcLabel(!v[12] ? null : v[12].value)), + 869906466: (v) => { + var _a, _b; + return new IFC4X3$1.IfcDuctFittingType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3760055223: (v) => { + var _a, _b; + return new IFC4X3$1.IfcDuctSegmentType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2030761528: (v) => { + var _a, _b; + return new IFC4X3$1.IfcDuctSilencerType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3071239417: (v) => new IFC4X3$1.IfcEarthworksCut(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1077100507: (v) => new IFC4X3$1.IfcEarthworksElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3376911765: (v) => new IFC4X3$1.IfcEarthworksFill(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 663422040: (v) => { + var _a, _b; + return new IFC4X3$1.IfcElectricApplianceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2417008758: (v) => { + var _a, _b; + return new IFC4X3$1.IfcElectricDistributionBoardType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3277789161: (v) => { + var _a, _b; + return new IFC4X3$1.IfcElectricFlowStorageDeviceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2142170206: (v) => { + var _a, _b; + return new IFC4X3$1.IfcElectricFlowTreatmentDeviceType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1534661035: (v) => { + var _a, _b; + return new IFC4X3$1.IfcElectricGeneratorType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1217240411: (v) => { + var _a, _b; + return new IFC4X3$1.IfcElectricMotorType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 712377611: (v) => { + var _a, _b; + return new IFC4X3$1.IfcElectricTimeControlType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1658829314: (v) => new IFC4X3$1.IfcEnergyConversionDevice(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2814081492: (v) => new IFC4X3$1.IfcEngine(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3747195512: (v) => new IFC4X3$1.IfcEvaporativeCooler(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 484807127: (v) => new IFC4X3$1.IfcEvaporator(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1209101575: (v) => new IFC4X3$1.IfcExternalSpatialElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), v[8]), + 346874300: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFanType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1810631287: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFilterType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4222183408: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFireSuppressionTerminalType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2058353004: (v) => new IFC4X3$1.IfcFlowController(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 4278956645: (v) => new IFC4X3$1.IfcFlowFitting(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 4037862832: (v) => { + var _a, _b; + return new IFC4X3$1.IfcFlowInstrumentType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 2188021234: (v) => new IFC4X3$1.IfcFlowMeter(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3132237377: (v) => new IFC4X3$1.IfcFlowMovingDevice(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 987401354: (v) => new IFC4X3$1.IfcFlowSegment(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 707683696: (v) => new IFC4X3$1.IfcFlowStorageDevice(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2223149337: (v) => new IFC4X3$1.IfcFlowTerminal(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3508470533: (v) => new IFC4X3$1.IfcFlowTreatmentDevice(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 900683007: (v) => new IFC4X3$1.IfcFooting(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2713699986: (v) => new IFC4X3$1.IfcGeotechnicalAssembly(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 3009204131: (v) => { + var _a, _b, _c; + return new IFC4X3$1.IfcGrid(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], ((_b = v[8]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : ((_c = v[9]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[10]); + }, + 3319311131: (v) => new IFC4X3$1.IfcHeatExchanger(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2068733104: (v) => new IFC4X3$1.IfcHumidifier(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4175244083: (v) => new IFC4X3$1.IfcInterceptor(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2176052936: (v) => new IFC4X3$1.IfcJunctionBox(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2696325953: (v) => new IFC4X3$1.IfcKerb(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), new IFC4X3$1.IfcBoolean(!v[8] ? null : v[8].value)), + 76236018: (v) => new IFC4X3$1.IfcLamp(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 629592764: (v) => new IFC4X3$1.IfcLightFixture(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1154579445: (v) => new IFC4X3$1.IfcLinearPositioningElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value)), + 1638804497: (v) => new IFC4X3$1.IfcLiquidTerminal(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1437502449: (v) => new IFC4X3$1.IfcMedicalDevice(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1073191201: (v) => new IFC4X3$1.IfcMember(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2078563270: (v) => new IFC4X3$1.IfcMobileTelecommunicationsAppliance(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 234836483: (v) => new IFC4X3$1.IfcMooringDevice(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2474470126: (v) => new IFC4X3$1.IfcMotorConnection(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2182337498: (v) => new IFC4X3$1.IfcNavigationElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 144952367: (v) => { + var _a; + return new IFC4X3$1.IfcOuterBoundaryCurve(((_a = v[0]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], new IFC4X3$1.IfcLogical(!v[1] ? null : v[1].value)); + }, + 3694346114: (v) => new IFC4X3$1.IfcOutlet(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1383356374: (v) => new IFC4X3$1.IfcPavement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1687234759: (v) => new IFC4X3$1.IfcPile(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8], v[9]), + 310824031: (v) => new IFC4X3$1.IfcPipeFitting(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3612865200: (v) => new IFC4X3$1.IfcPipeSegment(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3171933400: (v) => new IFC4X3$1.IfcPlate(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 738039164: (v) => new IFC4X3$1.IfcProtectiveDevice(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 655969474: (v) => { + var _a, _b; + return new IFC4X3$1.IfcProtectiveDeviceTrippingUnitType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 90941305: (v) => new IFC4X3$1.IfcPump(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3290496277: (v) => new IFC4X3$1.IfcRail(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2262370178: (v) => new IFC4X3$1.IfcRailing(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3024970846: (v) => new IFC4X3$1.IfcRamp(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3283111854: (v) => new IFC4X3$1.IfcRampFlight(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1232101972: (v) => { + var _a, _b, _c, _d; + return new IFC4X3$1.IfcRationalBSplineCurveWithKnots(new IFC4X3$1.IfcInteger(!v[0] ? null : v[0].value), ((_a = v[1]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], v[2], new IFC4X3$1.IfcLogical(!v[3] ? null : v[3].value), new IFC4X3$1.IfcLogical(!v[4] ? null : v[4].value), ((_b = v[5]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcInteger(p.value) : null)) || [], ((_c = v[6]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcParameterValue(p.value) : null)) || [], v[7], ((_d = v[8]) == null ? void 0 : _d.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcReal(p.value) : null)) || []); + }, + 3798194928: (v) => new IFC4X3$1.IfcReinforcedSoil(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 979691226: (v) => new IFC4X3$1.IfcReinforcingBar(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcAreaMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[11] ? null : v[11].value), v[12], v[13]), + 2572171363: (v) => { + var _a, _b, _c; + return new IFC4X3$1.IfcReinforcingBarType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9], !v[10] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4X3$1.IfcAreaMeasure(!v[11] ? null : v[11].value), !v[12] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[12] ? null : v[12].value), v[13], !v[14] ? null : new IFC4X3$1.IfcLabel(!v[14] ? null : v[14].value), !v[15] ? null : ((_c = v[15]) == null ? void 0 : _c.map((p) => (p == null ? void 0 : p.value) ? TypeInitialiser(5, p) : null)) || []); + }, + 2016517767: (v) => new IFC4X3$1.IfcRoof(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3053780830: (v) => new IFC4X3$1.IfcSanitaryTerminal(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1783015770: (v) => { + var _a, _b; + return new IFC4X3$1.IfcSensorType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1329646415: (v) => new IFC4X3$1.IfcShadingDevice(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 991950508: (v) => new IFC4X3$1.IfcSignal(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1529196076: (v) => new IFC4X3$1.IfcSlab(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3420628829: (v) => new IFC4X3$1.IfcSolarDevice(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1999602285: (v) => new IFC4X3$1.IfcSpaceHeater(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1404847402: (v) => new IFC4X3$1.IfcStackTerminal(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 331165859: (v) => new IFC4X3$1.IfcStair(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4252922144: (v) => new IFC4X3$1.IfcStairFlight(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcInteger(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcInteger(!v[9] ? null : v[9].value), !v[10] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[10] ? null : v[10].value), !v[11] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[11] ? null : v[11].value), v[12]), + 2515109513: (v) => { + var _a, _b; + return new IFC4X3$1.IfcStructuralAnalysisModel(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), v[5], !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : ((_a = v[7]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[8] ? null : ((_b = v[8]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[9] ? null : new Handle$5(!v[9] ? null : v[9].value)); + }, + 385403989: (v) => { + var _a; + return new IFC4X3$1.IfcStructuralLoadCase(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), v[5], v[6], v[7], !v[8] ? null : new IFC4X3$1.IfcRatioMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcLabel(!v[9] ? null : v[9].value), !v[10] ? null : ((_a = v[10]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new IFC4X3$1.IfcRatioMeasure(p.value) : null)) || []); + }, + 1621171031: (v) => new IFC4X3$1.IfcStructuralPlanarAction(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), new Handle$5(!v[7] ? null : v[7].value), v[8], !v[9] ? null : new IFC4X3$1.IfcBoolean(!v[9] ? null : v[9].value), v[10], v[11]), + 1162798199: (v) => new IFC4X3$1.IfcSwitchingDevice(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 812556717: (v) => new IFC4X3$1.IfcTank(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3425753595: (v) => new IFC4X3$1.IfcTrackElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3825984169: (v) => new IFC4X3$1.IfcTransformer(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1620046519: (v) => new IFC4X3$1.IfcTransportElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3026737570: (v) => new IFC4X3$1.IfcTubeBundle(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3179687236: (v) => { + var _a, _b; + return new IFC4X3$1.IfcUnitaryControlElementType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 4292641817: (v) => new IFC4X3$1.IfcUnitaryEquipment(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4207607924: (v) => new IFC4X3$1.IfcValve(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2391406946: (v) => new IFC4X3$1.IfcWall(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3512223829: (v) => new IFC4X3$1.IfcWallStandardCase(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4237592921: (v) => new IFC4X3$1.IfcWasteTerminal(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3304561284: (v) => new IFC4X3$1.IfcWindow(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[8] ? null : v[8].value), !v[9] ? null : new IFC4X3$1.IfcPositiveLengthMeasure(!v[9] ? null : v[9].value), v[10], v[11], !v[12] ? null : new IFC4X3$1.IfcLabel(!v[12] ? null : v[12].value)), + 2874132201: (v) => { + var _a, _b; + return new IFC4X3$1.IfcActuatorType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 1634111441: (v) => new IFC4X3$1.IfcAirTerminal(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 177149247: (v) => new IFC4X3$1.IfcAirTerminalBox(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2056796094: (v) => new IFC4X3$1.IfcAirToAirHeatRecovery(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3001207471: (v) => { + var _a, _b; + return new IFC4X3$1.IfcAlarmType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 325726236: (v) => new IFC4X3$1.IfcAlignment(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), v[7]), + 277319702: (v) => new IFC4X3$1.IfcAudioVisualAppliance(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 753842376: (v) => new IFC4X3$1.IfcBeam(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4196446775: (v) => new IFC4X3$1.IfcBearing(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 32344328: (v) => new IFC4X3$1.IfcBoiler(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3314249567: (v) => new IFC4X3$1.IfcBorehole(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 1095909175: (v) => new IFC4X3$1.IfcBuildingElementProxy(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2938176219: (v) => new IFC4X3$1.IfcBurner(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 635142910: (v) => new IFC4X3$1.IfcCableCarrierFitting(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3758799889: (v) => new IFC4X3$1.IfcCableCarrierSegment(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1051757585: (v) => new IFC4X3$1.IfcCableFitting(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4217484030: (v) => new IFC4X3$1.IfcCableSegment(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3999819293: (v) => new IFC4X3$1.IfcCaissonFoundation(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3902619387: (v) => new IFC4X3$1.IfcChiller(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 639361253: (v) => new IFC4X3$1.IfcCoil(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3221913625: (v) => new IFC4X3$1.IfcCommunicationsAppliance(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3571504051: (v) => new IFC4X3$1.IfcCompressor(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2272882330: (v) => new IFC4X3$1.IfcCondenser(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 578613899: (v) => { + var _a, _b; + return new IFC4X3$1.IfcControllerType(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcIdentifier(!v[4] ? null : v[4].value), !v[5] ? null : ((_a = v[5]) == null ? void 0 : _a.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[6] ? null : ((_b = v[6]) == null ? void 0 : _b.map((p) => (p == null ? void 0 : p.value) ? new Handle$5(p.value) : null)) || [], !v[7] ? null : new IFC4X3$1.IfcLabel(!v[7] ? null : v[7].value), !v[8] ? null : new IFC4X3$1.IfcLabel(!v[8] ? null : v[8].value), v[9]); + }, + 3460952963: (v) => new IFC4X3$1.IfcConveyorSegment(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4136498852: (v) => new IFC4X3$1.IfcCooledBeam(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3640358203: (v) => new IFC4X3$1.IfcCoolingTower(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4074379575: (v) => new IFC4X3$1.IfcDamper(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3693000487: (v) => new IFC4X3$1.IfcDistributionBoard(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1052013943: (v) => new IFC4X3$1.IfcDistributionChamberElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 562808652: (v) => new IFC4X3$1.IfcDistributionCircuit(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new IFC4X3$1.IfcLabel(!v[5] ? null : v[5].value), v[6]), + 1062813311: (v) => new IFC4X3$1.IfcDistributionControlElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 342316401: (v) => new IFC4X3$1.IfcDuctFitting(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3518393246: (v) => new IFC4X3$1.IfcDuctSegment(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1360408905: (v) => new IFC4X3$1.IfcDuctSilencer(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1904799276: (v) => new IFC4X3$1.IfcElectricAppliance(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 862014818: (v) => new IFC4X3$1.IfcElectricDistributionBoard(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3310460725: (v) => new IFC4X3$1.IfcElectricFlowStorageDevice(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 24726584: (v) => new IFC4X3$1.IfcElectricFlowTreatmentDevice(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 264262732: (v) => new IFC4X3$1.IfcElectricGenerator(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 402227799: (v) => new IFC4X3$1.IfcElectricMotor(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1003880860: (v) => new IFC4X3$1.IfcElectricTimeControl(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3415622556: (v) => new IFC4X3$1.IfcFan(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 819412036: (v) => new IFC4X3$1.IfcFilter(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 1426591983: (v) => new IFC4X3$1.IfcFireSuppressionTerminal(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 182646315: (v) => new IFC4X3$1.IfcFlowInstrument(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 2680139844: (v) => new IFC4X3$1.IfcGeomodel(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 1971632696: (v) => new IFC4X3$1.IfcGeoslice(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value)), + 2295281155: (v) => new IFC4X3$1.IfcProtectiveDeviceTrippingUnit(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4086658281: (v) => new IFC4X3$1.IfcSensor(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 630975310: (v) => new IFC4X3$1.IfcUnitaryControlElement(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 4288193352: (v) => new IFC4X3$1.IfcActuator(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 3087945054: (v) => new IFC4X3$1.IfcAlarm(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]), + 25142252: (v) => new IFC4X3$1.IfcController(new IFC4X3$1.IfcGloballyUniqueId(!v[0] ? null : v[0].value), !v[1] ? null : new Handle$5(!v[1] ? null : v[1].value), !v[2] ? null : new IFC4X3$1.IfcLabel(!v[2] ? null : v[2].value), !v[3] ? null : new IFC4X3$1.IfcText(!v[3] ? null : v[3].value), !v[4] ? null : new IFC4X3$1.IfcLabel(!v[4] ? null : v[4].value), !v[5] ? null : new Handle$5(!v[5] ? null : v[5].value), !v[6] ? null : new Handle$5(!v[6] ? null : v[6].value), !v[7] ? null : new IFC4X3$1.IfcIdentifier(!v[7] ? null : v[7].value), v[8]) +}; +InheritanceDef[5] = { + 618182010: [IFCTELECOMADDRESS, IFCPOSTALADDRESS], + 2879124712: [IFCALIGNMENTHORIZONTALSEGMENT, IFCALIGNMENTCANTSEGMENT, IFCALIGNMENTVERTICALSEGMENT], + 411424972: [IFCCOSTVALUE], + 4037036970: [IFCBOUNDARYNODECONDITIONWARPING, IFCBOUNDARYNODECONDITION, IFCBOUNDARYFACECONDITION, IFCBOUNDARYEDGECONDITION], + 1387855156: [IFCBOUNDARYNODECONDITIONWARPING], + 2859738748: [IFCCONNECTIONCURVEGEOMETRY, IFCCONNECTIONVOLUMEGEOMETRY, IFCCONNECTIONSURFACEGEOMETRY, IFCCONNECTIONPOINTECCENTRICITY, IFCCONNECTIONPOINTGEOMETRY], + 2614616156: [IFCCONNECTIONPOINTECCENTRICITY], + 1959218052: [IFCOBJECTIVE, IFCMETRIC], + 1785450214: [IFCMAPCONVERSION], + 1466758467: [IFCPROJECTEDCRS], + 4294318154: [IFCDOCUMENTINFORMATION, IFCCLASSIFICATION, IFCLIBRARYINFORMATION], + 3200245327: [IFCDOCUMENTREFERENCE, IFCCLASSIFICATIONREFERENCE, IFCLIBRARYREFERENCE, IFCEXTERNALLYDEFINEDTEXTFONT, IFCEXTERNALLYDEFINEDSURFACESTYLE, IFCEXTERNALLYDEFINEDHATCHSTYLE], + 760658860: [IFCMATERIALCONSTITUENTSET, IFCMATERIALCONSTITUENT, IFCMATERIAL, IFCMATERIALPROFILESET, IFCMATERIALPROFILEWITHOFFSETS, IFCMATERIALPROFILE, IFCMATERIALLAYERSET, IFCMATERIALLAYERWITHOFFSETS, IFCMATERIALLAYER], + 248100487: [IFCMATERIALLAYERWITHOFFSETS], + 2235152071: [IFCMATERIALPROFILEWITHOFFSETS], + 1507914824: [IFCMATERIALPROFILESETUSAGETAPERING, IFCMATERIALPROFILESETUSAGE, IFCMATERIALLAYERSETUSAGE], + 1918398963: [IFCCONVERSIONBASEDUNITWITHOFFSET, IFCCONVERSIONBASEDUNIT, IFCCONTEXTDEPENDENTUNIT, IFCSIUNIT], + 3701648758: [IFCLOCALPLACEMENT, IFCLINEARPLACEMENT, IFCGRIDPLACEMENT], + 2483315170: [IFCPHYSICALCOMPLEXQUANTITY, IFCQUANTITYWEIGHT, IFCQUANTITYVOLUME, IFCQUANTITYTIME, IFCQUANTITYNUMBER, IFCQUANTITYLENGTH, IFCQUANTITYCOUNT, IFCQUANTITYAREA, IFCPHYSICALSIMPLEQUANTITY], + 2226359599: [IFCQUANTITYWEIGHT, IFCQUANTITYVOLUME, IFCQUANTITYTIME, IFCQUANTITYNUMBER, IFCQUANTITYLENGTH, IFCQUANTITYCOUNT, IFCQUANTITYAREA], + 677532197: [IFCDRAUGHTINGPREDEFINEDCURVEFONT, IFCPREDEFINEDCURVEFONT, IFCDRAUGHTINGPREDEFINEDCOLOUR, IFCPREDEFINEDCOLOUR, IFCTEXTSTYLEFONTMODEL, IFCPREDEFINEDTEXTFONT, IFCPREDEFINEDITEM, IFCINDEXEDCOLOURMAP, IFCCURVESTYLEFONTPATTERN, IFCCURVESTYLEFONTANDSCALING, IFCCURVESTYLEFONT, IFCCOLOURRGB, IFCCOLOURSPECIFICATION, IFCCOLOURRGBLIST, IFCTEXTUREVERTEXLIST, IFCTEXTUREVERTEX, IFCINDEXEDPOLYGONALTEXTUREMAP, IFCINDEXEDTRIANGLETEXTUREMAP, IFCINDEXEDTEXTUREMAP, IFCTEXTUREMAP, IFCTEXTURECOORDINATEGENERATOR, IFCTEXTURECOORDINATE, IFCTEXTSTYLETEXTMODEL, IFCTEXTSTYLEFORDEFINEDFONT, IFCPIXELTEXTURE, IFCIMAGETEXTURE, IFCBLOBTEXTURE, IFCSURFACETEXTURE, IFCSURFACESTYLEWITHTEXTURES, IFCSURFACESTYLERENDERING, IFCSURFACESTYLESHADING, IFCSURFACESTYLEREFRACTION, IFCSURFACESTYLELIGHTING], + 2022622350: [IFCPRESENTATIONLAYERWITHSTYLE], + 3119450353: [IFCFILLAREASTYLE, IFCCURVESTYLE, IFCTEXTSTYLE, IFCSURFACESTYLE], + 2095639259: [IFCPRODUCTDEFINITIONSHAPE, IFCMATERIALDEFINITIONREPRESENTATION], + 3958567839: [IFCLSHAPEPROFILEDEF, IFCISHAPEPROFILEDEF, IFCELLIPSEPROFILEDEF, IFCCIRCLEHOLLOWPROFILEDEF, IFCCIRCLEPROFILEDEF, IFCCSHAPEPROFILEDEF, IFCASYMMETRICISHAPEPROFILEDEF, IFCZSHAPEPROFILEDEF, IFCUSHAPEPROFILEDEF, IFCTRAPEZIUMPROFILEDEF, IFCTSHAPEPROFILEDEF, IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF, IFCRECTANGLEPROFILEDEF, IFCPARAMETERIZEDPROFILEDEF, IFCOPENCROSSPROFILEDEF, IFCMIRROREDPROFILEDEF, IFCDERIVEDPROFILEDEF, IFCCOMPOSITEPROFILEDEF, IFCCENTERLINEPROFILEDEF, IFCARBITRARYOPENPROFILEDEF, IFCARBITRARYPROFILEDEFWITHVOIDS, IFCARBITRARYCLOSEDPROFILEDEF], + 986844984: [IFCCOMPLEXPROPERTY, IFCPROPERTYTABLEVALUE, IFCPROPERTYSINGLEVALUE, IFCPROPERTYREFERENCEVALUE, IFCPROPERTYLISTVALUE, IFCPROPERTYENUMERATEDVALUE, IFCPROPERTYBOUNDEDVALUE, IFCSIMPLEPROPERTY, IFCPROPERTY, IFCSECTIONREINFORCEMENTPROPERTIES, IFCSECTIONPROPERTIES, IFCREINFORCEMENTBARPROPERTIES, IFCPREDEFINEDPROPERTIES, IFCPROFILEPROPERTIES, IFCMATERIALPROPERTIES, IFCEXTENDEDPROPERTIES, IFCPROPERTYENUMERATION], + 1076942058: [IFCSTYLEDREPRESENTATION, IFCSTYLEMODEL, IFCTOPOLOGYREPRESENTATION, IFCSHAPEREPRESENTATION, IFCSHAPEMODEL], + 3377609919: [IFCGEOMETRICREPRESENTATIONSUBCONTEXT, IFCGEOMETRICREPRESENTATIONCONTEXT], + 3008791417: [IFCMAPPEDITEM, IFCFILLAREASTYLETILES, IFCFILLAREASTYLEHATCHING, IFCFACEBASEDSURFACEMODEL, IFCDIRECTION, IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFCINDEXEDPOLYCURVE, IFCSEGMENTEDREFERENCECURVE, IFCGRADIENTCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCSEAMCURVE, IFCINTERSECTIONCURVE, IFCSURFACECURVE, IFCSINESPIRAL, IFCSEVENTHORDERPOLYNOMIALSPIRAL, IFCSECONDORDERPOLYNOMIALSPIRAL, IFCCOSINESPIRAL, IFCCLOTHOID, IFCTHIRDORDERPOLYNOMIALSPIRAL, IFCSPIRAL, IFCPOLYNOMIALCURVE, IFCPCURVE, IFCOFFSETCURVEBYDISTANCES, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCOFFSETCURVE, IFCLINE, IFCCURVE, IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID, IFCCSGPRIMITIVE3D, IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D, IFCCARTESIANTRANSFORMATIONOPERATOR, IFCCARTESIANPOINTLIST3D, IFCCARTESIANPOINTLIST2D, IFCCARTESIANPOINTLIST, IFCBOUNDINGBOX, IFCBOOLEANCLIPPINGRESULT, IFCBOOLEANRESULT, IFCANNOTATIONFILLAREA, IFCVECTOR, IFCTEXTLITERALWITHEXTENT, IFCTEXTLITERAL, IFCPOLYGONALFACESET, IFCTRIANGULATEDIRREGULARNETWORK, IFCTRIANGULATEDFACESET, IFCTESSELLATEDFACESET, IFCINDEXEDPOLYGONALFACEWITHVOIDS, IFCINDEXEDPOLYGONALFACE, IFCTESSELLATEDITEM, IFCSECTIONEDSURFACE, IFCCYLINDRICALSURFACE, IFCTOROIDALSURFACE, IFCSPHERICALSURFACE, IFCPLANE, IFCELEMENTARYSURFACE, IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE, IFCSURFACE, IFCSECTIONEDSOLIDHORIZONTAL, IFCSECTIONEDSOLID, IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCADVANCEDBREPWITHVOIDS, IFCADVANCEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLIDPOLYGONAL, IFCSWEPTDISKSOLID, IFCREVOLVEDAREASOLIDTAPERED, IFCREVOLVEDAREASOLID, IFCEXTRUDEDAREASOLIDTAPERED, IFCEXTRUDEDAREASOLID, IFCSURFACECURVESWEPTAREASOLID, IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID, IFCDIRECTRIXCURVESWEPTAREASOLID, IFCSWEPTAREASOLID, IFCSOLIDMODEL, IFCSHELLBASEDSURFACEMODEL, IFCCURVESEGMENT, IFCREPARAMETRISEDCOMPOSITECURVESEGMENT, IFCCOMPOSITECURVESEGMENT, IFCSEGMENT, IFCSECTIONEDSPINE, IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE, IFCPOINTBYDISTANCEEXPRESSION, IFCPOINT, IFCPLANARBOX, IFCPLANAREXTENT, IFCAXIS2PLACEMENTLINEAR, IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT, IFCPLACEMENT, IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT, IFCLIGHTSOURCE, IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE, IFCHALFSPACESOLID, IFCGEOMETRICCURVESET, IFCGEOMETRICSET, IFCGEOMETRICREPRESENTATIONITEM, IFCPATH, IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP, IFCLOOP, IFCFACEOUTERBOUND, IFCFACEBOUND, IFCADVANCEDFACE, IFCFACESURFACE, IFCFACE, IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE, IFCEDGE, IFCCLOSEDSHELL, IFCOPENSHELL, IFCCONNECTEDFACESET, IFCVERTEXPOINT, IFCVERTEX, IFCTOPOLOGICALREPRESENTATIONITEM, IFCSTYLEDITEM], + 2439245199: [IFCRESOURCECONSTRAINTRELATIONSHIP, IFCRESOURCEAPPROVALRELATIONSHIP, IFCPROPERTYDEPENDENCYRELATIONSHIP, IFCORGANIZATIONRELATIONSHIP, IFCMATERIALRELATIONSHIP, IFCEXTERNALREFERENCERELATIONSHIP, IFCDOCUMENTINFORMATIONRELATIONSHIP, IFCCURRENCYRELATIONSHIP, IFCAPPROVALRELATIONSHIP], + 2341007311: [IFCRELDEFINESBYTYPE, IFCRELDEFINESBYTEMPLATE, IFCRELDEFINESBYPROPERTIES, IFCRELDEFINESBYOBJECT, IFCRELDEFINES, IFCRELAGGREGATES, IFCRELADHERESTOELEMENT, IFCRELVOIDSELEMENT, IFCRELPROJECTSELEMENT, IFCRELNESTS, IFCRELDECOMPOSES, IFCRELDECLARES, IFCRELSPACEBOUNDARY2NDLEVEL, IFCRELSPACEBOUNDARY1STLEVEL, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELPOSITIONS, IFCRELINTERFERESELEMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS, IFCRELCONNECTS, IFCRELASSOCIATESPROFILEDEF, IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL, IFCRELASSOCIATES, IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUPBYFACTOR, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTOCONTROL, IFCRELASSIGNSTOACTOR, IFCRELASSIGNS, IFCRELATIONSHIP, IFCCOMPLEXPROPERTYTEMPLATE, IFCSIMPLEPROPERTYTEMPLATE, IFCPROPERTYTEMPLATE, IFCPROPERTYSETTEMPLATE, IFCPROPERTYTEMPLATEDEFINITION, IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCREINFORCEMENTDEFINITIONPROPERTIES, IFCPREDEFINEDPROPERTYSET, IFCELEMENTQUANTITY, IFCQUANTITYSET, IFCPROPERTYSETDEFINITION, IFCPROPERTYDEFINITION, IFCASSET, IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILTSYSTEM, IFCBUILDINGSYSTEM, IFCZONE, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADCASE, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCWORKCALENDAR, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCALIGNMENT, IFCLINEARPOSITIONINGELEMENT, IFCGRID, IFCREFERENT, IFCPOSITIONINGELEMENT, IFCDISTRIBUTIONPORT, IFCPORT, IFCALIGNMENTVERTICAL, IFCALIGNMENTSEGMENT, IFCALIGNMENTHORIZONTAL, IFCALIGNMENTCANT, IFCLINEARELEMENT, IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCELECTRICFLOWTREATMENTDEVICE, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSIGNAL, IFCSANITARYTERMINAL, IFCOUTLET, IFCMOBILETELECOMMUNICATIONSAPPLIANCE, IFCMEDICALDEVICE, IFCLIQUIDTERMINAL, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCONVEYORSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBUILDINGELEMENTPROXY, IFCBEARING, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCTRACKELEMENT, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCRAIL, IFCPLATE, IFCPAVEMENT, IFCNAVIGATIONELEMENT, IFCMOORINGDEVICE, IFCMEMBER, IFCKERB, IFCFOOTING, IFCREINFORCEDSOIL, IFCEARTHWORKSFILL, IFCEARTHWORKSELEMENT, IFCDOOR, IFCCAISSONFOUNDATION, IFCPILE, IFCDEEPFOUNDATION, IFCCURTAINWALL, IFCCOVERING, IFCCOURSE, IFCCOLUMN, IFCCHIMNEY, IFCBUILTELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCVEHICLE, IFCTRANSPORTATIONDEVICE, IFCGEOSLICE, IFCGEOMODEL, IFCBOREHOLE, IFCGEOTECHNICALASSEMBLY, IFCGEOTECHNICALSTRATUM, IFCGEOTECHNICALELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCEARTHWORKSCUT, IFCVOIDINGFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCVIBRATIONDAMPER, IFCSIGN, IFCREINFORCINGBAR, IFCTENDONCONDUIT, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCIMPACTPROTECTIONDEVICE, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBRIDGEPART, IFCROADPART, IFCRAILWAYPART, IFCMARINEPART, IFCFACILITYPARTCOMMON, IFCFACILITYPART, IFCBUILDING, IFCBRIDGE, IFCROAD, IFCRAILWAY, IFCMARINEFACILITY, IFCFACILITY, IFCBUILDINGSTOREY, IFCSPATIALSTRUCTUREELEMENT, IFCSPATIALELEMENT, IFCPRODUCT, IFCPROCEDURE, IFCEVENT, IFCTASK, IFCPROCESS, IFCOBJECT, IFCPROJECTLIBRARY, IFCPROJECT, IFCCONTEXT, IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE, IFCCONSTRUCTIONRESOURCETYPE, IFCTYPERESOURCE, IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSPATIALELEMENTTYPE, IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCVIBRATIONDAMPERTYPE, IFCSIGNTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONCONDUITTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCIMPACTPROTECTIONDEVICETYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCELECTRICFLOWTREATMENTDEVICETYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSIGNALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, IFCMEDICALDEVICETYPE, IFCLIQUIDTERMINALTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCONVEYORSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEARINGTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCTRACKELEMENTTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCRAILTYPE, IFCPLATETYPE, IFCPAVEMENTTYPE, IFCNAVIGATIONELEMENTTYPE, IFCMOORINGDEVICETYPE, IFCMEMBERTYPE, IFCKERBTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCAISSONFOUNDATIONTYPE, IFCPILETYPE, IFCDEEPFOUNDATIONTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOURSETYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILTELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCVEHICLETYPE, IFCTRANSPORTATIONDEVICETYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCTYPEPRODUCT, IFCTASKTYPE, IFCPROCEDURETYPE, IFCEVENTTYPE, IFCTYPEPROCESS, IFCTYPEOBJECT, IFCOBJECTDEFINITION], + 1054537805: [IFCRESOURCETIME, IFCLAGTIME, IFCEVENTTIME, IFCWORKTIME, IFCTASKTIMERECURRING, IFCTASKTIME], + 3982875396: [IFCTOPOLOGYREPRESENTATION, IFCSHAPEREPRESENTATION], + 2273995522: [IFCSLIPPAGECONNECTIONCONDITION, IFCFAILURECONNECTIONCONDITION], + 2162789131: [IFCSURFACEREINFORCEMENTAREA, IFCSTRUCTURALLOADSINGLEFORCEWARPING, IFCSTRUCTURALLOADSINGLEFORCE, IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, IFCSTRUCTURALLOADSINGLEDISPLACEMENT, IFCSTRUCTURALLOADPLANARFORCE, IFCSTRUCTURALLOADLINEARFORCE, IFCSTRUCTURALLOADTEMPERATURE, IFCSTRUCTURALLOADSTATIC, IFCSTRUCTURALLOADORRESULT, IFCSTRUCTURALLOADCONFIGURATION], + 609421318: [IFCSURFACEREINFORCEMENTAREA, IFCSTRUCTURALLOADSINGLEFORCEWARPING, IFCSTRUCTURALLOADSINGLEFORCE, IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, IFCSTRUCTURALLOADSINGLEDISPLACEMENT, IFCSTRUCTURALLOADPLANARFORCE, IFCSTRUCTURALLOADLINEARFORCE, IFCSTRUCTURALLOADTEMPERATURE, IFCSTRUCTURALLOADSTATIC], + 2525727697: [IFCSTRUCTURALLOADSINGLEFORCEWARPING, IFCSTRUCTURALLOADSINGLEFORCE, IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, IFCSTRUCTURALLOADSINGLEDISPLACEMENT, IFCSTRUCTURALLOADPLANARFORCE, IFCSTRUCTURALLOADLINEARFORCE, IFCSTRUCTURALLOADTEMPERATURE], + 2830218821: [IFCSTYLEDREPRESENTATION], + 846575682: [IFCSURFACESTYLERENDERING], + 626085974: [IFCPIXELTEXTURE, IFCIMAGETEXTURE, IFCBLOBTEXTURE], + 1549132990: [IFCTASKTIMERECURRING], + 280115917: [IFCINDEXEDPOLYGONALTEXTUREMAP, IFCINDEXEDTRIANGLETEXTUREMAP, IFCINDEXEDTEXTUREMAP, IFCTEXTUREMAP, IFCTEXTURECOORDINATEGENERATOR], + 222769930: [IFCTEXTURECOORDINATEINDICESWITHVOIDS], + 3101149627: [IFCREGULARTIMESERIES, IFCIRREGULARTIMESERIES], + 1377556343: [IFCPATH, IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP, IFCLOOP, IFCFACEOUTERBOUND, IFCFACEBOUND, IFCADVANCEDFACE, IFCFACESURFACE, IFCFACE, IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE, IFCEDGE, IFCCLOSEDSHELL, IFCOPENSHELL, IFCCONNECTEDFACESET, IFCVERTEXPOINT, IFCVERTEX], + 2799835756: [IFCVERTEXPOINT], + 3798115385: [IFCARBITRARYPROFILEDEFWITHVOIDS], + 1310608509: [IFCCENTERLINEPROFILEDEF], + 3264961684: [IFCCOLOURRGB], + 370225590: [IFCCLOSEDSHELL, IFCOPENSHELL], + 2889183280: [IFCCONVERSIONBASEDUNITWITHOFFSET], + 3632507154: [IFCMIRROREDPROFILEDEF], + 3900360178: [IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE], + 297599258: [IFCPROFILEPROPERTIES, IFCMATERIALPROPERTIES], + 2556980723: [IFCADVANCEDFACE, IFCFACESURFACE], + 1809719519: [IFCFACEOUTERBOUND], + 3008276851: [IFCADVANCEDFACE], + 3448662350: [IFCGEOMETRICREPRESENTATIONSUBCONTEXT], + 2453401579: [IFCFILLAREASTYLETILES, IFCFILLAREASTYLEHATCHING, IFCFACEBASEDSURFACEMODEL, IFCDIRECTION, IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFCINDEXEDPOLYCURVE, IFCSEGMENTEDREFERENCECURVE, IFCGRADIENTCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCSEAMCURVE, IFCINTERSECTIONCURVE, IFCSURFACECURVE, IFCSINESPIRAL, IFCSEVENTHORDERPOLYNOMIALSPIRAL, IFCSECONDORDERPOLYNOMIALSPIRAL, IFCCOSINESPIRAL, IFCCLOTHOID, IFCTHIRDORDERPOLYNOMIALSPIRAL, IFCSPIRAL, IFCPOLYNOMIALCURVE, IFCPCURVE, IFCOFFSETCURVEBYDISTANCES, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCOFFSETCURVE, IFCLINE, IFCCURVE, IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID, IFCCSGPRIMITIVE3D, IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D, IFCCARTESIANTRANSFORMATIONOPERATOR, IFCCARTESIANPOINTLIST3D, IFCCARTESIANPOINTLIST2D, IFCCARTESIANPOINTLIST, IFCBOUNDINGBOX, IFCBOOLEANCLIPPINGRESULT, IFCBOOLEANRESULT, IFCANNOTATIONFILLAREA, IFCVECTOR, IFCTEXTLITERALWITHEXTENT, IFCTEXTLITERAL, IFCPOLYGONALFACESET, IFCTRIANGULATEDIRREGULARNETWORK, IFCTRIANGULATEDFACESET, IFCTESSELLATEDFACESET, IFCINDEXEDPOLYGONALFACEWITHVOIDS, IFCINDEXEDPOLYGONALFACE, IFCTESSELLATEDITEM, IFCSECTIONEDSURFACE, IFCCYLINDRICALSURFACE, IFCTOROIDALSURFACE, IFCSPHERICALSURFACE, IFCPLANE, IFCELEMENTARYSURFACE, IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE, IFCSURFACE, IFCSECTIONEDSOLIDHORIZONTAL, IFCSECTIONEDSOLID, IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCADVANCEDBREPWITHVOIDS, IFCADVANCEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLIDPOLYGONAL, IFCSWEPTDISKSOLID, IFCREVOLVEDAREASOLIDTAPERED, IFCREVOLVEDAREASOLID, IFCEXTRUDEDAREASOLIDTAPERED, IFCEXTRUDEDAREASOLID, IFCSURFACECURVESWEPTAREASOLID, IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID, IFCDIRECTRIXCURVESWEPTAREASOLID, IFCSWEPTAREASOLID, IFCSOLIDMODEL, IFCSHELLBASEDSURFACEMODEL, IFCCURVESEGMENT, IFCREPARAMETRISEDCOMPOSITECURVESEGMENT, IFCCOMPOSITECURVESEGMENT, IFCSEGMENT, IFCSECTIONEDSPINE, IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE, IFCPOINTBYDISTANCEEXPRESSION, IFCPOINT, IFCPLANARBOX, IFCPLANAREXTENT, IFCAXIS2PLACEMENTLINEAR, IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT, IFCPLACEMENT, IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT, IFCLIGHTSOURCE, IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE, IFCHALFSPACESOLID, IFCGEOMETRICCURVESET, IFCGEOMETRICSET], + 3590301190: [IFCGEOMETRICCURVESET], + 812098782: [IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE], + 1437953363: [IFCINDEXEDPOLYGONALTEXTUREMAP, IFCINDEXEDTRIANGLETEXTUREMAP], + 1402838566: [IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT], + 1520743889: [IFCLIGHTSOURCESPOT], + 1008929658: [IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP], + 3079605661: [IFCMATERIALPROFILESETUSAGETAPERING], + 219451334: [IFCASSET, IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILTSYSTEM, IFCBUILDINGSYSTEM, IFCZONE, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADCASE, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCWORKCALENDAR, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCALIGNMENT, IFCLINEARPOSITIONINGELEMENT, IFCGRID, IFCREFERENT, IFCPOSITIONINGELEMENT, IFCDISTRIBUTIONPORT, IFCPORT, IFCALIGNMENTVERTICAL, IFCALIGNMENTSEGMENT, IFCALIGNMENTHORIZONTAL, IFCALIGNMENTCANT, IFCLINEARELEMENT, IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCELECTRICFLOWTREATMENTDEVICE, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSIGNAL, IFCSANITARYTERMINAL, IFCOUTLET, IFCMOBILETELECOMMUNICATIONSAPPLIANCE, IFCMEDICALDEVICE, IFCLIQUIDTERMINAL, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCONVEYORSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBUILDINGELEMENTPROXY, IFCBEARING, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCTRACKELEMENT, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCRAIL, IFCPLATE, IFCPAVEMENT, IFCNAVIGATIONELEMENT, IFCMOORINGDEVICE, IFCMEMBER, IFCKERB, IFCFOOTING, IFCREINFORCEDSOIL, IFCEARTHWORKSFILL, IFCEARTHWORKSELEMENT, IFCDOOR, IFCCAISSONFOUNDATION, IFCPILE, IFCDEEPFOUNDATION, IFCCURTAINWALL, IFCCOVERING, IFCCOURSE, IFCCOLUMN, IFCCHIMNEY, IFCBUILTELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCVEHICLE, IFCTRANSPORTATIONDEVICE, IFCGEOSLICE, IFCGEOMODEL, IFCBOREHOLE, IFCGEOTECHNICALASSEMBLY, IFCGEOTECHNICALSTRATUM, IFCGEOTECHNICALELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCEARTHWORKSCUT, IFCVOIDINGFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCVIBRATIONDAMPER, IFCSIGN, IFCREINFORCINGBAR, IFCTENDONCONDUIT, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCIMPACTPROTECTIONDEVICE, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBRIDGEPART, IFCROADPART, IFCRAILWAYPART, IFCMARINEPART, IFCFACILITYPARTCOMMON, IFCFACILITYPART, IFCBUILDING, IFCBRIDGE, IFCROAD, IFCRAILWAY, IFCMARINEFACILITY, IFCFACILITY, IFCBUILDINGSTOREY, IFCSPATIALSTRUCTUREELEMENT, IFCSPATIALELEMENT, IFCPRODUCT, IFCPROCEDURE, IFCEVENT, IFCTASK, IFCPROCESS, IFCOBJECT, IFCPROJECTLIBRARY, IFCPROJECT, IFCCONTEXT, IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE, IFCCONSTRUCTIONRESOURCETYPE, IFCTYPERESOURCE, IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSPATIALELEMENTTYPE, IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCVIBRATIONDAMPERTYPE, IFCSIGNTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONCONDUITTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCIMPACTPROTECTIONDEVICETYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCELECTRICFLOWTREATMENTDEVICETYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSIGNALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, IFCMEDICALDEVICETYPE, IFCLIQUIDTERMINALTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCONVEYORSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEARINGTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCTRACKELEMENTTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCRAILTYPE, IFCPLATETYPE, IFCPAVEMENTTYPE, IFCNAVIGATIONELEMENTTYPE, IFCMOORINGDEVICETYPE, IFCMEMBERTYPE, IFCKERBTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCAISSONFOUNDATIONTYPE, IFCPILETYPE, IFCDEEPFOUNDATIONTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOURSETYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILTELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCVEHICLETYPE, IFCTRANSPORTATIONDEVICETYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCTYPEPRODUCT, IFCTASKTYPE, IFCPROCEDURETYPE, IFCEVENTTYPE, IFCTYPEPROCESS, IFCTYPEOBJECT], + 2529465313: [IFCLSHAPEPROFILEDEF, IFCISHAPEPROFILEDEF, IFCELLIPSEPROFILEDEF, IFCCIRCLEHOLLOWPROFILEDEF, IFCCIRCLEPROFILEDEF, IFCCSHAPEPROFILEDEF, IFCASYMMETRICISHAPEPROFILEDEF, IFCZSHAPEPROFILEDEF, IFCUSHAPEPROFILEDEF, IFCTRAPEZIUMPROFILEDEF, IFCTSHAPEPROFILEDEF, IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF, IFCRECTANGLEPROFILEDEF], + 2004835150: [IFCAXIS2PLACEMENTLINEAR, IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT], + 1663979128: [IFCPLANARBOX], + 2067069095: [IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE, IFCPOINTBYDISTANCEEXPRESSION], + 3727388367: [IFCDRAUGHTINGPREDEFINEDCURVEFONT, IFCPREDEFINEDCURVEFONT, IFCDRAUGHTINGPREDEFINEDCOLOUR, IFCPREDEFINEDCOLOUR, IFCTEXTSTYLEFONTMODEL, IFCPREDEFINEDTEXTFONT], + 3778827333: [IFCSECTIONREINFORCEMENTPROPERTIES, IFCSECTIONPROPERTIES, IFCREINFORCEMENTBARPROPERTIES], + 1775413392: [IFCTEXTSTYLEFONTMODEL], + 2598011224: [IFCCOMPLEXPROPERTY, IFCPROPERTYTABLEVALUE, IFCPROPERTYSINGLEVALUE, IFCPROPERTYREFERENCEVALUE, IFCPROPERTYLISTVALUE, IFCPROPERTYENUMERATEDVALUE, IFCPROPERTYBOUNDEDVALUE, IFCSIMPLEPROPERTY], + 1680319473: [IFCCOMPLEXPROPERTYTEMPLATE, IFCSIMPLEPROPERTYTEMPLATE, IFCPROPERTYTEMPLATE, IFCPROPERTYSETTEMPLATE, IFCPROPERTYTEMPLATEDEFINITION, IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCREINFORCEMENTDEFINITIONPROPERTIES, IFCPREDEFINEDPROPERTYSET, IFCELEMENTQUANTITY, IFCQUANTITYSET, IFCPROPERTYSETDEFINITION], + 3357820518: [IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCREINFORCEMENTDEFINITIONPROPERTIES, IFCPREDEFINEDPROPERTYSET, IFCELEMENTQUANTITY, IFCQUANTITYSET], + 1482703590: [IFCCOMPLEXPROPERTYTEMPLATE, IFCSIMPLEPROPERTYTEMPLATE, IFCPROPERTYTEMPLATE, IFCPROPERTYSETTEMPLATE], + 2090586900: [IFCELEMENTQUANTITY], + 3615266464: [IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF], + 478536968: [IFCRELDEFINESBYTYPE, IFCRELDEFINESBYTEMPLATE, IFCRELDEFINESBYPROPERTIES, IFCRELDEFINESBYOBJECT, IFCRELDEFINES, IFCRELAGGREGATES, IFCRELADHERESTOELEMENT, IFCRELVOIDSELEMENT, IFCRELPROJECTSELEMENT, IFCRELNESTS, IFCRELDECOMPOSES, IFCRELDECLARES, IFCRELSPACEBOUNDARY2NDLEVEL, IFCRELSPACEBOUNDARY1STLEVEL, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELPOSITIONS, IFCRELINTERFERESELEMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS, IFCRELCONNECTS, IFCRELASSOCIATESPROFILEDEF, IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL, IFCRELASSOCIATES, IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUPBYFACTOR, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTOCONTROL, IFCRELASSIGNSTOACTOR, IFCRELASSIGNS], + 823603102: [IFCCURVESEGMENT, IFCREPARAMETRISEDCOMPOSITECURVESEGMENT, IFCCOMPOSITECURVESEGMENT], + 3692461612: [IFCPROPERTYTABLEVALUE, IFCPROPERTYSINGLEVALUE, IFCPROPERTYREFERENCEVALUE, IFCPROPERTYLISTVALUE, IFCPROPERTYENUMERATEDVALUE, IFCPROPERTYBOUNDEDVALUE], + 723233188: [IFCSECTIONEDSOLIDHORIZONTAL, IFCSECTIONEDSOLID, IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCADVANCEDBREPWITHVOIDS, IFCADVANCEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLIDPOLYGONAL, IFCSWEPTDISKSOLID, IFCREVOLVEDAREASOLIDTAPERED, IFCREVOLVEDAREASOLID, IFCEXTRUDEDAREASOLIDTAPERED, IFCEXTRUDEDAREASOLID, IFCSURFACECURVESWEPTAREASOLID, IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID, IFCDIRECTRIXCURVESWEPTAREASOLID, IFCSWEPTAREASOLID], + 2473145415: [IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION], + 1597423693: [IFCSTRUCTURALLOADSINGLEFORCEWARPING], + 2513912981: [IFCSECTIONEDSURFACE, IFCCYLINDRICALSURFACE, IFCTOROIDALSURFACE, IFCSPHERICALSURFACE, IFCPLANE, IFCELEMENTARYSURFACE, IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE], + 2247615214: [IFCREVOLVEDAREASOLIDTAPERED, IFCREVOLVEDAREASOLID, IFCEXTRUDEDAREASOLIDTAPERED, IFCEXTRUDEDAREASOLID, IFCSURFACECURVESWEPTAREASOLID, IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID, IFCDIRECTRIXCURVESWEPTAREASOLID], + 1260650574: [IFCSWEPTDISKSOLIDPOLYGONAL], + 230924584: [IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION], + 901063453: [IFCPOLYGONALFACESET, IFCTRIANGULATEDIRREGULARNETWORK, IFCTRIANGULATEDFACESET, IFCTESSELLATEDFACESET, IFCINDEXEDPOLYGONALFACEWITHVOIDS, IFCINDEXEDPOLYGONALFACE], + 4282788508: [IFCTEXTLITERALWITHEXTENT], + 1628702193: [IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE, IFCCONSTRUCTIONRESOURCETYPE, IFCTYPERESOURCE, IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSPATIALELEMENTTYPE, IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCVIBRATIONDAMPERTYPE, IFCSIGNTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONCONDUITTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCIMPACTPROTECTIONDEVICETYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCELECTRICFLOWTREATMENTDEVICETYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSIGNALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, IFCMEDICALDEVICETYPE, IFCLIQUIDTERMINALTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCONVEYORSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEARINGTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCTRACKELEMENTTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCRAILTYPE, IFCPLATETYPE, IFCPAVEMENTTYPE, IFCNAVIGATIONELEMENTTYPE, IFCMOORINGDEVICETYPE, IFCMEMBERTYPE, IFCKERBTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCAISSONFOUNDATIONTYPE, IFCPILETYPE, IFCDEEPFOUNDATIONTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOURSETYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILTELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCVEHICLETYPE, IFCTRANSPORTATIONDEVICETYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCTYPEPRODUCT, IFCTASKTYPE, IFCPROCEDURETYPE, IFCEVENTTYPE, IFCTYPEPROCESS], + 3736923433: [IFCTASKTYPE, IFCPROCEDURETYPE, IFCEVENTTYPE], + 2347495698: [IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSPATIALELEMENTTYPE, IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCVIBRATIONDAMPERTYPE, IFCSIGNTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONCONDUITTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCIMPACTPROTECTIONDEVICETYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCELECTRICFLOWTREATMENTDEVICETYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSIGNALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, IFCMEDICALDEVICETYPE, IFCLIQUIDTERMINALTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCONVEYORSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEARINGTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCTRACKELEMENTTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCRAILTYPE, IFCPLATETYPE, IFCPAVEMENTTYPE, IFCNAVIGATIONELEMENTTYPE, IFCMOORINGDEVICETYPE, IFCMEMBERTYPE, IFCKERBTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCAISSONFOUNDATIONTYPE, IFCPILETYPE, IFCDEEPFOUNDATIONTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOURSETYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILTELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCVEHICLETYPE, IFCTRANSPORTATIONDEVICETYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE], + 3698973494: [IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE, IFCCONSTRUCTIONRESOURCETYPE], + 2736907675: [IFCBOOLEANCLIPPINGRESULT], + 4182860854: [IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDSURFACE, IFCCURVEBOUNDEDPLANE], + 574549367: [IFCCARTESIANPOINTLIST3D, IFCCARTESIANPOINTLIST2D], + 59481748: [IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D], + 3749851601: [IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM], + 3331915920: [IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM], + 1383045692: [IFCCIRCLEHOLLOWPROFILEDEF], + 2485617015: [IFCREPARAMETRISEDCOMPOSITECURVESEGMENT], + 2574617495: [IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE], + 3419103109: [IFCPROJECTLIBRARY, IFCPROJECT], + 2506170314: [IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID], + 2601014836: [IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFCINDEXEDPOLYCURVE, IFCSEGMENTEDREFERENCECURVE, IFCGRADIENTCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCSEAMCURVE, IFCINTERSECTIONCURVE, IFCSURFACECURVE, IFCSINESPIRAL, IFCSEVENTHORDERPOLYNOMIALSPIRAL, IFCSECONDORDERPOLYNOMIALSPIRAL, IFCCOSINESPIRAL, IFCCLOTHOID, IFCTHIRDORDERPOLYNOMIALSPIRAL, IFCSPIRAL, IFCPOLYNOMIALCURVE, IFCPCURVE, IFCOFFSETCURVEBYDISTANCES, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCOFFSETCURVE, IFCLINE], + 593015953: [IFCSURFACECURVESWEPTAREASOLID, IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID], + 339256511: [IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCVIBRATIONDAMPERTYPE, IFCSIGNTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONCONDUITTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCIMPACTPROTECTIONDEVICETYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCELECTRICFLOWTREATMENTDEVICETYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSIGNALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, IFCMEDICALDEVICETYPE, IFCLIQUIDTERMINALTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCONVEYORSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEARINGTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCTRACKELEMENTTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCRAILTYPE, IFCPLATETYPE, IFCPAVEMENTTYPE, IFCNAVIGATIONELEMENTTYPE, IFCMOORINGDEVICETYPE, IFCMEMBERTYPE, IFCKERBTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCAISSONFOUNDATIONTYPE, IFCPILETYPE, IFCDEEPFOUNDATIONTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOURSETYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILTELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCVEHICLETYPE, IFCTRANSPORTATIONDEVICETYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE], + 2777663545: [IFCCYLINDRICALSURFACE, IFCTOROIDALSURFACE, IFCSPHERICALSURFACE, IFCPLANE], + 477187591: [IFCEXTRUDEDAREASOLIDTAPERED], + 2652556860: [IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID], + 4238390223: [IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE], + 178912537: [IFCINDEXEDPOLYGONALFACEWITHVOIDS], + 1425443689: [IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCADVANCEDBREPWITHVOIDS, IFCADVANCEDBREP], + 3888040117: [IFCASSET, IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILTSYSTEM, IFCBUILDINGSYSTEM, IFCZONE, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADCASE, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCWORKCALENDAR, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCALIGNMENT, IFCLINEARPOSITIONINGELEMENT, IFCGRID, IFCREFERENT, IFCPOSITIONINGELEMENT, IFCDISTRIBUTIONPORT, IFCPORT, IFCALIGNMENTVERTICAL, IFCALIGNMENTSEGMENT, IFCALIGNMENTHORIZONTAL, IFCALIGNMENTCANT, IFCLINEARELEMENT, IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCELECTRICFLOWTREATMENTDEVICE, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSIGNAL, IFCSANITARYTERMINAL, IFCOUTLET, IFCMOBILETELECOMMUNICATIONSAPPLIANCE, IFCMEDICALDEVICE, IFCLIQUIDTERMINAL, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCONVEYORSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBUILDINGELEMENTPROXY, IFCBEARING, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCTRACKELEMENT, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCRAIL, IFCPLATE, IFCPAVEMENT, IFCNAVIGATIONELEMENT, IFCMOORINGDEVICE, IFCMEMBER, IFCKERB, IFCFOOTING, IFCREINFORCEDSOIL, IFCEARTHWORKSFILL, IFCEARTHWORKSELEMENT, IFCDOOR, IFCCAISSONFOUNDATION, IFCPILE, IFCDEEPFOUNDATION, IFCCURTAINWALL, IFCCOVERING, IFCCOURSE, IFCCOLUMN, IFCCHIMNEY, IFCBUILTELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCVEHICLE, IFCTRANSPORTATIONDEVICE, IFCGEOSLICE, IFCGEOMODEL, IFCBOREHOLE, IFCGEOTECHNICALASSEMBLY, IFCGEOTECHNICALSTRATUM, IFCGEOTECHNICALELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCEARTHWORKSCUT, IFCVOIDINGFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCVIBRATIONDAMPER, IFCSIGN, IFCREINFORCINGBAR, IFCTENDONCONDUIT, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCIMPACTPROTECTIONDEVICE, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBRIDGEPART, IFCROADPART, IFCRAILWAYPART, IFCMARINEPART, IFCFACILITYPARTCOMMON, IFCFACILITYPART, IFCBUILDING, IFCBRIDGE, IFCROAD, IFCRAILWAY, IFCMARINEFACILITY, IFCFACILITY, IFCBUILDINGSTOREY, IFCSPATIALSTRUCTUREELEMENT, IFCSPATIALELEMENT, IFCPRODUCT, IFCPROCEDURE, IFCEVENT, IFCTASK, IFCPROCESS], + 590820931: [IFCOFFSETCURVEBYDISTANCES, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D], + 759155922: [IFCDRAUGHTINGPREDEFINEDCOLOUR], + 2559016684: [IFCDRAUGHTINGPREDEFINEDCURVEFONT], + 3967405729: [IFCPERMEABLECOVERINGPROPERTIES, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCREINFORCEMENTDEFINITIONPROPERTIES], + 2945172077: [IFCPROCEDURE, IFCEVENT, IFCTASK], + 4208778838: [IFCALIGNMENT, IFCLINEARPOSITIONINGELEMENT, IFCGRID, IFCREFERENT, IFCPOSITIONINGELEMENT, IFCDISTRIBUTIONPORT, IFCPORT, IFCALIGNMENTVERTICAL, IFCALIGNMENTSEGMENT, IFCALIGNMENTHORIZONTAL, IFCALIGNMENTCANT, IFCLINEARELEMENT, IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCELECTRICFLOWTREATMENTDEVICE, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSIGNAL, IFCSANITARYTERMINAL, IFCOUTLET, IFCMOBILETELECOMMUNICATIONSAPPLIANCE, IFCMEDICALDEVICE, IFCLIQUIDTERMINAL, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCONVEYORSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBUILDINGELEMENTPROXY, IFCBEARING, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCTRACKELEMENT, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCRAIL, IFCPLATE, IFCPAVEMENT, IFCNAVIGATIONELEMENT, IFCMOORINGDEVICE, IFCMEMBER, IFCKERB, IFCFOOTING, IFCREINFORCEDSOIL, IFCEARTHWORKSFILL, IFCEARTHWORKSELEMENT, IFCDOOR, IFCCAISSONFOUNDATION, IFCPILE, IFCDEEPFOUNDATION, IFCCURTAINWALL, IFCCOVERING, IFCCOURSE, IFCCOLUMN, IFCCHIMNEY, IFCBUILTELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCVEHICLE, IFCTRANSPORTATIONDEVICE, IFCGEOSLICE, IFCGEOMODEL, IFCBOREHOLE, IFCGEOTECHNICALASSEMBLY, IFCGEOTECHNICALSTRATUM, IFCGEOTECHNICALELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCEARTHWORKSCUT, IFCVOIDINGFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCVIBRATIONDAMPER, IFCSIGN, IFCREINFORCINGBAR, IFCTENDONCONDUIT, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCIMPACTPROTECTIONDEVICE, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBRIDGEPART, IFCROADPART, IFCRAILWAYPART, IFCMARINEPART, IFCFACILITYPARTCOMMON, IFCFACILITYPART, IFCBUILDING, IFCBRIDGE, IFCROAD, IFCRAILWAY, IFCMARINEFACILITY, IFCFACILITY, IFCBUILDINGSTOREY, IFCSPATIALSTRUCTUREELEMENT, IFCSPATIALELEMENT], + 3521284610: [IFCCOMPLEXPROPERTYTEMPLATE, IFCSIMPLEPROPERTYTEMPLATE], + 3939117080: [IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUPBYFACTOR, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTOCONTROL, IFCRELASSIGNSTOACTOR], + 1307041759: [IFCRELASSIGNSTOGROUPBYFACTOR], + 1865459582: [IFCRELASSOCIATESPROFILEDEF, IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL], + 826625072: [IFCRELSPACEBOUNDARY2NDLEVEL, IFCRELSPACEBOUNDARY1STLEVEL, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELPOSITIONS, IFCRELINTERFERESELEMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS], + 1204542856: [IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS], + 1638771189: [IFCRELCONNECTSWITHECCENTRICITY], + 2551354335: [IFCRELAGGREGATES, IFCRELADHERESTOELEMENT, IFCRELVOIDSELEMENT, IFCRELPROJECTSELEMENT, IFCRELNESTS], + 693640335: [IFCRELDEFINESBYTYPE, IFCRELDEFINESBYTEMPLATE, IFCRELDEFINESBYPROPERTIES, IFCRELDEFINESBYOBJECT], + 3451746338: [IFCRELSPACEBOUNDARY2NDLEVEL, IFCRELSPACEBOUNDARY1STLEVEL], + 3523091289: [IFCRELSPACEBOUNDARY2NDLEVEL], + 2914609552: [IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE], + 1856042241: [IFCREVOLVEDAREASOLIDTAPERED], + 1862484736: [IFCSECTIONEDSOLIDHORIZONTAL], + 1412071761: [IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBRIDGEPART, IFCROADPART, IFCRAILWAYPART, IFCMARINEPART, IFCFACILITYPARTCOMMON, IFCFACILITYPART, IFCBUILDING, IFCBRIDGE, IFCROAD, IFCRAILWAY, IFCMARINEFACILITY, IFCFACILITY, IFCBUILDINGSTOREY, IFCSPATIALSTRUCTUREELEMENT], + 710998568: [IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE], + 2706606064: [IFCSPACE, IFCSITE, IFCBRIDGEPART, IFCROADPART, IFCRAILWAYPART, IFCMARINEPART, IFCFACILITYPARTCOMMON, IFCFACILITYPART, IFCBUILDING, IFCBRIDGE, IFCROAD, IFCRAILWAY, IFCMARINEFACILITY, IFCFACILITY, IFCBUILDINGSTOREY], + 3893378262: [IFCSPACETYPE], + 2735484536: [IFCSINESPIRAL, IFCSEVENTHORDERPOLYNOMIALSPIRAL, IFCSECONDORDERPOLYNOMIALSPIRAL, IFCCOSINESPIRAL, IFCCLOTHOID, IFCTHIRDORDERPOLYNOMIALSPIRAL], + 3544373492: [IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION], + 3136571912: [IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER], + 530289379: [IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER], + 3689010777: [IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION], + 3979015343: [IFCSTRUCTURALSURFACEMEMBERVARYING], + 699246055: [IFCSEAMCURVE, IFCINTERSECTIONCURVE], + 2387106220: [IFCPOLYGONALFACESET, IFCTRIANGULATEDIRREGULARNETWORK, IFCTRIANGULATEDFACESET], + 3665877780: [IFCTRANSPORTELEMENTTYPE, IFCVEHICLETYPE], + 2916149573: [IFCTRIANGULATEDIRREGULARNETWORK], + 2296667514: [IFCOCCUPANT], + 1635779807: [IFCADVANCEDBREPWITHVOIDS], + 2887950389: [IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS], + 167062518: [IFCRATIONALBSPLINESURFACEWITHKNOTS], + 1260505505: [IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFCINDEXEDPOLYCURVE, IFCSEGMENTEDREFERENCECURVE, IFCGRADIENTCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE, IFCCOMPOSITECURVE], + 1626504194: [IFCBUILDINGELEMENTPROXYTYPE, IFCBEARINGTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCTRACKELEMENTTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCRAILTYPE, IFCPLATETYPE, IFCPAVEMENTTYPE, IFCNAVIGATIONELEMENTTYPE, IFCMOORINGDEVICETYPE, IFCMEMBERTYPE, IFCKERBTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCAISSONFOUNDATIONTYPE, IFCPILETYPE, IFCDEEPFOUNDATIONTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOURSETYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE], + 3732776249: [IFCSEGMENTEDREFERENCECURVE, IFCGRADIENTCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE], + 15328376: [IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE], + 2510884976: [IFCCIRCLE, IFCELLIPSE], + 2559216714: [IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE], + 3293443760: [IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCWORKCALENDAR, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCCOSTSCHEDULE, IFCCOSTITEM], + 1306400036: [IFCCAISSONFOUNDATIONTYPE, IFCPILETYPE], + 3256556792: [IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCELECTRICFLOWTREATMENTDEVICETYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSIGNALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, IFCMEDICALDEVICETYPE, IFCLIQUIDTERMINALTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCONVEYORSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE], + 3849074793: [IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCELECTRICFLOWTREATMENTDEVICETYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSIGNALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, IFCMEDICALDEVICETYPE, IFCLIQUIDTERMINALTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCONVEYORSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE], + 1758889154: [IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCELECTRICFLOWTREATMENTDEVICE, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSIGNAL, IFCSANITARYTERMINAL, IFCOUTLET, IFCMOBILETELECOMMUNICATIONSAPPLIANCE, IFCMEDICALDEVICE, IFCLIQUIDTERMINAL, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCONVEYORSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBUILDINGELEMENTPROXY, IFCBEARING, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCTRACKELEMENT, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCRAIL, IFCPLATE, IFCPAVEMENT, IFCNAVIGATIONELEMENT, IFCMOORINGDEVICE, IFCMEMBER, IFCKERB, IFCFOOTING, IFCREINFORCEDSOIL, IFCEARTHWORKSFILL, IFCEARTHWORKSELEMENT, IFCDOOR, IFCCAISSONFOUNDATION, IFCPILE, IFCDEEPFOUNDATION, IFCCURTAINWALL, IFCCOVERING, IFCCOURSE, IFCCOLUMN, IFCCHIMNEY, IFCBUILTELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCVEHICLE, IFCTRANSPORTATIONDEVICE, IFCGEOSLICE, IFCGEOMODEL, IFCBOREHOLE, IFCGEOTECHNICALASSEMBLY, IFCGEOTECHNICALSTRATUM, IFCGEOTECHNICALELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCEARTHWORKSCUT, IFCVOIDINGFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCVIBRATIONDAMPER, IFCSIGN, IFCREINFORCINGBAR, IFCTENDONCONDUIT, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCIMPACTPROTECTIONDEVICE, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY], + 1623761950: [IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCVIBRATIONDAMPER, IFCSIGN, IFCREINFORCINGBAR, IFCTENDONCONDUIT, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCIMPACTPROTECTIONDEVICE, IFCFASTENER], + 2590856083: [IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCVIBRATIONDAMPERTYPE, IFCSIGNTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONCONDUITTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCIMPACTPROTECTIONDEVICETYPE, IFCFASTENERTYPE], + 2107101300: [IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE], + 2853485674: [IFCEXTERNALSPATIALELEMENT], + 807026263: [IFCFACETEDBREPWITHVOIDS], + 24185140: [IFCBUILDING, IFCBRIDGE, IFCROAD, IFCRAILWAY, IFCMARINEFACILITY], + 1310830890: [IFCBRIDGEPART, IFCROADPART, IFCRAILWAYPART, IFCMARINEPART, IFCFACILITYPARTCOMMON], + 2827207264: [IFCSURFACEFEATURE, IFCEARTHWORKSCUT, IFCVOIDINGFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION], + 2143335405: [IFCPROJECTIONELEMENT], + 1287392070: [IFCEARTHWORKSCUT, IFCVOIDINGFEATURE, IFCOPENINGELEMENT], + 3907093117: [IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE], + 3198132628: [IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE], + 1482959167: [IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE], + 1834744321: [IFCDUCTSEGMENTTYPE, IFCCONVEYORSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE], + 1339347760: [IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE], + 2297155007: [IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSIGNALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, IFCMEDICALDEVICETYPE, IFCLIQUIDTERMINALTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE], + 3009222698: [IFCFILTERTYPE, IFCELECTRICFLOWTREATMENTDEVICETYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE], + 263784265: [IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE], + 4230923436: [IFCGEOSLICE, IFCGEOMODEL, IFCBOREHOLE, IFCGEOTECHNICALASSEMBLY, IFCGEOTECHNICALSTRATUM], + 2706460486: [IFCASSET, IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILTSYSTEM, IFCBUILDINGSYSTEM, IFCZONE, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADCASE, IFCSTRUCTURALLOADGROUP, IFCINVENTORY], + 2176059722: [IFCALIGNMENTVERTICAL, IFCALIGNMENTSEGMENT, IFCALIGNMENTHORIZONTAL, IFCALIGNMENTCANT], + 3740093272: [IFCDISTRIBUTIONPORT], + 1946335990: [IFCALIGNMENT, IFCLINEARPOSITIONINGELEMENT, IFCGRID, IFCREFERENT], + 3027567501: [IFCREINFORCINGBAR, IFCTENDONCONDUIT, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH], + 964333572: [IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONCONDUITTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE], + 682877961: [IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION], + 1179482911: [IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION], + 1004757350: [IFCSTRUCTURALLINEARACTION], + 214636428: [IFCSTRUCTURALCURVEMEMBERVARYING], + 1252848954: [IFCSTRUCTURALLOADCASE], + 3657597509: [IFCSTRUCTURALPLANARACTION], + 2254336722: [IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILTSYSTEM, IFCBUILDINGSYSTEM, IFCZONE], + 1953115116: [IFCTRANSPORTELEMENT, IFCVEHICLE], + 1028945134: [IFCWORKSCHEDULE, IFCWORKPLAN], + 1967976161: [IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS], + 2461110595: [IFCRATIONALBSPLINECURVEWITHKNOTS], + 1136057603: [IFCOUTERBOUNDARYCURVE], + 1876633798: [IFCBUILDINGELEMENTPROXY, IFCBEARING, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCTRACKELEMENT, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCRAIL, IFCPLATE, IFCPAVEMENT, IFCNAVIGATIONELEMENT, IFCMOORINGDEVICE, IFCMEMBER, IFCKERB, IFCFOOTING, IFCREINFORCEDSOIL, IFCEARTHWORKSFILL, IFCEARTHWORKSELEMENT, IFCDOOR, IFCCAISSONFOUNDATION, IFCPILE, IFCDEEPFOUNDATION, IFCCURTAINWALL, IFCCOVERING, IFCCOURSE, IFCCOLUMN, IFCCHIMNEY], + 3426335179: [IFCCAISSONFOUNDATION, IFCPILE], + 2063403501: [IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE], + 1945004755: [IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCELECTRICFLOWTREATMENTDEVICE, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSIGNAL, IFCSANITARYTERMINAL, IFCOUTLET, IFCMOBILETELECOMMUNICATIONSAPPLIANCE, IFCMEDICALDEVICE, IFCLIQUIDTERMINAL, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCONVEYORSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT], + 3040386961: [IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCELECTRICFLOWTREATMENTDEVICE, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSIGNAL, IFCSANITARYTERMINAL, IFCOUTLET, IFCMOBILETELECOMMUNICATIONSAPPLIANCE, IFCMEDICALDEVICE, IFCLIQUIDTERMINAL, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCONVEYORSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE], + 3205830791: [IFCDISTRIBUTIONCIRCUIT], + 1077100507: [IFCREINFORCEDSOIL, IFCEARTHWORKSFILL], + 1658829314: [IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE], + 2058353004: [IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER], + 4278956645: [IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX], + 3132237377: [IFCFAN, IFCCOMPRESSOR, IFCPUMP], + 987401354: [IFCDUCTSEGMENT, IFCCONVEYORSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT], + 707683696: [IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK], + 2223149337: [IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSIGNAL, IFCSANITARYTERMINAL, IFCOUTLET, IFCMOBILETELECOMMUNICATIONSAPPLIANCE, IFCMEDICALDEVICE, IFCLIQUIDTERMINAL, IFCLIGHTFIXTURE, IFCLAMP], + 3508470533: [IFCFILTER, IFCELECTRICFLOWTREATMENTDEVICE, IFCDUCTSILENCER, IFCINTERCEPTOR], + 2713699986: [IFCGEOSLICE, IFCGEOMODEL, IFCBOREHOLE], + 1154579445: [IFCALIGNMENT], + 2391406946: [IFCWALLSTANDARDCASE], + 1062813311: [IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT] +}; +InversePropertyDef[5] = { + 3630933823: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 618182010: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]], + 411424972: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 130549933: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["ApprovedObjects", IFCRELASSOCIATESAPPROVAL, 5, true], ["ApprovedResources", IFCRESOURCEAPPROVALRELATIONSHIP, 3, true], ["IsRelatedWith", IFCAPPROVALRELATIONSHIP, 3, true], ["Relates", IFCAPPROVALRELATIONSHIP, 2, true]], + 1959218052: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCRESOURCECONSTRAINTRELATIONSHIP, 2, true]], + 1466758467: [["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true]], + 602808272: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 3200245327: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true]], + 2242383968: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true]], + 1040185647: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true]], + 3548104201: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true]], + 852622518: [["PartOfW", IFCGRID, 9, true], ["PartOfV", IFCGRID, 8, true], ["PartOfU", IFCGRID, 7, true], ["HasIntersections", IFCVIRTUALGRIDINTERSECTION, 0, true]], + 2655187982: [["LibraryInfoForObjects", IFCRELASSOCIATESLIBRARY, 5, true], ["HasLibraryReferences", IFCLIBRARYREFERENCE, 5, true]], + 3452421091: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true], ["LibraryRefForObjects", IFCRELASSOCIATESLIBRARY, 5, true]], + 760658860: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true]], + 248100487: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialLayerSet", IFCMATERIALLAYERSET, 0, false]], + 3303938423: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true]], + 1847252529: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialLayerSet", IFCMATERIALLAYERSET, 0, false]], + 2235152071: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialProfileSet", IFCMATERIALPROFILESET, 2, false]], + 164193824: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true]], + 552965576: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialProfileSet", IFCMATERIALPROFILESET, 2, false]], + 1507914824: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true]], + 3368373690: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCRESOURCECONSTRAINTRELATIONSHIP, 2, true]], + 3701648758: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCOBJECTPLACEMENT, 0, true]], + 2251480897: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCRESOURCECONSTRAINTRELATIONSHIP, 2, true]], + 4251960020: [["IsRelatedBy", IFCORGANIZATIONRELATIONSHIP, 3, true], ["Relates", IFCORGANIZATIONRELATIONSHIP, 2, true], ["Engages", IFCPERSONANDORGANIZATION, 1, true]], + 2077209135: [["EngagedIn", IFCPERSONANDORGANIZATION, 0, true]], + 2483315170: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 2226359599: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 3355820592: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]], + 3958567839: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 3843373140: [["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true]], + 986844984: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 3710013099: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 2044713172: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 2093928680: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 931644368: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 2691318326: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 3252649465: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 2405470396: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 825690147: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 1076942058: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]], + 3377609919: [["RepresentationsInContext", IFCREPRESENTATION, 0, true]], + 3008791417: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1660063152: [["HasShapeAspects", IFCSHAPEASPECT, 4, true], ["MapUsage", IFCMAPPEDITEM, 0, true]], + 867548509: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 3982875396: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]], + 4240577450: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]], + 2830218821: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]], + 3958052878: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3049322572: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]], + 626085974: [["IsMappedBy", IFCTEXTURECOORDINATE, 0, true], ["UsedInStyles", IFCSURFACESTYLEWITHTEXTURES, 0, true]], + 912023232: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]], + 222769930: [["ToTexMap", IFCINDEXEDPOLYGONALTEXTUREMAP, 3, false]], + 1010789467: [["ToTexMap", IFCINDEXEDPOLYGONALTEXTUREMAP, 3, false]], + 3101149627: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 1377556343: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1735638870: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]], + 2799835756: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1907098498: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3798115385: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 1310608509: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 2705031697: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 616511568: [["IsMappedBy", IFCTEXTURECOORDINATE, 0, true], ["UsedInStyles", IFCSURFACESTYLEWITHTEXTURES, 0, true]], + 3150382593: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 747523909: [["ClassificationForObjects", IFCRELASSOCIATESCLASSIFICATION, 5, true], ["HasReferences", IFCCLASSIFICATIONREFERENCE, 3, true]], + 647927063: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true], ["ClassificationRefForObjects", IFCRELASSOCIATESCLASSIFICATION, 5, true], ["HasReferences", IFCCLASSIFICATIONREFERENCE, 3, true]], + 1485152156: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 370225590: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3050246964: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 2889183280: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 2713554722: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 3632507154: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 1154170062: [["DocumentInfoForObjects", IFCRELASSOCIATESDOCUMENT, 5, true], ["HasDocumentReferences", IFCDOCUMENTREFERENCE, 4, true], ["IsPointedTo", IFCDOCUMENTINFORMATIONRELATIONSHIP, 3, true], ["IsPointer", IFCDOCUMENTINFORMATIONRELATIONSHIP, 2, true]], + 3732053477: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true], ["DocumentRefForObjects", IFCRELASSOCIATESDOCUMENT, 5, true]], + 3900360178: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 476780140: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 297599258: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 2556980723: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasTextureMaps", IFCTEXTUREMAP, 2, true]], + 1809719519: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 803316827: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3008276851: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasTextureMaps", IFCTEXTUREMAP, 2, true]], + 3448662350: [["RepresentationsInContext", IFCREPRESENTATION, 0, true], ["HasSubContexts", IFCGEOMETRICREPRESENTATIONSUBCONTEXT, 6, true], ["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true]], + 2453401579: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4142052618: [["RepresentationsInContext", IFCREPRESENTATION, 0, true], ["HasSubContexts", IFCGEOMETRICREPRESENTATIONSUBCONTEXT, 6, true], ["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true]], + 3590301190: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 178086475: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCOBJECTPLACEMENT, 0, true]], + 812098782: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3905492369: [["IsMappedBy", IFCTEXTURECOORDINATE, 0, true], ["UsedInStyles", IFCSURFACESTYLEWITHTEXTURES, 0, true]], + 3741457305: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 1402838566: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 125510826: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2604431987: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4266656042: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1520743889: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3422422726: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 388784114: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCOBJECTPLACEMENT, 0, true]], + 2624227202: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCOBJECTPLACEMENT, 0, true]], + 1008929658: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2347385850: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1838606355: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["HasRepresentation", IFCMATERIALDEFINITIONREPRESENTATION, 3, true], ["IsRelatedWith", IFCMATERIALRELATIONSHIP, 3, true], ["RelatesTo", IFCMATERIALRELATIONSHIP, 2, true]], + 3708119e3: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialConstituentSet", IFCMATERIALCONSTITUENTSET, 2, false]], + 2852063980: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true]], + 1303795690: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true]], + 3079605661: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true]], + 3404854881: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true]], + 3265635763: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 2998442950: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 219451334: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true]], + 182550632: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 2665983363: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1029017970: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2529465313: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 2519244187: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3021840470: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]], + 597895409: [["IsMappedBy", IFCTEXTURECOORDINATE, 0, true], ["UsedInStyles", IFCSURFACESTYLEWITHTEXTURES, 0, true]], + 2004835150: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1663979128: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2067069095: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2165702409: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4022376103: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1423911732: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2924175390: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2775532180: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3778827333: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 673634403: [["ShapeOfProduct", IFCPRODUCT, 6, true], ["HasShapeAspects", IFCSHAPEASPECT, 4, true]], + 2802850158: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 2598011224: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 1680319473: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true]], + 3357820518: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 1482703590: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true]], + 2090586900: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 3615266464: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 3413951693: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 1580146022: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 2778083089: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 2042790032: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 4165799628: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]], + 1509187699: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 823603102: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["UsingCurves", IFCCOMPOSITECURVE, 0, true]], + 4124623270: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3692461612: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 723233188: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2233826070: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2513912981: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2247615214: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1260650574: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1096409881: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 230924584: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3071757647: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 901063453: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4282788508: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3124975700: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2715220739: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 1628702193: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true]], + 3736923433: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]], + 2347495698: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3698973494: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 427810014: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 1417489154: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2759199220: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2543172580: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 3406155212: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasTextureMaps", IFCTEXTUREMAP, 2, true]], + 669184980: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3207858831: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 4261334040: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3125803723: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2740243338: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3425423356: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2736907675: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4182860854: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2581212453: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2713105998: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2898889636: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 1123145078: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 574549367: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1675464909: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2059837836: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 59481748: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3749851601: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3486308946: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3331915920: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1416205885: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1383045692: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 2205249479: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2542286263: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 2485617015: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["UsingCurves", IFCCOMPOSITECURVE, 0, true]], + 2574617495: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 3419103109: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Declares", IFCRELDECLARES, 4, true]], + 1815067380: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 2506170314: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2147822146: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2601014836: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2827736869: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2629017746: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4212018352: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["UsingCurves", IFCCOMPOSITECURVE, 0, true]], + 32440307: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 593015953: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1472233963: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1883228015: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 339256511: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2777663545: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2835456948: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 4024345920: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]], + 477187591: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2804161546: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2047409740: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 374418227: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 315944413: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2652556860: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4238390223: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1268542332: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4095422895: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 987898635: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1484403080: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 178912537: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["ToFaceSet", IFCPOLYGONALFACESET, 2, true], ["HasTexCoords", IFCTEXTURECOORDINATEINDICES, 1, true]], + 2294589976: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["ToFaceSet", IFCPOLYGONALFACESET, 2, true], ["HasTexCoords", IFCTEXTURECOORDINATEINDICES, 1, true]], + 572779678: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 428585644: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 1281925730: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1425443689: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3888040117: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true]], + 590820931: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3388369263: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3505215534: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2485787929: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1682466193: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 603570806: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 220341763: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3381221214: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3967405729: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 569719735: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]], + 2945172077: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]], + 4208778838: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]], + 103090709: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Declares", IFCRELDECLARES, 4, true]], + 653396225: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Declares", IFCRELDECLARES, 4, true]], + 871118103: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 4166981789: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 2752243245: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 941946838: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 1451395588: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 492091185: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Defines", IFCRELDEFINESBYTEMPLATE, 5, true]], + 3650150729: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 110355661: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]], + 3521284610: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["PartOfComplexTemplate", IFCCOMPLEXPROPERTYTEMPLATE, 6, true], ["PartOfPsetTemplate", IFCPROPERTYSETTEMPLATE, 6, true]], + 2770003689: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 2798486643: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3454111270: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3765753017: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 3523091289: [["InnerBoundaries", IFCRELSPACEBOUNDARY1STLEVEL, 9, true]], + 1521410863: [["InnerBoundaries", IFCRELSPACEBOUNDARY1STLEVEL, 9, true], ["Corresponds", IFCRELSPACEBOUNDARY2NDLEVEL, 10, true]], + 816062949: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["UsingCurves", IFCCOMPOSITECURVE, 0, true]], + 2914609552: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 1856042241: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3243963512: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4158566097: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3626867408: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1862484736: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1290935644: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1356537516: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3663146110: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["PartOfComplexTemplate", IFCCOMPLEXPROPERTYTEMPLATE, 6, true], ["PartOfPsetTemplate", IFCPROPERTYSETTEMPLATE, 6, true]], + 1412071761: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 710998568: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2706606064: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 3893378262: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 463610769: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 2481509218: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 451544542: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4015995234: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2735484536: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3544373492: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 3136571912: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true]], + 530289379: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]], + 3689010777: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 3979015343: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]], + 2218152070: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]], + 603775116: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 4095615324: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 699246055: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2028607225: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2809605785: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4124788165: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1580310250: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3473067441: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]], + 3206491090: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]], + 2387106220: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasColours", IFCINDEXEDCOLOURMAP, 0, true], ["HasTextures", IFCINDEXEDTEXTUREMAP, 1, true]], + 782932809: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1935646853: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3665877780: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2916149573: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasColours", IFCINDEXEDCOLOURMAP, 0, true], ["HasTextures", IFCINDEXEDTEXTUREMAP, 1, true]], + 1229763772: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasColours", IFCINDEXEDCOLOURMAP, 0, true], ["HasTextures", IFCINDEXEDTEXTUREMAP, 1, true]], + 3651464721: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 336235671: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 512836454: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 2296667514: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsActingUpon", IFCRELASSIGNSTOACTOR, 6, true]], + 1635779807: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2603310189: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1674181508: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]], + 2887950389: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 167062518: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1334484129: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3649129432: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1260505505: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3124254112: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 1626504194: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2197970202: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2937912522: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]], + 3893394355: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3497074424: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 300633059: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3875453745: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["PartOfComplexTemplate", IFCCOMPLEXPROPERTYTEMPLATE, 6, true], ["PartOfPsetTemplate", IFCPROPERTYSETTEMPLATE, 6, true]], + 3732776249: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 15328376: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2510884976: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2185764099: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 4105962743: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 1525564444: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 2559216714: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 3293443760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 2000195564: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3895139033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 1419761937: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 4189326743: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1916426348: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3295246426: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 1457835157: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1213902940: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1306400036: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4234616927: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3256556792: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3849074793: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2963535650: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 1714330368: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 2323601079: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1758889154: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 4123344466: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2397081782: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1623761950: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2590856083: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1704287377: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2107101300: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 132023988: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3174744832: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3390157468: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4148101412: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]], + 2853485674: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 807026263: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3737207727: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 24185140: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 1310830890: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 4228831410: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 647756555: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2489546625: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2827207264: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2143335405: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["ProjectsElements", IFCRELPROJECTSELEMENT, 5, false]], + 1287392070: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]], + 3907093117: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3198132628: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3815607619: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1482959167: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1834744321: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1339347760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2297155007: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3009222698: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1893162501: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 263784265: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 1509553395: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3493046030: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 4230923436: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 1594536857: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2898700619: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2706460486: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]], + 1251058090: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1806887404: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2568555532: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3948183225: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2571569899: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3946677679: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3113134337: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2391368822: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]], + 4288270099: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 679976338: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3827777499: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 1051575348: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1161773419: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2176059722: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]], + 1770583370: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 525669439: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 976884017: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 377706215: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2108223431: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1114901282: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3181161470: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1950438474: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 710110818: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 977012517: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 506776471: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4143007308: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsActingUpon", IFCRELASSIGNSTOACTOR, 6, true]], + 3588315303: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false], ["HasFillings", IFCRELFILLSELEMENT, 4, true]], + 2837617999: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 514975943: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2382730787: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 3566463478: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]], + 3327091369: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 1158309216: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 804291784: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4231323485: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4017108033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2839578677: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasColours", IFCINDEXEDCOLOURMAP, 0, true], ["HasTextures", IFCINDEXEDTEXTUREMAP, 1, true]], + 3724593414: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3740093272: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainedIn", IFCRELCONNECTSPORTTOELEMENT, 4, true], ["ConnectedFrom", IFCRELCONNECTSPORTS, 5, true], ["ConnectedTo", IFCRELCONNECTSPORTS, 4, true]], + 1946335990: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["Positions", IFCRELPOSITIONS, 4, true]], + 2744685151: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]], + 2904328755: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 3651124850: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["ProjectsElements", IFCRELPROJECTSELEMENT, 5, false]], + 1842657554: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2250791053: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1763565496: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2893384427: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3992365140: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 1891881377: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 2324767716: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1469900589: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 683857671: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4021432810: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["Positions", IFCRELPOSITIONS, 4, true]], + 3027567501: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 964333572: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2320036040: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2310774935: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 146592293: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 550521510: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 2781568857: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1768891740: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2157484638: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3649235739: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 544395925: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1027922057: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4074543187: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 33720170: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3599934289: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1894708472: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 42703149: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 4097777520: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 2533589738: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1072016465: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3856911033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasCoverings", IFCRELCOVERSSPACES, 4, true], ["BoundedBy", IFCRELSPACEBOUNDARY, 4, true]], + 1305183839: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3812236995: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3112655638: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1039846685: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 338393293: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 682877961: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 1179482911: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]], + 1004757350: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 4243806635: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]], + 214636428: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]], + 2445595289: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]], + 2757150158: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 1807405624: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 1252848954: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["SourceOfResultGroup", IFCSTRUCTURALRESULTGROUP, 6, true], ["LoadGroupFor", IFCSTRUCTURALANALYSISMODEL, 7, true]], + 2082059205: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 734778138: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]], + 1235345126: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 2986769608: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ResultGroupFor", IFCSTRUCTURALANALYSISMODEL, 8, true]], + 3657597509: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 1975003073: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]], + 148013059: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 3101698114: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["AdheresToElement", IFCRELADHERESTOELEMENT, 5, false]], + 2315554128: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2254336722: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true], ["ServicesFacilities", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]], + 413509423: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 5716631: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3824725483: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2347447852: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3081323446: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3663046924: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2281632017: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2415094496: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 618700268: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1692211062: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2097647324: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1953115116: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3593883385: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1600972822: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1911125066: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 728799441: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 840318589: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 1530820697: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3956297820: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2391383451: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3313531582: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2769231204: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 926996030: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]], + 1898987631: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1133259667: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4009809668: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4088093105: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 1028945134: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 4218914973: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 3342526732: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 1033361043: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true], ["ServicesFacilities", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]], + 3821786052: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]], + 1411407467: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3352864051: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1871374353: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4266260250: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]], + 1545765605: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]], + 317615605: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]], + 1662888072: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]], + 3460190687: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]], + 1532957894: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1967976161: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 2461110595: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 819618141: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3649138523: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 231477066: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1136057603: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 644574406: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 963979645: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 4031249490: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]], + 2979338954: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 39481116: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1909888760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1177604601: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true], ["ServicesFacilities", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]], + 1876633798: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3862327254: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true], ["ServicesFacilities", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]], + 2188180465: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 395041908: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3293546465: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2674252688: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1285652485: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3203706013: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2951183804: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3296154744: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2611217952: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 1677625105: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2301859152: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 843113511: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 400855858: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3850581409: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2816379211: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3898045240: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 1060000209: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 488727124: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]], + 2940368186: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 335055490: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2954562838: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1502416096: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 1973544240: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["CoversSpaces", IFCRELCOVERSSPACES, 5, true], ["CoversElements", IFCRELCOVERSBLDGELEMENTS, 5, true]], + 3495092785: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3961806047: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3426335179: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 1335981549: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2635815018: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 479945903: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1599208980: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2063403501: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1945004755: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true]], + 3040386961: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3041715199: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainedIn", IFCRELCONNECTSPORTTOELEMENT, 4, true], ["ConnectedFrom", IFCRELCONNECTSPORTS, 5, true], ["ConnectedTo", IFCRELCONNECTSPORTS, 4, true]], + 3205830791: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true], ["ServicesFacilities", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]], + 395920057: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 869906466: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3760055223: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2030761528: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3071239417: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]], + 1077100507: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3376911765: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 663422040: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2417008758: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3277789161: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2142170206: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1534661035: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1217240411: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 712377611: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1658829314: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2814081492: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3747195512: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 484807127: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1209101575: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["BoundedBy", IFCRELSPACEBOUNDARY, 4, true]], + 346874300: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1810631287: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4222183408: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2058353004: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 4278956645: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 4037862832: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2188021234: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3132237377: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 987401354: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 707683696: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2223149337: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3508470533: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 900683007: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2713699986: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3009204131: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["Positions", IFCRELPOSITIONS, 4, true]], + 3319311131: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2068733104: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 4175244083: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2176052936: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2696325953: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 76236018: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 629592764: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1154579445: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["Positions", IFCRELPOSITIONS, 4, true]], + 1638804497: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1437502449: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1073191201: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2078563270: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 234836483: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2474470126: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2182337498: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 144952367: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3694346114: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1383356374: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 1687234759: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 310824031: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3612865200: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3171933400: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 738039164: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 655969474: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 90941305: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3290496277: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2262370178: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3024970846: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3283111854: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 1232101972: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]], + 3798194928: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 979691226: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2572171363: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 2016517767: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3053780830: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1783015770: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1329646415: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 991950508: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1529196076: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3420628829: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1999602285: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1404847402: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 331165859: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 4252922144: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2515109513: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true], ["ServicesFacilities", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]], + 385403989: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["SourceOfResultGroup", IFCSTRUCTURALRESULTGROUP, 6, true], ["LoadGroupFor", IFCSTRUCTURALANALYSISMODEL, 7, true]], + 1621171031: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]], + 1162798199: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 812556717: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3425753595: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3825984169: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1620046519: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3026737570: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3179687236: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 4292641817: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 4207607924: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2391406946: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3512223829: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 4237592921: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3304561284: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2874132201: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 1634111441: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 177149247: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2056796094: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3001207471: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 325726236: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["Positions", IFCRELPOSITIONS, 4, true]], + 277319702: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 753842376: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 4196446775: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 32344328: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3314249567: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 1095909175: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2938176219: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 635142910: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3758799889: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1051757585: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 4217484030: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3999819293: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 3902619387: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 639361253: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3221913625: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3571504051: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 2272882330: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 578613899: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]], + 3460952963: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 4136498852: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3640358203: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 4074379575: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3693000487: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1052013943: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 562808652: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true], ["ServicesFacilities", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]], + 1062813311: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]], + 342316401: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3518393246: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1360408905: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1904799276: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 862014818: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3310460725: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 24726584: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 264262732: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 402227799: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1003880860: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 3415622556: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 819412036: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 1426591983: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]], + 182646315: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]], + 2680139844: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 1971632696: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]], + 2295281155: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]], + 4086658281: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]], + 630975310: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]], + 4288193352: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]], + 3087945054: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]], + 25142252: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]] +}; +Constructors[5] = { + 3630933823: (a) => new IFC4X3$1.IfcActorRole(a[0], a[1], a[2]), + 618182010: (a) => new IFC4X3$1.IfcAddress(a[0], a[1], a[2]), + 2879124712: (a) => new IFC4X3$1.IfcAlignmentParameterSegment(a[0], a[1]), + 3633395639: (a) => new IFC4X3$1.IfcAlignmentVerticalSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 639542469: (a) => new IFC4X3$1.IfcApplication(a[0], a[1], a[2], a[3]), + 411424972: (a) => new IFC4X3$1.IfcAppliedValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 130549933: (a) => new IFC4X3$1.IfcApproval(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4037036970: (a) => new IFC4X3$1.IfcBoundaryCondition(a[0]), + 1560379544: (a) => new IFC4X3$1.IfcBoundaryEdgeCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3367102660: (a) => new IFC4X3$1.IfcBoundaryFaceCondition(a[0], a[1], a[2], a[3]), + 1387855156: (a) => new IFC4X3$1.IfcBoundaryNodeCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2069777674: (a) => new IFC4X3$1.IfcBoundaryNodeConditionWarping(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2859738748: (_) => new IFC4X3$1.IfcConnectionGeometry(), + 2614616156: (a) => new IFC4X3$1.IfcConnectionPointGeometry(a[0], a[1]), + 2732653382: (a) => new IFC4X3$1.IfcConnectionSurfaceGeometry(a[0], a[1]), + 775493141: (a) => new IFC4X3$1.IfcConnectionVolumeGeometry(a[0], a[1]), + 1959218052: (a) => new IFC4X3$1.IfcConstraint(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1785450214: (a) => new IFC4X3$1.IfcCoordinateOperation(a[0], a[1]), + 1466758467: (a) => new IFC4X3$1.IfcCoordinateReferenceSystem(a[0], a[1], a[2], a[3]), + 602808272: (a) => new IFC4X3$1.IfcCostValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1765591967: (a) => new IFC4X3$1.IfcDerivedUnit(a[0], a[1], a[2], a[3]), + 1045800335: (a) => new IFC4X3$1.IfcDerivedUnitElement(a[0], a[1]), + 2949456006: (a) => new IFC4X3$1.IfcDimensionalExponents(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 4294318154: (_) => new IFC4X3$1.IfcExternalInformation(), + 3200245327: (a) => new IFC4X3$1.IfcExternalReference(a[0], a[1], a[2]), + 2242383968: (a) => new IFC4X3$1.IfcExternallyDefinedHatchStyle(a[0], a[1], a[2]), + 1040185647: (a) => new IFC4X3$1.IfcExternallyDefinedSurfaceStyle(a[0], a[1], a[2]), + 3548104201: (a) => new IFC4X3$1.IfcExternallyDefinedTextFont(a[0], a[1], a[2]), + 852622518: (a) => new IFC4X3$1.IfcGridAxis(a[0], a[1], a[2]), + 3020489413: (a) => new IFC4X3$1.IfcIrregularTimeSeriesValue(a[0], a[1]), + 2655187982: (a) => new IFC4X3$1.IfcLibraryInformation(a[0], a[1], a[2], a[3], a[4], a[5]), + 3452421091: (a) => new IFC4X3$1.IfcLibraryReference(a[0], a[1], a[2], a[3], a[4], a[5]), + 4162380809: (a) => new IFC4X3$1.IfcLightDistributionData(a[0], a[1], a[2]), + 1566485204: (a) => new IFC4X3$1.IfcLightIntensityDistribution(a[0], a[1]), + 3057273783: (a) => new IFC4X3$1.IfcMapConversion(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1847130766: (a) => new IFC4X3$1.IfcMaterialClassificationRelationship(a[0], a[1]), + 760658860: (_) => new IFC4X3$1.IfcMaterialDefinition(), + 248100487: (a) => new IFC4X3$1.IfcMaterialLayer(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3303938423: (a) => new IFC4X3$1.IfcMaterialLayerSet(a[0], a[1], a[2]), + 1847252529: (a) => new IFC4X3$1.IfcMaterialLayerWithOffsets(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2199411900: (a) => new IFC4X3$1.IfcMaterialList(a[0]), + 2235152071: (a) => new IFC4X3$1.IfcMaterialProfile(a[0], a[1], a[2], a[3], a[4], a[5]), + 164193824: (a) => new IFC4X3$1.IfcMaterialProfileSet(a[0], a[1], a[2], a[3]), + 552965576: (a) => new IFC4X3$1.IfcMaterialProfileWithOffsets(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1507914824: (_) => new IFC4X3$1.IfcMaterialUsageDefinition(), + 2597039031: (a) => new IFC4X3$1.IfcMeasureWithUnit(a[0], a[1]), + 3368373690: (a) => new IFC4X3$1.IfcMetric(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 2706619895: (a) => new IFC4X3$1.IfcMonetaryUnit(a[0]), + 1918398963: (a) => new IFC4X3$1.IfcNamedUnit(a[0], a[1]), + 3701648758: (a) => new IFC4X3$1.IfcObjectPlacement(a[0]), + 2251480897: (a) => new IFC4X3$1.IfcObjective(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 4251960020: (a) => new IFC4X3$1.IfcOrganization(a[0], a[1], a[2], a[3], a[4]), + 1207048766: (a) => new IFC4X3$1.IfcOwnerHistory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2077209135: (a) => new IFC4X3$1.IfcPerson(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 101040310: (a) => new IFC4X3$1.IfcPersonAndOrganization(a[0], a[1], a[2]), + 2483315170: (a) => new IFC4X3$1.IfcPhysicalQuantity(a[0], a[1]), + 2226359599: (a) => new IFC4X3$1.IfcPhysicalSimpleQuantity(a[0], a[1], a[2]), + 3355820592: (a) => new IFC4X3$1.IfcPostalAddress(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 677532197: (_) => new IFC4X3$1.IfcPresentationItem(), + 2022622350: (a) => new IFC4X3$1.IfcPresentationLayerAssignment(a[0], a[1], a[2], a[3]), + 1304840413: (a) => new IFC4X3$1.IfcPresentationLayerWithStyle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3119450353: (a) => new IFC4X3$1.IfcPresentationStyle(a[0]), + 2095639259: (a) => new IFC4X3$1.IfcProductRepresentation(a[0], a[1], a[2]), + 3958567839: (a) => new IFC4X3$1.IfcProfileDef(a[0], a[1]), + 3843373140: (a) => new IFC4X3$1.IfcProjectedCRS(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 986844984: (_) => new IFC4X3$1.IfcPropertyAbstraction(), + 3710013099: (a) => new IFC4X3$1.IfcPropertyEnumeration(a[0], a[1], a[2]), + 2044713172: (a) => new IFC4X3$1.IfcQuantityArea(a[0], a[1], a[2], a[3], a[4]), + 2093928680: (a) => new IFC4X3$1.IfcQuantityCount(a[0], a[1], a[2], a[3], a[4]), + 931644368: (a) => new IFC4X3$1.IfcQuantityLength(a[0], a[1], a[2], a[3], a[4]), + 2691318326: (a) => new IFC4X3$1.IfcQuantityNumber(a[0], a[1], a[2], a[3], a[4]), + 3252649465: (a) => new IFC4X3$1.IfcQuantityTime(a[0], a[1], a[2], a[3], a[4]), + 2405470396: (a) => new IFC4X3$1.IfcQuantityVolume(a[0], a[1], a[2], a[3], a[4]), + 825690147: (a) => new IFC4X3$1.IfcQuantityWeight(a[0], a[1], a[2], a[3], a[4]), + 3915482550: (a) => new IFC4X3$1.IfcRecurrencePattern(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2433181523: (a) => new IFC4X3$1.IfcReference(a[0], a[1], a[2], a[3], a[4]), + 1076942058: (a) => new IFC4X3$1.IfcRepresentation(a[0], a[1], a[2], a[3]), + 3377609919: (a) => new IFC4X3$1.IfcRepresentationContext(a[0], a[1]), + 3008791417: (_) => new IFC4X3$1.IfcRepresentationItem(), + 1660063152: (a) => new IFC4X3$1.IfcRepresentationMap(a[0], a[1]), + 2439245199: (a) => new IFC4X3$1.IfcResourceLevelRelationship(a[0], a[1]), + 2341007311: (a) => new IFC4X3$1.IfcRoot(a[0], a[1], a[2], a[3]), + 448429030: (a) => new IFC4X3$1.IfcSIUnit(a[0], a[1], a[2], a[3]), + 1054537805: (a) => new IFC4X3$1.IfcSchedulingTime(a[0], a[1], a[2]), + 867548509: (a) => new IFC4X3$1.IfcShapeAspect(a[0], a[1], a[2], a[3], a[4]), + 3982875396: (a) => new IFC4X3$1.IfcShapeModel(a[0], a[1], a[2], a[3]), + 4240577450: (a) => new IFC4X3$1.IfcShapeRepresentation(a[0], a[1], a[2], a[3]), + 2273995522: (a) => new IFC4X3$1.IfcStructuralConnectionCondition(a[0]), + 2162789131: (a) => new IFC4X3$1.IfcStructuralLoad(a[0]), + 3478079324: (a) => new IFC4X3$1.IfcStructuralLoadConfiguration(a[0], a[1], a[2]), + 609421318: (a) => new IFC4X3$1.IfcStructuralLoadOrResult(a[0]), + 2525727697: (a) => new IFC4X3$1.IfcStructuralLoadStatic(a[0]), + 3408363356: (a) => new IFC4X3$1.IfcStructuralLoadTemperature(a[0], a[1], a[2], a[3]), + 2830218821: (a) => new IFC4X3$1.IfcStyleModel(a[0], a[1], a[2], a[3]), + 3958052878: (a) => new IFC4X3$1.IfcStyledItem(a[0], a[1], a[2]), + 3049322572: (a) => new IFC4X3$1.IfcStyledRepresentation(a[0], a[1], a[2], a[3]), + 2934153892: (a) => new IFC4X3$1.IfcSurfaceReinforcementArea(a[0], a[1], a[2], a[3]), + 1300840506: (a) => new IFC4X3$1.IfcSurfaceStyle(a[0], a[1], a[2]), + 3303107099: (a) => new IFC4X3$1.IfcSurfaceStyleLighting(a[0], a[1], a[2], a[3]), + 1607154358: (a) => new IFC4X3$1.IfcSurfaceStyleRefraction(a[0], a[1]), + 846575682: (a) => new IFC4X3$1.IfcSurfaceStyleShading(a[0], a[1]), + 1351298697: (a) => new IFC4X3$1.IfcSurfaceStyleWithTextures(a[0]), + 626085974: (a) => new IFC4X3$1.IfcSurfaceTexture(a[0], a[1], a[2], a[3], a[4]), + 985171141: (a) => new IFC4X3$1.IfcTable(a[0], a[1], a[2]), + 2043862942: (a) => new IFC4X3$1.IfcTableColumn(a[0], a[1], a[2], a[3], a[4]), + 531007025: (a) => new IFC4X3$1.IfcTableRow(a[0], a[1]), + 1549132990: (a) => new IFC4X3$1.IfcTaskTime(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19]), + 2771591690: (a) => new IFC4X3$1.IfcTaskTimeRecurring(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19], a[20]), + 912023232: (a) => new IFC4X3$1.IfcTelecomAddress(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1447204868: (a) => new IFC4X3$1.IfcTextStyle(a[0], a[1], a[2], a[3], a[4]), + 2636378356: (a) => new IFC4X3$1.IfcTextStyleForDefinedFont(a[0], a[1]), + 1640371178: (a) => new IFC4X3$1.IfcTextStyleTextModel(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 280115917: (a) => new IFC4X3$1.IfcTextureCoordinate(a[0]), + 1742049831: (a) => new IFC4X3$1.IfcTextureCoordinateGenerator(a[0], a[1], a[2]), + 222769930: (a) => new IFC4X3$1.IfcTextureCoordinateIndices(a[0], a[1]), + 1010789467: (a) => new IFC4X3$1.IfcTextureCoordinateIndicesWithVoids(a[0], a[1], a[2]), + 2552916305: (a) => new IFC4X3$1.IfcTextureMap(a[0], a[1], a[2]), + 1210645708: (a) => new IFC4X3$1.IfcTextureVertex(a[0]), + 3611470254: (a) => new IFC4X3$1.IfcTextureVertexList(a[0]), + 1199560280: (a) => new IFC4X3$1.IfcTimePeriod(a[0], a[1]), + 3101149627: (a) => new IFC4X3$1.IfcTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 581633288: (a) => new IFC4X3$1.IfcTimeSeriesValue(a[0]), + 1377556343: (_) => new IFC4X3$1.IfcTopologicalRepresentationItem(), + 1735638870: (a) => new IFC4X3$1.IfcTopologyRepresentation(a[0], a[1], a[2], a[3]), + 180925521: (a) => new IFC4X3$1.IfcUnitAssignment(a[0]), + 2799835756: (_) => new IFC4X3$1.IfcVertex(), + 1907098498: (a) => new IFC4X3$1.IfcVertexPoint(a[0]), + 891718957: (a) => new IFC4X3$1.IfcVirtualGridIntersection(a[0], a[1]), + 1236880293: (a) => new IFC4X3$1.IfcWorkTime(a[0], a[1], a[2], a[3], a[4], a[5]), + 3752311538: (a) => new IFC4X3$1.IfcAlignmentCantSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 536804194: (a) => new IFC4X3$1.IfcAlignmentHorizontalSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3869604511: (a) => new IFC4X3$1.IfcApprovalRelationship(a[0], a[1], a[2], a[3]), + 3798115385: (a) => new IFC4X3$1.IfcArbitraryClosedProfileDef(a[0], a[1], a[2]), + 1310608509: (a) => new IFC4X3$1.IfcArbitraryOpenProfileDef(a[0], a[1], a[2]), + 2705031697: (a) => new IFC4X3$1.IfcArbitraryProfileDefWithVoids(a[0], a[1], a[2], a[3]), + 616511568: (a) => new IFC4X3$1.IfcBlobTexture(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3150382593: (a) => new IFC4X3$1.IfcCenterLineProfileDef(a[0], a[1], a[2], a[3]), + 747523909: (a) => new IFC4X3$1.IfcClassification(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 647927063: (a) => new IFC4X3$1.IfcClassificationReference(a[0], a[1], a[2], a[3], a[4], a[5]), + 3285139300: (a) => new IFC4X3$1.IfcColourRgbList(a[0]), + 3264961684: (a) => new IFC4X3$1.IfcColourSpecification(a[0]), + 1485152156: (a) => new IFC4X3$1.IfcCompositeProfileDef(a[0], a[1], a[2], a[3]), + 370225590: (a) => new IFC4X3$1.IfcConnectedFaceSet(a[0]), + 1981873012: (a) => new IFC4X3$1.IfcConnectionCurveGeometry(a[0], a[1]), + 45288368: (a) => new IFC4X3$1.IfcConnectionPointEccentricity(a[0], a[1], a[2], a[3], a[4]), + 3050246964: (a) => new IFC4X3$1.IfcContextDependentUnit(a[0], a[1], a[2]), + 2889183280: (a) => new IFC4X3$1.IfcConversionBasedUnit(a[0], a[1], a[2], a[3]), + 2713554722: (a) => new IFC4X3$1.IfcConversionBasedUnitWithOffset(a[0], a[1], a[2], a[3], a[4]), + 539742890: (a) => new IFC4X3$1.IfcCurrencyRelationship(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3800577675: (a) => new IFC4X3$1.IfcCurveStyle(a[0], a[1], a[2], a[3], a[4]), + 1105321065: (a) => new IFC4X3$1.IfcCurveStyleFont(a[0], a[1]), + 2367409068: (a) => new IFC4X3$1.IfcCurveStyleFontAndScaling(a[0], a[1], a[2]), + 3510044353: (a) => new IFC4X3$1.IfcCurveStyleFontPattern(a[0], a[1]), + 3632507154: (a) => new IFC4X3$1.IfcDerivedProfileDef(a[0], a[1], a[2], a[3], a[4]), + 1154170062: (a) => new IFC4X3$1.IfcDocumentInformation(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]), + 770865208: (a) => new IFC4X3$1.IfcDocumentInformationRelationship(a[0], a[1], a[2], a[3], a[4]), + 3732053477: (a) => new IFC4X3$1.IfcDocumentReference(a[0], a[1], a[2], a[3], a[4]), + 3900360178: (a) => new IFC4X3$1.IfcEdge(a[0], a[1]), + 476780140: (a) => new IFC4X3$1.IfcEdgeCurve(a[0], a[1], a[2], a[3]), + 211053100: (a) => new IFC4X3$1.IfcEventTime(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 297599258: (a) => new IFC4X3$1.IfcExtendedProperties(a[0], a[1], a[2]), + 1437805879: (a) => new IFC4X3$1.IfcExternalReferenceRelationship(a[0], a[1], a[2], a[3]), + 2556980723: (a) => new IFC4X3$1.IfcFace(a[0]), + 1809719519: (a) => new IFC4X3$1.IfcFaceBound(a[0], a[1]), + 803316827: (a) => new IFC4X3$1.IfcFaceOuterBound(a[0], a[1]), + 3008276851: (a) => new IFC4X3$1.IfcFaceSurface(a[0], a[1], a[2]), + 4219587988: (a) => new IFC4X3$1.IfcFailureConnectionCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 738692330: (a) => new IFC4X3$1.IfcFillAreaStyle(a[0], a[1], a[2]), + 3448662350: (a) => new IFC4X3$1.IfcGeometricRepresentationContext(a[0], a[1], a[2], a[3], a[4], a[5]), + 2453401579: (_) => new IFC4X3$1.IfcGeometricRepresentationItem(), + 4142052618: (a) => new IFC4X3$1.IfcGeometricRepresentationSubContext(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3590301190: (a) => new IFC4X3$1.IfcGeometricSet(a[0]), + 178086475: (a) => new IFC4X3$1.IfcGridPlacement(a[0], a[1], a[2]), + 812098782: (a) => new IFC4X3$1.IfcHalfSpaceSolid(a[0], a[1]), + 3905492369: (a) => new IFC4X3$1.IfcImageTexture(a[0], a[1], a[2], a[3], a[4], a[5]), + 3570813810: (a) => new IFC4X3$1.IfcIndexedColourMap(a[0], a[1], a[2], a[3]), + 1437953363: (a) => new IFC4X3$1.IfcIndexedTextureMap(a[0], a[1], a[2]), + 2133299955: (a) => new IFC4X3$1.IfcIndexedTriangleTextureMap(a[0], a[1], a[2], a[3]), + 3741457305: (a) => new IFC4X3$1.IfcIrregularTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1585845231: (a) => new IFC4X3$1.IfcLagTime(a[0], a[1], a[2], a[3], a[4]), + 1402838566: (a) => new IFC4X3$1.IfcLightSource(a[0], a[1], a[2], a[3]), + 125510826: (a) => new IFC4X3$1.IfcLightSourceAmbient(a[0], a[1], a[2], a[3]), + 2604431987: (a) => new IFC4X3$1.IfcLightSourceDirectional(a[0], a[1], a[2], a[3], a[4]), + 4266656042: (a) => new IFC4X3$1.IfcLightSourceGoniometric(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1520743889: (a) => new IFC4X3$1.IfcLightSourcePositional(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3422422726: (a) => new IFC4X3$1.IfcLightSourceSpot(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 388784114: (a) => new IFC4X3$1.IfcLinearPlacement(a[0], a[1], a[2]), + 2624227202: (a) => new IFC4X3$1.IfcLocalPlacement(a[0], a[1]), + 1008929658: (_) => new IFC4X3$1.IfcLoop(), + 2347385850: (a) => new IFC4X3$1.IfcMappedItem(a[0], a[1]), + 1838606355: (a) => new IFC4X3$1.IfcMaterial(a[0], a[1], a[2]), + 3708119e3: (a) => new IFC4X3$1.IfcMaterialConstituent(a[0], a[1], a[2], a[3], a[4]), + 2852063980: (a) => new IFC4X3$1.IfcMaterialConstituentSet(a[0], a[1], a[2]), + 2022407955: (a) => new IFC4X3$1.IfcMaterialDefinitionRepresentation(a[0], a[1], a[2], a[3]), + 1303795690: (a) => new IFC4X3$1.IfcMaterialLayerSetUsage(a[0], a[1], a[2], a[3], a[4]), + 3079605661: (a) => new IFC4X3$1.IfcMaterialProfileSetUsage(a[0], a[1], a[2]), + 3404854881: (a) => new IFC4X3$1.IfcMaterialProfileSetUsageTapering(a[0], a[1], a[2], a[3], a[4]), + 3265635763: (a) => new IFC4X3$1.IfcMaterialProperties(a[0], a[1], a[2], a[3]), + 853536259: (a) => new IFC4X3$1.IfcMaterialRelationship(a[0], a[1], a[2], a[3], a[4]), + 2998442950: (a) => new IFC4X3$1.IfcMirroredProfileDef(a[0], a[1], a[2], a[3], a[4]), + 219451334: (a) => new IFC4X3$1.IfcObjectDefinition(a[0], a[1], a[2], a[3]), + 182550632: (a) => new IFC4X3$1.IfcOpenCrossProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2665983363: (a) => new IFC4X3$1.IfcOpenShell(a[0]), + 1411181986: (a) => new IFC4X3$1.IfcOrganizationRelationship(a[0], a[1], a[2], a[3]), + 1029017970: (a) => new IFC4X3$1.IfcOrientedEdge(a[0], a[1], a[2]), + 2529465313: (a) => new IFC4X3$1.IfcParameterizedProfileDef(a[0], a[1], a[2]), + 2519244187: (a) => new IFC4X3$1.IfcPath(a[0]), + 3021840470: (a) => new IFC4X3$1.IfcPhysicalComplexQuantity(a[0], a[1], a[2], a[3], a[4], a[5]), + 597895409: (a) => new IFC4X3$1.IfcPixelTexture(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2004835150: (a) => new IFC4X3$1.IfcPlacement(a[0]), + 1663979128: (a) => new IFC4X3$1.IfcPlanarExtent(a[0], a[1]), + 2067069095: (_) => new IFC4X3$1.IfcPoint(), + 2165702409: (a) => new IFC4X3$1.IfcPointByDistanceExpression(a[0], a[1], a[2], a[3], a[4]), + 4022376103: (a) => new IFC4X3$1.IfcPointOnCurve(a[0], a[1]), + 1423911732: (a) => new IFC4X3$1.IfcPointOnSurface(a[0], a[1], a[2]), + 2924175390: (a) => new IFC4X3$1.IfcPolyLoop(a[0]), + 2775532180: (a) => new IFC4X3$1.IfcPolygonalBoundedHalfSpace(a[0], a[1], a[2], a[3]), + 3727388367: (a) => new IFC4X3$1.IfcPreDefinedItem(a[0]), + 3778827333: (_) => new IFC4X3$1.IfcPreDefinedProperties(), + 1775413392: (a) => new IFC4X3$1.IfcPreDefinedTextFont(a[0]), + 673634403: (a) => new IFC4X3$1.IfcProductDefinitionShape(a[0], a[1], a[2]), + 2802850158: (a) => new IFC4X3$1.IfcProfileProperties(a[0], a[1], a[2], a[3]), + 2598011224: (a) => new IFC4X3$1.IfcProperty(a[0], a[1]), + 1680319473: (a) => new IFC4X3$1.IfcPropertyDefinition(a[0], a[1], a[2], a[3]), + 148025276: (a) => new IFC4X3$1.IfcPropertyDependencyRelationship(a[0], a[1], a[2], a[3], a[4]), + 3357820518: (a) => new IFC4X3$1.IfcPropertySetDefinition(a[0], a[1], a[2], a[3]), + 1482703590: (a) => new IFC4X3$1.IfcPropertyTemplateDefinition(a[0], a[1], a[2], a[3]), + 2090586900: (a) => new IFC4X3$1.IfcQuantitySet(a[0], a[1], a[2], a[3]), + 3615266464: (a) => new IFC4X3$1.IfcRectangleProfileDef(a[0], a[1], a[2], a[3], a[4]), + 3413951693: (a) => new IFC4X3$1.IfcRegularTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1580146022: (a) => new IFC4X3$1.IfcReinforcementBarProperties(a[0], a[1], a[2], a[3], a[4], a[5]), + 478536968: (a) => new IFC4X3$1.IfcRelationship(a[0], a[1], a[2], a[3]), + 2943643501: (a) => new IFC4X3$1.IfcResourceApprovalRelationship(a[0], a[1], a[2], a[3]), + 1608871552: (a) => new IFC4X3$1.IfcResourceConstraintRelationship(a[0], a[1], a[2], a[3]), + 1042787934: (a) => new IFC4X3$1.IfcResourceTime(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17]), + 2778083089: (a) => new IFC4X3$1.IfcRoundedRectangleProfileDef(a[0], a[1], a[2], a[3], a[4], a[5]), + 2042790032: (a) => new IFC4X3$1.IfcSectionProperties(a[0], a[1], a[2]), + 4165799628: (a) => new IFC4X3$1.IfcSectionReinforcementProperties(a[0], a[1], a[2], a[3], a[4], a[5]), + 1509187699: (a) => new IFC4X3$1.IfcSectionedSpine(a[0], a[1], a[2]), + 823603102: (a) => new IFC4X3$1.IfcSegment(a[0]), + 4124623270: (a) => new IFC4X3$1.IfcShellBasedSurfaceModel(a[0]), + 3692461612: (a) => new IFC4X3$1.IfcSimpleProperty(a[0], a[1]), + 2609359061: (a) => new IFC4X3$1.IfcSlippageConnectionCondition(a[0], a[1], a[2], a[3]), + 723233188: (_) => new IFC4X3$1.IfcSolidModel(), + 1595516126: (a) => new IFC4X3$1.IfcStructuralLoadLinearForce(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2668620305: (a) => new IFC4X3$1.IfcStructuralLoadPlanarForce(a[0], a[1], a[2], a[3]), + 2473145415: (a) => new IFC4X3$1.IfcStructuralLoadSingleDisplacement(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1973038258: (a) => new IFC4X3$1.IfcStructuralLoadSingleDisplacementDistortion(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1597423693: (a) => new IFC4X3$1.IfcStructuralLoadSingleForce(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1190533807: (a) => new IFC4X3$1.IfcStructuralLoadSingleForceWarping(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2233826070: (a) => new IFC4X3$1.IfcSubedge(a[0], a[1], a[2]), + 2513912981: (_) => new IFC4X3$1.IfcSurface(), + 1878645084: (a) => new IFC4X3$1.IfcSurfaceStyleRendering(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2247615214: (a) => new IFC4X3$1.IfcSweptAreaSolid(a[0], a[1]), + 1260650574: (a) => new IFC4X3$1.IfcSweptDiskSolid(a[0], a[1], a[2], a[3], a[4]), + 1096409881: (a) => new IFC4X3$1.IfcSweptDiskSolidPolygonal(a[0], a[1], a[2], a[3], a[4], a[5]), + 230924584: (a) => new IFC4X3$1.IfcSweptSurface(a[0], a[1]), + 3071757647: (a) => new IFC4X3$1.IfcTShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 901063453: (_) => new IFC4X3$1.IfcTessellatedItem(), + 4282788508: (a) => new IFC4X3$1.IfcTextLiteral(a[0], a[1], a[2]), + 3124975700: (a) => new IFC4X3$1.IfcTextLiteralWithExtent(a[0], a[1], a[2], a[3], a[4]), + 1983826977: (a) => new IFC4X3$1.IfcTextStyleFontModel(a[0], a[1], a[2], a[3], a[4], a[5]), + 2715220739: (a) => new IFC4X3$1.IfcTrapeziumProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1628702193: (a) => new IFC4X3$1.IfcTypeObject(a[0], a[1], a[2], a[3], a[4], a[5]), + 3736923433: (a) => new IFC4X3$1.IfcTypeProcess(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2347495698: (a) => new IFC4X3$1.IfcTypeProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3698973494: (a) => new IFC4X3$1.IfcTypeResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 427810014: (a) => new IFC4X3$1.IfcUShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1417489154: (a) => new IFC4X3$1.IfcVector(a[0], a[1]), + 2759199220: (a) => new IFC4X3$1.IfcVertexLoop(a[0]), + 2543172580: (a) => new IFC4X3$1.IfcZShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3406155212: (a) => new IFC4X3$1.IfcAdvancedFace(a[0], a[1], a[2]), + 669184980: (a) => new IFC4X3$1.IfcAnnotationFillArea(a[0], a[1]), + 3207858831: (a) => new IFC4X3$1.IfcAsymmetricIShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]), + 4261334040: (a) => new IFC4X3$1.IfcAxis1Placement(a[0], a[1]), + 3125803723: (a) => new IFC4X3$1.IfcAxis2Placement2D(a[0], a[1]), + 2740243338: (a) => new IFC4X3$1.IfcAxis2Placement3D(a[0], a[1], a[2]), + 3425423356: (a) => new IFC4X3$1.IfcAxis2PlacementLinear(a[0], a[1], a[2]), + 2736907675: (a) => new IFC4X3$1.IfcBooleanResult(a[0], a[1], a[2]), + 4182860854: (_) => new IFC4X3$1.IfcBoundedSurface(), + 2581212453: (a) => new IFC4X3$1.IfcBoundingBox(a[0], a[1], a[2], a[3]), + 2713105998: (a) => new IFC4X3$1.IfcBoxedHalfSpace(a[0], a[1], a[2]), + 2898889636: (a) => new IFC4X3$1.IfcCShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1123145078: (a) => new IFC4X3$1.IfcCartesianPoint(a[0]), + 574549367: (_) => new IFC4X3$1.IfcCartesianPointList(), + 1675464909: (a) => new IFC4X3$1.IfcCartesianPointList2D(a[0], a[1]), + 2059837836: (a) => new IFC4X3$1.IfcCartesianPointList3D(a[0], a[1]), + 59481748: (a) => new IFC4X3$1.IfcCartesianTransformationOperator(a[0], a[1], a[2], a[3]), + 3749851601: (a) => new IFC4X3$1.IfcCartesianTransformationOperator2D(a[0], a[1], a[2], a[3]), + 3486308946: (a) => new IFC4X3$1.IfcCartesianTransformationOperator2DnonUniform(a[0], a[1], a[2], a[3], a[4]), + 3331915920: (a) => new IFC4X3$1.IfcCartesianTransformationOperator3D(a[0], a[1], a[2], a[3], a[4]), + 1416205885: (a) => new IFC4X3$1.IfcCartesianTransformationOperator3DnonUniform(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1383045692: (a) => new IFC4X3$1.IfcCircleProfileDef(a[0], a[1], a[2], a[3]), + 2205249479: (a) => new IFC4X3$1.IfcClosedShell(a[0]), + 776857604: (a) => new IFC4X3$1.IfcColourRgb(a[0], a[1], a[2], a[3]), + 2542286263: (a) => new IFC4X3$1.IfcComplexProperty(a[0], a[1], a[2], a[3]), + 2485617015: (a) => new IFC4X3$1.IfcCompositeCurveSegment(a[0], a[1], a[2]), + 2574617495: (a) => new IFC4X3$1.IfcConstructionResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 3419103109: (a) => new IFC4X3$1.IfcContext(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1815067380: (a) => new IFC4X3$1.IfcCrewResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 2506170314: (a) => new IFC4X3$1.IfcCsgPrimitive3D(a[0]), + 2147822146: (a) => new IFC4X3$1.IfcCsgSolid(a[0]), + 2601014836: (_) => new IFC4X3$1.IfcCurve(), + 2827736869: (a) => new IFC4X3$1.IfcCurveBoundedPlane(a[0], a[1], a[2]), + 2629017746: (a) => new IFC4X3$1.IfcCurveBoundedSurface(a[0], a[1], a[2]), + 4212018352: (a) => new IFC4X3$1.IfcCurveSegment(a[0], a[1], a[2], a[3], a[4]), + 32440307: (a) => new IFC4X3$1.IfcDirection(a[0]), + 593015953: (a) => new IFC4X3$1.IfcDirectrixCurveSweptAreaSolid(a[0], a[1], a[2], a[3], a[4]), + 1472233963: (a) => new IFC4X3$1.IfcEdgeLoop(a[0]), + 1883228015: (a) => new IFC4X3$1.IfcElementQuantity(a[0], a[1], a[2], a[3], a[4], a[5]), + 339256511: (a) => new IFC4X3$1.IfcElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2777663545: (a) => new IFC4X3$1.IfcElementarySurface(a[0]), + 2835456948: (a) => new IFC4X3$1.IfcEllipseProfileDef(a[0], a[1], a[2], a[3], a[4]), + 4024345920: (a) => new IFC4X3$1.IfcEventType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 477187591: (a) => new IFC4X3$1.IfcExtrudedAreaSolid(a[0], a[1], a[2], a[3]), + 2804161546: (a) => new IFC4X3$1.IfcExtrudedAreaSolidTapered(a[0], a[1], a[2], a[3], a[4]), + 2047409740: (a) => new IFC4X3$1.IfcFaceBasedSurfaceModel(a[0]), + 374418227: (a) => new IFC4X3$1.IfcFillAreaStyleHatching(a[0], a[1], a[2], a[3], a[4]), + 315944413: (a) => new IFC4X3$1.IfcFillAreaStyleTiles(a[0], a[1], a[2]), + 2652556860: (a) => new IFC4X3$1.IfcFixedReferenceSweptAreaSolid(a[0], a[1], a[2], a[3], a[4], a[5]), + 4238390223: (a) => new IFC4X3$1.IfcFurnishingElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1268542332: (a) => new IFC4X3$1.IfcFurnitureType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 4095422895: (a) => new IFC4X3$1.IfcGeographicElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 987898635: (a) => new IFC4X3$1.IfcGeometricCurveSet(a[0]), + 1484403080: (a) => new IFC4X3$1.IfcIShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 178912537: (a) => new IFC4X3$1.IfcIndexedPolygonalFace(a[0]), + 2294589976: (a) => new IFC4X3$1.IfcIndexedPolygonalFaceWithVoids(a[0], a[1]), + 3465909080: (a) => new IFC4X3$1.IfcIndexedPolygonalTextureMap(a[0], a[1], a[2], a[3]), + 572779678: (a) => new IFC4X3$1.IfcLShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 428585644: (a) => new IFC4X3$1.IfcLaborResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1281925730: (a) => new IFC4X3$1.IfcLine(a[0], a[1]), + 1425443689: (a) => new IFC4X3$1.IfcManifoldSolidBrep(a[0]), + 3888040117: (a) => new IFC4X3$1.IfcObject(a[0], a[1], a[2], a[3], a[4]), + 590820931: (a) => new IFC4X3$1.IfcOffsetCurve(a[0]), + 3388369263: (a) => new IFC4X3$1.IfcOffsetCurve2D(a[0], a[1], a[2]), + 3505215534: (a) => new IFC4X3$1.IfcOffsetCurve3D(a[0], a[1], a[2], a[3]), + 2485787929: (a) => new IFC4X3$1.IfcOffsetCurveByDistances(a[0], a[1], a[2]), + 1682466193: (a) => new IFC4X3$1.IfcPcurve(a[0], a[1]), + 603570806: (a) => new IFC4X3$1.IfcPlanarBox(a[0], a[1], a[2]), + 220341763: (a) => new IFC4X3$1.IfcPlane(a[0]), + 3381221214: (a) => new IFC4X3$1.IfcPolynomialCurve(a[0], a[1], a[2], a[3]), + 759155922: (a) => new IFC4X3$1.IfcPreDefinedColour(a[0]), + 2559016684: (a) => new IFC4X3$1.IfcPreDefinedCurveFont(a[0]), + 3967405729: (a) => new IFC4X3$1.IfcPreDefinedPropertySet(a[0], a[1], a[2], a[3]), + 569719735: (a) => new IFC4X3$1.IfcProcedureType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2945172077: (a) => new IFC4X3$1.IfcProcess(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 4208778838: (a) => new IFC4X3$1.IfcProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 103090709: (a) => new IFC4X3$1.IfcProject(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 653396225: (a) => new IFC4X3$1.IfcProjectLibrary(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 871118103: (a) => new IFC4X3$1.IfcPropertyBoundedValue(a[0], a[1], a[2], a[3], a[4], a[5]), + 4166981789: (a) => new IFC4X3$1.IfcPropertyEnumeratedValue(a[0], a[1], a[2], a[3]), + 2752243245: (a) => new IFC4X3$1.IfcPropertyListValue(a[0], a[1], a[2], a[3]), + 941946838: (a) => new IFC4X3$1.IfcPropertyReferenceValue(a[0], a[1], a[2], a[3]), + 1451395588: (a) => new IFC4X3$1.IfcPropertySet(a[0], a[1], a[2], a[3], a[4]), + 492091185: (a) => new IFC4X3$1.IfcPropertySetTemplate(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3650150729: (a) => new IFC4X3$1.IfcPropertySingleValue(a[0], a[1], a[2], a[3]), + 110355661: (a) => new IFC4X3$1.IfcPropertyTableValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3521284610: (a) => new IFC4X3$1.IfcPropertyTemplate(a[0], a[1], a[2], a[3]), + 2770003689: (a) => new IFC4X3$1.IfcRectangleHollowProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2798486643: (a) => new IFC4X3$1.IfcRectangularPyramid(a[0], a[1], a[2], a[3]), + 3454111270: (a) => new IFC4X3$1.IfcRectangularTrimmedSurface(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3765753017: (a) => new IFC4X3$1.IfcReinforcementDefinitionProperties(a[0], a[1], a[2], a[3], a[4], a[5]), + 3939117080: (a) => new IFC4X3$1.IfcRelAssigns(a[0], a[1], a[2], a[3], a[4], a[5]), + 1683148259: (a) => new IFC4X3$1.IfcRelAssignsToActor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2495723537: (a) => new IFC4X3$1.IfcRelAssignsToControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1307041759: (a) => new IFC4X3$1.IfcRelAssignsToGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1027710054: (a) => new IFC4X3$1.IfcRelAssignsToGroupByFactor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 4278684876: (a) => new IFC4X3$1.IfcRelAssignsToProcess(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2857406711: (a) => new IFC4X3$1.IfcRelAssignsToProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 205026976: (a) => new IFC4X3$1.IfcRelAssignsToResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1865459582: (a) => new IFC4X3$1.IfcRelAssociates(a[0], a[1], a[2], a[3], a[4]), + 4095574036: (a) => new IFC4X3$1.IfcRelAssociatesApproval(a[0], a[1], a[2], a[3], a[4], a[5]), + 919958153: (a) => new IFC4X3$1.IfcRelAssociatesClassification(a[0], a[1], a[2], a[3], a[4], a[5]), + 2728634034: (a) => new IFC4X3$1.IfcRelAssociatesConstraint(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 982818633: (a) => new IFC4X3$1.IfcRelAssociatesDocument(a[0], a[1], a[2], a[3], a[4], a[5]), + 3840914261: (a) => new IFC4X3$1.IfcRelAssociatesLibrary(a[0], a[1], a[2], a[3], a[4], a[5]), + 2655215786: (a) => new IFC4X3$1.IfcRelAssociatesMaterial(a[0], a[1], a[2], a[3], a[4], a[5]), + 1033248425: (a) => new IFC4X3$1.IfcRelAssociatesProfileDef(a[0], a[1], a[2], a[3], a[4], a[5]), + 826625072: (a) => new IFC4X3$1.IfcRelConnects(a[0], a[1], a[2], a[3]), + 1204542856: (a) => new IFC4X3$1.IfcRelConnectsElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3945020480: (a) => new IFC4X3$1.IfcRelConnectsPathElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 4201705270: (a) => new IFC4X3$1.IfcRelConnectsPortToElement(a[0], a[1], a[2], a[3], a[4], a[5]), + 3190031847: (a) => new IFC4X3$1.IfcRelConnectsPorts(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2127690289: (a) => new IFC4X3$1.IfcRelConnectsStructuralActivity(a[0], a[1], a[2], a[3], a[4], a[5]), + 1638771189: (a) => new IFC4X3$1.IfcRelConnectsStructuralMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 504942748: (a) => new IFC4X3$1.IfcRelConnectsWithEccentricity(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 3678494232: (a) => new IFC4X3$1.IfcRelConnectsWithRealizingElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3242617779: (a) => new IFC4X3$1.IfcRelContainedInSpatialStructure(a[0], a[1], a[2], a[3], a[4], a[5]), + 886880790: (a) => new IFC4X3$1.IfcRelCoversBldgElements(a[0], a[1], a[2], a[3], a[4], a[5]), + 2802773753: (a) => new IFC4X3$1.IfcRelCoversSpaces(a[0], a[1], a[2], a[3], a[4], a[5]), + 2565941209: (a) => new IFC4X3$1.IfcRelDeclares(a[0], a[1], a[2], a[3], a[4], a[5]), + 2551354335: (a) => new IFC4X3$1.IfcRelDecomposes(a[0], a[1], a[2], a[3]), + 693640335: (a) => new IFC4X3$1.IfcRelDefines(a[0], a[1], a[2], a[3]), + 1462361463: (a) => new IFC4X3$1.IfcRelDefinesByObject(a[0], a[1], a[2], a[3], a[4], a[5]), + 4186316022: (a) => new IFC4X3$1.IfcRelDefinesByProperties(a[0], a[1], a[2], a[3], a[4], a[5]), + 307848117: (a) => new IFC4X3$1.IfcRelDefinesByTemplate(a[0], a[1], a[2], a[3], a[4], a[5]), + 781010003: (a) => new IFC4X3$1.IfcRelDefinesByType(a[0], a[1], a[2], a[3], a[4], a[5]), + 3940055652: (a) => new IFC4X3$1.IfcRelFillsElement(a[0], a[1], a[2], a[3], a[4], a[5]), + 279856033: (a) => new IFC4X3$1.IfcRelFlowControlElements(a[0], a[1], a[2], a[3], a[4], a[5]), + 427948657: (a) => new IFC4X3$1.IfcRelInterferesElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3268803585: (a) => new IFC4X3$1.IfcRelNests(a[0], a[1], a[2], a[3], a[4], a[5]), + 1441486842: (a) => new IFC4X3$1.IfcRelPositions(a[0], a[1], a[2], a[3], a[4], a[5]), + 750771296: (a) => new IFC4X3$1.IfcRelProjectsElement(a[0], a[1], a[2], a[3], a[4], a[5]), + 1245217292: (a) => new IFC4X3$1.IfcRelReferencedInSpatialStructure(a[0], a[1], a[2], a[3], a[4], a[5]), + 4122056220: (a) => new IFC4X3$1.IfcRelSequence(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 366585022: (a) => new IFC4X3$1.IfcRelServicesBuildings(a[0], a[1], a[2], a[3], a[4], a[5]), + 3451746338: (a) => new IFC4X3$1.IfcRelSpaceBoundary(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3523091289: (a) => new IFC4X3$1.IfcRelSpaceBoundary1stLevel(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1521410863: (a) => new IFC4X3$1.IfcRelSpaceBoundary2ndLevel(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1401173127: (a) => new IFC4X3$1.IfcRelVoidsElement(a[0], a[1], a[2], a[3], a[4], a[5]), + 816062949: (a) => new IFC4X3$1.IfcReparametrisedCompositeCurveSegment(a[0], a[1], a[2], a[3]), + 2914609552: (a) => new IFC4X3$1.IfcResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1856042241: (a) => new IFC4X3$1.IfcRevolvedAreaSolid(a[0], a[1], a[2], a[3]), + 3243963512: (a) => new IFC4X3$1.IfcRevolvedAreaSolidTapered(a[0], a[1], a[2], a[3], a[4]), + 4158566097: (a) => new IFC4X3$1.IfcRightCircularCone(a[0], a[1], a[2]), + 3626867408: (a) => new IFC4X3$1.IfcRightCircularCylinder(a[0], a[1], a[2]), + 1862484736: (a) => new IFC4X3$1.IfcSectionedSolid(a[0], a[1]), + 1290935644: (a) => new IFC4X3$1.IfcSectionedSolidHorizontal(a[0], a[1], a[2]), + 1356537516: (a) => new IFC4X3$1.IfcSectionedSurface(a[0], a[1], a[2]), + 3663146110: (a) => new IFC4X3$1.IfcSimplePropertyTemplate(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1412071761: (a) => new IFC4X3$1.IfcSpatialElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 710998568: (a) => new IFC4X3$1.IfcSpatialElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2706606064: (a) => new IFC4X3$1.IfcSpatialStructureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3893378262: (a) => new IFC4X3$1.IfcSpatialStructureElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 463610769: (a) => new IFC4X3$1.IfcSpatialZone(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2481509218: (a) => new IFC4X3$1.IfcSpatialZoneType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 451544542: (a) => new IFC4X3$1.IfcSphere(a[0], a[1]), + 4015995234: (a) => new IFC4X3$1.IfcSphericalSurface(a[0], a[1]), + 2735484536: (a) => new IFC4X3$1.IfcSpiral(a[0]), + 3544373492: (a) => new IFC4X3$1.IfcStructuralActivity(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3136571912: (a) => new IFC4X3$1.IfcStructuralItem(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 530289379: (a) => new IFC4X3$1.IfcStructuralMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3689010777: (a) => new IFC4X3$1.IfcStructuralReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3979015343: (a) => new IFC4X3$1.IfcStructuralSurfaceMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2218152070: (a) => new IFC4X3$1.IfcStructuralSurfaceMemberVarying(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 603775116: (a) => new IFC4X3$1.IfcStructuralSurfaceReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4095615324: (a) => new IFC4X3$1.IfcSubContractResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 699246055: (a) => new IFC4X3$1.IfcSurfaceCurve(a[0], a[1], a[2]), + 2028607225: (a) => new IFC4X3$1.IfcSurfaceCurveSweptAreaSolid(a[0], a[1], a[2], a[3], a[4], a[5]), + 2809605785: (a) => new IFC4X3$1.IfcSurfaceOfLinearExtrusion(a[0], a[1], a[2], a[3]), + 4124788165: (a) => new IFC4X3$1.IfcSurfaceOfRevolution(a[0], a[1], a[2]), + 1580310250: (a) => new IFC4X3$1.IfcSystemFurnitureElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3473067441: (a) => new IFC4X3$1.IfcTask(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 3206491090: (a) => new IFC4X3$1.IfcTaskType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 2387106220: (a) => new IFC4X3$1.IfcTessellatedFaceSet(a[0], a[1]), + 782932809: (a) => new IFC4X3$1.IfcThirdOrderPolynomialSpiral(a[0], a[1], a[2], a[3], a[4]), + 1935646853: (a) => new IFC4X3$1.IfcToroidalSurface(a[0], a[1], a[2]), + 3665877780: (a) => new IFC4X3$1.IfcTransportationDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2916149573: (a) => new IFC4X3$1.IfcTriangulatedFaceSet(a[0], a[1], a[2], a[3], a[4]), + 1229763772: (a) => new IFC4X3$1.IfcTriangulatedIrregularNetwork(a[0], a[1], a[2], a[3], a[4], a[5]), + 3651464721: (a) => new IFC4X3$1.IfcVehicleType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 336235671: (a) => new IFC4X3$1.IfcWindowLiningProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15]), + 512836454: (a) => new IFC4X3$1.IfcWindowPanelProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2296667514: (a) => new IFC4X3$1.IfcActor(a[0], a[1], a[2], a[3], a[4], a[5]), + 1635779807: (a) => new IFC4X3$1.IfcAdvancedBrep(a[0]), + 2603310189: (a) => new IFC4X3$1.IfcAdvancedBrepWithVoids(a[0], a[1]), + 1674181508: (a) => new IFC4X3$1.IfcAnnotation(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2887950389: (a) => new IFC4X3$1.IfcBSplineSurface(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 167062518: (a) => new IFC4X3$1.IfcBSplineSurfaceWithKnots(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1334484129: (a) => new IFC4X3$1.IfcBlock(a[0], a[1], a[2], a[3]), + 3649129432: (a) => new IFC4X3$1.IfcBooleanClippingResult(a[0], a[1], a[2]), + 1260505505: (_) => new IFC4X3$1.IfcBoundedCurve(), + 3124254112: (a) => new IFC4X3$1.IfcBuildingStorey(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1626504194: (a) => new IFC4X3$1.IfcBuiltElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2197970202: (a) => new IFC4X3$1.IfcChimneyType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2937912522: (a) => new IFC4X3$1.IfcCircleHollowProfileDef(a[0], a[1], a[2], a[3], a[4]), + 3893394355: (a) => new IFC4X3$1.IfcCivilElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3497074424: (a) => new IFC4X3$1.IfcClothoid(a[0], a[1]), + 300633059: (a) => new IFC4X3$1.IfcColumnType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3875453745: (a) => new IFC4X3$1.IfcComplexPropertyTemplate(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3732776249: (a) => new IFC4X3$1.IfcCompositeCurve(a[0], a[1]), + 15328376: (a) => new IFC4X3$1.IfcCompositeCurveOnSurface(a[0], a[1]), + 2510884976: (a) => new IFC4X3$1.IfcConic(a[0]), + 2185764099: (a) => new IFC4X3$1.IfcConstructionEquipmentResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 4105962743: (a) => new IFC4X3$1.IfcConstructionMaterialResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1525564444: (a) => new IFC4X3$1.IfcConstructionProductResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 2559216714: (a) => new IFC4X3$1.IfcConstructionResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3293443760: (a) => new IFC4X3$1.IfcControl(a[0], a[1], a[2], a[3], a[4], a[5]), + 2000195564: (a) => new IFC4X3$1.IfcCosineSpiral(a[0], a[1], a[2]), + 3895139033: (a) => new IFC4X3$1.IfcCostItem(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1419761937: (a) => new IFC4X3$1.IfcCostSchedule(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4189326743: (a) => new IFC4X3$1.IfcCourseType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1916426348: (a) => new IFC4X3$1.IfcCoveringType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3295246426: (a) => new IFC4X3$1.IfcCrewResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1457835157: (a) => new IFC4X3$1.IfcCurtainWallType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1213902940: (a) => new IFC4X3$1.IfcCylindricalSurface(a[0], a[1]), + 1306400036: (a) => new IFC4X3$1.IfcDeepFoundationType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4234616927: (a) => new IFC4X3$1.IfcDirectrixDerivedReferenceSweptAreaSolid(a[0], a[1], a[2], a[3], a[4], a[5]), + 3256556792: (a) => new IFC4X3$1.IfcDistributionElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3849074793: (a) => new IFC4X3$1.IfcDistributionFlowElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2963535650: (a) => new IFC4X3$1.IfcDoorLiningProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]), + 1714330368: (a) => new IFC4X3$1.IfcDoorPanelProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2323601079: (a) => new IFC4X3$1.IfcDoorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 445594917: (a) => new IFC4X3$1.IfcDraughtingPreDefinedColour(a[0]), + 4006246654: (a) => new IFC4X3$1.IfcDraughtingPreDefinedCurveFont(a[0]), + 1758889154: (a) => new IFC4X3$1.IfcElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 4123344466: (a) => new IFC4X3$1.IfcElementAssembly(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2397081782: (a) => new IFC4X3$1.IfcElementAssemblyType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1623761950: (a) => new IFC4X3$1.IfcElementComponent(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2590856083: (a) => new IFC4X3$1.IfcElementComponentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1704287377: (a) => new IFC4X3$1.IfcEllipse(a[0], a[1], a[2]), + 2107101300: (a) => new IFC4X3$1.IfcEnergyConversionDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 132023988: (a) => new IFC4X3$1.IfcEngineType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3174744832: (a) => new IFC4X3$1.IfcEvaporativeCoolerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3390157468: (a) => new IFC4X3$1.IfcEvaporatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4148101412: (a) => new IFC4X3$1.IfcEvent(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 2853485674: (a) => new IFC4X3$1.IfcExternalSpatialStructureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 807026263: (a) => new IFC4X3$1.IfcFacetedBrep(a[0]), + 3737207727: (a) => new IFC4X3$1.IfcFacetedBrepWithVoids(a[0], a[1]), + 24185140: (a) => new IFC4X3$1.IfcFacility(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1310830890: (a) => new IFC4X3$1.IfcFacilityPart(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4228831410: (a) => new IFC4X3$1.IfcFacilityPartCommon(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 647756555: (a) => new IFC4X3$1.IfcFastener(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2489546625: (a) => new IFC4X3$1.IfcFastenerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2827207264: (a) => new IFC4X3$1.IfcFeatureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2143335405: (a) => new IFC4X3$1.IfcFeatureElementAddition(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1287392070: (a) => new IFC4X3$1.IfcFeatureElementSubtraction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3907093117: (a) => new IFC4X3$1.IfcFlowControllerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3198132628: (a) => new IFC4X3$1.IfcFlowFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3815607619: (a) => new IFC4X3$1.IfcFlowMeterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1482959167: (a) => new IFC4X3$1.IfcFlowMovingDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1834744321: (a) => new IFC4X3$1.IfcFlowSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1339347760: (a) => new IFC4X3$1.IfcFlowStorageDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2297155007: (a) => new IFC4X3$1.IfcFlowTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3009222698: (a) => new IFC4X3$1.IfcFlowTreatmentDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1893162501: (a) => new IFC4X3$1.IfcFootingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 263784265: (a) => new IFC4X3$1.IfcFurnishingElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1509553395: (a) => new IFC4X3$1.IfcFurniture(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3493046030: (a) => new IFC4X3$1.IfcGeographicElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4230923436: (a) => new IFC4X3$1.IfcGeotechnicalElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1594536857: (a) => new IFC4X3$1.IfcGeotechnicalStratum(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2898700619: (a) => new IFC4X3$1.IfcGradientCurve(a[0], a[1], a[2], a[3]), + 2706460486: (a) => new IFC4X3$1.IfcGroup(a[0], a[1], a[2], a[3], a[4]), + 1251058090: (a) => new IFC4X3$1.IfcHeatExchangerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1806887404: (a) => new IFC4X3$1.IfcHumidifierType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2568555532: (a) => new IFC4X3$1.IfcImpactProtectionDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3948183225: (a) => new IFC4X3$1.IfcImpactProtectionDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2571569899: (a) => new IFC4X3$1.IfcIndexedPolyCurve(a[0], a[1], a[2]), + 3946677679: (a) => new IFC4X3$1.IfcInterceptorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3113134337: (a) => new IFC4X3$1.IfcIntersectionCurve(a[0], a[1], a[2]), + 2391368822: (a) => new IFC4X3$1.IfcInventory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 4288270099: (a) => new IFC4X3$1.IfcJunctionBoxType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 679976338: (a) => new IFC4X3$1.IfcKerbType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3827777499: (a) => new IFC4X3$1.IfcLaborResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1051575348: (a) => new IFC4X3$1.IfcLampType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1161773419: (a) => new IFC4X3$1.IfcLightFixtureType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2176059722: (a) => new IFC4X3$1.IfcLinearElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1770583370: (a) => new IFC4X3$1.IfcLiquidTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 525669439: (a) => new IFC4X3$1.IfcMarineFacility(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 976884017: (a) => new IFC4X3$1.IfcMarinePart(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 377706215: (a) => new IFC4X3$1.IfcMechanicalFastener(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 2108223431: (a) => new IFC4X3$1.IfcMechanicalFastenerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1114901282: (a) => new IFC4X3$1.IfcMedicalDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3181161470: (a) => new IFC4X3$1.IfcMemberType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1950438474: (a) => new IFC4X3$1.IfcMobileTelecommunicationsApplianceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 710110818: (a) => new IFC4X3$1.IfcMooringDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 977012517: (a) => new IFC4X3$1.IfcMotorConnectionType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 506776471: (a) => new IFC4X3$1.IfcNavigationElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4143007308: (a) => new IFC4X3$1.IfcOccupant(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3588315303: (a) => new IFC4X3$1.IfcOpeningElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2837617999: (a) => new IFC4X3$1.IfcOutletType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 514975943: (a) => new IFC4X3$1.IfcPavementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2382730787: (a) => new IFC4X3$1.IfcPerformanceHistory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3566463478: (a) => new IFC4X3$1.IfcPermeableCoveringProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3327091369: (a) => new IFC4X3$1.IfcPermit(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1158309216: (a) => new IFC4X3$1.IfcPileType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 804291784: (a) => new IFC4X3$1.IfcPipeFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4231323485: (a) => new IFC4X3$1.IfcPipeSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4017108033: (a) => new IFC4X3$1.IfcPlateType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2839578677: (a) => new IFC4X3$1.IfcPolygonalFaceSet(a[0], a[1], a[2], a[3]), + 3724593414: (a) => new IFC4X3$1.IfcPolyline(a[0]), + 3740093272: (a) => new IFC4X3$1.IfcPort(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1946335990: (a) => new IFC4X3$1.IfcPositioningElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2744685151: (a) => new IFC4X3$1.IfcProcedure(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2904328755: (a) => new IFC4X3$1.IfcProjectOrder(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3651124850: (a) => new IFC4X3$1.IfcProjectionElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1842657554: (a) => new IFC4X3$1.IfcProtectiveDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2250791053: (a) => new IFC4X3$1.IfcPumpType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1763565496: (a) => new IFC4X3$1.IfcRailType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2893384427: (a) => new IFC4X3$1.IfcRailingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3992365140: (a) => new IFC4X3$1.IfcRailway(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1891881377: (a) => new IFC4X3$1.IfcRailwayPart(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 2324767716: (a) => new IFC4X3$1.IfcRampFlightType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1469900589: (a) => new IFC4X3$1.IfcRampType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 683857671: (a) => new IFC4X3$1.IfcRationalBSplineSurfaceWithKnots(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 4021432810: (a) => new IFC4X3$1.IfcReferent(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3027567501: (a) => new IFC4X3$1.IfcReinforcingElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 964333572: (a) => new IFC4X3$1.IfcReinforcingElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2320036040: (a) => new IFC4X3$1.IfcReinforcingMesh(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17]), + 2310774935: (a) => new IFC4X3$1.IfcReinforcingMeshType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19]), + 3818125796: (a) => new IFC4X3$1.IfcRelAdheresToElement(a[0], a[1], a[2], a[3], a[4], a[5]), + 160246688: (a) => new IFC4X3$1.IfcRelAggregates(a[0], a[1], a[2], a[3], a[4], a[5]), + 146592293: (a) => new IFC4X3$1.IfcRoad(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 550521510: (a) => new IFC4X3$1.IfcRoadPart(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 2781568857: (a) => new IFC4X3$1.IfcRoofType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1768891740: (a) => new IFC4X3$1.IfcSanitaryTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2157484638: (a) => new IFC4X3$1.IfcSeamCurve(a[0], a[1], a[2]), + 3649235739: (a) => new IFC4X3$1.IfcSecondOrderPolynomialSpiral(a[0], a[1], a[2], a[3]), + 544395925: (a) => new IFC4X3$1.IfcSegmentedReferenceCurve(a[0], a[1], a[2], a[3]), + 1027922057: (a) => new IFC4X3$1.IfcSeventhOrderPolynomialSpiral(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4074543187: (a) => new IFC4X3$1.IfcShadingDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 33720170: (a) => new IFC4X3$1.IfcSign(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3599934289: (a) => new IFC4X3$1.IfcSignType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1894708472: (a) => new IFC4X3$1.IfcSignalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 42703149: (a) => new IFC4X3$1.IfcSineSpiral(a[0], a[1], a[2], a[3]), + 4097777520: (a) => new IFC4X3$1.IfcSite(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]), + 2533589738: (a) => new IFC4X3$1.IfcSlabType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1072016465: (a) => new IFC4X3$1.IfcSolarDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3856911033: (a) => new IFC4X3$1.IfcSpace(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1305183839: (a) => new IFC4X3$1.IfcSpaceHeaterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3812236995: (a) => new IFC4X3$1.IfcSpaceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 3112655638: (a) => new IFC4X3$1.IfcStackTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1039846685: (a) => new IFC4X3$1.IfcStairFlightType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 338393293: (a) => new IFC4X3$1.IfcStairType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 682877961: (a) => new IFC4X3$1.IfcStructuralAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1179482911: (a) => new IFC4X3$1.IfcStructuralConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1004757350: (a) => new IFC4X3$1.IfcStructuralCurveAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 4243806635: (a) => new IFC4X3$1.IfcStructuralCurveConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 214636428: (a) => new IFC4X3$1.IfcStructuralCurveMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2445595289: (a) => new IFC4X3$1.IfcStructuralCurveMemberVarying(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2757150158: (a) => new IFC4X3$1.IfcStructuralCurveReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1807405624: (a) => new IFC4X3$1.IfcStructuralLinearAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1252848954: (a) => new IFC4X3$1.IfcStructuralLoadGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2082059205: (a) => new IFC4X3$1.IfcStructuralPointAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 734778138: (a) => new IFC4X3$1.IfcStructuralPointConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1235345126: (a) => new IFC4X3$1.IfcStructuralPointReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2986769608: (a) => new IFC4X3$1.IfcStructuralResultGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3657597509: (a) => new IFC4X3$1.IfcStructuralSurfaceAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1975003073: (a) => new IFC4X3$1.IfcStructuralSurfaceConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 148013059: (a) => new IFC4X3$1.IfcSubContractResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 3101698114: (a) => new IFC4X3$1.IfcSurfaceFeature(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2315554128: (a) => new IFC4X3$1.IfcSwitchingDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2254336722: (a) => new IFC4X3$1.IfcSystem(a[0], a[1], a[2], a[3], a[4]), + 413509423: (a) => new IFC4X3$1.IfcSystemFurnitureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 5716631: (a) => new IFC4X3$1.IfcTankType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3824725483: (a) => new IFC4X3$1.IfcTendon(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]), + 2347447852: (a) => new IFC4X3$1.IfcTendonAnchor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3081323446: (a) => new IFC4X3$1.IfcTendonAnchorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3663046924: (a) => new IFC4X3$1.IfcTendonConduit(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2281632017: (a) => new IFC4X3$1.IfcTendonConduitType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2415094496: (a) => new IFC4X3$1.IfcTendonType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 618700268: (a) => new IFC4X3$1.IfcTrackElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1692211062: (a) => new IFC4X3$1.IfcTransformerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2097647324: (a) => new IFC4X3$1.IfcTransportElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1953115116: (a) => new IFC4X3$1.IfcTransportationDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3593883385: (a) => new IFC4X3$1.IfcTrimmedCurve(a[0], a[1], a[2], a[3], a[4]), + 1600972822: (a) => new IFC4X3$1.IfcTubeBundleType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1911125066: (a) => new IFC4X3$1.IfcUnitaryEquipmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 728799441: (a) => new IFC4X3$1.IfcValveType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 840318589: (a) => new IFC4X3$1.IfcVehicle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1530820697: (a) => new IFC4X3$1.IfcVibrationDamper(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3956297820: (a) => new IFC4X3$1.IfcVibrationDamperType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2391383451: (a) => new IFC4X3$1.IfcVibrationIsolator(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3313531582: (a) => new IFC4X3$1.IfcVibrationIsolatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2769231204: (a) => new IFC4X3$1.IfcVirtualElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 926996030: (a) => new IFC4X3$1.IfcVoidingFeature(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1898987631: (a) => new IFC4X3$1.IfcWallType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1133259667: (a) => new IFC4X3$1.IfcWasteTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4009809668: (a) => new IFC4X3$1.IfcWindowType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 4088093105: (a) => new IFC4X3$1.IfcWorkCalendar(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1028945134: (a) => new IFC4X3$1.IfcWorkControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 4218914973: (a) => new IFC4X3$1.IfcWorkPlan(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]), + 3342526732: (a) => new IFC4X3$1.IfcWorkSchedule(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]), + 1033361043: (a) => new IFC4X3$1.IfcZone(a[0], a[1], a[2], a[3], a[4], a[5]), + 3821786052: (a) => new IFC4X3$1.IfcActionRequest(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1411407467: (a) => new IFC4X3$1.IfcAirTerminalBoxType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3352864051: (a) => new IFC4X3$1.IfcAirTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1871374353: (a) => new IFC4X3$1.IfcAirToAirHeatRecoveryType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4266260250: (a) => new IFC4X3$1.IfcAlignmentCant(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1545765605: (a) => new IFC4X3$1.IfcAlignmentHorizontal(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 317615605: (a) => new IFC4X3$1.IfcAlignmentSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1662888072: (a) => new IFC4X3$1.IfcAlignmentVertical(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 3460190687: (a) => new IFC4X3$1.IfcAsset(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]), + 1532957894: (a) => new IFC4X3$1.IfcAudioVisualApplianceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1967976161: (a) => new IFC4X3$1.IfcBSplineCurve(a[0], a[1], a[2], a[3], a[4]), + 2461110595: (a) => new IFC4X3$1.IfcBSplineCurveWithKnots(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 819618141: (a) => new IFC4X3$1.IfcBeamType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3649138523: (a) => new IFC4X3$1.IfcBearingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 231477066: (a) => new IFC4X3$1.IfcBoilerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1136057603: (a) => new IFC4X3$1.IfcBoundaryCurve(a[0], a[1]), + 644574406: (a) => new IFC4X3$1.IfcBridge(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 963979645: (a) => new IFC4X3$1.IfcBridgePart(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 4031249490: (a) => new IFC4X3$1.IfcBuilding(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 2979338954: (a) => new IFC4X3$1.IfcBuildingElementPart(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 39481116: (a) => new IFC4X3$1.IfcBuildingElementPartType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1909888760: (a) => new IFC4X3$1.IfcBuildingElementProxyType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1177604601: (a) => new IFC4X3$1.IfcBuildingSystem(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1876633798: (a) => new IFC4X3$1.IfcBuiltElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3862327254: (a) => new IFC4X3$1.IfcBuiltSystem(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 2188180465: (a) => new IFC4X3$1.IfcBurnerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 395041908: (a) => new IFC4X3$1.IfcCableCarrierFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3293546465: (a) => new IFC4X3$1.IfcCableCarrierSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2674252688: (a) => new IFC4X3$1.IfcCableFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1285652485: (a) => new IFC4X3$1.IfcCableSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3203706013: (a) => new IFC4X3$1.IfcCaissonFoundationType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2951183804: (a) => new IFC4X3$1.IfcChillerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3296154744: (a) => new IFC4X3$1.IfcChimney(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2611217952: (a) => new IFC4X3$1.IfcCircle(a[0], a[1]), + 1677625105: (a) => new IFC4X3$1.IfcCivilElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2301859152: (a) => new IFC4X3$1.IfcCoilType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 843113511: (a) => new IFC4X3$1.IfcColumn(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 400855858: (a) => new IFC4X3$1.IfcCommunicationsApplianceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3850581409: (a) => new IFC4X3$1.IfcCompressorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2816379211: (a) => new IFC4X3$1.IfcCondenserType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3898045240: (a) => new IFC4X3$1.IfcConstructionEquipmentResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1060000209: (a) => new IFC4X3$1.IfcConstructionMaterialResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 488727124: (a) => new IFC4X3$1.IfcConstructionProductResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 2940368186: (a) => new IFC4X3$1.IfcConveyorSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 335055490: (a) => new IFC4X3$1.IfcCooledBeamType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2954562838: (a) => new IFC4X3$1.IfcCoolingTowerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1502416096: (a) => new IFC4X3$1.IfcCourse(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1973544240: (a) => new IFC4X3$1.IfcCovering(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3495092785: (a) => new IFC4X3$1.IfcCurtainWall(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3961806047: (a) => new IFC4X3$1.IfcDamperType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3426335179: (a) => new IFC4X3$1.IfcDeepFoundation(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1335981549: (a) => new IFC4X3$1.IfcDiscreteAccessory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2635815018: (a) => new IFC4X3$1.IfcDiscreteAccessoryType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 479945903: (a) => new IFC4X3$1.IfcDistributionBoardType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1599208980: (a) => new IFC4X3$1.IfcDistributionChamberElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2063403501: (a) => new IFC4X3$1.IfcDistributionControlElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1945004755: (a) => new IFC4X3$1.IfcDistributionElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3040386961: (a) => new IFC4X3$1.IfcDistributionFlowElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3041715199: (a) => new IFC4X3$1.IfcDistributionPort(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3205830791: (a) => new IFC4X3$1.IfcDistributionSystem(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 395920057: (a) => new IFC4X3$1.IfcDoor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 869906466: (a) => new IFC4X3$1.IfcDuctFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3760055223: (a) => new IFC4X3$1.IfcDuctSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2030761528: (a) => new IFC4X3$1.IfcDuctSilencerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3071239417: (a) => new IFC4X3$1.IfcEarthworksCut(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1077100507: (a) => new IFC4X3$1.IfcEarthworksElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3376911765: (a) => new IFC4X3$1.IfcEarthworksFill(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 663422040: (a) => new IFC4X3$1.IfcElectricApplianceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2417008758: (a) => new IFC4X3$1.IfcElectricDistributionBoardType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3277789161: (a) => new IFC4X3$1.IfcElectricFlowStorageDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2142170206: (a) => new IFC4X3$1.IfcElectricFlowTreatmentDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1534661035: (a) => new IFC4X3$1.IfcElectricGeneratorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1217240411: (a) => new IFC4X3$1.IfcElectricMotorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 712377611: (a) => new IFC4X3$1.IfcElectricTimeControlType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1658829314: (a) => new IFC4X3$1.IfcEnergyConversionDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2814081492: (a) => new IFC4X3$1.IfcEngine(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3747195512: (a) => new IFC4X3$1.IfcEvaporativeCooler(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 484807127: (a) => new IFC4X3$1.IfcEvaporator(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1209101575: (a) => new IFC4X3$1.IfcExternalSpatialElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 346874300: (a) => new IFC4X3$1.IfcFanType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1810631287: (a) => new IFC4X3$1.IfcFilterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4222183408: (a) => new IFC4X3$1.IfcFireSuppressionTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2058353004: (a) => new IFC4X3$1.IfcFlowController(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 4278956645: (a) => new IFC4X3$1.IfcFlowFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 4037862832: (a) => new IFC4X3$1.IfcFlowInstrumentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 2188021234: (a) => new IFC4X3$1.IfcFlowMeter(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3132237377: (a) => new IFC4X3$1.IfcFlowMovingDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 987401354: (a) => new IFC4X3$1.IfcFlowSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 707683696: (a) => new IFC4X3$1.IfcFlowStorageDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2223149337: (a) => new IFC4X3$1.IfcFlowTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3508470533: (a) => new IFC4X3$1.IfcFlowTreatmentDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 900683007: (a) => new IFC4X3$1.IfcFooting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2713699986: (a) => new IFC4X3$1.IfcGeotechnicalAssembly(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 3009204131: (a) => new IFC4X3$1.IfcGrid(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 3319311131: (a) => new IFC4X3$1.IfcHeatExchanger(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2068733104: (a) => new IFC4X3$1.IfcHumidifier(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4175244083: (a) => new IFC4X3$1.IfcInterceptor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2176052936: (a) => new IFC4X3$1.IfcJunctionBox(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2696325953: (a) => new IFC4X3$1.IfcKerb(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 76236018: (a) => new IFC4X3$1.IfcLamp(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 629592764: (a) => new IFC4X3$1.IfcLightFixture(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1154579445: (a) => new IFC4X3$1.IfcLinearPositioningElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1638804497: (a) => new IFC4X3$1.IfcLiquidTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1437502449: (a) => new IFC4X3$1.IfcMedicalDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1073191201: (a) => new IFC4X3$1.IfcMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2078563270: (a) => new IFC4X3$1.IfcMobileTelecommunicationsAppliance(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 234836483: (a) => new IFC4X3$1.IfcMooringDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2474470126: (a) => new IFC4X3$1.IfcMotorConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2182337498: (a) => new IFC4X3$1.IfcNavigationElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 144952367: (a) => new IFC4X3$1.IfcOuterBoundaryCurve(a[0], a[1]), + 3694346114: (a) => new IFC4X3$1.IfcOutlet(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1383356374: (a) => new IFC4X3$1.IfcPavement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1687234759: (a) => new IFC4X3$1.IfcPile(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 310824031: (a) => new IFC4X3$1.IfcPipeFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3612865200: (a) => new IFC4X3$1.IfcPipeSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3171933400: (a) => new IFC4X3$1.IfcPlate(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 738039164: (a) => new IFC4X3$1.IfcProtectiveDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 655969474: (a) => new IFC4X3$1.IfcProtectiveDeviceTrippingUnitType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 90941305: (a) => new IFC4X3$1.IfcPump(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3290496277: (a) => new IFC4X3$1.IfcRail(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2262370178: (a) => new IFC4X3$1.IfcRailing(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3024970846: (a) => new IFC4X3$1.IfcRamp(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3283111854: (a) => new IFC4X3$1.IfcRampFlight(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1232101972: (a) => new IFC4X3$1.IfcRationalBSplineCurveWithKnots(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3798194928: (a) => new IFC4X3$1.IfcReinforcedSoil(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 979691226: (a) => new IFC4X3$1.IfcReinforcingBar(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]), + 2572171363: (a) => new IFC4X3$1.IfcReinforcingBarType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15]), + 2016517767: (a) => new IFC4X3$1.IfcRoof(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3053780830: (a) => new IFC4X3$1.IfcSanitaryTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1783015770: (a) => new IFC4X3$1.IfcSensorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1329646415: (a) => new IFC4X3$1.IfcShadingDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 991950508: (a) => new IFC4X3$1.IfcSignal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1529196076: (a) => new IFC4X3$1.IfcSlab(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3420628829: (a) => new IFC4X3$1.IfcSolarDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1999602285: (a) => new IFC4X3$1.IfcSpaceHeater(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1404847402: (a) => new IFC4X3$1.IfcStackTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 331165859: (a) => new IFC4X3$1.IfcStair(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4252922144: (a) => new IFC4X3$1.IfcStairFlight(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 2515109513: (a) => new IFC4X3$1.IfcStructuralAnalysisModel(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 385403989: (a) => new IFC4X3$1.IfcStructuralLoadCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]), + 1621171031: (a) => new IFC4X3$1.IfcStructuralPlanarAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]), + 1162798199: (a) => new IFC4X3$1.IfcSwitchingDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 812556717: (a) => new IFC4X3$1.IfcTank(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3425753595: (a) => new IFC4X3$1.IfcTrackElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3825984169: (a) => new IFC4X3$1.IfcTransformer(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1620046519: (a) => new IFC4X3$1.IfcTransportElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3026737570: (a) => new IFC4X3$1.IfcTubeBundle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3179687236: (a) => new IFC4X3$1.IfcUnitaryControlElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 4292641817: (a) => new IFC4X3$1.IfcUnitaryEquipment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4207607924: (a) => new IFC4X3$1.IfcValve(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2391406946: (a) => new IFC4X3$1.IfcWall(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3512223829: (a) => new IFC4X3$1.IfcWallStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4237592921: (a) => new IFC4X3$1.IfcWasteTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3304561284: (a) => new IFC4X3$1.IfcWindow(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]), + 2874132201: (a) => new IFC4X3$1.IfcActuatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 1634111441: (a) => new IFC4X3$1.IfcAirTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 177149247: (a) => new IFC4X3$1.IfcAirTerminalBox(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2056796094: (a) => new IFC4X3$1.IfcAirToAirHeatRecovery(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3001207471: (a) => new IFC4X3$1.IfcAlarmType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 325726236: (a) => new IFC4X3$1.IfcAlignment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 277319702: (a) => new IFC4X3$1.IfcAudioVisualAppliance(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 753842376: (a) => new IFC4X3$1.IfcBeam(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4196446775: (a) => new IFC4X3$1.IfcBearing(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 32344328: (a) => new IFC4X3$1.IfcBoiler(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3314249567: (a) => new IFC4X3$1.IfcBorehole(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1095909175: (a) => new IFC4X3$1.IfcBuildingElementProxy(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2938176219: (a) => new IFC4X3$1.IfcBurner(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 635142910: (a) => new IFC4X3$1.IfcCableCarrierFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3758799889: (a) => new IFC4X3$1.IfcCableCarrierSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1051757585: (a) => new IFC4X3$1.IfcCableFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4217484030: (a) => new IFC4X3$1.IfcCableSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3999819293: (a) => new IFC4X3$1.IfcCaissonFoundation(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3902619387: (a) => new IFC4X3$1.IfcChiller(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 639361253: (a) => new IFC4X3$1.IfcCoil(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3221913625: (a) => new IFC4X3$1.IfcCommunicationsAppliance(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3571504051: (a) => new IFC4X3$1.IfcCompressor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2272882330: (a) => new IFC4X3$1.IfcCondenser(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 578613899: (a) => new IFC4X3$1.IfcControllerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]), + 3460952963: (a) => new IFC4X3$1.IfcConveyorSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4136498852: (a) => new IFC4X3$1.IfcCooledBeam(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3640358203: (a) => new IFC4X3$1.IfcCoolingTower(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4074379575: (a) => new IFC4X3$1.IfcDamper(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3693000487: (a) => new IFC4X3$1.IfcDistributionBoard(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1052013943: (a) => new IFC4X3$1.IfcDistributionChamberElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 562808652: (a) => new IFC4X3$1.IfcDistributionCircuit(a[0], a[1], a[2], a[3], a[4], a[5], a[6]), + 1062813311: (a) => new IFC4X3$1.IfcDistributionControlElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 342316401: (a) => new IFC4X3$1.IfcDuctFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3518393246: (a) => new IFC4X3$1.IfcDuctSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1360408905: (a) => new IFC4X3$1.IfcDuctSilencer(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1904799276: (a) => new IFC4X3$1.IfcElectricAppliance(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 862014818: (a) => new IFC4X3$1.IfcElectricDistributionBoard(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3310460725: (a) => new IFC4X3$1.IfcElectricFlowStorageDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 24726584: (a) => new IFC4X3$1.IfcElectricFlowTreatmentDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 264262732: (a) => new IFC4X3$1.IfcElectricGenerator(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 402227799: (a) => new IFC4X3$1.IfcElectricMotor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1003880860: (a) => new IFC4X3$1.IfcElectricTimeControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3415622556: (a) => new IFC4X3$1.IfcFan(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 819412036: (a) => new IFC4X3$1.IfcFilter(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 1426591983: (a) => new IFC4X3$1.IfcFireSuppressionTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 182646315: (a) => new IFC4X3$1.IfcFlowInstrument(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 2680139844: (a) => new IFC4X3$1.IfcGeomodel(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 1971632696: (a) => new IFC4X3$1.IfcGeoslice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]), + 2295281155: (a) => new IFC4X3$1.IfcProtectiveDeviceTrippingUnit(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4086658281: (a) => new IFC4X3$1.IfcSensor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 630975310: (a) => new IFC4X3$1.IfcUnitaryControlElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 4288193352: (a) => new IFC4X3$1.IfcActuator(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 3087945054: (a) => new IFC4X3$1.IfcAlarm(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]), + 25142252: (a) => new IFC4X3$1.IfcController(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]) +}; +ToRawLineData[5] = { + 3630933823: (i) => [i.Role, i.UserDefinedRole, i.Description], + 618182010: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose], + 2879124712: (i) => [i.StartTag, i.EndTag], + 3633395639: (i) => [i.StartTag, i.EndTag, i.StartDistAlong, i.HorizontalLength, i.StartHeight, i.StartGradient, i.EndGradient, i.RadiusOfCurvature, i.PredefinedType], + 639542469: (i) => [i.ApplicationDeveloper, i.Version, i.ApplicationFullName, i.ApplicationIdentifier], + 411424972: (i) => [i.Name, i.Description, i.AppliedValue, i.UnitBasis, i.ApplicableDate, i.FixedUntilDate, i.Category, i.Condition, i.ArithmeticOperator, i.Components], + 130549933: (i) => [i.Identifier, i.Name, i.Description, i.TimeOfApproval, i.Status, i.Level, i.Qualifier, i.RequestingApproval, i.GivingApproval], + 4037036970: (i) => [i.Name], + 1560379544: (i) => [i.Name, !i.TranslationalStiffnessByLengthX ? null : Labelise(i.TranslationalStiffnessByLengthX), !i.TranslationalStiffnessByLengthY ? null : Labelise(i.TranslationalStiffnessByLengthY), !i.TranslationalStiffnessByLengthZ ? null : Labelise(i.TranslationalStiffnessByLengthZ), !i.RotationalStiffnessByLengthX ? null : Labelise(i.RotationalStiffnessByLengthX), !i.RotationalStiffnessByLengthY ? null : Labelise(i.RotationalStiffnessByLengthY), !i.RotationalStiffnessByLengthZ ? null : Labelise(i.RotationalStiffnessByLengthZ)], + 3367102660: (i) => [i.Name, !i.TranslationalStiffnessByAreaX ? null : Labelise(i.TranslationalStiffnessByAreaX), !i.TranslationalStiffnessByAreaY ? null : Labelise(i.TranslationalStiffnessByAreaY), !i.TranslationalStiffnessByAreaZ ? null : Labelise(i.TranslationalStiffnessByAreaZ)], + 1387855156: (i) => [i.Name, !i.TranslationalStiffnessX ? null : Labelise(i.TranslationalStiffnessX), !i.TranslationalStiffnessY ? null : Labelise(i.TranslationalStiffnessY), !i.TranslationalStiffnessZ ? null : Labelise(i.TranslationalStiffnessZ), !i.RotationalStiffnessX ? null : Labelise(i.RotationalStiffnessX), !i.RotationalStiffnessY ? null : Labelise(i.RotationalStiffnessY), !i.RotationalStiffnessZ ? null : Labelise(i.RotationalStiffnessZ)], + 2069777674: (i) => [i.Name, !i.TranslationalStiffnessX ? null : Labelise(i.TranslationalStiffnessX), !i.TranslationalStiffnessY ? null : Labelise(i.TranslationalStiffnessY), !i.TranslationalStiffnessZ ? null : Labelise(i.TranslationalStiffnessZ), !i.RotationalStiffnessX ? null : Labelise(i.RotationalStiffnessX), !i.RotationalStiffnessY ? null : Labelise(i.RotationalStiffnessY), !i.RotationalStiffnessZ ? null : Labelise(i.RotationalStiffnessZ), !i.WarpingStiffness ? null : Labelise(i.WarpingStiffness)], + 2859738748: (_) => [], + 2614616156: (i) => [i.PointOnRelatingElement, i.PointOnRelatedElement], + 2732653382: (i) => [i.SurfaceOnRelatingElement, i.SurfaceOnRelatedElement], + 775493141: (i) => [i.VolumeOnRelatingElement, i.VolumeOnRelatedElement], + 1959218052: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, i.CreatingActor, i.CreationTime, i.UserDefinedGrade], + 1785450214: (i) => [i.SourceCRS, i.TargetCRS], + 1466758467: (i) => [i.Name, i.Description, i.GeodeticDatum, i.VerticalDatum], + 602808272: (i) => [i.Name, i.Description, i.AppliedValue, i.UnitBasis, i.ApplicableDate, i.FixedUntilDate, i.Category, i.Condition, i.ArithmeticOperator, i.Components], + 1765591967: (i) => [i.Elements, i.UnitType, i.UserDefinedType, i.Name], + 1045800335: (i) => [i.Unit, i.Exponent], + 2949456006: (i) => [i.LengthExponent, i.MassExponent, i.TimeExponent, i.ElectricCurrentExponent, i.ThermodynamicTemperatureExponent, i.AmountOfSubstanceExponent, i.LuminousIntensityExponent], + 4294318154: (_) => [], + 3200245327: (i) => [i.Location, i.Identification, i.Name], + 2242383968: (i) => [i.Location, i.Identification, i.Name], + 1040185647: (i) => [i.Location, i.Identification, i.Name], + 3548104201: (i) => [i.Location, i.Identification, i.Name], + 852622518: (i) => { + var _a; + return [i.AxisTag, i.AxisCurve, (_a = i.SameSense) == null ? void 0 : _a.toString()]; + }, + 3020489413: (i) => [i.TimeStamp, i.ListValues.map((p) => Labelise(p))], + 2655187982: (i) => [i.Name, i.Version, i.Publisher, i.VersionDate, i.Location, i.Description], + 3452421091: (i) => [i.Location, i.Identification, i.Name, i.Description, i.Language, i.ReferencedLibrary], + 4162380809: (i) => [i.MainPlaneAngle, i.SecondaryPlaneAngle, i.LuminousIntensity], + 1566485204: (i) => [i.LightDistributionCurve, i.DistributionData], + 3057273783: (i) => [i.SourceCRS, i.TargetCRS, i.Eastings, i.Northings, i.OrthogonalHeight, i.XAxisAbscissa, i.XAxisOrdinate, i.Scale, i.ScaleY, i.ScaleZ], + 1847130766: (i) => [i.MaterialClassifications, i.ClassifiedMaterial], + 760658860: (_) => [], + 248100487: (i) => { + var _a; + return [i.Material, i.LayerThickness, (_a = i.IsVentilated) == null ? void 0 : _a.toString(), i.Name, i.Description, i.Category, i.Priority]; + }, + 3303938423: (i) => [i.MaterialLayers, i.LayerSetName, i.Description], + 1847252529: (i) => { + var _a; + return [i.Material, i.LayerThickness, (_a = i.IsVentilated) == null ? void 0 : _a.toString(), i.Name, i.Description, i.Category, i.Priority, i.OffsetDirection, i.OffsetValues]; + }, + 2199411900: (i) => [i.Materials], + 2235152071: (i) => [i.Name, i.Description, i.Material, i.Profile, i.Priority, i.Category], + 164193824: (i) => [i.Name, i.Description, i.MaterialProfiles, i.CompositeProfile], + 552965576: (i) => [i.Name, i.Description, i.Material, i.Profile, i.Priority, i.Category, i.OffsetValues], + 1507914824: (_) => [], + 2597039031: (i) => [Labelise(i.ValueComponent), i.UnitComponent], + 3368373690: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, i.CreatingActor, i.CreationTime, i.UserDefinedGrade, i.Benchmark, i.ValueSource, i.DataValue, i.ReferencePath], + 2706619895: (i) => [i.Currency], + 1918398963: (i) => [i.Dimensions, i.UnitType], + 3701648758: (i) => [i.PlacementRelTo], + 2251480897: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, i.CreatingActor, i.CreationTime, i.UserDefinedGrade, i.BenchmarkValues, i.LogicalAggregator, i.ObjectiveQualifier, i.UserDefinedQualifier], + 4251960020: (i) => [i.Identification, i.Name, i.Description, i.Roles, i.Addresses], + 1207048766: (i) => [i.OwningUser, i.OwningApplication, i.State, i.ChangeAction, i.LastModifiedDate, i.LastModifyingUser, i.LastModifyingApplication, i.CreationDate], + 2077209135: (i) => [i.Identification, i.FamilyName, i.GivenName, i.MiddleNames, i.PrefixTitles, i.SuffixTitles, i.Roles, i.Addresses], + 101040310: (i) => [i.ThePerson, i.TheOrganization, i.Roles], + 2483315170: (i) => [i.Name, i.Description], + 2226359599: (i) => [i.Name, i.Description, i.Unit], + 3355820592: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose, i.InternalLocation, i.AddressLines, i.PostalBox, i.Town, i.Region, i.PostalCode, i.Country], + 677532197: (_) => [], + 2022622350: (i) => [i.Name, i.Description, i.AssignedItems, i.Identifier], + 1304840413: (i) => { + var _a, _b, _c; + return [i.Name, i.Description, i.AssignedItems, i.Identifier, (_a = i.LayerOn) == null ? void 0 : _a.toString(), (_b = i.LayerFrozen) == null ? void 0 : _b.toString(), (_c = i.LayerBlocked) == null ? void 0 : _c.toString(), i.LayerStyles]; + }, + 3119450353: (i) => [i.Name], + 2095639259: (i) => [i.Name, i.Description, i.Representations], + 3958567839: (i) => [i.ProfileType, i.ProfileName], + 3843373140: (i) => [i.Name, i.Description, i.GeodeticDatum, i.VerticalDatum, i.MapProjection, i.MapZone, i.MapUnit], + 986844984: (_) => [], + 3710013099: (i) => [i.Name, i.EnumerationValues.map((p) => Labelise(p)), i.Unit], + 2044713172: (i) => [i.Name, i.Description, i.Unit, i.AreaValue, i.Formula], + 2093928680: (i) => [i.Name, i.Description, i.Unit, i.CountValue, i.Formula], + 931644368: (i) => [i.Name, i.Description, i.Unit, i.LengthValue, i.Formula], + 2691318326: (i) => [i.Name, i.Description, i.Unit, i.NumberValue, i.Formula], + 3252649465: (i) => [i.Name, i.Description, i.Unit, i.TimeValue, i.Formula], + 2405470396: (i) => [i.Name, i.Description, i.Unit, i.VolumeValue, i.Formula], + 825690147: (i) => [i.Name, i.Description, i.Unit, i.WeightValue, i.Formula], + 3915482550: (i) => [i.RecurrenceType, i.DayComponent, i.WeekdayComponent, i.MonthComponent, i.Position, i.Interval, i.Occurrences, i.TimePeriods], + 2433181523: (i) => [i.TypeIdentifier, i.AttributeIdentifier, i.InstanceName, i.ListPositions, i.InnerReference], + 1076942058: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 3377609919: (i) => [i.ContextIdentifier, i.ContextType], + 3008791417: (_) => [], + 1660063152: (i) => [i.MappingOrigin, i.MappedRepresentation], + 2439245199: (i) => [i.Name, i.Description], + 2341007311: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 448429030: (i) => [i.Dimensions, i.UnitType, i.Prefix, i.Name], + 1054537805: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin], + 867548509: (i) => { + var _a; + return [i.ShapeRepresentations, i.Name, i.Description, (_a = i.ProductDefinitional) == null ? void 0 : _a.toString(), i.PartOfProductDefinitionShape]; + }, + 3982875396: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 4240577450: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 2273995522: (i) => [i.Name], + 2162789131: (i) => [i.Name], + 3478079324: (i) => [i.Name, i.Values, i.Locations], + 609421318: (i) => [i.Name], + 2525727697: (i) => [i.Name], + 3408363356: (i) => [i.Name, i.DeltaTConstant, i.DeltaTY, i.DeltaTZ], + 2830218821: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 3958052878: (i) => [i.Item, i.Styles, i.Name], + 3049322572: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 2934153892: (i) => [i.Name, i.SurfaceReinforcement1, i.SurfaceReinforcement2, i.ShearReinforcement], + 1300840506: (i) => [i.Name, i.Side, i.Styles], + 3303107099: (i) => [i.DiffuseTransmissionColour, i.DiffuseReflectionColour, i.TransmissionColour, i.ReflectanceColour], + 1607154358: (i) => [i.RefractionIndex, i.DispersionFactor], + 846575682: (i) => [i.SurfaceColour, i.Transparency], + 1351298697: (i) => [i.Textures], + 626085974: (i) => { + var _a, _b; + return [(_a = i.RepeatS) == null ? void 0 : _a.toString(), (_b = i.RepeatT) == null ? void 0 : _b.toString(), i.Mode, i.TextureTransform, i.Parameter]; + }, + 985171141: (i) => [i.Name, i.Rows, i.Columns], + 2043862942: (i) => [i.Identifier, i.Name, i.Description, i.Unit, i.ReferencePath], + 531007025: (i) => { + var _a; + return [!i.RowCells ? null : i.RowCells.map((p) => Labelise(p)), (_a = i.IsHeading) == null ? void 0 : _a.toString()]; + }, + 1549132990: (i) => { + var _a; + return [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.DurationType, i.ScheduleDuration, i.ScheduleStart, i.ScheduleFinish, i.EarlyStart, i.EarlyFinish, i.LateStart, i.LateFinish, i.FreeFloat, i.TotalFloat, (_a = i.IsCritical) == null ? void 0 : _a.toString(), i.StatusTime, i.ActualDuration, i.ActualStart, i.ActualFinish, i.RemainingTime, i.Completion]; + }, + 2771591690: (i) => { + var _a; + return [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.DurationType, i.ScheduleDuration, i.ScheduleStart, i.ScheduleFinish, i.EarlyStart, i.EarlyFinish, i.LateStart, i.LateFinish, i.FreeFloat, i.TotalFloat, (_a = i.IsCritical) == null ? void 0 : _a.toString(), i.StatusTime, i.ActualDuration, i.ActualStart, i.ActualFinish, i.RemainingTime, i.Completion, i.Recurrence]; + }, + 912023232: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose, i.TelephoneNumbers, i.FacsimileNumbers, i.PagerNumber, i.ElectronicMailAddresses, i.WWWHomePageURL, i.MessagingIDs], + 1447204868: (i) => { + var _a; + return [i.Name, i.TextCharacterAppearance, i.TextStyle, i.TextFontStyle, (_a = i.ModelOrDraughting) == null ? void 0 : _a.toString()]; + }, + 2636378356: (i) => [i.Colour, i.BackgroundColour], + 1640371178: (i) => [!i.TextIndent ? null : Labelise(i.TextIndent), i.TextAlign, i.TextDecoration, !i.LetterSpacing ? null : Labelise(i.LetterSpacing), !i.WordSpacing ? null : Labelise(i.WordSpacing), i.TextTransform, !i.LineHeight ? null : Labelise(i.LineHeight)], + 280115917: (i) => [i.Maps], + 1742049831: (i) => [i.Maps, i.Mode, i.Parameter], + 222769930: (i) => [i.TexCoordIndex, i.TexCoordsOf], + 1010789467: (i) => [i.TexCoordIndex, i.TexCoordsOf, i.InnerTexCoordIndices], + 2552916305: (i) => [i.Maps, i.Vertices, i.MappedTo], + 1210645708: (i) => [i.Coordinates], + 3611470254: (i) => [i.TexCoordsList], + 1199560280: (i) => [i.StartTime, i.EndTime], + 3101149627: (i) => [i.Name, i.Description, i.StartTime, i.EndTime, i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, i.Unit], + 581633288: (i) => [i.ListValues.map((p) => Labelise(p))], + 1377556343: (_) => [], + 1735638870: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items], + 180925521: (i) => [i.Units], + 2799835756: (_) => [], + 1907098498: (i) => [i.VertexGeometry], + 891718957: (i) => [i.IntersectingAxes, i.OffsetDistances], + 1236880293: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.RecurrencePattern, i.StartDate, i.FinishDate], + 3752311538: (i) => [i.StartTag, i.EndTag, i.StartDistAlong, i.HorizontalLength, i.StartCantLeft, i.EndCantLeft, i.StartCantRight, i.EndCantRight, i.PredefinedType], + 536804194: (i) => [i.StartTag, i.EndTag, i.StartPoint, i.StartDirection, i.StartRadiusOfCurvature, i.EndRadiusOfCurvature, i.SegmentLength, i.GravityCenterLineHeight, i.PredefinedType], + 3869604511: (i) => [i.Name, i.Description, i.RelatingApproval, i.RelatedApprovals], + 3798115385: (i) => [i.ProfileType, i.ProfileName, i.OuterCurve], + 1310608509: (i) => [i.ProfileType, i.ProfileName, i.Curve], + 2705031697: (i) => [i.ProfileType, i.ProfileName, i.OuterCurve, i.InnerCurves], + 616511568: (i) => { + var _a, _b; + return [(_a = i.RepeatS) == null ? void 0 : _a.toString(), (_b = i.RepeatT) == null ? void 0 : _b.toString(), i.Mode, i.TextureTransform, i.Parameter, i.RasterFormat, i.RasterCode]; + }, + 3150382593: (i) => [i.ProfileType, i.ProfileName, i.Curve, i.Thickness], + 747523909: (i) => [i.Source, i.Edition, i.EditionDate, i.Name, i.Description, i.Specification, i.ReferenceTokens], + 647927063: (i) => [i.Location, i.Identification, i.Name, i.ReferencedSource, i.Description, i.Sort], + 3285139300: (i) => [i.ColourList], + 3264961684: (i) => [i.Name], + 1485152156: (i) => [i.ProfileType, i.ProfileName, i.Profiles, i.Label], + 370225590: (i) => [i.CfsFaces], + 1981873012: (i) => [i.CurveOnRelatingElement, i.CurveOnRelatedElement], + 45288368: (i) => [i.PointOnRelatingElement, i.PointOnRelatedElement, i.EccentricityInX, i.EccentricityInY, i.EccentricityInZ], + 3050246964: (i) => [i.Dimensions, i.UnitType, i.Name], + 2889183280: (i) => [i.Dimensions, i.UnitType, i.Name, i.ConversionFactor], + 2713554722: (i) => [i.Dimensions, i.UnitType, i.Name, i.ConversionFactor, i.ConversionOffset], + 539742890: (i) => [i.Name, i.Description, i.RelatingMonetaryUnit, i.RelatedMonetaryUnit, i.ExchangeRate, i.RateDateTime, i.RateSource], + 3800577675: (i) => { + var _a; + return [i.Name, i.CurveFont, !i.CurveWidth ? null : Labelise(i.CurveWidth), i.CurveColour, (_a = i.ModelOrDraughting) == null ? void 0 : _a.toString()]; + }, + 1105321065: (i) => [i.Name, i.PatternList], + 2367409068: (i) => [i.Name, i.CurveStyleFont, i.CurveFontScaling], + 3510044353: (i) => [i.VisibleSegmentLength, i.InvisibleSegmentLength], + 3632507154: (i) => [i.ProfileType, i.ProfileName, i.ParentProfile, i.Operator, i.Label], + 1154170062: (i) => [i.Identification, i.Name, i.Description, i.Location, i.Purpose, i.IntendedUse, i.Scope, i.Revision, i.DocumentOwner, i.Editors, i.CreationTime, i.LastRevisionTime, i.ElectronicFormat, i.ValidFrom, i.ValidUntil, i.Confidentiality, i.Status], + 770865208: (i) => [i.Name, i.Description, i.RelatingDocument, i.RelatedDocuments, i.RelationshipType], + 3732053477: (i) => [i.Location, i.Identification, i.Name, i.Description, i.ReferencedDocument], + 3900360178: (i) => [i.EdgeStart, i.EdgeEnd], + 476780140: (i) => { + var _a; + return [i.EdgeStart, i.EdgeEnd, i.EdgeGeometry, (_a = i.SameSense) == null ? void 0 : _a.toString()]; + }, + 211053100: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.ActualDate, i.EarlyDate, i.LateDate, i.ScheduleDate], + 297599258: (i) => [i.Name, i.Description, i.Properties], + 1437805879: (i) => [i.Name, i.Description, i.RelatingReference, i.RelatedResourceObjects], + 2556980723: (i) => [i.Bounds], + 1809719519: (i) => { + var _a; + return [i.Bound, (_a = i.Orientation) == null ? void 0 : _a.toString()]; + }, + 803316827: (i) => { + var _a; + return [i.Bound, (_a = i.Orientation) == null ? void 0 : _a.toString()]; + }, + 3008276851: (i) => { + var _a; + return [i.Bounds, i.FaceSurface, (_a = i.SameSense) == null ? void 0 : _a.toString()]; + }, + 4219587988: (i) => [i.Name, i.TensionFailureX, i.TensionFailureY, i.TensionFailureZ, i.CompressionFailureX, i.CompressionFailureY, i.CompressionFailureZ], + 738692330: (i) => { + var _a; + return [i.Name, i.FillStyles, (_a = i.ModelOrDraughting) == null ? void 0 : _a.toString()]; + }, + 3448662350: (i) => [i.ContextIdentifier, i.ContextType, i.CoordinateSpaceDimension, i.Precision, i.WorldCoordinateSystem, i.TrueNorth], + 2453401579: (_) => [], + 4142052618: (i) => [i.ContextIdentifier, i.ContextType, i.CoordinateSpaceDimension, i.Precision, i.WorldCoordinateSystem, i.TrueNorth, i.ParentContext, i.TargetScale, i.TargetView, i.UserDefinedTargetView], + 3590301190: (i) => [i.Elements], + 178086475: (i) => [i.PlacementRelTo, i.PlacementLocation, i.PlacementRefDirection], + 812098782: (i) => { + var _a; + return [i.BaseSurface, (_a = i.AgreementFlag) == null ? void 0 : _a.toString()]; + }, + 3905492369: (i) => { + var _a, _b; + return [(_a = i.RepeatS) == null ? void 0 : _a.toString(), (_b = i.RepeatT) == null ? void 0 : _b.toString(), i.Mode, i.TextureTransform, i.Parameter, i.URLReference]; + }, + 3570813810: (i) => [i.MappedTo, i.Opacity, i.Colours, i.ColourIndex], + 1437953363: (i) => [i.Maps, i.MappedTo, i.TexCoords], + 2133299955: (i) => [i.Maps, i.MappedTo, i.TexCoords, i.TexCoordIndex], + 3741457305: (i) => [i.Name, i.Description, i.StartTime, i.EndTime, i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, i.Unit, i.Values], + 1585845231: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, Labelise(i.LagValue), i.DurationType], + 1402838566: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity], + 125510826: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity], + 2604431987: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Orientation], + 4266656042: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.ColourAppearance, i.ColourTemperature, i.LuminousFlux, i.LightEmissionSource, i.LightDistributionDataSource], + 1520743889: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.Radius, i.ConstantAttenuation, i.DistanceAttenuation, i.QuadricAttenuation], + 3422422726: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.Radius, i.ConstantAttenuation, i.DistanceAttenuation, i.QuadricAttenuation, i.Orientation, i.ConcentrationExponent, i.SpreadAngle, i.BeamWidthAngle], + 388784114: (i) => [i.PlacementRelTo, i.RelativePlacement, i.CartesianPosition], + 2624227202: (i) => [i.PlacementRelTo, i.RelativePlacement], + 1008929658: (_) => [], + 2347385850: (i) => [i.MappingSource, i.MappingTarget], + 1838606355: (i) => [i.Name, i.Description, i.Category], + 3708119e3: (i) => [i.Name, i.Description, i.Material, i.Fraction, i.Category], + 2852063980: (i) => [i.Name, i.Description, i.MaterialConstituents], + 2022407955: (i) => [i.Name, i.Description, i.Representations, i.RepresentedMaterial], + 1303795690: (i) => [i.ForLayerSet, i.LayerSetDirection, i.DirectionSense, i.OffsetFromReferenceLine, i.ReferenceExtent], + 3079605661: (i) => [i.ForProfileSet, i.CardinalPoint, i.ReferenceExtent], + 3404854881: (i) => [i.ForProfileSet, i.CardinalPoint, i.ReferenceExtent, i.ForProfileEndSet, i.CardinalEndPoint], + 3265635763: (i) => [i.Name, i.Description, i.Properties, i.Material], + 853536259: (i) => [i.Name, i.Description, i.RelatingMaterial, i.RelatedMaterials, i.MaterialExpression], + 2998442950: (i) => [i.ProfileType, i.ProfileName, i.ParentProfile, i.Operator, i.Label], + 219451334: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 182550632: (i) => { + var _a; + return [i.ProfileType, i.ProfileName, (_a = i.HorizontalWidths) == null ? void 0 : _a.toString(), i.Widths, i.Slopes, i.Tags, i.OffsetPoint]; + }, + 2665983363: (i) => [i.CfsFaces], + 1411181986: (i) => [i.Name, i.Description, i.RelatingOrganization, i.RelatedOrganizations], + 1029017970: (i) => { + var _a; + return [i.EdgeStart, i.EdgeEnd, i.EdgeElement, (_a = i.Orientation) == null ? void 0 : _a.toString()]; + }, + 2529465313: (i) => [i.ProfileType, i.ProfileName, i.Position], + 2519244187: (i) => [i.EdgeList], + 3021840470: (i) => [i.Name, i.Description, i.HasQuantities, i.Discrimination, i.Quality, i.Usage], + 597895409: (i) => { + var _a, _b; + return [(_a = i.RepeatS) == null ? void 0 : _a.toString(), (_b = i.RepeatT) == null ? void 0 : _b.toString(), i.Mode, i.TextureTransform, i.Parameter, i.Width, i.Height, i.ColourComponents, i.Pixel]; + }, + 2004835150: (i) => [i.Location], + 1663979128: (i) => [i.SizeInX, i.SizeInY], + 2067069095: (_) => [], + 2165702409: (i) => [Labelise(i.DistanceAlong), i.OffsetLateral, i.OffsetVertical, i.OffsetLongitudinal, i.BasisCurve], + 4022376103: (i) => [i.BasisCurve, i.PointParameter], + 1423911732: (i) => [i.BasisSurface, i.PointParameterU, i.PointParameterV], + 2924175390: (i) => [i.Polygon], + 2775532180: (i) => { + var _a; + return [i.BaseSurface, (_a = i.AgreementFlag) == null ? void 0 : _a.toString(), i.Position, i.PolygonalBoundary]; + }, + 3727388367: (i) => [i.Name], + 3778827333: (_) => [], + 1775413392: (i) => [i.Name], + 673634403: (i) => [i.Name, i.Description, i.Representations], + 2802850158: (i) => [i.Name, i.Description, i.Properties, i.ProfileDefinition], + 2598011224: (i) => [i.Name, i.Specification], + 1680319473: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 148025276: (i) => [i.Name, i.Description, i.DependingProperty, i.DependantProperty, i.Expression], + 3357820518: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 1482703590: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 2090586900: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 3615266464: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim], + 3413951693: (i) => [i.Name, i.Description, i.StartTime, i.EndTime, i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, i.Unit, i.TimeStep, i.Values], + 1580146022: (i) => [i.TotalCrossSectionArea, i.SteelGrade, i.BarSurface, i.EffectiveDepth, i.NominalBarDiameter, i.BarCount], + 478536968: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 2943643501: (i) => [i.Name, i.Description, i.RelatedResourceObjects, i.RelatingApproval], + 1608871552: (i) => [i.Name, i.Description, i.RelatingConstraint, i.RelatedResourceObjects], + 1042787934: (i) => { + var _a; + return [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.ScheduleWork, i.ScheduleUsage, i.ScheduleStart, i.ScheduleFinish, i.ScheduleContour, i.LevelingDelay, (_a = i.IsOverAllocated) == null ? void 0 : _a.toString(), i.StatusTime, i.ActualWork, i.ActualUsage, i.ActualStart, i.ActualFinish, i.RemainingWork, i.RemainingUsage, i.Completion]; + }, + 2778083089: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim, i.RoundingRadius], + 2042790032: (i) => [i.SectionType, i.StartProfile, i.EndProfile], + 4165799628: (i) => [i.LongitudinalStartPosition, i.LongitudinalEndPosition, i.TransversePosition, i.ReinforcementRole, i.SectionDefinition, i.CrossSectionReinforcementDefinitions], + 1509187699: (i) => [i.SpineCurve, i.CrossSections, i.CrossSectionPositions], + 823603102: (i) => [i.Transition], + 4124623270: (i) => [i.SbsmBoundary], + 3692461612: (i) => [i.Name, i.Specification], + 2609359061: (i) => [i.Name, i.SlippageX, i.SlippageY, i.SlippageZ], + 723233188: (_) => [], + 1595516126: (i) => [i.Name, i.LinearForceX, i.LinearForceY, i.LinearForceZ, i.LinearMomentX, i.LinearMomentY, i.LinearMomentZ], + 2668620305: (i) => [i.Name, i.PlanarForceX, i.PlanarForceY, i.PlanarForceZ], + 2473145415: (i) => [i.Name, i.DisplacementX, i.DisplacementY, i.DisplacementZ, i.RotationalDisplacementRX, i.RotationalDisplacementRY, i.RotationalDisplacementRZ], + 1973038258: (i) => [i.Name, i.DisplacementX, i.DisplacementY, i.DisplacementZ, i.RotationalDisplacementRX, i.RotationalDisplacementRY, i.RotationalDisplacementRZ, i.Distortion], + 1597423693: (i) => [i.Name, i.ForceX, i.ForceY, i.ForceZ, i.MomentX, i.MomentY, i.MomentZ], + 1190533807: (i) => [i.Name, i.ForceX, i.ForceY, i.ForceZ, i.MomentX, i.MomentY, i.MomentZ, i.WarpingMoment], + 2233826070: (i) => [i.EdgeStart, i.EdgeEnd, i.ParentEdge], + 2513912981: (_) => [], + 1878645084: (i) => [i.SurfaceColour, i.Transparency, i.DiffuseColour, i.TransmissionColour, i.DiffuseTransmissionColour, i.ReflectionColour, i.SpecularColour, !i.SpecularHighlight ? null : Labelise(i.SpecularHighlight), i.ReflectanceMethod], + 2247615214: (i) => [i.SweptArea, i.Position], + 1260650574: (i) => [i.Directrix, i.Radius, i.InnerRadius, i.StartParam, i.EndParam], + 1096409881: (i) => [i.Directrix, i.Radius, i.InnerRadius, i.StartParam, i.EndParam, i.FilletRadius], + 230924584: (i) => [i.SweptCurve, i.Position], + 3071757647: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.FlangeEdgeRadius, i.WebEdgeRadius, i.WebSlope, i.FlangeSlope], + 901063453: (_) => [], + 4282788508: (i) => [i.Literal, i.Placement, i.Path], + 3124975700: (i) => [i.Literal, i.Placement, i.Path, i.Extent, i.BoxAlignment], + 1983826977: (i) => [i.Name, i.FontFamily, i.FontStyle, i.FontVariant, i.FontWeight, Labelise(i.FontSize)], + 2715220739: (i) => [i.ProfileType, i.ProfileName, i.Position, i.BottomXDim, i.TopXDim, i.YDim, i.TopXOffset], + 1628702193: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets], + 3736923433: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ProcessType], + 2347495698: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag], + 3698973494: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType], + 427810014: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.EdgeRadius, i.FlangeSlope], + 1417489154: (i) => [i.Orientation, i.Magnitude], + 2759199220: (i) => [i.LoopVertex], + 2543172580: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.EdgeRadius], + 3406155212: (i) => { + var _a; + return [i.Bounds, i.FaceSurface, (_a = i.SameSense) == null ? void 0 : _a.toString()]; + }, + 669184980: (i) => [i.OuterBoundary, i.InnerBoundaries], + 3207858831: (i) => [i.ProfileType, i.ProfileName, i.Position, i.BottomFlangeWidth, i.OverallDepth, i.WebThickness, i.BottomFlangeThickness, i.BottomFlangeFilletRadius, i.TopFlangeWidth, i.TopFlangeThickness, i.TopFlangeFilletRadius, i.BottomFlangeEdgeRadius, i.BottomFlangeSlope, i.TopFlangeEdgeRadius, i.TopFlangeSlope], + 4261334040: (i) => [i.Location, i.Axis], + 3125803723: (i) => [i.Location, i.RefDirection], + 2740243338: (i) => [i.Location, i.Axis, i.RefDirection], + 3425423356: (i) => [i.Location, i.Axis, i.RefDirection], + 2736907675: (i) => [i.Operator, i.FirstOperand, i.SecondOperand], + 4182860854: (_) => [], + 2581212453: (i) => [i.Corner, i.XDim, i.YDim, i.ZDim], + 2713105998: (i) => { + var _a; + return [i.BaseSurface, (_a = i.AgreementFlag) == null ? void 0 : _a.toString(), i.Enclosure]; + }, + 2898889636: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.Width, i.WallThickness, i.Girth, i.InternalFilletRadius], + 1123145078: (i) => [i.Coordinates], + 574549367: (_) => [], + 1675464909: (i) => [i.CoordList, i.TagList], + 2059837836: (i) => [i.CoordList, i.TagList], + 59481748: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale], + 3749851601: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale], + 3486308946: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Scale2], + 3331915920: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Axis3], + 1416205885: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Axis3, i.Scale2, i.Scale3], + 1383045692: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Radius], + 2205249479: (i) => [i.CfsFaces], + 776857604: (i) => [i.Name, i.Red, i.Green, i.Blue], + 2542286263: (i) => [i.Name, i.Specification, i.UsageName, i.HasProperties], + 2485617015: (i) => { + var _a; + return [i.Transition, (_a = i.SameSense) == null ? void 0 : _a.toString(), i.ParentCurve]; + }, + 2574617495: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity], + 3419103109: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.Phase, i.RepresentationContexts, i.UnitsInContext], + 1815067380: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 2506170314: (i) => [i.Position], + 2147822146: (i) => [i.TreeRootExpression], + 2601014836: (_) => [], + 2827736869: (i) => [i.BasisSurface, i.OuterBoundary, i.InnerBoundaries], + 2629017746: (i) => { + var _a; + return [i.BasisSurface, i.Boundaries, (_a = i.ImplicitOuter) == null ? void 0 : _a.toString()]; + }, + 4212018352: (i) => [i.Transition, i.Placement, Labelise(i.SegmentStart), Labelise(i.SegmentLength), i.ParentCurve], + 32440307: (i) => [i.DirectionRatios], + 593015953: (i) => [i.SweptArea, i.Position, i.Directrix, !i.StartParam ? null : Labelise(i.StartParam), !i.EndParam ? null : Labelise(i.EndParam)], + 1472233963: (i) => [i.EdgeList], + 1883228015: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.MethodOfMeasurement, i.Quantities], + 339256511: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 2777663545: (i) => [i.Position], + 2835456948: (i) => [i.ProfileType, i.ProfileName, i.Position, i.SemiAxis1, i.SemiAxis2], + 4024345920: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ProcessType, i.PredefinedType, i.EventTriggerType, i.UserDefinedEventTriggerType], + 477187591: (i) => [i.SweptArea, i.Position, i.ExtrudedDirection, i.Depth], + 2804161546: (i) => [i.SweptArea, i.Position, i.ExtrudedDirection, i.Depth, i.EndSweptArea], + 2047409740: (i) => [i.FbsmFaces], + 374418227: (i) => [i.HatchLineAppearance, i.StartOfNextHatchLine, i.PointOfReferenceHatchLine, i.PatternStart, i.HatchLineAngle], + 315944413: (i) => [i.TilingPattern, i.Tiles, i.TilingScale], + 2652556860: (i) => [i.SweptArea, i.Position, i.Directrix, !i.StartParam ? null : Labelise(i.StartParam), !i.EndParam ? null : Labelise(i.EndParam), i.FixedReference], + 4238390223: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1268542332: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.AssemblyPlace, i.PredefinedType], + 4095422895: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 987898635: (i) => [i.Elements], + 1484403080: (i) => [i.ProfileType, i.ProfileName, i.Position, i.OverallWidth, i.OverallDepth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.FlangeEdgeRadius, i.FlangeSlope], + 178912537: (i) => [i.CoordIndex], + 2294589976: (i) => [i.CoordIndex, i.InnerCoordIndices], + 3465909080: (i) => [i.Maps, i.MappedTo, i.TexCoords, i.TexCoordIndices], + 572779678: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.Width, i.Thickness, i.FilletRadius, i.EdgeRadius, i.LegSlope], + 428585644: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 1281925730: (i) => [i.Pnt, i.Dir], + 1425443689: (i) => [i.Outer], + 3888040117: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 590820931: (i) => [i.BasisCurve], + 3388369263: (i) => { + var _a; + return [i.BasisCurve, i.Distance, (_a = i.SelfIntersect) == null ? void 0 : _a.toString()]; + }, + 3505215534: (i) => { + var _a; + return [i.BasisCurve, i.Distance, (_a = i.SelfIntersect) == null ? void 0 : _a.toString(), i.RefDirection]; + }, + 2485787929: (i) => [i.BasisCurve, i.OffsetValues, i.Tag], + 1682466193: (i) => [i.BasisSurface, i.ReferenceCurve], + 603570806: (i) => [i.SizeInX, i.SizeInY, i.Placement], + 220341763: (i) => [i.Position], + 3381221214: (i) => [i.Position, i.CoefficientsX, i.CoefficientsY, i.CoefficientsZ], + 759155922: (i) => [i.Name], + 2559016684: (i) => [i.Name], + 3967405729: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 569719735: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ProcessType, i.PredefinedType], + 2945172077: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription], + 4208778838: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 103090709: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.Phase, i.RepresentationContexts, i.UnitsInContext], + 653396225: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.Phase, i.RepresentationContexts, i.UnitsInContext], + 871118103: (i) => [i.Name, i.Specification, !i.UpperBoundValue ? null : Labelise(i.UpperBoundValue), !i.LowerBoundValue ? null : Labelise(i.LowerBoundValue), i.Unit, !i.SetPointValue ? null : Labelise(i.SetPointValue)], + 4166981789: (i) => [i.Name, i.Specification, !i.EnumerationValues ? null : i.EnumerationValues.map((p) => Labelise(p)), i.EnumerationReference], + 2752243245: (i) => [i.Name, i.Specification, !i.ListValues ? null : i.ListValues.map((p) => Labelise(p)), i.Unit], + 941946838: (i) => [i.Name, i.Specification, i.UsageName, i.PropertyReference], + 1451395588: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.HasProperties], + 492091185: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.TemplateType, i.ApplicableEntity, i.HasPropertyTemplates], + 3650150729: (i) => [i.Name, i.Specification, !i.NominalValue ? null : Labelise(i.NominalValue), i.Unit], + 110355661: (i) => [i.Name, i.Specification, !i.DefiningValues ? null : i.DefiningValues.map((p) => Labelise(p)), !i.DefinedValues ? null : i.DefinedValues.map((p) => Labelise(p)), i.Expression, i.DefiningUnit, i.DefinedUnit, i.CurveInterpolation], + 3521284610: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 2770003689: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim, i.WallThickness, i.InnerFilletRadius, i.OuterFilletRadius], + 2798486643: (i) => [i.Position, i.XLength, i.YLength, i.Height], + 3454111270: (i) => { + var _a, _b; + return [i.BasisSurface, i.U1, i.V1, i.U2, i.V2, (_a = i.Usense) == null ? void 0 : _a.toString(), (_b = i.Vsense) == null ? void 0 : _b.toString()]; + }, + 3765753017: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.DefinitionType, i.ReinforcementSectionDefinitions], + 3939117080: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType], + 1683148259: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingActor, i.ActingRole], + 2495723537: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingControl], + 1307041759: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingGroup], + 1027710054: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingGroup, i.Factor], + 4278684876: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingProcess, i.QuantityInProcess], + 2857406711: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingProduct], + 205026976: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingResource], + 1865459582: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects], + 4095574036: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingApproval], + 919958153: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingClassification], + 2728634034: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.Intent, i.RelatingConstraint], + 982818633: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingDocument], + 3840914261: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingLibrary], + 2655215786: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingMaterial], + 1033248425: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingProfileDef], + 826625072: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 1204542856: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement], + 3945020480: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement, i.RelatingPriorities, i.RelatedPriorities, i.RelatedConnectionType, i.RelatingConnectionType], + 4201705270: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingPort, i.RelatedElement], + 3190031847: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingPort, i.RelatedPort, i.RealizingElement], + 2127690289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingElement, i.RelatedStructuralActivity], + 1638771189: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingStructuralMember, i.RelatedStructuralConnection, i.AppliedCondition, i.AdditionalConditions, i.SupportedLength, i.ConditionCoordinateSystem], + 504942748: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingStructuralMember, i.RelatedStructuralConnection, i.AppliedCondition, i.AdditionalConditions, i.SupportedLength, i.ConditionCoordinateSystem, i.ConnectionConstraint], + 3678494232: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement, i.RealizingElements, i.ConnectionType], + 3242617779: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedElements, i.RelatingStructure], + 886880790: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingBuildingElement, i.RelatedCoverings], + 2802773753: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSpace, i.RelatedCoverings], + 2565941209: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingContext, i.RelatedDefinitions], + 2551354335: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 693640335: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description], + 1462361463: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingObject], + 4186316022: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingPropertyDefinition], + 307848117: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedPropertySets, i.RelatingTemplate], + 781010003: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingType], + 3940055652: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingOpeningElement, i.RelatedBuildingElement], + 279856033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedControlElements, i.RelatingFlowElement], + 427948657: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingElement, i.RelatedElement, i.InterferenceGeometry, i.InterferenceSpace, i.InterferenceType, (_a = i.ImpliedOrder) == null ? void 0 : _a.toString()]; + }, + 3268803585: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingObject, i.RelatedObjects], + 1441486842: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingPositioningElement, i.RelatedProducts], + 750771296: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingElement, i.RelatedFeatureElement], + 1245217292: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedElements, i.RelatingStructure], + 4122056220: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingProcess, i.RelatedProcess, i.TimeLag, i.SequenceType, i.UserDefinedSequenceType], + 366585022: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSystem, i.RelatedBuildings], + 3451746338: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSpace, i.RelatedBuildingElement, i.ConnectionGeometry, i.PhysicalOrVirtualBoundary, i.InternalOrExternalBoundary], + 3523091289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSpace, i.RelatedBuildingElement, i.ConnectionGeometry, i.PhysicalOrVirtualBoundary, i.InternalOrExternalBoundary, i.ParentBoundary], + 1521410863: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSpace, i.RelatedBuildingElement, i.ConnectionGeometry, i.PhysicalOrVirtualBoundary, i.InternalOrExternalBoundary, i.ParentBoundary, i.CorrespondingBoundary], + 1401173127: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingBuildingElement, i.RelatedOpeningElement], + 816062949: (i) => { + var _a; + return [i.Transition, (_a = i.SameSense) == null ? void 0 : _a.toString(), i.ParentCurve, i.ParamLength]; + }, + 2914609552: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription], + 1856042241: (i) => [i.SweptArea, i.Position, i.Axis, i.Angle], + 3243963512: (i) => [i.SweptArea, i.Position, i.Axis, i.Angle, i.EndSweptArea], + 4158566097: (i) => [i.Position, i.Height, i.BottomRadius], + 3626867408: (i) => [i.Position, i.Height, i.Radius], + 1862484736: (i) => [i.Directrix, i.CrossSections], + 1290935644: (i) => [i.Directrix, i.CrossSections, i.CrossSectionPositions], + 1356537516: (i) => [i.Directrix, i.CrossSectionPositions, i.CrossSections], + 3663146110: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.TemplateType, i.PrimaryMeasureType, i.SecondaryMeasureType, i.Enumerators, i.PrimaryUnit, i.SecondaryUnit, i.Expression, i.AccessState], + 1412071761: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName], + 710998568: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 2706606064: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType], + 3893378262: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 463610769: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.PredefinedType], + 2481509218: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.LongName], + 451544542: (i) => [i.Position, i.Radius], + 4015995234: (i) => [i.Position, i.Radius], + 2735484536: (i) => [i.Position], + 3544373492: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal], + 3136571912: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 530289379: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 3689010777: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal], + 3979015343: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Thickness], + 2218152070: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Thickness], + 603775116: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.PredefinedType], + 4095615324: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 699246055: (i) => [i.Curve3D, i.AssociatedGeometry, i.MasterRepresentation], + 2028607225: (i) => [i.SweptArea, i.Position, i.Directrix, !i.StartParam ? null : Labelise(i.StartParam), !i.EndParam ? null : Labelise(i.EndParam), i.ReferenceSurface], + 2809605785: (i) => [i.SweptCurve, i.Position, i.ExtrudedDirection, i.Depth], + 4124788165: (i) => [i.SweptCurve, i.Position, i.AxisPosition], + 1580310250: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3473067441: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Status, i.WorkMethod, (_a = i.IsMilestone) == null ? void 0 : _a.toString(), i.Priority, i.TaskTime, i.PredefinedType]; + }, + 3206491090: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ProcessType, i.PredefinedType, i.WorkMethod], + 2387106220: (i) => { + var _a; + return [i.Coordinates, (_a = i.Closed) == null ? void 0 : _a.toString()]; + }, + 782932809: (i) => [i.Position, i.CubicTerm, i.QuadraticTerm, i.LinearTerm, i.ConstantTerm], + 1935646853: (i) => [i.Position, i.MajorRadius, i.MinorRadius], + 3665877780: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 2916149573: (i) => { + var _a; + return [i.Coordinates, (_a = i.Closed) == null ? void 0 : _a.toString(), i.Normals, i.CoordIndex, i.PnIndex]; + }, + 1229763772: (i) => { + var _a; + return [i.Coordinates, (_a = i.Closed) == null ? void 0 : _a.toString(), i.Normals, i.CoordIndex, i.PnIndex, i.Flags]; + }, + 3651464721: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 336235671: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.LiningDepth, i.LiningThickness, i.TransomThickness, i.MullionThickness, i.FirstTransomOffset, i.SecondTransomOffset, i.FirstMullionOffset, i.SecondMullionOffset, i.ShapeAspectStyle, i.LiningOffset, i.LiningToPanelOffsetX, i.LiningToPanelOffsetY], + 512836454: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.OperationType, i.PanelPosition, i.FrameDepth, i.FrameThickness, i.ShapeAspectStyle], + 2296667514: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TheActor], + 1635779807: (i) => [i.Outer], + 2603310189: (i) => [i.Outer, i.Voids], + 1674181508: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType], + 2887950389: (i) => { + var _a, _b, _c; + return [i.UDegree, i.VDegree, i.ControlPointsList, i.SurfaceForm, (_a = i.UClosed) == null ? void 0 : _a.toString(), (_b = i.VClosed) == null ? void 0 : _b.toString(), (_c = i.SelfIntersect) == null ? void 0 : _c.toString()]; + }, + 167062518: (i) => { + var _a, _b, _c; + return [i.UDegree, i.VDegree, i.ControlPointsList, i.SurfaceForm, (_a = i.UClosed) == null ? void 0 : _a.toString(), (_b = i.VClosed) == null ? void 0 : _b.toString(), (_c = i.SelfIntersect) == null ? void 0 : _c.toString(), i.UMultiplicities, i.VMultiplicities, i.UKnots, i.VKnots, i.KnotSpec]; + }, + 1334484129: (i) => [i.Position, i.XLength, i.YLength, i.ZLength], + 3649129432: (i) => [i.Operator, i.FirstOperand, i.SecondOperand], + 1260505505: (_) => [], + 3124254112: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.Elevation], + 1626504194: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 2197970202: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2937912522: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Radius, i.WallThickness], + 3893394355: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3497074424: (i) => [i.Position, i.ClothoidConstant], + 300633059: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3875453745: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.UsageName, i.TemplateType, i.HasPropertyTemplates], + 3732776249: (i) => { + var _a; + return [i.Segments, (_a = i.SelfIntersect) == null ? void 0 : _a.toString()]; + }, + 15328376: (i) => { + var _a; + return [i.Segments, (_a = i.SelfIntersect) == null ? void 0 : _a.toString()]; + }, + 2510884976: (i) => [i.Position], + 2185764099: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 4105962743: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 1525564444: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 2559216714: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity], + 3293443760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification], + 2000195564: (i) => [i.Position, i.CosineTerm, i.ConstantTerm], + 3895139033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.CostValues, i.CostQuantities], + 1419761937: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.Status, i.SubmittedOn, i.UpdateDate], + 4189326743: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1916426348: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3295246426: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 1457835157: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1213902940: (i) => [i.Position, i.Radius], + 1306400036: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 4234616927: (i) => [i.SweptArea, i.Position, i.Directrix, !i.StartParam ? null : Labelise(i.StartParam), !i.EndParam ? null : Labelise(i.EndParam), i.FixedReference], + 3256556792: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3849074793: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 2963535650: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.LiningDepth, i.LiningThickness, i.ThresholdDepth, i.ThresholdThickness, i.TransomThickness, i.TransomOffset, i.LiningOffset, i.ThresholdOffset, i.CasingThickness, i.CasingDepth, i.ShapeAspectStyle, i.LiningToPanelOffsetX, i.LiningToPanelOffsetY], + 1714330368: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.PanelDepth, i.PanelOperation, i.PanelWidth, i.PanelPosition, i.ShapeAspectStyle], + 2323601079: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.OperationType, (_a = i.ParameterTakesPrecedence) == null ? void 0 : _a.toString(), i.UserDefinedOperationType]; + }, + 445594917: (i) => [i.Name], + 4006246654: (i) => [i.Name], + 1758889154: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 4123344466: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.AssemblyPlace, i.PredefinedType], + 2397081782: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1623761950: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2590856083: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1704287377: (i) => [i.Position, i.SemiAxis1, i.SemiAxis2], + 2107101300: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 132023988: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3174744832: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3390157468: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4148101412: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.PredefinedType, i.EventTriggerType, i.UserDefinedEventTriggerType, i.EventOccurenceTime], + 2853485674: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName], + 807026263: (i) => [i.Outer], + 3737207727: (i) => [i.Outer, i.Voids], + 24185140: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType], + 1310830890: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.UsageType], + 4228831410: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.UsageType, i.PredefinedType], + 647756555: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2489546625: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2827207264: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2143335405: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 1287392070: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3907093117: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3198132628: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3815607619: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1482959167: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1834744321: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1339347760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 2297155007: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 3009222698: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1893162501: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 263784265: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 1509553395: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3493046030: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4230923436: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 1594536857: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2898700619: (i) => { + var _a; + return [i.Segments, (_a = i.SelfIntersect) == null ? void 0 : _a.toString(), i.BaseCurve, i.EndPoint]; + }, + 2706460486: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 1251058090: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1806887404: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2568555532: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3948183225: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2571569899: (i) => { + var _a; + return [i.Points, !i.Segments ? null : i.Segments.map((p) => Labelise(p)), (_a = i.SelfIntersect) == null ? void 0 : _a.toString()]; + }, + 3946677679: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3113134337: (i) => [i.Curve3D, i.AssociatedGeometry, i.MasterRepresentation], + 2391368822: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.Jurisdiction, i.ResponsiblePersons, i.LastUpdateDate, i.CurrentValue, i.OriginalValue], + 4288270099: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 679976338: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, (_a = i.Mountable) == null ? void 0 : _a.toString()]; + }, + 3827777499: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 1051575348: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1161773419: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2176059722: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 1770583370: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 525669439: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.PredefinedType], + 976884017: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.UsageType, i.PredefinedType], + 377706215: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.NominalDiameter, i.NominalLength, i.PredefinedType], + 2108223431: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.NominalDiameter, i.NominalLength], + 1114901282: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3181161470: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1950438474: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 710110818: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 977012517: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 506776471: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4143007308: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TheActor, i.PredefinedType], + 3588315303: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2837617999: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 514975943: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2382730787: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LifeCyclePhase, i.PredefinedType], + 3566463478: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.OperationType, i.PanelPosition, i.FrameDepth, i.FrameThickness, i.ShapeAspectStyle], + 3327091369: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.Status, i.LongDescription], + 1158309216: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 804291784: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4231323485: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4017108033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2839578677: (i) => { + var _a; + return [i.Coordinates, (_a = i.Closed) == null ? void 0 : _a.toString(), i.Faces, i.PnIndex]; + }, + 3724593414: (i) => [i.Points], + 3740093272: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 1946335990: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 2744685151: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.PredefinedType], + 2904328755: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.Status, i.LongDescription], + 3651124850: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1842657554: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2250791053: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1763565496: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2893384427: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3992365140: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.PredefinedType], + 1891881377: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.UsageType, i.PredefinedType], + 2324767716: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1469900589: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 683857671: (i) => { + var _a, _b, _c; + return [i.UDegree, i.VDegree, i.ControlPointsList, i.SurfaceForm, (_a = i.UClosed) == null ? void 0 : _a.toString(), (_b = i.VClosed) == null ? void 0 : _b.toString(), (_c = i.SelfIntersect) == null ? void 0 : _c.toString(), i.UMultiplicities, i.VMultiplicities, i.UKnots, i.VKnots, i.KnotSpec, i.WeightsData]; + }, + 4021432810: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType], + 3027567501: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade], + 964333572: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 2320036040: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.MeshLength, i.MeshWidth, i.LongitudinalBarNominalDiameter, i.TransverseBarNominalDiameter, i.LongitudinalBarCrossSectionArea, i.TransverseBarCrossSectionArea, i.LongitudinalBarSpacing, i.TransverseBarSpacing, i.PredefinedType], + 2310774935: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.MeshLength, i.MeshWidth, i.LongitudinalBarNominalDiameter, i.TransverseBarNominalDiameter, i.LongitudinalBarCrossSectionArea, i.TransverseBarCrossSectionArea, i.LongitudinalBarSpacing, i.TransverseBarSpacing, i.BendingShapeCode, !i.BendingParameters ? null : i.BendingParameters.map((p) => Labelise(p))], + 3818125796: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingElement, i.RelatedSurfaceFeatures], + 160246688: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingObject, i.RelatedObjects], + 146592293: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.PredefinedType], + 550521510: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.UsageType, i.PredefinedType], + 2781568857: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1768891740: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2157484638: (i) => [i.Curve3D, i.AssociatedGeometry, i.MasterRepresentation], + 3649235739: (i) => [i.Position, i.QuadraticTerm, i.LinearTerm, i.ConstantTerm], + 544395925: (i) => { + var _a; + return [i.Segments, (_a = i.SelfIntersect) == null ? void 0 : _a.toString(), i.BaseCurve, i.EndPoint]; + }, + 1027922057: (i) => [i.Position, i.SepticTerm, i.SexticTerm, i.QuinticTerm, i.QuarticTerm, i.CubicTerm, i.QuadraticTerm, i.LinearTerm, i.ConstantTerm], + 4074543187: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 33720170: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3599934289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1894708472: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 42703149: (i) => [i.Position, i.SineTerm, i.LinearTerm, i.ConstantTerm], + 4097777520: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.RefLatitude, i.RefLongitude, i.RefElevation, i.LandTitleNumber, i.SiteAddress], + 2533589738: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1072016465: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3856911033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.PredefinedType, i.ElevationWithFlooring], + 1305183839: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3812236995: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.LongName], + 3112655638: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1039846685: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 338393293: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 682877961: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, (_a = i.DestabilizingLoad) == null ? void 0 : _a.toString()]; + }, + 1179482911: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition], + 1004757350: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, (_a = i.DestabilizingLoad) == null ? void 0 : _a.toString(), i.ProjectedOrTrue, i.PredefinedType]; + }, + 4243806635: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition, i.AxisDirection], + 214636428: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Axis], + 2445595289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Axis], + 2757150158: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.PredefinedType], + 1807405624: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, (_a = i.DestabilizingLoad) == null ? void 0 : _a.toString(), i.ProjectedOrTrue, i.PredefinedType]; + }, + 1252848954: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.ActionType, i.ActionSource, i.Coefficient, i.Purpose], + 2082059205: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, (_a = i.DestabilizingLoad) == null ? void 0 : _a.toString()]; + }, + 734778138: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition, i.ConditionCoordinateSystem], + 1235345126: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal], + 2986769608: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TheoryType, i.ResultForLoadGroup, (_a = i.IsLinear) == null ? void 0 : _a.toString()]; + }, + 3657597509: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, (_a = i.DestabilizingLoad) == null ? void 0 : _a.toString(), i.ProjectedOrTrue, i.PredefinedType]; + }, + 1975003073: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition], + 148013059: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 3101698114: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2315554128: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2254336722: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType], + 413509423: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 5716631: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3824725483: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.PredefinedType, i.NominalDiameter, i.CrossSectionArea, i.TensionForce, i.PreStress, i.FrictionCoefficient, i.AnchorageSlip, i.MinCurvatureRadius], + 2347447852: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.PredefinedType], + 3081323446: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3663046924: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.PredefinedType], + 2281632017: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2415094496: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.NominalDiameter, i.CrossSectionArea, i.SheathDiameter], + 618700268: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1692211062: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2097647324: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1953115116: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3593883385: (i) => { + var _a; + return [i.BasisCurve, i.Trim1, i.Trim2, (_a = i.SenseAgreement) == null ? void 0 : _a.toString(), i.MasterRepresentation]; + }, + 1600972822: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1911125066: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 728799441: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 840318589: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1530820697: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3956297820: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2391383451: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3313531582: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2769231204: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 926996030: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1898987631: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1133259667: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4009809668: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.PartitioningType, (_a = i.ParameterTakesPrecedence) == null ? void 0 : _a.toString(), i.UserDefinedPartitioningType]; + }, + 4088093105: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.WorkingTimes, i.ExceptionTimes, i.PredefinedType], + 1028945134: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.CreationDate, i.Creators, i.Purpose, i.Duration, i.TotalFloat, i.StartTime, i.FinishTime], + 4218914973: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.CreationDate, i.Creators, i.Purpose, i.Duration, i.TotalFloat, i.StartTime, i.FinishTime, i.PredefinedType], + 3342526732: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.CreationDate, i.Creators, i.Purpose, i.Duration, i.TotalFloat, i.StartTime, i.FinishTime, i.PredefinedType], + 1033361043: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName], + 3821786052: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.Status, i.LongDescription], + 1411407467: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3352864051: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1871374353: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4266260250: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.RailHeadDistance], + 1545765605: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 317615605: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.DesignParameters], + 1662888072: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 3460190687: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.OriginalValue, i.CurrentValue, i.TotalReplacementCost, i.Owner, i.User, i.ResponsiblePerson, i.IncorporationDate, i.DepreciatedValue], + 1532957894: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1967976161: (i) => { + var _a, _b; + return [i.Degree, i.ControlPointsList, i.CurveForm, (_a = i.ClosedCurve) == null ? void 0 : _a.toString(), (_b = i.SelfIntersect) == null ? void 0 : _b.toString()]; + }, + 2461110595: (i) => { + var _a, _b; + return [i.Degree, i.ControlPointsList, i.CurveForm, (_a = i.ClosedCurve) == null ? void 0 : _a.toString(), (_b = i.SelfIntersect) == null ? void 0 : _b.toString(), i.KnotMultiplicities, i.Knots, i.KnotSpec]; + }, + 819618141: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3649138523: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 231477066: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1136057603: (i) => { + var _a; + return [i.Segments, (_a = i.SelfIntersect) == null ? void 0 : _a.toString()]; + }, + 644574406: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.PredefinedType], + 963979645: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.UsageType, i.PredefinedType], + 4031249490: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.ElevationOfRefHeight, i.ElevationOfTerrain, i.BuildingAddress], + 2979338954: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 39481116: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1909888760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1177604601: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.LongName], + 1876633798: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3862327254: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.LongName], + 2188180465: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 395041908: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3293546465: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2674252688: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1285652485: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3203706013: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2951183804: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3296154744: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2611217952: (i) => [i.Position, i.Radius], + 1677625105: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2301859152: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 843113511: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 400855858: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3850581409: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2816379211: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3898045240: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 1060000209: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 488727124: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType], + 2940368186: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 335055490: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2954562838: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1502416096: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1973544240: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3495092785: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3961806047: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3426335179: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 1335981549: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2635815018: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 479945903: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1599208980: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2063403501: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType], + 1945004755: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3040386961: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3041715199: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.FlowDirection, i.PredefinedType, i.SystemType], + 3205830791: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.PredefinedType], + 395920057: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OverallHeight, i.OverallWidth, i.PredefinedType, i.OperationType, i.UserDefinedOperationType], + 869906466: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3760055223: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2030761528: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3071239417: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1077100507: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3376911765: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 663422040: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2417008758: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3277789161: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2142170206: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1534661035: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1217240411: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 712377611: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1658829314: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2814081492: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3747195512: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 484807127: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1209101575: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.PredefinedType], + 346874300: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1810631287: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4222183408: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2058353004: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 4278956645: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 4037862832: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 2188021234: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3132237377: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 987401354: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 707683696: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2223149337: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3508470533: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 900683007: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2713699986: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 3009204131: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.UAxes, i.VAxes, i.WAxes, i.PredefinedType], + 3319311131: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2068733104: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4175244083: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2176052936: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2696325953: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, (_a = i.Mountable) == null ? void 0 : _a.toString()]; + }, + 76236018: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 629592764: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1154579445: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation], + 1638804497: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1437502449: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1073191201: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2078563270: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 234836483: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2474470126: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2182337498: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 144952367: (i) => { + var _a; + return [i.Segments, (_a = i.SelfIntersect) == null ? void 0 : _a.toString()]; + }, + 3694346114: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1383356374: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1687234759: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType, i.ConstructionType], + 310824031: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3612865200: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3171933400: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 738039164: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 655969474: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 90941305: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3290496277: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2262370178: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3024970846: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3283111854: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1232101972: (i) => { + var _a, _b; + return [i.Degree, i.ControlPointsList, i.CurveForm, (_a = i.ClosedCurve) == null ? void 0 : _a.toString(), (_b = i.SelfIntersect) == null ? void 0 : _b.toString(), i.KnotMultiplicities, i.Knots, i.KnotSpec, i.WeightsData]; + }, + 3798194928: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 979691226: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.NominalDiameter, i.CrossSectionArea, i.BarLength, i.PredefinedType, i.BarSurface], + 2572171363: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.NominalDiameter, i.CrossSectionArea, i.BarLength, i.BarSurface, i.BendingShapeCode, !i.BendingParameters ? null : i.BendingParameters.map((p) => Labelise(p))], + 2016517767: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3053780830: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1783015770: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1329646415: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 991950508: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1529196076: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3420628829: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1999602285: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1404847402: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 331165859: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4252922144: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.NumberOfRisers, i.NumberOfTreads, i.RiserHeight, i.TreadLength, i.PredefinedType], + 2515109513: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.OrientationOf2DPlane, i.LoadedBy, i.HasResults, i.SharedPlacement], + 385403989: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.ActionType, i.ActionSource, i.Coefficient, i.Purpose, i.SelfWeightCoefficients], + 1621171031: (i) => { + var _a; + return [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, (_a = i.DestabilizingLoad) == null ? void 0 : _a.toString(), i.ProjectedOrTrue, i.PredefinedType]; + }, + 1162798199: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 812556717: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3425753595: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3825984169: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1620046519: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3026737570: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3179687236: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 4292641817: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4207607924: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2391406946: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3512223829: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4237592921: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3304561284: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OverallHeight, i.OverallWidth, i.PredefinedType, i.PartitioningType, i.UserDefinedPartitioningType], + 2874132201: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 1634111441: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 177149247: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2056796094: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3001207471: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 325726236: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType], + 277319702: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 753842376: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4196446775: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 32344328: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3314249567: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 1095909175: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2938176219: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 635142910: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3758799889: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1051757585: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4217484030: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3999819293: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3902619387: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 639361253: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3221913625: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3571504051: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2272882330: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 578613899: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType], + 3460952963: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4136498852: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3640358203: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4074379575: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3693000487: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1052013943: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 562808652: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.PredefinedType], + 1062813311: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 342316401: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3518393246: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1360408905: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1904799276: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 862014818: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3310460725: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 24726584: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 264262732: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 402227799: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1003880860: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3415622556: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 819412036: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 1426591983: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 182646315: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 2680139844: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 1971632696: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag], + 2295281155: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4086658281: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 630975310: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 4288193352: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 3087945054: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType], + 25142252: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType] +}; +TypeInitialisers[5] = { + 3699917729: (v) => new IFC4X3$1.IfcAbsorbedDoseMeasure(v), + 4182062534: (v) => new IFC4X3$1.IfcAccelerationMeasure(v), + 360377573: (v) => new IFC4X3$1.IfcAmountOfSubstanceMeasure(v), + 632304761: (v) => new IFC4X3$1.IfcAngularVelocityMeasure(v), + 3683503648: (v) => new IFC4X3$1.IfcArcIndex(v.map((x) => x.value)), + 1500781891: (v) => new IFC4X3$1.IfcAreaDensityMeasure(v), + 2650437152: (v) => new IFC4X3$1.IfcAreaMeasure(v), + 2314439260: (v) => new IFC4X3$1.IfcBinary(v), + 2735952531: (v) => new IFC4X3$1.IfcBoolean(v), + 1867003952: (v) => new IFC4X3$1.IfcBoxAlignment(v), + 1683019596: (v) => new IFC4X3$1.IfcCardinalPointReference(v), + 2991860651: (v) => new IFC4X3$1.IfcComplexNumber(v.map((x) => x.value)), + 3812528620: (v) => new IFC4X3$1.IfcCompoundPlaneAngleMeasure(v.map((x) => x.value)), + 3238673880: (v) => new IFC4X3$1.IfcContextDependentMeasure(v), + 1778710042: (v) => new IFC4X3$1.IfcCountMeasure(v), + 94842927: (v) => new IFC4X3$1.IfcCurvatureMeasure(v), + 937566702: (v) => new IFC4X3$1.IfcDate(v), + 2195413836: (v) => new IFC4X3$1.IfcDateTime(v), + 86635668: (v) => new IFC4X3$1.IfcDayInMonthNumber(v), + 3701338814: (v) => new IFC4X3$1.IfcDayInWeekNumber(v), + 1514641115: (v) => new IFC4X3$1.IfcDescriptiveMeasure(v), + 4134073009: (v) => new IFC4X3$1.IfcDimensionCount(v), + 524656162: (v) => new IFC4X3$1.IfcDoseEquivalentMeasure(v), + 2541165894: (v) => new IFC4X3$1.IfcDuration(v), + 69416015: (v) => new IFC4X3$1.IfcDynamicViscosityMeasure(v), + 1827137117: (v) => new IFC4X3$1.IfcElectricCapacitanceMeasure(v), + 3818826038: (v) => new IFC4X3$1.IfcElectricChargeMeasure(v), + 2093906313: (v) => new IFC4X3$1.IfcElectricConductanceMeasure(v), + 3790457270: (v) => new IFC4X3$1.IfcElectricCurrentMeasure(v), + 2951915441: (v) => new IFC4X3$1.IfcElectricResistanceMeasure(v), + 2506197118: (v) => new IFC4X3$1.IfcElectricVoltageMeasure(v), + 2078135608: (v) => new IFC4X3$1.IfcEnergyMeasure(v), + 1102727119: (v) => new IFC4X3$1.IfcFontStyle(v), + 2715512545: (v) => new IFC4X3$1.IfcFontVariant(v), + 2590844177: (v) => new IFC4X3$1.IfcFontWeight(v), + 1361398929: (v) => new IFC4X3$1.IfcForceMeasure(v), + 3044325142: (v) => new IFC4X3$1.IfcFrequencyMeasure(v), + 3064340077: (v) => new IFC4X3$1.IfcGloballyUniqueId(v), + 3113092358: (v) => new IFC4X3$1.IfcHeatFluxDensityMeasure(v), + 1158859006: (v) => new IFC4X3$1.IfcHeatingValueMeasure(v), + 983778844: (v) => new IFC4X3$1.IfcIdentifier(v), + 3358199106: (v) => new IFC4X3$1.IfcIlluminanceMeasure(v), + 2679005408: (v) => new IFC4X3$1.IfcInductanceMeasure(v), + 1939436016: (v) => new IFC4X3$1.IfcInteger(v), + 3809634241: (v) => new IFC4X3$1.IfcIntegerCountRateMeasure(v), + 3686016028: (v) => new IFC4X3$1.IfcIonConcentrationMeasure(v), + 3192672207: (v) => new IFC4X3$1.IfcIsothermalMoistureCapacityMeasure(v), + 2054016361: (v) => new IFC4X3$1.IfcKinematicViscosityMeasure(v), + 3258342251: (v) => new IFC4X3$1.IfcLabel(v), + 1275358634: (v) => new IFC4X3$1.IfcLanguageId(v), + 1243674935: (v) => new IFC4X3$1.IfcLengthMeasure(v), + 1774176899: (v) => new IFC4X3$1.IfcLineIndex(v.map((x) => x.value)), + 191860431: (v) => new IFC4X3$1.IfcLinearForceMeasure(v), + 2128979029: (v) => new IFC4X3$1.IfcLinearMomentMeasure(v), + 1307019551: (v) => new IFC4X3$1.IfcLinearStiffnessMeasure(v), + 3086160713: (v) => new IFC4X3$1.IfcLinearVelocityMeasure(v), + 503418787: (v) => new IFC4X3$1.IfcLogical(v), + 2095003142: (v) => new IFC4X3$1.IfcLuminousFluxMeasure(v), + 2755797622: (v) => new IFC4X3$1.IfcLuminousIntensityDistributionMeasure(v), + 151039812: (v) => new IFC4X3$1.IfcLuminousIntensityMeasure(v), + 286949696: (v) => new IFC4X3$1.IfcMagneticFluxDensityMeasure(v), + 2486716878: (v) => new IFC4X3$1.IfcMagneticFluxMeasure(v), + 1477762836: (v) => new IFC4X3$1.IfcMassDensityMeasure(v), + 4017473158: (v) => new IFC4X3$1.IfcMassFlowRateMeasure(v), + 3124614049: (v) => new IFC4X3$1.IfcMassMeasure(v), + 3531705166: (v) => new IFC4X3$1.IfcMassPerLengthMeasure(v), + 3341486342: (v) => new IFC4X3$1.IfcModulusOfElasticityMeasure(v), + 2173214787: (v) => new IFC4X3$1.IfcModulusOfLinearSubgradeReactionMeasure(v), + 1052454078: (v) => new IFC4X3$1.IfcModulusOfRotationalSubgradeReactionMeasure(v), + 1753493141: (v) => new IFC4X3$1.IfcModulusOfSubgradeReactionMeasure(v), + 3177669450: (v) => new IFC4X3$1.IfcMoistureDiffusivityMeasure(v), + 1648970520: (v) => new IFC4X3$1.IfcMolecularWeightMeasure(v), + 3114022597: (v) => new IFC4X3$1.IfcMomentOfInertiaMeasure(v), + 2615040989: (v) => new IFC4X3$1.IfcMonetaryMeasure(v), + 765770214: (v) => new IFC4X3$1.IfcMonthInYearNumber(v), + 525895558: (v) => new IFC4X3$1.IfcNonNegativeLengthMeasure(v), + 2095195183: (v) => new IFC4X3$1.IfcNormalisedRatioMeasure(v), + 2395907400: (v) => new IFC4X3$1.IfcNumericMeasure(v), + 929793134: (v) => new IFC4X3$1.IfcPHMeasure(v), + 2260317790: (v) => new IFC4X3$1.IfcParameterValue(v), + 2642773653: (v) => new IFC4X3$1.IfcPlanarForceMeasure(v), + 4042175685: (v) => new IFC4X3$1.IfcPlaneAngleMeasure(v), + 1790229001: (v) => new IFC4X3$1.IfcPositiveInteger(v), + 2815919920: (v) => new IFC4X3$1.IfcPositiveLengthMeasure(v), + 3054510233: (v) => new IFC4X3$1.IfcPositivePlaneAngleMeasure(v), + 1245737093: (v) => new IFC4X3$1.IfcPositiveRatioMeasure(v), + 1364037233: (v) => new IFC4X3$1.IfcPowerMeasure(v), + 2169031380: (v) => new IFC4X3$1.IfcPresentableText(v), + 3665567075: (v) => new IFC4X3$1.IfcPressureMeasure(v), + 2798247006: (v) => new IFC4X3$1.IfcPropertySetDefinitionSet(v.map((x) => x.value)), + 3972513137: (v) => new IFC4X3$1.IfcRadioActivityMeasure(v), + 96294661: (v) => new IFC4X3$1.IfcRatioMeasure(v), + 200335297: (v) => new IFC4X3$1.IfcReal(v), + 2133746277: (v) => new IFC4X3$1.IfcRotationalFrequencyMeasure(v), + 1755127002: (v) => new IFC4X3$1.IfcRotationalMassMeasure(v), + 3211557302: (v) => new IFC4X3$1.IfcRotationalStiffnessMeasure(v), + 3467162246: (v) => new IFC4X3$1.IfcSectionModulusMeasure(v), + 2190458107: (v) => new IFC4X3$1.IfcSectionalAreaIntegralMeasure(v), + 408310005: (v) => new IFC4X3$1.IfcShearModulusMeasure(v), + 3471399674: (v) => new IFC4X3$1.IfcSolidAngleMeasure(v), + 4157543285: (v) => new IFC4X3$1.IfcSoundPowerLevelMeasure(v), + 846465480: (v) => new IFC4X3$1.IfcSoundPowerMeasure(v), + 3457685358: (v) => new IFC4X3$1.IfcSoundPressureLevelMeasure(v), + 993287707: (v) => new IFC4X3$1.IfcSoundPressureMeasure(v), + 3477203348: (v) => new IFC4X3$1.IfcSpecificHeatCapacityMeasure(v), + 2757832317: (v) => new IFC4X3$1.IfcSpecularExponent(v), + 361837227: (v) => new IFC4X3$1.IfcSpecularRoughness(v), + 58845555: (v) => new IFC4X3$1.IfcTemperatureGradientMeasure(v), + 1209108979: (v) => new IFC4X3$1.IfcTemperatureRateOfChangeMeasure(v), + 2801250643: (v) => new IFC4X3$1.IfcText(v), + 1460886941: (v) => new IFC4X3$1.IfcTextAlignment(v), + 3490877962: (v) => new IFC4X3$1.IfcTextDecoration(v), + 603696268: (v) => new IFC4X3$1.IfcTextFontName(v), + 296282323: (v) => new IFC4X3$1.IfcTextTransformation(v), + 232962298: (v) => new IFC4X3$1.IfcThermalAdmittanceMeasure(v), + 2645777649: (v) => new IFC4X3$1.IfcThermalConductivityMeasure(v), + 2281867870: (v) => new IFC4X3$1.IfcThermalExpansionCoefficientMeasure(v), + 857959152: (v) => new IFC4X3$1.IfcThermalResistanceMeasure(v), + 2016195849: (v) => new IFC4X3$1.IfcThermalTransmittanceMeasure(v), + 743184107: (v) => new IFC4X3$1.IfcThermodynamicTemperatureMeasure(v), + 4075327185: (v) => new IFC4X3$1.IfcTime(v), + 2726807636: (v) => new IFC4X3$1.IfcTimeMeasure(v), + 2591213694: (v) => new IFC4X3$1.IfcTimeStamp(v), + 1278329552: (v) => new IFC4X3$1.IfcTorqueMeasure(v), + 950732822: (v) => new IFC4X3$1.IfcURIReference(v), + 3345633955: (v) => new IFC4X3$1.IfcVaporPermeabilityMeasure(v), + 3458127941: (v) => new IFC4X3$1.IfcVolumeMeasure(v), + 2593997549: (v) => new IFC4X3$1.IfcVolumetricFlowRateMeasure(v), + 51269191: (v) => new IFC4X3$1.IfcWarpingConstantMeasure(v), + 1718600412: (v) => new IFC4X3$1.IfcWarpingMomentMeasure(v) +}; +var IFC4X3$1; +(function(IFC4X32) { + class IfcAbsorbedDoseMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcAbsorbedDoseMeasure = IfcAbsorbedDoseMeasure; + class IfcAccelerationMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcAccelerationMeasure = IfcAccelerationMeasure; + class IfcAmountOfSubstanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcAmountOfSubstanceMeasure = IfcAmountOfSubstanceMeasure; + class IfcAngularVelocityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcAngularVelocityMeasure = IfcAngularVelocityMeasure; + class IfcArcIndex { + constructor(value) { + this.value = value; + this.type = 5; + } + } + IFC4X32.IfcArcIndex = IfcArcIndex; + class IfcAreaDensityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcAreaDensityMeasure = IfcAreaDensityMeasure; + class IfcAreaMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcAreaMeasure = IfcAreaMeasure; + class IfcBinary { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcBinary = IfcBinary; + class IfcBoolean { + constructor(v) { + this.type = 3; + this.value = v === null ? v : v == "T" ? true : false; + } + } + IFC4X32.IfcBoolean = IfcBoolean; + class IfcBoxAlignment { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcBoxAlignment = IfcBoxAlignment; + class IfcCardinalPointReference { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcCardinalPointReference = IfcCardinalPointReference; + class IfcComplexNumber { + constructor(value) { + this.value = value; + this.type = 4; + } + } + IFC4X32.IfcComplexNumber = IfcComplexNumber; + class IfcCompoundPlaneAngleMeasure { + constructor(value) { + this.value = value; + this.type = 10; + } + } + IFC4X32.IfcCompoundPlaneAngleMeasure = IfcCompoundPlaneAngleMeasure; + class IfcContextDependentMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcContextDependentMeasure = IfcContextDependentMeasure; + class IfcCountMeasure { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcCountMeasure = IfcCountMeasure; + class IfcCurvatureMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcCurvatureMeasure = IfcCurvatureMeasure; + class IfcDate { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcDate = IfcDate; + class IfcDateTime { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcDateTime = IfcDateTime; + class IfcDayInMonthNumber { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcDayInMonthNumber = IfcDayInMonthNumber; + class IfcDayInWeekNumber { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcDayInWeekNumber = IfcDayInWeekNumber; + class IfcDescriptiveMeasure { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcDescriptiveMeasure = IfcDescriptiveMeasure; + class IfcDimensionCount { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcDimensionCount = IfcDimensionCount; + class IfcDoseEquivalentMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcDoseEquivalentMeasure = IfcDoseEquivalentMeasure; + class IfcDuration { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcDuration = IfcDuration; + class IfcDynamicViscosityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcDynamicViscosityMeasure = IfcDynamicViscosityMeasure; + class IfcElectricCapacitanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcElectricCapacitanceMeasure = IfcElectricCapacitanceMeasure; + class IfcElectricChargeMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcElectricChargeMeasure = IfcElectricChargeMeasure; + class IfcElectricConductanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcElectricConductanceMeasure = IfcElectricConductanceMeasure; + class IfcElectricCurrentMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcElectricCurrentMeasure = IfcElectricCurrentMeasure; + class IfcElectricResistanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcElectricResistanceMeasure = IfcElectricResistanceMeasure; + class IfcElectricVoltageMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcElectricVoltageMeasure = IfcElectricVoltageMeasure; + class IfcEnergyMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcEnergyMeasure = IfcEnergyMeasure; + class IfcFontStyle { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcFontStyle = IfcFontStyle; + class IfcFontVariant { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcFontVariant = IfcFontVariant; + class IfcFontWeight { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcFontWeight = IfcFontWeight; + class IfcForceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcForceMeasure = IfcForceMeasure; + class IfcFrequencyMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcFrequencyMeasure = IfcFrequencyMeasure; + class IfcGloballyUniqueId { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcGloballyUniqueId = IfcGloballyUniqueId; + class IfcHeatFluxDensityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcHeatFluxDensityMeasure = IfcHeatFluxDensityMeasure; + class IfcHeatingValueMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcHeatingValueMeasure = IfcHeatingValueMeasure; + class IfcIdentifier { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcIdentifier = IfcIdentifier; + class IfcIlluminanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcIlluminanceMeasure = IfcIlluminanceMeasure; + class IfcInductanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcInductanceMeasure = IfcInductanceMeasure; + class IfcInteger { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcInteger = IfcInteger; + class IfcIntegerCountRateMeasure { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcIntegerCountRateMeasure = IfcIntegerCountRateMeasure; + class IfcIonConcentrationMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcIonConcentrationMeasure = IfcIonConcentrationMeasure; + class IfcIsothermalMoistureCapacityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcIsothermalMoistureCapacityMeasure = IfcIsothermalMoistureCapacityMeasure; + class IfcKinematicViscosityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcKinematicViscosityMeasure = IfcKinematicViscosityMeasure; + class IfcLabel { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcLabel = IfcLabel; + class IfcLanguageId { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcLanguageId = IfcLanguageId; + class IfcLengthMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcLengthMeasure = IfcLengthMeasure; + class IfcLineIndex { + constructor(value) { + this.value = value; + this.type = 5; + } + } + IFC4X32.IfcLineIndex = IfcLineIndex; + class IfcLinearForceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcLinearForceMeasure = IfcLinearForceMeasure; + class IfcLinearMomentMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcLinearMomentMeasure = IfcLinearMomentMeasure; + class IfcLinearStiffnessMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcLinearStiffnessMeasure = IfcLinearStiffnessMeasure; + class IfcLinearVelocityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcLinearVelocityMeasure = IfcLinearVelocityMeasure; + class IfcLogical { + constructor(v) { + this.type = 3; + this.value = v === null ? v : v == "T" ? 1 : v == "F" ? 0 : 2; + } + } + IFC4X32.IfcLogical = IfcLogical; + class IfcLuminousFluxMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcLuminousFluxMeasure = IfcLuminousFluxMeasure; + class IfcLuminousIntensityDistributionMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcLuminousIntensityDistributionMeasure = IfcLuminousIntensityDistributionMeasure; + class IfcLuminousIntensityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcLuminousIntensityMeasure = IfcLuminousIntensityMeasure; + class IfcMagneticFluxDensityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcMagneticFluxDensityMeasure = IfcMagneticFluxDensityMeasure; + class IfcMagneticFluxMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcMagneticFluxMeasure = IfcMagneticFluxMeasure; + class IfcMassDensityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcMassDensityMeasure = IfcMassDensityMeasure; + class IfcMassFlowRateMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcMassFlowRateMeasure = IfcMassFlowRateMeasure; + class IfcMassMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcMassMeasure = IfcMassMeasure; + class IfcMassPerLengthMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcMassPerLengthMeasure = IfcMassPerLengthMeasure; + class IfcModulusOfElasticityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcModulusOfElasticityMeasure = IfcModulusOfElasticityMeasure; + class IfcModulusOfLinearSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcModulusOfLinearSubgradeReactionMeasure = IfcModulusOfLinearSubgradeReactionMeasure; + class IfcModulusOfRotationalSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcModulusOfRotationalSubgradeReactionMeasure = IfcModulusOfRotationalSubgradeReactionMeasure; + class IfcModulusOfSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcModulusOfSubgradeReactionMeasure = IfcModulusOfSubgradeReactionMeasure; + class IfcMoistureDiffusivityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcMoistureDiffusivityMeasure = IfcMoistureDiffusivityMeasure; + class IfcMolecularWeightMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcMolecularWeightMeasure = IfcMolecularWeightMeasure; + class IfcMomentOfInertiaMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcMomentOfInertiaMeasure = IfcMomentOfInertiaMeasure; + class IfcMonetaryMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcMonetaryMeasure = IfcMonetaryMeasure; + class IfcMonthInYearNumber { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcMonthInYearNumber = IfcMonthInYearNumber; + class IfcNonNegativeLengthMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcNonNegativeLengthMeasure = IfcNonNegativeLengthMeasure; + class IfcNormalisedRatioMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcNormalisedRatioMeasure = IfcNormalisedRatioMeasure; + class IfcNumericMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcNumericMeasure = IfcNumericMeasure; + class IfcPHMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcPHMeasure = IfcPHMeasure; + class IfcParameterValue { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcParameterValue = IfcParameterValue; + class IfcPlanarForceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcPlanarForceMeasure = IfcPlanarForceMeasure; + class IfcPlaneAngleMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcPlaneAngleMeasure = IfcPlaneAngleMeasure; + class IfcPositiveInteger { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcPositiveInteger = IfcPositiveInteger; + class IfcPositiveLengthMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcPositiveLengthMeasure = IfcPositiveLengthMeasure; + class IfcPositivePlaneAngleMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcPositivePlaneAngleMeasure = IfcPositivePlaneAngleMeasure; + class IfcPositiveRatioMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcPositiveRatioMeasure = IfcPositiveRatioMeasure; + class IfcPowerMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcPowerMeasure = IfcPowerMeasure; + class IfcPresentableText { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcPresentableText = IfcPresentableText; + class IfcPressureMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcPressureMeasure = IfcPressureMeasure; + class IfcPropertySetDefinitionSet { + constructor(value) { + this.value = value; + this.type = 5; + } + } + IFC4X32.IfcPropertySetDefinitionSet = IfcPropertySetDefinitionSet; + class IfcRadioActivityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcRadioActivityMeasure = IfcRadioActivityMeasure; + class IfcRatioMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcRatioMeasure = IfcRatioMeasure; + class IfcReal { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcReal = IfcReal; + class IfcRotationalFrequencyMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcRotationalFrequencyMeasure = IfcRotationalFrequencyMeasure; + class IfcRotationalMassMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcRotationalMassMeasure = IfcRotationalMassMeasure; + class IfcRotationalStiffnessMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcRotationalStiffnessMeasure = IfcRotationalStiffnessMeasure; + class IfcSectionModulusMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcSectionModulusMeasure = IfcSectionModulusMeasure; + class IfcSectionalAreaIntegralMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcSectionalAreaIntegralMeasure = IfcSectionalAreaIntegralMeasure; + class IfcShearModulusMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcShearModulusMeasure = IfcShearModulusMeasure; + class IfcSolidAngleMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcSolidAngleMeasure = IfcSolidAngleMeasure; + class IfcSoundPowerLevelMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcSoundPowerLevelMeasure = IfcSoundPowerLevelMeasure; + class IfcSoundPowerMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcSoundPowerMeasure = IfcSoundPowerMeasure; + class IfcSoundPressureLevelMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcSoundPressureLevelMeasure = IfcSoundPressureLevelMeasure; + class IfcSoundPressureMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcSoundPressureMeasure = IfcSoundPressureMeasure; + class IfcSpecificHeatCapacityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcSpecificHeatCapacityMeasure = IfcSpecificHeatCapacityMeasure; + class IfcSpecularExponent { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcSpecularExponent = IfcSpecularExponent; + class IfcSpecularRoughness { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcSpecularRoughness = IfcSpecularRoughness; + class IfcTemperatureGradientMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcTemperatureGradientMeasure = IfcTemperatureGradientMeasure; + class IfcTemperatureRateOfChangeMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcTemperatureRateOfChangeMeasure = IfcTemperatureRateOfChangeMeasure; + class IfcText { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcText = IfcText; + class IfcTextAlignment { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcTextAlignment = IfcTextAlignment; + class IfcTextDecoration { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcTextDecoration = IfcTextDecoration; + class IfcTextFontName { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcTextFontName = IfcTextFontName; + class IfcTextTransformation { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcTextTransformation = IfcTextTransformation; + class IfcThermalAdmittanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcThermalAdmittanceMeasure = IfcThermalAdmittanceMeasure; + class IfcThermalConductivityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcThermalConductivityMeasure = IfcThermalConductivityMeasure; + class IfcThermalExpansionCoefficientMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcThermalExpansionCoefficientMeasure = IfcThermalExpansionCoefficientMeasure; + class IfcThermalResistanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcThermalResistanceMeasure = IfcThermalResistanceMeasure; + class IfcThermalTransmittanceMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcThermalTransmittanceMeasure = IfcThermalTransmittanceMeasure; + class IfcThermodynamicTemperatureMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcThermodynamicTemperatureMeasure = IfcThermodynamicTemperatureMeasure; + class IfcTime { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcTime = IfcTime; + class IfcTimeMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcTimeMeasure = IfcTimeMeasure; + class IfcTimeStamp { + constructor(v) { + this.type = 10; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcTimeStamp = IfcTimeStamp; + class IfcTorqueMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcTorqueMeasure = IfcTorqueMeasure; + class IfcURIReference { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcURIReference = IfcURIReference; + class IfcVaporPermeabilityMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcVaporPermeabilityMeasure = IfcVaporPermeabilityMeasure; + class IfcVolumeMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcVolumeMeasure = IfcVolumeMeasure; + class IfcVolumetricFlowRateMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcVolumetricFlowRateMeasure = IfcVolumetricFlowRateMeasure; + class IfcWarpingConstantMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcWarpingConstantMeasure = IfcWarpingConstantMeasure; + class IfcWarpingMomentMeasure { + constructor(v) { + this.type = 4; + this.value = v === null ? v : parseFloat(v); + } + } + IFC4X32.IfcWarpingMomentMeasure = IfcWarpingMomentMeasure; + class IfcActionRequestTypeEnum { + } + IfcActionRequestTypeEnum.EMAIL = { type: 3, value: "EMAIL" }; + IfcActionRequestTypeEnum.FAX = { type: 3, value: "FAX" }; + IfcActionRequestTypeEnum.PHONE = { type: 3, value: "PHONE" }; + IfcActionRequestTypeEnum.POST = { type: 3, value: "POST" }; + IfcActionRequestTypeEnum.VERBAL = { type: 3, value: "VERBAL" }; + IfcActionRequestTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActionRequestTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcActionRequestTypeEnum = IfcActionRequestTypeEnum; + class IfcActionSourceTypeEnum { + } + IfcActionSourceTypeEnum.BRAKES = { type: 3, value: "BRAKES" }; + IfcActionSourceTypeEnum.BUOYANCY = { type: 3, value: "BUOYANCY" }; + IfcActionSourceTypeEnum.COMPLETION_G1 = { type: 3, value: "COMPLETION_G1" }; + IfcActionSourceTypeEnum.CREEP = { type: 3, value: "CREEP" }; + IfcActionSourceTypeEnum.CURRENT = { type: 3, value: "CURRENT" }; + IfcActionSourceTypeEnum.DEAD_LOAD_G = { type: 3, value: "DEAD_LOAD_G" }; + IfcActionSourceTypeEnum.EARTHQUAKE_E = { type: 3, value: "EARTHQUAKE_E" }; + IfcActionSourceTypeEnum.ERECTION = { type: 3, value: "ERECTION" }; + IfcActionSourceTypeEnum.FIRE = { type: 3, value: "FIRE" }; + IfcActionSourceTypeEnum.ICE = { type: 3, value: "ICE" }; + IfcActionSourceTypeEnum.IMPACT = { type: 3, value: "IMPACT" }; + IfcActionSourceTypeEnum.IMPULSE = { type: 3, value: "IMPULSE" }; + IfcActionSourceTypeEnum.LACK_OF_FIT = { type: 3, value: "LACK_OF_FIT" }; + IfcActionSourceTypeEnum.LIVE_LOAD_Q = { type: 3, value: "LIVE_LOAD_Q" }; + IfcActionSourceTypeEnum.PRESTRESSING_P = { type: 3, value: "PRESTRESSING_P" }; + IfcActionSourceTypeEnum.PROPPING = { type: 3, value: "PROPPING" }; + IfcActionSourceTypeEnum.RAIN = { type: 3, value: "RAIN" }; + IfcActionSourceTypeEnum.SETTLEMENT_U = { type: 3, value: "SETTLEMENT_U" }; + IfcActionSourceTypeEnum.SHRINKAGE = { type: 3, value: "SHRINKAGE" }; + IfcActionSourceTypeEnum.SNOW_S = { type: 3, value: "SNOW_S" }; + IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION = { type: 3, value: "SYSTEM_IMPERFECTION" }; + IfcActionSourceTypeEnum.TEMPERATURE_T = { type: 3, value: "TEMPERATURE_T" }; + IfcActionSourceTypeEnum.TRANSPORT = { type: 3, value: "TRANSPORT" }; + IfcActionSourceTypeEnum.WAVE = { type: 3, value: "WAVE" }; + IfcActionSourceTypeEnum.WIND_W = { type: 3, value: "WIND_W" }; + IfcActionSourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActionSourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcActionSourceTypeEnum = IfcActionSourceTypeEnum; + class IfcActionTypeEnum { + } + IfcActionTypeEnum.EXTRAORDINARY_A = { type: 3, value: "EXTRAORDINARY_A" }; + IfcActionTypeEnum.PERMANENT_G = { type: 3, value: "PERMANENT_G" }; + IfcActionTypeEnum.VARIABLE_Q = { type: 3, value: "VARIABLE_Q" }; + IfcActionTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcActionTypeEnum = IfcActionTypeEnum; + class IfcActuatorTypeEnum { + } + IfcActuatorTypeEnum.ELECTRICACTUATOR = { type: 3, value: "ELECTRICACTUATOR" }; + IfcActuatorTypeEnum.HANDOPERATEDACTUATOR = { type: 3, value: "HANDOPERATEDACTUATOR" }; + IfcActuatorTypeEnum.HYDRAULICACTUATOR = { type: 3, value: "HYDRAULICACTUATOR" }; + IfcActuatorTypeEnum.PNEUMATICACTUATOR = { type: 3, value: "PNEUMATICACTUATOR" }; + IfcActuatorTypeEnum.THERMOSTATICACTUATOR = { type: 3, value: "THERMOSTATICACTUATOR" }; + IfcActuatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActuatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcActuatorTypeEnum = IfcActuatorTypeEnum; + class IfcAddressTypeEnum { + } + IfcAddressTypeEnum.DISTRIBUTIONPOINT = { type: 3, value: "DISTRIBUTIONPOINT" }; + IfcAddressTypeEnum.HOME = { type: 3, value: "HOME" }; + IfcAddressTypeEnum.OFFICE = { type: 3, value: "OFFICE" }; + IfcAddressTypeEnum.SITE = { type: 3, value: "SITE" }; + IfcAddressTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC4X32.IfcAddressTypeEnum = IfcAddressTypeEnum; + class IfcAirTerminalBoxTypeEnum { + } + IfcAirTerminalBoxTypeEnum.CONSTANTFLOW = { type: 3, value: "CONSTANTFLOW" }; + IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREDEPENDANT" }; + IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREINDEPENDANT" }; + IfcAirTerminalBoxTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirTerminalBoxTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAirTerminalBoxTypeEnum = IfcAirTerminalBoxTypeEnum; + class IfcAirTerminalTypeEnum { + } + IfcAirTerminalTypeEnum.DIFFUSER = { type: 3, value: "DIFFUSER" }; + IfcAirTerminalTypeEnum.GRILLE = { type: 3, value: "GRILLE" }; + IfcAirTerminalTypeEnum.LOUVRE = { type: 3, value: "LOUVRE" }; + IfcAirTerminalTypeEnum.REGISTER = { type: 3, value: "REGISTER" }; + IfcAirTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAirTerminalTypeEnum = IfcAirTerminalTypeEnum; + class IfcAirToAirHeatRecoveryTypeEnum { + } + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECOUNTERFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECROSSFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER = { type: 3, value: "FIXEDPLATEPARALLELFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE = { type: 3, value: "HEATPIPE" }; + IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL = { type: 3, value: "ROTARYWHEEL" }; + IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP = { type: 3, value: "RUNAROUNDCOILLOOP" }; + IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONCOILTYPEHEATEXCHANGERS" }; + IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONSEALEDTUBEHEATEXCHANGERS" }; + IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS = { type: 3, value: "TWINTOWERENTHALPYRECOVERYLOOPS" }; + IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAirToAirHeatRecoveryTypeEnum = IfcAirToAirHeatRecoveryTypeEnum; + class IfcAlarmTypeEnum { + } + IfcAlarmTypeEnum.BELL = { type: 3, value: "BELL" }; + IfcAlarmTypeEnum.BREAKGLASSBUTTON = { type: 3, value: "BREAKGLASSBUTTON" }; + IfcAlarmTypeEnum.LIGHT = { type: 3, value: "LIGHT" }; + IfcAlarmTypeEnum.MANUALPULLBOX = { type: 3, value: "MANUALPULLBOX" }; + IfcAlarmTypeEnum.RAILWAYCROCODILE = { type: 3, value: "RAILWAYCROCODILE" }; + IfcAlarmTypeEnum.RAILWAYDETONATOR = { type: 3, value: "RAILWAYDETONATOR" }; + IfcAlarmTypeEnum.SIREN = { type: 3, value: "SIREN" }; + IfcAlarmTypeEnum.WHISTLE = { type: 3, value: "WHISTLE" }; + IfcAlarmTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAlarmTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAlarmTypeEnum = IfcAlarmTypeEnum; + class IfcAlignmentCantSegmentTypeEnum { + } + IfcAlignmentCantSegmentTypeEnum.BLOSSCURVE = { type: 3, value: "BLOSSCURVE" }; + IfcAlignmentCantSegmentTypeEnum.CONSTANTCANT = { type: 3, value: "CONSTANTCANT" }; + IfcAlignmentCantSegmentTypeEnum.COSINECURVE = { type: 3, value: "COSINECURVE" }; + IfcAlignmentCantSegmentTypeEnum.HELMERTCURVE = { type: 3, value: "HELMERTCURVE" }; + IfcAlignmentCantSegmentTypeEnum.LINEARTRANSITION = { type: 3, value: "LINEARTRANSITION" }; + IfcAlignmentCantSegmentTypeEnum.SINECURVE = { type: 3, value: "SINECURVE" }; + IfcAlignmentCantSegmentTypeEnum.VIENNESEBEND = { type: 3, value: "VIENNESEBEND" }; + IFC4X32.IfcAlignmentCantSegmentTypeEnum = IfcAlignmentCantSegmentTypeEnum; + class IfcAlignmentHorizontalSegmentTypeEnum { + } + IfcAlignmentHorizontalSegmentTypeEnum.BLOSSCURVE = { type: 3, value: "BLOSSCURVE" }; + IfcAlignmentHorizontalSegmentTypeEnum.CIRCULARARC = { type: 3, value: "CIRCULARARC" }; + IfcAlignmentHorizontalSegmentTypeEnum.CLOTHOID = { type: 3, value: "CLOTHOID" }; + IfcAlignmentHorizontalSegmentTypeEnum.COSINECURVE = { type: 3, value: "COSINECURVE" }; + IfcAlignmentHorizontalSegmentTypeEnum.CUBIC = { type: 3, value: "CUBIC" }; + IfcAlignmentHorizontalSegmentTypeEnum.HELMERTCURVE = { type: 3, value: "HELMERTCURVE" }; + IfcAlignmentHorizontalSegmentTypeEnum.LINE = { type: 3, value: "LINE" }; + IfcAlignmentHorizontalSegmentTypeEnum.SINECURVE = { type: 3, value: "SINECURVE" }; + IfcAlignmentHorizontalSegmentTypeEnum.VIENNESEBEND = { type: 3, value: "VIENNESEBEND" }; + IFC4X32.IfcAlignmentHorizontalSegmentTypeEnum = IfcAlignmentHorizontalSegmentTypeEnum; + class IfcAlignmentTypeEnum { + } + IfcAlignmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAlignmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAlignmentTypeEnum = IfcAlignmentTypeEnum; + class IfcAlignmentVerticalSegmentTypeEnum { + } + IfcAlignmentVerticalSegmentTypeEnum.CIRCULARARC = { type: 3, value: "CIRCULARARC" }; + IfcAlignmentVerticalSegmentTypeEnum.CLOTHOID = { type: 3, value: "CLOTHOID" }; + IfcAlignmentVerticalSegmentTypeEnum.CONSTANTGRADIENT = { type: 3, value: "CONSTANTGRADIENT" }; + IfcAlignmentVerticalSegmentTypeEnum.PARABOLICARC = { type: 3, value: "PARABOLICARC" }; + IFC4X32.IfcAlignmentVerticalSegmentTypeEnum = IfcAlignmentVerticalSegmentTypeEnum; + class IfcAnalysisModelTypeEnum { + } + IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D = { type: 3, value: "IN_PLANE_LOADING_2D" }; + IfcAnalysisModelTypeEnum.LOADING_3D = { type: 3, value: "LOADING_3D" }; + IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D = { type: 3, value: "OUT_PLANE_LOADING_2D" }; + IfcAnalysisModelTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAnalysisModelTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAnalysisModelTypeEnum = IfcAnalysisModelTypeEnum; + class IfcAnalysisTheoryTypeEnum { + } + IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY = { type: 3, value: "FIRST_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY = { type: 3, value: "FULL_NONLINEAR_THEORY" }; + IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY = { type: 3, value: "SECOND_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY = { type: 3, value: "THIRD_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAnalysisTheoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAnalysisTheoryTypeEnum = IfcAnalysisTheoryTypeEnum; + class IfcAnnotationTypeEnum { + } + IfcAnnotationTypeEnum.ASBUILTAREA = { type: 3, value: "ASBUILTAREA" }; + IfcAnnotationTypeEnum.ASBUILTLINE = { type: 3, value: "ASBUILTLINE" }; + IfcAnnotationTypeEnum.ASBUILTPOINT = { type: 3, value: "ASBUILTPOINT" }; + IfcAnnotationTypeEnum.ASSUMEDAREA = { type: 3, value: "ASSUMEDAREA" }; + IfcAnnotationTypeEnum.ASSUMEDLINE = { type: 3, value: "ASSUMEDLINE" }; + IfcAnnotationTypeEnum.ASSUMEDPOINT = { type: 3, value: "ASSUMEDPOINT" }; + IfcAnnotationTypeEnum.NON_PHYSICAL_SIGNAL = { type: 3, value: "NON_PHYSICAL_SIGNAL" }; + IfcAnnotationTypeEnum.SUPERELEVATIONEVENT = { type: 3, value: "SUPERELEVATIONEVENT" }; + IfcAnnotationTypeEnum.WIDTHEVENT = { type: 3, value: "WIDTHEVENT" }; + IfcAnnotationTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAnnotationTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAnnotationTypeEnum = IfcAnnotationTypeEnum; + class IfcArithmeticOperatorEnum { + } + IfcArithmeticOperatorEnum.ADD = { type: 3, value: "ADD" }; + IfcArithmeticOperatorEnum.DIVIDE = { type: 3, value: "DIVIDE" }; + IfcArithmeticOperatorEnum.MULTIPLY = { type: 3, value: "MULTIPLY" }; + IfcArithmeticOperatorEnum.SUBTRACT = { type: 3, value: "SUBTRACT" }; + IFC4X32.IfcArithmeticOperatorEnum = IfcArithmeticOperatorEnum; + class IfcAssemblyPlaceEnum { + } + IfcAssemblyPlaceEnum.FACTORY = { type: 3, value: "FACTORY" }; + IfcAssemblyPlaceEnum.SITE = { type: 3, value: "SITE" }; + IfcAssemblyPlaceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAssemblyPlaceEnum = IfcAssemblyPlaceEnum; + class IfcAudioVisualApplianceTypeEnum { + } + IfcAudioVisualApplianceTypeEnum.AMPLIFIER = { type: 3, value: "AMPLIFIER" }; + IfcAudioVisualApplianceTypeEnum.CAMERA = { type: 3, value: "CAMERA" }; + IfcAudioVisualApplianceTypeEnum.COMMUNICATIONTERMINAL = { type: 3, value: "COMMUNICATIONTERMINAL" }; + IfcAudioVisualApplianceTypeEnum.DISPLAY = { type: 3, value: "DISPLAY" }; + IfcAudioVisualApplianceTypeEnum.MICROPHONE = { type: 3, value: "MICROPHONE" }; + IfcAudioVisualApplianceTypeEnum.PLAYER = { type: 3, value: "PLAYER" }; + IfcAudioVisualApplianceTypeEnum.PROJECTOR = { type: 3, value: "PROJECTOR" }; + IfcAudioVisualApplianceTypeEnum.RECEIVER = { type: 3, value: "RECEIVER" }; + IfcAudioVisualApplianceTypeEnum.RECORDINGEQUIPMENT = { type: 3, value: "RECORDINGEQUIPMENT" }; + IfcAudioVisualApplianceTypeEnum.SPEAKER = { type: 3, value: "SPEAKER" }; + IfcAudioVisualApplianceTypeEnum.SWITCHER = { type: 3, value: "SWITCHER" }; + IfcAudioVisualApplianceTypeEnum.TELEPHONE = { type: 3, value: "TELEPHONE" }; + IfcAudioVisualApplianceTypeEnum.TUNER = { type: 3, value: "TUNER" }; + IfcAudioVisualApplianceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAudioVisualApplianceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAudioVisualApplianceTypeEnum = IfcAudioVisualApplianceTypeEnum; + class IfcBSplineCurveForm { + } + IfcBSplineCurveForm.CIRCULAR_ARC = { type: 3, value: "CIRCULAR_ARC" }; + IfcBSplineCurveForm.ELLIPTIC_ARC = { type: 3, value: "ELLIPTIC_ARC" }; + IfcBSplineCurveForm.HYPERBOLIC_ARC = { type: 3, value: "HYPERBOLIC_ARC" }; + IfcBSplineCurveForm.PARABOLIC_ARC = { type: 3, value: "PARABOLIC_ARC" }; + IfcBSplineCurveForm.POLYLINE_FORM = { type: 3, value: "POLYLINE_FORM" }; + IfcBSplineCurveForm.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC4X32.IfcBSplineCurveForm = IfcBSplineCurveForm; + class IfcBSplineSurfaceForm { + } + IfcBSplineSurfaceForm.CONICAL_SURF = { type: 3, value: "CONICAL_SURF" }; + IfcBSplineSurfaceForm.CYLINDRICAL_SURF = { type: 3, value: "CYLINDRICAL_SURF" }; + IfcBSplineSurfaceForm.GENERALISED_CONE = { type: 3, value: "GENERALISED_CONE" }; + IfcBSplineSurfaceForm.PLANE_SURF = { type: 3, value: "PLANE_SURF" }; + IfcBSplineSurfaceForm.QUADRIC_SURF = { type: 3, value: "QUADRIC_SURF" }; + IfcBSplineSurfaceForm.RULED_SURF = { type: 3, value: "RULED_SURF" }; + IfcBSplineSurfaceForm.SPHERICAL_SURF = { type: 3, value: "SPHERICAL_SURF" }; + IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION = { type: 3, value: "SURF_OF_LINEAR_EXTRUSION" }; + IfcBSplineSurfaceForm.SURF_OF_REVOLUTION = { type: 3, value: "SURF_OF_REVOLUTION" }; + IfcBSplineSurfaceForm.TOROIDAL_SURF = { type: 3, value: "TOROIDAL_SURF" }; + IfcBSplineSurfaceForm.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC4X32.IfcBSplineSurfaceForm = IfcBSplineSurfaceForm; + class IfcBeamTypeEnum { + } + IfcBeamTypeEnum.BEAM = { type: 3, value: "BEAM" }; + IfcBeamTypeEnum.CORNICE = { type: 3, value: "CORNICE" }; + IfcBeamTypeEnum.DIAPHRAGM = { type: 3, value: "DIAPHRAGM" }; + IfcBeamTypeEnum.EDGEBEAM = { type: 3, value: "EDGEBEAM" }; + IfcBeamTypeEnum.GIRDER_SEGMENT = { type: 3, value: "GIRDER_SEGMENT" }; + IfcBeamTypeEnum.HATSTONE = { type: 3, value: "HATSTONE" }; + IfcBeamTypeEnum.HOLLOWCORE = { type: 3, value: "HOLLOWCORE" }; + IfcBeamTypeEnum.JOIST = { type: 3, value: "JOIST" }; + IfcBeamTypeEnum.LINTEL = { type: 3, value: "LINTEL" }; + IfcBeamTypeEnum.PIERCAP = { type: 3, value: "PIERCAP" }; + IfcBeamTypeEnum.SPANDREL = { type: 3, value: "SPANDREL" }; + IfcBeamTypeEnum.T_BEAM = { type: 3, value: "T_BEAM" }; + IfcBeamTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBeamTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBeamTypeEnum = IfcBeamTypeEnum; + class IfcBearingTypeDisplacementEnum { + } + IfcBearingTypeDisplacementEnum.FIXED_MOVEMENT = { type: 3, value: "FIXED_MOVEMENT" }; + IfcBearingTypeDisplacementEnum.FREE_MOVEMENT = { type: 3, value: "FREE_MOVEMENT" }; + IfcBearingTypeDisplacementEnum.GUIDED_LONGITUDINAL = { type: 3, value: "GUIDED_LONGITUDINAL" }; + IfcBearingTypeDisplacementEnum.GUIDED_TRANSVERSAL = { type: 3, value: "GUIDED_TRANSVERSAL" }; + IfcBearingTypeDisplacementEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBearingTypeDisplacementEnum = IfcBearingTypeDisplacementEnum; + class IfcBearingTypeEnum { + } + IfcBearingTypeEnum.CYLINDRICAL = { type: 3, value: "CYLINDRICAL" }; + IfcBearingTypeEnum.DISK = { type: 3, value: "DISK" }; + IfcBearingTypeEnum.ELASTOMERIC = { type: 3, value: "ELASTOMERIC" }; + IfcBearingTypeEnum.GUIDE = { type: 3, value: "GUIDE" }; + IfcBearingTypeEnum.POT = { type: 3, value: "POT" }; + IfcBearingTypeEnum.ROCKER = { type: 3, value: "ROCKER" }; + IfcBearingTypeEnum.ROLLER = { type: 3, value: "ROLLER" }; + IfcBearingTypeEnum.SPHERICAL = { type: 3, value: "SPHERICAL" }; + IfcBearingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBearingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBearingTypeEnum = IfcBearingTypeEnum; + class IfcBenchmarkEnum { + } + IfcBenchmarkEnum.EQUALTO = { type: 3, value: "EQUALTO" }; + IfcBenchmarkEnum.GREATERTHAN = { type: 3, value: "GREATERTHAN" }; + IfcBenchmarkEnum.GREATERTHANOREQUALTO = { type: 3, value: "GREATERTHANOREQUALTO" }; + IfcBenchmarkEnum.INCLUDEDIN = { type: 3, value: "INCLUDEDIN" }; + IfcBenchmarkEnum.INCLUDES = { type: 3, value: "INCLUDES" }; + IfcBenchmarkEnum.LESSTHAN = { type: 3, value: "LESSTHAN" }; + IfcBenchmarkEnum.LESSTHANOREQUALTO = { type: 3, value: "LESSTHANOREQUALTO" }; + IfcBenchmarkEnum.NOTEQUALTO = { type: 3, value: "NOTEQUALTO" }; + IfcBenchmarkEnum.NOTINCLUDEDIN = { type: 3, value: "NOTINCLUDEDIN" }; + IfcBenchmarkEnum.NOTINCLUDES = { type: 3, value: "NOTINCLUDES" }; + IFC4X32.IfcBenchmarkEnum = IfcBenchmarkEnum; + class IfcBoilerTypeEnum { + } + IfcBoilerTypeEnum.STEAM = { type: 3, value: "STEAM" }; + IfcBoilerTypeEnum.WATER = { type: 3, value: "WATER" }; + IfcBoilerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBoilerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBoilerTypeEnum = IfcBoilerTypeEnum; + class IfcBooleanOperator { + } + IfcBooleanOperator.DIFFERENCE = { type: 3, value: "DIFFERENCE" }; + IfcBooleanOperator.INTERSECTION = { type: 3, value: "INTERSECTION" }; + IfcBooleanOperator.UNION = { type: 3, value: "UNION" }; + IFC4X32.IfcBooleanOperator = IfcBooleanOperator; + class IfcBridgePartTypeEnum { + } + IfcBridgePartTypeEnum.ABUTMENT = { type: 3, value: "ABUTMENT" }; + IfcBridgePartTypeEnum.DECK = { type: 3, value: "DECK" }; + IfcBridgePartTypeEnum.DECK_SEGMENT = { type: 3, value: "DECK_SEGMENT" }; + IfcBridgePartTypeEnum.FOUNDATION = { type: 3, value: "FOUNDATION" }; + IfcBridgePartTypeEnum.PIER = { type: 3, value: "PIER" }; + IfcBridgePartTypeEnum.PIER_SEGMENT = { type: 3, value: "PIER_SEGMENT" }; + IfcBridgePartTypeEnum.PYLON = { type: 3, value: "PYLON" }; + IfcBridgePartTypeEnum.SUBSTRUCTURE = { type: 3, value: "SUBSTRUCTURE" }; + IfcBridgePartTypeEnum.SUPERSTRUCTURE = { type: 3, value: "SUPERSTRUCTURE" }; + IfcBridgePartTypeEnum.SURFACESTRUCTURE = { type: 3, value: "SURFACESTRUCTURE" }; + IfcBridgePartTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBridgePartTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBridgePartTypeEnum = IfcBridgePartTypeEnum; + class IfcBridgeTypeEnum { + } + IfcBridgeTypeEnum.ARCHED = { type: 3, value: "ARCHED" }; + IfcBridgeTypeEnum.CABLE_STAYED = { type: 3, value: "CABLE_STAYED" }; + IfcBridgeTypeEnum.CANTILEVER = { type: 3, value: "CANTILEVER" }; + IfcBridgeTypeEnum.CULVERT = { type: 3, value: "CULVERT" }; + IfcBridgeTypeEnum.FRAMEWORK = { type: 3, value: "FRAMEWORK" }; + IfcBridgeTypeEnum.GIRDER = { type: 3, value: "GIRDER" }; + IfcBridgeTypeEnum.SUSPENSION = { type: 3, value: "SUSPENSION" }; + IfcBridgeTypeEnum.TRUSS = { type: 3, value: "TRUSS" }; + IfcBridgeTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBridgeTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBridgeTypeEnum = IfcBridgeTypeEnum; + class IfcBuildingElementPartTypeEnum { + } + IfcBuildingElementPartTypeEnum.APRON = { type: 3, value: "APRON" }; + IfcBuildingElementPartTypeEnum.ARMOURUNIT = { type: 3, value: "ARMOURUNIT" }; + IfcBuildingElementPartTypeEnum.INSULATION = { type: 3, value: "INSULATION" }; + IfcBuildingElementPartTypeEnum.PRECASTPANEL = { type: 3, value: "PRECASTPANEL" }; + IfcBuildingElementPartTypeEnum.SAFETYCAGE = { type: 3, value: "SAFETYCAGE" }; + IfcBuildingElementPartTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBuildingElementPartTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBuildingElementPartTypeEnum = IfcBuildingElementPartTypeEnum; + class IfcBuildingElementProxyTypeEnum { + } + IfcBuildingElementProxyTypeEnum.COMPLEX = { type: 3, value: "COMPLEX" }; + IfcBuildingElementProxyTypeEnum.ELEMENT = { type: 3, value: "ELEMENT" }; + IfcBuildingElementProxyTypeEnum.PARTIAL = { type: 3, value: "PARTIAL" }; + IfcBuildingElementProxyTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBuildingElementProxyTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBuildingElementProxyTypeEnum = IfcBuildingElementProxyTypeEnum; + class IfcBuildingSystemTypeEnum { + } + IfcBuildingSystemTypeEnum.EROSIONPREVENTION = { type: 3, value: "EROSIONPREVENTION" }; + IfcBuildingSystemTypeEnum.FENESTRATION = { type: 3, value: "FENESTRATION" }; + IfcBuildingSystemTypeEnum.FOUNDATION = { type: 3, value: "FOUNDATION" }; + IfcBuildingSystemTypeEnum.LOADBEARING = { type: 3, value: "LOADBEARING" }; + IfcBuildingSystemTypeEnum.OUTERSHELL = { type: 3, value: "OUTERSHELL" }; + IfcBuildingSystemTypeEnum.PRESTRESSING = { type: 3, value: "PRESTRESSING" }; + IfcBuildingSystemTypeEnum.REINFORCING = { type: 3, value: "REINFORCING" }; + IfcBuildingSystemTypeEnum.SHADING = { type: 3, value: "SHADING" }; + IfcBuildingSystemTypeEnum.TRANSPORT = { type: 3, value: "TRANSPORT" }; + IfcBuildingSystemTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBuildingSystemTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBuildingSystemTypeEnum = IfcBuildingSystemTypeEnum; + class IfcBuiltSystemTypeEnum { + } + IfcBuiltSystemTypeEnum.EROSIONPREVENTION = { type: 3, value: "EROSIONPREVENTION" }; + IfcBuiltSystemTypeEnum.FENESTRATION = { type: 3, value: "FENESTRATION" }; + IfcBuiltSystemTypeEnum.FOUNDATION = { type: 3, value: "FOUNDATION" }; + IfcBuiltSystemTypeEnum.LOADBEARING = { type: 3, value: "LOADBEARING" }; + IfcBuiltSystemTypeEnum.MOORING = { type: 3, value: "MOORING" }; + IfcBuiltSystemTypeEnum.OUTERSHELL = { type: 3, value: "OUTERSHELL" }; + IfcBuiltSystemTypeEnum.PRESTRESSING = { type: 3, value: "PRESTRESSING" }; + IfcBuiltSystemTypeEnum.RAILWAYLINE = { type: 3, value: "RAILWAYLINE" }; + IfcBuiltSystemTypeEnum.RAILWAYTRACK = { type: 3, value: "RAILWAYTRACK" }; + IfcBuiltSystemTypeEnum.REINFORCING = { type: 3, value: "REINFORCING" }; + IfcBuiltSystemTypeEnum.SHADING = { type: 3, value: "SHADING" }; + IfcBuiltSystemTypeEnum.TRACKCIRCUIT = { type: 3, value: "TRACKCIRCUIT" }; + IfcBuiltSystemTypeEnum.TRANSPORT = { type: 3, value: "TRANSPORT" }; + IfcBuiltSystemTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBuiltSystemTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBuiltSystemTypeEnum = IfcBuiltSystemTypeEnum; + class IfcBurnerTypeEnum { + } + IfcBurnerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBurnerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBurnerTypeEnum = IfcBurnerTypeEnum; + class IfcCableCarrierFittingTypeEnum { + } + IfcCableCarrierFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcCableCarrierFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcCableCarrierFittingTypeEnum.CROSS = { type: 3, value: "CROSS" }; + IfcCableCarrierFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcCableCarrierFittingTypeEnum.TEE = { type: 3, value: "TEE" }; + IfcCableCarrierFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcCableCarrierFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableCarrierFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCableCarrierFittingTypeEnum = IfcCableCarrierFittingTypeEnum; + class IfcCableCarrierSegmentTypeEnum { + } + IfcCableCarrierSegmentTypeEnum.CABLEBRACKET = { type: 3, value: "CABLEBRACKET" }; + IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT = { type: 3, value: "CABLELADDERSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT = { type: 3, value: "CABLETRAYSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT = { type: 3, value: "CABLETRUNKINGSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CATENARYWIRE = { type: 3, value: "CATENARYWIRE" }; + IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT = { type: 3, value: "CONDUITSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.DROPPER = { type: 3, value: "DROPPER" }; + IfcCableCarrierSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableCarrierSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCableCarrierSegmentTypeEnum = IfcCableCarrierSegmentTypeEnum; + class IfcCableFittingTypeEnum { + } + IfcCableFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcCableFittingTypeEnum.ENTRY = { type: 3, value: "ENTRY" }; + IfcCableFittingTypeEnum.EXIT = { type: 3, value: "EXIT" }; + IfcCableFittingTypeEnum.FANOUT = { type: 3, value: "FANOUT" }; + IfcCableFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcCableFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcCableFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCableFittingTypeEnum = IfcCableFittingTypeEnum; + class IfcCableSegmentTypeEnum { + } + IfcCableSegmentTypeEnum.BUSBARSEGMENT = { type: 3, value: "BUSBARSEGMENT" }; + IfcCableSegmentTypeEnum.CABLESEGMENT = { type: 3, value: "CABLESEGMENT" }; + IfcCableSegmentTypeEnum.CONDUCTORSEGMENT = { type: 3, value: "CONDUCTORSEGMENT" }; + IfcCableSegmentTypeEnum.CONTACTWIRESEGMENT = { type: 3, value: "CONTACTWIRESEGMENT" }; + IfcCableSegmentTypeEnum.CORESEGMENT = { type: 3, value: "CORESEGMENT" }; + IfcCableSegmentTypeEnum.FIBERSEGMENT = { type: 3, value: "FIBERSEGMENT" }; + IfcCableSegmentTypeEnum.FIBERTUBE = { type: 3, value: "FIBERTUBE" }; + IfcCableSegmentTypeEnum.OPTICALCABLESEGMENT = { type: 3, value: "OPTICALCABLESEGMENT" }; + IfcCableSegmentTypeEnum.STITCHWIRE = { type: 3, value: "STITCHWIRE" }; + IfcCableSegmentTypeEnum.WIREPAIRSEGMENT = { type: 3, value: "WIREPAIRSEGMENT" }; + IfcCableSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCableSegmentTypeEnum = IfcCableSegmentTypeEnum; + class IfcCaissonFoundationTypeEnum { + } + IfcCaissonFoundationTypeEnum.CAISSON = { type: 3, value: "CAISSON" }; + IfcCaissonFoundationTypeEnum.WELL = { type: 3, value: "WELL" }; + IfcCaissonFoundationTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCaissonFoundationTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCaissonFoundationTypeEnum = IfcCaissonFoundationTypeEnum; + class IfcChangeActionEnum { + } + IfcChangeActionEnum.ADDED = { type: 3, value: "ADDED" }; + IfcChangeActionEnum.DELETED = { type: 3, value: "DELETED" }; + IfcChangeActionEnum.MODIFIED = { type: 3, value: "MODIFIED" }; + IfcChangeActionEnum.NOCHANGE = { type: 3, value: "NOCHANGE" }; + IfcChangeActionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcChangeActionEnum = IfcChangeActionEnum; + class IfcChillerTypeEnum { + } + IfcChillerTypeEnum.AIRCOOLED = { type: 3, value: "AIRCOOLED" }; + IfcChillerTypeEnum.HEATRECOVERY = { type: 3, value: "HEATRECOVERY" }; + IfcChillerTypeEnum.WATERCOOLED = { type: 3, value: "WATERCOOLED" }; + IfcChillerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcChillerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcChillerTypeEnum = IfcChillerTypeEnum; + class IfcChimneyTypeEnum { + } + IfcChimneyTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcChimneyTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcChimneyTypeEnum = IfcChimneyTypeEnum; + class IfcCoilTypeEnum { + } + IfcCoilTypeEnum.DXCOOLINGCOIL = { type: 3, value: "DXCOOLINGCOIL" }; + IfcCoilTypeEnum.ELECTRICHEATINGCOIL = { type: 3, value: "ELECTRICHEATINGCOIL" }; + IfcCoilTypeEnum.GASHEATINGCOIL = { type: 3, value: "GASHEATINGCOIL" }; + IfcCoilTypeEnum.HYDRONICCOIL = { type: 3, value: "HYDRONICCOIL" }; + IfcCoilTypeEnum.STEAMHEATINGCOIL = { type: 3, value: "STEAMHEATINGCOIL" }; + IfcCoilTypeEnum.WATERCOOLINGCOIL = { type: 3, value: "WATERCOOLINGCOIL" }; + IfcCoilTypeEnum.WATERHEATINGCOIL = { type: 3, value: "WATERHEATINGCOIL" }; + IfcCoilTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoilTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCoilTypeEnum = IfcCoilTypeEnum; + class IfcColumnTypeEnum { + } + IfcColumnTypeEnum.COLUMN = { type: 3, value: "COLUMN" }; + IfcColumnTypeEnum.PIERSTEM = { type: 3, value: "PIERSTEM" }; + IfcColumnTypeEnum.PIERSTEM_SEGMENT = { type: 3, value: "PIERSTEM_SEGMENT" }; + IfcColumnTypeEnum.PILASTER = { type: 3, value: "PILASTER" }; + IfcColumnTypeEnum.STANDCOLUMN = { type: 3, value: "STANDCOLUMN" }; + IfcColumnTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcColumnTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcColumnTypeEnum = IfcColumnTypeEnum; + class IfcCommunicationsApplianceTypeEnum { + } + IfcCommunicationsApplianceTypeEnum.ANTENNA = { type: 3, value: "ANTENNA" }; + IfcCommunicationsApplianceTypeEnum.AUTOMATON = { type: 3, value: "AUTOMATON" }; + IfcCommunicationsApplianceTypeEnum.COMPUTER = { type: 3, value: "COMPUTER" }; + IfcCommunicationsApplianceTypeEnum.FAX = { type: 3, value: "FAX" }; + IfcCommunicationsApplianceTypeEnum.GATEWAY = { type: 3, value: "GATEWAY" }; + IfcCommunicationsApplianceTypeEnum.INTELLIGENTPERIPHERAL = { type: 3, value: "INTELLIGENTPERIPHERAL" }; + IfcCommunicationsApplianceTypeEnum.IPNETWORKEQUIPMENT = { type: 3, value: "IPNETWORKEQUIPMENT" }; + IfcCommunicationsApplianceTypeEnum.LINESIDEELECTRONICUNIT = { type: 3, value: "LINESIDEELECTRONICUNIT" }; + IfcCommunicationsApplianceTypeEnum.MODEM = { type: 3, value: "MODEM" }; + IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE = { type: 3, value: "NETWORKAPPLIANCE" }; + IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE = { type: 3, value: "NETWORKBRIDGE" }; + IfcCommunicationsApplianceTypeEnum.NETWORKHUB = { type: 3, value: "NETWORKHUB" }; + IfcCommunicationsApplianceTypeEnum.OPTICALLINETERMINAL = { type: 3, value: "OPTICALLINETERMINAL" }; + IfcCommunicationsApplianceTypeEnum.OPTICALNETWORKUNIT = { type: 3, value: "OPTICALNETWORKUNIT" }; + IfcCommunicationsApplianceTypeEnum.PRINTER = { type: 3, value: "PRINTER" }; + IfcCommunicationsApplianceTypeEnum.RADIOBLOCKCENTER = { type: 3, value: "RADIOBLOCKCENTER" }; + IfcCommunicationsApplianceTypeEnum.REPEATER = { type: 3, value: "REPEATER" }; + IfcCommunicationsApplianceTypeEnum.ROUTER = { type: 3, value: "ROUTER" }; + IfcCommunicationsApplianceTypeEnum.SCANNER = { type: 3, value: "SCANNER" }; + IfcCommunicationsApplianceTypeEnum.TELECOMMAND = { type: 3, value: "TELECOMMAND" }; + IfcCommunicationsApplianceTypeEnum.TELEPHONYEXCHANGE = { type: 3, value: "TELEPHONYEXCHANGE" }; + IfcCommunicationsApplianceTypeEnum.TRANSITIONCOMPONENT = { type: 3, value: "TRANSITIONCOMPONENT" }; + IfcCommunicationsApplianceTypeEnum.TRANSPONDER = { type: 3, value: "TRANSPONDER" }; + IfcCommunicationsApplianceTypeEnum.TRANSPORTEQUIPMENT = { type: 3, value: "TRANSPORTEQUIPMENT" }; + IfcCommunicationsApplianceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCommunicationsApplianceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCommunicationsApplianceTypeEnum = IfcCommunicationsApplianceTypeEnum; + class IfcComplexPropertyTemplateTypeEnum { + } + IfcComplexPropertyTemplateTypeEnum.P_COMPLEX = { type: 3, value: "P_COMPLEX" }; + IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX = { type: 3, value: "Q_COMPLEX" }; + IFC4X32.IfcComplexPropertyTemplateTypeEnum = IfcComplexPropertyTemplateTypeEnum; + class IfcCompressorTypeEnum { + } + IfcCompressorTypeEnum.BOOSTER = { type: 3, value: "BOOSTER" }; + IfcCompressorTypeEnum.DYNAMIC = { type: 3, value: "DYNAMIC" }; + IfcCompressorTypeEnum.HERMETIC = { type: 3, value: "HERMETIC" }; + IfcCompressorTypeEnum.OPENTYPE = { type: 3, value: "OPENTYPE" }; + IfcCompressorTypeEnum.RECIPROCATING = { type: 3, value: "RECIPROCATING" }; + IfcCompressorTypeEnum.ROLLINGPISTON = { type: 3, value: "ROLLINGPISTON" }; + IfcCompressorTypeEnum.ROTARY = { type: 3, value: "ROTARY" }; + IfcCompressorTypeEnum.ROTARYVANE = { type: 3, value: "ROTARYVANE" }; + IfcCompressorTypeEnum.SCROLL = { type: 3, value: "SCROLL" }; + IfcCompressorTypeEnum.SEMIHERMETIC = { type: 3, value: "SEMIHERMETIC" }; + IfcCompressorTypeEnum.SINGLESCREW = { type: 3, value: "SINGLESCREW" }; + IfcCompressorTypeEnum.SINGLESTAGE = { type: 3, value: "SINGLESTAGE" }; + IfcCompressorTypeEnum.TROCHOIDAL = { type: 3, value: "TROCHOIDAL" }; + IfcCompressorTypeEnum.TWINSCREW = { type: 3, value: "TWINSCREW" }; + IfcCompressorTypeEnum.WELDEDSHELLHERMETIC = { type: 3, value: "WELDEDSHELLHERMETIC" }; + IfcCompressorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCompressorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCompressorTypeEnum = IfcCompressorTypeEnum; + class IfcCondenserTypeEnum { + } + IfcCondenserTypeEnum.AIRCOOLED = { type: 3, value: "AIRCOOLED" }; + IfcCondenserTypeEnum.EVAPORATIVECOOLED = { type: 3, value: "EVAPORATIVECOOLED" }; + IfcCondenserTypeEnum.WATERCOOLED = { type: 3, value: "WATERCOOLED" }; + IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE = { type: 3, value: "WATERCOOLEDBRAZEDPLATE" }; + IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL = { type: 3, value: "WATERCOOLEDSHELLCOIL" }; + IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE = { type: 3, value: "WATERCOOLEDSHELLTUBE" }; + IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE = { type: 3, value: "WATERCOOLEDTUBEINTUBE" }; + IfcCondenserTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCondenserTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCondenserTypeEnum = IfcCondenserTypeEnum; + class IfcConnectionTypeEnum { + } + IfcConnectionTypeEnum.ATEND = { type: 3, value: "ATEND" }; + IfcConnectionTypeEnum.ATPATH = { type: 3, value: "ATPATH" }; + IfcConnectionTypeEnum.ATSTART = { type: 3, value: "ATSTART" }; + IfcConnectionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcConnectionTypeEnum = IfcConnectionTypeEnum; + class IfcConstraintEnum { + } + IfcConstraintEnum.ADVISORY = { type: 3, value: "ADVISORY" }; + IfcConstraintEnum.HARD = { type: 3, value: "HARD" }; + IfcConstraintEnum.SOFT = { type: 3, value: "SOFT" }; + IfcConstraintEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConstraintEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcConstraintEnum = IfcConstraintEnum; + class IfcConstructionEquipmentResourceTypeEnum { + } + IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING = { type: 3, value: "DEMOLISHING" }; + IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING = { type: 3, value: "EARTHMOVING" }; + IfcConstructionEquipmentResourceTypeEnum.ERECTING = { type: 3, value: "ERECTING" }; + IfcConstructionEquipmentResourceTypeEnum.HEATING = { type: 3, value: "HEATING" }; + IfcConstructionEquipmentResourceTypeEnum.LIGHTING = { type: 3, value: "LIGHTING" }; + IfcConstructionEquipmentResourceTypeEnum.PAVING = { type: 3, value: "PAVING" }; + IfcConstructionEquipmentResourceTypeEnum.PUMPING = { type: 3, value: "PUMPING" }; + IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING = { type: 3, value: "TRANSPORTING" }; + IfcConstructionEquipmentResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcConstructionEquipmentResourceTypeEnum = IfcConstructionEquipmentResourceTypeEnum; + class IfcConstructionMaterialResourceTypeEnum { + } + IfcConstructionMaterialResourceTypeEnum.AGGREGATES = { type: 3, value: "AGGREGATES" }; + IfcConstructionMaterialResourceTypeEnum.CONCRETE = { type: 3, value: "CONCRETE" }; + IfcConstructionMaterialResourceTypeEnum.DRYWALL = { type: 3, value: "DRYWALL" }; + IfcConstructionMaterialResourceTypeEnum.FUEL = { type: 3, value: "FUEL" }; + IfcConstructionMaterialResourceTypeEnum.GYPSUM = { type: 3, value: "GYPSUM" }; + IfcConstructionMaterialResourceTypeEnum.MASONRY = { type: 3, value: "MASONRY" }; + IfcConstructionMaterialResourceTypeEnum.METAL = { type: 3, value: "METAL" }; + IfcConstructionMaterialResourceTypeEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcConstructionMaterialResourceTypeEnum.WOOD = { type: 3, value: "WOOD" }; + IfcConstructionMaterialResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConstructionMaterialResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcConstructionMaterialResourceTypeEnum = IfcConstructionMaterialResourceTypeEnum; + class IfcConstructionProductResourceTypeEnum { + } + IfcConstructionProductResourceTypeEnum.ASSEMBLY = { type: 3, value: "ASSEMBLY" }; + IfcConstructionProductResourceTypeEnum.FORMWORK = { type: 3, value: "FORMWORK" }; + IfcConstructionProductResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConstructionProductResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcConstructionProductResourceTypeEnum = IfcConstructionProductResourceTypeEnum; + class IfcControllerTypeEnum { + } + IfcControllerTypeEnum.FLOATING = { type: 3, value: "FLOATING" }; + IfcControllerTypeEnum.MULTIPOSITION = { type: 3, value: "MULTIPOSITION" }; + IfcControllerTypeEnum.PROGRAMMABLE = { type: 3, value: "PROGRAMMABLE" }; + IfcControllerTypeEnum.PROPORTIONAL = { type: 3, value: "PROPORTIONAL" }; + IfcControllerTypeEnum.TWOPOSITION = { type: 3, value: "TWOPOSITION" }; + IfcControllerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcControllerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcControllerTypeEnum = IfcControllerTypeEnum; + class IfcConveyorSegmentTypeEnum { + } + IfcConveyorSegmentTypeEnum.BELTCONVEYOR = { type: 3, value: "BELTCONVEYOR" }; + IfcConveyorSegmentTypeEnum.BUCKETCONVEYOR = { type: 3, value: "BUCKETCONVEYOR" }; + IfcConveyorSegmentTypeEnum.CHUTECONVEYOR = { type: 3, value: "CHUTECONVEYOR" }; + IfcConveyorSegmentTypeEnum.SCREWCONVEYOR = { type: 3, value: "SCREWCONVEYOR" }; + IfcConveyorSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConveyorSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcConveyorSegmentTypeEnum = IfcConveyorSegmentTypeEnum; + class IfcCooledBeamTypeEnum { + } + IfcCooledBeamTypeEnum.ACTIVE = { type: 3, value: "ACTIVE" }; + IfcCooledBeamTypeEnum.PASSIVE = { type: 3, value: "PASSIVE" }; + IfcCooledBeamTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCooledBeamTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCooledBeamTypeEnum = IfcCooledBeamTypeEnum; + class IfcCoolingTowerTypeEnum { + } + IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT = { type: 3, value: "MECHANICALFORCEDDRAFT" }; + IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT = { type: 3, value: "MECHANICALINDUCEDDRAFT" }; + IfcCoolingTowerTypeEnum.NATURALDRAFT = { type: 3, value: "NATURALDRAFT" }; + IfcCoolingTowerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoolingTowerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCoolingTowerTypeEnum = IfcCoolingTowerTypeEnum; + class IfcCostItemTypeEnum { + } + IfcCostItemTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCostItemTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCostItemTypeEnum = IfcCostItemTypeEnum; + class IfcCostScheduleTypeEnum { + } + IfcCostScheduleTypeEnum.BUDGET = { type: 3, value: "BUDGET" }; + IfcCostScheduleTypeEnum.COSTPLAN = { type: 3, value: "COSTPLAN" }; + IfcCostScheduleTypeEnum.ESTIMATE = { type: 3, value: "ESTIMATE" }; + IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES = { type: 3, value: "PRICEDBILLOFQUANTITIES" }; + IfcCostScheduleTypeEnum.SCHEDULEOFRATES = { type: 3, value: "SCHEDULEOFRATES" }; + IfcCostScheduleTypeEnum.TENDER = { type: 3, value: "TENDER" }; + IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES = { type: 3, value: "UNPRICEDBILLOFQUANTITIES" }; + IfcCostScheduleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCostScheduleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCostScheduleTypeEnum = IfcCostScheduleTypeEnum; + class IfcCourseTypeEnum { + } + IfcCourseTypeEnum.ARMOUR = { type: 3, value: "ARMOUR" }; + IfcCourseTypeEnum.BALLASTBED = { type: 3, value: "BALLASTBED" }; + IfcCourseTypeEnum.CORE = { type: 3, value: "CORE" }; + IfcCourseTypeEnum.FILTER = { type: 3, value: "FILTER" }; + IfcCourseTypeEnum.PAVEMENT = { type: 3, value: "PAVEMENT" }; + IfcCourseTypeEnum.PROTECTION = { type: 3, value: "PROTECTION" }; + IfcCourseTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCourseTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCourseTypeEnum = IfcCourseTypeEnum; + class IfcCoveringTypeEnum { + } + IfcCoveringTypeEnum.CEILING = { type: 3, value: "CEILING" }; + IfcCoveringTypeEnum.CLADDING = { type: 3, value: "CLADDING" }; + IfcCoveringTypeEnum.COPING = { type: 3, value: "COPING" }; + IfcCoveringTypeEnum.FLOORING = { type: 3, value: "FLOORING" }; + IfcCoveringTypeEnum.INSULATION = { type: 3, value: "INSULATION" }; + IfcCoveringTypeEnum.MEMBRANE = { type: 3, value: "MEMBRANE" }; + IfcCoveringTypeEnum.MOLDING = { type: 3, value: "MOLDING" }; + IfcCoveringTypeEnum.ROOFING = { type: 3, value: "ROOFING" }; + IfcCoveringTypeEnum.SKIRTINGBOARD = { type: 3, value: "SKIRTINGBOARD" }; + IfcCoveringTypeEnum.SLEEVING = { type: 3, value: "SLEEVING" }; + IfcCoveringTypeEnum.TOPPING = { type: 3, value: "TOPPING" }; + IfcCoveringTypeEnum.WRAPPING = { type: 3, value: "WRAPPING" }; + IfcCoveringTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoveringTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCoveringTypeEnum = IfcCoveringTypeEnum; + class IfcCrewResourceTypeEnum { + } + IfcCrewResourceTypeEnum.OFFICE = { type: 3, value: "OFFICE" }; + IfcCrewResourceTypeEnum.SITE = { type: 3, value: "SITE" }; + IfcCrewResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCrewResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCrewResourceTypeEnum = IfcCrewResourceTypeEnum; + class IfcCurtainWallTypeEnum { + } + IfcCurtainWallTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCurtainWallTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCurtainWallTypeEnum = IfcCurtainWallTypeEnum; + class IfcCurveInterpolationEnum { + } + IfcCurveInterpolationEnum.LINEAR = { type: 3, value: "LINEAR" }; + IfcCurveInterpolationEnum.LOG_LINEAR = { type: 3, value: "LOG_LINEAR" }; + IfcCurveInterpolationEnum.LOG_LOG = { type: 3, value: "LOG_LOG" }; + IfcCurveInterpolationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCurveInterpolationEnum = IfcCurveInterpolationEnum; + class IfcDamperTypeEnum { + } + IfcDamperTypeEnum.BACKDRAFTDAMPER = { type: 3, value: "BACKDRAFTDAMPER" }; + IfcDamperTypeEnum.BALANCINGDAMPER = { type: 3, value: "BALANCINGDAMPER" }; + IfcDamperTypeEnum.BLASTDAMPER = { type: 3, value: "BLASTDAMPER" }; + IfcDamperTypeEnum.CONTROLDAMPER = { type: 3, value: "CONTROLDAMPER" }; + IfcDamperTypeEnum.FIREDAMPER = { type: 3, value: "FIREDAMPER" }; + IfcDamperTypeEnum.FIRESMOKEDAMPER = { type: 3, value: "FIRESMOKEDAMPER" }; + IfcDamperTypeEnum.FUMEHOODEXHAUST = { type: 3, value: "FUMEHOODEXHAUST" }; + IfcDamperTypeEnum.GRAVITYDAMPER = { type: 3, value: "GRAVITYDAMPER" }; + IfcDamperTypeEnum.GRAVITYRELIEFDAMPER = { type: 3, value: "GRAVITYRELIEFDAMPER" }; + IfcDamperTypeEnum.RELIEFDAMPER = { type: 3, value: "RELIEFDAMPER" }; + IfcDamperTypeEnum.SMOKEDAMPER = { type: 3, value: "SMOKEDAMPER" }; + IfcDamperTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDamperTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDamperTypeEnum = IfcDamperTypeEnum; + class IfcDataOriginEnum { + } + IfcDataOriginEnum.MEASURED = { type: 3, value: "MEASURED" }; + IfcDataOriginEnum.PREDICTED = { type: 3, value: "PREDICTED" }; + IfcDataOriginEnum.SIMULATED = { type: 3, value: "SIMULATED" }; + IfcDataOriginEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDataOriginEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDataOriginEnum = IfcDataOriginEnum; + class IfcDerivedUnitEnum { + } + IfcDerivedUnitEnum.ACCELERATIONUNIT = { type: 3, value: "ACCELERATIONUNIT" }; + IfcDerivedUnitEnum.ANGULARVELOCITYUNIT = { type: 3, value: "ANGULARVELOCITYUNIT" }; + IfcDerivedUnitEnum.AREADENSITYUNIT = { type: 3, value: "AREADENSITYUNIT" }; + IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT = { type: 3, value: "COMPOUNDPLANEANGLEUNIT" }; + IfcDerivedUnitEnum.CURVATUREUNIT = { type: 3, value: "CURVATUREUNIT" }; + IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT = { type: 3, value: "DYNAMICVISCOSITYUNIT" }; + IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT = { type: 3, value: "HEATFLUXDENSITYUNIT" }; + IfcDerivedUnitEnum.HEATINGVALUEUNIT = { type: 3, value: "HEATINGVALUEUNIT" }; + IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT = { type: 3, value: "INTEGERCOUNTRATEUNIT" }; + IfcDerivedUnitEnum.IONCONCENTRATIONUNIT = { type: 3, value: "IONCONCENTRATIONUNIT" }; + IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT = { type: 3, value: "ISOTHERMALMOISTURECAPACITYUNIT" }; + IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT = { type: 3, value: "KINEMATICVISCOSITYUNIT" }; + IfcDerivedUnitEnum.LINEARFORCEUNIT = { type: 3, value: "LINEARFORCEUNIT" }; + IfcDerivedUnitEnum.LINEARMOMENTUNIT = { type: 3, value: "LINEARMOMENTUNIT" }; + IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT = { type: 3, value: "LINEARSTIFFNESSUNIT" }; + IfcDerivedUnitEnum.LINEARVELOCITYUNIT = { type: 3, value: "LINEARVELOCITYUNIT" }; + IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT = { type: 3, value: "LUMINOUSINTENSITYDISTRIBUTIONUNIT" }; + IfcDerivedUnitEnum.MASSDENSITYUNIT = { type: 3, value: "MASSDENSITYUNIT" }; + IfcDerivedUnitEnum.MASSFLOWRATEUNIT = { type: 3, value: "MASSFLOWRATEUNIT" }; + IfcDerivedUnitEnum.MASSPERLENGTHUNIT = { type: 3, value: "MASSPERLENGTHUNIT" }; + IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT = { type: 3, value: "MODULUSOFELASTICITYUNIT" }; + IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFLINEARSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFROTATIONALSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT = { type: 3, value: "MOISTUREDIFFUSIVITYUNIT" }; + IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT = { type: 3, value: "MOLECULARWEIGHTUNIT" }; + IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT = { type: 3, value: "MOMENTOFINERTIAUNIT" }; + IfcDerivedUnitEnum.PHUNIT = { type: 3, value: "PHUNIT" }; + IfcDerivedUnitEnum.PLANARFORCEUNIT = { type: 3, value: "PLANARFORCEUNIT" }; + IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT = { type: 3, value: "ROTATIONALFREQUENCYUNIT" }; + IfcDerivedUnitEnum.ROTATIONALMASSUNIT = { type: 3, value: "ROTATIONALMASSUNIT" }; + IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT = { type: 3, value: "ROTATIONALSTIFFNESSUNIT" }; + IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT = { type: 3, value: "SECTIONAREAINTEGRALUNIT" }; + IfcDerivedUnitEnum.SECTIONMODULUSUNIT = { type: 3, value: "SECTIONMODULUSUNIT" }; + IfcDerivedUnitEnum.SHEARMODULUSUNIT = { type: 3, value: "SHEARMODULUSUNIT" }; + IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT = { type: 3, value: "SOUNDPOWERLEVELUNIT" }; + IfcDerivedUnitEnum.SOUNDPOWERUNIT = { type: 3, value: "SOUNDPOWERUNIT" }; + IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT = { type: 3, value: "SOUNDPRESSURELEVELUNIT" }; + IfcDerivedUnitEnum.SOUNDPRESSUREUNIT = { type: 3, value: "SOUNDPRESSUREUNIT" }; + IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT = { type: 3, value: "SPECIFICHEATCAPACITYUNIT" }; + IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT = { type: 3, value: "TEMPERATUREGRADIENTUNIT" }; + IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT = { type: 3, value: "TEMPERATURERATEOFCHANGEUNIT" }; + IfcDerivedUnitEnum.THERMALADMITTANCEUNIT = { type: 3, value: "THERMALADMITTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT = { type: 3, value: "THERMALCONDUCTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT = { type: 3, value: "THERMALEXPANSIONCOEFFICIENTUNIT" }; + IfcDerivedUnitEnum.THERMALRESISTANCEUNIT = { type: 3, value: "THERMALRESISTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT = { type: 3, value: "THERMALTRANSMITTANCEUNIT" }; + IfcDerivedUnitEnum.TORQUEUNIT = { type: 3, value: "TORQUEUNIT" }; + IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT = { type: 3, value: "VAPORPERMEABILITYUNIT" }; + IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT = { type: 3, value: "VOLUMETRICFLOWRATEUNIT" }; + IfcDerivedUnitEnum.WARPINGCONSTANTUNIT = { type: 3, value: "WARPINGCONSTANTUNIT" }; + IfcDerivedUnitEnum.WARPINGMOMENTUNIT = { type: 3, value: "WARPINGMOMENTUNIT" }; + IfcDerivedUnitEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC4X32.IfcDerivedUnitEnum = IfcDerivedUnitEnum; + class IfcDirectionSenseEnum { + } + IfcDirectionSenseEnum.NEGATIVE = { type: 3, value: "NEGATIVE" }; + IfcDirectionSenseEnum.POSITIVE = { type: 3, value: "POSITIVE" }; + IFC4X32.IfcDirectionSenseEnum = IfcDirectionSenseEnum; + class IfcDiscreteAccessoryTypeEnum { + } + IfcDiscreteAccessoryTypeEnum.ANCHORPLATE = { type: 3, value: "ANCHORPLATE" }; + IfcDiscreteAccessoryTypeEnum.BIRDPROTECTION = { type: 3, value: "BIRDPROTECTION" }; + IfcDiscreteAccessoryTypeEnum.BRACKET = { type: 3, value: "BRACKET" }; + IfcDiscreteAccessoryTypeEnum.CABLEARRANGER = { type: 3, value: "CABLEARRANGER" }; + IfcDiscreteAccessoryTypeEnum.ELASTIC_CUSHION = { type: 3, value: "ELASTIC_CUSHION" }; + IfcDiscreteAccessoryTypeEnum.EXPANSION_JOINT_DEVICE = { type: 3, value: "EXPANSION_JOINT_DEVICE" }; + IfcDiscreteAccessoryTypeEnum.FILLER = { type: 3, value: "FILLER" }; + IfcDiscreteAccessoryTypeEnum.FLASHING = { type: 3, value: "FLASHING" }; + IfcDiscreteAccessoryTypeEnum.INSULATOR = { type: 3, value: "INSULATOR" }; + IfcDiscreteAccessoryTypeEnum.LOCK = { type: 3, value: "LOCK" }; + IfcDiscreteAccessoryTypeEnum.PANEL_STRENGTHENING = { type: 3, value: "PANEL_STRENGTHENING" }; + IfcDiscreteAccessoryTypeEnum.POINTMACHINEMOUNTINGDEVICE = { type: 3, value: "POINTMACHINEMOUNTINGDEVICE" }; + IfcDiscreteAccessoryTypeEnum.POINT_MACHINE_LOCKING_DEVICE = { type: 3, value: "POINT_MACHINE_LOCKING_DEVICE" }; + IfcDiscreteAccessoryTypeEnum.RAILBRACE = { type: 3, value: "RAILBRACE" }; + IfcDiscreteAccessoryTypeEnum.RAILPAD = { type: 3, value: "RAILPAD" }; + IfcDiscreteAccessoryTypeEnum.RAIL_LUBRICATION = { type: 3, value: "RAIL_LUBRICATION" }; + IfcDiscreteAccessoryTypeEnum.RAIL_MECHANICAL_EQUIPMENT = { type: 3, value: "RAIL_MECHANICAL_EQUIPMENT" }; + IfcDiscreteAccessoryTypeEnum.SHOE = { type: 3, value: "SHOE" }; + IfcDiscreteAccessoryTypeEnum.SLIDINGCHAIR = { type: 3, value: "SLIDINGCHAIR" }; + IfcDiscreteAccessoryTypeEnum.SOUNDABSORPTION = { type: 3, value: "SOUNDABSORPTION" }; + IfcDiscreteAccessoryTypeEnum.TENSIONINGEQUIPMENT = { type: 3, value: "TENSIONINGEQUIPMENT" }; + IfcDiscreteAccessoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDiscreteAccessoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDiscreteAccessoryTypeEnum = IfcDiscreteAccessoryTypeEnum; + class IfcDistributionBoardTypeEnum { + } + IfcDistributionBoardTypeEnum.CONSUMERUNIT = { type: 3, value: "CONSUMERUNIT" }; + IfcDistributionBoardTypeEnum.DISPATCHINGBOARD = { type: 3, value: "DISPATCHINGBOARD" }; + IfcDistributionBoardTypeEnum.DISTRIBUTIONBOARD = { type: 3, value: "DISTRIBUTIONBOARD" }; + IfcDistributionBoardTypeEnum.DISTRIBUTIONFRAME = { type: 3, value: "DISTRIBUTIONFRAME" }; + IfcDistributionBoardTypeEnum.MOTORCONTROLCENTRE = { type: 3, value: "MOTORCONTROLCENTRE" }; + IfcDistributionBoardTypeEnum.SWITCHBOARD = { type: 3, value: "SWITCHBOARD" }; + IfcDistributionBoardTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDistributionBoardTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDistributionBoardTypeEnum = IfcDistributionBoardTypeEnum; + class IfcDistributionChamberElementTypeEnum { + } + IfcDistributionChamberElementTypeEnum.FORMEDDUCT = { type: 3, value: "FORMEDDUCT" }; + IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER = { type: 3, value: "INSPECTIONCHAMBER" }; + IfcDistributionChamberElementTypeEnum.INSPECTIONPIT = { type: 3, value: "INSPECTIONPIT" }; + IfcDistributionChamberElementTypeEnum.MANHOLE = { type: 3, value: "MANHOLE" }; + IfcDistributionChamberElementTypeEnum.METERCHAMBER = { type: 3, value: "METERCHAMBER" }; + IfcDistributionChamberElementTypeEnum.SUMP = { type: 3, value: "SUMP" }; + IfcDistributionChamberElementTypeEnum.TRENCH = { type: 3, value: "TRENCH" }; + IfcDistributionChamberElementTypeEnum.VALVECHAMBER = { type: 3, value: "VALVECHAMBER" }; + IfcDistributionChamberElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDistributionChamberElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDistributionChamberElementTypeEnum = IfcDistributionChamberElementTypeEnum; + class IfcDistributionPortTypeEnum { + } + IfcDistributionPortTypeEnum.CABLE = { type: 3, value: "CABLE" }; + IfcDistributionPortTypeEnum.CABLECARRIER = { type: 3, value: "CABLECARRIER" }; + IfcDistributionPortTypeEnum.DUCT = { type: 3, value: "DUCT" }; + IfcDistributionPortTypeEnum.PIPE = { type: 3, value: "PIPE" }; + IfcDistributionPortTypeEnum.WIRELESS = { type: 3, value: "WIRELESS" }; + IfcDistributionPortTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDistributionPortTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDistributionPortTypeEnum = IfcDistributionPortTypeEnum; + class IfcDistributionSystemEnum { + } + IfcDistributionSystemEnum.AIRCONDITIONING = { type: 3, value: "AIRCONDITIONING" }; + IfcDistributionSystemEnum.AUDIOVISUAL = { type: 3, value: "AUDIOVISUAL" }; + IfcDistributionSystemEnum.CATENARY_SYSTEM = { type: 3, value: "CATENARY_SYSTEM" }; + IfcDistributionSystemEnum.CHEMICAL = { type: 3, value: "CHEMICAL" }; + IfcDistributionSystemEnum.CHILLEDWATER = { type: 3, value: "CHILLEDWATER" }; + IfcDistributionSystemEnum.COMMUNICATION = { type: 3, value: "COMMUNICATION" }; + IfcDistributionSystemEnum.COMPRESSEDAIR = { type: 3, value: "COMPRESSEDAIR" }; + IfcDistributionSystemEnum.CONDENSERWATER = { type: 3, value: "CONDENSERWATER" }; + IfcDistributionSystemEnum.CONTROL = { type: 3, value: "CONTROL" }; + IfcDistributionSystemEnum.CONVEYING = { type: 3, value: "CONVEYING" }; + IfcDistributionSystemEnum.DATA = { type: 3, value: "DATA" }; + IfcDistributionSystemEnum.DISPOSAL = { type: 3, value: "DISPOSAL" }; + IfcDistributionSystemEnum.DOMESTICCOLDWATER = { type: 3, value: "DOMESTICCOLDWATER" }; + IfcDistributionSystemEnum.DOMESTICHOTWATER = { type: 3, value: "DOMESTICHOTWATER" }; + IfcDistributionSystemEnum.DRAINAGE = { type: 3, value: "DRAINAGE" }; + IfcDistributionSystemEnum.EARTHING = { type: 3, value: "EARTHING" }; + IfcDistributionSystemEnum.ELECTRICAL = { type: 3, value: "ELECTRICAL" }; + IfcDistributionSystemEnum.ELECTROACOUSTIC = { type: 3, value: "ELECTROACOUSTIC" }; + IfcDistributionSystemEnum.EXHAUST = { type: 3, value: "EXHAUST" }; + IfcDistributionSystemEnum.FIREPROTECTION = { type: 3, value: "FIREPROTECTION" }; + IfcDistributionSystemEnum.FIXEDTRANSMISSIONNETWORK = { type: 3, value: "FIXEDTRANSMISSIONNETWORK" }; + IfcDistributionSystemEnum.FUEL = { type: 3, value: "FUEL" }; + IfcDistributionSystemEnum.GAS = { type: 3, value: "GAS" }; + IfcDistributionSystemEnum.HAZARDOUS = { type: 3, value: "HAZARDOUS" }; + IfcDistributionSystemEnum.HEATING = { type: 3, value: "HEATING" }; + IfcDistributionSystemEnum.LIGHTING = { type: 3, value: "LIGHTING" }; + IfcDistributionSystemEnum.LIGHTNINGPROTECTION = { type: 3, value: "LIGHTNINGPROTECTION" }; + IfcDistributionSystemEnum.MOBILENETWORK = { type: 3, value: "MOBILENETWORK" }; + IfcDistributionSystemEnum.MONITORINGSYSTEM = { type: 3, value: "MONITORINGSYSTEM" }; + IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE = { type: 3, value: "MUNICIPALSOLIDWASTE" }; + IfcDistributionSystemEnum.OIL = { type: 3, value: "OIL" }; + IfcDistributionSystemEnum.OPERATIONAL = { type: 3, value: "OPERATIONAL" }; + IfcDistributionSystemEnum.OPERATIONALTELEPHONYSYSTEM = { type: 3, value: "OPERATIONALTELEPHONYSYSTEM" }; + IfcDistributionSystemEnum.OVERHEAD_CONTACTLINE_SYSTEM = { type: 3, value: "OVERHEAD_CONTACTLINE_SYSTEM" }; + IfcDistributionSystemEnum.POWERGENERATION = { type: 3, value: "POWERGENERATION" }; + IfcDistributionSystemEnum.RAINWATER = { type: 3, value: "RAINWATER" }; + IfcDistributionSystemEnum.REFRIGERATION = { type: 3, value: "REFRIGERATION" }; + IfcDistributionSystemEnum.RETURN_CIRCUIT = { type: 3, value: "RETURN_CIRCUIT" }; + IfcDistributionSystemEnum.SECURITY = { type: 3, value: "SECURITY" }; + IfcDistributionSystemEnum.SEWAGE = { type: 3, value: "SEWAGE" }; + IfcDistributionSystemEnum.SIGNAL = { type: 3, value: "SIGNAL" }; + IfcDistributionSystemEnum.STORMWATER = { type: 3, value: "STORMWATER" }; + IfcDistributionSystemEnum.TELEPHONE = { type: 3, value: "TELEPHONE" }; + IfcDistributionSystemEnum.TV = { type: 3, value: "TV" }; + IfcDistributionSystemEnum.VACUUM = { type: 3, value: "VACUUM" }; + IfcDistributionSystemEnum.VENT = { type: 3, value: "VENT" }; + IfcDistributionSystemEnum.VENTILATION = { type: 3, value: "VENTILATION" }; + IfcDistributionSystemEnum.WASTEWATER = { type: 3, value: "WASTEWATER" }; + IfcDistributionSystemEnum.WATERSUPPLY = { type: 3, value: "WATERSUPPLY" }; + IfcDistributionSystemEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDistributionSystemEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDistributionSystemEnum = IfcDistributionSystemEnum; + class IfcDocumentConfidentialityEnum { + } + IfcDocumentConfidentialityEnum.CONFIDENTIAL = { type: 3, value: "CONFIDENTIAL" }; + IfcDocumentConfidentialityEnum.PERSONAL = { type: 3, value: "PERSONAL" }; + IfcDocumentConfidentialityEnum.PUBLIC = { type: 3, value: "PUBLIC" }; + IfcDocumentConfidentialityEnum.RESTRICTED = { type: 3, value: "RESTRICTED" }; + IfcDocumentConfidentialityEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDocumentConfidentialityEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDocumentConfidentialityEnum = IfcDocumentConfidentialityEnum; + class IfcDocumentStatusEnum { + } + IfcDocumentStatusEnum.DRAFT = { type: 3, value: "DRAFT" }; + IfcDocumentStatusEnum.FINAL = { type: 3, value: "FINAL" }; + IfcDocumentStatusEnum.FINALDRAFT = { type: 3, value: "FINALDRAFT" }; + IfcDocumentStatusEnum.REVISION = { type: 3, value: "REVISION" }; + IfcDocumentStatusEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDocumentStatusEnum = IfcDocumentStatusEnum; + class IfcDoorPanelOperationEnum { + } + IfcDoorPanelOperationEnum.DOUBLE_ACTING = { type: 3, value: "DOUBLE_ACTING" }; + IfcDoorPanelOperationEnum.FIXEDPANEL = { type: 3, value: "FIXEDPANEL" }; + IfcDoorPanelOperationEnum.FOLDING = { type: 3, value: "FOLDING" }; + IfcDoorPanelOperationEnum.REVOLVING = { type: 3, value: "REVOLVING" }; + IfcDoorPanelOperationEnum.ROLLINGUP = { type: 3, value: "ROLLINGUP" }; + IfcDoorPanelOperationEnum.SLIDING = { type: 3, value: "SLIDING" }; + IfcDoorPanelOperationEnum.SWINGING = { type: 3, value: "SWINGING" }; + IfcDoorPanelOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorPanelOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDoorPanelOperationEnum = IfcDoorPanelOperationEnum; + class IfcDoorPanelPositionEnum { + } + IfcDoorPanelPositionEnum.LEFT = { type: 3, value: "LEFT" }; + IfcDoorPanelPositionEnum.MIDDLE = { type: 3, value: "MIDDLE" }; + IfcDoorPanelPositionEnum.RIGHT = { type: 3, value: "RIGHT" }; + IfcDoorPanelPositionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDoorPanelPositionEnum = IfcDoorPanelPositionEnum; + class IfcDoorStyleConstructionEnum { + } + IfcDoorStyleConstructionEnum.ALUMINIUM = { type: 3, value: "ALUMINIUM" }; + IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC = { type: 3, value: "ALUMINIUM_PLASTIC" }; + IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD = { type: 3, value: "ALUMINIUM_WOOD" }; + IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL = { type: 3, value: "HIGH_GRADE_STEEL" }; + IfcDoorStyleConstructionEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcDoorStyleConstructionEnum.STEEL = { type: 3, value: "STEEL" }; + IfcDoorStyleConstructionEnum.WOOD = { type: 3, value: "WOOD" }; + IfcDoorStyleConstructionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorStyleConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDoorStyleConstructionEnum = IfcDoorStyleConstructionEnum; + class IfcDoorStyleOperationEnum { + } + IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING = { type: 3, value: "DOUBLE_DOOR_DOUBLE_SWING" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING = { type: 3, value: "DOUBLE_DOOR_FOLDING" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING = { type: 3, value: "DOUBLE_DOOR_SLIDING" }; + IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT = { type: 3, value: "DOUBLE_SWING_LEFT" }; + IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT = { type: 3, value: "DOUBLE_SWING_RIGHT" }; + IfcDoorStyleOperationEnum.FOLDING_TO_LEFT = { type: 3, value: "FOLDING_TO_LEFT" }; + IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT = { type: 3, value: "FOLDING_TO_RIGHT" }; + IfcDoorStyleOperationEnum.REVOLVING = { type: 3, value: "REVOLVING" }; + IfcDoorStyleOperationEnum.ROLLINGUP = { type: 3, value: "ROLLINGUP" }; + IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT = { type: 3, value: "SINGLE_SWING_LEFT" }; + IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT = { type: 3, value: "SINGLE_SWING_RIGHT" }; + IfcDoorStyleOperationEnum.SLIDING_TO_LEFT = { type: 3, value: "SLIDING_TO_LEFT" }; + IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT = { type: 3, value: "SLIDING_TO_RIGHT" }; + IfcDoorStyleOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorStyleOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDoorStyleOperationEnum = IfcDoorStyleOperationEnum; + class IfcDoorTypeEnum { + } + IfcDoorTypeEnum.BOOM_BARRIER = { type: 3, value: "BOOM_BARRIER" }; + IfcDoorTypeEnum.DOOR = { type: 3, value: "DOOR" }; + IfcDoorTypeEnum.GATE = { type: 3, value: "GATE" }; + IfcDoorTypeEnum.TRAPDOOR = { type: 3, value: "TRAPDOOR" }; + IfcDoorTypeEnum.TURNSTILE = { type: 3, value: "TURNSTILE" }; + IfcDoorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDoorTypeEnum = IfcDoorTypeEnum; + class IfcDoorTypeOperationEnum { + } + IfcDoorTypeOperationEnum.DOUBLE_PANEL_DOUBLE_SWING = { type: 3, value: "DOUBLE_PANEL_DOUBLE_SWING" }; + IfcDoorTypeOperationEnum.DOUBLE_PANEL_FOLDING = { type: 3, value: "DOUBLE_PANEL_FOLDING" }; + IfcDoorTypeOperationEnum.DOUBLE_PANEL_LIFTING_VERTICAL = { type: 3, value: "DOUBLE_PANEL_LIFTING_VERTICAL" }; + IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING = { type: 3, value: "DOUBLE_PANEL_SINGLE_SWING" }; + IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT = { type: 3, value: "DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT" }; + IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT = { type: 3, value: "DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT" }; + IfcDoorTypeOperationEnum.DOUBLE_PANEL_SLIDING = { type: 3, value: "DOUBLE_PANEL_SLIDING" }; + IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT = { type: 3, value: "DOUBLE_SWING_LEFT" }; + IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT = { type: 3, value: "DOUBLE_SWING_RIGHT" }; + IfcDoorTypeOperationEnum.FOLDING_TO_LEFT = { type: 3, value: "FOLDING_TO_LEFT" }; + IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT = { type: 3, value: "FOLDING_TO_RIGHT" }; + IfcDoorTypeOperationEnum.LIFTING_HORIZONTAL = { type: 3, value: "LIFTING_HORIZONTAL" }; + IfcDoorTypeOperationEnum.LIFTING_VERTICAL_LEFT = { type: 3, value: "LIFTING_VERTICAL_LEFT" }; + IfcDoorTypeOperationEnum.LIFTING_VERTICAL_RIGHT = { type: 3, value: "LIFTING_VERTICAL_RIGHT" }; + IfcDoorTypeOperationEnum.REVOLVING_HORIZONTAL = { type: 3, value: "REVOLVING_HORIZONTAL" }; + IfcDoorTypeOperationEnum.REVOLVING_VERTICAL = { type: 3, value: "REVOLVING_VERTICAL" }; + IfcDoorTypeOperationEnum.ROLLINGUP = { type: 3, value: "ROLLINGUP" }; + IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT = { type: 3, value: "SINGLE_SWING_LEFT" }; + IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT = { type: 3, value: "SINGLE_SWING_RIGHT" }; + IfcDoorTypeOperationEnum.SLIDING_TO_LEFT = { type: 3, value: "SLIDING_TO_LEFT" }; + IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT = { type: 3, value: "SLIDING_TO_RIGHT" }; + IfcDoorTypeOperationEnum.SWING_FIXED_LEFT = { type: 3, value: "SWING_FIXED_LEFT" }; + IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT = { type: 3, value: "SWING_FIXED_RIGHT" }; + IfcDoorTypeOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorTypeOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDoorTypeOperationEnum = IfcDoorTypeOperationEnum; + class IfcDuctFittingTypeEnum { + } + IfcDuctFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcDuctFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcDuctFittingTypeEnum.ENTRY = { type: 3, value: "ENTRY" }; + IfcDuctFittingTypeEnum.EXIT = { type: 3, value: "EXIT" }; + IfcDuctFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcDuctFittingTypeEnum.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" }; + IfcDuctFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcDuctFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDuctFittingTypeEnum = IfcDuctFittingTypeEnum; + class IfcDuctSegmentTypeEnum { + } + IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" }; + IfcDuctSegmentTypeEnum.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" }; + IfcDuctSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDuctSegmentTypeEnum = IfcDuctSegmentTypeEnum; + class IfcDuctSilencerTypeEnum { + } + IfcDuctSilencerTypeEnum.FLATOVAL = { type: 3, value: "FLATOVAL" }; + IfcDuctSilencerTypeEnum.RECTANGULAR = { type: 3, value: "RECTANGULAR" }; + IfcDuctSilencerTypeEnum.ROUND = { type: 3, value: "ROUND" }; + IfcDuctSilencerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctSilencerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDuctSilencerTypeEnum = IfcDuctSilencerTypeEnum; + class IfcEarthworksCutTypeEnum { + } + IfcEarthworksCutTypeEnum.BASE_EXCAVATION = { type: 3, value: "BASE_EXCAVATION" }; + IfcEarthworksCutTypeEnum.CUT = { type: 3, value: "CUT" }; + IfcEarthworksCutTypeEnum.DREDGING = { type: 3, value: "DREDGING" }; + IfcEarthworksCutTypeEnum.EXCAVATION = { type: 3, value: "EXCAVATION" }; + IfcEarthworksCutTypeEnum.OVEREXCAVATION = { type: 3, value: "OVEREXCAVATION" }; + IfcEarthworksCutTypeEnum.PAVEMENTMILLING = { type: 3, value: "PAVEMENTMILLING" }; + IfcEarthworksCutTypeEnum.STEPEXCAVATION = { type: 3, value: "STEPEXCAVATION" }; + IfcEarthworksCutTypeEnum.TOPSOILREMOVAL = { type: 3, value: "TOPSOILREMOVAL" }; + IfcEarthworksCutTypeEnum.TRENCH = { type: 3, value: "TRENCH" }; + IfcEarthworksCutTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEarthworksCutTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcEarthworksCutTypeEnum = IfcEarthworksCutTypeEnum; + class IfcEarthworksFillTypeEnum { + } + IfcEarthworksFillTypeEnum.BACKFILL = { type: 3, value: "BACKFILL" }; + IfcEarthworksFillTypeEnum.COUNTERWEIGHT = { type: 3, value: "COUNTERWEIGHT" }; + IfcEarthworksFillTypeEnum.EMBANKMENT = { type: 3, value: "EMBANKMENT" }; + IfcEarthworksFillTypeEnum.SLOPEFILL = { type: 3, value: "SLOPEFILL" }; + IfcEarthworksFillTypeEnum.SUBGRADE = { type: 3, value: "SUBGRADE" }; + IfcEarthworksFillTypeEnum.SUBGRADEBED = { type: 3, value: "SUBGRADEBED" }; + IfcEarthworksFillTypeEnum.TRANSITIONSECTION = { type: 3, value: "TRANSITIONSECTION" }; + IfcEarthworksFillTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEarthworksFillTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcEarthworksFillTypeEnum = IfcEarthworksFillTypeEnum; + class IfcElectricApplianceTypeEnum { + } + IfcElectricApplianceTypeEnum.DISHWASHER = { type: 3, value: "DISHWASHER" }; + IfcElectricApplianceTypeEnum.ELECTRICCOOKER = { type: 3, value: "ELECTRICCOOKER" }; + IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER = { type: 3, value: "FREESTANDINGELECTRICHEATER" }; + IfcElectricApplianceTypeEnum.FREESTANDINGFAN = { type: 3, value: "FREESTANDINGFAN" }; + IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER = { type: 3, value: "FREESTANDINGWATERCOOLER" }; + IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER = { type: 3, value: "FREESTANDINGWATERHEATER" }; + IfcElectricApplianceTypeEnum.FREEZER = { type: 3, value: "FREEZER" }; + IfcElectricApplianceTypeEnum.FRIDGE_FREEZER = { type: 3, value: "FRIDGE_FREEZER" }; + IfcElectricApplianceTypeEnum.HANDDRYER = { type: 3, value: "HANDDRYER" }; + IfcElectricApplianceTypeEnum.KITCHENMACHINE = { type: 3, value: "KITCHENMACHINE" }; + IfcElectricApplianceTypeEnum.MICROWAVE = { type: 3, value: "MICROWAVE" }; + IfcElectricApplianceTypeEnum.PHOTOCOPIER = { type: 3, value: "PHOTOCOPIER" }; + IfcElectricApplianceTypeEnum.REFRIGERATOR = { type: 3, value: "REFRIGERATOR" }; + IfcElectricApplianceTypeEnum.TUMBLEDRYER = { type: 3, value: "TUMBLEDRYER" }; + IfcElectricApplianceTypeEnum.VENDINGMACHINE = { type: 3, value: "VENDINGMACHINE" }; + IfcElectricApplianceTypeEnum.WASHINGMACHINE = { type: 3, value: "WASHINGMACHINE" }; + IfcElectricApplianceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricApplianceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcElectricApplianceTypeEnum = IfcElectricApplianceTypeEnum; + class IfcElectricDistributionBoardTypeEnum { + } + IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT = { type: 3, value: "CONSUMERUNIT" }; + IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD = { type: 3, value: "DISTRIBUTIONBOARD" }; + IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE = { type: 3, value: "MOTORCONTROLCENTRE" }; + IfcElectricDistributionBoardTypeEnum.SWITCHBOARD = { type: 3, value: "SWITCHBOARD" }; + IfcElectricDistributionBoardTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricDistributionBoardTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcElectricDistributionBoardTypeEnum = IfcElectricDistributionBoardTypeEnum; + class IfcElectricFlowStorageDeviceTypeEnum { + } + IfcElectricFlowStorageDeviceTypeEnum.BATTERY = { type: 3, value: "BATTERY" }; + IfcElectricFlowStorageDeviceTypeEnum.CAPACITOR = { type: 3, value: "CAPACITOR" }; + IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK = { type: 3, value: "CAPACITORBANK" }; + IfcElectricFlowStorageDeviceTypeEnum.COMPENSATOR = { type: 3, value: "COMPENSATOR" }; + IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER = { type: 3, value: "HARMONICFILTER" }; + IfcElectricFlowStorageDeviceTypeEnum.INDUCTOR = { type: 3, value: "INDUCTOR" }; + IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK = { type: 3, value: "INDUCTORBANK" }; + IfcElectricFlowStorageDeviceTypeEnum.RECHARGER = { type: 3, value: "RECHARGER" }; + IfcElectricFlowStorageDeviceTypeEnum.UPS = { type: 3, value: "UPS" }; + IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcElectricFlowStorageDeviceTypeEnum = IfcElectricFlowStorageDeviceTypeEnum; + class IfcElectricFlowTreatmentDeviceTypeEnum { + } + IfcElectricFlowTreatmentDeviceTypeEnum.ELECTRONICFILTER = { type: 3, value: "ELECTRONICFILTER" }; + IfcElectricFlowTreatmentDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricFlowTreatmentDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcElectricFlowTreatmentDeviceTypeEnum = IfcElectricFlowTreatmentDeviceTypeEnum; + class IfcElectricGeneratorTypeEnum { + } + IfcElectricGeneratorTypeEnum.CHP = { type: 3, value: "CHP" }; + IfcElectricGeneratorTypeEnum.ENGINEGENERATOR = { type: 3, value: "ENGINEGENERATOR" }; + IfcElectricGeneratorTypeEnum.STANDALONE = { type: 3, value: "STANDALONE" }; + IfcElectricGeneratorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricGeneratorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcElectricGeneratorTypeEnum = IfcElectricGeneratorTypeEnum; + class IfcElectricMotorTypeEnum { + } + IfcElectricMotorTypeEnum.DC = { type: 3, value: "DC" }; + IfcElectricMotorTypeEnum.INDUCTION = { type: 3, value: "INDUCTION" }; + IfcElectricMotorTypeEnum.POLYPHASE = { type: 3, value: "POLYPHASE" }; + IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS = { type: 3, value: "RELUCTANCESYNCHRONOUS" }; + IfcElectricMotorTypeEnum.SYNCHRONOUS = { type: 3, value: "SYNCHRONOUS" }; + IfcElectricMotorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricMotorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcElectricMotorTypeEnum = IfcElectricMotorTypeEnum; + class IfcElectricTimeControlTypeEnum { + } + IfcElectricTimeControlTypeEnum.RELAY = { type: 3, value: "RELAY" }; + IfcElectricTimeControlTypeEnum.TIMECLOCK = { type: 3, value: "TIMECLOCK" }; + IfcElectricTimeControlTypeEnum.TIMEDELAY = { type: 3, value: "TIMEDELAY" }; + IfcElectricTimeControlTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricTimeControlTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcElectricTimeControlTypeEnum = IfcElectricTimeControlTypeEnum; + class IfcElementAssemblyTypeEnum { + } + IfcElementAssemblyTypeEnum.ABUTMENT = { type: 3, value: "ABUTMENT" }; + IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY = { type: 3, value: "ACCESSORY_ASSEMBLY" }; + IfcElementAssemblyTypeEnum.ARCH = { type: 3, value: "ARCH" }; + IfcElementAssemblyTypeEnum.BEAM_GRID = { type: 3, value: "BEAM_GRID" }; + IfcElementAssemblyTypeEnum.BRACED_FRAME = { type: 3, value: "BRACED_FRAME" }; + IfcElementAssemblyTypeEnum.CROSS_BRACING = { type: 3, value: "CROSS_BRACING" }; + IfcElementAssemblyTypeEnum.DECK = { type: 3, value: "DECK" }; + IfcElementAssemblyTypeEnum.DILATATIONPANEL = { type: 3, value: "DILATATIONPANEL" }; + IfcElementAssemblyTypeEnum.ENTRANCEWORKS = { type: 3, value: "ENTRANCEWORKS" }; + IfcElementAssemblyTypeEnum.GIRDER = { type: 3, value: "GIRDER" }; + IfcElementAssemblyTypeEnum.GRID = { type: 3, value: "GRID" }; + IfcElementAssemblyTypeEnum.MAST = { type: 3, value: "MAST" }; + IfcElementAssemblyTypeEnum.PIER = { type: 3, value: "PIER" }; + IfcElementAssemblyTypeEnum.PYLON = { type: 3, value: "PYLON" }; + IfcElementAssemblyTypeEnum.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY = { type: 3, value: "RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY" }; + IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT = { type: 3, value: "REINFORCEMENT_UNIT" }; + IfcElementAssemblyTypeEnum.RIGID_FRAME = { type: 3, value: "RIGID_FRAME" }; + IfcElementAssemblyTypeEnum.SHELTER = { type: 3, value: "SHELTER" }; + IfcElementAssemblyTypeEnum.SIGNALASSEMBLY = { type: 3, value: "SIGNALASSEMBLY" }; + IfcElementAssemblyTypeEnum.SLAB_FIELD = { type: 3, value: "SLAB_FIELD" }; + IfcElementAssemblyTypeEnum.SUMPBUSTER = { type: 3, value: "SUMPBUSTER" }; + IfcElementAssemblyTypeEnum.SUPPORTINGASSEMBLY = { type: 3, value: "SUPPORTINGASSEMBLY" }; + IfcElementAssemblyTypeEnum.SUSPENSIONASSEMBLY = { type: 3, value: "SUSPENSIONASSEMBLY" }; + IfcElementAssemblyTypeEnum.TRACKPANEL = { type: 3, value: "TRACKPANEL" }; + IfcElementAssemblyTypeEnum.TRACTION_SWITCHING_ASSEMBLY = { type: 3, value: "TRACTION_SWITCHING_ASSEMBLY" }; + IfcElementAssemblyTypeEnum.TRAFFIC_CALMING_DEVICE = { type: 3, value: "TRAFFIC_CALMING_DEVICE" }; + IfcElementAssemblyTypeEnum.TRUSS = { type: 3, value: "TRUSS" }; + IfcElementAssemblyTypeEnum.TURNOUTPANEL = { type: 3, value: "TURNOUTPANEL" }; + IfcElementAssemblyTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElementAssemblyTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcElementAssemblyTypeEnum = IfcElementAssemblyTypeEnum; + class IfcElementCompositionEnum { + } + IfcElementCompositionEnum.COMPLEX = { type: 3, value: "COMPLEX" }; + IfcElementCompositionEnum.ELEMENT = { type: 3, value: "ELEMENT" }; + IfcElementCompositionEnum.PARTIAL = { type: 3, value: "PARTIAL" }; + IFC4X32.IfcElementCompositionEnum = IfcElementCompositionEnum; + class IfcEngineTypeEnum { + } + IfcEngineTypeEnum.EXTERNALCOMBUSTION = { type: 3, value: "EXTERNALCOMBUSTION" }; + IfcEngineTypeEnum.INTERNALCOMBUSTION = { type: 3, value: "INTERNALCOMBUSTION" }; + IfcEngineTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEngineTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcEngineTypeEnum = IfcEngineTypeEnum; + class IfcEvaporativeCoolerTypeEnum { + } + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER = { type: 3, value: "DIRECTEVAPORATIVEAIRWASHER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION = { type: 3, value: "INDIRECTDIRECTCOMBINATION" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER = { type: 3, value: "INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER = { type: 3, value: "INDIRECTEVAPORATIVEPACKAGEAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL = { type: 3, value: "INDIRECTEVAPORATIVEWETCOIL" }; + IfcEvaporativeCoolerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEvaporativeCoolerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcEvaporativeCoolerTypeEnum = IfcEvaporativeCoolerTypeEnum; + class IfcEvaporatorTypeEnum { + } + IfcEvaporatorTypeEnum.DIRECTEXPANSION = { type: 3, value: "DIRECTEXPANSION" }; + IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE = { type: 3, value: "DIRECTEXPANSIONBRAZEDPLATE" }; + IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE = { type: 3, value: "DIRECTEXPANSIONSHELLANDTUBE" }; + IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE = { type: 3, value: "DIRECTEXPANSIONTUBEINTUBE" }; + IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE = { type: 3, value: "FLOODEDSHELLANDTUBE" }; + IfcEvaporatorTypeEnum.SHELLANDCOIL = { type: 3, value: "SHELLANDCOIL" }; + IfcEvaporatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEvaporatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcEvaporatorTypeEnum = IfcEvaporatorTypeEnum; + class IfcEventTriggerTypeEnum { + } + IfcEventTriggerTypeEnum.EVENTCOMPLEX = { type: 3, value: "EVENTCOMPLEX" }; + IfcEventTriggerTypeEnum.EVENTMESSAGE = { type: 3, value: "EVENTMESSAGE" }; + IfcEventTriggerTypeEnum.EVENTRULE = { type: 3, value: "EVENTRULE" }; + IfcEventTriggerTypeEnum.EVENTTIME = { type: 3, value: "EVENTTIME" }; + IfcEventTriggerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEventTriggerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcEventTriggerTypeEnum = IfcEventTriggerTypeEnum; + class IfcEventTypeEnum { + } + IfcEventTypeEnum.ENDEVENT = { type: 3, value: "ENDEVENT" }; + IfcEventTypeEnum.INTERMEDIATEEVENT = { type: 3, value: "INTERMEDIATEEVENT" }; + IfcEventTypeEnum.STARTEVENT = { type: 3, value: "STARTEVENT" }; + IfcEventTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEventTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcEventTypeEnum = IfcEventTypeEnum; + class IfcExternalSpatialElementTypeEnum { + } + IfcExternalSpatialElementTypeEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH = { type: 3, value: "EXTERNAL_EARTH" }; + IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE = { type: 3, value: "EXTERNAL_FIRE" }; + IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER = { type: 3, value: "EXTERNAL_WATER" }; + IfcExternalSpatialElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcExternalSpatialElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcExternalSpatialElementTypeEnum = IfcExternalSpatialElementTypeEnum; + class IfcFacilityPartCommonTypeEnum { + } + IfcFacilityPartCommonTypeEnum.ABOVEGROUND = { type: 3, value: "ABOVEGROUND" }; + IfcFacilityPartCommonTypeEnum.BELOWGROUND = { type: 3, value: "BELOWGROUND" }; + IfcFacilityPartCommonTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcFacilityPartCommonTypeEnum.LEVELCROSSING = { type: 3, value: "LEVELCROSSING" }; + IfcFacilityPartCommonTypeEnum.SEGMENT = { type: 3, value: "SEGMENT" }; + IfcFacilityPartCommonTypeEnum.SUBSTRUCTURE = { type: 3, value: "SUBSTRUCTURE" }; + IfcFacilityPartCommonTypeEnum.SUPERSTRUCTURE = { type: 3, value: "SUPERSTRUCTURE" }; + IfcFacilityPartCommonTypeEnum.TERMINAL = { type: 3, value: "TERMINAL" }; + IfcFacilityPartCommonTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFacilityPartCommonTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFacilityPartCommonTypeEnum = IfcFacilityPartCommonTypeEnum; + class IfcFacilityUsageEnum { + } + IfcFacilityUsageEnum.LATERAL = { type: 3, value: "LATERAL" }; + IfcFacilityUsageEnum.LONGITUDINAL = { type: 3, value: "LONGITUDINAL" }; + IfcFacilityUsageEnum.REGION = { type: 3, value: "REGION" }; + IfcFacilityUsageEnum.VERTICAL = { type: 3, value: "VERTICAL" }; + IfcFacilityUsageEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFacilityUsageEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFacilityUsageEnum = IfcFacilityUsageEnum; + class IfcFanTypeEnum { + } + IfcFanTypeEnum.CENTRIFUGALAIRFOIL = { type: 3, value: "CENTRIFUGALAIRFOIL" }; + IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED = { type: 3, value: "CENTRIFUGALBACKWARDINCLINEDCURVED" }; + IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED = { type: 3, value: "CENTRIFUGALFORWARDCURVED" }; + IfcFanTypeEnum.CENTRIFUGALRADIAL = { type: 3, value: "CENTRIFUGALRADIAL" }; + IfcFanTypeEnum.PROPELLORAXIAL = { type: 3, value: "PROPELLORAXIAL" }; + IfcFanTypeEnum.TUBEAXIAL = { type: 3, value: "TUBEAXIAL" }; + IfcFanTypeEnum.VANEAXIAL = { type: 3, value: "VANEAXIAL" }; + IfcFanTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFanTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFanTypeEnum = IfcFanTypeEnum; + class IfcFastenerTypeEnum { + } + IfcFastenerTypeEnum.GLUE = { type: 3, value: "GLUE" }; + IfcFastenerTypeEnum.MORTAR = { type: 3, value: "MORTAR" }; + IfcFastenerTypeEnum.WELD = { type: 3, value: "WELD" }; + IfcFastenerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFastenerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFastenerTypeEnum = IfcFastenerTypeEnum; + class IfcFilterTypeEnum { + } + IfcFilterTypeEnum.AIRPARTICLEFILTER = { type: 3, value: "AIRPARTICLEFILTER" }; + IfcFilterTypeEnum.COMPRESSEDAIRFILTER = { type: 3, value: "COMPRESSEDAIRFILTER" }; + IfcFilterTypeEnum.ODORFILTER = { type: 3, value: "ODORFILTER" }; + IfcFilterTypeEnum.OILFILTER = { type: 3, value: "OILFILTER" }; + IfcFilterTypeEnum.STRAINER = { type: 3, value: "STRAINER" }; + IfcFilterTypeEnum.WATERFILTER = { type: 3, value: "WATERFILTER" }; + IfcFilterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFilterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFilterTypeEnum = IfcFilterTypeEnum; + class IfcFireSuppressionTerminalTypeEnum { + } + IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET = { type: 3, value: "BREECHINGINLET" }; + IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT = { type: 3, value: "FIREHYDRANT" }; + IfcFireSuppressionTerminalTypeEnum.FIREMONITOR = { type: 3, value: "FIREMONITOR" }; + IfcFireSuppressionTerminalTypeEnum.HOSEREEL = { type: 3, value: "HOSEREEL" }; + IfcFireSuppressionTerminalTypeEnum.SPRINKLER = { type: 3, value: "SPRINKLER" }; + IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR = { type: 3, value: "SPRINKLERDEFLECTOR" }; + IfcFireSuppressionTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFireSuppressionTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFireSuppressionTerminalTypeEnum = IfcFireSuppressionTerminalTypeEnum; + class IfcFlowDirectionEnum { + } + IfcFlowDirectionEnum.SINK = { type: 3, value: "SINK" }; + IfcFlowDirectionEnum.SOURCE = { type: 3, value: "SOURCE" }; + IfcFlowDirectionEnum.SOURCEANDSINK = { type: 3, value: "SOURCEANDSINK" }; + IfcFlowDirectionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFlowDirectionEnum = IfcFlowDirectionEnum; + class IfcFlowInstrumentTypeEnum { + } + IfcFlowInstrumentTypeEnum.AMMETER = { type: 3, value: "AMMETER" }; + IfcFlowInstrumentTypeEnum.COMBINED = { type: 3, value: "COMBINED" }; + IfcFlowInstrumentTypeEnum.FREQUENCYMETER = { type: 3, value: "FREQUENCYMETER" }; + IfcFlowInstrumentTypeEnum.PHASEANGLEMETER = { type: 3, value: "PHASEANGLEMETER" }; + IfcFlowInstrumentTypeEnum.POWERFACTORMETER = { type: 3, value: "POWERFACTORMETER" }; + IfcFlowInstrumentTypeEnum.PRESSUREGAUGE = { type: 3, value: "PRESSUREGAUGE" }; + IfcFlowInstrumentTypeEnum.THERMOMETER = { type: 3, value: "THERMOMETER" }; + IfcFlowInstrumentTypeEnum.VOLTMETER = { type: 3, value: "VOLTMETER" }; + IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK = { type: 3, value: "VOLTMETER_PEAK" }; + IfcFlowInstrumentTypeEnum.VOLTMETER_RMS = { type: 3, value: "VOLTMETER_RMS" }; + IfcFlowInstrumentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFlowInstrumentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFlowInstrumentTypeEnum = IfcFlowInstrumentTypeEnum; + class IfcFlowMeterTypeEnum { + } + IfcFlowMeterTypeEnum.ENERGYMETER = { type: 3, value: "ENERGYMETER" }; + IfcFlowMeterTypeEnum.GASMETER = { type: 3, value: "GASMETER" }; + IfcFlowMeterTypeEnum.OILMETER = { type: 3, value: "OILMETER" }; + IfcFlowMeterTypeEnum.WATERMETER = { type: 3, value: "WATERMETER" }; + IfcFlowMeterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFlowMeterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFlowMeterTypeEnum = IfcFlowMeterTypeEnum; + class IfcFootingTypeEnum { + } + IfcFootingTypeEnum.CAISSON_FOUNDATION = { type: 3, value: "CAISSON_FOUNDATION" }; + IfcFootingTypeEnum.FOOTING_BEAM = { type: 3, value: "FOOTING_BEAM" }; + IfcFootingTypeEnum.PAD_FOOTING = { type: 3, value: "PAD_FOOTING" }; + IfcFootingTypeEnum.PILE_CAP = { type: 3, value: "PILE_CAP" }; + IfcFootingTypeEnum.STRIP_FOOTING = { type: 3, value: "STRIP_FOOTING" }; + IfcFootingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFootingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFootingTypeEnum = IfcFootingTypeEnum; + class IfcFurnitureTypeEnum { + } + IfcFurnitureTypeEnum.BED = { type: 3, value: "BED" }; + IfcFurnitureTypeEnum.CHAIR = { type: 3, value: "CHAIR" }; + IfcFurnitureTypeEnum.DESK = { type: 3, value: "DESK" }; + IfcFurnitureTypeEnum.FILECABINET = { type: 3, value: "FILECABINET" }; + IfcFurnitureTypeEnum.SHELF = { type: 3, value: "SHELF" }; + IfcFurnitureTypeEnum.SOFA = { type: 3, value: "SOFA" }; + IfcFurnitureTypeEnum.TABLE = { type: 3, value: "TABLE" }; + IfcFurnitureTypeEnum.TECHNICALCABINET = { type: 3, value: "TECHNICALCABINET" }; + IfcFurnitureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFurnitureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFurnitureTypeEnum = IfcFurnitureTypeEnum; + class IfcGeographicElementTypeEnum { + } + IfcGeographicElementTypeEnum.SOIL_BORING_POINT = { type: 3, value: "SOIL_BORING_POINT" }; + IfcGeographicElementTypeEnum.TERRAIN = { type: 3, value: "TERRAIN" }; + IfcGeographicElementTypeEnum.VEGETATION = { type: 3, value: "VEGETATION" }; + IfcGeographicElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGeographicElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcGeographicElementTypeEnum = IfcGeographicElementTypeEnum; + class IfcGeometricProjectionEnum { + } + IfcGeometricProjectionEnum.ELEVATION_VIEW = { type: 3, value: "ELEVATION_VIEW" }; + IfcGeometricProjectionEnum.GRAPH_VIEW = { type: 3, value: "GRAPH_VIEW" }; + IfcGeometricProjectionEnum.MODEL_VIEW = { type: 3, value: "MODEL_VIEW" }; + IfcGeometricProjectionEnum.PLAN_VIEW = { type: 3, value: "PLAN_VIEW" }; + IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW = { type: 3, value: "REFLECTED_PLAN_VIEW" }; + IfcGeometricProjectionEnum.SECTION_VIEW = { type: 3, value: "SECTION_VIEW" }; + IfcGeometricProjectionEnum.SKETCH_VIEW = { type: 3, value: "SKETCH_VIEW" }; + IfcGeometricProjectionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGeometricProjectionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcGeometricProjectionEnum = IfcGeometricProjectionEnum; + class IfcGeotechnicalStratumTypeEnum { + } + IfcGeotechnicalStratumTypeEnum.SOLID = { type: 3, value: "SOLID" }; + IfcGeotechnicalStratumTypeEnum.VOID = { type: 3, value: "VOID" }; + IfcGeotechnicalStratumTypeEnum.WATER = { type: 3, value: "WATER" }; + IfcGeotechnicalStratumTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGeotechnicalStratumTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcGeotechnicalStratumTypeEnum = IfcGeotechnicalStratumTypeEnum; + class IfcGlobalOrLocalEnum { + } + IfcGlobalOrLocalEnum.GLOBAL_COORDS = { type: 3, value: "GLOBAL_COORDS" }; + IfcGlobalOrLocalEnum.LOCAL_COORDS = { type: 3, value: "LOCAL_COORDS" }; + IFC4X32.IfcGlobalOrLocalEnum = IfcGlobalOrLocalEnum; + class IfcGridTypeEnum { + } + IfcGridTypeEnum.IRREGULAR = { type: 3, value: "IRREGULAR" }; + IfcGridTypeEnum.RADIAL = { type: 3, value: "RADIAL" }; + IfcGridTypeEnum.RECTANGULAR = { type: 3, value: "RECTANGULAR" }; + IfcGridTypeEnum.TRIANGULAR = { type: 3, value: "TRIANGULAR" }; + IfcGridTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGridTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcGridTypeEnum = IfcGridTypeEnum; + class IfcHeatExchangerTypeEnum { + } + IfcHeatExchangerTypeEnum.PLATE = { type: 3, value: "PLATE" }; + IfcHeatExchangerTypeEnum.SHELLANDTUBE = { type: 3, value: "SHELLANDTUBE" }; + IfcHeatExchangerTypeEnum.TURNOUTHEATING = { type: 3, value: "TURNOUTHEATING" }; + IfcHeatExchangerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcHeatExchangerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcHeatExchangerTypeEnum = IfcHeatExchangerTypeEnum; + class IfcHumidifierTypeEnum { + } + IfcHumidifierTypeEnum.ADIABATICAIRWASHER = { type: 3, value: "ADIABATICAIRWASHER" }; + IfcHumidifierTypeEnum.ADIABATICATOMIZING = { type: 3, value: "ADIABATICATOMIZING" }; + IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE = { type: 3, value: "ADIABATICCOMPRESSEDAIRNOZZLE" }; + IfcHumidifierTypeEnum.ADIABATICPAN = { type: 3, value: "ADIABATICPAN" }; + IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA = { type: 3, value: "ADIABATICRIGIDMEDIA" }; + IfcHumidifierTypeEnum.ADIABATICULTRASONIC = { type: 3, value: "ADIABATICULTRASONIC" }; + IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT = { type: 3, value: "ADIABATICWETTEDELEMENT" }; + IfcHumidifierTypeEnum.ASSISTEDBUTANE = { type: 3, value: "ASSISTEDBUTANE" }; + IfcHumidifierTypeEnum.ASSISTEDELECTRIC = { type: 3, value: "ASSISTEDELECTRIC" }; + IfcHumidifierTypeEnum.ASSISTEDNATURALGAS = { type: 3, value: "ASSISTEDNATURALGAS" }; + IfcHumidifierTypeEnum.ASSISTEDPROPANE = { type: 3, value: "ASSISTEDPROPANE" }; + IfcHumidifierTypeEnum.ASSISTEDSTEAM = { type: 3, value: "ASSISTEDSTEAM" }; + IfcHumidifierTypeEnum.STEAMINJECTION = { type: 3, value: "STEAMINJECTION" }; + IfcHumidifierTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcHumidifierTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcHumidifierTypeEnum = IfcHumidifierTypeEnum; + class IfcImpactProtectionDeviceTypeEnum { + } + IfcImpactProtectionDeviceTypeEnum.BUMPER = { type: 3, value: "BUMPER" }; + IfcImpactProtectionDeviceTypeEnum.CRASHCUSHION = { type: 3, value: "CRASHCUSHION" }; + IfcImpactProtectionDeviceTypeEnum.DAMPINGSYSTEM = { type: 3, value: "DAMPINGSYSTEM" }; + IfcImpactProtectionDeviceTypeEnum.FENDER = { type: 3, value: "FENDER" }; + IfcImpactProtectionDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcImpactProtectionDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcImpactProtectionDeviceTypeEnum = IfcImpactProtectionDeviceTypeEnum; + class IfcInterceptorTypeEnum { + } + IfcInterceptorTypeEnum.CYCLONIC = { type: 3, value: "CYCLONIC" }; + IfcInterceptorTypeEnum.GREASE = { type: 3, value: "GREASE" }; + IfcInterceptorTypeEnum.OIL = { type: 3, value: "OIL" }; + IfcInterceptorTypeEnum.PETROL = { type: 3, value: "PETROL" }; + IfcInterceptorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcInterceptorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcInterceptorTypeEnum = IfcInterceptorTypeEnum; + class IfcInternalOrExternalEnum { + } + IfcInternalOrExternalEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcInternalOrExternalEnum.EXTERNAL_EARTH = { type: 3, value: "EXTERNAL_EARTH" }; + IfcInternalOrExternalEnum.EXTERNAL_FIRE = { type: 3, value: "EXTERNAL_FIRE" }; + IfcInternalOrExternalEnum.EXTERNAL_WATER = { type: 3, value: "EXTERNAL_WATER" }; + IfcInternalOrExternalEnum.INTERNAL = { type: 3, value: "INTERNAL" }; + IfcInternalOrExternalEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcInternalOrExternalEnum = IfcInternalOrExternalEnum; + class IfcInventoryTypeEnum { + } + IfcInventoryTypeEnum.ASSETINVENTORY = { type: 3, value: "ASSETINVENTORY" }; + IfcInventoryTypeEnum.FURNITUREINVENTORY = { type: 3, value: "FURNITUREINVENTORY" }; + IfcInventoryTypeEnum.SPACEINVENTORY = { type: 3, value: "SPACEINVENTORY" }; + IfcInventoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcInventoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcInventoryTypeEnum = IfcInventoryTypeEnum; + class IfcJunctionBoxTypeEnum { + } + IfcJunctionBoxTypeEnum.DATA = { type: 3, value: "DATA" }; + IfcJunctionBoxTypeEnum.POWER = { type: 3, value: "POWER" }; + IfcJunctionBoxTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcJunctionBoxTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcJunctionBoxTypeEnum = IfcJunctionBoxTypeEnum; + class IfcKnotType { + } + IfcKnotType.PIECEWISE_BEZIER_KNOTS = { type: 3, value: "PIECEWISE_BEZIER_KNOTS" }; + IfcKnotType.QUASI_UNIFORM_KNOTS = { type: 3, value: "QUASI_UNIFORM_KNOTS" }; + IfcKnotType.UNIFORM_KNOTS = { type: 3, value: "UNIFORM_KNOTS" }; + IfcKnotType.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC4X32.IfcKnotType = IfcKnotType; + class IfcLaborResourceTypeEnum { + } + IfcLaborResourceTypeEnum.ADMINISTRATION = { type: 3, value: "ADMINISTRATION" }; + IfcLaborResourceTypeEnum.CARPENTRY = { type: 3, value: "CARPENTRY" }; + IfcLaborResourceTypeEnum.CLEANING = { type: 3, value: "CLEANING" }; + IfcLaborResourceTypeEnum.CONCRETE = { type: 3, value: "CONCRETE" }; + IfcLaborResourceTypeEnum.DRYWALL = { type: 3, value: "DRYWALL" }; + IfcLaborResourceTypeEnum.ELECTRIC = { type: 3, value: "ELECTRIC" }; + IfcLaborResourceTypeEnum.FINISHING = { type: 3, value: "FINISHING" }; + IfcLaborResourceTypeEnum.FLOORING = { type: 3, value: "FLOORING" }; + IfcLaborResourceTypeEnum.GENERAL = { type: 3, value: "GENERAL" }; + IfcLaborResourceTypeEnum.HVAC = { type: 3, value: "HVAC" }; + IfcLaborResourceTypeEnum.LANDSCAPING = { type: 3, value: "LANDSCAPING" }; + IfcLaborResourceTypeEnum.MASONRY = { type: 3, value: "MASONRY" }; + IfcLaborResourceTypeEnum.PAINTING = { type: 3, value: "PAINTING" }; + IfcLaborResourceTypeEnum.PAVING = { type: 3, value: "PAVING" }; + IfcLaborResourceTypeEnum.PLUMBING = { type: 3, value: "PLUMBING" }; + IfcLaborResourceTypeEnum.ROOFING = { type: 3, value: "ROOFING" }; + IfcLaborResourceTypeEnum.SITEGRADING = { type: 3, value: "SITEGRADING" }; + IfcLaborResourceTypeEnum.STEELWORK = { type: 3, value: "STEELWORK" }; + IfcLaborResourceTypeEnum.SURVEYING = { type: 3, value: "SURVEYING" }; + IfcLaborResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLaborResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcLaborResourceTypeEnum = IfcLaborResourceTypeEnum; + class IfcLampTypeEnum { + } + IfcLampTypeEnum.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" }; + IfcLampTypeEnum.FLUORESCENT = { type: 3, value: "FLUORESCENT" }; + IfcLampTypeEnum.HALOGEN = { type: 3, value: "HALOGEN" }; + IfcLampTypeEnum.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" }; + IfcLampTypeEnum.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" }; + IfcLampTypeEnum.LED = { type: 3, value: "LED" }; + IfcLampTypeEnum.METALHALIDE = { type: 3, value: "METALHALIDE" }; + IfcLampTypeEnum.OLED = { type: 3, value: "OLED" }; + IfcLampTypeEnum.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" }; + IfcLampTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLampTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcLampTypeEnum = IfcLampTypeEnum; + class IfcLayerSetDirectionEnum { + } + IfcLayerSetDirectionEnum.AXIS1 = { type: 3, value: "AXIS1" }; + IfcLayerSetDirectionEnum.AXIS2 = { type: 3, value: "AXIS2" }; + IfcLayerSetDirectionEnum.AXIS3 = { type: 3, value: "AXIS3" }; + IFC4X32.IfcLayerSetDirectionEnum = IfcLayerSetDirectionEnum; + class IfcLightDistributionCurveEnum { + } + IfcLightDistributionCurveEnum.TYPE_A = { type: 3, value: "TYPE_A" }; + IfcLightDistributionCurveEnum.TYPE_B = { type: 3, value: "TYPE_B" }; + IfcLightDistributionCurveEnum.TYPE_C = { type: 3, value: "TYPE_C" }; + IfcLightDistributionCurveEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcLightDistributionCurveEnum = IfcLightDistributionCurveEnum; + class IfcLightEmissionSourceEnum { + } + IfcLightEmissionSourceEnum.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" }; + IfcLightEmissionSourceEnum.FLUORESCENT = { type: 3, value: "FLUORESCENT" }; + IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" }; + IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" }; + IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE = { type: 3, value: "LIGHTEMITTINGDIODE" }; + IfcLightEmissionSourceEnum.LOWPRESSURESODIUM = { type: 3, value: "LOWPRESSURESODIUM" }; + IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN = { type: 3, value: "LOWVOLTAGEHALOGEN" }; + IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN = { type: 3, value: "MAINVOLTAGEHALOGEN" }; + IfcLightEmissionSourceEnum.METALHALIDE = { type: 3, value: "METALHALIDE" }; + IfcLightEmissionSourceEnum.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" }; + IfcLightEmissionSourceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcLightEmissionSourceEnum = IfcLightEmissionSourceEnum; + class IfcLightFixtureTypeEnum { + } + IfcLightFixtureTypeEnum.DIRECTIONSOURCE = { type: 3, value: "DIRECTIONSOURCE" }; + IfcLightFixtureTypeEnum.POINTSOURCE = { type: 3, value: "POINTSOURCE" }; + IfcLightFixtureTypeEnum.SECURITYLIGHTING = { type: 3, value: "SECURITYLIGHTING" }; + IfcLightFixtureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLightFixtureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcLightFixtureTypeEnum = IfcLightFixtureTypeEnum; + class IfcLiquidTerminalTypeEnum { + } + IfcLiquidTerminalTypeEnum.HOSEREEL = { type: 3, value: "HOSEREEL" }; + IfcLiquidTerminalTypeEnum.LOADINGARM = { type: 3, value: "LOADINGARM" }; + IfcLiquidTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLiquidTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcLiquidTerminalTypeEnum = IfcLiquidTerminalTypeEnum; + class IfcLoadGroupTypeEnum { + } + IfcLoadGroupTypeEnum.LOAD_CASE = { type: 3, value: "LOAD_CASE" }; + IfcLoadGroupTypeEnum.LOAD_COMBINATION = { type: 3, value: "LOAD_COMBINATION" }; + IfcLoadGroupTypeEnum.LOAD_GROUP = { type: 3, value: "LOAD_GROUP" }; + IfcLoadGroupTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLoadGroupTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcLoadGroupTypeEnum = IfcLoadGroupTypeEnum; + class IfcLogicalOperatorEnum { + } + IfcLogicalOperatorEnum.LOGICALAND = { type: 3, value: "LOGICALAND" }; + IfcLogicalOperatorEnum.LOGICALNOTAND = { type: 3, value: "LOGICALNOTAND" }; + IfcLogicalOperatorEnum.LOGICALNOTOR = { type: 3, value: "LOGICALNOTOR" }; + IfcLogicalOperatorEnum.LOGICALOR = { type: 3, value: "LOGICALOR" }; + IfcLogicalOperatorEnum.LOGICALXOR = { type: 3, value: "LOGICALXOR" }; + IFC4X32.IfcLogicalOperatorEnum = IfcLogicalOperatorEnum; + class IfcMarineFacilityTypeEnum { + } + IfcMarineFacilityTypeEnum.BARRIERBEACH = { type: 3, value: "BARRIERBEACH" }; + IfcMarineFacilityTypeEnum.BREAKWATER = { type: 3, value: "BREAKWATER" }; + IfcMarineFacilityTypeEnum.CANAL = { type: 3, value: "CANAL" }; + IfcMarineFacilityTypeEnum.DRYDOCK = { type: 3, value: "DRYDOCK" }; + IfcMarineFacilityTypeEnum.FLOATINGDOCK = { type: 3, value: "FLOATINGDOCK" }; + IfcMarineFacilityTypeEnum.HYDROLIFT = { type: 3, value: "HYDROLIFT" }; + IfcMarineFacilityTypeEnum.JETTY = { type: 3, value: "JETTY" }; + IfcMarineFacilityTypeEnum.LAUNCHRECOVERY = { type: 3, value: "LAUNCHRECOVERY" }; + IfcMarineFacilityTypeEnum.MARINEDEFENCE = { type: 3, value: "MARINEDEFENCE" }; + IfcMarineFacilityTypeEnum.NAVIGATIONALCHANNEL = { type: 3, value: "NAVIGATIONALCHANNEL" }; + IfcMarineFacilityTypeEnum.PORT = { type: 3, value: "PORT" }; + IfcMarineFacilityTypeEnum.QUAY = { type: 3, value: "QUAY" }; + IfcMarineFacilityTypeEnum.REVETMENT = { type: 3, value: "REVETMENT" }; + IfcMarineFacilityTypeEnum.SHIPLIFT = { type: 3, value: "SHIPLIFT" }; + IfcMarineFacilityTypeEnum.SHIPLOCK = { type: 3, value: "SHIPLOCK" }; + IfcMarineFacilityTypeEnum.SHIPYARD = { type: 3, value: "SHIPYARD" }; + IfcMarineFacilityTypeEnum.SLIPWAY = { type: 3, value: "SLIPWAY" }; + IfcMarineFacilityTypeEnum.WATERWAY = { type: 3, value: "WATERWAY" }; + IfcMarineFacilityTypeEnum.WATERWAYSHIPLIFT = { type: 3, value: "WATERWAYSHIPLIFT" }; + IfcMarineFacilityTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMarineFacilityTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcMarineFacilityTypeEnum = IfcMarineFacilityTypeEnum; + class IfcMarinePartTypeEnum { + } + IfcMarinePartTypeEnum.ABOVEWATERLINE = { type: 3, value: "ABOVEWATERLINE" }; + IfcMarinePartTypeEnum.ANCHORAGE = { type: 3, value: "ANCHORAGE" }; + IfcMarinePartTypeEnum.APPROACHCHANNEL = { type: 3, value: "APPROACHCHANNEL" }; + IfcMarinePartTypeEnum.BELOWWATERLINE = { type: 3, value: "BELOWWATERLINE" }; + IfcMarinePartTypeEnum.BERTHINGSTRUCTURE = { type: 3, value: "BERTHINGSTRUCTURE" }; + IfcMarinePartTypeEnum.CHAMBER = { type: 3, value: "CHAMBER" }; + IfcMarinePartTypeEnum.CILL_LEVEL = { type: 3, value: "CILL_LEVEL" }; + IfcMarinePartTypeEnum.COPELEVEL = { type: 3, value: "COPELEVEL" }; + IfcMarinePartTypeEnum.CORE = { type: 3, value: "CORE" }; + IfcMarinePartTypeEnum.CREST = { type: 3, value: "CREST" }; + IfcMarinePartTypeEnum.GATEHEAD = { type: 3, value: "GATEHEAD" }; + IfcMarinePartTypeEnum.GUDINGSTRUCTURE = { type: 3, value: "GUDINGSTRUCTURE" }; + IfcMarinePartTypeEnum.HIGHWATERLINE = { type: 3, value: "HIGHWATERLINE" }; + IfcMarinePartTypeEnum.LANDFIELD = { type: 3, value: "LANDFIELD" }; + IfcMarinePartTypeEnum.LEEWARDSIDE = { type: 3, value: "LEEWARDSIDE" }; + IfcMarinePartTypeEnum.LOWWATERLINE = { type: 3, value: "LOWWATERLINE" }; + IfcMarinePartTypeEnum.MANUFACTURING = { type: 3, value: "MANUFACTURING" }; + IfcMarinePartTypeEnum.NAVIGATIONALAREA = { type: 3, value: "NAVIGATIONALAREA" }; + IfcMarinePartTypeEnum.PROTECTION = { type: 3, value: "PROTECTION" }; + IfcMarinePartTypeEnum.SHIPTRANSFER = { type: 3, value: "SHIPTRANSFER" }; + IfcMarinePartTypeEnum.STORAGEAREA = { type: 3, value: "STORAGEAREA" }; + IfcMarinePartTypeEnum.VEHICLESERVICING = { type: 3, value: "VEHICLESERVICING" }; + IfcMarinePartTypeEnum.WATERFIELD = { type: 3, value: "WATERFIELD" }; + IfcMarinePartTypeEnum.WEATHERSIDE = { type: 3, value: "WEATHERSIDE" }; + IfcMarinePartTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMarinePartTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcMarinePartTypeEnum = IfcMarinePartTypeEnum; + class IfcMechanicalFastenerTypeEnum { + } + IfcMechanicalFastenerTypeEnum.ANCHORBOLT = { type: 3, value: "ANCHORBOLT" }; + IfcMechanicalFastenerTypeEnum.BOLT = { type: 3, value: "BOLT" }; + IfcMechanicalFastenerTypeEnum.CHAIN = { type: 3, value: "CHAIN" }; + IfcMechanicalFastenerTypeEnum.COUPLER = { type: 3, value: "COUPLER" }; + IfcMechanicalFastenerTypeEnum.DOWEL = { type: 3, value: "DOWEL" }; + IfcMechanicalFastenerTypeEnum.NAIL = { type: 3, value: "NAIL" }; + IfcMechanicalFastenerTypeEnum.NAILPLATE = { type: 3, value: "NAILPLATE" }; + IfcMechanicalFastenerTypeEnum.RAILFASTENING = { type: 3, value: "RAILFASTENING" }; + IfcMechanicalFastenerTypeEnum.RAILJOINT = { type: 3, value: "RAILJOINT" }; + IfcMechanicalFastenerTypeEnum.RIVET = { type: 3, value: "RIVET" }; + IfcMechanicalFastenerTypeEnum.ROPE = { type: 3, value: "ROPE" }; + IfcMechanicalFastenerTypeEnum.SCREW = { type: 3, value: "SCREW" }; + IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR = { type: 3, value: "SHEARCONNECTOR" }; + IfcMechanicalFastenerTypeEnum.STAPLE = { type: 3, value: "STAPLE" }; + IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR = { type: 3, value: "STUDSHEARCONNECTOR" }; + IfcMechanicalFastenerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMechanicalFastenerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcMechanicalFastenerTypeEnum = IfcMechanicalFastenerTypeEnum; + class IfcMedicalDeviceTypeEnum { + } + IfcMedicalDeviceTypeEnum.AIRSTATION = { type: 3, value: "AIRSTATION" }; + IfcMedicalDeviceTypeEnum.FEEDAIRUNIT = { type: 3, value: "FEEDAIRUNIT" }; + IfcMedicalDeviceTypeEnum.OXYGENGENERATOR = { type: 3, value: "OXYGENGENERATOR" }; + IfcMedicalDeviceTypeEnum.OXYGENPLANT = { type: 3, value: "OXYGENPLANT" }; + IfcMedicalDeviceTypeEnum.VACUUMSTATION = { type: 3, value: "VACUUMSTATION" }; + IfcMedicalDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMedicalDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcMedicalDeviceTypeEnum = IfcMedicalDeviceTypeEnum; + class IfcMemberTypeEnum { + } + IfcMemberTypeEnum.ARCH_SEGMENT = { type: 3, value: "ARCH_SEGMENT" }; + IfcMemberTypeEnum.BRACE = { type: 3, value: "BRACE" }; + IfcMemberTypeEnum.CHORD = { type: 3, value: "CHORD" }; + IfcMemberTypeEnum.COLLAR = { type: 3, value: "COLLAR" }; + IfcMemberTypeEnum.MEMBER = { type: 3, value: "MEMBER" }; + IfcMemberTypeEnum.MULLION = { type: 3, value: "MULLION" }; + IfcMemberTypeEnum.PLATE = { type: 3, value: "PLATE" }; + IfcMemberTypeEnum.POST = { type: 3, value: "POST" }; + IfcMemberTypeEnum.PURLIN = { type: 3, value: "PURLIN" }; + IfcMemberTypeEnum.RAFTER = { type: 3, value: "RAFTER" }; + IfcMemberTypeEnum.STAY_CABLE = { type: 3, value: "STAY_CABLE" }; + IfcMemberTypeEnum.STIFFENING_RIB = { type: 3, value: "STIFFENING_RIB" }; + IfcMemberTypeEnum.STRINGER = { type: 3, value: "STRINGER" }; + IfcMemberTypeEnum.STRUCTURALCABLE = { type: 3, value: "STRUCTURALCABLE" }; + IfcMemberTypeEnum.STRUT = { type: 3, value: "STRUT" }; + IfcMemberTypeEnum.STUD = { type: 3, value: "STUD" }; + IfcMemberTypeEnum.SUSPENDER = { type: 3, value: "SUSPENDER" }; + IfcMemberTypeEnum.SUSPENSION_CABLE = { type: 3, value: "SUSPENSION_CABLE" }; + IfcMemberTypeEnum.TIEBAR = { type: 3, value: "TIEBAR" }; + IfcMemberTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMemberTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcMemberTypeEnum = IfcMemberTypeEnum; + class IfcMobileTelecommunicationsApplianceTypeEnum { + } + IfcMobileTelecommunicationsApplianceTypeEnum.ACCESSPOINT = { type: 3, value: "ACCESSPOINT" }; + IfcMobileTelecommunicationsApplianceTypeEnum.BASEBANDUNIT = { type: 3, value: "BASEBANDUNIT" }; + IfcMobileTelecommunicationsApplianceTypeEnum.BASETRANSCEIVERSTATION = { type: 3, value: "BASETRANSCEIVERSTATION" }; + IfcMobileTelecommunicationsApplianceTypeEnum.E_UTRAN_NODE_B = { type: 3, value: "E_UTRAN_NODE_B" }; + IfcMobileTelecommunicationsApplianceTypeEnum.GATEWAY_GPRS_SUPPORT_NODE = { type: 3, value: "GATEWAY_GPRS_SUPPORT_NODE" }; + IfcMobileTelecommunicationsApplianceTypeEnum.MASTERUNIT = { type: 3, value: "MASTERUNIT" }; + IfcMobileTelecommunicationsApplianceTypeEnum.MOBILESWITCHINGCENTER = { type: 3, value: "MOBILESWITCHINGCENTER" }; + IfcMobileTelecommunicationsApplianceTypeEnum.MSCSERVER = { type: 3, value: "MSCSERVER" }; + IfcMobileTelecommunicationsApplianceTypeEnum.PACKETCONTROLUNIT = { type: 3, value: "PACKETCONTROLUNIT" }; + IfcMobileTelecommunicationsApplianceTypeEnum.REMOTERADIOUNIT = { type: 3, value: "REMOTERADIOUNIT" }; + IfcMobileTelecommunicationsApplianceTypeEnum.REMOTEUNIT = { type: 3, value: "REMOTEUNIT" }; + IfcMobileTelecommunicationsApplianceTypeEnum.SERVICE_GPRS_SUPPORT_NODE = { type: 3, value: "SERVICE_GPRS_SUPPORT_NODE" }; + IfcMobileTelecommunicationsApplianceTypeEnum.SUBSCRIBERSERVER = { type: 3, value: "SUBSCRIBERSERVER" }; + IfcMobileTelecommunicationsApplianceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMobileTelecommunicationsApplianceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcMobileTelecommunicationsApplianceTypeEnum = IfcMobileTelecommunicationsApplianceTypeEnum; + class IfcMooringDeviceTypeEnum { + } + IfcMooringDeviceTypeEnum.BOLLARD = { type: 3, value: "BOLLARD" }; + IfcMooringDeviceTypeEnum.LINETENSIONER = { type: 3, value: "LINETENSIONER" }; + IfcMooringDeviceTypeEnum.MAGNETICDEVICE = { type: 3, value: "MAGNETICDEVICE" }; + IfcMooringDeviceTypeEnum.MOORINGHOOKS = { type: 3, value: "MOORINGHOOKS" }; + IfcMooringDeviceTypeEnum.VACUUMDEVICE = { type: 3, value: "VACUUMDEVICE" }; + IfcMooringDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMooringDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcMooringDeviceTypeEnum = IfcMooringDeviceTypeEnum; + class IfcMotorConnectionTypeEnum { + } + IfcMotorConnectionTypeEnum.BELTDRIVE = { type: 3, value: "BELTDRIVE" }; + IfcMotorConnectionTypeEnum.COUPLING = { type: 3, value: "COUPLING" }; + IfcMotorConnectionTypeEnum.DIRECTDRIVE = { type: 3, value: "DIRECTDRIVE" }; + IfcMotorConnectionTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMotorConnectionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcMotorConnectionTypeEnum = IfcMotorConnectionTypeEnum; + class IfcNavigationElementTypeEnum { + } + IfcNavigationElementTypeEnum.BEACON = { type: 3, value: "BEACON" }; + IfcNavigationElementTypeEnum.BUOY = { type: 3, value: "BUOY" }; + IfcNavigationElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcNavigationElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcNavigationElementTypeEnum = IfcNavigationElementTypeEnum; + class IfcObjectTypeEnum { + } + IfcObjectTypeEnum.ACTOR = { type: 3, value: "ACTOR" }; + IfcObjectTypeEnum.CONTROL = { type: 3, value: "CONTROL" }; + IfcObjectTypeEnum.GROUP = { type: 3, value: "GROUP" }; + IfcObjectTypeEnum.PROCESS = { type: 3, value: "PROCESS" }; + IfcObjectTypeEnum.PRODUCT = { type: 3, value: "PRODUCT" }; + IfcObjectTypeEnum.PROJECT = { type: 3, value: "PROJECT" }; + IfcObjectTypeEnum.RESOURCE = { type: 3, value: "RESOURCE" }; + IfcObjectTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcObjectTypeEnum = IfcObjectTypeEnum; + class IfcObjectiveEnum { + } + IfcObjectiveEnum.CODECOMPLIANCE = { type: 3, value: "CODECOMPLIANCE" }; + IfcObjectiveEnum.CODEWAIVER = { type: 3, value: "CODEWAIVER" }; + IfcObjectiveEnum.DESIGNINTENT = { type: 3, value: "DESIGNINTENT" }; + IfcObjectiveEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcObjectiveEnum.HEALTHANDSAFETY = { type: 3, value: "HEALTHANDSAFETY" }; + IfcObjectiveEnum.MERGECONFLICT = { type: 3, value: "MERGECONFLICT" }; + IfcObjectiveEnum.MODELVIEW = { type: 3, value: "MODELVIEW" }; + IfcObjectiveEnum.PARAMETER = { type: 3, value: "PARAMETER" }; + IfcObjectiveEnum.REQUIREMENT = { type: 3, value: "REQUIREMENT" }; + IfcObjectiveEnum.SPECIFICATION = { type: 3, value: "SPECIFICATION" }; + IfcObjectiveEnum.TRIGGERCONDITION = { type: 3, value: "TRIGGERCONDITION" }; + IfcObjectiveEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcObjectiveEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcObjectiveEnum = IfcObjectiveEnum; + class IfcOccupantTypeEnum { + } + IfcOccupantTypeEnum.ASSIGNEE = { type: 3, value: "ASSIGNEE" }; + IfcOccupantTypeEnum.ASSIGNOR = { type: 3, value: "ASSIGNOR" }; + IfcOccupantTypeEnum.LESSEE = { type: 3, value: "LESSEE" }; + IfcOccupantTypeEnum.LESSOR = { type: 3, value: "LESSOR" }; + IfcOccupantTypeEnum.LETTINGAGENT = { type: 3, value: "LETTINGAGENT" }; + IfcOccupantTypeEnum.OWNER = { type: 3, value: "OWNER" }; + IfcOccupantTypeEnum.TENANT = { type: 3, value: "TENANT" }; + IfcOccupantTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcOccupantTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcOccupantTypeEnum = IfcOccupantTypeEnum; + class IfcOpeningElementTypeEnum { + } + IfcOpeningElementTypeEnum.OPENING = { type: 3, value: "OPENING" }; + IfcOpeningElementTypeEnum.RECESS = { type: 3, value: "RECESS" }; + IfcOpeningElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcOpeningElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcOpeningElementTypeEnum = IfcOpeningElementTypeEnum; + class IfcOutletTypeEnum { + } + IfcOutletTypeEnum.AUDIOVISUALOUTLET = { type: 3, value: "AUDIOVISUALOUTLET" }; + IfcOutletTypeEnum.COMMUNICATIONSOUTLET = { type: 3, value: "COMMUNICATIONSOUTLET" }; + IfcOutletTypeEnum.DATAOUTLET = { type: 3, value: "DATAOUTLET" }; + IfcOutletTypeEnum.POWEROUTLET = { type: 3, value: "POWEROUTLET" }; + IfcOutletTypeEnum.TELEPHONEOUTLET = { type: 3, value: "TELEPHONEOUTLET" }; + IfcOutletTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcOutletTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcOutletTypeEnum = IfcOutletTypeEnum; + class IfcPavementTypeEnum { + } + IfcPavementTypeEnum.FLEXIBLE = { type: 3, value: "FLEXIBLE" }; + IfcPavementTypeEnum.RIGID = { type: 3, value: "RIGID" }; + IfcPavementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPavementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPavementTypeEnum = IfcPavementTypeEnum; + class IfcPerformanceHistoryTypeEnum { + } + IfcPerformanceHistoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPerformanceHistoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPerformanceHistoryTypeEnum = IfcPerformanceHistoryTypeEnum; + class IfcPermeableCoveringOperationEnum { + } + IfcPermeableCoveringOperationEnum.GRILL = { type: 3, value: "GRILL" }; + IfcPermeableCoveringOperationEnum.LOUVER = { type: 3, value: "LOUVER" }; + IfcPermeableCoveringOperationEnum.SCREEN = { type: 3, value: "SCREEN" }; + IfcPermeableCoveringOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPermeableCoveringOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPermeableCoveringOperationEnum = IfcPermeableCoveringOperationEnum; + class IfcPermitTypeEnum { + } + IfcPermitTypeEnum.ACCESS = { type: 3, value: "ACCESS" }; + IfcPermitTypeEnum.BUILDING = { type: 3, value: "BUILDING" }; + IfcPermitTypeEnum.WORK = { type: 3, value: "WORK" }; + IfcPermitTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPermitTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPermitTypeEnum = IfcPermitTypeEnum; + class IfcPhysicalOrVirtualEnum { + } + IfcPhysicalOrVirtualEnum.PHYSICAL = { type: 3, value: "PHYSICAL" }; + IfcPhysicalOrVirtualEnum.VIRTUAL = { type: 3, value: "VIRTUAL" }; + IfcPhysicalOrVirtualEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPhysicalOrVirtualEnum = IfcPhysicalOrVirtualEnum; + class IfcPileConstructionEnum { + } + IfcPileConstructionEnum.CAST_IN_PLACE = { type: 3, value: "CAST_IN_PLACE" }; + IfcPileConstructionEnum.COMPOSITE = { type: 3, value: "COMPOSITE" }; + IfcPileConstructionEnum.PRECAST_CONCRETE = { type: 3, value: "PRECAST_CONCRETE" }; + IfcPileConstructionEnum.PREFAB_STEEL = { type: 3, value: "PREFAB_STEEL" }; + IfcPileConstructionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPileConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPileConstructionEnum = IfcPileConstructionEnum; + class IfcPileTypeEnum { + } + IfcPileTypeEnum.BORED = { type: 3, value: "BORED" }; + IfcPileTypeEnum.COHESION = { type: 3, value: "COHESION" }; + IfcPileTypeEnum.DRIVEN = { type: 3, value: "DRIVEN" }; + IfcPileTypeEnum.FRICTION = { type: 3, value: "FRICTION" }; + IfcPileTypeEnum.JETGROUTING = { type: 3, value: "JETGROUTING" }; + IfcPileTypeEnum.SUPPORT = { type: 3, value: "SUPPORT" }; + IfcPileTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPileTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPileTypeEnum = IfcPileTypeEnum; + class IfcPipeFittingTypeEnum { + } + IfcPipeFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcPipeFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcPipeFittingTypeEnum.ENTRY = { type: 3, value: "ENTRY" }; + IfcPipeFittingTypeEnum.EXIT = { type: 3, value: "EXIT" }; + IfcPipeFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcPipeFittingTypeEnum.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" }; + IfcPipeFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcPipeFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPipeFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPipeFittingTypeEnum = IfcPipeFittingTypeEnum; + class IfcPipeSegmentTypeEnum { + } + IfcPipeSegmentTypeEnum.CULVERT = { type: 3, value: "CULVERT" }; + IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" }; + IfcPipeSegmentTypeEnum.GUTTER = { type: 3, value: "GUTTER" }; + IfcPipeSegmentTypeEnum.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" }; + IfcPipeSegmentTypeEnum.SPOOL = { type: 3, value: "SPOOL" }; + IfcPipeSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPipeSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPipeSegmentTypeEnum = IfcPipeSegmentTypeEnum; + class IfcPlateTypeEnum { + } + IfcPlateTypeEnum.BASE_PLATE = { type: 3, value: "BASE_PLATE" }; + IfcPlateTypeEnum.COVER_PLATE = { type: 3, value: "COVER_PLATE" }; + IfcPlateTypeEnum.CURTAIN_PANEL = { type: 3, value: "CURTAIN_PANEL" }; + IfcPlateTypeEnum.FLANGE_PLATE = { type: 3, value: "FLANGE_PLATE" }; + IfcPlateTypeEnum.GUSSET_PLATE = { type: 3, value: "GUSSET_PLATE" }; + IfcPlateTypeEnum.SHEET = { type: 3, value: "SHEET" }; + IfcPlateTypeEnum.SPLICE_PLATE = { type: 3, value: "SPLICE_PLATE" }; + IfcPlateTypeEnum.STIFFENER_PLATE = { type: 3, value: "STIFFENER_PLATE" }; + IfcPlateTypeEnum.WEB_PLATE = { type: 3, value: "WEB_PLATE" }; + IfcPlateTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPlateTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPlateTypeEnum = IfcPlateTypeEnum; + class IfcPreferredSurfaceCurveRepresentation { + } + IfcPreferredSurfaceCurveRepresentation.CURVE3D = { type: 3, value: "CURVE3D" }; + IfcPreferredSurfaceCurveRepresentation.PCURVE_S1 = { type: 3, value: "PCURVE_S1" }; + IfcPreferredSurfaceCurveRepresentation.PCURVE_S2 = { type: 3, value: "PCURVE_S2" }; + IFC4X32.IfcPreferredSurfaceCurveRepresentation = IfcPreferredSurfaceCurveRepresentation; + class IfcProcedureTypeEnum { + } + IfcProcedureTypeEnum.ADVICE_CAUTION = { type: 3, value: "ADVICE_CAUTION" }; + IfcProcedureTypeEnum.ADVICE_NOTE = { type: 3, value: "ADVICE_NOTE" }; + IfcProcedureTypeEnum.ADVICE_WARNING = { type: 3, value: "ADVICE_WARNING" }; + IfcProcedureTypeEnum.CALIBRATION = { type: 3, value: "CALIBRATION" }; + IfcProcedureTypeEnum.DIAGNOSTIC = { type: 3, value: "DIAGNOSTIC" }; + IfcProcedureTypeEnum.SHUTDOWN = { type: 3, value: "SHUTDOWN" }; + IfcProcedureTypeEnum.STARTUP = { type: 3, value: "STARTUP" }; + IfcProcedureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProcedureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcProcedureTypeEnum = IfcProcedureTypeEnum; + class IfcProfileTypeEnum { + } + IfcProfileTypeEnum.AREA = { type: 3, value: "AREA" }; + IfcProfileTypeEnum.CURVE = { type: 3, value: "CURVE" }; + IFC4X32.IfcProfileTypeEnum = IfcProfileTypeEnum; + class IfcProjectOrderTypeEnum { + } + IfcProjectOrderTypeEnum.CHANGEORDER = { type: 3, value: "CHANGEORDER" }; + IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER = { type: 3, value: "MAINTENANCEWORKORDER" }; + IfcProjectOrderTypeEnum.MOVEORDER = { type: 3, value: "MOVEORDER" }; + IfcProjectOrderTypeEnum.PURCHASEORDER = { type: 3, value: "PURCHASEORDER" }; + IfcProjectOrderTypeEnum.WORKORDER = { type: 3, value: "WORKORDER" }; + IfcProjectOrderTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProjectOrderTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcProjectOrderTypeEnum = IfcProjectOrderTypeEnum; + class IfcProjectedOrTrueLengthEnum { + } + IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH = { type: 3, value: "PROJECTED_LENGTH" }; + IfcProjectedOrTrueLengthEnum.TRUE_LENGTH = { type: 3, value: "TRUE_LENGTH" }; + IFC4X32.IfcProjectedOrTrueLengthEnum = IfcProjectedOrTrueLengthEnum; + class IfcProjectionElementTypeEnum { + } + IfcProjectionElementTypeEnum.BLISTER = { type: 3, value: "BLISTER" }; + IfcProjectionElementTypeEnum.DEVIATOR = { type: 3, value: "DEVIATOR" }; + IfcProjectionElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProjectionElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcProjectionElementTypeEnum = IfcProjectionElementTypeEnum; + class IfcPropertySetTemplateTypeEnum { + } + IfcPropertySetTemplateTypeEnum.PSET_MATERIALDRIVEN = { type: 3, value: "PSET_MATERIALDRIVEN" }; + IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN = { type: 3, value: "PSET_OCCURRENCEDRIVEN" }; + IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN = { type: 3, value: "PSET_PERFORMANCEDRIVEN" }; + IfcPropertySetTemplateTypeEnum.PSET_PROFILEDRIVEN = { type: 3, value: "PSET_PROFILEDRIVEN" }; + IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY = { type: 3, value: "PSET_TYPEDRIVENONLY" }; + IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE = { type: 3, value: "PSET_TYPEDRIVENOVERRIDE" }; + IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN = { type: 3, value: "QTO_OCCURRENCEDRIVEN" }; + IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY = { type: 3, value: "QTO_TYPEDRIVENONLY" }; + IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE = { type: 3, value: "QTO_TYPEDRIVENOVERRIDE" }; + IfcPropertySetTemplateTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPropertySetTemplateTypeEnum = IfcPropertySetTemplateTypeEnum; + class IfcProtectiveDeviceTrippingUnitTypeEnum { + } + IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC = { type: 3, value: "ELECTROMAGNETIC" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC = { type: 3, value: "ELECTRONIC" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT = { type: 3, value: "RESIDUALCURRENT" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL = { type: 3, value: "THERMAL" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcProtectiveDeviceTrippingUnitTypeEnum = IfcProtectiveDeviceTrippingUnitTypeEnum; + class IfcProtectiveDeviceTypeEnum { + } + IfcProtectiveDeviceTypeEnum.ANTI_ARCING_DEVICE = { type: 3, value: "ANTI_ARCING_DEVICE" }; + IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER = { type: 3, value: "CIRCUITBREAKER" }; + IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH = { type: 3, value: "EARTHINGSWITCH" }; + IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER = { type: 3, value: "EARTHLEAKAGECIRCUITBREAKER" }; + IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR = { type: 3, value: "FUSEDISCONNECTOR" }; + IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER = { type: 3, value: "RESIDUALCURRENTCIRCUITBREAKER" }; + IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH = { type: 3, value: "RESIDUALCURRENTSWITCH" }; + IfcProtectiveDeviceTypeEnum.SPARKGAP = { type: 3, value: "SPARKGAP" }; + IfcProtectiveDeviceTypeEnum.VARISTOR = { type: 3, value: "VARISTOR" }; + IfcProtectiveDeviceTypeEnum.VOLTAGELIMITER = { type: 3, value: "VOLTAGELIMITER" }; + IfcProtectiveDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProtectiveDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcProtectiveDeviceTypeEnum = IfcProtectiveDeviceTypeEnum; + class IfcPumpTypeEnum { + } + IfcPumpTypeEnum.CIRCULATOR = { type: 3, value: "CIRCULATOR" }; + IfcPumpTypeEnum.ENDSUCTION = { type: 3, value: "ENDSUCTION" }; + IfcPumpTypeEnum.SPLITCASE = { type: 3, value: "SPLITCASE" }; + IfcPumpTypeEnum.SUBMERSIBLEPUMP = { type: 3, value: "SUBMERSIBLEPUMP" }; + IfcPumpTypeEnum.SUMPPUMP = { type: 3, value: "SUMPPUMP" }; + IfcPumpTypeEnum.VERTICALINLINE = { type: 3, value: "VERTICALINLINE" }; + IfcPumpTypeEnum.VERTICALTURBINE = { type: 3, value: "VERTICALTURBINE" }; + IfcPumpTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPumpTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPumpTypeEnum = IfcPumpTypeEnum; + class IfcRailTypeEnum { + } + IfcRailTypeEnum.BLADE = { type: 3, value: "BLADE" }; + IfcRailTypeEnum.CHECKRAIL = { type: 3, value: "CHECKRAIL" }; + IfcRailTypeEnum.GUARDRAIL = { type: 3, value: "GUARDRAIL" }; + IfcRailTypeEnum.RACKRAIL = { type: 3, value: "RACKRAIL" }; + IfcRailTypeEnum.RAIL = { type: 3, value: "RAIL" }; + IfcRailTypeEnum.STOCKRAIL = { type: 3, value: "STOCKRAIL" }; + IfcRailTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRailTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRailTypeEnum = IfcRailTypeEnum; + class IfcRailingTypeEnum { + } + IfcRailingTypeEnum.BALUSTRADE = { type: 3, value: "BALUSTRADE" }; + IfcRailingTypeEnum.FENCE = { type: 3, value: "FENCE" }; + IfcRailingTypeEnum.GUARDRAIL = { type: 3, value: "GUARDRAIL" }; + IfcRailingTypeEnum.HANDRAIL = { type: 3, value: "HANDRAIL" }; + IfcRailingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRailingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRailingTypeEnum = IfcRailingTypeEnum; + class IfcRailwayPartTypeEnum { + } + IfcRailwayPartTypeEnum.DILATATIONSUPERSTRUCTURE = { type: 3, value: "DILATATIONSUPERSTRUCTURE" }; + IfcRailwayPartTypeEnum.LINESIDESTRUCTURE = { type: 3, value: "LINESIDESTRUCTURE" }; + IfcRailwayPartTypeEnum.LINESIDESTRUCTUREPART = { type: 3, value: "LINESIDESTRUCTUREPART" }; + IfcRailwayPartTypeEnum.PLAINTRACKSUPERSTRUCTURE = { type: 3, value: "PLAINTRACKSUPERSTRUCTURE" }; + IfcRailwayPartTypeEnum.SUPERSTRUCTURE = { type: 3, value: "SUPERSTRUCTURE" }; + IfcRailwayPartTypeEnum.TRACKSTRUCTURE = { type: 3, value: "TRACKSTRUCTURE" }; + IfcRailwayPartTypeEnum.TRACKSTRUCTUREPART = { type: 3, value: "TRACKSTRUCTUREPART" }; + IfcRailwayPartTypeEnum.TURNOUTSUPERSTRUCTURE = { type: 3, value: "TURNOUTSUPERSTRUCTURE" }; + IfcRailwayPartTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRailwayPartTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRailwayPartTypeEnum = IfcRailwayPartTypeEnum; + class IfcRailwayTypeEnum { + } + IfcRailwayTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRailwayTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRailwayTypeEnum = IfcRailwayTypeEnum; + class IfcRampFlightTypeEnum { + } + IfcRampFlightTypeEnum.SPIRAL = { type: 3, value: "SPIRAL" }; + IfcRampFlightTypeEnum.STRAIGHT = { type: 3, value: "STRAIGHT" }; + IfcRampFlightTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRampFlightTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRampFlightTypeEnum = IfcRampFlightTypeEnum; + class IfcRampTypeEnum { + } + IfcRampTypeEnum.HALF_TURN_RAMP = { type: 3, value: "HALF_TURN_RAMP" }; + IfcRampTypeEnum.QUARTER_TURN_RAMP = { type: 3, value: "QUARTER_TURN_RAMP" }; + IfcRampTypeEnum.SPIRAL_RAMP = { type: 3, value: "SPIRAL_RAMP" }; + IfcRampTypeEnum.STRAIGHT_RUN_RAMP = { type: 3, value: "STRAIGHT_RUN_RAMP" }; + IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP = { type: 3, value: "TWO_QUARTER_TURN_RAMP" }; + IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP = { type: 3, value: "TWO_STRAIGHT_RUN_RAMP" }; + IfcRampTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRampTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRampTypeEnum = IfcRampTypeEnum; + class IfcRecurrenceTypeEnum { + } + IfcRecurrenceTypeEnum.BY_DAY_COUNT = { type: 3, value: "BY_DAY_COUNT" }; + IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT = { type: 3, value: "BY_WEEKDAY_COUNT" }; + IfcRecurrenceTypeEnum.DAILY = { type: 3, value: "DAILY" }; + IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH = { type: 3, value: "MONTHLY_BY_DAY_OF_MONTH" }; + IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION = { type: 3, value: "MONTHLY_BY_POSITION" }; + IfcRecurrenceTypeEnum.WEEKLY = { type: 3, value: "WEEKLY" }; + IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH = { type: 3, value: "YEARLY_BY_DAY_OF_MONTH" }; + IfcRecurrenceTypeEnum.YEARLY_BY_POSITION = { type: 3, value: "YEARLY_BY_POSITION" }; + IFC4X32.IfcRecurrenceTypeEnum = IfcRecurrenceTypeEnum; + class IfcReferentTypeEnum { + } + IfcReferentTypeEnum.BOUNDARY = { type: 3, value: "BOUNDARY" }; + IfcReferentTypeEnum.INTERSECTION = { type: 3, value: "INTERSECTION" }; + IfcReferentTypeEnum.KILOPOINT = { type: 3, value: "KILOPOINT" }; + IfcReferentTypeEnum.LANDMARK = { type: 3, value: "LANDMARK" }; + IfcReferentTypeEnum.MILEPOINT = { type: 3, value: "MILEPOINT" }; + IfcReferentTypeEnum.POSITION = { type: 3, value: "POSITION" }; + IfcReferentTypeEnum.REFERENCEMARKER = { type: 3, value: "REFERENCEMARKER" }; + IfcReferentTypeEnum.STATION = { type: 3, value: "STATION" }; + IfcReferentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReferentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcReferentTypeEnum = IfcReferentTypeEnum; + class IfcReflectanceMethodEnum { + } + IfcReflectanceMethodEnum.BLINN = { type: 3, value: "BLINN" }; + IfcReflectanceMethodEnum.FLAT = { type: 3, value: "FLAT" }; + IfcReflectanceMethodEnum.GLASS = { type: 3, value: "GLASS" }; + IfcReflectanceMethodEnum.MATT = { type: 3, value: "MATT" }; + IfcReflectanceMethodEnum.METAL = { type: 3, value: "METAL" }; + IfcReflectanceMethodEnum.MIRROR = { type: 3, value: "MIRROR" }; + IfcReflectanceMethodEnum.PHONG = { type: 3, value: "PHONG" }; + IfcReflectanceMethodEnum.PHYSICAL = { type: 3, value: "PHYSICAL" }; + IfcReflectanceMethodEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcReflectanceMethodEnum.STRAUSS = { type: 3, value: "STRAUSS" }; + IfcReflectanceMethodEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcReflectanceMethodEnum = IfcReflectanceMethodEnum; + class IfcReinforcedSoilTypeEnum { + } + IfcReinforcedSoilTypeEnum.DYNAMICALLYCOMPACTED = { type: 3, value: "DYNAMICALLYCOMPACTED" }; + IfcReinforcedSoilTypeEnum.GROUTED = { type: 3, value: "GROUTED" }; + IfcReinforcedSoilTypeEnum.REPLACED = { type: 3, value: "REPLACED" }; + IfcReinforcedSoilTypeEnum.ROLLERCOMPACTED = { type: 3, value: "ROLLERCOMPACTED" }; + IfcReinforcedSoilTypeEnum.SURCHARGEPRELOADED = { type: 3, value: "SURCHARGEPRELOADED" }; + IfcReinforcedSoilTypeEnum.VERTICALLYDRAINED = { type: 3, value: "VERTICALLYDRAINED" }; + IfcReinforcedSoilTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReinforcedSoilTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcReinforcedSoilTypeEnum = IfcReinforcedSoilTypeEnum; + class IfcReinforcingBarRoleEnum { + } + IfcReinforcingBarRoleEnum.ANCHORING = { type: 3, value: "ANCHORING" }; + IfcReinforcingBarRoleEnum.EDGE = { type: 3, value: "EDGE" }; + IfcReinforcingBarRoleEnum.LIGATURE = { type: 3, value: "LIGATURE" }; + IfcReinforcingBarRoleEnum.MAIN = { type: 3, value: "MAIN" }; + IfcReinforcingBarRoleEnum.PUNCHING = { type: 3, value: "PUNCHING" }; + IfcReinforcingBarRoleEnum.RING = { type: 3, value: "RING" }; + IfcReinforcingBarRoleEnum.SHEAR = { type: 3, value: "SHEAR" }; + IfcReinforcingBarRoleEnum.STUD = { type: 3, value: "STUD" }; + IfcReinforcingBarRoleEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReinforcingBarRoleEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcReinforcingBarRoleEnum = IfcReinforcingBarRoleEnum; + class IfcReinforcingBarSurfaceEnum { + } + IfcReinforcingBarSurfaceEnum.PLAIN = { type: 3, value: "PLAIN" }; + IfcReinforcingBarSurfaceEnum.TEXTURED = { type: 3, value: "TEXTURED" }; + IFC4X32.IfcReinforcingBarSurfaceEnum = IfcReinforcingBarSurfaceEnum; + class IfcReinforcingBarTypeEnum { + } + IfcReinforcingBarTypeEnum.ANCHORING = { type: 3, value: "ANCHORING" }; + IfcReinforcingBarTypeEnum.EDGE = { type: 3, value: "EDGE" }; + IfcReinforcingBarTypeEnum.LIGATURE = { type: 3, value: "LIGATURE" }; + IfcReinforcingBarTypeEnum.MAIN = { type: 3, value: "MAIN" }; + IfcReinforcingBarTypeEnum.PUNCHING = { type: 3, value: "PUNCHING" }; + IfcReinforcingBarTypeEnum.RING = { type: 3, value: "RING" }; + IfcReinforcingBarTypeEnum.SHEAR = { type: 3, value: "SHEAR" }; + IfcReinforcingBarTypeEnum.SPACEBAR = { type: 3, value: "SPACEBAR" }; + IfcReinforcingBarTypeEnum.STUD = { type: 3, value: "STUD" }; + IfcReinforcingBarTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReinforcingBarTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcReinforcingBarTypeEnum = IfcReinforcingBarTypeEnum; + class IfcReinforcingMeshTypeEnum { + } + IfcReinforcingMeshTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReinforcingMeshTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcReinforcingMeshTypeEnum = IfcReinforcingMeshTypeEnum; + class IfcRoadPartTypeEnum { + } + IfcRoadPartTypeEnum.BICYCLECROSSING = { type: 3, value: "BICYCLECROSSING" }; + IfcRoadPartTypeEnum.BUS_STOP = { type: 3, value: "BUS_STOP" }; + IfcRoadPartTypeEnum.CARRIAGEWAY = { type: 3, value: "CARRIAGEWAY" }; + IfcRoadPartTypeEnum.CENTRALISLAND = { type: 3, value: "CENTRALISLAND" }; + IfcRoadPartTypeEnum.CENTRALRESERVE = { type: 3, value: "CENTRALRESERVE" }; + IfcRoadPartTypeEnum.HARDSHOULDER = { type: 3, value: "HARDSHOULDER" }; + IfcRoadPartTypeEnum.INTERSECTION = { type: 3, value: "INTERSECTION" }; + IfcRoadPartTypeEnum.LAYBY = { type: 3, value: "LAYBY" }; + IfcRoadPartTypeEnum.PARKINGBAY = { type: 3, value: "PARKINGBAY" }; + IfcRoadPartTypeEnum.PASSINGBAY = { type: 3, value: "PASSINGBAY" }; + IfcRoadPartTypeEnum.PEDESTRIAN_CROSSING = { type: 3, value: "PEDESTRIAN_CROSSING" }; + IfcRoadPartTypeEnum.RAILWAYCROSSING = { type: 3, value: "RAILWAYCROSSING" }; + IfcRoadPartTypeEnum.REFUGEISLAND = { type: 3, value: "REFUGEISLAND" }; + IfcRoadPartTypeEnum.ROADSEGMENT = { type: 3, value: "ROADSEGMENT" }; + IfcRoadPartTypeEnum.ROADSIDE = { type: 3, value: "ROADSIDE" }; + IfcRoadPartTypeEnum.ROADSIDEPART = { type: 3, value: "ROADSIDEPART" }; + IfcRoadPartTypeEnum.ROADWAYPLATEAU = { type: 3, value: "ROADWAYPLATEAU" }; + IfcRoadPartTypeEnum.ROUNDABOUT = { type: 3, value: "ROUNDABOUT" }; + IfcRoadPartTypeEnum.SHOULDER = { type: 3, value: "SHOULDER" }; + IfcRoadPartTypeEnum.SIDEWALK = { type: 3, value: "SIDEWALK" }; + IfcRoadPartTypeEnum.SOFTSHOULDER = { type: 3, value: "SOFTSHOULDER" }; + IfcRoadPartTypeEnum.TOLLPLAZA = { type: 3, value: "TOLLPLAZA" }; + IfcRoadPartTypeEnum.TRAFFICISLAND = { type: 3, value: "TRAFFICISLAND" }; + IfcRoadPartTypeEnum.TRAFFICLANE = { type: 3, value: "TRAFFICLANE" }; + IfcRoadPartTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRoadPartTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRoadPartTypeEnum = IfcRoadPartTypeEnum; + class IfcRoadTypeEnum { + } + IfcRoadTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRoadTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRoadTypeEnum = IfcRoadTypeEnum; + class IfcRoleEnum { + } + IfcRoleEnum.ARCHITECT = { type: 3, value: "ARCHITECT" }; + IfcRoleEnum.BUILDINGOPERATOR = { type: 3, value: "BUILDINGOPERATOR" }; + IfcRoleEnum.BUILDINGOWNER = { type: 3, value: "BUILDINGOWNER" }; + IfcRoleEnum.CIVILENGINEER = { type: 3, value: "CIVILENGINEER" }; + IfcRoleEnum.CLIENT = { type: 3, value: "CLIENT" }; + IfcRoleEnum.COMMISSIONINGENGINEER = { type: 3, value: "COMMISSIONINGENGINEER" }; + IfcRoleEnum.CONSTRUCTIONMANAGER = { type: 3, value: "CONSTRUCTIONMANAGER" }; + IfcRoleEnum.CONSULTANT = { type: 3, value: "CONSULTANT" }; + IfcRoleEnum.CONTRACTOR = { type: 3, value: "CONTRACTOR" }; + IfcRoleEnum.COSTENGINEER = { type: 3, value: "COSTENGINEER" }; + IfcRoleEnum.ELECTRICALENGINEER = { type: 3, value: "ELECTRICALENGINEER" }; + IfcRoleEnum.ENGINEER = { type: 3, value: "ENGINEER" }; + IfcRoleEnum.FACILITIESMANAGER = { type: 3, value: "FACILITIESMANAGER" }; + IfcRoleEnum.FIELDCONSTRUCTIONMANAGER = { type: 3, value: "FIELDCONSTRUCTIONMANAGER" }; + IfcRoleEnum.MANUFACTURER = { type: 3, value: "MANUFACTURER" }; + IfcRoleEnum.MECHANICALENGINEER = { type: 3, value: "MECHANICALENGINEER" }; + IfcRoleEnum.OWNER = { type: 3, value: "OWNER" }; + IfcRoleEnum.PROJECTMANAGER = { type: 3, value: "PROJECTMANAGER" }; + IfcRoleEnum.RESELLER = { type: 3, value: "RESELLER" }; + IfcRoleEnum.STRUCTURALENGINEER = { type: 3, value: "STRUCTURALENGINEER" }; + IfcRoleEnum.SUBCONTRACTOR = { type: 3, value: "SUBCONTRACTOR" }; + IfcRoleEnum.SUPPLIER = { type: 3, value: "SUPPLIER" }; + IfcRoleEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC4X32.IfcRoleEnum = IfcRoleEnum; + class IfcRoofTypeEnum { + } + IfcRoofTypeEnum.BARREL_ROOF = { type: 3, value: "BARREL_ROOF" }; + IfcRoofTypeEnum.BUTTERFLY_ROOF = { type: 3, value: "BUTTERFLY_ROOF" }; + IfcRoofTypeEnum.DOME_ROOF = { type: 3, value: "DOME_ROOF" }; + IfcRoofTypeEnum.FLAT_ROOF = { type: 3, value: "FLAT_ROOF" }; + IfcRoofTypeEnum.FREEFORM = { type: 3, value: "FREEFORM" }; + IfcRoofTypeEnum.GABLE_ROOF = { type: 3, value: "GABLE_ROOF" }; + IfcRoofTypeEnum.GAMBREL_ROOF = { type: 3, value: "GAMBREL_ROOF" }; + IfcRoofTypeEnum.HIPPED_GABLE_ROOF = { type: 3, value: "HIPPED_GABLE_ROOF" }; + IfcRoofTypeEnum.HIP_ROOF = { type: 3, value: "HIP_ROOF" }; + IfcRoofTypeEnum.MANSARD_ROOF = { type: 3, value: "MANSARD_ROOF" }; + IfcRoofTypeEnum.PAVILION_ROOF = { type: 3, value: "PAVILION_ROOF" }; + IfcRoofTypeEnum.RAINBOW_ROOF = { type: 3, value: "RAINBOW_ROOF" }; + IfcRoofTypeEnum.SHED_ROOF = { type: 3, value: "SHED_ROOF" }; + IfcRoofTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRoofTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRoofTypeEnum = IfcRoofTypeEnum; + class IfcSIPrefix { + } + IfcSIPrefix.ATTO = { type: 3, value: "ATTO" }; + IfcSIPrefix.CENTI = { type: 3, value: "CENTI" }; + IfcSIPrefix.DECA = { type: 3, value: "DECA" }; + IfcSIPrefix.DECI = { type: 3, value: "DECI" }; + IfcSIPrefix.EXA = { type: 3, value: "EXA" }; + IfcSIPrefix.FEMTO = { type: 3, value: "FEMTO" }; + IfcSIPrefix.GIGA = { type: 3, value: "GIGA" }; + IfcSIPrefix.HECTO = { type: 3, value: "HECTO" }; + IfcSIPrefix.KILO = { type: 3, value: "KILO" }; + IfcSIPrefix.MEGA = { type: 3, value: "MEGA" }; + IfcSIPrefix.MICRO = { type: 3, value: "MICRO" }; + IfcSIPrefix.MILLI = { type: 3, value: "MILLI" }; + IfcSIPrefix.NANO = { type: 3, value: "NANO" }; + IfcSIPrefix.PETA = { type: 3, value: "PETA" }; + IfcSIPrefix.PICO = { type: 3, value: "PICO" }; + IfcSIPrefix.TERA = { type: 3, value: "TERA" }; + IFC4X32.IfcSIPrefix = IfcSIPrefix; + class IfcSIUnitName { + } + IfcSIUnitName.AMPERE = { type: 3, value: "AMPERE" }; + IfcSIUnitName.BECQUEREL = { type: 3, value: "BECQUEREL" }; + IfcSIUnitName.CANDELA = { type: 3, value: "CANDELA" }; + IfcSIUnitName.COULOMB = { type: 3, value: "COULOMB" }; + IfcSIUnitName.CUBIC_METRE = { type: 3, value: "CUBIC_METRE" }; + IfcSIUnitName.DEGREE_CELSIUS = { type: 3, value: "DEGREE_CELSIUS" }; + IfcSIUnitName.FARAD = { type: 3, value: "FARAD" }; + IfcSIUnitName.GRAM = { type: 3, value: "GRAM" }; + IfcSIUnitName.GRAY = { type: 3, value: "GRAY" }; + IfcSIUnitName.HENRY = { type: 3, value: "HENRY" }; + IfcSIUnitName.HERTZ = { type: 3, value: "HERTZ" }; + IfcSIUnitName.JOULE = { type: 3, value: "JOULE" }; + IfcSIUnitName.KELVIN = { type: 3, value: "KELVIN" }; + IfcSIUnitName.LUMEN = { type: 3, value: "LUMEN" }; + IfcSIUnitName.LUX = { type: 3, value: "LUX" }; + IfcSIUnitName.METRE = { type: 3, value: "METRE" }; + IfcSIUnitName.MOLE = { type: 3, value: "MOLE" }; + IfcSIUnitName.NEWTON = { type: 3, value: "NEWTON" }; + IfcSIUnitName.OHM = { type: 3, value: "OHM" }; + IfcSIUnitName.PASCAL = { type: 3, value: "PASCAL" }; + IfcSIUnitName.RADIAN = { type: 3, value: "RADIAN" }; + IfcSIUnitName.SECOND = { type: 3, value: "SECOND" }; + IfcSIUnitName.SIEMENS = { type: 3, value: "SIEMENS" }; + IfcSIUnitName.SIEVERT = { type: 3, value: "SIEVERT" }; + IfcSIUnitName.SQUARE_METRE = { type: 3, value: "SQUARE_METRE" }; + IfcSIUnitName.STERADIAN = { type: 3, value: "STERADIAN" }; + IfcSIUnitName.TESLA = { type: 3, value: "TESLA" }; + IfcSIUnitName.VOLT = { type: 3, value: "VOLT" }; + IfcSIUnitName.WATT = { type: 3, value: "WATT" }; + IfcSIUnitName.WEBER = { type: 3, value: "WEBER" }; + IFC4X32.IfcSIUnitName = IfcSIUnitName; + class IfcSanitaryTerminalTypeEnum { + } + IfcSanitaryTerminalTypeEnum.BATH = { type: 3, value: "BATH" }; + IfcSanitaryTerminalTypeEnum.BIDET = { type: 3, value: "BIDET" }; + IfcSanitaryTerminalTypeEnum.CISTERN = { type: 3, value: "CISTERN" }; + IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN = { type: 3, value: "SANITARYFOUNTAIN" }; + IfcSanitaryTerminalTypeEnum.SHOWER = { type: 3, value: "SHOWER" }; + IfcSanitaryTerminalTypeEnum.SINK = { type: 3, value: "SINK" }; + IfcSanitaryTerminalTypeEnum.TOILETPAN = { type: 3, value: "TOILETPAN" }; + IfcSanitaryTerminalTypeEnum.URINAL = { type: 3, value: "URINAL" }; + IfcSanitaryTerminalTypeEnum.WASHHANDBASIN = { type: 3, value: "WASHHANDBASIN" }; + IfcSanitaryTerminalTypeEnum.WCSEAT = { type: 3, value: "WCSEAT" }; + IfcSanitaryTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSanitaryTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSanitaryTerminalTypeEnum = IfcSanitaryTerminalTypeEnum; + class IfcSectionTypeEnum { + } + IfcSectionTypeEnum.TAPERED = { type: 3, value: "TAPERED" }; + IfcSectionTypeEnum.UNIFORM = { type: 3, value: "UNIFORM" }; + IFC4X32.IfcSectionTypeEnum = IfcSectionTypeEnum; + class IfcSensorTypeEnum { + } + IfcSensorTypeEnum.CO2SENSOR = { type: 3, value: "CO2SENSOR" }; + IfcSensorTypeEnum.CONDUCTANCESENSOR = { type: 3, value: "CONDUCTANCESENSOR" }; + IfcSensorTypeEnum.CONTACTSENSOR = { type: 3, value: "CONTACTSENSOR" }; + IfcSensorTypeEnum.COSENSOR = { type: 3, value: "COSENSOR" }; + IfcSensorTypeEnum.EARTHQUAKESENSOR = { type: 3, value: "EARTHQUAKESENSOR" }; + IfcSensorTypeEnum.FIRESENSOR = { type: 3, value: "FIRESENSOR" }; + IfcSensorTypeEnum.FLOWSENSOR = { type: 3, value: "FLOWSENSOR" }; + IfcSensorTypeEnum.FOREIGNOBJECTDETECTIONSENSOR = { type: 3, value: "FOREIGNOBJECTDETECTIONSENSOR" }; + IfcSensorTypeEnum.FROSTSENSOR = { type: 3, value: "FROSTSENSOR" }; + IfcSensorTypeEnum.GASSENSOR = { type: 3, value: "GASSENSOR" }; + IfcSensorTypeEnum.HEATSENSOR = { type: 3, value: "HEATSENSOR" }; + IfcSensorTypeEnum.HUMIDITYSENSOR = { type: 3, value: "HUMIDITYSENSOR" }; + IfcSensorTypeEnum.IDENTIFIERSENSOR = { type: 3, value: "IDENTIFIERSENSOR" }; + IfcSensorTypeEnum.IONCONCENTRATIONSENSOR = { type: 3, value: "IONCONCENTRATIONSENSOR" }; + IfcSensorTypeEnum.LEVELSENSOR = { type: 3, value: "LEVELSENSOR" }; + IfcSensorTypeEnum.LIGHTSENSOR = { type: 3, value: "LIGHTSENSOR" }; + IfcSensorTypeEnum.MOISTURESENSOR = { type: 3, value: "MOISTURESENSOR" }; + IfcSensorTypeEnum.MOVEMENTSENSOR = { type: 3, value: "MOVEMENTSENSOR" }; + IfcSensorTypeEnum.OBSTACLESENSOR = { type: 3, value: "OBSTACLESENSOR" }; + IfcSensorTypeEnum.PHSENSOR = { type: 3, value: "PHSENSOR" }; + IfcSensorTypeEnum.PRESSURESENSOR = { type: 3, value: "PRESSURESENSOR" }; + IfcSensorTypeEnum.RADIATIONSENSOR = { type: 3, value: "RADIATIONSENSOR" }; + IfcSensorTypeEnum.RADIOACTIVITYSENSOR = { type: 3, value: "RADIOACTIVITYSENSOR" }; + IfcSensorTypeEnum.RAINSENSOR = { type: 3, value: "RAINSENSOR" }; + IfcSensorTypeEnum.SMOKESENSOR = { type: 3, value: "SMOKESENSOR" }; + IfcSensorTypeEnum.SNOWDEPTHSENSOR = { type: 3, value: "SNOWDEPTHSENSOR" }; + IfcSensorTypeEnum.SOUNDSENSOR = { type: 3, value: "SOUNDSENSOR" }; + IfcSensorTypeEnum.TEMPERATURESENSOR = { type: 3, value: "TEMPERATURESENSOR" }; + IfcSensorTypeEnum.TRAINSENSOR = { type: 3, value: "TRAINSENSOR" }; + IfcSensorTypeEnum.TURNOUTCLOSURESENSOR = { type: 3, value: "TURNOUTCLOSURESENSOR" }; + IfcSensorTypeEnum.WHEELSENSOR = { type: 3, value: "WHEELSENSOR" }; + IfcSensorTypeEnum.WINDSENSOR = { type: 3, value: "WINDSENSOR" }; + IfcSensorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSensorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSensorTypeEnum = IfcSensorTypeEnum; + class IfcSequenceEnum { + } + IfcSequenceEnum.FINISH_FINISH = { type: 3, value: "FINISH_FINISH" }; + IfcSequenceEnum.FINISH_START = { type: 3, value: "FINISH_START" }; + IfcSequenceEnum.START_FINISH = { type: 3, value: "START_FINISH" }; + IfcSequenceEnum.START_START = { type: 3, value: "START_START" }; + IfcSequenceEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSequenceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSequenceEnum = IfcSequenceEnum; + class IfcShadingDeviceTypeEnum { + } + IfcShadingDeviceTypeEnum.AWNING = { type: 3, value: "AWNING" }; + IfcShadingDeviceTypeEnum.JALOUSIE = { type: 3, value: "JALOUSIE" }; + IfcShadingDeviceTypeEnum.SHUTTER = { type: 3, value: "SHUTTER" }; + IfcShadingDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcShadingDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcShadingDeviceTypeEnum = IfcShadingDeviceTypeEnum; + class IfcSignTypeEnum { + } + IfcSignTypeEnum.MARKER = { type: 3, value: "MARKER" }; + IfcSignTypeEnum.MIRROR = { type: 3, value: "MIRROR" }; + IfcSignTypeEnum.PICTORAL = { type: 3, value: "PICTORAL" }; + IfcSignTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSignTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSignTypeEnum = IfcSignTypeEnum; + class IfcSignalTypeEnum { + } + IfcSignalTypeEnum.AUDIO = { type: 3, value: "AUDIO" }; + IfcSignalTypeEnum.MIXED = { type: 3, value: "MIXED" }; + IfcSignalTypeEnum.VISUAL = { type: 3, value: "VISUAL" }; + IfcSignalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSignalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSignalTypeEnum = IfcSignalTypeEnum; + class IfcSimplePropertyTemplateTypeEnum { + } + IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE = { type: 3, value: "P_BOUNDEDVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE = { type: 3, value: "P_ENUMERATEDVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE = { type: 3, value: "P_LISTVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE = { type: 3, value: "P_REFERENCEVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE = { type: 3, value: "P_SINGLEVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE = { type: 3, value: "P_TABLEVALUE" }; + IfcSimplePropertyTemplateTypeEnum.Q_AREA = { type: 3, value: "Q_AREA" }; + IfcSimplePropertyTemplateTypeEnum.Q_COUNT = { type: 3, value: "Q_COUNT" }; + IfcSimplePropertyTemplateTypeEnum.Q_LENGTH = { type: 3, value: "Q_LENGTH" }; + IfcSimplePropertyTemplateTypeEnum.Q_NUMBER = { type: 3, value: "Q_NUMBER" }; + IfcSimplePropertyTemplateTypeEnum.Q_TIME = { type: 3, value: "Q_TIME" }; + IfcSimplePropertyTemplateTypeEnum.Q_VOLUME = { type: 3, value: "Q_VOLUME" }; + IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT = { type: 3, value: "Q_WEIGHT" }; + IFC4X32.IfcSimplePropertyTemplateTypeEnum = IfcSimplePropertyTemplateTypeEnum; + class IfcSlabTypeEnum { + } + IfcSlabTypeEnum.APPROACH_SLAB = { type: 3, value: "APPROACH_SLAB" }; + IfcSlabTypeEnum.BASESLAB = { type: 3, value: "BASESLAB" }; + IfcSlabTypeEnum.FLOOR = { type: 3, value: "FLOOR" }; + IfcSlabTypeEnum.LANDING = { type: 3, value: "LANDING" }; + IfcSlabTypeEnum.PAVING = { type: 3, value: "PAVING" }; + IfcSlabTypeEnum.ROOF = { type: 3, value: "ROOF" }; + IfcSlabTypeEnum.SIDEWALK = { type: 3, value: "SIDEWALK" }; + IfcSlabTypeEnum.TRACKSLAB = { type: 3, value: "TRACKSLAB" }; + IfcSlabTypeEnum.WEARING = { type: 3, value: "WEARING" }; + IfcSlabTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSlabTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSlabTypeEnum = IfcSlabTypeEnum; + class IfcSolarDeviceTypeEnum { + } + IfcSolarDeviceTypeEnum.SOLARCOLLECTOR = { type: 3, value: "SOLARCOLLECTOR" }; + IfcSolarDeviceTypeEnum.SOLARPANEL = { type: 3, value: "SOLARPANEL" }; + IfcSolarDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSolarDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSolarDeviceTypeEnum = IfcSolarDeviceTypeEnum; + class IfcSpaceHeaterTypeEnum { + } + IfcSpaceHeaterTypeEnum.CONVECTOR = { type: 3, value: "CONVECTOR" }; + IfcSpaceHeaterTypeEnum.RADIATOR = { type: 3, value: "RADIATOR" }; + IfcSpaceHeaterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSpaceHeaterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSpaceHeaterTypeEnum = IfcSpaceHeaterTypeEnum; + class IfcSpaceTypeEnum { + } + IfcSpaceTypeEnum.BERTH = { type: 3, value: "BERTH" }; + IfcSpaceTypeEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcSpaceTypeEnum.GFA = { type: 3, value: "GFA" }; + IfcSpaceTypeEnum.INTERNAL = { type: 3, value: "INTERNAL" }; + IfcSpaceTypeEnum.PARKING = { type: 3, value: "PARKING" }; + IfcSpaceTypeEnum.SPACE = { type: 3, value: "SPACE" }; + IfcSpaceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSpaceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSpaceTypeEnum = IfcSpaceTypeEnum; + class IfcSpatialZoneTypeEnum { + } + IfcSpatialZoneTypeEnum.CONSTRUCTION = { type: 3, value: "CONSTRUCTION" }; + IfcSpatialZoneTypeEnum.FIRESAFETY = { type: 3, value: "FIRESAFETY" }; + IfcSpatialZoneTypeEnum.INTERFERENCE = { type: 3, value: "INTERFERENCE" }; + IfcSpatialZoneTypeEnum.LIGHTING = { type: 3, value: "LIGHTING" }; + IfcSpatialZoneTypeEnum.OCCUPANCY = { type: 3, value: "OCCUPANCY" }; + IfcSpatialZoneTypeEnum.RESERVATION = { type: 3, value: "RESERVATION" }; + IfcSpatialZoneTypeEnum.SECURITY = { type: 3, value: "SECURITY" }; + IfcSpatialZoneTypeEnum.THERMAL = { type: 3, value: "THERMAL" }; + IfcSpatialZoneTypeEnum.TRANSPORT = { type: 3, value: "TRANSPORT" }; + IfcSpatialZoneTypeEnum.VENTILATION = { type: 3, value: "VENTILATION" }; + IfcSpatialZoneTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSpatialZoneTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSpatialZoneTypeEnum = IfcSpatialZoneTypeEnum; + class IfcStackTerminalTypeEnum { + } + IfcStackTerminalTypeEnum.BIRDCAGE = { type: 3, value: "BIRDCAGE" }; + IfcStackTerminalTypeEnum.COWL = { type: 3, value: "COWL" }; + IfcStackTerminalTypeEnum.RAINWATERHOPPER = { type: 3, value: "RAINWATERHOPPER" }; + IfcStackTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStackTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcStackTerminalTypeEnum = IfcStackTerminalTypeEnum; + class IfcStairFlightTypeEnum { + } + IfcStairFlightTypeEnum.CURVED = { type: 3, value: "CURVED" }; + IfcStairFlightTypeEnum.FREEFORM = { type: 3, value: "FREEFORM" }; + IfcStairFlightTypeEnum.SPIRAL = { type: 3, value: "SPIRAL" }; + IfcStairFlightTypeEnum.STRAIGHT = { type: 3, value: "STRAIGHT" }; + IfcStairFlightTypeEnum.WINDER = { type: 3, value: "WINDER" }; + IfcStairFlightTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStairFlightTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcStairFlightTypeEnum = IfcStairFlightTypeEnum; + class IfcStairTypeEnum { + } + IfcStairTypeEnum.CURVED_RUN_STAIR = { type: 3, value: "CURVED_RUN_STAIR" }; + IfcStairTypeEnum.DOUBLE_RETURN_STAIR = { type: 3, value: "DOUBLE_RETURN_STAIR" }; + IfcStairTypeEnum.HALF_TURN_STAIR = { type: 3, value: "HALF_TURN_STAIR" }; + IfcStairTypeEnum.HALF_WINDING_STAIR = { type: 3, value: "HALF_WINDING_STAIR" }; + IfcStairTypeEnum.LADDER = { type: 3, value: "LADDER" }; + IfcStairTypeEnum.QUARTER_TURN_STAIR = { type: 3, value: "QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.QUARTER_WINDING_STAIR = { type: 3, value: "QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.SPIRAL_STAIR = { type: 3, value: "SPIRAL_STAIR" }; + IfcStairTypeEnum.STRAIGHT_RUN_STAIR = { type: 3, value: "STRAIGHT_RUN_STAIR" }; + IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR = { type: 3, value: "THREE_QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR = { type: 3, value: "THREE_QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.TWO_CURVED_RUN_STAIR = { type: 3, value: "TWO_CURVED_RUN_STAIR" }; + IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR = { type: 3, value: "TWO_QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR = { type: 3, value: "TWO_QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR = { type: 3, value: "TWO_STRAIGHT_RUN_STAIR" }; + IfcStairTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStairTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcStairTypeEnum = IfcStairTypeEnum; + class IfcStateEnum { + } + IfcStateEnum.LOCKED = { type: 3, value: "LOCKED" }; + IfcStateEnum.READONLY = { type: 3, value: "READONLY" }; + IfcStateEnum.READONLYLOCKED = { type: 3, value: "READONLYLOCKED" }; + IfcStateEnum.READWRITE = { type: 3, value: "READWRITE" }; + IfcStateEnum.READWRITELOCKED = { type: 3, value: "READWRITELOCKED" }; + IFC4X32.IfcStateEnum = IfcStateEnum; + class IfcStructuralCurveActivityTypeEnum { + } + IfcStructuralCurveActivityTypeEnum.CONST = { type: 3, value: "CONST" }; + IfcStructuralCurveActivityTypeEnum.DISCRETE = { type: 3, value: "DISCRETE" }; + IfcStructuralCurveActivityTypeEnum.EQUIDISTANT = { type: 3, value: "EQUIDISTANT" }; + IfcStructuralCurveActivityTypeEnum.LINEAR = { type: 3, value: "LINEAR" }; + IfcStructuralCurveActivityTypeEnum.PARABOLA = { type: 3, value: "PARABOLA" }; + IfcStructuralCurveActivityTypeEnum.POLYGONAL = { type: 3, value: "POLYGONAL" }; + IfcStructuralCurveActivityTypeEnum.SINUS = { type: 3, value: "SINUS" }; + IfcStructuralCurveActivityTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralCurveActivityTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcStructuralCurveActivityTypeEnum = IfcStructuralCurveActivityTypeEnum; + class IfcStructuralCurveMemberTypeEnum { + } + IfcStructuralCurveMemberTypeEnum.CABLE = { type: 3, value: "CABLE" }; + IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER = { type: 3, value: "COMPRESSION_MEMBER" }; + IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER = { type: 3, value: "PIN_JOINED_MEMBER" }; + IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER = { type: 3, value: "RIGID_JOINED_MEMBER" }; + IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER = { type: 3, value: "TENSION_MEMBER" }; + IfcStructuralCurveMemberTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralCurveMemberTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcStructuralCurveMemberTypeEnum = IfcStructuralCurveMemberTypeEnum; + class IfcStructuralSurfaceActivityTypeEnum { + } + IfcStructuralSurfaceActivityTypeEnum.BILINEAR = { type: 3, value: "BILINEAR" }; + IfcStructuralSurfaceActivityTypeEnum.CONST = { type: 3, value: "CONST" }; + IfcStructuralSurfaceActivityTypeEnum.DISCRETE = { type: 3, value: "DISCRETE" }; + IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR = { type: 3, value: "ISOCONTOUR" }; + IfcStructuralSurfaceActivityTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcStructuralSurfaceActivityTypeEnum = IfcStructuralSurfaceActivityTypeEnum; + class IfcStructuralSurfaceMemberTypeEnum { + } + IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT = { type: 3, value: "BENDING_ELEMENT" }; + IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT = { type: 3, value: "MEMBRANE_ELEMENT" }; + IfcStructuralSurfaceMemberTypeEnum.SHELL = { type: 3, value: "SHELL" }; + IfcStructuralSurfaceMemberTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcStructuralSurfaceMemberTypeEnum = IfcStructuralSurfaceMemberTypeEnum; + class IfcSubContractResourceTypeEnum { + } + IfcSubContractResourceTypeEnum.PURCHASE = { type: 3, value: "PURCHASE" }; + IfcSubContractResourceTypeEnum.WORK = { type: 3, value: "WORK" }; + IfcSubContractResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSubContractResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSubContractResourceTypeEnum = IfcSubContractResourceTypeEnum; + class IfcSurfaceFeatureTypeEnum { + } + IfcSurfaceFeatureTypeEnum.DEFECT = { type: 3, value: "DEFECT" }; + IfcSurfaceFeatureTypeEnum.HATCHMARKING = { type: 3, value: "HATCHMARKING" }; + IfcSurfaceFeatureTypeEnum.LINEMARKING = { type: 3, value: "LINEMARKING" }; + IfcSurfaceFeatureTypeEnum.MARK = { type: 3, value: "MARK" }; + IfcSurfaceFeatureTypeEnum.NONSKIDSURFACING = { type: 3, value: "NONSKIDSURFACING" }; + IfcSurfaceFeatureTypeEnum.PAVEMENTSURFACEMARKING = { type: 3, value: "PAVEMENTSURFACEMARKING" }; + IfcSurfaceFeatureTypeEnum.RUMBLESTRIP = { type: 3, value: "RUMBLESTRIP" }; + IfcSurfaceFeatureTypeEnum.SYMBOLMARKING = { type: 3, value: "SYMBOLMARKING" }; + IfcSurfaceFeatureTypeEnum.TAG = { type: 3, value: "TAG" }; + IfcSurfaceFeatureTypeEnum.TRANSVERSERUMBLESTRIP = { type: 3, value: "TRANSVERSERUMBLESTRIP" }; + IfcSurfaceFeatureTypeEnum.TREATMENT = { type: 3, value: "TREATMENT" }; + IfcSurfaceFeatureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSurfaceFeatureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSurfaceFeatureTypeEnum = IfcSurfaceFeatureTypeEnum; + class IfcSurfaceSide { + } + IfcSurfaceSide.BOTH = { type: 3, value: "BOTH" }; + IfcSurfaceSide.NEGATIVE = { type: 3, value: "NEGATIVE" }; + IfcSurfaceSide.POSITIVE = { type: 3, value: "POSITIVE" }; + IFC4X32.IfcSurfaceSide = IfcSurfaceSide; + class IfcSwitchingDeviceTypeEnum { + } + IfcSwitchingDeviceTypeEnum.CONTACTOR = { type: 3, value: "CONTACTOR" }; + IfcSwitchingDeviceTypeEnum.DIMMERSWITCH = { type: 3, value: "DIMMERSWITCH" }; + IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP = { type: 3, value: "EMERGENCYSTOP" }; + IfcSwitchingDeviceTypeEnum.KEYPAD = { type: 3, value: "KEYPAD" }; + IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH = { type: 3, value: "MOMENTARYSWITCH" }; + IfcSwitchingDeviceTypeEnum.RELAY = { type: 3, value: "RELAY" }; + IfcSwitchingDeviceTypeEnum.SELECTORSWITCH = { type: 3, value: "SELECTORSWITCH" }; + IfcSwitchingDeviceTypeEnum.STARTER = { type: 3, value: "STARTER" }; + IfcSwitchingDeviceTypeEnum.START_AND_STOP_EQUIPMENT = { type: 3, value: "START_AND_STOP_EQUIPMENT" }; + IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR = { type: 3, value: "SWITCHDISCONNECTOR" }; + IfcSwitchingDeviceTypeEnum.TOGGLESWITCH = { type: 3, value: "TOGGLESWITCH" }; + IfcSwitchingDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSwitchingDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSwitchingDeviceTypeEnum = IfcSwitchingDeviceTypeEnum; + class IfcSystemFurnitureElementTypeEnum { + } + IfcSystemFurnitureElementTypeEnum.PANEL = { type: 3, value: "PANEL" }; + IfcSystemFurnitureElementTypeEnum.SUBRACK = { type: 3, value: "SUBRACK" }; + IfcSystemFurnitureElementTypeEnum.WORKSURFACE = { type: 3, value: "WORKSURFACE" }; + IfcSystemFurnitureElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSystemFurnitureElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSystemFurnitureElementTypeEnum = IfcSystemFurnitureElementTypeEnum; + class IfcTankTypeEnum { + } + IfcTankTypeEnum.BASIN = { type: 3, value: "BASIN" }; + IfcTankTypeEnum.BREAKPRESSURE = { type: 3, value: "BREAKPRESSURE" }; + IfcTankTypeEnum.EXPANSION = { type: 3, value: "EXPANSION" }; + IfcTankTypeEnum.FEEDANDEXPANSION = { type: 3, value: "FEEDANDEXPANSION" }; + IfcTankTypeEnum.OILRETENTIONTRAY = { type: 3, value: "OILRETENTIONTRAY" }; + IfcTankTypeEnum.PRESSUREVESSEL = { type: 3, value: "PRESSUREVESSEL" }; + IfcTankTypeEnum.STORAGE = { type: 3, value: "STORAGE" }; + IfcTankTypeEnum.VESSEL = { type: 3, value: "VESSEL" }; + IfcTankTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTankTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTankTypeEnum = IfcTankTypeEnum; + class IfcTaskDurationEnum { + } + IfcTaskDurationEnum.ELAPSEDTIME = { type: 3, value: "ELAPSEDTIME" }; + IfcTaskDurationEnum.WORKTIME = { type: 3, value: "WORKTIME" }; + IfcTaskDurationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTaskDurationEnum = IfcTaskDurationEnum; + class IfcTaskTypeEnum { + } + IfcTaskTypeEnum.ADJUSTMENT = { type: 3, value: "ADJUSTMENT" }; + IfcTaskTypeEnum.ATTENDANCE = { type: 3, value: "ATTENDANCE" }; + IfcTaskTypeEnum.CALIBRATION = { type: 3, value: "CALIBRATION" }; + IfcTaskTypeEnum.CONSTRUCTION = { type: 3, value: "CONSTRUCTION" }; + IfcTaskTypeEnum.DEMOLITION = { type: 3, value: "DEMOLITION" }; + IfcTaskTypeEnum.DISMANTLE = { type: 3, value: "DISMANTLE" }; + IfcTaskTypeEnum.DISPOSAL = { type: 3, value: "DISPOSAL" }; + IfcTaskTypeEnum.EMERGENCY = { type: 3, value: "EMERGENCY" }; + IfcTaskTypeEnum.INSPECTION = { type: 3, value: "INSPECTION" }; + IfcTaskTypeEnum.INSTALLATION = { type: 3, value: "INSTALLATION" }; + IfcTaskTypeEnum.LOGISTIC = { type: 3, value: "LOGISTIC" }; + IfcTaskTypeEnum.MAINTENANCE = { type: 3, value: "MAINTENANCE" }; + IfcTaskTypeEnum.MOVE = { type: 3, value: "MOVE" }; + IfcTaskTypeEnum.OPERATION = { type: 3, value: "OPERATION" }; + IfcTaskTypeEnum.REMOVAL = { type: 3, value: "REMOVAL" }; + IfcTaskTypeEnum.RENOVATION = { type: 3, value: "RENOVATION" }; + IfcTaskTypeEnum.SAFETY = { type: 3, value: "SAFETY" }; + IfcTaskTypeEnum.SHUTDOWN = { type: 3, value: "SHUTDOWN" }; + IfcTaskTypeEnum.STARTUP = { type: 3, value: "STARTUP" }; + IfcTaskTypeEnum.TESTING = { type: 3, value: "TESTING" }; + IfcTaskTypeEnum.TROUBLESHOOTING = { type: 3, value: "TROUBLESHOOTING" }; + IfcTaskTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTaskTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTaskTypeEnum = IfcTaskTypeEnum; + class IfcTendonAnchorTypeEnum { + } + IfcTendonAnchorTypeEnum.COUPLER = { type: 3, value: "COUPLER" }; + IfcTendonAnchorTypeEnum.FIXED_END = { type: 3, value: "FIXED_END" }; + IfcTendonAnchorTypeEnum.TENSIONING_END = { type: 3, value: "TENSIONING_END" }; + IfcTendonAnchorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTendonAnchorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTendonAnchorTypeEnum = IfcTendonAnchorTypeEnum; + class IfcTendonConduitTypeEnum { + } + IfcTendonConduitTypeEnum.COUPLER = { type: 3, value: "COUPLER" }; + IfcTendonConduitTypeEnum.DIABOLO = { type: 3, value: "DIABOLO" }; + IfcTendonConduitTypeEnum.DUCT = { type: 3, value: "DUCT" }; + IfcTendonConduitTypeEnum.GROUTING_DUCT = { type: 3, value: "GROUTING_DUCT" }; + IfcTendonConduitTypeEnum.TRUMPET = { type: 3, value: "TRUMPET" }; + IfcTendonConduitTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTendonConduitTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTendonConduitTypeEnum = IfcTendonConduitTypeEnum; + class IfcTendonTypeEnum { + } + IfcTendonTypeEnum.BAR = { type: 3, value: "BAR" }; + IfcTendonTypeEnum.COATED = { type: 3, value: "COATED" }; + IfcTendonTypeEnum.STRAND = { type: 3, value: "STRAND" }; + IfcTendonTypeEnum.WIRE = { type: 3, value: "WIRE" }; + IfcTendonTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTendonTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTendonTypeEnum = IfcTendonTypeEnum; + class IfcTextPath { + } + IfcTextPath.DOWN = { type: 3, value: "DOWN" }; + IfcTextPath.LEFT = { type: 3, value: "LEFT" }; + IfcTextPath.RIGHT = { type: 3, value: "RIGHT" }; + IfcTextPath.UP = { type: 3, value: "UP" }; + IFC4X32.IfcTextPath = IfcTextPath; + class IfcTimeSeriesDataTypeEnum { + } + IfcTimeSeriesDataTypeEnum.CONTINUOUS = { type: 3, value: "CONTINUOUS" }; + IfcTimeSeriesDataTypeEnum.DISCRETE = { type: 3, value: "DISCRETE" }; + IfcTimeSeriesDataTypeEnum.DISCRETEBINARY = { type: 3, value: "DISCRETEBINARY" }; + IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY = { type: 3, value: "PIECEWISEBINARY" }; + IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT = { type: 3, value: "PIECEWISECONSTANT" }; + IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS = { type: 3, value: "PIECEWISECONTINUOUS" }; + IfcTimeSeriesDataTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTimeSeriesDataTypeEnum = IfcTimeSeriesDataTypeEnum; + class IfcTrackElementTypeEnum { + } + IfcTrackElementTypeEnum.BLOCKINGDEVICE = { type: 3, value: "BLOCKINGDEVICE" }; + IfcTrackElementTypeEnum.DERAILER = { type: 3, value: "DERAILER" }; + IfcTrackElementTypeEnum.FROG = { type: 3, value: "FROG" }; + IfcTrackElementTypeEnum.HALF_SET_OF_BLADES = { type: 3, value: "HALF_SET_OF_BLADES" }; + IfcTrackElementTypeEnum.SLEEPER = { type: 3, value: "SLEEPER" }; + IfcTrackElementTypeEnum.SPEEDREGULATOR = { type: 3, value: "SPEEDREGULATOR" }; + IfcTrackElementTypeEnum.TRACKENDOFALIGNMENT = { type: 3, value: "TRACKENDOFALIGNMENT" }; + IfcTrackElementTypeEnum.VEHICLESTOP = { type: 3, value: "VEHICLESTOP" }; + IfcTrackElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTrackElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTrackElementTypeEnum = IfcTrackElementTypeEnum; + class IfcTransformerTypeEnum { + } + IfcTransformerTypeEnum.CHOPPER = { type: 3, value: "CHOPPER" }; + IfcTransformerTypeEnum.COMBINED = { type: 3, value: "COMBINED" }; + IfcTransformerTypeEnum.CURRENT = { type: 3, value: "CURRENT" }; + IfcTransformerTypeEnum.FREQUENCY = { type: 3, value: "FREQUENCY" }; + IfcTransformerTypeEnum.INVERTER = { type: 3, value: "INVERTER" }; + IfcTransformerTypeEnum.RECTIFIER = { type: 3, value: "RECTIFIER" }; + IfcTransformerTypeEnum.VOLTAGE = { type: 3, value: "VOLTAGE" }; + IfcTransformerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTransformerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTransformerTypeEnum = IfcTransformerTypeEnum; + class IfcTransitionCode { + } + IfcTransitionCode.CONTINUOUS = { type: 3, value: "CONTINUOUS" }; + IfcTransitionCode.CONTSAMEGRADIENT = { type: 3, value: "CONTSAMEGRADIENT" }; + IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE = { type: 3, value: "CONTSAMEGRADIENTSAMECURVATURE" }; + IfcTransitionCode.DISCONTINUOUS = { type: 3, value: "DISCONTINUOUS" }; + IFC4X32.IfcTransitionCode = IfcTransitionCode; + class IfcTransportElementTypeEnum { + } + IfcTransportElementTypeEnum.CRANEWAY = { type: 3, value: "CRANEWAY" }; + IfcTransportElementTypeEnum.ELEVATOR = { type: 3, value: "ELEVATOR" }; + IfcTransportElementTypeEnum.ESCALATOR = { type: 3, value: "ESCALATOR" }; + IfcTransportElementTypeEnum.HAULINGGEAR = { type: 3, value: "HAULINGGEAR" }; + IfcTransportElementTypeEnum.LIFTINGGEAR = { type: 3, value: "LIFTINGGEAR" }; + IfcTransportElementTypeEnum.MOVINGWALKWAY = { type: 3, value: "MOVINGWALKWAY" }; + IfcTransportElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTransportElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTransportElementTypeEnum = IfcTransportElementTypeEnum; + class IfcTrimmingPreference { + } + IfcTrimmingPreference.CARTESIAN = { type: 3, value: "CARTESIAN" }; + IfcTrimmingPreference.PARAMETER = { type: 3, value: "PARAMETER" }; + IfcTrimmingPreference.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC4X32.IfcTrimmingPreference = IfcTrimmingPreference; + class IfcTubeBundleTypeEnum { + } + IfcTubeBundleTypeEnum.FINNED = { type: 3, value: "FINNED" }; + IfcTubeBundleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTubeBundleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTubeBundleTypeEnum = IfcTubeBundleTypeEnum; + class IfcUnitEnum { + } + IfcUnitEnum.ABSORBEDDOSEUNIT = { type: 3, value: "ABSORBEDDOSEUNIT" }; + IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT = { type: 3, value: "AMOUNTOFSUBSTANCEUNIT" }; + IfcUnitEnum.AREAUNIT = { type: 3, value: "AREAUNIT" }; + IfcUnitEnum.DOSEEQUIVALENTUNIT = { type: 3, value: "DOSEEQUIVALENTUNIT" }; + IfcUnitEnum.ELECTRICCAPACITANCEUNIT = { type: 3, value: "ELECTRICCAPACITANCEUNIT" }; + IfcUnitEnum.ELECTRICCHARGEUNIT = { type: 3, value: "ELECTRICCHARGEUNIT" }; + IfcUnitEnum.ELECTRICCONDUCTANCEUNIT = { type: 3, value: "ELECTRICCONDUCTANCEUNIT" }; + IfcUnitEnum.ELECTRICCURRENTUNIT = { type: 3, value: "ELECTRICCURRENTUNIT" }; + IfcUnitEnum.ELECTRICRESISTANCEUNIT = { type: 3, value: "ELECTRICRESISTANCEUNIT" }; + IfcUnitEnum.ELECTRICVOLTAGEUNIT = { type: 3, value: "ELECTRICVOLTAGEUNIT" }; + IfcUnitEnum.ENERGYUNIT = { type: 3, value: "ENERGYUNIT" }; + IfcUnitEnum.FORCEUNIT = { type: 3, value: "FORCEUNIT" }; + IfcUnitEnum.FREQUENCYUNIT = { type: 3, value: "FREQUENCYUNIT" }; + IfcUnitEnum.ILLUMINANCEUNIT = { type: 3, value: "ILLUMINANCEUNIT" }; + IfcUnitEnum.INDUCTANCEUNIT = { type: 3, value: "INDUCTANCEUNIT" }; + IfcUnitEnum.LENGTHUNIT = { type: 3, value: "LENGTHUNIT" }; + IfcUnitEnum.LUMINOUSFLUXUNIT = { type: 3, value: "LUMINOUSFLUXUNIT" }; + IfcUnitEnum.LUMINOUSINTENSITYUNIT = { type: 3, value: "LUMINOUSINTENSITYUNIT" }; + IfcUnitEnum.MAGNETICFLUXDENSITYUNIT = { type: 3, value: "MAGNETICFLUXDENSITYUNIT" }; + IfcUnitEnum.MAGNETICFLUXUNIT = { type: 3, value: "MAGNETICFLUXUNIT" }; + IfcUnitEnum.MASSUNIT = { type: 3, value: "MASSUNIT" }; + IfcUnitEnum.PLANEANGLEUNIT = { type: 3, value: "PLANEANGLEUNIT" }; + IfcUnitEnum.POWERUNIT = { type: 3, value: "POWERUNIT" }; + IfcUnitEnum.PRESSUREUNIT = { type: 3, value: "PRESSUREUNIT" }; + IfcUnitEnum.RADIOACTIVITYUNIT = { type: 3, value: "RADIOACTIVITYUNIT" }; + IfcUnitEnum.SOLIDANGLEUNIT = { type: 3, value: "SOLIDANGLEUNIT" }; + IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT = { type: 3, value: "THERMODYNAMICTEMPERATUREUNIT" }; + IfcUnitEnum.TIMEUNIT = { type: 3, value: "TIMEUNIT" }; + IfcUnitEnum.VOLUMEUNIT = { type: 3, value: "VOLUMEUNIT" }; + IfcUnitEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC4X32.IfcUnitEnum = IfcUnitEnum; + class IfcUnitaryControlElementTypeEnum { + } + IfcUnitaryControlElementTypeEnum.ALARMPANEL = { type: 3, value: "ALARMPANEL" }; + IfcUnitaryControlElementTypeEnum.BASESTATIONCONTROLLER = { type: 3, value: "BASESTATIONCONTROLLER" }; + IfcUnitaryControlElementTypeEnum.COMBINED = { type: 3, value: "COMBINED" }; + IfcUnitaryControlElementTypeEnum.CONTROLPANEL = { type: 3, value: "CONTROLPANEL" }; + IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL = { type: 3, value: "GASDETECTIONPANEL" }; + IfcUnitaryControlElementTypeEnum.HUMIDISTAT = { type: 3, value: "HUMIDISTAT" }; + IfcUnitaryControlElementTypeEnum.INDICATORPANEL = { type: 3, value: "INDICATORPANEL" }; + IfcUnitaryControlElementTypeEnum.MIMICPANEL = { type: 3, value: "MIMICPANEL" }; + IfcUnitaryControlElementTypeEnum.THERMOSTAT = { type: 3, value: "THERMOSTAT" }; + IfcUnitaryControlElementTypeEnum.WEATHERSTATION = { type: 3, value: "WEATHERSTATION" }; + IfcUnitaryControlElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcUnitaryControlElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcUnitaryControlElementTypeEnum = IfcUnitaryControlElementTypeEnum; + class IfcUnitaryEquipmentTypeEnum { + } + IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT = { type: 3, value: "AIRCONDITIONINGUNIT" }; + IfcUnitaryEquipmentTypeEnum.AIRHANDLER = { type: 3, value: "AIRHANDLER" }; + IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER = { type: 3, value: "DEHUMIDIFIER" }; + IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT = { type: 3, value: "ROOFTOPUNIT" }; + IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM = { type: 3, value: "SPLITSYSTEM" }; + IfcUnitaryEquipmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcUnitaryEquipmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcUnitaryEquipmentTypeEnum = IfcUnitaryEquipmentTypeEnum; + class IfcValveTypeEnum { + } + IfcValveTypeEnum.AIRRELEASE = { type: 3, value: "AIRRELEASE" }; + IfcValveTypeEnum.ANTIVACUUM = { type: 3, value: "ANTIVACUUM" }; + IfcValveTypeEnum.CHANGEOVER = { type: 3, value: "CHANGEOVER" }; + IfcValveTypeEnum.CHECK = { type: 3, value: "CHECK" }; + IfcValveTypeEnum.COMMISSIONING = { type: 3, value: "COMMISSIONING" }; + IfcValveTypeEnum.DIVERTING = { type: 3, value: "DIVERTING" }; + IfcValveTypeEnum.DOUBLECHECK = { type: 3, value: "DOUBLECHECK" }; + IfcValveTypeEnum.DOUBLEREGULATING = { type: 3, value: "DOUBLEREGULATING" }; + IfcValveTypeEnum.DRAWOFFCOCK = { type: 3, value: "DRAWOFFCOCK" }; + IfcValveTypeEnum.FAUCET = { type: 3, value: "FAUCET" }; + IfcValveTypeEnum.FLUSHING = { type: 3, value: "FLUSHING" }; + IfcValveTypeEnum.GASCOCK = { type: 3, value: "GASCOCK" }; + IfcValveTypeEnum.GASTAP = { type: 3, value: "GASTAP" }; + IfcValveTypeEnum.ISOLATING = { type: 3, value: "ISOLATING" }; + IfcValveTypeEnum.MIXING = { type: 3, value: "MIXING" }; + IfcValveTypeEnum.PRESSUREREDUCING = { type: 3, value: "PRESSUREREDUCING" }; + IfcValveTypeEnum.PRESSURERELIEF = { type: 3, value: "PRESSURERELIEF" }; + IfcValveTypeEnum.REGULATING = { type: 3, value: "REGULATING" }; + IfcValveTypeEnum.SAFETYCUTOFF = { type: 3, value: "SAFETYCUTOFF" }; + IfcValveTypeEnum.STEAMTRAP = { type: 3, value: "STEAMTRAP" }; + IfcValveTypeEnum.STOPCOCK = { type: 3, value: "STOPCOCK" }; + IfcValveTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcValveTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcValveTypeEnum = IfcValveTypeEnum; + class IfcVehicleTypeEnum { + } + IfcVehicleTypeEnum.CARGO = { type: 3, value: "CARGO" }; + IfcVehicleTypeEnum.ROLLINGSTOCK = { type: 3, value: "ROLLINGSTOCK" }; + IfcVehicleTypeEnum.VEHICLE = { type: 3, value: "VEHICLE" }; + IfcVehicleTypeEnum.VEHICLEAIR = { type: 3, value: "VEHICLEAIR" }; + IfcVehicleTypeEnum.VEHICLEMARINE = { type: 3, value: "VEHICLEMARINE" }; + IfcVehicleTypeEnum.VEHICLETRACKED = { type: 3, value: "VEHICLETRACKED" }; + IfcVehicleTypeEnum.VEHICLEWHEELED = { type: 3, value: "VEHICLEWHEELED" }; + IfcVehicleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcVehicleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcVehicleTypeEnum = IfcVehicleTypeEnum; + class IfcVibrationDamperTypeEnum { + } + IfcVibrationDamperTypeEnum.AXIAL_YIELD = { type: 3, value: "AXIAL_YIELD" }; + IfcVibrationDamperTypeEnum.BENDING_YIELD = { type: 3, value: "BENDING_YIELD" }; + IfcVibrationDamperTypeEnum.FRICTION = { type: 3, value: "FRICTION" }; + IfcVibrationDamperTypeEnum.RUBBER = { type: 3, value: "RUBBER" }; + IfcVibrationDamperTypeEnum.SHEAR_YIELD = { type: 3, value: "SHEAR_YIELD" }; + IfcVibrationDamperTypeEnum.VISCOUS = { type: 3, value: "VISCOUS" }; + IfcVibrationDamperTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcVibrationDamperTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcVibrationDamperTypeEnum = IfcVibrationDamperTypeEnum; + class IfcVibrationIsolatorTypeEnum { + } + IfcVibrationIsolatorTypeEnum.BASE = { type: 3, value: "BASE" }; + IfcVibrationIsolatorTypeEnum.COMPRESSION = { type: 3, value: "COMPRESSION" }; + IfcVibrationIsolatorTypeEnum.SPRING = { type: 3, value: "SPRING" }; + IfcVibrationIsolatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcVibrationIsolatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcVibrationIsolatorTypeEnum = IfcVibrationIsolatorTypeEnum; + class IfcVirtualElementTypeEnum { + } + IfcVirtualElementTypeEnum.BOUNDARY = { type: 3, value: "BOUNDARY" }; + IfcVirtualElementTypeEnum.CLEARANCE = { type: 3, value: "CLEARANCE" }; + IfcVirtualElementTypeEnum.PROVISIONFORVOID = { type: 3, value: "PROVISIONFORVOID" }; + IfcVirtualElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcVirtualElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcVirtualElementTypeEnum = IfcVirtualElementTypeEnum; + class IfcVoidingFeatureTypeEnum { + } + IfcVoidingFeatureTypeEnum.CHAMFER = { type: 3, value: "CHAMFER" }; + IfcVoidingFeatureTypeEnum.CUTOUT = { type: 3, value: "CUTOUT" }; + IfcVoidingFeatureTypeEnum.EDGE = { type: 3, value: "EDGE" }; + IfcVoidingFeatureTypeEnum.HOLE = { type: 3, value: "HOLE" }; + IfcVoidingFeatureTypeEnum.MITER = { type: 3, value: "MITER" }; + IfcVoidingFeatureTypeEnum.NOTCH = { type: 3, value: "NOTCH" }; + IfcVoidingFeatureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcVoidingFeatureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcVoidingFeatureTypeEnum = IfcVoidingFeatureTypeEnum; + class IfcWallTypeEnum { + } + IfcWallTypeEnum.ELEMENTEDWALL = { type: 3, value: "ELEMENTEDWALL" }; + IfcWallTypeEnum.MOVABLE = { type: 3, value: "MOVABLE" }; + IfcWallTypeEnum.PARAPET = { type: 3, value: "PARAPET" }; + IfcWallTypeEnum.PARTITIONING = { type: 3, value: "PARTITIONING" }; + IfcWallTypeEnum.PLUMBINGWALL = { type: 3, value: "PLUMBINGWALL" }; + IfcWallTypeEnum.POLYGONAL = { type: 3, value: "POLYGONAL" }; + IfcWallTypeEnum.RETAININGWALL = { type: 3, value: "RETAININGWALL" }; + IfcWallTypeEnum.SHEAR = { type: 3, value: "SHEAR" }; + IfcWallTypeEnum.SOLIDWALL = { type: 3, value: "SOLIDWALL" }; + IfcWallTypeEnum.STANDARD = { type: 3, value: "STANDARD" }; + IfcWallTypeEnum.WAVEWALL = { type: 3, value: "WAVEWALL" }; + IfcWallTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWallTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWallTypeEnum = IfcWallTypeEnum; + class IfcWasteTerminalTypeEnum { + } + IfcWasteTerminalTypeEnum.FLOORTRAP = { type: 3, value: "FLOORTRAP" }; + IfcWasteTerminalTypeEnum.FLOORWASTE = { type: 3, value: "FLOORWASTE" }; + IfcWasteTerminalTypeEnum.GULLYSUMP = { type: 3, value: "GULLYSUMP" }; + IfcWasteTerminalTypeEnum.GULLYTRAP = { type: 3, value: "GULLYTRAP" }; + IfcWasteTerminalTypeEnum.ROOFDRAIN = { type: 3, value: "ROOFDRAIN" }; + IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT = { type: 3, value: "WASTEDISPOSALUNIT" }; + IfcWasteTerminalTypeEnum.WASTETRAP = { type: 3, value: "WASTETRAP" }; + IfcWasteTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWasteTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWasteTerminalTypeEnum = IfcWasteTerminalTypeEnum; + class IfcWindowPanelOperationEnum { + } + IfcWindowPanelOperationEnum.BOTTOMHUNG = { type: 3, value: "BOTTOMHUNG" }; + IfcWindowPanelOperationEnum.FIXEDCASEMENT = { type: 3, value: "FIXEDCASEMENT" }; + IfcWindowPanelOperationEnum.OTHEROPERATION = { type: 3, value: "OTHEROPERATION" }; + IfcWindowPanelOperationEnum.PIVOTHORIZONTAL = { type: 3, value: "PIVOTHORIZONTAL" }; + IfcWindowPanelOperationEnum.PIVOTVERTICAL = { type: 3, value: "PIVOTVERTICAL" }; + IfcWindowPanelOperationEnum.REMOVABLECASEMENT = { type: 3, value: "REMOVABLECASEMENT" }; + IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND = { type: 3, value: "SIDEHUNGLEFTHAND" }; + IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND = { type: 3, value: "SIDEHUNGRIGHTHAND" }; + IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL = { type: 3, value: "SLIDINGHORIZONTAL" }; + IfcWindowPanelOperationEnum.SLIDINGVERTICAL = { type: 3, value: "SLIDINGVERTICAL" }; + IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND = { type: 3, value: "TILTANDTURNLEFTHAND" }; + IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND = { type: 3, value: "TILTANDTURNRIGHTHAND" }; + IfcWindowPanelOperationEnum.TOPHUNG = { type: 3, value: "TOPHUNG" }; + IfcWindowPanelOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWindowPanelOperationEnum = IfcWindowPanelOperationEnum; + class IfcWindowPanelPositionEnum { + } + IfcWindowPanelPositionEnum.BOTTOM = { type: 3, value: "BOTTOM" }; + IfcWindowPanelPositionEnum.LEFT = { type: 3, value: "LEFT" }; + IfcWindowPanelPositionEnum.MIDDLE = { type: 3, value: "MIDDLE" }; + IfcWindowPanelPositionEnum.RIGHT = { type: 3, value: "RIGHT" }; + IfcWindowPanelPositionEnum.TOP = { type: 3, value: "TOP" }; + IfcWindowPanelPositionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWindowPanelPositionEnum = IfcWindowPanelPositionEnum; + class IfcWindowStyleConstructionEnum { + } + IfcWindowStyleConstructionEnum.ALUMINIUM = { type: 3, value: "ALUMINIUM" }; + IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD = { type: 3, value: "ALUMINIUM_WOOD" }; + IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL = { type: 3, value: "HIGH_GRADE_STEEL" }; + IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION = { type: 3, value: "OTHER_CONSTRUCTION" }; + IfcWindowStyleConstructionEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcWindowStyleConstructionEnum.STEEL = { type: 3, value: "STEEL" }; + IfcWindowStyleConstructionEnum.WOOD = { type: 3, value: "WOOD" }; + IfcWindowStyleConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWindowStyleConstructionEnum = IfcWindowStyleConstructionEnum; + class IfcWindowStyleOperationEnum { + } + IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL = { type: 3, value: "DOUBLE_PANEL_HORIZONTAL" }; + IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL = { type: 3, value: "DOUBLE_PANEL_VERTICAL" }; + IfcWindowStyleOperationEnum.SINGLE_PANEL = { type: 3, value: "SINGLE_PANEL" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM = { type: 3, value: "TRIPLE_PANEL_BOTTOM" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL = { type: 3, value: "TRIPLE_PANEL_HORIZONTAL" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT = { type: 3, value: "TRIPLE_PANEL_LEFT" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT = { type: 3, value: "TRIPLE_PANEL_RIGHT" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP = { type: 3, value: "TRIPLE_PANEL_TOP" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL = { type: 3, value: "TRIPLE_PANEL_VERTICAL" }; + IfcWindowStyleOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWindowStyleOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWindowStyleOperationEnum = IfcWindowStyleOperationEnum; + class IfcWindowTypeEnum { + } + IfcWindowTypeEnum.LIGHTDOME = { type: 3, value: "LIGHTDOME" }; + IfcWindowTypeEnum.SKYLIGHT = { type: 3, value: "SKYLIGHT" }; + IfcWindowTypeEnum.WINDOW = { type: 3, value: "WINDOW" }; + IfcWindowTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWindowTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWindowTypeEnum = IfcWindowTypeEnum; + class IfcWindowTypePartitioningEnum { + } + IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL = { type: 3, value: "DOUBLE_PANEL_HORIZONTAL" }; + IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL = { type: 3, value: "DOUBLE_PANEL_VERTICAL" }; + IfcWindowTypePartitioningEnum.SINGLE_PANEL = { type: 3, value: "SINGLE_PANEL" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM = { type: 3, value: "TRIPLE_PANEL_BOTTOM" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL = { type: 3, value: "TRIPLE_PANEL_HORIZONTAL" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT = { type: 3, value: "TRIPLE_PANEL_LEFT" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT = { type: 3, value: "TRIPLE_PANEL_RIGHT" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP = { type: 3, value: "TRIPLE_PANEL_TOP" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL = { type: 3, value: "TRIPLE_PANEL_VERTICAL" }; + IfcWindowTypePartitioningEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWindowTypePartitioningEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWindowTypePartitioningEnum = IfcWindowTypePartitioningEnum; + class IfcWorkCalendarTypeEnum { + } + IfcWorkCalendarTypeEnum.FIRSTSHIFT = { type: 3, value: "FIRSTSHIFT" }; + IfcWorkCalendarTypeEnum.SECONDSHIFT = { type: 3, value: "SECONDSHIFT" }; + IfcWorkCalendarTypeEnum.THIRDSHIFT = { type: 3, value: "THIRDSHIFT" }; + IfcWorkCalendarTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWorkCalendarTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWorkCalendarTypeEnum = IfcWorkCalendarTypeEnum; + class IfcWorkPlanTypeEnum { + } + IfcWorkPlanTypeEnum.ACTUAL = { type: 3, value: "ACTUAL" }; + IfcWorkPlanTypeEnum.BASELINE = { type: 3, value: "BASELINE" }; + IfcWorkPlanTypeEnum.PLANNED = { type: 3, value: "PLANNED" }; + IfcWorkPlanTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWorkPlanTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWorkPlanTypeEnum = IfcWorkPlanTypeEnum; + class IfcWorkScheduleTypeEnum { + } + IfcWorkScheduleTypeEnum.ACTUAL = { type: 3, value: "ACTUAL" }; + IfcWorkScheduleTypeEnum.BASELINE = { type: 3, value: "BASELINE" }; + IfcWorkScheduleTypeEnum.PLANNED = { type: 3, value: "PLANNED" }; + IfcWorkScheduleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWorkScheduleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWorkScheduleTypeEnum = IfcWorkScheduleTypeEnum; + class IfcActorRole extends IfcLineObject$1 { + constructor(Role, UserDefinedRole, Description) { + super(); + this.Role = Role; + this.UserDefinedRole = UserDefinedRole; + this.Description = Description; + this.type = 3630933823; + } + } + IFC4X32.IfcActorRole = IfcActorRole; + class IfcAddress extends IfcLineObject$1 { + constructor(Purpose, Description, UserDefinedPurpose) { + super(); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.type = 618182010; + } + } + IFC4X32.IfcAddress = IfcAddress; + class IfcAlignmentParameterSegment extends IfcLineObject$1 { + constructor(StartTag, EndTag) { + super(); + this.StartTag = StartTag; + this.EndTag = EndTag; + this.type = 2879124712; + } + } + IFC4X32.IfcAlignmentParameterSegment = IfcAlignmentParameterSegment; + class IfcAlignmentVerticalSegment extends IfcAlignmentParameterSegment { + constructor(StartTag, EndTag, StartDistAlong, HorizontalLength, StartHeight, StartGradient, EndGradient, RadiusOfCurvature, PredefinedType) { + super(StartTag, EndTag); + this.StartTag = StartTag; + this.EndTag = EndTag; + this.StartDistAlong = StartDistAlong; + this.HorizontalLength = HorizontalLength; + this.StartHeight = StartHeight; + this.StartGradient = StartGradient; + this.EndGradient = EndGradient; + this.RadiusOfCurvature = RadiusOfCurvature; + this.PredefinedType = PredefinedType; + this.type = 3633395639; + } + } + IFC4X32.IfcAlignmentVerticalSegment = IfcAlignmentVerticalSegment; + class IfcApplication extends IfcLineObject$1 { + constructor(ApplicationDeveloper, Version, ApplicationFullName, ApplicationIdentifier) { + super(); + this.ApplicationDeveloper = ApplicationDeveloper; + this.Version = Version; + this.ApplicationFullName = ApplicationFullName; + this.ApplicationIdentifier = ApplicationIdentifier; + this.type = 639542469; + } + } + IFC4X32.IfcApplication = IfcApplication; + class IfcAppliedValue extends IfcLineObject$1 { + constructor(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components) { + super(); + this.Name = Name; + this.Description = Description; + this.AppliedValue = AppliedValue; + this.UnitBasis = UnitBasis; + this.ApplicableDate = ApplicableDate; + this.FixedUntilDate = FixedUntilDate; + this.Category = Category; + this.Condition = Condition; + this.ArithmeticOperator = ArithmeticOperator; + this.Components = Components; + this.type = 411424972; + } + } + IFC4X32.IfcAppliedValue = IfcAppliedValue; + class IfcApproval extends IfcLineObject$1 { + constructor(Identifier, Name, Description, TimeOfApproval, Status, Level, Qualifier, RequestingApproval, GivingApproval) { + super(); + this.Identifier = Identifier; + this.Name = Name; + this.Description = Description; + this.TimeOfApproval = TimeOfApproval; + this.Status = Status; + this.Level = Level; + this.Qualifier = Qualifier; + this.RequestingApproval = RequestingApproval; + this.GivingApproval = GivingApproval; + this.type = 130549933; + } + } + IFC4X32.IfcApproval = IfcApproval; + class IfcBoundaryCondition extends IfcLineObject$1 { + constructor(Name) { + super(); + this.Name = Name; + this.type = 4037036970; + } + } + IFC4X32.IfcBoundaryCondition = IfcBoundaryCondition; + class IfcBoundaryEdgeCondition extends IfcBoundaryCondition { + constructor(Name, TranslationalStiffnessByLengthX, TranslationalStiffnessByLengthY, TranslationalStiffnessByLengthZ, RotationalStiffnessByLengthX, RotationalStiffnessByLengthY, RotationalStiffnessByLengthZ) { + super(Name); + this.Name = Name; + this.TranslationalStiffnessByLengthX = TranslationalStiffnessByLengthX; + this.TranslationalStiffnessByLengthY = TranslationalStiffnessByLengthY; + this.TranslationalStiffnessByLengthZ = TranslationalStiffnessByLengthZ; + this.RotationalStiffnessByLengthX = RotationalStiffnessByLengthX; + this.RotationalStiffnessByLengthY = RotationalStiffnessByLengthY; + this.RotationalStiffnessByLengthZ = RotationalStiffnessByLengthZ; + this.type = 1560379544; + } + } + IFC4X32.IfcBoundaryEdgeCondition = IfcBoundaryEdgeCondition; + class IfcBoundaryFaceCondition extends IfcBoundaryCondition { + constructor(Name, TranslationalStiffnessByAreaX, TranslationalStiffnessByAreaY, TranslationalStiffnessByAreaZ) { + super(Name); + this.Name = Name; + this.TranslationalStiffnessByAreaX = TranslationalStiffnessByAreaX; + this.TranslationalStiffnessByAreaY = TranslationalStiffnessByAreaY; + this.TranslationalStiffnessByAreaZ = TranslationalStiffnessByAreaZ; + this.type = 3367102660; + } + } + IFC4X32.IfcBoundaryFaceCondition = IfcBoundaryFaceCondition; + class IfcBoundaryNodeCondition extends IfcBoundaryCondition { + constructor(Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ) { + super(Name); + this.Name = Name; + this.TranslationalStiffnessX = TranslationalStiffnessX; + this.TranslationalStiffnessY = TranslationalStiffnessY; + this.TranslationalStiffnessZ = TranslationalStiffnessZ; + this.RotationalStiffnessX = RotationalStiffnessX; + this.RotationalStiffnessY = RotationalStiffnessY; + this.RotationalStiffnessZ = RotationalStiffnessZ; + this.type = 1387855156; + } + } + IFC4X32.IfcBoundaryNodeCondition = IfcBoundaryNodeCondition; + class IfcBoundaryNodeConditionWarping extends IfcBoundaryNodeCondition { + constructor(Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ, WarpingStiffness) { + super(Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ); + this.Name = Name; + this.TranslationalStiffnessX = TranslationalStiffnessX; + this.TranslationalStiffnessY = TranslationalStiffnessY; + this.TranslationalStiffnessZ = TranslationalStiffnessZ; + this.RotationalStiffnessX = RotationalStiffnessX; + this.RotationalStiffnessY = RotationalStiffnessY; + this.RotationalStiffnessZ = RotationalStiffnessZ; + this.WarpingStiffness = WarpingStiffness; + this.type = 2069777674; + } + } + IFC4X32.IfcBoundaryNodeConditionWarping = IfcBoundaryNodeConditionWarping; + class IfcConnectionGeometry extends IfcLineObject$1 { + constructor() { + super(); + this.type = 2859738748; + } + } + IFC4X32.IfcConnectionGeometry = IfcConnectionGeometry; + class IfcConnectionPointGeometry extends IfcConnectionGeometry { + constructor(PointOnRelatingElement, PointOnRelatedElement) { + super(); + this.PointOnRelatingElement = PointOnRelatingElement; + this.PointOnRelatedElement = PointOnRelatedElement; + this.type = 2614616156; + } + } + IFC4X32.IfcConnectionPointGeometry = IfcConnectionPointGeometry; + class IfcConnectionSurfaceGeometry extends IfcConnectionGeometry { + constructor(SurfaceOnRelatingElement, SurfaceOnRelatedElement) { + super(); + this.SurfaceOnRelatingElement = SurfaceOnRelatingElement; + this.SurfaceOnRelatedElement = SurfaceOnRelatedElement; + this.type = 2732653382; + } + } + IFC4X32.IfcConnectionSurfaceGeometry = IfcConnectionSurfaceGeometry; + class IfcConnectionVolumeGeometry extends IfcConnectionGeometry { + constructor(VolumeOnRelatingElement, VolumeOnRelatedElement) { + super(); + this.VolumeOnRelatingElement = VolumeOnRelatingElement; + this.VolumeOnRelatedElement = VolumeOnRelatedElement; + this.type = 775493141; + } + } + IFC4X32.IfcConnectionVolumeGeometry = IfcConnectionVolumeGeometry; + class IfcConstraint extends IfcLineObject$1 { + constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade) { + super(); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.type = 1959218052; + } + } + IFC4X32.IfcConstraint = IfcConstraint; + class IfcCoordinateOperation extends IfcLineObject$1 { + constructor(SourceCRS, TargetCRS) { + super(); + this.SourceCRS = SourceCRS; + this.TargetCRS = TargetCRS; + this.type = 1785450214; + } + } + IFC4X32.IfcCoordinateOperation = IfcCoordinateOperation; + class IfcCoordinateReferenceSystem extends IfcLineObject$1 { + constructor(Name, Description, GeodeticDatum, VerticalDatum) { + super(); + this.Name = Name; + this.Description = Description; + this.GeodeticDatum = GeodeticDatum; + this.VerticalDatum = VerticalDatum; + this.type = 1466758467; + } + } + IFC4X32.IfcCoordinateReferenceSystem = IfcCoordinateReferenceSystem; + class IfcCostValue extends IfcAppliedValue { + constructor(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components) { + super(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components); + this.Name = Name; + this.Description = Description; + this.AppliedValue = AppliedValue; + this.UnitBasis = UnitBasis; + this.ApplicableDate = ApplicableDate; + this.FixedUntilDate = FixedUntilDate; + this.Category = Category; + this.Condition = Condition; + this.ArithmeticOperator = ArithmeticOperator; + this.Components = Components; + this.type = 602808272; + } + } + IFC4X32.IfcCostValue = IfcCostValue; + class IfcDerivedUnit extends IfcLineObject$1 { + constructor(Elements, UnitType, UserDefinedType, Name) { + super(); + this.Elements = Elements; + this.UnitType = UnitType; + this.UserDefinedType = UserDefinedType; + this.Name = Name; + this.type = 1765591967; + } + } + IFC4X32.IfcDerivedUnit = IfcDerivedUnit; + class IfcDerivedUnitElement extends IfcLineObject$1 { + constructor(Unit, Exponent) { + super(); + this.Unit = Unit; + this.Exponent = Exponent; + this.type = 1045800335; + } + } + IFC4X32.IfcDerivedUnitElement = IfcDerivedUnitElement; + class IfcDimensionalExponents extends IfcLineObject$1 { + constructor(LengthExponent, MassExponent, TimeExponent, ElectricCurrentExponent, ThermodynamicTemperatureExponent, AmountOfSubstanceExponent, LuminousIntensityExponent) { + super(); + this.LengthExponent = LengthExponent; + this.MassExponent = MassExponent; + this.TimeExponent = TimeExponent; + this.ElectricCurrentExponent = ElectricCurrentExponent; + this.ThermodynamicTemperatureExponent = ThermodynamicTemperatureExponent; + this.AmountOfSubstanceExponent = AmountOfSubstanceExponent; + this.LuminousIntensityExponent = LuminousIntensityExponent; + this.type = 2949456006; + } + } + IFC4X32.IfcDimensionalExponents = IfcDimensionalExponents; + class IfcExternalInformation extends IfcLineObject$1 { + constructor() { + super(); + this.type = 4294318154; + } + } + IFC4X32.IfcExternalInformation = IfcExternalInformation; + class IfcExternalReference extends IfcLineObject$1 { + constructor(Location, Identification, Name) { + super(); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.type = 3200245327; + } + } + IFC4X32.IfcExternalReference = IfcExternalReference; + class IfcExternallyDefinedHatchStyle extends IfcExternalReference { + constructor(Location, Identification, Name) { + super(Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.type = 2242383968; + } + } + IFC4X32.IfcExternallyDefinedHatchStyle = IfcExternallyDefinedHatchStyle; + class IfcExternallyDefinedSurfaceStyle extends IfcExternalReference { + constructor(Location, Identification, Name) { + super(Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.type = 1040185647; + } + } + IFC4X32.IfcExternallyDefinedSurfaceStyle = IfcExternallyDefinedSurfaceStyle; + class IfcExternallyDefinedTextFont extends IfcExternalReference { + constructor(Location, Identification, Name) { + super(Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.type = 3548104201; + } + } + IFC4X32.IfcExternallyDefinedTextFont = IfcExternallyDefinedTextFont; + class IfcGridAxis extends IfcLineObject$1 { + constructor(AxisTag, AxisCurve, SameSense) { + super(); + this.AxisTag = AxisTag; + this.AxisCurve = AxisCurve; + this.SameSense = SameSense; + this.type = 852622518; + } + } + IFC4X32.IfcGridAxis = IfcGridAxis; + class IfcIrregularTimeSeriesValue extends IfcLineObject$1 { + constructor(TimeStamp, ListValues) { + super(); + this.TimeStamp = TimeStamp; + this.ListValues = ListValues; + this.type = 3020489413; + } + } + IFC4X32.IfcIrregularTimeSeriesValue = IfcIrregularTimeSeriesValue; + class IfcLibraryInformation extends IfcExternalInformation { + constructor(Name, Version, Publisher, VersionDate, Location, Description) { + super(); + this.Name = Name; + this.Version = Version; + this.Publisher = Publisher; + this.VersionDate = VersionDate; + this.Location = Location; + this.Description = Description; + this.type = 2655187982; + } + } + IFC4X32.IfcLibraryInformation = IfcLibraryInformation; + class IfcLibraryReference extends IfcExternalReference { + constructor(Location, Identification, Name, Description, Language, ReferencedLibrary) { + super(Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.Description = Description; + this.Language = Language; + this.ReferencedLibrary = ReferencedLibrary; + this.type = 3452421091; + } + } + IFC4X32.IfcLibraryReference = IfcLibraryReference; + class IfcLightDistributionData extends IfcLineObject$1 { + constructor(MainPlaneAngle, SecondaryPlaneAngle, LuminousIntensity) { + super(); + this.MainPlaneAngle = MainPlaneAngle; + this.SecondaryPlaneAngle = SecondaryPlaneAngle; + this.LuminousIntensity = LuminousIntensity; + this.type = 4162380809; + } + } + IFC4X32.IfcLightDistributionData = IfcLightDistributionData; + class IfcLightIntensityDistribution extends IfcLineObject$1 { + constructor(LightDistributionCurve, DistributionData) { + super(); + this.LightDistributionCurve = LightDistributionCurve; + this.DistributionData = DistributionData; + this.type = 1566485204; + } + } + IFC4X32.IfcLightIntensityDistribution = IfcLightIntensityDistribution; + class IfcMapConversion extends IfcCoordinateOperation { + constructor(SourceCRS, TargetCRS, Eastings, Northings, OrthogonalHeight, XAxisAbscissa, XAxisOrdinate, Scale, ScaleY, ScaleZ) { + super(SourceCRS, TargetCRS); + this.SourceCRS = SourceCRS; + this.TargetCRS = TargetCRS; + this.Eastings = Eastings; + this.Northings = Northings; + this.OrthogonalHeight = OrthogonalHeight; + this.XAxisAbscissa = XAxisAbscissa; + this.XAxisOrdinate = XAxisOrdinate; + this.Scale = Scale; + this.ScaleY = ScaleY; + this.ScaleZ = ScaleZ; + this.type = 3057273783; + } + } + IFC4X32.IfcMapConversion = IfcMapConversion; + class IfcMaterialClassificationRelationship extends IfcLineObject$1 { + constructor(MaterialClassifications, ClassifiedMaterial) { + super(); + this.MaterialClassifications = MaterialClassifications; + this.ClassifiedMaterial = ClassifiedMaterial; + this.type = 1847130766; + } + } + IFC4X32.IfcMaterialClassificationRelationship = IfcMaterialClassificationRelationship; + class IfcMaterialDefinition extends IfcLineObject$1 { + constructor() { + super(); + this.type = 760658860; + } + } + IFC4X32.IfcMaterialDefinition = IfcMaterialDefinition; + class IfcMaterialLayer extends IfcMaterialDefinition { + constructor(Material, LayerThickness, IsVentilated, Name, Description, Category, Priority) { + super(); + this.Material = Material; + this.LayerThickness = LayerThickness; + this.IsVentilated = IsVentilated; + this.Name = Name; + this.Description = Description; + this.Category = Category; + this.Priority = Priority; + this.type = 248100487; + } + } + IFC4X32.IfcMaterialLayer = IfcMaterialLayer; + class IfcMaterialLayerSet extends IfcMaterialDefinition { + constructor(MaterialLayers, LayerSetName, Description) { + super(); + this.MaterialLayers = MaterialLayers; + this.LayerSetName = LayerSetName; + this.Description = Description; + this.type = 3303938423; + } + } + IFC4X32.IfcMaterialLayerSet = IfcMaterialLayerSet; + class IfcMaterialLayerWithOffsets extends IfcMaterialLayer { + constructor(Material, LayerThickness, IsVentilated, Name, Description, Category, Priority, OffsetDirection, OffsetValues) { + super(Material, LayerThickness, IsVentilated, Name, Description, Category, Priority); + this.Material = Material; + this.LayerThickness = LayerThickness; + this.IsVentilated = IsVentilated; + this.Name = Name; + this.Description = Description; + this.Category = Category; + this.Priority = Priority; + this.OffsetDirection = OffsetDirection; + this.OffsetValues = OffsetValues; + this.type = 1847252529; + } + } + IFC4X32.IfcMaterialLayerWithOffsets = IfcMaterialLayerWithOffsets; + class IfcMaterialList extends IfcLineObject$1 { + constructor(Materials) { + super(); + this.Materials = Materials; + this.type = 2199411900; + } + } + IFC4X32.IfcMaterialList = IfcMaterialList; + class IfcMaterialProfile extends IfcMaterialDefinition { + constructor(Name, Description, Material, Profile, Priority, Category) { + super(); + this.Name = Name; + this.Description = Description; + this.Material = Material; + this.Profile = Profile; + this.Priority = Priority; + this.Category = Category; + this.type = 2235152071; + } + } + IFC4X32.IfcMaterialProfile = IfcMaterialProfile; + class IfcMaterialProfileSet extends IfcMaterialDefinition { + constructor(Name, Description, MaterialProfiles, CompositeProfile) { + super(); + this.Name = Name; + this.Description = Description; + this.MaterialProfiles = MaterialProfiles; + this.CompositeProfile = CompositeProfile; + this.type = 164193824; + } + } + IFC4X32.IfcMaterialProfileSet = IfcMaterialProfileSet; + class IfcMaterialProfileWithOffsets extends IfcMaterialProfile { + constructor(Name, Description, Material, Profile, Priority, Category, OffsetValues) { + super(Name, Description, Material, Profile, Priority, Category); + this.Name = Name; + this.Description = Description; + this.Material = Material; + this.Profile = Profile; + this.Priority = Priority; + this.Category = Category; + this.OffsetValues = OffsetValues; + this.type = 552965576; + } + } + IFC4X32.IfcMaterialProfileWithOffsets = IfcMaterialProfileWithOffsets; + class IfcMaterialUsageDefinition extends IfcLineObject$1 { + constructor() { + super(); + this.type = 1507914824; + } + } + IFC4X32.IfcMaterialUsageDefinition = IfcMaterialUsageDefinition; + class IfcMeasureWithUnit extends IfcLineObject$1 { + constructor(ValueComponent, UnitComponent) { + super(); + this.ValueComponent = ValueComponent; + this.UnitComponent = UnitComponent; + this.type = 2597039031; + } + } + IFC4X32.IfcMeasureWithUnit = IfcMeasureWithUnit; + class IfcMetric extends IfcConstraint { + constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, Benchmark, ValueSource, DataValue, ReferencePath) { + super(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.Benchmark = Benchmark; + this.ValueSource = ValueSource; + this.DataValue = DataValue; + this.ReferencePath = ReferencePath; + this.type = 3368373690; + } + } + IFC4X32.IfcMetric = IfcMetric; + class IfcMonetaryUnit extends IfcLineObject$1 { + constructor(Currency) { + super(); + this.Currency = Currency; + this.type = 2706619895; + } + } + IFC4X32.IfcMonetaryUnit = IfcMonetaryUnit; + class IfcNamedUnit extends IfcLineObject$1 { + constructor(Dimensions, UnitType) { + super(); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.type = 1918398963; + } + } + IFC4X32.IfcNamedUnit = IfcNamedUnit; + class IfcObjectPlacement extends IfcLineObject$1 { + constructor(PlacementRelTo) { + super(); + this.PlacementRelTo = PlacementRelTo; + this.type = 3701648758; + } + } + IFC4X32.IfcObjectPlacement = IfcObjectPlacement; + class IfcObjective extends IfcConstraint { + constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, BenchmarkValues, LogicalAggregator, ObjectiveQualifier, UserDefinedQualifier) { + super(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.BenchmarkValues = BenchmarkValues; + this.LogicalAggregator = LogicalAggregator; + this.ObjectiveQualifier = ObjectiveQualifier; + this.UserDefinedQualifier = UserDefinedQualifier; + this.type = 2251480897; + } + } + IFC4X32.IfcObjective = IfcObjective; + class IfcOrganization extends IfcLineObject$1 { + constructor(Identification, Name, Description, Roles, Addresses) { + super(); + this.Identification = Identification; + this.Name = Name; + this.Description = Description; + this.Roles = Roles; + this.Addresses = Addresses; + this.type = 4251960020; + } + } + IFC4X32.IfcOrganization = IfcOrganization; + class IfcOwnerHistory extends IfcLineObject$1 { + constructor(OwningUser, OwningApplication, State, ChangeAction, LastModifiedDate, LastModifyingUser, LastModifyingApplication, CreationDate) { + super(); + this.OwningUser = OwningUser; + this.OwningApplication = OwningApplication; + this.State = State; + this.ChangeAction = ChangeAction; + this.LastModifiedDate = LastModifiedDate; + this.LastModifyingUser = LastModifyingUser; + this.LastModifyingApplication = LastModifyingApplication; + this.CreationDate = CreationDate; + this.type = 1207048766; + } + } + IFC4X32.IfcOwnerHistory = IfcOwnerHistory; + class IfcPerson extends IfcLineObject$1 { + constructor(Identification, FamilyName, GivenName, MiddleNames, PrefixTitles, SuffixTitles, Roles, Addresses) { + super(); + this.Identification = Identification; + this.FamilyName = FamilyName; + this.GivenName = GivenName; + this.MiddleNames = MiddleNames; + this.PrefixTitles = PrefixTitles; + this.SuffixTitles = SuffixTitles; + this.Roles = Roles; + this.Addresses = Addresses; + this.type = 2077209135; + } + } + IFC4X32.IfcPerson = IfcPerson; + class IfcPersonAndOrganization extends IfcLineObject$1 { + constructor(ThePerson, TheOrganization, Roles) { + super(); + this.ThePerson = ThePerson; + this.TheOrganization = TheOrganization; + this.Roles = Roles; + this.type = 101040310; + } + } + IFC4X32.IfcPersonAndOrganization = IfcPersonAndOrganization; + class IfcPhysicalQuantity extends IfcLineObject$1 { + constructor(Name, Description) { + super(); + this.Name = Name; + this.Description = Description; + this.type = 2483315170; + } + } + IFC4X32.IfcPhysicalQuantity = IfcPhysicalQuantity; + class IfcPhysicalSimpleQuantity extends IfcPhysicalQuantity { + constructor(Name, Description, Unit) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.type = 2226359599; + } + } + IFC4X32.IfcPhysicalSimpleQuantity = IfcPhysicalSimpleQuantity; + class IfcPostalAddress extends IfcAddress { + constructor(Purpose, Description, UserDefinedPurpose, InternalLocation, AddressLines, PostalBox, Town, Region, PostalCode, Country) { + super(Purpose, Description, UserDefinedPurpose); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.InternalLocation = InternalLocation; + this.AddressLines = AddressLines; + this.PostalBox = PostalBox; + this.Town = Town; + this.Region = Region; + this.PostalCode = PostalCode; + this.Country = Country; + this.type = 3355820592; + } + } + IFC4X32.IfcPostalAddress = IfcPostalAddress; + class IfcPresentationItem extends IfcLineObject$1 { + constructor() { + super(); + this.type = 677532197; + } + } + IFC4X32.IfcPresentationItem = IfcPresentationItem; + class IfcPresentationLayerAssignment extends IfcLineObject$1 { + constructor(Name, Description, AssignedItems, Identifier) { + super(); + this.Name = Name; + this.Description = Description; + this.AssignedItems = AssignedItems; + this.Identifier = Identifier; + this.type = 2022622350; + } + } + IFC4X32.IfcPresentationLayerAssignment = IfcPresentationLayerAssignment; + class IfcPresentationLayerWithStyle extends IfcPresentationLayerAssignment { + constructor(Name, Description, AssignedItems, Identifier, LayerOn, LayerFrozen, LayerBlocked, LayerStyles) { + super(Name, Description, AssignedItems, Identifier); + this.Name = Name; + this.Description = Description; + this.AssignedItems = AssignedItems; + this.Identifier = Identifier; + this.LayerOn = LayerOn; + this.LayerFrozen = LayerFrozen; + this.LayerBlocked = LayerBlocked; + this.LayerStyles = LayerStyles; + this.type = 1304840413; + } + } + IFC4X32.IfcPresentationLayerWithStyle = IfcPresentationLayerWithStyle; + class IfcPresentationStyle extends IfcLineObject$1 { + constructor(Name) { + super(); + this.Name = Name; + this.type = 3119450353; + } + } + IFC4X32.IfcPresentationStyle = IfcPresentationStyle; + class IfcProductRepresentation extends IfcLineObject$1 { + constructor(Name, Description, Representations) { + super(); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.type = 2095639259; + } + } + IFC4X32.IfcProductRepresentation = IfcProductRepresentation; + class IfcProfileDef extends IfcLineObject$1 { + constructor(ProfileType, ProfileName) { + super(); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.type = 3958567839; + } + } + IFC4X32.IfcProfileDef = IfcProfileDef; + class IfcProjectedCRS extends IfcCoordinateReferenceSystem { + constructor(Name, Description, GeodeticDatum, VerticalDatum, MapProjection, MapZone, MapUnit) { + super(Name, Description, GeodeticDatum, VerticalDatum); + this.Name = Name; + this.Description = Description; + this.GeodeticDatum = GeodeticDatum; + this.VerticalDatum = VerticalDatum; + this.MapProjection = MapProjection; + this.MapZone = MapZone; + this.MapUnit = MapUnit; + this.type = 3843373140; + } + } + IFC4X32.IfcProjectedCRS = IfcProjectedCRS; + class IfcPropertyAbstraction extends IfcLineObject$1 { + constructor() { + super(); + this.type = 986844984; + } + } + IFC4X32.IfcPropertyAbstraction = IfcPropertyAbstraction; + class IfcPropertyEnumeration extends IfcPropertyAbstraction { + constructor(Name, EnumerationValues, Unit) { + super(); + this.Name = Name; + this.EnumerationValues = EnumerationValues; + this.Unit = Unit; + this.type = 3710013099; + } + } + IFC4X32.IfcPropertyEnumeration = IfcPropertyEnumeration; + class IfcQuantityArea extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, AreaValue, Formula) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.AreaValue = AreaValue; + this.Formula = Formula; + this.type = 2044713172; + } + } + IFC4X32.IfcQuantityArea = IfcQuantityArea; + class IfcQuantityCount extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, CountValue, Formula) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.CountValue = CountValue; + this.Formula = Formula; + this.type = 2093928680; + } + } + IFC4X32.IfcQuantityCount = IfcQuantityCount; + class IfcQuantityLength extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, LengthValue, Formula) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.LengthValue = LengthValue; + this.Formula = Formula; + this.type = 931644368; + } + } + IFC4X32.IfcQuantityLength = IfcQuantityLength; + class IfcQuantityNumber extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, NumberValue, Formula) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.NumberValue = NumberValue; + this.Formula = Formula; + this.type = 2691318326; + } + } + IFC4X32.IfcQuantityNumber = IfcQuantityNumber; + class IfcQuantityTime extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, TimeValue, Formula) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.TimeValue = TimeValue; + this.Formula = Formula; + this.type = 3252649465; + } + } + IFC4X32.IfcQuantityTime = IfcQuantityTime; + class IfcQuantityVolume extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, VolumeValue, Formula) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.VolumeValue = VolumeValue; + this.Formula = Formula; + this.type = 2405470396; + } + } + IFC4X32.IfcQuantityVolume = IfcQuantityVolume; + class IfcQuantityWeight extends IfcPhysicalSimpleQuantity { + constructor(Name, Description, Unit, WeightValue, Formula) { + super(Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.WeightValue = WeightValue; + this.Formula = Formula; + this.type = 825690147; + } + } + IFC4X32.IfcQuantityWeight = IfcQuantityWeight; + class IfcRecurrencePattern extends IfcLineObject$1 { + constructor(RecurrenceType, DayComponent, WeekdayComponent, MonthComponent, Position, Interval, Occurrences, TimePeriods) { + super(); + this.RecurrenceType = RecurrenceType; + this.DayComponent = DayComponent; + this.WeekdayComponent = WeekdayComponent; + this.MonthComponent = MonthComponent; + this.Position = Position; + this.Interval = Interval; + this.Occurrences = Occurrences; + this.TimePeriods = TimePeriods; + this.type = 3915482550; + } + } + IFC4X32.IfcRecurrencePattern = IfcRecurrencePattern; + class IfcReference extends IfcLineObject$1 { + constructor(TypeIdentifier, AttributeIdentifier, InstanceName, ListPositions, InnerReference) { + super(); + this.TypeIdentifier = TypeIdentifier; + this.AttributeIdentifier = AttributeIdentifier; + this.InstanceName = InstanceName; + this.ListPositions = ListPositions; + this.InnerReference = InnerReference; + this.type = 2433181523; + } + } + IFC4X32.IfcReference = IfcReference; + class IfcRepresentation extends IfcLineObject$1 { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 1076942058; + } + } + IFC4X32.IfcRepresentation = IfcRepresentation; + class IfcRepresentationContext extends IfcLineObject$1 { + constructor(ContextIdentifier, ContextType) { + super(); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.type = 3377609919; + } + } + IFC4X32.IfcRepresentationContext = IfcRepresentationContext; + class IfcRepresentationItem extends IfcLineObject$1 { + constructor() { + super(); + this.type = 3008791417; + } + } + IFC4X32.IfcRepresentationItem = IfcRepresentationItem; + class IfcRepresentationMap extends IfcLineObject$1 { + constructor(MappingOrigin, MappedRepresentation) { + super(); + this.MappingOrigin = MappingOrigin; + this.MappedRepresentation = MappedRepresentation; + this.type = 1660063152; + } + } + IFC4X32.IfcRepresentationMap = IfcRepresentationMap; + class IfcResourceLevelRelationship extends IfcLineObject$1 { + constructor(Name, Description) { + super(); + this.Name = Name; + this.Description = Description; + this.type = 2439245199; + } + } + IFC4X32.IfcResourceLevelRelationship = IfcResourceLevelRelationship; + class IfcRoot extends IfcLineObject$1 { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 2341007311; + } + } + IFC4X32.IfcRoot = IfcRoot; + class IfcSIUnit extends IfcNamedUnit { + constructor(Dimensions, UnitType, Prefix, Name) { + super(Dimensions, UnitType); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Prefix = Prefix; + this.Name = Name; + this.type = 448429030; + } + } + IFC4X32.IfcSIUnit = IfcSIUnit; + class IfcSchedulingTime extends IfcLineObject$1 { + constructor(Name, DataOrigin, UserDefinedDataOrigin) { + super(); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.type = 1054537805; + } + } + IFC4X32.IfcSchedulingTime = IfcSchedulingTime; + class IfcShapeAspect extends IfcLineObject$1 { + constructor(ShapeRepresentations, Name, Description, ProductDefinitional, PartOfProductDefinitionShape) { + super(); + this.ShapeRepresentations = ShapeRepresentations; + this.Name = Name; + this.Description = Description; + this.ProductDefinitional = ProductDefinitional; + this.PartOfProductDefinitionShape = PartOfProductDefinitionShape; + this.type = 867548509; + } + } + IFC4X32.IfcShapeAspect = IfcShapeAspect; + class IfcShapeModel extends IfcRepresentation { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 3982875396; + } + } + IFC4X32.IfcShapeModel = IfcShapeModel; + class IfcShapeRepresentation extends IfcShapeModel { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 4240577450; + } + } + IFC4X32.IfcShapeRepresentation = IfcShapeRepresentation; + class IfcStructuralConnectionCondition extends IfcLineObject$1 { + constructor(Name) { + super(); + this.Name = Name; + this.type = 2273995522; + } + } + IFC4X32.IfcStructuralConnectionCondition = IfcStructuralConnectionCondition; + class IfcStructuralLoad extends IfcLineObject$1 { + constructor(Name) { + super(); + this.Name = Name; + this.type = 2162789131; + } + } + IFC4X32.IfcStructuralLoad = IfcStructuralLoad; + class IfcStructuralLoadConfiguration extends IfcStructuralLoad { + constructor(Name, Values, Locations) { + super(Name); + this.Name = Name; + this.Values = Values; + this.Locations = Locations; + this.type = 3478079324; + } + } + IFC4X32.IfcStructuralLoadConfiguration = IfcStructuralLoadConfiguration; + class IfcStructuralLoadOrResult extends IfcStructuralLoad { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 609421318; + } + } + IFC4X32.IfcStructuralLoadOrResult = IfcStructuralLoadOrResult; + class IfcStructuralLoadStatic extends IfcStructuralLoadOrResult { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 2525727697; + } + } + IFC4X32.IfcStructuralLoadStatic = IfcStructuralLoadStatic; + class IfcStructuralLoadTemperature extends IfcStructuralLoadStatic { + constructor(Name, DeltaTConstant, DeltaTY, DeltaTZ) { + super(Name); + this.Name = Name; + this.DeltaTConstant = DeltaTConstant; + this.DeltaTY = DeltaTY; + this.DeltaTZ = DeltaTZ; + this.type = 3408363356; + } + } + IFC4X32.IfcStructuralLoadTemperature = IfcStructuralLoadTemperature; + class IfcStyleModel extends IfcRepresentation { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 2830218821; + } + } + IFC4X32.IfcStyleModel = IfcStyleModel; + class IfcStyledItem extends IfcRepresentationItem { + constructor(Item, Styles, Name) { + super(); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 3958052878; + } + } + IFC4X32.IfcStyledItem = IfcStyledItem; + class IfcStyledRepresentation extends IfcStyleModel { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 3049322572; + } + } + IFC4X32.IfcStyledRepresentation = IfcStyledRepresentation; + class IfcSurfaceReinforcementArea extends IfcStructuralLoadOrResult { + constructor(Name, SurfaceReinforcement1, SurfaceReinforcement2, ShearReinforcement) { + super(Name); + this.Name = Name; + this.SurfaceReinforcement1 = SurfaceReinforcement1; + this.SurfaceReinforcement2 = SurfaceReinforcement2; + this.ShearReinforcement = ShearReinforcement; + this.type = 2934153892; + } + } + IFC4X32.IfcSurfaceReinforcementArea = IfcSurfaceReinforcementArea; + class IfcSurfaceStyle extends IfcPresentationStyle { + constructor(Name, Side, Styles) { + super(Name); + this.Name = Name; + this.Side = Side; + this.Styles = Styles; + this.type = 1300840506; + } + } + IFC4X32.IfcSurfaceStyle = IfcSurfaceStyle; + class IfcSurfaceStyleLighting extends IfcPresentationItem { + constructor(DiffuseTransmissionColour, DiffuseReflectionColour, TransmissionColour, ReflectanceColour) { + super(); + this.DiffuseTransmissionColour = DiffuseTransmissionColour; + this.DiffuseReflectionColour = DiffuseReflectionColour; + this.TransmissionColour = TransmissionColour; + this.ReflectanceColour = ReflectanceColour; + this.type = 3303107099; + } + } + IFC4X32.IfcSurfaceStyleLighting = IfcSurfaceStyleLighting; + class IfcSurfaceStyleRefraction extends IfcPresentationItem { + constructor(RefractionIndex, DispersionFactor) { + super(); + this.RefractionIndex = RefractionIndex; + this.DispersionFactor = DispersionFactor; + this.type = 1607154358; + } + } + IFC4X32.IfcSurfaceStyleRefraction = IfcSurfaceStyleRefraction; + class IfcSurfaceStyleShading extends IfcPresentationItem { + constructor(SurfaceColour, Transparency) { + super(); + this.SurfaceColour = SurfaceColour; + this.Transparency = Transparency; + this.type = 846575682; + } + } + IFC4X32.IfcSurfaceStyleShading = IfcSurfaceStyleShading; + class IfcSurfaceStyleWithTextures extends IfcPresentationItem { + constructor(Textures) { + super(); + this.Textures = Textures; + this.type = 1351298697; + } + } + IFC4X32.IfcSurfaceStyleWithTextures = IfcSurfaceStyleWithTextures; + class IfcSurfaceTexture extends IfcPresentationItem { + constructor(RepeatS, RepeatT, Mode, TextureTransform, Parameter) { + super(); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.Mode = Mode; + this.TextureTransform = TextureTransform; + this.Parameter = Parameter; + this.type = 626085974; + } + } + IFC4X32.IfcSurfaceTexture = IfcSurfaceTexture; + class IfcTable extends IfcLineObject$1 { + constructor(Name, Rows, Columns) { + super(); + this.Name = Name; + this.Rows = Rows; + this.Columns = Columns; + this.type = 985171141; + } + } + IFC4X32.IfcTable = IfcTable; + class IfcTableColumn extends IfcLineObject$1 { + constructor(Identifier, Name, Description, Unit, ReferencePath) { + super(); + this.Identifier = Identifier; + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.ReferencePath = ReferencePath; + this.type = 2043862942; + } + } + IFC4X32.IfcTableColumn = IfcTableColumn; + class IfcTableRow extends IfcLineObject$1 { + constructor(RowCells, IsHeading) { + super(); + this.RowCells = RowCells; + this.IsHeading = IsHeading; + this.type = 531007025; + } + } + IFC4X32.IfcTableRow = IfcTableRow; + class IfcTaskTime extends IfcSchedulingTime { + constructor(Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion) { + super(Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.DurationType = DurationType; + this.ScheduleDuration = ScheduleDuration; + this.ScheduleStart = ScheduleStart; + this.ScheduleFinish = ScheduleFinish; + this.EarlyStart = EarlyStart; + this.EarlyFinish = EarlyFinish; + this.LateStart = LateStart; + this.LateFinish = LateFinish; + this.FreeFloat = FreeFloat; + this.TotalFloat = TotalFloat; + this.IsCritical = IsCritical; + this.StatusTime = StatusTime; + this.ActualDuration = ActualDuration; + this.ActualStart = ActualStart; + this.ActualFinish = ActualFinish; + this.RemainingTime = RemainingTime; + this.Completion = Completion; + this.type = 1549132990; + } + } + IFC4X32.IfcTaskTime = IfcTaskTime; + class IfcTaskTimeRecurring extends IfcTaskTime { + constructor(Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion, Recurrence) { + super(Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.DurationType = DurationType; + this.ScheduleDuration = ScheduleDuration; + this.ScheduleStart = ScheduleStart; + this.ScheduleFinish = ScheduleFinish; + this.EarlyStart = EarlyStart; + this.EarlyFinish = EarlyFinish; + this.LateStart = LateStart; + this.LateFinish = LateFinish; + this.FreeFloat = FreeFloat; + this.TotalFloat = TotalFloat; + this.IsCritical = IsCritical; + this.StatusTime = StatusTime; + this.ActualDuration = ActualDuration; + this.ActualStart = ActualStart; + this.ActualFinish = ActualFinish; + this.RemainingTime = RemainingTime; + this.Completion = Completion; + this.Recurrence = Recurrence; + this.type = 2771591690; + } + } + IFC4X32.IfcTaskTimeRecurring = IfcTaskTimeRecurring; + class IfcTelecomAddress extends IfcAddress { + constructor(Purpose, Description, UserDefinedPurpose, TelephoneNumbers, FacsimileNumbers, PagerNumber, ElectronicMailAddresses, WWWHomePageURL, MessagingIDs) { + super(Purpose, Description, UserDefinedPurpose); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.TelephoneNumbers = TelephoneNumbers; + this.FacsimileNumbers = FacsimileNumbers; + this.PagerNumber = PagerNumber; + this.ElectronicMailAddresses = ElectronicMailAddresses; + this.WWWHomePageURL = WWWHomePageURL; + this.MessagingIDs = MessagingIDs; + this.type = 912023232; + } + } + IFC4X32.IfcTelecomAddress = IfcTelecomAddress; + class IfcTextStyle extends IfcPresentationStyle { + constructor(Name, TextCharacterAppearance, TextStyle, TextFontStyle, ModelOrDraughting) { + super(Name); + this.Name = Name; + this.TextCharacterAppearance = TextCharacterAppearance; + this.TextStyle = TextStyle; + this.TextFontStyle = TextFontStyle; + this.ModelOrDraughting = ModelOrDraughting; + this.type = 1447204868; + } + } + IFC4X32.IfcTextStyle = IfcTextStyle; + class IfcTextStyleForDefinedFont extends IfcPresentationItem { + constructor(Colour, BackgroundColour) { + super(); + this.Colour = Colour; + this.BackgroundColour = BackgroundColour; + this.type = 2636378356; + } + } + IFC4X32.IfcTextStyleForDefinedFont = IfcTextStyleForDefinedFont; + class IfcTextStyleTextModel extends IfcPresentationItem { + constructor(TextIndent, TextAlign, TextDecoration, LetterSpacing, WordSpacing, TextTransform, LineHeight) { + super(); + this.TextIndent = TextIndent; + this.TextAlign = TextAlign; + this.TextDecoration = TextDecoration; + this.LetterSpacing = LetterSpacing; + this.WordSpacing = WordSpacing; + this.TextTransform = TextTransform; + this.LineHeight = LineHeight; + this.type = 1640371178; + } + } + IFC4X32.IfcTextStyleTextModel = IfcTextStyleTextModel; + class IfcTextureCoordinate extends IfcPresentationItem { + constructor(Maps) { + super(); + this.Maps = Maps; + this.type = 280115917; + } + } + IFC4X32.IfcTextureCoordinate = IfcTextureCoordinate; + class IfcTextureCoordinateGenerator extends IfcTextureCoordinate { + constructor(Maps, Mode, Parameter) { + super(Maps); + this.Maps = Maps; + this.Mode = Mode; + this.Parameter = Parameter; + this.type = 1742049831; + } + } + IFC4X32.IfcTextureCoordinateGenerator = IfcTextureCoordinateGenerator; + class IfcTextureCoordinateIndices extends IfcLineObject$1 { + constructor(TexCoordIndex, TexCoordsOf) { + super(); + this.TexCoordIndex = TexCoordIndex; + this.TexCoordsOf = TexCoordsOf; + this.type = 222769930; + } + } + IFC4X32.IfcTextureCoordinateIndices = IfcTextureCoordinateIndices; + class IfcTextureCoordinateIndicesWithVoids extends IfcTextureCoordinateIndices { + constructor(TexCoordIndex, TexCoordsOf, InnerTexCoordIndices) { + super(TexCoordIndex, TexCoordsOf); + this.TexCoordIndex = TexCoordIndex; + this.TexCoordsOf = TexCoordsOf; + this.InnerTexCoordIndices = InnerTexCoordIndices; + this.type = 1010789467; + } + } + IFC4X32.IfcTextureCoordinateIndicesWithVoids = IfcTextureCoordinateIndicesWithVoids; + class IfcTextureMap extends IfcTextureCoordinate { + constructor(Maps, Vertices, MappedTo) { + super(Maps); + this.Maps = Maps; + this.Vertices = Vertices; + this.MappedTo = MappedTo; + this.type = 2552916305; + } + } + IFC4X32.IfcTextureMap = IfcTextureMap; + class IfcTextureVertex extends IfcPresentationItem { + constructor(Coordinates) { + super(); + this.Coordinates = Coordinates; + this.type = 1210645708; + } + } + IFC4X32.IfcTextureVertex = IfcTextureVertex; + class IfcTextureVertexList extends IfcPresentationItem { + constructor(TexCoordsList) { + super(); + this.TexCoordsList = TexCoordsList; + this.type = 3611470254; + } + } + IFC4X32.IfcTextureVertexList = IfcTextureVertexList; + class IfcTimePeriod extends IfcLineObject$1 { + constructor(StartTime, EndTime) { + super(); + this.StartTime = StartTime; + this.EndTime = EndTime; + this.type = 1199560280; + } + } + IFC4X32.IfcTimePeriod = IfcTimePeriod; + class IfcTimeSeries extends IfcLineObject$1 { + constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit) { + super(); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.type = 3101149627; + } + } + IFC4X32.IfcTimeSeries = IfcTimeSeries; + class IfcTimeSeriesValue extends IfcLineObject$1 { + constructor(ListValues) { + super(); + this.ListValues = ListValues; + this.type = 581633288; + } + } + IFC4X32.IfcTimeSeriesValue = IfcTimeSeriesValue; + class IfcTopologicalRepresentationItem extends IfcRepresentationItem { + constructor() { + super(); + this.type = 1377556343; + } + } + IFC4X32.IfcTopologicalRepresentationItem = IfcTopologicalRepresentationItem; + class IfcTopologyRepresentation extends IfcShapeModel { + constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 1735638870; + } + } + IFC4X32.IfcTopologyRepresentation = IfcTopologyRepresentation; + class IfcUnitAssignment extends IfcLineObject$1 { + constructor(Units) { + super(); + this.Units = Units; + this.type = 180925521; + } + } + IFC4X32.IfcUnitAssignment = IfcUnitAssignment; + class IfcVertex extends IfcTopologicalRepresentationItem { + constructor() { + super(); + this.type = 2799835756; + } + } + IFC4X32.IfcVertex = IfcVertex; + class IfcVertexPoint extends IfcVertex { + constructor(VertexGeometry) { + super(); + this.VertexGeometry = VertexGeometry; + this.type = 1907098498; + } + } + IFC4X32.IfcVertexPoint = IfcVertexPoint; + class IfcVirtualGridIntersection extends IfcLineObject$1 { + constructor(IntersectingAxes, OffsetDistances) { + super(); + this.IntersectingAxes = IntersectingAxes; + this.OffsetDistances = OffsetDistances; + this.type = 891718957; + } + } + IFC4X32.IfcVirtualGridIntersection = IfcVirtualGridIntersection; + class IfcWorkTime extends IfcSchedulingTime { + constructor(Name, DataOrigin, UserDefinedDataOrigin, RecurrencePattern, StartDate, FinishDate) { + super(Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.RecurrencePattern = RecurrencePattern; + this.StartDate = StartDate; + this.FinishDate = FinishDate; + this.type = 1236880293; + } + } + IFC4X32.IfcWorkTime = IfcWorkTime; + class IfcAlignmentCantSegment extends IfcAlignmentParameterSegment { + constructor(StartTag, EndTag, StartDistAlong, HorizontalLength, StartCantLeft, EndCantLeft, StartCantRight, EndCantRight, PredefinedType) { + super(StartTag, EndTag); + this.StartTag = StartTag; + this.EndTag = EndTag; + this.StartDistAlong = StartDistAlong; + this.HorizontalLength = HorizontalLength; + this.StartCantLeft = StartCantLeft; + this.EndCantLeft = EndCantLeft; + this.StartCantRight = StartCantRight; + this.EndCantRight = EndCantRight; + this.PredefinedType = PredefinedType; + this.type = 3752311538; + } + } + IFC4X32.IfcAlignmentCantSegment = IfcAlignmentCantSegment; + class IfcAlignmentHorizontalSegment extends IfcAlignmentParameterSegment { + constructor(StartTag, EndTag, StartPoint, StartDirection, StartRadiusOfCurvature, EndRadiusOfCurvature, SegmentLength, GravityCenterLineHeight, PredefinedType) { + super(StartTag, EndTag); + this.StartTag = StartTag; + this.EndTag = EndTag; + this.StartPoint = StartPoint; + this.StartDirection = StartDirection; + this.StartRadiusOfCurvature = StartRadiusOfCurvature; + this.EndRadiusOfCurvature = EndRadiusOfCurvature; + this.SegmentLength = SegmentLength; + this.GravityCenterLineHeight = GravityCenterLineHeight; + this.PredefinedType = PredefinedType; + this.type = 536804194; + } + } + IFC4X32.IfcAlignmentHorizontalSegment = IfcAlignmentHorizontalSegment; + class IfcApprovalRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, RelatingApproval, RelatedApprovals) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingApproval = RelatingApproval; + this.RelatedApprovals = RelatedApprovals; + this.type = 3869604511; + } + } + IFC4X32.IfcApprovalRelationship = IfcApprovalRelationship; + class IfcArbitraryClosedProfileDef extends IfcProfileDef { + constructor(ProfileType, ProfileName, OuterCurve) { + super(ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.OuterCurve = OuterCurve; + this.type = 3798115385; + } + } + IFC4X32.IfcArbitraryClosedProfileDef = IfcArbitraryClosedProfileDef; + class IfcArbitraryOpenProfileDef extends IfcProfileDef { + constructor(ProfileType, ProfileName, Curve) { + super(ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Curve = Curve; + this.type = 1310608509; + } + } + IFC4X32.IfcArbitraryOpenProfileDef = IfcArbitraryOpenProfileDef; + class IfcArbitraryProfileDefWithVoids extends IfcArbitraryClosedProfileDef { + constructor(ProfileType, ProfileName, OuterCurve, InnerCurves) { + super(ProfileType, ProfileName, OuterCurve); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.OuterCurve = OuterCurve; + this.InnerCurves = InnerCurves; + this.type = 2705031697; + } + } + IFC4X32.IfcArbitraryProfileDefWithVoids = IfcArbitraryProfileDefWithVoids; + class IfcBlobTexture extends IfcSurfaceTexture { + constructor(RepeatS, RepeatT, Mode, TextureTransform, Parameter, RasterFormat, RasterCode) { + super(RepeatS, RepeatT, Mode, TextureTransform, Parameter); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.Mode = Mode; + this.TextureTransform = TextureTransform; + this.Parameter = Parameter; + this.RasterFormat = RasterFormat; + this.RasterCode = RasterCode; + this.type = 616511568; + } + } + IFC4X32.IfcBlobTexture = IfcBlobTexture; + class IfcCenterLineProfileDef extends IfcArbitraryOpenProfileDef { + constructor(ProfileType, ProfileName, Curve, Thickness) { + super(ProfileType, ProfileName, Curve); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Curve = Curve; + this.Thickness = Thickness; + this.type = 3150382593; + } + } + IFC4X32.IfcCenterLineProfileDef = IfcCenterLineProfileDef; + class IfcClassification extends IfcExternalInformation { + constructor(Source, Edition, EditionDate, Name, Description, Specification, ReferenceTokens) { + super(); + this.Source = Source; + this.Edition = Edition; + this.EditionDate = EditionDate; + this.Name = Name; + this.Description = Description; + this.Specification = Specification; + this.ReferenceTokens = ReferenceTokens; + this.type = 747523909; + } + } + IFC4X32.IfcClassification = IfcClassification; + class IfcClassificationReference extends IfcExternalReference { + constructor(Location, Identification, Name, ReferencedSource, Description, Sort) { + super(Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.ReferencedSource = ReferencedSource; + this.Description = Description; + this.Sort = Sort; + this.type = 647927063; + } + } + IFC4X32.IfcClassificationReference = IfcClassificationReference; + class IfcColourRgbList extends IfcPresentationItem { + constructor(ColourList) { + super(); + this.ColourList = ColourList; + this.type = 3285139300; + } + } + IFC4X32.IfcColourRgbList = IfcColourRgbList; + class IfcColourSpecification extends IfcPresentationItem { + constructor(Name) { + super(); + this.Name = Name; + this.type = 3264961684; + } + } + IFC4X32.IfcColourSpecification = IfcColourSpecification; + class IfcCompositeProfileDef extends IfcProfileDef { + constructor(ProfileType, ProfileName, Profiles, Label) { + super(ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Profiles = Profiles; + this.Label = Label; + this.type = 1485152156; + } + } + IFC4X32.IfcCompositeProfileDef = IfcCompositeProfileDef; + class IfcConnectedFaceSet extends IfcTopologicalRepresentationItem { + constructor(CfsFaces) { + super(); + this.CfsFaces = CfsFaces; + this.type = 370225590; + } + } + IFC4X32.IfcConnectedFaceSet = IfcConnectedFaceSet; + class IfcConnectionCurveGeometry extends IfcConnectionGeometry { + constructor(CurveOnRelatingElement, CurveOnRelatedElement) { + super(); + this.CurveOnRelatingElement = CurveOnRelatingElement; + this.CurveOnRelatedElement = CurveOnRelatedElement; + this.type = 1981873012; + } + } + IFC4X32.IfcConnectionCurveGeometry = IfcConnectionCurveGeometry; + class IfcConnectionPointEccentricity extends IfcConnectionPointGeometry { + constructor(PointOnRelatingElement, PointOnRelatedElement, EccentricityInX, EccentricityInY, EccentricityInZ) { + super(PointOnRelatingElement, PointOnRelatedElement); + this.PointOnRelatingElement = PointOnRelatingElement; + this.PointOnRelatedElement = PointOnRelatedElement; + this.EccentricityInX = EccentricityInX; + this.EccentricityInY = EccentricityInY; + this.EccentricityInZ = EccentricityInZ; + this.type = 45288368; + } + } + IFC4X32.IfcConnectionPointEccentricity = IfcConnectionPointEccentricity; + class IfcContextDependentUnit extends IfcNamedUnit { + constructor(Dimensions, UnitType, Name) { + super(Dimensions, UnitType); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Name = Name; + this.type = 3050246964; + } + } + IFC4X32.IfcContextDependentUnit = IfcContextDependentUnit; + class IfcConversionBasedUnit extends IfcNamedUnit { + constructor(Dimensions, UnitType, Name, ConversionFactor) { + super(Dimensions, UnitType); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Name = Name; + this.ConversionFactor = ConversionFactor; + this.type = 2889183280; + } + } + IFC4X32.IfcConversionBasedUnit = IfcConversionBasedUnit; + class IfcConversionBasedUnitWithOffset extends IfcConversionBasedUnit { + constructor(Dimensions, UnitType, Name, ConversionFactor, ConversionOffset) { + super(Dimensions, UnitType, Name, ConversionFactor); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Name = Name; + this.ConversionFactor = ConversionFactor; + this.ConversionOffset = ConversionOffset; + this.type = 2713554722; + } + } + IFC4X32.IfcConversionBasedUnitWithOffset = IfcConversionBasedUnitWithOffset; + class IfcCurrencyRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, RelatingMonetaryUnit, RelatedMonetaryUnit, ExchangeRate, RateDateTime, RateSource) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingMonetaryUnit = RelatingMonetaryUnit; + this.RelatedMonetaryUnit = RelatedMonetaryUnit; + this.ExchangeRate = ExchangeRate; + this.RateDateTime = RateDateTime; + this.RateSource = RateSource; + this.type = 539742890; + } + } + IFC4X32.IfcCurrencyRelationship = IfcCurrencyRelationship; + class IfcCurveStyle extends IfcPresentationStyle { + constructor(Name, CurveFont, CurveWidth, CurveColour, ModelOrDraughting) { + super(Name); + this.Name = Name; + this.CurveFont = CurveFont; + this.CurveWidth = CurveWidth; + this.CurveColour = CurveColour; + this.ModelOrDraughting = ModelOrDraughting; + this.type = 3800577675; + } + } + IFC4X32.IfcCurveStyle = IfcCurveStyle; + class IfcCurveStyleFont extends IfcPresentationItem { + constructor(Name, PatternList) { + super(); + this.Name = Name; + this.PatternList = PatternList; + this.type = 1105321065; + } + } + IFC4X32.IfcCurveStyleFont = IfcCurveStyleFont; + class IfcCurveStyleFontAndScaling extends IfcPresentationItem { + constructor(Name, CurveStyleFont, CurveFontScaling) { + super(); + this.Name = Name; + this.CurveStyleFont = CurveStyleFont; + this.CurveFontScaling = CurveFontScaling; + this.type = 2367409068; + } + } + IFC4X32.IfcCurveStyleFontAndScaling = IfcCurveStyleFontAndScaling; + class IfcCurveStyleFontPattern extends IfcPresentationItem { + constructor(VisibleSegmentLength, InvisibleSegmentLength) { + super(); + this.VisibleSegmentLength = VisibleSegmentLength; + this.InvisibleSegmentLength = InvisibleSegmentLength; + this.type = 3510044353; + } + } + IFC4X32.IfcCurveStyleFontPattern = IfcCurveStyleFontPattern; + class IfcDerivedProfileDef extends IfcProfileDef { + constructor(ProfileType, ProfileName, ParentProfile, Operator, Label) { + super(ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.ParentProfile = ParentProfile; + this.Operator = Operator; + this.Label = Label; + this.type = 3632507154; + } + } + IFC4X32.IfcDerivedProfileDef = IfcDerivedProfileDef; + class IfcDocumentInformation extends IfcExternalInformation { + constructor(Identification, Name, Description, Location, Purpose, IntendedUse, Scope, Revision, DocumentOwner, Editors, CreationTime, LastRevisionTime, ElectronicFormat, ValidFrom, ValidUntil, Confidentiality, Status) { + super(); + this.Identification = Identification; + this.Name = Name; + this.Description = Description; + this.Location = Location; + this.Purpose = Purpose; + this.IntendedUse = IntendedUse; + this.Scope = Scope; + this.Revision = Revision; + this.DocumentOwner = DocumentOwner; + this.Editors = Editors; + this.CreationTime = CreationTime; + this.LastRevisionTime = LastRevisionTime; + this.ElectronicFormat = ElectronicFormat; + this.ValidFrom = ValidFrom; + this.ValidUntil = ValidUntil; + this.Confidentiality = Confidentiality; + this.Status = Status; + this.type = 1154170062; + } + } + IFC4X32.IfcDocumentInformation = IfcDocumentInformation; + class IfcDocumentInformationRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, RelatingDocument, RelatedDocuments, RelationshipType) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingDocument = RelatingDocument; + this.RelatedDocuments = RelatedDocuments; + this.RelationshipType = RelationshipType; + this.type = 770865208; + } + } + IFC4X32.IfcDocumentInformationRelationship = IfcDocumentInformationRelationship; + class IfcDocumentReference extends IfcExternalReference { + constructor(Location, Identification, Name, Description, ReferencedDocument) { + super(Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.Description = Description; + this.ReferencedDocument = ReferencedDocument; + this.type = 3732053477; + } + } + IFC4X32.IfcDocumentReference = IfcDocumentReference; + class IfcEdge extends IfcTopologicalRepresentationItem { + constructor(EdgeStart, EdgeEnd) { + super(); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.type = 3900360178; + } + } + IFC4X32.IfcEdge = IfcEdge; + class IfcEdgeCurve extends IfcEdge { + constructor(EdgeStart, EdgeEnd, EdgeGeometry, SameSense) { + super(EdgeStart, EdgeEnd); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.EdgeGeometry = EdgeGeometry; + this.SameSense = SameSense; + this.type = 476780140; + } + } + IFC4X32.IfcEdgeCurve = IfcEdgeCurve; + class IfcEventTime extends IfcSchedulingTime { + constructor(Name, DataOrigin, UserDefinedDataOrigin, ActualDate, EarlyDate, LateDate, ScheduleDate) { + super(Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.ActualDate = ActualDate; + this.EarlyDate = EarlyDate; + this.LateDate = LateDate; + this.ScheduleDate = ScheduleDate; + this.type = 211053100; + } + } + IFC4X32.IfcEventTime = IfcEventTime; + class IfcExtendedProperties extends IfcPropertyAbstraction { + constructor(Name, Description, Properties2) { + super(); + this.Name = Name; + this.Description = Description; + this.Properties = Properties2; + this.type = 297599258; + } + } + IFC4X32.IfcExtendedProperties = IfcExtendedProperties; + class IfcExternalReferenceRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, RelatingReference, RelatedResourceObjects) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingReference = RelatingReference; + this.RelatedResourceObjects = RelatedResourceObjects; + this.type = 1437805879; + } + } + IFC4X32.IfcExternalReferenceRelationship = IfcExternalReferenceRelationship; + class IfcFace extends IfcTopologicalRepresentationItem { + constructor(Bounds) { + super(); + this.Bounds = Bounds; + this.type = 2556980723; + } + } + IFC4X32.IfcFace = IfcFace; + class IfcFaceBound extends IfcTopologicalRepresentationItem { + constructor(Bound, Orientation) { + super(); + this.Bound = Bound; + this.Orientation = Orientation; + this.type = 1809719519; + } + } + IFC4X32.IfcFaceBound = IfcFaceBound; + class IfcFaceOuterBound extends IfcFaceBound { + constructor(Bound, Orientation) { + super(Bound, Orientation); + this.Bound = Bound; + this.Orientation = Orientation; + this.type = 803316827; + } + } + IFC4X32.IfcFaceOuterBound = IfcFaceOuterBound; + class IfcFaceSurface extends IfcFace { + constructor(Bounds, FaceSurface, SameSense) { + super(Bounds); + this.Bounds = Bounds; + this.FaceSurface = FaceSurface; + this.SameSense = SameSense; + this.type = 3008276851; + } + } + IFC4X32.IfcFaceSurface = IfcFaceSurface; + class IfcFailureConnectionCondition extends IfcStructuralConnectionCondition { + constructor(Name, TensionFailureX, TensionFailureY, TensionFailureZ, CompressionFailureX, CompressionFailureY, CompressionFailureZ) { + super(Name); + this.Name = Name; + this.TensionFailureX = TensionFailureX; + this.TensionFailureY = TensionFailureY; + this.TensionFailureZ = TensionFailureZ; + this.CompressionFailureX = CompressionFailureX; + this.CompressionFailureY = CompressionFailureY; + this.CompressionFailureZ = CompressionFailureZ; + this.type = 4219587988; + } + } + IFC4X32.IfcFailureConnectionCondition = IfcFailureConnectionCondition; + class IfcFillAreaStyle extends IfcPresentationStyle { + constructor(Name, FillStyles, ModelOrDraughting) { + super(Name); + this.Name = Name; + this.FillStyles = FillStyles; + this.ModelOrDraughting = ModelOrDraughting; + this.type = 738692330; + } + } + IFC4X32.IfcFillAreaStyle = IfcFillAreaStyle; + class IfcGeometricRepresentationContext extends IfcRepresentationContext { + constructor(ContextIdentifier, ContextType, CoordinateSpaceDimension, Precision, WorldCoordinateSystem, TrueNorth) { + super(ContextIdentifier, ContextType); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.CoordinateSpaceDimension = CoordinateSpaceDimension; + this.Precision = Precision; + this.WorldCoordinateSystem = WorldCoordinateSystem; + this.TrueNorth = TrueNorth; + this.type = 3448662350; + } + } + IFC4X32.IfcGeometricRepresentationContext = IfcGeometricRepresentationContext; + class IfcGeometricRepresentationItem extends IfcRepresentationItem { + constructor() { + super(); + this.type = 2453401579; + } + } + IFC4X32.IfcGeometricRepresentationItem = IfcGeometricRepresentationItem; + class IfcGeometricRepresentationSubContext extends IfcGeometricRepresentationContext { + constructor(ContextIdentifier, ContextType, WorldCoordinateSystem, ParentContext, TargetScale, TargetView, UserDefinedTargetView) { + super(ContextIdentifier, ContextType, new IfcDimensionCount(0), null, WorldCoordinateSystem, null); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.WorldCoordinateSystem = WorldCoordinateSystem; + this.ParentContext = ParentContext; + this.TargetScale = TargetScale; + this.TargetView = TargetView; + this.UserDefinedTargetView = UserDefinedTargetView; + this.type = 4142052618; + } + } + IFC4X32.IfcGeometricRepresentationSubContext = IfcGeometricRepresentationSubContext; + class IfcGeometricSet extends IfcGeometricRepresentationItem { + constructor(Elements) { + super(); + this.Elements = Elements; + this.type = 3590301190; + } + } + IFC4X32.IfcGeometricSet = IfcGeometricSet; + class IfcGridPlacement extends IfcObjectPlacement { + constructor(PlacementRelTo, PlacementLocation, PlacementRefDirection) { + super(PlacementRelTo); + this.PlacementRelTo = PlacementRelTo; + this.PlacementLocation = PlacementLocation; + this.PlacementRefDirection = PlacementRefDirection; + this.type = 178086475; + } + } + IFC4X32.IfcGridPlacement = IfcGridPlacement; + class IfcHalfSpaceSolid extends IfcGeometricRepresentationItem { + constructor(BaseSurface, AgreementFlag) { + super(); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.type = 812098782; + } + } + IFC4X32.IfcHalfSpaceSolid = IfcHalfSpaceSolid; + class IfcImageTexture extends IfcSurfaceTexture { + constructor(RepeatS, RepeatT, Mode, TextureTransform, Parameter, URLReference) { + super(RepeatS, RepeatT, Mode, TextureTransform, Parameter); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.Mode = Mode; + this.TextureTransform = TextureTransform; + this.Parameter = Parameter; + this.URLReference = URLReference; + this.type = 3905492369; + } + } + IFC4X32.IfcImageTexture = IfcImageTexture; + class IfcIndexedColourMap extends IfcPresentationItem { + constructor(MappedTo, Opacity, Colours, ColourIndex) { + super(); + this.MappedTo = MappedTo; + this.Opacity = Opacity; + this.Colours = Colours; + this.ColourIndex = ColourIndex; + this.type = 3570813810; + } + } + IFC4X32.IfcIndexedColourMap = IfcIndexedColourMap; + class IfcIndexedTextureMap extends IfcTextureCoordinate { + constructor(Maps, MappedTo, TexCoords) { + super(Maps); + this.Maps = Maps; + this.MappedTo = MappedTo; + this.TexCoords = TexCoords; + this.type = 1437953363; + } + } + IFC4X32.IfcIndexedTextureMap = IfcIndexedTextureMap; + class IfcIndexedTriangleTextureMap extends IfcIndexedTextureMap { + constructor(Maps, MappedTo, TexCoords, TexCoordIndex) { + super(Maps, MappedTo, TexCoords); + this.Maps = Maps; + this.MappedTo = MappedTo; + this.TexCoords = TexCoords; + this.TexCoordIndex = TexCoordIndex; + this.type = 2133299955; + } + } + IFC4X32.IfcIndexedTriangleTextureMap = IfcIndexedTriangleTextureMap; + class IfcIrregularTimeSeries extends IfcTimeSeries { + constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, Values) { + super(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.Values = Values; + this.type = 3741457305; + } + } + IFC4X32.IfcIrregularTimeSeries = IfcIrregularTimeSeries; + class IfcLagTime extends IfcSchedulingTime { + constructor(Name, DataOrigin, UserDefinedDataOrigin, LagValue, DurationType) { + super(Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.LagValue = LagValue; + this.DurationType = DurationType; + this.type = 1585845231; + } + } + IFC4X32.IfcLagTime = IfcLagTime; + class IfcLightSource extends IfcGeometricRepresentationItem { + constructor(Name, LightColour, AmbientIntensity, Intensity) { + super(); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.type = 1402838566; + } + } + IFC4X32.IfcLightSource = IfcLightSource; + class IfcLightSourceAmbient extends IfcLightSource { + constructor(Name, LightColour, AmbientIntensity, Intensity) { + super(Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.type = 125510826; + } + } + IFC4X32.IfcLightSourceAmbient = IfcLightSourceAmbient; + class IfcLightSourceDirectional extends IfcLightSource { + constructor(Name, LightColour, AmbientIntensity, Intensity, Orientation) { + super(Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Orientation = Orientation; + this.type = 2604431987; + } + } + IFC4X32.IfcLightSourceDirectional = IfcLightSourceDirectional; + class IfcLightSourceGoniometric extends IfcLightSource { + constructor(Name, LightColour, AmbientIntensity, Intensity, Position, ColourAppearance, ColourTemperature, LuminousFlux, LightEmissionSource, LightDistributionDataSource) { + super(Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.ColourAppearance = ColourAppearance; + this.ColourTemperature = ColourTemperature; + this.LuminousFlux = LuminousFlux; + this.LightEmissionSource = LightEmissionSource; + this.LightDistributionDataSource = LightDistributionDataSource; + this.type = 4266656042; + } + } + IFC4X32.IfcLightSourceGoniometric = IfcLightSourceGoniometric; + class IfcLightSourcePositional extends IfcLightSource { + constructor(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation) { + super(Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.Radius = Radius; + this.ConstantAttenuation = ConstantAttenuation; + this.DistanceAttenuation = DistanceAttenuation; + this.QuadricAttenuation = QuadricAttenuation; + this.type = 1520743889; + } + } + IFC4X32.IfcLightSourcePositional = IfcLightSourcePositional; + class IfcLightSourceSpot extends IfcLightSourcePositional { + constructor(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation, Orientation, ConcentrationExponent, SpreadAngle, BeamWidthAngle) { + super(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.Radius = Radius; + this.ConstantAttenuation = ConstantAttenuation; + this.DistanceAttenuation = DistanceAttenuation; + this.QuadricAttenuation = QuadricAttenuation; + this.Orientation = Orientation; + this.ConcentrationExponent = ConcentrationExponent; + this.SpreadAngle = SpreadAngle; + this.BeamWidthAngle = BeamWidthAngle; + this.type = 3422422726; + } + } + IFC4X32.IfcLightSourceSpot = IfcLightSourceSpot; + class IfcLinearPlacement extends IfcObjectPlacement { + constructor(PlacementRelTo, RelativePlacement, CartesianPosition) { + super(PlacementRelTo); + this.PlacementRelTo = PlacementRelTo; + this.RelativePlacement = RelativePlacement; + this.CartesianPosition = CartesianPosition; + this.type = 388784114; + } + } + IFC4X32.IfcLinearPlacement = IfcLinearPlacement; + class IfcLocalPlacement extends IfcObjectPlacement { + constructor(PlacementRelTo, RelativePlacement) { + super(PlacementRelTo); + this.PlacementRelTo = PlacementRelTo; + this.RelativePlacement = RelativePlacement; + this.type = 2624227202; + } + } + IFC4X32.IfcLocalPlacement = IfcLocalPlacement; + class IfcLoop extends IfcTopologicalRepresentationItem { + constructor() { + super(); + this.type = 1008929658; + } + } + IFC4X32.IfcLoop = IfcLoop; + class IfcMappedItem extends IfcRepresentationItem { + constructor(MappingSource, MappingTarget) { + super(); + this.MappingSource = MappingSource; + this.MappingTarget = MappingTarget; + this.type = 2347385850; + } + } + IFC4X32.IfcMappedItem = IfcMappedItem; + class IfcMaterial extends IfcMaterialDefinition { + constructor(Name, Description, Category) { + super(); + this.Name = Name; + this.Description = Description; + this.Category = Category; + this.type = 1838606355; + } + } + IFC4X32.IfcMaterial = IfcMaterial; + class IfcMaterialConstituent extends IfcMaterialDefinition { + constructor(Name, Description, Material, Fraction, Category) { + super(); + this.Name = Name; + this.Description = Description; + this.Material = Material; + this.Fraction = Fraction; + this.Category = Category; + this.type = 3708119e3; + } + } + IFC4X32.IfcMaterialConstituent = IfcMaterialConstituent; + class IfcMaterialConstituentSet extends IfcMaterialDefinition { + constructor(Name, Description, MaterialConstituents) { + super(); + this.Name = Name; + this.Description = Description; + this.MaterialConstituents = MaterialConstituents; + this.type = 2852063980; + } + } + IFC4X32.IfcMaterialConstituentSet = IfcMaterialConstituentSet; + class IfcMaterialDefinitionRepresentation extends IfcProductRepresentation { + constructor(Name, Description, Representations, RepresentedMaterial) { + super(Name, Description, Representations); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.RepresentedMaterial = RepresentedMaterial; + this.type = 2022407955; + } + } + IFC4X32.IfcMaterialDefinitionRepresentation = IfcMaterialDefinitionRepresentation; + class IfcMaterialLayerSetUsage extends IfcMaterialUsageDefinition { + constructor(ForLayerSet, LayerSetDirection, DirectionSense, OffsetFromReferenceLine, ReferenceExtent) { + super(); + this.ForLayerSet = ForLayerSet; + this.LayerSetDirection = LayerSetDirection; + this.DirectionSense = DirectionSense; + this.OffsetFromReferenceLine = OffsetFromReferenceLine; + this.ReferenceExtent = ReferenceExtent; + this.type = 1303795690; + } + } + IFC4X32.IfcMaterialLayerSetUsage = IfcMaterialLayerSetUsage; + class IfcMaterialProfileSetUsage extends IfcMaterialUsageDefinition { + constructor(ForProfileSet, CardinalPoint, ReferenceExtent) { + super(); + this.ForProfileSet = ForProfileSet; + this.CardinalPoint = CardinalPoint; + this.ReferenceExtent = ReferenceExtent; + this.type = 3079605661; + } + } + IFC4X32.IfcMaterialProfileSetUsage = IfcMaterialProfileSetUsage; + class IfcMaterialProfileSetUsageTapering extends IfcMaterialProfileSetUsage { + constructor(ForProfileSet, CardinalPoint, ReferenceExtent, ForProfileEndSet, CardinalEndPoint) { + super(ForProfileSet, CardinalPoint, ReferenceExtent); + this.ForProfileSet = ForProfileSet; + this.CardinalPoint = CardinalPoint; + this.ReferenceExtent = ReferenceExtent; + this.ForProfileEndSet = ForProfileEndSet; + this.CardinalEndPoint = CardinalEndPoint; + this.type = 3404854881; + } + } + IFC4X32.IfcMaterialProfileSetUsageTapering = IfcMaterialProfileSetUsageTapering; + class IfcMaterialProperties extends IfcExtendedProperties { + constructor(Name, Description, Properties2, Material) { + super(Name, Description, Properties2); + this.Name = Name; + this.Description = Description; + this.Properties = Properties2; + this.Material = Material; + this.type = 3265635763; + } + } + IFC4X32.IfcMaterialProperties = IfcMaterialProperties; + class IfcMaterialRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, RelatingMaterial, RelatedMaterials, MaterialExpression) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingMaterial = RelatingMaterial; + this.RelatedMaterials = RelatedMaterials; + this.MaterialExpression = MaterialExpression; + this.type = 853536259; + } + } + IFC4X32.IfcMaterialRelationship = IfcMaterialRelationship; + class IfcMirroredProfileDef extends IfcDerivedProfileDef { + constructor(ProfileType, ProfileName, ParentProfile, Operator, Label) { + super(ProfileType, ProfileName, ParentProfile, Operator, Label); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.ParentProfile = ParentProfile; + this.Operator = Operator; + this.Label = Label; + this.type = 2998442950; + } + } + IFC4X32.IfcMirroredProfileDef = IfcMirroredProfileDef; + class IfcObjectDefinition extends IfcRoot { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 219451334; + } + } + IFC4X32.IfcObjectDefinition = IfcObjectDefinition; + class IfcOpenCrossProfileDef extends IfcProfileDef { + constructor(ProfileType, ProfileName, HorizontalWidths, Widths, Slopes, Tags, OffsetPoint) { + super(ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.HorizontalWidths = HorizontalWidths; + this.Widths = Widths; + this.Slopes = Slopes; + this.Tags = Tags; + this.OffsetPoint = OffsetPoint; + this.type = 182550632; + } + } + IFC4X32.IfcOpenCrossProfileDef = IfcOpenCrossProfileDef; + class IfcOpenShell extends IfcConnectedFaceSet { + constructor(CfsFaces) { + super(CfsFaces); + this.CfsFaces = CfsFaces; + this.type = 2665983363; + } + } + IFC4X32.IfcOpenShell = IfcOpenShell; + class IfcOrganizationRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, RelatingOrganization, RelatedOrganizations) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingOrganization = RelatingOrganization; + this.RelatedOrganizations = RelatedOrganizations; + this.type = 1411181986; + } + } + IFC4X32.IfcOrganizationRelationship = IfcOrganizationRelationship; + class IfcOrientedEdge extends IfcEdge { + constructor(EdgeStart, EdgeElement, Orientation) { + super(EdgeStart, new Handle$5(0)); + this.EdgeStart = EdgeStart; + this.EdgeElement = EdgeElement; + this.Orientation = Orientation; + this.type = 1029017970; + } + } + IFC4X32.IfcOrientedEdge = IfcOrientedEdge; + class IfcParameterizedProfileDef extends IfcProfileDef { + constructor(ProfileType, ProfileName, Position) { + super(ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.type = 2529465313; + } + } + IFC4X32.IfcParameterizedProfileDef = IfcParameterizedProfileDef; + class IfcPath extends IfcTopologicalRepresentationItem { + constructor(EdgeList) { + super(); + this.EdgeList = EdgeList; + this.type = 2519244187; + } + } + IFC4X32.IfcPath = IfcPath; + class IfcPhysicalComplexQuantity extends IfcPhysicalQuantity { + constructor(Name, Description, HasQuantities, Discrimination, Quality, Usage) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.HasQuantities = HasQuantities; + this.Discrimination = Discrimination; + this.Quality = Quality; + this.Usage = Usage; + this.type = 3021840470; + } + } + IFC4X32.IfcPhysicalComplexQuantity = IfcPhysicalComplexQuantity; + class IfcPixelTexture extends IfcSurfaceTexture { + constructor(RepeatS, RepeatT, Mode, TextureTransform, Parameter, Width, Height, ColourComponents, Pixel) { + super(RepeatS, RepeatT, Mode, TextureTransform, Parameter); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.Mode = Mode; + this.TextureTransform = TextureTransform; + this.Parameter = Parameter; + this.Width = Width; + this.Height = Height; + this.ColourComponents = ColourComponents; + this.Pixel = Pixel; + this.type = 597895409; + } + } + IFC4X32.IfcPixelTexture = IfcPixelTexture; + class IfcPlacement extends IfcGeometricRepresentationItem { + constructor(Location) { + super(); + this.Location = Location; + this.type = 2004835150; + } + } + IFC4X32.IfcPlacement = IfcPlacement; + class IfcPlanarExtent extends IfcGeometricRepresentationItem { + constructor(SizeInX, SizeInY) { + super(); + this.SizeInX = SizeInX; + this.SizeInY = SizeInY; + this.type = 1663979128; + } + } + IFC4X32.IfcPlanarExtent = IfcPlanarExtent; + class IfcPoint extends IfcGeometricRepresentationItem { + constructor() { + super(); + this.type = 2067069095; + } + } + IFC4X32.IfcPoint = IfcPoint; + class IfcPointByDistanceExpression extends IfcPoint { + constructor(DistanceAlong, OffsetLateral, OffsetVertical, OffsetLongitudinal, BasisCurve) { + super(); + this.DistanceAlong = DistanceAlong; + this.OffsetLateral = OffsetLateral; + this.OffsetVertical = OffsetVertical; + this.OffsetLongitudinal = OffsetLongitudinal; + this.BasisCurve = BasisCurve; + this.type = 2165702409; + } + } + IFC4X32.IfcPointByDistanceExpression = IfcPointByDistanceExpression; + class IfcPointOnCurve extends IfcPoint { + constructor(BasisCurve, PointParameter) { + super(); + this.BasisCurve = BasisCurve; + this.PointParameter = PointParameter; + this.type = 4022376103; + } + } + IFC4X32.IfcPointOnCurve = IfcPointOnCurve; + class IfcPointOnSurface extends IfcPoint { + constructor(BasisSurface, PointParameterU, PointParameterV) { + super(); + this.BasisSurface = BasisSurface; + this.PointParameterU = PointParameterU; + this.PointParameterV = PointParameterV; + this.type = 1423911732; + } + } + IFC4X32.IfcPointOnSurface = IfcPointOnSurface; + class IfcPolyLoop extends IfcLoop { + constructor(Polygon) { + super(); + this.Polygon = Polygon; + this.type = 2924175390; + } + } + IFC4X32.IfcPolyLoop = IfcPolyLoop; + class IfcPolygonalBoundedHalfSpace extends IfcHalfSpaceSolid { + constructor(BaseSurface, AgreementFlag, Position, PolygonalBoundary) { + super(BaseSurface, AgreementFlag); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.Position = Position; + this.PolygonalBoundary = PolygonalBoundary; + this.type = 2775532180; + } + } + IFC4X32.IfcPolygonalBoundedHalfSpace = IfcPolygonalBoundedHalfSpace; + class IfcPreDefinedItem extends IfcPresentationItem { + constructor(Name) { + super(); + this.Name = Name; + this.type = 3727388367; + } + } + IFC4X32.IfcPreDefinedItem = IfcPreDefinedItem; + class IfcPreDefinedProperties extends IfcPropertyAbstraction { + constructor() { + super(); + this.type = 3778827333; + } + } + IFC4X32.IfcPreDefinedProperties = IfcPreDefinedProperties; + class IfcPreDefinedTextFont extends IfcPreDefinedItem { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 1775413392; + } + } + IFC4X32.IfcPreDefinedTextFont = IfcPreDefinedTextFont; + class IfcProductDefinitionShape extends IfcProductRepresentation { + constructor(Name, Description, Representations) { + super(Name, Description, Representations); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.type = 673634403; + } + } + IFC4X32.IfcProductDefinitionShape = IfcProductDefinitionShape; + class IfcProfileProperties extends IfcExtendedProperties { + constructor(Name, Description, Properties2, ProfileDefinition) { + super(Name, Description, Properties2); + this.Name = Name; + this.Description = Description; + this.Properties = Properties2; + this.ProfileDefinition = ProfileDefinition; + this.type = 2802850158; + } + } + IFC4X32.IfcProfileProperties = IfcProfileProperties; + class IfcProperty extends IfcPropertyAbstraction { + constructor(Name, Specification) { + super(); + this.Name = Name; + this.Specification = Specification; + this.type = 2598011224; + } + } + IFC4X32.IfcProperty = IfcProperty; + class IfcPropertyDefinition extends IfcRoot { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 1680319473; + } + } + IFC4X32.IfcPropertyDefinition = IfcPropertyDefinition; + class IfcPropertyDependencyRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, DependingProperty, DependantProperty, Expression) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.DependingProperty = DependingProperty; + this.DependantProperty = DependantProperty; + this.Expression = Expression; + this.type = 148025276; + } + } + IFC4X32.IfcPropertyDependencyRelationship = IfcPropertyDependencyRelationship; + class IfcPropertySetDefinition extends IfcPropertyDefinition { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 3357820518; + } + } + IFC4X32.IfcPropertySetDefinition = IfcPropertySetDefinition; + class IfcPropertyTemplateDefinition extends IfcPropertyDefinition { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 1482703590; + } + } + IFC4X32.IfcPropertyTemplateDefinition = IfcPropertyTemplateDefinition; + class IfcQuantitySet extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 2090586900; + } + } + IFC4X32.IfcQuantitySet = IfcQuantitySet; + class IfcRectangleProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, XDim, YDim) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.type = 3615266464; + } + } + IFC4X32.IfcRectangleProfileDef = IfcRectangleProfileDef; + class IfcRegularTimeSeries extends IfcTimeSeries { + constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, TimeStep, Values) { + super(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.TimeStep = TimeStep; + this.Values = Values; + this.type = 3413951693; + } + } + IFC4X32.IfcRegularTimeSeries = IfcRegularTimeSeries; + class IfcReinforcementBarProperties extends IfcPreDefinedProperties { + constructor(TotalCrossSectionArea, SteelGrade, BarSurface, EffectiveDepth, NominalBarDiameter, BarCount) { + super(); + this.TotalCrossSectionArea = TotalCrossSectionArea; + this.SteelGrade = SteelGrade; + this.BarSurface = BarSurface; + this.EffectiveDepth = EffectiveDepth; + this.NominalBarDiameter = NominalBarDiameter; + this.BarCount = BarCount; + this.type = 1580146022; + } + } + IFC4X32.IfcReinforcementBarProperties = IfcReinforcementBarProperties; + class IfcRelationship extends IfcRoot { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 478536968; + } + } + IFC4X32.IfcRelationship = IfcRelationship; + class IfcResourceApprovalRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, RelatedResourceObjects, RelatingApproval) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatedResourceObjects = RelatedResourceObjects; + this.RelatingApproval = RelatingApproval; + this.type = 2943643501; + } + } + IFC4X32.IfcResourceApprovalRelationship = IfcResourceApprovalRelationship; + class IfcResourceConstraintRelationship extends IfcResourceLevelRelationship { + constructor(Name, Description, RelatingConstraint, RelatedResourceObjects) { + super(Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingConstraint = RelatingConstraint; + this.RelatedResourceObjects = RelatedResourceObjects; + this.type = 1608871552; + } + } + IFC4X32.IfcResourceConstraintRelationship = IfcResourceConstraintRelationship; + class IfcResourceTime extends IfcSchedulingTime { + constructor(Name, DataOrigin, UserDefinedDataOrigin, ScheduleWork, ScheduleUsage, ScheduleStart, ScheduleFinish, ScheduleContour, LevelingDelay, IsOverAllocated, StatusTime, ActualWork, ActualUsage, ActualStart, ActualFinish, RemainingWork, RemainingUsage, Completion) { + super(Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.ScheduleWork = ScheduleWork; + this.ScheduleUsage = ScheduleUsage; + this.ScheduleStart = ScheduleStart; + this.ScheduleFinish = ScheduleFinish; + this.ScheduleContour = ScheduleContour; + this.LevelingDelay = LevelingDelay; + this.IsOverAllocated = IsOverAllocated; + this.StatusTime = StatusTime; + this.ActualWork = ActualWork; + this.ActualUsage = ActualUsage; + this.ActualStart = ActualStart; + this.ActualFinish = ActualFinish; + this.RemainingWork = RemainingWork; + this.RemainingUsage = RemainingUsage; + this.Completion = Completion; + this.type = 1042787934; + } + } + IFC4X32.IfcResourceTime = IfcResourceTime; + class IfcRoundedRectangleProfileDef extends IfcRectangleProfileDef { + constructor(ProfileType, ProfileName, Position, XDim, YDim, RoundingRadius) { + super(ProfileType, ProfileName, Position, XDim, YDim); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.RoundingRadius = RoundingRadius; + this.type = 2778083089; + } + } + IFC4X32.IfcRoundedRectangleProfileDef = IfcRoundedRectangleProfileDef; + class IfcSectionProperties extends IfcPreDefinedProperties { + constructor(SectionType, StartProfile, EndProfile) { + super(); + this.SectionType = SectionType; + this.StartProfile = StartProfile; + this.EndProfile = EndProfile; + this.type = 2042790032; + } + } + IFC4X32.IfcSectionProperties = IfcSectionProperties; + class IfcSectionReinforcementProperties extends IfcPreDefinedProperties { + constructor(LongitudinalStartPosition, LongitudinalEndPosition, TransversePosition, ReinforcementRole, SectionDefinition, CrossSectionReinforcementDefinitions) { + super(); + this.LongitudinalStartPosition = LongitudinalStartPosition; + this.LongitudinalEndPosition = LongitudinalEndPosition; + this.TransversePosition = TransversePosition; + this.ReinforcementRole = ReinforcementRole; + this.SectionDefinition = SectionDefinition; + this.CrossSectionReinforcementDefinitions = CrossSectionReinforcementDefinitions; + this.type = 4165799628; + } + } + IFC4X32.IfcSectionReinforcementProperties = IfcSectionReinforcementProperties; + class IfcSectionedSpine extends IfcGeometricRepresentationItem { + constructor(SpineCurve, CrossSections, CrossSectionPositions) { + super(); + this.SpineCurve = SpineCurve; + this.CrossSections = CrossSections; + this.CrossSectionPositions = CrossSectionPositions; + this.type = 1509187699; + } + } + IFC4X32.IfcSectionedSpine = IfcSectionedSpine; + class IfcSegment extends IfcGeometricRepresentationItem { + constructor(Transition) { + super(); + this.Transition = Transition; + this.type = 823603102; + } + } + IFC4X32.IfcSegment = IfcSegment; + class IfcShellBasedSurfaceModel extends IfcGeometricRepresentationItem { + constructor(SbsmBoundary) { + super(); + this.SbsmBoundary = SbsmBoundary; + this.type = 4124623270; + } + } + IFC4X32.IfcShellBasedSurfaceModel = IfcShellBasedSurfaceModel; + class IfcSimpleProperty extends IfcProperty { + constructor(Name, Specification) { + super(Name, Specification); + this.Name = Name; + this.Specification = Specification; + this.type = 3692461612; + } + } + IFC4X32.IfcSimpleProperty = IfcSimpleProperty; + class IfcSlippageConnectionCondition extends IfcStructuralConnectionCondition { + constructor(Name, SlippageX, SlippageY, SlippageZ) { + super(Name); + this.Name = Name; + this.SlippageX = SlippageX; + this.SlippageY = SlippageY; + this.SlippageZ = SlippageZ; + this.type = 2609359061; + } + } + IFC4X32.IfcSlippageConnectionCondition = IfcSlippageConnectionCondition; + class IfcSolidModel extends IfcGeometricRepresentationItem { + constructor() { + super(); + this.type = 723233188; + } + } + IFC4X32.IfcSolidModel = IfcSolidModel; + class IfcStructuralLoadLinearForce extends IfcStructuralLoadStatic { + constructor(Name, LinearForceX, LinearForceY, LinearForceZ, LinearMomentX, LinearMomentY, LinearMomentZ) { + super(Name); + this.Name = Name; + this.LinearForceX = LinearForceX; + this.LinearForceY = LinearForceY; + this.LinearForceZ = LinearForceZ; + this.LinearMomentX = LinearMomentX; + this.LinearMomentY = LinearMomentY; + this.LinearMomentZ = LinearMomentZ; + this.type = 1595516126; + } + } + IFC4X32.IfcStructuralLoadLinearForce = IfcStructuralLoadLinearForce; + class IfcStructuralLoadPlanarForce extends IfcStructuralLoadStatic { + constructor(Name, PlanarForceX, PlanarForceY, PlanarForceZ) { + super(Name); + this.Name = Name; + this.PlanarForceX = PlanarForceX; + this.PlanarForceY = PlanarForceY; + this.PlanarForceZ = PlanarForceZ; + this.type = 2668620305; + } + } + IFC4X32.IfcStructuralLoadPlanarForce = IfcStructuralLoadPlanarForce; + class IfcStructuralLoadSingleDisplacement extends IfcStructuralLoadStatic { + constructor(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ) { + super(Name); + this.Name = Name; + this.DisplacementX = DisplacementX; + this.DisplacementY = DisplacementY; + this.DisplacementZ = DisplacementZ; + this.RotationalDisplacementRX = RotationalDisplacementRX; + this.RotationalDisplacementRY = RotationalDisplacementRY; + this.RotationalDisplacementRZ = RotationalDisplacementRZ; + this.type = 2473145415; + } + } + IFC4X32.IfcStructuralLoadSingleDisplacement = IfcStructuralLoadSingleDisplacement; + class IfcStructuralLoadSingleDisplacementDistortion extends IfcStructuralLoadSingleDisplacement { + constructor(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ, Distortion) { + super(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ); + this.Name = Name; + this.DisplacementX = DisplacementX; + this.DisplacementY = DisplacementY; + this.DisplacementZ = DisplacementZ; + this.RotationalDisplacementRX = RotationalDisplacementRX; + this.RotationalDisplacementRY = RotationalDisplacementRY; + this.RotationalDisplacementRZ = RotationalDisplacementRZ; + this.Distortion = Distortion; + this.type = 1973038258; + } + } + IFC4X32.IfcStructuralLoadSingleDisplacementDistortion = IfcStructuralLoadSingleDisplacementDistortion; + class IfcStructuralLoadSingleForce extends IfcStructuralLoadStatic { + constructor(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ) { + super(Name); + this.Name = Name; + this.ForceX = ForceX; + this.ForceY = ForceY; + this.ForceZ = ForceZ; + this.MomentX = MomentX; + this.MomentY = MomentY; + this.MomentZ = MomentZ; + this.type = 1597423693; + } + } + IFC4X32.IfcStructuralLoadSingleForce = IfcStructuralLoadSingleForce; + class IfcStructuralLoadSingleForceWarping extends IfcStructuralLoadSingleForce { + constructor(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ, WarpingMoment) { + super(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ); + this.Name = Name; + this.ForceX = ForceX; + this.ForceY = ForceY; + this.ForceZ = ForceZ; + this.MomentX = MomentX; + this.MomentY = MomentY; + this.MomentZ = MomentZ; + this.WarpingMoment = WarpingMoment; + this.type = 1190533807; + } + } + IFC4X32.IfcStructuralLoadSingleForceWarping = IfcStructuralLoadSingleForceWarping; + class IfcSubedge extends IfcEdge { + constructor(EdgeStart, EdgeEnd, ParentEdge) { + super(EdgeStart, EdgeEnd); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.ParentEdge = ParentEdge; + this.type = 2233826070; + } + } + IFC4X32.IfcSubedge = IfcSubedge; + class IfcSurface extends IfcGeometricRepresentationItem { + constructor() { + super(); + this.type = 2513912981; + } + } + IFC4X32.IfcSurface = IfcSurface; + class IfcSurfaceStyleRendering extends IfcSurfaceStyleShading { + constructor(SurfaceColour, Transparency, DiffuseColour, TransmissionColour, DiffuseTransmissionColour, ReflectionColour, SpecularColour, SpecularHighlight, ReflectanceMethod) { + super(SurfaceColour, Transparency); + this.SurfaceColour = SurfaceColour; + this.Transparency = Transparency; + this.DiffuseColour = DiffuseColour; + this.TransmissionColour = TransmissionColour; + this.DiffuseTransmissionColour = DiffuseTransmissionColour; + this.ReflectionColour = ReflectionColour; + this.SpecularColour = SpecularColour; + this.SpecularHighlight = SpecularHighlight; + this.ReflectanceMethod = ReflectanceMethod; + this.type = 1878645084; + } + } + IFC4X32.IfcSurfaceStyleRendering = IfcSurfaceStyleRendering; + class IfcSweptAreaSolid extends IfcSolidModel { + constructor(SweptArea, Position) { + super(); + this.SweptArea = SweptArea; + this.Position = Position; + this.type = 2247615214; + } + } + IFC4X32.IfcSweptAreaSolid = IfcSweptAreaSolid; + class IfcSweptDiskSolid extends IfcSolidModel { + constructor(Directrix, Radius, InnerRadius, StartParam, EndParam) { + super(); + this.Directrix = Directrix; + this.Radius = Radius; + this.InnerRadius = InnerRadius; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.type = 1260650574; + } + } + IFC4X32.IfcSweptDiskSolid = IfcSweptDiskSolid; + class IfcSweptDiskSolidPolygonal extends IfcSweptDiskSolid { + constructor(Directrix, Radius, InnerRadius, StartParam, EndParam, FilletRadius) { + super(Directrix, Radius, InnerRadius, StartParam, EndParam); + this.Directrix = Directrix; + this.Radius = Radius; + this.InnerRadius = InnerRadius; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.FilletRadius = FilletRadius; + this.type = 1096409881; + } + } + IFC4X32.IfcSweptDiskSolidPolygonal = IfcSweptDiskSolidPolygonal; + class IfcSweptSurface extends IfcSurface { + constructor(SweptCurve, Position) { + super(); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.type = 230924584; + } + } + IFC4X32.IfcSweptSurface = IfcSweptSurface; + class IfcTShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, WebEdgeRadius, WebSlope, FlangeSlope) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.FlangeEdgeRadius = FlangeEdgeRadius; + this.WebEdgeRadius = WebEdgeRadius; + this.WebSlope = WebSlope; + this.FlangeSlope = FlangeSlope; + this.type = 3071757647; + } + } + IFC4X32.IfcTShapeProfileDef = IfcTShapeProfileDef; + class IfcTessellatedItem extends IfcGeometricRepresentationItem { + constructor() { + super(); + this.type = 901063453; + } + } + IFC4X32.IfcTessellatedItem = IfcTessellatedItem; + class IfcTextLiteral extends IfcGeometricRepresentationItem { + constructor(Literal, Placement, Path) { + super(); + this.Literal = Literal; + this.Placement = Placement; + this.Path = Path; + this.type = 4282788508; + } + } + IFC4X32.IfcTextLiteral = IfcTextLiteral; + class IfcTextLiteralWithExtent extends IfcTextLiteral { + constructor(Literal, Placement, Path, Extent, BoxAlignment) { + super(Literal, Placement, Path); + this.Literal = Literal; + this.Placement = Placement; + this.Path = Path; + this.Extent = Extent; + this.BoxAlignment = BoxAlignment; + this.type = 3124975700; + } + } + IFC4X32.IfcTextLiteralWithExtent = IfcTextLiteralWithExtent; + class IfcTextStyleFontModel extends IfcPreDefinedTextFont { + constructor(Name, FontFamily, FontStyle, FontVariant, FontWeight, FontSize) { + super(Name); + this.Name = Name; + this.FontFamily = FontFamily; + this.FontStyle = FontStyle; + this.FontVariant = FontVariant; + this.FontWeight = FontWeight; + this.FontSize = FontSize; + this.type = 1983826977; + } + } + IFC4X32.IfcTextStyleFontModel = IfcTextStyleFontModel; + class IfcTrapeziumProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, BottomXDim, TopXDim, YDim, TopXOffset) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.BottomXDim = BottomXDim; + this.TopXDim = TopXDim; + this.YDim = YDim; + this.TopXOffset = TopXOffset; + this.type = 2715220739; + } + } + IFC4X32.IfcTrapeziumProfileDef = IfcTrapeziumProfileDef; + class IfcTypeObject extends IfcObjectDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.type = 1628702193; + } + } + IFC4X32.IfcTypeObject = IfcTypeObject; + class IfcTypeProcess extends IfcTypeObject { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ProcessType = ProcessType; + this.type = 3736923433; + } + } + IFC4X32.IfcTypeProcess = IfcTypeProcess; + class IfcTypeProduct extends IfcTypeObject { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.type = 2347495698; + } + } + IFC4X32.IfcTypeProduct = IfcTypeProduct; + class IfcTypeResource extends IfcTypeObject { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.type = 3698973494; + } + } + IFC4X32.IfcTypeResource = IfcTypeResource; + class IfcUShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius, FlangeSlope) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.FlangeSlope = FlangeSlope; + this.type = 427810014; + } + } + IFC4X32.IfcUShapeProfileDef = IfcUShapeProfileDef; + class IfcVector extends IfcGeometricRepresentationItem { + constructor(Orientation, Magnitude) { + super(); + this.Orientation = Orientation; + this.Magnitude = Magnitude; + this.type = 1417489154; + } + } + IFC4X32.IfcVector = IfcVector; + class IfcVertexLoop extends IfcLoop { + constructor(LoopVertex) { + super(); + this.LoopVertex = LoopVertex; + this.type = 2759199220; + } + } + IFC4X32.IfcVertexLoop = IfcVertexLoop; + class IfcZShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.type = 2543172580; + } + } + IFC4X32.IfcZShapeProfileDef = IfcZShapeProfileDef; + class IfcAdvancedFace extends IfcFaceSurface { + constructor(Bounds, FaceSurface, SameSense) { + super(Bounds, FaceSurface, SameSense); + this.Bounds = Bounds; + this.FaceSurface = FaceSurface; + this.SameSense = SameSense; + this.type = 3406155212; + } + } + IFC4X32.IfcAdvancedFace = IfcAdvancedFace; + class IfcAnnotationFillArea extends IfcGeometricRepresentationItem { + constructor(OuterBoundary, InnerBoundaries) { + super(); + this.OuterBoundary = OuterBoundary; + this.InnerBoundaries = InnerBoundaries; + this.type = 669184980; + } + } + IFC4X32.IfcAnnotationFillArea = IfcAnnotationFillArea; + class IfcAsymmetricIShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, BottomFlangeWidth, OverallDepth, WebThickness, BottomFlangeThickness, BottomFlangeFilletRadius, TopFlangeWidth, TopFlangeThickness, TopFlangeFilletRadius, BottomFlangeEdgeRadius, BottomFlangeSlope, TopFlangeEdgeRadius, TopFlangeSlope) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.BottomFlangeWidth = BottomFlangeWidth; + this.OverallDepth = OverallDepth; + this.WebThickness = WebThickness; + this.BottomFlangeThickness = BottomFlangeThickness; + this.BottomFlangeFilletRadius = BottomFlangeFilletRadius; + this.TopFlangeWidth = TopFlangeWidth; + this.TopFlangeThickness = TopFlangeThickness; + this.TopFlangeFilletRadius = TopFlangeFilletRadius; + this.BottomFlangeEdgeRadius = BottomFlangeEdgeRadius; + this.BottomFlangeSlope = BottomFlangeSlope; + this.TopFlangeEdgeRadius = TopFlangeEdgeRadius; + this.TopFlangeSlope = TopFlangeSlope; + this.type = 3207858831; + } + } + IFC4X32.IfcAsymmetricIShapeProfileDef = IfcAsymmetricIShapeProfileDef; + class IfcAxis1Placement extends IfcPlacement { + constructor(Location, Axis) { + super(Location); + this.Location = Location; + this.Axis = Axis; + this.type = 4261334040; + } + } + IFC4X32.IfcAxis1Placement = IfcAxis1Placement; + class IfcAxis2Placement2D extends IfcPlacement { + constructor(Location, RefDirection) { + super(Location); + this.Location = Location; + this.RefDirection = RefDirection; + this.type = 3125803723; + } + } + IFC4X32.IfcAxis2Placement2D = IfcAxis2Placement2D; + class IfcAxis2Placement3D extends IfcPlacement { + constructor(Location, Axis, RefDirection) { + super(Location); + this.Location = Location; + this.Axis = Axis; + this.RefDirection = RefDirection; + this.type = 2740243338; + } + } + IFC4X32.IfcAxis2Placement3D = IfcAxis2Placement3D; + class IfcAxis2PlacementLinear extends IfcPlacement { + constructor(Location, Axis, RefDirection) { + super(Location); + this.Location = Location; + this.Axis = Axis; + this.RefDirection = RefDirection; + this.type = 3425423356; + } + } + IFC4X32.IfcAxis2PlacementLinear = IfcAxis2PlacementLinear; + class IfcBooleanResult extends IfcGeometricRepresentationItem { + constructor(Operator, FirstOperand, SecondOperand) { + super(); + this.Operator = Operator; + this.FirstOperand = FirstOperand; + this.SecondOperand = SecondOperand; + this.type = 2736907675; + } + } + IFC4X32.IfcBooleanResult = IfcBooleanResult; + class IfcBoundedSurface extends IfcSurface { + constructor() { + super(); + this.type = 4182860854; + } + } + IFC4X32.IfcBoundedSurface = IfcBoundedSurface; + class IfcBoundingBox extends IfcGeometricRepresentationItem { + constructor(Corner, XDim, YDim, ZDim) { + super(); + this.Corner = Corner; + this.XDim = XDim; + this.YDim = YDim; + this.ZDim = ZDim; + this.type = 2581212453; + } + } + IFC4X32.IfcBoundingBox = IfcBoundingBox; + class IfcBoxedHalfSpace extends IfcHalfSpaceSolid { + constructor(BaseSurface, AgreementFlag, Enclosure) { + super(BaseSurface, AgreementFlag); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.Enclosure = Enclosure; + this.type = 2713105998; + } + } + IFC4X32.IfcBoxedHalfSpace = IfcBoxedHalfSpace; + class IfcCShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Depth, Width, WallThickness, Girth, InternalFilletRadius) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.Width = Width; + this.WallThickness = WallThickness; + this.Girth = Girth; + this.InternalFilletRadius = InternalFilletRadius; + this.type = 2898889636; + } + } + IFC4X32.IfcCShapeProfileDef = IfcCShapeProfileDef; + class IfcCartesianPoint extends IfcPoint { + constructor(Coordinates) { + super(); + this.Coordinates = Coordinates; + this.type = 1123145078; + } + } + IFC4X32.IfcCartesianPoint = IfcCartesianPoint; + class IfcCartesianPointList extends IfcGeometricRepresentationItem { + constructor() { + super(); + this.type = 574549367; + } + } + IFC4X32.IfcCartesianPointList = IfcCartesianPointList; + class IfcCartesianPointList2D extends IfcCartesianPointList { + constructor(CoordList, TagList) { + super(); + this.CoordList = CoordList; + this.TagList = TagList; + this.type = 1675464909; + } + } + IFC4X32.IfcCartesianPointList2D = IfcCartesianPointList2D; + class IfcCartesianPointList3D extends IfcCartesianPointList { + constructor(CoordList, TagList) { + super(); + this.CoordList = CoordList; + this.TagList = TagList; + this.type = 2059837836; + } + } + IFC4X32.IfcCartesianPointList3D = IfcCartesianPointList3D; + class IfcCartesianTransformationOperator extends IfcGeometricRepresentationItem { + constructor(Axis1, Axis2, LocalOrigin, Scale) { + super(); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.type = 59481748; + } + } + IFC4X32.IfcCartesianTransformationOperator = IfcCartesianTransformationOperator; + class IfcCartesianTransformationOperator2D extends IfcCartesianTransformationOperator { + constructor(Axis1, Axis2, LocalOrigin, Scale) { + super(Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.type = 3749851601; + } + } + IFC4X32.IfcCartesianTransformationOperator2D = IfcCartesianTransformationOperator2D; + class IfcCartesianTransformationOperator2DnonUniform extends IfcCartesianTransformationOperator2D { + constructor(Axis1, Axis2, LocalOrigin, Scale, Scale2) { + super(Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Scale2 = Scale2; + this.type = 3486308946; + } + } + IFC4X32.IfcCartesianTransformationOperator2DnonUniform = IfcCartesianTransformationOperator2DnonUniform; + class IfcCartesianTransformationOperator3D extends IfcCartesianTransformationOperator { + constructor(Axis1, Axis2, LocalOrigin, Scale, Axis3) { + super(Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Axis3 = Axis3; + this.type = 3331915920; + } + } + IFC4X32.IfcCartesianTransformationOperator3D = IfcCartesianTransformationOperator3D; + class IfcCartesianTransformationOperator3DnonUniform extends IfcCartesianTransformationOperator3D { + constructor(Axis1, Axis2, LocalOrigin, Scale, Axis3, Scale2, Scale3) { + super(Axis1, Axis2, LocalOrigin, Scale, Axis3); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Axis3 = Axis3; + this.Scale2 = Scale2; + this.Scale3 = Scale3; + this.type = 1416205885; + } + } + IFC4X32.IfcCartesianTransformationOperator3DnonUniform = IfcCartesianTransformationOperator3DnonUniform; + class IfcCircleProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Radius) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Radius = Radius; + this.type = 1383045692; + } + } + IFC4X32.IfcCircleProfileDef = IfcCircleProfileDef; + class IfcClosedShell extends IfcConnectedFaceSet { + constructor(CfsFaces) { + super(CfsFaces); + this.CfsFaces = CfsFaces; + this.type = 2205249479; + } + } + IFC4X32.IfcClosedShell = IfcClosedShell; + class IfcColourRgb extends IfcColourSpecification { + constructor(Name, Red, Green, Blue) { + super(Name); + this.Name = Name; + this.Red = Red; + this.Green = Green; + this.Blue = Blue; + this.type = 776857604; + } + } + IFC4X32.IfcColourRgb = IfcColourRgb; + class IfcComplexProperty extends IfcProperty { + constructor(Name, Specification, UsageName, HasProperties) { + super(Name, Specification); + this.Name = Name; + this.Specification = Specification; + this.UsageName = UsageName; + this.HasProperties = HasProperties; + this.type = 2542286263; + } + } + IFC4X32.IfcComplexProperty = IfcComplexProperty; + class IfcCompositeCurveSegment extends IfcSegment { + constructor(Transition, SameSense, ParentCurve) { + super(Transition); + this.Transition = Transition; + this.SameSense = SameSense; + this.ParentCurve = ParentCurve; + this.type = 2485617015; + } + } + IFC4X32.IfcCompositeCurveSegment = IfcCompositeCurveSegment; + class IfcConstructionResourceType extends IfcTypeResource { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.type = 2574617495; + } + } + IFC4X32.IfcConstructionResourceType = IfcConstructionResourceType; + class IfcContext extends IfcObjectDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.Phase = Phase; + this.RepresentationContexts = RepresentationContexts; + this.UnitsInContext = UnitsInContext; + this.type = 3419103109; + } + } + IFC4X32.IfcContext = IfcContext; + class IfcCrewResourceType extends IfcConstructionResourceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 1815067380; + } + } + IFC4X32.IfcCrewResourceType = IfcCrewResourceType; + class IfcCsgPrimitive3D extends IfcGeometricRepresentationItem { + constructor(Position) { + super(); + this.Position = Position; + this.type = 2506170314; + } + } + IFC4X32.IfcCsgPrimitive3D = IfcCsgPrimitive3D; + class IfcCsgSolid extends IfcSolidModel { + constructor(TreeRootExpression) { + super(); + this.TreeRootExpression = TreeRootExpression; + this.type = 2147822146; + } + } + IFC4X32.IfcCsgSolid = IfcCsgSolid; + class IfcCurve extends IfcGeometricRepresentationItem { + constructor() { + super(); + this.type = 2601014836; + } + } + IFC4X32.IfcCurve = IfcCurve; + class IfcCurveBoundedPlane extends IfcBoundedSurface { + constructor(BasisSurface, OuterBoundary, InnerBoundaries) { + super(); + this.BasisSurface = BasisSurface; + this.OuterBoundary = OuterBoundary; + this.InnerBoundaries = InnerBoundaries; + this.type = 2827736869; + } + } + IFC4X32.IfcCurveBoundedPlane = IfcCurveBoundedPlane; + class IfcCurveBoundedSurface extends IfcBoundedSurface { + constructor(BasisSurface, Boundaries, ImplicitOuter) { + super(); + this.BasisSurface = BasisSurface; + this.Boundaries = Boundaries; + this.ImplicitOuter = ImplicitOuter; + this.type = 2629017746; + } + } + IFC4X32.IfcCurveBoundedSurface = IfcCurveBoundedSurface; + class IfcCurveSegment extends IfcSegment { + constructor(Transition, Placement, SegmentStart, SegmentLength, ParentCurve) { + super(Transition); + this.Transition = Transition; + this.Placement = Placement; + this.SegmentStart = SegmentStart; + this.SegmentLength = SegmentLength; + this.ParentCurve = ParentCurve; + this.type = 4212018352; + } + } + IFC4X32.IfcCurveSegment = IfcCurveSegment; + class IfcDirection extends IfcGeometricRepresentationItem { + constructor(DirectionRatios) { + super(); + this.DirectionRatios = DirectionRatios; + this.type = 32440307; + } + } + IFC4X32.IfcDirection = IfcDirection; + class IfcDirectrixCurveSweptAreaSolid extends IfcSweptAreaSolid { + constructor(SweptArea, Position, Directrix, StartParam, EndParam) { + super(SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.Directrix = Directrix; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.type = 593015953; + } + } + IFC4X32.IfcDirectrixCurveSweptAreaSolid = IfcDirectrixCurveSweptAreaSolid; + class IfcEdgeLoop extends IfcLoop { + constructor(EdgeList) { + super(); + this.EdgeList = EdgeList; + this.type = 1472233963; + } + } + IFC4X32.IfcEdgeLoop = IfcEdgeLoop; + class IfcElementQuantity extends IfcQuantitySet { + constructor(GlobalId, OwnerHistory, Name, Description, MethodOfMeasurement, Quantities) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.MethodOfMeasurement = MethodOfMeasurement; + this.Quantities = Quantities; + this.type = 1883228015; + } + } + IFC4X32.IfcElementQuantity = IfcElementQuantity; + class IfcElementType extends IfcTypeProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 339256511; + } + } + IFC4X32.IfcElementType = IfcElementType; + class IfcElementarySurface extends IfcSurface { + constructor(Position) { + super(); + this.Position = Position; + this.type = 2777663545; + } + } + IFC4X32.IfcElementarySurface = IfcElementarySurface; + class IfcEllipseProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, SemiAxis1, SemiAxis2) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.SemiAxis1 = SemiAxis1; + this.SemiAxis2 = SemiAxis2; + this.type = 2835456948; + } + } + IFC4X32.IfcEllipseProfileDef = IfcEllipseProfileDef; + class IfcEventType extends IfcTypeProcess { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType, EventTriggerType, UserDefinedEventTriggerType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ProcessType = ProcessType; + this.PredefinedType = PredefinedType; + this.EventTriggerType = EventTriggerType; + this.UserDefinedEventTriggerType = UserDefinedEventTriggerType; + this.type = 4024345920; + } + } + IFC4X32.IfcEventType = IfcEventType; + class IfcExtrudedAreaSolid extends IfcSweptAreaSolid { + constructor(SweptArea, Position, ExtrudedDirection, Depth) { + super(SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.ExtrudedDirection = ExtrudedDirection; + this.Depth = Depth; + this.type = 477187591; + } + } + IFC4X32.IfcExtrudedAreaSolid = IfcExtrudedAreaSolid; + class IfcExtrudedAreaSolidTapered extends IfcExtrudedAreaSolid { + constructor(SweptArea, Position, ExtrudedDirection, Depth, EndSweptArea) { + super(SweptArea, Position, ExtrudedDirection, Depth); + this.SweptArea = SweptArea; + this.Position = Position; + this.ExtrudedDirection = ExtrudedDirection; + this.Depth = Depth; + this.EndSweptArea = EndSweptArea; + this.type = 2804161546; + } + } + IFC4X32.IfcExtrudedAreaSolidTapered = IfcExtrudedAreaSolidTapered; + class IfcFaceBasedSurfaceModel extends IfcGeometricRepresentationItem { + constructor(FbsmFaces) { + super(); + this.FbsmFaces = FbsmFaces; + this.type = 2047409740; + } + } + IFC4X32.IfcFaceBasedSurfaceModel = IfcFaceBasedSurfaceModel; + class IfcFillAreaStyleHatching extends IfcGeometricRepresentationItem { + constructor(HatchLineAppearance, StartOfNextHatchLine, PointOfReferenceHatchLine, PatternStart, HatchLineAngle) { + super(); + this.HatchLineAppearance = HatchLineAppearance; + this.StartOfNextHatchLine = StartOfNextHatchLine; + this.PointOfReferenceHatchLine = PointOfReferenceHatchLine; + this.PatternStart = PatternStart; + this.HatchLineAngle = HatchLineAngle; + this.type = 374418227; + } + } + IFC4X32.IfcFillAreaStyleHatching = IfcFillAreaStyleHatching; + class IfcFillAreaStyleTiles extends IfcGeometricRepresentationItem { + constructor(TilingPattern, Tiles, TilingScale) { + super(); + this.TilingPattern = TilingPattern; + this.Tiles = Tiles; + this.TilingScale = TilingScale; + this.type = 315944413; + } + } + IFC4X32.IfcFillAreaStyleTiles = IfcFillAreaStyleTiles; + class IfcFixedReferenceSweptAreaSolid extends IfcDirectrixCurveSweptAreaSolid { + constructor(SweptArea, Position, Directrix, StartParam, EndParam, FixedReference) { + super(SweptArea, Position, Directrix, StartParam, EndParam); + this.SweptArea = SweptArea; + this.Position = Position; + this.Directrix = Directrix; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.FixedReference = FixedReference; + this.type = 2652556860; + } + } + IFC4X32.IfcFixedReferenceSweptAreaSolid = IfcFixedReferenceSweptAreaSolid; + class IfcFurnishingElementType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 4238390223; + } + } + IFC4X32.IfcFurnishingElementType = IfcFurnishingElementType; + class IfcFurnitureType extends IfcFurnishingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, AssemblyPlace, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.AssemblyPlace = AssemblyPlace; + this.PredefinedType = PredefinedType; + this.type = 1268542332; + } + } + IFC4X32.IfcFurnitureType = IfcFurnitureType; + class IfcGeographicElementType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4095422895; + } + } + IFC4X32.IfcGeographicElementType = IfcGeographicElementType; + class IfcGeometricCurveSet extends IfcGeometricSet { + constructor(Elements) { + super(Elements); + this.Elements = Elements; + this.type = 987898635; + } + } + IFC4X32.IfcGeometricCurveSet = IfcGeometricCurveSet; + class IfcIShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, FlangeSlope) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.OverallWidth = OverallWidth; + this.OverallDepth = OverallDepth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.FlangeEdgeRadius = FlangeEdgeRadius; + this.FlangeSlope = FlangeSlope; + this.type = 1484403080; + } + } + IFC4X32.IfcIShapeProfileDef = IfcIShapeProfileDef; + class IfcIndexedPolygonalFace extends IfcTessellatedItem { + constructor(CoordIndex) { + super(); + this.CoordIndex = CoordIndex; + this.type = 178912537; + } + } + IFC4X32.IfcIndexedPolygonalFace = IfcIndexedPolygonalFace; + class IfcIndexedPolygonalFaceWithVoids extends IfcIndexedPolygonalFace { + constructor(CoordIndex, InnerCoordIndices) { + super(CoordIndex); + this.CoordIndex = CoordIndex; + this.InnerCoordIndices = InnerCoordIndices; + this.type = 2294589976; + } + } + IFC4X32.IfcIndexedPolygonalFaceWithVoids = IfcIndexedPolygonalFaceWithVoids; + class IfcIndexedPolygonalTextureMap extends IfcIndexedTextureMap { + constructor(Maps, MappedTo, TexCoords, TexCoordIndices) { + super(Maps, MappedTo, TexCoords); + this.Maps = Maps; + this.MappedTo = MappedTo; + this.TexCoords = TexCoords; + this.TexCoordIndices = TexCoordIndices; + this.type = 3465909080; + } + } + IFC4X32.IfcIndexedPolygonalTextureMap = IfcIndexedPolygonalTextureMap; + class IfcLShapeProfileDef extends IfcParameterizedProfileDef { + constructor(ProfileType, ProfileName, Position, Depth, Width, Thickness, FilletRadius, EdgeRadius, LegSlope) { + super(ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.Width = Width; + this.Thickness = Thickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.LegSlope = LegSlope; + this.type = 572779678; + } + } + IFC4X32.IfcLShapeProfileDef = IfcLShapeProfileDef; + class IfcLaborResourceType extends IfcConstructionResourceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 428585644; + } + } + IFC4X32.IfcLaborResourceType = IfcLaborResourceType; + class IfcLine extends IfcCurve { + constructor(Pnt, Dir) { + super(); + this.Pnt = Pnt; + this.Dir = Dir; + this.type = 1281925730; + } + } + IFC4X32.IfcLine = IfcLine; + class IfcManifoldSolidBrep extends IfcSolidModel { + constructor(Outer) { + super(); + this.Outer = Outer; + this.type = 1425443689; + } + } + IFC4X32.IfcManifoldSolidBrep = IfcManifoldSolidBrep; + class IfcObject extends IfcObjectDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 3888040117; + } + } + IFC4X32.IfcObject = IfcObject; + class IfcOffsetCurve extends IfcCurve { + constructor(BasisCurve) { + super(); + this.BasisCurve = BasisCurve; + this.type = 590820931; + } + } + IFC4X32.IfcOffsetCurve = IfcOffsetCurve; + class IfcOffsetCurve2D extends IfcOffsetCurve { + constructor(BasisCurve, Distance, SelfIntersect) { + super(BasisCurve); + this.BasisCurve = BasisCurve; + this.Distance = Distance; + this.SelfIntersect = SelfIntersect; + this.type = 3388369263; + } + } + IFC4X32.IfcOffsetCurve2D = IfcOffsetCurve2D; + class IfcOffsetCurve3D extends IfcOffsetCurve { + constructor(BasisCurve, Distance, SelfIntersect, RefDirection) { + super(BasisCurve); + this.BasisCurve = BasisCurve; + this.Distance = Distance; + this.SelfIntersect = SelfIntersect; + this.RefDirection = RefDirection; + this.type = 3505215534; + } + } + IFC4X32.IfcOffsetCurve3D = IfcOffsetCurve3D; + class IfcOffsetCurveByDistances extends IfcOffsetCurve { + constructor(BasisCurve, OffsetValues, Tag) { + super(BasisCurve); + this.BasisCurve = BasisCurve; + this.OffsetValues = OffsetValues; + this.Tag = Tag; + this.type = 2485787929; + } + } + IFC4X32.IfcOffsetCurveByDistances = IfcOffsetCurveByDistances; + class IfcPcurve extends IfcCurve { + constructor(BasisSurface, ReferenceCurve) { + super(); + this.BasisSurface = BasisSurface; + this.ReferenceCurve = ReferenceCurve; + this.type = 1682466193; + } + } + IFC4X32.IfcPcurve = IfcPcurve; + class IfcPlanarBox extends IfcPlanarExtent { + constructor(SizeInX, SizeInY, Placement) { + super(SizeInX, SizeInY); + this.SizeInX = SizeInX; + this.SizeInY = SizeInY; + this.Placement = Placement; + this.type = 603570806; + } + } + IFC4X32.IfcPlanarBox = IfcPlanarBox; + class IfcPlane extends IfcElementarySurface { + constructor(Position) { + super(Position); + this.Position = Position; + this.type = 220341763; + } + } + IFC4X32.IfcPlane = IfcPlane; + class IfcPolynomialCurve extends IfcCurve { + constructor(Position, CoefficientsX, CoefficientsY, CoefficientsZ) { + super(); + this.Position = Position; + this.CoefficientsX = CoefficientsX; + this.CoefficientsY = CoefficientsY; + this.CoefficientsZ = CoefficientsZ; + this.type = 3381221214; + } + } + IFC4X32.IfcPolynomialCurve = IfcPolynomialCurve; + class IfcPreDefinedColour extends IfcPreDefinedItem { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 759155922; + } + } + IFC4X32.IfcPreDefinedColour = IfcPreDefinedColour; + class IfcPreDefinedCurveFont extends IfcPreDefinedItem { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 2559016684; + } + } + IFC4X32.IfcPreDefinedCurveFont = IfcPreDefinedCurveFont; + class IfcPreDefinedPropertySet extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 3967405729; + } + } + IFC4X32.IfcPreDefinedPropertySet = IfcPreDefinedPropertySet; + class IfcProcedureType extends IfcTypeProcess { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ProcessType = ProcessType; + this.PredefinedType = PredefinedType; + this.type = 569719735; + } + } + IFC4X32.IfcProcedureType = IfcProcedureType; + class IfcProcess extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.type = 2945172077; + } + } + IFC4X32.IfcProcess = IfcProcess; + class IfcProduct extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 4208778838; + } + } + IFC4X32.IfcProduct = IfcProduct; + class IfcProject extends IfcContext { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.Phase = Phase; + this.RepresentationContexts = RepresentationContexts; + this.UnitsInContext = UnitsInContext; + this.type = 103090709; + } + } + IFC4X32.IfcProject = IfcProject; + class IfcProjectLibrary extends IfcContext { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.Phase = Phase; + this.RepresentationContexts = RepresentationContexts; + this.UnitsInContext = UnitsInContext; + this.type = 653396225; + } + } + IFC4X32.IfcProjectLibrary = IfcProjectLibrary; + class IfcPropertyBoundedValue extends IfcSimpleProperty { + constructor(Name, Specification, UpperBoundValue, LowerBoundValue, Unit, SetPointValue) { + super(Name, Specification); + this.Name = Name; + this.Specification = Specification; + this.UpperBoundValue = UpperBoundValue; + this.LowerBoundValue = LowerBoundValue; + this.Unit = Unit; + this.SetPointValue = SetPointValue; + this.type = 871118103; + } + } + IFC4X32.IfcPropertyBoundedValue = IfcPropertyBoundedValue; + class IfcPropertyEnumeratedValue extends IfcSimpleProperty { + constructor(Name, Specification, EnumerationValues, EnumerationReference) { + super(Name, Specification); + this.Name = Name; + this.Specification = Specification; + this.EnumerationValues = EnumerationValues; + this.EnumerationReference = EnumerationReference; + this.type = 4166981789; + } + } + IFC4X32.IfcPropertyEnumeratedValue = IfcPropertyEnumeratedValue; + class IfcPropertyListValue extends IfcSimpleProperty { + constructor(Name, Specification, ListValues, Unit) { + super(Name, Specification); + this.Name = Name; + this.Specification = Specification; + this.ListValues = ListValues; + this.Unit = Unit; + this.type = 2752243245; + } + } + IFC4X32.IfcPropertyListValue = IfcPropertyListValue; + class IfcPropertyReferenceValue extends IfcSimpleProperty { + constructor(Name, Specification, UsageName, PropertyReference) { + super(Name, Specification); + this.Name = Name; + this.Specification = Specification; + this.UsageName = UsageName; + this.PropertyReference = PropertyReference; + this.type = 941946838; + } + } + IFC4X32.IfcPropertyReferenceValue = IfcPropertyReferenceValue; + class IfcPropertySet extends IfcPropertySetDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, HasProperties) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.HasProperties = HasProperties; + this.type = 1451395588; + } + } + IFC4X32.IfcPropertySet = IfcPropertySet; + class IfcPropertySetTemplate extends IfcPropertyTemplateDefinition { + constructor(GlobalId, OwnerHistory, Name, Description, TemplateType, ApplicableEntity, HasPropertyTemplates) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.TemplateType = TemplateType; + this.ApplicableEntity = ApplicableEntity; + this.HasPropertyTemplates = HasPropertyTemplates; + this.type = 492091185; + } + } + IFC4X32.IfcPropertySetTemplate = IfcPropertySetTemplate; + class IfcPropertySingleValue extends IfcSimpleProperty { + constructor(Name, Specification, NominalValue, Unit) { + super(Name, Specification); + this.Name = Name; + this.Specification = Specification; + this.NominalValue = NominalValue; + this.Unit = Unit; + this.type = 3650150729; + } + } + IFC4X32.IfcPropertySingleValue = IfcPropertySingleValue; + class IfcPropertyTableValue extends IfcSimpleProperty { + constructor(Name, Specification, DefiningValues, DefinedValues, Expression, DefiningUnit, DefinedUnit, CurveInterpolation) { + super(Name, Specification); + this.Name = Name; + this.Specification = Specification; + this.DefiningValues = DefiningValues; + this.DefinedValues = DefinedValues; + this.Expression = Expression; + this.DefiningUnit = DefiningUnit; + this.DefinedUnit = DefinedUnit; + this.CurveInterpolation = CurveInterpolation; + this.type = 110355661; + } + } + IFC4X32.IfcPropertyTableValue = IfcPropertyTableValue; + class IfcPropertyTemplate extends IfcPropertyTemplateDefinition { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 3521284610; + } + } + IFC4X32.IfcPropertyTemplate = IfcPropertyTemplate; + class IfcRectangleHollowProfileDef extends IfcRectangleProfileDef { + constructor(ProfileType, ProfileName, Position, XDim, YDim, WallThickness, InnerFilletRadius, OuterFilletRadius) { + super(ProfileType, ProfileName, Position, XDim, YDim); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.WallThickness = WallThickness; + this.InnerFilletRadius = InnerFilletRadius; + this.OuterFilletRadius = OuterFilletRadius; + this.type = 2770003689; + } + } + IFC4X32.IfcRectangleHollowProfileDef = IfcRectangleHollowProfileDef; + class IfcRectangularPyramid extends IfcCsgPrimitive3D { + constructor(Position, XLength, YLength, Height) { + super(Position); + this.Position = Position; + this.XLength = XLength; + this.YLength = YLength; + this.Height = Height; + this.type = 2798486643; + } + } + IFC4X32.IfcRectangularPyramid = IfcRectangularPyramid; + class IfcRectangularTrimmedSurface extends IfcBoundedSurface { + constructor(BasisSurface, U1, V1, U2, V2, Usense, Vsense) { + super(); + this.BasisSurface = BasisSurface; + this.U1 = U1; + this.V1 = V1; + this.U2 = U2; + this.V2 = V2; + this.Usense = Usense; + this.Vsense = Vsense; + this.type = 3454111270; + } + } + IFC4X32.IfcRectangularTrimmedSurface = IfcRectangularTrimmedSurface; + class IfcReinforcementDefinitionProperties extends IfcPreDefinedPropertySet { + constructor(GlobalId, OwnerHistory, Name, Description, DefinitionType, ReinforcementSectionDefinitions) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.DefinitionType = DefinitionType; + this.ReinforcementSectionDefinitions = ReinforcementSectionDefinitions; + this.type = 3765753017; + } + } + IFC4X32.IfcReinforcementDefinitionProperties = IfcReinforcementDefinitionProperties; + class IfcRelAssigns extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.type = 3939117080; + } + } + IFC4X32.IfcRelAssigns = IfcRelAssigns; + class IfcRelAssignsToActor extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingActor = RelatingActor; + this.ActingRole = ActingRole; + this.type = 1683148259; + } + } + IFC4X32.IfcRelAssignsToActor = IfcRelAssignsToActor; + class IfcRelAssignsToControl extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingControl = RelatingControl; + this.type = 2495723537; + } + } + IFC4X32.IfcRelAssignsToControl = IfcRelAssignsToControl; + class IfcRelAssignsToGroup extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingGroup = RelatingGroup; + this.type = 1307041759; + } + } + IFC4X32.IfcRelAssignsToGroup = IfcRelAssignsToGroup; + class IfcRelAssignsToGroupByFactor extends IfcRelAssignsToGroup { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup, Factor) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingGroup = RelatingGroup; + this.Factor = Factor; + this.type = 1027710054; + } + } + IFC4X32.IfcRelAssignsToGroupByFactor = IfcRelAssignsToGroupByFactor; + class IfcRelAssignsToProcess extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProcess, QuantityInProcess) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingProcess = RelatingProcess; + this.QuantityInProcess = QuantityInProcess; + this.type = 4278684876; + } + } + IFC4X32.IfcRelAssignsToProcess = IfcRelAssignsToProcess; + class IfcRelAssignsToProduct extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProduct) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingProduct = RelatingProduct; + this.type = 2857406711; + } + } + IFC4X32.IfcRelAssignsToProduct = IfcRelAssignsToProduct; + class IfcRelAssignsToResource extends IfcRelAssigns { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingResource) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingResource = RelatingResource; + this.type = 205026976; + } + } + IFC4X32.IfcRelAssignsToResource = IfcRelAssignsToResource; + class IfcRelAssociates extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.type = 1865459582; + } + } + IFC4X32.IfcRelAssociates = IfcRelAssociates; + class IfcRelAssociatesApproval extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingApproval) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingApproval = RelatingApproval; + this.type = 4095574036; + } + } + IFC4X32.IfcRelAssociatesApproval = IfcRelAssociatesApproval; + class IfcRelAssociatesClassification extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingClassification) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingClassification = RelatingClassification; + this.type = 919958153; + } + } + IFC4X32.IfcRelAssociatesClassification = IfcRelAssociatesClassification; + class IfcRelAssociatesConstraint extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, Intent, RelatingConstraint) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.Intent = Intent; + this.RelatingConstraint = RelatingConstraint; + this.type = 2728634034; + } + } + IFC4X32.IfcRelAssociatesConstraint = IfcRelAssociatesConstraint; + class IfcRelAssociatesDocument extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingDocument) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingDocument = RelatingDocument; + this.type = 982818633; + } + } + IFC4X32.IfcRelAssociatesDocument = IfcRelAssociatesDocument; + class IfcRelAssociatesLibrary extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingLibrary) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingLibrary = RelatingLibrary; + this.type = 3840914261; + } + } + IFC4X32.IfcRelAssociatesLibrary = IfcRelAssociatesLibrary; + class IfcRelAssociatesMaterial extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingMaterial) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingMaterial = RelatingMaterial; + this.type = 2655215786; + } + } + IFC4X32.IfcRelAssociatesMaterial = IfcRelAssociatesMaterial; + class IfcRelAssociatesProfileDef extends IfcRelAssociates { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingProfileDef) { + super(GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingProfileDef = RelatingProfileDef; + this.type = 1033248425; + } + } + IFC4X32.IfcRelAssociatesProfileDef = IfcRelAssociatesProfileDef; + class IfcRelConnects extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 826625072; + } + } + IFC4X32.IfcRelConnects = IfcRelConnects; + class IfcRelConnectsElements extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.type = 1204542856; + } + } + IFC4X32.IfcRelConnectsElements = IfcRelConnectsElements; + class IfcRelConnectsPathElements extends IfcRelConnectsElements { + constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RelatingPriorities, RelatedPriorities, RelatedConnectionType, RelatingConnectionType) { + super(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.RelatingPriorities = RelatingPriorities; + this.RelatedPriorities = RelatedPriorities; + this.RelatedConnectionType = RelatedConnectionType; + this.RelatingConnectionType = RelatingConnectionType; + this.type = 3945020480; + } + } + IFC4X32.IfcRelConnectsPathElements = IfcRelConnectsPathElements; + class IfcRelConnectsPortToElement extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingPort = RelatingPort; + this.RelatedElement = RelatedElement; + this.type = 4201705270; + } + } + IFC4X32.IfcRelConnectsPortToElement = IfcRelConnectsPortToElement; + class IfcRelConnectsPorts extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedPort, RealizingElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingPort = RelatingPort; + this.RelatedPort = RelatedPort; + this.RealizingElement = RealizingElement; + this.type = 3190031847; + } + } + IFC4X32.IfcRelConnectsPorts = IfcRelConnectsPorts; + class IfcRelConnectsStructuralActivity extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedStructuralActivity) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedStructuralActivity = RelatedStructuralActivity; + this.type = 2127690289; + } + } + IFC4X32.IfcRelConnectsStructuralActivity = IfcRelConnectsStructuralActivity; + class IfcRelConnectsStructuralMember extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingStructuralMember = RelatingStructuralMember; + this.RelatedStructuralConnection = RelatedStructuralConnection; + this.AppliedCondition = AppliedCondition; + this.AdditionalConditions = AdditionalConditions; + this.SupportedLength = SupportedLength; + this.ConditionCoordinateSystem = ConditionCoordinateSystem; + this.type = 1638771189; + } + } + IFC4X32.IfcRelConnectsStructuralMember = IfcRelConnectsStructuralMember; + class IfcRelConnectsWithEccentricity extends IfcRelConnectsStructuralMember { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem, ConnectionConstraint) { + super(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingStructuralMember = RelatingStructuralMember; + this.RelatedStructuralConnection = RelatedStructuralConnection; + this.AppliedCondition = AppliedCondition; + this.AdditionalConditions = AdditionalConditions; + this.SupportedLength = SupportedLength; + this.ConditionCoordinateSystem = ConditionCoordinateSystem; + this.ConnectionConstraint = ConnectionConstraint; + this.type = 504942748; + } + } + IFC4X32.IfcRelConnectsWithEccentricity = IfcRelConnectsWithEccentricity; + class IfcRelConnectsWithRealizingElements extends IfcRelConnectsElements { + constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RealizingElements, ConnectionType) { + super(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.RealizingElements = RealizingElements; + this.ConnectionType = ConnectionType; + this.type = 3678494232; + } + } + IFC4X32.IfcRelConnectsWithRealizingElements = IfcRelConnectsWithRealizingElements; + class IfcRelContainedInSpatialStructure extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedElements = RelatedElements; + this.RelatingStructure = RelatingStructure; + this.type = 3242617779; + } + } + IFC4X32.IfcRelContainedInSpatialStructure = IfcRelContainedInSpatialStructure; + class IfcRelCoversBldgElements extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedCoverings) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingBuildingElement = RelatingBuildingElement; + this.RelatedCoverings = RelatedCoverings; + this.type = 886880790; + } + } + IFC4X32.IfcRelCoversBldgElements = IfcRelCoversBldgElements; + class IfcRelCoversSpaces extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedCoverings) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedCoverings = RelatedCoverings; + this.type = 2802773753; + } + } + IFC4X32.IfcRelCoversSpaces = IfcRelCoversSpaces; + class IfcRelDeclares extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingContext, RelatedDefinitions) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingContext = RelatingContext; + this.RelatedDefinitions = RelatedDefinitions; + this.type = 2565941209; + } + } + IFC4X32.IfcRelDeclares = IfcRelDeclares; + class IfcRelDecomposes extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 2551354335; + } + } + IFC4X32.IfcRelDecomposes = IfcRelDecomposes; + class IfcRelDefines extends IfcRelationship { + constructor(GlobalId, OwnerHistory, Name, Description) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 693640335; + } + } + IFC4X32.IfcRelDefines = IfcRelDefines; + class IfcRelDefinesByObject extends IfcRelDefines { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingObject) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingObject = RelatingObject; + this.type = 1462361463; + } + } + IFC4X32.IfcRelDefinesByObject = IfcRelDefinesByObject; + class IfcRelDefinesByProperties extends IfcRelDefines { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingPropertyDefinition = RelatingPropertyDefinition; + this.type = 4186316022; + } + } + IFC4X32.IfcRelDefinesByProperties = IfcRelDefinesByProperties; + class IfcRelDefinesByTemplate extends IfcRelDefines { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedPropertySets, RelatingTemplate) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedPropertySets = RelatedPropertySets; + this.RelatingTemplate = RelatingTemplate; + this.type = 307848117; + } + } + IFC4X32.IfcRelDefinesByTemplate = IfcRelDefinesByTemplate; + class IfcRelDefinesByType extends IfcRelDefines { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingType) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingType = RelatingType; + this.type = 781010003; + } + } + IFC4X32.IfcRelDefinesByType = IfcRelDefinesByType; + class IfcRelFillsElement extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingOpeningElement, RelatedBuildingElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingOpeningElement = RelatingOpeningElement; + this.RelatedBuildingElement = RelatedBuildingElement; + this.type = 3940055652; + } + } + IFC4X32.IfcRelFillsElement = IfcRelFillsElement; + class IfcRelFlowControlElements extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedControlElements, RelatingFlowElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedControlElements = RelatedControlElements; + this.RelatingFlowElement = RelatingFlowElement; + this.type = 279856033; + } + } + IFC4X32.IfcRelFlowControlElements = IfcRelFlowControlElements; + class IfcRelInterferesElements extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedElement, InterferenceGeometry, InterferenceSpace, InterferenceType, ImpliedOrder) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.InterferenceGeometry = InterferenceGeometry; + this.InterferenceSpace = InterferenceSpace; + this.InterferenceType = InterferenceType; + this.ImpliedOrder = ImpliedOrder; + this.type = 427948657; + } + } + IFC4X32.IfcRelInterferesElements = IfcRelInterferesElements; + class IfcRelNests extends IfcRelDecomposes { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingObject = RelatingObject; + this.RelatedObjects = RelatedObjects; + this.type = 3268803585; + } + } + IFC4X32.IfcRelNests = IfcRelNests; + class IfcRelPositions extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingPositioningElement, RelatedProducts) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingPositioningElement = RelatingPositioningElement; + this.RelatedProducts = RelatedProducts; + this.type = 1441486842; + } + } + IFC4X32.IfcRelPositions = IfcRelPositions; + class IfcRelProjectsElement extends IfcRelDecomposes { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedFeatureElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedFeatureElement = RelatedFeatureElement; + this.type = 750771296; + } + } + IFC4X32.IfcRelProjectsElement = IfcRelProjectsElement; + class IfcRelReferencedInSpatialStructure extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedElements = RelatedElements; + this.RelatingStructure = RelatingStructure; + this.type = 1245217292; + } + } + IFC4X32.IfcRelReferencedInSpatialStructure = IfcRelReferencedInSpatialStructure; + class IfcRelSequence extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingProcess, RelatedProcess, TimeLag, SequenceType, UserDefinedSequenceType) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingProcess = RelatingProcess; + this.RelatedProcess = RelatedProcess; + this.TimeLag = TimeLag; + this.SequenceType = SequenceType; + this.UserDefinedSequenceType = UserDefinedSequenceType; + this.type = 4122056220; + } + } + IFC4X32.IfcRelSequence = IfcRelSequence; + class IfcRelServicesBuildings extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingSystem, RelatedBuildings) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSystem = RelatingSystem; + this.RelatedBuildings = RelatedBuildings; + this.type = 366585022; + } + } + IFC4X32.IfcRelServicesBuildings = IfcRelServicesBuildings; + class IfcRelSpaceBoundary extends IfcRelConnects { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedBuildingElement = RelatedBuildingElement; + this.ConnectionGeometry = ConnectionGeometry; + this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary; + this.InternalOrExternalBoundary = InternalOrExternalBoundary; + this.type = 3451746338; + } + } + IFC4X32.IfcRelSpaceBoundary = IfcRelSpaceBoundary; + class IfcRelSpaceBoundary1stLevel extends IfcRelSpaceBoundary { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary) { + super(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedBuildingElement = RelatedBuildingElement; + this.ConnectionGeometry = ConnectionGeometry; + this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary; + this.InternalOrExternalBoundary = InternalOrExternalBoundary; + this.ParentBoundary = ParentBoundary; + this.type = 3523091289; + } + } + IFC4X32.IfcRelSpaceBoundary1stLevel = IfcRelSpaceBoundary1stLevel; + class IfcRelSpaceBoundary2ndLevel extends IfcRelSpaceBoundary1stLevel { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary, CorrespondingBoundary) { + super(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedBuildingElement = RelatedBuildingElement; + this.ConnectionGeometry = ConnectionGeometry; + this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary; + this.InternalOrExternalBoundary = InternalOrExternalBoundary; + this.ParentBoundary = ParentBoundary; + this.CorrespondingBoundary = CorrespondingBoundary; + this.type = 1521410863; + } + } + IFC4X32.IfcRelSpaceBoundary2ndLevel = IfcRelSpaceBoundary2ndLevel; + class IfcRelVoidsElement extends IfcRelDecomposes { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedOpeningElement) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingBuildingElement = RelatingBuildingElement; + this.RelatedOpeningElement = RelatedOpeningElement; + this.type = 1401173127; + } + } + IFC4X32.IfcRelVoidsElement = IfcRelVoidsElement; + class IfcReparametrisedCompositeCurveSegment extends IfcCompositeCurveSegment { + constructor(Transition, SameSense, ParentCurve, ParamLength) { + super(Transition, SameSense, ParentCurve); + this.Transition = Transition; + this.SameSense = SameSense; + this.ParentCurve = ParentCurve; + this.ParamLength = ParamLength; + this.type = 816062949; + } + } + IFC4X32.IfcReparametrisedCompositeCurveSegment = IfcReparametrisedCompositeCurveSegment; + class IfcResource extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.type = 2914609552; + } + } + IFC4X32.IfcResource = IfcResource; + class IfcRevolvedAreaSolid extends IfcSweptAreaSolid { + constructor(SweptArea, Position, Axis, Angle) { + super(SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.Axis = Axis; + this.Angle = Angle; + this.type = 1856042241; + } + } + IFC4X32.IfcRevolvedAreaSolid = IfcRevolvedAreaSolid; + class IfcRevolvedAreaSolidTapered extends IfcRevolvedAreaSolid { + constructor(SweptArea, Position, Axis, Angle, EndSweptArea) { + super(SweptArea, Position, Axis, Angle); + this.SweptArea = SweptArea; + this.Position = Position; + this.Axis = Axis; + this.Angle = Angle; + this.EndSweptArea = EndSweptArea; + this.type = 3243963512; + } + } + IFC4X32.IfcRevolvedAreaSolidTapered = IfcRevolvedAreaSolidTapered; + class IfcRightCircularCone extends IfcCsgPrimitive3D { + constructor(Position, Height, BottomRadius) { + super(Position); + this.Position = Position; + this.Height = Height; + this.BottomRadius = BottomRadius; + this.type = 4158566097; + } + } + IFC4X32.IfcRightCircularCone = IfcRightCircularCone; + class IfcRightCircularCylinder extends IfcCsgPrimitive3D { + constructor(Position, Height, Radius) { + super(Position); + this.Position = Position; + this.Height = Height; + this.Radius = Radius; + this.type = 3626867408; + } + } + IFC4X32.IfcRightCircularCylinder = IfcRightCircularCylinder; + class IfcSectionedSolid extends IfcSolidModel { + constructor(Directrix, CrossSections) { + super(); + this.Directrix = Directrix; + this.CrossSections = CrossSections; + this.type = 1862484736; + } + } + IFC4X32.IfcSectionedSolid = IfcSectionedSolid; + class IfcSectionedSolidHorizontal extends IfcSectionedSolid { + constructor(Directrix, CrossSections, CrossSectionPositions) { + super(Directrix, CrossSections); + this.Directrix = Directrix; + this.CrossSections = CrossSections; + this.CrossSectionPositions = CrossSectionPositions; + this.type = 1290935644; + } + } + IFC4X32.IfcSectionedSolidHorizontal = IfcSectionedSolidHorizontal; + class IfcSectionedSurface extends IfcSurface { + constructor(Directrix, CrossSectionPositions, CrossSections) { + super(); + this.Directrix = Directrix; + this.CrossSectionPositions = CrossSectionPositions; + this.CrossSections = CrossSections; + this.type = 1356537516; + } + } + IFC4X32.IfcSectionedSurface = IfcSectionedSurface; + class IfcSimplePropertyTemplate extends IfcPropertyTemplate { + constructor(GlobalId, OwnerHistory, Name, Description, TemplateType, PrimaryMeasureType, SecondaryMeasureType, Enumerators, PrimaryUnit, SecondaryUnit, Expression, AccessState) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.TemplateType = TemplateType; + this.PrimaryMeasureType = PrimaryMeasureType; + this.SecondaryMeasureType = SecondaryMeasureType; + this.Enumerators = Enumerators; + this.PrimaryUnit = PrimaryUnit; + this.SecondaryUnit = SecondaryUnit; + this.Expression = Expression; + this.AccessState = AccessState; + this.type = 3663146110; + } + } + IFC4X32.IfcSimplePropertyTemplate = IfcSimplePropertyTemplate; + class IfcSpatialElement extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.type = 1412071761; + } + } + IFC4X32.IfcSpatialElement = IfcSpatialElement; + class IfcSpatialElementType extends IfcTypeProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 710998568; + } + } + IFC4X32.IfcSpatialElementType = IfcSpatialElementType; + class IfcSpatialStructureElement extends IfcSpatialElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.type = 2706606064; + } + } + IFC4X32.IfcSpatialStructureElement = IfcSpatialStructureElement; + class IfcSpatialStructureElementType extends IfcSpatialElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3893378262; + } + } + IFC4X32.IfcSpatialStructureElementType = IfcSpatialStructureElementType; + class IfcSpatialZone extends IfcSpatialElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.PredefinedType = PredefinedType; + this.type = 463610769; + } + } + IFC4X32.IfcSpatialZone = IfcSpatialZone; + class IfcSpatialZoneType extends IfcSpatialElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, LongName) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.LongName = LongName; + this.type = 2481509218; + } + } + IFC4X32.IfcSpatialZoneType = IfcSpatialZoneType; + class IfcSphere extends IfcCsgPrimitive3D { + constructor(Position, Radius) { + super(Position); + this.Position = Position; + this.Radius = Radius; + this.type = 451544542; + } + } + IFC4X32.IfcSphere = IfcSphere; + class IfcSphericalSurface extends IfcElementarySurface { + constructor(Position, Radius) { + super(Position); + this.Position = Position; + this.Radius = Radius; + this.type = 4015995234; + } + } + IFC4X32.IfcSphericalSurface = IfcSphericalSurface; + class IfcSpiral extends IfcCurve { + constructor(Position) { + super(); + this.Position = Position; + this.type = 2735484536; + } + } + IFC4X32.IfcSpiral = IfcSpiral; + class IfcStructuralActivity extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 3544373492; + } + } + IFC4X32.IfcStructuralActivity = IfcStructuralActivity; + class IfcStructuralItem extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 3136571912; + } + } + IFC4X32.IfcStructuralItem = IfcStructuralItem; + class IfcStructuralMember extends IfcStructuralItem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 530289379; + } + } + IFC4X32.IfcStructuralMember = IfcStructuralMember; + class IfcStructuralReaction extends IfcStructuralActivity { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 3689010777; + } + } + IFC4X32.IfcStructuralReaction = IfcStructuralReaction; + class IfcStructuralSurfaceMember extends IfcStructuralMember { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Thickness = Thickness; + this.type = 3979015343; + } + } + IFC4X32.IfcStructuralSurfaceMember = IfcStructuralSurfaceMember; + class IfcStructuralSurfaceMemberVarying extends IfcStructuralSurfaceMember { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Thickness = Thickness; + this.type = 2218152070; + } + } + IFC4X32.IfcStructuralSurfaceMemberVarying = IfcStructuralSurfaceMemberVarying; + class IfcStructuralSurfaceReaction extends IfcStructuralReaction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.PredefinedType = PredefinedType; + this.type = 603775116; + } + } + IFC4X32.IfcStructuralSurfaceReaction = IfcStructuralSurfaceReaction; + class IfcSubContractResourceType extends IfcConstructionResourceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 4095615324; + } + } + IFC4X32.IfcSubContractResourceType = IfcSubContractResourceType; + class IfcSurfaceCurve extends IfcCurve { + constructor(Curve3D, AssociatedGeometry, MasterRepresentation) { + super(); + this.Curve3D = Curve3D; + this.AssociatedGeometry = AssociatedGeometry; + this.MasterRepresentation = MasterRepresentation; + this.type = 699246055; + } + } + IFC4X32.IfcSurfaceCurve = IfcSurfaceCurve; + class IfcSurfaceCurveSweptAreaSolid extends IfcDirectrixCurveSweptAreaSolid { + constructor(SweptArea, Position, Directrix, StartParam, EndParam, ReferenceSurface) { + super(SweptArea, Position, Directrix, StartParam, EndParam); + this.SweptArea = SweptArea; + this.Position = Position; + this.Directrix = Directrix; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.ReferenceSurface = ReferenceSurface; + this.type = 2028607225; + } + } + IFC4X32.IfcSurfaceCurveSweptAreaSolid = IfcSurfaceCurveSweptAreaSolid; + class IfcSurfaceOfLinearExtrusion extends IfcSweptSurface { + constructor(SweptCurve, Position, ExtrudedDirection, Depth) { + super(SweptCurve, Position); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.ExtrudedDirection = ExtrudedDirection; + this.Depth = Depth; + this.type = 2809605785; + } + } + IFC4X32.IfcSurfaceOfLinearExtrusion = IfcSurfaceOfLinearExtrusion; + class IfcSurfaceOfRevolution extends IfcSweptSurface { + constructor(SweptCurve, Position, AxisPosition) { + super(SweptCurve, Position); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.AxisPosition = AxisPosition; + this.type = 4124788165; + } + } + IFC4X32.IfcSurfaceOfRevolution = IfcSurfaceOfRevolution; + class IfcSystemFurnitureElementType extends IfcFurnishingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1580310250; + } + } + IFC4X32.IfcSystemFurnitureElementType = IfcSystemFurnitureElementType; + class IfcTask extends IfcProcess { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Status, WorkMethod, IsMilestone, Priority, TaskTime, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Status = Status; + this.WorkMethod = WorkMethod; + this.IsMilestone = IsMilestone; + this.Priority = Priority; + this.TaskTime = TaskTime; + this.PredefinedType = PredefinedType; + this.type = 3473067441; + } + } + IFC4X32.IfcTask = IfcTask; + class IfcTaskType extends IfcTypeProcess { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType, WorkMethod) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ProcessType = ProcessType; + this.PredefinedType = PredefinedType; + this.WorkMethod = WorkMethod; + this.type = 3206491090; + } + } + IFC4X32.IfcTaskType = IfcTaskType; + class IfcTessellatedFaceSet extends IfcTessellatedItem { + constructor(Coordinates, Closed) { + super(); + this.Coordinates = Coordinates; + this.Closed = Closed; + this.type = 2387106220; + } + } + IFC4X32.IfcTessellatedFaceSet = IfcTessellatedFaceSet; + class IfcThirdOrderPolynomialSpiral extends IfcSpiral { + constructor(Position, CubicTerm, QuadraticTerm, LinearTerm, ConstantTerm) { + super(Position); + this.Position = Position; + this.CubicTerm = CubicTerm; + this.QuadraticTerm = QuadraticTerm; + this.LinearTerm = LinearTerm; + this.ConstantTerm = ConstantTerm; + this.type = 782932809; + } + } + IFC4X32.IfcThirdOrderPolynomialSpiral = IfcThirdOrderPolynomialSpiral; + class IfcToroidalSurface extends IfcElementarySurface { + constructor(Position, MajorRadius, MinorRadius) { + super(Position); + this.Position = Position; + this.MajorRadius = MajorRadius; + this.MinorRadius = MinorRadius; + this.type = 1935646853; + } + } + IFC4X32.IfcToroidalSurface = IfcToroidalSurface; + class IfcTransportationDeviceType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3665877780; + } + } + IFC4X32.IfcTransportationDeviceType = IfcTransportationDeviceType; + class IfcTriangulatedFaceSet extends IfcTessellatedFaceSet { + constructor(Coordinates, Closed, Normals, CoordIndex, PnIndex) { + super(Coordinates, Closed); + this.Coordinates = Coordinates; + this.Closed = Closed; + this.Normals = Normals; + this.CoordIndex = CoordIndex; + this.PnIndex = PnIndex; + this.type = 2916149573; + } + } + IFC4X32.IfcTriangulatedFaceSet = IfcTriangulatedFaceSet; + class IfcTriangulatedIrregularNetwork extends IfcTriangulatedFaceSet { + constructor(Coordinates, Closed, Normals, CoordIndex, PnIndex, Flags) { + super(Coordinates, Closed, Normals, CoordIndex, PnIndex); + this.Coordinates = Coordinates; + this.Closed = Closed; + this.Normals = Normals; + this.CoordIndex = CoordIndex; + this.PnIndex = PnIndex; + this.Flags = Flags; + this.type = 1229763772; + } + } + IFC4X32.IfcTriangulatedIrregularNetwork = IfcTriangulatedIrregularNetwork; + class IfcVehicleType extends IfcTransportationDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3651464721; + } + } + IFC4X32.IfcVehicleType = IfcVehicleType; + class IfcWindowLiningProperties extends IfcPreDefinedPropertySet { + constructor(GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, TransomThickness, MullionThickness, FirstTransomOffset, SecondTransomOffset, FirstMullionOffset, SecondMullionOffset, ShapeAspectStyle, LiningOffset, LiningToPanelOffsetX, LiningToPanelOffsetY) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.LiningDepth = LiningDepth; + this.LiningThickness = LiningThickness; + this.TransomThickness = TransomThickness; + this.MullionThickness = MullionThickness; + this.FirstTransomOffset = FirstTransomOffset; + this.SecondTransomOffset = SecondTransomOffset; + this.FirstMullionOffset = FirstMullionOffset; + this.SecondMullionOffset = SecondMullionOffset; + this.ShapeAspectStyle = ShapeAspectStyle; + this.LiningOffset = LiningOffset; + this.LiningToPanelOffsetX = LiningToPanelOffsetX; + this.LiningToPanelOffsetY = LiningToPanelOffsetY; + this.type = 336235671; + } + } + IFC4X32.IfcWindowLiningProperties = IfcWindowLiningProperties; + class IfcWindowPanelProperties extends IfcPreDefinedPropertySet { + constructor(GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.OperationType = OperationType; + this.PanelPosition = PanelPosition; + this.FrameDepth = FrameDepth; + this.FrameThickness = FrameThickness; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 512836454; + } + } + IFC4X32.IfcWindowPanelProperties = IfcWindowPanelProperties; + class IfcActor extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheActor = TheActor; + this.type = 2296667514; + } + } + IFC4X32.IfcActor = IfcActor; + class IfcAdvancedBrep extends IfcManifoldSolidBrep { + constructor(Outer) { + super(Outer); + this.Outer = Outer; + this.type = 1635779807; + } + } + IFC4X32.IfcAdvancedBrep = IfcAdvancedBrep; + class IfcAdvancedBrepWithVoids extends IfcAdvancedBrep { + constructor(Outer, Voids) { + super(Outer); + this.Outer = Outer; + this.Voids = Voids; + this.type = 2603310189; + } + } + IFC4X32.IfcAdvancedBrepWithVoids = IfcAdvancedBrepWithVoids; + class IfcAnnotation extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.type = 1674181508; + } + } + IFC4X32.IfcAnnotation = IfcAnnotation; + class IfcBSplineSurface extends IfcBoundedSurface { + constructor(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect) { + super(); + this.UDegree = UDegree; + this.VDegree = VDegree; + this.ControlPointsList = ControlPointsList; + this.SurfaceForm = SurfaceForm; + this.UClosed = UClosed; + this.VClosed = VClosed; + this.SelfIntersect = SelfIntersect; + this.type = 2887950389; + } + } + IFC4X32.IfcBSplineSurface = IfcBSplineSurface; + class IfcBSplineSurfaceWithKnots extends IfcBSplineSurface { + constructor(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec) { + super(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect); + this.UDegree = UDegree; + this.VDegree = VDegree; + this.ControlPointsList = ControlPointsList; + this.SurfaceForm = SurfaceForm; + this.UClosed = UClosed; + this.VClosed = VClosed; + this.SelfIntersect = SelfIntersect; + this.UMultiplicities = UMultiplicities; + this.VMultiplicities = VMultiplicities; + this.UKnots = UKnots; + this.VKnots = VKnots; + this.KnotSpec = KnotSpec; + this.type = 167062518; + } + } + IFC4X32.IfcBSplineSurfaceWithKnots = IfcBSplineSurfaceWithKnots; + class IfcBlock extends IfcCsgPrimitive3D { + constructor(Position, XLength, YLength, ZLength) { + super(Position); + this.Position = Position; + this.XLength = XLength; + this.YLength = YLength; + this.ZLength = ZLength; + this.type = 1334484129; + } + } + IFC4X32.IfcBlock = IfcBlock; + class IfcBooleanClippingResult extends IfcBooleanResult { + constructor(Operator, FirstOperand, SecondOperand) { + super(Operator, FirstOperand, SecondOperand); + this.Operator = Operator; + this.FirstOperand = FirstOperand; + this.SecondOperand = SecondOperand; + this.type = 3649129432; + } + } + IFC4X32.IfcBooleanClippingResult = IfcBooleanClippingResult; + class IfcBoundedCurve extends IfcCurve { + constructor() { + super(); + this.type = 1260505505; + } + } + IFC4X32.IfcBoundedCurve = IfcBoundedCurve; + class IfcBuildingStorey extends IfcSpatialStructureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, Elevation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.Elevation = Elevation; + this.type = 3124254112; + } + } + IFC4X32.IfcBuildingStorey = IfcBuildingStorey; + class IfcBuiltElementType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1626504194; + } + } + IFC4X32.IfcBuiltElementType = IfcBuiltElementType; + class IfcChimneyType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2197970202; + } + } + IFC4X32.IfcChimneyType = IfcChimneyType; + class IfcCircleHollowProfileDef extends IfcCircleProfileDef { + constructor(ProfileType, ProfileName, Position, Radius, WallThickness) { + super(ProfileType, ProfileName, Position, Radius); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Radius = Radius; + this.WallThickness = WallThickness; + this.type = 2937912522; + } + } + IFC4X32.IfcCircleHollowProfileDef = IfcCircleHollowProfileDef; + class IfcCivilElementType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3893394355; + } + } + IFC4X32.IfcCivilElementType = IfcCivilElementType; + class IfcClothoid extends IfcSpiral { + constructor(Position, ClothoidConstant) { + super(Position); + this.Position = Position; + this.ClothoidConstant = ClothoidConstant; + this.type = 3497074424; + } + } + IFC4X32.IfcClothoid = IfcClothoid; + class IfcColumnType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 300633059; + } + } + IFC4X32.IfcColumnType = IfcColumnType; + class IfcComplexPropertyTemplate extends IfcPropertyTemplate { + constructor(GlobalId, OwnerHistory, Name, Description, UsageName, TemplateType, HasPropertyTemplates) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.UsageName = UsageName; + this.TemplateType = TemplateType; + this.HasPropertyTemplates = HasPropertyTemplates; + this.type = 3875453745; + } + } + IFC4X32.IfcComplexPropertyTemplate = IfcComplexPropertyTemplate; + class IfcCompositeCurve extends IfcBoundedCurve { + constructor(Segments, SelfIntersect) { + super(); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 3732776249; + } + } + IFC4X32.IfcCompositeCurve = IfcCompositeCurve; + class IfcCompositeCurveOnSurface extends IfcCompositeCurve { + constructor(Segments, SelfIntersect) { + super(Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 15328376; + } + } + IFC4X32.IfcCompositeCurveOnSurface = IfcCompositeCurveOnSurface; + class IfcConic extends IfcCurve { + constructor(Position) { + super(); + this.Position = Position; + this.type = 2510884976; + } + } + IFC4X32.IfcConic = IfcConic; + class IfcConstructionEquipmentResourceType extends IfcConstructionResourceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 2185764099; + } + } + IFC4X32.IfcConstructionEquipmentResourceType = IfcConstructionEquipmentResourceType; + class IfcConstructionMaterialResourceType extends IfcConstructionResourceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 4105962743; + } + } + IFC4X32.IfcConstructionMaterialResourceType = IfcConstructionMaterialResourceType; + class IfcConstructionProductResourceType extends IfcConstructionResourceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 1525564444; + } + } + IFC4X32.IfcConstructionProductResourceType = IfcConstructionProductResourceType; + class IfcConstructionResource extends IfcResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.type = 2559216714; + } + } + IFC4X32.IfcConstructionResource = IfcConstructionResource; + class IfcControl extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.type = 3293443760; + } + } + IFC4X32.IfcControl = IfcControl; + class IfcCosineSpiral extends IfcSpiral { + constructor(Position, CosineTerm, ConstantTerm) { + super(Position); + this.Position = Position; + this.CosineTerm = CosineTerm; + this.ConstantTerm = ConstantTerm; + this.type = 2000195564; + } + } + IFC4X32.IfcCosineSpiral = IfcCosineSpiral; + class IfcCostItem extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, CostValues, CostQuantities) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.CostValues = CostValues; + this.CostQuantities = CostQuantities; + this.type = 3895139033; + } + } + IFC4X32.IfcCostItem = IfcCostItem; + class IfcCostSchedule extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, SubmittedOn, UpdateDate) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.SubmittedOn = SubmittedOn; + this.UpdateDate = UpdateDate; + this.type = 1419761937; + } + } + IFC4X32.IfcCostSchedule = IfcCostSchedule; + class IfcCourseType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4189326743; + } + } + IFC4X32.IfcCourseType = IfcCourseType; + class IfcCoveringType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1916426348; + } + } + IFC4X32.IfcCoveringType = IfcCoveringType; + class IfcCrewResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 3295246426; + } + } + IFC4X32.IfcCrewResource = IfcCrewResource; + class IfcCurtainWallType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1457835157; + } + } + IFC4X32.IfcCurtainWallType = IfcCurtainWallType; + class IfcCylindricalSurface extends IfcElementarySurface { + constructor(Position, Radius) { + super(Position); + this.Position = Position; + this.Radius = Radius; + this.type = 1213902940; + } + } + IFC4X32.IfcCylindricalSurface = IfcCylindricalSurface; + class IfcDeepFoundationType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1306400036; + } + } + IFC4X32.IfcDeepFoundationType = IfcDeepFoundationType; + class IfcDirectrixDerivedReferenceSweptAreaSolid extends IfcFixedReferenceSweptAreaSolid { + constructor(SweptArea, Position, Directrix, StartParam, EndParam, FixedReference) { + super(SweptArea, Position, Directrix, StartParam, EndParam, FixedReference); + this.SweptArea = SweptArea; + this.Position = Position; + this.Directrix = Directrix; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.FixedReference = FixedReference; + this.type = 4234616927; + } + } + IFC4X32.IfcDirectrixDerivedReferenceSweptAreaSolid = IfcDirectrixDerivedReferenceSweptAreaSolid; + class IfcDistributionElementType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3256556792; + } + } + IFC4X32.IfcDistributionElementType = IfcDistributionElementType; + class IfcDistributionFlowElementType extends IfcDistributionElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3849074793; + } + } + IFC4X32.IfcDistributionFlowElementType = IfcDistributionFlowElementType; + class IfcDoorLiningProperties extends IfcPreDefinedPropertySet { + constructor(GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, ThresholdDepth, ThresholdThickness, TransomThickness, TransomOffset, LiningOffset, ThresholdOffset, CasingThickness, CasingDepth, ShapeAspectStyle, LiningToPanelOffsetX, LiningToPanelOffsetY) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.LiningDepth = LiningDepth; + this.LiningThickness = LiningThickness; + this.ThresholdDepth = ThresholdDepth; + this.ThresholdThickness = ThresholdThickness; + this.TransomThickness = TransomThickness; + this.TransomOffset = TransomOffset; + this.LiningOffset = LiningOffset; + this.ThresholdOffset = ThresholdOffset; + this.CasingThickness = CasingThickness; + this.CasingDepth = CasingDepth; + this.ShapeAspectStyle = ShapeAspectStyle; + this.LiningToPanelOffsetX = LiningToPanelOffsetX; + this.LiningToPanelOffsetY = LiningToPanelOffsetY; + this.type = 2963535650; + } + } + IFC4X32.IfcDoorLiningProperties = IfcDoorLiningProperties; + class IfcDoorPanelProperties extends IfcPreDefinedPropertySet { + constructor(GlobalId, OwnerHistory, Name, Description, PanelDepth, PanelOperation, PanelWidth, PanelPosition, ShapeAspectStyle) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.PanelDepth = PanelDepth; + this.PanelOperation = PanelOperation; + this.PanelWidth = PanelWidth; + this.PanelPosition = PanelPosition; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 1714330368; + } + } + IFC4X32.IfcDoorPanelProperties = IfcDoorPanelProperties; + class IfcDoorType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, OperationType, ParameterTakesPrecedence, UserDefinedOperationType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.OperationType = OperationType; + this.ParameterTakesPrecedence = ParameterTakesPrecedence; + this.UserDefinedOperationType = UserDefinedOperationType; + this.type = 2323601079; + } + } + IFC4X32.IfcDoorType = IfcDoorType; + class IfcDraughtingPreDefinedColour extends IfcPreDefinedColour { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 445594917; + } + } + IFC4X32.IfcDraughtingPreDefinedColour = IfcDraughtingPreDefinedColour; + class IfcDraughtingPreDefinedCurveFont extends IfcPreDefinedCurveFont { + constructor(Name) { + super(Name); + this.Name = Name; + this.type = 4006246654; + } + } + IFC4X32.IfcDraughtingPreDefinedCurveFont = IfcDraughtingPreDefinedCurveFont; + class IfcElement extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1758889154; + } + } + IFC4X32.IfcElement = IfcElement; + class IfcElementAssembly extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, AssemblyPlace, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.AssemblyPlace = AssemblyPlace; + this.PredefinedType = PredefinedType; + this.type = 4123344466; + } + } + IFC4X32.IfcElementAssembly = IfcElementAssembly; + class IfcElementAssemblyType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2397081782; + } + } + IFC4X32.IfcElementAssemblyType = IfcElementAssemblyType; + class IfcElementComponent extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1623761950; + } + } + IFC4X32.IfcElementComponent = IfcElementComponent; + class IfcElementComponentType extends IfcElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2590856083; + } + } + IFC4X32.IfcElementComponentType = IfcElementComponentType; + class IfcEllipse extends IfcConic { + constructor(Position, SemiAxis1, SemiAxis2) { + super(Position); + this.Position = Position; + this.SemiAxis1 = SemiAxis1; + this.SemiAxis2 = SemiAxis2; + this.type = 1704287377; + } + } + IFC4X32.IfcEllipse = IfcEllipse; + class IfcEnergyConversionDeviceType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2107101300; + } + } + IFC4X32.IfcEnergyConversionDeviceType = IfcEnergyConversionDeviceType; + class IfcEngineType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 132023988; + } + } + IFC4X32.IfcEngineType = IfcEngineType; + class IfcEvaporativeCoolerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3174744832; + } + } + IFC4X32.IfcEvaporativeCoolerType = IfcEvaporativeCoolerType; + class IfcEvaporatorType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3390157468; + } + } + IFC4X32.IfcEvaporatorType = IfcEvaporatorType; + class IfcEvent extends IfcProcess { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, PredefinedType, EventTriggerType, UserDefinedEventTriggerType, EventOccurenceTime) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.PredefinedType = PredefinedType; + this.EventTriggerType = EventTriggerType; + this.UserDefinedEventTriggerType = UserDefinedEventTriggerType; + this.EventOccurenceTime = EventOccurenceTime; + this.type = 4148101412; + } + } + IFC4X32.IfcEvent = IfcEvent; + class IfcExternalSpatialStructureElement extends IfcSpatialElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.type = 2853485674; + } + } + IFC4X32.IfcExternalSpatialStructureElement = IfcExternalSpatialStructureElement; + class IfcFacetedBrep extends IfcManifoldSolidBrep { + constructor(Outer) { + super(Outer); + this.Outer = Outer; + this.type = 807026263; + } + } + IFC4X32.IfcFacetedBrep = IfcFacetedBrep; + class IfcFacetedBrepWithVoids extends IfcFacetedBrep { + constructor(Outer, Voids) { + super(Outer); + this.Outer = Outer; + this.Voids = Voids; + this.type = 3737207727; + } + } + IFC4X32.IfcFacetedBrepWithVoids = IfcFacetedBrepWithVoids; + class IfcFacility extends IfcSpatialStructureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.type = 24185140; + } + } + IFC4X32.IfcFacility = IfcFacility; + class IfcFacilityPart extends IfcSpatialStructureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.UsageType = UsageType; + this.type = 1310830890; + } + } + IFC4X32.IfcFacilityPart = IfcFacilityPart; + class IfcFacilityPartCommon extends IfcFacilityPart { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.UsageType = UsageType; + this.PredefinedType = PredefinedType; + this.type = 4228831410; + } + } + IFC4X32.IfcFacilityPartCommon = IfcFacilityPartCommon; + class IfcFastener extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 647756555; + } + } + IFC4X32.IfcFastener = IfcFastener; + class IfcFastenerType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2489546625; + } + } + IFC4X32.IfcFastenerType = IfcFastenerType; + class IfcFeatureElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2827207264; + } + } + IFC4X32.IfcFeatureElement = IfcFeatureElement; + class IfcFeatureElementAddition extends IfcFeatureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2143335405; + } + } + IFC4X32.IfcFeatureElementAddition = IfcFeatureElementAddition; + class IfcFeatureElementSubtraction extends IfcFeatureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1287392070; + } + } + IFC4X32.IfcFeatureElementSubtraction = IfcFeatureElementSubtraction; + class IfcFlowControllerType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3907093117; + } + } + IFC4X32.IfcFlowControllerType = IfcFlowControllerType; + class IfcFlowFittingType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3198132628; + } + } + IFC4X32.IfcFlowFittingType = IfcFlowFittingType; + class IfcFlowMeterType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3815607619; + } + } + IFC4X32.IfcFlowMeterType = IfcFlowMeterType; + class IfcFlowMovingDeviceType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1482959167; + } + } + IFC4X32.IfcFlowMovingDeviceType = IfcFlowMovingDeviceType; + class IfcFlowSegmentType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1834744321; + } + } + IFC4X32.IfcFlowSegmentType = IfcFlowSegmentType; + class IfcFlowStorageDeviceType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1339347760; + } + } + IFC4X32.IfcFlowStorageDeviceType = IfcFlowStorageDeviceType; + class IfcFlowTerminalType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2297155007; + } + } + IFC4X32.IfcFlowTerminalType = IfcFlowTerminalType; + class IfcFlowTreatmentDeviceType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3009222698; + } + } + IFC4X32.IfcFlowTreatmentDeviceType = IfcFlowTreatmentDeviceType; + class IfcFootingType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1893162501; + } + } + IFC4X32.IfcFootingType = IfcFootingType; + class IfcFurnishingElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 263784265; + } + } + IFC4X32.IfcFurnishingElement = IfcFurnishingElement; + class IfcFurniture extends IfcFurnishingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1509553395; + } + } + IFC4X32.IfcFurniture = IfcFurniture; + class IfcGeographicElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3493046030; + } + } + IFC4X32.IfcGeographicElement = IfcGeographicElement; + class IfcGeotechnicalElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 4230923436; + } + } + IFC4X32.IfcGeotechnicalElement = IfcGeotechnicalElement; + class IfcGeotechnicalStratum extends IfcGeotechnicalElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1594536857; + } + } + IFC4X32.IfcGeotechnicalStratum = IfcGeotechnicalStratum; + class IfcGradientCurve extends IfcCompositeCurve { + constructor(Segments, SelfIntersect, BaseCurve, EndPoint) { + super(Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.BaseCurve = BaseCurve; + this.EndPoint = EndPoint; + this.type = 2898700619; + } + } + IFC4X32.IfcGradientCurve = IfcGradientCurve; + class IfcGroup extends IfcObject { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2706460486; + } + } + IFC4X32.IfcGroup = IfcGroup; + class IfcHeatExchangerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1251058090; + } + } + IFC4X32.IfcHeatExchangerType = IfcHeatExchangerType; + class IfcHumidifierType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1806887404; + } + } + IFC4X32.IfcHumidifierType = IfcHumidifierType; + class IfcImpactProtectionDevice extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2568555532; + } + } + IFC4X32.IfcImpactProtectionDevice = IfcImpactProtectionDevice; + class IfcImpactProtectionDeviceType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3948183225; + } + } + IFC4X32.IfcImpactProtectionDeviceType = IfcImpactProtectionDeviceType; + class IfcIndexedPolyCurve extends IfcBoundedCurve { + constructor(Points, Segments, SelfIntersect) { + super(); + this.Points = Points; + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 2571569899; + } + } + IFC4X32.IfcIndexedPolyCurve = IfcIndexedPolyCurve; + class IfcInterceptorType extends IfcFlowTreatmentDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3946677679; + } + } + IFC4X32.IfcInterceptorType = IfcInterceptorType; + class IfcIntersectionCurve extends IfcSurfaceCurve { + constructor(Curve3D, AssociatedGeometry, MasterRepresentation) { + super(Curve3D, AssociatedGeometry, MasterRepresentation); + this.Curve3D = Curve3D; + this.AssociatedGeometry = AssociatedGeometry; + this.MasterRepresentation = MasterRepresentation; + this.type = 3113134337; + } + } + IFC4X32.IfcIntersectionCurve = IfcIntersectionCurve; + class IfcInventory extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, Jurisdiction, ResponsiblePersons, LastUpdateDate, CurrentValue, OriginalValue) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.Jurisdiction = Jurisdiction; + this.ResponsiblePersons = ResponsiblePersons; + this.LastUpdateDate = LastUpdateDate; + this.CurrentValue = CurrentValue; + this.OriginalValue = OriginalValue; + this.type = 2391368822; + } + } + IFC4X32.IfcInventory = IfcInventory; + class IfcJunctionBoxType extends IfcFlowFittingType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4288270099; + } + } + IFC4X32.IfcJunctionBoxType = IfcJunctionBoxType; + class IfcKerbType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, Mountable) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.Mountable = Mountable; + this.type = 679976338; + } + } + IFC4X32.IfcKerbType = IfcKerbType; + class IfcLaborResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 3827777499; + } + } + IFC4X32.IfcLaborResource = IfcLaborResource; + class IfcLampType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1051575348; + } + } + IFC4X32.IfcLampType = IfcLampType; + class IfcLightFixtureType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1161773419; + } + } + IFC4X32.IfcLightFixtureType = IfcLightFixtureType; + class IfcLinearElement extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 2176059722; + } + } + IFC4X32.IfcLinearElement = IfcLinearElement; + class IfcLiquidTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1770583370; + } + } + IFC4X32.IfcLiquidTerminalType = IfcLiquidTerminalType; + class IfcMarineFacility extends IfcFacility { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.PredefinedType = PredefinedType; + this.type = 525669439; + } + } + IFC4X32.IfcMarineFacility = IfcMarineFacility; + class IfcMarinePart extends IfcFacilityPart { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.UsageType = UsageType; + this.PredefinedType = PredefinedType; + this.type = 976884017; + } + } + IFC4X32.IfcMarinePart = IfcMarinePart; + class IfcMechanicalFastener extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NominalDiameter, NominalLength, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.NominalDiameter = NominalDiameter; + this.NominalLength = NominalLength; + this.PredefinedType = PredefinedType; + this.type = 377706215; + } + } + IFC4X32.IfcMechanicalFastener = IfcMechanicalFastener; + class IfcMechanicalFastenerType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, NominalLength) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.NominalLength = NominalLength; + this.type = 2108223431; + } + } + IFC4X32.IfcMechanicalFastenerType = IfcMechanicalFastenerType; + class IfcMedicalDeviceType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1114901282; + } + } + IFC4X32.IfcMedicalDeviceType = IfcMedicalDeviceType; + class IfcMemberType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3181161470; + } + } + IFC4X32.IfcMemberType = IfcMemberType; + class IfcMobileTelecommunicationsApplianceType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1950438474; + } + } + IFC4X32.IfcMobileTelecommunicationsApplianceType = IfcMobileTelecommunicationsApplianceType; + class IfcMooringDeviceType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 710110818; + } + } + IFC4X32.IfcMooringDeviceType = IfcMooringDeviceType; + class IfcMotorConnectionType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 977012517; + } + } + IFC4X32.IfcMotorConnectionType = IfcMotorConnectionType; + class IfcNavigationElementType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 506776471; + } + } + IFC4X32.IfcNavigationElementType = IfcNavigationElementType; + class IfcOccupant extends IfcActor { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheActor = TheActor; + this.PredefinedType = PredefinedType; + this.type = 4143007308; + } + } + IFC4X32.IfcOccupant = IfcOccupant; + class IfcOpeningElement extends IfcFeatureElementSubtraction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3588315303; + } + } + IFC4X32.IfcOpeningElement = IfcOpeningElement; + class IfcOutletType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2837617999; + } + } + IFC4X32.IfcOutletType = IfcOutletType; + class IfcPavementType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 514975943; + } + } + IFC4X32.IfcPavementType = IfcPavementType; + class IfcPerformanceHistory extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LifeCyclePhase, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LifeCyclePhase = LifeCyclePhase; + this.PredefinedType = PredefinedType; + this.type = 2382730787; + } + } + IFC4X32.IfcPerformanceHistory = IfcPerformanceHistory; + class IfcPermeableCoveringProperties extends IfcPreDefinedPropertySet { + constructor(GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.OperationType = OperationType; + this.PanelPosition = PanelPosition; + this.FrameDepth = FrameDepth; + this.FrameThickness = FrameThickness; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 3566463478; + } + } + IFC4X32.IfcPermeableCoveringProperties = IfcPermeableCoveringProperties; + class IfcPermit extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.LongDescription = LongDescription; + this.type = 3327091369; + } + } + IFC4X32.IfcPermit = IfcPermit; + class IfcPileType extends IfcDeepFoundationType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1158309216; + } + } + IFC4X32.IfcPileType = IfcPileType; + class IfcPipeFittingType extends IfcFlowFittingType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 804291784; + } + } + IFC4X32.IfcPipeFittingType = IfcPipeFittingType; + class IfcPipeSegmentType extends IfcFlowSegmentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4231323485; + } + } + IFC4X32.IfcPipeSegmentType = IfcPipeSegmentType; + class IfcPlateType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4017108033; + } + } + IFC4X32.IfcPlateType = IfcPlateType; + class IfcPolygonalFaceSet extends IfcTessellatedFaceSet { + constructor(Coordinates, Closed, Faces, PnIndex) { + super(Coordinates, Closed); + this.Coordinates = Coordinates; + this.Closed = Closed; + this.Faces = Faces; + this.PnIndex = PnIndex; + this.type = 2839578677; + } + } + IFC4X32.IfcPolygonalFaceSet = IfcPolygonalFaceSet; + class IfcPolyline extends IfcBoundedCurve { + constructor(Points) { + super(); + this.Points = Points; + this.type = 3724593414; + } + } + IFC4X32.IfcPolyline = IfcPolyline; + class IfcPort extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 3740093272; + } + } + IFC4X32.IfcPort = IfcPort; + class IfcPositioningElement extends IfcProduct { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 1946335990; + } + } + IFC4X32.IfcPositioningElement = IfcPositioningElement; + class IfcProcedure extends IfcProcess { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.PredefinedType = PredefinedType; + this.type = 2744685151; + } + } + IFC4X32.IfcProcedure = IfcProcedure; + class IfcProjectOrder extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.LongDescription = LongDescription; + this.type = 2904328755; + } + } + IFC4X32.IfcProjectOrder = IfcProjectOrder; + class IfcProjectionElement extends IfcFeatureElementAddition { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3651124850; + } + } + IFC4X32.IfcProjectionElement = IfcProjectionElement; + class IfcProtectiveDeviceType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1842657554; + } + } + IFC4X32.IfcProtectiveDeviceType = IfcProtectiveDeviceType; + class IfcPumpType extends IfcFlowMovingDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2250791053; + } + } + IFC4X32.IfcPumpType = IfcPumpType; + class IfcRailType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1763565496; + } + } + IFC4X32.IfcRailType = IfcRailType; + class IfcRailingType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2893384427; + } + } + IFC4X32.IfcRailingType = IfcRailingType; + class IfcRailway extends IfcFacility { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.PredefinedType = PredefinedType; + this.type = 3992365140; + } + } + IFC4X32.IfcRailway = IfcRailway; + class IfcRailwayPart extends IfcFacilityPart { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.UsageType = UsageType; + this.PredefinedType = PredefinedType; + this.type = 1891881377; + } + } + IFC4X32.IfcRailwayPart = IfcRailwayPart; + class IfcRampFlightType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2324767716; + } + } + IFC4X32.IfcRampFlightType = IfcRampFlightType; + class IfcRampType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1469900589; + } + } + IFC4X32.IfcRampType = IfcRampType; + class IfcRationalBSplineSurfaceWithKnots extends IfcBSplineSurfaceWithKnots { + constructor(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec, WeightsData) { + super(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec); + this.UDegree = UDegree; + this.VDegree = VDegree; + this.ControlPointsList = ControlPointsList; + this.SurfaceForm = SurfaceForm; + this.UClosed = UClosed; + this.VClosed = VClosed; + this.SelfIntersect = SelfIntersect; + this.UMultiplicities = UMultiplicities; + this.VMultiplicities = VMultiplicities; + this.UKnots = UKnots; + this.VKnots = VKnots; + this.KnotSpec = KnotSpec; + this.WeightsData = WeightsData; + this.type = 683857671; + } + } + IFC4X32.IfcRationalBSplineSurfaceWithKnots = IfcRationalBSplineSurfaceWithKnots; + class IfcReferent extends IfcPositioningElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.type = 4021432810; + } + } + IFC4X32.IfcReferent = IfcReferent; + class IfcReinforcingElement extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.type = 3027567501; + } + } + IFC4X32.IfcReinforcingElement = IfcReinforcingElement; + class IfcReinforcingElementType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 964333572; + } + } + IFC4X32.IfcReinforcingElementType = IfcReinforcingElementType; + class IfcReinforcingMesh extends IfcReinforcingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.MeshLength = MeshLength; + this.MeshWidth = MeshWidth; + this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter; + this.TransverseBarNominalDiameter = TransverseBarNominalDiameter; + this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea; + this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea; + this.LongitudinalBarSpacing = LongitudinalBarSpacing; + this.TransverseBarSpacing = TransverseBarSpacing; + this.PredefinedType = PredefinedType; + this.type = 2320036040; + } + } + IFC4X32.IfcReinforcingMesh = IfcReinforcingMesh; + class IfcReinforcingMeshType extends IfcReinforcingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing, BendingShapeCode, BendingParameters) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.MeshLength = MeshLength; + this.MeshWidth = MeshWidth; + this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter; + this.TransverseBarNominalDiameter = TransverseBarNominalDiameter; + this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea; + this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea; + this.LongitudinalBarSpacing = LongitudinalBarSpacing; + this.TransverseBarSpacing = TransverseBarSpacing; + this.BendingShapeCode = BendingShapeCode; + this.BendingParameters = BendingParameters; + this.type = 2310774935; + } + } + IFC4X32.IfcReinforcingMeshType = IfcReinforcingMeshType; + class IfcRelAdheresToElement extends IfcRelDecomposes { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedSurfaceFeatures) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedSurfaceFeatures = RelatedSurfaceFeatures; + this.type = 3818125796; + } + } + IFC4X32.IfcRelAdheresToElement = IfcRelAdheresToElement; + class IfcRelAggregates extends IfcRelDecomposes { + constructor(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) { + super(GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingObject = RelatingObject; + this.RelatedObjects = RelatedObjects; + this.type = 160246688; + } + } + IFC4X32.IfcRelAggregates = IfcRelAggregates; + class IfcRoad extends IfcFacility { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.PredefinedType = PredefinedType; + this.type = 146592293; + } + } + IFC4X32.IfcRoad = IfcRoad; + class IfcRoadPart extends IfcFacilityPart { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.UsageType = UsageType; + this.PredefinedType = PredefinedType; + this.type = 550521510; + } + } + IFC4X32.IfcRoadPart = IfcRoadPart; + class IfcRoofType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2781568857; + } + } + IFC4X32.IfcRoofType = IfcRoofType; + class IfcSanitaryTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1768891740; + } + } + IFC4X32.IfcSanitaryTerminalType = IfcSanitaryTerminalType; + class IfcSeamCurve extends IfcSurfaceCurve { + constructor(Curve3D, AssociatedGeometry, MasterRepresentation) { + super(Curve3D, AssociatedGeometry, MasterRepresentation); + this.Curve3D = Curve3D; + this.AssociatedGeometry = AssociatedGeometry; + this.MasterRepresentation = MasterRepresentation; + this.type = 2157484638; + } + } + IFC4X32.IfcSeamCurve = IfcSeamCurve; + class IfcSecondOrderPolynomialSpiral extends IfcSpiral { + constructor(Position, QuadraticTerm, LinearTerm, ConstantTerm) { + super(Position); + this.Position = Position; + this.QuadraticTerm = QuadraticTerm; + this.LinearTerm = LinearTerm; + this.ConstantTerm = ConstantTerm; + this.type = 3649235739; + } + } + IFC4X32.IfcSecondOrderPolynomialSpiral = IfcSecondOrderPolynomialSpiral; + class IfcSegmentedReferenceCurve extends IfcCompositeCurve { + constructor(Segments, SelfIntersect, BaseCurve, EndPoint) { + super(Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.BaseCurve = BaseCurve; + this.EndPoint = EndPoint; + this.type = 544395925; + } + } + IFC4X32.IfcSegmentedReferenceCurve = IfcSegmentedReferenceCurve; + class IfcSeventhOrderPolynomialSpiral extends IfcSpiral { + constructor(Position, SepticTerm, SexticTerm, QuinticTerm, QuarticTerm, CubicTerm, QuadraticTerm, LinearTerm, ConstantTerm) { + super(Position); + this.Position = Position; + this.SepticTerm = SepticTerm; + this.SexticTerm = SexticTerm; + this.QuinticTerm = QuinticTerm; + this.QuarticTerm = QuarticTerm; + this.CubicTerm = CubicTerm; + this.QuadraticTerm = QuadraticTerm; + this.LinearTerm = LinearTerm; + this.ConstantTerm = ConstantTerm; + this.type = 1027922057; + } + } + IFC4X32.IfcSeventhOrderPolynomialSpiral = IfcSeventhOrderPolynomialSpiral; + class IfcShadingDeviceType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4074543187; + } + } + IFC4X32.IfcShadingDeviceType = IfcShadingDeviceType; + class IfcSign extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 33720170; + } + } + IFC4X32.IfcSign = IfcSign; + class IfcSignType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3599934289; + } + } + IFC4X32.IfcSignType = IfcSignType; + class IfcSignalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1894708472; + } + } + IFC4X32.IfcSignalType = IfcSignalType; + class IfcSineSpiral extends IfcSpiral { + constructor(Position, SineTerm, LinearTerm, ConstantTerm) { + super(Position); + this.Position = Position; + this.SineTerm = SineTerm; + this.LinearTerm = LinearTerm; + this.ConstantTerm = ConstantTerm; + this.type = 42703149; + } + } + IFC4X32.IfcSineSpiral = IfcSineSpiral; + class IfcSite extends IfcSpatialStructureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, RefLatitude, RefLongitude, RefElevation, LandTitleNumber, SiteAddress) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.RefLatitude = RefLatitude; + this.RefLongitude = RefLongitude; + this.RefElevation = RefElevation; + this.LandTitleNumber = LandTitleNumber; + this.SiteAddress = SiteAddress; + this.type = 4097777520; + } + } + IFC4X32.IfcSite = IfcSite; + class IfcSlabType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2533589738; + } + } + IFC4X32.IfcSlabType = IfcSlabType; + class IfcSolarDeviceType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1072016465; + } + } + IFC4X32.IfcSolarDeviceType = IfcSolarDeviceType; + class IfcSpace extends IfcSpatialStructureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType, ElevationWithFlooring) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.PredefinedType = PredefinedType; + this.ElevationWithFlooring = ElevationWithFlooring; + this.type = 3856911033; + } + } + IFC4X32.IfcSpace = IfcSpace; + class IfcSpaceHeaterType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1305183839; + } + } + IFC4X32.IfcSpaceHeaterType = IfcSpaceHeaterType; + class IfcSpaceType extends IfcSpatialStructureElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, LongName) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.LongName = LongName; + this.type = 3812236995; + } + } + IFC4X32.IfcSpaceType = IfcSpaceType; + class IfcStackTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3112655638; + } + } + IFC4X32.IfcStackTerminalType = IfcStackTerminalType; + class IfcStairFlightType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1039846685; + } + } + IFC4X32.IfcStairFlightType = IfcStairFlightType; + class IfcStairType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 338393293; + } + } + IFC4X32.IfcStairType = IfcStairType; + class IfcStructuralAction extends IfcStructuralActivity { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.type = 682877961; + } + } + IFC4X32.IfcStructuralAction = IfcStructuralAction; + class IfcStructuralConnection extends IfcStructuralItem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.type = 1179482911; + } + } + IFC4X32.IfcStructuralConnection = IfcStructuralConnection; + class IfcStructuralCurveAction extends IfcStructuralAction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.ProjectedOrTrue = ProjectedOrTrue; + this.PredefinedType = PredefinedType; + this.type = 1004757350; + } + } + IFC4X32.IfcStructuralCurveAction = IfcStructuralCurveAction; + class IfcStructuralCurveConnection extends IfcStructuralConnection { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition, AxisDirection) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.AxisDirection = AxisDirection; + this.type = 4243806635; + } + } + IFC4X32.IfcStructuralCurveConnection = IfcStructuralCurveConnection; + class IfcStructuralCurveMember extends IfcStructuralMember { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Axis = Axis; + this.type = 214636428; + } + } + IFC4X32.IfcStructuralCurveMember = IfcStructuralCurveMember; + class IfcStructuralCurveMemberVarying extends IfcStructuralCurveMember { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Axis = Axis; + this.type = 2445595289; + } + } + IFC4X32.IfcStructuralCurveMemberVarying = IfcStructuralCurveMemberVarying; + class IfcStructuralCurveReaction extends IfcStructuralReaction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.PredefinedType = PredefinedType; + this.type = 2757150158; + } + } + IFC4X32.IfcStructuralCurveReaction = IfcStructuralCurveReaction; + class IfcStructuralLinearAction extends IfcStructuralCurveAction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.ProjectedOrTrue = ProjectedOrTrue; + this.PredefinedType = PredefinedType; + this.type = 1807405624; + } + } + IFC4X32.IfcStructuralLinearAction = IfcStructuralLinearAction; + class IfcStructuralLoadGroup extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.ActionType = ActionType; + this.ActionSource = ActionSource; + this.Coefficient = Coefficient; + this.Purpose = Purpose; + this.type = 1252848954; + } + } + IFC4X32.IfcStructuralLoadGroup = IfcStructuralLoadGroup; + class IfcStructuralPointAction extends IfcStructuralAction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.type = 2082059205; + } + } + IFC4X32.IfcStructuralPointAction = IfcStructuralPointAction; + class IfcStructuralPointConnection extends IfcStructuralConnection { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition, ConditionCoordinateSystem) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.ConditionCoordinateSystem = ConditionCoordinateSystem; + this.type = 734778138; + } + } + IFC4X32.IfcStructuralPointConnection = IfcStructuralPointConnection; + class IfcStructuralPointReaction extends IfcStructuralReaction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 1235345126; + } + } + IFC4X32.IfcStructuralPointReaction = IfcStructuralPointReaction; + class IfcStructuralResultGroup extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheoryType, ResultForLoadGroup, IsLinear) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheoryType = TheoryType; + this.ResultForLoadGroup = ResultForLoadGroup; + this.IsLinear = IsLinear; + this.type = 2986769608; + } + } + IFC4X32.IfcStructuralResultGroup = IfcStructuralResultGroup; + class IfcStructuralSurfaceAction extends IfcStructuralAction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.ProjectedOrTrue = ProjectedOrTrue; + this.PredefinedType = PredefinedType; + this.type = 3657597509; + } + } + IFC4X32.IfcStructuralSurfaceAction = IfcStructuralSurfaceAction; + class IfcStructuralSurfaceConnection extends IfcStructuralConnection { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.type = 1975003073; + } + } + IFC4X32.IfcStructuralSurfaceConnection = IfcStructuralSurfaceConnection; + class IfcSubContractResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 148013059; + } + } + IFC4X32.IfcSubContractResource = IfcSubContractResource; + class IfcSurfaceFeature extends IfcFeatureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3101698114; + } + } + IFC4X32.IfcSurfaceFeature = IfcSurfaceFeature; + class IfcSwitchingDeviceType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2315554128; + } + } + IFC4X32.IfcSwitchingDeviceType = IfcSwitchingDeviceType; + class IfcSystem extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2254336722; + } + } + IFC4X32.IfcSystem = IfcSystem; + class IfcSystemFurnitureElement extends IfcFurnishingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 413509423; + } + } + IFC4X32.IfcSystemFurnitureElement = IfcSystemFurnitureElement; + class IfcTankType extends IfcFlowStorageDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 5716631; + } + } + IFC4X32.IfcTankType = IfcTankType; + class IfcTendon extends IfcReinforcingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType, NominalDiameter, CrossSectionArea, TensionForce, PreStress, FrictionCoefficient, AnchorageSlip, MinCurvatureRadius) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.TensionForce = TensionForce; + this.PreStress = PreStress; + this.FrictionCoefficient = FrictionCoefficient; + this.AnchorageSlip = AnchorageSlip; + this.MinCurvatureRadius = MinCurvatureRadius; + this.type = 3824725483; + } + } + IFC4X32.IfcTendon = IfcTendon; + class IfcTendonAnchor extends IfcReinforcingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.PredefinedType = PredefinedType; + this.type = 2347447852; + } + } + IFC4X32.IfcTendonAnchor = IfcTendonAnchor; + class IfcTendonAnchorType extends IfcReinforcingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3081323446; + } + } + IFC4X32.IfcTendonAnchorType = IfcTendonAnchorType; + class IfcTendonConduit extends IfcReinforcingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.PredefinedType = PredefinedType; + this.type = 3663046924; + } + } + IFC4X32.IfcTendonConduit = IfcTendonConduit; + class IfcTendonConduitType extends IfcReinforcingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2281632017; + } + } + IFC4X32.IfcTendonConduitType = IfcTendonConduitType; + class IfcTendonType extends IfcReinforcingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, CrossSectionArea, SheathDiameter) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.SheathDiameter = SheathDiameter; + this.type = 2415094496; + } + } + IFC4X32.IfcTendonType = IfcTendonType; + class IfcTrackElementType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 618700268; + } + } + IFC4X32.IfcTrackElementType = IfcTrackElementType; + class IfcTransformerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1692211062; + } + } + IFC4X32.IfcTransformerType = IfcTransformerType; + class IfcTransportElementType extends IfcTransportationDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2097647324; + } + } + IFC4X32.IfcTransportElementType = IfcTransportElementType; + class IfcTransportationDevice extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1953115116; + } + } + IFC4X32.IfcTransportationDevice = IfcTransportationDevice; + class IfcTrimmedCurve extends IfcBoundedCurve { + constructor(BasisCurve, Trim1, Trim2, SenseAgreement, MasterRepresentation) { + super(); + this.BasisCurve = BasisCurve; + this.Trim1 = Trim1; + this.Trim2 = Trim2; + this.SenseAgreement = SenseAgreement; + this.MasterRepresentation = MasterRepresentation; + this.type = 3593883385; + } + } + IFC4X32.IfcTrimmedCurve = IfcTrimmedCurve; + class IfcTubeBundleType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1600972822; + } + } + IFC4X32.IfcTubeBundleType = IfcTubeBundleType; + class IfcUnitaryEquipmentType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1911125066; + } + } + IFC4X32.IfcUnitaryEquipmentType = IfcUnitaryEquipmentType; + class IfcValveType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 728799441; + } + } + IFC4X32.IfcValveType = IfcValveType; + class IfcVehicle extends IfcTransportationDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 840318589; + } + } + IFC4X32.IfcVehicle = IfcVehicle; + class IfcVibrationDamper extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1530820697; + } + } + IFC4X32.IfcVibrationDamper = IfcVibrationDamper; + class IfcVibrationDamperType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3956297820; + } + } + IFC4X32.IfcVibrationDamperType = IfcVibrationDamperType; + class IfcVibrationIsolator extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2391383451; + } + } + IFC4X32.IfcVibrationIsolator = IfcVibrationIsolator; + class IfcVibrationIsolatorType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3313531582; + } + } + IFC4X32.IfcVibrationIsolatorType = IfcVibrationIsolatorType; + class IfcVirtualElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2769231204; + } + } + IFC4X32.IfcVirtualElement = IfcVirtualElement; + class IfcVoidingFeature extends IfcFeatureElementSubtraction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 926996030; + } + } + IFC4X32.IfcVoidingFeature = IfcVoidingFeature; + class IfcWallType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1898987631; + } + } + IFC4X32.IfcWallType = IfcWallType; + class IfcWasteTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1133259667; + } + } + IFC4X32.IfcWasteTerminalType = IfcWasteTerminalType; + class IfcWindowType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, PartitioningType, ParameterTakesPrecedence, UserDefinedPartitioningType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.PartitioningType = PartitioningType; + this.ParameterTakesPrecedence = ParameterTakesPrecedence; + this.UserDefinedPartitioningType = UserDefinedPartitioningType; + this.type = 4009809668; + } + } + IFC4X32.IfcWindowType = IfcWindowType; + class IfcWorkCalendar extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, WorkingTimes, ExceptionTimes, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.WorkingTimes = WorkingTimes; + this.ExceptionTimes = ExceptionTimes; + this.PredefinedType = PredefinedType; + this.type = 4088093105; + } + } + IFC4X32.IfcWorkCalendar = IfcWorkCalendar; + class IfcWorkControl extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.type = 1028945134; + } + } + IFC4X32.IfcWorkControl = IfcWorkControl; + class IfcWorkPlan extends IfcWorkControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.PredefinedType = PredefinedType; + this.type = 4218914973; + } + } + IFC4X32.IfcWorkPlan = IfcWorkPlan; + class IfcWorkSchedule extends IfcWorkControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.PredefinedType = PredefinedType; + this.type = 3342526732; + } + } + IFC4X32.IfcWorkSchedule = IfcWorkSchedule; + class IfcZone extends IfcSystem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.type = 1033361043; + } + } + IFC4X32.IfcZone = IfcZone; + class IfcActionRequest extends IfcControl { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.LongDescription = LongDescription; + this.type = 3821786052; + } + } + IFC4X32.IfcActionRequest = IfcActionRequest; + class IfcAirTerminalBoxType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1411407467; + } + } + IFC4X32.IfcAirTerminalBoxType = IfcAirTerminalBoxType; + class IfcAirTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3352864051; + } + } + IFC4X32.IfcAirTerminalType = IfcAirTerminalType; + class IfcAirToAirHeatRecoveryType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1871374353; + } + } + IFC4X32.IfcAirToAirHeatRecoveryType = IfcAirToAirHeatRecoveryType; + class IfcAlignmentCant extends IfcLinearElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, RailHeadDistance) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.RailHeadDistance = RailHeadDistance; + this.type = 4266260250; + } + } + IFC4X32.IfcAlignmentCant = IfcAlignmentCant; + class IfcAlignmentHorizontal extends IfcLinearElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 1545765605; + } + } + IFC4X32.IfcAlignmentHorizontal = IfcAlignmentHorizontal; + class IfcAlignmentSegment extends IfcLinearElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, DesignParameters) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.DesignParameters = DesignParameters; + this.type = 317615605; + } + } + IFC4X32.IfcAlignmentSegment = IfcAlignmentSegment; + class IfcAlignmentVertical extends IfcLinearElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 1662888072; + } + } + IFC4X32.IfcAlignmentVertical = IfcAlignmentVertical; + class IfcAsset extends IfcGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, OriginalValue, CurrentValue, TotalReplacementCost, Owner, User, ResponsiblePerson, IncorporationDate, DepreciatedValue) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.OriginalValue = OriginalValue; + this.CurrentValue = CurrentValue; + this.TotalReplacementCost = TotalReplacementCost; + this.Owner = Owner; + this.User = User; + this.ResponsiblePerson = ResponsiblePerson; + this.IncorporationDate = IncorporationDate; + this.DepreciatedValue = DepreciatedValue; + this.type = 3460190687; + } + } + IFC4X32.IfcAsset = IfcAsset; + class IfcAudioVisualApplianceType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1532957894; + } + } + IFC4X32.IfcAudioVisualApplianceType = IfcAudioVisualApplianceType; + class IfcBSplineCurve extends IfcBoundedCurve { + constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect) { + super(); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.type = 1967976161; + } + } + IFC4X32.IfcBSplineCurve = IfcBSplineCurve; + class IfcBSplineCurveWithKnots extends IfcBSplineCurve { + constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec) { + super(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.KnotMultiplicities = KnotMultiplicities; + this.Knots = Knots; + this.KnotSpec = KnotSpec; + this.type = 2461110595; + } + } + IFC4X32.IfcBSplineCurveWithKnots = IfcBSplineCurveWithKnots; + class IfcBeamType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 819618141; + } + } + IFC4X32.IfcBeamType = IfcBeamType; + class IfcBearingType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3649138523; + } + } + IFC4X32.IfcBearingType = IfcBearingType; + class IfcBoilerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 231477066; + } + } + IFC4X32.IfcBoilerType = IfcBoilerType; + class IfcBoundaryCurve extends IfcCompositeCurveOnSurface { + constructor(Segments, SelfIntersect) { + super(Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 1136057603; + } + } + IFC4X32.IfcBoundaryCurve = IfcBoundaryCurve; + class IfcBridge extends IfcFacility { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.PredefinedType = PredefinedType; + this.type = 644574406; + } + } + IFC4X32.IfcBridge = IfcBridge; + class IfcBridgePart extends IfcFacilityPart { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.UsageType = UsageType; + this.PredefinedType = PredefinedType; + this.type = 963979645; + } + } + IFC4X32.IfcBridgePart = IfcBridgePart; + class IfcBuilding extends IfcFacility { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, ElevationOfRefHeight, ElevationOfTerrain, BuildingAddress) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.ElevationOfRefHeight = ElevationOfRefHeight; + this.ElevationOfTerrain = ElevationOfTerrain; + this.BuildingAddress = BuildingAddress; + this.type = 4031249490; + } + } + IFC4X32.IfcBuilding = IfcBuilding; + class IfcBuildingElementPart extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2979338954; + } + } + IFC4X32.IfcBuildingElementPart = IfcBuildingElementPart; + class IfcBuildingElementPartType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 39481116; + } + } + IFC4X32.IfcBuildingElementPartType = IfcBuildingElementPartType; + class IfcBuildingElementProxyType extends IfcBuiltElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1909888760; + } + } + IFC4X32.IfcBuildingElementProxyType = IfcBuildingElementProxyType; + class IfcBuildingSystem extends IfcSystem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, LongName) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.LongName = LongName; + this.type = 1177604601; + } + } + IFC4X32.IfcBuildingSystem = IfcBuildingSystem; + class IfcBuiltElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1876633798; + } + } + IFC4X32.IfcBuiltElement = IfcBuiltElement; + class IfcBuiltSystem extends IfcSystem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, LongName) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.LongName = LongName; + this.type = 3862327254; + } + } + IFC4X32.IfcBuiltSystem = IfcBuiltSystem; + class IfcBurnerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2188180465; + } + } + IFC4X32.IfcBurnerType = IfcBurnerType; + class IfcCableCarrierFittingType extends IfcFlowFittingType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 395041908; + } + } + IFC4X32.IfcCableCarrierFittingType = IfcCableCarrierFittingType; + class IfcCableCarrierSegmentType extends IfcFlowSegmentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3293546465; + } + } + IFC4X32.IfcCableCarrierSegmentType = IfcCableCarrierSegmentType; + class IfcCableFittingType extends IfcFlowFittingType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2674252688; + } + } + IFC4X32.IfcCableFittingType = IfcCableFittingType; + class IfcCableSegmentType extends IfcFlowSegmentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1285652485; + } + } + IFC4X32.IfcCableSegmentType = IfcCableSegmentType; + class IfcCaissonFoundationType extends IfcDeepFoundationType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3203706013; + } + } + IFC4X32.IfcCaissonFoundationType = IfcCaissonFoundationType; + class IfcChillerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2951183804; + } + } + IFC4X32.IfcChillerType = IfcChillerType; + class IfcChimney extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3296154744; + } + } + IFC4X32.IfcChimney = IfcChimney; + class IfcCircle extends IfcConic { + constructor(Position, Radius) { + super(Position); + this.Position = Position; + this.Radius = Radius; + this.type = 2611217952; + } + } + IFC4X32.IfcCircle = IfcCircle; + class IfcCivilElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1677625105; + } + } + IFC4X32.IfcCivilElement = IfcCivilElement; + class IfcCoilType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2301859152; + } + } + IFC4X32.IfcCoilType = IfcCoilType; + class IfcColumn extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 843113511; + } + } + IFC4X32.IfcColumn = IfcColumn; + class IfcCommunicationsApplianceType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 400855858; + } + } + IFC4X32.IfcCommunicationsApplianceType = IfcCommunicationsApplianceType; + class IfcCompressorType extends IfcFlowMovingDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3850581409; + } + } + IFC4X32.IfcCompressorType = IfcCompressorType; + class IfcCondenserType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2816379211; + } + } + IFC4X32.IfcCondenserType = IfcCondenserType; + class IfcConstructionEquipmentResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 3898045240; + } + } + IFC4X32.IfcConstructionEquipmentResource = IfcConstructionEquipmentResource; + class IfcConstructionMaterialResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 1060000209; + } + } + IFC4X32.IfcConstructionMaterialResource = IfcConstructionMaterialResource; + class IfcConstructionProductResource extends IfcConstructionResource { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 488727124; + } + } + IFC4X32.IfcConstructionProductResource = IfcConstructionProductResource; + class IfcConveyorSegmentType extends IfcFlowSegmentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2940368186; + } + } + IFC4X32.IfcConveyorSegmentType = IfcConveyorSegmentType; + class IfcCooledBeamType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 335055490; + } + } + IFC4X32.IfcCooledBeamType = IfcCooledBeamType; + class IfcCoolingTowerType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2954562838; + } + } + IFC4X32.IfcCoolingTowerType = IfcCoolingTowerType; + class IfcCourse extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1502416096; + } + } + IFC4X32.IfcCourse = IfcCourse; + class IfcCovering extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1973544240; + } + } + IFC4X32.IfcCovering = IfcCovering; + class IfcCurtainWall extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3495092785; + } + } + IFC4X32.IfcCurtainWall = IfcCurtainWall; + class IfcDamperType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3961806047; + } + } + IFC4X32.IfcDamperType = IfcDamperType; + class IfcDeepFoundation extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3426335179; + } + } + IFC4X32.IfcDeepFoundation = IfcDeepFoundation; + class IfcDiscreteAccessory extends IfcElementComponent { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1335981549; + } + } + IFC4X32.IfcDiscreteAccessory = IfcDiscreteAccessory; + class IfcDiscreteAccessoryType extends IfcElementComponentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2635815018; + } + } + IFC4X32.IfcDiscreteAccessoryType = IfcDiscreteAccessoryType; + class IfcDistributionBoardType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 479945903; + } + } + IFC4X32.IfcDistributionBoardType = IfcDistributionBoardType; + class IfcDistributionChamberElementType extends IfcDistributionFlowElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1599208980; + } + } + IFC4X32.IfcDistributionChamberElementType = IfcDistributionChamberElementType; + class IfcDistributionControlElementType extends IfcDistributionElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2063403501; + } + } + IFC4X32.IfcDistributionControlElementType = IfcDistributionControlElementType; + class IfcDistributionElement extends IfcElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1945004755; + } + } + IFC4X32.IfcDistributionElement = IfcDistributionElement; + class IfcDistributionFlowElement extends IfcDistributionElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3040386961; + } + } + IFC4X32.IfcDistributionFlowElement = IfcDistributionFlowElement; + class IfcDistributionPort extends IfcPort { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, FlowDirection, PredefinedType, SystemType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.FlowDirection = FlowDirection; + this.PredefinedType = PredefinedType; + this.SystemType = SystemType; + this.type = 3041715199; + } + } + IFC4X32.IfcDistributionPort = IfcDistributionPort; + class IfcDistributionSystem extends IfcSystem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.PredefinedType = PredefinedType; + this.type = 3205830791; + } + } + IFC4X32.IfcDistributionSystem = IfcDistributionSystem; + class IfcDoor extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, OperationType, UserDefinedOperationType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OverallHeight = OverallHeight; + this.OverallWidth = OverallWidth; + this.PredefinedType = PredefinedType; + this.OperationType = OperationType; + this.UserDefinedOperationType = UserDefinedOperationType; + this.type = 395920057; + } + } + IFC4X32.IfcDoor = IfcDoor; + class IfcDuctFittingType extends IfcFlowFittingType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 869906466; + } + } + IFC4X32.IfcDuctFittingType = IfcDuctFittingType; + class IfcDuctSegmentType extends IfcFlowSegmentType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3760055223; + } + } + IFC4X32.IfcDuctSegmentType = IfcDuctSegmentType; + class IfcDuctSilencerType extends IfcFlowTreatmentDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2030761528; + } + } + IFC4X32.IfcDuctSilencerType = IfcDuctSilencerType; + class IfcEarthworksCut extends IfcFeatureElementSubtraction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3071239417; + } + } + IFC4X32.IfcEarthworksCut = IfcEarthworksCut; + class IfcEarthworksElement extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1077100507; + } + } + IFC4X32.IfcEarthworksElement = IfcEarthworksElement; + class IfcEarthworksFill extends IfcEarthworksElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3376911765; + } + } + IFC4X32.IfcEarthworksFill = IfcEarthworksFill; + class IfcElectricApplianceType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 663422040; + } + } + IFC4X32.IfcElectricApplianceType = IfcElectricApplianceType; + class IfcElectricDistributionBoardType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2417008758; + } + } + IFC4X32.IfcElectricDistributionBoardType = IfcElectricDistributionBoardType; + class IfcElectricFlowStorageDeviceType extends IfcFlowStorageDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3277789161; + } + } + IFC4X32.IfcElectricFlowStorageDeviceType = IfcElectricFlowStorageDeviceType; + class IfcElectricFlowTreatmentDeviceType extends IfcFlowTreatmentDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2142170206; + } + } + IFC4X32.IfcElectricFlowTreatmentDeviceType = IfcElectricFlowTreatmentDeviceType; + class IfcElectricGeneratorType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1534661035; + } + } + IFC4X32.IfcElectricGeneratorType = IfcElectricGeneratorType; + class IfcElectricMotorType extends IfcEnergyConversionDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1217240411; + } + } + IFC4X32.IfcElectricMotorType = IfcElectricMotorType; + class IfcElectricTimeControlType extends IfcFlowControllerType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 712377611; + } + } + IFC4X32.IfcElectricTimeControlType = IfcElectricTimeControlType; + class IfcEnergyConversionDevice extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1658829314; + } + } + IFC4X32.IfcEnergyConversionDevice = IfcEnergyConversionDevice; + class IfcEngine extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2814081492; + } + } + IFC4X32.IfcEngine = IfcEngine; + class IfcEvaporativeCooler extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3747195512; + } + } + IFC4X32.IfcEvaporativeCooler = IfcEvaporativeCooler; + class IfcEvaporator extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 484807127; + } + } + IFC4X32.IfcEvaporator = IfcEvaporator; + class IfcExternalSpatialElement extends IfcExternalSpatialStructureElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.PredefinedType = PredefinedType; + this.type = 1209101575; + } + } + IFC4X32.IfcExternalSpatialElement = IfcExternalSpatialElement; + class IfcFanType extends IfcFlowMovingDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 346874300; + } + } + IFC4X32.IfcFanType = IfcFanType; + class IfcFilterType extends IfcFlowTreatmentDeviceType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1810631287; + } + } + IFC4X32.IfcFilterType = IfcFilterType; + class IfcFireSuppressionTerminalType extends IfcFlowTerminalType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4222183408; + } + } + IFC4X32.IfcFireSuppressionTerminalType = IfcFireSuppressionTerminalType; + class IfcFlowController extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2058353004; + } + } + IFC4X32.IfcFlowController = IfcFlowController; + class IfcFlowFitting extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 4278956645; + } + } + IFC4X32.IfcFlowFitting = IfcFlowFitting; + class IfcFlowInstrumentType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4037862832; + } + } + IFC4X32.IfcFlowInstrumentType = IfcFlowInstrumentType; + class IfcFlowMeter extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2188021234; + } + } + IFC4X32.IfcFlowMeter = IfcFlowMeter; + class IfcFlowMovingDevice extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3132237377; + } + } + IFC4X32.IfcFlowMovingDevice = IfcFlowMovingDevice; + class IfcFlowSegment extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 987401354; + } + } + IFC4X32.IfcFlowSegment = IfcFlowSegment; + class IfcFlowStorageDevice extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 707683696; + } + } + IFC4X32.IfcFlowStorageDevice = IfcFlowStorageDevice; + class IfcFlowTerminal extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2223149337; + } + } + IFC4X32.IfcFlowTerminal = IfcFlowTerminal; + class IfcFlowTreatmentDevice extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3508470533; + } + } + IFC4X32.IfcFlowTreatmentDevice = IfcFlowTreatmentDevice; + class IfcFooting extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 900683007; + } + } + IFC4X32.IfcFooting = IfcFooting; + class IfcGeotechnicalAssembly extends IfcGeotechnicalElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2713699986; + } + } + IFC4X32.IfcGeotechnicalAssembly = IfcGeotechnicalAssembly; + class IfcGrid extends IfcPositioningElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, UAxes, VAxes, WAxes, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.UAxes = UAxes; + this.VAxes = VAxes; + this.WAxes = WAxes; + this.PredefinedType = PredefinedType; + this.type = 3009204131; + } + } + IFC4X32.IfcGrid = IfcGrid; + class IfcHeatExchanger extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3319311131; + } + } + IFC4X32.IfcHeatExchanger = IfcHeatExchanger; + class IfcHumidifier extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2068733104; + } + } + IFC4X32.IfcHumidifier = IfcHumidifier; + class IfcInterceptor extends IfcFlowTreatmentDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4175244083; + } + } + IFC4X32.IfcInterceptor = IfcInterceptor; + class IfcJunctionBox extends IfcFlowFitting { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2176052936; + } + } + IFC4X32.IfcJunctionBox = IfcJunctionBox; + class IfcKerb extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, Mountable) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.Mountable = Mountable; + this.type = 2696325953; + } + } + IFC4X32.IfcKerb = IfcKerb; + class IfcLamp extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 76236018; + } + } + IFC4X32.IfcLamp = IfcLamp; + class IfcLightFixture extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 629592764; + } + } + IFC4X32.IfcLightFixture = IfcLightFixture; + class IfcLinearPositioningElement extends IfcPositioningElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 1154579445; + } + } + IFC4X32.IfcLinearPositioningElement = IfcLinearPositioningElement; + class IfcLiquidTerminal extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1638804497; + } + } + IFC4X32.IfcLiquidTerminal = IfcLiquidTerminal; + class IfcMedicalDevice extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1437502449; + } + } + IFC4X32.IfcMedicalDevice = IfcMedicalDevice; + class IfcMember extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1073191201; + } + } + IFC4X32.IfcMember = IfcMember; + class IfcMobileTelecommunicationsAppliance extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2078563270; + } + } + IFC4X32.IfcMobileTelecommunicationsAppliance = IfcMobileTelecommunicationsAppliance; + class IfcMooringDevice extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 234836483; + } + } + IFC4X32.IfcMooringDevice = IfcMooringDevice; + class IfcMotorConnection extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2474470126; + } + } + IFC4X32.IfcMotorConnection = IfcMotorConnection; + class IfcNavigationElement extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2182337498; + } + } + IFC4X32.IfcNavigationElement = IfcNavigationElement; + class IfcOuterBoundaryCurve extends IfcBoundaryCurve { + constructor(Segments, SelfIntersect) { + super(Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 144952367; + } + } + IFC4X32.IfcOuterBoundaryCurve = IfcOuterBoundaryCurve; + class IfcOutlet extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3694346114; + } + } + IFC4X32.IfcOutlet = IfcOutlet; + class IfcPavement extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1383356374; + } + } + IFC4X32.IfcPavement = IfcPavement; + class IfcPile extends IfcDeepFoundation { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType, ConstructionType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.ConstructionType = ConstructionType; + this.type = 1687234759; + } + } + IFC4X32.IfcPile = IfcPile; + class IfcPipeFitting extends IfcFlowFitting { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 310824031; + } + } + IFC4X32.IfcPipeFitting = IfcPipeFitting; + class IfcPipeSegment extends IfcFlowSegment { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3612865200; + } + } + IFC4X32.IfcPipeSegment = IfcPipeSegment; + class IfcPlate extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3171933400; + } + } + IFC4X32.IfcPlate = IfcPlate; + class IfcProtectiveDevice extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 738039164; + } + } + IFC4X32.IfcProtectiveDevice = IfcProtectiveDevice; + class IfcProtectiveDeviceTrippingUnitType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 655969474; + } + } + IFC4X32.IfcProtectiveDeviceTrippingUnitType = IfcProtectiveDeviceTrippingUnitType; + class IfcPump extends IfcFlowMovingDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 90941305; + } + } + IFC4X32.IfcPump = IfcPump; + class IfcRail extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3290496277; + } + } + IFC4X32.IfcRail = IfcRail; + class IfcRailing extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2262370178; + } + } + IFC4X32.IfcRailing = IfcRailing; + class IfcRamp extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3024970846; + } + } + IFC4X32.IfcRamp = IfcRamp; + class IfcRampFlight extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3283111854; + } + } + IFC4X32.IfcRampFlight = IfcRampFlight; + class IfcRationalBSplineCurveWithKnots extends IfcBSplineCurveWithKnots { + constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec, WeightsData) { + super(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.KnotMultiplicities = KnotMultiplicities; + this.Knots = Knots; + this.KnotSpec = KnotSpec; + this.WeightsData = WeightsData; + this.type = 1232101972; + } + } + IFC4X32.IfcRationalBSplineCurveWithKnots = IfcRationalBSplineCurveWithKnots; + class IfcReinforcedSoil extends IfcEarthworksElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3798194928; + } + } + IFC4X32.IfcReinforcedSoil = IfcReinforcedSoil; + class IfcReinforcingBar extends IfcReinforcingElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, NominalDiameter, CrossSectionArea, BarLength, PredefinedType, BarSurface) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.BarLength = BarLength; + this.PredefinedType = PredefinedType; + this.BarSurface = BarSurface; + this.type = 979691226; + } + } + IFC4X32.IfcReinforcingBar = IfcReinforcingBar; + class IfcReinforcingBarType extends IfcReinforcingElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, CrossSectionArea, BarLength, BarSurface, BendingShapeCode, BendingParameters) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.BarLength = BarLength; + this.BarSurface = BarSurface; + this.BendingShapeCode = BendingShapeCode; + this.BendingParameters = BendingParameters; + this.type = 2572171363; + } + } + IFC4X32.IfcReinforcingBarType = IfcReinforcingBarType; + class IfcRoof extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2016517767; + } + } + IFC4X32.IfcRoof = IfcRoof; + class IfcSanitaryTerminal extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3053780830; + } + } + IFC4X32.IfcSanitaryTerminal = IfcSanitaryTerminal; + class IfcSensorType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1783015770; + } + } + IFC4X32.IfcSensorType = IfcSensorType; + class IfcShadingDevice extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1329646415; + } + } + IFC4X32.IfcShadingDevice = IfcShadingDevice; + class IfcSignal extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 991950508; + } + } + IFC4X32.IfcSignal = IfcSignal; + class IfcSlab extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1529196076; + } + } + IFC4X32.IfcSlab = IfcSlab; + class IfcSolarDevice extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3420628829; + } + } + IFC4X32.IfcSolarDevice = IfcSolarDevice; + class IfcSpaceHeater extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1999602285; + } + } + IFC4X32.IfcSpaceHeater = IfcSpaceHeater; + class IfcStackTerminal extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1404847402; + } + } + IFC4X32.IfcStackTerminal = IfcStackTerminal; + class IfcStair extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 331165859; + } + } + IFC4X32.IfcStair = IfcStair; + class IfcStairFlight extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NumberOfRisers, NumberOfTreads, RiserHeight, TreadLength, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.NumberOfRisers = NumberOfRisers; + this.NumberOfTreads = NumberOfTreads; + this.RiserHeight = RiserHeight; + this.TreadLength = TreadLength; + this.PredefinedType = PredefinedType; + this.type = 4252922144; + } + } + IFC4X32.IfcStairFlight = IfcStairFlight; + class IfcStructuralAnalysisModel extends IfcSystem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, OrientationOf2DPlane, LoadedBy, HasResults, SharedPlacement) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.OrientationOf2DPlane = OrientationOf2DPlane; + this.LoadedBy = LoadedBy; + this.HasResults = HasResults; + this.SharedPlacement = SharedPlacement; + this.type = 2515109513; + } + } + IFC4X32.IfcStructuralAnalysisModel = IfcStructuralAnalysisModel; + class IfcStructuralLoadCase extends IfcStructuralLoadGroup { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose, SelfWeightCoefficients) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.ActionType = ActionType; + this.ActionSource = ActionSource; + this.Coefficient = Coefficient; + this.Purpose = Purpose; + this.SelfWeightCoefficients = SelfWeightCoefficients; + this.type = 385403989; + } + } + IFC4X32.IfcStructuralLoadCase = IfcStructuralLoadCase; + class IfcStructuralPlanarAction extends IfcStructuralSurfaceAction { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.ProjectedOrTrue = ProjectedOrTrue; + this.PredefinedType = PredefinedType; + this.type = 1621171031; + } + } + IFC4X32.IfcStructuralPlanarAction = IfcStructuralPlanarAction; + class IfcSwitchingDevice extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1162798199; + } + } + IFC4X32.IfcSwitchingDevice = IfcSwitchingDevice; + class IfcTank extends IfcFlowStorageDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 812556717; + } + } + IFC4X32.IfcTank = IfcTank; + class IfcTrackElement extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3425753595; + } + } + IFC4X32.IfcTrackElement = IfcTrackElement; + class IfcTransformer extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3825984169; + } + } + IFC4X32.IfcTransformer = IfcTransformer; + class IfcTransportElement extends IfcTransportationDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1620046519; + } + } + IFC4X32.IfcTransportElement = IfcTransportElement; + class IfcTubeBundle extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3026737570; + } + } + IFC4X32.IfcTubeBundle = IfcTubeBundle; + class IfcUnitaryControlElementType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3179687236; + } + } + IFC4X32.IfcUnitaryControlElementType = IfcUnitaryControlElementType; + class IfcUnitaryEquipment extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4292641817; + } + } + IFC4X32.IfcUnitaryEquipment = IfcUnitaryEquipment; + class IfcValve extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4207607924; + } + } + IFC4X32.IfcValve = IfcValve; + class IfcWall extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2391406946; + } + } + IFC4X32.IfcWall = IfcWall; + class IfcWallStandardCase extends IfcWall { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3512223829; + } + } + IFC4X32.IfcWallStandardCase = IfcWallStandardCase; + class IfcWasteTerminal extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4237592921; + } + } + IFC4X32.IfcWasteTerminal = IfcWasteTerminal; + class IfcWindow extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, PartitioningType, UserDefinedPartitioningType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OverallHeight = OverallHeight; + this.OverallWidth = OverallWidth; + this.PredefinedType = PredefinedType; + this.PartitioningType = PartitioningType; + this.UserDefinedPartitioningType = UserDefinedPartitioningType; + this.type = 3304561284; + } + } + IFC4X32.IfcWindow = IfcWindow; + class IfcActuatorType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2874132201; + } + } + IFC4X32.IfcActuatorType = IfcActuatorType; + class IfcAirTerminal extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1634111441; + } + } + IFC4X32.IfcAirTerminal = IfcAirTerminal; + class IfcAirTerminalBox extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 177149247; + } + } + IFC4X32.IfcAirTerminalBox = IfcAirTerminalBox; + class IfcAirToAirHeatRecovery extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2056796094; + } + } + IFC4X32.IfcAirToAirHeatRecovery = IfcAirToAirHeatRecovery; + class IfcAlarmType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3001207471; + } + } + IFC4X32.IfcAlarmType = IfcAlarmType; + class IfcAlignment extends IfcLinearPositioningElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.type = 325726236; + } + } + IFC4X32.IfcAlignment = IfcAlignment; + class IfcAudioVisualAppliance extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 277319702; + } + } + IFC4X32.IfcAudioVisualAppliance = IfcAudioVisualAppliance; + class IfcBeam extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 753842376; + } + } + IFC4X32.IfcBeam = IfcBeam; + class IfcBearing extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4196446775; + } + } + IFC4X32.IfcBearing = IfcBearing; + class IfcBoiler extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 32344328; + } + } + IFC4X32.IfcBoiler = IfcBoiler; + class IfcBorehole extends IfcGeotechnicalAssembly { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3314249567; + } + } + IFC4X32.IfcBorehole = IfcBorehole; + class IfcBuildingElementProxy extends IfcBuiltElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1095909175; + } + } + IFC4X32.IfcBuildingElementProxy = IfcBuildingElementProxy; + class IfcBurner extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2938176219; + } + } + IFC4X32.IfcBurner = IfcBurner; + class IfcCableCarrierFitting extends IfcFlowFitting { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 635142910; + } + } + IFC4X32.IfcCableCarrierFitting = IfcCableCarrierFitting; + class IfcCableCarrierSegment extends IfcFlowSegment { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3758799889; + } + } + IFC4X32.IfcCableCarrierSegment = IfcCableCarrierSegment; + class IfcCableFitting extends IfcFlowFitting { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1051757585; + } + } + IFC4X32.IfcCableFitting = IfcCableFitting; + class IfcCableSegment extends IfcFlowSegment { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4217484030; + } + } + IFC4X32.IfcCableSegment = IfcCableSegment; + class IfcCaissonFoundation extends IfcDeepFoundation { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3999819293; + } + } + IFC4X32.IfcCaissonFoundation = IfcCaissonFoundation; + class IfcChiller extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3902619387; + } + } + IFC4X32.IfcChiller = IfcChiller; + class IfcCoil extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 639361253; + } + } + IFC4X32.IfcCoil = IfcCoil; + class IfcCommunicationsAppliance extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3221913625; + } + } + IFC4X32.IfcCommunicationsAppliance = IfcCommunicationsAppliance; + class IfcCompressor extends IfcFlowMovingDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3571504051; + } + } + IFC4X32.IfcCompressor = IfcCompressor; + class IfcCondenser extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2272882330; + } + } + IFC4X32.IfcCondenser = IfcCondenser; + class IfcControllerType extends IfcDistributionControlElementType { + constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 578613899; + } + } + IFC4X32.IfcControllerType = IfcControllerType; + class IfcConveyorSegment extends IfcFlowSegment { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3460952963; + } + } + IFC4X32.IfcConveyorSegment = IfcConveyorSegment; + class IfcCooledBeam extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4136498852; + } + } + IFC4X32.IfcCooledBeam = IfcCooledBeam; + class IfcCoolingTower extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3640358203; + } + } + IFC4X32.IfcCoolingTower = IfcCoolingTower; + class IfcDamper extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4074379575; + } + } + IFC4X32.IfcDamper = IfcDamper; + class IfcDistributionBoard extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3693000487; + } + } + IFC4X32.IfcDistributionBoard = IfcDistributionBoard; + class IfcDistributionChamberElement extends IfcDistributionFlowElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1052013943; + } + } + IFC4X32.IfcDistributionChamberElement = IfcDistributionChamberElement; + class IfcDistributionCircuit extends IfcDistributionSystem { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.PredefinedType = PredefinedType; + this.type = 562808652; + } + } + IFC4X32.IfcDistributionCircuit = IfcDistributionCircuit; + class IfcDistributionControlElement extends IfcDistributionElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1062813311; + } + } + IFC4X32.IfcDistributionControlElement = IfcDistributionControlElement; + class IfcDuctFitting extends IfcFlowFitting { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 342316401; + } + } + IFC4X32.IfcDuctFitting = IfcDuctFitting; + class IfcDuctSegment extends IfcFlowSegment { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3518393246; + } + } + IFC4X32.IfcDuctSegment = IfcDuctSegment; + class IfcDuctSilencer extends IfcFlowTreatmentDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1360408905; + } + } + IFC4X32.IfcDuctSilencer = IfcDuctSilencer; + class IfcElectricAppliance extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1904799276; + } + } + IFC4X32.IfcElectricAppliance = IfcElectricAppliance; + class IfcElectricDistributionBoard extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 862014818; + } + } + IFC4X32.IfcElectricDistributionBoard = IfcElectricDistributionBoard; + class IfcElectricFlowStorageDevice extends IfcFlowStorageDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3310460725; + } + } + IFC4X32.IfcElectricFlowStorageDevice = IfcElectricFlowStorageDevice; + class IfcElectricFlowTreatmentDevice extends IfcFlowTreatmentDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 24726584; + } + } + IFC4X32.IfcElectricFlowTreatmentDevice = IfcElectricFlowTreatmentDevice; + class IfcElectricGenerator extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 264262732; + } + } + IFC4X32.IfcElectricGenerator = IfcElectricGenerator; + class IfcElectricMotor extends IfcEnergyConversionDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 402227799; + } + } + IFC4X32.IfcElectricMotor = IfcElectricMotor; + class IfcElectricTimeControl extends IfcFlowController { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1003880860; + } + } + IFC4X32.IfcElectricTimeControl = IfcElectricTimeControl; + class IfcFan extends IfcFlowMovingDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3415622556; + } + } + IFC4X32.IfcFan = IfcFan; + class IfcFilter extends IfcFlowTreatmentDevice { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 819412036; + } + } + IFC4X32.IfcFilter = IfcFilter; + class IfcFireSuppressionTerminal extends IfcFlowTerminal { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1426591983; + } + } + IFC4X32.IfcFireSuppressionTerminal = IfcFireSuppressionTerminal; + class IfcFlowInstrument extends IfcDistributionControlElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 182646315; + } + } + IFC4X32.IfcFlowInstrument = IfcFlowInstrument; + class IfcGeomodel extends IfcGeotechnicalAssembly { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2680139844; + } + } + IFC4X32.IfcGeomodel = IfcGeomodel; + class IfcGeoslice extends IfcGeotechnicalAssembly { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1971632696; + } + } + IFC4X32.IfcGeoslice = IfcGeoslice; + class IfcProtectiveDeviceTrippingUnit extends IfcDistributionControlElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2295281155; + } + } + IFC4X32.IfcProtectiveDeviceTrippingUnit = IfcProtectiveDeviceTrippingUnit; + class IfcSensor extends IfcDistributionControlElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4086658281; + } + } + IFC4X32.IfcSensor = IfcSensor; + class IfcUnitaryControlElement extends IfcDistributionControlElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 630975310; + } + } + IFC4X32.IfcUnitaryControlElement = IfcUnitaryControlElement; + class IfcActuator extends IfcDistributionControlElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4288193352; + } + } + IFC4X32.IfcActuator = IfcActuator; + class IfcAlarm extends IfcDistributionControlElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3087945054; + } + } + IFC4X32.IfcAlarm = IfcAlarm; + class IfcController extends IfcDistributionControlElement { + constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 25142252; + } + } + IFC4X32.IfcController = IfcController; +})(IFC4X3$1 || (IFC4X3$1 = {})); + +// dist/helpers/properties.ts +var PropsNames = { + aggregates: { + name: IFCRELAGGREGATES, + relating: "RelatingObject", + related: "RelatedObjects", + key: "children" + }, + spatial: { + name: IFCRELCONTAINEDINSPATIALSTRUCTURE, + relating: "RelatingStructure", + related: "RelatedElements", + key: "children" + }, + psets: { + name: IFCRELDEFINESBYPROPERTIES, + relating: "RelatingPropertyDefinition", + related: "RelatedObjects", + key: "IsDefinedBy" + }, + materials: { + name: IFCRELASSOCIATESMATERIAL, + relating: "RelatingMaterial", + related: "RelatedObjects", + key: "HasAssociations" + }, + type: { + name: IFCRELDEFINESBYTYPE, + relating: "RelatingType", + related: "RelatedObjects", + key: "IsDefinedBy" + } +}; +var Properties = class { + constructor(api) { + this.api = api; + } + getItemProperties(modelID, id, recursive = false, inverse = false) { + return __async(this, null, function* () { + return this.api.GetLine(modelID, id, recursive, inverse); + }); + } + getPropertySets(modelID, elementID = 0, recursive = false, includeTypeProperties = false) { + return __async(this, null, function* () { + if (includeTypeProperties) { + let types = yield this.getTypeProperties(modelID, elementID, false); + let results = []; + for (let t of types) + results.push(...yield this.getPropertySets(modelID, t.expressID, recursive)); + return results; + } else + return yield this.getRelatedProperties(modelID, elementID, PropsNames.psets, recursive); + }); + } + setPropertySets(modelID, elementID, psetID) { + return __async(this, null, function* () { + return this.setItemProperties(modelID, elementID, psetID, PropsNames.psets); + }); + } + getTypeProperties(modelID, elementID = 0, recursive = false) { + return __async(this, null, function* () { + if (this.api.GetModelSchema(modelID) == "IFC2X3") { + return yield this.getRelatedProperties(modelID, elementID, PropsNames.type, recursive); + } else { + return yield this.getRelatedProperties(modelID, elementID, __spreadProps(__spreadValues({}, PropsNames.type), { key: "IsTypedBy" }), recursive); + } + }); + } + getMaterialsProperties(modelID, elementID = 0, recursive = false, includeTypeMaterials = false) { + return __async(this, null, function* () { + if (includeTypeMaterials) { + let types = yield this.getTypeProperties(modelID, elementID, false); + let results = []; + for (let t of types) + results.push(...yield this.getMaterialsProperties(modelID, t.expressID, recursive)); + return results; + } else + return yield this.getRelatedProperties(modelID, elementID, PropsNames.materials, recursive); + }); + } + setMaterialsProperties(modelID, elementID, materialID) { + return __async(this, null, function* () { + return this.setItemProperties(modelID, elementID, materialID, PropsNames.materials); + }); + } + getSpatialStructure(modelID, includeProperties = false) { + return __async(this, null, function* () { + const chunks = yield this.getSpatialTreeChunks(modelID); + const allLines = yield this.api.GetLineIDsWithType(modelID, IFCPROJECT); + const projectID = allLines.get(0); + const project = Properties.newIfcProject(projectID); + yield this.getSpatialNode(modelID, project, chunks, includeProperties); + return project; + }); + } + getRelatedProperties(modelID, elementID, propsName, recursive = false) { + return __async(this, null, function* () { + const result = []; + let rels = null; + if (elementID !== 0) + rels = yield this.api.GetLine(modelID, elementID, false, true, propsName.key)[propsName.key]; + else { + let vec = this.api.GetLineIDsWithType(modelID, propsName.name); + rels = []; + for (let i = 0; i < vec.size(); ++i) + rels.push({ value: vec.get(i) }); + } + if (rels == null) + return result; + if (!Array.isArray(rels)) + rels = [rels]; + for (let i = 0; i < rels.length; i++) { + let propSetIds = yield this.api.GetLine(modelID, rels[i].value, false, false)[propsName.relating]; + if (propSetIds == null) + continue; + if (!Array.isArray(propSetIds)) + propSetIds = [propSetIds]; + for (let x = 0; x < propSetIds.length; x++) { + result.push(yield this.api.GetLine(modelID, propSetIds[x].value, recursive)); + } + } + return result; + }); + } + getChunks(modelID, chunks, propNames) { + return __async(this, null, function* () { + const relation = yield this.api.GetLineIDsWithType(modelID, propNames.name, true); + for (let i = 0; i < relation.size(); i++) { + const rel = yield this.api.GetLine(modelID, relation.get(i), false); + this.saveChunk(chunks, propNames, rel); + } + }); + } + static newIfcProject(id) { + return { + expressID: id, + type: "IFCPROJECT", + children: [] + }; + } + getSpatialNode(modelID, node, treeChunks, includeProperties) { + return __async(this, null, function* () { + yield this.getChildren(modelID, node, treeChunks, PropsNames.aggregates, includeProperties); + yield this.getChildren(modelID, node, treeChunks, PropsNames.spatial, includeProperties); + }); + } + getChildren(modelID, node, treeChunks, propNames, includeProperties) { + return __async(this, null, function* () { + const children = treeChunks[node.expressID]; + if (children == void 0) + return; + const prop = propNames.key; + const nodes = []; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + let node2 = this.newNode(child, this.api.GetLineType(modelID, child)); + if (includeProperties) { + const properties = yield this.getItemProperties(modelID, node2.expressID); + node2 = __spreadValues(__spreadValues({}, properties), node2); + } + yield this.getSpatialNode(modelID, node2, treeChunks, includeProperties); + nodes.push(node2); + } + node[prop] = nodes; + }); + } + newNode(id, type) { + return { + expressID: id, + type: this.api.GetNameFromTypeCode(type), + children: [] + }; + } + getSpatialTreeChunks(modelID) { + return __async(this, null, function* () { + const treeChunks = {}; + yield this.getChunks(modelID, treeChunks, PropsNames.aggregates); + yield this.getChunks(modelID, treeChunks, PropsNames.spatial); + return treeChunks; + }); + } + saveChunk(chunks, propNames, rel) { + const relating = rel[propNames.relating].value; + const related = rel[propNames.related].map((r) => r.value); + if (chunks[relating] == void 0) { + chunks[relating] = related; + } else { + chunks[relating] = chunks[relating].concat(related); + } + } + setItemProperties(modelID, elementID, propID, propsName) { + return __async(this, null, function* () { + if (!Array.isArray(elementID)) + elementID = [elementID]; + if (!Array.isArray(propID)) + propID = [propID]; + let foundRel = 0; + const rels = []; + const elements = []; + for (const elID of elementID) { + const element = yield this.api.GetLine(modelID, elID, false, true); + if (!element[propsName.key]) + continue; + elements.push(element); + } + if (elements.length < 1) + return false; + const relations = this.api.GetLineIDsWithType(modelID, propsName.name); + for (let i = 0; i < relations.size(); ++i) { + const rel = yield this.api.GetLine(modelID, relations.get(i)); + if (propID.includes(Number(rel[propsName.relating].value))) { + rels.push(rel); + foundRel++; + } + if (foundRel == propID.length) + break; + } + for (const element of elements) { + for (const rel of rels) { + if (!element[propsName.key].some((e) => e.value === rel.expressID)) + element[propsName.key].push({ type: 5, value: rel.expressID }); + if (!rel[propsName.related].some((e) => e.value === element.expressID)) { + rel[propsName.related].push({ type: 5, value: element.expressID }); + this.api.WriteLine(modelID, rel); + } + } + this.api.WriteLine(modelID, element); + } + return true; + }); + } +}; + +// dist/helpers/log.ts +var LogLevel$1; +(function(LogLevel2) { + LogLevel2[LogLevel2["LOG_LEVEL_DEBUG"] = 0] = "LOG_LEVEL_DEBUG"; + LogLevel2[LogLevel2["LOG_LEVEL_INFO"] = 1] = "LOG_LEVEL_INFO"; + LogLevel2[LogLevel2["LOG_LEVEL_WARN"] = 2] = "LOG_LEVEL_WARN"; + LogLevel2[LogLevel2["LOG_LEVEL_ERROR"] = 3] = "LOG_LEVEL_ERROR"; + LogLevel2[LogLevel2["LOG_LEVEL_OFF"] = 4] = "LOG_LEVEL_OFF"; +})(LogLevel$1 || (LogLevel$1 = {})); +var Log = class { + static setLogLevel(level) { + this.logLevel = level; + } + static log(msg, ...args) { + if (this.logLevel <= 3) { + console.log(msg, ...args); + } + } + static debug(msg, ...args) { + if (this.logLevel <= 0) { + console.trace("DEBUG: ", msg, ...args); + } + } + static info(msg, ...args) { + if (this.logLevel <= 1) { + console.info("INFO: ", msg, ...args); + } + } + static warn(msg, ...args) { + if (this.logLevel <= 2) { + console.warn("WARN: ", msg, ...args); + } + } + static error(msg, ...args) { + if (this.logLevel <= 3) { + console.error("ERROR: ", msg, ...args); + } + } +}; +Log.logLevel = 1; +var WebIFCWasm$1; +if (typeof self !== "undefined" && self.crossOriginIsolated) { + try { + WebIFCWasm$1 = require_web_ifc_mt$1(); + } catch (ex) { + WebIFCWasm$1 = require_web_ifc$1(); + } +} else + WebIFCWasm$1 = require_web_ifc$1(); +var UNKNOWN = 0; +var STRING = 1; +var LABEL = 2; +var ENUM = 3; +var REAL = 4; +var REF = 5; +var EMPTY = 6; +var SET_BEGIN = 7; +var SET_END = 8; +var LINE_END = 9; +var INTEGER = 10; +function ms() { + return new Date().getTime(); +} +var IfcAPI2 = class { + constructor() { + this.wasmModule = void 0; + this.wasmPath = ""; + this.isWasmPathAbsolute = false; + this.modelSchemaList = []; + this.modelSchemaNameList = []; + this.ifcGuidMap = new Map(); + this.deletedLines = new Map(); + this.properties = new Properties(this); + } + Init(customLocateFileHandler) { + return __async(this, null, function* () { + if (WebIFCWasm$1) { + let locateFileHandler = (path, prefix) => { + if (path.endsWith(".wasm")) { + if (this.isWasmPathAbsolute) { + return this.wasmPath + path; + } + return prefix + this.wasmPath + path; + } + return prefix + path; + }; + this.wasmModule = yield WebIFCWasm$1({ noInitialRun: true, locateFile: customLocateFileHandler || locateFileHandler }); + } else { + Log.error(`Could not find wasm module at './web-ifc' from web-ifc-api.ts`); + } + }); + } + OpenModels(dataSets, settings) { + let s = __spreadValues({ + MEMORY_LIMIT: 2147483648 + }, settings); + s.MEMORY_LIMIT = s.MEMORY_LIMIT / dataSets.length; + let modelIDs = []; + for (let dataSet of dataSets) + modelIDs.push(this.OpenModel(dataSet, s)); + return modelIDs; + } + CreateSettings(settings) { + let s = __spreadValues({ + OPTIMIZE_PROFILES: false, + COORDINATE_TO_ORIGIN: false, + CIRCLE_SEGMENTS: 12, + TAPE_SIZE: 67108864, + MEMORY_LIMIT: 2147483648 + }, settings); + let deprecated = ["USE_FAST_BOOLS", "CIRCLE_SEGMENTS_LOW", "CIRCLE_SEGMENTS_MEDIUM", "CIRCLE_SEGMENTS_HIGH"]; + for (let d in deprecated) { + if (d in s) { + Log.info("Use of deprecated settings " + d + " detected"); + } + } + return s; + } + LookupSchemaId(schemaName) { + for (var i = 0; i < SchemaNames.length; i++) { + if (typeof SchemaNames[i] !== "undefined") { + for (var j = 0; j < SchemaNames[i].length; j++) { + if (SchemaNames[i][j] == schemaName) + return i; + } + } + } + return -1; + } + OpenModel(data, settings) { + let s = this.CreateSettings(settings); + let result = this.wasmModule.OpenModel(s, (destPtr, offsetInSrc, destSize) => { + let srcSize = Math.min(data.byteLength - offsetInSrc, destSize); + let dest = this.wasmModule.HEAPU8.subarray(destPtr, destPtr + srcSize); + let src = data.subarray(offsetInSrc, offsetInSrc + srcSize); + dest.set(src); + return srcSize; + }); + this.deletedLines.set(result, new Set()); + var schemaName = this.GetHeaderLine(result, FILE_SCHEMA).arguments[0][0].value; + this.modelSchemaList[result] = this.LookupSchemaId(schemaName); + this.modelSchemaNameList[result] = schemaName; + if (this.modelSchemaList[result] == -1) { + Log.error("Unsupported Schema:" + schemaName); + this.CloseModel(result); + return -1; + } + Log.info("Parsing Model using " + schemaName + " Schema"); + return result; + } + OpenModelFromCallback(callback, settings) { + let s = this.CreateSettings(settings); + let result = this.wasmModule.OpenModel(s, (destPtr, offsetInSrc, destSize) => { + let data = callback(offsetInSrc, destSize); + let srcSize = Math.min(data.byteLength, destSize); + let dest = this.wasmModule.HEAPU8.subarray(destPtr, destPtr + srcSize); + dest.set(data); + return srcSize; + }); + this.deletedLines.set(result, new Set()); + var schemaName = this.GetHeaderLine(result, FILE_SCHEMA).arguments[0][0].value; + this.modelSchemaList[result] = this.LookupSchemaId(schemaName); + this.modelSchemaNameList[result] = schemaName; + if (this.modelSchemaList[result] == -1) { + Log.error("Unsupported Schema:" + schemaName); + this.CloseModel(result); + return -1; + } + Log.info("Parsing Model using " + schemaName + " Schema"); + return result; + } + GetModelSchema(modelID) { + return this.modelSchemaNameList[modelID]; + } + CreateModel(model, settings) { + var _a, _b, _c; + let s = this.CreateSettings(settings); + let result = this.wasmModule.CreateModel(s); + this.modelSchemaList[result] = this.LookupSchemaId(model.schema); + this.modelSchemaNameList[result] = model.schema; + if (this.modelSchemaList[result] == -1) { + Log.error("Unsupported Schema:" + model.schema); + this.CloseModel(result); + return -1; + } + this.deletedLines.set(result, new Set()); + const modelName = model.name || "web-ifc-model-" + result + ".ifc"; + const timestamp = new Date().toISOString().slice(0, 19); + const description = ((_a = model.description) == null ? void 0 : _a.map((d) => ({ type: STRING, value: d }))) || [{ type: STRING, value: "ViewDefinition [CoordinationView]" }]; + const authors = ((_b = model.authors) == null ? void 0 : _b.map((a) => ({ type: STRING, value: a }))) || [null]; + const orgs = ((_c = model.organizations) == null ? void 0 : _c.map((o) => ({ type: STRING, value: o }))) || [null]; + const auth = model.authorization ? { type: STRING, value: model.authorization } : null; + this.wasmModule.WriteHeaderLine(result, FILE_DESCRIPTION, [ + description, + { type: STRING, value: "2;1" } + ]); + this.wasmModule.WriteHeaderLine(result, FILE_NAME, [ + { type: STRING, value: modelName }, + { type: STRING, value: timestamp }, + authors, + orgs, + { type: STRING, value: "ifcjs/web-ifc-api" }, + { type: STRING, value: "ifcjs/web-ifc-api" }, + auth + ]); + this.wasmModule.WriteHeaderLine(result, FILE_SCHEMA, [[{ type: STRING, value: model.schema }]]); + return result; + } + SaveModel(modelID) { + let dataBuffer = new Uint8Array(0); + this.wasmModule.SaveModel(modelID, (srcPtr, srcSize) => { + let src = this.wasmModule.HEAPU8.subarray(srcPtr, srcPtr + srcSize); + dataBuffer = new Uint8Array(srcSize); + dataBuffer.set(src, 0); + }); + return dataBuffer; + } + ExportFileAsIFC(modelID) { + Log.warn("ExportFileAsIFC is deprecated, use SaveModel instead"); + return this.SaveModel(modelID); + } + GetGeometry(modelID, geometryExpressID) { + return this.wasmModule.GetGeometry(modelID, geometryExpressID); + } + GetHeaderLine(modelID, headerType) { + return this.wasmModule.GetHeaderLine(modelID, headerType); + } + GetAllTypesOfModel(modelID) { + let typesNames = []; + const elements = Object.keys(FromRawLineData[this.modelSchemaList[modelID]]).map((e) => parseInt(e)); + for (let i = 0; i < elements.length; i++) { + const lines = this.GetLineIDsWithType(modelID, elements[i]); + if (lines.size() > 0) + typesNames.push({ typeID: elements[i], typeName: this.wasmModule.GetNameFromTypeCode(elements[i]) }); + } + return typesNames; + } + GetLine(modelID, expressID, flatten = false, inverse = false, inversePropKey = null) { + let expressCheck = this.wasmModule.ValidateExpressID(modelID, expressID); + if (!expressCheck) { + return; + } + let rawLineData = this.GetRawLineData(modelID, expressID); + let lineData; + try { + lineData = FromRawLineData[this.modelSchemaList[modelID]][rawLineData.type](rawLineData.arguments); + lineData.expressID = rawLineData.ID; + } catch (e) { + Log.error("Invalid IFC Line:" + expressID); + if (rawLineData.ID) { + throw e; + } else { + return; + } + } + if (flatten) { + this.FlattenLine(modelID, lineData); + } + let inverseData = InversePropertyDef[this.modelSchemaList[modelID]][rawLineData.type]; + if (inverse && inverseData != null) { + for (let inverseProp of inverseData) { + if (inversePropKey && inverseProp[0] !== inversePropKey) + continue; + if (!inverseProp[3]) + lineData[inverseProp[0]] = null; + else + lineData[inverseProp[0]] = []; + let targetTypes = [inverseProp[1]]; + if (typeof InheritanceDef[this.modelSchemaList[modelID]][inverseProp[1]] != "undefined") { + targetTypes = targetTypes.concat(InheritanceDef[this.modelSchemaList[modelID]][inverseProp[1]]); + } + let inverseIDs = this.wasmModule.GetInversePropertyForItem(modelID, expressID, targetTypes, inverseProp[2], inverseProp[3]); + if (!inverseProp[3] && inverseIDs.size() > 0) { + if (!flatten) + lineData[inverseProp[0]] = { type: 5, value: inverseIDs.get(0) }; + else + lineData[inverseProp[0]] = this.GetLine(modelID, inverseIDs.get(0)); + } else { + for (let x = 0; x < inverseIDs.size(); x++) { + if (!flatten) + lineData[inverseProp[0]].push({ type: 5, value: inverseIDs.get(x) }); + else + lineData[inverseProp[0]].push(this.GetLine(modelID, inverseIDs.get(x))); + } + } + } + } + return lineData; + } + GetNextExpressID(modelID, expressID) { + return this.wasmModule.GetNextExpressID(modelID, expressID); + } + GetAndClearErrors(modelID) { + return this.wasmModule.GetAndClearErrors(modelID); + } + CreateIfcEntity(modelID, type, ...args) { + return Constructors[this.modelSchemaList[modelID]][type](args); + } + CreateIfcType(modelID, type, value) { + return TypeInitialisers[this.modelSchemaList[modelID]][type](value); + } + GetNameFromTypeCode(type) { + return this.wasmModule.GetNameFromTypeCode(type); + } + GetTypeCodeFromName(typeName) { + return this.wasmModule.GetTypeCodeFromName(typeName); + } + IsIfcElement(type) { + return this.wasmModule.IsIfcElement(type); + } + GetIfcEntityList(modelID) { + return Object.keys(FromRawLineData[this.modelSchemaList[modelID]]).map((x) => parseInt(x)); + } + DeleteLine(modelID, expressID) { + this.wasmModule.RemoveLine(modelID, expressID); + this.deletedLines.get(modelID).add(expressID); + } + WriteLine(modelID, lineObject) { + if (lineObject.expressID != -1 && this.deletedLines.get(modelID).has(lineObject.expressID)) { + Log.error(`Cannot re-use deleted express ID`); + return; + } + if (lineObject.expressID != -1 && this.GetLineType(modelID, lineObject.expressID) != lineObject.type && this.GetLineType(modelID, lineObject.expressID) != 0) { + Log.error(`Cannot change type of existing IFC Line`); + return; + } + let property; + for (property in lineObject) { + const lineProperty = lineObject[property]; + if (lineProperty && lineProperty.expressID !== void 0) { + this.WriteLine(modelID, lineProperty); + lineObject[property] = new Handle$5(lineProperty.expressID); + } else if (Array.isArray(lineProperty) && lineProperty.length > 0) { + for (let i = 0; i < lineProperty.length; i++) { + if (lineProperty[i].expressID !== void 0) { + this.WriteLine(modelID, lineProperty[i]); + lineObject[property][i] = new Handle$5(lineProperty[i].expressID); + } + } + } + } + if (lineObject.expressID === void 0 || lineObject.expressID < 0) { + lineObject.expressID = this.GetMaxExpressID(modelID) + 1; + } + let rawLineData = { + ID: lineObject.expressID, + type: lineObject.type, + arguments: ToRawLineData[this.modelSchemaList[modelID]][lineObject.type](lineObject) + }; + this.WriteRawLineData(modelID, rawLineData); + } + FlattenLine(modelID, line) { + Object.keys(line).forEach((propertyName) => { + let property = line[propertyName]; + if (property && property.type === 5) { + if (property.value) + line[propertyName] = this.GetLine(modelID, property.value, true); + } else if (Array.isArray(property) && property.length > 0 && property[0].type === 5) { + for (let i = 0; i < property.length; i++) { + if (property[i].value) + line[propertyName][i] = this.GetLine(modelID, property[i].value, true); + } + } + }); + } + GetRawLineData(modelID, expressID) { + return this.wasmModule.GetLine(modelID, expressID); + } + WriteRawLineData(modelID, data) { + this.wasmModule.WriteLine(modelID, data.ID, data.type, data.arguments); + } + GetLineIDsWithType(modelID, type, includeInherited = false) { + let types = []; + types.push(type); + if (includeInherited && typeof InheritanceDef[this.modelSchemaList[modelID]][type] != "undefined") { + types = types.concat(InheritanceDef[this.modelSchemaList[modelID]][type]); + } + return this.wasmModule.GetLineIDsWithType(modelID, types); + } + GetAllLines(modelID) { + return this.wasmModule.GetAllLines(modelID); + } + GetAllCrossSections2D(modelID) { + const crossSections = this.wasmModule.GetAllCrossSections2D(modelID); + const crossSectionList = []; + for (let i = 0; i < crossSections.size(); i++) { + const alignment = crossSections.get(i); + const curveList = []; + const expressList = []; + for (let j = 0; j < alignment.curves.size(); j++) { + const curve = alignment.curves.get(j); + const ptList = []; + for (let p = 0; p < curve.points.size(); p++) { + const pt = curve.points.get(p); + const newPoint = { x: pt.x, y: pt.y, z: pt.z }; + ptList.push(newPoint); + } + const newCurve = { points: ptList }; + curveList.push(newCurve); + expressList.push(alignment.expressID.get(j)); + } + const align = { origin, curves: curveList, expressID: expressList }; + crossSectionList.push(align); + } + return crossSectionList; + } + GetAllCrossSections3D(modelID) { + const crossSections = this.wasmModule.GetAllCrossSections3D(modelID); + const crossSectionList = []; + for (let i = 0; i < crossSections.size(); i++) { + const alignment = crossSections.get(i); + const curveList = []; + const expressList = []; + for (let j = 0; j < alignment.curves.size(); j++) { + const curve = alignment.curves.get(j); + const ptList = []; + for (let p = 0; p < curve.points.size(); p++) { + const pt = curve.points.get(p); + const newPoint = { x: pt.x, y: pt.y, z: pt.z }; + ptList.push(newPoint); + } + const newCurve = { points: ptList }; + curveList.push(newCurve); + expressList.push(alignment.expressID.get(j)); + } + const align = { origin, curves: curveList, expressID: expressList }; + crossSectionList.push(align); + } + return crossSectionList; + } + GetAllAlignments(modelID) { + const alignments = this.wasmModule.GetAllAlignments(modelID); + const alignmentList = []; + for (let i = 0; i < alignments.size(); i++) { + const alignment = alignments.get(i); + const horList = []; + for (let j = 0; j < alignment.Horizontal.curves.size(); j++) { + const curve = alignment.Horizontal.curves.get(j); + const ptList = []; + for (let p = 0; p < curve.points.size(); p++) { + const pt = curve.points.get(p); + const newPoint = { x: pt.x, y: pt.y }; + ptList.push(newPoint); + } + const newCurve = { points: ptList }; + horList.push(newCurve); + } + const verList = []; + for (let j = 0; j < alignment.Vertical.curves.size(); j++) { + const curve = alignment.Vertical.curves.get(j); + const ptList = []; + for (let p = 0; p < curve.points.size(); p++) { + const pt = curve.points.get(p); + const newPoint = { x: pt.x, y: pt.y }; + ptList.push(newPoint); + } + const newCurve = { points: ptList }; + verList.push(newCurve); + } + const align = { origin, horizontal: horList, vertical: verList }; + alignmentList.push(align); + } + return alignmentList; + } + SetGeometryTransformation(modelID, transformationMatrix) { + if (transformationMatrix.length != 16) { + throw new Error(`invalid matrix size: ${transformationMatrix.length}`); + } + this.wasmModule.SetGeometryTransformation(modelID, transformationMatrix); + } + GetCoordinationMatrix(modelID) { + return this.wasmModule.GetCoordinationMatrix(modelID); + } + GetVertexArray(ptr, size) { + return this.getSubArray(this.wasmModule.HEAPF32, ptr, size); + } + GetIndexArray(ptr, size) { + return this.getSubArray(this.wasmModule.HEAPU32, ptr, size); + } + getSubArray(heap, startPtr, sizeBytes) { + return heap.subarray(startPtr / 4, startPtr / 4 + sizeBytes).slice(0); + } + CloseModel(modelID) { + this.ifcGuidMap.delete(modelID); + this.wasmModule.CloseModel(modelID); + } + StreamMeshes(modelID, expressIDs, meshCallback) { + this.wasmModule.StreamMeshes(modelID, expressIDs, meshCallback); + } + StreamAllMeshes(modelID, meshCallback) { + this.wasmModule.StreamAllMeshes(modelID, meshCallback); + } + StreamAllMeshesWithTypes(modelID, types, meshCallback) { + this.wasmModule.StreamAllMeshesWithTypes(modelID, types, meshCallback); + } + IsModelOpen(modelID) { + return this.wasmModule.IsModelOpen(modelID); + } + LoadAllGeometry(modelID) { + return this.wasmModule.LoadAllGeometry(modelID); + } + GetFlatMesh(modelID, expressID) { + return this.wasmModule.GetFlatMesh(modelID, expressID); + } + GetMaxExpressID(modelID) { + return this.wasmModule.GetMaxExpressID(modelID); + } + IncrementMaxExpressID(modelID, incrementSize) { + Log.warn("IncrementMaxExpressID is deprecated, use GetNextExpressID or GetMaxExpressID instead"); + return this.wasmModule.GetMaxExpressID(modelID) + incrementSize; + } + GetLineType(modelID, expressID) { + return this.wasmModule.GetLineType(modelID, expressID); + } + GetVersion() { + return this.wasmModule.GetVersion(); + } + GetExpressIdFromGuid(modelID, guid) { + var _a; + if (!this.ifcGuidMap.has(modelID)) + this.CreateIfcGuidToExpressIdMapping(modelID); + return (_a = this.ifcGuidMap.get(modelID)) == null ? void 0 : _a.get(guid); + } + GetGuidFromExpressId(modelID, expressID) { + var _a; + if (!this.ifcGuidMap.has(modelID)) + this.CreateIfcGuidToExpressIdMapping(modelID); + return (_a = this.ifcGuidMap.get(modelID)) == null ? void 0 : _a.get(expressID); + } + CreateIfcGuidToExpressIdMapping(modelID) { + const map = new Map(); + let entities = this.GetIfcEntityList(modelID); + for (const typeId of entities) { + if (!this.IsIfcElement(typeId)) + continue; + const lines = this.GetLineIDsWithType(modelID, typeId); + const size = lines.size(); + for (let y = 0; y < size; y++) { + const expressID = lines.get(y); + const info = this.GetLine(modelID, expressID); + try { + if ("GlobalId" in info) { + const globalID = info.GlobalId.value; + map.set(expressID, globalID); + map.set(globalID, expressID); + } + } catch (e) { + continue; + } + } + } + this.ifcGuidMap.set(modelID, map); + } + SetWasmPath(path, absolute = false) { + this.wasmPath = path; + this.isWasmPathAbsolute = absolute; + } + SetLogLevel(level) { + Log.setLogLevel(level); + this.wasmModule.SetLogLevel(level); + } +}; + +var WEBIFC = /*#__PURE__*/Object.freeze({ + __proto__: null, + Constructors: Constructors, + EMPTY: EMPTY, + ENUM: ENUM, + FILE_DESCRIPTION: FILE_DESCRIPTION, + FILE_NAME: FILE_NAME, + FILE_SCHEMA: FILE_SCHEMA, + FromRawLineData: FromRawLineData, + Handle: Handle$5, + IFC2DCOMPOSITECURVE: IFC2DCOMPOSITECURVE, + get IFC2X3 () { return IFC2X3$1; }, + get IFC4 () { return IFC4$1; }, + get IFC4X3 () { return IFC4X3$1; }, + IFCABSORBEDDOSEMEASURE: IFCABSORBEDDOSEMEASURE, + IFCACCELERATIONMEASURE: IFCACCELERATIONMEASURE, + IFCACTIONREQUEST: IFCACTIONREQUEST, + IFCACTOR: IFCACTOR, + IFCACTORROLE: IFCACTORROLE, + IFCACTUATOR: IFCACTUATOR, + IFCACTUATORTYPE: IFCACTUATORTYPE, + IFCADDRESS: IFCADDRESS, + IFCADVANCEDBREP: IFCADVANCEDBREP, + IFCADVANCEDBREPWITHVOIDS: IFCADVANCEDBREPWITHVOIDS, + IFCADVANCEDFACE: IFCADVANCEDFACE, + IFCAIRTERMINAL: IFCAIRTERMINAL, + IFCAIRTERMINALBOX: IFCAIRTERMINALBOX, + IFCAIRTERMINALBOXTYPE: IFCAIRTERMINALBOXTYPE, + IFCAIRTERMINALTYPE: IFCAIRTERMINALTYPE, + IFCAIRTOAIRHEATRECOVERY: IFCAIRTOAIRHEATRECOVERY, + IFCAIRTOAIRHEATRECOVERYTYPE: IFCAIRTOAIRHEATRECOVERYTYPE, + IFCALARM: IFCALARM, + IFCALARMTYPE: IFCALARMTYPE, + IFCALIGNMENT: IFCALIGNMENT, + IFCALIGNMENTCANT: IFCALIGNMENTCANT, + IFCALIGNMENTCANTSEGMENT: IFCALIGNMENTCANTSEGMENT, + IFCALIGNMENTHORIZONTAL: IFCALIGNMENTHORIZONTAL, + IFCALIGNMENTHORIZONTALSEGMENT: IFCALIGNMENTHORIZONTALSEGMENT, + IFCALIGNMENTPARAMETERSEGMENT: IFCALIGNMENTPARAMETERSEGMENT, + IFCALIGNMENTSEGMENT: IFCALIGNMENTSEGMENT, + IFCALIGNMENTVERTICAL: IFCALIGNMENTVERTICAL, + IFCALIGNMENTVERTICALSEGMENT: IFCALIGNMENTVERTICALSEGMENT, + IFCAMOUNTOFSUBSTANCEMEASURE: IFCAMOUNTOFSUBSTANCEMEASURE, + IFCANGULARDIMENSION: IFCANGULARDIMENSION, + IFCANGULARVELOCITYMEASURE: IFCANGULARVELOCITYMEASURE, + IFCANNOTATION: IFCANNOTATION, + IFCANNOTATIONCURVEOCCURRENCE: IFCANNOTATIONCURVEOCCURRENCE, + IFCANNOTATIONFILLAREA: IFCANNOTATIONFILLAREA, + IFCANNOTATIONFILLAREAOCCURRENCE: IFCANNOTATIONFILLAREAOCCURRENCE, + IFCANNOTATIONOCCURRENCE: IFCANNOTATIONOCCURRENCE, + IFCANNOTATIONSURFACE: IFCANNOTATIONSURFACE, + IFCANNOTATIONSURFACEOCCURRENCE: IFCANNOTATIONSURFACEOCCURRENCE, + IFCANNOTATIONSYMBOLOCCURRENCE: IFCANNOTATIONSYMBOLOCCURRENCE, + IFCANNOTATIONTEXTOCCURRENCE: IFCANNOTATIONTEXTOCCURRENCE, + IFCAPPLICATION: IFCAPPLICATION, + IFCAPPLIEDVALUE: IFCAPPLIEDVALUE, + IFCAPPLIEDVALUERELATIONSHIP: IFCAPPLIEDVALUERELATIONSHIP, + IFCAPPROVAL: IFCAPPROVAL, + IFCAPPROVALACTORRELATIONSHIP: IFCAPPROVALACTORRELATIONSHIP, + IFCAPPROVALPROPERTYRELATIONSHIP: IFCAPPROVALPROPERTYRELATIONSHIP, + IFCAPPROVALRELATIONSHIP: IFCAPPROVALRELATIONSHIP, + IFCARBITRARYCLOSEDPROFILEDEF: IFCARBITRARYCLOSEDPROFILEDEF, + IFCARBITRARYOPENPROFILEDEF: IFCARBITRARYOPENPROFILEDEF, + IFCARBITRARYPROFILEDEFWITHVOIDS: IFCARBITRARYPROFILEDEFWITHVOIDS, + IFCARCINDEX: IFCARCINDEX, + IFCAREADENSITYMEASURE: IFCAREADENSITYMEASURE, + IFCAREAMEASURE: IFCAREAMEASURE, + IFCASSET: IFCASSET, + IFCASYMMETRICISHAPEPROFILEDEF: IFCASYMMETRICISHAPEPROFILEDEF, + IFCAUDIOVISUALAPPLIANCE: IFCAUDIOVISUALAPPLIANCE, + IFCAUDIOVISUALAPPLIANCETYPE: IFCAUDIOVISUALAPPLIANCETYPE, + IFCAXIS1PLACEMENT: IFCAXIS1PLACEMENT, + IFCAXIS2PLACEMENT2D: IFCAXIS2PLACEMENT2D, + IFCAXIS2PLACEMENT3D: IFCAXIS2PLACEMENT3D, + IFCAXIS2PLACEMENTLINEAR: IFCAXIS2PLACEMENTLINEAR, + IFCBEAM: IFCBEAM, + IFCBEAMSTANDARDCASE: IFCBEAMSTANDARDCASE, + IFCBEAMTYPE: IFCBEAMTYPE, + IFCBEARING: IFCBEARING, + IFCBEARINGTYPE: IFCBEARINGTYPE, + IFCBEZIERCURVE: IFCBEZIERCURVE, + IFCBINARY: IFCBINARY, + IFCBLOBTEXTURE: IFCBLOBTEXTURE, + IFCBLOCK: IFCBLOCK, + IFCBOILER: IFCBOILER, + IFCBOILERTYPE: IFCBOILERTYPE, + IFCBOOLEAN: IFCBOOLEAN, + IFCBOOLEANCLIPPINGRESULT: IFCBOOLEANCLIPPINGRESULT, + IFCBOOLEANRESULT: IFCBOOLEANRESULT, + IFCBOREHOLE: IFCBOREHOLE, + IFCBOUNDARYCONDITION: IFCBOUNDARYCONDITION, + IFCBOUNDARYCURVE: IFCBOUNDARYCURVE, + IFCBOUNDARYEDGECONDITION: IFCBOUNDARYEDGECONDITION, + IFCBOUNDARYFACECONDITION: IFCBOUNDARYFACECONDITION, + IFCBOUNDARYNODECONDITION: IFCBOUNDARYNODECONDITION, + IFCBOUNDARYNODECONDITIONWARPING: IFCBOUNDARYNODECONDITIONWARPING, + IFCBOUNDEDCURVE: IFCBOUNDEDCURVE, + IFCBOUNDEDSURFACE: IFCBOUNDEDSURFACE, + IFCBOUNDINGBOX: IFCBOUNDINGBOX, + IFCBOXALIGNMENT: IFCBOXALIGNMENT, + IFCBOXEDHALFSPACE: IFCBOXEDHALFSPACE, + IFCBRIDGE: IFCBRIDGE, + IFCBRIDGEPART: IFCBRIDGEPART, + IFCBSPLINECURVE: IFCBSPLINECURVE, + IFCBSPLINECURVEWITHKNOTS: IFCBSPLINECURVEWITHKNOTS, + IFCBSPLINESURFACE: IFCBSPLINESURFACE, + IFCBSPLINESURFACEWITHKNOTS: IFCBSPLINESURFACEWITHKNOTS, + IFCBUILDING: IFCBUILDING, + IFCBUILDINGELEMENT: IFCBUILDINGELEMENT, + IFCBUILDINGELEMENTCOMPONENT: IFCBUILDINGELEMENTCOMPONENT, + IFCBUILDINGELEMENTPART: IFCBUILDINGELEMENTPART, + IFCBUILDINGELEMENTPARTTYPE: IFCBUILDINGELEMENTPARTTYPE, + IFCBUILDINGELEMENTPROXY: IFCBUILDINGELEMENTPROXY, + IFCBUILDINGELEMENTPROXYTYPE: IFCBUILDINGELEMENTPROXYTYPE, + IFCBUILDINGELEMENTTYPE: IFCBUILDINGELEMENTTYPE, + IFCBUILDINGSTOREY: IFCBUILDINGSTOREY, + IFCBUILDINGSYSTEM: IFCBUILDINGSYSTEM, + IFCBUILTELEMENT: IFCBUILTELEMENT, + IFCBUILTELEMENTTYPE: IFCBUILTELEMENTTYPE, + IFCBUILTSYSTEM: IFCBUILTSYSTEM, + IFCBURNER: IFCBURNER, + IFCBURNERTYPE: IFCBURNERTYPE, + IFCCABLECARRIERFITTING: IFCCABLECARRIERFITTING, + IFCCABLECARRIERFITTINGTYPE: IFCCABLECARRIERFITTINGTYPE, + IFCCABLECARRIERSEGMENT: IFCCABLECARRIERSEGMENT, + IFCCABLECARRIERSEGMENTTYPE: IFCCABLECARRIERSEGMENTTYPE, + IFCCABLEFITTING: IFCCABLEFITTING, + IFCCABLEFITTINGTYPE: IFCCABLEFITTINGTYPE, + IFCCABLESEGMENT: IFCCABLESEGMENT, + IFCCABLESEGMENTTYPE: IFCCABLESEGMENTTYPE, + IFCCAISSONFOUNDATION: IFCCAISSONFOUNDATION, + IFCCAISSONFOUNDATIONTYPE: IFCCAISSONFOUNDATIONTYPE, + IFCCALENDARDATE: IFCCALENDARDATE, + IFCCARDINALPOINTREFERENCE: IFCCARDINALPOINTREFERENCE, + IFCCARTESIANPOINT: IFCCARTESIANPOINT, + IFCCARTESIANPOINTLIST: IFCCARTESIANPOINTLIST, + IFCCARTESIANPOINTLIST2D: IFCCARTESIANPOINTLIST2D, + IFCCARTESIANPOINTLIST3D: IFCCARTESIANPOINTLIST3D, + IFCCARTESIANTRANSFORMATIONOPERATOR: IFCCARTESIANTRANSFORMATIONOPERATOR, + IFCCARTESIANTRANSFORMATIONOPERATOR2D: IFCCARTESIANTRANSFORMATIONOPERATOR2D, + IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM: IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, + IFCCARTESIANTRANSFORMATIONOPERATOR3D: IFCCARTESIANTRANSFORMATIONOPERATOR3D, + IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM: IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, + IFCCENTERLINEPROFILEDEF: IFCCENTERLINEPROFILEDEF, + IFCCHAMFEREDGEFEATURE: IFCCHAMFEREDGEFEATURE, + IFCCHILLER: IFCCHILLER, + IFCCHILLERTYPE: IFCCHILLERTYPE, + IFCCHIMNEY: IFCCHIMNEY, + IFCCHIMNEYTYPE: IFCCHIMNEYTYPE, + IFCCIRCLE: IFCCIRCLE, + IFCCIRCLEHOLLOWPROFILEDEF: IFCCIRCLEHOLLOWPROFILEDEF, + IFCCIRCLEPROFILEDEF: IFCCIRCLEPROFILEDEF, + IFCCIVILELEMENT: IFCCIVILELEMENT, + IFCCIVILELEMENTTYPE: IFCCIVILELEMENTTYPE, + IFCCLASSIFICATION: IFCCLASSIFICATION, + IFCCLASSIFICATIONITEM: IFCCLASSIFICATIONITEM, + IFCCLASSIFICATIONITEMRELATIONSHIP: IFCCLASSIFICATIONITEMRELATIONSHIP, + IFCCLASSIFICATIONNOTATION: IFCCLASSIFICATIONNOTATION, + IFCCLASSIFICATIONNOTATIONFACET: IFCCLASSIFICATIONNOTATIONFACET, + IFCCLASSIFICATIONREFERENCE: IFCCLASSIFICATIONREFERENCE, + IFCCLOSEDSHELL: IFCCLOSEDSHELL, + IFCCLOTHOID: IFCCLOTHOID, + IFCCOIL: IFCCOIL, + IFCCOILTYPE: IFCCOILTYPE, + IFCCOLOURRGB: IFCCOLOURRGB, + IFCCOLOURRGBLIST: IFCCOLOURRGBLIST, + IFCCOLOURSPECIFICATION: IFCCOLOURSPECIFICATION, + IFCCOLUMN: IFCCOLUMN, + IFCCOLUMNSTANDARDCASE: IFCCOLUMNSTANDARDCASE, + IFCCOLUMNTYPE: IFCCOLUMNTYPE, + IFCCOMMUNICATIONSAPPLIANCE: IFCCOMMUNICATIONSAPPLIANCE, + IFCCOMMUNICATIONSAPPLIANCETYPE: IFCCOMMUNICATIONSAPPLIANCETYPE, + IFCCOMPLEXNUMBER: IFCCOMPLEXNUMBER, + IFCCOMPLEXPROPERTY: IFCCOMPLEXPROPERTY, + IFCCOMPLEXPROPERTYTEMPLATE: IFCCOMPLEXPROPERTYTEMPLATE, + IFCCOMPOSITECURVE: IFCCOMPOSITECURVE, + IFCCOMPOSITECURVEONSURFACE: IFCCOMPOSITECURVEONSURFACE, + IFCCOMPOSITECURVESEGMENT: IFCCOMPOSITECURVESEGMENT, + IFCCOMPOSITEPROFILEDEF: IFCCOMPOSITEPROFILEDEF, + IFCCOMPOUNDPLANEANGLEMEASURE: IFCCOMPOUNDPLANEANGLEMEASURE, + IFCCOMPRESSOR: IFCCOMPRESSOR, + IFCCOMPRESSORTYPE: IFCCOMPRESSORTYPE, + IFCCONDENSER: IFCCONDENSER, + IFCCONDENSERTYPE: IFCCONDENSERTYPE, + IFCCONDITION: IFCCONDITION, + IFCCONDITIONCRITERION: IFCCONDITIONCRITERION, + IFCCONIC: IFCCONIC, + IFCCONNECTEDFACESET: IFCCONNECTEDFACESET, + IFCCONNECTIONCURVEGEOMETRY: IFCCONNECTIONCURVEGEOMETRY, + IFCCONNECTIONGEOMETRY: IFCCONNECTIONGEOMETRY, + IFCCONNECTIONPOINTECCENTRICITY: IFCCONNECTIONPOINTECCENTRICITY, + IFCCONNECTIONPOINTGEOMETRY: IFCCONNECTIONPOINTGEOMETRY, + IFCCONNECTIONPORTGEOMETRY: IFCCONNECTIONPORTGEOMETRY, + IFCCONNECTIONSURFACEGEOMETRY: IFCCONNECTIONSURFACEGEOMETRY, + IFCCONNECTIONVOLUMEGEOMETRY: IFCCONNECTIONVOLUMEGEOMETRY, + IFCCONSTRAINT: IFCCONSTRAINT, + IFCCONSTRAINTAGGREGATIONRELATIONSHIP: IFCCONSTRAINTAGGREGATIONRELATIONSHIP, + IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP: IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP, + IFCCONSTRAINTRELATIONSHIP: IFCCONSTRAINTRELATIONSHIP, + IFCCONSTRUCTIONEQUIPMENTRESOURCE: IFCCONSTRUCTIONEQUIPMENTRESOURCE, + IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE: IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, + IFCCONSTRUCTIONMATERIALRESOURCE: IFCCONSTRUCTIONMATERIALRESOURCE, + IFCCONSTRUCTIONMATERIALRESOURCETYPE: IFCCONSTRUCTIONMATERIALRESOURCETYPE, + IFCCONSTRUCTIONPRODUCTRESOURCE: IFCCONSTRUCTIONPRODUCTRESOURCE, + IFCCONSTRUCTIONPRODUCTRESOURCETYPE: IFCCONSTRUCTIONPRODUCTRESOURCETYPE, + IFCCONSTRUCTIONRESOURCE: IFCCONSTRUCTIONRESOURCE, + IFCCONSTRUCTIONRESOURCETYPE: IFCCONSTRUCTIONRESOURCETYPE, + IFCCONTEXT: IFCCONTEXT, + IFCCONTEXTDEPENDENTMEASURE: IFCCONTEXTDEPENDENTMEASURE, + IFCCONTEXTDEPENDENTUNIT: IFCCONTEXTDEPENDENTUNIT, + IFCCONTROL: IFCCONTROL, + IFCCONTROLLER: IFCCONTROLLER, + IFCCONTROLLERTYPE: IFCCONTROLLERTYPE, + IFCCONVERSIONBASEDUNIT: IFCCONVERSIONBASEDUNIT, + IFCCONVERSIONBASEDUNITWITHOFFSET: IFCCONVERSIONBASEDUNITWITHOFFSET, + IFCCONVEYORSEGMENT: IFCCONVEYORSEGMENT, + IFCCONVEYORSEGMENTTYPE: IFCCONVEYORSEGMENTTYPE, + IFCCOOLEDBEAM: IFCCOOLEDBEAM, + IFCCOOLEDBEAMTYPE: IFCCOOLEDBEAMTYPE, + IFCCOOLINGTOWER: IFCCOOLINGTOWER, + IFCCOOLINGTOWERTYPE: IFCCOOLINGTOWERTYPE, + IFCCOORDINATEDUNIVERSALTIMEOFFSET: IFCCOORDINATEDUNIVERSALTIMEOFFSET, + IFCCOORDINATEOPERATION: IFCCOORDINATEOPERATION, + IFCCOORDINATEREFERENCESYSTEM: IFCCOORDINATEREFERENCESYSTEM, + IFCCOSINESPIRAL: IFCCOSINESPIRAL, + IFCCOSTITEM: IFCCOSTITEM, + IFCCOSTSCHEDULE: IFCCOSTSCHEDULE, + IFCCOSTVALUE: IFCCOSTVALUE, + IFCCOUNTMEASURE: IFCCOUNTMEASURE, + IFCCOURSE: IFCCOURSE, + IFCCOURSETYPE: IFCCOURSETYPE, + IFCCOVERING: IFCCOVERING, + IFCCOVERINGTYPE: IFCCOVERINGTYPE, + IFCCRANERAILASHAPEPROFILEDEF: IFCCRANERAILASHAPEPROFILEDEF, + IFCCRANERAILFSHAPEPROFILEDEF: IFCCRANERAILFSHAPEPROFILEDEF, + IFCCREWRESOURCE: IFCCREWRESOURCE, + IFCCREWRESOURCETYPE: IFCCREWRESOURCETYPE, + IFCCSGPRIMITIVE3D: IFCCSGPRIMITIVE3D, + IFCCSGSOLID: IFCCSGSOLID, + IFCCSHAPEPROFILEDEF: IFCCSHAPEPROFILEDEF, + IFCCURRENCYRELATIONSHIP: IFCCURRENCYRELATIONSHIP, + IFCCURTAINWALL: IFCCURTAINWALL, + IFCCURTAINWALLTYPE: IFCCURTAINWALLTYPE, + IFCCURVATUREMEASURE: IFCCURVATUREMEASURE, + IFCCURVE: IFCCURVE, + IFCCURVEBOUNDEDPLANE: IFCCURVEBOUNDEDPLANE, + IFCCURVEBOUNDEDSURFACE: IFCCURVEBOUNDEDSURFACE, + IFCCURVESEGMENT: IFCCURVESEGMENT, + IFCCURVESTYLE: IFCCURVESTYLE, + IFCCURVESTYLEFONT: IFCCURVESTYLEFONT, + IFCCURVESTYLEFONTANDSCALING: IFCCURVESTYLEFONTANDSCALING, + IFCCURVESTYLEFONTPATTERN: IFCCURVESTYLEFONTPATTERN, + IFCCYLINDRICALSURFACE: IFCCYLINDRICALSURFACE, + IFCDAMPER: IFCDAMPER, + IFCDAMPERTYPE: IFCDAMPERTYPE, + IFCDATE: IFCDATE, + IFCDATEANDTIME: IFCDATEANDTIME, + IFCDATETIME: IFCDATETIME, + IFCDAYINMONTHNUMBER: IFCDAYINMONTHNUMBER, + IFCDAYINWEEKNUMBER: IFCDAYINWEEKNUMBER, + IFCDAYLIGHTSAVINGHOUR: IFCDAYLIGHTSAVINGHOUR, + IFCDEEPFOUNDATION: IFCDEEPFOUNDATION, + IFCDEEPFOUNDATIONTYPE: IFCDEEPFOUNDATIONTYPE, + IFCDEFINEDSYMBOL: IFCDEFINEDSYMBOL, + IFCDERIVEDPROFILEDEF: IFCDERIVEDPROFILEDEF, + IFCDERIVEDUNIT: IFCDERIVEDUNIT, + IFCDERIVEDUNITELEMENT: IFCDERIVEDUNITELEMENT, + IFCDESCRIPTIVEMEASURE: IFCDESCRIPTIVEMEASURE, + IFCDIAMETERDIMENSION: IFCDIAMETERDIMENSION, + IFCDIMENSIONALEXPONENTS: IFCDIMENSIONALEXPONENTS, + IFCDIMENSIONCALLOUTRELATIONSHIP: IFCDIMENSIONCALLOUTRELATIONSHIP, + IFCDIMENSIONCOUNT: IFCDIMENSIONCOUNT, + IFCDIMENSIONCURVE: IFCDIMENSIONCURVE, + IFCDIMENSIONCURVEDIRECTEDCALLOUT: IFCDIMENSIONCURVEDIRECTEDCALLOUT, + IFCDIMENSIONCURVETERMINATOR: IFCDIMENSIONCURVETERMINATOR, + IFCDIMENSIONPAIR: IFCDIMENSIONPAIR, + IFCDIRECTION: IFCDIRECTION, + IFCDIRECTRIXCURVESWEPTAREASOLID: IFCDIRECTRIXCURVESWEPTAREASOLID, + IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID: IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID, + IFCDISCRETEACCESSORY: IFCDISCRETEACCESSORY, + IFCDISCRETEACCESSORYTYPE: IFCDISCRETEACCESSORYTYPE, + IFCDISTRIBUTIONBOARD: IFCDISTRIBUTIONBOARD, + IFCDISTRIBUTIONBOARDTYPE: IFCDISTRIBUTIONBOARDTYPE, + IFCDISTRIBUTIONCHAMBERELEMENT: IFCDISTRIBUTIONCHAMBERELEMENT, + IFCDISTRIBUTIONCHAMBERELEMENTTYPE: IFCDISTRIBUTIONCHAMBERELEMENTTYPE, + IFCDISTRIBUTIONCIRCUIT: IFCDISTRIBUTIONCIRCUIT, + IFCDISTRIBUTIONCONTROLELEMENT: IFCDISTRIBUTIONCONTROLELEMENT, + IFCDISTRIBUTIONCONTROLELEMENTTYPE: IFCDISTRIBUTIONCONTROLELEMENTTYPE, + IFCDISTRIBUTIONELEMENT: IFCDISTRIBUTIONELEMENT, + IFCDISTRIBUTIONELEMENTTYPE: IFCDISTRIBUTIONELEMENTTYPE, + IFCDISTRIBUTIONFLOWELEMENT: IFCDISTRIBUTIONFLOWELEMENT, + IFCDISTRIBUTIONFLOWELEMENTTYPE: IFCDISTRIBUTIONFLOWELEMENTTYPE, + IFCDISTRIBUTIONPORT: IFCDISTRIBUTIONPORT, + IFCDISTRIBUTIONSYSTEM: IFCDISTRIBUTIONSYSTEM, + IFCDOCUMENTELECTRONICFORMAT: IFCDOCUMENTELECTRONICFORMAT, + IFCDOCUMENTINFORMATION: IFCDOCUMENTINFORMATION, + IFCDOCUMENTINFORMATIONRELATIONSHIP: IFCDOCUMENTINFORMATIONRELATIONSHIP, + IFCDOCUMENTREFERENCE: IFCDOCUMENTREFERENCE, + IFCDOOR: IFCDOOR, + IFCDOORLININGPROPERTIES: IFCDOORLININGPROPERTIES, + IFCDOORPANELPROPERTIES: IFCDOORPANELPROPERTIES, + IFCDOORSTANDARDCASE: IFCDOORSTANDARDCASE, + IFCDOORSTYLE: IFCDOORSTYLE, + IFCDOORTYPE: IFCDOORTYPE, + IFCDOSEEQUIVALENTMEASURE: IFCDOSEEQUIVALENTMEASURE, + IFCDRAUGHTINGCALLOUT: IFCDRAUGHTINGCALLOUT, + IFCDRAUGHTINGCALLOUTRELATIONSHIP: IFCDRAUGHTINGCALLOUTRELATIONSHIP, + IFCDRAUGHTINGPREDEFINEDCOLOUR: IFCDRAUGHTINGPREDEFINEDCOLOUR, + IFCDRAUGHTINGPREDEFINEDCURVEFONT: IFCDRAUGHTINGPREDEFINEDCURVEFONT, + IFCDRAUGHTINGPREDEFINEDTEXTFONT: IFCDRAUGHTINGPREDEFINEDTEXTFONT, + IFCDUCTFITTING: IFCDUCTFITTING, + IFCDUCTFITTINGTYPE: IFCDUCTFITTINGTYPE, + IFCDUCTSEGMENT: IFCDUCTSEGMENT, + IFCDUCTSEGMENTTYPE: IFCDUCTSEGMENTTYPE, + IFCDUCTSILENCER: IFCDUCTSILENCER, + IFCDUCTSILENCERTYPE: IFCDUCTSILENCERTYPE, + IFCDURATION: IFCDURATION, + IFCDYNAMICVISCOSITYMEASURE: IFCDYNAMICVISCOSITYMEASURE, + IFCEARTHWORKSCUT: IFCEARTHWORKSCUT, + IFCEARTHWORKSELEMENT: IFCEARTHWORKSELEMENT, + IFCEARTHWORKSFILL: IFCEARTHWORKSFILL, + IFCEDGE: IFCEDGE, + IFCEDGECURVE: IFCEDGECURVE, + IFCEDGEFEATURE: IFCEDGEFEATURE, + IFCEDGELOOP: IFCEDGELOOP, + IFCELECTRICALBASEPROPERTIES: IFCELECTRICALBASEPROPERTIES, + IFCELECTRICALCIRCUIT: IFCELECTRICALCIRCUIT, + IFCELECTRICALELEMENT: IFCELECTRICALELEMENT, + IFCELECTRICAPPLIANCE: IFCELECTRICAPPLIANCE, + IFCELECTRICAPPLIANCETYPE: IFCELECTRICAPPLIANCETYPE, + IFCELECTRICCAPACITANCEMEASURE: IFCELECTRICCAPACITANCEMEASURE, + IFCELECTRICCHARGEMEASURE: IFCELECTRICCHARGEMEASURE, + IFCELECTRICCONDUCTANCEMEASURE: IFCELECTRICCONDUCTANCEMEASURE, + IFCELECTRICCURRENTMEASURE: IFCELECTRICCURRENTMEASURE, + IFCELECTRICDISTRIBUTIONBOARD: IFCELECTRICDISTRIBUTIONBOARD, + IFCELECTRICDISTRIBUTIONBOARDTYPE: IFCELECTRICDISTRIBUTIONBOARDTYPE, + IFCELECTRICDISTRIBUTIONPOINT: IFCELECTRICDISTRIBUTIONPOINT, + IFCELECTRICFLOWSTORAGEDEVICE: IFCELECTRICFLOWSTORAGEDEVICE, + IFCELECTRICFLOWSTORAGEDEVICETYPE: IFCELECTRICFLOWSTORAGEDEVICETYPE, + IFCELECTRICFLOWTREATMENTDEVICE: IFCELECTRICFLOWTREATMENTDEVICE, + IFCELECTRICFLOWTREATMENTDEVICETYPE: IFCELECTRICFLOWTREATMENTDEVICETYPE, + IFCELECTRICGENERATOR: IFCELECTRICGENERATOR, + IFCELECTRICGENERATORTYPE: IFCELECTRICGENERATORTYPE, + IFCELECTRICHEATERTYPE: IFCELECTRICHEATERTYPE, + IFCELECTRICMOTOR: IFCELECTRICMOTOR, + IFCELECTRICMOTORTYPE: IFCELECTRICMOTORTYPE, + IFCELECTRICRESISTANCEMEASURE: IFCELECTRICRESISTANCEMEASURE, + IFCELECTRICTIMECONTROL: IFCELECTRICTIMECONTROL, + IFCELECTRICTIMECONTROLTYPE: IFCELECTRICTIMECONTROLTYPE, + IFCELECTRICVOLTAGEMEASURE: IFCELECTRICVOLTAGEMEASURE, + IFCELEMENT: IFCELEMENT, + IFCELEMENTARYSURFACE: IFCELEMENTARYSURFACE, + IFCELEMENTASSEMBLY: IFCELEMENTASSEMBLY, + IFCELEMENTASSEMBLYTYPE: IFCELEMENTASSEMBLYTYPE, + IFCELEMENTCOMPONENT: IFCELEMENTCOMPONENT, + IFCELEMENTCOMPONENTTYPE: IFCELEMENTCOMPONENTTYPE, + IFCELEMENTQUANTITY: IFCELEMENTQUANTITY, + IFCELEMENTTYPE: IFCELEMENTTYPE, + IFCELLIPSE: IFCELLIPSE, + IFCELLIPSEPROFILEDEF: IFCELLIPSEPROFILEDEF, + IFCENERGYCONVERSIONDEVICE: IFCENERGYCONVERSIONDEVICE, + IFCENERGYCONVERSIONDEVICETYPE: IFCENERGYCONVERSIONDEVICETYPE, + IFCENERGYMEASURE: IFCENERGYMEASURE, + IFCENERGYPROPERTIES: IFCENERGYPROPERTIES, + IFCENGINE: IFCENGINE, + IFCENGINETYPE: IFCENGINETYPE, + IFCENVIRONMENTALIMPACTVALUE: IFCENVIRONMENTALIMPACTVALUE, + IFCEQUIPMENTELEMENT: IFCEQUIPMENTELEMENT, + IFCEQUIPMENTSTANDARD: IFCEQUIPMENTSTANDARD, + IFCEVAPORATIVECOOLER: IFCEVAPORATIVECOOLER, + IFCEVAPORATIVECOOLERTYPE: IFCEVAPORATIVECOOLERTYPE, + IFCEVAPORATOR: IFCEVAPORATOR, + IFCEVAPORATORTYPE: IFCEVAPORATORTYPE, + IFCEVENT: IFCEVENT, + IFCEVENTTIME: IFCEVENTTIME, + IFCEVENTTYPE: IFCEVENTTYPE, + IFCEXTENDEDMATERIALPROPERTIES: IFCEXTENDEDMATERIALPROPERTIES, + IFCEXTENDEDPROPERTIES: IFCEXTENDEDPROPERTIES, + IFCEXTERNALINFORMATION: IFCEXTERNALINFORMATION, + IFCEXTERNALLYDEFINEDHATCHSTYLE: IFCEXTERNALLYDEFINEDHATCHSTYLE, + IFCEXTERNALLYDEFINEDSURFACESTYLE: IFCEXTERNALLYDEFINEDSURFACESTYLE, + IFCEXTERNALLYDEFINEDSYMBOL: IFCEXTERNALLYDEFINEDSYMBOL, + IFCEXTERNALLYDEFINEDTEXTFONT: IFCEXTERNALLYDEFINEDTEXTFONT, + IFCEXTERNALREFERENCE: IFCEXTERNALREFERENCE, + IFCEXTERNALREFERENCERELATIONSHIP: IFCEXTERNALREFERENCERELATIONSHIP, + IFCEXTERNALSPATIALELEMENT: IFCEXTERNALSPATIALELEMENT, + IFCEXTERNALSPATIALSTRUCTUREELEMENT: IFCEXTERNALSPATIALSTRUCTUREELEMENT, + IFCEXTRUDEDAREASOLID: IFCEXTRUDEDAREASOLID, + IFCEXTRUDEDAREASOLIDTAPERED: IFCEXTRUDEDAREASOLIDTAPERED, + IFCFACE: IFCFACE, + IFCFACEBASEDSURFACEMODEL: IFCFACEBASEDSURFACEMODEL, + IFCFACEBOUND: IFCFACEBOUND, + IFCFACEOUTERBOUND: IFCFACEOUTERBOUND, + IFCFACESURFACE: IFCFACESURFACE, + IFCFACETEDBREP: IFCFACETEDBREP, + IFCFACETEDBREPWITHVOIDS: IFCFACETEDBREPWITHVOIDS, + IFCFACILITY: IFCFACILITY, + IFCFACILITYPART: IFCFACILITYPART, + IFCFACILITYPARTCOMMON: IFCFACILITYPARTCOMMON, + IFCFAILURECONNECTIONCONDITION: IFCFAILURECONNECTIONCONDITION, + IFCFAN: IFCFAN, + IFCFANTYPE: IFCFANTYPE, + IFCFASTENER: IFCFASTENER, + IFCFASTENERTYPE: IFCFASTENERTYPE, + IFCFEATUREELEMENT: IFCFEATUREELEMENT, + IFCFEATUREELEMENTADDITION: IFCFEATUREELEMENTADDITION, + IFCFEATUREELEMENTSUBTRACTION: IFCFEATUREELEMENTSUBTRACTION, + IFCFILLAREASTYLE: IFCFILLAREASTYLE, + IFCFILLAREASTYLEHATCHING: IFCFILLAREASTYLEHATCHING, + IFCFILLAREASTYLETILES: IFCFILLAREASTYLETILES, + IFCFILLAREASTYLETILESYMBOLWITHSTYLE: IFCFILLAREASTYLETILESYMBOLWITHSTYLE, + IFCFILTER: IFCFILTER, + IFCFILTERTYPE: IFCFILTERTYPE, + IFCFIRESUPPRESSIONTERMINAL: IFCFIRESUPPRESSIONTERMINAL, + IFCFIRESUPPRESSIONTERMINALTYPE: IFCFIRESUPPRESSIONTERMINALTYPE, + IFCFIXEDREFERENCESWEPTAREASOLID: IFCFIXEDREFERENCESWEPTAREASOLID, + IFCFLOWCONTROLLER: IFCFLOWCONTROLLER, + IFCFLOWCONTROLLERTYPE: IFCFLOWCONTROLLERTYPE, + IFCFLOWFITTING: IFCFLOWFITTING, + IFCFLOWFITTINGTYPE: IFCFLOWFITTINGTYPE, + IFCFLOWINSTRUMENT: IFCFLOWINSTRUMENT, + IFCFLOWINSTRUMENTTYPE: IFCFLOWINSTRUMENTTYPE, + IFCFLOWMETER: IFCFLOWMETER, + IFCFLOWMETERTYPE: IFCFLOWMETERTYPE, + IFCFLOWMOVINGDEVICE: IFCFLOWMOVINGDEVICE, + IFCFLOWMOVINGDEVICETYPE: IFCFLOWMOVINGDEVICETYPE, + IFCFLOWSEGMENT: IFCFLOWSEGMENT, + IFCFLOWSEGMENTTYPE: IFCFLOWSEGMENTTYPE, + IFCFLOWSTORAGEDEVICE: IFCFLOWSTORAGEDEVICE, + IFCFLOWSTORAGEDEVICETYPE: IFCFLOWSTORAGEDEVICETYPE, + IFCFLOWTERMINAL: IFCFLOWTERMINAL, + IFCFLOWTERMINALTYPE: IFCFLOWTERMINALTYPE, + IFCFLOWTREATMENTDEVICE: IFCFLOWTREATMENTDEVICE, + IFCFLOWTREATMENTDEVICETYPE: IFCFLOWTREATMENTDEVICETYPE, + IFCFLUIDFLOWPROPERTIES: IFCFLUIDFLOWPROPERTIES, + IFCFONTSTYLE: IFCFONTSTYLE, + IFCFONTVARIANT: IFCFONTVARIANT, + IFCFONTWEIGHT: IFCFONTWEIGHT, + IFCFOOTING: IFCFOOTING, + IFCFOOTINGTYPE: IFCFOOTINGTYPE, + IFCFORCEMEASURE: IFCFORCEMEASURE, + IFCFREQUENCYMEASURE: IFCFREQUENCYMEASURE, + IFCFUELPROPERTIES: IFCFUELPROPERTIES, + IFCFURNISHINGELEMENT: IFCFURNISHINGELEMENT, + IFCFURNISHINGELEMENTTYPE: IFCFURNISHINGELEMENTTYPE, + IFCFURNITURE: IFCFURNITURE, + IFCFURNITURESTANDARD: IFCFURNITURESTANDARD, + IFCFURNITURETYPE: IFCFURNITURETYPE, + IFCGASTERMINALTYPE: IFCGASTERMINALTYPE, + IFCGENERALMATERIALPROPERTIES: IFCGENERALMATERIALPROPERTIES, + IFCGENERALPROFILEPROPERTIES: IFCGENERALPROFILEPROPERTIES, + IFCGEOGRAPHICELEMENT: IFCGEOGRAPHICELEMENT, + IFCGEOGRAPHICELEMENTTYPE: IFCGEOGRAPHICELEMENTTYPE, + IFCGEOMETRICCURVESET: IFCGEOMETRICCURVESET, + IFCGEOMETRICREPRESENTATIONCONTEXT: IFCGEOMETRICREPRESENTATIONCONTEXT, + IFCGEOMETRICREPRESENTATIONITEM: IFCGEOMETRICREPRESENTATIONITEM, + IFCGEOMETRICREPRESENTATIONSUBCONTEXT: IFCGEOMETRICREPRESENTATIONSUBCONTEXT, + IFCGEOMETRICSET: IFCGEOMETRICSET, + IFCGEOMODEL: IFCGEOMODEL, + IFCGEOSLICE: IFCGEOSLICE, + IFCGEOTECHNICALASSEMBLY: IFCGEOTECHNICALASSEMBLY, + IFCGEOTECHNICALELEMENT: IFCGEOTECHNICALELEMENT, + IFCGEOTECHNICALSTRATUM: IFCGEOTECHNICALSTRATUM, + IFCGLOBALLYUNIQUEID: IFCGLOBALLYUNIQUEID, + IFCGRADIENTCURVE: IFCGRADIENTCURVE, + IFCGRID: IFCGRID, + IFCGRIDAXIS: IFCGRIDAXIS, + IFCGRIDPLACEMENT: IFCGRIDPLACEMENT, + IFCGROUP: IFCGROUP, + IFCHALFSPACESOLID: IFCHALFSPACESOLID, + IFCHEATEXCHANGER: IFCHEATEXCHANGER, + IFCHEATEXCHANGERTYPE: IFCHEATEXCHANGERTYPE, + IFCHEATFLUXDENSITYMEASURE: IFCHEATFLUXDENSITYMEASURE, + IFCHEATINGVALUEMEASURE: IFCHEATINGVALUEMEASURE, + IFCHOURINDAY: IFCHOURINDAY, + IFCHUMIDIFIER: IFCHUMIDIFIER, + IFCHUMIDIFIERTYPE: IFCHUMIDIFIERTYPE, + IFCHYGROSCOPICMATERIALPROPERTIES: IFCHYGROSCOPICMATERIALPROPERTIES, + IFCIDENTIFIER: IFCIDENTIFIER, + IFCILLUMINANCEMEASURE: IFCILLUMINANCEMEASURE, + IFCIMAGETEXTURE: IFCIMAGETEXTURE, + IFCIMPACTPROTECTIONDEVICE: IFCIMPACTPROTECTIONDEVICE, + IFCIMPACTPROTECTIONDEVICETYPE: IFCIMPACTPROTECTIONDEVICETYPE, + IFCINDEXEDCOLOURMAP: IFCINDEXEDCOLOURMAP, + IFCINDEXEDPOLYCURVE: IFCINDEXEDPOLYCURVE, + IFCINDEXEDPOLYGONALFACE: IFCINDEXEDPOLYGONALFACE, + IFCINDEXEDPOLYGONALFACEWITHVOIDS: IFCINDEXEDPOLYGONALFACEWITHVOIDS, + IFCINDEXEDPOLYGONALTEXTUREMAP: IFCINDEXEDPOLYGONALTEXTUREMAP, + IFCINDEXEDTEXTUREMAP: IFCINDEXEDTEXTUREMAP, + IFCINDEXEDTRIANGLETEXTUREMAP: IFCINDEXEDTRIANGLETEXTUREMAP, + IFCINDUCTANCEMEASURE: IFCINDUCTANCEMEASURE, + IFCINTEGER: IFCINTEGER, + IFCINTEGERCOUNTRATEMEASURE: IFCINTEGERCOUNTRATEMEASURE, + IFCINTERCEPTOR: IFCINTERCEPTOR, + IFCINTERCEPTORTYPE: IFCINTERCEPTORTYPE, + IFCINTERSECTIONCURVE: IFCINTERSECTIONCURVE, + IFCINVENTORY: IFCINVENTORY, + IFCIONCONCENTRATIONMEASURE: IFCIONCONCENTRATIONMEASURE, + IFCIRREGULARTIMESERIES: IFCIRREGULARTIMESERIES, + IFCIRREGULARTIMESERIESVALUE: IFCIRREGULARTIMESERIESVALUE, + IFCISHAPEPROFILEDEF: IFCISHAPEPROFILEDEF, + IFCISOTHERMALMOISTURECAPACITYMEASURE: IFCISOTHERMALMOISTURECAPACITYMEASURE, + IFCJUNCTIONBOX: IFCJUNCTIONBOX, + IFCJUNCTIONBOXTYPE: IFCJUNCTIONBOXTYPE, + IFCKERB: IFCKERB, + IFCKERBTYPE: IFCKERBTYPE, + IFCKINEMATICVISCOSITYMEASURE: IFCKINEMATICVISCOSITYMEASURE, + IFCLABEL: IFCLABEL, + IFCLABORRESOURCE: IFCLABORRESOURCE, + IFCLABORRESOURCETYPE: IFCLABORRESOURCETYPE, + IFCLAGTIME: IFCLAGTIME, + IFCLAMP: IFCLAMP, + IFCLAMPTYPE: IFCLAMPTYPE, + IFCLANGUAGEID: IFCLANGUAGEID, + IFCLENGTHMEASURE: IFCLENGTHMEASURE, + IFCLIBRARYINFORMATION: IFCLIBRARYINFORMATION, + IFCLIBRARYREFERENCE: IFCLIBRARYREFERENCE, + IFCLIGHTDISTRIBUTIONDATA: IFCLIGHTDISTRIBUTIONDATA, + IFCLIGHTFIXTURE: IFCLIGHTFIXTURE, + IFCLIGHTFIXTURETYPE: IFCLIGHTFIXTURETYPE, + IFCLIGHTINTENSITYDISTRIBUTION: IFCLIGHTINTENSITYDISTRIBUTION, + IFCLIGHTSOURCE: IFCLIGHTSOURCE, + IFCLIGHTSOURCEAMBIENT: IFCLIGHTSOURCEAMBIENT, + IFCLIGHTSOURCEDIRECTIONAL: IFCLIGHTSOURCEDIRECTIONAL, + IFCLIGHTSOURCEGONIOMETRIC: IFCLIGHTSOURCEGONIOMETRIC, + IFCLIGHTSOURCEPOSITIONAL: IFCLIGHTSOURCEPOSITIONAL, + IFCLIGHTSOURCESPOT: IFCLIGHTSOURCESPOT, + IFCLINE: IFCLINE, + IFCLINEARDIMENSION: IFCLINEARDIMENSION, + IFCLINEARELEMENT: IFCLINEARELEMENT, + IFCLINEARFORCEMEASURE: IFCLINEARFORCEMEASURE, + IFCLINEARMOMENTMEASURE: IFCLINEARMOMENTMEASURE, + IFCLINEARPLACEMENT: IFCLINEARPLACEMENT, + IFCLINEARPOSITIONINGELEMENT: IFCLINEARPOSITIONINGELEMENT, + IFCLINEARSTIFFNESSMEASURE: IFCLINEARSTIFFNESSMEASURE, + IFCLINEARVELOCITYMEASURE: IFCLINEARVELOCITYMEASURE, + IFCLINEINDEX: IFCLINEINDEX, + IFCLIQUIDTERMINAL: IFCLIQUIDTERMINAL, + IFCLIQUIDTERMINALTYPE: IFCLIQUIDTERMINALTYPE, + IFCLOCALPLACEMENT: IFCLOCALPLACEMENT, + IFCLOCALTIME: IFCLOCALTIME, + IFCLOGICAL: IFCLOGICAL, + IFCLOOP: IFCLOOP, + IFCLSHAPEPROFILEDEF: IFCLSHAPEPROFILEDEF, + IFCLUMINOUSFLUXMEASURE: IFCLUMINOUSFLUXMEASURE, + IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE: IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE, + IFCLUMINOUSINTENSITYMEASURE: IFCLUMINOUSINTENSITYMEASURE, + IFCMAGNETICFLUXDENSITYMEASURE: IFCMAGNETICFLUXDENSITYMEASURE, + IFCMAGNETICFLUXMEASURE: IFCMAGNETICFLUXMEASURE, + IFCMANIFOLDSOLIDBREP: IFCMANIFOLDSOLIDBREP, + IFCMAPCONVERSION: IFCMAPCONVERSION, + IFCMAPPEDITEM: IFCMAPPEDITEM, + IFCMARINEFACILITY: IFCMARINEFACILITY, + IFCMARINEPART: IFCMARINEPART, + IFCMASSDENSITYMEASURE: IFCMASSDENSITYMEASURE, + IFCMASSFLOWRATEMEASURE: IFCMASSFLOWRATEMEASURE, + IFCMASSMEASURE: IFCMASSMEASURE, + IFCMASSPERLENGTHMEASURE: IFCMASSPERLENGTHMEASURE, + IFCMATERIAL: IFCMATERIAL, + IFCMATERIALCLASSIFICATIONRELATIONSHIP: IFCMATERIALCLASSIFICATIONRELATIONSHIP, + IFCMATERIALCONSTITUENT: IFCMATERIALCONSTITUENT, + IFCMATERIALCONSTITUENTSET: IFCMATERIALCONSTITUENTSET, + IFCMATERIALDEFINITION: IFCMATERIALDEFINITION, + IFCMATERIALDEFINITIONREPRESENTATION: IFCMATERIALDEFINITIONREPRESENTATION, + IFCMATERIALLAYER: IFCMATERIALLAYER, + IFCMATERIALLAYERSET: IFCMATERIALLAYERSET, + IFCMATERIALLAYERSETUSAGE: IFCMATERIALLAYERSETUSAGE, + IFCMATERIALLAYERWITHOFFSETS: IFCMATERIALLAYERWITHOFFSETS, + IFCMATERIALLIST: IFCMATERIALLIST, + IFCMATERIALPROFILE: IFCMATERIALPROFILE, + IFCMATERIALPROFILESET: IFCMATERIALPROFILESET, + IFCMATERIALPROFILESETUSAGE: IFCMATERIALPROFILESETUSAGE, + IFCMATERIALPROFILESETUSAGETAPERING: IFCMATERIALPROFILESETUSAGETAPERING, + IFCMATERIALPROFILEWITHOFFSETS: IFCMATERIALPROFILEWITHOFFSETS, + IFCMATERIALPROPERTIES: IFCMATERIALPROPERTIES, + IFCMATERIALRELATIONSHIP: IFCMATERIALRELATIONSHIP, + IFCMATERIALUSAGEDEFINITION: IFCMATERIALUSAGEDEFINITION, + IFCMEASUREWITHUNIT: IFCMEASUREWITHUNIT, + IFCMECHANICALCONCRETEMATERIALPROPERTIES: IFCMECHANICALCONCRETEMATERIALPROPERTIES, + IFCMECHANICALFASTENER: IFCMECHANICALFASTENER, + IFCMECHANICALFASTENERTYPE: IFCMECHANICALFASTENERTYPE, + IFCMECHANICALMATERIALPROPERTIES: IFCMECHANICALMATERIALPROPERTIES, + IFCMECHANICALSTEELMATERIALPROPERTIES: IFCMECHANICALSTEELMATERIALPROPERTIES, + IFCMEDICALDEVICE: IFCMEDICALDEVICE, + IFCMEDICALDEVICETYPE: IFCMEDICALDEVICETYPE, + IFCMEMBER: IFCMEMBER, + IFCMEMBERSTANDARDCASE: IFCMEMBERSTANDARDCASE, + IFCMEMBERTYPE: IFCMEMBERTYPE, + IFCMETRIC: IFCMETRIC, + IFCMINUTEINHOUR: IFCMINUTEINHOUR, + IFCMIRROREDPROFILEDEF: IFCMIRROREDPROFILEDEF, + IFCMOBILETELECOMMUNICATIONSAPPLIANCE: IFCMOBILETELECOMMUNICATIONSAPPLIANCE, + IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE: IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, + IFCMODULUSOFELASTICITYMEASURE: IFCMODULUSOFELASTICITYMEASURE, + IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE: IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE, + IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE: IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE, + IFCMODULUSOFSUBGRADEREACTIONMEASURE: IFCMODULUSOFSUBGRADEREACTIONMEASURE, + IFCMOISTUREDIFFUSIVITYMEASURE: IFCMOISTUREDIFFUSIVITYMEASURE, + IFCMOLECULARWEIGHTMEASURE: IFCMOLECULARWEIGHTMEASURE, + IFCMOMENTOFINERTIAMEASURE: IFCMOMENTOFINERTIAMEASURE, + IFCMONETARYMEASURE: IFCMONETARYMEASURE, + IFCMONETARYUNIT: IFCMONETARYUNIT, + IFCMONTHINYEARNUMBER: IFCMONTHINYEARNUMBER, + IFCMOORINGDEVICE: IFCMOORINGDEVICE, + IFCMOORINGDEVICETYPE: IFCMOORINGDEVICETYPE, + IFCMOTORCONNECTION: IFCMOTORCONNECTION, + IFCMOTORCONNECTIONTYPE: IFCMOTORCONNECTIONTYPE, + IFCMOVE: IFCMOVE, + IFCNAMEDUNIT: IFCNAMEDUNIT, + IFCNAVIGATIONELEMENT: IFCNAVIGATIONELEMENT, + IFCNAVIGATIONELEMENTTYPE: IFCNAVIGATIONELEMENTTYPE, + IFCNONNEGATIVELENGTHMEASURE: IFCNONNEGATIVELENGTHMEASURE, + IFCNORMALISEDRATIOMEASURE: IFCNORMALISEDRATIOMEASURE, + IFCNUMERICMEASURE: IFCNUMERICMEASURE, + IFCOBJECT: IFCOBJECT, + IFCOBJECTDEFINITION: IFCOBJECTDEFINITION, + IFCOBJECTIVE: IFCOBJECTIVE, + IFCOBJECTPLACEMENT: IFCOBJECTPLACEMENT, + IFCOCCUPANT: IFCOCCUPANT, + IFCOFFSETCURVE: IFCOFFSETCURVE, + IFCOFFSETCURVE2D: IFCOFFSETCURVE2D, + IFCOFFSETCURVE3D: IFCOFFSETCURVE3D, + IFCOFFSETCURVEBYDISTANCES: IFCOFFSETCURVEBYDISTANCES, + IFCONEDIRECTIONREPEATFACTOR: IFCONEDIRECTIONREPEATFACTOR, + IFCOPENCROSSPROFILEDEF: IFCOPENCROSSPROFILEDEF, + IFCOPENINGELEMENT: IFCOPENINGELEMENT, + IFCOPENINGSTANDARDCASE: IFCOPENINGSTANDARDCASE, + IFCOPENSHELL: IFCOPENSHELL, + IFCOPTICALMATERIALPROPERTIES: IFCOPTICALMATERIALPROPERTIES, + IFCORDERACTION: IFCORDERACTION, + IFCORGANIZATION: IFCORGANIZATION, + IFCORGANIZATIONRELATIONSHIP: IFCORGANIZATIONRELATIONSHIP, + IFCORIENTEDEDGE: IFCORIENTEDEDGE, + IFCOUTERBOUNDARYCURVE: IFCOUTERBOUNDARYCURVE, + IFCOUTLET: IFCOUTLET, + IFCOUTLETTYPE: IFCOUTLETTYPE, + IFCOWNERHISTORY: IFCOWNERHISTORY, + IFCPARAMETERIZEDPROFILEDEF: IFCPARAMETERIZEDPROFILEDEF, + IFCPARAMETERVALUE: IFCPARAMETERVALUE, + IFCPATH: IFCPATH, + IFCPAVEMENT: IFCPAVEMENT, + IFCPAVEMENTTYPE: IFCPAVEMENTTYPE, + IFCPCURVE: IFCPCURVE, + IFCPERFORMANCEHISTORY: IFCPERFORMANCEHISTORY, + IFCPERMEABLECOVERINGPROPERTIES: IFCPERMEABLECOVERINGPROPERTIES, + IFCPERMIT: IFCPERMIT, + IFCPERSON: IFCPERSON, + IFCPERSONANDORGANIZATION: IFCPERSONANDORGANIZATION, + IFCPHMEASURE: IFCPHMEASURE, + IFCPHYSICALCOMPLEXQUANTITY: IFCPHYSICALCOMPLEXQUANTITY, + IFCPHYSICALQUANTITY: IFCPHYSICALQUANTITY, + IFCPHYSICALSIMPLEQUANTITY: IFCPHYSICALSIMPLEQUANTITY, + IFCPILE: IFCPILE, + IFCPILETYPE: IFCPILETYPE, + IFCPIPEFITTING: IFCPIPEFITTING, + IFCPIPEFITTINGTYPE: IFCPIPEFITTINGTYPE, + IFCPIPESEGMENT: IFCPIPESEGMENT, + IFCPIPESEGMENTTYPE: IFCPIPESEGMENTTYPE, + IFCPIXELTEXTURE: IFCPIXELTEXTURE, + IFCPLACEMENT: IFCPLACEMENT, + IFCPLANARBOX: IFCPLANARBOX, + IFCPLANAREXTENT: IFCPLANAREXTENT, + IFCPLANARFORCEMEASURE: IFCPLANARFORCEMEASURE, + IFCPLANE: IFCPLANE, + IFCPLANEANGLEMEASURE: IFCPLANEANGLEMEASURE, + IFCPLATE: IFCPLATE, + IFCPLATESTANDARDCASE: IFCPLATESTANDARDCASE, + IFCPLATETYPE: IFCPLATETYPE, + IFCPOINT: IFCPOINT, + IFCPOINTBYDISTANCEEXPRESSION: IFCPOINTBYDISTANCEEXPRESSION, + IFCPOINTONCURVE: IFCPOINTONCURVE, + IFCPOINTONSURFACE: IFCPOINTONSURFACE, + IFCPOLYGONALBOUNDEDHALFSPACE: IFCPOLYGONALBOUNDEDHALFSPACE, + IFCPOLYGONALFACESET: IFCPOLYGONALFACESET, + IFCPOLYLINE: IFCPOLYLINE, + IFCPOLYLOOP: IFCPOLYLOOP, + IFCPOLYNOMIALCURVE: IFCPOLYNOMIALCURVE, + IFCPORT: IFCPORT, + IFCPOSITIONINGELEMENT: IFCPOSITIONINGELEMENT, + IFCPOSITIVEINTEGER: IFCPOSITIVEINTEGER, + IFCPOSITIVELENGTHMEASURE: IFCPOSITIVELENGTHMEASURE, + IFCPOSITIVEPLANEANGLEMEASURE: IFCPOSITIVEPLANEANGLEMEASURE, + IFCPOSITIVERATIOMEASURE: IFCPOSITIVERATIOMEASURE, + IFCPOSTALADDRESS: IFCPOSTALADDRESS, + IFCPOWERMEASURE: IFCPOWERMEASURE, + IFCPREDEFINEDCOLOUR: IFCPREDEFINEDCOLOUR, + IFCPREDEFINEDCURVEFONT: IFCPREDEFINEDCURVEFONT, + IFCPREDEFINEDDIMENSIONSYMBOL: IFCPREDEFINEDDIMENSIONSYMBOL, + IFCPREDEFINEDITEM: IFCPREDEFINEDITEM, + IFCPREDEFINEDPOINTMARKERSYMBOL: IFCPREDEFINEDPOINTMARKERSYMBOL, + IFCPREDEFINEDPROPERTIES: IFCPREDEFINEDPROPERTIES, + IFCPREDEFINEDPROPERTYSET: IFCPREDEFINEDPROPERTYSET, + IFCPREDEFINEDSYMBOL: IFCPREDEFINEDSYMBOL, + IFCPREDEFINEDTERMINATORSYMBOL: IFCPREDEFINEDTERMINATORSYMBOL, + IFCPREDEFINEDTEXTFONT: IFCPREDEFINEDTEXTFONT, + IFCPRESENTABLETEXT: IFCPRESENTABLETEXT, + IFCPRESENTATIONITEM: IFCPRESENTATIONITEM, + IFCPRESENTATIONLAYERASSIGNMENT: IFCPRESENTATIONLAYERASSIGNMENT, + IFCPRESENTATIONLAYERWITHSTYLE: IFCPRESENTATIONLAYERWITHSTYLE, + IFCPRESENTATIONSTYLE: IFCPRESENTATIONSTYLE, + IFCPRESENTATIONSTYLEASSIGNMENT: IFCPRESENTATIONSTYLEASSIGNMENT, + IFCPRESSUREMEASURE: IFCPRESSUREMEASURE, + IFCPROCEDURE: IFCPROCEDURE, + IFCPROCEDURETYPE: IFCPROCEDURETYPE, + IFCPROCESS: IFCPROCESS, + IFCPRODUCT: IFCPRODUCT, + IFCPRODUCTDEFINITIONSHAPE: IFCPRODUCTDEFINITIONSHAPE, + IFCPRODUCTREPRESENTATION: IFCPRODUCTREPRESENTATION, + IFCPRODUCTSOFCOMBUSTIONPROPERTIES: IFCPRODUCTSOFCOMBUSTIONPROPERTIES, + IFCPROFILEDEF: IFCPROFILEDEF, + IFCPROFILEPROPERTIES: IFCPROFILEPROPERTIES, + IFCPROJECT: IFCPROJECT, + IFCPROJECTEDCRS: IFCPROJECTEDCRS, + IFCPROJECTIONCURVE: IFCPROJECTIONCURVE, + IFCPROJECTIONELEMENT: IFCPROJECTIONELEMENT, + IFCPROJECTLIBRARY: IFCPROJECTLIBRARY, + IFCPROJECTORDER: IFCPROJECTORDER, + IFCPROJECTORDERRECORD: IFCPROJECTORDERRECORD, + IFCPROPERTY: IFCPROPERTY, + IFCPROPERTYABSTRACTION: IFCPROPERTYABSTRACTION, + IFCPROPERTYBOUNDEDVALUE: IFCPROPERTYBOUNDEDVALUE, + IFCPROPERTYCONSTRAINTRELATIONSHIP: IFCPROPERTYCONSTRAINTRELATIONSHIP, + IFCPROPERTYDEFINITION: IFCPROPERTYDEFINITION, + IFCPROPERTYDEPENDENCYRELATIONSHIP: IFCPROPERTYDEPENDENCYRELATIONSHIP, + IFCPROPERTYENUMERATEDVALUE: IFCPROPERTYENUMERATEDVALUE, + IFCPROPERTYENUMERATION: IFCPROPERTYENUMERATION, + IFCPROPERTYLISTVALUE: IFCPROPERTYLISTVALUE, + IFCPROPERTYREFERENCEVALUE: IFCPROPERTYREFERENCEVALUE, + IFCPROPERTYSET: IFCPROPERTYSET, + IFCPROPERTYSETDEFINITION: IFCPROPERTYSETDEFINITION, + IFCPROPERTYSETDEFINITIONSET: IFCPROPERTYSETDEFINITIONSET, + IFCPROPERTYSETTEMPLATE: IFCPROPERTYSETTEMPLATE, + IFCPROPERTYSINGLEVALUE: IFCPROPERTYSINGLEVALUE, + IFCPROPERTYTABLEVALUE: IFCPROPERTYTABLEVALUE, + IFCPROPERTYTEMPLATE: IFCPROPERTYTEMPLATE, + IFCPROPERTYTEMPLATEDEFINITION: IFCPROPERTYTEMPLATEDEFINITION, + IFCPROTECTIVEDEVICE: IFCPROTECTIVEDEVICE, + IFCPROTECTIVEDEVICETRIPPINGUNIT: IFCPROTECTIVEDEVICETRIPPINGUNIT, + IFCPROTECTIVEDEVICETRIPPINGUNITTYPE: IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, + IFCPROTECTIVEDEVICETYPE: IFCPROTECTIVEDEVICETYPE, + IFCPROXY: IFCPROXY, + IFCPUMP: IFCPUMP, + IFCPUMPTYPE: IFCPUMPTYPE, + IFCQUANTITYAREA: IFCQUANTITYAREA, + IFCQUANTITYCOUNT: IFCQUANTITYCOUNT, + IFCQUANTITYLENGTH: IFCQUANTITYLENGTH, + IFCQUANTITYNUMBER: IFCQUANTITYNUMBER, + IFCQUANTITYSET: IFCQUANTITYSET, + IFCQUANTITYTIME: IFCQUANTITYTIME, + IFCQUANTITYVOLUME: IFCQUANTITYVOLUME, + IFCQUANTITYWEIGHT: IFCQUANTITYWEIGHT, + IFCRADIOACTIVITYMEASURE: IFCRADIOACTIVITYMEASURE, + IFCRADIUSDIMENSION: IFCRADIUSDIMENSION, + IFCRAIL: IFCRAIL, + IFCRAILING: IFCRAILING, + IFCRAILINGTYPE: IFCRAILINGTYPE, + IFCRAILTYPE: IFCRAILTYPE, + IFCRAILWAY: IFCRAILWAY, + IFCRAILWAYPART: IFCRAILWAYPART, + IFCRAMP: IFCRAMP, + IFCRAMPFLIGHT: IFCRAMPFLIGHT, + IFCRAMPFLIGHTTYPE: IFCRAMPFLIGHTTYPE, + IFCRAMPTYPE: IFCRAMPTYPE, + IFCRATIOMEASURE: IFCRATIOMEASURE, + IFCRATIONALBEZIERCURVE: IFCRATIONALBEZIERCURVE, + IFCRATIONALBSPLINECURVEWITHKNOTS: IFCRATIONALBSPLINECURVEWITHKNOTS, + IFCRATIONALBSPLINESURFACEWITHKNOTS: IFCRATIONALBSPLINESURFACEWITHKNOTS, + IFCREAL: IFCREAL, + IFCRECTANGLEHOLLOWPROFILEDEF: IFCRECTANGLEHOLLOWPROFILEDEF, + IFCRECTANGLEPROFILEDEF: IFCRECTANGLEPROFILEDEF, + IFCRECTANGULARPYRAMID: IFCRECTANGULARPYRAMID, + IFCRECTANGULARTRIMMEDSURFACE: IFCRECTANGULARTRIMMEDSURFACE, + IFCRECURRENCEPATTERN: IFCRECURRENCEPATTERN, + IFCREFERENCE: IFCREFERENCE, + IFCREFERENCESVALUEDOCUMENT: IFCREFERENCESVALUEDOCUMENT, + IFCREFERENT: IFCREFERENT, + IFCREGULARTIMESERIES: IFCREGULARTIMESERIES, + IFCREINFORCEDSOIL: IFCREINFORCEDSOIL, + IFCREINFORCEMENTBARPROPERTIES: IFCREINFORCEMENTBARPROPERTIES, + IFCREINFORCEMENTDEFINITIONPROPERTIES: IFCREINFORCEMENTDEFINITIONPROPERTIES, + IFCREINFORCINGBAR: IFCREINFORCINGBAR, + IFCREINFORCINGBARTYPE: IFCREINFORCINGBARTYPE, + IFCREINFORCINGELEMENT: IFCREINFORCINGELEMENT, + IFCREINFORCINGELEMENTTYPE: IFCREINFORCINGELEMENTTYPE, + IFCREINFORCINGMESH: IFCREINFORCINGMESH, + IFCREINFORCINGMESHTYPE: IFCREINFORCINGMESHTYPE, + IFCRELADHERESTOELEMENT: IFCRELADHERESTOELEMENT, + IFCRELAGGREGATES: IFCRELAGGREGATES, + IFCRELASSIGNS: IFCRELASSIGNS, + IFCRELASSIGNSTASKS: IFCRELASSIGNSTASKS, + IFCRELASSIGNSTOACTOR: IFCRELASSIGNSTOACTOR, + IFCRELASSIGNSTOCONTROL: IFCRELASSIGNSTOCONTROL, + IFCRELASSIGNSTOGROUP: IFCRELASSIGNSTOGROUP, + IFCRELASSIGNSTOGROUPBYFACTOR: IFCRELASSIGNSTOGROUPBYFACTOR, + IFCRELASSIGNSTOPROCESS: IFCRELASSIGNSTOPROCESS, + IFCRELASSIGNSTOPRODUCT: IFCRELASSIGNSTOPRODUCT, + IFCRELASSIGNSTOPROJECTORDER: IFCRELASSIGNSTOPROJECTORDER, + IFCRELASSIGNSTORESOURCE: IFCRELASSIGNSTORESOURCE, + IFCRELASSOCIATES: IFCRELASSOCIATES, + IFCRELASSOCIATESAPPLIEDVALUE: IFCRELASSOCIATESAPPLIEDVALUE, + IFCRELASSOCIATESAPPROVAL: IFCRELASSOCIATESAPPROVAL, + IFCRELASSOCIATESCLASSIFICATION: IFCRELASSOCIATESCLASSIFICATION, + IFCRELASSOCIATESCONSTRAINT: IFCRELASSOCIATESCONSTRAINT, + IFCRELASSOCIATESDOCUMENT: IFCRELASSOCIATESDOCUMENT, + IFCRELASSOCIATESLIBRARY: IFCRELASSOCIATESLIBRARY, + IFCRELASSOCIATESMATERIAL: IFCRELASSOCIATESMATERIAL, + IFCRELASSOCIATESPROFILEDEF: IFCRELASSOCIATESPROFILEDEF, + IFCRELASSOCIATESPROFILEPROPERTIES: IFCRELASSOCIATESPROFILEPROPERTIES, + IFCRELATIONSHIP: IFCRELATIONSHIP, + IFCRELAXATION: IFCRELAXATION, + IFCRELCONNECTS: IFCRELCONNECTS, + IFCRELCONNECTSELEMENTS: IFCRELCONNECTSELEMENTS, + IFCRELCONNECTSPATHELEMENTS: IFCRELCONNECTSPATHELEMENTS, + IFCRELCONNECTSPORTS: IFCRELCONNECTSPORTS, + IFCRELCONNECTSPORTTOELEMENT: IFCRELCONNECTSPORTTOELEMENT, + IFCRELCONNECTSSTRUCTURALACTIVITY: IFCRELCONNECTSSTRUCTURALACTIVITY, + IFCRELCONNECTSSTRUCTURALELEMENT: IFCRELCONNECTSSTRUCTURALELEMENT, + IFCRELCONNECTSSTRUCTURALMEMBER: IFCRELCONNECTSSTRUCTURALMEMBER, + IFCRELCONNECTSWITHECCENTRICITY: IFCRELCONNECTSWITHECCENTRICITY, + IFCRELCONNECTSWITHREALIZINGELEMENTS: IFCRELCONNECTSWITHREALIZINGELEMENTS, + IFCRELCONTAINEDINSPATIALSTRUCTURE: IFCRELCONTAINEDINSPATIALSTRUCTURE, + IFCRELCOVERSBLDGELEMENTS: IFCRELCOVERSBLDGELEMENTS, + IFCRELCOVERSSPACES: IFCRELCOVERSSPACES, + IFCRELDECLARES: IFCRELDECLARES, + IFCRELDECOMPOSES: IFCRELDECOMPOSES, + IFCRELDEFINES: IFCRELDEFINES, + IFCRELDEFINESBYOBJECT: IFCRELDEFINESBYOBJECT, + IFCRELDEFINESBYPROPERTIES: IFCRELDEFINESBYPROPERTIES, + IFCRELDEFINESBYTEMPLATE: IFCRELDEFINESBYTEMPLATE, + IFCRELDEFINESBYTYPE: IFCRELDEFINESBYTYPE, + IFCRELFILLSELEMENT: IFCRELFILLSELEMENT, + IFCRELFLOWCONTROLELEMENTS: IFCRELFLOWCONTROLELEMENTS, + IFCRELINTERACTIONREQUIREMENTS: IFCRELINTERACTIONREQUIREMENTS, + IFCRELINTERFERESELEMENTS: IFCRELINTERFERESELEMENTS, + IFCRELNESTS: IFCRELNESTS, + IFCRELOCCUPIESSPACES: IFCRELOCCUPIESSPACES, + IFCRELOVERRIDESPROPERTIES: IFCRELOVERRIDESPROPERTIES, + IFCRELPOSITIONS: IFCRELPOSITIONS, + IFCRELPROJECTSELEMENT: IFCRELPROJECTSELEMENT, + IFCRELREFERENCEDINSPATIALSTRUCTURE: IFCRELREFERENCEDINSPATIALSTRUCTURE, + IFCRELSCHEDULESCOSTITEMS: IFCRELSCHEDULESCOSTITEMS, + IFCRELSEQUENCE: IFCRELSEQUENCE, + IFCRELSERVICESBUILDINGS: IFCRELSERVICESBUILDINGS, + IFCRELSPACEBOUNDARY: IFCRELSPACEBOUNDARY, + IFCRELSPACEBOUNDARY1STLEVEL: IFCRELSPACEBOUNDARY1STLEVEL, + IFCRELSPACEBOUNDARY2NDLEVEL: IFCRELSPACEBOUNDARY2NDLEVEL, + IFCRELVOIDSELEMENT: IFCRELVOIDSELEMENT, + IFCREPARAMETRISEDCOMPOSITECURVESEGMENT: IFCREPARAMETRISEDCOMPOSITECURVESEGMENT, + IFCREPRESENTATION: IFCREPRESENTATION, + IFCREPRESENTATIONCONTEXT: IFCREPRESENTATIONCONTEXT, + IFCREPRESENTATIONITEM: IFCREPRESENTATIONITEM, + IFCREPRESENTATIONMAP: IFCREPRESENTATIONMAP, + IFCRESOURCE: IFCRESOURCE, + IFCRESOURCEAPPROVALRELATIONSHIP: IFCRESOURCEAPPROVALRELATIONSHIP, + IFCRESOURCECONSTRAINTRELATIONSHIP: IFCRESOURCECONSTRAINTRELATIONSHIP, + IFCRESOURCELEVELRELATIONSHIP: IFCRESOURCELEVELRELATIONSHIP, + IFCRESOURCETIME: IFCRESOURCETIME, + IFCREVOLVEDAREASOLID: IFCREVOLVEDAREASOLID, + IFCREVOLVEDAREASOLIDTAPERED: IFCREVOLVEDAREASOLIDTAPERED, + IFCRIBPLATEPROFILEPROPERTIES: IFCRIBPLATEPROFILEPROPERTIES, + IFCRIGHTCIRCULARCONE: IFCRIGHTCIRCULARCONE, + IFCRIGHTCIRCULARCYLINDER: IFCRIGHTCIRCULARCYLINDER, + IFCROAD: IFCROAD, + IFCROADPART: IFCROADPART, + IFCROOF: IFCROOF, + IFCROOFTYPE: IFCROOFTYPE, + IFCROOT: IFCROOT, + IFCROTATIONALFREQUENCYMEASURE: IFCROTATIONALFREQUENCYMEASURE, + IFCROTATIONALMASSMEASURE: IFCROTATIONALMASSMEASURE, + IFCROTATIONALSTIFFNESSMEASURE: IFCROTATIONALSTIFFNESSMEASURE, + IFCROUNDEDEDGEFEATURE: IFCROUNDEDEDGEFEATURE, + IFCROUNDEDRECTANGLEPROFILEDEF: IFCROUNDEDRECTANGLEPROFILEDEF, + IFCSANITARYTERMINAL: IFCSANITARYTERMINAL, + IFCSANITARYTERMINALTYPE: IFCSANITARYTERMINALTYPE, + IFCSCHEDULETIMECONTROL: IFCSCHEDULETIMECONTROL, + IFCSCHEDULINGTIME: IFCSCHEDULINGTIME, + IFCSEAMCURVE: IFCSEAMCURVE, + IFCSECONDINMINUTE: IFCSECONDINMINUTE, + IFCSECONDORDERPOLYNOMIALSPIRAL: IFCSECONDORDERPOLYNOMIALSPIRAL, + IFCSECTIONALAREAINTEGRALMEASURE: IFCSECTIONALAREAINTEGRALMEASURE, + IFCSECTIONEDSOLID: IFCSECTIONEDSOLID, + IFCSECTIONEDSOLIDHORIZONTAL: IFCSECTIONEDSOLIDHORIZONTAL, + IFCSECTIONEDSPINE: IFCSECTIONEDSPINE, + IFCSECTIONEDSURFACE: IFCSECTIONEDSURFACE, + IFCSECTIONMODULUSMEASURE: IFCSECTIONMODULUSMEASURE, + IFCSECTIONPROPERTIES: IFCSECTIONPROPERTIES, + IFCSECTIONREINFORCEMENTPROPERTIES: IFCSECTIONREINFORCEMENTPROPERTIES, + IFCSEGMENT: IFCSEGMENT, + IFCSEGMENTEDREFERENCECURVE: IFCSEGMENTEDREFERENCECURVE, + IFCSENSOR: IFCSENSOR, + IFCSENSORTYPE: IFCSENSORTYPE, + IFCSERVICELIFE: IFCSERVICELIFE, + IFCSERVICELIFEFACTOR: IFCSERVICELIFEFACTOR, + IFCSEVENTHORDERPOLYNOMIALSPIRAL: IFCSEVENTHORDERPOLYNOMIALSPIRAL, + IFCSHADINGDEVICE: IFCSHADINGDEVICE, + IFCSHADINGDEVICETYPE: IFCSHADINGDEVICETYPE, + IFCSHAPEASPECT: IFCSHAPEASPECT, + IFCSHAPEMODEL: IFCSHAPEMODEL, + IFCSHAPEREPRESENTATION: IFCSHAPEREPRESENTATION, + IFCSHEARMODULUSMEASURE: IFCSHEARMODULUSMEASURE, + IFCSHELLBASEDSURFACEMODEL: IFCSHELLBASEDSURFACEMODEL, + IFCSIGN: IFCSIGN, + IFCSIGNAL: IFCSIGNAL, + IFCSIGNALTYPE: IFCSIGNALTYPE, + IFCSIGNTYPE: IFCSIGNTYPE, + IFCSIMPLEPROPERTY: IFCSIMPLEPROPERTY, + IFCSIMPLEPROPERTYTEMPLATE: IFCSIMPLEPROPERTYTEMPLATE, + IFCSINESPIRAL: IFCSINESPIRAL, + IFCSITE: IFCSITE, + IFCSIUNIT: IFCSIUNIT, + IFCSLAB: IFCSLAB, + IFCSLABELEMENTEDCASE: IFCSLABELEMENTEDCASE, + IFCSLABSTANDARDCASE: IFCSLABSTANDARDCASE, + IFCSLABTYPE: IFCSLABTYPE, + IFCSLIPPAGECONNECTIONCONDITION: IFCSLIPPAGECONNECTIONCONDITION, + IFCSOLARDEVICE: IFCSOLARDEVICE, + IFCSOLARDEVICETYPE: IFCSOLARDEVICETYPE, + IFCSOLIDANGLEMEASURE: IFCSOLIDANGLEMEASURE, + IFCSOLIDMODEL: IFCSOLIDMODEL, + IFCSOUNDPOWERLEVELMEASURE: IFCSOUNDPOWERLEVELMEASURE, + IFCSOUNDPOWERMEASURE: IFCSOUNDPOWERMEASURE, + IFCSOUNDPRESSURELEVELMEASURE: IFCSOUNDPRESSURELEVELMEASURE, + IFCSOUNDPRESSUREMEASURE: IFCSOUNDPRESSUREMEASURE, + IFCSOUNDPROPERTIES: IFCSOUNDPROPERTIES, + IFCSOUNDVALUE: IFCSOUNDVALUE, + IFCSPACE: IFCSPACE, + IFCSPACEHEATER: IFCSPACEHEATER, + IFCSPACEHEATERTYPE: IFCSPACEHEATERTYPE, + IFCSPACEPROGRAM: IFCSPACEPROGRAM, + IFCSPACETHERMALLOADPROPERTIES: IFCSPACETHERMALLOADPROPERTIES, + IFCSPACETYPE: IFCSPACETYPE, + IFCSPATIALELEMENT: IFCSPATIALELEMENT, + IFCSPATIALELEMENTTYPE: IFCSPATIALELEMENTTYPE, + IFCSPATIALSTRUCTUREELEMENT: IFCSPATIALSTRUCTUREELEMENT, + IFCSPATIALSTRUCTUREELEMENTTYPE: IFCSPATIALSTRUCTUREELEMENTTYPE, + IFCSPATIALZONE: IFCSPATIALZONE, + IFCSPATIALZONETYPE: IFCSPATIALZONETYPE, + IFCSPECIFICHEATCAPACITYMEASURE: IFCSPECIFICHEATCAPACITYMEASURE, + IFCSPECULAREXPONENT: IFCSPECULAREXPONENT, + IFCSPECULARROUGHNESS: IFCSPECULARROUGHNESS, + IFCSPHERE: IFCSPHERE, + IFCSPHERICALSURFACE: IFCSPHERICALSURFACE, + IFCSPIRAL: IFCSPIRAL, + IFCSTACKTERMINAL: IFCSTACKTERMINAL, + IFCSTACKTERMINALTYPE: IFCSTACKTERMINALTYPE, + IFCSTAIR: IFCSTAIR, + IFCSTAIRFLIGHT: IFCSTAIRFLIGHT, + IFCSTAIRFLIGHTTYPE: IFCSTAIRFLIGHTTYPE, + IFCSTAIRTYPE: IFCSTAIRTYPE, + IFCSTRUCTURALACTION: IFCSTRUCTURALACTION, + IFCSTRUCTURALACTIVITY: IFCSTRUCTURALACTIVITY, + IFCSTRUCTURALANALYSISMODEL: IFCSTRUCTURALANALYSISMODEL, + IFCSTRUCTURALCONNECTION: IFCSTRUCTURALCONNECTION, + IFCSTRUCTURALCONNECTIONCONDITION: IFCSTRUCTURALCONNECTIONCONDITION, + IFCSTRUCTURALCURVEACTION: IFCSTRUCTURALCURVEACTION, + IFCSTRUCTURALCURVECONNECTION: IFCSTRUCTURALCURVECONNECTION, + IFCSTRUCTURALCURVEMEMBER: IFCSTRUCTURALCURVEMEMBER, + IFCSTRUCTURALCURVEMEMBERVARYING: IFCSTRUCTURALCURVEMEMBERVARYING, + IFCSTRUCTURALCURVEREACTION: IFCSTRUCTURALCURVEREACTION, + IFCSTRUCTURALITEM: IFCSTRUCTURALITEM, + IFCSTRUCTURALLINEARACTION: IFCSTRUCTURALLINEARACTION, + IFCSTRUCTURALLINEARACTIONVARYING: IFCSTRUCTURALLINEARACTIONVARYING, + IFCSTRUCTURALLOAD: IFCSTRUCTURALLOAD, + IFCSTRUCTURALLOADCASE: IFCSTRUCTURALLOADCASE, + IFCSTRUCTURALLOADCONFIGURATION: IFCSTRUCTURALLOADCONFIGURATION, + IFCSTRUCTURALLOADGROUP: IFCSTRUCTURALLOADGROUP, + IFCSTRUCTURALLOADLINEARFORCE: IFCSTRUCTURALLOADLINEARFORCE, + IFCSTRUCTURALLOADORRESULT: IFCSTRUCTURALLOADORRESULT, + IFCSTRUCTURALLOADPLANARFORCE: IFCSTRUCTURALLOADPLANARFORCE, + IFCSTRUCTURALLOADSINGLEDISPLACEMENT: IFCSTRUCTURALLOADSINGLEDISPLACEMENT, + IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION: IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, + IFCSTRUCTURALLOADSINGLEFORCE: IFCSTRUCTURALLOADSINGLEFORCE, + IFCSTRUCTURALLOADSINGLEFORCEWARPING: IFCSTRUCTURALLOADSINGLEFORCEWARPING, + IFCSTRUCTURALLOADSTATIC: IFCSTRUCTURALLOADSTATIC, + IFCSTRUCTURALLOADTEMPERATURE: IFCSTRUCTURALLOADTEMPERATURE, + IFCSTRUCTURALMEMBER: IFCSTRUCTURALMEMBER, + IFCSTRUCTURALPLANARACTION: IFCSTRUCTURALPLANARACTION, + IFCSTRUCTURALPLANARACTIONVARYING: IFCSTRUCTURALPLANARACTIONVARYING, + IFCSTRUCTURALPOINTACTION: IFCSTRUCTURALPOINTACTION, + IFCSTRUCTURALPOINTCONNECTION: IFCSTRUCTURALPOINTCONNECTION, + IFCSTRUCTURALPOINTREACTION: IFCSTRUCTURALPOINTREACTION, + IFCSTRUCTURALPROFILEPROPERTIES: IFCSTRUCTURALPROFILEPROPERTIES, + IFCSTRUCTURALREACTION: IFCSTRUCTURALREACTION, + IFCSTRUCTURALRESULTGROUP: IFCSTRUCTURALRESULTGROUP, + IFCSTRUCTURALSTEELPROFILEPROPERTIES: IFCSTRUCTURALSTEELPROFILEPROPERTIES, + IFCSTRUCTURALSURFACEACTION: IFCSTRUCTURALSURFACEACTION, + IFCSTRUCTURALSURFACECONNECTION: IFCSTRUCTURALSURFACECONNECTION, + IFCSTRUCTURALSURFACEMEMBER: IFCSTRUCTURALSURFACEMEMBER, + IFCSTRUCTURALSURFACEMEMBERVARYING: IFCSTRUCTURALSURFACEMEMBERVARYING, + IFCSTRUCTURALSURFACEREACTION: IFCSTRUCTURALSURFACEREACTION, + IFCSTRUCTUREDDIMENSIONCALLOUT: IFCSTRUCTUREDDIMENSIONCALLOUT, + IFCSTYLEDITEM: IFCSTYLEDITEM, + IFCSTYLEDREPRESENTATION: IFCSTYLEDREPRESENTATION, + IFCSTYLEMODEL: IFCSTYLEMODEL, + IFCSUBCONTRACTRESOURCE: IFCSUBCONTRACTRESOURCE, + IFCSUBCONTRACTRESOURCETYPE: IFCSUBCONTRACTRESOURCETYPE, + IFCSUBEDGE: IFCSUBEDGE, + IFCSURFACE: IFCSURFACE, + IFCSURFACECURVE: IFCSURFACECURVE, + IFCSURFACECURVESWEPTAREASOLID: IFCSURFACECURVESWEPTAREASOLID, + IFCSURFACEFEATURE: IFCSURFACEFEATURE, + IFCSURFACEOFLINEAREXTRUSION: IFCSURFACEOFLINEAREXTRUSION, + IFCSURFACEOFREVOLUTION: IFCSURFACEOFREVOLUTION, + IFCSURFACEREINFORCEMENTAREA: IFCSURFACEREINFORCEMENTAREA, + IFCSURFACESTYLE: IFCSURFACESTYLE, + IFCSURFACESTYLELIGHTING: IFCSURFACESTYLELIGHTING, + IFCSURFACESTYLEREFRACTION: IFCSURFACESTYLEREFRACTION, + IFCSURFACESTYLERENDERING: IFCSURFACESTYLERENDERING, + IFCSURFACESTYLESHADING: IFCSURFACESTYLESHADING, + IFCSURFACESTYLEWITHTEXTURES: IFCSURFACESTYLEWITHTEXTURES, + IFCSURFACETEXTURE: IFCSURFACETEXTURE, + IFCSWEPTAREASOLID: IFCSWEPTAREASOLID, + IFCSWEPTDISKSOLID: IFCSWEPTDISKSOLID, + IFCSWEPTDISKSOLIDPOLYGONAL: IFCSWEPTDISKSOLIDPOLYGONAL, + IFCSWEPTSURFACE: IFCSWEPTSURFACE, + IFCSWITCHINGDEVICE: IFCSWITCHINGDEVICE, + IFCSWITCHINGDEVICETYPE: IFCSWITCHINGDEVICETYPE, + IFCSYMBOLSTYLE: IFCSYMBOLSTYLE, + IFCSYSTEM: IFCSYSTEM, + IFCSYSTEMFURNITUREELEMENT: IFCSYSTEMFURNITUREELEMENT, + IFCSYSTEMFURNITUREELEMENTTYPE: IFCSYSTEMFURNITUREELEMENTTYPE, + IFCTABLE: IFCTABLE, + IFCTABLECOLUMN: IFCTABLECOLUMN, + IFCTABLEROW: IFCTABLEROW, + IFCTANK: IFCTANK, + IFCTANKTYPE: IFCTANKTYPE, + IFCTASK: IFCTASK, + IFCTASKTIME: IFCTASKTIME, + IFCTASKTIMERECURRING: IFCTASKTIMERECURRING, + IFCTASKTYPE: IFCTASKTYPE, + IFCTELECOMADDRESS: IFCTELECOMADDRESS, + IFCTEMPERATUREGRADIENTMEASURE: IFCTEMPERATUREGRADIENTMEASURE, + IFCTEMPERATURERATEOFCHANGEMEASURE: IFCTEMPERATURERATEOFCHANGEMEASURE, + IFCTENDON: IFCTENDON, + IFCTENDONANCHOR: IFCTENDONANCHOR, + IFCTENDONANCHORTYPE: IFCTENDONANCHORTYPE, + IFCTENDONCONDUIT: IFCTENDONCONDUIT, + IFCTENDONCONDUITTYPE: IFCTENDONCONDUITTYPE, + IFCTENDONTYPE: IFCTENDONTYPE, + IFCTERMINATORSYMBOL: IFCTERMINATORSYMBOL, + IFCTESSELLATEDFACESET: IFCTESSELLATEDFACESET, + IFCTESSELLATEDITEM: IFCTESSELLATEDITEM, + IFCTEXT: IFCTEXT, + IFCTEXTALIGNMENT: IFCTEXTALIGNMENT, + IFCTEXTDECORATION: IFCTEXTDECORATION, + IFCTEXTFONTNAME: IFCTEXTFONTNAME, + IFCTEXTLITERAL: IFCTEXTLITERAL, + IFCTEXTLITERALWITHEXTENT: IFCTEXTLITERALWITHEXTENT, + IFCTEXTSTYLE: IFCTEXTSTYLE, + IFCTEXTSTYLEFONTMODEL: IFCTEXTSTYLEFONTMODEL, + IFCTEXTSTYLEFORDEFINEDFONT: IFCTEXTSTYLEFORDEFINEDFONT, + IFCTEXTSTYLETEXTMODEL: IFCTEXTSTYLETEXTMODEL, + IFCTEXTSTYLEWITHBOXCHARACTERISTICS: IFCTEXTSTYLEWITHBOXCHARACTERISTICS, + IFCTEXTTRANSFORMATION: IFCTEXTTRANSFORMATION, + IFCTEXTURECOORDINATE: IFCTEXTURECOORDINATE, + IFCTEXTURECOORDINATEGENERATOR: IFCTEXTURECOORDINATEGENERATOR, + IFCTEXTURECOORDINATEINDICES: IFCTEXTURECOORDINATEINDICES, + IFCTEXTURECOORDINATEINDICESWITHVOIDS: IFCTEXTURECOORDINATEINDICESWITHVOIDS, + IFCTEXTUREMAP: IFCTEXTUREMAP, + IFCTEXTUREVERTEX: IFCTEXTUREVERTEX, + IFCTEXTUREVERTEXLIST: IFCTEXTUREVERTEXLIST, + IFCTHERMALADMITTANCEMEASURE: IFCTHERMALADMITTANCEMEASURE, + IFCTHERMALCONDUCTIVITYMEASURE: IFCTHERMALCONDUCTIVITYMEASURE, + IFCTHERMALEXPANSIONCOEFFICIENTMEASURE: IFCTHERMALEXPANSIONCOEFFICIENTMEASURE, + IFCTHERMALMATERIALPROPERTIES: IFCTHERMALMATERIALPROPERTIES, + IFCTHERMALRESISTANCEMEASURE: IFCTHERMALRESISTANCEMEASURE, + IFCTHERMALTRANSMITTANCEMEASURE: IFCTHERMALTRANSMITTANCEMEASURE, + IFCTHERMODYNAMICTEMPERATUREMEASURE: IFCTHERMODYNAMICTEMPERATUREMEASURE, + IFCTHIRDORDERPOLYNOMIALSPIRAL: IFCTHIRDORDERPOLYNOMIALSPIRAL, + IFCTIME: IFCTIME, + IFCTIMEMEASURE: IFCTIMEMEASURE, + IFCTIMEPERIOD: IFCTIMEPERIOD, + IFCTIMESERIES: IFCTIMESERIES, + IFCTIMESERIESREFERENCERELATIONSHIP: IFCTIMESERIESREFERENCERELATIONSHIP, + IFCTIMESERIESSCHEDULE: IFCTIMESERIESSCHEDULE, + IFCTIMESERIESVALUE: IFCTIMESERIESVALUE, + IFCTIMESTAMP: IFCTIMESTAMP, + IFCTOPOLOGICALREPRESENTATIONITEM: IFCTOPOLOGICALREPRESENTATIONITEM, + IFCTOPOLOGYREPRESENTATION: IFCTOPOLOGYREPRESENTATION, + IFCTOROIDALSURFACE: IFCTOROIDALSURFACE, + IFCTORQUEMEASURE: IFCTORQUEMEASURE, + IFCTRACKELEMENT: IFCTRACKELEMENT, + IFCTRACKELEMENTTYPE: IFCTRACKELEMENTTYPE, + IFCTRANSFORMER: IFCTRANSFORMER, + IFCTRANSFORMERTYPE: IFCTRANSFORMERTYPE, + IFCTRANSPORTATIONDEVICE: IFCTRANSPORTATIONDEVICE, + IFCTRANSPORTATIONDEVICETYPE: IFCTRANSPORTATIONDEVICETYPE, + IFCTRANSPORTELEMENT: IFCTRANSPORTELEMENT, + IFCTRANSPORTELEMENTTYPE: IFCTRANSPORTELEMENTTYPE, + IFCTRAPEZIUMPROFILEDEF: IFCTRAPEZIUMPROFILEDEF, + IFCTRIANGULATEDFACESET: IFCTRIANGULATEDFACESET, + IFCTRIANGULATEDIRREGULARNETWORK: IFCTRIANGULATEDIRREGULARNETWORK, + IFCTRIMMEDCURVE: IFCTRIMMEDCURVE, + IFCTSHAPEPROFILEDEF: IFCTSHAPEPROFILEDEF, + IFCTUBEBUNDLE: IFCTUBEBUNDLE, + IFCTUBEBUNDLETYPE: IFCTUBEBUNDLETYPE, + IFCTWODIRECTIONREPEATFACTOR: IFCTWODIRECTIONREPEATFACTOR, + IFCTYPEOBJECT: IFCTYPEOBJECT, + IFCTYPEPROCESS: IFCTYPEPROCESS, + IFCTYPEPRODUCT: IFCTYPEPRODUCT, + IFCTYPERESOURCE: IFCTYPERESOURCE, + IFCUNITARYCONTROLELEMENT: IFCUNITARYCONTROLELEMENT, + IFCUNITARYCONTROLELEMENTTYPE: IFCUNITARYCONTROLELEMENTTYPE, + IFCUNITARYEQUIPMENT: IFCUNITARYEQUIPMENT, + IFCUNITARYEQUIPMENTTYPE: IFCUNITARYEQUIPMENTTYPE, + IFCUNITASSIGNMENT: IFCUNITASSIGNMENT, + IFCURIREFERENCE: IFCURIREFERENCE, + IFCUSHAPEPROFILEDEF: IFCUSHAPEPROFILEDEF, + IFCVALVE: IFCVALVE, + IFCVALVETYPE: IFCVALVETYPE, + IFCVAPORPERMEABILITYMEASURE: IFCVAPORPERMEABILITYMEASURE, + IFCVECTOR: IFCVECTOR, + IFCVEHICLE: IFCVEHICLE, + IFCVEHICLETYPE: IFCVEHICLETYPE, + IFCVERTEX: IFCVERTEX, + IFCVERTEXBASEDTEXTUREMAP: IFCVERTEXBASEDTEXTUREMAP, + IFCVERTEXLOOP: IFCVERTEXLOOP, + IFCVERTEXPOINT: IFCVERTEXPOINT, + IFCVIBRATIONDAMPER: IFCVIBRATIONDAMPER, + IFCVIBRATIONDAMPERTYPE: IFCVIBRATIONDAMPERTYPE, + IFCVIBRATIONISOLATOR: IFCVIBRATIONISOLATOR, + IFCVIBRATIONISOLATORTYPE: IFCVIBRATIONISOLATORTYPE, + IFCVIRTUALELEMENT: IFCVIRTUALELEMENT, + IFCVIRTUALGRIDINTERSECTION: IFCVIRTUALGRIDINTERSECTION, + IFCVOIDINGFEATURE: IFCVOIDINGFEATURE, + IFCVOLUMEMEASURE: IFCVOLUMEMEASURE, + IFCVOLUMETRICFLOWRATEMEASURE: IFCVOLUMETRICFLOWRATEMEASURE, + IFCWALL: IFCWALL, + IFCWALLELEMENTEDCASE: IFCWALLELEMENTEDCASE, + IFCWALLSTANDARDCASE: IFCWALLSTANDARDCASE, + IFCWALLTYPE: IFCWALLTYPE, + IFCWARPINGCONSTANTMEASURE: IFCWARPINGCONSTANTMEASURE, + IFCWARPINGMOMENTMEASURE: IFCWARPINGMOMENTMEASURE, + IFCWASTETERMINAL: IFCWASTETERMINAL, + IFCWASTETERMINALTYPE: IFCWASTETERMINALTYPE, + IFCWATERPROPERTIES: IFCWATERPROPERTIES, + IFCWINDOW: IFCWINDOW, + IFCWINDOWLININGPROPERTIES: IFCWINDOWLININGPROPERTIES, + IFCWINDOWPANELPROPERTIES: IFCWINDOWPANELPROPERTIES, + IFCWINDOWSTANDARDCASE: IFCWINDOWSTANDARDCASE, + IFCWINDOWSTYLE: IFCWINDOWSTYLE, + IFCWINDOWTYPE: IFCWINDOWTYPE, + IFCWORKCALENDAR: IFCWORKCALENDAR, + IFCWORKCONTROL: IFCWORKCONTROL, + IFCWORKPLAN: IFCWORKPLAN, + IFCWORKSCHEDULE: IFCWORKSCHEDULE, + IFCWORKTIME: IFCWORKTIME, + IFCYEARNUMBER: IFCYEARNUMBER, + IFCZONE: IFCZONE, + IFCZSHAPEPROFILEDEF: IFCZSHAPEPROFILEDEF, + INTEGER: INTEGER, + IfcAPI: IfcAPI2, + IfcLineObject: IfcLineObject$1, + InheritanceDef: InheritanceDef, + InversePropertyDef: InversePropertyDef, + LABEL: LABEL, + LINE_END: LINE_END, + get LogLevel () { return LogLevel$1; }, + Properties: Properties, + REAL: REAL, + REF: REF, + SET_BEGIN: SET_BEGIN, + SET_END: SET_END, + STRING: STRING, + SchemaNames: SchemaNames, + get Schemas () { return Schemas$1; }, + ToRawLineData: ToRawLineData, + TypeInitialisers: TypeInitialisers, + UNKNOWN: UNKNOWN, + get logical () { return logical; }, + ms: ms +}); + +const IfcElements = { + 103090709: "IFCPROJECT", + 4097777520: "IFCSITE", + 4031249490: "IFCBUILDING", + 3124254112: "IFCBUILDINGSTOREY", + 3856911033: "IFCSPACE", + 1674181508: "IFCANNOTATION", + 25142252: "IFCCONTROLLER", + 32344328: "IFCBOILER", + 76236018: "IFCLAMP", + 90941305: "IFCPUMP", + 177149247: "IFCAIRTERMINALBOX", + 182646315: "IFCFLOWINSTRUMENT", + 263784265: "IFCFURNISHINGELEMENT", + 264262732: "IFCELECTRICGENERATOR", + 277319702: "IFCAUDIOVISUALAPPLIANCE", + 310824031: "IFCPIPEFITTING", + 331165859: "IFCSTAIR", + 342316401: "IFCDUCTFITTING", + 377706215: "IFCMECHANICALFASTENER", + 395920057: "IFCDOOR", + 402227799: "IFCELECTRICMOTOR", + 413509423: "IFCSYSTEMFURNITUREELEMENT", + 484807127: "IFCEVAPORATOR", + 486154966: "IFCWINDOWSTANDARDCASE", + 629592764: "IFCLIGHTFIXTURE", + 630975310: "IFCUNITARYCONTROLELEMENT", + 635142910: "IFCCABLECARRIERFITTING", + 639361253: "IFCCOIL", + 647756555: "IFCFASTENER", + 707683696: "IFCFLOWSTORAGEDEVICE", + 738039164: "IFCPROTECTIVEDEVICE", + 753842376: "IFCBEAM", + 812556717: "IFCTANK", + 819412036: "IFCFILTER", + 843113511: "IFCCOLUMN", + 862014818: "IFCELECTRICDISTRIBUTIONBOARD", + 900683007: "IFCFOOTING", + 905975707: "IFCCOLUMNSTANDARDCASE", + 926996030: "IFCVOIDINGFEATURE", + 979691226: "IFCREINFORCINGBAR", + 987401354: "IFCFLOWSEGMENT", + 1003880860: "IFCELECTRICTIMECONTROL", + 1051757585: "IFCCABLEFITTING", + 1052013943: "IFCDISTRIBUTIONCHAMBERELEMENT", + 1062813311: "IFCDISTRIBUTIONCONTROLELEMENT", + 1073191201: "IFCMEMBER", + 1095909175: "IFCBUILDINGELEMENTPROXY", + 1156407060: "IFCPLATESTANDARDCASE", + 1162798199: "IFCSWITCHINGDEVICE", + 1329646415: "IFCSHADINGDEVICE", + 1335981549: "IFCDISCRETEACCESSORY", + 1360408905: "IFCDUCTSILENCER", + 1404847402: "IFCSTACKTERMINAL", + 1426591983: "IFCFIRESUPPRESSIONTERMINAL", + 1437502449: "IFCMEDICALDEVICE", + 1509553395: "IFCFURNITURE", + 1529196076: "IFCSLAB", + 1620046519: "IFCTRANSPORTELEMENT", + 1634111441: "IFCAIRTERMINAL", + 1658829314: "IFCENERGYCONVERSIONDEVICE", + 1677625105: "IFCCIVILELEMENT", + 1687234759: "IFCPILE", + 1904799276: "IFCELECTRICAPPLIANCE", + 1911478936: "IFCMEMBERSTANDARDCASE", + 1945004755: "IFCDISTRIBUTIONELEMENT", + 1973544240: "IFCCOVERING", + 1999602285: "IFCSPACEHEATER", + 2016517767: "IFCROOF", + 2056796094: "IFCAIRTOAIRHEATRECOVERY", + 2058353004: "IFCFLOWCONTROLLER", + 2068733104: "IFCHUMIDIFIER", + 2176052936: "IFCJUNCTIONBOX", + 2188021234: "IFCFLOWMETER", + 2223149337: "IFCFLOWTERMINAL", + 2262370178: "IFCRAILING", + 2272882330: "IFCCONDENSER", + 2295281155: "IFCPROTECTIVEDEVICETRIPPINGUNIT", + 2320036040: "IFCREINFORCINGMESH", + 2347447852: "IFCTENDONANCHOR", + 2391383451: "IFCVIBRATIONISOLATOR", + 2391406946: "IFCWALL", + 2474470126: "IFCMOTORCONNECTION", + 2769231204: "IFCVIRTUALELEMENT", + 2814081492: "IFCENGINE", + 2906023776: "IFCBEAMSTANDARDCASE", + 2938176219: "IFCBURNER", + 2979338954: "IFCBUILDINGELEMENTPART", + 3024970846: "IFCRAMP", + 3026737570: "IFCTUBEBUNDLE", + 3027962421: "IFCSLABSTANDARDCASE", + 3040386961: "IFCDISTRIBUTIONFLOWELEMENT", + 3053780830: "IFCSANITARYTERMINAL", + 3079942009: "IFCOPENINGSTANDARDCASE", + 3087945054: "IFCALARM", + 3101698114: "IFCSURFACEFEATURE", + 3127900445: "IFCSLABELEMENTEDCASE", + 3132237377: "IFCFLOWMOVINGDEVICE", + 3171933400: "IFCPLATE", + 3221913625: "IFCCOMMUNICATIONSAPPLIANCE", + 3242481149: "IFCDOORSTANDARDCASE", + 3283111854: "IFCRAMPFLIGHT", + 3296154744: "IFCCHIMNEY", + 3304561284: "IFCWINDOW", + 3310460725: "IFCELECTRICFLOWSTORAGEDEVICE", + 3319311131: "IFCHEATEXCHANGER", + 3415622556: "IFCFAN", + 3420628829: "IFCSOLARDEVICE", + 3493046030: "IFCGEOGRAPHICELEMENT", + 3495092785: "IFCCURTAINWALL", + 3508470533: "IFCFLOWTREATMENTDEVICE", + 3512223829: "IFCWALLSTANDARDCASE", + 3518393246: "IFCDUCTSEGMENT", + 3571504051: "IFCCOMPRESSOR", + 3588315303: "IFCOPENINGELEMENT", + 3612865200: "IFCPIPESEGMENT", + 3640358203: "IFCCOOLINGTOWER", + 3651124850: "IFCPROJECTIONELEMENT", + 3694346114: "IFCOUTLET", + 3747195512: "IFCEVAPORATIVECOOLER", + 3758799889: "IFCCABLECARRIERSEGMENT", + 3824725483: "IFCTENDON", + 3825984169: "IFCTRANSFORMER", + 3902619387: "IFCCHILLER", + 4074379575: "IFCDAMPER", + 4086658281: "IFCSENSOR", + 4123344466: "IFCELEMENTASSEMBLY", + 4136498852: "IFCCOOLEDBEAM", + 4156078855: "IFCWALLELEMENTEDCASE", + 4175244083: "IFCINTERCEPTOR", + 4207607924: "IFCVALVE", + 4217484030: "IFCCABLESEGMENT", + 4237592921: "IFCWASTETERMINAL", + 4252922144: "IFCSTAIRFLIGHT", + 4278956645: "IFCFLOWFITTING", + 4288193352: "IFCACTUATOR", + 4292641817: "IFCUNITARYEQUIPMENT", + 3009204131: "IFCGRID", +}; + +class IfcCategories { + getAll(webIfc, modelID) { + const elementsCategories = {}; + const categoriesIDs = Object.keys(IfcElements).map((e) => parseInt(e, 10)); + for (let i = 0; i < categoriesIDs.length; i++) { + const element = categoriesIDs[i]; + const lines = webIfc.GetLineIDsWithType(modelID, element); + const size = lines.size(); + for (let i = 0; i < size; i++) { + elementsCategories[lines.get(i)] = element; + } + } + return elementsCategories; + } +} + +const IfcCategoryMap = { + 3821786052: "IFCACTIONREQUEST", + 2296667514: "IFCACTOR", + 3630933823: "IFCACTORROLE", + 4288193352: "IFCACTUATOR", + 2874132201: "IFCACTUATORTYPE", + 618182010: "IFCADDRESS", + 1635779807: "IFCADVANCEDBREP", + 2603310189: "IFCADVANCEDBREPWITHVOIDS", + 3406155212: "IFCADVANCEDFACE", + 1634111441: "IFCAIRTERMINAL", + 177149247: "IFCAIRTERMINALBOX", + 1411407467: "IFCAIRTERMINALBOXTYPE", + 3352864051: "IFCAIRTERMINALTYPE", + 2056796094: "IFCAIRTOAIRHEATRECOVERY", + 1871374353: "IFCAIRTOAIRHEATRECOVERYTYPE", + 3087945054: "IFCALARM", + 3001207471: "IFCALARMTYPE", + 325726236: "IFCALIGNMENT", + 749761778: "IFCALIGNMENT2DHORIZONTAL", + 3199563722: "IFCALIGNMENT2DHORIZONTALSEGMENT", + 2483840362: "IFCALIGNMENT2DSEGMENT", + 3379348081: "IFCALIGNMENT2DVERSEGCIRCULARARC", + 3239324667: "IFCALIGNMENT2DVERSEGLINE", + 4263986512: "IFCALIGNMENT2DVERSEGPARABOLICARC", + 53199957: "IFCALIGNMENT2DVERTICAL", + 2029264950: "IFCALIGNMENT2DVERTICALSEGMENT", + 3512275521: "IFCALIGNMENTCURVE", + 1674181508: "IFCANNOTATION", + 669184980: "IFCANNOTATIONFILLAREA", + 639542469: "IFCAPPLICATION", + 411424972: "IFCAPPLIEDVALUE", + 130549933: "IFCAPPROVAL", + 3869604511: "IFCAPPROVALRELATIONSHIP", + 3798115385: "IFCARBITRARYCLOSEDPROFILEDEF", + 1310608509: "IFCARBITRARYOPENPROFILEDEF", + 2705031697: "IFCARBITRARYPROFILEDEFWITHVOIDS", + 3460190687: "IFCASSET", + 3207858831: "IFCASYMMETRICISHAPEPROFILEDEF", + 277319702: "IFCAUDIOVISUALAPPLIANCE", + 1532957894: "IFCAUDIOVISUALAPPLIANCETYPE", + 4261334040: "IFCAXIS1PLACEMENT", + 3125803723: "IFCAXIS2PLACEMENT2D", + 2740243338: "IFCAXIS2PLACEMENT3D", + 1967976161: "IFCBSPLINECURVE", + 2461110595: "IFCBSPLINECURVEWITHKNOTS", + 2887950389: "IFCBSPLINESURFACE", + 167062518: "IFCBSPLINESURFACEWITHKNOTS", + 753842376: "IFCBEAM", + 2906023776: "IFCBEAMSTANDARDCASE", + 819618141: "IFCBEAMTYPE", + 4196446775: "IFCBEARING", + 3649138523: "IFCBEARINGTYPE", + 616511568: "IFCBLOBTEXTURE", + 1334484129: "IFCBLOCK", + 32344328: "IFCBOILER", + 231477066: "IFCBOILERTYPE", + 3649129432: "IFCBOOLEANCLIPPINGRESULT", + 2736907675: "IFCBOOLEANRESULT", + 4037036970: "IFCBOUNDARYCONDITION", + 1136057603: "IFCBOUNDARYCURVE", + 1560379544: "IFCBOUNDARYEDGECONDITION", + 3367102660: "IFCBOUNDARYFACECONDITION", + 1387855156: "IFCBOUNDARYNODECONDITION", + 2069777674: "IFCBOUNDARYNODECONDITIONWARPING", + 1260505505: "IFCBOUNDEDCURVE", + 4182860854: "IFCBOUNDEDSURFACE", + 2581212453: "IFCBOUNDINGBOX", + 2713105998: "IFCBOXEDHALFSPACE", + 644574406: "IFCBRIDGE", + 963979645: "IFCBRIDGEPART", + 4031249490: "IFCBUILDING", + 3299480353: "IFCBUILDINGELEMENT", + 2979338954: "IFCBUILDINGELEMENTPART", + 39481116: "IFCBUILDINGELEMENTPARTTYPE", + 1095909175: "IFCBUILDINGELEMENTPROXY", + 1909888760: "IFCBUILDINGELEMENTPROXYTYPE", + 1950629157: "IFCBUILDINGELEMENTTYPE", + 3124254112: "IFCBUILDINGSTOREY", + 1177604601: "IFCBUILDINGSYSTEM", + 2938176219: "IFCBURNER", + 2188180465: "IFCBURNERTYPE", + 2898889636: "IFCCSHAPEPROFILEDEF", + 635142910: "IFCCABLECARRIERFITTING", + 395041908: "IFCCABLECARRIERFITTINGTYPE", + 3758799889: "IFCCABLECARRIERSEGMENT", + 3293546465: "IFCCABLECARRIERSEGMENTTYPE", + 1051757585: "IFCCABLEFITTING", + 2674252688: "IFCCABLEFITTINGTYPE", + 4217484030: "IFCCABLESEGMENT", + 1285652485: "IFCCABLESEGMENTTYPE", + 3999819293: "IFCCAISSONFOUNDATION", + 3203706013: "IFCCAISSONFOUNDATIONTYPE", + 1123145078: "IFCCARTESIANPOINT", + 574549367: "IFCCARTESIANPOINTLIST", + 1675464909: "IFCCARTESIANPOINTLIST2D", + 2059837836: "IFCCARTESIANPOINTLIST3D", + 59481748: "IFCCARTESIANTRANSFORMATIONOPERATOR", + 3749851601: "IFCCARTESIANTRANSFORMATIONOPERATOR2D", + 3486308946: "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", + 3331915920: "IFCCARTESIANTRANSFORMATIONOPERATOR3D", + 1416205885: "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM", + 3150382593: "IFCCENTERLINEPROFILEDEF", + 3902619387: "IFCCHILLER", + 2951183804: "IFCCHILLERTYPE", + 3296154744: "IFCCHIMNEY", + 2197970202: "IFCCHIMNEYTYPE", + 2611217952: "IFCCIRCLE", + 2937912522: "IFCCIRCLEHOLLOWPROFILEDEF", + 1383045692: "IFCCIRCLEPROFILEDEF", + 1062206242: "IFCCIRCULARARCSEGMENT2D", + 1677625105: "IFCCIVILELEMENT", + 3893394355: "IFCCIVILELEMENTTYPE", + 747523909: "IFCCLASSIFICATION", + 647927063: "IFCCLASSIFICATIONREFERENCE", + 2205249479: "IFCCLOSEDSHELL", + 639361253: "IFCCOIL", + 2301859152: "IFCCOILTYPE", + 776857604: "IFCCOLOURRGB", + 3285139300: "IFCCOLOURRGBLIST", + 3264961684: "IFCCOLOURSPECIFICATION", + 843113511: "IFCCOLUMN", + 905975707: "IFCCOLUMNSTANDARDCASE", + 300633059: "IFCCOLUMNTYPE", + 3221913625: "IFCCOMMUNICATIONSAPPLIANCE", + 400855858: "IFCCOMMUNICATIONSAPPLIANCETYPE", + 2542286263: "IFCCOMPLEXPROPERTY", + 3875453745: "IFCCOMPLEXPROPERTYTEMPLATE", + 3732776249: "IFCCOMPOSITECURVE", + 15328376: "IFCCOMPOSITECURVEONSURFACE", + 2485617015: "IFCCOMPOSITECURVESEGMENT", + 1485152156: "IFCCOMPOSITEPROFILEDEF", + 3571504051: "IFCCOMPRESSOR", + 3850581409: "IFCCOMPRESSORTYPE", + 2272882330: "IFCCONDENSER", + 2816379211: "IFCCONDENSERTYPE", + 2510884976: "IFCCONIC", + 370225590: "IFCCONNECTEDFACESET", + 1981873012: "IFCCONNECTIONCURVEGEOMETRY", + 2859738748: "IFCCONNECTIONGEOMETRY", + 45288368: "IFCCONNECTIONPOINTECCENTRICITY", + 2614616156: "IFCCONNECTIONPOINTGEOMETRY", + 2732653382: "IFCCONNECTIONSURFACEGEOMETRY", + 775493141: "IFCCONNECTIONVOLUMEGEOMETRY", + 1959218052: "IFCCONSTRAINT", + 3898045240: "IFCCONSTRUCTIONEQUIPMENTRESOURCE", + 2185764099: "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", + 1060000209: "IFCCONSTRUCTIONMATERIALRESOURCE", + 4105962743: "IFCCONSTRUCTIONMATERIALRESOURCETYPE", + 488727124: "IFCCONSTRUCTIONPRODUCTRESOURCE", + 1525564444: "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", + 2559216714: "IFCCONSTRUCTIONRESOURCE", + 2574617495: "IFCCONSTRUCTIONRESOURCETYPE", + 3419103109: "IFCCONTEXT", + 3050246964: "IFCCONTEXTDEPENDENTUNIT", + 3293443760: "IFCCONTROL", + 25142252: "IFCCONTROLLER", + 578613899: "IFCCONTROLLERTYPE", + 2889183280: "IFCCONVERSIONBASEDUNIT", + 2713554722: "IFCCONVERSIONBASEDUNITWITHOFFSET", + 4136498852: "IFCCOOLEDBEAM", + 335055490: "IFCCOOLEDBEAMTYPE", + 3640358203: "IFCCOOLINGTOWER", + 2954562838: "IFCCOOLINGTOWERTYPE", + 1785450214: "IFCCOORDINATEOPERATION", + 1466758467: "IFCCOORDINATEREFERENCESYSTEM", + 3895139033: "IFCCOSTITEM", + 1419761937: "IFCCOSTSCHEDULE", + 602808272: "IFCCOSTVALUE", + 1973544240: "IFCCOVERING", + 1916426348: "IFCCOVERINGTYPE", + 3295246426: "IFCCREWRESOURCE", + 1815067380: "IFCCREWRESOURCETYPE", + 2506170314: "IFCCSGPRIMITIVE3D", + 2147822146: "IFCCSGSOLID", + 539742890: "IFCCURRENCYRELATIONSHIP", + 3495092785: "IFCCURTAINWALL", + 1457835157: "IFCCURTAINWALLTYPE", + 2601014836: "IFCCURVE", + 2827736869: "IFCCURVEBOUNDEDPLANE", + 2629017746: "IFCCURVEBOUNDEDSURFACE", + 1186437898: "IFCCURVESEGMENT2D", + 3800577675: "IFCCURVESTYLE", + 1105321065: "IFCCURVESTYLEFONT", + 2367409068: "IFCCURVESTYLEFONTANDSCALING", + 3510044353: "IFCCURVESTYLEFONTPATTERN", + 1213902940: "IFCCYLINDRICALSURFACE", + 4074379575: "IFCDAMPER", + 3961806047: "IFCDAMPERTYPE", + 3426335179: "IFCDEEPFOUNDATION", + 1306400036: "IFCDEEPFOUNDATIONTYPE", + 3632507154: "IFCDERIVEDPROFILEDEF", + 1765591967: "IFCDERIVEDUNIT", + 1045800335: "IFCDERIVEDUNITELEMENT", + 2949456006: "IFCDIMENSIONALEXPONENTS", + 32440307: "IFCDIRECTION", + 1335981549: "IFCDISCRETEACCESSORY", + 2635815018: "IFCDISCRETEACCESSORYTYPE", + 1945343521: "IFCDISTANCEEXPRESSION", + 1052013943: "IFCDISTRIBUTIONCHAMBERELEMENT", + 1599208980: "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", + 562808652: "IFCDISTRIBUTIONCIRCUIT", + 1062813311: "IFCDISTRIBUTIONCONTROLELEMENT", + 2063403501: "IFCDISTRIBUTIONCONTROLELEMENTTYPE", + 1945004755: "IFCDISTRIBUTIONELEMENT", + 3256556792: "IFCDISTRIBUTIONELEMENTTYPE", + 3040386961: "IFCDISTRIBUTIONFLOWELEMENT", + 3849074793: "IFCDISTRIBUTIONFLOWELEMENTTYPE", + 3041715199: "IFCDISTRIBUTIONPORT", + 3205830791: "IFCDISTRIBUTIONSYSTEM", + 1154170062: "IFCDOCUMENTINFORMATION", + 770865208: "IFCDOCUMENTINFORMATIONRELATIONSHIP", + 3732053477: "IFCDOCUMENTREFERENCE", + 395920057: "IFCDOOR", + 2963535650: "IFCDOORLININGPROPERTIES", + 1714330368: "IFCDOORPANELPROPERTIES", + 3242481149: "IFCDOORSTANDARDCASE", + 526551008: "IFCDOORSTYLE", + 2323601079: "IFCDOORTYPE", + 445594917: "IFCDRAUGHTINGPREDEFINEDCOLOUR", + 4006246654: "IFCDRAUGHTINGPREDEFINEDCURVEFONT", + 342316401: "IFCDUCTFITTING", + 869906466: "IFCDUCTFITTINGTYPE", + 3518393246: "IFCDUCTSEGMENT", + 3760055223: "IFCDUCTSEGMENTTYPE", + 1360408905: "IFCDUCTSILENCER", + 2030761528: "IFCDUCTSILENCERTYPE", + 3900360178: "IFCEDGE", + 476780140: "IFCEDGECURVE", + 1472233963: "IFCEDGELOOP", + 1904799276: "IFCELECTRICAPPLIANCE", + 663422040: "IFCELECTRICAPPLIANCETYPE", + 862014818: "IFCELECTRICDISTRIBUTIONBOARD", + 2417008758: "IFCELECTRICDISTRIBUTIONBOARDTYPE", + 3310460725: "IFCELECTRICFLOWSTORAGEDEVICE", + 3277789161: "IFCELECTRICFLOWSTORAGEDEVICETYPE", + 264262732: "IFCELECTRICGENERATOR", + 1534661035: "IFCELECTRICGENERATORTYPE", + 402227799: "IFCELECTRICMOTOR", + 1217240411: "IFCELECTRICMOTORTYPE", + 1003880860: "IFCELECTRICTIMECONTROL", + 712377611: "IFCELECTRICTIMECONTROLTYPE", + 1758889154: "IFCELEMENT", + 4123344466: "IFCELEMENTASSEMBLY", + 2397081782: "IFCELEMENTASSEMBLYTYPE", + 1623761950: "IFCELEMENTCOMPONENT", + 2590856083: "IFCELEMENTCOMPONENTTYPE", + 1883228015: "IFCELEMENTQUANTITY", + 339256511: "IFCELEMENTTYPE", + 2777663545: "IFCELEMENTARYSURFACE", + 1704287377: "IFCELLIPSE", + 2835456948: "IFCELLIPSEPROFILEDEF", + 1658829314: "IFCENERGYCONVERSIONDEVICE", + 2107101300: "IFCENERGYCONVERSIONDEVICETYPE", + 2814081492: "IFCENGINE", + 132023988: "IFCENGINETYPE", + 3747195512: "IFCEVAPORATIVECOOLER", + 3174744832: "IFCEVAPORATIVECOOLERTYPE", + 484807127: "IFCEVAPORATOR", + 3390157468: "IFCEVAPORATORTYPE", + 4148101412: "IFCEVENT", + 211053100: "IFCEVENTTIME", + 4024345920: "IFCEVENTTYPE", + 297599258: "IFCEXTENDEDPROPERTIES", + 4294318154: "IFCEXTERNALINFORMATION", + 3200245327: "IFCEXTERNALREFERENCE", + 1437805879: "IFCEXTERNALREFERENCERELATIONSHIP", + 1209101575: "IFCEXTERNALSPATIALELEMENT", + 2853485674: "IFCEXTERNALSPATIALSTRUCTUREELEMENT", + 2242383968: "IFCEXTERNALLYDEFINEDHATCHSTYLE", + 1040185647: "IFCEXTERNALLYDEFINEDSURFACESTYLE", + 3548104201: "IFCEXTERNALLYDEFINEDTEXTFONT", + 477187591: "IFCEXTRUDEDAREASOLID", + 2804161546: "IFCEXTRUDEDAREASOLIDTAPERED", + 2556980723: "IFCFACE", + 2047409740: "IFCFACEBASEDSURFACEMODEL", + 1809719519: "IFCFACEBOUND", + 803316827: "IFCFACEOUTERBOUND", + 3008276851: "IFCFACESURFACE", + 807026263: "IFCFACETEDBREP", + 3737207727: "IFCFACETEDBREPWITHVOIDS", + 24185140: "IFCFACILITY", + 1310830890: "IFCFACILITYPART", + 4219587988: "IFCFAILURECONNECTIONCONDITION", + 3415622556: "IFCFAN", + 346874300: "IFCFANTYPE", + 647756555: "IFCFASTENER", + 2489546625: "IFCFASTENERTYPE", + 2827207264: "IFCFEATUREELEMENT", + 2143335405: "IFCFEATUREELEMENTADDITION", + 1287392070: "IFCFEATUREELEMENTSUBTRACTION", + 738692330: "IFCFILLAREASTYLE", + 374418227: "IFCFILLAREASTYLEHATCHING", + 315944413: "IFCFILLAREASTYLETILES", + 819412036: "IFCFILTER", + 1810631287: "IFCFILTERTYPE", + 1426591983: "IFCFIRESUPPRESSIONTERMINAL", + 4222183408: "IFCFIRESUPPRESSIONTERMINALTYPE", + 2652556860: "IFCFIXEDREFERENCESWEPTAREASOLID", + 2058353004: "IFCFLOWCONTROLLER", + 3907093117: "IFCFLOWCONTROLLERTYPE", + 4278956645: "IFCFLOWFITTING", + 3198132628: "IFCFLOWFITTINGTYPE", + 182646315: "IFCFLOWINSTRUMENT", + 4037862832: "IFCFLOWINSTRUMENTTYPE", + 2188021234: "IFCFLOWMETER", + 3815607619: "IFCFLOWMETERTYPE", + 3132237377: "IFCFLOWMOVINGDEVICE", + 1482959167: "IFCFLOWMOVINGDEVICETYPE", + 987401354: "IFCFLOWSEGMENT", + 1834744321: "IFCFLOWSEGMENTTYPE", + 707683696: "IFCFLOWSTORAGEDEVICE", + 1339347760: "IFCFLOWSTORAGEDEVICETYPE", + 2223149337: "IFCFLOWTERMINAL", + 2297155007: "IFCFLOWTERMINALTYPE", + 3508470533: "IFCFLOWTREATMENTDEVICE", + 3009222698: "IFCFLOWTREATMENTDEVICETYPE", + 900683007: "IFCFOOTING", + 1893162501: "IFCFOOTINGTYPE", + 263784265: "IFCFURNISHINGELEMENT", + 4238390223: "IFCFURNISHINGELEMENTTYPE", + 1509553395: "IFCFURNITURE", + 1268542332: "IFCFURNITURETYPE", + 3493046030: "IFCGEOGRAPHICELEMENT", + 4095422895: "IFCGEOGRAPHICELEMENTTYPE", + 987898635: "IFCGEOMETRICCURVESET", + 3448662350: "IFCGEOMETRICREPRESENTATIONCONTEXT", + 2453401579: "IFCGEOMETRICREPRESENTATIONITEM", + 4142052618: "IFCGEOMETRICREPRESENTATIONSUBCONTEXT", + 3590301190: "IFCGEOMETRICSET", + 3009204131: "IFCGRID", + 852622518: "IFCGRIDAXIS", + 178086475: "IFCGRIDPLACEMENT", + 2706460486: "IFCGROUP", + 812098782: "IFCHALFSPACESOLID", + 3319311131: "IFCHEATEXCHANGER", + 1251058090: "IFCHEATEXCHANGERTYPE", + 2068733104: "IFCHUMIDIFIER", + 1806887404: "IFCHUMIDIFIERTYPE", + 1484403080: "IFCISHAPEPROFILEDEF", + 3905492369: "IFCIMAGETEXTURE", + 3570813810: "IFCINDEXEDCOLOURMAP", + 2571569899: "IFCINDEXEDPOLYCURVE", + 178912537: "IFCINDEXEDPOLYGONALFACE", + 2294589976: "IFCINDEXEDPOLYGONALFACEWITHVOIDS", + 1437953363: "IFCINDEXEDTEXTUREMAP", + 2133299955: "IFCINDEXEDTRIANGLETEXTUREMAP", + 4175244083: "IFCINTERCEPTOR", + 3946677679: "IFCINTERCEPTORTYPE", + 3113134337: "IFCINTERSECTIONCURVE", + 2391368822: "IFCINVENTORY", + 3741457305: "IFCIRREGULARTIMESERIES", + 3020489413: "IFCIRREGULARTIMESERIESVALUE", + 2176052936: "IFCJUNCTIONBOX", + 4288270099: "IFCJUNCTIONBOXTYPE", + 572779678: "IFCLSHAPEPROFILEDEF", + 3827777499: "IFCLABORRESOURCE", + 428585644: "IFCLABORRESOURCETYPE", + 1585845231: "IFCLAGTIME", + 76236018: "IFCLAMP", + 1051575348: "IFCLAMPTYPE", + 2655187982: "IFCLIBRARYINFORMATION", + 3452421091: "IFCLIBRARYREFERENCE", + 4162380809: "IFCLIGHTDISTRIBUTIONDATA", + 629592764: "IFCLIGHTFIXTURE", + 1161773419: "IFCLIGHTFIXTURETYPE", + 1566485204: "IFCLIGHTINTENSITYDISTRIBUTION", + 1402838566: "IFCLIGHTSOURCE", + 125510826: "IFCLIGHTSOURCEAMBIENT", + 2604431987: "IFCLIGHTSOURCEDIRECTIONAL", + 4266656042: "IFCLIGHTSOURCEGONIOMETRIC", + 1520743889: "IFCLIGHTSOURCEPOSITIONAL", + 3422422726: "IFCLIGHTSOURCESPOT", + 1281925730: "IFCLINE", + 3092502836: "IFCLINESEGMENT2D", + 388784114: "IFCLINEARPLACEMENT", + 1154579445: "IFCLINEARPOSITIONINGELEMENT", + 2624227202: "IFCLOCALPLACEMENT", + 1008929658: "IFCLOOP", + 1425443689: "IFCMANIFOLDSOLIDBREP", + 3057273783: "IFCMAPCONVERSION", + 2347385850: "IFCMAPPEDITEM", + 1838606355: "IFCMATERIAL", + 1847130766: "IFCMATERIALCLASSIFICATIONRELATIONSHIP", + 3708119000: "IFCMATERIALCONSTITUENT", + 2852063980: "IFCMATERIALCONSTITUENTSET", + 760658860: "IFCMATERIALDEFINITION", + 2022407955: "IFCMATERIALDEFINITIONREPRESENTATION", + 248100487: "IFCMATERIALLAYER", + 3303938423: "IFCMATERIALLAYERSET", + 1303795690: "IFCMATERIALLAYERSETUSAGE", + 1847252529: "IFCMATERIALLAYERWITHOFFSETS", + 2199411900: "IFCMATERIALLIST", + 2235152071: "IFCMATERIALPROFILE", + 164193824: "IFCMATERIALPROFILESET", + 3079605661: "IFCMATERIALPROFILESETUSAGE", + 3404854881: "IFCMATERIALPROFILESETUSAGETAPERING", + 552965576: "IFCMATERIALPROFILEWITHOFFSETS", + 3265635763: "IFCMATERIALPROPERTIES", + 853536259: "IFCMATERIALRELATIONSHIP", + 1507914824: "IFCMATERIALUSAGEDEFINITION", + 2597039031: "IFCMEASUREWITHUNIT", + 377706215: "IFCMECHANICALFASTENER", + 2108223431: "IFCMECHANICALFASTENERTYPE", + 1437502449: "IFCMEDICALDEVICE", + 1114901282: "IFCMEDICALDEVICETYPE", + 1073191201: "IFCMEMBER", + 1911478936: "IFCMEMBERSTANDARDCASE", + 3181161470: "IFCMEMBERTYPE", + 3368373690: "IFCMETRIC", + 2998442950: "IFCMIRROREDPROFILEDEF", + 2706619895: "IFCMONETARYUNIT", + 2474470126: "IFCMOTORCONNECTION", + 977012517: "IFCMOTORCONNECTIONTYPE", + 1918398963: "IFCNAMEDUNIT", + 3888040117: "IFCOBJECT", + 219451334: "IFCOBJECTDEFINITION", + 3701648758: "IFCOBJECTPLACEMENT", + 2251480897: "IFCOBJECTIVE", + 4143007308: "IFCOCCUPANT", + 590820931: "IFCOFFSETCURVE", + 3388369263: "IFCOFFSETCURVE2D", + 3505215534: "IFCOFFSETCURVE3D", + 2485787929: "IFCOFFSETCURVEBYDISTANCES", + 2665983363: "IFCOPENSHELL", + 3588315303: "IFCOPENINGELEMENT", + 3079942009: "IFCOPENINGSTANDARDCASE", + 4251960020: "IFCORGANIZATION", + 1411181986: "IFCORGANIZATIONRELATIONSHIP", + 643959842: "IFCORIENTATIONEXPRESSION", + 1029017970: "IFCORIENTEDEDGE", + 144952367: "IFCOUTERBOUNDARYCURVE", + 3694346114: "IFCOUTLET", + 2837617999: "IFCOUTLETTYPE", + 1207048766: "IFCOWNERHISTORY", + 2529465313: "IFCPARAMETERIZEDPROFILEDEF", + 2519244187: "IFCPATH", + 1682466193: "IFCPCURVE", + 2382730787: "IFCPERFORMANCEHISTORY", + 3566463478: "IFCPERMEABLECOVERINGPROPERTIES", + 3327091369: "IFCPERMIT", + 2077209135: "IFCPERSON", + 101040310: "IFCPERSONANDORGANIZATION", + 3021840470: "IFCPHYSICALCOMPLEXQUANTITY", + 2483315170: "IFCPHYSICALQUANTITY", + 2226359599: "IFCPHYSICALSIMPLEQUANTITY", + 1687234759: "IFCPILE", + 1158309216: "IFCPILETYPE", + 310824031: "IFCPIPEFITTING", + 804291784: "IFCPIPEFITTINGTYPE", + 3612865200: "IFCPIPESEGMENT", + 4231323485: "IFCPIPESEGMENTTYPE", + 597895409: "IFCPIXELTEXTURE", + 2004835150: "IFCPLACEMENT", + 603570806: "IFCPLANARBOX", + 1663979128: "IFCPLANAREXTENT", + 220341763: "IFCPLANE", + 3171933400: "IFCPLATE", + 1156407060: "IFCPLATESTANDARDCASE", + 4017108033: "IFCPLATETYPE", + 2067069095: "IFCPOINT", + 4022376103: "IFCPOINTONCURVE", + 1423911732: "IFCPOINTONSURFACE", + 2924175390: "IFCPOLYLOOP", + 2775532180: "IFCPOLYGONALBOUNDEDHALFSPACE", + 2839578677: "IFCPOLYGONALFACESET", + 3724593414: "IFCPOLYLINE", + 3740093272: "IFCPORT", + 1946335990: "IFCPOSITIONINGELEMENT", + 3355820592: "IFCPOSTALADDRESS", + 759155922: "IFCPREDEFINEDCOLOUR", + 2559016684: "IFCPREDEFINEDCURVEFONT", + 3727388367: "IFCPREDEFINEDITEM", + 3778827333: "IFCPREDEFINEDPROPERTIES", + 3967405729: "IFCPREDEFINEDPROPERTYSET", + 1775413392: "IFCPREDEFINEDTEXTFONT", + 677532197: "IFCPRESENTATIONITEM", + 2022622350: "IFCPRESENTATIONLAYERASSIGNMENT", + 1304840413: "IFCPRESENTATIONLAYERWITHSTYLE", + 3119450353: "IFCPRESENTATIONSTYLE", + 2417041796: "IFCPRESENTATIONSTYLEASSIGNMENT", + 2744685151: "IFCPROCEDURE", + 569719735: "IFCPROCEDURETYPE", + 2945172077: "IFCPROCESS", + 4208778838: "IFCPRODUCT", + 673634403: "IFCPRODUCTDEFINITIONSHAPE", + 2095639259: "IFCPRODUCTREPRESENTATION", + 3958567839: "IFCPROFILEDEF", + 2802850158: "IFCPROFILEPROPERTIES", + 103090709: "IFCPROJECT", + 653396225: "IFCPROJECTLIBRARY", + 2904328755: "IFCPROJECTORDER", + 3843373140: "IFCPROJECTEDCRS", + 3651124850: "IFCPROJECTIONELEMENT", + 2598011224: "IFCPROPERTY", + 986844984: "IFCPROPERTYABSTRACTION", + 871118103: "IFCPROPERTYBOUNDEDVALUE", + 1680319473: "IFCPROPERTYDEFINITION", + 148025276: "IFCPROPERTYDEPENDENCYRELATIONSHIP", + 4166981789: "IFCPROPERTYENUMERATEDVALUE", + 3710013099: "IFCPROPERTYENUMERATION", + 2752243245: "IFCPROPERTYLISTVALUE", + 941946838: "IFCPROPERTYREFERENCEVALUE", + 1451395588: "IFCPROPERTYSET", + 3357820518: "IFCPROPERTYSETDEFINITION", + 492091185: "IFCPROPERTYSETTEMPLATE", + 3650150729: "IFCPROPERTYSINGLEVALUE", + 110355661: "IFCPROPERTYTABLEVALUE", + 3521284610: "IFCPROPERTYTEMPLATE", + 1482703590: "IFCPROPERTYTEMPLATEDEFINITION", + 738039164: "IFCPROTECTIVEDEVICE", + 2295281155: "IFCPROTECTIVEDEVICETRIPPINGUNIT", + 655969474: "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", + 1842657554: "IFCPROTECTIVEDEVICETYPE", + 3219374653: "IFCPROXY", + 90941305: "IFCPUMP", + 2250791053: "IFCPUMPTYPE", + 2044713172: "IFCQUANTITYAREA", + 2093928680: "IFCQUANTITYCOUNT", + 931644368: "IFCQUANTITYLENGTH", + 2090586900: "IFCQUANTITYSET", + 3252649465: "IFCQUANTITYTIME", + 2405470396: "IFCQUANTITYVOLUME", + 825690147: "IFCQUANTITYWEIGHT", + 2262370178: "IFCRAILING", + 2893384427: "IFCRAILINGTYPE", + 3024970846: "IFCRAMP", + 3283111854: "IFCRAMPFLIGHT", + 2324767716: "IFCRAMPFLIGHTTYPE", + 1469900589: "IFCRAMPTYPE", + 1232101972: "IFCRATIONALBSPLINECURVEWITHKNOTS", + 683857671: "IFCRATIONALBSPLINESURFACEWITHKNOTS", + 2770003689: "IFCRECTANGLEHOLLOWPROFILEDEF", + 3615266464: "IFCRECTANGLEPROFILEDEF", + 2798486643: "IFCRECTANGULARPYRAMID", + 3454111270: "IFCRECTANGULARTRIMMEDSURFACE", + 3915482550: "IFCRECURRENCEPATTERN", + 2433181523: "IFCREFERENCE", + 4021432810: "IFCREFERENT", + 3413951693: "IFCREGULARTIMESERIES", + 1580146022: "IFCREINFORCEMENTBARPROPERTIES", + 3765753017: "IFCREINFORCEMENTDEFINITIONPROPERTIES", + 979691226: "IFCREINFORCINGBAR", + 2572171363: "IFCREINFORCINGBARTYPE", + 3027567501: "IFCREINFORCINGELEMENT", + 964333572: "IFCREINFORCINGELEMENTTYPE", + 2320036040: "IFCREINFORCINGMESH", + 2310774935: "IFCREINFORCINGMESHTYPE", + 160246688: "IFCRELAGGREGATES", + 3939117080: "IFCRELASSIGNS", + 1683148259: "IFCRELASSIGNSTOACTOR", + 2495723537: "IFCRELASSIGNSTOCONTROL", + 1307041759: "IFCRELASSIGNSTOGROUP", + 1027710054: "IFCRELASSIGNSTOGROUPBYFACTOR", + 4278684876: "IFCRELASSIGNSTOPROCESS", + 2857406711: "IFCRELASSIGNSTOPRODUCT", + 205026976: "IFCRELASSIGNSTORESOURCE", + 1865459582: "IFCRELASSOCIATES", + 4095574036: "IFCRELASSOCIATESAPPROVAL", + 919958153: "IFCRELASSOCIATESCLASSIFICATION", + 2728634034: "IFCRELASSOCIATESCONSTRAINT", + 982818633: "IFCRELASSOCIATESDOCUMENT", + 3840914261: "IFCRELASSOCIATESLIBRARY", + 2655215786: "IFCRELASSOCIATESMATERIAL", + 826625072: "IFCRELCONNECTS", + 1204542856: "IFCRELCONNECTSELEMENTS", + 3945020480: "IFCRELCONNECTSPATHELEMENTS", + 4201705270: "IFCRELCONNECTSPORTTOELEMENT", + 3190031847: "IFCRELCONNECTSPORTS", + 2127690289: "IFCRELCONNECTSSTRUCTURALACTIVITY", + 1638771189: "IFCRELCONNECTSSTRUCTURALMEMBER", + 504942748: "IFCRELCONNECTSWITHECCENTRICITY", + 3678494232: "IFCRELCONNECTSWITHREALIZINGELEMENTS", + 3242617779: "IFCRELCONTAINEDINSPATIALSTRUCTURE", + 886880790: "IFCRELCOVERSBLDGELEMENTS", + 2802773753: "IFCRELCOVERSSPACES", + 2565941209: "IFCRELDECLARES", + 2551354335: "IFCRELDECOMPOSES", + 693640335: "IFCRELDEFINES", + 1462361463: "IFCRELDEFINESBYOBJECT", + 4186316022: "IFCRELDEFINESBYPROPERTIES", + 307848117: "IFCRELDEFINESBYTEMPLATE", + 781010003: "IFCRELDEFINESBYTYPE", + 3940055652: "IFCRELFILLSELEMENT", + 279856033: "IFCRELFLOWCONTROLELEMENTS", + 427948657: "IFCRELINTERFERESELEMENTS", + 3268803585: "IFCRELNESTS", + 1441486842: "IFCRELPOSITIONS", + 750771296: "IFCRELPROJECTSELEMENT", + 1245217292: "IFCRELREFERENCEDINSPATIALSTRUCTURE", + 4122056220: "IFCRELSEQUENCE", + 366585022: "IFCRELSERVICESBUILDINGS", + 3451746338: "IFCRELSPACEBOUNDARY", + 3523091289: "IFCRELSPACEBOUNDARY1STLEVEL", + 1521410863: "IFCRELSPACEBOUNDARY2NDLEVEL", + 1401173127: "IFCRELVOIDSELEMENT", + 478536968: "IFCRELATIONSHIP", + 816062949: "IFCREPARAMETRISEDCOMPOSITECURVESEGMENT", + 1076942058: "IFCREPRESENTATION", + 3377609919: "IFCREPRESENTATIONCONTEXT", + 3008791417: "IFCREPRESENTATIONITEM", + 1660063152: "IFCREPRESENTATIONMAP", + 2914609552: "IFCRESOURCE", + 2943643501: "IFCRESOURCEAPPROVALRELATIONSHIP", + 1608871552: "IFCRESOURCECONSTRAINTRELATIONSHIP", + 2439245199: "IFCRESOURCELEVELRELATIONSHIP", + 1042787934: "IFCRESOURCETIME", + 1856042241: "IFCREVOLVEDAREASOLID", + 3243963512: "IFCREVOLVEDAREASOLIDTAPERED", + 4158566097: "IFCRIGHTCIRCULARCONE", + 3626867408: "IFCRIGHTCIRCULARCYLINDER", + 2016517767: "IFCROOF", + 2781568857: "IFCROOFTYPE", + 2341007311: "IFCROOT", + 2778083089: "IFCROUNDEDRECTANGLEPROFILEDEF", + 448429030: "IFCSIUNIT", + 3053780830: "IFCSANITARYTERMINAL", + 1768891740: "IFCSANITARYTERMINALTYPE", + 1054537805: "IFCSCHEDULINGTIME", + 2157484638: "IFCSEAMCURVE", + 2042790032: "IFCSECTIONPROPERTIES", + 4165799628: "IFCSECTIONREINFORCEMENTPROPERTIES", + 1862484736: "IFCSECTIONEDSOLID", + 1290935644: "IFCSECTIONEDSOLIDHORIZONTAL", + 1509187699: "IFCSECTIONEDSPINE", + 4086658281: "IFCSENSOR", + 1783015770: "IFCSENSORTYPE", + 1329646415: "IFCSHADINGDEVICE", + 4074543187: "IFCSHADINGDEVICETYPE", + 867548509: "IFCSHAPEASPECT", + 3982875396: "IFCSHAPEMODEL", + 4240577450: "IFCSHAPEREPRESENTATION", + 4124623270: "IFCSHELLBASEDSURFACEMODEL", + 3692461612: "IFCSIMPLEPROPERTY", + 3663146110: "IFCSIMPLEPROPERTYTEMPLATE", + 4097777520: "IFCSITE", + 1529196076: "IFCSLAB", + 3127900445: "IFCSLABELEMENTEDCASE", + 3027962421: "IFCSLABSTANDARDCASE", + 2533589738: "IFCSLABTYPE", + 2609359061: "IFCSLIPPAGECONNECTIONCONDITION", + 3420628829: "IFCSOLARDEVICE", + 1072016465: "IFCSOLARDEVICETYPE", + 723233188: "IFCSOLIDMODEL", + 3856911033: "IFCSPACE", + 1999602285: "IFCSPACEHEATER", + 1305183839: "IFCSPACEHEATERTYPE", + 3812236995: "IFCSPACETYPE", + 1412071761: "IFCSPATIALELEMENT", + 710998568: "IFCSPATIALELEMENTTYPE", + 2706606064: "IFCSPATIALSTRUCTUREELEMENT", + 3893378262: "IFCSPATIALSTRUCTUREELEMENTTYPE", + 463610769: "IFCSPATIALZONE", + 2481509218: "IFCSPATIALZONETYPE", + 451544542: "IFCSPHERE", + 4015995234: "IFCSPHERICALSURFACE", + 1404847402: "IFCSTACKTERMINAL", + 3112655638: "IFCSTACKTERMINALTYPE", + 331165859: "IFCSTAIR", + 4252922144: "IFCSTAIRFLIGHT", + 1039846685: "IFCSTAIRFLIGHTTYPE", + 338393293: "IFCSTAIRTYPE", + 682877961: "IFCSTRUCTURALACTION", + 3544373492: "IFCSTRUCTURALACTIVITY", + 2515109513: "IFCSTRUCTURALANALYSISMODEL", + 1179482911: "IFCSTRUCTURALCONNECTION", + 2273995522: "IFCSTRUCTURALCONNECTIONCONDITION", + 1004757350: "IFCSTRUCTURALCURVEACTION", + 4243806635: "IFCSTRUCTURALCURVECONNECTION", + 214636428: "IFCSTRUCTURALCURVEMEMBER", + 2445595289: "IFCSTRUCTURALCURVEMEMBERVARYING", + 2757150158: "IFCSTRUCTURALCURVEREACTION", + 3136571912: "IFCSTRUCTURALITEM", + 1807405624: "IFCSTRUCTURALLINEARACTION", + 2162789131: "IFCSTRUCTURALLOAD", + 385403989: "IFCSTRUCTURALLOADCASE", + 3478079324: "IFCSTRUCTURALLOADCONFIGURATION", + 1252848954: "IFCSTRUCTURALLOADGROUP", + 1595516126: "IFCSTRUCTURALLOADLINEARFORCE", + 609421318: "IFCSTRUCTURALLOADORRESULT", + 2668620305: "IFCSTRUCTURALLOADPLANARFORCE", + 2473145415: "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", + 1973038258: "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION", + 1597423693: "IFCSTRUCTURALLOADSINGLEFORCE", + 1190533807: "IFCSTRUCTURALLOADSINGLEFORCEWARPING", + 2525727697: "IFCSTRUCTURALLOADSTATIC", + 3408363356: "IFCSTRUCTURALLOADTEMPERATURE", + 530289379: "IFCSTRUCTURALMEMBER", + 1621171031: "IFCSTRUCTURALPLANARACTION", + 2082059205: "IFCSTRUCTURALPOINTACTION", + 734778138: "IFCSTRUCTURALPOINTCONNECTION", + 1235345126: "IFCSTRUCTURALPOINTREACTION", + 3689010777: "IFCSTRUCTURALREACTION", + 2986769608: "IFCSTRUCTURALRESULTGROUP", + 3657597509: "IFCSTRUCTURALSURFACEACTION", + 1975003073: "IFCSTRUCTURALSURFACECONNECTION", + 3979015343: "IFCSTRUCTURALSURFACEMEMBER", + 2218152070: "IFCSTRUCTURALSURFACEMEMBERVARYING", + 603775116: "IFCSTRUCTURALSURFACEREACTION", + 2830218821: "IFCSTYLEMODEL", + 3958052878: "IFCSTYLEDITEM", + 3049322572: "IFCSTYLEDREPRESENTATION", + 148013059: "IFCSUBCONTRACTRESOURCE", + 4095615324: "IFCSUBCONTRACTRESOURCETYPE", + 2233826070: "IFCSUBEDGE", + 2513912981: "IFCSURFACE", + 699246055: "IFCSURFACECURVE", + 2028607225: "IFCSURFACECURVESWEPTAREASOLID", + 3101698114: "IFCSURFACEFEATURE", + 2809605785: "IFCSURFACEOFLINEAREXTRUSION", + 4124788165: "IFCSURFACEOFREVOLUTION", + 2934153892: "IFCSURFACEREINFORCEMENTAREA", + 1300840506: "IFCSURFACESTYLE", + 3303107099: "IFCSURFACESTYLELIGHTING", + 1607154358: "IFCSURFACESTYLEREFRACTION", + 1878645084: "IFCSURFACESTYLERENDERING", + 846575682: "IFCSURFACESTYLESHADING", + 1351298697: "IFCSURFACESTYLEWITHTEXTURES", + 626085974: "IFCSURFACETEXTURE", + 2247615214: "IFCSWEPTAREASOLID", + 1260650574: "IFCSWEPTDISKSOLID", + 1096409881: "IFCSWEPTDISKSOLIDPOLYGONAL", + 230924584: "IFCSWEPTSURFACE", + 1162798199: "IFCSWITCHINGDEVICE", + 2315554128: "IFCSWITCHINGDEVICETYPE", + 2254336722: "IFCSYSTEM", + 413509423: "IFCSYSTEMFURNITUREELEMENT", + 1580310250: "IFCSYSTEMFURNITUREELEMENTTYPE", + 3071757647: "IFCTSHAPEPROFILEDEF", + 985171141: "IFCTABLE", + 2043862942: "IFCTABLECOLUMN", + 531007025: "IFCTABLEROW", + 812556717: "IFCTANK", + 5716631: "IFCTANKTYPE", + 3473067441: "IFCTASK", + 1549132990: "IFCTASKTIME", + 2771591690: "IFCTASKTIMERECURRING", + 3206491090: "IFCTASKTYPE", + 912023232: "IFCTELECOMADDRESS", + 3824725483: "IFCTENDON", + 2347447852: "IFCTENDONANCHOR", + 3081323446: "IFCTENDONANCHORTYPE", + 3663046924: "IFCTENDONCONDUIT", + 2281632017: "IFCTENDONCONDUITTYPE", + 2415094496: "IFCTENDONTYPE", + 2387106220: "IFCTESSELLATEDFACESET", + 901063453: "IFCTESSELLATEDITEM", + 4282788508: "IFCTEXTLITERAL", + 3124975700: "IFCTEXTLITERALWITHEXTENT", + 1447204868: "IFCTEXTSTYLE", + 1983826977: "IFCTEXTSTYLEFONTMODEL", + 2636378356: "IFCTEXTSTYLEFORDEFINEDFONT", + 1640371178: "IFCTEXTSTYLETEXTMODEL", + 280115917: "IFCTEXTURECOORDINATE", + 1742049831: "IFCTEXTURECOORDINATEGENERATOR", + 2552916305: "IFCTEXTUREMAP", + 1210645708: "IFCTEXTUREVERTEX", + 3611470254: "IFCTEXTUREVERTEXLIST", + 1199560280: "IFCTIMEPERIOD", + 3101149627: "IFCTIMESERIES", + 581633288: "IFCTIMESERIESVALUE", + 1377556343: "IFCTOPOLOGICALREPRESENTATIONITEM", + 1735638870: "IFCTOPOLOGYREPRESENTATION", + 1935646853: "IFCTOROIDALSURFACE", + 3825984169: "IFCTRANSFORMER", + 1692211062: "IFCTRANSFORMERTYPE", + 2595432518: "IFCTRANSITIONCURVESEGMENT2D", + 1620046519: "IFCTRANSPORTELEMENT", + 2097647324: "IFCTRANSPORTELEMENTTYPE", + 2715220739: "IFCTRAPEZIUMPROFILEDEF", + 2916149573: "IFCTRIANGULATEDFACESET", + 1229763772: "IFCTRIANGULATEDIRREGULARNETWORK", + 3593883385: "IFCTRIMMEDCURVE", + 3026737570: "IFCTUBEBUNDLE", + 1600972822: "IFCTUBEBUNDLETYPE", + 1628702193: "IFCTYPEOBJECT", + 3736923433: "IFCTYPEPROCESS", + 2347495698: "IFCTYPEPRODUCT", + 3698973494: "IFCTYPERESOURCE", + 427810014: "IFCUSHAPEPROFILEDEF", + 180925521: "IFCUNITASSIGNMENT", + 630975310: "IFCUNITARYCONTROLELEMENT", + 3179687236: "IFCUNITARYCONTROLELEMENTTYPE", + 4292641817: "IFCUNITARYEQUIPMENT", + 1911125066: "IFCUNITARYEQUIPMENTTYPE", + 4207607924: "IFCVALVE", + 728799441: "IFCVALVETYPE", + 1417489154: "IFCVECTOR", + 2799835756: "IFCVERTEX", + 2759199220: "IFCVERTEXLOOP", + 1907098498: "IFCVERTEXPOINT", + 1530820697: "IFCVIBRATIONDAMPER", + 3956297820: "IFCVIBRATIONDAMPERTYPE", + 2391383451: "IFCVIBRATIONISOLATOR", + 3313531582: "IFCVIBRATIONISOLATORTYPE", + 2769231204: "IFCVIRTUALELEMENT", + 891718957: "IFCVIRTUALGRIDINTERSECTION", + 926996030: "IFCVOIDINGFEATURE", + 2391406946: "IFCWALL", + 4156078855: "IFCWALLELEMENTEDCASE", + 3512223829: "IFCWALLSTANDARDCASE", + 1898987631: "IFCWALLTYPE", + 4237592921: "IFCWASTETERMINAL", + 1133259667: "IFCWASTETERMINALTYPE", + 3304561284: "IFCWINDOW", + 336235671: "IFCWINDOWLININGPROPERTIES", + 512836454: "IFCWINDOWPANELPROPERTIES", + 486154966: "IFCWINDOWSTANDARDCASE", + 1299126871: "IFCWINDOWSTYLE", + 4009809668: "IFCWINDOWTYPE", + 4088093105: "IFCWORKCALENDAR", + 1028945134: "IFCWORKCONTROL", + 4218914973: "IFCWORKPLAN", + 3342526732: "IFCWORKSCHEDULE", + 1236880293: "IFCWORKTIME", + 2543172580: "IFCZSHAPEPROFILEDEF", + 1033361043: "IFCZONE", +}; + +const GeometryTypes = new Set([ + 1123145078, 574549367, 1675464909, 2059837836, 3798115385, 32440307, + 3125803723, 3207858831, 2740243338, 2624227202, 4240577450, 3615266464, + 3724593414, 220341763, 477187591, 1878645084, 1300840506, 3303107099, + 1607154358, 1878645084, 846575682, 1351298697, 2417041796, 3049322572, + 3331915920, 1416205885, 776857604, 3285139300, 3958052878, 2827736869, + 2732653382, 673634403, 3448662350, 4142052618, 2924175390, 803316827, + 2556980723, 1809719519, 2205249479, 807026263, 3737207727, 1660063152, + 2347385850, 3940055652, 2705031697, 3732776249, 2485617015, 2611217952, + 1704287377, 2937912522, 2770003689, 1281925730, 1484403080, 3448662350, + 4142052618, 3800577675, 4006246654, 3590301190, 1383045692, 2775532180, + 2047409740, 370225590, 3593883385, 2665983363, 4124623270, 812098782, + 3649129432, 987898635, 1105321065, 3510044353, 1635779807, 2603310189, + 3406155212, 1310608509, 4261334040, 2736907675, 3649129432, 1136057603, + 1260505505, 4182860854, 2713105998, 2898889636, 59481748, 3749851601, + 3486308946, 3150382593, 1062206242, 3264961684, 15328376, 1485152156, + 370225590, 1981873012, 2859738748, 45288368, 2614616156, 2732653382, + 775493141, 2147822146, 2601014836, 2629017746, 1186437898, 2367409068, + 1213902940, 3632507154, 3900360178, 476780140, 1472233963, 2804161546, + 3008276851, 738692330, 374418227, 315944413, 3905492369, 3570813810, + 2571569899, 178912537, 2294589976, 1437953363, 2133299955, 572779678, + 3092502836, 388784114, 2624227202, 1425443689, 3057273783, 2347385850, + 1682466193, 2519244187, 2839578677, 3958567839, 2513912981, 2830218821, + 427810014, +]); + +/** + * Object to export all the properties from an IFC to a JS object. + */ +class IfcJsonExporter { + constructor() { + this.onLoadProgress = new Event(); + this.onPropertiesSerialized = new Event(); + this._progress = 0; + } + /** + * Exports all the properties of an IFC into an array of JS objects. + * @webIfc The instance of [web-ifc]{@link https://github.com/ifcjs/web-ifc} to use. + * @modelID ID of the IFC model whose properties to extract. + */ + async export(webIfc, modelID) { + const geometriesIDs = await this.getAllGeometriesIDs(modelID, webIfc); + let properties = {}; + properties.coordinationMatrix = webIfc.GetCoordinationMatrix(modelID); + const allLinesIDs = await webIfc.GetAllLines(modelID); + const linesCount = allLinesIDs.size(); + this._progress = 0.1; + let counter = 0; + for (let i = 0; i < linesCount; i++) { + const id = allLinesIDs.get(i); + if (!geometriesIDs.has(id)) { + try { + properties[id] = await webIfc.GetLine(modelID, id); + } + catch (e) { + console.log(`Properties of the element ${id} could not be processed`); + } + counter++; + } + if (this.size !== undefined && counter > this.size) { + await this.onPropertiesSerialized.trigger(properties); + properties = null; + properties = {}; + counter = 0; + } + if (i / linesCount > this._progress) { + await this.onLoadProgress.trigger({ + progress: i, + total: linesCount, + }); + this._progress += 0.1; + } + } + await this.onPropertiesSerialized.trigger(properties); + properties = null; + } + async getAllGeometriesIDs(modelID, webIfc) { + // Exclude location info of spatial structure + const placementIDs = new Set(); + const structures = new Set(); + this.getStructure(IFCPROJECT, structures, webIfc); + this.getStructure(IFCSITE, structures, webIfc); + this.getStructure(IFCBUILDING, structures, webIfc); + this.getStructure(IFCBUILDINGSTOREY, structures, webIfc); + this.getStructure(IFCSPACE, structures, webIfc); + for (const id of structures) { + const properties = webIfc.GetLine(0, id); + const placementRef = properties.ObjectPlacement; + if (!placementRef || placementRef.value === null) { + continue; + } + const placementID = placementRef.value; + placementIDs.add(placementID); + const placementProps = webIfc.GetLine(0, placementID); + const relPlacementID = placementProps.RelativePlacement; + if (!relPlacementID || relPlacementID.value === null) { + continue; + } + placementIDs.add(relPlacementID.value); + const relPlacement = webIfc.GetLine(0, relPlacementID.value); + const location = relPlacement.Location; + if (location && location.value !== null) { + placementIDs.add(location.value); + } + } + const geometriesIDs = new Set(); + const geomTypesArray = Array.from(GeometryTypes); + for (let i = 0; i < geomTypesArray.length; i++) { + const category = geomTypesArray[i]; + // eslint-disable-next-line no-await-in-loop + const ids = await webIfc.GetLineIDsWithType(modelID, category); + const idsSize = ids.size(); + for (let j = 0; j < idsSize; j++) { + const id = ids.get(j); + if (placementIDs.has(id)) { + continue; + } + geometriesIDs.add(id); + } + } + return geometriesIDs; + } + getStructure(type, result, webIfc) { + const found = webIfc.GetLineIDsWithType(0, type); + const size = found.size(); + for (let i = 0; i < size; i++) { + const id = found.get(i); + result.add(id); + } + } +} + +class IfcPropertiesUtils { + static getUnits(properties) { + var _a; + const { IFCUNITASSIGNMENT } = WEBIFC; + const allUnits = this.findItemOfType(properties, IFCUNITASSIGNMENT); + if (!allUnits) + return 1; + for (const unitRef of allUnits.Units) { + if (unitRef.value === undefined || unitRef.value === null) + continue; + const unit = properties[unitRef.value]; + if (!unit.UnitType || !unit.UnitType.value) + continue; + const value = unit.UnitType.value; + if (value !== "LENGTHUNIT") + continue; + let factor = 1; + let unitValue = 1; + if (unit.Name.value === "METRE") + unitValue = 1; + if (unit.Name.value === "FOOT") + unitValue = 0.3048; + if (((_a = unit.Prefix) === null || _a === void 0 ? void 0 : _a.value) === "MILLI") + factor = 0.001; + return unitValue * factor; + } + return 1; + } + static findItemByGuid(properties, guid) { + var _a; + for (const id in properties) { + const property = properties[id]; + if (((_a = property.GlobalId) === null || _a === void 0 ? void 0 : _a.value) === guid) { + return property; + } + } + return null; + } + static findItemOfType(properties, type) { + for (const id in properties) { + const property = properties[id]; + if (property.type === type) { + return property; + } + } + return null; + } + static getAllItemsOfType(properties, type) { + const found = []; + for (const id in properties) { + const property = properties[id]; + if (!property) + continue; + if (property.type === type) { + found.push(property); + } + } + return found; + } + static getRelationMap(properties, relationType, onElementsFound) { + var _a; + const defaultCallback = () => { }; + const _onElementsFound = onElementsFound !== null && onElementsFound !== void 0 ? onElementsFound : defaultCallback; + const result = {}; + for (const expressID in properties) { + const prop = properties[expressID]; + if (prop === undefined) { + continue; + } + const isRelation = prop.type === relationType; + const relatingKey = Object.keys(prop).find((key) => key.startsWith("Relating")); + const relatedKey = Object.keys(prop).find((key) => key.startsWith("Related")); + if (!(isRelation && relatingKey && relatedKey)) + continue; + const relating = properties[(_a = prop[relatingKey]) === null || _a === void 0 ? void 0 : _a.value]; + const related = prop[relatedKey]; + if (relating === undefined || related === undefined) { + continue; + } + if (!(related && Array.isArray(related))) + continue; + const elements = related.map((el) => { + return el.value; + }); + _onElementsFound(relating.expressID, elements); + result[relating.expressID] = elements; + } + return result; + } + static getQsetQuantities(properties, expressID, onQuantityFound) { + var _a; + const defaultCallback = () => { }; + const _onQuantityFound = onQuantityFound !== null && onQuantityFound !== void 0 ? onQuantityFound : defaultCallback; + const pset = properties[expressID]; + if ((pset === null || pset === void 0 ? void 0 : pset.type) !== IFCELEMENTQUANTITY) + return null; + const quantities = (_a = pset.Quantities) !== null && _a !== void 0 ? _a : [{}]; + const qtos = quantities.map((prop) => { + if (prop.value) + _onQuantityFound(prop.value); + return prop.value; + }); + return qtos.filter((prop) => prop !== null); + } + static getPsetProps(properties, expressID, onPropFound) { + var _a; + const defaultCallback = () => { }; + const _onPropFound = onPropFound !== null && onPropFound !== void 0 ? onPropFound : defaultCallback; + const pset = properties[expressID]; + if ((pset === null || pset === void 0 ? void 0 : pset.type) !== IFCPROPERTYSET) + return null; + const hasProperties = (_a = pset.HasProperties) !== null && _a !== void 0 ? _a : [{}]; + const props = hasProperties.map((prop) => { + if (prop.value) + _onPropFound(prop.value); + return prop.value; + }); + return props.filter((prop) => prop !== null); + } + static getPsetRel(properties, psetID) { + const arrayProperties = Object.values(properties); + if (!properties[psetID]) + return null; + const rel = arrayProperties.find((data) => { + var _a; + const isRelation = data.type === IFCRELDEFINESBYPROPERTIES; + const relatesToPset = ((_a = data.RelatingPropertyDefinition) === null || _a === void 0 ? void 0 : _a.value) === psetID; + return isRelation && relatesToPset; + }); + return rel ? rel.expressID : null; + } + static getQsetRel(properties, qsetID) { + return IfcPropertiesUtils.getPsetRel(properties, qsetID); + } + static getEntityName(properties, entityID) { + var _a; + const entity = properties[entityID]; + const key = (_a = Object.keys(entity).find((key) => key.endsWith("Name"))) !== null && _a !== void 0 ? _a : null; + const name = key ? entity[key].value : null; + return { key, name }; + } + static getQuantityValue(properties, quantityID) { + var _a; + const quantity = properties[quantityID]; + const key = (_a = Object.keys(quantity).find((key) => key.endsWith("Value"))) !== null && _a !== void 0 ? _a : null; + let value; + if (key === null) { + value = null; + } + else if (quantity[key] === undefined || quantity[key] === null) { + value = null; + } + else { + value = quantity[key].value; + } + return { key, value }; + } + static isRel(expressID) { + const entityName = IfcCategoryMap[expressID]; + return entityName.startsWith("IFCREL"); + } + static attributeExists(properties, expressID, attribute) { + const entity = properties[expressID]; + if (!entity) + return false; + return Object.keys(properties[expressID]).includes(attribute); + } + static groupEntitiesByType(properties, expressIDs) { + var _a; + const categoriesMap = new Map(); + for (const expressID of expressIDs) { + const entity = properties[expressID]; + if (!entity) + continue; + const key = entity.type; + const set = categoriesMap.get(key); + if (!set) + categoriesMap.set(key, new Set()); + (_a = categoriesMap.get(key)) === null || _a === void 0 ? void 0 : _a.add(expressID); + } + return categoriesMap; + } +} + +class EntityActionsUI extends SimpleUIComponent { + constructor(components) { + super(components, `
`); + this.onNewPset = new Event(); + this.data = {}; + this.addPsetBtn = new Button(this._components, { + materialIconName: "add", + }); + this.addPsetBtn.onClick.add(async () => { + this._nameInput.value = ""; + this._descriptionInput.value = ""; + this.modal.visible = true; + }); + this.addChild(this.addPsetBtn); + this.modal = new Modal(components, "New Property Set"); + this._components.ui.add(this.modal); + this.modal.visible = false; + this.modal.onHidden.add(() => this.removeFromParent()); + const addPsetUI = new SimpleUIComponent(this._components, `
`); + this.modal.setSlot("content", addPsetUI); + this._nameInput = new TextInput(this._components); + this._nameInput.label = "Name"; + this._descriptionInput = new TextInput(this._components); + this._descriptionInput.label = "Description"; + this.modal.onAccept.add(() => { + const name = this._nameInput.value; + const description = this._descriptionInput.value; + this.modal.visible = false; + const { model, elementIDs } = this.data; + if (!model || name === "") + return; + this.onNewPset.trigger({ model, elementIDs, name, description }); + }); + this.modal.onCancel.add(() => (this.modal.visible = false)); + addPsetUI.addChild(this._nameInput, this._descriptionInput); + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + this.data = {}; + this.onNewPset.reset(); + await this.addPsetBtn.dispose(); + await this.modal.dispose(); + await this._nameInput.dispose(); + await this._descriptionInput.dispose(); + } +} + +class PsetActionsUI extends SimpleUIComponent { + constructor(components) { + super(components, `
`); + this.modalVisible = false; + this.onEditPset = new Event(); + this.onRemovePset = new Event(); + this.onNewProp = new Event(); + this.data = {}; + this.editPsetBtn = new Button(this._components); + this.editPsetBtn.materialIcon = "edit"; + this.setEditUI(); + this.removePsetBtn = new Button(this._components); + this.removePsetBtn.materialIcon = "delete"; + this.setRemoveUI(); + this.addPropBtn = new Button(this._components); + this.addPropBtn.materialIcon = "add"; + this.setAddPropUI(); + this.addChild(this.addPropBtn, this.editPsetBtn, this.removePsetBtn); + this._modal = new SimpleUIComponent(components, ``); + this._components.ui.add(this._modal); + this._modal.get().addEventListener("close", () => { + this.removeFromParent(); + this.modalVisible = false; + this._modalWindow.visible = false; + }); + this._modalWindow = new FloatingWindow(this._components); + this._modalWindow.get().className = + "overflow-auto text-white bg-ifcjs-100 rounded-md w-[350px]"; + this._modalWindow.onHidden.add(() => this._modal.get().close()); + this._modal.addChild(this._modalWindow); + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + await this.editPsetBtn.dispose(); + await this.removePsetBtn.dispose(); + await this.addPropBtn.dispose(); + await this._modal.dispose(); + await this._modalWindow.dispose(); + this.onEditPset.reset(); + this.onRemovePset.reset(); + this.onNewProp.reset(); + this.data = {}; + } + setEditUI() { + const editUI = new SimpleUIComponent(this._components, `
`); + const nameInput = new TextInput(this._components); + nameInput.label = "Name"; + const descriptionInput = new TextInput(this._components); + descriptionInput.label = "Description"; + const acceptBtn = new Button(this._components); + acceptBtn.materialIcon = "check"; + acceptBtn.label = "Accept"; + acceptBtn.get().classList.remove("hover:bg-ifcjs-200"); + acceptBtn.get().classList.add("hover:bg-success"); + acceptBtn.onClick.add(async () => { + this._modal.get().close(); + const { model, psetID } = this.data; + if (!model || !psetID) + return; + await this.onEditPset.trigger({ + model, + psetID, + name: nameInput.value, + description: descriptionInput.value, + }); + }); + const cancelBtn = new Button(this._components); + cancelBtn.materialIcon = "close"; + cancelBtn.label = "Cancel"; + cancelBtn.get().classList.remove("hover:bg-ifcjs-200"); + cancelBtn.get().classList.add("hover:bg-error"); + cancelBtn.onClick.add(() => this._modal.get().close()); + const actionBtns = new SimpleUIComponent(this._components, `
`); + actionBtns.addChild(cancelBtn, acceptBtn); + editUI.addChild(nameInput, descriptionInput, actionBtns); + this.editPsetBtn.onClick.add(async () => { + var _a, _b, _c, _d; + const { model, psetID } = this.data; + const properties = model === null || model === void 0 ? void 0 : model.properties; + if (!model || !psetID || !properties) + return; + const entity = properties[psetID]; + nameInput.value = (_b = (_a = entity.Name) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : ""; + descriptionInput.value = (_d = (_c = entity.Description) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : ""; + this._modalWindow.title = "Edit Property Set"; + this._modalWindow.setSlot("content", editUI); + this.showModal(); + }); + } + setRemoveUI() { + const removeUI = new SimpleUIComponent(this._components, `
`); + const warningText = document.createElement("div"); + warningText.className = "text-base text-center"; + warningText.textContent = + "Are you sure to delete this property set? This action can't be undone."; + removeUI.get().append(warningText); + const acceptBtn = new Button(this._components); + acceptBtn.materialIcon = "check"; + acceptBtn.label = "Accept"; + acceptBtn.get().classList.remove("hover:bg-ifcjs-200"); + acceptBtn.get().classList.add("hover:bg-success"); + acceptBtn.onClick.add(async () => { + this._modal.get().close(); + const { model, psetID } = this.data; + if (!model || !psetID) + return; + this.removeFromParent(); // As the psetUI is going to be disposed, then we need to first remove the action buttons so they do not become disposed as well. + await this.onRemovePset.trigger({ model, psetID }); + }); + const cancelBtn = new Button(this._components); + cancelBtn.materialIcon = "close"; + cancelBtn.label = "Cancel"; + cancelBtn.get().classList.remove("hover:bg-ifcjs-200"); + cancelBtn.get().classList.add("hover:bg-error"); + cancelBtn.onClick.add(() => this._modal.get().close()); + const actionBtns = new SimpleUIComponent(this._components, `
`); + actionBtns.addChild(cancelBtn, acceptBtn); + removeUI.addChild(actionBtns); + this.removePsetBtn.onClick.add(async () => { + const { model, psetID } = this.data; + if (!model || !psetID) + return; + this._modalWindow.title = "Remove Property Set"; + this._modalWindow.setSlot("content", removeUI); + this.showModal(); + }); + } + setAddPropUI() { + const addPropUI = new SimpleUIComponent(this._components, `
`); + const nameInput = new TextInput(this._components); + nameInput.label = "Name"; + const typeInput = new Dropdown(this._components); + typeInput.label = "Type"; + typeInput.addOption("IfcText", "IfcLabel", "IfcIdentifier"); + typeInput.value = "IfcText"; + const valueInput = new TextInput(this._components); + valueInput.label = "Value"; + const acceptBtn = new Button(this._components); + acceptBtn.materialIcon = "check"; + acceptBtn.label = "Accept"; + acceptBtn.get().classList.remove("hover:bg-ifcjs-200"); + acceptBtn.get().classList.add("hover:bg-success"); + acceptBtn.onClick.add(async () => { + this._modal.get().close(); + const { model, psetID } = this.data; + if (!model || !psetID) + return; + const name = nameInput.value; + const type = typeInput.value; + if (name === "" || !type) + return; + await this.onNewProp.trigger({ + model, + psetID, + name, + type, + value: valueInput.value, + }); + }); + const cancelBtn = new Button(this._components); + cancelBtn.materialIcon = "close"; + cancelBtn.label = "Cancel"; + cancelBtn.get().classList.remove("hover:bg-ifcjs-200"); + cancelBtn.get().classList.add("hover:bg-error"); + cancelBtn.onClick.add(() => this._modal.get().close()); + const actionBtns = new SimpleUIComponent(this._components, `
`); + actionBtns.addChild(cancelBtn, acceptBtn); + addPropUI.addChild(nameInput, typeInput, valueInput, actionBtns); + this.addPropBtn.onClick.add(async () => { + const { model, psetID } = this.data; + if (!model || !psetID) + return; + this._modalWindow.title = "New Property"; + this._modalWindow.setSlot("content", addPropUI); + this.showModal(); + }); + } + showModal() { + this.modalVisible = true; + this._modalWindow.visible = true; + this._modal.get().showModal(); + } +} + +class PropActionsUI extends SimpleUIComponent { + constructor(components) { + const div = document.createElement("div"); + div.className = "flex"; + super(components, `
`); + this.modalVisible = false; + this.onEditProp = new Event(); + this.onRemoveProp = new Event(); + this.data = {}; + this.editPropBtn = new Button(this._components); + this.editPropBtn.materialIcon = "edit"; + this.setEditUI(); + this.removePropBtn = new Button(this._components); + this.removePropBtn.materialIcon = "delete"; + this.setRemoveUI(); + this.addChild(this.editPropBtn, this.removePropBtn); + this._modal = new SimpleUIComponent(components, ``); + this._components.ui.add(this._modal); + this._modal.get().addEventListener("close", () => { + this.removeFromParent(); + this.modalVisible = false; + this._modalWindow.visible = false; + }); + this._modalWindow = new FloatingWindow(this._components); + this._modalWindow.get().className = + "overflow-auto text-white bg-ifcjs-100 rounded-md w-[350px]"; + this._modalWindow.onHidden.add(() => this._modal.get().close()); + this._modal.addChild(this._modalWindow); + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + this.onRemoveProp.reset(); + await this.editPropBtn.dispose(); + await this.removePropBtn.dispose(); + await this._modal.dispose(); + await this._modalWindow.dispose(); + this.data = {}; + } + setEditUI() { + const editUI = new SimpleUIComponent(this._components, `
`); + const nameInput = new TextInput(this._components); + nameInput.label = "Name"; + const valueInput = new TextInput(this._components); + valueInput.label = "Value"; + const acceptBtn = new Button(this._components); + acceptBtn.materialIcon = "check"; + acceptBtn.label = "Accept"; + acceptBtn.get().classList.remove("hover:bg-ifcjs-200"); + acceptBtn.get().classList.add("hover:bg-success"); + acceptBtn.onClick.add(async () => { + this._modal.get().close(); + const { model, expressID } = this.data; + if (!model || !expressID) + return; + await this.onEditProp.trigger({ + model, + expressID, + name: nameInput.value, + value: valueInput.value, + }); + }); + const cancelBtn = new Button(this._components); + cancelBtn.materialIcon = "close"; + cancelBtn.label = "Cancel"; + cancelBtn.get().classList.remove("hover:bg-ifcjs-200"); + cancelBtn.get().classList.add("hover:bg-error"); + cancelBtn.onClick.add(() => this._modal.get().close()); + const actionBtns = new SimpleUIComponent(this._components, `
`); + actionBtns.addChild(cancelBtn, acceptBtn); + editUI.addChild(nameInput, valueInput, actionBtns); + this.editPropBtn.onClick.add(async () => { + var _a, _b, _c, _d, _e, _f, _g, _h; + const { model, expressID } = this.data; + const properties = model === null || model === void 0 ? void 0 : model.properties; + if (!model || !expressID || !properties) + return; + const prop = properties[expressID]; + const { key: nameKey } = IfcPropertiesUtils.getEntityName(properties, expressID); + if (nameKey) { + nameInput.value = (_b = (_a = prop[nameKey]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : ""; + } + else { + nameInput.value = (_d = (_c = prop.Name) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : ""; + } + const { key: valueKey } = IfcPropertiesUtils.getQuantityValue(properties, expressID); + if (valueKey) { + valueInput.value = (_f = (_e = prop[valueKey]) === null || _e === void 0 ? void 0 : _e.value) !== null && _f !== void 0 ? _f : ""; + } + else { + valueInput.value = (_h = (_g = prop.NominalValue) === null || _g === void 0 ? void 0 : _g.value) !== null && _h !== void 0 ? _h : ""; + } + this._modalWindow.title = "Edit Property"; + this._modalWindow.setSlot("content", editUI); + this.showModal(); + }); + } + setRemoveUI() { + const removeUI = new SimpleUIComponent(this._components, `
`); + const warningText = document.createElement("div"); + warningText.className = "text-base text-center"; + warningText.textContent = + "Are you sure to delete this property? This action can't be undone."; + removeUI.get().append(warningText); + const acceptBtn = new Button(this._components); + acceptBtn.materialIcon = "check"; + acceptBtn.label = "Accept"; + acceptBtn.get().classList.remove("hover:bg-ifcjs-200"); + acceptBtn.get().classList.add("hover:bg-success"); + acceptBtn.onClick.add(async () => { + this._modal.get().close(); + const { model, expressID, setID } = this.data; + if (!model || !expressID || !setID) + return; + this.removeFromParent(); // As the psetUI is going to be disposed, then we need to first remove the action buttons so they do not become disposed as well. + await this.onRemoveProp.trigger({ model, expressID, setID }); + }); + const cancelBtn = new Button(this._components); + cancelBtn.materialIcon = "close"; + cancelBtn.label = "Cancel"; + cancelBtn.get().classList.remove("hover:bg-ifcjs-200"); + cancelBtn.get().classList.add("hover:bg-error"); + cancelBtn.onClick.add(() => this._modal.get().close()); + const actionBtns = new SimpleUIComponent(this._components, `
`); + actionBtns.addChild(cancelBtn, acceptBtn); + removeUI.addChild(actionBtns); + this.removePropBtn.onClick.add(async () => { + const { model, expressID, setID } = this.data; + if (!model || !expressID || !setID) + return; + this._modalWindow.title = "Remove Property"; + this._modalWindow.setSlot("content", removeUI); + this.showModal(); + }); + } + showModal() { + this.modalVisible = true; + this._modalWindow.visible = true; + this._modal.get().showModal(); + } +} + +class IfcPropertiesManager extends Component { + constructor(components) { + super(components); + this.onElementToPset = new Event(); + this.onPropToPset = new Event(); + this.onPsetRemoved = new Event(); + this.onDataChanged = new Event(); + this.wasm = { + path: "/", + absolute: false, + }; + this.enabled = true; + this.attributeListeners = {}; + this.uiElement = new UIElement(); + this._changeMap = {}; + this.components.tools.add(IfcPropertiesManager.uuid, this); + this._ifcApi = new IfcAPI2(); + // TODO: Save original IFC file so that opening it again is not necessary + if (components.ui.enabled) { + this.setUI(components); + this.setUIEvents(); + } + } + get() { + return this._changeMap; + } + async init() { + const { path, absolute } = this.wasm; + this._ifcApi.SetWasmPath(path, absolute); + await this._ifcApi.Init(); + } + async dispose() { + this._ifcApi = null; + this.selectedModel = undefined; + this.attributeListeners = {}; + this._changeMap = {}; + this.onElementToPset.reset(); + this.onPropToPset.reset(); + this.onPsetRemoved.reset(); + this.onDataChanged.reset(); + this.uiElement.dispose(); + } + setUI(components) { + const exportButton = new Button(components); + exportButton.tooltip = "Export IFC"; + exportButton.materialIcon = "exit_to_app"; + exportButton.onClick.add(() => { + const fileOpener = document.createElement("input"); + fileOpener.type = "file"; + fileOpener.onchange = async () => { + if (!this.selectedModel || + !fileOpener.files || + !fileOpener.files.length) { + return; + } + const file = fileOpener.files[0]; + const rawBuffer = await file.arrayBuffer(); + const fileData = new Uint8Array(rawBuffer); + const resultBuffer = await this.saveToIfc(this.selectedModel, fileData); + const resultFile = new File([new Blob([resultBuffer])], file.name); + const link = document.createElement("a"); + link.download = file.name; + link.href = URL.createObjectURL(resultFile); + link.click(); + link.remove(); + fileOpener.remove(); + }; + fileOpener.click(); + }); + this.uiElement.set({ + exportButton, + entityActions: new EntityActionsUI(components), + psetActions: new PsetActionsUI(components), + propActions: new PropActionsUI(components), + }); + } + setUIEvents() { + const entityActions = this.uiElement.get("entityActions"); + const propActions = this.uiElement.get("propActions"); + const psetActions = this.uiElement.get("psetActions"); + entityActions.onNewPset.add(async ({ model, elementIDs, name, description }) => { + const { pset } = await this.newPset(model, name, description === "" ? undefined : description); + for (const expressID of elementIDs !== null && elementIDs !== void 0 ? elementIDs : []) { + await this.addElementToPset(model, pset.expressID, expressID); + } + entityActions.cleanData(); + }); + propActions.onEditProp.add(async ({ model, expressID, name, value }) => { + var _a, _b; + const { properties } = IfcPropertiesManager.getIFCInfo(model); + const prop = properties[expressID]; + const { key: valueKey } = IfcPropertiesUtils.getQuantityValue(properties, expressID); + const { key: nameKey } = IfcPropertiesUtils.getEntityName(properties, expressID); + if (name !== "" && nameKey) { + if ((_a = prop[nameKey]) === null || _a === void 0 ? void 0 : _a.value) { + prop[nameKey].value = name; + } + else { + prop.Name = { type: 1, value: name }; + } + } + if (value !== "" && valueKey) { + if ((_b = prop[valueKey]) === null || _b === void 0 ? void 0 : _b.value) { + prop[valueKey].value = value; + } + else { + prop.NominalValue = { type: 1, value }; // Need to change type based on property 1:STRING, 2: LABEL, 3: ENUM, 4: REAL + } + } + await this.registerChange(model, expressID); + propActions.cleanData(); + }); + propActions.onRemoveProp.add(async ({ model, expressID, setID }) => { + await this.removePsetProp(model, setID, expressID); + propActions.cleanData(); + }); + psetActions.onEditPset.add(async ({ model, psetID, name, description }) => { + var _a, _b; + const { properties } = IfcPropertiesManager.getIFCInfo(model); + const pset = properties[psetID]; + if (name !== "") { + if ((_a = pset.Name) === null || _a === void 0 ? void 0 : _a.value) { + pset.Name.value = name; + } + else { + pset.Name = { type: 1, value: name }; + } + } + if (description !== "") { + if ((_b = pset.Description) === null || _b === void 0 ? void 0 : _b.value) { + pset.Description.value = description; + } + else { + pset.Description = { type: 1, value: description }; + } + } + await this.registerChange(model, psetID); + }); + psetActions.onRemovePset.add(async ({ model, psetID }) => { + await this.removePset(model, psetID); + }); + psetActions.onNewProp.add(async ({ model, psetID, name, type, value }) => { + const prop = await this.newSingleStringProperty(model, type, name, value); + await this.addPropToPset(model, psetID, prop.expressID); + }); + } + increaseMaxID(model) { + model.ifcMetadata.maxExpressID++; + } + static getIFCInfo(model) { + const properties = model.properties; + if (!properties) + throw new Error("FragmentsGroup properties not found"); + const schema = model.ifcMetadata.schema; + if (!schema) + throw new Error("IFC Schema not found"); + return { properties, schema }; + } + newGUID(model) { + const { schema } = IfcPropertiesManager.getIFCInfo(model); + return new WEBIFC[schema].IfcGloballyUniqueId(generateIfcGUID()); + } + getOwnerHistory(model) { + const { properties } = IfcPropertiesManager.getIFCInfo(model); + const ownerHistory = IfcPropertiesUtils.findItemOfType(properties, IFCOWNERHISTORY); + if (!ownerHistory) + throw new Error("No OwnerHistory was found."); + const ownerHistoryHandle = new Handle$5(ownerHistory.expressID); + return { ownerHistory, ownerHistoryHandle }; + } + async registerChange(model, ...expressID) { + if (!this._changeMap[model.uuid]) { + this._changeMap[model.uuid] = new Set(); + } + for (const id of expressID) { + this._changeMap[model.uuid].add(id); + await this.onDataChanged.trigger({ model, expressID: id }); + } + } + async setData(model, ...dataToSave) { + const { properties } = IfcPropertiesManager.getIFCInfo(model); + for (const data of dataToSave) { + const expressID = data.expressID; + if (!expressID) + continue; + properties[expressID] = data; + await this.registerChange(model, expressID); + } + } + async newPset(model, name, description) { + const { schema } = IfcPropertiesManager.getIFCInfo(model); + const { ownerHistoryHandle } = this.getOwnerHistory(model); + // Create the Pset + this.increaseMaxID(model); + const psetGlobalId = this.newGUID(model); + const psetName = new WEBIFC[schema].IfcLabel(name); + const psetDescription = description + ? new WEBIFC[schema].IfcText(description) + : null; + const pset = new WEBIFC[schema].IfcPropertySet(psetGlobalId, ownerHistoryHandle, psetName, psetDescription, []); + // Create the Pset relation + this.increaseMaxID(model); + const relGlobalId = this.newGUID(model); + const rel = new WEBIFC[schema].IfcRelDefinesByProperties(relGlobalId, ownerHistoryHandle, null, null, [], new Handle$5(pset.expressID)); + await this.setData(model, pset, rel); + return { pset, rel }; + } + async removePset(model, ...psetID) { + const { properties } = IfcPropertiesManager.getIFCInfo(model); + for (const expressID of psetID) { + const pset = properties[expressID]; + if ((pset === null || pset === void 0 ? void 0 : pset.type) !== IFCPROPERTYSET) + continue; + const relID = IfcPropertiesUtils.getPsetRel(properties, expressID); + if (relID) { + delete properties[relID]; + await this.registerChange(model, relID); + } + if (pset) { + for (const propHandle of pset.HasProperties) + delete properties[propHandle.value]; + delete properties[expressID]; + await this.onPsetRemoved.trigger({ model, psetID: expressID }); + await this.registerChange(model, expressID); + } + } + } + async newSingleProperty(model, type, name, value) { + const { schema } = IfcPropertiesManager.getIFCInfo(model); + this.increaseMaxID(model); + const propName = new WEBIFC[schema].IfcIdentifier(name); + // @ts-ignore + const propValue = new WEBIFC[schema][type](value); + const prop = new WEBIFC[schema].IfcPropertySingleValue(propName, null, propValue, null); + await this.setData(model, prop); + return prop; + } + newSingleStringProperty(model, type, name, value) { + return this.newSingleProperty(model, type, name, value); + } + newSingleNumericProperty(model, type, name, value) { + return this.newSingleProperty(model, type, name, value); + } + newSingleBooleanProperty(model, type, name, value) { + return this.newSingleProperty(model, type, name, value); + } + async removePsetProp(model, psetID, propID) { + const { properties } = IfcPropertiesManager.getIFCInfo(model); + const pset = properties[psetID]; + const prop = properties[propID]; + if (!(pset.type === IFCPROPERTYSET && prop)) + return; + pset.HasProperties = pset.HasProperties.filter((handle) => { + return handle.value !== propID; + }); + delete properties[propID]; + await this.registerChange(model, psetID, propID); + } + async addElementToPset(model, psetID, ...elementID) { + const { properties } = IfcPropertiesManager.getIFCInfo(model); + const relID = IfcPropertiesUtils.getPsetRel(properties, psetID); + if (!relID) + return; + const rel = properties[relID]; + for (const expressID of elementID) { + const elementHandle = new Handle$5(expressID); + rel.RelatedObjects.push(elementHandle); + await this.onElementToPset.trigger({ + model, + psetID, + elementID: expressID, + }); + } + await this.registerChange(model, psetID); + } + async addPropToPset(model, psetID, ...propID) { + const { properties } = IfcPropertiesManager.getIFCInfo(model); + const pset = properties[psetID]; + if (!pset) + return; + for (const expressID of propID) { + const elementHandle = new Handle$5(expressID); + pset.HasProperties.push(elementHandle); + await this.onPropToPset.trigger({ model, psetID, propID: expressID }); + } + await this.registerChange(model, psetID); + } + async saveToIfc(model, ifcToSaveOn) { + var _a; + const { properties } = IfcPropertiesManager.getIFCInfo(model); + const modelID = this._ifcApi.OpenModel(ifcToSaveOn); + const changes = (_a = this._changeMap[model.uuid]) !== null && _a !== void 0 ? _a : []; + for (const expressID of changes) { + const data = properties[expressID]; + if (!data) { + this._ifcApi.DeleteLine(modelID, expressID); + } + else { + this._ifcApi.WriteLine(modelID, data); + } + } + const modifiedIFC = this._ifcApi.SaveModel(modelID); + this._ifcApi.CloseModel(modelID); + this._ifcApi = null; + this._ifcApi = new IfcAPI2(); + const { path, absolute } = this.wasm; + this._ifcApi.SetWasmPath(path, absolute); + await this._ifcApi.Init(); + return modifiedIFC; + } + setAttributeListener(model, expressID, attributeName) { + if (!this.attributeListeners[model.uuid]) + this.attributeListeners[model.uuid] = {}; + const existingListener = this.attributeListeners[model.uuid][expressID] + ? this.attributeListeners[model.uuid][expressID][attributeName] + : null; + if (existingListener) + return existingListener; + const { properties } = IfcPropertiesManager.getIFCInfo(model); + const entity = properties[expressID]; + if (!entity) { + throw new Error(`Entity with expressID ${expressID} doesn't exists.`); + } + const attribute = entity[attributeName]; + if (Array.isArray(attribute) || !attribute) { + throw new Error(`Attribute ${attributeName} is array or null, and it can't have a listener.`); + } + const value = attribute.value; + if (value === undefined || value == null) { + throw new Error(`Attribute ${attributeName} has a badly defined handle.`); + } + // TODO: Is it good to set all the above as errors? Or better return null? + // TODO: Do we need an async-await in the following set function? + const event = new Event(); + Object.defineProperty(entity[attributeName], "value", { + get() { + return this._value; + }, + async set(value) { + this._value = value; + await event.trigger(value); + }, + }); + entity[attributeName].value = value; + if (!this.attributeListeners[model.uuid][expressID]) + this.attributeListeners[model.uuid][expressID] = {}; + this.attributeListeners[model.uuid][expressID][attributeName] = event; + return event; + } +} +IfcPropertiesManager.uuid = "58c2d9f0-183c-48d6-a402-dfcf5b9a34df"; +ToolComponent.libraryUUIDs.add(IfcPropertiesManager.uuid); + +class PropertyTag extends SimpleUIComponent { + get label() { + return this.innerElements.label.textContent; + } + set label(value) { + this.innerElements.label.textContent = value; + } + get value() { + return this.innerElements.value.textContent; + } + set value(value) { + this.innerElements.value.textContent = String(value); + } + constructor(components, propertiesProcessor, model, expressID) { + const template = ` +
+
+

+

+
+
+ `; + super(components, template); + this.name = "PropertyTag"; + this.expressID = 0; + this.innerElements = { + label: this.getInnerElement("label"), + value: this.getInnerElement("value"), + }; + this.model = model; + this.expressID = expressID; + this._propertiesProcessor = propertiesProcessor; + this.setInitialValues(); + this.setListeners(); + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + this.model = null; + this._propertiesProcessor = null; + if (Object.keys(this.innerElements).length) { + this.innerElements.value.remove(); + this.innerElements.label.remove(); + } + } + setListeners() { + const propertiesManager = this._propertiesProcessor.propertiesManager; + if (!propertiesManager) + return; + const { properties } = IfcPropertiesManager.getIFCInfo(this.model); + const { key: nameKey } = IfcPropertiesUtils.getEntityName(properties, this.expressID); + const { key: valueKey } = IfcPropertiesUtils.getQuantityValue(properties, this.expressID); + if (nameKey) { + const event = propertiesManager.setAttributeListener(this.model, this.expressID, nameKey); + event.add((v) => (this.label = v.toString())); + } + if (valueKey) { + const event = propertiesManager.setAttributeListener(this.model, this.expressID, valueKey); + event.add((v) => (this.value = v)); + } + } + setInitialValues() { + const { properties } = IfcPropertiesManager.getIFCInfo(this.model); + const entity = properties[this.expressID]; + if (!entity) { + this.label = "NULL"; + this.value = `ExpressID ${this.expressID} not found`; + } + else { + const { name } = IfcPropertiesUtils.getEntityName(properties, this.expressID); + const { value } = IfcPropertiesUtils.getQuantityValue(properties, this.expressID); + this.label = name; + this.value = value; + } + } +} + +class AttributeTag extends PropertyTag { + constructor(components, propertiesProcessor, model, expressID, attributeName = "Name") { + super(components, propertiesProcessor, model, expressID); + this.name = "AttributeTag"; + this.expressID = 0; + this.model = model; + this.expressID = expressID; + this.attributeName = attributeName; + this._propertiesProcessor = propertiesProcessor; + this.setInitialValues(); + this.setListeners(); + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + this.model = null; + } + setListeners() { + const propertiesManager = this._propertiesProcessor.propertiesManager; + if (!propertiesManager) + return; + try { + const event = propertiesManager.setAttributeListener(this.model, this.expressID, this.attributeName); + event.add((v) => (this.value = v)); + } + catch (err) { + // console.log(err); + } + } + setInitialValues() { + const properties = this.model.properties; + if (!properties) { + this.label = `Model ${this.model.ifcMetadata.name} has no properties`; + this.value = "NULL"; + return; + } + const entity = properties[this.expressID]; + if (!entity) { + this.label = `ExpressID ${this.expressID} not found`; + this.value = "NULL"; + return; + } + const attributes = Object.keys(entity); + if (!attributes.includes(this.attributeName)) { + this.label = `Attribute ${this.attributeName} not found`; + this.value = "NULL"; + return; + } + if (!entity[this.attributeName]) + return; + this.label = this.attributeName; + this.value = entity[this.attributeName].value; + } +} + +class AttributeSet extends TreeView { + set expressID(value) { + this._expressID = value; + this._attributes = []; + this.slots.content.dispose(true); + } + get expressID() { + return this._expressID; + } + constructor(components, propertiesProcessor, model, expressID) { + super(components, "ATTRIBUTES"); + this.name = "AttributeSet"; + this.attributesToIgnore = []; + this._expressID = 0; + this._attributes = []; + this._generated = false; + this.model = model; + this.expressID = expressID; + this._propertiesProcessor = propertiesProcessor; + this.onExpand.add(() => this.generate()); + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + this.model = null; + this.attributesToIgnore = []; + this._attributes = []; + this._propertiesProcessor = null; + } + generate() { + const properties = this.model.properties; + if (this._generated || !properties) + return; + this.update(); + this._generated = true; + } + update() { + const properties = this.model.properties; + if (!properties) + return; + const entity = properties[this.expressID]; + if (!entity) + return; + for (const attributeName in entity) { + const ignore = this.attributesToIgnore.includes(attributeName); + if (ignore) + continue; + const included = this._attributes.includes(attributeName); + if (included) ; + else { + const attribute = entity[attributeName]; + if (!(attribute === null || attribute === void 0 ? void 0 : attribute.value)) + continue; // in case there is an attribute without handle + this._attributes.push(attributeName); + const tag = new AttributeTag(this._components, this._propertiesProcessor, this.model, this.expressID, attributeName); + this.addChild(tag); + } + } + } +} + +class IfcPropertiesProcessor extends Component { + // private _entityUIPool: UIPool; + set propertiesManager(manager) { + if (this._propertiesManager) + return; + this._propertiesManager = manager; + if (manager) { + manager.onElementToPset.add(({ model, psetID, elementID }) => { + const modelIndexMap = this._indexMap[model.uuid]; + if (!modelIndexMap) + return; + this.setEntityIndex(model, elementID).add(psetID); + if (this._currentUI[elementID]) { + const ui = this.newPsetUI(model, psetID); + this._currentUI[elementID].addChild(...ui); + } + }); + manager.onPsetRemoved.add(async ({ psetID }) => { + const psetUI = this._currentUI[psetID]; + if (psetUI) { + await psetUI.dispose(); + } + }); + manager.onPropToPset.add(({ model, psetID, propID }) => { + const psetUI = this._currentUI[psetID]; + if (!psetUI) + return; + const tag = this.newPropertyTag(model, psetID, propID, "NominalValue"); + if (tag) + psetUI.addChild(tag); + }); + this.onPropertiesManagerSet.trigger(manager); + } + } + get propertiesManager() { + return this._propertiesManager; + } + constructor(components) { + super(components); + this.enabled = true; + this.uiElement = new UIElement(); + this.relationsToProcess = [ + IFCRELDEFINESBYPROPERTIES, + IFCRELDEFINESBYTYPE, + IFCRELASSOCIATESMATERIAL, + IFCRELCONTAINEDINSPATIALSTRUCTURE, + IFCRELASSOCIATESCLASSIFICATION, + IFCRELASSIGNSTOGROUP, + ]; + this.entitiesToIgnore = [IFCOWNERHISTORY, IFCMATERIALLAYERSETUSAGE]; + this.attributesToIgnore = [ + "CompositionType", + "Representation", + "ObjectPlacement", + "OwnerHistory", + ]; + this._indexMap = {}; + this._renderFunctions = {}; + this._propertiesManager = null; + this._currentUI = {}; + this.onPropertiesManagerSet = new Event(); + this.components.tools.add(IfcPropertiesProcessor.uuid, this); + // this._entityUIPool = new UIPool(this._components, TreeView); + this._renderFunctions = this.getRenderFunctions(); + if (components.ui.enabled) { + this.setUI(); + } + } + getRenderFunctions() { + return { + 0: (model, expressID) => this.newEntityUI(model, expressID), + [IFCPROPERTYSET]: (model, expressID) => this.newPsetUI(model, expressID), + [IFCELEMENTQUANTITY]: (model, expressID) => this.newQsetUI(model, expressID), + }; + } + async dispose() { + this.uiElement.dispose(); + this._indexMap = {}; + this.propertiesManager = null; + for (const id in this._currentUI) { + await this._currentUI[id].dispose(); + } + this._currentUI = {}; + this.onPropertiesManagerSet.reset(); + } + getProperties(model, id) { + if (!model.properties) + return null; + const map = this._indexMap[model.uuid]; + if (!map) + return null; + const indices = map[id]; + const idNumber = parseInt(id, 10); + const nativeProperties = this.cloneProperty(model.properties[idNumber]); + const properties = [nativeProperties]; + if (indices) { + for (const index of indices) { + const pset = this.cloneProperty(model.properties[index]); + if (!pset) + continue; + this.getPsetProperties(pset, model.properties); + this.getNestedPsets(pset, model.properties); + properties.push(pset); + } + } + return properties; + } + getNestedPsets(pset, props) { + if (pset.HasPropertySets) { + for (const subPSet of pset.HasPropertySets) { + const psetID = subPSet.value; + subPSet.value = this.cloneProperty(props[psetID]); + this.getPsetProperties(subPSet.value, props); + } + } + } + getPsetProperties(pset, props) { + if (pset.HasProperties) { + for (const property of pset.HasProperties) { + const psetID = property.value; + const result = this.cloneProperty(props[psetID]); + property.value = { ...result }; + } + } + } + setUI() { + const topToolbar = new SimpleUIComponent(this.components); + const propsList = new SimpleUIComponent(this.components, `
`); + const main = new Button(this.components, { + materialIconName: "list", + }); + const propertiesWindow = new FloatingWindow(this.components); + this.components.ui.add(propertiesWindow); + propertiesWindow.title = "Element Properties"; + propertiesWindow.addChild(topToolbar, propsList); + main.tooltip = "Properties"; + main.onClick.add(() => { + propertiesWindow.visible = !propertiesWindow.visible; + }); + propertiesWindow.onHidden.add(() => (main.active = false)); + propertiesWindow.onVisible.add(() => (main.active = true)); + propertiesWindow.visible = false; + this.uiElement.set({ + main, + propertiesWindow, + propsList, + topToolbar, + }); + } + async cleanPropertiesList() { + if (this._propertiesManager) { + const button = this._propertiesManager.uiElement.get("exportButton"); + button.removeFromParent(); + } + const propsList = this.uiElement.get("propsList"); + await propsList.dispose(true); + // for (const child of this._propsList.children) { + // if (child instanceof TreeView) { + // this._entityUIPool.return(child); + // continue; + // } + // child.dispose(); + // } + const propsWindow = this.uiElement.get("propertiesWindow"); + propsWindow.description = null; + propsList.children = []; + this._currentUI = {}; + } + get() { + return this._indexMap; + } + process(model) { + const properties = model.properties; + if (!properties) + throw new Error("FragmentsGroup properties not found"); + this._indexMap[model.uuid] = {}; + // const relations: number[] = []; + // for (const typeID in IfcCategoryMap) { + // const name = IfcCategoryMap[typeID]; + // if (name.startsWith("IFCREL")) relations.push(Number(typeID)); + // } + const setEntities = [IFCPROPERTYSET, IFCELEMENTQUANTITY]; + for (const relation of this.relationsToProcess) { + IfcPropertiesUtils.getRelationMap(properties, relation, (relationID, relatedIDs) => { + const relationEntity = properties[relationID]; + if (!setEntities.includes(relationEntity.type)) + this.setEntityIndex(model, relationID); + for (const expressID of relatedIDs) { + this.setEntityIndex(model, expressID).add(relationID); + } + }); + } + } + async renderProperties(model, expressID) { + await this.cleanPropertiesList(); + const topToolbar = this.uiElement.get("topToolbar"); + const propsList = this.uiElement.get("propsList"); + const propsWindow = this.uiElement.get("propertiesWindow"); + const ui = this.newEntityUI(model, expressID); + if (!ui) + return; + if (this._propertiesManager) { + this._propertiesManager.selectedModel = model; + const exporter = this._propertiesManager.uiElement.get("exportButton"); + topToolbar.addChild(exporter); + } + const { properties } = IfcPropertiesManager.getIFCInfo(model); + const { name } = IfcPropertiesUtils.getEntityName(properties, expressID); + propsWindow.description = name; + propsList.addChild(...[ui].flat()); + } + newEntityUI(model, expressID) { + const properties = model.properties; + if (!properties) + throw new Error("FragmentsGroup properties not found."); + const modelElementsIndexation = this._indexMap[model.uuid]; + if (!modelElementsIndexation) + return null; + const entity = properties[expressID]; + const ignorable = this.entitiesToIgnore.includes(entity === null || entity === void 0 ? void 0 : entity.type); + if (!entity || ignorable) + return null; + if (entity.type === IFCPROPERTYSET) + return this.newPsetUI(model, expressID); + const mainGroup = this.newEntityTree(model, expressID); + if (!mainGroup) + return null; + this.addEntityActions(model, expressID, mainGroup); + mainGroup.onExpand.add(() => { + var _a, _b; + const { uiProcessed } = mainGroup.data; + if (uiProcessed) + return; + mainGroup.addChild(...this.newAttributesUI(model, expressID)); + const elementPropsIndexation = (_a = modelElementsIndexation[expressID]) !== null && _a !== void 0 ? _a : []; + for (const id of elementPropsIndexation) { + const entity = properties[id]; + if (!entity) + continue; + const renderFunction = (_b = this._renderFunctions[entity.type]) !== null && _b !== void 0 ? _b : this._renderFunctions[0]; + const ui = modelElementsIndexation[id] + ? this.newEntityUI(model, id) + : renderFunction(model, id); + if (!ui) + continue; + mainGroup.addChild(...[ui].flat()); + } + mainGroup.data.uiProcessed = true; + }); + return mainGroup; + } + setEntityIndex(model, expressID) { + if (!this._indexMap[model.uuid][expressID]) + this._indexMap[model.uuid][expressID] = new Set(); + return this._indexMap[model.uuid][expressID]; + } + newAttributesUI(model, expressID) { + const { properties } = IfcPropertiesManager.getIFCInfo(model); + if (!properties) + return []; + const attributesGroup = new AttributeSet(this.components, this, model, expressID); + attributesGroup.attributesToIgnore = this.attributesToIgnore; + return [attributesGroup]; + } + newPsetUI(model, psetID) { + const { properties } = IfcPropertiesManager.getIFCInfo(model); + const uiGroups = []; + const pset = properties[psetID]; + if (pset.type !== IFCPROPERTYSET) + return uiGroups; + const uiGroup = this.newEntityTree(model, psetID); + if (!uiGroup) + return uiGroups; + this.addPsetActions(model, psetID, uiGroup); + uiGroup.onExpand.add(() => { + const { uiProcessed } = uiGroup.data; + if (uiProcessed) + return; + const psetPropsID = IfcPropertiesUtils.getPsetProps(properties, psetID, (propID) => { + const prop = properties[propID]; + if (!prop) + return; + const tag = this.newPropertyTag(model, psetID, propID, "NominalValue"); + if (tag) + uiGroup.addChild(tag); + }); + if (!psetPropsID || psetPropsID.length === 0) { + const template = ` +

+ This pset has no properties. +

+ `; + const notFoundText = new SimpleUIComponent(this.components, template); + uiGroup.addChild(notFoundText); + } + uiGroup.data.uiProcessed = true; + }); + uiGroups.push(uiGroup); + return uiGroups; + } + newQsetUI(model, qsetID) { + const { properties } = IfcPropertiesManager.getIFCInfo(model); + const uiGroups = []; + const qset = properties[qsetID]; + if (qset.type !== IFCELEMENTQUANTITY) + return uiGroups; + const uiGroup = this.newEntityTree(model, qsetID); + if (!uiGroup) + return uiGroups; + this.addPsetActions(model, qsetID, uiGroup); + IfcPropertiesUtils.getQsetQuantities(properties, qsetID, (quantityID) => { + const { key } = IfcPropertiesUtils.getQuantityValue(properties, quantityID); + if (!key) + return; + const tag = this.newPropertyTag(model, qsetID, quantityID, key); + if (tag) + uiGroup.addChild(tag); + }); + uiGroups.push(uiGroup); + return uiGroups; + } + addPsetActions(model, psetID, uiGroup) { + if (!this.propertiesManager) + return; + const propsUI = this.propertiesManager.uiElement; + const psetActions = propsUI.get("psetActions"); + const event = this.propertiesManager.setAttributeListener(model, psetID, "Name"); + event.add((v) => (uiGroup.description = v.toString())); + uiGroup.innerElements.titleContainer.onmouseenter = () => { + psetActions.data = { model, psetID }; + uiGroup.slots.titleRight.addChild(psetActions); + }; + uiGroup.innerElements.titleContainer.onmouseleave = () => { + if (psetActions.modalVisible) + return; + psetActions.removeFromParent(); + psetActions.cleanData(); + }; + } + addEntityActions(model, expressID, uiGroup) { + if (!this.propertiesManager) + return; + const propsUI = this.propertiesManager.uiElement; + const entityActions = propsUI.get("entityActions"); + uiGroup.innerElements.titleContainer.onmouseenter = () => { + entityActions.data = { model, elementIDs: [expressID] }; + uiGroup.slots.titleRight.addChild(entityActions); + }; + uiGroup.innerElements.titleContainer.onmouseleave = () => { + if (entityActions.modal.visible) + return; + entityActions.removeFromParent(); + entityActions.cleanData(); + }; + } + newEntityTree(model, expressID) { + const { properties } = IfcPropertiesManager.getIFCInfo(model); + const entity = properties[expressID]; + if (!entity) + return null; + const currentUI = this._currentUI[expressID]; + if (currentUI) + return currentUI; + const entityTree = new TreeView(this.components); + this._currentUI[expressID] = entityTree; + // const entityTree = this._entityUIPool.get(); + entityTree.title = `${IfcCategoryMap[entity.type]}`; + const { name } = IfcPropertiesUtils.getEntityName(properties, expressID); + entityTree.description = name; + return entityTree; + } + newPropertyTag(model, setID, expressID, valueKey) { + const { properties } = IfcPropertiesManager.getIFCInfo(model); + const entity = properties[expressID]; + if (!entity) + return null; + const tag = new PropertyTag(this.components, this, model, expressID); + // @ts-ignore + this._currentUI[expressID] = tag; + if (!this.propertiesManager) + return tag; + // #region ManagementUI + const propsUI = this.propertiesManager.uiElement; + const propActions = propsUI.get("propActions"); + tag.get().onmouseenter = () => { + propActions.data = { model, setID, expressID, valueKey }; + tag.addChild(propActions); + }; + tag.get().onmouseleave = () => { + if (propActions.modalVisible) + return; + propActions.removeFromParent(); + propActions.cleanData(); + }; + // #endregion ManagementUI + return tag; + } + cloneProperty(item, result = {}) { + if (!item) { + return result; + } + for (const key in item) { + const value = item[key]; + const isArray = Array.isArray(value); + const isObject = typeof value === "object" && !isArray && value !== null; + if (isArray) { + result[key] = []; + const subResult = result[key]; + this.clonePropertyArray(value, subResult); + } + else if (isObject) { + result[key] = {}; + const subResult = result[key]; + this.cloneProperty(value, subResult); + } + else { + result[key] = value; + } + } + return result; + } + clonePropertyArray(item, result) { + for (const value of item) { + const isArray = Array.isArray(value); + const isObject = typeof value === "object" && !isArray && value !== null; + if (isArray) { + const subResult = []; + result.push(subResult); + this.clonePropertyArray(value, subResult); + } + else if (isObject) { + const subResult = {}; + result.push(subResult); + this.cloneProperty(value, subResult); + } + else { + result.push(value); + } + } + } +} +IfcPropertiesProcessor.uuid = "23a889ab-83b3-44a4-8bee-ead83438370b"; +ToolComponent.libraryUUIDs.add(IfcPropertiesProcessor.uuid); + +class AttributeQueryUI extends SimpleUIComponent { + // Is ok to use Type Assertion in this case? + get query() { + const attribute = this.attribute.value; + const condition = this.condition.value; + const operator = this.operator.value || null; + const value = attribute === "type" + ? this.getTypeConstant(this.ifcTypes.value) + : this.value.value; + const negateResult = this.negate.value === "NOT A"; + const query = { + attribute, + condition, + value, + negateResult, + operator, + }; + if (this.operator.visible) + query.operator = this.operator.value; + return query; + } + set query(value) { + if (value.operator) { + this.operator.value = value.operator; + this.operator.visible = true; + } + this.attribute.value = value.attribute; + this.condition.value = value.condition; + this.negate.value = value.negateResult ? "NOT A" : "A"; + if (value.attribute === "type") { + if (typeof value.value !== "number") { + throw new Error("Corrupted IfcPropertiesFinder cached data!"); + } + this.value.value = ""; + this.ifcTypes.value = IfcCategoryMap[value.value]; + } + else { + this.ifcTypes.value = null; + this.value.value = String(value.value); + } + } + getTypeConstant(value) { + for (const [key, val] of Object.entries(IfcCategoryMap)) { + if (val === value) + return Number(key); + } + return null; + } + constructor(components) { + super(components, `
`); + this.negate = new Dropdown(components); + const negateClass = this.negate.domElement.classList; + negateClass.remove("w-full"); + negateClass.add("min-w-[4.5rem]"); + this.negate.label = "Sign"; + this.negate.addOption("A", "NOT A"); + this.negate.value = "A"; + this.operator = new Dropdown(components); + this.operator.visible = false; + this.operator.label = "Operator"; + this.operator.get().style.width = "300px"; + this.operator.addOption("AND", "OR"); + this.attribute = new Dropdown(components); + this.attribute.label = "Attribute"; + this.attribute.addOption("type", "Name", "PredefinedType", "NominalValue", "Description"); + this.attribute.onChange.add((selection) => { + const attributeIsType = selection === "type"; + this.value.visible = !attributeIsType; + this.ifcTypes.visible = attributeIsType; + }); + this.condition = new Dropdown(components); + this.condition.label = "Condition"; + this.condition.addOption("is", "includes", "startsWith", "endsWith", "matches"); + this.condition.value = this.condition.options[0]; + this.value = new TextInput(components); + this.value.label = "Value"; + this.ifcTypes = new Dropdown(components); + this.ifcTypes.allowSearch = true; + this.ifcTypes.visible = false; + this.ifcTypes.label = "Value"; + for (const type of Object.values(IfcCategoryMap)) { + this.ifcTypes.addOption(type); + } + this.ifcTypes.value = "IFCWALL"; + this.removeBtn = new Button(components, { materialIconName: "remove" }); + this.removeBtn.visible = false; + this.removeBtn.get().classList.remove("mt-auto", "hover:bg-ifcjs-200"); + this.removeBtn.get().classList.add("mt-auto", "mb-2", "hover:bg-error"); + this.removeBtn.onClick.add(async () => { + if (this.parent instanceof SimpleUIComponent) + this.parent.removeChild(this); + await this.dispose(); + }); + this.addChild(this.operator, this.attribute, this.condition, this.negate, this.value, this.ifcTypes, this.removeBtn); + this.attribute.value = "Name"; + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + await this.operator.dispose(); + await this.attribute.dispose(); + await this.condition.dispose(); + await this.value.dispose(); + await this.ifcTypes.dispose(); + await this.removeBtn.dispose(); + await this.negate.dispose(); + } +} + +class QueryGroupUI extends SimpleUIComponent { + get query() { + const queriesMap = this.children.map((child) => { + if (!(child instanceof AttributeQueryUI)) + return null; + return child.query; + }); + const queries = queriesMap.filter((query) => query !== null); + const query = { queries }; + if (this.operator.visible) + query.operator = this.operator.value; + return query; + } + set query(value) { + if (value.operator) + this.operator.value = value.operator; + for (const child of this.children) { + if (!(child instanceof AttributeQueryUI)) + continue; + this.removeChild(child); + child.dispose(); + } + let first = true; + for (const [index, query] of value.queries.entries()) { + // @ts-ignore + if (!query.condition) + continue; + const attributeQuery = query; + if (index === 0 && attributeQuery.operator) { + delete attributeQuery.operator; + } + const attributeQueryUI = new AttributeQueryUI(this._components); + attributeQueryUI.query = attributeQuery; + this.addChild(attributeQueryUI); + if (first) { + first = false; + } + else { + attributeQueryUI.removeBtn.visible = true; + } + } + } + constructor(components) { + super(components, `
`); + this.operator = new Dropdown(components); + this.operator.visible = false; + this.operator.label = null; + this.operator.addOption("AND", "OR"); + const topContainer = new SimpleUIComponent(components, `
`); + const newRuleBtn = new Button(components, { materialIconName: "add" }); + newRuleBtn.get().classList.add("w-fit"); + newRuleBtn.label = "Add Rule"; + newRuleBtn.onClick.add(() => { + const propertyQuery = new AttributeQueryUI(components); + propertyQuery.operator.visible = true; + propertyQuery.operator.value = propertyQuery.operator.options[0]; + propertyQuery.removeBtn.visible = true; + this.addChild(propertyQuery); + }); + const newGroupBtn = new Button(components, { materialIconName: "add" }); + newGroupBtn.get().classList.add("w-fit"); + newGroupBtn.label = "Add Group"; + this.removeBtn = new Button(components, { materialIconName: "delete" }); + this.removeBtn.label = "Delete Group"; + this.removeBtn.visible = false; + this.removeBtn.onClick.add(async () => { + if (this.parent instanceof SimpleUIComponent) + this.parent.removeChild(this); + await this.dispose(); + }); + topContainer.addChild(newRuleBtn, this.removeBtn); + const propertyQuery = new AttributeQueryUI(components); + this.addChild(topContainer, this.operator, propertyQuery); + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + await this.operator.dispose(); + await this.removeBtn.dispose(); + } +} + +class QueryBuilder extends SimpleUIComponent { + get query() { + const queriesMap = this.children.map((child) => { + if (!(child instanceof QueryGroupUI)) + return null; + return child.query; + }); + return queriesMap.filter((query) => query !== null); + } + set query(value) { + for (const child of this.children) { + if (child instanceof QueryGroupUI) { + this.removeChild(child); + child.dispose(); + } + } + let first = true; + for (const [index, group] of value.entries()) { + if (index === 0 && group.operator) { + delete group.operator; + } + const attributeQueryUI = new QueryGroupUI(this._components); + attributeQueryUI.removeBtn.visible = true; + attributeQueryUI.query = group; + this.addChild(attributeQueryUI); + if (first) { + first = false; + attributeQueryUI.removeBtn.visible = false; + } + } + this.get().append(this.findButton.get()); + this.onQuerySet.trigger(value); + } + constructor(components) { + super(components, `
`); + this.onQuerySet = new Event(); + this.findButton = new Button(this._components, { + materialIconName: "search", + }); + this.findButton.label = "Find"; + this.findButton.alignment = "center"; + this.findButton + .get() + .classList.add("border", "border-solid", "border-ifcjs-120", "hover:border-ifcjs-200"); + const topContainer = new SimpleUIComponent(this._components, `
`); + const newGroupBtn = new Button(this._components, { + materialIconName: "add", + }); + newGroupBtn.get().classList.add("w-fit"); + newGroupBtn.label = "Add Group"; + newGroupBtn.onClick.add(() => { + const queryGroup = new QueryGroupUI(this._components); + queryGroup.operator.visible = true; + queryGroup.operator.value = queryGroup.operator.options[0]; + queryGroup.removeBtn.visible = true; + this.addChild(queryGroup); + this.get().append(this.findButton.get()); + }); + const resetBtn = new Button(this._components, { + materialIconName: "refresh", + }); + resetBtn.label = "Reset"; + topContainer.addChild(newGroupBtn); + const queryEditor = new QueryGroupUI(this._components); + this.addChild(topContainer, queryEditor, this.findButton); + // this.query = [ + // { + // queries: [ + // { attribute: "Name", condition: "includes", value: "Acabado" }, + // { + // operator: "AND", + // attribute: "PredefinedType", + // condition: "is", + // value: "FLOOR", + // }, + // ], + // }, + // ]; + } + async dispose(onlyChildren = false) { + await super.dispose(onlyChildren); + await this.findButton.dispose(); + this.onQuerySet.reset(); + } +} + +class IfcPropertiesFinder extends Component { + constructor(components) { + super(components); + this.onFound = new Event(); + this.enabled = true; + this.uiElement = new UIElement(); + this._localStorageID = "IfcPropertiesFinder"; + this._indexedModels = {}; + this._noHandleAttributes = ["type"]; + this._conditionFunctions = this.getConditionFunctions(); + } + async init() { + if (this.components.ui.enabled) { + await this.setUI(); + } + } + get() { + return this._indexedModels; + } + async dispose() { + this._indexedModels = {}; + this.onFound.reset(); + this.uiElement.dispose(); + } + loadCached(id) { + if (id) { + this._localStorageID = `IfcPropertiesFinder-${id}`; + } + const serialized = localStorage.getItem(this._localStorageID); + if (!serialized) + return; + const groups = JSON.parse(serialized); + const queryBuilder = this.uiElement.get("query"); + queryBuilder.query = groups; + } + deleteCache() { + localStorage.removeItem(this._localStorageID); + } + async setUI() { + const main = new Button(this.components, { + materialIconName: "manage_search", + }); + const queryWindow = new FloatingWindow(this.components); + this.components.ui.add(queryWindow); + const fragments = await this.components.tools.get(FragmentManager); + queryWindow.get().classList.add("overflow-visible"); + queryWindow.get().style.width = "700px"; + queryWindow.get().style.height = "420px"; + queryWindow.visible = false; + queryWindow.resizeable = false; + queryWindow.title = "Model Queries"; + main.onClick.add(() => { + queryWindow.visible = !queryWindow.visible; + }); + queryWindow.onVisible.add(() => (main.active = true)); + queryWindow.onHidden.add(() => (main.active = false)); + const query = new QueryBuilder(this.components); + query.findButton.onClick.add(async () => { + const model = fragments.groups[0]; + if (!model) + return; + await this.find(); + }); + queryWindow.addChild(query); + this.uiElement.set({ + main, + queryWindow, + query, + }); + } + indexEntityRelations(model) { + const map = {}; + const { properties } = IfcPropertiesManager.getIFCInfo(model); + IfcPropertiesUtils.getRelationMap(properties, IFCRELDEFINESBYPROPERTIES, (relatingID, relatedIDs) => { + if (!map[relatingID]) + map[relatingID] = new Set(); + const props = []; + IfcPropertiesUtils.getPsetProps(properties, relatingID, (propID) => { + props.push(propID); + map[relatingID].add(propID); + if (!map[propID]) + map[propID] = new Set(); + map[propID].add(relatingID); + }); + for (const relatedID of relatedIDs) { + map[relatingID].add(relatedID); + for (const propID of props) + map[propID].add(relatedID); + if (!map[relatedID]) + map[relatedID] = new Set(); + map[relatedID].add(relatedID); + } + }); + const ifcRelations = [ + IFCRELCONTAINEDINSPATIALSTRUCTURE, + IFCRELDEFINESBYTYPE, + IFCRELASSIGNSTOGROUP, + ]; + for (const relation of ifcRelations) { + IfcPropertiesUtils.getRelationMap(properties, relation, (relatingID, relatedIDs) => { + if (!map[relatingID]) + map[relatingID] = new Set(); + for (const relatedID of relatedIDs) { + map[relatingID].add(relatedID); + if (!map[relatedID]) + map[relatedID] = new Set(); + map[relatedID].add(relatedID); + } + }); + } + this._indexedModels[model.uuid] = map; + return map; + } + async find(queryGroups, queryModels) { + const fragments = await this.components.tools.get(FragmentManager); + const queries = this.uiElement.get("query"); + const models = queryModels || fragments.groups; + const groups = queryGroups || queries.query; + const result = {}; + this.cache(); + for (const model of models) { + let map = this._indexedModels[model.uuid]; + if (!map) + map = this.indexEntityRelations(model); + let relations = []; + for (const [index, group] of groups.entries()) { + const excludedItems = new Set(); + const groupResult = this.simpleQuery(model, group, excludedItems); + const groupRelations = []; + for (const expressID of groupResult) { + const relations = map[expressID]; + if (!relations) + continue; + groupRelations.push(expressID); + for (const id of relations) { + if (!excludedItems.has(id)) { + groupRelations.push(id); + } + } + } + relations = + group.operator === "AND" && index > 0 + ? this.getCommonElements(relations, groupRelations) + : [...relations, ...groupRelations]; + } + const modelEntities = new Set(); + for (const expressID in model.data) { + const included = relations.includes(Number(expressID)); + if (!included) + continue; + modelEntities.add(Number(expressID)); + } + const otherEntities = new Set(); + for (const expressID of relations) { + const included = modelEntities.has(expressID); + if (included) + continue; + otherEntities.add(expressID); + } + result[model.uuid] = { modelEntities, otherEntities }; + } + const foundFragments = await this.toFragmentMap(result); + await this.onFound.trigger(foundFragments); + return foundFragments; + } + async toFragmentMap(data) { + const fragments = await this.components.tools.get(FragmentManager); + const fragmentMap = {}; + for (const modelID in data) { + const model = fragments.groups.find((m) => m.uuid === modelID); + if (!model) + continue; + const matchingEntities = data[modelID].modelEntities; + for (const expressID of matchingEntities) { + const data = model.data[expressID]; + if (!data) + continue; + for (const key of data[0]) { + const fragmentID = model.keyFragments[key]; + if (!fragmentMap[fragmentID]) { + fragmentMap[fragmentID] = new Set(); + } + fragmentMap[fragmentID].add(String(expressID)); + } + } + } + return fragmentMap; + } + simpleQuery(model, queryGroup, excludedItems) { + var _a; + const properties = model.properties; + if (!properties) + throw new Error("Model has no properties"); + let filteredProps = {}; + let iterations = 0; + let matchingEntities = []; + for (const query of queryGroup.queries) { + let queryResult = []; + const workingProps = query.operator === "AND" ? filteredProps : properties; + const isAttributeQuery = query.condition; // Is there a better way? + if (isAttributeQuery) { + const matchingResult = this.getMatchingEntities(workingProps, query, excludedItems); + queryResult = matchingResult.expressIDs; + filteredProps = { ...filteredProps, ...matchingResult.entities }; + } + else { + queryResult = [ + ...this.simpleQuery(model, query, excludedItems), + ]; + } + matchingEntities = + iterations === 0 + ? queryResult + : this.combineArrays(matchingEntities, queryResult, (_a = query.operator) !== null && _a !== void 0 ? _a : "AND" // Defaults to AND if iterations > 0 and query.operator is not defined + ); + iterations++; + } + return new Set(matchingEntities); + } + getMatchingEntities(entities, query, excludedItems) { + const { attribute: attributeName, condition } = query; + let { value } = query; + const handleAttribute = !this._noHandleAttributes.includes(attributeName); + const expressIDs = []; + const matchingEntities = []; + for (const expressID in entities) { + const entity = entities[expressID]; + if (entity === undefined) { + continue; + } + const attribute = entity[attributeName]; + let attributeValue = handleAttribute ? attribute === null || attribute === void 0 ? void 0 : attribute.value : attribute; + if (attributeValue === undefined || attributeValue === null) + continue; + // TODO: Maybe the user can specify the value type in the finder menu, so we don't need this + const type1 = typeof value; + const type2 = typeof attributeValue; + if (type1 === "number" && type2 === "string") { + value = value.toString(); + } + else if (type1 === "string" && type2 === "number") { + attributeValue = attributeValue.toString(); + } + let conditionMatches = this._conditionFunctions[condition](attributeValue, value); + if (query.negateResult) { + conditionMatches = !conditionMatches; + } + if (!conditionMatches) { + if (query.negateResult) { + excludedItems.add(entity.expressID); + } + continue; + } + expressIDs.push(entity.expressID); + matchingEntities.push(entity); + } + return { expressIDs, entities: matchingEntities, excludedItems }; + } + combineArrays(arrA, arrB, operator) { + if (!operator) + return arrB; + return operator === "AND" + ? this.arrayIntersection(arrA, arrB) + : this.arrayUnion(arrA, arrB); + } + getCommonElements(...lists) { + const result = []; + const elementsCount = new Map(); + for (const list of lists) { + const uniqueElements = new Set(list); + for (const element of uniqueElements) { + if (elementsCount.has(element)) { + elementsCount.set(element, elementsCount.get(element) + 1); + } + else { + elementsCount.set(element, 1); + } + } + } + for (const [element, count] of elementsCount) { + if (count === lists.length) { + result.push(element); + } + } + return result; + } + arrayIntersection(arrA, arrB) { + return arrA.filter((x) => arrB.includes(x)); + } + arrayUnion(arrA, arrB) { + return [...arrA, ...arrB]; + } + cache() { + const queryBuilder = this.uiElement.get("query"); + const query = queryBuilder.query; + const serialized = JSON.stringify(query); + localStorage.setItem(this._localStorageID, serialized); + } + getConditionFunctions() { + return { + is: (leftValue, rightValue) => { + return leftValue === rightValue; + }, + includes: (leftValue, rightValue) => { + return leftValue.toString().includes(rightValue.toString()); + }, + startsWith: (leftValue, rightValue) => { + return leftValue.toString().startsWith(rightValue.toString()); + }, + endsWith: (leftValue, rightValue) => { + return leftValue.toString().endsWith(rightValue.toString()); + }, + matches: (leftValue, rightValue) => { + const regex = new RegExp(rightValue.toString()); + return regex.test(leftValue.toString()); + }, + }; + } +} + +class Units { + constructor() { + this.factor = 1; + this.complement = 1; + } + apply(matrix) { + const scale = this.getScaleMatrix(); + const result = scale.multiply(matrix); + matrix.copy(result); + } + setUp(webIfc) { + var _a; + this.factor = 1; + const length = this.getLengthUnits(webIfc); + if (!length) { + return; + } + const isLengthNull = length === undefined || length === null; + const isValueNull = length.Name === undefined || length.Name === null; + if (isLengthNull || isValueNull) { + return; + } + if (length.Name.value === "FOOT") { + this.factor = 0.3048; + } + else if (((_a = length.Prefix) === null || _a === void 0 ? void 0 : _a.value) === "MILLI") { + this.complement = 0.001; + } + } + getLengthUnits(webIfc) { + try { + const allUnitsAssigns = webIfc.GetLineIDsWithType(0, IFCUNITASSIGNMENT); + const unitsAssign = allUnitsAssigns.get(0); + const unitsAssignProps = webIfc.GetLine(0, unitsAssign); + for (const units of unitsAssignProps.Units) { + if (!units || units.value === null || units.value === undefined) { + continue; + } + const unitsProps = webIfc.GetLine(0, units.value); + if (unitsProps.UnitType && unitsProps.UnitType.value === "LENGTHUNIT") { + return unitsProps; + } + } + return null; + } + catch (e) { + console.log("Could not get units"); + return null; + } + } + getScaleMatrix() { + const f = this.factor; + // prettier-ignore + return new THREE$1.Matrix4().fromArray([ + f, 0, 0, 0, + 0, f, 0, 0, + 0, 0, f, 0, + 0, 0, 0, 1, + ]); + } +} + +class SpatialStructure { + constructor() { + this.itemsByFloor = {}; + this._units = new Units(); + } + // TODO: Maybe make this more flexible so that it also support more exotic spatial structures? + async setUp(webIfc) { + this._units.setUp(webIfc); + this.cleanUp(); + try { + const spatialRels = webIfc.GetLineIDsWithType(0, IFCRELCONTAINEDINSPATIALSTRUCTURE); + const allRooms = new Set(); + const rooms = webIfc.GetLineIDsWithType(0, IFCSPACE); + for (let i = 0; i < rooms.size(); i++) { + allRooms.add(rooms.get(i)); + } + // First add rooms (if any) to floors + const aggregates = webIfc.GetLineIDsWithType(0, IFCRELAGGREGATES); + const aggregatesSize = aggregates.size(); + for (let i = 0; i < aggregatesSize; i++) { + const id = aggregates.get(i); + const properties = webIfc.GetLine(0, id); + if (!properties || + !properties.RelatingObject || + !properties.RelatedObjects) { + continue; + } + const parentID = properties.RelatingObject.value; + const childsIDs = properties.RelatedObjects; + for (const child of childsIDs) { + const childID = child.value; + if (allRooms.has(childID)) { + this.itemsByFloor[childID] = parentID; + } + } + } + // Now add items contained in floors and rooms + // If items contained in room, look for the floor where that room is and assign it to it + const itemsContainedInRooms = {}; + const spatialRelsSize = spatialRels.size(); + for (let i = 0; i < spatialRelsSize; i++) { + const id = spatialRels.get(i); + const properties = webIfc.GetLine(0, id); + if (!properties || + !properties.RelatingStructure || + !properties.RelatedElements) { + continue; + } + const structureID = properties.RelatingStructure.value; + const relatedItems = properties.RelatedElements; + if (allRooms.has(structureID)) { + for (const related of relatedItems) { + if (!itemsContainedInRooms[structureID]) { + itemsContainedInRooms[structureID] = []; + } + const id = related.value; + itemsContainedInRooms[structureID].push(id); + } + } + else { + for (const related of relatedItems) { + const id = related.value; + this.itemsByFloor[id] = structureID; + } + } + } + for (const roomID in itemsContainedInRooms) { + const roomFloor = this.itemsByFloor[roomID]; + if (roomFloor !== undefined) { + const items = itemsContainedInRooms[roomID]; + for (const item of items) { + this.itemsByFloor[item] = roomFloor; + } + } + } + // Finally, add nested items (e.g. elements of curtain walls) + for (let i = 0; i < aggregatesSize; i++) { + const id = aggregates.get(i); + const properties = webIfc.GetLine(0, id); + if (!properties || + !properties.RelatingObject || + !properties.RelatedObjects) { + continue; + } + const parentID = properties.RelatingObject.value; + const childsIDs = properties.RelatedObjects; + for (const child of childsIDs) { + const childID = child.value; + const parentStructure = this.itemsByFloor[parentID]; + if (parentStructure !== undefined) { + this.itemsByFloor[childID] = parentStructure; + } + } + } + } + catch (e) { + console.log("Could not get floors."); + } + } + cleanUp() { + this.itemsByFloor = {}; + } +} + +/** Configuration of the IFC-fragment conversion. */ +class IfcFragmentSettings { + constructor() { + /** Whether to extract the IFC properties into a JSON. */ + this.includeProperties = true; + /** + * Generate the geometry for categories that are not included by default, + * like IFCSPACE. + */ + this.optionalCategories = [IFCSPACE]; + /** Whether to use the coordination data coming from the IFC files. */ + this.coordinate = true; + /** Path of the WASM for [web-ifc](https://github.com/ifcjs/web-ifc). */ + this.wasm = { + path: "", + absolute: false, + }; + /** List of categories that won't be converted to fragments. */ + this.excludedCategories = new Set(); + /** Whether to save the absolute location of all IFC items. */ + this.saveLocations = false; + /** Loader settings for [web-ifc](https://github.com/ifcjs/web-ifc). */ + this.webIfc = { + COORDINATE_TO_ORIGIN: true, + USE_FAST_BOOLS: true, + OPTIMIZE_PROFILES: true, + }; + } +} + +/** + * A simple implementation of bounding box that works for fragments. The resulting bbox is not 100% precise, but + * it's fast, and should suffice for general use cases such as camera zooming or general boundary determination. + */ +class FragmentBoundingBox extends Component { + constructor(components) { + super(components); + /** {@link Component.enabled} */ + this.enabled = true; + this._meshes = []; + this.components.tools.add(FragmentBoundingBox.uuid, this); + this._absoluteMin = FragmentBoundingBox.newBound(true); + this._absoluteMax = FragmentBoundingBox.newBound(false); + } + static getDimensions(bbox) { + const { min, max } = bbox; + const width = Math.abs(max.x - min.x); + const height = Math.abs(max.y - min.y); + const depth = Math.abs(max.z - min.z); + const center = new THREE$1.Vector3(); + center.subVectors(max, min).divideScalar(2).add(min); + return { width, height, depth, center }; + } + static newBound(positive) { + const factor = positive ? 1 : -1; + return new THREE$1.Vector3(factor * Number.MAX_VALUE, factor * Number.MAX_VALUE, factor * Number.MAX_VALUE); + } + static getBounds(points, min, max) { + const maxPoint = max || this.newBound(false); + const minPoint = min || this.newBound(true); + for (const point of points) { + if (point.x < minPoint.x) + minPoint.x = point.x; + if (point.y < minPoint.y) + minPoint.y = point.y; + if (point.z < minPoint.z) + minPoint.z = point.z; + if (point.x > maxPoint.x) + maxPoint.x = point.x; + if (point.y > maxPoint.y) + maxPoint.y = point.y; + if (point.z > maxPoint.z) + maxPoint.z = point.z; + } + return new THREE$1.Box3(min, max); + } + /** {@link Disposable.dispose} */ + async dispose() { + const disposer = await this.components.tools.get(Disposer); + for (const mesh of this._meshes) { + disposer.destroy(mesh); + } + this._meshes = []; + } + get() { + const min = this._absoluteMin.clone(); + const max = this._absoluteMax.clone(); + return new THREE$1.Box3(min, max); + } + getSphere() { + const min = this._absoluteMin.clone(); + const max = this._absoluteMax.clone(); + const dx = Math.abs((max.x - min.x) / 2); + const dy = Math.abs((max.y - min.y) / 2); + const dz = Math.abs((max.z - min.z) / 2); + const center = new THREE$1.Vector3(min.x + dx, min.y + dy, min.z + dz); + const radius = center.distanceTo(min); + return new THREE$1.Sphere(center, radius); + } + getMesh() { + const bbox = new THREE$1.Box3(this._absoluteMin, this._absoluteMax); + const dimensions = FragmentBoundingBox.getDimensions(bbox); + const { width, height, depth, center } = dimensions; + const box = new THREE$1.BoxGeometry(width, height, depth); + const mesh = new THREE$1.Mesh(box); + this._meshes.push(mesh); + mesh.position.copy(center); + return mesh; + } + reset() { + this._absoluteMin = FragmentBoundingBox.newBound(true); + this._absoluteMax = FragmentBoundingBox.newBound(false); + } + add(group) { + for (const frag of group.items) { + this.addMesh(frag.mesh); + } + } + addMesh(mesh) { + if (!mesh.geometry.index) { + return; + } + const bbox = FragmentBoundingBox.getFragmentBounds(mesh); + mesh.updateMatrix(); + const meshTransform = mesh.matrix; + const instanceTransform = new THREE$1.Matrix4(); + for (let i = 0; i < mesh.count; i++) { + mesh.getMatrixAt(i, instanceTransform); + const min = bbox.min.clone(); + const max = bbox.max.clone(); + min.applyMatrix4(instanceTransform); + min.applyMatrix4(meshTransform); + max.applyMatrix4(instanceTransform); + max.applyMatrix4(meshTransform); + if (min.x < this._absoluteMin.x) + this._absoluteMin.x = min.x; + if (min.y < this._absoluteMin.y) + this._absoluteMin.y = min.y; + if (min.z < this._absoluteMin.z) + this._absoluteMin.z = min.z; + if (min.x > this._absoluteMax.x) + this._absoluteMax.x = min.x; + if (min.y > this._absoluteMax.y) + this._absoluteMax.y = min.y; + if (min.z > this._absoluteMax.z) + this._absoluteMax.z = min.z; + if (max.x > this._absoluteMax.x) + this._absoluteMax.x = max.x; + if (max.y > this._absoluteMax.y) + this._absoluteMax.y = max.y; + if (max.z > this._absoluteMax.z) + this._absoluteMax.z = max.z; + if (max.x < this._absoluteMin.x) + this._absoluteMin.x = max.x; + if (max.y < this._absoluteMin.y) + this._absoluteMin.y = max.y; + if (max.z < this._absoluteMin.z) + this._absoluteMin.z = max.z; + } + } + static getFragmentBounds(mesh) { + const position = mesh.geometry.attributes.position; + const maxNum = Number.MAX_VALUE; + const minNum = -maxNum; + const min = new THREE$1.Vector3(maxNum, maxNum, maxNum); + const max = new THREE$1.Vector3(minNum, minNum, minNum); + if (!mesh.geometry.index) { + throw new Error("Geometry must be indexed!"); + } + const indices = Array.from(mesh.geometry.index.array); + for (const index of indices) { + const x = position.getX(index); + const y = position.getY(index); + const z = position.getZ(index); + if (x < min.x) + min.x = x; + if (y < min.y) + min.y = y; + if (z < min.z) + min.z = z; + if (x > max.x) + max.x = x; + if (y > max.y) + max.y = y; + if (z > max.z) + max.z = z; + } + return new THREE$1.Box3(min, max); + } +} +FragmentBoundingBox.uuid = "d1444724-dba6-4cdd-a0c7-68ee1450d166"; +ToolComponent.libraryUUIDs.add(FragmentBoundingBox.uuid); + +class DataConverter { + constructor(components) { + this.settings = new IfcFragmentSettings(); + this.categories = {}; + this._model = new FragmentsGroup(); + this._ifcCategories = new IfcCategories(); + this._fragmentKey = 0; + this._keyFragmentMap = {}; + this._itemKeyMap = {}; + this._propertyExporter = new IfcJsonExporter(); + this._spatialTree = new SpatialStructure(); + this.components = components; + } + cleanUp() { + this._fragmentKey = 0; + this._spatialTree.cleanUp(); + this.categories = {}; + this._model = new FragmentsGroup(); + this._ifcCategories = new IfcCategories(); + this._propertyExporter = new IfcJsonExporter(); + this._keyFragmentMap = {}; + this._itemKeyMap = {}; + } + saveIfcCategories(webIfc) { + this.categories = this._ifcCategories.getAll(webIfc, 0); + } + async generate(webIfc, geometries) { + await this._spatialTree.setUp(webIfc); + this.createAllFragments(geometries); + await this.saveModelData(webIfc); + return this._model; + } + async saveModelData(webIfc) { + const itemsData = this.getFragmentsGroupData(); + this._model.keyFragments = this._keyFragmentMap; + this._model.data = itemsData; + this._model.coordinationMatrix = this.getCoordinationMatrix(webIfc); + this._model.properties = await this.getModelProperties(webIfc); + this._model.uuid = this.getProjectID(webIfc) || this._model.uuid; + this._model.ifcMetadata = this.getIfcMetadata(webIfc); + this._model.boundingBox = await this.getBoundingBox(); + } + async getBoundingBox() { + const bbox = await this.components.tools.get(FragmentBoundingBox); + bbox.reset(); + bbox.add(this._model); + return bbox.get(); + } + getIfcMetadata(webIfc) { + const { FILE_NAME, FILE_DESCRIPTION } = WEBIFC; + const name = this.getMetadataEntry(webIfc, FILE_NAME); + const description = this.getMetadataEntry(webIfc, FILE_DESCRIPTION); + const schema = webIfc.GetModelSchema(0) || "IFC2X3"; + const maxExpressID = webIfc.GetMaxExpressID(0); + return { name, description, schema, maxExpressID }; + } + getMetadataEntry(webIfc, type) { + let description = ""; + const descriptionData = webIfc.GetHeaderLine(0, type) || ""; + if (!descriptionData) + return description; + for (const arg of descriptionData.arguments) { + if (arg === null || arg === undefined) { + continue; + } + if (Array.isArray(arg)) { + for (const subArg of arg) { + description += `${subArg.value}|`; + } + } + else { + description += `${arg.value}|`; + } + } + return description; + } + getProjectID(webIfc) { + const projectsIDs = webIfc.GetLineIDsWithType(0, IFCPROJECT); + const projectID = projectsIDs.get(0); + const project = webIfc.GetLine(0, projectID); + return project.GlobalId.value; + } + getCoordinationMatrix(webIfc) { + const coordArray = webIfc.GetCoordinationMatrix(0); + return new THREE$1.Matrix4().fromArray(coordArray); + } + async getModelProperties(webIfc) { + if (!this.settings.includeProperties) { + return {}; + } + return new Promise((resolve) => { + this._propertyExporter.onPropertiesSerialized.add((properties) => { + resolve(properties); + }); + this._propertyExporter.export(webIfc, 0); + }); + } + createAllFragments(geometries) { + const uniqueItems = {}; + const matrix = new THREE$1.Matrix4(); + const color = new THREE$1.Color(); + for (const id in geometries) { + const { buffer, instances } = geometries[id]; + const transparent = instances[0].color.w !== 1; + const opacity = transparent ? 0.4 : 1; + const material = new THREE$1.MeshLambertMaterial({ transparent, opacity }); + // This prevents z-fighting for ifc spaces + if (opacity !== 1) { + material.depthWrite = false; + material.polygonOffset = true; + material.polygonOffsetFactor = 5; + material.polygonOffsetUnits = 1; + } + if (instances.length === 1) { + const instance = instances[0]; + const { x, y, z, w } = instance.color; + const matID = `${x}-${y}-${z}-${w}`; + if (!uniqueItems[matID]) { + material.color = new THREE$1.Color().setRGB(x, y, z, "srgb"); + uniqueItems[matID] = { material, geometries: [], expressIDs: [] }; + } + matrix.fromArray(instance.matrix); + buffer.applyMatrix4(matrix); + uniqueItems[matID].geometries.push(buffer); + uniqueItems[matID].expressIDs.push(instance.expressID.toString()); + continue; + } + const fragment = new Fragment$1(buffer, material, instances.length); + this._keyFragmentMap[this._fragmentKey] = fragment.id; + const previousIDs = new Set(); + for (let i = 0; i < instances.length; i++) { + const instance = instances[i]; + matrix.fromArray(instance.matrix); + const { expressID } = instance; + let instanceID = expressID.toString(); + let isComposite = false; + if (!previousIDs.has(expressID)) { + previousIDs.add(expressID); + } + else { + if (!fragment.composites[expressID]) { + fragment.composites[expressID] = 1; + } + const count = fragment.composites[expressID]; + instanceID = toCompositeID(expressID, count); + isComposite = true; + fragment.composites[expressID]++; + } + fragment.setInstance(i, { + ids: [instanceID], + transform: matrix, + }); + const { x, y, z } = instance.color; + color.setRGB(x, y, z, "srgb"); + fragment.mesh.setColorAt(i, color); + if (!isComposite) { + this.saveExpressID(expressID.toString()); + } + } + fragment.mesh.updateMatrix(); + this._model.items.push(fragment); + this._model.add(fragment.mesh); + this._fragmentKey++; + } + const transform = new THREE$1.Matrix4(); + for (const matID in uniqueItems) { + const { material, geometries, expressIDs } = uniqueItems[matID]; + const geometriesByItem = {}; + for (let i = 0; i < expressIDs.length; i++) { + const id = expressIDs[i]; + if (!geometriesByItem[id]) { + geometriesByItem[id] = []; + } + geometriesByItem[id].push(geometries[i]); + } + const sortedGeometries = []; + const sortedIDs = []; + for (const id in geometriesByItem) { + sortedIDs.push(id); + const geometries = geometriesByItem[id]; + if (geometries.length) { + const merged = mergeGeometries(geometries); + sortedGeometries.push(merged); + } + else { + sortedGeometries.push(geometries[0]); + } + for (const geometry of geometries) { + geometry.dispose(); + } + } + const geometry = GeometryUtils.merge([sortedGeometries], true); + const fragment = new Fragment$1(geometry, material, 1); + this._keyFragmentMap[this._fragmentKey] = fragment.id; + for (const id of sortedIDs) { + this.saveExpressID(id); + } + this._fragmentKey++; + fragment.setInstance(0, { ids: sortedIDs, transform }); + this._model.items.push(fragment); + this._model.add(fragment.mesh); + } + } + saveExpressID(expressID) { + if (!this._itemKeyMap[expressID]) { + this._itemKeyMap[expressID] = []; + } + this._itemKeyMap[expressID].push(this._fragmentKey); + } + getFragmentsGroupData() { + const itemsData = {}; + for (const id in this._itemKeyMap) { + const keys = []; + const rels = []; + const idNum = parseInt(id, 10); + const level = this._spatialTree.itemsByFloor[idNum] || 0; + const category = this.categories[idNum] || 0; + rels.push(level, category); + for (const key of this._itemKeyMap[id]) { + keys.push(key); + } + itemsData[idNum] = [keys, rels]; + } + return itemsData; + } +} + +class GeometryReader { + constructor() { + this.saveLocations = false; + this.items = {}; + this.locations = {}; + } + get webIfc() { + if (!this._webIfc) { + throw new Error("web-ifc not found!"); + } + return this._webIfc; + } + cleanUp() { + this.items = {}; + this.locations = {}; + this._webIfc = null; + } + streamMesh(webifc, mesh, forceTransparent = false) { + this._webIfc = webifc; + const size = mesh.geometries.size(); + const totalTransform = new THREE$1.Vector3(); + const tempMatrix = new THREE$1.Matrix4(); + const tempVector = new THREE$1.Vector3(); + for (let i = 0; i < size; i++) { + const geometry = mesh.geometries.get(i); + const geometryID = geometry.geometryExpressID; + if (this.saveLocations) { + tempVector.set(0, 0, 0); + tempMatrix.fromArray(geometry.flatTransformation); + tempVector.applyMatrix4(tempMatrix); + totalTransform.add(tempVector); + } + // Transparent geometries need to be separated + const isColorTransparent = geometry.color.w !== 1; + const isTransparent = isColorTransparent || forceTransparent; + const prefix = isTransparent ? "-" : "+"; + const idWithTransparency = prefix + geometryID; + if (forceTransparent) + geometry.color.w = 0.1; + if (!this.items[idWithTransparency]) { + const buffer = this.newBufferGeometry(geometryID); + if (!buffer) + continue; + this.items[idWithTransparency] = { buffer, instances: [] }; + } + this.items[idWithTransparency].instances.push({ + color: { ...geometry.color }, + matrix: geometry.flatTransformation, + expressID: mesh.expressID, + }); + } + if (this.saveLocations) { + const { x, y, z } = totalTransform.divideScalar(size); + this.locations[mesh.expressID] = [x, y, z]; + } + } + newBufferGeometry(geometryID) { + const geometry = this.webIfc.GetGeometry(0, geometryID); + const verts = this.getVertices(geometry); + if (!verts.length) + return null; + const indices = this.getIndices(geometry); + if (!indices.length) + return null; + const buffer = this.constructBuffer(verts, indices); + // @ts-ignore + geometry.delete(); + return buffer; + } + getIndices(geometryData) { + const indices = this.webIfc.GetIndexArray(geometryData.GetIndexData(), geometryData.GetIndexDataSize()); + return indices; + } + getVertices(geometryData) { + const verts = this.webIfc.GetVertexArray(geometryData.GetVertexData(), geometryData.GetVertexDataSize()); + return verts; + } + constructBuffer(vertexData, indexData) { + const geometry = new THREE$1.BufferGeometry(); + const posFloats = new Float32Array(vertexData.length / 2); + const normFloats = new Float32Array(vertexData.length / 2); + for (let i = 0; i < vertexData.length; i += 6) { + posFloats[i / 2] = vertexData[i]; + posFloats[i / 2 + 1] = vertexData[i + 1]; + posFloats[i / 2 + 2] = vertexData[i + 2]; + normFloats[i / 2] = vertexData[i + 3]; + normFloats[i / 2 + 1] = vertexData[i + 4]; + normFloats[i / 2 + 2] = vertexData[i + 5]; + } + geometry.setAttribute("position", new THREE$1.BufferAttribute(posFloats, 3)); + geometry.setAttribute("normal", new THREE$1.BufferAttribute(normFloats, 3)); + geometry.setIndex(new THREE$1.BufferAttribute(indexData, 1)); + return geometry; + } +} + +/** + * Reads all the geometry of the IFC file and generates a set of + * [fragments](https://github.com/ifcjs/fragment). It can also return the + * properties as a JSON file, as well as other sets of information within + * the IFC file. + */ +class FragmentIfcLoader extends Component { + constructor(components) { + super(components); + this.enabled = true; + this.uiElement = new UIElement(); + this.onIfcLoaded = new Event(); + // For debugging purposes + // isolatedItems = new Set(); + this.onLocationsSaved = new Event(); + this._webIfc = new IfcAPI2(); + this._geometry = new GeometryReader(); + this._converter = new DataConverter(components); + this.components.tools.add(FragmentIfcLoader.uuid, this); + if (components.ui.enabled) { + this.setupUI(); + } + } + get() { + return this._webIfc; + } + get settings() { + return this._converter.settings; + } + /** {@link Disposable.dispose} */ + async dispose() { + this._geometry.cleanUp(); + this._converter.cleanUp(); + this.onIfcLoaded.reset(); + this.onLocationsSaved.reset(); + this.uiElement.dispose(); + this._webIfc = null; + this._geometry = null; + this._converter = null; + } + /** Loads the IFC file and converts it to a set of fragments. */ + async load(data, name) { + if (this.settings.saveLocations) { + this._geometry.saveLocations = true; + } + const before = performance.now(); + await this.readIfcFile(data); + await this.readAllGeometries(); + const items = this._geometry.items; + const model = await this._converter.generate(this._webIfc, items); + model.name = name; + if (this.settings.saveLocations) { + await this.onLocationsSaved.trigger(this._geometry.locations); + } + const fragments = await this.components.tools.get(FragmentManager); + if (this.settings.coordinate) { + const isFirstModel = fragments.groups.length === 0; + if (isFirstModel) { + fragments.baseCoordinationModel = model.uuid; + } + else { + fragments.coordinate([model]); + } + } + this.cleanUp(); + fragments.groups.push(model); + for (const fragment of model.items) { + fragment.group = model; + fragments.list[fragment.id] = fragment; + this.components.meshes.push(fragment.mesh); + } + await this.onIfcLoaded.trigger(model); + console.log(`Loading the IFC took ${performance.now() - before} ms!`); + return model; + } + setupUI() { + const main = new Button(this.components); + main.materialIcon = "upload_file"; + main.tooltip = "Load IFC"; + const toast = new ToastNotification(this.components, { + message: "IFC model successfully loaded!", + }); + main.onClick.add(() => { + const fileOpener = document.createElement("input"); + fileOpener.type = "file"; + fileOpener.accept = ".ifc"; + fileOpener.style.display = "none"; + fileOpener.onchange = async () => { + const fragments = await this.components.tools.get(FragmentManager); + if (fileOpener.files === null || fileOpener.files.length === 0) + return; + const file = fileOpener.files[0]; + const buffer = await file.arrayBuffer(); + const data = new Uint8Array(buffer); + const model = await this.load(data, file.name); + const scene = this.components.scene.get(); + scene.add(model); + toast.visible = true; + await fragments.updateWindow(); + fileOpener.remove(); + }; + fileOpener.click(); + }); + this.components.ui.add(toast); + toast.visible = false; + this.uiElement.set({ main, toast }); + } + async readIfcFile(data) { + const { path, absolute } = this.settings.wasm; + this._webIfc.SetWasmPath(path, absolute); + await this._webIfc.Init(); + this._webIfc.OpenModel(data, this.settings.webIfc); + } + async readAllGeometries() { + this._converter.saveIfcCategories(this._webIfc); + // Some categories (like IfcSpace) need to be created explicitly + const optionals = this.settings.optionalCategories; + // Force IFC space to be transparent + if (optionals.includes(IFCSPACE)) { + const index = optionals.indexOf(IFCSPACE); + optionals.splice(index, 1); + this._webIfc.StreamAllMeshesWithTypes(0, [IFCSPACE], (mesh) => { + if (this.isExcluded(mesh.expressID)) { + return; + } + this._geometry.streamMesh(this._webIfc, mesh, true); + }); + } + // Load rest of optional categories (if any) + if (optionals.length) { + this._webIfc.StreamAllMeshesWithTypes(0, optionals, (mesh) => { + if (this.isExcluded(mesh.expressID)) { + return; + } + this._geometry.streamMesh(this._webIfc, mesh); + }); + } + // Load common categories + this._webIfc.StreamAllMeshes(0, (mesh) => { + if (this.isExcluded(mesh.expressID)) { + return; + } + this._geometry.streamMesh(this._webIfc, mesh); + }); + } + cleanUp() { + this._webIfc = null; + this._webIfc = new IfcAPI2(); + this._geometry.cleanUp(); + this._converter.cleanUp(); + } + isExcluded(id) { + const category = this._converter.categories[id]; + return this.settings.excludedCategories.has(category); + } +} +FragmentIfcLoader.uuid = "a659add7-1418-4771-a0d6-7d4d438e4624"; +ToolComponent.libraryUUIDs.add(FragmentIfcLoader.uuid); + +/** + * Object to control the {@link CameraProjection} of the {@link OrthoPerspectiveCamera}. + */ +class ProjectionManager { + get projection() { + return this._currentProjection; + } + constructor(components, camera) { + this.components = components; + this._previousDistance = -1; + this._camera = camera; + const perspective = "Perspective"; + this._currentCamera = camera.get(perspective); + this._currentProjection = perspective; + } + /** + * Sets the {@link CameraProjection} of the {@link OrthoPerspectiveCamera}. + * + * @param projection - the new projection to set. If it is the current projection, + * it will have no effect. + */ + async setProjection(projection) { + if (this.projection === projection) + return; + if (projection === "Orthographic") { + this.setOrthoCamera(); + } + else { + await this.setPerspectiveCamera(); + } + await this.updateActiveCamera(); + } + setOrthoCamera() { + // Matching orthographic camera to perspective camera + // Resource: https://stackoverflow.com/questions/48758959/what-is-required-to-convert-threejs-perspective-camera-to-orthographic + if (this._camera.currentMode.id === "FirstPerson") { + return; + } + this._previousDistance = this._camera.controls.distance; + this._camera.controls.distance = 200; + const { width, height } = this.getDims(); + this.setupOrthoCamera(height, width); + this._currentCamera = this._camera.get("Orthographic"); + this._currentProjection = "Orthographic"; + } + // This small delay is needed to hide weirdness during the transition + async updateActiveCamera() { + await new Promise((resolve) => { + setTimeout(() => { + this._camera.activeCamera = this._currentCamera; + resolve(); + }, 50); + }); + } + getDims() { + const lineOfSight = new THREE$1.Vector3(); + this._camera.get("Perspective").getWorldDirection(lineOfSight); + const target = new THREE$1.Vector3(); + this._camera.controls.getTarget(target); + const distance = target + .clone() + .sub(this._camera.get("Perspective").position); + const depth = distance.dot(lineOfSight); + const dims = this.components.renderer.getSize(); + const aspect = dims.x / dims.y; + const camera = this._camera.get("Perspective"); + const height = depth * 2 * Math.atan((camera.fov * (Math.PI / 180)) / 2); + const width = height * aspect; + return { width, height }; + } + setupOrthoCamera(height, width) { + this._camera.controls.mouseButtons.wheel = CameraControls.ACTION.ZOOM; + this._camera.controls.mouseButtons.middle = CameraControls.ACTION.ZOOM; + const pCamera = this._camera.get("Perspective"); + const oCamera = this._camera.get("Orthographic"); + oCamera.zoom = 1; + oCamera.left = width / -2; + oCamera.right = width / 2; + oCamera.top = height / 2; + oCamera.bottom = height / -2; + oCamera.updateProjectionMatrix(); + oCamera.position.copy(pCamera.position); + oCamera.quaternion.copy(pCamera.quaternion); + this._camera.controls.camera = oCamera; + } + async setPerspectiveCamera() { + this._camera.controls.mouseButtons.wheel = CameraControls.ACTION.DOLLY; + this._camera.controls.mouseButtons.middle = CameraControls.ACTION.DOLLY; + const pCamera = this._camera.get("Perspective"); + const oCamera = this._camera.get("Orthographic"); + pCamera.position.copy(oCamera.position); + pCamera.quaternion.copy(oCamera.quaternion); + this._camera.controls.mouseButtons.wheel = CameraControls.ACTION.DOLLY; + this._camera.controls.distance = this._previousDistance; + await this._camera.controls.zoomTo(1); + pCamera.updateProjectionMatrix(); + this._camera.controls.camera = pCamera; + this._currentCamera = pCamera; + this._currentProjection = "Perspective"; + } +} + +/** + * A {@link NavigationMode} that allows 3D navigation and panning + * like in many 3D and CAD softwares. + */ +class OrbitMode { + constructor(camera) { + this.camera = camera; + /** {@link NavigationMode.enabled} */ + this.enabled = true; + /** {@link NavigationMode.id} */ + this.id = "Orbit"; + /** {@link NavigationMode.projectionChanged} */ + this.projectionChanged = new Event(); + this.activateOrbitControls(); + } + /** {@link NavigationMode.toggle} */ + toggle(active) { + this.enabled = active; + if (active) { + this.activateOrbitControls(); + } + } + activateOrbitControls() { + const controls = this.camera.controls; + controls.minDistance = 1; + controls.maxDistance = 300; + controls.truckSpeed = 2; + } +} + +/** + * A {@link NavigationMode} that allows first person navigation, + * simulating FPS video games. + */ +class FirstPersonMode { + constructor(camera) { + this.camera = camera; + /** {@link NavigationMode.enabled} */ + this.enabled = false; + /** {@link NavigationMode.id} */ + this.id = "FirstPerson"; + /** {@link NavigationMode.projectionChanged} */ + this.projectionChanged = new Event(); + } + /** {@link NavigationMode.toggle} */ + toggle(active) { + this.enabled = active; + if (active) { + const projection = this.camera.getProjection(); + if (projection !== "Perspective") { + this.camera.setNavigationMode("Orbit"); + return; + } + this.setupFirstPersonCamera(); + } + } + setupFirstPersonCamera() { + const controls = this.camera.controls; + const cameraPosition = new THREE$1.Vector3(); + controls.camera.getWorldPosition(cameraPosition); + const newTargetPosition = new THREE$1.Vector3(); + controls.distance--; + controls.camera.getWorldPosition(newTargetPosition); + controls.minDistance = 1; + controls.maxDistance = 1; + controls.distance = 1; + controls.moveTo(newTargetPosition.x, newTargetPosition.y, newTargetPosition.z); + controls.truckSpeed = 50; + controls.mouseButtons.wheel = CameraControls.ACTION.DOLLY; + controls.touches.two = CameraControls.ACTION.TOUCH_ZOOM_TRUCK; + } +} + +/** + * A {@link NavigationMode} that allows to navigate floorplans in 2D, + * like many BIM tools. + */ +class PlanMode { + constructor(camera) { + this.camera = camera; + /** {@link NavigationMode.enabled} */ + this.enabled = false; + /** {@link NavigationMode.id} */ + this.id = "Plan"; + /** {@link NavigationMode.projectionChanged} */ + this.projectionChanged = new Event(); + this.mouseInitialized = false; + this.defaultAzimuthSpeed = camera.controls.azimuthRotateSpeed; + this.defaultPolarSpeed = camera.controls.polarRotateSpeed; + } + /** {@link NavigationMode.toggle} */ + toggle(active) { + this.enabled = active; + const controls = this.camera.controls; + controls.azimuthRotateSpeed = active ? 0 : this.defaultAzimuthSpeed; + controls.polarRotateSpeed = active ? 0 : this.defaultPolarSpeed; + if (!this.mouseInitialized) { + this.mouseAction1 = controls.touches.one; + this.mouseAction2 = controls.touches.two; + this.mouseInitialized = true; + } + if (active) { + controls.mouseButtons.left = CameraControls.ACTION.TRUCK; + controls.touches.one = CameraControls.ACTION.TOUCH_TRUCK; + controls.touches.two = CameraControls.ACTION.TOUCH_ZOOM; + } + else { + controls.mouseButtons.left = CameraControls.ACTION.ROTATE; + controls.touches.one = this.mouseAction1; + controls.touches.two = this.mouseAction2; + } + } +} + +/** + * A flexible camera that uses + * [yomotsu's cameracontrols](https://github.com/yomotsu/camera-controls) to + * easily control the camera in 2D and 3D. It supports multiple navigation + * modes, such as 2D floor plan navigation, first person and 3D orbit. + */ +class OrthoPerspectiveCamera extends SimpleCamera { + constructor(components) { + super(components); + /** + * Event that fires when the {@link CameraProjection} changes. + */ + this.projectionChanged = new Event(); + this._userInputButtons = {}; + this._frustumSize = 50; + this._navigationModes = new Map(); + this.uiElement = new UIElement(); + this._orthoCamera = this.newOrthoCamera(); + this._navigationModes.set("Orbit", new OrbitMode(this)); + this._navigationModes.set("FirstPerson", new FirstPersonMode(this)); + this._navigationModes.set("Plan", new PlanMode(this)); + this.currentMode = this._navigationModes.get("Orbit"); + this.currentMode.toggle(true, { preventTargetAdjustment: true }); + this.toggleEvents(true); + this._projectionManager = new ProjectionManager(components, this); + if (components.ui.enabled) { + this.setUI(); + } + this.onAspectUpdated.add(() => this.setOrthoCameraAspect()); + } + setUI() { + const mainButton = new Button(this.components); + mainButton.materialIcon = "video_camera_back"; + mainButton.tooltip = "Camera"; + const projection = new Button(this.components, { + materialIconName: "camera", + name: "Projection", + }); + const perspective = new Button(this.components, { name: "Perspective" }); + perspective.active = true; + perspective.onClick.add(() => this.setProjection("Perspective")); + const orthographic = new Button(this.components, { name: "Orthographic" }); + orthographic.onClick.add(() => this.setProjection("Orthographic")); + projection.addChild(perspective, orthographic); + const navigation = new Button(this.components, { + materialIconName: "open_with", + name: "Navigation", + }); + const orbit = new Button(this.components, { name: "Orbit Around" }); + orbit.onClick.add(() => this.setNavigationMode("Orbit")); + const plan = new Button(this.components, { name: "Plan View" }); + plan.onClick.add(() => this.setNavigationMode("Plan")); + const firstPerson = new Button(this.components, { name: "First person" }); + firstPerson.onClick.add(() => this.setNavigationMode("FirstPerson")); + navigation.addChild(orbit, plan, firstPerson); + mainButton.addChild(navigation, projection); + this.projectionChanged.add((camera) => { + if (camera instanceof THREE$1.PerspectiveCamera) { + perspective.active = true; + orthographic.active = false; + } + else { + perspective.active = false; + orthographic.active = true; + } + }); + this.uiElement.set({ main: mainButton }); + } + /** {@link Disposable.dispose} */ + async dispose() { + await super.dispose(); + this.toggleEvents(false); + this._orthoCamera.removeFromParent(); + } + /** + * Similar to {@link Component.get}, but with an optional argument + * to specify which camera to get. + * + * @param projection - The camera corresponding to the + * {@link CameraProjection} specified. If no projection is specified, + * the active camera will be returned. + */ + get(projection) { + if (!projection) { + return this.activeCamera; + } + return projection === "Orthographic" + ? this._orthoCamera + : this._perspectiveCamera; + } + /** Returns the current {@link CameraProjection}. */ + getProjection() { + return this._projectionManager.projection; + } + /** + * Changes the current {@link CameraProjection} from Ortographic to Perspective + * and Viceversa. + */ + async toggleProjection() { + const projection = this.getProjection(); + const newProjection = projection === "Perspective" ? "Orthographic" : "Perspective"; + await this.setProjection(newProjection); + } + /** + * Sets the current {@link CameraProjection}. This triggers the event + * {@link projectionChanged}. + * + * @param projection - The new {@link CameraProjection} to set. + */ + async setProjection(projection) { + await this._projectionManager.setProjection(projection); + await this.projectionChanged.trigger(this.activeCamera); + } + /** + * Allows or prevents all user input. + * + * @param active - whether to enable or disable user inputs. + */ + toggleUserInput(active) { + if (active) { + this.enableUserInput(); + } + else { + this.disableUserInput(); + } + } + /** + * Sets a new {@link NavigationMode} and disables the previous one. + * + * @param mode - The {@link NavigationMode} to set. + */ + setNavigationMode(mode) { + if (this.currentMode.id === mode) + return; + this.currentMode.toggle(false); + if (!this._navigationModes.has(mode)) { + throw new Error("The specified mode does not exist!"); + } + this.currentMode = this._navigationModes.get(mode); + this.currentMode.toggle(true); + } + /** + * Make the camera view fit all the specified meshes. + * + * @param meshes the meshes to fit. If it is not defined, it will + * evaluate {@link Components.meshes}. + * @param offset the distance to the fit object + */ + async fit(meshes = this.components.meshes, offset = 1.5) { + if (!this.enabled) + return; + const maxNum = Number.MAX_VALUE; + const minNum = Number.MIN_VALUE; + const min = new THREE$1.Vector3(maxNum, maxNum, maxNum); + const max = new THREE$1.Vector3(minNum, minNum, minNum); + for (const mesh of meshes) { + const box = new THREE$1.Box3().setFromObject(mesh); + if (box.min.x < min.x) + min.x = box.min.x; + if (box.min.y < min.y) + min.y = box.min.y; + if (box.min.z < min.z) + min.z = box.min.z; + if (box.max.x > max.x) + max.x = box.max.x; + if (box.max.y > max.y) + max.y = box.max.y; + if (box.max.z > max.z) + max.z = box.max.z; + } + const box = new THREE$1.Box3(min, max); + const sceneSize = new THREE$1.Vector3(); + box.getSize(sceneSize); + const sceneCenter = new THREE$1.Vector3(); + box.getCenter(sceneCenter); + const radius = Math.max(sceneSize.x, sceneSize.y, sceneSize.z) * offset; + const sphere = new THREE$1.Sphere(sceneCenter, radius); + await this.controls.fitToSphere(sphere, true); + } + disableUserInput() { + this._userInputButtons.left = this.controls.mouseButtons.left; + this._userInputButtons.right = this.controls.mouseButtons.right; + this._userInputButtons.middle = this.controls.mouseButtons.middle; + this._userInputButtons.wheel = this.controls.mouseButtons.wheel; + this.controls.mouseButtons.left = 0; + this.controls.mouseButtons.right = 0; + this.controls.mouseButtons.middle = 0; + this.controls.mouseButtons.wheel = 0; + } + enableUserInput() { + if (Object.keys(this._userInputButtons).length === 0) + return; + this.controls.mouseButtons.left = this._userInputButtons.left; + this.controls.mouseButtons.right = this._userInputButtons.right; + this.controls.mouseButtons.middle = this._userInputButtons.middle; + this.controls.mouseButtons.wheel = this._userInputButtons.wheel; + } + newOrthoCamera() { + const dims = this.components.renderer.getSize(); + const aspect = dims.x / dims.y; + return new THREE$1.OrthographicCamera((this._frustumSize * aspect) / -2, (this._frustumSize * aspect) / 2, this._frustumSize / 2, this._frustumSize / -2, 0.1, 1000); + } + setOrthoCameraAspect() { + const size = this.components.renderer.getSize(); + const aspect = size.x / size.y; + this._orthoCamera.left = (-this._frustumSize * aspect) / 2; + this._orthoCamera.right = (this._frustumSize * aspect) / 2; + this._orthoCamera.top = this._frustumSize / 2; + this._orthoCamera.bottom = -this._frustumSize / 2; + this._orthoCamera.updateProjectionMatrix(); + } + toggleEvents(active) { + const modes = Object.values(this._navigationModes); + for (const mode of modes) { + if (active) { + mode.projectionChanged.on(this.projectionChanged.trigger); + } + else { + mode.projectionChanged.reset(); + } + } + } +} + +var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; + +function getDefaultExportFromCjs (x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; +} + +var earcut$2 = {exports: {}}; + +earcut$2.exports = earcut; +earcut$2.exports.default = earcut; + +function earcut(data, holeIndices, dim) { + + dim = dim || 2; + + var hasHoles = holeIndices && holeIndices.length, + outerLen = hasHoles ? holeIndices[0] * dim : data.length, + outerNode = linkedList(data, 0, outerLen, dim, true), + triangles = []; + + if (!outerNode || outerNode.next === outerNode.prev) return triangles; + + var minX, minY, maxX, maxY, x, y, invSize; + + if (hasHoles) outerNode = eliminateHoles(data, holeIndices, outerNode, dim); + + // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox + if (data.length > 80 * dim) { + minX = maxX = data[0]; + minY = maxY = data[1]; + + for (var i = dim; i < outerLen; i += dim) { + x = data[i]; + y = data[i + 1]; + if (x < minX) minX = x; + if (y < minY) minY = y; + if (x > maxX) maxX = x; + if (y > maxY) maxY = y; + } + + // minX, minY and invSize are later used to transform coords into integers for z-order calculation + invSize = Math.max(maxX - minX, maxY - minY); + invSize = invSize !== 0 ? 32767 / invSize : 0; + } + + earcutLinked(outerNode, triangles, dim, minX, minY, invSize, 0); + + return triangles; +} + +// create a circular doubly linked list from polygon points in the specified winding order +function linkedList(data, start, end, dim, clockwise) { + var i, last; + + if (clockwise === (signedArea(data, start, end, dim) > 0)) { + for (i = start; i < end; i += dim) last = insertNode(i, data[i], data[i + 1], last); + } else { + for (i = end - dim; i >= start; i -= dim) last = insertNode(i, data[i], data[i + 1], last); + } + + if (last && equals(last, last.next)) { + removeNode(last); + last = last.next; + } + + return last; +} + +// eliminate colinear or duplicate points +function filterPoints(start, end) { + if (!start) return start; + if (!end) end = start; + + var p = start, + again; + do { + again = false; + + if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) { + removeNode(p); + p = end = p.prev; + if (p === p.next) break; + again = true; + + } else { + p = p.next; + } + } while (again || p !== end); + + return end; +} + +// main ear slicing loop which triangulates a polygon (given as a linked list) +function earcutLinked(ear, triangles, dim, minX, minY, invSize, pass) { + if (!ear) return; + + // interlink polygon nodes in z-order + if (!pass && invSize) indexCurve(ear, minX, minY, invSize); + + var stop = ear, + prev, next; + + // iterate through ears, slicing them one by one + while (ear.prev !== ear.next) { + prev = ear.prev; + next = ear.next; + + if (invSize ? isEarHashed(ear, minX, minY, invSize) : isEar(ear)) { + // cut off the triangle + triangles.push(prev.i / dim | 0); + triangles.push(ear.i / dim | 0); + triangles.push(next.i / dim | 0); + + removeNode(ear); + + // skipping the next vertex leads to less sliver triangles + ear = next.next; + stop = next.next; + + continue; + } + + ear = next; + + // if we looped through the whole remaining polygon and can't find any more ears + if (ear === stop) { + // try filtering points and slicing again + if (!pass) { + earcutLinked(filterPoints(ear), triangles, dim, minX, minY, invSize, 1); + + // if this didn't work, try curing all small self-intersections locally + } else if (pass === 1) { + ear = cureLocalIntersections(filterPoints(ear), triangles, dim); + earcutLinked(ear, triangles, dim, minX, minY, invSize, 2); + + // as a last resort, try splitting the remaining polygon into two + } else if (pass === 2) { + splitEarcut(ear, triangles, dim, minX, minY, invSize); + } + + break; + } + } +} + +// check whether a polygon node forms a valid ear with adjacent nodes +function isEar(ear) { + var a = ear.prev, + b = ear, + c = ear.next; + + if (area(a, b, c) >= 0) return false; // reflex, can't be an ear + + // now make sure we don't have other points inside the potential ear + var ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y; + + // triangle bbox; min & max are calculated like this for speed + var x0 = ax < bx ? (ax < cx ? ax : cx) : (bx < cx ? bx : cx), + y0 = ay < by ? (ay < cy ? ay : cy) : (by < cy ? by : cy), + x1 = ax > bx ? (ax > cx ? ax : cx) : (bx > cx ? bx : cx), + y1 = ay > by ? (ay > cy ? ay : cy) : (by > cy ? by : cy); + + var p = c.next; + while (p !== a) { + if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && + pointInTriangle(ax, ay, bx, by, cx, cy, p.x, p.y) && + area(p.prev, p, p.next) >= 0) return false; + p = p.next; + } + + return true; +} + +function isEarHashed(ear, minX, minY, invSize) { + var a = ear.prev, + b = ear, + c = ear.next; + + if (area(a, b, c) >= 0) return false; // reflex, can't be an ear + + var ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y; + + // triangle bbox; min & max are calculated like this for speed + var x0 = ax < bx ? (ax < cx ? ax : cx) : (bx < cx ? bx : cx), + y0 = ay < by ? (ay < cy ? ay : cy) : (by < cy ? by : cy), + x1 = ax > bx ? (ax > cx ? ax : cx) : (bx > cx ? bx : cx), + y1 = ay > by ? (ay > cy ? ay : cy) : (by > cy ? by : cy); + + // z-order range for the current triangle bbox; + var minZ = zOrder(x0, y0, minX, minY, invSize), + maxZ = zOrder(x1, y1, minX, minY, invSize); + + var p = ear.prevZ, + n = ear.nextZ; + + // look for points inside the triangle in both directions + while (p && p.z >= minZ && n && n.z <= maxZ) { + if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && p !== a && p !== c && + pointInTriangle(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false; + p = p.prevZ; + + if (n.x >= x0 && n.x <= x1 && n.y >= y0 && n.y <= y1 && n !== a && n !== c && + pointInTriangle(ax, ay, bx, by, cx, cy, n.x, n.y) && area(n.prev, n, n.next) >= 0) return false; + n = n.nextZ; + } + + // look for remaining points in decreasing z-order + while (p && p.z >= minZ) { + if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && p !== a && p !== c && + pointInTriangle(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false; + p = p.prevZ; + } + + // look for remaining points in increasing z-order + while (n && n.z <= maxZ) { + if (n.x >= x0 && n.x <= x1 && n.y >= y0 && n.y <= y1 && n !== a && n !== c && + pointInTriangle(ax, ay, bx, by, cx, cy, n.x, n.y) && area(n.prev, n, n.next) >= 0) return false; + n = n.nextZ; + } + + return true; +} + +// go through all polygon nodes and cure small local self-intersections +function cureLocalIntersections(start, triangles, dim) { + var p = start; + do { + var a = p.prev, + b = p.next.next; + + if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) { + + triangles.push(a.i / dim | 0); + triangles.push(p.i / dim | 0); + triangles.push(b.i / dim | 0); + + // remove two nodes involved + removeNode(p); + removeNode(p.next); + + p = start = b; + } + p = p.next; + } while (p !== start); + + return filterPoints(p); +} + +// try splitting polygon into two and triangulate them independently +function splitEarcut(start, triangles, dim, minX, minY, invSize) { + // look for a valid diagonal that divides the polygon into two + var a = start; + do { + var b = a.next.next; + while (b !== a.prev) { + if (a.i !== b.i && isValidDiagonal(a, b)) { + // split the polygon in two by the diagonal + var c = splitPolygon(a, b); + + // filter colinear points around the cuts + a = filterPoints(a, a.next); + c = filterPoints(c, c.next); + + // run earcut on each half + earcutLinked(a, triangles, dim, minX, minY, invSize, 0); + earcutLinked(c, triangles, dim, minX, minY, invSize, 0); + return; + } + b = b.next; + } + a = a.next; + } while (a !== start); +} + +// link every hole into the outer loop, producing a single-ring polygon without holes +function eliminateHoles(data, holeIndices, outerNode, dim) { + var queue = [], + i, len, start, end, list; + + for (i = 0, len = holeIndices.length; i < len; i++) { + start = holeIndices[i] * dim; + end = i < len - 1 ? holeIndices[i + 1] * dim : data.length; + list = linkedList(data, start, end, dim, false); + if (list === list.next) list.steiner = true; + queue.push(getLeftmost(list)); + } + + queue.sort(compareX); + + // process holes from left to right + for (i = 0; i < queue.length; i++) { + outerNode = eliminateHole(queue[i], outerNode); + } + + return outerNode; +} + +function compareX(a, b) { + return a.x - b.x; +} + +// find a bridge between vertices that connects hole with an outer ring and and link it +function eliminateHole(hole, outerNode) { + var bridge = findHoleBridge(hole, outerNode); + if (!bridge) { + return outerNode; + } + + var bridgeReverse = splitPolygon(bridge, hole); + + // filter collinear points around the cuts + filterPoints(bridgeReverse, bridgeReverse.next); + return filterPoints(bridge, bridge.next); +} + +// David Eberly's algorithm for finding a bridge between hole and outer polygon +function findHoleBridge(hole, outerNode) { + var p = outerNode, + hx = hole.x, + hy = hole.y, + qx = -Infinity, + m; + + // find a segment intersected by a ray from the hole's leftmost point to the left; + // segment's endpoint with lesser x will be potential connection point + do { + if (hy <= p.y && hy >= p.next.y && p.next.y !== p.y) { + var x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y); + if (x <= hx && x > qx) { + qx = x; + m = p.x < p.next.x ? p : p.next; + if (x === hx) return m; // hole touches outer segment; pick leftmost endpoint + } + } + p = p.next; + } while (p !== outerNode); + + if (!m) return null; + + // look for points inside the triangle of hole point, segment intersection and endpoint; + // if there are no points found, we have a valid connection; + // otherwise choose the point of the minimum angle with the ray as connection point + + var stop = m, + mx = m.x, + my = m.y, + tanMin = Infinity, + tan; + + p = m; + + do { + if (hx >= p.x && p.x >= mx && hx !== p.x && + pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) { + + tan = Math.abs(hy - p.y) / (hx - p.x); // tangential + + if (locallyInside(p, hole) && + (tan < tanMin || (tan === tanMin && (p.x > m.x || (p.x === m.x && sectorContainsSector(m, p)))))) { + m = p; + tanMin = tan; + } + } + + p = p.next; + } while (p !== stop); + + return m; +} + +// whether sector in vertex m contains sector in vertex p in the same coordinates +function sectorContainsSector(m, p) { + return area(m.prev, m, p.prev) < 0 && area(p.next, m, m.next) < 0; +} + +// interlink polygon nodes in z-order +function indexCurve(start, minX, minY, invSize) { + var p = start; + do { + if (p.z === 0) p.z = zOrder(p.x, p.y, minX, minY, invSize); + p.prevZ = p.prev; + p.nextZ = p.next; + p = p.next; + } while (p !== start); + + p.prevZ.nextZ = null; + p.prevZ = null; + + sortLinked(p); +} + +// Simon Tatham's linked list merge sort algorithm +// http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html +function sortLinked(list) { + var i, p, q, e, tail, numMerges, pSize, qSize, + inSize = 1; + + do { + p = list; + list = null; + tail = null; + numMerges = 0; + + while (p) { + numMerges++; + q = p; + pSize = 0; + for (i = 0; i < inSize; i++) { + pSize++; + q = q.nextZ; + if (!q) break; + } + qSize = inSize; + + while (pSize > 0 || (qSize > 0 && q)) { + + if (pSize !== 0 && (qSize === 0 || !q || p.z <= q.z)) { + e = p; + p = p.nextZ; + pSize--; + } else { + e = q; + q = q.nextZ; + qSize--; + } + + if (tail) tail.nextZ = e; + else list = e; + + e.prevZ = tail; + tail = e; + } + + p = q; + } + + tail.nextZ = null; + inSize *= 2; + + } while (numMerges > 1); + + return list; +} + +// z-order of a point given coords and inverse of the longer side of data bbox +function zOrder(x, y, minX, minY, invSize) { + // coords are transformed into non-negative 15-bit integer range + x = (x - minX) * invSize | 0; + y = (y - minY) * invSize | 0; + + x = (x | (x << 8)) & 0x00FF00FF; + x = (x | (x << 4)) & 0x0F0F0F0F; + x = (x | (x << 2)) & 0x33333333; + x = (x | (x << 1)) & 0x55555555; + + y = (y | (y << 8)) & 0x00FF00FF; + y = (y | (y << 4)) & 0x0F0F0F0F; + y = (y | (y << 2)) & 0x33333333; + y = (y | (y << 1)) & 0x55555555; + + return x | (y << 1); +} + +// find the leftmost node of a polygon ring +function getLeftmost(start) { + var p = start, + leftmost = start; + do { + if (p.x < leftmost.x || (p.x === leftmost.x && p.y < leftmost.y)) leftmost = p; + p = p.next; + } while (p !== start); + + return leftmost; +} + +// check if a point lies within a convex triangle +function pointInTriangle(ax, ay, bx, by, cx, cy, px, py) { + return (cx - px) * (ay - py) >= (ax - px) * (cy - py) && + (ax - px) * (by - py) >= (bx - px) * (ay - py) && + (bx - px) * (cy - py) >= (cx - px) * (by - py); +} + +// check if a diagonal between two polygon nodes is valid (lies in polygon interior) +function isValidDiagonal(a, b) { + return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) && // dones't intersect other edges + (locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b) && // locally visible + (area(a.prev, a, b.prev) || area(a, b.prev, b)) || // does not create opposite-facing sectors + equals(a, b) && area(a.prev, a, a.next) > 0 && area(b.prev, b, b.next) > 0); // special zero-length case +} + +// signed area of a triangle +function area(p, q, r) { + return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y); +} + +// check if two points are equal +function equals(p1, p2) { + return p1.x === p2.x && p1.y === p2.y; +} + +// check if two segments intersect +function intersects(p1, q1, p2, q2) { + var o1 = sign(area(p1, q1, p2)); + var o2 = sign(area(p1, q1, q2)); + var o3 = sign(area(p2, q2, p1)); + var o4 = sign(area(p2, q2, q1)); + + if (o1 !== o2 && o3 !== o4) return true; // general case + + if (o1 === 0 && onSegment(p1, p2, q1)) return true; // p1, q1 and p2 are collinear and p2 lies on p1q1 + if (o2 === 0 && onSegment(p1, q2, q1)) return true; // p1, q1 and q2 are collinear and q2 lies on p1q1 + if (o3 === 0 && onSegment(p2, p1, q2)) return true; // p2, q2 and p1 are collinear and p1 lies on p2q2 + if (o4 === 0 && onSegment(p2, q1, q2)) return true; // p2, q2 and q1 are collinear and q1 lies on p2q2 + + return false; +} + +// for collinear points p, q, r, check if point q lies on segment pr +function onSegment(p, q, r) { + return q.x <= Math.max(p.x, r.x) && q.x >= Math.min(p.x, r.x) && q.y <= Math.max(p.y, r.y) && q.y >= Math.min(p.y, r.y); +} + +function sign(num) { + return num > 0 ? 1 : num < 0 ? -1 : 0; +} + +// check if a polygon diagonal intersects any polygon segments +function intersectsPolygon(a, b) { + var p = a; + do { + if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i && + intersects(p, p.next, a, b)) return true; + p = p.next; + } while (p !== a); + + return false; +} + +// check if a polygon diagonal is locally inside the polygon +function locallyInside(a, b) { + return area(a.prev, a, a.next) < 0 ? + area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 : + area(a, b, a.prev) < 0 || area(a, a.next, b) < 0; +} + +// check if the middle point of a polygon diagonal is inside the polygon +function middleInside(a, b) { + var p = a, + inside = false, + px = (a.x + b.x) / 2, + py = (a.y + b.y) / 2; + do { + if (((p.y > py) !== (p.next.y > py)) && p.next.y !== p.y && + (px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x)) + inside = !inside; + p = p.next; + } while (p !== a); + + return inside; +} + +// link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two; +// if one belongs to the outer ring and another to a hole, it merges it into a single ring +function splitPolygon(a, b) { + var a2 = new Node(a.i, a.x, a.y), + b2 = new Node(b.i, b.x, b.y), + an = a.next, + bp = b.prev; + + a.next = b; + b.prev = a; + + a2.next = an; + an.prev = a2; + + b2.next = a2; + a2.prev = b2; + + bp.next = b2; + b2.prev = bp; + + return b2; +} + +// create a node and optionally link it with previous one (in a circular doubly linked list) +function insertNode(i, x, y, last) { + var p = new Node(i, x, y); + + if (!last) { + p.prev = p; + p.next = p; + + } else { + p.next = last.next; + p.prev = last; + last.next.prev = p; + last.next = p; + } + return p; +} + +function removeNode(p) { + p.next.prev = p.prev; + p.prev.next = p.next; + + if (p.prevZ) p.prevZ.nextZ = p.nextZ; + if (p.nextZ) p.nextZ.prevZ = p.prevZ; +} + +function Node(i, x, y) { + // vertex index in coordinates array + this.i = i; + + // vertex coordinates + this.x = x; + this.y = y; + + // previous and next vertex nodes in a polygon ring + this.prev = null; + this.next = null; + + // z-order curve value + this.z = 0; + + // previous and next nodes in z-order + this.prevZ = null; + this.nextZ = null; + + // indicates whether this is a steiner point + this.steiner = false; +} + +// return a percentage difference between the polygon area and its triangulation area; +// used to verify correctness of triangulation +earcut.deviation = function (data, holeIndices, dim, triangles) { + var hasHoles = holeIndices && holeIndices.length; + var outerLen = hasHoles ? holeIndices[0] * dim : data.length; + + var polygonArea = Math.abs(signedArea(data, 0, outerLen, dim)); + if (hasHoles) { + for (var i = 0, len = holeIndices.length; i < len; i++) { + var start = holeIndices[i] * dim; + var end = i < len - 1 ? holeIndices[i + 1] * dim : data.length; + polygonArea -= Math.abs(signedArea(data, start, end, dim)); + } + } + + var trianglesArea = 0; + for (i = 0; i < triangles.length; i += 3) { + var a = triangles[i] * dim; + var b = triangles[i + 1] * dim; + var c = triangles[i + 2] * dim; + trianglesArea += Math.abs( + (data[a] - data[c]) * (data[b + 1] - data[a + 1]) - + (data[a] - data[b]) * (data[c + 1] - data[a + 1])); + } + + return polygonArea === 0 && trianglesArea === 0 ? 0 : + Math.abs((trianglesArea - polygonArea) / polygonArea); +}; + +function signedArea(data, start, end, dim) { + var sum = 0; + for (var i = start, j = end - dim; i < end; i += dim) { + sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]); + j = i; + } + return sum; +} + +// turn a polygon in a multi-dimensional array form (e.g. as in GeoJSON) into a form Earcut accepts +earcut.flatten = function (data) { + var dim = data[0][0].length, + result = {vertices: [], holes: [], dimensions: dim}, + holeIndex = 0; + + for (var i = 0; i < data.length; i++) { + for (var j = 0; j < data[i].length; j++) { + for (var d = 0; d < dim; d++) result.vertices.push(data[i][j][d]); + } + if (i > 0) { + holeIndex += data[i - 1].length; + result.holes.push(holeIndex); + } + } + return result; +}; + +var earcutExports = earcut$2.exports; +var earcut$1 = /*@__PURE__*/getDefaultExportFromCjs(earcutExports); + +/** + * Full-screen textured quad shader + */ + +const CopyShader = { + + uniforms: { + + 'tDiffuse': { value: null }, + 'opacity': { value: 1.0 } + + }, + + vertexShader: /* glsl */` + + varying vec2 vUv; + + void main() { + + vUv = uv; + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + + }`, + + fragmentShader: /* glsl */` + + uniform float opacity; + + uniform sampler2D tDiffuse; + + varying vec2 vUv; + + void main() { + + gl_FragColor = texture2D( tDiffuse, vUv ); + gl_FragColor.a *= opacity; + + + }` + +}; + +class Pass { + + constructor() { + + this.isPass = true; + + // if set to true, the pass is processed by the composer + this.enabled = true; + + // if set to true, the pass indicates to swap read and write buffer after rendering + this.needsSwap = true; + + // if set to true, the pass clears its buffer before rendering + this.clear = false; + + // if set to true, the result of the pass is rendered to screen. This is set automatically by EffectComposer. + this.renderToScreen = false; + + } + + setSize( /* width, height */ ) {} + + render( /* renderer, writeBuffer, readBuffer, deltaTime, maskActive */ ) { + + console.error( 'THREE.Pass: .render() must be implemented in derived pass.' ); + + } + + dispose() {} + +} + +// Helper for passes that need to fill the viewport with a single quad. + +const _camera = new OrthographicCamera( - 1, 1, 1, - 1, 0, 1 ); + +// https://github.com/mrdoob/three.js/pull/21358 + +const _geometry = new BufferGeometry(); +_geometry.setAttribute( 'position', new Float32BufferAttribute( [ - 1, 3, 0, - 1, - 1, 0, 3, - 1, 0 ], 3 ) ); +_geometry.setAttribute( 'uv', new Float32BufferAttribute( [ 0, 2, 0, 0, 2, 0 ], 2 ) ); + +class FullScreenQuad { + + constructor( material ) { + + this._mesh = new Mesh( _geometry, material ); + + } + + dispose() { + + this._mesh.geometry.dispose(); + + } + + render( renderer ) { + + renderer.render( this._mesh, _camera ); + + } + + get material() { + + return this._mesh.material; + + } + + set material( value ) { + + this._mesh.material = value; + + } + +} + +class ShaderPass extends Pass { + + constructor( shader, textureID ) { + + super(); + + this.textureID = ( textureID !== undefined ) ? textureID : 'tDiffuse'; + + if ( shader instanceof ShaderMaterial ) { + + this.uniforms = shader.uniforms; + + this.material = shader; + + } else if ( shader ) { + + this.uniforms = UniformsUtils.clone( shader.uniforms ); + + this.material = new ShaderMaterial( { + + defines: Object.assign( {}, shader.defines ), + uniforms: this.uniforms, + vertexShader: shader.vertexShader, + fragmentShader: shader.fragmentShader + + } ); + + } + + this.fsQuad = new FullScreenQuad( this.material ); + + } + + render( renderer, writeBuffer, readBuffer /*, deltaTime, maskActive */ ) { + + if ( this.uniforms[ this.textureID ] ) { + + this.uniforms[ this.textureID ].value = readBuffer.texture; + + } + + this.fsQuad.material = this.material; + + if ( this.renderToScreen ) { + + renderer.setRenderTarget( null ); + this.fsQuad.render( renderer ); + + } else { + + renderer.setRenderTarget( writeBuffer ); + // TODO: Avoid using autoClear properties, see https://github.com/mrdoob/three.js/pull/15571#issuecomment-465669600 + if ( this.clear ) renderer.clear( renderer.autoClearColor, renderer.autoClearDepth, renderer.autoClearStencil ); + this.fsQuad.render( renderer ); + + } + + } + + dispose() { + + this.material.dispose(); + + this.fsQuad.dispose(); + + } + +} + +class MaskPass extends Pass { + + constructor( scene, camera ) { + + super(); + + this.scene = scene; + this.camera = camera; + + this.clear = true; + this.needsSwap = false; + + this.inverse = false; + + } + + render( renderer, writeBuffer, readBuffer /*, deltaTime, maskActive */ ) { + + const context = renderer.getContext(); + const state = renderer.state; + + // don't update color or depth + + state.buffers.color.setMask( false ); + state.buffers.depth.setMask( false ); + + // lock buffers + + state.buffers.color.setLocked( true ); + state.buffers.depth.setLocked( true ); + + // set up stencil + + let writeValue, clearValue; + + if ( this.inverse ) { + + writeValue = 0; + clearValue = 1; + + } else { + + writeValue = 1; + clearValue = 0; + + } + + state.buffers.stencil.setTest( true ); + state.buffers.stencil.setOp( context.REPLACE, context.REPLACE, context.REPLACE ); + state.buffers.stencil.setFunc( context.ALWAYS, writeValue, 0xffffffff ); + state.buffers.stencil.setClear( clearValue ); + state.buffers.stencil.setLocked( true ); + + // draw into the stencil buffer + + renderer.setRenderTarget( readBuffer ); + if ( this.clear ) renderer.clear(); + renderer.render( this.scene, this.camera ); + + renderer.setRenderTarget( writeBuffer ); + if ( this.clear ) renderer.clear(); + renderer.render( this.scene, this.camera ); + + // unlock color and depth buffer for subsequent rendering + + state.buffers.color.setLocked( false ); + state.buffers.depth.setLocked( false ); + + // only render where stencil is set to 1 + + state.buffers.stencil.setLocked( false ); + state.buffers.stencil.setFunc( context.EQUAL, 1, 0xffffffff ); // draw if == 1 + state.buffers.stencil.setOp( context.KEEP, context.KEEP, context.KEEP ); + state.buffers.stencil.setLocked( true ); + + } + +} + +class ClearMaskPass extends Pass { + + constructor() { + + super(); + + this.needsSwap = false; + + } + + render( renderer /*, writeBuffer, readBuffer, deltaTime, maskActive */ ) { + + renderer.state.buffers.stencil.setLocked( false ); + renderer.state.buffers.stencil.setTest( false ); + + } + +} + +class EffectComposer { + + constructor( renderer, renderTarget ) { + + this.renderer = renderer; + + this._pixelRatio = renderer.getPixelRatio(); + + if ( renderTarget === undefined ) { + + const size = renderer.getSize( new Vector2$1() ); + this._width = size.width; + this._height = size.height; + + renderTarget = new WebGLRenderTarget( this._width * this._pixelRatio, this._height * this._pixelRatio ); + renderTarget.texture.name = 'EffectComposer.rt1'; + + } else { + + this._width = renderTarget.width; + this._height = renderTarget.height; + + } + + this.renderTarget1 = renderTarget; + this.renderTarget2 = renderTarget.clone(); + this.renderTarget2.texture.name = 'EffectComposer.rt2'; + + this.writeBuffer = this.renderTarget1; + this.readBuffer = this.renderTarget2; + + this.renderToScreen = true; + + this.passes = []; + + this.copyPass = new ShaderPass( CopyShader ); + + this.clock = new Clock(); + + } + + swapBuffers() { + + const tmp = this.readBuffer; + this.readBuffer = this.writeBuffer; + this.writeBuffer = tmp; + + } + + addPass( pass ) { + + this.passes.push( pass ); + pass.setSize( this._width * this._pixelRatio, this._height * this._pixelRatio ); + + } + + insertPass( pass, index ) { + + this.passes.splice( index, 0, pass ); + pass.setSize( this._width * this._pixelRatio, this._height * this._pixelRatio ); + + } + + removePass( pass ) { + + const index = this.passes.indexOf( pass ); + + if ( index !== - 1 ) { + + this.passes.splice( index, 1 ); + + } + + } + + isLastEnabledPass( passIndex ) { + + for ( let i = passIndex + 1; i < this.passes.length; i ++ ) { + + if ( this.passes[ i ].enabled ) { + + return false; + + } + + } + + return true; + + } + + render( deltaTime ) { + + // deltaTime value is in seconds + + if ( deltaTime === undefined ) { + + deltaTime = this.clock.getDelta(); + + } + + const currentRenderTarget = this.renderer.getRenderTarget(); + + let maskActive = false; + + for ( let i = 0, il = this.passes.length; i < il; i ++ ) { + + const pass = this.passes[ i ]; + + if ( pass.enabled === false ) continue; + + pass.renderToScreen = ( this.renderToScreen && this.isLastEnabledPass( i ) ); + pass.render( this.renderer, this.writeBuffer, this.readBuffer, deltaTime, maskActive ); + + if ( pass.needsSwap ) { + + if ( maskActive ) { + + const context = this.renderer.getContext(); + const stencil = this.renderer.state.buffers.stencil; + + //context.stencilFunc( context.NOTEQUAL, 1, 0xffffffff ); + stencil.setFunc( context.NOTEQUAL, 1, 0xffffffff ); + + this.copyPass.render( this.renderer, this.writeBuffer, this.readBuffer, deltaTime ); + + //context.stencilFunc( context.EQUAL, 1, 0xffffffff ); + stencil.setFunc( context.EQUAL, 1, 0xffffffff ); + + } + + this.swapBuffers(); + + } + + if ( MaskPass !== undefined ) { + + if ( pass instanceof MaskPass ) { + + maskActive = true; + + } else if ( pass instanceof ClearMaskPass ) { + + maskActive = false; + + } + + } + + } + + this.renderer.setRenderTarget( currentRenderTarget ); + + } + + reset( renderTarget ) { + + if ( renderTarget === undefined ) { + + const size = this.renderer.getSize( new Vector2$1() ); + this._pixelRatio = this.renderer.getPixelRatio(); + this._width = size.width; + this._height = size.height; + + renderTarget = this.renderTarget1.clone(); + renderTarget.setSize( this._width * this._pixelRatio, this._height * this._pixelRatio ); + + } + + this.renderTarget1.dispose(); + this.renderTarget2.dispose(); + this.renderTarget1 = renderTarget; + this.renderTarget2 = renderTarget.clone(); + + this.writeBuffer = this.renderTarget1; + this.readBuffer = this.renderTarget2; + + } + + setSize( width, height ) { + + this._width = width; + this._height = height; + + const effectiveWidth = this._width * this._pixelRatio; + const effectiveHeight = this._height * this._pixelRatio; + + this.renderTarget1.setSize( effectiveWidth, effectiveHeight ); + this.renderTarget2.setSize( effectiveWidth, effectiveHeight ); + + for ( let i = 0; i < this.passes.length; i ++ ) { + + this.passes[ i ].setSize( effectiveWidth, effectiveHeight ); + + } + + } + + setPixelRatio( pixelRatio ) { + + this._pixelRatio = pixelRatio; + + this.setSize( this._width, this._height ); + + } + + dispose() { + + this.renderTarget1.dispose(); + this.renderTarget2.dispose(); + + this.copyPass.dispose(); + + } + +} + +class RenderPass extends Pass { + + constructor( scene, camera, overrideMaterial, clearColor, clearAlpha ) { + + super(); + + this.scene = scene; + this.camera = camera; + + this.overrideMaterial = overrideMaterial; + + this.clearColor = clearColor; + this.clearAlpha = ( clearAlpha !== undefined ) ? clearAlpha : 0; + + this.clear = true; + this.clearDepth = false; + this.needsSwap = false; + this._oldClearColor = new Color(); + + } + + render( renderer, writeBuffer, readBuffer /*, deltaTime, maskActive */ ) { + + const oldAutoClear = renderer.autoClear; + renderer.autoClear = false; + + let oldClearAlpha, oldOverrideMaterial; + + if ( this.overrideMaterial !== undefined ) { + + oldOverrideMaterial = this.scene.overrideMaterial; + + this.scene.overrideMaterial = this.overrideMaterial; + + } + + if ( this.clearColor ) { + + renderer.getClearColor( this._oldClearColor ); + oldClearAlpha = renderer.getClearAlpha(); + + renderer.setClearColor( this.clearColor, this.clearAlpha ); + + } + + if ( this.clearDepth ) { + + renderer.clearDepth(); + + } + + renderer.setRenderTarget( this.renderToScreen ? null : readBuffer ); + + // TODO: Avoid using autoClear properties, see https://github.com/mrdoob/three.js/pull/15571#issuecomment-465669600 + if ( this.clear ) renderer.clear( renderer.autoClearColor, renderer.autoClearDepth, renderer.autoClearStencil ); + renderer.render( this.scene, this.camera ); + + if ( this.clearColor ) { + + renderer.setClearColor( this._oldClearColor, oldClearAlpha ); + + } + + if ( this.overrideMaterial !== undefined ) { + + this.scene.overrideMaterial = oldOverrideMaterial; + + } + + renderer.autoClear = oldAutoClear; + + } + +} + +/** + * postprocessing v6.32.2 build Sat Jul 01 2023 + * https://github.com/pmndrs/postprocessing + * Copyright 2015-2023 Raoul van Rüschen + * @license Zlib + */ + + +// src/utils/BackCompat.js +Number(REVISION.replace(/\D+/g, "")); +new Camera(); +new Color(); + +// src/effects/GodRaysEffect.js +new Vector3$1(); +new Matrix4(); + +// src/textures/lut/LookupTexture.js +new Color(); +new Vector3$1(); +new Vector3$1(); + +const $e4ca8dcb0218f846$var$_geometry = new BufferGeometry(); +$e4ca8dcb0218f846$var$_geometry.setAttribute("position", new BufferAttribute$1(new Float32Array([ + -1, + -1, + 3, + -1, + -1, + 3 +]), 2)); +$e4ca8dcb0218f846$var$_geometry.setAttribute("uv", new BufferAttribute$1(new Float32Array([ + 0, + 0, + 2, + 0, + 0, + 2 +]), 2)); +// Recent three.js versions break setDrawRange or itemSize <3 position +$e4ca8dcb0218f846$var$_geometry.boundingSphere = new Sphere(); +$e4ca8dcb0218f846$var$_geometry.computeBoundingSphere = function() {}; +const $e4ca8dcb0218f846$var$_camera = new OrthographicCamera(); +class $e4ca8dcb0218f846$export$dcd670d73db751f5 { + constructor(material){ + this._mesh = new Mesh($e4ca8dcb0218f846$var$_geometry, material); + this._mesh.frustumCulled = false; + } + render(renderer) { + renderer.render(this._mesh, $e4ca8dcb0218f846$var$_camera); + } + get material() { + return this._mesh.material; + } + set material(value) { + this._mesh.material = value; + } + dispose() { + this._mesh.material.dispose(); + this._mesh.geometry.dispose(); + } +} + + + +const $1ed45968c1160c3c$export$c9b263b9a17dffd7 = { + uniforms: { + "sceneDiffuse": { + value: null + }, + "sceneDepth": { + value: null + }, + "sceneNormal": { + value: null + }, + "projMat": { + value: new Matrix4() + }, + "viewMat": { + value: new Matrix4() + }, + "projViewMat": { + value: new Matrix4() + }, + "projectionMatrixInv": { + value: new Matrix4() + }, + "viewMatrixInv": { + value: new Matrix4() + }, + "cameraPos": { + value: new Vector3$1() + }, + "resolution": { + value: new Vector2$1() + }, + "time": { + value: 0.0 + }, + "samples": { + value: [] + }, + "samplesR": { + value: [] + }, + "bluenoise": { + value: null + }, + "distanceFalloff": { + value: 1.0 + }, + "radius": { + value: 5.0 + }, + "near": { + value: 0.1 + }, + "far": { + value: 1000.0 + }, + "logDepth": { + value: false + }, + "ortho": { + value: false + }, + "screenSpaceRadius": { + value: false + } + }, + depthWrite: false, + depthTest: false, + vertexShader: /* glsl */ ` +varying vec2 vUv; +void main() { + vUv = uv; + gl_Position = vec4(position, 1); +}`, + fragmentShader: /* glsl */ ` + #define SAMPLES 16 + #define FSAMPLES 16.0 +uniform sampler2D sceneDiffuse; +uniform highp sampler2D sceneNormal; +uniform highp sampler2D sceneDepth; +uniform mat4 projectionMatrixInv; +uniform mat4 viewMatrixInv; +uniform mat4 projMat; +uniform mat4 viewMat; +uniform mat4 projViewMat; +uniform vec3 cameraPos; +uniform vec2 resolution; +uniform float time; +uniform vec3[SAMPLES] samples; +uniform float[SAMPLES] samplesR; +uniform float radius; +uniform float distanceFalloff; +uniform float near; +uniform float far; +uniform bool logDepth; +uniform bool ortho; +uniform bool screenSpaceRadius; +uniform sampler2D bluenoise; + varying vec2 vUv; + highp float linearize_depth(highp float d, highp float zNear,highp float zFar) + { + return (zFar * zNear) / (zFar - d * (zFar - zNear)); + } + highp float linearize_depth_ortho(highp float d, highp float nearZ, highp float farZ) { + return nearZ + (farZ - nearZ) * d; + } + highp float linearize_depth_log(highp float d, highp float nearZ,highp float farZ) { + float depth = pow(2.0, d * log2(farZ + 1.0)) - 1.0; + float a = farZ / (farZ - nearZ); + float b = farZ * nearZ / (nearZ - farZ); + float linDepth = a + b / depth; + return ortho ? linearize_depth_ortho( + linDepth, + nearZ, + farZ + ) :linearize_depth(linDepth, nearZ, farZ); + } + + vec3 getWorldPosLog(vec3 posS) { + vec2 uv = posS.xy; + float z = posS.z; + float nearZ =near; + float farZ = far; + float depth = pow(2.0, z * log2(farZ + 1.0)) - 1.0; + float a = farZ / (farZ - nearZ); + float b = farZ * nearZ / (nearZ - farZ); + float linDepth = a + b / depth; + vec4 clipVec = vec4(uv, linDepth, 1.0) * 2.0 - 1.0; + vec4 wpos = projectionMatrixInv * clipVec; + return wpos.xyz / wpos.w; + } + vec3 getWorldPos(float depth, vec2 coord) { + #ifdef LOGDEPTH + return getWorldPosLog(vec3(coord, depth)); + #endif + float z = depth * 2.0 - 1.0; + vec4 clipSpacePosition = vec4(coord * 2.0 - 1.0, z, 1.0); + vec4 viewSpacePosition = projectionMatrixInv * clipSpacePosition; + // Perspective division + vec4 worldSpacePosition = viewSpacePosition; + worldSpacePosition.xyz /= worldSpacePosition.w; + return worldSpacePosition.xyz; + } + + vec3 computeNormal(vec3 worldPos, vec2 vUv) { + ivec2 p = ivec2(vUv * resolution); + float c0 = texelFetch(sceneDepth, p, 0).x; + float l2 = texelFetch(sceneDepth, p - ivec2(2, 0), 0).x; + float l1 = texelFetch(sceneDepth, p - ivec2(1, 0), 0).x; + float r1 = texelFetch(sceneDepth, p + ivec2(1, 0), 0).x; + float r2 = texelFetch(sceneDepth, p + ivec2(2, 0), 0).x; + float b2 = texelFetch(sceneDepth, p - ivec2(0, 2), 0).x; + float b1 = texelFetch(sceneDepth, p - ivec2(0, 1), 0).x; + float t1 = texelFetch(sceneDepth, p + ivec2(0, 1), 0).x; + float t2 = texelFetch(sceneDepth, p + ivec2(0, 2), 0).x; + + float dl = abs((2.0 * l1 - l2) - c0); + float dr = abs((2.0 * r1 - r2) - c0); + float db = abs((2.0 * b1 - b2) - c0); + float dt = abs((2.0 * t1 - t2) - c0); + + vec3 ce = getWorldPos(c0, vUv).xyz; + + vec3 dpdx = (dl < dr) ? ce - getWorldPos(l1, (vUv - vec2(1.0 / resolution.x, 0.0))).xyz + : -ce + getWorldPos(r1, (vUv + vec2(1.0 / resolution.x, 0.0))).xyz; + vec3 dpdy = (db < dt) ? ce - getWorldPos(b1, (vUv - vec2(0.0, 1.0 / resolution.y))).xyz + : -ce + getWorldPos(t1, (vUv + vec2(0.0, 1.0 / resolution.y))).xyz; + + return normalize(cross(dpdx, dpdy)); +} + +void main() { + vec4 diffuse = texture2D(sceneDiffuse, vUv); + float depth = texture2D(sceneDepth, vUv).x; + if (depth == 1.0) { + gl_FragColor = vec4(vec3(1.0), 1.0); + return; + } + vec3 worldPos = getWorldPos(depth, vUv); + // vec3 normal = texture2D(sceneNormal, vUv).rgb;//computeNormal(worldPos, vUv); + #ifdef HALFRES + vec3 normal = texture2D(sceneNormal, vUv).rgb; + #else + vec3 normal = computeNormal(worldPos, vUv); + #endif + vec4 noise = texture2D(bluenoise, gl_FragCoord.xy / 128.0); + vec3 randomVec = normalize(noise.rgb * 2.0 - 1.0); + vec3 tangent = normalize(randomVec - normal * dot(randomVec, normal)); + vec3 bitangent = cross(normal, tangent); + mat3 tbn = mat3(tangent, bitangent, normal); + float occluded = 0.0; + float totalWeight = 0.0; + /* float radiusScreen = distance( + worldPos, + getWorldPos(depth, vUv + + vec2(48.0, 0.0) / resolution) + );/*vUv.x < 0.5 ? radius : min(distance( + worldPos, + getWorldPos(depth, vUv + + vec2(100.0, 0.0) / resolution) + ), radius); + float distanceFalloffScreen = radiusScreen * 0.2;*/ + float radiusToUse = screenSpaceRadius ? distance( + worldPos, + getWorldPos(depth, vUv + + vec2(radius, 0.0) / resolution) + ) : radius; + float distanceFalloffToUse =screenSpaceRadius ? + radiusToUse * distanceFalloff + : distanceFalloff; + float bias = (0.1 / near) * fwidth(distance(worldPos, cameraPos)) / radiusToUse; + for(float i = 0.0; i < FSAMPLES; i++) { + vec3 sampleDirection = + tbn * + samples[int(i)]; + ; + float moveAmt = samplesR[int(mod(i + noise.a * FSAMPLES, FSAMPLES))]; + vec3 samplePos = worldPos + radiusToUse * moveAmt * sampleDirection; + vec4 offset = projMat * vec4(samplePos, 1.0); + offset.xyz /= offset.w; + offset.xyz = offset.xyz * 0.5 + 0.5; + float sampleDepth = textureLod(sceneDepth, offset.xy, 0.0).x; + /*float distSample = logDepth ? linearize_depth_log(sampleDepth, near, far) + (ortho ? linearize_depth_ortho(sampleDepth, near, far) : linearize_depth(sampleDepth, near, far));*/ + #ifdef LOGDEPTH + float distSample = linearize_depth_log(sampleDepth, near, far); + #else + float distSample = ortho ? linearize_depth_ortho(sampleDepth, near, far) : linearize_depth(sampleDepth, near, far); + #endif + float distWorld = ortho ? linearize_depth_ortho(offset.z, near, far) : linearize_depth(offset.z, near, far); + float rangeCheck = smoothstep(0.0, 1.0, distanceFalloffToUse / (abs(distSample - distWorld))); + vec2 diff = gl_FragCoord.xy - ( offset.xy * resolution); + float weight = dot(sampleDirection, normal); + occluded += rangeCheck * weight * + (distSample + bias + < distWorld ? 1.0 : 0.0) * ( + (dot( + diff, + diff + + ) < 1.0 || (sampleDepth == depth) || ( + offset.x < 0.0 || offset.x > 1.0 || offset.y < 0.0 || offset.y > 1.0 + ) ? 0.0 : 1.0) + ); + totalWeight += weight; + } + float occ = clamp(1.0 - occluded / totalWeight, 0.0, 1.0); + gl_FragColor = vec4(0.5 + 0.5 * normal, occ); +}` +}; + + + +const $12b21d24d1192a04$export$a815acccbd2c9a49 = { + uniforms: { + "sceneDiffuse": { + value: null + }, + "sceneDepth": { + value: null + }, + "tDiffuse": { + value: null + }, + "projMat": { + value: new Matrix4() + }, + "viewMat": { + value: new Matrix4() + }, + "projectionMatrixInv": { + value: new Matrix4() + }, + "viewMatrixInv": { + value: new Matrix4() + }, + "cameraPos": { + value: new Vector3$1() + }, + "resolution": { + value: new Vector2$1() + }, + "color": { + value: new Vector3$1(0, 0, 0) + }, + "blueNoise": { + value: null + }, + "downsampledDepth": { + value: null + }, + "time": { + value: 0.0 + }, + "intensity": { + value: 10.0 + }, + "renderMode": { + value: 0.0 + }, + "gammaCorrection": { + value: false + }, + "logDepth": { + value: false + }, + "ortho": { + value: false + }, + "near": { + value: 0.1 + }, + "far": { + value: 1000.0 + }, + "screenSpaceRadius": { + value: false + }, + "radius": { + value: 0.0 + }, + "distanceFalloff": { + value: 1.0 + }, + "fog": { + value: false + }, + "fogExp": { + value: false + }, + "fogDensity": { + value: 0.0 + }, + "fogNear": { + value: Infinity + }, + "fogFar": { + value: Infinity + }, + "colorMultiply": { + value: true + } + }, + depthWrite: false, + depthTest: false, + vertexShader: /* glsl */ ` + varying vec2 vUv; + void main() { + vUv = uv; + gl_Position = vec4(position, 1); + }`, + fragmentShader: /* glsl */ ` + uniform sampler2D sceneDiffuse; + uniform highp sampler2D sceneDepth; + uniform highp sampler2D downsampledDepth; + uniform sampler2D tDiffuse; + uniform sampler2D blueNoise; + uniform vec2 resolution; + uniform vec3 color; + uniform mat4 projectionMatrixInv; + uniform mat4 viewMatrixInv; + uniform float intensity; + uniform float renderMode; + uniform float near; + uniform float far; + uniform bool gammaCorrection; + uniform bool logDepth; + uniform bool ortho; + uniform bool screenSpaceRadius; + uniform bool fog; + uniform bool fogExp; + uniform bool colorMultiply; + uniform float fogDensity; + uniform float fogNear; + uniform float fogFar; + uniform float radius; + uniform float distanceFalloff; + uniform vec3 cameraPos; + varying vec2 vUv; + highp float linearize_depth(highp float d, highp float zNear,highp float zFar) + { + return (zFar * zNear) / (zFar - d * (zFar - zNear)); + } + highp float linearize_depth_ortho(highp float d, highp float nearZ, highp float farZ) { + return nearZ + (farZ - nearZ) * d; + } + highp float linearize_depth_log(highp float d, highp float nearZ,highp float farZ) { + float depth = pow(2.0, d * log2(farZ + 1.0)) - 1.0; + float a = farZ / (farZ - nearZ); + float b = farZ * nearZ / (nearZ - farZ); + float linDepth = a + b / depth; + return ortho ? linearize_depth_ortho( + linDepth, + nearZ, + farZ + ) :linearize_depth(linDepth, nearZ, farZ); + } + vec3 getWorldPosLog(vec3 posS) { + vec2 uv = posS.xy; + float z = posS.z; + float nearZ =near; + float farZ = far; + float depth = pow(2.0, z * log2(farZ + 1.0)) - 1.0; + float a = farZ / (farZ - nearZ); + float b = farZ * nearZ / (nearZ - farZ); + float linDepth = a + b / depth; + vec4 clipVec = vec4(uv, linDepth, 1.0) * 2.0 - 1.0; + vec4 wpos = projectionMatrixInv * clipVec; + return wpos.xyz / wpos.w; + } + vec3 getWorldPos(float depth, vec2 coord) { + // if (logDepth) { + #ifdef LOGDEPTH + return getWorldPosLog(vec3(coord, depth)); + #endif + // } + float z = depth * 2.0 - 1.0; + vec4 clipSpacePosition = vec4(coord * 2.0 - 1.0, z, 1.0); + vec4 viewSpacePosition = projectionMatrixInv * clipSpacePosition; + // Perspective division + vec4 worldSpacePosition = viewSpacePosition; + worldSpacePosition.xyz /= worldSpacePosition.w; + return worldSpacePosition.xyz; + } + + vec3 computeNormal(vec3 worldPos, vec2 vUv) { + ivec2 p = ivec2(vUv * resolution); + float c0 = texelFetch(sceneDepth, p, 0).x; + float l2 = texelFetch(sceneDepth, p - ivec2(2, 0), 0).x; + float l1 = texelFetch(sceneDepth, p - ivec2(1, 0), 0).x; + float r1 = texelFetch(sceneDepth, p + ivec2(1, 0), 0).x; + float r2 = texelFetch(sceneDepth, p + ivec2(2, 0), 0).x; + float b2 = texelFetch(sceneDepth, p - ivec2(0, 2), 0).x; + float b1 = texelFetch(sceneDepth, p - ivec2(0, 1), 0).x; + float t1 = texelFetch(sceneDepth, p + ivec2(0, 1), 0).x; + float t2 = texelFetch(sceneDepth, p + ivec2(0, 2), 0).x; + + float dl = abs((2.0 * l1 - l2) - c0); + float dr = abs((2.0 * r1 - r2) - c0); + float db = abs((2.0 * b1 - b2) - c0); + float dt = abs((2.0 * t1 - t2) - c0); + + vec3 ce = getWorldPos(c0, vUv).xyz; + + vec3 dpdx = (dl < dr) ? ce - getWorldPos(l1, (vUv - vec2(1.0 / resolution.x, 0.0))).xyz + : -ce + getWorldPos(r1, (vUv + vec2(1.0 / resolution.x, 0.0))).xyz; + vec3 dpdy = (db < dt) ? ce - getWorldPos(b1, (vUv - vec2(0.0, 1.0 / resolution.y))).xyz + : -ce + getWorldPos(t1, (vUv + vec2(0.0, 1.0 / resolution.y))).xyz; + + return normalize(cross(dpdx, dpdy)); + } + + #include + #include + void main() { + //vec4 texel = texture2D(tDiffuse, vUv);//vec3(0.0); + vec4 sceneTexel = texture2D(sceneDiffuse, vUv); + float depth = texture2D( + sceneDepth, + vUv + ).x; + #ifdef HALFRES + vec4 texel; + if (depth == 1.0) { + texel = vec4(0.0, 0.0, 0.0, 1.0); + } else { + vec3 worldPos = getWorldPos(depth, vUv); + vec3 normal = computeNormal(getWorldPos(depth, vUv), vUv); + // vec4 texel = texture2D(tDiffuse, vUv); + // Find closest depth; + float totalWeight = 0.0; + float radiusToUse = screenSpaceRadius ? distance( + worldPos, + getWorldPos(depth, vUv + + vec2(radius, 0.0) / resolution) + ) : radius; + float distanceFalloffToUse =screenSpaceRadius ? + radiusToUse * distanceFalloff + : distanceFalloff; + for(float x = -1.0; x <= 1.0; x++) { + for(float y = -1.0; y <= 1.0; y++) { + vec2 offset = vec2(x, y); + ivec2 p = ivec2( + (vUv * resolution * 0.5) + offset + ); + vec2 pUv = vec2(p) / (resolution * 0.5); + float sampleDepth = texelFetch(downsampledDepth,p, 0).x; + vec4 sampleInfo = texelFetch(tDiffuse, p, 0); + vec3 normalSample = sampleInfo.xyz * 2.0 - 1.0; + vec3 worldPosSample = getWorldPos(sampleDepth, pUv); + float tangentPlaneDist = abs(dot(worldPos - worldPosSample, normal)); + float rangeCheck = exp(-1.0 * tangentPlaneDist * (1.0 / distanceFalloffToUse)) * max(dot(normal, normalSample), 0.0); + float weight = rangeCheck; + totalWeight += weight; + texel += sampleInfo * weight; + } + } + if (totalWeight == 0.0) { + texel = texture2D(tDiffuse, vUv); + } else { + texel /= totalWeight; + } + } + #else + vec4 texel = texture2D(tDiffuse, vUv); + #endif + + #ifdef LOGDEPTH + texel.a = clamp(texel.a, 0.0, 1.0); + if (texel.a == 0.0) { + texel.a = 1.0; + } + #endif + + float finalAo = pow(texel.a, intensity); + float fogFactor; + float fogDepth = distance( + cameraPos, + getWorldPos(depth, vUv) + ); + if (fog) { + if (fogExp) { + fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth ); + } else { + fogFactor = smoothstep( fogNear, fogFar, fogDepth ); + } + } + finalAo = mix(finalAo, 1.0, fogFactor); + vec3 aoApplied = color * mix(vec3(1.0), sceneTexel.rgb, float(colorMultiply)); + if (renderMode == 0.0) { + gl_FragColor = vec4( mix(sceneTexel.rgb, aoApplied, 1.0 - finalAo), sceneTexel.a); + } else if (renderMode == 1.0) { + gl_FragColor = vec4( mix(vec3(1.0), aoApplied, 1.0 - finalAo), sceneTexel.a); + } else if (renderMode == 2.0) { + gl_FragColor = vec4( sceneTexel.rgb, sceneTexel.a); + } else if (renderMode == 3.0) { + if (vUv.x < 0.5) { + gl_FragColor = vec4( sceneTexel.rgb, sceneTexel.a); + } else if (abs(vUv.x - 0.5) < 1.0 / resolution.x) { + gl_FragColor = vec4(1.0); + } else { + gl_FragColor = vec4( mix(sceneTexel.rgb, aoApplied, 1.0 - finalAo), sceneTexel.a); + } + } else if (renderMode == 4.0) { + if (vUv.x < 0.5) { + gl_FragColor = vec4( sceneTexel.rgb, sceneTexel.a); + } else if (abs(vUv.x - 0.5) < 1.0 / resolution.x) { + gl_FragColor = vec4(1.0); + } else { + gl_FragColor = vec4( mix(vec3(1.0), aoApplied, 1.0 - finalAo), sceneTexel.a); + } + } + #include + if (gammaCorrection) { + gl_FragColor = LinearTosRGB(gl_FragColor); + } + } + ` +}; + + + +const $e52378cd0f5a973d$export$57856b59f317262e = { + uniforms: { + "sceneDiffuse": { + value: null + }, + "sceneDepth": { + value: null + }, + "tDiffuse": { + value: null + }, + "projMat": { + value: new Matrix4() + }, + "viewMat": { + value: new Matrix4() + }, + "projectionMatrixInv": { + value: new Matrix4() + }, + "viewMatrixInv": { + value: new Matrix4() + }, + "cameraPos": { + value: new Vector3$1() + }, + "resolution": { + value: new Vector2$1() + }, + "time": { + value: 0.0 + }, + "r": { + value: 5.0 + }, + "blueNoise": { + value: null + }, + "radius": { + value: 12.0 + }, + "worldRadius": { + value: 5.0 + }, + "index": { + value: 0.0 + }, + "poissonDisk": { + value: [] + }, + "distanceFalloff": { + value: 1.0 + }, + "near": { + value: 0.1 + }, + "far": { + value: 1000.0 + }, + "logDepth": { + value: false + }, + "screenSpaceRadius": { + value: false + } + }, + depthWrite: false, + depthTest: false, + vertexShader: /* glsl */ ` + varying vec2 vUv; + void main() { + vUv = uv; + gl_Position = vec4(position, 1.0); + }`, + fragmentShader: /* glsl */ ` + uniform sampler2D sceneDiffuse; + uniform highp sampler2D sceneDepth; + uniform sampler2D tDiffuse; + uniform sampler2D blueNoise; + uniform mat4 projectionMatrixInv; + uniform mat4 viewMatrixInv; + uniform vec2 resolution; + uniform float r; + uniform float radius; + uniform float worldRadius; + uniform float index; + uniform float near; + uniform float far; + uniform float distanceFalloff; + uniform bool logDepth; + uniform bool screenSpaceRadius; + varying vec2 vUv; + + highp float linearize_depth(highp float d, highp float zNear,highp float zFar) + { + highp float z_n = 2.0 * d - 1.0; + return 2.0 * zNear * zFar / (zFar + zNear - z_n * (zFar - zNear)); + } + highp float linearize_depth_log(highp float d, highp float nearZ,highp float farZ) { + float depth = pow(2.0, d * log2(farZ + 1.0)) - 1.0; + float a = farZ / (farZ - nearZ); + float b = farZ * nearZ / (nearZ - farZ); + float linDepth = a + b / depth; + return linearize_depth(linDepth, nearZ, farZ); + } + highp float linearize_depth_ortho(highp float d, highp float nearZ, highp float farZ) { + return nearZ + (farZ - nearZ) * d; + } + vec3 getWorldPosLog(vec3 posS) { + vec2 uv = posS.xy; + float z = posS.z; + float nearZ =near; + float farZ = far; + float depth = pow(2.0, z * log2(farZ + 1.0)) - 1.0; + float a = farZ / (farZ - nearZ); + float b = farZ * nearZ / (nearZ - farZ); + float linDepth = a + b / depth; + vec4 clipVec = vec4(uv, linDepth, 1.0) * 2.0 - 1.0; + vec4 wpos = projectionMatrixInv * clipVec; + return wpos.xyz / wpos.w; + } + vec3 getWorldPos(float depth, vec2 coord) { + #ifdef LOGDEPTH + return getWorldPosLog(vec3(coord, depth)); + #endif + + float z = depth * 2.0 - 1.0; + vec4 clipSpacePosition = vec4(coord * 2.0 - 1.0, z, 1.0); + vec4 viewSpacePosition = projectionMatrixInv * clipSpacePosition; + // Perspective division + vec4 worldSpacePosition = viewSpacePosition; + worldSpacePosition.xyz /= worldSpacePosition.w; + return worldSpacePosition.xyz; + } + #include + #define NUM_SAMPLES 16 + uniform vec2 poissonDisk[NUM_SAMPLES]; + void main() { + const float pi = 3.14159; + vec2 texelSize = vec2(1.0 / resolution.x, 1.0 / resolution.y); + vec2 uv = vUv; + vec4 data = texture2D(tDiffuse, vUv); + float occlusion = data.a; + float baseOcc = data.a; + vec3 normal = data.rgb * 2.0 - 1.0; + float count = 1.0; + float d = texture2D(sceneDepth, vUv).x; + if (d == 1.0) { + gl_FragColor = data; + return; + } + vec3 worldPos = getWorldPos(d, vUv); + float size = radius; + float angle; + if (index == 0.0) { + angle = texture2D(blueNoise, gl_FragCoord.xy / 128.0).x * PI2; + } else if (index == 1.0) { + angle = texture2D(blueNoise, gl_FragCoord.xy / 128.0).y * PI2; + } else if (index == 2.0) { + angle = texture2D(blueNoise, gl_FragCoord.xy / 128.0).z * PI2; + } else { + angle = texture2D(blueNoise, gl_FragCoord.xy / 128.0).w * PI2; + } + + mat2 rotationMatrix = mat2(cos(angle), -sin(angle), sin(angle), cos(angle)); + float radiusToUse = screenSpaceRadius ? distance( + worldPos, + getWorldPos(d, vUv + + vec2(worldRadius, 0.0) / resolution) + ) : worldRadius; + float distanceFalloffToUse =screenSpaceRadius ? + radiusToUse * distanceFalloff + : distanceFalloff; + + + for(int i = 0; i < NUM_SAMPLES; i++) { + vec2 offset = (rotationMatrix * poissonDisk[i]) * texelSize * size; + vec4 dataSample = texture2D(tDiffuse, uv + offset); + float occSample = dataSample.a; + vec3 normalSample = dataSample.rgb * 2.0 - 1.0; + float dSample = texture2D(sceneDepth, uv + offset).x; + vec3 worldPosSample = getWorldPos(dSample, uv + offset); + float tangentPlaneDist = abs(dot(worldPos - worldPosSample, normal)); + float rangeCheck = dSample == 1.0 ? 0.0 :exp(-1.0 * tangentPlaneDist * (1.0 / distanceFalloffToUse)) * max(dot(normal, normalSample), 0.0) * (1.0 - abs(occSample - baseOcc)); + occlusion += occSample * rangeCheck; + count += rangeCheck; + } + if (count > 0.0) { + occlusion /= count; + } + #ifdef LOGDEPTH + occlusion = clamp(occlusion, 0.0, 1.0); + if (occlusion == 0.0) { + occlusion = 1.0; + } + #endif + gl_FragColor = vec4(0.5 + 0.5 * normal, occlusion); + } + ` +}; + + + +const $26aca173e0984d99$export$1efdf491687cd442 = { + uniforms: { + "sceneDepth": { + value: null + }, + "resolution": { + value: new Vector2$1() + }, + "near": { + value: 0.1 + }, + "far": { + value: 1000.0 + }, + "viewMatrixInv": { + value: new Matrix4() + }, + "projectionMatrixInv": { + value: new Matrix4() + }, + "logDepth": { + value: false + } + }, + depthWrite: false, + depthTest: false, + vertexShader: /* glsl */ ` + varying vec2 vUv; + void main() { + vUv = uv; + gl_Position = vec4(position, 1); + }`, + fragmentShader: /* glsl */ ` + uniform highp sampler2D sceneDepth; + uniform vec2 resolution; + uniform float near; + uniform float far; + uniform bool logDepth; + uniform mat4 viewMatrixInv; + uniform mat4 projectionMatrixInv; + varying vec2 vUv; + layout(location = 1) out vec4 gNormal; + vec3 getWorldPosLog(vec3 posS) { + vec2 uv = posS.xy; + float z = posS.z; + float nearZ =near; + float farZ = far; + float depth = pow(2.0, z * log2(farZ + 1.0)) - 1.0; + float a = farZ / (farZ - nearZ); + float b = farZ * nearZ / (nearZ - farZ); + float linDepth = a + b / depth; + vec4 clipVec = vec4(uv, linDepth, 1.0) * 2.0 - 1.0; + vec4 wpos = projectionMatrixInv * clipVec; + return wpos.xyz / wpos.w; + } + vec3 getWorldPos(float depth, vec2 coord) { + if (logDepth) { + return getWorldPosLog(vec3(coord, depth)); + } + float z = depth * 2.0 - 1.0; + vec4 clipSpacePosition = vec4(coord * 2.0 - 1.0, z, 1.0); + vec4 viewSpacePosition = projectionMatrixInv * clipSpacePosition; + // Perspective division + vec4 worldSpacePosition = viewSpacePosition; + worldSpacePosition.xyz /= worldSpacePosition.w; + return worldSpacePosition.xyz; + } + + vec3 computeNormal(vec3 worldPos, vec2 vUv) { + ivec2 p = ivec2(vUv * resolution); + float c0 = texelFetch(sceneDepth, p, 0).x; + float l2 = texelFetch(sceneDepth, p - ivec2(2, 0), 0).x; + float l1 = texelFetch(sceneDepth, p - ivec2(1, 0), 0).x; + float r1 = texelFetch(sceneDepth, p + ivec2(1, 0), 0).x; + float r2 = texelFetch(sceneDepth, p + ivec2(2, 0), 0).x; + float b2 = texelFetch(sceneDepth, p - ivec2(0, 2), 0).x; + float b1 = texelFetch(sceneDepth, p - ivec2(0, 1), 0).x; + float t1 = texelFetch(sceneDepth, p + ivec2(0, 1), 0).x; + float t2 = texelFetch(sceneDepth, p + ivec2(0, 2), 0).x; + + float dl = abs((2.0 * l1 - l2) - c0); + float dr = abs((2.0 * r1 - r2) - c0); + float db = abs((2.0 * b1 - b2) - c0); + float dt = abs((2.0 * t1 - t2) - c0); + + vec3 ce = getWorldPos(c0, vUv).xyz; + + vec3 dpdx = (dl < dr) ? ce - getWorldPos(l1, (vUv - vec2(1.0 / resolution.x, 0.0))).xyz + : -ce + getWorldPos(r1, (vUv + vec2(1.0 / resolution.x, 0.0))).xyz; + vec3 dpdy = (db < dt) ? ce - getWorldPos(b1, (vUv - vec2(0.0, 1.0 / resolution.y))).xyz + : -ce + getWorldPos(t1, (vUv + vec2(0.0, 1.0 / resolution.y))).xyz; + + return normalize(cross(dpdx, dpdy)); + } + void main() { + vec2 uv = vUv - vec2(0.5) / resolution; + vec2 pixelSize = vec2(1.0) / resolution; + vec2[] uvSamples = vec2[4]( + uv, + uv + vec2(pixelSize.x, 0.0), + uv + vec2(0.0, pixelSize.y), + uv + pixelSize + ); + float depth00 = texture2D(sceneDepth, uvSamples[0]).r; + float depth10 = texture2D(sceneDepth, uvSamples[1]).r; + float depth01 = texture2D(sceneDepth, uvSamples[2]).r; + float depth11 = texture2D(sceneDepth, uvSamples[3]).r; + float minDepth = min(min(depth00, depth10), min(depth01, depth11)); + float maxDepth = max(max(depth00, depth10), max(depth01, depth11)); + float targetDepth = minDepth; + // Checkerboard pattern to avoid artifacts + if (mod(gl_FragCoord.x + gl_FragCoord.y, 2.0) > 0.5) { + targetDepth = maxDepth; + } + int chosenIndex = 0; + float[] samples = float[4](depth00, depth10, depth01, depth11); + for(int i = 0; i < 4; ++i) { + if (samples[i] == targetDepth) { + chosenIndex = i; + break; + } + } + gl_FragColor = vec4(samples[chosenIndex], 0.0, 0.0, 1.0); + gNormal = vec4(computeNormal( + getWorldPos(samples[chosenIndex], uvSamples[chosenIndex]), uvSamples[chosenIndex] + ), 0.0); + /* float[] samples = float[4](depth00, depth10, depth01, depth11); + float c = 0.25 * (depth00 + depth10 + depth01 + depth11); + float[] distances = float[4](depth00, depth10, depth01, depth11); + float maxDistance = max(max(distances[0], distances[1]), max(distances[2], distances[3])); + + int remaining[3]; + int rejected[3]; + int i, j, k; + + for(i = 0, j = 0, k = 0; i < 4; ++i) { + if (distances[i] < maxDistance) { + remaining[j++] = i; + } else { + rejected[k++] = i; + } + } + for(;j < 3;++j) { + remaining[j] = rejected[--k]; + } + vec3 s = vec3( + samples[remaining[0]], + samples[remaining[1]], + samples[remaining[2]] + ); + c = (s.x + s.y + s.z) / 3.0; + + distances[0] = abs(c - s.x); + distances[1] = abs(c - s.y); + distances[2] = abs(c - s.z); + + float minDistance = min(min(distances[0], distances[1]), distances[2]); + + for(i = 0; i < 3; ++i) { + if (distances[i] == minDistance) { + break; + } + }*/ + /* gl_FragColor = vec4(samples[remaining[i]], 0.0, 0.0, 0.0); + gNormal = vec4(computeNormal( + getWorldPos(samples[remaining[i]], uvSamples[remaining[i]]), uvSamples[remaining[i]] + ), 0.0);*/ + }` +}; + + + + + + + + + +var $06269ad78f3c5fdf$export$2e2bcd8739ae039 = `5L7pP4UXrOIr/VZ1G3f6p89FIWU7lqc7J3DPxKjJUXODJoHQzf/aNVM+ABlvhXeBGN7iC0WkmTjEaAqOItBfBdaK5KSGV1ET5SOKl3x9JOX5w2sAl6+6KjDhVUHgbqq7DZ5EeYzbdSNxtrQLW/KkPJoOTG4u5CBUZkCKHniY9l7DUgjuz708zG1HIC8qfohi1vPjPH9Lq47ksjRrjwXD4MlVCjdAqYFGodQ8tRmHkOfq4wVRIAHvoavPHvN1lpk3X4Y1yzAPGe8S9KBs3crc4GwlU1dEOXiWol/mgQqxkNqB1xd04+0Bmpwj0GcCc4NUi+c731FUxjvaexCkCJ0qhrJJ++htWqetNC4NewClu8aFRSwrqiJEGe+qtTg4CYCHaF1wJI0sy/ZBQAI0qAMyBvVjWZlv2pdkCaro9eWDLK5I4mbb8E4d7hZr9dDJiTJm6Bmb5S+2F7yal/JPdeLUfwq7jmVLaQfhv4tWMJAt7V4sG9LuAv2oPJgSj1nnlBvPibfHM2TrlWHwGCLGxW/5Jm2TotaDL+pHDM5pn1r0UuTZ24N8S5k68bLHW9tfD+2k4zGev23ExJb4YTRKWrj82N5LjJ26lj1BkGZ0CsXLGGELoPaYQomjTqPxYqhfwOwDliNGVqux9ffuybqOKgsbB51B1GbZfG8vHDBE2JQGib1mnCmWOWAMJcHN0cKeDHYTflbDTVXajtr68mwfRje6WueQ/6yWqmZMLWNH7P27zGFhMFqaqfg11Q88g/9UA/FROe9yfq0yOO0pnNAxvepFy2BpEbcgG+mCyjCC01JWlOZlIPdf1TtlyOt7L94ToYGCukoFt4OqwOrofamjECpSgKLLmrRM+sNRAw12eaqk8KtdFk7pn2IcDQiPXCh16t1a+psi+w9towHTKPyQM0StKr61b2BnN1HU+aezFNBLfHTiXwhGTbdxLLmrsAGIVSiNAeCGE8GlB0iOv2v78kP0CTmAPUEqnHYRSDlP+L6m/rYjEK6Q85GRDJi2W20/7NLPpSOaMR++IFvpkcwRuc59j8hh9tYlc1xjdt2jmp9KJczB7U9P43inuxLOv11P5/HYH5d6gLB0CsbGC8APjh+EcCP0zFWqlaACZweLhVfv3yiyd8R3bdVg8sRKsxPvhDaPpiFp9+MN+0Ua0bsPr+lhxfZhMhlevkLbR4ZvcSRP6ApQLy3+eMh9ehCB3z5DVAaN3P6J8pi5Qa88ZQsOuCTWyH6q8yMfBw8y8nm6jaOxJhPH6Hf0I4jmALUBsWKH4gWBnyijHh7z3/1HhQzFLRDRrIQwUtu11yk7U0gDw/FatOIZOJaBx3UqbUxSZ6dboFPm5pAyyXC2wYdSWlpZx/D2C6hDO2sJM4HT9IKWWmDkZIO2si/6BKHruXIEDpfAtz3xDlIdKnnlqnkfCyy6vNOPyuoWsSWBeiN0mcfIrnOtp2j7bxjOkr25skfS/lwOC692cEp7TKSlymbsyzoWg/0AN66SvQYo6BqpNwPpTaUu25zMWlwVUdfu1EEdc0O06TI0JmHk4f6GZQbfOs//OdgtGPO6uLoadJycR8Z80rkd88QoNmimZd8vcpQKScCFkxH1RMTkPlN3K7CL/NSMOiXEvxrn9VyUPFee63uRflgaPMSsafvqMgzTt3T1RaHNLLFatQbD0Vha4YXZ/6Ake7onM65nC9cyLkteYkDfHoJtef7wCrWXTK0+vH38VUBcFJP0+uUXpkiK0gDXNA39HL/qdVcaOA16kd2gzq8aHpNSaKtgMLJC6fdLLS/I/4lUWV2+djY9Rc3QuJOUrlHFQERtXN4xJaAHZERCUQZ9ND2pEtZg8dsnilcnqmqYn3c1sRyK0ziKpHNytEyi2gmzxEFchvT1uBWxZUikkAlWuyqvvhteSG9kFhTLNM97s3X1iS2UbE6cvApgbmeJ/KqtP0NNT3bZiG9TURInCZtVsNZzYus6On0wcdMlVfqo8XLhT5ojaOk4DtCyeoQkBt1mf5luFNaLFjI/1cnPefyCQwcq5ia/4pN4NB+xE/3SEPsliJypS964SI6o5fDVa0IERR8DoeQ+1iyRLU1qGYexB61ph4pkG1rf3c2YD6By1pFCmww9B0r2VjFeaubkIdgWx4RKLQRPLENdGo8ezI5mkNtdCws19aP1uHhenD+HKa8GDeLulb2fiMRhU2xJzzz9e4yOMPvEnGEfbCiQ17nUDpcFDWthr68mhZ4WiHUkRpaVWJNExuULcGkuyVLsQj59pf6OHFR7tofhy9FMrWPCEvX1d5sCVJt8yBFiB6NoOuwMy4wlso9I2G4E5/5B2c6vIZUUY9fFujT3hpkdTuVhbhBwLCtnlIjBpN4cq+waZ0wXSrmebcl+dcrb7sPh9jKxFINkScDTBgjSUfLkC3huJJs/M4M8AOFxbbSIVpBUarYFmLpGsv+V6TJnWNTwI41tubwo7QSI1VOdRKT/Pp8U3oK2ciDbeuWnAGAANvQjGfcewdAdo6H83XzqlK/4yudtFHJSv9Y+qJskwnVToH1I0+tJ3vsLBXtlvMzLIxUj/8LcqZnrNHfVRgabFNXW0qpUvDgxnP3f54KooR3NI+2Q/VHAYFigMkQE5dLH6C6fGs/TKeE6E2jOhZQcP9/rrJjJKcLYdn5cw6XLCUe9F7quk5Yhac+nYL5HOXvp6Q/5qbiQHkuebanX77YSNx34YaWYpcEHuY1u/lEVTCQ7taPaw3oNcn/qJhMzGPZUs3XAq48wj/hCIO2d5aFdfXnS0yg57/jxzDJBwkdOgeVnyyh19Iz1UqiysT4J1eeKwUuWEYln23ydtP7g3R1BnvnxqFPAnOMgOIop2dkXPfUh/9ZKV3ZQbZNactPD4ql5Qg9CxSBnIwzlj/tseQKWRstwNbf17neGwDFFWdm/8f+nDWt/WlKV3MUiAm3ci6xXMDSL5ubPXBg/gKEE7TsZVGUcrIbdXILcMngvGs7unvlPJh6oadeBDqiAviIZ/iyiUMdQZAuf/YBAY0VP1hcgInuWoKbx31AOjyTN2OOHrlthB3ny9JKHOAc8BMvqopikPldcwIQoFxTccKKIeI815GcwaKDLsMbCsxegrzXl8E0bpic/xffU9y1DCgeKZoF2PIY77RIn6kSRdBiGd8NtNwT74dyeFBMkYraPkudN26x9NPuBt4iCOAnBFaNSKVgKiZQruw22kM1fgBKG7cPYAxdHJ8M4V/jzBn2jEJg+jk/jjV4oMmMNOpKB5oVpVh7tK529Z+5vKZ0NSY2A4YdcT0x4BdkoNEDrpsTmekSTjvx9ZBiTHrm9M/n/hGmgpjz4WEjttRfAEy5DYH5vCK/9GuVPa4hoApFaNlrFD/n2PpKOw24iKujKhVIz41p1E0HwsCd/c17OA0H0RjZi1V/rjJLexUzpmXTMIMuzaOBbU4dxvQMgyvxJvR6DyF3BaHkaqT4P3FRYlm+zh8EEGgmkNqD1WRUubDW62VqLoH8UEelIpL7C8CguWWGGCAIDPma9bnh+7IJSt0Cn6ACER2mYk8dLsrN70RUVLiE0ig+08yPY9IOtuqHf/KYsT84BwhMcVq7t8q1WVjpJGNyXdtIPIjhAzabtrX03Itn29QO3TCixE9WpkHIOdAoGvqCrw1D3x9g9Px8u0yZZuulZuGy0veSY34KDSlhsO1zx2ZMrpDBzCHPB4niwApk6NevIvmBxU3+4yaewDvgEQDJ6Of5iRxjAIpp9UO8EzNY4blj4qh8SCSZTqbe/lShE6tNU9Y5IoWHeJxPcHF9KwYQD7lFcIpcscHrcfkHJfL2lL1zczKywEF7BwkjXEirgBcvNWayatqdTVT5oLbzTmED3EOYBSXFyb2VIYk3t0dOZWJdG1nP+W7Qfyeb8MSIyUGKEA57ptPxrPHKYGZPHsuBqQuVSrn0i8KJX+rlzAqo8AawchsJ26FckxTf5+joTcw+2y8c8bushpRYEbgrdr64ltEYPV2AbVgKXV3XACoD1gbs01CExbJALkuItjfYN3+6I8kbiTYmdzBLaNC+xu9z/eXcRQV1Lo8cJoSsKyWJPuTncu5vcmfMUAWmuwhjymK1rhYR8pQMXNQg9X+5ha5fEnap+LhUL1d5SURZz9rGdOWLhrMcMKSaU3LhOQ/6a6qSCwgzQxCW2gFs53fpvfWxhH+xDHdKRV6w29nQ6rNqd9by+zm1OpzYyJwvFyOkrVXQUwt4HaapnweCa7Tj2Mp/tT4YcY3Q/tk1czgkzlV5mpDrdp1spOYB8ionAwxujjdhj5y9qEHu0uc36PAKAYsKLaEoiwPnob0pdluPWdv4sNSlG8GWViI+x/Z4DkW/kSs2iE3ADFjg4TCvgCbX3v0Hz0KZkerrpzEIukAusidDs2g/w0zgmLnZXvVr5kkpwQTLZ0L6uaTHl0LVikIuNIVPmL3fOQJqIdfzymUN0zucIrDintBn6ICl/inj5zteISv5hEMGMqtHc2ghcFJvmH3ZhIZi34vqqTFCb9pltTYz582Y3dwYaHb9khdfve1YryzEwEKbI8qm62qv+NyllC+WxLLAJjz0ZaEF2aTn35qeFmkbP6LDYcbwqWxA0WKsteB7vy8bRHE4r8LhubWDc0pbe90XckSDDAkRej0TQlmWsWwaz18Tx2phykVvwuIRzf4kt9srT8N7gsMjMs0NLAAldabFf2tiMoaaxHcZSX51WPc1BrwApMxih227qTZkcgtkdK1h314XvZKUKh/XysWYnk1ST4kiBI1B9OlfTjB3WHzTAReFLofsGtikwpIXzQBc/gOjz2Thlj36WN0sxyf4RmAFtrYt64fwm+ThjbhlmUTZzebLl4yAkAqzJSfjPBZS2H/IvkkTUdVh0qdB6EuiHEjEil5lk9BTPzxmoW4Jx543hiyy4ASdYA2DNoprsR9iwGFwFG3F2vIROy4L5CZrl230+k733JwboSNBKngsaFPtqo+q3mFFSjC1k0kIAFmKihaYSwaSF7konmYHZWmchuaq15TpneA2ADSRvA07I7US0lTOOfKrgxhzRl0uJihcEZhhYWxObjvNTJ/5sR4Aa5wOQhGClGLb746cJhQ2E6Jie1hbGgWxUH7YSKETptrTeR/xfcMNk2WM12S0XElC9klR8O7jLYekEOZdscP0ypSdoCVZAoK+2ju2PHE869Q9rxCs9DVQco4BriiPbCjN/8tBjsah4IuboR5QbmbyDpcdXVxGMxvWKIjocBuKbjb+B4HvkunbG0wX0IFCjQKoNMFIKcJSJXtkP3EO+J16uh4img0LQlBAOYwBLupu5r1NALMo0g3xkd9b4f7KoCBWHeyk24FmYUCy/PGLv0xErOTyORp8TJ5nnc2k1dOVBTJok7iHye9dwxwRVP3c7eAS8pMmJYHGpzIHz6ii2WJm8HMTPAZdA4q+ugj3PNCL/N45kyglqvQV4f/+ryDDG5RPy5HVoV9FVuJcq2dxF9Y0heVoipV6q1LyfAeuMzbsUV+rsSBmCSV+1CdKlxy0T0Y6Om0X6701URm2Ml6DIQgJ/3KO6kwcMYRrmKsY7TfxWhSXZll+1PfyRXe9HS0t1IKTQMZL7ZqQ8D/o+en57Y9XAQ9C+kZYykNr0xOMxEwu2+Cppm69mQyTm3H7QX6kHvXF201r+KVAf354qypJC5OHSeBU47bM1bTaVmdVEWQ+9CcvvHdu8Ue5UndHM+EeukmR82voQpetZ7WJjyXs+tPS60nk09gymuORoHNtbm0VuvyigiEvOsyHiRBW7V6FyTCppLPEHvesan91SlEh1/QEunq+qgREFXByDwNKcAH5s8/RFg8hP4wcPmFqX0xXGSKY087bqRLsBZe52jThx0XLkhKQUWPvI18WQQS3g2Ra1pzQ1oNFKdfJJjyaH5tJH6w0/upJobwB8KZ5cIs9LnVGxfBaHXBfvLkNpab7dpU6TdcbBIc+A4bqXE/Xt8/xsGQOdoXra4Us5nDAM6v2BNBQaGMmgMfQQV+ikTteSHvyl8wUxULiYRIEKaiDxpBJnyf9OoqQdZVJ8ahqOvuwqq5mnDUAUzUr/Lvs1wLu2F+r4eZMfJPL4gV5mKLkITmozRnTvA7VABaxZmFRtkhvU5iH9RQ1z26ku7aABokvptx7RKZBVL6dveLKOzg0NC7HAxcg5kE1wuyJiEQLOpO0ma3AtWD2Q2Wmn2oPZeDYAwVyEpxuwDy7ivmdUDSL95ol3h2JByTMovOCgxZ1q4E5nwwa7+4WtDAse6bDdr27XgAi5Px3IWbyZ/vRiECKwOMeJSuIl8A4Ds0emI3SgKVVWVO5uyiEUET+ucEq0casA+DQyhzRc8j+Plo0pxKynB/t0uXod1FVV4fX1sC4kDfwFaUDGQ4p9HYgaMqIWX3OF/S8+vcR0JS0bDapWKJwAIIQiRUzvh5YwtzkjccbbrT9Ky/qt5X7MAGA0lzh43mDF9EB6lCGuO/aFCMhdOqNryvd73KdJNy3mxtT8AqgmG4xq7eE1jKu6rV0g8UGyMatzyIMjiOCf4lIJFzAfwDbIfC72TJ/TK+cGsLR8blpjlEILjD8Mxr7IffhbFhgo12CzXRQ2O8JqBJ70+t12385tSmFC8Or+U8svOaoGoojT1/EmjRMT7x2iTUZ7Ny02VGeMZTtGy029tGN1/9k7x3mFu63lYnaWjfJT1m1zpWO3HSXpGkFqVd/m3kDMv4X9rmLOpwEeu8r6TI6C2zUG+MT6v90OU3y5hKqLhpyFLGtkZhDmUg/W1JGSmA8N1TapR4Kny+P6+DuMadZ9+xBbv06nfOjMwkoTsjG0zFmNbvlxEjw+Pl5QYK+V8Qyb+nknZ0Nb/Ofi9+V0eoNtTrtD1/0wzUGGG5u2D/J1ouO/PjXFJVx6LurVnPOyFVbZx7s3ZSjSq+7YN3wzTbFbUvP8GBh7cKieJt56SIowQ2I577+UEXrxUKMFO+XaLLCALuiJWB2vUdpsT+kQ+adoeTfwOulXhd/KZ7ygjj6PhvGT1xzfT7hTwd6dzSB4xV70CesHC0dsg2VyujlMGBKjg5snbrHHX/LNj3SsoLGSX+bZNTDDCNTXh+dCVPlj4K8+hJ/kVddrbtZw26Hx5qYiv3oNNg5blHRSPtmojhZmBQAz8sLC9nAuWNSz1dIofFtlryEKklbdkhBCcx5dhj7pinXDNlCeatCeTCEjYCpZ3HRf5QzUcRR1Tdb3gwtYtpPdgMxmWfJGoZSu1EsCJbIhS16Ed97+8br4Ar1mB1GcnZVx/HPtJl4CgbHXrrDPwlE4od8deRQYLt9IlsvCqgesMmLAVxB+igH7WGTcY/e3lLHJ4rkBgh2p1QpUBRb/cSQsJCbosFDkalbJigimldVK7TIHKSq2w8mezku9hgw8fXJxGdXoL1ggma52kXzjP78l0d0zMwtTVlt0FqnRyGLPGEjmICzgSp7XPFlUr7AeMclQ4opqwBFInziM5F8oJJ8qeuckGOnAcZZOLl1+ZhGF17pfIuujipwFJL7ChIIB2vlo0IQZGTJPNa2YjNcGUw+a/gWYLkCp+bOGIYhWr08UIE709ZEHlUoEbumzgpJv1D0+hWYNEpj+laoZIK5weO2DFwLL6UBYNrXTm9YvvxeN9U9oKsB3zKBwzFFwDgid5ESMhy68xBnVa55sCZd+l5AnzT8etYjIwF/BGwEx1jjzFv32bk6EeJulESARh8RZ48o7rKw67UZpudPa15SDnL8AL8xMV2SC0D1P53p190zhCFkMmEiir2olwxcJppl/kLm6/0QSUQLNaxi1AC3Pg1CTosX2YQr73PjEIxIlg4mJ62vP7ZyoHE55B0SX9YrrrCPtNsrJEwtn6KOSt7nLT3n3DLJTPbLulcqQ1kETP6Huts29oP+JLEqRGWgnrqMD+mhCl1XCZifjgQ39AeudE8pyu2DqnYU3PyPbJhStq1HbP+VxgseWL+hQ+4w1okADlA9WqoaRuoS7IY77Cm40cJiE6FLomUMltT+xO3Upcv5dzSh9F57hodSBnMHukcH1kd9tqlpprBQ/Ij9E+wMQXrZG5PlzwYJ6jmRdnQtRj64wC/7vsDaaMFteBOUDR4ebRrNZJHhwlNEK9Bz3k7jqOV5KJpL74p2sQnd7vLE374Jz+G7H3RUbX17SobYOe9wKkL/Ja/zeiKExOBmPo0X29bURQMxJkN4ddbrHnOkn6+M1zTZHo0efsB23WSSsByfmye2ZuTEZ12J3Y8ffT6Fcv8XVfA/k+p+xJGreKHJRVUIBqfEIlRt987/QXkssXuvLkECSpVEBs+gE1meB6Xn1RWISG6sV3+KOVjiE9wGdRHS8rmTERRnk0mDNU/+kOQYN/6jdeq0IHeh9c6xlSNICo9OcX1MmAiEuvGay43xCZgxHeZqD7etZMigoJI5V2q7xDcXcPort7AEjLwWlEf4ouzy2iPa3lxpcJWdIcHjhLZf1zg/Kv3/yN1voOmCLrI1Fe0MuFbB0TFSUt+t4Wqe2Mj1o2KS0TFQPGRlFm26IvVP9OXKIQkjfueRtMPoqLfVgDhplKvWWJA673+52FgEEgm+HwEgzOjaTuBz639XtCTwaQL/DrCeRdXun0VU3HDmNmTkc6YrNR6tTVWnbqHwykSBswchFLnvouR0KRhDhZiTYYYNWdvXzY+61Jz5IBcTJavGXr9BcHdk/3tqaLbwCbfpwjxCFSUs1xfFcRzRfMAl+QYuCpsYGz9H01poc1LyzhXwmODmUSg/xFq/RosgYikz4Om/ni9QCcr28ZPISaKrY7O+CspM/s+sHtnA9o9WgFWhcBX2LDN2/AL5uB6UxL/RaBp7EI+JHGz6MeLfvSNJnBgI9THFdUwmg1AXb9pvd7ccLqRdmcHLRT1I2VuEAghBduBm7pHNrZIjb2UVrijpZPlGL68hr+SDlC31mdis0BjP4aZFEOcw+uB17y5u7WOnho60Vcy7gRr7BZ9z5zY1uIwo+tW1YKpuQpdR0Vi7AxKmaIa4jXTjUh7MRlNM0W/Ut/CSD7atFd4soMsX7QbcrUZZaWuN0KOVCL9E09UcJlX+esWK56mre/s6UO9ks0owQ+foaVopkuKG+HZYbE1L1e0VwY2J53aCpwC77HqtpyNtoIlBVzOPtFvzBpDV9TjiP3CcTTGqLKh+m7urHvtHSB/+cGuRk4SsTma9sPCVJ19UPvaAv5WB8u57lNeUewwKpXmmKm5XZV91+FqCCT6nVrrrOgXfYmGFlVjqsSn3/yufkGIdtmdD0yVBcYFR3hDx43e3E4iuiEtP3Me9gcsBqveQdKojKR//qD2nEDY0IktMgFvH+SqVWi9mAorym92NEGbY8MeDjp553MiTXCRSASPt+Ga5q7pB9vwFQCTpaoevx0yEfrq9rMs3eU6wclBMJ9Ve8m6QuLYZ58J41YG3jW/khW92h6M/vbFIUPuopZ6VVtpciesU74Ef7ic8iSymDohGeUn4ubT0vRsXmbsjaJaYhL8f+8I5EiD5l680MJbxX/4GYrOg4iPQqpKp0qddSu/HKtznHeVyxgTwhfEORMCwnaqetVSzvidaWN9P+fXtGXfEP9cTdwx2gKVfDdICq7hecgRhIs0qlCt6+5pGlCc6kWoplHa/KjP+FJdXBU/IDoKMxRjFhSYkggIkhvRKiN/b2ud8URPF+lB87AGAwyMjr/Wju2Uj5IrppXZWjI3d14BdKE2fhALyQPmHqqA+AXd2LwvRHcBq4mhOQ4oNRWH7wpzc6Pggfcbv9kqhLxrJKEaJqA6Rxi+TDNOJstd5DoRVCDjmVspCVyHJsFEWPg9+NA8l1e4X2PDvOd5MPZAGw6LRhWqeZoSQcPf9/dGJYAyzCmttlRnx0BfrKQ/G9i5DVJft9fuJwMi3OD/0Dv1bRoxcXAyZ0wMJ6rwk9RjRTF4ZK8JviCCNuVt/BqQYiphOzWCpnbwOZt6qXuiAabQWrS4mNXQ7cEErXR/yJcbdFp5nWE1bPBjD0fmG3ovMxmOq5blpcOs0DtNQpci1t+9DKERWAO53IVV/S4yhMklvIp0j0FIQgwjdUptqmoMYGVWSI5YkTKLHZdXRDv9zs+HdFZt1QVcdlGOgATro3fg6ticCrDQKUJC7bYX50wdvetilEwVenHhlr85HMLRLTD6nDXWId4ORLwwe5IXiOhpuZTVTv+xdkTxJofqeCRM/jcZqQlU0gFVTlYlfwMi6HKR2YG4fQ8TOtgR+yV+BMZb6L5OwDc/28/xdfD7GXFaVA2ZSObiIxBwT2Zev637EuvpM6rxcogdM4FJFa0ZhF7nrqtNsqWg5M7hZMORpjd4szf/wS+Ahs1shY54Ct5J1dOBO4sdEtSnRc0P9PhgyOCt6aQW98R22DpAcNTDe72AHK40vutKTPfpokghRPuGvz0dulBPKfC3O4KVDCyWrJGO7Ikdu06A0keKlVfi0tGcpO0NhzXEh75NHyMysAMV19fq7//sPC0For1k2uFEvq8lwrMAfmP7afR69U2RqaILHe7glpc8HmVf87Qb2ohsw+Di9U+ePdHLecS66MhB/0OwdcXR5WBcWTZLGq/kiAaT+bzkjR8GIpWdv6pfIgQ+Q0xdiKvo+gNB7/Nf9knNJGxnh7LeZEFtMn517tNc74PPS0M4K3I6HHZqNPA+VZcBc/g5a2ARyqKrJ4Z3krsuA+VOJJz2KJpBMgCCWFln3u7k6/q3DETAubKG/pt3ObaNT0NI0Qug90L2ip5dHnZJUjPTvK5E96aX/4mRU2u8n8kh6MKbY7ANBro3huF06U+JvfyELQP25oIaj+n0ITQ4KT9rXZD4EtBIOj95fYNldDN3io/VMIvWNj9P/b95WEMq8UAVfG2XG0N6fSYdnBEC7sUEbatbDICH9qA8TTuW9kEt9DlFOZFP7bdfYLa/khSY8W5K/AkIIAPXtMvyVKyESjKx9nfragssxC0jFMVY94d8lOAwRocdS/l/P43cBGa3IqDa0ihGPcmwS8O8Vj16Uy55rOrnN0shhRJZdW8I7F0Q0KeHc35GFo4aJOFc25gNafBu1V/VO0qS4Qkb6wjRrnlepUWjtYyaDABZceValuOMtoDdeIITWKOJiwGPpB12lQgwkmXh9M86podb0D117mNQ8ElluFvbaS8RTKQ6lyj88dUwoJU/ofOeubhoXWBF8eNumkVJu+As3ED/AvLlrV91UowIWI2m8HBG+a3k247ZKAGYsOcWe7fTWqL8eqwM5ZFuoXbeugPKuMOAtOsN+4dSwkhrSAlfGNTzFwEmCNWtzpa9CgPbYNcmoHtO8pj8qMvlGET6nrkJoQ2lp5MEUV1E2A4ZH70JUlCLXvqTIpZlzyxdr5p/GZiD1/BuFOGbyfFzhuxaC/l3lC2jjt6GNRBa06AqqPlYtdA7kiidYa5Qi0/XpXiMDyMXNOj3kmJEaXufW0GO8+DF8OoMULX1vvjCePKNis4AmxQKLCF+cjf/wyilCJvuiyLVPSdsuRTPZ0AhpdDF/1uFmDwG7iP3qYwNsKzqd3sYdnMolCOuQOIHWy1eQpWhuV+jmSeAC5zCc0/KsOIXkZPdiw8vtB33jEBpezpGDBP4JLY2wH1J7Fzp8y8RICqVd25mDT2tDb/L1mh4fv9TOfDH5dTeATqu+diOZi+/sIt18hiTovPsVQVaqXLPRx/4R/uH/86tBMcF+WBkThKLfblcVCIECc8DgNRVX97KdrsCeIK+CvJZMfwrftcDZDZyp7G8HeKl7bPYnTKX88dXAwAyz66O2chkPDHy/2K2XcT/61XnlAKgPwtI8yP9Vu45yh55KHhJu93mL4nfo8szp/IyDjmFHtSMqqoWsj8WaVhbjXgzZxcqZcyOe7pUK6aXF/Y32LnBOt0WN28UmHRiOpL525C63I2JQPX8vvOU0fz2ij74OeJ1Apgu3JRObfdo9xGDpp7cv3TdULEfNS6Gu3EJu7drBsBsogUqUc6wAUW3ux0/1hLVI/JEKJrAGm8g72C2aJSsGAsKFW4CBvBXVlNIKa5r7HvT1BeGYBfxTR1vhNlFFNN8WQYwr39yT/13XzRGiF2IsfE8HcN0+lN1zN/OnzekVBKkFY11GgrK5CLxrE/2HCEMwQb9yOuP2rTXiZzTEETp/ismFGcTWmbM9G1Sn2D/x3G74uWYZY4rgKB2Zo2bTKS6QnM5x1Yee66Y1L7K44AyiY5K2MH5wrTwxMFh+S8LzNQ25z6sunWZyiRwFIIvSnioltUXNiOr+XMZ6O9h9HcHxZJkfF0tUm6QkU7iJ2ozXARitiL86aqVsMOpmvdIBROhUoanPtCjgft8up3hAaKpw9Qs9MzYtBA2ijHXotzarkV3zKEK0dFFQUwT74NgCmGGuSCEDmFCezXPC9BhyGhmzNa6rQeQQz+r9CmGUZjIQEPsHwe86oCOQhWaHERsv5ia9rZvJ//7UXO7B329YUkLLAiqpLRsVV5XpcfdawlJqi/BVcCqO6dr9YJTFFRMVGhfUbB9YWNvYPY6RyaydAFYq1YIBQxuNAGfYWLMAHtt2XRHoOKCLz+qf5HCVBDOPOktQ3SdJBfxUkaiD585bmTzMwU3oeXUHZ55EC99Kz9kk4ZXMIENwVVpqW2JmGIcUiutIMj2KkpjE2QD+dIZUCxcX57kH7hiuUPnKCTdaw4KN95XPeFRvMcvo5L8LexWqvaJPECzwXCs/4XPAlSMpWUzBBjK3pEnkbueMkMJQrYcnXf7PjbAoJra1VLX4YuscQLpaeYWbT+h24hCFrfcHjxxx6WTSe4AGY/KHRZCQKqTuFWt0D8RmGWmvXSdg1ptIefYPshuIVZT7CV4Ny67fvjJugy0TNYHqoCO45CB88kxrvIsih19DqjD0UqiJsTFPcGW3P/ULOG3nb8CjpgVTIoa5nO9ZYEX4uEHu8hLXrJPjV1lTQ5xTdZVagg+Wj8V0EE4yPsTc345KM6lVXqLiHtm+G6edC4GVEiPgd98g+twSYm18gCsPnjqlLcFm9e72CLJbYD+ocIZOxuVjrX6IKh9fh7WqdIZ66x9PWkDGOVVGkx7jM76Ywe16DX9ng205kg5eq+R2q2MguTJxYv/wWHliD9mOYpzZKNXYC3Wr4iBGkm54hBwkPzFhiX/VBHdVH/KJ1ZIMOHxIN6arKdxrm6EBsgwDt0mPe0MX1HRUMq8ctcmysU6xX0bzM1J07kAvq33jw1q0Pq2cyMWme8F7aVkfhzZEFdyi8fVBQav0YZqvAjZ83WKH726rBx5Bn7GHFthR6H4lFsltu+jWmsAibJ3kpWMG/QbncU7n9skIBL0MuXXtj9sJg+4Dl0XhKJ1LcrMydaIgyrgZgScP4k8YQvcsBmD26X1iYXKLzMYfZn2IfRjznsrJ1e5cnl/3a5xiNoI6n1x1U36FWckJbyx+hiSZg0QqAqeeSvzFYMlZ2REnO/a6yoQhu7PdHMYEPFIvfyGeyCU8e7rpju4DrlOhszj9rOIpNsvCkuD+TLyf5J7D/wsPkBpscFVI1q7oUSU9bN30vH5AqnO7bsf+9rGhtVjOJQ32H9hHSAzR2ape4L0Cz4WxaySm4jvuGXwkFp5NMMLrgZ8LdA+5uLuyxO5SMOmJNDBcbbLefv7z6LyxBwltnfQLd7qqpG1MmNcoLUcx73BkNF/xpdS0cKd6G646ntChXSeTZJJTFYGw39T7fqXDPKoG2cF7/ZcTvME42gXLVjTqzAER1Rt5m7GYsh0X0+XgOeW9MJqE5j/rpGzY6vUu6ACcCTzDMdZHiWELpDnvgE1hmztLcSYz0MtNyUBLqvylUJJnJu79Sku9NMHCTkgqozTnhMFfduV2NLCSYvAI5HUvQp1h/M02vKFD6eosIkGTg6mujUo1W8hy5Knf/erkBQC9LzNqPAYCgR+hczgevta88NNqSlBZryq9QNeUK7RpbvHjoNhUKAAeNYH55LeTW36KyFaXdAkBvyNP9xmRuBokPi2OhqDby6IZ61mwfzG+GmACkS+G80A4WGON5izgJWeeDK91jzusfOi0RmEsVJXwbVUr8u/J2LCQaMnHhi+wJTEPN9tS2b6W4GRGCNmtjAMgPsP357nOeD3H2tcDAPu5xQBKMHf/j4ZhXlkvvy3YmBJsjsd4pSOlfPZCnw5JvzxEXM5JIc+E2mU4CgB0mdJnH4NEsCHYNeVRDXFNuyZUE4nuvaJf1h+11AWLdAZ72D9XNRcxfb2+XHZN/SN48U7yl+sNZhg5gn/PD8wkBtnRj1zBUPIWnoMP6yGUEEzuT+VaX3x2jEIZAZsr3rs9wCfY1Ss0EdIFFzBbyruUup4EPanbSYew5tf16/ZWVup5iykttuqL4xoC/jdZWsAZeSfDSd3fP9kbyAFYXkf0Q2lmxaTkKRZrCo9XCoiUG4yP1URJ5G7+HSOhhJp0Anz0N07QZtyFUye6rcgiOFbtyoO1lkuV0iQ602MTyFK9xLqNHtNy4cJaTO6hjtiwNynVc34ZA6H7k8ai6S6eF6jIG0xJx+JfP97lzuCZr8vU5SIzImaNpiQhyvDbz23//PJcOk7hD4iIvJzfIgOGIR6ZPEJpWHZQoacbF+omeHw8aWHaNOfaIyGeG4lEryMfhtNmWh4RAIpn8dLs7ZE2eTVDwK++xDoSUgh47WDmKlZ/k6OosEUoQjk7Q+Kp7OxwgMFShAv6z4pTW8loVj2+qXLQ0T3hmIue8qHy1o/HXjm089m71t6mrrUyDftqMYtmfvQXKDlZ+K1HR/FkqPSqcjGlcPPIwbMw3wIFKBdVMJ4pFLt+oOIkWZMw8pkoYZ3byw4LmAF+7BdicGXFcb5PWtDw5XNNVc6eB9dv0rAEpgr5J+bLr010bpfGw+IkRoxDbkDFmQdEQUSElP5bViLo1ur/23KN0jEwl+rGC6AUMKxHcv+T9F1Ktpn8jSSrKxJnVkK8UD/tH5DN6nXB8mjUdFU539e9ywLtLYCwmHYVEVqnFmdubduaSd1ivIo4pTsX+mJcOAkrR1D60RIoocCBIdwJhCBM1rOE2XSlPo0U+khALvw+zfxYzwzd4roWlLJkZheFRR8QB8v4USwmAcDswUZ2P/7v7Xa51Fs7orYebYyww4YW5869Y/c6Kq2eTR9HLSjYuChTkXaDygoo8nz/yJ0KzfX8oowaNAwz8HvQdlLU9V9hjqYMURyYvPzZ60G0itmUdZwB+sY6rUkMAZZtWStbDFmnk/dQorhwr3121XQWffrK3as0g29ASwxbsZ3dZAq/96b7/XWckbjmo8+jwdE680DzoEUUivnBgowMuBQxHXoGyp+w/cSGY88rWtmwoyNNIvChs/QsZRnbdV7y8x7t2RkliJV/j8e6qfctrTsMV22zoqgQuTSNFh7U7p/Q49L0kygXNnEYXCBDgi5BeNWxu7VjULcUHI+lGj+OTCEATzWrDmaynq3wT9IAejtvh3esCu6sEu9JOsXxMDpqxm4Tzl+pt2Wa5Bq3TM5TKH4N7KLir8FGIPA569+uJ1VEL3fW8Jyigz/nEUjAVYrdCWq2MnS4hQVgcvXq9aF7Xke/k++rAtIQqckPNwjKrV2t7HCOrA1ps88Y5Rw1Zp+9itnB71j8tNiQc7mV1kUCQXkoi5fOsq1uC6hUPUL7Z69NAM6lg0c/aeiifHoi35v+pVBh7CDM1XfvYpiK5JIbIQFHafmnhHfRTnMagKcjdE7zzgtxkTPKVrObTySTT51g9bB5ro/dzn/sB24fNM2LGJuRQsmC49PLi1jTRfZaLpo8Txxxczij5Pl2vur+S1wQW3W5qyVcIUySZHtFDQHv+EYDoZG1T1J7D91vEIV8dHzUBzW1UyuxRbP+M/CM/vsas6RzmS5traXnQ0Jzv9hYXxKHcs15TQCP744XsLjzFjILYURXFnhM+nnV0iO6nwls9TR4tlz1J9/NvE8FGg5mgpZA4htS05AK0NnU2gxuqf2vjCyWlm3ypKvaX4vxh8Um1MHGB2NTeAFhbDyGm+5w2zqJAWxVlj6dVePb5yR+aMhuz05YubCQJ0BOtoYQ6PoDoW5fCwCtXj5SHvCgL/3B5z2mcXWaRTf8/GsFAfX/ntdWZWFc2xg8MJeenwZ4dZUToce43If4zVb1ex3BMAWGhgkPwR5EgktZhW3Yi+nsnZTUr9FYI160YhAraB0zMV+ouHz6hYm25/ETDM0MTmcypoGgZISSkfwYAQaHGY45yZ91K4A4Mm4fnbMk8GTc4orypT3NLBqAxYdcY/qCH82PpIkmVOEHi1NoYaUymuImLLcib5pmd2MHTB3JR+4rLdRc3gtQ9zeFdciciRiWviu3HkqaLSxJeI2rgc7OKQslItumACQow89elXmi4P3gTZeCauvMH5nF4VrBcLjjwGD+KlKqe/RWIEgT2wGqAgSuL6b+RTTPnQZzxZ5y5HQJkEEKJp5NfoB8hJBM8qn6xbOFtyzBjVBrwSS1zCJR3lEc9ODQ5Wu/xct9/2Q6qLHnmNx6XwZus/i8rEd6UsVxGtoDrm+Br0L5oUojlwdcqyVV4PIMsR60JhZwJtgX7izQWj+GOeF9DA8Wexdmv6DWjgR8LEBp9YuPAM8tJDu3uCumNqHnF2ATYX/tuVO55OgQuiUhmDmJbF9jJyifBRtxOVI9DCNLUY71IXZYTuiYcnILQ/XHuVJ8aHDStL0N+3eYNvXwHi2vEiTPnBqzsC4TsPnFVnYY042j5i7C11AVdBZ1pGSa52jM9dIL119rry0mgGxFzI8xPs+7bmMfYKh37A4HtA081olG1m9S4Zch2hoNCGVvVhd6UL7C2d5hKIBHoB+Uxarq/4aQXhh7IWjSj+ca7Vhqb4+ZwY3nHXh2S9JH4XZxQojbe/eINxYlozTYtT2rpU/xbj+W2hXjFQ+z+dQ8wh9751MP0UpjutQdxz3/FJYAEG5BF400JXWCBs7KrCRf/l+F+d9EuwVk6thOPDB+HNS9iWlLmDgXvY6K0vgiyoeA3An+jWufdAG1suUMBuJT+/w0FNJZbObUT8c5q5WtQxASQF6E+/u8UwVBs1eo8jTamCrcdhZJlADJbqn3crcDHQlBQNGq7btcGKiJXW6q0cn3F0xzf+k1JJS2testB3rx15ZPTDXm8QV5XE2qxBOdM2n6t5YbxyNOmEdsHx+hMp+y9pWkcgw1NikeXuafJvzcjaNwE1Ad6gG79S68aO7jWpKgBETYLmV4ONHhBk7Be8tjf2WVvWMDQvQdOnk448yeMv1tQKU1xev0L171e/qxkMZbmkfKnd29XRCK2hgNNJhwt1qiYWZGKz7Di6K3fGDT7DO2YQ7WU33svE/WKGbWQEvzUV2w+VNYDocI4yxQ6i3i4zU2TjmjCwu5Pk+Ja9HSwLpEoUswq3tFJ1jimthgMXd7KjSl6Qd0K+vxWT8G4/+xITHsWDGSfQTSdFQth5uVVfa8wrkDZHTGVgpJys2ik+3I0dSf6TNo6A/sVptyY/kx1hdAWKPI6t/xj6s+fPMU3hg1vkEB0RRHq/tCy3KUUhzU/d0JKxTyjvUms5iy1GbOFco0NA4t83SK9sBmtLWm4kOLLflyxqgQYP08iyXwYXzKnlQ6VTipuaspSJ9g5H5Lu3eLMnPKbhcwuEg0VZ80ppJWjUnhS3rL35erzysp+fJhxsUs86m28/UwW+IgrS5Y0zWaxlFJ8xML5wk8sg1ragF+eNajyI0Y4mwStxt1RZH2BjaAhvu+SnNNIK88thEgZEsoHv+ii+OMmXJL7dnAiINVDz3tCnqDgpQX9OguNGgZj3axcjq1UgxDw785yNIpqNiLgv57399jVmJ0/RStNswaFIs6FtnkilFZldxj6m562jL4p5g3Y9XCiXRJX6nq2PGJFifFR7EyPG4jDMnBM4t+O8ZpEp3th7TCxEw+ZG4afHl4sNFaqxyLh6+979tt0Aq9BrqI+CS2U7HJoKiGmyVU1lFa3/0O5mNC1bzRgNMy+GXyifLwJP7FwUSUmxmVRpn+gnXWoIuswPutsiciurvN6lsMG7yqEc2Y5ZI3jrPgPq0xEKPZpF7teJa0TQn8BQL4Th+hjv2ByfwKookyXEmj0d1KMcsmfKaeKK3cZZubiYqmSCrnGpYTwgPk5itKucVtjViuswQsDR6TuyGSIHYvlz7wkLg1Rr0K9kV1o8RgABlhbLrN74cVWJW6TnfXN0q12JFMpUbEa8t1+j440FA+17o8qa8PQ9igkctVROVIfB3jU5vtGm5pYYHYSDvU2TEc15pIz19ka1q6c/7WXfF8+POkApdOw7nn7Kqz6V4tru7NXgnA/u0g6+fPRT3hp/QrDQwMsjwNCZxdWrR6pgCBDJNc7/KAlwC0UZ4yWQs0KsuwbbOgcTxQPK54wiXr7s+221hzZ8RVxfoRUKM3e4lpxHC83JllxlrV760tl06f7/65qhE1jhMfivAUXIXfRMe3uY/G2TpWYzDrw5Cm5cS062Bx9lhHq9gtJp8xZwAtSdSuW/Kd7+orEAiswA76N8ezmVGYgNaYlQ/xk930LAWAtKVBC4U6R08L45IohB1kFia7XJs0TcaT2zBZoLFuOGu4iJaoAnfjL3uS6gnRH7G7A+aT6ETlmkYUfgrBuaSLLDJfhPJe01PfN0oqBTeQURasl3N8BZiQSgdr0aDv3hPTiog4NSyfAUyy98WP7dnTDWQTY+Qwzgk1uxwRqHl5MpC/84Cuw1TXfRlgJrwPop10kCHjmffnFdxCe2J3R3J5j+3H/sZn3IUu3Suy+I+dAOMWvzwExNR3RRPVelZAhtarKlXPWNjPRIVP4JsAFSRXs3o/fSYAPaV/zP8q6DltH47/rYhCLdy/LrpOsbaLf09eACcClJosNefetNElkSFSuCgeY7oTAAl+8Y2zOXJb/bgEDpoDXfQqc6lnlBr/WsmVznkBS1M7ufiqpxvKXjwvR4WxLbh5NbMNy8LsnX4UiuAi8XonbSUcVZKQOWBYUecSOMj6jMG8gHu7WNreBHY90lV7FocDprSrSbexkAtMW9KlXcnrOyLnZdodGYdxz8aw71HztIqLhRdCOB6NyzHPoS2hDy6wLk0I5Jr2t+U0A+A7EsgSn/Ih03A5CspHnVF4MOic+Lck3m61Um+GHDEe4DrHBhmgtDlRQl1XJ/V/VumCHtUDDcZCkgjVMBOmVOGYW0Rcdi1ahdjhBcFlfjA+5cRjBop1aNDvdrf7CxkLVgxiCxhRctW8wczM8+kVmIrGtkaHGlr8y2D098HXE23r7fnJFUU68zyeyM265igNOGPzFG0dIgUDWN6S3ZcfMERJdWVvpGhVEHXNLeWqHiTcF3wOt0FbJY4XHEpmkoG9MQPJJ4ueQ01+MB+SR0rCSGzlE8zod19q75LlLWgzogpnJoD4gPxUYcX+Gpc5Ly4nk+Zm8LDXcNR7SNVxLh6NAcx8ekjb/AC7ADlRnfuHaHJaBodZr7RBX9FLTvocY6kY8bavdAkQicE9bbwGLkZu6whTCJ56lOvM39ijehpTOFqR3V53nQx4hfOvwRPU2y2w7UU8yiRbcyaX6jGJ9CRvl9ybV1tebTp5MMuMnwLcx/lven0w9T0atJuiUE2WtYGiVMaP3EchABl5AsyaCpu/BKAWDFvU2vaCL2/fJBKCKLjxG6xzT4Mh4wHhH3/EqsGSoQAHu2wbHmXHj2LvoW19GXDa2oyeKRwGG1PU+S7mE/S+UmjHiDF1oqJ0R5QsdjAZYN1MzpNX5YDqWYfhfdjAXyFQaVyGKkp1oEGTR8MK6jaGfRDFd41u2Ex8ac8jKPYu3pXsk8gu+m9tr1RVzTTuDsACW4S1h32yFHX7qpXSmA0QVEcR8W9j2Juu0pcYqTmdis88VgT3gq7iYue5Hx/3K6hFQa9rZrNSDcjaSQlNn4LSqs20bypnKqpzvnnxjMdz5StbzvoAJKgVZa4DLCVoJW765/KyTF4s4YztmAT1c0pTmKJHTpa106FegDo8p2zD6uOnwpYi0vJlRMDe9wPT6964UfAf6lq3qWypUOx9q6BbKEYt7K3gWMXDNN6wAm1fNnSOnZ4JkbPq7jLQrl0wL1V7QwO/sXneKGfTgUL28I5iPVG9dA2gS7Ki005JUR7Vmw4gX4TJvy1WS74cIXD08LCF5obqcZwamuoZ+FPMJEck0TLHjyH1baPr55/Cy0ptDfRJ7d89pbP48tLMHG5dO11Z8xSSpPGQSgXDWmpsNsmm+MvxJjMCi7OFDHxxpmTtjgnOCq+c7Fi1DybfhAntviKccz+sj+OPKPYOKeYYPLvq6MpUx/chSvBccg9dfbeqetQNCs3eiCFZTU1mrDido/mib64STMgsa+IKLk9PyxGGbVSQB9GsHto6f5prAFIbRDSItDedz3t5+Nn69FFS0nEfmkF7hKBmNVce5xv65USKGBoHYxJyutSGnRIq7vMDsAMvirOEJOzNi5Kt7fypuSU2c2Npo6UH5jMOkePH0TwgpammO3Fb2FX6f11309z/mqRmQ949HHRj/wMzKNx95M9pwKf+UQkMEwisL3YVotvHhCv4y00Ui0Ql8dR7tGqFcSdYtmoAOuAodkBNs4PZSjAAF7S/szwLddFMdCyB/dWPgFUiUE+WmUUCjYrKfJLQfNNpQ4NKaF57w7Kp/isZVwQPUJyjJavN3fQNKU+F74jVBJYQEcEdw0Niinyea0l9PJ1/AcTm/LI91RZjDvLI81pnat7RKU2P4/TnIAa3hIEfeg4iGQ+wTDlURK6YjNpN5s5VkQW9w7sDYKU4XmjyZsCQLxztqd4SDQvLyuPDhURAJXKfR1c7tq3mRu4usFHPqz7HgS0X7kNxiWWR3fb3uVwbgKpmgLYkwKrXKt09COw4MjhxeZlDXKy7nNLHXAIKPtferWQnZLboonQXK81x+BB3oUidBehK1swSXxVbscj/LsfONu/xYEXYPM3aMqIYd+2hAnFvDHbdrJLhGEd3sG5PyxqhzejhQJo9wauFK3xmPYqxB99J8zYU9/yzrEZNzzbvPoR9vUlE3Ha4zspVDzHHffPZMJ1VLZkKqGCf8ZqupqMt6T+NRPfmPm2xeDgvzMrRJEL4/zzlu7Z35smvzbgeC25VP2CUrZkRxEi15A0769ojdO1d7C9OG+swj1ROMM3NgKdeBADoRMeJkRZcZ1FbQu6C0BS9NNSaoxtFzYT4lX7+PQ7BKa84yrN+ujVVef+SgnEie1G0N+eOtbZF/UU+wkeerWjloYqFiqo0vBnmxh+TwNMo9I/8lfU2XTCT0K4OoWE08ipyNHjxHvfhY6qa3x4HzdQ8+jkiO5+j91YkihS5memfpFREHP/2veN5XcRue2zCVuAub8V6vDlOvyP+PBm+owyRhMmng5wwGGIXsOkQekXrXpE/6dFjkHwwoFoj5bIFiqp+4wHpSWRbv2xGrRpd2c87FzMP6Hfj/3LWIBqFiNOAxBw+AAP1XqUBszdZhzOSQrQS4Ein4fyV7MaGsB0VsMF4bPb4lx/foTGQRJv45LpoxDd84xCawHaX7jpXUrOdkFxx2oUvY2xqpgIvcVufwd+zAnaaVTnEyDXD7S/o/xrrk4mgTjXhcjj5Rzrbr23NmuZQvpdNzny5MCR9bwvIRIqzOZZLsstZSCDYa56JTvzxgBs20dYTtTUbe21uljlWqGfSh2bYAzOpf6UguK30ZxNXgLHs6Y6urtxFA5iLYvlue5mDONW0MOtQjhqr8fRbCkYneiDkvzHkQVT4F9v9vxh2SIGPBH8bZb8ugo/BSgXojeSdNXbBAIDsB6DUNSXnwlu/bFLaCqSbvu4+YLplwO1JbtrMf9ZUfsxerAZjB7E/zl3qwgK27FswemUmSM4i37YAVhQSocuV8AcDI/CSeCDNPavESshDQ8A/lVIrAJAMdP/rHXouiNU8RL/TIvfQiuZEb6dkIKMGGOW5kT8vO8pivWnT4v7qmwuJo52AS1r/RyQ2g/7c9ZJgmMIzf0GvJJRfMNu1utRNuLWHOm9JIMcJK3qiDtVpGCDP45W1oTTMUnMC91kYhP0GHjhCW8V38xhjHgFFBfuWMsmSQ9MvNqKXiqtUhDAkIy0PW7YSKaKUv6zctAiIk+Jt17kG6LpNVOeMvJnlVBaJSkKe0HTJJUMvf8R2zna35/yh2wNlWLzIP3BJR5aRNxkV94ICOlycI1/JYRZtzvWMNoIpQrdNvyBuBydhSwhRwPo079Xk/XQZpbhzN/KK4NbdJQV0JIMP+Y5UBIM3TTYlFGYVjcvA5yVozkimco91Fx/eo+ydgAx1gMezTh+bYxCtXPYkMoPdtaElRusxlmdSV9zgF4Np+iylun3LVxCycAFxGCFsmARf6y4I6zXY0tx81aQyalr3/ih+ZjxGNWdhItgNLdEZ/BOIJpPoAveh2bKbEFxU/M0+4xqDo3Ox8MnNn8Lmv15NJigSvJV+y2W/ZogEXNiv0/nuFzZGr0pKujOShzcdkEVlMw8mNZXZCbtM9V+mfawtLxCTvo+enFWhJcFv8LVTFycDjPGBXRQKNN+z68HJtYdpH++g5WdhQpCO+DE7Qdu6TmZgtetrpU2ZlgpslOx+4hb3aXaqbdc92LCh51er8vm1GQ9uWD9+fAPRV50ixhgc5zi2Jsg1xQVxzlaELRWJ5biyF+eCwNV0oFnTbBHr3Glm9qlGVOpoOsQC8hlNG88fxeAekkCGnHFn6i5WzyO7ShDYbZ2KM4eqndyy01v+6TFhmkxgc0dndt7EzRCcEfBxSaWZwcev6MDZcuvSZQ9CNSd4Tx25TY6UAbrhikuP1vNFfPdZhCG1pe6vx4D6Ez3zIb0zDa42FPpxWvIpEeXb7YTcfZOahSpSYaWLH/vq0F3U1KO7ZxliZpoMBBYJs91IE0bOkrPNQ/USYY0qKCO3CU+AFbOYxzKWBkIglrX34377BZ18MKQCv1KWfIHEeguSpvrNH5RQOD4LeiH2gdx1MOAKphlL41F4RpxaU4dy8xERFgqoyICQq9XmQ8WJSokwqvhQM0fLtsvyCO2PAkJ3BZg5IqoR5q/GdTLgOWPFR53Nqw9Ma5vBzZcQ4+iZgetmKg5ZIn+/7Jbi+VlViXuD9CaAUtdEmnwWTS7wZWuskVvc/SDaaKV+Jz6HrZTHo3UrAu0IZDBkXWmL+mTTjdTb1A+MdhKkY/hvFNwXj1FzUngsN58u/kTdJ3Xi0hy7efR6faAOi4SKGaiOty8lxDFkiD9wq2GW1EZEsoWGw/WzxXhWDzYY8CC7WuLFHc+x19jhH+FiLXwDIARRtnkJPF2BUPZ9+grZ3tjqAWhhN3h74w5pooRQUNATy05A9HDLnILGSCtfESoSilqtqAIQ/TV2t3KhOc+teDf5t+DqZDdB8Ob9YXyklrSO73pR0QAxPvQj57c6FIR5dOciqeHZ2LRABMROo8Jk8V6JFewCL8TCd/A5MSbXLky1cW7mXobqgeEXdFDoEydKo5oCuyn+2JYI/7pIGFAzErlHZ5hOaiT17HC3zp2HpJwsIAb4/oIoZ8x8ak43Yp83Ermq55Dg8HxKGHXbXs47sh0PzQELTGFsf5eO3lYAuJjMneoYWk8W/3tW2WLntEKBZEW4hOFgo8K58Rj0vk5KLyezu1d8SO/JcuxpOJqFUM2sxBmbQ/9qqwb90R0WulpR/Ju84bQ5/fTh7po/pbBb7AQaYNdK3fatD3K4TLHAaa66MQzp/+ZGyCjzo5OXRzJ8UHyg/YpNHvvlOpwQIOjakpLHwGV4WsLDPjEIqG23ily3LL0dlkYQxj3Xx0ApCo35zYGoGOtIclYS83MnI5TwVdQ+Hg453WFQN694DaqhGaL/dm0KncXYqXLi5polgT4DOrzD4oSVhrkh8GW2PaXjOFDCLPcn4RQj8dRGIJuV81LxMPZ0UL6zpkaebhbFBxcRJe38UiTbUPDjFWk2jBqzrBvXcKmgdDcmRyJhIpuq+3DQY464AlY42z2EM0yIK0I6b+VgpanMfpdWo7OxKY8RM5tSJv340/qD8SxrYsybMuUkF8fHj7HcvxEPC5YYrH4LW1YKg6QaeFZLvPbrHZHvi4OXLKkN8cGQO8019OKqcv6QnBlj01e7qS5evoGm53rv+VmDxxCXDiOrDg+IaPeMPrn8TJ1oReXYI3yb+4HQbikxP5TQXHk4YXPUv95+KmkxGsRgTwP71YiMpqNXp0loHZeXRp9i3euKrVtxMM0e6XAoACwNtcc6sOuhZVb1htBLudzahrDFt5GkdlwHjZl5y0LbvSHwII+qYeDwRKTTzyXaInHIM+8rc5TrjUlPRVwB5LKFpQnV8e7vLv7T7V/iJTW9h9TnRtNCSGcofBWYm5P7wZcAq3AFamEW/GMbo27ldz0plt5HI53ddWkn9IuCZY+Iy0MATUh3YenRTbVgdLYtu893SuN6EL4e9V4NhlzUjI8nOS6B99ecyC1Ot8sDahQpWHbmt2YvWGyL3S9tEVLKYs+LnghBmmSl2uPWfqPobPwBHNLW21LUjfZb7jfLMTsMp3icGO1npK/rCsUgdBVKVg0Ys+/WKuTmVJoC8Oe5h3PK1TQhbpZ2ytP9nlutQPtLAEt+CVT90DfVkn7lHLOX8AfS6HLzfHeAhu1alnl19RHKV1LI0G7RPzYgVaSpX7th9f06uo2WpxjL86i/2uzK2qj/ClHbGDyQr3F9/axmq4kJ7zZFVXVVwfiFr5bhUGVZeQJHKFAcsnqPKsb8vHyB9SpFpT9U1U7D4aS9vYgqajxhC+hOkolJV2dKAxysCkWBo3SPiPUrSQYZxOWwWCoQzbV0oeaDEcgUtqI3nq9TSmpQ688/+wb26P2CHLY1H7q5lypXSrnwnnztq/jN1o9lyvLmLyGguV0VJnDCREkiUNrZqGG06MsyA+Phd9CuFoM5M1Pyk7S6TJaHdTw0ni3n5ysAup0kyxr65lFc81NcH8xSmpp+iOEtQZrH/y01k1rGMRJAGFhi+nDecpUlnrh+qBOCMZCcSCovOPJrxjZnZJDMLdpMVu+tBSVS1nKxsYjY9Dtq1/++riVfLUVhzofIcIgQQPOqHioELxU3EpCcZMoL9laa5YlOZAMEp5apx7CphrkL+fyKbBAf8ctwVd93FTo7F5Oc/alNsCgK6lHruPROtN2RybiLqx8P5LTUZXU+Aoyz08zYHasR3U8hPDKj+6arWXR9yWdJoMn45prCSURKKy3+JHgvs2Ot6v6GbEtdCumgCttv2VNoU3KOqUwqNIWHqYm4eMijTM9VWB7umEyp7UPOI8fduHJY0W9xSCZdvc2xMjo3Zdu2o/WZKDMOSh9UmLvo45IBppD2dG++HJu8kbfFdlwuIxk2KHhgHQeNKcHhFkYGRzL2VJVMOAb0Co64wvds5CaYl9ZmBm4zuGDeaO2eI1XM4+rD/HmZyRF62SabgAe8TF43VuMutigJJMfbW2UK0azGLFbOfujnHD+GGBYmSmOQbUCOY99HYvswBQA6r9hrc2jtsUUxLVjxnZ4JnIrTwIVdWCTPtpJpvlA7m01/4tbUMyz9mv1jdN1jkiHQCJXXKg8bJ+aqW6rbwbn5yDSHBTcFXIegrhHGAjJOZI1pyP83Z3vMYTAJoo8V9IwyS+U6OVg78+IhSYHDYjRs8FrF8smHQ9h4qAYxp49rRP2d5uxLAuP72GvZaYvfeLOkMrcg0PkPuq7NsXhMFmiZa6PKBH1l+oKHI5DBLdZCvCwTPdXqmnz8gLzVRb/ixLTSdit2nrzt0x+5rDeZT+ac31NKNskQs6noKlQccyD3UxzfVZFmcbpmrfPsZD0Ve34xpKWk/E9Khn4A5yVPVq+dwnv0EyYecPqXGU7R8suTW0A6NJWweLI3iSGDlQXzMYsSWkSMhFTfyA2vTDt/3wXk+mVU6bRNkZvNnyVHYiA4tmnNwdh/RVsk/EgSerfTIf5VBmuAc2IKSeL5Nbrg3acgFj80mI8SWsc3dNAGCBLLMP89gH5UnLTKq78d9SxQH/g7DVnBh/qnBdw5CDrw/uMzcdXSxWqGIFcnQZt/1aOHxUg88MN2w+FPx/V75gy2wzEVe6G51PQIR2tZsxbv62HhgjwtlzrVREw/yzlaAiuXC26cnpvQzWXp2mOgihyPCWqq38nEadX2T7f1Y5zGxEGBaT//IcL/BsquAJX5EDbX8X1p8nLWR2yyjFRvqC/jssoCJBCDJOsZvoBfXqQSEKhNARH1YfueeKBslAwLi24/wAO1BHptlf1kQFNsOPlDvlYednrEp3a4SAz/G7LIVEsZBu0EKWZu/euB/XKdkGonP6t6lgEcCOw8mceuzvEVzyoPnMyzrqoNQXJb9C8ZCXSiedKiCgNwfNkpVlHbUgE2Rb9WFScOeEad+T+jT8XlSc8rcvkIuhAv/gxRu2eb2GonLTyokjcGF1EBpCJbhy2H3lhL0rdZIw1okA5pBg2oRfQceXTPzhuNKorTEF7t1UIgDqIo7/loxyTgbtKu29o9K9KujvCqUGyPY7upcfiZLNBVKh5uXAAZjQjhlhBp0ukmO4Avxu4xAVhCtnsOIA/tAm94U3HEuSr3wq+ZLo8pyoC9EB/q3pOzQRyCTkozmJwo1Ln/2xEbtNnS2S0NUIS3yz3/mBIdxONHxqP9FW+uoGI1F415lI1nZwK0SoPA0+flaokBGEoXgZnO4GOExU7VOjdPns59ekmDxqNhEHeAF5i5N/3W2NC1XGFjTpqLrnCECiwVkOTrLtp2ehUIaejOG6+1336YQSKMSsL4zhUjw6SQKryVRz5Ldn3R5/r8AOi02RJkQXPdvPsl/FMg96E/cJmIFLmEDzr1Gkh9G3zisG4pqM/MV6XIz+CtDUh6hmJB97VzN8jaPSS90vgDjvnaNlKky2/zIhE9ObugwrftI+Oi2a4VVaB/Mwn3VmaWjsU9NOf2usbcN/GLQMjvfeU/YvyEERPKw1leXZWWk1HXzY3P9MUq6MZq1hkEgFzds51mv8mnp1i4pQprPwY0TId1szXwe5TG+R5mMD76nGPQr7/EhQWksjsgGs7Zy5QYvMcGV5tcXJR+6hlHFIAc/M6XjkKYtwm673Bi+K1tNO9i1YBePTur4I+gMsOK7f7980mcJXhgdWdhNzUN2JvFsvXq3zZRG2V30sJtJYxj0aUv1u4/ppVHi1iHnTY3gDHsrQS8YwMX5XwZ2gcFYYe2wd7ZO9swr0gb8zf/fXx8QWKPXcK1UdJk3760B/TMlpWLCbhkqVoSTsOqzgkmFmFteCCTGhNyvFhw1RrTIWzRxq8Tj5FirvKvtkp2GAVhnZ7vnr71pyI0rKwQbVxKZuqM7GAvn2mRBj5p8djlHUsh/r/eBECptpbbjP5nFyuN4mvQLZCaxeTkDUzd/kNGLIzBFv1CElQO+xmf7Dzt1f7GM1Bh+wLDCJZlhcVDXbtPuGssdEie3lZNiWcXMTjZtWAT5MCmpq6JCRuFSHZYGKcSFZ9kOYJfEqLIcWdzpTA+Hmu+ktgSUwXVSwkaa/aHdZXh7IOyrudCBalCZpgXGRNbhN2XpEY60DXXO1Ci5ayZSoxtG0WRCC50+XtgWz7qgX5MRA5S+jzXCYy7O7Nn0ljVxiBxQNCZKZMTqi6mPfy2LZx76uyRUXHjnpJJEimflHDUxyX7fFg7iJvSrsZMH6Uv2xbfQNx5eCbx3oKycUrBY22KPmgfg/w07CDVsw6tb5VxPg5/X38cQtXI47U7MAGGjO28II12T+PjaXHlstPtkUQNn0DKkCYis+kVAkA1wyAJgYKLGnKD3nlVCarYqCkNIZbiVwO2Ydjl7N6iOtvvbAfuq7VKZLo0jEdw1YdsRaHcuJQulgb51JyELzYBkP1hd03IDcZfPg5XmNvYQSOINsCSn3BuLtkCPZRalK7+S97zxvJHiJCZJM9XP785NZ8B8fqDe/Ot0BS3PH1ptErwxBtpgfOj4d/41nrSjJQf9bV1kfdBHJxYbHILxOsWkZvoP/Z4Sl0Yx3bDjTF96xf96+6uIoQ351Ce6DeTwTnkPr20YwATlnhskWIddUohklNITCq/07zkiEc3B58uiBG6d9YAc4h/7s44FN2RG1UuZWeojrOZIhElvDP4KqHcOYbqqS95o7ilQH5ONJfy+aYiB+sPpn35HfHG3duLpNvBjXc+Klf4IKrFHjeVty02xPTNnbdL4gtkqPqMLhSgR/fDXzxJbSScqewiF1wdVoJ/fGL/nGWZfVlDHOQKD+/i/mqwXqvNqxtZeRHwoe/bodk66B9soOnZp36gdzVMRRQsQiBFf+HXjRcrRf9FsGghw3+qoN0JeeMvDJrkSBPsESDai/uVOzn2Ohge+UVdi050fdWpsjP0D/QuTdYs6QyI9xnhU8WT2+KBKzoZ7Bq8fOdKPeLulUhJjT34/EOnUloqus8+pzqNh/UdUOhgTlrbkuTfsaIYDm87u/GNIl3N53uaU8bgaBjpz0jdu1f59K4KFDtwUUeEUoeYx6DEkWKHdi7dtHhQF44lbysk7PqERrsuAQu2D5tDMl7kFoGdI8r/s8rMytJzYBU40wqeFvTl0ZVLdOB6Ya9E/f8VPbGx5MdpYqYMLMyB0QxVdnoJ+tgAQVWfH+jtOHD3PsjuT8dOTSrupuvHWRHQoGI1Qj1Hc6k+Mg84FAZ/gzl3SEzuGWZKFwuo2D3EiG95D2Z1szTqAuFRmT1nEh20tkC4ysmXx6JtN0taK1iRR62s2uNW5rSAvMEJ8yotr3UhJe22brlQn8Gvcq1I0aODaHJucQKVe6SXyfcDWODMw8xf+2C7Zx5a4Qlh7pJs550DictL4OxcDXKvVmLgVWRwb3moxv4kcxzm89EERJXCl7X/BziBkGQWOHPGF+6K5NFJYOFVv4+NyFq+OPMaSWZKoydplufY+CYyL63T8MCMmwqLTmAE8h0prhi174wnx7DHZWYuRJSYZ63uz97AGOzyI3aebclnud77znbZetbWUripe+AadLQeZPtWsF+FNiaXCy/98km137lWewyc7Gamai1Hd3Ls+KMMVh0R3NKTQ08TIClDfMKwUGKy/7YZlJHU3uW60X0r74Afh02v5MJgVOYkjmors6GAaDU7yKHydfkXYd6nEjYc76xws1LDLWCNNKBtUHNyLseOyNDgmHiJ41lXvq638RzDGis8WIniOb/pbTs+HsQVGPi6mxG+CU+oflMR6/qx3pVP+GPgqa0U0lo8MVmI1cBgSnPGgrh+J+m9TVg8nivua0EQP7xai44ruC5gsAVOp9bLsDXfHQujo6IpBmpfbbU8PDavZpTuJtmflVQuOImnRQ5kKoQz2NBFjdiHH3cF9QLgDP5vz/W5trCy22Uk+TCjXjdbCCHB3rJhKYTwiyQUf8xu6yTKtIwrbw4tzFgXDODmWYEnnpDupk3b4AP3qz4AZ2En5wi6aZV287AgCF4vH8TlWLni1E5Hd93vLxSYLBWSuj3eXGFtWyWpBkIeKu+YsBh19VeakA8OePM0ILu6dYYl9DNIK3kU1ybH+A5xYhFI/EqSX3vtNs6V5eQgxYLvu0hYFjiG+n8JzqLQVROiVa8XNQDYJtDAetPFSuEtGI3B8rnbbrNo9TJn/z3lRYq0ecBIe7a03vLESwhKOm1bGTk2kPMv/Sh9wyCOmIore7JhSFT9HIjonBfi+gcdDLfFt7dpShJmW1gkcXmitWwm1cC480CraHm/or2MHphB9Q1bmt/SBXFqXJdcv5GTt3IS2fRgqThhInCjRkh7Dk1iS2vMBLSGtRPppb4FEu762JehUMQxxLQre365CKoJGvJwVde91XQ+bDp5ZsMu/QHmLgITmwGXSpQFQlQBajqquxlwIOe2cyfezaSHIoRNLcwjW+epnmAtmmWA9KU29v/cA2iuWbj9ZV7HR4anhHkjbxnzKPHnIZ7Mm5wAf2o/3xUhnfH++quS20TdhalHgNhusidPKWyKWV8ZjFLgb1fX2r7ifLyUtxuKHHIfCWXQJ/DKeU61vxmPT34MTi2Q9r7/sK1CYuHVqMBsgtfenn31bUzCoyPN89KiO5wHveqnk3uyHnJSUBVTQQ3NyRPmeRKTQvWEBZ4QWcSgMyZF0RQgvUXRcp6KflF056fwahSioP622TdcTVYi4cAwSZLWDvfjoKFLMowPQpzn6ogXHc93fFA5NZmnwslSuesOyNI1EE3RM8kzat6thkmpOiGmm69Yn8yNuxz1YuuPWekoybkee106T9WTPXo44ea9E5QH2Ig6FZn716DBa2FyXHG1B+YfnmhbEpANlOi61BoGO4+G3WMJDokJXj9GhNsFqdaLjA1pkhLP+/mGCZoYsxNI+A+sMvWyoj+PMWeR8koRz+r9pNVEWT70WhiAkNTrojdr0sBLwxIM7D4zT+cVy96ZE+ABi9CqkM9VK7iOfkJVp7AqCqQ9EZ9emn8rB8zfoQZUBrVd6YS2AqiTFt0nJ8HfPGmnBWf3Xi5CgyWoLAmHJp/AfTdHB0+Ns5DlhL6UJ+O/6xys+CWVKtL9S8fVHkpwZZMJn6jVtiUTtXjywmiVXw9a6f/G7Qd4tZtcoS3aytxXYA9aGGmEeBobjiammhUaMDicH3nlOkDvvz19NqWOvHC2SMv7OQHtDIykYerPuoLz6SQNOBtw6oX2Sj3ZLITBDcWNx9CuZYYVaE+vleXnATrwn+PnuQ34jL52tp85aIOk684SUlQ8uyO2t+eIOHndZ3oxD+BcMAba/JVxRYUAUZoEw3D80WWOz0/ul+fYbhFnffx3PgOy2LLiu82D5FMSpi+Pd4EkIFTgfv7p/0vnX1wp0VpNzyXs/5S/4z0RFS21vIF67k1ERTfFuhLM/8fdbKognohMqTNF/+oqvXXLuJB7IHeDdn1X2eParLBEpz8y9CAN2g5VdE7EimekAOhkw+tTzqeEsgyQL4iVDnWrP/RcBd6CDm16/5t+I1SAxCn9wo8knzmpg8DYP8V/vHw8Stu7cliAt+G/VR4XPNZXWF2rZBeQO75os2jFJrbtkfhN9BzHT4HGgXTjyTy8NGsiQdeOw12GjYKCyxP+34kRHZqYsn0pFvVubB0+/emKRgiGXNRWQwMSvAB1xvTprD0Zyt08BjP/4W9HGNfNBcA0Qb9qF5hdQ4dDqpKAFLoIW2gFEVKOganw3M9/4WP9ckP0/g6kaJDRurtxNgT+PjvWYEWlFa80wKYCkd/0ZChV94njjGyg0t98Pz3AL2AFAhvRRiJwdfRcQqqhWkv/o6X45d5w1YLJOye3v7rgta7Ya0jAl/an42ng5Wz4S5we7n2+1W94JnpoGyV8WW2HYjKLkKmp4hBKlNtb5y4W1MrsG/wfq2N5Xrz2kqhdPQL/YoxgCQd6Y2KNkADVu7TxugQRWVuNL0BUj3JRFyWNeCmB74Wsz54OPnbq0GFFxzSkoiJ3Rtq8yEJMKvOMMalFKH7YFHKjb2nwrKVfuUUuRtTfJDiBuaEHHoX+MUrM2bBaAsSdnY5PjqcMBn/wwojQxzt2MoOCC3OEArr09ghhsj2M0mue5ntQcmcC1R/sK3zfShGJuazS+mJUeKxk5u36CYj8+SJCq8ZEv7bNf1+BywGeDQoTDGq6Yh1xW3Suwo2O/ykazTPK/TdVOICyiwK8MuQpK+FX3mqSPzxfLwFJ/iYDjs0WgW2kqXYgm+gkNToB5+jYH83Xlt0cbtEmkkBaVGlHz61rVuWzrK1yjn5nYHKvKCrBPPRth3AKDQQB83fdrbgIeIfB3iHya5NPpEyxbzmtN5Dnk7GqrQ4uu4h3QSoHU+74zs31cWqIx4SZ2bwWLvIxUtR6gufZhNZoMcmSB5z1O9TKvHMORD+VmuiqzsyJKA1OaApB+b9x6u9FTvUkalgl0r7raV+wRqimc2D7B1z/OiSagdd5UME2igLGUcgPlMSX1VsKQp/9yDiYei87KTBA2NPCUmgaLwVdvQFFFxWp2vGCY/KCUvxt3FOu6xIgwS4Vybvbj6feUCkrQPpO/wPHJPhAobSj/aa5YrUvjHMcQkDZwfc9mvghrk/PIPvcJa5InhVBfjh3Xr9vIvA4ac+m+pywS/EqkSX55xgiyj0TB1EE0NT3W2CPFdVD88P72SpdFzHS/6XsmbGtM8JE/m8eojzd4PM1bNADliZ+XG/9hbcKg6PftVKyKKt/8Bz4lGsHyT0VKj2vDGp/qDGBajSHrqzmpEjW5LXsb5kTV6HgbMcnPW2dzQju9N1sI/gPVlgGmk0bHKOX2Ws1q4aPizhcM/XiJ5EZNUK6bZNUeFaUJVTvGxglRUY7vdnoVOe0Raho3huh1XDeTlHpk/2gBjjhUQXe8FN5A4zcRqkNtKpSVq0xyw9j3yQlQxq/Lnqklpz8lXmzHkz8sX9HJjHwyn8UAjblvN0ZFIk4liejx0lVACoKvpsT9+pQoLY4weMHRzcuVC60DUFkaqLfclS4UJti5WK4FE3dYcc0OilX50uscLJomlR6pXriD6ELNNBWOSMt50CJjPkyt3Zn/xj1dlPVP1t6XExK+b3jMoULLPOrEGvjELfAMM1qcuBb0AijkIuFca8f8xapUlkvLjmmJW7RK94r8HaPzvmHHSqX9MXdivNI4A+JHy0VCe79UZZJvzMGzpnsj+Q6k3EItDBiA12fTMlSbEOMAWCdQq9TtyUiAaAqJozMzryEg0k+yVHqCc/DyJcCE2V4WXIhEnsOc5c8f4ChWfUaONhPPWogpDs/lyVCvp3m0NSfrAJKNiVy5aNC9gZ6c9BqwYgj/cDO3kdam6gCjhR+akALFYmt4ixHkWxKhDTGs5K+CwRiKJnvxP9dbxRPCBHbiVa8gsd2GuiNHZD98MNwXMdMC0MubVodd7dnyk3UQFfCIIL1osPxY0ZJ6DvZXwtZ2I0th6aqlTMULVo+lhSIU/5qO63lTSa3MgPRJEOi0AJ8/UlZuvgqLw9dyEDQoHTKWOsq+6fzoAyvIpv14fLaY+braPd6NkSaq0RClMenK1QLH87NZriUaeuCo6SZ7/CfUt2K6VOt0AjIK2jR0vorf6R8+TVzxZb+QdLimH9pU5tQc73xW93QRPMGy/gCK+R+YzmV4fHK52GWBEBL05EEoTY6OYG1WWji66dWnVTg0uPNw839p/yjLxkCfdTaH+v6hVUCd6HlROj6W8Mil6AYGC7NI2+qkZvJh/dAw/iQspXQNwwWHr6slLIp0hBHYTDh/J7Ba7ZR6cp3iU4bSXdmzhTahYDev4yKiIHyN64EANhI5OHYv1G4KXfIOvQizYWchPhzQg5eVGNMxsqrvWVxjtIbkKuHzE+IcA2NZ83GKz0D8z5zmgRnoJGKigseP9TmMS7BgAqtqyixA/SLc1KEUWrhXOQ6kA5ZQRazp3wwSa404cppBnfsS8EsEpbr/gXyW36cZ9pt1RhzyxGxDUmnZeBz/Uf1AP+gyLIg9x04u1fThm2w/H1ZXGvVqsO1VqutV5gUhFkdkwoCjzz3F3FUr1v0njGYT2mSZYvoF/fSd1W11c5VIhkEO06US5wYRmHVPYXmZnbK5YHQ8pkIDJ0yqssqFK34CuHE8RWb+Dr4omk779QOOcYomAMYQ9ILt2KUk2uNlahW/IjGtenuGLxb/t3aFoVz4oNwMZ7iyp4td8mdzgJAfnCcYtklubGAUB9k6bGC5DSkf5VFarnGEBWz600VGR8QywZ+jIYFZbtKT2QdDOYP6k7D8qVgEZByGmRedZRWaQDTggLyNgDD6pQwEeSs82+hTxWypqwU3zuAWqfwil+mytzVnKztyvMFJyJwPFaPr4Z3mTjyxCR2Jv674JVGGMUSWb0l+GtcYtd+NBGChwr8mB2hlyccget9liJhQEb0XgXfgVRlHlbO+jlZ9CcAew0Nw+tRcWgNnz/GL9Kur7RohRhaYZBBmQA6JhvzkazHRcdZDn0zDkfBmYP1PfQjP3d6qqx6gE7vrb3lBKEfK3Y/nCe4COdpr23oZCoIpssGXmqE8CGpO2bEwkSN6uqeqR4UtWR+xsgOzNeR49PTLJpFEAkXha5YaecJ8t/KR+eG7/HKV23zPZAMvHDC1rdxQ0l+6wlIgZbUybjBe6yusL7isRuuYYwg4+8+4lia2ox8RCdvmXlt00ZshBnAIfLkSwIqUzCcsD/d1ZG6Az728L4FCIqBKpbA6bzkJ87lYQpbaHpwPpqu3S0UqNDCwgg3q9MEn02X16E4xibz/rLx7NMDtHcwMOt9r1dVU6Hws9TvJVH7THrnSFESgN5eBy53Nq2Fdb8mySTxz5CitvVE+ZjHaYS3hq9Bax+uS7TxMIT4qJE7HGdsHM1/9uPNBylhP04Lck39JMe8v2dPOSJzyQoy8m/8Fc6h+X+5/mBVA9jAsG4vmx/KdUW+NXxgRt//SS2Ib7aGILsjOz+ZZQu/NMeuAsP1pFRTN90rqIVULbJ20ZJlrjoZD1VxHEoDFFGVWCVOT3jGK+vFD06gc3yDUSnZ7ZHjGmw4ZiAglY2nm78aUpXxI4BfUHqL6YQKFDCazUIryLi53RczlaTh0ry7WN4WpWK9sPJ0J49fu6RGUMYZd3+NrRvEdOrS5n+EJOTkr4lNzo8vawcYnR/n1Dq0rCHu5o2BGBEHABJbsFLi/mlWFO1MjpvUu6UPJjXlXse6MtBROT/mQfyegWGmFRQ7Q/O+rJp471+tQF10+bvkExfBoTQrewd5UwhAUODpyeW+aK6vx2AroUo2bGBZ/ZjcsJFfMYEMsm47LdQSq7T7peI2Ex+4/9oIAJGfhidbXA9UYPNhxigFTg83CETNYfYVkoambj3vv4MZNtE/wrIfTguBNqkQk9ebLPTmY2U4UCzbYqPKO5vjaZXeVksobDAJzhVjoU7p9TdFmNMyLyCQJryBSOcm0hFk/pcwcV15KZ/+IIqeQGPkTbiY1haWSnuQYBeyW5uSPHGtYw28cQS/v3rToNAUGVBSQ6zpBt4CHvaOfEJhuDJYZCcxvPeOStdCzaoSQn9nDe8wDc1MXrJ0+9N9TAKcS6u8ANLCLY4UfHLGf884/LFIn4OLOlRcNl7FS1IJgu1/vLm4INkgHt5ISp2vC3MFJHz1zJnopnKS1AgJtCmhJRZDaW6wis8CJ0KAJW0Yy0+kWI3lJ9N8yqJht68FMNVgkgaAGi5LuKmkZWm+ztKvf9gT8hJrXZkM/QdHI6wy9BqVeWa7g7ZM1YLbUv37YSnLmGsCrl/UVi/tG+fZbzY4bGye0zH08VQpGmyd/v++fS9EtasmbkQEIYnmLZLxO+tNHp3myIGwYBZVXjlWvrCiQcsP/Fu9l0HWmLBu3gvuJ4phtJsXXllJdM8iZIQR8Z6zEMs+cqVL7+TYhxDd0c0l4sbyIEw6N+V0v3ZbUlidyekdcz/aIomGdZtmdI+1QUrrHw7eDXT+G3zbTZMXxpEgJc4zY5bH5az8eHzwoo8QUleUKpVRrsErGmSF6GPJ2OltKYL6/C4zx4rHdcfsrQTcWBmrBWMMiFiU4NGtpYeACqYafRyu8j8x7ltp3nxVbsPO0MSoaR8tv61/q+YCqHX3h4vy4HzjCYEl+4ZDtj2+mawuj4J0rBpcDw+spzuCQ2khFbks09lPGxK8HYJl0Y/lNLUxGLZ+2h6+EFSaD22bYzF7dk/EhCWh6u/v1HUVKC/r/Wl6JHtd1V68J9zdOTgbvJuQug4r4vUV3JJolQQ5tecHKqcNoYjOIs6BZTlfB+yHGfGdxTKsGxbU/4taKuH8Qpd/M7fIG5zebrpiDHV97T4jiUNt7K64/u1e/+erXV34aOjfddcKNO76EzIf1pfD+KivBsRlzlsjj17aDPq/lnKHQCLsD+3TK021HNzhZyuwpLRKS3KE0XH/0TqUOr3VqLMcsSZM6349QJDznPG+sUqeS6wwMWp28TAoDKdmjzW6f+2au71HsOzLIeWencRa5JapKkVTYpvwMIC8u2L+/hYGJmk0588rq6Nnqe041NMzU6lj1K5KmSj0ZRiVpzu2FSTl4PBYHAuhe5dtwnRQwvvNqIELVxKMFWedxxB7UO4zpYRe2x0zH4X6pI2m4g6YdCs08vR9B7omy/goQUYbUZA+wJamq7/c0FhkNm74Mp05NSCK1Dcy1+9qp82p8XVkUB4+SsVRJ/Tqtn8v2esmemr7zjCfjLicMb05JqNoL6zzz0KaYkXeStBrF9+T7EbZTo2Fa/wS5NhJvRoZc8QUfS46HX8HIZ8A6LK8zKtROnakAnEEFoonVlvYR71xYuBAXbjtxfu/bteN8WkArB3//qp+3btpi2SIMyK6rX03iCLnzOd2OrPnD6xqgVT35e6NUMpN7EJSz0DRRzyze1J+Dx3cfx0M577W84qifD51mZG8VNbBf+5PxmGGrGOmkO+Q41YnCkx51D+X3CXsNAjaz/XfcPJUXJ00vaQyfYDtmFq4kU1ZHdnep48T4IskzPsYT9or3rd/ubiYLqeBqjnGbuNWb9ZdPDxkeBmJwYTjsTU+VugQmtz5+C3QBX0piVh3d7BK+Hk4mO3q8qJVQXeIqs4hKuRvBfIwwUyKg9W1x8dv+EwESuk2Bgs1+Zc3wzx4eGasynWs3V360wH3fKXZFTckeHZdgtzTqcQPC2hCHhSXyFMyljvrneLE+c+b/YQ0XcDBam1oAPzvKmmcgER6AqnyC32Ic4HMP4FQN2rh4Y2ntrawByV+9oq/Z8hdwQEPYRYiELBCnuGGXDQbl3ZLuUo0vfKU/AuMwYfNXmNM2vkn/GRrpc5WDP+MEL80tbJDZfDNBRfpfcvVpf75u0LrkIIjnU4adaolZWzB2yjIVwNrF7zF//n4N5xHeaGc7Vh1EYRdc0h2l23qFvLBNQ5kHbmX8Yta2Vj4DU6eBN3XyJBvJf9iL4x+hw1hx/7Ej5U8EZr/Qhgoni5r9PxBfU3fdvXICGW9DzST7GV141bvyMDXblFG5PizNjJUVAWNSxIAStz6+eDAbkYeAKTj6DIR6ysFvZAloBLCgSdMFd3ol/WXDQh3BbBtLqO9hp08BfumZjLpTJGRAIHzDizXZfhbgqejNSS27BIXQLV0muwzgXGqYt9McSvtLWo1Fos3k6Nu2qGyFftqQyDz0/bmgvtZyiFce/SLYnjt2Q9BnlmUVBWOtbDPvUgOSizvJDhdiSkbLLP96MJ7dKO3eUK2nZnpb4s4b2XGF4T6gC4qo9TDv9z2SY4Rffb/RjPs76P0YiWADpPB/nQjC2tDRlxt4sdNCIjmMsLgU+cr8cpyaMSYI9maP4HHww2jTPkGKvF6H6+DFAF+jAZKT9oi23gpZ2zavE0xXPkF7a2FTNJ3bwxvsJV+o0fXZAkmouYq6B2+6ccHhnUIeL10QtZaPoZPJB7/Xry/2Nv+JJFmQ/p2NSiO5bYGA8ej1vh5QlWhaX3JMs5gMBnyyIfXIMf4im0WEUnCPAJzq9q04Tmxzy7nGKKEf31kAp6IFk95aj0AogL7iljLVJlOXNvV7BwZn4dKfuZweSEZBqy+Mvual0TVDHiwHuIuXbvaw+OkU7aeAfck0Hc6H0jgt9g6Rxb6dAuaiKEN1cUYtD88y0b9Arq1q6ML9B20/FunTnZNF+IHgsg641FfllDFpQ+dqrIPKQ8IkLx/2ppx0ivQSrehNaf5dwtBjnPHroRGzG/RWOdiW0COPzepxIqcsWjhfmBXSUD7YCvPm/qTGcSnhcriFKew6a5s0AgK03I1gEifX6y90cJBY9REbQ7yW/XB+zAXN1XZQVEs7r+0ajtx8KvVBKJksKj5YFGdhEennMbwgCJJIMdt/pJD6FIcNVegt2LiQS70DAJeiNNG86dQVNYNZmYEfo8oa002xKLh1+rHlBX40iY8Wlv7FqswQFktpyLn5oSdo1jBRz8V3aRIOmhSnrs2wxGwGBEVEXvRm8RZVvSQ0xlKMVWs9Y7nnmJ9jEVuDL08D2ES3plzvCNP3FpKQeSknFeVBXv5T1Yk0/X5vdj1J1LYa6Ffxxrv90ObLHARkCI+tz6+0i5cZTinvgIYLMVnV/OL+m4RCsTy/+9VQPsYv6X2qSSlVdQ3KM1SOntMNUBpb4C0MsDh10xHQ0cbJK0gsR6X93ru63BDYbRZmPISt1casVwVVE7+u3l55XJGJ0Ev6S+2zpNqOAH66RuzpVskXE6X8x6wHOfp5PAI/7YG3Zozh1U27IXGEEKIm13Rt/nTE3pKWA7i1NFdVQKQ0CNdqEsBkjiuM41dd5rIbR4DMnoDva07v1esxYBGU4JWJUJQyejYbI9p7pqjrpHZUNlz2exX1lTAks+WxY6CExoPlSlNNv6AIsE0VdPmHOj4m0a8bigDelTpIL1WoePLhblmhRlkPDKiZvkzz6eG8vLeJjCGJL1+VFa4QREBVyuhcpZm1ygJm9kuQ+8v4yEMw0VO+TKee6sMFRVc/kS4IirJupnw48LoR2aRk+GuDBZ25xnKFxdSYqZqvWlEcemsbzl7wvQg5z2xKxEUsquyGziyzd/X+XFl/ct9KRLzyyb6ComIL8Wam9x6LPNZXvhO0QQZmQ8T2MFjmRJ42WyRzfyLGkJKft94uO0Yy6Fflo3AoIEon3XBygpi3Je932ToU5EKoikvqkeLFACpsBN5dseemiMdHxOJKrVJDdTS0qCcTzPCyz506oyENFdelskwdghmUnWyXK2WeJX2CBXudNUBON/i8kMdtJm52REvmGqVmxe5aricuTCGLbgZtYvigT++E7xltEh/ZgUoMP+d8vaPU/HdhZaUjsgQ8OoqZeezvNR2JFm2on+IliVyYQ/58LmZ2stgKoBbs4SllwiTpNRw7ecL2WR8bbg05aTN00C8aGWtReWSsYsirJ0K0I97flI2gJRRN717wESryWahXUAFZAdyD08j9SIZQm+wq5GkoUkK5cQ3wk1x01x4fKLPgPIj6D6lZiylqvWGtl6KxCfoSQXlNZIHeDsrIRqhINxdrCinM0iMMkveNxhqrEzhnBn8F6nXVY5zUDLzOXpp338I2HycFa2pueObEof3HQgFEMnHS3/CDKwJAyYl3HyA4X5vXUE8MMa79gYELseTf0IEUJRsfSa873vl6n29lFq+GCqF1I+mB5PSyLFvgHv6hG5Hd14PAHTKhY+xzCgOwwRZxygPwNET0UiO9ynH0p3j7GAFEs+VSjl4ArhHJbySohRLfm6B7FxxYJLJxJlQr5UdD+5Vs0nM6CehSZZNYw4FzcpYoL6nS+wGGSNKLVLXgbgvzAbT4B1J4GMS16IKMlo5S/dzM/NM4NI+a1Fuk4qwaewoHqGp78vgp+SkuhLyAVhI2Or50Id4LlHwRon9o7JT3D2pibchFvFi2VTEx6cLX/qorW2YGSSmnu9+M8teW9DIRH1TfabuDIuLk16NFz3kNr5QLPGAd0JzN2IYFA140yqfi9LfBcZI3aUK/Gt2bfMMk8eqttN8c92OmUYKUaHbB9C9cpEwaOYs49MztuGtI0VMqDDHN8HiRP55BpRIJtIWbSyi0/LOC94XhzqGVyuzaVaBfg0f++sV8wy7ytxlQYA9w1ejE0XaCkpM9zbOrymf4OrEaIyQX84Z9e6wQ1czIvOihnSaq/fcFdkxJcMzE2kWcARwWT1U80dW6B+v6HdclWMyMWLYr49iKWrhm7o1yumJKxVGiv1Rx3Tw61jrh+vuNjikpFRxa0F9G7ZWs57nuhaIeT8ZRjYzuyq4WZBEXs4CyfvmZxGcS4/G2aWon2O/UkjqrfdbBUF0yavSPdNJacaaZxFQNejGDPK7SCF82XxiahbNpwFs/t07gbCJkDUvvKjqaYv1SNJBa21RKsOuGJNKO/F6HTjc1Q5t8lqLL4e83gWTT4aubYGtE+D4e9zdPPo2R3dvG7bDrCQosp62YhTaV3B/kEQGqtzvu59fbgA6lFyGe7urhYr3TWCBFYBmrEpB78fWnXUEd1z0LSzMcWL6vuh4CJYR0tg1jX4H0wkw9mkbM07MXopLJ2Rt7/aL3Hl3MjO8h/1lqNlK74QTbgkurmgd23XflEcMhjO52Y/Wsz+CqwkBCDN8SUcd0hvJ6srikURdDKw75ZZMyms8NdzvzfsXreeCzpVaPKbkgWo0BlD+qWqaXziVa7YTSezNkCD1UBphMwE3IFwG3+Oja0AILbwR+VMjirrIkRPt+DMtp+OKLpkiE15AVv3jn19brZGZkhhAsuT2sTiWSjLvxJkMICAGdQY6CcJ1bmQsycrXCCxoxrME8B5k7aYQkl31h4kmnvmUA1Uo5bGEJkzebQNuMeVIRwKr7shM3Y3iowzuO8Jm833ALhjeDbR9i+ajGdiv5nuQcBDW0PZ0CB/GHvnmE702e3iEmWKin/StmkbfvsVh9mXnjLzZCRfht3g5Fu6OpDSsq1DSVUie4hNThGTSTWkOhTKbARv54Bxp1m/BqW0CfvfUJMQYci+HzQBrAw7lHJI8klNzq1wbwtxf0zzTFIpYQcsU3ddDWDMuciKmN+BHJ47B6FkgX4uR5QSWzLqgN2wQK1aLp2hgMJGqMII4rLK56VcDk89QQhw6cy8PCM19olNpuDwdrQFvP+77wiyyKx8Z4MVJNxV5vJWOwvF+aDouZMW5HNno5d960qcPPO89qYm6Zh6UO7MyFx272aWYtu/0+UZ6eThOP3s/uMGRarrYNGVN2bkl0VbM7ZArP2AnCQLuPoIbkry4nTS/RsIdFmPg98zeYI4R0RY41FQsBym1OXnJcHtmKPjfEXuujVQGfCPrCZsaT+vFbMFWIvUy7OxquIvdi2DVp3+q3E3NGG06d/cz77wgHGWrfcy5LJIzCMZHkk6m2QnZCXYVXwMsVhJI9nJcgG/CrU5lgDb/DlVEsXG06BHIuqVfnTyLdAQZYmJlEEk43pdgF69V12XC+sB9W5Tfm3jPwiHn/VmGszkYx+Er49CLbyk3hDBSKuzDj+nzCo77ZO40EIP4ZROdSwWlf5S8wfYcAzjNdj/aZ8uknw3tur126RfCzMA+cUo5mPaZL9cVp33X0mRTUIS2vgtwDRgsSSX5xcJUWR8gZbdeqyqQEEAeDu3+BMlrgYP2SH/le2u1yfVFn5JX9VQ04X9mmABR/KOd3rAYqR+OQwLWao9MXVS1y+0OKo0FlXuirKuPaY1BQbY3Vo05Gf/+N+u4rDcFBQqiCrYhgRAEjvVW9eNCaOsukcJWEaDuo/pWCYGJLadm4ssTCPvVVEJNBfVXAcTIxH4EFtWFMJUy5of50QNXNZBl+oRuFIkdbt04DeU6j2A3vzzP+IkMahLD6zBVJv+xRBIc5fODvnJMmJRMI8kcyMFqxpeWZAHxC68tGFNyl6yyGN95SwNYXwDSIQCPlL9bzjZaWNWvs5puiP2lbEBlDw5vCHtVmb/sD8QBgOhRassChwM5o5g4lhlD4u86wmdmVmhmEXnCyLeQJ0rRtqYIWRhg72ieDnqmPvOkDTWtKR38TeJwrK/7IRYfbNspygrU6yV9YtJyw3I3uEkDgbPrpcNUpISYvzv3beFg3ZN+swedqf3IVKkcdiAezu/KpHGHPyvX9oT6qzTS342/DenW9ctM197UfFl4rk21KxSma1KnLIWlGGasMF4+G3dxTnqBscul4CqNda6Qy8ita7HCzKlYa86yljm+HQA2B5ArJoZy4LNxeT9izFuQhEoEhUTNJQj2pCc/O44h8GpQX6XgpaAvAQJLVNq0yXGFbzb3O54XQ6sm557+lT3A+VWPyCJn1MLbsssHIdFhJcMtBFQYi0bS+exQ4Rq74xNE2CIRSzi3nj5TNy2AoO0gdyBC0/2iH67UB581jmM92OHqgD4EzAzyxDauPnlIdZu0nWwB4dtxWN+meq/faIuQpK2hoRP/ULwIJ9r3xyxtXxfFwJ3YquXldSEnxoPiYD85u0OAHvKOG6+3eBraUiOgvdfp1EjiroeSLLFutuPPV9XqhAReYPaRy87OAkV5tzSqvyfufCvOMTtkpxApWsJ9n+cNM2uBWu4lj1oDjGasCfCt6cfgCzh6UbZanbL/qCgf/iHjKYaavIiRLJrU2BuzdsP97XHkXLYbbfsHVTlXSohKOXOJ+3LiR6ix9UFLo9qieejYk+P4e5wC64jGQLSxJzYt3cErx1Rtc2+xlJaEBynLN4hLl/qOrgBM7a+yswC0Mh2OieA4SR6MfM9WK/FOWbVyoUBIUAKOhhIZp2LOgukk0/DInn7sF7dRP6Nw77MaAcYg6k0gdjQN9/1wtGVSBm+6LwkI+xfcK9l+JiWepXul+/EEdV7XXp/9lUsW4RQmIkda9H38FJj3EYJTrG4hEU9YWtNd2lKI1683cXFVzSMkh+2nuu9K0JUBoAnrYkKVZpAKF9G7y5n/KMZrP2xPuUFSOaruqriffSEX9Euj/k5dgewEyQCFTif83LhkIjt5qJ1LyI4ynIznWl1SoAdecEp+I5WmKBB2fr5yw33NX94q6HIP0jW3Np2E0r1f7fUjqdxV+iCRULU+yAwPXFvTL7HqfFLj+wCfIbOg+nsW03rGTf1haLvAZA/nC52pSDnC4f0qOiA6WtK20BldZUaA6GO3m5ZOCGyemGK4a12hM3BXnbladA/yTRV+pH7IiT/9WOijGGNXzV+K4wmdmRjU3It+QwUCRat2mGkEHhOcQY06pWeQqBGjHkWcceX8/drkk+tYysHMXVk8hLhLGjUVgivK1Ra4K+RtUcZO5fkVkWQ4W8fyo2tafhGEDSsflUH7yj8wsATBE9YpskR+r7Ac8xqdxtEAfRioGXSprjbLI2DAZZz9HAYR7rUHzvh/UPpFvrLbd/hFf7sF3RimWNpiGsQRZ11RqfZkck9IJu/FPU2DYr/HWUdskJHuLufXCvDbKn0F9sM31Hn3zIuAMTUc+tQsO9ll6jnNnW9Ulo7d32jEQMqJIrWQL5+Se0a8lKRp+XhYp4IfyUaTRC58vFEjKupeFEpU4EOp1AjeALc7vZV0ovza8QSl3ru6xFpY0/ckElMOChkhLWSDHLCKaFK/qC/SIfT50GJZnkCr5SgXZRddXq8Gc6XNjIzSdCF+9YlUFKMiri/sn1Gp/dEMhARah97GidLqitLNBlF+H8XoQmdrM3GXBSCN6izNn2ON0OzpCxOuM917OZCw2ZC0DSvNuTOFCGGYf1TYgUbgK2KKc4zm/25dz3GhVpFqs6x4yhZBbiy/6FD1vXW/aIcDiSUoIhwrUtxuGGZijb47Jz8JfUTblzx4eNPbXeYpygkQo1xXonjeouTuJvAH/zH+FK50zOLAtbN9AO6xjfX09CsjKitMVlHWmmQybLoBHBPkC5IbAZxvs3cH1VAcy2X90WL6y/0SXNsGeLBdr1OWVuYg+/wUNiR7QnP2ec7jNrZZOosT6Olwn02Dh6zSwKoDnMFLfk7lBO0p9mWjex7gEFXNfxFO19qmaoISUZEgdTuy7sHgrD/36o3XeFdzLFoFnOJa4yaENBXdTSmVZacz+5IGdVkEgjQt/TxuhNGHGtQuzNDfM4iNZ28Ly9S9WkUGMNAfDRLr4ipZkJxUA6HnlOi4Yb04/Ze8rB+HEXpDGC5Jpr4fN62LQh8o6kxknE1P5/rNmz43jehFlRUvCyNi3Y5St7lC7a2ogCt3Za6M7AshQdbVV2+R2DuuiLEJz0MLhnn/1/F2Z2U3h560PrnhR0Gc/5GW5DwO/DGrR/4PvL046BKjUp1lfrtKfE4osRTS9/oB0GrNW3cYgvhU8ld61sHhKOf4P94t4n7h9zdRXDaFv4ORPHokkY+NA9QA49RmsGMfJLu1/RXuluq0J4fsUUBoa9dL9T0yDJXvGtuoln8aYrNzoapa7E8cR73/wX6KwBPpwCUUlxsBtOj0rnca7zu5FqJC5W0U8Yt529SAI0S6nmWnS8zguQLRzf/gRLaqSQ6E9T6Q84u1cs56dzBMv2eBG+zAKw2V0x1NJX1gC8M2MYZpScdXEKPG1442UFWTEUlkM9OjbR4FurtJNV4IqEu1htlgltESO0SeZMHZ1JM7bNtYegevwPSCmW+S8uEGj7FTSSV0HbDg1rOnt4Ws8DxqN2T/HOXNd5NGboZ8VTSD6g6rLWcoWOwsyeG08GPG6KHPiLRunEdTPNmY74ObRGT1VCHP7nmBYmjnH+kqK6rDyrEoNjdqc8uG8yZrHWBXU9weqD5rpQ6S/annq7P/GiYepA2ZDdJA/GbdxpHYatPgkXt5sop564gVHZamW6cq/cdADaLCXWt1WgK7y11WaQR90YOen8BECQ56pmJbLvzzfWBhUUJP+dAEEK4o4wZv2+IBAFEdNkNF3mKntsLE5PDLA/IEiV0rziyORzLJsoxRMCQV/HlpCkXsaizcHT/vxU9iadf2hOkKehGum3973fFs7uRlqxz/oDerFL0617PqG+VYIxjeRb2IRLZJGH8vp8ITzF7U7HUg8Crs3WpVY5r8wxn8tzGvUUwY5csVu15Vmm1xcs0UL/lUCkrOXdLtlaa4pHLeQgpd/vu1ZzjMOcgzfQaIwiZK+fMZjRLAHUf83TSCOkovb3xPkD0jElmb4TBqFrwn8G4KWr+RM58qhCnlVimQ390m8YLz+fNHbBRDs7GJgHSK+v5Z9cwZq4glnR2eTjnqTy8Wo7BEg24CL/RT1AKzOIE7muo8oegzn8R6qab08LzTcbb0ippsScfjQoJhsr4jKG2pMVczpCYqptZcGD5rxTHFbL3+NDnEUptRMyARhF2FMiM7pgaB/IpAna1AHa5EPt7oBdzMGg7kOdSOpxrPXbdP3l/+QCfCLMpCsxFd3VAxA/IPVvK8JaenCYCadhyZ6rJeGxTUh11+OOAjrXIJxb/EbIy8rv6h7hywPp9ZhPCcgt9BN808JhGIaKwtL85jO5nipQyAF690xJ9A2DMuCx55TSG88fN6rqBMYDI+I+DtFmoAqJB27B/xxN9xMLnQwLcLCHOx4GIFCq3/6i7gwJePjoG/HKNb0XjhuEQmYFzTgtt/uIo1bBX4C+y1jrb+R0mRj+RyaDkRus8W4WW73qbcjpjIh2tGUY6KJyhEaKiK+LHG5euQeYZO4zXoKbZOWiJTvJNNVrWugpXkIIIE4zK/g4JKATQjtaC1qbJ6khaJHxOTS2goU5zGyjmaPKvVPrBh27E7E2iZ/6omwpBARV/9EKeU1m4Msz8Q7y3MzEF0C8VIIqAxB+Fk8qG970lhV/ZIX6CsxiHqybemqil3Qv/cWKm96fPoMJWSA1dcF03dSwSyNMdvKKBCYVYLuqr2pISKPaNRJJw2R43RNE6avh/TNA1tGJ/ilW/e4LbOvIh7cS2OsbjyXcD6WS0DYaDa+og0lSxehZQiDSt2fVdtF+DO7/cEUAM3uju47Fl17rUPkRPaheA+6/jpSYK5Nh6rSwO8Pbi1y4/L0L5SStva0NcscpH0pw/3Y9+Eqw1SDVvRn2r2d8vRC6YhQywdhKWraKGBMILqjiU2l5d3jb1tnQIwi95QiTJW7MAjJD4Plr9FGRGlM4NQyAiG8wSAKUbRCpmxE+zk9YhXjiC/Rbt983pV0VzovJW+90dH65IOb2VS+Wk+MpsRgZ86uEuxeGPyB++07HlAwqFjq0sm5Lvom/rcHSaLduJrDdabujYJRWbbY2QZptvGwTHAiaqsAafE9NQa2oq6hV8+E2YRbdEcrirxyx9JVWpti7CsFfA/egMevH0MR40/X1jQzMYbw6mr01MI833RiE3EuU79cpspC8tuN6QxFB7ExHF8yrFQ4vRniEkTgKc8kT2tC2HgNJJ+l/FwYXky6qbHj1cMtBGVOw3SFMHn5l5odYVrLqhL6R4DujKq/CEsEj742QjUogvrSb9DOh1Mm5Z7n6MI+YHii3bWp2abi25FJIiX3GM/137MQVr4wwQ5IQETnYx0CoXX1nLeqLjQ2VlOulhy58iVxN5d0Q2TEV6MPr+wA6lluGEC5890db42elDUvTbbMcjHGrT7WA4eEhNLqVT35NhLruSPkwg1UCAUz94Dj23i6dqS1MPh40Oyi0W+wfoWYXIw+siweU3qKdQM/IWLUwDjgMQuiK+CTyRgR/Cg+XmfazCLiF1JChK7C2x+ROCl4t2WjYngGRxBWRQqqrNqx1EesLx8Z8GOimBJK3Ip3O0TWp1z6fhibUBvCtBpCBH7Wz0MrsYEtW/6gd/rLbB2IcMxOrxgW5u+/ZBOjd+9Zg9SRf7ln5tqXgM7wZE2rj4u7BOezWvuyca2TpJkQOR8U/bR+LRjmN6RAS7MCfYSPtJWSbZYnQL8vGmJb39SyiYiER2Via1nlShjJEe3JgCwTOTiIQJ5h+NQeEs7qWkpIDJiQHb7VwcR7T1gLGhKAqUT5DPO5zvGPny/DOh+Lo+Xhxf5wTkF5p5yY0vM1gw2UZQ2nhCedQ+PBxACaAeuBYTyBs9aNWvYATPBLUtXJ3H/+rMIUQ3Xz5MJKdV6OhLEEK73rb9hfjPlA0gKO4j120U6VHh4AJvL3WqjaY/KCbwpCzUCADZmnJdpD4p4U5ry6/YuhcWXcVV4dFm5J8qADBWw9jPITjUtkf0lhIJkzhXLTcXQBZaaunvCCxyWh6ifYzNTTCGJcUD6DyfGam2zj4qdBy7DwBaL2S2IxicF7F2ubPDvx0+DEQVydAIF4Utn+/niyxDQpGlaaG5eRQcfYEHaZeHBOfZ8x6KnSsZnB8YZbLVBcEF3Mv/87cj4r/BYDYAaUWrrm/rWPImSVpvPlB3xQvVG305B+bCj4kIW4ZWzFnX7/nApDibPZxncAV04laDsD872g54z55DZylkUKHXF7Y5iFwsc0HDovYpJ1P+XIAb4pKZnw/e2BrTZn6jCeAAvAt6Z8EdXqS/KoRwK37xhZL7w17n2PYpqnoCtRAvnU/CocUq+el+PFEwM2GkhLBAJXvVbqxBMfPWlA8XMNY1+dfsV9Uy0C+WgSzcXw/ylN23DlELK9DPZ1nzFCvyDWygh1ABv0LXhuVuDEraYOrX0J/NpbYoxjl/mfncXN1DorfumMjOo/dWEk/OvdZ8w/66CtISpGM2htGRpT929qEz+kRM+2XpAqcSS9GOrLWVVUVIm3Ez/yIqAWm019Td/ytbE6eeYJaY+mJpelcp0h+4Y1hmcF9J6cZQEJi7foY8n1psVTCzE0QYMX+ScYxKxb/bU9eproUaSNTxHeNhomtba4y/CfLAZYXndn5ndeIjFIsRWRpwX3HwrIsKxRgd52tRs/iun5uy44w8u2wZgayiPbOTWGXUn/BDqak5EZebXbdQHyE0yEhUO5HcDnE6xlAuZFDSKLDTTZz9bWcfe1wy8KhSOwh15cBRibt+faUQgl7/5na6Nl5d1o7iUWTjOhjQa4z2Pha1PNGSn0hZFeICMKGtHJ6EGQbB+HF6+M2e8YSQjJ2cnG2SVpdzXlnkzxYqwXv0s0WM8nggSh7Viq5joXNiF3RJ0A9637p1HFJd2I7GrQ4ZTOWRi8jcZaL/25Pox9feMT7VDPV6TT++0Ri3a1aLS8IABZh2dWfxnBmXDWPdvrxmBiF3eePVqd2ZM5bI9YAN23/3qVLElDeD61xvgRdjkXkl2tqif3zsX1gGp9mzEm6suh1kWL75XC2kXlrCreiNi2pfI+iWVFJDXPd3MBNp7VSAZRp1jpt3ug1pQEM470lZXwotpDljklvGxuNeKwTuKNJw0EK74nc0d851QXL9P4pxZdM7pkmbA7IU2S2Xa/AJRP2VOz3Kyp9oW6FgoQi4noNkoHeNnprbQod8n+dQSSbMzNRZIuL/riHaxoOHkaGYwROCZwqcbK1tUnU2Qt1J+3UTvklj6wOD/d8lrZG7ucjZiCyHxK5XVtzq9lDJ4N1FvARCTUfnLeOLc5bmrtGvb8mmsr0lDDyR5607k41wzglZH1fExfmsXrEjiNLSzSKGb7FVusl07/BgeCclDsQkds2G654GVeUpX7UHaqQBEmJsIyvfxvz85+WyRaoYuQfSH9WpJLeUoXpUt7+Crnl1Jqz+eARyCmzL59OUUBwBuoQAl5VddIrfG6xvDA/RZBOV5AfwjOrJ2xRo4N42rCSFCcnOY7xfewl6tVLetiM2tGLqRLc9k/owyHriX1A9BnluzfDc5xdEUKyuwzWPG+tZGNDV0WLl1JyHPflzcBpj92G0AR0lGaMSZuKui5/LUMn69X9wPKc6FVkNEHEjHjQKPQjuFCokjN+N/6DlMscpE48IhHIa0Ghrc36GwGEiPRymXWKD/di92yfjZjDM3fdHBdwSxJRSBVKHSwh6Ey1/zWZRZ4kk+KMS8HuroIw1UPa+PDVpsSIKvmqZnZisbfHFWNW/dl9n5+wM4VIzhmrETz3k9WU3s+z84SHh2f7dGT/G5WvoisBYAgwm+pqFS0A8xyhy4PiKfgS+6TgnQD5hDEerpzgFSaMcw3yvDZ0+xfL0yznf0uY8N6APiqHdoJZOWqTPnTIbeBLc5dvFdh+mvD+sDtl8BAWzYR7QkSgnx30Ru7TH5a/g4byacurCNvG0lTgpkj9w42uqBp1zMsKr2riOCQwfCRKkuSX9CGADOYGqCHh1JUsk6RwvI9OvM9fCJoL7Sap8NUQ7mAvdB2ougA01NdqxVo8NeGta0R9C7QybiN4uAtDxw2zLTG9+0we68JkqZrj9tJilUV/f4wOLc83GfstXOVF2bAJ6zf56YworQQEDj6QnC+lqyMkGAr0QuAikm0jqS7fy9bYSBz5hekPILc94b8aUau3Kt69QI1kFEmcb19aFQA4bSegA9/hFi61RDIVQ7iOBqViYdGaK8d3zH5qWIjed0hR9e6o4zELdXWhOVOcPCmZIYYXvgUsAyGUoCszsCiTdwOaPEL2kRnYh0mNSZGb6/kr8XfbyUdbEZ7mDBYy0yTDxhkrpIoJmVutN6FHk/E4cTEolaGnv7x+QxQIKZus8IEygpdtBDxj+lC5M6HaJ313pLDYbjpCA+oYl11ISRJ/fB2oIdDBHFLefQmF1uHk7vtSmIyI7Q9HG0qxu8QRWecP8ipKR1o4bGrAhR2KcGEDE6k8r2F7N9lNUZCswXi/EXaOlPb9fdsaw1Sspku1xrmyADIImEs//XiPqI3Jl8BlrsHf1mAVCBmlqE7usMbDEpilt45ia5CXzVqlIZ95Fesu48LEATS3dyXVEjwQAqVbFBttbLfXvX4LhaGKv6P3XBsKWvqEFfq1rPYdohHtQH03ehlVMpZ/BRCBFV6dffGCrIa7OngRAbORd6wsIcR/gQSxhfrfHFmb9Ws3Pk/SikwIvAIYljNbXbvIpKTROSiPcmBDp4hxLkrjR+MfBFZLV5I4usLY6WYmjhT2kzW9XAxxLYCELLIf6lg6p/GFgpoRTm+yQ6PYtmKVvdTHyBxv28y3vTiy+reYBZqmC7x0TDasiMCcA+TxdKgDY4s61MpZyI1+RUzeMfx1qh9MBXg1tI/HSKpcUj7+qTrwp35J3ezefo6UZiEWMPBtx0/tJyaej7NUmUHVRBJfB1q0bsw4yHfui2ZOPNh/6R2/I0j09t9QGeRxpuJzB6DNbaPTOmER6WTXYEGXq7DhzkvCP247uSz6r7MfaasDs419fVF4RAt4XoxkFRmk3sjrhpNSeuDoG5RpjE4pI3rH/ESPaF6RIIJBiAbVU/ct/nKrDmBQPBYlNob0WmW07GhOvvz0m/BXTsPB8qA8Iesm6PsDuOLEEm5+jbniDFyXfndwIXHgWBB1GCyGV52MU+5iXguncQS8T+WyxaPDqCCXMjwPJxGObdF8mBkG2+SpqaBQkeN+1IL8Cbb72d3ySQUR/uO+N9v36KAiKVEPx8EERU0vfKi53JWN50+LSYqgHmF0UrnnHCNpcwfX8ezokGL4sK/rgFZlXnIqg6a8EJh7DfMOwMgTwRjjZ+TrXsj7SA6EaMRroFgxXRIOGDPYZgkadllrCosfuVZqNQwAY1cDJzuD4ocR7PgZYXbCA3g9Jd1PRx7PyRTNad56qFMVIv/9AYYd32opL/KQOuEa2LIoyMUHWsHVeJEgDnTAizkdfigKSmZVUDrztoGXA+B+9B+MYT2q5BETXJUKRLiEw3upTpXnlh7hkEk8/0D3rV1lUxxSlnDzLfFArxdnXRhBNu085RxiTwTISjItGPuj0MQknBfLTi9AeLTT9QUKRG7bxHm7P2Kei6fVAeNBP31q/OVsTuBJZfKaxLodsCxObxFdyJNLV2tAt+2SCAO5/VWcDOd7Or0wzbVGwbXJr73+/PYn3VfNQ4CSxdqgXNPWDqh9ZFVRQbSeb+bFmOpdkO7C70y6dTSHVuHlIY33/KV1QHDJ226atG4ltS4fk0ZNDrmPZ2Lps6qyMYO+Wkmsyw/ECuxfXcZ0zM7vmLjkk/LsX/XG0vaL3KZb2C51I5TVf8fBJmMxHHzKvaXDwSTGiya0f8ZZ3olqbqcd2cjXM0jicXlX0cJsaB81POyuItwEiYZwsHn4gymrnlD0mfAro2YoSC7KxDdL1DQVO+0a7fN1fLkv8ElaXx46Z8EGJ/W6akIr6uEuiFIQB9fHujgNzIzAgaDEYVITJJO5XQkyimdgaTBvra1hUbw4jb8imqVpd7G9dSoQVNPatqBlbm7NLsdI/einfpw6HdFlo9bpLb/wBxf2BGK/YWhn6LhzEvBuRuBZJTDv7HV9WfnA2SyT3HV/F6f+23aOYC8rxO7QQ1FI4/0m/OAHdCwYedzx6F6TIlSh668B+Id3ZxNP3V+Z82Tt/AHYSzDsxyYC8mxyk+Za4Q6u8y70AKpUm1NPP2WMeSHfqCc5mUcG67RR+sJWZg7P5iG4FPnFmWKv1nwwk+fM0IIA5p7xmHnj1zbj89sN0hc81tzI6enBjIyPd6P5GXzsmp9IRHKS506SAEK7IxfjQLxkNK1x+M8YAYLrD1qWXqo03kTvXgYllmtbguZX1FQGpXYjbZzgqSLxcXTKqQ/GhYqBJzZtvPaYGODBTozt0Rw6/vP+hTUJGOAYcEWWr5Mqy4792lLWmElkf2k2HiF5268DSkEL2oQl+VXl2NXgbfa8xxQoI7lpuNkURcA/pNz/go3LD+w41q4eQy20ecjCwekr0XfODump0XPUm2vvNfk4P/tAVA2PLhl21zoFOrSKjd6D1AiMtz/f41uWlBWCDDY4tDRMhyGsls4GW7P8b0/dGx6VTgC6oCCWxMyJyOgl5RPaFDE/EzGGGL9XUm5X9L3crn0DvEELm/Vx6HwlGWtnfZK7dA8/zJkr9b7PBgLeFlmXyfUBxZHF8kxgW5tcxvkEz0roS70jNLvk3QNCTUIwCHnqk5NRDEaewDCzjTR5lKzNzx1RHHJNiZZJ0lXrAsSM03iKPyYNdJfMwUAvRlKP49yIx7XS9cvseBWVvGNAc2I0PmR6Xc9KjqauqjgG/Q8i16OIPtQ2Ll3qDkunTNq2O65AEFG5qycHaB2/159N4n67iMEpyNowNdkq/ZlDxsX4dRKNvBUJaYqhID70qa2Rgq8+AzqTaJhuYrqrDDO1n/0rWggrBcFsYwo7ujJZblKGamFf+3B5MTAXNUOKn5PW91Gx56gtqTqz1dYMML1dFR/KZUZom7Wky7v9EfKnYbBseAvDuBFBFFCuXnhvWc/JS4ipUIe59Ls/kL+W5lteo1xt5bkJYfug17vGw6cqrOjTG4nQXZ+RbEDCMTf5JZ4DBcuVv+tGPyucc3B6R9NMF/lc4ubulrqcBPhRUjGBILbQ+4uBJ9eUHMAj2ijfMskRMLcV5FdgqIWhiEvxNVlZSRrzTzySfBUjZHCJQtbgDZ8nRWLwk6rQKWD5aSHuJh0vBgvlNTP+a4P7p59l0FYBPtoNpiFl/dOo05KHesQCueTxj7IB6io9sqTWxTu2PK2C3ACiXWNyxs52441hxg3eco87pSRV1NUvQeac35o3tgUpXtmtl2yHh3QO1mQ55wSqIri3PtVxJ57l0nOuyav/0ixzLEq3QlLZmLb8Y2JVlrdQMjhpcC1j0DS+VHrYIB4JgyXacVu9PCRoC5Y2+p8qfeJA3OFreaabxWxz5omyn/l55+ufQkO5e9iODCdLWl2crwLrUpaMCi8EUcVXGb3Z8oBCUdwuuohn1sivwQp1O+DaRFYXIbHQibdPfq4dU8WeiYJ4WKMlNEuQr/BRIGwOrAIM3Ppjmzvh27Lyx6xK14sUHgNy2ggNG57CBbXznFP/0NVrUQef5mMdso3AJ33SJxInqYebzcZ2pEVYHYczXE/+mcptBHb4ANtGohwQabL1xmFHav/wFH/al8TKjzGnYiFLEifJHL7OJD0x/rtzWuCrDToEWPBNtRKXFZqz/kBH6gsxzy/TUzP6R+C/A456FbGm8soK/uYyafgNmX0re6fgXeehUvtDCXdAUJElJt7AMv+VMdIrrOK7TAaHo6E8Khx1rq48yOqMqtC08so9cQh/AV760CiEtSm6PBL7JKCZBV4m7t8Gbbc4TQRawpuwTFyS/vt1JBnAQUBDPdEddlJlVAfbGy+OKkohOw9BB/JY9rDZQK1o/kpfl82umHijUnj0gVqhJCsrzUxYl+ygkRPDEPZqUIo/+AtsGplmBSxL8bUE1iBc8lCtShF2iqMC1DdHIH1DcucbSNtxOF9LY4IMng4T9eTYzDr+gnOPVxWBYMambJUexTzxyvFOneFg3r4FBEHqG3QZRgnKISYUQKv9B23A8vhFRe8uNZpBtiMtXqOQlVEbO/HzkRbqVaGj4s2XRVlhO+ewkvEaTp4pNLXG1OVF6ncxf3Fq94KmGuG29LLsFI1fuX35J0TsRNGo+TCioyTrXLVEjPztNVQL1/q5tGSrMPhfJEaQxHcrnqhVVqN1gfF+JK9Pgcud/lGa+Ig7eKQpJuUN+PYhBYQ/b6ahi4nLNe5+d8rQlfK/gl3OQ3WDGWuUMOt1YlBKoX+99JWlZr6tTAVgDF0NSHs5fqbU0euO7cXKnvVB3taBFHP6/KKZCBfGqzNo6DgZgiAELh1EYOni64dmOWUuwAQCKu+L8tnTFLlL6uKkaNtO8YGlOBVU9mQFYx4aGPgGEI/HTycxYXBClfKbmSErtcsuhalOh73FnzRz/thPjvRJcRwPtZmCHs1nYjivLMWWGprl4fRUOlrCDiwNU+9TZuaVsuCxj/4DzKfcla139igH7Z+0uskWkEq/c0mrsRLlVpl8ln0G77hwK9rLKc+RLeI6KLKy3Um5C6Of3qiKNoY/7ad3EFvdP4VICsuTMTii/bee9efmKAiym0A+l3hS7SofuEJ46In7BEO+Kf597wnd6s5mL1d5zNRBdOEmfNKyPdUuCW3u/SfFQes7nYlfV/B1DOE9p/pmgK+bx+eZdZUMu44uBGlaPvej5wxU9aumiyt/uCCZ4PyO0OYfFAMMqTaYcI8GxYeHO/3tDJsJisLleLpS/gvPLbEksIm3R4OCJ21S4P//uyzQ4EJZyYmWZjtknKJbz0vFEi0zDWnZHl4kvpMSPlVI8cEAG5r0JoNN59joEsMhUcPZ1YtIDYX9cnR711x6SQEnBGgTz6d3b1iebIdotlgqE03w87xlD0+qEykcVizaOB3Z+ocaMGWybZTIdpR4niV9mDm65EzKK8VQq59iMlABk54A7zAlMdkYNmaRuWJN+bLJ7RqEZf8vrpM0+3cwD0NctuwJJA13JIJVFlPStNIXzAW4pp1OnTx3rMZQfF+o4p92WDkF2tx1MUdC14Er9l1RlYsEYnOubj2IotL4tkgKwnE219ZsjXb8PJFkzakaWhRBJAkgbR6myiYFsJgC/lellsN9g1ML0j4HX4rwIzHbq20FDkBdfqN9SUnIbJf0QQr+QxHx4f0kRekXaqKZYUXYMbRKa6OObLPOaKGft7xFAgT2pHuSw7kdfloER91zsJPWQJbkAzyDFkkgUg80kW7n7n+WBN3CMXA3lU6QR23Ipx/98577h2OGkpcp5YiTX/TikBkcza+iwBGNBi/j+GwW8tGbKxpiSNEQqUDdqfscbVMQ+OSYGoeQKSLwREfUGDjR/emc+ZAJsy3sraTZkpHFZAI69dwO1dvsOw/Q+O/2lgghmEsk6NKzmfI+OYuOG2UoagP9Le/y9UABk4VHk54+6fW891qe1yVDT2KUc5hNeePBaQwVb5BQYPt/+2xEpqsHC4GY37hXyRSGvfwYa7DGUDbMKd8vud28h67mpOl7fe4uFRe/HOKf3TFs+9RX+QpL0+C2b4R/8VfkUQOABt4tcaDV34nU/UFXBUDvPYMYe0F24AZPIWphY9bLwt+tWvmuWwhvAgPN1rxvo3hpXvQNSPsVKgFUKENrmSCjWPYCUoQfJFpepI6oqpsVwJt6IlBFGO4soABNOS2KtnF9P7E9sSLK1WWOdGvYNhxKO5/D5ACMSM3oLy6XvjzPe57hP26DKKsIbhLZqcz8tJOcm1zlVKV87cVqDh5iOgGkNIKp7JU8eBp4VRPvv6peu3DR+ROhro3GOnpo6Cdltkq395hUi+pDXzwcONA2YjC4BKvX3JGZi77wJboSzwwPelRCe5297Gau3hHdjkNfDMaoCdfo4BX1IthlFNEHUm2nTsuiPe/rOux7FSlxIwT09NqnvyBmWQYcleqlPEreuoCZRFvXL07v84AxlxNdJM/atDmCjpmzumIoYOf4uVqV/8ZnSwV78WW0S0R7AwI0EDq4B6IaI6AUBwPrNLY0eeSw24zQ6qVAgBGW5aK79Mg+Skj4XxdPl8axMl4x6nwmnAfEBIju1ssp4yr/gdi9kl+ScGW3r5NVqJ1fXRkW9O0A6JBottvWGypQioSH2C46bepNpt5dXRK28XY0hseEnW9fDBaUMHziavWy8Q7jttulrsjOd5WunqGz20rPiwX/3fdKuQgv0g4CDqGBMamo9htCyKqN0qTOxWP5MmZG0lur+eIMwtcrfYqJujT19J3dps8mrCySt1MRdmlNIykG8cIMszw/nMlRV1DmpxNn2zf3gflXm1sXSH00EqrICj29dnyNSbIteQOqjPLqBf2QDDVVCAgcCz7vER9m5X4XkTIeB4ppqaFa2UHE05QSkAhs7FkyPf40UFGlKG8GnrdKq0ZLUk9m5jleTBwhdDsYP8HCDKRE6LS48qLHD4pvSl3XFvmH8KBEmyeyNwwJzAJQd8MqhmKsdandB6Ec1bHOw8agmVGP/vvY2C60X8AnR2r2HhdkUbclW9+ozjmxmipA1AJIZnqxg4aa1Le0RHfU2vkpf68y/rFMYgCXue7eNqxoS0NkOw9a9/WcDFJOh0Grb8zYjPgaSDENIFMCM0H5OlIqq2r2FKGkaQSMzVm87r9L7fysa4xxVMD0h7CIExLBVbCe1/r/WavK3yPhHVe3XBjyVTDOqI4/90N/Cm5KnqxFrVYOHbwMIXa3GwNwVME+38OpXvNwD6l+jN8BDCRDEjGDFC+WObTdm+5/tfm0QeEfVUYFtA7gTobiCnl8rywroMyBHNClofz+W7OhssrGuos+fRhh8kBA+Ni0fYdhKK+qCZaY0LUDpn17UUKCX6dOZccCYzSsD2iSQP74pFnhlkOzACsapdT20zbjF6ZqLgELUPT8IglaX38zP6zfdyBF+NjNf247XNtmIz4QCO5iRy/GcS8jjaWMfTxI3EbUvzrprtgRQDOz/eMnyVQVbbFiTMZfhfQLeu+j6iY0Qs/QYGFdHefwzAYuVpPhVZK/tXsy6DAioLlmNDzAu1eQ5ihCnobO+MOZtSD0+uTpiOAvPwGWf52xDUHj4zbdFtZULPV4c1TmWflDGMkg/Ia6kPHprHErwFTGoBg+1D6oX8lSPdz5srAF0RbktUTmq44+USAYYowZQOVbM3BWMc603Oy9SQD3buNTgzJ7yaMBbo/pjkzVrpW5xYH0Ra11ykiz32vo4nBg9Zvm92KHWhJm7uQJV5DMPA1JHBWBMcjz/uZupwXqjoTffeHZ17N3waXUaR7cZDs94ewlhsbQrmI7/A4zJDUZj0qKiVQhn3f3AneEhDwl6GUdCBdKY14q9n6ay58twW2PRXXPJ6UE6TUs6oqH/0xgDpP3bx/mfcCUy5oo91agCPtpTfowGZ0tyw5mIOsUqvdURDhjuWLX/WIqaPlYx3zmJ3ahTcxtC5xQgKWrQskF57LaOvwYN0lzIwz/joNYkiZwLyB7Joi0CsWWRC6SapEN5TClIisNQtNPmfwKaKYb+Hguo76RtcQMXdRZWjEJNHq8KZKeg/uWWDOW6aygLP9JDrNNW7JfWDyHPR8GL+29zBAD5FY1WZXsmYfdKU1VTLLzAHERJJGTpwKZH5k0uZrDYM8zG9WX+RVDM8bsmN8cI2wKz0Td8GEq9T4DvY6FuhMsqPGHC1tkLdxuwBYP0Lu2RvjXaxodrZhKfkkIwGcfm+lFS4WMFPCz3FwWwuvNLNqv7c85xnk3aXWl49yCW0YTzTqwyKuKWSIFJum5G8BBjvxx2yDOZMh18M2WhRGX5VA0p3eAilBsGa54P+iEat2c0lLnTrXg7fzDLJrjO/213hRmT/92zHwHShntUiR+9KUWKWRcx9OrMWfefEo/p2FR7dbNWoP/P/se7JJUfBzJixcPvTzMvSTQrccDAmpwoLnh6pnsAF37U9Cakvwb0EZzywhYhfUyAZ4oAu4R1X55yrbJifKRbLIC6NaYqZxbpzV9ec4/SFSjJKEvmVGa9tHfUJayAvrPPbVHNaxlbdJOOn7f43GTTdGGufXu/daAhuYtol2y5rFVUxlDpyKCfYRz3fOyJZEjhxizetlF5kpK8kUuEpKNWnSG9VEdmcn7Tu0/U9Pho+IZiTincXepD9zQXGusmr6j19TKRCe4dmbGmRl1cDDNABYeOKT51fHc6+d1Q9T2n1UMmkd+aiSUgNIrogqtnInezaEs7HmtmpjKttWg7ulLhPvEEnGE5TqPY3iCItPzYojGET4V755b+cNmqdG6OBTlbYjDs4AAp+ho1Iq8R/eWa0/FOyB4K5JLQ/WqwpaNPuaoufHcJMEld4peiw/7uIRZ9U4otV2lACBY2PfSUUu7vJ/iZUtvPoJmd8K/BmbnNo2iumTtQxEeARnjsHdzf1JrE1L6NGFsI7t81c5GCgmWILKM5pWDA5HO53I6aju6916JkUl1YcYyk9Hwwf/waKzGbNaeXD2d1jBd+rriDyPgR5p32kxAb41vjMM5QjUrVztISMmbVDBnx2qArnLJ6ECRGZcfK4U6LCAMxRtE+Y32MobWIYqbeJLCsaF4pCXyZjPABVmN36NRAavX8RXO80JuF2m/Snmg2NL0dSW67EVH9I4fcFSjpL73r6ohLh/V+uK3786Tpz4u9p1byZEEFVjn4eK4wBNeQ7DGhdbFbRTt6/9b55EBMfJGakrqZ4U+Fgnh2uIpidUcG+iBjHE5HMRX2ZKkKLyYQElkw/Kbj2w8OvDaxd8rzWoSUnwkiP9DB4L1FBdrrf9anTqNfPehHTBlyG9cgcQLrR8tQEZN9zuxs8BV1Zf+cIk9kSStcCODphQCbZP7NYhgTuqPh967gyo6DhJVEeM/gq2arEo3NkVtX7D7mzM4zzsjwEazeZbygY6xwP5F5NLqPJ0Hxncni2XMn/GdHQmTbQF1zee4LOhZaDlBzMZLsKXcJ3sJsBmPODcSW/FKYiVgzz7wLdz0C3bFpTwedWpIZzG+H0kpS6hOFF5yNj/xUGHEQK75qxYUFuXq2vFITPVf7aaAWUF+eBV5VbBqFcUccHNaTmGaDdRTdXTurKJ8ATxX0DHWz2qNhGP4nrYJRCKI12hvvahdfR6RlR+zca42mjybVuHEEGrU2KvnHy9+mmlQDH4jYHZKC6knkne5Q28ldgrISAF0p2u8YVTy2bGLZqUkIV6zWDXi0DuZMiQhOJwUgZQNnrjzpboxif7CaCAFdxHukA5fPTubF6aLOTWCnS/EP8ZSOIyNGpkn86BVLEgxNoCo5XDdJHdnSB0Zy+5O4NQSsoKdZzikwg0eSvXAE6j6WW27irlXjNHHxiuOY/LaFsSgXv62JfK2/O09r1DMjpxv32Y457Wd8wFBf9V6i6CdLP2Z9qNFsxcP88S7N6b5FAkZAkO78T3f4mpUVnXed/QQC1AAudBr+gg118i202+jHf4m1tBvD2iwt/8PqoAWQSajReU2kDJ91lZ9cqfgKVbzge5mUlKDSh7aeClFOoVz9UEdTQyNyjj+u7JaX9DWyqtt6955fcvBJF1aKEjjPQjYV4+FQr9Fnd8NqWavBRL91OUcILzXVselzvLQtPmmvtdhkUNi8G+O+b/qcVyHvls9lJjRGbe0YWtuq9zXA02yIjtBjoQd1vY0EmEFvb3u3xiPt9Wix6NZ7ljWQVbw229SAPrh/hsIECHTLmxKxWD3/K6TUieQeqJIfpcIoOQcgmvHDyyRUevzKImeikRzg+ly1+qSicz7hh/DCm/39Fyk6M86XNkhcEgJKANNt1matUHBPuMmqkqR0Irsee0uIofjg8efSzC4Ml6OzAV1PuydANODV+SaVqKrg8qTvT2ROpiQHqoOAq3EdFRo1QW+1ak/AYmGEVA4cF99A82GRm5mLHhLHqOSqBVNF5d+tjFko2morW+bAtWqE3Mhi2uYPJEeL+puWOoJaLV9uHtQIj2GvjqEnPiF3gSNk2kq1rb+v31DDwcalu1nsmfE1n7J39uQgliDyyoBoudkZrUtnIUrDsC6iGs/DA1YU+EpC8VYQ4iw91D0O8kJIRK0Zo3YzUzYnm6vxq+9EDAP5SWf+Eyupwlhcyq7rgfu0UcsS/cyy18bZBvpooyg1q0GNkTJ+MwtXBtDoaChHEqMdF/a7GjUgboSb8jHDJrfqRhQ/bbI62r8nHoOa6UgOaJLxxg1EhXpXmkd3Rch7uNxgpPzxP/mBdrGsygnoth1z7Q/YLYJb7LwpuGREdhP+ef4imi3CBmJrq9pWR8/s43S4uxqNYHUv9ha9RBACBhuz+S4xTQTZaCKSoDHnxC8CxGhiHczvJUTlt4rrWQpu9+AvsrR2wMvwqpTTd2ETTsO/P3JJiLBUvcs0TXCPCRY2h9Nx8ZqMz8XSEqa9ByDLoNM8PxxK/62v/Wkztb9dlxfHsl4u4UjIZo5lD7knNDevOZvFRYHhwFE22lXrX+Sffrt3y9R1DKaG/GlAPLQQX/Hetzpmce0TT69U3cFZSUWj1hcJa25OoCXx3O5jXSizjPu68eF6JRu4ly0GPmihJAcdY54LAu+PeTtHdGWaRfb6RVp9zxwP+2PoTSQm+qFhD5LkhsYuT1IwWLIAUjU9P0z7IOUj2QP4sYABt2vX5hJCVUnjOBPVGQTmwyR8LSRc2WvhlmD4DMitovW8AmruHvsuxxMnY/ybXB0f6jgvY+7tMu0sJN5r4DBEBXa37SH5PepbiAlY5L6+09qF9dbg57qZdXr+Lkj+9ODwIdoY9Ogs9QXAMPBK9sNLNDM1mFaODMVpqeBBx3+/X8BkyPofOmxl+kYJsG1PP50FDBXj0A4uVUwSXOnyDvjHd5pupMiy5DyOMVDjPDi22YVTeKKPxtGz5/wLm/x/DzHO4PBKlriUyR2fdazZ8MZwZO2yzm40RwLqezNhsNT7aqhOqWBMfTbYcyVtVzrROKLQ/cw8h9MBYgLQZ5m7RtajLhjAmwWRubbOysVY9+MbTxulvSqQymjxTj0/yGmowXOk8LorLHbyciHZbi5Wipq5e028xOnXPq0SO1Ei/BmXFCr+iw4toQwld1d5KXZJaq1eDPduqLEuVRpKA9CzB7KJsTTpdrYpMaOsIFM7Wgr9Oh/caoRAohQN6A6HSrmbUuxffYlS4ymc4W40QYfauuqpQ/JTXe2l3gW1vBU3Q0CQWi+YnGMAlM7QCe806vIrrgQmejgYb3z21bFn0KNZj8qMbtk0fubcrDYYwmBhjZezZtAK7N3MQKKCODWwtmN/WYEGctudKJzRB3xrBGIXPbh2oyOsQ4psvw2packPl36ulG2AlW5rvS3xsDrZG0jPgcLNOBZVquBKudvtx5EyYnivmLREWPn30cbkfL4RsfTwuJVSFZZJFh6UkofGq/bkz/WqbPwyDk8xppCVNz7JQstijvxEWrb40THMQJebLnzyY2q2jx2SLecaR7/0b676f5ddR3aDQqQxzS6YlPvFcYbw+8vic5SAk75H9CSsEorQCVlJSk7DU5HBRkzDnV2QtTJe9fsfqy1sQNBXqUXzv+3HDVDSjlHNPKEmNGm5+zlEP/Pa0mLR8hxOG5PeuHfsO4YAaC+btxGwKVWC9Se7tv8fBJBx1n+Kox6GyPB1SVukkNQkjh9dl8s6dR8uwRo6Ep3zrpyoDHwNvpGU0zV5/27gpveUjCyrt2ZF4TOPsS/WygLkfE2dbNXsNDXjU0kggbh+REnbrOGVNbeYAoc4ZX0aRdyTYOFzlRKaGo4MoHLkMH9FMwYlY+jItBYVbIzsByLIUmu7xM7N3q4VtOAzdBtYpwYx/5yTIIJ9yh2VZWg/uPZimDRgASUeaIeF/TU+n3NBLOkQvsf4CKuJi9s4FqpE2p0HLaw6yIcFU8mcl8Jx6XPWv+eL9Uv+Eyr1QVYQfaJcVwJ6kjFn9GSZ3uvbIxaZMwi7x+nNLp60sgdzogotqc5oVT+LDsygUDk+S361me7L2BWYFkcDER/Rx+J0tgDZ6wwKRu7kFtxCpqtt19WgsF6LzpqmDlLORvOsY68JnuZgBdo7ozFmFR6uGXxbySNeCvPKl92vkVsYEYjZ70nSsNQz9WiIy0pcd4Cjnd16gHVj3X+IIr+ZH/gTnYy0JQvVtpoQKA3yqTH8ZK5WAWFLSXjNeHCwtYmaan6uJoOWW3ktmR0n9j0uxSEniCHfobcaa4adhh6U65iKCHer9DsvpoFJxkj5jhGLhPSjJ+hLddzatV/1Ocn1CE5uZoZAMtgkhUYN5zk9+VUjJxOTjDsX8kQFan+fCSw0rK8IhXNp3dynfHXSYCNq076Pn60lpsgbLC41pl75UNjAtdkXJ0OFBP9SOFxYd/qxoACmCf2c4BNjgll3P8P77ikGQPLbKe6Bprf5RR7SLTcoLj+WEriYD+XvlnCQ6gwN09MIkc6PH+xS8JfJD7iyBoSsLx/L/1AzaxG7e0eIP2dxroERhpC6jg8arrg7XQBksDHIJZIPRhy16WjWaucMUOLtxrgBU9rezETjoCtMnBYdaOAagkVHdueRkp+p0+SRoZ4ejQaCwhOiYRYYJC7NsV73oO8dwYLioC3qILoo9B/eMud5uERJdTB+L3gaZcXObntZ43fegezhpmSwHyw4dM10xfsXF1MY5XAR1XmGR9Qz8Yrc2BSBiUUf1wSye1tGQLKtmsheBI0zWEKzJu8/tdWQ84lcWgnXo9INPwDU5XiJi0OyBQbwRH1ahR14L10g9kAYWlDK/0N3VzcgYYursjTtw/2wSHmfTGJsx5NOXmMmVliBLLHGu6G0jFBLZtUkH7EzFzorhlKhKRrLqXXlXpO8crQ3CHEcZLu9XzwCc9SvkPe94gxwonijdizLHtGfLLKLF1cdtXMFa7Mf4P/JQHiBZIRXBzCKoqPaIuvh7X4/SQdEJnxbsIECUF90ZnrLUpBjTXiX4XAc3Mse7eTXKyZp8Q3Sf1S3esZyDQl+BBER4PmbGOeQ+K1112FbEeyqQZg56WiQ0jRCUmP+Kew9A1ZxSjutLVOfkpuBwoSkP4RGNoe7WrmyTXKI6nk1Tnz0oe2Vm3PjBDf8Gwhe+fwAYSAjlPra1TtCj1uu1GcdIAm6ViQn9Srqf1ym9fPIxInLxt48mCIl6DSTi4ZJ+XkJrz2dXWQqhpSF4nNWapdIjJH+p1Opedufkw0xHlr4vORb9BCJ3W8vAPdZSqI7VxbNaaOfqhI/8w7L9horVKv7MLnEr2l2XgUM6+i5Ix58xgRlYVxa+ltEdaupD5yktPEOlldMIatEHTM9j7h7hxVvQPEbtQP6BmDdVaPz2u/o7+Aiy4lsXGE+Km2ss6828uqY4y28croxcwQBaemP2+4hEA88WmmXnQTmIMFje/i5qVzP/dynhApy5GEB55hU7+jPdveexxyrULupZB1hjyqISvKscuKXOXZUnp8dPLlTkOIlOhMu9t4Vx5PLPIDK0SdUiZ95AlS0+/1macnq6hXYYejgXigt9NePxN2PY9CC0HftH0q8httvBeLZ48ootbmSIZgK7/Wm1zqq/lUDZBL6CYC5KDyLg/WfRKIQMNyN2X432uLr/f/9AoV132hvDNWvIbdgJKmzFwnqjd8+MjwrCINW480Y/0ve7EpvtXHg4WzJv5MuILg89gjdMk86QRO9Q/YKdmb+HV6eMqRTq/oudO/E6zvH3NzGgHNz/zI4Clc1kXUMDTrnDpBI2KbWe//7iI6d1A8nhX4F+4tGki7hfsA4VOK83fdLmcdAGqQRjtItVXa3J7vhE+x0h3K+fVJpM2FZDdY7gVF9ME1rtQmyQOE+F7b6vQAUregqMnIegpxtIKRhyTvfx+DFWZLf+VUZHUO+CicH8sE+9LpldACFUpG+WMfE56X+8xIB5l+Eu4ij2kBUNYythq4o1kyIEuD1kt9XQ97gS9+waaIHokWae6jm/Y8Govgmk31Z2M0SBZAIeudbA/y6RkBys3zsWVHoPxD73jIs92cougppJ3Uxf/pQcoOw/qt20epdVJgHhT5/Rg5mNf+bvQ4LJnwSxs7VE9Qc/myZF4IFBUAom49bMTIghVW6RJ2gfXkP6ovc0THTEpxZWx4zTkARVTfH75vftaIkZptS+h3ERciwL+zFBfxojqrdRqqdkYWAVmXpf+ueckOfXPrN5b9eEwl8OJWgoXwyPM73RDn5ix09+qYTUbhIRquBAIHnO03H3q5TFdSXzP+sPDF+FV61ALiJwLttts7/NF2qhFJI57p4sixeZfoEtm0Dg5wGwPCH6tc6aqO8oe5R+IkDR8TuyFEN2w2kBdTxxvejaSoap3bQlCW4svakUIjVrpe7zCbbcGL0xSe/T3hysCfb20Xj0oFitmmY1Q+1QAbHJj3MfeeZfxuvYYoF7mLnb9sF2SPQEFrRwt08qapY0ODw4ReEM3TamVg4j3BvgKWWLIeWrMXPSM+I3hBzjUn6TbqMNWIPDWj5FBYrWBwXYB71BOpmX+5iYomjHoQ7LUcQ867QRS3qZXYnBbLy/FO2tEGfzE/rGyNxED2nvMySIIs4Fx3fZIsIZn/tCkocG9krZ5TWha4eDI3zmyCQeBMYsXlRDNsMfjEEBFh6/Qhq12c9IUp606kEY5bwbG/QnU+IAyJhlftn2f8iRL5A7v4R9oAJGU2GYjNHqZUGg2z6az4YMtQyXcV9X9WBRlaYnfVIRsmuVGDhDBIoG6C8AkCK6LdXd0NgeShgVCNpx7iacd6L5r4rVi1Gco6rCBwBfwyIJs4Fhnq8IZrURn9zhkJ2FenUPijnbIom4cDNJT3zqMfvySGt4ko2KqwoGDH25QLfuWMbcuRhuQwYKgCX9VgClxETR6DM5DNjTv7F3ysG0kI8NKZ5AZDzjJnJD4VVPwVR/fNKHpzgM8QQGSapVEbQCuiSw0xjHphp0eDxZeames1Mp9WwQ2puhmhj5ql1Lv0eYJEpN8RFa01yfNY0KZkTpYzcO/Ckhbb36k9esVXSMPl1G/K7/sR9Mcqvz7tEmdFwGaO02c6azfLxlRg6byx5y5aqHXBgH+N8X+0pGSjHsaENs0tEcJU4XtLrRLBJGIFVEe3TvIYkvc3siaU1d3xi9t7TPq1L/+hMRqojqmp8jBLyo7KEuYZeOKHFM3mUkV+XkyhiFhmwxtLgSsGMbh8fE6hCR2rTOIinlmsF74yj7IpViQkLbyCbrvDt5/yX6I7Y1abrFs7QBI3D9QnlxlwbgZHvFTKeaFKcI3NvUQFQURMimQ5M+eF6vwSlYff+7/cWpYmvPrIh9BVONzVYOe2tQdAWWT5fJSYL5Upt0L6Dl/pZObBEdo+FPC4b2+iU09eJ6vb/kc2/uq9CvCUV9KB+C/CPAJdOu7vq8wf/Yxy8081PEnm7VGsIzzoFYnDvfYTUyPhdXV2yICWljxWqkyEe4e1n+SZCRACDyiLTdzj5Dq5ThMdA+CNJhV09iM2iW1Pgf2XiLDkIpNo8ugDtNdVTMEBsO+uHzrqEI+EwMOFr2gevD8TkmyjvrYH9Bw6rkARUFwc7DRpOCIaACn2Edjv7bmiS3MFeVgdj1y0Rv+v1DYqY6EwHst3CNlpq6XBW7Q/fu+F1R20aHUR5Z1LIZ7wvY0E/w99bKzAyUjG7671ZUYF6F5+Ynv4Cm0twLZ+GTrBp8VL/LMeq8XYgzYldrklMglyWJS7iWBhdA5GraO3m3rO2AorN4N62bHcpIhG8kbvIkybnRVTEWt5a5f7iIYJN61OO1gLp+lMKa9CuaUR/y9eoF3/jHgqh6iPSadglFYQ/GTsLkzIXMTFtBelXwJHtvmQtoXItuOsLGvL2IK/M295YD8SaNfSND8zTfgUXGYQRyrzsPYC1cxWOto+YkW9R3EinZBFUy/5HWXF6WeqLcPADGeJH3U642mjV9hMqA/GY+7DcN2bpls25VizlGv+FyH0qhDmmd0gUS8y90rDX+Xk6y6McJ6S7gM/DYcoTHv/2NeKg4rjMw8TqrlL9LBcLKWQxtuJxVX7ObKDCs6fNlfUj6iRrGPFdJD+ziFknCJKgixZ5RJQEQZi2MefRmUYi5crYu3Oh50a5Jf+upvNzFAo7KhxO8WRvoqnLO0wvvdcPsaVUOIcvfZoUierdTyFyoxwnJI91KCBroEodybtBGshuLseewOL8RJP+H2Oqsca/SYdeeRtivXY+FFQeTQ33eeX3DdtS0+wgHXVCCQk/CkG/az4aY+ExO9eyJRmpeKAXose57USPZEoRKo6m3uIY0rsGhjw0xAS7X1DuBTFVuo29v3dChgu70cPjpl5/xQmrPdA36PXNZRWOszr9FtTYYxG7dHUooremnYo1QnUGWsN/xygLq9TDGLLhVH/pc4pD+15uGiALFzU4PINmfD25G8LAsJea1dQlpC1s7rkYJUQqIwFNDY4Eh0dawLn8fCol/rhUCEbEHM1dJlCBpXxKfm7zt/ZpsbXgy68nEkEoLjs9rk0E9GFFZoYLZv/4qZR7nl7qBbeALu0FWvdWoNb4hCvlkME+i5nbMafn9uVxxXlpXBlOxHA7IKvKJLMXQanWkuK9A+2VI1JSDoY06+R0/g5TPJIHfO3roljfhM9ncx6Qrk66xY1H0+2UgF+oQgm28A27u9+T4rGo0sT6suA8Jdwthg1T9gojZro33dFb5pubkZ5ZHchLzsKkibaR3DHxf769V4iImNuKKrpgMMK8vcvF4YgFx9Asca63MVyNPtp5+zXPASns3bwdmsxnn1S54GTdkB4DwX4L7JXMnQGqIaS+mPgWxbIZbFcDNIrMilEIEGFczfvcACtmReTyzqnpITyfsh5QK4RKX9ZWtvUy4bWXjsLYbNV7MrrZsT82c9cmf4f8I0sSYqVIlcUYgI782imxBuEKs3OWcogWDmwlr9TGLtVSSTlyzHUW4PU9f7Wv06gLioBSoAf5esTj3FD9kKtTKQZfTKEIOcCYWcfIk4IkcfoFGKSLqsHhBpBOTfEJ6dxkBJXCSlknDrb8XJYO4/96XFd4ThAg4/Heg3u5p1kP3QG2yMuUrty2cFQaT3cWMABIB2diEu/1KfFFSKbfjTp8aUhb99C/ZA5m7h8JWsGwT5Ml9Uhw6CmNHyRA15TyVwIsOH0I1tFeVqQaoqT7wGjyqrJ9bI+WtpjMv5CAGQfj+k2aPOJZ/zLvxAtkd/Bzh9BZPEwVE0I0DI82uWK72P5+mHKig5zbXYrQE5bSNA9/gHvSND2qLV3hLPnoJp5q/NeZX7mhb2aWf7qkF8iM4HEHQ6YiYA+E+kPmfMGabHq62QBi8sSJ3yb68iTcA4YT6f+gJb6G3adGkY9eeu7XQZiQEi2fXRSKUOj/zLkyh4R3hOAX6xhT1yCvCHT2Jb9tAzSMxe0RFbM3g6b/VHgP8nyZkt45j1ZYBTwOpQIaFU7nU5focNbiclNOds9b6I+FOnBXwyAf1ViJPMKBBofmR8wg+77g5o3CiYUzQ+KdNxUo14XQc58/GKrIq3XSIefM9azql5sX7KlTsU8DGT1HlHIYnd10cJYsAEHoN0mLKcHTySHsjTFesKWsmK+siZFXhlavE6F44mweXOrX6FBoELRrvIrsst4OH+O47VaML4CK/cNrjlTodfRr3u2XZsHCcw9kXLGX/15sm10DYmP3G3387x7LDyVoplrs0pzIvfcy41eb2Ob/wM6tQNLxQKnfSbL0eyYL+RWR09qeHT/lWpCFvcISYlmdF/jMaIWDyxE/LA1tguYOSiQtSqHfgqHr1n/k5nFhnUBnU1J1eys/8qySmWwIplgfD3uNcFHlg6trf2B11Om/f7E9onO53sWHhas4nNuhBJsUn2OjOnOAFZi2dcAvexHytVxIdybjHcEdXUcp0jkab19hwZ0RddTUGjtyulBmpbfGD+4d+oynTEjmMlYS/pfoCyhEk9XbgbBf7wtFs5qleFrCmB0NrUYZLxmw+2wFqYEUy2hYP3ZxY8uhRZeFXZfhOD58zGBx7lo4yMjiBc0zvOGqVQm8d4tk1CRpyGJOGJWVU4EpHPxqgMP6hV7f0IxJugziIEJHavrZauRXe0/THYEOKpl/a4jm/fah+oAzHRBqwetjJBSjNp5LaZ3ZUNQElZJBDOF1e4muumSHF6da394Cvppq45QN1B2wYBfbx4Y9fnq5b+heTNTCmP9XhMQGniDhmdhGzfPUY5YPvTUhEcaaA2ucNDUO/xvaUVhXDIodrM/05R31bnFkjUjn34N7Aiuagl9VB9SjYsu83Ws9eoevaZVwZMC4uiZko2GtNzZCyMHRq6GKhvEGBiM1gLyvMZk3eR2dGcn19YX72JnDBY6RWncG7lGAg0YZR9lyoCyQ13gtnyBi05gPlO9yOeIYGqQrhgRpR+pAvx4czdaBMpVI7SgZMAhMSsdPUEQ9stTtwSabBmrln0uHsOMhDvi0bNRUWUmqnu3eiLgzk2XKGyTaHCe59vZZcmDkk8aOO6pTw5H+DWALBPMcCOmfIz4cF9E5zesXbQkQNDFk7vlnAcetbpid+Ce9MnTb3Clhv0lL7lyusJYCpLpalVXmQ67YNR+IIDh9vW7XeWnU3FFfdnO0yqCON1josSLVMTTaH/T3Q7Y+gOUofDwwXaGyGRB+4GRC2kk7zANlgd7PmE5kXda4IpmTbP2OqUJ/O9EXW4aslQR5PtYy3tNMamtk4Lwzb6WIFll7MVBneG5vPfEGslblvK4unzLLIvceI6WxhiZNc/nr10k9nn8ikKPz5jmA9oC+lWIE8QR4XYTcO6WZ7VMORykmWLBbTE1NQc8/TBpYSaYjlsyOK50EEwZC6/hyMiltFDU/OcVfSs/4s0Rk68qJkU5mIFxzQcySQSzLKmqQzkbb2ZlC8MLMP8Tt/ui2UK3r3IoyOWjDNfAV+2/iYAbaU/gcEuC9PqZbBCpHpobrsMSJpIpAbdk+lZArMaQfdQP2kY9Krk6TsjNb/ad7Ghc/HTlJyxRISEoijGyuLhUJB5Ch35PrR1oibmRE3vvhC5cWj/AFFMlliT5ELHoj9ieMLEG0BOkVRUXKuv2bfaF8AdXORnzTtMfXYqB8UVY5TvybX4Mkg9YXaiDDrp7KV8wVHpmx3MIlmRkznG4Q7DbYNTZBEi2yxQfQW37NrAOyCP8AXP/EHi/BLLFg/ip1tleZLojlnpdzKgSmJyi4IRDWNifCtFxTRjzh2z9DNa3KUZLZnixrksQWHwp2gRkmuu7HYPHYIQrdjih0WnNb7CL7hFDLjbfGaVLQh5Fu7SHtZTqDYzgY4QnM/x2PC8v6+qmCAMbOvWxZOIxjgpUF1ud2/e41K1bJAXPTZ0ctJLsigJDqNH6fNsXGGXNx7cwJPgP6INK3Qxc3ylfv0L1e9m37k+CqkJJTN6MvvQuae8WjO1l0JvBh6yHIrZgf/Bt/DNS1QULgHfUCLdwH6GVXxn8JChzrTEJL4dTZGD6nCwPWD+eeU/jxNc/wph/HYngIZcSTOnA7ZoHemc7pUYXx0Nr45Sbce9CyAvFnCzoIYbXxoDXYVwt/7sf509VEfvoLzjbFrRKr4vntb5dgeDiwRX6neO0yQZsOSoVjVvOOSAuP4PT+ezKgOTL5CMeBFh5fTyCTneXHNexLrs1pBpLHH3kmt/Gi6938ByjJyGR1wM7/rvRQQoS1drQjQ0vefqIJKlavxUAyi0PuILAyGGfaeCzz00DKjY1cowpRuwwf7rYPEZOByjttnqj6EUZ84F5gZp+4HJmTpMjNq0q/lyKFhwHKG0wkVp5h+gESx82VKGR+mbao8YOh23JnEy+eNJ45yos7d1gFc6GC67dt+OzE5TpAYicEpe2YtuuIHNt0hQpdLBdS8eqx9D9RSrya3h16jYIp9Ogfv58USTrQa6bOJgC6Fuw3VSohoUOQpQ/XY+PVKw2eV8Q1N6yxzymT6QIiLizm3kcA+jtFVJVj/IlTTGr7Tj6P8fQmh0ag3AJfRbLs8nmEQ1QHGUtaUv9djTgKNG5hVLyiujHLL77tNlHcYLwqquU6Z2V+WMoDwfBiMDqK39/tNhs7dXQhQTHYkold5VgNmV+WJr8ETyoKTHTS8g1RZL+KCbZw1LZoGTgR6eNleq+XGRggG9pbw1+WcW0jzJpvQle+pDWTA3yPaJogeuohg7EijR/48Se6kjwNpGStelAHWNOtzrfgmNxtH9r1eSRWLz79nRNF5th43Vy+rZ9FcwK7PlfJojQmk6yDIgDVpS2IJtFflHkl2pdrA/ZK4Grks9dfURGUNk54HimplKaYEZX5dE2M9W/60vxTLBE6XeIZ01h4YiHBHGMX+eAHZAHpSk2dFZUbQL/ylbq8VdzyOCnwzB532xAsz2XqmJFNJCZ6YuvEpyZtLa07GuhPki8MeZUI63KN4jC30SSX7/bWpsMyfpqrzmMI+cCYlmRUB0Mu4kG/untuIlFzWG2JnuSThOvNB87WuxDF4K9MPLtApA2nPV+2yMqZtQu/5eBgMzg8/6FBhddJz3kV0onK4Jbo71w6dhI4czF3ksh7/wVe0vAH8B/pVGb1v7xscPIhg6KL+hvTtq6g1+kCPpBURUhkj6yrfPgZ3/Xtc22MaQJp0ouI8smF0IW7P8ZfkCNRlxyoz5rOlXJ2YoBYf+hZJACLpIW6Ecg7s2fptIWtvuAgGvGV7dSNLkYv17ghjkJQx6tLucnApd6V56PAKNj/7Yyi6MOC9uwvXC4HnQSolMT49c6/5ZRIfWauOyw+arQBxET3gqjgZPldHDuhPDdYxffuJ1ityuwa75OUwVzCfQ3DhhKAfuieBFYqqN1i5usxjNFwKad4V39gjt2wLjcS1yX59qz0LCyVW9KbSYU9A28hy5DC7hdtdQxRU9PX4vfg8R4KZzpT7OhJe4Rwnuob88KsYJT3Xdb5uQj/iI2b9k+IAL2RazReg2nxwi3ia771jH8mWcStAs1NJu+cMgx6oarFqLe8b1HSRxQ7za0WtQhVKdhOSo+l5MyUbO7l4rtMf8vOidRDYSBoESyiDirZR/lirb7mNwOHR9B00U3KDHjR+/6/p0FjHCVpWNOzJcWfIRQkZ6XmbdXoGNbYi+/6K31kVQSpEiFHlf0XTAzQKDh03BJv6aoldSXInQfAEINY34mN7TGvaILI1iq1F8qQD9LdUyM1y1GkmIcoViAyaqPmTF6srtanuyTM4L1D0wyuj0tEVAfuycGdwEON4fnsCqlt5T6S1obgnUutprS4s5WpzQgzd4U9TRXJErli2+o2bS7A/uISBZhgh/679K/zLda6gWtuZwAvTGNdCbAN9uwZti3Hk9kKWrIq/zDHz00+fSYLcc5sgjgY5sWd/F9nGirgGojICMTxUzGmVVyjsC+0iZ7i++UKuLA2KCekIgylXj+DAZVKUFgBgXYW5+1bwyASMUltB5MhCcaMuivyyhZw3MJ7OjjmJyH+sH7zwWOwFaztw+KQpl6ETunGZ4wgXDkkep9RDpXHKdERy5R1KfOfi61l4kXklOVi+UvIPbGuKxTqSuKxjgg5aUU0X3V/EKdOugbYyeYKlYTyfe6Py6u2Z+A0k4k2giHiUVqkoC8MKxTXxmChSs68WryAMhUxyo84ORdwTONcLdmrVJbnyH+ugmyyx9iKEPADsMijuo2U3uJDa7Wnfr9gcycQq006VxIwrhk0FV/BDjqzquNOsEJXdrimGw0G+JVU4/5BNk+lE5kSCYz9cOOfNBtbtPUoVHnu1jfPwwGlaTc7GUxPcDFnEgwaHh5znVnSwPAAdXz5o6vI34Epz0NKfx11wmUjfW8nTAn60/CwPV4XjHM2yzXbq/EA9hUimpPyH+gMWQc8fiEpaTtk7l1iADxvDO8EMdlaQ0nXdXnhCuCrsoC+Uvlb9IaXpTbhDyzTzYYUPRsJ1khYU6+UMPk1YHn7mE5V3/F28Yia/wrwDdF+R6TmVzsqudzix7NyUGk46wXs0WaHIURcZDicGiV7SEhoVNTU0zgBoaSd49LNnCcmSgWRMUa0JKdpcVnfovdDcIyEcqOXD4VeP1baW1O5XKi8DuZzNuEL/drafxlkHz2RIla0Jp8ILNn7S3fdeg9UhAx9q0+SKtkZq2KsJrdjjyAjr3GfTjVIDAz98414NxYOtS7EWs2ZaFK7+4WBYoC5Hkeq4b/TVXen2W5sxGUXGVbea0PfIOieEzqtacY9iZH8JBwrLvaO9mQx8S8Xs1qoQA5mRuhLUFIcDGMj1wJK/K+vclB5Bl071Plrpq5+L4WJ77f/haemR3QBDVN+DYo/NMMFkqokI7b1nRwuzDmI5dEx4XMlGANd6UtZZVQ12+CHjwiLfAM9yPWaei6wRjGbxBRZUWxyt/lA3BanlqVbrdSdMBG5p3j4Pa9sSfYjUr77zB9h2qpnC6V8u1+XFmGBTP3y97KCCHykGfB6mbCNng2OYcDfFxSp12MaqtqOwry+xB9gUkHlnfW9DENAGqcYOxFOWwZHAJEeIuPuyLr3pc8euQGkJA6K1rmHJDoeAl370hmHY+Wk02WBNr6bOj8owlbEPXZobBQ/xU4JVN9l2GH0nnIedokXyCvBiq+jOf90wECFhhyXgaKiOos+J5t5i72+cySCooSeyr88ULT2mwUuMCLDw9Pty72PByiEtatpiqNeZF8Kladg4jD+8iY+w8ru/PveAVmrABMft/YevFyzmyB1LNidUz8yrnolKmitwK2bPJrQzSfyMg7RCZtnj801QmxB2Hh1RdODJ04NYCR84mkyeVmLrySQsPfWBiZawIPusj3W803YTrCIFZh55a7RhYSAh5uolGsv0TMC+pfZ8CJFMfhrjIkPX4iPlpoVij0m+1EDPaObMhssohxiQLjAb8un88eH/6Z8SnJxoDDY9JjIkM28xe9G9BMqE8CdRizNqXF+yzFoq+i0JXmGCunk6mGwVz7dw0Aht2yZLXL1jgrrUpP84ikBVljLiJmABWcOUt5aq4e2FLPP4IYwNw6/6kBGhUw92jqGvzzSz2IXFoSGkFThCZ6Hdi95k3hbTR+UyOtNXxKf3qOHtoG1+tO5u2H6XvCe4OZ0IsSdV2C22f4X0XRjnoLI9dkAJcmaPzyLbgrWgj/dizWHsrNz5PzGCCZ7zywhZMyk6RrEJ5ucZ5k4Fosm8+U94ZyJFHYaHthMhJSLgoHd9plpggxNFeaBMx2BdSg8d0qM1P9s3xHTr7n+uvFsfU5qJafAkyfAi/gC+OLxCw0uMl/XJ+id3bpdG4VxQwyKvZaxCWrPaRHIy9KcdR43jv9jfykGUTzB9KjyF1G0SkyMHMeY5wgAmcEp9B8ffD92GR4FQExXAD/Rm70xyf9mrg0HowJ+Y5o1trz3gJx6Em+pGPt0PvCVSXsmyA7BLMqIiL8iKyvmFzR0O7FJPoUD5dZJ1eKn4tDUJJ4Umb72XTHqR1qs8KsHPpu1Bas2jM6FoTMyoX5aScTz2RVJH0xso6SkxxuMBg3uUblz4fj83SnK1GADX8ZJtrY6l5lrbF1/ZuSi1BShVAdFnfBB3Sh1SW4KQz2mL+Y4svWwspzeGp4W6pTFKdMDjOxHzkJHkAfLjLjqf+T1Axa9og+Cl7gRTi70bSWjsQM9F19HqH1IdJOoerLMQTLpuVpFU//G6/hsxG6sFsnzMJ7n73SbIizBrcriqJQot6sKe+uP1gONUVuBIPlDJA49atkvafSdkS4NR+zciAFrwoHjdIsVSJKqDxAVrM15uFJb4cUI1Z5j3Wgo4gLqLZDMdNtYKJ1P7oBTGSBKZGTqguAYXj9FtcQ4sSbuwAvEKj0iSHfGzNYpAzMhIVEl+O5tVLe4s/3uEd9Gsrl6bogS5HKQwX3XK8Vnj7lf+5qIQiTSzRnfkEpdxxgU0LAZG7OSxjiHkVD2gFaZ1GjKhIedce7dFUwac8qA8Ut250wwH7O4rKHFECWEhhPfyyNNFFWeFrcIjCB9QkpXuz0U80DXFirexggv6bCvxlzrpYL2A02HykHogeIIum14ATyzZnKSfKNZqYUHkFr6qN2/mPO1WK01C9CpwXcl3fLEficn+qMiFNH5a/JFJBAF2ZZWJ5EP8mGzPCF9CDlr0z0YHruP+6bAUG47CNw5yDdR0WDTjq/DqDE8W+/fc6iTB4r9945YbHjR76ZqoOFAkp3KnRniRLdWK5iKvLCCH/Jf9vzHnX4LfdHlAiEucOADd6aaTJnMDTB0DnLoW9pvA/TvJPoH2GYOwUyBgDkGv7VLqRPzjz9nIWylnnWqIlm7L9YRAuucHIleKaTQCeUrXP0Wnyp2nmBxzeDiVOPsap6l6MYLHO4xg8HBAK3J1dgvBpIjcYDKZexJV5mf8c0hpw5ODKTwdkKCeeTezcPXh/9nI/FlRcIYy8sH3nKCQ0EEucVi+uinLNXGTmZXSuB5jYC2k1R6X8FYDLSs7G3qg+Wa30/SZZVsN+vbIWPDRqs9HMz/V2eXRrxClGwzMRZTnpwuqrD1GTjLUluOf9uPygJGxe+/EB6Ak5UCCsCWe2GLD5iZX8ywqGyaP9CGKOOsQ504tSVjAMPPpKo7Ex8LT3xYdh4QReijfasLvMKd8/bu689y+WY+S8IO9LXV7KYzmOOycnb7imsjeiBPCZgNd2Hd2fLIQOaLorPkKjFZcGRaNO6lp+pBPTMvw9QIbYuQZBlhu48VmV3i/3Y0m71BChUWR3cdNSS4D96YC5J0Y7ZFqMHBW6G9p9pf1EMvsoq2dzX2wSvNYXqdP47zyePLrk+nreb97cBNao7U34lHDXeFQ+HqT8XvcE26g42SyQZmHFRlH2UZ0kohpcgm7Li2wAo0IHMre/0XfRV0HtarB6og11KC3Z7/RUcqKzEPA7ZEJQgZNgBZE02MFT702HN67p516Nvqkm0Gjx83wQdQMeqxlml8LDK0V5SdTdnatEK7C+bhiQ3CLRBupVuTeGYhJY/BbrqiE1SY1vdXZ2SFuvNbcrI6ErGJV8/qH1acDEtu58Cm9IYXlR4R//8FS+sjKjiIPcuzVQ+9bV25MODrRYTzxFJYbLhp2Um/HKOncgLdKHj7tOrMZfxR6CrV1qRAGh+vD5dMMDkqvh3RtFI8M/B+95gOm4879zLjARkfVycAOqjJdoBfgWjWNsJnafTkmc7B3nIQv/Doeol9zaGW/DlpeEHHLSCVAFpPcoRFbXqIB0NIfCnsKcK8GmaNVe1S1WmDjR9kV2WjYdDpu3d+gX3edjZ363f9jQEbUhFXtuRXOQv+gmYCubqBrqUoagUdP7xj0HIFEZg93/KZ2CrZfN9t0A6WcpUJBI5WLyoLnqf11jJxzi7XP7icTGifXh8HPdPwOvmb7A1BFcfY2H1yrgpQ9LL1WPc8f4dqfuE91BNq8DtcEql3/06rGk4gsNyWI77GnH9IKwUsAFlrpUmA3zzUPojorig8/2Cbd3TjsCKM9wxliCLyKPngKsM1KFkqM6bMFtyxYYrU2eewcxYM6RkLIzuCbt2tjjkrWkSVoIS5lGaeH9ACsgsCD8uBJTg2FG+jOXwTTSCvGIWOiSPmrIKKcqEISVvUcMWhHEeUKjXTMdtBmPl8s4WipwTYa2j7rmaa0RNf7IXAOT77NGep/q0h0KdWRo5UPERTufgAqHgtum1dZEPq6OH8ILA+nokd8MXPhCko+zgkNqNlrLQew5ugiVBI+TSaF0+Nh/0lIpsCoBQWlDacVD+Vx3x3aSXTbkp6URafBo7r4W0YMJYL0MnwFM5mzSBvH459mHAZ0yzT09dEXgjVW9/ggg2LxRO6yGo5FTpGQS5EwMSjG3crtd3U4X4CO+KX5W46TC5B/X/DpEipFhWLaE6rpYO0r44KwsS9Ge9H2dfFY3QNvXA1sWHN6WR25HgQ091u/FmxcmTXpvXerH0b5xRi1MwmGmrK4ZAT1TapoD8+smzXuW4xfFWkVDOL7zk9xNtB53A3+dJrIzc5OTB601UXSFtQkX3hWaSnhB0fIWaxp9w7vGQDYtDAeTTDigrLMhVNfLUpJcIxhrMjO0Amicb+Ubauev6gApJbByzVQRTWq047GGRSYgxukHnlk5+xWTYTi31cQQCJ9ILZRJ3tV05M1AIgNeeDW2H8IBJqkzSl9nnKSajGYOD7eMyjHHWbG4SEV8CvAH8Iew6SodPSlX4spOyb4O8XdYQ2bne98jMMolgBIbc8j1VfPhmdPcqVcmf5qMjZcC2VzGSMF9s4863hYPVGq86Huy5cmg6zBz+qDU3yje9vmEr3yJ6kZhF5z8UdlkJdjq/581O9VuCR2B3lyEAfQoUZot9HdVILawreyRxAy11JlpE3UoO/fi5/5omkUs0A7Gvb5+bsteFVIW+9l+qR2dINow47smAidv0bLLEr/yqKcUanjvixyzAQCM5CVzq0r7rDR9M7wjLxBq9eBWRVmyK9TfSJqXHjL8T3l8phqzWGZrkRC5oiPO6C5Wf59fFDP+ituUaiEqytebX0Feyu7U5Leql5gBMTdDPsmK7KUOyA5TuWxjGc7dN7kJKEYpro0VWRhjMArMIGbutu6vN2OSHb6nvd508S4Q34uCRKu96bSAD7YHASNVhzXv8N8jroYf5Y7E9s4wTpkvo3BZkkWqpF0M1vka3jjUC/JuZvw9V8avX+D9bciICl12vr/bQJxDe+TN9MQwDJwOe5HRWZKtCtH/1/2brHVDE381FF3JIILjZf20UTFL4MLwmZtFv3M88Bv1x6hEyoaAlZ5p5QEWzlw8bJBt8orARhiododtduYtJBSF7octT9JzbeKdozaif0LBWL/u9RjbeVNLZ8UV44Ye6Sz56Vn8QlwftWL01WoPryii3ZZ930Zx6Ins/HGvGQmHAD+2qvuKQAs8Y6ublb+Dvhp3Y2NNMjsuzOvb6m4YtkPzbhlctKadex8tBQuo0zhmSxfDIZm5VnEDdG2vZ6kcykYFxgAz3wrkVyXQnwxyQIeYMIHQYT+257jBWD0yJIiC3PqmohMzTC/65XVgSsowG2kgnlR7pYY18nBQ8aVfJ64D79rH2pymM4xMU1Zk/OS14XiDcldhO0c0RhQxiPSY72XYxpiaKVYmzOcEvI1PzQa7+LVZ6pBIwn8ffWvhqa38b3IskTs4RBkYs9i+i9/AqdAQg2IOeWv2fuo5tEcFyefI9nATJXQchbBEQO2Cj3kaBe2X+81o97B22kYSwjOkgZybf53qZFQ6p/N0dL/VnuL1cYTGi8k6rMpkKGx4j+Mc/fcHUVNXTKhyO10FkvHiN+qSbJGepJ/aLXoLZ8RET0Bshv/4hAQgzeS7yl0n74cedqdnmAeHmQ2CyXvMM0MWpEvA2ezZIKU+WvUSaGpTt1kvMloerqnqxHLfT01Yh2n3iD29EWnrQsyjedi1I5SUgvQKBM9G+oAai15cO1con2QFz3UK7w7ZgzM+vPmbk2QqR87fzlbdTSAhrLXzqVfLnWBA/4+5aC+0BRMZ6iX9lH3QXtKU9D01K3HprdilL456y5lsl38VQaMbz9hk0LgquziMY01Znz2WE4ClHG9cF/e7stVmn89oNFUE9NZ1RAc97KzDEWHLoKwlCG6L20/2Gj7/M6PDhsvhY+FMzYRg+v/0jo2gPT0UTCfaLBDRVvKQgUSYPMG1dr6ox7ohepBUS0msHq/V7A6Y9WfKDgSLatqTzwhOXnuXAoFc1LsdlV/Nv7XHqg5TAohZGa1mOn44SyY1fyPMCxL1QmxvhBC7mxDyj9DUnBpbjdAzrBW0mUzZ51brDVW3f0A8oKL6FYBf0mwK6YxDMJogq94OPgpZyKHKBYvJXMfs6u0pYnEn/jPeTVQMK6uY9Egww5setjqwdQmwi1ea0/uoNw7QKPorCWZohFt4VB+HUy/ObjCDdxryIg/y0wXGMwFyftSyf0v/ESOVaUNOHg1aA0SQ0KOwx/oqBneMvSoxZc7SqvQaHcx3ZLg7I0FQgQ9799KuVGTfGNgWvzIMnHqMNnCyCLJMNoNQK9XA4Wkq+6tVuCUREehKj+szE6KlaSwgAPfb6JeGqIyBrjJK/wNw2yPaYB9wHia3A56M5r4OplAvdVjO1vrsc4I8LAy1zqqpo0yM1hfixHeLNDG6ufXaX/4mWxYpqL3hBHpPbnox49P3jj/wGgdZFaJe1JTer036xd0Xak5qCI6SV86xqAdAChv6sj7ESw0SU7w0leCi/08lfYfucRQHdzjO3JkA7lvHw0ouMCSCweP+ms5HlStT1HLlgQ/pkLQ0HiDkuoPtTY6fDW0UPlH3ebKJKJsiIlEwAnWQ1ExfQhfs1IRdbEO6sgyC7u2YqSye9WFoH3s0+d4P2X78UPcUsRitbiSflMds3+5ixk47wEAbwHOouv3l0AUb9zZIP32hh+8n3fJx3LXT4wqErJXRmufydvyJuKW5IkA+rD7B5y3hJGUFrf+je8x2WEZ93MMZZjKF3R4hY4E82J7y0z9znWEXqtnGce0dejOBkrf6CbP1VCh4ixhRvmOXO9yA0A2XQqeWYNfk1eUkRWlybRDBiE5SOOtjudxOpqC6Hv0XRqdL58/dsrEItVoppvb13l9MrZRKzOe/vtw9JP9aAkOa7ra6MbT/3YE4LlEJ5ticKWKe+rOGibg+N20Vx6Vg7J3byZG9+hIpULnZWH4Tq3LmlMA+oUfgAbbzPl3twbDuQozSElI95KSsXaBWevUxIWPQdY+4eolMlTtLwn+51SP6BWFEiioYy+r2Rza4OqKJPMbx7t0CZCtpMKxYQ5JCowbAH7J4Y3Eh3C04j1H/2a7qH3cVo01mg0KjVVR59qENmLLCnQ4LNMS3i2XshEK7QAIvi4D+egZPpMUywog3s+tqRiaGXIEMFp3rd3TuvLXVT9tpJGxjgQLGMKXmGL1MVjoN97by2NaOn0JoIbOQqeBIHTVbBYNON5DD3XP+rStPIfVbuHd+90TJpGh8BlfV0dLneK2wDMnndVGVvQLhvaQxu6sL3XsvtxmQzeFWUSHLeAlmTc9yNQKkXtOJWS9faewS8yotiXdJQ6EI1vpVOHgh46gljSllVDRx9qlH7i2QFU/dKpaQEbpAFUBI/eSUGbpgT2ORGcUGXXDWjQJQo+nCkQVnIMRUCP367os5Iw4Rb3LDvOi+/mwcBozzUa4WkjVcSIURKO3RTFCiY9j3O6C5MBS6Y0WbBooC0nOzhKxL8xMIIaM/tnyEzIdlABrz3f9XlCiQ0hh+C7/bNp14eUvnjcHWjBOSw8E7BjzeXkRQkpIuZSOriwZ8PiOLZxCkXFOQ4hbXa4Tu69lccJ9Hd0F1lxkg5QnAhhfx5WdcTkBH3SibBUMCLPb/cYypz6s4GGDMV5smYibldp//j9gbCEhqanpxLsoexOMik4SOt879z21iz+8V3wgG8CicQsmxcsqCc5QUqOZhnpO4qAFgzHF+noxN835P4xf5EsOcPvYWwtzK3WEYVGy5tuvxE5WZB246SGIDgeC4sMge0B4p70Tse4b6NjlPHW+90GmqnySqY83r0ilaew46qmwi4RzmOcPehbn4YPCoISjQ44RURV++dfU53vcKhkSj6cWuh75tdSSUNMysFwoP+lN2gGTwxOfrha9wWxDPpimhEBVrt6dcBIvdoUbCLTDQDZuUOVVhZP4sATqq8z7Ai0STnGxzKmAHG+3I+/tvrDN/OOTHwR6W5aWSRj+M5wmS5hfdvimlus2z4pE6RV+l6scSEX3XjFUVgbSuuufln4qZfmgBxNvIZmkPtMh4WHAtuqRVdgDOLksqdhjqc9jrNVpRsYL4L5fXaKhNXYNJfTorxbaoSpoqj6ZEp05xsc4y4Qryx7BRs3iYvuHRbCUsiCPmmGdUPXDn6H7woEjiz1YeriH6NPF5au5aVrtcw0DvEgLLKMuVq6QvzE1mu+x9AFhhIEE3jVvzGWs7x+IBGJ2hfG8Kb57q5sDsPmddrc0s2doavGt3j59SpKkbETAVxcSwwHbpAEsYTNPM1KhVl7EPpQp+gNotyPx7hI11xG47CrYE7+4xlCFpaDwvf9FWescjE9qNrcgCXvSeme0GAOo6QjsttWQcRguwWZb6OG1VPN2xZcfyUeEGLHhPkrziDDf4SHNaCcXXJ9CtFdyRMVueZNWqaoSKhpFI91MMLSXju3pGbSzJlM8FPf/oxZbRADvlZZCyb8fbb4mQVBZZ3GWV4hj4PCrLA1qQvEqs9XLsRnoal9WaSQhWRzLJmCurnGGRc6wxyAAejp0pAR70k0M8R+ziXphTbSz5jU2xp2cFe1EhegrqPqjFAtYWbYwsm9X969oYf76RSVpD5DfI8iDfFILBkfvnZaZtHikQ2tfNY1T0QOYafZ+dfiQjWZxqrDxXDWbc/jYZSbOzpgJ0HvC9wodOgTk5d5d9dmNrnM0LH8bvtI4zgktUZdf/DkYM10EF8yMhbFqvpMTi+TaLBUNd9aLSzSGAqu41xsKxsEYHFPhxozYZMPCafc4U5t8Ja7k34czb9pTsN2JFnwl8AmZSpI39KzBoEcD8fz0CAcio2KlaDIhPF8V0HkEbwc2c0mkpBazhOMI1d4cxnKG15nlJ+haP4D9g/H1z7jIEHS7enL9st+r19iJpqLFuJiKD2NT7LXyBzaAcFxIJ/fo4roeZSvHUyfgqUjSVcPiszEAuk4Fgqjxih+ln6TZW8b5sbDIvrB1Ul++c1B63XbFgHdVJTaRPzIXeh5f5u+QYvfa7pHyQV0ZUIv4SnfFMvTC0g0/fdaaBd9rcpxu/CBpbobKZgCIyVRDZGdPlZs8UGyu7+Hxb64E/k0YIIyG0d7ZSIcU1dOwyAQt25Ow5B4W/oUhgU+Gf+qB/Eqf+V11+GylEkiyGag2sSabnAwgaqTr549u7USX8FH6EnKLv1g9jl2zIU7C6GM3aeDn8kP+9aBM0Agrl165RV4/UHaXPnrBjs3YOHlrMK9jziNkwwt6+rC5FPPvSm2uVuOQouD4+Rk/8X2VoT+8bijB9PNpfsOsNhiSOVgntu7dzfzJItraFExs2ylPt0vanTgZJP3SIxPvZsgaDSBNmxIh0KPLS+EZkJ1Xy0gY8WVOZDbYF9v0GJta6+GUy7ek8lisYumJ1nyw90NF5n7L6H1aFMYqA/WI2COJA7pWaf9Ugf5pniETIJNyNXtonwZOLeCG380p2a2m5Fs4WDJIbVCtkJ77ah+h3HMvJJ0fzW8OXfnZDuzbWB935lP5zr2+vOc7CL44LjNt8p2deJJKd+d8n1mwKwxWxUjkxJRVlpIqwq1a+Sfeu1oNGDaOXyS/LVoiWAi4/RFFK77j8sVBWyTeqc13DCYWKdEbHTgEcIdtBewm3fvU99V8J4gYLJijdis2O/D+3FBz8kG/SwAXwjzKgO1TmXuA3syLPxxfnEUxttkUPpzQJgAzcN6o79tpHr3QWX3TVy4USKZJPX/G7/sFv7TB2RKaM9LvG8518UTl/oNK6/mqMpSOqsv0xRVzNjumgamqz/e3LG3e1lkrW5SquqlrDJIrN90AProjO2hsva2vAv1ZNPbHVfvH6K8KnMmDbXcZImS+YAXafdXLVILS/Q0MSKuRaLPQABT6AsH1SpBlkiSLXyhT/gT5IbfD6Z1Jx0n7l33o2uGW4lgd8BRn8WUeEHBHEn2SCXVQwlREQtvN7iSC2y8qSngF4ytc3vgOucrGccauebyUn9sdKmkhMom+XHRGLg4yr7NW/ZAq8UDCTjimw0unj204NYoihtZTNdXwgmCpqzA6Y4a3S/braI7FEXELgpjVSnB+dqkyFq3Tny2G8lAz1OtN0TZdE3wgbqL8XtsE5Ut1NayTqmPNmEhJVC0f6ZfMop0HP5VawTxA+lq1XoeRAoIGH0ojuV+9O13sh2V2zoxj5jVyNGuZDtqZVlEeSIRI05PVi7nZfKw+EuT5YTkdX/qnx/AmQXABJR8mEbt5A8Oab2RqMdG+P0zvDI0gODnGDSO2w4ZOrD1zi5LnYaIljibbOMhpDWcwsd6Ry5eUmiLQ24OpaErO6a3/sYLybm9xOJLqfn7DNg/5SKBxEfKNyyUYP4KtkSMQI5Xo7dHcIhqH4l3CRK/gB7WtFU6bj0mReNJIitL8grYbUyZpqDuMDT5s5WQsWjOEmRSbMiH7HIkEIPvRu0WxMnRCJKjGFWdlKGqK96T7jlsEHCjsPjk/9VEQ4W5qB2tRAFGJ5YGgbmyYxqxGxduvkNdd3IZKcIbvtEtH4X7aHeyV4Dcn4wkEzUNRRhISM51Av5I1mwi2lj3DP8d6K9iFzNVDCSb+eb9pBu+SEqYrvFC8WKSi8OcZDj50KV871120hgz6n6OZy1KOh8OzKNuCKFt9mVlUfJKzD9gcuL53q+oTHGGIKFz4+4/zLC13N3l3y4Fn9dzM02uGyBGoJXmF3jrwW9OguOsh1FVykE1suM6kC/e005VRngkgcn29tixbfGSx7k8JzTId+5wTXE1HgKXCtGlwA7L6FxS+RUGGP2az1Em91D7THACjjqlVdoDOltQ7Yb4S8n4kG/m/CvtFfQB0e/e/JMgICLGKds6v5THENB7WYOdJ0P5s3GQzdbeXjUAG5Y2WCUBs5LZ6xDZzv1L7jfUHqBbmnHW7U4g+UTYB/tW7B0Ya0JAbpzWFSoVQH6CbY6q9fM8ccelwWdxeWdjZm+TcmBAHpje+emw8T5mUgl7Omvks7D2xk04/HjynzVyBN2dI3dBgxTkB1keL9tMN0WgyjY0ddKI8pigHP9lOa8hb7F2bZIa/FqS6JJPPHnlyPbVl+weIG7j4ocmWH/OkvaT4qtcbnafk2ocwOkjSqUob66ehit1UDMwKXreD2R92MZugTHNe/PWAZesANg9eBbm2p+4kqK52j8MW3AhqaffDN+kK195DUM4FLVYm8BQhOF+OWoM5tTD8LImCNRenutbU6qRxpaMDXCBU37/K3Y7eobcg/IaZaBuw44FteI67Hdgufk5VqCDjlK7jDBUtVq07hpPI9ymWW/m3nNLQlusNGDSBNYXOUBDRWNnHira/1eo9GEwVgpXn2tG1PUUxT15p/fbfGXCvpsj0QlzwErC0ge/Oqlsh7E0QhpqDAcvlBJOiXDD/bv01SkM269rmghWHJPUbmpq4trj7H6cCMXMIwWgOLaTXR0w3tamzJpReC8FXDNwkxSCbmg/ag17JdPyptz7mR3k6KvXor6tFCfEv85TW7CDWLEap1AC12Ym+LK9/CxdKPnXz9Qz4xNXGn3sG1wAfthifQfjDyiCnLo2uhuMzI9yKxH4PUTt52mReMLmnHFrrLpDYcPC+cU7ge55guYhGv/ANB92YzoXrI+Hs6gdXnnfE8GGhfydGwvKBKCtpDecGnu41Mz28j9/LTVtSV9WZEoxANMgPGo4BDbY2p69ixYGQWATdyg9TRDAK7f/Lrlubat60yuVZ9wcwqZ7NBP71mX6NEgdvfK1EgMnkZzsDQl/wWDHdAoOYCo4pKwY5I/V26cKTO4aMYcV/YDdgglOtas2KtIXBJAcgotsV4YfF+CDN4T5WdX808VdXh3/UXLrAdcMDF3QIXj1HyUHIOkXBH7DXICbJt9eNiowRXiuB0d1J/FqjPFe2IlNdXnwFwpRusB5PLSv0Lk/AdI1gQmao8wwLmnoh/L9riMbMMsWAOI+5B71d+lGTKlxx4hQn4ixRfedyZUUsRcpGrgAS1XqCKzggl0/LFuyQpe9BsgvZGkEHQ4ELkl6bcLtiHZ+7uFxmRjnV7v8PP1Whug1igIT3OTMnmb/dGJPuGKY5fRdvWoatxfNU3ABi+fY7eHiPqC0gQDpAC19twVfWBtBur+ST+y7fzmSE5Q0C3mcp8/31XIdqm7sEZJHtFnXBgaTyG+fWRGAY70K10IBvKH2TE6IMzm1k92/Cn2payTupKTtojgP3uaWIgFVgV0lD0WGR0PanqiKtrBFwqznvb/rz2PgpSjWd2BESLQpxY+6tmKXZnjvY9xfR12CQ8o/aKz1t+XxCSzy0uE5f/kaFUCrwxjL8gT7SEUJshp//5/yvPFJHgJlgsvXp+gRQCSzz+vS6rl3BhMsbj/HzwJYz8GsWppOQDGVswlOHEaFE/qhImhDrt2DUfNxtt21GW7KwJRn9/mtYIjlnnwgESPEpwoLyTru3SsVGzRxnZG6x+BiseUs57lTdb3H8KG7UPeH1SSjy9wZHELnar9x5cOtOR7lOvyjWm4Ab18Q+qoMxxLCFit0V8SmOu7AU8XGY3eSXb6Ly+kaQmDkRlOstgmcj+rD34KNz7LTvLL0O1Z9J/nCjp+1flOFgtbd7Yg0t5eNrPuppxYxJfSpnJRNL4S3YTffnV+x+zVsuioseET/On2wNi/TnL2rAQIKswi7Er3Sv48D/+PLsa2WJOSk6DqcCLmusILDiz0FwKEhMewrxtNyM2IAE0/6hiopIQoUgC6U8CLirhWbfVibSnCGZlF5uywIcaUlcEaYP/evokbi1NSquO62XNnWR4+fB3M1N7LaI5pwdHYOKEjg9OaSiTtEDypKGOVxZhdQS0jEvZ46foNS4SBpwZfPn60p6pQldNUmimhWeU5LUnEpZYjPJU6hmAsh4AKaLFfJANrZ9ou428yoEIFuiY9UgOYkqtSUocWxyijxK+NTtuDdbh7NJcyLIl6CUBWQjZiL34Bk0Qe3vmT9tpIKus3r5CvEdEu5Va2Wxm8CQJT9bESzuFBeH0QIRybKFAUVqNa9tCXukd1jwLXYKWsuMuFda8R1UjVG2cvAZ+R3lBV+nLksL4Ti6lubX3hKFcSyFsG5rK9pJt5nlSGIkBLP/HFqLL/KX0S96NdOo4CS+GYPBk+lBZxz6Yie12vvUj8l4t1ik/5PmvbLOTPCcaoPeZ7APUQIKIcxcNUDin3R1okbeAUGwt7Ja3G0ntQokBhlajisyXeqbfPLrTTKpTauclKp+DGdyBsbzFHEYtIqZnlLe5wjluF/UID6EgwWPGj0FVKM59Jom3+0Y1QTb+IKqHZv/0FIEEuVItlJHSixdza2w0UN80Hyc/eUGv6SBybC/EEs9cOcLBR1eeQXXe7p7hfIhtxxBrGhk9n7jom/4LXF125WzPmMCUiNyE8iO7sVSmRf/iSNFBveZWGPeCirfJ8a43fk5jCfA3NPEJyMAamu3Q5im0DKo8aonWXtye9iE8vraixlVTAGSXFMjP3+XiOE9jrnXTDzARnt7+9gvHctQpaAI0za6N7bq9R1lb55jILwmx4Ih4OA0K1/Xx7B9jytPFBRhEO8xqXLhxotsIRjnGRvnkMK/KJ1YhE9T2mNmclLYgMSn+7dzik8BzoHt+EcXstV8yNpTspqsnS96ATq3A66NbF449w9JqViBt4gWi7yVzt3kR4XSJ8iEB5anMqG+EsSyrMQVv0sMeEysGx+yYs6G2xPJw3zqTq4RzDQXPhYra/VMlt7E8zzl4D7L3HS3kkWf4ZkmFmnjcENPQdkmohl6p/gqkOg+8McyzNxxb5Fl19DsSr3MTuSMqhSKDn95ibzYCEdrZXJiKaqu7BFBuju+jSObOPchog2IsE/u/3U/UK2mntvSnD0qNkPYoRTskBnLJ3NJamL0V4sEbryX8NMr7MKMJ0+h2+xMKY4KERpvUrd0c6ABXWHqLdY1QTugC/5dhdoLy3+KwgG5FnL0MZw6qvOvHkKQRoQrcKLuwUld15s05QxurH67A9eAr02a/vUWNBIgP6vOa69ZZuZKElWttIerRDGIAkZ54fw7HBctSZtfspPxaliwbOEH/Laxot3ZQonzvXknSVodzZHA1Jw7BcNRsYvl+KJ0Y6pMRPpIbaN/QSuHtnjUoej+vlVhq5021xMUPKxCK/D8rSRbOmduHG85/JrIimgo5wXWP83lLvRaxwCxeTGVt44fTUqsfUARmQcS3f5DbHR9SZ4nJYIEvcCjIqLezJ3I6S7xBop57j3ZyMQX0Xxr5mc6IUmrlOXM9fJG5iDZQQ9rWsGZ0Y26GzTAEsD6pjPuDa1XAT1MRpxyZ8zN53sl1YEV0E0EHvZqcnBnqMTXRh6zC9PwDXEk3OHs2zLLIjBhY5+7lDxp1X0qcm8XtWorat33mUx+kEDDgaDUdpclQq/ZM6mMYoF433nKbCKDxCozugSPVaRjNPosMDy8FujvIJSb763XuBGBIYLS9x+HZhYiUa9xod0xKV9aRt7yczWWlLgfK8qn4fULHMBSP48m/wTWfDBdTH8uDAKt5WM033+2bCpxDhmZtE+d7XP65yBTOf9/EWaCG+Gs9/5kVbWS0JlfoDH6Si2tVCzCRGfV0XZAUWfXOMJ5F9dkMagbwaeqVqqbVONDQGg8zID5MUV7IkazdAz4JLOXsn1RuZnoZNIGV2Na15+dRKYUAmXFmkWBJpPMBwT8N4bd8VZwBnhm3WzH9S0sbpoP0sgf2OmPvQ6smMyfkVK+OLjXYubmtioAhdwDb5/pLRg3PGwfHEz6v9OOe4AK8iw2cma49tV44In8Rc9jGcqSQlFXPdlC8366ke4U/ITFy0/SQBl1vWvGk40KycwWGaLf8cCtEi/4X2W8961i6lYnpfNQhGcQyC8s2oIOW+Pw545Thq3ZBEyNC8YDr/pzCEmBI8U3A4IiQJoHiD9kUMNd8wfzysC2Kqc4OGeWYsJxmDev4Jn4HV+vqpgN6xxSEMABhRMdTteHiJAgnQEX9BR2V1sNqh5EcMvQNYYa5+bblQn7Rli1UFCtQkP6ECmGkxmPNkg2CGS2mmf0/WEuTZSyPMtbbrnftPgleOmJ3jSm0m1EU9fQHQo1NZti+KczpJ8mSYIVtXzXh4rNJcL3Fm7Bbftpjmj5UnuDpPk8HvqKOj2DGJyk4R0Md1x7umiH0DTOXaLwO0EI94k7n6R8nfqiwekgUQZ1rRek0HViM5YN0JLWp4f4NRE8ErcGNSHZd58+9Kx8lmkc9ogfQmX0rX1kB8QQzNbH+eVDee0jOQNUgQcew3y+0QbifXrtLHXDIxsqsej41Kz7vfcQRE1zUnY2phYNILK8a657zyHNMzPiRhxs28s1JX2kiCMEloubOXnc8BzU+n7LM9wztf63eFWN/eWHXVivSdCWg5DfWsk2CF8aFJrOP277QEPdkWlOlewCVEkLjyd5wUn9ZzaKOJKnDQDLfliiRLTKlU8TOeQj8jOU8FfpM9tayJTDpxw6sVlZuJRAILfxn+QAGIB/W1FGDjuuVu62hFDBdvzVSfge95Ebf9pclp0GrpV3S+gwBWn5J7aGiim/fRyIN7YVVXJsnAnVeq90vDdAV0XearTqjT2Ck/AMkBW6T/ls/6VUVnFWs01wxkahKR0tRwyLRKgHefm3RWie/pTVQpUMZw+/7ozQSW+7vuZd8lsvT1iX5rwlpiaFnOnDbHsr1As6vLETd5HVbcBCGbJHcS7ax9Byd50jdYyagUtjAaHYX8ryyuR/bDkw1o4j8+hXMfbzy+CVmgrfRDyl4dn+5LxrqRAXLoDKpQREAHqdLSsVSJh1s8KnZ/SsUVq27cq+O6LMSBmhT4X3E750rmWwCsoCre6bT//oFWYALjp2SbcxnULBaTvnYDHtfEbO1m/3c9nJk8ZO5KHQTV88ivTWN/S2EXwmisTPdcupMrvI8e48QZdkZu9WHyKron7MKhGFJw6Z0KZ3tleVrvvJo89siUwByPY+Hs4gkKPBQbLQOaedcv/xeM+Ih8rl1eHEC/C65xWVciToVqSGp9HfbhVzFSrO6kBnv7mJwnRLvMEwqiNankVdJJMw4icU3lKyw/ecNSWIUddqlbThYMiq8nHjRRufs+28cq0OI9zhpvxFvFgSZE/eAYvm0x+9lZO+EH9NkBngaqU1NMYhdombNuy3awUN9p0mJQ//e9L65YbShgoc+ZUlNy+c6F6gDEHXV0JrzevPIZFAe2RyRa2dNqzLvihAAMCszYueqszzXRkSyobx5+LTLK2V3lfg3wbS9DzP3QW7VHdHbjZcttQRvtjrGveJnNn2DE2ZDIbvkCrT0H8RzbGDdmIq4P1ey+hoY/W6NuZKOz4dv4HUNznxdKV1Wf3MvqUv35r2jTKvpPWBUWNm5fytX/QJwp6qkIOsSx7Y67BSCbCDVLM8/VcMG+T0j+INrgL9sfT1ICtACH8BI0G6ViUZPVzzCmQHW2oVIwZjAoFl6+meO/pD8teO1E+1y03mCpYfW9S8qhtH2GhlFlebPf4NbezVv9xbXKWz0xezRNQWqUqtYRTUbuzK7KTvjG4rQHfzBpVmK4wDLnSIwdSzTSk1fPNeY0WOpPZTLlvQ59xwgfFrb326vT2hS1JAZ9E6sujFtKTiJ7bxI6o4cBhDaX+adXREThhR+MwA4TqD7rga/o9iY7d6TVRe14CS2S3iSQsD0R6ApnhG/2Wa0A0AY2NtWTjmabdKU+KgIRDP9RQYVjXiF1qC+xyNVG03I9vpmEpY/G/zC4nLOKgXAZ/uTikHI9Afbkhfgfgo9arWbix5eH7WUo9RQygDzwCnVSjbXc7MihEufVj6WGbK963pw8VjY3RS8IH1cy2yZbIcKLO5CgAUcXJfF2+McnDLKtXxyZaf7SPA6KJq+zF2NHyfoeTOwHhGqNcnHVr1hT73pcoyXyfvCYBnG1Bp/aR9t8hoI7CXM3UZOisWGA1SHZ2jf7k9GlRnp3mF/c1AV+JjvUsnZrsybEOQJg/dn/9eJkyykQHjbF56zgcPX6DdMG03WKUMlYz+uOZ+5DZy9E9MZOZ9GMoLFdrIPPQQLjv+GlCMpoyHPXkzIODjHAID2PrnaRpqWVHh0rnieDILKq+Emrd5RnjgE9pDUXWTmHaKuqqYlcgEz4zbi46dbWrAAFBjsQq1rLHIiPJEcwFLCOY4JNlXRXQJqCUKXk2d1RSBGzDP6HDSpo863BhVRFFF6uIpjQV7j5ebFe3UkkO/+coIo2BTAcgBqOtQ134s9a4QJvofuqBYMGOBMsWZ+sn/2AOxDx6SfAnDFGw==`; + + +Uint8Array.from(atob(($06269ad78f3c5fdf$export$2e2bcd8739ae039)), (c)=>c.charCodeAt(0)); + + + +const $05f6997e4b65da14$var$bluenoiseBits = Uint8Array.from(atob(($06269ad78f3c5fdf$export$2e2bcd8739ae039)), (c)=>c.charCodeAt(0)); +/** + * + * @param {*} timerQuery + * @param {THREE.WebGLRenderer} gl + * @param {N8AOPass} pass + */ function $05f6997e4b65da14$var$checkTimerQuery(timerQuery, gl, pass) { + const available = gl.getQueryParameter(timerQuery, gl.QUERY_RESULT_AVAILABLE); + if (available) { + const elapsedTimeInNs = gl.getQueryParameter(timerQuery, gl.QUERY_RESULT); + const elapsedTimeInMs = elapsedTimeInNs / 1000000; + pass.lastTime = elapsedTimeInMs; + } else // If the result is not available yet, check again after a delay + setTimeout(()=>{ + $05f6997e4b65da14$var$checkTimerQuery(timerQuery, gl, pass); + }, 1); +} +class $05f6997e4b65da14$export$2d57db20b5eb5e0a extends (Pass) { + /** + * + * @param {THREE.Scene} scene + * @param {THREE.Camera} camera + * @param {number} width + * @param {number} height + * + * @property {THREE.Scene} scene + * @property {THREE.Camera} camera + * @property {number} width + * @property {number} height + */ constructor(scene, camera, width = 512, height = 512){ + super(); + this.width = width; + this.height = height; + this.clear = true; + this.camera = camera; + this.scene = scene; + /** + * @type {Proxy & { + * aoSamples: number, + * aoRadius: number, + * denoiseSamples: number, + * denoiseRadius: number, + * distanceFalloff: number, + * intensity: number, + * denoiseIterations: number, + * renderMode: 0 | 1 | 2 | 3 | 4, + * color: THREE.Color, + * gammaCorrection: boolean, + * logarithmicDepthBuffer: boolean + * screenSpaceRadius: boolean, + * halfRes: boolean, + * depthAwareUpsampling: boolean, + * autoRenderBeauty: boolean + * colorMultiply: boolean + * } + */ this.configuration = new Proxy({ + aoSamples: 16, + aoRadius: 5.0, + denoiseSamples: 8, + denoiseRadius: 12, + distanceFalloff: 1.0, + intensity: 5, + denoiseIterations: 2.0, + renderMode: 0, + color: new Color(0, 0, 0), + gammaCorrection: true, + logarithmicDepthBuffer: false, + screenSpaceRadius: false, + halfRes: false, + depthAwareUpsampling: true, + autoRenderBeauty: true, + colorMultiply: true + }, { + set: (target, propName, value)=>{ + const oldProp = target[propName]; + target[propName] = value; + if (propName === "aoSamples" && oldProp !== value) this.configureAOPass(this.configuration.logarithmicDepthBuffer); + if (propName === "denoiseSamples" && oldProp !== value) this.configureDenoisePass(this.configuration.logarithmicDepthBuffer); + if (propName === "halfRes" && oldProp !== value) { + this.configureAOPass(this.configuration.logarithmicDepthBuffer); + this.configureHalfResTargets(); + this.configureEffectCompositer(this.configuration.logarithmicDepthBuffer); + this.setSize(this.width, this.height); + } + if (propName === "depthAwareUpsampling" && oldProp !== value) this.configureEffectCompositer(this.configuration.logarithmicDepthBuffer); + return true; + } + }); + /** @type {THREE.Vector3[]} */ this.samples = []; + /** @type {number[]} */ this.samplesR = []; + /** @type {THREE.Vector2[]} */ this.samplesDenoise = []; + this.configureEffectCompositer(this.configuration.logarithmicDepthBuffer); + this.configureSampleDependentPasses(); + this.configureHalfResTargets(); + this.beautyRenderTarget = new WebGLRenderTarget(this.width, this.height, { + minFilter: LinearFilter, + magFilter: NearestFilter + }); + this.beautyRenderTarget.depthTexture = new DepthTexture(this.width, this.height, UnsignedIntType); + this.beautyRenderTarget.depthTexture.format = DepthFormat; + this.writeTargetInternal = new WebGLRenderTarget(this.width, this.height, { + minFilter: LinearFilter, + magFilter: LinearFilter, + depthBuffer: false + }); + this.readTargetInternal = new WebGLRenderTarget(this.width, this.height, { + minFilter: LinearFilter, + magFilter: LinearFilter, + depthBuffer: false + }); + /** @type {THREE.DataTexture} */ this.bluenoise = new DataTexture($05f6997e4b65da14$var$bluenoiseBits, 128, 128); + this.bluenoise.colorSpace = NoColorSpace; + this.bluenoise.wrapS = RepeatWrapping; + this.bluenoise.wrapT = RepeatWrapping; + this.bluenoise.minFilter = NearestFilter; + this.bluenoise.magFilter = NearestFilter; + this.bluenoise.needsUpdate = true; + this.lastTime = 0; + this._r = new Vector2$1(); + this._c = new Color(); + } + configureHalfResTargets() { + if (this.configuration.halfRes) { + this.depthDownsampleTarget = /*new THREE.WebGLRenderTarget(this.width / 2, this.height / 2, { + minFilter: THREE.NearestFilter, + magFilter: THREE.NearestFilter, + depthBuffer: false, + format: THREE.RedFormat, + type: THREE.FloatType + });*/ new WebGLMultipleRenderTargets(this.width / 2, this.height / 2, 2); + this.depthDownsampleTarget.texture[0].format = RedFormat; + this.depthDownsampleTarget.texture[0].type = FloatType; + this.depthDownsampleTarget.texture[0].minFilter = NearestFilter; + this.depthDownsampleTarget.texture[0].magFilter = NearestFilter; + this.depthDownsampleTarget.texture[0].depthBuffer = false; + this.depthDownsampleTarget.texture[1].format = RGBAFormat; + this.depthDownsampleTarget.texture[1].type = HalfFloatType; + this.depthDownsampleTarget.texture[1].minFilter = NearestFilter; + this.depthDownsampleTarget.texture[1].magFilter = NearestFilter; + this.depthDownsampleTarget.texture[1].depthBuffer = false; + this.depthDownsampleQuad = new ($e4ca8dcb0218f846$export$dcd670d73db751f5)(new ShaderMaterial(($26aca173e0984d99$export$1efdf491687cd442))); + } else { + if (this.depthDownsampleTarget) { + this.depthDownsampleTarget.dispose(); + this.depthDownsampleTarget = null; + } + if (this.depthDownsampleQuad) { + this.depthDownsampleQuad.dispose(); + this.depthDownsampleQuad = null; + } + } + } + configureSampleDependentPasses() { + this.configureAOPass(this.configuration.logarithmicDepthBuffer); + this.configureDenoisePass(this.configuration.logarithmicDepthBuffer); + } + configureAOPass(logarithmicDepthBuffer = false) { + this.samples = this.generateHemisphereSamples(this.configuration.aoSamples); + this.samplesR = this.generateHemisphereSamplesR(this.configuration.aoSamples); + const e = { + ...($1ed45968c1160c3c$export$c9b263b9a17dffd7) + }; + e.fragmentShader = e.fragmentShader.replace("16", this.configuration.aoSamples).replace("16.0", this.configuration.aoSamples + ".0"); + if (logarithmicDepthBuffer) e.fragmentShader = "#define LOGDEPTH\n" + e.fragmentShader; + if (this.configuration.halfRes) e.fragmentShader = "#define HALFRES\n" + e.fragmentShader; + if (this.effectShaderQuad) { + this.effectShaderQuad.material.dispose(); + this.effectShaderQuad.material = new ShaderMaterial(e); + } else this.effectShaderQuad = new ($e4ca8dcb0218f846$export$dcd670d73db751f5)(new ShaderMaterial(e)); + } + configureDenoisePass(logarithmicDepthBuffer = false) { + this.samplesDenoise = this.generateDenoiseSamples(this.configuration.denoiseSamples, 11); + const p = { + ...($e52378cd0f5a973d$export$57856b59f317262e) + }; + p.fragmentShader = p.fragmentShader.replace("16", this.configuration.denoiseSamples); + if (logarithmicDepthBuffer) p.fragmentShader = "#define LOGDEPTH\n" + p.fragmentShader; + if (this.poissonBlurQuad) { + this.poissonBlurQuad.material.dispose(); + this.poissonBlurQuad.material = new ShaderMaterial(p); + } else this.poissonBlurQuad = new ($e4ca8dcb0218f846$export$dcd670d73db751f5)(new ShaderMaterial(p)); + } + configureEffectCompositer(logarithmicDepthBuffer = false) { + const e = { + ...($12b21d24d1192a04$export$a815acccbd2c9a49) + }; + if (logarithmicDepthBuffer) e.fragmentShader = "#define LOGDEPTH\n" + e.fragmentShader; + if (this.configuration.halfRes && this.configuration.depthAwareUpsampling) e.fragmentShader = "#define HALFRES\n" + e.fragmentShader; + if (this.effectCompositerQuad) { + this.effectCompositerQuad.material.dispose(); + this.effectCompositerQuad.material = new ShaderMaterial(e); + } else this.effectCompositerQuad = new ($e4ca8dcb0218f846$export$dcd670d73db751f5)(new ShaderMaterial(e)); + } + /** + * + * @param {Number} n + * @returns {THREE.Vector3[]} + */ generateHemisphereSamples(n) { + const points = []; + for(let k = 0; k < n; k++){ + const theta = 2.399963 * k; + const r = Math.sqrt(k + 0.5) / Math.sqrt(n); + const x = r * Math.cos(theta); + const y = r * Math.sin(theta); + // Project to hemisphere + const z = Math.sqrt(1 - (x * x + y * y)); + points.push(new Vector3$1(x, y, z)); + } + return points; + } + /** + * + * @param {number} n + * @returns {number[]} + */ generateHemisphereSamplesR(n) { + let samplesR = []; + for(let i = 0; i < n; i++)samplesR.push((i + 1) / n); + return samplesR; + } + /** + * + * @param {number} numSamples + * @param {number} numRings + * @returns {THREE.Vector2[]} + */ generateDenoiseSamples(numSamples, numRings) { + const angleStep = 2 * Math.PI * numRings / numSamples; + const invNumSamples = 1.0 / numSamples; + const radiusStep = invNumSamples; + const samples = []; + let radius = invNumSamples; + let angle = 0; + for(let i = 0; i < numSamples; i++){ + samples.push(new Vector2$1(Math.cos(angle), Math.sin(angle)).multiplyScalar(Math.pow(radius, 0.75))); + radius += radiusStep; + angle += angleStep; + } + return samples; + } + setSize(width, height) { + this.width = width; + this.height = height; + const c = this.configuration.halfRes ? 0.5 : 1; + this.beautyRenderTarget.setSize(width, height); + this.writeTargetInternal.setSize(width * c, height * c); + this.readTargetInternal.setSize(width * c, height * c); + if (this.configuration.halfRes) this.depthDownsampleTarget.setSize(width * c, height * c); + } + render(renderer, writeBuffer, readBuffer, deltaTime, maskActive) { + if (renderer.capabilities.logarithmicDepthBuffer !== this.configuration.logarithmicDepthBuffer) { + this.configuration.logarithmicDepthBuffer = renderer.capabilities.logarithmicDepthBuffer; + this.configureAOPass(this.configuration.logarithmicDepthBuffer); + this.configureDenoisePass(this.configuration.logarithmicDepthBuffer); + this.configureEffectCompositer(this.configuration.logarithmicDepthBuffer); + } + let gl; + let ext; + let timerQuery; + if (this.debugMode) { + gl = renderer.getContext(); + ext = gl.getExtension("EXT_disjoint_timer_query_webgl2"); + if (ext === null) { + console.error("EXT_disjoint_timer_query_webgl2 not available, disabling debug mode."); + this.debugMode = false; + } + } + if (this.configuration.autoRenderBeauty) { + renderer.setRenderTarget(this.beautyRenderTarget); + renderer.render(this.scene, this.camera); + } + if (this.debugMode) { + timerQuery = gl.createQuery(); + gl.beginQuery(ext.TIME_ELAPSED_EXT, timerQuery); + } + const xrEnabled = renderer.xr.enabled; + renderer.xr.enabled = false; + this.camera.updateMatrixWorld(); + this._r.set(this.width, this.height); + let trueRadius = this.configuration.aoRadius; + if (this.configuration.halfRes && this.configuration.screenSpaceRadius) trueRadius *= 0.5; + if (this.configuration.halfRes) { + renderer.setRenderTarget(this.depthDownsampleTarget); + this.depthDownsampleQuad.material.uniforms.sceneDepth.value = this.beautyRenderTarget.depthTexture; + this.depthDownsampleQuad.material.uniforms.resolution.value = this._r; + this.depthDownsampleQuad.material.uniforms["near"].value = this.camera.near; + this.depthDownsampleQuad.material.uniforms["far"].value = this.camera.far; + this.depthDownsampleQuad.material.uniforms["projectionMatrixInv"].value = this.camera.projectionMatrixInverse; + this.depthDownsampleQuad.material.uniforms["viewMatrixInv"].value = this.camera.matrixWorld; + this.depthDownsampleQuad.material.uniforms["logDepth"].value = this.configuration.logarithmicDepthBuffer; + this.depthDownsampleQuad.render(renderer); + } + this.effectShaderQuad.material.uniforms["sceneDiffuse"].value = this.beautyRenderTarget.texture; + this.effectShaderQuad.material.uniforms["sceneDepth"].value = this.configuration.halfRes ? this.depthDownsampleTarget.texture[0] : this.beautyRenderTarget.depthTexture; + this.effectShaderQuad.material.uniforms["sceneNormal"].value = this.configuration.halfRes ? this.depthDownsampleTarget.texture[1] : null; + this.effectShaderQuad.material.uniforms["projMat"].value = this.camera.projectionMatrix; + this.effectShaderQuad.material.uniforms["viewMat"].value = this.camera.matrixWorldInverse; + this.effectShaderQuad.material.uniforms["projViewMat"].value = this.camera.projectionMatrix.clone().multiply(this.camera.matrixWorldInverse.clone()); + this.effectShaderQuad.material.uniforms["projectionMatrixInv"].value = this.camera.projectionMatrixInverse; + this.effectShaderQuad.material.uniforms["viewMatrixInv"].value = this.camera.matrixWorld; + this.effectShaderQuad.material.uniforms["cameraPos"].value = this.camera.getWorldPosition(new Vector3$1()); + this.effectShaderQuad.material.uniforms["resolution"].value = this.configuration.halfRes ? this._r.clone().multiplyScalar(0.5).floor() : this._r; + this.effectShaderQuad.material.uniforms["time"].value = performance.now() / 1000; + this.effectShaderQuad.material.uniforms["samples"].value = this.samples; + this.effectShaderQuad.material.uniforms["samplesR"].value = this.samplesR; + this.effectShaderQuad.material.uniforms["bluenoise"].value = this.bluenoise; + this.effectShaderQuad.material.uniforms["radius"].value = trueRadius; + this.effectShaderQuad.material.uniforms["distanceFalloff"].value = this.configuration.distanceFalloff; + this.effectShaderQuad.material.uniforms["near"].value = this.camera.near; + this.effectShaderQuad.material.uniforms["far"].value = this.camera.far; + this.effectShaderQuad.material.uniforms["logDepth"].value = renderer.capabilities.logarithmicDepthBuffer; + this.effectShaderQuad.material.uniforms["ortho"].value = this.camera.isOrthographicCamera; + this.effectShaderQuad.material.uniforms["screenSpaceRadius"].value = this.configuration.screenSpaceRadius; + // Start the AO + renderer.setRenderTarget(this.writeTargetInternal); + this.effectShaderQuad.render(renderer); + // End the AO + // Start the blur + for(let i = 0; i < this.configuration.denoiseIterations; i++){ + [this.writeTargetInternal, this.readTargetInternal] = [ + this.readTargetInternal, + this.writeTargetInternal + ]; + this.poissonBlurQuad.material.uniforms["tDiffuse"].value = this.readTargetInternal.texture; + this.poissonBlurQuad.material.uniforms["sceneDepth"].value = this.configuration.halfRes ? this.depthDownsampleTarget.texture[0] : this.beautyRenderTarget.depthTexture; + this.poissonBlurQuad.material.uniforms["projMat"].value = this.camera.projectionMatrix; + this.poissonBlurQuad.material.uniforms["viewMat"].value = this.camera.matrixWorldInverse; + this.poissonBlurQuad.material.uniforms["projectionMatrixInv"].value = this.camera.projectionMatrixInverse; + this.poissonBlurQuad.material.uniforms["viewMatrixInv"].value = this.camera.matrixWorld; + this.poissonBlurQuad.material.uniforms["cameraPos"].value = this.camera.getWorldPosition(new Vector3$1()); + this.poissonBlurQuad.material.uniforms["resolution"].value = this.configuration.halfRes ? this._r.clone().multiplyScalar(0.5).floor() : this._r; + this.poissonBlurQuad.material.uniforms["time"].value = performance.now() / 1000; + this.poissonBlurQuad.material.uniforms["blueNoise"].value = this.bluenoise; + this.poissonBlurQuad.material.uniforms["radius"].value = this.configuration.denoiseRadius * (this.configuration.halfRes ? 0.5 : 1); + this.poissonBlurQuad.material.uniforms["worldRadius"].value = trueRadius; + this.poissonBlurQuad.material.uniforms["distanceFalloff"].value = this.configuration.distanceFalloff; + this.poissonBlurQuad.material.uniforms["index"].value = i; + this.poissonBlurQuad.material.uniforms["poissonDisk"].value = this.samplesDenoise; + this.poissonBlurQuad.material.uniforms["near"].value = this.camera.near; + this.poissonBlurQuad.material.uniforms["far"].value = this.camera.far; + this.poissonBlurQuad.material.uniforms["logDepth"].value = renderer.capabilities.logarithmicDepthBuffer; + this.poissonBlurQuad.material.uniforms["screenSpaceRadius"].value = this.configuration.screenSpaceRadius; + renderer.setRenderTarget(this.writeTargetInternal); + this.poissonBlurQuad.render(renderer); + } + // Now, we have the blurred AO in writeTargetInternal + // End the blur + // Start the composition + this.effectCompositerQuad.material.uniforms["sceneDiffuse"].value = this.beautyRenderTarget.texture; + this.effectCompositerQuad.material.uniforms["sceneDepth"].value = this.beautyRenderTarget.depthTexture; + this.effectCompositerQuad.material.uniforms["near"].value = this.camera.near; + this.effectCompositerQuad.material.uniforms["far"].value = this.camera.far; + this.effectCompositerQuad.material.uniforms["projectionMatrixInv"].value = this.camera.projectionMatrixInverse; + this.effectCompositerQuad.material.uniforms["viewMatrixInv"].value = this.camera.matrixWorld; + this.effectCompositerQuad.material.uniforms["logDepth"].value = renderer.capabilities.logarithmicDepthBuffer; + this.effectCompositerQuad.material.uniforms["ortho"].value = this.camera.isOrthographicCamera; + this.effectCompositerQuad.material.uniforms["downsampledDepth"].value = this.configuration.halfRes ? this.depthDownsampleTarget.texture[0] : this.beautyRenderTarget.depthTexture; + this.effectCompositerQuad.material.uniforms["resolution"].value = this._r; + this.effectCompositerQuad.material.uniforms["blueNoise"].value = this.bluenoise; + this.effectCompositerQuad.material.uniforms["intensity"].value = this.configuration.intensity; + this.effectCompositerQuad.material.uniforms["renderMode"].value = this.configuration.renderMode; + this.effectCompositerQuad.material.uniforms["screenSpaceRadius"].value = this.configuration.screenSpaceRadius; + this.effectCompositerQuad.material.uniforms["radius"].value = trueRadius; + this.effectCompositerQuad.material.uniforms["distanceFalloff"].value = this.configuration.distanceFalloff; + this.effectCompositerQuad.material.uniforms["gammaCorrection"].value = this.configuration.gammaCorrection; + this.effectCompositerQuad.material.uniforms["tDiffuse"].value = this.writeTargetInternal.texture; + this.effectCompositerQuad.material.uniforms["color"].value = this._c.copy(this.configuration.color).convertSRGBToLinear(); + this.effectCompositerQuad.material.uniforms["colorMultiply"].value = this.configuration.colorMultiply; + this.effectCompositerQuad.material.uniforms["cameraPos"].value = this.camera.getWorldPosition(new Vector3$1()); + this.effectCompositerQuad.material.uniforms["fog"].value = !!this.scene.fog; + if (this.scene.fog) { + if (this.scene.fog.isFog) { + this.effectCompositerQuad.material.uniforms["fogExp"].value = false; + this.effectCompositerQuad.material.uniforms["fogNear"].value = this.scene.fog.near; + this.effectCompositerQuad.material.uniforms["fogFar"].value = this.scene.fog.far; + } else if (this.scene.fog.isFogExp2) { + this.effectCompositerQuad.material.uniforms["fogExp"].value = true; + this.effectCompositerQuad.material.uniforms["fogDensity"].value = this.scene.fog.density; + } else console.error(`Unsupported fog type ${this.scene.fog.constructor.name} in SSAOPass.`); + } + renderer.setRenderTarget(this.renderToScreen ? null : writeBuffer); + this.effectCompositerQuad.render(renderer); + if (this.debugMode) { + gl.endQuery(ext.TIME_ELAPSED_EXT); + $05f6997e4b65da14$var$checkTimerQuery(timerQuery, gl, this); + } + renderer.xr.enabled = xrEnabled; + } + /** + * Enables the debug mode of the AO, meaning the lastTime value will be updated. + */ enableDebugMode() { + this.debugMode = true; + } + /** + * Disables the debug mode of the AO, meaning the lastTime value will not be updated. + */ disableDebugMode() { + this.debugMode = false; + } + /** + * Sets the display mode of the AO + * @param {"Combined" | "AO" | "No AO" | "Split" | "Split AO"} mode - The display mode. + */ setDisplayMode(mode) { + this.configuration.renderMode = [ + "Combined", + "AO", + "No AO", + "Split", + "Split AO" + ].indexOf(mode); + } + /** + * + * @param {"Performance" | "Low" | "Medium" | "High" | "Ultra"} mode + */ setQualityMode(mode) { + if (mode === "Performance") { + this.configuration.aoSamples = 8; + this.configuration.denoiseSamples = 4; + this.configuration.denoiseRadius = 12; + } else if (mode === "Low") { + this.configuration.aoSamples = 16; + this.configuration.denoiseSamples = 4; + this.configuration.denoiseRadius = 12; + } else if (mode === "Medium") { + this.configuration.aoSamples = 16; + this.configuration.denoiseSamples = 8; + this.configuration.denoiseRadius = 12; + } else if (mode === "High") { + this.configuration.aoSamples = 64; + this.configuration.denoiseSamples = 8; + this.configuration.denoiseRadius = 6; + } else if (mode === "Ultra") { + this.configuration.aoSamples = 64; + this.configuration.denoiseSamples = 16; + this.configuration.denoiseRadius = 6; + } + } +} + +/** + * Gamma Correction Shader + * http://en.wikipedia.org/wiki/gamma_correction + */ + +const GammaCorrectionShader = { + + uniforms: { + + 'tDiffuse': { value: null } + + }, + + vertexShader: /* glsl */` + + varying vec2 vUv; + + void main() { + + vUv = uv; + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + + }`, + + fragmentShader: /* glsl */` + + uniform sampler2D tDiffuse; + + varying vec2 vUv; + + void main() { + + vec4 tex = texture2D( tDiffuse, vUv ); + + gl_FragColor = LinearTosRGB( tex ); + + }` + +}; + +// Gets the plane information (ax + by + cz = d) of each face, where: +// - (a, b, c) is the normal vector of the plane +// - d is the signed distance to the origin +function getPlaneDistanceMaterial() { + return new THREE$1.ShaderMaterial({ + side: 2, + clipping: true, + uniforms: {}, + vertexShader: ` + varying vec4 vColor; + + #include + + void main() { + #include + + vec4 absPosition = vec4(position, 1.0); + vec3 trueNormal = normal; + + #ifdef USE_INSTANCING + absPosition = instanceMatrix * absPosition; + trueNormal = (instanceMatrix * vec4(normal, 0.)).xyz; + #endif + + absPosition = modelMatrix * absPosition; + trueNormal = (normalize(modelMatrix * vec4(trueNormal, 0.))).xyz; + + vec3 planePosition = absPosition.xyz / 40.; + float d = abs(dot(trueNormal, planePosition)); + vColor = vec4(abs(trueNormal), d); + gl_Position = projectionMatrix * viewMatrix * absPosition; + + #include + #include + } + `, + fragmentShader: ` + varying vec4 vColor; + + #include + + void main() { + #include + gl_FragColor = vColor; + } + `, + }); +} + +// Gets the plane information (ax + by + cz = d) of each face, where: +// - (a, b, c) is the normal vector of the plane +// - d is the signed distance to the origin +function getProjectedNormalMaterial() { + return new THREE$1.ShaderMaterial({ + side: 2, + clipping: true, + uniforms: {}, + vertexShader: ` + varying vec3 vCameraPosition; + varying vec3 vPosition; + varying vec3 vNormal; + + #include + + void main() { + #include + + vec4 absPosition = vec4(position, 1.0); + vNormal = normal; + + #ifdef USE_INSTANCING + absPosition = instanceMatrix * absPosition; + vNormal = (instanceMatrix * vec4(normal, 0.)).xyz; + #endif + + absPosition = modelMatrix * absPosition; + vNormal = (normalize(modelMatrix * vec4(vNormal, 0.))).xyz; + + gl_Position = projectionMatrix * viewMatrix * absPosition; + + vCameraPosition = cameraPosition; + vPosition = absPosition.xyz; + + #include + #include + } + `, + fragmentShader: ` + varying vec3 vCameraPosition; + varying vec3 vPosition; + varying vec3 vNormal; + + #include + + void main() { + #include + vec3 cameraPixelVec = normalize(vCameraPosition - vPosition); + float difference = abs(dot(vNormal, cameraPixelVec)); + + // This achieves a double gloss effect: when the surface is perpendicular and when it's parallel + difference = abs((difference * 2.) - 1.); + + gl_FragColor = vec4(difference, difference, difference, 1.); + } + `, + }); +} + +// Follows the structure of +// https://github.com/mrdoob/three.js/blob/master/examples/jsm/postprocessing/OutlinePass.js +class CustomEffectsPass extends Pass { + get lineColor() { + return this._lineColor; + } + set lineColor(lineColor) { + this._lineColor = lineColor; + const material = this.fsQuad.material; + material.uniforms.lineColor.value.set(lineColor); + } + get tolerance() { + return this._tolerance; + } + set tolerance(value) { + this._tolerance = value; + const material = this.fsQuad.material; + material.uniforms.tolerance.value = value; + } + get opacity() { + return this._opacity; + } + set opacity(value) { + this._opacity = value; + const material = this.fsQuad.material; + material.uniforms.opacity.value = value; + } + get glossEnabled() { + return this._glossEnabled; + } + set glossEnabled(active) { + if (active === this._glossEnabled) + return; + this._glossEnabled = active; + const material = this.fsQuad.material; + material.uniforms.glossEnabled.value = active ? 1 : 0; + } + get glossExponent() { + return this._glossExponent; + } + set glossExponent(value) { + this._glossExponent = value; + const material = this.fsQuad.material; + material.uniforms.glossExponent.value = value; + } + get minGloss() { + return this._minGloss; + } + set minGloss(value) { + this._minGloss = value; + const material = this.fsQuad.material; + material.uniforms.minGloss.value = value; + } + get maxGloss() { + new THREE$1.MeshBasicMaterial().color.convertLinearToSRGB(); + return this._maxGloss; + } + set maxGloss(value) { + this._maxGloss = value; + const material = this.fsQuad.material; + material.uniforms.maxGloss.value = value; + } + get outlineEnabled() { + return this._outlineEnabled; + } + set outlineEnabled(active) { + if (active === this._outlineEnabled) + return; + this._outlineEnabled = active; + const material = this.fsQuad.material; + material.uniforms.outlineEnabled.value = active ? 1 : 0; + } + constructor(resolution, components) { + super(); + this.excludedMeshes = []; + this.outlinedMeshes = {}; + this._outlineScene = new THREE$1.Scene(); + this._outlineEnabled = false; + this._lineColor = 0x999999; + this._opacity = 0.4; + this._tolerance = 3; + this._glossEnabled = true; + this._glossExponent = 1.9; + this._minGloss = -0.1; + this._maxGloss = 0.1; + this._outlinesNeedsUpdate = false; + this.components = components; + this.renderScene = components.scene.get(); + this.renderCamera = components.camera.get(); + this.resolution = new THREE$1.Vector2(resolution.x, resolution.y); + this.fsQuad = new FullScreenQuad(); + this.fsQuad.material = this.createOutlinePostProcessMaterial(); + this.planeBuffer = this.newRenderTarget(); + this.glossBuffer = this.newRenderTarget(); + this.outlineBuffer = this.newRenderTarget(); + const normalMaterial = getPlaneDistanceMaterial(); + normalMaterial.clippingPlanes = components.renderer.clippingPlanes; + this.normalOverrideMaterial = normalMaterial; + const glossMaterial = getProjectedNormalMaterial(); + glossMaterial.clippingPlanes = components.renderer.clippingPlanes; + this.glossOverrideMaterial = glossMaterial; + } + async dispose() { + this.planeBuffer.dispose(); + this.glossBuffer.dispose(); + this.outlineBuffer.dispose(); + this.normalOverrideMaterial.dispose(); + this.glossOverrideMaterial.dispose(); + this.fsQuad.dispose(); + this.excludedMeshes = []; + this._outlineScene.children = []; + const disposer = await this.components.tools.get(Disposer); + for (const name in this.outlinedMeshes) { + const style = this.outlinedMeshes[name]; + for (const mesh of style.meshes) { + disposer.destroy(mesh, true, true); + } + style.material.dispose(); + } + } + setSize(width, height) { + this.planeBuffer.setSize(width, height); + this.glossBuffer.setSize(width, height); + this.outlineBuffer.setSize(width, height); + this.resolution.set(width, height); + const material = this.fsQuad.material; + material.uniforms.screenSize.value.set(this.resolution.x, this.resolution.y, 1 / this.resolution.x, 1 / this.resolution.y); + } + render(renderer, writeBuffer, readBuffer) { + // Turn off writing to the depth buffer + // because we need to read from it in the subsequent passes. + const depthBufferValue = writeBuffer.depthBuffer; + writeBuffer.depthBuffer = false; + // 1. Re-render the scene to capture all normals in a texture. + const previousOverrideMaterial = this.renderScene.overrideMaterial; + const previousBackground = this.renderScene.background; + this.renderScene.background = null; + for (const mesh of this.excludedMeshes) { + mesh.visible = false; + } + // Render normal pass + renderer.setRenderTarget(this.planeBuffer); + this.renderScene.overrideMaterial = this.normalOverrideMaterial; + renderer.render(this.renderScene, this.renderCamera); + // Render gloss pass + if (this._glossEnabled) { + renderer.setRenderTarget(this.glossBuffer); + this.renderScene.overrideMaterial = this.glossOverrideMaterial; + renderer.render(this.renderScene, this.renderCamera); + } + this.renderScene.overrideMaterial = previousOverrideMaterial; + // Render outline pass + if (this._outlineEnabled) { + let outlinedMeshesFound = false; + for (const name in this.outlinedMeshes) { + const style = this.outlinedMeshes[name]; + for (const mesh of style.meshes) { + outlinedMeshesFound = true; + mesh.userData.materialPreOutline = mesh.material; + mesh.material = style.material; + mesh.userData.groupsPreOutline = mesh.geometry.groups; + mesh.geometry.groups = []; + if (mesh instanceof THREE$1.InstancedMesh) { + mesh.userData.colorPreOutline = mesh.instanceColor; + mesh.instanceColor = null; + } + mesh.userData.parentPreOutline = mesh.parent; + this._outlineScene.add(mesh); + } + } + // This way, when there are no outlines meshes, it clears the outlines buffer only once + // and then skips this render + if (outlinedMeshesFound || this._outlinesNeedsUpdate) { + renderer.setRenderTarget(this.outlineBuffer); + renderer.render(this._outlineScene, this.renderCamera); + this._outlinesNeedsUpdate = outlinedMeshesFound; + } + for (const name in this.outlinedMeshes) { + const style = this.outlinedMeshes[name]; + for (const mesh of style.meshes) { + mesh.material = mesh.userData.materialPreOutline; + mesh.geometry.groups = mesh.userData.groupsPreOutline; + if (mesh instanceof THREE$1.InstancedMesh) { + mesh.instanceColor = mesh.userData.colorPreOutline; + } + if (mesh.userData.parentPreOutline) { + mesh.userData.parentPreOutline.add(mesh); + } + mesh.userData.materialPreOutline = undefined; + mesh.userData.groupsPreOutline = undefined; + mesh.userData.colorPreOutline = undefined; + mesh.userData.parentPreOutline = undefined; + } + } + } + for (const mesh of this.excludedMeshes) { + mesh.visible = true; + } + this.renderScene.background = previousBackground; + const material = this.fsQuad.material; + material.uniforms.planeBuffer.value = this.planeBuffer.texture; + material.uniforms.glossBuffer.value = this.glossBuffer.texture; + material.uniforms.outlineBuffer.value = this.outlineBuffer.texture; + material.uniforms.sceneColorBuffer.value = readBuffer.texture; + if (this.renderToScreen) { + // If this is the last effect, then renderToScreen is true. + // So we should render to the screen by setting target null + // Otherwise, just render into the writeBuffer that the next effect will use as its read buffer. + renderer.setRenderTarget(null); + this.fsQuad.render(renderer); + } + else { + renderer.setRenderTarget(writeBuffer); + this.fsQuad.render(renderer); + } + // Reset the depthBuffer value so we continue writing to it in the next render. + writeBuffer.depthBuffer = depthBufferValue; + } + get vertexShader() { + return ` + varying vec2 vUv; + void main() { + vUv = uv; + gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); + } + `; + } + get fragmentShader() { + return ` + uniform sampler2D sceneColorBuffer; + uniform sampler2D planeBuffer; + uniform sampler2D glossBuffer; + uniform sampler2D outlineBuffer; + uniform vec4 screenSize; + uniform vec3 lineColor; + + uniform float outlineEnabled; + + uniform int width; + uniform float opacity; + uniform float tolerance; + uniform float glossExponent; + uniform float minGloss; + uniform float maxGloss; + uniform float glossEnabled; + + varying vec2 vUv; + + vec4 getValue(sampler2D buffer, int x, int y) { + return texture2D(buffer, vUv + screenSize.zw * vec2(x, y)); + } + + float normalDiff(vec3 normal1, vec3 normal2) { + return ((dot(normal1, normal2) - 1.) * -1.) / 2.; + } + + // Returns 0 if it's background, 1 if it's not + float getIsBackground(vec3 normal) { + float background = 1.0; + background *= step(normal.x, 0.); + background *= step(normal.y, 0.); + background *= step(normal.z, 0.); + background = (background - 1.) * -1.; + return background; + } + + void main() { + + vec4 sceneColor = getValue(sceneColorBuffer, 0, 0); + vec3 normSceneColor = normalize(sceneColor.rgb); + + vec4 plane = getValue(planeBuffer, 0, 0); + vec3 normal = plane.xyz; + float distance = plane.w; + + vec3 normalTop = getValue(planeBuffer, 0, width).rgb; + vec3 normalBottom = getValue(planeBuffer, 0, -width).rgb; + vec3 normalRight = getValue(planeBuffer, width, 0).rgb; + vec3 normalLeft = getValue(planeBuffer, -width, 0).rgb; + vec3 normalTopRight = getValue(planeBuffer, width, width).rgb; + vec3 normalTopLeft = getValue(planeBuffer, -width, width).rgb; + vec3 normalBottomRight = getValue(planeBuffer, width, -width).rgb; + vec3 normalBottomLeft = getValue(planeBuffer, -width, -width).rgb; + + float distanceTop = getValue(planeBuffer, 0, width).a; + float distanceBottom = getValue(planeBuffer, 0, -width).a; + float distanceRight = getValue(planeBuffer, width, 0).a; + float distanceLeft = getValue(planeBuffer, -width, 0).a; + float distanceTopRight = getValue(planeBuffer, width, width).a; + float distanceTopLeft = getValue(planeBuffer, -width, width).a; + float distanceBottomRight = getValue(planeBuffer, width, -width).a; + float distanceBottomLeft = getValue(planeBuffer, -width, -width).a; + + vec3 sceneColorTop = normalize(getValue(sceneColorBuffer, 1, 0).rgb); + vec3 sceneColorBottom = normalize(getValue(sceneColorBuffer, -1, 0).rgb); + vec3 sceneColorLeft = normalize(getValue(sceneColorBuffer, 0, -1).rgb); + vec3 sceneColorRight = normalize(getValue(sceneColorBuffer, 0, 1).rgb); + vec3 sceneColorTopRight = normalize(getValue(sceneColorBuffer, 1, 1).rgb); + vec3 sceneColorBottomRight = normalize(getValue(sceneColorBuffer, -1, 1).rgb); + vec3 sceneColorTopLeft = normalize(getValue(sceneColorBuffer, 1, 1).rgb); + vec3 sceneColorBottomLeft = normalize(getValue(sceneColorBuffer, -1, 1).rgb); + + // Checks if the planes of this texel and the neighbour texels are different + + float planeDiff = 0.0; + + planeDiff += step(0.001, normalDiff(normal, normalTop)); + planeDiff += step(0.001, normalDiff(normal, normalBottom)); + planeDiff += step(0.001, normalDiff(normal, normalLeft)); + planeDiff += step(0.001, normalDiff(normal, normalRight)); + planeDiff += step(0.001, normalDiff(normal, normalTopRight)); + planeDiff += step(0.001, normalDiff(normal, normalTopLeft)); + planeDiff += step(0.001, normalDiff(normal, normalBottomRight)); + planeDiff += step(0.001, normalDiff(normal, normalBottomLeft)); + + planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorTop)); + planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorBottom)); + planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorLeft)); + planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorRight)); + planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorTopRight)); + planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorTopLeft)); + planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorBottomRight)); + planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorBottomLeft)); + + planeDiff += step(0.001, abs(distance - distanceTop)); + planeDiff += step(0.001, abs(distance - distanceBottom)); + planeDiff += step(0.001, abs(distance - distanceLeft)); + planeDiff += step(0.001, abs(distance - distanceRight)); + planeDiff += step(0.001, abs(distance - distanceTopRight)); + planeDiff += step(0.001, abs(distance - distanceTopLeft)); + planeDiff += step(0.001, abs(distance - distanceBottomRight)); + planeDiff += step(0.001, abs(distance - distanceBottomLeft)); + + // Add extra background outline + + int width2 = width + 1; + vec3 normalTop2 = getValue(planeBuffer, 0, width2).rgb; + vec3 normalBottom2 = getValue(planeBuffer, 0, -width2).rgb; + vec3 normalRight2 = getValue(planeBuffer, width2, 0).rgb; + vec3 normalLeft2 = getValue(planeBuffer, -width2, 0).rgb; + vec3 normalTopRight2 = getValue(planeBuffer, width2, width2).rgb; + vec3 normalTopLeft2 = getValue(planeBuffer, -width2, width2).rgb; + vec3 normalBottomRight2 = getValue(planeBuffer, width2, -width2).rgb; + vec3 normalBottomLeft2 = getValue(planeBuffer, -width2, -width2).rgb; + + planeDiff += -(getIsBackground(normalTop2) - 1.); + planeDiff += -(getIsBackground(normalBottom2) - 1.); + planeDiff += -(getIsBackground(normalRight2) - 1.); + planeDiff += -(getIsBackground(normalLeft2) - 1.); + planeDiff += -(getIsBackground(normalTopRight2) - 1.); + planeDiff += -(getIsBackground(normalBottomRight2) - 1.); + planeDiff += -(getIsBackground(normalBottomRight2) - 1.); + planeDiff += -(getIsBackground(normalBottomLeft2) - 1.); + + // Tolerance sets the minimum amount of differences to consider + // this texel an edge + + float line = step(tolerance, planeDiff); + + // Exclude background and apply opacity + + float background = getIsBackground(normal); + line *= background; + line *= opacity; + + // Add gloss + + vec3 gloss = getValue(glossBuffer, 0, 0).xyz; + float diffGloss = abs(maxGloss - minGloss); + vec3 glossExpVector = vec3(glossExponent,glossExponent,glossExponent); + gloss = min(pow(gloss, glossExpVector), vec3(1.,1.,1.)); + gloss *= diffGloss; + gloss += minGloss; + vec4 glossedColor = sceneColor + vec4(gloss, 1.) * glossEnabled; + + vec4 corrected = mix(sceneColor, glossedColor, background); + + // Draw lines + + corrected = mix(corrected, vec4(lineColor, 1.), line); + + // Add outline + + vec4 outlinePreview =getValue(outlineBuffer, 0, 0); + float outlineColorCorrection = 1. / max(0.2, outlinePreview.a); + vec3 outlineColor = outlinePreview.rgb * outlineColorCorrection; + + // thickness between 10 and 2, opacity between 1 and 0.2 + int outlineThickness = int(outlinePreview.a * 10.); + + float outlineDiff = 0.; + + outlineDiff += step(0.1, getValue(outlineBuffer, 0, 0).a); + outlineDiff += step(0.1, getValue(outlineBuffer, 1, 0).a); + outlineDiff += step(0.1, getValue(outlineBuffer, -1, 0).a); + outlineDiff += step(0.1, getValue(outlineBuffer, 0, -1).a); + outlineDiff += step(0.1, getValue(outlineBuffer, 0, 1).a); + outlineDiff += step(0.1, getValue(outlineBuffer, outlineThickness, 0).a); + outlineDiff += step(0.1, getValue(outlineBuffer, -outlineThickness, 0).a); + outlineDiff += step(0.1, getValue(outlineBuffer, 0, -outlineThickness).a); + outlineDiff += step(0.1, getValue(outlineBuffer, 0, outlineThickness).a); + outlineDiff += step(0.1, getValue(outlineBuffer, outlineThickness, outlineThickness).a); + outlineDiff += step(0.1, getValue(outlineBuffer, -outlineThickness, outlineThickness).a); + outlineDiff += step(0.1, getValue(outlineBuffer, -outlineThickness, -outlineThickness).a); + outlineDiff += step(0.1, getValue(outlineBuffer, outlineThickness, -outlineThickness).a); + + float outLine = step(4., outlineDiff) * step(outlineDiff, 12.) * outlineEnabled; + corrected = mix(corrected, vec4(outlineColor, 1.), outLine); + + gl_FragColor = corrected; + } + `; + } + createOutlinePostProcessMaterial() { + return new THREE$1.ShaderMaterial({ + uniforms: { + opacity: { value: this._opacity }, + debugVisualize: { value: 0 }, + sceneColorBuffer: { value: null }, + tolerance: { value: this._tolerance }, + planeBuffer: { value: null }, + glossBuffer: { value: null }, + outlineBuffer: { value: null }, + glossEnabled: { value: 1 }, + minGloss: { value: this._minGloss }, + maxGloss: { value: this._maxGloss }, + outlineEnabled: { value: 0 }, + glossExponent: { value: this._glossExponent }, + width: { value: 1 }, + lineColor: { value: new THREE$1.Color(this._lineColor) }, + screenSize: { + value: new THREE$1.Vector4(this.resolution.x, this.resolution.y, 1 / this.resolution.x, 1 / this.resolution.y), + }, + }, + vertexShader: this.vertexShader, + fragmentShader: this.fragmentShader, + }); + } + newRenderTarget() { + const planeBuffer = new THREE$1.WebGLRenderTarget(this.resolution.x, this.resolution.y); + planeBuffer.texture.colorSpace = "srgb-linear"; + planeBuffer.texture.format = THREE$1.RGBAFormat; + planeBuffer.texture.type = THREE$1.HalfFloatType; + planeBuffer.texture.minFilter = THREE$1.NearestFilter; + planeBuffer.texture.magFilter = THREE$1.NearestFilter; + planeBuffer.texture.generateMipmaps = false; + planeBuffer.stencilBuffer = false; + return planeBuffer; + } +} + +// source: https://discourse.threejs.org/t/how-to-render-full-outlines-as-a-post-process-tutorial/22674 +class Postproduction { + get basePass() { + if (!this._basePass) { + throw new Error("Custom effects not initialized!"); + } + return this._basePass; + } + get gammaPass() { + if (!this._gammaPass) { + throw new Error("Custom effects not initialized!"); + } + return this._gammaPass; + } + get customEffects() { + if (!this._customEffects) { + throw new Error("Custom effects not initialized!"); + } + return this._customEffects; + } + get n8ao() { + if (!this._n8ao) { + throw new Error("Custom effects not initialized!"); + } + return this._n8ao; + } + get enabled() { + return this._enabled; + } + set enabled(active) { + if (!this._initialized) { + this.initialize(); + } + this._enabled = active; + } + get settings() { + return { ...this._settings }; + } + constructor(components, renderer) { + this.components = components; + this.renderer = renderer; + this.excludedItems = new Set(); + this._enabled = false; + this._initialized = false; + this._settings = { + gamma: true, + custom: true, + ao: false, + }; + this._renderTarget = new THREE$1.WebGLRenderTarget(window.innerWidth, window.innerHeight); + this._renderTarget.texture.colorSpace = "srgb-linear"; + this.composer = new EffectComposer(this.renderer, this._renderTarget); + this.composer.setSize(window.innerWidth, window.innerHeight); + } + async dispose() { + var _a, _b, _c, _d; + this._renderTarget.dispose(); + (_a = this._depthTexture) === null || _a === void 0 ? void 0 : _a.dispose(); + await ((_b = this._customEffects) === null || _b === void 0 ? void 0 : _b.dispose()); + (_c = this._gammaPass) === null || _c === void 0 ? void 0 : _c.dispose(); + (_d = this._n8ao) === null || _d === void 0 ? void 0 : _d.dispose(); + this.excludedItems.clear(); + } + setPasses(settings) { + // This check can prevent some bugs + let settingsChanged = false; + for (const name in settings) { + const key = name; + if (this.settings[key] !== settings[key]) { + settingsChanged = true; + break; + } + } + if (!settingsChanged) { + return; + } + for (const name in settings) { + const key = name; + if (this._settings[key] !== undefined) { + this._settings[key] = settings[key]; + } + } + this.updatePasses(); + } + setSize(width, height) { + if (this._initialized) { + this.composer.setSize(width, height); + this.basePass.setSize(width, height); + this.n8ao.setSize(width, height); + this.customEffects.setSize(width, height); + this.gammaPass.setSize(width, height); + } + } + update() { + if (!this._enabled) + return; + this.composer.render(); + } + updateCamera() { + const camera = this.components.camera.get(); + if (this._n8ao) { + this._n8ao.camera = camera; + } + if (this._customEffects) { + this._customEffects.renderCamera = camera; + } + if (this._basePass) { + this._basePass.camera = camera; + } + } + initialize() { + const scene = this.components.scene.get(); + const camera = this.components.camera.get(); + if (!scene || !camera) + return; + if (this.components.camera instanceof OrthoPerspectiveCamera) { + this.components.camera.projectionChanged.add(() => { + this.updateCamera(); + }); + } + const renderer = this.components.renderer; + this.renderer.clippingPlanes = renderer.clippingPlanes; + this.renderer.outputColorSpace = "srgb"; + this.renderer.toneMapping = THREE$1.NoToneMapping; + this.newBasePass(scene, camera); + this.newSaoPass(scene, camera); + this.newGammaPass(); + this.newCustomPass(); + this._initialized = true; + this.updatePasses(); + } + updateProjection(camera) { + this.composer.passes.forEach((pass) => { + // @ts-ignore + pass.camera = camera; + }); + this.update(); + } + updatePasses() { + for (const pass of this.composer.passes) { + this.composer.removePass(pass); + } + if (this._basePass) { + this.composer.addPass(this.basePass); + } + if (this._settings.gamma) { + this.composer.addPass(this.gammaPass); + } + if (this._settings.ao) { + this.composer.addPass(this.n8ao); + } + if (this._settings.custom) { + this.composer.addPass(this.customEffects); + } + } + newCustomPass() { + this._customEffects = new CustomEffectsPass(new THREE$1.Vector2(window.innerWidth, window.innerHeight), this.components); + } + newGammaPass() { + this._gammaPass = new ShaderPass(GammaCorrectionShader); + } + newSaoPass(scene, camera) { + const { width, height } = this.components.renderer.getSize(); + this._n8ao = new $05f6997e4b65da14$export$2d57db20b5eb5e0a(scene, camera, width, height); + // this.composer.addPass(this.n8ao); + const { configuration } = this._n8ao; + configuration.aoSamples = 16; + configuration.denoiseSamples = 1; + configuration.denoiseRadius = 13; + configuration.aoRadius = 1; + configuration.distanceFalloff = 4; + configuration.aoRadius = 1; + configuration.intensity = 4; + configuration.halfRes = true; + configuration.color = new THREE$1.Color().setHex(0xcccccc, "srgb-linear"); + } + newBasePass(scene, camera) { + this._basePass = new RenderPass(scene, camera); + } +} + +/** + * Renderer that uses efficient postproduction effects (e.g. Ambient Occlusion). + */ +class PostproductionRenderer extends SimpleRenderer { + constructor(components, container) { + super(components, container); + this.postproduction = new Postproduction(components, this._renderer); + this.setPostproductionSize(); + this.onResize.add(() => this.resizePostproduction()); + } + /** {@link Updateable.update} */ + async update(_delta) { + var _a, _b; + if (!this.enabled) + return; + await this.onBeforeUpdate.trigger(); + const scene = (_a = this.components.scene) === null || _a === void 0 ? void 0 : _a.get(); + const camera = (_b = this.components.camera) === null || _b === void 0 ? void 0 : _b.get(); + if (!scene || !camera) + return; + if (this.postproduction.enabled) { + this.postproduction.composer.render(); + } + else { + this._renderer.render(scene, camera); + } + this._renderer2D.render(scene, camera); + await this.onAfterUpdate.trigger(); + } + /** {@link Disposable.dispose}. */ + async dispose() { + await super.dispose(); + await this.postproduction.dispose(); + } + /** {@link Resizeable.resize}. */ + resizePostproduction() { + if (this.postproduction) { + this.setPostproductionSize(); + } + } + setPostproductionSize() { + const { clientWidth, clientHeight } = this.container; + this.postproduction.setSize(clientWidth, clientHeight); + } +} + +class ClippingFills { + get visible() { + return this.mesh.parent !== null; + } + set visible(value) { + const style = this.getStyle(); + if (value) { + const scene = this._components.scene.get(); + scene.add(this.mesh); + if (style) { + style.meshes.add(this.mesh); + } + } + else { + this.mesh.removeFromParent(); + if (style) { + style.meshes.delete(this.mesh); + } + } + } + set geometry(geometry) { + this._geometry = geometry; + this.mesh.geometry.attributes.position = geometry.attributes.position; + } + constructor(components, plane, geometry, material) { + // readonly worker: Worker; + this.mesh = new THREE$1.Mesh(new THREE$1.BufferGeometry()); + this._precission = 10000; + this._tempVector = new THREE$1.Vector3(); + // Used to work in the 2D coordinate system of the plane + this._plane2DCoordinateSystem = new THREE$1.Matrix4(); + this._components = components; + this.mesh.material = material; + this.mesh.frustumCulled = false; + this._plane = plane; + const { x, y, z } = plane.normal; + if (Math.abs(x) === 1) { + this._planeAxis = "x"; + } + else if (Math.abs(y) === 1) { + this._planeAxis = "y"; + } + else if (Math.abs(z) === 1) { + this._planeAxis = "z"; + } + this._geometry = geometry; + this.mesh.geometry.attributes.position = geometry.attributes.position; + // To prevent clipping plane overlapping the filling mesh + const offset = plane.normal.clone().multiplyScalar(0.01); + this.mesh.position.copy(offset); + this.visible = true; + } + dispose() { + const style = this.getStyle(); + if (style) { + style.meshes.delete(this.mesh); + } + this.mesh.geometry.dispose(); + this.mesh.removeFromParent(); + this.mesh.geometry = null; + this.mesh = null; + this._plane = null; + this._geometry = null; + } + update(elements, blockByIndex) { + const buffer = this._geometry.attributes.position.array; + if (!buffer) + return; + this.updatePlane2DCoordinateSystem(); + const allIndices = []; + let start = 0; + for (let i = 0; i < elements.length; i++) { + const end = elements[i]; + const verticesByBlock = {}; + for (let j = start; j < end; j += 2) { + let block = blockByIndex[j]; + if (block === undefined) { + block = -1; + } + if (!verticesByBlock[block]) { + verticesByBlock[block] = []; + } + verticesByBlock[block].push(j * 3); + } + for (const block in verticesByBlock) { + const vertices = verticesByBlock[block]; + if (!vertices.length) { + continue; + } + const indices = this.computeFill(vertices, buffer); + for (const index of indices) { + allIndices.push(index); + } + } + start = end; + } + this.mesh.geometry.setIndex(allIndices); + } + computeFill(vertices, buffer) { + const indices = new Map(); + const all2DVertices = {}; + const shapes = new Map(); + let nextShapeID = 0; + const shapesEnds = new Map(); + const shapesStarts = new Map(); + const openShapes = new Set(); + const p = this._precission; + for (let i = 0; i < vertices.length; i++) { + // Convert vertices to indices + const startVertexIndex = vertices[i]; + let x1 = 0; + let y1 = 0; + let x2 = 0; + let y2 = 0; + const globalX1 = buffer[startVertexIndex]; + const globalY1 = buffer[startVertexIndex + 1]; + const globalZ1 = buffer[startVertexIndex + 2]; + const globalX2 = buffer[startVertexIndex + 3]; + const globalY2 = buffer[startVertexIndex + 4]; + const globalZ2 = buffer[startVertexIndex + 5]; + this._tempVector.set(globalX1, globalY1, globalZ1); + this._tempVector.applyMatrix4(this._plane2DCoordinateSystem); + x1 = Math.trunc(this._tempVector.x * p) / p; + y1 = Math.trunc(this._tempVector.y * p) / p; + this._tempVector.set(globalX2, globalY2, globalZ2); + this._tempVector.applyMatrix4(this._plane2DCoordinateSystem); + x2 = Math.trunc(this._tempVector.x * p) / p; + y2 = Math.trunc(this._tempVector.y * p) / p; + if (x1 === x2 && y1 === y2) { + continue; + } + const startCode = `${x1}|${y1}`; + const endCode = `${x2}|${y2}`; + if (!indices.has(startCode)) { + indices.set(startCode, startVertexIndex / 3); + } + if (!indices.has(endCode)) { + indices.set(endCode, startVertexIndex / 3 + 1); + } + const start = indices.get(startCode); + const end = indices.get(endCode); + all2DVertices[start] = [x1, y1]; + all2DVertices[end] = [x2, y2]; + const startMatchesStart = shapesStarts.has(start); + const startMatchesEnd = shapesEnds.has(start); + const endMatchesStart = shapesStarts.has(end); + const endMatchesEnd = shapesEnds.has(end); + const noMatches = !startMatchesStart && + !startMatchesEnd && + !endMatchesStart && + !endMatchesEnd; + if (noMatches) { + // New shape + shapesStarts.set(start, nextShapeID); + shapesEnds.set(end, nextShapeID); + openShapes.add(nextShapeID); + shapes.set(nextShapeID, [start, end]); + nextShapeID++; + } + else if (startMatchesStart && endMatchesEnd) { + // Close shape or merge 2 shapes + const startIndex = shapesStarts.get(start); + const endIndex = shapesEnds.get(end); + const isShapeMerge = startIndex !== endIndex; + if (isShapeMerge) { + // merge start to end + const endShape = shapes.get(endIndex); + const startShape = shapes.get(startIndex); + if (!endShape || !startShape) { + continue; + } + shapes.delete(startIndex); + openShapes.delete(startIndex); + shapesEnds.set(startShape[startShape.length - 1], endIndex); + shapesEnds.delete(endShape[endShape.length - 1]); + for (const index of startShape) { + endShape.push(index); + } + } + else { + openShapes.delete(endIndex); + } + shapesStarts.delete(start); + shapesEnds.delete(end); + } + else if (startMatchesEnd && endMatchesStart) { + // Close shape or merge 2 shapes + const startIndex = shapesStarts.get(end); + const endIndex = shapesEnds.get(start); + const isShapeMerge = startIndex !== endIndex; + if (isShapeMerge) { + // merge start to end + const endShape = shapes.get(endIndex); + const startShape = shapes.get(startIndex); + if (!endShape || !startShape) { + continue; + } + shapes.delete(startIndex); + openShapes.delete(startIndex); + shapesEnds.set(startShape[startShape.length - 1], endIndex); + shapesEnds.delete(endShape[endShape.length - 1]); + for (const index of startShape) { + endShape.push(index); + } + } + else { + openShapes.delete(endIndex); + } + shapesStarts.delete(end); + shapesEnds.delete(start); + } + else if (startMatchesStart && endMatchesStart) { + // Merge 2 shapes, mirroring one of them + const startIndex1 = shapesStarts.get(end); + const startIndex2 = shapesStarts.get(start); + // merge start to end + const startShape2 = shapes.get(startIndex2); + const startShape1 = shapes.get(startIndex1); + if (!startShape2 || !startShape1) { + continue; + } + shapes.delete(startIndex1); + openShapes.delete(startIndex1); + shapesStarts.delete(startShape2[0]); + shapesStarts.delete(startShape1[0]); + shapesEnds.delete(startShape1[startShape1.length - 1]); + shapesStarts.set(startShape1[startShape1.length - 1], startIndex2); + startShape1.reverse(); + startShape2.splice(0, 0, ...startShape1); + } + else if (startMatchesEnd && endMatchesEnd) { + // Merge 2 shapes, mirroring one of them + const endIndex1 = shapesEnds.get(end); + const endIndex2 = shapesEnds.get(start); + // merge start to end + const endShape2 = shapes.get(endIndex2); + const endShape1 = shapes.get(endIndex1); + if (!endShape2 || !endShape1) { + continue; + } + shapes.delete(endIndex1); + openShapes.delete(endIndex1); + shapesEnds.delete(endShape2[endShape2.length - 1]); + shapesEnds.delete(endShape1[endShape1.length - 1]); + shapesStarts.delete(endShape1[0]); + shapesEnds.set(endShape1[0], endIndex2); + endShape1.reverse(); + endShape2.push(...endShape1); + } + else if (startMatchesStart) { + // existing contour on start - start + const shapeIndex = shapesStarts.get(start); + const shape = shapes.get(shapeIndex); + if (!shape) { + continue; + } + shape.unshift(end); + shapesStarts.delete(start); + shapesStarts.set(end, shapeIndex); + } + else if (startMatchesEnd) { + // existing contour on start - end + const shapeIndex = shapesEnds.get(start); + const shape = shapes.get(shapeIndex); + if (!shape) { + continue; + } + shape.push(end); + shapesEnds.delete(start); + shapesEnds.set(end, shapeIndex); + } + else if (endMatchesStart) { + // existing contour on end - start + const shapeIndex = shapesStarts.get(end); + const shape = shapes.get(shapeIndex); + if (!shape) { + continue; + } + shape.unshift(start); + shapesStarts.delete(end); + shapesStarts.set(start, shapeIndex); + } + else if (endMatchesEnd) { + // existing contour on end - end + const shapeIndex = shapesEnds.get(end); + const shape = shapes.get(shapeIndex); + if (!shape) { + continue; + } + shape.push(start); + shapesEnds.delete(end); + shapesEnds.set(start, shapeIndex); + } + } + const trueIndices = []; + for (const [id, shape] of shapes) { + if (openShapes.has(id)) { + continue; + } + const vertices = []; + const indexMap = new Map(); + let counter = 0; + for (const index of shape) { + const vertex = all2DVertices[index]; + vertices.push(vertex[0], vertex[1]); + indexMap.set(counter++, index); + } + const result = earcut$1(vertices); + for (const index of result) { + const trueIndex = indexMap.get(index); + if (trueIndex === undefined) { + throw new Error("Map error!"); + } + trueIndices.push(trueIndex); + } + } + return trueIndices; + } + updatePlane2DCoordinateSystem() { + // Assuming the normal of the plane is called Z + this._plane2DCoordinateSystem = new THREE$1.Matrix4(); + const xAxis = new THREE$1.Vector3(1, 0, 0); + const yAxis = new THREE$1.Vector3(0, 1, 0); + const zAxis = this._plane.normal; + const pos = new THREE$1.Vector3(); + this._plane.coplanarPoint(pos); + if (this._planeAxis === "x") { + xAxis.crossVectors(yAxis, zAxis); + } + else if (this._planeAxis === "y") { + yAxis.crossVectors(zAxis, xAxis); + } + else if (this._planeAxis === "z") ; + else { + // Non-orthogonal to cardinal axis + xAxis.crossVectors(yAxis, zAxis).normalize(); + yAxis.crossVectors(zAxis, xAxis); + } + // prettier-ignore + this._plane2DCoordinateSystem.fromArray([ + xAxis.x, xAxis.y, xAxis.z, 0, + yAxis.x, yAxis.y, yAxis.z, 0, + zAxis.x, zAxis.y, zAxis.z, 0, + pos.x, pos.y, pos.z, 1, + ]); + this._plane2DCoordinateSystem.invert(); + } + getStyle() { + const renderer = this._components.renderer; + if (this.styleName && renderer instanceof PostproductionRenderer) { + const effects = renderer.postproduction.customEffects; + return effects.outlinedMeshes[this.styleName]; + } + return null; + } +} + +/** + * The edges that are drawn when the {@link EdgesPlane} sections a mesh. + */ +class ClippingEdges extends Component { + /** {@link Hideable.visible} */ + get visible() { + return this._visible; + } + set fillVisible(visible) { + for (const name in this._edges) { + const edges = this._edges[name]; + if (edges.fill) { + edges.fill.visible = visible; + } + } + } + constructor(components, plane, styles) { + super(components); + /** {@link Updateable.onAfterUpdate} */ + this.onAfterUpdate = new Event(); + /** {@link Updateable.onBeforeUpdate} */ + this.onBeforeUpdate = new Event(); + /** {@link Component.name} */ + this.name = "ClippingEdges"; + /** {@link Component.enabled}. */ + this.enabled = true; + this.fillNeedsUpdate = false; + this.blockByIndex = {}; + this._edges = {}; + this._visible = true; + this._inverseMatrix = new THREE$1.Matrix4(); + this._localPlane = new THREE$1.Plane(); + this._tempLine = new THREE$1.Line3(); + this._tempVector = new THREE$1.Vector3(); + this._plane = plane; + this._styles = styles; + } + async setVisible(visible) { + this._visible = visible; + const names = Object.keys(this._edges); + for (const edgeName of names) { + this.updateEdgesVisibility(edgeName, visible); + } + if (visible) { + await this.update(); + } + } + /** {@link Updateable.update} */ + async update() { + const styles = this._styles.get(); + await this.updateDeletedEdges(styles); + for (const name in styles) { + this.drawEdges(name); + } + this.fillNeedsUpdate = false; + } + /** {@link Component.get} */ + get() { + return this._edges; + } + /** {@link Disposable.dispose} */ + async dispose() { + const names = Object.keys(this._edges); + for (const name of names) { + await this.disposeEdge(name); + } + } + newEdgesMesh(styleName) { + const styles = this._styles.get(); + const material = styles[styleName].lineMaterial; + const edgesGeometry = new THREE$1.BufferGeometry(); + const buffer = new Float32Array(300000); + const linePosAttr = new THREE$1.BufferAttribute(buffer, 3, false); + linePosAttr.setUsage(THREE$1.DynamicDrawUsage); + edgesGeometry.setAttribute("position", linePosAttr); + const lines = new THREE$1.LineSegments(edgesGeometry, material); + lines.frustumCulled = false; + return lines; + } + newFillMesh(name, geometry) { + const styles = this._styles.get(); + const style = styles[name]; + const fillMaterial = style.fillMaterial; + if (fillMaterial) { + const fills = new ClippingFills(this.components, this._plane, geometry, fillMaterial); + this.newFillOutline(name, fills, style); + return fills; + } + return undefined; + } + newFillOutline(name, fills, style) { + if (!style.outlineMaterial) + return; + const renderer = this.components.renderer; + if (renderer instanceof PostproductionRenderer) { + const pRenderer = renderer; + const outlines = pRenderer.postproduction.customEffects.outlinedMeshes; + if (!outlines[name]) { + outlines[name] = { + meshes: new Set(), + material: style.outlineMaterial, + }; + } + fills.styleName = name; + } + } + // Source: https://gkjohnson.github.io/three-mesh-bvh/example/bundle/clippedEdges.html + drawEdges(styleName) { + this.blockByIndex = {}; + const style = this._styles.get()[styleName]; + if (!this._edges[styleName]) { + this.initializeStyle(styleName); + } + const edges = this._edges[styleName]; + let index = 0; + const posAttr = edges.mesh.geometry.attributes.position; + // @ts-ignore + posAttr.array.fill(0); + const indexes = []; + let lastIndex = 0; + for (const mesh of style.meshes) { + if (!mesh.geometry) { + continue; + } + if (!mesh.geometry.boundsTree) { + throw new Error("Boundstree not found for clipping edges subset."); + } + const instanced = mesh; + if (instanced.count === 0) { + continue; + } + if (instanced.count > 1) { + for (let i = 0; i < instanced.count; i++) { + // Exclude fragment instances that don't belong to this style + const isFragment = instanced instanceof FragmentMesh; + const fMesh = instanced; + const ids = style.fragments[fMesh.fragment.id]; + if (isFragment && ids) { + const itemID = fMesh.fragment.items[i]; + if (!ids.has(itemID)) { + continue; + } + } + const tempMesh = new THREE$1.Mesh(mesh.geometry); + tempMesh.matrix.copy(mesh.matrix); + const tempMatrix = new THREE$1.Matrix4(); + instanced.getMatrixAt(i, tempMatrix); + tempMesh.applyMatrix4(tempMatrix); + tempMesh.applyMatrix4(mesh.matrix); + tempMesh.updateMatrix(); + tempMesh.updateMatrixWorld(); + this._inverseMatrix.copy(tempMesh.matrixWorld).invert(); + this._localPlane.copy(this._plane).applyMatrix4(this._inverseMatrix); + index = this.shapecast(tempMesh, posAttr, index, style); + if (index !== lastIndex) { + indexes.push(index); + lastIndex = index; + } + } + } + else { + this._inverseMatrix.copy(mesh.matrixWorld).invert(); + this._localPlane.copy(this._plane).applyMatrix4(this._inverseMatrix); + const isFragment = mesh instanceof FragmentMesh; + index = this.shapecast(mesh, posAttr, index, style, isFragment); + if (index !== lastIndex) { + indexes.push(index); + lastIndex = index; + } + } + } + // set the draw range to only the new segments and offset the lines so they don't intersect with the geometry + edges.mesh.geometry.setDrawRange(0, index); + edges.mesh.position.copy(this._plane.normal).multiplyScalar(0.0001); + posAttr.needsUpdate = true; + // Update the edges geometry only if there is no NaN in the output (which means there's been an error) + const attributes = edges.mesh.geometry.attributes; + const position = attributes.position; + if (!Number.isNaN(position.array[0])) { + const scene = this.components.scene.get(); + scene.add(edges.mesh); + if (this.fillNeedsUpdate && edges.fill) { + edges.fill.geometry = edges.mesh.geometry; + edges.fill.update(indexes, this.blockByIndex); + } + } + } + initializeStyle(name) { + const mesh = this.newEdgesMesh(name); + const geometry = mesh.geometry; + const fill = this.newFillMesh(name, geometry); + this._edges[name] = { mesh, name, fill }; + } + shapecast(mesh, posAttr, index, style, isMultiblockFragment = false) { + // @ts-ignore + mesh.geometry.boundsTree.shapecast({ + intersectsBounds: (box) => { + return this._localPlane.intersectsBox(box); + }, + // @ts-ignore + intersectsTriangle: (tri, triangleIndex) => { + // Exclude triangles of fragment items that don't belong to this style + if (isMultiblockFragment && style.fragments) { + const fMesh = mesh; + const ids = style.fragments[fMesh.fragment.id]; + if (ids !== undefined) { + const index = fMesh.geometry.index.array[triangleIndex * 3]; + const blockID = fMesh.geometry.attributes.blockID.array[index]; + const id = fMesh.fragment.getItemID(0, blockID); + if (!ids.has(id)) { + return; + } + } + } + // check each triangle edge to see if it intersects with the plane. If so then + // add it to the list of segments. + let count = 0; + this._tempLine.start.copy(tri.a); + this._tempLine.end.copy(tri.b); + if (this._localPlane.intersectLine(this._tempLine, this._tempVector)) { + const result = this._tempVector.applyMatrix4(mesh.matrixWorld); + posAttr.setXYZ(index, result.x, result.y, result.z); + count++; + index++; + } + this._tempLine.start.copy(tri.b); + this._tempLine.end.copy(tri.c); + if (this._localPlane.intersectLine(this._tempLine, this._tempVector)) { + const result = this._tempVector.applyMatrix4(mesh.matrixWorld); + posAttr.setXYZ(index, result.x, result.y, result.z); + count++; + index++; + } + this._tempLine.start.copy(tri.c); + this._tempLine.end.copy(tri.a); + if (this._localPlane.intersectLine(this._tempLine, this._tempVector)) { + const result = this._tempVector.applyMatrix4(mesh.matrixWorld); + posAttr.setXYZ(index, result.x, result.y, result.z); + count++; + index++; + } + // If we only intersected with one or three sides then just remove it. This could be handled + // more gracefully. + if (count !== 2) { + index -= count; + } + if (count === 2 && isMultiblockFragment) { + const fMesh = mesh; + const vertexIndex = fMesh.geometry.index.array[triangleIndex * 3]; + const block = fMesh.geometry.attributes.blockID.array[vertexIndex]; + this.blockByIndex[index - 2] = block; + } + }, + }); + return index; + } + updateEdgesVisibility(edgeName, visible) { + const edges = this._edges[edgeName]; + if (edges.fill) { + edges.fill.visible = visible; + } + edges.mesh.visible = visible; + if (visible) { + const scene = this.components.scene.get(); + scene.add(edges.mesh); + } + else { + edges.mesh.removeFromParent(); + } + } + async updateDeletedEdges(styles) { + const names = Object.keys(this._edges); + for (const name of names) { + if (styles[name] === undefined) { + await this.disposeEdge(name); + this.disposeOutline(name); + } + } + } + disposeOutline(name) { + const renderer = this.components.renderer; + if (renderer instanceof PostproductionRenderer) { + const outlines = renderer.postproduction.customEffects.outlinedMeshes; + delete outlines[name]; + } + } + async disposeEdge(name) { + const disposer = await this.components.tools.get(Disposer); + const edge = this._edges[name]; + if (edge.fill) { + edge.fill.dispose(); + } + disposer.destroy(edge.mesh, false); + delete this._edges[name]; + } +} + +/** + * A more advanced version of {@link SimpleClipper} that also includes + * {@link ClippingEdges} with customizable lines. + */ +class EdgesPlane extends SimplePlane { + constructor(components, origin, normal, material, styles) { + super(components, origin, normal, material, 5, false); + /** + * The max rate in milliseconds at which edges can be regenerated. + * To disable this behaviour set this to 0. + */ + this.edgesMaxUpdateRate = 50; + this.lastUpdate = -1; + this.updateTimeout = -1; + this.updateFill = async () => { + this.edges.fillNeedsUpdate = true; + await this.edges.update(); + if (this._visible) { + this.edges.fillVisible = true; + } + }; + /** {@link Updateable.update} */ + this.update = async () => { + if (!this.enabled) + return; + this._plane.setFromNormalAndCoplanarPoint(this._normal, this._helper.position); + // Rate limited edges update + const now = Date.now(); + if (this.lastUpdate + this.edgesMaxUpdateRate < now) { + this.lastUpdate = now; + await this.edges.update(); + } + else if (this.updateTimeout === -1) { + this.updateTimeout = window.setTimeout(() => { + this.update(); + this.updateTimeout = -1; + }, this.edgesMaxUpdateRate); + } + }; + this.hideFills = () => { + this.edges.fillVisible = false; + }; + this.edges = new ClippingEdges(components, this._plane, styles); + this.toggleControls(true); + this.edges.setVisible(true); + this.onDraggingEnded.add(this.updateFill); + this.onDraggingStarted.add(this.hideFills); + } + /** {@link Component.enabled} */ + get enabled() { + return super.enabled; + } + /** {@link Disposable.dispose} */ + async dispose() { + await super.dispose(); + await this.edges.dispose(); + } + /** {@link Component.enabled} */ + async setEnabled(state) { + super.enabled = state; + if (state) { + await this.update(); + } + } + async setVisible(state) { + super.visible = state; + this.toggleControls(state); + await this.edges.setVisible(true); + } +} + +class EdgesStyles extends Component { + constructor(components) { + super(components); + this.name = "EdgesStyles"; + this.enabled = true; + this._styles = {}; + this._defaultLineMaterial = new LineBasicMaterial({ + color: 0x000000, + linewidth: 0.001, + }); + this.onAfterUpdate = new Event(); + this.onBeforeUpdate = new Event(); + } + get() { + return this._styles; + } + async update(_delta) { + await this.onBeforeUpdate.trigger(this._styles); + await this.onAfterUpdate.trigger(this._styles); + } + // Creates a new style that applies to all clipping edges for generic models + create(name, meshes, lineMaterial = this._defaultLineMaterial, fillMaterial, outlineMaterial) { + for (const mesh of meshes) { + if (!mesh.geometry.boundsTree) + mesh.geometry.computeBoundsTree(); + } + const renderer = this.components.renderer; + lineMaterial.clippingPlanes = renderer.clippingPlanes; + const newStyle = { + name, + lineMaterial, + meshes, + fillMaterial, + outlineMaterial, + fragments: {}, + }; + this._styles[name] = newStyle; + return newStyle; + } + async dispose() { + const styles = Object.keys(this._styles); + for (const style of styles) { + this.deleteStyle(style); + } + this._styles = {}; + } + deleteStyle(id, disposeMaterials = true) { + var _a, _b; + const style = this._styles[id]; + if (style) { + style.meshes.clear(); + if (disposeMaterials) { + style.lineMaterial.dispose(); + (_a = style.fillMaterial) === null || _a === void 0 ? void 0 : _a.dispose(); + (_b = style.outlineMaterial) === null || _b === void 0 ? void 0 : _b.dispose(); + } + } + delete this._styles[id]; + } +} + +/** + * A more advanced version of {@link SimpleClipper} that also supports + * {@link ClippingEdges} with customizable lines. + */ +class EdgesClipper extends SimpleClipper { + constructor(components) { + super(components); + this.components.tools.list.set(EdgesClipper.uuid, this); + this.PlaneType = EdgesPlane; + this.styles = new EdgesStyles(components); + } + /** {@link Component.get} */ + async dispose() { + await super.dispose(); + await this.styles.dispose(); + } + /** + * Updates all the lines of the {@link ClippingEdges}. + */ + async updateEdges(updateFills = false) { + if (!this.enabled) + return; + for (const plane of this._planes) { + if (updateFills) { + await plane.updateFill(); + } + else { + await plane.update(); + } + } + } + newPlaneInstance(point, normal) { + return new this.PlaneType(this.components, point, normal, this._material, this.styles); + } +} + +/** + * Two pass Gaussian blur filter (horizontal and vertical blur shaders) + * - see http://www.cake23.de/traveling-wavefronts-lit-up.html + * + * - 9 samples per pass + * - standard deviation 2.7 + * - "h" and "v" parameters should be set to "1 / width" and "1 / height" + */ + +const HorizontalBlurShader = { + + uniforms: { + + 'tDiffuse': { value: null }, + 'h': { value: 1.0 / 512.0 } + + }, + + vertexShader: /* glsl */` + + varying vec2 vUv; + + void main() { + + vUv = uv; + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + + }`, + + fragmentShader: /* glsl */` + + uniform sampler2D tDiffuse; + uniform float h; + + varying vec2 vUv; + + void main() { + + vec4 sum = vec4( 0.0 ); + + sum += texture2D( tDiffuse, vec2( vUv.x - 4.0 * h, vUv.y ) ) * 0.051; + sum += texture2D( tDiffuse, vec2( vUv.x - 3.0 * h, vUv.y ) ) * 0.0918; + sum += texture2D( tDiffuse, vec2( vUv.x - 2.0 * h, vUv.y ) ) * 0.12245; + sum += texture2D( tDiffuse, vec2( vUv.x - 1.0 * h, vUv.y ) ) * 0.1531; + sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633; + sum += texture2D( tDiffuse, vec2( vUv.x + 1.0 * h, vUv.y ) ) * 0.1531; + sum += texture2D( tDiffuse, vec2( vUv.x + 2.0 * h, vUv.y ) ) * 0.12245; + sum += texture2D( tDiffuse, vec2( vUv.x + 3.0 * h, vUv.y ) ) * 0.0918; + sum += texture2D( tDiffuse, vec2( vUv.x + 4.0 * h, vUv.y ) ) * 0.051; + + gl_FragColor = sum; + + }` + +}; + +/** + * Two pass Gaussian blur filter (horizontal and vertical blur shaders) + * - see http://www.cake23.de/traveling-wavefronts-lit-up.html + * + * - 9 samples per pass + * - standard deviation 2.7 + * - "h" and "v" parameters should be set to "1 / width" and "1 / height" + */ + +const VerticalBlurShader = { + + uniforms: { + + 'tDiffuse': { value: null }, + 'v': { value: 1.0 / 512.0 } + + }, + + vertexShader: /* glsl */` + + varying vec2 vUv; + + void main() { + + vUv = uv; + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + + }`, + + fragmentShader: /* glsl */` + + uniform sampler2D tDiffuse; + uniform float v; + + varying vec2 vUv; + + void main() { + + vec4 sum = vec4( 0.0 ); + + sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 4.0 * v ) ) * 0.051; + sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 3.0 * v ) ) * 0.0918; + sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 2.0 * v ) ) * 0.12245; + sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 1.0 * v ) ) * 0.1531; + sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633; + sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 1.0 * v ) ) * 0.1531; + sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 2.0 * v ) ) * 0.12245; + sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 3.0 * v ) ) * 0.0918; + sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 4.0 * v ) ) * 0.051; + + gl_FragColor = sum; + + }` + +}; + +class ShadowDropper extends Component { + constructor(components) { + super(components); + this.enabled = true; + // Controls how far away the shadow is computed + this.cameraHeight = 10; + this.darkness = 1.2; + this.opacity = 1; + this.resolution = 512; + this.amount = 3.5; + this.planeColor = 0xffffff; + this.shadowOffset = 0; + this.shadowExtraScaleFactor = 1.5; + this.shadows = {}; + this.tempMaterial = new THREE$1.MeshBasicMaterial({ visible: false }); + this.depthMaterial = new THREE$1.MeshDepthMaterial(); + this.components.tools.add(ShadowDropper.uuid, this); + this.initializeDepthMaterial(); + } + /** {@link Component.get} */ + get() { + return this.shadows; + } + /** {@link Disposable.dispose} */ + async dispose() { + for (const id in this.shadows) { + await this.deleteShadow(id); + } + this.tempMaterial.dispose(); + this.depthMaterial.dispose(); + this.components = null; + } + /** + * Creates a blurred dropped shadow of the given mesh. + * + * @param model - the mesh whose shadow to generate. + * @param id - the name of this shadow. + */ + renderShadow(model, id) { + if (this.shadows[id]) { + throw new Error(`There is already a shadow with ID ${id}`); + } + const { size, center, min } = this.getSizeCenterMin(model); + const shadow = this.createShadow(id, size); + this.initializeShadow(shadow, center, min); + this.createPlanes(shadow, size); + this.bakeShadow(model, shadow); + return shadow.root; + } + /** + * Deletes the specified shadow (if it exists). + * + * @param id - the name of this shadow. + */ + async deleteShadow(id) { + const disposer = await this.components.tools.get(Disposer); + const shadow = this.shadows[id]; + delete this.shadows[id]; + if (!shadow) + throw new Error(`No shadow with ID ${id} was found.`); + disposer.destroy(shadow.root); + disposer.destroy(shadow.blurPlane); + shadow.rt.dispose(); + shadow.rtBlur.dispose(); + } + createPlanes(currentShadow, size) { + const planeGeometry = new THREE$1.PlaneGeometry(size.x, size.z).rotateX(Math.PI / 2); + this.createBasePlane(currentShadow, planeGeometry); + ShadowDropper.createBlurPlane(currentShadow, planeGeometry); + // this.createGroundColorPlane(currentShadow, planeGeometry); + } + initializeShadow(shadow, center, min) { + this.initializeRoot(shadow, center, min); + ShadowDropper.initializeRenderTargets(shadow); + ShadowDropper.initializeCamera(shadow); + } + bakeShadow(meshes, shadow) { + const scene = this.components.scene.get(); + const areModelsInScene = meshes.map((mesh) => !!mesh.parent); + for (let i = 0; i < meshes.length; i++) { + if (!areModelsInScene[i]) { + scene.add(meshes[i]); + } + } + const children = scene.children.filter((obj) => !meshes.includes(obj) && obj !== shadow.root); + for (let i = children.length - 1; i >= 0; i--) { + scene.remove(children[i]); + } + // remove the background + const initialBackground = scene.background; + scene.background = null; + // force the depthMaterial to everything + scene.overrideMaterial = this.depthMaterial; + // Make meshes visible if they were invisible + const previousVisibleAttributes = []; + for (const mesh of meshes) { + previousVisibleAttributes.push(mesh.visible); + mesh.visible = true; + } + // render to the render target to get the depths + const renderer = this.components.renderer.get(); + renderer.setRenderTarget(shadow.rt); + renderer.render(scene, shadow.camera); + // and reset the override material + scene.overrideMaterial = null; + this.blurShadow(shadow, this.amount); + // a second pass to reduce the artifacts + // (0.4 is the minimum blur amount so that the artifacts are gone) + this.blurShadow(shadow, this.amount * 0.4); + // reset and render the normal scene + renderer.setRenderTarget(null); + scene.background = initialBackground; + // reset visibility + for (let i = 0; i < meshes.length; i++) { + meshes[i].visible = previousVisibleAttributes[i]; + } + for (let i = children.length - 1; i >= 0; i--) { + scene.add(children[i]); + } + for (let i = 0; i < meshes.length; i++) { + if (!areModelsInScene[i]) { + scene.remove(meshes[i]); + } + } + } + static initializeCamera(shadow) { + shadow.camera.rotation.x = Math.PI / 2; // get the camera to look up + shadow.root.add(shadow.camera); + } + static initializeRenderTargets(shadow) { + shadow.rt.texture.generateMipmaps = false; + shadow.rtBlur.texture.generateMipmaps = false; + } + initializeRoot(shadow, center, min) { + const scene = this.components.scene.get(); + shadow.root.position.set(center.x, min.y - this.shadowOffset, center.z); + scene.add(shadow.root); + } + // Plane simulating the "ground". This is not needed for BIM models generally + // private createGroundColorPlane(_shadow: Shadow, planeGeometry: BufferGeometry) { + // const fillPlaneMaterial = new MeshBasicMaterial({ + // color: this.planeColor, + // opacity: this.opacity, + // transparent: true, + // depthWrite: false, + // clippingPlanes: this.context.getClippingPlanes() + // }); + // const fillPlane = new Mesh(planeGeometry, fillPlaneMaterial); + // fillPlane.rotateX(Math.PI); + // fillPlane.renderOrder = -1; + // shadow.root.add(fillPlane); + // } + createBasePlane(shadow, planeGeometry) { + const planeMaterial = this.createPlaneMaterial(shadow); + const plane = new THREE$1.Mesh(planeGeometry, planeMaterial); + // make sure it's rendered after the fillPlane + plane.renderOrder = 2; + shadow.root.add(plane); + // the y from the texture is flipped! + plane.scale.y = -1; + } + static createBlurPlane(shadow, planeGeometry) { + shadow.blurPlane.geometry = planeGeometry; + shadow.blurPlane.visible = false; + shadow.root.add(shadow.blurPlane); + } + createPlaneMaterial(shadow) { + const renderer = this.components.renderer; + return new THREE$1.MeshBasicMaterial({ + map: shadow.rt.texture, + opacity: this.opacity, + transparent: true, + depthWrite: false, + clippingPlanes: renderer.clippingPlanes, + }); + } + // like MeshDepthMaterial, but goes from black to transparent + initializeDepthMaterial() { + this.depthMaterial.depthTest = false; + this.depthMaterial.depthWrite = false; + const oldShader = "gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );"; + const newShader = "gl_FragColor = vec4( vec3( 0.0 ), ( 1.0 - fragCoordZ ) * darkness );"; + this.depthMaterial.userData.darkness = { value: this.darkness }; + this.depthMaterial.onBeforeCompile = (shader) => { + shader.uniforms.darkness = this.depthMaterial.userData.darkness; + shader.fragmentShader = /* glsl */ ` + uniform float darkness; + ${shader.fragmentShader.replace(oldShader, newShader)} + `; + }; + } + createShadow(id, size) { + this.shadows[id] = { + root: new THREE$1.Group(), + rt: new THREE$1.WebGLRenderTarget(this.resolution, this.resolution), + rtBlur: new THREE$1.WebGLRenderTarget(this.resolution, this.resolution), + blurPlane: new THREE$1.Mesh(), + camera: this.createCamera(size), + }; + return this.shadows[id]; + } + createCamera(size) { + return new THREE$1.OrthographicCamera(-size.x / 2, size.x / 2, size.z / 2, -size.z / 2, 0, this.cameraHeight); + } + getSizeCenterMin(meshes) { + const parent = meshes[0].parent; + const group = new THREE$1.Group(); + group.children = meshes; + const boundingBox = new THREE$1.Box3().setFromObject(group); + parent === null || parent === void 0 ? void 0 : parent.add(...meshes); + const size = new THREE$1.Vector3(); + boundingBox.getSize(size); + size.x *= this.shadowExtraScaleFactor; + size.z *= this.shadowExtraScaleFactor; + const center = new THREE$1.Vector3(); + boundingBox.getCenter(center); + const min = boundingBox.min; + return { size, center, min }; + } + blurShadow(shadow, amount) { + const horizontalBlurMaterial = new THREE$1.ShaderMaterial(HorizontalBlurShader); + horizontalBlurMaterial.depthTest = false; + const verticalBlurMaterial = new THREE$1.ShaderMaterial(VerticalBlurShader); + verticalBlurMaterial.depthTest = false; + shadow.blurPlane.visible = true; + // blur horizontally and draw in the renderTargetBlur + shadow.blurPlane.material = horizontalBlurMaterial; + // @ts-ignore + shadow.blurPlane.material.uniforms.tDiffuse.value = shadow.rt.texture; + horizontalBlurMaterial.uniforms.h.value = (amount * 1) / 256; + const renderer = this.components.renderer.get(); + renderer.setRenderTarget(shadow.rtBlur); + renderer.render(shadow.blurPlane, shadow.camera); + // blur vertically and draw in the main renderTarget + shadow.blurPlane.material = verticalBlurMaterial; + // @ts-ignore + shadow.blurPlane.material.uniforms.tDiffuse.value = shadow.rtBlur.texture; + verticalBlurMaterial.uniforms.v.value = (amount * 1) / 256; + renderer.setRenderTarget(shadow.rt); + renderer.render(shadow.blurPlane, shadow.camera); + shadow.blurPlane.visible = false; + } +} +ShadowDropper.uuid = "f833a09a-a3ab-4c58-b03e-da5298c7a1b6"; +ToolComponent.libraryUUIDs.add(ShadowDropper.uuid); + +/** The name of the CSS class that styles the dimension label. */ +const DimensionLabelClassName = "text-white text-sm bg-ifcjs-100 rounded-md px-3 py-1"; +/** The name of the CSS class that styles the dimension label. */ +const DimensionPreviewClassName = "bg-ifcjs-100 rounded-full w-[8px] h-[8px]"; + +// TODO: Document + clean up this: way less parameters, clearer logic +class SimpleDimensionLine { + set visible(value) { + this.label.visible = value; + this._endpoints[0].visible = value; + this._endpoints[1].visible = value; + if (value) { + this._components.scene.get().add(this._root); + } + else { + this._root.removeFromParent(); + } + } + set endPoint(point) { + this.end = point; + const position = this._line.geometry.attributes + .position; + position.setXYZ(1, point.x, point.y, point.z); + position.needsUpdate = true; + this._endpoints[1].get().position.copy(point); + this.updateLabel(); + } + set startPoint(point) { + this.start = point; + const position = this._line.geometry.attributes + .position; + position.setXYZ(0, point.x, point.y, point.z); + position.needsUpdate = true; + this._endpoints[0].get().position.copy(point); + this.updateLabel(); + } + get _center() { + let dir = this.end.clone().sub(this.start); + const len = dir.length() * 0.5; + dir = dir.normalize().multiplyScalar(len); + return this.start.clone().add(dir); + } + constructor(components, data) { + this.boundingBox = new THREE$1.Mesh(); + this._root = new THREE$1.Group(); + this._endpoints = []; + this._components = components; + this.start = data.start; + this.end = data.end; + this._length = this.getLength(); + this._line = this.createLine(data); + this.newEndpointElement(data.endpointElement); + // @ts-ignore + this.newEndpointElement(data.endpointElement.cloneNode(true)); + this.label = this.newText(); + this._root.renderOrder = 2; + this._components.scene.get().add(this._root); + } + async dispose() { + const disposer = await this._components.tools.get(Disposer); + this.visible = false; + disposer.destroy(this._root); + disposer.destroy(this._line); + for (const marker of this._endpoints) { + await marker.dispose(); + } + this._endpoints.length = 0; + await this.label.dispose(); + if (this.boundingBox) { + disposer.destroy(this.boundingBox); + } + this._components = null; + } + createBoundingBox() { + this.boundingBox.geometry = new THREE$1.BoxGeometry(1, 1, this._length); + this.boundingBox.position.copy(this._center); + this.boundingBox.lookAt(this.end); + this.boundingBox.visible = false; + this._root.add(this.boundingBox); + } + toggleLabel() { + this.label.toggleVisibility(); + } + newEndpointElement(element) { + const isFirst = this._endpoints.length === 0; + const position = isFirst ? this.start : this.end; + const marker = new Simple2DMarker(this._components, element); + marker.get().position.copy(position); + this._endpoints.push(marker); + this._root.add(marker.get()); + } + updateLabel() { + this._length = this.getLength(); + this.label.get().element.textContent = this.getTextContent(); + this.label.get().position.copy(this._center); + this._line.computeLineDistances(); + } + createLine(data) { + const axisGeom = new THREE$1.BufferGeometry(); + axisGeom.setFromPoints([data.start, data.end]); + const line = new THREE$1.Line(axisGeom, data.lineMaterial); + this._root.add(line); + return line; + } + newText() { + const htmlText = document.createElement("div"); + htmlText.className = DimensionLabelClassName; + htmlText.textContent = this.getTextContent(); + const label = new Simple2DMarker(this._components, htmlText); + label.get().position.copy(this._center); + this._root.add(label.get()); + return label; + } + getTextContent() { + return `${this._length / SimpleDimensionLine.scale} ${SimpleDimensionLine.units}`; + } + getLength() { + return parseFloat(this.start.distanceTo(this.end).toFixed(2)); + } +} +SimpleDimensionLine.scale = 1; +SimpleDimensionLine.units = "m"; + +/** + * A basic dimension tool to measure distances between 2 points in 3D and + * display a 3D symbol displaying the numeric value. + */ +class LengthMeasurement extends Component { + /** {@link Component.enabled} */ + get enabled() { + return this._enabled; + } + /** {@link Component.enabled} */ + set enabled(value) { + if (!value) + this.cancelCreation(); + this._enabled = value; + this._vertexPicker.enabled = value; + if (this.components.ui.enabled) { + const main = this.uiElement.get("main"); + main.active = value; + } + } + /** {@link Hideable.visible} */ + get visible() { + return this._visible; + } + /** {@link Hideable.visible} */ + set visible(value) { + this._visible = value; + if (!this._visible) { + this.enabled = false; + } + for (const dimension of this._measurements) { + dimension.visible = this._visible; + } + } + /** + * The [Color](https://threejs.org/docs/#api/en/math/Color) + * of the geometry of the dimensions. + */ + set color(color) { + this._lineMaterial.color = color; + } + constructor(components) { + super(components); + /** {@link Updateable.onBeforeUpdate} */ + this.onBeforeUpdate = new Event(); + /** {@link Updateable.onAfterUpdate} */ + this.onAfterUpdate = new Event(); + /** {@link Createable.onAfterCreate} */ + this.onAfterCreate = new Event(); + /** {@link Createable.onBeforeCreate} */ + this.onBeforeCreate = new Event(); + /** {@link Createable.onAfterDelete} */ + this.onAfterDelete = new Event(); + /** {@link Createable.onBeforeDelete} */ + this.onBeforeDelete = new Event(); + /** {@link Createable.onBeforeCancel} */ + this.onBeforeCancel = new Event(); + /** {@link Createable.onAfterCancel} */ + this.onAfterCancel = new Event(); + this.uiElement = new UIElement(); + /** The minimum distance to force the dimension cursor to a vertex. */ + this.snapDistance = 0.25; + this._lineMaterial = new THREE$1.LineBasicMaterial({ + color: "#DC2626", + linewidth: 2, + depthTest: false, + }); + this._measurements = []; + this._visible = true; + this._enabled = false; + /** Temporary variables for internal operations */ + this._temp = { + isDragging: false, + start: new THREE$1.Vector3(), + end: new THREE$1.Vector3(), + dimension: undefined, + }; + /** + * Starts or finishes drawing a new dimension line. + * + * @param data - forces the dimension to be drawn on a plane. Use this if you are drawing + * dimensions in floor plan navigation. + */ + this.create = async (data) => { + const plane = data instanceof THREE$1.Object3D ? data : undefined; + if (!this._enabled) + return; + await this.onBeforeCreate.trigger(this); + if (!this._temp.isDragging) { + this.drawStart(plane); + return; + } + await this.endCreation(); + }; + this.onKeyDown = (e) => { + if (!this.enabled) + return; + if (e.key === "Escape") { + if (this._temp.isDragging) { + this.cancelCreation(); + } + else { + this.enabled = false; + } + } + }; + this.components.tools.add(LengthMeasurement.uuid, this); + this._raycaster = new SimpleRaycaster(this.components); + this._vertexPicker = new VertexPicker(components, { + previewElement: this.newEndpoint(), + snapDistance: this.snapDistance, + }); + if (components.ui.enabled) { + this.setUI(); + } + } + setUI() { + const main = new Button(this.components); + this.uiElement.set({ main }); + main.materialIcon = "straighten"; + main.onClick.add(() => { + if (!this.enabled) { + this.setupEvents(true); + main.active = true; + this.enabled = true; + } + else { + this.enabled = false; + main.active = false; + this.setupEvents(false); + } + }); + } + /** {@link Component.get} */ + get() { + return this._measurements; + } + /** {@link Disposable.dispose} */ + async dispose() { + this.setupEvents(false); + this.enabled = false; + this.onBeforeUpdate.reset(); + this.onAfterUpdate.reset(); + this.onBeforeCreate.reset(); + this.onAfterCreate.reset(); + this.onBeforeDelete.reset(); + this.onAfterDelete.reset(); + this.onBeforeCancel.reset(); + this.onAfterCancel.reset(); + this.uiElement.dispose(); + if (this.previewElement) { + this.previewElement.remove(); + } + for (const measure of this._measurements) { + await measure.dispose(); + } + this._lineMaterial.dispose(); + this._measurements = []; + await this._vertexPicker.dispose(); + } + /** {@link Updateable.update} */ + async update(_delta) { + if (this._enabled) { + await this.onBeforeUpdate.trigger(this); + if (this._temp.isDragging) { + this.drawInProcess(); + } + await this.onAfterUpdate.trigger(this); + } + } + /** Deletes the dimension that the user is hovering over with the mouse or touch event. */ + async delete() { + if (!this._enabled || this._measurements.length === 0) + return; + const boundingBoxes = this.getBoundingBoxes(); + const intersect = this._raycaster.castRay(boundingBoxes); + if (!intersect) + return; + const dimension = this._measurements.find((dim) => dim.boundingBox === intersect.object); + if (dimension) { + const index = this._measurements.indexOf(dimension); + this._measurements.splice(index, 1); + await dimension.dispose(); + await this.onAfterDelete.trigger(this); + } + } + /** Deletes all the dimensions that have been previously created. */ + async deleteAll() { + for (const dim of this._measurements) { + await dim.dispose(); + await this.onAfterDelete.trigger(this); + } + this._measurements = []; + } + /** Cancels the drawing of the current dimension. */ + cancelCreation() { + var _a; + if (!this._temp.dimension) + return; + this._temp.isDragging = false; + (_a = this._temp.dimension) === null || _a === void 0 ? void 0 : _a.dispose(); + this._temp.dimension = undefined; + } + drawStart(plane) { + const items = plane ? [plane] : undefined; + const intersects = this._raycaster.castRay(items); + const point = this._vertexPicker.get(); + if (!(intersects && point)) + return; + this._temp.isDragging = true; + this._temp.start = plane ? intersects.point : point; + } + drawInProcess() { + const intersects = this._raycaster.castRay(); + if (!intersects) + return; + const found = this._vertexPicker.get(); + if (!found) + return; + this._temp.end = found; + if (!this._temp.dimension) { + this._temp.dimension = this.drawDimension(); + } + this._temp.dimension.endPoint = this._temp.end; + } + async endCreation() { + if (!this._temp.dimension) + return; + this._temp.dimension.createBoundingBox(); + this._measurements.push(this._temp.dimension); + await this.onAfterCreate.trigger(this._temp.dimension); + this._temp.dimension = undefined; + this._temp.isDragging = false; + } + drawDimension() { + return new SimpleDimensionLine(this.components, { + start: this._temp.start, + end: this._temp.end, + lineMaterial: this._lineMaterial, + endpointElement: this.newEndpoint(), + }); + } + newEndpoint() { + const element = document.createElement("div"); + element.className = "w-2 h-2 bg-red-600 rounded-full"; + return element; + } + getBoundingBoxes() { + return this._measurements + .map((dim) => dim.boundingBox) + .filter((box) => box !== undefined); + } + setupEvents(active) { + const viewerContainer = this.components.ui.viewerContainer; + if (active) { + viewerContainer.addEventListener("click", this.create); + window.addEventListener("keydown", this.onKeyDown); + } + else { + viewerContainer.removeEventListener("click", this.create); + window.removeEventListener("keydown", this.onKeyDown); + } + } +} +LengthMeasurement.uuid = "2f9bcacf-18a9-4be6-a293-e898eae64ea1"; +ToolComponent.libraryUUIDs.add(LengthMeasurement.uuid); + +class ViewpointsManager extends Component { + constructor(components) { + super(components); + this.name = "ViewpointsManager"; + this.uiElement = new UIElement(); + this.enabled = true; + this.list = []; + this.selectionHighlighter = ""; + this.onViewpointViewed = new Event(); + this.onViewpointAdded = new Event(); + this.components = components; + } + initialize(config) { + this.selectionHighlighter = config.selectionHighlighter; + // this._fragmentGrouper = config.fragmentGrouper; + // this._fragmentManager = config.fragmentManager; + this._drawManager = config.drawManager; + if (this.components.ui.enabled) { + this.setUI(); + } + } + setUI() { + const viewerContainer = this.components.renderer.get().domElement + .parentElement; + const window = new FloatingWindow(this.components); + window.title = "Viewpoints"; + viewerContainer.append(window.get()); + window.visible = false; + const main = new Button(this.components, { + materialIconName: "photo_camera", + }); + const newButton = new Button(this.components, { + materialIconName: "add", + name: "New viewpoint", + }); + const listButton = new Button(this.components, { + materialIconName: "format_list_bulleted", + name: "Viewpoints list", + }); + listButton.onClick.add(() => { + window.visible = !window.visible; + }); + main.addChild(listButton, newButton); + this.uiElement.set({ main, newButton, window }); + } + get() { + throw new Error("Method not implemented."); + } + async add(data) { + var _a; + const { title, description } = data; + if (!title) { + return undefined; + } + const guid = generateUUID().toLowerCase(); + // #region Store dimensions + const dimensions = []; + const dimensionsComp = await this.components.tools.get(LengthMeasurement); + const allDimensions = dimensionsComp.get(); + for (const dimension of allDimensions) { + dimensions.push({ start: dimension.start, end: dimension.end }); + } + // #endregion + // #redgion Store selection + const highlighter = await this.components.tools.get(FragmentHighlighter); + const selection = highlighter.selection[this.selectionHighlighter]; + // #endregion + // #region Store filter (WIP) + // const filter = {entities: "IFCBEAM", storeys: "N07"} + // #endregion + // #region Store camera position and target + const camera = this.components.camera; + const controls = camera.controls; + const target = new Vector3$1(); + const position = new Vector3$1(); + controls.getTarget(target); + controls.getPosition(position); + const projection = camera.getProjection(); + // #endregion + // #region Store annotations + const annotations = (_a = this._drawManager) === null || _a === void 0 ? void 0 : _a.saveDrawing(guid); + // #endregion + const viewpoint = { + guid, + title, + target, + position, + selection, + // filter, + description, + dimensions, + annotations, + projection, + }; + // #region UI representation + const card = new SimpleUICard(this.components, viewpoint.guid); + card.title = title; + card.description = description; + card.domElement.onclick = () => this.view(viewpoint.guid); + this.uiElement.get("window").addChild(card); + // #endregion + this.list.push(viewpoint); + await this.onViewpointAdded.trigger(guid); + return viewpoint; + } + retrieve(guid) { + return this.list.find((v) => v.guid === guid); + } + async view(guid) { + const viewpoint = this.retrieve(guid); + if (!viewpoint) { + return; + } + // #region Recover annotations + if (this._drawManager && viewpoint.annotations) { + this._drawManager.viewport.clear(); + this._drawManager.enabled = true; + this._drawManager.viewport.get().append(viewpoint.annotations); + } + // #endregion + // #region Recover dimensions + const dimensionsComponent = this.components.tools.get(LengthMeasurement); + viewpoint.dimensions.forEach((data) => { + const dimension = new SimpleDimensionLine(this.components, { + start: data.start, + end: data.end, + // @ts-ignore + lineMaterial: dimensionsComponent._lineMaterial, + // @ts-ignore + endpoint: dimensionsComponent._endpointMesh, + }); + dimension.createBoundingBox(); + // @ts-ignore + dimensionsComponent._dimensions.push(dimension); + }); + // #endregion + // #region Recover filtered elements + // if (viewpoint.filter) { + // const filterData = fragments.groups.get(viewpoint.filter) + // for (const fragmentID in fragments.list) { + // const fragment = fragments.list[fragmentID] + // fragment.setVisibility(fragment.items, false) + // } + // for (const fragmentID in filterData) { + // const ids = filterData[fragmentID] + // fragments.list[fragmentID]?.setVisibility(ids, true) + // } + // } + // #endregion + // Select elements in the viewpoint + const selection = {}; + for (const fragmentID in viewpoint.selection) { + selection[fragmentID] = viewpoint.selection[fragmentID]; + } + const highlighter = await this.components.tools.get(FragmentHighlighter); + await highlighter.highlightByID(this.selectionHighlighter, selection, true); + // #region Recover camera position & target + const camera = this.components.camera; + const controls = camera.controls; + controls.setLookAt(viewpoint.position.x, viewpoint.position.y, viewpoint.position.z, viewpoint.target.x, viewpoint.target.y, viewpoint.target.z, true); + await this.onViewpointViewed.trigger(guid); + // #endregion + } +} + +class CubeMap extends Component { + get visible() { + return this._visible; + } + set visible(value) { + this._visible = value; + if (this._visible) { + this._cubeWrapper.classList.remove("hidden"); + } + else { + this._cubeWrapper.classList.add("hidden"); + } + } + constructor(components) { + var _a; + super(components); + this.name = "CubeMap"; + this.enabled = true; + this.onAfterUpdate = new Event(); + this.onBeforeUpdate = new Event(); + this.offset = 1; + this._cubeFaceClass = "flex justify-center font-bold hover:bg-ifcjs-200 hover:text-ifcjs-100 text-white select-none text-xl items-center cursor-pointer text-center text-ifcjs-100 absolute w-[60px] h-[60px] border-solid border-ifcjs-120"; + this._cyan = "bg-[#3CE6FEDD]"; + this._pink = "bg-[#BD4BF3DD]"; + this._blue = "bg-[#201491DD]"; + this._cube = document.createElement("div"); + this._cubeWrapper = document.createElement("div"); + this._matrix = new THREE$1.Matrix4(); + this._faceOrientations = { + front: new THREE$1.Vector3(0, 0, 1), + top: new THREE$1.Vector3(0, 1, 0), + bottom: new THREE$1.Vector3(0, -1, 0), + right: new THREE$1.Vector3(1, 0, 0), + left: new THREE$1.Vector3(-1, 0, 0), + back: new THREE$1.Vector3(0, 0, -1), + }; + this.update = () => { + this._matrix.extractRotation(this._camera.get().matrixWorldInverse); + this._cube.style.transform = `translateZ(-300px) ${this.getCameraCSSMatrix(this._matrix)}`; + }; + this.components.tools.add(CubeMap.uuid, this); + this._cubeWrapper.id = "tooeen-cube-map"; + this._cubeWrapper.className = "absolute z-10"; + this.setPosition("bottom-right"); + this._cube.className = "w-[60px] h-[60px] relative"; + this.setSize("400"); + this._cube.style.transformStyle = "preserve-3d"; + this._cube.style.transform = "translateZ(-300px)"; + this._cube.style.textTransform = "uppercase"; + this._cubeWrapper.append(this._cube); + if (components.camera.isUpdateable()) { + components.camera.onAfterUpdate.add(this.update); + } + // #region Cube faces + const frontFace = document.createElement("div"); + frontFace.id = "cube-map-front"; + frontFace.className = `${this._cubeFaceClass} ${this._cyan}`; + frontFace.style.transform = "rotateX(180deg) translateZ(-30px)"; + frontFace.style.transition = "all 0.2s"; + frontFace.onclick = () => this.orientToFace("front"); + const topFace = document.createElement("div"); + topFace.className = `${this._cubeFaceClass} ${this._pink}`; + topFace.style.transform = "rotateX(90deg) translateZ(-30px)"; + topFace.style.transition = "all 0.2s"; + topFace.onclick = () => this.orientToFace("top"); + const bottomFace = document.createElement("div"); + bottomFace.className = `${this._cubeFaceClass} ${this._pink}`; + bottomFace.style.transform = "rotateX(270deg) translateZ(-30px)"; + bottomFace.style.transition = "all 0.2s"; + bottomFace.onclick = () => this.orientToFace("bottom"); + const rightFace = document.createElement("div"); + rightFace.className = `${this._cubeFaceClass} ${this._blue}`; + rightFace.style.transform = + "rotateY(-270deg) rotateX(180deg) translateZ(-30px)"; + rightFace.style.transition = "all 0.2s"; + rightFace.onclick = () => this.orientToFace("right"); + const leftFace = document.createElement("div"); + leftFace.className = `${this._cubeFaceClass} ${this._blue}`; + leftFace.style.transform = + "rotateY(-90deg) rotateX(180deg) translateZ(-30px)"; + leftFace.style.transition = "all 0.2s"; + leftFace.onclick = () => this.orientToFace("left"); + const backFace = document.createElement("div"); + backFace.className = `${this._cubeFaceClass} ${this._cyan}`; + backFace.style.transform = "translateZ(-30px) rotateZ(180deg)"; + backFace.style.transition = "all 0.2s"; + backFace.onclick = () => this.orientToFace("back"); + // #endregion + this._cube.append(frontFace, topFace, bottomFace, rightFace, leftFace, backFace); + (_a = this._viewerContainer) === null || _a === void 0 ? void 0 : _a.append(this._cubeWrapper); + this.visible = true; + } + async dispose() { + this.onAfterUpdate.reset(); + this.onBeforeUpdate.reset(); + this._cube.remove(); + this._cubeWrapper.remove(); + this.components = null; + } + setSize(value = "350") { + this._cubeWrapper.style.perspective = `${value}px`; + } + setPosition(corner) { + this._cubeWrapper.classList.remove("top-8", "bottom-8", "left-8", "right-8"); + const wrapperPositions = { + "top-left": ["top-8", "left-8"], + "top-right": ["top-8", "right-8"], + "bottom-right": ["bottom-8", "right-8"], + "bottom-left": ["bottom-8", "left-8"], + }; + this._cubeWrapper.classList.add(...wrapperPositions[corner]); + } + orientToFace(orientation) { + const camera = this._camera.get(); + if (this._camera instanceof OrthoPerspectiveCamera) { + const controls = this._camera.controls; + const projection = this._camera.getProjection(); + const target = camera.position + .clone() + .add(this._faceOrientations[orientation].clone().multiplyScalar(-1)); + const { x, y, z } = camera.position; + if (projection === "Perspective") { + controls.setLookAt(x, y, z, target.x, target.y, target.z, true); + } + else { + const pos = new THREE$1.Vector3(); + if (orientation === "top") + pos.set(0, 200, 0); + if (orientation === "bottom") + pos.set(0, -200, 0); + if (orientation === "left") + pos.set(-200, 0, 0); + if (orientation === "right") + pos.set(200, 0, 0); + if (orientation === "front") + pos.set(0, 0, 200); + if (orientation === "back") + pos.set(0, 0, -200); + controls.setPosition(pos.x, pos.y, pos.z, true); + controls.setTarget(0, 0, 0, true); + } + this._camera.fit(undefined, this.offset); + } + } + get _viewerContainer() { + return this.components.renderer.get().domElement.parentElement; + } + get _camera() { + return this.components.camera; + } + getCameraCSSMatrix(matrix) { + const { elements } = matrix; + const epsilon = (value) => { + return Math.abs(value) < 1e-10 ? 0 : value; + }; + return `matrix3d( + ${epsilon(elements[0])}, + ${epsilon(-elements[1])}, + ${epsilon(elements[2])}, + ${epsilon(elements[3])}, + ${epsilon(elements[4])}, + ${epsilon(-elements[5])}, + ${epsilon(elements[6])}, + ${epsilon(elements[7])}, + ${epsilon(elements[8])}, + ${epsilon(-elements[9])}, + ${epsilon(elements[10])}, + ${epsilon(elements[11])}, + ${epsilon(elements[12])}, + ${epsilon(-elements[13])}, + ${epsilon(elements[14])}, + ${epsilon(elements[15])}) + `; + } + get() { + return this._cubeWrapper; + } +} +CubeMap.uuid = "53311ea3-323a-476f-ae4a-d681778e8f67"; +ToolComponent.libraryUUIDs.add(CubeMap.uuid); + +class MiniMap extends Component { + get lockRotation() { + return this._lockRotation; + } + set lockRotation(active) { + this._lockRotation = active; + if (active) { + this._camera.rotation.z = 0; + } + } + get zoom() { + return this._camera.zoom; + } + set zoom(value) { + this._camera.zoom = value; + this._camera.updateProjectionMatrix(); + } + get enabled() { + return this._enabled; + } + set enabled(active) { + this._enabled = active; + const canvas = this.uiElement.get("canvas"); + canvas.visible = active; + } + constructor(components) { + super(components); + this.uiElement = new UIElement(); + this.onAfterUpdate = new Event(); + this.onBeforeUpdate = new Event(); + this.onResize = new Event(); + // By pushing the map to the front, what the user sees on screen corresponds with what they see on the map + this.frontOffset = 0; + this.overrideMaterial = new THREE$1.MeshDepthMaterial(); + this.backgroundColor = new THREE$1.Color(0x06080a); + this._enabled = true; + this._lockRotation = true; + this._size = new THREE$1.Vector2(320, 160); + this._tempVector1 = new THREE$1.Vector3(); + this._tempVector2 = new THREE$1.Vector3(); + this._tempTarget = new THREE$1.Vector3(); + this.down = new THREE$1.Vector3(0, -1, 0); + this.updatePlanes = () => { + const planes = []; + const renderer = this._components.renderer.get(); + for (const plane of renderer.clippingPlanes) { + planes.push(plane); + } + planes.push(this._plane); + this._renderer.clippingPlanes = planes; + }; + this.components.tools.add(MiniMap.uuid, this); + const main = new Button(components); + const canvas = new Canvas(components); + this.uiElement.set({ main, canvas }); + main.materialIcon = "map"; + main.onClick.add(() => { + canvas.visible = !canvas.visible; + }); + const range = new RangeInput(components); + canvas.addChild(range); + this._components = components; + const htmlCanvas = canvas.get(); + this._renderer = new THREE$1.WebGLRenderer({ canvas: htmlCanvas }); + this._renderer.setSize(this._size.x, this._size.y); + const frustumSize = 1; + const aspect = this._size.x / this._size.y; + this._camera = new THREE$1.OrthographicCamera((frustumSize * aspect) / -2, (frustumSize * aspect) / 2, frustumSize / 2, frustumSize / -2); + this._components.renderer.onClippingPlanesUpdated.add(this.updatePlanes); + this._camera.position.set(0, 200, 0); + this._camera.zoom = 0.1; + this._camera.rotation.x = -Math.PI / 2; + this._plane = new THREE$1.Plane(this.down, 200); + this.updatePlanes(); + } + async dispose() { + this.enabled = false; + this.uiElement.dispose(); + this.onBeforeUpdate.reset(); + this.onAfterUpdate.reset(); + this.onResize.reset(); + this.overrideMaterial.dispose(); + this._renderer.dispose(); + } + get() { + return this._camera; + } + async update() { + if (!this.enabled) + return; + await this.onBeforeUpdate.trigger(); + const scene = this._components.scene.get(); + const cameraComponent = this._components.camera; + const controls = cameraComponent.controls; + controls.getPosition(this._tempVector1); + this._camera.position.x = this._tempVector1.x; + this._camera.position.z = this._tempVector1.z; + if (this.frontOffset !== 0) { + controls.getTarget(this._tempVector2); + this._tempVector2.sub(this._tempVector1); + this._tempVector2.normalize().multiplyScalar(this.frontOffset); + this._camera.position.x += this._tempVector2.x; + this._camera.position.z += this._tempVector2.z; + } + if (!this._lockRotation) { + controls.getTarget(this._tempTarget); + const angle = Math.atan2(this._tempTarget.x - this._tempVector1.x, this._tempTarget.z - this._tempVector1.z); + this._camera.rotation.z = angle + Math.PI; + } + this._plane.set(this.down, this._tempVector1.y); + const previousBackground = scene.background; + scene.background = this.backgroundColor; + this._renderer.render(scene, this._camera); + scene.background = previousBackground; + await this.onAfterUpdate.trigger(); + } + getSize() { + const canvas = this.uiElement.get("canvas"); + return canvas.getSize(); + } + async resize(size) { + const canvas = this.uiElement.get("canvas"); + if (size) { + this._size.copy(size); + canvas.resize(size); + this._renderer.setSize(size.x, size.y); + const aspect = size.x / size.y; + const frustumSize = 1; + this._camera.left = (frustumSize * aspect) / -2; + this._camera.right = (frustumSize * aspect) / 2; + this._camera.top = frustumSize / 2; + this._camera.bottom = -frustumSize / 2; + this._camera.updateProjectionMatrix(); + await this.onResize.trigger(size); + } + } +} +MiniMap.uuid = "39ad6aad-84c8-4adf-a1e0-7f25313a9e7f"; +ToolComponent.libraryUUIDs.add(MiniMap.uuid); + +class FragmentHighlighter extends Component { + get outlineEnabled() { + return this._outlineEnabled; + } + set outlineEnabled(value) { + this._outlineEnabled = value; + if (!value) { + delete this._postproduction.customEffects.outlinedMeshes.fragments; + } + } + get _postproduction() { + if (!(this.components.renderer instanceof PostproductionRenderer)) { + throw new Error("Postproduction renderer is needed for outlines!"); + } + const renderer = this.components.renderer; + return renderer.postproduction; + } + constructor(components) { + super(components); + this.enabled = true; + this.highlightMats = {}; + this.events = {}; + this.multiple = "ctrlKey"; + this.zoomFactor = 1.5; + this.zoomToSelection = false; + this.selection = {}; + this.excludeOutline = new Set(); + this.fillEnabled = true; + this.outlineMaterial = new THREE$1.MeshBasicMaterial({ + color: "white", + transparent: true, + depthTest: false, + depthWrite: false, + opacity: 0.4, + }); + this._eventsActive = false; + this._outlineEnabled = true; + this._outlinedMeshes = {}; + this._invisibleMaterial = new THREE$1.MeshBasicMaterial({ visible: false }); + this._tempMatrix = new THREE$1.Matrix4(); + this._default = { + selectName: "select", + hoverName: "hover", + mouseDown: false, + mouseMoved: false, + selectionMaterial: new THREE$1.MeshBasicMaterial({ + color: "#BCF124", + transparent: true, + opacity: 0.85, + depthTest: true, + }), + highlightMaterial: new THREE$1.MeshBasicMaterial({ + color: "#6528D7", + transparent: true, + opacity: 0.2, + depthTest: true, + }), + }; + this.onMouseDown = () => { + this._default.mouseDown = true; + }; + this.onMouseUp = async (event) => { + if (event.target !== this.components.renderer.get().domElement) + return; + this._default.mouseDown = false; + if (this._default.mouseMoved || event.button !== 0) { + this._default.mouseMoved = false; + return; + } + this._default.mouseMoved = false; + const mult = this.multiple === "none" ? true : !event[this.multiple]; + await this.highlight(this._default.selectName, mult, this.zoomToSelection); + }; + this.onMouseMove = async () => { + if (this._default.mouseMoved) { + await this.clearFills(this._default.hoverName); + return; + } + this._default.mouseMoved = this._default.mouseDown; + await this.highlight(this._default.hoverName, true, false); + }; + this.components.tools.add(FragmentHighlighter.uuid, this); + } + get() { + return this.highlightMats; + } + async dispose() { + this.setupEvents(false); + this._default.highlightMaterial.dispose(); + this._default.selectionMaterial.dispose(); + for (const matID in this.highlightMats) { + const mats = this.highlightMats[matID] || []; + for (const mat of mats) { + mat.dispose(); + } + } + for (const id in this._outlinedMeshes) { + const mesh = this._outlinedMeshes[id]; + mesh.geometry.dispose(); + } + this.outlineMaterial.dispose(); + this._invisibleMaterial.dispose(); + this.highlightMats = {}; + this.selection = {}; + for (const name in this.events) { + this.events[name].onClear.reset(); + this.events[name].onHighlight.reset(); + } + this.events = {}; + } + async add(name, material) { + if (this.highlightMats[name]) { + throw new Error("A highlight with this name already exists."); + } + this.highlightMats[name] = material; + this.selection[name] = {}; + this.events[name] = { + onHighlight: new Event(), + onClear: new Event(), + }; + await this.update(); + } + async update() { + if (!this.fillEnabled) { + return; + } + const fragments = await this.components.tools.get(FragmentManager); + for (const fragmentID in fragments.list) { + const fragment = fragments.list[fragmentID]; + this.addHighlightToFragment(fragment); + } + } + async highlight(name, removePrevious = true, zoomToSelection = this.zoomToSelection) { + var _a; + if (!this.enabled) + return null; + this.checkSelection(name); + const fragments = await this.components.tools.get(FragmentManager); + const fragList = []; + const meshes = fragments.meshes; + const result = this.components.raycaster.castRay(meshes); + if (!result) { + await this.clear(name); + return null; + } + const mesh = result.object; + const geometry = mesh.geometry; + const index = (_a = result.face) === null || _a === void 0 ? void 0 : _a.a; + const instanceID = result.instanceId; + if (!geometry || index === undefined || instanceID === undefined) { + return null; + } + if (removePrevious) { + await this.clear(name); + } + if (!this.selection[name][mesh.uuid]) { + this.selection[name][mesh.uuid] = new Set(); + } + fragList.push(mesh.fragment); + const blockID = mesh.fragment.getVertexBlockID(geometry, index); + const itemID = mesh.fragment + .getItemID(instanceID, blockID) + .replace(/\..*/, ""); + const idNum = parseInt(itemID, 10); + this.selection[name][mesh.uuid].add(itemID); + this.addComposites(mesh, idNum, name); + await this.regenerate(name, mesh.uuid); + const group = mesh.fragment.group; + if (group) { + const keys = group.data[idNum][0]; + for (let i = 0; i < keys.length; i++) { + const fragKey = keys[i]; + const fragID = group.keyFragments[fragKey]; + const fragment = fragments.list[fragID]; + fragList.push(fragment); + if (!this.selection[name][fragID]) { + this.selection[name][fragID] = new Set(); + } + this.selection[name][fragID].add(itemID); + this.addComposites(fragment.mesh, idNum, name); + await this.regenerate(name, fragID); + } + } + await this.events[name].onHighlight.trigger(this.selection[name]); + if (zoomToSelection) { + await this.zoomSelection(name); + } + return { id: itemID, fragments: fragList }; + } + async highlightByID(name, ids, removePrevious = true, zoomToSelection = this.zoomToSelection) { + if (!this.enabled) + return; + if (removePrevious) { + await this.clear(name); + } + const styles = this.selection[name]; + for (const fragID in ids) { + if (!styles[fragID]) { + styles[fragID] = new Set(); + } + const fragments = await this.components.tools.get(FragmentManager); + const fragment = fragments.list[fragID]; + const idsNum = new Set(); + for (const id of ids[fragID]) { + styles[fragID].add(id); + idsNum.add(parseInt(id, 10)); + } + for (const id of idsNum) { + this.addComposites(fragment.mesh, id, name); + } + await this.regenerate(name, fragID); + } + await this.events[name].onHighlight.trigger(this.selection[name]); + if (zoomToSelection) { + await this.zoomSelection(name); + } + } + /** + * Clears any selection previously made by calling {@link highlight}. + */ + async clear(name) { + await this.clearFills(name); + if (!name || !this.excludeOutline.has(name)) { + await this.clearOutlines(); + } + } + async setup() { + this.enabled = true; + this.outlineMaterial.color.set(0xf0ff7a); + this.excludeOutline.add(this._default.hoverName); + await this.add(this._default.selectName, [this._default.selectionMaterial]); + await this.add(this._default.hoverName, [this._default.highlightMaterial]); + this.setupEvents(true); + } + async regenerate(name, fragID) { + if (this.fillEnabled) { + await this.updateFragmentFill(name, fragID); + } + if (this._outlineEnabled) { + await this.updateFragmentOutline(name, fragID); + } + } + async zoomSelection(name) { + if (!this.fillEnabled && !this._outlineEnabled) { + return; + } + const bbox = await this.components.tools.get(FragmentBoundingBox); + const fragments = await this.components.tools.get(FragmentManager); + bbox.reset(); + const selected = this.selection[name]; + if (!Object.keys(selected).length) { + return; + } + for (const fragID in selected) { + const fragment = fragments.list[fragID]; + if (this.fillEnabled) { + const highlight = fragment.fragments[name]; + if (highlight) { + bbox.addMesh(highlight.mesh); + } + } + if (this._outlineEnabled && this._outlinedMeshes[fragID]) { + bbox.addMesh(this._outlinedMeshes[fragID]); + } + } + const sphere = bbox.getSphere(); + sphere.radius *= this.zoomFactor; + const camera = this.components.camera; + await camera.controls.fitToSphere(sphere, true); + } + addComposites(mesh, itemID, name) { + const composites = mesh.fragment.composites[itemID]; + if (composites) { + for (let i = 1; i < composites; i++) { + const compositeID = toCompositeID(itemID, i); + this.selection[name][mesh.uuid].add(compositeID); + } + } + } + async clearStyle(name) { + const fragments = await this.components.tools.get(FragmentManager); + for (const fragID in this.selection[name]) { + const fragment = fragments.list[fragID]; + if (!fragment) + continue; + const selection = fragment.fragments[name]; + if (selection) { + selection.mesh.removeFromParent(); + } + } + await this.events[name].onClear.trigger(null); + this.selection[name] = {}; + } + async updateFragmentFill(name, fragmentID) { + const fragments = await this.components.tools.get(FragmentManager); + const ids = this.selection[name][fragmentID]; + const fragment = fragments.list[fragmentID]; + if (!fragment) + return; + const selection = fragment.fragments[name]; + if (!selection) + return; + // #region Old child/parent code + // const scene = this._components.scene.get(); + // scene.add(selection.mesh); //If we add selection.mesh directly to the scene, it won't be coordinated unless we do so manually. + // #endregion + // #region New child/parent code + const fragmentParent = fragment.mesh.parent; + if (!fragmentParent) + return; + fragmentParent.add(selection.mesh); + // #endregion + const isBlockFragment = selection.blocks.count > 1; + if (isBlockFragment) { + fragment.getInstance(0, this._tempMatrix); + selection.setInstance(0, { + ids: Array.from(fragment.ids), + transform: this._tempMatrix, + }); + selection.blocks.setVisibility(true, ids, true); + } + else { + let i = 0; + for (const id of ids) { + selection.mesh.count = i + 1; + const { instanceID } = fragment.getInstanceAndBlockID(id); + fragment.getInstance(instanceID, this._tempMatrix); + selection.setInstance(i, { ids: [id], transform: this._tempMatrix }); + i++; + } + } + } + checkSelection(name) { + if (!this.selection[name]) { + throw new Error(`Selection ${name} does not exist.`); + } + } + addHighlightToFragment(fragment) { + for (const name in this.highlightMats) { + if (!fragment.fragments[name]) { + const material = this.highlightMats[name]; + const subFragment = fragment.addFragment(name, material); + if (fragment.blocks.count > 1) { + subFragment.setInstance(0, { + ids: Array.from(fragment.ids), + transform: this._tempMatrix, + }); + subFragment.blocks.setVisibility(false); + } + subFragment.mesh.renderOrder = 2; + subFragment.mesh.frustumCulled = false; + } + } + } + async clearFills(name) { + const names = name ? [name] : Object.keys(this.selection); + for (const name of names) { + await this.clearStyle(name); + } + } + async clearOutlines() { + const fragments = await this.components.tools.get(FragmentManager); + const effects = this._postproduction.customEffects; + const fragmentsOutline = effects.outlinedMeshes.fragments; + if (fragmentsOutline) { + fragmentsOutline.meshes.clear(); + } + for (const fragID in this._outlinedMeshes) { + const fragment = fragments.list[fragID]; + const isBlockFragment = fragment.blocks.count > 1; + const mesh = this._outlinedMeshes[fragID]; + if (isBlockFragment) { + mesh.geometry.setIndex([]); + } + else { + mesh.count = 0; + } + } + } + async updateFragmentOutline(name, fragmentID) { + const fragments = await this.components.tools.get(FragmentManager); + if (!this.selection[name][fragmentID]) { + return; + } + if (this.excludeOutline.has(name)) { + return; + } + const ids = this.selection[name][fragmentID]; + const fragment = fragments.list[fragmentID]; + if (!fragment) + return; + const geometry = fragment.mesh.geometry; + const customEffects = this._postproduction.customEffects; + if (!customEffects.outlinedMeshes.fragments) { + customEffects.outlinedMeshes.fragments = { + meshes: new Set(), + material: this.outlineMaterial, + }; + } + const outlineEffect = customEffects.outlinedMeshes.fragments; + // Create a copy of the original fragment mesh for outline + if (!this._outlinedMeshes[fragmentID]) { + const newGeometry = new THREE$1.BufferGeometry(); + newGeometry.attributes = geometry.attributes; + newGeometry.index = geometry.index; + const newMesh = new THREE$1.InstancedMesh(newGeometry, this._invisibleMaterial, fragment.capacity); + newMesh.frustumCulled = false; + newMesh.renderOrder = 999; + fragment.mesh.updateMatrixWorld(true); + newMesh.applyMatrix4(fragment.mesh.matrixWorld); + this._outlinedMeshes[fragmentID] = newMesh; + const scene = this.components.scene.get(); + scene.add(newMesh); + } + const outlineMesh = this._outlinedMeshes[fragmentID]; + outlineEffect.meshes.add(outlineMesh); + const isBlockFragment = fragment.blocks.count > 1; + if (isBlockFragment) { + const indices = fragment.mesh.geometry.index.array; + const newIndex = []; + const idsSet = new Set(ids); + for (let i = 0; i < indices.length - 2; i += 3) { + const index = indices[i]; + const blockID = fragment.mesh.geometry.attributes.blockID.array; + const block = blockID[index]; + const itemID = fragment.mesh.fragment.getItemID(0, block); + if (idsSet.has(itemID)) { + newIndex.push(indices[i], indices[i + 1], indices[i + 2]); + } + } + outlineMesh.geometry.setIndex(newIndex); + } + else { + let counter = 0; + for (const id of ids) { + const { instanceID } = fragment.getInstanceAndBlockID(id); + fragment.mesh.getMatrixAt(instanceID, this._tempMatrix); + outlineMesh.setMatrixAt(counter++, this._tempMatrix); + } + outlineMesh.count = counter; + outlineMesh.instanceMatrix.needsUpdate = true; + } + } + setupEvents(active) { + const container = this.components.renderer.get().domElement; + if (active === this._eventsActive) { + return; + } + this._eventsActive = active; + if (active) { + container.addEventListener("mousedown", this.onMouseDown); + container.addEventListener("mouseup", this.onMouseUp); + container.addEventListener("mousemove", this.onMouseMove); + } + else { + container.removeEventListener("mousedown", this.onMouseDown); + container.removeEventListener("mouseup", this.onMouseUp); + container.removeEventListener("mousemove", this.onMouseMove); + } + } +} +FragmentHighlighter.uuid = "cb8a76f2-654a-4b50-80c6-66fd83cafd77"; +ToolComponent.libraryUUIDs.add(FragmentHighlighter.uuid); + +class FragmentTreeItem extends Component { + get children() { + return this._children; + } + set children(children) { + this._children = children; + children.forEach((child) => { + const subTree = child.uiElement.get("tree"); + this.uiElement.get("tree").addChild(subTree); + }); + } + constructor(components, classifier, content) { + super(components); + this.name = "FragmentTreeItem"; + this.enabled = true; + this.filter = {}; + this.uiElement = new UIElement(); + this.onSelected = new Event(); + this.onHovered = new Event(); + this._children = []; + const main = new Button(components); + const tree = new TreeView(components, content); + this.uiElement.set({ main, tree }); + tree.onClick.add(async () => { + const found = await classifier.find(this.filter); + await this.onSelected.trigger(found); + }); + tree.get().onmouseenter = async () => { + const found = await classifier.find(this.filter); + await this.onHovered.trigger(found); + }; + } + async dispose() { + this.uiElement.dispose(); + this.onSelected.reset(); + this.onHovered.reset(); + for (const child of this.children) { + await child.dispose(); + } + } + get() { + return { name: this.name, filter: this.filter, children: this.children }; + } +} + +class FragmentClassifier extends Component { + constructor(components) { + super(components); + /** {@link Component.enabled} */ + this.enabled = true; + this._groupSystems = {}; + components.tools.add(FragmentClassifier.uuid, this); + } + /** {@link Component.get} */ + get() { + return this._groupSystems; + } + async dispose() { + this._groupSystems = {}; + } + remove(guid) { + for (const systemName in this._groupSystems) { + const system = this._groupSystems[systemName]; + for (const groupName in system) { + const group = system[groupName]; + delete group[guid]; + } + } + } + async find(filter) { + const fragments = await this.components.tools.get(FragmentManager); + if (!filter) { + const result = {}; + const fragList = fragments.list; + for (const id in fragList) { + const fragment = fragList[id]; + const items = fragment.items; + const hidden = Object.keys(fragment.hiddenInstances); + result[id] = new Set(...items, ...hidden); + } + return result; + } + const size = Object.keys(filter).length; + const models = {}; + for (const name in filter) { + const values = filter[name]; + if (!this._groupSystems[name]) { + console.warn(`Classification ${name} does not exist.`); + continue; + } + for (const value of values) { + const found = this._groupSystems[name][value]; + if (found) { + for (const guid in found) { + if (!models[guid]) { + models[guid] = {}; + } + for (const id of found[guid]) { + if (!models[guid][id]) { + models[guid][id] = 1; + } + else { + models[guid][id]++; + } + } + } + } + } + } + const result = {}; + for (const guid in models) { + const model = models[guid]; + for (const id in model) { + const numberOfMatches = model[id]; + if (numberOfMatches === size) { + if (!result[guid]) { + result[guid] = new Set(); + } + result[guid].add(id); + const fragment = fragments.list[guid]; + const composites = fragment.composites[id]; + if (composites) { + const idNum = parseInt(id, 10); + for (let i = 1; i < composites; i++) { + const compositeID = toCompositeID(idNum, i); + result[guid].add(compositeID); + } + } + } + } + } + return result; + } + byModel(modelID, group) { + if (!this._groupSystems.model) { + this._groupSystems.model = {}; + } + const modelsClassification = this._groupSystems.model; + if (!modelsClassification[modelID]) { + modelsClassification[modelID] = {}; + } + const currentModel = modelsClassification[modelID]; + for (const expressID in group.data) { + const keys = group.data[expressID][0]; + for (const key of keys) { + const fragID = group.keyFragments[key]; + if (!currentModel[fragID]) { + currentModel[fragID] = new Set(); + } + currentModel[fragID].add(expressID); + } + } + } + byPredefinedType(group) { + var _a; + if (!group.properties) { + throw new Error("To group by predefined type, properties are needed"); + } + if (!this._groupSystems.predefinedTypes) { + this._groupSystems.predefinedTypes = {}; + } + const currentTypes = this._groupSystems.predefinedTypes; + for (const expressID in group.data) { + const entity = group.properties[expressID]; + if (!entity) + continue; + const predefinedType = String((_a = entity.PredefinedType) === null || _a === void 0 ? void 0 : _a.value).toUpperCase(); + if (!currentTypes[predefinedType]) { + currentTypes[predefinedType] = {}; + } + const currentType = currentTypes[predefinedType]; + for (const expressID in group.data) { + const keys = group.data[expressID][0]; + for (const key of keys) { + const fragmentID = group.keyFragments[key]; + if (!currentType[fragmentID]) { + currentType[fragmentID] = new Set(); + } + const currentFragment = currentType[fragmentID]; + currentFragment.add(entity.expressID); + } + } + } + } + byEntity(group) { + if (!this._groupSystems.entities) { + this._groupSystems.entities = {}; + } + for (const expressID in group.data) { + const rels = group.data[expressID][1]; + const type = rels[1]; + const entity = IfcCategoryMap[type]; + this.saveItem(group, "entities", entity, expressID); + } + } + byStorey(group) { + if (!group.properties) { + throw new Error("To group by storey, properties are needed"); + } + for (const expressID in group.data) { + const rels = group.data[expressID][1]; + const storeyID = rels[0]; + const storey = group.properties[storeyID]; + if (storey === undefined) + continue; + const storeyName = group.properties[storeyID].Name.value; + this.saveItem(group, "storeys", storeyName, expressID); + } + } + byIfcRel(group, ifcRel, systemName) { + const properties = group.properties; + if (!properties) + throw new Error("To group by IFC Rel, properties are needed"); + if (!IfcPropertiesUtils.isRel(ifcRel)) + return; + IfcPropertiesUtils.getRelationMap(properties, ifcRel, (relatingID, relatedIDs) => { + const { name: relatingName } = IfcPropertiesUtils.getEntityName(properties, relatingID); + for (const expressID of relatedIDs) { + this.saveItem(group, systemName, relatingName !== null && relatingName !== void 0 ? relatingName : "NO REL NAME", String(expressID)); + } + }); + } + saveItem(group, systemName, className, expressID) { + if (!this._groupSystems[systemName]) { + this._groupSystems[systemName] = {}; + } + const keys = group.data[expressID]; + if (!keys) + return; + for (const key of keys[0]) { + const fragmentID = group.keyFragments[key]; + if (fragmentID) { + const system = this._groupSystems[systemName]; + if (!system[className]) { + system[className] = {}; + } + if (!system[className][fragmentID]) { + system[className][fragmentID] = new Set(); + } + system[className][fragmentID].add(expressID); + } + } + } +} +FragmentClassifier.uuid = "e25a7f3c-46c4-4a14-9d3d-5115f24ebeb7"; +ToolComponent.libraryUUIDs.add(FragmentClassifier.uuid); + +class FragmentTree extends Component { + constructor(components) { + super(components); + this.enabled = true; + this.onSelected = new Event(); + this.onHovered = new Event(); + this._title = "Model Tree"; + this.uiElement = new UIElement(); + this.components.tools.add(FragmentTree.uuid, this); + } + get() { + if (!this._tree) { + throw new Error("Fragment tree not initialized yet!"); + } + return this._tree; + } + async init() { + const classifier = await this.components.tools.get(FragmentClassifier); + const tree = new FragmentTreeItem(this.components, classifier, "Model Tree"); + this._tree = tree; + if (this.components.ui.enabled) { + this.setupUI(tree); + } + } + async dispose() { + this.onSelected.reset(); + this.onHovered.reset(); + this.uiElement.dispose(); + if (this._tree) { + await this._tree.dispose(); + } + } + async update(groupSystems) { + if (!this._tree) + return; + const classifier = await this.components.tools.get(FragmentClassifier); + if (this._tree.children.length) { + await this._tree.dispose(); + this._tree = new FragmentTreeItem(this.components, classifier, this._title); + } + this._tree.children = await this.regenerate(groupSystems); + } + setupUI(tree) { + const window = new FloatingWindow(this.components); + const subTree = tree.uiElement.get("tree"); + window.addChild(subTree); + window.title = "Model tree"; + this.components.ui.add(window); + window.visible = false; + const main = new Button(this.components); + main.materialIcon = "account_tree"; + main.tooltip = "Model tree"; + main.onClick.add(() => { + window.visible = !window.visible; + }); + this.uiElement.set({ main, window }); + } + async regenerate(groupSystemNames, result = {}) { + const classifier = await this.components.tools.get(FragmentClassifier); + const systems = classifier.get(); + const groups = []; + const currentSystemName = groupSystemNames[0]; // storeys + const systemGroups = systems[currentSystemName]; + if (!currentSystemName || !systemGroups) { + return groups; + } + for (const name in systemGroups) { + // name is N00, N01, N02... + // { storeys: "N00" }, { storeys: "N01" }... + const classifier = await this.components.tools.get(FragmentClassifier); + const filter = { ...result, [currentSystemName]: [name] }; + const found = await classifier.find(filter); + const hasElements = Object.keys(found).length > 0; + if (hasElements) { + const firstLetter = currentSystemName[0].toUpperCase(); + const treeItemName = firstLetter + currentSystemName.slice(1); // Storeys + const treeItem = new FragmentTreeItem(this.components, classifier, `${treeItemName}: ${name}`); + treeItem.onHovered.add((result) => this.onHovered.trigger(result)); + treeItem.onSelected.add((result) => this.onSelected.trigger(result)); + treeItem.filter = filter; + groups.push(treeItem); + treeItem.children = await this.regenerate(groupSystemNames.slice(1), filter); + } + } + return groups; + } +} +FragmentTree.uuid = "5af6ebe1-26fc-4053-936a-801b6c7cb37e"; +ToolComponent.libraryUUIDs.add(FragmentTree.uuid); + +class FragmentHider extends Component { + constructor(components) { + super(components); + this.enabled = true; + this.uiElement = new UIElement(); + this._localStorageID = "FragmentHiderCache"; + this._updateVisibilityOnFound = true; + this._filterCards = {}; + this.components.tools.add(FragmentHider.uuid, this); + if (components.ui.enabled) { + this.setupUI(components); + } + } + setupUI(components) { + const mainWindow = new FloatingWindow(components); + mainWindow.title = "Filters"; + mainWindow.visible = false; + components.ui.add(mainWindow); + mainWindow.domElement.style.width = "530px"; + mainWindow.domElement.style.height = "400px"; + const mainButton = new Button(components, { + materialIconName: "filter_alt", + tooltip: "Visibility filters", + }); + mainButton.onClick.add(() => { + this.hideAllFinders(); + mainWindow.visible = !mainWindow.visible; + }); + const topButtonContainerHtml = `
`; + const topButtonContainer = new SimpleUIComponent(components, topButtonContainerHtml); + const createButton = new Button(components, { + materialIconName: "add", + }); + createButton.onClick.add(() => this.createStyleCard()); + topButtonContainer.addChild(createButton); + mainWindow.addChild(topButtonContainer); + this.uiElement.set({ window: mainWindow, main: mainButton }); + } + async dispose() { + this.uiElement.dispose(); + } + async set(visible, items) { + const fragments = await this.components.tools.get(FragmentManager); + if (!items) { + for (const id in fragments.list) { + const fragment = fragments.list[id]; + if (fragment) { + fragment.setVisibility(visible); + await this.updateCulledVisibility(fragment); + } + } + return; + } + for (const fragID in items) { + const ids = items[fragID]; + const fragment = fragments.list[fragID]; + fragment.setVisibility(visible, ids); + await this.updateCulledVisibility(fragment); + } + } + async isolate(items) { + await this.set(false); + await this.set(true, items); + } + get() { } + async update() { + this._updateVisibilityOnFound = false; + for (const id in this._filterCards) { + const { finder } = this._filterCards[id]; + await finder.find(); + } + this._updateVisibilityOnFound = true; + await this.updateQueries(); + } + async loadCached() { + const serialized = localStorage.getItem(this._localStorageID); + if (!serialized) + return; + const filters = JSON.parse(serialized); + for (const filter of filters) { + await this.createStyleCard(filter); + } + await this.update(); + } + async updateCulledVisibility(fragment) { + const culler = await this.components.tools.get(ScreenCuller); + const colorMeshes = culler.get(); + const culled = colorMeshes.get(fragment.id); + if (culled) { + culled.count = fragment.mesh.count; + } + } + async createStyleCard(config) { + const filterCard = new SimpleUIComponent(this.components); + if (config && config.id.length) { + filterCard.id = config.id; + } + const { id } = filterCard; + filterCard.domElement.className = `m-4 p-4 border-1 border-solid border-[#3A444E] rounded-md flex flex-col`; + filterCard.domElement.innerHTML = ` +
+
+
+
+ `; + const deleteButton = new Button(this.components, { + materialIconName: "close", + }); + deleteButton.domElement.classList.add("self-end"); + deleteButton.onClick.add(() => this.deleteStyleCard(id)); + const topContainer = filterCard.getInnerElement("top-container"); + if (topContainer) { + topContainer.appendChild(deleteButton.domElement); + } + const bottomContainer = filterCard.getInnerElement("bottom-container"); + if (!bottomContainer) { + throw new Error("Error creating UI elements!"); + } + const name = new TextInput(this.components); + name.label = "Name"; + name.domElement.addEventListener("focusout", () => { + this.cache(); + }); + if (config) { + name.value = config.name; + } + bottomContainer.append(name.domElement); + const visible = new CheckboxInput(this.components); + visible.value = config ? config.visible : true; + visible.label = "Visible"; + visible.onChange.add(() => this.updateQueries()); + const enabled = new CheckboxInput(this.components); + enabled.value = config ? config.enabled : true; + enabled.label = "Enabled"; + enabled.onChange.add(() => this.updateQueries()); + const checkBoxContainer = new SimpleUIComponent(this.components); + checkBoxContainer.domElement.classList.remove("w-full"); + checkBoxContainer.addChild(visible); + checkBoxContainer.addChild(enabled); + bottomContainer.append(checkBoxContainer.domElement); + const finder = new IfcPropertiesFinder(this.components); + await finder.init(); + finder.loadCached(id); + const queryBuilder = finder.uiElement.get("query"); + const mainButton = finder.uiElement.get("main"); + const finderWindow = finder.uiElement.get("queryWindow"); + queryBuilder.findButton.label = "Apply"; + bottomContainer.append(mainButton.domElement); + finderWindow.onVisible.add(() => { + this.hideAllFinders(finderWindow.id); + const rect = mainButton.domElement.getBoundingClientRect(); + finderWindow.domElement.style.left = `${rect.x + 90}px`; + finderWindow.domElement.style.top = `${rect.y - 120}px`; + }); + finder.onFound.add((data) => { + finderWindow.visible = false; + mainButton.active = false; + this._filterCards[id].fragments = data; + this.cache(); + if (this._updateVisibilityOnFound) { + this.updateQueries(); + } + }); + const fragments = {}; + this._filterCards[id] = { + styleCard: filterCard, + fragments, + name, + finder, + deleteButton, + visible, + enabled, + }; + const mainWindow = this.uiElement.get("window"); + mainWindow.addChild(filterCard); + } + async updateQueries() { + await this.set(true); + for (const id in this._filterCards) { + const { enabled, visible, fragments } = this._filterCards[id]; + if (enabled.value) { + await this.set(visible.value, fragments); + } + } + this.cache(); + } + async deleteStyleCard(id) { + const found = this._filterCards[id]; + if (found) { + await found.styleCard.dispose(); + await found.deleteButton.dispose(); + await found.name.dispose(); + found.finder.deleteCache(); + await found.finder.dispose(); + await found.visible.dispose(); + await found.enabled.dispose(); + } + delete this._filterCards[id]; + await this.updateQueries(); + } + hideAllFinders(excludeID) { + for (const id in this._filterCards) { + const { finder } = this._filterCards[id]; + const queryWindow = finder.uiElement.get("queryWindow"); + const mainButton = finder.uiElement.get("main"); + if (queryWindow.id === excludeID) { + continue; + } + if (queryWindow.visible) { + mainButton.domElement.click(); + } + } + } + cache() { + const filters = []; + for (const id in this._filterCards) { + const styleCard = this._filterCards[id]; + const { visible, enabled, name } = styleCard; + filters.push({ + visible: visible.value, + enabled: enabled.value, + name: name.value, + id, + }); + } + const serialized = JSON.stringify(filters); + localStorage.setItem(this._localStorageID, serialized); + } +} +FragmentHider.uuid = "dd9ccf2d-8a21-4821-b7f6-2949add16a29"; +ToolComponent.libraryUUIDs.add(FragmentHider.uuid); + +// TODO: Clean up +// TODO: Improve UI element +class FragmentCacher extends LocalCacher { + get fragmentsIDs() { + const allIDs = this.ids; + const fragIDs = allIDs.filter((id) => id.includes("-fragments")); + if (!fragIDs.length) + return fragIDs; + return fragIDs.map((id) => id.replace("-fragments", "")); + } + constructor(components) { + super(components); + this._mode = "none"; + components.tools.list.set(FragmentCacher.uuid, this); + if (components.ui.enabled) { + this.setupUI(); + } + } + setupUI() { + const saveButton = this.uiElement.get("saveButton"); + saveButton.onClick.add(() => this.onSaveButtonClicked()); + const loadButton = this.uiElement.get("loadButton"); + loadButton.onClick.add(() => this.onLoadButtonClicked()); + } + async getFragmentGroup(id) { + const { fragmentsCacheID, propertiesCacheID } = this.getIDs(id); + if (!fragmentsCacheID || !propertiesCacheID) { + return null; + } + const fragments = await this.components.tools.get(FragmentManager); + const fragmentFile = await this.get(fragmentsCacheID); + if (fragmentFile === null) { + throw new Error("Loading error"); + } + const fragmentsData = await fragmentFile.arrayBuffer(); + const buffer = new Uint8Array(fragmentsData); + const group = await fragments.load(buffer); + const propertiesFile = await this.get(propertiesCacheID); + if (propertiesFile !== null) { + const propertiesData = await propertiesFile.text(); + group.properties = JSON.parse(propertiesData); + } + const scene = this.components.scene.get(); + scene.add(group); + return group; + } + async saveFragmentGroup(group, id = group.uuid) { + const fragments = await this.components.tools.get(FragmentManager); + const { fragmentsCacheID, propertiesCacheID } = this.getIDs(id); + const exported = fragments.export(group); + const fragmentsFile = new File([new Blob([exported])], fragmentsCacheID); + const fragmentsUrl = URL.createObjectURL(fragmentsFile); + await this.save(fragmentsCacheID, fragmentsUrl); + if (group.properties) { + const json = JSON.stringify(group.properties); + const jsonFile = new File([new Blob([json])], propertiesCacheID); + const propertiesUrl = URL.createObjectURL(jsonFile); + await this.save(propertiesCacheID, propertiesUrl); + } + } + existsFragmentGroup(id) { + const { fragmentsCacheID } = this.getIDs(id); + return this.exists(fragmentsCacheID); + } + async onLoadButtonClicked() { + const floatingMenu = this.uiElement.get("floatingMenu"); + floatingMenu.title = "Load saved items"; + if (floatingMenu.visible && this._mode === "load") { + floatingMenu.visible = false; + return; + } + this._mode = "load"; + const allIDs = this.fragmentsIDs; + for (const card of this.cards) { + await card.dispose(); + } + this.cards = []; + for (const id of allIDs) { + const card = new SimpleUICard(this.components, id); + card.title = id; + this.cards.push(card); + const deleteCardButton = new Button(this.components, { + materialIconName: "delete", + }); + card.addChild(deleteCardButton); + deleteCardButton.onClick.add(async () => { + const ids = Object.values(this.getIDs(id)); + await this.delete(ids); + const index = this.cards.indexOf(card); + this.cards.splice(index, 1); + await card.dispose(); + }); + const loadFileButton = new Button(this.components, { + materialIconName: "download", + }); + card.addChild(loadFileButton); + loadFileButton.onClick.add(async () => { + await this.getFragmentGroup(id); + await this.onFileLoaded.trigger({ id }); + }); + floatingMenu.addChild(card); + } + floatingMenu.visible = true; + } + async onSaveButtonClicked() { + const floatingMenu = this.uiElement.get("floatingMenu"); + const fragments = await this.components.tools.get(FragmentManager); + floatingMenu.title = "Save items"; + if (floatingMenu.visible && this._mode === "save") { + floatingMenu.visible = false; + return; + } + this._mode = "save"; + for (const card of this.cards) { + await card.dispose(); + } + this.cards = []; + const savedIDs = this.fragmentsIDs; + const ids = fragments.groups.map((group) => group.uuid); + for (const id of ids) { + if (savedIDs.includes(id)) + continue; + const card = new SimpleUICard(this.components, id); + card.title = id; + this.cards.push(card); + floatingMenu.addChild(card); + const saveCardButton = new Button(this.components, { + materialIconName: "save", + }); + card.addChild(saveCardButton); + saveCardButton.onClick.add(async () => { + const group = fragments.groups.find((group) => group.uuid === id); + if (group) { + await this.saveFragmentGroup(group); + const index = this.cards.indexOf(card); + this.cards.splice(index, 1); + await card.dispose(); + await this.onItemSaved.trigger({ id }); + } + }); + } + floatingMenu.visible = true; + } + getIDs(id) { + return { + fragmentsCacheID: `${id}-fragments`, + propertiesCacheID: `${id}-properties`, + }; + } +} + +// TODO: Clean up and document +class FragmentExploder extends Component { + get() { + return this._explodedFragments; + } + constructor(components) { + super(components); + this.enabled = false; + this.height = 10; + this.groupName = "storeys"; + this.uiElement = new UIElement(); + this._explodedFragments = new Set(); + components.tools.add(FragmentExploder.uuid, this); + if (components.ui.enabled) { + this.setupUI(components); + } + } + async dispose() { + this._explodedFragments.clear(); + this.uiElement.dispose(); + } + async explode() { + this.enabled = true; + await this.update(); + } + async reset() { + this.enabled = false; + await this.update(); + } + async update() { + const classifier = await this.components.tools.get(FragmentClassifier); + const fragments = await this.components.tools.get(FragmentManager); + const factor = this.enabled ? 1 : -1; + let i = 0; + const systems = classifier.get(); + const groups = systems[this.groupName]; + const mergedIDHeightMap = {}; + const yTransform = new THREE$1.Matrix4(); + for (const groupName in groups) { + yTransform.elements[13] = i * factor * this.height; + for (const fragID in groups[groupName]) { + const fragment = fragments.list[fragID]; + const customID = groupName + fragID; + if (!fragment) { + continue; + } + if (this.enabled && this._explodedFragments.has(customID)) { + continue; + } + if (!this.enabled && !this._explodedFragments.has(customID)) { + continue; + } + if (this.enabled) { + this._explodedFragments.add(customID); + } + else { + this._explodedFragments.delete(customID); + } + if (fragment.blocks.count === 1) { + // For instanced fragments + const ids = groups[groupName][fragID]; + for (const id of ids) { + const tempMatrix = new THREE$1.Matrix4(); + const { instanceID } = fragment.getInstanceAndBlockID(id); + fragment.getInstance(instanceID, tempMatrix); + tempMatrix.premultiply(yTransform); + fragment.mesh.setMatrixAt(instanceID, tempMatrix); + const composites = fragment.composites[id]; + if (composites) { + for (let i = 1; i < composites; i++) { + const idNum = parseInt(id, 10); + const compID = toCompositeID(idNum, i); + const { instanceID } = fragment.getInstanceAndBlockID(compID); + fragment.getInstance(instanceID, tempMatrix); + tempMatrix.premultiply(yTransform); + fragment.mesh.setMatrixAt(instanceID, tempMatrix); + } + } + } + fragment.mesh.instanceMatrix.needsUpdate = true; + } + else { + if (!mergedIDHeightMap[fragID]) { + mergedIDHeightMap[fragID] = {}; + } + const ids = groups[groupName][fragID]; + for (const id of ids) { + mergedIDHeightMap[fragID][id] = i * factor * this.height; + } + } + } + i++; + } + const v = new THREE$1.Vector3(); + // Update merged fragments + for (const fragID in mergedIDHeightMap) { + const heights = mergedIDHeightMap[fragID]; + const fragment = fragments.list[fragID]; + const geometry = fragment.mesh.geometry; + const position = geometry.attributes.position; + for (let i = 0; i < geometry.index.count; i++) { + const index = geometry.index.array[i]; + const blockID = geometry.attributes.blockID.array[index]; + const id = fragment.getItemID(0, blockID); + const height = heights[id]; + if (height === undefined) + continue; + yTransform.elements[13] = height; + const x = position.array[index * 3]; + const y = position.array[index * 3 + 1]; + const z = position.array[index * 3 + 2]; + v.set(x, y, z); + v.applyMatrix4(yTransform); + position.setXYZ(index, v.x, v.y, v.z); + } + position.needsUpdate = true; + } + } + setupUI(components) { + const main = new Button(components); + this.uiElement.set({ main }); + main.tooltip = "Explode"; + main.materialIcon = "splitscreen"; + main.onClick.add(async () => { + if (this.enabled) { + await this.reset(); + } + else { + await this.explode(); + } + }); + } +} +FragmentExploder.uuid = "d260618b-ce88-4c7d-826c-6debb91de3e2"; +ToolComponent.libraryUUIDs.add(FragmentExploder.uuid); + +class PlanObjects { + get visible() { + return this._visible; + } + set visible(active) { + this._visible = active; + const scene = this.components.scene.get(); + for (const id in this._objects) { + const { root, marker } = this._objects[id]; + if (active) { + scene.add(root); + root.add(marker); + } + else { + root.removeFromParent(); + marker.removeFromParent(); + } + } + } + constructor(components) { + this.offsetFactor = 0.2; + this.uiElement = new UIElement(); + this.planClicked = new Event(); + this._scale = new THREE$1.Vector2(1, 1); + this._min = new THREE$1.Vector3(); + this._max = new THREE$1.Vector3(); + this._objects = {}; + this._visible = false; + this._planeGeometry = new THREE$1.PlaneGeometry(1, 1, 1); + this._linesGeometry = new THREE$1.BufferGeometry(); + this.lineMaterial = new THREE$1.LineDashedMaterial({ + color: 0xbcf124, + dashSize: 0.2, + gapSize: 0.2, + }); + this._material = new THREE$1.MeshBasicMaterial({ + transparent: true, + opacity: 0.3, + color: 0x1a2128, + depthTest: false, + }); + this.components = components; + this.resetBounds(); + this.createPlaneOutlineGeometry(); + if (components.ui.enabled) { + this.setUI(components); + } + } + async dispose() { + this.planClicked.reset(); + this.visible = false; + for (const id in this._objects) { + const { marker, button, outline, root, plane } = this._objects[id]; + await button.dispose(); + outline.removeFromParent(); + outline.geometry = null; + outline.material = []; + root.removeFromParent(); + root.children = []; + plane.removeFromParent(); + plane.material = []; + plane.geometry = null; + marker.element.remove(); + } + this._objects = {}; + this._planeGeometry.dispose(); + this._material.dispose(); + this.uiElement.dispose(); + this.lineMaterial.dispose(); + this._material.dispose(); + this.components = null; + } + add(config) { + const { id, point, name } = config; + const root = new THREE$1.Group(); + root.position.copy(point); + const plane = new THREE$1.Mesh(this._planeGeometry, this._material); + plane.rotation.x = -Math.PI / 2; + root.add(plane); + const outline = new THREE$1.LineSegments(this._linesGeometry, this.lineMaterial); + outline.computeLineDistances(); + outline.rotation.x = -Math.PI / 2; + root.add(outline); + const button = new Button(this.components, { + materialIconName: "location_on", + tooltip: name, + }); + button.onClick.add(async () => { + await this.planClicked.trigger({ id: config.id }); + }); + const { domElement } = button; + domElement.classList.remove("bg-transparent"); + domElement.className += " transition-none rounded-full"; + // element.className = this.pointClass; + const marker = new CSS2DObject(domElement); + root.add(marker); + this._objects[id] = { root, plane, outline, marker, button }; + } + setBounds(points, override = false) { + if (override) { + this.resetBounds(); + } + const bbox = FragmentBoundingBox.getBounds(points, this._min, this._max); + this._min = bbox.min; + this._max = bbox.max; + const dimensions = FragmentBoundingBox.getDimensions(bbox); + const { width, depth, center } = dimensions; + const offset = (width + depth / 2) * this.offsetFactor; + const newScale = new THREE$1.Vector2(width + offset, depth + offset); + const previousScaleMatrix = this.newScaleMatrix(this._scale); + const newScaleMatrix = this.newScaleMatrix(newScale); + previousScaleMatrix.invert(); + this._planeGeometry.applyMatrix4(previousScaleMatrix); + this._linesGeometry.applyMatrix4(previousScaleMatrix); + this._planeGeometry.applyMatrix4(newScaleMatrix); + this._linesGeometry.applyMatrix4(newScaleMatrix); + for (const id in this._objects) { + const { root, outline } = this._objects[id]; + outline.computeLineDistances(); + root.position.x = center.x; + root.position.z = center.z; + } + } + setUI(components) { + const button = new Button(components, { + materialIconName: "layers", + tooltip: "3D Plans", + }); + button.onClick.add(() => { + this.visible = !this.visible; + }); + this.uiElement.set({ main: button }); + } + resetBounds() { + this._min = FragmentBoundingBox.newBound(true); + this._max = FragmentBoundingBox.newBound(false); + } + newScaleMatrix(scale) { + const { x, y } = scale; + // prettier-ignore + return new THREE$1.Matrix4().fromArray([ + x, 0, 0, 0, + 0, y, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + ]); + } + createPlaneOutlineGeometry() { + // prettier-ignore + const vertices = new Float32Array([ + -0.5, -0.5, 0, + -0.5, 0.5, 0, + -0.5, 0.5, 0, + 0.5, 0.5, 0, + 0.5, 0.5, 0, + 0.5, -0.5, 0, + 0.5, -0.5, 0, + -0.5, -0.5, 0, + ]); + const posAttr = new THREE$1.BufferAttribute(vertices, 3); + this._linesGeometry.setAttribute("position", posAttr); + } +} + +/** + * Helper to control the camera and easily define and navigate 2D floor plans. + */ +class FragmentPlans extends Component { + get commands() { + return this.uiElement.get("commandsMenu").commands; + } + set commands(commands) { + this.uiElement.get("commandsMenu").commands = + commands; + } + constructor(components) { + super(components); + this.onNavigated = new Event(); + this.onExited = new Event(); + /** {@link Component.enabled} */ + this.enabled = false; + /** The floorplan that is currently selected. */ + this.currentPlan = null; + /** The offset from the clipping planes to their respective floor plan elevation. */ + this.defaultSectionOffset = 1.5; + /** The offset of the 2D camera to the floor plan elevation. */ + this.defaultCameraOffset = 30; + /** The created floor plans. */ + this.storeys = []; + /** {@link UI.uiElement} */ + this.uiElement = new UIElement(); + this._plans = []; + this._floorPlanViewCached = false; + this._previousCamera = new THREE$1.Vector3(); + this._previousTarget = new THREE$1.Vector3(); + this._previousProjection = "Perspective"; + this.components.tools.add(FragmentPlans.uuid, this); + this.objects = new PlanObjects(components); + if (components.ui.enabled) { + this.setUI(components); + } + } + /** {@link Component.get} */ + get() { + return this._plans; + } + /** {@link Disposable.dispose} */ + async dispose() { + this.onExited.reset(); + this.onNavigated.reset(); + this.storeys = []; + this._plans = []; + await this.objects.dispose(); + this.uiElement.dispose(); + } + // TODO: Compute georreference matrix when generating fragmentsgroup + // so that we can correctly add floors in georreferenced models + // where the IfcSite / IfcBuilding have location information + async computeAllPlanViews(model) { + if (!model.properties) { + throw new Error("Properties are needed to compute plan views!"); + } + const { properties } = model; + const floorsProps = IfcPropertiesUtils.getAllItemsOfType(properties, IFCBUILDINGSTOREY); + const coordHeight = model.coordinationMatrix.elements[13]; + const units = IfcPropertiesUtils.getUnits(properties); + for (const floor of floorsProps) { + const floorHeight = { value: 0 }; + this.getAbsoluteFloorHeight(floor.ObjectPlacement.value, model.properties, floorHeight); + const height = floorHeight.value * units + coordHeight; + await this.create({ + name: floor.Name.value, + id: floor.GlobalId.value, + normal: new THREE$1.Vector3(0, -1, 0), + point: new THREE$1.Vector3(0, height, 0), + ortho: true, + offset: this.defaultSectionOffset, + }); + } + const { min, max } = model.boundingBox; + this.objects.setBounds([min, max]); + } + /** + * Creates a new floor plan in the navigator. + * + * @param config - Necessary data to initialize the floor plan. + */ + async create(config) { + const previousPlan = this._plans.find((plan) => plan.id === config.id); + if (previousPlan) { + throw new Error(`There's already a plan with the id: ${config.id}`); + } + const plane = await this.createClippingPlane(config); + plane.visible = false; + const plan = { ...config, plane }; + this._plans.push(plan); + this.objects.add(config); + } + /** + * Make the navigator go to the specified floor plan. + * + * @param id - Floor plan to go to. + * @param animate - Whether to animate the camera transition. + */ + async goTo(id, animate = false) { + var _a; + if (((_a = this.currentPlan) === null || _a === void 0 ? void 0 : _a.id) === id) { + return; + } + this.objects.visible = false; + await this.onNavigated.trigger({ id }); + this.storeCameraPosition(); + await this.hidePreviousClippingPlane(); + this.updateCurrentPlan(id); + await this.activateCurrentPlan(); + if (!this.enabled) { + await this.moveCameraTo2DPlanPosition(animate); + this.enabled = true; + } + if (this.components.ui.enabled) { + this.uiElement.get("exitButton").enabled = true; + } + } + /** + * Deactivate navigator and go back to the previous view. + * + * @param animate - Whether to animate the camera transition. + */ + async exitPlanView(animate = false) { + if (!this.enabled) + return; + this.enabled = false; + await this.onExited.trigger(); + this.cacheFloorplanView(); + const camera = this.components.camera; + camera.setNavigationMode("Orbit"); + await camera.setProjection(this._previousProjection); + if (this.currentPlan && this.currentPlan.plane) { + await this.currentPlan.plane.setEnabled(false); + await this.currentPlan.plane.edges.setVisible(false); + } + this.currentPlan = null; + await camera.controls.setLookAt(this._previousCamera.x, this._previousCamera.y, this._previousCamera.z, this._previousTarget.x, this._previousTarget.y, this._previousTarget.z, animate); + if (this.components.ui.enabled) { + this.uiElement.get("exitButton").enabled = false; + } + } + async updatePlansList() { + if (!this.components.ui.enabled) { + return; + } + const defaultText = this.uiElement.get("defaultText"); + const planList = this.uiElement.get("planList"); + const commandsMenu = this.uiElement.get("commandsMenu"); + await planList.dispose(true); + if (!this._plans.length) { + defaultText.visible = true; + return; + } + defaultText.visible = false; + commandsMenu.update(); + const commandsExist = commandsMenu.hasCommands; + for (const plan of this._plans) { + const height = Math.trunc(plan.point.y * 10) / 10; + const description = `Height: ${height}`; + const simpleCard = new SimpleUICard(this.components); + simpleCard.title = plan.name; + simpleCard.description = description; + const toolbar = new Toolbar(this.components); + this.components.ui.addToolbar(toolbar); + simpleCard.addChild(toolbar); + toolbar.domElement.classList.remove("shadow-md", "backdrop-blur-xl", "bg-ifcjs-100"); + const planButton = new Button(this.components, { + materialIconName: "arrow_outward", + }); + planButton.onClick.add(async () => { + await this.goTo(plan.id); + }); + toolbar.addChild(planButton); + const extraButton = new Button(this.components, { + materialIconName: "expand_more", + }); + extraButton.onClick.add((event) => { + if (event) { + commandsMenu.commandData = plan; + commandsMenu.popup(event.x, event.y); + } + }); + if (!commandsExist) { + extraButton.enabled = false; + } + toolbar.addChild(extraButton); + simpleCard.domElement.classList.remove("bg-ifcjs-120"); + simpleCard.domElement.classList.remove("border-transparent"); + simpleCard.domElement.className += ` min-w-[300px] my-2 border-1 border-solid border-[#3A444E] `; + planList.addChild(simpleCard); + } + } + setUI(components) { + this.setupPlanObjectUI(); + const topButtonContainer = new SimpleUIComponent(this.components, `
`); + const exitButton = new Button(components); + exitButton.materialIcon = "logout"; + topButtonContainer.addChild(exitButton); + exitButton.enabled = false; + exitButton.onClick.add(() => this.exitPlanView()); + const main = new Button(components, { + tooltip: "Plans list", + }); + main.materialIcon = "folder_copy"; + const floatingWindow = new FloatingWindow(components); + floatingWindow.title = "Floor Plans"; + components.ui.add(floatingWindow); + floatingWindow.visible = false; + floatingWindow.addChild(topButtonContainer); + const planList = new SimpleUIComponent(components, `
`); + floatingWindow.addChild(planList); + const defaultText = new SimpleUIComponent(components, `

No plans yet.

`); + floatingWindow.addChild(defaultText); + const commandsMenu = new CommandsMenu(components); + components.ui.add(commandsMenu); + commandsMenu.visible = false; + this.uiElement.set({ + main, + floatingWindow, + planList, + defaultText, + exitButton, + commandsMenu, + }); + main.onClick.add(() => { + floatingWindow.visible = !floatingWindow.visible; + }); + } + storeCameraPosition() { + if (this.enabled) { + this.cacheFloorplanView(); + } + else { + this.store3dCameraPosition(); + } + } + async createClippingPlane(config) { + const { normal, point } = config; + const clippingPoint = point.clone(); + if (config.offset) { + clippingPoint.y += config.offset; + } + const clipper = await this.components.tools.get(EdgesClipper); + const plane = clipper.createFromNormalAndCoplanarPoint(normal, clippingPoint); + await plane.setEnabled(false); + await plane.edges.update(); + await plane.edges.setVisible(false); + return plane; + } + cacheFloorplanView() { + this._floorPlanViewCached = true; + const camera = this.components.camera; + camera.controls.saveState(); + } + async moveCameraTo2DPlanPosition(animate) { + const camera = this.components.camera; + if (this._floorPlanViewCached) { + await camera.controls.reset(animate); + } + else { + await camera.controls.setLookAt(0, 100, 0, 0, 0, 0, animate); + } + } + async activateCurrentPlan() { + if (!this.currentPlan) + throw new Error("Current plan is not defined."); + const camera = this.components.camera; + if (this.currentPlan.plane) { + await this.currentPlan.plane.setEnabled(true); + this.currentPlan.plane.edges.fillNeedsUpdate = true; + await this.currentPlan.plane.edges.setVisible(true); + } + camera.setNavigationMode("Plan"); + const projection = this.currentPlan.ortho ? "Orthographic" : "Perspective"; + await camera.setProjection(projection); + } + store3dCameraPosition() { + const camera = this.components.camera; + const activeCamera = this.components.camera.get(); + activeCamera.getWorldPosition(this._previousCamera); + camera.controls.getTarget(this._previousTarget); + this._previousProjection = camera.getProjection(); + } + updateCurrentPlan(id) { + const foundPlan = this._plans.find((plan) => plan.id === id); + if (!foundPlan) { + throw new Error("The specified plan is undefined!"); + } + this.currentPlan = foundPlan; + } + async hidePreviousClippingPlane() { + if (this.currentPlan) { + const plane = this.currentPlan.plane; + if (plane) { + await plane.setEnabled(false); + } + if (this.currentPlan.plane instanceof EdgesPlane) { + await this.currentPlan.plane.edges.setVisible(false); + } + } + } + setupPlanObjectUI() { + this.objects.planClicked.add(async ({ id }) => { + const button = this.objects.uiElement.get("main"); + if (!this.enabled) { + if (button.innerElements.icon && button.innerElements.tooltip) { + button.materialIcon = "logout"; + button.tooltip = "Exit floorplans"; + } + button.onClick.add(() => { + this.exitPlanView(); + if (button.innerElements.icon && button.innerElements.tooltip) { + button.materialIcon = "layers"; + button.tooltip = "3D plans"; + } + button.onClick.add(() => (this.objects.visible = !this.objects.visible)); + }); + } + this.goTo(id); + }); + } + getAbsoluteFloorHeight(placementID, properties, height) { + const placementRef = properties[placementID]; + if (!placementRef) + return; + const placement = properties[placementRef.RelativePlacement.value]; + const location = properties[placement.Location.value]; + const currentHeight = location.Coordinates[2].value; + height.value += currentHeight; + const parentRef = placementRef.PlacementRelTo; + if (parentRef && parentRef.value !== null) { + this.getAbsoluteFloorHeight(parentRef.value, properties, height); + } + } +} +FragmentPlans.uuid = "a80874aa-1c93-43a4-80f2-df346da086b1"; +ToolComponent.libraryUUIDs.add(FragmentPlans.uuid); + +class FragmentClipStyler extends Component { + constructor(components) { + super(components); + this.enabled = true; + this.localStorageID = "FragmentClipStyler"; + this.styleCards = {}; + this.uiElement = new UIElement(); + this._defaultStyles = ` + { + "B0ebxzZQvZ": { + "name": "thick", + "lineColor": "#36593e", + "lineThickness": 0.5, + "fillColor": "#ccdb9a", + "categories": "IFCWALLSTANDARDCASE, IFCWALL,IFCSLAB, IFCROOF" + }, + "kG9B1Ojv08": { + "name": "thin", + "lineColor": "#92a59b", + "lineThickness": 0.25, + "fillColor": "#e6ffdb", + "categories": "IFCWINDOW, IFCDOOR" + } + } + `; + this.components.tools.add(FragmentClipStyler.uuid, this); + if (components.ui.enabled) { + this.setupUI(components); + } + } + async setup(force = false) { + const noCards = Object.keys(this.styleCards).length === 0; + if (force || noCards) { + localStorage.setItem(this.localStorageID, this._defaultStyles); + await this.loadCachedStyles(); + } + } + get() { + const saved = localStorage.getItem(this.localStorageID); + if (saved) { + const parsed = JSON.parse(saved); + return Object.values(parsed); + } + return []; + } + async dispose() { + for (const id in this.styleCards) { + await this.deleteStyleCard(id, false); + } + this.uiElement.dispose(); + } + async update(ids = Object.keys(this.styleCards)) { + const clipper = await this.components.tools.get(EdgesClipper); + const fragments = await this.components.tools.get(FragmentManager); + const classifier = await this.components.tools.get(FragmentClassifier); + for (const id of ids) { + const card = this.styleCards[id]; + if (!card) + return; + const allStyles = clipper.styles.get(); + const style = allStyles[id]; + if (!style) + return; + style.meshes.clear(); + const categoryList = card.categories.value.split(","); + const entities = categoryList.map((item) => item.replace(" ", "")); + const found = await classifier.find({ entities }); + for (const fragID in found) { + const { mesh } = fragments.list[fragID]; + style.fragments[fragID] = new Set(found[fragID]); + style.meshes.add(mesh); + } + } + await clipper.updateEdges(true); + this.cacheStyles(); + } + async loadCachedStyles() { + const savedData = localStorage.getItem(this.localStorageID); + if (savedData) { + const savedStyles = JSON.parse(savedData); + for (const id in savedStyles) { + const savedStyle = savedStyles[id]; + await this.createStyleCard(savedStyle); + } + } + } + setupUI(components) { + const mainWindow = new FloatingWindow(components); + mainWindow.title = "Clipping styles"; + mainWindow.visible = false; + components.ui.add(mainWindow); + mainWindow.domElement.style.width = "530px"; + mainWindow.domElement.style.height = "400px"; + const mainButton = new Button(components, { + materialIconName: "format_paint", + tooltip: "Clipping styles", + }); + mainButton.onClick.add(() => { + mainWindow.visible = !mainWindow.visible; + }); + const topButtonContainerHtml = `
`; + const topButtonContainer = new SimpleUIComponent(components, topButtonContainerHtml); + const createButton = new Button(components, { + materialIconName: "add", + }); + createButton.onClick.add(() => this.createStyleCard()); + topButtonContainer.addChild(createButton); + mainWindow.addChild(topButtonContainer); + this.uiElement.set({ mainWindow, mainButton }); + } + cacheStyles() { + const styles = {}; + for (const id in this.styleCards) { + const styleCard = this.styleCards[id]; + styles[id] = { + name: styleCard.name.value, + lineColor: styleCard.lineColor.value, + lineThickness: styleCard.lineThickness.value, + fillColor: styleCard.fillColor.value, + categories: styleCard.categories.value, + }; + } + const serialized = JSON.stringify(styles); + localStorage.setItem(this.localStorageID, serialized); + } + async deleteStyleCard(id, updateCache = true) { + const found = this.styleCards[id]; + const clipper = await this.components.tools.get(EdgesClipper); + clipper.styles.deleteStyle(id, true); + if (found) { + await found.styleCard.dispose(); + await found.deleteButton.dispose(); + await found.name.dispose(); + await found.categories.dispose(); + await found.lineThickness.dispose(); + await found.lineColor.dispose(); + await found.fillColor.dispose(); + } + delete this.styleCards[id]; + await clipper.updateEdges(true); + if (updateCache) { + this.cacheStyles(); + } + } + async createStyleCard(config) { + const styleCard = new SimpleUIComponent(this.components); + const { id } = styleCard; + const styleRowClass = `flex gap-4`; + styleCard.domElement.className = `m-4 p-4 border-1 border-solid border-[#3A444E] rounded-md flex flex-col gap-4`; + styleCard.domElement.innerHTML = ` +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `; + const deleteButton = new Button(this.components, { + materialIconName: "close", + }); + deleteButton.onClick.add(() => this.deleteStyleCard(id)); + const firstRow = styleCard.getInnerElement("first-row"); + if (firstRow) { + firstRow.insertBefore(deleteButton.domElement, firstRow.firstChild); + } + const nameInput = new TextInput(this.components); + nameInput.label = "Name"; + if (config) { + nameInput.value = config.name; + } + const name = styleCard.getInnerElement(`name`); + if (name) { + name.append(nameInput.domElement); + } + nameInput.domElement.addEventListener("focusout", () => this.cacheStyles()); + const lineColor = new ColorInput(this.components); + lineColor.label = "Line color"; + const lineColorContainer = styleCard.getInnerElement("line-color"); + if (lineColorContainer) { + lineColorContainer.append(lineColor.domElement); + } + lineColor.value = config ? config.lineColor : "#808080"; + const fillColor = new ColorInput(this.components); + fillColor.label = "Fill color"; + if (config) { + fillColor.value = config.fillColor; + } + const fillColorContainer = styleCard.getInnerElement("fill-color"); + if (fillColorContainer) { + fillColorContainer.append(fillColor.domElement); + } + const lineThickness = new RangeInput(this.components); + lineThickness.label = "Line thickness"; + lineThickness.min = 0; + lineThickness.max = 1; + lineThickness.step = 0.05; + lineThickness.value = config ? config.lineThickness : 0.25; + const range = styleCard.getInnerElement("range"); + if (range) { + range.append(lineThickness.domElement); + } + const categories = new TextInput(this.components); + categories.label = "Categories"; + const categoriesContainer = styleCard.getInnerElement("categories"); + if (categoriesContainer) { + categoriesContainer.append(categories.domElement); + } + this.styleCards[id] = { + styleCard, + name: nameInput, + lineThickness, + categories, + deleteButton, + fillColor, + lineColor, + }; + this.uiElement.get("mainWindow").addChild(styleCard); + // this._clipper.styles.dispose(); + const fillMaterial = new THREE$1.MeshBasicMaterial({ + color: fillColor.value, + side: 2, + }); + let saveTimer; + const saveStyles = () => { + if (saveTimer) { + clearTimeout(saveTimer); + } + saveTimer = setTimeout(() => this.cacheStyles(), 2000); + }; + fillColor.onChange.add(() => { + fillMaterial.color.set(fillColor.value); + saveStyles(); + }); + const lineMaterial = new THREE$1.LineBasicMaterial({ + color: lineColor.value, + }); + const outlineMaterial = new THREE$1.MeshBasicMaterial({ + color: lineColor.value, + opacity: lineThickness.value, + side: 2, + transparent: true, + }); + lineThickness.onChange.add(() => { + outlineMaterial.opacity = lineThickness.value; + saveStyles(); + }); + lineColor.onChange.add(() => { + lineMaterial.color.set(lineColor.value); + outlineMaterial.color.set(lineColor.value); + saveStyles(); + }); + const clipper = await this.components.tools.get(EdgesClipper); + clipper.styles.create(id, new Set(), lineMaterial, fillMaterial, outlineMaterial); + categories.domElement.addEventListener("focusout", () => this.update([id])); + if (config) { + categories.value = config.categories; + } + this.cacheStyles(); + } +} +FragmentClipStyler.uuid = "14de9fbd-2151-4c01-8e07-22a2667e1126"; +ToolComponent.libraryUUIDs.add(FragmentClipStyler.uuid); + +/** + * An object to easily use the services of That Open Platform. + */ +class CloudProcessor extends Component { + constructor(components, token) { + super(components); + this.tools = []; + /** {@link Component.name} */ + this.name = "CloudProcessor"; + /** {@link Component.enabled} */ + this.enabled = true; + this.modelProcessed = new Event(); + this.checkInterval = 5000; + this._models = []; + this._urls = { + base: "https://01wj0udft7.execute-api.eu-central-1.amazonaws.com/v1/models", + token: "?accessToken=", + }; + this._urls.token += token; + } + /** + * Retrieves a tool component by its name. + */ + get() { + return this._models; + } + async update() { + const { base, token } = this._urls; + const url = `${base}${token}`; + const result = await fetch(url); + const parsed = await result.json(); + this._models = parsed.models; + } + async upload(fileUrl) { + const response = await this.createModel(); + const uploadUrl = response.uploadUrl; + const read = await fetch(fileUrl); + const body = await read.arrayBuffer(); + await fetch(uploadUrl, { method: "PUT", body }); + this.setupModelProcessEvent(response.model._id); + } + async delete(modelID) { + const { base, token } = this._urls; + const url = `${base}/${modelID}${token}`; + const result = await fetch(url, { method: "DELETE" }); + return result.json(); + } + async getModel(modelID) { + const { base, token } = this._urls; + const modelUrl = `${base}/${modelID}${token}`; + const modelResponse = await fetch(modelUrl); + return modelResponse.json(); + } + setupModelProcessEvent(modelID) { + const interval = setInterval(async () => { + const response = await this.getModel(modelID); + if (response.model.status === "PROCESSED") { + await this.modelProcessed.trigger(response); + clearInterval(interval); + } + }, this.checkInterval); + } + async createModel() { + const { base, token } = this._urls; + const url = `${base}${token}`; + const result = await fetch(url, { method: "POST" }); + return result.json(); + } +} + +class SVGArrow extends Component { + constructor(components, startPoint, endPoint) { + super(components); + this.name = "SVGRectangle"; + this.enabled = true; + this.id = tooeenRandomId(); + this._line = document.createElementNS("http://www.w3.org/2000/svg", "line"); + this._polygon = document.createElementNS("http://www.w3.org/2000/svg", "polygon"); + this._marker = document.createElementNS("http://www.w3.org/2000/svg", "marker"); + this._arrow = document.createElementNS("http://www.w3.org/2000/svg", "g"); + this._startPoint = new Vector2$1(); + this._endPoint = new Vector2$1(); + // Create marker for the arrow head + this._marker.setAttribute("id", `${this.id}-arrowhead`); + this._marker.setAttribute("markerWidth", "5"); + this._marker.setAttribute("markerHeight", "6"); + this._marker.setAttribute("refX", "4"); + this._marker.setAttribute("refY", "3"); + this._marker.setAttribute("orient", "auto"); + // Create polygon for the arrowhead shape + this._polygon.setAttribute("points", "0 0, 5 3, 0 6"); + this._marker.appendChild(this._polygon); + this._line.setAttribute("marker-end", `url(#${this.id}-arrowhead)`); + this._arrow.append(this._marker, this._line); + this.startPoint = startPoint !== null && startPoint !== void 0 ? startPoint : this.startPoint; + this.endPoint = endPoint !== null && endPoint !== void 0 ? endPoint : this.endPoint; + this._arrow.id = this.id; + this.setStyle(); + } + async dispose() { + this._arrow.remove(); + this._marker.remove(); + this._polygon.remove(); + this._line.remove(); + this.components = null; + } + setStyle(style) { + var _a, _b, _c, _d; + this._line.setAttribute("stroke", (_a = style === null || style === void 0 ? void 0 : style.strokeColor) !== null && _a !== void 0 ? _a : "red"); + this._line.setAttribute("stroke-width", (_c = (_b = style === null || style === void 0 ? void 0 : style.strokeWidth) === null || _b === void 0 ? void 0 : _b.toString()) !== null && _c !== void 0 ? _c : "4"); + this._polygon.setAttribute("fill", (_d = style === null || style === void 0 ? void 0 : style.strokeColor) !== null && _d !== void 0 ? _d : "red"); + } + reset() { + this.x1 = 0; + this.y1 = 0; + this.x2 = 0; + this.y2 = 0; + } + clone() { + return new SVGArrow(this.components, this.startPoint, this.endPoint); + } + set x1(value) { + this._startPoint.x = value; + this._line.setAttribute("x1", value.toString()); + } + set y1(value) { + this._startPoint.y = value; + this._line.setAttribute("y1", value.toString()); + } + set startPoint(point) { + this.x1 = point.x; + this.y1 = point.y; + } + get startPoint() { + return this._startPoint; + } + set x2(value) { + this._endPoint.x = value; + this._line.setAttribute("x2", value.toString()); + } + set y2(value) { + this._endPoint.y = value; + this._line.setAttribute("y2", value.toString()); + } + set endPoint(point) { + this.x2 = point.x; + this.y2 = point.y; + } + get endPoint() { + return this._endPoint; + } + get() { + return this._arrow; + } +} + +class ArrowAnnotation extends BaseSVGAnnotation { + constructor(components, drawManager) { + super(components); + this.name = "ArrowAnnotation"; + this.canvas = null; + this.uiElement = new UIElement(); + this.cancel = () => { + if (!this._isDrawing) { + return; + } + this._isDrawing = false; + this._previewElement.reset(); + this._previewElement.get().remove(); + }; + this.start = (event) => { + var _a, _b, _c, _d; + if (!this.canDraw) { + return undefined; + } + if (!this._isDrawing) { + this._isDrawing = true; + this._previewElement.setStyle((_a = this.drawManager) === null || _a === void 0 ? void 0 : _a.viewport.config); + this._previewElement.x1 = event.clientX; + this._previewElement.y1 = event.clientY; + this._previewElement.x2 = event.clientX; + this._previewElement.y2 = event.clientY; + (_b = this.svgViewport) === null || _b === void 0 ? void 0 : _b.append(this._previewElement.get()); + } + else { + const arrow = this._previewElement.clone(); + arrow.setStyle((_c = this.drawManager) === null || _c === void 0 ? void 0 : _c.viewport.config); + (_d = this.svgViewport) === null || _d === void 0 ? void 0 : _d.append(arrow.get()); + this.cancel(); + return arrow; + } + return undefined; + }; + this.draw = (e) => { + if (!this.canDraw || !this._isDrawing) { + return; + } + this._previewElement.x1 = e.clientX; + this._previewElement.y1 = e.clientY; + }; + this._previewElement = new SVGArrow(components); + this.drawManager = drawManager; + const main = new Button(components); + this.uiElement.set({ main }); + main.label = "Arrow"; + main.materialIcon = "north_east"; + main.onClick.add(() => { + if (this.drawManager) { + this.drawManager.activateTool(this); + } + else { + this.enabled = !this.enabled; + } + }); + } + async dispose() { + await super.dispose(); + this._previewElement.dispose(); + } +} + +class SVGCircle extends Component { + constructor(components, centerPoint, radius) { + super(components); + this.id = tooeenRandomId(); + this.name = "SVGRectangle"; + this.enabled = true; + this._circle = document.createElementNS("http://www.w3.org/2000/svg", "circle"); + this._centerPoint = new Vector2$1(); + this._radius = 20; + this.centerPoint = centerPoint !== null && centerPoint !== void 0 ? centerPoint : this.centerPoint; + this.radius = radius !== null && radius !== void 0 ? radius : this.radius; + this._circle.id = this.id; + this.setStyle(); + } + async dispose() { + this._circle.remove(); + this.components = null; + } + setStyle(style) { + var _a, _b, _c, _d; + this._circle.setAttribute("stroke", (_a = style === null || style === void 0 ? void 0 : style.strokeColor) !== null && _a !== void 0 ? _a : "red"); + this._circle.setAttribute("stroke-width", (_c = (_b = style === null || style === void 0 ? void 0 : style.strokeWidth) === null || _b === void 0 ? void 0 : _b.toString()) !== null && _c !== void 0 ? _c : "4"); + this._circle.setAttribute("fill", (_d = style === null || style === void 0 ? void 0 : style.fillColor) !== null && _d !== void 0 ? _d : "transparent"); + } + reset() { + this.cx = 0; + this.cy = 0; + this.radius = 0; + } + clone() { + return new SVGCircle(this.components, this.centerPoint, this.radius); + } + set radius(value) { + this._radius = value; + this._circle.setAttribute("r", value.toString()); + } + get radius() { + return this._radius; + } + set cx(value) { + this._centerPoint.x = value; + this._circle.setAttribute("cx", value.toString()); + } + set cy(value) { + this._centerPoint.y = value; + this._circle.setAttribute("cy", value.toString()); + } + set centerPoint(point) { + this.cx = point.x; + this.cy = point.y; + } + get centerPoint() { + return this._centerPoint; + } + get() { + return this._circle; + } +} + +class CircleAnnotation extends BaseSVGAnnotation { + constructor(components, drawManager) { + super(components); + this.name = "CircleAnnotation"; + this.canvas = null; + this.uiElement = new UIElement(); + this._cursorPosition = new Vector2$1(); + this.start = (e) => { + var _a, _b, _c, _d; + if (!this.canDraw) { + return undefined; + } + if (!this._isDrawing) { + this._isDrawing = true; + this._previewElement.setStyle((_a = this.drawManager) === null || _a === void 0 ? void 0 : _a.viewport.config); + this._previewElement.cx = e.clientX; + this._previewElement.cy = e.clientY; + (_b = this.svgViewport) === null || _b === void 0 ? void 0 : _b.append(this._previewElement.get()); + } + else { + const circle = this._previewElement.clone(); + circle.setStyle((_c = this.drawManager) === null || _c === void 0 ? void 0 : _c.viewport.config); + (_d = this.svgViewport) === null || _d === void 0 ? void 0 : _d.append(circle.get()); + this.cancel(); + return circle; + } + return undefined; + }; + this.cancel = () => { + if (!this._isDrawing) { + return; + } + this._isDrawing = false; + this._previewElement.reset(); + this._previewElement.get().remove(); + }; + this.draw = (e) => { + if (!this.canDraw || !this._isDrawing) { + return; + } + this._cursorPosition.x = e.clientX; + this._cursorPosition.y = e.clientY; + this._previewElement.radius = this._cursorPosition.distanceTo(this._previewElement.centerPoint); + }; + this._previewElement = new SVGCircle(components); + this.drawManager = drawManager; + const main = new Button(components); + this.uiElement.set({ main }); + main.label = "Circle"; + main.materialIcon = "radio_button_unchecked"; + main.onClick.add(() => { + if (this.drawManager) { + this.drawManager.activateTool(this); + } + else { + this.enabled = !this.enabled; + } + }); + } + async dispose() { + await super.dispose(); + this._previewElement.dispose(); + } +} + +class SVGText extends Component { + constructor(components, text, startPoint) { + super(components); + this.id = tooeenRandomId(); + this.name = "SVGRectangle"; + this.enabled = true; + this._startPoint = new Vector2$1(); + this._text = document.createElementNS("http://www.w3.org/2000/svg", "text"); + this._text.setAttribute("fill", "red"); + this._text.classList.add("text-2xl", "font-medium"); + this.text = text !== null && text !== void 0 ? text : ""; + this.startPoint = startPoint !== null && startPoint !== void 0 ? startPoint : this.startPoint; + this._text.id = this.id; + } + async dispose() { + this._text.remove(); + } + setStyle(style) { + var _a; + this._text.setAttribute("fill", (_a = style === null || style === void 0 ? void 0 : style.strokeColor) !== null && _a !== void 0 ? _a : "red"); + } + set text(value) { + this._text.textContent = value; + } + get text() { + var _a; + return (_a = this._text.textContent) !== null && _a !== void 0 ? _a : ""; + } + reset() { + this.x = 0; + this.y = 0; + } + clone() { + return new SVGText(this.components, this.text, this.startPoint); + } + set x(value) { + this._startPoint.x = value; + this._text.setAttribute("x", value.toString()); + } + set y(value) { + this._startPoint.y = value; + this._text.setAttribute("y", value.toString()); + } + set startPoint(point) { + this.x = point.x; + this.y = point.y; + } + get startPoint() { + return this._startPoint; + } + get() { + return this._text; + } +} + +class TextAnnotation extends BaseSVGAnnotation { + constructor(components, drawManager) { + super(components); + this.name = "TextAnnotation"; + this.uiElement = new UIElement(); + this.canvas = null; + this.cancel = () => { + if (!this._isDrawing) { + return; + } + this._isDrawing = false; + this._previewElement.reset(); + this._previewElement.get().remove(); + }; + this.start = (e) => { + var _a, _b, _c, _d; + if (!this.canDraw) { + return undefined; + } + if (!this._isDrawing) { + this._isDrawing = true; + const text = prompt("Enter your text", this._previewElement.text); + if (!text) { + this.cancel(); + return undefined; + } + this._previewElement.setStyle((_a = this.drawManager) === null || _a === void 0 ? void 0 : _a.viewport.config); + this._previewElement.text = text; + this._previewElement.x = e.clientX; + this._previewElement.y = e.clientY; + (_b = this.svgViewport) === null || _b === void 0 ? void 0 : _b.append(this._previewElement.get()); + } + else { + const text = this._previewElement.clone(); + text.setStyle((_c = this.drawManager) === null || _c === void 0 ? void 0 : _c.viewport.config); + (_d = this.svgViewport) === null || _d === void 0 ? void 0 : _d.append(text.get()); + this.cancel(); + return text; + } + return undefined; + }; + this.draw = (e) => { + if (!this.canDraw || !this._isDrawing) { + return; + } + this._previewElement.x = e.clientX; + this._previewElement.y = e.clientY; + }; + this._previewElement = new SVGText(components); + this.drawManager = drawManager; + const main = new Button(components); + this.uiElement.set({ main }); + main.label = "Text"; + main.materialIcon = "title"; + main.onClick.add(() => { + if (this.drawManager) { + this.drawManager.activateTool(this); + } + else { + this.enabled = !this.enabled; + } + }); + } + async dispose() { + await super.dispose(); + await this._previewElement.dispose(); + } +} + +class SVGRectangle extends Component { + constructor(components, startPoint, endPoint) { + super(components); + this.id = tooeenRandomId(); + this.name = "SVGRectangle"; + this.enabled = true; + this._startPoint = new Vector2$1(); + this._endPoint = new Vector2$1(); + this._dimensions = new Vector2$1(); + this._rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + this.startPoint = startPoint !== null && startPoint !== void 0 ? startPoint : this.startPoint; + this.endPoint = endPoint !== null && endPoint !== void 0 ? endPoint : this.endPoint; + this._rect.setAttribute("rx", "5"); + this._rect.id = this.id; + this.setStyle(); + } + async dispose() { + this._rect.remove(); + this.components = null; + } + setStyle(style) { + var _a, _b, _c, _d; + this._rect.setAttribute("stroke", (_a = style === null || style === void 0 ? void 0 : style.strokeColor) !== null && _a !== void 0 ? _a : "red"); + this._rect.setAttribute("stroke-width", (_c = (_b = style === null || style === void 0 ? void 0 : style.strokeWidth) === null || _b === void 0 ? void 0 : _b.toString()) !== null && _c !== void 0 ? _c : "4"); + this._rect.setAttribute("fill", (_d = style === null || style === void 0 ? void 0 : style.fillColor) !== null && _d !== void 0 ? _d : "transparent"); + } + reset() { + this.x1 = 0; + this.y1 = 0; + this.x2 = 0; + this.y2 = 0; + } + clone() { + return new SVGRectangle(this.components, this.startPoint, this.endPoint); + } + set x1(value) { + this._startPoint.x = value; + this._rect.setAttribute("x", value.toString()); + } + set y1(value) { + this._startPoint.y = value; + this._rect.setAttribute("y", value.toString()); + } + set startPoint(point) { + this.x1 = point.x; + this.y1 = point.y; + } + get startPoint() { + return this._startPoint; + } + set x2(value) { + const lessThanStart = value < this.startPoint.x; + this._endPoint.x = lessThanStart ? this.startPoint.x : value; + this.x1 = lessThanStart ? value : this.startPoint.x; + this._dimensions.x = this.endPoint.x - this.startPoint.x; + this._rect.setAttribute("width", this._dimensions.x.toString()); + } + set y2(value) { + const lessThanStart = value < this.startPoint.y; + this._endPoint.y = lessThanStart ? this.startPoint.y : value; + this.y1 = lessThanStart ? value : this.startPoint.y; + this._dimensions.y = this.endPoint.y - this.startPoint.y; + this._rect.setAttribute("height", this._dimensions.y.toString()); + } + set endPoint(point) { + this.x2 = point.x; + this.y2 = point.y; + } + get endPoint() { + return this._endPoint; + } + set width(value) { + this.x2 = this.startPoint.x + value; + } + get width() { + return this._dimensions.x; + } + set height(value) { + this.y2 = this.startPoint.y + value; + } + get height() { + return this._dimensions.y; + } + set dimensions(value) { + this.width = value.x; + this.height = value.y; + } + get dimensions() { + return this._dimensions; + } + get() { + return this._rect; + } +} + +class RectangleAnnotation extends BaseSVGAnnotation { + constructor(components, drawManager) { + super(components); + this.name = "RectangleAnnotation"; + this.canvas = null; + this.uiElement = new UIElement(); + this._startPoint = new Vector2$1(); + this.start = (e) => { + var _a, _b, _c, _d; + if (!this.canDraw) { + return undefined; + } + if (!this._isDrawing) { + this._isDrawing = true; + this._previewElement.setStyle((_a = this.drawManager) === null || _a === void 0 ? void 0 : _a.viewport.config); + this._startPoint.set(e.clientX, e.clientY); + (_b = this.svgViewport) === null || _b === void 0 ? void 0 : _b.append(this._previewElement.get()); + } + else { + const rectangle = this._previewElement.clone(); + rectangle.setStyle((_c = this.drawManager) === null || _c === void 0 ? void 0 : _c.viewport.config); + (_d = this.svgViewport) === null || _d === void 0 ? void 0 : _d.append(rectangle.get()); + this.cancel(); + return rectangle; + } + return undefined; + }; + this.cancel = () => { + if (!this._isDrawing) { + return; + } + this._isDrawing = false; + this._startPoint.x = 0; + this._startPoint.y = 0; + this._previewElement.reset(); + this._previewElement.get().remove(); + }; + this.draw = (e) => { + if (!this.canDraw || !this._isDrawing) { + return; + } + this._previewElement.x1 = this._startPoint.x; + this._previewElement.y1 = this._startPoint.y; + this._previewElement.x2 = e.clientX; + this._previewElement.y2 = e.clientY; + }; + this._previewElement = new SVGRectangle(components); + this.drawManager = drawManager; + const main = new Button(components); + this.uiElement.set({ main }); + main.label = "Rectangle"; + main.materialIcon = "crop_square"; + main.onClick.add(() => { + if (this.drawManager) { + this.drawManager.activateTool(this); + } + else { + this.enabled = !this.enabled; + } + }); + } + async dispose() { + await super.dispose(); + this._previewElement.dispose(); + } +} + +class DrawManager extends Component { + get isDrawing() { + return this._isDrawing; + } + set isDrawing(value) { + this._isDrawing = value; + } + get enabled() { + return this._enabled; + } + set enabled(value) { + this._enabled = value; + this.uiElement.get("main").active = value; + this.uiElement.get("drawingTools").visible = value; + this.viewport.enabled = value; + } + constructor(components) { + super(components); + this.name = "DrawManager"; + this.uiElement = new UIElement(); + this.drawingTools = {}; + this.drawings = {}; + this._enabled = false; + this._isDrawing = false; + this.viewport = new SimpleSVGViewport(components); + this.setUI(); + this.enabled = false; + } + async dispose() { + this.uiElement.dispose(); + await this.viewport.dispose(); + for (const name in this.drawings) { + this.drawings[name].remove(); + } + this.drawings = {}; + this.components = null; + } + saveDrawing(name) { + const currentDrawing = this.drawings[name]; + currentDrawing === null || currentDrawing === void 0 ? void 0 : currentDrawing.childNodes.forEach((child) => currentDrawing.removeChild(child)); + const drawing = this.viewport.getDrawing(); + const group = currentDrawing !== null && currentDrawing !== void 0 ? currentDrawing : document.createElementNS("http://www.w3.org/2000/svg", "g"); + group.id = name; + group.append(...drawing); + this.viewport.get().append(group); + this.drawings[name] = group; + return group; + } + addDrawingTool(name, tool) { + const existingTool = this.drawingTools[name]; + if (!existingTool) { + const main = this.uiElement.get("main"); + this.uiElement.get("drawingTools").addChild(main); + this.drawingTools[name] = tool; + } + } + activateTool(tool) { + const drawingTools = Object.values(this.drawingTools); + drawingTools.forEach((tool) => (tool.enabled = false)); + tool.enabled = true; + } + get activeTool() { + const drawingTools = Object.values(this.drawingTools); + return drawingTools.find((tool) => tool.enabled === true); + } + setUI() { + const drawingTools = new Toolbar(this.components, { position: "top" }); + this.components.ui.addToolbar(drawingTools); + const main = new Button(this.components); + main.materialIcon = "gesture"; + main.onClick.add(() => (this.enabled = !this.enabled)); + this.uiElement.set({ drawingTools, main }); + } + get() { + throw new Error("Method not implemented."); + } +} + +var mapboxGl = {exports: {}}; + +/* Mapbox GL JS is Copyright © 2020 Mapbox and subject to the Mapbox Terms of Service ((https://www.mapbox.com/legal/tos/). */ + +(function (module, exports) { + (function (global, factory) { + module.exports = factory() ; + })(commonjsGlobal, (function () { + /* eslint-disable */ + + var shared, worker, mapboxgl; + // define gets called three times: one for each chunk. we rely on the order + // they're imported to know which is which + function define(_, chunk) { + if (!shared) { + shared = chunk; + } else if (!worker) { + worker = chunk; + } else { + var workerBundleString = "self.onerror = function() { console.error('An error occurred while parsing the WebWorker bundle. This is most likely due to improper transpilation by Babel; please see https://docs.mapbox.com/mapbox-gl-js/guides/install/#transpiling'); }; var sharedChunk = {}; (" + shared + ")(sharedChunk); (" + worker + ")(sharedChunk); self.onerror = null;"; + + var sharedChunk = {}; + shared(sharedChunk); + mapboxgl = chunk(sharedChunk); + if (typeof window !== 'undefined' && window && window.URL && window.URL.createObjectURL) { + mapboxgl.workerUrl = window.URL.createObjectURL(new Blob([workerBundleString], { type: 'text/javascript' })); + } + } + } + + + define(["exports"],(function(t){var e="undefined"!=typeof self?self:{},r="2.15.0";let n;const i={API_URL:"https://api.mapbox.com",get API_URL_REGEX(){if(null==n){const t=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;try{n=null!=process.env.API_URL_REGEX?new RegExp(process.env.API_URL_REGEX):t;}catch(e){n=t;}}return n},get API_TILEJSON_REGEX(){return /^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/v[0-9]*\/.*\.json.*$)/i},get API_SPRITE_REGEX(){return /^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/styles\/v[0-9]*\/)(.*\/sprite.*\..*$)/i},get API_FONTS_REGEX(){return /^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/fonts\/v[0-9]*\/)(.*\.pbf.*$)/i},get API_STYLE_REGEX(){return /^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/styles\/v[0-9]*\/)(.*$)/i},get API_CDN_URL_REGEX(){return /^((https?:)?\/\/)?api\.mapbox\.c(n|om)(\/mapbox-gl-js\/)(.*$)/i},get EVENTS_URL(){if(!i.API_URL)return null;try{const t=new URL(i.API_URL);return "api.mapbox.cn"===t.hostname?"https://events.mapbox.cn/events/v2":"api.mapbox.com"===t.hostname?"https://events.mapbox.com/events/v2":null}catch(t){return null}},SESSION_PATH:"/map-sessions/v1",FEEDBACK_URL:"https://apps.mapbox.com/feedback",TILE_URL_VERSION:"v4",RASTER_URL_PREFIX:"raster/v1",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},s={supported:!1,testSupport:function(t){!l&&o&&(u?c(t):a=t);}};let a,o,l=!1,u=!1;function c(t){const e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,o),t.isContextLost())return;s.supported=!0;}catch(t){}t.deleteTexture(e),l=!0;}e.document&&(o=e.document.createElement("img"),o.onload=function(){a&&c(a),a=null,u=!0;},o.onerror=function(){l=!0,a=null;},o.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");const h="01";function p(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var d=f;function f(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=r,this.p2y=n;}f.prototype={sampleCurveX:function(t){return ((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return ((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return (3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?a=r:o=r,r=.5*(o-a)+a;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var y=p(d),m=g;function g(t,e){this.x=t,this.y=e;}g.prototype={clone:function(){return new g(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=r*this.x+e*this.y;return this.x=e*this.x-r*this.y,this.y=n,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=e.x+r*(this.x-e.x)-n*(this.y-e.y),this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},g.convert=function(t){return t instanceof g?t:Array.isArray(t)?new g(t[0],t[1]):t};var x=p(m);const v=Math.PI/180,b=180/Math.PI;function w(t){return t*v}function _(t){return t*b}const A=[[0,0],[1,0],[1,1],[0,1]];function S(t){if(t<=0)return 0;if(t>=1)return 1;const e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function k(t,e,r,n){const i=new y(t,e,r,n);return function(t){return i.solve(t)}}const I=k(.25,.1,.25,1);function M(t,e,r){return Math.min(r,Math.max(e,t))}function T(t,e,r){return (r=M((r-t)/(e-t),0,1))*r*(3-2*r)}function z(t,e,r){const n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function B(t,e,r){if(!t.length)return r(null,[]);let n=t.length;const i=new Array(t.length);let s=null;t.forEach(((t,a)=>{e(t,((t,e)=>{t&&(s=t),i[a]=e,0==--n&&r(s,i);}));}));}function E(t){const e=[];for(const r in t)e.push(t[r]);return e}function C(t,...e){for(const r of e)for(const e in r)t[e]=r[e];return t}let P=1;function D(){return P++}function V(){return function t(e){return e?(e^Math.random()*(16>>e/4)).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function L(t){return t<=1?1:Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function F(t){return !!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function R(t,e){t.forEach((t=>{e[t]&&(e[t]=e[t].bind(e));}));}function U(t,e){return -1!==t.indexOf(e,t.length-e.length)}function $(t,e,r){const n={};for(const i in t)n[i]=e.call(r||this,t[i],i,t);return n}function j(t,e,r){const n={};for(const i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function O(t){return Array.isArray(t)?t.map(O):"object"==typeof t&&t?$(t,O):t}const q={};function N(t){q[t]||("undefined"!=typeof console&&console.warn(t),q[t]=!0);}function G(t,e,r){return (r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function Z(t){let e=0;for(let r,n,i=0,s=t.length,a=s-1;i@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((t,r,n,i)=>{const s=n||i;return e[r]=!s||s.toLowerCase(),""})),e["max-age"]){const t=parseInt(e["max-age"],10);isNaN(t)?delete e["max-age"]:e["max-age"]=t;}return e}let J=null;function H(t){if(null==J){const e=t.navigator?t.navigator.userAgent:null;J=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")));}return J}function Y(t){try{const r=e[t];return r.setItem("_mapbox_test_",1),r.removeItem("_mapbox_test_"),!0}catch(t){return !1}}function W(t,e){return [t[4*e],t[4*e+1],t[4*e+2],t[4*e+3]]}const Q="mapbox-tiles";let tt=500,et=50;let rt,nt;function it(){try{return e.caches}catch(t){}}function st(){it()&&!rt&&(rt=e.caches.open(Q));}function at(t){const e=t.indexOf("?");if(e<0)return t;const r=function(t){const e=t.indexOf("?");return e>0?t.slice(e+1).split("&"):[]}(t),n=r.filter((t=>{const e=t.split("=");return "language"===e[0]||"worldview"===e[0]}));return n.length?`${t.slice(0,e)}?${n.join("&")}`:t.slice(0,e)}let ot=1/0;const lt={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(lt);class ut extends Error{constructor(t,e,r){401===e&&bt(r)&&(t+=": you may have provided an invalid Mapbox access token. See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes"),super(t),this.status=e,this.url=r;}toString(){return `${this.name}: ${this.message} (${this.status}): ${this.url}`}}const ct=K()?()=>self.worker&&self.worker.referrer:()=>("blob:"===e.location.protocol?e.parent:e).location.href;const ht=function(t,r){if(!(/^file:/.test(n=t.url)||/^file:/.test(ct())&&!/^\w+:/.test(n))){if(e.fetch&&e.Request&&e.AbortController&&e.Request.prototype.hasOwnProperty("signal"))return function(t,r){const n=new e.AbortController,i=new e.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:ct(),referrerPolicy:t.referrerPolicy,signal:n.signal});let s=!1,a=!1;const o=(l=i.url).indexOf("sku=")>0&&bt(l);var l;"json"===t.type&&i.headers.set("Accept","application/json");const u=(n,s,l)=>{if(a)return;if(n&&"SecurityError"!==n.message&&N(n.toString()),s&&l)return c(s);const u=Date.now();e.fetch(i).then((e=>{if(e.ok){const t=o?e.clone():null;return c(e,t,u)}return r(new ut(e.statusText,e.status,t.url))})).catch((e=>{"AbortError"!==e.name&&r(new Error(`${e.message} ${t.url}`));}));},c=(n,o,l)=>{("arrayBuffer"===t.type?n.arrayBuffer():"json"===t.type?n.json():n.text()).then((t=>{a||(o&&l&&function(t,r,n){if(st(),!rt)return;const i={status:r.status,statusText:r.statusText,headers:new e.Headers};r.headers.forEach(((t,e)=>i.headers.set(e,t)));const s=X(r.headers.get("Cache-Control")||"");if(s["no-store"])return;s["max-age"]&&i.headers.set("Expires",new Date(n+1e3*s["max-age"]).toUTCString());const a=i.headers.get("Expires");a&&(new Date(a).getTime()-n<42e4||function(t,e){if(void 0===nt)try{new Response(new ReadableStream),nt=!0;}catch(t){nt=!1;}nt?e(t.body):t.blob().then(e);}(r,(r=>{const n=new e.Response(r,i);st(),rt&&rt.then((e=>e.put(at(t.url),n))).catch((t=>N(t.message)));})));}(i,o,l),s=!0,r(null,t,n.headers.get("Cache-Control"),n.headers.get("Expires")));})).catch((t=>{a||r(new Error(t.message));}));};return o?function(t,e){if(st(),!rt)return e(null);const r=at(t.url);rt.then((t=>{t.match(r).then((n=>{const i=function(t){if(!t)return !1;const e=new Date(t.headers.get("Expires")||0),r=X(t.headers.get("Cache-Control")||"");return e>Date.now()&&!r["no-cache"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i);})).catch(e);})).catch(e);}(i,u):u(null,null),{cancel:()=>{a=!0,s||n.abort();}}}(t,r);if(K()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,r,void 0,!0)}var n;return function(t,r){const n=new e.XMLHttpRequest;n.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(n.responseType="arraybuffer");for(const e in t.headers)n.setRequestHeader(e,t.headers[e]);return "json"===t.type&&(n.responseType="text",n.setRequestHeader("Accept","application/json")),n.withCredentials="include"===t.credentials,n.onerror=()=>{r(new Error(n.statusText));},n.onload=()=>{if((n.status>=200&&n.status<300||0===n.status)&&null!==n.response){let e=n.response;if("json"===t.type)try{e=JSON.parse(n.response);}catch(t){return r(t)}r(null,e,n.getResponseHeader("Cache-Control"),n.getResponseHeader("Expires"));}else r(new ut(n.statusText,n.status,t.url));},n.send(t.body),{cancel:()=>n.abort()}}(t,r)},pt=function(t,e){return ht(C(t,{type:"arrayBuffer"}),e)};function dt(t){const r=e.document.createElement("a");return r.href=t,r.protocol===e.document.location.protocol&&r.host===e.document.location.host}const ft="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";let yt,mt;yt=[],mt=0;const gt=function(t,r){if(s.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),mt>=i.MAX_PARALLEL_IMAGE_REQUESTS){const e={requestParameters:t,callback:r,cancelled:!1,cancel(){this.cancelled=!0;}};return yt.push(e),e}mt++;let n=!1;const a=()=>{if(!n)for(n=!0,mt--;yt.length&&mt{a(),t?r(t):n&&(e.createImageBitmap?function(t,r){const n=new e.Blob([new Uint8Array(t)],{type:"image/png"});e.createImageBitmap(n).then((t=>{r(null,t);})).catch((t=>{r(new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`));}));}(n,((t,e)=>r(t,e,i,s))):function(t,r){const n=new e.Image,i=e.URL;n.onload=()=>{r(null,n),i.revokeObjectURL(n.src),n.onload=null,e.requestAnimationFrame((()=>{n.src=ft;}));},n.onerror=()=>r(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));const s=new e.Blob([new Uint8Array(t)],{type:"image/png"});n.src=t.byteLength?i.createObjectURL(s):ft;}(n,((t,e)=>r(t,e,i,s))));}));return {cancel:()=>{o.cancel(),a();}}},xt="NO_ACCESS_TOKEN";function vt(t){return 0===t.indexOf("mapbox:")}function bt(t){return i.API_URL_REGEX.test(t)}function wt(t){return i.API_CDN_URL_REGEX.test(t)}function _t(t){return i.API_STYLE_REGEX.test(t)&&!At(t)}function At(t){return i.API_SPRITE_REGEX.test(t)}const St=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function kt(t){const e=t.match(St);if(!e)throw new Error("Unable to parse URL object");return {protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function It(t){const e=t.params.length?`?${t.params.join("&")}`:"";return `${t.protocol}://${t.authority}${t.path}${e}`}const Mt="mapbox.eventData";function Tt(t){if(!t)return null;const r=t.split(".");if(!r||3!==r.length)return null;try{return JSON.parse(decodeURIComponent(e.atob(r[1]).split("").map((t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2))).join("")))}catch(t){return null}}class zt{constructor(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null;}getStorageKey(t){const r=Tt(i.ACCESS_TOKEN);let n="";return n=r&&r.u?e.btoa(encodeURIComponent(r.u).replace(/%([0-9A-F]{2})/g,((t,e)=>String.fromCharCode(Number("0x"+e))))):i.ACCESS_TOKEN||"",t?`${Mt}.${t}:${n}`:`${Mt}:${n}`}fetchEventData(){const t=Y("localStorage"),r=this.getStorageKey(),n=this.getStorageKey("uuid");if(t)try{const t=e.localStorage.getItem(r);t&&(this.eventData=JSON.parse(t));const i=e.localStorage.getItem(n);i&&(this.anonId=i);}catch(t){N("Unable to read from LocalStorage");}}saveEventData(){const t=Y("localStorage"),r=this.getStorageKey(),n=this.getStorageKey("uuid");if(t)try{e.localStorage.setItem(n,this.anonId),Object.keys(this.eventData).length>=1&&e.localStorage.setItem(r,JSON.stringify(this.eventData));}catch(t){N("Unable to write to LocalStorage");}}processRequests(t){}postEvent(t,e,r,n){if(!i.EVENTS_URL)return;const s=kt(i.EVENTS_URL);s.params.push(`access_token=${n||i.ACCESS_TOKEN||""}`);const a={event:this.type,created:new Date(t).toISOString()},o=e?C(a,e):a,l={url:It(s),headers:{"Content-Type":"text/plain"},body:JSON.stringify([o])};this.pendingRequest=function(t,e){return ht(C(t,{method:"POST"}),e)}(l,(t=>{this.pendingRequest=null,r(t),this.saveEventData(),this.processRequests(n);}));}queueRequest(t,e){this.queue.push(t),this.processRequests(e);}}const Bt=new class extends zt{constructor(t){super("appUserTurnstile"),this._customAccessToken=t;}postTurnstileEvent(t,e){i.EVENTS_URL&&i.ACCESS_TOKEN&&Array.isArray(t)&&t.some((t=>vt(t)||bt(t)))&&this.queueRequest(Date.now(),e);}processRequests(t){if(this.pendingRequest||0===this.queue.length)return;this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();const e=Tt(i.ACCESS_TOKEN),n=e?e.u:i.ACCESS_TOKEN;let s=n!==this.eventData.tokenU;F(this.anonId)||(this.anonId=V(),s=!0);const a=this.queue.shift();if(this.eventData.lastSuccess){const t=new Date(this.eventData.lastSuccess),e=new Date(a),r=(a-this.eventData.lastSuccess)/864e5;s=s||r>=1||r<-1||t.getDate()!==e.getDate();}else s=!0;s?this.postEvent(a,{sdkIdentifier:"mapbox-gl-js",sdkVersion:r,skuId:h,"enabled.telemetry":!1,userId:this.anonId},(t=>{t||(this.eventData.lastSuccess=a,this.eventData.tokenU=n);}),t):this.processRequests();}},Et=Bt.postTurnstileEvent.bind(Bt),Ct=new class extends zt{constructor(){super("map.load"),this.success={},this.skuToken="";}postMapLoadEvent(t,e,r,n){this.skuToken=e,this.errorCb=n,i.EVENTS_URL&&(r||i.ACCESS_TOKEN?this.queueRequest({id:t,timestamp:Date.now()},r):this.errorCb(new Error(xt)));}processRequests(t){if(this.pendingRequest||0===this.queue.length)return;const{id:e,timestamp:n}=this.queue.shift();e&&this.success[e]||(this.anonId||this.fetchEventData(),F(this.anonId)||(this.anonId=V()),this.postEvent(n,{sdkIdentifier:"mapbox-gl-js",sdkVersion:r,skuId:h,skuToken:this.skuToken,userId:this.anonId},(t=>{t?this.errorCb(t):e&&(this.success[e]=!0);}),t));}},Pt=Ct.postMapLoadEvent.bind(Ct),Dt=new class extends zt{constructor(){super("gljs.performance");}postPerformanceEvent(t,e){i.EVENTS_URL&&(t||i.ACCESS_TOKEN)&&this.queueRequest({timestamp:Date.now(),performanceData:e},t);}processRequests(t){if(this.pendingRequest||0===this.queue.length)return;const{timestamp:n,performanceData:i}=this.queue.shift(),s=function(t){const n=e.performance.getEntriesByType("resource"),i=e.performance.getEntriesByType("mark"),s=function(t){const e={};if(t)for(const r in t)if("other"!==r)for(const n of t[r]){const t=`${r}ResolveRangeMin`,i=`${r}ResolveRangeMax`,s=`${r}RequestCount`,a=`${r}RequestCachedCount`;e[t]=Math.min(e[t]||1/0,n.startTime),e[i]=Math.max(e[i]||-1/0,n.responseEnd);const o=t=>{void 0===e[t]&&(e[t]=0),++e[t];};void 0!==n.transferSize&&0===n.transferSize&&o(a),o(s);}return e}(function(t,e){const r={};if(t)for(const n of t){const t=e(n);void 0===r[t]&&(r[t]=[]),r[t].push(n);}return r}(n,jt)),a=e.devicePixelRatio,o=e.navigator.connection||e.navigator.mozConnection||e.navigator.webkitConnection,l={counters:[],metadata:[],attributes:[]},u=(t,e,r)=>{null!=r&&t.push({name:e,value:r.toString()});};for(const t in s)u(l.counters,t,s[t]);if(t.interactionRange[0]!==1/0&&t.interactionRange[1]!==-1/0&&(u(l.counters,"interactionRangeMin",t.interactionRange[0]),u(l.counters,"interactionRangeMax",t.interactionRange[1])),i)for(const t of Object.keys(Ut)){const e=Ut[t],r=i.find((t=>t.name===e));r&&u(l.counters,e,r.startTime);}return u(l.counters,"visibilityHidden",t.visibilityHidden),u(l.attributes,"style",function(t){if(t)for(const e of t){const t=e.name.split("?")[0];if(_t(t)){const e=t.split("/").slice(-2);if(2===e.length)return `mapbox://styles/${e[0]}/${e[1]}`}}}(n)),u(l.attributes,"terrainEnabled",t.terrainEnabled?"true":"false"),u(l.attributes,"fogEnabled",t.fogEnabled?"true":"false"),u(l.attributes,"projection",t.projection),u(l.attributes,"zoom",t.zoom),u(l.metadata,"devicePixelRatio",a),u(l.metadata,"connectionEffectiveType",o?o.effectiveType:void 0),u(l.metadata,"navigatorUserAgent",e.navigator.userAgent),u(l.metadata,"screenWidth",e.screen.width),u(l.metadata,"screenHeight",e.screen.height),u(l.metadata,"windowWidth",e.innerWidth),u(l.metadata,"windowHeight",e.innerHeight),u(l.metadata,"mapWidth",t.width/a),u(l.metadata,"mapHeight",t.height/a),u(l.metadata,"webglRenderer",t.renderer),u(l.metadata,"webglVendor",t.vendor),u(l.metadata,"sdkVersion",r),u(l.metadata,"sdkIdentifier","mapbox-gl-js"),l}(i);for(const t of s.metadata);for(const t of s.counters);for(const t of s.attributes);this.postEvent(n,s,(()=>{}),t);}},Vt=Dt.postPerformanceEvent.bind(Dt),Lt=new class extends zt{constructor(){super("map.auth"),this.success={},this.skuToken="";}getSession(t,e,r,n){if(!i.API_URL||!i.SESSION_PATH)return;const s=kt(i.API_URL+i.SESSION_PATH);s.params.push(`sku=${e||""}`),s.params.push(`access_token=${n||i.ACCESS_TOKEN||""}`);const a={url:It(s),headers:{"Content-Type":"text/plain"}};this.pendingRequest=function(t,e){return ht(C(t,{method:"GET"}),e)}(a,(t=>{this.pendingRequest=null,r(t),this.saveEventData(),this.processRequests(n);}));}getSessionAPI(t,e,r,n){this.skuToken=e,this.errorCb=n,i.SESSION_PATH&&i.API_URL&&(r||i.ACCESS_TOKEN?this.queueRequest({id:t,timestamp:Date.now()},r):this.errorCb(new Error(xt)));}processRequests(t){if(this.pendingRequest||0===this.queue.length)return;const{id:e,timestamp:r}=this.queue.shift();e&&this.success[e]||this.getSession(r,this.skuToken,(t=>{t?this.errorCb(t):e&&(this.success[e]=!0);}),t);}},Ft=Lt.getSessionAPI.bind(Lt),Rt=new Set,Ut={create:"create",load:"load",fullLoad:"fullLoad"},$t={mark(t){e.performance.mark(t);},measure(t,r,n){e.performance.measure(t,r,n);}};function jt(t){const e=t.name.split("?")[0];return wt(e)&&e.includes("mapbox-gl.js")?"javascript":wt(e)&&e.includes("mapbox-gl.css")?"css":function(t){return i.API_FONTS_REGEX.test(t)}(e)?"fontRange":At(e)?"sprite":_t(e)?"style":function(t){return i.API_TILEJSON_REGEX.test(t)}(e)?"tilejson":"other"}const Ot=e.performance;function qt(t){const e=t?t.url.toString():void 0;return Ot.getEntriesByName(e)}let Nt,Gt,Zt,Kt;const Xt={now:()=>void 0!==Zt?Zt:e.performance.now(),setNow(t){Zt=t;},restoreNow(){Zt=void 0;},frame(t){const r=e.requestAnimationFrame(t);return {cancel:()=>e.cancelAnimationFrame(r)}},getImageData(t,r=0){const{width:n,height:i}=t;Kt||(Kt=e.document.createElement("canvas"));const s=Kt.getContext("2d",{willReadFrequently:!0});if(!s)throw new Error("failed to create canvas 2d context");return (n>Kt.width||i>Kt.height)&&(Kt.width=n,Kt.height=i),s.clearRect(-r,-r,n+2*r,i+2*r),s.drawImage(t,0,0,n,i),s.getImageData(-r,-r,n+2*r,i+2*r)},resolveURL:t=>(Nt||(Nt=e.document.createElement("a")),Nt.href=t,Nt.href),get devicePixelRatio(){return e.devicePixelRatio},get prefersReducedMotion(){return !!e.matchMedia&&(null==Gt&&(Gt=e.matchMedia("(prefers-reduced-motion: reduce)")),Gt.matches)}};function Jt(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e));}function Ht(t,e,r){if(r&&r[t]){const n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1);}}class Yt{constructor(t,e={}){C(this,e),this.type=t;}}class Wt extends Yt{constructor(t,e={}){super("error",C({error:t},e));}}class Qt{on(t,e){return this._listeners=this._listeners||{},Jt(t,e,this._listeners),this}off(t,e){return Ht(t,e,this._listeners),Ht(t,e,this._oneTimeListeners),this}once(t,e){return e?(this._oneTimeListeners=this._oneTimeListeners||{},Jt(t,e,this._oneTimeListeners),this):new Promise((e=>this.once(t,e)))}fire(t,e){"string"==typeof t&&(t=new Yt(t,e||{}));const r=t.type;if(this.listens(r)){t.target=this;const e=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];for(const r of e)r.call(this,t);const n=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];for(const e of n)Ht(r,e,this._oneTimeListeners),e.call(this,t);const i=this._eventedParent;i&&(C(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),i.fire(t));}else t instanceof Wt&&console.error(t.error);return this}listens(t){return !!(this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t))}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var te=JSON.parse('{"$version":8,"$root":{"version":{"required":true,"type":"enum","values":[8]},"name":{"type":"string"},"metadata":{"type":"*"},"center":{"type":"array","value":"number"},"zoom":{"type":"number"},"bearing":{"type":"number","default":0,"period":360,"units":"degrees"},"pitch":{"type":"number","default":0,"units":"degrees"},"light":{"type":"light"},"terrain":{"type":"terrain"},"fog":{"type":"fog"},"sources":{"required":true,"type":"sources"},"sprite":{"type":"string"},"glyphs":{"type":"string"},"transition":{"type":"transition"},"projection":{"type":"projection"},"layers":{"required":true,"type":"array","value":"layer"}},"sources":{"*":{"type":"source"}},"source":["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],"source_vector":{"type":{"required":true,"type":"enum","values":{"vector":{}}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"scheme":{"type":"enum","values":{"xyz":{},"tms":{}},"default":"xyz"},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"attribution":{"type":"string"},"promoteId":{"type":"promoteId"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_raster":{"type":{"required":true,"type":"enum","values":{"raster":{}}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"tileSize":{"type":"number","default":512,"units":"pixels"},"scheme":{"type":"enum","values":{"xyz":{},"tms":{}},"default":"xyz"},"attribution":{"type":"string"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_raster_dem":{"type":{"required":true,"type":"enum","values":{"raster-dem":{}}},"url":{"type":"string"},"tiles":{"type":"array","value":"string"},"bounds":{"type":"array","value":"number","length":4,"default":[-180,-85.051129,180,85.051129]},"minzoom":{"type":"number","default":0},"maxzoom":{"type":"number","default":22},"tileSize":{"type":"number","default":512,"units":"pixels"},"attribution":{"type":"string"},"encoding":{"type":"enum","values":{"terrarium":{},"mapbox":{}},"default":"mapbox"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_geojson":{"type":{"required":true,"type":"enum","values":{"geojson":{}}},"data":{"type":"*"},"maxzoom":{"type":"number","default":18},"attribution":{"type":"string"},"buffer":{"type":"number","default":128,"maximum":512,"minimum":0},"filter":{"type":"*"},"tolerance":{"type":"number","default":0.375},"cluster":{"type":"boolean","default":false},"clusterRadius":{"type":"number","default":50,"minimum":0},"clusterMaxZoom":{"type":"number"},"clusterMinPoints":{"type":"number"},"clusterProperties":{"type":"*"},"lineMetrics":{"type":"boolean","default":false},"generateId":{"type":"boolean","default":false},"promoteId":{"type":"promoteId"}},"source_video":{"type":{"required":true,"type":"enum","values":{"video":{}}},"urls":{"required":true,"type":"array","value":"string"},"coordinates":{"required":true,"type":"array","length":4,"value":{"type":"array","length":2,"value":"number"}}},"source_image":{"type":{"required":true,"type":"enum","values":{"image":{}}},"url":{"required":true,"type":"string"},"coordinates":{"required":true,"type":"array","length":4,"value":{"type":"array","length":2,"value":"number"}}},"layer":{"id":{"type":"string","required":true},"type":{"type":"enum","values":{"fill":{},"line":{},"symbol":{},"circle":{},"heatmap":{},"fill-extrusion":{},"raster":{},"hillshade":{},"background":{},"sky":{}},"required":true},"metadata":{"type":"*"},"source":{"type":"string"},"source-layer":{"type":"string"},"minzoom":{"type":"number","minimum":0,"maximum":24},"maxzoom":{"type":"number","minimum":0,"maximum":24},"filter":{"type":"filter"},"layout":{"type":"layout"},"paint":{"type":"paint"}},"layout":["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background","layout_sky"],"layout_background":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_sky":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_fill":{"fill-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_circle":{"circle-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_heatmap":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_fill-extrusion":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"},"fill-extrusion-edge-radius":{"type":"number","private":true,"default":0,"minimum":0,"maximum":1,"property-type":"constant"}},"layout_line":{"line-cap":{"type":"enum","values":{"butt":{},"round":{},"square":{}},"default":"butt","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-join":{"type":"enum","values":{"bevel":{},"round":{},"miter":{}},"default":"miter","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{"type":"number","default":2,"requires":[{"line-join":"miter"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-round-limit":{"type":"number","default":1.05,"requires":[{"line-join":"round"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_symbol":{"symbol-placement":{"type":"enum","values":{"point":{},"line":{},"line-center":{}},"default":"point","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"symbol-spacing":{"type":"number","default":250,"minimum":1,"units":"pixels","requires":[{"symbol-placement":"line"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{"type":"boolean","default":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{"type":"enum","values":{"auto":{},"viewport-y":{},"source":{}},"default":"auto","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{"type":"boolean","default":false,"requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{"type":"boolean","default":false,"requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-optional":{"type":"boolean","default":false,"requires":["icon-image","text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-size":{"type":"number","default":1,"minimum":0,"units":"factor of the original icon size","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{"type":"enum","values":{"none":{},"width":{},"height":{},"both":{}},"default":"none","requires":["icon-image","text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{"type":"array","value":"number","length":4,"default":[0,0,0,0],"units":"pixels","requires":["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-image":{"type":"resolvedImage","tokens":true,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{"type":"number","default":0,"period":360,"units":"degrees","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{"type":"number","default":2,"minimum":0,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{"type":"boolean","default":false,"requires":["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-offset":{"type":"array","value":"number","length":2,"default":[0,0],"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{"type":"enum","values":{"center":{},"left":{},"right":{},"top":{},"bottom":{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},"default":"center","requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-field":{"type":"formatted","default":"","tokens":true,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-font":{"type":"array","value":"string","default":["Open Sans Regular","Arial Unicode MS Regular"],"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-size":{"type":"number","default":16,"minimum":0,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{"type":"number","default":10,"minimum":0,"units":"ems","requires":["text-field",{"symbol-placement":["point"]}],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{"type":"number","default":1.2,"units":"ems","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-letter-spacing":{"type":"number","default":0,"units":"ems","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-justify":{"type":"enum","values":{"auto":{},"left":{},"center":{},"right":{}},"default":"center","requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{"type":"number","units":"ems","default":0,"requires":["text-field"],"property-type":"data-driven","expression":{"interpolated":true,"parameters":["zoom","feature"]}},"text-variable-anchor":{"type":"array","value":"enum","values":{"center":{},"left":{},"right":{},"top":{},"bottom":{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},"requires":["text-field",{"symbol-placement":["point"]}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-anchor":{"type":"enum","values":{"center":{},"left":{},"right":{},"top":{},"bottom":{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},"default":"center","requires":["text-field",{"!":"text-variable-anchor"}],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{"type":"number","default":45,"units":"degrees","requires":["text-field",{"symbol-placement":["line","line-center"]}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-writing-mode":{"type":"array","value":"enum","values":{"horizontal":{},"vertical":{}},"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-rotate":{"type":"number","default":0,"period":360,"units":"degrees","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-padding":{"type":"number","default":2,"minimum":0,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-keep-upright":{"type":"boolean","default":true,"requires":["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-transform":{"type":"enum","values":{"none":{},"uppercase":{},"lowercase":{}},"default":"none","requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-offset":{"type":"array","value":"number","units":"ems","length":2,"default":[0,0],"requires":["text-field",{"!":"text-radial-offset"}],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{"type":"boolean","default":false,"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{"type":"boolean","default":false,"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-optional":{"type":"boolean","default":false,"requires":["text-field","icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_raster":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_hillshade":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"filter":{"type":"array","value":"*"},"filter_symbol":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature","pitch","distance-from-center"]}},"filter_fill":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_line":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_circle":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_fill-extrusion":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_heatmap":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_operator":{"type":"enum","values":{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},"in":{},"!in":{},"all":{},"any":{},"none":{},"has":{},"!has":{},"within":{}}},"geometry_type":{"type":"enum","values":{"Point":{},"LineString":{},"Polygon":{}}},"function":{"expression":{"type":"expression"},"stops":{"type":"array","value":"function_stop"},"base":{"type":"number","default":1,"minimum":0},"property":{"type":"string","default":"$zoom"},"type":{"type":"enum","values":{"identity":{},"exponential":{},"interval":{},"categorical":{}},"default":"exponential"},"colorSpace":{"type":"enum","values":{"rgb":{},"lab":{},"hcl":{}},"default":"rgb"},"default":{"type":"*","required":false}},"function_stop":{"type":"array","minimum":0,"maximum":24,"value":["number","color"],"length":2},"expression":{"type":"array","value":"*","minimum":1},"fog":{"range":{"type":"array","default":[0.5,10],"minimum":-20,"maximum":20,"length":2,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","property-type":"data-constant","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"high-color":{"type":"color","property-type":"data-constant","default":"#245cdf","expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"space-color":{"type":"color","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],4,"#010b19",7,"#367ab9"],"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"horizon-blend":{"type":"number","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],4,0.2,7,0.1],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"star-intensity":{"type":"number","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],5,0.35,6,0],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"light":{"anchor":{"type":"enum","default":"viewport","values":{"map":{},"viewport":{}},"property-type":"data-constant","transition":false,"expression":{"interpolated":false,"parameters":["zoom"]}},"position":{"type":"array","default":[1.15,210,30],"length":3,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","property-type":"data-constant","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"intensity":{"type":"number","property-type":"data-constant","default":0.5,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"projection":{"name":{"type":"enum","values":{"albers":{},"equalEarth":{},"equirectangular":{},"lambertConformalConic":{},"mercator":{},"naturalEarth":{},"winkelTripel":{},"globe":{}},"default":"mercator","required":true},"center":{"type":"array","length":2,"value":"number","property-type":"data-constant","minimum":[-180,-90],"maximum":[180,90],"transition":false,"requires":[{"name":["albers","lambertConformalConic"]}]},"parallels":{"type":"array","length":2,"value":"number","property-type":"data-constant","minimum":[-90,-90],"maximum":[90,90],"transition":false,"requires":[{"name":["albers","lambertConformalConic"]}]}},"terrain":{"source":{"type":"string","required":true},"exaggeration":{"type":"number","property-type":"data-constant","default":1,"minimum":0,"maximum":1000,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true,"requires":["source"]}},"paint":["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background","paint_sky"],"paint_fill":{"fill-antialias":{"type":"boolean","default":true,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"fill-pattern"}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{"type":"color","transition":true,"requires":[{"!":"fill-pattern"},{"fill-antialias":true}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["fill-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-pattern":{"type":"resolvedImage","transition":false,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"fill-extrusion-pattern"}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["fill-extrusion-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{"type":"resolvedImage","transition":false,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"fill-extrusion-height":{"type":"number","default":0,"minimum":0,"units":"meters","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{"type":"number","default":0,"minimum":0,"units":"meters","transition":true,"requires":["fill-extrusion-height"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{"type":"boolean","default":true,"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-ambient-occlusion-intensity":{"property-type":"data-constant","type":"number","private":true,"default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-radius":{"property-type":"data-constant","type":"number","private":true,"default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true,"requires":["fill-extrusion-edge-radius"]},"fill-extrusion-rounded-roof":{"type":"boolean","default":true,"requires":["fill-extrusion-edge-radius"],"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_line":{"line-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"line-pattern"}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["line-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"line-width":{"type":"number","default":1,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{"type":"number","default":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{"type":"array","value":"number","minimum":0,"transition":false,"units":"line widths","requires":[{"!":"line-pattern"}],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-pattern":{"type":"resolvedImage","transition":false,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-gradient":{"type":"color","transition":false,"requires":[{"!":"line-pattern"},{"source":"geojson","has":{"lineMetrics":true}}],"expression":{"interpolated":true,"parameters":["line-progress"]},"property-type":"color-ramp"},"line-trim-offset":{"type":"array","value":"number","length":2,"default":[0,0],"minimum":[0,0],"maximum":[1,1],"transition":false,"requires":[{"source":"geojson","has":{"lineMetrics":true}}],"property-type":"constant"}},"paint_circle":{"circle-radius":{"type":"number","default":5,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{"type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["circle-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{"type":"enum","values":{"map":{},"viewport":{}},"default":"viewport","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"}},"paint_heatmap":{"heatmap-radius":{"type":"number","default":30,"minimum":1,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{"type":"number","default":1,"minimum":0,"transition":false,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"heatmap-color":{"type":"color","default":["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",0.1,"royalblue",0.3,"cyan",0.5,"lime",0.7,"yellow",1,"red"],"transition":false,"expression":{"interpolated":true,"parameters":["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_symbol":{"icon-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{"type":"color","default":"#000000","transition":true,"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","transition":true,"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["icon-image","icon-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{"type":"color","default":"#000000","transition":true,"overridable":true,"requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","transition":true,"requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["text-field","text-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_raster":{"raster-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{"type":"number","default":0,"period":360,"transition":true,"units":"degrees","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{"type":"number","default":0,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-resampling":{"type":"enum","values":{"linear":{},"nearest":{}},"default":"linear","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{"type":"number","default":300,"minimum":0,"transition":false,"units":"milliseconds","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_hillshade":{"hillshade-illumination-direction":{"type":"number","default":335,"minimum":0,"maximum":359,"transition":false,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"viewport","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{"type":"number","default":0.5,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{"type":"color","default":"#FFFFFF","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_background":{"background-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"background-pattern"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"background-pattern":{"type":"resolvedImage","transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"background-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_sky":{"sky-type":{"type":"enum","values":{"gradient":{},"atmosphere":{}},"default":"atmosphere","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun":{"type":"array","value":"number","length":2,"units":"degrees","minimum":[0,0],"maximum":[360,180],"transition":false,"requires":[{"sky-type":"atmosphere"}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun-intensity":{"type":"number","requires":[{"sky-type":"atmosphere"}],"default":10,"minimum":0,"maximum":100,"transition":false,"property-type":"data-constant"},"sky-gradient-center":{"type":"array","requires":[{"sky-type":"gradient"}],"value":"number","default":[0,0],"length":2,"units":"degrees","minimum":[0,0],"maximum":[360,180],"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-gradient-radius":{"type":"number","requires":[{"sky-type":"gradient"}],"default":90,"minimum":0,"maximum":180,"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-gradient":{"type":"color","default":["interpolate",["linear"],["sky-radial-progress"],0.8,"#87ceeb",1,"white"],"transition":false,"requires":[{"sky-type":"gradient"}],"expression":{"interpolated":true,"parameters":["sky-radial-progress"]},"property-type":"color-ramp"},"sky-atmosphere-halo-color":{"type":"color","default":"white","transition":false,"requires":[{"sky-type":"atmosphere"}],"property-type":"data-constant"},"sky-atmosphere-color":{"type":"color","default":"white","transition":false,"requires":[{"sky-type":"atmosphere"}],"property-type":"data-constant"},"sky-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"transition":{"duration":{"type":"number","default":300,"minimum":0,"units":"milliseconds"},"delay":{"type":"number","default":0,"minimum":0,"units":"milliseconds"}},"property-type":{"data-driven":{"type":"property-type"},"color-ramp":{"type":"property-type"},"data-constant":{"type":"property-type"},"constant":{"type":"property-type"}},"promoteId":{"*":{"type":"string"}}}');function ee(t,...e){for(const r of e)for(const e in r)t[e]=r[e];return t}function re(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function ne(t){if(Array.isArray(t))return t.map(ne);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){const e={};for(const r in t)e[r]=ne(t[r]);return e}return re(t)}class ie extends Error{constructor(t,e){super(e),this.message=e,this.key=t;}}var se=ie;class ae{constructor(t,e=[]){this.parent=t,this.bindings={};for(const[t,r]of e)this.bindings[t]=r;}concat(t){return new ae(this,t)}get(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(`${t} not found in scope.`)}has(t){return !!this.bindings[t]||!!this.parent&&this.parent.has(t)}}var oe=ae;const le={kind:"null"},ue={kind:"number"},ce={kind:"string"},he={kind:"boolean"},pe={kind:"color"},de={kind:"object"},fe={kind:"value"},ye={kind:"collator"},me={kind:"formatted"},ge={kind:"resolvedImage"};function xe(t,e){return {kind:"array",itemType:t,N:e}}function ve(t){if("array"===t.kind){const e=ve(t.itemType);return "number"==typeof t.N?`array<${e}, ${t.N}>`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const be=[le,ue,ce,he,pe,me,de,xe(fe),ge];function we(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!we(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else {if(t.kind===e.kind)return null;if("value"===t.kind)for(const t of be)if(!we(t,e))return null}return `Expected ${ve(t)} but found ${ve(e)} instead.`}function _e(t,e){return e.some((e=>e.kind===t.kind))}function Ae(t,e){return e.some((e=>"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t))}var Se,ke={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Ie(t){return (t=Math.round(t))<0?0:t>255?255:t}function Me(t){return Ie("%"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function Te(t){return (e="%"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e;}function ze(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{Se={}.parseCSSColor=function(t){var e,r=t.replace(/ /g,"").toLowerCase();if(r in ke)return ke[r].slice();if("#"===r[0])return 4===r.length?(e=parseInt(r.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===r.length&&(e=parseInt(r.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var n=r.indexOf("("),i=r.indexOf(")");if(-1!==n&&i+1===r.length){var s=r.substr(0,n),a=r.substr(n+1,i-(n+1)).split(","),o=1;switch(s){case"rgba":if(4!==a.length)return null;o=Te(a.pop());case"rgb":return 3!==a.length?null:[Me(a[0]),Me(a[1]),Me(a[2]),o];case"hsla":if(4!==a.length)return null;o=Te(a.pop());case"hsl":if(3!==a.length)return null;var l=(parseFloat(a[0])%360+360)%360/360,u=Te(a[1]),c=Te(a[2]),h=c<=.5?c*(u+1):c+u-c*u,p=2*c-h;return [Ie(255*ze(p,h,l+1/3)),Ie(255*ze(p,h,l)),Ie(255*ze(p,h,l-1/3)),o];default:return null}}return null};}catch(t){}class Be{constructor(t,e,r,n=1){this.r=t,this.g=e,this.b=r,this.a=n;}static parse(t){if(!t)return;if(t instanceof Be)return t;if("string"!=typeof t)return;const e=Se(t);return e?new Be(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3]):void 0}toString(){const[t,e,r,n]=this.toArray();return `rgba(${Math.round(t)},${Math.round(e)},${Math.round(r)},${n})`}toArray(){const{r:t,g:e,b:r,a:n}=this;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*r/n,n]}toArray01(){const{r:t,g:e,b:r,a:n}=this;return 0===n?[0,0,0,0]:[t/n,e/n,r/n,n]}toArray01PremultipliedAlpha(){const{r:t,g:e,b:r,a:n}=this;return [t,e,r,n]}}Be.black=new Be(0,0,0,1),Be.white=new Be(1,1,1,1),Be.transparent=new Be(0,0,0,0),Be.red=new Be(1,0,0,1),Be.blue=new Be(0,0,1,1);var Ee=Be;class Ce{constructor(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"});}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Pe{constructor(t,e,r,n,i){this.text=t.normalize?t.normalize():t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i;}}class De{constructor(t){this.sections=t;}static fromString(t){return new De([new Pe(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof De?t:De.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map((t=>t.text)).join("")}serialize(){const t=["format"];for(const e of this.sections){if(e.image){t.push(["image",e.image.name]);continue}t.push(e.text);const r={};e.fontStack&&(r["text-font"]=["literal",e.fontStack.split(",")]),e.scale&&(r["font-scale"]=e.scale),e.textColor&&(r["text-color"]=["rgba"].concat(e.textColor.toArray())),t.push(r);}return t}}class Ve{constructor(t){this.name=t.name,this.available=t.available;}toString(){return this.name}static fromString(t){return t?new Ve({name:t,available:!1}):null}serialize(){return ["image",this.name]}}function Le(t,e,r,n){return "number"==typeof t&&t>=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:`Invalid rgba value [${[t,e,r,n].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Fe(t){if(null===t)return !0;if("string"==typeof t)return !0;if("boolean"==typeof t)return !0;if("number"==typeof t)return !0;if(t instanceof Ee)return !0;if(t instanceof Ce)return !0;if(t instanceof De)return !0;if(t instanceof Ve)return !0;if(Array.isArray(t)){for(const e of t)if(!Fe(e))return !1;return !0}if("object"==typeof t){for(const e in t)if(!Fe(t[e]))return !1;return !0}return !1}function Re(t){if(null===t)return le;if("string"==typeof t)return ce;if("boolean"==typeof t)return he;if("number"==typeof t)return ue;if(t instanceof Ee)return pe;if(t instanceof Ce)return ye;if(t instanceof De)return me;if(t instanceof Ve)return ge;if(Array.isArray(t)){const e=t.length;let r;for(const e of t){const t=Re(e);if(r){if(r===t)continue;r=fe;break}r=t;}return xe(r||fe,e)}return de}function Ue(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Ee||t instanceof De||t instanceof Ve?t.toString():JSON.stringify(t)}class $e{constructor(t,e){this.type=t,this.value=e;}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Fe(t[1]))return e.error("invalid value");const r=t[1];let n=Re(r);const i=e.expectedType;return "array"!==n.kind||0!==n.N||!i||"array"!==i.kind||"number"==typeof i.N&&0!==i.N||(n=i),new $e(n,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return !0}serialize(){return "array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof Ee?["rgba"].concat(this.value.toArray()):this.value instanceof De?this.value.serialize():this.value}}var je=$e,Oe=class{constructor(t){this.name="ExpressionEvaluationError",this.message=t;}toJSON(){return this.message}};const qe={string:ce,number:ue,boolean:he,object:de};class Ne{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let r,n=1;const i=t[0];if("array"===i){let i,s;if(t.length>2){const r=t[1];if("string"!=typeof r||!(r in qe)||"object"===r)return e.error('The item type argument of "array" must be one of string, number, boolean',1);i=qe[r],n++;}else i=fe;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);s=t[2],n++;}r=xe(i,s);}else r=qe[i];const s=[];for(;nt.outputDefined()))}serialize(){const t=this.type,e=[t.kind];if("array"===t.kind){const r=t.itemType;if("string"===r.kind||"number"===r.kind||"boolean"===r.kind){e.push(r.kind);const n=t.N;("number"==typeof n||this.args.length>1)&&e.push(n);}}return e.concat(this.args.map((t=>t.serialize())))}}var Ge=Ne;class Ze{constructor(t){this.type=me,this.sections=t;}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");const n=[];let i=!1;for(let r=1;r<=t.length-1;++r){const s=t[r];if(i&&"object"==typeof s&&!Array.isArray(s)){i=!1;let t=null;if(s["font-scale"]&&(t=e.parse(s["font-scale"],1,ue),!t))return null;let r=null;if(s["text-font"]&&(r=e.parse(s["text-font"],1,xe(ce)),!r))return null;let a=null;if(s["text-color"]&&(a=e.parse(s["text-color"],1,pe),!a))return null;const o=n[n.length-1];o.scale=t,o.font=r,o.textColor=a;}else {const s=e.parse(t[r],1,fe);if(!s)return null;const a=s.type.kind;if("string"!==a&&"value"!==a&&"null"!==a&&"resolvedImage"!==a)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:s,scale:null,font:null,textColor:null});}}return new Ze(n)}evaluate(t){return new De(this.sections.map((e=>{const r=e.content.evaluate(t);return Re(r)===ge?new Pe("",r,null,null,null):new Pe(Ue(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor);}outputDefined(){return !1}serialize(){const t=["format"];for(const e of this.sections){t.push(e.content.serialize());const r={};e.scale&&(r["font-scale"]=e.scale.serialize()),e.font&&(r["text-font"]=e.font.serialize()),e.textColor&&(r["text-color"]=e.textColor.serialize()),t.push(r);}return t}}class Ke{constructor(t){this.type=ge,this.input=t;}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const r=e.parse(t[1],1,ce);return r?new Ke(r):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),r=Ve.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r}eachChild(t){t(this.input);}outputDefined(){return !1}serialize(){return ["image",this.input.serialize()]}}const Xe={"to-boolean":he,"to-color":pe,"to-number":ue,"to-string":ce};class Je{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");const n=Xe[r],i=[];for(let r=1;r4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:Le(e[0],e[1],e[2],e[3]),!r))return new Ee(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new Oe(r||`Could not parse color from value '${"string"==typeof e?e:String(JSON.stringify(e))}'`)}if("number"===this.type.kind){let e=null;for(const r of this.args){if(e=r.evaluate(t),null===e)return 0;const n=Number(e);if(!isNaN(n))return n}throw new Oe(`Could not convert ${JSON.stringify(e)} to number.`)}return "formatted"===this.type.kind?De.fromString(Ue(this.args[0].evaluate(t))):"resolvedImage"===this.type.kind?Ve.fromString(Ue(this.args[0].evaluate(t))):Ue(this.args[0].evaluate(t))}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}serialize(){if("formatted"===this.type.kind)return new Ze([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if("resolvedImage"===this.type.kind)return new Ke(this.args[0]).serialize();const t=[`to-${this.type.kind}`];return this.eachChild((e=>{t.push(e.serialize());})),t}}var He=Je;const Ye=["Unknown","Point","LineString","Polygon"];var We=class{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null,this.featureTileCoord=null,this.featureDistanceData=null;}id(){return this.feature&&void 0!==this.feature.id?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?Ye[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}distanceFromCenter(){if(this.featureTileCoord&&this.featureDistanceData){const t=this.featureDistanceData.center,e=this.featureDistanceData.scale,{x:r,y:n}=this.featureTileCoord;return this.featureDistanceData.bearing[0]*(r*e-t[0])+this.featureDistanceData.bearing[1]*(n*e-t[1])}return 0}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Ee.parse(t)),e}};class Qe{constructor(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n;}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t);}outputDefined(){return !1}serialize(){return [this.name].concat(this.args.map((t=>t.serialize())))}static parse(t,e){const r=t[0],n=Qe.definitions[r];if(!n)return e.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0);const i=Array.isArray(n)?n[0]:n.type,s=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,a=s.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let o=null;for(const[n,s]of a){o=new Ir(e.registry,e.path,null,e.scope);const a=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(ve).join(", ")})`:`(${ve(e.type)}...)`;var e;})).join(" | "),n=[];for(let r=1;r=e[2]||t[1]<=e[1]||t[3]>=e[3])}function sr(t,e){const r=(180+t[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,i=Math.pow(2,e.z);return [Math.round(r*i*rr),Math.round(n*i*rr)]}function ar(t,e,r){const n=t[0]-e[0],i=t[1]-e[1],s=t[0]-r[0],a=t[1]-r[1];return n*a-s*i==0&&n*s<=0&&i*a<=0}function or(t,e){let r=!1;for(let a=0,o=e.length;a(n=t)[1]!=(s=o[e+1])[1]>n[1]&&n[0]<(s[0]-i[0])*(n[1]-i[1])/(s[1]-i[1])+i[0]&&(r=!r);}}var n,i,s;return r}function lr(t,e){for(let r=0;r0&&o<0||a<0&&o>0}function cr(t,e,r){for(const u of r)for(let r=0;rr[2]){const e=.5*n;let i=t[0]-r[0]>e?-n:r[0]-t[0]>e?n:0;0===i&&(i=t[0]-r[2]>e?-n:r[2]-t[0]>e?n:0),t[0]+=i;}nr(e,t);}function mr(t,e,r,n){const i=Math.pow(2,n.z)*rr,s=[n.x*rr,n.y*rr],a=[];if(!t)return a;for(const n of t)for(const t of n){const n=[t.x+s[0],t.y+s[1]];yr(n,e,r,i),a.push(n);}return a}function gr(t,e,r,n){const i=Math.pow(2,n.z)*rr,s=[n.x*rr,n.y*rr],a=[];if(!t)return a;for(const r of t){const t=[];for(const n of r){const r=[n.x+s[0],n.y+s[1]];nr(e,r),t.push(r);}a.push(t);}if(e[2]-e[0]<=i/2){(o=e)[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(const t of a)for(const n of t)yr(n,e,r,i);}var o;return a}class xr{constructor(t,e){this.type=he,this.geojson=t,this.geometries=e;}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Fe(t[1])){const e=t[1];if("FeatureCollection"===e.type)for(let t=0;t{e&&!br(t)&&(e=!1);})),e}function wr(t){if(t instanceof tr&&"feature-state"===t.name)return !1;let e=!0;return t.eachChild((t=>{e&&!wr(t)&&(e=!1);})),e}function _r(t,e){if(t instanceof tr&&e.indexOf(t.name)>=0)return !1;let r=!0;return t.eachChild((t=>{r&&!_r(t,e)&&(r=!1);})),r}class Ar{constructor(t,e){this.type=e.type,this.name=t,this.boundExpression=e;}static parse(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");const r=t[1];return e.scope.has(r)?new Ar(r,e.scope.get(r)):e.error(`Unknown variable "${r}". Make sure "${r}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(t){return this.boundExpression.evaluate(t)}eachChild(){}outputDefined(){return !1}serialize(){return ["var",this.name]}}var Sr=Ar;class kr{constructor(t,e=[],r,n=new oe,i=[]){this.registry=t,this.path=e,this.key=e.map((t=>`[${t}]`)).join(""),this.scope=n,this.errors=i,this.expectedType=r;}parse(t,e,r,n,i={}){return e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)}_parse(t,e){function r(t,e,r){return "assert"===r?new Ge(e,[t]):"coerce"===r?new He(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const n=t[0];if("string"!=typeof n)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const i=this.registry[n];if(i){let n=i.parse(t,this);if(!n)return null;if(this.expectedType){const t=this.expectedType,i=n.type;if("string"!==t.kind&&"number"!==t.kind&&"boolean"!==t.kind&&"object"!==t.kind&&"array"!==t.kind||"value"!==i.kind)if("color"!==t.kind&&"formatted"!==t.kind&&"resolvedImage"!==t.kind||"value"!==i.kind&&"string"!==i.kind){if(this.checkSubtype(t,i))return null}else n=r(n,t,e.typeAnnotation||"coerce");else n=r(n,t,e.typeAnnotation||"assert");}if(!(n instanceof je)&&"resolvedImage"!==n.type.kind&&Mr(n)){const t=new We;try{n=new je(n.type,n.evaluate(t));}catch(t){return this.error(t.message),null}}return n}return this.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(void 0===t?"'undefined' value invalid. Use null instead.":"object"==typeof t?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof t} instead.`)}concat(t,e,r){const n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new kr(this.registry,n,e||null,i,this.errors)}error(t,...e){const r=`${this.key}${e.map((t=>`[${t}]`)).join("")}`;this.errors.push(new se(r,t));}checkSubtype(t,e){const r=we(t,e);return r&&this.error(r),r}}var Ir=kr;function Mr(t){if(t instanceof Sr)return Mr(t.boundExpression);if(t instanceof tr&&"error"===t.name)return !1;if(t instanceof er)return !1;if(t instanceof vr)return !1;const e=t instanceof He||t instanceof Ge;let r=!0;return t.eachChild((t=>{r=e?r&&Mr(t):r&&t instanceof je;})),!!r&&br(t)&&_r(t,["zoom","heatmap-density","line-progress","sky-radial-progress","accumulated","is-supported-script","pitch","distance-from-center"])}function Tr(t,e){const r=t.length-1;let n,i,s=0,a=r,o=0;for(;s<=a;)if(o=Math.floor((s+a)/2),n=t[o],i=t[o+1],n<=e){if(o===r||ee))throw new Oe("Input is not a number.");a=o-1;}return 0}class zr{constructor(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[t,e]of r)this.labels.push(t),this.outputs.push(e);}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");const r=e.parse(t[1],1,ue);if(!r)return null;const n=[];let i=null;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);for(let r=1;r=s)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',o);const u=e.parse(a,l,i);if(!u)return null;i=i||u.type,n.push([s,u]);}return new zr(i,r,n)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Tr(e,n)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}serialize(){const t=["step",this.input.serialize()];for(let e=0;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t}}var Br=zr;function Er(t,e,r){return t*(1-r)+e*r}var Cr=Object.freeze({__proto__:null,array:function(t,e,r){return t.map(((t,n)=>Er(t,e[n],r)))},color:function(t,e,r){return new Ee(Er(t.r,e.r,r),Er(t.g,e.g,r),Er(t.b,e.b,r),Er(t.a,e.a,r))},number:Er});const Pr=.95047,Dr=1.08883,Vr=4/29,Lr=6/29,Fr=3*Lr*Lr,Rr=Lr*Lr*Lr,Ur=Math.PI/180,$r=180/Math.PI;function jr(t){return t>Rr?Math.pow(t,1/3):t/Fr+Vr}function Or(t){return t>Lr?t*t*t:Fr*(t-Vr)}function qr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Nr(t){return (t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Gr(t){const e=Nr(t.r),r=Nr(t.g),n=Nr(t.b),i=jr((.4124564*e+.3575761*r+.1804375*n)/Pr),s=jr((.2126729*e+.7151522*r+.072175*n)/1);return {l:116*s-16,a:500*(i-s),b:200*(s-jr((.0193339*e+.119192*r+.9503041*n)/Dr)),alpha:t.a}}function Zr(t){let e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*Or(e),r=Pr*Or(r),n=Dr*Or(n),new Ee(qr(3.2404542*r-1.5371385*e-.4985314*n),qr(-.969266*r+1.8760108*e+.041556*n),qr(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function Kr(t,e,r){const n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}const Xr={forward:Gr,reverse:Zr,interpolate:function(t,e,r){return {l:Er(t.l,e.l,r),a:Er(t.a,e.a,r),b:Er(t.b,e.b,r),alpha:Er(t.alpha,e.alpha,r)}}},Jr={forward:function(t){const{l:e,a:r,b:n}=Gr(t),i=Math.atan2(n,r)*$r;return {h:i<0?i+360:i,c:Math.sqrt(r*r+n*n),l:e,alpha:t.a}},reverse:function(t){const e=t.h*Ur,r=t.c;return Zr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return {h:Kr(t.h,e.h,r),c:Er(t.c,e.c,r),l:Er(t.l,e.l,r),alpha:Er(t.alpha,e.alpha,r)}}};var Hr=Object.freeze({__proto__:null,hcl:Jr,lab:Xr});class Yr{constructor(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(const[t,e]of i)this.labels.push(t),this.outputs.push(e);}static interpolationFactor(t,e,r,n){let i=0;if("exponential"===t.name)i=Wr(e,t.base,r,n);else if("linear"===t.name)i=Wr(e,1,r,n);else if("cubic-bezier"===t.name){const s=t.controlPoints;i=new y(s[0],s[1],s[2],s[3]).solve(Wr(e,1,r,n));}return i}static parse(t,e){let[r,n,i,...s]=t;if(!Array.isArray(n)||0===n.length)return e.error("Expected an interpolation type expression.",1);if("linear"===n[0])n={name:"linear"};else if("exponential"===n[0]){const t=n[1];if("number"!=typeof t)return e.error("Exponential interpolation requires a numeric base.",1,1);n={name:"exponential",base:t};}else {if("cubic-bezier"!==n[0])return e.error(`Unknown interpolation type ${String(n[0])}`,1,0);{const t=n.slice(1);if(4!==t.length||t.some((t=>"number"!=typeof t||t<0||t>1)))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:t};}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(i=e.parse(i,2,ue),!i)return null;const a=[];let o=null;"interpolate-hcl"===r||"interpolate-lab"===r?o=pe:e.expectedType&&"value"!==e.expectedType.kind&&(o=e.expectedType);for(let t=0;t=r)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',i);const u=e.parse(n,l,o);if(!u)return null;o=o||u.type,a.push([r,u]);}return "number"===o.kind||"color"===o.kind||"array"===o.kind&&"number"===o.itemType.kind&&"number"==typeof o.N?new Yr(o,r,n,i,a):e.error(`Type ${ve(o)} is not interpolatable.`)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);const s=Tr(e,n),a=Yr.interpolationFactor(this.interpolation,n,e[s],e[s+1]),o=r[s].evaluate(t),l=r[s+1].evaluate(t);return "interpolate"===this.operator?Cr[this.type.kind.toLowerCase()](o,l,a):"interpolate-hcl"===this.operator?Jr.reverse(Jr.interpolate(Jr.forward(o),Jr.forward(l),a)):Xr.reverse(Xr.interpolate(Xr.forward(o),Xr.forward(l),a))}eachChild(t){t(this.input);for(const e of this.outputs)t(e);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}serialize(){let t;t="linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints);const e=[this.operator,t,this.input.serialize()];for(let t=0;twe(n,t.type)));return new tn(s?fe:r,i)}evaluate(t){let e,r=null,n=0;for(const i of this.args){if(n++,r=i.evaluate(t),r&&r instanceof Ve&&!r.available&&(e||(e=r),r=null,n===this.args.length))return e;if(null!==r)break}return r}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}serialize(){const t=["coalesce"];return this.eachChild((e=>{t.push(e.serialize());})),t}}var en=tn;class rn{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e;}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result);}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const r=[];for(let n=1;n=r.length)throw new Oe(`Array index out of bounds: ${e} > ${r.length-1}.`);if(e!==Math.floor(e))throw new Oe(`Array index must be an integer, but found ${e} instead.`);return r[e]}eachChild(t){t(this.index),t(this.input);}outputDefined(){return !1}serialize(){return ["at",this.index.serialize(),this.input.serialize()]}}var an=sn;class on{constructor(t,e){this.type=he,this.needle=t,this.haystack=e;}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,fe),n=e.parse(t[2],2,fe);return r&&n?_e(r.type,[he,ce,ue,le,fe])?new on(r,n):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${ve(r.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(null==r)return !1;if(!Ae(e,["boolean","string","number","null"]))throw new Oe(`Expected first argument to be of type boolean, string, number or null, but found ${ve(Re(e))} instead.`);if(!Ae(r,["string","array"]))throw new Oe(`Expected second argument to be of type array or string, but found ${ve(Re(r))} instead.`);return r.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack);}outputDefined(){return !0}serialize(){return ["in",this.needle.serialize(),this.haystack.serialize()]}}var ln=on;class un{constructor(t,e,r){this.type=ue,this.needle=t,this.haystack=e,this.fromIndex=r;}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,fe),n=e.parse(t[2],2,fe);if(!r||!n)return null;if(!_e(r.type,[he,ce,ue,le,fe]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${ve(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ue);return i?new un(r,n,i):null}return new un(r,n)}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!Ae(e,["boolean","string","number","null"]))throw new Oe(`Expected first argument to be of type boolean, string, number or null, but found ${ve(Re(e))} instead.`);if(!Ae(r,["string","array"]))throw new Oe(`Expected second argument to be of type array or string, but found ${ve(Re(r))} instead.`);if(this.fromIndex){const n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex);}outputDefined(){return !1}serialize(){if(null!=this.fromIndex&&void 0!==this.fromIndex){const t=this.fromIndex.serialize();return ["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return ["index-of",this.needle.serialize(),this.haystack.serialize()]}}var cn=un;class hn{constructor(t,e,r,n,i,s){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=s;}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error("Expected an even number of arguments.");let r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);const i={},s=[];for(let a=2;aNumber.MAX_SAFE_INTEGER)return u.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof t&&Math.floor(t)!==t)return u.error("Numeric branch labels must be integer values.");if(r){if(u.checkSubtype(r,Re(t)))return null}else r=Re(t);if(void 0!==i[String(t)])return u.error("Branch labels must be unique.");i[String(t)]=s.length;}const c=e.parse(l,a,n);if(!c)return null;n=n||c.type,s.push(c);}const a=e.parse(t[1],1,fe);if(!a)return null;const o=e.parse(t[t.length-1],t.length-1,n);return o?"value"!==a.type.kind&&e.concat(1).checkSubtype(r,a.type)?null:new hn(r,n,a,i,s,o):null}evaluate(t){const e=this.input.evaluate(t);return (Re(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))&&this.otherwise.outputDefined()}serialize(){const t=["match",this.input.serialize()],e=Object.keys(this.cases).sort(),r=[],n={};for(const t of e){const e=n[this.cases[t]];void 0===e?(n[this.cases[t]]=r.length,r.push([this.cases[t],[t]])):r[e][1].push(t);}const i=t=>"number"===this.inputType.kind?Number(t):t;for(const[e,n]of r)t.push(1===n.length?i(n[0]):n.map(i)),t.push(this.outputs[e].serialize());return t.push(this.otherwise.serialize()),t}}var pn=hn;class dn{constructor(t,e,r){this.type=t,this.branches=e,this.otherwise=r;}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error("Expected an odd number of arguments.");let r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);const n=[];for(let i=1;ie.outputDefined()))&&this.otherwise.outputDefined()}serialize(){const t=["case"];return this.eachChild((e=>{t.push(e.serialize());})),t}}var fn=dn;class yn{constructor(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n;}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,fe),n=e.parse(t[2],2,ue);if(!r||!n)return null;if(!_e(r.type,[xe(fe),ce,fe]))return e.error(`Expected first argument to be of type array or string, but found ${ve(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ue);return i?new yn(r.type,r,n,i):null}return new yn(r.type,r,n)}evaluate(t){const e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!Ae(e,["string","array"]))throw new Oe(`Expected first argument to be of type array or string, but found ${ve(Re(e))} instead.`);if(this.endIndex){const n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex);}outputDefined(){return !1}serialize(){if(null!=this.endIndex&&void 0!==this.endIndex){const t=this.endIndex.serialize();return ["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return ["slice",this.input.serialize(),this.beginIndex.serialize()]}}var mn=yn;function gn(t,e){return "=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function xn(t,e,r,n){return 0===n.compare(e,r)}function vn(t,e,r){const n="=="!==t&&"!="!==t;return class i{constructor(t,e,r){this.type=he,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind;}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");const r=t[0];let s=e.parse(t[1],1,fe);if(!s)return null;if(!gn(r,s.type))return e.concat(1).error(`"${r}" comparisons are not supported for type '${ve(s.type)}'.`);let a=e.parse(t[2],2,fe);if(!a)return null;if(!gn(r,a.type))return e.concat(2).error(`"${r}" comparisons are not supported for type '${ve(a.type)}'.`);if(s.type.kind!==a.type.kind&&"value"!==s.type.kind&&"value"!==a.type.kind)return e.error(`Cannot compare types '${ve(s.type)}' and '${ve(a.type)}'.`);n&&("value"===s.type.kind&&"value"!==a.type.kind?s=new Ge(a.type,[s]):"value"!==s.type.kind&&"value"===a.type.kind&&(a=new Ge(s.type,[a])));let o=null;if(4===t.length){if("string"!==s.type.kind&&"string"!==a.type.kind&&"value"!==s.type.kind&&"value"!==a.type.kind)return e.error("Cannot use collator to compare non-string types.");if(o=e.parse(t[3],3,ye),!o)return null}return new i(s,a,o)}evaluate(i){const s=this.lhs.evaluate(i),a=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){const e=Re(s),r=Re(a);if(e.kind!==r.kind||"string"!==e.kind&&"number"!==e.kind)throw new Oe(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${r.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){const t=Re(s),r=Re(a);if("string"!==t.kind||"string"!==r.kind)return e(i,s,a)}return this.collator?r(i,s,a,this.collator.evaluate(i)):e(i,s,a)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator);}outputDefined(){return !0}serialize(){const e=[t];return this.eachChild((t=>{e.push(t.serialize());})),e}}}const bn=vn("==",(function(t,e,r){return e===r}),xn),wn=vn("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return !xn(0,e,r,n)})),_n=vn("<",(function(t,e,r){return e",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Sn=vn("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),kn=vn(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0}));class In{constructor(t,e,r,n,i,s){this.type=ce,this.number=t,this.locale=e,this.currency=r,this.unit=n,this.minFractionDigits=i,this.maxFractionDigits=s;}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const r=e.parse(t[1],1,ue);if(!r)return null;const n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");let i=null;if(n.locale&&(i=e.parse(n.locale,1,ce),!i))return null;let s=null;if(n.currency&&(s=e.parse(n.currency,1,ce),!s))return null;let a=null;if(n.unit&&(a=e.parse(n.unit,1,ce),!a))return null;let o=null;if(n["min-fraction-digits"]&&(o=e.parse(n["min-fraction-digits"],1,ue),!o))return null;let l=null;return n["max-fraction-digits"]&&(l=e.parse(n["max-fraction-digits"],1,ue),!l)?null:new In(r,i,s,a,o,l)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:(this.currency?"currency":this.unit&&"unit")||"decimal",currency:this.currency?this.currency.evaluate(t):void 0,unit:this.unit?this.unit.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.unit&&t(this.unit),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits);}outputDefined(){return !1}serialize(){const t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.unit&&(t.unit=this.unit.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]}}class Mn{constructor(t){this.type=ue,this.input=t;}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error(`Expected argument of type string or array, but found ${ve(r.type)} instead.`):new Mn(r):null}evaluate(t){const e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new Oe(`Expected value to be of type string or array, but found ${ve(Re(e))} instead.`)}eachChild(t){t(this.input);}outputDefined(){return !1}serialize(){const t=["length"];return this.eachChild((e=>{t.push(e.serialize());})),t}}const Tn={"==":bn,"!=":wn,">":An,"<":_n,">=":kn,"<=":Sn,array:Ge,at:an,boolean:Ge,case:fn,coalesce:en,collator:er,format:Ze,image:Ke,in:ln,"index-of":cn,interpolate:Qr,"interpolate-hcl":Qr,"interpolate-lab":Qr,length:Mn,let:nn,literal:je,match:pn,number:Ge,"number-format":In,object:Ge,slice:mn,step:Br,string:Ge,"to-boolean":He,"to-color":He,"to-number":He,"to-string":He,var:Sr,within:vr};function zn(t,[e,r,n,i]){e=e.evaluate(t),r=r.evaluate(t),n=n.evaluate(t);const s=i?i.evaluate(t):1,a=Le(e,r,n,s);if(a)throw new Oe(a);return new Ee(e/255*s,r/255*s,n/255*s,s)}function Bn(t,e){return t in e}function En(t,e){const r=e[t];return void 0===r?null:r}function Cn(t){return {type:t}}tr.register(Tn,{error:[{kind:"error"},[ce],(t,[e])=>{throw new Oe(e.evaluate(t))}],typeof:[ce,[fe],(t,[e])=>ve(Re(e.evaluate(t)))],"to-rgba":[xe(ue,4),[pe],(t,[e])=>e.evaluate(t).toArray()],rgb:[pe,[ue,ue,ue],zn],rgba:[pe,[ue,ue,ue,ue],zn],has:{type:he,overloads:[[[ce],(t,[e])=>Bn(e.evaluate(t),t.properties())],[[ce,de],(t,[e,r])=>Bn(e.evaluate(t),r.evaluate(t))]]},get:{type:fe,overloads:[[[ce],(t,[e])=>En(e.evaluate(t),t.properties())],[[ce,de],(t,[e,r])=>En(e.evaluate(t),r.evaluate(t))]]},"feature-state":[fe,[ce],(t,[e])=>En(e.evaluate(t),t.featureState||{})],properties:[de,[],t=>t.properties()],"geometry-type":[ce,[],t=>t.geometryType()],id:[fe,[],t=>t.id()],zoom:[ue,[],t=>t.globals.zoom],pitch:[ue,[],t=>t.globals.pitch||0],"distance-from-center":[ue,[],t=>t.distanceFromCenter()],"heatmap-density":[ue,[],t=>t.globals.heatmapDensity||0],"line-progress":[ue,[],t=>t.globals.lineProgress||0],"sky-radial-progress":[ue,[],t=>t.globals.skyRadialProgress||0],accumulated:[fe,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[ue,Cn(ue),(t,e)=>{let r=0;for(const n of e)r+=n.evaluate(t);return r}],"*":[ue,Cn(ue),(t,e)=>{let r=1;for(const n of e)r*=n.evaluate(t);return r}],"-":{type:ue,overloads:[[[ue,ue],(t,[e,r])=>e.evaluate(t)-r.evaluate(t)],[[ue],(t,[e])=>-e.evaluate(t)]]},"/":[ue,[ue,ue],(t,[e,r])=>e.evaluate(t)/r.evaluate(t)],"%":[ue,[ue,ue],(t,[e,r])=>e.evaluate(t)%r.evaluate(t)],ln2:[ue,[],()=>Math.LN2],pi:[ue,[],()=>Math.PI],e:[ue,[],()=>Math.E],"^":[ue,[ue,ue],(t,[e,r])=>Math.pow(e.evaluate(t),r.evaluate(t))],sqrt:[ue,[ue],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[ue,[ue],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[ue,[ue],(t,[e])=>Math.log(e.evaluate(t))],log2:[ue,[ue],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[ue,[ue],(t,[e])=>Math.sin(e.evaluate(t))],cos:[ue,[ue],(t,[e])=>Math.cos(e.evaluate(t))],tan:[ue,[ue],(t,[e])=>Math.tan(e.evaluate(t))],asin:[ue,[ue],(t,[e])=>Math.asin(e.evaluate(t))],acos:[ue,[ue],(t,[e])=>Math.acos(e.evaluate(t))],atan:[ue,[ue],(t,[e])=>Math.atan(e.evaluate(t))],min:[ue,Cn(ue),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[ue,Cn(ue),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[ue,[ue],(t,[e])=>Math.abs(e.evaluate(t))],round:[ue,[ue],(t,[e])=>{const r=e.evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[ue,[ue],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[ue,[ue],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[he,[ce,fe],(t,[e,r])=>t.properties()[e.value]===r.value],"filter-id-==":[he,[fe],(t,[e])=>t.id()===e.value],"filter-type-==":[he,[ce],(t,[e])=>t.geometryType()===e.value],"filter-<":[he,[ce,fe],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n{const r=t.id(),n=e.value;return typeof r==typeof n&&r":[he,[ce,fe],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>i}],"filter-id->":[he,[fe],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>n}],"filter-<=":[he,[ce,fe],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n<=i}],"filter-id-<=":[he,[fe],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r<=n}],"filter->=":[he,[ce,fe],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>=i}],"filter-id->=":[he,[fe],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>=n}],"filter-has":[he,[fe],(t,[e])=>e.value in t.properties()],"filter-has-id":[he,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[he,[xe(ce)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[he,[xe(fe)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[he,[ce,xe(fe)],(t,[e,r])=>r.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[he,[ce,xe(fe)],(t,[e,r])=>function(t,e,r,n){for(;r<=n;){const i=r+n>>1;if(e[i]===t)return !0;e[i]>t?n=i-1:r=i+1;}return !1}(t.properties()[e.value],r.value,0,r.value.length-1)],all:{type:he,overloads:[[[he,he],(t,[e,r])=>e.evaluate(t)&&r.evaluate(t)],[Cn(he),(t,e)=>{for(const r of e)if(!r.evaluate(t))return !1;return !0}]]},any:{type:he,overloads:[[[he,he],(t,[e,r])=>e.evaluate(t)||r.evaluate(t)],[Cn(he),(t,e)=>{for(const r of e)if(r.evaluate(t))return !0;return !1}]]},"!":[he,[he],(t,[e])=>!e.evaluate(t)],"is-supported-script":[he,[ce],(t,[e])=>{const r=t.globals&&t.globals.isSupportedScript;return !r||r(e.evaluate(t))}],upcase:[ce,[ce],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[ce,[ce],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[ce,Cn(fe),(t,e)=>e.map((e=>Ue(e.evaluate(t)))).join("")],"resolved-locale":[ce,[ye],(t,[e])=>e.evaluate(t).resolvedLocale()]});var Pn=Tn;function Dn(t){return {result:"success",value:t}}function Vn(t){return {result:"error",value:t}}function Ln(t){return "data-driven"===t["property-type"]}function Fn(t){return !!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function Rn(t){return !!t.expression&&t.expression.interpolated}function Un(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function $n(t){return "object"==typeof t&&null!==t&&!Array.isArray(t)}function jn(t){return t}function On(t,e){const r="color"===e.type,n=t.stops&&"object"==typeof t.stops[0][0],i=n||!(n||void 0!==t.property),s=t.type||(Rn(e)?"exponential":"interval");if(r&&((t=ee({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],Ee.parse(t[1])]))),t.default=Ee.parse(t.default?t.default:e.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!Hr[t.colorSpace])throw new Error(`Unknown color space: ${t.colorSpace}`);let a,o,l;if("exponential"===s)a=Zn;else if("interval"===s)a=Gn;else if("categorical"===s){a=Nn,o=Object.create(null);for(const e of t.stops)o[e[0]]=e[1];l=typeof t.stops[0][0];}else {if("identity"!==s)throw new Error(`Unknown function type "${s}"`);a=Kn;}if(n){const r={},n=[];for(let e=0;et[0])),evaluate:({zoom:r},n)=>Zn({stops:i,base:t.base},e,r).evaluate(r,n)}}if(i){const r="exponential"===s?{name:"exponential",base:void 0!==t.base?t.base:1}:null;return {kind:"camera",interpolationType:r,interpolationFactor:Qr.interpolationFactor.bind(void 0,r),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:r})=>a(t,e,r,o,l)}}return {kind:"source",evaluate(r,n){const i=n&&n.properties?n.properties[t.property]:void 0;return void 0===i?qn(t.default,e.default):a(t,e,i,o,l)}}}function qn(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function Nn(t,e,r,n,i){return qn(typeof r===i?n[r]:void 0,t.default,e.default)}function Gn(t,e,r){if("number"!==Un(r))return qn(t.default,e.default);const n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];const i=Tr(t.stops.map((t=>t[0])),r);return t.stops[i][1]}function Zn(t,e,r){const n=void 0!==t.base?t.base:1;if("number"!==Un(r))return qn(t.default,e.default);const i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];const s=Tr(t.stops.map((t=>t[0])),r),a=function(t,e,r,n){const i=n-r,s=t-r;return 0===i?0:1===e?s/i:(Math.pow(e,s)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[s][0],t.stops[s+1][0]),o=t.stops[s][1],l=t.stops[s+1][1];let u=Cr[e.type]||jn;if(t.colorSpace&&"rgb"!==t.colorSpace){const e=Hr[t.colorSpace];u=(t,r)=>e.reverse(e.interpolate(e.forward(t),e.forward(r),a));}return "function"==typeof o.evaluate?{evaluate(...t){const e=o.evaluate.apply(void 0,t),r=l.evaluate.apply(void 0,t);if(void 0!==e&&void 0!==r)return u(e,r,a)}}:u(o,l,a)}function Kn(t,e,r){return "color"===e.type?r=Ee.parse(r):"formatted"===e.type?r=De.fromString(r.toString()):"resolvedImage"===e.type?r=Ve.fromString(r.toString()):Un(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),qn(r,t.default,e.default)}class Xn{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new We,this._defaultValue=e?function(t){return "color"===t.type&&($n(t.default)||Array.isArray(t.default))?new Ee(0,0,0,0):"color"===t.type?Ee.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null;}evaluateWithoutErrorHandling(t,e,r,n,i,s,a,o){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n||null,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=s,this._evaluator.featureTileCoord=a||null,this._evaluator.featureDistanceData=o||null,this.expression.evaluate(this._evaluator)}evaluate(t,e,r,n,i,s,a,o){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n||null,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=s||null,this._evaluator.featureTileCoord=a||null,this._evaluator.featureDistanceData=o||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||"number"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new Oe(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(", ")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function Jn(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in Pn}function Hn(t,e){const r=new Ir(Pn,[],e?function(t){const e={color:pe,string:ce,number:ue,enum:ce,boolean:he,formatted:me,resolvedImage:ge};return "array"===t.type?xe(e[t.value]||fe,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Dn(new Xn(n,e)):Vn(r.errors)}class Yn{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!wr(e.expression);}evaluateWithoutErrorHandling(t,e,r,n,i,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,s)}evaluate(t,e,r,n,i,s){return this._styleExpression.evaluate(t,e,r,n,i,s)}}class Wn{constructor(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!wr(e.expression),this.interpolationType=n;}evaluateWithoutErrorHandling(t,e,r,n,i,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,s)}evaluate(t,e,r,n,i,s){return this._styleExpression.evaluate(t,e,r,n,i,s)}interpolationFactor(t,e,r){return this.interpolationType?Qr.interpolationFactor(this.interpolationType,t,e,r):0}}function Qn(t,e){if("error"===(t=Hn(t,e)).result)return t;const r=t.value.expression,n=br(r);if(!n&&!Ln(e))return Vn([new se("","data expressions not supported")]);const i=_r(r,["zoom","pitch","distance-from-center"]);if(!i&&!Fn(e))return Vn([new se("","zoom expressions not supported")]);const s=ei(r);return s||i?s instanceof se?Vn([s]):s instanceof Qr&&!Rn(e)?Vn([new se("",'"interpolate" expressions cannot be used with this property')]):Dn(s?new Wn(n?"camera":"composite",t.value,s.labels,s instanceof Qr?s.interpolation:void 0):new Yn(n?"constant":"source",t.value)):Vn([new se("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class ti{constructor(t,e){this._parameters=t,this._specification=e,ee(this,On(this._parameters,this._specification));}static deserialize(t){return new ti(t._parameters,t._specification)}static serialize(t){return {_parameters:t._parameters,_specification:t._specification}}}function ei(t){let e=null;if(t instanceof nn)e=ei(t.result);else if(t instanceof en){for(const r of t.args)if(e=ei(r),e)break}else (t instanceof Br||t instanceof Qr)&&t.input instanceof tr&&"zoom"===t.input.name&&(e=t);return e instanceof se||t.eachChild((t=>{const r=ei(t);r instanceof se?e=r:!e&&r?e=new se("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&r&&e!==r&&(e=new se("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'));})),e}class ri{constructor(t,e,r,n){this.message=(t?`${t}: `:"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__);}}function ni(t){const e=t.key,r=t.value,n=t.valueSpec||{},i=t.objectElementValidators||{},s=t.style,a=t.styleSpec;let o=[];const l=Un(r);if("object"!==l)return [new ri(e,r,`object expected, ${l} found`)];for(const t in r){const l=t.split(".")[0];let u;i[l]?u=i[l]:n[l]?u=Fi:i["*"]?u=i["*"]:n["*"]&&(u=Fi),u?o=o.concat(u({key:(e?`${e}.`:e)+t,value:r[t],valueSpec:n[l]||n["*"],style:s,styleSpec:a,object:r,objectKey:t},r)):o.push(new ri(e,r[t],`unknown property "${t}"`));}for(const t in n)i[t]||n[t].required&&void 0===n[t].default&&void 0===r[t]&&o.push(new ri(e,r,`missing required property "${t}"`));return o}function ii(t){const e=t.value,r=t.valueSpec,n=t.style,i=t.styleSpec,s=t.key,a=t.arrayElementValidator||Fi;if("array"!==Un(e))return [new ri(s,e,`array expected, ${Un(e)} found`)];if(r.length&&e.length!==r.length)return [new ri(s,e,`array length ${r.length} expected, length ${e.length} found`)];if(r["min-length"]&&e.lengthi)return [new ri(e,r,`${r} is greater than the maximum value ${i}`)]}return []}function ai(t){const e=t.valueSpec,r=re(t.value.type);let n,i,s,a={};const o="categorical"!==r&&void 0===t.value.property,l=!o,u="array"===Un(t.value.stops)&&"array"===Un(t.value.stops[0])&&"object"===Un(t.value.stops[0][0]),c=ni({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===r)return [new ri(t.key,t.value,'identity function may not have a "stops" property')];let e=[];const n=t.value;return e=e.concat(ii({key:t.key,value:n,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),"array"===Un(n)&&0===n.length&&e.push(new ri(t.key,n,"array must have at least one stop")),e},default:function(t){return Fi({key:t.key,value:t.value,valueSpec:e,style:t.style,styleSpec:t.styleSpec})}}});return "identity"===r&&o&&c.push(new ri(t.key,t.value,'missing required property "property"')),"identity"===r||t.value.stops||c.push(new ri(t.key,t.value,'missing required property "stops"')),"exponential"===r&&t.valueSpec.expression&&!Rn(t.valueSpec)&&c.push(new ri(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!Ln(t.valueSpec)?c.push(new ri(t.key,t.value,"property functions not supported")):o&&!Fn(t.valueSpec)&&c.push(new ri(t.key,t.value,"zoom functions not supported"))),"categorical"!==r&&!u||void 0!==t.value.property||c.push(new ri(t.key,t.value,'"property" property is required')),c;function h(t){let r=[];const n=t.value,o=t.key;if("array"!==Un(n))return [new ri(o,n,`array expected, ${Un(n)} found`)];if(2!==n.length)return [new ri(o,n,`array length 2 expected, length ${n.length} found`)];if(u){if("object"!==Un(n[0]))return [new ri(o,n,`object expected, ${Un(n[0])} found`)];if(void 0===n[0].zoom)return [new ri(o,n,"object stop key must have zoom")];if(void 0===n[0].value)return [new ri(o,n,"object stop key must have value")];const e=re(n[0].zoom);if("number"!=typeof e)return [new ri(o,n[0].zoom,"stop zoom values must be numbers")];if(s&&s>e)return [new ri(o,n[0].zoom,"stop zoom values must appear in ascending order")];e!==s&&(s=e,i=void 0,a={}),r=r.concat(ni({key:`${o}[0]`,value:n[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:si,value:p}}));}else r=r.concat(p({key:`${o}[0]`,value:n[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},n));return Jn(ne(n[1]))?r.concat([new ri(`${o}[1]`,n[1],"expressions are not allowed in function stops.")]):r.concat(Fi({key:`${o}[1]`,value:n[1],valueSpec:e,style:t.style,styleSpec:t.styleSpec}))}function p(t,s){const o=Un(t.value),l=re(t.value),u=null!==t.value?t.value:s;if(n){if(o!==n)return [new ri(t.key,u,`${o} stop domain type must match previous stop domain type ${n}`)]}else n=o;if("number"!==o&&"string"!==o&&"boolean"!==o&&"number"!=typeof l&&"string"!=typeof l&&"boolean"!=typeof l)return [new ri(t.key,u,"stop domain value must be a number, string, or boolean")];if("number"!==o&&"categorical"!==r){let n=`number expected, ${o} found`;return Ln(e)&&void 0===r&&(n+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new ri(t.key,u,n)]}return "categorical"!==r||"number"!==o||"number"==typeof l&&isFinite(l)&&Math.floor(l)===l?"categorical"!==r&&"number"===o&&"number"==typeof l&&"number"==typeof i&&void 0!==i&&lnew ri(`${t.key}${e.key}`,t.value,e.message)));const r=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&!r.outputDefined())return [new ri(t.key,t.value,`Invalid data expression for "${t.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===t.expressionContext&&"layout"===t.propertyType&&!wr(r))return [new ri(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext)return li(r,t);if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!_r(r,["zoom","feature-state"]))return [new ri(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!br(r))return [new ri(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return []}function li(t,e){const r=new Set(["zoom","feature-state","pitch","distance-from-center"]);if(e.valueSpec&&e.valueSpec.expression)for(const t of e.valueSpec.expression.parameters)r.delete(t);if(0===r.size)return [];const n=[];return t instanceof tr&&r.has(t.name)?[new ri(e.key,e.value,`["${t.name}"] expression is not supported in a filter for a ${e.object.type} layer with id: ${e.object.id}`)]:(t.eachChild((t=>{n.push(...li(t,e));})),n)}function ui(t){const e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(re(r))&&i.push(new ri(e,r,`expected one of [${n.values.join(", ")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(re(r))&&i.push(new ri(e,r,`expected one of [${Object.keys(n.values).join(", ")}], ${JSON.stringify(r)} found`)),i}function ci(t){if(!0===t||!1===t)return !0;if(!Array.isArray(t)||0===t.length)return !1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return !1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const e of t.slice(1))if(!ci(e)&&"boolean"!=typeof e)return !1;return !0;default:return !0}}function hi(t,e="fill"){if(null==t)return {filter:()=>!0,needGeometry:!1,needFeature:!1};ci(t)||(t=xi(t));const r=t;let n=!0;try{n=function(t){if(!fi(t))return t;let e=ne(t);return di(e),e=pi(e),e}(r);}catch(t){console.warn(`Failed to extract static filter. Filter will continue working, but at higher memory usage and slower framerate.\nThis is most likely a bug, please report this via https://github.com/mapbox/mapbox-gl-js/issues/new?assignees=&labels=&template=Bug_report.md\nand paste the contents of this message in the report.\nThank you!\nFilter Expression:\n${JSON.stringify(r,null,2)}\n `);}const i=te[`filter_${e}`],s=Hn(n,i);let a=null;if("error"===s.result)throw new Error(s.value.map((t=>`${t.key}: ${t.message}`)).join(", "));a=(t,e,r)=>s.value.evaluate(t,e,{},r);let o=null,l=null;if(n!==r){const t=Hn(r,i);if("error"===t.result)throw new Error(t.value.map((t=>`${t.key}: ${t.message}`)).join(", "));o=(e,r,n,i,s)=>t.value.evaluate(e,r,{},n,void 0,void 0,i,s),l=!br(t.value.expression);}return {filter:a,dynamicFilter:o||void 0,needGeometry:gi(n),needFeature:!!l}}function pi(t){if(!Array.isArray(t))return t;const e=function(t){if(yi.has(t[0]))for(let e=1;epi(t)))}function di(t){let e=!1;const r=[];if("case"===t[0]){for(let n=1;n",">=","<","<=","to-boolean"]);function mi(t,e){return te?1:0}function gi(t){if(!Array.isArray(t))return !1;if("within"===t[0])return !0;for(let e=1;e"===e||"<="===e||">="===e?vi(t[1],t[2],e):"any"===e?(r=t.slice(1),["any"].concat(r.map(xi))):"all"===e?["all"].concat(t.slice(1).map(xi)):"none"===e?["all"].concat(t.slice(1).map(xi).map(_i)):"in"===e?bi(t[1],t.slice(2)):"!in"===e?_i(bi(t[1],t.slice(2))):"has"===e?wi(t[1]):"!has"===e?_i(wi(t[1])):"within"!==e||t;var r;}function vi(t,e,r){switch(t){case"$type":return [`filter-type-${r}`,e];case"$id":return [`filter-id-${r}`,e];default:return [`filter-${r}`,t,e]}}function bi(t,e){if(0===e.length)return !1;switch(t){case"$type":return ["filter-type-in",["literal",e]];case"$id":return ["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((t=>typeof t!=typeof e[0]))?["filter-in-large",t,["literal",e.sort(mi)]]:["filter-in-small",t,["literal",e]]}}function wi(t){switch(t){case"$type":return !0;case"$id":return ["filter-has-id"];default:return ["filter-has",t]}}function _i(t){return ["!",t]}function Ai(t){return ci(ne(t.value))?oi(ee({},t,{expressionContext:"filter",valueSpec:t.styleSpec[`filter_${t.layerType||"fill"}`]})):Si(t)}function Si(t){const e=t.value,r=t.key;if("array"!==Un(e))return [new ri(r,e,`array expected, ${Un(e)} found`)];const n=t.styleSpec;let i,s=[];if(e.length<1)return [new ri(r,e,"filter array must have at least 1 element")];switch(s=s.concat(ui({key:`${r}[0]`,value:e[0],valueSpec:n.filter_operator,style:t.style,styleSpec:t.styleSpec})),re(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===re(e[1])&&s.push(new ri(r,e,`"$type" cannot be use with operator "${e[0]}"`));case"==":case"!=":3!==e.length&&s.push(new ri(r,e,`filter array for operator "${e[0]}" must have 3 elements`));case"in":case"!in":e.length>=2&&(i=Un(e[1]),"string"!==i&&s.push(new ri(`${r}[1]`,e[1],`string expected, ${i} found`)));for(let a=2;a{t in r&&e.push(new ri(n,r[t],`"${t}" is prohibited for ref layers`));})),i.layers.forEach((e=>{re(e.id)===o&&(t=e);})),t?t.ref?e.push(new ri(n,r.ref,"ref cannot reference another ref layer")):a=re(t.type):"string"==typeof o&&e.push(new ri(n,r.ref,`ref layer "${o}" not found`));}else if("background"!==a&&"sky"!==a)if(r.source){const t=i.sources&&i.sources[r.source],s=t&&re(t.type);t?"vector"===s&&"raster"===a?e.push(new ri(n,r.source,`layer "${r.id}" requires a raster source`)):"raster"===s&&"raster"!==a?e.push(new ri(n,r.source,`layer "${r.id}" requires a vector source`)):"vector"!==s||r["source-layer"]?"raster-dem"===s&&"hillshade"!==a?e.push(new ri(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==a||!r.paint||!r.paint["line-gradient"]&&!r.paint["line-trim-offset"]||"geojson"===s&&t.lineMetrics||e.push(new ri(n,r,`layer "${r.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):e.push(new ri(n,r,`layer "${r.id}" must specify a "source-layer"`)):e.push(new ri(n,r.source,`source "${r.source}" not found`));}else e.push(new ri(n,r,'missing required property "source"'));return e=e.concat(ni({key:n,value:r,valueSpec:s.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":()=>[],type:()=>Fi({key:`${n}.type`,value:r.type,valueSpec:s.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:"type"}),filter:t=>Ai(ee({layerType:a},t)),layout:t=>ni({layer:r,key:t.key,value:t.value,valueSpec:{},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>Mi(ee({layerType:a},t))}}),paint:t=>ni({layer:r,key:t.key,value:t.value,valueSpec:{},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>Ii(ee({layerType:a},t))}})}})),e}function zi(t){const e=t.value,r=t.key,n=Un(e);return "string"!==n?[new ri(r,e,`string expected, ${n} found`)]:[]}const Bi={promoteId:function({key:t,value:e}){if("string"===Un(e))return zi({key:t,value:e});{const r=[];for(const n in e)r.push(...zi({key:`${t}.${n}`,value:e[n]}));return r}}};function Ei(t){const e=t.value,r=t.key,n=t.styleSpec,i=t.style;if(!e.type)return [new ri(r,e,'"type" is required')];const s=re(e.type);let a;switch(s){case"vector":case"raster":case"raster-dem":return a=ni({key:r,value:e,valueSpec:n[`source_${s.replace("-","_")}`],style:t.style,styleSpec:n,objectElementValidators:Bi}),a;case"geojson":if(a=ni({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,objectElementValidators:Bi}),e.cluster)for(const t in e.clusterProperties){const[n,i]=e.clusterProperties[t],s="string"==typeof n?[n,["accumulated"],["get",t]]:n;a.push(...oi({key:`${r}.${t}.map`,value:i,expressionContext:"cluster-map"})),a.push(...oi({key:`${r}.${t}.reduce`,value:s,expressionContext:"cluster-reduce"}));}return a;case"video":return ni({key:r,value:e,valueSpec:n.source_video,style:i,styleSpec:n});case"image":return ni({key:r,value:e,valueSpec:n.source_image,style:i,styleSpec:n});case"canvas":return [new ri(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return ui({key:`${r}.type`,value:e.type,valueSpec:{values:Ci(n)},style:i,styleSpec:n})}}function Ci(t){return t.source.reduce(((e,r)=>{const n=t[r];return "enum"===n.type.type&&(e=e.concat(Object.keys(n.type.values))),e}),[])}function Pi(t){const e=t.value,r=t.styleSpec,n=r.light,i=t.style;let s=[];const a=Un(e);if(void 0===e)return s;if("object"!==a)return s=s.concat([new ri("light",e,`object expected, ${a} found`)]),s;for(const t in e){const a=t.match(/^(.*)-transition$/);s=s.concat(a&&n[a[1]]&&n[a[1]].transition?Fi({key:t,value:e[t],valueSpec:r.transition,style:i,styleSpec:r}):n[t]?Fi({key:t,value:e[t],valueSpec:n[t],style:i,styleSpec:r}):[new ri(t,e[t],`unknown property "${t}"`)]);}return s}function Di(t){const e=t.value,r=t.key,n=t.style,i=t.styleSpec,s=i.terrain;let a=[];const o=Un(e);if(void 0===e)return a;if("object"!==o)return a=a.concat([new ri("terrain",e,`object expected, ${o} found`)]),a;for(const t in e){const r=t.match(/^(.*)-transition$/);a=a.concat(r&&s[r[1]]&&s[r[1]].transition?Fi({key:t,value:e[t],valueSpec:i.transition,style:n,styleSpec:i}):s[t]?Fi({key:t,value:e[t],valueSpec:s[t],style:n,styleSpec:i}):[new ri(t,e[t],`unknown property "${t}"`)]);}if(e.source){const t=n.sources&&n.sources[e.source],i=t&&re(t.type);t?"raster-dem"!==i&&a.push(new ri(r,e.source,`terrain cannot be used with a source of type ${String(i)}, it only be used with a "raster-dem" source type`)):a.push(new ri(r,e.source,`source "${e.source}" not found`));}else a.push(new ri(r,e,'terrain is missing required property "source"'));return a}function Vi(t){const e=t.value,r=t.style,n=t.styleSpec,i=n.fog;let s=[];const a=Un(e);if(void 0===e)return s;if("object"!==a)return s=s.concat([new ri("fog",e,`object expected, ${a} found`)]),s;for(const t in e){const a=t.match(/^(.*)-transition$/);s=s.concat(a&&i[a[1]]&&i[a[1]].transition?Fi({key:t,value:e[t],valueSpec:n.transition,style:r,styleSpec:n}):i[t]?Fi({key:t,value:e[t],valueSpec:i[t],style:r,styleSpec:n}):[new ri(t,e[t],`unknown property "${t}"`)]);}return s}const Li={"*":()=>[],array:ii,boolean:function(t){const e=t.value,r=t.key,n=Un(e);return "boolean"!==n?[new ri(r,e,`boolean expected, ${n} found`)]:[]},number:si,color:function(t){const e=t.key,r=t.value,n=Un(r);return "string"!==n?[new ri(e,r,`color expected, ${n} found`)]:null===Se(r)?[new ri(e,r,`color expected, "${r}" found`)]:[]},enum:ui,filter:Ai,function:ai,layer:Ti,object:ni,source:Ei,light:Pi,terrain:Di,fog:Vi,string:zi,formatted:function(t){return 0===zi(t).length?[]:oi(t)},resolvedImage:function(t){return 0===zi(t).length?[]:oi(t)},projection:function(t){const e=t.value,r=t.styleSpec,n=r.projection,i=t.style;let s=[];const a=Un(e);if("object"===a)for(const t in e)s=s.concat(Fi({key:t,value:e[t],valueSpec:n[t],style:i,styleSpec:r}));else "string"!==a&&(s=s.concat([new ri("projection",e,`object or string expected, ${a} found`)]));return s}};function Fi(t){const e=t.value,r=t.valueSpec,n=t.styleSpec;return r.expression&&$n(re(e))?ai(t):r.expression&&Jn(ne(e))?oi(t):r.type&&Li[r.type]?Li[r.type](t):ni(ee({},t,{valueSpec:r.type?n[r.type]:r}))}function Ri(t){const e=t.value,r=t.key,n=zi(t);return n.length||(-1===e.indexOf("{fontstack}")&&n.push(new ri(r,e,'"glyphs" url must include a "{fontstack}" token')),-1===e.indexOf("{range}")&&n.push(new ri(r,e,'"glyphs" url must include a "{range}" token'))),n}function Ui(t,e=te){return Oi(Fi({key:"",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:Ri,"*":()=>[]}}))}const $i=t=>Oi(Ii(t)),ji=t=>Oi(Mi(t));function Oi(t){return t.slice().sort(((t,e)=>t.line&&e.line?t.line-e.line:0))}function qi(t,e){let r=!1;if(e&&e.length)for(const n of e)t.fire(new Wt(new Error(n.message))),r=!0;return r}var Ni=Zi,Gi=3;function Zi(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var i=new Int32Array(this.arrayBuffer);t=i[0],this.d=(e=i[1])+2*(r=i[2]);for(var s=0;s=c[d+0]&&n>=c[d+1])?(a[p]=!0,s.push(u[p])):a[p]=!1;}}},Zi.prototype._forEachCell=function(t,e,r,n,i,s,a,o){for(var l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),h=this._convertToCellCoord(n),p=l;p<=c;p++)for(var d=u;d<=h;d++){var f=this.d*d+p;if((!o||o(this._convertFromCellCoord(p),this._convertFromCellCoord(d),this._convertFromCellCoord(p+1),this._convertFromCellCoord(d+1)))&&i.call(this,t,e,r,n,f,s,a,o))return}},Zi.prototype._convertFromCellCoord=function(t){return (t-this.padding)/this.scale},Zi.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Zi.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=Gi+this.cells.length+1+1,r=0,n=0;n=0||(i[e]=Wi(t[e],r)));t instanceof Error&&(i.message=t.message);}if(i.$name)throw new Error("$name property is reserved for worker serialization logic.");return "Object"!==n&&(i.$name=n),i}throw new Error("can't serialize object of type "+typeof t)}function Qi(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||Hi(t)||Yi(t)||ArrayBuffer.isView(t)||t instanceof e.ImageData)return t;if(Array.isArray(t))return t.map(Qi);if("object"==typeof t){const e=t.$name||"Object",{klass:r}=Xi[e];if(!r)throw new Error(`can't deserialize unregistered class ${e}`);if(r.deserialize)return r.deserialize(t);const n=Object.create(r.prototype);for(const e of Object.keys(t))"$name"!==e&&(n[e]=Qi(t[e]));return n}throw new Error("can't deserialize object of type "+typeof t)}const ts={"Latin-1 Supplement":t=>t>=128&&t<=255,Arabic:t=>t>=1536&&t<=1791,"Arabic Supplement":t=>t>=1872&&t<=1919,"Arabic Extended-A":t=>t>=2208&&t<=2303,"Hangul Jamo":t=>t>=4352&&t<=4607,"Unified Canadian Aboriginal Syllabics":t=>t>=5120&&t<=5759,Khmer:t=>t>=6016&&t<=6143,"Unified Canadian Aboriginal Syllabics Extended":t=>t>=6320&&t<=6399,"General Punctuation":t=>t>=8192&&t<=8303,"Letterlike Symbols":t=>t>=8448&&t<=8527,"Number Forms":t=>t>=8528&&t<=8591,"Miscellaneous Technical":t=>t>=8960&&t<=9215,"Control Pictures":t=>t>=9216&&t<=9279,"Optical Character Recognition":t=>t>=9280&&t<=9311,"Enclosed Alphanumerics":t=>t>=9312&&t<=9471,"Geometric Shapes":t=>t>=9632&&t<=9727,"Miscellaneous Symbols":t=>t>=9728&&t<=9983,"Miscellaneous Symbols and Arrows":t=>t>=11008&&t<=11263,"CJK Radicals Supplement":t=>t>=11904&&t<=12031,"Kangxi Radicals":t=>t>=12032&&t<=12255,"Ideographic Description Characters":t=>t>=12272&&t<=12287,"CJK Symbols and Punctuation":t=>t>=12288&&t<=12351,Hiragana:t=>t>=12352&&t<=12447,Katakana:t=>t>=12448&&t<=12543,Bopomofo:t=>t>=12544&&t<=12591,"Hangul Compatibility Jamo":t=>t>=12592&&t<=12687,Kanbun:t=>t>=12688&&t<=12703,"Bopomofo Extended":t=>t>=12704&&t<=12735,"CJK Strokes":t=>t>=12736&&t<=12783,"Katakana Phonetic Extensions":t=>t>=12784&&t<=12799,"Enclosed CJK Letters and Months":t=>t>=12800&&t<=13055,"CJK Compatibility":t=>t>=13056&&t<=13311,"CJK Unified Ideographs Extension A":t=>t>=13312&&t<=19903,"Yijing Hexagram Symbols":t=>t>=19904&&t<=19967,"CJK Unified Ideographs":t=>t>=19968&&t<=40959,"Yi Syllables":t=>t>=40960&&t<=42127,"Yi Radicals":t=>t>=42128&&t<=42191,"Hangul Jamo Extended-A":t=>t>=43360&&t<=43391,"Hangul Syllables":t=>t>=44032&&t<=55215,"Hangul Jamo Extended-B":t=>t>=55216&&t<=55295,"Private Use Area":t=>t>=57344&&t<=63743,"CJK Compatibility Ideographs":t=>t>=63744&&t<=64255,"Arabic Presentation Forms-A":t=>t>=64336&&t<=65023,"Vertical Forms":t=>t>=65040&&t<=65055,"CJK Compatibility Forms":t=>t>=65072&&t<=65103,"Small Form Variants":t=>t>=65104&&t<=65135,"Arabic Presentation Forms-B":t=>t>=65136&&t<=65279,"Halfwidth and Fullwidth Forms":t=>t>=65280&&t<=65519};function es(t){for(const e of t)if(is(e.charCodeAt(0)))return !0;return !1}function rs(t){for(const e of t)if(!ns(e.charCodeAt(0)))return !1;return !0}function ns(t){return !(ts.Arabic(t)||ts["Arabic Supplement"](t)||ts["Arabic Extended-A"](t)||ts["Arabic Presentation Forms-A"](t)||ts["Arabic Presentation Forms-B"](t))}function is(t){return !(746!==t&&747!==t&&(t<4352||!(ts["Bopomofo Extended"](t)||ts.Bopomofo(t)||ts["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||ts["CJK Compatibility Ideographs"](t)||ts["CJK Compatibility"](t)||ts["CJK Radicals Supplement"](t)||ts["CJK Strokes"](t)||!(!ts["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||ts["CJK Unified Ideographs Extension A"](t)||ts["CJK Unified Ideographs"](t)||ts["Enclosed CJK Letters and Months"](t)||ts["Hangul Compatibility Jamo"](t)||ts["Hangul Jamo Extended-A"](t)||ts["Hangul Jamo Extended-B"](t)||ts["Hangul Jamo"](t)||ts["Hangul Syllables"](t)||ts.Hiragana(t)||ts["Ideographic Description Characters"](t)||ts.Kanbun(t)||ts["Kangxi Radicals"](t)||ts["Katakana Phonetic Extensions"](t)||ts.Katakana(t)&&12540!==t||!(!ts["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!ts["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||ts["Unified Canadian Aboriginal Syllabics"](t)||ts["Unified Canadian Aboriginal Syllabics Extended"](t)||ts["Vertical Forms"](t)||ts["Yijing Hexagram Symbols"](t)||ts["Yi Syllables"](t)||ts["Yi Radicals"](t))))}function ss(t){return !(is(t)||function(t){return !!(ts["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||ts["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||ts["Letterlike Symbols"](t)||ts["Number Forms"](t)||ts["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||ts["Control Pictures"](t)&&9251!==t||ts["Optical Character Recognition"](t)||ts["Enclosed Alphanumerics"](t)||ts["Geometric Shapes"](t)||ts["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||ts["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||ts["CJK Symbols and Punctuation"](t)||ts.Katakana(t)||ts["Private Use Area"](t)||ts["CJK Compatibility Forms"](t)||ts["Small Form Variants"](t)||ts["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function as(t){return t>=1424&&t<=2303||ts["Arabic Presentation Forms-A"](t)||ts["Arabic Presentation Forms-B"](t)}function os(t,e){return !(!e&&as(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||ts.Khmer(t))}function ls(t){for(const e of t)if(as(e.charCodeAt(0)))return !0;return !1}const us="deferred",cs="loading",hs="loaded";let ps=null,ds="unavailable",fs=null;const ys=function(t){t&&"string"==typeof t&&t.indexOf("NetworkError")>-1&&(ds="error"),ps&&ps(t);};function ms(){gs.fire(new Yt("pluginStateChange",{pluginStatus:ds,pluginURL:fs}));}const gs=new Qt,xs=function(){return ds},vs=function(){if(ds!==us||!fs)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");ds=cs,ms(),fs&&pt({url:fs},(t=>{t?ys(t):(ds=hs,ms());}));},bs={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>ds===hs||null!=bs.applyArabicShaping,isLoading:()=>ds===cs,setState(t){ds=t.pluginStatus,fs=t.pluginURL;},isParsed:()=>null!=bs.applyArabicShaping&&null!=bs.processBidirectionalText&&null!=bs.processStyledBidirectionalText,getPluginURL:()=>fs};class ws{constructor(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.transition=e.transition,this.pitch=e.pitch):(this.now=0,this.fadeDuration=0,this.transition={},this.pitch=0);}isSupportedScript(t){return function(t,e){for(const r of t)if(!os(r.charCodeAt(0),e))return !1;return !0}(t,bs.isLoaded())}}class _s{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if($n(t))return new ti(t,e);if(Jn(t)){const r=Qn(t,e);if("error"===r.result)throw new Error(r.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return r.value}{let r=t;return "string"==typeof t&&"color"===e.type&&(r=Ee.parse(t)),{kind:"constant",evaluate:()=>r}}}(void 0===e?t.specification.default:e,t.specification);}isDataDriven(){return "source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)}}class As{constructor(t){this.property=t,this.value=new _s(t,void 0);}transitioned(t,e){return new ks(this.property,this.value,e,C({},t.transition,this.transition),t.now)}untransitioned(){return new ks(this.property,this.value,null,{},0)}}class Ss{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues);}getValue(t){return O(this._values[t].value.value)}setValue(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new As(this._values[t].property)),this._values[t].value=new _s(this._values[t].property,null===e?void 0:O(e));}getTransition(t){return O(this._values[t].transition)}setTransition(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new As(this._values[t].property)),this._values[t].transition=O(e)||void 0;}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r);const n=this.getTransition(e);void 0!==n&&(t[`${e}-transition`]=n);}return t}transitioned(t,e){const r=new Is(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].transitioned(t,e._values[n]);return r}untransitioned(){const t=new Is(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class ks{constructor(t,e,r,n,i){const s=n.delay||0,a=n.duration||0;i=i||0,this.property=t,this.value=e,this.begin=i+s,this.end=this.begin+a,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r);}possiblyEvaluate(t,e,r){const n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),s=this.prior;if(s){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(nthis.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e);}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}destroy(){this.int8=this.uint8=this.int16=this.uint16=this.int32=this.uint32=this.float32=null,this.arrayBuffer=null;}}function Rs(t,e=1){let r=0,n=0;return {members:t.map((t=>{const i=Vs[t.type].BYTES_PER_ELEMENT,s=r=Us(r,Math.max(e,i)),a=t.components||1;return n=Math.max(n,i),r+=i*a,{name:t.name,type:t.type,components:a,offset:s}})),size:Us(r,Math.max(n,e)),alignment:e}}function Us(t,e){return Math.ceil(t/e)*e}class $s extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t}}$s.prototype.bytesPerElement=4,Ji($s,"StructArrayLayout2i4");class js extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t}}js.prototype.bytesPerElement=6,Ji(js,"StructArrayLayout3i6");class Os extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const s=4*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,t}}Os.prototype.bytesPerElement=8,Ji(Os,"StructArrayLayout4i8");class qs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,s,a)}emplace(t,e,r,n,i,s,a,o){const l=6*t,u=12*t,c=3*t;return this.int16[l+0]=e,this.int16[l+1]=r,this.uint8[u+4]=n,this.uint8[u+5]=i,this.uint8[u+6]=s,this.uint8[u+7]=a,this.float32[c+2]=o,t}}qs.prototype.bytesPerElement=12,Ji(qs,"StructArrayLayout2i4ub1f12");class Ns extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const s=4*t;return this.float32[s+0]=e,this.float32[s+1]=r,this.float32[s+2]=n,this.float32[s+3]=i,t}}Ns.prototype.bytesPerElement=16,Ji(Ns,"StructArrayLayout4f16");class Gs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i)}emplace(t,e,r,n,i,s){const a=6*t,o=3*t;return this.uint16[a+0]=e,this.uint16[a+1]=r,this.uint16[a+2]=n,this.uint16[a+3]=i,this.float32[o+2]=s,t}}Gs.prototype.bytesPerElement=12,Ji(Gs,"StructArrayLayout4ui1f12");class Zs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const s=4*t;return this.uint16[s+0]=e,this.uint16[s+1]=r,this.uint16[s+2]=n,this.uint16[s+3]=i,t}}Zs.prototype.bytesPerElement=8,Ji(Zs,"StructArrayLayout4ui8");class Ks extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.int16[o+2]=n,this.int16[o+3]=i,this.int16[o+4]=s,this.int16[o+5]=a,t}}Ks.prototype.bytesPerElement=12,Ji(Ks,"StructArrayLayout6i12");class Xs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h){const p=this.length;return this.resize(p+1),this.emplace(p,t,e,r,n,i,s,a,o,l,u,c,h)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p){const d=12*t;return this.int16[d+0]=e,this.int16[d+1]=r,this.int16[d+2]=n,this.int16[d+3]=i,this.uint16[d+4]=s,this.uint16[d+5]=a,this.uint16[d+6]=o,this.uint16[d+7]=l,this.int16[d+8]=u,this.int16[d+9]=c,this.int16[d+10]=h,this.int16[d+11]=p,t}}Xs.prototype.bytesPerElement=24,Ji(Xs,"StructArrayLayout4i4ui4i24");class Js extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=10*t,l=5*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.int16[o+2]=n,this.float32[l+2]=i,this.float32[l+3]=s,this.float32[l+4]=a,t}}Js.prototype.bytesPerElement=20,Ji(Js,"StructArrayLayout3i3f20");class Hs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint32[1*t+0]=e,t}}Hs.prototype.bytesPerElement=4,Ji(Hs,"StructArrayLayout1ul4");class Ys extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h,p){const d=this.length;return this.resize(d+1),this.emplace(d,t,e,r,n,i,s,a,o,l,u,c,h,p)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p,d){const f=20*t,y=10*t;return this.int16[f+0]=e,this.int16[f+1]=r,this.int16[f+2]=n,this.int16[f+3]=i,this.int16[f+4]=s,this.float32[y+3]=a,this.float32[y+4]=o,this.float32[y+5]=l,this.float32[y+6]=u,this.int16[f+14]=c,this.uint32[y+8]=h,this.uint16[f+18]=p,this.uint16[f+19]=d,t}}Ys.prototype.bytesPerElement=40,Ji(Ys,"StructArrayLayout5i4f1i1ul2ui40");class Ws extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,s,a)}emplace(t,e,r,n,i,s,a,o){const l=8*t;return this.int16[l+0]=e,this.int16[l+1]=r,this.int16[l+2]=n,this.int16[l+4]=i,this.int16[l+5]=s,this.int16[l+6]=a,this.int16[l+7]=o,t}}Ws.prototype.bytesPerElement=16,Ji(Ws,"StructArrayLayout3i2i2i16");class Qs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i)}emplace(t,e,r,n,i,s){const a=4*t,o=8*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.int16[o+6]=i,this.int16[o+7]=s,t}}Qs.prototype.bytesPerElement=16,Ji(Qs,"StructArrayLayout2f1f2i16");class ta extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const s=12*t,a=3*t;return this.uint8[s+0]=e,this.uint8[s+1]=r,this.float32[a+1]=n,this.float32[a+2]=i,t}}ta.prototype.bytesPerElement=12,Ji(ta,"StructArrayLayout2ub2f12");class ea extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t}}ea.prototype.bytesPerElement=12,Ji(ea,"StructArrayLayout3f12");class ra extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t}}ra.prototype.bytesPerElement=6,Ji(ra,"StructArrayLayout3ui6");class na extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h,p,d,f,y,m,g,x,v,b){const w=this.length;return this.resize(w+1),this.emplace(w,t,e,r,n,i,s,a,o,l,u,c,h,p,d,f,y,m,g,x,v,b)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p,d,f,y,m,g,x,v,b,w){const _=30*t,A=15*t,S=60*t;return this.int16[_+0]=e,this.int16[_+1]=r,this.int16[_+2]=n,this.float32[A+2]=i,this.float32[A+3]=s,this.uint16[_+8]=a,this.uint16[_+9]=o,this.uint32[A+5]=l,this.uint32[A+6]=u,this.uint32[A+7]=c,this.uint16[_+16]=h,this.uint16[_+17]=p,this.uint16[_+18]=d,this.float32[A+10]=f,this.float32[A+11]=y,this.uint8[S+48]=m,this.uint8[S+49]=g,this.uint8[S+50]=x,this.uint32[A+13]=v,this.int16[_+28]=b,this.uint8[S+58]=w,t}}na.prototype.bytesPerElement=60,Ji(na,"StructArrayLayout3i2f2ui3ul3ui2f3ub1ul1i1ub60");class ia extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h,p,d,f,y,m,g,x,v,b,w,_,A,S,k,I,M,T,z){const B=this.length;return this.resize(B+1),this.emplace(B,t,e,r,n,i,s,a,o,l,u,c,h,p,d,f,y,m,g,x,v,b,w,_,A,S,k,I,M,T,z)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p,d,f,y,m,g,x,v,b,w,_,A,S,k,I,M,T,z,B){const E=38*t,C=19*t;return this.int16[E+0]=e,this.int16[E+1]=r,this.int16[E+2]=n,this.float32[C+2]=i,this.float32[C+3]=s,this.int16[E+8]=a,this.int16[E+9]=o,this.int16[E+10]=l,this.int16[E+11]=u,this.int16[E+12]=c,this.int16[E+13]=h,this.uint16[E+14]=p,this.uint16[E+15]=d,this.uint16[E+16]=f,this.uint16[E+17]=y,this.uint16[E+18]=m,this.uint16[E+19]=g,this.uint16[E+20]=x,this.uint16[E+21]=v,this.uint16[E+22]=b,this.uint16[E+23]=w,this.uint16[E+24]=_,this.uint16[E+25]=A,this.uint16[E+26]=S,this.uint16[E+27]=k,this.uint16[E+28]=I,this.uint32[C+15]=M,this.float32[C+16]=T,this.float32[C+17]=z,this.float32[C+18]=B,t}}ia.prototype.bytesPerElement=76,Ji(ia,"StructArrayLayout3i2f6i15ui1ul3f76");class sa extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.float32[1*t+0]=e,t}}sa.prototype.bytesPerElement=4,Ji(sa,"StructArrayLayout1f4");class aa extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i)}emplace(t,e,r,n,i,s){const a=5*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,this.float32[a+4]=s,t}}aa.prototype.bytesPerElement=20,Ji(aa,"StructArrayLayout5f20");class oa extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const s=6*t;return this.uint32[3*t+0]=e,this.uint16[s+2]=r,this.uint16[s+3]=n,this.uint16[s+4]=i,t}}oa.prototype.bytesPerElement=12,Ji(oa,"StructArrayLayout1ul3ui12");class la extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t}}la.prototype.bytesPerElement=4,Ji(la,"StructArrayLayout2ui4");class ua extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint16[1*t+0]=e,t}}ua.prototype.bytesPerElement=2,Ji(ua,"StructArrayLayout1ui2");class ca extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t}}ca.prototype.bytesPerElement=8,Ji(ca,"StructArrayLayout2f8");class ha extends Ls{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.int16[this._pos2+3]}get tileAnchorY(){return this._structArray.int16[this._pos2+4]}get x1(){return this._structArray.float32[this._pos4+3]}get y1(){return this._structArray.float32[this._pos4+4]}get x2(){return this._structArray.float32[this._pos4+5]}get y2(){return this._structArray.float32[this._pos4+6]}get padding(){return this._structArray.int16[this._pos2+14]}get featureIndex(){return this._structArray.uint32[this._pos4+8]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+18]}get bucketIndex(){return this._structArray.uint16[this._pos2+19]}}ha.prototype.size=40;class pa extends Ys{get(t){return new ha(this,t)}}Ji(pa,"CollisionBoxArray");class da extends Ls{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.float32[this._pos4+2]}get tileAnchorY(){return this._structArray.float32[this._pos4+3]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+8]}get numGlyphs(){return this._structArray.uint16[this._pos2+9]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+5]}get lineStartIndex(){return this._structArray.uint32[this._pos4+6]}get lineLength(){return this._structArray.uint32[this._pos4+7]}get segment(){return this._structArray.uint16[this._pos2+16]}get lowerSize(){return this._structArray.uint16[this._pos2+17]}get upperSize(){return this._structArray.uint16[this._pos2+18]}get lineOffsetX(){return this._structArray.float32[this._pos4+10]}get lineOffsetY(){return this._structArray.float32[this._pos4+11]}get writingMode(){return this._structArray.uint8[this._pos1+48]}get placedOrientation(){return this._structArray.uint8[this._pos1+49]}set placedOrientation(t){this._structArray.uint8[this._pos1+49]=t;}get hidden(){return this._structArray.uint8[this._pos1+50]}set hidden(t){this._structArray.uint8[this._pos1+50]=t;}get crossTileID(){return this._structArray.uint32[this._pos4+13]}set crossTileID(t){this._structArray.uint32[this._pos4+13]=t;}get associatedIconIndex(){return this._structArray.int16[this._pos2+28]}get flipState(){return this._structArray.uint8[this._pos1+58]}set flipState(t){this._structArray.uint8[this._pos1+58]=t;}}da.prototype.size=60;class fa extends na{get(t){return new da(this,t)}}Ji(fa,"PlacedSymbolArray");class ya extends Ls{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.float32[this._pos4+2]}get tileAnchorY(){return this._structArray.float32[this._pos4+3]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+8]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+9]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+10]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+11]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+12]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+13]}get key(){return this._structArray.uint16[this._pos2+14]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+17]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+18]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+19]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+20]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+21]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+22]}get featureIndex(){return this._structArray.uint16[this._pos2+23]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+24]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+25]}get numIconVertices(){return this._structArray.uint16[this._pos2+26]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+27]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+28]}get crossTileID(){return this._structArray.uint32[this._pos4+15]}set crossTileID(t){this._structArray.uint32[this._pos4+15]=t;}get textOffset0(){return this._structArray.float32[this._pos4+16]}get textOffset1(){return this._structArray.float32[this._pos4+17]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+18]}}ya.prototype.size=76;class ma extends ia{get(t){return new ya(this,t)}}Ji(ma,"SymbolInstanceArray");class ga extends sa{getoffsetX(t){return this.float32[1*t+0]}}Ji(ga,"GlyphOffsetArray");class xa extends $s{getx(t){return this.int16[2*t+0]}gety(t){return this.int16[2*t+1]}}Ji(xa,"SymbolLineVertexArray");class va extends Ls{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}get layoutVertexArrayOffset(){return this._structArray.uint16[this._pos2+4]}}va.prototype.size=12;class ba extends oa{get(t){return new va(this,t)}}Ji(ba,"FeatureIndexArray");class wa extends la{geta_centroid_pos0(t){return this.uint16[2*t+0]}geta_centroid_pos1(t){return this.uint16[2*t+1]}}Ji(wa,"FillExtrusionCentroidArray");const _a=Rs([{name:"a_pattern",components:4,type:"Uint16"},{name:"a_pixel_ratio",components:1,type:"Float32"}]),Aa=Rs([{name:"a_dash",components:4,type:"Uint16"}]);var Sa={exports:{}},ka={exports:{}};ka.exports=function(t,e){var r,n,i,s,a,o,l,u;for(n=t.length-(r=3&t.length),i=e,a=3432918353,o=461845907,u=0;u>>16)*a&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(s>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*a+(((l>>>16)*a&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295;}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0};var Ia=ka.exports,Ma={exports:{}};Ma.exports=function(t,e){for(var r,n=t.length,i=e^n,s=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++s;switch(n){case 3:i^=(255&t.charCodeAt(s+2))<<16;case 2:i^=(255&t.charCodeAt(s+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(s)))+((1540483477*(i>>>16)&65535)<<16);}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0};var Ta=Ia,za=Ma.exports;Sa.exports=Ta,Sa.exports.murmur3=Ta,Sa.exports.murmur2=za;var Ba=p(Sa.exports);class Ea{constructor(){this.ids=[],this.positions=[],this.indexed=!1;}add(t,e,r,n){this.ids.push(Ca(t)),this.positions.push(e,r,n);}getPositions(t){const e=Ca(t);let r=0,n=this.ids.length-1;for(;r>1;this.ids[t]>=e?n=t:r=t+1;}const i=[];for(;this.ids[r]===e;)i.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return i}static serialize(t,e){const r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Pa(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}}static deserialize(t){const e=new Ea;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function Ca(t){const e=+t;return !isNaN(e)&&Number.MIN_SAFE_INTEGER<=e&&e<=Number.MAX_SAFE_INTEGER?e:Ba(String(t))}function Pa(t,e,r,n){for(;r>1];let s=r-1,a=n+1;for(;;){do{s++;}while(t[s]i);if(s>=a)break;Da(t,s,a),Da(e,3*s,3*a),Da(e,3*s+1,3*a+1),Da(e,3*s+2,3*a+2);}a-r`u_${t}`)),this.type=r;}setUniform(t,e,r,n,i){e.set(t,i,n.constantOr(this.value));}getBinding(t,e){return "color"===this.type?new Ra(t):new La(t)}}class Na{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.pattern=null,this.pixelRatio=1;}setConstantPatternPositions(t){this.pixelRatio=t.pixelRatio||1,this.pattern=t.tl.concat(t.br);}setUniform(t,e,r,n,i){const s="u_pattern"===i||"u_dash"===i?this.pattern:"u_pixel_ratio"===i?this.pixelRatio:null;s&&e.set(t,i,s);}getBinding(t,e){return "u_pattern"===e||"u_dash"===e?new Fa(t):new La(t)}}class Ga{constructor(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===r?2:1,offset:0}))),this.paintVertexArray=new n;}populatePaintArray(t,e,r,n,i,s){const a=this.paintVertexArray.length,o=this.expression.evaluate(new ws(0),e,{},i,n,s);this.paintVertexArray.resize(t),this._setPaintValue(a,t,o);}updatePaintArray(t,e,r,n,i){const s=this.expression.evaluate({zoom:0},r,n,void 0,i);this._setPaintValue(t,e,s);}_setPaintValue(t,e,r){if("color"===this.type){const n=Oa(r);for(let r=t;r`u_${t}_t`)),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===r?4:2,offset:0}))),this.paintVertexArray=new s;}populatePaintArray(t,e,r,n,i,s){const a=this.expression.evaluate(new ws(this.zoom),e,{},i,n,s),o=this.expression.evaluate(new ws(this.zoom+1),e,{},i,n,s),l=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(l,t,a,o);}updatePaintArray(t,e,r,n,i){const s=this.expression.evaluate({zoom:this.zoom},r,n,void 0,i),a=this.expression.evaluate({zoom:this.zoom+1},r,n,void 0,i);this._setPaintValue(t,e,s,a);}_setPaintValue(t,e,r,n){if("color"===this.type){const i=Oa(r),s=Oa(n);for(let r=t;r!0)){this.binders={},this._buffers=[];const n=[];for(const i in t.paint._values){if(!r(i))continue;const s=t.paint.get(i);if(!(s instanceof Ts&&Ln(s.property.specification)))continue;const a=Ya(i,t.type),o=s.value,l=s.property.specification.type,u=!!s.property.useIntegerZoom,c="line-dasharray"===i||i.endsWith("pattern"),h="line-dasharray"===i&&"constant"!==t.layout.get("line-cap").value.kind;if("constant"!==o.kind||h)if("source"===o.kind||h||c){const e=to(i,l,"source");this.binders[i]=c?new Ka(o,a,l,e,t.id):new Ga(o,a,l,e),n.push(`/a_${i}`);}else {const t=to(i,l,"composite");this.binders[i]=new Za(o,a,l,u,e,t),n.push(`/z_${i}`);}else this.binders[i]=c?new Na(o.value,a):new qa(o.value,a,l),n.push(`/u_${i}`);}this.cacheKey=n.sort().join("");}getMaxValue(t){const e=this.binders[t];return e instanceof Ga||e instanceof Za?e.maxValue:0}populatePaintArrays(t,e,r,n,i,s){for(const a in this.binders){const o=this.binders[a];(o instanceof Ga||o instanceof Za||o instanceof Ka)&&o.populatePaintArray(t,e,r,n,i,s);}}setConstantPatternPositions(t){for(const e in this.binders){const r=this.binders[e];r instanceof Na&&r.setConstantPatternPositions(t);}}updatePaintArrays(t,e,r,n,i,s){let a=!1;for(const o in t){const l=e.getPositions(o);for(const e of l){const l=r.feature(e.index);for(const r in this.binders){const u=this.binders[r];if((u instanceof Ga||u instanceof Za||u instanceof Ka)&&!0===u.expression.isStateDependent){const c=n.paint.get(r);u.expression=c.value,u.updatePaintArray(e.start,e.end,l,t[o],i,s),a=!0;}}}}return a}defines(){const t=[];for(const e in this.binders){const r=this.binders[e];(r instanceof qa||r instanceof Na)&&t.push(...r.uniformNames.map((t=>`#define HAS_UNIFORM_${t}`)));}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const r=this.binders[e];if(r instanceof Ga||r instanceof Za||r instanceof Ka)for(let e=0;e!0)){this.programConfigurations={};for(const n of t)this.programConfigurations[n.id]=new Xa(n,e,r);this.needsUpload=!1,this._featureMap=new Ea,this._bufferOffset=0;}populatePaintArrays(t,e,r,n,i,s,a){for(const r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e,n,i,s,a);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0;}updatePaintArrays(t,e,r,n,i){for(const s of r)this.needsUpload=this.programConfigurations[s.id].updatePaintArrays(t,this._featureMap,e,s,n,i)||this.needsUpload;}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1;}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy();}}const Ha={"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern","pixel_ratio"],"fill-pattern":["pattern","pixel_ratio"],"fill-extrusion-pattern":["pattern","pixel_ratio"],"line-dasharray":["dash"]};function Ya(t,e){return Ha[t]||[t.replace(`${e}-`,"").replace(/-/g,"_")]}const Wa={"line-pattern":{source:Gs,composite:Gs},"fill-pattern":{source:Gs,composite:Gs},"fill-extrusion-pattern":{source:Gs,composite:Gs},"line-dasharray":{source:Zs,composite:Zs}},Qa={color:{source:ca,composite:Ns},number:{source:sa,composite:ca}};function to(t,e,r){const n=Wa[t];return n&&n[r]||Qa[e][r]}Ji(qa,"ConstantBinder"),Ji(Na,"PatternConstantBinder"),Ji(Ga,"SourceExpressionBinder"),Ji(Ka,"PatternCompositeBinder"),Ji(Za,"CompositeExpressionBinder"),Ji(Xa,"ProgramConfiguration",{omit:["_buffers"]}),Ji(Ja,"ProgramConfigurationSet");const eo="-transition";class ro extends Qt{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1,needFeature:!1},this._filterCompiled=!1,"custom"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,"background"!==t.type&&"sky"!==t.type&&(this.source=t.source,this.sourceLayer=t["source-layer"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new Ms(e.layout)),e.paint)){this._transitionablePaint=new Ss(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new zs(e.paint);}}getLayoutProperty(t){return "visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,r={}){null!=e&&this._validate(ji,`layers.${this.id}.layout.${t}`,t,e,r)||("visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e);}getPaintProperty(t){return U(t,eo)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,r={}){if(null!=e&&this._validate($i,`layers.${this.id}.paint.${t}`,t,e,r))return !1;if(U(t,eo))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;{const r=this._transitionablePaint._values[t],n=r.value.isDataDriven(),i=r.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const s=this._transitionablePaint._values[t].value,a=s.isDataDriven(),o=U(t,"pattern")||"line-dasharray"===t;return a||n||o||this._handleOverridablePaintPropertyUpdate(t,i,s)}}_handleSpecialPaintPropertyUpdate(t){}getProgramIds(){return null}getProgramConfiguration(t){return null}_handleOverridablePaintPropertyUpdate(t,e,r){return !1}isHidden(t){return !!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint);}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,e){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e);}serialize(){const t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),j(t,((t,e)=>!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)))}_validate(t,e,r,n,i={}){return (!i||!1!==i.validate)&&qi(this,t.call(Ui,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:te,style:{glyphs:!0,sprite:!0}}))}is3D(){return !1}isSky(){return !1}isTileClipped(){return !1}hasOffscreenPass(){return !1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof Ts&&Ln(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return !0}return !1}compileFilter(){this._filterCompiled||(this._featureFilter=hi(this.filter),this._filterCompiled=!0);}invalidateCompiledFilter(){this._filterCompiled=!1;}dynamicFilter(){return this._featureFilter.dynamicFilter}dynamicFilterNeedsFeature(){return this._featureFilter.needFeature}}const no=Rs([{name:"a_pos",components:2,type:"Int16"}],4),io=Rs([{name:"a_pos_3",components:3,type:"Int16"},{name:"a_pos_normal_3",components:3,type:"Int16"}]);class so{constructor(t=[]){this.segments=t;}prepareSegment(t,e,r,n){let i=this.segments[this.segments.length-1];return t>so.MAX_VERTEX_ARRAY_LENGTH&&N(`Max vertices per segment is ${so.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!i||i.vertexLength+t>so.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i}get(){return this.segments}destroy(){for(const t of this.segments)for(const e in t.vaos)t.vaos[e].destroy();}static simpleSegment(t,e,r,n){return new so([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])}}so.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Ji(so,"SegmentVector");var ao=8192;class oo{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]));}setNorthEast(t){return this._ne=t instanceof Ol?new Ol(t.lng,t.lat):Ol.convert(t),this}setSouthWest(t){return this._sw=t instanceof Ol?new Ol(t.lng,t.lat):Ol.convert(t),this}extend(t){const e=this._sw,r=this._ne;let n,i;if(t instanceof Ol)n=t,i=t;else {if(!(t instanceof oo))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(oo.convert(t)):this.extend(Ol.convert(t)):"object"==typeof t&&null!==t&&t.hasOwnProperty("lat")&&(t.hasOwnProperty("lon")||t.hasOwnProperty("lng"))?this.extend(Ol.convert(t)):this;if(n=t._sw,i=t._ne,!n||!i)return this}return e||r?(e.lng=Math.min(n.lng,e.lng),e.lat=Math.min(n.lat,e.lat),r.lng=Math.max(i.lng,r.lng),r.lat=Math.max(i.lat,r.lat)):(this._sw=new Ol(n.lng,n.lat),this._ne=new Ol(i.lng,i.lat)),this}getCenter(){return new Ol((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new Ol(this.getWest(),this.getNorth())}getSouthEast(){return new Ol(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return [this._sw.toArray(),this._ne.toArray()]}toString(){return `LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return !(this._sw&&this._ne)}contains(t){const{lng:e,lat:r}=Ol.convert(t);let n=this._sw.lng<=e&&e<=this._ne.lng;return this._sw.lng>this._ne.lng&&(n=this._sw.lng>=e&&e>=this._ne.lng),this._sw.lat<=r&&r<=this._ne.lat&&n}static convert(t){return !t||t instanceof oo?t:new oo(t)}}var lo=1e-6,uo="undefined"!=typeof Float32Array?Float32Array:Array;function co(){var t=new uo(9);return uo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function ho(t,e,r){var n=e[0],i=e[1],s=e[2],a=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],p=r[0],d=r[1],f=r[2],y=r[3],m=r[4],g=r[5],x=r[6],v=r[7],b=r[8];return t[0]=p*n+d*a+f*u,t[1]=p*i+d*o+f*c,t[2]=p*s+d*l+f*h,t[3]=y*n+m*a+g*u,t[4]=y*i+m*o+g*c,t[5]=y*s+m*l+g*h,t[6]=x*n+v*a+b*u,t[7]=x*i+v*o+b*c,t[8]=x*s+v*l+b*h,t}function po(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function fo(t,e){var r=e[0],n=e[1],i=e[2],s=e[3],a=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],p=e[10],d=e[11],f=e[12],y=e[13],m=e[14],g=e[15],x=r*o-n*a,v=r*l-i*a,b=r*u-s*a,w=n*l-i*o,_=n*u-s*o,A=i*u-s*l,S=c*y-h*f,k=c*m-p*f,I=c*g-d*f,M=h*m-p*y,T=h*g-d*y,z=p*g-d*m,B=x*z-v*T+b*M+w*I-_*k+A*S;return B?(t[0]=(o*z-l*T+u*M)*(B=1/B),t[1]=(i*T-n*z-s*M)*B,t[2]=(y*A-m*_+g*w)*B,t[3]=(p*_-h*A-d*w)*B,t[4]=(l*I-a*z-u*k)*B,t[5]=(r*z-i*I+s*k)*B,t[6]=(m*b-f*A-g*v)*B,t[7]=(c*A-p*b+d*v)*B,t[8]=(a*T-o*I+u*S)*B,t[9]=(n*I-r*T-s*S)*B,t[10]=(f*_-y*b+g*x)*B,t[11]=(h*b-c*_-d*x)*B,t[12]=(o*k-a*M-l*S)*B,t[13]=(r*M-n*k+i*S)*B,t[14]=(y*v-f*w-m*x)*B,t[15]=(c*w-h*v+p*x)*B,t):null}function yo(t,e,r){var n=e[0],i=e[1],s=e[2],a=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],p=e[9],d=e[10],f=e[11],y=e[12],m=e[13],g=e[14],x=e[15],v=r[0],b=r[1],w=r[2],_=r[3];return t[0]=v*n+b*o+w*h+_*y,t[1]=v*i+b*l+w*p+_*m,t[2]=v*s+b*u+w*d+_*g,t[3]=v*a+b*c+w*f+_*x,t[4]=(v=r[4])*n+(b=r[5])*o+(w=r[6])*h+(_=r[7])*y,t[5]=v*i+b*l+w*p+_*m,t[6]=v*s+b*u+w*d+_*g,t[7]=v*a+b*c+w*f+_*x,t[8]=(v=r[8])*n+(b=r[9])*o+(w=r[10])*h+(_=r[11])*y,t[9]=v*i+b*l+w*p+_*m,t[10]=v*s+b*u+w*d+_*g,t[11]=v*a+b*c+w*f+_*x,t[12]=(v=r[12])*n+(b=r[13])*o+(w=r[14])*h+(_=r[15])*y,t[13]=v*i+b*l+w*p+_*m,t[14]=v*s+b*u+w*d+_*g,t[15]=v*a+b*c+w*f+_*x,t}function mo(t,e,r){var n,i,s,a,o,l,u,c,h,p,d,f,y=r[0],m=r[1],g=r[2];return e===t?(t[12]=e[0]*y+e[4]*m+e[8]*g+e[12],t[13]=e[1]*y+e[5]*m+e[9]*g+e[13],t[14]=e[2]*y+e[6]*m+e[10]*g+e[14],t[15]=e[3]*y+e[7]*m+e[11]*g+e[15]):(i=e[1],s=e[2],a=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],p=e[9],d=e[10],f=e[11],t[0]=n=e[0],t[1]=i,t[2]=s,t[3]=a,t[4]=o,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=p,t[10]=d,t[11]=f,t[12]=n*y+o*m+h*g+e[12],t[13]=i*y+l*m+p*g+e[13],t[14]=s*y+u*m+d*g+e[14],t[15]=a*y+c*m+f*g+e[15]),t}function go(t,e,r){var n=r[0],i=r[1],s=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function xo(t,e,r){var n=Math.sin(r),i=Math.cos(r),s=e[4],a=e[5],o=e[6],l=e[7],u=e[8],c=e[9],h=e[10],p=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=s*i+u*n,t[5]=a*i+c*n,t[6]=o*i+h*n,t[7]=l*i+p*n,t[8]=u*i-s*n,t[9]=c*i-a*n,t[10]=h*i-o*n,t[11]=p*i-l*n,t}function vo(t,e,r){var n=Math.sin(r),i=Math.cos(r),s=e[0],a=e[1],o=e[2],l=e[3],u=e[8],c=e[9],h=e[10],p=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*i-u*n,t[1]=a*i-c*n,t[2]=o*i-h*n,t[3]=l*i-p*n,t[8]=s*n+u*i,t[9]=a*n+c*i,t[10]=o*n+h*i,t[11]=l*n+p*i,t}function bo(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function wo(t,e,r){var n,i,s,a=r[0],o=r[1],l=r[2],u=Math.hypot(a,o,l);return u0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t}function Vo(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Lo(t,e,r){var n=e[0],i=e[1],s=e[2],a=r[0],o=r[1],l=r[2];return t[0]=i*l-s*o,t[1]=s*a-n*l,t[2]=n*o-i*a,t}function Fo(t,e,r){var n=e[0],i=e[1],s=e[2],a=r[3]*n+r[7]*i+r[11]*s+r[15];return t[0]=(r[0]*n+r[4]*i+r[8]*s+r[12])/(a=a||1),t[1]=(r[1]*n+r[5]*i+r[9]*s+r[13])/a,t[2]=(r[2]*n+r[6]*i+r[10]*s+r[14])/a,t}function Ro(t,e,r){var n=r[0],i=r[1],s=r[2],a=e[0],o=e[1],l=e[2],u=i*l-s*o,c=s*a-n*l,h=n*o-i*a,p=i*h-s*c,d=s*u-n*h,f=n*c-i*u,y=2*r[3];return c*=y,h*=y,d*=2,f*=2,t[0]=a+(u*=y)+(p*=2),t[1]=o+c+d,t[2]=l+h+f,t}var Uo,$o=To,jo=zo,Oo=ko;function qo(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}function No(t,e){var r=e[0],n=e[1],i=e[2],s=e[3],a=r*r+n*n+i*i+s*s;return a>0&&(a=1/Math.sqrt(a)),t[0]=r*a,t[1]=n*a,t[2]=i*a,t[3]=s*a,t}function Go(t,e,r){var n=e[0],i=e[1],s=e[2],a=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*s+r[12]*a,t[1]=r[1]*n+r[5]*i+r[9]*s+r[13]*a,t[2]=r[2]*n+r[6]*i+r[10]*s+r[14]*a,t[3]=r[3]*n+r[7]*i+r[11]*s+r[15]*a,t}function Zo(){var t=new uo(4);return uo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function Ko(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function Xo(t,e,r){r*=.5;var n=e[0],i=e[1],s=e[2],a=e[3],o=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*o,t[1]=i*l+s*o,t[2]=s*l-i*o,t[3]=a*l-n*o,t}function Jo(t,e,r){r*=.5;var n=e[0],i=e[1],s=e[2],a=e[3],o=Math.sin(r),l=Math.cos(r);return t[0]=n*l-s*o,t[1]=i*l+a*o,t[2]=s*l+n*o,t[3]=a*l-i*o,t}Ao(),Uo=new uo(4),uo!=Float32Array&&(Uo[0]=0,Uo[1]=0,Uo[2]=0,Uo[3]=0);var Ho=No;Ao(),Io(1,0,0),Io(0,1,0),Zo(),Zo(),co();const Yo=Rs([{type:"Float32",name:"a_globe_pos",components:3},{type:"Float32",name:"a_uv",components:2}]),{members:Wo}=Yo,Qo=Rs([{name:"a_pos_3",components:3,type:"Int16"}]);var tl=Rs([{name:"a_pos",type:"Int16",components:2}]);class el{constructor(t,e){this.pos=t,this.dir=e;}intersectsPlane(t,e,r){const n=Vo(e,this.dir);if(Math.abs(n)<1e-6)return !1;const i=((t[0]-this.pos[0])*e[0]+(t[1]-this.pos[1])*e[1]+(t[2]-this.pos[2])*e[2])/n;return r[0]=this.pos[0]+this.dir[0]*i,r[1]=this.pos[1]+this.dir[1]*i,r[2]=this.pos[2]+this.dir[2]*i,!0}closestPointOnSphere(t,e,r){if(function(t,e){var r=t[0],n=t[1],i=t[2],s=e[0],a=e[1],o=e[2];return Math.abs(r-s)<=lo*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(n-a)<=lo*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(i-o)<=lo*Math.max(1,Math.abs(i),Math.abs(o))}(this.pos,t)||0===e)return r[0]=r[1]=r[2]=0,!1;const[n,i,s]=this.dir,a=this.pos[0]-t[0],o=this.pos[1]-t[1],l=this.pos[2]-t[2],u=n*n+i*i+s*s,c=2*(a*n+o*i+l*s),h=c*c-4*u*(a*a+o*o+l*l-e*e);if(h<0){const t=Math.max(-c/2,0),u=a+n*t,h=o+i*t,p=l+s*t,d=Math.hypot(u,h,p);return r[0]=u*e/d,r[1]=h*e/d,r[2]=p*e/d,!1}{const t=(-c-Math.sqrt(h))/(2*u);if(t<0){const t=Math.hypot(a,o,l);return r[0]=a*e/t,r[1]=o*e/t,r[2]=l*e/t,!1}return r[0]=a+n*t,r[1]=o+i*t,r[2]=l+s*t,!0}}}class rl{constructor(t,e,r,n,i){this.TL=t,this.TR=e,this.BR=r,this.BL=n,this.horizon=i;}static fromInvProjectionMatrix(t,e,r){const n=[-1,1,1],i=[1,1,1],s=[1,-1,1],a=[-1,-1,1],o=Fo(n,n,t),l=Fo(i,i,t),u=Fo(s,s,t),c=Fo(a,a,t);return new rl(o,l,u,c,e/r)}}class nl{constructor(t,e){this.points=t,this.planes=e;}static fromInvProjectionMatrix(t,e,r,n){const i=Math.pow(2,r),s=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((r=>{const s=Go([],r,t),a=1/s[3]/e*i;return function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}(s,s,[a,a,n?1/s[3]:a,a])})),a=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((t=>{const e=Do([],Lo([],$o([],s[t[0]],s[t[1]]),$o([],s[t[2]],s[t[1]]))),r=-Vo(e,s[t[1]]);return e.concat(r)}));return new nl(s,a)}}class il{static fromPoints(t){const e=[1/0,1/0,1/0],r=[-1/0,-1/0,-1/0];for(const n of t)Bo(e,e,n),Eo(r,r,n);return new il(e,r)}static applyTransform(t,e){const r=t.getCorners();for(let t=0;t=0;if(0===s)return 0;s!==e.length&&(r=!1);}if(r)return 2;for(let e=0;e<3;e++){let r=Number.MAX_VALUE,n=-Number.MAX_VALUE;for(let i=0;ithis.max[e]-this.min[e])return 0}return 1}}const sl=5,al=6,ol=ao/Math.PI/2,ll=16383,ul=64,cl=[ul,32,16],hl=-ol,pl=ol,dl=[new il([hl,hl,hl],[pl,pl,pl]),new il([hl,hl,hl],[0,0,pl]),new il([0,hl,hl],[pl,0,pl]),new il([hl,0,hl],[0,pl,pl]),new il([0,0,hl],[pl,pl,pl])];function fl(t){return t*ol/Ul}function yl(t,e,r,n=!0){const i=Co([],t._camera.position,t.worldSize),s=[e,r,1,1];Go(s,s,t.pixelMatrixInverse),qo(s,s,1/s[3]);const a=Do([],$o([],s,i)),o=t.globeMatrix,l=[o[12],o[13],o[14]],u=$o([],l,i),c=ko(u),h=Do([],u),p=t.worldSize/(2*Math.PI),d=Vo(h,a),f=Math.asin(p/c);if(f1?null:function(t,e,r,n){const i=Math.sin(r);return t*(Math.sin((1-n)*r)/i)+e*(Math.sin(n*r)/i)}(t.a[e],t.b[e],t.angle,M(r,0,1))+t.center[e]}function xl(t){if(t.z<=1)return dl[t.z+2*t.y+t.x];const e=Sl(Al(t));return il.fromPoints(e)}function vl(t,e,r){return Co(t,t,1-r),Po(t,t,e,r)}function bl(t,e){const r=Pl(e.zoom);if(0===r)return xl(t);const n=Al(t),i=Sl(n),s=Nl(n.getWest())*e.worldSize,a=Nl(n.getEast())*e.worldSize,o=Gl(n.getNorth())*e.worldSize,l=Gl(n.getSouth())*e.worldSize,u=[s,o,0],c=[a,o,0],h=[s,l,0],p=[a,l,0],d=fo([],e.globeMatrix);return Fo(u,u,d),Fo(c,c,d),Fo(h,h,d),Fo(p,p,d),i[0]=vl(i[0],h,r),i[1]=vl(i[1],p,r),i[2]=vl(i[2],c,r),i[3]=vl(i[3],u,r),il.fromPoints(i)}function wl(t,e,r){for(const n of t)Fo(n,n,e),Co(n,n,r);}function _l(t,e,r){const n=e/t.worldSize,i=t.globeMatrix;if(r.z<=1){const t=xl(r).getCorners();return wl(t,i,n),il.fromPoints(t)}const s=Al(r),a=Sl(s);wl(a,i,n);const o=Number.MAX_VALUE,l=[-o,-o,-o],u=[o,o,o];if(s.contains(t.center)){for(const t of a)Bo(u,u,t),Eo(l,l,t);l[2]=0;const e=t.point,r=[e.x*n,e.y*n,0];return Bo(u,u,r),Eo(l,l,r),new il(u,l)}const c=[i[12]*n,i[13]*n,i[14]*n],h=s.getCenter(),p=M(t.center.lat,-Hl,Hl),d=M(h.lat,-Hl,Hl),f=Nl(t.center.lng),y=Gl(p);let m=f-Nl(h.lng);const g=y-Gl(d);m>.5?m-=1:m<-.5&&(m+=1);let x=0;Math.abs(m)>Math.abs(g)?x=m>=0?1:3:(x=g>=0?0:2,Po(c,c,[i[4]*n,i[5]*n,i[6]*n],-Math.sin(w(g>=0?s.getSouth():s.getNorth()))*ol));const v=a[x],b=a[(x+1)%4],_=new ml(v,b,c),A=[gl(_,0)||v[0],gl(_,1)||v[1],gl(_,2)||v[2]],S=Pl(t.zoom);if(S>0){const n=function({x:t,y:e,z:r},n,i,s,a){const o=1/(1<.5?p=-1:d<-.5&&(p=1),l=((l+p)*n-(s*=n))*i+s,u=((u+p)*n-s)*i+s,c=(c*n-(a*=n))*i+a,h=(h*n-a)*i+a,[[l,h,0],[u,h,0],[u,c,0],[l,c,0]]}(r,e,t._pixelsPerMercatorPixel,f,y);for(let t=0;tMath.PI/2*1.01}const Ll=w(85),Fl=Math.cos(Ll),Rl=Math.sin(Ll),Ul=6371008.8,$l=2*Math.PI*Ul;class jl{constructor(t,e){if(isNaN(t)||isNaN(e))throw new Error(`Invalid LngLat object: (${t}, ${e})`);if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new jl(z(this.lng,-180,180),this.lat)}toArray(){return [this.lng,this.lat]}toString(){return `LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return Ul*Math.acos(Math.min(i,1))}toBounds(t=0){const e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new oo(new jl(this.lng-r,this.lat-e),new jl(this.lng+r,this.lat+e))}toEcef(t){const e=fl(t);return Il(this.lat,this.lng,ol+e)}static convert(t){if(t instanceof jl)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new jl(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new jl(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}var Ol=jl;function ql(t){return $l*Math.cos(t*Math.PI/180)}function Nl(t){return (180+t)/360}function Gl(t){return (180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Zl(t,e){return t/ql(e)}function Kl(t){return 360*t-180}function Xl(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}function Jl(t,e){return t*ql(Xl(e))}const Hl=85.051129;function Yl(t){return 1/Math.cos(t*Math.PI/180)}class Wl{constructor(t,e,r=0){this.x=+t,this.y=+e,this.z=+r;}static fromLngLat(t,e=0){const r=Ol.convert(t);return new Wl(Nl(r.lng),Gl(r.lat),Zl(e,r.lat))}toLngLat(){return new Ol(Kl(this.x),Xl(this.y))}toAltitude(){return Jl(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/$l*Yl(Xl(this.y))}}function Ql(t,e,r,n,i,s,a,o,l){const u=(e+n)/2,c=(r+i)/2,h=new x(u,c);o(h),function(t,e,r,n,i,s){const a=r-i,o=n-s;return Math.abs((n-e)*a-(r-t)*o)/Math.hypot(a,o)}(h.x,h.y,s.x,s.y,a.x,a.y)>=l?(Ql(t,e,r,u,c,s,h,o,l),Ql(t,u,c,n,i,h,a,o,l)):t.push(a);}function tu(t,e,r){let n=t[0],i=n.x,s=n.y;e(n);const a=[n];for(let o=1;ot.x+1||nt.y+1)&&N("Geometry exceeds allowed extent, reduce your vector tile buffer size"),t}function au(t,e,r){const n=t.loadGeometry(),i=t.extent,s=ao/i;if(e&&r&&r.projection.isReprojectedInTileSpace){const s=1<{const r=Kl((e.x+t.x/i)/s),n=Xl((e.y+t.y/i)/s),c=u.project(r,n);t.x=(c.x*a-o)*i,t.y=(c.y*a-l)*i;};for(let e=0;e=i||r.y<0||r.y>=i||(c(r),t.push(r));n[e]=t;}}for(const t of n)for(const e of t)su(e,s);return n}function ou(t,e){return {type:t.type,id:t.id,properties:t.properties,geometry:e?au(t):[]}}function lu(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2);}function uu(t,e,r){const n=16384;t.emplaceBack(e.x,e.y,e.z,r[0]*n,r[1]*n,r[2]*n);}class cu{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.projection=t.projection,this.layoutVertexArray=new $s,this.indexArray=new ra,this.segments=new so,this.programConfigurations=new Ja(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r,n){const i=this.layers[0],s=[];let a=null;"circle"===i.type&&(a=i.layout.get("circle-sort-key"));for(const{feature:e,id:i,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=ou(e,t);if(!this.layers[0]._featureFilter.filter(new ws(this.zoom),u,r))continue;const c=a?a.evaluate(u,{},r):void 0,h={id:i,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:au(e,r,n),patterns:{},sortKey:c};s.push(h);}a&&s.sort(((t,e)=>t.sortKey-e.sortKey));let o=null;"globe"===n.projection.name&&(this.globeExtVertexArray=new Ks,o=n.projection);for(const n of s){const{geometry:i,index:s,sourceLayerIndex:a}=n,l=t[s].feature;this.addFeature(n,i,s,e.availableImages,r,o),e.featureIndex.insert(l,i,s,a,this.index);}}update(t,e,r,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r,n);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,no.members),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.globeExtVertexArray&&(this.globeExtVertexBuffer=t.createVertexBuffer(this.globeExtVertexArray,io.members))),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.globeExtVertexBuffer&&this.globeExtVertexBuffer.destroy());}addFeature(t,e,r,n,i,s){for(const r of e)for(const e of r){const r=e.x,n=e.y;if(r<0||r>=ao||n<0||n>=ao)continue;if(s){const t=s.projectTilePoint(r,n,i),e=s.upVector(i,r,n),a=this.globeExtVertexArray;uu(a,t,e),uu(a,t,e),uu(a,t,e),uu(a,t,e);}const a=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),o=a.vertexLength;lu(this.layoutVertexArray,r,n,-1,-1),lu(this.layoutVertexArray,r,n,1,-1),lu(this.layoutVertexArray,r,n,1,1),lu(this.layoutVertexArray,r,n,-1,1),this.indexArray.emplaceBack(o,o+1,o+2),this.indexArray.emplaceBack(o,o+2,o+3),a.vertexLength+=4,a.primitiveLength+=2;}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n,i);}}function hu(t,e){for(let r=0;r1){if(yu(t,e))return !0;for(let n=0;n1?r:r.sub(e)._mult(i)._add(e))}function vu(t,e){let r,n,i,s=!1;for(let a=0;ae.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(s=!s);}return s}function bu(t,e){let r=!1;for(let n=0,i=t.length-1;ne.y!=a.y>e.y&&e.x<(a.x-s.x)*(e.y-s.y)/(a.y-s.y)+s.x&&(r=!r);}return r}function wu(t,e,r,n,i){for(const s of t)if(e<=s.x&&r<=s.y&&n>=s.x&&i>=s.y)return !0;const s=[new x(e,r),new x(e,i),new x(n,i),new x(n,r)];if(t.length>2)for(const e of s)if(bu(t,e))return !0;for(let e=0;ei.x&&e.x>i.x||t.yi.y&&e.y>i.y)return !1;const s=G(t,e,r[0]);return s!==G(t,e,r[1])||s!==G(t,e,r[2])||s!==G(t,e,r[3])}function Au(t,e,r){const n=e.paint.get(t).value;return "constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Su(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function ku(t,e,r,n,i){if(!e[0]&&!e[1])return t;const s=x.convert(e)._mult(i);"viewport"===r&&s._rotate(-n);const a=[];for(let e=0;e0){const t=r.projection.upVector(u,h.x,h.y);d.x+=t[0]*c*p,d.y+=t[1]*c*p,d.z+=t[2]*c*p;}const f=s?h:Bu(d.x,d.y,d.z,n),y=s?t.tilespaceRays.map((t=>Pu(t,p))):t.queryGeometry.screenGeometry,m=Go([],[d.x,d.y,d.z,1],n);if(!a&&s?l*=m[3]/r.cameraToCenterDistance:a&&!s&&(l*=r.cameraToCenterDistance/m[3]),s){const t=Xl((e.y/ao+u.y)/(1<t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");const a=t.data,o=e.data;for(let l=0;l{e[t.evaluationKey]=s;const a=t.expression.evaluate(e);i.data[r+n+0]=Math.floor(255*a.r/a.a),i.data[r+n+1]=Math.floor(255*a.g/a.a),i.data[r+n+2]=Math.floor(255*a.b/a.a),i.data[r+n+3]=Math.floor(255*a.a);};if(t.clips)for(let e=0,i=0;e80*r){n=s=t[0],i=a=t[1];for(var f=r;fs&&(s=o),l>a&&(a=l);u=0!==(u=Math.max(s-n,a-i))?32767/u:0;}return Ju(p,d,r,n,i,u,0),d}function Ku(t,e,r,n,i){var s,a;if(i===gc(t,e,r,n)>0)for(s=e;s=e;s-=n)a=fc(s,t[s],t[s+1],a);return a&&lc(a,a.next)&&(yc(a),a=a.next),a}function Xu(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!lc(n,n.next)&&0!==oc(n.prev,n,n.next))n=n.next;else {if(yc(n),(n=e=n.prev)===n.next)break;r=!0;}}while(r||n!==e);return e}function Ju(t,e,r,n,i,s,a){if(t){!a&&s&&function(t,e,r,n){var i=t;do{0===i.z&&(i.z=nc(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,s,a,o,l,u=1;do{for(r=t,t=null,s=null,a=0;r;){for(a++,n=r,o=0,e=0;e0||l>0&&n;)0!==o&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,o--):(i=n,n=n.nextZ,l--),s?s.nextZ=i:t=i,i.prevZ=s,s=i;r=n;}s.nextZ=null,u*=2;}while(a>1)}(i);}(t,n,i,s);for(var o,l,u=t;t.prev!==t.next;)if(o=t.prev,l=t.next,s?Yu(t,n,i,s):Hu(t))e.push(o.i/r|0),e.push(t.i/r|0),e.push(l.i/r|0),yc(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?Ju(t=Wu(Xu(t),e,r),e,r,n,i,s,2):2===a&&Qu(t,e,r,n,i,s):Ju(Xu(t),e,r,n,i,s,1);break}}}function Hu(t){var e=t.prev,r=t,n=t.next;if(oc(e,r,n)>=0)return !1;for(var i=e.x,s=r.x,a=n.x,o=e.y,l=r.y,u=n.y,c=is?i>a?i:a:s>a?s:a,d=o>l?o>u?o:u:l>u?l:u,f=n.next;f!==e;){if(f.x>=c&&f.x<=p&&f.y>=h&&f.y<=d&&sc(i,o,s,l,a,u,f.x,f.y)&&oc(f.prev,f,f.next)>=0)return !1;f=f.next;}return !0}function Yu(t,e,r,n){var i=t.prev,s=t,a=t.next;if(oc(i,s,a)>=0)return !1;for(var o=i.x,l=s.x,u=a.x,c=i.y,h=s.y,p=a.y,d=ol?o>u?o:u:l>u?l:u,m=c>h?c>p?c:p:h>p?h:p,g=nc(d,f,e,r,n),x=nc(y,m,e,r,n),v=t.prevZ,b=t.nextZ;v&&v.z>=g&&b&&b.z<=x;){if(v.x>=d&&v.x<=y&&v.y>=f&&v.y<=m&&v!==i&&v!==a&&sc(o,c,l,h,u,p,v.x,v.y)&&oc(v.prev,v,v.next)>=0)return !1;if(v=v.prevZ,b.x>=d&&b.x<=y&&b.y>=f&&b.y<=m&&b!==i&&b!==a&&sc(o,c,l,h,u,p,b.x,b.y)&&oc(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}for(;v&&v.z>=g;){if(v.x>=d&&v.x<=y&&v.y>=f&&v.y<=m&&v!==i&&v!==a&&sc(o,c,l,h,u,p,v.x,v.y)&&oc(v.prev,v,v.next)>=0)return !1;v=v.prevZ;}for(;b&&b.z<=x;){if(b.x>=d&&b.x<=y&&b.y>=f&&b.y<=m&&b!==i&&b!==a&&sc(o,c,l,h,u,p,b.x,b.y)&&oc(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}return !0}function Wu(t,e,r){var n=t;do{var i=n.prev,s=n.next.next;!lc(i,s)&&uc(i,n,n.next,s)&&pc(i,s)&&pc(s,i)&&(e.push(i.i/r|0),e.push(n.i/r|0),e.push(s.i/r|0),yc(n),yc(n.next),n=t=s),n=n.next;}while(n!==t);return Xu(n)}function Qu(t,e,r,n,i,s){var a=t;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&ac(a,o)){var l=dc(a,o);return a=Xu(a,a.next),l=Xu(l,l.next),Ju(a,e,r,n,i,s,0),void Ju(l,e,r,n,i,s,0)}o=o.next;}a=a.next;}while(a!==t)}function tc(t,e){return t.x-e.x}function ec(t,e){var r=function(t,e){var r,n=e,i=t.x,s=t.y,a=-1/0;do{if(s<=n.y&&s>=n.next.y&&n.next.y!==n.y){var o=n.x+(s-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(o<=i&&o>a&&(a=o,r=n.x=n.x&&n.x>=c&&i!==n.x&&sc(sr.x||n.x===r.x&&rc(r,n)))&&(r=n,p=l)),n=n.next;}while(n!==u);return r}(t,e);if(!r)return e;var n=dc(r,t);return Xu(n,n.next),Xu(r,r.next)}function rc(t,e){return oc(t.prev,t,e.prev)<0&&oc(e.next,t,t.next)<0}function nc(t,e,r,n,i){return (t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function ic(t){var e=t,r=t;do{(e.x=(t-a)*(s-o)&&(t-a)*(n-o)>=(r-a)*(e-o)&&(r-a)*(s-o)>=(i-a)*(n-o)}function ac(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&uc(r,r.next,t,e))return !0;r=r.next;}while(r!==t);return !1}(t,e)&&(pc(t,e)&&pc(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,s=(t.y+e.y)/2;do{r.y>s!=r.next.y>s&&r.next.y!==r.y&&i<(r.next.x-r.x)*(s-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;}while(r!==t);return n}(t,e)&&(oc(t.prev,t,e.prev)||oc(t,e.prev,e))||lc(t,e)&&oc(t.prev,t,t.next)>0&&oc(e.prev,e,e.next)>0)}function oc(t,e,r){return (e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function lc(t,e){return t.x===e.x&&t.y===e.y}function uc(t,e,r,n){var i=hc(oc(t,e,r)),s=hc(oc(t,e,n)),a=hc(oc(r,n,t)),o=hc(oc(r,n,e));return i!==s&&a!==o||!(0!==i||!cc(t,r,e))||!(0!==s||!cc(t,n,e))||!(0!==a||!cc(r,t,n))||!(0!==o||!cc(r,e,n))}function cc(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function hc(t){return t>0?1:t<0?-1:0}function pc(t,e){return oc(t.prev,t,t.next)<0?oc(t,e,t.next)>=0&&oc(t,t.prev,e)>=0:oc(t,e,t.prev)<0||oc(t,t.next,e)<0}function dc(t,e){var r=new mc(t.i,t.x,t.y),n=new mc(e.i,e.x,e.y),i=t.next,s=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,s.next=n,n.prev=s,n}function fc(t,e,r,n){var i=new mc(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function yc(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 mc(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1;}function gc(t,e,r,n){for(var i=0,s=e,a=r-n;s0&&r.holes.push(n+=t[i-1].length);}return r};var xc=p(Gu.exports);function vc(t,e,r,n,i){bc(t,e,r||0,n||t.length-1,i||_c);}function bc(t,e,r,n,i){for(;n>r;){if(n-r>600){var s=n-r+1,a=e-r+1,o=Math.log(s),l=.5*Math.exp(2*o/3),u=.5*Math.sqrt(o*l*(s-l)/s)*(a-s/2<0?-1:1);bc(t,e,Math.max(r,Math.floor(e-a*l/s+u)),Math.min(n,Math.floor(e+(s-a)*l/s+u)),i);}var c=t[e],h=r,p=n;for(wc(t,r,e),i(t[n],c)>0&&wc(t,r,n);h0;)p--;}0===i(t[r],c)?wc(t,r,p):wc(t,++p,n),p<=e&&(r=p+1),e<=p&&(n=p-1);}}function wc(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}function _c(t,e){return te?1:0}function Ac(t,e){const r=t.length;if(r<=1)return [t];const n=[];let i,s;for(let e=0;e1)for(let t=0;tt.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new $s,this.indexArray=new ra,this.indexArray2=new la,this.programConfigurations=new Ja(t.layers,t.zoom),this.segments=new so,this.segments2=new so,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.projection=t.projection;}populate(t,e,r,n){this.hasPattern=kc("fill",this.layers,e);const i=this.layers[0].layout.get("fill-sort-key"),s=[];for(const{feature:a,id:o,index:l,sourceLayerIndex:u}of t){const t=this.layers[0]._featureFilter.needGeometry,c=ou(a,t);if(!this.layers[0]._featureFilter.filter(new ws(this.zoom),c,r))continue;const h=i?i.evaluate(c,{},r,e.availableImages):void 0,p={id:o,properties:a.properties,type:a.type,sourceLayerIndex:u,index:l,geometry:t?c.geometry:au(a,r,n),patterns:{},sortKey:h};s.push(p);}i&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of s){const{geometry:i,index:s,sourceLayerIndex:a}=n;if(this.hasPattern){const t=Ic("fill",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,s,r,{},e.availableImages);e.featureIndex.insert(t[s].feature,i,s,a,this.index);}}update(t,e,r,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r,n);}addFeatures(t,e,r,n,i){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r,n);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Nu),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy());}addFeature(t,e,r,n,i,s=[]){for(const t of Ac(e,500)){let e=0;for(const r of t)e+=r.length;const r=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),n=r.vertexLength,i=[],s=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&s.push(i.length/2);const r=this.segments2.prepareSegment(e.length,this.layoutVertexArray,this.indexArray2),n=r.vertexLength;this.layoutVertexArray.emplaceBack(e[0].x,e[0].y),this.indexArray2.emplaceBack(n+e.length-1,n),i.push(e[0].x),i.push(e[0].y);for(let t=1;t>3;}if(i--,1===n||2===n)s+=t.readSVarint(),a+=t.readSVarint(),1===n&&(e&&o.push(e),e=[]),e.push(new Vc(s,a));else {if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone());}}return e&&o.push(e),o},Fc.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,s=0,a=1/0,o=-1/0,l=1/0,u=-1/0;t.pos>3;}if(n--,1===r||2===r)(i+=t.readSVarint())o&&(o=i),(s+=t.readSVarint())u&&(u=s);else if(7!==r)throw new Error("unknown command "+r)}return [a,l,o,u]},Fc.prototype.toGeoJSON=function(t,e,r){var n,i,s=this.extent*Math.pow(2,r),a=this.extent*t,o=this.extent*e,l=this.loadGeometry(),u=Fc.types[this.type];function c(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null;}return e}(r));}Oc.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new $c(this._pbf,e,this.extent,this._keys,this._values)};var Nc=jc;function Gc(t,e,r){if(3===t){var n=new Nc(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n);}}var Zc=Dc.VectorTile=function(t,e){this.layers=t.readFields(Gc,{},e);},Kc=Dc.VectorTileFeature=Lc;function Xc(t,e,r,n){const i=[],s=0===n?(t,e,r,n,i,s)=>{t.push(new x(s,r+(s-e)/(n-e)*(i-r)));}:(t,e,r,n,i,s)=>{t.push(new x(e+(s-r)/(i-r)*(n-e),s));};for(const a of t){const t=[];for(const i of a){if(i.length<=2)continue;const a=[];for(let t=0;te&&s(a,o,l,u,c,e):h>r?p=e&&s(a,o,l,u,c,e),p>r&&h<=r&&s(a,o,l,u,c,r);}let o=i[i.length-1];const l=0===n?o.x:o.y;l>=e&&l<=r&&a.push(o),a.length&&(o=a[a.length-1],a[0].x===o.x&&a[0].y===o.y||a.push(a[0]),t.push(a));}t.length&&i.push(t);}return i}Dc.VectorTileLayer=jc;const Jc=Kc.types,Hc=Math.pow(2,13);function Yc(t,e,r,n,i,s,a,o){t.emplaceBack((e<<1)+a,(r<<1)+s,(Math.floor(n*Hc)<<1)+i,Math.round(o));}function Wc(t,e,r){const n=16384;t.emplaceBack(e.x,e.y,e.z,r[0]*n,r[1]*n,r[2]*n);}class Qc{constructor(){this.acc=new x(0,0),this.polyCount=[];}startRing(t){this.currentPolyCount={edges:0,top:0},this.polyCount.push(this.currentPolyCount),this.min||(this.min=new x(t.x,t.y),this.max=new x(t.x,t.y));}append(t,e){this.currentPolyCount.edges++,this.acc._add(t);const r=this.min,n=this.max;t.xn.x&&(n.x=t.x),t.yn.y&&(n.y=t.y),((0===t.x||t.x===ao)&&t.x===e.x)!=((0===t.y||t.y===ao)&&t.y===e.y)&&this.processBorderOverlap(t,e),e.x<0!=t.x<0&&this.addBorderIntersection(0,Er(e.y,t.y,(0-e.x)/(t.x-e.x))),e.x>ao!=t.x>ao&&this.addBorderIntersection(1,Er(e.y,t.y,(ao-e.x)/(t.x-e.x))),e.y<0!=t.y<0&&this.addBorderIntersection(2,Er(e.x,t.x,(0-e.y)/(t.y-e.y))),e.y>ao!=t.y>ao&&this.addBorderIntersection(3,Er(e.x,t.x,(ao-e.y)/(t.y-e.y)));}addBorderIntersection(t,e){this.borders||(this.borders=[[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE]]);const r=this.borders[t];er[1]&&(r[1]=e);}processBorderOverlap(t,e){if(t.x===e.x){if(t.y===e.y)return;const r=0===t.x?0:1;this.addBorderIntersection(r,e.y),this.addBorderIntersection(r,t.y);}else {const r=0===t.y?2:3;this.addBorderIntersection(r,e.x),this.addBorderIntersection(r,t.x);}}centroid(){const t=this.polyCount.reduce(((t,e)=>t+e.edges),0);return 0!==t?this.acc.div(t)._round():new x(0,0)}span(){return new x(this.max.x-this.min.x,this.max.y-this.min.y)}intersectsCount(){return this.borders.reduce(((t,e)=>t+ +(e[0]!==Number.MAX_VALUE)),0)}}class th{constructor(t){this.zoom=t.zoom,this.canonical=t.canonical,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.edgeRadius=0,this.projection=t.projection,this.layoutVertexArray=new Os,this.centroidVertexArray=new wa,this.indexArray=new ra,this.programConfigurations=new Ja(t.layers,t.zoom),this.segments=new so,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.enableTerrain=t.enableTerrain;}populate(t,e,r,n){this.features=[],this.hasPattern=kc("fill-extrusion",this.layers,e),this.featuresOnBorder=[],this.borders=[[],[],[],[]],this.borderDoneWithNeighborZ=[-1,-1,-1,-1],this.tileToMeter=function(t){const e=Math.exp(Math.PI*(1-t.y/(1<=0;t--){const e=p[t];(0===e.length||(d=e[0]).every((t=>t.x<=0))||d.every((t=>t.x>=ao))||d.every((t=>t.y<=0))||d.every((t=>t.y>=ao)))&&p.splice(t,1);}var d;let f;if(u)f=lh(p,o,n);else {f=[];for(const t of p)f.push({polygon:t,bounds:o});}const y=h?this.edgeRadius:0;for(const{polygon:t,bounds:e}of f){let r=0,i=0;for(const e of t)h&&!e[0].equals(e[e.length-1])&&e.push(e[0]),i+=h?e.length-1:e.length;const s=this.segments.prepareSegment((h?5:4)*i,this.layoutVertexArray,this.indexArray);if(h){const e=[],i=[];r=s.vertexLength;for(const r of t){let a,o;r.length&&r!==t[0]&&i.push(e.length/2),a=r[1].sub(r[0])._perp()._unit();for(let t=1;t4&&sh(i[i.length-2],i[0],i[1]),d=y?rh(i[i.length-2],i[0],i[1],y):0;a=i[1].sub(i[0])._perp()._unit();let f=!0;for(let m=1,g=0;m0?1:0,S=x.dist(v);if(g+S>32768&&(g=0),y){o=b.sub(v)._perp()._unit();let t=nh(x,v,b,eh(a,o),y);isNaN(t)&&(t=0);const e=v.sub(x)._unit();x=x.add(e.mult(d))._round(),v=v.add(e.mult(-t))._round(),d=t,a=o;}const k=s.vertexLength,I=i.length>4&&sh(x,v,b);let M=ah(g,p,f);if(Yc(this.layoutVertexArray,x.x,x.y,_,A,0,0,M),Yc(this.layoutVertexArray,x.x,x.y,_,A,0,1,M),g+=S,M=ah(g,I,!f),p=I,Yc(this.layoutVertexArray,v.x,v.y,_,A,0,0,M),Yc(this.layoutVertexArray,v.x,v.y,_,A,0,1,M),s.vertexLength+=4,this.indexArray.emplaceBack(k+0,k+1,k+2),this.indexArray.emplaceBack(k+1,k+3,k+2),s.primitiveLength+=2,y){const n=r+(1===m?i.length-2:m-2),a=1===m?r:n+1;if(this.indexArray.emplaceBack(k+1,n,k+3),this.indexArray.emplaceBack(n,a,k+3),s.primitiveLength+=2,void 0===t&&(t=k),!ih(b,i[m],e)){const e=m===i.length-1?t:s.vertexLength;this.indexArray.emplaceBack(k+2,k+3,e),this.indexArray.emplaceBack(k+3,e+1,e),this.indexArray.emplaceBack(k+3,a,e+1),s.primitiveLength+=3;}f=!f;}if(u){const t=this.layoutVertexExtArray,e=l.projectTilePoint(x.x,x.y,n),r=l.projectTilePoint(v.x,v.y,n),i=l.upVector(n,x.x,x.y),s=l.upVector(n,v.x,v.y);Wc(t,e,i),Wc(t,e,i),Wc(t,r,s),Wc(t,r,s);}}h&&(r+=i.length-1);}}if(c&&c.polyCount.length>0){if(c.borders){c.vertexArrayOffset=this.centroidVertexArray.length;const t=c.borders,e=this.featuresOnBorder.push(c)-1;for(let r=0;r<4;r++)t[r][0]!==Number.MAX_VALUE&&this.borders[r].push(e);}this.encodeCentroid(c.borders?void 0:c.centroid(),c);}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,s,n);}sortBorders(){for(let t=0;t<4;t++)this.borders[t].sort(((e,r)=>this.featuresOnBorder[e].borders[t][0]-this.featuresOnBorder[r].borders[t][0]));}encodeCentroid(t,e,r=!0){let n,i;if(t)if(0!==t.y){const r=e.span()._mult(this.tileToMeter);n=(Math.max(t.x,1)<<3)+Math.min(7,Math.round(r.x/10)),i=(Math.max(t.y,1)<<3)+Math.min(7,Math.round(r.y/10));}else n=Math.ceil(7*(t.x+450)),i=0;else n=0,i=+r;let s=r?this.centroidVertexArray.length:e.vertexArrayOffset;for(const t of e.polyCount){r&&this.centroidVertexArray.resize(this.centroidVertexArray.length+4*t.edges+t.top);for(let e=0;er[1].x&&e.x>r[1].x||t.yr[1].y&&e.y>r[1].y}function sh(t,e,r){if(t.x<0||t.x>=ao||e.x<0||e.x>=ao||r.x<0||r.x>=ao)return !1;const n=r.sub(e),i=n.perp(),s=t.sub(e);return (n.x*s.x+n.y*s.y)/Math.sqrt((n.x*n.x+n.y*n.y)*(s.x*s.x+s.y*s.y))>-.866&&i.x*s.x+i.y*s.y<0}function ah(t,e,r){const n=e?2|t:-3&t;return r?1|n:-2&n}function oh(){const t=Math.PI/32,e=Math.tan(t),r=Ul;return r*Math.sqrt(1+2*e*e)-r}function lh(t,e,r){const n=1<{for(const r of t)a.push({polygon:r,bounds:e});},l=Math.ceil(Math.log2(r)),u=Math.ceil(Math.log2(n)),c=l-u,h=[];for(let t=0;t0?0:1);for(let t=0;te+1?d.push({polygons:p,bounds:t,depth:e+1}):o(p,t);}if(f.length){const t=[new x(0===r?c:n.x,1===r?c:n.y),a];h.length>e+1?d.push({polygons:f,bounds:t,depth:e+1}):o(f,t);}}return a}(t,e,Math.ceil((s-i)/11.25),Math.ceil((a-o)/11.25),1,((t,e,i)=>{if(0===t)return .5*(e+i);{const t=Xl((r.y+e/ao)/n);return (Gl(.5*(Xl((r.y+i/ao)/n)+t))*n-r.y)*ao}}))}Ji(th,"FillExtrusionBucket",{omit:["layers","features"]}),Ji(Qc,"PartMetadata");const uh=new Ps({"fill-extrusion-edge-radius":new Bs(te["layout_fill-extrusion"]["fill-extrusion-edge-radius"])});var ch={paint:new Ps({"fill-extrusion-opacity":new Bs(te["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new Es(te["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Bs(te["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Bs(te["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Es(te["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new Es(te["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new Es(te["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Bs(te["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"]),"fill-extrusion-ambient-occlusion-intensity":new Bs(te["paint_fill-extrusion"]["fill-extrusion-ambient-occlusion-intensity"]),"fill-extrusion-ambient-occlusion-radius":new Bs(te["paint_fill-extrusion"]["fill-extrusion-ambient-occlusion-radius"]),"fill-extrusion-rounded-roof":new Bs(te["paint_fill-extrusion"]["fill-extrusion-rounded-roof"])}),layout:uh};function hh(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return [t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}class ph{constructor(t,e,r){this.z=t,this.x=e,this.y=r,this.key=yh(0,t,t,e,r);}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e){const r=function(t,e,r){var n=hh(256*t,256*(e=Math.pow(2,r)-e-1),r),i=hh(256*(t+1),256*(e+1),r);return n[0]+","+n[1]+","+i[0]+","+i[1]}(this.x,this.y,this.z),n=function(t,e,r){let n,i="";for(let s=t;s>0;s--)n=1<this.canonical.z?new fh(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new fh(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e=!0){if(this.overscaledZ===t&&e)return this.key;if(t>this.canonical.z)return yh(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y);{const r=this.canonical.z-t;return yh(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)}}isChildOf(t){if(t.wrap!==this.wrap)return !1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return [new fh(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return [new fh(e,this.wrap,e,r,n),new fh(e,this.wrap,e,r+1,n),new fh(e,this.wrap,e,r,n+1),new fh(e,this.wrap,e,r+1,n+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.yt.id)),this.index=t.index,this.projection=t.projection,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={};})),this.layoutVertexArray=new qs,this.layoutVertexArray2=new Ns,this.indexArray=new ra,this.programConfigurations=new Ja(t.layers,t.zoom),this.segments=new so,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r,n){this.hasPattern=kc("line",this.layers,e);const i=this.layers[0].layout.get("line-sort-key"),s=[];for(const{feature:e,id:a,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=ou(e,t);if(!this.layers[0]._featureFilter.filter(new ws(this.zoom),u,r))continue;const c=i?i.evaluate(u,{},r):void 0,h={id:a,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:au(e,r,n),patterns:{},sortKey:c};s.push(h);}i&&s.sort(((t,e)=>t.sortKey-e.sortKey));const{lineAtlas:a,featureIndex:o}=e,l=this.addConstantDashes(a);for(const n of s){const{geometry:i,index:s,sourceLayerIndex:u}=n;if(l&&this.addFeatureDashes(n,a),this.hasPattern){const t=Ic("line",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,s,r,a.positions,e.availableImages);o.insert(t[s].feature,i,s,u,this.index);}}addConstantDashes(t){let e=!1;for(const r of this.layers){const n=r.paint.get("line-dasharray").value,i=r.layout.get("line-cap").value;if("constant"!==n.kind||"constant"!==i.kind)e=!0;else {const e=i.value,r=n.value;if(!r)continue;t.addDash(r,e);}}return e}addFeatureDashes(t,e){const r=this.zoom;for(const n of this.layers){const i=n.paint.get("line-dasharray").value,s=n.layout.get("line-cap").value;if("constant"===i.kind&&"constant"===s.kind)continue;let a,o;if("constant"===i.kind){if(a=i.value,!a)continue}else a=i.evaluate({zoom:r},t);o="constant"===s.kind?s.value:s.evaluate({zoom:r},t),e.addDash(a,o),t.patterns[n.id]=e.getKey(a,o);}}update(t,e,r,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r,n);}addFeatures(t,e,r,n,i){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r,n);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Ah)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,wh),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());}lineFeatureClips(t){if(t.properties&&t.properties.hasOwnProperty("mapbox_clip_start")&&t.properties.hasOwnProperty("mapbox_clip_end"))return {start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,r,n,i,s){const a=this.layers[0].layout,o=a.get("line-join").evaluate(t,{}),l=a.get("line-cap").evaluate(t,{}),u=a.get("line-miter-limit"),c=a.get("line-round-limit");this.lineClips=this.lineFeatureClips(t);for(const r of e)this.addLine(r,t,o,l,u,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,s,n);}addLine(t,e,r,n,i,s){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineSoFar=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[o-1].equals(t[o-2]);)o--;let l=0;for(;l0;if(w&&e>l){const t=h.dist(p);if(t>2*u){const e=h.sub(h.sub(p)._mult(u/t)._round());this.updateDistance(p,e),this.addCurrentVertex(e,f,0,0,c),p=e;}}const A=p&&d;let S=A?r:a?"butt":n;if(A&&"round"===S&&(vi&&(S="bevel"),"bevel"===S&&(v>2&&(S="flipbevel"),v100)m=y.mult(-1);else {const t=v*f.add(y).mag()/f.sub(y).mag();m._perp()._mult(t*(_?-1:1));}this.addCurrentVertex(h,m,0,0,c),this.addCurrentVertex(h,m.mult(-1),0,0,c);}else if("bevel"===S||"fakeround"===S){const t=-Math.sqrt(v*v-1),e=_?t:0,r=_?0:t;if(p&&this.addCurrentVertex(h,f,e,r,c),"fakeround"===S){const t=Math.round(180*b/Math.PI/20);for(let e=1;e2*u){const e=h.add(d.sub(h)._mult(u/t)._round());this.updateDistance(h,e),this.addCurrentVertex(e,y,0,0,c),h=e;}}}}addCurrentVertex(t,e,r,n,i,s=!1){const a=e.y*n-e.x,o=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*r,e.y-e.x*r,s,!1,r,i),this.addHalfVertex(t,a,o,s,!0,-n,i);}addHalfVertex({x:t,y:e},r,n,i,s,a,o){this.layoutVertexArray.emplaceBack((t<<1)+(i?1:0),(e<<1)+(s?1:0),Math.round(63*r)+128,Math.round(63*n)+128,1+(0===a?0:a<0?-1:1),0,this.lineSoFar),this.lineClips&&this.layoutVertexArray2.emplaceBack(this.scaledDistance,this.lineClipsArray.length,this.lineClips.start,this.lineClips.end);const l=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,l),o.primitiveLength++),s?this.e2=l:this.e1=l;}updateScaledDistance(){if(this.lineClips){const t=this.totalDistance/(this.lineClips.end-this.lineClips.start);this.scaledDistance=this.distance/this.totalDistance,this.lineSoFar=t*this.lineClips.start+this.distance;}else this.lineSoFar=this.distance;}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance();}}Ji(Ih,"LineBucket",{omit:["layers","patternFeatures"]});const Mh=new Ps({"line-cap":new Es(te.layout_line["line-cap"]),"line-join":new Es(te.layout_line["line-join"]),"line-miter-limit":new Bs(te.layout_line["line-miter-limit"]),"line-round-limit":new Bs(te.layout_line["line-round-limit"]),"line-sort-key":new Es(te.layout_line["line-sort-key"])});var Th={paint:new Ps({"line-opacity":new Es(te.paint_line["line-opacity"]),"line-color":new Es(te.paint_line["line-color"]),"line-translate":new Bs(te.paint_line["line-translate"]),"line-translate-anchor":new Bs(te.paint_line["line-translate-anchor"]),"line-width":new Es(te.paint_line["line-width"]),"line-gap-width":new Es(te.paint_line["line-gap-width"]),"line-offset":new Es(te.paint_line["line-offset"]),"line-blur":new Es(te.paint_line["line-blur"]),"line-dasharray":new Es(te.paint_line["line-dasharray"]),"line-pattern":new Es(te.paint_line["line-pattern"]),"line-gradient":new Cs(te.paint_line["line-gradient"]),"line-trim-offset":new Bs(te.paint_line["line-trim-offset"])}),layout:Mh};const zh=new class extends Es{possiblyEvaluate(t,e){return e=new ws(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,r,n){return e=C({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,r,n)}}(Th.paint.properties["line-width"].specification);function Bh(t,e){return e>0?e+2*t:t}zh.useIntegerZoom=!0;const Eh=Rs([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_tex_size",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Ch=Rs([{name:"a_globe_anchor",components:3,type:"Int16"},{name:"a_globe_normal",components:3,type:"Float32"}],4),Ph=Rs([{name:"a_projected_pos",components:4,type:"Float32"}],4);Rs([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const Dh=Rs([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}]),Vh=Rs([{name:"a_size_scale",components:1,type:"Float32"},{name:"a_padding",components:2,type:"Float32"}]);Rs([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Int16",name:"tileAnchorX"},{type:"Int16",name:"tileAnchorY"},{type:"Float32",name:"x1"},{type:"Float32",name:"y1"},{type:"Float32",name:"x2"},{type:"Float32",name:"y2"},{type:"Int16",name:"padding"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const Lh=Rs([{name:"a_pos",components:3,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),Fh=Rs([{name:"a_pos_2f",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);Rs([{name:"triangle",components:3,type:"Uint16"}]),Rs([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Float32",name:"tileAnchorX"},{type:"Float32",name:"tileAnchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"},{type:"Uint8",name:"flipState"}]),Rs([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Float32",name:"tileAnchorX"},{type:"Float32",name:"tileAnchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),Rs([{type:"Float32",name:"offsetX"}]),Rs([{type:"Int16",name:"x"},{type:"Int16",name:"y"}]);var Rh=24;const Uh=128;function $h(t,e){const{expression:r}=e;if("constant"===r.kind)return {kind:"constant",layoutSize:r.evaluate(new ws(t+1))};if("source"===r.kind)return {kind:"source"};{const{zoomStops:e,interpolationType:n}=r;let i=0;for(;i{t.text=function(t,e,r){const n=e.layout.get("text-transform").evaluate(r,{});return "uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),bs.applyArabicShaping&&(t=bs.applyArabicShaping(t)),t}(t.text,e,r);})),t}const Gh={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂","←":"↑","→":"↓"};function Zh(t){return "︶"===t||"﹈"===t||"︸"===t||"﹄"===t||"﹂"===t||"︾"===t||"︼"===t||"︺"===t||"︘"===t||"﹀"===t||"︐"===t||"︓"===t||"︔"===t||"`"===t||" ̄"===t||"︑"===t||"︒"===t}function Kh(t){return "︵"===t||"﹇"===t||"︷"===t||"﹃"===t||"﹁"===t||"︽"===t||"︻"===t||"︹"===t||"︗"===t||"︿"===t}var Xh=Yh,Jh=function(t,e,r,n,i){var s,a,o=8*i-n-1,l=(1<>1,c=-7,h=r?i-1:0,p=r?-1:1,d=t[e+h];for(h+=p,s=d&(1<<-c)-1,d>>=-c,c+=o;c>0;s=256*s+t[e+h],h+=p,c-=8);for(a=s&(1<<-c)-1,s>>=-c,c+=n;c>0;a=256*a+t[e+h],h+=p,c-=8);if(0===s)s=1-u;else {if(s===l)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,n),s-=u;}return (d?-1:1)*a*Math.pow(2,s-n)},Hh=function(t,e,r,n,i,s){var a,o,l,u=8*s-i-1,c=(1<>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:s-1,f=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),(e+=a+h>=1?p/l:p*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=c?(o=0,a=c):a+h>=1?(o=(e*l-1)*Math.pow(2,i),a+=h):(o=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[r+d]=255&o,d+=f,o/=256,i-=8);for(a=a<0;t[r+d]=255&a,d+=f,a/=256,u-=8);t[r+d-f]|=128*y;}; + /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */function Yh(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length;}Yh.Varint=0,Yh.Fixed64=1,Yh.Bytes=2,Yh.Fixed32=5;var Wh=4294967296,Qh=1/Wh,tp="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function ep(t){return t.type===Yh.Bytes?t.readVarint()+t.pos:t.pos+1}function rp(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function np(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i];}function ip(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24;}function yp(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}Yh.prototype={destroy:function(){this.buf=null;},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,s=this.pos;this.type=7&n,t(i,e,this),this.pos===s&&this.skip(n);}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=dp(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=yp(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=dp(this.buf,this.pos)+dp(this.buf,this.pos+4)*Wh;return this.pos+=8,t},readSFixed64:function(){var t=dp(this.buf,this.pos)+yp(this.buf,this.pos+4)*Wh;return this.pos+=8,t},readFloat:function(){var t=Jh(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Jh(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,s=r.buf;if(n=(112&(i=s[r.pos++]))>>4,i<128)return rp(t,n,e);if(n|=(127&(i=s[r.pos++]))<<3,i<128)return rp(t,n,e);if(n|=(127&(i=s[r.pos++]))<<10,i<128)return rp(t,n,e);if(n|=(127&(i=s[r.pos++]))<<17,i<128)return rp(t,n,e);if(n|=(127&(i=s[r.pos++]))<<24,i<128)return rp(t,n,e);if(n|=(1&(i=s[r.pos++]))<<31,i<128)return rp(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&tp?function(t,e,r){return tp.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(s=t[i+1]))&&(u=(31&l)<<6|63&s)<=127&&(u=null):3===c?(a=t[i+2],128==(192&(s=t[i+1]))&&128==(192&a)&&((u=(15&l)<<12|(63&s)<<6|63&a)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+2],o=t[i+3],128==(192&(s=t[i+1]))&&128==(192&a)&&128==(192&o)&&((u=(15&l)<<18|(63&s)<<12|(63&a)<<6|63&o)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c;}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==Yh.Bytes)return t.push(this.readVarint(e));var r=ep(this);for(t=t||[];this.pos127;);else if(e===Yh.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Yh.Fixed32)this.pos+=4;else {if(e!==Yh.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8;}},writeTag:function(t,e){this.writeVarint(t<<3|e);},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,r.buf[r.pos]=127&(t>>>=7);}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))));}(n,e);}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))));},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t);},writeBoolean:function(t){this.writeVarint(Boolean(t));},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,s=0;s55295&&n<57344){if(!i){n>56319||s+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null;}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128);}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&np(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r;},writeFloat:function(t){this.realloc(4),Hh(this.buf,t,this.pos,!0,23,4),this.pos+=4;},writeDouble:function(t){this.realloc(8),Hh(this.buf,t,this.pos,!0,52,8),this.pos+=8;},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&np(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n;},writeMessage:function(t,e,r){this.writeTag(t,Yh.Bytes),this.writeRawMessage(e,r);},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,ip,e);},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,sp,e);},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,lp,e);},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,ap,e);},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,op,e);},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,up,e);},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,cp,e);},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,hp,e);},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,pp,e);},writeBytesField:function(t,e){this.writeTag(t,Yh.Bytes),this.writeBytes(e);},writeFixed32Field:function(t,e){this.writeTag(t,Yh.Fixed32),this.writeFixed32(e);},writeSFixed32Field:function(t,e){this.writeTag(t,Yh.Fixed32),this.writeSFixed32(e);},writeFixed64Field:function(t,e){this.writeTag(t,Yh.Fixed64),this.writeFixed64(e);},writeSFixed64Field:function(t,e){this.writeTag(t,Yh.Fixed64),this.writeSFixed64(e);},writeVarintField:function(t,e){this.writeTag(t,Yh.Varint),this.writeVarint(e);},writeSVarintField:function(t,e){this.writeTag(t,Yh.Varint),this.writeSVarint(e);},writeStringField:function(t,e){this.writeTag(t,Yh.Bytes),this.writeString(e);},writeFloatField:function(t,e){this.writeTag(t,Yh.Fixed32),this.writeFloat(e);},writeDoubleField:function(t,e){this.writeTag(t,Yh.Fixed64),this.writeDouble(e);},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e));}};var mp=p(Xh);const gp=3;function xp(t,e,r){e.glyphs=[],1===t&&r.readMessage(vp,e);}function vp(t,e,r){if(3===t){const{id:t,bitmap:n,width:i,height:s,left:a,top:o,advance:l}=r.readMessage(bp,{});e.glyphs.push({id:t,bitmap:new Ru({width:i+2*gp,height:s+2*gp},n),metrics:{width:i,height:s,left:a,top:o,advance:l}});}else 4===t?e.ascender=r.readSVarint():5===t&&(e.descender=r.readSVarint());}function bp(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint());}const wp=gp;function _p(t){let e=0,r=0;for(const n of t)e+=n.w*n.h,r=Math.max(r,n.w);t.sort(((t,e)=>e.h-t.h));const n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}];let i=0,s=0;for(const e of t)for(let t=n.length-1;t>=0;t--){const r=n[t];if(!(e.w>r.w||e.h>r.h)){if(e.x=r.x,e.y=r.y,s=Math.max(s,e.y+e.h),i=Math.max(i,e.x+e.w),e.w===r.w&&e.h===r.h){const e=n.pop();tt.hasImage(e))),t.dispatchRenderCallbacks(this.haveRenderCallbacks);for(const r in t.updatedImages)this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e);}patchUpdatedImage(t,e,r){if(!t||!e)return;if(t.version===e.version)return;t.version=e.version;const[n,i]=t.tl;r.update(e.data,void 0,{x:n,y:i});}}Ji(Sp,"ImagePosition"),Ji(kp,"ImageAtlas");const Ip={horizontal:1,vertical:2,horizontalOnly:3},Mp=-17;class Tp{constructor(){this.scale=1,this.fontStack="",this.imageName=null;}static forText(t,e){const r=new Tp;return r.scale=t||1,r.fontStack=e,r}static forImage(t){const e=new Tp;return e.imageName=t,e}}class zp{constructor(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null;}static fromFeature(t,e){const r=new zp;for(let n=0;n=0&&r>=t&&Ep[this.text.charCodeAt(r)];r--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e);}substring(t,e){const r=new zp;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Tp.forText(t.scale,t.fontStack||e));const r=this.sections.length-1;for(let e=0;e=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Bp(t,e,r,n,i,s,a,o,l,u,c,h,p,d,f){const y=zp.fromFeature(t,i);h===Ip.vertical&&y.verticalizePunctuation(p);let m=[];const g=function(t,e,r,n,i,s){if(!t)return [];const a=[],o=function(t,e,r,n,i,s){let a=0;for(let r=0;r=0;let u=0;for(let r=0;r0&&s>w&&(w=s);}else {const t=r[o.fontStack];if(!t)continue;t[y]&&(S=t[y]);const n=e[o.fontStack];if(!n)continue;const s=n.glyphs[y];if(!s)continue;if(v=s.metrics,I=8203!==y?Rh:0,m){const t=void 0!==n.ascender?Math.abs(n.ascender):0,e=void 0!==n.descender?Math.abs(n.descender):0,r=(t+e)*g;_-r/2;){if(a--,a<0)return !1;o-=t[a].dist(s),s=t[a];}o+=t[a].dist(t[a+1]),a++;const l=[];let u=0;for(;on;)u-=l.shift().angleDelta;if(u>i)return !1;a++,o+=e.dist(r);}return !0}function Np(t){let e=0;for(let r=0;ru){const c=(u-l)/s,h=Er(n.x,i.x,c),p=Er(n.y,i.y,c),d=new Op(h,p,0,i.angleTo(n),r);return !a||qp(t,d,o,a,e)?d:void 0}l+=s;}}function Xp(t,e,r,n,i,s,a,o,l){const u=Gp(n,s,a),c=Zp(n,i),h=c*a,p=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&g=0&&x=0&&p+u<=c){const r=new Op(g,x,0,y,e);r._round(),n&&!qp(t,r,s,n,i)||d.push(r);}}h+=f;}return o||d.length||a||(d=Jp(t,h/2,r,n,i,s,a,!0,l)),d}function Hp(t,e,r,n,i){const s=[];for(let a=0;a=n&&u.x>=n||(a.x>=n?a=new x(n,a.y+(n-a.x)/(u.x-a.x)*(u.y-a.y))._round():u.x>=n&&(u=new x(n,a.y+(n-a.x)/(u.x-a.x)*(u.y-a.y))._round()),a.y>=i&&u.y>=i||(a.y>=i?a=new x(a.x+(i-a.y)/(u.y-a.y)*(u.x-a.x),i)._round():u.y>=i&&(u=new x(a.x+(i-a.y)/(u.y-a.y)*(u.x-a.x),i)._round()),l&&a.equals(l[l.length-1])||(l=[a],s.push(l)),l.push(u)))));}}return s}Ji(Op,"Anchor");const Yp=1e20;function Wp(t,e,r,n,i,s,a,o,l){for(let u=e;u-1);l++,s[l]=o,a[l]=u,a[l+1]=Yp;}for(let o=0,l=0;o{let n=this.entries[t];n||(n=this.entries[t]={glyphs:{},requests:{},ranges:{},ascender:void 0,descender:void 0});let i=n.glyphs[e];if(void 0!==i)return void r(null,{stack:t,id:e,glyph:i});if(i=this._tinySDF(n,t,e),i)return n.glyphs[e]=i,void r(null,{stack:t,id:e,glyph:i});const s=Math.floor(e/256);if(256*s>65535)return void r(new Error("glyphs > 65535 not supported"));if(n.ranges[s])return void r(null,{stack:t,id:e,glyph:i});let a=n.requests[s];a||(a=n.requests[s]=[],rd.loadGlyphRange(t,s,this.url,this.requestManager,((t,e)=>{if(e){n.ascender=e.ascender,n.descender=e.descender;for(const t in e.glyphs)this._doesCharSupportLocalGlyph(+t)||(n.glyphs[+t]=e.glyphs[+t]);n.ranges[s]=!0;}for(const r of a)r(t,e);delete n.requests[s];}))),a.push(((n,i)=>{n?r(n):i&&r(null,{stack:t,id:e,glyph:i.glyphs[e]||null});}));}),((t,r)=>{if(t)e(t);else if(r){const t={};for(const{stack:e,id:n,glyph:i}of r)void 0===t[e]&&(t[e]={}),void 0===t[e].glyphs&&(t[e].glyphs={}),t[e].glyphs[n]=i&&{id:i.id,bitmap:i.bitmap.clone(),metrics:i.metrics},t[e].ascender=this.entries[e].ascender,t[e].descender=this.entries[e].descender;e(null,t);}}));}_doesCharSupportLocalGlyph(t){return this.localGlyphMode!==ed.none&&(this.localGlyphMode===ed.all?!!this.localFontFamily:!!this.localFontFamily&&(ts["CJK Unified Ideographs"](t)||ts["Hangul Syllables"](t)||ts.Hiragana(t)||ts.Katakana(t)||ts["CJK Symbols and Punctuation"](t)))}_tinySDF(t,e,r){const n=this.localFontFamily;if(!n||!this._doesCharSupportLocalGlyph(r))return;let i=t.tinySDF;if(!i){let r="400";/bold/i.test(e)?r="900":/medium/i.test(e)?r="500":/light/i.test(e)&&(r="200"),i=t.tinySDF=new rd.TinySDF({fontFamily:n,fontWeight:r,fontSize:24*td,buffer:3*td,radius:8*td}),i.fontWeight=r;}if(this.localGlyphs[i.fontWeight][r])return this.localGlyphs[i.fontWeight][r];const s=String.fromCharCode(r),{data:a,width:o,height:l,glyphWidth:u,glyphHeight:c,glyphLeft:h,glyphTop:p,glyphAdvance:d}=i.draw(s);return this.localGlyphs[i.fontWeight][r]={id:r,bitmap:new Ru({width:o,height:l},a),metrics:{width:u/td,height:c/td,left:h/td,top:p/td-27,advance:d/td,localGlyph:!0}}}}rd.loadGlyphRange=function(t,e,r,n,i){const s=256*e,a=s+255,o=n.transformRequest(n.normalizeGlyphsURL(r).replace("{fontstack}",t).replace("{range}",`${s}-${a}`),lt.Glyphs);pt(o,((t,e)=>{if(t)i(t);else if(e){const t={},r=function(t){return new mp(t).readFields(xp,{})}(e);for(const e of r.glyphs)t[e.id]=e;i(null,{glyphs:t,ascender:r.ascender,descender:r.descender});}}));},rd.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:r=8,cutoff:n=.25,fontFamily:i="sans-serif",fontWeight:s="normal",fontStyle:a="normal"}={}){this.buffer=e,this.cutoff=n,this.radius=r;const o=this.size=t+4*e,l=this._createCanvas(o),u=this.ctx=l.getContext("2d",{willReadFrequently:!0});u.font=`${a} ${s} ${t}px ${i}`,u.textBaseline="alphabetic",u.textAlign="left",u.fillStyle="black",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Uint16Array(o);}_createCanvas(t){const e=document.createElement("canvas");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:r,actualBoundingBoxDescent:n,actualBoundingBoxLeft:i,actualBoundingBoxRight:s}=this.ctx.measureText(t),a=Math.ceil(r),o=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(s-i))),l=Math.min(this.size-this.buffer,a+Math.ceil(n)),u=o+2*this.buffer,c=l+2*this.buffer,h=Math.max(u*c,0),p=new Uint8ClampedArray(h),d={data:p,width:u,height:c,glyphWidth:o,glyphHeight:l,glyphTop:a,glyphLeft:0,glyphAdvance:e};if(0===o||0===l)return d;const{ctx:f,buffer:y,gridInner:m,gridOuter:g}=this;f.clearRect(y,y,o,l),f.fillText(t,y,y+a);const x=f.getImageData(y,y,o,l);g.fill(Yp,0,h),m.fill(0,0,h);for(let t=0;t0?t*t:0,m[n]=t<0?t*t:0;}}Wp(g,0,0,u,c,u,this.f,this.v,this.z),Wp(m,y,y,o,l,u,this.f,this.v,this.z);for(let t=0;tt+e[1]-e[0],f=h.reduce(d,0),y=p.reduce(d,0),m=o-f,g=l-y;let v=0,b=f,w=0,_=y,A=0,S=m,k=0,I=g;if(s.content&&n){const t=s.content;v=sd(h,0,t[0]),w=sd(p,0,t[1]),b=sd(h,t[0],t[2]),_=sd(p,t[1],t[3]),A=t[0]-v,k=t[1]-w,S=t[2]-t[0]-b,I=t[3]-t[1]-_;}const M=(n,i,o,l)=>{const h=od(n.stretch-v,b,u,t.left),p=ld(n.fixed-A,S,n.stretch,f),d=od(i.stretch-w,_,c,t.top),m=ld(i.fixed-k,I,i.stretch,y),g=od(o.stretch-v,b,u,t.left),M=ld(o.fixed-A,S,o.stretch,f),T=od(l.stretch-w,_,c,t.top),z=ld(l.fixed-k,I,l.stretch,y),B=new x(h,d),E=new x(g,d),C=new x(g,T),P=new x(h,T),D=new x(p/a,m/a),V=new x(M/a,z/a),L=e*Math.PI/180;if(L){const t=Math.sin(L),e=Math.cos(L),r=[e,-t,t,e];B._matMult(r),E._matMult(r),P._matMult(r),C._matMult(r);}const F=n.stretch+n.fixed,R=i.stretch+i.fixed;return {tl:B,tr:E,bl:P,br:C,tex:{x:s.paddedRect.x+nd+F,y:s.paddedRect.y+nd+R,w:o.stretch+o.fixed-F,h:l.stretch+l.fixed-R},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:V,minFontScaleX:S/a/u,minFontScaleY:I/a/c,isSDF:r}};if(n&&(s.stretchX||s.stretchY)){const t=ad(h,m,f),e=ad(p,g,y);for(let r=0;r0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t);}push(t){this.data.push(t),this.length++,this._up(this.length-1);}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,s=e[i];if(r(n,s)>=0)break;e[t]=s,t=i;}e[t]=n;}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=s,t=n;}e[t]=i;}}function hd(t,e){return te?1:0}function pd(t,e=1,r=!1){let n=1/0,i=1/0,s=-1/0,a=-1/0;const o=t[0];for(let t=0;ts)&&(s=e.x),(!t||e.y>a)&&(a=e.y);}const l=Math.min(s-n,a-i);let u=l/2;const c=new cd([],dd);if(0===l)return new x(n,i);for(let e=n;eh.d||!h.d)&&(h=n,r&&console.log("found best %d after %d probes",Math.round(1e4*n.d)/1e4,p)),n.max-h.d<=e||(u=n.h/2,c.push(new fd(n.p.x-u,n.p.y-u,u,t)),c.push(new fd(n.p.x+u,n.p.y-u,u,t)),c.push(new fd(n.p.x-u,n.p.y+u,u,t)),c.push(new fd(n.p.x+u,n.p.y+u,u,t)),p+=4);}return r&&(console.log(`num probes: ${p}`),console.log(`best distance: ${h.d}`)),h.p}function dd(t,e){return e.max-t.max}class fd{constructor(t,e,r,n){this.p=new x(t,e),this.h=r,this.d=function(t,e){let r=!1,n=1/0;for(let i=0;it.y!=o.y>t.y&&t.x<(o.x-i.x)*(t.y-i.y)/(o.y-i.y)+i.x&&(r=!r),n=Math.min(n,xu(t,i,o));}}return (r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2;}}const yd=7,md=Number.POSITIVE_INFINITY,gd=Math.sqrt(2);function xd(t,[e,r]){let n=0,i=0;if(r===md){e<0&&(e=0);const r=e/gd;switch(t){case"top-right":case"top-left":i=r-yd;break;case"bottom-right":case"bottom-left":i=-r+yd;break;case"bottom":i=-e+yd;break;case"top":i=e-yd;}switch(t){case"top-right":case"bottom-right":n=-r;break;case"top-left":case"bottom-left":n=r;break;case"left":n=e;break;case"right":n=-e;}}else {switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-yd;break;case"bottom-right":case"bottom-left":case"bottom":i=-r+yd;}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e;}}return [n,i]}function vd(t,e,r,n,i,s,a,o,l,u){t.createArrays(),t.tilePixelRatio=ao/(512*t.overscaling),t.compareText={},t.iconsNeedLinear=!1;const c=t.layers[0].layout,h=t.layers[0]._unevaluatedLayout._values,p={};if("composite"===t.textSizeData.kind){const{minZoom:e,maxZoom:r}=t.textSizeData;p.compositeTextSizes=[h["text-size"].possiblyEvaluate(new ws(e),o),h["text-size"].possiblyEvaluate(new ws(r),o)];}if("composite"===t.iconSizeData.kind){const{minZoom:e,maxZoom:r}=t.iconSizeData;p.compositeIconSizes=[h["icon-size"].possiblyEvaluate(new ws(e),o),h["icon-size"].possiblyEvaluate(new ws(r),o)];}p.layoutTextSize=h["text-size"].possiblyEvaluate(new ws(l+1),o),p.layoutIconSize=h["icon-size"].possiblyEvaluate(new ws(l+1),o),p.textMaxSize=h["text-size"].possiblyEvaluate(new ws(18),o);const d="map"===c.get("text-rotation-alignment")&&"point"!==c.get("symbol-placement"),f=c.get("text-size");for(const s of t.features){const l=c.get("text-font").evaluate(s,{},o).join(","),h=f.evaluate(s,{},o),y=p.layoutTextSize.evaluate(s,{},o),m=(p.layoutIconSize.evaluate(s,{},o),{horizontal:{},vertical:void 0}),g=s.text;let x,v=[0,0];if(g){const n=g.toString(),a=c.get("text-letter-spacing").evaluate(s,{},o)*Rh,u=c.get("text-line-height").evaluate(s,{},o)*Rh,p=rs(n)?a:0,f=c.get("text-anchor").evaluate(s,{},o),x=c.get("text-variable-anchor");if(!x){const t=c.get("text-radial-offset").evaluate(s,{},o);v=t?xd(f,[t*Rh,md]):c.get("text-offset").evaluate(s,{},o).map((t=>t*Rh));}let b=d?"center":c.get("text-justify").evaluate(s,{},o);const w="point"===c.get("symbol-placement"),_=w?c.get("text-max-width").evaluate(s,{},o)*Rh:1/0,A=s=>{t.allowVerticalPlacement&&es(n)&&(m.vertical=Bp(g,e,r,i,l,_,u,f,s,p,v,Ip.vertical,!0,y,h));};if(!d&&x){const t="auto"===b?x.map((t=>bd(t))):[b];let n=!1;for(let s=0;s=0||!es(n)){const t=Bp(g,e,r,i,l,_,u,f,b,p,v,Ip.horizontal,!1,y,h);t&&(m.horizontal[b]=t);}A(w?"left":b);}}let b=!1;if(s.icon&&s.icon.name){const e=n[s.icon.name];e&&(x=$p(i[s.icon.name],c.get("icon-offset").evaluate(s,{},o),c.get("icon-anchor").evaluate(s,{},o)),b=e.sdf,void 0===t.sdfIcons?t.sdfIcons=e.sdf:t.sdfIcons!==e.sdf&&N("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),(e.pixelRatio!==t.pixelRatio||0!==c.get("icon-rotate").constantOr(1))&&(t.iconsNeedLinear=!0));}const w=kd(m.horizontal)||m.vertical;t.iconsInText||(t.iconsInText=!!w&&w.iconsInText),(w||x)&&wd(t,s,m,x,n,p,y,0,v,b,a,o,u);}s&&t.generateCollisionDebugBuffers(l,t.collisionBoxArray);}function bd(t){switch(t){case"right":case"top-right":case"bottom-right":return "right";case"left":case"top-left":case"bottom-left":return "left"}return "center"}function wd(t,e,r,n,i,s,a,o,l,u,c,h,p){let d=s.textMaxSize.evaluate(e,{},h);void 0===d&&(d=a);const f=t.layers[0].layout,y=f.get("icon-offset").evaluate(e,{},h),m=kd(r.horizontal)||r.vertical,g="globe"===p.name,x=Rh,v=a/x,b=t.tilePixelRatio*d/x,_=(B=t.overscaling,t.zoom>18&&B>2&&(B>>=1),Math.max(ao/(512*B),1)*f.get("symbol-spacing")),A=f.get("text-padding")*t.tilePixelRatio,S=f.get("icon-padding")*t.tilePixelRatio,k=w(f.get("text-max-angle")),I="map"===f.get("text-rotation-alignment")&&"point"!==f.get("symbol-placement"),M="map"===f.get("icon-rotation-alignment")&&"point"!==f.get("symbol-placement"),T=f.get("symbol-placement"),z=_/2;var B;const E=f.get("icon-text-fit");let C;n&&"none"!==E&&(t.allowVerticalPlacement&&r.vertical&&(C=jp(n,r.vertical,E,f.get("icon-text-fit-padding"),y,v)),m&&(n=jp(n,m,E,f.get("icon-text-fit-padding"),y,v)));const P=(a,o,d)=>{if(o.x<0||o.x>=ao||o.y<0||o.y>=ao)return;let f=null;if(g){const{x:t,y:e,z:r}=p.projectTilePoint(o.x,o.y,d);f={anchor:new Op(t,e,r,0,void 0),up:p.upVector(d,o.x,o.y)};}!function(t,e,r,n,i,s,a,o,l,u,c,h,p,d,f,y,m,g,x,v,b,w,_,A,S){const k=t.addToLineVertexArray(e,n);let I,M,T,z,B,E,C,P=0,D=0,V=0,L=0,F=-1,R=-1;const U={};let $=Ba("");const j=r?r.anchor:e;let O=0,q=0;if(void 0===l._unevaluatedLayout.getValue("text-radial-offset")?[O,q]=l.layout.get("text-offset").evaluate(b,{},S).map((t=>t*Rh)):(O=l.layout.get("text-radial-offset").evaluate(b,{},S)*Rh,q=md),t.allowVerticalPlacement&&i.vertical){const t=i.vertical;if(f)E=Md(t),o&&(C=Md(o));else {const r=l.layout.get("text-rotate").evaluate(b,{},S)+90;T=Id(u,j,e,c,h,p,t,d,r,y),o&&(z=Id(u,j,e,c,h,p,o,g,r));}}if(s){const n=l.layout.get("icon-rotate").evaluate(b,{},S),i="none"!==l.layout.get("icon-text-fit"),a=id(s,n,_,i),d=o?id(o,n,_,i):void 0;M=Id(u,j,e,c,h,p,s,g,n),P=4*a.length;const f=t.iconSizeData;let y=null;"source"===f.kind?(y=[Uh*l.layout.get("icon-size").evaluate(b,{},S)],y[0]>Ad&&N(`${t.layerIds[0]}: Value for "icon-size" is >= ${_d}. Reduce your "icon-size".`)):"composite"===f.kind&&(y=[Uh*w.compositeIconSizes[0].evaluate(b,{},S),Uh*w.compositeIconSizes[1].evaluate(b,{},S)],(y[0]>Ad||y[1]>Ad)&&N(`${t.layerIds[0]}: Value for "icon-size" is >= ${_d}. Reduce your "icon-size".`)),t.addSymbols(t.icon,a,y,v,x,b,!1,r,e,k.lineStartIndex,k.lineLength,-1,A,S),F=t.icon.placedSymbolArray.length-1,d&&(D=4*d.length,t.addSymbols(t.icon,d,y,v,x,b,Ip.vertical,r,e,k.lineStartIndex,k.lineLength,-1,A,S),R=t.icon.placedSymbolArray.length-1);}for(const n in i.horizontal){const s=i.horizontal[n];I||($=Ba(s.text),f?B=Md(s):I=Id(u,j,e,c,h,p,s,d,l.layout.get("text-rotate").evaluate(b,{},S),y));const o=1===s.positionedLines.length;if(V+=Sd(t,r,e,s,a,l,f,b,y,k,i.vertical?Ip.horizontal:Ip.horizontalOnly,o?Object.keys(i.horizontal):[n],U,F,w,A,S),o)break}i.vertical&&(L+=Sd(t,r,e,i.vertical,a,l,f,b,y,k,Ip.vertical,["vertical"],U,R,w,A,S));let G=-1;const Z=(t,e)=>t?Math.max(t,e):e;G=Z(B,G),G=Z(E,G),G=Z(C,G);const K=G>-1?1:0;t.glyphOffsetArray.length>=of.MAX_GLYPHS&&N("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(j.x,j.y,j.z,e.x,e.y,U.right>=0?U.right:-1,U.center>=0?U.center:-1,U.left>=0?U.left:-1,U.vertical>=0?U.vertical:-1,F,R,$,void 0!==I?I:t.collisionBoxArray.length,void 0!==I?I+1:t.collisionBoxArray.length,void 0!==T?T:t.collisionBoxArray.length,void 0!==T?T+1:t.collisionBoxArray.length,void 0!==M?M:t.collisionBoxArray.length,void 0!==M?M+1:t.collisionBoxArray.length,z||t.collisionBoxArray.length,z?z+1:t.collisionBoxArray.length,c,V,L,P,D,K,0,O,q,G);}(t,o,f,a,r,n,i,C,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,A,I,l,0,S,M,y,e,s,u,c,h);};if("line"===T)for(const i of Hp(e.geometry,0,0,ao,ao)){const e=Xp(i,_,k,r.vertical||m,n,x,b,t.overscaling,ao);for(const r of e)m&&Td(t,m.text,z,r)||P(i,r,h);}else if("line-center"===T){for(const t of e.geometry)if(t.length>1){const e=Kp(t,k,r.vertical||m,n,x,b);e&&P(t,e,h);}}else if("Polygon"===e.type)for(const t of Ac(e.geometry,0)){const e=pd(t,16);P(t[0],new Op(e.x,e.y,0,0,void 0),h);}else if("LineString"===e.type)for(const t of e.geometry)P(t,new Op(t[0].x,t[0].y,0,0,void 0),h);else if("Point"===e.type)for(const t of e.geometry)for(const e of t)P([e],new Op(e.x,e.y,0,0,void 0),h);}const _d=255,Ad=_d*Uh;function Sd(t,e,r,n,i,s,a,o,l,u,c,h,p,d,f,y,m){const g=function(t,e,r,n,i,s,a,o){const l=[];if(0===e.positionedLines.length)return l;const u=n.layout.get("text-rotate").evaluate(s,{})*Math.PI/180,c=function(t){const e=t[0],r=t[1],n=e*r;return n>0?[e,-r]:n<0?[-e,r]:0===e?[r,e]:[r,-e]}(r);let h=Math.abs(e.top-e.bottom);for(const t of e.positionedLines)h-=t.lineOffset;const p=e.positionedLines.length,d=h/p;let f=e.top-r[1];for(let t=0;tAd&&N(`${t.layerIds[0]}: Value for "text-size" is >= ${_d}. Reduce your "text-size".`)):"composite"===v.kind&&(b=[Uh*f.compositeTextSizes[0].evaluate(o,{},m),Uh*f.compositeTextSizes[1].evaluate(o,{},m)],(b[0]>Ad||b[1]>Ad)&&N(`${t.layerIds[0]}: Value for "text-size" is >= ${_d}. Reduce your "text-size".`)),t.addSymbols(t.text,g,b,l,a,o,c,e,r,u.lineStartIndex,u.lineLength,d,y,m);for(const e of h)p[e]=t.text.placedSymbolArray.length-1;return 4*g.length}function kd(t){for(const e in t)return t[e];return null}function Id(t,e,r,n,i,s,a,o,l,u){let c=a.top,h=a.bottom,p=a.left,d=a.right;const f=a.collisionPadding;if(f&&(p-=f[0],c-=f[1],d+=f[2],h+=f[3]),l){const t=new x(p,c),e=new x(d,c),r=new x(p,h),n=new x(d,h),i=w(l);let s=new x(0,0);u&&(s=new x(u[0],u[1])),t._rotateAround(i,s),e._rotateAround(i,s),r._rotateAround(i,s),n._rotateAround(i,s),p=Math.min(t.x,e.x,r.x,n.x),d=Math.max(t.x,e.x,r.x,n.x),c=Math.min(t.y,e.y,r.y,n.y),h=Math.max(t.y,e.y,r.y,n.y);}return t.emplaceBack(e.x,e.y,e.z,r.x,r.y,p,c,d,h,o,n,i,s),t.length-1}function Md(t){t.collisionPadding&&(t.top-=t.collisionPadding[1],t.bottom+=t.collisionPadding[3]);const e=t.bottom-t.top;return e>0?Math.max(10,e):null}function Td(t,e,r,n){const i=t.compareText;if(e in i){const t=i[e];for(let e=t.length-1;e>=0;e--)if(n.dist(t[e])v&&(b(t,u,n,i,o,l),b(u,r,o,l,s,a));}b(h,p,n,s,i,s),b(p,d,i,s,i,a),b(d,f,i,a,n,a),b(f,h,n,a,n,s),y-=v,m-=v,g+=v,x+=v;const w=1/Math.max(g-y,x-m);return {scale:w,x:y*w,y:m*w,x2:g*w,y2:x*w,projection:e}}const Ed=po(new Float32Array(16));class Cd{constructor(t){this.spec=t,this.name=t.name,this.wrap=!1,this.requiresDraping=!1,this.supportsWorldCopies=!1,this.supportsTerrain=!1,this.supportsFog=!1,this.supportsFreeCamera=!1,this.zAxisUnit="meters",this.isReprojectedInTileSpace=!0,this.unsupportedLayers=["custom"],this.center=[0,0],this.range=[3.5,7];}project(t,e){return {x:0,y:0,z:0}}unproject(t,e){return new Ol(0,0)}projectTilePoint(t,e,r){return {x:t,y:e,z:0}}locationPoint(t,e,r=!0){return t._coordinatePoint(t.locationCoordinate(e),r)}pixelsPerMeter(t,e){return Zl(1,t)*e}pixelSpaceConversion(t,e,r){return 1}farthestPixelDistance(t){return zd(t,t.pixelsPerMeter)}pointCoordinate(t,e,r,n){const i=t.horizonLineFromTop(!1),s=new x(e,Math.max(i,r));return t.rayIntersectionCoordinate(t.pointRayIntersection(s,n))}pointCoordinate3D(t,e,r){const n=new x(e,r);if(t.elevation)return t.elevation.pointCoordinate(n);{const e=this.pointCoordinate(t,n.x,n.y,0);return [e.x,e.y,e.z]}}isPointAboveHorizon(t,e){if(t.elevation)return !this.pointCoordinate3D(t,e.x,e.y);const r=t.horizonLineFromTop();return e.y0?e<-jd+r&&(e=-jd+r):e>jd-r&&(e=jd-r);const s=i/Math.pow(Od(e),n);let a=s*Math.sin(n*t),o=i-s*Math.cos(n*t);return a=.5*(a/Math.PI+.5),o=.5*(o/Math.PI+.5),{x:a,y:this.southernCenter?o:1-o,z:0}}unproject(t,e){t=(2*t-.5)*Math.PI,this.southernCenter&&(e=1-e),e=(2*(1-e)-.5)*Math.PI;const{n:r,f:n}=this,i=n-e,s=Math.sign(i),a=Math.sign(r)*Math.sqrt(t*t+i*i);let o=Math.atan2(t,Math.abs(i))*s;i*r<0&&(o-=Math.PI*Math.sign(t)*s);const l=M(_(o/r)+this.center[0],-180,180),u=M(_(2*Math.atan(Math.pow(n/a,1/r))-jd),-Hl,Hl);return new Ol(l,this.southernCenter?-u:u)}}class Nd extends Cd{constructor(t){super(t),this.wrap=!0,this.supportsWorldCopies=!0,this.supportsTerrain=!0,this.supportsFog=!0,this.supportsFreeCamera=!0,this.isReprojectedInTileSpace=!1,this.unsupportedLayers=[],this.range=null;}project(t,e){return {x:Nl(t),y:Gl(e),z:0}}unproject(t,e){const r=Kl(t),n=Xl(e);return new Ol(r,n)}}const Gd=w(Hl);class Zd extends Cd{project(t,e){const r=(e=w(e))*e,n=r*r;return {x:.5*((t=w(t))*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791))/Math.PI+.5),y:1-.5*(e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))/Math.PI+1),z:0}}unproject(t,e){t=(2*t-.5)*Math.PI;let r=e=(2*(1-e)-1)*Math.PI,n=25,i=0,s=r*r;do{s=r*r;const t=s*s;i=(r*(1.007226+s*(.015085+t*(.028874*s-.044475-.005916*t)))-e)/(1.007226+s*(.045255+t*(.259866*s-.311325-.005916*11*t))),r=M(r-i,-Gd,Gd);}while(Math.abs(i)>1e-6&&--n>0);s=r*r;const a=M(_(t/(.8707+s*(s*(s*s*s*(.003971-.001529*s)-.013791)-.131979))),-180,180),o=_(r);return new Ol(a,o)}}const Kd=w(Hl);class Xd extends Cd{project(t,e){e=w(e),t=w(t);const r=Math.cos(e),n=2/Math.PI,i=Math.acos(r*Math.cos(t/2)),s=Math.sin(i)/i,a=.5*(t*n+2*r*Math.sin(t/2)/s)||0,o=.5*(e+Math.sin(e)/s)||0;return {x:.5*(a/Math.PI+.5),y:1-.5*(o/Math.PI+1),z:0}}unproject(t,e){let r=t=(2*t-.5)*Math.PI,n=e=(2*(1-e)-1)*Math.PI,i=25;const s=1e-6;let a=0,o=0;do{const i=Math.cos(n),s=Math.sin(n),l=2*s*i,u=s*s,c=i*i,h=Math.cos(r/2),p=Math.sin(r/2),d=2*h*p,f=p*p,y=1-c*h*h,m=y?1/y:0,g=y?Math.acos(i*h)*Math.sqrt(1/y):0,x=.5*(2*g*i*p+2*r/Math.PI)-t,v=.5*(g*s+n)-e,b=.5*m*(c*f+g*i*h*u)+1/Math.PI,w=m*(d*l/4-g*s*p),_=.125*m*(l*p-g*s*c*d),A=.5*m*(u*h+g*f*i)+.5,S=w*_-A*b;a=(v*w-x*A)/S,o=(x*_-v*b)/S,r=M(r-a,-Math.PI,Math.PI),n=M(n-o,-Kd,Kd);}while((Math.abs(a)>s||Math.abs(o)>s)&&--i>0);return new Ol(_(r),_(n))}}class Jd extends Cd{constructor(t){super(t),this.center=t.center||[0,0],this.parallels=t.parallels||[0,0],this.cosPhi=Math.max(.01,Math.cos(w(this.parallels[0]))),this.scale=1/(2*Math.max(Math.PI*this.cosPhi,1/this.cosPhi)),this.wrap=!0,this.supportsWorldCopies=!0;}project(t,e){const{scale:r,cosPhi:n}=this;return {x:w(t)*n*r+.5,y:-Math.sin(w(e))/n*r+.5,z:0}}unproject(t,e){const{scale:r,cosPhi:n}=this,i=-(e-.5)/r,s=M(_((t-.5)/r)/n,-180,180),a=Math.asin(M(i*n,-1,1)),o=M(_(a),-Hl,Hl);return new Ol(s,o)}}class Hd extends Nd{constructor(t){super(t),this.requiresDraping=!0,this.supportsWorldCopies=!1,this.supportsFog=!0,this.zAxisUnit="pixels",this.unsupportedLayers=["debug"],this.range=[3,5];}projectTilePoint(t,e,r){const n=Ml(t,e,r);return Fo(n,n,Bl(xl(r))),{x:n[0],y:n[1],z:n[2]}}locationPoint(t,e){const r=Il(e.lat,e.lng),n=Do([],r),i=t.elevation?t.elevation.getAtPointOrZero(t.locationCoordinate(e),t._centerAltitude):t._centerAltitude;Po(r,r,n,Zl(1,0)*ao*i);const s=po(new Float64Array(16));return yo(s,t.pixelMatrix,t.globeMatrix),Fo(r,r,s),new x(r[0],r[1])}pixelsPerMeter(t,e){return Zl(1,0)*e}pixelSpaceConversion(t,e,r){const n=Zl(1,t)*e,i=Er(Zl(1,45)*e,n,r);return this.pixelsPerMeter(t,e)/i}createTileMatrix(t,e,r){const n=El(xl(r.canonical));return yo(new Float64Array(16),t.globeMatrix,n)}createInversionMatrix(t,e){const{center:r}=t,n=Bl(xl(e));return vo(n,n,w(r.lng)),xo(n,n,w(r.lat)),go(n,n,[t._pixelsPerMercatorPixel,t._pixelsPerMercatorPixel,1]),Float32Array.from(n)}pointCoordinate(t,e,r,n){return yl(t,e,r,!0)||new Wl(0,0)}pointCoordinate3D(t,e,r){const n=this.pointCoordinate(t,e,r,0);return [n.x,n.y,n.z]}isPointAboveHorizon(t,e){return !yl(t,e.x,e.y,!1)}farthestPixelDistance(t){const e=function(t,e){const r=t.cameraToCenterDistance,n=t._centerAltitude*e,i=t._camera,s=t._camera.forward(),a=Mo([],Co([],s,-r),[0,0,n]),o=t.worldSize/(2*Math.PI),l=[0,0,-o],u=t.width/t.height,c=Math.tan(t.fovAboveCenter),h=Co([],i.up(),c),p=Co([],i.right(),c*u),d=Do([],Mo([],Mo([],s,h),p)),f=[];let y;if(new el(a,d).closestPointOnSphere(l,o,f)){const e=Mo([],f,l),r=$o([],e,a);y=Math.cos(t.fovAboveCenter)*ko(r);}else {const t=$o([],a,l),e=$o([],l,a);Do(e,e);const r=ko(t)-o;y=Math.sqrt(r*(r+2*o));const n=Math.acos(y/(o+r))-Math.acos(Vo(s,e));y*=Math.cos(n);}return 1.01*y}(t,this.pixelsPerMeter(t.center.lat,t.worldSize)),r=Pl(t.zoom);if(r>0){const n=zd(t,Zl(1,t.center.lat)*t.worldSize),i=t.worldSize/(2*Math.PI),s=Math.max(t.width,t.height)/t.worldSize*Math.PI;return Er(e,n+i*(1-Math.cos(s)),Math.pow(r,10))}return e}upVector(t,e,r){return Ml(e,r,t,1)}upVectorScale(t){return {metersToTile:fl(Tl(xl(t)))}}}function Yd(t){const e=t.parallels,r=!!e&&Math.abs(e[0]+e[1])<.01;switch(t.name){case"mercator":return new Nd(t);case"equirectangular":return new $d(t);case"naturalEarth":return new Zd(t);case"equalEarth":return new Ud(t);case"winkelTripel":return new Xd(t);case"albers":return r?new Jd(t):new Pd(t);case"lambertConformalConic":return r?new Jd(t):new qd(t);case"globe":return new Hd(t)}throw new Error(`Invalid projection name: ${t.name}`)}const Wd=Kc.types,Qd=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function tf(t,e,r,n,i,s,a,o,l,u,c,h,p){const d=o?Math.min(Ad,Math.round(o[0])):0,f=o?Math.min(Ad,Math.round(o[1])):0;t.emplaceBack(e,r,Math.round(32*n),Math.round(32*i),s,a,(d<<1)+(l?1:0),f,16*u,16*c,256*h,256*p);}function ef(t,e,r,n,i,s,a){t.emplaceBack(e,r,n,i,s,a);}function rf(t,e,r,n,i){t.emplaceBack(e,r,n,i),t.emplaceBack(e,r,n,i),t.emplaceBack(e,r,n,i),t.emplaceBack(e,r,n,i);}function nf(t){for(const e of t.sections)if(ls(e.text))return !0;return !1}class sf{constructor(t){this.layoutVertexArray=new Xs,this.indexArray=new ra,this.programConfigurations=t,this.segments=new so,this.dynamicLayoutVertexArray=new Ns,this.opacityVertexArray=new Hs,this.placedSymbolArray=new fa,this.globeExtVertexArray=new Js;}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length}upload(t,e,r,n){this.isEmpty()||(r&&(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Eh.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,Ph.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,Qd,!0),this.globeExtVertexArray.length>0&&(this.globeExtVertexBuffer=t.createVertexBuffer(this.globeExtVertexArray,Ch.members,!0)),this.opacityVertexBuffer.itemSize=1),(r||n)&&this.programConfigurations.upload(t));}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy(),this.globeExtVertexBuffer&&this.globeExtVertexBuffer.destroy());}}Ji(sf,"SymbolBuffers");class af{constructor(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new so,this.collisionVertexArray=new ta,this.collisionVertexArrayExt=new ea;}upload(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,Dh.members,!0),this.collisionVertexBufferExt=t.createVertexBuffer(this.collisionVertexArrayExt,Vh.members,!0);}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy(),this.collisionVertexBufferExt.destroy());}}Ji(af,"CollisionBuffers");class of{constructor(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.fullyClipped=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=po([]),this.placementViewportMatrix=po([]);const e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=$h(this.zoom,e["text-size"]),this.iconSizeData=$h(this.zoom,e["icon-size"]);const r=this.layers[0].layout,n=r.get("symbol-sort-key"),i=r.get("symbol-z-order");this.canOverlap=r.get("text-allow-overlap")||r.get("icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==i&&void 0!==n.constantOr(1),this.sortFeaturesByY=("viewport-y"===i||"auto"===i&&!this.sortFeaturesByKey)&&this.canOverlap,this.writingModes=r.get("text-writing-mode").map((t=>Ip[t])),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=t.sourceID,this.projection=t.projection;}createArrays(){this.text=new sf(new Ja(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new sf(new Ja(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new ga,this.lineVertexArray=new xa,this.symbolInstances=new ma;}calculateGlyphDependencies(t,e,r,n,i){for(let r=0;r0)&&("constant"!==o.value.kind||o.value.value.length>0),h="constant"!==u.value.kind||!!u.value.value||Object.keys(u.parameters).length>0,p=s.get("symbol-sort-key");if(this.features=[],!c&&!h)return;const d=e.iconDependencies,f=e.glyphDependencies,y=e.availableImages,m=new ws(this.zoom);for(const{feature:e,id:l,index:u,sourceLayerIndex:g}of t){const t=i._featureFilter.needGeometry,x=ou(e,t);if(!i._featureFilter.filter(m,x,r))continue;if(t||(x.geometry=au(e,r,n)),a&&1!==e.type&&r.z<=5){const t=x.geometry,e=.98078528056,n=(t,n)=>Vo(Ml(t.x,t.y,r,1),Ml(n.x,n.y,r,1))=0;for(const r of v.sections)if(r.image)d[r.image.name]=!0;else {const n=es(v.toString()),i=r.fontStack||t,s=f[i]=f[i]||{};this.calculateGlyphDependencies(r.text,s,e,this.allowVerticalPlacement,n);}}}"line"===s.get("symbol-placement")&&(this.features=function(t){const e={},r={},n=[];let i=0;function s(e){n.push(t[e]),i++;}function a(t,e,i){const s=r[t];return delete r[t],r[e]=s,n[s].geometry[0].pop(),n[s].geometry[0]=n[s].geometry[0].concat(i[0]),s}function o(t,r,i){const s=e[r];return delete e[r],e[t]=s,n[s].geometry[0].shift(),n[s].geometry[0]=i[0].concat(n[s].geometry[0]),s}function l(t,e,r){const n=r?e[0][e[0].length-1]:e[0][0];return `${t}:${n.x}:${n.y}`}for(let u=0;ut.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey));}update(t,e,r,n){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r,n),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r,n));}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return !this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0;}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy();}getProjection(){return this.projectionInstance||(this.projectionInstance=Yd(this.projection)),this.projectionInstance}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData();}addToLineVertexArray(t,e){const r=this.lineVertexArray.length;if(void 0!==t.segment)for(const{x:t,y:r}of e)this.lineVertexArray.emplaceBack(t,r);return {lineStartIndex:r,lineLength:this.lineVertexArray.length-r}}addSymbols(t,e,r,n,i,s,a,o,l,u,c,h,p,d){const f=t.indexArray,y=t.layoutVertexArray,m=t.globeExtVertexArray,g=t.segments.prepareSegment(4*e.length,y,f,this.canOverlap?s.sortKey:void 0),x=this.glyphOffsetArray.length,v=g.vertexLength,b=this.allowVerticalPlacement&&a===Ip.vertical?Math.PI/2:0,w=s.text&&s.text.sections;for(let n=0;n=0?e.rightJustifiedTextSymbolIndex:e.centerJustifiedTextSymbolIndex>=0?e.centerJustifiedTextSymbolIndex:e.leftJustifiedTextSymbolIndex>=0?e.leftJustifiedTextSymbolIndex:e.verticalPlacedTextSymbolIndex>=0?e.verticalPlacedTextSymbolIndex:n),s=jh(this.textSizeData,t,i)/Rh;return this.tilePixelRatio*s}getSymbolInstanceIconSize(t,e,r){const n=this.icon.placedSymbolArray.get(r),i=jh(this.iconSizeData,t,n);return this.tilePixelRatio*i}_commitDebugCollisionVertexUpdate(t,e,r){t.emplaceBack(e,-r,-r),t.emplaceBack(e,r,-r),t.emplaceBack(e,r,r),t.emplaceBack(e,-r,r);}_updateTextDebugCollisionBoxes(t,e,r,n,i,s){for(let a=n;a0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(t,e){const r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs;for(let e=r.vertexStartIndex;en[t]-n[e]||i[e]-i[t])),s}addToSortKeyRanges(t,e){const r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1});}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex);const{rightJustifiedTextSymbolIndex:r,centerJustifiedTextSymbolIndex:n,leftJustifiedTextSymbolIndex:i,verticalPlacedTextSymbolIndex:s,placedIconSymbolIndex:a,verticalPlacedIconSymbolIndex:o}=e;r>=0&&this.addIndicesForPlacedSymbol(this.text,r),n>=0&&n!==r&&this.addIndicesForPlacedSymbol(this.text,n),i>=0&&i!==n&&i!==r&&this.addIndicesForPlacedSymbol(this.text,i),s>=0&&this.addIndicesForPlacedSymbol(this.text,s),a>=0&&this.addIndicesForPlacedSymbol(this.icon,a),o>=0&&this.addIndicesForPlacedSymbol(this.icon,o);}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray);}}}Ji(of,"SymbolBucket",{omit:["layers","collisionBoxArray","features","compareText"]}),of.MAX_GLYPHS=65535,of.addDynamicAttributes=rf;const lf=new Ps({"symbol-placement":new Bs(te.layout_symbol["symbol-placement"]),"symbol-spacing":new Bs(te.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Bs(te.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Es(te.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Bs(te.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Bs(te.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Bs(te.layout_symbol["icon-ignore-placement"]),"icon-optional":new Bs(te.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Bs(te.layout_symbol["icon-rotation-alignment"]),"icon-size":new Es(te.layout_symbol["icon-size"]),"icon-text-fit":new Bs(te.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Bs(te.layout_symbol["icon-text-fit-padding"]),"icon-image":new Es(te.layout_symbol["icon-image"]),"icon-rotate":new Es(te.layout_symbol["icon-rotate"]),"icon-padding":new Bs(te.layout_symbol["icon-padding"]),"icon-keep-upright":new Bs(te.layout_symbol["icon-keep-upright"]),"icon-offset":new Es(te.layout_symbol["icon-offset"]),"icon-anchor":new Es(te.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Bs(te.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Bs(te.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Bs(te.layout_symbol["text-rotation-alignment"]),"text-field":new Es(te.layout_symbol["text-field"]),"text-font":new Es(te.layout_symbol["text-font"]),"text-size":new Es(te.layout_symbol["text-size"]),"text-max-width":new Es(te.layout_symbol["text-max-width"]),"text-line-height":new Es(te.layout_symbol["text-line-height"]),"text-letter-spacing":new Es(te.layout_symbol["text-letter-spacing"]),"text-justify":new Es(te.layout_symbol["text-justify"]),"text-radial-offset":new Es(te.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Bs(te.layout_symbol["text-variable-anchor"]),"text-anchor":new Es(te.layout_symbol["text-anchor"]),"text-max-angle":new Bs(te.layout_symbol["text-max-angle"]),"text-writing-mode":new Bs(te.layout_symbol["text-writing-mode"]),"text-rotate":new Es(te.layout_symbol["text-rotate"]),"text-padding":new Bs(te.layout_symbol["text-padding"]),"text-keep-upright":new Bs(te.layout_symbol["text-keep-upright"]),"text-transform":new Es(te.layout_symbol["text-transform"]),"text-offset":new Es(te.layout_symbol["text-offset"]),"text-allow-overlap":new Bs(te.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Bs(te.layout_symbol["text-ignore-placement"]),"text-optional":new Bs(te.layout_symbol["text-optional"])});var uf={paint:new Ps({"icon-opacity":new Es(te.paint_symbol["icon-opacity"]),"icon-color":new Es(te.paint_symbol["icon-color"]),"icon-halo-color":new Es(te.paint_symbol["icon-halo-color"]),"icon-halo-width":new Es(te.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Es(te.paint_symbol["icon-halo-blur"]),"icon-translate":new Bs(te.paint_symbol["icon-translate"]),"icon-translate-anchor":new Bs(te.paint_symbol["icon-translate-anchor"]),"text-opacity":new Es(te.paint_symbol["text-opacity"]),"text-color":new Es(te.paint_symbol["text-color"],{runtimeType:pe,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),"text-halo-color":new Es(te.paint_symbol["text-halo-color"]),"text-halo-width":new Es(te.paint_symbol["text-halo-width"]),"text-halo-blur":new Es(te.paint_symbol["text-halo-blur"]),"text-translate":new Bs(te.paint_symbol["text-translate"]),"text-translate-anchor":new Bs(te.paint_symbol["text-translate-anchor"])}),layout:lf};class cf{constructor(t){this.type=t.property.overrides?t.property.overrides.runtimeType:le,this.defaultValue=t;}evaluate(t){if(t.formattedSection){const e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression);}outputDefined(){return !1}serialize(){return null}}Ji(cf,"FormatSectionOverride",{omit:["defaultValue"]});class hf extends ro{constructor(t){super(t,uf);}recalculate(t,e){super.recalculate(t,e),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment"));const r=this.layout.get("text-writing-mode");if(r){const t=[];for(const e of r)t.indexOf(e)<0&&t.push(e);this.layout._values["text-writing-mode"]=t;}else this.layout._values["text-writing-mode"]="point"===this.layout.get("symbol-placement")?["horizontal"]:["horizontal","vertical"];this._setPaintOverrides();}getValueAndResolveTokens(t,e,r,n){const i=this.layout.get(t).evaluate(e,{},r,n),s=this._unevaluatedLayout._values[t];return s.isDataDriven()||Jn(s.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,((e,r)=>r in t?String(t[r]):""))}(e.properties,i)}createBucket(t){return new of(t)}queryRadius(){return 0}queryIntersectsFeature(){return !1}_setPaintOverrides(){for(const t of uf.paint.overridableProperties){if(!hf.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),r=new cf(e),n=new Xn(r,e.property.specification);let i=null;i="constant"===e.value.kind||"source"===e.value.kind?new Yn("source",n):new Wn("composite",n,e.value.zoomStops,e.value._interpolationType),this.paint._values[t]=new Ts(e.property,i,e.parameters);}}_handleOverridablePaintPropertyUpdate(t,e,r){return !(!this.layout||e.isDataDriven()||r.isDataDriven())&&hf.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const r=t.get("text-field"),n=uf.paint.properties[e];let i=!1;const s=t=>{for(const e of t)if(n.overrides&&n.overrides.hasOverride(e))return void(i=!0)};if("constant"===r.value.kind&&r.value.value instanceof De)s(r.value.value.sections);else if("source"===r.value.kind){const t=e=>{i||(e instanceof je&&Re(e.value)===me?s(e.value.sections):e instanceof Ze?s(e.sections):e.eachChild(t));},e=r.value;e._styleExpression&&t(e._styleExpression.expression);}return i}getProgramConfiguration(t){return new Xa(this,t)}}var pf={paint:new Ps({"background-color":new Bs(te.paint_background["background-color"]),"background-pattern":new Bs(te.paint_background["background-pattern"]),"background-opacity":new Bs(te.paint_background["background-opacity"])})},df={paint:new Ps({"raster-opacity":new Bs(te.paint_raster["raster-opacity"]),"raster-hue-rotate":new Bs(te.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Bs(te.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Bs(te.paint_raster["raster-brightness-max"]),"raster-saturation":new Bs(te.paint_raster["raster-saturation"]),"raster-contrast":new Bs(te.paint_raster["raster-contrast"]),"raster-resampling":new Bs(te.paint_raster["raster-resampling"]),"raster-fade-duration":new Bs(te.paint_raster["raster-fade-duration"])})};class ff extends ro{constructor(t){super(t,{}),this.implementation=t;}is3D(){return "3d"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}isLayerDraped(){return void 0!==this.implementation.renderToTile}shouldRedrape(){return !!this.implementation.shouldRerenderTiles&&this.implementation.shouldRerenderTiles()}recalculate(){}updateTransitions(){}hasTransition(){return !1}serialize(){}onAdd(t){this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl);}onRemove(t){this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl);}}var yf={paint:new Ps({"sky-type":new Bs(te.paint_sky["sky-type"]),"sky-atmosphere-sun":new Bs(te.paint_sky["sky-atmosphere-sun"]),"sky-atmosphere-sun-intensity":new Bs(te.paint_sky["sky-atmosphere-sun-intensity"]),"sky-gradient-center":new Bs(te.paint_sky["sky-gradient-center"]),"sky-gradient-radius":new Bs(te.paint_sky["sky-gradient-radius"]),"sky-gradient":new Cs(te.paint_sky["sky-gradient"]),"sky-atmosphere-halo-color":new Bs(te.paint_sky["sky-atmosphere-halo-color"]),"sky-atmosphere-color":new Bs(te.paint_sky["sky-atmosphere-color"]),"sky-opacity":new Bs(te.paint_sky["sky-opacity"])})};function mf(t,e,r){const n=[0,0,1],i=Ko([]);return Jo(i,i,r?-w(t)+Math.PI:w(t)),Xo(i,i,-w(e)),Ro(n,n,i),Do(n,n)}const gf={circle:class extends ro{constructor(t){super(t,Tu);}createBucket(t){return new cu(t)}queryRadius(t){const e=t;return Au("circle-radius",this,e)+Au("circle-stroke-width",this,e)+Su(this.paint.get("circle-translate"))}queryIntersectsFeature(t,e,r,n,i,s,a,o){const l=Iu(this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),s.angle,t.pixelToTileUnitsFactor),u=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r);return zu(t,n,s,a,o,"map"===this.paint.get("circle-pitch-alignment"),"map"===this.paint.get("circle-pitch-scale"),l,u)}getProgramIds(){return ["circle"]}getProgramConfiguration(t){return new Xa(this,t)}},heatmap:class extends ro{createBucket(t){return new Du(t)}constructor(t){super(t,$u),this._updateColorRamp();}_handleSpecialPaintPropertyUpdate(t){"heatmap-color"===t&&this._updateColorRamp();}_updateColorRamp(){this.colorRamp=ju({expression:this._transitionablePaint._values["heatmap-color"].value.expression,evaluationKey:"heatmapDensity",image:this.colorRamp}),this.colorRampTexture=null;}resize(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null);}queryRadius(t){return Au("heatmap-radius",this,t)}queryIntersectsFeature(t,e,r,n,i,s,a,o){const l=this.paint.get("heatmap-radius").evaluate(e,r);return zu(t,n,s,a,o,!0,!0,new x(0,0),l)}hasOffscreenPass(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility}getProgramIds(){return ["heatmap","heatmapTexture"]}getProgramConfiguration(t){return new Xa(this,t)}},hillshade:class extends ro{constructor(t){super(t,Ou);}hasOffscreenPass(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility}getProgramIds(){return ["hillshade","hillshadePrepare"]}},fill:class extends ro{constructor(t){super(t,zc);}getProgramIds(){const t=this.paint.get("fill-pattern"),e=t&&t.constantOr(1),r=[e?"fillPattern":"fill"];return this.paint.get("fill-antialias")&&r.push(e&&!this.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline"),r}getProgramConfiguration(t){return new Xa(this,t)}recalculate(t,e){super.recalculate(t,e);const r=this.paint._values["fill-outline-color"];"constant"===r.value.kind&&void 0===r.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"]);}createBucket(t){return new Mc(t)}queryRadius(){return Su(this.paint.get("fill-translate"))}queryIntersectsFeature(t,e,r,n,i,s){return !t.queryGeometry.isAboveHorizon&&du(ku(t.tilespaceGeometry,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),s.angle,t.pixelToTileUnitsFactor),n)}isTileClipped(){return !0}},"fill-extrusion":class extends ro{constructor(t){super(t,ch);}createBucket(t){return new th(t)}queryRadius(){return Su(this.paint.get("fill-extrusion-translate"))}is3D(){return !0}getProgramIds(){return [this.paint.get("fill-extrusion-pattern").constantOr(1)?"fillExtrusionPattern":"fillExtrusion"]}getProgramConfiguration(t){return new Xa(this,t)}queryIntersectsFeature(t,e,r,n,i,s,a,o,l){const u=Iu(this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),s.angle,t.pixelToTileUnitsFactor),c=this.paint.get("fill-extrusion-height").evaluate(e,r),h=this.paint.get("fill-extrusion-base").evaluate(e,r),p=[0,0],d=o&&s.elevation,f=s.elevation?s.elevation.exaggeration():1,y=t.tile.getBucket(this);if(d&&y instanceof th){const t=y.centroidVertexArray,e=l+1;et.polygon)).flat());const m=d?o:null,[g,v]=function(t,e,r,n,i,s,a,o,l,u,c){return "globe"===t.projection.name?function(t,e,r,n,i,s,a,o,l,u,c){const h=[],p=[],d=t.projection.upVectorScale(c,t.center.lat,t.worldSize).metersToTile,f=[0,0,0,1],y=[0,0,0,1],m=(t,e,r,n)=>{t[0]=e,t[1]=r,t[2]=n,t[3]=1;},g=oh();r>0&&(r+=g),n+=g;for(const g of e){const e=[],x=[];for(const h of g){const p=h.x+i.x,g=h.y+i.y,v=t.projection.projectTilePoint(p,g,c),b=t.projection.upVector(c,h.x,h.y);let w=r,_=n;if(a){const t=vh(p,g,r,n,a,o,l,u);w+=t.base,_+=t.top;}0!==r?m(f,v.x+b[0]*d*w,v.y+b[1]*d*w,v.z+b[2]*d*w):m(f,v.x,v.y,v.z),m(y,v.x+b[0]*d*_,v.y+b[1]*d*_,v.z+b[2]*d*_),Fo(f,f,s),Fo(y,y,s),e.push(new mh(f[0],f[1],f[2])),x.push(new mh(y[0],y[1],y[2]));}h.push(e),p.push(x);}return [h,p]}(t,e,r,n,i,s,a,o,l,u,c):a?function(t,e,r,n,i,s,a,o,l){const u=[],c=[],h=[0,0,0,1];for(const p of t){const t=[],d=[];for(const u of p){const c=u.x+n.x,p=u.y+n.y,f=vh(c,p,e,r,s,a,o,l);h[0]=c,h[1]=p,h[2]=f.base,h[3]=1,Go(h,h,i),h[3]=Math.max(h[3],1e-5);const y=new mh(h[0]/h[3],h[1]/h[3],h[2]/h[3]);h[0]=c,h[1]=p,h[2]=f.top,h[3]=1,Go(h,h,i),h[3]=Math.max(h[3],1e-5);const m=new mh(h[0]/h[3],h[1]/h[3],h[2]/h[3]);t.push(y),d.push(m);}u.push(t),c.push(d);}return [u,c]}(e,r,n,i,s,a,o,l,u):function(t,e,r,n,i){const s=[],a=[],o=i[8]*e,l=i[9]*e,u=i[10]*e,c=i[11]*e,h=i[8]*r,p=i[9]*r,d=i[10]*r,f=i[11]*r;for(const e of t){const t=[],r=[];for(const s of e){const e=s.x+n.x,a=s.y+n.y,y=i[0]*e+i[4]*a+i[12],m=i[1]*e+i[5]*a+i[13],g=i[2]*e+i[6]*a+i[14],x=i[3]*e+i[7]*a+i[15],v=y+o,b=m+l,w=g+u,_=Math.max(x+c,1e-5),A=y+h,S=m+p,k=g+d,I=Math.max(x+f,1e-5);t.push(new mh(v/_,b/_,w/_)),r.push(new mh(A/I,S/I,k/I));}s.push(t),a.push(r);}return [s,a]}(e,r,n,i,s)}(s,n,h,c,u,a,m,p,f,s.center.lat,t.tileID.canonical),b=t.queryGeometry;return function(t,e,r){let n=1/0;du(r,e)&&(n=xh(r,e[0]));for(let i=0;i=3)for(let e=0;e{this._triggered=!1,this._callback();});}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._callback();}),0));}remove(){this._channel=void 0,this._callback=()=>{};}}class bf{constructor(){this.tasks={},this.taskQueue=[],R(["process"],this),this.invoker=new vf(this.process),this.nextId=0;}add(t,e){const r=this.nextId++,n=function({type:t,isSymbolTile:e,zoom:r}){return r=r||0,"message"===t?0:"maybePrepare"!==t||e?"parseTile"!==t||e?"parseTile"===t&&e?300-r:"maybePrepare"===t&&e?400-r:500:200-r:100-r}(e);if(0===n){K();try{t();}finally{}return {cancel:()=>{}}}return this.tasks[r]={fn:t,metadata:e,priority:n,id:r},this.taskQueue.push(r),this.invoker.trigger(),{cancel:()=>{delete this.tasks[r];}}}process(){K();try{if(this.taskQueue=this.taskQueue.filter((t=>!!this.tasks[t])),!this.taskQueue.length)return;const t=this.pick();if(null===t)return;const e=this.tasks[t];if(delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),!e)return;e.fn();}finally{}}pick(){let t=null,e=1/0;for(let r=0;r>=1)>1;){const t=r+i>>1,l=n+s>>1;1&e?(i=r,s=n,r=a,n=o):(r=i,n=s,i=a,s=o),a=t,o=l;}const l=4*t;If[l+0]=r,If[l+1]=n,If[l+2]=i,If[l+3]=s;}const Mf=new Uint16Array(2178),Tf=new Uint8Array(1089),zf=new Uint16Array(1089);function Bf(t){return 0===t?-.03125:32===t?.03125:0}var Ef=Rs([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);const Cf={type:2,extent:ao,loadGeometry:()=>[[new x(0,0),new x(ao+1,0),new x(ao+1,ao+1),new x(0,ao+1),new x(0,0)]]};class Pf{constructor(t,e,r,n,i){this.tileID=t,this.uid=D(),this.uses=0,this.tileSize=e,this.tileZoom=r,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.isRaster=i,this.expiredRequestCount=0,this.state="loading",n&&n.transform&&(this.projection=n.transform.projection);}registerFadeDuration(t){const e=t+this.timeAdded;ee.getLayer(t))).filter(Boolean);if(0!==t.length){n.layers=t,n.stateDependentLayerIds&&(n.stateDependentLayers=n.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)r[e.id]=n;}}return r}(t.buckets,e.style),this.hasSymbolBuckets=!1;for(const t in this.buckets){const e=this.buckets[t];if(e instanceof of){if(this.hasSymbolBuckets=!0,!r)break;e.justReloaded=!0;}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const t in this.buckets){const e=this.buckets[t];if(e instanceof of&&e.hasRTLText){this.hasRTLText=!0,bs.isLoading()||bs.isLoaded()||"deferred"!==xs()||vs();break}}this.queryPadding=0;for(const t in this.buckets){const r=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(t).queryRadius(r));}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage),t.lineAtlas&&(this.lineAtlas=t.lineAtlas);}else this.collisionBoxArray=new pa;}unloadVectorData(){if(this.hasData()){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlas&&(this.imageAtlas=null),this.lineAtlas&&(this.lineAtlas=null),this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.lineAtlasTexture&&this.lineAtlasTexture.destroy(),this._tileBoundsBuffer&&(this._tileBoundsBuffer.destroy(),this._tileBoundsIndexBuffer.destroy(),this._tileBoundsSegments.destroy(),this._tileBoundsBuffer=null),this._tileDebugBuffer&&(this._tileDebugBuffer.destroy(),this._tileDebugSegments.destroy(),this._tileDebugBuffer=null),this._tileDebugIndexBuffer&&(this._tileDebugIndexBuffer.destroy(),this._tileDebugIndexBuffer=null),this._globeTileDebugBorderBuffer&&(this._globeTileDebugBorderBuffer.destroy(),this._globeTileDebugBorderBuffer=null),this._tileDebugTextBuffer&&(this._tileDebugTextBuffer.destroy(),this._tileDebugTextSegments.destroy(),this._tileDebugTextIndexBuffer.destroy(),this._tileDebugTextBuffer=null),this._globeTileDebugTextBuffer&&(this._globeTileDebugTextBuffer.destroy(),this._globeTileDebugTextBuffer=null),this.latestFeatureIndex=null,this.state="unloaded";}}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const r=this.buckets[e];r.uploadPending()&&r.upload(t);}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new xf(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new xf(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null),this.lineAtlas&&!this.lineAtlas.uploaded&&(this.lineAtlasTexture=new xf(t,this.lineAtlas.image,e.ALPHA),this.lineAtlas.uploaded=!0);}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture);}queryRenderedFeatures(t,e,r,n,i,s,a,o){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({tileResult:n,pixelPosMatrix:a,transform:s,params:i,tileTransform:this.tileTransform},t,e,r):{}}querySourceFeatures(t,e){const r=this.latestFeatureIndex;if(!r||!r.rawTileData)return;const n=r.loadVTLayers(),i=e?e.sourceLayer:"",s=n._geojsonTileLayer||n[i];if(!s)return;const a=hi(e&&e.filter),{z:o,x:l,y:u}=this.tileID.canonical,c={z:o,x:l,y:u};for(let e=0;et)r=!1;else if(e)if(this.expirationTime=0;t--){const e=4*t,r=If[e+0],n=If[e+1],i=If[e+2],s=If[e+3],a=r+i>>1,o=n+s>>1,l=a+o-n,u=o+r-a,c=n*kf+r,h=s*kf+i,p=o*kf+a,d=Math.hypot((Mf[2*c+0]+Mf[2*h+0])/2-Mf[2*p+0],(Mf[2*c+1]+Mf[2*h+1])/2-Mf[2*p+1])>=16;Tf[p]=Tf[p]||(d?1:0),t<1022&&(Tf[p]=Tf[p]||Tf[(n+u>>1)*kf+(r+l>>1)]||Tf[(s+u>>1)*kf+(i+l>>1)]);}const i=new Os,s=new ra;let a=0;function o(t,e){const r=e*kf+t;return 0===zf[r]&&(i.emplaceBack(Mf[2*r+0],Mf[2*r+1],t*ao/Sf,e*ao/Sf),zf[r]=++a),zf[r]-1}function l(t,e,r,n,i,a){const u=t+r>>1,c=e+n>>1;if(Math.abs(t-i)+Math.abs(e-a)>1&&Tf[c*kf+u])l(i,a,t,e,u,c),l(r,n,i,a,u,c);else {const l=o(t,e),u=o(r,n),c=o(i,a);s.emplaceBack(l,u,c);}}return l(0,0,Sf,Sf,Sf,0),l(Sf,Sf,0,0,0,Sf),{vertices:i,indices:s}}(this.tileID.canonical,e);n=t.vertices,i=t.indices;}else {n=new Os,i=new ra;for(const{x:t,y:e}of r)n.emplaceBack(t,e,0,0);const t=xc(n.int16,void 0,4);for(let e=0;e0&&(a=fo(new Float64Array(16),e.globeMatrix)),this._makeGlobeTileDebugBorderBuffer(t,n,e,i,a,s),this._makeGlobeTileDebugTextBuffer(t,n,e,i,a,s);}_globePoint(t,e,r,n,i,s,a){let o=Ml(t,e,r);if(s){const i=1<.5?h=-1:c<-.5&&(h=1);let p=(t/ao+r.x)/i+h,d=(e/ao+r.y)/i;p=(p-l)*n._pixelsPerMercatorPixel+l,d=(d-u)*n._pixelsPerMercatorPixel+u;const f=[p*n.worldSize,d*n.worldSize,0];Fo(f,f,s),o=vl(o,f,a);}return Fo(o,o,i)}_makeGlobeTileDebugBorderBuffer(t,e,r,n,i,s){const a=new $s,o=new ua,l=new js,u=(t,u,c,h,p)=>{const d=(c-t)/(p-1),f=(h-u)/(p-1),y=a.length;for(let c=0;cc*t+e;for(let t=0;te[a])return null}else {const o=1/n[a];let l=(t[a]-r[a])*o,u=(e[a]-r[a])*o;if(l>u){const t=l;l=u,u=t;}if(l>i&&(i=l),us)return null}return i}function Ff(t,e,r,n,i,s,a,o,l,u,c){const h=n-t,p=i-e,d=s-r,f=a-t,y=o-e,m=l-r,g=c[1]*m-c[2]*y,x=c[2]*f-c[0]*m,v=c[0]*y-c[1]*f,b=h*g+p*x+d*v;if(Math.abs(b)<1e-15)return null;const w=1/b,_=u[0]-t,A=u[1]-e,S=u[2]-r,k=(_*g+A*x+S*v)*w;if(k<0||k>1)return null;const I=A*d-S*p,M=S*h-_*d,T=_*p-A*h,z=(c[0]*I+c[1]*M+c[2]*T)*w;return z<0||k+z>1?null:(f*I+y*M+m*T)*w}function Rf(t,e,r){return (t-e)/(r-e)}function Uf(t,e,r,n,i,s,a,o,l){const u=1<{const s=n?1:0,a=(t+1)*r-s,o=e*r,l=(e+1)*r-s;i[0]=t*r,i[1]=o,i[2]=a,i[3]=l;};let a=new Vf(n);const o=[];for(let e=0;e=1;n/=2){const t=r[r.length-1];a=new Vf(n);for(let e=0;e0;){const{idx:o,t:d,nodex:f,nodey:y,depth:m}=p.pop();if(this.leaves[o]){Uf(f,y,m,t,e,r,n,c,h);const o=1<=t[2])return d}continue}let g=0;for(let p=0;p=l[u[r]]&&(u.splice(r,0,p),e=!0);e||(u[g]=p),g++;}}for(let t=0;t=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return (e+1)*this.stride+(t+1)}static pack(t,e){const r=[0,0,0,0],n=Zf.getUnpackVector(e);let i=Math.floor((t+n[3])/n[2]);return r[2]=i%256,i=Math.floor(i/256),r[1]=i%256,i=Math.floor(i/256),r[0]=i,r}getPixels(){return new Uu({width:this.stride,height:this.stride},this.pixels)}backfillBorder(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");let n=e*this.dim,i=e*this.dim+this.dim,s=r*this.dim,a=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1;}switch(r){case-1:s=a-1;break;case 1:a=s+1;}const o=-e*this.dim,l=-r*this.dim;for(let e=s;e{this.remove(t,i);}),r)),this.data[n].push(i),this.order.push(n),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t);}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t);}return this}filter(t){const e=[];for(const r in this.data)for(const n of this.data[r])t(n.value)||e.push(n);for(const t of e)this.remove(t.value.tileID,t);}}class Xf{constructor(t,e,r){this.func=t,this.mask=e,this.range=r;}}Xf.ReadOnly=!1,Xf.ReadWrite=!0,Xf.disabled=new Xf(519,Xf.ReadOnly,[0,1]);const Jf=7680;class Hf{constructor(t,e,r,n,i,s){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=s;}}Hf.disabled=new Hf({func:519,mask:0},0,0,Jf,Jf,Jf);class Yf{constructor(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r;}}Yf.Replace=[1,0],Yf.disabled=new Yf(Yf.Replace,Ee.transparent,[!1,!1,!1,!1]),Yf.unblended=new Yf(Yf.Replace,Ee.transparent,[!0,!0,!0,!0]),Yf.alphaBlended=new Yf([1,771],Ee.transparent,[!0,!0,!0,!0]);const Wf=1029,Qf=2305;class ty{constructor(t,e,r){this.enable=t,this.mode=e,this.frontFace=r;}}ty.disabled=new ty(!1,Wf,Qf),ty.backCCW=new ty(!0,Wf,Qf),ty.backCW=new ty(!0,Wf,2304),ty.frontCW=new ty(!0,1028,2304),ty.frontCCW=new ty(!0,1028,Qf);class ey extends Qt{constructor(t,e,r){super(),this.id=t,this._onlySymbols=r,e.on("data",(t=>{"source"===t.dataType&&"metadata"===t.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===t.dataType&&"content"===t.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform));})),e.on("error",(()=>{this._sourceErrored=!0;})),this._source=e,this._tiles={},this._cache=new Kf(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._minTileCacheSize=e.minTileCacheSize,this._maxTileCacheSize=e.maxTileCacheSize,this._loadedParentTiles={},this._coveredTiles={},this._state=new Df,this._isRaster="raster"===this._source.type||"raster-dem"===this._source.type||"custom"===this._source.type&&"raster"===this._source._dataType;}onAdd(t){this.map=t,this._minTileCacheSize=void 0===this._minTileCacheSize&&t?t._minTileCacheSize:this._minTileCacheSize,this._maxTileCacheSize=void 0===this._maxTileCacheSize&&t?t._maxTileCacheSize:this._maxTileCacheSize;}loaded(){if(this._sourceErrored)return !0;if(!this._sourceLoaded)return !1;if(!this._source.loaded())return !1;for(const t in this._tiles){const e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return !1}return !0}getSource(){return this._source}pause(){this._paused=!0;}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform);}_loadTile(t,e){return t.isSymbolTile=this._onlySymbols,this._source.loadTile(t,e)}_unloadTile(t){if(this._source.unloadTile)return this._source.unloadTile(t,(()=>{}))}_abortTile(t){if(this._source.abortTile)return this._source.abortTile(t,(()=>{}))}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const r=this._tiles[e];r.upload(t),r.prepare(this.map.style.imageManager);}}getIds(){return E(this._tiles).map((t=>t.tileID)).sort(ry).map((t=>t.key))}getRenderableIds(t){const e=[];for(const r in this._tiles)this._isIdRenderable(+r,t)&&e.push(this._tiles[r]);return t?e.sort(((t,e)=>{const r=t.tileID,n=e.tileID,i=new x(r.canonical.x,r.canonical.y)._rotate(this.transform.angle),s=new x(n.canonical.x,n.canonical.y)._rotate(this.transform.angle);return r.overscaledZ-n.overscaledZ||s.y-i.y||s.x-i.x})).map((t=>t.tileID.key)):e.map((t=>t.tileID)).sort(ry).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return !!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else {this._cache.reset();for(const t in this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(+t,"reloading");}}_reloadTile(t,e){const r=this._tiles[t];r&&("loading"!==r.state&&(r.state=e),this._loadTile(r,this._tileLoaded.bind(this,r,t,e)));}_tileLoaded(t,e,r,n){if(n)if(t.state="errored",404!==n.status)this._source.fire(new Wt(n,{tile:t}));else if("raster-dem"===this._source.type&&this.usedForTerrain&&this.map.painter.terrain){const t=this.map.painter.terrain;this.update(this.transform,t.getScaledDemTileSize(),!0),t.resetTileLookupCache(this.id);}else this.update(this.transform);else t.timeAdded=Xt.now(),"expired"===r&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(e,t),"raster-dem"===this._source.type&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),this._source.fire(new Yt("data",{dataType:"source",tile:t,coord:t.tileID,sourceCacheId:this.id}));}_backfillDEM(t){const e=this.getRenderableIds();for(let n=0;n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[s]&&(t.neighboringTiles[s].backfilled=!0)));}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,r,n){for(const i in this._tiles){let s=this._tiles[i];if(n[i]||!s.hasData()||s.tileID.overscaledZ<=e||s.tileID.overscaledZ>r)continue;let a=s.tileID;for(;s&&s.tileID.overscaledZ>e+1;){const t=s.tileID.scaledTo(s.tileID.overscaledZ-1);s=this._tiles[t.key],s&&s.hasData()&&(a=t);}let o=a;for(;o.overscaledZ>e;)if(o=o.scaledTo(o.overscaledZ-1),t[o.key]){n[a.key]=a;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(let r=t.overscaledZ-1;r>=e;r--){const e=t.scaledTo(r),n=this._getLoadedTile(e);if(n)return n}}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(this._source.reparseOverscaled?t.wrapped().key:t.canonical.key)}updateCacheSize(t,e){e=e||this._source.tileSize;const r=Math.ceil(t.width/e)+1,n=Math.ceil(t.height/e)+1,i=Math.floor(r*n*5),s="number"==typeof this._minTileCacheSize?Math.max(this._minTileCacheSize,i):i,a="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,s):s;this._cache.setMaxSize(a);}handleWrapJump(t){const e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){const t={};for(const r in this._tiles){const n=this._tiles[r];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+e),t[n.tileID.key]=n;}this._tiles=t;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles)this._setTileReloadTimer(+t,this._tiles[t]);}}update(t,e,r){if(this.transform=t,!this._sourceLoaded||this._paused||this.transform.freezeTileCoverage)return;if(this.usedForTerrain&&!r)return;let n;this.updateCacheSize(t,e),"globe"!==this.transform.projection.name&&this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?n=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((t=>new fh(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y))):(n=t.coveringTiles({tileSize:e||this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!r,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain}),this._source.hasTile&&(n=n.filter((t=>this._source.hasTile(t))))):n=[];const i=this._updateRetainedTiles(n);if(ny(this._source.type)&&0!==n.length){const t={},e={},r=Object.keys(i);for(const n of r){const r=i[n],s=this._tiles[n];if(!s||s.fadeEndTime&&s.fadeEndTime<=Xt.now())continue;const a=this.findLoadedParent(r,Math.max(r.overscaledZ-ey.maxOverzooming,this._source.minzoom));a&&(this._addTile(a.tileID),t[a.tileID.key]=a.tileID),e[n]=r;}const s=n[n.length-1].overscaledZ;for(const t in this._tiles){const r=this._tiles[t];if(i[t]||!r.hasData())continue;let n=r.tileID;for(;n.overscaledZ>s;){n=n.scaledTo(n.overscaledZ-1);const s=this._tiles[n.key];if(s&&s.hasData()&&e[n.key]){i[t]=r.tileID;break}}}for(const e in t)i[e]||(this._coveredTiles[e]=!0,i[e]=t[e]);}for(const t in i)this._tiles[t].clearFadeHold();const s=function(t,e){const r=[];for(const n in t)n in e||r.push(n);return r}(this._tiles,i);for(const t of s){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(+t);}this._updateLoadedParentTileCache(),this._onlySymbols&&this._source.afterUpdate&&this._source.afterUpdate();}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(+t);}_updateRetainedTiles(t){const e={};if(0===t.length)return e;const r={},n=t.reduce(((t,e)=>Math.min(t,e.overscaledZ)),1/0),i=t[0].overscaledZ,s=Math.max(i-ey.maxOverzooming,this._source.minzoom),a=Math.max(i+ey.maxUnderzooming,this._source.minzoom),o={};for(const r of t){const t=this._addTile(r);e[r.key]=r,t.hasData()||n=this._source.maxzoom){const t=n.children(this._source.maxzoom)[0],r=this.getTile(t);if(r&&r.hasData()){e[t.key]=t;continue}}else {const t=n.children(this._source.maxzoom);if(e[t[0].key]&&e[t[1].key]&&e[t[2].key]&&e[t[3].key])continue}let i=t.wasRequested();for(let a=n.overscaledZ-1;a>=s;--a){const s=n.scaledTo(a);if(r[s.key])break;if(r[s.key]=!0,t=this.getTile(s),!t&&i&&(t=this._addTile(s)),t&&(e[s.key]=s,i=t.wasRequested(),t.hasData()))break}}return e}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let r,n=this._tiles[t].tileID;for(;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);const t=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(t),r)break;n=t;}for(const t of e)this._loadedParentTiles[t]=r;}}_addTile(t){let e=this._tiles[t.key];if(e)return e;e=this._cache.getAndRemove(t),e&&(this._setTileReloadTimer(t.key,e),e.tileID=t,this._state.initializeTileState(e,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,e)));const r=Boolean(e);if(!r){const r=this.map?this.map.painter:null;e=new Pf(t,this._source.tileSize*t.overscaleFactor(),this.transform.tileZoom,r,this._isRaster),this._loadTile(e,this._tileLoaded.bind(this,e,t.key,e.state));}return e?(e.uses++,this._tiles[t.key]=e,r||this._source.fire(new Yt("dataloading",{tile:e,coord:e.tileID,dataType:"source"})),e):null}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const r=e.getExpiryTimeout();r&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,"expired"),delete this._timers[t];}),r));}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))));}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(+t);this._source._clear&&this._source._clear(),this._cache.reset(),this.map&&this.usedForTerrain&&this.map.painter.terrain&&this.map.painter.terrain.resetTileLookupCache(this.id);}tilesIn(t,e,r){const n=[],i=this.transform;if(!i)return n;const s="globe"===i.projection.name,a=Nl(i.center.lng);for(const o in this._tiles){const l=this._tiles[o];if(r&&l.clearQueryDebugViz(),l.holdingForFade())continue;let u;if(s){const t=l.tileID.canonical;if(0===t.z){const e=[Math.abs(M(a,...iy(t,-1))-a),Math.abs(M(a,...iy(t,1))-a)];u=[0,2*e.indexOf(Math.min(...e))-1];}else {const e=[Math.abs(M(a,...iy(t,-1))-a),Math.abs(M(a,...iy(t,0))-a),Math.abs(M(a,...iy(t,1))-a)];u=[e.indexOf(Math.min(...e))-1];}}else u=[0];for(const r of u){const s=t.containsTile(l,i,e,r);s&&n.push(s);}}return n}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const t of e)t.projMatrix=this.transform.calculateProjMatrix(t.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return !0;if(ny(this._source.type))for(const t in this._tiles){const e=this._tiles[t];if(void 0!==e.fadeEndTime&&e.fadeEndTime>=Xt.now())return !0}return !1}setFeatureState(t,e,r){this._state.updateState(t=t||"_geojsonTileLayer",e,r);}removeFeatureState(t,e,r){this._state.removeFeatureState(t=t||"_geojsonTileLayer",e,r);}getFeatureState(t,e){return this._state.getState(t=t||"_geojsonTileLayer",e)}setDependencies(t,e,r){const n=this._tiles[t];n&&n.setDependencies(e,r);}reloadTilesForDependencies(t,e){for(const r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(+r,"reloading");this._cache.filter((r=>!r.hasDependency(t,e)));}_preloadTiles(t,e){if(!this._sourceLoaded){const r=()=>{this._sourceLoaded&&(this._source.off("data",r),this._preloadTiles(t,e));};return void this._source.on("data",r)}const r=new Map,n=Array.isArray(t)?t:[t],i=this.map.painter.terrain,s=this.usedForTerrain&&i?i.getScaledDemTileSize():this._source.tileSize;for(const t of n){const e=t.coveringTiles({tileSize:s,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!this.usedForTerrain,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain});for(const t of e)r.set(t.key,t);this.usedForTerrain&&t.updateElevation(!1);}B(Array.from(r.values()),((t,e)=>{const r=new Pf(t,this._source.tileSize*t.overscaleFactor(),this.transform.tileZoom,this.map.painter,this._isRaster);this._loadTile(r,(t=>{"raster-dem"===this._source.type&&r.dem&&this._backfillDEM(r),e(t,r);}));}),e);}}function ry(t,e){const r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function ny(t){return "raster"===t||"image"===t||"video"===t||"custom"===t}function iy(t,e){const r=1<=0&&n[3]>=0&&o.insert(a,n[0],n[1],n[2],n[3]);}}loadVTLayers(){if(!this.vtLayers){this.vtLayers=new Zc(new mp(this.rawTileData)).layers,this.sourceLayerCoder=new wf(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"]),this.vtFeatures={};for(const t in this.vtLayers)this.vtFeatures[t]=[];}return this.vtLayers}query(t,e,r,n){this.loadVTLayers();const i=t.params||{},s=hi(i.filter),a=t.tileResult,o=t.transform,l=a.bufferedTilespaceBounds,u=this.grid.query(l.min.x,l.min.y,l.max.x,l.max.y,((t,e,r,n)=>wu(a.bufferedTilespaceGeometry,t,e,r,n)));u.sort(ly);let c=null;o.elevation&&u.length>0&&(c=sy.create(o.elevation,this.tileID));const h={};let p;for(let o=0;o(f||(f=au(e,this.tileID.canonical,t.tileTransform)),r.queryIntersectsFeature(a,e,n,f,this.z,t.transform,t.pixelPosMatrix,c,i))));}return h}loadMatchingFeature(t,e,r,n,i,s,a,o,l){const{featureIndex:u,bucketIndex:c,sourceLayerIndex:h,layoutVertexArrayOffset:p}=e,d=this.bucketLayerIDs[c];if(n&&!function(t,e){for(let r=0;r=0)return !0;return !1}(n,d))return;const f=this.sourceLayerCoder.decode(h),y=this.vtLayers[f].feature(u);if(r.needGeometry){const t=ou(y,!0);if(!r.filter(new ws(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!r.filter(new ws(this.tileID.overscaledZ),y))return;const m=this.getId(y,f);for(let e=0;e{const a=e instanceof zs?e.get(s):null;return a&&a.evaluate?a.evaluate(r,n,i):a}))}function ly(t,e){return e-t}Ji(ay,"FeatureIndex",{omit:["rawTileData","sourceLayerCoder"]});class uy{constructor(t,e){this.width=t,this.height=e,this.nextRow=0,this.image=new Ru({width:t,height:e}),this.positions={},this.uploaded=!1;}getDash(t,e){const r=this.getKey(t,e);return this.positions[r]}trim(){const t=this.width,e=this.height=L(this.nextRow);this.image.resize({width:t,height:e});}getKey(t,e){return t.join(",")+e}getDashRanges(t,e,r){const n=[];let i=t.length%2==1?-t[t.length-1]*r:0,s=t[0]*r,a=!0;n.push({left:i,right:s,isDash:a,zeroLength:0===t[0]});let o=t[0];for(let e=1;e1&&(a=t[++s]);const l=Math.abs(o-a.left),u=Math.abs(o-a.right),c=Math.min(l,u);let h;const p=e/r*(n+1);if(a.isDash){const t=n-Math.abs(p);h=Math.sqrt(c*c+t*t);}else h=n-Math.sqrt(c*c+p*p);this.image.data[i+o]=Math.max(0,Math.min(255,h+128));}}}addRegularDash(t,e){for(let e=t.length-1;e>=0;--e){const r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1));}const r=t[0],n=t[t.length-1];r.isDash===n.isDash&&(r.left=n.left-this.width,n.right=r.right+this.width);const i=this.width*this.nextRow;let s=0,a=t[s];for(let r=0;r1&&(a=t[++s]);const n=Math.abs(r-a.left),o=Math.abs(r-a.right),l=Math.min(n,o);this.image.data[i+r]=Math.max(0,Math.min(255,(a.isDash?l:-l)+e+128));}}addDash(t,e){const r=this.getKey(t,e);if(this.positions[r])return this.positions[r];const n="round"===e,i=n?7:0,s=2*i+1;if(this.nextRow+s>this.height)return N("LineAtlas out of space"),null;0===t.length&&t.push(1);let a=0;for(let e=0;e=e.maxzoom||"none"!==e.visibility&&(dy(t,this.zoom,r),(o[e.id]=e.createBucket({index:a.bucketLayerIDs.length,layers:t,zoom:this.zoom,canonical:this.canonical,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:h,sourceID:this.source,enableTerrain:this.enableTerrain,projection:this.projection.spec,availableImages:r})).populate(p,u,this.tileID.canonical,this.tileTransform),a.bucketLayerIDs.push(t.map((t=>t.id))));}}let h,p,d,f;l.trim();const y={type:"maybePrepare",isSymbolTile:this.isSymbolTile,zoom:this.zoom},m=()=>{if(h)return i(h);if(p&&d&&f){const t=new hy(p),e=new kp(d,f);for(const n in o){const i=o[n];i instanceof of?(dy(i.layers,this.zoom,r),vd(i,p,t.positions,d,e.iconPositions,this.showCollisionBoxes,r,this.tileID.canonical,this.tileZoom,this.projection)):i.hasPattern&&(i instanceof Ih||i instanceof Mc||i instanceof th)&&(dy(i.layers,this.zoom,r),i.addFeatures(u,this.tileID.canonical,e.patternPositions,r,this.tileTransform));}this.status="done",i(null,{buckets:E(o).filter((t=>!t.isEmpty())),featureIndex:a,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,lineAtlas:l,imageAtlas:e,glyphMap:this.returnDependencies?p:null,iconMap:this.returnDependencies?d:null,glyphPositions:this.returnDependencies?t.positions:null});}},g=$(u.glyphDependencies,(t=>Object.keys(t).map(Number)));Object.keys(g).length?n.send("getGlyphs",{uid:this.uid,stacks:g},((t,e)=>{h||(h=t,p=e,m());}),void 0,!1,y):p={};const x=Object.keys(u.iconDependencies);x.length?n.send("getImages",{icons:x,source:this.source,tileID:this.tileID,type:"icons"},((t,e)=>{h||(h=t,d=e,m());}),void 0,!1,y):d={};const v=Object.keys(u.patternDependencies);v.length?n.send("getImages",{icons:v,source:this.source,tileID:this.tileID,type:"patterns"},((t,e)=>{h||(h=t,f=e,m());}),void 0,!1,y):f={},m();}}function dy(t,e,r){const n=new ws(e);for(const e of t)e.recalculate(n,r);}class fy{constructor(t){this.entries={},this.scheduler=t;}request(t,e,r,n){const i=this.entries[t]=this.entries[t]||{callbacks:[]};if(i.result){const[t,r]=i.result;return this.scheduler?this.scheduler.add((()=>{n(t,r);}),e):n(t,r),()=>{}}return i.callbacks.push(n),i.cancel||(i.cancel=r(((r,n)=>{i.result=[r,n];for(const t of i.callbacks)this.scheduler?this.scheduler.add((()=>{t(r,n);}),e):t(r,n);setTimeout((()=>delete this.entries[t]),3e3);}))),()=>{i.result||(i.callbacks=i.callbacks.filter((t=>t!==n)),i.callbacks.length||(i.cancel(),delete this.entries[t]));}}}function yy(t,e,r){const n=JSON.stringify(t.request);return t.data&&(this.deduped.entries[n]={result:[null,t.data]}),this.deduped.request(n,{type:"parseTile",isSymbolTile:t.isSymbolTile,zoom:t.tileZoom},(e=>{const n=pt(t.request,((t,n,i,s)=>{t?e(t):n&&e(null,{vectorTile:r?void 0:new Zc(new mp(n)),rawData:n,cacheControl:i,expires:s});}));return ()=>{n.cancel(),e();}}),e)}const my=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class gy{static from(t){if(!(t instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[e,r]=new Uint8Array(t,0,2);if(219!==e)throw new Error("Data does not appear to be in a KDBush format.");const n=r>>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);const i=my[15&r];if(!i)throw new Error("Unrecognized array type.");const[s]=new Uint16Array(t,2,1),[a]=new Uint32Array(t,4,1);return new gy(a,s,i,t)}constructor(t,e=64,r=Float64Array,n){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+e,2),65535),this.ArrayType=r,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const i=my.indexOf(this.ArrayType),s=2*t*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,o=(8-a%8)%8;if(i<0)throw new Error(`Unexpected typed array class: ${r}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+o,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+s+a+o),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+o,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=e,new Uint32Array(this.data,4,1)[0]=t);}add(t,e){const r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=t,this.coords[this._pos++]=e,r}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return xy(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,e,r,n){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:i,coords:s,nodeSize:a}=this,o=[0,i.length-1,0],l=[];for(;o.length;){const u=o.pop()||0,c=o.pop()||0,h=o.pop()||0;if(c-h<=a){for(let a=h;a<=c;a++){const o=s[2*a],u=s[2*a+1];o>=t&&o<=r&&u>=e&&u<=n&&l.push(i[a]);}continue}const p=h+c>>1,d=s[2*p],f=s[2*p+1];d>=t&&d<=r&&f>=e&&f<=n&&l.push(i[p]),(0===u?t<=d:e<=f)&&(o.push(h),o.push(p-1),o.push(1-u)),(0===u?r>=d:n>=f)&&(o.push(p+1),o.push(c),o.push(1-u));}return l}within(t,e,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:n,coords:i,nodeSize:s}=this,a=[0,n.length-1,0],o=[],l=r*r;for(;a.length;){const u=a.pop()||0,c=a.pop()||0,h=a.pop()||0;if(c-h<=s){for(let r=h;r<=c;r++)_y(i[2*r],i[2*r+1],t,e)<=l&&o.push(n[r]);continue}const p=h+c>>1,d=i[2*p],f=i[2*p+1];_y(d,f,t,e)<=l&&o.push(n[p]),(0===u?t-r<=d:e-r<=f)&&(a.push(h),a.push(p-1),a.push(1-u)),(0===u?t+r>=d:e+r>=f)&&(a.push(p+1),a.push(c),a.push(1-u));}return o}}function xy(t,e,r,n,i,s){if(i-n<=r)return;const a=n+i>>1;vy(t,e,a,n,i,s),xy(t,e,r,n,a-1,1-s),xy(t,e,r,a+1,i,1-s);}function vy(t,e,r,n,i,s){for(;i>n;){if(i-n>600){const a=i-n+1,o=r-n+1,l=Math.log(a),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(a-u)/a)*(o-a/2<0?-1:1);vy(t,e,r,Math.max(n,Math.floor(r-o*u/a+c)),Math.min(i,Math.floor(r+(a-o)*u/a+c)),s);}const a=e[2*r+s];let o=n,l=i;for(by(t,e,n,r),e[2*i+s]>a&&by(t,e,n,i);oa;)l--;}e[2*n+s]===a?by(t,e,n,l):(l++,by(t,e,l,i)),l<=r&&(n=l+1),r<=l&&(i=l-1);}}function by(t,e,r,n){wy(t,r,n),wy(e,2*r,2*n),wy(e,2*r+1,2*n+1);}function wy(t,e,r){const n=t[e];t[e]=t[r],t[r]=n;}function _y(t,e,r,n){const i=t-r,s=e-n;return i*i+s*s}t.ARRAY_TYPE=uo,t.AUTH_ERR_MSG=xt,t.Aabb=il,t.Actor=class{constructor(t,r,n){this.target=t,this.parent=r,this.mapId=n,this.callbacks={},this.cancelCallbacks={},R(["receive"],this),this.target.addEventListener("message",this.receive,!1),this.globalScope=K()?t:e,this.scheduler=new bf;}send(t,e,r,n,i=!1,s){const a=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(r.metadata=s,this.callbacks[a]=r);const o=H(this.globalScope)?void 0:[];return this.target.postMessage({id:a,type:t,hasCallback:!!r,targetMapId:n,mustQueue:i,sourceMapId:this.mapId,data:Wi(e,o)},o),{cancel:()=>{r&&delete this.callbacks[a],this.target.postMessage({id:a,type:"",targetMapId:n,sourceMapId:this.mapId});}}}receive(t){const e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){const t=this.cancelCallbacks[r];delete this.cancelCallbacks[r],t&&t.cancel();}else if(e.mustQueue||K()){const t=this.callbacks[r];this.cancelCallbacks[r]=this.scheduler.add((()=>this.processTask(r,e)),t&&t.metadata||{type:"message"});}else this.processTask(r,e);}processTask(t,e){if(""===e.type){const r=this.callbacks[t];delete this.callbacks[t],r&&(e.error?r(Qi(e.error)):r(null,Qi(e.data)));}else {const r=H(this.globalScope)?void 0:[],n=e.hasCallback?(e,n)=>{delete this.cancelCallbacks[t],this.target.postMessage({id:t,type:"",sourceMapId:this.mapId,error:e?Wi(e):null,data:Wi(n,r)},r);}:t=>{},i=Qi(e.data);if(this.parent[e.type])this.parent[e.type](e.sourceMapId,i,n);else if(this.parent.getWorkerSource){const t=e.type.split(".");this.parent.getWorkerSource(e.sourceMapId,t[0],i.source)[t[1]](i,n);}else n(new Error(`Could not find function ${e.type}`));}}remove(){this.scheduler.remove(),this.target.removeEventListener("message",this.receive,!1);}},t.CanonicalTileID=ph,t.Color=Ee,t.ColorMode=Yf,t.CullFaceMode=ty,t.DEMData=Zf,t.DataConstantProperty=Bs,t.DedupedRequest=fy,t.DepthMode=Xf,t.EXTENT=ao,t.Elevation=class{isDataAvailableAtPoint(t){const e=this._source();if(this.isUsingMockSource()||!e||t.y<0||t.y>1)return !1;const r=e.getSource().maxzoom,n=1<1)return e;const i=n.getSource().maxzoom,s=1<{const s=this.getAtTileOffset(t,i.x,i.y),a=n.upVector(t.canonical,i.x,i.y);return Co(a,a,s*n.upVectorScale(t.canonical,e,r).metersToTile),a}}getForTilePoints(t,e,r,n){if(this.isUsingMockSource())return !1;const i=sy.create(this,t,n);return !!i&&(e.forEach((t=>{t[2]=this.exaggeration()*i.getElevationAt(t[0],t[1],r);})),!0)}getMinMaxForTile(t){if(this.isUsingMockSource())return null;const e=this.findDEMTileFor(t);if(!e||!e.dem)return null;const r=e.dem.tree,n=e.tileID,i=1<{let n=t===s-1?t-2:0===t?t:t-1;return n+=r?24575:0,[n,e]};for(let t=0;tthis._skuTokenExpiresAt}transformRequest(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}}normalizeStyleURL(t,e){if(!vt(t))return t;const r=kt(t);return r.path=`/styles/v1${r.path}`,this._makeAPIURL(r,this._customAccessToken||e)}normalizeGlyphsURL(t,e){if(!vt(t))return t;const r=kt(t);return r.path=`/fonts/v1${r.path}`,this._makeAPIURL(r,this._customAccessToken||e)}normalizeSourceURL(t,e,r,n){if(!vt(t))return t;const i=kt(t);return i.path=`/v4/${i.authority}.json`,i.params.push("secure"),r&&i.params.push(`language=${r}`),n&&i.params.push(`worldview=${n}`),this._makeAPIURL(i,this._customAccessToken||e)}normalizeSpriteURL(t,e,r,n){const i=kt(t);return vt(t)?(i.path=`/styles/v1${i.path}/sprite${e}${r}`,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=`${e}${r}`,It(i))}normalizeTileURL(t,e,r){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!vt(t))return t;const n=kt(t);n.path=n.path.replace(/(\.(png|jpg)\d*)(?=$)/,`${e||r&&"raster"!==n.authority&&512===r?"@2x":""}${s.supported?".webp":"$1"}`),"raster"===n.authority?n.path=`/${i.RASTER_URL_PREFIX}${n.path}`:(n.path=n.path.replace(/^.+\/v4\//,"/"),n.path=`/${i.TILE_URL_VERSION}${n.path}`);const a=this._customAccessToken||function(t){for(const e of t){const t=e.match(/^access_token=(.*)$/);if(t)return t[1]}return null}(n.params)||i.ACCESS_TOKEN;return i.REQUIRE_ACCESS_TOKEN&&a&&this._skuToken&&n.params.push(`sku=${this._skuToken}`),this._makeAPIURL(n,a)}canonicalizeTileURL(t,e){const r=kt(t);if(!r.path.match(/^(\/v4\/|\/raster\/v1\/)/)||!r.path.match(/\.[\w]+$/))return t;let n="mapbox://";r.path.match(/^\/raster\/v1\//)?n+=`raster/${r.path.replace(`/${i.RASTER_URL_PREFIX}/`,"")}`:n+=`tiles/${r.path.replace(`/${i.TILE_URL_VERSION}/`,"")}`;let s=r.params;return e&&(s=s.filter((t=>!t.match(/^access_token=/)))),s.length&&(n+=`?${s.join("&")}`),n}canonicalizeTileset(t,e){const r=!!e&&vt(e),n=[];for(const e of t.tiles||[])bt(e)?n.push(this.canonicalizeTileURL(e,r)):n.push(e);return n}_makeAPIURL(t,e){const r="See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes",n=kt(i.API_URL);if(t.protocol=n.protocol,t.authority=n.authority,"http"===t.protocol){const e=t.params.indexOf("secure");e>=0&&t.params.splice(e,1);}if("/"!==n.path&&(t.path=`${n.path}${t.path}`),!i.REQUIRE_ACCESS_TOKEN)return It(t);if(e=e||i.ACCESS_TOKEN,!this._silenceAuthErrors){if(!e)throw new Error(`An API access token is required to use Mapbox GL. ${r}`);if("s"===e[0])throw new Error(`Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). ${r}`)}return t.params=t.params.filter((t=>-1===t.indexOf("access_token"))),t.params.push(`access_token=${e||""}`),It(t)}},t.ResourceType=lt,t.SegmentVector=so,t.SourceCache=ey,t.StencilMode=Hf,t.StructArrayLayout1ui2=ua,t.StructArrayLayout2f1f2i16=Qs,t.StructArrayLayout2i4=$s,t.StructArrayLayout2ui4=la,t.StructArrayLayout3f12=ea,t.StructArrayLayout3ui6=ra,t.StructArrayLayout4i8=Os,t.StructArrayLayout5f20=aa,t.Texture=xf,t.Tile=Pf,t.Transitionable=Ss,t.Uniform1f=La,t.Uniform1i=class extends Va{constructor(t){super(t),this.current=0;}set(t,e,r){this.fetchUniformLocation(t,e)&&this.current!==r&&(this.current=r,this.gl.uniform1i(this.location,r));}},t.Uniform2f=class extends Va{constructor(t){super(t),this.current=[0,0];}set(t,e,r){this.fetchUniformLocation(t,e)&&(r[0]===this.current[0]&&r[1]===this.current[1]||(this.current=r,this.gl.uniform2f(this.location,r[0],r[1])));}},t.Uniform3f=class extends Va{constructor(t){super(t),this.current=[0,0,0];}set(t,e,r){this.fetchUniformLocation(t,e)&&(r[0]===this.current[0]&&r[1]===this.current[1]&&r[2]===this.current[2]||(this.current=r,this.gl.uniform3f(this.location,r[0],r[1],r[2])));}},t.Uniform4f=Fa,t.UniformColor=Ra,t.UniformMatrix2f=class extends Va{constructor(t){super(t),this.current=ja;}set(t,e,r){if(this.fetchUniformLocation(t,e))for(let t=0;t<4;t++)if(r[t]!==this.current[t]){this.current=r,this.gl.uniformMatrix2fv(this.location,!1,r);break}}},t.UniformMatrix3f=class extends Va{constructor(t){super(t),this.current=$a;}set(t,e,r){if(this.fetchUniformLocation(t,e))for(let t=0;t<9;t++)if(r[t]!==this.current[t]){this.current=r,this.gl.uniformMatrix3fv(this.location,!1,r);break}}},t.UniformMatrix4f=class extends Va{constructor(t){super(t),this.current=Ua;}set(t,e,r){if(this.fetchUniformLocation(t,e)){if(r[12]!==this.current[12]||r[0]!==this.current[0])return this.current=r,void this.gl.uniformMatrix4fv(this.location,!1,r);for(let t=1;t<16;t++)if(r[t]!==this.current[t]){this.current=r,this.gl.uniformMatrix4fv(this.location,!1,r);break}}}},t.UnwrappedTileID=dh,t.ValidationError=ri,t.VectorTileFeature=Kc,t.VectorTileWorkerSource=class extends Qt{constructor(t,e,r,n,i){super(),this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=i||yy,this.loading={},this.loaded={},this.deduped=new fy(t.scheduler),this.isSpriteLoaded=n,this.scheduler=t.scheduler;}loadTile(t,e){const r=t.uid,n=t&&t.request,i=n&&n.collectResourceTiming,s=this.loading[r]=new py(t);s.abort=this.loadVectorData(t,((a,o)=>{const l=!this.loading[r];if(delete this.loading[r],l||a||!o)return s.status="done",l||(this.loaded[r]=s),e(a);const u=o.rawData,c={};o.expires&&(c.expires=o.expires),o.cacheControl&&(c.cacheControl=o.cacheControl),s.vectorTile=o.vectorTile||new Zc(new mp(u));const h=()=>{s.parse(s.vectorTile,this.layerIndex,this.availableImages,this.actor,((t,r)=>{if(t||!r)return e(t);const s={};if(i){const t=qt(n);t.length>0&&(s.resourceTiming=JSON.parse(JSON.stringify(t)));}e(null,C({rawTileData:u.slice(0)},r,c,s));}));};this.isSpriteLoaded?h():this.once("isSpriteLoaded",(()=>{this.scheduler?this.scheduler.add(h,{type:"parseTile",isSymbolTile:t.isSymbolTile,zoom:t.tileZoom}):h();})),this.loaded=this.loaded||{},this.loaded[r]=s;}));}reloadTile(t,e){const r=this.loaded,n=t.uid,i=this;if(r&&r[n]){const s=r[n];s.showCollisionBoxes=t.showCollisionBoxes,s.enableTerrain=!!t.enableTerrain,s.projection=t.projection,s.tileTransform=Bd(t.tileID.canonical,t.projection);const a=(t,r)=>{const n=s.reloadCallback;n&&(delete s.reloadCallback,s.parse(s.vectorTile,i.layerIndex,this.availableImages,i.actor,n)),e(t,r);};"parsing"===s.status?s.reloadCallback=a:"done"===s.status&&(s.vectorTile?s.parse(s.vectorTile,this.layerIndex,this.availableImages,this.actor,a):a());}}abortTile(t,e){const r=t.uid,n=this.loading[r];n&&(n.abort&&n.abort(),delete this.loading[r]),e();}removeTile(t,e){const r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e();}},t.WritingMode=Ip,t.ZoomDependentExpression=Wn,t.add=Mo,t.addDynamicAttributes=rf,t.adjoint=function(t,e){var r=e[0],n=e[1],i=e[2],s=e[3],a=e[4],o=e[5],l=e[6],u=e[7],c=e[8];return t[0]=a*c-o*u,t[1]=i*u-n*c,t[2]=n*o-i*a,t[3]=o*l-s*c,t[4]=r*c-i*l,t[5]=i*s-r*o,t[6]=s*u-a*l,t[7]=n*l-r*u,t[8]=r*a-n*s,t},t.asyncAll=B,t.bezier=k,t.bindAll=R,t.boundsAttributes=Ef,t.bufferConvexPolygon=function(t,e){const r=[];for(let n=0;net&&(t.getActor().send("enforceCacheSizeLimit",tt),ot=0);},t.calculateGlobeLabelMatrix=function(t,e){const{x:r,y:n}=t.point,i=Cl(r,n,t.worldSize/t._pixelsPerMercatorPixel,0,0);return yo(i,i,El(xl(e)))},t.calculateGlobeMatrix=function(t){const{x:e,y:r}=t.point,{lng:n,lat:i}=t._center;return Cl(e,r,t.worldSize,n,i)},t.calculateGlobeMercatorMatrix=function(t){const e=t.pixelsPerMeter,r=e/Zl(1,t.center.lat),n=po(new Float64Array(16));return mo(n,n,[t.point.x,t.point.y,0]),go(n,n,[r,r,e]),Float32Array.from(n)},t.circumferenceAtLatitude=ql,t.clamp=M,t.clearTileCache=function(t){if(!it())return;const r=e.caches.delete(Q);t&&r.catch(t).then((()=>t()));},t.clipLine=Hp,t.clone=function(t){var e=new uo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=O,t.collisionCircleLayout=Fh,t.config=i,t.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},t.create=function(){var t=new uo(16);return uo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=co,t.createExpression=Hn,t.createLayout=Rs,t.createStyleLayer=function(t){return "custom"===t.type?new ff(t):new gf[t.type](t)},t.cross=Lo,t.degToRad=w,t.distance=function(t,e){return Math.hypot(e[0]-t[0],e[1]-t[1],e[2]-t[2])},t.div=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t},t.dot=Vo,t.earthRadius=Ul,t.ease=I,t.easeCubicInOut=S,t.ecefToLatLng=function([t,e,r]){const n=Math.hypot(t,e,r),i=Math.atan2(t,r),s=.5*Math.PI-Math.acos(-e/n);return new Ol(_(i),_(s))},t.emitValidationErrors=qi,t.endsWith=U,t.enforceCacheSizeLimit=function(t){st(),rt&&rt.then((e=>{e.keys().then((r=>{for(let n=0;ns&&(n+=(t[i]-s)*(t[i]-s)),e[i]0){const t=180/n;ho(d,d,[t/u+1,0,0,0,t/c+1,0,-.5*t/h,.5*t/p,1]);}return d[2]=l,d[5]=t.x,d[8]=t.y,d},t.getImage=gt,t.getJSON=function(t,e){return ht(C(t,{type:"json"}),e)},t.getLatitudinalLod=function(t){const e=Hl-5;t=M(t,-e,e)/e*90;const r=Math.pow(Math.abs(Math.sin(w(t))),3);return Math.round(r*(cl.length-1))},t.getMapSessionAPI=Ft,t.getPerformanceMeasurement=qt,t.getProjection=Yd,t.getRTLTextPluginStatus=xs,t.getReferrer=ct,t.getTilePoint=function(t,{x:e,y:r},n=0){return new x(((e-n)*t.scale-t.x)*ao,(r*t.scale-t.y)*ao)},t.getTileVec3=function(t,e,r=0){return Io(((e.x-r)*t.scale-t.x)*ao,(e.y*t.scale-t.y)*ao,Jl(e.z,e.y))},t.getVideo=function(t,r){const n=e.document.createElement("video");n.muted=!0,n.onloadstart=function(){r(null,n);};for(let r=0;r{}}},t.globeCenterToScreenPoint=function(t){const e=[0,0,0],r=po(new Float64Array(16));return yo(r,t.pixelMatrix,t.globeMatrix),Fo(e,e,r),new x(e[0],e[1])},t.globeDenormalizeECEF=El,t.globeECEFOrigin=function(t,e){const r=[0,0,0];return Fo(r,r,Bl(xl(e.canonical))),Fo(r,r,t),r},t.globeMetersToEcef=fl,t.globeNormalizeECEF=Bl,t.globePixelsToTileUnits=function(t,e){return ao/(512*Math.pow(2,t))*Tl(xl(e))},t.globePoleMatrixForTile=function(t,e,r){const n=po(new Float64Array(16)),i=(e/(1<0;return 0===n&&!i&&!a&&s},t.identity=po,t.identity$1=Ko,t.invert=fo,t.isFullscreen=function(){return !!e.document.fullscreenElement||!!e.document.webkitFullscreenElement},t.isLngLatBehindGlobe=Vl,t.isMapAuthenticated=function(t){return Rt.has(t)},t.isMapboxURL=vt,t.isSafariWithAntialiasingBug=function(t){const e=t.navigator?t.navigator.userAgent:null;return !!H(t)&&e&&(e.match("Version/15.4")||e.match("Version/15.5")||e.match(/CPU (OS|iPhone OS) (15_4|15_5) like Mac OS X/))},t.latFromMercatorY=Xl,t.latLngToECEF=Il,t.len=Oo,t.length=ko,t.length$1=function(t){return Math.hypot(t[0],t[1],t[2],t[3])},t.lngFromMercatorX=Kl,t.loadVectorTile=yy,t.makeRequest=ht,t.mapValue=function(t,e,r,n,i){return M((t-e)/(r-e)*(i-n)+n,n,i)},t.mercatorScale=Yl,t.mercatorXfromLng=Nl,t.mercatorYfromLat=Gl,t.mercatorZfromAltitude=Zl,t.mul=_o,t.mul$1=jo,t.multiply=yo,t.multiply$1=ho,t.multiply$2=zo,t.nextPowerOfTwo=L,t.normalize=Do,t.normalize$1=Ho,t.normalize$2=No,t.number=Er,t.ortho=function(t,e,r,n,i,s,a){var o=1/(e-r),l=1/(n-i),u=1/(s-a);return t[0]=-2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*o,t[13]=(i+n)*l,t[14]=(a+s)*u,t[15]=1,t},t.pbf=Xh,t.perspective=function(t,e,r,n,i){var s,a=1/Math.tan(e/2);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(t[10]=(i+n)*(s=1/(n-i)),t[14]=2*i*n*s):(t[10]=-1,t[14]=-2*n),t},t.pick=function(t,e){const r={};for(let n=0;n0&&r[0]<=t.width&&r[1]>0&&r[1]<=t.height&&!Vl(t,new Ol(t.center.lat,90)),n[0]>0&&n[0]<=t.width&&n[1]>0&&n[1]<=t.height&&!Vl(t,new Ol(t.center.lat,-90))]},t.polygonContainsPoint=bu,t.polygonIntersectsBox=wu,t.polygonIntersectsPolygon=hu,t.polygonizeBounds=function(t,e,r=0,n=!0){const i=new x(r,r),s=t.sub(i),a=e.add(i),o=[s,new x(a.x,s.y),a,new x(s.x,a.y)];return n&&o.push(s.clone()),o},t.posAttributes=tl,t.postMapLoadEvent=Pt,t.postPerformanceEvent=Vt,t.postTurnstileEvent=Et,t.potpack=_p,t.prevPowerOfTwo=function(t){return t<=1?1:Math.pow(2,Math.floor(Math.log(t)/Math.LN2))},t.radToDeg=_,t.refProperties=["type","source","source-layer","minzoom","maxzoom","filter","layout"],t.registerForPluginStateChange=function(t){return t({pluginStatus:ds,pluginURL:fs}),gs.on("pluginStateChange",t),t},t.removeAuthState=function(t){Rt.delete(t);},t.renderColorRamp=ju,t.resample=tu,t.rotateX=xo,t.rotateX$1=Xo,t.rotateY=vo,t.rotateY$1=Jo,t.rotateZ=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),s=e[0],a=e[1],o=e[2],l=e[3],u=e[4],c=e[5],h=e[6],p=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*i+u*n,t[1]=a*i+c*n,t[2]=o*i+h*n,t[3]=l*i+p*n,t[4]=u*i-s*n,t[5]=c*i-a*n,t[6]=h*i-o*n,t[7]=p*i-l*n,t},t.rotateZ$1=function(t,e,r){r*=.5;var n=e[0],i=e[1],s=e[2],a=e[3],o=Math.sin(r),l=Math.cos(r);return t[0]=n*l+i*o,t[1]=i*l-n*o,t[2]=s*l+a*o,t[3]=a*l-s*o,t},t.scale=go,t.scale$1=qo,t.scale$2=Co,t.scaleAndAdd=Po,t.set=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t},t.setCacheLimits=function(t,e){tt=t,et=e;},t.setColumn=function(t,e,r){t[4*e+0]=r[0],t[4*e+1]=r[1],t[4*e+2]=r[2],t[4*e+3]=r[3];},t.setRTLTextPlugin=function(t,e,r=!1){if(ds===us||ds===cs||ds===hs)throw new Error("setRTLTextPlugin cannot be called multiple times.");fs=Xt.resolveURL(t),ds=us,ps=e,ms(),r||vs();},t.smoothstep=T,t.spec=te,t.squaredLength=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n},t.storeAuthState=function(t,e){e?Rt.add(t):Rt.delete(t);},t.sub=$o,t.subtract=To,t.symbolSize=qh,t.tileAABB=function(t,e,r,n,i,s,a,o,l){if("globe"===l.name)return _l(t,e,new ph(r,n,i));const u=Bd({z:r,x:n,y:i},l);return new il([(s+u.x/u.scale)*e,e*(u.y/u.scale),a],[(s+u.x2/u.scale)*e,e*(u.y2/u.scale),o])},t.tileCornersToBounds=Al,t.tileTransform=Bd,t.transformMat3=function(t,e,r){var n=e[0],i=e[1],s=e[2];return t[0]=n*r[0]+i*r[3]+s*r[6],t[1]=n*r[1]+i*r[4]+s*r[7],t[2]=n*r[2]+i*r[5]+s*r[8],t},t.transformMat4=Fo,t.transformMat4$1=Go,t.transformQuat=Ro,t.transitionTileAABBinECEF=bl,t.translate=mo,t.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=i;}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},t.triggerPluginCompletionEvent=ys,t.uniqueId=D,t.updateGlobeVertexNormal=function(t,e,r,n,i){const s=5*e+2;t.float32[s+0]=r,t.float32[s+1]=n,t.float32[s+2]=i;},t.validateCustomStyleLayer=function(t){const e=[],r=t.id;return void 0===r&&e.push({message:`layers.${r}: missing required property "id"`}),void 0===t.render&&e.push({message:`layers.${r}: missing required method "render"`}),t.renderingMode&&"2d"!==t.renderingMode&&"3d"!==t.renderingMode&&e.push({message:`layers.${r}: property "renderingMode" must be either "2d" or "3d"`}),e},t.validateFilter=t=>Oi(Ai(t)),t.validateFog=t=>Oi(Vi(t)),t.validateLayer=t=>Oi(Ti(t)),t.validateLight=t=>Oi(Pi(t)),t.validateSource=t=>Oi(Ei(t)),t.validateStyle=Ui,t.validateTerrain=t=>Oi(Di(t)),t.values=E,t.vectorTile=Dc,t.version=r,t.warnOnce=N,t.window=e,t.wrap=z;})); + + define(["./shared"],(function(e){function t(e){if("number"==typeof e||"boolean"==typeof e||"string"==typeof e||null==e)return JSON.stringify(e);if(Array.isArray(e)){let r="[";for(const o of e)r+=`${t(o)},`;return `${r}]`}let r="{";for(const o of Object.keys(e).sort())r+=`${o}:${t(e[o])},`;return `${r}}`}function r(r){let o="";for(const i of e.refProperties)o+=`/${t(r[i])}`;return o}class o{constructor(e){this.keyCache={},e&&this.replace(e);}replace(e){this._layerConfigs={},this._layers={},this.update(e,[]);}update(t,o){for(const r of t)this._layerConfigs[r.id]=r,(this._layers[r.id]=e.createStyleLayer(r)).compileFilter(),this.keyCache[r.id]&&delete this.keyCache[r.id];for(const e of o)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];this.familiesBySource={};const i=function(e,t){const o={};for(let i=0;ithis._layers[e.id])),r=t[0];if("none"===r.visibility)continue;const o=r.source||"";let i=this.familiesBySource[o];i||(i=this.familiesBySource[o]={});const n=r.sourceLayer||"_geojsonTileLayer";let s=i[n];s||(s=i[n]=[]),s.push(t);}}}class i{loadTile(t,r){const{uid:o,encoding:i,rawImageData:n,padding:s,buildQuadTree:a}=t,l=e.window.ImageBitmap&&n instanceof e.window.ImageBitmap?this.getImageData(n,s):n;r(null,new e.DEMData(o,l,i,s<1,a));}getImageData(e,t){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d",{willReadFrequently:!0})),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);const r=this.offscreenCanvasContext.getImageData(-t,-t,e.width+2*t,e.height+2*t);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),r}}function n(e,t){if(0!==e.length){s(e[0],t);for(var r=1;r=Math.abs(a)?r-l+a:a-l+r,r=l;}r+o>=0!=!!t&&e.reverse();}var a=e.getDefaultExportFromCjs((function e(t,r){var o,i=t&&t.type;if("FeatureCollection"===i)for(o=0;o>31}function P(e,t){for(var r=e.loadGeometry(),o=e.type,i=0,n=0,s=r.length,a=0;ae},I=Math.fround||(_=new Float32Array(1),e=>(_[0]=+e,_[0]));var _;const C=3,L=5,O=6;class E{constructor(e){this.options=Object.assign(Object.create(k),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[];}load(e){const{log:t,minZoom:r,maxZoom:o}=this.options;t&&console.time("total time");const i=`prepare ${e.length} points`;t&&console.time(i),this.points=e;const n=[];for(let t=0;t=r;e--){const r=+Date.now();s=this.trees[e]=this._createTree(this._cluster(s,e)),t&&console.log("z%d: %d clusters in %dms",e,s.numItems,+Date.now()-r);}return t&&console.timeEnd("total time"),this}getClusters(e,t){let r=((e[0]+180)%360+360)%360-180;const o=Math.max(-90,Math.min(90,e[1]));let i=180===e[2]?180:((e[2]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,i=180;else if(r>i){const e=this.getClusters([r,o,180,n],t),s=this.getClusters([-180,o,i,n],t);return e.concat(s)}const s=this.trees[this._limitZoom(t)],a=s.range(N(r),Z(n),N(i),Z(o)),l=s.data,u=[];for(const e of a){const t=this.stride*e;u.push(l[t+L]>1?j(l,t,this.clusterProps):this.points[l[t+C]]);}return u}getChildren(e){const t=this._getOriginId(e),r=this._getOriginZoom(e),o="No cluster with the specified id.",i=this.trees[r];if(!i)throw new Error(o);const n=i.data;if(t*this.stride>=n.length)throw new Error(o);const s=this.options.radius/(this.options.extent*Math.pow(2,r-1)),a=i.within(n[t*this.stride],n[t*this.stride+1],s),l=[];for(const t of a){const r=t*this.stride;n[r+4]===e&&l.push(n[r+L]>1?j(n,r,this.clusterProps):this.points[n[r+C]]);}if(0===l.length)throw new Error(o);return l}getLeaves(e,t,r){const o=[];return this._appendLeaves(o,e,t=t||10,r=r||0,0),o}getTile(e,t,r){const o=this.trees[this._limitZoom(e)],i=Math.pow(2,e),{extent:n,radius:s}=this.options,a=s/n,l=(r-a)/i,u=(r+1+a)/i,h={features:[]};return this._addTileFeatures(o.range((t-a)/i,l,(t+1+a)/i,u),o.data,t,r,i,h),0===t&&this._addTileFeatures(o.range(1-a/i,l,1,u),o.data,i,r,i,h),t===i-1&&this._addTileFeatures(o.range(0,l,a/i,u),o.data,-1,r,i,h),h.features.length?h:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){const r=this.getChildren(e);if(t++,1!==r.length)break;e=r[0].properties.cluster_id;}return t}_appendLeaves(e,t,r,o,i){const n=this.getChildren(t);for(const t of n){const n=t.properties;if(n&&n.cluster?i+n.point_count<=o?i+=n.point_count:i=this._appendLeaves(e,n.cluster_id,r,o,i):i1;let l,u,h;if(a)l=F(t,e,this.clusterProps),u=t[e],h=t[e+1];else {const r=this.points[t[e+C]];l=r.properties;const[o,i]=r.geometry.coordinates;u=N(o),h=Z(i);}const c={type:1,geometry:[[Math.round(this.options.extent*(u*i-r)),Math.round(this.options.extent*(h*i-o))]],tags:l};let f;f=a||this.options.generateId?t[e+C]:this.points[t[e+C]].id,void 0!==f&&(c.id=f),n.features.push(c);}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){const{radius:r,extent:o,reduce:i,minPoints:n}=this.options,s=r/(o*Math.pow(2,t)),a=e.data,l=[],u=this.stride;for(let r=0;rt&&(p+=a[r+L]);}if(p>f&&p>=n){let e,n=o*f,s=h*f,g=-1;const d=((r/u|0)<<5)+(t+1)+this.points.length;for(const o of c){const l=o*u;if(a[l+2]<=t)continue;a[l+2]=t;const h=a[l+L];n+=a[l]*h,s+=a[l+1]*h,a[l+4]=d,i&&(e||(e=this._map(a,r,!0),g=this.clusterProps.length,this.clusterProps.push(e)),i(e,this._map(a,l)));}a[r+4]=d,l.push(n/p,s/p,1/0,d,-1,p),i&&l.push(g);}else {for(let e=0;e1)for(const e of c){const r=e*u;if(!(a[r+2]<=t)){a[r+2]=t;for(let e=0;e>5}_getOriginZoom(e){return (e-this.points.length)%32}_map(e,t,r){if(e[t+L]>1){const o=this.clusterProps[e[t+O]];return r?Object.assign({},o):o}const o=this.points[e[t+C]].properties,i=this.options.map(o);return r&&i===o?Object.assign({},i):i}}function j(e,t,r){return {type:"Feature",id:e[t+C],properties:F(e,t,r),geometry:{type:"Point",coordinates:[(o=e[t],360*(o-.5)),J(e[t+1])]}};var o;}function F(e,t,r){const o=e[t+L],i=o>=1e4?`${Math.round(o/1e3)}k`:o>=1e3?Math.round(o/100)/10+"k":o,n=e[t+O],s=-1===n?{}:Object.assign({},r[n]);return Object.assign(s,{cluster:!0,cluster_id:e[t+C],point_count:o,point_count_abbreviated:i})}function N(e){return e/360+.5}function Z(e){const t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function J(e){const t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function z(e,t,r,o){for(var i,n=o,s=r-t>>1,a=r-t,l=e[t],u=e[t+1],h=e[r],c=e[r+1],f=t+3;fn)i=f,n=p;else if(p===n){var g=Math.abs(f-s);go&&(i-t>3&&z(e,t,i,o),e[i+2]=n,r-i>3&&z(e,i,r,o));}function G(e,t,r,o,i,n){var s=i-r,a=n-o;if(0!==s||0!==a){var l=((e-r)*s+(t-o)*a)/(s*s+a*a);l>1?(r=i,o=n):l>0&&(r+=s*l,o+=a*l);}return (s=e-r)*s+(a=t-o)*a}function W(e,t,r,o){var i={id:void 0===e?null:e,type:t,geometry:r,tags:o,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,r=e.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)Y(e,t);else if("Polygon"===r||"MultiLineString"===r)for(var o=0;o0&&(s+=o?(i*u-l*n)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(u-n,2))),i=l,n=u;}var h=t.length-3;t[2]=1,z(t,0,h,r),t[h+2]=1,t.size=Math.abs(s),t.start=0,t.end=t.size;}function $(e,t,r,o){for(var i=0;i1?1:r}function R(e,t,r,o,i,n,s,a){if(o/=t,n>=(r/=t)&&s=o)return null;for(var l=[],u=0;u=r&&g=o)){var d=[];if("Point"===f||"MultiPoint"===f)q(c,d,r,o,i);else if("LineString"===f)Q(c,d,r,o,i,!1,a.lineMetrics);else if("MultiLineString"===f)K(c,d,r,o,i,!1);else if("Polygon"===f)K(c,d,r,o,i,!0);else if("MultiPolygon"===f)for(var m=0;m=r&&s<=o&&(t.push(e[n]),t.push(e[n+1]),t.push(e[n+2]));}}function Q(e,t,r,o,i,n,s){for(var a,l,u=U(e),h=0===i?ee:te,c=e.start,f=0;fr&&(l=h(u,p,g,m,y,r),s&&(u.start=c+a*l)):v>o?x=r&&(l=h(u,p,g,m,y,r),w=!0),x>o&&v<=o&&(l=h(u,p,g,m,y,o),w=!0),!n&&w&&(s&&(u.end=c+a*l),t.push(u),u=U(e)),s&&(c+=a);}var S=e.length-3;p=e[S],g=e[S+1],d=e[S+2],(v=0===i?p:g)>=r&&v<=o&&H(u,p,g,d),S=u.length-3,n&&S>=3&&(u[S]!==u[0]||u[S+1]!==u[1])&&H(u,u[0],u[1],u[2]),u.length&&t.push(u);}function U(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function K(e,t,r,o,i,n){for(var s=0;ss.maxX&&(s.maxX=h),c>s.maxY&&(s.maxY=c);}return s}function ae(e,t,r,o){var i=t.geometry,n=t.type,s=[];if("Point"===n||"MultiPoint"===n)for(var a=0;a0&&t.size<(i?s:o))r.numPoints+=t.length/3;else {for(var a=[],l=0;ls)&&(r.numSimplified++,a.push(t[l]),a.push(t[l+1])),r.numPoints++;i&&function(e,t){for(var r=0,o=0,i=e.length,n=i-2;o0===t)for(o=0,i=e.length;o24)throw new Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw new Error("promoteId and generateId cannot be used together.");var o=function(e,t){var r=[];if("FeatureCollection"===e.type)for(var o=0;o1&&console.time("creation"),f=this.tiles[c]=se(e,t,r,o,l),this.tileCoords.push({z:t,x:r,y:o}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,r,o,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd("creation"));var p="z"+t;this.stats[p]=(this.stats[p]||0)+1,this.total++;}if(f.source=e,i){if(t===l.maxZoom||t===i)continue;var g=1<1&&console.time("clipping");var d,m,y,v,x,w,S=.5*l.buffer/l.extent,M=.5-S,P=.5+S,b=1+S;d=m=y=v=null,x=R(e,h,r-S,r+P,0,f.minX,f.maxX,l),w=R(e,h,r+M,r+b,0,f.minX,f.maxX,l),e=null,x&&(d=R(x,h,o-S,o+P,1,f.minY,f.maxY,l),m=R(x,h,o+M,o+b,1,f.minY,f.maxY,l),x=null),w&&(y=R(w,h,o-S,o+P,1,f.minY,f.maxY,l),v=R(w,h,o+M,o+b,1,f.minY,f.maxY,l),w=null),u>1&&console.timeEnd("clipping"),a.push(d||[],t+1,2*r,2*o),a.push(m||[],t+1,2*r,2*o+1),a.push(y||[],t+1,2*r+1,2*o),a.push(v||[],t+1,2*r+1,2*o+1);}}},ue.prototype.getTile=function(e,t,r){var o=this.options,i=o.extent,n=o.debug;if(e<0||e>24)return null;var s=1<1&&console.log("drilling down to z%d-%d-%d",e,t,r);for(var l,u=e,h=t,c=r;!l&&u>0;)u--,h=Math.floor(h/2),c=Math.floor(c/2),l=this.tiles[he(u,h,c)];return l&&l.source?(n>1&&console.log("found parent tile z%d-%d-%d",u,h,c),n>1&&console.time("drilling down"),this.splitTile(l.source,u,h,c,e,t,r),n>1&&console.timeEnd("drilling down"),this.tiles[a]?ie(this.tiles[a],i):null):null};class fe extends e.VectorTileWorkerSource{constructor(e,t,r,o,i){super(e,t,r,o,ce),i&&(this.loadGeoJSON=i);}loadData(t,r){const o=t&&t.request,i=o&&o.collectResourceTiming;this.loadGeoJSON(t,((n,s)=>{if(n||!s)return r(n);if("object"!=typeof s)return r(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));{a(s,!0);try{if(t.filter){const r=e.createExpression(t.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===r.result)throw new Error(r.value.map((e=>`${e.key}: ${e.message}`)).join(", "));const o=s.features.filter((e=>r.value.evaluate({zoom:0},e)));s={type:"FeatureCollection",features:o};}this._geoJSONIndex=t.cluster?new E(function({superclusterOptions:t,clusterProperties:r}){if(!r||!t)return t;const o={},i={},n={accumulated:null,zoom:0},s={properties:null},a=Object.keys(r);for(const t of a){const[n,s]=r[t],a=e.createExpression(s),l=e.createExpression("string"==typeof n?[n,["accumulated"],["get",t]]:n);o[t]=a.value,i[t]=l.value;}return t.map=e=>{s.properties=e;const t={};for(const e of a)t[e]=o[e].evaluate(n,s);return t},t.reduce=(e,t)=>{s.properties=t;for(const t of a)n.accumulated=e[t],e[t]=i[t].evaluate(n,s);},t}(t)).load(s.features):function(e,t){return new ue(e,t)}(s,t.geojsonVtOptions);}catch(n){return r(n)}this.loaded={};const l={};if(i){const r=e.getPerformanceMeasurement(o);r&&(l.resourceTiming={},l.resourceTiming[t.source]=JSON.parse(JSON.stringify(r)));}r(null,l);}}));}reloadTile(e,t){const r=this.loaded;return r&&r[e.uid]?super.reloadTile(e,t):this.loadTile(e,t)}loadGeoJSON(t,r){if(t.request)e.getJSON(t.request,r);else {if("string"!=typeof t.data)return r(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));try{return r(null,JSON.parse(t.data))}catch(e){return r(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`))}}}getClusterExpansionZoom(e,t){try{t(null,this._geoJSONIndex.getClusterExpansionZoom(e.clusterId));}catch(e){t(e);}}getClusterChildren(e,t){try{t(null,this._geoJSONIndex.getChildren(e.clusterId));}catch(e){t(e);}}getClusterLeaves(e,t){try{t(null,this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset));}catch(e){t(e);}}}class pe{constructor(t){this.self=t,this.actor=new e.Actor(t,this),this.layerIndexes={},this.availableImages={},this.isSpriteLoaded={},this.projections={},this.defaultProjection=e.getProjection({name:"mercator"}),this.workerSourceTypes={vector:e.VectorTileWorkerSource,geojson:fe},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(e,t)=>{if(this.workerSourceTypes[e])throw new Error(`Worker source with name "${e}" already registered.`);this.workerSourceTypes[e]=t;},this.self.registerRTLTextPlugin=t=>{if(e.plugin.isParsed())throw new Error("RTL text plugin already registered.");e.plugin.applyArabicShaping=t.applyArabicShaping,e.plugin.processBidirectionalText=t.processBidirectionalText,e.plugin.processStyledBidirectionalText=t.processStyledBidirectionalText;};}clearCaches(e,t,r){delete this.layerIndexes[e],delete this.availableImages[e],delete this.workerSources[e],delete this.demWorkerSources[e],r();}checkIfReady(e,t,r){r();}setReferrer(e,t){this.referrer=t;}spriteLoaded(t,r){this.isSpriteLoaded[t]=r;for(const o in this.workerSources[t]){const i=this.workerSources[t][o];for(const t in i)i[t]instanceof e.VectorTileWorkerSource&&(i[t].isSpriteLoaded=r,i[t].fire(new e.Event("isSpriteLoaded")));}}setImages(e,t,r){this.availableImages[e]=t;for(const r in this.workerSources[e]){const o=this.workerSources[e][r];for(const e in o)o[e].availableImages=t;}r();}enableTerrain(e,t,r){this.terrain=t,r();}setProjection(t,r){this.projections[t]=e.getProjection(r);}setLayers(e,t,r){this.getLayerIndex(e).replace(t),r();}updateLayers(e,t,r){this.getLayerIndex(e).update(t.layers,t.removedIds),r();}loadTile(t,r,o){const i=this.enableTerrain?e.extend({enableTerrain:this.terrain},r):r;i.projection=this.projections[t]||this.defaultProjection,this.getWorkerSource(t,r.type,r.source).loadTile(i,o);}loadDEMTile(t,r,o){const i=this.enableTerrain?e.extend({buildQuadTree:this.terrain},r):r;this.getDEMWorkerSource(t,r.source).loadTile(i,o);}reloadTile(t,r,o){const i=this.enableTerrain?e.extend({enableTerrain:this.terrain},r):r;i.projection=this.projections[t]||this.defaultProjection,this.getWorkerSource(t,r.type,r.source).reloadTile(i,o);}abortTile(e,t,r){this.getWorkerSource(e,t.type,t.source).abortTile(t,r);}removeTile(e,t,r){this.getWorkerSource(e,t.type,t.source).removeTile(t,r);}removeSource(e,t,r){if(!this.workerSources[e]||!this.workerSources[e][t.type]||!this.workerSources[e][t.type][t.source])return;const o=this.workerSources[e][t.type][t.source];delete this.workerSources[e][t.type][t.source],void 0!==o.removeSource?o.removeSource(t,r):r();}loadWorkerSource(e,t,r){try{this.self.importScripts(t.url),r();}catch(e){r(e.toString());}}syncRTLPluginState(t,r,o){try{e.plugin.setState(r);const t=e.plugin.getPluginURL();if(e.plugin.isLoaded()&&!e.plugin.isParsed()&&null!=t){this.self.importScripts(t);const r=e.plugin.isParsed();o(r?void 0:new Error(`RTL Text Plugin failed to import scripts from ${t}`),r);}}catch(e){o(e.toString());}}getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}getLayerIndex(e){let t=this.layerIndexes[e];return t||(t=this.layerIndexes[e]=new o),t}getWorkerSource(e,t,r){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][r]){const o={send:(t,r,o,i,n,s)=>{this.actor.send(t,r,o,e,n,s);},scheduler:this.actor.scheduler};this.workerSources[e][t][r]=new this.workerSourceTypes[t](o,this.getLayerIndex(e),this.getAvailableImages(e),this.isSpriteLoaded[e]);}return this.workerSources[e][t][r]}getDEMWorkerSource(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new i),this.demWorkerSources[e][t]}enforceCacheSizeLimit(t,r){e.enforceCacheSizeLimit(r);}getWorkerPerformanceMetrics(e,t,r){r(void 0,void 0);}}return "undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope&&(self.worker=new pe(self)),pe})); + + define(["./shared"],(function(e){function t(e,i){if(Array.isArray(e)){if(!Array.isArray(i)||e.length!==i.length)return !1;for(let o=0;o{e.window.removeEventListener("click",_,!0);}),0);}function p(e,t){const i=e.getBoundingClientRect();return g(e,i,t)}function m(e,t){const i=e.getBoundingClientRect(),o=[];for(let r=0;r=0?0:t.button}function g(t,i,o){const r=t.offsetWidth===i.width?1:t.offsetWidth/i.width;return new e.Point((o.clientX-i.left)*r,(o.clientY-i.top)*r)}function v(e,t){var i=t[0],o=t[1],r=t[2],n=t[3],s=i*n-r*o;return s?(e[0]=n*(s=1/s),e[1]=-o*s,e[2]=-r*s,e[3]=i*s,e):null}function x(e){const{userImage:t}=e;return !!(t&&t.render&&t.render())&&(e.data.replace(new Uint8Array(t.data.buffer)),!0)}class y extends e.Evented{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.RGBAImage({width:1,height:1}),this.dirty=!0;}isLoaded(){return this.loaded}setLoaded(e){if(this.loaded!==e&&(this.loaded=e,e)){for(const{ids:e,callback:t}of this.requestors)this._notify(e,t);this.requestors=[];}}hasImage(e){return !!this.getImage(e)}getImage(e){return this.images[e]}addImage(e,t){this._validate(e,t)&&(this.images[e]=t);}_validate(t,i){let o=!0;return this._validateStretch(i.stretchX,i.data&&i.data.width)||(this.fire(new e.ErrorEvent(new Error(`Image "${t}" has invalid "stretchX" value`))),o=!1),this._validateStretch(i.stretchY,i.data&&i.data.height)||(this.fire(new e.ErrorEvent(new Error(`Image "${t}" has invalid "stretchY" value`))),o=!1),this._validateContent(i.content,i)||(this.fire(new e.ErrorEvent(new Error(`Image "${t}" has invalid "content" value`))),o=!1),o}_validateStretch(e,t){if(!e)return !0;let i=0;for(const o of e){if(o[0]{this.ready=!0;}));}broadcast(t,i,o){e.asyncAll(this.actors,((e,o)=>{e.send(t,i,o);}),o=o||function(){});}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(){this.actors.forEach((e=>{e.remove();})),this.actors=[],this.workerPool.release(this.id);}}function D(t,i,o){return i*(e.EXTENT/(t.tileSize*Math.pow(2,o-t.tileID.overscaledZ)))}S.Actor=e.Actor;class L{constructor(e,t,i,o){this.screenBounds=e,this.cameraPoint=t,this._screenRaycastCache={},this._cameraRaycastCache={},this.isAboveHorizon=i,this.screenGeometry=this.bufferedScreenGeometry(0),this.screenGeometryMercator=this._bufferedScreenMercator(0,o);}static createFromScreenPoints(t,i){let o,r;if(t instanceof e.Point||"number"==typeof t[0]){const n=e.Point.convert(t);o=[n],r=i.isPointAboveHorizon(n);}else {const n=e.Point.convert(t[0]),s=e.Point.convert(t[1]);o=[n,s],r=e.polygonizeBounds(n,s).every((e=>i.isPointAboveHorizon(e)));}return new L(o,i.getCameraPoint(),r,i)}isPointQuery(){return 1===this.screenBounds.length}bufferedScreenGeometry(t){return e.polygonizeBounds(this.screenBounds[0],1===this.screenBounds.length?this.screenBounds[0]:this.screenBounds[1],t)}bufferedCameraGeometry(t){const i=this.screenBounds[0],o=1===this.screenBounds.length?this.screenBounds[0].add(new e.Point(1,1)):this.screenBounds[1],r=e.polygonizeBounds(i,o,0,!1);return this.cameraPoint.y>o.y&&(this.cameraPoint.x>i.x&&this.cameraPoint.x=o.x?r[2]=this.cameraPoint:this.cameraPoint.x<=i.x&&(r[3]=this.cameraPoint)),e.bufferConvexPolygon(r,t)}bufferedCameraGeometryGlobe(t){const i=this.screenBounds[0],o=1===this.screenBounds.length?this.screenBounds[0].add(new e.Point(1,1)):this.screenBounds[1],r=e.polygonizeBounds(i,o,t),n=this.cameraPoint.clone();switch(3*((n.y>i.y)+(n.y>o.y))+((n.x>i.x)+(n.x>o.x))){case 0:r[0]=n,r[4]=n.clone();break;case 1:r.splice(1,0,n);break;case 2:r[1]=n;break;case 3:r.splice(4,0,n);break;case 5:r.splice(2,0,n);break;case 6:r[3]=n;break;case 7:r.splice(3,0,n);break;case 8:r[2]=n;}return r}containsTile(t,i,o,r=0){const n=t.queryPadding/i._pixelsPerMercatorPixel+1,s=o?this._bufferedCameraMercator(n,i):this._bufferedScreenMercator(n,i);let a=t.tileID.wrap+(s.unwrapped?r:0);const l=s.polygon.map((i=>e.getTilePoint(t.tileTransform,i,a)));if(!e.polygonIntersectsBox(l,0,0,e.EXTENT,e.EXTENT))return;a=t.tileID.wrap+(this.screenGeometryMercator.unwrapped?r:0);const c=this.screenGeometryMercator.polygon.map((i=>e.getTileVec3(t.tileTransform,i,a))),h=c.map((t=>new e.Point(t[0],t[1]))),u=i.getFreeCameraOptions().position||new e.MercatorCoordinate(0,0,0),_=e.getTileVec3(t.tileTransform,u,a),d=c.map((t=>{const i=e.sub(t,t,_);return e.normalize(i,i),new e.Ray(_,i)})),p=D(t,1,i.zoom)*i._pixelsPerMercatorPixel;return {queryGeometry:this,tilespaceGeometry:h,tilespaceRays:d,bufferedTilespaceGeometry:l,bufferedTilespaceBounds:(m=e.getBounds(l),m.min.x=e.clamp(m.min.x,0,e.EXTENT),m.min.y=e.clamp(m.min.y,0,e.EXTENT),m.max.x=e.clamp(m.max.x,0,e.EXTENT),m.max.y=e.clamp(m.max.y,0,e.EXTENT),m),tile:t,tileID:t.tileID,pixelToTileUnitsFactor:p};var m;}_bufferedScreenMercator(e,t){const i=R(e);if(this._screenRaycastCache[i])return this._screenRaycastCache[i];{let o;return o="globe"===t.projection.name?this._projectAndResample(this.bufferedScreenGeometry(e),t):{polygon:this.bufferedScreenGeometry(e).map((e=>t.pointCoordinate3D(e))),unwrapped:!0},this._screenRaycastCache[i]=o,o}}_bufferedCameraMercator(e,t){const i=R(e);if(this._cameraRaycastCache[i])return this._cameraRaycastCache[i];{let o;return o="globe"===t.projection.name?this._projectAndResample(this.bufferedCameraGeometryGlobe(e),t):{polygon:this.bufferedCameraGeometry(e).map((e=>t.pointCoordinate3D(e))),unwrapped:!0},this._cameraRaycastCache[i]=o,o}}_projectAndResample(t,i){const o=function(t,i){const o=e.multiply([],i.pixelMatrix,i.globeMatrix),r=[0,-e.GLOBE_RADIUS,0,1],n=[0,e.GLOBE_RADIUS,0,1],s=[0,0,0,1];e.transformMat4$1(r,r,o),e.transformMat4$1(n,n,o),e.transformMat4$1(s,s,o);const a=new e.Point(r[0]/r[3],r[1]/r[3]),l=new e.Point(n[0]/n[3],n[1]/n[3]),c=e.polygonContainsPoint(t,a)&&r[3]1?A(t.slice(0,_),i):[],m=_new e.Point(z(t.x),t.y))),m=m.map((t=>new e.Point(z(t.x),t.y)));const f=[...p];0===f.length&&f.push(m[m.length-1]);const g=e.number(f[f.length-1].y,(0===m.length?p[0]:m[0]).y,d);let v;return v=c?[new e.Point(0,g),new e.Point(0,0),new e.Point(1,0),new e.Point(1,g)]:[new e.Point(1,g),new e.Point(1,1),new e.Point(0,1),new e.Point(0,g)],f.push(...v),0===m.length?f.push(p[0]):f.push(...m),{polygon:f.map((t=>new e.MercatorCoordinate(t.x,t.y))),unwrapped:!1}}(t,i);if(o)return o;const r=function(t,i){let o=!1,r=-1/0,n=0;for(let e=0;er&&(r=t[e].x,n=e);for(let e=0;e.5&&(r.x{e.x-=1;})),{polygon:t,unwrapped:o}}(A(t,i).map((t=>new e.Point(z(t.x),t.y))),i);return {polygon:r.polygon.map((t=>new e.MercatorCoordinate(t.x,t.y))),unwrapped:r.unwrapped}}}function A(t,i){return e.resample(t,(e=>{const t=i.pointCoordinate3D(e);e.x=t.x,e.y=t.y;}),1/256)}function z(e){return e<0?1+e%1:e%1}function R(e){return 100*e|0}function O(t,i,o,r,n){const s=function(o,r){if(o)return n(o);if(r){t.url&&r.tiles&&t.tiles&&delete t.tiles;const o=e.pick(e.extend(r,t),["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds","scheme","tileSize","encoding"]);r.vector_layers&&(o.vectorLayers=r.vector_layers,o.vectorLayerIds=o.vectorLayers.map((e=>e.id))),o.tiles=i.canonicalizeTileset(o,t.url),n(null,o);}};return t.url?e.getJSON(i.transformRequest(i.normalizeSourceURL(t.url,null,o,r),e.ResourceType.Source),s):e.exported.frame((()=>s(null,t)))}class B{constructor(t,i,o){this.bounds=e.LngLatBounds.convert(this.validateBounds(t)),this.minzoom=i||0,this.maxzoom=o||24;}validateBounds(e){return Array.isArray(e)&&4===e.length?[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]:[-180,-90,180,90]}contains(t){const i=Math.pow(2,t.z),o=Math.floor(e.mercatorXfromLng(this.bounds.getWest())*i),r=Math.floor(e.mercatorYfromLat(this.bounds.getNorth())*i),n=Math.ceil(e.mercatorXfromLng(this.bounds.getEast())*i),s=Math.ceil(e.mercatorYfromLat(this.bounds.getSouth())*i);return t.x>=o&&t.x=r&&t.y{this._tileJSONRequest=null,this._loaded=!0,r?(i&&console.warn(`Ensure that your requested language string is a valid BCP-47 code or list of codes. Found: ${i}`),o&&2!==o.length&&console.warn(`Requested worldview strings must be a valid ISO alpha-2 code. Found: ${o}`),this.fire(new e.ErrorEvent(r))):n&&(e.extend(this,n),n.bounds&&(this.tileBounds=new B(n.bounds,this.minzoom,this.maxzoom)),e.postTurnstileEvent(n.tiles,this.map._requestManager._customAccessToken),this.fire(new e.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.Event("data",{dataType:"source",sourceDataType:"content"}))),t&&t(r);}));}loaded(){return this._loaded}hasTile(e){return !this.tileBounds||this.tileBounds.contains(e.canonical)}onAdd(e){this.map=e,this.load();}reload(){this.cancelTileJSONRequest(),this.load((()=>this.map.style._clearSource(this.id)));}setTiles(e){return this._options.tiles=e,this.reload(),this}setUrl(e){return this.url=e,this._options.url=e,this.reload(),this}onRemove(){this.cancelTileJSONRequest();}serialize(){return e.extend({},this._options)}loadTile(t,i){const o=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme)),r={request:this.map._requestManager.transformRequest(o,e.ResourceType.Tile),data:void 0,uid:t.uid,tileID:t.tileID,tileZoom:t.tileZoom,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:e.exported.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,isSymbolTile:t.isSymbolTile};if(r.request.collectResourceTiming=this._collectResourceTiming,t.actor&&"expired"!==t.state)"loading"===t.state?t.reloadCallback=i:t.request=t.actor.send("reloadTile",r,n.bind(this));else if(t.actor=this._tileWorkers[o]=this._tileWorkers[o]||this.dispatcher.getActor(),this.dispatcher.ready)t.request=t.actor.send("loadTile",r,n.bind(this),void 0,!0);else {const i=e.loadVectorTile.call({deduped:this._deduped},r,((e,i)=>{e||!i?n.call(this,e):(r.data={cacheControl:i.cacheControl,expires:i.expires,rawData:i.rawData.slice(0)},t.actor&&t.actor.send("loadTile",r,n.bind(this),void 0,!0));}),!0);t.request={cancel:i};}function n(o,r){return delete t.request,t.aborted?i(null):o&&404!==o.status?i(o):(r&&r.resourceTiming&&(t.resourceTiming=r.resourceTiming),this.map._refreshExpiredTiles&&r&&t.setExpiryData(r),t.loadVectorData(r,this.map.painter),e.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}}abortTile(e){e.request&&(e.request.cancel(),delete e.request),e.actor&&e.actor.send("abortTile",{uid:e.uid,type:this.type,source:this.id});}unloadTile(e){e.unloadVectorData(),e.actor&&e.actor.send("removeTile",{uid:e.uid,type:this.type,source:this.id});}hasTransition(){return !1}afterUpdate(){this._tileWorkers={};}cancelTileJSONRequest(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);}}class Me extends e.Evented{constructor(t,i,o,r){super(),this.id=t,this.dispatcher=o,this.setEventedParent(r),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=e.extend({type:"raster"},i),e.extend(this,e.pick(i,["url","scheme","tileSize"]));}load(t){this._loaded=!1,this.fire(new e.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=O(this._options,this.map._requestManager,null,null,((i,o)=>{this._tileJSONRequest=null,this._loaded=!0,i?this.fire(new e.ErrorEvent(i)):o&&(e.extend(this,o),o.bounds&&(this.tileBounds=new B(o.bounds,this.minzoom,this.maxzoom)),e.postTurnstileEvent(o.tiles),this.fire(new e.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.Event("data",{dataType:"source",sourceDataType:"content"}))),t&&t(i);}));}loaded(){return this._loaded}onAdd(e){this.map=e,this.load();}reload(){this.cancelTileJSONRequest(),this.load((()=>this.map.style._clearSource(this.id)));}setTiles(e){return this._options.tiles=e,this.reload(),this}setUrl(e){return this.url=e,this._options.url=e,this.reload(),this}onRemove(){this.cancelTileJSONRequest();}serialize(){return e.extend({},this._options)}hasTile(e){return !this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(t,i){const o=e.exported.devicePixelRatio>=2,r=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),o,this.tileSize);t.request=e.getImage(this.map._requestManager.transformRequest(r,e.ResourceType.Tile),((o,r,n,s)=>(delete t.request,t.aborted?(t.state="unloaded",i(null)):o?(t.state="errored",i(o)):r?(this.map._refreshExpiredTiles&&t.setExpiryData({cacheControl:n,expires:s}),t.setTexture(r,this.map.painter),t.state="loaded",e.cacheEntryPossiblyAdded(this.dispatcher),void i(null)):i(null))));}static loadTileData(e,t,i){e.setTexture(t,i);}static unloadTileData(e,t){e.texture&&t.saveTileTexture(e.texture);}abortTile(e,t){e.request&&(e.request.cancel(),delete e.request),t();}unloadTile(e,t){e.texture&&this.map.painter.saveTileTexture(e.texture),t();}hasTransition(){return !1}cancelTileJSONRequest(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);}}function Ie(t,i,o,r,n,s,a,l){const c=[t,o,n,i,r,s,1,1,1],h=[a,l,1],u=e.adjoint([],c),[_,d,p]=e.transformMat3(h,h,e.transpose(u,u));return e.multiply$1(c,[_,0,0,0,d,0,0,0,p],c)}class Pe extends e.Evented{constructor(e,t,i,o){super(),this.id=e,this.dispatcher=i,this.coordinates=t.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(o),this.options=t,this._dirty=!1;}load(t,i){this._loaded=i||!1,this.fire(new e.Event("dataloading",{dataType:"source"})),this.url=this.options.url,this._imageRequest=e.getImage(this.map._requestManager.transformRequest(this.url,e.ResourceType.Image),((i,o)=>{if(this._imageRequest=null,this._loaded=!0,i)this.fire(new e.ErrorEvent(i));else if(o){const{HTMLImageElement:i}=e.window;this.image=o instanceof i?e.exported.getImageData(o):o,this._dirty=!0,this.width=this.image.width,this.height=this.image.height,t&&(this.coordinates=t),this._finishLoading();}}));}loaded(){return this._loaded}updateImage(e){return this.image&&e.url?(this._imageRequest&&e.url!==this.options.url&&(this._imageRequest.cancel(),this._imageRequest=null),this.options.url=e.url,this.load(e.coordinates,this._loaded),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.Event("data",{dataType:"source",sourceDataType:"metadata"})));}onAdd(e){this.map=e,this.load();}onRemove(){this._imageRequest&&(this._imageRequest.cancel(),this._imageRequest=null),this.texture&&this.texture.destroy();}setCoordinates(t){this.coordinates=t,this._boundsArray=void 0;const i=t.map(e.MercatorCoordinate.fromLngLat);return this.tileID=function(t){let i=1/0,o=1/0,r=-1/0,n=-1/0;for(const e of t)i=Math.min(i,e.x),o=Math.min(o,e.y),r=Math.max(r,e.x),n=Math.max(n,e.y);const s=Math.max(r-i,n-o),a=Math.max(0,Math.floor(-Math.log(s)/Math.LN2)),l=Math.pow(2,a);return new e.CanonicalTileID(a,Math.floor((i+r)/2*l),Math.floor((o+n)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z,this.fire(new e.Event("data",{dataType:"source",sourceDataType:"content"})),this}_clear(){this._boundsArray=void 0;}_prepareData(t){for(const e in this.tiles){const t=this.tiles[e];"loaded"!==t.state&&(t.state="loaded",t.texture=this.texture);}if(this._boundsArray)return;const i=e.tileTransform(this.tileID,this.map.transform.projection),[o,r,n,s]=this.coordinates.map((t=>{const o=i.projection.project(t[0],t[1]);return e.getTilePoint(i,o)._round()}));this.perspectiveTransform=function(t,i,o,r,n,s,a,l,c,h){const u=Ie(0,0,t,0,0,i,t,i),_=Ie(o,r,n,s,a,l,c,h);return e.multiply$1(_,e.adjoint(u,u),_),[_[6]/_[8]*t/e.EXTENT,_[7]/_[8]*i/e.EXTENT]}(this.width,this.height,o.x,o.y,r.x,r.y,s.x,s.y,n.x,n.y);const a=this._boundsArray=new e.StructArrayLayout4i8;a.emplaceBack(o.x,o.y,0,0),a.emplaceBack(r.x,r.y,e.EXTENT,0),a.emplaceBack(s.x,s.y,0,e.EXTENT),a.emplaceBack(n.x,n.y,e.EXTENT,e.EXTENT),this.boundsBuffer&&this.boundsBuffer.destroy(),this.boundsBuffer=t.createVertexBuffer(a,e.boundsAttributes.members),this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2);}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const t=this.map.painter.context,i=t.gl;this._dirty&&(this.texture?this.texture.update(this.image):(this.texture=new e.Texture(t,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE)),this._dirty=!1),this._prepareData(t);}loadTile(e,t){this.tileID&&this.tileID.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={},t(null)):(e.state="errored",t(null));}serialize(){return {type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return !1}}const Se={vector:Ce,raster:Me,"raster-dem":class extends Me{constructor(t,i,o,r){super(t,i,o,r),this.type="raster-dem",this.maxzoom=22,this._options=e.extend({type:"raster-dem"},i),this.encoding=i.encoding||"mapbox";}loadTile(t,i){const o=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),!1,this.tileSize);function r(e,o){e&&(t.state="errored",i(e)),o&&(t.dem=o,t.dem.onDeserialize(),t.needsHillshadePrepare=!0,t.needsDEMTextureUpload=!0,t.state="loaded",i(null));}t.request=e.getImage(this.map._requestManager.transformRequest(o,e.ResourceType.Tile),function(o,n,s,a){if(delete t.request,t.aborted)t.state="unloaded",i(null);else if(o)t.state="errored",i(o);else if(n){this.map._refreshExpiredTiles&&t.setExpiryData({cacheControl:s,expires:a});const i=e.window.ImageBitmap&&n instanceof e.window.ImageBitmap&&(null==se&&(se=e.window.OffscreenCanvas&&new e.window.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof e.window.createImageBitmap),se),o=1-(n.width-e.prevPowerOfTwo(n.width))/2;o<1||t.neighboringTiles||(t.neighboringTiles=this._getNeighboringTiles(t.tileID));const l=i?n:e.exported.getImageData(n,o),c={uid:t.uid,coord:t.tileID,source:this.id,rawImageData:l,encoding:this.encoding,padding:o};t.actor&&"expired"!==t.state||(t.actor=this.dispatcher.getActor(),t.actor.send("loadDEMTile",c,r.bind(this),void 0,!0));}}.bind(this));}_getNeighboringTiles(t){const i=t.canonical,o=Math.pow(2,i.z),r=(i.x-1+o)%o,n=0===i.x?t.wrap-1:t.wrap,s=(i.x+1+o)%o,a=i.x+1===o?t.wrap+1:t.wrap,l={};return l[new e.OverscaledTileID(t.overscaledZ,n,i.z,r,i.y).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,a,i.z,s,i.y).key]={backfilled:!1},i.y>0&&(l[new e.OverscaledTileID(t.overscaledZ,n,i.z,r,i.y-1).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,t.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,a,i.z,s,i.y-1).key]={backfilled:!1}),i.y+1{if(this._loaded=!0,this._pendingLoad=null,t)this.fire(new e.ErrorEvent(t));else {const t={dataType:"source",sourceDataType:this._metadataFired?"content":"metadata"};this._collectResourceTiming&&i&&i.resourceTiming&&i.resourceTiming[this.id]&&(t.resourceTiming=i.resourceTiming[this.id]),this.fire(new e.Event("data",t)),this._metadataFired=!0;}this._coalesce&&(this._updateWorkerData(),this._coalesce=!1);}));}loaded(){return this._loaded}loadTile(t,i){const o=t.actor?"reloadTile":"loadTile";t.actor=this.actor,t.request=this.actor.send(o,{type:this.type,uid:t.uid,tileID:t.tileID,tileZoom:t.tileZoom,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:e.exported.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId},((e,r)=>(delete t.request,t.unloadVectorData(),t.aborted?i(null):e?i(e):(t.loadVectorData(r,this.map.painter,"reloadTile"===o),i(null)))),void 0,"loadTile"===o);}abortTile(e){e.request&&(e.request.cancel(),delete e.request),e.aborted=!0;}unloadTile(e){e.unloadVectorData(),this.actor.send("removeTile",{uid:e.uid,type:this.type,source:this.id});}onRemove(){this._pendingLoad&&this._pendingLoad.cancel();}serialize(){return e.extend({},this._options,{type:this.type,data:this._data})}hasTransition(){return !1}},video:class extends Pe{constructor(e,t,i,o){super(e,t,i,o),this.roundZoom=!0,this.type="video",this.options=t;}load(){this._loaded=!1;const t=this.options;this.urls=[];for(const i of t.urls)this.urls.push(this.map._requestManager.transformRequest(i,e.ResourceType.Source).url);e.getVideo(this.urls,((t,i)=>{this._loaded=!0,t?this.fire(new e.ErrorEvent(t)):i&&(this.video=i,this.video.loop=!0,this.video.setAttribute("playsinline",""),this.video.addEventListener("playing",(()=>{this.map.triggerRepaint();})),this.map&&this.video.play(),this._finishLoading());}));}pause(){this.video&&this.video.pause();}play(){this.video&&this.video.play();}seek(t){if(this.video){const i=this.video.seekable;ti.end(0)?this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${this.id}`,null,`Playback for this video can be set only between the ${i.start(0)} and ${i.end(0)}-second mark.`))):this.video.currentTime=t;}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)));}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const t=this.map.painter.context,i=t.gl;this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new e.Texture(t,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),this.width=this.video.videoWidth,this.height=this.video.videoHeight),this._prepareData(t);}serialize(){return {type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}},image:Pe,canvas:class extends Pe{constructor(t,i,o,r){super(t,i,o,r),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((e=>!Array.isArray(e)||2!==e.length||e.some((e=>"number"!=typeof e))))||this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${t}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${t}`,null,'missing required property "coordinates"'))),i.animate&&"boolean"!=typeof i.animate&&this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${t}`,null,'optional "animate" property must be a boolean value'))),i.canvas?"string"==typeof i.canvas||i.canvas instanceof e.window.HTMLCanvasElement||this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${t}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${t}`,null,'missing required property "canvas"'))),this.options=i,this.animate=void 0===i.animate||i.animate;}load(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof e.window.HTMLCanvasElement?this.options.canvas:e.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new e.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint();},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1);},this._finishLoading());}getCanvas(){return this.canvas}onAdd(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play();}onRemove(){this.pause();}prepare(){let t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context;this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new e.Texture(i,this.canvas,i.gl.RGBA,{premultiply:!0}),this._prepareData(i);}serialize(){return {type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const e of [this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return !0;return !1}},custom:class extends e.Evented{constructor(t,i,o,r){super(),this.id=t,this.type="custom",this._dataType="raster",this._dispatcher=o,this._implementation=i,this.setEventedParent(r),this.scheme="xyz",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this._loaded=!1,this.roundZoom=!0,this._implementation||this.fire(new e.ErrorEvent(new Error(`Missing implementation for ${this.id} custom source`))),this._implementation.loadTile||this.fire(new e.ErrorEvent(new Error(`Missing loadTile implementation for ${this.id} custom source`))),this._implementation.bounds&&(this.tileBounds=new B(this._implementation.bounds,this.minzoom,this.maxzoom)),i.update=this._update.bind(this),i.clearTiles=this._clearTiles.bind(this),i.coveringTiles=this._coveringTiles.bind(this),e.extend(this,e.pick(i,["dataType","scheme","minzoom","maxzoom","tileSize","attribution","minTileCacheSize","maxTileCacheSize"]));}serialize(){return e.pick(this,["type","scheme","minzoom","maxzoom","tileSize","attribution"])}load(){this._loaded=!0,this.fire(new e.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.Event("data",{dataType:"source",sourceDataType:"content"}));}loaded(){return this._loaded}onAdd(t){this._map=t,this._loaded=!1,this.fire(new e.Event("dataloading",{dataType:"source"})),this._implementation.onAdd&&this._implementation.onAdd(t),this.load();}onRemove(e){this._implementation.onRemove&&this._implementation.onRemove(e);}hasTile(e){if(this._implementation.hasTile){const{x:t,y:i,z:o}=e.canonical;return this._implementation.hasTile({x:t,y:i,z:o})}return !this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(t,i){const{x:o,y:r,z:n}=t.tileID.canonical,s=new e.window.AbortController;t.request=Promise.resolve(this._implementation.loadTile({x:o,y:r,z:n},{signal:s.signal})).then(function(o){return delete t.request,t.aborted?(t.state="unloaded",i(null)):void 0===o?(t.state="errored",i(null)):null===o?(this.loadTileData(t,{width:this.tileSize,height:this.tileSize,data:null}),t.state="loaded",i(null)):function(t){return t instanceof e.window.ImageData||t instanceof e.window.HTMLCanvasElement||t instanceof e.window.ImageBitmap||t instanceof e.window.HTMLImageElement}(o)?(this.loadTileData(t,o),t.state="loaded",void i(null)):(t.state="errored",i(new Error(`Can't infer data type for ${this.id}, only raster data supported at the moment`)))}.bind(this)).catch((e=>{20!==e.code&&(t.state="errored",i(e));})),t.request.cancel=()=>s.abort();}loadTileData(e,t){Me.loadTileData(e,t,this._map.painter);}unloadTileData(e){Me.unloadTileData(e,this._map.painter);}unloadTile(e,t){if(this.unloadTileData(e),this._implementation.unloadTile){const{x:t,y:i,z:o}=e.tileID.canonical;this._implementation.unloadTile({x:t,y:i,z:o});}t();}abortTile(e,t){e.request&&e.request.cancel&&(e.request.cancel(),delete e.request),t();}hasTransition(){return !1}_coveringTiles(){return this._map.transform.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,roundZoom:this.roundZoom}).map((e=>({x:e.canonical.x,y:e.canonical.y,z:e.canonical.z})))}_clearTiles(){this._map.style._clearSource(this.id);}_update(){this.fire(new e.Event("data",{dataType:"source",sourceDataType:"content"}));}}},De=function(t,i,o,r){const n=new Se[i.type](t,i,o,r);if(n.id!==t)throw new Error(`Expected Source id to be ${t} instead of ${n.id}`);return e.bindAll(["load","abort","unload","serialize","prepare"],n),n};function Le(t,i){const o=e.identity([]);return e.scale(o,o,[.5*t.width,.5*-t.height,1]),e.translate(o,o,[1,-1,0]),e.multiply(o,o,t.calculateProjMatrix(i.toUnwrapped())),Float32Array.from(o)}function Ae(e,t,i,o,r,n,s,a=!1){const l=e.tilesIn(o,s,a);l.sort(Re);const c=[];for(const o of l)c.push({wrappedTileID:o.tile.tileID.wrapped().key,queryResults:o.tile.queryRenderedFeatures(t,i,e._state,o,r,n,Le(e.transform,o.tile.tileID),a)});const h=function(e){const t={},i={};for(const o of e){const e=o.queryResults,r=o.wrappedTileID,n=i[r]=i[r]||{};for(const i in e){const o=e[i],r=n[i]=n[i]||{},s=t[i]=t[i]||[];for(const e of o)r[e.featureIndex]||(r[e.featureIndex]=!0,s.push(e));}}return t}(c);for(const t in h)h[t].forEach((t=>{const i=t.feature,o=i.layer;o&&"background"!==o.type&&"sky"!==o.type&&(i.source=o.source,o["source-layer"]&&(i.sourceLayer=o["source-layer"]),i.state=void 0!==i.id?e.getFeatureState(o["source-layer"],i.id):{});}));return h}function ze(e,t){const i=e.getRenderableIds().map((t=>e.getTileByID(t))),o=[],r={};for(let e=0;e{e.terminate();})),this.workers=null);}isPreloaded(){return !!this.active[Be]}numActive(){return Object.keys(this.active).length}}let Fe;function Ue(){return Fe||(Fe=new ke),Fe}function Ne(t,i){const o={};for(const e in t)"ref"!==e&&(o[e]=t[e]);return e.refProperties.forEach((e=>{e in i&&(o[e]=i[e]);})),o}function je(e){e=e.slice();const t=Object.create(null);for(let i=0;i0?(r-s)/a:0;return this.points[n].mult(1-l).add(this.points[i].mult(l))}}class Ke{constructor(e,t,i){const o=this.boxCells=[],r=this.circleCells=[];this.xCellCount=Math.ceil(e/i),this.yCellCount=Math.ceil(t/i);for(let e=0;ethis.width||o<0||t>this.height)return !r&&[];const s=[];if(e<=0&&t<=0&&this.width<=i&&this.height<=o){if(r)return !0;for(let e=0;e0:s}_queryCircle(e,t,i,o,r){const n=e-i,s=e+i,a=t-i,l=t+i;if(s<0||n>this.width||l<0||a>this.height)return !o&&[];const c=[];return this._forEachCell(n,a,s,l,this._queryCellCircle,c,{hitTest:o,circle:{x:e,y:t,radius:i},seenUids:{box:{},circle:{}}},r),o?c.length>0:c}query(e,t,i,o,r){return this._query(e,t,i,o,!1,r)}hitTest(e,t,i,o,r){return this._query(e,t,i,o,!0,r)}hitTestCircle(e,t,i,o){return this._queryCircle(e,t,i,!0,o)}_queryCell(e,t,i,o,r,n,s,a){const l=s.seenUids,c=this.boxCells[r];if(null!==c){const r=this.bboxes;for(const h of c)if(!l.box[h]){l.box[h]=!0;const c=4*h;if(e<=r[c+2]&&t<=r[c+3]&&i>=r[c+0]&&o>=r[c+1]&&(!a||a(this.boxKeys[h]))){if(s.hitTest)return n.push(!0),!0;n.push({key:this.boxKeys[h],x1:r[c],y1:r[c+1],x2:r[c+2],y2:r[c+3]});}}}const h=this.circleCells[r];if(null!==h){const r=this.circles;for(const c of h)if(!l.circle[c]){l.circle[c]=!0;const h=3*c;if(this._circleAndRectCollide(r[h],r[h+1],r[h+2],e,t,i,o)&&(!a||a(this.circleKeys[c]))){if(s.hitTest)return n.push(!0),!0;{const e=r[h],t=r[h+1],i=r[h+2];n.push({key:this.circleKeys[c],x1:e-i,y1:t-i,x2:e+i,y2:t+i});}}}}}_queryCellCircle(e,t,i,o,r,n,s,a){const l=s.circle,c=s.seenUids,h=this.boxCells[r];if(null!==h){const e=this.bboxes;for(const t of h)if(!c.box[t]){c.box[t]=!0;const i=4*t;if(this._circleAndRectCollide(l.x,l.y,l.radius,e[i+0],e[i+1],e[i+2],e[i+3])&&(!a||a(this.boxKeys[t])))return n.push(!0),!0}}const u=this.circleCells[r];if(null!==u){const e=this.circles;for(const t of u)if(!c.circle[t]){c.circle[t]=!0;const i=3*t;if(this._circlesCollide(e[i],e[i+1],e[i+2],l.x,l.y,l.radius)&&(!a||a(this.circleKeys[t])))return n.push(!0),!0}}}_forEachCell(e,t,i,o,r,n,s,a){const l=this._convertToXCellCoord(e),c=this._convertToYCellCoord(t),h=this._convertToXCellCoord(i),u=this._convertToYCellCoord(o);for(let _=l;_<=h;_++)for(let l=c;l<=u;l++)if(r.call(this,e,t,i,o,this.xCellCount*l+_,n,s,a))return}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,t,i,o,r,n){const s=o-e,a=r-t,l=i+n;return l*l>s*s+a*a}_circleAndRectCollide(e,t,i,o,r,n,s){const a=(n-o)/2,l=Math.abs(e-(o+a));if(l>a+i)return !1;const c=(s-r)/2,h=Math.abs(t-(r+c));if(h>c+i)return !1;if(l<=a||h<=c)return !0;const u=l-a,_=h-c;return u*u+_*_<=i*i}}const Je={unknown:0,flipRequired:1,flipNotRequired:2},Qe=Math.tan(85*Math.PI/180);function et(t,i,o,r,n,s,a){const l=e.create();if(o)if("globe"===s.name){const t=e.calculateGlobeLabelMatrix(n,i);e.multiply(l,l,t);}else {const t=v([],a);l[0]=t[0],l[1]=t[1],l[4]=t[2],l[5]=t[3],r||e.rotateZ(l,l,n.angle);}else e.multiply(l,n.labelPlaneMatrix,t);return l}function tt(e,t,i,o,r,n,s){const a=et(e,t,i,o,r,n,s);return "globe"===n.name&&i||(a[2]=a[6]=a[10]=a[14]=0),a}function it(t,i,o,r,n,s,a){if(o){if("globe"===s.name){const l=et(t,i,o,r,n,s,a);return e.invert(l,l),e.multiply(l,t,l),l}{const i=e.clone(t),o=e.identity([]);return o[0]=a[0],o[1]=a[1],o[4]=a[2],o[5]=a[3],e.multiply(i,i,o),r||e.rotateZ(i,i,-n.angle),i}}return n.glCoordMatrix}function ot(t,i,o,r){const n=[t,i,o,1];o?e.transformMat4$1(n,n,r):pt(n,n,r);const s=n[3];return n[0]/=s,n[1]/=s,n[2]/=s,n}function rt(e,t){return Math.min(.5+e/t*.5,1.5)}function nt(e,t){const i=e[0]/e[3],o=e[1]/e[3];return i>=-t[0]&&i<=t[0]&&o>=-t[1]&&o<=t[1]}function st(t,i,o,r,n,s,a,l,c,h){const u=o.transform,_=r?t.textSizeData:t.iconSizeData,d=e.evaluateSizeForZoom(_,o.transform.zoom),p="globe"===u.projection.name,m=[256/o.width*2+1,256/o.height*2+1],f=r?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;f.clear();let g=null;p&&(g=r?t.text.globeExtVertexArray:t.icon.globeExtVertexArray);const v=t.lineVertexArray,x=r?t.text.placedSymbolArray:t.icon.placedSymbolArray,y=o.transform.width/o.transform.height;let b,w=!1;for(let r=0;rMath.abs(o)?{useVertical:!0}:t===e.WritingMode.vertical?r>0?{needsFlipping:!0}:null:i!==Je.unknown&&function(e,t){return 0===e||Math.abs(t/e)>Qe}(o,r)?i===Je.flipRequired?{needsFlipping:!0}:null:o<0?{needsFlipping:!0}:null}function ct(t,i,o,r,n,s,a,l,c,h,u,_,d,p,m,f,g,v,x){const y=i/24,b=t.lineOffsetX*y,w=t.lineOffsetY*y,{lineStartIndex:T,glyphStartIndex:E,numGlyphs:C,segment:M,writingMode:I,flipState:P}=t,S=T+t.lineLength,D=t=>{if(u){const[i,o,r]=t.up,n=h.length;e.updateGlobeVertexNormal(u,n+0,i,o,r),e.updateGlobeVertexNormal(u,n+1,i,o,r),e.updateGlobeVertexNormal(u,n+2,i,o,r),e.updateGlobeVertexNormal(u,n+3,i,o,r);}const[i,o,r]=t.point;e.addDynamicAttributes(h,i,o,r,t.angle);};if(C>1){const e=at(y,l,b,w,o,_,d,t,c,s,p,f,!1,g,v,x);if(!e)return {notEnoughRoom:!0};if(r&&!o){let[i,o,r]=e.first.point,[n,s,l]=e.last.point;[i,o]=ot(i,o,r,a),[n,s]=ot(n,s,l,a);const c=lt(I,P,(n-i)*m,s-o);if(t.flipState=c&&c.needsFlipping?Je.flipRequired:Je.flipNotRequired,c)return c}D(e.first);for(let e=E+1;e0?s:ut(d,r,i,1,n,void 0,g,v.canonical),l=lt(I,P,(a[0]-i[0])*m,a[1]-i[1]);if(t.flipState=l&&l.needsFlipping?Je.flipRequired:Je.flipNotRequired,l)return l}const i=_t(y*l.getoffsetX(E),b,w,o,_,d,M,T,S,c,s,p,f,!1,!1,g,v,x);if(!i)return {notEnoughRoom:!0};D(i);}return {}}function ht(e,t,i,o,r){const{x:n,y:s,z:a}=o.projectTilePoint(e.x,e.y,t);if(!r)return ot(n,s,a,i);const[l,c,h]=r(e);return ot(n+l,s+c,a+h,i)}function ut(t,i,o,r,n,s,a,l){const c=ht(t.sub(i)._unit()._add(t),l,n,a,s);return e.sub(c,o,c),e.normalize(c,c),e.scaleAndAdd(c,o,c,r)}function _t(t,i,o,r,n,s,a,l,c,h,u,_,d,p,m,f,g,v){const x=r?t-i:t+i;let y=x>0?1:-1,b=0;r&&(y*=-1,b=Math.PI),y<0&&(b+=Math.PI);let w=l+a+(y>0?0:1)|0,T=n,E=n,C=0,M=0;const I=Math.abs(x),P=[],S=[];let D=s,L=D;const A=()=>ut(L,D,E,I-C+1,u,d,f,g.canonical);for(;C+M<=I;){if(w+=y,w=c)return null;if(E=T,L=D,P.push(E),p&&S.push(L),D=new e.Point(h.getx(w),h.gety(w)),T=_[w],!T){const e=ht(D,g.canonical,u,f,d);T=e[3]>0?_[w]=e:A();}C+=M,M=e.distance(E,T);}m&&d&&(_[w]&&(T=A(),M=e.distance(E,T)),_[w]=T);const z=(I-C)/M,R=D.sub(L)._mult(z)._add(L),O=e.sub([],T,E),B=e.scaleAndAdd([],E,O,z);let k=[0,0,1],F=O[0],U=O[1];if(v&&(k=f.upVector(g.canonical,R.x,R.y),0!==k[0]||0!==k[1]||1!==k[2])){const t=[k[2],0,-k[0]],i=e.cross([],k,t);e.normalize(t,t),e.normalize(i,i),F=e.dot(O,t),U=e.dot(O,i);}if(o){const t=e.cross([],k,O);e.normalize(t,t),e.scaleAndAdd(B,B,t,o*y);}const N=b+Math.atan2(U,F);return P.push(B),p&&S.push(R),{point:B,angle:N,path:P,tilePath:S,up:k}}function dt(e,t){const i=t.length,o=i+4*e;t.resize(o),t.float32.fill(-1/0,4*i,4*o);}function pt(e,t,i){const o=t[0],r=t[1];return e[0]=i[0]*o+i[4]*r+i[12],e[1]=i[1]*o+i[5]*r+i[13],e[3]=i[3]*o+i[7]*r+i[15],e}const mt=100;class ft{constructor(e,t,i=new Ke(e.width+200,e.height+200,25),o=new Ke(e.width+200,e.height+200,25)){this.transform=e,this.grid=i,this.ignoredGrid=o,this.pitchfactor=Math.cos(e._pitch)*e.cameraToCenterDistance,this.screenRightBoundary=e.width+mt,this.screenBottomBoundary=e.height+mt,this.gridRightBoundary=e.width+200,this.gridBottomBoundary=e.height+200,this.fogState=t;}placeCollisionBox(e,t,i,o,r,n,s,a){let l=i.projectedAnchorX,c=i.projectedAnchorY,h=i.projectedAnchorZ;const u=i.elevation,_=i.tileID,d=e.getProjection();if(u&&_){const[e,t,o]=d.upVector(_.canonical,i.tileAnchorX,i.tileAnchorY),r=d.upVectorScale(_.canonical,this.transform.center.lat,this.transform.worldSize).metersToTile;l+=e*u*r,c+=t*u*r,h+=o*u*r;}const p=this.projectAndGetPerspectiveRatio(s,l,c,h,i.tileID,"globe"===d.name||!!u||this.transform.pitch>0,d),m=n*p.perspectiveRatio,f=(i.x1*t+o.x-i.padding)*m+p.point.x,g=(i.y1*t+o.y-i.padding)*m+p.point.y,v=(i.x2*t+o.x+i.padding)*m+p.point.x,x=(i.y2*t+o.y+i.padding)*m+p.point.y,y=p.perspectiveRatio<=.55||p.occluded;return !this.isInsideGrid(f,g,v,x)||!r&&this.grid.hitTest(f,g,v,x,a)||y?{box:[],offscreen:!1,occluded:p.occluded}:{box:[f,g,v,x],offscreen:this.isOffscreen(f,g,v,x),occluded:!1}}placeCollisionCircles(t,i,o,r,n,s,a,l,c,h,u,_,d,p,m){const f=[],g=this.transform.elevation,v=t.getProjection(),x=g?g.getAtTileOffsetFunc(m,this.transform.center.lat,this.transform.worldSize,v):null,y=new e.Point(o.tileAnchorX,o.tileAnchorY);let{x:b,y:w,z:T}=v.projectTilePoint(y.x,y.y,m.canonical);if(x){const[e,t,i]=x(y);b+=e,w+=t,T+=i;}const E="globe"===v.name,C=this.projectAndGetPerspectiveRatio(a,b,w,T,m,E||!!g||this.transform.pitch>0,v),{perspectiveRatio:M}=C,I=(u?s/M:s*M)/e.ONE_EM,P=ot(b,w,T,l),S=C.signedDistanceFromCamera>0?at(I,n,o.lineOffsetX*I,o.lineOffsetY*I,!1,P,y,o,r,l,{},g&&!u?x:null,u&&!!g,v,m,u):null;let D=!1,L=!1,A=!0;if(S&&!C.occluded){const t=.5*d*M+p,o=new e.Point(-100,-100),r=new e.Point(this.screenRightBoundary,this.screenBottomBoundary),n=new Ye,{first:s,last:a}=S,l=s.path.length;let u=[];for(let e=l-1;e>=1;e--)u.push(s.path[e]);for(let e=1;e(x&&!E&&(i=x(oe[3]<=0))&&(u=[]));let g=[];if(u.length>0){let t=1/0,i=-1/0,n=1/0,s=-1/0;for(const e of u)t=Math.min(t,e[0]),n=Math.min(n,e[1]),i=Math.max(i,e[0]),s=Math.max(s,e[1]);i>=o.x&&t<=r.x&&s>=o.y&&n<=r.y&&(g=[u.map((t=>new e.Point(t[0],t[1])))],(tr.x||nr.y)&&(g=e.clipLine(g,o.x,o.y,r.x,r.y)));}for(const e of g){n.reset(e,.25*t);let o=0;o=n.length<=.5*t?1:Math.ceil(n.paddedLength/m)+1;for(let e=0;e0){if(e.transformMat4$1(l,l,t),this.fogState&&n&&"globe"!==a.name){const t=function(t,i,o,r,n,s){const a=s.calculateFogTileMatrix(n),l=[i,o,r];return e.transformMat4(l,l,a),C(t,l,s.pitch,s._fov)}(this.fogState,i,o,r,n.toUnwrapped(),this.transform);c=t>.9;}}else pt(l,l,t);const h=l[3];return {point:new e.Point((l[0]/h+1)/2*this.transform.width+mt,(-l[1]/h+1)/2*this.transform.height+mt),perspectiveRatio:Math.min(.5+this.transform.getCameraToCenterDistance(a)/h*.5,1.5),signedDistanceFromCamera:h,occluded:s&&l[2]>h||c}}isOffscreen(e,t,i,o){return i=this.screenRightBoundary||othis.screenBottomBoundary}isInsideGrid(e,t,i,o){return i>=0&&e=0&&te.collisionGroupID===t};}return this.collisionGroups[e]}}function Mt(t,i,o,r,n){const{horizontalAlign:s,verticalAlign:a}=e.getAnchorAlignment(t),l=-(s-.5)*i,c=-(a-.5)*o,h=e.evaluateVariableOffset(t,r);return new e.Point(l+h[0]*n,c+h[1]*n)}function It(t,i,o,r,n){const s=new e.Point(t,i);return o&&s._rotate(r?n:-n),s}class Pt{constructor(e,t,i,o,r){this.transform=e.clone(),this.projection=e.projection.name,this.collisionIndex=new ft(this.transform,r),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=t,this.retainedQueryData={},this.collisionGroups=new Ct(i),this.collisionCircleArrays={},this.prevPlacement=o,o&&(o.prevPlacement=void 0),this.placedOrientations={};}getBucketParts(t,i,o,r){const n=o.getBucket(i),s=o.latestFeatureIndex;if(!n||!s||i.id!==n.layerIds[0])return;const a=n.layers[0].layout,l=o.collisionBoxArray,c=Math.pow(2,this.transform.zoom-o.tileID.overscaledZ),h=o.tileSize/e.EXTENT,u=o.tileID.toUnwrapped();this.transform.setProjection(n.projection);const _=(d=o.tileID,p=n.getProjection(),m=this.transform,p.name===this.projection?m.calculateProjMatrix(d.toUnwrapped()):gt(m,p,d));var d,p,m;const f="map"===a.get("text-pitch-alignment"),g="map"===a.get("text-rotation-alignment");i.compileFilter();const v=i.dynamicFilter(),x=i.dynamicFilterNeedsFeature(),y=this.transform.calculatePixelsToTileUnitsMatrix(o),b=tt(_,o.tileID.canonical,f,g,this.transform,n.getProjection(),y);let w=null;if(f){const t=it(_,o.tileID.canonical,f,g,this.transform,n.getProjection(),y);w=e.multiply([],this.transform.labelPlaneMatrix,t);}let T=null;v&&o.latestFeatureIndex&&(T={unwrappedTileID:u,dynamicFilter:v,dynamicFilterNeedsFeature:x,featureIndex:o.latestFeatureIndex}),this.retainedQueryData[n.bucketInstanceId]=new Et(n.bucketInstanceId,s,n.sourceLayerIndex,n.index,o.tileID);const E={bucket:n,layout:a,posMatrix:_,textLabelPlaneMatrix:b,labelToScreenMatrix:w,clippingData:T,scale:c,textPixelRatio:h,holdingForFade:o.holdingForFade(),collisionBoxArray:l,partiallyEvaluatedTextSize:e.evaluateSizeForZoom(n.textSizeData,this.transform.zoom),partiallyEvaluatedIconSize:e.evaluateSizeForZoom(n.iconSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(n.sourceID)};if(r)for(const e of n.sortKeyRanges){const{sortKey:i,symbolInstanceStart:o,symbolInstanceEnd:r}=e;t.push({sortKey:i,symbolInstanceStart:o,symbolInstanceEnd:r,parameters:E});}else t.push({symbolInstanceStart:0,symbolInstanceEnd:n.symbolInstances.length,parameters:E});}attemptAnchorPlacement(e,t,i,o,r,n,s,a,l,c,h,u,_,d,p,m,f,g){const{textOffset0:v,textOffset1:x,crossTileID:y}=u,b=[v,x],w=Mt(e,i,o,b,r),T=this.collisionIndex.placeCollisionBox(d,r,t,It(w.x,w.y,n,s,this.transform.angle),h,a,l,c.predicate);if(m){const e=d.getSymbolInstanceIconSize(g,this.transform.zoom,u.placedIconSymbolIndex);if(0===this.collisionIndex.placeCollisionBox(d,e,m,It(w.x,w.y,n,s,this.transform.angle),h,a,l,c.predicate).box.length)return}if(T.box.length>0){let t;return this.prevPlacement&&this.prevPlacement.variableOffsets[y]&&this.prevPlacement.placements[y]&&this.prevPlacement.placements[y].text&&(t=this.prevPlacement.variableOffsets[y].anchor),this.variableOffsets[y]={textOffset:b,width:i,height:o,anchor:e,textScale:r,prevAnchor:t},this.markUsedJustification(d,e,u,p),d.allowVerticalPlacement&&(this.markUsedOrientation(d,p,u),this.placedOrientations[y]=p),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(t,i,o,r){const{bucket:n,layout:s,posMatrix:a,textLabelPlaneMatrix:l,labelToScreenMatrix:c,clippingData:h,textPixelRatio:u,holdingForFade:_,collisionBoxArray:d,partiallyEvaluatedTextSize:p,partiallyEvaluatedIconSize:m,collisionGroup:f}=t.parameters,g=s.get("text-optional"),v=s.get("icon-optional"),x=s.get("text-allow-overlap"),y=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),w="map"===s.get("text-pitch-alignment"),T="none"!==s.get("icon-text-fit"),E="viewport-y"===s.get("symbol-z-order");this.transform.setProjection(n.projection);let C=x&&(y||!n.hasIconData()||v),M=y&&(x||!n.hasTextData()||g);!n.collisionArrays&&d&&n.deserializeCollisionBoxes(d),o&&r&&n.updateCollisionDebugBuffers(this.transform.zoom,d);const I=(t,r,d)=>{const{crossTileID:E,numVerticalGlyphVertices:I}=t;if(h){const o={zoom:this.transform.zoom,pitch:this.transform.pitch};let r=null;if(h.dynamicFilterNeedsFeature){const e=this.retainedQueryData[n.bucketInstanceId];r=h.featureIndex.loadFeature({featureIndex:t.featureIndex,bucketIndex:e.bucketIndex,sourceLayerIndex:e.sourceLayerIndex,layoutVertexArrayOffset:0});}if(!(0, h.dynamicFilter)(o,r,this.retainedQueryData[n.bucketInstanceId].tileID.canonical,new e.Point(t.tileAnchorX,t.tileAnchorY),this.transform.calculateDistanceTileData(h.unwrappedTileID)))return this.placements[E]=new wt(!1,!1,!1,!0),void i.add(E)}if(i.has(E))return;if(_)return void(this.placements[E]=new wt(!1,!1,!1));let P=!1,S=!1,D=!0,L=!1,A=!1,z=null,R={box:null,offscreen:null,occluded:null},O={box:null,offscreen:null,occluded:null},B=null,k=null,F=null,U=0,N=0,j=0;d.textFeatureIndex?U=d.textFeatureIndex:t.useRuntimeCollisionCircles&&(U=t.featureIndex),d.verticalTextFeatureIndex&&(N=d.verticalTextFeatureIndex);const G=e=>{e.tileID=this.retainedQueryData[n.bucketInstanceId].tileID;const t=this.transform.elevation;(t||e.elevation)&&(e.elevation=t?t.getAtTileOffset(e.tileID,e.tileAnchorX,e.tileAnchorY):0);},Z=d.textBox;if(Z){G(Z);const i=i=>{let o=e.WritingMode.horizontal;if(n.allowVerticalPlacement&&!i&&this.prevPlacement){const e=this.prevPlacement.placedOrientations[E];e&&(this.placedOrientations[E]=e,o=e,this.markUsedOrientation(n,o,t));}return o},o=(t,i)=>{if(n.allowVerticalPlacement&&I>0&&d.verticalTextBox){for(const o of n.writingModes)if(o===e.WritingMode.vertical?(R=i(),O=R):R=t(),R&&R.box&&R.box.length)break}else R=t();};if(s.get("text-variable-anchor")){let l=s.get("text-variable-anchor");if(this.prevPlacement&&this.prevPlacement.variableOffsets[E]){const e=this.prevPlacement.variableOffsets[E];l.indexOf(e.anchor)>0&&(l=l.filter((t=>t!==e.anchor)),l.unshift(e.anchor));}const c=(e,i,o)=>{const s=n.getSymbolInstanceTextSize(p,t,this.transform.zoom,r),c=(e.x2-e.x1)*s+2*e.padding,h=(e.y2-e.y1)*s+2*e.padding,_=T&&!y?i:null;_&&G(_);let d={box:[],offscreen:!1,occluded:!1};const g=x?2*l.length:l.length;for(let i=0;i=l.length,t,r,n,o,_,p,m);if(g&&(d=g.placedGlyphBoxes,d&&d.box&&d.box.length)){P=!0,z=g.shift;break}}return d};o((()=>c(Z,d.iconBox,e.WritingMode.horizontal)),(()=>{const t=d.verticalTextBox;return t&&G(t),n.allowVerticalPlacement&&!(R&&R.box&&R.box.length)&&I>0&&t?c(t,d.verticalIconBox,e.WritingMode.vertical):{box:null,offscreen:null,occluded:null}})),R&&(P=R.box,D=R.offscreen,L=R.occluded);const h=i(!(!R||!R.box));if(!P&&this.prevPlacement){const e=this.prevPlacement.variableOffsets[E];e&&(this.variableOffsets[E]=e,this.markUsedJustification(n,e.anchor,t,h));}}else {const s=(i,o)=>{const s=n.getSymbolInstanceTextSize(p,t,this.transform.zoom,r),l=this.collisionIndex.placeCollisionBox(n,s,i,new e.Point(0,0),x,u,a,f.predicate);return l&&l.box&&l.box.length&&(this.markUsedOrientation(n,o,t),this.placedOrientations[E]=o),l};o((()=>s(Z,e.WritingMode.horizontal)),(()=>{const t=d.verticalTextBox;return n.allowVerticalPlacement&&I>0&&t?(G(t),s(t,e.WritingMode.vertical)):{box:null,offscreen:null,occluded:null}})),i(!!(R&&R.box&&R.box.length));}}if(B=R,P=B&&B.box&&B.box.length>0,D=B&&B.offscreen,L=B&&B.occluded,t.useRuntimeCollisionCircles){const i=n.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex>=0?t.centerJustifiedTextSymbolIndex:t.verticalPlacedTextSymbolIndex),r=e.evaluateSizeForFeature(n.textSizeData,p,i),h=s.get("text-padding");k=this.collisionIndex.placeCollisionCircles(n,x,i,n.lineVertexArray,n.glyphOffsetArray,r,a,l,c,o,w,f.predicate,t.collisionCircleDiameter*r/e.ONE_EM,h,this.retainedQueryData[n.bucketInstanceId].tileID),P=x||k.circles.length>0&&!k.collisionDetected,D=D&&k.offscreen,L=k.occluded;}if(d.iconFeatureIndex&&(j=d.iconFeatureIndex),d.iconBox){const i=i=>{G(i);const o=T&&z?It(z.x,z.y,b,w,this.transform.angle):new e.Point(0,0),r=n.getSymbolInstanceIconSize(m,this.transform.zoom,t.placedIconSymbolIndex);return this.collisionIndex.placeCollisionBox(n,r,i,o,y,u,a,f.predicate)};O&&O.box&&O.box.length&&d.verticalIconBox?(F=i(d.verticalIconBox),S=F.box.length>0):(F=i(d.iconBox),S=F.box.length>0),D=D&&F.offscreen,A=F.occluded;}const V=g||0===t.numHorizontalGlyphVertices&&0===I,W=v||0===t.numIconVertices;if(V||W?W?V||(S=S&&P):P=S&&P:S=P=S&&P,P&&B&&B.box&&this.collisionIndex.insertCollisionBox(B.box,s.get("text-ignore-placement"),n.bucketInstanceId,O&&O.box&&N?N:U,f.ID),S&&F&&this.collisionIndex.insertCollisionBox(F.box,s.get("icon-ignore-placement"),n.bucketInstanceId,j,f.ID),k&&(P&&this.collisionIndex.insertCollisionCircles(k.circles,s.get("text-ignore-placement"),n.bucketInstanceId,U,f.ID),o)){const e=n.bucketInstanceId;let t=this.collisionCircleArrays[e];void 0===t&&(t=this.collisionCircleArrays[e]=new Tt);for(let e=0;e=0;--t){const i=e[t];I(n.symbolInstances.get(i),i,n.collisionArrays[i]);}}else for(let e=t.symbolInstanceStart;e=0&&(t.text.placedSymbolArray.get(n).crossTileID=u>=0&&n!==u?0:c),s>=0&&(t.text.placedSymbolArray.get(s).crossTileID=u>=0&&s!==u?0:c),a>=0&&(t.text.placedSymbolArray.get(a).crossTileID=u>=0&&a!==u?0:c),l>=0&&(t.text.placedSymbolArray.get(l).crossTileID=u>=0&&l!==u?0:c);}markUsedOrientation(t,i,o){const r=i===e.WritingMode.horizontal||i===e.WritingMode.horizontalOnly?i:0,n=i===e.WritingMode.vertical?i:0,{leftJustifiedTextSymbolIndex:s,centerJustifiedTextSymbolIndex:a,rightJustifiedTextSymbolIndex:l,verticalPlacedTextSymbolIndex:c}=o,h=t.text.placedSymbolArray;s>=0&&(h.get(s).placedOrientation=r),a>=0&&(h.get(a).placedOrientation=r),l>=0&&(h.get(l).placedOrientation=r),c>=0&&(h.get(c).placedOrientation=n);}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;const t=this.prevPlacement;let i=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;const o=t?t.symbolFadeChange(e):1,r=t?t.opacities:{},n=t?t.variableOffsets:{},s=t?t.placedOrientations:{};for(const e in this.placements){const t=this.placements[e],n=r[e];n?(this.opacities[e]=new bt(n,o,t.text,t.icon,null,t.clipped),i=i||t.text!==n.text.placed||t.icon!==n.icon.placed):(this.opacities[e]=new bt(null,o,t.text,t.icon,t.skipFade,t.clipped),i=i||t.text||t.icon);}for(const e in r){const t=r[e];if(!this.opacities[e]){const r=new bt(t,o,!1,!1);r.isHidden()||(this.opacities[e]=r,i=i||t.text.placed||t.icon.placed);}}for(const e in n)this.variableOffsets[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.variableOffsets[e]=n[e]);for(const e in s)this.placedOrientations[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.placedOrientations[e]=s[e]);i?this.lastPlacementChangeTime=e:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e);}updateLayerOpacities(e,t){const i=new Set;for(const o of t){const t=o.getBucket(e);t&&o.latestFeatureIndex&&e.id===t.layerIds[0]&&this.updateBucketOpacities(t,i,o.collisionBoxArray);}}updateBucketOpacities(t,i,o){t.hasTextData()&&t.text.opacityVertexArray.clear(),t.hasIconData()&&t.icon.opacityVertexArray.clear(),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();const r=t.layers[0].layout,n=!!t.layers[0].dynamicFilter(),s=new bt(null,0,!1,!1,!0),a=r.get("text-allow-overlap"),l=r.get("icon-allow-overlap"),c=r.get("text-variable-anchor"),h="map"===r.get("text-rotation-alignment"),u="map"===r.get("text-pitch-alignment"),_="none"!==r.get("icon-text-fit"),d=new bt(null,0,a&&(l||!t.hasIconData()||r.get("icon-optional")),l&&(a||!t.hasTextData()||r.get("text-optional")),!0);!t.collisionArrays&&o&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(o);const p=(e,t,i)=>{for(let o=0;o0||l>0,b=g>0,w=this.placedOrientations[f],T=w===e.WritingMode.vertical,E=w===e.WritingMode.horizontal||w===e.WritingMode.horizontalOnly;if(!y&&!b||x.isHidden()||m++,y){const e=kt(x.text);p(t.text,a,T?Ft:e),p(t.text,l,E?Ft:e);const i=x.text.isHidden(),{leftJustifiedTextSymbolIndex:o,centerJustifiedTextSymbolIndex:n,rightJustifiedTextSymbolIndex:s,verticalPlacedTextSymbolIndex:c}=r,h=t.text.placedSymbolArray,u=i||T?1:0;o>=0&&(h.get(o).hidden=u),n>=0&&(h.get(n).hidden=u),s>=0&&(h.get(s).hidden=u),c>=0&&(h.get(c).hidden=i||E?1:0);const _=this.variableOffsets[f];_&&this.markUsedJustification(t,_.anchor,r,w);const d=this.placedOrientations[f];d&&(this.markUsedJustification(t,"left",r,d),this.markUsedOrientation(t,d,r));}if(b){const e=kt(x.icon),{placedIconSymbolIndex:i,verticalPlacedIconSymbolIndex:o}=r,n=t.icon.placedSymbolArray,s=x.icon.isHidden()?1:0;i>=0&&(p(t.icon,g,T?Ft:e),n.get(i).hidden=s),o>=0&&(p(t.icon,r.numVerticalIconVertices,E?Ft:e),n.get(o).hidden=s);}if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){const i=t.collisionArrays[o];if(i){let o=new e.Point(0,0),r=!0;if(i.textBox||i.verticalTextBox){if(c){const e=this.variableOffsets[f];e?(o=Mt(e.anchor,e.width,e.height,e.textOffset,e.textScale),h&&o._rotate(u?this.transform.angle:-this.transform.angle)):r=!1;}n&&(r=!x.clipped),i.textBox&&St(t.textCollisionBox.collisionVertexArray,x.text.placed,!r||T,o.x,o.y),i.verticalTextBox&&St(t.textCollisionBox.collisionVertexArray,x.text.placed,!r||E,o.x,o.y);}const s=r&&Boolean(!E&&i.verticalIconBox);i.iconBox&&St(t.iconCollisionBox.collisionVertexArray,x.icon.placed,s,_?o.x:0,_?o.y:0),i.verticalIconBox&&St(t.iconCollisionBox.collisionVertexArray,x.icon.placed,!s,_?o.x:0,_?o.y:0);}}}if(t.fullyClipped=0===m,t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.bucketInstanceId in this.collisionCircleArrays){const e=this.collisionCircleArrays[t.bucketInstanceId];t.placementInvProjMatrix=e.invProjMatrix,t.placementViewportMatrix=e.viewportMatrix,t.collisionCircleArray=e.circles,delete this.collisionCircleArrays[t.bucketInstanceId];}}symbolFadeChange(e){return 0===this.fadeDuration?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTimee}setStale(){this.stale=!0;}}function St(e,t,i,o,r){e.emplaceBack(t?1:0,i?1:0,o||0,r||0),e.emplaceBack(t?1:0,i?1:0,o||0,r||0),e.emplaceBack(t?1:0,i?1:0,o||0,r||0),e.emplaceBack(t?1:0,i?1:0,o||0,r||0);}const Dt=Math.pow(2,25),Lt=Math.pow(2,24),At=Math.pow(2,17),zt=Math.pow(2,16),Rt=Math.pow(2,9),Ot=Math.pow(2,8),Bt=Math.pow(2,1);function kt(e){if(0===e.opacity&&!e.placed)return 0;if(1===e.opacity&&e.placed)return 4294967295;const t=e.placed?1:0,i=Math.floor(127*e.opacity);return i*Dt+t*Lt+i*At+t*zt+i*Rt+t*Ot+i*Bt+t}const Ft=0;class Ut{constructor(e){this._sortAcrossTiles="viewport-y"!==e.layout.get("symbol-z-order")&&void 0!==e.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs=new Set,this._bucketParts=[];}continuePlacement(e,t,i,o,r){const n=this._bucketParts;for(;this._currentTileIndexe.sortKey-t.sortKey)));this._currentPartIndex{const t=e.exported.now()-r;return !this._forceFullPlacement&&t>2};for(;this._currentPlacementIndex>=0;){const e=i[t[this._currentPlacementIndex]],r=this.placement.collisionIndex.transform.zoom;if("symbol"===e.type&&(!e.minzoom||e.minzoom<=r)&&(!e.maxzoom||e.maxzoom>r)){if(this._inProgressLayer||(this._inProgressLayer=new Ut(e)),this._inProgressLayer.continuePlacement(o[e.source],this.placement,this._showCollisionBoxes,e,n))return;delete this._inProgressLayer;}this._currentPlacementIndex--;}this._done=!0;}commit(e){return this.placement.commit(e),this.placement}}const jt=512/e.EXTENT/2;class Gt{constructor(t,i,o){this.tileID=t,this.bucketInstanceId=o,this.index=new e.KDBush(i.length,16,Int32Array),this.keys=[],this.crossTileIDs=[];const r=t.canonical.x*e.EXTENT,n=t.canonical.y*e.EXTENT;for(let e=0;ee.overscaledZ)for(const i in r){const n=r[i];n.tileID.isChildOf(e)&&n.findMatches(t.symbolInstances,e,o);}else {const n=r[e.scaledTo(Number(i)).key];n&&n.findMatches(t.symbolInstances,e,o);}}for(let e=0;e{t[e]=!0;}));for(const e in this.layerIndexes)t[e]||delete this.layerIndexes[e];}}const Xt=(t,i)=>e.emitValidationErrors(t,i&&i.filter((e=>"source.canvas"!==e.identifier))),qt=e.pick(Ge,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData","setTerrain","setFog","setProjection"]),$t=e.pick(Ge,["setCenter","setZoom","setBearing","setPitch"]),Ht={version:8,layers:[],sources:{}},Yt={fill:!0,line:!0,background:!0,hillshade:!0,raster:!0};class Kt extends e.Evented{constructor(t,i={}){super(),this.map=t,this.dispatcher=new S(Ue(),this),this.imageManager=new y,this.imageManager.setEventedParent(this),this.glyphManager=new e.GlyphManager(t._requestManager,i.localFontFamily?e.LocalGlyphMode.all:i.localIdeographFontFamily?e.LocalGlyphMode.ideographs:e.LocalGlyphMode.none,i.localFontFamily||i.localIdeographFontFamily),this.crossTileSymbolIndex=new Wt,this._layers={},this._num3DLayers=0,this._numSymbolLayers=0,this._numCircleLayers=0,this._serializedLayers={},this._sourceCaches={},this._otherSourceCaches={},this._symbolSourceCaches={},this._loaded=!1,this._availableImages=[],this._order=[],this._drapedFirstOrder=[],this._markersNeedUpdate=!1,this._resetUpdates(),this.dispatcher.broadcast("setReferrer",e.getReferrer());const o=this;this._rtlTextPluginCallback=Kt.registerForPluginStateChange((t=>{o.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:t.pluginStatus,pluginURL:t.pluginURL},((t,i)=>{if(e.triggerPluginCompletionEvent(t),i&&i.every((e=>e)))for(const e in o._sourceCaches){const t=o._sourceCaches[e],i=t.getSource().type;"vector"!==i&&"geojson"!==i||t.reload();}}));})),this.on("data",(e=>{if("source"!==e.dataType||"metadata"!==e.sourceDataType)return;const t=this.getSource(e.sourceId);if(t&&t.vectorLayerIds)for(const e in this._layers){const i=this._layers[e];i.source===t.id&&this._validateLayer(i);}}));}loadURL(t,i={}){this.fire(new e.Event("dataloading",{dataType:"style"}));const o="boolean"==typeof i.validate?i.validate:!e.isMapboxURL(t);t=this.map._requestManager.normalizeStyleURL(t,i.accessToken);const r=this.map._requestManager.transformRequest(t,e.ResourceType.Style);this._request=e.getJSON(r,((t,i)=>{this._request=null,t?this.fire(new e.ErrorEvent(t)):i&&this._load(i,o);}));}loadJSON(t,i={}){this.fire(new e.Event("dataloading",{dataType:"style"})),this._request=e.exported.frame((()=>{this._request=null,this._load(t,!1!==i.validate);}));}loadEmpty(){this.fire(new e.Event("dataloading",{dataType:"style"})),this._load(Ht,!1);}_updateLayerCount(e,t){const i=t?1:-1;e.is3D()&&(this._num3DLayers+=i),"circle"===e.type&&(this._numCircleLayers+=i),"symbol"===e.type&&(this._numSymbolLayers+=i);}_load(t,i){if(i&&Xt(this,e.validateStyle(t)))return;this._loaded=!0,this.stylesheet=e.clone$1(t),this._updateMapProjection();for(const e in t.sources)this.addSource(e,t.sources[e],{validate:!1});this._changed=!1,t.sprite?this._loadSprite(t.sprite):(this.imageManager.setLoaded(!0),this.dispatcher.broadcast("spriteLoaded",!0)),this.glyphManager.setURL(t.glyphs);const o=je(this.stylesheet.layers);this._order=o.map((e=>e.id)),this._layers={},this._serializedLayers={};for(const t of o){const i=e.createStyleLayer(t);i.setEventedParent(this,{layer:{id:i.id}}),this._layers[i.id]=i,this._serializedLayers[i.id]=i.serialize(),this._updateLayerCount(i,!0);}this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order)),this.light=new w(this.stylesheet.light),this.stylesheet.terrain&&!this.terrainSetForDrapingOnly()&&this._createTerrain(this.stylesheet.terrain,1),this.stylesheet.fog&&this._createFog(this.stylesheet.fog),this._updateDrapeFirstLayers(),this.fire(new e.Event("data",{dataType:"style"})),this.fire(new e.Event("style.load"));}terrainSetForDrapingOnly(){return !!this.terrain&&0===this.terrain.drapeRenderMode}setProjection(e){e?this.stylesheet.projection=e:delete this.stylesheet.projection,this._updateMapProjection();}applyProjectionUpdate(){this._loaded&&(this.dispatcher.broadcast("setProjection",this.map.transform.projectionOptions),this.map.transform.projection.requiresDraping?this.getTerrain()||this.stylesheet.terrain||this.setTerrainForDraping():this.terrainSetForDrapingOnly()&&this.setTerrain(null));}_updateMapProjection(){this.map._useExplicitProjection?this.applyProjectionUpdate():this.map._prioritizeAndUpdateProjection(null,this.stylesheet.projection);}_loadSprite(t){this._spriteRequest=function(t,i,o){let r,n,s;const a=e.exported.devicePixelRatio>1?"@2x":"";let l=e.getJSON(i.transformRequest(i.normalizeSpriteURL(t,a,".json"),e.ResourceType.SpriteJSON),((e,t)=>{l=null,s||(s=e,r=t,h());})),c=e.getImage(i.transformRequest(i.normalizeSpriteURL(t,a,".png"),e.ResourceType.SpriteImage),((e,t)=>{c=null,s||(s=e,n=t,h());}));function h(){if(s)o(s);else if(r&&n){const t=e.exported.getImageData(n),i={};for(const o in r){const{width:n,height:s,x:a,y:l,sdf:c,pixelRatio:h,stretchX:u,stretchY:_,content:d}=r[o],p=new e.RGBAImage({width:n,height:s});e.RGBAImage.copy(t,p,{x:a,y:l},{x:0,y:0},{width:n,height:s}),i[o]={data:p,pixelRatio:h,sdf:c,stretchX:u,stretchY:_,content:d};}o(null,i);}}return {cancel(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null);}}}(t,this.map._requestManager,((t,i)=>{if(this._spriteRequest=null,t)this.fire(new e.ErrorEvent(t));else if(i)for(const e in i)this.imageManager.addImage(e,i[e]);this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),this.dispatcher.broadcast("setImages",this._availableImages),this.dispatcher.broadcast("spriteLoaded",!0),this.fire(new e.Event("data",{dataType:"style"}));}));}_validateLayer(t){const i=this.getSource(t.source);if(!i)return;const o=t.sourceLayer;o&&("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(o))&&this.fire(new e.ErrorEvent(new Error(`Source layer "${o}" does not exist on source "${i.id}" as specified by style layer "${t.id}"`)));}loaded(){if(!this._loaded)return !1;if(Object.keys(this._updatedSources).length)return !1;for(const e in this._sourceCaches)if(!this._sourceCaches[e].loaded())return !1;return !!this.imageManager.isLoaded()}_serializeLayers(e){const t=[];for(const i of e){const e=this._layers[i];"custom"!==e.type&&t.push(e.serialize());}return t}hasTransitions(){if(this.light&&this.light.hasTransition())return !0;if(this.fog&&this.fog.hasTransition())return !0;for(const e in this._sourceCaches)if(this._sourceCaches[e].hasTransition())return !0;for(const e in this._layers)if(this._layers[e].hasTransition())return !0;return !1}get order(){return this.map._optimizeForTerrain&&this.terrain?this._drapedFirstOrder:this._order}isLayerDraped(e){return !!this.terrain&&("function"==typeof e.isLayerDraped?e.isLayerDraped():Yt[e.type])}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading")}update(t){if(!this._loaded)return;const i=this._changed;if(this._changed){const e=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(e.length||i.length)&&this._updateWorkerLayers(e,i);for(const e in this._updatedSources){const t=this._updatedSources[e];"reload"===t?this._reloadSource(e):"clear"===t&&this._clearSource(e);}this._updateTilesForChangedImages();for(const e in this._updatedPaintProps)this._layers[e].updateTransitions(t);this.light.updateTransitions(t),this.fog&&this.fog.updateTransitions(t),this._resetUpdates();}const o={};for(const e in this._sourceCaches){const t=this._sourceCaches[e];o[e]=t.used,t.used=!1;}for(const e of this._order){const i=this._layers[e];if(i.recalculate(t,this._availableImages),!i.isHidden(t.zoom)){const e=this._getLayerSourceCache(i);e&&(e.used=!0);}const o=this.map.painter;if(o){const e=i.getProgramIds();if(!e)continue;const r=i.getProgramConfiguration(t.zoom);for(const t of e)o.useProgram(t,r);}}for(const t in o){const i=this._sourceCaches[t];o[t]!==i.used&&i.getSource().fire(new e.Event("data",{sourceDataType:"visibility",dataType:"source",sourceId:i.getSource().id}));}this.light.recalculate(t),this.terrain&&this.terrain.recalculate(t),this.fog&&this.fog.recalculate(t),this.z=t.zoom,this._markersNeedUpdate&&(this._updateMarkersOpacity(),this._markersNeedUpdate=!1),i&&this.fire(new e.Event("data",{dataType:"style"}));}_updateTilesForChangedImages(){const e=Object.keys(this._changedImages);if(e.length){for(const t in this._sourceCaches)this._sourceCaches[t].reloadTilesForDependencies(["icons","patterns"],e);this._changedImages={};}}_updateWorkerLayers(e,t){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(e),removedIds:t});}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={};}setState(i){if(this._checkLoaded(),Xt(this,e.validateStyle(i)))return !1;(i=e.clone$1(i)).layers=je(i.layers);const o=function(e,i){if(!e)return [{command:Ge.setStyle,args:[i]}];let o=[];try{if(!t(e.version,i.version))return [{command:Ge.setStyle,args:[i]}];t(e.center,i.center)||o.push({command:Ge.setCenter,args:[i.center]}),t(e.zoom,i.zoom)||o.push({command:Ge.setZoom,args:[i.zoom]}),t(e.bearing,i.bearing)||o.push({command:Ge.setBearing,args:[i.bearing]}),t(e.pitch,i.pitch)||o.push({command:Ge.setPitch,args:[i.pitch]}),t(e.sprite,i.sprite)||o.push({command:Ge.setSprite,args:[i.sprite]}),t(e.glyphs,i.glyphs)||o.push({command:Ge.setGlyphs,args:[i.glyphs]}),t(e.transition,i.transition)||o.push({command:Ge.setTransition,args:[i.transition]}),t(e.light,i.light)||o.push({command:Ge.setLight,args:[i.light]}),t(e.fog,i.fog)||o.push({command:Ge.setFog,args:[i.fog]}),t(e.projection,i.projection)||o.push({command:Ge.setProjection,args:[i.projection]});const r={},n=[];!function(e,i,o,r){let n;for(n in i=i||{},e=e||{})e.hasOwnProperty(n)&&(i.hasOwnProperty(n)||Ve(n,o,r));for(n in i){if(!i.hasOwnProperty(n))continue;const s=i[n];e.hasOwnProperty(n)?t(e[n],s)||("geojson"===e[n].type&&"geojson"===s.type&&Xe(e,i,n)?o.push({command:Ge.setGeoJSONSourceData,args:[n,s.data]}):We(n,i,o,r)):Ze(n,i,o);}}(e.sources,i.sources,n,r);const s=[];e.layers&&e.layers.forEach((e=>{e.source&&r[e.source]?o.push({command:Ge.removeLayer,args:[e.id]}):s.push(e);}));let a=e.terrain;a&&r[a.source]&&(o.push({command:Ge.setTerrain,args:[void 0]}),a=void 0),o=o.concat(n),t(a,i.terrain)||o.push({command:Ge.setTerrain,args:[i.terrain]}),function(e,i,o){i=i||[];const r=(e=e||[]).map($e),n=i.map($e),s=e.reduce(He,{}),a=i.reduce(He,{}),l=r.slice(),c=Object.create(null);let h,u,_,d,p,m,f;for(h=0,u=0;h!(e.command in $t)));if(0===o.length)return !1;const r=o.filter((e=>!(e.command in qt)));if(r.length>0)throw new Error(`Unimplemented: ${r.map((e=>e.command)).join(", ")}.`);return o.forEach((e=>{"setTransition"!==e.command&&"setProjection"!==e.command&&this[e.command].apply(this,e.args);})),this.stylesheet=i,this._updateMapProjection(),!0}addImage(t,i){return this.getImage(t)?this.fire(new e.ErrorEvent(new Error("An image with this name already exists."))):(this.imageManager.addImage(t,i),this._afterImageUpdated(t),this)}updateImage(e,t){this.imageManager.updateImage(e,t);}getImage(e){return this.imageManager.getImage(e)}removeImage(t){return this.getImage(t)?(this.imageManager.removeImage(t),this._afterImageUpdated(t),this):this.fire(new e.ErrorEvent(new Error("No image with this name exists.")))}_afterImageUpdated(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new e.Event("data",{dataType:"style"}));}listImages(){return this._checkLoaded(),this._availableImages.slice()}addSource(t,i,o={}){if(this._checkLoaded(),void 0!==this.getSource(t))throw new Error("There is already a source with this ID");if(!i.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(i).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(i.type)>=0&&this._validate(e.validateSource,`sources.${t}`,i,null,o))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const r=De(t,i,this.dispatcher,this);r.setEventedParent(this,(()=>({isSourceLoaded:this._isSourceCacheLoaded(t),source:r.serialize(),sourceId:t})));const n=i=>{const o=(i?"symbol:":"other:")+t,n=this._sourceCaches[o]=new e.SourceCache(o,r,i);(i?this._symbolSourceCaches:this._otherSourceCaches)[t]=n,n.style=this,n.onAdd(this.map);};n(!1),"vector"!==i.type&&"geojson"!==i.type||n(!0),r.onAdd&&r.onAdd(this.map),this._changed=!0;}removeSource(t){this._checkLoaded();const i=this.getSource(t);if(!i)throw new Error("There is no source with this ID");for(const i in this._layers)if(this._layers[i].source===t)return this.fire(new e.ErrorEvent(new Error(`Source "${t}" cannot be removed while layer "${i}" is using it.`)));if(this.terrain&&this.terrain.get().source===t)return this.fire(new e.ErrorEvent(new Error(`Source "${t}" cannot be removed while terrain is using it.`)));const o=this._getSourceCaches(t);for(const t of o)delete this._sourceCaches[t.id],delete this._updatedSources[t.id],t.fire(new e.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:t.getSource().id})),t.setEventedParent(null),t.clearTiles();return delete this._otherSourceCaches[t],delete this._symbolSourceCaches[t],i.setEventedParent(null),i.onRemove&&i.onRemove(this.map),this._changed=!0,this}setGeoJSONSourceData(e,t){this._checkLoaded(),this.getSource(e).setData(t),this._changed=!0;}getSource(e){const t=this._getSourceCache(e);return t&&t.getSource()}_getSources(){const e=[];for(const t in this._otherSourceCaches){const i=this._getSourceCache(t);i&&e.push(i.getSource());}return e}addLayer(t,i,o={}){this._checkLoaded();const r=t.id;if(this.getLayer(r))return void this.fire(new e.ErrorEvent(new Error(`Layer with id "${r}" already exists on this map`)));let n;if("custom"===t.type){if(Xt(this,e.validateCustomStyleLayer(t)))return;n=e.createStyleLayer(t);}else {if("object"==typeof t.source&&(this.addSource(r,t.source),t=e.clone$1(t),t=e.extend(t,{source:r})),this._validate(e.validateLayer,`layers.${r}`,t,{arrayIndex:-1},o))return;n=e.createStyleLayer(t),this._validateLayer(n),n.setEventedParent(this,{layer:{id:r}}),this._serializedLayers[n.id]=n.serialize(),this._updateLayerCount(n,!0);}const s=i?this._order.indexOf(i):this._order.length;if(i&&-1===s)return void this.fire(new e.ErrorEvent(new Error(`Layer with id "${i}" does not exist on this map.`)));this._order.splice(s,0,r),this._layerOrderChanged=!0,this._layers[r]=n;const a=this._getLayerSourceCache(n);if(this._removedLayers[r]&&n.source&&a&&"custom"!==n.type){const e=this._removedLayers[r];delete this._removedLayers[r],e.type!==n.type?this._updatedSources[n.source]="clear":(this._updatedSources[n.source]="reload",a.pause());}this._updateLayer(n),n.onAdd&&n.onAdd(this.map),this._updateDrapeFirstLayers();}moveLayer(t,i){if(this._checkLoaded(),this._changed=!0,!this._layers[t])return void this.fire(new e.ErrorEvent(new Error(`The layer '${t}' does not exist in the map's style and cannot be moved.`)));if(t===i)return;const o=this._order.indexOf(t);this._order.splice(o,1);const r=i?this._order.indexOf(i):this._order.length;i&&-1===r?this.fire(new e.ErrorEvent(new Error(`Layer with id "${i}" does not exist on this map.`))):(this._order.splice(r,0,t),this._layerOrderChanged=!0,this._updateDrapeFirstLayers());}removeLayer(t){this._checkLoaded();const i=this._layers[t];if(!i)return void this.fire(new e.ErrorEvent(new Error(`The layer '${t}' does not exist in the map's style and cannot be removed.`)));i.setEventedParent(null),this._updateLayerCount(i,!1);const o=this._order.indexOf(t);this._order.splice(o,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=i,delete this._layers[t],delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],i.onRemove&&i.onRemove(this.map),this._updateDrapeFirstLayers();}getLayer(e){return this._layers[e]}hasLayer(e){return e in this._layers}hasLayerType(e){for(const t in this._layers)if(this._layers[t].type===e)return !0;return !1}setLayerZoomRange(t,i,o){this._checkLoaded();const r=this.getLayer(t);r?r.minzoom===i&&r.maxzoom===o||(null!=i&&(r.minzoom=i),null!=o&&(r.maxzoom=o),this._updateLayer(r)):this.fire(new e.ErrorEvent(new Error(`The layer '${t}' does not exist in the map's style and cannot have zoom extent.`)));}setFilter(i,o,r={}){this._checkLoaded();const n=this.getLayer(i);if(n){if(!t(n.filter,o))return null==o?(n.filter=void 0,void this._updateLayer(n)):void(this._validate(e.validateFilter,`layers.${n.id}.filter`,o,{layerType:n.type},r)||(n.filter=e.clone$1(o),this._updateLayer(n)))}else this.fire(new e.ErrorEvent(new Error(`The layer '${i}' does not exist in the map's style and cannot be filtered.`)));}getFilter(t){const i=this.getLayer(t);return i&&e.clone$1(i.filter)}setLayoutProperty(i,o,r,n={}){this._checkLoaded();const s=this.getLayer(i);s?t(s.getLayoutProperty(o),r)||(s.setLayoutProperty(o,r,n),this._updateLayer(s)):this.fire(new e.ErrorEvent(new Error(`The layer '${i}' does not exist in the map's style and cannot be styled.`)));}getLayoutProperty(t,i){const o=this.getLayer(t);if(o)return o.getLayoutProperty(i);this.fire(new e.ErrorEvent(new Error(`The layer '${t}' does not exist in the map's style.`)));}setPaintProperty(i,o,r,n={}){this._checkLoaded();const s=this.getLayer(i);s?t(s.getPaintProperty(o),r)||(s.setPaintProperty(o,r,n)&&this._updateLayer(s),this._changed=!0,this._updatedPaintProps[i]=!0):this.fire(new e.ErrorEvent(new Error(`The layer '${i}' does not exist in the map's style and cannot be styled.`)));}getPaintProperty(e,t){const i=this.getLayer(e);return i&&i.getPaintProperty(t)}setFeatureState(t,i){this._checkLoaded();const o=t.source,r=t.sourceLayer,n=this.getSource(o);if(!n)return void this.fire(new e.ErrorEvent(new Error(`The source '${o}' does not exist in the map's style.`)));const s=n.type;if("geojson"===s&&r)return void this.fire(new e.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter.")));if("vector"===s&&!r)return void this.fire(new e.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));void 0===t.id&&this.fire(new e.ErrorEvent(new Error("The feature id parameter must be provided.")));const a=this._getSourceCaches(o);for(const e of a)e.setFeatureState(r,t.id,i);}removeFeatureState(t,i){this._checkLoaded();const o=t.source,r=this.getSource(o);if(!r)return void this.fire(new e.ErrorEvent(new Error(`The source '${o}' does not exist in the map's style.`)));const n=r.type,s="vector"===n?t.sourceLayer:void 0;if("vector"===n&&!s)return void this.fire(new e.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));if(i&&"string"!=typeof t.id&&"number"!=typeof t.id)return void this.fire(new e.ErrorEvent(new Error("A feature id is required to remove its specific state property.")));const a=this._getSourceCaches(o);for(const e of a)e.removeFeatureState(s,t.id,i);}getFeatureState(t){this._checkLoaded();const i=t.source,o=t.sourceLayer,r=this.getSource(i);if(r){if("vector"!==r.type||o)return void 0===t.id&&this.fire(new e.ErrorEvent(new Error("The feature id parameter must be provided."))),this._getSourceCaches(i)[0].getFeatureState(o,t.id);this.fire(new e.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));}else this.fire(new e.ErrorEvent(new Error(`The source '${i}' does not exist in the map's style.`)));}getTransition(){return e.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){const t={};for(const e in this._sourceCaches){const i=this._sourceCaches[e].getSource();t[i.id]||(t[i.id]=i.serialize());}return e.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,terrain:this.getTerrain()||void 0,fog:this.stylesheet.fog,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,projection:this.stylesheet.projection,sources:t,layers:this._serializeLayers(this._order)},(e=>void 0!==e))}_updateLayer(e){this._updatedLayers[e.id]=!0;const t=this._getLayerSourceCache(e);e.source&&!this._updatedSources[e.source]&&t&&"raster"!==t.getSource().type&&(this._updatedSources[e.source]="reload",t.pause()),this._changed=!0,e.invalidateCompiledFilter();}_flattenAndSortRenderedFeatures(e){const t=e=>"fill-extrusion"===this._layers[e].type,i={},o=[];for(let r=this._order.length-1;r>=0;r--){const n=this._order[r];if(t(n)){i[n]=r;for(const t of e){const e=t[n];if(e)for(const t of e)o.push(t);}}}o.sort(((e,t)=>t.intersectionZ-e.intersectionZ));const r=[];for(let n=this._order.length-1;n>=0;n--){const s=this._order[n];if(t(s))for(let e=o.length-1;e>=0;e--){const t=o[e].feature;if(i[t.layer.id]{const t=this.getLayer(e);return t&&t.is3D()})):this.has3DLayers(),a=L.createFromScreenPoints(t,o);for(const e in this._sourceCaches){const t=this._sourceCaches[e].getSource().id;i.layers&&!r[t]||n.push(Ae(this._sourceCaches[e],this._layers,this._serializedLayers,a,i,o,s,!!this.map._showQueryGeometry));}return this.placement&&n.push(function(e,t,i,o,r,n,s){const a={},l=n.queryRenderedSymbols(o),c=[];for(const e of Object.keys(l).map(Number))c.push(s[e]);c.sort(Re);for(const i of c){const o=i.featureIndex.lookupSymbolFeatures(l[i.bucketInstanceId],t,i.bucketIndex,i.sourceLayerIndex,r.filter,r.layers,r.availableImages,e);for(const e in o){const t=a[e]=a[e]||[],r=o[e];r.sort(((e,t)=>{const o=i.featureSortOrder;if(o){const i=o.indexOf(e.featureIndex);return o.indexOf(t.featureIndex)-i}return t.featureIndex-e.featureIndex}));for(const e of r)t.push(e);}}for(const t in a)a[t].forEach((o=>{const r=o.feature,n=i(e[t]);if(!n)return;const s=n.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=s;}));return a}(this._layers,this._serializedLayers,this._getLayerSourceCache.bind(this),a.screenGeometry,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(n)}querySourceFeatures(t,i){i&&i.filter&&this._validate(e.validateFilter,"querySourceFeatures.filter",i.filter,null,i);const o=this._getSourceCaches(t);let r=[];for(const e of o)r=r.concat(ze(e,i));return r}addSourceType(e,t,i){return Kt.getSourceType(e)?i(new Error(`A source type called "${e}" already exists.`)):(Kt.setSourceType(e,t),t.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:e,url:t.workerSourceURL},i):i(null,null))}getLight(){return this.light.getLight()}setLight(e,i={}){this._checkLoaded();const o=this.light.getLight();let r=!1;for(const i in e)if(!t(e[i],o[i])){r=!0;break}if(!r)return;const n=this._setTransitionParameters({duration:300,delay:0});this.light.setLight(e,i),this.light.updateTransitions(n);}getTerrain(){return this.terrain&&1===this.terrain.drapeRenderMode?this.terrain.get():null}setTerrainForDraping(){this.setTerrain({source:"",exaggeration:0},0);}setTerrain(i,o=1){if(this._checkLoaded(),!i)return delete this.terrain,delete this.stylesheet.terrain,this.dispatcher.broadcast("enableTerrain",!1),this._force3DLayerUpdate(),void(this._markersNeedUpdate=!0);let r=i;if(1===o){if("object"==typeof r.source){const t="terrain-dem-src";this.addSource(t,r.source),r=e.clone$1(r),r=e.extend(r,{source:t});}if(this._validate(e.validateTerrain,"terrain",r))return}if(!this.terrain||this.terrain&&o!==this.terrain.drapeRenderMode){if(!r)return;this._createTerrain(r,o);}else {const i=this.terrain,o=i.get();for(const t of Object.keys(e.spec.terrain))!r.hasOwnProperty(t)&&e.spec.terrain[t].default&&(r[t]=e.spec.terrain[t].default);for(const e in r)if(!t(r[e],o[e])){i.set(r),this.stylesheet.terrain=r;const e=this._setTransitionParameters({duration:0});i.updateTransitions(e);break}}this._updateDrapeFirstLayers(),this._markersNeedUpdate=!0;}_createFog(e){const t=this.fog=new P(e,this.map.transform);this.stylesheet.fog=e;const i=this._setTransitionParameters({duration:0});t.updateTransitions(i);}_updateMarkersOpacity(){0!==this.map._markers.length&&this.map._requestDomTask((()=>{for(const e of this.map._markers)e._evaluateOpacity();}));}getFog(){return this.fog?this.fog.get():null}setFog(e){if(this._checkLoaded(),!e)return delete this.fog,delete this.stylesheet.fog,void(this._markersNeedUpdate=!0);if(this.fog){const i=this.fog,o=i.get();0===Object.keys(e).length&&i.set(e);for(const r in e)if(!t(e[r],o[r])){i.set(e),this.stylesheet.fog=e;const t=this._setTransitionParameters({duration:0});i.updateTransitions(t);break}}else this._createFog(e);this._markersNeedUpdate=!0;}_setTransitionParameters(t){return {now:e.exported.now(),transition:e.extend(t,this.stylesheet.transition)}}_updateDrapeFirstLayers(){if(!this.map._optimizeForTerrain||!this.terrain)return;const e=this._order.filter((e=>this.isLayerDraped(this._layers[e]))),t=this._order.filter((e=>!this.isLayerDraped(this._layers[e])));this._drapedFirstOrder=[],this._drapedFirstOrder.push(...e),this._drapedFirstOrder.push(...t);}_createTerrain(e,t){const i=this.terrain=new E(e,t);this.stylesheet.terrain=e,this.dispatcher.broadcast("enableTerrain",!this.terrainSetForDrapingOnly()),this._force3DLayerUpdate();const o=this._setTransitionParameters({duration:0});i.updateTransitions(o);}_force3DLayerUpdate(){for(const e in this._layers){const t=this._layers[e];"fill-extrusion"===t.type&&this._updateLayer(t);}}_forceSymbolLayerUpdate(){for(const e in this._layers){const t=this._layers[e];"symbol"===t.type&&this._updateLayer(t);}}_validate(t,i,o,r,n={}){return (!n||!1!==n.validate)&&Xt(this,t.call(e.validateStyle,e.extend({key:i,style:this.serialize(),value:o,styleSpec:e.spec},r)))}_remove(){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),e.evented.off("pluginStateChange",this._rtlTextPluginCallback);for(const e in this._layers)this._layers[e].setEventedParent(null);for(const e in this._sourceCaches)this._sourceCaches[e].clearTiles(),this._sourceCaches[e].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove();}_clearSource(e){const t=this._getSourceCaches(e);for(const e of t)e.clearTiles();}_reloadSource(e){const t=this._getSourceCaches(e);for(const e of t)e.resume(),e.reload();}_reloadSources(){for(const e of this._getSources())e.reload&&e.reload();}_updateSources(e){for(const t in this._sourceCaches)this._sourceCaches[t].update(e);}_generateCollisionBoxes(){for(const e in this._sourceCaches){const t=this._sourceCaches[e];t.resume(),t.reload();}}_updatePlacement(t,i,o,r,n=!1){let s=!1,a=!1;const l={};for(const e of this._order){const i=this._layers[e];if("symbol"!==i.type)continue;if(!l[i.source]){const e=this._getLayerSourceCache(i);if(!e)continue;l[i.source]=e.getRenderableIds(!0).map((t=>e.getTileByID(t))).sort(((e,t)=>t.tileID.overscaledZ-e.tileID.overscaledZ||(e.tileID.isLessThan(t.tileID)?-1:1)));}const o=this.crossTileSymbolIndex.addLayer(i,l[i.source],t.center.lng,t.projection);s=s||o;}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),n=n||this._layerOrderChanged||0===o,this._layerOrderChanged&&this.fire(new e.Event("neworder")),(n||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(e.exported.now(),t.zoom))&&(this.pauseablePlacement=new Nt(t,this._order,n,i,o,r,this.placement,this.fog&&t.projection.supportsFog?this.fog.state:null),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(e.exported.now()),a=!0),s&&this.pauseablePlacement.placement.setStale()),a||s)for(const e of this._order){const t=this._layers[e];"symbol"===t.type&&this.placement.updateLayerOpacities(t,l[t.source]);}return !this.pauseablePlacement.isDone()||this.placement.hasTransitions(e.exported.now())}_releaseSymbolFadeTiles(){for(const e in this._sourceCaches)this._sourceCaches[e].releaseSymbolFadeTiles();}getImages(e,t,i){this.imageManager.getImages(t.icons,i),this._updateTilesForChangedImages();const o=e=>{e&&e.setDependencies(t.tileID.key,t.type,t.icons);};o(this._otherSourceCaches[t.source]),o(this._symbolSourceCaches[t.source]);}getGlyphs(e,t,i){this.glyphManager.getGlyphs(t.stacks,i);}getResource(t,i,o){return e.makeRequest(i,o)}_getSourceCache(e){return this._otherSourceCaches[e]}_getLayerSourceCache(e){return "symbol"===e.type?this._symbolSourceCaches[e.source]:this._otherSourceCaches[e.source]}_getSourceCaches(e){const t=[];return this._otherSourceCaches[e]&&t.push(this._otherSourceCaches[e]),this._symbolSourceCaches[e]&&t.push(this._symbolSourceCaches[e]),t}_isSourceCacheLoaded(t){const i=this._getSourceCaches(t);return 0===i.length?(this.fire(new e.ErrorEvent(new Error(`There is no source with ID '${t}'`))),!1):i.every((e=>e.loaded()))}has3DLayers(){return this._num3DLayers>0}hasSymbolLayers(){return this._numSymbolLayers>0}hasCircleLayers(){return this._numCircleLayers>0}_clearWorkerCaches(){this.dispatcher.broadcast("clearCaches");}destroy(){this._clearWorkerCaches(),this.terrainSetForDrapingOnly()&&(delete this.terrain,delete this.stylesheet.terrain);}}Kt.getSourceType=function(e){return Se[e]},Kt.setSourceType=function(e,t){Se[e]=t;},Kt.registerForPluginStateChange=e.registerForPluginStateChange;var Jt="\n#define EPSILON 0.0000001\n#define PI 3.141592653589793\n#define EXTENT 8192.0\n#define HALF_PI PI/2.0\n#define QUARTER_PI PI/4.0\n#define RAD_TO_DEG 180.0/PI\n#define DEG_TO_RAD PI/180.0\n#define GLOBE_RADIUS EXTENT/PI/2.0",Qt="attribute highp vec3 a_pos_3f;uniform lowp mat4 u_matrix;varying highp vec3 v_uv;void main() {const mat3 half_neg_pi_around_x=mat3(1.0,0.0, 0.0,0.0,0.0,-1.0,0.0,1.0, 0.0);v_uv=half_neg_pi_around_x*a_pos_3f;vec4 pos=u_matrix*vec4(a_pos_3f,1.0);gl_Position=pos.xyww;}",ei="\n#define ELEVATION_SCALE 7.0\n#define ELEVATION_OFFSET 450.0\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_tl_up;uniform vec3 u_tile_tr_up;uniform vec3 u_tile_br_up;uniform vec3 u_tile_bl_up;uniform float u_tile_up_scale;vec3 elevationVector(vec2 pos) {vec2 uv=pos/EXTENT;vec3 up=normalize(mix(\nmix(u_tile_tl_up,u_tile_tr_up,uv.xxx),mix(u_tile_bl_up,u_tile_br_up,uv.xxx),uv.yyy));return up*u_tile_up_scale;}\n#else\nvec3 elevationVector(vec2 pos) { return vec3(0,0,1); }\n#endif\nconst float skirtOffset=24575.0;vec3 decomposeToPosAndSkirt(vec2 posWithComposedSkirt)\n{float skirt=float(posWithComposedSkirt.x >=skirtOffset);vec2 pos=posWithComposedSkirt-vec2(skirt*skirtOffset,0.0);return vec3(pos,skirt);}\n#ifdef TERRAIN\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nuniform highp sampler2D u_dem;uniform highp sampler2D u_dem_prev;\n#else\nuniform sampler2D u_dem;uniform sampler2D u_dem_prev;\n#endif\nuniform vec4 u_dem_unpack;uniform vec2 u_dem_tl;uniform vec2 u_dem_tl_prev;uniform float u_dem_scale;uniform float u_dem_scale_prev;uniform float u_dem_size;uniform float u_dem_lerp;uniform float u_exaggeration;uniform float u_meter_to_dem;uniform mat4 u_label_plane_matrix_inv;uniform sampler2D u_depth;uniform vec2 u_depth_size_inv;vec4 tileUvToDemSample(vec2 uv,float dem_size,float dem_scale,vec2 dem_tl) {vec2 pos=dem_size*(uv*dem_scale+dem_tl)+1.0;vec2 f=fract(pos);return vec4((pos-f+0.5)/(dem_size+2.0),f);}float decodeElevation(vec4 v) {return dot(vec4(v.xyz*255.0,-1.0),u_dem_unpack);}float currentElevation(vec2 apos) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nvec2 pos=(u_dem_size*(apos/8192.0*u_dem_scale+u_dem_tl)+1.5)/(u_dem_size+2.0);return u_exaggeration*texture2D(u_dem,pos).a;\n#else\nfloat dd=1.0/(u_dem_size+2.0);vec4 r=tileUvToDemSample(apos/8192.0,u_dem_size,u_dem_scale,u_dem_tl);vec2 pos=r.xy;vec2 f=r.zw;float tl=decodeElevation(texture2D(u_dem,pos));\n#ifdef TERRAIN_DEM_NEAREST_FILTER\nreturn u_exaggeration*tl;\n#endif\nfloat tr=decodeElevation(texture2D(u_dem,pos+vec2(dd,0.0)));float bl=decodeElevation(texture2D(u_dem,pos+vec2(0.0,dd)));float br=decodeElevation(texture2D(u_dem,pos+vec2(dd,dd)));return u_exaggeration*mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);\n#endif\n}float prevElevation(vec2 apos) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nvec2 pos=(u_dem_size*(apos/8192.0*u_dem_scale_prev+u_dem_tl_prev)+1.5)/(u_dem_size+2.0);return u_exaggeration*texture2D(u_dem_prev,pos).a;\n#else\nfloat dd=1.0/(u_dem_size+2.0);vec4 r=tileUvToDemSample(apos/8192.0,u_dem_size,u_dem_scale_prev,u_dem_tl_prev);vec2 pos=r.xy;vec2 f=r.zw;float tl=decodeElevation(texture2D(u_dem_prev,pos));float tr=decodeElevation(texture2D(u_dem_prev,pos+vec2(dd,0.0)));float bl=decodeElevation(texture2D(u_dem_prev,pos+vec2(0.0,dd)));float br=decodeElevation(texture2D(u_dem_prev,pos+vec2(dd,dd)));return u_exaggeration*mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);\n#endif\n}\n#ifdef TERRAIN_VERTEX_MORPHING\nfloat elevation(vec2 apos) {\n#ifdef ZERO_EXAGGERATION\nreturn 0.0;\n#endif\nfloat nextElevation=currentElevation(apos);float prevElevation=prevElevation(apos);return mix(prevElevation,nextElevation,u_dem_lerp);}\n#else\nfloat elevation(vec2 apos) {\n#ifdef ZERO_EXAGGERATION\nreturn 0.0;\n#endif\nreturn currentElevation(apos);}\n#endif\nhighp float unpack_depth(highp vec4 rgba_depth)\n{const highp vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(rgba_depth,bit_shift)*2.0-1.0;}bool isOccluded(vec4 frag) {vec3 coord=frag.xyz/frag.w;float depth=unpack_depth(texture2D(u_depth,(coord.xy+1.0)*0.5));return coord.z > depth+0.0005;}float occlusionFade(vec4 frag) {vec3 coord=frag.xyz/frag.w;vec3 df=vec3(5.0*u_depth_size_inv,0.0);vec2 uv=0.5*coord.xy+0.5;vec4 depth=vec4(\nunpack_depth(texture2D(u_depth,uv-df.xz)),unpack_depth(texture2D(u_depth,uv+df.xz)),unpack_depth(texture2D(u_depth,uv-df.zy)),unpack_depth(texture2D(u_depth,uv+df.zy))\n);return dot(vec4(0.25),vec4(1.0)-clamp(300.0*(vec4(coord.z-0.001)-depth),0.0,1.0));}vec4 fourSample(vec2 pos,vec2 off) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nfloat tl=texture2D(u_dem,pos).a;float tr=texture2D(u_dem,pos+vec2(off.x,0.0)).a;float bl=texture2D(u_dem,pos+vec2(0.0,off.y)).a;float br=texture2D(u_dem,pos+off).a;\n#else\nvec4 demtl=vec4(texture2D(u_dem,pos).xyz*255.0,-1.0);float tl=dot(demtl,u_dem_unpack);vec4 demtr=vec4(texture2D(u_dem,pos+vec2(off.x,0.0)).xyz*255.0,-1.0);float tr=dot(demtr,u_dem_unpack);vec4 dembl=vec4(texture2D(u_dem,pos+vec2(0.0,off.y)).xyz*255.0,-1.0);float bl=dot(dembl,u_dem_unpack);vec4 dembr=vec4(texture2D(u_dem,pos+off).xyz*255.0,-1.0);float br=dot(dembr,u_dem_unpack);\n#endif\nreturn vec4(tl,tr,bl,br);}float flatElevation(vec2 pack) {vec2 apos=floor(pack/8.0);vec2 span=10.0*(pack-apos*8.0);vec2 uvTex=(apos-vec2(1.0,1.0))/8190.0;float size=u_dem_size+2.0;float dd=1.0/size;vec2 pos=u_dem_size*(uvTex*u_dem_scale+u_dem_tl)+1.0;vec2 f=fract(pos);pos=(pos-f+0.5)*dd;vec4 h=fourSample(pos,vec2(dd));float z=mix(mix(h.x,h.y,f.x),mix(h.z,h.w,f.x),f.y);vec2 w=floor(0.5*(span*u_meter_to_dem-1.0));vec2 d=dd*w;h=fourSample(pos-d,2.0*d+vec2(dd));vec4 diff=abs(h.xzxy-h.ywzw);vec2 slope=min(vec2(0.25),u_meter_to_dem*0.5*(diff.xz+diff.yw)/(2.0*w+vec2(1.0)));vec2 fix=slope*span;float base=z+max(fix.x,fix.y);return u_exaggeration*base;}float elevationFromUint16(float word) {return u_exaggeration*(word/ELEVATION_SCALE-ELEVATION_OFFSET);}\n#else\nfloat elevation(vec2 pos) { return 0.0; }bool isOccluded(vec4 frag) { return false; }float occlusionFade(vec4 frag) { return 1.0; }\n#endif",ti="#ifdef FOG\nuniform mediump vec4 u_fog_color;uniform mediump vec2 u_fog_range;uniform mediump float u_fog_horizon_blend;uniform mediump mat4 u_fog_matrix;varying vec3 v_fog_pos;float fog_range(float depth) {return (depth-u_fog_range[0])/(u_fog_range[1]-u_fog_range[0]);}float fog_horizon_blending(vec3 camera_dir) {float t=max(0.0,camera_dir.z/u_fog_horizon_blend);return u_fog_color.a*exp(-3.0*t*t);}float fog_opacity(float t) {const float decay=6.0;float falloff=1.0-min(1.0,exp(-decay*t));falloff*=falloff*falloff;return u_fog_color.a*min(1.0,1.00747*falloff);}vec3 fog_position(vec3 pos) {return (u_fog_matrix*vec4(pos,1.0)).xyz;}vec3 fog_position(vec2 pos) {return fog_position(vec3(pos,0.0));}float fog(vec3 pos) {float depth=length(pos);float opacity=fog_opacity(fog_range(depth));return opacity*fog_horizon_blending(pos/depth);}\n#endif",ii="#ifdef FOG\nuniform mediump vec4 u_fog_color;uniform mediump vec2 u_fog_range;uniform mediump float u_fog_horizon_blend;uniform mediump float u_fog_temporal_offset;varying vec3 v_fog_pos;uniform highp vec3 u_frustum_tl;uniform highp vec3 u_frustum_tr;uniform highp vec3 u_frustum_br;uniform highp vec3 u_frustum_bl;uniform highp vec3 u_globe_pos;uniform highp float u_globe_radius;uniform highp vec2 u_viewport;uniform float u_globe_transition;uniform int u_is_globe;float fog_range(float depth) {return (depth-u_fog_range[0])/(u_fog_range[1]-u_fog_range[0]);}float fog_horizon_blending(vec3 camera_dir) {float t=max(0.0,camera_dir.z/u_fog_horizon_blend);return u_fog_color.a*exp(-3.0*t*t);}float fog_opacity(float t) {const float decay=6.0;float falloff=1.0-min(1.0,exp(-decay*t));falloff*=falloff*falloff;return u_fog_color.a*min(1.0,1.00747*falloff);}float globe_glow_progress() {highp vec2 uv=gl_FragCoord.xy/u_viewport;highp vec3 ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,uv.x),mix(u_frustum_bl,u_frustum_br,uv.x),1.0-uv.y);highp vec3 dir=normalize(ray_dir);highp vec3 closest_point=dot(u_globe_pos,dir)*dir;highp float sdf=length(closest_point-u_globe_pos)/u_globe_radius;return sdf+PI*0.5;}float fog_opacity(vec3 pos) {float depth=length(pos);return fog_opacity(fog_range(depth));}vec3 fog_apply(vec3 color,vec3 pos) {float depth=length(pos);float opacity;if (u_is_globe==1) {float glow_progress=globe_glow_progress();float t=mix(glow_progress,depth,u_globe_transition);opacity=fog_opacity(fog_range(t));} else {opacity=fog_opacity(fog_range(depth));opacity*=fog_horizon_blending(pos/depth);}return mix(color,u_fog_color.rgb,opacity);}vec4 fog_apply_from_vert(vec4 color,float fog_opac) {float alpha=EPSILON+color.a;color.rgb=mix(color.rgb/alpha,u_fog_color.rgb,fog_opac)*alpha;return color;}vec3 fog_apply_sky_gradient(vec3 camera_ray,vec3 sky_color) {float horizon_blend=fog_horizon_blending(normalize(camera_ray));return mix(sky_color,u_fog_color.rgb,horizon_blend);}vec4 fog_apply_premultiplied(vec4 color,vec3 pos) {float alpha=EPSILON+color.a;color.rgb=fog_apply(color.rgb/alpha,pos)*alpha;return color;}vec3 fog_dither(vec3 color) {vec2 dither_seed=gl_FragCoord.xy+u_fog_temporal_offset;return dither(color,dither_seed);}vec4 fog_dither(vec4 color) {return vec4(fog_dither(color.rgb),color.a);}\n#endif";let oi={},ri={};const ni=[];hi(Jt,ni),hi(ei,ni),hi(ti,ni),hi(ii,ni),oi=ui("",ei),ri=ui(ii,ti);const si=ui("\n#if __VERSION__ >=300\n#define varying in\n#define gl_FragColor glFragColor\n#define texture2D texture\n#define textureCube texture\nout vec4 glFragColor;\n#endif\nhighp vec3 hash(highp vec2 p) {highp vec3 p3=fract(p.xyx*vec3(443.8975,397.2973,491.1871));p3+=dot(p3,p3.yxz+19.19);return fract((p3.xxy+p3.yzz)*p3.zyx);}vec3 dither(vec3 color,highp vec2 seed) {vec3 rnd=hash(seed)+hash(seed+0.59374)-0.5;return color+rnd/255.0;}highp float unpack_depth(highp vec4 rgba_depth)\n{const highp vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(rgba_depth,bit_shift)*2.0-1.0;}highp vec4 pack_depth(highp float ndc_z) {highp float depth=ndc_z*0.5+0.5;const highp vec4 bit_shift=vec4(255.0*255.0*255.0,255.0*255.0,255.0,1.0);const highp vec4 bit_mask =vec4(0.0,1.0/255.0,1.0/255.0,1.0/255.0);highp vec4 res=fract(depth*bit_shift);res-=res.xxyz*bit_mask;return res;}","\n#if __VERSION__ >=300\n#define attribute in\n#define varying out\n#define texture2D texture\n#endif\nfloat wrap(float n,float min,float max) {float d=max-min;float w=mod(mod(n-min,d)+d,d)+min;return (w==min) ? max : w;}\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 mercator_tile_position(mat4 matrix,vec2 tile_anchor,vec3 tile_id,vec2 mercator_center) {\n#ifndef PROJECTED_POS_ON_VIEWPORT\nfloat tiles=tile_id.z;vec2 mercator=(tile_anchor/EXTENT+tile_id.xy)/tiles;mercator-=mercator_center;mercator.x=wrap(mercator.x,-0.5,0.5);vec4 mercator_tile=vec4(mercator.xy*EXTENT,EXTENT/(2.0*PI),1.0);mercator_tile=matrix*mercator_tile;return mercator_tile.xyz;\n#else\nreturn vec3(0.0);\n#endif\n}vec3 mix_globe_mercator(vec3 globe,vec3 mercator,float t) {return mix(globe,mercator,t);}mat3 globe_mercator_surface_vectors(vec3 pos_normal,vec3 up_dir,float zoom_transition) {vec3 normal=zoom_transition==0.0 ? pos_normal : normalize(mix(pos_normal,up_dir,zoom_transition));vec3 xAxis=normalize(vec3(normal.z,0.0,-normal.x));vec3 yAxis=normalize(cross(normal,xAxis));return mat3(xAxis,yAxis,normal);}\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(\nunpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}const vec4 AWAY=vec4(-1000.0,-1000.0,-1000.0,1);//Normalized device coordinate that is not rendered."),ai=Jt,li="\n#ifdef GL_ES\nprecision mediump float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif";var ci={background:ui("uniform vec4 u_color;uniform float u_opacity;\n#ifdef LIGHTING_3D_MODE\nvarying vec4 v_color;\n#endif\nvoid main() {vec4 out_color;\n#ifdef LIGHTING_3D_MODE\nout_color=v_color;\n#else\nout_color=u_color;\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#ifdef LIGHTING_3D_MODE\nuniform vec4 u_color;varying vec4 v_color;\n#endif\nvoid main() {gl_Position=u_matrix*vec4(a_pos,0,1);\n#ifdef LIGHTING_3D_MODE\nv_color=apply_lighting(u_color);\n#endif\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),backgroundPattern:ui("uniform vec2 u_pattern_tl;uniform vec2 u_pattern_br;uniform vec2 u_texsize;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos;void main() {vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(u_pattern_tl/u_texsize,u_pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pattern_size;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_pattern_size,u_tile_units_to_pixels,a_pos);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),circle:ui("varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(\nantialiased_blur,0.0,extrude_length-radius/(radius+stroke_width)\n);vec4 out_color=mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_apply_premultiplied(out_color,v_fog_pos);\n#endif\ngl_FragColor=out_color*(v_visibility*opacity_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","#define NUM_VISIBILITY_RINGS 2\n#define INV_SQRT2 0.70710678\n#define ELEVATION_BIAS 0.0001\n#define NUM_SAMPLES_PER_RING 16\nuniform mat4 u_matrix;uniform mat2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;\n#endif\nvarying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvec2 calc_offset(vec2 extrusion,float radius,float stroke_width, float view_scale) {return extrusion*(radius+stroke_width)*u_extrude_scale*view_scale;}float cantilevered_elevation(vec2 pos,float radius,float stroke_width,float view_scale) {vec2 c1=pos+calc_offset(vec2(-1,-1),radius,stroke_width,view_scale);vec2 c2=pos+calc_offset(vec2(1,-1),radius,stroke_width,view_scale);vec2 c3=pos+calc_offset(vec2(1,1),radius,stroke_width,view_scale);vec2 c4=pos+calc_offset(vec2(-1,1),radius,stroke_width,view_scale);float h1=elevation(c1)+ELEVATION_BIAS;float h2=elevation(c2)+ELEVATION_BIAS;float h3=elevation(c3)+ELEVATION_BIAS;float h4=elevation(c4)+ELEVATION_BIAS;return max(h4,max(h3,max(h1,h2)));}float circle_elevation(vec2 pos) {\n#if defined(TERRAIN)\nreturn elevation(pos)+ELEVATION_BIAS;\n#else\nreturn 0.0;\n#endif\n}vec4 project_vertex(vec2 extrusion,vec4 world_center,vec4 projected_center,float radius,float stroke_width, float view_scale,mat3 surface_vectors) {vec2 sample_offset=calc_offset(extrusion,radius,stroke_width,view_scale);\n#ifdef PITCH_WITH_MAP\n#ifdef PROJECTION_GLOBE_VIEW\nreturn u_matrix*( world_center+vec4(sample_offset.x*surface_vectors[0]+sample_offset.y*surface_vectors[1],0) );\n#else\nreturn u_matrix*( world_center+vec4(sample_offset,0,0) );\n#endif\n#else\nreturn projected_center+vec4(sample_offset,0,0);\n#endif\n}float get_sample_step() {\n#ifdef PITCH_WITH_MAP\nreturn 2.0*PI/float(NUM_SAMPLES_PER_RING);\n#else\nreturn PI/float(NUM_SAMPLES_PER_RING);\n#endif\n}void main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);vec4 world_center;mat3 surface_vectors;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 pos_normal_3=a_pos_normal_3/16384.0;surface_vectors=globe_mercator_surface_vectors(pos_normal_3,u_up_dir,u_zoom_transition);vec3 surface_extrusion=extrude.x*surface_vectors[0]+extrude.y*surface_vectors[1];vec3 globe_elevation=elevationVector(circle_center)*circle_elevation(circle_center);vec3 globe_pos=a_pos_3+surface_extrusion+globe_elevation;vec3 mercator_elevation=u_up_dir*u_tile_up_scale*circle_elevation(circle_center);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,circle_center,u_tile_id,u_merc_center)+surface_extrusion+mercator_elevation;vec3 pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);world_center=vec4(pos,1);\n#else \nsurface_vectors=mat3(1.0);float height=circle_elevation(circle_center);world_center=vec4(circle_center,height,1);\n#endif\nvec4 projected_center=u_matrix*world_center;float view_scale=0.0;\n#ifdef PITCH_WITH_MAP\n#ifdef SCALE_WITH_MAP\nview_scale=1.0;\n#else\nview_scale=projected_center.w/u_camera_to_center_distance;\n#endif\n#else\n#ifdef SCALE_WITH_MAP\nview_scale=u_camera_to_center_distance;\n#else\nview_scale=projected_center.w;\n#endif\n#endif\ngl_Position=project_vertex(extrude,world_center,projected_center,radius,stroke_width,view_scale,surface_vectors);float visibility=0.0;\n#ifdef TERRAIN\nfloat step=get_sample_step();vec4 occlusion_world_center;vec4 occlusion_projected_center;\n#ifdef PITCH_WITH_MAP\nfloat cantilevered_height=cantilevered_elevation(circle_center,radius,stroke_width,view_scale);occlusion_world_center=vec4(circle_center,cantilevered_height,1);occlusion_projected_center=u_matrix*occlusion_world_center;\n#else\nocclusion_world_center=world_center;occlusion_projected_center=projected_center;\n#endif\nfor(int ring=0; ring < NUM_VISIBILITY_RINGS; ring++) {float scale=(float(ring)+1.0)/float(NUM_VISIBILITY_RINGS);for(int i=0; i < NUM_SAMPLES_PER_RING; i++) {vec2 extrusion=vec2(cos(step*float(i)),-sin(step*float(i)))*scale;vec4 frag_pos=project_vertex(extrusion,occlusion_world_center,occlusion_projected_center,radius,stroke_width,view_scale,surface_vectors);visibility+=float(!isOccluded(frag_pos));}}visibility/=float(NUM_VISIBILITY_RINGS)*float(NUM_SAMPLES_PER_RING);\n#else\nvisibility=1.0;\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nvisibility=1.0;\n#endif\nv_visibility=visibility;lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);\n#ifdef FOG\nv_fog_pos=fog_position(world_center.xyz);\n#endif\n}"),clippingMask:ui("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:ui("uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef FOG\nif (u_is_globe==0) {gl_FragColor.r*=pow(1.0-fog_opacity(v_fog_pos),2.0);}\n#endif\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;\n#endif\nvarying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec2 tilePos=floor(a_pos*0.5);vec3 pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 pos_normal_3=a_pos_normal_3/16384.0;mat3 surface_vectors=globe_mercator_surface_vectors(pos_normal_3,u_up_dir,u_zoom_transition);vec3 surface_extrusion=extrude.x*surface_vectors[0]+extrude.y*surface_vectors[1];vec3 globe_elevation=elevationVector(tilePos)*elevation(tilePos);vec3 globe_pos=a_pos_3+surface_extrusion+globe_elevation;vec3 mercator_elevation=u_up_dir*u_tile_up_scale*elevation(tilePos);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,tilePos,u_tile_id,u_merc_center)+surface_extrusion+mercator_elevation;pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#else\npos=vec3(tilePos+extrude,elevation(tilePos));\n#endif\ngl_Position=u_matrix*vec4(pos,1);\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}"),heatmapTexture:ui("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}","attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=vec4(a_pos,0,1);v_pos=a_pos*0.5+0.5;}"),collisionBox:ui("varying float v_placed;varying float v_notUsed;void main() {vec4 red =vec4(1.0,0.0,0.0,1.0);vec4 blue=vec4(0.0,0.0,1.0,0.5);gl_FragColor =mix(red,blue,step(0.5,v_placed))*0.5;gl_FragColor*=mix(1.0,0.1,step(0.5,v_notUsed));}","attribute vec3 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;attribute float a_size_scale;attribute vec2 a_padding;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_pos+elevationVector(a_anchor_pos)*elevation(a_anchor_pos),1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(\n0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,1.5);gl_Position=projectedPoint;gl_Position.xy+=(a_extrude*a_size_scale+a_shift+a_padding)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:ui("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos_2f;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos_2f;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(\nmix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(\n0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:ui("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;\n#endif\nvarying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {float h=elevation(a_pos);v_uv=a_pos/8192.0;\n#ifdef PROJECTION_GLOBE_VIEW\ngl_Position=u_matrix*vec4(a_pos_3+elevationVector(a_pos)*h,1);\n#else\ngl_Position=u_matrix*vec4(a_pos*u_overlay_scale,h,1);\n#endif\n}"),fill:ui("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\nvec4 out_color=color;\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),fillOutline:ui("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);vec4 out_color=outline_color;\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),fillOutlinePattern:ui("uniform vec2 u_texsize;uniform sampler2D u_image;varying vec2 v_pos;varying vec2 v_pos_world;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);float dist=length(v_pos_world-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);vec4 out_color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;varying vec2 v_pos_world;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,a_pos);v_pos_world=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),fillPattern:ui("uniform vec2 u_texsize;uniform sampler2D u_image;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,a_pos);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),fillExtrusion:ui("varying vec4 v_color;\n#ifdef RENDER_SHADOWS\nvarying highp vec4 v_pos_light_view_0;varying highp vec4 v_pos_light_view_1;varying float v_depth;\n#endif\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;varying vec3 v_ao;\n#endif\n#ifdef ZERO_ROOF_RADIUS\nvarying vec4 v_roof_color;\n#endif\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\nvarying highp vec3 v_normal;\n#endif\nvoid main() {\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\nvec3 normal=v_normal;\n#endif\nfloat z;vec4 color;\n#ifdef ZERO_ROOF_RADIUS\nz=float(normal.z > 0.00001);color=mix(v_color,v_roof_color,z);\n#else\ncolor=v_color;\n#endif\n#ifdef FAUX_AO\nfloat intensity=u_ao[0];float h=max(0.0,v_ao.z);float h_floors=h/u_ao[1];float y_shade=1.0-0.9*intensity*min(v_ao.y,1.0);float shade=(1.0-0.08*intensity)*(y_shade+(1.0-y_shade)*(1.0-pow(1.0-min(h_floors/16.0,1.0),16.0)))+0.08*intensity*min(h_floors/160.0,1.0);float concave=v_ao.x*v_ao.x;\n#ifdef ZERO_ROOF_RADIUS\nconcave*=(1.0-z);\n#endif\nfloat x_shade=mix(1.0,mix(0.6,0.75,min(h_floors/30.0,1.0)),intensity)+0.1*intensity*min(h,1.0);shade*=mix(1.0,x_shade*x_shade*x_shade,concave);color.rgb=color.rgb*shade;\n#endif\n#ifdef RENDER_SHADOWS\n#ifdef ZERO_ROOF_RADIUS\nnormal=mix(normal,vec3(0.0,0.0,1.0),z);\n#endif\ncolor.xyz=shadowed_color_normal(color.xyz,normalize(normal),v_pos_light_view_0,v_pos_light_view_1,v_depth);\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#endif\ngl_FragColor=color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform float u_edge_radius;attribute vec4 a_pos_normal_ed;attribute vec2 a_centroid_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;uniform float u_height_lift;\n#endif\nvarying vec4 v_color;\n#ifdef RENDER_SHADOWS\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;varying highp vec4 v_pos_light_view_0;varying highp vec4 v_pos_light_view_1;varying float v_depth;\n#endif\n#ifdef ZERO_ROOF_RADIUS\nvarying vec4 v_roof_color;\n#endif\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\nvarying highp vec3 v_normal;\n#endif\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;varying vec3 v_ao;\n#endif\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec4 pos_nx=floor(a_pos_normal_ed*0.5);vec4 top_up_ny_start=a_pos_normal_ed-2.0*pos_nx;vec3 top_up_ny=top_up_ny_start.xyz;float x_normal=pos_nx.z/8192.0;vec3 normal=top_up_ny.y==1.0 ? vec3(0.0,0.0,1.0) : normalize(vec3(x_normal,(2.0*top_up_ny.z-1.0)*(1.0-abs(x_normal)),0.0));\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\nv_normal=normal;\n#endif\nbase=max(0.0,base);height=max(0.0,top_up_ny.y==0.0 && top_up_ny.x==1.0 ? height-u_edge_radius : height);float t=top_up_ny.x;vec2 centroid_pos=vec2(0.0);\n#if defined(HAS_CENTROID) || defined(TERRAIN)\ncentroid_pos=a_centroid_pos;\n#endif\nfloat ele=0.0;float h=0.0;float c_ele;vec3 pos;\n#ifdef TERRAIN\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;ele=elevation(pos_nx.xy);c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base==0.0 ?-5.0 : base);pos=vec3(pos_nx.xy,h);\n#else\nh=t > 0.0 ? height : base;pos=vec3(pos_nx.xy,h);\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nfloat lift=float((t+base) > 0.0)*u_height_lift;h+=lift;vec3 globe_normal=normalize(mix(a_pos_normal_3/16384.0,u_up_dir,u_zoom_transition));vec3 globe_pos=a_pos_3+globe_normal*(u_tile_up_scale*h);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,pos.xy,u_tile_id,u_merc_center)+u_up_dir*u_tile_up_scale*pos.z;pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#endif\nfloat hidden=float(centroid_pos.x==0.0 && centroid_pos.y==1.0);gl_Position=mix(u_matrix*vec4(pos,1),AWAY,hidden);\n#ifdef RENDER_SHADOWS\nv_pos_light_view_0=u_light_matrix_0*vec4(pos,1);v_pos_light_view_1=u_light_matrix_1*vec4(pos,1);v_depth=gl_Position.w;\n#endif\nfloat NdotL=0.0;float colorvalue=0.0;\n#ifdef LIGHTING_3D_MODE\nNdotL=calculate_NdotL(normal);\n#else\ncolorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;NdotL=clamp(dot(normal,u_lightpos),0.0,1.0);NdotL=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),NdotL);\n#endif\nif (normal.y !=0.0) {float r=0.84;\n#ifndef LIGHTING_3D_MODE\nr=mix(0.7,0.98,1.0-u_lightintensity);\n#endif\nNdotL*=(\n(1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),r,1.0)));}v_color=vec4(0.0,0.0,0.0,1.0);\n#ifdef FAUX_AO\nfloat concave=pos_nx.w-floor(pos_nx.w*0.5)*2.0;float start=top_up_ny_start.w;float y_ground=1.0-clamp(t+base,0.0,1.0);float top_height=height;\n#ifdef TERRAIN\ntop_height=mix(max(c_ele+height,ele+base+2.0),ele+height,float(centroid_pos.x==0.0))-ele;y_ground+=y_ground*5.0/max(3.0,top_height);\n#endif\nv_ao=vec3(mix(concave,-concave,start),y_ground,h-ele);NdotL*=(1.0+0.05*(1.0-top_up_ny.y)*u_ao[0]);\n#ifdef PROJECTION_GLOBE_VIEW\ntop_height+=u_height_lift;\n#endif\ngl_Position.z-=(0.0000006*(min(top_height,500.)+2.0*min(base,500.0)+60.0*concave+3.0*start))*gl_Position.w;\n#endif\n#ifdef LIGHTING_3D_MODE\nv_color=apply_lighting(color,NdotL);\n#else\nv_color.rgb+=clamp(color.rgb*NdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));\n#endif\nv_color*=u_opacity;\n#ifdef ZERO_ROOF_RADIUS\nv_roof_color=vec4(0.0,0.0,0.0,1.0);\n#ifdef LIGHTING_3D_MODE\nv_roof_color=apply_lighting(color,calculate_NdotL(vec3(0.0,0.0,1.0)));\n#else\nfloat roofNdotL=clamp(u_lightpos.z,0.0,1.0);roofNdotL=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),roofNdotL);v_roof_color.rgb+=clamp(color.rgb*roofNdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));\n#endif\nv_roof_color*=u_opacity;\n#endif\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}"),fillExtrusionPattern:ui("uniform vec2 u_texsize;uniform sampler2D u_image;\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;varying vec3 v_ao;\n#endif\n#ifdef LIGHTING_3D_MODE\nvarying float v_NdotL;\n#endif\nvarying vec2 v_pos;varying vec4 v_lighting;uniform lowp float u_opacity;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color,v_NdotL)*u_opacity;\n#else\nout_color=out_color*v_lighting;\n#endif\n#ifdef FAUX_AO\nfloat intensity=u_ao[0];float h=max(0.0,v_ao.z);float h_floors=h/u_ao[1];float y_shade=1.0-0.9*intensity*min(v_ao.y,1.0);float shade=(1.0-0.08*intensity)*(y_shade+(1.0-y_shade)*(1.0-pow(1.0-min(h_floors/16.0,1.0),16.0)))+0.08*intensity*min(h_floors/160.0,1.0);float concave=v_ao.x*v_ao.x;float x_shade=mix(1.0,mix(0.6,0.75,min(h_floors/30.0,1.0)),intensity)+0.1*intensity*min(h,1.0);shade*=mix(1.0,x_shade*x_shade*x_shade,concave);out_color.rgb=out_color.rgb*shade;\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform float u_tile_units_to_pixels;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec4 a_pos_normal_ed;attribute vec2 a_centroid_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;uniform float u_height_lift;\n#endif\nvarying vec2 v_pos;varying vec4 v_lighting;\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;varying vec3 v_ao;\n#endif\n#ifdef LIGHTING_3D_MODE\nvarying float v_NdotL;\n#endif\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec4 pos_nx=floor(a_pos_normal_ed*0.5);mediump vec4 top_up_ny_start=a_pos_normal_ed-2.0*pos_nx;mediump vec3 top_up_ny=top_up_ny_start.xyz;float x_normal=pos_nx.z/8192.0;vec3 normal=top_up_ny.y==1.0 ? vec3(0.0,0.0,1.0) : normalize(vec3(x_normal,(2.0*top_up_ny.z-1.0)*(1.0-abs(x_normal)),0.0));float edgedistance=a_pos_normal_ed.w;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;base=max(0.0,base);height=max(0.0,height);float t=top_up_ny.x;float z=t > 0.0 ? height : base;vec2 centroid_pos=vec2(0.0);\n#if defined(HAS_CENTROID) || defined(TERRAIN)\ncentroid_pos=a_centroid_pos;\n#endif\nfloat ele=0.0;float h=z;vec3 p;float c_ele;\n#ifdef TERRAIN\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;ele=elevation(pos_nx.xy);c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base==0.0 ?-5.0 : base);p=vec3(pos_nx.xy,h);\n#else\np=vec3(pos_nx.xy,z);\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nfloat lift=float((t+base) > 0.0)*u_height_lift;h+=lift;vec3 globe_normal=normalize(mix(a_pos_normal_3/16384.0,u_up_dir,u_zoom_transition));vec3 globe_pos=a_pos_3+globe_normal*(u_tile_up_scale*(p.z+lift));vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,p.xy,u_tile_id,u_merc_center)+u_up_dir*u_tile_up_scale*p.z;p=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#endif\nfloat hidden=float(centroid_pos.x==0.0 && centroid_pos.y==1.0);gl_Position=mix(u_matrix*vec4(p,1),AWAY,hidden);vec2 pos=normal.z==1.0\n? pos_nx.xy\n: vec2(edgedistance,z*u_height_factor);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float NdotL=0.0;\n#ifdef LIGHTING_3D_MODE\nNdotL=calculate_NdotL(normal);\n#else\nNdotL=clamp(dot(normal,u_lightpos),0.0,1.0);NdotL=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),NdotL);\n#endif\nif (normal.y !=0.0) {float r=0.84;\n#ifndef LIGHTING_3D_MODE\nr=mix(0.7,0.98,1.0-u_lightintensity);\n#endif\nNdotL*=(\n(1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),r,1.0)));}\n#ifdef FAUX_AO\nfloat concave=pos_nx.w-floor(pos_nx.w*0.5)*2.0;float start=top_up_ny_start.w;float y_ground=1.0-clamp(t+base,0.0,1.0);float top_height=height;\n#ifdef TERRAIN\ntop_height=mix(max(c_ele+height,ele+base+2.0),ele+height,float(centroid_pos.x==0.0))-ele;y_ground+=y_ground*5.0/max(3.0,top_height);\n#endif\nv_ao=vec3(mix(concave,-concave,start),y_ground,h-ele);NdotL*=(1.0+0.05*(1.0-top_up_ny.y)*u_ao[0]);\n#ifdef PROJECTION_GLOBE_VIEW\ntop_height+=u_height_lift;\n#endif\ngl_Position.z-=(0.0000006*(min(top_height,500.)+2.0*min(base,500.0)+60.0*concave+3.0*start))*gl_Position.w;\n#endif\n#ifdef LIGHTING_3D_MODE\nv_NdotL=NdotL;\n#else\nv_lighting.rgb+=clamp(NdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;\n#endif \n#ifdef FOG\nv_fog_pos=fog_position(p);\n#endif\n}"),hillshadePrepare:ui("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nreturn texture2D(u_image,coord).a/4.0;\n#else\nvec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;\n#endif\n}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y));float b=getElevation(v_pos+vec2(0,-epsilon.y));float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y));float d=getElevation(v_pos+vec2(-epsilon.x,0));float e=getElevation(v_pos+vec2(epsilon.x,0));float f=getElevation(v_pos+vec2(-epsilon.x,epsilon.y));float g=getElevation(v_pos+vec2(0,epsilon.y));float h=getElevation(v_pos+vec2(epsilon.x,epsilon.y));float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2(\n(c+e+e+h)-(a+d+d+f),(f+g+g+h)-(a+b+b+c)\n)/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(\nderiv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:ui("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef LIGHTING_3D_MODE\ngl_FragColor=apply_lighting(gl_FragColor);\n#endif\n#ifdef FOG\ngl_FragColor=fog_dither(fog_apply_premultiplied(gl_FragColor,v_fog_pos));\n#endif\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),line:ui("uniform lowp float u_device_pixel_ratio;uniform float u_alpha_discard_threshold;uniform highp vec2 u_trim_offset;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec4 v_uv;\n#ifdef RENDER_LINE_DASH\nuniform sampler2D u_dash_image;varying vec2 v_tex;\n#endif\n#ifdef RENDER_LINE_GRADIENT\nuniform sampler2D u_gradient_image;\n#endif\nuniform float u_border_width;uniform vec4 u_border_color;float luminance(vec3 c) {return (c.r+c.r+c.b+c.g+c.g+c.g)*0.1667;}\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 dash\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nfloat linearstep(float edge0,float edge1,float x) {return clamp((x-edge0)/(edge1-edge0),0.0,1.0);}void main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize lowp vec4 dash\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);\n#ifdef RENDER_LINE_DASH\nfloat sdfdist=texture2D(u_dash_image,v_tex).a;float sdfgamma=1.0/(2.0*u_device_pixel_ratio)/dash.z;alpha*=linearstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);\n#endif\nhighp vec4 out_color;\n#ifdef RENDER_LINE_GRADIENT\nout_color=texture2D(u_gradient_image,v_uv.xy);\n#else\nout_color=color;\n#endif\nfloat trimmed=1.0;\n#ifdef RENDER_LINE_TRIM_OFFSET\nhighp float start=v_uv[2];highp float end=v_uv[3];highp float trim_start=u_trim_offset[0];highp float trim_end=u_trim_offset[1];highp float line_progress=(start+(v_uv.x)*(end-start));if (trim_end > trim_start) {if (line_progress <=trim_end && line_progress >=trim_start) {out_color=vec4(0,0,0,0);trimmed=0.0;}}\n#endif\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\n#ifdef RENDER_LINE_ALPHA_DISCARD\nif (alpha < u_alpha_discard_threshold) {discard;}\n#endif\n#ifdef RENDER_LINE_BORDER\nfloat edgeBlur=(u_border_width+1.0/u_device_pixel_ratio);float alpha2=clamp(min(dist-(v_width2.t-edgeBlur),v_width2.s-dist)/edgeBlur,0.0,1.0);if (alpha2 < 1.) {float smoothAlpha=smoothstep(0.6,1.0,alpha2);\n#ifdef RENDER_LINE_BORDER_AUTO\nfloat Y=(out_color.a > 0.01) ? luminance(out_color.rgb/out_color.a) : 1.;float adjustment=(Y > 0.) ? 0.5/Y : 0.45;if (out_color.a > 0.25 && Y < 0.25) {vec3 borderColor=(Y > 0.) ? out_color.rgb : vec3(1,1,1)*out_color.a;out_color.rgb=out_color.rgb+borderColor*(adjustment*(1.0-smoothAlpha));} else {out_color.rgb*=(0.6 +0.4*smoothAlpha);}\n#else\nout_color.rgb=mix(u_border_color.rgb*u_border_color.a*trimmed,out_color.rgb,smoothAlpha);\n#endif\n}\n#endif\ngl_FragColor=out_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define EXTRUDE_SCALE 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;\n#if defined(RENDER_LINE_GRADIENT) || defined(RENDER_LINE_TRIM_OFFSET)\nattribute highp vec4 a_packed;\n#endif\n#ifdef RENDER_LINE_DASH\nattribute float a_linesofar;\n#endif\nuniform mat4 u_matrix;uniform mat2 u_pixels_to_tile_units;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec4 v_uv;\n#ifdef RENDER_LINE_DASH\nuniform vec2 u_texsize;uniform float u_tile_units_to_pixels;varying vec2 v_tex;\n#endif\n#ifdef RENDER_LINE_GRADIENT\nuniform float u_image_height;\n#endif\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 dash\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize lowp vec4 dash\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*EXTRUDE_SCALE;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*EXTRUDE_SCALE*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist*u_pixels_to_tile_units,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2*u_pixels_to_tile_units,0.0,1.0)+projected_extrude;\n#ifndef RENDER_TO_TEXTURE\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#else\nv_gamma_scale=1.0;\n#endif\n#if defined(RENDER_LINE_GRADIENT) || defined(RENDER_LINE_TRIM_OFFSET)\nfloat a_uv_x=a_packed[0];float a_split_index=a_packed[1];highp float a_clip_start=a_packed[2];highp float a_clip_end=a_packed[3];\n#ifdef RENDER_LINE_GRADIENT\nhighp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec4(a_uv_x,a_split_index*texel_height-half_texel_height,a_clip_start,a_clip_end);\n#else\nv_uv=vec4(a_uv_x,0.0,a_clip_start,a_clip_end);\n#endif\n#endif\n#ifdef RENDER_LINE_DASH\nfloat scale=dash.z==0.0 ? 0.0 : u_tile_units_to_pixels/dash.z;float height=dash.y;v_tex=vec2(a_linesofar*scale/floorwidth,(-normal.y*height+dash.x+0.5)/u_texsize.y);\n#endif\nv_width2=vec2(outset,inset);\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}"),linePattern:ui("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_tile_units_to_pixels;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;vec2 pattern_size=vec2(display_size.x/u_tile_units_to_pixels,display_size.y);float aspect=display_size.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x=mod(v_linesofar/pattern_size.x*aspect,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos=mix(pattern_tl*texel_size-texel_size,pattern_br*texel_size+texel_size,vec2(x,y));vec4 color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\ncolor=apply_lighting(color);\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#endif\ngl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_linesofar;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mat2 u_pixels_to_tile_units;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist*u_pixels_to_tile_units,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2*u_pixels_to_tile_units,0.0,1.0)+projected_extrude;\n#ifndef RENDER_TO_TEXTURE\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#else\nv_gamma_scale=1.0;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}"),raster:ui("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(\ndot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);vec3 out_color=mix(u_high_vec,u_low_vec,rgb);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply(out_color,v_fog_pos));\n#endif\ngl_FragColor=vec4(out_color*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform vec2 u_perspective_transform;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {float w=1.0+dot(a_texture_pos,u_perspective_transform);gl_Position=u_matrix*vec4(a_pos*w,0,w);v_pos0=a_texture_pos/8192.0;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),symbolIcon:ui("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_pixeloffset;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform vec3 u_up_vector;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nvarying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_min_font_scale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float font_scale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjected_point;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 displacement=vec3(a_globe_normal.z,0,-a_globe_normal.x);offsetProjected_point=u_matrix*vec4(a_globe_anchor+displacement,1);\n#else\noffsetProjected_point=u_matrix*vec4(tile_anchor+vec2(1,0),0,1);\n#endif\nvec2 a=projected_point.xy/projected_point.w;vec2 b=offsetProjected_point.xy/offsetProjected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*max(a_min_font_scale,font_scale)+a_pxoffset/16.0);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#endif\nfloat projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nv_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change))*projection_transition_fade;}"),symbolSDF:ui("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_pixeloffset;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec3 u_up_vector;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nvarying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetprojected_point;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 displacement=vec3(a_globe_normal.z,0,-a_globe_normal.x);offsetprojected_point=u_matrix*vec4(a_globe_anchor+displacement,1);\n#else\noffsetprojected_point=u_matrix*vec4(tile_anchor+vec2(1,0),0,1);\n#endif\nvec2 a=projected_point.xy/projected_point.w;vec2 b=offsetprojected_point.xy/offsetprojected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#endif\nfloat gamma_scale=gl_Position.w;float projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nvec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity*projection_transition_fade);}"),symbolTextAndIcon:ui("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec3 u_up_vector;uniform vec2 u_texsize_icon;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nvarying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float font_scale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offset_projected_point=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projected_point.xy/projected_point.w;vec2 b=offset_projected_point.xy/offset_projected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*font_scale);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#endif\nfloat gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change));float projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nv_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity*projection_transition_fade,is_sdf);}"),terrainRaster:ui("uniform sampler2D u_image0;varying vec2 v_pos0;\n#ifdef FOG\nvarying float v_fog_opacity;\n#endif\n#ifdef RENDER_SHADOWS\nvarying vec4 v_pos_light_view_0;varying vec4 v_pos_light_view_1;varying float v_depth;\n#endif\nvoid main() {vec4 color=texture2D(u_image0,v_pos0);\n#ifdef RENDER_SHADOWS\ncolor.xyz=shadowed_color(color.xyz,v_pos_light_view_0,v_pos_light_view_1,v_depth);\n#endif\n#ifdef FOG\n#ifdef ZERO_EXAGGERATION\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#else\ncolor=fog_dither(fog_apply_from_vert(color,v_fog_opacity));\n#endif\n#endif\ngl_FragColor=color;\n#ifdef TERRAIN_WIREFRAME\ngl_FragColor=vec4(1.0,0.0,0.0,0.8);\n#endif\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_skirt_height;attribute vec2 a_pos;varying vec2 v_pos0;\n#ifdef FOG\nvarying float v_fog_opacity;\n#endif\n#ifdef RENDER_SHADOWS\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;varying vec4 v_pos_light_view_0;varying vec4 v_pos_light_view_1;varying float v_depth;\n#endif\nconst float wireframeOffset=0.00015;void main() {vec3 decomposedPosAndSkirt=decomposeToPosAndSkirt(a_pos);float skirt=decomposedPosAndSkirt.z;vec2 decodedPos=decomposedPosAndSkirt.xy;float elevation=elevation(decodedPos)-skirt*u_skirt_height;\n#ifdef TERRAIN_WIREFRAME\nelevation+=wireframeOffset;\n#endif\nv_pos0=decodedPos/8192.0;gl_Position=u_matrix*vec4(decodedPos,elevation,1.0);\n#ifdef FOG\n#ifdef ZERO_EXAGGERATION\nv_fog_pos=fog_position(decodedPos);\n#else\nv_fog_opacity=fog(fog_position(vec3(decodedPos,elevation)));\n#endif\n#endif\n#ifdef RENDER_SHADOWS\nvec3 pos=vec3(decodedPos,elevation);v_pos_light_view_0=u_light_matrix_0*vec4(pos,1.);v_pos_light_view_1=u_light_matrix_1*vec4(pos,1.);v_depth=gl_Position.w;\n#endif\n}"),terrainDepth:ui("#ifdef GL_ES\nprecision highp float;\n#endif\nvarying float v_depth;void main() {gl_FragColor=pack_depth(v_depth);}","uniform mat4 u_matrix;attribute vec2 a_pos;varying float v_depth;void main() {float elevation=elevation(a_pos);gl_Position=u_matrix*vec4(a_pos,elevation,1.0);v_depth=gl_Position.z/gl_Position.w;}"),skybox:ui("\nvarying lowp vec3 v_uv;uniform lowp samplerCube u_cubemap;uniform lowp float u_opacity;uniform highp float u_temporal_offset;uniform highp vec3 u_sun_direction;float sun_disk(highp vec3 ray_direction,highp vec3 sun_direction) {highp float cos_angle=dot(normalize(ray_direction),sun_direction);const highp float cos_sun_angular_diameter=0.99996192306;const highp float smoothstep_delta=1e-5;return smoothstep(\ncos_sun_angular_diameter-smoothstep_delta,cos_sun_angular_diameter+smoothstep_delta,cos_angle);}float map(float value,float start,float end,float new_start,float new_end) {return ((value-start)*(new_end-new_start))/(end-start)+new_start;}void main() {vec3 uv=v_uv;const float y_bias=0.015;uv.y+=y_bias;uv.y=pow(abs(uv.y),1.0/5.0);uv.y=map(uv.y,0.0,1.0,-1.0,1.0);vec3 sky_color=textureCube(u_cubemap,uv).rgb;\n#ifdef FOG\nsky_color=fog_apply_sky_gradient(v_uv.xzy,sky_color);\n#endif\nsky_color.rgb=dither(sky_color.rgb,gl_FragCoord.xy+u_temporal_offset);sky_color+=0.1*sun_disk(v_uv,u_sun_direction);gl_FragColor=vec4(sky_color*u_opacity,u_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",Qt),skyboxGradient:ui("varying highp vec3 v_uv;uniform lowp sampler2D u_color_ramp;uniform highp vec3 u_center_direction;uniform lowp float u_radius;uniform lowp float u_opacity;uniform highp float u_temporal_offset;void main() {float progress=acos(dot(normalize(v_uv),u_center_direction))/u_radius;vec4 color=texture2D(u_color_ramp,vec2(progress,0.5));\n#ifdef FOG\ncolor.rgb=fog_apply_sky_gradient(v_uv.xzy,color.rgb/color.a)*color.a;\n#endif\ncolor*=u_opacity;color.rgb=dither(color.rgb,gl_FragCoord.xy+u_temporal_offset);gl_FragColor=color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",Qt),skyboxCapture:ui("\nvarying highp vec3 v_position;uniform highp float u_sun_intensity;uniform highp float u_luminance;uniform lowp vec3 u_sun_direction;uniform highp vec4 u_color_tint_r;uniform highp vec4 u_color_tint_m;\n#ifdef GL_ES\nprecision highp float;\n#endif\n#define BETA_R vec3(5.5e-6,13.0e-6,22.4e-6)\n#define BETA_M vec3(21e-6,21e-6,21e-6)\n#define MIE_G 0.76\n#define DENSITY_HEIGHT_SCALE_R 8000.0\n#define DENSITY_HEIGHT_SCALE_M 1200.0\n#define PLANET_RADIUS 6360e3\n#define ATMOSPHERE_RADIUS 6420e3\n#define SAMPLE_STEPS 10\n#define DENSITY_STEPS 4\nfloat ray_sphere_exit(vec3 orig,vec3 dir,float radius) {float a=dot(dir,dir);float b=2.0*dot(dir,orig);float c=dot(orig,orig)-radius*radius;float d=sqrt(b*b-4.0*a*c);return (-b+d)/(2.0*a);}vec3 extinction(vec2 density) {return exp(-vec3(BETA_R*u_color_tint_r.a*density.x+BETA_M*u_color_tint_m.a*density.y));}vec2 local_density(vec3 point) {float height=max(length(point)-PLANET_RADIUS,0.0);float exp_r=exp(-height/DENSITY_HEIGHT_SCALE_R);float exp_m=exp(-height/DENSITY_HEIGHT_SCALE_M);return vec2(exp_r,exp_m);}float phase_ray(float cos_angle) {return (3.0/(16.0*PI))*(1.0+cos_angle*cos_angle);}float phase_mie(float cos_angle) {return (3.0/(8.0*PI))*((1.0-MIE_G*MIE_G)*(1.0+cos_angle*cos_angle))/((2.0+MIE_G*MIE_G)*pow(1.0+MIE_G*MIE_G-2.0*MIE_G*cos_angle,1.5));}vec2 density_to_atmosphere(vec3 point,vec3 light_dir) {float ray_len=ray_sphere_exit(point,light_dir,ATMOSPHERE_RADIUS);float step_len=ray_len/float(DENSITY_STEPS);vec2 density_point_to_atmosphere=vec2(0.0);for (int i=0; i < DENSITY_STEPS;++i) {vec3 point_on_ray=point+light_dir*((float(i)+0.5)*step_len);density_point_to_atmosphere+=local_density(point_on_ray)*step_len;;}return density_point_to_atmosphere;}vec3 atmosphere(vec3 ray_dir,vec3 sun_direction,float sun_intensity) {vec2 density_orig_to_point=vec2(0.0);vec3 scatter_r=vec3(0.0);vec3 scatter_m=vec3(0.0);vec3 origin=vec3(0.0,PLANET_RADIUS,0.0);float ray_len=ray_sphere_exit(origin,ray_dir,ATMOSPHERE_RADIUS);float step_len=ray_len/float(SAMPLE_STEPS);for (int i=0; i < SAMPLE_STEPS;++i) {vec3 point_on_ray=origin+ray_dir*((float(i)+0.5)*step_len);vec2 density=local_density(point_on_ray)*step_len;density_orig_to_point+=density;vec2 density_point_to_atmosphere=density_to_atmosphere(point_on_ray,sun_direction);vec2 density_orig_to_atmosphere=density_orig_to_point+density_point_to_atmosphere;vec3 extinction=extinction(density_orig_to_atmosphere);scatter_r+=density.x*extinction;scatter_m+=density.y*extinction;}float cos_angle=dot(ray_dir,sun_direction);float phase_r=phase_ray(cos_angle);float phase_m=phase_mie(cos_angle);vec3 beta_r=BETA_R*u_color_tint_r.rgb*u_color_tint_r.a;vec3 beta_m=BETA_M*u_color_tint_m.rgb*u_color_tint_m.a;return (scatter_r*phase_r*beta_r+scatter_m*phase_m*beta_m)*sun_intensity;}const float A=0.15;const float B=0.50;const float C=0.10;const float D=0.20;const float E=0.02;const float F=0.30;vec3 uncharted2_tonemap(vec3 x) {return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;}void main() {vec3 ray_direction=v_position;ray_direction.y=pow(ray_direction.y,5.0);const float y_bias=0.015;ray_direction.y+=y_bias;vec3 color=atmosphere(normalize(ray_direction),u_sun_direction,u_sun_intensity);float white_scale=1.0748724675633854;color=uncharted2_tonemap((log2(2.0/pow(u_luminance,4.0)))*color)*white_scale;gl_FragColor=vec4(color,1.0);}","attribute highp vec3 a_pos_3f;uniform mat3 u_matrix_3f;varying highp vec3 v_position;float map(float value,float start,float end,float new_start,float new_end) {return ((value-start)*(new_end-new_start))/(end-start)+new_start;}void main() {vec4 pos=vec4(u_matrix_3f*a_pos_3f,1.0);v_position=pos.xyz;v_position.y*=-1.0;v_position.y=map(v_position.y,-1.0,1.0,0.0,1.0);gl_Position=vec4(a_pos_3f.xy,0.0,1.0);}"),globeRaster:ui("uniform sampler2D u_image0;varying vec2 v_pos0;\n#ifndef FOG\nuniform highp vec3 u_frustum_tl;uniform highp vec3 u_frustum_tr;uniform highp vec3 u_frustum_br;uniform highp vec3 u_frustum_bl;uniform highp vec3 u_globe_pos;uniform highp float u_globe_radius;uniform vec2 u_viewport;\n#endif\nvoid main() {vec4 color;\n#ifdef CUSTOM_ANTIALIASING\nvec2 uv=gl_FragCoord.xy/u_viewport;highp vec3 ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,uv.x),mix(u_frustum_bl,u_frustum_br,uv.x),1.0-uv.y);vec3 dir=normalize(ray_dir);vec3 closest_point=dot(u_globe_pos,dir)*dir;float norm_dist_from_center=1.0-length(closest_point-u_globe_pos)/u_globe_radius;const float antialias_pixel=2.0;float antialias_factor=antialias_pixel*fwidth(norm_dist_from_center);float antialias=smoothstep(0.0,antialias_factor,norm_dist_from_center);vec4 raster=texture2D(u_image0,v_pos0);color=vec4(raster.rgb*antialias,raster.a*antialias);\n#else\ncolor=texture2D(u_image0,v_pos0);\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#endif\ngl_FragColor=color;\n#ifdef TERRAIN_WIREFRAME\ngl_FragColor=vec4(1.0,0.0,0.0,0.8);\n#endif\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_proj_matrix;uniform mat4 u_normalize_matrix;uniform mat4 u_globe_matrix;uniform mat4 u_merc_matrix;uniform float u_zoom_transition;uniform vec2 u_merc_center;uniform mat3 u_grid_matrix;uniform float u_skirt_height;\n#ifdef GLOBE_POLES\nattribute vec3 a_globe_pos;attribute vec2 a_uv;\n#else\nattribute vec2 a_pos;\n#endif\nvarying vec2 v_pos0;const float wireframeOffset=1e3;float mercatorXfromLng(float lng) {return (180.0+lng)/360.0;}float mercatorYfromLat(float lat) {return (180.0-(RAD_TO_DEG*log(tan(QUARTER_PI+lat/2.0*DEG_TO_RAD))))/360.0;}vec3 latLngToECEF(vec2 latLng) {latLng=DEG_TO_RAD*latLng;float cosLat=cos(latLng[0]);float sinLat=sin(latLng[0]);float cosLng=cos(latLng[1]);float sinLng=sin(latLng[1]);float sx=cosLat*sinLng*GLOBE_RADIUS;float sy=-sinLat*GLOBE_RADIUS;float sz=cosLat*cosLng*GLOBE_RADIUS;return vec3(sx,sy,sz);}void main() {\n#ifdef GLOBE_POLES\nvec3 globe_pos=a_globe_pos;vec2 uv=a_uv;\n#else\nfloat tiles=u_grid_matrix[0][2];float idx=u_grid_matrix[1][2];float idy=u_grid_matrix[2][2];vec3 decomposed_pos_and_skirt=decomposeToPosAndSkirt(a_pos);vec3 latLng=u_grid_matrix*vec3(decomposed_pos_and_skirt.xy,1.0);float mercatorY=mercatorYfromLat(latLng[0]);float uvY=mercatorY*tiles-idy;float mercatorX=mercatorXfromLng(latLng[1]);float uvX=mercatorX*tiles-idx;vec3 globe_pos=latLngToECEF(latLng.xy);vec2 merc_pos=vec2(mercatorX,mercatorY);vec2 uv=vec2(uvX,uvY);\n#endif\nv_pos0=uv;vec2 tile_pos=uv*EXTENT;vec3 globe_derived_up_vector=normalize(globe_pos)*u_tile_up_scale;\n#ifdef GLOBE_POLES\nvec3 up_vector=globe_derived_up_vector;\n#else\nvec3 up_vector=elevationVector(tile_pos);\n#endif\nfloat height=elevation(tile_pos);\n#ifdef TERRAIN_WIREFRAME\nheight+=wireframeOffset;\n#endif\nglobe_pos+=up_vector*height;\n#ifndef GLOBE_POLES\nglobe_pos-=globe_derived_up_vector*u_skirt_height*decomposed_pos_and_skirt.z;\n#endif\n#ifdef GLOBE_POLES\nvec4 interpolated_pos=u_globe_matrix*vec4(globe_pos,1.0);\n#else\nvec4 globe_world_pos=u_globe_matrix*vec4(globe_pos,1.0);vec4 merc_world_pos=vec4(0.0);if (u_zoom_transition > 0.0) {merc_world_pos=vec4(merc_pos,height-u_skirt_height*decomposed_pos_and_skirt.z,1.0);merc_world_pos.xy-=u_merc_center;merc_world_pos.x=wrap(merc_world_pos.x,-0.5,0.5);merc_world_pos=u_merc_matrix*merc_world_pos;}vec4 interpolated_pos=vec4(mix(globe_world_pos.xyz,merc_world_pos.xyz,u_zoom_transition),1.0);\n#endif\ngl_Position=u_proj_matrix*interpolated_pos;\n#ifdef FOG\nv_fog_pos=fog_position((u_normalize_matrix*vec4(globe_pos,1.0)).xyz);\n#endif\n}"),globeAtmosphere:ui("uniform float u_transition;uniform highp float u_fadeout_range;uniform highp float u_temporal_offset;uniform vec3 u_start_color;uniform vec4 u_color;uniform vec4 u_space_color;uniform vec4 u_high_color;uniform float u_star_intensity;uniform float u_star_size;uniform float u_star_density;uniform float u_horizon_angle;uniform mat4 u_rotation_matrix;varying highp vec3 v_ray_dir;varying highp vec3 v_horizon_dir;highp float random(highp vec3 p) {p=fract(p*vec3(23.2342,97.1231,91.2342));p+=dot(p.zxy,p.yxz+123.1234);return fract(p.x*p.y);}float stars(vec3 p,float scale,vec2 offset) {vec2 uv_scale=(u_viewport/u_star_size)*scale;vec3 position=vec3(p.xy*uv_scale+offset*u_viewport,p.z);vec3 q=fract(position)-0.5;vec3 id=floor(position);float random_visibility=step(random(id),u_star_density);float circle=smoothstep(0.5+u_star_intensity,0.5,length(q));return circle*random_visibility;}void main() {highp vec3 dir=normalize(v_ray_dir);float globe_pos_dot_dir;\n#ifdef PROJECTION_GLOBE_VIEW\nglobe_pos_dot_dir=dot(u_globe_pos,dir);highp vec3 closest_point_forward=abs(globe_pos_dot_dir)*dir;float norm_dist_from_center=length(closest_point_forward-u_globe_pos)/u_globe_radius;if (norm_dist_from_center < 0.98) {discard;return;}\n#endif\nhighp vec3 horizon_dir=normalize(v_horizon_dir);float horizon_angle_mercator=dir.y < horizon_dir.y ?\n0.0 : max(acos(dot(dir,horizon_dir)),0.0);float horizon_angle;\n#ifdef PROJECTION_GLOBE_VIEW\nhighp vec3 closest_point=globe_pos_dot_dir*dir;float closest_point_to_center=length(closest_point-u_globe_pos);float theta=asin(clamp(closest_point_to_center/length(u_globe_pos),-1.0,1.0));horizon_angle=globe_pos_dot_dir < 0.0 ?\nPI-theta-u_horizon_angle : theta-u_horizon_angle;float angle_t=pow(u_transition,10.0);horizon_angle=mix(horizon_angle,horizon_angle_mercator,angle_t);\n#else\nhorizon_angle=horizon_angle_mercator;\n#endif\nhorizon_angle/=PI;float t=exp(-horizon_angle/u_fadeout_range);float alpha_0=u_color.a;float alpha_1=u_high_color.a;float alpha_2=u_space_color.a;vec3 color_stop_0=u_color.rgb;vec3 color_stop_1=u_high_color.rgb;vec3 color_stop_2=u_space_color.rgb;vec3 c0=mix(color_stop_2,color_stop_1,alpha_1);vec3 c1=mix(c0,color_stop_0,alpha_0);vec3 c2=mix(c0,c1,t);vec3 c =mix(color_stop_2,c2,t);float a0=mix(alpha_2,1.0,alpha_1);float a1=mix(a0,1.0,alpha_0);float a2=mix(a0,a1,t);float a =mix(alpha_2,a2,t);vec2 uv=gl_FragCoord.xy/u_viewport-0.5;float aspect_ratio=u_viewport.x/u_viewport.y;vec4 uv_dir=vec4(normalize(vec3(uv.x*aspect_ratio,uv.y,1.0)),1.0);uv_dir=u_rotation_matrix*uv_dir;vec3 n=abs(uv_dir.xyz);vec2 uv_remap=(n.x > n.y && n.x > n.z) ? uv_dir.yz/uv_dir.x:\n(n.y > n.x && n.y > n.z) ? uv_dir.zx/uv_dir.y:\nuv_dir.xy/uv_dir.z;uv_remap.x/=aspect_ratio;vec3 D=vec3(uv_remap,1.0);highp float star_field=0.0;if (u_star_intensity > 0.0) {star_field+=stars(D,1.2,vec2(0.0,0.0));star_field+=stars(D,1.0,vec2(1.0,0.0));star_field+=stars(D,0.8,vec2(0.0,1.0));star_field+=stars(D,0.6,vec2(1.0,1.0));star_field*=(1.0-pow(t,0.25+(1.0-u_high_color.a)*0.75));c+=star_field*alpha_2;}c=dither(c,gl_FragCoord.xy+u_temporal_offset);gl_FragColor=vec4(c,a);}","attribute vec3 a_pos;attribute vec2 a_uv;uniform vec3 u_frustum_tl;uniform vec3 u_frustum_tr;uniform vec3 u_frustum_br;uniform vec3 u_frustum_bl;uniform float u_horizon;varying highp vec3 v_ray_dir;varying highp vec3 v_horizon_dir;void main() {v_ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,a_uv.x),mix(u_frustum_bl,u_frustum_br,a_uv.x),a_uv.y);v_horizon_dir=mix(\nmix(u_frustum_tl,u_frustum_bl,u_horizon),mix(u_frustum_tr,u_frustum_br,u_horizon),a_uv.x);gl_Position=vec4(a_pos,1.0);}")};function hi(e,t){const i=e.replace(/\s*\/\/[^\n]*\n/g,"\n").split("\n");for(let e of i)if(e=e.trim(),"#"===e[0]&&e.includes("if")&&!e.includes("endif")){e=e.replace("#","").replace(/ifdef|ifndef|elif|if/g,"").replace(/!|defined|\(|\)|\|\||&&/g,"").replace(/\s+/g," ").trim();const i=e.split(" ");for(const e of i)t.includes(e)||t.push(e);}}function ui(e,t){const i=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,o=t.match(/attribute (highp |mediump |lowp )?([\w]+) ([\w]+)/g),r={},n=[...ni];return hi(e,n),hi(t,n),{fragmentSource:e=e.replace(i,((e,t,i,o,n)=>(r[n]=!0,"define"===t?`\n#ifndef HAS_UNIFORM_u_${n}\nvarying ${i} ${o} ${n};\n#else\nuniform ${i} ${o} u_${n};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${n}\n ${i} ${o} ${n} = u_${n};\n#endif\n`))),vertexSource:t=t.replace(i,((e,t,i,o,n)=>{const s="float"===o?"vec2":"vec4",a=n.match(/color/)?"color":s;return r[n]?"define"===t?`\n#ifndef HAS_UNIFORM_u_${n}\nuniform lowp float u_${n}_t;\nattribute ${i} ${s} a_${n};\nvarying ${i} ${o} ${n};\n#else\nuniform ${i} ${o} u_${n};\n#endif\n`:"vec4"===a?`\n#ifndef HAS_UNIFORM_u_${n}\n ${n} = a_${n};\n#else\n ${i} ${o} ${n} = u_${n};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${n}\n ${n} = unpack_mix_${a}(a_${n}, u_${n}_t);\n#else\n ${i} ${o} ${n} = u_${n};\n#endif\n`:"define"===t?`\n#ifndef HAS_UNIFORM_u_${n}\nuniform lowp float u_${n}_t;\nattribute ${i} ${s} a_${n};\n#else\nuniform ${i} ${o} u_${n};\n#endif\n`:"vec4"===a?`\n#ifndef HAS_UNIFORM_u_${n}\n ${i} ${o} ${n} = a_${n};\n#else\n ${i} ${o} ${n} = u_${n};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${n}\n ${i} ${o} ${n} = unpack_mix_${a}(a_${n}, u_${n}_t);\n#else\n ${i} ${o} ${n} = u_${n};\n#endif\n`})),staticAttributes:o,usedDefines:n}}class _i{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffers=[],this.vao=null;}bind(e,t,i,o,r,n,s){this.context=e;let a=this.boundPaintVertexBuffers.length!==o.length;for(let e=0;!a&&e{const r=i.paint.get("hillshade-shadow-color"),n=i.paint.get("hillshade-highlight-color"),s=i.paint.get("hillshade-accent-color");let a=i.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===i.paint.get("hillshade-illumination-anchor")&&(a-=e.transform.angle);const l=!e.options.moving;return {u_matrix:o||e.transform.calculateProjMatrix(t.tileID.toUnwrapped(),l),u_image:0,u_latrange:di(0,t.tileID),u_light:[i.paint.get("hillshade-exaggeration"),a],u_shadow:r,u_highlight:n,u_accent:s}})(t,o,r,t.terrain?i.projMatrix:null);t.prepareDrawProgram(l,u,i.toUnwrapped());const{tileBoundsBuffer:d,tileBoundsIndexBuffer:p,tileBoundsSegments:m}=t.getTileBoundsBuffers(o);u.draw(l,c.TRIANGLES,n,s,a,e.CullFaceMode.disabled,_,r.id,d,p,m);}function mi(t,i,o){if(!i.needsDEMTextureUpload)return;const r=t.context,n=r.gl;r.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||t.getTileTexture(o.stride);const s=o.getPixels();i.demTexture?i.demTexture.update(s,{premultiply:!1}):i.demTexture=new e.Texture(r,s,n.RGBA,{premultiply:!1}),i.needsDEMTextureUpload=!1;}function fi(t,i,o,r,n,s){const a=t.context,l=a.gl;if(!i.dem)return;const c=i.dem;if(a.activeTexture.set(l.TEXTURE1),mi(t,i,c),!i.demTexture)return;i.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);const h=c.dim;a.activeTexture.set(l.TEXTURE0);let u=i.fbo;if(!u){const t=new e.Texture(a,{width:h,height:h,data:null},l.RGBA);t.bind(l.LINEAR,l.CLAMP_TO_EDGE),u=i.fbo=a.createFramebuffer(h,h,!0),u.colorAttachment.set(t.texture);}a.bindFramebuffer.set(u.framebuffer),a.viewport.set([0,0,h,h]);const{tileBoundsBuffer:_,tileBoundsIndexBuffer:d,tileBoundsSegments:p}=t.getMercatorTileBoundsBuffers();t.useProgram("hillshadePrepare").draw(a,l.TRIANGLES,r,n,s,e.CullFaceMode.disabled,((t,i)=>{const o=i.stride,r=e.create();return e.ortho(r,0,e.EXTENT,-e.EXTENT,0,0,1),e.translate(r,r,[0,-e.EXTENT,0]),{u_matrix:r,u_image:1,u_dimension:[o,o],u_zoom:t.overscaledZ,u_unpack:i.unpackVector}})(i.tileID,c),o.id,_,d,p),i.needsHillshadePrepare=!1;}const gi=t=>({u_matrix:new e.UniformMatrix4f(t),u_image0:new e.Uniform1i(t),u_skirt_height:new e.Uniform1f(t)}),vi=(e,t)=>({u_matrix:e,u_image0:0,u_skirt_height:t}),xi=(e,t,i,o,r,n,s,a,l,c,h,u,_,d,p)=>({u_proj_matrix:Float32Array.from(e),u_globe_matrix:t,u_normalize_matrix:Float32Array.from(o),u_merc_matrix:i,u_zoom_transition:r,u_merc_center:n,u_image0:0,u_frustum_tl:s,u_frustum_tr:a,u_frustum_br:l,u_frustum_bl:c,u_globe_pos:h,u_globe_radius:u,u_viewport:_,u_grid_matrix:p?Float32Array.from(p):new Float32Array(9),u_skirt_height:d});function yi(e,t){return null!=e&&null!=t&&!(!e.hasData()||!t.hasData())&&null!=e.demTexture&&null!=t.demTexture&&e.tileID.key!==t.tileID.key}const bi=new class{constructor(){this.operations={};}newMorphing(e,t,i,o,r){if(e in this.operations){const t=this.operations[e];t.to.tileID.key!==i.tileID.key&&(t.queued=i);}else this.operations[e]={startTime:o,phase:0,duration:r,from:t,to:i,queued:null};}getMorphValuesForProxy(e){if(!(e in this.operations))return null;const t=this.operations[e];return {from:t.from,to:t.to,phase:t.phase}}update(e){for(const t in this.operations){const i=this.operations[t];for(i.phase=(e-i.startTime)/i.duration;i.phase>=1||!this._validOp(i);)if(!this._nextOp(i,e)){delete this.operations[t];break}}}_nextOp(e,t){return !!e.queued&&(e.from=e.to,e.to=e.queued,e.queued=null,e.phase=0,e.startTime=t,!0)}_validOp(e){return e.from.hasData()&&e.to.hasData()}},wi={0:null,1:"TERRAIN_VERTEX_MORPHING",2:"TERRAIN_WIREFRAME"};function Ti(e){return 6*Math.pow(1.5,22-e)}function Ei(e,t){const i=1<({u_matrix:e});function Mi(t,i,o,r,n){if(n>0){const s=e.exported.now(),a=(s-t.timeAdded)/n,l=i?(s-i.timeAdded)/n:-1,c=o.getSource(),h=r.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),u=!i||Math.abs(i.tileID.overscaledZ-h)>Math.abs(t.tileID.overscaledZ-h),_=u&&t.refreshedUponExpiration?1:e.clamp(u?a:1-l,0,1);return t.refreshedUponExpiration&&a>=1&&(t.refreshedUponExpiration=!1),i?{opacity:1,mix:1-_}:{opacity:_,mix:0}}return {opacity:1,mix:0}}class Ii extends e.SourceCache{constructor(e){const t={type:"raster-dem",maxzoom:e.transform.maxZoom},i=new S(Ue(),null),o=De("mock-dem",t,i,e.style);super("mock-dem",o,!1),o.setEventedParent(this),this._sourceLoaded=!0;}_loadTile(e,t){e.state="loaded",t(null);}}class Pi extends e.SourceCache{constructor(e){const t=De("proxy",{type:"geojson",maxzoom:e.transform.maxZoom},new S(Ue(),null),e.style);super("proxy",t,!1),t.setEventedParent(this),this.map=this.getSource().map=e,this.used=this._sourceLoaded=!0,this.renderCache=[],this.renderCachePool=[],this.proxyCachedFBO={};}update(t,i,o){if(t.freezeTileCoverage)return;this.transform=t;const r=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}).reduce(((i,o)=>{if(i[o.key]="",!this._tiles[o.key]){const i=new e.Tile(o,this._source.tileSize*o.overscaleFactor(),t.tileZoom);i.state="loaded",this._tiles[o.key]=i;}return i}),{});for(const e in this._tiles)e in r||(this.freeFBO(e),this._tiles[e].unloadVectorData(),delete this._tiles[e]);}freeFBO(e){const t=this.proxyCachedFBO[e];if(void 0!==t){const i=Object.values(t);this.renderCachePool.push(...i),delete this.proxyCachedFBO[e];}}deallocRenderCache(){this.renderCache.forEach((e=>e.fb.destroy())),this.renderCache=[],this.renderCachePool=[],this.proxyCachedFBO={};}}class Si extends e.OverscaledTileID{constructor(e,t,i){super(e.overscaledZ,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y),this.proxyTileKey=t,this.projMatrix=i;}}class Di extends e.Elevation{constructor(t,i){super(),this.painter=t,this.terrainTileForTile={},this.prevTerrainTileForTile={};const[o,r,n]=function(t){const i=new e.StructArrayLayout2i4,o=new e.StructArrayLayout3ui6,r=131;i.reserve(17161),o.reserve(33800);const n=e.EXTENT/128,s=e.EXTENT+n/2,a=s+n;for(let t=-n;ts||t<0||t>s?24575:0,n=e.clamp(Math.round(o),0,e.EXTENT),a=e.clamp(Math.round(t),0,e.EXTENT);i.emplaceBack(n+r,a);}const l=(e,t)=>{const i=t*r+e;o.emplaceBack(i+1,i,i+r),o.emplaceBack(i+r,i+r+1,i+1);};for(let e=1;e<129;e++)for(let t=1;t<129;t++)l(t,e);return [0,129].forEach((e=>{for(let t=0;t<130;t++)l(t,e),l(e,t);})),[i,o,32768]}(),s=t.context;this.gridBuffer=s.createVertexBuffer(o,e.posAttributes.members),this.gridIndexBuffer=s.createIndexBuffer(r),this.gridSegments=e.SegmentVector.simpleSegment(0,0,o.length,r.length),this.gridNoSkirtSegments=e.SegmentVector.simpleSegment(0,0,o.length,n),this.proxyCoords=[],this.proxiedCoords={},this._visibleDemTiles=[],this._drapedRenderBatches=[],this._sourceTilesOverlap={},this.proxySourceCache=new Pi(i.map),this.orthoMatrix=e.create(),e.ortho(this.orthoMatrix,"globe"===this.painter.transform.projection.name?.015:0,e.EXTENT,0,e.EXTENT,0,1);const a=s.gl;this._overlapStencilMode=new e.StencilMode({func:a.GEQUAL,mask:255},0,255,a.KEEP,a.KEEP,a.REPLACE),this._previousZoom=t.transform.zoom,this.pool=[],this._findCoveringTileCache={},this._tilesDirty={},this.style=i,this._useVertexMorphing=!0,this._exaggeration=1,this._mockSourceCache=new Ii(i.map);}set style(e){e.on("data",this._onStyleDataEvent.bind(this)),e.on("neworder",this._checkRenderCacheEfficiency.bind(this)),this._style=e,this._checkRenderCacheEfficiency(),this._style.map.on("moveend",(()=>{this._clearLineLayersFromRenderCache();}));}update(t,i,o){if(t&&t.terrain){this._style!==t&&(this.style=t),this.enabled=!0;const r=t.terrain.properties;this.sourceCache=0===t.terrain.drapeRenderMode?this._mockSourceCache:t._getSourceCache(r.get("source")),this._exaggeration=r.get("exaggeration");const n=()=>{this.sourceCache.used&&e.warnOnce(`Raster DEM source '${this.sourceCache.id}' is used both for terrain and as layer source.\nThis leads to lower resolution of hillshade. For full hillshade resolution but higher memory consumption, define another raster DEM source.`);const t=this.getScaledDemTileSize();this.sourceCache.update(i,t,!0),this.resetTileLookupCache(this.sourceCache.id);};this.sourceCache.usedForTerrain||(this.resetTileLookupCache(this.sourceCache.id),this.sourceCache.usedForTerrain=!0,n(),this._initializing=!0),n(),i.updateElevation(!0,o),this.resetTileLookupCache(this.proxySourceCache.id),this.proxySourceCache.update(i),this._emptyDEMTextureDirty=!0;}else this._disable();}resetTileLookupCache(e){this._findCoveringTileCache[e]={};}getScaledDemTileSize(){return this.sourceCache.getSource().tileSize/128*this.proxySourceCache.getSource().tileSize}_checkRenderCacheEfficiency(){const t=this.renderCacheEfficiency(this._style);this._style.map._optimizeForTerrain||100!==t.efficiency&&e.warnOnce(`Terrain render cache efficiency is not optimal (${t.efficiency}%) and performance\n may be affected negatively, consider placing all background, fill and line layers before layer\n with id '${t.firstUndrapedLayer}' or create a map using optimizeForTerrain: true option.`);}_onStyleDataEvent(e){e.coord&&"source"===e.dataType?this._clearRenderCacheForTile(e.sourceCacheId,e.coord):"style"===e.dataType&&(this._invalidateRenderCache=!0);}_disable(){if(this.enabled&&(this.enabled=!1,this._sharedDepthStencil=void 0,this.proxySourceCache.deallocRenderCache(),this._style))for(const e in this._style._sourceCaches)this._style._sourceCaches[e].usedForTerrain=!1;}destroy(){this._disable(),this._emptyDEMTexture&&this._emptyDEMTexture.destroy(),this._emptyDepthBufferTexture&&this._emptyDepthBufferTexture.destroy(),this.pool.forEach((e=>e.fb.destroy())),this.pool=[],this._depthFBO&&(this._depthFBO.destroy(),this._depthFBO=void 0,this._depthTexture=void 0);}_source(){return this.enabled?this.sourceCache:null}isUsingMockSource(){return this.sourceCache===this._mockSourceCache}exaggeration(){return this._exaggeration}get visibleDemTiles(){return this._visibleDemTiles}get drapeBufferSize(){const e=2*this.proxySourceCache.getSource().tileSize;return [e,e]}set useVertexMorphing(e){this._useVertexMorphing=e;}updateTileBinding(t){if(!this.enabled)return;this.prevTerrainTileForTile=this.terrainTileForTile;const i=this.proxySourceCache,o=this.painter.transform;this._initializing&&(this._initializing=0===o._centerAltitude&&-1===this.getAtPointOrZero(e.MercatorCoordinate.fromLngLat(o.center),-1),this._emptyDEMTextureDirty=!this._initializing);const r=this.proxyCoords=i.getIds().map((e=>{const t=i.getTileByID(e).tileID;return t.projMatrix=o.calculateProjMatrix(t.toUnwrapped()),t}));!function(t,i){const o=i.transform.pointCoordinate(i.transform.getCameraPoint()),r=new e.Point(o.x,o.y);t.sort(((t,i)=>{if(i.overscaledZ-t.overscaledZ)return i.overscaledZ-t.overscaledZ;const o=new e.Point(t.canonical.x+(1<{this.proxyToSource[e.key]={};})),this.terrainTileForTile={};const s=this._style._sourceCaches;for(const e in s){const i=s[e];if(!i.used)continue;if(i!==this.sourceCache&&this.resetTileLookupCache(i.id),this._setupProxiedCoordsForOrtho(i,t[e],n),i.usedForTerrain)continue;const o=t[e];i.getSource().reparseOverscaled&&this._assignTerrainTiles(o);}this.proxiedCoords[i.id]=r.map((e=>new Si(e,e.key,this.orthoMatrix))),this._assignTerrainTiles(r),this._prepareDEMTextures(),this._setupDrapedRenderBatches(),this._initFBOPool(),this._setupRenderCache(n),this.renderingToTexture=!1,this._updateTimestamp=e.exported.now();const a={};this._visibleDemTiles=[];for(const e of this.proxyCoords){const t=this.terrainTileForTile[e.key];if(!t)continue;const i=t.tileID.key;i in a||(this._visibleDemTiles.push(t),a[i]=i);}}_assignTerrainTiles(e){this._initializing||e.forEach((e=>{if(this.terrainTileForTile[e.key])return;const t=this._findTileCoveringTileID(e,this.sourceCache);t&&(this.terrainTileForTile[e.key]=t);}));}_prepareDEMTextures(){const e=this.painter.context,t=e.gl;for(const i in this.terrainTileForTile){const o=this.terrainTileForTile[i],r=o.dem;!r||o.demTexture&&!o.needsDEMTextureUpload||(e.activeTexture.set(t.TEXTURE1),mi(this.painter,o,r));}}_prepareDemTileUniforms(e,t,i,o){if(!t||null==t.demTexture)return !1;const r=e.tileID.canonical,n=Math.pow(2,t.tileID.canonical.z-r.z),s=o||"";return i[`u_dem_tl${s}`]=[r.x*n%1,r.y*n%1],i[`u_dem_scale${s}`]=n,!0}get emptyDEMTexture(){return !this._emptyDEMTextureDirty&&this._emptyDEMTexture?this._emptyDEMTexture:this._updateEmptyDEMTexture()}get emptyDepthBufferTexture(){const t=this.painter.context,i=t.gl;if(!this._emptyDepthBufferTexture){const o=new e.RGBAImage({width:1,height:1},Uint8Array.of(255,255,255,255));this._emptyDepthBufferTexture=new e.Texture(t,o,i.RGBA,{premultiply:!1});}return this._emptyDepthBufferTexture}_getLoadedAreaMinimum(){let e=0;const t=this._visibleDemTiles.reduce(((t,i)=>{if(!i.dem)return t;const o=i.dem.tree.minimums[0];return o>0&&e++,t+o}),0);return e?t/e:0}_updateEmptyDEMTexture(){const t=this.painter.context,i=t.gl;t.activeTexture.set(i.TEXTURE2);const o=this._getLoadedAreaMinimum(),r=new e.RGBAImage({width:1,height:1},new Uint8Array(e.DEMData.pack(o,this.sourceCache.getSource().encoding)));this._emptyDEMTextureDirty=!1;let n=this._emptyDEMTexture;return n?n.update(r,{premultiply:!1}):n=this._emptyDEMTexture=new e.Texture(t,r,i.RGBA,{premultiply:!1}),n}setupElevationDraw(t,i,o){const r=this.painter.context,n=r.gl,s=(a=this.sourceCache.getSource().encoding,{u_dem:2,u_dem_prev:4,u_dem_unpack:e.DEMData.getUnpackVector(a),u_dem_tl:[0,0],u_dem_tl_prev:[0,0],u_dem_scale:0,u_dem_scale_prev:0,u_dem_size:0,u_dem_lerp:1,u_depth:3,u_depth_size_inv:[0,0],u_exaggeration:0});var a;s.u_dem_size=this.sourceCache.getSource().tileSize,s.u_exaggeration=this.exaggeration();let l=null,c=null,h=1;if(o&&o.morphing&&this._useVertexMorphing){const e=o.morphing.srcDemTile,i=o.morphing.dstDemTile;h=o.morphing.phase,e&&i&&(this._prepareDemTileUniforms(t,e,s,"_prev")&&(c=e),this._prepareDemTileUniforms(t,i,s)&&(l=i));}if(c&&l?(r.activeTexture.set(n.TEXTURE2),l.demTexture.bind(n.NEAREST,n.CLAMP_TO_EDGE,n.NEAREST),r.activeTexture.set(n.TEXTURE4),c.demTexture.bind(n.NEAREST,n.CLAMP_TO_EDGE,n.NEAREST),s.u_dem_lerp=h):(l=this.terrainTileForTile[t.tileID.key],r.activeTexture.set(n.TEXTURE2),(this._prepareDemTileUniforms(t,l,s)?l.demTexture:this.emptyDEMTexture).bind(n.NEAREST,n.CLAMP_TO_EDGE)),r.activeTexture.set(n.TEXTURE3),o&&o.useDepthForOcclusion?(this._depthTexture&&this._depthTexture.bind(n.NEAREST,n.CLAMP_TO_EDGE),this._depthFBO&&(s.u_depth_size_inv=[1/this._depthFBO.width,1/this._depthFBO.height])):(this.emptyDepthBufferTexture.bind(n.NEAREST,n.CLAMP_TO_EDGE),s.u_depth_size_inv=[1,1]),o&&o.useMeterToDem&&l){const t=(1<{if(c===e)return;const o=[wi[e],"PROJECTION_GLOBE_VIEW"];_&&o.push("CUSTOM_ANTIALIASING"),i&&o.push(wi[h]),l=t.useProgram("globeRaster",null,o),c=e;},p=t.colorModeForRenderPass(),m=new e.DepthMode(a.LEQUAL,e.DepthMode.ReadWrite,t.depthRangeFor3D);bi.update(n);const f=e.calculateGlobeMercatorMatrix(u),g=[e.mercatorXfromLng(u.center.lng),e.mercatorYfromLat(u.center.lat)],v=h?[!1,!0]:[!1],x=t.globeSharedBuffers,y=[u.width*e.exported.devicePixelRatio,u.height*e.exported.devicePixelRatio],b=Float32Array.from(u.globeMatrix),w={useDenormalizedUpVectorScale:!0};if(v.forEach((h=>{const u=t.transform,_=Ti(u.zoom)*i.exaggeration();c=-1;const v=h?a.LINES:a.TRIANGLES;for(const c of r){const r=o.getTile(c),T=e.StencilMode.disabled,E=i.prevTerrainTileForTile[c.key],C=i.terrainTileForTile[c.key];yi(E,C)&&bi.newMorphing(c.key,E,C,n,250),s.activeTexture.set(a.TEXTURE0),r.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE);const M=bi.getMorphValuesForProxy(c.key),I=M?1:0;M&&e.extend$1(w,{morphing:{srcDemTile:M.from,dstDemTile:M.to,phase:e.easeCubicInOut(M.phase)}});const P=e.tileCornersToBounds(c.canonical),S=e.getLatitudinalLod(P.getCenter().lat),D=e.getGridMatrix(c.canonical,P,S,u.worldSize/u._pixelsPerMercatorPixel),L=e.globeNormalizeECEF(e.globeTileBounds(c.canonical)),A=xi(u.projMatrix,b,f,L,e.globeToMercatorTransition(u.zoom),g,u.frustumCorners.TL,u.frustumCorners.TR,u.frustumCorners.BR,u.frustumCorners.BL,u.globeCenterInViewSpace,u.globeRadius,y,_,D);if(d(I,h),i.setupElevationDraw(r,l,w),t.prepareDrawProgram(s,l,c.toUnwrapped()),x){const[i,o,r]=h?x.getWirefameBuffers(t.context,S):x.getGridBuffers(S,0!==_);l.draw(s,v,m,T,p,e.CullFaceMode.backCCW,A,"globe_raster",i,o,r);}}})),x){const n=["GLOBE_POLES","PROJECTION_GLOBE_VIEW"];_&&n.push("CUSTOM_ANTIALIASING"),l=t.useProgram("globeRaster",null,n);for(const n of r){const{x:r,y:c,z:h}=n.canonical,_=0===c,d=c===(1<t.draw(s,a.TRIANGLES,m,e.StencilMode.disabled,p,e.CullFaceMode.disabled,xi(u.projMatrix,x,x,E,0,g,u.frustumCorners.TL,u.frustumCorners.TR,u.frustumCorners.BR,u.frustumCorners.BL,u.globeCenterInViewSpace,u.globeRadius,y,0),"globe_pole_raster",i,b,T);i.setupElevationDraw(c,l,w),t.prepareDrawProgram(s,l,n.toUnwrapped()),_&&C(l,f),d&&(x=e.scale(e.create(),x,[1,-1,1]),C(l,v));}}}}(t,i,o,r,n);else {const s=t.context,a=s.gl;let l,c;const h=t.options.showTerrainWireframe?2:0,u=(e,i)=>{if(c===e)return;const o=[wi[e]];i&&o.push(wi[h]),l=t.useProgram("terrainRaster",null,o),c=e;},_=t.colorModeForRenderPass(),d=new e.DepthMode(a.LEQUAL,e.DepthMode.ReadWrite,t.depthRangeFor3D);bi.update(n);const p=t.transform,m=Ti(p.zoom)*i.exaggeration();(h?[!1,!0]:[!1]).forEach((h=>{c=-1;const f=h?a.LINES:a.TRIANGLES,[g,v]=h?i.getWirefameBuffer():[i.gridIndexBuffer,i.gridSegments];for(const c of r){const r=o.getTile(c),x=e.StencilMode.disabled,y=i.prevTerrainTileForTile[c.key],b=i.terrainTileForTile[c.key];yi(y,b)&&bi.newMorphing(c.key,y,b,n,250),s.activeTexture.set(a.TEXTURE0),r.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST);const w=bi.getMorphValuesForProxy(c.key),T=w?1:0;let E;w&&(E={morphing:{srcDemTile:w.from,dstDemTile:w.to,phase:e.easeCubicInOut(w.phase)}});const C=vi(c.projMatrix,Ei(c.canonical,p.renderWorldCopies)?m/10:m);u(T,h),i.setupElevationDraw(r,l,E),t.prepareDrawProgram(s,l,c.toUnwrapped()),l.draw(s,f,d,x,_,e.CullFaceMode.backCCW,C,"terrain_raster",i.gridBuffer,g,v);}}));}}(i,this,this.proxySourceCache,t,this._updateTimestamp),this.renderingToTexture=!0,i.gpuTimingDeferredRenderEnd(),t.splice(0,t.length));}renderBatch(t){if(0===this._drapedRenderBatches.length)return t+1;this.renderingToTexture=!0;const i=this.painter,o=this.painter.context,r=this.proxySourceCache,n=this.proxiedCoords[r.id],s=this._drapedRenderBatches.shift(),a=[],l=i.style.order;let c=0;for(const h of n){const n=r.getTileByID(h.proxyTileKey),u=r.proxyCachedFBO[h.key]?r.proxyCachedFBO[h.key][t]:void 0,_=void 0!==u?r.renderCache[u]:this.pool[c++],d=void 0!==u;if(n.texture=_.tex,d&&!_.dirty){a.push(n.tileID);continue}let p;o.bindFramebuffer.set(_.fb.framebuffer),this.renderedToTile=!1,_.dirty&&(o.clear({color:e.Color.transparent,stencil:0}),_.dirty=!1);for(let e=s.start;e<=s.end;++e){const t=i.style._layers[l[e]];if(t.isHidden(i.transform.zoom))continue;const r=i.style._getLayerSourceCache(t),n=r?this.proxyToSource[h.key][r.id]:[h];if(!n)continue;const s=n;o.viewport.set([0,0,_.fb.width,_.fb.height]),p!==(r?r.id:null)&&(this._setupStencil(_,n,t,r),p=r?r.id:null),i.renderLayer(i,r,t,s);}this.renderedToTile?(_.dirty=!0,a.push(n.tileID)):d||--c,5===c&&(c=0,this.renderToBackBuffer(a));}return this.renderToBackBuffer(a),this.renderingToTexture=!1,o.bindFramebuffer.set(null),o.viewport.set([0,0,i.width,i.height]),s.end+1}postRender(){}renderCacheEfficiency(e){const t=e.order.length;if(0===t)return {efficiency:100};let i,o=0,r=0,n=!1;for(let s=0;se.dem)).forEach((t=>{e=Math.min(e,t.dem.tree.minimums[0]);})),0===e?e:(e-30)*this._exaggeration}raycast(e,t,i){if(!this._visibleDemTiles)return null;const o=this._visibleDemTiles.filter((e=>e.dem)).map((o=>{const r=o.tileID,n=1<(null!==e.t?e.t:Number.MAX_VALUE)-(null!==t.t?t.t:Number.MAX_VALUE)));for(const r of o){if(null==r.t)return null;const o=r.tile.dem.tree.raycast(r.minx,r.miny,r.maxx,r.maxy,e,t,i);if(null!=o)return o}return null}_createFBO(){const t=this.painter.context,i=t.gl,o=this.drapeBufferSize;t.activeTexture.set(i.TEXTURE0);const r=new e.Texture(t,{width:o[0],height:o[1],data:null},i.RGBA);r.bind(i.LINEAR,i.CLAMP_TO_EDGE);const n=t.createFramebuffer(o[0],o[1],!1);return n.colorAttachment.set(r.texture),n.depthAttachment=new we(t,n.framebuffer),void 0===this._sharedDepthStencil?(this._sharedDepthStencil=t.createRenderbuffer(t.gl.DEPTH_STENCIL,o[0],o[1]),this._stencilRef=0,n.depthAttachment.set(this._sharedDepthStencil),t.clear({stencil:0})):n.depthAttachment.set(this._sharedDepthStencil),t.extTextureFilterAnisotropic&&!t.extTextureFilterAnisotropicForceOff&&i.texParameterf(i.TEXTURE_2D,t.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,t.extTextureFilterAnisotropicMax),{fb:n,tex:r,dirty:!1}}_initFBOPool(){for(;this.pool.length{const t=this._style._layers[e],i=t.isHidden(this.painter.transform.zoom);return "custom"===t.type?!i&&t.shouldRedrape():!i&&t.hasTransition()}))}_clearLineLayersFromRenderCache(){let t=!1;for(const e of this._style._getSources())if(e instanceof Ce){t=!0;break}if(!t)return;const i={};for(let t=0;tt.renderCachePool.length){const e=Object.values(t.proxyCachedFBO);t.proxyCachedFBO={};for(let i=0;i=0;r--){const n=i[r];if(t.getTileByID(n.key),void 0!==t.proxyCachedFBO[n.key]){const i=e[n.key],r=this.proxyToSource[n.key];let s=0;for(const e in r){const t=r[e],n=i[e];if(!n||n.length!==t.length||t.some(((t,i)=>t!==n[i]||o[e]&&o[e].hasOwnProperty(t.key)))){s=-1;break}++s;}for(const e in t.proxyCachedFBO[n.key])t.renderCache[t.proxyCachedFBO[n.key][e]].dirty=s<0||s!==Object.values(i).length;}}const r=[...this._drapedRenderBatches];r.sort(((e,t)=>t.end-t.start-(e.end-e.start)));for(const e of r)for(const o of i){if(t.proxyCachedFBO[o.key])continue;let i=t.renderCachePool.pop();void 0===i&&t.renderCache.length<50&&(i=t.renderCache.length,t.renderCache.push(this._createFBO())),void 0!==i&&(t.proxyCachedFBO[o.key]={},t.proxyCachedFBO[o.key][e.start]=i,t.renderCache[i].dirty=!0);}this._tilesDirty={};}_setupStencil(e,t,i,o){if(!o||!this._sourceTilesOverlap[o.id])return void(this._overlapStencilType&&(this._overlapStencilType=!1));const r=this.painter.context,n=r.gl;if(t.length<=1)return void(this._overlapStencilType=!1);let s;if(i.isTileClipped())s=t.length,this._overlapStencilMode.test={func:n.EQUAL,mask:255},this._overlapStencilType="Clip";else {if(!(t[0].overscaledZ>t[t.length-1].overscaledZ))return void(this._overlapStencilType=!1);s=1,this._overlapStencilMode.test={func:n.GREATER,mask:255},this._overlapStencilType="Mask";}this._stencilRef+s>255&&(r.clear({stencil:0}),this._stencilRef=0),this._stencilRef+=s,this._overlapStencilMode.ref=this._stencilRef,i.isTileClipped()&&this._renderTileClippingMasks(t,this._overlapStencilMode.ref);}clipOrMaskOverlapStencilType(){return "Clip"===this._overlapStencilType||"Mask"===this._overlapStencilType}stencilModeForRTTOverlap(t){return this.renderingToTexture&&this._overlapStencilType?("Clip"===this._overlapStencilType&&(this._overlapStencilMode.ref=this.painter._tileClippingMaskIDs[t.key]),this._overlapStencilMode):e.StencilMode.disabled}_renderTileClippingMasks(t,i){const o=this.painter,r=this.painter.context,n=r.gl;o._tileClippingMaskIDs={},r.setColorMode(e.ColorMode.disabled),r.setDepthMode(e.DepthMode.disabled);const s=o.useProgram("clippingMask");for(const a of t){const t=o._tileClippingMaskIDs[a.key]=--i;s.draw(r,n.TRIANGLES,e.DepthMode.disabled,new e.StencilMode({func:n.ALWAYS,mask:0},t,255,n.KEEP,n.KEEP,n.REPLACE),e.ColorMode.disabled,e.CullFaceMode.disabled,Ci(a.projMatrix),"$clipping",o.tileExtentBuffer,o.quadTriangleIndexBuffer,o.tileExtentSegments);}}pointCoordinate(t){const i=this.painter.transform;if(t.x<0||t.x>i.width||t.y<0||t.y>i.height)return null;const o=[t.x,t.y,1,1];e.transformMat4$1(o,o,i.pixelMatrixInverse),e.scale$1(o,o,1/o[3]),o[0]/=i.worldSize,o[1]/=i.worldSize;const r=i._camera.position,n=e.mercatorZfromAltitude(1,i.center.lat),s=[r[0],r[1],r[2]/n,0],a=e.subtract([],o.slice(0,3),s);e.normalize(a,a);const l=this.raycast(s,a,this._exaggeration);return null!==l&&l?(e.scaleAndAdd(s,s,a,l),s[3]=s[2],s[2]*=n,s):null}drawDepth(){const t=this.painter,i=t.context,o=this.proxySourceCache,r=Math.ceil(t.width),n=Math.ceil(t.height);if(!this._depthFBO||this._depthFBO.width===r&&this._depthFBO.height===n||(this._depthFBO.destroy(),this._depthFBO=void 0,this._depthTexture=void 0),!this._depthFBO){const t=i.gl,o=i.createFramebuffer(r,n,!0);i.activeTexture.set(t.TEXTURE0);const s=new e.Texture(i,{width:r,height:n,data:null},t.RGBA);s.bind(t.NEAREST,t.CLAMP_TO_EDGE),o.colorAttachment.set(s.texture);const a=i.createRenderbuffer(i.gl.DEPTH_COMPONENT16,r,n);o.depthAttachment.set(a),this._depthFBO=o,this._depthTexture=s;}i.bindFramebuffer.set(this._depthFBO.framebuffer),i.viewport.set([0,0,r,n]),function(t,i,o,r){if("globe"===t.transform.projection.name)return;const n=t.context,s=n.gl;n.clear({depth:1});const a=t.useProgram("terrainDepth"),l=new e.DepthMode(s.LESS,e.DepthMode.ReadWrite,t.depthRangeFor3D);for(const t of r){const r=o.getTile(t),c=vi(t.projMatrix,0);i.setupElevationDraw(r,a),a.draw(n,s.TRIANGLES,l,e.StencilMode.disabled,e.ColorMode.unblended,e.CullFaceMode.backCCW,c,"terrain_depth",i.gridBuffer,i.gridIndexBuffer,i.gridNoSkirtSegments);}}(t,this,o,this.proxyCoords);}_setupProxiedCoordsForOrtho(e,t,i){if(e.getSource()instanceof Pe)return this._setupProxiedCoordsForImageSource(e,t,i);this._findCoveringTileCache[e.id]=this._findCoveringTileCache[e.id]||{};const o=this.proxiedCoords[e.id]=[],r=this.proxyCoords;for(let t=0;t(e.min.x=Math.min(e.min.x,t.x-a.x),e.min.y=Math.min(e.min.y,t.y-a.y),e.max.x=Math.max(e.max.x,t.x-a.x),e.max.y=Math.max(e.max.y,t.y-a.y),e)),{min:new e.Point(Number.MAX_VALUE,Number.MAX_VALUE),max:new e.Point(-Number.MAX_VALUE,-Number.MAX_VALUE)}),c=(t,i)=>{const o=t.wrap+t.canonical.x/(1<s+l.max.x||r+na+l.max.y};for(let e=0;ee.key===i.tileID.key));if(e)return e}if(i.tileID.key!==t.key){const o=t.canonical.z-i.tileID.canonical.z;let n,s,a;r=e.create();const l=i.tileID.wrap-t.wrap<0?(n=e.EXTENT>>o,s=n*((i.tileID.canonical.x<=r){const o=t.canonical.z-r;i.getSource().reparseOverscaled?(a=Math.max(t.canonical.z+2,i.transform.tileZoom),s=new e.OverscaledTileID(a,t.wrap,r,t.canonical.x>>o,t.canonical.y>>o)):0!==o&&(a=r,s=new e.OverscaledTileID(a,t.wrap,r,t.canonical.x>>o,t.canonical.y>>o));}s.key!==t.key&&(c.push(s.key),o=i.getTile(s));}const h=e=>{c.forEach((t=>{r[t]=e;})),c.length=0;};for(a-=1;a>=l&&(!o||!o.hasData());a--){o&&h(o.tileID.key);const e=s.calculateScaledKey(a);if(o=i.getTileByID(e),o&&o.hasData())break;const t=r[e];if(null===t)break;void 0===t?c.push(e):o=i.getTileByID(t);}return h(o?o.tileID.key:null),o&&o.hasData()?o:null}findDEMTileFor(e){return this.enabled?this._findTileCoveringTileID(e,this.sourceCache):null}prepareDrawTile(){this.renderedToTile=!0;}_clearRenderCacheForTile(e,t){let i=this._tilesDirty[e];i||(i=this._tilesDirty[e]={}),i[t.key]=!0;}getWirefameBuffer(){if(!this.wireframeSegments){const t=function(t){let i=0;const o=new e.StructArrayLayout2ui4,r=131;for(let e=1;e<129;e++){for(let t=1;t<129;t++)i=e*r+t,o.emplaceBack(i,i+1),o.emplaceBack(i,i+r),o.emplaceBack(i+1,i+r),128===e&&o.emplaceBack(i+r,i+r+1);o.emplaceBack(i+1,i+1+r);}return o}();this.wireframeIndexBuffer=this.painter.context.createIndexBuffer(t),this.wireframeSegments=e.SegmentVector.simpleSegment(0,0,this.gridBuffer.length,t.length);}return [this.wireframeIndexBuffer,this.wireframeSegments]}}class Li{static cacheKey(e,t,i,o){let r=`${t}${o?o.cacheKey:""}`;for(const t of i)e.usedDefines.includes(t)&&(r+=`/${t}`);return r}constructor(t,i,o,r,n,s){const a=t.gl;this.program=a.createProgram();const l=function(e){const t=[];for(let i=0;i`#define ${e}`)));const _=t.isWebGL2?"#version 300 es\n":"",d=_+u.concat(t.extStandardDerivatives&&0===_.length?"#extension GL_OES_standard_derivatives : enable\n".concat(li):li,li,ai,si.fragmentSource,ri.fragmentSource,o.fragmentSource).join("\n"),p=_+u.concat("\n#ifdef GL_ES\nprecision highp float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif",ai,si.vertexSource,ri.vertexSource,oi.vertexSource,o.vertexSource).join("\n"),m=a.createShader(a.FRAGMENT_SHADER);if(a.isContextLost())return void(this.failedToCreate=!0);a.shaderSource(m,d),a.compileShader(m),a.attachShader(this.program,m);const f=a.createShader(a.VERTEX_SHADER);if(a.isContextLost())this.failedToCreate=!0;else {a.shaderSource(f,p),a.compileShader(f),a.attachShader(this.program,f),this.attributes={},this.numAttributes=h.length;for(let e=0;e({u_dem:new e.Uniform1i(t),u_dem_prev:new e.Uniform1i(t),u_dem_unpack:new e.Uniform4f(t),u_dem_tl:new e.Uniform2f(t),u_dem_scale:new e.Uniform1f(t),u_dem_tl_prev:new e.Uniform2f(t),u_dem_scale_prev:new e.Uniform1f(t),u_dem_size:new e.Uniform1f(t),u_dem_lerp:new e.Uniform1f(t),u_exaggeration:new e.Uniform1f(t),u_depth:new e.Uniform1i(t),u_depth_size_inv:new e.Uniform2f(t),u_meter_to_dem:new e.Uniform1f(t),u_label_plane_matrix_inv:new e.UniformMatrix4f(t)}))(t)),s.includes("GLOBE")&&(this.globeUniforms=(t=>({u_tile_tl_up:new e.Uniform3f(t),u_tile_tr_up:new e.Uniform3f(t),u_tile_br_up:new e.Uniform3f(t),u_tile_bl_up:new e.Uniform3f(t),u_tile_up_scale:new e.Uniform1f(t)}))(t)),s.includes("FOG")&&(this.fogUniforms=(t=>({u_fog_matrix:new e.UniformMatrix4f(t),u_fog_range:new e.Uniform2f(t),u_fog_color:new e.Uniform4f(t),u_fog_horizon_blend:new e.Uniform1f(t),u_fog_temporal_offset:new e.Uniform1f(t),u_frustum_tl:new e.Uniform3f(t),u_frustum_tr:new e.Uniform3f(t),u_frustum_br:new e.Uniform3f(t),u_frustum_bl:new e.Uniform3f(t),u_globe_pos:new e.Uniform3f(t),u_globe_radius:new e.Uniform1f(t),u_globe_transition:new e.Uniform1f(t),u_is_globe:new e.Uniform1i(t),u_viewport:new e.Uniform2f(t)}))(t));}}setTerrainUniformValues(e,t){if(!this.terrainUniforms)return;const i=this.terrainUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e]&&i[e].set(this.program,e,t[e]);}}setGlobeUniformValues(e,t){if(!this.globeUniforms)return;const i=this.globeUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e]&&i[e].set(this.program,e,t[e]);}}setFogUniformValues(e,t){if(!this.fogUniforms)return;const i=this.fogUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e].set(this.program,e,t[e]);}}draw(e,t,i,o,r,n,s,a,l,c,h,u,_,d,p){const m=e.gl;if(this.failedToCreate)return;e.program.set(this.program),e.setDepthMode(i),e.setStencilMode(o),e.setColorMode(r),e.setCullFace(n);for(const e of Object.keys(this.fixedUniforms))this.fixedUniforms[e].set(this.program,e,s[e]);d&&d.setUniforms(this.program,e,this.binderUniforms,u,{zoom:_});const f={[m.LINES]:2,[m.TRIANGLES]:3,[m.LINE_STRIP]:1}[t];for(const i of h.get()){const o=i.vaos||(i.vaos={});(o[a]||(o[a]=new _i)).bind(e,this,l,d?d.getPaintVertexBuffers():[],c,i.vertexOffset,p||[]),m.drawElements(t,i.primitiveLength*f,m.UNSIGNED_SHORT,i.primitiveOffset*f*2);}}}function Ai(e,t){const i=Math.pow(2,t.tileID.overscaledZ),o=t.tileSize*Math.pow(2,e.transform.tileZoom)/i,r=o*(t.tileID.canonical.x+t.tileID.wrap*i),n=o*t.tileID.canonical.y;return {u_image:0,u_texsize:t.imageAtlasTexture.size,u_tile_units_to_pixels:1/D(t,1,e.transform.tileZoom),u_pixel_coord_upper:[r>>16,n>>16],u_pixel_coord_lower:[65535&r,65535&n]}}const zi=e.create(),Ri=(t,i,o,r,n,s,a,l,c,h,u)=>{const _=i.style.light,d=_.properties.get("position"),p=[d.x,d.y,d.z],m=e.create$1();"viewport"===_.properties.get("anchor")&&(e.fromRotation(m,-i.transform.angle),e.transformMat3(p,p,m));const f=_.properties.get("color"),g=i.transform,v={u_matrix:t,u_lightpos:p,u_lightintensity:_.properties.get("intensity"),u_lightcolor:[f.r,f.g,f.b],u_vertical_gradient:+o,u_opacity:r,u_tile_id:[0,0,0],u_zoom_transition:0,u_inv_rot_matrix:zi,u_merc_center:[0,0],u_up_dir:[0,0,0],u_height_lift:0,u_ao:n,u_edge_radius:s};return "globe"===g.projection.name&&(v.u_tile_id=[a.canonical.x,a.canonical.y,1<{const d=Ri(t,i,o,r,n,s,a,c,h,u,_),p={u_height_factor:-Math.pow(2,a.overscaledZ)/l.tileSize/8};return e.extend(d,Ai(i,l),p)},Bi=e=>({u_matrix:e}),ki=(t,i,o)=>e.extend(Bi(t),Ai(i,o)),Fi=(e,t)=>({u_matrix:e,u_world:t}),Ui=(t,i,o,r)=>e.extend(ki(t,i,o),{u_world:r}),Ni=e.create(),ji=(t,i,o,r,n,s)=>{const a=t.transform,l="globe"===a.projection.name;let c;if("map"===s.paint.get("circle-pitch-alignment"))if(l){const t=e.globePixelsToTileUnits(a.zoom,i.canonical)*a._pixelsPerMercatorPixel;c=Float32Array.from([t,0,0,t]);}else c=a.calculatePixelsToTileUnitsMatrix(o);else c=new Float32Array([a.pixelsToGLUnits[0],0,0,a.pixelsToGLUnits[1]]);const h={u_camera_to_center_distance:a.cameraToCenterDistance,u_matrix:t.translatePosMatrix(i.projMatrix,o,s.paint.get("circle-translate"),s.paint.get("circle-translate-anchor")),u_device_pixel_ratio:e.exported.devicePixelRatio,u_extrude_scale:c,u_inv_rot_matrix:Ni,u_merc_center:[0,0],u_tile_id:[0,0,0],u_zoom_transition:0,u_up_dir:[0,0,0]};if(l){h.u_inv_rot_matrix=r,h.u_merc_center=n,h.u_tile_id=[i.canonical.x,i.canonical.y,1<{const t=[];return "map"===e.paint.get("circle-pitch-alignment")&&t.push("PITCH_WITH_MAP"),"map"===e.paint.get("circle-pitch-scale")&&t.push("SCALE_WITH_MAP"),t},Zi=(t,i,o,r)=>{const n=e.EXTENT/o.tileSize;return {u_matrix:t,u_camera_to_center_distance:i.getCameraToCenterDistance(r),u_extrude_scale:[i.pixelsToGLUnits[0]/n,i.pixelsToGLUnits[1]/n]}},Vi=(e,t,i=1)=>({u_matrix:e,u_color:t,u_overlay:0,u_overlay_scale:i}),Wi=e.create(),Xi=(t,i,o,r,n,s,a)=>{const l=t.transform,c="globe"===l.projection.name,h=c?e.globePixelsToTileUnits(l.zoom,i.canonical)*l._pixelsPerMercatorPixel:D(o,1,s),u={u_matrix:i.projMatrix,u_extrude_scale:h,u_intensity:a,u_inv_rot_matrix:Wi,u_merc_center:[0,0],u_tile_id:[0,0,0],u_zoom_transition:0,u_up_dir:[0,0,0]};if(c){u.u_inv_rot_matrix=r,u.u_merc_center=n,u.u_tile_id=[i.canonical.x,i.canonical.y,1<{const a=e.transform,l=a.calculatePixelsToTileUnitsMatrix(t);return {u_matrix:Yi(e,t,i,o),u_pixels_to_tile_units:l,u_device_pixel_ratio:n,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]],u_dash_image:0,u_gradient_image:1,u_image_height:r,u_texsize:Ki(i)?t.lineAtlasTexture.size:[0,0],u_tile_units_to_pixels:Hi(t,e.transform),u_alpha_discard_threshold:0,u_trim_offset:s}},$i=(e,t,i,o,r)=>{const n=e.transform;return {u_matrix:Yi(e,t,i,o),u_texsize:t.imageAtlasTexture.size,u_pixels_to_tile_units:n.calculatePixelsToTileUnitsMatrix(t),u_device_pixel_ratio:r,u_image:0,u_tile_units_to_pixels:Hi(t,n),u_units_to_pixels:[1/n.pixelsToGLUnits[0],1/n.pixelsToGLUnits[1]],u_alpha_discard_threshold:0}};function Hi(e,t){return 1/D(e,1,t.tileZoom)}function Yi(e,t,i,o){return e.translatePosMatrix(o||t.tileID.projMatrix,t,i.paint.get("line-translate"),i.paint.get("line-translate-anchor"))}function Ki(e){const t=e.paint.get("line-dasharray").value;return t.value||"constant"!==t.kind}const Ji=(e,t,i,o,r,n)=>{return {u_matrix:e,u_tl_parent:t,u_scale_parent:i,u_fade_t:o.mix,u_opacity:o.opacity*r.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:r.paint.get("raster-brightness-min"),u_brightness_high:r.paint.get("raster-brightness-max"),u_saturation_factor:(a=r.paint.get("raster-saturation"),a>0?1-1/(1.001-a):-a),u_contrast_factor:(s=r.paint.get("raster-contrast"),s>0?1/(1-s):1+s),u_spin_weights:Qi(r.paint.get("raster-hue-rotate")),u_perspective_transform:n};var s,a;};function Qi(e){e*=Math.PI/180;const t=Math.sin(e),i=Math.cos(e);return [(2*i+1)/3,(-Math.sqrt(3)*t-i+1)/3,(Math.sqrt(3)*t-i+1)/3]}const eo=e.create(),to=(t,i,o,r,n,s,a,l,c,h,u,_,d,p,m,f)=>{const g=n.transform,v={u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:i?i.uSizeT:0,u_size:i?i.uSize:0,u_camera_to_center_distance:g.cameraToCenterDistance,u_rotate_symbol:+o,u_aspect_ratio:g.width/g.height,u_fade_change:n.options.fadeDuration?n.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:a,u_coord_matrix:l,u_is_text:+c,u_pitch_with_map:+r,u_texsize:h,u_texture:0,u_tile_id:[0,0,0],u_zoom_transition:0,u_inv_rot_matrix:eo,u_merc_center:[0,0],u_camera_forward:[0,0,0],u_ecef_origin:[0,0,0],u_tile_matrix:eo,u_up_vector:[0,-1,0]};return "globe"===f.name&&(v.u_tile_id=[u.canonical.x,u.canonical.y,1<e.extend(to(t,i,o,r,n,s,a,l,c,h,_,d,p,m,f,g),{u_gamma_scale:r?n.transform.cameraToCenterDistance*Math.cos(n.terrain?0:n.transform._pitch):1,u_device_pixel_ratio:e.exported.devicePixelRatio,u_is_halo:+u}),oo=(t,i,o,r,n,s,a,l,c,h,u,_,d,p,m,f)=>e.extend(io(t,i,o,r,n,s,a,l,!0,c,!0,u,_,d,p,m,f),{u_texsize_icon:h,u_texture_icon:1}),ro=(e,t,i)=>({u_matrix:e,u_opacity:t,u_color:i}),no=(t,i,o,r,n)=>e.extend(function(e,t,i){const o=t.imageManager.getPattern(e.toString()),{width:r,height:n}=t.imageManager.getPixelSize(),s=Math.pow(2,i.tileID.overscaledZ),a=i.tileSize*Math.pow(2,t.transform.tileZoom)/s,l=a*(i.tileID.canonical.x+i.tileID.wrap*s),c=a*i.tileID.canonical.y;return {u_image:0,u_pattern_tl:o.tl,u_pattern_br:o.br,u_texsize:[r,n],u_pattern_size:o.displaySize,u_tile_units_to_pixels:1/D(i,1,t.transform.tileZoom),u_pixel_coord_upper:[l>>16,c>>16],u_pixel_coord_lower:[65535&l,65535&c]}}(r,o,n),{u_matrix:t,u_opacity:i}),so={fillExtrusion:t=>({u_matrix:new e.UniformMatrix4f(t),u_lightpos:new e.Uniform3f(t),u_lightintensity:new e.Uniform1f(t),u_lightcolor:new e.Uniform3f(t),u_vertical_gradient:new e.Uniform1f(t),u_opacity:new e.Uniform1f(t),u_edge_radius:new e.Uniform1f(t),u_ao:new e.Uniform2f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_up_dir:new e.Uniform3f(t),u_height_lift:new e.Uniform1f(t)}),fillExtrusionPattern:t=>({u_matrix:new e.UniformMatrix4f(t),u_lightpos:new e.Uniform3f(t),u_lightintensity:new e.Uniform1f(t),u_lightcolor:new e.Uniform3f(t),u_vertical_gradient:new e.Uniform1f(t),u_height_factor:new e.Uniform1f(t),u_edge_radius:new e.Uniform1f(t),u_ao:new e.Uniform2f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_up_dir:new e.Uniform3f(t),u_height_lift:new e.Uniform1f(t),u_image:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_pixel_coord_upper:new e.Uniform2f(t),u_pixel_coord_lower:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t),u_opacity:new e.Uniform1f(t)}),fill:t=>({u_matrix:new e.UniformMatrix4f(t)}),fillPattern:t=>({u_matrix:new e.UniformMatrix4f(t),u_image:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_pixel_coord_upper:new e.Uniform2f(t),u_pixel_coord_lower:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t)}),fillOutline:t=>({u_matrix:new e.UniformMatrix4f(t),u_world:new e.Uniform2f(t)}),fillOutlinePattern:t=>({u_matrix:new e.UniformMatrix4f(t),u_world:new e.Uniform2f(t),u_image:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_pixel_coord_upper:new e.Uniform2f(t),u_pixel_coord_lower:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t)}),circle:t=>({u_camera_to_center_distance:new e.Uniform1f(t),u_extrude_scale:new e.UniformMatrix2f(t),u_device_pixel_ratio:new e.Uniform1f(t),u_matrix:new e.UniformMatrix4f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_up_dir:new e.Uniform3f(t)}),collisionBox:t=>({u_matrix:new e.UniformMatrix4f(t),u_camera_to_center_distance:new e.Uniform1f(t),u_extrude_scale:new e.Uniform2f(t)}),collisionCircle:t=>({u_matrix:new e.UniformMatrix4f(t),u_inv_matrix:new e.UniformMatrix4f(t),u_camera_to_center_distance:new e.Uniform1f(t),u_viewport_size:new e.Uniform2f(t)}),debug:t=>({u_color:new e.UniformColor(t),u_matrix:new e.UniformMatrix4f(t),u_overlay:new e.Uniform1i(t),u_overlay_scale:new e.Uniform1f(t)}),clippingMask:t=>({u_matrix:new e.UniformMatrix4f(t)}),heatmap:t=>({u_extrude_scale:new e.Uniform1f(t),u_intensity:new e.Uniform1f(t),u_matrix:new e.UniformMatrix4f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_up_dir:new e.Uniform3f(t)}),heatmapTexture:t=>({u_image:new e.Uniform1i(t),u_color_ramp:new e.Uniform1i(t),u_opacity:new e.Uniform1f(t)}),hillshade:t=>({u_matrix:new e.UniformMatrix4f(t),u_image:new e.Uniform1i(t),u_latrange:new e.Uniform2f(t),u_light:new e.Uniform2f(t),u_shadow:new e.UniformColor(t),u_highlight:new e.UniformColor(t),u_accent:new e.UniformColor(t)}),hillshadePrepare:t=>({u_matrix:new e.UniformMatrix4f(t),u_image:new e.Uniform1i(t),u_dimension:new e.Uniform2f(t),u_zoom:new e.Uniform1f(t),u_unpack:new e.Uniform4f(t)}),line:t=>({u_matrix:new e.UniformMatrix4f(t),u_pixels_to_tile_units:new e.UniformMatrix2f(t),u_device_pixel_ratio:new e.Uniform1f(t),u_units_to_pixels:new e.Uniform2f(t),u_dash_image:new e.Uniform1i(t),u_gradient_image:new e.Uniform1i(t),u_image_height:new e.Uniform1f(t),u_texsize:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t),u_alpha_discard_threshold:new e.Uniform1f(t),u_trim_offset:new e.Uniform2f(t)}),linePattern:t=>({u_matrix:new e.UniformMatrix4f(t),u_texsize:new e.Uniform2f(t),u_pixels_to_tile_units:new e.UniformMatrix2f(t),u_device_pixel_ratio:new e.Uniform1f(t),u_image:new e.Uniform1i(t),u_units_to_pixels:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t),u_alpha_discard_threshold:new e.Uniform1f(t)}),raster:t=>({u_matrix:new e.UniformMatrix4f(t),u_tl_parent:new e.Uniform2f(t),u_scale_parent:new e.Uniform1f(t),u_fade_t:new e.Uniform1f(t),u_opacity:new e.Uniform1f(t),u_image0:new e.Uniform1i(t),u_image1:new e.Uniform1i(t),u_brightness_low:new e.Uniform1f(t),u_brightness_high:new e.Uniform1f(t),u_saturation_factor:new e.Uniform1f(t),u_contrast_factor:new e.Uniform1f(t),u_spin_weights:new e.Uniform3f(t),u_perspective_transform:new e.Uniform2f(t)}),symbolIcon:t=>({u_is_size_zoom_constant:new e.Uniform1i(t),u_is_size_feature_constant:new e.Uniform1i(t),u_size_t:new e.Uniform1f(t),u_size:new e.Uniform1f(t),u_camera_to_center_distance:new e.Uniform1f(t),u_rotate_symbol:new e.Uniform1i(t),u_aspect_ratio:new e.Uniform1f(t),u_fade_change:new e.Uniform1f(t),u_matrix:new e.UniformMatrix4f(t),u_label_plane_matrix:new e.UniformMatrix4f(t),u_coord_matrix:new e.UniformMatrix4f(t),u_is_text:new e.Uniform1i(t),u_pitch_with_map:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_camera_forward:new e.Uniform3f(t),u_tile_matrix:new e.UniformMatrix4f(t),u_up_vector:new e.Uniform3f(t),u_ecef_origin:new e.Uniform3f(t),u_texture:new e.Uniform1i(t)}),symbolSDF:t=>({u_is_size_zoom_constant:new e.Uniform1i(t),u_is_size_feature_constant:new e.Uniform1i(t),u_size_t:new e.Uniform1f(t),u_size:new e.Uniform1f(t),u_camera_to_center_distance:new e.Uniform1f(t),u_rotate_symbol:new e.Uniform1i(t),u_aspect_ratio:new e.Uniform1f(t),u_fade_change:new e.Uniform1f(t),u_matrix:new e.UniformMatrix4f(t),u_label_plane_matrix:new e.UniformMatrix4f(t),u_coord_matrix:new e.UniformMatrix4f(t),u_is_text:new e.Uniform1i(t),u_pitch_with_map:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_texture:new e.Uniform1i(t),u_gamma_scale:new e.Uniform1f(t),u_device_pixel_ratio:new e.Uniform1f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_camera_forward:new e.Uniform3f(t),u_tile_matrix:new e.UniformMatrix4f(t),u_up_vector:new e.Uniform3f(t),u_ecef_origin:new e.Uniform3f(t),u_is_halo:new e.Uniform1i(t)}),symbolTextAndIcon:t=>({u_is_size_zoom_constant:new e.Uniform1i(t),u_is_size_feature_constant:new e.Uniform1i(t),u_size_t:new e.Uniform1f(t),u_size:new e.Uniform1f(t),u_camera_to_center_distance:new e.Uniform1f(t),u_rotate_symbol:new e.Uniform1i(t),u_aspect_ratio:new e.Uniform1f(t),u_fade_change:new e.Uniform1f(t),u_matrix:new e.UniformMatrix4f(t),u_label_plane_matrix:new e.UniformMatrix4f(t),u_coord_matrix:new e.UniformMatrix4f(t),u_is_text:new e.Uniform1i(t),u_pitch_with_map:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_texsize_icon:new e.Uniform2f(t),u_texture:new e.Uniform1i(t),u_texture_icon:new e.Uniform1i(t),u_gamma_scale:new e.Uniform1f(t),u_device_pixel_ratio:new e.Uniform1f(t),u_is_halo:new e.Uniform1i(t)}),background:t=>({u_matrix:new e.UniformMatrix4f(t),u_opacity:new e.Uniform1f(t),u_color:new e.UniformColor(t)}),backgroundPattern:t=>({u_matrix:new e.UniformMatrix4f(t),u_opacity:new e.Uniform1f(t),u_image:new e.Uniform1i(t),u_pattern_tl:new e.Uniform2f(t),u_pattern_br:new e.Uniform2f(t),u_texsize:new e.Uniform2f(t),u_pattern_size:new e.Uniform2f(t),u_pixel_coord_upper:new e.Uniform2f(t),u_pixel_coord_lower:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t)}),terrainRaster:gi,terrainDepth:gi,skybox:t=>({u_matrix:new e.UniformMatrix4f(t),u_sun_direction:new e.Uniform3f(t),u_cubemap:new e.Uniform1i(t),u_opacity:new e.Uniform1f(t),u_temporal_offset:new e.Uniform1f(t)}),skyboxGradient:t=>({u_matrix:new e.UniformMatrix4f(t),u_color_ramp:new e.Uniform1i(t),u_center_direction:new e.Uniform3f(t),u_radius:new e.Uniform1f(t),u_opacity:new e.Uniform1f(t),u_temporal_offset:new e.Uniform1f(t)}),skyboxCapture:t=>({u_matrix_3f:new e.UniformMatrix3f(t),u_sun_direction:new e.Uniform3f(t),u_sun_intensity:new e.Uniform1f(t),u_color_tint_r:new e.Uniform4f(t),u_color_tint_m:new e.Uniform4f(t),u_luminance:new e.Uniform1f(t)}),globeRaster:t=>({u_proj_matrix:new e.UniformMatrix4f(t),u_globe_matrix:new e.UniformMatrix4f(t),u_normalize_matrix:new e.UniformMatrix4f(t),u_merc_matrix:new e.UniformMatrix4f(t),u_zoom_transition:new e.Uniform1f(t),u_merc_center:new e.Uniform2f(t),u_image0:new e.Uniform1i(t),u_grid_matrix:new e.UniformMatrix3f(t),u_skirt_height:new e.Uniform1f(t),u_frustum_tl:new e.Uniform3f(t),u_frustum_tr:new e.Uniform3f(t),u_frustum_br:new e.Uniform3f(t),u_frustum_bl:new e.Uniform3f(t),u_globe_pos:new e.Uniform3f(t),u_globe_radius:new e.Uniform1f(t),u_viewport:new e.Uniform2f(t)}),globeAtmosphere:t=>({u_frustum_tl:new e.Uniform3f(t),u_frustum_tr:new e.Uniform3f(t),u_frustum_br:new e.Uniform3f(t),u_frustum_bl:new e.Uniform3f(t),u_horizon:new e.Uniform1f(t),u_transition:new e.Uniform1f(t),u_fadeout_range:new e.Uniform1f(t),u_color:new e.Uniform4f(t),u_high_color:new e.Uniform4f(t),u_space_color:new e.Uniform4f(t),u_star_intensity:new e.Uniform1f(t),u_star_density:new e.Uniform1f(t),u_star_size:new e.Uniform1f(t),u_temporal_offset:new e.Uniform1f(t),u_horizon_angle:new e.Uniform1f(t),u_rotation_matrix:new e.UniformMatrix4f(t)})};let ao;function lo(t,i,o,r,n,s,a){const l=t.context,c=l.gl,h=t.transform,u=t.useProgram("collisionBox"),_=[];let d=0,p=0;for(let m=0;m0){const t=e.create(),i=y;e.mul(t,v.placementInvProjMatrix,h.glCoordMatrix),e.mul(t,t,v.placementViewportMatrix),_.push({circleArray:w,circleOffset:p,transform:i,invTransform:t,projection:v.getProjection()}),d+=w.length/4,p=d;}b&&(t.terrain&&t.terrain.setupElevationDraw(g,u),u.draw(l,c.LINES,e.DepthMode.disabled,e.StencilMode.disabled,t.colorModeForRenderPass(),e.CullFaceMode.disabled,Zi(y,h,g,v.getProjection()),o.id,b.layoutVertexBuffer,b.indexBuffer,b.segments,null,h.zoom,null,[b.collisionVertexBuffer,b.collisionVertexBufferExt]));}if(!a||!_.length)return;const m=t.useProgram("collisionCircle"),f=new e.StructArrayLayout2f1f2i16;f.resize(4*d),f._trim();let g=0;for(const e of _)for(let t=0;t=0&&(m[y.associatedIconIndex]={x:C,y:M,z:I,angle:A});}else dt(T,d);}if(u){p.clear();const i=t.icon.placedSymbolArray;for(let t=0;te.sortKey-t.sortKey));for(const e of M){const i=e.state;if(t.terrain&&t.terrain.setupElevationDraw(i.tile,i.program,{useDepthForOcclusion:!C,labelPlaneMatrixInv:i.labelPlaneMatrixInv}),d.activeTexture.set(p.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,p.CLAMP_TO_EDGE),i.atlasTextureIcon&&(d.activeTexture.set(p.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,p.CLAMP_TO_EDGE)),i.isSDF){const r=i.uniformValues;i.hasHalo&&(r.u_is_halo=1,mo(i.buffers,e.segments,o,t,i.program,w,u,_,r)),r.u_is_halo=0;}mo(i.buffers,e.segments,o,t,i.program,w,u,_,i.uniformValues);}}function mo(t,i,o,r,n,s,a,l,c){const h=r.context,u=[t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer,t.globeExtVertexBuffer];n.draw(h,h.gl.TRIANGLES,s,a,l,e.CullFaceMode.disabled,c,o.id,t.layoutVertexBuffer,t.indexBuffer,i,o.paint,r.transform.zoom,t.programConfigurations.get(o.id),u);}function fo(t,i,o,r,n,s,a){const l=t.context.gl,c=o.paint.get("fill-pattern"),h=c&&c.constantOr(1);let u,_,d,p,m;a?(_=h&&!o.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",u=l.LINES):(_=h?"fillPattern":"fill",u=l.TRIANGLES);for(const f of r){const r=i.getTile(f);if(h&&!r.patternsLoaded())continue;const g=r.getBucket(o);if(!g)continue;t.prepareDrawTile();const v=g.programConfigurations.get(o.id),x=t.useProgram(_,v);h&&(t.context.activeTexture.set(l.TEXTURE0),r.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),v.updatePaintBuffers());const y=c.constantOr(null);if(y&&r.imageAtlas){const e=r.imageAtlas.patternPositions[y.toString()];e&&v.setConstantPatternPositions(e);}const b=t.translatePosMatrix(f.projMatrix,r,o.paint.get("fill-translate"),o.paint.get("fill-translate-anchor"));if(a){p=g.indexBuffer2,m=g.segments2;const e=t.terrain&&t.terrain.renderingToTexture?t.terrain.drapeBufferSize:[l.drawingBufferWidth,l.drawingBufferHeight];d="fillOutlinePattern"===_&&h?Ui(b,t,r,e):Fi(b,e);}else p=g.indexBuffer,m=g.segments,d=h?ki(b,t,r):Bi(b);t.prepareDrawProgram(t.context,x,f.toUnwrapped()),x.draw(t.context,u,n,t.stencilModeForClipping(f),s,e.CullFaceMode.disabled,d,o.id,g.layoutVertexBuffer,p,m,o.paint,t.transform.zoom,v);}}function go(t,i,o,r,n,s,a){const l=t.context,c=l.gl,h=t.transform,u=o.paint.get("fill-extrusion-pattern"),_=u.constantOr(1),d=o.paint.get("fill-extrusion-opacity"),p=[o.paint.get("fill-extrusion-ambient-occlusion-intensity"),o.paint.get("fill-extrusion-ambient-occlusion-radius")],m=o.layout.get("fill-extrusion-edge-radius"),f=m>0&&!o.paint.get("fill-extrusion-rounded-roof"),g=f?0:m,v="globe"===h.projection.name?e.fillExtrusionHeightLift():0,x="globe"===h.projection.name,y=x?e.globeToMercatorTransition(h.zoom):0,b=[e.mercatorXfromLng(h.center.lng),e.mercatorYfromLat(h.center.lat)],w=[];x&&w.push("PROJECTION_GLOBE_VIEW"),p[0]>0&&w.push("FAUX_AO"),f&&w.push("ZERO_ROOF_RADIUS");for(const m of r){const r=i.getTile(m),f=r.getBucket(o);if(!f||f.projection.name!==h.projection.name)continue;const T=f.programConfigurations.get(o.id),E=t.useProgram(_?"fillExtrusionPattern":"fillExtrusion",T,w);if(t.terrain){const e=t.terrain;if(t.style.terrainSetForDrapingOnly())e.setupElevationDraw(r,E,{useMeterToDem:!0});else {if(!f.enableTerrain)continue;if(e.setupElevationDraw(r,E,{useMeterToDem:!0}),vo(l,i,m,f,o,e),!f.centroidVertexBuffer){const e=E.attributes.a_centroid_pos;void 0!==e&&c.vertexAttrib2f(e,0,0);}}}_&&(t.context.activeTexture.set(c.TEXTURE0),r.imageAtlasTexture.bind(c.LINEAR,c.CLAMP_TO_EDGE),T.updatePaintBuffers());const C=u.constantOr(null);if(C&&r.imageAtlas){const e=r.imageAtlas.patternPositions[C.toString()];e&&T.setConstantPatternPositions(e);}const M=t.translatePosMatrix(m.projMatrix,r,o.paint.get("fill-extrusion-translate"),o.paint.get("fill-extrusion-translate-anchor")),I=h.projection.createInversionMatrix(h,m.canonical),P=o.paint.get("fill-extrusion-vertical-gradient"),S=_?Oi(M,t,P,d,p,g,m,r,v,y,b,I):Ri(M,t,P,d,p,g,m,v,y,b,I);t.prepareDrawProgram(l,E,m.toUnwrapped());const D=[];t.terrain&&D.push(f.centroidVertexBuffer),x&&D.push(f.layoutVertexExtBuffer),E.draw(l,l.gl.TRIANGLES,n,s,a,e.CullFaceMode.backCCW,S,o.id,f.layoutVertexBuffer,f.indexBuffer,f.segments,o.paint,t.transform.zoom,T,D);}}function vo(t,i,o,r,n,s){const a=[t=>{let i=t.canonical.x-1,o=t.wrap;return i<0&&(i=(1<{let i=t.canonical.x+1,o=t.wrap;return i===1<new e.OverscaledTileID(t.overscaledZ,t.wrap,t.canonical.z,t.canonical.x,(0===t.canonical.y?1<new e.OverscaledTileID(t.overscaledZ,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y===(1<{const t=i.getSource().minzoom,o=e=>{const t=i.getTileByID(e);if(t&&t.hasData())return t.getBucket(n)},r=[0,-1,1];for(const i of r){if(e.overscaledZ+i(c[0]=Math.min(t.min.y,i.min.y),c[1]=Math.max(t.max.y,i.max.y),c[2]=e.EXTENT-i.min.x>t.max.x?i.min.x-e.EXTENT:t.max.x,c),u=(t,i)=>(c[0]=Math.min(t.min.x,i.min.x),c[1]=Math.max(t.max.x,i.max.x),c[2]=e.EXTENT-i.min.y>t.max.y?i.min.y-e.EXTENT:t.max.y,c),_=[(e,t)=>h(e,t),(e,t)=>h(t,e),(e,t)=>u(e,t),(e,t)=>u(t,e)],d=new e.Point(0,0);let p,m,f;const g=(t,i,r,n,a)=>{const l=[[n?r:t,n?t:r,0],[n?r:i,n?i:r,0]],c=a<0?e.EXTENT+a:a,h=[n?c:(t+i)/2,n?(t+i)/2:c,0];return 0===r&&a<0||0!==r&&a>0?s.getForTilePoints(f,[h],!0,m):l.push(h),s.getForTilePoints(o,l,!0,p),Math.max(l[0][2],l[1][2],h[2])/s.exaggeration()};for(let t=0;t<4;t++){const i=(t<2?1:5)-t,n=r.borders[t];if(0===n.length)continue;const c=f=a[t](o),h=l(c);if(!(h&&h instanceof e.FillExtrusionBucket&&h.enableTerrain))continue;if(r.borderDoneWithNeighborZ[t]===h.canonical.z&&h.borderDoneWithNeighborZ[i]===r.canonical.z)continue;if(m=s.findDEMTileFor(c),!m||!m.dem)continue;if(!p){const e=s.findDEMTileFor(o);if(!e||!e.dem)return;p=e;}const u=h.borders[i];let v=0;const x=h.borderDoneWithNeighborZ[i]!==r.canonical.z;if(r.canonical.z===h.canonical.z){for(let o=0;oa[0]+3));)x&&h.encodeCentroid(void 0,l,!1),v++;if(l&&va[1]-3)&&(n++,++v!==u.length);)l=h.featuresOnBorder[u[v]];if(l=h.featuresOnBorder[u[o]],s.intersectsCount()>1||l.intersectsCount()>1||1!==n){1!==n&&(v=o),r.encodeCentroid(void 0,s,!1),x&&h.encodeCentroid(void 0,l,!1);continue}const c=_[t](s,l),p=t%2?e.EXTENT-1:0;d.x=g(c[0],Math.min(e.EXTENT-1,c[1]),p,t<2,c[2]),d.y=0,r.encodeCentroid(d,s,!1),x&&h.encodeCentroid(d,l,!1);}else r.encodeCentroid(void 0,s,!1);}r.borderDoneWithNeighborZ[t]=h.canonical.z,r.needsCentroidUpdate=!0,x&&(h.borderDoneWithNeighborZ[i]=r.canonical.z,h.needsCentroidUpdate=!0);}else {for(const e of n)r.encodeCentroid(void 0,r.featuresOnBorder[e],!1);if(x){for(const e of u)h.encodeCentroid(void 0,h.featuresOnBorder[e],!1);h.borderDoneWithNeighborZ[i]=r.canonical.z,h.needsCentroidUpdate=!0;}r.borderDoneWithNeighborZ[t]=h.canonical.z,r.needsCentroidUpdate=!0;}}(r.needsCentroidUpdate||!r.centroidVertexBuffer&&0!==r.centroidVertexArray.length)&&r.uploadCentroid(t);}const xo=new e.Color(1,0,0,1),yo=new e.Color(0,1,0,1),bo=new e.Color(0,0,1,1),wo=new e.Color(1,0,1,1),To=new e.Color(0,1,1,1);function Eo(t,i,o){const r=t.context,n=t.transform,s=r.gl,a="globe"===n.projection.name,l=a?["PROJECTION_GLOBE_VIEW"]:null;let c=o.projMatrix;if(a&&e.globeToMercatorTransition(n.zoom)>0){const t=e.transitionTileAABBinECEF(o.canonical,n),i=e.globeDenormalizeECEF(t);c=e.multiply(new Float32Array(16),n.globeMatrix,i),e.multiply(c,n.projMatrix,c);}const h=t.useProgram("debug",null,l),u=i.getTileByID(o.key);t.terrain&&t.terrain.setupElevationDraw(u,h);const _=e.DepthMode.disabled,d=e.StencilMode.disabled,p=t.colorModeForRenderPass(),m="$debug";r.activeTexture.set(s.TEXTURE0),t.emptyTexture.bind(s.LINEAR,s.CLAMP_TO_EDGE),a?u._makeGlobeTileDebugBuffers(t.context,n):u._makeDebugTileBoundsBuffers(t.context,n.projection);const f=u._tileDebugBuffer||t.debugBuffer,g=u._tileDebugIndexBuffer||t.debugIndexBuffer,v=u._tileDebugSegments||t.debugSegments;h.draw(r,s.LINE_STRIP,_,d,p,e.CullFaceMode.disabled,Vi(c,e.Color.red),m,f,g,v,null,null,null,[u._globeTileDebugBorderBuffer]);const x=u.latestRawTileData,y=Math.floor((x&&x.byteLength||0)/1024),b=i.getTile(o).tileSize,w=512/Math.min(b,512)*(o.overscaledZ/n.zoom)*.5;let T=o.canonical.toString();o.overscaledZ!==o.canonical.z&&(T+=` => ${o.overscaledZ}`),T+=` ${y}kb`,function(e,t){e.initDebugOverlayCanvas();const i=e.debugOverlayCanvas,o=e.context.gl,r=e.debugOverlayCanvas.getContext("2d");r.clearRect(0,0,i.width,i.height),r.shadowColor="white",r.shadowBlur=2,r.lineWidth=1.5,r.strokeStyle="white",r.textBaseline="top",r.font="bold 36px Open Sans, sans-serif",r.fillText(t,5,5),r.strokeText(t,5,5),e.debugOverlayTexture.update(i),e.debugOverlayTexture.bind(o.LINEAR,o.CLAMP_TO_EDGE);}(t,T);const E=u._tileDebugTextBuffer||t.debugBuffer,C=u._tileDebugTextIndexBuffer||t.quadTriangleIndexBuffer,M=u._tileDebugTextSegments||t.debugSegments;h.draw(r,s.TRIANGLES,_,d,e.ColorMode.alphaBlended,e.CullFaceMode.disabled,Vi(c,e.Color.transparent,w),m,E,C,M,null,null,null,[u._globeTileDebugTextBuffer]);}function Co(e,t,i,o){Io(e,0,t+i/2,e.transform.width,i,o);}function Mo(e,t,i,o){Io(e,t-i/2,0,i,e.transform.height,o);}function Io(t,i,o,r,n,s){const a=t.context,l=a.gl;l.enable(l.SCISSOR_TEST),l.scissor(i*e.exported.devicePixelRatio,o*e.exported.devicePixelRatio,r*e.exported.devicePixelRatio,n*e.exported.devicePixelRatio),a.clear({color:s}),l.disable(l.SCISSOR_TEST);}const Po=e.createLayout([{name:"a_pos_3f",components:3,type:"Float32"}]),{members:So}=Po;function Do(e,t,i,o){e.emplaceBack(t,i,o);}class Lo{constructor(t){this.vertexArray=new e.StructArrayLayout3f12,this.indices=new e.StructArrayLayout3ui6,Do(this.vertexArray,-1,-1,1),Do(this.vertexArray,1,-1,1),Do(this.vertexArray,-1,1,1),Do(this.vertexArray,1,1,1),Do(this.vertexArray,-1,-1,-1),Do(this.vertexArray,1,-1,-1),Do(this.vertexArray,-1,1,-1),Do(this.vertexArray,1,1,-1),this.indices.emplaceBack(5,1,3),this.indices.emplaceBack(3,7,5),this.indices.emplaceBack(6,2,0),this.indices.emplaceBack(0,4,6),this.indices.emplaceBack(2,6,7),this.indices.emplaceBack(7,3,2),this.indices.emplaceBack(5,4,0),this.indices.emplaceBack(0,1,5),this.indices.emplaceBack(0,2,3),this.indices.emplaceBack(3,1,0),this.indices.emplaceBack(7,6,4),this.indices.emplaceBack(4,5,7),this.vertexBuffer=t.createVertexBuffer(this.vertexArray,So),this.indexBuffer=t.createIndexBuffer(this.indices),this.segment=e.SegmentVector.simpleSegment(0,0,36,12);}}function Ao(t,i,o,r,n,s){const a=t.gl,l=i.paint.get("sky-atmosphere-color"),c=i.paint.get("sky-atmosphere-halo-color"),h=i.paint.get("sky-atmosphere-sun-intensity"),u=((e,t,i,o,r)=>({u_matrix_3f:e,u_sun_direction:t,u_sun_intensity:i,u_color_tint_r:[o.r,o.g,o.b,o.a],u_color_tint_m:[r.r,r.g,r.b,r.a],u_luminance:5e-5}))(e.fromMat4(e.create$1(),r),n,h,l,c);a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_CUBE_MAP_POSITIVE_X+s,i.skyboxTexture,0),o.draw(t,a.TRIANGLES,e.DepthMode.disabled,e.StencilMode.disabled,e.ColorMode.unblended,e.CullFaceMode.frontCW,u,"skyboxCapture",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment);}const zo=e.createLayout([{type:"Float32",name:"a_pos",components:3},{type:"Float32",name:"a_uv",components:2}]);class Ro{constructor(t){const i=new e.StructArrayLayout5f20;i.emplaceBack(-1,1,1,0,0),i.emplaceBack(1,1,1,1,0),i.emplaceBack(1,-1,1,1,1),i.emplaceBack(-1,-1,1,0,1);const o=new e.StructArrayLayout3ui6;o.emplaceBack(0,1,2),o.emplaceBack(2,3,0),this.vertexBuffer=t.createVertexBuffer(i,zo.members),this.indexBuffer=t.createIndexBuffer(o),this.segments=e.SegmentVector.simpleSegment(0,0,4,2);}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy();}}const Oo={symbol:function(t,i,o,r,n){if("translucent"!==t.renderPass)return;const s=e.StencilMode.disabled,a=t.colorModeForRenderPass();o.layout.get("text-variable-anchor")&&function(t,i,o,r,n,s,a){const l=i.transform,c="map"===n,h="map"===s;for(const i of t){const t=r.getTile(i),n=t.getBucket(o);if(!n||!n.text||!n.text.segments.get().length)continue;const s=e.evaluateSizeForZoom(n.textSizeData,l.zoom),u=xt(i,n.getProjection(),l),_=l.calculatePixelsToTileUnitsMatrix(t),d=et(u,t.tileID.canonical,h,c,l,n.getProjection(),_),p="none"!==o.layout.get("icon-text-fit")&&n.hasIconData();if(s){const o=Math.pow(2,l.zoom-t.tileID.overscaledZ);uo(n,c,h,a,e.symbolSize,l,d,i,o,s,p);}}}(r,t,o,i,o.layout.get("text-rotation-alignment"),o.layout.get("text-pitch-alignment"),n),0!==o.paint.get("icon-opacity").constantOr(1)&&po(t,i,o,r,!1,o.paint.get("icon-translate"),o.paint.get("icon-translate-anchor"),o.layout.get("icon-rotation-alignment"),o.layout.get("icon-pitch-alignment"),o.layout.get("icon-keep-upright"),s,a),0!==o.paint.get("text-opacity").constantOr(1)&&po(t,i,o,r,!0,o.paint.get("text-translate"),o.paint.get("text-translate-anchor"),o.layout.get("text-rotation-alignment"),o.layout.get("text-pitch-alignment"),o.layout.get("text-keep-upright"),s,a),i.map.showCollisionBoxes&&(lo(t,i,o,r,o.paint.get("text-translate"),o.paint.get("text-translate-anchor"),!0),lo(t,i,o,r,o.paint.get("icon-translate"),o.paint.get("icon-translate-anchor"),!1));},circle:function(t,i,o,r){if("translucent"!==t.renderPass)return;const n=o.paint.get("circle-opacity"),s=o.paint.get("circle-stroke-width"),a=o.paint.get("circle-stroke-opacity"),l=void 0!==o.layout.get("circle-sort-key").constantOr(1);if(0===n.constantOr(1)&&(0===s.constantOr(1)||0===a.constantOr(1)))return;const c=t.context,h=c.gl,u=t.transform,_=t.depthModeForSublayer(0,e.DepthMode.ReadOnly),d=e.StencilMode.disabled,p=t.colorModeForRenderPass(),m="globe"===u.projection.name,f=[e.mercatorXfromLng(u.center.lng),e.mercatorYfromLat(u.center.lat)],g=[];for(let n=0;ne.sortKey-t.sortKey));const v={useDepthForOcclusion:!m};for(const i of g){const{programConfiguration:r,program:n,layoutVertexBuffer:s,globeExtVertexBuffer:a,indexBuffer:l,uniformValues:m,tile:f}=i.state,g=i.segments;t.terrain&&t.terrain.setupElevationDraw(f,n,v),t.prepareDrawProgram(c,n,f.tileID.toUnwrapped()),n.draw(c,h.TRIANGLES,_,d,p,e.CullFaceMode.disabled,m,o.id,s,l,g,o.paint,u.zoom,r,[a]);}},heatmap:function(t,i,o,r){if(0!==o.paint.get("heatmap-opacity"))if("offscreen"===t.renderPass){const n=t.context,s=n.gl,a=e.StencilMode.disabled,l=new e.ColorMode([s.ONE,s.ONE],e.Color.transparent,[!0,!0,!0,!0]);!function(e,t,i,o){const r=e.gl,n=t.width*o,s=t.height*o;e.activeTexture.set(r.TEXTURE1),e.viewport.set([0,0,n,s]);let a=i.heatmapFbo;if(!a||a&&(a.width!==n||a.height!==s)){a&&a.destroy();const t=r.createTexture();r.bindTexture(r.TEXTURE_2D,t),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),a=i.heatmapFbo=e.createFramebuffer(n,s,!1),function(e,t,i,o,r,n){const s=e.gl;s.texImage2D(s.TEXTURE_2D,0,e.isWebGL2&&e.extRenderToTextureHalfFloat?s.RGBA16F:s.RGBA,r,n,0,s.RGBA,e.extRenderToTextureHalfFloat?e.isWebGL2?s.HALF_FLOAT:e.extTextureHalfFloat.HALF_FLOAT_OES:s.UNSIGNED_BYTE,null),o.colorAttachment.set(i);}(e,0,t,a,n,s);}else r.bindTexture(r.TEXTURE_2D,a.colorAttachment.get()),e.bindFramebuffer.set(a.framebuffer);}(n,t,o,"globe"===t.transform.projection.name?.5:.25),n.clear({color:e.Color.transparent});const c=t.transform,h="globe"===c.projection.name,u=h?["PROJECTION_GLOBE_VIEW"]:null,_=h?e.CullFaceMode.frontCCW:e.CullFaceMode.disabled,d=[e.mercatorXfromLng(c.center.lng),e.mercatorYfromLat(c.center.lat)];for(let p=0;p({u_image:0,u_color_ramp:1,u_opacity:t.paint.get("heatmap-opacity")}))(0,i),i.id,t.viewportBuffer,t.quadTriangleIndexBuffer,t.viewportSegments,i.paint,t.transform.zoom);}(t,o));},line:function(t,i,o,r){if("translucent"!==t.renderPass)return;const n=o.paint.get("line-opacity"),s=o.paint.get("line-width");if(0===n.constantOr(1)||0===s.constantOr(1))return;const a=t.depthModeForSublayer(0,e.DepthMode.ReadOnly),l=t.colorModeForRenderPass(),c=t.terrain&&t.terrain.renderingToTexture?1:e.exported.devicePixelRatio,h=o.paint.get("line-dasharray"),u=h.constantOr(1),_=o.layout.get("line-cap"),d=o.paint.get("line-pattern"),p=d.constantOr(1),m=o.paint.get("line-gradient"),f=p?"linePattern":"line",g=t.context,v=g.gl,x=(e=>{const t=[];Ki(e)&&t.push("RENDER_LINE_DASH"),e.paint.get("line-gradient")&&t.push("RENDER_LINE_GRADIENT");const i=e.paint.get("line-trim-offset");0===i[0]&&0===i[1]||t.push("RENDER_LINE_TRIM_OFFSET");const o=e.paint.get("line-pattern").constantOr(1),r=1!==e.paint.get("line-opacity").constantOr(1);return !o&&r&&t.push("RENDER_LINE_ALPHA_DISCARD"),t})(o);let y=x.includes("RENDER_LINE_ALPHA_DISCARD");t.terrain&&t.terrain.clipOrMaskOverlapStencilType()&&(y=!1);for(const n of r){const r=i.getTile(n);if(p&&!r.patternsLoaded())continue;const s=r.getBucket(o);if(!s)continue;t.prepareDrawTile();const b=s.programConfigurations.get(o.id),w=t.useProgram(f,b,x),T=d.constantOr(null);if(T&&r.imageAtlas){const e=r.imageAtlas.patternPositions[T.toString()];e&&b.setConstantPatternPositions(e);}const E=h.constantOr(null),C=_.constantOr(null);if(!p&&E&&C&&r.lineAtlas){const e=r.lineAtlas.getDash(E,C);e&&b.setConstantPatternPositions(e);}let[M,I]=o.paint.get("line-trim-offset");if("round"===C||"square"===C){const e=1;M!==I&&(0===M&&(M-=e),1===I&&(I+=e));}const P=t.terrain?n.projMatrix:null,S=p?$i(t,r,o,P,c):qi(t,r,o,P,s.lineClipsArray.length,c,[M,I]);if(m){const r=s.gradients[o.id];let a=r.texture;if(o.gradientVersion!==r.version){let l=256;if(o.stepInterpolant){const o=i.getSource().maxzoom,r=n.canonical.z===o?Math.ceil(1<{w.draw(g,v.TRIANGLES,a,i,l,e.CullFaceMode.disabled,S,o.id,s.layoutVertexBuffer,s.indexBuffer,s.segments,o.paint,t.transform.zoom,b,[s.layoutVertexBuffer2]);};if(y){const i=t.stencilModeForClipping(n).ref;0===i&&t.terrain&&g.clear({stencil:0});const o={func:v.EQUAL,mask:255};S.u_alpha_discard_threshold=.8,D(new e.StencilMode(o,i,255,v.KEEP,v.KEEP,v.INVERT)),S.u_alpha_discard_threshold=0,D(new e.StencilMode(o,i,255,v.KEEP,v.KEEP,v.KEEP));}else D(t.stencilModeForClipping(n));}y&&(t.resetStencilClippingMasks(),t.terrain&&g.clear({stencil:0}));},fill:function(t,i,o,r){const n=o.paint.get("fill-color"),s=o.paint.get("fill-opacity");if(0===s.constantOr(1))return;const a=t.colorModeForRenderPass(),l=o.paint.get("fill-pattern"),c=t.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===n.constantOr(e.Color.transparent).a&&1===s.constantOr(0)?"opaque":"translucent";if(t.renderPass===c){const n=t.depthModeForSublayer(1,"opaque"===t.renderPass?e.DepthMode.ReadWrite:e.DepthMode.ReadOnly);fo(t,i,o,r,n,a,!1);}if("translucent"===t.renderPass&&o.paint.get("fill-antialias")){const n=t.depthModeForSublayer(o.getPaintProperty("fill-outline-color")?2:0,e.DepthMode.ReadOnly);fo(t,i,o,r,n,a,!0);}},"fill-extrusion":function(t,i,o,r){const n=o.paint.get("fill-extrusion-opacity");if(0!==n&&"translucent"===t.renderPass){const s=new e.DepthMode(t.context.gl.LEQUAL,e.DepthMode.ReadWrite,t.depthRangeFor3D);if(1!==n||o.paint.get("fill-extrusion-pattern").constantOr(1))go(t,i,o,r,s,e.StencilMode.disabled,e.ColorMode.disabled),go(t,i,o,r,s,t.stencilModeFor3D(),t.colorModeForRenderPass()),t.resetStencilClippingMasks();else {const n=t.colorModeForRenderPass();go(t,i,o,r,s,e.StencilMode.disabled,n);}}},hillshade:function(t,i,o,r){if("offscreen"!==t.renderPass&&"translucent"!==t.renderPass)return;const n=t.context,s=t.depthModeForSublayer(0,e.DepthMode.ReadOnly),a=t.colorModeForRenderPass(),l=t.terrain&&t.terrain.renderingToTexture,[c,h]="translucent"!==t.renderPass||l?[{},r]:t.stencilConfigForOverlap(r);for(const r of h){const n=i.getTile(r);if(n.needsHillshadePrepare&&"offscreen"===t.renderPass)fi(t,n,o,s,e.StencilMode.disabled,a);else if("translucent"===t.renderPass){const e=l&&t.terrain?t.terrain.stencilModeForRTTOverlap(r):c[r.overscaledZ];pi(t,r,n,o,s,e,a);}}n.viewport.set([0,0,t.width,t.height]),t.resetStencilClippingMasks();},raster:function(t,i,o,r,n,s){if("translucent"!==t.renderPass)return;if(0===o.paint.get("raster-opacity"))return;if(!r.length)return;const a=t.context,l=a.gl,c=i.getSource(),h=t.useProgram("raster"),u=t.colorModeForRenderPass(),_=t.terrain&&t.terrain.renderingToTexture,[d,p]=c instanceof Pe||_?[{},r]:t.stencilConfigForOverlap(r),m=p[p.length-1].overscaledZ,f=!t.options.moving;for(const r of p){const n=_?e.DepthMode.disabled:t.depthModeForSublayer(r.overscaledZ-m,1===o.paint.get("raster-opacity")?e.DepthMode.ReadWrite:e.DepthMode.ReadOnly,l.LESS),p=r.toUnwrapped(),g=i.getTile(r);if(_&&(!g||!g.hasData()))continue;const v=_?r.projMatrix:t.transform.calculateProjMatrix(p,f),x=t.terrain&&_?t.terrain.stencilModeForRTTOverlap(r):d[r.overscaledZ],y=s?0:o.paint.get("raster-fade-duration");g.registerFadeDuration(y);const b=i.findLoadedParent(r,0),w=Mi(g,b,i,t.transform,y);let T,E;t.terrain&&t.terrain.prepareDrawTile();const C="nearest"===o.paint.get("raster-resampling")?l.NEAREST:l.LINEAR;a.activeTexture.set(l.TEXTURE0),g.texture.bind(C,l.CLAMP_TO_EDGE),a.activeTexture.set(l.TEXTURE1),b?(b.texture.bind(C,l.CLAMP_TO_EDGE),T=Math.pow(2,b.tileID.overscaledZ-g.tileID.overscaledZ),E=[g.tileID.canonical.x*T%1,g.tileID.canonical.y*T%1]):g.texture.bind(C,l.CLAMP_TO_EDGE),g.texture.useMipmap&&a.extTextureFilterAnisotropic&&t.transform.pitch>20&&l.texParameterf(l.TEXTURE_2D,a.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,a.extTextureFilterAnisotropicMax);const M=Ji(v,E||[0,0],T||1,w,o,c instanceof Pe?c.perspectiveTransform:[0,0]);if(t.prepareDrawProgram(a,h,p),c instanceof Pe)c.boundsBuffer&&c.boundsSegments&&h.draw(a,l.TRIANGLES,n,e.StencilMode.disabled,u,e.CullFaceMode.disabled,M,o.id,c.boundsBuffer,t.quadTriangleIndexBuffer,c.boundsSegments);else {const{tileBoundsBuffer:i,tileBoundsIndexBuffer:r,tileBoundsSegments:s}=t.getTileBoundsBuffers(g);h.draw(a,l.TRIANGLES,n,x,u,e.CullFaceMode.disabled,M,o.id,i,r,s);}}t.resetStencilClippingMasks();},background:function(t,i,o,r){const n=o.paint.get("background-color"),s=o.paint.get("background-opacity");if(0===s)return;const a=t.context,l=a.gl,c=t.transform,h=c.tileSize,u=o.paint.get("background-pattern");if(t.isPatternMissing(u))return;const _=!u&&1===n.a&&1===s&&t.opaquePassEnabledForLayer()?"opaque":"translucent";if(t.renderPass!==_)return;const d=e.StencilMode.disabled,p=t.depthModeForSublayer(0,"opaque"===_?e.DepthMode.ReadWrite:e.DepthMode.ReadOnly),m=t.colorModeForRenderPass(),f=t.useProgram(u?"backgroundPattern":"background");let g,v=r;v||(g=t.getBackgroundTiles(),v=Object.values(g).map((e=>e.tileID))),u&&(a.activeTexture.set(l.TEXTURE0),t.imageManager.bind(t.context));for(const _ of v){const v=_.toUnwrapped(),x=r?_.projMatrix:t.transform.calculateProjMatrix(v);t.prepareDrawTile();const y=i?i.getTile(_):g?g[_.key]:new e.Tile(_,h,c.zoom,t),b=u?no(x,s,t,u,{tileID:_,tileSize:h}):ro(x,s,n);t.prepareDrawProgram(a,f,v);const{tileBoundsBuffer:w,tileBoundsIndexBuffer:T,tileBoundsSegments:E}=t.getTileBoundsBuffers(y);f.draw(a,l.TRIANGLES,p,d,m,e.CullFaceMode.disabled,b,o.id,w,T,E);}},sky:function(t,i,o){const r=t.transform,n="mercator"===r.projection.name||"globe"===r.projection.name?1:e.smoothstep(7,8,r.zoom),s=o.paint.get("sky-opacity")*n;if(0===s)return;const a=t.context,l=o.paint.get("sky-type"),c=new e.DepthMode(a.gl.LEQUAL,e.DepthMode.ReadOnly,[0,1]),h=t.frameCounter/1e3%1;"atmosphere"===l?"offscreen"===t.renderPass?o.needsSkyboxCapture(t)&&(function(t,i,o,r){const n=t.context,s=n.gl;let a=i.skyboxFbo;if(!a){a=i.skyboxFbo=n.createFramebuffer(32,32,!1),i.skyboxGeometry=new Lo(n),i.skyboxTexture=n.gl.createTexture(),s.bindTexture(s.TEXTURE_CUBE_MAP,i.skyboxTexture),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MIN_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MAG_FILTER,s.LINEAR);for(let e=0;e<6;++e)s.texImage2D(s.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,s.RGBA,32,32,0,s.RGBA,s.UNSIGNED_BYTE,null);}n.bindFramebuffer.set(a.framebuffer),n.viewport.set([0,0,32,32]);const l=i.getCenter(t,!0),c=t.useProgram("skyboxCapture"),h=new Float64Array(16);e.identity(h),e.rotateY(h,h,.5*-Math.PI),Ao(n,i,c,h,l,0),e.identity(h),e.rotateY(h,h,.5*Math.PI),Ao(n,i,c,h,l,1),e.identity(h),e.rotateX(h,h,.5*-Math.PI),Ao(n,i,c,h,l,2),e.identity(h),e.rotateX(h,h,.5*Math.PI),Ao(n,i,c,h,l,3),e.identity(h),Ao(n,i,c,h,l,4),e.identity(h),e.rotateY(h,h,Math.PI),Ao(n,i,c,h,l,5),n.viewport.set([0,0,t.width,t.height]);}(t,o),o.markSkyboxValid(t)):"sky"===t.renderPass&&function(t,i,o,r,n){const s=t.context,a=s.gl,l=t.transform,c=t.useProgram("skybox");s.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_CUBE_MAP,i.skyboxTexture);const h=((e,t,i,o,r)=>({u_matrix:e,u_sun_direction:t,u_cubemap:0,u_opacity:o,u_temporal_offset:r}))(l.skyboxMatrix,i.getCenter(t,!1),0,r,n);t.prepareDrawProgram(s,c),c.draw(s,a.TRIANGLES,o,e.StencilMode.disabled,t.colorModeForRenderPass(),e.CullFaceMode.backCW,h,"skybox",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment);}(t,o,c,s,h):"gradient"===l&&"sky"===t.renderPass&&function(t,i,o,r,n){const s=t.context,a=s.gl,l=t.transform,c=t.useProgram("skyboxGradient");i.skyboxGeometry||(i.skyboxGeometry=new Lo(s)),s.activeTexture.set(a.TEXTURE0);let h=i.colorRampTexture;h||(h=i.colorRampTexture=new e.Texture(s,i.colorRamp,a.RGBA)),h.bind(a.LINEAR,a.CLAMP_TO_EDGE);const u=((t,i,o,r,n)=>({u_matrix:t,u_color_ramp:0,u_center_direction:i,u_radius:e.degToRad(o),u_opacity:r,u_temporal_offset:n}))(l.skyboxMatrix,i.getCenter(t,!1),i.paint.get("sky-gradient-radius"),r,n);t.prepareDrawProgram(s,c),c.draw(s,a.TRIANGLES,o,e.StencilMode.disabled,t.colorModeForRenderPass(),e.CullFaceMode.backCW,u,"skyboxGradient",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment);}(t,o,c,s,h);},debug:function(e,t,i){for(let o=0;oo)return void(this.transform.fogCullDistSq=null);const r=i+.78*(o-i);this.transform.fogCullDistSq=r*r;}get terrain(){return this.transform._terrainEnabled()&&this._terrain&&this._terrain.enabled?this._terrain:null}resize(t,i){if(this.width=t*e.exported.devicePixelRatio,this.height=i*e.exported.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const e of this.style.order)this.style._layers[e].resize();}setup(){const t=this.context,i=new e.StructArrayLayout2i4;i.emplaceBack(0,0),i.emplaceBack(e.EXTENT,0),i.emplaceBack(0,e.EXTENT),i.emplaceBack(e.EXTENT,e.EXTENT),this.tileExtentBuffer=t.createVertexBuffer(i,e.posAttributes.members),this.tileExtentSegments=e.SegmentVector.simpleSegment(0,0,4,2);const o=new e.StructArrayLayout2i4;o.emplaceBack(0,0),o.emplaceBack(e.EXTENT,0),o.emplaceBack(0,e.EXTENT),o.emplaceBack(e.EXTENT,e.EXTENT),this.debugBuffer=t.createVertexBuffer(o,e.posAttributes.members),this.debugSegments=e.SegmentVector.simpleSegment(0,0,4,5);const r=new e.StructArrayLayout2i4;r.emplaceBack(-1,-1),r.emplaceBack(1,-1),r.emplaceBack(-1,1),r.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(r,e.posAttributes.members),this.viewportSegments=e.SegmentVector.simpleSegment(0,0,4,2);const n=new e.StructArrayLayout4i8;n.emplaceBack(0,0,0,0),n.emplaceBack(e.EXTENT,0,e.EXTENT,0),n.emplaceBack(0,e.EXTENT,0,e.EXTENT),n.emplaceBack(e.EXTENT,e.EXTENT,e.EXTENT,e.EXTENT),this.mercatorBoundsBuffer=t.createVertexBuffer(n,e.boundsAttributes.members),this.mercatorBoundsSegments=e.SegmentVector.simpleSegment(0,0,4,2);const s=new e.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(s);const a=new e.StructArrayLayout1ui2;for(const e of [0,1,3,2,0])a.emplaceBack(e);this.debugIndexBuffer=t.createIndexBuffer(a),this.emptyTexture=new e.Texture(t,new e.RGBAImage({width:1,height:1},Uint8Array.of(0,0,0,0)),t.gl.RGBA),this.identityMat=e.create();const l=this.context.gl;this.stencilClearMode=new e.StencilMode({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO),this.loadTimeStamps.push(e.window.performance.now()),this.atmosphereBuffer=new Ro(this.context);}getMercatorTileBoundsBuffers(){return {tileBoundsBuffer:this.mercatorBoundsBuffer,tileBoundsIndexBuffer:this.quadTriangleIndexBuffer,tileBoundsSegments:this.mercatorBoundsSegments}}getTileBoundsBuffers(e){return e._makeTileBoundsBuffers(this.context,this.transform.projection),e._tileBoundsBuffer?{tileBoundsBuffer:e._tileBoundsBuffer,tileBoundsIndexBuffer:e._tileBoundsIndexBuffer,tileBoundsSegments:e._tileBoundsSegments}:this.getMercatorTileBoundsBuffers()}clearStencil(){const t=this.context,i=t.gl;this.nextStencilID=1,this.currentStencilSource=void 0,this._tileClippingMaskIDs={},this.useProgram("clippingMask").draw(t,i.TRIANGLES,e.DepthMode.disabled,this.stencilClearMode,e.ColorMode.disabled,e.CullFaceMode.disabled,Ci(this.identityMat),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments);}resetStencilClippingMasks(){this.terrain||(this.currentStencilSource=void 0,this._tileClippingMaskIDs={});}_renderTileClippingMasks(t,i,o){if(!i||this.currentStencilSource===i.id||!t.isTileClipped()||!o||0===o.length)return;if(this._tileClippingMaskIDs&&!this.terrain){let e=!1;for(const t of o)if(void 0===this._tileClippingMaskIDs[t.key]){e=!0;break}if(!e)return}this.currentStencilSource=i.id;const r=this.context,n=r.gl;this.nextStencilID+o.length>256&&this.clearStencil(),r.setColorMode(e.ColorMode.disabled),r.setDepthMode(e.DepthMode.disabled);const s=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const t of o){const o=i.getTile(t),a=this._tileClippingMaskIDs[t.key]=this.nextStencilID++,{tileBoundsBuffer:l,tileBoundsIndexBuffer:c,tileBoundsSegments:h}=this.getTileBoundsBuffers(o);s.draw(r,n.TRIANGLES,e.DepthMode.disabled,new e.StencilMode({func:n.ALWAYS,mask:0},a,255,n.KEEP,n.KEEP,n.REPLACE),e.ColorMode.disabled,e.CullFaceMode.disabled,Ci(t.projMatrix),"$clipping",l,c,h);}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,i=this.context.gl;return new e.StencilMode({func:i.NOTEQUAL,mask:255},t,255,i.KEEP,i.KEEP,i.REPLACE)}stencilModeForClipping(t){if(this.terrain)return this.terrain.stencilModeForRTTOverlap(t);const i=this.context.gl;return new e.StencilMode({func:i.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,i.KEEP,i.KEEP,i.REPLACE)}stencilConfigForOverlap(t){const i=this.context.gl,o=t.sort(((e,t)=>t.overscaledZ-e.overscaledZ)),r=o[o.length-1].overscaledZ,n=o[0].overscaledZ-r+1;if(n>1){this.currentStencilSource=void 0,this.nextStencilID+n>256&&this.clearStencil();const t={};for(let o=0;o=0;this.currentLayer--){const e=this.style._layers[o[this.currentLayer]],i=t._getLayerSourceCache(e);if(e.isSky())continue;const r=i?s[i.id]:void 0;this._renderTileClippingMasks(e,i,r),this.renderLayer(this,i,e,r);}if(this.style.fog&&this.transform.projection.supportsFog&&function(t,i){const o=t.context,r=o.gl,n=t.transform,s=new e.DepthMode(r.LEQUAL,e.DepthMode.ReadOnly,[0,1]),a=t.useProgram("globeAtmosphere",null,"globe"===n.projection.name?["PROJECTION_GLOBE_VIEW","FOG"]:["FOG"]),l=e.globeToMercatorTransition(n.zoom),c=i.properties.get("color").toArray01(),h=i.properties.get("high-color").toArray01(),u=i.properties.get("space-color").toArray01PremultipliedAlpha(),_=e.identity$1([]);e.rotateY$1(_,_,-e.degToRad(n._center.lng)),e.rotateX$1(_,_,e.degToRad(n._center.lat)),e.rotateZ$1(_,_,n.angle),e.rotateX$1(_,_,-n._pitch);const d=e.fromQuat(new Float32Array(16),_),p=e.mapValue(i.properties.get("star-intensity"),0,1,0,.25),m=5e-4,f=e.mapValue(i.properties.get("horizon-blend"),0,1,m,.25),g=e.globeUseCustomAntiAliasing(t,o,n)&&f===m?n.worldSize/(2*Math.PI*1.025)-1:n.globeRadius,v=t.frameCounter/1e3%1,x=e.length(n.globeCenterInViewSpace),y=Math.sqrt(Math.pow(x,2)-Math.pow(g,2)),b=Math.acos(y/x),w=((t,i,o,r,n,s,a,l,c,h,u,_,d,p)=>({u_frustum_tl:t,u_frustum_tr:i,u_frustum_br:o,u_frustum_bl:r,u_horizon:n,u_transition:s,u_fadeout_range:a,u_color:l,u_high_color:c,u_space_color:h,u_star_intensity:u,u_star_size:5*e.exported.devicePixelRatio,u_star_density:0,u_temporal_offset:_,u_horizon_angle:d,u_rotation_matrix:p}))(n.frustumCorners.TL,n.frustumCorners.TR,n.frustumCorners.BR,n.frustumCorners.BL,n.frustumCorners.horizon,l,f,c,h,u,p,v,b,d);t.prepareDrawProgram(o,a);const T=t.atmosphereBuffer;T&&a.draw(o,r.TRIANGLES,s,e.StencilMode.disabled,e.ColorMode.alphaBlended,e.CullFaceMode.backCW,w,"skybox",T.vertexBuffer,T.indexBuffer,T.segments);}(this,this.style.fog),this.renderPass="sky",(e.globeToMercatorTransition(this.transform.zoom)>0||"globe"!==this.transform.projection.name)&&this.transform.isHorizonVisible())for(this.currentLayer=0;this.currentLayer{const o=t._getLayerSourceCache(e);o&&!e.isHidden(this.transform.zoom)&&(!i||i.getSource().maxzoom0?t.pop():null}isPatternMissing(e){return null===e||void 0!==e&&!this.imageManager.getPattern(e.toString())}terrainRenderModeElevated(){return this.style&&!!this.style.getTerrain()&&!!this.terrain&&!this.terrain.renderingToTexture}currentGlobalDefines(){const e=this.terrain&&this.terrain.renderingToTexture,t=this.terrain&&0===this.terrain.exaggeration(),i=this.style&&this.style.fog,o=[];return this.terrainRenderModeElevated()&&o.push("TERRAIN"),"globe"===this.transform.projection.name&&o.push("GLOBE"),t&&o.push("ZERO_EXAGGERATION"),i&&!e&&0!==i.getOpacity(this.transform.pitch)&&o.push("FOG"),e&&o.push("RENDER_TO_TEXTURE"),this._showOverdrawInspector&&o.push("OVERDRAW_INSPECTOR"),o}useProgram(e,t,i){this.cache=this.cache||{};const o=i||[],r=this.currentGlobalDefines().concat(o),n=Li.cacheKey(ci[e],e,r,t);return this.cache[n]||(this.cache[n]=new Li(this.context,e,ci[e],t,so[e],r)),this.cache[n]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.frontFace.setDefault(),this.context.cullFaceSide.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault();}setBaseState(){const e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD);}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=e.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new e.Texture(this.context,this.debugOverlayCanvas,this.context.gl.RGBA));}destroy(){this._terrain&&this._terrain.destroy(),this.globeSharedBuffers&&this.globeSharedBuffers.destroy(),this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy(),this.atmosphereBuffer&&this.atmosphereBuffer.destroy();}prepareDrawTile(){this.terrain&&this.terrain.prepareDrawTile();}prepareDrawProgram(t,i,o){if(this.terrain&&this.terrain.renderingToTexture)return;const r=this.style.fog;if(r){const n=r.getOpacity(this.transform.pitch),s=((t,i,o,r,n,s,a,l,c,h,u)=>{const _=t.transform,d=i.properties.get("color").toArray01();d[3]=r;const p=t.frameCounter/1e3%1;return {u_fog_matrix:o?_.calculateFogTileMatrix(o):t.identityMat,u_fog_range:i.getFovAdjustedRange(_._fov),u_fog_color:d,u_fog_horizon_blend:i.properties.get("horizon-blend"),u_fog_temporal_offset:p,u_frustum_tl:n,u_frustum_tr:s,u_frustum_br:a,u_frustum_bl:l,u_globe_pos:c,u_globe_radius:h,u_viewport:u,u_globe_transition:e.globeToMercatorTransition(_.zoom),u_is_globe:+("globe"===_.projection.name)}})(this,r,o,n,this.transform.frustumCorners.TL,this.transform.frustumCorners.TR,this.transform.frustumCorners.BR,this.transform.frustumCorners.BL,this.transform.globeCenterInViewSpace,this.transform.globeRadius,[this.transform.width*e.exported.devicePixelRatio,this.transform.height*e.exported.devicePixelRatio]);i.setFogUniformValues(t,s);}}setTileLoadedFlag(e){this.tileLoaded=e;}saveCanvasCopy(){const e=this.canvasCopy();e&&(this.frameCopies.push(e),this.tileLoaded=!1);}canvasCopy(){const e=this.context.gl,t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.copyTexImage2D(e.TEXTURE_2D,0,e.RGBA,0,0,e.drawingBufferWidth,e.drawingBufferHeight,0),t}getCanvasCopiesAndTimestamps(){return {canvasCopies:this.frameCopies,timeStamps:this.loadTimeStamps}}averageElevationNeedsEasing(){if(!this.transform._elevation)return !1;const e=this.style&&this.style.fog;return !!e&&0!==e.getOpacity(this.transform.pitch)}getBackgroundTiles(){const t=this._backgroundTiles,i=this._backgroundTiles={},o=this.transform.coveringTiles({tileSize:512});for(const r of o)i[r.key]=t[r.key]||new e.Tile(r,512,this.transform.tileZoom,this);return i}clearBackgroundTiles(){this._backgroundTiles={};}}class ko{constructor(e=0,t=0,i=0,o=0){if(isNaN(e)||e<0||isNaN(t)||t<0||isNaN(i)||i<0||isNaN(o)||o<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=e,this.bottom=t,this.left=i,this.right=o;}interpolate(t,i,o){return null!=i.top&&null!=t.top&&(this.top=e.number(t.top,i.top,o)),null!=i.bottom&&null!=t.bottom&&(this.bottom=e.number(t.bottom,i.bottom,o)),null!=i.left&&null!=t.left&&(this.left=e.number(t.left,i.left,o)),null!=i.right&&null!=t.right&&(this.right=e.number(t.right,i.right,o)),this}getCenter(t,i){const o=e.clamp((this.left+t-this.right)/2,0,t),r=e.clamp((this.top+i-this.bottom)/2,0,i);return new e.Point(o,r)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new ko(this.top,this.bottom,this.left,this.right)}toJSON(){return {top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}function Fo(t,i){const o=e.getColumn(t,3);e.fromQuat(t,i),e.setColumn(t,3,o);}function Uo(t,i){const o=e.identity$1([]);return e.rotateZ$1(o,o,-i),e.rotateX$1(o,o,-t),o}function No(t,i){const o=[t[0],t[1],0],r=[i[0],i[1],0];if(e.length(o)>=1e-15){const t=e.normalize([],o);e.scale$2(r,t,e.dot(r,t)),i[0]=r[0],i[1]=r[1];}const n=e.cross([],i,t);if(e.len(n)<1e-15)return null;const s=Math.atan2(-n[1],n[0]);return Uo(Math.atan2(Math.sqrt(t[0]*t[0]+t[1]*t[1]),-t[2]),s)}class jo{constructor(e,t){this.position=e,this.orientation=t;}get position(){return this._position}set position(t){if(t){const i=t instanceof e.MercatorCoordinate?t:new e.MercatorCoordinate(t[0],t[1],t[2]);this._renderWorldCopies&&(i.x=e.wrap(i.x,0,1)),this._position=i;}else this._position=null;}lookAtPoint(t,i){if(this.orientation=null,!this.position)return;const o=this.position,r=this._elevation?this._elevation.getAtPointOrZero(e.MercatorCoordinate.fromLngLat(t)):0,n=e.MercatorCoordinate.fromLngLat(t,r),s=[n.x-o.x,n.y-o.y,n.z-o.z];i||(i=[0,0,1]),i[2]=Math.abs(i[2]),this.orientation=No(s,i);}setPitchBearing(t,i){this.orientation=Uo(e.degToRad(t),e.degToRad(-i));}}class Go{constructor(t,i){this._transform=e.identity([]),this.orientation=i,this.position=t;}get mercatorPosition(){const t=this.position;return new e.MercatorCoordinate(t[0],t[1],t[2])}get position(){const t=e.getColumn(this._transform,3);return [t[0],t[1],t[2]]}set position(t){var i;t&&e.setColumn(this._transform,3,[(i=t)[0],i[1],i[2],1]);}get orientation(){return this._orientation}set orientation(t){this._orientation=t||e.identity$1([]),t&&Fo(this._transform,this._orientation);}getPitchBearing(){const e=this.forward(),t=this.right();return {bearing:Math.atan2(-t[1],t[0]),pitch:Math.atan2(Math.sqrt(e[0]*e[0]+e[1]*e[1]),-e[2])}}setPitchBearing(e,t){this._orientation=Uo(e,t),Fo(this._transform,this._orientation);}forward(){const t=e.getColumn(this._transform,2);return [-t[0],-t[1],-t[2]]}up(){const t=e.getColumn(this._transform,1);return [-t[0],-t[1],-t[2]]}right(){const t=e.getColumn(this._transform,0);return [t[0],t[1],t[2]]}getCameraToWorld(t,i){const o=new Float64Array(16);return e.invert(o,this.getWorldToCamera(t,i)),o}getWorldToCameraPosition(t,i,o){const r=this.position;e.scale$2(r,r,-t);const n=new Float64Array(16);return e.fromScaling(n,[o,o,o]),e.translate(n,n,r),n[10]*=i,n}getWorldToCamera(t,i){const o=new Float64Array(16),r=new Float64Array(4),n=this.position;return e.conjugate(r,this._orientation),e.scale$2(n,n,-t),e.fromQuat(o,r),e.translate(o,o,n),o[1]*=-1,o[5]*=-1,o[9]*=-1,o[13]*=-1,o[8]*=i,o[9]*=i,o[10]*=i,o[11]*=i,o}getCameraToClipPerspective(t,i,o,r){const n=new Float64Array(16);return e.perspective(n,t,i,o,r),n}getDistanceToElevation(t,i=!1){const o=0===t?0:e.mercatorZfromAltitude(t,i?e.latFromMercatorY(this.position[1]):this.position[1]),r=this.forward();return (o-this.position[2])/r[2]}clone(){return new Go([...this.position],[...this.orientation])}}function Zo(t,i){const o=Wo(t.projection,t.zoom,t.width,t.height),r=function(t,i,o,r,n){const s=new e.LngLat(o.lng-180*Xo,o.lat),a=new e.LngLat(o.lng+180*Xo,o.lat),l=t.project(s.lng,s.lat),c=t.project(a.lng,a.lat),h=-Math.atan2(c.y-l.y,c.x-l.x),u=e.MercatorCoordinate.fromLngLat(o);u.y=e.clamp(u.y,-1+Xo,1-Xo);const _=u.toLngLat(),d=t.project(_.lng,_.lat),p=e.MercatorCoordinate.fromLngLat(_);p.x+=Xo;const m=p.toLngLat(),f=t.project(m.lng,m.lat),g=$o(f.x-d.x,f.y-d.y,h),v=e.MercatorCoordinate.fromLngLat(_);v.y+=Xo;const x=v.toLngLat(),y=t.project(x.lng,x.lat),b=$o(y.x-d.x,y.y-d.y,h),w=Math.abs(g.x)/Math.abs(b.y),T=e.identity([]);e.rotateZ(T,T,-h*(1-(n?0:r)));const E=e.identity([]);return e.scale(E,E,[1,1-(1-w)*r,1]),E[4]=-b.x/b.y*r,e.rotateZ(E,E,h),e.multiply(E,T,E),E}(t.projection,0,t.center,o,i),n=Vo(t);return e.scale(r,r,[n,n,1]),r}function Vo(t){const i=t.projection,o=Wo(t.projection,t.zoom,t.width,t.height),r=qo(i,t.center),n=qo(i,e.LngLat.convert(i.center));return Math.pow(2,r*o+(1-o)*n)}function Wo(t,i,o,r,n=1/0){const s=t.range;if(!s)return 0;const a=Math.min(n,Math.max(o,r)),l=Math.log(a/1024)/Math.LN2;return e.smoothstep(s[0]+l,s[1]+l,i)}const Xo=1/4e4;function qo(t,i){const o=e.clamp(i.lat,-e.MAX_MERCATOR_LATITUDE,e.MAX_MERCATOR_LATITUDE),r=new e.LngLat(i.lng-180*Xo,o),n=new e.LngLat(i.lng+180*Xo,o),s=t.project(r.lng,o),a=t.project(n.lng,o),l=e.MercatorCoordinate.fromLngLat(r),c=e.MercatorCoordinate.fromLngLat(n),h=a.x-s.x,u=a.y-s.y,_=c.x-l.x,d=c.y-l.y,p=Math.sqrt((_*_+d*d)/(h*h+u*u));return Math.log(p)/Math.LN2}function $o(e,t,i){const o=Math.cos(i),r=Math.sin(i);return {x:e*o-t*r,y:e*r+t*o}}class Ho{constructor(t,i,o,r,n,s,a){this.tileSize=512,this._renderWorldCopies=void 0===n||n,this._minZoom=t||0,this._maxZoom=i||22,this._minPitch=null==o?0:o,this._maxPitch=null==r?60:r,this.setProjection(s),this.setMaxBounds(a),this.width=0,this.height=0,this._center=new e.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._nearZ=0,this._farZ=0,this._unmodified=!0,this._edgeInsets=new ko,this._projMatrixCache={},this._alignedProjMatrixCache={},this._fogTileMatrixCache={},this._distanceTileDataCache={},this._camera=new Go,this._centerAltitude=0,this._averageElevation=0,this.cameraElevationReference="ground",this._pixelsPerMercatorPixel=1,this.globeRadius=0,this.globeCenterInViewSpace=[0,0,0],this._horizonShift=.1;}clone(){const e=new Ho(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies,this.getProjection());return e._elevation=this._elevation,e._centerAltitude=this._centerAltitude,e._centerAltitudeValidForExaggeration=this._centerAltitudeValidForExaggeration,e.tileSize=this.tileSize,e.mercatorFromTransition=this.mercatorFromTransition,e.width=this.width,e.height=this.height,e.cameraElevationReference=this.cameraElevationReference,e._center=this._center,e._setZoom(this.zoom),e._seaLevelZoom=this._seaLevelZoom,e.angle=this.angle,e._fov=this._fov,e._pitch=this._pitch,e._nearZ=this._nearZ,e._farZ=this._farZ,e._averageElevation=this._averageElevation,e._unmodified=this._unmodified,e._edgeInsets=this._edgeInsets.clone(),e._camera=this._camera.clone(),e._calcMatrices(),e.freezeTileCoverage=this.freezeTileCoverage,e.frustumCorners=this.frustumCorners,e}get elevation(){return this._elevation}set elevation(e){this._elevation!==e&&(this._elevation=e,this._updateCameraOnTerrain(),this._calcMatrices());}updateElevation(e,t=!1){const i=this._elevation&&this._elevation.exaggeration()!==this._centerAltitudeValidForExaggeration;(null==this._seaLevelZoom||i)&&this._updateCameraOnTerrain(),(e||i)&&this._constrainCamera(t),this._calcMatrices();}getProjection(){return e.pick(this.projection,["name","center","parallels"])}setProjection(i){this.projectionOptions=i||{name:"mercator"};const o=this.projection?this.getProjection():void 0;this.projection=e.getProjection(this.projectionOptions);const r=!t(o,this.getProjection());return r&&this._calcMatrices(),this.mercatorFromTransition=!1,r}setMercatorFromTransition(){const t=this.projection.name;this.mercatorFromTransition=!0,this.projectionOptions={name:"mercator"},this.projection=e.getProjection({name:"mercator"});const i=t!==this.projection.name;return i&&this._calcMatrices(),i}get minZoom(){return this._minZoom}set minZoom(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e));}get maxZoom(){return this._maxZoom}set maxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e));}get minPitch(){return this._minPitch}set minPitch(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e));}get maxPitch(){return this._maxPitch}set maxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e));}get renderWorldCopies(){return this._renderWorldCopies&&!0===this.projection.supportsWorldCopies}set renderWorldCopies(e){void 0===e?e=!0:null===e&&(e=!1),this._renderWorldCopies=e;}get worldSize(){return this.tileSize*this.scale}get cameraWorldSizeForFog(){const e=Math.max(this._camera.getDistanceToElevation(this._averageElevation),Number.EPSILON);return this._worldSizeFromZoom(this._zoomFromMercatorZ(e))}get cameraWorldSize(){const e=Math.max(this._camera.getDistanceToElevation(this._averageElevation,!0),Number.EPSILON);return this._worldSizeFromZoom(this._zoomFromMercatorZ(e))}get pixelsPerMeter(){return this.projection.pixelsPerMeter(this.center.lat,this.worldSize)}get cameraPixelsPerMeter(){return e.mercatorZfromAltitude(this.center.lat,this.cameraWorldSizeForFog)}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new e.Point(this.width,this.height)}get bearing(){return e.wrap(this.rotation,-180,180)}set bearing(e){this.rotation=e;}get rotation(){return -this.angle/Math.PI*180}set rotation(t){const i=-t*Math.PI/180;var o;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=(o=new e.ARRAY_TYPE(4),e.ARRAY_TYPE!=Float32Array&&(o[1]=0,o[2]=0),o[0]=1,o[3]=1,o),function(e,t,i){var o=t[0],r=t[1],n=t[2],s=t[3],a=Math.sin(i),l=Math.cos(i);e[0]=o*l+n*a,e[1]=r*l+s*a,e[2]=o*-a+n*l,e[3]=r*-a+s*l;}(this.rotationMatrix,this.rotationMatrix,this.angle));}get pitch(){return this._pitch/Math.PI*180}set pitch(t){const i=e.clamp(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices());}get aspect(){return this.width/this.height}get fov(){return this._fov/Math.PI*180}get fovX(){return this._fov}get fovY(){const e=1/Math.tan(.5*this.fovX);return 2*Math.atan(1/this.aspect/e)}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=e.degToRad(t),this._calcMatrices());}get averageElevation(){return this._averageElevation}set averageElevation(e){this._averageElevation=e,this._calcFogMatrices(),this._distanceTileDataCache={};}get zoom(){return this._zoom}set zoom(e){const t=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==t&&(this._unmodified=!1,this._setZoom(t),this._updateSeaLevelZoom(),this._constrain(),this._calcMatrices());}_setZoom(e){this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom;}_updateCameraOnTerrain(){if(!this._elevation||!this._elevation.isDataAvailableAtPoint(this.locationCoordinate(this.center)))return this._centerAltitude=0,this._seaLevelZoom=null,void(this._centerAltitudeValidForExaggeration=void 0);const e=this._elevation;this._centerAltitude=e.getAtPointOrZero(this.locationCoordinate(this.center)),this._centerAltitudeValidForExaggeration=e.exaggeration(),this._updateSeaLevelZoom();}_updateSeaLevelZoom(){void 0!==this._centerAltitudeValidForExaggeration&&(this._seaLevelZoom=this._zoomFromMercatorZ((this.pixelsPerMeter*this._centerAltitude+this.cameraToCenterDistance)/this.worldSize));}sampleAverageElevation(){if(!this._elevation)return 0;const t=this._elevation,i=[[.5,.2],[.3,.5],[.5,.5],[.7,.5],[.5,.8]],o=this.horizonLineFromTop();let r=0,n=0;for(let s=0;st.maxzoom&&(i=t.maxzoom);const s=this.locationCoordinate(this.center),a=this.center.lat,l=1<{const i=1/4e4,o=new e.MercatorCoordinate(t.x+i,t.y,t.z),r=new e.MercatorCoordinate(t.x,t.y+i,t.z),n=t.toLngLat(),s=o.toLngLat(),a=r.toLngLat(),l=this.locationCoordinate(n),c=this.locationCoordinate(s),h=this.locationCoordinate(a),u=Math.hypot(c.x-l.x,c.y-l.y),_=Math.hypot(h.x-l.x,h.y-l.y);return Math.sqrt(u*_)*b/i},T=t=>{const i=x,o=y;return {aabb:e.tileAABB(this,l,0,0,0,t,o,i,this.projection),zoom:0,x:0,y:0,minZ:o,maxZ:i,wrap:t,fullyVisible:!1}},E=[];let C=[];const M=i,I=t.reparseOverscaled?o:i,P=e=>e*e,S=P((m-this._centerAltitude)*p),D=e=>{if(!this._elevation||!e.tileID||!n)return;const t=this._elevation.getMinMaxForTile(e.tileID),i=e.aabb;t?(i.min[2]=t.min,i.max[2]=t.max,i.center[2]=(i.min[2]+i.max[2])/2):(e.shouldSplit=L(e),e.shouldSplit||(i.min[2]=i.max[2]=i.center[2]=this._centerAltitude));},L=t=>{if(t.zoom=.9)return !0}else if(r&&(s=P(t.aabb.distanceZ(f)*p)),this.projection.isReprojectedInTileSpace&&o<=5){const i=Math.pow(2,t.zoom),o=w(new e.MercatorCoordinate((t.x+.5)/i,(t.y+.5)/i));l=o>.85?1:o;}const c=i*i+n*n+s,u=P((1<{if(t*P(.707)0;){const o=E.pop(),s=o.x,a=o.y;let u=o.fullyVisible;if(!u){const e=o.aabb.intersects(_);if(0===e)continue;u=2===e;}if(o.zoom!==M&&L(o))for(let t=0;t<4;t++){const i=(s<<1)+t%2,c=(a<<1)+(t>>1),_={aabb:n?o.aabb.quadrant(t):e.tileAABB(this,l,o.zoom+1,i,c,o.wrap,o.minZ,o.maxZ,this.projection),zoom:o.zoom+1,x:i,y:c,wrap:o.wrap,fullyVisible:u,tileID:void 0,shouldSplit:void 0,minZ:o.minZ,maxZ:o.maxZ};r&&!h&&(_.tileID=new e.OverscaledTileID(o.zoom+1===M?I:o.zoom+1,o.wrap,o.zoom+1,i,c),D(_)),E.push(_);}else {const r=o.zoom===M?I:o.zoom;if(t.minzoom&&t.minzoom>r)continue;const n=c[0]-(.5+s+(o.wrap<{const n=[0,0,0,1],s=[e.EXTENT,e.EXTENT,0,1],a=this.calculateFogTileMatrix(r.tileID.toUnwrapped());e.transformMat4$1(n,n,a),e.transformMat4$1(s,s,a);const l=e.getAABBPointSquareDist(n,s);if(0===l)return !0;let c=!1;const h=this._elevation;if(h&&l>i&&0!==o){const i=this.calculateProjMatrix(r.tileID.toUnwrapped());let n;t.isTerrainDEM||(n=h.getMinMaxForTile(r.tileID)),n||(n={min:y,max:x});const s=e.furthestTileCorner(this.rotation),a=[s[0]*e.EXTENT,s[1]*e.EXTENT,n.max];e.transformMat4(a,a,i),c=(1-a[1])*this.height*.5e.distanceSq-t.distanceSq)).map((e=>e.tileID))}resize(e,t){this.width=e,this.height=t,this.pixelsToGLUnits=[2/e,-2/t],this._constrain(),this._calcMatrices();}get unmodified(){return this._unmodified}zoomScale(e){return Math.pow(2,e)}scaleZoom(e){return Math.log(e)/Math.LN2}project(t){const i=e.clamp(t.lat,-e.MAX_MERCATOR_LATITUDE,e.MAX_MERCATOR_LATITUDE),o=this.projection.project(t.lng,i);return new e.Point(o.x*this.worldSize,o.y*this.worldSize)}unproject(e){return this.projection.unproject(e.x/this.worldSize,e.y/this.worldSize)}get point(){return this.project(this.center)}get pointMerc(){return this.point._div(this.worldSize)}get pixelsPerMeterRatio(){return this.pixelsPerMeter/e.mercatorZfromAltitude(1,this.center.lat)/this.worldSize}setLocationAtPoint(t,i){let o,r;const n=this.centerPoint;if("globe"===this.projection.name){const e=this.worldSize;o=(i.x-n.x)/e,r=(i.y-n.y)/e;}else {const e=this.pointCoordinate(i),t=this.pointCoordinate(n);o=e.x-t.x,r=e.y-t.y;}const s=this.locationCoordinate(t);this.setLocation(new e.MercatorCoordinate(s.x-o,s.y-r));}setLocation(e){this.center=this.coordinateLocation(e),this.projection.wrap&&(this.center=this.center.wrap());}locationPoint(e){return this.projection.locationPoint(this,e)}locationPoint3D(e){return this.projection.locationPoint(this,e,!0)}pointLocation(e){return this.coordinateLocation(this.pointCoordinate(e))}pointLocation3D(e){return this.coordinateLocation(this.pointCoordinate3D(e))}locationCoordinate(t,i){const o=i?e.mercatorZfromAltitude(i,t.lat):void 0,r=this.projection.project(t.lng,t.lat);return new e.MercatorCoordinate(r.x,r.y,o)}coordinateLocation(e){return this.projection.unproject(e.x,e.y)}pointRayIntersection(t,i){const o=null!=i?i:this._centerAltitude,r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];e.transformMat4$1(r,r,this.pixelMatrixInverse),e.transformMat4$1(n,n,this.pixelMatrixInverse);const s=n[3];e.scale$1(r,r,1/r[3]),e.scale$1(n,n,1/s);const a=r[2],l=n[2];return {p0:r,p1:n,t:a===l?0:(o-a)/(l-a)}}screenPointToMercatorRay(t){const i=[t.x,t.y,0,1],o=[t.x,t.y,1,1];return e.transformMat4$1(i,i,this.pixelMatrixInverse),e.transformMat4$1(o,o,this.pixelMatrixInverse),e.scale$1(i,i,1/i[3]),e.scale$1(o,o,1/o[3]),i[2]=e.mercatorZfromAltitude(i[2],this._center.lat)*this.worldSize,o[2]=e.mercatorZfromAltitude(o[2],this._center.lat)*this.worldSize,e.scale$1(i,i,1/this.worldSize),e.scale$1(o,o,1/this.worldSize),new e.Ray([i[0],i[1],i[2]],e.normalize([],e.sub([],o,i)))}rayIntersectionCoordinate(t){const{p0:i,p1:o,t:r}=t,n=e.mercatorZfromAltitude(i[2],this._center.lat),s=e.mercatorZfromAltitude(o[2],this._center.lat);return new e.MercatorCoordinate(e.number(i[0],o[0],r)/this.worldSize,e.number(i[1],o[1],r)/this.worldSize,e.number(n,s,r))}pointCoordinate(e,t=this._centerAltitude){return this.projection.pointCoordinate(this,e.x,e.y,t)}pointCoordinate3D(t){if(!this.elevation)return this.pointCoordinate(t);let i=this.projection.pointCoordinate3D(this,t.x,t.y);if(i)return new e.MercatorCoordinate(i[0],i[1],i[2]);let o=0,r=this.horizonLineFromTop();if(t.y>r)return this.pointCoordinate(t);const n=.02*r,s=t.clone();for(let t=0;t<10&&r-o>n;t++){s.y=e.number(o,r,.66);const t=this.projection.pointCoordinate3D(this,s.x,s.y);t?(r=s.y,i=t):o=s.y;}return i?new e.MercatorCoordinate(i[0],i[1],i[2]):this.pointCoordinate(t)}isPointAboveHorizon(e){return this.projection.isPointAboveHorizon(this,e)}isPointOnSurface(t){if(t.y<0||t.y>this.height||t.x<0||t.x>this.width)return !1;if(this.elevation||this.zoom>=e.GLOBE_ZOOM_THRESHOLD_MAX)return !this.isPointAboveHorizon(t);const i=this.pointCoordinate(t);return i.y>=0&&i.y<=1}_coordinatePoint(t,i){const o=i&&this.elevation?this.elevation.getAtPointOrZero(t,this._centerAltitude):this._centerAltitude,r=[t.x*this.worldSize,t.y*this.worldSize,o+t.toAltitude(),1];return e.transformMat4$1(r,r,this.pixelMatrix),r[3]>0?new e.Point(r[0]/r[3],r[1]/r[3]):new e.Point(Number.MAX_VALUE,Number.MAX_VALUE)}_getBoundsNonRectangular(){const{top:t,left:i}=this._edgeInsets,o=this.height-this._edgeInsets.bottom,r=this.width-this._edgeInsets.right,n=this.pointLocation3D(new e.Point(i,t)),s=this.pointLocation3D(new e.Point(r,t)),a=this.pointLocation3D(new e.Point(r,o)),l=this.pointLocation3D(new e.Point(i,o));let c=Math.min(n.lng,s.lng,a.lng,l.lng),h=Math.max(n.lng,s.lng,a.lng,l.lng),u=Math.min(n.lat,s.lat,a.lat,l.lat),_=Math.max(n.lat,s.lat,a.lat,l.lat);const d=Math.pow(2,-this.zoom)/16*270,p="globe"===this.projection.name?1:4,m=(t,i,o,r,n)=>{const s=(t+o)/2,a=(i+r)/2,l=new e.Point(s,a),{lng:f,lat:g}=this.pointLocation3D(l),v=Math.max(0,c-f,u-g,f-h,g-_);c=Math.min(c,f),h=Math.max(h,f),u=Math.min(u,g),_=Math.max(_,g),(nd)&&(m(t,i,s,a,n+1),m(s,a,o,r,n+1));};if(m(i,t,r,t,1),m(r,t,r,o,1),m(r,o,i,o,1),m(i,o,i,t,1),"globe"===this.projection.name){const[t,i]=e.polesInViewport(this);t?(_=90,h=180,c=-180):i&&(u=-90,h=180,c=-180);}return new e.LngLatBounds(new e.LngLat(c,u),new e.LngLat(h,_))}_getBoundsRectangular(t,i){const{top:o,left:r}=this._edgeInsets,n=this.height-this._edgeInsets.bottom,s=this.width-this._edgeInsets.right,a=new e.Point(r,o),l=new e.Point(s,o),c=new e.Point(s,n),h=new e.Point(r,n);let u=this.pointCoordinate(a,t),_=this.pointCoordinate(l,t);const d=this.pointCoordinate(c,i),p=this.pointCoordinate(h,i),m=(e,t)=>(t.y-e.y)/(t.x-e.x);return u.y>1&&_.y>=0?u=new e.MercatorCoordinate((1-p.y)/m(p,u)+p.x,1):u.y<0&&_.y<=1&&(u=new e.MercatorCoordinate(-p.y/m(p,u)+p.x,0)),_.y>1&&u.y>=0?_=new e.MercatorCoordinate((1-d.y)/m(d,_)+d.x,1):_.y<0&&u.y<=1&&(_=new e.MercatorCoordinate(-d.y/m(d,_)+d.x,0)),(new e.LngLatBounds).extend(this.coordinateLocation(u)).extend(this.coordinateLocation(_)).extend(this.coordinateLocation(p)).extend(this.coordinateLocation(d))}_getBoundsRectangularTerrain(){const e=this.elevation;if(!e.visibleDemTiles.length||e.isUsingMockSource())return this._getBoundsRectangular(0,0);const t=e.visibleDemTiles.reduce(((e,t)=>{if(t.dem){const i=t.dem.tree;e.min=Math.min(e.min,i.minimums[0]),e.max=Math.max(e.max,i.maximums[0]);}return e}),{min:Number.MAX_VALUE,max:0});return this._getBoundsRectangular(t.min*e.exaggeration(),t.max*e.exaggeration())}getBounds(){return "mercator"===this.projection.name||"equirectangular"===this.projection.name?this._terrainEnabled()?this._getBoundsRectangularTerrain():this._getBoundsRectangular(0,0):this._getBoundsNonRectangular()}horizonLineFromTop(e=!0){const t=this.height/2/Math.tan(this._fov/2)/Math.tan(Math.max(this._pitch,.1))+this.centerOffset.y,i=this.height/2-t*(1-this._horizonShift);return e?Math.max(0,i):i}getMaxBounds(){return this.maxBounds}setMaxBounds(t){this.maxBounds=t,this.minLat=-e.MAX_MERCATOR_LATITUDE,this.maxLat=e.MAX_MERCATOR_LATITUDE,this.minLng=-180,this.maxLng=180,t&&(this.minLat=t.getSouth(),this.maxLat=t.getNorth(),this.minLng=t.getWest(),this.maxLng=t.getEast(),this.maxLngu&&(a=u-c),u-ht&&(s=t-l),t-e.5?y-1:y,b>.5?b-1:b,0]),this.alignedProjMatrix=w,a=e.create(),e.scale(a,a,[this.width/2,-this.height/2,1]),e.translate(a,a,[1,-1,0]),this.labelPlaneMatrix=a,a=e.create(),e.scale(a,a,[1,-1,1]),e.translate(a,a,[-1,-1,0]),e.scale(a,a,[2/this.width,2/this.height,1]),this.glCoordMatrix=a,this.pixelMatrix=e.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),this._calcFogMatrices(),this._distanceTileDataCache={},a=e.invert(new Float64Array(16),this.pixelMatrix),!a)throw new Error("failed to invert matrix");if(this.pixelMatrixInverse=a,"globe"===this.projection.name||this.mercatorFromTransition){this.globeMatrix=e.calculateGlobeMatrix(this);const t=[this.globeMatrix[12],this.globeMatrix[13],this.globeMatrix[14]];this.globeCenterInViewSpace=e.transformMat4(t,t,n),this.globeRadius=this.worldSize/2/Math.PI-1;}else this.globeMatrix=a;this._projMatrixCache={},this._alignedProjMatrixCache={},this._pixelsToTileUnitsCache={};}_calcFogMatrices(){this._fogTileMatrixCache={};const t=this.cameraWorldSizeForFog,i=this.cameraPixelsPerMeter,o=this._camera.position,r=1/this.height/this._pixelsPerMercatorPixel,n=[t,t,i];e.scale$2(n,n,r),e.scale$2(o,o,-1),e.multiply$2(o,o,n);const s=e.create();e.translate(s,s,o),e.scale(s,s,n),this.mercatorFogMatrix=s,this.worldToFogMatrix=this._camera.getWorldToCameraPosition(t,i,r);}_computeCameraPosition(e){const t=(e=e||this.pixelsPerMeter)/this.pixelsPerMeter,i=this._camera.forward(),o=this.point,r=this._mercatorZfromZoom(this._seaLevelZoom?this._seaLevelZoom:this._zoom)*t-e/this.worldSize*this._centerAltitude;return [o.x/this.worldSize-i[0]*r,o.y/this.worldSize-i[1]*r,e/this.worldSize*this._centerAltitude-i[2]*r]}_updateCameraState(){this.height&&(this._camera.setPitchBearing(this._pitch,this.angle),this._camera.position=this._computeCameraPosition());}_translateCameraConstrained(t){const i=this._maxCameraBoundsDistance()*Math.cos(this._pitch),o=this._camera.position[2],r=t[2];let n=1;this.projection.wrap&&(this.center=this.center.wrap()),r>0&&(n=Math.min((i-o)/r,1)),this._camera.position=e.scaleAndAdd([],this._camera.position,t,n),this._updateStateFromCamera();}_updateStateFromCamera(){const t=this._camera.position,i=this._camera.forward(),{pitch:o,bearing:r}=this._camera.getPitchBearing(),n=e.mercatorZfromAltitude(this._centerAltitude,this.center.lat)*this._pixelsPerMercatorPixel,s=this._mercatorZfromZoom(this._maxZoom)*Math.cos(e.degToRad(this._maxPitch)),a=Math.max((t[2]-n)/Math.cos(o),s),l=this._zoomFromMercatorZ(a);e.scaleAndAdd(t,t,i,a),this._pitch=e.clamp(o,e.degToRad(this.minPitch),e.degToRad(this.maxPitch)),this.angle=e.wrap(r,-Math.PI,Math.PI),this._setZoom(e.clamp(l,this._minZoom,this._maxZoom)),this._updateSeaLevelZoom(),this._center=this.coordinateLocation(new e.MercatorCoordinate(t[0],t[1],t[2])),this._unmodified=!1,this._constrain(),this._calcMatrices();}_worldSizeFromZoom(e){return Math.pow(2,e)*this.tileSize}_mercatorZfromZoom(e){return this.cameraToCenterDistance/this._worldSizeFromZoom(e)}_minimumHeightOverTerrain(){const e=Math.min((null!=this._seaLevelZoom?this._seaLevelZoom:this._zoom)+4,this._maxZoom);return this._mercatorZfromZoom(e)}_zoomFromMercatorZ(e){return this.scaleZoom(this.cameraToCenterDistance/(e*this.tileSize))}zoomFromMercatorZAdjusted(t){let i=0,o=e.GLOBE_ZOOM_THRESHOLD_MAX,r=0,n=1/0;for(;o-i>1e-6&&o>i;){const e=i+.5*(o-i),s=this.tileSize*Math.pow(2,e),a=this.getCameraToCenterDistance(this.projection,e,s),l=this.scaleZoom(a/(t*this.tileSize)),c=Math.abs(e-l);cc||i.y>1)return !0}return !1}isHorizonVisible(){return this.pitch+e.radToDeg(this.fovAboveCenter)>88||this.anyCornerOffEdge(new e.Point(0,0),new e.Point(this.width,this.height))}zoomDeltaToMovement(t,i){const o=e.length(e.sub([],this._camera.position,t)),r=this._zoomFromMercatorZ(o)+i;return o-this._mercatorZfromZoom(r)}getCameraPoint(){if("globe"===this.projection.name){const t=function([t,i,o],r){const n=[t,i,o,1];e.transformMat4$1(n,n,r);const s=n[3]=Math.max(n[3],1e-6);return n[0]/=s,n[1]/=s,n[2]/=s,n}([this.globeMatrix[12],this.globeMatrix[13],this.globeMatrix[14]],this.pixelMatrix);return new e.Point(t[0],t[1])}{const t=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.Point(0,t))}}getCameraToCenterDistance(e,t=this.zoom,i=this.worldSize){const o=Wo(e,t,this.width,this.height,1024),r=e.pixelSpaceConversion(this.center.lat,i,o);return .5/Math.tan(.5*this._fov)*this.height*r}getWorldToCameraMatrix(){const t=this._camera.getWorldToCamera(this.worldSize,"meters"===this.projection.zAxisUnit?this.pixelsPerMeter:1);return "globe"===this.projection.name&&e.multiply(t,t,this.globeMatrix),t}}function Yo(e,t){let i=!1,o=null;const r=()=>{o=null,i&&(e(),o=setTimeout(r,t),i=!1);};return ()=>(i=!0,o||r(),o)}class Ko{constructor(t){this._hashName=t&&encodeURIComponent(t),e.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this),this._updateHash=Yo(this._updateHashUnthrottled.bind(this),300);}addTo(t){return this._map=t,e.window.addEventListener("hashchange",this._onHashChange,!1),t.on("moveend",this._updateHash),this}remove(){return this._map?(this._map.off("moveend",this._updateHash),e.window.removeEventListener("hashchange",this._onHashChange,!1),clearTimeout(this._updateHash()),this._map=void 0,this):this}getHashString(){const t=this._map;if(!t)return "";const i=Jo(t);if(this._hashName){const t=this._hashName;let o=!1;const r=e.window.location.hash.slice(1).split("&").map((e=>{const r=e.split("=")[0];return r===t?(o=!0,`${r}=${i}`):e})).filter((e=>e));return o||r.push(`${t}=${i}`),`#${r.join("&")}`}return `#${i}`}_getCurrentHash(){const t=e.window.location.hash.replace("#","");if(this._hashName){let e;return t.split("&").map((e=>e.split("="))).forEach((t=>{t[0]===this._hashName&&(e=t);})),(e&&e[1]||"").split("/")}return t.split("/")}_onHashChange(){const e=this._map;if(!e)return !1;const t=this._getCurrentHash();if(t.length>=3&&!t.some((e=>isNaN(e)))){const i=e.dragRotate.isEnabled()&&e.touchZoomRotate.isEnabled()?+(t[3]||0):e.getBearing();return e.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:i,pitch:+(t[4]||0)}),!0}return !1}_updateHashUnthrottled(){const t=e.window.location.href.replace(/(#.+)?$/,this.getHashString());e.window.history.replaceState(e.window.history.state,null,t);}}function Jo(e,t){const i=e.getCenter(),o=Math.round(100*e.getZoom())/100,r=Math.ceil((o*Math.LN2+Math.log(512/360/.5))/Math.LN10),n=Math.pow(10,r),s=Math.round(i.lng*n)/n,a=Math.round(i.lat*n)/n,l=e.getBearing(),c=e.getPitch();let h=t?`/${s}/${a}/${o}`:`${o}/${a}/${s}`;return (l||c)&&(h+="/"+Math.round(10*l)/10),c&&(h+=`/${Math.round(c)}`),h}const Qo={linearity:.3,easing:e.bezier(0,0,.3,1)},er=e.extend({deceleration:2500,maxSpeed:1400},Qo),tr=e.extend({deceleration:20,maxSpeed:1400},Qo),ir=e.extend({deceleration:1e3,maxSpeed:360},Qo),or=e.extend({deceleration:1e3,maxSpeed:90},Qo);class rr{constructor(e){this._map=e,this.clear();}clear(){this._inertiaBuffer=[];}record(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:e.exported.now(),settings:t});}_drainInertiaBuffer(){const t=this._inertiaBuffer,i=e.exported.now();for(;t.length>0&&i-t[0].time>160;)t.shift();}_onMoveEnd(t){if(this._map._prefersReducedMotion())return;if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new e.Point(0,0),pinchAround:void 0,around:void 0};for(const{settings:e}of this._inertiaBuffer)i.zoom+=e.zoomDelta||0,i.bearing+=e.bearingDelta||0,i.pitch+=e.pitchDelta||0,e.panDelta&&i.pan._add(e.panDelta),e.around&&(i.around=e.around),e.pinchAround&&(i.pinchAround=e.pinchAround);const o=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,r={};if(i.pan.mag()){const n=sr(i.pan.mag(),o,e.extend({},er,t||{}));r.offset=i.pan.mult(n.amount/i.pan.mag()),r.center=this._map.transform.center,nr(r,n);}if(i.zoom){const e=sr(i.zoom,o,tr);r.zoom=this._map.transform.zoom+e.amount,nr(r,e);}if(i.bearing){const t=sr(i.bearing,o,ir);r.bearing=this._map.transform.bearing+e.clamp(t.amount,-179,179),nr(r,t);}if(i.pitch){const e=sr(i.pitch,o,or);r.pitch=this._map.transform.pitch+e.amount,nr(r,e);}if(r.zoom||r.bearing){const e=void 0===i.pinchAround?i.around:i.pinchAround;r.around=e?this._map.unproject(e):this._map.getCenter();}return this.clear(),r.noMoveStart=!0,r}}function nr(e,t){(!e.duration||e.durationi.unproject(e))),a=n.reduce(((e,t,i,o)=>e.add(t.div(o.length))),new e.Point(0,0));super(t,{points:n,point:a,lngLats:s,lngLat:i.unproject(a),originalEvent:o}),this._defaultPrevented=!1;}}class cr extends e.Event{preventDefault(){this._defaultPrevented=!0;}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,i){super(e,{originalEvent:i}),this._defaultPrevented=!1;}}class hr{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance;}reset(){this._mousedownPos=void 0;}wheel(e){return this._firePreventable(new cr(e.type,this._map,e))}mousedown(e,t){return this._mousedownPos=t,this._firePreventable(new ar(e.type,this._map,e))}mouseup(e){this._map.fire(new ar(e.type,this._map,e));}preclick(t){const i=e.extend({},t);i.type="preclick",this._map.fire(new ar(i.type,this._map,i));}click(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||(this.preclick(e),this._map.fire(new ar(e.type,this._map,e)));}dblclick(e){return this._firePreventable(new ar(e.type,this._map,e))}mouseover(e){this._map.fire(new ar(e.type,this._map,e));}mouseout(e){this._map.fire(new ar(e.type,this._map,e));}touchstart(e){return this._firePreventable(new lr(e.type,this._map,e))}touchmove(e){this._map.fire(new lr(e.type,this._map,e));}touchend(e){this._map.fire(new lr(e.type,this._map,e));}touchcancel(e){this._map.fire(new lr(e.type,this._map,e));}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return {}}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class ur{constructor(e){this._map=e;}reset(){this._delayContextMenu=!1,this._contextMenuEvent=void 0;}mousemove(e){this._map.fire(new ar(e.type,this._map,e));}mousedown(){this._delayContextMenu=!0;}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new ar("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent);}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._map.fire(new ar(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault();}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class _r{constructor(e,t){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1;}isEnabled(){return !!this._enabled}isActive(){return !!this._active}enable(){this.isEnabled()||(this._enabled=!0);}disable(){this.isEnabled()&&(this._enabled=!1);}mousedown(e,t){this.isEnabled()&&e.shiftKey&&0===e.button&&(h(),this._startPos=this._lastPos=t,this._active=!0);}mousemoveWindow(e,t){if(!this._active)return;const i=t,o=this._startPos,r=this._lastPos;if(!o||!r||r.equals(i)||!this._box&&i.dist(o){this._box&&(this._box.style.transform=`translate(${s}px,${l}px)`,this._box.style.width=a-s+"px",this._box.style.height=c-l+"px");}));}mouseupWindow(t,i){if(!this._active)return;const o=this._startPos,r=i;if(o&&0===t.button){if(this.reset(),d(),o.x!==r.x||o.y!==r.y)return this._map.fire(new e.Event("boxzoomend",{originalEvent:t})),{cameraAnimation:e=>e.fitScreenCoordinates(o,r,this._map.getBearing(),{linear:!1})};this._fireEvent("boxzoomcancel",t);}}keydown(e){this._active&&27===e.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",e));}blur(){this.reset();}reset(){this._active=!1,this._container.classList.remove("mapboxgl-crosshair"),this._box&&(this._box.remove(),this._box=null),u(),delete this._startPos,delete this._lastPos;}_fireEvent(t,i){return this._map.fire(new e.Event(t,{originalEvent:i}))}}function dr(e,t){const i={};for(let o=0;othis.numTouches)&&(this.aborted=!0),this.aborted||(0===this.startTime&&(this.startTime=t.timeStamp),o.length===this.numTouches&&(this.centroid=function(t){const i=new e.Point(0,0);for(const e of t)i._add(e);return i.div(t.length)}(i),this.touches=dr(o,i)));}touchmove(e,t,i){if(this.aborted||!this.centroid)return;const o=dr(i,t);for(const e in this.touches){const t=o[e];(!t||t.dist(this.touches[e])>30)&&(this.aborted=!0);}}touchend(e,t,i){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const e=!this.aborted&&this.centroid;if(this.reset(),e)return e}}}class mr{constructor(e){this.singleTap=new pr(e),this.numTaps=e.numTaps,this.reset();}reset(){this.lastTime=1/0,this.lastTap=void 0,this.count=0,this.singleTap.reset();}touchstart(e,t,i){this.singleTap.touchstart(e,t,i);}touchmove(e,t,i){this.singleTap.touchmove(e,t,i);}touchend(e,t,i){const o=this.singleTap.touchend(e,t,i);if(o){const t=e.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(o)<30;if(t&&i||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=o,this.count===this.numTaps)return this.reset(),o}}}class fr{constructor(){this._zoomIn=new mr({numTouches:1,numTaps:2}),this._zoomOut=new mr({numTouches:2,numTaps:1}),this.reset();}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset();}touchstart(e,t,i){this._zoomIn.touchstart(e,t,i),this._zoomOut.touchstart(e,t,i);}touchmove(e,t,i){this._zoomIn.touchmove(e,t,i),this._zoomOut.touchmove(e,t,i);}touchend(e,t,i){const o=this._zoomIn.touchend(e,t,i),r=this._zoomOut.touchend(e,t,i);return o?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:t.getZoom()+1,around:t.unproject(o)},{originalEvent:e})}):r?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:t.getZoom()-1,around:t.unproject(r)},{originalEvent:e})}):void 0}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}const gr={0:1,2:2};class vr{constructor(e){this.reset(),this._clickTolerance=e.clickTolerance||1;}blur(){this.reset();}reset(){this._active=!1,this._moved=!1,this._lastPoint=void 0,this._eventButton=void 0;}_correctButton(e,t){return !1}_move(e,t){return {}}mousedown(e,t){if(this._lastPoint)return;const i=f(e);this._correctButton(e,i)&&(this._lastPoint=t,this._eventButton=i);}mousemoveWindow(e,t){const i=this._lastPoint;if(i)if(e.preventDefault(),null!=this._eventButton&&function(e,t){const i=gr[t];return void 0===e.buttons||(e.buttons&i)!==i}(e,this._eventButton))this.reset();else if(this._moved||!(t.dist(i)0&&(this._active=!0);const r=dr(o,i),n=new e.Point(0,0),s=new e.Point(0,0);let a=0;for(const e in r){const t=r[e],i=this._touches[e];i&&(n._add(t),s._add(t.sub(i)),a++,r[e]=t);}if(this._touches=r,a{this._alertContainer.classList.remove("mapboxgl-touch-pan-blocker-show"),this._alertContainer.setAttribute("role","null");}),500);}}class Tr{constructor(){this.reset();}reset(){this._active=!1,this._firstTwoTouches=void 0;}_start(e){}_move(e,t,i){return {}}touchstart(e,t,i){this._firstTwoTouches||i.length<2||(this._firstTwoTouches=[i[0].identifier,i[1].identifier],this._start([t[0],t[1]]));}touchmove(e,t,i){const o=this._firstTwoTouches;if(!o)return;e.preventDefault();const[r,n]=o,s=Er(i,t,r),a=Er(i,t,n);if(!s||!a)return;const l=this._aroundCenter?null:s.add(a).div(2);return this._move([s,a],l,e)}touchend(e,t,i){if(!this._firstTwoTouches)return;const[o,r]=this._firstTwoTouches,n=Er(i,t,o),s=Er(i,t,r);n&&s||(this._active&&d(),this.reset());}touchcancel(){this.reset();}enable(e){this._enabled=!0,this._aroundCenter=!!e&&"center"===e.around;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}function Er(e,t,i){for(let o=0;oMath.abs(e.x)}class Dr extends Tr{constructor(e){super(),this._map=e;}reset(){super.reset(),this._valid=void 0,this._firstMove=void 0,this._lastPoints=void 0;}_start(e){this._lastPoints=e,Sr(e[0].sub(e[1]))&&(this._valid=!1);}_move(t,i,o){const r=this._lastPoints;if(!r)return;const n=t[0].sub(r[0]),s=t[1].sub(r[1]);return this._map._cooperativeGestures&&!e.isFullscreen()&&o.touches.length<3||(this._valid=this.gestureBeginsVertically(n,s,o.timeStamp),!this._valid)?void 0:(this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+s.y)/2*-.5})}gestureBeginsVertically(e,t,i){if(void 0!==this._valid)return this._valid;const o=e.mag()>=2,r=t.mag()>=2;if(!o&&!r)return;if(!o||!r)return null==this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const n=e.y>0==t.y>0;return Sr(e)&&Sr(t)&&n}}const Lr={panStep:100,bearingStep:15,pitchStep:10};class Ar{constructor(){const e=Lr;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.pitchStep,this._rotationDisabled=!1;}blur(){this.reset();}reset(){this._active=!1;}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let t=0,i=0,o=0,r=0,n=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?i=-1:(e.preventDefault(),r=-1);break;case 39:e.shiftKey?i=1:(e.preventDefault(),r=1);break;case 38:e.shiftKey?o=1:(e.preventDefault(),n=-1);break;case 40:e.shiftKey?o=-1:(e.preventDefault(),n=1);break;default:return}return this._rotationDisabled&&(i=0,o=0),{cameraAnimation:s=>{const a=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:zr,zoom:t?Math.round(a)+t*(e.shiftKey?2:1):a,bearing:s.getBearing()+i*this._bearingStep,pitch:s.getPitch()+o*this._pitchStep,offset:[-r*this._panStep,-n*this._panStep],center:s.getCenter()},{originalEvent:e});}}}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0;}enableRotation(){this._rotationDisabled=!1;}}function zr(e){return e*(2-e)}const Rr=4.000244140625;class Or{constructor(t,i){this._map=t,this._el=t.getCanvasContainer(),this._handler=i,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,e.bindAll(["_onTimeout","_addScrollZoomBlocker","_showBlockerAlert"],this);}setZoomRate(e){this._defaultZoomRate=e;}setWheelZoomRate(e){this._wheelZoomRate=e;}isEnabled(){return !!this._enabled}isActive(){return this._active||void 0!==this._finishTimeout}isZooming(){return !!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&"center"===e.around,this._map._cooperativeGestures&&this._addScrollZoomBlocker());}disable(){this.isEnabled()&&(this._enabled=!1,this._map._cooperativeGestures&&(clearTimeout(this._alertTimer),this._alertContainer.remove()));}wheel(t){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!(t.ctrlKey||t.metaKey||this.isZooming()||e.isFullscreen()))return void this._showBlockerAlert();"hidden"!==this._alertContainer.style.visibility&&(this._alertContainer.style.visibility="hidden",clearTimeout(this._alertTimer));}let i=t.deltaMode===e.window.WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY;const o=e.exported.now(),r=o-(this._lastWheelEventTime||0);this._lastWheelEventTime=o,0!==i&&i%Rr==0?this._type="wheel":0!==i&&Math.abs(i)<4?this._type="trackpad":r>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(r*i)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),t.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=t,this._delta-=i,this._active||this._start(t)),t.preventDefault();}_onTimeout(e){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(e);}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const t=p(this._el,e);this._aroundPoint=this._aroundCenter?this._map.transform.centerPoint:t,this._aroundCoord=this._map.transform.pointCoordinate3D(this._aroundPoint),this._targetZoom=void 0,this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame());}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const t=this._map.transform;"wheel"===this._type&&t.projection.wrap&&(t._center.lng>=180||t._center.lng<=-180)&&(this._prevEase=null,this._easing=null,this._lastWheelEvent=null,this._lastWheelEventTime=0);const i=()=>t._terrainEnabled()&&this._aroundCoord?t.computeZoomRelativeTo(this._aroundCoord):t.zoom;if(0!==this._delta){const e="wheel"===this._type&&Math.abs(this._delta)>Rr?this._wheelZoomRate:this._defaultZoomRate;let o=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==o&&(o=1/o);const r=i(),n=Math.pow(2,r),s="number"==typeof this._targetZoom?t.zoomScale(this._targetZoom):n;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(s*o))),"wheel"===this._type&&(this._startZoom=r,this._easing=this._smoothOutEasing(200)),this._delta=0;}const o="number"==typeof this._targetZoom?this._targetZoom:i(),r=this._startZoom,n=this._easing;let s,a=!1;if("wheel"===this._type&&r&&n){const t=Math.min((e.exported.now()-this._lastWheelEventTime)/200,1),i=n(t);s=e.number(r,o,i),t<1?this._frameId||(this._frameId=!0):a=!0;}else s=o,a=!0;return this._active=!0,a&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._handler._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout;}),200)),{noInertia:!0,needsRenderFrame:!a,zoomDelta:s-i(),around:this._aroundPoint,aroundCoord:this._aroundCoord,originalEvent:this._lastWheelEvent}}_smoothOutEasing(t){let i=e.ease;if(this._prevEase){const t=this._prevEase,o=(e.exported.now()-t.start)/t.duration,r=t.easing(o+.01)-t.easing(o),n=.27/Math.sqrt(r*r+1e-4)*.01,s=Math.sqrt(.0729-n*n);i=e.bezier(n,s,.25,1);}return this._prevEase={start:e.exported.now(),duration:t,easing:i},i}blur(){this.reset();}reset(){this._active=!1;}_addScrollZoomBlocker(){this._map&&!this._alertContainer&&(this._alertContainer=n("div","mapboxgl-scroll-zoom-blocker",this._map._container),this._alertContainer.textContent=/(Mac|iPad)/i.test(e.window.navigator.userAgent)?this._map._getUIString("ScrollZoomBlocker.CmdMessage"):this._map._getUIString("ScrollZoomBlocker.CtrlMessage"),this._alertContainer.style.fontSize=`${Math.max(10,Math.min(24,Math.floor(.05*this._el.clientWidth)))}px`);}_showBlockerAlert(){this._alertContainer.style.visibility="visible",this._alertContainer.classList.add("mapboxgl-scroll-zoom-blocker-show"),this._alertContainer.setAttribute("role","alert"),clearTimeout(this._alertTimer),this._alertTimer=setTimeout((()=>{this._alertContainer.classList.remove("mapboxgl-scroll-zoom-blocker-show"),this._alertContainer.setAttribute("role","null");}),200);}}class Br{constructor(e,t){this._clickZoom=e,this._tapZoom=t;}enable(){this._clickZoom.enable(),this._tapZoom.enable();}disable(){this._clickZoom.disable(),this._tapZoom.disable();}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class kr{constructor(){this.reset();}reset(){this._active=!1;}blur(){this.reset();}dblclick(e,t){return e.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:i.getZoom()+(e.shiftKey?-1:1),around:i.unproject(t)},{originalEvent:e});}}}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class Fr{constructor(){this._tap=new mr({numTouches:1,numTaps:1}),this.reset();}reset(){this._active=!1,this._swipePoint=void 0,this._swipeTouch=0,this._tapTime=0,this._tap.reset();}touchstart(e,t,i){this._swipePoint||(this._tapTime&&e.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?i.length>0&&(this._swipePoint=t[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(e,t,i));}touchmove(e,t,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const o=t[0],r=o.y-this._swipePoint.y;return this._swipePoint=o,e.preventDefault(),this._active=!0,{zoomDelta:r/128}}}else this._tap.touchmove(e,t,i);}touchend(e,t,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(e,t,i)&&(this._tapTime=e.timeStamp);}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class Ur{constructor(e,t,i){this._el=e,this._mousePan=t,this._touchPan=i;}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan");}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan");}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class Nr{constructor(e,t,i){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=t,this._mousePitch=i;}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable();}disable(){this._mouseRotate.disable(),this._mousePitch.disable();}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class jr{constructor(e,t,i,o){this._el=e,this._touchZoom=t,this._touchRotate=i,this._tapDragZoom=o,this._rotationDisabled=!1,this._enabled=!0;}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate");}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate");}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable();}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable();}}const Gr=e=>e.zoom||e.drag||e.pitch||e.rotate;class Zr extends e.Event{}class Vr{constructor(){this.constants=[1,1,.01],this.radius=0;}setup(t,i){const o=e.sub([],i,t);this.radius=e.length(o[2]<0?e.div([],o,this.constants):[o[0],o[1],0]);}projectRay(t){e.div(t,t,this.constants),e.normalize(t,t),e.mul$1(t,t,this.constants);const i=e.scale$2([],t,this.radius);if(i[2]>0){const t=e.scale$2([],[0,0,1],e.dot(i,[0,0,1])),o=e.scale$2([],e.normalize([],[i[0],i[1],0]),this.radius),r=e.add([],i,e.scale$2([],e.sub([],e.add([],o,t),i),2));i[0]=r[0],i[1]=r[1];}return i}}function Wr(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta}class Xr{constructor(t,i){this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new rr(t),this._bearingSnap=i.bearingSnap,this._previousActiveHandlers={},this._trackingEllipsoid=new Vr,this._dragOrigin=null,this._eventsInProgress={},this._addDefaultHandlers(i),e.bindAll(["handleEvent","handleWindowEvent"],this);const o=this._el;this._listeners=[[o,"touchstart",{passive:!0}],[o,"touchmove",{passive:!1}],[o,"touchend",void 0],[o,"touchcancel",void 0],[o,"mousedown",void 0],[o,"mousemove",void 0],[o,"mouseup",void 0],[e.window.document,"mousemove",{capture:!0}],[e.window.document,"mouseup",void 0],[o,"mouseover",void 0],[o,"mouseout",void 0],[o,"dblclick",void 0],[o,"click",void 0],[o,"keydown",{capture:!1}],[o,"keyup",void 0],[o,"wheel",{passive:!1}],[o,"contextmenu",void 0],[e.window,"blur",void 0]];for(const[t,i,o]of this._listeners)t.addEventListener(i,t===e.window.document?this.handleWindowEvent:this.handleEvent,o);}destroy(){for(const[t,i,o]of this._listeners)t.removeEventListener(i,t===e.window.document?this.handleWindowEvent:this.handleEvent,o);}_addDefaultHandlers(e){const t=this._map,i=t.getCanvasContainer();this._add("mapEvent",new hr(t,e));const o=t.boxZoom=new _r(t,e);this._add("boxZoom",o);const r=new fr,n=new kr;t.doubleClickZoom=new Br(n,r),this._add("tapZoom",r),this._add("clickZoom",n);const s=new Fr;this._add("tapDragZoom",s);const a=t.touchPitch=new Dr(t);this._add("touchPitch",a);const l=new yr(e),c=new br(e);t.dragRotate=new Nr(e,l,c),this._add("mouseRotate",l,["mousePitch"]),this._add("mousePitch",c,["mouseRotate"]);const h=new xr(e),u=new wr(t,e);t.dragPan=new Ur(i,h,u),this._add("mousePan",h),this._add("touchPan",u,["touchZoom","touchRotate"]);const _=new Pr,d=new Mr;t.touchZoomRotate=new jr(i,d,_,s),this._add("touchRotate",_,["touchPan","touchZoom"]),this._add("touchZoom",d,["touchPan","touchRotate"]),this._add("blockableMapEvent",new ur(t));const p=t.scrollZoom=new Or(t,this);this._add("scrollZoom",p,["mousePan"]);const m=t.keyboard=new Ar;this._add("keyboard",m);for(const i of ["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"])e.interactive&&e[i]&&t[i].enable(e[i]);}_add(e,t,i){this._handlers.push({handlerName:e,handler:t,allowed:i}),this._handlersById[e]=t;}stop(e){if(!this._updatingCamera){for(const{handler:e}of this._handlers)e.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[];}}isActive(){for(const{handler:e}of this._handlers)if(e.isActive())return !0;return !1}isZooming(){return !!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return !!this._eventsInProgress.rotate}isMoving(){return !!Gr(this._eventsInProgress)||this.isZooming()}_isDragging(){return !!this._eventsInProgress.drag}_blockedByActive(e,t,i){for(const o in e)if(o!==i&&(!t||t.indexOf(o)<0))return !0;return !1}handleWindowEvent(e){this.handleEvent(e,`${e.type}Window`);}_getMapTouches(e){const t=[];for(const i of e)this._el.contains(i.target)&&t.push(i);return t}handleEvent(e,t){this._updatingCamera=!0;const i="renderFrame"===e.type,o=i?void 0:e,r={needsRenderFrame:!1},n={},s={},a=e.touches?this._getMapTouches(e.touches):void 0,l=a?m(this._el,a):i?void 0:p(this._el,e);for(const{handlerName:i,handler:c,allowed:h}of this._handlers){if(!c.isEnabled())continue;let u;this._blockedByActive(s,h,i)?c.reset():c[t||e.type]&&(u=c[t||e.type](e,l,a),this.mergeHandlerResult(r,n,u,i,o),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||c.isActive())&&(s[i]=c);}const c={};for(const e in this._previousActiveHandlers)s[e]||(c[e]=o);this._previousActiveHandlers=s,(Object.keys(c).length||Wr(r))&&(this._changes.push([r,n,c]),this._triggerRenderFrame()),(Object.keys(s).length||Wr(r))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:h}=r;h&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],h(this._map));}mergeHandlerResult(t,i,o,r,n){if(!o)return;e.extend(t,o);const s={handlerName:r,originalEvent:o.originalEvent||n};void 0!==o.zoomDelta&&(i.zoom=s),void 0!==o.panDelta&&(i.drag=s),void 0!==o.pitchDelta&&(i.pitch=s),void 0!==o.bearingDelta&&(i.rotate=s);}_applyChanges(){const t={},i={},o={};for(const[r,n,s]of this._changes)r.panDelta&&(t.panDelta=(t.panDelta||new e.Point(0,0))._add(r.panDelta)),r.zoomDelta&&(t.zoomDelta=(t.zoomDelta||0)+r.zoomDelta),r.bearingDelta&&(t.bearingDelta=(t.bearingDelta||0)+r.bearingDelta),r.pitchDelta&&(t.pitchDelta=(t.pitchDelta||0)+r.pitchDelta),void 0!==r.around&&(t.around=r.around),void 0!==r.aroundCoord&&(t.aroundCoord=r.aroundCoord),void 0!==r.pinchAround&&(t.pinchAround=r.pinchAround),r.noInertia&&(t.noInertia=r.noInertia),e.extend(i,n),e.extend(o,s);this._updateMapTransform(t,i,o),this._changes=[];}_updateMapTransform(t,i,o){const r=this._map,n=r.transform,s=e=>[e.x,e.y,e.z];if((e=>{const t=this._eventsInProgress.drag;return t&&!this._handlersById[t.handlerName].isActive()})()&&!Wr(t)){const e=n.zoom;n.cameraElevationReference="sea",n.recenterOnTerrain(),n.cameraElevationReference="ground",e!==n.zoom&&this._map._update(!0);}if(n._isCameraConstrained&&r._stop(!0),!Wr(t))return void this._fireEvents(i,o,!0);let{panDelta:a,zoomDelta:l,bearingDelta:c,pitchDelta:h,around:u,aroundCoord:_,pinchAround:d}=t;n._isCameraConstrained&&(l>0&&(l=0),n._isCameraConstrained=!1),void 0!==d&&(u=d),(l||(e=>i[e]&&!this._eventsInProgress[e])("drag"))&&u&&(this._dragOrigin=s(n.pointCoordinate3D(u)),this._trackingEllipsoid.setup(n._camera.position,this._dragOrigin)),n.cameraElevationReference="sea",r._stop(!0),u=u||r.transform.centerPoint,c&&(n.bearing+=c),h&&(n.pitch+=h),n._updateCameraState();const p=[0,0,0];if(a)if("mercator"===n.projection.name){const e=this._trackingEllipsoid.projectRay(n.screenPointToMercatorRay(u).dir),t=this._trackingEllipsoid.projectRay(n.screenPointToMercatorRay(u.sub(a)).dir);p[0]=t[0]-e[0],p[1]=t[1]-e[1];}else {const t=n.pointCoordinate(u);if("globe"===n.projection.name){a=a.rotate(-n.angle);const i=n._pixelsPerMercatorPixel/n.worldSize;p[0]=-a.x*e.mercatorScale(e.latFromMercatorY(t.y))*i,p[1]=-a.y*e.mercatorScale(n.center.lat)*i;}else {const e=n.pointCoordinate(u.sub(a));t&&e&&(p[0]=e.x-t.x,p[1]=e.y-t.y);}}const m=n.zoom,f=[0,0,0];if(l){const t=s(_||n.pointCoordinate3D(u)),i={dir:e.normalize([],e.sub([],t,n._camera.position))};if(i.dir[2]<0){const o=n.zoomDeltaToMovement(t,l);e.scale$2(f,i.dir,o);}}const g=e.add(p,p,f);n._translateCameraConstrained(g),l&&Math.abs(n.zoom-m)>1e-4&&n.recenterOnTerrain(),n.cameraElevationReference="ground",this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(i,o,!0);}_fireEvents(t,i,o){const r=Gr(this._eventsInProgress),n=Gr(t),s={};for(const e in t){const{originalEvent:i}=t[e];this._eventsInProgress[e]||(s[`${e}start`]=i),this._eventsInProgress[e]=t[e];}!r&&n&&this._fireEvent("movestart",n.originalEvent);for(const e in s)this._fireEvent(e,s[e]);n&&this._fireEvent("move",n.originalEvent);for(const e in t){const{originalEvent:i}=t[e];this._fireEvent(e,i);}const a={};let l;for(const e in this._eventsInProgress){const{handlerName:t,originalEvent:o}=this._eventsInProgress[e];this._handlersById[t].isActive()||(delete this._eventsInProgress[e],l=i[t]||o,a[`${e}end`]=l);}for(const e in a)this._fireEvent(e,a[e]);const c=Gr(this._eventsInProgress);if(o&&(r||n)&&!c){this._updatingCamera=!0;const t=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=e=>0!==e&&-this._bearingSnap{this._frameId=void 0,this.handleEvent(new Zr("renderFrame",{timeStamp:e})),this._applyChanges();}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame());}}const qr="map.setFreeCameraOptions(...) and map.getFreeCameraOptions() are not yet supported for non-mercator projections.";class $r extends e.Evented{constructor(t,i){super(),this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=i.bearingSnap,this._respectPrefersReducedMotion=!1!==i.respectPrefersReducedMotion,e.bindAll(["_renderFrameCallback"],this);}getCenter(){return new e.LngLat(this.transform.center.lng,this.transform.center.lat)}setCenter(e,t){return this.jumpTo({center:e},t)}panBy(t,i,o){return t=e.Point.convert(t).mult(-1),this.panTo(this.transform.center,e.extend({offset:t},i),o)}panTo(t,i,o){return this.easeTo(e.extend({center:t},i),o)}getZoom(){return this.transform.zoom}setZoom(e,t){return this.jumpTo({zoom:e},t),this}zoomTo(t,i,o){return this.easeTo(e.extend({zoom:t},i),o)}zoomIn(e,t){return this.zoomTo(this.getZoom()+1,e,t),this}zoomOut(e,t){return this.zoomTo(this.getZoom()-1,e,t),this}getBearing(){return this.transform.bearing}setBearing(e,t){return this.jumpTo({bearing:e},t),this}getPadding(){return this.transform.padding}setPadding(e,t){return this.jumpTo({padding:e},t),this}rotateTo(t,i,o){return this.easeTo(e.extend({bearing:t},i),o)}resetNorth(t,i){return this.rotateTo(0,e.extend({duration:1e3},t),i),this}resetNorthPitch(t,i){return this.easeTo(e.extend({bearing:0,pitch:0,duration:1e3},t),i),this}snapToNorth(e,t){return Math.abs(this.getBearing())e.aspect?i/(2*Math.tan(.5*e.fovX)*e.aspect):o/(2*Math.tan(.5*e.fovY)*e.aspect)}_cameraForBoundsOnGlobe(t,i,o,r,n,s){const a=t.clone(),l=this._extendCameraOptions(s);a.bearing=r,a.pitch=n;const c=e.LngLat.convert(i),h=e.LngLat.convert(o),u=.5*(c.lat+h.lat),_=.5*(c.lng+h.lng),d=e.latLngToECEF(u,_),p=e.normalize([],d),m=e.normalize([],e.cross([],p,[0,1,0])),f=e.cross([],m,p),g=[m[0],m[1],m[2],0,f[0],f[1],f[2],0,p[0],p[1],p[2],0,0,0,0,1],v=[d,e.latLngToECEF(c.lat,c.lng),e.latLngToECEF(h.lat,c.lng),e.latLngToECEF(h.lat,h.lng),e.latLngToECEF(c.lat,h.lng),e.latLngToECEF(u,c.lng),e.latLngToECEF(u,h.lng),e.latLngToECEF(c.lat,_),e.latLngToECEF(h.lat,_)];let x=e.Aabb.fromPoints(v.map((t=>[e.dot(m,t),e.dot(f,t),e.dot(p,t)])));const y=e.transformMat4([],x.center,g);0===e.squaredLength(y)&&e.set(y,0,0,1),e.normalize(y,y),e.scale$2(y,y,e.GLOBE_RADIUS),a.center=e.ecefToLatLng(y);const b=a.getWorldToCameraMatrix(),w=e.invert(new Float64Array(16),b);x=e.Aabb.applyTransform(x,e.multiply([],b,g)),e.transformMat4(y,y,b);const T=.5*(x.max[2]-x.min[2]),E=this._minimumAABBFrustumDistance(a,x),C=e.scale$2([],[0,0,1],T),M=e.add(C,y,C),I=E+(0===a.pitch?0:e.distance(y,M)),P=a.globeCenterInViewSpace,S=e.sub([],y,[P[0],P[1],P[2]]);e.normalize(S,S),e.scale$2(S,S,I);const D=e.add([],y,S);e.transformMat4(D,D,w);const L=e.earthRadius/e.GLOBE_RADIUS,A=e.length(D),z=e.mercatorZfromAltitude(Math.max(A*L-e.earthRadius,Number.EPSILON),0),R=Math.min(a.zoomFromMercatorZAdjusted(z),l.maxZoom);return R>.5*(e.GLOBE_ZOOM_THRESHOLD_MIN+e.GLOBE_ZOOM_THRESHOLD_MAX)?(a.setProjection({name:"mercator"}),a.zoom=R,this._cameraForBounds(a,i,o,r,n,s)):{center:a.center,zoom:R,bearing:r,pitch:n}}queryTerrainElevation(t,i){const o=this.transform.elevation;return o?(i=e.extend({},{exaggerated:!0},i),o.getAtPoint(e.MercatorCoordinate.fromLngLat(t),null,i.exaggerated)):null}_cameraForBounds(t,i,o,r,n,s){if("globe"===t.projection.name)return this._cameraForBoundsOnGlobe(t,i,o,r,n,s);const a=t.clone(),l=this._extendCameraOptions(s),c=a.padding;a.bearing=r,a.pitch=n;const h=e.LngLat.convert(i),u=e.LngLat.convert(o),_=new e.LngLat(h.lng,u.lat),d=new e.LngLat(u.lng,h.lat),p=a.project(h),m=a.project(u),f=this.queryTerrainElevation(h),g=this.queryTerrainElevation(u),v=this.queryTerrainElevation(_),x=this.queryTerrainElevation(d),y=[[p.x,p.y,Math.min(f||0,g||0,v||0,x||0)],[m.x,m.y,Math.max(f||0,g||0,v||0,x||0)]];let b=e.Aabb.fromPoints(y);const w=a.getWorldToCameraMatrix(),T=e.invert(new Float64Array(16),w);b=e.Aabb.applyTransform(b,w);const E=e.sub([],b.max,b.min),C=c.left||0,M=c.right||0,I=c.bottom||0,P=c.top||0,{left:S,right:D,top:L,bottom:A}=l.padding,z=.5*(C+M),R=.5*(P+I),O=Math.min(a.scaleZoom(a.scale*Math.min((a.width-(C+M+S+D))/E[0],(a.height-(I+P+A+L))/E[1])),l.maxZoom),B=a.scale/a.zoomScale(O);b=new e.Aabb([b.min[0]-(S+z)*B,b.min[1]-(A+R)*B,b.min[2]],[b.max[0]+(D+z)*B,b.max[1]+(L+R)*B,b.max[2]]);const k=.5*E[2],F=this._minimumAABBFrustumDistance(a,b),U=[0,0,1,0];e.transformMat4$1(U,U,w),e.normalize$2(U,U);const N=e.scale$2([],U,F+k),j=e.add([],b.center,N),G=("number"==typeof l.offset.x&&"number"==typeof l.offset.y?new e.Point(l.offset.x,l.offset.y):e.Point.convert(l.offset)).rotate(-e.degToRad(r));b.center[0]-=G.x*B,b.center[1]+=G.y*B,e.transformMat4(b.center,b.center,T),e.transformMat4(j,j,T);const Z=[b.center[0],b.center[1],j[2]*a.pixelsPerMeter];e.scale$2(Z,Z,1/a.worldSize);const V=e.lngFromMercatorX(Z[0]),W=e.latFromMercatorY(Z[1]),X=Math.min(a._zoomFromMercatorZ(Z[2]),l.maxZoom),q=new e.LngLat(V,W);return a.mercatorFromTransition&&X<.5*(e.GLOBE_ZOOM_THRESHOLD_MIN+e.GLOBE_ZOOM_THRESHOLD_MAX)?(a.setProjection({name:"globe"}),a.zoom=X,this._cameraForBounds(a,i,o,r,n,s)):{center:q,zoom:X,bearing:r,pitch:n}}fitBounds(e,t,i){const o=this.cameraForBounds(e,t);return this._fitInternal(o,t,i)}fitScreenCoordinates(t,i,o,r,n){const s=e.Point.convert(t),a=e.Point.convert(i),l=new e.Point(Math.min(s.x,a.x),Math.min(s.y,a.y)),c=new e.Point(Math.max(s.x,a.x),Math.max(s.y,a.y));if("mercator"===this.transform.projection.name&&this.transform.anyCornerOffEdge(s,a))return this;const h=this.transform.pointLocation3D(l),u=this.transform.pointLocation3D(c),_=this.transform.pointLocation3D(new e.Point(l.x,c.y)),d=this.transform.pointLocation3D(new e.Point(c.x,l.y)),p=[Math.min(h.lng,u.lng,_.lng,d.lng),Math.min(h.lat,u.lat,_.lat,d.lat)],m=[Math.max(h.lng,u.lng,_.lng,d.lng),Math.max(h.lat,u.lat,_.lat,d.lat)],f=r&&r.pitch?r.pitch:this.getPitch(),g=this._cameraForBounds(this.transform,p,m,o,f,r);return this._fitInternal(g,r,n)}_fitInternal(t,i,o){return t?(delete(i=e.extend(t,i)).padding,i.linear?this.easeTo(i,o):this.flyTo(i,o)):this}jumpTo(t,i){this.stop();const o=t.preloadOnly?this.transform.clone():this.transform;let r=!1,n=!1,s=!1;return "zoom"in t&&o.zoom!==+t.zoom&&(r=!0,o.zoom=+t.zoom),void 0!==t.center&&(o.center=e.LngLat.convert(t.center)),"bearing"in t&&o.bearing!==+t.bearing&&(n=!0,o.bearing=+t.bearing),"pitch"in t&&o.pitch!==+t.pitch&&(s=!0,o.pitch=+t.pitch),null==t.padding||o.isPaddingEqual(t.padding)||(o.padding=t.padding),t.preloadOnly?(this._preloadTiles(o),this):(this.fire(new e.Event("movestart",i)).fire(new e.Event("move",i)),r&&this.fire(new e.Event("zoomstart",i)).fire(new e.Event("zoom",i)).fire(new e.Event("zoomend",i)),n&&this.fire(new e.Event("rotatestart",i)).fire(new e.Event("rotate",i)).fire(new e.Event("rotateend",i)),s&&this.fire(new e.Event("pitchstart",i)).fire(new e.Event("pitch",i)).fire(new e.Event("pitchend",i)),this.fire(new e.Event("moveend",i)))}getFreeCameraOptions(){return this.transform.projection.supportsFreeCamera||e.warnOnce(qr),this.transform.getFreeCameraOptions()}setFreeCameraOptions(t,i){const o=this.transform;if(!o.projection.supportsFreeCamera)return e.warnOnce(qr),this;this.stop();const r=o.zoom,n=o.pitch,s=o.bearing;o.setFreeCameraOptions(t);const a=r!==o.zoom,l=n!==o.pitch,c=s!==o.bearing;return this.fire(new e.Event("movestart",i)).fire(new e.Event("move",i)),a&&this.fire(new e.Event("zoomstart",i)).fire(new e.Event("zoom",i)).fire(new e.Event("zoomend",i)),c&&this.fire(new e.Event("rotatestart",i)).fire(new e.Event("rotate",i)).fire(new e.Event("rotateend",i)),l&&this.fire(new e.Event("pitchstart",i)).fire(new e.Event("pitch",i)).fire(new e.Event("pitchend",i)),this.fire(new e.Event("moveend",i)),this}easeTo(t,i){this._stop(!1,t.easeId),(!1===(t=e.extend({offset:[0,0],duration:500,easing:e.ease},t)).animate||this._prefersReducedMotion(t))&&(t.duration=0);const o=this.transform,r=this.getZoom(),n=this.getBearing(),s=this.getPitch(),a=this.getPadding(),l="zoom"in t?+t.zoom:r,c="bearing"in t?this._normalizeBearing(t.bearing,n):n,h="pitch"in t?+t.pitch:s,u="padding"in t?t.padding:o.padding,_=e.Point.convert(t.offset);let d,p,m;if("globe"===o.projection.name){const i=e.MercatorCoordinate.fromLngLat(o.center),r=_.rotate(-o.angle);i.x+=r.x/o.worldSize,i.y+=r.y/o.worldSize;const n=i.toLngLat(),s=e.LngLat.convert(t.center||n);this._normalizeCenter(s),d=o.centerPoint.add(r),p=new e.Point(i.x,i.y).mult(o.worldSize),m=new e.Point(e.mercatorXfromLng(s.lng),e.mercatorYfromLat(s.lat)).mult(o.worldSize).sub(p);}else {d=o.centerPoint.add(_);const i=o.pointLocation(d),r=e.LngLat.convert(t.center||i);this._normalizeCenter(r),p=o.project(i),m=o.project(r).sub(p);}const f=o.zoomScale(l-r);let g,v;t.around&&(g=e.LngLat.convert(t.around),v=o.locationPoint(g));const x=this._zooming||l!==r,y=this._rotating||n!==c,b=this._pitching||h!==s,w=!o.isPaddingEqual(u),T=o=>T=>{if(x&&(o.zoom=e.number(r,l,T)),y&&(o.bearing=e.number(n,c,T)),b&&(o.pitch=e.number(s,h,T)),w&&(o.interpolatePadding(a,u,T),d=o.centerPoint.add(_)),g)o.setLocationAtPoint(g,v);else {const e=o.zoomScale(o.zoom-r),t=l>r?Math.min(2,f):Math.max(.5,f),i=Math.pow(t,1-T),n=o.unproject(p.add(m.mult(T*i)).mult(e));o.setLocationAtPoint(o.renderWorldCopies?n.wrap():n,d);}return t.preloadOnly||this._fireMoveEvents(i),o};if(t.preloadOnly){const e=this._emulate(T,t.duration,o);return this._preloadTiles(e),this}const E={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=x,this._rotating=y,this._pitching=b,this._padding=w,this._easeId=t.easeId,this._prepareEase(i,t.noMoveStart,E),this._ease(T(o),(e=>{o.recenterOnTerrain(),this._afterEase(i,e);}),t),this}_prepareEase(t,i,o={}){this._moving=!0,this.transform.cameraElevationReference="sea",i||o.moving||this.fire(new e.Event("movestart",t)),this._zooming&&!o.zooming&&this.fire(new e.Event("zoomstart",t)),this._rotating&&!o.rotating&&this.fire(new e.Event("rotatestart",t)),this._pitching&&!o.pitching&&this.fire(new e.Event("pitchstart",t));}_fireMoveEvents(t){this.fire(new e.Event("move",t)),this._zooming&&this.fire(new e.Event("zoom",t)),this._rotating&&this.fire(new e.Event("rotate",t)),this._pitching&&this.fire(new e.Event("pitch",t));}_afterEase(t,i){if(this._easeId&&i&&this._easeId===i)return;this._easeId=void 0,this.transform.cameraElevationReference="ground";const o=this._zooming,r=this._rotating,n=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,o&&this.fire(new e.Event("zoomend",t)),r&&this.fire(new e.Event("rotateend",t)),n&&this.fire(new e.Event("pitchend",t)),this.fire(new e.Event("moveend",t));}flyTo(t,i){if(this._prefersReducedMotion(t)){const o=e.pick(t,["center","zoom","bearing","pitch","around"]);return this.jumpTo(o,i)}this.stop(),t=e.extend({offset:[0,0],speed:1.2,curve:1.42,easing:e.ease},t);const o=this.transform,r=this.getZoom(),n=this.getBearing(),s=this.getPitch(),a=this.getPadding(),l="zoom"in t?e.clamp(+t.zoom,o.minZoom,o.maxZoom):r,c="bearing"in t?this._normalizeBearing(t.bearing,n):n,h="pitch"in t?+t.pitch:s,u="padding"in t?t.padding:o.padding,_=o.zoomScale(l-r),d=e.Point.convert(t.offset);let p=o.centerPoint.add(d);const m=o.pointLocation(p),f=e.LngLat.convert(t.center||m);this._normalizeCenter(f);const g=o.project(m),v=o.project(f).sub(g);let x=t.curve;const y=Math.max(o.width,o.height),b=y/_,w=v.mag();if("minZoom"in t){const i=e.clamp(Math.min(t.minZoom,r,l),o.minZoom,o.maxZoom),n=y/o.zoomScale(i-r);x=Math.sqrt(n/w*2);}const T=x*x;function E(e){const t=(b*b-y*y+(e?-1:1)*T*T*w*w)/(2*(e?b:y)*T*w);return Math.log(Math.sqrt(t*t+1)-t)}function C(e){return (Math.exp(e)-Math.exp(-e))/2}function M(e){return (Math.exp(e)+Math.exp(-e))/2}const I=E(0);let P=function(e){return M(I)/M(I+x*e)},S=function(e){return y*((M(I)*(C(t=I+x*e)/M(t))-C(I))/T)/w;var t;},D=(E(1)-I)/x;if(Math.abs(w)<1e-6||!isFinite(D)){if(Math.abs(y-b)<1e-6)return this.easeTo(t,i);const e=bt.maxDuration&&(t.duration=0);const L=n!==c,A=h!==s,z=!o.isPaddingEqual(u),R=o=>_=>{const m=_*D,x=1/P(m);o.zoom=1===_?l:r+o.scaleZoom(x),L&&(o.bearing=e.number(n,c,_)),A&&(o.pitch=e.number(s,h,_)),z&&(o.interpolatePadding(a,u,_),p=o.centerPoint.add(d));const y=1===_?f:o.unproject(g.add(v.mult(S(m))).mult(x));return o.setLocationAtPoint(o.renderWorldCopies?y.wrap():y,p),o._updateCameraOnTerrain(),t.preloadOnly||this._fireMoveEvents(i),o};if(t.preloadOnly){const e=this._emulate(R,t.duration,o);return this._preloadTiles(e),this}return this._zooming=!0,this._rotating=L,this._pitching=A,this._padding=z,this._prepareEase(i,!1),this._ease(R(o),(()=>this._afterEase(i)),t),this}isEasing(){return !!this._easeFrameId}stop(){return this._stop()}_stop(e,t){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),this._easeFrameId=void 0,this._onEaseFrame=void 0),this._onEaseEnd){const e=this._onEaseEnd;this._onEaseEnd=void 0,e.call(this,t);}if(!e){const e=this.handlers;e&&e.stop(!1);}return this}_ease(t,i,o){!1===o.animate||0===o.duration?(t(1),i()):(this._easeStart=e.exported.now(),this._easeOptions=o,this._onEaseFrame=t,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback));}_renderFrameCallback(){const t=Math.min((e.exported.now()-this._easeStart)/this._easeOptions.duration,1),i=this._onEaseFrame;i&&i(this._easeOptions.easing(t)),t<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop();}_normalizeBearing(t,i){t=e.wrap(t,-180,180);const o=Math.abs(t-i);return Math.abs(t-360-i)180?-360:i<-180?360:0;}_prefersReducedMotion(t){return this._respectPrefersReducedMotion&&e.exported.prefersReducedMotion&&!(t&&t.essential)}_emulate(e,t,i){const o=Math.ceil(15*t/1e3),r=[],n=e(i.clone());for(let e=0;e<=o;e++){const t=n(e/o);r.push(t.clone());}return r}}class Hr{constructor(t={}){this.options=t,e.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this);}getDefaultPosition(){return "bottom-right"}onAdd(e){const t=this.options&&this.options.compact;return this._map=e,this._container=n("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=n("button","mapboxgl-ctrl-attrib-button",this._container),n("span","mapboxgl-ctrl-icon",this._compactButton).setAttribute("aria-hidden","true"),this._compactButton.type="button",this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=n("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),t&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===t&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container}onRemove(){this._container.remove(),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0;}_setElementTitle(e,t){const i=this._map._getUIString(`AttributionControl.${t}`);e.setAttribute("aria-label",i),e.removeAttribute("title"),e.firstElementChild&&e.firstElementChild.setAttribute("title",i);}_toggleAttribution(){this._container.classList.contains("mapboxgl-compact-show")?(this._container.classList.remove("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-expanded","false")):(this._container.classList.add("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-expanded","true"));}_updateEditLink(){let t=this._editLink;t||(t=this._editLink=this._container.querySelector(".mapbox-improve-map"));const i=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||e.config.ACCESS_TOKEN}];if(t){const o=i.reduce(((e,t,o)=>(t.value&&(e+=`${t.key}=${t.value}${oe.length-t.length)),e=e.filter(((t,i)=>{for(let o=i+1;o=0)return !1;return !0})),this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=[...this.options.customAttribution,...e]:e.unshift(this.options.customAttribution));const i=e.join(" | ");i!==this._attribHTML&&(this._attribHTML=i,e.length?(this._innerContainer.innerHTML=i,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null);}_updateCompact(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show");}}class Yr{constructor(){e.bindAll(["_updateLogo","_updateCompact"],this);}onAdd(e){this._map=e,this._container=n("div","mapboxgl-ctrl");const t=n("a","mapboxgl-ctrl-logo");return t.target="_blank",t.rel="noopener nofollow",t.href="https://www.mapbox.com/",t.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),t.setAttribute("rel","noopener nofollow"),this._container.appendChild(t),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){this._container.remove(),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact);}getDefaultPosition(){return "bottom-left"}_updateLogo(e){e&&"metadata"!==e.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none");}_logoRequired(){if(!this._map.style)return !0;const e=this._map.style._sourceCaches;if(0===Object.entries(e).length)return !0;for(const t in e){const i=e[t].getSource();if(i.hasOwnProperty("mapbox_logo")&&!i.mapbox_logo)return !1}return !0}_updateCompact(){const e=this._container.children;if(e.length){const t=e[0];this._map.getCanvasContainer().offsetWidth<250?t.classList.add("mapboxgl-compact"):t.classList.remove("mapboxgl-compact");}}}class Kr{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1;}add(e){const t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t}remove(e){const t=this._currentlyRunning,i=t?this._queue.concat(t):this._queue;for(const t of i)if(t.id===e)return void(t.cancelled=!0)}run(e=0){const t=this._currentlyRunning=this._queue;this._queue=[];for(const i of t)if(!i.cancelled&&(i.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1;}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[];}}function Jr(t,i,o){if(t=new e.LngLat(t.lng,t.lat),i){const r=new e.LngLat(t.lng-360,t.lat),n=new e.LngLat(t.lng+360,t.lat),s=360*Math.ceil(Math.abs(t.lng-o.center.lng)/360),a=o.locationPoint(t).distSqr(i),l=i.x<0||i.y<0||i.x>o.width||i.y>o.height;o.locationPoint(r).distSqr(i)180;){const e=o.locationPoint(t);if(e.x>=0&&e.y>=0&&e.x<=o.width&&e.y<=o.height)break;t.lng>o.center.lng?t.lng-=360:t.lng+=360;}return t}const Qr={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};class en extends e.Evented{constructor(t,i){if(super(),(t instanceof e.window.HTMLElement||i)&&(t=e.extend({element:t},i)),e.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress","_clearFadeTimer"],this),this._anchor=t&&t.anchor||"center",this._color=t&&t.color||"#3FB1CE",this._scale=t&&t.scale||1,this._draggable=t&&t.draggable||!1,this._clickTolerance=t&&t.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=t&&t.rotation||0,this._rotationAlignment=t&&t.rotationAlignment||"auto",this._pitchAlignment=t&&t.pitchAlignment&&t.pitchAlignment||"auto",this._updateMoving=()=>this._update(!0),this._occludedOpacity=t&&t.occludedOpacity||.2,t&&t.element)this._element=t.element,this._offset=e.Point.convert(t&&t.offset||[0,0]);else {this._defaultMarker=!0,this._element=n("div");const i=41,o=27,r=s("svg",{display:"block",height:i*this._scale+"px",width:o*this._scale+"px",viewBox:`0 0 ${o} ${i}`},this._element),a=s("radialGradient",{id:"shadowGradient"},s("defs",{},r));s("stop",{offset:"10%","stop-opacity":.4},a),s("stop",{offset:"100%","stop-opacity":.05},a),s("ellipse",{cx:13.5,cy:34.8,rx:10.5,ry:5.25,fill:"url(#shadowGradient)"},r),s("path",{fill:this._color,d:"M27,13.5C27,19.07 20.25,27 14.75,34.5C14.02,35.5 12.98,35.5 12.25,34.5C6.75,27 0,19.22 0,13.5C0,6.04 6.04,0 13.5,0C20.96,0 27,6.04 27,13.5Z"},r),s("path",{opacity:.25,d:"M13.5,0C6.04,0 0,6.04 0,13.5C0,19.22 6.75,27 12.25,34.5C13,35.52 14.02,35.5 14.75,34.5C20.25,27 27,19.07 27,13.5C27,6.04 20.96,0 13.5,0ZM13.5,1C20.42,1 26,6.58 26,13.5C26,15.9 24.5,19.18 22.22,22.74C19.95,26.3 16.71,30.14 13.94,33.91C13.74,34.18 13.61,34.32 13.5,34.44C13.39,34.32 13.26,34.18 13.06,33.91C10.28,30.13 7.41,26.31 5.02,22.77C2.62,19.23 1,15.95 1,13.5C1,6.58 6.58,1 13.5,1Z"},r),s("circle",{fill:"white",cx:13.5,cy:13.5,r:5.5},r),this._offset=e.Point.convert(t&&t.offset||[0,-14]);}this._element.hasAttribute("aria-label")||this._element.setAttribute("aria-label","Map marker"),this._element.classList.add("mapboxgl-marker"),this._element.addEventListener("dragstart",(e=>{e.preventDefault();})),this._element.addEventListener("mousedown",(e=>{e.preventDefault();}));const o=this._element.classList;for(const e in Qr)o.remove(`mapboxgl-marker-anchor-${e}`);o.add(`mapboxgl-marker-anchor-${this._anchor}`),this._popup=null;}addTo(e){return e===this._map||(this.remove(),this._map=e,e.getCanvasContainer().appendChild(this._element),e.on("move",this._updateMoving),e.on("moveend",this._update),e.on("remove",this._clearFadeTimer),e._addMarker(this),this.setDraggable(this._draggable),this._update(),e.on("click",this._onMapClick)),this}remove(){const e=this._map;return e&&(e.off("click",this._onMapClick),e.off("move",this._updateMoving),e.off("moveend",this._update),e.off("mousedown",this._addDragHandler),e.off("touchstart",this._addDragHandler),e.off("mouseup",this._onUp),e.off("touchend",this._onUp),e.off("mousemove",this._onMove),e.off("touchmove",this._onMove),e.off("remove",this._clearFadeTimer),e._removeMarker(this),this._map=void 0),this._clearFadeTimer(),this._element.remove(),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.LngLat.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(!0),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeAttribute("role"),this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),e){if(!("offset"in e.options)){const t=38.1,i=13.5,o=Math.sqrt(Math.pow(i,2)/2);e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-t],"bottom-left":[o,-1*(t-i+o)],"bottom-right":[-o,-1*(t-i+o)],left:[i,-1*(t-i)],right:[-i,-1*(t-i)]}:this._offset;}this._popup=e,e._marker=this,this._lngLat&&this._popup.setLngLat(this._lngLat),this._element.setAttribute("role","button"),this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress),this._element.setAttribute("aria-expanded","false");}return this}_onKeyPress(e){const t=e.code,i=e.charCode||e.keyCode;"Space"!==t&&"Enter"!==t&&32!==i&&13!==i||this.togglePopup();}_onMapClick(e){const t=e.originalEvent.target,i=this._element;this._popup&&(t===i||i.contains(t))&&this.togglePopup();}getPopup(){return this._popup}togglePopup(){const e=this._popup;return e?(e.isOpen()?(e.remove(),this._element.setAttribute("aria-expanded","false")):this._map&&(e.addTo(this._map),this._element.setAttribute("aria-expanded","true")),this):this}_behindTerrain(){const e=this._map,t=this._pos;if(!e||!t)return !1;const i=e.unproject(t),o=e.getFreeCameraOptions();if(!o.position)return !1;const r=o.position.toLngLat();return r.distanceTo(i)<.9*r.distanceTo(this._lngLat)}_evaluateOpacity(){const t=this._map;if(!t)return;const i=this._pos;if(!i||i.x<0||i.x>t.transform.width||i.y<0||i.y>t.transform.height)return void this._clearFadeTimer();const o=t.unproject(i);let r;t._showingGlobe()&&e.isLngLatBehindGlobe(t.transform,this._lngLat)?r=0:(r=1-t._queryFogOpacity(o),t.transform._terrainEnabled()&&t.getTerrain()&&this._behindTerrain()&&(r*=this._occludedOpacity)),this._element.style.opacity=`${r}`,this._element.style.pointerEvents=r>0?"auto":"none",this._popup&&this._popup._setOpacity(r),this._fadeTimer=null;}_clearFadeTimer(){this._fadeTimer&&(clearTimeout(this._fadeTimer),this._fadeTimer=null);}_updateDOM(){const e=this._pos;if(!e||!this._map)return;const t=this._offset.mult(this._scale);this._element.style.transform=`\n translate(${e.x}px,${e.y}px)\n ${Qr[this._anchor]}\n ${this._calculateXYTransform()} ${this._calculateZTransform()}\n translate(${t.x}px,${t.y}px)\n `;}_calculateXYTransform(){const t=this._pos,i=this._map,o=this.getPitchAlignment();if(!i||!t||"map"!==o)return "";if(!i._showingGlobe()){const e=i.getPitch();return e?`rotateX(${e}deg)`:""}const r=e.radToDeg(e.globeTiltAtLngLat(i.transform,this._lngLat)),n=t.sub(e.globeCenterToScreenPoint(i.transform)),s=Math.abs(n.x)+Math.abs(n.y);if(0===s)return "";const a=r/s;return `rotateX(${-n.y*a}deg) rotateY(${n.x*a}deg)`}_calculateZTransform(){const t=this._pos,i=this._map;if(!i||!t)return "";let o=0;const r=this.getRotationAlignment();if("map"===r)if(i._showingGlobe()){const t=i.project(new e.LngLat(this._lngLat.lng,this._lngLat.lat+.001)),r=i.project(new e.LngLat(this._lngLat.lng,this._lngLat.lat-.001)).sub(t);o=e.radToDeg(Math.atan2(r.y,r.x))-90;}else o=-i.getBearing();else if("horizon"===r){const r=e.smoothstep(4,6,i.getZoom()),n=e.globeCenterToScreenPoint(i.transform);n.y+=r*i.transform.height;const s=t.sub(n),a=e.radToDeg(Math.atan2(s.y,s.x));o=(a>90?a-270:a+90)*(1-r);}return o+=this._rotation,o?`rotateZ(${o}deg)`:""}_update(t){e.window.cancelAnimationFrame(this._updateFrameId);const i=this._map;i&&(i.transform.renderWorldCopies&&(this._lngLat=Jr(this._lngLat,this._pos,i.transform)),this._pos=i.project(this._lngLat),!0===t?this._updateFrameId=e.window.requestAnimationFrame((()=>{this._element&&this._pos&&this._anchor&&(this._pos=this._pos.round(),this._updateDOM());})):this._pos=this._pos.round(),i._requestDomTask((()=>{this._map&&(this._element&&this._pos&&this._anchor&&this._updateDOM(),(i._showingGlobe()||i.getTerrain()||i.getFog())&&!this._fadeTimer&&(this._fadeTimer=setTimeout(this._evaluateOpacity.bind(this),60)));})));}getOffset(){return this._offset}setOffset(t){return this._offset=e.Point.convert(t),this._update(),this}_onMove(t){const i=this._map;if(!i)return;const o=this._pointerdownPos,r=this._positionDelta;if(o&&r){if(!this._isDragging){const e=this._clickTolerance||i._clickTolerance;if(t.point.dist(o)=this._endTime)return this._end;const i=e.easeCubicInOut((t-this._startTime)/(this._endTime-this._startTime));return this._start*(1-i)+this._end*i}isEasing(e){return e>=this._startTime&&e<=this._endTime}jumpTo(e){this._startTime=-1/0,this._endTime=-1/0,this._start=e,this._end=e;}easeTo(e,t,i){this._start=this.getValue(t),this._end=e,this._startTime=t,this._endTime=t+i;}}const sn={"AttributionControl.ToggleAttribution":"Toggle attribution","AttributionControl.MapFeedback":"Map feedback","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"Mapbox logo","Map.Title":"Map","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScrollZoomBlocker.CtrlMessage":"Use ctrl + scroll to zoom the map","ScrollZoomBlocker.CmdMessage":"Use ⌘ + scroll to zoom the map","TouchPanBlocker.Message":"Use two fingers to move the map"},an={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:85,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,performanceMetricsCollection:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,optimizeForTerrain:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,minTileCacheSize:null,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",localFontFamily:null,transformRequest:null,accessToken:null,fadeDuration:300,respectPrefersReducedMotion:!0,crossSourceCollisions:!0},ln={showCompass:!0,showZoom:!0,visualizePitch:!1};class cn{constructor(t,i,o=!1){this._clickTolerance=10,this.element=i,this.mouseRotate=new yr({clickTolerance:t.dragRotate._mouseRotate._clickTolerance}),this.map=t,o&&(this.mousePitch=new br({clickTolerance:t.dragRotate._mousePitch._clickTolerance})),e.bindAll(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this),i.addEventListener("mousedown",this.mousedown),i.addEventListener("touchstart",this.touchstart,{passive:!1}),i.addEventListener("touchmove",this.touchmove),i.addEventListener("touchend",this.touchend),i.addEventListener("touchcancel",this.reset);}down(e,t){this.mouseRotate.mousedown(e,t),this.mousePitch&&this.mousePitch.mousedown(e,t),h();}move(e,t){const i=this.map,o=this.mouseRotate.mousemoveWindow(e,t),r=o&&o.bearingDelta;if(r&&i.setBearing(i.getBearing()+r),this.mousePitch){const o=this.mousePitch.mousemoveWindow(e,t),r=o&&o.pitchDelta;r&&i.setPitch(i.getPitch()+r);}}off(){const e=this.element;e.removeEventListener("mousedown",this.mousedown),e.removeEventListener("touchstart",this.touchstart,{passive:!1}),e.removeEventListener("touchmove",this.touchmove),e.removeEventListener("touchend",this.touchend),e.removeEventListener("touchcancel",this.reset),this.offTemp();}offTemp(){u(),e.window.removeEventListener("mousemove",this.mousemove),e.window.removeEventListener("mouseup",this.mouseup);}mousedown(t){this.down(e.extend({},t,{ctrlKey:!0,preventDefault:()=>t.preventDefault()}),p(this.element,t)),e.window.addEventListener("mousemove",this.mousemove),e.window.addEventListener("mouseup",this.mouseup);}mousemove(e){this.move(e,p(this.element,e));}mouseup(e){this.mouseRotate.mouseupWindow(e),this.mousePitch&&this.mousePitch.mouseupWindow(e),this.offTemp();}touchstart(e){1!==e.targetTouches.length?this.reset():(this._startPos=this._lastPos=m(this.element,e.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:()=>e.preventDefault()},this._startPos));}touchmove(e){1!==e.targetTouches.length?this.reset():(this._lastPos=m(this.element,e.targetTouches)[0],this.move({preventDefault:()=>e.preventDefault()},this._lastPos));}touchend(e){0===e.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)t.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=t.minPitch&&null!=t.maxPitch&&t.minPitch>t.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=t.minPitch&&t.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=t.maxPitch&&t.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(t.antialias&&e.isSafariWithAntialiasingBug(e.window)&&(t.antialias=!1,e.warnOnce("Antialiasing is disabled for this WebGL context to avoid browser bug: https://github.com/mapbox/mapbox-gl-js/issues/11609")),super(new Ho(t.minZoom,t.maxZoom,t.minPitch,t.maxPitch,t.renderWorldCopies),t),this._interactive=t.interactive,this._minTileCacheSize=t.minTileCacheSize,this._maxTileCacheSize=t.maxTileCacheSize,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._antialias=t.antialias,this._useWebGL2=t.useWebGL2,this._trackResize=t.trackResize,this._bearingSnap=t.bearingSnap,this._refreshExpiredTiles=t.refreshExpiredTiles,this._fadeDuration=t.fadeDuration,this._isInitialLoad=!0,this._crossSourceCollisions=t.crossSourceCollisions,this._collectResourceTiming=t.collectResourceTiming,this._optimizeForTerrain=t.optimizeForTerrain,this._language=this._parseLanguage(t.language),this._worldview=t.worldview,this._renderTaskQueue=new Kr,this._domRenderTaskQueue=new Kr,this._controls=[],this._markers=[],this._popups=[],this._mapId=e.uniqueId(),this._locale=e.extend({},sn,t.locale),this._clickTolerance=t.clickTolerance,this._cooperativeGestures=t.cooperativeGestures,this._performanceMetricsCollection=t.performanceMetricsCollection,this._containerWidth=0,this._containerHeight=0,this._averageElevationLastSampledAt=-1/0,this._averageElevationExaggeration=0,this._averageElevation=new nn(0),this._interactionRange=[1/0,-1/0],this._visibilityHidden=0,this._useExplicitProjection=!1,this._requestManager=new e.RequestManager(t.transformRequest,t.accessToken,t.testMode),this._silenceAuthErrors=!!t.testMode,"string"==typeof t.container){if(this._container=e.window.document.getElementById(t.container),!this._container)throw new Error(`Container '${t.container}' not found.`)}else {if(!(t.container instanceof e.window.HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=t.container;}if(this._container.childNodes.length>0&&e.warnOnce("The map container element should be empty, otherwise the map's interactivity will be negatively impacted. If you want to display a message when WebGL is not supported, use the Mapbox GL Supported plugin instead."),t.maxBounds&&this.setMaxBounds(t.maxBounds),e.bindAll(["_onWindowOnline","_onWindowResize","_onVisibilityChange","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(()=>this._update(!1))),this.on("moveend",(()=>this._update(!1))),this.on("zoom",(()=>this._update(!0))),void 0!==e.window&&(e.window.addEventListener("online",this._onWindowOnline,!1),e.window.addEventListener("resize",this._onWindowResize,!1),e.window.addEventListener("orientationchange",this._onWindowResize,!1),e.window.addEventListener("webkitfullscreenchange",this._onWindowResize,!1),e.window.addEventListener("visibilitychange",this._onVisibilityChange,!1)),this.handlers=new Xr(this,t),this._localFontFamily=t.localFontFamily,this._localIdeographFontFamily=t.localIdeographFontFamily,t.style&&this.setStyle(t.style,{localFontFamily:this._localFontFamily,localIdeographFontFamily:this._localIdeographFontFamily}),t.projection&&this.setProjection(t.projection),this._hash=t.hash&&new Ko("string"==typeof t.hash&&t.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),t.bounds&&(this.resize(),this.fitBounds(t.bounds,e.extend({},t.fitBoundsOptions,{duration:0})))),this.resize(),t.attributionControl&&this.addControl(new Hr({customAttribution:t.customAttribution})),this._logoControl=new Yr,this.addControl(this._logoControl,t.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet);})),this.on("data",(t=>{this._update("style"===t.dataType),this.fire(new e.Event(`${t.dataType}data`,t));})),this.on("dataloading",(t=>{this.fire(new e.Event(`${t.dataType}dataloading`,t));}));}_getMapId(){return this._mapId}addControl(t,i){if(void 0===i&&(i=t.getDefaultPosition?t.getDefaultPosition():"top-right"),!t||!t.onAdd)return this.fire(new e.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const o=t.onAdd(this);this._controls.push(t);const r=this._controlPositions[i];return -1!==i.indexOf("bottom")?r.insertBefore(o,r.firstChild):r.appendChild(o),this}removeControl(t){if(!t||!t.onRemove)return this.fire(new e.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const i=this._controls.indexOf(t);return i>-1&&this._controls.splice(i,1),t.onRemove(this),this}hasControl(e){return this._controls.indexOf(e)>-1}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}resize(t){if(this._updateContainerDimensions(),this._containerWidth===this.transform.width&&this._containerHeight===this.transform.height)return this;this._resizeCanvas(this._containerWidth,this._containerHeight),this.transform.resize(this._containerWidth,this._containerHeight),this.painter.resize(Math.ceil(this._containerWidth),Math.ceil(this._containerHeight));const i=!this._moving;return i&&this.fire(new e.Event("movestart",t)).fire(new e.Event("move",t)),this.fire(new e.Event("resize",t)),i&&this.fire(new e.Event("moveend",t)),this}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()||null}setMaxBounds(t){return this.transform.setMaxBounds(e.LngLatBounds.convert(t)),this._update()}setMinZoom(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t?this.setZoom(t):this.fire(new e.Event("zoomstart")).fire(new e.Event("zoom")).fire(new e.Event("zoomend")),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t?this.setPitch(t):this.fire(new e.Event("pitchstart")).fire(new e.Event("pitch")).fire(new e.Event("pitchend")),this;throw new Error("maxPitch must be greater than or equal to minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(e){return this.transform.renderWorldCopies=e,this.transform.renderWorldCopies||this._forceMarkerAndPopupUpdate(!0),this._update()}getLanguage(){return this._language}_parseLanguage(t){return "auto"===t?e.window.navigator.language:Array.isArray(t)?0===t.length?void 0:t.map((t=>"auto"===t?e.window.navigator.language:t)):t}setLanguage(e){const t=this._parseLanguage(e);if(!this.style||t===this._language)return this;this._language=t,this.style._reloadSources();for(const e of this._controls)e._setLanguage&&e._setLanguage(this._language);return this}getWorldview(){return this._worldview}setWorldview(e){return this.style&&e!==this._worldview?(this._worldview=e,this.style._reloadSources(),this):this}getProjection(){return this.transform.mercatorFromTransition?{name:"globe",center:[0,0]}:this.transform.getProjection()}_showingGlobe(){return "globe"===this.transform.projection.name}setProjection(e){return this._lazyInitEmptyStyle(),e?"string"==typeof e&&(e={name:e}):e=null,this._useExplicitProjection=!!e,this._prioritizeAndUpdateProjection(e,this.style.stylesheet?this.style.stylesheet.projection:null)}_updateProjectionTransition(){if("globe"!==this.getProjection().name)return;const t=this.transform,i=t.projection.name;let o;"globe"===i&&t.zoom>=e.GLOBE_ZOOM_THRESHOLD_MAX?(t.setMercatorFromTransition(),o=!0):"mercator"===i&&t.zoom=e.GLOBE_ZOOM_THRESHOLD_MAX?this.transform.setMercatorFromTransition():this.transform.setProjection(t),this.style.applyProjectionUpdate(),i){this.painter.clearBackgroundTiles();for(const e in this.style._sourceCaches)this.style._sourceCaches[e].clearTiles();this._update(!0),this._forceMarkerAndPopupUpdate(!0);}return this}project(t){return this.transform.locationPoint3D(e.LngLat.convert(t))}unproject(t){return this.transform.pointLocation3D(e.Point.convert(t))}isMoving(){return this._moving||this.handlers&&this.handlers.isMoving()||!1}isZooming(){return this._zooming||this.handlers&&this.handlers.isZooming()||!1}isRotating(){return this._rotating||this.handlers&&this.handlers.isRotating()||!1}_isDragging(){return this.handlers&&this.handlers._isDragging()||!1}_createDelegatedListener(e,t,i){if("mouseenter"===e||"mouseover"===e){let o=!1;const r=r=>{const n=t.filter((e=>this.getLayer(e))),s=n.length?this.queryRenderedFeatures(r.point,{layers:n}):[];s.length?o||(o=!0,i.call(this,new ar(e,this,r.originalEvent,{features:s}))):o=!1;},n=()=>{o=!1;};return {layers:new Set(t),listener:i,delegates:{mousemove:r,mouseout:n}}}if("mouseleave"===e||"mouseout"===e){let o=!1;const r=r=>{const n=t.filter((e=>this.getLayer(e)));(n.length?this.queryRenderedFeatures(r.point,{layers:n}):[]).length?o=!0:o&&(o=!1,i.call(this,new ar(e,this,r.originalEvent)));},n=t=>{o&&(o=!1,i.call(this,new ar(e,this,t.originalEvent)));};return {layers:new Set(t),listener:i,delegates:{mousemove:r,mouseout:n}}}{const o=e=>{const o=t.filter((e=>this.getLayer(e))),r=o.length?this.queryRenderedFeatures(e.point,{layers:o}):[];r.length&&(e.features=r,i.call(this,e),delete e.features);};return {layers:new Set(t),listener:i,delegates:{[e]:o}}}}on(e,t,i){if(void 0===i)return super.on(e,t);Array.isArray(t)||(t=[t]);const o=this._createDelegatedListener(e,t,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(o);for(const e in o.delegates)this.on(e,o.delegates[e]);return this}once(e,t,i){if(void 0===i)return super.once(e,t);Array.isArray(t)||(t=[t]);const o=this._createDelegatedListener(e,t,i);for(const e in o.delegates)this.once(e,o.delegates[e]);return this}off(e,t,i){if(void 0===i)return super.off(e,t);t=new Set(Array.isArray(t)?t:[t]);const o=(e,t)=>{if(e.size!==t.size)return !1;for(const i of e)if(!t.has(i))return !1;return !0},r=this._delegatedListeners?this._delegatedListeners[e]:void 0;return r&&(e=>{for(let r=0;r{t?this.fire(new e.ErrorEvent(t)):o&&this._updateDiff(o,i);}));}else "object"==typeof t&&this._updateDiff(t,i);}_updateDiff(t,i){try{this.style.setState(t)&&this._update(!0);}catch(o){e.warnOnce(`Unable to perform style diff: ${o.message||o.error||o}. Rebuilding the style from scratch.`),this._updateStyle(t,i);}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():(e.warnOnce("There is no style added to the map."),!1)}addSource(e,t){return this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)}isSourceLoaded(e){return !!this.style&&this.style._isSourceCacheLoaded(e)}areTilesLoaded(){const e=this.style&&this.style._sourceCaches;for(const t in e){const i=e[t]._tiles;for(const e in i){const t=i[e];if("loaded"!==t.state&&"errored"!==t.state)return !1}}return !0}addSourceType(e,t,i){this._lazyInitEmptyStyle(),this.style.addSourceType(e,t,i);}removeSource(e){return this.style.removeSource(e),this._updateTerrain(),this._update(!0)}getSource(e){return this.style.getSource(e)}addImage(t,i,{pixelRatio:o=1,sdf:r=!1,stretchX:n,stretchY:s,content:a}={}){if(this._lazyInitEmptyStyle(),i instanceof e.window.HTMLImageElement||e.window.ImageBitmap&&i instanceof e.window.ImageBitmap){const{width:l,height:c,data:h}=e.exported.getImageData(i);this.style.addImage(t,{data:new e.RGBAImage({width:l,height:c},h),pixelRatio:o,stretchX:n,stretchY:s,content:a,sdf:r,version:0});}else if(void 0===i.width||void 0===i.height)this.fire(new e.ErrorEvent(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));else {const{width:l,height:c}=i,h=i;this.style.addImage(t,{data:new e.RGBAImage({width:l,height:c},new Uint8Array(h.data)),pixelRatio:o,stretchX:n,stretchY:s,content:a,sdf:r,version:0,userImage:h}),h.onAdd&&h.onAdd(this,t);}}updateImage(t,i){const o=this.style.getImage(t);if(!o)return void this.fire(new e.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const r=i instanceof e.window.HTMLImageElement||e.window.ImageBitmap&&i instanceof e.window.ImageBitmap?e.exported.getImageData(i):i,{width:n,height:s}=r;void 0!==n&&void 0!==s?n===o.data.width&&s===o.data.height?(o.data.replace(r.data,!(i instanceof e.window.HTMLImageElement||e.window.ImageBitmap&&i instanceof e.window.ImageBitmap)),this.style.updateImage(t,o)):this.fire(new e.ErrorEvent(new Error(`The width and height of the updated image (${n}, ${s})\n must be that same as the previous version of the image\n (${o.data.width}, ${o.data.height})`))):this.fire(new e.ErrorEvent(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));}hasImage(t){return t?!!this.style.getImage(t):(this.fire(new e.ErrorEvent(new Error("Missing required image id"))),!1)}removeImage(e){this.style.removeImage(e);}loadImage(t,i){e.getImage(this._requestManager.transformRequest(t,e.ResourceType.Image),((t,o)=>{i(t,o instanceof e.window.HTMLImageElement?e.exported.getImageData(o):o);}));}listImages(){return this.style.listImages()}addLayer(e,t){return this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)}moveLayer(e,t){return this.style.moveLayer(e,t),this._update(!0)}removeLayer(e){return this.style.removeLayer(e),this._update(!0)}getLayer(e){return this.style.getLayer(e)}setLayerZoomRange(e,t,i){return this.style.setLayerZoomRange(e,t,i),this._update(!0)}setFilter(e,t,i={}){return this.style.setFilter(e,t,i),this._update(!0)}getFilter(e){return this.style.getFilter(e)}setPaintProperty(e,t,i,o={}){return this.style.setPaintProperty(e,t,i,o),this._update(!0)}getPaintProperty(e,t){return this.style.getPaintProperty(e,t)}setLayoutProperty(e,t,i,o={}){return this.style.setLayoutProperty(e,t,i,o),this._update(!0)}getLayoutProperty(e,t){return this.style.getLayoutProperty(e,t)}setLight(e,t={}){return this._lazyInitEmptyStyle(),this.style.setLight(e,t),this._update(!0)}getLight(){return this.style.getLight()}setTerrain(e){return this._lazyInitEmptyStyle(),!e&&this.transform.projection.requiresDraping?this.style.setTerrainForDraping():this.style.setTerrain(e),this._averageElevationLastSampledAt=-1/0,this._update(!0)}getTerrain(){return this.style?this.style.getTerrain():null}setFog(e){return this._lazyInitEmptyStyle(),this.style.setFog(e),this._update(!0)}getFog(){return this.style?this.style.getFog():null}_queryFogOpacity(t){return this.style&&this.style.fog?this.style.fog.getOpacityAtLatLng(e.LngLat.convert(t),this.transform):0}setFeatureState(e,t){return this.style.setFeatureState(e,t),this._update()}removeFeatureState(e,t){return this.style.removeFeatureState(e,t),this._update()}getFeatureState(e){return this.style.getFeatureState(e)}_updateContainerDimensions(){if(!this._container)return;const t=this._container.getBoundingClientRect().width||400,i=this._container.getBoundingClientRect().height||300;let o,r,n,s=this._container;for(;s&&(!r||!n);){const t=e.window.getComputedStyle(s).transform;t&&"none"!==t&&(o=t.match(/matrix.*\((.+)\)/)[1].split(", "),o[0]&&"0"!==o[0]&&"1"!==o[0]&&(r=o[0]),o[3]&&"0"!==o[3]&&"1"!==o[3]&&(n=o[3])),s=s.parentElement;}this._containerWidth=r?Math.abs(t/r):t,this._containerHeight=n?Math.abs(i/n):i;}_detectMissingCSS(){"rgb(250, 128, 114)"!==e.window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color")&&e.warnOnce("This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.");}_setupContainer(){const e=this._container;e.classList.add("mapboxgl-map"),(this._missingCSSCanary=n("div","mapboxgl-canary",e)).style.visibility="hidden",this._detectMissingCSS();const t=this._canvasContainer=n("div","mapboxgl-canvas-container",e);this._interactive&&t.classList.add("mapboxgl-interactive"),this._canvas=n("canvas","mapboxgl-canvas",t),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region"),this._updateContainerDimensions(),this._resizeCanvas(this._containerWidth,this._containerHeight);const i=this._controlContainer=n("div","mapboxgl-control-container",e),o=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((e=>{o[e]=n("div",`mapboxgl-ctrl-${e}`,i);})),this._container.addEventListener("scroll",this._onMapScroll,!1);}_resizeCanvas(t,i){const o=e.exported.devicePixelRatio||1;this._canvas.width=o*Math.ceil(t),this._canvas.height=o*Math.ceil(i),this._canvas.style.width=`${t}px`,this._canvas.style.height=`${i}px`;}_addMarker(e){this._markers.push(e);}_removeMarker(e){const t=this._markers.indexOf(e);-1!==t&&this._markers.splice(t,1);}_addPopup(e){this._popups.push(e);}_removePopup(e){const t=this._popups.indexOf(e);-1!==t&&this._popups.splice(t,1);}_setupPainter(){const t=e.extend({},i.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),o=this._useWebGL2&&this._canvas.getContext("webgl2",t),r=o||this._canvas.getContext("webgl",t)||this._canvas.getContext("experimental-webgl",t);r?(this._useWebGL2&&!o&&e.warnOnce("Failed to create WebGL 2 context. Using WebGL 1."),e.storeAuthState(r,!0),this.painter=new Bo(r,this.transform,!!o),this.on("data",(e=>{"source"===e.dataType&&this.painter.setTileLoadedFlag(!0);})),e.exported$1.testSupport(r)):this.fire(new e.ErrorEvent(new Error("Failed to initialize WebGL")));}_contextLost(t){t.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new e.Event("webglcontextlost",{originalEvent:t}));}_contextRestored(t){this._setupPainter(),this.resize(),this._update(),this.fire(new e.Event("webglcontextrestored",{originalEvent:t}));}_onMapScroll(e){if(e.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1}loaded(){return !this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(e){return this.style?(this._styleDirty=this._styleDirty||e,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(e){return this._update(),this._renderTaskQueue.add(e)}_cancelRenderFrame(e){this._renderTaskQueue.remove(e);}_requestDomTask(e){!this.loaded()||this.loaded()&&!this.isMoving()?e():this._domRenderTaskQueue.add(e);}_render(t){let i;const o=this.painter.context.extTimerQuery,r=e.exported.now();if(this.listens("gpu-timing-frame")&&(i=o.createQueryEXT(),o.beginQueryEXT(o.TIME_ELAPSED_EXT,i)),this.painter.context.setDirty(),this.painter.setBaseState(),(this.isMoving()||this.isRotating()||this.isZooming())&&(this._interactionRange[0]=Math.min(this._interactionRange[0],e.window.performance.now()),this._interactionRange[1]=Math.max(this._interactionRange[1],e.window.performance.now())),this._renderTaskQueue.run(t),this._domRenderTaskQueue.run(t),this._removed)return;this._updateProjectionTransition();const n=this._isInitialLoad?0:this._fadeDuration;if(this.style&&this._styleDirty){this._styleDirty=!1;const t=this.transform.zoom,i=this.transform.pitch,o=e.exported.now(),r=new e.EvaluationParameters(t,{now:o,fadeDuration:n,pitch:i,transition:this.style.getTransition()});this.style.update(r);}this.style&&this.style.fog&&this.style.fog.hasTransition()&&(this.style._markersNeedUpdate=!0,this._sourcesDirty=!0);let s=!1;if(this.style&&this._sourcesDirty?(this._sourcesDirty=!1,this.painter._updateFog(this.style),this._updateTerrain(),s=this._updateAverageElevation(r),this.style._updateSources(this.transform),this._forceMarkerAndPopupUpdate()):s=this._updateAverageElevation(r),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,n,this._crossSourceCollisions),this.style&&this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showTerrainWireframe:this.showTerrainWireframe,showOverdrawInspector:this._showOverdrawInspector,showQueryGeometry:!!this._showQueryGeometry,showTileAABBs:this.showTileAABBs,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:n,isInitialLoad:this._isInitialLoad,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer"),gpuTimingDeferredRender:!!this.listens("gpu-timing-deferred-render"),speedIndexTiming:this.speedIndexTiming}),this.fire(new e.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new e.Event("load"))),this.style&&this.style.hasTransitions()&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),i){const t=e.exported.now()-r;o.endQueryEXT(o.TIME_ELAPSED_EXT,i),setTimeout((()=>{const n=o.getQueryObjectEXT(i,o.QUERY_RESULT_EXT)/1e6;o.deleteQueryEXT(i),this.fire(new e.Event("gpu-timing-frame",{cpuTime:t,gpuTime:n})),e.window.performance.mark("frame-gpu",{startTime:r,detail:{gpuTime:n}});}),50);}if(this.listens("gpu-timing-layer")){const t=this.painter.collectGpuTimers();setTimeout((()=>{const i=this.painter.queryGpuTimers(t);this.fire(new e.Event("gpu-timing-layer",{layerTimes:i}));}),50);}if(this.listens("gpu-timing-deferred-render")){const t=this.painter.collectDeferredRenderGpuQueries();setTimeout((()=>{const i=this.painter.queryGpuTimeDeferredRender(t);this.fire(new e.Event("gpu-timing-deferred-render",{gpuTime:i}));}),50);}const a=this._sourcesDirty||this._styleDirty||this._placementDirty||s;if(a||this._repaint)this.triggerRepaint();else {const t=!this.isMoving()&&this.loaded();if(t&&(s=this._updateAverageElevation(r,!0)),s)this.triggerRepaint();else if(this._triggerFrame(!1),t&&(this.fire(new e.Event("idle")),this._isInitialLoad=!1,this.speedIndexTiming)){const t=this._calculateSpeedIndex();this.fire(new e.Event("speedindexcompleted",{speedIndex:t})),this.speedIndexTiming=!1;}}!this._loaded||this._fullyLoaded||a||(this._fullyLoaded=!0,e.LivePerformanceUtils.mark(e.PerformanceMarkers.fullLoad),this._performanceMetricsCollection&&e.postPerformanceEvent(this._requestManager._customAccessToken,{width:this.painter.width,height:this.painter.height,interactionRange:this._interactionRange,visibilityHidden:this._visibilityHidden,terrainEnabled:!!this.painter.style.getTerrain(),fogEnabled:!!this.painter.style.getFog(),projection:this.getProjection().name,zoom:this.transform.zoom,renderer:this.painter.context.renderer,vendor:this.painter.context.vendor}),this._authenticate());}_forceMarkerAndPopupUpdate(e){for(const t of this._markers)e&&!this.getRenderWorldCopies()&&(t._lngLat=t._lngLat.wrap()),t._update();for(const t of this._popups)!e||this.getRenderWorldCopies()||t._trackPointer||(t._lngLat=t._lngLat.wrap()),t._update();}_updateAverageElevation(e,t=!1){const i=e=>(this.transform.averageElevation=e,this._update(!1),!0);if(!this.painter.averageElevationNeedsEasing())return 0!==this.transform.averageElevation&&i(0);if((t||e-this._averageElevationLastSampledAt>500)&&!this._averageElevation.isEasing(e)){const t=this.transform.averageElevation;let o=this.transform.sampleAverageElevation(),r=!1;this.transform.elevation&&(r=this.transform.elevation.exaggeration()!==this._averageElevationExaggeration,this._averageElevationExaggeration=this.transform.elevation.exaggeration()),isNaN(o)?o=0:this._averageElevationLastSampledAt=e;const n=Math.abs(t-o);if(n>1){if(this._isInitialLoad||r)return this._averageElevation.jumpTo(o),i(o);this._averageElevation.easeTo(o,e,300);}else if(n>1e-4)return this._averageElevation.jumpTo(o),i(o)}return !!this._averageElevation.isEasing(e)&&i(this._averageElevation.getValue(e))}_authenticate(){e.getMapSessionAPI(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,(t=>{if(t&&(t.message===e.AUTH_ERR_MSG||401===t.status)){const t=this.painter.context.gl;e.storeAuthState(t,!1),this._logoControl instanceof Yr&&this._logoControl._updateLogo(),t&&t.clear(t.DEPTH_BUFFER_BIT|t.COLOR_BUFFER_BIT|t.STENCIL_BUFFER_BIT),this._silenceAuthErrors||this.fire(new e.ErrorEvent(new Error("A valid Mapbox access token is required to use Mapbox GL JS. To create an account or a new access token, visit https://account.mapbox.com/")));}})),e.postMapLoadEvent(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,(()=>{}));}_updateTerrain(){const e=this._isDragging();this.painter.updateTerrain(this.style,e);}_calculateSpeedIndex(){const e=this.painter.canvasCopy(),t=this.painter.getCanvasCopiesAndTimestamps();t.timeStamps.push(performance.now());const i=this.painter.context.gl,o=i.createFramebuffer();function r(e){i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,e,0);const t=new Uint8Array(i.drawingBufferWidth*i.drawingBufferHeight*4);return i.readPixels(0,0,i.drawingBufferWidth,i.drawingBufferHeight,i.RGBA,i.UNSIGNED_BYTE,t),t}return i.bindFramebuffer(i.FRAMEBUFFER,o),this._canvasPixelComparison(r(e),t.canvasCopies.map(r),t.timeStamps)}_canvasPixelComparison(e,t,i){let o=i[1]-i[0];const r=e.length/4;for(let n=0;n{const t=!!this._renderNextFrame;this._frame=null,this._renderNextFrame=null,t&&this._render(e);})));}_preloadTiles(t){const i=this.style?Object.values(this.style._sourceCaches):[];return e.asyncAll(i,((e,i)=>e._preloadTiles(t,i)),(()=>{this.triggerRepaint();})),this}_onWindowOnline(){this._update();}_onWindowResize(e){this._trackResize&&this.resize({originalEvent:e})._update();}_onVisibilityChange(){"hidden"===e.window.document.visibilityState&&this._visibilityHidden++;}get showTileBoundaries(){return !!this._showTileBoundaries}set showTileBoundaries(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._update());}get showTerrainWireframe(){return !!this._showTerrainWireframe}set showTerrainWireframe(e){this._showTerrainWireframe!==e&&(this._showTerrainWireframe=e,this._update());}get speedIndexTiming(){return !!this._speedIndexTiming}set speedIndexTiming(e){this._speedIndexTiming!==e&&(this._speedIndexTiming=e,this._update());}get showPadding(){return !!this._showPadding}set showPadding(e){this._showPadding!==e&&(this._showPadding=e,this._update());}get showCollisionBoxes(){return !!this._showCollisionBoxes}set showCollisionBoxes(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,e?this.style._generateCollisionBoxes():this._update());}get showOverdrawInspector(){return !!this._showOverdrawInspector}set showOverdrawInspector(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._update());}get repaint(){return !!this._repaint}set repaint(e){this._repaint!==e&&(this._repaint=e,this.triggerRepaint());}get vertices(){return !!this._vertices}set vertices(e){this._vertices=e,this._update();}get showTileAABBs(){return !!this._showTileAABBs}set showTileAABBs(e){this._showTileAABBs!==e&&(this._showTileAABBs=e,e&&this._update());}_setCacheLimits(t,i){e.setCacheLimits(t,i);}get version(){return e.version}},NavigationControl:class{constructor(t){this.options=e.extend({},ln,t),this._container=n("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",(e=>e.preventDefault())),this.options.showZoom&&(e.bindAll(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("mapboxgl-ctrl-zoom-in",(e=>{this._map&&this._map.zoomIn({},{originalEvent:e});})),n("span","mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("mapboxgl-ctrl-zoom-out",(e=>{this._map&&this._map.zoomOut({},{originalEvent:e});})),n("span","mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(e.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-compass",(e=>{const t=this._map;t&&(this.options.visualizePitch?t.resetNorthPitch({},{originalEvent:e}):t.resetNorth({},{originalEvent:e}));})),this._compassIcon=n("span","mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"));}_updateZoomButtons(){const e=this._map;if(!e)return;const t=e.getZoom(),i=t===e.getMaxZoom(),o=t===e.getMinZoom();this._zoomInButton.disabled=i,this._zoomOutButton.disabled=o,this._zoomInButton.setAttribute("aria-disabled",i.toString()),this._zoomOutButton.setAttribute("aria-disabled",o.toString());}_rotateCompassArrow(){const e=this._map;if(!e)return;const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(e.transform.pitch*(Math.PI/180)),.5)}) rotateX(${e.transform.pitch}deg) rotateZ(${e.transform.angle*(180/Math.PI)}deg)`:`rotate(${e.transform.angle*(180/Math.PI)}deg)`;e._requestDomTask((()=>{this._compassIcon&&(this._compassIcon.style.transform=t);}));}onAdd(e){return this._map=e,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),e.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&e.on("pitch",this._rotateCompassArrow),e.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new cn(e,this._compass,this.options.visualizePitch)),this._container}onRemove(){const e=this._map;e&&(this._container.remove(),this.options.showZoom&&e.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&e.off("pitch",this._rotateCompassArrow),e.off("rotate",this._rotateCompassArrow),this._handler&&this._handler.off(),this._handler=void 0),this._map=void 0);}_createButton(e,t){const i=n("button",e,this._container);return i.type="button",i.addEventListener("click",t),i}_setButtonTitle(e,t){if(!this._map)return;const i=this._map._getUIString(`NavigationControl.${t}`);e.setAttribute("aria-label",i),e.firstElementChild&&e.firstElementChild.setAttribute("title",i);}},GeolocateControl:class extends e.Evented{constructor(t){super(),this.options=e.extend({geolocation:e.window.navigator.geolocation},hn,t),e.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker","_updateMarkerRotation","_onDeviceOrientation"],this),this._updateMarkerRotationThrottled=Yo(this._updateMarkerRotation,20),this._numberOfWatches=0;}onAdd(e){return this._map=e,this._container=n("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkGeolocationSupport(this._setupUI),this._container}onRemove(){void 0!==this._geolocationWatchID&&(this.options.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),this._container.remove(),this._map.off("zoom",this._onZoom),this._map=void 0,this._numberOfWatches=0,this._noTimeout=!1;}_checkGeolocationSupport(t){const i=(e=!!this.options.geolocation)=>{this._supportsGeolocation=e,t(e);};void 0!==this._supportsGeolocation?t(this._supportsGeolocation):void 0!==e.window.navigator.permissions?e.window.navigator.permissions.query({name:"geolocation"}).then((e=>i("denied"!==e.state))).catch((()=>i())):i();}_isOutOfMapMaxBounds(e){const t=this._map.getMaxBounds(),i=e.coords;return !!t&&(i.longitudet.getEast()||i.latitudet.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");}}_onSuccess(t){if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.Event("outofmaxbounds",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new e.Event("geolocate",t)),this._finish();}}_updateCamera(t){const i=new e.LngLat(t.coords.longitude,t.coords.latitude),o=t.coords.accuracy,r=this._map.getBearing(),n=e.extend({bearing:r},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(o),n,{geolocateSource:!0});}_updateMarker(t){if(t){const i=new e.LngLat(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove();}_updateCircleRadius(){const t=this._map.transform,i=e.mercatorZfromAltitude(1,t._center.lat)*t.worldSize,o=Math.ceil(2*this._accuracy*i);this._circleElement.style.width=`${o}px`,this._circleElement.style.height=`${o}px`;}_onZoom(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();}_updateMarkerRotation(){this._userLocationDotMarker&&"number"==typeof this._heading?(this._userLocationDotMarker.setRotation(this._heading),this._dotElement.classList.add("mapboxgl-user-location-show-heading")):(this._dotElement.classList.remove("mapboxgl-user-location-show-heading"),this._userLocationDotMarker.setRotation(0));}_onError(t){if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.setAttribute("aria-label",e),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",e),void 0!==this._geolocationWatchID&&this._clearWatch();}else {if(3===t.code&&this._noTimeout)return;this._setErrorState();}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new e.Event("error",t)),this._finish();}}_finish(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0;}_setupUI(t){if(void 0!==this._map){if(this._container.addEventListener("contextmenu",(e=>e.preventDefault())),this._geolocateButton=n("button","mapboxgl-ctrl-geolocate",this._container),n("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",!1===t){e.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.setAttribute("aria-label",t),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",t);}else {const e=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.setAttribute("aria-label",e),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",e);}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=n("div","mapboxgl-user-location"),this._dotElement.appendChild(n("div","mapboxgl-user-location-dot")),this._dotElement.appendChild(n("div","mapboxgl-user-location-heading")),this._userLocationDotMarker=new en({element:this._dotElement,rotationAlignment:"map",pitchAlignment:"map"}),this._circleElement=n("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new en({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(t=>{t.geolocateSource||"ACTIVE_LOCK"!==this._watchState||t.originalEvent&&"resize"===t.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this.fire(new e.Event("trackuserlocationend")));}));}}_onDeviceOrientation(e){this._userLocationDotMarker&&(e.webkitCompassHeading?this._heading=e.webkitCompassHeading:!0===e.absolute&&(this._heading=-1*e.alpha),this._updateMarkerRotationThrottled());}trigger(){if(!this._setup)return e.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new e.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":this._numberOfWatches--,this._noTimeout=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new e.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new e.Event("trackuserlocationstart"));}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error");}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),this._numberOfWatches++,this._numberOfWatches>1?(e={maximumAge:6e5,timeout:0},this._noTimeout=!0):(e=this.options.positionOptions,this._noTimeout=!1),this._geolocationWatchID=this.options.geolocation.watchPosition(this._onSuccess,this._onError,e),this.options.showUserHeading&&this._addDeviceOrientationListener();}}else this.options.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return !0}_addDeviceOrientationListener(){const t=()=>{e.window.addEventListener("ondeviceorientationabsolute"in e.window?"deviceorientationabsolute":"deviceorientation",this._onDeviceOrientation);};void 0!==e.window.DeviceMotionEvent&&"function"==typeof e.window.DeviceMotionEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((e=>{"granted"===e&&t();})).catch(console.error):t();}_clearWatch(){this.options.geolocation.clearWatch(this._geolocationWatchID),e.window.removeEventListener("deviceorientation",this._onDeviceOrientation),e.window.removeEventListener("deviceorientationabsolute",this._onDeviceOrientation),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null);}},AttributionControl:Hr,ScaleControl:class{constructor(t){this.options=e.extend({},un,t),this._isNumberFormatSupported=function(){try{return new Intl.NumberFormat("en",{style:"unit",unitDisplay:"short",unit:"meter"}),!0}catch(e){return !1}}(),e.bindAll(["_update","_setScale","setUnit"],this);}getDefaultPosition(){return "bottom-left"}_update(){const e=this.options.maxWidth||100,t=this._map,i=t._containerHeight/2,o=t._containerWidth/2-e/2,r=t.unproject([o,i]),n=t.unproject([o+e,i]),s=r.distanceTo(n);if("imperial"===this.options.unit){const t=3.2808*s;t>5280?this._setScale(e,t/5280,"mile"):this._setScale(e,t,"foot");}else "nautical"===this.options.unit?this._setScale(e,s/1852,"nautical-mile"):s>=1e3?this._setScale(e,s/1e3,"kilometer"):this._setScale(e,s,"meter");}_setScale(e,t,i){this._map._requestDomTask((()=>{const o=function(e){const t=Math.pow(10,`${Math.floor(e)}`.length-1);let i=e/t;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(e){const t=Math.pow(10,Math.ceil(-Math.log(e)/Math.LN10));return Math.round(e*t)/t}(i),t*i}(t),r=o/t;this._container.innerHTML=this._isNumberFormatSupported&&"nautical-mile"!==i?new Intl.NumberFormat(this._language,{style:"unit",unitDisplay:"short",unit:i}).format(o):`${o} ${_n[i]}`,this._container.style.width=e*r+"px";}));}onAdd(e){return this._map=e,this._language=e.getLanguage(),this._container=n("div","mapboxgl-ctrl mapboxgl-ctrl-scale",e.getContainer()),this._container.dir="auto",this._map.on("move",this._update),this._update(),this._container}onRemove(){this._container.remove(),this._map.off("move",this._update),this._map=void 0;}_setLanguage(e){this._language=e,this._update();}setUnit(e){this.options.unit=e,this._update();}},FullscreenControl:class{constructor(t){this._fullscreen=!1,t&&t.container&&(t.container instanceof e.window.HTMLElement?this._container=t.container:e.warnOnce("Full screen control 'container' must be a DOM element.")),e.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in e.window.document?this._fullscreenchange="fullscreenchange":"onwebkitfullscreenchange"in e.window.document&&(this._fullscreenchange="webkitfullscreenchange");}onAdd(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=n("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",e.warnOnce("This device does not support fullscreen mode.")),this._controlContainer}onRemove(){this._controlContainer.remove(),this._map=null,e.window.document.removeEventListener(this._fullscreenchange,this._changeIcon);}_checkFullscreenSupport(){return !(!e.window.document.fullscreenEnabled&&!e.window.document.webkitFullscreenEnabled)}_setupUI(){const t=this._fullscreenButton=n("button","mapboxgl-ctrl-fullscreen",this._controlContainer);n("span","mapboxgl-ctrl-icon",t).setAttribute("aria-hidden","true"),t.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),e.window.document.addEventListener(this._fullscreenchange,this._changeIcon);}_updateTitle(){const e=this._getTitle();this._fullscreenButton.setAttribute("aria-label",e),this._fullscreenButton.firstElementChild&&this._fullscreenButton.firstElementChild.setAttribute("title",e);}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_changeIcon(){(e.window.document.fullscreenElement||e.window.document.webkitFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle());}_onClickFullscreen(){this._isFullscreen()?e.window.document.exitFullscreen?e.window.document.exitFullscreen():e.window.document.webkitCancelFullScreen&&e.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen();}},Popup:class extends e.Evented{constructor(t){super(),this.options=e.extend(Object.create(tn),t),e.bindAll(["_update","_onClose","remove","_onMouseEvent"],this),this._classList=new Set(t&&t.className?t.className.trim().split(/\s+/):[]);}addTo(t){return this._map&&this.remove(),this._map=t,this.options.closeOnClick&&t.on("preclick",this._onClose),this.options.closeOnMove&&t.on("move",this._onClose),t.on("remove",this.remove),this._update(),t._addPopup(this),this._focusFirstElement(),this._trackPointer?(t.on("mousemove",this._onMouseEvent),t.on("mouseup",this._onMouseEvent),t._canvasContainer.classList.add("mapboxgl-track-pointer")):t.on("move",this._update),this.fire(new e.Event("open")),this}isOpen(){return !!this._map}remove(){this._content&&this._content.remove(),this._container&&(this._container.remove(),this._container=void 0);const t=this._map;return t&&(t.off("move",this._update),t.off("move",this._onClose),t.off("preclick",this._onClose),t.off("click",this._onClose),t.off("remove",this.remove),t.off("mousemove",this._onMouseEvent),t.off("mouseup",this._onMouseEvent),t.off("drag",this._onMouseEvent),t._canvasContainer&&t._canvasContainer.classList.remove("mapboxgl-track-pointer"),t._removePopup(this),this._map=void 0),this.fire(new e.Event("close")),this}getLngLat(){return this._lngLat}setLngLat(t){this._lngLat=e.LngLat.convert(t),this._pos=null,this._trackPointer=!1,this._update();const i=this._map;return i&&(i.on("move",this._update),i.off("mousemove",this._onMouseEvent),i._canvasContainer.classList.remove("mapboxgl-track-pointer")),this}trackPointer(){this._trackPointer=!0,this._pos=null,this._update();const e=this._map;return e&&(e.off("move",this._update),e.on("mousemove",this._onMouseEvent),e.on("drag",this._onMouseEvent),e._canvasContainer.classList.add("mapboxgl-track-pointer")),this}getElement(){return this._container}setText(t){return this.setDOMContent(e.window.document.createTextNode(t))}setHTML(t){const i=e.window.document.createDocumentFragment(),o=e.window.document.createElement("body");let r;for(o.innerHTML=t;r=o.firstChild,r;)i.appendChild(r);return this.setDOMContent(i)}getMaxWidth(){return this._container&&this._container.style.maxWidth}setMaxWidth(e){return this.options.maxWidth=e,this._update(),this}setDOMContent(e){let t=this._content;if(t)for(;t.hasChildNodes();)t.firstChild&&t.removeChild(t.firstChild);else t=this._content=n("div","mapboxgl-popup-content",this._container||void 0);if(t.appendChild(e),this.options.closeButton){const e=this._closeButton=n("button","mapboxgl-popup-close-button",t);e.type="button",e.setAttribute("aria-label","Close popup"),e.setAttribute("aria-hidden","true"),e.innerHTML="×",e.addEventListener("click",this._onClose);}return this._update(),this._focusFirstElement(),this}addClassName(e){return this._classList.add(e),this._updateClassList(),this}removeClassName(e){return this._classList.delete(e),this._updateClassList(),this}setOffset(e){return this.options.offset=e,this._update(),this}toggleClassName(e){let t;return this._classList.delete(e)?t=!1:(this._classList.add(e),t=!0),this._updateClassList(),t}_onMouseEvent(e){this._update(e.point);}_getAnchor(e){if(this.options.anchor)return this.options.anchor;const t=this._map,i=this._container,o=this._pos;if(!t||!i||!o)return "bottom";const r=i.offsetWidth,n=i.offsetHeight,s=o.xt.transform.width-r/2;if(o.y+et.transform.height-n){if(s)return "bottom-left";if(a)return "bottom-right"}return s?"left":a?"right":"bottom"}_updateClassList(){const e=this._container;if(!e)return;const t=[...this._classList];t.push("mapboxgl-popup"),this._anchor&&t.push(`mapboxgl-popup-anchor-${this._anchor}`),this._trackPointer&&t.push("mapboxgl-popup-track-pointer"),e.className=t.join(" ");}_update(t){const i=this._map,o=this._content;if(!i||!this._lngLat&&!this._trackPointer||!o)return;let r=this._container;if(r||(r=this._container=n("div","mapboxgl-popup",i.getContainer()),this._tip=n("div","mapboxgl-popup-tip",r),r.appendChild(o)),this.options.maxWidth&&r.style.maxWidth!==this.options.maxWidth&&(r.style.maxWidth=this.options.maxWidth),i.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Jr(this._lngLat,this._pos,i.transform)),!this._trackPointer||t){const e=this._pos=this._trackPointer&&t?t:i.project(this._lngLat),o=rn(this.options.offset),r=this._anchor=this._getAnchor(o.y),n=rn(this.options.offset,r),s=e.add(n).round();i._requestDomTask((()=>{this._container&&r&&(this._container.style.transform=`${Qr[r]} translate(${s.x}px,${s.y}px)`);}));}if(!this._marker&&i._showingGlobe()){const t=e.isLngLatBehindGlobe(i.transform,this._lngLat)?0:1;this._setOpacity(t);}this._updateClassList();}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const e=this._container.querySelector(on);e&&e.focus();}_onClose(){this.remove();}_setOpacity(e){this._container&&(this._container.style.opacity=`${e}`),this._content&&(this._content.style.pointerEvents=e?"auto":"none");}},Marker:en,Style:Kt,LngLat:e.LngLat,LngLatBounds:e.LngLatBounds,Point:e.Point,MercatorCoordinate:e.MercatorCoordinate,FreeCameraOptions:jo,Evented:e.Evented,config:e.config,prewarm:function(){Ue().acquire(Be);},clearPrewarmedResources:function(){const e=Fe;e&&(e.isPreloaded()&&1===e.numActive()?(e.release(Be),Fe=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"));},get accessToken(){return e.config.ACCESS_TOKEN},set accessToken(t){e.config.ACCESS_TOKEN=t;},get baseApiUrl(){return e.config.API_URL},set baseApiUrl(t){e.config.API_URL=t;},get workerCount(){return ke.workerCount},set workerCount(e){ke.workerCount=e;},get maxParallelImageRequests(){return e.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(t){e.config.MAX_PARALLEL_IMAGE_REQUESTS=t;},clearStorage(t){e.clearTileCache(t);},workerUrl:"",workerClass:null,setNow:e.exported.setNow,restoreNow:e.exported.restoreNow};return dn})); + + // + // Our custom intro provides a specialized "define()" function, called by the + // AMD modules below, that sets up the worker blob URL and then executes the + // main module, storing its exported value as 'mapboxgl' + + + var mapboxgl$1 = mapboxgl; + + return mapboxgl$1; + + })); + +} (mapboxGl)); + +var mapboxGlExports = mapboxGl.exports; + +/** + * Minimal renderer that can be used to create a BIM + GIS scene + * with [Mapbox](https://www.mapbox.com/). + * [See example](https://ifcjs.github.io/components/examples/mapbox.html). + */ +class MapboxRenderer extends BaseRenderer { + constructor(components, map, coords, rotation = new THREE$1.Vector3(Math.PI / 2, 0, 0)) { + super(components); + /** {@link Component.enabled} */ + this.enabled = true; + /** {@link Updateable.onBeforeUpdate} */ + this.onBeforeUpdate = new Event(); + /** {@link Updateable.onAfterUpdate} */ + this.onAfterUpdate = new Event(); + /** + * The renderer can only be initialized once Mapbox' map has been loaded. This + * method triggers when that happens, so any initial logic that depends on the + * renderer has to subscribe to this. + */ + this.onInitialized = new Event(); + this._labelRenderer = new CSS2DRenderer(); + this._renderer = new THREE$1.WebGLRenderer(); + this._initError = "Mapbox scene isn't initialized yet!"; + this.updateLabelRendererSize = () => { + var _a; + if ((_a = this._renderer) === null || _a === void 0 ? void 0 : _a.domElement) { + this._labelRenderer.setSize(this._renderer.domElement.clientWidth, this._renderer.domElement.clientHeight); + } + }; + this._components = components; + this._map = map; + this._modelTransform = this.newModelTransform(coords, rotation); + this.setupMap(map); + this.setup3DBuildings(); + } + /** {@link Component.get} */ + get() { + return this._renderer; + } + /** {@link Resizeable.getSize} */ + getSize() { + if (!this._renderer) { + throw new Error(this._initError); + } + return new THREE$1.Vector2(this._renderer.domElement.clientWidth, this._renderer.domElement.clientHeight); + } + /** {@link Resizeable.resize}. Mapbox automatically handles this. */ + resize() { } + /** {@link Disposable.dispose} */ + async dispose() { + this.onInitialized.reset(); + this.enabled = false; + this.setupEvents(false); + this._renderer.dispose(); + this._map.remove(); + this._map = null; + } + initialize(context) { + const canvas = this._map.getCanvas(); + const renderer = new THREE$1.WebGLRenderer({ + canvas, + context, + antialias: true, + }); + this._renderer = renderer; + this._renderer.autoClear = false; + this.initializeLabelRenderer(); + this.onInitialized.trigger(renderer); + } + setupMap(map) { + const scene = this._components.scene.get(); + const onAdd = (_map, gl) => this.initialize(gl); + const render = (_gl, matrix) => this.render(scene, matrix); + const customLayer = this.newMapboxLayer(onAdd, render); + map.on("style.load", () => { + map.addLayer(customLayer, "waterway-label"); + }); + } + newMapboxLayer(onAdd, render) { + return { + id: "3d-model", + type: "custom", + renderingMode: "3d", + onAdd, + render, + }; + } + newModelTransform(coords, rotation) { + return { + translateX: coords.x, + translateY: coords.y, + translateZ: coords.z, + rotateX: rotation.x, + rotateY: rotation.y, + rotateZ: rotation.z, + scale: coords.meterInMercatorCoordinateUnits(), + }; + } + // Source: https://docs.mapbox.com/mapbox-gl-js/example/add-3d-model/ + render(scene, matrix) { + if (!this._renderer || !this.enabled) + return; + this.onBeforeUpdate.trigger(this); + const rotationX = new THREE$1.Matrix4().makeRotationAxis(new THREE$1.Vector3(1, 0, 0), this._modelTransform.rotateX); + const rotationY = new THREE$1.Matrix4().makeRotationAxis(new THREE$1.Vector3(0, 1, 0), this._modelTransform.rotateY); + const rotationZ = new THREE$1.Matrix4().makeRotationAxis(new THREE$1.Vector3(0, 0, 1), this._modelTransform.rotateZ); + const m = new THREE$1.Matrix4().fromArray(matrix); + const l = new THREE$1.Matrix4() + .makeTranslation(this._modelTransform.translateX, this._modelTransform.translateY, this._modelTransform.translateZ) + .scale(new THREE$1.Vector3(this._modelTransform.scale, -this._modelTransform.scale, this._modelTransform.scale)) + .multiply(rotationX) + .multiply(rotationY) + .multiply(rotationZ); + const camera = this._components.camera.get(); + camera.projectionMatrix = m.multiply(l); + this._renderer.resetState(); + this._renderer.render(scene, camera); + this._labelRenderer.render(scene, camera); + this._map.triggerRepaint(); + this.onAfterUpdate.trigger(this); + } + initializeLabelRenderer() { + var _a, _b; + this.updateLabelRendererSize(); + this.setupEvents(true); + this._labelRenderer.domElement.style.position = "absolute"; + this._labelRenderer.domElement.style.top = "0px"; + const dom = this._labelRenderer.domElement; + (_b = (_a = this._renderer) === null || _a === void 0 ? void 0 : _a.domElement.parentElement) === null || _b === void 0 ? void 0 : _b.appendChild(dom); + } + // Source: https://docs.mapbox.com/mapbox-gl-js/example/3d-buildings/ + setup3DBuildings() { + this._map.on("load", () => { + const layers = this._map.getStyle().layers; + const labelLayerId = layers.find((layer) => layer.type === "symbol" && layer.layout["text-field"]).id; + this._map.addLayer({ + id: "add-3d-buildings", + source: "composite", + "source-layer": "building", + filter: ["==", "extrude", "true"], + type: "fill-extrusion", + minzoom: 15, + paint: { + "fill-extrusion-color": "#aaa", + // Use an 'interpolate' expression to + // add a smooth transition effect to + // the buildings as the user zooms in. + "fill-extrusion-height": [ + "interpolate", + ["linear"], + ["zoom"], + 15, + 0, + 15.05, + ["get", "height"], + ], + "fill-extrusion-base": [ + "interpolate", + ["linear"], + ["zoom"], + 15, + 0, + 15.05, + ["get", "min_height"], + ], + "fill-extrusion-opacity": 0.6, + }, + }, labelLayerId); + }); + } + setupEvents(active) { + if (active) { + window.addEventListener("resize", this.updateLabelRendererSize); + } + else { + window.removeEventListener("resize", this.updateLabelRendererSize); + } + } +} + +/** + * Minimal camera that can be used to create a BIM + GIS scene + * with [Mapbox](https://www.mapbox.com/). + * [See example](https://ifcjs.github.io/components/examples/mapbox.html). + */ +class MapboxCamera extends Component { + constructor() { + super(...arguments); + /** {@link Component.enabled} */ + this.enabled = true; + this._camera = new THREE$1.PerspectiveCamera(); + } + /** {@link Component.get} */ + get() { + return this._camera; + } +} + +/** + * The main element to create a mapbox-IFC.js application. + */ +class MapboxWindow { + /** + * @param config: information needed to initialize the scene, including + * the Mapbox access token and the HTML div element to display the scene. + */ + constructor(config) { + this.minTargetZoom = 0.0015; + this._style = "mapbox://styles/mapbox/light-v10"; + this._labels = {}; + this._buildings = []; + this._components = new Components(); + this._center = [0, 0]; + const merc = mapboxGlExports.MercatorCoordinate; + const coords = merc.fromLngLat(this._center, 0); + this._map = this.newMap(config); + this.setupComponents(coords); + this.setupScene(); + this.add(config.buildings); + } + /** + * Add a new set of buildings to the GIS scene. + * + * @param buildings The array of {@link MapboxBuilding} to add. + * @param fitToScreen Whether to center the camera to see all buildings. + */ + add(buildings, fitToScreen = true) { + for (const building of buildings) { + const { id, lng, lat, htmlElement } = building; + if (lng === undefined || lat === undefined) + continue; + const label = new CSS2DObject(htmlElement); + const center = mapboxGlExports.MercatorCoordinate.fromLngLat({ lng: this._center[0], lat: this._center[1] }, 0); + const units = center.meterInMercatorCoordinateUnits(); + const model = mapboxGlExports.MercatorCoordinate.fromLngLat({ lng, lat }, 0); + model.x /= units; + model.y /= units; + center.x /= units; + center.y /= units; + label.position.set(model.x - center.x, 0, model.y - center.y); + this._components.scene.get().add(label); + this._labels[id] = label; + this._buildings.push(building); + } + if (this._buildings.length && fitToScreen) { + this.centerMapToBuildings(); + } + } + /** + * Removes a building from the map. + * + * @param id The {@link MapboxBuilding} to remove. + */ + remove(id) { + const label = this._labels[id]; + delete this._labels[id]; + label.removeFromParent(); + label.element = undefined; + const found = this._buildings.find((building) => building.id === id); + if (found) { + const index = this._buildings.indexOf(found); + this._buildings.splice(index, 1); + } + } + /** + * Removes all buildings from the map. + */ + removeAll() { + for (const id in this._labels) { + this.remove(id); + } + } + /** + * Disposes all the data of the map. This needs to be called if the + * component that contains the map is deleted: otherwise, a memory leak + * will be created. + */ + async dispose() { + for (const id in this._labels) { + const label = this._labels[id]; + label.removeFromParent(); + label.element.remove(); + } + this._buildings = []; + this._labels = {}; + await this._components.dispose(); + this._map = null; + this._components = null; + } + centerMapToBuildings() { + let maxLng = -Number.MAX_VALUE; + let maxLat = -Number.MAX_VALUE; + let minLng = Number.MAX_VALUE; + let minLat = Number.MAX_VALUE; + for (const building of this._buildings) { + if (building.lng > maxLng) { + maxLng = building.lng; + } + if (building.lng < minLng) { + minLng = building.lng; + } + if (building.lat > maxLat) { + maxLat = building.lat; + } + if (building.lat < minLat) { + minLat = building.lat; + } + } + const factor = 0.4; + const width = Math.max(this.minTargetZoom, maxLng - minLng); + const height = Math.max(this.minTargetZoom, maxLat - minLat); + maxLng += factor * width; + maxLat += factor * height; + minLng -= factor * width; + minLat -= factor * height; + if (maxLng > 180) + maxLng = 180; + if (minLng < -180) + minLng = -180; + if (maxLat > 90) + maxLat = 90; + if (minLat < -90) + minLat = -90; + this._map.fitBounds([minLng, minLat, maxLng, maxLat]); + } + newMap(config) { + return new mapboxGlExports.Map({ + ...config, + pitch: 60, + bearing: -40, + zoom: 4, + style: this._style, + antialias: true, + }); + } + setupComponents(coords) { + this._components.scene = new SimpleScene(this._components); + this._components.camera = new MapboxCamera(this._components); + const renderer = new MapboxRenderer(this._components, this._map, coords); + this._components.renderer = renderer; + renderer.onInitialized.add(() => { + this._components.raycaster = new SimpleRaycaster(this._components); + this._components.init(); + }); + } + setupScene() { + const scene = this._components.scene.get(); + scene.background = null; + const directionalLight = new THREE$1.DirectionalLight(0xffffff); + directionalLight.position.set(0, -70, 100).normalize(); + scene.add(directionalLight); + const directionalLight2 = new THREE$1.DirectionalLight(0xffffff); + directionalLight2.position.set(0, 70, 100).normalize(); + scene.add(directionalLight2); + } +} + +class AreaMeasureElement extends Component { + constructor(components, points) { + super(components); + this.name = "AreaShape"; + this.enabled = true; + this.visible = true; + this.points = []; + this.workingPlane = null; + this._rotationMatrix = null; + this._dimensionLines = []; + this._defaultLineMaterial = new THREE$1.LineBasicMaterial({ color: "red" }); + this.onAreaComputed = new Event(); + this.onWorkingPlaneComputed = new Event(); + this.onPointAdded = new Event(); + this.onPointRemoved = new Event(); + const htmlText = document.createElement("div"); + htmlText.className = DimensionLabelClassName; + this.labelMarker = new Simple2DMarker(components, htmlText); + this.labelMarker.visible = false; + this.onPointAdded.add((point) => { + if (this.points.length === 3 && !this._dimensionLines[2]) { + this.addDimensionLine(point, this.points[0]); + this.labelMarker.visible = true; + } + }); + points === null || points === void 0 ? void 0 : points.forEach((point) => this.setPoint(point)); + } + setPoint(point, index) { + let _index; + if (!index) { + _index = this.points.length === 0 ? 0 : this.points.length; + } + else { + _index = index; + } + if (_index === 0) { + this.points[0] = point; + return; + } + if (_index < 0 || _index > this.points.length) + return; + const existingIndex = this.points.length > _index; + this.points[_index] = point; + this.onPointAdded.trigger(point); + if (!existingIndex) { + this.addDimensionLine(this.points[_index - 1], point); + } + const { previousLine, nextLine } = this.getLinesBetweenIndex(_index); + if (previousLine) + previousLine.endPoint = point; + if (nextLine) + nextLine.startPoint = point; + } + removePoint(index) { + if (this.points.length === 3) + return; + this.points.splice(index, 1); + const { previousLine, nextLine } = this.getLinesBetweenIndex(index); + if (nextLine) + previousLine.endPoint = nextLine.end; + nextLine === null || nextLine === void 0 ? void 0 : nextLine.dispose(); + this._dimensionLines.splice(index, 1); + this.onPointRemoved.trigger(); + } + toggleLabel() { + this.labelMarker.toggleVisibility(); + } + addDimensionLine(start, end) { + const element = document.createElement("div"); + element.className = "w-2 h-2 bg-red-600 rounded-full"; + const dimensionLine = new SimpleDimensionLine(this.components, { + start, + end, + lineMaterial: this._defaultLineMaterial, + endpointElement: element, + }); + dimensionLine.toggleLabel(); + if (this._dimensionLines.length > 1) { + this._dimensionLines.splice(this._dimensionLines.length - 1, 0, dimensionLine); + } + else { + this._dimensionLines.push(dimensionLine); + } + return dimensionLine; + } + getLinesBetweenIndex(index) { + const previousLineIndex = index === 0 ? this._dimensionLines.length - 1 : index - 1; + const previousLine = this._dimensionLines[previousLineIndex]; + const nextLine = this._dimensionLines[index]; + return { previousLine, nextLine }; + } + computeWorkingPlane() { + this.workingPlane = new THREE$1.Plane().setFromCoplanarPoints(this.points[0], this.points[1], this.points[2]); + const referenceVector = new THREE$1.Vector3(0, 1, 0); + const theta = this.workingPlane.normal.angleTo(referenceVector); + const rotationAxis = new THREE$1.Vector3() + .crossVectors(this.workingPlane.normal, referenceVector) + .normalize(); + this._rotationMatrix = new THREE$1.Matrix4().makeRotationAxis(rotationAxis, theta); + this.onWorkingPlaneComputed.trigger(this.workingPlane); + } + computeArea() { + if (!(this._rotationMatrix && this.workingPlane)) { + this.onAreaComputed.trigger(0); + return 0; + } + let xSum = 0; + let ySum = 0; + const rotMatrix = this._rotationMatrix; + const vectors2D = this.points.map((point) => { + const transformedPoint = point.clone().applyMatrix4(rotMatrix); + const vector2D = new THREE$1.Vector2(transformedPoint.x, transformedPoint.z); + xSum += vector2D.x; + ySum += vector2D.y; + return vector2D; + }); + const area = Math.abs(THREE$1.ShapeUtils.area(vectors2D)); + this.labelMarker.get().element.textContent = `${area.toFixed(2)} m²`; + this.labelMarker + .get() + .position.set(xSum / vectors2D.length, -this.workingPlane.constant, ySum / vectors2D.length) + .applyMatrix4(rotMatrix.clone().invert()); + this.onAreaComputed.trigger(area); + return area; + } + async dispose() { + this.onAreaComputed.reset(); + this.onWorkingPlaneComputed.reset(); + this.onPointAdded.reset(); + this.onPointRemoved.reset(); + for (const line of this._dimensionLines) { + line.dispose(); + } + await this.labelMarker.dispose(); + this._dimensionLines = []; + this.points = []; + this._rotationMatrix = null; + this.workingPlane = null; + this._defaultLineMaterial.dispose(); + this.components = null; + } + get() { + return { + points: this.points, + workingPlane: this.workingPlane, + area: this.computeArea(), + }; + } +} + +class AreaMeasurement extends Component { + set enabled(value) { + this._enabled = value; + this._vertexPicker.enabled = value; + if (this.components.ui.enabled) { + const main = this.uiElement.get("main"); + main.active = value; + } + this.setupEvents(value); + if (!value) + this.cancelCreation(); + } + get enabled() { + return this._enabled; + } + set workingPlane(plane) { + this._vertexPicker.workingPlane = plane; + } + get workingPlane() { + return this._vertexPicker.workingPlane; + } + constructor(components) { + super(components); + this.uiElement = new UIElement(); + this._enabled = false; + this._currentAreaElement = null; + this._clickCount = 0; + this._measurements = []; + this.onBeforeCreate = new Event(); + this.onAfterCreate = new Event(); + this.onBeforeCancel = new Event(); + this.onAfterCancel = new Event(); + this.onBeforeDelete = new Event(); + this.onAfterDelete = new Event(); + this.create = () => { + if (!this.enabled) + return; + const point = this._vertexPicker.get(); + if (!point) + return; + if (!this._currentAreaElement) { + const areaShape = new AreaMeasureElement(this.components); + areaShape.onPointAdded.add(() => { + if (this._clickCount === 3 && !areaShape.workingPlane) { + areaShape.computeWorkingPlane(); + this._vertexPicker.workingPlane = areaShape.workingPlane; + } + }); + areaShape.onPointRemoved.add(() => this._clickCount--); + this._currentAreaElement = areaShape; + } + this._currentAreaElement.setPoint(point, this._clickCount); + this._currentAreaElement.computeArea(); + this._clickCount++; + }; + this.onMouseMove = () => { + const point = this._vertexPicker.get(); + if (!(point && this._currentAreaElement)) + return; + this._currentAreaElement.setPoint(point, this._clickCount); + this._currentAreaElement.computeArea(); + }; + this.onKeydown = (e) => { + if (!this.enabled) + return; + if (e.key === "z" && e.ctrlKey && this._currentAreaElement) + this._currentAreaElement.removePoint(this._clickCount - 1); + if (e.key === "Enter" && this._currentAreaElement) + this.endCreation(); + if (e.key === "Escape") { + if (this._clickCount === 0 && !this._currentAreaElement) { + this.enabled = false; + } + else { + this.cancelCreation(); + } + } + }; + this.components.tools.add(AreaMeasurement.uuid, this); + // TODO: Make vertexpicker a tool? + this._vertexPicker = new VertexPicker(components); + if (components.ui.enabled) { + this.setUI(); + } + } + async dispose() { + this.setupEvents(false); + this.onBeforeCreate.reset(); + this.onAfterCreate.reset(); + this.onBeforeCancel.reset(); + this.onAfterCancel.reset(); + this.onBeforeDelete.reset(); + this.onAfterDelete.reset(); + this.uiElement.dispose(); + await this._vertexPicker.dispose(); + if (this._currentAreaElement) { + await this._currentAreaElement.dispose(); + } + for (const measure of this._measurements) { + await measure.dispose(); + } + this.components = null; + } + setUI() { + const main = new Button(this.components); + main.materialIcon = "check_box_outline_blank"; + main.onClick.add(() => { + if (!this.enabled) { + main.active = true; + this.enabled = true; + } + else { + this.enabled = false; + main.active = false; + } + }); + this.uiElement.set({ main }); + } + delete() { } + endCreation() { + if (this._currentAreaElement) { + this._measurements.push(this._currentAreaElement); + this._currentAreaElement.removePoint(this._clickCount); + this._currentAreaElement.computeWorkingPlane(); + this._currentAreaElement.computeArea(); + this._currentAreaElement = null; + } + this._vertexPicker.workingPlane = null; + this._clickCount = 0; + } + cancelCreation() { + if (this._currentAreaElement) { + this._currentAreaElement.dispose(); + this._currentAreaElement = null; + } + this._vertexPicker.workingPlane = null; + this._clickCount = 0; + } + get() { + return this._measurements; + } + setupEvents(active) { + const viewerContainer = this.components.ui.viewerContainer; + if (active) { + viewerContainer.addEventListener("click", this.create); + viewerContainer.addEventListener("mousemove", this.onMouseMove); + window.addEventListener("keydown", this.onKeydown); + } + else { + viewerContainer.removeEventListener("click", this.create); + viewerContainer.removeEventListener("mousemove", this.onMouseMove); + window.removeEventListener("keydown", this.onKeydown); + } + } +} +AreaMeasurement.uuid = "c453a99e-f054-4781-9060-33df617db4a5"; +ToolComponent.libraryUUIDs.add(AreaMeasurement.uuid); + +/** + * parameters = { + * color: , + * linewidth: , + * dashed: , + * dashScale: , + * dashSize: , + * dashOffset: , + * gapSize: , + * resolution: , // to be set by renderer + * } + */ + + + +UniformsLib.line = { + + worldUnits: { value: 1 }, + linewidth: { value: 1 }, + resolution: { value: new Vector2$1( 1, 1 ) }, + dashOffset: { value: 0 }, + dashScale: { value: 1 }, + dashSize: { value: 1 }, + gapSize: { value: 1 } // todo FIX - maybe change to totalSize + +}; + +ShaderLib[ 'line' ] = { + + uniforms: UniformsUtils.merge( [ + UniformsLib.common, + UniformsLib.fog, + UniformsLib.line + ] ), + + vertexShader: + /* glsl */` + #include + #include + #include + #include + #include + + uniform float linewidth; + uniform vec2 resolution; + + attribute vec3 instanceStart; + attribute vec3 instanceEnd; + + attribute vec3 instanceColorStart; + attribute vec3 instanceColorEnd; + + #ifdef WORLD_UNITS + + varying vec4 worldPos; + varying vec3 worldStart; + varying vec3 worldEnd; + + #ifdef USE_DASH + + varying vec2 vUv; + + #endif + + #else + + varying vec2 vUv; + + #endif + + #ifdef USE_DASH + + uniform float dashScale; + attribute float instanceDistanceStart; + attribute float instanceDistanceEnd; + varying float vLineDistance; + + #endif + + void trimSegment( const in vec4 start, inout vec4 end ) { + + // trim end segment so it terminates between the camera plane and the near plane + + // conservative estimate of the near plane + float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column + float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column + float nearEstimate = - 0.5 * b / a; + + float alpha = ( nearEstimate - start.z ) / ( end.z - start.z ); + + end.xyz = mix( start.xyz, end.xyz, alpha ); + + } + + void main() { + + #ifdef USE_COLOR + + vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd; + + #endif + + #ifdef USE_DASH + + vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd; + vUv = uv; + + #endif + + float aspect = resolution.x / resolution.y; + + // camera space + vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 ); + vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 ); + + #ifdef WORLD_UNITS + + worldStart = start.xyz; + worldEnd = end.xyz; + + #else + + vUv = uv; + + #endif + + // special case for perspective projection, and segments that terminate either in, or behind, the camera plane + // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space + // but we need to perform ndc-space calculations in the shader, so we must address this issue directly + // perhaps there is a more elegant solution -- WestLangley + + bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column + + if ( perspective ) { + + if ( start.z < 0.0 && end.z >= 0.0 ) { + + trimSegment( start, end ); + + } else if ( end.z < 0.0 && start.z >= 0.0 ) { + + trimSegment( end, start ); + + } + + } + + // clip space + vec4 clipStart = projectionMatrix * start; + vec4 clipEnd = projectionMatrix * end; + + // ndc space + vec3 ndcStart = clipStart.xyz / clipStart.w; + vec3 ndcEnd = clipEnd.xyz / clipEnd.w; + + // direction + vec2 dir = ndcEnd.xy - ndcStart.xy; + + // account for clip-space aspect ratio + dir.x *= aspect; + dir = normalize( dir ); + + #ifdef WORLD_UNITS + + // get the offset direction as perpendicular to the view vector + vec3 worldDir = normalize( end.xyz - start.xyz ); + vec3 offset; + if ( position.y < 0.5 ) { + + offset = normalize( cross( start.xyz, worldDir ) ); + + } else { + + offset = normalize( cross( end.xyz, worldDir ) ); + + } + + // sign flip + if ( position.x < 0.0 ) offset *= - 1.0; + + float forwardOffset = dot( worldDir, vec3( 0.0, 0.0, 1.0 ) ); + + // don't extend the line if we're rendering dashes because we + // won't be rendering the endcaps + #ifndef USE_DASH + + // extend the line bounds to encompass endcaps + start.xyz += - worldDir * linewidth * 0.5; + end.xyz += worldDir * linewidth * 0.5; + + // shift the position of the quad so it hugs the forward edge of the line + offset.xy -= dir * forwardOffset; + offset.z += 0.5; + + #endif + + // endcaps + if ( position.y > 1.0 || position.y < 0.0 ) { + + offset.xy += dir * 2.0 * forwardOffset; + + } + + // adjust for linewidth + offset *= linewidth * 0.5; + + // set the world position + worldPos = ( position.y < 0.5 ) ? start : end; + worldPos.xyz += offset; + + // project the worldpos + vec4 clip = projectionMatrix * worldPos; + + // shift the depth of the projected points so the line + // segments overlap neatly + vec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd; + clip.z = clipPose.z * clip.w; + + #else + + vec2 offset = vec2( dir.y, - dir.x ); + // undo aspect ratio adjustment + dir.x /= aspect; + offset.x /= aspect; + + // sign flip + if ( position.x < 0.0 ) offset *= - 1.0; + + // endcaps + if ( position.y < 0.0 ) { + + offset += - dir; + + } else if ( position.y > 1.0 ) { + + offset += dir; + + } + + // adjust for linewidth + offset *= linewidth; + + // adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ... + offset /= resolution.y; + + // select end + vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd; + + // back to clip space + offset *= clip.w; + + clip.xy += offset; + + #endif + + gl_Position = clip; + + vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation + + #include + #include + #include + + } + `, + + fragmentShader: + /* glsl */` + uniform vec3 diffuse; + uniform float opacity; + uniform float linewidth; + + #ifdef USE_DASH + + uniform float dashOffset; + uniform float dashSize; + uniform float gapSize; + + #endif + + varying float vLineDistance; + + #ifdef WORLD_UNITS + + varying vec4 worldPos; + varying vec3 worldStart; + varying vec3 worldEnd; + + #ifdef USE_DASH + + varying vec2 vUv; + + #endif + + #else + + varying vec2 vUv; + + #endif + + #include + #include + #include + #include + #include + + vec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) { + + float mua; + float mub; + + vec3 p13 = p1 - p3; + vec3 p43 = p4 - p3; + + vec3 p21 = p2 - p1; + + float d1343 = dot( p13, p43 ); + float d4321 = dot( p43, p21 ); + float d1321 = dot( p13, p21 ); + float d4343 = dot( p43, p43 ); + float d2121 = dot( p21, p21 ); + + float denom = d2121 * d4343 - d4321 * d4321; + + float numer = d1343 * d4321 - d1321 * d4343; + + mua = numer / denom; + mua = clamp( mua, 0.0, 1.0 ); + mub = ( d1343 + d4321 * ( mua ) ) / d4343; + mub = clamp( mub, 0.0, 1.0 ); + + return vec2( mua, mub ); + + } + + void main() { + + #include + + #ifdef USE_DASH + + if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps + + if ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX + + #endif + + float alpha = opacity; + + #ifdef WORLD_UNITS + + // Find the closest points on the view ray and the line segment + vec3 rayEnd = normalize( worldPos.xyz ) * 1e5; + vec3 lineDir = worldEnd - worldStart; + vec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd ); + + vec3 p1 = worldStart + lineDir * params.x; + vec3 p2 = rayEnd * params.y; + vec3 delta = p1 - p2; + float len = length( delta ); + float norm = len / linewidth; + + #ifndef USE_DASH + + #ifdef USE_ALPHA_TO_COVERAGE + + float dnorm = fwidth( norm ); + alpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm ); + + #else + + if ( norm > 0.5 ) { + + discard; + + } + + #endif + + #endif + + #else + + #ifdef USE_ALPHA_TO_COVERAGE + + // artifacts appear on some hardware if a derivative is taken within a conditional + float a = vUv.x; + float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; + float len2 = a * a + b * b; + float dlen = fwidth( len2 ); + + if ( abs( vUv.y ) > 1.0 ) { + + alpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 ); + + } + + #else + + if ( abs( vUv.y ) > 1.0 ) { + + float a = vUv.x; + float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; + float len2 = a * a + b * b; + + if ( len2 > 1.0 ) discard; + + } + + #endif + + #endif + + vec4 diffuseColor = vec4( diffuse, alpha ); + + #include + #include + + gl_FragColor = vec4( diffuseColor.rgb, alpha ); + + #include + #include + #include + #include + + } + ` +}; + +class LineMaterial extends ShaderMaterial { + + constructor( parameters ) { + + super( { + + type: 'LineMaterial', + + uniforms: UniformsUtils.clone( ShaderLib[ 'line' ].uniforms ), + + vertexShader: ShaderLib[ 'line' ].vertexShader, + fragmentShader: ShaderLib[ 'line' ].fragmentShader, + + clipping: true // required for clipping support + + } ); + + this.isLineMaterial = true; + + Object.defineProperties( this, { + + color: { + + enumerable: true, + + get: function () { + + return this.uniforms.diffuse.value; + + }, + + set: function ( value ) { + + this.uniforms.diffuse.value = value; + + } + + }, + + worldUnits: { + + enumerable: true, + + get: function () { + + return 'WORLD_UNITS' in this.defines; + + }, + + set: function ( value ) { + + if ( value === true ) { + + this.defines.WORLD_UNITS = ''; + + } else { + + delete this.defines.WORLD_UNITS; + + } + + } + + }, + + linewidth: { + + enumerable: true, + + get: function () { + + return this.uniforms.linewidth.value; + + }, + + set: function ( value ) { + + this.uniforms.linewidth.value = value; + + } + + }, + + dashed: { + + enumerable: true, + + get: function () { + + return Boolean( 'USE_DASH' in this.defines ); + + }, + + set( value ) { + + if ( Boolean( value ) !== Boolean( 'USE_DASH' in this.defines ) ) { + + this.needsUpdate = true; + + } + + if ( value === true ) { + + this.defines.USE_DASH = ''; + + } else { + + delete this.defines.USE_DASH; + + } + + } + + }, + + dashScale: { + + enumerable: true, + + get: function () { + + return this.uniforms.dashScale.value; + + }, + + set: function ( value ) { + + this.uniforms.dashScale.value = value; + + } + + }, + + dashSize: { + + enumerable: true, + + get: function () { + + return this.uniforms.dashSize.value; + + }, + + set: function ( value ) { + + this.uniforms.dashSize.value = value; + + } + + }, + + dashOffset: { + + enumerable: true, + + get: function () { + + return this.uniforms.dashOffset.value; + + }, + + set: function ( value ) { + + this.uniforms.dashOffset.value = value; + + } + + }, + + gapSize: { + + enumerable: true, + + get: function () { + + return this.uniforms.gapSize.value; + + }, + + set: function ( value ) { + + this.uniforms.gapSize.value = value; + + } + + }, + + opacity: { + + enumerable: true, + + get: function () { + + return this.uniforms.opacity.value; + + }, + + set: function ( value ) { + + this.uniforms.opacity.value = value; + + } + + }, + + resolution: { + + enumerable: true, + + get: function () { + + return this.uniforms.resolution.value; + + }, + + set: function ( value ) { + + this.uniforms.resolution.value.copy( value ); + + } + + }, + + alphaToCoverage: { + + enumerable: true, + + get: function () { + + return Boolean( 'USE_ALPHA_TO_COVERAGE' in this.defines ); + + }, + + set: function ( value ) { + + if ( Boolean( value ) !== Boolean( 'USE_ALPHA_TO_COVERAGE' in this.defines ) ) { + + this.needsUpdate = true; + + } + + if ( value === true ) { + + this.defines.USE_ALPHA_TO_COVERAGE = ''; + this.extensions.derivatives = true; + + } else { + + delete this.defines.USE_ALPHA_TO_COVERAGE; + this.extensions.derivatives = false; + + } + + } + + } + + } ); + + this.setValues( parameters ); + + } + +} + +const _box$1 = new Box3(); +const _vector = new Vector3$1(); + +class LineSegmentsGeometry extends InstancedBufferGeometry { + + constructor() { + + super(); + + this.isLineSegmentsGeometry = true; + + this.type = 'LineSegmentsGeometry'; + + const positions = [ - 1, 2, 0, 1, 2, 0, - 1, 1, 0, 1, 1, 0, - 1, 0, 0, 1, 0, 0, - 1, - 1, 0, 1, - 1, 0 ]; + const uvs = [ - 1, 2, 1, 2, - 1, 1, 1, 1, - 1, - 1, 1, - 1, - 1, - 2, 1, - 2 ]; + const index = [ 0, 2, 1, 2, 3, 1, 2, 4, 3, 4, 5, 3, 4, 6, 5, 6, 7, 5 ]; + + this.setIndex( index ); + this.setAttribute( 'position', new Float32BufferAttribute( positions, 3 ) ); + this.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + } + + applyMatrix4( matrix ) { + + const start = this.attributes.instanceStart; + const end = this.attributes.instanceEnd; + + if ( start !== undefined ) { + + start.applyMatrix4( matrix ); + + end.applyMatrix4( matrix ); + + start.needsUpdate = true; + + } + + if ( this.boundingBox !== null ) { + + this.computeBoundingBox(); + + } + + if ( this.boundingSphere !== null ) { + + this.computeBoundingSphere(); + + } + + return this; + + } + + setPositions( array ) { + + let lineSegments; + + if ( array instanceof Float32Array ) { + + lineSegments = array; + + } else if ( Array.isArray( array ) ) { + + lineSegments = new Float32Array( array ); + + } + + const instanceBuffer = new InstancedInterleavedBuffer( lineSegments, 6, 1 ); // xyz, xyz + + this.setAttribute( 'instanceStart', new InterleavedBufferAttribute( instanceBuffer, 3, 0 ) ); // xyz + this.setAttribute( 'instanceEnd', new InterleavedBufferAttribute( instanceBuffer, 3, 3 ) ); // xyz + + // + + this.computeBoundingBox(); + this.computeBoundingSphere(); + + return this; + + } + + setColors( array ) { + + let colors; + + if ( array instanceof Float32Array ) { + + colors = array; + + } else if ( Array.isArray( array ) ) { + + colors = new Float32Array( array ); + + } + + const instanceColorBuffer = new InstancedInterleavedBuffer( colors, 6, 1 ); // rgb, rgb + + this.setAttribute( 'instanceColorStart', new InterleavedBufferAttribute( instanceColorBuffer, 3, 0 ) ); // rgb + this.setAttribute( 'instanceColorEnd', new InterleavedBufferAttribute( instanceColorBuffer, 3, 3 ) ); // rgb + + return this; + + } + + fromWireframeGeometry( geometry ) { + + this.setPositions( geometry.attributes.position.array ); + + return this; + + } + + fromEdgesGeometry( geometry ) { + + this.setPositions( geometry.attributes.position.array ); + + return this; + + } + + fromMesh( mesh ) { + + this.fromWireframeGeometry( new WireframeGeometry( mesh.geometry ) ); + + // set colors, maybe + + return this; + + } + + fromLineSegments( lineSegments ) { + + const geometry = lineSegments.geometry; + + this.setPositions( geometry.attributes.position.array ); // assumes non-indexed + + // set colors, maybe + + return this; + + } + + computeBoundingBox() { + + if ( this.boundingBox === null ) { + + this.boundingBox = new Box3(); + + } + + const start = this.attributes.instanceStart; + const end = this.attributes.instanceEnd; + + if ( start !== undefined && end !== undefined ) { + + this.boundingBox.setFromBufferAttribute( start ); + + _box$1.setFromBufferAttribute( end ); + + this.boundingBox.union( _box$1 ); + + } + + } + + computeBoundingSphere() { + + if ( this.boundingSphere === null ) { + + this.boundingSphere = new Sphere(); + + } + + if ( this.boundingBox === null ) { + + this.computeBoundingBox(); + + } + + const start = this.attributes.instanceStart; + const end = this.attributes.instanceEnd; + + if ( start !== undefined && end !== undefined ) { + + const center = this.boundingSphere.center; + + this.boundingBox.getCenter( center ); + + let maxRadiusSq = 0; + + for ( let i = 0, il = start.count; i < il; i ++ ) { + + _vector.fromBufferAttribute( start, i ); + maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( _vector ) ); + + _vector.fromBufferAttribute( end, i ); + maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( _vector ) ); + + } + + this.boundingSphere.radius = Math.sqrt( maxRadiusSq ); + + if ( isNaN( this.boundingSphere.radius ) ) { + + console.error( 'THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.', this ); + + } + + } + + } + + toJSON() { + + // todo + + } + + applyMatrix( matrix ) { + + console.warn( 'THREE.LineSegmentsGeometry: applyMatrix() has been renamed to applyMatrix4().' ); + + return this.applyMatrix4( matrix ); + + } + +} + +class LineGeometry extends LineSegmentsGeometry { + + constructor() { + + super(); + + this.isLineGeometry = true; + + this.type = 'LineGeometry'; + + } + + setPositions( array ) { + + // converts [ x1, y1, z1, x2, y2, z2, ... ] to pairs format + + const length = array.length - 3; + const points = new Float32Array( 2 * length ); + + for ( let i = 0; i < length; i += 3 ) { + + points[ 2 * i ] = array[ i ]; + points[ 2 * i + 1 ] = array[ i + 1 ]; + points[ 2 * i + 2 ] = array[ i + 2 ]; + + points[ 2 * i + 3 ] = array[ i + 3 ]; + points[ 2 * i + 4 ] = array[ i + 4 ]; + points[ 2 * i + 5 ] = array[ i + 5 ]; + + } + + super.setPositions( points ); + + return this; + + } + + setColors( array ) { + + // converts [ r1, g1, b1, r2, g2, b2, ... ] to pairs format + + const length = array.length - 3; + const colors = new Float32Array( 2 * length ); + + for ( let i = 0; i < length; i += 3 ) { + + colors[ 2 * i ] = array[ i ]; + colors[ 2 * i + 1 ] = array[ i + 1 ]; + colors[ 2 * i + 2 ] = array[ i + 2 ]; + + colors[ 2 * i + 3 ] = array[ i + 3 ]; + colors[ 2 * i + 4 ] = array[ i + 4 ]; + colors[ 2 * i + 5 ] = array[ i + 5 ]; + + } + + super.setColors( colors ); + + return this; + + } + + fromLine( line ) { + + const geometry = line.geometry; + + this.setPositions( geometry.attributes.position.array ); // assumes non-indexed + + // set colors, maybe + + return this; + + } + +} + +const _start = new Vector3$1(); +const _end = new Vector3$1(); + +const _start4 = new Vector4(); +const _end4 = new Vector4(); + +const _ssOrigin = new Vector4(); +const _ssOrigin3 = new Vector3$1(); +const _mvMatrix = new Matrix4(); +const _line = new Line3(); +const _closestPoint = new Vector3$1(); + +const _box = new Box3(); +const _sphere = new Sphere(); +const _clipToWorldVector = new Vector4(); + +let _ray, _lineWidth; + +// Returns the margin required to expand by in world space given the distance from the camera, +// line width, resolution, and camera projection +function getWorldSpaceHalfWidth( camera, distance, resolution ) { + + // transform into clip space, adjust the x and y values by the pixel width offset, then + // transform back into world space to get world offset. Note clip space is [-1, 1] so full + // width does not need to be halved. + _clipToWorldVector.set( 0, 0, - distance, 1.0 ).applyMatrix4( camera.projectionMatrix ); + _clipToWorldVector.multiplyScalar( 1.0 / _clipToWorldVector.w ); + _clipToWorldVector.x = _lineWidth / resolution.width; + _clipToWorldVector.y = _lineWidth / resolution.height; + _clipToWorldVector.applyMatrix4( camera.projectionMatrixInverse ); + _clipToWorldVector.multiplyScalar( 1.0 / _clipToWorldVector.w ); + + return Math.abs( Math.max( _clipToWorldVector.x, _clipToWorldVector.y ) ); + +} + +function raycastWorldUnits( lineSegments, intersects ) { + + const matrixWorld = lineSegments.matrixWorld; + const geometry = lineSegments.geometry; + const instanceStart = geometry.attributes.instanceStart; + const instanceEnd = geometry.attributes.instanceEnd; + const segmentCount = Math.min( geometry.instanceCount, instanceStart.count ); + + for ( let i = 0, l = segmentCount; i < l; i ++ ) { + + _line.start.fromBufferAttribute( instanceStart, i ); + _line.end.fromBufferAttribute( instanceEnd, i ); + + _line.applyMatrix4( matrixWorld ); + + const pointOnLine = new Vector3$1(); + const point = new Vector3$1(); + + _ray.distanceSqToSegment( _line.start, _line.end, point, pointOnLine ); + const isInside = point.distanceTo( pointOnLine ) < _lineWidth * 0.5; + + if ( isInside ) { + + intersects.push( { + point, + pointOnLine, + distance: _ray.origin.distanceTo( point ), + object: lineSegments, + face: null, + faceIndex: i, + uv: null, + uv1: null, + } ); + + } + + } + +} + +function raycastScreenSpace( lineSegments, camera, intersects ) { + + const projectionMatrix = camera.projectionMatrix; + const material = lineSegments.material; + const resolution = material.resolution; + const matrixWorld = lineSegments.matrixWorld; + + const geometry = lineSegments.geometry; + const instanceStart = geometry.attributes.instanceStart; + const instanceEnd = geometry.attributes.instanceEnd; + const segmentCount = Math.min( geometry.instanceCount, instanceStart.count ); + + const near = - camera.near; + + // + + // pick a point 1 unit out along the ray to avoid the ray origin + // sitting at the camera origin which will cause "w" to be 0 when + // applying the projection matrix. + _ray.at( 1, _ssOrigin ); + + // ndc space [ - 1.0, 1.0 ] + _ssOrigin.w = 1; + _ssOrigin.applyMatrix4( camera.matrixWorldInverse ); + _ssOrigin.applyMatrix4( projectionMatrix ); + _ssOrigin.multiplyScalar( 1 / _ssOrigin.w ); + + // screen space + _ssOrigin.x *= resolution.x / 2; + _ssOrigin.y *= resolution.y / 2; + _ssOrigin.z = 0; + + _ssOrigin3.copy( _ssOrigin ); + + _mvMatrix.multiplyMatrices( camera.matrixWorldInverse, matrixWorld ); + + for ( let i = 0, l = segmentCount; i < l; i ++ ) { + + _start4.fromBufferAttribute( instanceStart, i ); + _end4.fromBufferAttribute( instanceEnd, i ); + + _start4.w = 1; + _end4.w = 1; + + // camera space + _start4.applyMatrix4( _mvMatrix ); + _end4.applyMatrix4( _mvMatrix ); + + // skip the segment if it's entirely behind the camera + const isBehindCameraNear = _start4.z > near && _end4.z > near; + if ( isBehindCameraNear ) { + + continue; + + } + + // trim the segment if it extends behind camera near + if ( _start4.z > near ) { + + const deltaDist = _start4.z - _end4.z; + const t = ( _start4.z - near ) / deltaDist; + _start4.lerp( _end4, t ); + + } else if ( _end4.z > near ) { + + const deltaDist = _end4.z - _start4.z; + const t = ( _end4.z - near ) / deltaDist; + _end4.lerp( _start4, t ); + + } + + // clip space + _start4.applyMatrix4( projectionMatrix ); + _end4.applyMatrix4( projectionMatrix ); + + // ndc space [ - 1.0, 1.0 ] + _start4.multiplyScalar( 1 / _start4.w ); + _end4.multiplyScalar( 1 / _end4.w ); + + // screen space + _start4.x *= resolution.x / 2; + _start4.y *= resolution.y / 2; + + _end4.x *= resolution.x / 2; + _end4.y *= resolution.y / 2; + + // create 2d segment + _line.start.copy( _start4 ); + _line.start.z = 0; + + _line.end.copy( _end4 ); + _line.end.z = 0; + + // get closest point on ray to segment + const param = _line.closestPointToPointParameter( _ssOrigin3, true ); + _line.at( param, _closestPoint ); + + // check if the intersection point is within clip space + const zPos = MathUtils.lerp( _start4.z, _end4.z, param ); + const isInClipSpace = zPos >= - 1 && zPos <= 1; + + const isInside = _ssOrigin3.distanceTo( _closestPoint ) < _lineWidth * 0.5; + + if ( isInClipSpace && isInside ) { + + _line.start.fromBufferAttribute( instanceStart, i ); + _line.end.fromBufferAttribute( instanceEnd, i ); + + _line.start.applyMatrix4( matrixWorld ); + _line.end.applyMatrix4( matrixWorld ); + + const pointOnLine = new Vector3$1(); + const point = new Vector3$1(); + + _ray.distanceSqToSegment( _line.start, _line.end, point, pointOnLine ); + + intersects.push( { + point: point, + pointOnLine: pointOnLine, + distance: _ray.origin.distanceTo( point ), + object: lineSegments, + face: null, + faceIndex: i, + uv: null, + uv1: null, + } ); + + } + + } + +} + +class LineSegments2 extends Mesh { + + constructor( geometry = new LineSegmentsGeometry(), material = new LineMaterial( { color: Math.random() * 0xffffff } ) ) { + + super( geometry, material ); + + this.isLineSegments2 = true; + + this.type = 'LineSegments2'; + + } + + // for backwards-compatibility, but could be a method of LineSegmentsGeometry... + + computeLineDistances() { + + const geometry = this.geometry; + + const instanceStart = geometry.attributes.instanceStart; + const instanceEnd = geometry.attributes.instanceEnd; + const lineDistances = new Float32Array( 2 * instanceStart.count ); + + for ( let i = 0, j = 0, l = instanceStart.count; i < l; i ++, j += 2 ) { + + _start.fromBufferAttribute( instanceStart, i ); + _end.fromBufferAttribute( instanceEnd, i ); + + lineDistances[ j ] = ( j === 0 ) ? 0 : lineDistances[ j - 1 ]; + lineDistances[ j + 1 ] = lineDistances[ j ] + _start.distanceTo( _end ); + + } + + const instanceDistanceBuffer = new InstancedInterleavedBuffer( lineDistances, 2, 1 ); // d0, d1 + + geometry.setAttribute( 'instanceDistanceStart', new InterleavedBufferAttribute( instanceDistanceBuffer, 1, 0 ) ); // d0 + geometry.setAttribute( 'instanceDistanceEnd', new InterleavedBufferAttribute( instanceDistanceBuffer, 1, 1 ) ); // d1 + + return this; + + } + + raycast( raycaster, intersects ) { + + const worldUnits = this.material.worldUnits; + const camera = raycaster.camera; + + if ( camera === null && ! worldUnits ) { + + console.error( 'LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.' ); + + } + + const threshold = ( raycaster.params.Line2 !== undefined ) ? raycaster.params.Line2.threshold || 0 : 0; + + _ray = raycaster.ray; + + const matrixWorld = this.matrixWorld; + const geometry = this.geometry; + const material = this.material; + + _lineWidth = material.linewidth + threshold; + + // check if we intersect the sphere bounds + if ( geometry.boundingSphere === null ) { + + geometry.computeBoundingSphere(); + + } + + _sphere.copy( geometry.boundingSphere ).applyMatrix4( matrixWorld ); + + // increase the sphere bounds by the worst case line screen space width + let sphereMargin; + if ( worldUnits ) { + + sphereMargin = _lineWidth * 0.5; + + } else { + + const distanceToSphere = Math.max( camera.near, _sphere.distanceToPoint( _ray.origin ) ); + sphereMargin = getWorldSpaceHalfWidth( camera, distanceToSphere, material.resolution ); + + } + + _sphere.radius += sphereMargin; + + if ( _ray.intersectsSphere( _sphere ) === false ) { + + return; + + } + + // check if we intersect the box bounds + if ( geometry.boundingBox === null ) { + + geometry.computeBoundingBox(); + + } + + _box.copy( geometry.boundingBox ).applyMatrix4( matrixWorld ); + + // increase the box bounds by the worst case line width + let boxMargin; + if ( worldUnits ) { + + boxMargin = _lineWidth * 0.5; + + } else { + + const distanceToBox = Math.max( camera.near, _box.distanceToPoint( _ray.origin ) ); + boxMargin = getWorldSpaceHalfWidth( camera, distanceToBox, material.resolution ); + + } + + _box.expandByScalar( boxMargin ); + + if ( _ray.intersectsBox( _box ) === false ) { + + return; + + } + + if ( worldUnits ) { + + raycastWorldUnits( this, intersects ); + + } else { + + raycastScreenSpace( this, camera, intersects ); + + } + + } + +} + +class Line2 extends LineSegments2 { + + constructor( geometry = new LineGeometry(), material = new LineMaterial( { color: Math.random() * 0xffffff } ) ) { + + super( geometry, material ); + + this.isLine2 = true; + + this.type = 'Line2'; + + } + +} + +class AngleMeasureElement extends Component { + set lineMaterial(material) { + this._lineMaterial.dispose(); + this._lineMaterial = material; + this._line.material = material; + this._lineMaterial.resolution.set(window.innerWidth, window.innerHeight); + } + get lineMaterial() { + return this._lineMaterial; + } + set labelMarker(marker) { + this._labelMarker.dispose(); + this._labelMarker = marker; + } + get labelMarker() { + return this._labelMarker; + } + get scene() { + return this._components.scene.get(); + } + constructor(components, points) { + super(components); + this.enabled = true; + this.visible = true; + this.points = []; + this._lineMaterial = new LineMaterial({ + color: 0x6528d7, + linewidth: 2, + }); + this._lineGeometry = new LineGeometry(); + this._line = new Line2(this._lineGeometry, this._lineMaterial); + this.onAngleComputed = new Event(); + this.onPointAdded = new Event(); + this._components = components; + const htmlText = document.createElement("div"); + htmlText.className = DimensionLabelClassName; + this._labelMarker = new Simple2DMarker(components, htmlText); + this.labelMarker.visible = false; + this.onPointAdded.add(() => { + if (this.points.length === 1) + this.scene.add(this._line); + if (this.points.length === 3) + this.labelMarker.visible = true; + }); + this.onAngleComputed.add((angle) => { + var _a; + this.labelMarker.get().element.textContent = `${angle.toFixed(2)}°`; + this.labelMarker + .get() + .position.copy((_a = this.points[1]) !== null && _a !== void 0 ? _a : new THREE$1.Vector3()); + }); + points === null || points === void 0 ? void 0 : points.forEach((point) => this.setPoint(point)); + } + setPoint(point, index) { + let _index; + if (!index) { + _index = this.points.length === 0 ? 0 : this.points.length; + } + else { + _index = index; + } + if (![0, 1, 2].includes(_index)) + return; + this.points[_index] = point; + this.onPointAdded.trigger(point); + const points = this.points.map((point) => { + return [point.x, point.y, point.z]; + }); + this._lineGeometry.setPositions(points.flat()); + } + toggleLabel() { + this.labelMarker.toggleVisibility(); + } + computeAngle() { + const v0 = this.points[0]; + const v1 = this.points[1]; + const v2 = this.points[2]; + if (!(v0 && v1 && v2)) + return 0; + const vA = new THREE$1.Vector3().subVectors(v1, v0); + const vB = new THREE$1.Vector3().subVectors(v1, v2); + const angle = THREE$1.MathUtils.radToDeg(vA.angleTo(vB)); + this.onAngleComputed.trigger(angle); + return angle; + } + async dispose() { + this.points = []; + await this.labelMarker.dispose(); + this.onAngleComputed.reset(); + this.onPointAdded.reset(); + await this.labelMarker.dispose(); + this._line.removeFromParent(); + this._lineMaterial.dispose(); + this._lineGeometry.dispose(); + this._components = null; + } + get() { + return { + points: this.points, + angle: this.computeAngle(), + }; + } +} + +class AngleMeasurement extends Component { + set lineMaterial(material) { + this._lineMaterial.dispose(); + this._lineMaterial = material; + this._lineMaterial.resolution.set(window.innerWidth, window.innerHeight); + } + get lineMaterial() { + return this._lineMaterial; + } + set enabled(value) { + this._enabled = value; + this.setupEvents(value); + this._vertexPicker.enabled = value; + if (this.components.ui.enabled) { + const main = this.uiElement.get("main"); + main.active = value; + } + if (!value) + this.cancelCreation(); + } + get enabled() { + return this._enabled; + } + set workingPlane(plane) { + this._vertexPicker.workingPlane = plane; + } + get workingPlane() { + return this._vertexPicker.workingPlane; + } + constructor(components) { + super(components); + this.uiElement = new UIElement(); + this._enabled = false; + this._currentAngleElement = null; + this._clickCount = 0; + this._measurements = []; + this.onBeforeCreate = new Event(); + this.onAfterCreate = new Event(); + this.onBeforeCancel = new Event(); + this.onAfterCancel = new Event(); + this.onBeforeDelete = new Event(); + this.onAfterDelete = new Event(); + this.create = () => { + if (!this.enabled) + return; + const point = this._vertexPicker.get(); + if (!point) + return; + if (!this._currentAngleElement) { + const angleElement = new AngleMeasureElement(this.components); + angleElement.lineMaterial = this.lineMaterial; + // angleElement.onPointRemoved.on(() => this._clickCount--); + this._currentAngleElement = angleElement; + } + this._currentAngleElement.setPoint(point, this._clickCount); + this._currentAngleElement.setPoint(point, (this._clickCount + 1)); + this._currentAngleElement.setPoint(point, (this._clickCount + 2)); + this._currentAngleElement.computeAngle(); + this._clickCount++; + if (this._clickCount === 3) + this.endCreation(); + }; + this.onMouseMove = () => { + const point = this._vertexPicker.get(); + if (!(point && this._currentAngleElement)) + return; + this._currentAngleElement.setPoint(point, this._clickCount); + this._currentAngleElement.computeAngle(); + }; + this.onKeyDown = (e) => { + if (!this.enabled) + return; + if (e.key === "z" && e.ctrlKey && this._currentAngleElement) ; + if (e.key === "Escape") { + if (this._clickCount === 0 && !this._currentAngleElement) { + this.enabled = false; + } + else { + this.cancelCreation(); + } + } + }; + this.components.tools.add(AngleMeasurement.uuid, this); + this.components = components; + this._lineMaterial = new LineMaterial({ + color: 0x6528d7, + linewidth: 2, + }); + this._vertexPicker = new VertexPicker(components); + // this.enabled = false; + if (components.ui.enabled) { + this.setUI(); + } + } + async dispose() { + await this.setupEvents(false); + this.onBeforeCreate.reset(); + this.onAfterCreate.reset(); + this.onBeforeCancel.reset(); + this.onAfterCancel.reset(); + this.onBeforeDelete.reset(); + this.onAfterDelete.reset(); + this.uiElement.dispose(); + this._lineMaterial.dispose(); + await this._vertexPicker.dispose(); + for (const measure of this._measurements) { + await measure.dispose(); + } + if (this._currentAngleElement) { + await this._currentAngleElement.dispose(); + } + this.components = null; + } + delete() { } + endCreation() { + if (this._currentAngleElement) { + this._measurements.push(this._currentAngleElement); + this._currentAngleElement.computeAngle(); + this._currentAngleElement = null; + } + this._clickCount = 0; + } + cancelCreation() { + if (this._currentAngleElement) { + this._currentAngleElement.dispose(); + this._currentAngleElement = null; + } + this._clickCount = 0; + } + get() { + return this._measurements; + } + setUI() { + const main = new Button(this.components); + main.materialIcon = "square_foot"; + main.onClick.add(() => { + if (!this.enabled) { + main.active = true; + this.enabled = true; + } + else { + this.enabled = false; + main.active = false; + } + }); + this.uiElement.set({ main }); + } + setupEvents(active) { + const viewerContainer = this.components.ui.viewerContainer; + if (active) { + viewerContainer.addEventListener("click", this.create); + viewerContainer.addEventListener("mousemove", this.onMouseMove); + window.addEventListener("keydown", this.onKeyDown); + } + else { + const main = this.uiElement.get("main"); + main.active = false; + viewerContainer.removeEventListener("click", this.create); + viewerContainer.removeEventListener("mousemove", this.onMouseMove); + window.removeEventListener("keydown", this.onKeyDown); + } + } +} +AngleMeasurement.uuid = "622fb2c9-528c-4b0a-8a0e-6a1375f0a3aa"; +ToolComponent.libraryUUIDs.add(AngleMeasurement.uuid); + +let Handle$4 = class Handle { + static seed = 0; + + static next() { + return (++Handle.seed).toString(16).toUpperCase(); + } + + static peek() { + return (Handle.seed + 1).toString(16).toUpperCase(); + } +}; + +var Handle_1 = Handle$4; + +const Handle$3 = Handle_1; + +let DatabaseObject$n = class DatabaseObject { + constructor(subclass = null) { + this.handle = Handle$3.next(); + this.ownerObjectHandle = "0"; + this.subclassMarkers = []; + if (subclass) { + if (Array.isArray(subclass)) { + this.subclassMarkers.push(...subclass); + } else { + this.subclassMarkers.push(subclass); + } + } + } + + /** + * + * @param {TagsManager} manager + */ + tags(manager) { + manager.push(5, this.handle); + manager.push(330, this.ownerObjectHandle); + for (const s of this.subclassMarkers) { + manager.push(100, s); + } + } +}; + +var DatabaseObject_1 = DatabaseObject$n; + +const DatabaseObject$m = DatabaseObject_1; + +let LineType$1 = class LineType extends DatabaseObject$m { + /** + * @param {string} name + * @param {string} description + * @param {array} elements - if elem > 0 it is a line, if elem < 0 it is gap, if elem == 0.0 it is a + */ + constructor(name, description, elements) { + super(["AcDbSymbolTableRecord", "AcDbLinetypeTableRecord"]); + this.name = name; + this.description = description; + this.elements = elements; + } + + tags(manager) { + // https://www.autodesk.com/techpubs/autocad/acadr14/dxf/ltype_al_u05_c.htm + manager.push(0, "LTYPE"); + super.tags(manager); + manager.push(2, this.name); + manager.push(3, this.description); + manager.push(70, 0); + manager.push(72, 65); + manager.push(73, this.elements.length); + manager.push(40, this.getElementsSum()); + + this.elements.forEach((element) => { + manager.push(49, element); + manager.push(74, 0); + }); + } + + getElementsSum() { + return this.elements.reduce((sum, element) => { + return sum + Math.abs(element); + }, 0); + } +}; + +var LineType_1 = LineType$1; + +const DatabaseObject$l = DatabaseObject_1; + +let Layer$1 = class Layer extends DatabaseObject$l { + constructor(name, colorNumber, lineTypeName = null) { + super(["AcDbSymbolTableRecord", "AcDbLayerTableRecord"]); + this.name = name; + this.colorNumber = colorNumber; + this.lineTypeName = lineTypeName; + this.shapes = []; + this.trueColor = -1; + } + + tags(manager) { + manager.push(0, "LAYER"); + super.tags(manager); + manager.push(2, this.name); + if (this.trueColor !== -1) manager.push(420, this.trueColor); + else manager.push(62, this.colorNumber); + + manager.push(70, 0); + if (this.lineTypeName) manager.push(6, this.lineTypeName); + + /* Hard-pointer handle to PlotStyleName object; seems mandatory, but any value seems OK, + * including 0. + */ + manager.push(390, 1); + } + + setTrueColor(color) { + this.trueColor = color; + } + + addShape(shape) { + this.shapes.push(shape); + shape.layer = this; + } + + getShapes() { + return this.shapes; + } + + shapesTags(space, manager) { + for (const shape of this.shapes) { + shape.ownerObjectHandle = space.handle; + shape.tags(manager); + } + } +}; + +var Layer_1 = Layer$1; + +const DatabaseObject$k = DatabaseObject_1; + +let Table$2 = class Table extends DatabaseObject$k { + constructor(name) { + super("AcDbSymbolTable"); + this.name = name; + this.elements = []; + } + + add(element) { + element.ownerObjectHandle = this.handle; + this.elements.push(element); + } + + tags(manager) { + manager.push(0, "TABLE"); + manager.push(2, this.name); + super.tags(manager); + manager.push(70, this.elements.length); + + this.elements.forEach((element) => { + element.tags(manager); + }); + + manager.push(0, "ENDTAB"); + } +}; + +var Table_1 = Table$2; + +const DatabaseObject$j = DatabaseObject_1; +const Table$1 = Table_1; + +let DimStyleTable$1 = class DimStyleTable extends Table$1 { + constructor(name) { + super(name); + this.subclassMarkers.push("AcDbDimStyleTable"); + } + + tags(manager) { + manager.push(0, "TABLE"); + manager.push(2, this.name); + DatabaseObject$j.prototype.tags.call(this, manager); + manager.push(70, this.elements.length); + /* DIMTOL */ + manager.push(71, 1); + + for (const e of this.elements) { + e.tags(manager); + } + + manager.push(0, "ENDTAB"); + } +}; + +var DimStyleTable_1 = DimStyleTable$1; + +const DatabaseObject$i = DatabaseObject_1; + +let TextStyle$1 = class TextStyle extends DatabaseObject$i { + fontFileName = 'txt'; + constructor(name) { + super(["AcDbSymbolTableRecord", "AcDbTextStyleTableRecord"]); + this.name = name; + } + + tags(manager) { + manager.push(0, "STYLE"); + super.tags(manager); + manager.push(2, this.name); + /* No flags set */ + manager.push(70, 0); + manager.push(40, 0); + manager.push(41, 1); + manager.push(50, 0); + manager.push(71, 0); + manager.push(42, 1); + manager.push(3, this.fontFileName); + manager.push(4, ""); + } +}; + +var TextStyle_1 = TextStyle$1; + +const DatabaseObject$h = DatabaseObject_1; + +let Viewport$1 = class Viewport extends DatabaseObject$h { + constructor(name, height) { + super(["AcDbSymbolTableRecord", "AcDbViewportTableRecord"]); + this.name = name; + this.height = height; + } + + tags(manager) { + manager.push(0, "VPORT"); + super.tags(manager); + manager.push(2, this.name); + manager.push(40, this.height); + /* No flags set */ + manager.push(70, 0); + } +}; + +var Viewport_1 = Viewport$1; + +const DatabaseObject$g = DatabaseObject_1; + +let AppId$1 = class AppId extends DatabaseObject$g { + constructor(name) { + super(["AcDbSymbolTableRecord", "AcDbRegAppTableRecord"]); + this.name = name; + } + + tags(manager) { + manager.push(0, "APPID"); + super.tags(manager); + manager.push(2, this.name); + /* No flags set */ + manager.push(70, 0); + } +}; + +var AppId_1 = AppId$1; + +const DatabaseObject$f = DatabaseObject_1; + +let Block$1 = class Block extends DatabaseObject$f { + constructor(name) { + super(["AcDbEntity", "AcDbBlockBegin"]); + this.name = name; + this.end = new DatabaseObject$f(["AcDbEntity", "AcDbBlockEnd"]); + this.recordHandle = null; + } + + tags(manager) { + manager.push(0, "BLOCK"); + super.tags(manager); + manager.push(2, this.name); + /* No flags set */ + manager.push(70, 0); + /* Block top left corner */ + manager.point(0, 0); + manager.push(3, this.name); + /* xref path name - nothing */ + manager.push(1, ""); + + //XXX dump content here + + manager.push(0, "ENDBLK"); + this.end.tags(manager); + } +}; + +var Block_1 = Block$1; + +const DatabaseObject$e = DatabaseObject_1; + +let BlockRecord$1 = class BlockRecord extends DatabaseObject$e { + constructor(name) { + super(["AcDbSymbolTableRecord", "AcDbBlockTableRecord"]); + this.name = name; + } + + tags(manager) { + manager.push(0, "BLOCK_RECORD"); + super.tags(manager); + manager.push(2, this.name); + /* No flags set */ + manager.push(70, 0); + /* Block explodability */ + manager.push(280, 0); + /* Block scalability */ + manager.push(281, 1); + } +}; + +var BlockRecord_1 = BlockRecord$1; + +const DatabaseObject$d = DatabaseObject_1; + +let Dictionary$1 = class Dictionary extends DatabaseObject$d { + constructor() { + super("AcDbDictionary"); + this.children = {}; + } + + /** + * + * @param {*} name + * @param {DatabaseObject} dictionary + */ + addChildDictionary(name, dictionary) { + dictionary.ownerObjectHandle = this.handle; + this.children[name] = dictionary; + } + + tags(manager) { + manager.push(0, "DICTIONARY"); + super.tags(manager); + /* Duplicate record cloning flag - keep existing */ + manager.push(281, 1); + + const entries = Object.entries(this.children); + for (const entry of entries) { + const [name, dic] = entry; + manager.push(3, name); + manager.push(350, dic.handle); + } + + const children = Object.values(this.children); + for (const c of children) { + c.tags(manager); + } + } +}; + +var Dictionary_1 = Dictionary$1; + +const DatabaseObject$c = DatabaseObject_1; + +let Line$1 = class Line extends DatabaseObject$c { + constructor(x1, y1, x2, y2) { + super(["AcDbEntity", "AcDbLine"]); + this.x1 = x1; + this.y1 = y1; + this.x2 = x2; + this.y2 = y2; + } + + tags(manager) { + //https://www.autodesk.com/techpubs/autocad/acadr14/dxf/line_al_u05_c.htm + manager.push(0, "LINE"); + super.tags(manager); + manager.push(8, this.layer.name); + manager.point(this.x1, this.y1); + + manager.push(11, this.x2); + manager.push(21, this.y2); + manager.push(31, 0); + } +}; + +var Line_1 = Line$1; + +const DatabaseObject$b = DatabaseObject_1; + +let Line3d$1 = class Line3d extends DatabaseObject$b { + constructor(x1, y1, z1, x2, y2, z2) { + super(["AcDbEntity", "AcDbLine"]); + this.x1 = x1; + this.y1 = y1; + this.z1 = z1; + this.x2 = x2; + this.y2 = y2; + this.z2 = z2; + } + + tags(manager) { + //https://www.autodesk.com/techpubs/autocad/acadr14/dxf/line_al_u05_c.htm + manager.push(0, "LINE"); + super.tags(manager); + manager.push(8, this.layer.name); + manager.point(this.x1, this.y1, this.z1); + + manager.push(11, this.x2); + manager.push(21, this.y2); + manager.push(31, this.z2); + } +}; + +var Line3d_1 = Line3d$1; + +const DatabaseObject$a = DatabaseObject_1; + +let Arc$1 = class Arc extends DatabaseObject$a { + /** + * @param {number} x - Center x + * @param {number} y - Center y + * @param {number} r - radius + * @param {number} startAngle - degree + * @param {number} endAngle - degree + */ + constructor(x, y, r, startAngle, endAngle) { + super(["AcDbEntity", "AcDbCircle"]); + this.x = x; + this.y = y; + this.r = r; + this.startAngle = startAngle; + this.endAngle = endAngle; + } + + tags(manager) { + //https://www.autodesk.com/techpubs/autocad/acadr14/dxf/line_al_u05_c.htm + manager.push(0, "ARC"); + super.tags(manager); + manager.push(8, this.layer.name); + manager.point(this.x, this.y); + manager.push(40, this.r); + manager.push(100, "AcDbArc"); + manager.push(50, this.startAngle); + manager.push(51, this.endAngle); + } +}; + +var Arc_1 = Arc$1; + +const DatabaseObject$9 = DatabaseObject_1; + +let Circle$1 = class Circle extends DatabaseObject$9 { + /** + * @param {number} x - Center x + * @param {number} y - Center y + * @param {number} r - radius + */ + constructor(x, y, r) { + super(["AcDbEntity", "AcDbCircle"]); + this.x = x; + this.y = y; + this.r = r; + } + + tags(manager) { + //https://www.autodesk.com/techpubs/autocad/acadr14/dxf/circle_al_u05_c.htm + manager.push(0, "CIRCLE"); + super.tags(manager); + manager.push(8, this.layer.name); + manager.point(this.x, this.y); + manager.push(40, this.r); + } +}; + +var Circle_1 = Circle$1; + +const DatabaseObject$8 = DatabaseObject_1; + +let Cylinder$1 = class Cylinder extends DatabaseObject$8 { + /** + * @param {number} x - Center x + * @param {number} y - Center y + * @param {number} z - Center z + * @param {number} r - radius + * @param {number} thickness - thickness + * @param {number} extrusionDirectionX - Extrusion Direction x + * @param {number} extrusionDirectionY - Extrusion Direction y + * @param {number} extrusionDirectionZ - Extrusion Direction z + */ + constructor( + x, + y, + z, + r, + thickness, + extrusionDirectionX, + extrusionDirectionY, + extrusionDirectionZ + ) { + super(["AcDbEntity", "AcDbCircle"]); + this.x = x; + this.y = y; + this.z = z; + this.r = r; + this.thickness = thickness; + (this.extrusionDirectionX = extrusionDirectionX), + (this.extrusionDirectionY = extrusionDirectionY), + (this.extrusionDirectionZ = extrusionDirectionZ); + } + + tags(manager) { + manager.push(0, "CIRCLE"); + super.tags(manager); + manager.push(8, this.layer.name); + manager.point(this.x, this.y, this.z); + manager.push(40, this.r); + manager.push(39, this.thickness); + manager.push(210, this.extrusionDirectionX); + manager.push(220, this.extrusionDirectionY); + manager.push(230, this.extrusionDirectionZ); + } +}; + +var Cylinder_1 = Cylinder$1; + +const DatabaseObject$7 = DatabaseObject_1; + +const H_ALIGN_CODES = ["left", "center", "right"]; +const V_ALIGN_CODES = ["baseline", "bottom", "middle", "top"]; + +let Text$1 = class Text extends DatabaseObject$7 { + /** + * @param {number} x - x + * @param {number} y - y + * @param {number} height - Text height + * @param {number} rotation - Text rotation + * @param {string} value - the string itself + * @param {string} [horizontalAlignment="left"] left | center | right + * @param {string} [verticalAlignment="baseline"] baseline | bottom | middle | top + */ + constructor( + x, + y, + height, + rotation, + value, + horizontalAlignment = "left", + verticalAlignment = "baseline" + ) { + super(["AcDbEntity", "AcDbText"]); + this.x = x; + this.y = y; + this.height = height; + this.rotation = rotation; + this.value = value; + this.hAlign = horizontalAlignment; + this.vAlign = verticalAlignment; + } + + tags(manager) { + //https://www.autodesk.com/techpubs/autocad/acadr14/dxf/text_al_u05_c.htm + manager.push(0, "TEXT"); + super.tags(manager); + manager.push(8, this.layer.name); + manager.point(this.x, this.y); + manager.push(40, this.height); + manager.push(1, this.value); + manager.push(50, this.rotation); + + if ( + H_ALIGN_CODES.includes(this.hAlign, 1) || + V_ALIGN_CODES.includes(this.vAlign, 1) + ) { + manager.push(72, Math.max(H_ALIGN_CODES.indexOf(this.hAlign), 0)); + + manager.push(11, this.x); + manager.push(21, this.y); + manager.push(31, 0); + + /* AutoCAD needs this one more time, yes, exactly here. */ + manager.push(100, "AcDbText"); + manager.push(73, Math.max(V_ALIGN_CODES.indexOf(this.vAlign), 0)); + } else { + /* AutoCAD needs this one more time. */ + manager.push(100, "AcDbText"); + } + } +}; + +var Text_1 = Text$1; + +const DatabaseObject$6 = DatabaseObject_1; + +let Polyline$1 = class Polyline extends DatabaseObject$6 { + /** + * @param {array} points - Array of points like [ [x1, y1], [x2, y2, bulge]... ] + * @param {boolean} closed + * @param {number} startWidth + * @param {number} endWidth + */ + constructor(points, closed = false, startWidth = 0, endWidth = 0) { + super(["AcDbEntity", "AcDbPolyline"]); + this.points = points; + this.closed = closed; + this.startWidth = startWidth; + this.endWidth = endWidth; + } + + tags(manager) { + manager.push(0, "LWPOLYLINE"); + super.tags(manager); + manager.push(8, this.layer.name); + manager.push(6, "ByLayer"); + manager.push(62, 256); + manager.push(370, -1); + manager.push(90, this.points.length); + manager.push(70, this.closed ? 1 : 0); + + this.points.forEach((point) => { + const [x, y, z] = point; + manager.push(10, x); + manager.push(20, y); + if (this.startWidth !== 0 || this.endWidth !== 0) { + manager.push(40, this.startWidth); + manager.push(41, this.endWidth); + } + if (z !== undefined) manager.push(42, z); + }); + } +}; + +var Polyline_1 = Polyline$1; + +const DatabaseObject$5 = DatabaseObject_1; + +let Vertex$1 = class Vertex extends DatabaseObject$5 { + /** + * + * @param {number} x The X coordinate + * @param {number} y The Y coordinate + * @param {number} z The Z coordinate + */ + constructor(x, y, z) { + super(["AcDbEntity", "AcDbVertex", "AcDb3dPolylineVertex"]); + this.x = x; + this.y = y; + this.z = z; + } + + tags(manager) { + manager.push(0, "VERTEX"); + super.tags(manager); + manager.push(8, this.layer.name); + manager.point(this.x, this.y, this.z); + manager.push(70, 32); + } +}; + +var Vertex_1 = Vertex$1; + +const DatabaseObject$4 = DatabaseObject_1; +const Handle$2 = Handle_1; +const Vertex = Vertex_1; + +let Polyline3d$1 = class Polyline3d extends DatabaseObject$4 { + /** + * @param {[number, number, number][]} points - Array of points like [ [x1, y1, z1], [x2, y2, z2]... ] + */ + constructor(points) { + super(["AcDbEntity", "AcDb3dPolyline"]); + this.verticies = points.map((point) => { + const [x, y, z] = point; + const vertex = new Vertex(x, y, z); + vertex.ownerObjectHandle = this.handle; + return vertex; + }); + this.seqendHandle = Handle$2.next(); + } + + tags(manager) { + manager.push(0, "POLYLINE"); + super.tags(manager); + manager.push(8, this.layer.name); + manager.push(66, 1); + manager.push(70, 0); + manager.point(0, 0); + + this.verticies.forEach((vertex) => { + vertex.layer = this.layer; + vertex.tags(manager); + }); + + manager.push(0, "SEQEND"); + manager.push(5, this.seqendHandle); + manager.push(100, "AcDbEntity"); + manager.push(8, this.layer.name); + } +}; + +var Polyline3d_1 = Polyline3d$1; + +const DatabaseObject$3 = DatabaseObject_1; + +let Face$1 = class Face extends DatabaseObject$3 { + constructor(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4) { + super(["AcDbEntity", "AcDbFace"]); + this.x1 = x1; + this.y1 = y1; + this.z1 = z1; + this.x2 = x2; + this.y2 = y2; + this.z2 = z2; + this.x3 = x3; + this.y3 = y3; + this.z3 = z3; + this.x4 = x4; + this.y4 = y4; + this.z4 = z4; + } + + tags(manager) { + //https://www.autodesk.com/techpubs/autocad/acadr14/dxf/3dface_al_u05_c.htm + manager.push(0, "3DFACE"); + super.tags(manager); + manager.push(8, this.layer.name); + manager.point(this.x1, this.y1, this.z1); + + manager.push(11, this.x2); + manager.push(21, this.y2); + manager.push(31, this.z2); + + manager.push(12, this.x3); + manager.push(22, this.y3); + manager.push(32, this.z3); + + manager.push(13, this.x4); + manager.push(23, this.y4); + manager.push(33, this.z4); + } +}; + +var Face_1 = Face$1; + +const DatabaseObject$2 = DatabaseObject_1; + +let Point$1 = class Point extends DatabaseObject$2 { + constructor(x, y) { + super(["AcDbEntity", "AcDbPoint"]); + this.x = x; + this.y = y; + } + + tags(manager) { + //https://www.autodesk.com/techpubs/autocad/acadr14/dxf/point_al_u05_c.htm + manager.push(0, "POINT"); + super.tags(manager); + manager.push(8, this.layer.name); + manager.point(this.x, this.y); + } +}; + +var Point_1 = Point$1; + +const DatabaseObject$1 = DatabaseObject_1; + +let Spline$1 = class Spline extends DatabaseObject$1 { + /** + * Creates a spline. See https://www.autodesk.com/techpubs/autocad/acad2000/dxf/spline_dxf_06.htm + * @param {[Array]} controlPoints - Array of control points like [ [x1, y1], [x2, y2]... ] + * @param {number} degree - Degree of spline: 2 for quadratic, 3 for cubic. Default is 3 + * @param {[number]} knots - Knot vector array. If null, will use a uniform knot vector. Default is null + * @param {[number]} weights - Control point weights. If provided, must be one weight for each control point. Default is null + * @param {[Array]} fitPoints - Array of fit points like [ [x1, y1], [x2, y2]... ] + */ + constructor( + controlPoints, + degree = 3, + knots = null, + weights = null, + fitPoints = [] + ) { + super(["AcDbEntity", "AcDbSpline"]); + if (controlPoints.length < degree + 1) { + throw new Error( + `For degree ${degree} spline, expected at least ${ + degree + 1 + } control points, but received only ${controlPoints.length}` + ); + } + + if (knots == null) { + // Examples: + // degree 2, 3 pts: 0 0 0 1 1 1 + // degree 2, 4 pts: 0 0 0 1 2 2 2 + // degree 2, 5 pts: 0 0 0 1 2 3 3 3 + // degree 3, 4 pts: 0 0 0 0 1 1 1 1 + // degree 3, 5 pts: 0 0 0 0 1 2 2 2 2 + + knots = []; + for (let i = 0; i < degree + 1; i++) { + knots.push(0); + } + for (let i = 1; i < controlPoints.length - degree; i++) { + knots.push(i); + } + for (let i = 0; i < degree + 1; i++) { + knots.push(controlPoints.length - degree); + } + } + + if (knots.length !== controlPoints.length + degree + 1) { + throw new Error( + `Invalid knot vector length. Expected ${ + controlPoints.length + degree + 1 + } but received ${knots.length}.` + ); + } + + this.controlPoints = controlPoints; + this.knots = knots; + this.fitPoints = fitPoints; + this.degree = degree; + this.weights = weights; + + const closed = 0; + const periodic = 0; + const rational = this.weights ? 1 : 0; + const planar = 1; + const linear = 0; + + this.type = + closed * 1 + periodic * 2 + rational * 4 + planar * 8 + linear * 16; + + // Not certain where the values of these flags came from so I'm going to leave them commented for now + // const closed = 0 + // const periodic = 0 + // const rational = 1 + // const planar = 1 + // const linear = 0 + // const splineType = 1024 * closed + 128 * periodic + 8 * rational + 4 * planar + 2 * linear + } + + tags(manager) { + // https://www.autodesk.com/techpubs/autocad/acad2000/dxf/spline_dxf_06.htm + manager.push(0, "SPLINE"); + super.tags(manager); + manager.push(8, this.layer.name); + + manager.push(210, 0.0); + manager.push(220, 0.0); + manager.push(230, 1.0); + + manager.push(70, this.type); + manager.push(71, this.degree); + manager.push(72, this.knots.length); + manager.push(73, this.controlPoints.length); + manager.push(74, this.fitPoints.length); + + manager.push(42, 1e-7); + manager.push(43, 1e-7); + manager.push(44, 1e-10); + + this.knots.forEach((knot) => { + manager.push(40, knot); + }); + + if (this.weights) { + this.weights.forEach((weight) => { + manager.push(41, weight); + }); + } + + this.controlPoints.forEach((point) => { + manager.point(point[0], point[1]); + }); + } +}; + +var Spline_1 = Spline$1; + +const DatabaseObject = DatabaseObject_1; + +let Ellipse$1 = class Ellipse extends DatabaseObject { + /** + * Creates an ellipse. + * @param {number} x - Center x + * @param {number} y - Center y + * @param {number} majorAxisX - Endpoint x of major axis, relative to center + * @param {number} majorAxisY - Endpoint y of major axis, relative to center + * @param {number} axisRatio - Ratio of minor axis to major axis + * @param {number} startAngle - Start angle + * @param {number} endAngle - End angle + */ + constructor(x, y, majorAxisX, majorAxisY, axisRatio, startAngle, endAngle) { + super(["AcDbEntity", "AcDbEllipse"]); + this.x = x; + this.y = y; + this.majorAxisX = majorAxisX; + this.majorAxisY = majorAxisY; + this.axisRatio = axisRatio; + this.startAngle = startAngle; + this.endAngle = endAngle; + } + + tags(manager) { + // https://www.autodesk.com/techpubs/autocad/acadr14/dxf/ellipse_al_u05_c.htm + manager.push(0, "ELLIPSE"); + super.tags(manager); + manager.push(8, this.layer.name); + manager.point(this.x, this.y); + manager.push(11, this.majorAxisX); + manager.push(21, this.majorAxisY); + manager.push(31, 0); + + manager.push(40, this.axisRatio); + manager.push(41, this.startAngle); + manager.push(42, this.endAngle); + } +}; + +var Ellipse_1 = Ellipse$1; + +let TagsManager$1 = class TagsManager { + constructor() { + this.lines = []; + } + + /** + * + * @param {number} x + * @param {number} y + * @param {number} z + */ + point(x, y, z = 0) { + this.push(10, x); + this.push(20, y); + this.push(30, z); + } + + /** + * + * @param {string} name The name of the section + */ + start(name) { + this.push(0, "SECTION"); + this.push(2, name); + } + + end() { + this.push(0, "ENDSEC"); + } + + addHeaderVariable(name, tagsElements) { + this.push(9, `$${name}`); + tagsElements.forEach((tagElement) => { + this.push(tagElement[0], tagElement[1]); + }); + } + + push(code, value) { + this.lines.push(code, value); + } + + toDxfString() { + return this.lines.join("\n"); + } +}; + +var TagsManager_1 = TagsManager$1; + +const LineType = LineType_1; +const Layer = Layer_1; +const Table = Table_1; +const DimStyleTable = DimStyleTable_1; +const TextStyle = TextStyle_1; +const Viewport = Viewport_1; +const AppId = AppId_1; +const Block = Block_1; +const BlockRecord = BlockRecord_1; +const Dictionary = Dictionary_1; +const Line = Line_1; +const Line3d = Line3d_1; +const Arc = Arc_1; +const Circle = Circle_1; +const Cylinder = Cylinder_1; +const Text = Text_1; +const Polyline = Polyline_1; +const Polyline3d = Polyline3d_1; +const Face = Face_1; +const Point = Point_1; +const Spline = Spline_1; +const Ellipse = Ellipse_1; +const TagsManager = TagsManager_1; +const Handle$1 = Handle_1; + +let Drawing$1 = class Drawing { + constructor() { + this.layers = {}; + this.activeLayer = null; + this.lineTypes = {}; + this.headers = {}; + this.tables = {}; + this.blocks = {}; + + this.dictionary = new Dictionary(); + + this.setUnits("Unitless"); + + for (const ltype of Drawing.LINE_TYPES) { + this.addLineType(ltype.name, ltype.description, ltype.elements); + } + + for (const l of Drawing.LAYERS) { + this.addLayer(l.name, l.colorNumber, l.lineTypeName); + } + + this.setActiveLayer("0"); + + // Must call this function + this.generateAutocadExtras(); + } + + /** + * @param {string} name + * @param {string} description + * @param {array} elements - if elem > 0 it is a line, if elem < 0 it is gap, if elem == 0.0 it is a + */ + addLineType(name, description, elements) { + this.lineTypes[name] = new LineType(name, description, elements); + return this; + } + + addLayer(name, colorNumber, lineTypeName) { + this.layers[name] = new Layer(name, colorNumber, lineTypeName); + return this; + } + + setActiveLayer(name) { + this.activeLayer = this.layers[name]; + return this; + } + + addTable(name) { + const table = new Table(name); + this.tables[name] = table; + return table; + } + + /** + * + * @param {string} name The name of the block. + * @returns {Block} + */ + addBlock(name) { + const block = new Block(name); + this.blocks[name] = block; + return block; + } + + drawLine(x1, y1, x2, y2) { + this.activeLayer.addShape(new Line(x1, y1, x2, y2)); + return this; + } + + drawLine3d(x1, y1, z1, x2, y2, z2) { + this.activeLayer.addShape(new Line3d(x1, y1, z1, x2, y2, z2)); + return this; + } + + drawPoint(x, y) { + this.activeLayer.addShape(new Point(x, y)); + return this; + } + + drawRect(x1, y1, x2, y2, cornerLength, cornerBulge) { + const w = x2 - x1; + const h = y2 - y1; + cornerBulge = cornerBulge || 0; + let p = null; + if (!cornerLength) { + p = new Polyline( + [ + [x1, y1], + [x1, y1 + h], + [x1 + w, y1 + h], + [x1 + w, y1], + ], + true + ); + } else { + p = new Polyline( + [ + [x1 + w - cornerLength, y1, cornerBulge], // 1 + [x1 + w, y1 + cornerLength], // 2 + [x1 + w, y1 + h - cornerLength, cornerBulge], // 3 + [x1 + w - cornerLength, y1 + h], // 4 + [x1 + cornerLength, y1 + h, cornerBulge], // 5 + [x1, y1 + h - cornerLength], // 6 + [x1, y1 + cornerLength, cornerBulge], // 7 + [x1 + cornerLength, y1], // 8 + ], + true + ); + } + this.activeLayer.addShape(p); + return this; + } + + /** + * Draw a regular convex polygon as a polyline entity. + * + * @see [Regular polygon | Wikipedia](https://en.wikipedia.org/wiki/Regular_polygon) + * + * @param {number} x - The X coordinate of the center of the polygon. + * @param {number} y - The Y coordinate of the center of the polygon. + * @param {number} numberOfSides - The number of sides. + * @param {number} radius - The radius. + * @param {number} rotation - The rotation angle (in Degrees) of the polygon. By default 0. + * @param {boolean} circumscribed - If `true` is a polygon in which each side is a tangent to a circle. + * If `false` is a polygon in which all vertices lie on a circle. By default `false`. + * + * @returns {Drawing} - The current object of {@link Drawing}. + */ + drawPolygon( + x, + y, + numberOfSides, + radius, + rotation = 0, + circumscribed = false + ) { + const angle = (2 * Math.PI) / numberOfSides; + const vertices = []; + let d = radius; + const rotationRad = (rotation * Math.PI) / 180; + if (circumscribed) d = radius / Math.cos(Math.PI / numberOfSides); + for (let i = 0; i < numberOfSides; i++) { + vertices.push([ + x + d * Math.sin(rotationRad + i * angle), + y + d * Math.cos(rotationRad + i * angle), + ]); + } + this.activeLayer.addShape(new Polyline(vertices, true)); + return this; + } + + /** + * @param {number} x1 - Center x + * @param {number} y1 - Center y + * @param {number} r - radius + * @param {number} startAngle - degree + * @param {number} endAngle - degree + */ + drawArc(x1, y1, r, startAngle, endAngle) { + this.activeLayer.addShape(new Arc(x1, y1, r, startAngle, endAngle)); + return this; + } + + /** + * @param {number} x1 - Center x + * @param {number} y1 - Center y + * @param {number} r - radius + */ + drawCircle(x1, y1, r) { + this.activeLayer.addShape(new Circle(x1, y1, r)); + return this; + } + + /** + * @param {number} x1 - Center x + * @param {number} y1 - Center y + * @param {number} z1 - Center z + * @param {number} r - radius + * @param {number} thickness - thickness + * @param {number} extrusionDirectionX - Extrusion Direction x + * @param {number} extrusionDirectionY - Extrusion Direction y + * @param {number} extrusionDirectionZ - Extrusion Direction z + */ + drawCylinder( + x1, + y1, + z1, + r, + thickness, + extrusionDirectionX, + extrusionDirectionY, + extrusionDirectionZ + ) { + this.activeLayer.addShape( + new Cylinder( + x1, + y1, + z1, + r, + thickness, + extrusionDirectionX, + extrusionDirectionY, + extrusionDirectionZ + ) + ); + return this; + } + + /** + * @param {number} x1 - x + * @param {number} y1 - y + * @param {number} height - Text height + * @param {number} rotation - Text rotation + * @param {string} value - the string itself + * @param {string} [horizontalAlignment="left"] left | center | right + * @param {string} [verticalAlignment="baseline"] baseline | bottom | middle | top + */ + drawText( + x1, + y1, + height, + rotation, + value, + horizontalAlignment = "left", + verticalAlignment = "baseline" + ) { + this.activeLayer.addShape( + new Text( + x1, + y1, + height, + rotation, + value, + horizontalAlignment, + verticalAlignment + ) + ); + return this; + } + + /** + * @param {[number, number][]} points - Array of points like [ [x1, y1], [x2, y2]... ] + * @param {boolean} closed - Closed polyline flag + * @param {number} startWidth - Default start width + * @param {number} endWidth - Default end width + */ + drawPolyline(points, closed = false, startWidth = 0, endWidth = 0) { + this.activeLayer.addShape( + new Polyline(points, closed, startWidth, endWidth) + ); + return this; + } + + /** + * @param {[number, number, number][]} points - Array of points like [ [x1, y1, z1], [x2, y2, z1]... ] + */ + drawPolyline3d(points) { + points.forEach((point) => { + if (point.length !== 3) { + throw "Require 3D coordinates"; + } + }); + this.activeLayer.addShape(new Polyline3d(points)); + return this; + } + + /** + * + * @param {number} trueColor - Integer representing the true color, can be passed as an hexadecimal value of the form 0xRRGGBB + */ + setTrueColor(trueColor) { + this.activeLayer.setTrueColor(trueColor); + return this; + } + + /** + * Draw a spline. + * @param {[Array]} controlPoints - Array of control points like [ [x1, y1], [x2, y2]... ] + * @param {number} degree - Degree of spline: 2 for quadratic, 3 for cubic. Default is 3 + * @param {[number]} knots - Knot vector array. If null, will use a uniform knot vector. Default is null + * @param {[number]} weights - Control point weights. If provided, must be one weight for each control point. Default is null + * @param {[Array]} fitPoints - Array of fit points like [ [x1, y1], [x2, y2]... ] + */ + drawSpline( + controlPoints, + degree = 3, + knots = null, + weights = null, + fitPoints = [] + ) { + this.activeLayer.addShape( + new Spline(controlPoints, degree, knots, weights, fitPoints) + ); + return this; + } + + /** + * Draw an ellipse. + * @param {number} x1 - Center x + * @param {number} y1 - Center y + * @param {number} majorAxisX - Endpoint x of major axis, relative to center + * @param {number} majorAxisY - Endpoint y of major axis, relative to center + * @param {number} axisRatio - Ratio of minor axis to major axis + * @param {number} startAngle - Start angle + * @param {number} endAngle - End angle + */ + drawEllipse( + x1, + y1, + majorAxisX, + majorAxisY, + axisRatio, + startAngle = 0, + endAngle = 2 * Math.PI + ) { + this.activeLayer.addShape( + new Ellipse( + x1, + y1, + majorAxisX, + majorAxisY, + axisRatio, + startAngle, + endAngle + ) + ); + return this; + } + + /** + * @param {number} x1 - x + * @param {number} y1 - y + * @param {number} z1 - z + * @param {number} x2 - x + * @param {number} y2 - y + * @param {number} z2 - z + * @param {number} x3 - x + * @param {number} y3 - y + * @param {number} z3 - z + * @param {number} x4 - x + * @param {number} y4 - y + * @param {number} z4 - z + */ + drawFace(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4) { + this.activeLayer.addShape( + new Face(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4) + ); + return this; + } + + _ltypeTable() { + const t = new Table("LTYPE"); + const ltypes = Object.values(this.lineTypes); + for (const lt of ltypes) t.add(lt); + return t; + } + + _layerTable(manager) { + const t = new Table("LAYER"); + const layers = Object.values(this.layers); + for (const l of layers) t.add(l); + return t; + } + + /** + * @see https://www.autodesk.com/techpubs/autocad/acadr14/dxf/header_section_al_u05_c.htm + * @see https://www.autodesk.com/techpubs/autocad/acad2000/dxf/header_section_group_codes_dxf_02.htm + * + * @param {string} variable + * @param {array} values Array of "two elements arrays". [ [value1_GroupCode, value1_value], [value2_GroupCode, value2_value] ] + */ + header(variable, values) { + this.headers[variable] = values; + return this; + } + + /** + * + * @param {string} unit see Drawing.UNITS + */ + setUnits(unit) { + typeof Drawing.UNITS[unit] != "undefined" + ? Drawing.UNITS[unit] + : Drawing.UNITS["Unitless"]; + this.header("INSUNITS", [[70, Drawing.UNITS[unit]]]); + return this; + } + + /** Generate additional DXF metadata which are required to successfully open resulted document + * in AutoDesk products. Call this method before serializing the drawing to get the most + * compatible result. + */ + generateAutocadExtras() { + if (!this.headers["ACADVER"]) { + /* AutoCAD 2007 version. */ + this.header("ACADVER", [[1, "AC1021"]]); + } + + if (!this.lineTypes["ByBlock"]) { + this.addLineType("ByBlock", "", []); + } + if (!this.lineTypes["ByLayer"]) { + this.addLineType("ByLayer", "", []); + } + + let vpTable = this.tables["VPORT"]; + if (!vpTable) { + vpTable = this.addTable("VPORT"); + } + let styleTable = this.tables["STYLE"]; + if (!styleTable) { + styleTable = this.addTable("STYLE"); + } + if (!this.tables["VIEW"]) { + this.addTable("VIEW"); + } + if (!this.tables["UCS"]) { + this.addTable("UCS"); + } + let appIdTable = this.tables["APPID"]; + if (!appIdTable) { + appIdTable = this.addTable("APPID"); + } + if (!this.tables["DIMSTYLE"]) { + const t = new DimStyleTable("DIMSTYLE"); + this.tables["DIMSTYLE"] = t; + } + + vpTable.add(new Viewport("*ACTIVE", 1000)); + + /* Non-default text alignment is not applied without this entry. */ + styleTable.add(new TextStyle("standard")); + + appIdTable.add(new AppId("ACAD")); + + this.modelSpace = this.addBlock("*Model_Space"); + this.addBlock("*Paper_Space"); + + const d = new Dictionary(); + this.dictionary.addChildDictionary("ACAD_GROUP", d); + } + + _tagsManager() { + const manager = new TagsManager(); + + // Setup + const blockRecordTable = new Table("BLOCK_RECORD"); + const blocks = Object.values(this.blocks); + for (const b of blocks) { + const r = new BlockRecord(b.name); + blockRecordTable.add(r); + } + const ltypeTable = this._ltypeTable(); + const layerTable = this._layerTable(); + + // Header section start. + manager.start("HEADER"); + manager.addHeaderVariable("HANDSEED", [[5, Handle$1.peek()]]); + const variables = Object.entries(this.headers); + for (const v of variables) { + const [name, values] = v; + manager.addHeaderVariable(name, values); + } + manager.end(); + // Header section end. + + // Classes section start. + manager.start("CLASSES"); + // Empty CLASSES section for compatibility + manager.end(); + // Classes section end. + + // Tables section start. + manager.start("TABLES"); + ltypeTable.tags(manager); + layerTable.tags(manager); + const tables = Object.values(this.tables); + for (const t of tables) { + t.tags(manager); + } + blockRecordTable.tags(manager); + manager.end(); + // Tables section end. + + // Blocks section start. + manager.start("BLOCKS"); + for (const b of blocks) { + b.tags(manager); + } + manager.end(); + // Blocks section end. + + // Entities section start. + manager.start("ENTITIES"); + const layers = Object.values(this.layers); + for (const l of layers) { + l.shapesTags(this.modelSpace, manager); + } + manager.end(); + // Entities section end. + + // Objects section start. + manager.start("OBJECTS"); + this.dictionary.tags(manager); + manager.end(); + // Objects section end. + + manager.push(0, "EOF"); + + return manager; + } + + toDxfString() { + return this._tagsManager().toDxfString(); + } +}; + +//AutoCAD Color Index (ACI) +//http://sub-atomic.com/~moses/acadcolors.html +Drawing$1.ACI = { + LAYER: 0, + RED: 1, + YELLOW: 2, + GREEN: 3, + CYAN: 4, + BLUE: 5, + MAGENTA: 6, + WHITE: 7, +}; + +Drawing$1.LINE_TYPES = [ + { name: "CONTINUOUS", description: "______", elements: [] }, + { name: "DASHED", description: "_ _ _ ", elements: [5.0, -5.0] }, + { name: "DOTTED", description: ". . . ", elements: [0.0, -5.0] }, +]; + +Drawing$1.LAYERS = [ + { name: "0", colorNumber: Drawing$1.ACI.WHITE, lineTypeName: "CONTINUOUS" }, +]; + +//https://www.autodesk.com/techpubs/autocad/acad2000/dxf/header_section_group_codes_dxf_02.htm +Drawing$1.UNITS = { + Unitless: 0, + Inches: 1, + Feet: 2, + Miles: 3, + Millimeters: 4, + Centimeters: 5, + Meters: 6, + Kilometers: 7, + Microinches: 8, + Mils: 9, + Yards: 10, + Angstroms: 11, + Nanometers: 12, + Microns: 13, + Decimeters: 14, + Decameters: 15, + Hectometers: 16, + Gigameters: 17, + "Astronomical units": 18, + "Light years": 19, + Parsecs: 20, +}; + +var Drawing_1 = Drawing$1; + +var dxfWriter = Drawing_1; + +var Drawing = /*@__PURE__*/getDefaultExportFromCjs(dxfWriter); + +/* eslint-disable */ +const _upVector$1 = new Vector3$1(0, 1, 0); +const EPSILON$1 = 1e-16; +// Modified version of js EdgesGeometry logic to handle silhouette edges +const generateEdges = (function () { + const _v0 = new Vector3$1(); + const _v1 = new Vector3$1(); + const _normal = new Vector3$1(); + const _triangle = new Triangle(); + return function generateEdges(geometry, projectionDir, thresholdAngle = 1) { + const edges = []; + const precisionPoints = 4; + const precision = Math.pow(10, precisionPoints); + const thresholdDot = Math.cos(MathUtils.DEG2RAD * thresholdAngle); + const indexAttr = geometry.getIndex(); + const positionAttr = geometry.getAttribute('position'); + const indexCount = indexAttr ? indexAttr.count : positionAttr.count; + const indexArr = [0, 0, 0]; + const vertKeys = ['a', 'b', 'c']; + const hashes = new Array(3); + const edgeData = {}; + for (let i = 0; i < indexCount; i += 3) { + if (indexAttr) { + indexArr[0] = indexAttr.getX(i); + indexArr[1] = indexAttr.getX(i + 1); + indexArr[2] = indexAttr.getX(i + 2); + } + else { + indexArr[0] = i; + indexArr[1] = i + 1; + indexArr[2] = i + 2; + } + const { a, b, c } = _triangle; + a.fromBufferAttribute(positionAttr, indexArr[0]); + b.fromBufferAttribute(positionAttr, indexArr[1]); + c.fromBufferAttribute(positionAttr, indexArr[2]); + _triangle.getNormal(_normal); + // create hashes for the edge from the vertices + hashes[0] = `${Math.round(a.x * precision)},${Math.round(a.y * precision)},${Math.round(a.z * precision)}`; + hashes[1] = `${Math.round(b.x * precision)},${Math.round(b.y * precision)},${Math.round(b.z * precision)}`; + hashes[2] = `${Math.round(c.x * precision)},${Math.round(c.y * precision)},${Math.round(c.z * precision)}`; + // skip degenerate triangles + if (hashes[0] === hashes[1] || hashes[1] === hashes[2] || hashes[2] === hashes[0]) { + continue; + } + // iterate over every edge + for (let j = 0; j < 3; j++) { + // get the first and next vertex making up the edge + const jNext = (j + 1) % 3; + const vecHash0 = hashes[j]; + const vecHash1 = hashes[jNext]; + const v0 = _triangle[vertKeys[j]]; + const v1 = _triangle[vertKeys[jNext]]; + const hash = `${vecHash0}_${vecHash1}`; + const reverseHash = `${vecHash1}_${vecHash0}`; + if (reverseHash in edgeData && edgeData[reverseHash]) { + // if we found a sibling edge add it into the vertex array if + // it meets the angle threshold and delete the edge from the map. + const otherNormal = edgeData[reverseHash].normal; + const meetsThreshold = _normal.dot(otherNormal) <= thresholdDot; + const projectionThreshold = Math.sign(projectionDir.dot(_normal)) !== Math.sign(projectionDir.dot(otherNormal)); + if (meetsThreshold || projectionThreshold) { + const line = new Line3(); + line.start.copy(v0); + line.end.copy(v1); + edges.push(line); + } + edgeData[reverseHash] = null; + } + else if (!(hash in edgeData)) { + // if we've already got an edge here then skip adding a new one + edgeData[hash] = { + index0: indexArr[j], + index1: indexArr[jNext], + normal: _normal.clone() + }; + } + } + } + // iterate over all remaining, unmatched edges and add them to the vertex array + for (const key in edgeData) { + if (edgeData[key]) { + const { index0, index1 } = edgeData[key]; + _v0.fromBufferAttribute(positionAttr, index0); + _v1.fromBufferAttribute(positionAttr, index1); + const line = new Line3(); + line.start.copy(_v0); + line.end.copy(_v1); + edges.push(line); + } + } + return edges; + }; +})(); +// outputs the overlapping segment of a coplanar line and triangle +const getOverlappingLine$1 = (function () { + const _dir0 = new Vector3$1(); + const _dir1 = new Vector3$1(); + const _tempDir = new Vector3$1(); + const _orthoPlane = new Plane(); + const _line0 = new Line3(); + const _line1 = new Line3(); + const _tempLine = new Line3(); + return function getOverlappingLine(line, triangle, lineTarget = new Line3()) { + if (triangle.needsUpdate) { + triangle.needsUpdate(); + } + // if the triangle is degenerate then return no overlap + if (triangle.getArea() <= EPSILON$1) { + return null; + } + const { points, plane } = triangle; + _line0.copy(line); + _line0.delta(_dir0); + // if the line and triangle are not coplanar then return no overlap + const areCoplanar = plane.normal.dot(_dir0) === 0.0; + if (!areCoplanar) { + return null; + } + // a plane that's orthogonal to the triangle that the line lies on + _dir0.cross(plane.normal).normalize(); + _orthoPlane.setFromNormalAndCoplanarPoint(_dir0, _line0.start); + // find the line of intersection of the triangle along the plane if it exists + let intersectCount = 0; + for (let i = 0; i < 3; i++) { + const p1 = points[i]; + const p2 = points[(i + 1) % 3]; + _tempLine.start.copy(p1); + _tempLine.end.copy(p2); + if (_orthoPlane.distanceToPoint(_tempLine.end) === 0 && + _orthoPlane.distanceToPoint(_tempLine.start) === 0) { + // if the edge lies on the plane then take the line + _line1.copy(_tempLine); + intersectCount = 2; + break; + } + else if (_orthoPlane.intersectLine(_tempLine, intersectCount === 0 ? _line1.start : _line1.end)) { + let p; + if (intersectCount === 0) { + p = _line1.start; + } + else { + p = _line1.end; + } + if (p.distanceTo(p2) === 0.0) { + continue; + } + intersectCount++; + if (intersectCount === 2) { + break; + } + } + } + if (intersectCount === 2) { + // find the intersect line if any + _line0.delta(_dir0).normalize(); + _line1.delta(_dir1).normalize(); + // swap edges so they're facing in the same direction + if (_dir0.dot(_dir1) < 0) { + const tmp = _line1.start; + _line1.start = _line1.end; + _line1.end = tmp; + } + // check if the edges are overlapping + const s1 = _line0.start.dot(_dir0); + const e1 = _line0.end.dot(_dir0); + const s2 = _line1.start.dot(_dir0); + const e2 = _line1.end.dot(_dir0); + const separated1 = e1 < s2; + const separated2 = s1 < e2; + if (s1 !== e2 && s2 !== e1 && separated1 === separated2) { + return null; + } + // assign the target output + _tempDir.subVectors(_line0.start, _line1.start); + if (_tempDir.dot(_dir0) > 0) { + lineTarget.start.copy(_line0.start); + } + else { + lineTarget.start.copy(_line1.start); + } + _tempDir.subVectors(_line0.end, _line1.end); + if (_tempDir.dot(_dir0) < 0) { + lineTarget.end.copy(_line0.end); + } + else { + lineTarget.end.copy(_line1.end); + } + return lineTarget; + } + return null; + }; +})(); +// returns the the y value on the plane at the given point x, z +const getPlaneYAtPoint$1 = (function () { + const testLine = new Line3(); + return function getPlaneYAtPoint(plane, point, target = null) { + testLine.start.copy(point); + testLine.end.copy(point); + testLine.start.y += 1e5; + testLine.end.y -= 1e5; + plane.intersectLine(testLine, target); + }; +})(); +// returns whether the given line is above the given triangle plane +const isLineAbovePlane = (function () { + const _v0 = new Vector3$1(); + const _v1 = new Vector3$1(); + return function isLineAbovePlane(plane, line) { + _v0.lerpVectors(line.start, line.end, 0.5); + getPlaneYAtPoint$1(plane, _v0, _v1); + return _v1.y < _v0.y; + }; +})(); +const isYProjectedLineDegenerate = (function () { + const _tempDir = new Vector3$1(); + const _upVector = new Vector3$1(0, 1, 0); + return function isYProjectedLineDegenerate(line) { + line.delta(_tempDir).normalize(); + return Math.abs(_tempDir.dot(_upVector)) >= 1.0 - EPSILON$1; + }; +})(); +// checks whether the y-projected triangle will be degerate +function isYProjectedTriangleDegenerate$1(tri) { + if (tri.needsUpdate) { + tri.update(); + } + return Math.abs(tri.plane.normal.dot(_upVector$1)) <= EPSILON$1; +} +// Is the provided line exactly an edge on the triangle +function isLineTriangleEdge(tri, line) { + // if this is the same line as on the triangle + const triPoints = tri.points; + let matches = 0; + for (let i = 0; i < 3; i++) { + const { start, end } = line; + const tp = triPoints[i]; + if (start.distanceToSquared(tp) <= EPSILON$1) { + matches++; + } + if (end.distanceToSquared(tp) <= EPSILON$1) { + matches++; + } + } + return matches >= 2; +} +// Extracts the normalized [0, 1] distances along the given line that overlaps with the provided triangle when +// projected along the y axis +const getProjectedOverlaps = (function () { + const _target = new Line3(); + const _tempDir = new Vector3$1(); + const _tempVec0 = new Vector3$1(); + const _tempVec1 = new Vector3$1(); + const _line = new Line3(); + const _tri = new ExtendedTriangle(); + return function getProjectedOverlaps(tri, line, overlapsTarget) { + _line.copy(line); + _tri.copy(tri); + // flatten them to a common plane + _line.start.y = 0; + _line.end.y = 0; + _tri.a.y = 0; + _tri.b.y = 0; + _tri.c.y = 0; + _tri.needsUpdate = true; + _tri.update(); + // if the line is meaningfully long and the we have an overlapping line then extract the + // distances along the original line to return + if (getOverlappingLine$1(_line, _tri, _target)) { + _line.delta(_tempDir); + _tempVec0.subVectors(_target.start, _line.start); + _tempVec1.subVectors(_target.end, _line.start); + let d0 = _tempVec0.length() / _tempDir.length(); + let d1 = _tempVec1.length() / _tempDir.length(); + d0 = Math.min(Math.max(d0, 0), 1); + d1 = Math.min(Math.max(d1, 0), 1); + if (!(Math.abs(d0 - d1) <= EPSILON$1)) { + overlapsTarget.push(new Float32Array([d0, d1])); + } + return true; + } + return false; + }; +})(); +// Trim the provided line to just the section below the given triangle plane +const trimToBeneathTriPlane = (function () { + const _lineDirection = new Vector3$1(); + const _planeHit = new Vector3$1(); + const _centerPoint = new Vector3$1(); + const _planePoint = new Vector3$1(); + return function trimToBeneathTriPlane(tri, line, lineTarget) { + if (tri.needsUpdate) { + tri.update(); + } + lineTarget.copy(line); + // handle vertical triangles + const { plane } = tri; + if (isYProjectedTriangleDegenerate$1(tri)) { + return false; + } + // if the line and plane are coplanar then return that we can't trim + line.delta(_lineDirection); + const areCoplanar = plane.normal.dot(_lineDirection) === 0.0; + if (areCoplanar) { + return false; + } + // if the line does intersect the plane then trim + const doesLineIntersect = plane.intersectLine(line, _planeHit); + if (doesLineIntersect) { + const { start, end } = lineTarget; + // test the line side with the largest segment extending beyond the plane + let testPoint; + let flipped = false; + if (start.distanceTo(_planeHit) > end.distanceTo(_planeHit)) { + testPoint = start; + } + else { + testPoint = end; + flipped = true; + } + // get the center point of the line segment and the plane hit + _centerPoint.lerpVectors(testPoint, _planeHit, 0.5); + getPlaneYAtPoint$1(tri.plane, _centerPoint, _planePoint); + // adjust the appropriate line point align with the plane hit point + if (_planePoint.y < _centerPoint.y) { + if (flipped) + end.copy(_planeHit); + else + start.copy(_planeHit); + } + else if (flipped) + start.copy(_planeHit); + else + end.copy(_planeHit); + return true; + } + return false; + }; +})(); +// Converts the given array of overlaps into line segments +const overlapsToLines = (function () { + const newLine = new Line3(); + return function overlapsToLines(line, overlaps, target = []) { + compressEdgeOverlaps$1(overlaps); + const invOverlaps = [[0, 1]]; + for (let i = 0, l = overlaps.length; i < l; i++) { + const invOverlap = invOverlaps[i]; + const overlap = overlaps[i]; + invOverlap[1] = overlap[0]; + invOverlaps.push(new Float32Array([overlap[1], 1])); + } + for (let i = 0, l = invOverlaps.length; i < l; i++) { + const { start, end } = line; + newLine.start.lerpVectors(start, end, invOverlaps[i][0]); + newLine.end.lerpVectors(start, end, invOverlaps[i][1]); + target.push( + // @ts-ignore + new Float32Array([ + newLine.start.x, + newLine.start.y, + newLine.start.z, + newLine.end.x, + newLine.end.y, + newLine.end.z + ])); + } + return target; + }; +})(); +// converts the given list of edges to a line segments geometry +function edgesToGeometry(edges, y = null) { + const edgeArray = new Float32Array(edges.length * 6); + let c = 0; + for (let i = 0, l = edges.length; i < l; i++) { + const line = edges[i]; + edgeArray[c++] = line[0]; + edgeArray[c++] = y === null ? line[1] : y; + edgeArray[c++] = line[2]; + edgeArray[c++] = line[3]; + edgeArray[c++] = y === null ? line[4] : y; + edgeArray[c++] = line[5]; + } + const edgeGeom = new BufferGeometry(); + const edgeBuffer = new BufferAttribute$1(edgeArray, 3, true); + edgeGeom.setAttribute('position', edgeBuffer); + return edgeGeom; +} +// compresses the given edge overlaps into a minimal set of representative objects +function compressEdgeOverlaps$1(overlaps) { + overlaps.sort((a, b) => { + return a[0] - b[0]; + }); + for (let i = 1; i < overlaps.length; i++) { + const overlap = overlaps[i]; + const prevOverlap = overlaps[i - 1]; + if (overlap[0] <= prevOverlap[1]) { + prevOverlap[1] = Math.max(prevOverlap[1], overlap[1]); + overlaps.splice(i, 1); + i--; + } + } +} + +// Source: https://github.com/gkjohnson/three-mesh-bvh/blob/master/example/edgeProjection.js +class EdgeProjector { + constructor() { + this.params = { + displayModel: "color", + displayEdges: false, + displayProjection: true, + useBVH: true, + sortEdges: true, + amount: 50, + color: 0x666666, + }; + this._defaultMaterial = new THREE$1.LineBasicMaterial({ + color: this.params.color, + }); + this.projectedEdges = []; + } + dispose() { + this.disposeGeometry(); + this._defaultMaterial.dispose(); + } + disposeGeometry() { + this.projectedEdges.forEach((edge) => { + edge.geometry.dispose(); + if (Array.isArray(edge.material)) + edge.material.forEach((mat) => mat.dispose()); + else + edge.material.dispose(); + }); + this.projectedEdges = []; + } + async project(meshes, height) { + // create projection display mesh + const projection = new THREE$1.LineSegments(new THREE$1.BufferGeometry(), this._defaultMaterial); + const tempMatrix = new THREE$1.Matrix4(); + const v1 = new THREE$1.Vector3(); + const v2 = new THREE$1.Vector3(); + const v3 = new THREE$1.Vector3(); + const vertices = []; + const indices = []; + let nextIndex = 0; + for (const mesh of meshes) { + mesh.updateWorldMatrix(false, false); + const transform = mesh.matrixWorld.clone(); + const pos = mesh.geometry.attributes.position.array; + const index = mesh.geometry.index.array; + for (let i = 0; i < mesh.count; i++) { + const pastIndices = new Map(); + mesh.getMatrixAt(i, tempMatrix); + tempMatrix.multiply(transform); + for (let j = 0; j < index.length; j += 3) { + const index1 = index[j] * 3; + const index2 = index[j + 1] * 3; + const index3 = index[j + 2] * 3; + v1.set(pos[index1], pos[index1 + 1], pos[index1 + 2]); + v2.set(pos[index2], pos[index2 + 1], pos[index2 + 2]); + v3.set(pos[index3], pos[index3 + 1], pos[index3 + 2]); + v1.applyMatrix4(tempMatrix); + v2.applyMatrix4(tempMatrix); + v3.applyMatrix4(tempMatrix); + if (v1.y > height && v2.y > height && v3.y > height) { + continue; + } + if (!pastIndices.has(index1)) { + pastIndices.set(index1, nextIndex++); + vertices.push(v1.x, v1.y, v1.z); + } + if (!pastIndices.has(index2)) { + pastIndices.set(index2, nextIndex++); + vertices.push(v2.x, v2.y, v2.z); + } + if (!pastIndices.has(index3)) { + pastIndices.set(index3, nextIndex++); + vertices.push(v3.x, v3.y, v3.z); + } + const i1 = pastIndices.get(index1); + const i2 = pastIndices.get(index2); + const i3 = pastIndices.get(index3); + if (i1 !== undefined && i2 !== undefined && i3 !== undefined) { + indices.push(i1, i2, i3); + } + } + } + } + const buffer = new Float32Array(vertices); + const mergedGeometry = new THREE$1.BufferGeometry(); + mergedGeometry.setIndex(indices); + const attribute = new THREE$1.BufferAttribute(buffer, 3); + mergedGeometry.setAttribute("position", attribute); + let task = this.updateEdges(this.params, mergedGeometry, projection); + while (task) { + const res = task.next(); + if (res.done) { + task = null; + } + } + this.projectedEdges.push(projection); + mergedGeometry.dispose(); + return projection; + } + *updateEdges(params, mergedGeometry, projection) { + yield; + // generate the bvh for acceleration + const bvh = new MeshBVH(mergedGeometry); + yield; + // generate the candidate edges + const edges = generateEdges(mergedGeometry, new THREE$1.Vector3(0, 1, 0), 50); + if (params.sortEdges) { + edges.sort((a, b) => { + return Math.min(a.start.y, a.end.y) - Math.min(b.start.y, b.end.y); + }); + } + yield; + // trim the candidate edges + const finalEdges = []; + const tempLine = new THREE$1.Line3(); + const tempRay = new THREE$1.Ray(); + const tempVec = new THREE$1.Vector3(); + for (let i = 0, l = edges.length; i < l; i++) { + const line = edges[i]; + if (isYProjectedLineDegenerate(line)) { + continue; + } + const lowestLineY = Math.min(line.start.y, line.end.y); + const overlaps = []; + bvh.shapecast({ + intersectsBounds: (box) => { + if (!params.useBVH) { + return true; + } + // check if the box bounds are above the lowest line point + box.min.y = Math.min(lowestLineY, box.min.y); + tempRay.origin.copy(line.start); + line.delta(tempRay.direction).normalize(); + if (box.containsPoint(tempRay.origin)) { + return true; + } + if (tempRay.intersectBox(box, tempVec)) { + return (tempRay.origin.distanceToSquared(tempVec) < line.distanceSq()); + } + return false; + }, + intersectsTriangle: (tri) => { + // skip the triangle if it is completely below the line + const highestTriangleY = Math.max(tri.a.y, tri.b.y, tri.c.y); + if (highestTriangleY < lowestLineY) { + return false; + } + // if the projected triangle is just a line then don't check it + if (isYProjectedTriangleDegenerate$1(tri)) { + return false; + } + // if this line lies on a triangle edge then don't check it + if (isLineTriangleEdge(tri, line)) { + return false; + } + trimToBeneathTriPlane(tri, line, tempLine); + if (isLineAbovePlane(tri.plane, tempLine)) { + return false; + } + if (tempLine.distance() < 1e-10) { + return false; + } + // compress the edge overlaps so we can easily tell if the whole edge is hidden already + // and exit early + if (getProjectedOverlaps(tri, line, overlaps)) { + compressEdgeOverlaps$1(overlaps); + } + // if we're hiding the edge entirely now then skip further checks + if (overlaps.length !== 0) { + const [d0, d1] = overlaps[overlaps.length - 1]; + return d0 === 0.0 && d1 === 1.0; + } + return false; + }, + }); + overlapsToLines(line, overlaps, finalEdges); + } + projection.geometry.dispose(); + projection.geometry = edgesToGeometry(finalEdges, 0); + } +} + +class DXFExporter extends Component { + constructor(components) { + super(components); + this.enabled = true; + this.precission = 0.001; + this._projector = new EdgeProjector(); + this.components.tools.add(DXFExporter.uuid, this); + } + get() { + return this._projector; + } + dispose() { + this._projector.dispose(); + } + async export(name) { + const drawing = new Drawing(); + drawing.setUnits("Meters"); + // Draw projected lines + const fragPlans = await this.components.tools.get(FragmentPlans); + const fragments = await this.components.tools.get(FragmentManager); + const plans = fragPlans.get(); + const plan = plans.find((plan) => plan.name === name); + if (!plan || !plan.plane) { + throw new Error("Plan doesn't exist!"); + } + const meshes = Object.values(fragments.list).map((frag) => frag.mesh); + let height = plan.point.y; + if (plan.offset) { + height += plan.offset; + } + drawing.addLayer("projection", Drawing.ACI.BLUE, "CONTINUOUS"); + drawing.setActiveLayer("projection"); + const projectedLines = await this._projector.project(meshes, height); + this.drawGeometry(projectedLines.geometry, drawing); + projectedLines.geometry.dispose(); + projectedLines.material.dispose(); + // Draw section lines + const edges = plan.plane.edges.get(); + for (const layerName in edges) { + const mesh = edges[layerName].mesh; + const material = mesh.material; + const { r, g, b } = material.color; + let layerColor; + if (r > g && r > b) { + layerColor = Drawing.ACI.RED; + } + else if (g > r && g > b) { + layerColor = Drawing.ACI.GREEN; + } + else if (b > r && b > g) { + layerColor = Drawing.ACI.BLUE; + } + else { + layerColor = Drawing.ACI.WHITE; + } + drawing.addLayer(layerName, layerColor, "CONTINUOUS"); + drawing.setActiveLayer(layerName); + this.drawGeometry(mesh.geometry, drawing); + } + return drawing.toDxfString(); + } + drawGeometry(geometry, drawing) { + const pos = geometry.attributes.position.array; + const range = Math.min(geometry.drawRange.count * 3, pos.length); + for (let i = 0; i < range; i += 6) { + const x1 = pos[i]; + const y1 = pos[i + 2]; + const x2 = pos[i + 3]; + const y2 = pos[i + 5]; + const diffX = Math.abs(x2 - x1); + const diffY = Math.abs(y2 - y1); + const approxDistance = diffX + diffY; + if (approxDistance > this.precission) { + drawing.drawLine(x1, y1, x2, y2); + } + } + } +} +DXFExporter.uuid = "568f2167-24a3-4519-b552-3b04cc74a6a6"; +ToolComponent.libraryUUIDs.add(DXFExporter.uuid); + +class BufferManager { + /** The current size of the buffers. */ + get size() { + const firstAttribute = this.attributes[0]; + return firstAttribute.count * 3; + } + get attributes() { + return Object.values(this.geometry.attributes); + } + constructor(geometry) { + this.geometry = geometry; + /** Buffer increment when geometry size is exceeded, multiple of 3. */ + this.bufferIncrease = 300; + /** + * The maximum capacity of the buffers. If exceeded by the {@link size}, + * the buffers will be rescaled. + */ + this.capacity = 0; + } + addAttribute(attribute) { + this.geometry.setAttribute(attribute.name, attribute); + } + resetAttributes() { + for (const attribute of this.attributes) { + this.createAttribute(attribute.name); + } + this.capacity = 0; + } + createAttribute(name) { + if (this.geometry.hasAttribute(name)) { + this.geometry.deleteAttribute(name); + } + const attribute = new THREE$1.BufferAttribute(new Float32Array(0), 3); + attribute.name = name; + this.geometry.setAttribute(name, attribute); + } + updateCount(size) { + for (const attribute of this.attributes) { + attribute.count = size; + attribute.needsUpdate = true; + } + } + resizeIfNeeded(increase) { + const newSize = this.size + increase * 3; + const difference = newSize - this.capacity; + if (difference >= 0) { + const increase = Math.max(difference, this.bufferIncrease); + const oldCapacity = this.capacity; + this.capacity += increase; + for (const attribute of this.attributes) { + this.resizeBuffers(attribute, oldCapacity); + } + } + } + resizeBuffers(attribute, oldCapacity) { + this.geometry.deleteAttribute(attribute.name); + const array = new Float32Array(this.capacity); + const newAttribute = new THREE$1.BufferAttribute(array, 3); + newAttribute.name = attribute.name; + newAttribute.count = attribute.count; + this.geometry.setAttribute(attribute.name, newAttribute); + for (let i = 0; i < oldCapacity; i++) { + const x = attribute.getX(i); + const y = attribute.getY(i); + const z = attribute.getZ(i); + newAttribute.setXYZ(i, x, y, z); + } + } +} + +/** + * An object to keep track of entities and its position in a geometric buffer. + */ +class IdIndexMap { + constructor() { + this._idGenerator = 0; + this._ids = []; + this._indices = []; + } + /** + * The number of items stored in this map + */ + get size() { + return this._ids.length; + } + /** + * The list of IDs inside this map. IDs are generated as increasing natural + * numbers starting from zero. The position of the ID in the array is + * the index of that entity in the geometric buffer. + * For instance, the ids of a map with 5 items would look like this: + * + * - [0, 1, 2, 3, 4] + * + * If the item with ID = 1 is deleted, the last item will replace the deleted + * one to keep the continuity of the geometric buffer, resulting in this: + * + * - [0, 4, 2, 3] + */ + get ids() { + return this._ids; + } + /** + * The list of indices of the geometric buffer. The position of the index in + * the array is the ID of that entity. For instance, the ids of a map with 5 + * items would look like this: + * + * - [0, 1, 2, 3, 4] + * + * If the item with ID = 1 is deleted, the last item will replace the + * deleted one to keep the continuity of the geometric buffer. The deleted + * item will remain as null inside the array: + * + * - [0, null, 2, 3, 1] + */ + get indices() { + return this._indices; + } + /** + * Adds a new item to the map, creating and assigning a new ID and a new index + * to it. New items are assumed to be created at the end of the geometric + * buffer. + */ + add() { + this._ids.push(this._idGenerator++); + const index = this._ids.length - 1; + this._indices.push(index); + return index; + } + /** + * Removes the specified item from the map and rearrange the indices to + * keep the continuity of the geometric buffer. + */ + remove(id) { + const index = this.getIndex(id); + if (index === null || index === undefined) + return; + const lastID = this._ids.pop(); + if (lastID === undefined) { + throw new Error(`Error while removing item: ${id}`); + } + this._indices[id] = null; + if (id === lastID) + return; + this._ids[index] = lastID; + this._indices[lastID] = index; + } + /** + * Resets this instance to the initial state. + */ + reset() { + this._idGenerator = 0; + this._ids = []; + this._indices = []; + } + /** + * Gets the ID for the given index. + * @param index index of the entity whose ID to find out. + */ + getId(index) { + return this._ids[index]; + } + /** + * Gets the index for the given ID. + * @param id ID of the entity whose index to find out. + */ + getIndex(id) { + return this._indices[id]; + } + /** + * Gets the last index of the geometry buffer. + */ + getLastIndex() { + return this.size - 1; + } + /** + * Gets the last ID in the geometry buffer. + */ + getLastID() { + return this._ids[this._ids.length - 1]; + } +} + +class Selector { + constructor() { + this.data = new Set(); + } + /** + * Select or unselects the given faces. + * @param active Whether to select or unselect. + * @param ids List of faces IDs to select or unselect. If not + * defined, all faces will be selected or deselected. + * @param allItems all the existing items. + */ + select(active, ids, allItems) { + const all = new Set(allItems); + const idsToUpdate = []; + for (const id of ids) { + const exists = all.has(id); + if (!exists) + continue; + const isAlreadySelected = this.data.has(id); + if (active) { + if (isAlreadySelected) + continue; + this.data.add(id); + idsToUpdate.push(id); + } + else { + if (!isAlreadySelected) + continue; + this.data.delete(id); + idsToUpdate.push(id); + } + } + return idsToUpdate; + } + getUnselected(ids) { + const notSelectedIDs = []; + for (const id of ids) { + if (!this.data.has(id)) { + notSelectedIDs.push(id); + } + } + return notSelectedIDs; + } +} + +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; + +// dist/web-ifc-mt.js +var require_web_ifc_mt = __commonJS({ + "dist/web-ifc-mt.js"(exports, module) { + var WebIFCWasm2 = (() => { + var _scriptDir = typeof document !== "undefined" && document.currentScript ? document.currentScript.src : void 0; + return function(WebIFCWasm3 = {}) { + function GROWABLE_HEAP_I8() { + if (wasmMemory.buffer != HEAP8.buffer) { + updateMemoryViews(); + } + return HEAP8; + } + function GROWABLE_HEAP_U8() { + if (wasmMemory.buffer != HEAP8.buffer) { + updateMemoryViews(); + } + return HEAPU8; + } + function GROWABLE_HEAP_I16() { + if (wasmMemory.buffer != HEAP8.buffer) { + updateMemoryViews(); + } + return HEAP16; + } + function GROWABLE_HEAP_U16() { + if (wasmMemory.buffer != HEAP8.buffer) { + updateMemoryViews(); + } + return HEAPU16; + } + function GROWABLE_HEAP_I32() { + if (wasmMemory.buffer != HEAP8.buffer) { + updateMemoryViews(); + } + return HEAP32; + } + function GROWABLE_HEAP_U32() { + if (wasmMemory.buffer != HEAP8.buffer) { + updateMemoryViews(); + } + return HEAPU32; + } + function GROWABLE_HEAP_F32() { + if (wasmMemory.buffer != HEAP8.buffer) { + updateMemoryViews(); + } + return HEAPF32; + } + function GROWABLE_HEAP_F64() { + if (wasmMemory.buffer != HEAP8.buffer) { + updateMemoryViews(); + } + return HEAPF64; + } + var Module = typeof WebIFCWasm3 != "undefined" ? WebIFCWasm3 : {}; + var readyPromiseResolve, readyPromiseReject; + Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; + }); + var moduleOverrides = Object.assign({}, Module); + var thisProgram = "./this.program"; + var quit_ = (status, toThrow) => { + throw toThrow; + }; + var ENVIRONMENT_IS_WEB = typeof window == "object"; + var ENVIRONMENT_IS_WORKER = typeof importScripts == "function"; + var ENVIRONMENT_IS_NODE = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string"; + var ENVIRONMENT_IS_PTHREAD = Module["ENVIRONMENT_IS_PTHREAD"] || false; + var scriptDirectory = ""; + function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; + } + var read_, readAsync, readBinary; + if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href; + } else if (typeof document != "undefined" && document.currentScript) { + scriptDirectory = document.currentScript.src; + } + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1); + } else { + scriptDirectory = ""; + } + { + read_ = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText; + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response); + }; + } + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = () => { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; + } + } + var out = Module["print"] || console.log.bind(console); + var err = Module["printErr"] || console.warn.bind(console); + Object.assign(Module, moduleOverrides); + moduleOverrides = null; + if (Module["arguments"]) + Module["arguments"]; + if (Module["thisProgram"]) + thisProgram = Module["thisProgram"]; + if (Module["quit"]) + quit_ = Module["quit"]; + var wasmBinary; + if (Module["wasmBinary"]) + wasmBinary = Module["wasmBinary"]; + var noExitRuntime = Module["noExitRuntime"] || true; + if (typeof WebAssembly != "object") { + abort("no native wasm support detected"); + } + var wasmMemory; + var wasmModule; + var ABORT = false; + var EXITSTATUS; + function assert(condition, text) { + if (!condition) { + abort(text); + } + } + var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : void 0; + function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { + idx >>>= 0; + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) + ++endPtr; + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.buffer instanceof SharedArrayBuffer ? heapOrArray.slice(idx, endPtr) : heapOrArray.subarray(idx, endPtr)); + } + var str = ""; + while (idx < endPtr) { + var u0 = heapOrArray[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue; + } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2; + } else { + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63; + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } + } + return str; + } + function UTF8ToString(ptr, maxBytesToRead) { + ptr >>>= 0; + return ptr ? UTF8ArrayToString(GROWABLE_HEAP_U8(), ptr, maxBytesToRead) : ""; + } + function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + outIdx >>>= 0; + if (!(maxBytesToWrite > 0)) + return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) + break; + heap[outIdx++ >>> 0] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) + break; + heap[outIdx++ >>> 0] = 192 | u >> 6; + heap[outIdx++ >>> 0] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) + break; + heap[outIdx++ >>> 0] = 224 | u >> 12; + heap[outIdx++ >>> 0] = 128 | u >> 6 & 63; + heap[outIdx++ >>> 0] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) + break; + heap[outIdx++ >>> 0] = 240 | u >> 18; + heap[outIdx++ >>> 0] = 128 | u >> 12 & 63; + heap[outIdx++ >>> 0] = 128 | u >> 6 & 63; + heap[outIdx++ >>> 0] = 128 | u & 63; + } + } + heap[outIdx >>> 0] = 0; + return outIdx - startIdx; + } + function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, GROWABLE_HEAP_U8(), outPtr, maxBytesToWrite); + } + function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var c = str.charCodeAt(i); + if (c <= 127) { + len++; + } else if (c <= 2047) { + len += 2; + } else if (c >= 55296 && c <= 57343) { + len += 4; + ++i; + } else { + len += 3; + } + } + return len; + } + var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + function updateMemoryViews() { + var b = wasmMemory.buffer; + Module["HEAP8"] = HEAP8 = new Int8Array(b); + Module["HEAP16"] = HEAP16 = new Int16Array(b); + Module["HEAP32"] = HEAP32 = new Int32Array(b); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(b); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); + Module["HEAPF32"] = HEAPF32 = new Float32Array(b); + Module["HEAPF64"] = HEAPF64 = new Float64Array(b); + } + var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216; + assert(INITIAL_MEMORY >= 5242880, "INITIAL_MEMORY should be larger than STACK_SIZE, was " + INITIAL_MEMORY + "! (STACK_SIZE=" + 5242880 + ")"); + if (ENVIRONMENT_IS_PTHREAD) { + wasmMemory = Module["wasmMemory"]; + } else { + if (Module["wasmMemory"]) { + wasmMemory = Module["wasmMemory"]; + } else { + wasmMemory = new WebAssembly.Memory({ "initial": INITIAL_MEMORY / 65536, "maximum": 4294967296 / 65536, "shared": true }); + if (!(wasmMemory.buffer instanceof SharedArrayBuffer)) { + err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"); + if (ENVIRONMENT_IS_NODE) { + err("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"); + } + throw Error("bad memory"); + } + } + } + updateMemoryViews(); + INITIAL_MEMORY = wasmMemory.buffer.byteLength; + var wasmTable; + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATPOSTRUN__ = []; + function keepRuntimeAlive() { + return noExitRuntime; + } + function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") + Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); + } + function initRuntime() { + if (ENVIRONMENT_IS_PTHREAD) + return; + if (!Module["noFSInit"] && !FS.init.initialized) + FS.init(); + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATINIT__); + } + function postRun() { + if (ENVIRONMENT_IS_PTHREAD) + return; + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") + Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); + } + function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); + } + function addOnInit(cb) { + __ATINIT__.unshift(cb); + } + function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); + } + var runDependencies = 0; + var dependenciesFulfilled = null; + function getUniqueRunDependency(id) { + return id; + } + function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + } + function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + if (runDependencies == 0) { + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } + } + function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what = "Aborted(" + what + ")"; + err(what); + ABORT = true; + EXITSTATUS = 1; + what += ". Build with -sASSERTIONS for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; + } + var dataURIPrefix = "data:application/octet-stream;base64,"; + function isDataURI(filename) { + return filename.startsWith(dataURIPrefix); + } + var wasmBinaryFile; + wasmBinaryFile = "web-ifc-mt.wasm"; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } catch (err2) { + abort(err2); + } + } + function getBinaryPromise() { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == "function") { + return fetch(wasmBinaryFile, { credentials: "same-origin" }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'"; + } + return response["arrayBuffer"](); + }).catch(function() { + return getBinary(wasmBinaryFile); + }); + } + } + return Promise.resolve().then(function() { + return getBinary(wasmBinaryFile); + }); + } + function createWasm() { + var info = { "a": wasmImports }; + function receiveInstance(instance, module2) { + var exports3 = instance.exports; + Module["asm"] = exports3; + registerTLSInit(Module["asm"]["ka"]); + wasmTable = Module["asm"]["ia"]; + addOnInit(Module["asm"]["ha"]); + wasmModule = module2; + PThread.loadWasmModuleToAllWorkers(() => removeRunDependency()); + } + addRunDependency(); + function receiveInstantiationResult(result) { + receiveInstance(result["instance"], result["module"]); + } + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info); + }).then(function(instance) { + return instance; + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason); + }); + } + function instantiateAsync() { + if (!wasmBinary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(wasmBinaryFile) && typeof fetch == "function") { + return fetch(wasmBinaryFile, { credentials: "same-origin" }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, info); + return result.then(receiveInstantiationResult, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + return instantiateArrayBuffer(receiveInstantiationResult); + }); + }); + } else { + return instantiateArrayBuffer(receiveInstantiationResult); + } + } + if (Module["instantiateWasm"]) { + try { + var exports2 = Module["instantiateWasm"](info, receiveInstance); + return exports2; + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + readyPromiseReject(e); + } + } + instantiateAsync().catch(readyPromiseReject); + return {}; + } + var tempDouble; + var tempI64; + function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; + } + function killThread(pthread_ptr) { + var worker = PThread.pthreads[pthread_ptr]; + delete PThread.pthreads[pthread_ptr]; + worker.terminate(); + __emscripten_thread_free_data(pthread_ptr); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker), 1); + worker.pthread_ptr = 0; + } + function cancelThread(pthread_ptr) { + var worker = PThread.pthreads[pthread_ptr]; + worker.postMessage({ "cmd": "cancel" }); + } + function cleanupThread(pthread_ptr) { + var worker = PThread.pthreads[pthread_ptr]; + assert(worker); + PThread.returnWorkerToPool(worker); + } + function spawnThread(threadParams) { + var worker = PThread.getNewWorker(); + if (!worker) { + return 6; + } + PThread.runningWorkers.push(worker); + PThread.pthreads[threadParams.pthread_ptr] = worker; + worker.pthread_ptr = threadParams.pthread_ptr; + var msg = { "cmd": "run", "start_routine": threadParams.startRoutine, "arg": threadParams.arg, "pthread_ptr": threadParams.pthread_ptr }; + worker.postMessage(msg, threadParams.transferList); + return 0; + } + var PATH = { isAbs: (path) => path.charAt(0) === "/", splitPath: (filename) => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, normalizeArray: (parts, allowAboveRoot) => { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1); + } else if (last === "..") { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift(".."); + } + } + return parts; + }, normalize: (path) => { + var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter((p) => !!p), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, dirname: (path) => { + var result = PATH.splitPath(path), root = result[0], dir = result[1]; + if (!root && !dir) { + return "."; + } + if (dir) { + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + }, basename: (path) => { + if (path === "/") + return "/"; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) + return path; + return path.substr(lastSlash + 1); + }, join: function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join("/")); + }, join2: (l, r) => { + return PATH.normalize(l + "/" + r); + } }; + function getRandomDevice() { + if (typeof crypto == "object" && typeof crypto["getRandomValues"] == "function") { + var randomBuffer = new Uint8Array(1); + return () => { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0]; + }; + } else + return () => abort("randomDevice"); + } + var PATH_FS = { resolve: function() { + var resolvedPath = "", resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path != "string") { + throw new TypeError("Arguments to path.resolve must be strings"); + } else if (!path) { + return ""; + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = PATH.isAbs(path); + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter((p) => !!p), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, relative: (from, to) => { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") + break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") + break; + } + if (start > end) + return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push(".."); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/"); + } }; + function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) + u8array.length = numBytesWritten; + return u8array; + } + var TTY = { ttys: [], init: function() { + }, shutdown: function() { + }, register: function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops }; + FS.registerDevice(dev, TTY.stream_ops); + }, stream_ops: { open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + }, close: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, fsync: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === void 0 && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === void 0) + break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } }, default_tty_ops: { get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n"; + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n"; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + }, put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) + tty.output.push(val); + } + }, fsync: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } }, default_tty1_ops: { put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) + tty.output.push(val); + } + }, fsync: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } } }; + function mmapAlloc(size) { + abort(); + } + var MEMFS = { ops_table: null, mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0); + }, createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { dir: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, lookup: MEMFS.node_ops.lookup, mknod: MEMFS.node_ops.mknod, rename: MEMFS.node_ops.rename, unlink: MEMFS.node_ops.unlink, rmdir: MEMFS.node_ops.rmdir, readdir: MEMFS.node_ops.readdir, symlink: MEMFS.node_ops.symlink }, stream: { llseek: MEMFS.stream_ops.llseek } }, file: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: { llseek: MEMFS.stream_ops.llseek, read: MEMFS.stream_ops.read, write: MEMFS.stream_ops.write, allocate: MEMFS.stream_ops.allocate, mmap: MEMFS.stream_ops.mmap, msync: MEMFS.stream_ops.msync } }, link: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, readlink: MEMFS.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: FS.chrdev_stream_ops } }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node; + parent.timestamp = node.timestamp; + } + return node; + }, getFileDataAsTypedArray: function(node) { + if (!node.contents) + return new Uint8Array(0); + if (node.contents.subarray) + return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents); + }, expandFileStorage: function(node, newCapacity) { + newCapacity >>>= 0; + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) + return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0); + if (prevCapacity != 0) + newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) + node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + }, resizeFileStorage: function(node, newSize) { + newSize >>>= 0; + if (node.usedBytes == newSize) + return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); + } + node.usedBytes = newSize; + } + }, node_ops: { getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + }, setattr: function(node, attr) { + if (attr.mode !== void 0) { + node.mode = attr.mode; + } + if (attr.timestamp !== void 0) { + node.timestamp = attr.timestamp; + } + if (attr.size !== void 0) { + MEMFS.resizeFileStorage(node, attr.size); + } + }, lookup: function(parent, name) { + throw FS.genericErrors[44]; + }, mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + }, rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now(); + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + }, unlink: function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + }, symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node; + }, readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; + } }, stream_ops: { read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) + return 0; + var size = Math.min(stream.node.usedBytes - position, length); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) + buffer[offset + i] = contents[position + i]; + } + return size; + }, write: function(stream, buffer, offset, length, position, canOwn) { + if (buffer.buffer === GROWABLE_HEAP_I8().buffer) { + canOwn = false; + } + if (!length) + return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) { + node.contents.set(buffer.subarray(offset, offset + length), position); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + }, llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + }, mmap: function(stream, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === GROWABLE_HEAP_I8().buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(); + if (!ptr) { + throw new FS.ErrnoError(48); + } + ptr >>>= 0; + GROWABLE_HEAP_I8().set(contents, ptr >>> 0); + } + return { ptr, allocated }; + }, msync: function(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0; + } } }; + function asyncLoad(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency("al " + url) : ""; + readAsync(url, (arrayBuffer) => { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) + removeRunDependency(); + }, (event) => { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) + addRunDependency(); + } + var FS = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: false, ignorePermissions: true, ErrnoError: null, genericErrors: {}, filesystems: null, syncFSRequests: 0, lookupPath: (path, opts = {}) => { + path = PATH_FS.resolve(path); + if (!path) + return { path: "", node: null }; + var defaults = { follow_mount: true, recurse_count: 0 }; + opts = Object.assign(defaults, opts); + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32); + } + var parts = path.split("/").filter((p) => !!p); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break; + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root; + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count + 1 }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } + } + } + } + return { path: current_path, node: current }; + }, getPath: (node) => { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) + return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path; + } + path = path ? node.name + "/" + path : node.name; + node = node.parent; + } + }, hashName: (parentid, name) => { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0; + } + return (parentid + hash >>> 0) % FS.nameTable.length; + }, hashAddNode: (node) => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, hashRemoveNode: (node) => { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + }, lookupNode: (parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + return FS.lookup(parent, name); + }, createNode: (parent, name, mode, rdev) => { + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, destroyNode: (node) => { + FS.hashRemoveNode(node); + }, isRoot: (node) => { + return node === node.parent; + }, isMountpoint: (node) => { + return !!node.mounted; + }, isFile: (mode) => { + return (mode & 61440) === 32768; + }, isDir: (mode) => { + return (mode & 61440) === 16384; + }, isLink: (mode) => { + return (mode & 61440) === 40960; + }, isChrdev: (mode) => { + return (mode & 61440) === 8192; + }, isBlkdev: (mode) => { + return (mode & 61440) === 24576; + }, isFIFO: (mode) => { + return (mode & 61440) === 4096; + }, isSocket: (mode) => { + return (mode & 49152) === 49152; + }, flagModes: { "r": 0, "r+": 2, "w": 577, "w+": 578, "a": 1089, "a+": 1090 }, modeStringToFlags: (str) => { + var flags = FS.flagModes[str]; + if (typeof flags == "undefined") { + throw new Error("Unknown file open mode: " + str); + } + return flags; + }, flagsToPermissionString: (flag) => { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; + }, nodePermissions: (node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + if (perms.includes("r") && !(node.mode & 292)) { + return 2; + } else if (perms.includes("w") && !(node.mode & 146)) { + return 2; + } else if (perms.includes("x") && !(node.mode & 73)) { + return 2; + } + return 0; + }, mayLookup: (dir) => { + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) + return errCode; + if (!dir.node_ops.lookup) + return 2; + return 0; + }, mayCreate: (dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, "wx"); + }, mayDelete: (dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + }, mayOpen: (node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, MAX_OPEN_FDS: 4096, nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => { + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + }, getStream: (fd) => FS.streams[fd], createStream: (stream, fd_start, fd_end) => { + if (!FS.FSStream) { + FS.FSStream = function() { + this.shared = {}; + }; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { object: { get: function() { + return this.node; + }, set: function(val) { + this.node = val; + } }, isRead: { get: function() { + return (this.flags & 2097155) !== 1; + } }, isWrite: { get: function() { + return (this.flags & 2097155) !== 0; + } }, isAppend: { get: function() { + return this.flags & 1024; + } }, flags: { get: function() { + return this.shared.flags; + }, set: function(val) { + this.shared.flags = val; + } }, position: { get: function() { + return this.shared.position; + }, set: function(val) { + this.shared.position = val; + } } }); + } + stream = Object.assign(new FS.FSStream(), stream); + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, closeStream: (fd) => { + FS.streams[fd] = null; + }, chrdev_stream_ops: { open: (stream) => { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + }, llseek: () => { + throw new FS.ErrnoError(70); + } }, major: (dev) => dev >> 8, minor: (dev) => dev & 255, makedev: (ma, mi) => ma << 8 | mi, registerDevice: (dev, ops) => { + FS.devices[dev] = { stream_ops: ops }; + }, getDevice: (dev) => FS.devices[dev], getMounts: (mount) => { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts); + } + return mounts; + }, syncfs: (populate, callback) => { + if (typeof populate == "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work"); + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + function doCallback(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + mounts.forEach((mount) => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, mount: (type, opts, mountpoint) => { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + var mount = { type, opts, mountpoint, mounts: [] }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot; + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount); + } + } + return mountRoot; + }, unmount: (mountpoint) => { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach((hash) => { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, lookup: (parent, name) => { + return parent.node_ops.lookup(parent, name); + }, mknod: (path, mode, dev) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, create: (path, mode) => { + mode = mode !== void 0 ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, mkdir: (path, mode) => { + mode = mode !== void 0 ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, mkdirTree: (path, mode) => { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) + continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode); + } catch (e) { + if (e.errno != 20) + throw e; + } + } + }, mkdev: (path, mode, dev) => { + if (typeof dev == "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, symlink: (oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, rename: (old_path, new_path) => { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + if (!old_dir || !new_dir) + throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (old_node === new_node) { + return; + } + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + FS.hashAddNode(old_node); + } + }, rmdir: (path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + }, readdir: (path) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, unlink: (path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + }, readlink: (path) => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + }, stat: (path, dontFollow) => { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, lstat: (path) => { + return FS.stat(path, true); + }, chmod: (path, mode, dontFollow) => { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { mode: mode & 4095 | node.mode & ~4095, timestamp: Date.now() }); + }, lchmod: (path, mode) => { + FS.chmod(path, mode, true); + }, fchmod: (fd, mode) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + }, chown: (path, uid, gid, dontFollow) => { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { timestamp: Date.now() }); + }, lchown: (path, uid, gid) => { + FS.chown(path, uid, gid, true); + }, fchown: (fd, uid, gid) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + }, truncate: (path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); + }, ftruncate: (fd, len) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, utime: (path, atime, mtime) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); + }, open: (path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags == "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode == "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768; + } else { + mode = 0; + } + var node; + if (typeof path == "object") { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); + node = lookup.node; + } catch (e) { + } + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512 && !created) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream({ node, path: FS.getPath(node), flags, seekable: true, position: 0, stream_ops: node.stream_ops, ungotten: [], error: false }); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) + FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + } + } + return stream; + }, close: (stream) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) + stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + }, isClosed: (stream) => { + return stream.fd === null; + }, llseek: (stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, read: (stream, buffer, offset, length, position) => { + offset >>>= 0; + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) + stream.position += bytesRead; + return bytesRead; + }, write: (stream, buffer, offset, length, position, canOwn) => { + offset >>>= 0; + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + FS.llseek(stream, 0, 2); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) + stream.position += bytesWritten; + return bytesWritten; + }, allocate: (stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, mmap: (stream, length, position, prot, flags) => { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + }, msync: (stream, buffer, offset, length, mmapFlags) => { + offset >>>= 0; + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + }, munmap: (stream) => 0, ioctl: (stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, readFile: (path, opts = {}) => { + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === "binary") { + ret = buf; + } + FS.close(stream); + return ret; + }, writeFile: (path, data, opts = {}) => { + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data == "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, void 0, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, void 0, opts.canOwn); + } else { + throw new Error("Unsupported data type"); + } + FS.close(stream); + }, cwd: () => FS.currentPath, chdir: (path) => { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, createDefaultDirectories: () => { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, createDefaultDevices: () => { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { read: () => 0, write: (stream, buffer, offset, length, pos) => length }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device = getRandomDevice(); + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, createSpecialDirectories: () => { + FS.mkdir("/proc"); + var proc_self = FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ mount: () => { + var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); + node.node_ops = { lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) + throw new FS.ErrnoError(8); + var ret = { parent: null, mount: { mountpoint: "fake" }, node_ops: { readlink: () => stream.path } }; + ret.parent = ret; + return ret; + } }; + return node; + } }, {}, "/proc/self/fd"); + }, createStandardStreams: () => { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]); + } else { + FS.symlink("/dev/tty", "/dev/stdin"); + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]); + } else { + FS.symlink("/dev/tty", "/dev/stdout"); + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]); + } else { + FS.symlink("/dev/tty1", "/dev/stderr"); + } + FS.open("/dev/stdin", 0); + FS.open("/dev/stdout", 1); + FS.open("/dev/stderr", 1); + }, ensureErrnoError: () => { + if (FS.ErrnoError) + return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno2) { + this.errno = errno2; + }; + this.setErrno(errno); + this.message = "FS error"; + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach((code) => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); + }, staticInit: () => { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { "MEMFS": MEMFS }; + }, init: (input, output, error) => { + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams(); + }, quit: () => { + FS.init.initialized = false; + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, getMode: (canRead, canWrite) => { + var mode = 0; + if (canRead) + mode |= 292 | 73; + if (canWrite) + mode |= 146; + return mode; + }, findObject: (path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + }, analyzePath: (path, dontResolveLastLink) => { + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { isRoot: false, exists: false, error: 0, name: null, path: null, object: null, parentExists: false, parentPath: null, parentObject: null }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/"; + } catch (e) { + ret.error = e.errno; + } + return ret; + }, createPath: (parent, path, canRead, canWrite) => { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) + continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + } + parent = current; + } + return current; + }, createFile: (parent, name, properties, canRead, canWrite) => { + var path = PATH.join2(typeof parent == "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + }, createDataFile: (parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + path = name ? PATH.join2(parent, name) : parent; + } + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data == "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) + arr[i] = data.charCodeAt(i); + data = arr; + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + }, createDevice: (parent, name, input, output) => { + var path = PATH.join2(typeof parent == "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) + FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { open: (stream) => { + stream.seekable = false; + }, close: (stream) => { + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, read: (stream, buffer, offset, length, pos) => { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === void 0 && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === void 0) + break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } }); + return FS.mkdev(path, mode, dev); + }, forceLoadFile: (obj) => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) + return true; + if (typeof XMLHttpRequest != "undefined") { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, createLazyFile: (parent, name, url, canRead, canWrite) => { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return void 0; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest(); + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) + throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) + chunkSize = datalength; + var doXHR = (from, to) => { + if (from > to) + throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) + throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr2 = new XMLHttpRequest(); + xhr2.open("GET", url, false); + if (datalength !== chunkSize) + xhr2.setRequestHeader("Range", "bytes=" + from + "-" + to); + xhr2.responseType = "arraybuffer"; + if (xhr2.overrideMimeType) { + xhr2.overrideMimeType("text/plain; charset=x-user-defined"); + } + xhr2.send(null); + if (!(xhr2.status >= 200 && xhr2.status < 300 || xhr2.status === 304)) + throw new Error("Couldn't load " + url + ". Status: " + xhr2.status); + if (xhr2.response !== void 0) { + return new Uint8Array(xhr2.response || []); + } + return intArrayFromString(xhr2.responseText || "", true); + }; + var lazyArray2 = this; + lazyArray2.setDataGetter((chunkNum) => { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray2.chunks[chunkNum] == "undefined") { + lazyArray2.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray2.chunks[chunkNum] == "undefined") + throw new Error("doXHR failed!"); + return lazyArray2.chunks[chunkNum]; + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + out("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest != "undefined") { + if (!ENVIRONMENT_IS_WORKER) + throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { length: { get: function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } }, chunkSize: { get: function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } } }); + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url }; + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + Object.defineProperties(node, { usedBytes: { get: function() { + return this.contents.length; + } } }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach((key) => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i); + } + } + return size; + } + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position); + }; + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, GROWABLE_HEAP_I8(), ptr, length, position); + return { ptr, allocated: true }; + }; + node.stream_ops = stream_ops; + return node; + }, createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + function processData(byteArray) { + function finish(byteArray2) { + if (preFinish) + preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray2, canRead, canWrite, canOwn); + } + if (onload) + onload(); + removeRunDependency(); + } + if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) + onerror(); + removeRunDependency(); + })) { + return; + } + finish(byteArray); + } + addRunDependency(); + if (typeof url == "string") { + asyncLoad(url, (byteArray) => processData(byteArray), onerror); + } else { + processData(url); + } + }, indexedDB: () => { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + }, DB_NAME: () => { + return "EM_FS_" + window.location.pathname; + }, DB_VERSION: 20, DB_STORE_NAME: "FILE_DATA", saveFilesToDB: (paths, onload = () => { + }, onerror = () => { + }) => { + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = () => { + out("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = () => { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) + onload(); + else + onerror(); + } + paths.forEach((path) => { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = () => { + ok++; + if (ok + fail == total) + finish(); + }; + putRequest.onerror = () => { + fail++; + if (ok + fail == total) + finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }, loadFilesFromDB: (paths, onload = () => { + }, onerror = () => { + }) => { + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = () => { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly"); + } catch (e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) + onload(); + else + onerror(); + } + paths.forEach((path) => { + var getRequest = files.get(path); + getRequest.onsuccess = () => { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) + finish(); + }; + getRequest.onerror = () => { + fail++; + if (ok + fail == total) + finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + } }; + var SYSCALLS = { DEFAULT_POLLMASK: 5, calculateAt: function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44); + } + return dir; + } + return PATH.join2(dir, path); + }, doStat: function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54; + } + throw e; + } + GROWABLE_HEAP_I32()[buf >>> 2] = stat.dev; + GROWABLE_HEAP_I32()[buf + 8 >>> 2] = stat.ino; + GROWABLE_HEAP_I32()[buf + 12 >>> 2] = stat.mode; + GROWABLE_HEAP_U32()[buf + 16 >>> 2] = stat.nlink; + GROWABLE_HEAP_I32()[buf + 20 >>> 2] = stat.uid; + GROWABLE_HEAP_I32()[buf + 24 >>> 2] = stat.gid; + GROWABLE_HEAP_I32()[buf + 28 >>> 2] = stat.rdev; + tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[buf + 40 >>> 2] = tempI64[0], GROWABLE_HEAP_I32()[buf + 44 >>> 2] = tempI64[1]; + GROWABLE_HEAP_I32()[buf + 48 >>> 2] = 4096; + GROWABLE_HEAP_I32()[buf + 52 >>> 2] = stat.blocks; + var atime = stat.atime.getTime(); + var mtime = stat.mtime.getTime(); + var ctime = stat.ctime.getTime(); + tempI64 = [Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[buf + 56 >>> 2] = tempI64[0], GROWABLE_HEAP_I32()[buf + 60 >>> 2] = tempI64[1]; + GROWABLE_HEAP_U32()[buf + 64 >>> 2] = atime % 1e3 * 1e3; + tempI64 = [Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[buf + 72 >>> 2] = tempI64[0], GROWABLE_HEAP_I32()[buf + 76 >>> 2] = tempI64[1]; + GROWABLE_HEAP_U32()[buf + 80 >>> 2] = mtime % 1e3 * 1e3; + tempI64 = [Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[buf + 88 >>> 2] = tempI64[0], GROWABLE_HEAP_I32()[buf + 92 >>> 2] = tempI64[1]; + GROWABLE_HEAP_U32()[buf + 96 >>> 2] = ctime % 1e3 * 1e3; + tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[buf + 104 >>> 2] = tempI64[0], GROWABLE_HEAP_I32()[buf + 108 >>> 2] = tempI64[1]; + return 0; + }, doMsync: function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + return 0; + } + addr >>>= 0; + var buffer = GROWABLE_HEAP_U8().slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + }, varargs: void 0, get: function() { + SYSCALLS.varargs += 4; + var ret = GROWABLE_HEAP_I32()[SYSCALLS.varargs - 4 >>> 2]; + return ret; + }, getStr: function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, getStreamFromFD: function(fd) { + var stream = FS.getStream(fd); + if (!stream) + throw new FS.ErrnoError(8); + return stream; + } }; + function _proc_exit(code) { + if (ENVIRONMENT_IS_PTHREAD) + return _emscripten_proxy_to_main_thread_js(1, 1, code); + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + PThread.terminateAllThreads(); + if (Module["onExit"]) + Module["onExit"](code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); + } + function exitJS(status, implicit) { + EXITSTATUS = status; + if (!implicit) { + if (ENVIRONMENT_IS_PTHREAD) { + exitOnMainThread(status); + throw "unwind"; + } + } + _proc_exit(status); + } + var _exit = exitJS; + function handleException(e) { + if (e instanceof ExitStatus || e == "unwind") { + return EXITSTATUS; + } + quit_(1, e); + } + var PThread = { unusedWorkers: [], runningWorkers: [], tlsInitFunctions: [], pthreads: {}, init: function() { + if (ENVIRONMENT_IS_PTHREAD) { + PThread.initWorker(); + } else { + PThread.initMainThread(); + } + }, initMainThread: function() { + var pthreadPoolSize = navigator.hardwareConcurrency; + while (pthreadPoolSize--) { + PThread.allocateUnusedWorker(); + } + }, initWorker: function() { + noExitRuntime = false; + }, setExitStatus: function(status) { + EXITSTATUS = status; + }, terminateAllThreads: function() { + for (var worker of Object.values(PThread.pthreads)) { + PThread.returnWorkerToPool(worker); + } + for (var worker of PThread.unusedWorkers) { + worker.terminate(); + } + PThread.unusedWorkers = []; + }, returnWorkerToPool: function(worker) { + var pthread_ptr = worker.pthread_ptr; + delete PThread.pthreads[pthread_ptr]; + PThread.unusedWorkers.push(worker); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker), 1); + worker.pthread_ptr = 0; + __emscripten_thread_free_data(pthread_ptr); + }, receiveObjectTransfer: function(data) { + }, threadInitTLS: function() { + PThread.tlsInitFunctions.forEach((f) => f()); + }, loadWasmModuleToWorker: (worker) => new Promise((onFinishedLoading) => { + worker.onmessage = (e) => { + var d = e["data"]; + var cmd = d["cmd"]; + if (worker.pthread_ptr) + PThread.currentProxiedOperationCallerThread = worker.pthread_ptr; + if (d["targetThread"] && d["targetThread"] != _pthread_self()) { + var targetWorker = PThread.pthreads[d.targetThread]; + if (targetWorker) { + targetWorker.postMessage(d, d["transferList"]); + } else { + err('Internal error! Worker sent a message "' + cmd + '" to target pthread ' + d["targetThread"] + ", but that thread no longer exists!"); + } + PThread.currentProxiedOperationCallerThread = void 0; + return; + } + if (cmd === "processProxyingQueue") { + executeNotifiedProxyingQueue(d["queue"]); + } else if (cmd === "spawnThread") { + spawnThread(d); + } else if (cmd === "cleanupThread") { + cleanupThread(d["thread"]); + } else if (cmd === "killThread") { + killThread(d["thread"]); + } else if (cmd === "cancelThread") { + cancelThread(d["thread"]); + } else if (cmd === "loaded") { + worker.loaded = true; + onFinishedLoading(worker); + } else if (cmd === "print") { + out("Thread " + d["threadId"] + ": " + d["text"]); + } else if (cmd === "printErr") { + err("Thread " + d["threadId"] + ": " + d["text"]); + } else if (cmd === "alert") { + alert("Thread " + d["threadId"] + ": " + d["text"]); + } else if (d.target === "setimmediate") { + worker.postMessage(d); + } else if (cmd === "callHandler") { + Module[d["handler"]](...d["args"]); + } else if (cmd) { + err("worker sent an unknown command " + cmd); + } + PThread.currentProxiedOperationCallerThread = void 0; + }; + worker.onerror = (e) => { + var message = "worker sent an error!"; + err(message + " " + e.filename + ":" + e.lineno + ": " + e.message); + throw e; + }; + var handlers = []; + var knownHandlers = ["onExit", "onAbort", "print", "printErr"]; + for (var handler of knownHandlers) { + if (Module.hasOwnProperty(handler)) { + handlers.push(handler); + } + } + worker.postMessage({ "cmd": "load", "handlers": handlers, "urlOrBlob": Module["mainScriptUrlOrBlob"] || _scriptDir, "wasmMemory": wasmMemory, "wasmModule": wasmModule }); + }), loadWasmModuleToAllWorkers: function(onMaybeReady) { + if (ENVIRONMENT_IS_PTHREAD) { + return onMaybeReady(); + } + let pthreadPoolReady = Promise.all(PThread.unusedWorkers.map(PThread.loadWasmModuleToWorker)); + pthreadPoolReady.then(onMaybeReady); + }, allocateUnusedWorker: function() { + var worker; + var pthreadMainJs = locateFile("web-ifc-mt.worker.js"); + worker = new Worker(pthreadMainJs); + PThread.unusedWorkers.push(worker); + }, getNewWorker: function() { + if (PThread.unusedWorkers.length == 0) { + PThread.allocateUnusedWorker(); + PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0]); + } + return PThread.unusedWorkers.pop(); + } }; + Module["PThread"] = PThread; + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + callbacks.shift()(Module); + } + } + function establishStackSpace() { + var pthread_ptr = _pthread_self(); + var stackTop = GROWABLE_HEAP_I32()[pthread_ptr + 52 >>> 2]; + var stackSize = GROWABLE_HEAP_I32()[pthread_ptr + 56 >>> 2]; + var stackMax = stackTop - stackSize; + _emscripten_stack_set_limits(stackTop, stackMax); + stackRestore(stackTop); + } + Module["establishStackSpace"] = establishStackSpace; + function exitOnMainThread(returnCode) { + if (ENVIRONMENT_IS_PTHREAD) + return _emscripten_proxy_to_main_thread_js(2, 0, returnCode); + try { + _exit(returnCode); + } catch (e) { + handleException(e); + } + } + var wasmTableMirror = []; + function getWasmTableEntry(funcPtr) { + var func = wasmTableMirror[funcPtr]; + if (!func) { + if (funcPtr >= wasmTableMirror.length) + wasmTableMirror.length = funcPtr + 1; + wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr); + } + return func; + } + function invokeEntryPoint(ptr, arg) { + var result = getWasmTableEntry(ptr)(arg); + if (keepRuntimeAlive()) { + PThread.setExitStatus(result); + } else { + __emscripten_thread_exit(result); + } + } + Module["invokeEntryPoint"] = invokeEntryPoint; + function registerTLSInit(tlsInitFunc) { + PThread.tlsInitFunctions.push(tlsInitFunc); + } + function ExceptionInfo(excPtr) { + this.excPtr = excPtr; + this.ptr = excPtr - 24; + this.set_type = function(type) { + GROWABLE_HEAP_U32()[this.ptr + 4 >>> 2] = type; + }; + this.get_type = function() { + return GROWABLE_HEAP_U32()[this.ptr + 4 >>> 2]; + }; + this.set_destructor = function(destructor) { + GROWABLE_HEAP_U32()[this.ptr + 8 >>> 2] = destructor; + }; + this.get_destructor = function() { + return GROWABLE_HEAP_U32()[this.ptr + 8 >>> 2]; + }; + this.set_refcount = function(refcount) { + GROWABLE_HEAP_I32()[this.ptr >>> 2] = refcount; + }; + this.set_caught = function(caught) { + caught = caught ? 1 : 0; + GROWABLE_HEAP_I8()[this.ptr + 12 >>> 0] = caught; + }; + this.get_caught = function() { + return GROWABLE_HEAP_I8()[this.ptr + 12 >>> 0] != 0; + }; + this.set_rethrown = function(rethrown) { + rethrown = rethrown ? 1 : 0; + GROWABLE_HEAP_I8()[this.ptr + 13 >>> 0] = rethrown; + }; + this.get_rethrown = function() { + return GROWABLE_HEAP_I8()[this.ptr + 13 >>> 0] != 0; + }; + this.init = function(type, destructor) { + this.set_adjusted_ptr(0); + this.set_type(type); + this.set_destructor(destructor); + this.set_refcount(0); + this.set_caught(false); + this.set_rethrown(false); + }; + this.add_ref = function() { + Atomics.add(GROWABLE_HEAP_I32(), this.ptr + 0 >> 2, 1); + }; + this.release_ref = function() { + var prev = Atomics.sub(GROWABLE_HEAP_I32(), this.ptr + 0 >> 2, 1); + return prev === 1; + }; + this.set_adjusted_ptr = function(adjustedPtr) { + GROWABLE_HEAP_U32()[this.ptr + 16 >>> 2] = adjustedPtr; + }; + this.get_adjusted_ptr = function() { + return GROWABLE_HEAP_U32()[this.ptr + 16 >>> 2]; + }; + this.get_exception_ptr = function() { + var isPointer = ___cxa_is_pointer_type(this.get_type()); + if (isPointer) { + return GROWABLE_HEAP_U32()[this.excPtr >>> 2]; + } + var adjusted = this.get_adjusted_ptr(); + if (adjusted !== 0) + return adjusted; + return this.excPtr; + }; + } + function ___cxa_throw(ptr, type, destructor) { + var info = new ExceptionInfo(ptr); + info.init(type, destructor); + throw ptr; + } + function ___emscripten_init_main_thread_js(tb) { + __emscripten_thread_init(tb, !ENVIRONMENT_IS_WORKER, 1, !ENVIRONMENT_IS_WEB); + PThread.threadInitTLS(); + } + function ___emscripten_thread_cleanup(thread) { + if (!ENVIRONMENT_IS_PTHREAD) + cleanupThread(thread); + else + postMessage({ "cmd": "cleanupThread", "thread": thread }); + } + function __dlinit(main_dso_handle) { + } + var dlopenMissingError = "To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking"; + function __dlopen_js(handle) { + abort(dlopenMissingError); + } + function __dlsym_catchup_js(handle, symbolIndex) { + abort(dlopenMissingError); + } + var tupleRegistrations = {}; + function runDestructors(destructors) { + while (destructors.length) { + var ptr = destructors.pop(); + var del = destructors.pop(); + del(ptr); + } + } + function simpleReadValueFromPointer(pointer) { + return this["fromWireType"](GROWABLE_HEAP_I32()[pointer >>> 2]); + } + var awaitingDependencies = {}; + var registeredTypes = {}; + var typeDependencies = {}; + var char_0 = 48; + var char_9 = 57; + function makeLegalFunctionName(name) { + if (name === void 0) { + return "_unknown"; + } + name = name.replace(/[^a-zA-Z0-9_]/g, "$"); + var f = name.charCodeAt(0); + if (f >= char_0 && f <= char_9) { + return "_" + name; + } + return name; + } + function createNamedFunction(name, body) { + name = makeLegalFunctionName(name); + return new Function("body", "return function " + name + '() {\n "use strict"; return body.apply(this, arguments);\n};\n')(body); + } + function extendError(baseErrorType, errorName) { + var errorClass = createNamedFunction(errorName, function(message) { + this.name = errorName; + this.message = message; + var stack = new Error(message).stack; + if (stack !== void 0) { + this.stack = this.toString() + "\n" + stack.replace(/^Error(:[^\n]*)?\n/, ""); + } + }); + errorClass.prototype = Object.create(baseErrorType.prototype); + errorClass.prototype.constructor = errorClass; + errorClass.prototype.toString = function() { + if (this.message === void 0) { + return this.name; + } else { + return this.name + ": " + this.message; + } + }; + return errorClass; + } + var InternalError = void 0; + function throwInternalError(message) { + throw new InternalError(message); + } + function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) { + myTypes.forEach(function(type) { + typeDependencies[type] = dependentTypes; + }); + function onComplete(typeConverters2) { + var myTypeConverters = getTypeConverters(typeConverters2); + if (myTypeConverters.length !== myTypes.length) { + throwInternalError("Mismatched type converter count"); + } + for (var i = 0; i < myTypes.length; ++i) { + registerType(myTypes[i], myTypeConverters[i]); + } + } + var typeConverters = new Array(dependentTypes.length); + var unregisteredTypes = []; + var registered = 0; + dependentTypes.forEach((dt, i) => { + if (registeredTypes.hasOwnProperty(dt)) { + typeConverters[i] = registeredTypes[dt]; + } else { + unregisteredTypes.push(dt); + if (!awaitingDependencies.hasOwnProperty(dt)) { + awaitingDependencies[dt] = []; + } + awaitingDependencies[dt].push(() => { + typeConverters[i] = registeredTypes[dt]; + ++registered; + if (registered === unregisteredTypes.length) { + onComplete(typeConverters); + } + }); + } + }); + if (unregisteredTypes.length === 0) { + onComplete(typeConverters); + } + } + function __embind_finalize_value_array(rawTupleType) { + var reg = tupleRegistrations[rawTupleType]; + delete tupleRegistrations[rawTupleType]; + var elements = reg.elements; + var elementsLength = elements.length; + var elementTypes = elements.map(function(elt) { + return elt.getterReturnType; + }).concat(elements.map(function(elt) { + return elt.setterArgumentType; + })); + var rawConstructor = reg.rawConstructor; + var rawDestructor = reg.rawDestructor; + whenDependentTypesAreResolved([rawTupleType], elementTypes, function(elementTypes2) { + elements.forEach((elt, i) => { + var getterReturnType = elementTypes2[i]; + var getter = elt.getter; + var getterContext = elt.getterContext; + var setterArgumentType = elementTypes2[i + elementsLength]; + var setter = elt.setter; + var setterContext = elt.setterContext; + elt.read = (ptr) => { + return getterReturnType["fromWireType"](getter(getterContext, ptr)); + }; + elt.write = (ptr, o) => { + var destructors = []; + setter(setterContext, ptr, setterArgumentType["toWireType"](destructors, o)); + runDestructors(destructors); + }; + }); + return [{ name: reg.name, "fromWireType": function(ptr) { + var rv = new Array(elementsLength); + for (var i = 0; i < elementsLength; ++i) { + rv[i] = elements[i].read(ptr); + } + rawDestructor(ptr); + return rv; + }, "toWireType": function(destructors, o) { + if (elementsLength !== o.length) { + throw new TypeError("Incorrect number of tuple elements for " + reg.name + ": expected=" + elementsLength + ", actual=" + o.length); + } + var ptr = rawConstructor(); + for (var i = 0; i < elementsLength; ++i) { + elements[i].write(ptr, o[i]); + } + if (destructors !== null) { + destructors.push(rawDestructor, ptr); + } + return ptr; + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: rawDestructor }]; + }); + } + var structRegistrations = {}; + function __embind_finalize_value_object(structType) { + var reg = structRegistrations[structType]; + delete structRegistrations[structType]; + var rawConstructor = reg.rawConstructor; + var rawDestructor = reg.rawDestructor; + var fieldRecords = reg.fields; + var fieldTypes = fieldRecords.map((field) => field.getterReturnType).concat(fieldRecords.map((field) => field.setterArgumentType)); + whenDependentTypesAreResolved([structType], fieldTypes, (fieldTypes2) => { + var fields = {}; + fieldRecords.forEach((field, i) => { + var fieldName = field.fieldName; + var getterReturnType = fieldTypes2[i]; + var getter = field.getter; + var getterContext = field.getterContext; + var setterArgumentType = fieldTypes2[i + fieldRecords.length]; + var setter = field.setter; + var setterContext = field.setterContext; + fields[fieldName] = { read: (ptr) => { + return getterReturnType["fromWireType"](getter(getterContext, ptr)); + }, write: (ptr, o) => { + var destructors = []; + setter(setterContext, ptr, setterArgumentType["toWireType"](destructors, o)); + runDestructors(destructors); + } }; + }); + return [{ name: reg.name, "fromWireType": function(ptr) { + var rv = {}; + for (var i in fields) { + rv[i] = fields[i].read(ptr); + } + rawDestructor(ptr); + return rv; + }, "toWireType": function(destructors, o) { + for (var fieldName in fields) { + if (!(fieldName in o)) { + throw new TypeError('Missing field: "' + fieldName + '"'); + } + } + var ptr = rawConstructor(); + for (fieldName in fields) { + fields[fieldName].write(ptr, o[fieldName]); + } + if (destructors !== null) { + destructors.push(rawDestructor, ptr); + } + return ptr; + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: rawDestructor }]; + }); + } + function __embind_register_bigint(primitiveType, name, size, minRange, maxRange) { + } + function getShiftFromSize(size) { + switch (size) { + case 1: + return 0; + case 2: + return 1; + case 4: + return 2; + case 8: + return 3; + default: + throw new TypeError("Unknown type size: " + size); + } + } + function embind_init_charCodes() { + var codes = new Array(256); + for (var i = 0; i < 256; ++i) { + codes[i] = String.fromCharCode(i); + } + embind_charCodes = codes; + } + var embind_charCodes = void 0; + function readLatin1String(ptr) { + var ret = ""; + var c = ptr; + while (GROWABLE_HEAP_U8()[c >>> 0]) { + ret += embind_charCodes[GROWABLE_HEAP_U8()[c++ >>> 0]]; + } + return ret; + } + var BindingError = void 0; + function throwBindingError(message) { + throw new BindingError(message); + } + function registerType(rawType, registeredInstance, options = {}) { + if (!("argPackAdvance" in registeredInstance)) { + throw new TypeError("registerType registeredInstance requires argPackAdvance"); + } + var name = registeredInstance.name; + if (!rawType) { + throwBindingError('type "' + name + '" must have a positive integer typeid pointer'); + } + if (registeredTypes.hasOwnProperty(rawType)) { + if (options.ignoreDuplicateRegistrations) { + return; + } else { + throwBindingError("Cannot register type '" + name + "' twice"); + } + } + registeredTypes[rawType] = registeredInstance; + delete typeDependencies[rawType]; + if (awaitingDependencies.hasOwnProperty(rawType)) { + var callbacks = awaitingDependencies[rawType]; + delete awaitingDependencies[rawType]; + callbacks.forEach((cb) => cb()); + } + } + function __embind_register_bool(rawType, name, size, trueValue, falseValue) { + var shift = getShiftFromSize(size); + name = readLatin1String(name); + registerType(rawType, { name, "fromWireType": function(wt) { + return !!wt; + }, "toWireType": function(destructors, o) { + return o ? trueValue : falseValue; + }, "argPackAdvance": 8, "readValueFromPointer": function(pointer) { + var heap; + if (size === 1) { + heap = GROWABLE_HEAP_I8(); + } else if (size === 2) { + heap = GROWABLE_HEAP_I16(); + } else if (size === 4) { + heap = GROWABLE_HEAP_I32(); + } else { + throw new TypeError("Unknown boolean type size: " + name); + } + return this["fromWireType"](heap[pointer >>> shift]); + }, destructorFunction: null }); + } + function ClassHandle_isAliasOf(other) { + if (!(this instanceof ClassHandle)) { + return false; + } + if (!(other instanceof ClassHandle)) { + return false; + } + var leftClass = this.$$.ptrType.registeredClass; + var left = this.$$.ptr; + var rightClass = other.$$.ptrType.registeredClass; + var right = other.$$.ptr; + while (leftClass.baseClass) { + left = leftClass.upcast(left); + leftClass = leftClass.baseClass; + } + while (rightClass.baseClass) { + right = rightClass.upcast(right); + rightClass = rightClass.baseClass; + } + return leftClass === rightClass && left === right; + } + function shallowCopyInternalPointer(o) { + return { count: o.count, deleteScheduled: o.deleteScheduled, preservePointerOnDelete: o.preservePointerOnDelete, ptr: o.ptr, ptrType: o.ptrType, smartPtr: o.smartPtr, smartPtrType: o.smartPtrType }; + } + function throwInstanceAlreadyDeleted(obj) { + function getInstanceTypeName(handle) { + return handle.$$.ptrType.registeredClass.name; + } + throwBindingError(getInstanceTypeName(obj) + " instance already deleted"); + } + var finalizationRegistry = false; + function detachFinalizer(handle) { + } + function runDestructor($$) { + if ($$.smartPtr) { + $$.smartPtrType.rawDestructor($$.smartPtr); + } else { + $$.ptrType.registeredClass.rawDestructor($$.ptr); + } + } + function releaseClassHandle($$) { + $$.count.value -= 1; + var toDelete = $$.count.value === 0; + if (toDelete) { + runDestructor($$); + } + } + function downcastPointer(ptr, ptrClass, desiredClass) { + if (ptrClass === desiredClass) { + return ptr; + } + if (desiredClass.baseClass === void 0) { + return null; + } + var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass); + if (rv === null) { + return null; + } + return desiredClass.downcast(rv); + } + var registeredPointers = {}; + function getInheritedInstanceCount() { + return Object.keys(registeredInstances).length; + } + function getLiveInheritedInstances() { + var rv = []; + for (var k in registeredInstances) { + if (registeredInstances.hasOwnProperty(k)) { + rv.push(registeredInstances[k]); + } + } + return rv; + } + var deletionQueue = []; + function flushPendingDeletes() { + while (deletionQueue.length) { + var obj = deletionQueue.pop(); + obj.$$.deleteScheduled = false; + obj["delete"](); + } + } + var delayFunction = void 0; + function setDelayFunction(fn) { + delayFunction = fn; + if (deletionQueue.length && delayFunction) { + delayFunction(flushPendingDeletes); + } + } + function init_embind() { + Module["getInheritedInstanceCount"] = getInheritedInstanceCount; + Module["getLiveInheritedInstances"] = getLiveInheritedInstances; + Module["flushPendingDeletes"] = flushPendingDeletes; + Module["setDelayFunction"] = setDelayFunction; + } + var registeredInstances = {}; + function getBasestPointer(class_, ptr) { + if (ptr === void 0) { + throwBindingError("ptr should not be undefined"); + } + while (class_.baseClass) { + ptr = class_.upcast(ptr); + class_ = class_.baseClass; + } + return ptr; + } + function getInheritedInstance(class_, ptr) { + ptr = getBasestPointer(class_, ptr); + return registeredInstances[ptr]; + } + function makeClassHandle(prototype, record) { + if (!record.ptrType || !record.ptr) { + throwInternalError("makeClassHandle requires ptr and ptrType"); + } + var hasSmartPtrType = !!record.smartPtrType; + var hasSmartPtr = !!record.smartPtr; + if (hasSmartPtrType !== hasSmartPtr) { + throwInternalError("Both smartPtrType and smartPtr must be specified"); + } + record.count = { value: 1 }; + return attachFinalizer(Object.create(prototype, { $$: { value: record } })); + } + function RegisteredPointer_fromWireType(ptr) { + var rawPointer = this.getPointee(ptr); + if (!rawPointer) { + this.destructor(ptr); + return null; + } + var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer); + if (registeredInstance !== void 0) { + if (registeredInstance.$$.count.value === 0) { + registeredInstance.$$.ptr = rawPointer; + registeredInstance.$$.smartPtr = ptr; + return registeredInstance["clone"](); + } else { + var rv = registeredInstance["clone"](); + this.destructor(ptr); + return rv; + } + } + function makeDefaultHandle() { + if (this.isSmartPointer) { + return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr }); + } else { + return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr }); + } + } + var actualType = this.registeredClass.getActualType(rawPointer); + var registeredPointerRecord = registeredPointers[actualType]; + if (!registeredPointerRecord) { + return makeDefaultHandle.call(this); + } + var toType; + if (this.isConst) { + toType = registeredPointerRecord.constPointerType; + } else { + toType = registeredPointerRecord.pointerType; + } + var dp = downcastPointer(rawPointer, this.registeredClass, toType.registeredClass); + if (dp === null) { + return makeDefaultHandle.call(this); + } + if (this.isSmartPointer) { + return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr }); + } else { + return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp }); + } + } + function attachFinalizer(handle) { + if (typeof FinalizationRegistry === "undefined") { + attachFinalizer = (handle2) => handle2; + return handle; + } + finalizationRegistry = new FinalizationRegistry((info) => { + releaseClassHandle(info.$$); + }); + attachFinalizer = (handle2) => { + var $$ = handle2.$$; + var hasSmartPtr = !!$$.smartPtr; + if (hasSmartPtr) { + var info = { $$ }; + finalizationRegistry.register(handle2, info, handle2); + } + return handle2; + }; + detachFinalizer = (handle2) => finalizationRegistry.unregister(handle2); + return attachFinalizer(handle); + } + function ClassHandle_clone() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + if (this.$$.preservePointerOnDelete) { + this.$$.count.value += 1; + return this; + } else { + var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { $$: { value: shallowCopyInternalPointer(this.$$) } })); + clone.$$.count.value += 1; + clone.$$.deleteScheduled = false; + return clone; + } + } + function ClassHandle_delete() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { + throwBindingError("Object already scheduled for deletion"); + } + detachFinalizer(this); + releaseClassHandle(this.$$); + if (!this.$$.preservePointerOnDelete) { + this.$$.smartPtr = void 0; + this.$$.ptr = void 0; + } + } + function ClassHandle_isDeleted() { + return !this.$$.ptr; + } + function ClassHandle_deleteLater() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { + throwBindingError("Object already scheduled for deletion"); + } + deletionQueue.push(this); + if (deletionQueue.length === 1 && delayFunction) { + delayFunction(flushPendingDeletes); + } + this.$$.deleteScheduled = true; + return this; + } + function init_ClassHandle() { + ClassHandle.prototype["isAliasOf"] = ClassHandle_isAliasOf; + ClassHandle.prototype["clone"] = ClassHandle_clone; + ClassHandle.prototype["delete"] = ClassHandle_delete; + ClassHandle.prototype["isDeleted"] = ClassHandle_isDeleted; + ClassHandle.prototype["deleteLater"] = ClassHandle_deleteLater; + } + function ClassHandle() { + } + function ensureOverloadTable(proto, methodName, humanName) { + if (proto[methodName].overloadTable === void 0) { + var prevFunc = proto[methodName]; + proto[methodName] = function() { + if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { + throwBindingError("Function '" + humanName + "' called with an invalid number of arguments (" + arguments.length + ") - expects one of (" + proto[methodName].overloadTable + ")!"); + } + return proto[methodName].overloadTable[arguments.length].apply(this, arguments); + }; + proto[methodName].overloadTable = []; + proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; + } + } + function exposePublicSymbol(name, value, numArguments) { + if (Module.hasOwnProperty(name)) { + if (numArguments === void 0 || Module[name].overloadTable !== void 0 && Module[name].overloadTable[numArguments] !== void 0) { + throwBindingError("Cannot register public name '" + name + "' twice"); + } + ensureOverloadTable(Module, name, name); + if (Module.hasOwnProperty(numArguments)) { + throwBindingError("Cannot register multiple overloads of a function with the same number of arguments (" + numArguments + ")!"); + } + Module[name].overloadTable[numArguments] = value; + } else { + Module[name] = value; + if (numArguments !== void 0) { + Module[name].numArguments = numArguments; + } + } + } + function RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast) { + this.name = name; + this.constructor = constructor; + this.instancePrototype = instancePrototype; + this.rawDestructor = rawDestructor; + this.baseClass = baseClass; + this.getActualType = getActualType; + this.upcast = upcast; + this.downcast = downcast; + this.pureVirtualFunctions = []; + } + function upcastPointer(ptr, ptrClass, desiredClass) { + while (ptrClass !== desiredClass) { + if (!ptrClass.upcast) { + throwBindingError("Expected null or instance of " + desiredClass.name + ", got an instance of " + ptrClass.name); + } + ptr = ptrClass.upcast(ptr); + ptrClass = ptrClass.baseClass; + } + return ptr; + } + function constNoSmartPtrRawPointerToWireType(destructors, handle) { + if (handle === null) { + if (this.isReference) { + throwBindingError("null is not a valid " + this.name); + } + return 0; + } + if (!handle.$$) { + throwBindingError('Cannot pass "' + embindRepr(handle) + '" as a ' + this.name); + } + if (!handle.$$.ptr) { + throwBindingError("Cannot pass deleted object as a pointer of type " + this.name); + } + var handleClass = handle.$$.ptrType.registeredClass; + var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + return ptr; + } + function genericPointerToWireType(destructors, handle) { + var ptr; + if (handle === null) { + if (this.isReference) { + throwBindingError("null is not a valid " + this.name); + } + if (this.isSmartPointer) { + ptr = this.rawConstructor(); + if (destructors !== null) { + destructors.push(this.rawDestructor, ptr); + } + return ptr; + } else { + return 0; + } + } + if (!handle.$$) { + throwBindingError('Cannot pass "' + embindRepr(handle) + '" as a ' + this.name); + } + if (!handle.$$.ptr) { + throwBindingError("Cannot pass deleted object as a pointer of type " + this.name); + } + if (!this.isConst && handle.$$.ptrType.isConst) { + throwBindingError("Cannot convert argument of type " + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + " to parameter type " + this.name); + } + var handleClass = handle.$$.ptrType.registeredClass; + ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + if (this.isSmartPointer) { + if (handle.$$.smartPtr === void 0) { + throwBindingError("Passing raw pointer to smart pointer is illegal"); + } + switch (this.sharingPolicy) { + case 0: + if (handle.$$.smartPtrType === this) { + ptr = handle.$$.smartPtr; + } else { + throwBindingError("Cannot convert argument of type " + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + " to parameter type " + this.name); + } + break; + case 1: + ptr = handle.$$.smartPtr; + break; + case 2: + if (handle.$$.smartPtrType === this) { + ptr = handle.$$.smartPtr; + } else { + var clonedHandle = handle["clone"](); + ptr = this.rawShare(ptr, Emval.toHandle(function() { + clonedHandle["delete"](); + })); + if (destructors !== null) { + destructors.push(this.rawDestructor, ptr); + } + } + break; + default: + throwBindingError("Unsupporting sharing policy"); + } + } + return ptr; + } + function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) { + if (handle === null) { + if (this.isReference) { + throwBindingError("null is not a valid " + this.name); + } + return 0; + } + if (!handle.$$) { + throwBindingError('Cannot pass "' + embindRepr(handle) + '" as a ' + this.name); + } + if (!handle.$$.ptr) { + throwBindingError("Cannot pass deleted object as a pointer of type " + this.name); + } + if (handle.$$.ptrType.isConst) { + throwBindingError("Cannot convert argument of type " + handle.$$.ptrType.name + " to parameter type " + this.name); + } + var handleClass = handle.$$.ptrType.registeredClass; + var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + return ptr; + } + function RegisteredPointer_getPointee(ptr) { + if (this.rawGetPointee) { + ptr = this.rawGetPointee(ptr); + } + return ptr; + } + function RegisteredPointer_destructor(ptr) { + if (this.rawDestructor) { + this.rawDestructor(ptr); + } + } + function RegisteredPointer_deleteObject(handle) { + if (handle !== null) { + handle["delete"](); + } + } + function init_RegisteredPointer() { + RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee; + RegisteredPointer.prototype.destructor = RegisteredPointer_destructor; + RegisteredPointer.prototype["argPackAdvance"] = 8; + RegisteredPointer.prototype["readValueFromPointer"] = simpleReadValueFromPointer; + RegisteredPointer.prototype["deleteObject"] = RegisteredPointer_deleteObject; + RegisteredPointer.prototype["fromWireType"] = RegisteredPointer_fromWireType; + } + function RegisteredPointer(name, registeredClass, isReference, isConst, isSmartPointer, pointeeType, sharingPolicy, rawGetPointee, rawConstructor, rawShare, rawDestructor) { + this.name = name; + this.registeredClass = registeredClass; + this.isReference = isReference; + this.isConst = isConst; + this.isSmartPointer = isSmartPointer; + this.pointeeType = pointeeType; + this.sharingPolicy = sharingPolicy; + this.rawGetPointee = rawGetPointee; + this.rawConstructor = rawConstructor; + this.rawShare = rawShare; + this.rawDestructor = rawDestructor; + if (!isSmartPointer && registeredClass.baseClass === void 0) { + if (isConst) { + this["toWireType"] = constNoSmartPtrRawPointerToWireType; + this.destructorFunction = null; + } else { + this["toWireType"] = nonConstNoSmartPtrRawPointerToWireType; + this.destructorFunction = null; + } + } else { + this["toWireType"] = genericPointerToWireType; + } + } + function replacePublicSymbol(name, value, numArguments) { + if (!Module.hasOwnProperty(name)) { + throwInternalError("Replacing nonexistant public symbol"); + } + if (Module[name].overloadTable !== void 0 && numArguments !== void 0) { + Module[name].overloadTable[numArguments] = value; + } else { + Module[name] = value; + Module[name].argCount = numArguments; + } + } + function dynCallLegacy(sig, ptr, args) { + var f = Module["dynCall_" + sig]; + return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr); + } + function dynCall(sig, ptr, args) { + if (sig.includes("j")) { + return dynCallLegacy(sig, ptr, args); + } + var rtn = getWasmTableEntry(ptr).apply(null, args); + return rtn; + } + function getDynCaller(sig, ptr) { + var argCache = []; + return function() { + argCache.length = 0; + Object.assign(argCache, arguments); + return dynCall(sig, ptr, argCache); + }; + } + function embind__requireFunction(signature, rawFunction) { + signature = readLatin1String(signature); + function makeDynCaller() { + if (signature.includes("j")) { + return getDynCaller(signature, rawFunction); + } + return getWasmTableEntry(rawFunction); + } + var fp = makeDynCaller(); + if (typeof fp != "function") { + throwBindingError("unknown function pointer with signature " + signature + ": " + rawFunction); + } + return fp; + } + var UnboundTypeError = void 0; + function getTypeName(type) { + var ptr = ___getTypeName(type); + var rv = readLatin1String(ptr); + _free(ptr); + return rv; + } + function throwUnboundTypeError(message, types) { + var unboundTypes = []; + var seen = {}; + function visit(type) { + if (seen[type]) { + return; + } + if (registeredTypes[type]) { + return; + } + if (typeDependencies[type]) { + typeDependencies[type].forEach(visit); + return; + } + unboundTypes.push(type); + seen[type] = true; + } + types.forEach(visit); + throw new UnboundTypeError(message + ": " + unboundTypes.map(getTypeName).join([", "])); + } + function __embind_register_class(rawType, rawPointerType, rawConstPointerType, baseClassRawType, getActualTypeSignature, getActualType, upcastSignature, upcast, downcastSignature, downcast, name, destructorSignature, rawDestructor) { + name = readLatin1String(name); + getActualType = embind__requireFunction(getActualTypeSignature, getActualType); + if (upcast) { + upcast = embind__requireFunction(upcastSignature, upcast); + } + if (downcast) { + downcast = embind__requireFunction(downcastSignature, downcast); + } + rawDestructor = embind__requireFunction(destructorSignature, rawDestructor); + var legalFunctionName = makeLegalFunctionName(name); + exposePublicSymbol(legalFunctionName, function() { + throwUnboundTypeError("Cannot construct " + name + " due to unbound types", [baseClassRawType]); + }); + whenDependentTypesAreResolved([rawType, rawPointerType, rawConstPointerType], baseClassRawType ? [baseClassRawType] : [], function(base) { + base = base[0]; + var baseClass; + var basePrototype; + if (baseClassRawType) { + baseClass = base.registeredClass; + basePrototype = baseClass.instancePrototype; + } else { + basePrototype = ClassHandle.prototype; + } + var constructor = createNamedFunction(legalFunctionName, function() { + if (Object.getPrototypeOf(this) !== instancePrototype) { + throw new BindingError("Use 'new' to construct " + name); + } + if (registeredClass.constructor_body === void 0) { + throw new BindingError(name + " has no accessible constructor"); + } + var body = registeredClass.constructor_body[arguments.length]; + if (body === void 0) { + throw new BindingError("Tried to invoke ctor of " + name + " with invalid number of parameters (" + arguments.length + ") - expected (" + Object.keys(registeredClass.constructor_body).toString() + ") parameters instead!"); + } + return body.apply(this, arguments); + }); + var instancePrototype = Object.create(basePrototype, { constructor: { value: constructor } }); + constructor.prototype = instancePrototype; + var registeredClass = new RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast); + var referenceConverter = new RegisteredPointer(name, registeredClass, true, false, false); + var pointerConverter = new RegisteredPointer(name + "*", registeredClass, false, false, false); + var constPointerConverter = new RegisteredPointer(name + " const*", registeredClass, false, true, false); + registeredPointers[rawType] = { pointerType: pointerConverter, constPointerType: constPointerConverter }; + replacePublicSymbol(legalFunctionName, constructor); + return [referenceConverter, pointerConverter, constPointerConverter]; + }); + } + function heap32VectorToArray(count, firstElement) { + var array = []; + for (var i = 0; i < count; i++) { + array.push(GROWABLE_HEAP_U32()[firstElement + i * 4 >>> 2]); + } + return array; + } + function new_(constructor, argumentList) { + if (!(constructor instanceof Function)) { + throw new TypeError("new_ called with constructor type " + typeof constructor + " which is not a function"); + } + var dummy = createNamedFunction(constructor.name || "unknownFunctionName", function() { + }); + dummy.prototype = constructor.prototype; + var obj = new dummy(); + var r = constructor.apply(obj, argumentList); + return r instanceof Object ? r : obj; + } + function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc) { + var argCount = argTypes.length; + if (argCount < 2) { + throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!"); + } + var isClassMethodFunc = argTypes[1] !== null && classType !== null; + var needsDestructorStack = false; + for (var i = 1; i < argTypes.length; ++i) { + if (argTypes[i] !== null && argTypes[i].destructorFunction === void 0) { + needsDestructorStack = true; + break; + } + } + var returns = argTypes[0].name !== "void"; + var argsList = ""; + var argsListWired = ""; + for (var i = 0; i < argCount - 2; ++i) { + argsList += (i !== 0 ? ", " : "") + "arg" + i; + argsListWired += (i !== 0 ? ", " : "") + "arg" + i + "Wired"; + } + var invokerFnBody = "return function " + makeLegalFunctionName(humanName) + "(" + argsList + ") {\nif (arguments.length !== " + (argCount - 2) + ") {\nthrowBindingError('function " + humanName + " called with ' + arguments.length + ' arguments, expected " + (argCount - 2) + " args!');\n}\n"; + if (needsDestructorStack) { + invokerFnBody += "var destructors = [];\n"; + } + var dtorStack = needsDestructorStack ? "destructors" : "null"; + var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"]; + var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]]; + if (isClassMethodFunc) { + invokerFnBody += "var thisWired = classParam.toWireType(" + dtorStack + ", this);\n"; + } + for (var i = 0; i < argCount - 2; ++i) { + invokerFnBody += "var arg" + i + "Wired = argType" + i + ".toWireType(" + dtorStack + ", arg" + i + "); // " + argTypes[i + 2].name + "\n"; + args1.push("argType" + i); + args2.push(argTypes[i + 2]); + } + if (isClassMethodFunc) { + argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired; + } + invokerFnBody += (returns ? "var rv = " : "") + "invoker(fn" + (argsListWired.length > 0 ? ", " : "") + argsListWired + ");\n"; + if (needsDestructorStack) { + invokerFnBody += "runDestructors(destructors);\n"; + } else { + for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; ++i) { + var paramName = i === 1 ? "thisWired" : "arg" + (i - 2) + "Wired"; + if (argTypes[i].destructorFunction !== null) { + invokerFnBody += paramName + "_dtor(" + paramName + "); // " + argTypes[i].name + "\n"; + args1.push(paramName + "_dtor"); + args2.push(argTypes[i].destructorFunction); + } + } + } + if (returns) { + invokerFnBody += "var ret = retType.fromWireType(rv);\nreturn ret;\n"; + } + invokerFnBody += "}\n"; + args1.push(invokerFnBody); + var invokerFunction = new_(Function, args1).apply(null, args2); + return invokerFunction; + } + function __embind_register_class_constructor(rawClassType, argCount, rawArgTypesAddr, invokerSignature, invoker, rawConstructor) { + assert(argCount > 0); + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + invoker = embind__requireFunction(invokerSignature, invoker); + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = "constructor " + classType.name; + if (classType.registeredClass.constructor_body === void 0) { + classType.registeredClass.constructor_body = []; + } + if (classType.registeredClass.constructor_body[argCount - 1] !== void 0) { + throw new BindingError("Cannot register multiple constructors with identical number of parameters (" + (argCount - 1) + ") for class '" + classType.name + "'! Overload resolution is currently only performed using the parameter count, not actual type info!"); + } + classType.registeredClass.constructor_body[argCount - 1] = () => { + throwUnboundTypeError("Cannot construct " + classType.name + " due to unbound types", rawArgTypes); + }; + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + argTypes.splice(1, 0, null); + classType.registeredClass.constructor_body[argCount - 1] = craftInvokerFunction(humanName, argTypes, null, invoker, rawConstructor); + return []; + }); + return []; + }); + } + function __embind_register_class_function(rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, context, isPureVirtual) { + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + methodName = readLatin1String(methodName); + rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = classType.name + "." + methodName; + if (methodName.startsWith("@@")) { + methodName = Symbol[methodName.substring(2)]; + } + if (isPureVirtual) { + classType.registeredClass.pureVirtualFunctions.push(methodName); + } + function unboundTypesHandler() { + throwUnboundTypeError("Cannot call " + humanName + " due to unbound types", rawArgTypes); + } + var proto = classType.registeredClass.instancePrototype; + var method = proto[methodName]; + if (method === void 0 || method.overloadTable === void 0 && method.className !== classType.name && method.argCount === argCount - 2) { + unboundTypesHandler.argCount = argCount - 2; + unboundTypesHandler.className = classType.name; + proto[methodName] = unboundTypesHandler; + } else { + ensureOverloadTable(proto, methodName, humanName); + proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler; + } + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context); + if (proto[methodName].overloadTable === void 0) { + memberFunction.argCount = argCount - 2; + proto[methodName] = memberFunction; + } else { + proto[methodName].overloadTable[argCount - 2] = memberFunction; + } + return []; + }); + return []; + }); + } + var emval_free_list = []; + var emval_handle_array = [{}, { value: void 0 }, { value: null }, { value: true }, { value: false }]; + function __emval_decref(handle) { + if (handle > 4 && --emval_handle_array[handle].refcount === 0) { + emval_handle_array[handle] = void 0; + emval_free_list.push(handle); + } + } + function count_emval_handles() { + var count = 0; + for (var i = 5; i < emval_handle_array.length; ++i) { + if (emval_handle_array[i] !== void 0) { + ++count; + } + } + return count; + } + function get_first_emval() { + for (var i = 5; i < emval_handle_array.length; ++i) { + if (emval_handle_array[i] !== void 0) { + return emval_handle_array[i]; + } + } + return null; + } + function init_emval() { + Module["count_emval_handles"] = count_emval_handles; + Module["get_first_emval"] = get_first_emval; + } + var Emval = { toValue: (handle) => { + if (!handle) { + throwBindingError("Cannot use deleted val. handle = " + handle); + } + return emval_handle_array[handle].value; + }, toHandle: (value) => { + switch (value) { + case void 0: + return 1; + case null: + return 2; + case true: + return 3; + case false: + return 4; + default: { + var handle = emval_free_list.length ? emval_free_list.pop() : emval_handle_array.length; + emval_handle_array[handle] = { refcount: 1, value }; + return handle; + } + } + } }; + function __embind_register_emval(rawType, name) { + name = readLatin1String(name); + registerType(rawType, { name, "fromWireType": function(handle) { + var rv = Emval.toValue(handle); + __emval_decref(handle); + return rv; + }, "toWireType": function(destructors, value) { + return Emval.toHandle(value); + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: null }); + } + function enumReadValueFromPointer(name, shift, signed) { + switch (shift) { + case 0: + return function(pointer) { + var heap = signed ? GROWABLE_HEAP_I8() : GROWABLE_HEAP_U8(); + return this["fromWireType"](heap[pointer >>> 0]); + }; + case 1: + return function(pointer) { + var heap = signed ? GROWABLE_HEAP_I16() : GROWABLE_HEAP_U16(); + return this["fromWireType"](heap[pointer >>> 1]); + }; + case 2: + return function(pointer) { + var heap = signed ? GROWABLE_HEAP_I32() : GROWABLE_HEAP_U32(); + return this["fromWireType"](heap[pointer >>> 2]); + }; + default: + throw new TypeError("Unknown integer type: " + name); + } + } + function __embind_register_enum(rawType, name, size, isSigned) { + var shift = getShiftFromSize(size); + name = readLatin1String(name); + function ctor() { + } + ctor.values = {}; + registerType(rawType, { name, constructor: ctor, "fromWireType": function(c) { + return this.constructor.values[c]; + }, "toWireType": function(destructors, c) { + return c.value; + }, "argPackAdvance": 8, "readValueFromPointer": enumReadValueFromPointer(name, shift, isSigned), destructorFunction: null }); + exposePublicSymbol(name, ctor); + } + function requireRegisteredType(rawType, humanName) { + var impl = registeredTypes[rawType]; + if (impl === void 0) { + throwBindingError(humanName + " has unknown type " + getTypeName(rawType)); + } + return impl; + } + function __embind_register_enum_value(rawEnumType, name, enumValue) { + var enumType = requireRegisteredType(rawEnumType, "enum"); + name = readLatin1String(name); + var Enum = enumType.constructor; + var Value = Object.create(enumType.constructor.prototype, { value: { value: enumValue }, constructor: { value: createNamedFunction(enumType.name + "_" + name, function() { + }) } }); + Enum.values[enumValue] = Value; + Enum[name] = Value; + } + function embindRepr(v) { + if (v === null) { + return "null"; + } + var t = typeof v; + if (t === "object" || t === "array" || t === "function") { + return v.toString(); + } else { + return "" + v; + } + } + function floatReadValueFromPointer(name, shift) { + switch (shift) { + case 2: + return function(pointer) { + return this["fromWireType"](GROWABLE_HEAP_F32()[pointer >>> 2]); + }; + case 3: + return function(pointer) { + return this["fromWireType"](GROWABLE_HEAP_F64()[pointer >>> 3]); + }; + default: + throw new TypeError("Unknown float type: " + name); + } + } + function __embind_register_float(rawType, name, size) { + var shift = getShiftFromSize(size); + name = readLatin1String(name); + registerType(rawType, { name, "fromWireType": function(value) { + return value; + }, "toWireType": function(destructors, value) { + return value; + }, "argPackAdvance": 8, "readValueFromPointer": floatReadValueFromPointer(name, shift), destructorFunction: null }); + } + function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn) { + var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + name = readLatin1String(name); + rawInvoker = embind__requireFunction(signature, rawInvoker); + exposePublicSymbol(name, function() { + throwUnboundTypeError("Cannot call " + name + " due to unbound types", argTypes); + }, argCount - 1); + whenDependentTypesAreResolved([], argTypes, function(argTypes2) { + var invokerArgsArray = [argTypes2[0], null].concat(argTypes2.slice(1)); + replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null, rawInvoker, fn), argCount - 1); + return []; + }); + } + function integerReadValueFromPointer(name, shift, signed) { + switch (shift) { + case 0: + return signed ? function readS8FromPointer(pointer) { + return GROWABLE_HEAP_I8()[pointer >>> 0]; + } : function readU8FromPointer(pointer) { + return GROWABLE_HEAP_U8()[pointer >>> 0]; + }; + case 1: + return signed ? function readS16FromPointer(pointer) { + return GROWABLE_HEAP_I16()[pointer >>> 1]; + } : function readU16FromPointer(pointer) { + return GROWABLE_HEAP_U16()[pointer >>> 1]; + }; + case 2: + return signed ? function readS32FromPointer(pointer) { + return GROWABLE_HEAP_I32()[pointer >>> 2]; + } : function readU32FromPointer(pointer) { + return GROWABLE_HEAP_U32()[pointer >>> 2]; + }; + default: + throw new TypeError("Unknown integer type: " + name); + } + } + function __embind_register_integer(primitiveType, name, size, minRange, maxRange) { + name = readLatin1String(name); + var shift = getShiftFromSize(size); + var fromWireType = (value) => value; + if (minRange === 0) { + var bitshift = 32 - 8 * size; + fromWireType = (value) => value << bitshift >>> bitshift; + } + var isUnsignedType = name.includes("unsigned"); + var checkAssertions = (value, toTypeName) => { + }; + var toWireType; + if (isUnsignedType) { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + return value >>> 0; + }; + } else { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + return value; + }; + } + registerType(primitiveType, { name, "fromWireType": fromWireType, "toWireType": toWireType, "argPackAdvance": 8, "readValueFromPointer": integerReadValueFromPointer(name, shift, minRange !== 0), destructorFunction: null }); + } + function __embind_register_memory_view(rawType, dataTypeIndex, name) { + var typeMapping = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; + var TA = typeMapping[dataTypeIndex]; + function decodeMemoryView(handle) { + handle = handle >> 2; + var heap = GROWABLE_HEAP_U32(); + var size = heap[handle >>> 0]; + var data = heap[handle + 1 >>> 0]; + return new TA(heap.buffer, data, size); + } + name = readLatin1String(name); + registerType(rawType, { name, "fromWireType": decodeMemoryView, "argPackAdvance": 8, "readValueFromPointer": decodeMemoryView }, { ignoreDuplicateRegistrations: true }); + } + function __embind_register_std_string(rawType, name) { + name = readLatin1String(name); + var stdStringIsUTF8 = name === "std::string"; + registerType(rawType, { name, "fromWireType": function(value) { + var length = GROWABLE_HEAP_U32()[value >>> 2]; + var payload = value + 4; + var str; + if (stdStringIsUTF8) { + var decodeStartPtr = payload; + for (var i = 0; i <= length; ++i) { + var currentBytePtr = payload + i; + if (i == length || GROWABLE_HEAP_U8()[currentBytePtr >>> 0] == 0) { + var maxRead = currentBytePtr - decodeStartPtr; + var stringSegment = UTF8ToString(decodeStartPtr, maxRead); + if (str === void 0) { + str = stringSegment; + } else { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + 1; + } + } + } else { + var a = new Array(length); + for (var i = 0; i < length; ++i) { + a[i] = String.fromCharCode(GROWABLE_HEAP_U8()[payload + i >>> 0]); + } + str = a.join(""); + } + _free(value); + return str; + }, "toWireType": function(destructors, value) { + if (value instanceof ArrayBuffer) { + value = new Uint8Array(value); + } + var length; + var valueIsOfTypeString = typeof value == "string"; + if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) { + throwBindingError("Cannot pass non-string to std::string"); + } + if (stdStringIsUTF8 && valueIsOfTypeString) { + length = lengthBytesUTF8(value); + } else { + length = value.length; + } + var base = _malloc(4 + length + 1); + var ptr = base + 4; + ptr >>>= 0; + GROWABLE_HEAP_U32()[base >>> 2] = length; + if (stdStringIsUTF8 && valueIsOfTypeString) { + stringToUTF8(value, ptr, length + 1); + } else { + if (valueIsOfTypeString) { + for (var i = 0; i < length; ++i) { + var charCode = value.charCodeAt(i); + if (charCode > 255) { + _free(ptr); + throwBindingError("String has UTF-16 code units that do not fit in 8 bits"); + } + GROWABLE_HEAP_U8()[ptr + i >>> 0] = charCode; + } + } else { + for (var i = 0; i < length; ++i) { + GROWABLE_HEAP_U8()[ptr + i >>> 0] = value[i]; + } + } + } + if (destructors !== null) { + destructors.push(_free, base); + } + return base; + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: function(ptr) { + _free(ptr); + } }); + } + var UTF16Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf-16le") : void 0; + function UTF16ToString(ptr, maxBytesToRead) { + var endPtr = ptr; + var idx = endPtr >> 1; + var maxIdx = idx + maxBytesToRead / 2; + while (!(idx >= maxIdx) && GROWABLE_HEAP_U16()[idx >>> 0]) + ++idx; + endPtr = idx << 1; + if (endPtr - ptr > 32 && UTF16Decoder) + return UTF16Decoder.decode(GROWABLE_HEAP_U8().slice(ptr, endPtr)); + var str = ""; + for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { + var codeUnit = GROWABLE_HEAP_I16()[ptr + i * 2 >>> 1]; + if (codeUnit == 0) + break; + str += String.fromCharCode(codeUnit); + } + return str; + } + function stringToUTF16(str, outPtr, maxBytesToWrite) { + if (maxBytesToWrite === void 0) { + maxBytesToWrite = 2147483647; + } + if (maxBytesToWrite < 2) + return 0; + maxBytesToWrite -= 2; + var startPtr = outPtr; + var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + var codeUnit = str.charCodeAt(i); + GROWABLE_HEAP_I16()[outPtr >>> 1] = codeUnit; + outPtr += 2; + } + GROWABLE_HEAP_I16()[outPtr >>> 1] = 0; + return outPtr - startPtr; + } + function lengthBytesUTF16(str) { + return str.length * 2; + } + function UTF32ToString(ptr, maxBytesToRead) { + var i = 0; + var str = ""; + while (!(i >= maxBytesToRead / 4)) { + var utf32 = GROWABLE_HEAP_I32()[ptr + i * 4 >>> 2]; + if (utf32 == 0) + break; + ++i; + if (utf32 >= 65536) { + var ch = utf32 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } else { + str += String.fromCharCode(utf32); + } + } + return str; + } + function stringToUTF32(str, outPtr, maxBytesToWrite) { + outPtr >>>= 0; + if (maxBytesToWrite === void 0) { + maxBytesToWrite = 2147483647; + } + if (maxBytesToWrite < 4) + return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 55296 && codeUnit <= 57343) { + var trailSurrogate = str.charCodeAt(++i); + codeUnit = 65536 + ((codeUnit & 1023) << 10) | trailSurrogate & 1023; + } + GROWABLE_HEAP_I32()[outPtr >>> 2] = codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) + break; + } + GROWABLE_HEAP_I32()[outPtr >>> 2] = 0; + return outPtr - startPtr; + } + function lengthBytesUTF32(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 55296 && codeUnit <= 57343) + ++i; + len += 4; + } + return len; + } + function __embind_register_std_wstring(rawType, charSize, name) { + name = readLatin1String(name); + var decodeString, encodeString, getHeap, lengthBytesUTF, shift; + if (charSize === 2) { + decodeString = UTF16ToString; + encodeString = stringToUTF16; + lengthBytesUTF = lengthBytesUTF16; + getHeap = () => GROWABLE_HEAP_U16(); + shift = 1; + } else if (charSize === 4) { + decodeString = UTF32ToString; + encodeString = stringToUTF32; + lengthBytesUTF = lengthBytesUTF32; + getHeap = () => GROWABLE_HEAP_U32(); + shift = 2; + } + registerType(rawType, { name, "fromWireType": function(value) { + var length = GROWABLE_HEAP_U32()[value >>> 2]; + var HEAP = getHeap(); + var str; + var decodeStartPtr = value + 4; + for (var i = 0; i <= length; ++i) { + var currentBytePtr = value + 4 + i * charSize; + if (i == length || HEAP[currentBytePtr >>> shift] == 0) { + var maxReadBytes = currentBytePtr - decodeStartPtr; + var stringSegment = decodeString(decodeStartPtr, maxReadBytes); + if (str === void 0) { + str = stringSegment; + } else { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + charSize; + } + } + _free(value); + return str; + }, "toWireType": function(destructors, value) { + if (!(typeof value == "string")) { + throwBindingError("Cannot pass non-string to C++ string type " + name); + } + var length = lengthBytesUTF(value); + var ptr = _malloc(4 + length + charSize); + ptr >>>= 0; + GROWABLE_HEAP_U32()[ptr >>> 2] = length >> shift; + encodeString(value, ptr + 4, length + charSize); + if (destructors !== null) { + destructors.push(_free, ptr); + } + return ptr; + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: function(ptr) { + _free(ptr); + } }); + } + function __embind_register_value_array(rawType, name, constructorSignature, rawConstructor, destructorSignature, rawDestructor) { + tupleRegistrations[rawType] = { name: readLatin1String(name), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), elements: [] }; + } + function __embind_register_value_array_element(rawTupleType, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) { + tupleRegistrations[rawTupleType].elements.push({ getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext }); + } + function __embind_register_value_object(rawType, name, constructorSignature, rawConstructor, destructorSignature, rawDestructor) { + structRegistrations[rawType] = { name: readLatin1String(name), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), fields: [] }; + } + function __embind_register_value_object_field(structType, fieldName, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) { + structRegistrations[structType].fields.push({ fieldName: readLatin1String(fieldName), getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext }); + } + function __embind_register_void(rawType, name) { + name = readLatin1String(name); + registerType(rawType, { isVoid: true, name, "argPackAdvance": 0, "fromWireType": function() { + return void 0; + }, "toWireType": function(destructors, o) { + return void 0; + } }); + } + function __emscripten_err(str) { + err(UTF8ToString(str)); + } + function executeNotifiedProxyingQueue(queue) { + Atomics.store(GROWABLE_HEAP_I32(), queue >> 2, 1); + if (_pthread_self()) { + __emscripten_proxy_execute_task_queue(queue); + } + Atomics.compareExchange(GROWABLE_HEAP_I32(), queue >> 2, 1, 0); + } + Module["executeNotifiedProxyingQueue"] = executeNotifiedProxyingQueue; + function __emscripten_notify_task_queue(targetThreadId, currThreadId, mainThreadId, queue) { + if (targetThreadId == currThreadId) { + setTimeout(() => executeNotifiedProxyingQueue(queue)); + } else if (ENVIRONMENT_IS_PTHREAD) { + postMessage({ "targetThread": targetThreadId, "cmd": "processProxyingQueue", "queue": queue }); + } else { + var worker = PThread.pthreads[targetThreadId]; + if (!worker) { + return; + } + worker.postMessage({ "cmd": "processProxyingQueue", "queue": queue }); + } + return 1; + } + function __emscripten_set_offscreencanvas_size(target, width, height) { + return -1; + } + function __emval_as(handle, returnType, destructorsRef) { + handle = Emval.toValue(handle); + returnType = requireRegisteredType(returnType, "emval::as"); + var destructors = []; + var rd = Emval.toHandle(destructors); + GROWABLE_HEAP_U32()[destructorsRef >>> 2] = rd; + return returnType["toWireType"](destructors, handle); + } + function emval_lookupTypes(argCount, argTypes) { + var a = new Array(argCount); + for (var i = 0; i < argCount; ++i) { + a[i] = requireRegisteredType(GROWABLE_HEAP_U32()[argTypes + i * 4 >>> 2], "parameter " + i); + } + return a; + } + function __emval_call(handle, argCount, argTypes, argv) { + handle = Emval.toValue(handle); + var types = emval_lookupTypes(argCount, argTypes); + var args = new Array(argCount); + for (var i = 0; i < argCount; ++i) { + var type = types[i]; + args[i] = type["readValueFromPointer"](argv); + argv += type["argPackAdvance"]; + } + var rv = handle.apply(void 0, args); + return Emval.toHandle(rv); + } + var emval_symbols = {}; + function getStringOrSymbol(address) { + var symbol = emval_symbols[address]; + if (symbol === void 0) { + return readLatin1String(address); + } + return symbol; + } + function emval_get_global() { + if (typeof globalThis == "object") { + return globalThis; + } + return function() { + return Function; + }()("return this")(); + } + function __emval_get_global(name) { + if (name === 0) { + return Emval.toHandle(emval_get_global()); + } else { + name = getStringOrSymbol(name); + return Emval.toHandle(emval_get_global()[name]); + } + } + function __emval_get_property(handle, key) { + handle = Emval.toValue(handle); + key = Emval.toValue(key); + return Emval.toHandle(handle[key]); + } + function __emval_incref(handle) { + if (handle > 4) { + emval_handle_array[handle].refcount += 1; + } + } + function __emval_instanceof(object, constructor) { + object = Emval.toValue(object); + constructor = Emval.toValue(constructor); + return object instanceof constructor; + } + function __emval_is_number(handle) { + handle = Emval.toValue(handle); + return typeof handle == "number"; + } + function __emval_is_string(handle) { + handle = Emval.toValue(handle); + return typeof handle == "string"; + } + function __emval_new_array() { + return Emval.toHandle([]); + } + function __emval_new_cstring(v) { + return Emval.toHandle(getStringOrSymbol(v)); + } + function __emval_new_object() { + return Emval.toHandle({}); + } + function __emval_run_destructors(handle) { + var destructors = Emval.toValue(handle); + runDestructors(destructors); + __emval_decref(handle); + } + function __emval_set_property(handle, key, value) { + handle = Emval.toValue(handle); + key = Emval.toValue(key); + value = Emval.toValue(value); + handle[key] = value; + } + function __emval_take_value(type, arg) { + type = requireRegisteredType(type, "_emval_take_value"); + var v = type["readValueFromPointer"](arg); + return Emval.toHandle(v); + } + function _abort() { + abort(""); + } + function warnOnce(text) { + if (!warnOnce.shown) + warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text); + } + } + function _emscripten_check_blocking_allowed() { + if (ENVIRONMENT_IS_WORKER) + return; + warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread"); + } + var _emscripten_get_now; + _emscripten_get_now = () => performance.timeOrigin + performance.now(); + function _emscripten_memcpy_big(dest, src, num) { + GROWABLE_HEAP_U8().copyWithin(dest >>> 0, src >>> 0, src + num >>> 0); + } + function withStackSave(f) { + var stack = stackSave(); + var ret = f(); + stackRestore(stack); + return ret; + } + function _emscripten_proxy_to_main_thread_js(index, sync) { + var numCallArgs = arguments.length - 2; + var outerArgs = arguments; + return withStackSave(() => { + var serializedNumCallArgs = numCallArgs; + var args = stackAlloc(serializedNumCallArgs * 8); + var b = args >> 3; + for (var i = 0; i < numCallArgs; i++) { + var arg = outerArgs[2 + i]; + GROWABLE_HEAP_F64()[b + i >>> 0] = arg; + } + return _emscripten_run_in_main_runtime_thread_js(index, serializedNumCallArgs, args, sync); + }); + } + var _emscripten_receive_on_main_thread_js_callArgs = []; + function _emscripten_receive_on_main_thread_js(index, numCallArgs, args) { + _emscripten_receive_on_main_thread_js_callArgs.length = numCallArgs; + var b = args >> 3; + for (var i = 0; i < numCallArgs; i++) { + _emscripten_receive_on_main_thread_js_callArgs[i] = GROWABLE_HEAP_F64()[b + i >>> 0]; + } + var func = proxiedFunctionTable[index]; + return func.apply(null, _emscripten_receive_on_main_thread_js_callArgs); + } + function getHeapMax() { + return 4294901760; + } + function emscripten_realloc_buffer(size) { + var b = wasmMemory.buffer; + try { + wasmMemory.grow(size - b.byteLength + 65535 >>> 16); + updateMemoryViews(); + return 1; + } catch (e) { + } + } + function _emscripten_resize_heap(requestedSize) { + var oldSize = GROWABLE_HEAP_U8().length; + requestedSize = requestedSize >>> 0; + if (requestedSize <= oldSize) { + return false; + } + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + return false; + } + let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; + } + function _emscripten_unwind_to_js_event_loop() { + throw "unwind"; + } + var ENV = {}; + function getExecutableName() { + return thisProgram || "./this.program"; + } + function getEnvStrings() { + if (!getEnvStrings.strings) { + var lang = (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + var env = { "USER": "web_user", "LOGNAME": "web_user", "PATH": "/", "PWD": "/", "HOME": "/home/web_user", "LANG": lang, "_": getExecutableName() }; + for (var x in ENV) { + if (ENV[x] === void 0) + delete env[x]; + else + env[x] = ENV[x]; + } + var strings = []; + for (var x in env) { + strings.push(x + "=" + env[x]); + } + getEnvStrings.strings = strings; + } + return getEnvStrings.strings; + } + function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + GROWABLE_HEAP_I8()[buffer++ >>> 0] = str.charCodeAt(i); + } + if (!dontAddNull) + GROWABLE_HEAP_I8()[buffer >>> 0] = 0; + } + function _environ_get(__environ, environ_buf) { + if (ENVIRONMENT_IS_PTHREAD) + return _emscripten_proxy_to_main_thread_js(3, 1, __environ, environ_buf); + var bufSize = 0; + getEnvStrings().forEach(function(string, i) { + var ptr = environ_buf + bufSize; + GROWABLE_HEAP_U32()[__environ + i * 4 >>> 2] = ptr; + writeAsciiToMemory(string, ptr); + bufSize += string.length + 1; + }); + return 0; + } + function _environ_sizes_get(penviron_count, penviron_buf_size) { + if (ENVIRONMENT_IS_PTHREAD) + return _emscripten_proxy_to_main_thread_js(4, 1, penviron_count, penviron_buf_size); + var strings = getEnvStrings(); + GROWABLE_HEAP_U32()[penviron_count >>> 2] = strings.length; + var bufSize = 0; + strings.forEach(function(string) { + bufSize += string.length + 1; + }); + GROWABLE_HEAP_U32()[penviron_buf_size >>> 2] = bufSize; + return 0; + } + function _fd_close(fd) { + if (ENVIRONMENT_IS_PTHREAD) + return _emscripten_proxy_to_main_thread_js(5, 1, fd); + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) + throw e; + return e.errno; + } + } + function doReadv(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = GROWABLE_HEAP_U32()[iov >>> 2]; + var len = GROWABLE_HEAP_U32()[iov + 4 >>> 2]; + iov += 8; + var curr = FS.read(stream, GROWABLE_HEAP_I8(), ptr, len, offset); + if (curr < 0) + return -1; + ret += curr; + if (curr < len) + break; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; + } + function _fd_read(fd, iov, iovcnt, pnum) { + if (ENVIRONMENT_IS_PTHREAD) + return _emscripten_proxy_to_main_thread_js(6, 1, fd, iov, iovcnt, pnum); + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + GROWABLE_HEAP_U32()[pnum >>> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) + throw e; + return e.errno; + } + } + function convertI32PairToI53Checked(lo, hi) { + return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN; + } + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + if (ENVIRONMENT_IS_PTHREAD) + return _emscripten_proxy_to_main_thread_js(7, 1, fd, offset_low, offset_high, whence, newOffset); + try { + var offset = convertI32PairToI53Checked(offset_low, offset_high); + if (isNaN(offset)) + return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + FS.llseek(stream, offset, whence); + tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[newOffset >>> 2] = tempI64[0], GROWABLE_HEAP_I32()[newOffset + 4 >>> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) + stream.getdents = null; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) + throw e; + return e.errno; + } + } + function doWritev(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = GROWABLE_HEAP_U32()[iov >>> 2]; + var len = GROWABLE_HEAP_U32()[iov + 4 >>> 2]; + iov += 8; + var curr = FS.write(stream, GROWABLE_HEAP_I8(), ptr, len, offset); + if (curr < 0) + return -1; + ret += curr; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; + } + function _fd_write(fd, iov, iovcnt, pnum) { + if (ENVIRONMENT_IS_PTHREAD) + return _emscripten_proxy_to_main_thread_js(8, 1, fd, iov, iovcnt, pnum); + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + GROWABLE_HEAP_U32()[pnum >>> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) + throw e; + return e.errno; + } + } + function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); + } + function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]) { + } + return sum; + } + var __MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + var __MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1); + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1); + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate; + } + } + return newDate; + } + function writeArrayToMemory(array, buffer) { + GROWABLE_HEAP_I8().set(array, buffer >>> 0); + } + function _strftime(s, maxsize, format, tm) { + var tm_zone = GROWABLE_HEAP_I32()[tm + 40 >>> 2]; + var date = { tm_sec: GROWABLE_HEAP_I32()[tm >>> 2], tm_min: GROWABLE_HEAP_I32()[tm + 4 >>> 2], tm_hour: GROWABLE_HEAP_I32()[tm + 8 >>> 2], tm_mday: GROWABLE_HEAP_I32()[tm + 12 >>> 2], tm_mon: GROWABLE_HEAP_I32()[tm + 16 >>> 2], tm_year: GROWABLE_HEAP_I32()[tm + 20 >>> 2], tm_wday: GROWABLE_HEAP_I32()[tm + 24 >>> 2], tm_yday: GROWABLE_HEAP_I32()[tm + 28 >>> 2], tm_isdst: GROWABLE_HEAP_I32()[tm + 32 >>> 2], tm_gmtoff: GROWABLE_HEAP_I32()[tm + 36 >>> 2], tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { "%c": "%a %b %d %H:%M:%S %Y", "%D": "%m/%d/%y", "%F": "%Y-%m-%d", "%h": "%b", "%r": "%I:%M:%S %p", "%R": "%H:%M", "%T": "%H:%M:%S", "%x": "%m/%d/%y", "%X": "%H:%M:%S", "%Ec": "%c", "%EC": "%C", "%Ex": "%m/%d/%y", "%EX": "%H:%M:%S", "%Ey": "%y", "%EY": "%Y", "%Od": "%d", "%Oe": "%e", "%OH": "%H", "%OI": "%I", "%Om": "%m", "%OM": "%M", "%OS": "%S", "%Ou": "%u", "%OU": "%U", "%OV": "%V", "%Ow": "%w", "%OW": "%W", "%Oy": "%y" }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]); + } + var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; + var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + function leadingSomething(value, digits, character) { + var str = typeof value == "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str; + } + return str; + } + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0"); + } + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0; + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()); + } + } + return compare; + } + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + case 1: + return janFourth; + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30); + } + } + function getWeekBasedYear(date2) { + var thisDate = __addDays(new Date(date2.tm_year + 1900, 0, 1), date2.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1; + } + return thisDate.getFullYear(); + } + return thisDate.getFullYear() - 1; + } + var EXPANSION_RULES_2 = { "%a": function(date2) { + return WEEKDAYS[date2.tm_wday].substring(0, 3); + }, "%A": function(date2) { + return WEEKDAYS[date2.tm_wday]; + }, "%b": function(date2) { + return MONTHS[date2.tm_mon].substring(0, 3); + }, "%B": function(date2) { + return MONTHS[date2.tm_mon]; + }, "%C": function(date2) { + var year = date2.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2); + }, "%d": function(date2) { + return leadingNulls(date2.tm_mday, 2); + }, "%e": function(date2) { + return leadingSomething(date2.tm_mday, 2, " "); + }, "%g": function(date2) { + return getWeekBasedYear(date2).toString().substring(2); + }, "%G": function(date2) { + return getWeekBasedYear(date2); + }, "%H": function(date2) { + return leadingNulls(date2.tm_hour, 2); + }, "%I": function(date2) { + var twelveHour = date2.tm_hour; + if (twelveHour == 0) + twelveHour = 12; + else if (twelveHour > 12) + twelveHour -= 12; + return leadingNulls(twelveHour, 2); + }, "%j": function(date2) { + return leadingNulls(date2.tm_mday + __arraySum(__isLeapYear(date2.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date2.tm_mon - 1), 3); + }, "%m": function(date2) { + return leadingNulls(date2.tm_mon + 1, 2); + }, "%M": function(date2) { + return leadingNulls(date2.tm_min, 2); + }, "%n": function() { + return "\n"; + }, "%p": function(date2) { + if (date2.tm_hour >= 0 && date2.tm_hour < 12) { + return "AM"; + } + return "PM"; + }, "%S": function(date2) { + return leadingNulls(date2.tm_sec, 2); + }, "%t": function() { + return " "; + }, "%u": function(date2) { + return date2.tm_wday || 7; + }, "%U": function(date2) { + var days = date2.tm_yday + 7 - date2.tm_wday; + return leadingNulls(Math.floor(days / 7), 2); + }, "%V": function(date2) { + var val = Math.floor((date2.tm_yday + 7 - (date2.tm_wday + 6) % 7) / 7); + if ((date2.tm_wday + 371 - date2.tm_yday - 2) % 7 <= 2) { + val++; + } + if (!val) { + val = 52; + var dec31 = (date2.tm_wday + 7 - date2.tm_yday - 1) % 7; + if (dec31 == 4 || dec31 == 5 && __isLeapYear(date2.tm_year % 400 - 1)) { + val++; + } + } else if (val == 53) { + var jan1 = (date2.tm_wday + 371 - date2.tm_yday) % 7; + if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date2.tm_year))) + val = 1; + } + return leadingNulls(val, 2); + }, "%w": function(date2) { + return date2.tm_wday; + }, "%W": function(date2) { + var days = date2.tm_yday + 7 - (date2.tm_wday + 6) % 7; + return leadingNulls(Math.floor(days / 7), 2); + }, "%y": function(date2) { + return (date2.tm_year + 1900).toString().substring(2); + }, "%Y": function(date2) { + return date2.tm_year + 1900; + }, "%z": function(date2) { + var off = date2.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4); + }, "%Z": function(date2) { + return date2.tm_zone; + }, "%%": function() { + return "%"; + } }; + pattern = pattern.replace(/%%/g, "\0\0"); + for (var rule in EXPANSION_RULES_2) { + if (pattern.includes(rule)) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)); + } + } + pattern = pattern.replace(/\0\0/g, "%"); + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0; + } + writeArrayToMemory(bytes, s); + return bytes.length - 1; + } + function _strftime_l(s, maxsize, format, tm, loc) { + return _strftime(s, maxsize, format, tm); + } + PThread.init(); + var FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FSNode.prototype, { read: { get: function() { + return (this.mode & readMode) === readMode; + }, set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } }, write: { get: function() { + return (this.mode & writeMode) === writeMode; + }, set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } }, isFolder: { get: function() { + return FS.isDir(this.mode); + } }, isDevice: { get: function() { + return FS.isChrdev(this.mode); + } } }); + FS.FSNode = FSNode; + FS.staticInit(); + InternalError = Module["InternalError"] = extendError(Error, "InternalError"); + embind_init_charCodes(); + BindingError = Module["BindingError"] = extendError(Error, "BindingError"); + init_ClassHandle(); + init_embind(); + init_RegisteredPointer(); + UnboundTypeError = Module["UnboundTypeError"] = extendError(Error, "UnboundTypeError"); + init_emval(); + var proxiedFunctionTable = [null, _proc_exit, exitOnMainThread, _environ_get, _environ_sizes_get, _fd_close, _fd_read, _fd_seek, _fd_write]; + var wasmImports = { "h": ___cxa_throw, "U": ___emscripten_init_main_thread_js, "K": ___emscripten_thread_cleanup, "Y": __dlinit, "$": __dlopen_js, "_": __dlsym_catchup_js, "ea": __embind_finalize_value_array, "r": __embind_finalize_value_object, "I": __embind_register_bigint, "ca": __embind_register_bool, "q": __embind_register_class, "p": __embind_register_class_constructor, "c": __embind_register_class_function, "ba": __embind_register_emval, "E": __embind_register_enum, "u": __embind_register_enum_value, "C": __embind_register_float, "d": __embind_register_function, "t": __embind_register_integer, "j": __embind_register_memory_view, "D": __embind_register_std_string, "y": __embind_register_std_wstring, "fa": __embind_register_value_array, "m": __embind_register_value_array_element, "s": __embind_register_value_object, "f": __embind_register_value_object_field, "da": __embind_register_void, "Z": __emscripten_err, "W": __emscripten_notify_task_queue, "T": __emscripten_set_offscreencanvas_size, "l": __emval_as, "x": __emval_call, "b": __emval_decref, "A": __emval_get_global, "i": __emval_get_property, "o": __emval_incref, "G": __emval_instanceof, "z": __emval_is_number, "F": __emval_is_string, "ga": __emval_new_array, "g": __emval_new_cstring, "w": __emval_new_object, "k": __emval_run_destructors, "n": __emval_set_property, "e": __emval_take_value, "B": _abort, "V": _emscripten_check_blocking_allowed, "v": _emscripten_get_now, "X": _emscripten_memcpy_big, "S": _emscripten_receive_on_main_thread_js, "Q": _emscripten_resize_heap, "aa": _emscripten_unwind_to_js_event_loop, "M": _environ_get, "N": _environ_sizes_get, "J": _exit, "O": _fd_close, "P": _fd_read, "H": _fd_seek, "R": _fd_write, "a": wasmMemory || Module["wasmMemory"], "L": _strftime_l }; + createWasm(); + var _malloc = function() { + return (_malloc = Module["asm"]["ja"]).apply(null, arguments); + }; + Module["__emscripten_tls_init"] = function() { + return (Module["__emscripten_tls_init"] = Module["asm"]["ka"]).apply(null, arguments); + }; + var _pthread_self = Module["_pthread_self"] = function() { + return (_pthread_self = Module["_pthread_self"] = Module["asm"]["la"]).apply(null, arguments); + }; + var ___getTypeName = Module["___getTypeName"] = function() { + return (___getTypeName = Module["___getTypeName"] = Module["asm"]["ma"]).apply(null, arguments); + }; + Module["__embind_initialize_bindings"] = function() { + return (Module["__embind_initialize_bindings"] = Module["asm"]["na"]).apply(null, arguments); + }; + var __emscripten_thread_init = Module["__emscripten_thread_init"] = function() { + return (__emscripten_thread_init = Module["__emscripten_thread_init"] = Module["asm"]["oa"]).apply(null, arguments); + }; + Module["__emscripten_thread_crashed"] = function() { + return (Module["__emscripten_thread_crashed"] = Module["asm"]["pa"]).apply(null, arguments); + }; + var _emscripten_run_in_main_runtime_thread_js = function() { + return (_emscripten_run_in_main_runtime_thread_js = Module["asm"]["qa"]).apply(null, arguments); + }; + var __emscripten_proxy_execute_task_queue = Module["__emscripten_proxy_execute_task_queue"] = function() { + return (__emscripten_proxy_execute_task_queue = Module["__emscripten_proxy_execute_task_queue"] = Module["asm"]["ra"]).apply(null, arguments); + }; + var __emscripten_thread_free_data = function() { + return (__emscripten_thread_free_data = Module["asm"]["sa"]).apply(null, arguments); + }; + var __emscripten_thread_exit = Module["__emscripten_thread_exit"] = function() { + return (__emscripten_thread_exit = Module["__emscripten_thread_exit"] = Module["asm"]["ta"]).apply(null, arguments); + }; + var _free = function() { + return (_free = Module["asm"]["ua"]).apply(null, arguments); + }; + var _emscripten_stack_set_limits = function() { + return (_emscripten_stack_set_limits = Module["asm"]["va"]).apply(null, arguments); + }; + var stackSave = function() { + return (stackSave = Module["asm"]["wa"]).apply(null, arguments); + }; + var stackRestore = function() { + return (stackRestore = Module["asm"]["xa"]).apply(null, arguments); + }; + var stackAlloc = function() { + return (stackAlloc = Module["asm"]["ya"]).apply(null, arguments); + }; + var ___cxa_is_pointer_type = function() { + return (___cxa_is_pointer_type = Module["asm"]["za"]).apply(null, arguments); + }; + Module["dynCall_jiji"] = function() { + return (Module["dynCall_jiji"] = Module["asm"]["Aa"]).apply(null, arguments); + }; + Module["dynCall_viijii"] = function() { + return (Module["dynCall_viijii"] = Module["asm"]["Ba"]).apply(null, arguments); + }; + Module["dynCall_iiiiij"] = function() { + return (Module["dynCall_iiiiij"] = Module["asm"]["Ca"]).apply(null, arguments); + }; + Module["dynCall_iiiiijj"] = function() { + return (Module["dynCall_iiiiijj"] = Module["asm"]["Da"]).apply(null, arguments); + }; + Module["dynCall_iiiiiijj"] = function() { + return (Module["dynCall_iiiiiijj"] = Module["asm"]["Ea"]).apply(null, arguments); + }; + Module["keepRuntimeAlive"] = keepRuntimeAlive; + Module["wasmMemory"] = wasmMemory; + Module["ExitStatus"] = ExitStatus; + Module["PThread"] = PThread; + var calledRun; + dependenciesFulfilled = function runCaller() { + if (!calledRun) + run(); + if (!calledRun) + dependenciesFulfilled = runCaller; + }; + function run() { + if (runDependencies > 0) { + return; + } + if (ENVIRONMENT_IS_PTHREAD) { + readyPromiseResolve(Module); + initRuntime(); + startWorker(Module); + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) + return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) + return; + initRuntime(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) + Module["onRuntimeInitialized"](); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + } + if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") + Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } + } + run(); + return WebIFCWasm3.ready; + }; + })(); + if (typeof exports === "object" && typeof module === "object") + module.exports = WebIFCWasm2; + else if (typeof define === "function" && define["amd"]) + define([], function() { + return WebIFCWasm2; + }); + else if (typeof exports === "object") + exports["WebIFCWasm"] = WebIFCWasm2; + } +}); + +// dist/web-ifc.js +var require_web_ifc = __commonJS({ + "dist/web-ifc.js"(exports, module) { + var WebIFCWasm2 = (() => { + var _scriptDir = typeof document !== "undefined" && document.currentScript ? document.currentScript.src : void 0; + return function(WebIFCWasm3 = {}) { + var Module = typeof WebIFCWasm3 != "undefined" ? WebIFCWasm3 : {}; + var readyPromiseResolve, readyPromiseReject; + Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; + }); + var moduleOverrides = Object.assign({}, Module); + var thisProgram = "./this.program"; + var ENVIRONMENT_IS_WEB = true; + var scriptDirectory = ""; + function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; + } + var read_, readAsync, readBinary; + { + if (typeof document != "undefined" && document.currentScript) { + scriptDirectory = document.currentScript.src; + } + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1); + } else { + scriptDirectory = ""; + } + { + read_ = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText; + }; + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = () => { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; + } + } + var out = Module["print"] || console.log.bind(console); + var err = Module["printErr"] || console.warn.bind(console); + Object.assign(Module, moduleOverrides); + moduleOverrides = null; + if (Module["arguments"]) + Module["arguments"]; + if (Module["thisProgram"]) + thisProgram = Module["thisProgram"]; + if (Module["quit"]) + Module["quit"]; + var wasmBinary; + if (Module["wasmBinary"]) + wasmBinary = Module["wasmBinary"]; + Module["noExitRuntime"] || true; + if (typeof WebAssembly != "object") { + abort("no native wasm support detected"); + } + var wasmMemory; + var ABORT = false; + function assert(condition, text) { + if (!condition) { + abort(text); + } + } + var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : void 0; + function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { + idx >>>= 0; + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) + ++endPtr; + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ""; + while (idx < endPtr) { + var u0 = heapOrArray[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue; + } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2; + } else { + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63; + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } + } + return str; + } + function UTF8ToString(ptr, maxBytesToRead) { + ptr >>>= 0; + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""; + } + function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + outIdx >>>= 0; + if (!(maxBytesToWrite > 0)) + return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) + break; + heap[outIdx++ >>> 0] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) + break; + heap[outIdx++ >>> 0] = 192 | u >> 6; + heap[outIdx++ >>> 0] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) + break; + heap[outIdx++ >>> 0] = 224 | u >> 12; + heap[outIdx++ >>> 0] = 128 | u >> 6 & 63; + heap[outIdx++ >>> 0] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) + break; + heap[outIdx++ >>> 0] = 240 | u >> 18; + heap[outIdx++ >>> 0] = 128 | u >> 12 & 63; + heap[outIdx++ >>> 0] = 128 | u >> 6 & 63; + heap[outIdx++ >>> 0] = 128 | u & 63; + } + } + heap[outIdx >>> 0] = 0; + return outIdx - startIdx; + } + function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); + } + function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var c = str.charCodeAt(i); + if (c <= 127) { + len++; + } else if (c <= 2047) { + len += 2; + } else if (c >= 55296 && c <= 57343) { + len += 4; + ++i; + } else { + len += 3; + } + } + return len; + } + var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + function updateMemoryViews() { + var b = wasmMemory.buffer; + Module["HEAP8"] = HEAP8 = new Int8Array(b); + Module["HEAP16"] = HEAP16 = new Int16Array(b); + Module["HEAP32"] = HEAP32 = new Int32Array(b); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(b); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); + Module["HEAPF32"] = HEAPF32 = new Float32Array(b); + Module["HEAPF64"] = HEAPF64 = new Float64Array(b); + } + var wasmTable; + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATPOSTRUN__ = []; + function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") + Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); + } + function initRuntime() { + if (!Module["noFSInit"] && !FS.init.initialized) + FS.init(); + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATINIT__); + } + function postRun() { + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") + Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); + } + function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); + } + function addOnInit(cb) { + __ATINIT__.unshift(cb); + } + function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); + } + var runDependencies = 0; + var dependenciesFulfilled = null; + function getUniqueRunDependency(id) { + return id; + } + function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + } + function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + if (runDependencies == 0) { + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } + } + function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what = "Aborted(" + what + ")"; + err(what); + ABORT = true; + what += ". Build with -sASSERTIONS for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; + } + var dataURIPrefix = "data:application/octet-stream;base64,"; + function isDataURI(filename) { + return filename.startsWith(dataURIPrefix); + } + var wasmBinaryFile; + wasmBinaryFile = "web-ifc.wasm"; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) ; + throw "both async and sync fetching of the wasm failed"; + } catch (err2) { + abort(err2); + } + } + function getBinaryPromise() { + if (!wasmBinary && (ENVIRONMENT_IS_WEB )) { + if (typeof fetch == "function") { + return fetch(wasmBinaryFile, { credentials: "same-origin" }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'"; + } + return response["arrayBuffer"](); + }).catch(function() { + return getBinary(wasmBinaryFile); + }); + } + } + return Promise.resolve().then(function() { + return getBinary(wasmBinaryFile); + }); + } + function createWasm() { + var info = { "a": wasmImports }; + function receiveInstance(instance, module2) { + var exports3 = instance.exports; + Module["asm"] = exports3; + wasmMemory = Module["asm"]["V"]; + updateMemoryViews(); + wasmTable = Module["asm"]["X"]; + addOnInit(Module["asm"]["W"]); + removeRunDependency(); + } + addRunDependency(); + function receiveInstantiationResult(result) { + receiveInstance(result["instance"]); + } + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info); + }).then(function(instance) { + return instance; + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason); + }); + } + function instantiateAsync() { + if (!wasmBinary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(wasmBinaryFile) && typeof fetch == "function") { + return fetch(wasmBinaryFile, { credentials: "same-origin" }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, info); + return result.then(receiveInstantiationResult, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + return instantiateArrayBuffer(receiveInstantiationResult); + }); + }); + } else { + return instantiateArrayBuffer(receiveInstantiationResult); + } + } + if (Module["instantiateWasm"]) { + try { + var exports2 = Module["instantiateWasm"](info, receiveInstance); + return exports2; + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + readyPromiseReject(e); + } + } + instantiateAsync().catch(readyPromiseReject); + return {}; + } + var tempDouble; + var tempI64; + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + callbacks.shift()(Module); + } + } + function ExceptionInfo(excPtr) { + this.excPtr = excPtr; + this.ptr = excPtr - 24; + this.set_type = function(type) { + HEAPU32[this.ptr + 4 >>> 2] = type; + }; + this.get_type = function() { + return HEAPU32[this.ptr + 4 >>> 2]; + }; + this.set_destructor = function(destructor) { + HEAPU32[this.ptr + 8 >>> 2] = destructor; + }; + this.get_destructor = function() { + return HEAPU32[this.ptr + 8 >>> 2]; + }; + this.set_refcount = function(refcount) { + HEAP32[this.ptr >>> 2] = refcount; + }; + this.set_caught = function(caught) { + caught = caught ? 1 : 0; + HEAP8[this.ptr + 12 >>> 0] = caught; + }; + this.get_caught = function() { + return HEAP8[this.ptr + 12 >>> 0] != 0; + }; + this.set_rethrown = function(rethrown) { + rethrown = rethrown ? 1 : 0; + HEAP8[this.ptr + 13 >>> 0] = rethrown; + }; + this.get_rethrown = function() { + return HEAP8[this.ptr + 13 >>> 0] != 0; + }; + this.init = function(type, destructor) { + this.set_adjusted_ptr(0); + this.set_type(type); + this.set_destructor(destructor); + this.set_refcount(0); + this.set_caught(false); + this.set_rethrown(false); + }; + this.add_ref = function() { + var value = HEAP32[this.ptr >>> 2]; + HEAP32[this.ptr >>> 2] = value + 1; + }; + this.release_ref = function() { + var prev = HEAP32[this.ptr >>> 2]; + HEAP32[this.ptr >>> 2] = prev - 1; + return prev === 1; + }; + this.set_adjusted_ptr = function(adjustedPtr) { + HEAPU32[this.ptr + 16 >>> 2] = adjustedPtr; + }; + this.get_adjusted_ptr = function() { + return HEAPU32[this.ptr + 16 >>> 2]; + }; + this.get_exception_ptr = function() { + var isPointer = ___cxa_is_pointer_type(this.get_type()); + if (isPointer) { + return HEAPU32[this.excPtr >>> 2]; + } + var adjusted = this.get_adjusted_ptr(); + if (adjusted !== 0) + return adjusted; + return this.excPtr; + }; + } + function ___cxa_throw(ptr, type, destructor) { + var info = new ExceptionInfo(ptr); + info.init(type, destructor); + throw ptr; + } + var tupleRegistrations = {}; + function runDestructors(destructors) { + while (destructors.length) { + var ptr = destructors.pop(); + var del = destructors.pop(); + del(ptr); + } + } + function simpleReadValueFromPointer(pointer) { + return this["fromWireType"](HEAP32[pointer >>> 2]); + } + var awaitingDependencies = {}; + var registeredTypes = {}; + var typeDependencies = {}; + var char_0 = 48; + var char_9 = 57; + function makeLegalFunctionName(name) { + if (name === void 0) { + return "_unknown"; + } + name = name.replace(/[^a-zA-Z0-9_]/g, "$"); + var f = name.charCodeAt(0); + if (f >= char_0 && f <= char_9) { + return "_" + name; + } + return name; + } + function createNamedFunction(name, body) { + name = makeLegalFunctionName(name); + return new Function("body", "return function " + name + '() {\n "use strict"; return body.apply(this, arguments);\n};\n')(body); + } + function extendError(baseErrorType, errorName) { + var errorClass = createNamedFunction(errorName, function(message) { + this.name = errorName; + this.message = message; + var stack = new Error(message).stack; + if (stack !== void 0) { + this.stack = this.toString() + "\n" + stack.replace(/^Error(:[^\n]*)?\n/, ""); + } + }); + errorClass.prototype = Object.create(baseErrorType.prototype); + errorClass.prototype.constructor = errorClass; + errorClass.prototype.toString = function() { + if (this.message === void 0) { + return this.name; + } else { + return this.name + ": " + this.message; + } + }; + return errorClass; + } + var InternalError = void 0; + function throwInternalError(message) { + throw new InternalError(message); + } + function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) { + myTypes.forEach(function(type) { + typeDependencies[type] = dependentTypes; + }); + function onComplete(typeConverters2) { + var myTypeConverters = getTypeConverters(typeConverters2); + if (myTypeConverters.length !== myTypes.length) { + throwInternalError("Mismatched type converter count"); + } + for (var i = 0; i < myTypes.length; ++i) { + registerType(myTypes[i], myTypeConverters[i]); + } + } + var typeConverters = new Array(dependentTypes.length); + var unregisteredTypes = []; + var registered = 0; + dependentTypes.forEach((dt, i) => { + if (registeredTypes.hasOwnProperty(dt)) { + typeConverters[i] = registeredTypes[dt]; + } else { + unregisteredTypes.push(dt); + if (!awaitingDependencies.hasOwnProperty(dt)) { + awaitingDependencies[dt] = []; + } + awaitingDependencies[dt].push(() => { + typeConverters[i] = registeredTypes[dt]; + ++registered; + if (registered === unregisteredTypes.length) { + onComplete(typeConverters); + } + }); + } + }); + if (unregisteredTypes.length === 0) { + onComplete(typeConverters); + } + } + function __embind_finalize_value_array(rawTupleType) { + var reg = tupleRegistrations[rawTupleType]; + delete tupleRegistrations[rawTupleType]; + var elements = reg.elements; + var elementsLength = elements.length; + var elementTypes = elements.map(function(elt) { + return elt.getterReturnType; + }).concat(elements.map(function(elt) { + return elt.setterArgumentType; + })); + var rawConstructor = reg.rawConstructor; + var rawDestructor = reg.rawDestructor; + whenDependentTypesAreResolved([rawTupleType], elementTypes, function(elementTypes2) { + elements.forEach((elt, i) => { + var getterReturnType = elementTypes2[i]; + var getter = elt.getter; + var getterContext = elt.getterContext; + var setterArgumentType = elementTypes2[i + elementsLength]; + var setter = elt.setter; + var setterContext = elt.setterContext; + elt.read = (ptr) => { + return getterReturnType["fromWireType"](getter(getterContext, ptr)); + }; + elt.write = (ptr, o) => { + var destructors = []; + setter(setterContext, ptr, setterArgumentType["toWireType"](destructors, o)); + runDestructors(destructors); + }; + }); + return [{ name: reg.name, "fromWireType": function(ptr) { + var rv = new Array(elementsLength); + for (var i = 0; i < elementsLength; ++i) { + rv[i] = elements[i].read(ptr); + } + rawDestructor(ptr); + return rv; + }, "toWireType": function(destructors, o) { + if (elementsLength !== o.length) { + throw new TypeError("Incorrect number of tuple elements for " + reg.name + ": expected=" + elementsLength + ", actual=" + o.length); + } + var ptr = rawConstructor(); + for (var i = 0; i < elementsLength; ++i) { + elements[i].write(ptr, o[i]); + } + if (destructors !== null) { + destructors.push(rawDestructor, ptr); + } + return ptr; + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: rawDestructor }]; + }); + } + var structRegistrations = {}; + function __embind_finalize_value_object(structType) { + var reg = structRegistrations[structType]; + delete structRegistrations[structType]; + var rawConstructor = reg.rawConstructor; + var rawDestructor = reg.rawDestructor; + var fieldRecords = reg.fields; + var fieldTypes = fieldRecords.map((field) => field.getterReturnType).concat(fieldRecords.map((field) => field.setterArgumentType)); + whenDependentTypesAreResolved([structType], fieldTypes, (fieldTypes2) => { + var fields = {}; + fieldRecords.forEach((field, i) => { + var fieldName = field.fieldName; + var getterReturnType = fieldTypes2[i]; + var getter = field.getter; + var getterContext = field.getterContext; + var setterArgumentType = fieldTypes2[i + fieldRecords.length]; + var setter = field.setter; + var setterContext = field.setterContext; + fields[fieldName] = { read: (ptr) => { + return getterReturnType["fromWireType"](getter(getterContext, ptr)); + }, write: (ptr, o) => { + var destructors = []; + setter(setterContext, ptr, setterArgumentType["toWireType"](destructors, o)); + runDestructors(destructors); + } }; + }); + return [{ name: reg.name, "fromWireType": function(ptr) { + var rv = {}; + for (var i in fields) { + rv[i] = fields[i].read(ptr); + } + rawDestructor(ptr); + return rv; + }, "toWireType": function(destructors, o) { + for (var fieldName in fields) { + if (!(fieldName in o)) { + throw new TypeError('Missing field: "' + fieldName + '"'); + } + } + var ptr = rawConstructor(); + for (fieldName in fields) { + fields[fieldName].write(ptr, o[fieldName]); + } + if (destructors !== null) { + destructors.push(rawDestructor, ptr); + } + return ptr; + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: rawDestructor }]; + }); + } + function __embind_register_bigint(primitiveType, name, size, minRange, maxRange) { + } + function getShiftFromSize(size) { + switch (size) { + case 1: + return 0; + case 2: + return 1; + case 4: + return 2; + case 8: + return 3; + default: + throw new TypeError("Unknown type size: " + size); + } + } + function embind_init_charCodes() { + var codes = new Array(256); + for (var i = 0; i < 256; ++i) { + codes[i] = String.fromCharCode(i); + } + embind_charCodes = codes; + } + var embind_charCodes = void 0; + function readLatin1String(ptr) { + var ret = ""; + var c = ptr; + while (HEAPU8[c >>> 0]) { + ret += embind_charCodes[HEAPU8[c++ >>> 0]]; + } + return ret; + } + var BindingError = void 0; + function throwBindingError(message) { + throw new BindingError(message); + } + function registerType(rawType, registeredInstance, options = {}) { + if (!("argPackAdvance" in registeredInstance)) { + throw new TypeError("registerType registeredInstance requires argPackAdvance"); + } + var name = registeredInstance.name; + if (!rawType) { + throwBindingError('type "' + name + '" must have a positive integer typeid pointer'); + } + if (registeredTypes.hasOwnProperty(rawType)) { + if (options.ignoreDuplicateRegistrations) { + return; + } else { + throwBindingError("Cannot register type '" + name + "' twice"); + } + } + registeredTypes[rawType] = registeredInstance; + delete typeDependencies[rawType]; + if (awaitingDependencies.hasOwnProperty(rawType)) { + var callbacks = awaitingDependencies[rawType]; + delete awaitingDependencies[rawType]; + callbacks.forEach((cb) => cb()); + } + } + function __embind_register_bool(rawType, name, size, trueValue, falseValue) { + var shift = getShiftFromSize(size); + name = readLatin1String(name); + registerType(rawType, { name, "fromWireType": function(wt) { + return !!wt; + }, "toWireType": function(destructors, o) { + return o ? trueValue : falseValue; + }, "argPackAdvance": 8, "readValueFromPointer": function(pointer) { + var heap; + if (size === 1) { + heap = HEAP8; + } else if (size === 2) { + heap = HEAP16; + } else if (size === 4) { + heap = HEAP32; + } else { + throw new TypeError("Unknown boolean type size: " + name); + } + return this["fromWireType"](heap[pointer >>> shift]); + }, destructorFunction: null }); + } + function ClassHandle_isAliasOf(other) { + if (!(this instanceof ClassHandle)) { + return false; + } + if (!(other instanceof ClassHandle)) { + return false; + } + var leftClass = this.$$.ptrType.registeredClass; + var left = this.$$.ptr; + var rightClass = other.$$.ptrType.registeredClass; + var right = other.$$.ptr; + while (leftClass.baseClass) { + left = leftClass.upcast(left); + leftClass = leftClass.baseClass; + } + while (rightClass.baseClass) { + right = rightClass.upcast(right); + rightClass = rightClass.baseClass; + } + return leftClass === rightClass && left === right; + } + function shallowCopyInternalPointer(o) { + return { count: o.count, deleteScheduled: o.deleteScheduled, preservePointerOnDelete: o.preservePointerOnDelete, ptr: o.ptr, ptrType: o.ptrType, smartPtr: o.smartPtr, smartPtrType: o.smartPtrType }; + } + function throwInstanceAlreadyDeleted(obj) { + function getInstanceTypeName(handle) { + return handle.$$.ptrType.registeredClass.name; + } + throwBindingError(getInstanceTypeName(obj) + " instance already deleted"); + } + var finalizationRegistry = false; + function detachFinalizer(handle) { + } + function runDestructor($$) { + if ($$.smartPtr) { + $$.smartPtrType.rawDestructor($$.smartPtr); + } else { + $$.ptrType.registeredClass.rawDestructor($$.ptr); + } + } + function releaseClassHandle($$) { + $$.count.value -= 1; + var toDelete = $$.count.value === 0; + if (toDelete) { + runDestructor($$); + } + } + function downcastPointer(ptr, ptrClass, desiredClass) { + if (ptrClass === desiredClass) { + return ptr; + } + if (desiredClass.baseClass === void 0) { + return null; + } + var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass); + if (rv === null) { + return null; + } + return desiredClass.downcast(rv); + } + var registeredPointers = {}; + function getInheritedInstanceCount() { + return Object.keys(registeredInstances).length; + } + function getLiveInheritedInstances() { + var rv = []; + for (var k in registeredInstances) { + if (registeredInstances.hasOwnProperty(k)) { + rv.push(registeredInstances[k]); + } + } + return rv; + } + var deletionQueue = []; + function flushPendingDeletes() { + while (deletionQueue.length) { + var obj = deletionQueue.pop(); + obj.$$.deleteScheduled = false; + obj["delete"](); + } + } + var delayFunction = void 0; + function setDelayFunction(fn) { + delayFunction = fn; + if (deletionQueue.length && delayFunction) { + delayFunction(flushPendingDeletes); + } + } + function init_embind() { + Module["getInheritedInstanceCount"] = getInheritedInstanceCount; + Module["getLiveInheritedInstances"] = getLiveInheritedInstances; + Module["flushPendingDeletes"] = flushPendingDeletes; + Module["setDelayFunction"] = setDelayFunction; + } + var registeredInstances = {}; + function getBasestPointer(class_, ptr) { + if (ptr === void 0) { + throwBindingError("ptr should not be undefined"); + } + while (class_.baseClass) { + ptr = class_.upcast(ptr); + class_ = class_.baseClass; + } + return ptr; + } + function getInheritedInstance(class_, ptr) { + ptr = getBasestPointer(class_, ptr); + return registeredInstances[ptr]; + } + function makeClassHandle(prototype, record) { + if (!record.ptrType || !record.ptr) { + throwInternalError("makeClassHandle requires ptr and ptrType"); + } + var hasSmartPtrType = !!record.smartPtrType; + var hasSmartPtr = !!record.smartPtr; + if (hasSmartPtrType !== hasSmartPtr) { + throwInternalError("Both smartPtrType and smartPtr must be specified"); + } + record.count = { value: 1 }; + return attachFinalizer(Object.create(prototype, { $$: { value: record } })); + } + function RegisteredPointer_fromWireType(ptr) { + var rawPointer = this.getPointee(ptr); + if (!rawPointer) { + this.destructor(ptr); + return null; + } + var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer); + if (registeredInstance !== void 0) { + if (registeredInstance.$$.count.value === 0) { + registeredInstance.$$.ptr = rawPointer; + registeredInstance.$$.smartPtr = ptr; + return registeredInstance["clone"](); + } else { + var rv = registeredInstance["clone"](); + this.destructor(ptr); + return rv; + } + } + function makeDefaultHandle() { + if (this.isSmartPointer) { + return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr }); + } else { + return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr }); + } + } + var actualType = this.registeredClass.getActualType(rawPointer); + var registeredPointerRecord = registeredPointers[actualType]; + if (!registeredPointerRecord) { + return makeDefaultHandle.call(this); + } + var toType; + if (this.isConst) { + toType = registeredPointerRecord.constPointerType; + } else { + toType = registeredPointerRecord.pointerType; + } + var dp = downcastPointer(rawPointer, this.registeredClass, toType.registeredClass); + if (dp === null) { + return makeDefaultHandle.call(this); + } + if (this.isSmartPointer) { + return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr }); + } else { + return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp }); + } + } + function attachFinalizer(handle) { + if (typeof FinalizationRegistry === "undefined") { + attachFinalizer = (handle2) => handle2; + return handle; + } + finalizationRegistry = new FinalizationRegistry((info) => { + releaseClassHandle(info.$$); + }); + attachFinalizer = (handle2) => { + var $$ = handle2.$$; + var hasSmartPtr = !!$$.smartPtr; + if (hasSmartPtr) { + var info = { $$ }; + finalizationRegistry.register(handle2, info, handle2); + } + return handle2; + }; + detachFinalizer = (handle2) => finalizationRegistry.unregister(handle2); + return attachFinalizer(handle); + } + function ClassHandle_clone() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + if (this.$$.preservePointerOnDelete) { + this.$$.count.value += 1; + return this; + } else { + var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { $$: { value: shallowCopyInternalPointer(this.$$) } })); + clone.$$.count.value += 1; + clone.$$.deleteScheduled = false; + return clone; + } + } + function ClassHandle_delete() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { + throwBindingError("Object already scheduled for deletion"); + } + detachFinalizer(this); + releaseClassHandle(this.$$); + if (!this.$$.preservePointerOnDelete) { + this.$$.smartPtr = void 0; + this.$$.ptr = void 0; + } + } + function ClassHandle_isDeleted() { + return !this.$$.ptr; + } + function ClassHandle_deleteLater() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { + throwBindingError("Object already scheduled for deletion"); + } + deletionQueue.push(this); + if (deletionQueue.length === 1 && delayFunction) { + delayFunction(flushPendingDeletes); + } + this.$$.deleteScheduled = true; + return this; + } + function init_ClassHandle() { + ClassHandle.prototype["isAliasOf"] = ClassHandle_isAliasOf; + ClassHandle.prototype["clone"] = ClassHandle_clone; + ClassHandle.prototype["delete"] = ClassHandle_delete; + ClassHandle.prototype["isDeleted"] = ClassHandle_isDeleted; + ClassHandle.prototype["deleteLater"] = ClassHandle_deleteLater; + } + function ClassHandle() { + } + function ensureOverloadTable(proto, methodName, humanName) { + if (proto[methodName].overloadTable === void 0) { + var prevFunc = proto[methodName]; + proto[methodName] = function() { + if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { + throwBindingError("Function '" + humanName + "' called with an invalid number of arguments (" + arguments.length + ") - expects one of (" + proto[methodName].overloadTable + ")!"); + } + return proto[methodName].overloadTable[arguments.length].apply(this, arguments); + }; + proto[methodName].overloadTable = []; + proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; + } + } + function exposePublicSymbol(name, value, numArguments) { + if (Module.hasOwnProperty(name)) { + if (numArguments === void 0 || Module[name].overloadTable !== void 0 && Module[name].overloadTable[numArguments] !== void 0) { + throwBindingError("Cannot register public name '" + name + "' twice"); + } + ensureOverloadTable(Module, name, name); + if (Module.hasOwnProperty(numArguments)) { + throwBindingError("Cannot register multiple overloads of a function with the same number of arguments (" + numArguments + ")!"); + } + Module[name].overloadTable[numArguments] = value; + } else { + Module[name] = value; + if (numArguments !== void 0) { + Module[name].numArguments = numArguments; + } + } + } + function RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast) { + this.name = name; + this.constructor = constructor; + this.instancePrototype = instancePrototype; + this.rawDestructor = rawDestructor; + this.baseClass = baseClass; + this.getActualType = getActualType; + this.upcast = upcast; + this.downcast = downcast; + this.pureVirtualFunctions = []; + } + function upcastPointer(ptr, ptrClass, desiredClass) { + while (ptrClass !== desiredClass) { + if (!ptrClass.upcast) { + throwBindingError("Expected null or instance of " + desiredClass.name + ", got an instance of " + ptrClass.name); + } + ptr = ptrClass.upcast(ptr); + ptrClass = ptrClass.baseClass; + } + return ptr; + } + function constNoSmartPtrRawPointerToWireType(destructors, handle) { + if (handle === null) { + if (this.isReference) { + throwBindingError("null is not a valid " + this.name); + } + return 0; + } + if (!handle.$$) { + throwBindingError('Cannot pass "' + embindRepr(handle) + '" as a ' + this.name); + } + if (!handle.$$.ptr) { + throwBindingError("Cannot pass deleted object as a pointer of type " + this.name); + } + var handleClass = handle.$$.ptrType.registeredClass; + var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + return ptr; + } + function genericPointerToWireType(destructors, handle) { + var ptr; + if (handle === null) { + if (this.isReference) { + throwBindingError("null is not a valid " + this.name); + } + if (this.isSmartPointer) { + ptr = this.rawConstructor(); + if (destructors !== null) { + destructors.push(this.rawDestructor, ptr); + } + return ptr; + } else { + return 0; + } + } + if (!handle.$$) { + throwBindingError('Cannot pass "' + embindRepr(handle) + '" as a ' + this.name); + } + if (!handle.$$.ptr) { + throwBindingError("Cannot pass deleted object as a pointer of type " + this.name); + } + if (!this.isConst && handle.$$.ptrType.isConst) { + throwBindingError("Cannot convert argument of type " + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + " to parameter type " + this.name); + } + var handleClass = handle.$$.ptrType.registeredClass; + ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + if (this.isSmartPointer) { + if (handle.$$.smartPtr === void 0) { + throwBindingError("Passing raw pointer to smart pointer is illegal"); + } + switch (this.sharingPolicy) { + case 0: + if (handle.$$.smartPtrType === this) { + ptr = handle.$$.smartPtr; + } else { + throwBindingError("Cannot convert argument of type " + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + " to parameter type " + this.name); + } + break; + case 1: + ptr = handle.$$.smartPtr; + break; + case 2: + if (handle.$$.smartPtrType === this) { + ptr = handle.$$.smartPtr; + } else { + var clonedHandle = handle["clone"](); + ptr = this.rawShare(ptr, Emval.toHandle(function() { + clonedHandle["delete"](); + })); + if (destructors !== null) { + destructors.push(this.rawDestructor, ptr); + } + } + break; + default: + throwBindingError("Unsupporting sharing policy"); + } + } + return ptr; + } + function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) { + if (handle === null) { + if (this.isReference) { + throwBindingError("null is not a valid " + this.name); + } + return 0; + } + if (!handle.$$) { + throwBindingError('Cannot pass "' + embindRepr(handle) + '" as a ' + this.name); + } + if (!handle.$$.ptr) { + throwBindingError("Cannot pass deleted object as a pointer of type " + this.name); + } + if (handle.$$.ptrType.isConst) { + throwBindingError("Cannot convert argument of type " + handle.$$.ptrType.name + " to parameter type " + this.name); + } + var handleClass = handle.$$.ptrType.registeredClass; + var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + return ptr; + } + function RegisteredPointer_getPointee(ptr) { + if (this.rawGetPointee) { + ptr = this.rawGetPointee(ptr); + } + return ptr; + } + function RegisteredPointer_destructor(ptr) { + if (this.rawDestructor) { + this.rawDestructor(ptr); + } + } + function RegisteredPointer_deleteObject(handle) { + if (handle !== null) { + handle["delete"](); + } + } + function init_RegisteredPointer() { + RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee; + RegisteredPointer.prototype.destructor = RegisteredPointer_destructor; + RegisteredPointer.prototype["argPackAdvance"] = 8; + RegisteredPointer.prototype["readValueFromPointer"] = simpleReadValueFromPointer; + RegisteredPointer.prototype["deleteObject"] = RegisteredPointer_deleteObject; + RegisteredPointer.prototype["fromWireType"] = RegisteredPointer_fromWireType; + } + function RegisteredPointer(name, registeredClass, isReference, isConst, isSmartPointer, pointeeType, sharingPolicy, rawGetPointee, rawConstructor, rawShare, rawDestructor) { + this.name = name; + this.registeredClass = registeredClass; + this.isReference = isReference; + this.isConst = isConst; + this.isSmartPointer = isSmartPointer; + this.pointeeType = pointeeType; + this.sharingPolicy = sharingPolicy; + this.rawGetPointee = rawGetPointee; + this.rawConstructor = rawConstructor; + this.rawShare = rawShare; + this.rawDestructor = rawDestructor; + if (!isSmartPointer && registeredClass.baseClass === void 0) { + if (isConst) { + this["toWireType"] = constNoSmartPtrRawPointerToWireType; + this.destructorFunction = null; + } else { + this["toWireType"] = nonConstNoSmartPtrRawPointerToWireType; + this.destructorFunction = null; + } + } else { + this["toWireType"] = genericPointerToWireType; + } + } + function replacePublicSymbol(name, value, numArguments) { + if (!Module.hasOwnProperty(name)) { + throwInternalError("Replacing nonexistant public symbol"); + } + if (Module[name].overloadTable !== void 0 && numArguments !== void 0) { + Module[name].overloadTable[numArguments] = value; + } else { + Module[name] = value; + Module[name].argCount = numArguments; + } + } + function dynCallLegacy(sig, ptr, args) { + var f = Module["dynCall_" + sig]; + return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr); + } + var wasmTableMirror = []; + function getWasmTableEntry(funcPtr) { + var func = wasmTableMirror[funcPtr]; + if (!func) { + if (funcPtr >= wasmTableMirror.length) + wasmTableMirror.length = funcPtr + 1; + wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr); + } + return func; + } + function dynCall(sig, ptr, args) { + if (sig.includes("j")) { + return dynCallLegacy(sig, ptr, args); + } + var rtn = getWasmTableEntry(ptr).apply(null, args); + return rtn; + } + function getDynCaller(sig, ptr) { + var argCache = []; + return function() { + argCache.length = 0; + Object.assign(argCache, arguments); + return dynCall(sig, ptr, argCache); + }; + } + function embind__requireFunction(signature, rawFunction) { + signature = readLatin1String(signature); + function makeDynCaller() { + if (signature.includes("j")) { + return getDynCaller(signature, rawFunction); + } + return getWasmTableEntry(rawFunction); + } + var fp = makeDynCaller(); + if (typeof fp != "function") { + throwBindingError("unknown function pointer with signature " + signature + ": " + rawFunction); + } + return fp; + } + var UnboundTypeError = void 0; + function getTypeName(type) { + var ptr = ___getTypeName(type); + var rv = readLatin1String(ptr); + _free(ptr); + return rv; + } + function throwUnboundTypeError(message, types) { + var unboundTypes = []; + var seen = {}; + function visit(type) { + if (seen[type]) { + return; + } + if (registeredTypes[type]) { + return; + } + if (typeDependencies[type]) { + typeDependencies[type].forEach(visit); + return; + } + unboundTypes.push(type); + seen[type] = true; + } + types.forEach(visit); + throw new UnboundTypeError(message + ": " + unboundTypes.map(getTypeName).join([", "])); + } + function __embind_register_class(rawType, rawPointerType, rawConstPointerType, baseClassRawType, getActualTypeSignature, getActualType, upcastSignature, upcast, downcastSignature, downcast, name, destructorSignature, rawDestructor) { + name = readLatin1String(name); + getActualType = embind__requireFunction(getActualTypeSignature, getActualType); + if (upcast) { + upcast = embind__requireFunction(upcastSignature, upcast); + } + if (downcast) { + downcast = embind__requireFunction(downcastSignature, downcast); + } + rawDestructor = embind__requireFunction(destructorSignature, rawDestructor); + var legalFunctionName = makeLegalFunctionName(name); + exposePublicSymbol(legalFunctionName, function() { + throwUnboundTypeError("Cannot construct " + name + " due to unbound types", [baseClassRawType]); + }); + whenDependentTypesAreResolved([rawType, rawPointerType, rawConstPointerType], baseClassRawType ? [baseClassRawType] : [], function(base) { + base = base[0]; + var baseClass; + var basePrototype; + if (baseClassRawType) { + baseClass = base.registeredClass; + basePrototype = baseClass.instancePrototype; + } else { + basePrototype = ClassHandle.prototype; + } + var constructor = createNamedFunction(legalFunctionName, function() { + if (Object.getPrototypeOf(this) !== instancePrototype) { + throw new BindingError("Use 'new' to construct " + name); + } + if (registeredClass.constructor_body === void 0) { + throw new BindingError(name + " has no accessible constructor"); + } + var body = registeredClass.constructor_body[arguments.length]; + if (body === void 0) { + throw new BindingError("Tried to invoke ctor of " + name + " with invalid number of parameters (" + arguments.length + ") - expected (" + Object.keys(registeredClass.constructor_body).toString() + ") parameters instead!"); + } + return body.apply(this, arguments); + }); + var instancePrototype = Object.create(basePrototype, { constructor: { value: constructor } }); + constructor.prototype = instancePrototype; + var registeredClass = new RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast); + var referenceConverter = new RegisteredPointer(name, registeredClass, true, false, false); + var pointerConverter = new RegisteredPointer(name + "*", registeredClass, false, false, false); + var constPointerConverter = new RegisteredPointer(name + " const*", registeredClass, false, true, false); + registeredPointers[rawType] = { pointerType: pointerConverter, constPointerType: constPointerConverter }; + replacePublicSymbol(legalFunctionName, constructor); + return [referenceConverter, pointerConverter, constPointerConverter]; + }); + } + function heap32VectorToArray(count, firstElement) { + var array = []; + for (var i = 0; i < count; i++) { + array.push(HEAPU32[firstElement + i * 4 >>> 2]); + } + return array; + } + function new_(constructor, argumentList) { + if (!(constructor instanceof Function)) { + throw new TypeError("new_ called with constructor type " + typeof constructor + " which is not a function"); + } + var dummy = createNamedFunction(constructor.name || "unknownFunctionName", function() { + }); + dummy.prototype = constructor.prototype; + var obj = new dummy(); + var r = constructor.apply(obj, argumentList); + return r instanceof Object ? r : obj; + } + function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc) { + var argCount = argTypes.length; + if (argCount < 2) { + throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!"); + } + var isClassMethodFunc = argTypes[1] !== null && classType !== null; + var needsDestructorStack = false; + for (var i = 1; i < argTypes.length; ++i) { + if (argTypes[i] !== null && argTypes[i].destructorFunction === void 0) { + needsDestructorStack = true; + break; + } + } + var returns = argTypes[0].name !== "void"; + var argsList = ""; + var argsListWired = ""; + for (var i = 0; i < argCount - 2; ++i) { + argsList += (i !== 0 ? ", " : "") + "arg" + i; + argsListWired += (i !== 0 ? ", " : "") + "arg" + i + "Wired"; + } + var invokerFnBody = "return function " + makeLegalFunctionName(humanName) + "(" + argsList + ") {\nif (arguments.length !== " + (argCount - 2) + ") {\nthrowBindingError('function " + humanName + " called with ' + arguments.length + ' arguments, expected " + (argCount - 2) + " args!');\n}\n"; + if (needsDestructorStack) { + invokerFnBody += "var destructors = [];\n"; + } + var dtorStack = needsDestructorStack ? "destructors" : "null"; + var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"]; + var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]]; + if (isClassMethodFunc) { + invokerFnBody += "var thisWired = classParam.toWireType(" + dtorStack + ", this);\n"; + } + for (var i = 0; i < argCount - 2; ++i) { + invokerFnBody += "var arg" + i + "Wired = argType" + i + ".toWireType(" + dtorStack + ", arg" + i + "); // " + argTypes[i + 2].name + "\n"; + args1.push("argType" + i); + args2.push(argTypes[i + 2]); + } + if (isClassMethodFunc) { + argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired; + } + invokerFnBody += (returns ? "var rv = " : "") + "invoker(fn" + (argsListWired.length > 0 ? ", " : "") + argsListWired + ");\n"; + if (needsDestructorStack) { + invokerFnBody += "runDestructors(destructors);\n"; + } else { + for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; ++i) { + var paramName = i === 1 ? "thisWired" : "arg" + (i - 2) + "Wired"; + if (argTypes[i].destructorFunction !== null) { + invokerFnBody += paramName + "_dtor(" + paramName + "); // " + argTypes[i].name + "\n"; + args1.push(paramName + "_dtor"); + args2.push(argTypes[i].destructorFunction); + } + } + } + if (returns) { + invokerFnBody += "var ret = retType.fromWireType(rv);\nreturn ret;\n"; + } + invokerFnBody += "}\n"; + args1.push(invokerFnBody); + var invokerFunction = new_(Function, args1).apply(null, args2); + return invokerFunction; + } + function __embind_register_class_constructor(rawClassType, argCount, rawArgTypesAddr, invokerSignature, invoker, rawConstructor) { + assert(argCount > 0); + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + invoker = embind__requireFunction(invokerSignature, invoker); + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = "constructor " + classType.name; + if (classType.registeredClass.constructor_body === void 0) { + classType.registeredClass.constructor_body = []; + } + if (classType.registeredClass.constructor_body[argCount - 1] !== void 0) { + throw new BindingError("Cannot register multiple constructors with identical number of parameters (" + (argCount - 1) + ") for class '" + classType.name + "'! Overload resolution is currently only performed using the parameter count, not actual type info!"); + } + classType.registeredClass.constructor_body[argCount - 1] = () => { + throwUnboundTypeError("Cannot construct " + classType.name + " due to unbound types", rawArgTypes); + }; + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + argTypes.splice(1, 0, null); + classType.registeredClass.constructor_body[argCount - 1] = craftInvokerFunction(humanName, argTypes, null, invoker, rawConstructor); + return []; + }); + return []; + }); + } + function __embind_register_class_function(rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, context, isPureVirtual) { + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + methodName = readLatin1String(methodName); + rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = classType.name + "." + methodName; + if (methodName.startsWith("@@")) { + methodName = Symbol[methodName.substring(2)]; + } + if (isPureVirtual) { + classType.registeredClass.pureVirtualFunctions.push(methodName); + } + function unboundTypesHandler() { + throwUnboundTypeError("Cannot call " + humanName + " due to unbound types", rawArgTypes); + } + var proto = classType.registeredClass.instancePrototype; + var method = proto[methodName]; + if (method === void 0 || method.overloadTable === void 0 && method.className !== classType.name && method.argCount === argCount - 2) { + unboundTypesHandler.argCount = argCount - 2; + unboundTypesHandler.className = classType.name; + proto[methodName] = unboundTypesHandler; + } else { + ensureOverloadTable(proto, methodName, humanName); + proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler; + } + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context); + if (proto[methodName].overloadTable === void 0) { + memberFunction.argCount = argCount - 2; + proto[methodName] = memberFunction; + } else { + proto[methodName].overloadTable[argCount - 2] = memberFunction; + } + return []; + }); + return []; + }); + } + var emval_free_list = []; + var emval_handle_array = [{}, { value: void 0 }, { value: null }, { value: true }, { value: false }]; + function __emval_decref(handle) { + if (handle > 4 && --emval_handle_array[handle].refcount === 0) { + emval_handle_array[handle] = void 0; + emval_free_list.push(handle); + } + } + function count_emval_handles() { + var count = 0; + for (var i = 5; i < emval_handle_array.length; ++i) { + if (emval_handle_array[i] !== void 0) { + ++count; + } + } + return count; + } + function get_first_emval() { + for (var i = 5; i < emval_handle_array.length; ++i) { + if (emval_handle_array[i] !== void 0) { + return emval_handle_array[i]; + } + } + return null; + } + function init_emval() { + Module["count_emval_handles"] = count_emval_handles; + Module["get_first_emval"] = get_first_emval; + } + var Emval = { toValue: (handle) => { + if (!handle) { + throwBindingError("Cannot use deleted val. handle = " + handle); + } + return emval_handle_array[handle].value; + }, toHandle: (value) => { + switch (value) { + case void 0: + return 1; + case null: + return 2; + case true: + return 3; + case false: + return 4; + default: { + var handle = emval_free_list.length ? emval_free_list.pop() : emval_handle_array.length; + emval_handle_array[handle] = { refcount: 1, value }; + return handle; + } + } + } }; + function __embind_register_emval(rawType, name) { + name = readLatin1String(name); + registerType(rawType, { name, "fromWireType": function(handle) { + var rv = Emval.toValue(handle); + __emval_decref(handle); + return rv; + }, "toWireType": function(destructors, value) { + return Emval.toHandle(value); + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: null }); + } + function enumReadValueFromPointer(name, shift, signed) { + switch (shift) { + case 0: + return function(pointer) { + var heap = signed ? HEAP8 : HEAPU8; + return this["fromWireType"](heap[pointer >>> 0]); + }; + case 1: + return function(pointer) { + var heap = signed ? HEAP16 : HEAPU16; + return this["fromWireType"](heap[pointer >>> 1]); + }; + case 2: + return function(pointer) { + var heap = signed ? HEAP32 : HEAPU32; + return this["fromWireType"](heap[pointer >>> 2]); + }; + default: + throw new TypeError("Unknown integer type: " + name); + } + } + function __embind_register_enum(rawType, name, size, isSigned) { + var shift = getShiftFromSize(size); + name = readLatin1String(name); + function ctor() { + } + ctor.values = {}; + registerType(rawType, { name, constructor: ctor, "fromWireType": function(c) { + return this.constructor.values[c]; + }, "toWireType": function(destructors, c) { + return c.value; + }, "argPackAdvance": 8, "readValueFromPointer": enumReadValueFromPointer(name, shift, isSigned), destructorFunction: null }); + exposePublicSymbol(name, ctor); + } + function requireRegisteredType(rawType, humanName) { + var impl = registeredTypes[rawType]; + if (impl === void 0) { + throwBindingError(humanName + " has unknown type " + getTypeName(rawType)); + } + return impl; + } + function __embind_register_enum_value(rawEnumType, name, enumValue) { + var enumType = requireRegisteredType(rawEnumType, "enum"); + name = readLatin1String(name); + var Enum = enumType.constructor; + var Value = Object.create(enumType.constructor.prototype, { value: { value: enumValue }, constructor: { value: createNamedFunction(enumType.name + "_" + name, function() { + }) } }); + Enum.values[enumValue] = Value; + Enum[name] = Value; + } + function embindRepr(v) { + if (v === null) { + return "null"; + } + var t = typeof v; + if (t === "object" || t === "array" || t === "function") { + return v.toString(); + } else { + return "" + v; + } + } + function floatReadValueFromPointer(name, shift) { + switch (shift) { + case 2: + return function(pointer) { + return this["fromWireType"](HEAPF32[pointer >>> 2]); + }; + case 3: + return function(pointer) { + return this["fromWireType"](HEAPF64[pointer >>> 3]); + }; + default: + throw new TypeError("Unknown float type: " + name); + } + } + function __embind_register_float(rawType, name, size) { + var shift = getShiftFromSize(size); + name = readLatin1String(name); + registerType(rawType, { name, "fromWireType": function(value) { + return value; + }, "toWireType": function(destructors, value) { + return value; + }, "argPackAdvance": 8, "readValueFromPointer": floatReadValueFromPointer(name, shift), destructorFunction: null }); + } + function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn) { + var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + name = readLatin1String(name); + rawInvoker = embind__requireFunction(signature, rawInvoker); + exposePublicSymbol(name, function() { + throwUnboundTypeError("Cannot call " + name + " due to unbound types", argTypes); + }, argCount - 1); + whenDependentTypesAreResolved([], argTypes, function(argTypes2) { + var invokerArgsArray = [argTypes2[0], null].concat(argTypes2.slice(1)); + replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null, rawInvoker, fn), argCount - 1); + return []; + }); + } + function integerReadValueFromPointer(name, shift, signed) { + switch (shift) { + case 0: + return signed ? function readS8FromPointer(pointer) { + return HEAP8[pointer >>> 0]; + } : function readU8FromPointer(pointer) { + return HEAPU8[pointer >>> 0]; + }; + case 1: + return signed ? function readS16FromPointer(pointer) { + return HEAP16[pointer >>> 1]; + } : function readU16FromPointer(pointer) { + return HEAPU16[pointer >>> 1]; + }; + case 2: + return signed ? function readS32FromPointer(pointer) { + return HEAP32[pointer >>> 2]; + } : function readU32FromPointer(pointer) { + return HEAPU32[pointer >>> 2]; + }; + default: + throw new TypeError("Unknown integer type: " + name); + } + } + function __embind_register_integer(primitiveType, name, size, minRange, maxRange) { + name = readLatin1String(name); + var shift = getShiftFromSize(size); + var fromWireType = (value) => value; + if (minRange === 0) { + var bitshift = 32 - 8 * size; + fromWireType = (value) => value << bitshift >>> bitshift; + } + var isUnsignedType = name.includes("unsigned"); + var checkAssertions = (value, toTypeName) => { + }; + var toWireType; + if (isUnsignedType) { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + return value >>> 0; + }; + } else { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + return value; + }; + } + registerType(primitiveType, { name, "fromWireType": fromWireType, "toWireType": toWireType, "argPackAdvance": 8, "readValueFromPointer": integerReadValueFromPointer(name, shift, minRange !== 0), destructorFunction: null }); + } + function __embind_register_memory_view(rawType, dataTypeIndex, name) { + var typeMapping = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; + var TA = typeMapping[dataTypeIndex]; + function decodeMemoryView(handle) { + handle = handle >> 2; + var heap = HEAPU32; + var size = heap[handle >>> 0]; + var data = heap[handle + 1 >>> 0]; + return new TA(heap.buffer, data, size); + } + name = readLatin1String(name); + registerType(rawType, { name, "fromWireType": decodeMemoryView, "argPackAdvance": 8, "readValueFromPointer": decodeMemoryView }, { ignoreDuplicateRegistrations: true }); + } + function __embind_register_std_string(rawType, name) { + name = readLatin1String(name); + var stdStringIsUTF8 = name === "std::string"; + registerType(rawType, { name, "fromWireType": function(value) { + var length = HEAPU32[value >>> 2]; + var payload = value + 4; + var str; + if (stdStringIsUTF8) { + var decodeStartPtr = payload; + for (var i = 0; i <= length; ++i) { + var currentBytePtr = payload + i; + if (i == length || HEAPU8[currentBytePtr >>> 0] == 0) { + var maxRead = currentBytePtr - decodeStartPtr; + var stringSegment = UTF8ToString(decodeStartPtr, maxRead); + if (str === void 0) { + str = stringSegment; + } else { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + 1; + } + } + } else { + var a = new Array(length); + for (var i = 0; i < length; ++i) { + a[i] = String.fromCharCode(HEAPU8[payload + i >>> 0]); + } + str = a.join(""); + } + _free(value); + return str; + }, "toWireType": function(destructors, value) { + if (value instanceof ArrayBuffer) { + value = new Uint8Array(value); + } + var length; + var valueIsOfTypeString = typeof value == "string"; + if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) { + throwBindingError("Cannot pass non-string to std::string"); + } + if (stdStringIsUTF8 && valueIsOfTypeString) { + length = lengthBytesUTF8(value); + } else { + length = value.length; + } + var base = _malloc(4 + length + 1); + var ptr = base + 4; + ptr >>>= 0; + HEAPU32[base >>> 2] = length; + if (stdStringIsUTF8 && valueIsOfTypeString) { + stringToUTF8(value, ptr, length + 1); + } else { + if (valueIsOfTypeString) { + for (var i = 0; i < length; ++i) { + var charCode = value.charCodeAt(i); + if (charCode > 255) { + _free(ptr); + throwBindingError("String has UTF-16 code units that do not fit in 8 bits"); + } + HEAPU8[ptr + i >>> 0] = charCode; + } + } else { + for (var i = 0; i < length; ++i) { + HEAPU8[ptr + i >>> 0] = value[i]; + } + } + } + if (destructors !== null) { + destructors.push(_free, base); + } + return base; + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: function(ptr) { + _free(ptr); + } }); + } + var UTF16Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf-16le") : void 0; + function UTF16ToString(ptr, maxBytesToRead) { + var endPtr = ptr; + var idx = endPtr >> 1; + var maxIdx = idx + maxBytesToRead / 2; + while (!(idx >= maxIdx) && HEAPU16[idx >>> 0]) + ++idx; + endPtr = idx << 1; + if (endPtr - ptr > 32 && UTF16Decoder) + return UTF16Decoder.decode(HEAPU8.subarray(ptr >>> 0, endPtr >>> 0)); + var str = ""; + for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { + var codeUnit = HEAP16[ptr + i * 2 >>> 1]; + if (codeUnit == 0) + break; + str += String.fromCharCode(codeUnit); + } + return str; + } + function stringToUTF16(str, outPtr, maxBytesToWrite) { + if (maxBytesToWrite === void 0) { + maxBytesToWrite = 2147483647; + } + if (maxBytesToWrite < 2) + return 0; + maxBytesToWrite -= 2; + var startPtr = outPtr; + var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + var codeUnit = str.charCodeAt(i); + HEAP16[outPtr >>> 1] = codeUnit; + outPtr += 2; + } + HEAP16[outPtr >>> 1] = 0; + return outPtr - startPtr; + } + function lengthBytesUTF16(str) { + return str.length * 2; + } + function UTF32ToString(ptr, maxBytesToRead) { + var i = 0; + var str = ""; + while (!(i >= maxBytesToRead / 4)) { + var utf32 = HEAP32[ptr + i * 4 >>> 2]; + if (utf32 == 0) + break; + ++i; + if (utf32 >= 65536) { + var ch = utf32 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } else { + str += String.fromCharCode(utf32); + } + } + return str; + } + function stringToUTF32(str, outPtr, maxBytesToWrite) { + outPtr >>>= 0; + if (maxBytesToWrite === void 0) { + maxBytesToWrite = 2147483647; + } + if (maxBytesToWrite < 4) + return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 55296 && codeUnit <= 57343) { + var trailSurrogate = str.charCodeAt(++i); + codeUnit = 65536 + ((codeUnit & 1023) << 10) | trailSurrogate & 1023; + } + HEAP32[outPtr >>> 2] = codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) + break; + } + HEAP32[outPtr >>> 2] = 0; + return outPtr - startPtr; + } + function lengthBytesUTF32(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 55296 && codeUnit <= 57343) + ++i; + len += 4; + } + return len; + } + function __embind_register_std_wstring(rawType, charSize, name) { + name = readLatin1String(name); + var decodeString, encodeString, getHeap, lengthBytesUTF, shift; + if (charSize === 2) { + decodeString = UTF16ToString; + encodeString = stringToUTF16; + lengthBytesUTF = lengthBytesUTF16; + getHeap = () => HEAPU16; + shift = 1; + } else if (charSize === 4) { + decodeString = UTF32ToString; + encodeString = stringToUTF32; + lengthBytesUTF = lengthBytesUTF32; + getHeap = () => HEAPU32; + shift = 2; + } + registerType(rawType, { name, "fromWireType": function(value) { + var length = HEAPU32[value >>> 2]; + var HEAP = getHeap(); + var str; + var decodeStartPtr = value + 4; + for (var i = 0; i <= length; ++i) { + var currentBytePtr = value + 4 + i * charSize; + if (i == length || HEAP[currentBytePtr >>> shift] == 0) { + var maxReadBytes = currentBytePtr - decodeStartPtr; + var stringSegment = decodeString(decodeStartPtr, maxReadBytes); + if (str === void 0) { + str = stringSegment; + } else { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + charSize; + } + } + _free(value); + return str; + }, "toWireType": function(destructors, value) { + if (!(typeof value == "string")) { + throwBindingError("Cannot pass non-string to C++ string type " + name); + } + var length = lengthBytesUTF(value); + var ptr = _malloc(4 + length + charSize); + ptr >>>= 0; + HEAPU32[ptr >>> 2] = length >> shift; + encodeString(value, ptr + 4, length + charSize); + if (destructors !== null) { + destructors.push(_free, ptr); + } + return ptr; + }, "argPackAdvance": 8, "readValueFromPointer": simpleReadValueFromPointer, destructorFunction: function(ptr) { + _free(ptr); + } }); + } + function __embind_register_value_array(rawType, name, constructorSignature, rawConstructor, destructorSignature, rawDestructor) { + tupleRegistrations[rawType] = { name: readLatin1String(name), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), elements: [] }; + } + function __embind_register_value_array_element(rawTupleType, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) { + tupleRegistrations[rawTupleType].elements.push({ getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext }); + } + function __embind_register_value_object(rawType, name, constructorSignature, rawConstructor, destructorSignature, rawDestructor) { + structRegistrations[rawType] = { name: readLatin1String(name), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), fields: [] }; + } + function __embind_register_value_object_field(structType, fieldName, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) { + structRegistrations[structType].fields.push({ fieldName: readLatin1String(fieldName), getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext }); + } + function __embind_register_void(rawType, name) { + name = readLatin1String(name); + registerType(rawType, { isVoid: true, name, "argPackAdvance": 0, "fromWireType": function() { + return void 0; + }, "toWireType": function(destructors, o) { + return void 0; + } }); + } + function __emval_as(handle, returnType, destructorsRef) { + handle = Emval.toValue(handle); + returnType = requireRegisteredType(returnType, "emval::as"); + var destructors = []; + var rd = Emval.toHandle(destructors); + HEAPU32[destructorsRef >>> 2] = rd; + return returnType["toWireType"](destructors, handle); + } + function emval_lookupTypes(argCount, argTypes) { + var a = new Array(argCount); + for (var i = 0; i < argCount; ++i) { + a[i] = requireRegisteredType(HEAPU32[argTypes + i * 4 >>> 2], "parameter " + i); + } + return a; + } + function __emval_call(handle, argCount, argTypes, argv) { + handle = Emval.toValue(handle); + var types = emval_lookupTypes(argCount, argTypes); + var args = new Array(argCount); + for (var i = 0; i < argCount; ++i) { + var type = types[i]; + args[i] = type["readValueFromPointer"](argv); + argv += type["argPackAdvance"]; + } + var rv = handle.apply(void 0, args); + return Emval.toHandle(rv); + } + var emval_symbols = {}; + function getStringOrSymbol(address) { + var symbol = emval_symbols[address]; + if (symbol === void 0) { + return readLatin1String(address); + } + return symbol; + } + function emval_get_global() { + if (typeof globalThis == "object") { + return globalThis; + } + return function() { + return Function; + }()("return this")(); + } + function __emval_get_global(name) { + if (name === 0) { + return Emval.toHandle(emval_get_global()); + } else { + name = getStringOrSymbol(name); + return Emval.toHandle(emval_get_global()[name]); + } + } + function __emval_get_property(handle, key) { + handle = Emval.toValue(handle); + key = Emval.toValue(key); + return Emval.toHandle(handle[key]); + } + function __emval_incref(handle) { + if (handle > 4) { + emval_handle_array[handle].refcount += 1; + } + } + function __emval_instanceof(object, constructor) { + object = Emval.toValue(object); + constructor = Emval.toValue(constructor); + return object instanceof constructor; + } + function __emval_is_number(handle) { + handle = Emval.toValue(handle); + return typeof handle == "number"; + } + function __emval_is_string(handle) { + handle = Emval.toValue(handle); + return typeof handle == "string"; + } + function __emval_new_array() { + return Emval.toHandle([]); + } + function __emval_new_cstring(v) { + return Emval.toHandle(getStringOrSymbol(v)); + } + function __emval_new_object() { + return Emval.toHandle({}); + } + function __emval_run_destructors(handle) { + var destructors = Emval.toValue(handle); + runDestructors(destructors); + __emval_decref(handle); + } + function __emval_set_property(handle, key, value) { + handle = Emval.toValue(handle); + key = Emval.toValue(key); + value = Emval.toValue(value); + handle[key] = value; + } + function __emval_take_value(type, arg) { + type = requireRegisteredType(type, "_emval_take_value"); + var v = type["readValueFromPointer"](arg); + return Emval.toHandle(v); + } + function _abort() { + abort(""); + } + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest >>> 0, src >>> 0, src + num >>> 0); + } + function getHeapMax() { + return 4294901760; + } + function emscripten_realloc_buffer(size) { + var b = wasmMemory.buffer; + try { + wasmMemory.grow(size - b.byteLength + 65535 >>> 16); + updateMemoryViews(); + return 1; + } catch (e) { + } + } + function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + return false; + } + let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; + } + var ENV = {}; + function getExecutableName() { + return thisProgram || "./this.program"; + } + function getEnvStrings() { + if (!getEnvStrings.strings) { + var lang = (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + var env = { "USER": "web_user", "LOGNAME": "web_user", "PATH": "/", "PWD": "/", "HOME": "/home/web_user", "LANG": lang, "_": getExecutableName() }; + for (var x in ENV) { + if (ENV[x] === void 0) + delete env[x]; + else + env[x] = ENV[x]; + } + var strings = []; + for (var x in env) { + strings.push(x + "=" + env[x]); + } + getEnvStrings.strings = strings; + } + return getEnvStrings.strings; + } + function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + HEAP8[buffer++ >>> 0] = str.charCodeAt(i); + } + if (!dontAddNull) + HEAP8[buffer >>> 0] = 0; + } + var PATH = { isAbs: (path) => path.charAt(0) === "/", splitPath: (filename) => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, normalizeArray: (parts, allowAboveRoot) => { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1); + } else if (last === "..") { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift(".."); + } + } + return parts; + }, normalize: (path) => { + var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter((p) => !!p), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, dirname: (path) => { + var result = PATH.splitPath(path), root = result[0], dir = result[1]; + if (!root && !dir) { + return "."; + } + if (dir) { + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + }, basename: (path) => { + if (path === "/") + return "/"; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) + return path; + return path.substr(lastSlash + 1); + }, join: function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join("/")); + }, join2: (l, r) => { + return PATH.normalize(l + "/" + r); + } }; + function getRandomDevice() { + if (typeof crypto == "object" && typeof crypto["getRandomValues"] == "function") { + var randomBuffer = new Uint8Array(1); + return () => { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0]; + }; + } else + return () => abort("randomDevice"); + } + var PATH_FS = { resolve: function() { + var resolvedPath = "", resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path != "string") { + throw new TypeError("Arguments to path.resolve must be strings"); + } else if (!path) { + return ""; + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = PATH.isAbs(path); + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter((p) => !!p), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, relative: (from, to) => { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") + break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") + break; + } + if (start > end) + return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push(".."); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/"); + } }; + function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) + u8array.length = numBytesWritten; + return u8array; + } + var TTY = { ttys: [], init: function() { + }, shutdown: function() { + }, register: function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops }; + FS.registerDevice(dev, TTY.stream_ops); + }, stream_ops: { open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + }, close: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, fsync: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === void 0 && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === void 0) + break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } }, default_tty_ops: { get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n"; + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n"; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + }, put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) + tty.output.push(val); + } + }, fsync: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } }, default_tty1_ops: { put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) + tty.output.push(val); + } + }, fsync: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } } }; + function mmapAlloc(size) { + abort(); + } + var MEMFS = { ops_table: null, mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0); + }, createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { dir: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, lookup: MEMFS.node_ops.lookup, mknod: MEMFS.node_ops.mknod, rename: MEMFS.node_ops.rename, unlink: MEMFS.node_ops.unlink, rmdir: MEMFS.node_ops.rmdir, readdir: MEMFS.node_ops.readdir, symlink: MEMFS.node_ops.symlink }, stream: { llseek: MEMFS.stream_ops.llseek } }, file: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: { llseek: MEMFS.stream_ops.llseek, read: MEMFS.stream_ops.read, write: MEMFS.stream_ops.write, allocate: MEMFS.stream_ops.allocate, mmap: MEMFS.stream_ops.mmap, msync: MEMFS.stream_ops.msync } }, link: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, readlink: MEMFS.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: FS.chrdev_stream_ops } }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node; + parent.timestamp = node.timestamp; + } + return node; + }, getFileDataAsTypedArray: function(node) { + if (!node.contents) + return new Uint8Array(0); + if (node.contents.subarray) + return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents); + }, expandFileStorage: function(node, newCapacity) { + newCapacity >>>= 0; + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) + return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0); + if (prevCapacity != 0) + newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) + node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + }, resizeFileStorage: function(node, newSize) { + newSize >>>= 0; + if (node.usedBytes == newSize) + return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); + } + node.usedBytes = newSize; + } + }, node_ops: { getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + }, setattr: function(node, attr) { + if (attr.mode !== void 0) { + node.mode = attr.mode; + } + if (attr.timestamp !== void 0) { + node.timestamp = attr.timestamp; + } + if (attr.size !== void 0) { + MEMFS.resizeFileStorage(node, attr.size); + } + }, lookup: function(parent, name) { + throw FS.genericErrors[44]; + }, mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + }, rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now(); + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + }, unlink: function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + }, symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node; + }, readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; + } }, stream_ops: { read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) + return 0; + var size = Math.min(stream.node.usedBytes - position, length); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) + buffer[offset + i] = contents[position + i]; + } + return size; + }, write: function(stream, buffer, offset, length, position, canOwn) { + if (buffer.buffer === HEAP8.buffer) { + canOwn = false; + } + if (!length) + return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) { + node.contents.set(buffer.subarray(offset, offset + length), position); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + }, llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + }, mmap: function(stream, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === HEAP8.buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(); + if (!ptr) { + throw new FS.ErrnoError(48); + } + ptr >>>= 0; + HEAP8.set(contents, ptr >>> 0); + } + return { ptr, allocated }; + }, msync: function(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0; + } } }; + function asyncLoad(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency("al " + url) : ""; + readAsync(url, (arrayBuffer) => { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) + removeRunDependency(); + }, (event) => { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) + addRunDependency(); + } + var FS = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: false, ignorePermissions: true, ErrnoError: null, genericErrors: {}, filesystems: null, syncFSRequests: 0, lookupPath: (path, opts = {}) => { + path = PATH_FS.resolve(path); + if (!path) + return { path: "", node: null }; + var defaults = { follow_mount: true, recurse_count: 0 }; + opts = Object.assign(defaults, opts); + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32); + } + var parts = path.split("/").filter((p) => !!p); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break; + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root; + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count + 1 }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } + } + } + } + return { path: current_path, node: current }; + }, getPath: (node) => { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) + return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path; + } + path = path ? node.name + "/" + path : node.name; + node = node.parent; + } + }, hashName: (parentid, name) => { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0; + } + return (parentid + hash >>> 0) % FS.nameTable.length; + }, hashAddNode: (node) => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, hashRemoveNode: (node) => { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + }, lookupNode: (parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + return FS.lookup(parent, name); + }, createNode: (parent, name, mode, rdev) => { + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, destroyNode: (node) => { + FS.hashRemoveNode(node); + }, isRoot: (node) => { + return node === node.parent; + }, isMountpoint: (node) => { + return !!node.mounted; + }, isFile: (mode) => { + return (mode & 61440) === 32768; + }, isDir: (mode) => { + return (mode & 61440) === 16384; + }, isLink: (mode) => { + return (mode & 61440) === 40960; + }, isChrdev: (mode) => { + return (mode & 61440) === 8192; + }, isBlkdev: (mode) => { + return (mode & 61440) === 24576; + }, isFIFO: (mode) => { + return (mode & 61440) === 4096; + }, isSocket: (mode) => { + return (mode & 49152) === 49152; + }, flagModes: { "r": 0, "r+": 2, "w": 577, "w+": 578, "a": 1089, "a+": 1090 }, modeStringToFlags: (str) => { + var flags = FS.flagModes[str]; + if (typeof flags == "undefined") { + throw new Error("Unknown file open mode: " + str); + } + return flags; + }, flagsToPermissionString: (flag) => { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; + }, nodePermissions: (node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + if (perms.includes("r") && !(node.mode & 292)) { + return 2; + } else if (perms.includes("w") && !(node.mode & 146)) { + return 2; + } else if (perms.includes("x") && !(node.mode & 73)) { + return 2; + } + return 0; + }, mayLookup: (dir) => { + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) + return errCode; + if (!dir.node_ops.lookup) + return 2; + return 0; + }, mayCreate: (dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, "wx"); + }, mayDelete: (dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + }, mayOpen: (node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, MAX_OPEN_FDS: 4096, nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => { + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + }, getStream: (fd) => FS.streams[fd], createStream: (stream, fd_start, fd_end) => { + if (!FS.FSStream) { + FS.FSStream = function() { + this.shared = {}; + }; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { object: { get: function() { + return this.node; + }, set: function(val) { + this.node = val; + } }, isRead: { get: function() { + return (this.flags & 2097155) !== 1; + } }, isWrite: { get: function() { + return (this.flags & 2097155) !== 0; + } }, isAppend: { get: function() { + return this.flags & 1024; + } }, flags: { get: function() { + return this.shared.flags; + }, set: function(val) { + this.shared.flags = val; + } }, position: { get: function() { + return this.shared.position; + }, set: function(val) { + this.shared.position = val; + } } }); + } + stream = Object.assign(new FS.FSStream(), stream); + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, closeStream: (fd) => { + FS.streams[fd] = null; + }, chrdev_stream_ops: { open: (stream) => { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + }, llseek: () => { + throw new FS.ErrnoError(70); + } }, major: (dev) => dev >> 8, minor: (dev) => dev & 255, makedev: (ma, mi) => ma << 8 | mi, registerDevice: (dev, ops) => { + FS.devices[dev] = { stream_ops: ops }; + }, getDevice: (dev) => FS.devices[dev], getMounts: (mount) => { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts); + } + return mounts; + }, syncfs: (populate, callback) => { + if (typeof populate == "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work"); + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + function doCallback(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + mounts.forEach((mount) => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, mount: (type, opts, mountpoint) => { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + var mount = { type, opts, mountpoint, mounts: [] }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot; + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount); + } + } + return mountRoot; + }, unmount: (mountpoint) => { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach((hash) => { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, lookup: (parent, name) => { + return parent.node_ops.lookup(parent, name); + }, mknod: (path, mode, dev) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, create: (path, mode) => { + mode = mode !== void 0 ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, mkdir: (path, mode) => { + mode = mode !== void 0 ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, mkdirTree: (path, mode) => { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) + continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode); + } catch (e) { + if (e.errno != 20) + throw e; + } + } + }, mkdev: (path, mode, dev) => { + if (typeof dev == "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, symlink: (oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, rename: (old_path, new_path) => { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + if (!old_dir || !new_dir) + throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (old_node === new_node) { + return; + } + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + FS.hashAddNode(old_node); + } + }, rmdir: (path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + }, readdir: (path) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, unlink: (path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + }, readlink: (path) => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + }, stat: (path, dontFollow) => { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, lstat: (path) => { + return FS.stat(path, true); + }, chmod: (path, mode, dontFollow) => { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { mode: mode & 4095 | node.mode & ~4095, timestamp: Date.now() }); + }, lchmod: (path, mode) => { + FS.chmod(path, mode, true); + }, fchmod: (fd, mode) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + }, chown: (path, uid, gid, dontFollow) => { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { timestamp: Date.now() }); + }, lchown: (path, uid, gid) => { + FS.chown(path, uid, gid, true); + }, fchown: (fd, uid, gid) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + }, truncate: (path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); + }, ftruncate: (fd, len) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, utime: (path, atime, mtime) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); + }, open: (path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags == "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode == "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768; + } else { + mode = 0; + } + var node; + if (typeof path == "object") { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); + node = lookup.node; + } catch (e) { + } + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512 && !created) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream({ node, path: FS.getPath(node), flags, seekable: true, position: 0, stream_ops: node.stream_ops, ungotten: [], error: false }); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) + FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + } + } + return stream; + }, close: (stream) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) + stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + }, isClosed: (stream) => { + return stream.fd === null; + }, llseek: (stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, read: (stream, buffer, offset, length, position) => { + offset >>>= 0; + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) + stream.position += bytesRead; + return bytesRead; + }, write: (stream, buffer, offset, length, position, canOwn) => { + offset >>>= 0; + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + FS.llseek(stream, 0, 2); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) + stream.position += bytesWritten; + return bytesWritten; + }, allocate: (stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, mmap: (stream, length, position, prot, flags) => { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + }, msync: (stream, buffer, offset, length, mmapFlags) => { + offset >>>= 0; + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + }, munmap: (stream) => 0, ioctl: (stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, readFile: (path, opts = {}) => { + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === "binary") { + ret = buf; + } + FS.close(stream); + return ret; + }, writeFile: (path, data, opts = {}) => { + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data == "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, void 0, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, void 0, opts.canOwn); + } else { + throw new Error("Unsupported data type"); + } + FS.close(stream); + }, cwd: () => FS.currentPath, chdir: (path) => { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, createDefaultDirectories: () => { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, createDefaultDevices: () => { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { read: () => 0, write: (stream, buffer, offset, length, pos) => length }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device = getRandomDevice(); + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, createSpecialDirectories: () => { + FS.mkdir("/proc"); + var proc_self = FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ mount: () => { + var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); + node.node_ops = { lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) + throw new FS.ErrnoError(8); + var ret = { parent: null, mount: { mountpoint: "fake" }, node_ops: { readlink: () => stream.path } }; + ret.parent = ret; + return ret; + } }; + return node; + } }, {}, "/proc/self/fd"); + }, createStandardStreams: () => { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]); + } else { + FS.symlink("/dev/tty", "/dev/stdin"); + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]); + } else { + FS.symlink("/dev/tty", "/dev/stdout"); + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]); + } else { + FS.symlink("/dev/tty1", "/dev/stderr"); + } + FS.open("/dev/stdin", 0); + FS.open("/dev/stdout", 1); + FS.open("/dev/stderr", 1); + }, ensureErrnoError: () => { + if (FS.ErrnoError) + return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno2) { + this.errno = errno2; + }; + this.setErrno(errno); + this.message = "FS error"; + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach((code) => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); + }, staticInit: () => { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { "MEMFS": MEMFS }; + }, init: (input, output, error) => { + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams(); + }, quit: () => { + FS.init.initialized = false; + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, getMode: (canRead, canWrite) => { + var mode = 0; + if (canRead) + mode |= 292 | 73; + if (canWrite) + mode |= 146; + return mode; + }, findObject: (path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + }, analyzePath: (path, dontResolveLastLink) => { + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { isRoot: false, exists: false, error: 0, name: null, path: null, object: null, parentExists: false, parentPath: null, parentObject: null }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/"; + } catch (e) { + ret.error = e.errno; + } + return ret; + }, createPath: (parent, path, canRead, canWrite) => { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) + continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + } + parent = current; + } + return current; + }, createFile: (parent, name, properties, canRead, canWrite) => { + var path = PATH.join2(typeof parent == "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + }, createDataFile: (parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + path = name ? PATH.join2(parent, name) : parent; + } + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data == "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) + arr[i] = data.charCodeAt(i); + data = arr; + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + }, createDevice: (parent, name, input, output) => { + var path = PATH.join2(typeof parent == "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) + FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { open: (stream) => { + stream.seekable = false; + }, close: (stream) => { + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, read: (stream, buffer, offset, length, pos) => { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === void 0 && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === void 0) + break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } }); + return FS.mkdev(path, mode, dev); + }, forceLoadFile: (obj) => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) + return true; + if (typeof XMLHttpRequest != "undefined") { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, createLazyFile: (parent, name, url, canRead, canWrite) => { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return void 0; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest(); + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) + throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) + chunkSize = datalength; + var doXHR = (from, to) => { + if (from > to) + throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) + throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr2 = new XMLHttpRequest(); + xhr2.open("GET", url, false); + if (datalength !== chunkSize) + xhr2.setRequestHeader("Range", "bytes=" + from + "-" + to); + xhr2.responseType = "arraybuffer"; + if (xhr2.overrideMimeType) { + xhr2.overrideMimeType("text/plain; charset=x-user-defined"); + } + xhr2.send(null); + if (!(xhr2.status >= 200 && xhr2.status < 300 || xhr2.status === 304)) + throw new Error("Couldn't load " + url + ". Status: " + xhr2.status); + if (xhr2.response !== void 0) { + return new Uint8Array(xhr2.response || []); + } + return intArrayFromString(xhr2.responseText || "", true); + }; + var lazyArray2 = this; + lazyArray2.setDataGetter((chunkNum) => { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray2.chunks[chunkNum] == "undefined") { + lazyArray2.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray2.chunks[chunkNum] == "undefined") + throw new Error("doXHR failed!"); + return lazyArray2.chunks[chunkNum]; + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + out("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest != "undefined") { + throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array(); + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url }; + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + Object.defineProperties(node, { usedBytes: { get: function() { + return this.contents.length; + } } }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach((key) => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i); + } + } + return size; + } + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position); + }; + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, HEAP8, ptr, length, position); + return { ptr, allocated: true }; + }; + node.stream_ops = stream_ops; + return node; + }, createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + function processData(byteArray) { + function finish(byteArray2) { + if (preFinish) + preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray2, canRead, canWrite, canOwn); + } + if (onload) + onload(); + removeRunDependency(); + } + if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) + onerror(); + removeRunDependency(); + })) { + return; + } + finish(byteArray); + } + addRunDependency(); + if (typeof url == "string") { + asyncLoad(url, (byteArray) => processData(byteArray), onerror); + } else { + processData(url); + } + }, indexedDB: () => { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + }, DB_NAME: () => { + return "EM_FS_" + window.location.pathname; + }, DB_VERSION: 20, DB_STORE_NAME: "FILE_DATA", saveFilesToDB: (paths, onload = () => { + }, onerror = () => { + }) => { + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = () => { + out("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = () => { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) + onload(); + else + onerror(); + } + paths.forEach((path) => { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = () => { + ok++; + if (ok + fail == total) + finish(); + }; + putRequest.onerror = () => { + fail++; + if (ok + fail == total) + finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }, loadFilesFromDB: (paths, onload = () => { + }, onerror = () => { + }) => { + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = () => { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly"); + } catch (e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) + onload(); + else + onerror(); + } + paths.forEach((path) => { + var getRequest = files.get(path); + getRequest.onsuccess = () => { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) + finish(); + }; + getRequest.onerror = () => { + fail++; + if (ok + fail == total) + finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + } }; + var SYSCALLS = { DEFAULT_POLLMASK: 5, calculateAt: function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44); + } + return dir; + } + return PATH.join2(dir, path); + }, doStat: function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54; + } + throw e; + } + HEAP32[buf >>> 2] = stat.dev; + HEAP32[buf + 8 >>> 2] = stat.ino; + HEAP32[buf + 12 >>> 2] = stat.mode; + HEAPU32[buf + 16 >>> 2] = stat.nlink; + HEAP32[buf + 20 >>> 2] = stat.uid; + HEAP32[buf + 24 >>> 2] = stat.gid; + HEAP32[buf + 28 >>> 2] = stat.rdev; + tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 40 >>> 2] = tempI64[0], HEAP32[buf + 44 >>> 2] = tempI64[1]; + HEAP32[buf + 48 >>> 2] = 4096; + HEAP32[buf + 52 >>> 2] = stat.blocks; + var atime = stat.atime.getTime(); + var mtime = stat.mtime.getTime(); + var ctime = stat.ctime.getTime(); + tempI64 = [Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 56 >>> 2] = tempI64[0], HEAP32[buf + 60 >>> 2] = tempI64[1]; + HEAPU32[buf + 64 >>> 2] = atime % 1e3 * 1e3; + tempI64 = [Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 72 >>> 2] = tempI64[0], HEAP32[buf + 76 >>> 2] = tempI64[1]; + HEAPU32[buf + 80 >>> 2] = mtime % 1e3 * 1e3; + tempI64 = [Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 88 >>> 2] = tempI64[0], HEAP32[buf + 92 >>> 2] = tempI64[1]; + HEAPU32[buf + 96 >>> 2] = ctime % 1e3 * 1e3; + tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 104 >>> 2] = tempI64[0], HEAP32[buf + 108 >>> 2] = tempI64[1]; + return 0; + }, doMsync: function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + return 0; + } + addr >>>= 0; + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + }, varargs: void 0, get: function() { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >>> 2]; + return ret; + }, getStr: function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, getStreamFromFD: function(fd) { + var stream = FS.getStream(fd); + if (!stream) + throw new FS.ErrnoError(8); + return stream; + } }; + function _environ_get(__environ, environ_buf) { + var bufSize = 0; + getEnvStrings().forEach(function(string, i) { + var ptr = environ_buf + bufSize; + HEAPU32[__environ + i * 4 >>> 2] = ptr; + writeAsciiToMemory(string, ptr); + bufSize += string.length + 1; + }); + return 0; + } + function _environ_sizes_get(penviron_count, penviron_buf_size) { + var strings = getEnvStrings(); + HEAPU32[penviron_count >>> 2] = strings.length; + var bufSize = 0; + strings.forEach(function(string) { + bufSize += string.length + 1; + }); + HEAPU32[penviron_buf_size >>> 2] = bufSize; + return 0; + } + function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) + throw e; + return e.errno; + } + } + function doReadv(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >>> 2]; + var len = HEAPU32[iov + 4 >>> 2]; + iov += 8; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) + return -1; + ret += curr; + if (curr < len) + break; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; + } + function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[pnum >>> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) + throw e; + return e.errno; + } + } + function convertI32PairToI53Checked(lo, hi) { + return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN; + } + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var offset = convertI32PairToI53Checked(offset_low, offset_high); + if (isNaN(offset)) + return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + FS.llseek(stream, offset, whence); + tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[newOffset >>> 2] = tempI64[0], HEAP32[newOffset + 4 >>> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) + stream.getdents = null; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) + throw e; + return e.errno; + } + } + function doWritev(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >>> 2]; + var len = HEAPU32[iov + 4 >>> 2]; + iov += 8; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) + return -1; + ret += curr; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; + } + function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + HEAPU32[pnum >>> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) + throw e; + return e.errno; + } + } + function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); + } + function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]) { + } + return sum; + } + var __MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + var __MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1); + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1); + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate; + } + } + return newDate; + } + function writeArrayToMemory(array, buffer) { + HEAP8.set(array, buffer >>> 0); + } + function _strftime(s, maxsize, format, tm) { + var tm_zone = HEAP32[tm + 40 >>> 2]; + var date = { tm_sec: HEAP32[tm >>> 2], tm_min: HEAP32[tm + 4 >>> 2], tm_hour: HEAP32[tm + 8 >>> 2], tm_mday: HEAP32[tm + 12 >>> 2], tm_mon: HEAP32[tm + 16 >>> 2], tm_year: HEAP32[tm + 20 >>> 2], tm_wday: HEAP32[tm + 24 >>> 2], tm_yday: HEAP32[tm + 28 >>> 2], tm_isdst: HEAP32[tm + 32 >>> 2], tm_gmtoff: HEAP32[tm + 36 >>> 2], tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { "%c": "%a %b %d %H:%M:%S %Y", "%D": "%m/%d/%y", "%F": "%Y-%m-%d", "%h": "%b", "%r": "%I:%M:%S %p", "%R": "%H:%M", "%T": "%H:%M:%S", "%x": "%m/%d/%y", "%X": "%H:%M:%S", "%Ec": "%c", "%EC": "%C", "%Ex": "%m/%d/%y", "%EX": "%H:%M:%S", "%Ey": "%y", "%EY": "%Y", "%Od": "%d", "%Oe": "%e", "%OH": "%H", "%OI": "%I", "%Om": "%m", "%OM": "%M", "%OS": "%S", "%Ou": "%u", "%OU": "%U", "%OV": "%V", "%Ow": "%w", "%OW": "%W", "%Oy": "%y" }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]); + } + var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; + var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + function leadingSomething(value, digits, character) { + var str = typeof value == "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str; + } + return str; + } + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0"); + } + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0; + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()); + } + } + return compare; + } + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + case 1: + return janFourth; + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30); + } + } + function getWeekBasedYear(date2) { + var thisDate = __addDays(new Date(date2.tm_year + 1900, 0, 1), date2.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1; + } + return thisDate.getFullYear(); + } + return thisDate.getFullYear() - 1; + } + var EXPANSION_RULES_2 = { "%a": function(date2) { + return WEEKDAYS[date2.tm_wday].substring(0, 3); + }, "%A": function(date2) { + return WEEKDAYS[date2.tm_wday]; + }, "%b": function(date2) { + return MONTHS[date2.tm_mon].substring(0, 3); + }, "%B": function(date2) { + return MONTHS[date2.tm_mon]; + }, "%C": function(date2) { + var year = date2.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2); + }, "%d": function(date2) { + return leadingNulls(date2.tm_mday, 2); + }, "%e": function(date2) { + return leadingSomething(date2.tm_mday, 2, " "); + }, "%g": function(date2) { + return getWeekBasedYear(date2).toString().substring(2); + }, "%G": function(date2) { + return getWeekBasedYear(date2); + }, "%H": function(date2) { + return leadingNulls(date2.tm_hour, 2); + }, "%I": function(date2) { + var twelveHour = date2.tm_hour; + if (twelveHour == 0) + twelveHour = 12; + else if (twelveHour > 12) + twelveHour -= 12; + return leadingNulls(twelveHour, 2); + }, "%j": function(date2) { + return leadingNulls(date2.tm_mday + __arraySum(__isLeapYear(date2.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date2.tm_mon - 1), 3); + }, "%m": function(date2) { + return leadingNulls(date2.tm_mon + 1, 2); + }, "%M": function(date2) { + return leadingNulls(date2.tm_min, 2); + }, "%n": function() { + return "\n"; + }, "%p": function(date2) { + if (date2.tm_hour >= 0 && date2.tm_hour < 12) { + return "AM"; + } + return "PM"; + }, "%S": function(date2) { + return leadingNulls(date2.tm_sec, 2); + }, "%t": function() { + return " "; + }, "%u": function(date2) { + return date2.tm_wday || 7; + }, "%U": function(date2) { + var days = date2.tm_yday + 7 - date2.tm_wday; + return leadingNulls(Math.floor(days / 7), 2); + }, "%V": function(date2) { + var val = Math.floor((date2.tm_yday + 7 - (date2.tm_wday + 6) % 7) / 7); + if ((date2.tm_wday + 371 - date2.tm_yday - 2) % 7 <= 2) { + val++; + } + if (!val) { + val = 52; + var dec31 = (date2.tm_wday + 7 - date2.tm_yday - 1) % 7; + if (dec31 == 4 || dec31 == 5 && __isLeapYear(date2.tm_year % 400 - 1)) { + val++; + } + } else if (val == 53) { + var jan1 = (date2.tm_wday + 371 - date2.tm_yday) % 7; + if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date2.tm_year))) + val = 1; + } + return leadingNulls(val, 2); + }, "%w": function(date2) { + return date2.tm_wday; + }, "%W": function(date2) { + var days = date2.tm_yday + 7 - (date2.tm_wday + 6) % 7; + return leadingNulls(Math.floor(days / 7), 2); + }, "%y": function(date2) { + return (date2.tm_year + 1900).toString().substring(2); + }, "%Y": function(date2) { + return date2.tm_year + 1900; + }, "%z": function(date2) { + var off = date2.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4); + }, "%Z": function(date2) { + return date2.tm_zone; + }, "%%": function() { + return "%"; + } }; + pattern = pattern.replace(/%%/g, "\0\0"); + for (var rule in EXPANSION_RULES_2) { + if (pattern.includes(rule)) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)); + } + } + pattern = pattern.replace(/\0\0/g, "%"); + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0; + } + writeArrayToMemory(bytes, s); + return bytes.length - 1; + } + function _strftime_l(s, maxsize, format, tm, loc) { + return _strftime(s, maxsize, format, tm); + } + InternalError = Module["InternalError"] = extendError(Error, "InternalError"); + embind_init_charCodes(); + BindingError = Module["BindingError"] = extendError(Error, "BindingError"); + init_ClassHandle(); + init_embind(); + init_RegisteredPointer(); + UnboundTypeError = Module["UnboundTypeError"] = extendError(Error, "UnboundTypeError"); + init_emval(); + var FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FSNode.prototype, { read: { get: function() { + return (this.mode & readMode) === readMode; + }, set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } }, write: { get: function() { + return (this.mode & writeMode) === writeMode; + }, set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } }, isFolder: { get: function() { + return FS.isDir(this.mode); + } }, isDevice: { get: function() { + return FS.isChrdev(this.mode); + } } }); + FS.FSNode = FSNode; + FS.staticInit(); + var wasmImports = { "g": ___cxa_throw, "S": __embind_finalize_value_array, "q": __embind_finalize_value_object, "G": __embind_register_bigint, "Q": __embind_register_bool, "p": __embind_register_class, "o": __embind_register_class_constructor, "b": __embind_register_class_function, "P": __embind_register_emval, "C": __embind_register_enum, "t": __embind_register_enum_value, "A": __embind_register_float, "c": __embind_register_function, "s": __embind_register_integer, "i": __embind_register_memory_view, "B": __embind_register_std_string, "w": __embind_register_std_wstring, "T": __embind_register_value_array, "l": __embind_register_value_array_element, "r": __embind_register_value_object, "e": __embind_register_value_object_field, "R": __embind_register_void, "k": __emval_as, "v": __emval_call, "a": __emval_decref, "y": __emval_get_global, "h": __emval_get_property, "n": __emval_incref, "E": __emval_instanceof, "x": __emval_is_number, "D": __emval_is_string, "U": __emval_new_array, "f": __emval_new_cstring, "u": __emval_new_object, "j": __emval_run_destructors, "m": __emval_set_property, "d": __emval_take_value, "z": _abort, "O": _emscripten_memcpy_big, "M": _emscripten_resize_heap, "I": _environ_get, "J": _environ_sizes_get, "K": _fd_close, "L": _fd_read, "F": _fd_seek, "N": _fd_write, "H": _strftime_l }; + createWasm(); + var _malloc = function() { + return (_malloc = Module["asm"]["Y"]).apply(null, arguments); + }; + var ___getTypeName = Module["___getTypeName"] = function() { + return (___getTypeName = Module["___getTypeName"] = Module["asm"]["Z"]).apply(null, arguments); + }; + Module["__embind_initialize_bindings"] = function() { + return (Module["__embind_initialize_bindings"] = Module["asm"]["_"]).apply(null, arguments); + }; + var _free = function() { + return (_free = Module["asm"]["$"]).apply(null, arguments); + }; + var ___cxa_is_pointer_type = function() { + return (___cxa_is_pointer_type = Module["asm"]["aa"]).apply(null, arguments); + }; + Module["dynCall_jiji"] = function() { + return (Module["dynCall_jiji"] = Module["asm"]["ba"]).apply(null, arguments); + }; + Module["dynCall_viijii"] = function() { + return (Module["dynCall_viijii"] = Module["asm"]["ca"]).apply(null, arguments); + }; + Module["dynCall_iiiiij"] = function() { + return (Module["dynCall_iiiiij"] = Module["asm"]["da"]).apply(null, arguments); + }; + Module["dynCall_iiiiijj"] = function() { + return (Module["dynCall_iiiiijj"] = Module["asm"]["ea"]).apply(null, arguments); + }; + Module["dynCall_iiiiiijj"] = function() { + return (Module["dynCall_iiiiiijj"] = Module["asm"]["fa"]).apply(null, arguments); + }; + var calledRun; + dependenciesFulfilled = function runCaller() { + if (!calledRun) + run(); + if (!calledRun) + dependenciesFulfilled = runCaller; + }; + function run() { + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) + return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) + return; + initRuntime(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) + Module["onRuntimeInitialized"](); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + } + if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") + Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } + } + run(); + return WebIFCWasm3.ready; + }; + })(); + if (typeof exports === "object" && typeof module === "object") + module.exports = WebIFCWasm2; + else if (typeof define === "function" && define["amd"]) + define([], function() { + return WebIFCWasm2; + }); + else if (typeof exports === "object") + exports["WebIFCWasm"] = WebIFCWasm2; + } +}); +var Handle = class { + constructor(value) { + this.value = value; + this.type = 5; + } +}; +var IfcLineObject = class { + constructor(expressID) { + this.expressID = expressID; + this.type = 0; + } +}; +var Schemas; +(function(Schemas2) { + Schemas2["IFC2X3"] = "IFC2X3"; + Schemas2["IFC4"] = "IFC4"; + Schemas2["IFC4X3"] = "IFC4X3"; +})(Schemas || (Schemas = {})); +var IFC2X3; +(function(IFC2X32) { + class IfcAbsorbedDoseMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcAbsorbedDoseMeasure = IfcAbsorbedDoseMeasure; + class IfcAccelerationMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcAccelerationMeasure = IfcAccelerationMeasure; + class IfcAmountOfSubstanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcAmountOfSubstanceMeasure = IfcAmountOfSubstanceMeasure; + class IfcAngularVelocityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcAngularVelocityMeasure = IfcAngularVelocityMeasure; + class IfcAreaMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcAreaMeasure = IfcAreaMeasure; + class IfcBoolean { + constructor(v) { + this.type = 3; + this.value = v == "true" ? true : false; + } + } + IFC2X32.IfcBoolean = IfcBoolean; + class IfcBoxAlignment { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcBoxAlignment = IfcBoxAlignment; + class IfcComplexNumber { + constructor(value) { + this.value = value; + } + } + IFC2X32.IfcComplexNumber = IfcComplexNumber; + class IfcCompoundPlaneAngleMeasure { + constructor(value) { + this.value = value; + } + } + IFC2X32.IfcCompoundPlaneAngleMeasure = IfcCompoundPlaneAngleMeasure; + class IfcContextDependentMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcContextDependentMeasure = IfcContextDependentMeasure; + class IfcCountMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcCountMeasure = IfcCountMeasure; + class IfcCurvatureMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcCurvatureMeasure = IfcCurvatureMeasure; + class IfcDayInMonthNumber { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcDayInMonthNumber = IfcDayInMonthNumber; + class IfcDaylightSavingHour { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcDaylightSavingHour = IfcDaylightSavingHour; + class IfcDescriptiveMeasure { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcDescriptiveMeasure = IfcDescriptiveMeasure; + class IfcDimensionCount { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcDimensionCount = IfcDimensionCount; + class IfcDoseEquivalentMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcDoseEquivalentMeasure = IfcDoseEquivalentMeasure; + class IfcDynamicViscosityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcDynamicViscosityMeasure = IfcDynamicViscosityMeasure; + class IfcElectricCapacitanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcElectricCapacitanceMeasure = IfcElectricCapacitanceMeasure; + class IfcElectricChargeMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcElectricChargeMeasure = IfcElectricChargeMeasure; + class IfcElectricConductanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcElectricConductanceMeasure = IfcElectricConductanceMeasure; + class IfcElectricCurrentMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcElectricCurrentMeasure = IfcElectricCurrentMeasure; + class IfcElectricResistanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcElectricResistanceMeasure = IfcElectricResistanceMeasure; + class IfcElectricVoltageMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcElectricVoltageMeasure = IfcElectricVoltageMeasure; + class IfcEnergyMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcEnergyMeasure = IfcEnergyMeasure; + class IfcFontStyle { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcFontStyle = IfcFontStyle; + class IfcFontVariant { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcFontVariant = IfcFontVariant; + class IfcFontWeight { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcFontWeight = IfcFontWeight; + class IfcForceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcForceMeasure = IfcForceMeasure; + class IfcFrequencyMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcFrequencyMeasure = IfcFrequencyMeasure; + class IfcGloballyUniqueId { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcGloballyUniqueId = IfcGloballyUniqueId; + class IfcHeatFluxDensityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcHeatFluxDensityMeasure = IfcHeatFluxDensityMeasure; + class IfcHeatingValueMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcHeatingValueMeasure = IfcHeatingValueMeasure; + class IfcHourInDay { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcHourInDay = IfcHourInDay; + class IfcIdentifier { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcIdentifier = IfcIdentifier; + class IfcIlluminanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcIlluminanceMeasure = IfcIlluminanceMeasure; + class IfcInductanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcInductanceMeasure = IfcInductanceMeasure; + class IfcInteger { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcInteger = IfcInteger; + class IfcIntegerCountRateMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcIntegerCountRateMeasure = IfcIntegerCountRateMeasure; + class IfcIonConcentrationMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcIonConcentrationMeasure = IfcIonConcentrationMeasure; + class IfcIsothermalMoistureCapacityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcIsothermalMoistureCapacityMeasure = IfcIsothermalMoistureCapacityMeasure; + class IfcKinematicViscosityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcKinematicViscosityMeasure = IfcKinematicViscosityMeasure; + class IfcLabel { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcLabel = IfcLabel; + class IfcLengthMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcLengthMeasure = IfcLengthMeasure; + class IfcLinearForceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcLinearForceMeasure = IfcLinearForceMeasure; + class IfcLinearMomentMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcLinearMomentMeasure = IfcLinearMomentMeasure; + class IfcLinearStiffnessMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcLinearStiffnessMeasure = IfcLinearStiffnessMeasure; + class IfcLinearVelocityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcLinearVelocityMeasure = IfcLinearVelocityMeasure; + class IfcLogical { + constructor(v) { + this.type = 3; + this.value = v == "true" ? true : false; + } + } + IFC2X32.IfcLogical = IfcLogical; + class IfcLuminousFluxMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcLuminousFluxMeasure = IfcLuminousFluxMeasure; + class IfcLuminousIntensityDistributionMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcLuminousIntensityDistributionMeasure = IfcLuminousIntensityDistributionMeasure; + class IfcLuminousIntensityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcLuminousIntensityMeasure = IfcLuminousIntensityMeasure; + class IfcMagneticFluxDensityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcMagneticFluxDensityMeasure = IfcMagneticFluxDensityMeasure; + class IfcMagneticFluxMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcMagneticFluxMeasure = IfcMagneticFluxMeasure; + class IfcMassDensityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcMassDensityMeasure = IfcMassDensityMeasure; + class IfcMassFlowRateMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcMassFlowRateMeasure = IfcMassFlowRateMeasure; + class IfcMassMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcMassMeasure = IfcMassMeasure; + class IfcMassPerLengthMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcMassPerLengthMeasure = IfcMassPerLengthMeasure; + class IfcMinuteInHour { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcMinuteInHour = IfcMinuteInHour; + class IfcModulusOfElasticityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcModulusOfElasticityMeasure = IfcModulusOfElasticityMeasure; + class IfcModulusOfLinearSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcModulusOfLinearSubgradeReactionMeasure = IfcModulusOfLinearSubgradeReactionMeasure; + class IfcModulusOfRotationalSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcModulusOfRotationalSubgradeReactionMeasure = IfcModulusOfRotationalSubgradeReactionMeasure; + class IfcModulusOfSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcModulusOfSubgradeReactionMeasure = IfcModulusOfSubgradeReactionMeasure; + class IfcMoistureDiffusivityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcMoistureDiffusivityMeasure = IfcMoistureDiffusivityMeasure; + class IfcMolecularWeightMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcMolecularWeightMeasure = IfcMolecularWeightMeasure; + class IfcMomentOfInertiaMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcMomentOfInertiaMeasure = IfcMomentOfInertiaMeasure; + class IfcMonetaryMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcMonetaryMeasure = IfcMonetaryMeasure; + class IfcMonthInYearNumber { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcMonthInYearNumber = IfcMonthInYearNumber; + class IfcNormalisedRatioMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcNormalisedRatioMeasure = IfcNormalisedRatioMeasure; + class IfcNumericMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcNumericMeasure = IfcNumericMeasure; + class IfcPHMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcPHMeasure = IfcPHMeasure; + class IfcParameterValue { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcParameterValue = IfcParameterValue; + class IfcPlanarForceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcPlanarForceMeasure = IfcPlanarForceMeasure; + class IfcPlaneAngleMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcPlaneAngleMeasure = IfcPlaneAngleMeasure; + class IfcPositiveLengthMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcPositiveLengthMeasure = IfcPositiveLengthMeasure; + class IfcPositivePlaneAngleMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcPositivePlaneAngleMeasure = IfcPositivePlaneAngleMeasure; + class IfcPositiveRatioMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcPositiveRatioMeasure = IfcPositiveRatioMeasure; + class IfcPowerMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcPowerMeasure = IfcPowerMeasure; + class IfcPresentableText { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcPresentableText = IfcPresentableText; + class IfcPressureMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcPressureMeasure = IfcPressureMeasure; + class IfcRadioActivityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcRadioActivityMeasure = IfcRadioActivityMeasure; + class IfcRatioMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcRatioMeasure = IfcRatioMeasure; + class IfcReal { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcReal = IfcReal; + class IfcRotationalFrequencyMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcRotationalFrequencyMeasure = IfcRotationalFrequencyMeasure; + class IfcRotationalMassMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcRotationalMassMeasure = IfcRotationalMassMeasure; + class IfcRotationalStiffnessMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcRotationalStiffnessMeasure = IfcRotationalStiffnessMeasure; + class IfcSecondInMinute { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcSecondInMinute = IfcSecondInMinute; + class IfcSectionModulusMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcSectionModulusMeasure = IfcSectionModulusMeasure; + class IfcSectionalAreaIntegralMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcSectionalAreaIntegralMeasure = IfcSectionalAreaIntegralMeasure; + class IfcShearModulusMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcShearModulusMeasure = IfcShearModulusMeasure; + class IfcSolidAngleMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcSolidAngleMeasure = IfcSolidAngleMeasure; + class IfcSoundPowerMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcSoundPowerMeasure = IfcSoundPowerMeasure; + class IfcSoundPressureMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcSoundPressureMeasure = IfcSoundPressureMeasure; + class IfcSpecificHeatCapacityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcSpecificHeatCapacityMeasure = IfcSpecificHeatCapacityMeasure; + class IfcSpecularExponent { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcSpecularExponent = IfcSpecularExponent; + class IfcSpecularRoughness { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcSpecularRoughness = IfcSpecularRoughness; + class IfcTemperatureGradientMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcTemperatureGradientMeasure = IfcTemperatureGradientMeasure; + class IfcText { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcText = IfcText; + class IfcTextAlignment { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcTextAlignment = IfcTextAlignment; + class IfcTextDecoration { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcTextDecoration = IfcTextDecoration; + class IfcTextFontName { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcTextFontName = IfcTextFontName; + class IfcTextTransformation { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC2X32.IfcTextTransformation = IfcTextTransformation; + class IfcThermalAdmittanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcThermalAdmittanceMeasure = IfcThermalAdmittanceMeasure; + class IfcThermalConductivityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcThermalConductivityMeasure = IfcThermalConductivityMeasure; + class IfcThermalExpansionCoefficientMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcThermalExpansionCoefficientMeasure = IfcThermalExpansionCoefficientMeasure; + class IfcThermalResistanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcThermalResistanceMeasure = IfcThermalResistanceMeasure; + class IfcThermalTransmittanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcThermalTransmittanceMeasure = IfcThermalTransmittanceMeasure; + class IfcThermodynamicTemperatureMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcThermodynamicTemperatureMeasure = IfcThermodynamicTemperatureMeasure; + class IfcTimeMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcTimeMeasure = IfcTimeMeasure; + class IfcTimeStamp { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcTimeStamp = IfcTimeStamp; + class IfcTorqueMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcTorqueMeasure = IfcTorqueMeasure; + class IfcVaporPermeabilityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcVaporPermeabilityMeasure = IfcVaporPermeabilityMeasure; + class IfcVolumeMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcVolumeMeasure = IfcVolumeMeasure; + class IfcVolumetricFlowRateMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcVolumetricFlowRateMeasure = IfcVolumetricFlowRateMeasure; + class IfcWarpingConstantMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcWarpingConstantMeasure = IfcWarpingConstantMeasure; + class IfcWarpingMomentMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcWarpingMomentMeasure = IfcWarpingMomentMeasure; + class IfcYearNumber { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC2X32.IfcYearNumber = IfcYearNumber; + class IfcActionSourceTypeEnum { + } + IfcActionSourceTypeEnum.DEAD_LOAD_G = { type: 3, value: "DEAD_LOAD_G" }; + IfcActionSourceTypeEnum.COMPLETION_G1 = { type: 3, value: "COMPLETION_G1" }; + IfcActionSourceTypeEnum.LIVE_LOAD_Q = { type: 3, value: "LIVE_LOAD_Q" }; + IfcActionSourceTypeEnum.SNOW_S = { type: 3, value: "SNOW_S" }; + IfcActionSourceTypeEnum.WIND_W = { type: 3, value: "WIND_W" }; + IfcActionSourceTypeEnum.PRESTRESSING_P = { type: 3, value: "PRESTRESSING_P" }; + IfcActionSourceTypeEnum.SETTLEMENT_U = { type: 3, value: "SETTLEMENT_U" }; + IfcActionSourceTypeEnum.TEMPERATURE_T = { type: 3, value: "TEMPERATURE_T" }; + IfcActionSourceTypeEnum.EARTHQUAKE_E = { type: 3, value: "EARTHQUAKE_E" }; + IfcActionSourceTypeEnum.FIRE = { type: 3, value: "FIRE" }; + IfcActionSourceTypeEnum.IMPULSE = { type: 3, value: "IMPULSE" }; + IfcActionSourceTypeEnum.IMPACT = { type: 3, value: "IMPACT" }; + IfcActionSourceTypeEnum.TRANSPORT = { type: 3, value: "TRANSPORT" }; + IfcActionSourceTypeEnum.ERECTION = { type: 3, value: "ERECTION" }; + IfcActionSourceTypeEnum.PROPPING = { type: 3, value: "PROPPING" }; + IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION = { type: 3, value: "SYSTEM_IMPERFECTION" }; + IfcActionSourceTypeEnum.SHRINKAGE = { type: 3, value: "SHRINKAGE" }; + IfcActionSourceTypeEnum.CREEP = { type: 3, value: "CREEP" }; + IfcActionSourceTypeEnum.LACK_OF_FIT = { type: 3, value: "LACK_OF_FIT" }; + IfcActionSourceTypeEnum.BUOYANCY = { type: 3, value: "BUOYANCY" }; + IfcActionSourceTypeEnum.ICE = { type: 3, value: "ICE" }; + IfcActionSourceTypeEnum.CURRENT = { type: 3, value: "CURRENT" }; + IfcActionSourceTypeEnum.WAVE = { type: 3, value: "WAVE" }; + IfcActionSourceTypeEnum.RAIN = { type: 3, value: "RAIN" }; + IfcActionSourceTypeEnum.BRAKES = { type: 3, value: "BRAKES" }; + IfcActionSourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActionSourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcActionSourceTypeEnum = IfcActionSourceTypeEnum; + class IfcActionTypeEnum { + } + IfcActionTypeEnum.PERMANENT_G = { type: 3, value: "PERMANENT_G" }; + IfcActionTypeEnum.VARIABLE_Q = { type: 3, value: "VARIABLE_Q" }; + IfcActionTypeEnum.EXTRAORDINARY_A = { type: 3, value: "EXTRAORDINARY_A" }; + IfcActionTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcActionTypeEnum = IfcActionTypeEnum; + class IfcActuatorTypeEnum { + } + IfcActuatorTypeEnum.ELECTRICACTUATOR = { type: 3, value: "ELECTRICACTUATOR" }; + IfcActuatorTypeEnum.HANDOPERATEDACTUATOR = { type: 3, value: "HANDOPERATEDACTUATOR" }; + IfcActuatorTypeEnum.HYDRAULICACTUATOR = { type: 3, value: "HYDRAULICACTUATOR" }; + IfcActuatorTypeEnum.PNEUMATICACTUATOR = { type: 3, value: "PNEUMATICACTUATOR" }; + IfcActuatorTypeEnum.THERMOSTATICACTUATOR = { type: 3, value: "THERMOSTATICACTUATOR" }; + IfcActuatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActuatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcActuatorTypeEnum = IfcActuatorTypeEnum; + class IfcAddressTypeEnum { + } + IfcAddressTypeEnum.OFFICE = { type: 3, value: "OFFICE" }; + IfcAddressTypeEnum.SITE = { type: 3, value: "SITE" }; + IfcAddressTypeEnum.HOME = { type: 3, value: "HOME" }; + IfcAddressTypeEnum.DISTRIBUTIONPOINT = { type: 3, value: "DISTRIBUTIONPOINT" }; + IfcAddressTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC2X32.IfcAddressTypeEnum = IfcAddressTypeEnum; + class IfcAheadOrBehind { + } + IfcAheadOrBehind.AHEAD = { type: 3, value: "AHEAD" }; + IfcAheadOrBehind.BEHIND = { type: 3, value: "BEHIND" }; + IFC2X32.IfcAheadOrBehind = IfcAheadOrBehind; + class IfcAirTerminalBoxTypeEnum { + } + IfcAirTerminalBoxTypeEnum.CONSTANTFLOW = { type: 3, value: "CONSTANTFLOW" }; + IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREDEPENDANT" }; + IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREINDEPENDANT" }; + IfcAirTerminalBoxTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirTerminalBoxTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcAirTerminalBoxTypeEnum = IfcAirTerminalBoxTypeEnum; + class IfcAirTerminalTypeEnum { + } + IfcAirTerminalTypeEnum.GRILLE = { type: 3, value: "GRILLE" }; + IfcAirTerminalTypeEnum.REGISTER = { type: 3, value: "REGISTER" }; + IfcAirTerminalTypeEnum.DIFFUSER = { type: 3, value: "DIFFUSER" }; + IfcAirTerminalTypeEnum.EYEBALL = { type: 3, value: "EYEBALL" }; + IfcAirTerminalTypeEnum.IRIS = { type: 3, value: "IRIS" }; + IfcAirTerminalTypeEnum.LINEARGRILLE = { type: 3, value: "LINEARGRILLE" }; + IfcAirTerminalTypeEnum.LINEARDIFFUSER = { type: 3, value: "LINEARDIFFUSER" }; + IfcAirTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcAirTerminalTypeEnum = IfcAirTerminalTypeEnum; + class IfcAirToAirHeatRecoveryTypeEnum { + } + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECOUNTERFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECROSSFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER = { type: 3, value: "FIXEDPLATEPARALLELFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL = { type: 3, value: "ROTARYWHEEL" }; + IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP = { type: 3, value: "RUNAROUNDCOILLOOP" }; + IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE = { type: 3, value: "HEATPIPE" }; + IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS = { type: 3, value: "TWINTOWERENTHALPYRECOVERYLOOPS" }; + IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONSEALEDTUBEHEATEXCHANGERS" }; + IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONCOILTYPEHEATEXCHANGERS" }; + IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcAirToAirHeatRecoveryTypeEnum = IfcAirToAirHeatRecoveryTypeEnum; + class IfcAlarmTypeEnum { + } + IfcAlarmTypeEnum.BELL = { type: 3, value: "BELL" }; + IfcAlarmTypeEnum.BREAKGLASSBUTTON = { type: 3, value: "BREAKGLASSBUTTON" }; + IfcAlarmTypeEnum.LIGHT = { type: 3, value: "LIGHT" }; + IfcAlarmTypeEnum.MANUALPULLBOX = { type: 3, value: "MANUALPULLBOX" }; + IfcAlarmTypeEnum.SIREN = { type: 3, value: "SIREN" }; + IfcAlarmTypeEnum.WHISTLE = { type: 3, value: "WHISTLE" }; + IfcAlarmTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAlarmTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcAlarmTypeEnum = IfcAlarmTypeEnum; + class IfcAnalysisModelTypeEnum { + } + IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D = { type: 3, value: "IN_PLANE_LOADING_2D" }; + IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D = { type: 3, value: "OUT_PLANE_LOADING_2D" }; + IfcAnalysisModelTypeEnum.LOADING_3D = { type: 3, value: "LOADING_3D" }; + IfcAnalysisModelTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAnalysisModelTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcAnalysisModelTypeEnum = IfcAnalysisModelTypeEnum; + class IfcAnalysisTheoryTypeEnum { + } + IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY = { type: 3, value: "FIRST_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY = { type: 3, value: "SECOND_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY = { type: 3, value: "THIRD_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY = { type: 3, value: "FULL_NONLINEAR_THEORY" }; + IfcAnalysisTheoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAnalysisTheoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcAnalysisTheoryTypeEnum = IfcAnalysisTheoryTypeEnum; + class IfcArithmeticOperatorEnum { + } + IfcArithmeticOperatorEnum.ADD = { type: 3, value: "ADD" }; + IfcArithmeticOperatorEnum.DIVIDE = { type: 3, value: "DIVIDE" }; + IfcArithmeticOperatorEnum.MULTIPLY = { type: 3, value: "MULTIPLY" }; + IfcArithmeticOperatorEnum.SUBTRACT = { type: 3, value: "SUBTRACT" }; + IFC2X32.IfcArithmeticOperatorEnum = IfcArithmeticOperatorEnum; + class IfcAssemblyPlaceEnum { + } + IfcAssemblyPlaceEnum.SITE = { type: 3, value: "SITE" }; + IfcAssemblyPlaceEnum.FACTORY = { type: 3, value: "FACTORY" }; + IfcAssemblyPlaceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcAssemblyPlaceEnum = IfcAssemblyPlaceEnum; + class IfcBSplineCurveForm { + } + IfcBSplineCurveForm.POLYLINE_FORM = { type: 3, value: "POLYLINE_FORM" }; + IfcBSplineCurveForm.CIRCULAR_ARC = { type: 3, value: "CIRCULAR_ARC" }; + IfcBSplineCurveForm.ELLIPTIC_ARC = { type: 3, value: "ELLIPTIC_ARC" }; + IfcBSplineCurveForm.PARABOLIC_ARC = { type: 3, value: "PARABOLIC_ARC" }; + IfcBSplineCurveForm.HYPERBOLIC_ARC = { type: 3, value: "HYPERBOLIC_ARC" }; + IfcBSplineCurveForm.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC2X32.IfcBSplineCurveForm = IfcBSplineCurveForm; + class IfcBeamTypeEnum { + } + IfcBeamTypeEnum.BEAM = { type: 3, value: "BEAM" }; + IfcBeamTypeEnum.JOIST = { type: 3, value: "JOIST" }; + IfcBeamTypeEnum.LINTEL = { type: 3, value: "LINTEL" }; + IfcBeamTypeEnum.T_BEAM = { type: 3, value: "T_BEAM" }; + IfcBeamTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBeamTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcBeamTypeEnum = IfcBeamTypeEnum; + class IfcBenchmarkEnum { + } + IfcBenchmarkEnum.GREATERTHAN = { type: 3, value: "GREATERTHAN" }; + IfcBenchmarkEnum.GREATERTHANOREQUALTO = { type: 3, value: "GREATERTHANOREQUALTO" }; + IfcBenchmarkEnum.LESSTHAN = { type: 3, value: "LESSTHAN" }; + IfcBenchmarkEnum.LESSTHANOREQUALTO = { type: 3, value: "LESSTHANOREQUALTO" }; + IfcBenchmarkEnum.EQUALTO = { type: 3, value: "EQUALTO" }; + IfcBenchmarkEnum.NOTEQUALTO = { type: 3, value: "NOTEQUALTO" }; + IFC2X32.IfcBenchmarkEnum = IfcBenchmarkEnum; + class IfcBoilerTypeEnum { + } + IfcBoilerTypeEnum.WATER = { type: 3, value: "WATER" }; + IfcBoilerTypeEnum.STEAM = { type: 3, value: "STEAM" }; + IfcBoilerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBoilerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcBoilerTypeEnum = IfcBoilerTypeEnum; + class IfcBooleanOperator { + } + IfcBooleanOperator.UNION = { type: 3, value: "UNION" }; + IfcBooleanOperator.INTERSECTION = { type: 3, value: "INTERSECTION" }; + IfcBooleanOperator.DIFFERENCE = { type: 3, value: "DIFFERENCE" }; + IFC2X32.IfcBooleanOperator = IfcBooleanOperator; + class IfcBuildingElementProxyTypeEnum { + } + IfcBuildingElementProxyTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBuildingElementProxyTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcBuildingElementProxyTypeEnum = IfcBuildingElementProxyTypeEnum; + class IfcCableCarrierFittingTypeEnum { + } + IfcCableCarrierFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcCableCarrierFittingTypeEnum.CROSS = { type: 3, value: "CROSS" }; + IfcCableCarrierFittingTypeEnum.REDUCER = { type: 3, value: "REDUCER" }; + IfcCableCarrierFittingTypeEnum.TEE = { type: 3, value: "TEE" }; + IfcCableCarrierFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableCarrierFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCableCarrierFittingTypeEnum = IfcCableCarrierFittingTypeEnum; + class IfcCableCarrierSegmentTypeEnum { + } + IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT = { type: 3, value: "CABLELADDERSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT = { type: 3, value: "CABLETRAYSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT = { type: 3, value: "CABLETRUNKINGSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT = { type: 3, value: "CONDUITSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableCarrierSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCableCarrierSegmentTypeEnum = IfcCableCarrierSegmentTypeEnum; + class IfcCableSegmentTypeEnum { + } + IfcCableSegmentTypeEnum.CABLESEGMENT = { type: 3, value: "CABLESEGMENT" }; + IfcCableSegmentTypeEnum.CONDUCTORSEGMENT = { type: 3, value: "CONDUCTORSEGMENT" }; + IfcCableSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCableSegmentTypeEnum = IfcCableSegmentTypeEnum; + class IfcChangeActionEnum { + } + IfcChangeActionEnum.NOCHANGE = { type: 3, value: "NOCHANGE" }; + IfcChangeActionEnum.MODIFIED = { type: 3, value: "MODIFIED" }; + IfcChangeActionEnum.ADDED = { type: 3, value: "ADDED" }; + IfcChangeActionEnum.DELETED = { type: 3, value: "DELETED" }; + IfcChangeActionEnum.MODIFIEDADDED = { type: 3, value: "MODIFIEDADDED" }; + IfcChangeActionEnum.MODIFIEDDELETED = { type: 3, value: "MODIFIEDDELETED" }; + IFC2X32.IfcChangeActionEnum = IfcChangeActionEnum; + class IfcChillerTypeEnum { + } + IfcChillerTypeEnum.AIRCOOLED = { type: 3, value: "AIRCOOLED" }; + IfcChillerTypeEnum.WATERCOOLED = { type: 3, value: "WATERCOOLED" }; + IfcChillerTypeEnum.HEATRECOVERY = { type: 3, value: "HEATRECOVERY" }; + IfcChillerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcChillerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcChillerTypeEnum = IfcChillerTypeEnum; + class IfcCoilTypeEnum { + } + IfcCoilTypeEnum.DXCOOLINGCOIL = { type: 3, value: "DXCOOLINGCOIL" }; + IfcCoilTypeEnum.WATERCOOLINGCOIL = { type: 3, value: "WATERCOOLINGCOIL" }; + IfcCoilTypeEnum.STEAMHEATINGCOIL = { type: 3, value: "STEAMHEATINGCOIL" }; + IfcCoilTypeEnum.WATERHEATINGCOIL = { type: 3, value: "WATERHEATINGCOIL" }; + IfcCoilTypeEnum.ELECTRICHEATINGCOIL = { type: 3, value: "ELECTRICHEATINGCOIL" }; + IfcCoilTypeEnum.GASHEATINGCOIL = { type: 3, value: "GASHEATINGCOIL" }; + IfcCoilTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoilTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCoilTypeEnum = IfcCoilTypeEnum; + class IfcColumnTypeEnum { + } + IfcColumnTypeEnum.COLUMN = { type: 3, value: "COLUMN" }; + IfcColumnTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcColumnTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcColumnTypeEnum = IfcColumnTypeEnum; + class IfcCompressorTypeEnum { + } + IfcCompressorTypeEnum.DYNAMIC = { type: 3, value: "DYNAMIC" }; + IfcCompressorTypeEnum.RECIPROCATING = { type: 3, value: "RECIPROCATING" }; + IfcCompressorTypeEnum.ROTARY = { type: 3, value: "ROTARY" }; + IfcCompressorTypeEnum.SCROLL = { type: 3, value: "SCROLL" }; + IfcCompressorTypeEnum.TROCHOIDAL = { type: 3, value: "TROCHOIDAL" }; + IfcCompressorTypeEnum.SINGLESTAGE = { type: 3, value: "SINGLESTAGE" }; + IfcCompressorTypeEnum.BOOSTER = { type: 3, value: "BOOSTER" }; + IfcCompressorTypeEnum.OPENTYPE = { type: 3, value: "OPENTYPE" }; + IfcCompressorTypeEnum.HERMETIC = { type: 3, value: "HERMETIC" }; + IfcCompressorTypeEnum.SEMIHERMETIC = { type: 3, value: "SEMIHERMETIC" }; + IfcCompressorTypeEnum.WELDEDSHELLHERMETIC = { type: 3, value: "WELDEDSHELLHERMETIC" }; + IfcCompressorTypeEnum.ROLLINGPISTON = { type: 3, value: "ROLLINGPISTON" }; + IfcCompressorTypeEnum.ROTARYVANE = { type: 3, value: "ROTARYVANE" }; + IfcCompressorTypeEnum.SINGLESCREW = { type: 3, value: "SINGLESCREW" }; + IfcCompressorTypeEnum.TWINSCREW = { type: 3, value: "TWINSCREW" }; + IfcCompressorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCompressorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCompressorTypeEnum = IfcCompressorTypeEnum; + class IfcCondenserTypeEnum { + } + IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE = { type: 3, value: "WATERCOOLEDSHELLTUBE" }; + IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL = { type: 3, value: "WATERCOOLEDSHELLCOIL" }; + IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE = { type: 3, value: "WATERCOOLEDTUBEINTUBE" }; + IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE = { type: 3, value: "WATERCOOLEDBRAZEDPLATE" }; + IfcCondenserTypeEnum.AIRCOOLED = { type: 3, value: "AIRCOOLED" }; + IfcCondenserTypeEnum.EVAPORATIVECOOLED = { type: 3, value: "EVAPORATIVECOOLED" }; + IfcCondenserTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCondenserTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCondenserTypeEnum = IfcCondenserTypeEnum; + class IfcConnectionTypeEnum { + } + IfcConnectionTypeEnum.ATPATH = { type: 3, value: "ATPATH" }; + IfcConnectionTypeEnum.ATSTART = { type: 3, value: "ATSTART" }; + IfcConnectionTypeEnum.ATEND = { type: 3, value: "ATEND" }; + IfcConnectionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcConnectionTypeEnum = IfcConnectionTypeEnum; + class IfcConstraintEnum { + } + IfcConstraintEnum.HARD = { type: 3, value: "HARD" }; + IfcConstraintEnum.SOFT = { type: 3, value: "SOFT" }; + IfcConstraintEnum.ADVISORY = { type: 3, value: "ADVISORY" }; + IfcConstraintEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConstraintEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcConstraintEnum = IfcConstraintEnum; + class IfcControllerTypeEnum { + } + IfcControllerTypeEnum.FLOATING = { type: 3, value: "FLOATING" }; + IfcControllerTypeEnum.PROPORTIONAL = { type: 3, value: "PROPORTIONAL" }; + IfcControllerTypeEnum.PROPORTIONALINTEGRAL = { type: 3, value: "PROPORTIONALINTEGRAL" }; + IfcControllerTypeEnum.PROPORTIONALINTEGRALDERIVATIVE = { type: 3, value: "PROPORTIONALINTEGRALDERIVATIVE" }; + IfcControllerTypeEnum.TIMEDTWOPOSITION = { type: 3, value: "TIMEDTWOPOSITION" }; + IfcControllerTypeEnum.TWOPOSITION = { type: 3, value: "TWOPOSITION" }; + IfcControllerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcControllerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcControllerTypeEnum = IfcControllerTypeEnum; + class IfcCooledBeamTypeEnum { + } + IfcCooledBeamTypeEnum.ACTIVE = { type: 3, value: "ACTIVE" }; + IfcCooledBeamTypeEnum.PASSIVE = { type: 3, value: "PASSIVE" }; + IfcCooledBeamTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCooledBeamTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCooledBeamTypeEnum = IfcCooledBeamTypeEnum; + class IfcCoolingTowerTypeEnum { + } + IfcCoolingTowerTypeEnum.NATURALDRAFT = { type: 3, value: "NATURALDRAFT" }; + IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT = { type: 3, value: "MECHANICALINDUCEDDRAFT" }; + IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT = { type: 3, value: "MECHANICALFORCEDDRAFT" }; + IfcCoolingTowerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoolingTowerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCoolingTowerTypeEnum = IfcCoolingTowerTypeEnum; + class IfcCostScheduleTypeEnum { + } + IfcCostScheduleTypeEnum.BUDGET = { type: 3, value: "BUDGET" }; + IfcCostScheduleTypeEnum.COSTPLAN = { type: 3, value: "COSTPLAN" }; + IfcCostScheduleTypeEnum.ESTIMATE = { type: 3, value: "ESTIMATE" }; + IfcCostScheduleTypeEnum.TENDER = { type: 3, value: "TENDER" }; + IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES = { type: 3, value: "PRICEDBILLOFQUANTITIES" }; + IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES = { type: 3, value: "UNPRICEDBILLOFQUANTITIES" }; + IfcCostScheduleTypeEnum.SCHEDULEOFRATES = { type: 3, value: "SCHEDULEOFRATES" }; + IfcCostScheduleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCostScheduleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCostScheduleTypeEnum = IfcCostScheduleTypeEnum; + class IfcCoveringTypeEnum { + } + IfcCoveringTypeEnum.CEILING = { type: 3, value: "CEILING" }; + IfcCoveringTypeEnum.FLOORING = { type: 3, value: "FLOORING" }; + IfcCoveringTypeEnum.CLADDING = { type: 3, value: "CLADDING" }; + IfcCoveringTypeEnum.ROOFING = { type: 3, value: "ROOFING" }; + IfcCoveringTypeEnum.INSULATION = { type: 3, value: "INSULATION" }; + IfcCoveringTypeEnum.MEMBRANE = { type: 3, value: "MEMBRANE" }; + IfcCoveringTypeEnum.SLEEVING = { type: 3, value: "SLEEVING" }; + IfcCoveringTypeEnum.WRAPPING = { type: 3, value: "WRAPPING" }; + IfcCoveringTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoveringTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCoveringTypeEnum = IfcCoveringTypeEnum; + class IfcCurrencyEnum { + } + IfcCurrencyEnum.AED = { type: 3, value: "AED" }; + IfcCurrencyEnum.AES = { type: 3, value: "AES" }; + IfcCurrencyEnum.ATS = { type: 3, value: "ATS" }; + IfcCurrencyEnum.AUD = { type: 3, value: "AUD" }; + IfcCurrencyEnum.BBD = { type: 3, value: "BBD" }; + IfcCurrencyEnum.BEG = { type: 3, value: "BEG" }; + IfcCurrencyEnum.BGL = { type: 3, value: "BGL" }; + IfcCurrencyEnum.BHD = { type: 3, value: "BHD" }; + IfcCurrencyEnum.BMD = { type: 3, value: "BMD" }; + IfcCurrencyEnum.BND = { type: 3, value: "BND" }; + IfcCurrencyEnum.BRL = { type: 3, value: "BRL" }; + IfcCurrencyEnum.BSD = { type: 3, value: "BSD" }; + IfcCurrencyEnum.BWP = { type: 3, value: "BWP" }; + IfcCurrencyEnum.BZD = { type: 3, value: "BZD" }; + IfcCurrencyEnum.CAD = { type: 3, value: "CAD" }; + IfcCurrencyEnum.CBD = { type: 3, value: "CBD" }; + IfcCurrencyEnum.CHF = { type: 3, value: "CHF" }; + IfcCurrencyEnum.CLP = { type: 3, value: "CLP" }; + IfcCurrencyEnum.CNY = { type: 3, value: "CNY" }; + IfcCurrencyEnum.CYS = { type: 3, value: "CYS" }; + IfcCurrencyEnum.CZK = { type: 3, value: "CZK" }; + IfcCurrencyEnum.DDP = { type: 3, value: "DDP" }; + IfcCurrencyEnum.DEM = { type: 3, value: "DEM" }; + IfcCurrencyEnum.DKK = { type: 3, value: "DKK" }; + IfcCurrencyEnum.EGL = { type: 3, value: "EGL" }; + IfcCurrencyEnum.EST = { type: 3, value: "EST" }; + IfcCurrencyEnum.EUR = { type: 3, value: "EUR" }; + IfcCurrencyEnum.FAK = { type: 3, value: "FAK" }; + IfcCurrencyEnum.FIM = { type: 3, value: "FIM" }; + IfcCurrencyEnum.FJD = { type: 3, value: "FJD" }; + IfcCurrencyEnum.FKP = { type: 3, value: "FKP" }; + IfcCurrencyEnum.FRF = { type: 3, value: "FRF" }; + IfcCurrencyEnum.GBP = { type: 3, value: "GBP" }; + IfcCurrencyEnum.GIP = { type: 3, value: "GIP" }; + IfcCurrencyEnum.GMD = { type: 3, value: "GMD" }; + IfcCurrencyEnum.GRX = { type: 3, value: "GRX" }; + IfcCurrencyEnum.HKD = { type: 3, value: "HKD" }; + IfcCurrencyEnum.HUF = { type: 3, value: "HUF" }; + IfcCurrencyEnum.ICK = { type: 3, value: "ICK" }; + IfcCurrencyEnum.IDR = { type: 3, value: "IDR" }; + IfcCurrencyEnum.ILS = { type: 3, value: "ILS" }; + IfcCurrencyEnum.INR = { type: 3, value: "INR" }; + IfcCurrencyEnum.IRP = { type: 3, value: "IRP" }; + IfcCurrencyEnum.ITL = { type: 3, value: "ITL" }; + IfcCurrencyEnum.JMD = { type: 3, value: "JMD" }; + IfcCurrencyEnum.JOD = { type: 3, value: "JOD" }; + IfcCurrencyEnum.JPY = { type: 3, value: "JPY" }; + IfcCurrencyEnum.KES = { type: 3, value: "KES" }; + IfcCurrencyEnum.KRW = { type: 3, value: "KRW" }; + IfcCurrencyEnum.KWD = { type: 3, value: "KWD" }; + IfcCurrencyEnum.KYD = { type: 3, value: "KYD" }; + IfcCurrencyEnum.LKR = { type: 3, value: "LKR" }; + IfcCurrencyEnum.LUF = { type: 3, value: "LUF" }; + IfcCurrencyEnum.MTL = { type: 3, value: "MTL" }; + IfcCurrencyEnum.MUR = { type: 3, value: "MUR" }; + IfcCurrencyEnum.MXN = { type: 3, value: "MXN" }; + IfcCurrencyEnum.MYR = { type: 3, value: "MYR" }; + IfcCurrencyEnum.NLG = { type: 3, value: "NLG" }; + IfcCurrencyEnum.NZD = { type: 3, value: "NZD" }; + IfcCurrencyEnum.OMR = { type: 3, value: "OMR" }; + IfcCurrencyEnum.PGK = { type: 3, value: "PGK" }; + IfcCurrencyEnum.PHP = { type: 3, value: "PHP" }; + IfcCurrencyEnum.PKR = { type: 3, value: "PKR" }; + IfcCurrencyEnum.PLN = { type: 3, value: "PLN" }; + IfcCurrencyEnum.PTN = { type: 3, value: "PTN" }; + IfcCurrencyEnum.QAR = { type: 3, value: "QAR" }; + IfcCurrencyEnum.RUR = { type: 3, value: "RUR" }; + IfcCurrencyEnum.SAR = { type: 3, value: "SAR" }; + IfcCurrencyEnum.SCR = { type: 3, value: "SCR" }; + IfcCurrencyEnum.SEK = { type: 3, value: "SEK" }; + IfcCurrencyEnum.SGD = { type: 3, value: "SGD" }; + IfcCurrencyEnum.SKP = { type: 3, value: "SKP" }; + IfcCurrencyEnum.THB = { type: 3, value: "THB" }; + IfcCurrencyEnum.TRL = { type: 3, value: "TRL" }; + IfcCurrencyEnum.TTD = { type: 3, value: "TTD" }; + IfcCurrencyEnum.TWD = { type: 3, value: "TWD" }; + IfcCurrencyEnum.USD = { type: 3, value: "USD" }; + IfcCurrencyEnum.VEB = { type: 3, value: "VEB" }; + IfcCurrencyEnum.VND = { type: 3, value: "VND" }; + IfcCurrencyEnum.XEU = { type: 3, value: "XEU" }; + IfcCurrencyEnum.ZAR = { type: 3, value: "ZAR" }; + IfcCurrencyEnum.ZWD = { type: 3, value: "ZWD" }; + IfcCurrencyEnum.NOK = { type: 3, value: "NOK" }; + IFC2X32.IfcCurrencyEnum = IfcCurrencyEnum; + class IfcCurtainWallTypeEnum { + } + IfcCurtainWallTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCurtainWallTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcCurtainWallTypeEnum = IfcCurtainWallTypeEnum; + class IfcDamperTypeEnum { + } + IfcDamperTypeEnum.CONTROLDAMPER = { type: 3, value: "CONTROLDAMPER" }; + IfcDamperTypeEnum.FIREDAMPER = { type: 3, value: "FIREDAMPER" }; + IfcDamperTypeEnum.SMOKEDAMPER = { type: 3, value: "SMOKEDAMPER" }; + IfcDamperTypeEnum.FIRESMOKEDAMPER = { type: 3, value: "FIRESMOKEDAMPER" }; + IfcDamperTypeEnum.BACKDRAFTDAMPER = { type: 3, value: "BACKDRAFTDAMPER" }; + IfcDamperTypeEnum.RELIEFDAMPER = { type: 3, value: "RELIEFDAMPER" }; + IfcDamperTypeEnum.BLASTDAMPER = { type: 3, value: "BLASTDAMPER" }; + IfcDamperTypeEnum.GRAVITYDAMPER = { type: 3, value: "GRAVITYDAMPER" }; + IfcDamperTypeEnum.GRAVITYRELIEFDAMPER = { type: 3, value: "GRAVITYRELIEFDAMPER" }; + IfcDamperTypeEnum.BALANCINGDAMPER = { type: 3, value: "BALANCINGDAMPER" }; + IfcDamperTypeEnum.FUMEHOODEXHAUST = { type: 3, value: "FUMEHOODEXHAUST" }; + IfcDamperTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDamperTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDamperTypeEnum = IfcDamperTypeEnum; + class IfcDataOriginEnum { + } + IfcDataOriginEnum.MEASURED = { type: 3, value: "MEASURED" }; + IfcDataOriginEnum.PREDICTED = { type: 3, value: "PREDICTED" }; + IfcDataOriginEnum.SIMULATED = { type: 3, value: "SIMULATED" }; + IfcDataOriginEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDataOriginEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDataOriginEnum = IfcDataOriginEnum; + class IfcDerivedUnitEnum { + } + IfcDerivedUnitEnum.ANGULARVELOCITYUNIT = { type: 3, value: "ANGULARVELOCITYUNIT" }; + IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT = { type: 3, value: "COMPOUNDPLANEANGLEUNIT" }; + IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT = { type: 3, value: "DYNAMICVISCOSITYUNIT" }; + IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT = { type: 3, value: "HEATFLUXDENSITYUNIT" }; + IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT = { type: 3, value: "INTEGERCOUNTRATEUNIT" }; + IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT = { type: 3, value: "ISOTHERMALMOISTURECAPACITYUNIT" }; + IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT = { type: 3, value: "KINEMATICVISCOSITYUNIT" }; + IfcDerivedUnitEnum.LINEARVELOCITYUNIT = { type: 3, value: "LINEARVELOCITYUNIT" }; + IfcDerivedUnitEnum.MASSDENSITYUNIT = { type: 3, value: "MASSDENSITYUNIT" }; + IfcDerivedUnitEnum.MASSFLOWRATEUNIT = { type: 3, value: "MASSFLOWRATEUNIT" }; + IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT = { type: 3, value: "MOISTUREDIFFUSIVITYUNIT" }; + IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT = { type: 3, value: "MOLECULARWEIGHTUNIT" }; + IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT = { type: 3, value: "SPECIFICHEATCAPACITYUNIT" }; + IfcDerivedUnitEnum.THERMALADMITTANCEUNIT = { type: 3, value: "THERMALADMITTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT = { type: 3, value: "THERMALCONDUCTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALRESISTANCEUNIT = { type: 3, value: "THERMALRESISTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT = { type: 3, value: "THERMALTRANSMITTANCEUNIT" }; + IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT = { type: 3, value: "VAPORPERMEABILITYUNIT" }; + IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT = { type: 3, value: "VOLUMETRICFLOWRATEUNIT" }; + IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT = { type: 3, value: "ROTATIONALFREQUENCYUNIT" }; + IfcDerivedUnitEnum.TORQUEUNIT = { type: 3, value: "TORQUEUNIT" }; + IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT = { type: 3, value: "MOMENTOFINERTIAUNIT" }; + IfcDerivedUnitEnum.LINEARMOMENTUNIT = { type: 3, value: "LINEARMOMENTUNIT" }; + IfcDerivedUnitEnum.LINEARFORCEUNIT = { type: 3, value: "LINEARFORCEUNIT" }; + IfcDerivedUnitEnum.PLANARFORCEUNIT = { type: 3, value: "PLANARFORCEUNIT" }; + IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT = { type: 3, value: "MODULUSOFELASTICITYUNIT" }; + IfcDerivedUnitEnum.SHEARMODULUSUNIT = { type: 3, value: "SHEARMODULUSUNIT" }; + IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT = { type: 3, value: "LINEARSTIFFNESSUNIT" }; + IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT = { type: 3, value: "ROTATIONALSTIFFNESSUNIT" }; + IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.ACCELERATIONUNIT = { type: 3, value: "ACCELERATIONUNIT" }; + IfcDerivedUnitEnum.CURVATUREUNIT = { type: 3, value: "CURVATUREUNIT" }; + IfcDerivedUnitEnum.HEATINGVALUEUNIT = { type: 3, value: "HEATINGVALUEUNIT" }; + IfcDerivedUnitEnum.IONCONCENTRATIONUNIT = { type: 3, value: "IONCONCENTRATIONUNIT" }; + IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT = { type: 3, value: "LUMINOUSINTENSITYDISTRIBUTIONUNIT" }; + IfcDerivedUnitEnum.MASSPERLENGTHUNIT = { type: 3, value: "MASSPERLENGTHUNIT" }; + IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFLINEARSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFROTATIONALSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.PHUNIT = { type: 3, value: "PHUNIT" }; + IfcDerivedUnitEnum.ROTATIONALMASSUNIT = { type: 3, value: "ROTATIONALMASSUNIT" }; + IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT = { type: 3, value: "SECTIONAREAINTEGRALUNIT" }; + IfcDerivedUnitEnum.SECTIONMODULUSUNIT = { type: 3, value: "SECTIONMODULUSUNIT" }; + IfcDerivedUnitEnum.SOUNDPOWERUNIT = { type: 3, value: "SOUNDPOWERUNIT" }; + IfcDerivedUnitEnum.SOUNDPRESSUREUNIT = { type: 3, value: "SOUNDPRESSUREUNIT" }; + IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT = { type: 3, value: "TEMPERATUREGRADIENTUNIT" }; + IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT = { type: 3, value: "THERMALEXPANSIONCOEFFICIENTUNIT" }; + IfcDerivedUnitEnum.WARPINGCONSTANTUNIT = { type: 3, value: "WARPINGCONSTANTUNIT" }; + IfcDerivedUnitEnum.WARPINGMOMENTUNIT = { type: 3, value: "WARPINGMOMENTUNIT" }; + IfcDerivedUnitEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC2X32.IfcDerivedUnitEnum = IfcDerivedUnitEnum; + class IfcDimensionExtentUsage { + } + IfcDimensionExtentUsage.ORIGIN = { type: 3, value: "ORIGIN" }; + IfcDimensionExtentUsage.TARGET = { type: 3, value: "TARGET" }; + IFC2X32.IfcDimensionExtentUsage = IfcDimensionExtentUsage; + class IfcDirectionSenseEnum { + } + IfcDirectionSenseEnum.POSITIVE = { type: 3, value: "POSITIVE" }; + IfcDirectionSenseEnum.NEGATIVE = { type: 3, value: "NEGATIVE" }; + IFC2X32.IfcDirectionSenseEnum = IfcDirectionSenseEnum; + class IfcDistributionChamberElementTypeEnum { + } + IfcDistributionChamberElementTypeEnum.FORMEDDUCT = { type: 3, value: "FORMEDDUCT" }; + IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER = { type: 3, value: "INSPECTIONCHAMBER" }; + IfcDistributionChamberElementTypeEnum.INSPECTIONPIT = { type: 3, value: "INSPECTIONPIT" }; + IfcDistributionChamberElementTypeEnum.MANHOLE = { type: 3, value: "MANHOLE" }; + IfcDistributionChamberElementTypeEnum.METERCHAMBER = { type: 3, value: "METERCHAMBER" }; + IfcDistributionChamberElementTypeEnum.SUMP = { type: 3, value: "SUMP" }; + IfcDistributionChamberElementTypeEnum.TRENCH = { type: 3, value: "TRENCH" }; + IfcDistributionChamberElementTypeEnum.VALVECHAMBER = { type: 3, value: "VALVECHAMBER" }; + IfcDistributionChamberElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDistributionChamberElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDistributionChamberElementTypeEnum = IfcDistributionChamberElementTypeEnum; + class IfcDocumentConfidentialityEnum { + } + IfcDocumentConfidentialityEnum.PUBLIC = { type: 3, value: "PUBLIC" }; + IfcDocumentConfidentialityEnum.RESTRICTED = { type: 3, value: "RESTRICTED" }; + IfcDocumentConfidentialityEnum.CONFIDENTIAL = { type: 3, value: "CONFIDENTIAL" }; + IfcDocumentConfidentialityEnum.PERSONAL = { type: 3, value: "PERSONAL" }; + IfcDocumentConfidentialityEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDocumentConfidentialityEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDocumentConfidentialityEnum = IfcDocumentConfidentialityEnum; + class IfcDocumentStatusEnum { + } + IfcDocumentStatusEnum.DRAFT = { type: 3, value: "DRAFT" }; + IfcDocumentStatusEnum.FINALDRAFT = { type: 3, value: "FINALDRAFT" }; + IfcDocumentStatusEnum.FINAL = { type: 3, value: "FINAL" }; + IfcDocumentStatusEnum.REVISION = { type: 3, value: "REVISION" }; + IfcDocumentStatusEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDocumentStatusEnum = IfcDocumentStatusEnum; + class IfcDoorPanelOperationEnum { + } + IfcDoorPanelOperationEnum.SWINGING = { type: 3, value: "SWINGING" }; + IfcDoorPanelOperationEnum.DOUBLE_ACTING = { type: 3, value: "DOUBLE_ACTING" }; + IfcDoorPanelOperationEnum.SLIDING = { type: 3, value: "SLIDING" }; + IfcDoorPanelOperationEnum.FOLDING = { type: 3, value: "FOLDING" }; + IfcDoorPanelOperationEnum.REVOLVING = { type: 3, value: "REVOLVING" }; + IfcDoorPanelOperationEnum.ROLLINGUP = { type: 3, value: "ROLLINGUP" }; + IfcDoorPanelOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorPanelOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDoorPanelOperationEnum = IfcDoorPanelOperationEnum; + class IfcDoorPanelPositionEnum { + } + IfcDoorPanelPositionEnum.LEFT = { type: 3, value: "LEFT" }; + IfcDoorPanelPositionEnum.MIDDLE = { type: 3, value: "MIDDLE" }; + IfcDoorPanelPositionEnum.RIGHT = { type: 3, value: "RIGHT" }; + IfcDoorPanelPositionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDoorPanelPositionEnum = IfcDoorPanelPositionEnum; + class IfcDoorStyleConstructionEnum { + } + IfcDoorStyleConstructionEnum.ALUMINIUM = { type: 3, value: "ALUMINIUM" }; + IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL = { type: 3, value: "HIGH_GRADE_STEEL" }; + IfcDoorStyleConstructionEnum.STEEL = { type: 3, value: "STEEL" }; + IfcDoorStyleConstructionEnum.WOOD = { type: 3, value: "WOOD" }; + IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD = { type: 3, value: "ALUMINIUM_WOOD" }; + IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC = { type: 3, value: "ALUMINIUM_PLASTIC" }; + IfcDoorStyleConstructionEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcDoorStyleConstructionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorStyleConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDoorStyleConstructionEnum = IfcDoorStyleConstructionEnum; + class IfcDoorStyleOperationEnum { + } + IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT = { type: 3, value: "SINGLE_SWING_LEFT" }; + IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT = { type: 3, value: "SINGLE_SWING_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT = { type: 3, value: "DOUBLE_SWING_LEFT" }; + IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT = { type: 3, value: "DOUBLE_SWING_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING = { type: 3, value: "DOUBLE_DOOR_DOUBLE_SWING" }; + IfcDoorStyleOperationEnum.SLIDING_TO_LEFT = { type: 3, value: "SLIDING_TO_LEFT" }; + IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT = { type: 3, value: "SLIDING_TO_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING = { type: 3, value: "DOUBLE_DOOR_SLIDING" }; + IfcDoorStyleOperationEnum.FOLDING_TO_LEFT = { type: 3, value: "FOLDING_TO_LEFT" }; + IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT = { type: 3, value: "FOLDING_TO_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING = { type: 3, value: "DOUBLE_DOOR_FOLDING" }; + IfcDoorStyleOperationEnum.REVOLVING = { type: 3, value: "REVOLVING" }; + IfcDoorStyleOperationEnum.ROLLINGUP = { type: 3, value: "ROLLINGUP" }; + IfcDoorStyleOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorStyleOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDoorStyleOperationEnum = IfcDoorStyleOperationEnum; + class IfcDuctFittingTypeEnum { + } + IfcDuctFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcDuctFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcDuctFittingTypeEnum.ENTRY = { type: 3, value: "ENTRY" }; + IfcDuctFittingTypeEnum.EXIT = { type: 3, value: "EXIT" }; + IfcDuctFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcDuctFittingTypeEnum.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" }; + IfcDuctFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcDuctFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDuctFittingTypeEnum = IfcDuctFittingTypeEnum; + class IfcDuctSegmentTypeEnum { + } + IfcDuctSegmentTypeEnum.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" }; + IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" }; + IfcDuctSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDuctSegmentTypeEnum = IfcDuctSegmentTypeEnum; + class IfcDuctSilencerTypeEnum { + } + IfcDuctSilencerTypeEnum.FLATOVAL = { type: 3, value: "FLATOVAL" }; + IfcDuctSilencerTypeEnum.RECTANGULAR = { type: 3, value: "RECTANGULAR" }; + IfcDuctSilencerTypeEnum.ROUND = { type: 3, value: "ROUND" }; + IfcDuctSilencerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctSilencerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcDuctSilencerTypeEnum = IfcDuctSilencerTypeEnum; + class IfcElectricApplianceTypeEnum { + } + IfcElectricApplianceTypeEnum.COMPUTER = { type: 3, value: "COMPUTER" }; + IfcElectricApplianceTypeEnum.DIRECTWATERHEATER = { type: 3, value: "DIRECTWATERHEATER" }; + IfcElectricApplianceTypeEnum.DISHWASHER = { type: 3, value: "DISHWASHER" }; + IfcElectricApplianceTypeEnum.ELECTRICCOOKER = { type: 3, value: "ELECTRICCOOKER" }; + IfcElectricApplianceTypeEnum.ELECTRICHEATER = { type: 3, value: "ELECTRICHEATER" }; + IfcElectricApplianceTypeEnum.FACSIMILE = { type: 3, value: "FACSIMILE" }; + IfcElectricApplianceTypeEnum.FREESTANDINGFAN = { type: 3, value: "FREESTANDINGFAN" }; + IfcElectricApplianceTypeEnum.FREEZER = { type: 3, value: "FREEZER" }; + IfcElectricApplianceTypeEnum.FRIDGE_FREEZER = { type: 3, value: "FRIDGE_FREEZER" }; + IfcElectricApplianceTypeEnum.HANDDRYER = { type: 3, value: "HANDDRYER" }; + IfcElectricApplianceTypeEnum.INDIRECTWATERHEATER = { type: 3, value: "INDIRECTWATERHEATER" }; + IfcElectricApplianceTypeEnum.MICROWAVE = { type: 3, value: "MICROWAVE" }; + IfcElectricApplianceTypeEnum.PHOTOCOPIER = { type: 3, value: "PHOTOCOPIER" }; + IfcElectricApplianceTypeEnum.PRINTER = { type: 3, value: "PRINTER" }; + IfcElectricApplianceTypeEnum.REFRIGERATOR = { type: 3, value: "REFRIGERATOR" }; + IfcElectricApplianceTypeEnum.RADIANTHEATER = { type: 3, value: "RADIANTHEATER" }; + IfcElectricApplianceTypeEnum.SCANNER = { type: 3, value: "SCANNER" }; + IfcElectricApplianceTypeEnum.TELEPHONE = { type: 3, value: "TELEPHONE" }; + IfcElectricApplianceTypeEnum.TUMBLEDRYER = { type: 3, value: "TUMBLEDRYER" }; + IfcElectricApplianceTypeEnum.TV = { type: 3, value: "TV" }; + IfcElectricApplianceTypeEnum.VENDINGMACHINE = { type: 3, value: "VENDINGMACHINE" }; + IfcElectricApplianceTypeEnum.WASHINGMACHINE = { type: 3, value: "WASHINGMACHINE" }; + IfcElectricApplianceTypeEnum.WATERHEATER = { type: 3, value: "WATERHEATER" }; + IfcElectricApplianceTypeEnum.WATERCOOLER = { type: 3, value: "WATERCOOLER" }; + IfcElectricApplianceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricApplianceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElectricApplianceTypeEnum = IfcElectricApplianceTypeEnum; + class IfcElectricCurrentEnum { + } + IfcElectricCurrentEnum.ALTERNATING = { type: 3, value: "ALTERNATING" }; + IfcElectricCurrentEnum.DIRECT = { type: 3, value: "DIRECT" }; + IfcElectricCurrentEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElectricCurrentEnum = IfcElectricCurrentEnum; + class IfcElectricDistributionPointFunctionEnum { + } + IfcElectricDistributionPointFunctionEnum.ALARMPANEL = { type: 3, value: "ALARMPANEL" }; + IfcElectricDistributionPointFunctionEnum.CONSUMERUNIT = { type: 3, value: "CONSUMERUNIT" }; + IfcElectricDistributionPointFunctionEnum.CONTROLPANEL = { type: 3, value: "CONTROLPANEL" }; + IfcElectricDistributionPointFunctionEnum.DISTRIBUTIONBOARD = { type: 3, value: "DISTRIBUTIONBOARD" }; + IfcElectricDistributionPointFunctionEnum.GASDETECTORPANEL = { type: 3, value: "GASDETECTORPANEL" }; + IfcElectricDistributionPointFunctionEnum.INDICATORPANEL = { type: 3, value: "INDICATORPANEL" }; + IfcElectricDistributionPointFunctionEnum.MIMICPANEL = { type: 3, value: "MIMICPANEL" }; + IfcElectricDistributionPointFunctionEnum.MOTORCONTROLCENTRE = { type: 3, value: "MOTORCONTROLCENTRE" }; + IfcElectricDistributionPointFunctionEnum.SWITCHBOARD = { type: 3, value: "SWITCHBOARD" }; + IfcElectricDistributionPointFunctionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricDistributionPointFunctionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElectricDistributionPointFunctionEnum = IfcElectricDistributionPointFunctionEnum; + class IfcElectricFlowStorageDeviceTypeEnum { + } + IfcElectricFlowStorageDeviceTypeEnum.BATTERY = { type: 3, value: "BATTERY" }; + IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK = { type: 3, value: "CAPACITORBANK" }; + IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER = { type: 3, value: "HARMONICFILTER" }; + IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK = { type: 3, value: "INDUCTORBANK" }; + IfcElectricFlowStorageDeviceTypeEnum.UPS = { type: 3, value: "UPS" }; + IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElectricFlowStorageDeviceTypeEnum = IfcElectricFlowStorageDeviceTypeEnum; + class IfcElectricGeneratorTypeEnum { + } + IfcElectricGeneratorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricGeneratorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElectricGeneratorTypeEnum = IfcElectricGeneratorTypeEnum; + class IfcElectricHeaterTypeEnum { + } + IfcElectricHeaterTypeEnum.ELECTRICPOINTHEATER = { type: 3, value: "ELECTRICPOINTHEATER" }; + IfcElectricHeaterTypeEnum.ELECTRICCABLEHEATER = { type: 3, value: "ELECTRICCABLEHEATER" }; + IfcElectricHeaterTypeEnum.ELECTRICMATHEATER = { type: 3, value: "ELECTRICMATHEATER" }; + IfcElectricHeaterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricHeaterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElectricHeaterTypeEnum = IfcElectricHeaterTypeEnum; + class IfcElectricMotorTypeEnum { + } + IfcElectricMotorTypeEnum.DC = { type: 3, value: "DC" }; + IfcElectricMotorTypeEnum.INDUCTION = { type: 3, value: "INDUCTION" }; + IfcElectricMotorTypeEnum.POLYPHASE = { type: 3, value: "POLYPHASE" }; + IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS = { type: 3, value: "RELUCTANCESYNCHRONOUS" }; + IfcElectricMotorTypeEnum.SYNCHRONOUS = { type: 3, value: "SYNCHRONOUS" }; + IfcElectricMotorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricMotorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElectricMotorTypeEnum = IfcElectricMotorTypeEnum; + class IfcElectricTimeControlTypeEnum { + } + IfcElectricTimeControlTypeEnum.TIMECLOCK = { type: 3, value: "TIMECLOCK" }; + IfcElectricTimeControlTypeEnum.TIMEDELAY = { type: 3, value: "TIMEDELAY" }; + IfcElectricTimeControlTypeEnum.RELAY = { type: 3, value: "RELAY" }; + IfcElectricTimeControlTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricTimeControlTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElectricTimeControlTypeEnum = IfcElectricTimeControlTypeEnum; + class IfcElementAssemblyTypeEnum { + } + IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY = { type: 3, value: "ACCESSORY_ASSEMBLY" }; + IfcElementAssemblyTypeEnum.ARCH = { type: 3, value: "ARCH" }; + IfcElementAssemblyTypeEnum.BEAM_GRID = { type: 3, value: "BEAM_GRID" }; + IfcElementAssemblyTypeEnum.BRACED_FRAME = { type: 3, value: "BRACED_FRAME" }; + IfcElementAssemblyTypeEnum.GIRDER = { type: 3, value: "GIRDER" }; + IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT = { type: 3, value: "REINFORCEMENT_UNIT" }; + IfcElementAssemblyTypeEnum.RIGID_FRAME = { type: 3, value: "RIGID_FRAME" }; + IfcElementAssemblyTypeEnum.SLAB_FIELD = { type: 3, value: "SLAB_FIELD" }; + IfcElementAssemblyTypeEnum.TRUSS = { type: 3, value: "TRUSS" }; + IfcElementAssemblyTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElementAssemblyTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcElementAssemblyTypeEnum = IfcElementAssemblyTypeEnum; + class IfcElementCompositionEnum { + } + IfcElementCompositionEnum.COMPLEX = { type: 3, value: "COMPLEX" }; + IfcElementCompositionEnum.ELEMENT = { type: 3, value: "ELEMENT" }; + IfcElementCompositionEnum.PARTIAL = { type: 3, value: "PARTIAL" }; + IFC2X32.IfcElementCompositionEnum = IfcElementCompositionEnum; + class IfcEnergySequenceEnum { + } + IfcEnergySequenceEnum.PRIMARY = { type: 3, value: "PRIMARY" }; + IfcEnergySequenceEnum.SECONDARY = { type: 3, value: "SECONDARY" }; + IfcEnergySequenceEnum.TERTIARY = { type: 3, value: "TERTIARY" }; + IfcEnergySequenceEnum.AUXILIARY = { type: 3, value: "AUXILIARY" }; + IfcEnergySequenceEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEnergySequenceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcEnergySequenceEnum = IfcEnergySequenceEnum; + class IfcEnvironmentalImpactCategoryEnum { + } + IfcEnvironmentalImpactCategoryEnum.COMBINEDVALUE = { type: 3, value: "COMBINEDVALUE" }; + IfcEnvironmentalImpactCategoryEnum.DISPOSAL = { type: 3, value: "DISPOSAL" }; + IfcEnvironmentalImpactCategoryEnum.EXTRACTION = { type: 3, value: "EXTRACTION" }; + IfcEnvironmentalImpactCategoryEnum.INSTALLATION = { type: 3, value: "INSTALLATION" }; + IfcEnvironmentalImpactCategoryEnum.MANUFACTURE = { type: 3, value: "MANUFACTURE" }; + IfcEnvironmentalImpactCategoryEnum.TRANSPORTATION = { type: 3, value: "TRANSPORTATION" }; + IfcEnvironmentalImpactCategoryEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEnvironmentalImpactCategoryEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcEnvironmentalImpactCategoryEnum = IfcEnvironmentalImpactCategoryEnum; + class IfcEvaporativeCoolerTypeEnum { + } + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER = { type: 3, value: "DIRECTEVAPORATIVEAIRWASHER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER = { type: 3, value: "INDIRECTEVAPORATIVEPACKAGEAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL = { type: 3, value: "INDIRECTEVAPORATIVEWETCOIL" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER = { type: 3, value: "INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION = { type: 3, value: "INDIRECTDIRECTCOMBINATION" }; + IfcEvaporativeCoolerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEvaporativeCoolerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcEvaporativeCoolerTypeEnum = IfcEvaporativeCoolerTypeEnum; + class IfcEvaporatorTypeEnum { + } + IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE = { type: 3, value: "DIRECTEXPANSIONSHELLANDTUBE" }; + IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE = { type: 3, value: "DIRECTEXPANSIONTUBEINTUBE" }; + IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE = { type: 3, value: "DIRECTEXPANSIONBRAZEDPLATE" }; + IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE = { type: 3, value: "FLOODEDSHELLANDTUBE" }; + IfcEvaporatorTypeEnum.SHELLANDCOIL = { type: 3, value: "SHELLANDCOIL" }; + IfcEvaporatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEvaporatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcEvaporatorTypeEnum = IfcEvaporatorTypeEnum; + class IfcFanTypeEnum { + } + IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED = { type: 3, value: "CENTRIFUGALFORWARDCURVED" }; + IfcFanTypeEnum.CENTRIFUGALRADIAL = { type: 3, value: "CENTRIFUGALRADIAL" }; + IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED = { type: 3, value: "CENTRIFUGALBACKWARDINCLINEDCURVED" }; + IfcFanTypeEnum.CENTRIFUGALAIRFOIL = { type: 3, value: "CENTRIFUGALAIRFOIL" }; + IfcFanTypeEnum.TUBEAXIAL = { type: 3, value: "TUBEAXIAL" }; + IfcFanTypeEnum.VANEAXIAL = { type: 3, value: "VANEAXIAL" }; + IfcFanTypeEnum.PROPELLORAXIAL = { type: 3, value: "PROPELLORAXIAL" }; + IfcFanTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFanTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcFanTypeEnum = IfcFanTypeEnum; + class IfcFilterTypeEnum { + } + IfcFilterTypeEnum.AIRPARTICLEFILTER = { type: 3, value: "AIRPARTICLEFILTER" }; + IfcFilterTypeEnum.ODORFILTER = { type: 3, value: "ODORFILTER" }; + IfcFilterTypeEnum.OILFILTER = { type: 3, value: "OILFILTER" }; + IfcFilterTypeEnum.STRAINER = { type: 3, value: "STRAINER" }; + IfcFilterTypeEnum.WATERFILTER = { type: 3, value: "WATERFILTER" }; + IfcFilterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFilterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcFilterTypeEnum = IfcFilterTypeEnum; + class IfcFireSuppressionTerminalTypeEnum { + } + IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET = { type: 3, value: "BREECHINGINLET" }; + IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT = { type: 3, value: "FIREHYDRANT" }; + IfcFireSuppressionTerminalTypeEnum.HOSEREEL = { type: 3, value: "HOSEREEL" }; + IfcFireSuppressionTerminalTypeEnum.SPRINKLER = { type: 3, value: "SPRINKLER" }; + IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR = { type: 3, value: "SPRINKLERDEFLECTOR" }; + IfcFireSuppressionTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFireSuppressionTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcFireSuppressionTerminalTypeEnum = IfcFireSuppressionTerminalTypeEnum; + class IfcFlowDirectionEnum { + } + IfcFlowDirectionEnum.SOURCE = { type: 3, value: "SOURCE" }; + IfcFlowDirectionEnum.SINK = { type: 3, value: "SINK" }; + IfcFlowDirectionEnum.SOURCEANDSINK = { type: 3, value: "SOURCEANDSINK" }; + IfcFlowDirectionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcFlowDirectionEnum = IfcFlowDirectionEnum; + class IfcFlowInstrumentTypeEnum { + } + IfcFlowInstrumentTypeEnum.PRESSUREGAUGE = { type: 3, value: "PRESSUREGAUGE" }; + IfcFlowInstrumentTypeEnum.THERMOMETER = { type: 3, value: "THERMOMETER" }; + IfcFlowInstrumentTypeEnum.AMMETER = { type: 3, value: "AMMETER" }; + IfcFlowInstrumentTypeEnum.FREQUENCYMETER = { type: 3, value: "FREQUENCYMETER" }; + IfcFlowInstrumentTypeEnum.POWERFACTORMETER = { type: 3, value: "POWERFACTORMETER" }; + IfcFlowInstrumentTypeEnum.PHASEANGLEMETER = { type: 3, value: "PHASEANGLEMETER" }; + IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK = { type: 3, value: "VOLTMETER_PEAK" }; + IfcFlowInstrumentTypeEnum.VOLTMETER_RMS = { type: 3, value: "VOLTMETER_RMS" }; + IfcFlowInstrumentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFlowInstrumentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcFlowInstrumentTypeEnum = IfcFlowInstrumentTypeEnum; + class IfcFlowMeterTypeEnum { + } + IfcFlowMeterTypeEnum.ELECTRICMETER = { type: 3, value: "ELECTRICMETER" }; + IfcFlowMeterTypeEnum.ENERGYMETER = { type: 3, value: "ENERGYMETER" }; + IfcFlowMeterTypeEnum.FLOWMETER = { type: 3, value: "FLOWMETER" }; + IfcFlowMeterTypeEnum.GASMETER = { type: 3, value: "GASMETER" }; + IfcFlowMeterTypeEnum.OILMETER = { type: 3, value: "OILMETER" }; + IfcFlowMeterTypeEnum.WATERMETER = { type: 3, value: "WATERMETER" }; + IfcFlowMeterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFlowMeterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcFlowMeterTypeEnum = IfcFlowMeterTypeEnum; + class IfcFootingTypeEnum { + } + IfcFootingTypeEnum.FOOTING_BEAM = { type: 3, value: "FOOTING_BEAM" }; + IfcFootingTypeEnum.PAD_FOOTING = { type: 3, value: "PAD_FOOTING" }; + IfcFootingTypeEnum.PILE_CAP = { type: 3, value: "PILE_CAP" }; + IfcFootingTypeEnum.STRIP_FOOTING = { type: 3, value: "STRIP_FOOTING" }; + IfcFootingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFootingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcFootingTypeEnum = IfcFootingTypeEnum; + class IfcGasTerminalTypeEnum { + } + IfcGasTerminalTypeEnum.GASAPPLIANCE = { type: 3, value: "GASAPPLIANCE" }; + IfcGasTerminalTypeEnum.GASBOOSTER = { type: 3, value: "GASBOOSTER" }; + IfcGasTerminalTypeEnum.GASBURNER = { type: 3, value: "GASBURNER" }; + IfcGasTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGasTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcGasTerminalTypeEnum = IfcGasTerminalTypeEnum; + class IfcGeometricProjectionEnum { + } + IfcGeometricProjectionEnum.GRAPH_VIEW = { type: 3, value: "GRAPH_VIEW" }; + IfcGeometricProjectionEnum.SKETCH_VIEW = { type: 3, value: "SKETCH_VIEW" }; + IfcGeometricProjectionEnum.MODEL_VIEW = { type: 3, value: "MODEL_VIEW" }; + IfcGeometricProjectionEnum.PLAN_VIEW = { type: 3, value: "PLAN_VIEW" }; + IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW = { type: 3, value: "REFLECTED_PLAN_VIEW" }; + IfcGeometricProjectionEnum.SECTION_VIEW = { type: 3, value: "SECTION_VIEW" }; + IfcGeometricProjectionEnum.ELEVATION_VIEW = { type: 3, value: "ELEVATION_VIEW" }; + IfcGeometricProjectionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGeometricProjectionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcGeometricProjectionEnum = IfcGeometricProjectionEnum; + class IfcGlobalOrLocalEnum { + } + IfcGlobalOrLocalEnum.GLOBAL_COORDS = { type: 3, value: "GLOBAL_COORDS" }; + IfcGlobalOrLocalEnum.LOCAL_COORDS = { type: 3, value: "LOCAL_COORDS" }; + IFC2X32.IfcGlobalOrLocalEnum = IfcGlobalOrLocalEnum; + class IfcHeatExchangerTypeEnum { + } + IfcHeatExchangerTypeEnum.PLATE = { type: 3, value: "PLATE" }; + IfcHeatExchangerTypeEnum.SHELLANDTUBE = { type: 3, value: "SHELLANDTUBE" }; + IfcHeatExchangerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcHeatExchangerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcHeatExchangerTypeEnum = IfcHeatExchangerTypeEnum; + class IfcHumidifierTypeEnum { + } + IfcHumidifierTypeEnum.STEAMINJECTION = { type: 3, value: "STEAMINJECTION" }; + IfcHumidifierTypeEnum.ADIABATICAIRWASHER = { type: 3, value: "ADIABATICAIRWASHER" }; + IfcHumidifierTypeEnum.ADIABATICPAN = { type: 3, value: "ADIABATICPAN" }; + IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT = { type: 3, value: "ADIABATICWETTEDELEMENT" }; + IfcHumidifierTypeEnum.ADIABATICATOMIZING = { type: 3, value: "ADIABATICATOMIZING" }; + IfcHumidifierTypeEnum.ADIABATICULTRASONIC = { type: 3, value: "ADIABATICULTRASONIC" }; + IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA = { type: 3, value: "ADIABATICRIGIDMEDIA" }; + IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE = { type: 3, value: "ADIABATICCOMPRESSEDAIRNOZZLE" }; + IfcHumidifierTypeEnum.ASSISTEDELECTRIC = { type: 3, value: "ASSISTEDELECTRIC" }; + IfcHumidifierTypeEnum.ASSISTEDNATURALGAS = { type: 3, value: "ASSISTEDNATURALGAS" }; + IfcHumidifierTypeEnum.ASSISTEDPROPANE = { type: 3, value: "ASSISTEDPROPANE" }; + IfcHumidifierTypeEnum.ASSISTEDBUTANE = { type: 3, value: "ASSISTEDBUTANE" }; + IfcHumidifierTypeEnum.ASSISTEDSTEAM = { type: 3, value: "ASSISTEDSTEAM" }; + IfcHumidifierTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcHumidifierTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcHumidifierTypeEnum = IfcHumidifierTypeEnum; + class IfcInternalOrExternalEnum { + } + IfcInternalOrExternalEnum.INTERNAL = { type: 3, value: "INTERNAL" }; + IfcInternalOrExternalEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcInternalOrExternalEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcInternalOrExternalEnum = IfcInternalOrExternalEnum; + class IfcInventoryTypeEnum { + } + IfcInventoryTypeEnum.ASSETINVENTORY = { type: 3, value: "ASSETINVENTORY" }; + IfcInventoryTypeEnum.SPACEINVENTORY = { type: 3, value: "SPACEINVENTORY" }; + IfcInventoryTypeEnum.FURNITUREINVENTORY = { type: 3, value: "FURNITUREINVENTORY" }; + IfcInventoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcInventoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcInventoryTypeEnum = IfcInventoryTypeEnum; + class IfcJunctionBoxTypeEnum { + } + IfcJunctionBoxTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcJunctionBoxTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcJunctionBoxTypeEnum = IfcJunctionBoxTypeEnum; + class IfcLampTypeEnum { + } + IfcLampTypeEnum.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" }; + IfcLampTypeEnum.FLUORESCENT = { type: 3, value: "FLUORESCENT" }; + IfcLampTypeEnum.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" }; + IfcLampTypeEnum.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" }; + IfcLampTypeEnum.METALHALIDE = { type: 3, value: "METALHALIDE" }; + IfcLampTypeEnum.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" }; + IfcLampTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLampTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcLampTypeEnum = IfcLampTypeEnum; + class IfcLayerSetDirectionEnum { + } + IfcLayerSetDirectionEnum.AXIS1 = { type: 3, value: "AXIS1" }; + IfcLayerSetDirectionEnum.AXIS2 = { type: 3, value: "AXIS2" }; + IfcLayerSetDirectionEnum.AXIS3 = { type: 3, value: "AXIS3" }; + IFC2X32.IfcLayerSetDirectionEnum = IfcLayerSetDirectionEnum; + class IfcLightDistributionCurveEnum { + } + IfcLightDistributionCurveEnum.TYPE_A = { type: 3, value: "TYPE_A" }; + IfcLightDistributionCurveEnum.TYPE_B = { type: 3, value: "TYPE_B" }; + IfcLightDistributionCurveEnum.TYPE_C = { type: 3, value: "TYPE_C" }; + IfcLightDistributionCurveEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcLightDistributionCurveEnum = IfcLightDistributionCurveEnum; + class IfcLightEmissionSourceEnum { + } + IfcLightEmissionSourceEnum.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" }; + IfcLightEmissionSourceEnum.FLUORESCENT = { type: 3, value: "FLUORESCENT" }; + IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" }; + IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" }; + IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE = { type: 3, value: "LIGHTEMITTINGDIODE" }; + IfcLightEmissionSourceEnum.LOWPRESSURESODIUM = { type: 3, value: "LOWPRESSURESODIUM" }; + IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN = { type: 3, value: "LOWVOLTAGEHALOGEN" }; + IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN = { type: 3, value: "MAINVOLTAGEHALOGEN" }; + IfcLightEmissionSourceEnum.METALHALIDE = { type: 3, value: "METALHALIDE" }; + IfcLightEmissionSourceEnum.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" }; + IfcLightEmissionSourceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcLightEmissionSourceEnum = IfcLightEmissionSourceEnum; + class IfcLightFixtureTypeEnum { + } + IfcLightFixtureTypeEnum.POINTSOURCE = { type: 3, value: "POINTSOURCE" }; + IfcLightFixtureTypeEnum.DIRECTIONSOURCE = { type: 3, value: "DIRECTIONSOURCE" }; + IfcLightFixtureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLightFixtureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcLightFixtureTypeEnum = IfcLightFixtureTypeEnum; + class IfcLoadGroupTypeEnum { + } + IfcLoadGroupTypeEnum.LOAD_GROUP = { type: 3, value: "LOAD_GROUP" }; + IfcLoadGroupTypeEnum.LOAD_CASE = { type: 3, value: "LOAD_CASE" }; + IfcLoadGroupTypeEnum.LOAD_COMBINATION_GROUP = { type: 3, value: "LOAD_COMBINATION_GROUP" }; + IfcLoadGroupTypeEnum.LOAD_COMBINATION = { type: 3, value: "LOAD_COMBINATION" }; + IfcLoadGroupTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLoadGroupTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcLoadGroupTypeEnum = IfcLoadGroupTypeEnum; + class IfcLogicalOperatorEnum { + } + IfcLogicalOperatorEnum.LOGICALAND = { type: 3, value: "LOGICALAND" }; + IfcLogicalOperatorEnum.LOGICALOR = { type: 3, value: "LOGICALOR" }; + IFC2X32.IfcLogicalOperatorEnum = IfcLogicalOperatorEnum; + class IfcMemberTypeEnum { + } + IfcMemberTypeEnum.BRACE = { type: 3, value: "BRACE" }; + IfcMemberTypeEnum.CHORD = { type: 3, value: "CHORD" }; + IfcMemberTypeEnum.COLLAR = { type: 3, value: "COLLAR" }; + IfcMemberTypeEnum.MEMBER = { type: 3, value: "MEMBER" }; + IfcMemberTypeEnum.MULLION = { type: 3, value: "MULLION" }; + IfcMemberTypeEnum.PLATE = { type: 3, value: "PLATE" }; + IfcMemberTypeEnum.POST = { type: 3, value: "POST" }; + IfcMemberTypeEnum.PURLIN = { type: 3, value: "PURLIN" }; + IfcMemberTypeEnum.RAFTER = { type: 3, value: "RAFTER" }; + IfcMemberTypeEnum.STRINGER = { type: 3, value: "STRINGER" }; + IfcMemberTypeEnum.STRUT = { type: 3, value: "STRUT" }; + IfcMemberTypeEnum.STUD = { type: 3, value: "STUD" }; + IfcMemberTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMemberTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcMemberTypeEnum = IfcMemberTypeEnum; + class IfcMotorConnectionTypeEnum { + } + IfcMotorConnectionTypeEnum.BELTDRIVE = { type: 3, value: "BELTDRIVE" }; + IfcMotorConnectionTypeEnum.COUPLING = { type: 3, value: "COUPLING" }; + IfcMotorConnectionTypeEnum.DIRECTDRIVE = { type: 3, value: "DIRECTDRIVE" }; + IfcMotorConnectionTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMotorConnectionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcMotorConnectionTypeEnum = IfcMotorConnectionTypeEnum; + class IfcNullStyle { + } + IfcNullStyle.NULL = { type: 3, value: "NULL" }; + IFC2X32.IfcNullStyle = IfcNullStyle; + class IfcObjectTypeEnum { + } + IfcObjectTypeEnum.PRODUCT = { type: 3, value: "PRODUCT" }; + IfcObjectTypeEnum.PROCESS = { type: 3, value: "PROCESS" }; + IfcObjectTypeEnum.CONTROL = { type: 3, value: "CONTROL" }; + IfcObjectTypeEnum.RESOURCE = { type: 3, value: "RESOURCE" }; + IfcObjectTypeEnum.ACTOR = { type: 3, value: "ACTOR" }; + IfcObjectTypeEnum.GROUP = { type: 3, value: "GROUP" }; + IfcObjectTypeEnum.PROJECT = { type: 3, value: "PROJECT" }; + IfcObjectTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcObjectTypeEnum = IfcObjectTypeEnum; + class IfcObjectiveEnum { + } + IfcObjectiveEnum.CODECOMPLIANCE = { type: 3, value: "CODECOMPLIANCE" }; + IfcObjectiveEnum.DESIGNINTENT = { type: 3, value: "DESIGNINTENT" }; + IfcObjectiveEnum.HEALTHANDSAFETY = { type: 3, value: "HEALTHANDSAFETY" }; + IfcObjectiveEnum.REQUIREMENT = { type: 3, value: "REQUIREMENT" }; + IfcObjectiveEnum.SPECIFICATION = { type: 3, value: "SPECIFICATION" }; + IfcObjectiveEnum.TRIGGERCONDITION = { type: 3, value: "TRIGGERCONDITION" }; + IfcObjectiveEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcObjectiveEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcObjectiveEnum = IfcObjectiveEnum; + class IfcOccupantTypeEnum { + } + IfcOccupantTypeEnum.ASSIGNEE = { type: 3, value: "ASSIGNEE" }; + IfcOccupantTypeEnum.ASSIGNOR = { type: 3, value: "ASSIGNOR" }; + IfcOccupantTypeEnum.LESSEE = { type: 3, value: "LESSEE" }; + IfcOccupantTypeEnum.LESSOR = { type: 3, value: "LESSOR" }; + IfcOccupantTypeEnum.LETTINGAGENT = { type: 3, value: "LETTINGAGENT" }; + IfcOccupantTypeEnum.OWNER = { type: 3, value: "OWNER" }; + IfcOccupantTypeEnum.TENANT = { type: 3, value: "TENANT" }; + IfcOccupantTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcOccupantTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcOccupantTypeEnum = IfcOccupantTypeEnum; + class IfcOutletTypeEnum { + } + IfcOutletTypeEnum.AUDIOVISUALOUTLET = { type: 3, value: "AUDIOVISUALOUTLET" }; + IfcOutletTypeEnum.COMMUNICATIONSOUTLET = { type: 3, value: "COMMUNICATIONSOUTLET" }; + IfcOutletTypeEnum.POWEROUTLET = { type: 3, value: "POWEROUTLET" }; + IfcOutletTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcOutletTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcOutletTypeEnum = IfcOutletTypeEnum; + class IfcPermeableCoveringOperationEnum { + } + IfcPermeableCoveringOperationEnum.GRILL = { type: 3, value: "GRILL" }; + IfcPermeableCoveringOperationEnum.LOUVER = { type: 3, value: "LOUVER" }; + IfcPermeableCoveringOperationEnum.SCREEN = { type: 3, value: "SCREEN" }; + IfcPermeableCoveringOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPermeableCoveringOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcPermeableCoveringOperationEnum = IfcPermeableCoveringOperationEnum; + class IfcPhysicalOrVirtualEnum { + } + IfcPhysicalOrVirtualEnum.PHYSICAL = { type: 3, value: "PHYSICAL" }; + IfcPhysicalOrVirtualEnum.VIRTUAL = { type: 3, value: "VIRTUAL" }; + IfcPhysicalOrVirtualEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcPhysicalOrVirtualEnum = IfcPhysicalOrVirtualEnum; + class IfcPileConstructionEnum { + } + IfcPileConstructionEnum.CAST_IN_PLACE = { type: 3, value: "CAST_IN_PLACE" }; + IfcPileConstructionEnum.COMPOSITE = { type: 3, value: "COMPOSITE" }; + IfcPileConstructionEnum.PRECAST_CONCRETE = { type: 3, value: "PRECAST_CONCRETE" }; + IfcPileConstructionEnum.PREFAB_STEEL = { type: 3, value: "PREFAB_STEEL" }; + IfcPileConstructionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPileConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcPileConstructionEnum = IfcPileConstructionEnum; + class IfcPileTypeEnum { + } + IfcPileTypeEnum.COHESION = { type: 3, value: "COHESION" }; + IfcPileTypeEnum.FRICTION = { type: 3, value: "FRICTION" }; + IfcPileTypeEnum.SUPPORT = { type: 3, value: "SUPPORT" }; + IfcPileTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPileTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcPileTypeEnum = IfcPileTypeEnum; + class IfcPipeFittingTypeEnum { + } + IfcPipeFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcPipeFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcPipeFittingTypeEnum.ENTRY = { type: 3, value: "ENTRY" }; + IfcPipeFittingTypeEnum.EXIT = { type: 3, value: "EXIT" }; + IfcPipeFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcPipeFittingTypeEnum.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" }; + IfcPipeFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcPipeFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPipeFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcPipeFittingTypeEnum = IfcPipeFittingTypeEnum; + class IfcPipeSegmentTypeEnum { + } + IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" }; + IfcPipeSegmentTypeEnum.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" }; + IfcPipeSegmentTypeEnum.GUTTER = { type: 3, value: "GUTTER" }; + IfcPipeSegmentTypeEnum.SPOOL = { type: 3, value: "SPOOL" }; + IfcPipeSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPipeSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcPipeSegmentTypeEnum = IfcPipeSegmentTypeEnum; + class IfcPlateTypeEnum { + } + IfcPlateTypeEnum.CURTAIN_PANEL = { type: 3, value: "CURTAIN_PANEL" }; + IfcPlateTypeEnum.SHEET = { type: 3, value: "SHEET" }; + IfcPlateTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPlateTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcPlateTypeEnum = IfcPlateTypeEnum; + class IfcProcedureTypeEnum { + } + IfcProcedureTypeEnum.ADVICE_CAUTION = { type: 3, value: "ADVICE_CAUTION" }; + IfcProcedureTypeEnum.ADVICE_NOTE = { type: 3, value: "ADVICE_NOTE" }; + IfcProcedureTypeEnum.ADVICE_WARNING = { type: 3, value: "ADVICE_WARNING" }; + IfcProcedureTypeEnum.CALIBRATION = { type: 3, value: "CALIBRATION" }; + IfcProcedureTypeEnum.DIAGNOSTIC = { type: 3, value: "DIAGNOSTIC" }; + IfcProcedureTypeEnum.SHUTDOWN = { type: 3, value: "SHUTDOWN" }; + IfcProcedureTypeEnum.STARTUP = { type: 3, value: "STARTUP" }; + IfcProcedureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProcedureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcProcedureTypeEnum = IfcProcedureTypeEnum; + class IfcProfileTypeEnum { + } + IfcProfileTypeEnum.CURVE = { type: 3, value: "CURVE" }; + IfcProfileTypeEnum.AREA = { type: 3, value: "AREA" }; + IFC2X32.IfcProfileTypeEnum = IfcProfileTypeEnum; + class IfcProjectOrderRecordTypeEnum { + } + IfcProjectOrderRecordTypeEnum.CHANGE = { type: 3, value: "CHANGE" }; + IfcProjectOrderRecordTypeEnum.MAINTENANCE = { type: 3, value: "MAINTENANCE" }; + IfcProjectOrderRecordTypeEnum.MOVE = { type: 3, value: "MOVE" }; + IfcProjectOrderRecordTypeEnum.PURCHASE = { type: 3, value: "PURCHASE" }; + IfcProjectOrderRecordTypeEnum.WORK = { type: 3, value: "WORK" }; + IfcProjectOrderRecordTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProjectOrderRecordTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcProjectOrderRecordTypeEnum = IfcProjectOrderRecordTypeEnum; + class IfcProjectOrderTypeEnum { + } + IfcProjectOrderTypeEnum.CHANGEORDER = { type: 3, value: "CHANGEORDER" }; + IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER = { type: 3, value: "MAINTENANCEWORKORDER" }; + IfcProjectOrderTypeEnum.MOVEORDER = { type: 3, value: "MOVEORDER" }; + IfcProjectOrderTypeEnum.PURCHASEORDER = { type: 3, value: "PURCHASEORDER" }; + IfcProjectOrderTypeEnum.WORKORDER = { type: 3, value: "WORKORDER" }; + IfcProjectOrderTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProjectOrderTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcProjectOrderTypeEnum = IfcProjectOrderTypeEnum; + class IfcProjectedOrTrueLengthEnum { + } + IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH = { type: 3, value: "PROJECTED_LENGTH" }; + IfcProjectedOrTrueLengthEnum.TRUE_LENGTH = { type: 3, value: "TRUE_LENGTH" }; + IFC2X32.IfcProjectedOrTrueLengthEnum = IfcProjectedOrTrueLengthEnum; + class IfcPropertySourceEnum { + } + IfcPropertySourceEnum.DESIGN = { type: 3, value: "DESIGN" }; + IfcPropertySourceEnum.DESIGNMAXIMUM = { type: 3, value: "DESIGNMAXIMUM" }; + IfcPropertySourceEnum.DESIGNMINIMUM = { type: 3, value: "DESIGNMINIMUM" }; + IfcPropertySourceEnum.SIMULATED = { type: 3, value: "SIMULATED" }; + IfcPropertySourceEnum.ASBUILT = { type: 3, value: "ASBUILT" }; + IfcPropertySourceEnum.COMMISSIONING = { type: 3, value: "COMMISSIONING" }; + IfcPropertySourceEnum.MEASURED = { type: 3, value: "MEASURED" }; + IfcPropertySourceEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPropertySourceEnum.NOTKNOWN = { type: 3, value: "NOTKNOWN" }; + IFC2X32.IfcPropertySourceEnum = IfcPropertySourceEnum; + class IfcProtectiveDeviceTypeEnum { + } + IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR = { type: 3, value: "FUSEDISCONNECTOR" }; + IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER = { type: 3, value: "CIRCUITBREAKER" }; + IfcProtectiveDeviceTypeEnum.EARTHFAILUREDEVICE = { type: 3, value: "EARTHFAILUREDEVICE" }; + IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER = { type: 3, value: "RESIDUALCURRENTCIRCUITBREAKER" }; + IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH = { type: 3, value: "RESIDUALCURRENTSWITCH" }; + IfcProtectiveDeviceTypeEnum.VARISTOR = { type: 3, value: "VARISTOR" }; + IfcProtectiveDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProtectiveDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcProtectiveDeviceTypeEnum = IfcProtectiveDeviceTypeEnum; + class IfcPumpTypeEnum { + } + IfcPumpTypeEnum.CIRCULATOR = { type: 3, value: "CIRCULATOR" }; + IfcPumpTypeEnum.ENDSUCTION = { type: 3, value: "ENDSUCTION" }; + IfcPumpTypeEnum.SPLITCASE = { type: 3, value: "SPLITCASE" }; + IfcPumpTypeEnum.VERTICALINLINE = { type: 3, value: "VERTICALINLINE" }; + IfcPumpTypeEnum.VERTICALTURBINE = { type: 3, value: "VERTICALTURBINE" }; + IfcPumpTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPumpTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcPumpTypeEnum = IfcPumpTypeEnum; + class IfcRailingTypeEnum { + } + IfcRailingTypeEnum.HANDRAIL = { type: 3, value: "HANDRAIL" }; + IfcRailingTypeEnum.GUARDRAIL = { type: 3, value: "GUARDRAIL" }; + IfcRailingTypeEnum.BALUSTRADE = { type: 3, value: "BALUSTRADE" }; + IfcRailingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRailingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcRailingTypeEnum = IfcRailingTypeEnum; + class IfcRampFlightTypeEnum { + } + IfcRampFlightTypeEnum.STRAIGHT = { type: 3, value: "STRAIGHT" }; + IfcRampFlightTypeEnum.SPIRAL = { type: 3, value: "SPIRAL" }; + IfcRampFlightTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRampFlightTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcRampFlightTypeEnum = IfcRampFlightTypeEnum; + class IfcRampTypeEnum { + } + IfcRampTypeEnum.STRAIGHT_RUN_RAMP = { type: 3, value: "STRAIGHT_RUN_RAMP" }; + IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP = { type: 3, value: "TWO_STRAIGHT_RUN_RAMP" }; + IfcRampTypeEnum.QUARTER_TURN_RAMP = { type: 3, value: "QUARTER_TURN_RAMP" }; + IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP = { type: 3, value: "TWO_QUARTER_TURN_RAMP" }; + IfcRampTypeEnum.HALF_TURN_RAMP = { type: 3, value: "HALF_TURN_RAMP" }; + IfcRampTypeEnum.SPIRAL_RAMP = { type: 3, value: "SPIRAL_RAMP" }; + IfcRampTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRampTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcRampTypeEnum = IfcRampTypeEnum; + class IfcReflectanceMethodEnum { + } + IfcReflectanceMethodEnum.BLINN = { type: 3, value: "BLINN" }; + IfcReflectanceMethodEnum.FLAT = { type: 3, value: "FLAT" }; + IfcReflectanceMethodEnum.GLASS = { type: 3, value: "GLASS" }; + IfcReflectanceMethodEnum.MATT = { type: 3, value: "MATT" }; + IfcReflectanceMethodEnum.METAL = { type: 3, value: "METAL" }; + IfcReflectanceMethodEnum.MIRROR = { type: 3, value: "MIRROR" }; + IfcReflectanceMethodEnum.PHONG = { type: 3, value: "PHONG" }; + IfcReflectanceMethodEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcReflectanceMethodEnum.STRAUSS = { type: 3, value: "STRAUSS" }; + IfcReflectanceMethodEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcReflectanceMethodEnum = IfcReflectanceMethodEnum; + class IfcReinforcingBarRoleEnum { + } + IfcReinforcingBarRoleEnum.MAIN = { type: 3, value: "MAIN" }; + IfcReinforcingBarRoleEnum.SHEAR = { type: 3, value: "SHEAR" }; + IfcReinforcingBarRoleEnum.LIGATURE = { type: 3, value: "LIGATURE" }; + IfcReinforcingBarRoleEnum.STUD = { type: 3, value: "STUD" }; + IfcReinforcingBarRoleEnum.PUNCHING = { type: 3, value: "PUNCHING" }; + IfcReinforcingBarRoleEnum.EDGE = { type: 3, value: "EDGE" }; + IfcReinforcingBarRoleEnum.RING = { type: 3, value: "RING" }; + IfcReinforcingBarRoleEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReinforcingBarRoleEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcReinforcingBarRoleEnum = IfcReinforcingBarRoleEnum; + class IfcReinforcingBarSurfaceEnum { + } + IfcReinforcingBarSurfaceEnum.PLAIN = { type: 3, value: "PLAIN" }; + IfcReinforcingBarSurfaceEnum.TEXTURED = { type: 3, value: "TEXTURED" }; + IFC2X32.IfcReinforcingBarSurfaceEnum = IfcReinforcingBarSurfaceEnum; + class IfcResourceConsumptionEnum { + } + IfcResourceConsumptionEnum.CONSUMED = { type: 3, value: "CONSUMED" }; + IfcResourceConsumptionEnum.PARTIALLYCONSUMED = { type: 3, value: "PARTIALLYCONSUMED" }; + IfcResourceConsumptionEnum.NOTCONSUMED = { type: 3, value: "NOTCONSUMED" }; + IfcResourceConsumptionEnum.OCCUPIED = { type: 3, value: "OCCUPIED" }; + IfcResourceConsumptionEnum.PARTIALLYOCCUPIED = { type: 3, value: "PARTIALLYOCCUPIED" }; + IfcResourceConsumptionEnum.NOTOCCUPIED = { type: 3, value: "NOTOCCUPIED" }; + IfcResourceConsumptionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcResourceConsumptionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcResourceConsumptionEnum = IfcResourceConsumptionEnum; + class IfcRibPlateDirectionEnum { + } + IfcRibPlateDirectionEnum.DIRECTION_X = { type: 3, value: "DIRECTION_X" }; + IfcRibPlateDirectionEnum.DIRECTION_Y = { type: 3, value: "DIRECTION_Y" }; + IFC2X32.IfcRibPlateDirectionEnum = IfcRibPlateDirectionEnum; + class IfcRoleEnum { + } + IfcRoleEnum.SUPPLIER = { type: 3, value: "SUPPLIER" }; + IfcRoleEnum.MANUFACTURER = { type: 3, value: "MANUFACTURER" }; + IfcRoleEnum.CONTRACTOR = { type: 3, value: "CONTRACTOR" }; + IfcRoleEnum.SUBCONTRACTOR = { type: 3, value: "SUBCONTRACTOR" }; + IfcRoleEnum.ARCHITECT = { type: 3, value: "ARCHITECT" }; + IfcRoleEnum.STRUCTURALENGINEER = { type: 3, value: "STRUCTURALENGINEER" }; + IfcRoleEnum.COSTENGINEER = { type: 3, value: "COSTENGINEER" }; + IfcRoleEnum.CLIENT = { type: 3, value: "CLIENT" }; + IfcRoleEnum.BUILDINGOWNER = { type: 3, value: "BUILDINGOWNER" }; + IfcRoleEnum.BUILDINGOPERATOR = { type: 3, value: "BUILDINGOPERATOR" }; + IfcRoleEnum.MECHANICALENGINEER = { type: 3, value: "MECHANICALENGINEER" }; + IfcRoleEnum.ELECTRICALENGINEER = { type: 3, value: "ELECTRICALENGINEER" }; + IfcRoleEnum.PROJECTMANAGER = { type: 3, value: "PROJECTMANAGER" }; + IfcRoleEnum.FACILITIESMANAGER = { type: 3, value: "FACILITIESMANAGER" }; + IfcRoleEnum.CIVILENGINEER = { type: 3, value: "CIVILENGINEER" }; + IfcRoleEnum.COMISSIONINGENGINEER = { type: 3, value: "COMISSIONINGENGINEER" }; + IfcRoleEnum.ENGINEER = { type: 3, value: "ENGINEER" }; + IfcRoleEnum.OWNER = { type: 3, value: "OWNER" }; + IfcRoleEnum.CONSULTANT = { type: 3, value: "CONSULTANT" }; + IfcRoleEnum.CONSTRUCTIONMANAGER = { type: 3, value: "CONSTRUCTIONMANAGER" }; + IfcRoleEnum.FIELDCONSTRUCTIONMANAGER = { type: 3, value: "FIELDCONSTRUCTIONMANAGER" }; + IfcRoleEnum.RESELLER = { type: 3, value: "RESELLER" }; + IfcRoleEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC2X32.IfcRoleEnum = IfcRoleEnum; + class IfcRoofTypeEnum { + } + IfcRoofTypeEnum.FLAT_ROOF = { type: 3, value: "FLAT_ROOF" }; + IfcRoofTypeEnum.SHED_ROOF = { type: 3, value: "SHED_ROOF" }; + IfcRoofTypeEnum.GABLE_ROOF = { type: 3, value: "GABLE_ROOF" }; + IfcRoofTypeEnum.HIP_ROOF = { type: 3, value: "HIP_ROOF" }; + IfcRoofTypeEnum.HIPPED_GABLE_ROOF = { type: 3, value: "HIPPED_GABLE_ROOF" }; + IfcRoofTypeEnum.GAMBREL_ROOF = { type: 3, value: "GAMBREL_ROOF" }; + IfcRoofTypeEnum.MANSARD_ROOF = { type: 3, value: "MANSARD_ROOF" }; + IfcRoofTypeEnum.BARREL_ROOF = { type: 3, value: "BARREL_ROOF" }; + IfcRoofTypeEnum.RAINBOW_ROOF = { type: 3, value: "RAINBOW_ROOF" }; + IfcRoofTypeEnum.BUTTERFLY_ROOF = { type: 3, value: "BUTTERFLY_ROOF" }; + IfcRoofTypeEnum.PAVILION_ROOF = { type: 3, value: "PAVILION_ROOF" }; + IfcRoofTypeEnum.DOME_ROOF = { type: 3, value: "DOME_ROOF" }; + IfcRoofTypeEnum.FREEFORM = { type: 3, value: "FREEFORM" }; + IfcRoofTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcRoofTypeEnum = IfcRoofTypeEnum; + class IfcSIPrefix { + } + IfcSIPrefix.EXA = { type: 3, value: "EXA" }; + IfcSIPrefix.PETA = { type: 3, value: "PETA" }; + IfcSIPrefix.TERA = { type: 3, value: "TERA" }; + IfcSIPrefix.GIGA = { type: 3, value: "GIGA" }; + IfcSIPrefix.MEGA = { type: 3, value: "MEGA" }; + IfcSIPrefix.KILO = { type: 3, value: "KILO" }; + IfcSIPrefix.HECTO = { type: 3, value: "HECTO" }; + IfcSIPrefix.DECA = { type: 3, value: "DECA" }; + IfcSIPrefix.DECI = { type: 3, value: "DECI" }; + IfcSIPrefix.CENTI = { type: 3, value: "CENTI" }; + IfcSIPrefix.MILLI = { type: 3, value: "MILLI" }; + IfcSIPrefix.MICRO = { type: 3, value: "MICRO" }; + IfcSIPrefix.NANO = { type: 3, value: "NANO" }; + IfcSIPrefix.PICO = { type: 3, value: "PICO" }; + IfcSIPrefix.FEMTO = { type: 3, value: "FEMTO" }; + IfcSIPrefix.ATTO = { type: 3, value: "ATTO" }; + IFC2X32.IfcSIPrefix = IfcSIPrefix; + class IfcSIUnitName { + } + IfcSIUnitName.AMPERE = { type: 3, value: "AMPERE" }; + IfcSIUnitName.BECQUEREL = { type: 3, value: "BECQUEREL" }; + IfcSIUnitName.CANDELA = { type: 3, value: "CANDELA" }; + IfcSIUnitName.COULOMB = { type: 3, value: "COULOMB" }; + IfcSIUnitName.CUBIC_METRE = { type: 3, value: "CUBIC_METRE" }; + IfcSIUnitName.DEGREE_CELSIUS = { type: 3, value: "DEGREE_CELSIUS" }; + IfcSIUnitName.FARAD = { type: 3, value: "FARAD" }; + IfcSIUnitName.GRAM = { type: 3, value: "GRAM" }; + IfcSIUnitName.GRAY = { type: 3, value: "GRAY" }; + IfcSIUnitName.HENRY = { type: 3, value: "HENRY" }; + IfcSIUnitName.HERTZ = { type: 3, value: "HERTZ" }; + IfcSIUnitName.JOULE = { type: 3, value: "JOULE" }; + IfcSIUnitName.KELVIN = { type: 3, value: "KELVIN" }; + IfcSIUnitName.LUMEN = { type: 3, value: "LUMEN" }; + IfcSIUnitName.LUX = { type: 3, value: "LUX" }; + IfcSIUnitName.METRE = { type: 3, value: "METRE" }; + IfcSIUnitName.MOLE = { type: 3, value: "MOLE" }; + IfcSIUnitName.NEWTON = { type: 3, value: "NEWTON" }; + IfcSIUnitName.OHM = { type: 3, value: "OHM" }; + IfcSIUnitName.PASCAL = { type: 3, value: "PASCAL" }; + IfcSIUnitName.RADIAN = { type: 3, value: "RADIAN" }; + IfcSIUnitName.SECOND = { type: 3, value: "SECOND" }; + IfcSIUnitName.SIEMENS = { type: 3, value: "SIEMENS" }; + IfcSIUnitName.SIEVERT = { type: 3, value: "SIEVERT" }; + IfcSIUnitName.SQUARE_METRE = { type: 3, value: "SQUARE_METRE" }; + IfcSIUnitName.STERADIAN = { type: 3, value: "STERADIAN" }; + IfcSIUnitName.TESLA = { type: 3, value: "TESLA" }; + IfcSIUnitName.VOLT = { type: 3, value: "VOLT" }; + IfcSIUnitName.WATT = { type: 3, value: "WATT" }; + IfcSIUnitName.WEBER = { type: 3, value: "WEBER" }; + IFC2X32.IfcSIUnitName = IfcSIUnitName; + class IfcSanitaryTerminalTypeEnum { + } + IfcSanitaryTerminalTypeEnum.BATH = { type: 3, value: "BATH" }; + IfcSanitaryTerminalTypeEnum.BIDET = { type: 3, value: "BIDET" }; + IfcSanitaryTerminalTypeEnum.CISTERN = { type: 3, value: "CISTERN" }; + IfcSanitaryTerminalTypeEnum.SHOWER = { type: 3, value: "SHOWER" }; + IfcSanitaryTerminalTypeEnum.SINK = { type: 3, value: "SINK" }; + IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN = { type: 3, value: "SANITARYFOUNTAIN" }; + IfcSanitaryTerminalTypeEnum.TOILETPAN = { type: 3, value: "TOILETPAN" }; + IfcSanitaryTerminalTypeEnum.URINAL = { type: 3, value: "URINAL" }; + IfcSanitaryTerminalTypeEnum.WASHHANDBASIN = { type: 3, value: "WASHHANDBASIN" }; + IfcSanitaryTerminalTypeEnum.WCSEAT = { type: 3, value: "WCSEAT" }; + IfcSanitaryTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSanitaryTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSanitaryTerminalTypeEnum = IfcSanitaryTerminalTypeEnum; + class IfcSectionTypeEnum { + } + IfcSectionTypeEnum.UNIFORM = { type: 3, value: "UNIFORM" }; + IfcSectionTypeEnum.TAPERED = { type: 3, value: "TAPERED" }; + IFC2X32.IfcSectionTypeEnum = IfcSectionTypeEnum; + class IfcSensorTypeEnum { + } + IfcSensorTypeEnum.CO2SENSOR = { type: 3, value: "CO2SENSOR" }; + IfcSensorTypeEnum.FIRESENSOR = { type: 3, value: "FIRESENSOR" }; + IfcSensorTypeEnum.FLOWSENSOR = { type: 3, value: "FLOWSENSOR" }; + IfcSensorTypeEnum.GASSENSOR = { type: 3, value: "GASSENSOR" }; + IfcSensorTypeEnum.HEATSENSOR = { type: 3, value: "HEATSENSOR" }; + IfcSensorTypeEnum.HUMIDITYSENSOR = { type: 3, value: "HUMIDITYSENSOR" }; + IfcSensorTypeEnum.LIGHTSENSOR = { type: 3, value: "LIGHTSENSOR" }; + IfcSensorTypeEnum.MOISTURESENSOR = { type: 3, value: "MOISTURESENSOR" }; + IfcSensorTypeEnum.MOVEMENTSENSOR = { type: 3, value: "MOVEMENTSENSOR" }; + IfcSensorTypeEnum.PRESSURESENSOR = { type: 3, value: "PRESSURESENSOR" }; + IfcSensorTypeEnum.SMOKESENSOR = { type: 3, value: "SMOKESENSOR" }; + IfcSensorTypeEnum.SOUNDSENSOR = { type: 3, value: "SOUNDSENSOR" }; + IfcSensorTypeEnum.TEMPERATURESENSOR = { type: 3, value: "TEMPERATURESENSOR" }; + IfcSensorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSensorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSensorTypeEnum = IfcSensorTypeEnum; + class IfcSequenceEnum { + } + IfcSequenceEnum.START_START = { type: 3, value: "START_START" }; + IfcSequenceEnum.START_FINISH = { type: 3, value: "START_FINISH" }; + IfcSequenceEnum.FINISH_START = { type: 3, value: "FINISH_START" }; + IfcSequenceEnum.FINISH_FINISH = { type: 3, value: "FINISH_FINISH" }; + IfcSequenceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSequenceEnum = IfcSequenceEnum; + class IfcServiceLifeFactorTypeEnum { + } + IfcServiceLifeFactorTypeEnum.A_QUALITYOFCOMPONENTS = { type: 3, value: "A_QUALITYOFCOMPONENTS" }; + IfcServiceLifeFactorTypeEnum.B_DESIGNLEVEL = { type: 3, value: "B_DESIGNLEVEL" }; + IfcServiceLifeFactorTypeEnum.C_WORKEXECUTIONLEVEL = { type: 3, value: "C_WORKEXECUTIONLEVEL" }; + IfcServiceLifeFactorTypeEnum.D_INDOORENVIRONMENT = { type: 3, value: "D_INDOORENVIRONMENT" }; + IfcServiceLifeFactorTypeEnum.E_OUTDOORENVIRONMENT = { type: 3, value: "E_OUTDOORENVIRONMENT" }; + IfcServiceLifeFactorTypeEnum.F_INUSECONDITIONS = { type: 3, value: "F_INUSECONDITIONS" }; + IfcServiceLifeFactorTypeEnum.G_MAINTENANCELEVEL = { type: 3, value: "G_MAINTENANCELEVEL" }; + IfcServiceLifeFactorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcServiceLifeFactorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcServiceLifeFactorTypeEnum = IfcServiceLifeFactorTypeEnum; + class IfcServiceLifeTypeEnum { + } + IfcServiceLifeTypeEnum.ACTUALSERVICELIFE = { type: 3, value: "ACTUALSERVICELIFE" }; + IfcServiceLifeTypeEnum.EXPECTEDSERVICELIFE = { type: 3, value: "EXPECTEDSERVICELIFE" }; + IfcServiceLifeTypeEnum.OPTIMISTICREFERENCESERVICELIFE = { type: 3, value: "OPTIMISTICREFERENCESERVICELIFE" }; + IfcServiceLifeTypeEnum.PESSIMISTICREFERENCESERVICELIFE = { type: 3, value: "PESSIMISTICREFERENCESERVICELIFE" }; + IfcServiceLifeTypeEnum.REFERENCESERVICELIFE = { type: 3, value: "REFERENCESERVICELIFE" }; + IFC2X32.IfcServiceLifeTypeEnum = IfcServiceLifeTypeEnum; + class IfcSlabTypeEnum { + } + IfcSlabTypeEnum.FLOOR = { type: 3, value: "FLOOR" }; + IfcSlabTypeEnum.ROOF = { type: 3, value: "ROOF" }; + IfcSlabTypeEnum.LANDING = { type: 3, value: "LANDING" }; + IfcSlabTypeEnum.BASESLAB = { type: 3, value: "BASESLAB" }; + IfcSlabTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSlabTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSlabTypeEnum = IfcSlabTypeEnum; + class IfcSoundScaleEnum { + } + IfcSoundScaleEnum.DBA = { type: 3, value: "DBA" }; + IfcSoundScaleEnum.DBB = { type: 3, value: "DBB" }; + IfcSoundScaleEnum.DBC = { type: 3, value: "DBC" }; + IfcSoundScaleEnum.NC = { type: 3, value: "NC" }; + IfcSoundScaleEnum.NR = { type: 3, value: "NR" }; + IfcSoundScaleEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSoundScaleEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSoundScaleEnum = IfcSoundScaleEnum; + class IfcSpaceHeaterTypeEnum { + } + IfcSpaceHeaterTypeEnum.SECTIONALRADIATOR = { type: 3, value: "SECTIONALRADIATOR" }; + IfcSpaceHeaterTypeEnum.PANELRADIATOR = { type: 3, value: "PANELRADIATOR" }; + IfcSpaceHeaterTypeEnum.TUBULARRADIATOR = { type: 3, value: "TUBULARRADIATOR" }; + IfcSpaceHeaterTypeEnum.CONVECTOR = { type: 3, value: "CONVECTOR" }; + IfcSpaceHeaterTypeEnum.BASEBOARDHEATER = { type: 3, value: "BASEBOARDHEATER" }; + IfcSpaceHeaterTypeEnum.FINNEDTUBEUNIT = { type: 3, value: "FINNEDTUBEUNIT" }; + IfcSpaceHeaterTypeEnum.UNITHEATER = { type: 3, value: "UNITHEATER" }; + IfcSpaceHeaterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSpaceHeaterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSpaceHeaterTypeEnum = IfcSpaceHeaterTypeEnum; + class IfcSpaceTypeEnum { + } + IfcSpaceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSpaceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSpaceTypeEnum = IfcSpaceTypeEnum; + class IfcStackTerminalTypeEnum { + } + IfcStackTerminalTypeEnum.BIRDCAGE = { type: 3, value: "BIRDCAGE" }; + IfcStackTerminalTypeEnum.COWL = { type: 3, value: "COWL" }; + IfcStackTerminalTypeEnum.RAINWATERHOPPER = { type: 3, value: "RAINWATERHOPPER" }; + IfcStackTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStackTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcStackTerminalTypeEnum = IfcStackTerminalTypeEnum; + class IfcStairFlightTypeEnum { + } + IfcStairFlightTypeEnum.STRAIGHT = { type: 3, value: "STRAIGHT" }; + IfcStairFlightTypeEnum.WINDER = { type: 3, value: "WINDER" }; + IfcStairFlightTypeEnum.SPIRAL = { type: 3, value: "SPIRAL" }; + IfcStairFlightTypeEnum.CURVED = { type: 3, value: "CURVED" }; + IfcStairFlightTypeEnum.FREEFORM = { type: 3, value: "FREEFORM" }; + IfcStairFlightTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStairFlightTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcStairFlightTypeEnum = IfcStairFlightTypeEnum; + class IfcStairTypeEnum { + } + IfcStairTypeEnum.STRAIGHT_RUN_STAIR = { type: 3, value: "STRAIGHT_RUN_STAIR" }; + IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR = { type: 3, value: "TWO_STRAIGHT_RUN_STAIR" }; + IfcStairTypeEnum.QUARTER_WINDING_STAIR = { type: 3, value: "QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.QUARTER_TURN_STAIR = { type: 3, value: "QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.HALF_WINDING_STAIR = { type: 3, value: "HALF_WINDING_STAIR" }; + IfcStairTypeEnum.HALF_TURN_STAIR = { type: 3, value: "HALF_TURN_STAIR" }; + IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR = { type: 3, value: "TWO_QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR = { type: 3, value: "TWO_QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR = { type: 3, value: "THREE_QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR = { type: 3, value: "THREE_QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.SPIRAL_STAIR = { type: 3, value: "SPIRAL_STAIR" }; + IfcStairTypeEnum.DOUBLE_RETURN_STAIR = { type: 3, value: "DOUBLE_RETURN_STAIR" }; + IfcStairTypeEnum.CURVED_RUN_STAIR = { type: 3, value: "CURVED_RUN_STAIR" }; + IfcStairTypeEnum.TWO_CURVED_RUN_STAIR = { type: 3, value: "TWO_CURVED_RUN_STAIR" }; + IfcStairTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStairTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcStairTypeEnum = IfcStairTypeEnum; + class IfcStateEnum { + } + IfcStateEnum.READWRITE = { type: 3, value: "READWRITE" }; + IfcStateEnum.READONLY = { type: 3, value: "READONLY" }; + IfcStateEnum.LOCKED = { type: 3, value: "LOCKED" }; + IfcStateEnum.READWRITELOCKED = { type: 3, value: "READWRITELOCKED" }; + IfcStateEnum.READONLYLOCKED = { type: 3, value: "READONLYLOCKED" }; + IFC2X32.IfcStateEnum = IfcStateEnum; + class IfcStructuralCurveTypeEnum { + } + IfcStructuralCurveTypeEnum.RIGID_JOINED_MEMBER = { type: 3, value: "RIGID_JOINED_MEMBER" }; + IfcStructuralCurveTypeEnum.PIN_JOINED_MEMBER = { type: 3, value: "PIN_JOINED_MEMBER" }; + IfcStructuralCurveTypeEnum.CABLE = { type: 3, value: "CABLE" }; + IfcStructuralCurveTypeEnum.TENSION_MEMBER = { type: 3, value: "TENSION_MEMBER" }; + IfcStructuralCurveTypeEnum.COMPRESSION_MEMBER = { type: 3, value: "COMPRESSION_MEMBER" }; + IfcStructuralCurveTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralCurveTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcStructuralCurveTypeEnum = IfcStructuralCurveTypeEnum; + class IfcStructuralSurfaceTypeEnum { + } + IfcStructuralSurfaceTypeEnum.BENDING_ELEMENT = { type: 3, value: "BENDING_ELEMENT" }; + IfcStructuralSurfaceTypeEnum.MEMBRANE_ELEMENT = { type: 3, value: "MEMBRANE_ELEMENT" }; + IfcStructuralSurfaceTypeEnum.SHELL = { type: 3, value: "SHELL" }; + IfcStructuralSurfaceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralSurfaceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcStructuralSurfaceTypeEnum = IfcStructuralSurfaceTypeEnum; + class IfcSurfaceSide { + } + IfcSurfaceSide.POSITIVE = { type: 3, value: "POSITIVE" }; + IfcSurfaceSide.NEGATIVE = { type: 3, value: "NEGATIVE" }; + IfcSurfaceSide.BOTH = { type: 3, value: "BOTH" }; + IFC2X32.IfcSurfaceSide = IfcSurfaceSide; + class IfcSurfaceTextureEnum { + } + IfcSurfaceTextureEnum.BUMP = { type: 3, value: "BUMP" }; + IfcSurfaceTextureEnum.OPACITY = { type: 3, value: "OPACITY" }; + IfcSurfaceTextureEnum.REFLECTION = { type: 3, value: "REFLECTION" }; + IfcSurfaceTextureEnum.SELFILLUMINATION = { type: 3, value: "SELFILLUMINATION" }; + IfcSurfaceTextureEnum.SHININESS = { type: 3, value: "SHININESS" }; + IfcSurfaceTextureEnum.SPECULAR = { type: 3, value: "SPECULAR" }; + IfcSurfaceTextureEnum.TEXTURE = { type: 3, value: "TEXTURE" }; + IfcSurfaceTextureEnum.TRANSPARENCYMAP = { type: 3, value: "TRANSPARENCYMAP" }; + IfcSurfaceTextureEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSurfaceTextureEnum = IfcSurfaceTextureEnum; + class IfcSwitchingDeviceTypeEnum { + } + IfcSwitchingDeviceTypeEnum.CONTACTOR = { type: 3, value: "CONTACTOR" }; + IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP = { type: 3, value: "EMERGENCYSTOP" }; + IfcSwitchingDeviceTypeEnum.STARTER = { type: 3, value: "STARTER" }; + IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR = { type: 3, value: "SWITCHDISCONNECTOR" }; + IfcSwitchingDeviceTypeEnum.TOGGLESWITCH = { type: 3, value: "TOGGLESWITCH" }; + IfcSwitchingDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSwitchingDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcSwitchingDeviceTypeEnum = IfcSwitchingDeviceTypeEnum; + class IfcTankTypeEnum { + } + IfcTankTypeEnum.PREFORMED = { type: 3, value: "PREFORMED" }; + IfcTankTypeEnum.SECTIONAL = { type: 3, value: "SECTIONAL" }; + IfcTankTypeEnum.EXPANSION = { type: 3, value: "EXPANSION" }; + IfcTankTypeEnum.PRESSUREVESSEL = { type: 3, value: "PRESSUREVESSEL" }; + IfcTankTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTankTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcTankTypeEnum = IfcTankTypeEnum; + class IfcTendonTypeEnum { + } + IfcTendonTypeEnum.STRAND = { type: 3, value: "STRAND" }; + IfcTendonTypeEnum.WIRE = { type: 3, value: "WIRE" }; + IfcTendonTypeEnum.BAR = { type: 3, value: "BAR" }; + IfcTendonTypeEnum.COATED = { type: 3, value: "COATED" }; + IfcTendonTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTendonTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcTendonTypeEnum = IfcTendonTypeEnum; + class IfcTextPath { + } + IfcTextPath.LEFT = { type: 3, value: "LEFT" }; + IfcTextPath.RIGHT = { type: 3, value: "RIGHT" }; + IfcTextPath.UP = { type: 3, value: "UP" }; + IfcTextPath.DOWN = { type: 3, value: "DOWN" }; + IFC2X32.IfcTextPath = IfcTextPath; + class IfcThermalLoadSourceEnum { + } + IfcThermalLoadSourceEnum.PEOPLE = { type: 3, value: "PEOPLE" }; + IfcThermalLoadSourceEnum.LIGHTING = { type: 3, value: "LIGHTING" }; + IfcThermalLoadSourceEnum.EQUIPMENT = { type: 3, value: "EQUIPMENT" }; + IfcThermalLoadSourceEnum.VENTILATIONINDOORAIR = { type: 3, value: "VENTILATIONINDOORAIR" }; + IfcThermalLoadSourceEnum.VENTILATIONOUTSIDEAIR = { type: 3, value: "VENTILATIONOUTSIDEAIR" }; + IfcThermalLoadSourceEnum.RECIRCULATEDAIR = { type: 3, value: "RECIRCULATEDAIR" }; + IfcThermalLoadSourceEnum.EXHAUSTAIR = { type: 3, value: "EXHAUSTAIR" }; + IfcThermalLoadSourceEnum.AIREXCHANGERATE = { type: 3, value: "AIREXCHANGERATE" }; + IfcThermalLoadSourceEnum.DRYBULBTEMPERATURE = { type: 3, value: "DRYBULBTEMPERATURE" }; + IfcThermalLoadSourceEnum.RELATIVEHUMIDITY = { type: 3, value: "RELATIVEHUMIDITY" }; + IfcThermalLoadSourceEnum.INFILTRATION = { type: 3, value: "INFILTRATION" }; + IfcThermalLoadSourceEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcThermalLoadSourceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcThermalLoadSourceEnum = IfcThermalLoadSourceEnum; + class IfcThermalLoadTypeEnum { + } + IfcThermalLoadTypeEnum.SENSIBLE = { type: 3, value: "SENSIBLE" }; + IfcThermalLoadTypeEnum.LATENT = { type: 3, value: "LATENT" }; + IfcThermalLoadTypeEnum.RADIANT = { type: 3, value: "RADIANT" }; + IfcThermalLoadTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcThermalLoadTypeEnum = IfcThermalLoadTypeEnum; + class IfcTimeSeriesDataTypeEnum { + } + IfcTimeSeriesDataTypeEnum.CONTINUOUS = { type: 3, value: "CONTINUOUS" }; + IfcTimeSeriesDataTypeEnum.DISCRETE = { type: 3, value: "DISCRETE" }; + IfcTimeSeriesDataTypeEnum.DISCRETEBINARY = { type: 3, value: "DISCRETEBINARY" }; + IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY = { type: 3, value: "PIECEWISEBINARY" }; + IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT = { type: 3, value: "PIECEWISECONSTANT" }; + IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS = { type: 3, value: "PIECEWISECONTINUOUS" }; + IfcTimeSeriesDataTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcTimeSeriesDataTypeEnum = IfcTimeSeriesDataTypeEnum; + class IfcTimeSeriesScheduleTypeEnum { + } + IfcTimeSeriesScheduleTypeEnum.ANNUAL = { type: 3, value: "ANNUAL" }; + IfcTimeSeriesScheduleTypeEnum.MONTHLY = { type: 3, value: "MONTHLY" }; + IfcTimeSeriesScheduleTypeEnum.WEEKLY = { type: 3, value: "WEEKLY" }; + IfcTimeSeriesScheduleTypeEnum.DAILY = { type: 3, value: "DAILY" }; + IfcTimeSeriesScheduleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTimeSeriesScheduleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcTimeSeriesScheduleTypeEnum = IfcTimeSeriesScheduleTypeEnum; + class IfcTransformerTypeEnum { + } + IfcTransformerTypeEnum.CURRENT = { type: 3, value: "CURRENT" }; + IfcTransformerTypeEnum.FREQUENCY = { type: 3, value: "FREQUENCY" }; + IfcTransformerTypeEnum.VOLTAGE = { type: 3, value: "VOLTAGE" }; + IfcTransformerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTransformerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcTransformerTypeEnum = IfcTransformerTypeEnum; + class IfcTransitionCode { + } + IfcTransitionCode.DISCONTINUOUS = { type: 3, value: "DISCONTINUOUS" }; + IfcTransitionCode.CONTINUOUS = { type: 3, value: "CONTINUOUS" }; + IfcTransitionCode.CONTSAMEGRADIENT = { type: 3, value: "CONTSAMEGRADIENT" }; + IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE = { type: 3, value: "CONTSAMEGRADIENTSAMECURVATURE" }; + IFC2X32.IfcTransitionCode = IfcTransitionCode; + class IfcTransportElementTypeEnum { + } + IfcTransportElementTypeEnum.ELEVATOR = { type: 3, value: "ELEVATOR" }; + IfcTransportElementTypeEnum.ESCALATOR = { type: 3, value: "ESCALATOR" }; + IfcTransportElementTypeEnum.MOVINGWALKWAY = { type: 3, value: "MOVINGWALKWAY" }; + IfcTransportElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTransportElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcTransportElementTypeEnum = IfcTransportElementTypeEnum; + class IfcTrimmingPreference { + } + IfcTrimmingPreference.CARTESIAN = { type: 3, value: "CARTESIAN" }; + IfcTrimmingPreference.PARAMETER = { type: 3, value: "PARAMETER" }; + IfcTrimmingPreference.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC2X32.IfcTrimmingPreference = IfcTrimmingPreference; + class IfcTubeBundleTypeEnum { + } + IfcTubeBundleTypeEnum.FINNED = { type: 3, value: "FINNED" }; + IfcTubeBundleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTubeBundleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcTubeBundleTypeEnum = IfcTubeBundleTypeEnum; + class IfcUnitEnum { + } + IfcUnitEnum.ABSORBEDDOSEUNIT = { type: 3, value: "ABSORBEDDOSEUNIT" }; + IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT = { type: 3, value: "AMOUNTOFSUBSTANCEUNIT" }; + IfcUnitEnum.AREAUNIT = { type: 3, value: "AREAUNIT" }; + IfcUnitEnum.DOSEEQUIVALENTUNIT = { type: 3, value: "DOSEEQUIVALENTUNIT" }; + IfcUnitEnum.ELECTRICCAPACITANCEUNIT = { type: 3, value: "ELECTRICCAPACITANCEUNIT" }; + IfcUnitEnum.ELECTRICCHARGEUNIT = { type: 3, value: "ELECTRICCHARGEUNIT" }; + IfcUnitEnum.ELECTRICCONDUCTANCEUNIT = { type: 3, value: "ELECTRICCONDUCTANCEUNIT" }; + IfcUnitEnum.ELECTRICCURRENTUNIT = { type: 3, value: "ELECTRICCURRENTUNIT" }; + IfcUnitEnum.ELECTRICRESISTANCEUNIT = { type: 3, value: "ELECTRICRESISTANCEUNIT" }; + IfcUnitEnum.ELECTRICVOLTAGEUNIT = { type: 3, value: "ELECTRICVOLTAGEUNIT" }; + IfcUnitEnum.ENERGYUNIT = { type: 3, value: "ENERGYUNIT" }; + IfcUnitEnum.FORCEUNIT = { type: 3, value: "FORCEUNIT" }; + IfcUnitEnum.FREQUENCYUNIT = { type: 3, value: "FREQUENCYUNIT" }; + IfcUnitEnum.ILLUMINANCEUNIT = { type: 3, value: "ILLUMINANCEUNIT" }; + IfcUnitEnum.INDUCTANCEUNIT = { type: 3, value: "INDUCTANCEUNIT" }; + IfcUnitEnum.LENGTHUNIT = { type: 3, value: "LENGTHUNIT" }; + IfcUnitEnum.LUMINOUSFLUXUNIT = { type: 3, value: "LUMINOUSFLUXUNIT" }; + IfcUnitEnum.LUMINOUSINTENSITYUNIT = { type: 3, value: "LUMINOUSINTENSITYUNIT" }; + IfcUnitEnum.MAGNETICFLUXDENSITYUNIT = { type: 3, value: "MAGNETICFLUXDENSITYUNIT" }; + IfcUnitEnum.MAGNETICFLUXUNIT = { type: 3, value: "MAGNETICFLUXUNIT" }; + IfcUnitEnum.MASSUNIT = { type: 3, value: "MASSUNIT" }; + IfcUnitEnum.PLANEANGLEUNIT = { type: 3, value: "PLANEANGLEUNIT" }; + IfcUnitEnum.POWERUNIT = { type: 3, value: "POWERUNIT" }; + IfcUnitEnum.PRESSUREUNIT = { type: 3, value: "PRESSUREUNIT" }; + IfcUnitEnum.RADIOACTIVITYUNIT = { type: 3, value: "RADIOACTIVITYUNIT" }; + IfcUnitEnum.SOLIDANGLEUNIT = { type: 3, value: "SOLIDANGLEUNIT" }; + IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT = { type: 3, value: "THERMODYNAMICTEMPERATUREUNIT" }; + IfcUnitEnum.TIMEUNIT = { type: 3, value: "TIMEUNIT" }; + IfcUnitEnum.VOLUMEUNIT = { type: 3, value: "VOLUMEUNIT" }; + IfcUnitEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC2X32.IfcUnitEnum = IfcUnitEnum; + class IfcUnitaryEquipmentTypeEnum { + } + IfcUnitaryEquipmentTypeEnum.AIRHANDLER = { type: 3, value: "AIRHANDLER" }; + IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT = { type: 3, value: "AIRCONDITIONINGUNIT" }; + IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM = { type: 3, value: "SPLITSYSTEM" }; + IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT = { type: 3, value: "ROOFTOPUNIT" }; + IfcUnitaryEquipmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcUnitaryEquipmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcUnitaryEquipmentTypeEnum = IfcUnitaryEquipmentTypeEnum; + class IfcValveTypeEnum { + } + IfcValveTypeEnum.AIRRELEASE = { type: 3, value: "AIRRELEASE" }; + IfcValveTypeEnum.ANTIVACUUM = { type: 3, value: "ANTIVACUUM" }; + IfcValveTypeEnum.CHANGEOVER = { type: 3, value: "CHANGEOVER" }; + IfcValveTypeEnum.CHECK = { type: 3, value: "CHECK" }; + IfcValveTypeEnum.COMMISSIONING = { type: 3, value: "COMMISSIONING" }; + IfcValveTypeEnum.DIVERTING = { type: 3, value: "DIVERTING" }; + IfcValveTypeEnum.DRAWOFFCOCK = { type: 3, value: "DRAWOFFCOCK" }; + IfcValveTypeEnum.DOUBLECHECK = { type: 3, value: "DOUBLECHECK" }; + IfcValveTypeEnum.DOUBLEREGULATING = { type: 3, value: "DOUBLEREGULATING" }; + IfcValveTypeEnum.FAUCET = { type: 3, value: "FAUCET" }; + IfcValveTypeEnum.FLUSHING = { type: 3, value: "FLUSHING" }; + IfcValveTypeEnum.GASCOCK = { type: 3, value: "GASCOCK" }; + IfcValveTypeEnum.GASTAP = { type: 3, value: "GASTAP" }; + IfcValveTypeEnum.ISOLATING = { type: 3, value: "ISOLATING" }; + IfcValveTypeEnum.MIXING = { type: 3, value: "MIXING" }; + IfcValveTypeEnum.PRESSUREREDUCING = { type: 3, value: "PRESSUREREDUCING" }; + IfcValveTypeEnum.PRESSURERELIEF = { type: 3, value: "PRESSURERELIEF" }; + IfcValveTypeEnum.REGULATING = { type: 3, value: "REGULATING" }; + IfcValveTypeEnum.SAFETYCUTOFF = { type: 3, value: "SAFETYCUTOFF" }; + IfcValveTypeEnum.STEAMTRAP = { type: 3, value: "STEAMTRAP" }; + IfcValveTypeEnum.STOPCOCK = { type: 3, value: "STOPCOCK" }; + IfcValveTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcValveTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcValveTypeEnum = IfcValveTypeEnum; + class IfcVibrationIsolatorTypeEnum { + } + IfcVibrationIsolatorTypeEnum.COMPRESSION = { type: 3, value: "COMPRESSION" }; + IfcVibrationIsolatorTypeEnum.SPRING = { type: 3, value: "SPRING" }; + IfcVibrationIsolatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcVibrationIsolatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcVibrationIsolatorTypeEnum = IfcVibrationIsolatorTypeEnum; + class IfcWallTypeEnum { + } + IfcWallTypeEnum.STANDARD = { type: 3, value: "STANDARD" }; + IfcWallTypeEnum.POLYGONAL = { type: 3, value: "POLYGONAL" }; + IfcWallTypeEnum.SHEAR = { type: 3, value: "SHEAR" }; + IfcWallTypeEnum.ELEMENTEDWALL = { type: 3, value: "ELEMENTEDWALL" }; + IfcWallTypeEnum.PLUMBINGWALL = { type: 3, value: "PLUMBINGWALL" }; + IfcWallTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWallTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcWallTypeEnum = IfcWallTypeEnum; + class IfcWasteTerminalTypeEnum { + } + IfcWasteTerminalTypeEnum.FLOORTRAP = { type: 3, value: "FLOORTRAP" }; + IfcWasteTerminalTypeEnum.FLOORWASTE = { type: 3, value: "FLOORWASTE" }; + IfcWasteTerminalTypeEnum.GULLYSUMP = { type: 3, value: "GULLYSUMP" }; + IfcWasteTerminalTypeEnum.GULLYTRAP = { type: 3, value: "GULLYTRAP" }; + IfcWasteTerminalTypeEnum.GREASEINTERCEPTOR = { type: 3, value: "GREASEINTERCEPTOR" }; + IfcWasteTerminalTypeEnum.OILINTERCEPTOR = { type: 3, value: "OILINTERCEPTOR" }; + IfcWasteTerminalTypeEnum.PETROLINTERCEPTOR = { type: 3, value: "PETROLINTERCEPTOR" }; + IfcWasteTerminalTypeEnum.ROOFDRAIN = { type: 3, value: "ROOFDRAIN" }; + IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT = { type: 3, value: "WASTEDISPOSALUNIT" }; + IfcWasteTerminalTypeEnum.WASTETRAP = { type: 3, value: "WASTETRAP" }; + IfcWasteTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWasteTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcWasteTerminalTypeEnum = IfcWasteTerminalTypeEnum; + class IfcWindowPanelOperationEnum { + } + IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND = { type: 3, value: "SIDEHUNGRIGHTHAND" }; + IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND = { type: 3, value: "SIDEHUNGLEFTHAND" }; + IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND = { type: 3, value: "TILTANDTURNRIGHTHAND" }; + IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND = { type: 3, value: "TILTANDTURNLEFTHAND" }; + IfcWindowPanelOperationEnum.TOPHUNG = { type: 3, value: "TOPHUNG" }; + IfcWindowPanelOperationEnum.BOTTOMHUNG = { type: 3, value: "BOTTOMHUNG" }; + IfcWindowPanelOperationEnum.PIVOTHORIZONTAL = { type: 3, value: "PIVOTHORIZONTAL" }; + IfcWindowPanelOperationEnum.PIVOTVERTICAL = { type: 3, value: "PIVOTVERTICAL" }; + IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL = { type: 3, value: "SLIDINGHORIZONTAL" }; + IfcWindowPanelOperationEnum.SLIDINGVERTICAL = { type: 3, value: "SLIDINGVERTICAL" }; + IfcWindowPanelOperationEnum.REMOVABLECASEMENT = { type: 3, value: "REMOVABLECASEMENT" }; + IfcWindowPanelOperationEnum.FIXEDCASEMENT = { type: 3, value: "FIXEDCASEMENT" }; + IfcWindowPanelOperationEnum.OTHEROPERATION = { type: 3, value: "OTHEROPERATION" }; + IfcWindowPanelOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcWindowPanelOperationEnum = IfcWindowPanelOperationEnum; + class IfcWindowPanelPositionEnum { + } + IfcWindowPanelPositionEnum.LEFT = { type: 3, value: "LEFT" }; + IfcWindowPanelPositionEnum.MIDDLE = { type: 3, value: "MIDDLE" }; + IfcWindowPanelPositionEnum.RIGHT = { type: 3, value: "RIGHT" }; + IfcWindowPanelPositionEnum.BOTTOM = { type: 3, value: "BOTTOM" }; + IfcWindowPanelPositionEnum.TOP = { type: 3, value: "TOP" }; + IfcWindowPanelPositionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcWindowPanelPositionEnum = IfcWindowPanelPositionEnum; + class IfcWindowStyleConstructionEnum { + } + IfcWindowStyleConstructionEnum.ALUMINIUM = { type: 3, value: "ALUMINIUM" }; + IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL = { type: 3, value: "HIGH_GRADE_STEEL" }; + IfcWindowStyleConstructionEnum.STEEL = { type: 3, value: "STEEL" }; + IfcWindowStyleConstructionEnum.WOOD = { type: 3, value: "WOOD" }; + IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD = { type: 3, value: "ALUMINIUM_WOOD" }; + IfcWindowStyleConstructionEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION = { type: 3, value: "OTHER_CONSTRUCTION" }; + IfcWindowStyleConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcWindowStyleConstructionEnum = IfcWindowStyleConstructionEnum; + class IfcWindowStyleOperationEnum { + } + IfcWindowStyleOperationEnum.SINGLE_PANEL = { type: 3, value: "SINGLE_PANEL" }; + IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL = { type: 3, value: "DOUBLE_PANEL_VERTICAL" }; + IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL = { type: 3, value: "DOUBLE_PANEL_HORIZONTAL" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL = { type: 3, value: "TRIPLE_PANEL_VERTICAL" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM = { type: 3, value: "TRIPLE_PANEL_BOTTOM" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP = { type: 3, value: "TRIPLE_PANEL_TOP" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT = { type: 3, value: "TRIPLE_PANEL_LEFT" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT = { type: 3, value: "TRIPLE_PANEL_RIGHT" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL = { type: 3, value: "TRIPLE_PANEL_HORIZONTAL" }; + IfcWindowStyleOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWindowStyleOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcWindowStyleOperationEnum = IfcWindowStyleOperationEnum; + class IfcWorkControlTypeEnum { + } + IfcWorkControlTypeEnum.ACTUAL = { type: 3, value: "ACTUAL" }; + IfcWorkControlTypeEnum.BASELINE = { type: 3, value: "BASELINE" }; + IfcWorkControlTypeEnum.PLANNED = { type: 3, value: "PLANNED" }; + IfcWorkControlTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWorkControlTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC2X32.IfcWorkControlTypeEnum = IfcWorkControlTypeEnum; + class IfcActorRole extends IfcLineObject { + constructor(expressID, Role, UserDefinedRole, Description) { + super(expressID); + this.Role = Role; + this.UserDefinedRole = UserDefinedRole; + this.Description = Description; + this.type = 3630933823; + } + } + IFC2X32.IfcActorRole = IfcActorRole; + class IfcAddress extends IfcLineObject { + constructor(expressID, Purpose, Description, UserDefinedPurpose) { + super(expressID); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.type = 618182010; + } + } + IFC2X32.IfcAddress = IfcAddress; + class IfcApplication extends IfcLineObject { + constructor(expressID, ApplicationDeveloper, Version, ApplicationFullName, ApplicationIdentifier) { + super(expressID); + this.ApplicationDeveloper = ApplicationDeveloper; + this.Version = Version; + this.ApplicationFullName = ApplicationFullName; + this.ApplicationIdentifier = ApplicationIdentifier; + this.type = 639542469; + } + } + IFC2X32.IfcApplication = IfcApplication; + class IfcAppliedValue extends IfcLineObject { + constructor(expressID, Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.AppliedValue = AppliedValue; + this.UnitBasis = UnitBasis; + this.ApplicableDate = ApplicableDate; + this.FixedUntilDate = FixedUntilDate; + this.type = 411424972; + } + } + IFC2X32.IfcAppliedValue = IfcAppliedValue; + class IfcAppliedValueRelationship extends IfcLineObject { + constructor(expressID, ComponentOfTotal, Components, ArithmeticOperator, Name, Description) { + super(expressID); + this.ComponentOfTotal = ComponentOfTotal; + this.Components = Components; + this.ArithmeticOperator = ArithmeticOperator; + this.Name = Name; + this.Description = Description; + this.type = 1110488051; + } + } + IFC2X32.IfcAppliedValueRelationship = IfcAppliedValueRelationship; + class IfcApproval extends IfcLineObject { + constructor(expressID, Description, ApprovalDateTime, ApprovalStatus, ApprovalLevel, ApprovalQualifier, Name, Identifier) { + super(expressID); + this.Description = Description; + this.ApprovalDateTime = ApprovalDateTime; + this.ApprovalStatus = ApprovalStatus; + this.ApprovalLevel = ApprovalLevel; + this.ApprovalQualifier = ApprovalQualifier; + this.Name = Name; + this.Identifier = Identifier; + this.type = 130549933; + } + } + IFC2X32.IfcApproval = IfcApproval; + class IfcApprovalActorRelationship extends IfcLineObject { + constructor(expressID, Actor, Approval, Role) { + super(expressID); + this.Actor = Actor; + this.Approval = Approval; + this.Role = Role; + this.type = 2080292479; + } + } + IFC2X32.IfcApprovalActorRelationship = IfcApprovalActorRelationship; + class IfcApprovalPropertyRelationship extends IfcLineObject { + constructor(expressID, ApprovedProperties, Approval) { + super(expressID); + this.ApprovedProperties = ApprovedProperties; + this.Approval = Approval; + this.type = 390851274; + } + } + IFC2X32.IfcApprovalPropertyRelationship = IfcApprovalPropertyRelationship; + class IfcApprovalRelationship extends IfcLineObject { + constructor(expressID, RelatedApproval, RelatingApproval, Description, Name) { + super(expressID); + this.RelatedApproval = RelatedApproval; + this.RelatingApproval = RelatingApproval; + this.Description = Description; + this.Name = Name; + this.type = 3869604511; + } + } + IFC2X32.IfcApprovalRelationship = IfcApprovalRelationship; + class IfcBoundaryCondition extends IfcLineObject { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 4037036970; + } + } + IFC2X32.IfcBoundaryCondition = IfcBoundaryCondition; + class IfcBoundaryEdgeCondition extends IfcBoundaryCondition { + constructor(expressID, Name, LinearStiffnessByLengthX, LinearStiffnessByLengthY, LinearStiffnessByLengthZ, RotationalStiffnessByLengthX, RotationalStiffnessByLengthY, RotationalStiffnessByLengthZ) { + super(expressID, Name); + this.Name = Name; + this.LinearStiffnessByLengthX = LinearStiffnessByLengthX; + this.LinearStiffnessByLengthY = LinearStiffnessByLengthY; + this.LinearStiffnessByLengthZ = LinearStiffnessByLengthZ; + this.RotationalStiffnessByLengthX = RotationalStiffnessByLengthX; + this.RotationalStiffnessByLengthY = RotationalStiffnessByLengthY; + this.RotationalStiffnessByLengthZ = RotationalStiffnessByLengthZ; + this.type = 1560379544; + } + } + IFC2X32.IfcBoundaryEdgeCondition = IfcBoundaryEdgeCondition; + class IfcBoundaryFaceCondition extends IfcBoundaryCondition { + constructor(expressID, Name, LinearStiffnessByAreaX, LinearStiffnessByAreaY, LinearStiffnessByAreaZ) { + super(expressID, Name); + this.Name = Name; + this.LinearStiffnessByAreaX = LinearStiffnessByAreaX; + this.LinearStiffnessByAreaY = LinearStiffnessByAreaY; + this.LinearStiffnessByAreaZ = LinearStiffnessByAreaZ; + this.type = 3367102660; + } + } + IFC2X32.IfcBoundaryFaceCondition = IfcBoundaryFaceCondition; + class IfcBoundaryNodeCondition extends IfcBoundaryCondition { + constructor(expressID, Name, LinearStiffnessX, LinearStiffnessY, LinearStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ) { + super(expressID, Name); + this.Name = Name; + this.LinearStiffnessX = LinearStiffnessX; + this.LinearStiffnessY = LinearStiffnessY; + this.LinearStiffnessZ = LinearStiffnessZ; + this.RotationalStiffnessX = RotationalStiffnessX; + this.RotationalStiffnessY = RotationalStiffnessY; + this.RotationalStiffnessZ = RotationalStiffnessZ; + this.type = 1387855156; + } + } + IFC2X32.IfcBoundaryNodeCondition = IfcBoundaryNodeCondition; + class IfcBoundaryNodeConditionWarping extends IfcBoundaryNodeCondition { + constructor(expressID, Name, LinearStiffnessX, LinearStiffnessY, LinearStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ, WarpingStiffness) { + super(expressID, Name, LinearStiffnessX, LinearStiffnessY, LinearStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ); + this.Name = Name; + this.LinearStiffnessX = LinearStiffnessX; + this.LinearStiffnessY = LinearStiffnessY; + this.LinearStiffnessZ = LinearStiffnessZ; + this.RotationalStiffnessX = RotationalStiffnessX; + this.RotationalStiffnessY = RotationalStiffnessY; + this.RotationalStiffnessZ = RotationalStiffnessZ; + this.WarpingStiffness = WarpingStiffness; + this.type = 2069777674; + } + } + IFC2X32.IfcBoundaryNodeConditionWarping = IfcBoundaryNodeConditionWarping; + class IfcCalendarDate extends IfcLineObject { + constructor(expressID, DayComponent, MonthComponent, YearComponent) { + super(expressID); + this.DayComponent = DayComponent; + this.MonthComponent = MonthComponent; + this.YearComponent = YearComponent; + this.type = 622194075; + } + } + IFC2X32.IfcCalendarDate = IfcCalendarDate; + class IfcClassification extends IfcLineObject { + constructor(expressID, Source, Edition, EditionDate, Name) { + super(expressID); + this.Source = Source; + this.Edition = Edition; + this.EditionDate = EditionDate; + this.Name = Name; + this.type = 747523909; + } + } + IFC2X32.IfcClassification = IfcClassification; + class IfcClassificationItem extends IfcLineObject { + constructor(expressID, Notation, ItemOf, Title) { + super(expressID); + this.Notation = Notation; + this.ItemOf = ItemOf; + this.Title = Title; + this.type = 1767535486; + } + } + IFC2X32.IfcClassificationItem = IfcClassificationItem; + class IfcClassificationItemRelationship extends IfcLineObject { + constructor(expressID, RelatingItem, RelatedItems) { + super(expressID); + this.RelatingItem = RelatingItem; + this.RelatedItems = RelatedItems; + this.type = 1098599126; + } + } + IFC2X32.IfcClassificationItemRelationship = IfcClassificationItemRelationship; + class IfcClassificationNotation extends IfcLineObject { + constructor(expressID, NotationFacets) { + super(expressID); + this.NotationFacets = NotationFacets; + this.type = 938368621; + } + } + IFC2X32.IfcClassificationNotation = IfcClassificationNotation; + class IfcClassificationNotationFacet extends IfcLineObject { + constructor(expressID, NotationValue) { + super(expressID); + this.NotationValue = NotationValue; + this.type = 3639012971; + } + } + IFC2X32.IfcClassificationNotationFacet = IfcClassificationNotationFacet; + class IfcColourSpecification extends IfcLineObject { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 3264961684; + } + } + IFC2X32.IfcColourSpecification = IfcColourSpecification; + class IfcConnectionGeometry extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 2859738748; + } + } + IFC2X32.IfcConnectionGeometry = IfcConnectionGeometry; + class IfcConnectionPointGeometry extends IfcConnectionGeometry { + constructor(expressID, PointOnRelatingElement, PointOnRelatedElement) { + super(expressID); + this.PointOnRelatingElement = PointOnRelatingElement; + this.PointOnRelatedElement = PointOnRelatedElement; + this.type = 2614616156; + } + } + IFC2X32.IfcConnectionPointGeometry = IfcConnectionPointGeometry; + class IfcConnectionPortGeometry extends IfcConnectionGeometry { + constructor(expressID, LocationAtRelatingElement, LocationAtRelatedElement, ProfileOfPort) { + super(expressID); + this.LocationAtRelatingElement = LocationAtRelatingElement; + this.LocationAtRelatedElement = LocationAtRelatedElement; + this.ProfileOfPort = ProfileOfPort; + this.type = 4257277454; + } + } + IFC2X32.IfcConnectionPortGeometry = IfcConnectionPortGeometry; + class IfcConnectionSurfaceGeometry extends IfcConnectionGeometry { + constructor(expressID, SurfaceOnRelatingElement, SurfaceOnRelatedElement) { + super(expressID); + this.SurfaceOnRelatingElement = SurfaceOnRelatingElement; + this.SurfaceOnRelatedElement = SurfaceOnRelatedElement; + this.type = 2732653382; + } + } + IFC2X32.IfcConnectionSurfaceGeometry = IfcConnectionSurfaceGeometry; + class IfcConstraint extends IfcLineObject { + constructor(expressID, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.type = 1959218052; + } + } + IFC2X32.IfcConstraint = IfcConstraint; + class IfcConstraintAggregationRelationship extends IfcLineObject { + constructor(expressID, Name, Description, RelatingConstraint, RelatedConstraints, LogicalAggregator) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.RelatingConstraint = RelatingConstraint; + this.RelatedConstraints = RelatedConstraints; + this.LogicalAggregator = LogicalAggregator; + this.type = 1658513725; + } + } + IFC2X32.IfcConstraintAggregationRelationship = IfcConstraintAggregationRelationship; + class IfcConstraintClassificationRelationship extends IfcLineObject { + constructor(expressID, ClassifiedConstraint, RelatedClassifications) { + super(expressID); + this.ClassifiedConstraint = ClassifiedConstraint; + this.RelatedClassifications = RelatedClassifications; + this.type = 613356794; + } + } + IFC2X32.IfcConstraintClassificationRelationship = IfcConstraintClassificationRelationship; + class IfcConstraintRelationship extends IfcLineObject { + constructor(expressID, Name, Description, RelatingConstraint, RelatedConstraints) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.RelatingConstraint = RelatingConstraint; + this.RelatedConstraints = RelatedConstraints; + this.type = 347226245; + } + } + IFC2X32.IfcConstraintRelationship = IfcConstraintRelationship; + class IfcCoordinatedUniversalTimeOffset extends IfcLineObject { + constructor(expressID, HourOffset, MinuteOffset, Sense) { + super(expressID); + this.HourOffset = HourOffset; + this.MinuteOffset = MinuteOffset; + this.Sense = Sense; + this.type = 1065062679; + } + } + IFC2X32.IfcCoordinatedUniversalTimeOffset = IfcCoordinatedUniversalTimeOffset; + class IfcCostValue extends IfcAppliedValue { + constructor(expressID, Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, CostType, Condition) { + super(expressID, Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate); + this.Name = Name; + this.Description = Description; + this.AppliedValue = AppliedValue; + this.UnitBasis = UnitBasis; + this.ApplicableDate = ApplicableDate; + this.FixedUntilDate = FixedUntilDate; + this.CostType = CostType; + this.Condition = Condition; + this.type = 602808272; + } + } + IFC2X32.IfcCostValue = IfcCostValue; + class IfcCurrencyRelationship extends IfcLineObject { + constructor(expressID, RelatingMonetaryUnit, RelatedMonetaryUnit, ExchangeRate, RateDateTime, RateSource) { + super(expressID); + this.RelatingMonetaryUnit = RelatingMonetaryUnit; + this.RelatedMonetaryUnit = RelatedMonetaryUnit; + this.ExchangeRate = ExchangeRate; + this.RateDateTime = RateDateTime; + this.RateSource = RateSource; + this.type = 539742890; + } + } + IFC2X32.IfcCurrencyRelationship = IfcCurrencyRelationship; + class IfcCurveStyleFont extends IfcLineObject { + constructor(expressID, Name, PatternList) { + super(expressID); + this.Name = Name; + this.PatternList = PatternList; + this.type = 1105321065; + } + } + IFC2X32.IfcCurveStyleFont = IfcCurveStyleFont; + class IfcCurveStyleFontAndScaling extends IfcLineObject { + constructor(expressID, Name, CurveFont, CurveFontScaling) { + super(expressID); + this.Name = Name; + this.CurveFont = CurveFont; + this.CurveFontScaling = CurveFontScaling; + this.type = 2367409068; + } + } + IFC2X32.IfcCurveStyleFontAndScaling = IfcCurveStyleFontAndScaling; + class IfcCurveStyleFontPattern extends IfcLineObject { + constructor(expressID, VisibleSegmentLength, InvisibleSegmentLength) { + super(expressID); + this.VisibleSegmentLength = VisibleSegmentLength; + this.InvisibleSegmentLength = InvisibleSegmentLength; + this.type = 3510044353; + } + } + IFC2X32.IfcCurveStyleFontPattern = IfcCurveStyleFontPattern; + class IfcDateAndTime extends IfcLineObject { + constructor(expressID, DateComponent, TimeComponent) { + super(expressID); + this.DateComponent = DateComponent; + this.TimeComponent = TimeComponent; + this.type = 1072939445; + } + } + IFC2X32.IfcDateAndTime = IfcDateAndTime; + class IfcDerivedUnit extends IfcLineObject { + constructor(expressID, Elements, UnitType, UserDefinedType) { + super(expressID); + this.Elements = Elements; + this.UnitType = UnitType; + this.UserDefinedType = UserDefinedType; + this.type = 1765591967; + } + } + IFC2X32.IfcDerivedUnit = IfcDerivedUnit; + class IfcDerivedUnitElement extends IfcLineObject { + constructor(expressID, Unit, Exponent) { + super(expressID); + this.Unit = Unit; + this.Exponent = Exponent; + this.type = 1045800335; + } + } + IFC2X32.IfcDerivedUnitElement = IfcDerivedUnitElement; + class IfcDimensionalExponents extends IfcLineObject { + constructor(expressID, LengthExponent, MassExponent, TimeExponent, ElectricCurrentExponent, ThermodynamicTemperatureExponent, AmountOfSubstanceExponent, LuminousIntensityExponent) { + super(expressID); + this.LengthExponent = LengthExponent; + this.MassExponent = MassExponent; + this.TimeExponent = TimeExponent; + this.ElectricCurrentExponent = ElectricCurrentExponent; + this.ThermodynamicTemperatureExponent = ThermodynamicTemperatureExponent; + this.AmountOfSubstanceExponent = AmountOfSubstanceExponent; + this.LuminousIntensityExponent = LuminousIntensityExponent; + this.type = 2949456006; + } + } + IFC2X32.IfcDimensionalExponents = IfcDimensionalExponents; + class IfcDocumentElectronicFormat extends IfcLineObject { + constructor(expressID, FileExtension, MimeContentType, MimeSubtype) { + super(expressID); + this.FileExtension = FileExtension; + this.MimeContentType = MimeContentType; + this.MimeSubtype = MimeSubtype; + this.type = 1376555844; + } + } + IFC2X32.IfcDocumentElectronicFormat = IfcDocumentElectronicFormat; + class IfcDocumentInformation extends IfcLineObject { + constructor(expressID, DocumentId, Name, Description, DocumentReferences, Purpose, IntendedUse, Scope, Revision, DocumentOwner, Editors, CreationTime, LastRevisionTime, ElectronicFormat, ValidFrom, ValidUntil, Confidentiality, Status) { + super(expressID); + this.DocumentId = DocumentId; + this.Name = Name; + this.Description = Description; + this.DocumentReferences = DocumentReferences; + this.Purpose = Purpose; + this.IntendedUse = IntendedUse; + this.Scope = Scope; + this.Revision = Revision; + this.DocumentOwner = DocumentOwner; + this.Editors = Editors; + this.CreationTime = CreationTime; + this.LastRevisionTime = LastRevisionTime; + this.ElectronicFormat = ElectronicFormat; + this.ValidFrom = ValidFrom; + this.ValidUntil = ValidUntil; + this.Confidentiality = Confidentiality; + this.Status = Status; + this.type = 1154170062; + } + } + IFC2X32.IfcDocumentInformation = IfcDocumentInformation; + class IfcDocumentInformationRelationship extends IfcLineObject { + constructor(expressID, RelatingDocument, RelatedDocuments, RelationshipType) { + super(expressID); + this.RelatingDocument = RelatingDocument; + this.RelatedDocuments = RelatedDocuments; + this.RelationshipType = RelationshipType; + this.type = 770865208; + } + } + IFC2X32.IfcDocumentInformationRelationship = IfcDocumentInformationRelationship; + class IfcDraughtingCalloutRelationship extends IfcLineObject { + constructor(expressID, Name, Description, RelatingDraughtingCallout, RelatedDraughtingCallout) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.RelatingDraughtingCallout = RelatingDraughtingCallout; + this.RelatedDraughtingCallout = RelatedDraughtingCallout; + this.type = 3796139169; + } + } + IFC2X32.IfcDraughtingCalloutRelationship = IfcDraughtingCalloutRelationship; + class IfcEnvironmentalImpactValue extends IfcAppliedValue { + constructor(expressID, Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, ImpactType, Category, UserDefinedCategory) { + super(expressID, Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate); + this.Name = Name; + this.Description = Description; + this.AppliedValue = AppliedValue; + this.UnitBasis = UnitBasis; + this.ApplicableDate = ApplicableDate; + this.FixedUntilDate = FixedUntilDate; + this.ImpactType = ImpactType; + this.Category = Category; + this.UserDefinedCategory = UserDefinedCategory; + this.type = 1648886627; + } + } + IFC2X32.IfcEnvironmentalImpactValue = IfcEnvironmentalImpactValue; + class IfcExternalReference extends IfcLineObject { + constructor(expressID, Location, ItemReference, Name) { + super(expressID); + this.Location = Location; + this.ItemReference = ItemReference; + this.Name = Name; + this.type = 3200245327; + } + } + IFC2X32.IfcExternalReference = IfcExternalReference; + class IfcExternallyDefinedHatchStyle extends IfcExternalReference { + constructor(expressID, Location, ItemReference, Name) { + super(expressID, Location, ItemReference, Name); + this.Location = Location; + this.ItemReference = ItemReference; + this.Name = Name; + this.type = 2242383968; + } + } + IFC2X32.IfcExternallyDefinedHatchStyle = IfcExternallyDefinedHatchStyle; + class IfcExternallyDefinedSurfaceStyle extends IfcExternalReference { + constructor(expressID, Location, ItemReference, Name) { + super(expressID, Location, ItemReference, Name); + this.Location = Location; + this.ItemReference = ItemReference; + this.Name = Name; + this.type = 1040185647; + } + } + IFC2X32.IfcExternallyDefinedSurfaceStyle = IfcExternallyDefinedSurfaceStyle; + class IfcExternallyDefinedSymbol extends IfcExternalReference { + constructor(expressID, Location, ItemReference, Name) { + super(expressID, Location, ItemReference, Name); + this.Location = Location; + this.ItemReference = ItemReference; + this.Name = Name; + this.type = 3207319532; + } + } + IFC2X32.IfcExternallyDefinedSymbol = IfcExternallyDefinedSymbol; + class IfcExternallyDefinedTextFont extends IfcExternalReference { + constructor(expressID, Location, ItemReference, Name) { + super(expressID, Location, ItemReference, Name); + this.Location = Location; + this.ItemReference = ItemReference; + this.Name = Name; + this.type = 3548104201; + } + } + IFC2X32.IfcExternallyDefinedTextFont = IfcExternallyDefinedTextFont; + class IfcGridAxis extends IfcLineObject { + constructor(expressID, AxisTag, AxisCurve, SameSense) { + super(expressID); + this.AxisTag = AxisTag; + this.AxisCurve = AxisCurve; + this.SameSense = SameSense; + this.type = 852622518; + } + } + IFC2X32.IfcGridAxis = IfcGridAxis; + class IfcIrregularTimeSeriesValue extends IfcLineObject { + constructor(expressID, TimeStamp, ListValues) { + super(expressID); + this.TimeStamp = TimeStamp; + this.ListValues = ListValues; + this.type = 3020489413; + } + } + IFC2X32.IfcIrregularTimeSeriesValue = IfcIrregularTimeSeriesValue; + class IfcLibraryInformation extends IfcLineObject { + constructor(expressID, Name, Version, Publisher, VersionDate, LibraryReference) { + super(expressID); + this.Name = Name; + this.Version = Version; + this.Publisher = Publisher; + this.VersionDate = VersionDate; + this.LibraryReference = LibraryReference; + this.type = 2655187982; + } + } + IFC2X32.IfcLibraryInformation = IfcLibraryInformation; + class IfcLibraryReference extends IfcExternalReference { + constructor(expressID, Location, ItemReference, Name) { + super(expressID, Location, ItemReference, Name); + this.Location = Location; + this.ItemReference = ItemReference; + this.Name = Name; + this.type = 3452421091; + } + } + IFC2X32.IfcLibraryReference = IfcLibraryReference; + class IfcLightDistributionData extends IfcLineObject { + constructor(expressID, MainPlaneAngle, SecondaryPlaneAngle, LuminousIntensity) { + super(expressID); + this.MainPlaneAngle = MainPlaneAngle; + this.SecondaryPlaneAngle = SecondaryPlaneAngle; + this.LuminousIntensity = LuminousIntensity; + this.type = 4162380809; + } + } + IFC2X32.IfcLightDistributionData = IfcLightDistributionData; + class IfcLightIntensityDistribution extends IfcLineObject { + constructor(expressID, LightDistributionCurve, DistributionData) { + super(expressID); + this.LightDistributionCurve = LightDistributionCurve; + this.DistributionData = DistributionData; + this.type = 1566485204; + } + } + IFC2X32.IfcLightIntensityDistribution = IfcLightIntensityDistribution; + class IfcLocalTime extends IfcLineObject { + constructor(expressID, HourComponent, MinuteComponent, SecondComponent, Zone, DaylightSavingOffset) { + super(expressID); + this.HourComponent = HourComponent; + this.MinuteComponent = MinuteComponent; + this.SecondComponent = SecondComponent; + this.Zone = Zone; + this.DaylightSavingOffset = DaylightSavingOffset; + this.type = 30780891; + } + } + IFC2X32.IfcLocalTime = IfcLocalTime; + class IfcMaterial extends IfcLineObject { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 1838606355; + } + } + IFC2X32.IfcMaterial = IfcMaterial; + class IfcMaterialClassificationRelationship extends IfcLineObject { + constructor(expressID, MaterialClassifications, ClassifiedMaterial) { + super(expressID); + this.MaterialClassifications = MaterialClassifications; + this.ClassifiedMaterial = ClassifiedMaterial; + this.type = 1847130766; + } + } + IFC2X32.IfcMaterialClassificationRelationship = IfcMaterialClassificationRelationship; + class IfcMaterialLayer extends IfcLineObject { + constructor(expressID, Material, LayerThickness, IsVentilated) { + super(expressID); + this.Material = Material; + this.LayerThickness = LayerThickness; + this.IsVentilated = IsVentilated; + this.type = 248100487; + } + } + IFC2X32.IfcMaterialLayer = IfcMaterialLayer; + class IfcMaterialLayerSet extends IfcLineObject { + constructor(expressID, MaterialLayers, LayerSetName) { + super(expressID); + this.MaterialLayers = MaterialLayers; + this.LayerSetName = LayerSetName; + this.type = 3303938423; + } + } + IFC2X32.IfcMaterialLayerSet = IfcMaterialLayerSet; + class IfcMaterialLayerSetUsage extends IfcLineObject { + constructor(expressID, ForLayerSet, LayerSetDirection, DirectionSense, OffsetFromReferenceLine) { + super(expressID); + this.ForLayerSet = ForLayerSet; + this.LayerSetDirection = LayerSetDirection; + this.DirectionSense = DirectionSense; + this.OffsetFromReferenceLine = OffsetFromReferenceLine; + this.type = 1303795690; + } + } + IFC2X32.IfcMaterialLayerSetUsage = IfcMaterialLayerSetUsage; + class IfcMaterialList extends IfcLineObject { + constructor(expressID, Materials) { + super(expressID); + this.Materials = Materials; + this.type = 2199411900; + } + } + IFC2X32.IfcMaterialList = IfcMaterialList; + class IfcMaterialProperties extends IfcLineObject { + constructor(expressID, Material) { + super(expressID); + this.Material = Material; + this.type = 3265635763; + } + } + IFC2X32.IfcMaterialProperties = IfcMaterialProperties; + class IfcMeasureWithUnit extends IfcLineObject { + constructor(expressID, ValueComponent, UnitComponent) { + super(expressID); + this.ValueComponent = ValueComponent; + this.UnitComponent = UnitComponent; + this.type = 2597039031; + } + } + IFC2X32.IfcMeasureWithUnit = IfcMeasureWithUnit; + class IfcMechanicalMaterialProperties extends IfcMaterialProperties { + constructor(expressID, Material, DynamicViscosity, YoungModulus, ShearModulus, PoissonRatio, ThermalExpansionCoefficient) { + super(expressID, Material); + this.Material = Material; + this.DynamicViscosity = DynamicViscosity; + this.YoungModulus = YoungModulus; + this.ShearModulus = ShearModulus; + this.PoissonRatio = PoissonRatio; + this.ThermalExpansionCoefficient = ThermalExpansionCoefficient; + this.type = 4256014907; + } + } + IFC2X32.IfcMechanicalMaterialProperties = IfcMechanicalMaterialProperties; + class IfcMechanicalSteelMaterialProperties extends IfcMechanicalMaterialProperties { + constructor(expressID, Material, DynamicViscosity, YoungModulus, ShearModulus, PoissonRatio, ThermalExpansionCoefficient, YieldStress, UltimateStress, UltimateStrain, HardeningModule, ProportionalStress, PlasticStrain, Relaxations) { + super(expressID, Material, DynamicViscosity, YoungModulus, ShearModulus, PoissonRatio, ThermalExpansionCoefficient); + this.Material = Material; + this.DynamicViscosity = DynamicViscosity; + this.YoungModulus = YoungModulus; + this.ShearModulus = ShearModulus; + this.PoissonRatio = PoissonRatio; + this.ThermalExpansionCoefficient = ThermalExpansionCoefficient; + this.YieldStress = YieldStress; + this.UltimateStress = UltimateStress; + this.UltimateStrain = UltimateStrain; + this.HardeningModule = HardeningModule; + this.ProportionalStress = ProportionalStress; + this.PlasticStrain = PlasticStrain; + this.Relaxations = Relaxations; + this.type = 677618848; + } + } + IFC2X32.IfcMechanicalSteelMaterialProperties = IfcMechanicalSteelMaterialProperties; + class IfcMetric extends IfcConstraint { + constructor(expressID, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, Benchmark, ValueSource, DataValue) { + super(expressID, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.Benchmark = Benchmark; + this.ValueSource = ValueSource; + this.DataValue = DataValue; + this.type = 3368373690; + } + } + IFC2X32.IfcMetric = IfcMetric; + class IfcMonetaryUnit extends IfcLineObject { + constructor(expressID, Currency) { + super(expressID); + this.Currency = Currency; + this.type = 2706619895; + } + } + IFC2X32.IfcMonetaryUnit = IfcMonetaryUnit; + class IfcNamedUnit extends IfcLineObject { + constructor(expressID, Dimensions, UnitType) { + super(expressID); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.type = 1918398963; + } + } + IFC2X32.IfcNamedUnit = IfcNamedUnit; + class IfcObjectPlacement extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 3701648758; + } + } + IFC2X32.IfcObjectPlacement = IfcObjectPlacement; + class IfcObjective extends IfcConstraint { + constructor(expressID, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, BenchmarkValues, ResultValues, ObjectiveQualifier, UserDefinedQualifier) { + super(expressID, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.BenchmarkValues = BenchmarkValues; + this.ResultValues = ResultValues; + this.ObjectiveQualifier = ObjectiveQualifier; + this.UserDefinedQualifier = UserDefinedQualifier; + this.type = 2251480897; + } + } + IFC2X32.IfcObjective = IfcObjective; + class IfcOpticalMaterialProperties extends IfcMaterialProperties { + constructor(expressID, Material, VisibleTransmittance, SolarTransmittance, ThermalIrTransmittance, ThermalIrEmissivityBack, ThermalIrEmissivityFront, VisibleReflectanceBack, VisibleReflectanceFront, SolarReflectanceFront, SolarReflectanceBack) { + super(expressID, Material); + this.Material = Material; + this.VisibleTransmittance = VisibleTransmittance; + this.SolarTransmittance = SolarTransmittance; + this.ThermalIrTransmittance = ThermalIrTransmittance; + this.ThermalIrEmissivityBack = ThermalIrEmissivityBack; + this.ThermalIrEmissivityFront = ThermalIrEmissivityFront; + this.VisibleReflectanceBack = VisibleReflectanceBack; + this.VisibleReflectanceFront = VisibleReflectanceFront; + this.SolarReflectanceFront = SolarReflectanceFront; + this.SolarReflectanceBack = SolarReflectanceBack; + this.type = 1227763645; + } + } + IFC2X32.IfcOpticalMaterialProperties = IfcOpticalMaterialProperties; + class IfcOrganization extends IfcLineObject { + constructor(expressID, Id, Name, Description, Roles, Addresses) { + super(expressID); + this.Id = Id; + this.Name = Name; + this.Description = Description; + this.Roles = Roles; + this.Addresses = Addresses; + this.type = 4251960020; + } + } + IFC2X32.IfcOrganization = IfcOrganization; + class IfcOrganizationRelationship extends IfcLineObject { + constructor(expressID, Name, Description, RelatingOrganization, RelatedOrganizations) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.RelatingOrganization = RelatingOrganization; + this.RelatedOrganizations = RelatedOrganizations; + this.type = 1411181986; + } + } + IFC2X32.IfcOrganizationRelationship = IfcOrganizationRelationship; + class IfcOwnerHistory extends IfcLineObject { + constructor(expressID, OwningUser, OwningApplication, State, ChangeAction, LastModifiedDate, LastModifyingUser, LastModifyingApplication, CreationDate) { + super(expressID); + this.OwningUser = OwningUser; + this.OwningApplication = OwningApplication; + this.State = State; + this.ChangeAction = ChangeAction; + this.LastModifiedDate = LastModifiedDate; + this.LastModifyingUser = LastModifyingUser; + this.LastModifyingApplication = LastModifyingApplication; + this.CreationDate = CreationDate; + this.type = 1207048766; + } + } + IFC2X32.IfcOwnerHistory = IfcOwnerHistory; + class IfcPerson extends IfcLineObject { + constructor(expressID, Id, FamilyName, GivenName, MiddleNames, PrefixTitles, SuffixTitles, Roles, Addresses) { + super(expressID); + this.Id = Id; + this.FamilyName = FamilyName; + this.GivenName = GivenName; + this.MiddleNames = MiddleNames; + this.PrefixTitles = PrefixTitles; + this.SuffixTitles = SuffixTitles; + this.Roles = Roles; + this.Addresses = Addresses; + this.type = 2077209135; + } + } + IFC2X32.IfcPerson = IfcPerson; + class IfcPersonAndOrganization extends IfcLineObject { + constructor(expressID, ThePerson, TheOrganization, Roles) { + super(expressID); + this.ThePerson = ThePerson; + this.TheOrganization = TheOrganization; + this.Roles = Roles; + this.type = 101040310; + } + } + IFC2X32.IfcPersonAndOrganization = IfcPersonAndOrganization; + class IfcPhysicalQuantity extends IfcLineObject { + constructor(expressID, Name, Description) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.type = 2483315170; + } + } + IFC2X32.IfcPhysicalQuantity = IfcPhysicalQuantity; + class IfcPhysicalSimpleQuantity extends IfcPhysicalQuantity { + constructor(expressID, Name, Description, Unit) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.type = 2226359599; + } + } + IFC2X32.IfcPhysicalSimpleQuantity = IfcPhysicalSimpleQuantity; + class IfcPostalAddress extends IfcAddress { + constructor(expressID, Purpose, Description, UserDefinedPurpose, InternalLocation, AddressLines, PostalBox, Town, Region, PostalCode, Country) { + super(expressID, Purpose, Description, UserDefinedPurpose); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.InternalLocation = InternalLocation; + this.AddressLines = AddressLines; + this.PostalBox = PostalBox; + this.Town = Town; + this.Region = Region; + this.PostalCode = PostalCode; + this.Country = Country; + this.type = 3355820592; + } + } + IFC2X32.IfcPostalAddress = IfcPostalAddress; + class IfcPreDefinedItem extends IfcLineObject { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 3727388367; + } + } + IFC2X32.IfcPreDefinedItem = IfcPreDefinedItem; + class IfcPreDefinedSymbol extends IfcPreDefinedItem { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 990879717; + } + } + IFC2X32.IfcPreDefinedSymbol = IfcPreDefinedSymbol; + class IfcPreDefinedTerminatorSymbol extends IfcPreDefinedSymbol { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 3213052703; + } + } + IFC2X32.IfcPreDefinedTerminatorSymbol = IfcPreDefinedTerminatorSymbol; + class IfcPreDefinedTextFont extends IfcPreDefinedItem { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 1775413392; + } + } + IFC2X32.IfcPreDefinedTextFont = IfcPreDefinedTextFont; + class IfcPresentationLayerAssignment extends IfcLineObject { + constructor(expressID, Name, Description, AssignedItems, Identifier) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.AssignedItems = AssignedItems; + this.Identifier = Identifier; + this.type = 2022622350; + } + } + IFC2X32.IfcPresentationLayerAssignment = IfcPresentationLayerAssignment; + class IfcPresentationLayerWithStyle extends IfcPresentationLayerAssignment { + constructor(expressID, Name, Description, AssignedItems, Identifier, LayerOn, LayerFrozen, LayerBlocked, LayerStyles) { + super(expressID, Name, Description, AssignedItems, Identifier); + this.Name = Name; + this.Description = Description; + this.AssignedItems = AssignedItems; + this.Identifier = Identifier; + this.LayerOn = LayerOn; + this.LayerFrozen = LayerFrozen; + this.LayerBlocked = LayerBlocked; + this.LayerStyles = LayerStyles; + this.type = 1304840413; + } + } + IFC2X32.IfcPresentationLayerWithStyle = IfcPresentationLayerWithStyle; + class IfcPresentationStyle extends IfcLineObject { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 3119450353; + } + } + IFC2X32.IfcPresentationStyle = IfcPresentationStyle; + class IfcPresentationStyleAssignment extends IfcLineObject { + constructor(expressID, Styles) { + super(expressID); + this.Styles = Styles; + this.type = 2417041796; + } + } + IFC2X32.IfcPresentationStyleAssignment = IfcPresentationStyleAssignment; + class IfcProductRepresentation extends IfcLineObject { + constructor(expressID, Name, Description, Representations) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.type = 2095639259; + } + } + IFC2X32.IfcProductRepresentation = IfcProductRepresentation; + class IfcProductsOfCombustionProperties extends IfcMaterialProperties { + constructor(expressID, Material, SpecificHeatCapacity, N20Content, COContent, CO2Content) { + super(expressID, Material); + this.Material = Material; + this.SpecificHeatCapacity = SpecificHeatCapacity; + this.N20Content = N20Content; + this.COContent = COContent; + this.CO2Content = CO2Content; + this.type = 2267347899; + } + } + IFC2X32.IfcProductsOfCombustionProperties = IfcProductsOfCombustionProperties; + class IfcProfileDef extends IfcLineObject { + constructor(expressID, ProfileType, ProfileName) { + super(expressID); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.type = 3958567839; + } + } + IFC2X32.IfcProfileDef = IfcProfileDef; + class IfcProfileProperties extends IfcLineObject { + constructor(expressID, ProfileName, ProfileDefinition) { + super(expressID); + this.ProfileName = ProfileName; + this.ProfileDefinition = ProfileDefinition; + this.type = 2802850158; + } + } + IFC2X32.IfcProfileProperties = IfcProfileProperties; + class IfcProperty extends IfcLineObject { + constructor(expressID, Name, Description) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.type = 2598011224; + } + } + IFC2X32.IfcProperty = IfcProperty; + class IfcPropertyConstraintRelationship extends IfcLineObject { + constructor(expressID, RelatingConstraint, RelatedProperties, Name, Description) { + super(expressID); + this.RelatingConstraint = RelatingConstraint; + this.RelatedProperties = RelatedProperties; + this.Name = Name; + this.Description = Description; + this.type = 3896028662; + } + } + IFC2X32.IfcPropertyConstraintRelationship = IfcPropertyConstraintRelationship; + class IfcPropertyDependencyRelationship extends IfcLineObject { + constructor(expressID, DependingProperty, DependantProperty, Name, Description, Expression) { + super(expressID); + this.DependingProperty = DependingProperty; + this.DependantProperty = DependantProperty; + this.Name = Name; + this.Description = Description; + this.Expression = Expression; + this.type = 148025276; + } + } + IFC2X32.IfcPropertyDependencyRelationship = IfcPropertyDependencyRelationship; + class IfcPropertyEnumeration extends IfcLineObject { + constructor(expressID, Name, EnumerationValues, Unit) { + super(expressID); + this.Name = Name; + this.EnumerationValues = EnumerationValues; + this.Unit = Unit; + this.type = 3710013099; + } + } + IFC2X32.IfcPropertyEnumeration = IfcPropertyEnumeration; + class IfcQuantityArea extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, AreaValue) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.AreaValue = AreaValue; + this.type = 2044713172; + } + } + IFC2X32.IfcQuantityArea = IfcQuantityArea; + class IfcQuantityCount extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, CountValue) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.CountValue = CountValue; + this.type = 2093928680; + } + } + IFC2X32.IfcQuantityCount = IfcQuantityCount; + class IfcQuantityLength extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, LengthValue) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.LengthValue = LengthValue; + this.type = 931644368; + } + } + IFC2X32.IfcQuantityLength = IfcQuantityLength; + class IfcQuantityTime extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, TimeValue) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.TimeValue = TimeValue; + this.type = 3252649465; + } + } + IFC2X32.IfcQuantityTime = IfcQuantityTime; + class IfcQuantityVolume extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, VolumeValue) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.VolumeValue = VolumeValue; + this.type = 2405470396; + } + } + IFC2X32.IfcQuantityVolume = IfcQuantityVolume; + class IfcQuantityWeight extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, WeightValue) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.WeightValue = WeightValue; + this.type = 825690147; + } + } + IFC2X32.IfcQuantityWeight = IfcQuantityWeight; + class IfcReferencesValueDocument extends IfcLineObject { + constructor(expressID, ReferencedDocument, ReferencingValues, Name, Description) { + super(expressID); + this.ReferencedDocument = ReferencedDocument; + this.ReferencingValues = ReferencingValues; + this.Name = Name; + this.Description = Description; + this.type = 2692823254; + } + } + IFC2X32.IfcReferencesValueDocument = IfcReferencesValueDocument; + class IfcReinforcementBarProperties extends IfcLineObject { + constructor(expressID, TotalCrossSectionArea, SteelGrade, BarSurface, EffectiveDepth, NominalBarDiameter, BarCount) { + super(expressID); + this.TotalCrossSectionArea = TotalCrossSectionArea; + this.SteelGrade = SteelGrade; + this.BarSurface = BarSurface; + this.EffectiveDepth = EffectiveDepth; + this.NominalBarDiameter = NominalBarDiameter; + this.BarCount = BarCount; + this.type = 1580146022; + } + } + IFC2X32.IfcReinforcementBarProperties = IfcReinforcementBarProperties; + class IfcRelaxation extends IfcLineObject { + constructor(expressID, RelaxationValue, InitialStress) { + super(expressID); + this.RelaxationValue = RelaxationValue; + this.InitialStress = InitialStress; + this.type = 1222501353; + } + } + IFC2X32.IfcRelaxation = IfcRelaxation; + class IfcRepresentation extends IfcLineObject { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 1076942058; + } + } + IFC2X32.IfcRepresentation = IfcRepresentation; + class IfcRepresentationContext extends IfcLineObject { + constructor(expressID, ContextIdentifier, ContextType) { + super(expressID); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.type = 3377609919; + } + } + IFC2X32.IfcRepresentationContext = IfcRepresentationContext; + class IfcRepresentationItem extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 3008791417; + } + } + IFC2X32.IfcRepresentationItem = IfcRepresentationItem; + class IfcRepresentationMap extends IfcLineObject { + constructor(expressID, MappingOrigin, MappedRepresentation) { + super(expressID); + this.MappingOrigin = MappingOrigin; + this.MappedRepresentation = MappedRepresentation; + this.type = 1660063152; + } + } + IFC2X32.IfcRepresentationMap = IfcRepresentationMap; + class IfcRibPlateProfileProperties extends IfcProfileProperties { + constructor(expressID, ProfileName, ProfileDefinition, Thickness, RibHeight, RibWidth, RibSpacing, Direction) { + super(expressID, ProfileName, ProfileDefinition); + this.ProfileName = ProfileName; + this.ProfileDefinition = ProfileDefinition; + this.Thickness = Thickness; + this.RibHeight = RibHeight; + this.RibWidth = RibWidth; + this.RibSpacing = RibSpacing; + this.Direction = Direction; + this.type = 3679540991; + } + } + IFC2X32.IfcRibPlateProfileProperties = IfcRibPlateProfileProperties; + class IfcRoot extends IfcLineObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 2341007311; + } + } + IFC2X32.IfcRoot = IfcRoot; + class IfcSIUnit extends IfcNamedUnit { + constructor(expressID, UnitType, Prefix, Name) { + super(expressID, new Handle(0), UnitType); + this.UnitType = UnitType; + this.Prefix = Prefix; + this.Name = Name; + this.type = 448429030; + } + } + IFC2X32.IfcSIUnit = IfcSIUnit; + class IfcSectionProperties extends IfcLineObject { + constructor(expressID, SectionType, StartProfile, EndProfile) { + super(expressID); + this.SectionType = SectionType; + this.StartProfile = StartProfile; + this.EndProfile = EndProfile; + this.type = 2042790032; + } + } + IFC2X32.IfcSectionProperties = IfcSectionProperties; + class IfcSectionReinforcementProperties extends IfcLineObject { + constructor(expressID, LongitudinalStartPosition, LongitudinalEndPosition, TransversePosition, ReinforcementRole, SectionDefinition, CrossSectionReinforcementDefinitions) { + super(expressID); + this.LongitudinalStartPosition = LongitudinalStartPosition; + this.LongitudinalEndPosition = LongitudinalEndPosition; + this.TransversePosition = TransversePosition; + this.ReinforcementRole = ReinforcementRole; + this.SectionDefinition = SectionDefinition; + this.CrossSectionReinforcementDefinitions = CrossSectionReinforcementDefinitions; + this.type = 4165799628; + } + } + IFC2X32.IfcSectionReinforcementProperties = IfcSectionReinforcementProperties; + class IfcShapeAspect extends IfcLineObject { + constructor(expressID, ShapeRepresentations, Name, Description, ProductDefinitional, PartOfProductDefinitionShape) { + super(expressID); + this.ShapeRepresentations = ShapeRepresentations; + this.Name = Name; + this.Description = Description; + this.ProductDefinitional = ProductDefinitional; + this.PartOfProductDefinitionShape = PartOfProductDefinitionShape; + this.type = 867548509; + } + } + IFC2X32.IfcShapeAspect = IfcShapeAspect; + class IfcShapeModel extends IfcRepresentation { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 3982875396; + } + } + IFC2X32.IfcShapeModel = IfcShapeModel; + class IfcShapeRepresentation extends IfcShapeModel { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 4240577450; + } + } + IFC2X32.IfcShapeRepresentation = IfcShapeRepresentation; + class IfcSimpleProperty extends IfcProperty { + constructor(expressID, Name, Description) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.type = 3692461612; + } + } + IFC2X32.IfcSimpleProperty = IfcSimpleProperty; + class IfcStructuralConnectionCondition extends IfcLineObject { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 2273995522; + } + } + IFC2X32.IfcStructuralConnectionCondition = IfcStructuralConnectionCondition; + class IfcStructuralLoad extends IfcLineObject { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 2162789131; + } + } + IFC2X32.IfcStructuralLoad = IfcStructuralLoad; + class IfcStructuralLoadStatic extends IfcStructuralLoad { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 2525727697; + } + } + IFC2X32.IfcStructuralLoadStatic = IfcStructuralLoadStatic; + class IfcStructuralLoadTemperature extends IfcStructuralLoadStatic { + constructor(expressID, Name, DeltaT_Constant, DeltaT_Y, DeltaT_Z) { + super(expressID, Name); + this.Name = Name; + this.DeltaT_Constant = DeltaT_Constant; + this.DeltaT_Y = DeltaT_Y; + this.DeltaT_Z = DeltaT_Z; + this.type = 3408363356; + } + } + IFC2X32.IfcStructuralLoadTemperature = IfcStructuralLoadTemperature; + class IfcStyleModel extends IfcRepresentation { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 2830218821; + } + } + IFC2X32.IfcStyleModel = IfcStyleModel; + class IfcStyledItem extends IfcRepresentationItem { + constructor(expressID, Item, Styles, Name) { + super(expressID); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 3958052878; + } + } + IFC2X32.IfcStyledItem = IfcStyledItem; + class IfcStyledRepresentation extends IfcStyleModel { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 3049322572; + } + } + IFC2X32.IfcStyledRepresentation = IfcStyledRepresentation; + class IfcSurfaceStyle extends IfcPresentationStyle { + constructor(expressID, Name, Side, Styles) { + super(expressID, Name); + this.Name = Name; + this.Side = Side; + this.Styles = Styles; + this.type = 1300840506; + } + } + IFC2X32.IfcSurfaceStyle = IfcSurfaceStyle; + class IfcSurfaceStyleLighting extends IfcLineObject { + constructor(expressID, DiffuseTransmissionColour, DiffuseReflectionColour, TransmissionColour, ReflectanceColour) { + super(expressID); + this.DiffuseTransmissionColour = DiffuseTransmissionColour; + this.DiffuseReflectionColour = DiffuseReflectionColour; + this.TransmissionColour = TransmissionColour; + this.ReflectanceColour = ReflectanceColour; + this.type = 3303107099; + } + } + IFC2X32.IfcSurfaceStyleLighting = IfcSurfaceStyleLighting; + class IfcSurfaceStyleRefraction extends IfcLineObject { + constructor(expressID, RefractionIndex, DispersionFactor) { + super(expressID); + this.RefractionIndex = RefractionIndex; + this.DispersionFactor = DispersionFactor; + this.type = 1607154358; + } + } + IFC2X32.IfcSurfaceStyleRefraction = IfcSurfaceStyleRefraction; + class IfcSurfaceStyleShading extends IfcLineObject { + constructor(expressID, SurfaceColour) { + super(expressID); + this.SurfaceColour = SurfaceColour; + this.type = 846575682; + } + } + IFC2X32.IfcSurfaceStyleShading = IfcSurfaceStyleShading; + class IfcSurfaceStyleWithTextures extends IfcLineObject { + constructor(expressID, Textures) { + super(expressID); + this.Textures = Textures; + this.type = 1351298697; + } + } + IFC2X32.IfcSurfaceStyleWithTextures = IfcSurfaceStyleWithTextures; + class IfcSurfaceTexture extends IfcLineObject { + constructor(expressID, RepeatS, RepeatT, TextureType, TextureTransform) { + super(expressID); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.TextureType = TextureType; + this.TextureTransform = TextureTransform; + this.type = 626085974; + } + } + IFC2X32.IfcSurfaceTexture = IfcSurfaceTexture; + class IfcSymbolStyle extends IfcPresentationStyle { + constructor(expressID, Name, StyleOfSymbol) { + super(expressID, Name); + this.Name = Name; + this.StyleOfSymbol = StyleOfSymbol; + this.type = 1290481447; + } + } + IFC2X32.IfcSymbolStyle = IfcSymbolStyle; + class IfcTable extends IfcLineObject { + constructor(expressID, Name, Rows) { + super(expressID); + this.Name = Name; + this.Rows = Rows; + this.type = 985171141; + } + } + IFC2X32.IfcTable = IfcTable; + class IfcTableRow extends IfcLineObject { + constructor(expressID, RowCells, IsHeading) { + super(expressID); + this.RowCells = RowCells; + this.IsHeading = IsHeading; + this.type = 531007025; + } + } + IFC2X32.IfcTableRow = IfcTableRow; + class IfcTelecomAddress extends IfcAddress { + constructor(expressID, Purpose, Description, UserDefinedPurpose, TelephoneNumbers, FacsimileNumbers, PagerNumber, ElectronicMailAddresses, WWWHomePageURL) { + super(expressID, Purpose, Description, UserDefinedPurpose); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.TelephoneNumbers = TelephoneNumbers; + this.FacsimileNumbers = FacsimileNumbers; + this.PagerNumber = PagerNumber; + this.ElectronicMailAddresses = ElectronicMailAddresses; + this.WWWHomePageURL = WWWHomePageURL; + this.type = 912023232; + } + } + IFC2X32.IfcTelecomAddress = IfcTelecomAddress; + class IfcTextStyle extends IfcPresentationStyle { + constructor(expressID, Name, TextCharacterAppearance, TextStyle, TextFontStyle) { + super(expressID, Name); + this.Name = Name; + this.TextCharacterAppearance = TextCharacterAppearance; + this.TextStyle = TextStyle; + this.TextFontStyle = TextFontStyle; + this.type = 1447204868; + } + } + IFC2X32.IfcTextStyle = IfcTextStyle; + class IfcTextStyleFontModel extends IfcPreDefinedTextFont { + constructor(expressID, Name, FontFamily, FontStyle, FontVariant, FontWeight, FontSize) { + super(expressID, Name); + this.Name = Name; + this.FontFamily = FontFamily; + this.FontStyle = FontStyle; + this.FontVariant = FontVariant; + this.FontWeight = FontWeight; + this.FontSize = FontSize; + this.type = 1983826977; + } + } + IFC2X32.IfcTextStyleFontModel = IfcTextStyleFontModel; + class IfcTextStyleForDefinedFont extends IfcLineObject { + constructor(expressID, Colour, BackgroundColour) { + super(expressID); + this.Colour = Colour; + this.BackgroundColour = BackgroundColour; + this.type = 2636378356; + } + } + IFC2X32.IfcTextStyleForDefinedFont = IfcTextStyleForDefinedFont; + class IfcTextStyleTextModel extends IfcLineObject { + constructor(expressID, TextIndent, TextAlign, TextDecoration, LetterSpacing, WordSpacing, TextTransform, LineHeight) { + super(expressID); + this.TextIndent = TextIndent; + this.TextAlign = TextAlign; + this.TextDecoration = TextDecoration; + this.LetterSpacing = LetterSpacing; + this.WordSpacing = WordSpacing; + this.TextTransform = TextTransform; + this.LineHeight = LineHeight; + this.type = 1640371178; + } + } + IFC2X32.IfcTextStyleTextModel = IfcTextStyleTextModel; + class IfcTextStyleWithBoxCharacteristics extends IfcLineObject { + constructor(expressID, BoxHeight, BoxWidth, BoxSlantAngle, BoxRotateAngle, CharacterSpacing) { + super(expressID); + this.BoxHeight = BoxHeight; + this.BoxWidth = BoxWidth; + this.BoxSlantAngle = BoxSlantAngle; + this.BoxRotateAngle = BoxRotateAngle; + this.CharacterSpacing = CharacterSpacing; + this.type = 1484833681; + } + } + IFC2X32.IfcTextStyleWithBoxCharacteristics = IfcTextStyleWithBoxCharacteristics; + class IfcTextureCoordinate extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 280115917; + } + } + IFC2X32.IfcTextureCoordinate = IfcTextureCoordinate; + class IfcTextureCoordinateGenerator extends IfcTextureCoordinate { + constructor(expressID, Mode, Parameter) { + super(expressID); + this.Mode = Mode; + this.Parameter = Parameter; + this.type = 1742049831; + } + } + IFC2X32.IfcTextureCoordinateGenerator = IfcTextureCoordinateGenerator; + class IfcTextureMap extends IfcTextureCoordinate { + constructor(expressID, TextureMaps) { + super(expressID); + this.TextureMaps = TextureMaps; + this.type = 2552916305; + } + } + IFC2X32.IfcTextureMap = IfcTextureMap; + class IfcTextureVertex extends IfcLineObject { + constructor(expressID, Coordinates) { + super(expressID); + this.Coordinates = Coordinates; + this.type = 1210645708; + } + } + IFC2X32.IfcTextureVertex = IfcTextureVertex; + class IfcThermalMaterialProperties extends IfcMaterialProperties { + constructor(expressID, Material, SpecificHeatCapacity, BoilingPoint, FreezingPoint, ThermalConductivity) { + super(expressID, Material); + this.Material = Material; + this.SpecificHeatCapacity = SpecificHeatCapacity; + this.BoilingPoint = BoilingPoint; + this.FreezingPoint = FreezingPoint; + this.ThermalConductivity = ThermalConductivity; + this.type = 3317419933; + } + } + IFC2X32.IfcThermalMaterialProperties = IfcThermalMaterialProperties; + class IfcTimeSeries extends IfcLineObject { + constructor(expressID, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.type = 3101149627; + } + } + IFC2X32.IfcTimeSeries = IfcTimeSeries; + class IfcTimeSeriesReferenceRelationship extends IfcLineObject { + constructor(expressID, ReferencedTimeSeries, TimeSeriesReferences) { + super(expressID); + this.ReferencedTimeSeries = ReferencedTimeSeries; + this.TimeSeriesReferences = TimeSeriesReferences; + this.type = 1718945513; + } + } + IFC2X32.IfcTimeSeriesReferenceRelationship = IfcTimeSeriesReferenceRelationship; + class IfcTimeSeriesValue extends IfcLineObject { + constructor(expressID, ListValues) { + super(expressID); + this.ListValues = ListValues; + this.type = 581633288; + } + } + IFC2X32.IfcTimeSeriesValue = IfcTimeSeriesValue; + class IfcTopologicalRepresentationItem extends IfcRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 1377556343; + } + } + IFC2X32.IfcTopologicalRepresentationItem = IfcTopologicalRepresentationItem; + class IfcTopologyRepresentation extends IfcShapeModel { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 1735638870; + } + } + IFC2X32.IfcTopologyRepresentation = IfcTopologyRepresentation; + class IfcUnitAssignment extends IfcLineObject { + constructor(expressID, Units) { + super(expressID); + this.Units = Units; + this.type = 180925521; + } + } + IFC2X32.IfcUnitAssignment = IfcUnitAssignment; + class IfcVertex extends IfcTopologicalRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 2799835756; + } + } + IFC2X32.IfcVertex = IfcVertex; + class IfcVertexBasedTextureMap extends IfcLineObject { + constructor(expressID, TextureVertices, TexturePoints) { + super(expressID); + this.TextureVertices = TextureVertices; + this.TexturePoints = TexturePoints; + this.type = 3304826586; + } + } + IFC2X32.IfcVertexBasedTextureMap = IfcVertexBasedTextureMap; + class IfcVertexPoint extends IfcVertex { + constructor(expressID, VertexGeometry) { + super(expressID); + this.VertexGeometry = VertexGeometry; + this.type = 1907098498; + } + } + IFC2X32.IfcVertexPoint = IfcVertexPoint; + class IfcVirtualGridIntersection extends IfcLineObject { + constructor(expressID, IntersectingAxes, OffsetDistances) { + super(expressID); + this.IntersectingAxes = IntersectingAxes; + this.OffsetDistances = OffsetDistances; + this.type = 891718957; + } + } + IFC2X32.IfcVirtualGridIntersection = IfcVirtualGridIntersection; + class IfcWaterProperties extends IfcMaterialProperties { + constructor(expressID, Material, IsPotable, Hardness, AlkalinityConcentration, AcidityConcentration, ImpuritiesContent, PHLevel, DissolvedSolidsContent) { + super(expressID, Material); + this.Material = Material; + this.IsPotable = IsPotable; + this.Hardness = Hardness; + this.AlkalinityConcentration = AlkalinityConcentration; + this.AcidityConcentration = AcidityConcentration; + this.ImpuritiesContent = ImpuritiesContent; + this.PHLevel = PHLevel; + this.DissolvedSolidsContent = DissolvedSolidsContent; + this.type = 1065908215; + } + } + IFC2X32.IfcWaterProperties = IfcWaterProperties; + class IfcAnnotationOccurrence extends IfcStyledItem { + constructor(expressID, Item, Styles, Name) { + super(expressID, Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 2442683028; + } + } + IFC2X32.IfcAnnotationOccurrence = IfcAnnotationOccurrence; + class IfcAnnotationSurfaceOccurrence extends IfcAnnotationOccurrence { + constructor(expressID, Item, Styles, Name) { + super(expressID, Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 962685235; + } + } + IFC2X32.IfcAnnotationSurfaceOccurrence = IfcAnnotationSurfaceOccurrence; + class IfcAnnotationSymbolOccurrence extends IfcAnnotationOccurrence { + constructor(expressID, Item, Styles, Name) { + super(expressID, Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 3612888222; + } + } + IFC2X32.IfcAnnotationSymbolOccurrence = IfcAnnotationSymbolOccurrence; + class IfcAnnotationTextOccurrence extends IfcAnnotationOccurrence { + constructor(expressID, Item, Styles, Name) { + super(expressID, Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 2297822566; + } + } + IFC2X32.IfcAnnotationTextOccurrence = IfcAnnotationTextOccurrence; + class IfcArbitraryClosedProfileDef extends IfcProfileDef { + constructor(expressID, ProfileType, ProfileName, OuterCurve) { + super(expressID, ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.OuterCurve = OuterCurve; + this.type = 3798115385; + } + } + IFC2X32.IfcArbitraryClosedProfileDef = IfcArbitraryClosedProfileDef; + class IfcArbitraryOpenProfileDef extends IfcProfileDef { + constructor(expressID, ProfileType, ProfileName, Curve) { + super(expressID, ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Curve = Curve; + this.type = 1310608509; + } + } + IFC2X32.IfcArbitraryOpenProfileDef = IfcArbitraryOpenProfileDef; + class IfcArbitraryProfileDefWithVoids extends IfcArbitraryClosedProfileDef { + constructor(expressID, ProfileType, ProfileName, OuterCurve, InnerCurves) { + super(expressID, ProfileType, ProfileName, OuterCurve); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.OuterCurve = OuterCurve; + this.InnerCurves = InnerCurves; + this.type = 2705031697; + } + } + IFC2X32.IfcArbitraryProfileDefWithVoids = IfcArbitraryProfileDefWithVoids; + class IfcBlobTexture extends IfcSurfaceTexture { + constructor(expressID, RepeatS, RepeatT, TextureType, TextureTransform, RasterFormat, RasterCode) { + super(expressID, RepeatS, RepeatT, TextureType, TextureTransform); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.TextureType = TextureType; + this.TextureTransform = TextureTransform; + this.RasterFormat = RasterFormat; + this.RasterCode = RasterCode; + this.type = 616511568; + } + } + IFC2X32.IfcBlobTexture = IfcBlobTexture; + class IfcCenterLineProfileDef extends IfcArbitraryOpenProfileDef { + constructor(expressID, ProfileType, ProfileName, Curve, Thickness) { + super(expressID, ProfileType, ProfileName, Curve); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Curve = Curve; + this.Thickness = Thickness; + this.type = 3150382593; + } + } + IFC2X32.IfcCenterLineProfileDef = IfcCenterLineProfileDef; + class IfcClassificationReference extends IfcExternalReference { + constructor(expressID, Location, ItemReference, Name, ReferencedSource) { + super(expressID, Location, ItemReference, Name); + this.Location = Location; + this.ItemReference = ItemReference; + this.Name = Name; + this.ReferencedSource = ReferencedSource; + this.type = 647927063; + } + } + IFC2X32.IfcClassificationReference = IfcClassificationReference; + class IfcColourRgb extends IfcColourSpecification { + constructor(expressID, Name, Red, Green, Blue) { + super(expressID, Name); + this.Name = Name; + this.Red = Red; + this.Green = Green; + this.Blue = Blue; + this.type = 776857604; + } + } + IFC2X32.IfcColourRgb = IfcColourRgb; + class IfcComplexProperty extends IfcProperty { + constructor(expressID, Name, Description, UsageName, HasProperties) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.UsageName = UsageName; + this.HasProperties = HasProperties; + this.type = 2542286263; + } + } + IFC2X32.IfcComplexProperty = IfcComplexProperty; + class IfcCompositeProfileDef extends IfcProfileDef { + constructor(expressID, ProfileType, ProfileName, Profiles, Label) { + super(expressID, ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Profiles = Profiles; + this.Label = Label; + this.type = 1485152156; + } + } + IFC2X32.IfcCompositeProfileDef = IfcCompositeProfileDef; + class IfcConnectedFaceSet extends IfcTopologicalRepresentationItem { + constructor(expressID, CfsFaces) { + super(expressID); + this.CfsFaces = CfsFaces; + this.type = 370225590; + } + } + IFC2X32.IfcConnectedFaceSet = IfcConnectedFaceSet; + class IfcConnectionCurveGeometry extends IfcConnectionGeometry { + constructor(expressID, CurveOnRelatingElement, CurveOnRelatedElement) { + super(expressID); + this.CurveOnRelatingElement = CurveOnRelatingElement; + this.CurveOnRelatedElement = CurveOnRelatedElement; + this.type = 1981873012; + } + } + IFC2X32.IfcConnectionCurveGeometry = IfcConnectionCurveGeometry; + class IfcConnectionPointEccentricity extends IfcConnectionPointGeometry { + constructor(expressID, PointOnRelatingElement, PointOnRelatedElement, EccentricityInX, EccentricityInY, EccentricityInZ) { + super(expressID, PointOnRelatingElement, PointOnRelatedElement); + this.PointOnRelatingElement = PointOnRelatingElement; + this.PointOnRelatedElement = PointOnRelatedElement; + this.EccentricityInX = EccentricityInX; + this.EccentricityInY = EccentricityInY; + this.EccentricityInZ = EccentricityInZ; + this.type = 45288368; + } + } + IFC2X32.IfcConnectionPointEccentricity = IfcConnectionPointEccentricity; + class IfcContextDependentUnit extends IfcNamedUnit { + constructor(expressID, Dimensions, UnitType, Name) { + super(expressID, Dimensions, UnitType); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Name = Name; + this.type = 3050246964; + } + } + IFC2X32.IfcContextDependentUnit = IfcContextDependentUnit; + class IfcConversionBasedUnit extends IfcNamedUnit { + constructor(expressID, Dimensions, UnitType, Name, ConversionFactor) { + super(expressID, Dimensions, UnitType); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Name = Name; + this.ConversionFactor = ConversionFactor; + this.type = 2889183280; + } + } + IFC2X32.IfcConversionBasedUnit = IfcConversionBasedUnit; + class IfcCurveStyle extends IfcPresentationStyle { + constructor(expressID, Name, CurveFont, CurveWidth, CurveColour) { + super(expressID, Name); + this.Name = Name; + this.CurveFont = CurveFont; + this.CurveWidth = CurveWidth; + this.CurveColour = CurveColour; + this.type = 3800577675; + } + } + IFC2X32.IfcCurveStyle = IfcCurveStyle; + class IfcDerivedProfileDef extends IfcProfileDef { + constructor(expressID, ProfileType, ProfileName, ParentProfile, Operator, Label) { + super(expressID, ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.ParentProfile = ParentProfile; + this.Operator = Operator; + this.Label = Label; + this.type = 3632507154; + } + } + IFC2X32.IfcDerivedProfileDef = IfcDerivedProfileDef; + class IfcDimensionCalloutRelationship extends IfcDraughtingCalloutRelationship { + constructor(expressID, Name, Description, RelatingDraughtingCallout, RelatedDraughtingCallout) { + super(expressID, Name, Description, RelatingDraughtingCallout, RelatedDraughtingCallout); + this.Name = Name; + this.Description = Description; + this.RelatingDraughtingCallout = RelatingDraughtingCallout; + this.RelatedDraughtingCallout = RelatedDraughtingCallout; + this.type = 2273265877; + } + } + IFC2X32.IfcDimensionCalloutRelationship = IfcDimensionCalloutRelationship; + class IfcDimensionPair extends IfcDraughtingCalloutRelationship { + constructor(expressID, Name, Description, RelatingDraughtingCallout, RelatedDraughtingCallout) { + super(expressID, Name, Description, RelatingDraughtingCallout, RelatedDraughtingCallout); + this.Name = Name; + this.Description = Description; + this.RelatingDraughtingCallout = RelatingDraughtingCallout; + this.RelatedDraughtingCallout = RelatedDraughtingCallout; + this.type = 1694125774; + } + } + IFC2X32.IfcDimensionPair = IfcDimensionPair; + class IfcDocumentReference extends IfcExternalReference { + constructor(expressID, Location, ItemReference, Name) { + super(expressID, Location, ItemReference, Name); + this.Location = Location; + this.ItemReference = ItemReference; + this.Name = Name; + this.type = 3732053477; + } + } + IFC2X32.IfcDocumentReference = IfcDocumentReference; + class IfcDraughtingPreDefinedTextFont extends IfcPreDefinedTextFont { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 4170525392; + } + } + IFC2X32.IfcDraughtingPreDefinedTextFont = IfcDraughtingPreDefinedTextFont; + class IfcEdge extends IfcTopologicalRepresentationItem { + constructor(expressID, EdgeStart, EdgeEnd) { + super(expressID); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.type = 3900360178; + } + } + IFC2X32.IfcEdge = IfcEdge; + class IfcEdgeCurve extends IfcEdge { + constructor(expressID, EdgeStart, EdgeEnd, EdgeGeometry, SameSense) { + super(expressID, EdgeStart, EdgeEnd); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.EdgeGeometry = EdgeGeometry; + this.SameSense = SameSense; + this.type = 476780140; + } + } + IFC2X32.IfcEdgeCurve = IfcEdgeCurve; + class IfcExtendedMaterialProperties extends IfcMaterialProperties { + constructor(expressID, Material, ExtendedProperties, Description, Name) { + super(expressID, Material); + this.Material = Material; + this.ExtendedProperties = ExtendedProperties; + this.Description = Description; + this.Name = Name; + this.type = 1860660968; + } + } + IFC2X32.IfcExtendedMaterialProperties = IfcExtendedMaterialProperties; + class IfcFace extends IfcTopologicalRepresentationItem { + constructor(expressID, Bounds) { + super(expressID); + this.Bounds = Bounds; + this.type = 2556980723; + } + } + IFC2X32.IfcFace = IfcFace; + class IfcFaceBound extends IfcTopologicalRepresentationItem { + constructor(expressID, Bound, Orientation) { + super(expressID); + this.Bound = Bound; + this.Orientation = Orientation; + this.type = 1809719519; + } + } + IFC2X32.IfcFaceBound = IfcFaceBound; + class IfcFaceOuterBound extends IfcFaceBound { + constructor(expressID, Bound, Orientation) { + super(expressID, Bound, Orientation); + this.Bound = Bound; + this.Orientation = Orientation; + this.type = 803316827; + } + } + IFC2X32.IfcFaceOuterBound = IfcFaceOuterBound; + class IfcFaceSurface extends IfcFace { + constructor(expressID, Bounds, FaceSurface, SameSense) { + super(expressID, Bounds); + this.Bounds = Bounds; + this.FaceSurface = FaceSurface; + this.SameSense = SameSense; + this.type = 3008276851; + } + } + IFC2X32.IfcFaceSurface = IfcFaceSurface; + class IfcFailureConnectionCondition extends IfcStructuralConnectionCondition { + constructor(expressID, Name, TensionFailureX, TensionFailureY, TensionFailureZ, CompressionFailureX, CompressionFailureY, CompressionFailureZ) { + super(expressID, Name); + this.Name = Name; + this.TensionFailureX = TensionFailureX; + this.TensionFailureY = TensionFailureY; + this.TensionFailureZ = TensionFailureZ; + this.CompressionFailureX = CompressionFailureX; + this.CompressionFailureY = CompressionFailureY; + this.CompressionFailureZ = CompressionFailureZ; + this.type = 4219587988; + } + } + IFC2X32.IfcFailureConnectionCondition = IfcFailureConnectionCondition; + class IfcFillAreaStyle extends IfcPresentationStyle { + constructor(expressID, Name, FillStyles) { + super(expressID, Name); + this.Name = Name; + this.FillStyles = FillStyles; + this.type = 738692330; + } + } + IFC2X32.IfcFillAreaStyle = IfcFillAreaStyle; + class IfcFuelProperties extends IfcMaterialProperties { + constructor(expressID, Material, CombustionTemperature, CarbonContent, LowerHeatingValue, HigherHeatingValue) { + super(expressID, Material); + this.Material = Material; + this.CombustionTemperature = CombustionTemperature; + this.CarbonContent = CarbonContent; + this.LowerHeatingValue = LowerHeatingValue; + this.HigherHeatingValue = HigherHeatingValue; + this.type = 3857492461; + } + } + IFC2X32.IfcFuelProperties = IfcFuelProperties; + class IfcGeneralMaterialProperties extends IfcMaterialProperties { + constructor(expressID, Material, MolecularWeight, Porosity, MassDensity) { + super(expressID, Material); + this.Material = Material; + this.MolecularWeight = MolecularWeight; + this.Porosity = Porosity; + this.MassDensity = MassDensity; + this.type = 803998398; + } + } + IFC2X32.IfcGeneralMaterialProperties = IfcGeneralMaterialProperties; + class IfcGeneralProfileProperties extends IfcProfileProperties { + constructor(expressID, ProfileName, ProfileDefinition, PhysicalWeight, Perimeter, MinimumPlateThickness, MaximumPlateThickness, CrossSectionArea) { + super(expressID, ProfileName, ProfileDefinition); + this.ProfileName = ProfileName; + this.ProfileDefinition = ProfileDefinition; + this.PhysicalWeight = PhysicalWeight; + this.Perimeter = Perimeter; + this.MinimumPlateThickness = MinimumPlateThickness; + this.MaximumPlateThickness = MaximumPlateThickness; + this.CrossSectionArea = CrossSectionArea; + this.type = 1446786286; + } + } + IFC2X32.IfcGeneralProfileProperties = IfcGeneralProfileProperties; + class IfcGeometricRepresentationContext extends IfcRepresentationContext { + constructor(expressID, ContextIdentifier, ContextType, CoordinateSpaceDimension, Precision, WorldCoordinateSystem, TrueNorth) { + super(expressID, ContextIdentifier, ContextType); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.CoordinateSpaceDimension = CoordinateSpaceDimension; + this.Precision = Precision; + this.WorldCoordinateSystem = WorldCoordinateSystem; + this.TrueNorth = TrueNorth; + this.type = 3448662350; + } + } + IFC2X32.IfcGeometricRepresentationContext = IfcGeometricRepresentationContext; + class IfcGeometricRepresentationItem extends IfcRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 2453401579; + } + } + IFC2X32.IfcGeometricRepresentationItem = IfcGeometricRepresentationItem; + class IfcGeometricRepresentationSubContext extends IfcGeometricRepresentationContext { + constructor(expressID, ContextIdentifier, ContextType, ParentContext, TargetScale, TargetView, UserDefinedTargetView) { + super(expressID, ContextIdentifier, ContextType, new IfcDimensionCount(0), null, new Handle(0), null); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.ParentContext = ParentContext; + this.TargetScale = TargetScale; + this.TargetView = TargetView; + this.UserDefinedTargetView = UserDefinedTargetView; + this.type = 4142052618; + } + } + IFC2X32.IfcGeometricRepresentationSubContext = IfcGeometricRepresentationSubContext; + class IfcGeometricSet extends IfcGeometricRepresentationItem { + constructor(expressID, Elements) { + super(expressID); + this.Elements = Elements; + this.type = 3590301190; + } + } + IFC2X32.IfcGeometricSet = IfcGeometricSet; + class IfcGridPlacement extends IfcObjectPlacement { + constructor(expressID, PlacementLocation, PlacementRefDirection) { + super(expressID); + this.PlacementLocation = PlacementLocation; + this.PlacementRefDirection = PlacementRefDirection; + this.type = 178086475; + } + } + IFC2X32.IfcGridPlacement = IfcGridPlacement; + class IfcHalfSpaceSolid extends IfcGeometricRepresentationItem { + constructor(expressID, BaseSurface, AgreementFlag) { + super(expressID); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.type = 812098782; + } + } + IFC2X32.IfcHalfSpaceSolid = IfcHalfSpaceSolid; + class IfcHygroscopicMaterialProperties extends IfcMaterialProperties { + constructor(expressID, Material, UpperVaporResistanceFactor, LowerVaporResistanceFactor, IsothermalMoistureCapacity, VaporPermeability, MoistureDiffusivity) { + super(expressID, Material); + this.Material = Material; + this.UpperVaporResistanceFactor = UpperVaporResistanceFactor; + this.LowerVaporResistanceFactor = LowerVaporResistanceFactor; + this.IsothermalMoistureCapacity = IsothermalMoistureCapacity; + this.VaporPermeability = VaporPermeability; + this.MoistureDiffusivity = MoistureDiffusivity; + this.type = 2445078500; + } + } + IFC2X32.IfcHygroscopicMaterialProperties = IfcHygroscopicMaterialProperties; + class IfcImageTexture extends IfcSurfaceTexture { + constructor(expressID, RepeatS, RepeatT, TextureType, TextureTransform, UrlReference) { + super(expressID, RepeatS, RepeatT, TextureType, TextureTransform); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.TextureType = TextureType; + this.TextureTransform = TextureTransform; + this.UrlReference = UrlReference; + this.type = 3905492369; + } + } + IFC2X32.IfcImageTexture = IfcImageTexture; + class IfcIrregularTimeSeries extends IfcTimeSeries { + constructor(expressID, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, Values) { + super(expressID, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.Values = Values; + this.type = 3741457305; + } + } + IFC2X32.IfcIrregularTimeSeries = IfcIrregularTimeSeries; + class IfcLightSource extends IfcGeometricRepresentationItem { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity) { + super(expressID); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.type = 1402838566; + } + } + IFC2X32.IfcLightSource = IfcLightSource; + class IfcLightSourceAmbient extends IfcLightSource { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity) { + super(expressID, Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.type = 125510826; + } + } + IFC2X32.IfcLightSourceAmbient = IfcLightSourceAmbient; + class IfcLightSourceDirectional extends IfcLightSource { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity, Orientation) { + super(expressID, Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Orientation = Orientation; + this.type = 2604431987; + } + } + IFC2X32.IfcLightSourceDirectional = IfcLightSourceDirectional; + class IfcLightSourceGoniometric extends IfcLightSource { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity, Position, ColourAppearance, ColourTemperature, LuminousFlux, LightEmissionSource, LightDistributionDataSource) { + super(expressID, Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.ColourAppearance = ColourAppearance; + this.ColourTemperature = ColourTemperature; + this.LuminousFlux = LuminousFlux; + this.LightEmissionSource = LightEmissionSource; + this.LightDistributionDataSource = LightDistributionDataSource; + this.type = 4266656042; + } + } + IFC2X32.IfcLightSourceGoniometric = IfcLightSourceGoniometric; + class IfcLightSourcePositional extends IfcLightSource { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation) { + super(expressID, Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.Radius = Radius; + this.ConstantAttenuation = ConstantAttenuation; + this.DistanceAttenuation = DistanceAttenuation; + this.QuadricAttenuation = QuadricAttenuation; + this.type = 1520743889; + } + } + IFC2X32.IfcLightSourcePositional = IfcLightSourcePositional; + class IfcLightSourceSpot extends IfcLightSourcePositional { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation, Orientation, ConcentrationExponent, SpreadAngle, BeamWidthAngle) { + super(expressID, Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.Radius = Radius; + this.ConstantAttenuation = ConstantAttenuation; + this.DistanceAttenuation = DistanceAttenuation; + this.QuadricAttenuation = QuadricAttenuation; + this.Orientation = Orientation; + this.ConcentrationExponent = ConcentrationExponent; + this.SpreadAngle = SpreadAngle; + this.BeamWidthAngle = BeamWidthAngle; + this.type = 3422422726; + } + } + IFC2X32.IfcLightSourceSpot = IfcLightSourceSpot; + class IfcLocalPlacement extends IfcObjectPlacement { + constructor(expressID, PlacementRelTo, RelativePlacement) { + super(expressID); + this.PlacementRelTo = PlacementRelTo; + this.RelativePlacement = RelativePlacement; + this.type = 2624227202; + } + } + IFC2X32.IfcLocalPlacement = IfcLocalPlacement; + class IfcLoop extends IfcTopologicalRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 1008929658; + } + } + IFC2X32.IfcLoop = IfcLoop; + class IfcMappedItem extends IfcRepresentationItem { + constructor(expressID, MappingSource, MappingTarget) { + super(expressID); + this.MappingSource = MappingSource; + this.MappingTarget = MappingTarget; + this.type = 2347385850; + } + } + IFC2X32.IfcMappedItem = IfcMappedItem; + class IfcMaterialDefinitionRepresentation extends IfcProductRepresentation { + constructor(expressID, Name, Description, Representations, RepresentedMaterial) { + super(expressID, Name, Description, Representations); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.RepresentedMaterial = RepresentedMaterial; + this.type = 2022407955; + } + } + IFC2X32.IfcMaterialDefinitionRepresentation = IfcMaterialDefinitionRepresentation; + class IfcMechanicalConcreteMaterialProperties extends IfcMechanicalMaterialProperties { + constructor(expressID, Material, DynamicViscosity, YoungModulus, ShearModulus, PoissonRatio, ThermalExpansionCoefficient, CompressiveStrength, MaxAggregateSize, AdmixturesDescription, Workability, ProtectivePoreRatio, WaterImpermeability) { + super(expressID, Material, DynamicViscosity, YoungModulus, ShearModulus, PoissonRatio, ThermalExpansionCoefficient); + this.Material = Material; + this.DynamicViscosity = DynamicViscosity; + this.YoungModulus = YoungModulus; + this.ShearModulus = ShearModulus; + this.PoissonRatio = PoissonRatio; + this.ThermalExpansionCoefficient = ThermalExpansionCoefficient; + this.CompressiveStrength = CompressiveStrength; + this.MaxAggregateSize = MaxAggregateSize; + this.AdmixturesDescription = AdmixturesDescription; + this.Workability = Workability; + this.ProtectivePoreRatio = ProtectivePoreRatio; + this.WaterImpermeability = WaterImpermeability; + this.type = 1430189142; + } + } + IFC2X32.IfcMechanicalConcreteMaterialProperties = IfcMechanicalConcreteMaterialProperties; + class IfcObjectDefinition extends IfcRoot { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 219451334; + } + } + IFC2X32.IfcObjectDefinition = IfcObjectDefinition; + class IfcOneDirectionRepeatFactor extends IfcGeometricRepresentationItem { + constructor(expressID, RepeatFactor) { + super(expressID); + this.RepeatFactor = RepeatFactor; + this.type = 2833995503; + } + } + IFC2X32.IfcOneDirectionRepeatFactor = IfcOneDirectionRepeatFactor; + class IfcOpenShell extends IfcConnectedFaceSet { + constructor(expressID, CfsFaces) { + super(expressID, CfsFaces); + this.CfsFaces = CfsFaces; + this.type = 2665983363; + } + } + IFC2X32.IfcOpenShell = IfcOpenShell; + class IfcOrientedEdge extends IfcEdge { + constructor(expressID, EdgeElement, Orientation) { + super(expressID, new Handle(0), new Handle(0)); + this.EdgeElement = EdgeElement; + this.Orientation = Orientation; + this.type = 1029017970; + } + } + IFC2X32.IfcOrientedEdge = IfcOrientedEdge; + class IfcParameterizedProfileDef extends IfcProfileDef { + constructor(expressID, ProfileType, ProfileName, Position) { + super(expressID, ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.type = 2529465313; + } + } + IFC2X32.IfcParameterizedProfileDef = IfcParameterizedProfileDef; + class IfcPath extends IfcTopologicalRepresentationItem { + constructor(expressID, EdgeList) { + super(expressID); + this.EdgeList = EdgeList; + this.type = 2519244187; + } + } + IFC2X32.IfcPath = IfcPath; + class IfcPhysicalComplexQuantity extends IfcPhysicalQuantity { + constructor(expressID, Name, Description, HasQuantities, Discrimination, Quality, Usage) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.HasQuantities = HasQuantities; + this.Discrimination = Discrimination; + this.Quality = Quality; + this.Usage = Usage; + this.type = 3021840470; + } + } + IFC2X32.IfcPhysicalComplexQuantity = IfcPhysicalComplexQuantity; + class IfcPixelTexture extends IfcSurfaceTexture { + constructor(expressID, RepeatS, RepeatT, TextureType, TextureTransform, Width, Height, ColourComponents, Pixel) { + super(expressID, RepeatS, RepeatT, TextureType, TextureTransform); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.TextureType = TextureType; + this.TextureTransform = TextureTransform; + this.Width = Width; + this.Height = Height; + this.ColourComponents = ColourComponents; + this.Pixel = Pixel; + this.type = 597895409; + } + } + IFC2X32.IfcPixelTexture = IfcPixelTexture; + class IfcPlacement extends IfcGeometricRepresentationItem { + constructor(expressID, Location) { + super(expressID); + this.Location = Location; + this.type = 2004835150; + } + } + IFC2X32.IfcPlacement = IfcPlacement; + class IfcPlanarExtent extends IfcGeometricRepresentationItem { + constructor(expressID, SizeInX, SizeInY) { + super(expressID); + this.SizeInX = SizeInX; + this.SizeInY = SizeInY; + this.type = 1663979128; + } + } + IFC2X32.IfcPlanarExtent = IfcPlanarExtent; + class IfcPoint extends IfcGeometricRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 2067069095; + } + } + IFC2X32.IfcPoint = IfcPoint; + class IfcPointOnCurve extends IfcPoint { + constructor(expressID, BasisCurve, PointParameter) { + super(expressID); + this.BasisCurve = BasisCurve; + this.PointParameter = PointParameter; + this.type = 4022376103; + } + } + IFC2X32.IfcPointOnCurve = IfcPointOnCurve; + class IfcPointOnSurface extends IfcPoint { + constructor(expressID, BasisSurface, PointParameterU, PointParameterV) { + super(expressID); + this.BasisSurface = BasisSurface; + this.PointParameterU = PointParameterU; + this.PointParameterV = PointParameterV; + this.type = 1423911732; + } + } + IFC2X32.IfcPointOnSurface = IfcPointOnSurface; + class IfcPolyLoop extends IfcLoop { + constructor(expressID, Polygon) { + super(expressID); + this.Polygon = Polygon; + this.type = 2924175390; + } + } + IFC2X32.IfcPolyLoop = IfcPolyLoop; + class IfcPolygonalBoundedHalfSpace extends IfcHalfSpaceSolid { + constructor(expressID, BaseSurface, AgreementFlag, Position, PolygonalBoundary) { + super(expressID, BaseSurface, AgreementFlag); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.Position = Position; + this.PolygonalBoundary = PolygonalBoundary; + this.type = 2775532180; + } + } + IFC2X32.IfcPolygonalBoundedHalfSpace = IfcPolygonalBoundedHalfSpace; + class IfcPreDefinedColour extends IfcPreDefinedItem { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 759155922; + } + } + IFC2X32.IfcPreDefinedColour = IfcPreDefinedColour; + class IfcPreDefinedCurveFont extends IfcPreDefinedItem { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 2559016684; + } + } + IFC2X32.IfcPreDefinedCurveFont = IfcPreDefinedCurveFont; + class IfcPreDefinedDimensionSymbol extends IfcPreDefinedSymbol { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 433424934; + } + } + IFC2X32.IfcPreDefinedDimensionSymbol = IfcPreDefinedDimensionSymbol; + class IfcPreDefinedPointMarkerSymbol extends IfcPreDefinedSymbol { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 179317114; + } + } + IFC2X32.IfcPreDefinedPointMarkerSymbol = IfcPreDefinedPointMarkerSymbol; + class IfcProductDefinitionShape extends IfcProductRepresentation { + constructor(expressID, Name, Description, Representations) { + super(expressID, Name, Description, Representations); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.type = 673634403; + } + } + IFC2X32.IfcProductDefinitionShape = IfcProductDefinitionShape; + class IfcPropertyBoundedValue extends IfcSimpleProperty { + constructor(expressID, Name, Description, UpperBoundValue, LowerBoundValue, Unit) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.UpperBoundValue = UpperBoundValue; + this.LowerBoundValue = LowerBoundValue; + this.Unit = Unit; + this.type = 871118103; + } + } + IFC2X32.IfcPropertyBoundedValue = IfcPropertyBoundedValue; + class IfcPropertyDefinition extends IfcRoot { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 1680319473; + } + } + IFC2X32.IfcPropertyDefinition = IfcPropertyDefinition; + class IfcPropertyEnumeratedValue extends IfcSimpleProperty { + constructor(expressID, Name, Description, EnumerationValues, EnumerationReference) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.EnumerationValues = EnumerationValues; + this.EnumerationReference = EnumerationReference; + this.type = 4166981789; + } + } + IFC2X32.IfcPropertyEnumeratedValue = IfcPropertyEnumeratedValue; + class IfcPropertyListValue extends IfcSimpleProperty { + constructor(expressID, Name, Description, ListValues, Unit) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.ListValues = ListValues; + this.Unit = Unit; + this.type = 2752243245; + } + } + IFC2X32.IfcPropertyListValue = IfcPropertyListValue; + class IfcPropertyReferenceValue extends IfcSimpleProperty { + constructor(expressID, Name, Description, UsageName, PropertyReference) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.UsageName = UsageName; + this.PropertyReference = PropertyReference; + this.type = 941946838; + } + } + IFC2X32.IfcPropertyReferenceValue = IfcPropertyReferenceValue; + class IfcPropertySetDefinition extends IfcPropertyDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 3357820518; + } + } + IFC2X32.IfcPropertySetDefinition = IfcPropertySetDefinition; + class IfcPropertySingleValue extends IfcSimpleProperty { + constructor(expressID, Name, Description, NominalValue, Unit) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.NominalValue = NominalValue; + this.Unit = Unit; + this.type = 3650150729; + } + } + IFC2X32.IfcPropertySingleValue = IfcPropertySingleValue; + class IfcPropertyTableValue extends IfcSimpleProperty { + constructor(expressID, Name, Description, DefiningValues, DefinedValues, Expression, DefiningUnit, DefinedUnit) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.DefiningValues = DefiningValues; + this.DefinedValues = DefinedValues; + this.Expression = Expression; + this.DefiningUnit = DefiningUnit; + this.DefinedUnit = DefinedUnit; + this.type = 110355661; + } + } + IFC2X32.IfcPropertyTableValue = IfcPropertyTableValue; + class IfcRectangleProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, XDim, YDim) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.type = 3615266464; + } + } + IFC2X32.IfcRectangleProfileDef = IfcRectangleProfileDef; + class IfcRegularTimeSeries extends IfcTimeSeries { + constructor(expressID, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, TimeStep, Values) { + super(expressID, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.TimeStep = TimeStep; + this.Values = Values; + this.type = 3413951693; + } + } + IFC2X32.IfcRegularTimeSeries = IfcRegularTimeSeries; + class IfcReinforcementDefinitionProperties extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, DefinitionType, ReinforcementSectionDefinitions) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.DefinitionType = DefinitionType; + this.ReinforcementSectionDefinitions = ReinforcementSectionDefinitions; + this.type = 3765753017; + } + } + IFC2X32.IfcReinforcementDefinitionProperties = IfcReinforcementDefinitionProperties; + class IfcRelationship extends IfcRoot { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 478536968; + } + } + IFC2X32.IfcRelationship = IfcRelationship; + class IfcRoundedRectangleProfileDef extends IfcRectangleProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, XDim, YDim, RoundingRadius) { + super(expressID, ProfileType, ProfileName, Position, XDim, YDim); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.RoundingRadius = RoundingRadius; + this.type = 2778083089; + } + } + IFC2X32.IfcRoundedRectangleProfileDef = IfcRoundedRectangleProfileDef; + class IfcSectionedSpine extends IfcGeometricRepresentationItem { + constructor(expressID, SpineCurve, CrossSections, CrossSectionPositions) { + super(expressID); + this.SpineCurve = SpineCurve; + this.CrossSections = CrossSections; + this.CrossSectionPositions = CrossSectionPositions; + this.type = 1509187699; + } + } + IFC2X32.IfcSectionedSpine = IfcSectionedSpine; + class IfcServiceLifeFactor extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, PredefinedType, UpperValue, MostUsedValue, LowerValue) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.PredefinedType = PredefinedType; + this.UpperValue = UpperValue; + this.MostUsedValue = MostUsedValue; + this.LowerValue = LowerValue; + this.type = 2411513650; + } + } + IFC2X32.IfcServiceLifeFactor = IfcServiceLifeFactor; + class IfcShellBasedSurfaceModel extends IfcGeometricRepresentationItem { + constructor(expressID, SbsmBoundary) { + super(expressID); + this.SbsmBoundary = SbsmBoundary; + this.type = 4124623270; + } + } + IFC2X32.IfcShellBasedSurfaceModel = IfcShellBasedSurfaceModel; + class IfcSlippageConnectionCondition extends IfcStructuralConnectionCondition { + constructor(expressID, Name, SlippageX, SlippageY, SlippageZ) { + super(expressID, Name); + this.Name = Name; + this.SlippageX = SlippageX; + this.SlippageY = SlippageY; + this.SlippageZ = SlippageZ; + this.type = 2609359061; + } + } + IFC2X32.IfcSlippageConnectionCondition = IfcSlippageConnectionCondition; + class IfcSolidModel extends IfcGeometricRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 723233188; + } + } + IFC2X32.IfcSolidModel = IfcSolidModel; + class IfcSoundProperties extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, IsAttenuating, SoundScale, SoundValues) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.IsAttenuating = IsAttenuating; + this.SoundScale = SoundScale; + this.SoundValues = SoundValues; + this.type = 2485662743; + } + } + IFC2X32.IfcSoundProperties = IfcSoundProperties; + class IfcSoundValue extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, SoundLevelTimeSeries, Frequency, SoundLevelSingleValue) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.SoundLevelTimeSeries = SoundLevelTimeSeries; + this.Frequency = Frequency; + this.SoundLevelSingleValue = SoundLevelSingleValue; + this.type = 1202362311; + } + } + IFC2X32.IfcSoundValue = IfcSoundValue; + class IfcSpaceThermalLoadProperties extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableValueRatio, ThermalLoadSource, PropertySource, SourceDescription, MaximumValue, MinimumValue, ThermalLoadTimeSeriesValues, UserDefinedThermalLoadSource, UserDefinedPropertySource, ThermalLoadType) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableValueRatio = ApplicableValueRatio; + this.ThermalLoadSource = ThermalLoadSource; + this.PropertySource = PropertySource; + this.SourceDescription = SourceDescription; + this.MaximumValue = MaximumValue; + this.MinimumValue = MinimumValue; + this.ThermalLoadTimeSeriesValues = ThermalLoadTimeSeriesValues; + this.UserDefinedThermalLoadSource = UserDefinedThermalLoadSource; + this.UserDefinedPropertySource = UserDefinedPropertySource; + this.ThermalLoadType = ThermalLoadType; + this.type = 390701378; + } + } + IFC2X32.IfcSpaceThermalLoadProperties = IfcSpaceThermalLoadProperties; + class IfcStructuralLoadLinearForce extends IfcStructuralLoadStatic { + constructor(expressID, Name, LinearForceX, LinearForceY, LinearForceZ, LinearMomentX, LinearMomentY, LinearMomentZ) { + super(expressID, Name); + this.Name = Name; + this.LinearForceX = LinearForceX; + this.LinearForceY = LinearForceY; + this.LinearForceZ = LinearForceZ; + this.LinearMomentX = LinearMomentX; + this.LinearMomentY = LinearMomentY; + this.LinearMomentZ = LinearMomentZ; + this.type = 1595516126; + } + } + IFC2X32.IfcStructuralLoadLinearForce = IfcStructuralLoadLinearForce; + class IfcStructuralLoadPlanarForce extends IfcStructuralLoadStatic { + constructor(expressID, Name, PlanarForceX, PlanarForceY, PlanarForceZ) { + super(expressID, Name); + this.Name = Name; + this.PlanarForceX = PlanarForceX; + this.PlanarForceY = PlanarForceY; + this.PlanarForceZ = PlanarForceZ; + this.type = 2668620305; + } + } + IFC2X32.IfcStructuralLoadPlanarForce = IfcStructuralLoadPlanarForce; + class IfcStructuralLoadSingleDisplacement extends IfcStructuralLoadStatic { + constructor(expressID, Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ) { + super(expressID, Name); + this.Name = Name; + this.DisplacementX = DisplacementX; + this.DisplacementY = DisplacementY; + this.DisplacementZ = DisplacementZ; + this.RotationalDisplacementRX = RotationalDisplacementRX; + this.RotationalDisplacementRY = RotationalDisplacementRY; + this.RotationalDisplacementRZ = RotationalDisplacementRZ; + this.type = 2473145415; + } + } + IFC2X32.IfcStructuralLoadSingleDisplacement = IfcStructuralLoadSingleDisplacement; + class IfcStructuralLoadSingleDisplacementDistortion extends IfcStructuralLoadSingleDisplacement { + constructor(expressID, Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ, Distortion) { + super(expressID, Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ); + this.Name = Name; + this.DisplacementX = DisplacementX; + this.DisplacementY = DisplacementY; + this.DisplacementZ = DisplacementZ; + this.RotationalDisplacementRX = RotationalDisplacementRX; + this.RotationalDisplacementRY = RotationalDisplacementRY; + this.RotationalDisplacementRZ = RotationalDisplacementRZ; + this.Distortion = Distortion; + this.type = 1973038258; + } + } + IFC2X32.IfcStructuralLoadSingleDisplacementDistortion = IfcStructuralLoadSingleDisplacementDistortion; + class IfcStructuralLoadSingleForce extends IfcStructuralLoadStatic { + constructor(expressID, Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ) { + super(expressID, Name); + this.Name = Name; + this.ForceX = ForceX; + this.ForceY = ForceY; + this.ForceZ = ForceZ; + this.MomentX = MomentX; + this.MomentY = MomentY; + this.MomentZ = MomentZ; + this.type = 1597423693; + } + } + IFC2X32.IfcStructuralLoadSingleForce = IfcStructuralLoadSingleForce; + class IfcStructuralLoadSingleForceWarping extends IfcStructuralLoadSingleForce { + constructor(expressID, Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ, WarpingMoment) { + super(expressID, Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ); + this.Name = Name; + this.ForceX = ForceX; + this.ForceY = ForceY; + this.ForceZ = ForceZ; + this.MomentX = MomentX; + this.MomentY = MomentY; + this.MomentZ = MomentZ; + this.WarpingMoment = WarpingMoment; + this.type = 1190533807; + } + } + IFC2X32.IfcStructuralLoadSingleForceWarping = IfcStructuralLoadSingleForceWarping; + class IfcStructuralProfileProperties extends IfcGeneralProfileProperties { + constructor(expressID, ProfileName, ProfileDefinition, PhysicalWeight, Perimeter, MinimumPlateThickness, MaximumPlateThickness, CrossSectionArea, TorsionalConstantX, MomentOfInertiaYZ, MomentOfInertiaY, MomentOfInertiaZ, WarpingConstant, ShearCentreZ, ShearCentreY, ShearDeformationAreaZ, ShearDeformationAreaY, MaximumSectionModulusY, MinimumSectionModulusY, MaximumSectionModulusZ, MinimumSectionModulusZ, TorsionalSectionModulus, CentreOfGravityInX, CentreOfGravityInY) { + super(expressID, ProfileName, ProfileDefinition, PhysicalWeight, Perimeter, MinimumPlateThickness, MaximumPlateThickness, CrossSectionArea); + this.ProfileName = ProfileName; + this.ProfileDefinition = ProfileDefinition; + this.PhysicalWeight = PhysicalWeight; + this.Perimeter = Perimeter; + this.MinimumPlateThickness = MinimumPlateThickness; + this.MaximumPlateThickness = MaximumPlateThickness; + this.CrossSectionArea = CrossSectionArea; + this.TorsionalConstantX = TorsionalConstantX; + this.MomentOfInertiaYZ = MomentOfInertiaYZ; + this.MomentOfInertiaY = MomentOfInertiaY; + this.MomentOfInertiaZ = MomentOfInertiaZ; + this.WarpingConstant = WarpingConstant; + this.ShearCentreZ = ShearCentreZ; + this.ShearCentreY = ShearCentreY; + this.ShearDeformationAreaZ = ShearDeformationAreaZ; + this.ShearDeformationAreaY = ShearDeformationAreaY; + this.MaximumSectionModulusY = MaximumSectionModulusY; + this.MinimumSectionModulusY = MinimumSectionModulusY; + this.MaximumSectionModulusZ = MaximumSectionModulusZ; + this.MinimumSectionModulusZ = MinimumSectionModulusZ; + this.TorsionalSectionModulus = TorsionalSectionModulus; + this.CentreOfGravityInX = CentreOfGravityInX; + this.CentreOfGravityInY = CentreOfGravityInY; + this.type = 3843319758; + } + } + IFC2X32.IfcStructuralProfileProperties = IfcStructuralProfileProperties; + class IfcStructuralSteelProfileProperties extends IfcStructuralProfileProperties { + constructor(expressID, ProfileName, ProfileDefinition, PhysicalWeight, Perimeter, MinimumPlateThickness, MaximumPlateThickness, CrossSectionArea, TorsionalConstantX, MomentOfInertiaYZ, MomentOfInertiaY, MomentOfInertiaZ, WarpingConstant, ShearCentreZ, ShearCentreY, ShearDeformationAreaZ, ShearDeformationAreaY, MaximumSectionModulusY, MinimumSectionModulusY, MaximumSectionModulusZ, MinimumSectionModulusZ, TorsionalSectionModulus, CentreOfGravityInX, CentreOfGravityInY, ShearAreaZ, ShearAreaY, PlasticShapeFactorY, PlasticShapeFactorZ) { + super(expressID, ProfileName, ProfileDefinition, PhysicalWeight, Perimeter, MinimumPlateThickness, MaximumPlateThickness, CrossSectionArea, TorsionalConstantX, MomentOfInertiaYZ, MomentOfInertiaY, MomentOfInertiaZ, WarpingConstant, ShearCentreZ, ShearCentreY, ShearDeformationAreaZ, ShearDeformationAreaY, MaximumSectionModulusY, MinimumSectionModulusY, MaximumSectionModulusZ, MinimumSectionModulusZ, TorsionalSectionModulus, CentreOfGravityInX, CentreOfGravityInY); + this.ProfileName = ProfileName; + this.ProfileDefinition = ProfileDefinition; + this.PhysicalWeight = PhysicalWeight; + this.Perimeter = Perimeter; + this.MinimumPlateThickness = MinimumPlateThickness; + this.MaximumPlateThickness = MaximumPlateThickness; + this.CrossSectionArea = CrossSectionArea; + this.TorsionalConstantX = TorsionalConstantX; + this.MomentOfInertiaYZ = MomentOfInertiaYZ; + this.MomentOfInertiaY = MomentOfInertiaY; + this.MomentOfInertiaZ = MomentOfInertiaZ; + this.WarpingConstant = WarpingConstant; + this.ShearCentreZ = ShearCentreZ; + this.ShearCentreY = ShearCentreY; + this.ShearDeformationAreaZ = ShearDeformationAreaZ; + this.ShearDeformationAreaY = ShearDeformationAreaY; + this.MaximumSectionModulusY = MaximumSectionModulusY; + this.MinimumSectionModulusY = MinimumSectionModulusY; + this.MaximumSectionModulusZ = MaximumSectionModulusZ; + this.MinimumSectionModulusZ = MinimumSectionModulusZ; + this.TorsionalSectionModulus = TorsionalSectionModulus; + this.CentreOfGravityInX = CentreOfGravityInX; + this.CentreOfGravityInY = CentreOfGravityInY; + this.ShearAreaZ = ShearAreaZ; + this.ShearAreaY = ShearAreaY; + this.PlasticShapeFactorY = PlasticShapeFactorY; + this.PlasticShapeFactorZ = PlasticShapeFactorZ; + this.type = 3653947884; + } + } + IFC2X32.IfcStructuralSteelProfileProperties = IfcStructuralSteelProfileProperties; + class IfcSubedge extends IfcEdge { + constructor(expressID, EdgeStart, EdgeEnd, ParentEdge) { + super(expressID, EdgeStart, EdgeEnd); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.ParentEdge = ParentEdge; + this.type = 2233826070; + } + } + IFC2X32.IfcSubedge = IfcSubedge; + class IfcSurface extends IfcGeometricRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 2513912981; + } + } + IFC2X32.IfcSurface = IfcSurface; + class IfcSurfaceStyleRendering extends IfcSurfaceStyleShading { + constructor(expressID, SurfaceColour, Transparency, DiffuseColour, TransmissionColour, DiffuseTransmissionColour, ReflectionColour, SpecularColour, SpecularHighlight, ReflectanceMethod) { + super(expressID, SurfaceColour); + this.SurfaceColour = SurfaceColour; + this.Transparency = Transparency; + this.DiffuseColour = DiffuseColour; + this.TransmissionColour = TransmissionColour; + this.DiffuseTransmissionColour = DiffuseTransmissionColour; + this.ReflectionColour = ReflectionColour; + this.SpecularColour = SpecularColour; + this.SpecularHighlight = SpecularHighlight; + this.ReflectanceMethod = ReflectanceMethod; + this.type = 1878645084; + } + } + IFC2X32.IfcSurfaceStyleRendering = IfcSurfaceStyleRendering; + class IfcSweptAreaSolid extends IfcSolidModel { + constructor(expressID, SweptArea, Position) { + super(expressID); + this.SweptArea = SweptArea; + this.Position = Position; + this.type = 2247615214; + } + } + IFC2X32.IfcSweptAreaSolid = IfcSweptAreaSolid; + class IfcSweptDiskSolid extends IfcSolidModel { + constructor(expressID, Directrix, Radius, InnerRadius, StartParam, EndParam) { + super(expressID); + this.Directrix = Directrix; + this.Radius = Radius; + this.InnerRadius = InnerRadius; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.type = 1260650574; + } + } + IFC2X32.IfcSweptDiskSolid = IfcSweptDiskSolid; + class IfcSweptSurface extends IfcSurface { + constructor(expressID, SweptCurve, Position) { + super(expressID); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.type = 230924584; + } + } + IFC2X32.IfcSweptSurface = IfcSweptSurface; + class IfcTShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, WebEdgeRadius, WebSlope, FlangeSlope, CentreOfGravityInY) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.FlangeEdgeRadius = FlangeEdgeRadius; + this.WebEdgeRadius = WebEdgeRadius; + this.WebSlope = WebSlope; + this.FlangeSlope = FlangeSlope; + this.CentreOfGravityInY = CentreOfGravityInY; + this.type = 3071757647; + } + } + IFC2X32.IfcTShapeProfileDef = IfcTShapeProfileDef; + class IfcTerminatorSymbol extends IfcAnnotationSymbolOccurrence { + constructor(expressID, Item, Styles, Name, AnnotatedCurve) { + super(expressID, Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.AnnotatedCurve = AnnotatedCurve; + this.type = 3028897424; + } + } + IFC2X32.IfcTerminatorSymbol = IfcTerminatorSymbol; + class IfcTextLiteral extends IfcGeometricRepresentationItem { + constructor(expressID, Literal, Placement, Path) { + super(expressID); + this.Literal = Literal; + this.Placement = Placement; + this.Path = Path; + this.type = 4282788508; + } + } + IFC2X32.IfcTextLiteral = IfcTextLiteral; + class IfcTextLiteralWithExtent extends IfcTextLiteral { + constructor(expressID, Literal, Placement, Path, Extent, BoxAlignment) { + super(expressID, Literal, Placement, Path); + this.Literal = Literal; + this.Placement = Placement; + this.Path = Path; + this.Extent = Extent; + this.BoxAlignment = BoxAlignment; + this.type = 3124975700; + } + } + IFC2X32.IfcTextLiteralWithExtent = IfcTextLiteralWithExtent; + class IfcTrapeziumProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, BottomXDim, TopXDim, YDim, TopXOffset) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.BottomXDim = BottomXDim; + this.TopXDim = TopXDim; + this.YDim = YDim; + this.TopXOffset = TopXOffset; + this.type = 2715220739; + } + } + IFC2X32.IfcTrapeziumProfileDef = IfcTrapeziumProfileDef; + class IfcTwoDirectionRepeatFactor extends IfcOneDirectionRepeatFactor { + constructor(expressID, RepeatFactor, SecondRepeatFactor) { + super(expressID, RepeatFactor); + this.RepeatFactor = RepeatFactor; + this.SecondRepeatFactor = SecondRepeatFactor; + this.type = 1345879162; + } + } + IFC2X32.IfcTwoDirectionRepeatFactor = IfcTwoDirectionRepeatFactor; + class IfcTypeObject extends IfcObjectDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.type = 1628702193; + } + } + IFC2X32.IfcTypeObject = IfcTypeObject; + class IfcTypeProduct extends IfcTypeObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.type = 2347495698; + } + } + IFC2X32.IfcTypeProduct = IfcTypeProduct; + class IfcUShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius, FlangeSlope, CentreOfGravityInX) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.FlangeSlope = FlangeSlope; + this.CentreOfGravityInX = CentreOfGravityInX; + this.type = 427810014; + } + } + IFC2X32.IfcUShapeProfileDef = IfcUShapeProfileDef; + class IfcVector extends IfcGeometricRepresentationItem { + constructor(expressID, Orientation, Magnitude) { + super(expressID); + this.Orientation = Orientation; + this.Magnitude = Magnitude; + this.type = 1417489154; + } + } + IFC2X32.IfcVector = IfcVector; + class IfcVertexLoop extends IfcLoop { + constructor(expressID, LoopVertex) { + super(expressID); + this.LoopVertex = LoopVertex; + this.type = 2759199220; + } + } + IFC2X32.IfcVertexLoop = IfcVertexLoop; + class IfcWindowLiningProperties extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, TransomThickness, MullionThickness, FirstTransomOffset, SecondTransomOffset, FirstMullionOffset, SecondMullionOffset, ShapeAspectStyle) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.LiningDepth = LiningDepth; + this.LiningThickness = LiningThickness; + this.TransomThickness = TransomThickness; + this.MullionThickness = MullionThickness; + this.FirstTransomOffset = FirstTransomOffset; + this.SecondTransomOffset = SecondTransomOffset; + this.FirstMullionOffset = FirstMullionOffset; + this.SecondMullionOffset = SecondMullionOffset; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 336235671; + } + } + IFC2X32.IfcWindowLiningProperties = IfcWindowLiningProperties; + class IfcWindowPanelProperties extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.OperationType = OperationType; + this.PanelPosition = PanelPosition; + this.FrameDepth = FrameDepth; + this.FrameThickness = FrameThickness; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 512836454; + } + } + IFC2X32.IfcWindowPanelProperties = IfcWindowPanelProperties; + class IfcWindowStyle extends IfcTypeProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ConstructionType, OperationType, ParameterTakesPrecedence, Sizeable) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ConstructionType = ConstructionType; + this.OperationType = OperationType; + this.ParameterTakesPrecedence = ParameterTakesPrecedence; + this.Sizeable = Sizeable; + this.type = 1299126871; + } + } + IFC2X32.IfcWindowStyle = IfcWindowStyle; + class IfcZShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.type = 2543172580; + } + } + IFC2X32.IfcZShapeProfileDef = IfcZShapeProfileDef; + class IfcAnnotationCurveOccurrence extends IfcAnnotationOccurrence { + constructor(expressID, Item, Styles, Name) { + super(expressID, Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 3288037868; + } + } + IFC2X32.IfcAnnotationCurveOccurrence = IfcAnnotationCurveOccurrence; + class IfcAnnotationFillArea extends IfcGeometricRepresentationItem { + constructor(expressID, OuterBoundary, InnerBoundaries) { + super(expressID); + this.OuterBoundary = OuterBoundary; + this.InnerBoundaries = InnerBoundaries; + this.type = 669184980; + } + } + IFC2X32.IfcAnnotationFillArea = IfcAnnotationFillArea; + class IfcAnnotationFillAreaOccurrence extends IfcAnnotationOccurrence { + constructor(expressID, Item, Styles, Name, FillStyleTarget, GlobalOrLocal) { + super(expressID, Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.FillStyleTarget = FillStyleTarget; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 2265737646; + } + } + IFC2X32.IfcAnnotationFillAreaOccurrence = IfcAnnotationFillAreaOccurrence; + class IfcAnnotationSurface extends IfcGeometricRepresentationItem { + constructor(expressID, Item, TextureCoordinates) { + super(expressID); + this.Item = Item; + this.TextureCoordinates = TextureCoordinates; + this.type = 1302238472; + } + } + IFC2X32.IfcAnnotationSurface = IfcAnnotationSurface; + class IfcAxis1Placement extends IfcPlacement { + constructor(expressID, Location, Axis) { + super(expressID, Location); + this.Location = Location; + this.Axis = Axis; + this.type = 4261334040; + } + } + IFC2X32.IfcAxis1Placement = IfcAxis1Placement; + class IfcAxis2Placement2D extends IfcPlacement { + constructor(expressID, Location, RefDirection) { + super(expressID, Location); + this.Location = Location; + this.RefDirection = RefDirection; + this.type = 3125803723; + } + } + IFC2X32.IfcAxis2Placement2D = IfcAxis2Placement2D; + class IfcAxis2Placement3D extends IfcPlacement { + constructor(expressID, Location, Axis, RefDirection) { + super(expressID, Location); + this.Location = Location; + this.Axis = Axis; + this.RefDirection = RefDirection; + this.type = 2740243338; + } + } + IFC2X32.IfcAxis2Placement3D = IfcAxis2Placement3D; + class IfcBooleanResult extends IfcGeometricRepresentationItem { + constructor(expressID, Operator, FirstOperand, SecondOperand) { + super(expressID); + this.Operator = Operator; + this.FirstOperand = FirstOperand; + this.SecondOperand = SecondOperand; + this.type = 2736907675; + } + } + IFC2X32.IfcBooleanResult = IfcBooleanResult; + class IfcBoundedSurface extends IfcSurface { + constructor(expressID) { + super(expressID); + this.type = 4182860854; + } + } + IFC2X32.IfcBoundedSurface = IfcBoundedSurface; + class IfcBoundingBox extends IfcGeometricRepresentationItem { + constructor(expressID, Corner, XDim, YDim, ZDim) { + super(expressID); + this.Corner = Corner; + this.XDim = XDim; + this.YDim = YDim; + this.ZDim = ZDim; + this.type = 2581212453; + } + } + IFC2X32.IfcBoundingBox = IfcBoundingBox; + class IfcBoxedHalfSpace extends IfcHalfSpaceSolid { + constructor(expressID, BaseSurface, AgreementFlag, Enclosure) { + super(expressID, BaseSurface, AgreementFlag); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.Enclosure = Enclosure; + this.type = 2713105998; + } + } + IFC2X32.IfcBoxedHalfSpace = IfcBoxedHalfSpace; + class IfcCShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Depth, Width, WallThickness, Girth, InternalFilletRadius, CentreOfGravityInX) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.Width = Width; + this.WallThickness = WallThickness; + this.Girth = Girth; + this.InternalFilletRadius = InternalFilletRadius; + this.CentreOfGravityInX = CentreOfGravityInX; + this.type = 2898889636; + } + } + IFC2X32.IfcCShapeProfileDef = IfcCShapeProfileDef; + class IfcCartesianPoint extends IfcPoint { + constructor(expressID, Coordinates) { + super(expressID); + this.Coordinates = Coordinates; + this.type = 1123145078; + } + } + IFC2X32.IfcCartesianPoint = IfcCartesianPoint; + class IfcCartesianTransformationOperator extends IfcGeometricRepresentationItem { + constructor(expressID, Axis1, Axis2, LocalOrigin, Scale) { + super(expressID); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.type = 59481748; + } + } + IFC2X32.IfcCartesianTransformationOperator = IfcCartesianTransformationOperator; + class IfcCartesianTransformationOperator2D extends IfcCartesianTransformationOperator { + constructor(expressID, Axis1, Axis2, LocalOrigin, Scale) { + super(expressID, Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.type = 3749851601; + } + } + IFC2X32.IfcCartesianTransformationOperator2D = IfcCartesianTransformationOperator2D; + class IfcCartesianTransformationOperator2DnonUniform extends IfcCartesianTransformationOperator2D { + constructor(expressID, Axis1, Axis2, LocalOrigin, Scale, Scale2) { + super(expressID, Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Scale2 = Scale2; + this.type = 3486308946; + } + } + IFC2X32.IfcCartesianTransformationOperator2DnonUniform = IfcCartesianTransformationOperator2DnonUniform; + class IfcCartesianTransformationOperator3D extends IfcCartesianTransformationOperator { + constructor(expressID, Axis1, Axis2, LocalOrigin, Scale, Axis3) { + super(expressID, Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Axis3 = Axis3; + this.type = 3331915920; + } + } + IFC2X32.IfcCartesianTransformationOperator3D = IfcCartesianTransformationOperator3D; + class IfcCartesianTransformationOperator3DnonUniform extends IfcCartesianTransformationOperator3D { + constructor(expressID, Axis1, Axis2, LocalOrigin, Scale, Axis3, Scale2, Scale3) { + super(expressID, Axis1, Axis2, LocalOrigin, Scale, Axis3); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Axis3 = Axis3; + this.Scale2 = Scale2; + this.Scale3 = Scale3; + this.type = 1416205885; + } + } + IFC2X32.IfcCartesianTransformationOperator3DnonUniform = IfcCartesianTransformationOperator3DnonUniform; + class IfcCircleProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Radius) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Radius = Radius; + this.type = 1383045692; + } + } + IFC2X32.IfcCircleProfileDef = IfcCircleProfileDef; + class IfcClosedShell extends IfcConnectedFaceSet { + constructor(expressID, CfsFaces) { + super(expressID, CfsFaces); + this.CfsFaces = CfsFaces; + this.type = 2205249479; + } + } + IFC2X32.IfcClosedShell = IfcClosedShell; + class IfcCompositeCurveSegment extends IfcGeometricRepresentationItem { + constructor(expressID, Transition, SameSense, ParentCurve) { + super(expressID); + this.Transition = Transition; + this.SameSense = SameSense; + this.ParentCurve = ParentCurve; + this.type = 2485617015; + } + } + IFC2X32.IfcCompositeCurveSegment = IfcCompositeCurveSegment; + class IfcCraneRailAShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, OverallHeight, BaseWidth2, Radius, HeadWidth, HeadDepth2, HeadDepth3, WebThickness, BaseWidth4, BaseDepth1, BaseDepth2, BaseDepth3, CentreOfGravityInY) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.OverallHeight = OverallHeight; + this.BaseWidth2 = BaseWidth2; + this.Radius = Radius; + this.HeadWidth = HeadWidth; + this.HeadDepth2 = HeadDepth2; + this.HeadDepth3 = HeadDepth3; + this.WebThickness = WebThickness; + this.BaseWidth4 = BaseWidth4; + this.BaseDepth1 = BaseDepth1; + this.BaseDepth2 = BaseDepth2; + this.BaseDepth3 = BaseDepth3; + this.CentreOfGravityInY = CentreOfGravityInY; + this.type = 4133800736; + } + } + IFC2X32.IfcCraneRailAShapeProfileDef = IfcCraneRailAShapeProfileDef; + class IfcCraneRailFShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, OverallHeight, HeadWidth, Radius, HeadDepth2, HeadDepth3, WebThickness, BaseDepth1, BaseDepth2, CentreOfGravityInY) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.OverallHeight = OverallHeight; + this.HeadWidth = HeadWidth; + this.Radius = Radius; + this.HeadDepth2 = HeadDepth2; + this.HeadDepth3 = HeadDepth3; + this.WebThickness = WebThickness; + this.BaseDepth1 = BaseDepth1; + this.BaseDepth2 = BaseDepth2; + this.CentreOfGravityInY = CentreOfGravityInY; + this.type = 194851669; + } + } + IFC2X32.IfcCraneRailFShapeProfileDef = IfcCraneRailFShapeProfileDef; + class IfcCsgPrimitive3D extends IfcGeometricRepresentationItem { + constructor(expressID, Position) { + super(expressID); + this.Position = Position; + this.type = 2506170314; + } + } + IFC2X32.IfcCsgPrimitive3D = IfcCsgPrimitive3D; + class IfcCsgSolid extends IfcSolidModel { + constructor(expressID, TreeRootExpression) { + super(expressID); + this.TreeRootExpression = TreeRootExpression; + this.type = 2147822146; + } + } + IFC2X32.IfcCsgSolid = IfcCsgSolid; + class IfcCurve extends IfcGeometricRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 2601014836; + } + } + IFC2X32.IfcCurve = IfcCurve; + class IfcCurveBoundedPlane extends IfcBoundedSurface { + constructor(expressID, BasisSurface, OuterBoundary, InnerBoundaries) { + super(expressID); + this.BasisSurface = BasisSurface; + this.OuterBoundary = OuterBoundary; + this.InnerBoundaries = InnerBoundaries; + this.type = 2827736869; + } + } + IFC2X32.IfcCurveBoundedPlane = IfcCurveBoundedPlane; + class IfcDefinedSymbol extends IfcGeometricRepresentationItem { + constructor(expressID, Definition, Target) { + super(expressID); + this.Definition = Definition; + this.Target = Target; + this.type = 693772133; + } + } + IFC2X32.IfcDefinedSymbol = IfcDefinedSymbol; + class IfcDimensionCurve extends IfcAnnotationCurveOccurrence { + constructor(expressID, Item, Styles, Name) { + super(expressID, Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 606661476; + } + } + IFC2X32.IfcDimensionCurve = IfcDimensionCurve; + class IfcDimensionCurveTerminator extends IfcTerminatorSymbol { + constructor(expressID, Item, Styles, Name, AnnotatedCurve, Role) { + super(expressID, Item, Styles, Name, AnnotatedCurve); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.AnnotatedCurve = AnnotatedCurve; + this.Role = Role; + this.type = 4054601972; + } + } + IFC2X32.IfcDimensionCurveTerminator = IfcDimensionCurveTerminator; + class IfcDirection extends IfcGeometricRepresentationItem { + constructor(expressID, DirectionRatios) { + super(expressID); + this.DirectionRatios = DirectionRatios; + this.type = 32440307; + } + } + IFC2X32.IfcDirection = IfcDirection; + class IfcDoorLiningProperties extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, ThresholdDepth, ThresholdThickness, TransomThickness, TransomOffset, LiningOffset, ThresholdOffset, CasingThickness, CasingDepth, ShapeAspectStyle) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.LiningDepth = LiningDepth; + this.LiningThickness = LiningThickness; + this.ThresholdDepth = ThresholdDepth; + this.ThresholdThickness = ThresholdThickness; + this.TransomThickness = TransomThickness; + this.TransomOffset = TransomOffset; + this.LiningOffset = LiningOffset; + this.ThresholdOffset = ThresholdOffset; + this.CasingThickness = CasingThickness; + this.CasingDepth = CasingDepth; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 2963535650; + } + } + IFC2X32.IfcDoorLiningProperties = IfcDoorLiningProperties; + class IfcDoorPanelProperties extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, PanelDepth, PanelOperation, PanelWidth, PanelPosition, ShapeAspectStyle) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.PanelDepth = PanelDepth; + this.PanelOperation = PanelOperation; + this.PanelWidth = PanelWidth; + this.PanelPosition = PanelPosition; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 1714330368; + } + } + IFC2X32.IfcDoorPanelProperties = IfcDoorPanelProperties; + class IfcDoorStyle extends IfcTypeProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, OperationType, ConstructionType, ParameterTakesPrecedence, Sizeable) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.OperationType = OperationType; + this.ConstructionType = ConstructionType; + this.ParameterTakesPrecedence = ParameterTakesPrecedence; + this.Sizeable = Sizeable; + this.type = 526551008; + } + } + IFC2X32.IfcDoorStyle = IfcDoorStyle; + class IfcDraughtingCallout extends IfcGeometricRepresentationItem { + constructor(expressID, Contents) { + super(expressID); + this.Contents = Contents; + this.type = 3073041342; + } + } + IFC2X32.IfcDraughtingCallout = IfcDraughtingCallout; + class IfcDraughtingPreDefinedColour extends IfcPreDefinedColour { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 445594917; + } + } + IFC2X32.IfcDraughtingPreDefinedColour = IfcDraughtingPreDefinedColour; + class IfcDraughtingPreDefinedCurveFont extends IfcPreDefinedCurveFont { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 4006246654; + } + } + IFC2X32.IfcDraughtingPreDefinedCurveFont = IfcDraughtingPreDefinedCurveFont; + class IfcEdgeLoop extends IfcLoop { + constructor(expressID, EdgeList) { + super(expressID); + this.EdgeList = EdgeList; + this.type = 1472233963; + } + } + IFC2X32.IfcEdgeLoop = IfcEdgeLoop; + class IfcElementQuantity extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, MethodOfMeasurement, Quantities) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.MethodOfMeasurement = MethodOfMeasurement; + this.Quantities = Quantities; + this.type = 1883228015; + } + } + IFC2X32.IfcElementQuantity = IfcElementQuantity; + class IfcElementType extends IfcTypeProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 339256511; + } + } + IFC2X32.IfcElementType = IfcElementType; + class IfcElementarySurface extends IfcSurface { + constructor(expressID, Position) { + super(expressID); + this.Position = Position; + this.type = 2777663545; + } + } + IFC2X32.IfcElementarySurface = IfcElementarySurface; + class IfcEllipseProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, SemiAxis1, SemiAxis2) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.SemiAxis1 = SemiAxis1; + this.SemiAxis2 = SemiAxis2; + this.type = 2835456948; + } + } + IFC2X32.IfcEllipseProfileDef = IfcEllipseProfileDef; + class IfcEnergyProperties extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, EnergySequence, UserDefinedEnergySequence) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.EnergySequence = EnergySequence; + this.UserDefinedEnergySequence = UserDefinedEnergySequence; + this.type = 80994333; + } + } + IFC2X32.IfcEnergyProperties = IfcEnergyProperties; + class IfcExtrudedAreaSolid extends IfcSweptAreaSolid { + constructor(expressID, SweptArea, Position, ExtrudedDirection, Depth) { + super(expressID, SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.ExtrudedDirection = ExtrudedDirection; + this.Depth = Depth; + this.type = 477187591; + } + } + IFC2X32.IfcExtrudedAreaSolid = IfcExtrudedAreaSolid; + class IfcFaceBasedSurfaceModel extends IfcGeometricRepresentationItem { + constructor(expressID, FbsmFaces) { + super(expressID); + this.FbsmFaces = FbsmFaces; + this.type = 2047409740; + } + } + IFC2X32.IfcFaceBasedSurfaceModel = IfcFaceBasedSurfaceModel; + class IfcFillAreaStyleHatching extends IfcGeometricRepresentationItem { + constructor(expressID, HatchLineAppearance, StartOfNextHatchLine, PointOfReferenceHatchLine, PatternStart, HatchLineAngle) { + super(expressID); + this.HatchLineAppearance = HatchLineAppearance; + this.StartOfNextHatchLine = StartOfNextHatchLine; + this.PointOfReferenceHatchLine = PointOfReferenceHatchLine; + this.PatternStart = PatternStart; + this.HatchLineAngle = HatchLineAngle; + this.type = 374418227; + } + } + IFC2X32.IfcFillAreaStyleHatching = IfcFillAreaStyleHatching; + class IfcFillAreaStyleTileSymbolWithStyle extends IfcGeometricRepresentationItem { + constructor(expressID, Symbol2) { + super(expressID); + this.Symbol = Symbol2; + this.type = 4203026998; + } + } + IFC2X32.IfcFillAreaStyleTileSymbolWithStyle = IfcFillAreaStyleTileSymbolWithStyle; + class IfcFillAreaStyleTiles extends IfcGeometricRepresentationItem { + constructor(expressID, TilingPattern, Tiles, TilingScale) { + super(expressID); + this.TilingPattern = TilingPattern; + this.Tiles = Tiles; + this.TilingScale = TilingScale; + this.type = 315944413; + } + } + IFC2X32.IfcFillAreaStyleTiles = IfcFillAreaStyleTiles; + class IfcFluidFlowProperties extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, PropertySource, FlowConditionTimeSeries, VelocityTimeSeries, FlowrateTimeSeries, Fluid, PressureTimeSeries, UserDefinedPropertySource, TemperatureSingleValue, WetBulbTemperatureSingleValue, WetBulbTemperatureTimeSeries, TemperatureTimeSeries, FlowrateSingleValue, FlowConditionSingleValue, VelocitySingleValue, PressureSingleValue) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.PropertySource = PropertySource; + this.FlowConditionTimeSeries = FlowConditionTimeSeries; + this.VelocityTimeSeries = VelocityTimeSeries; + this.FlowrateTimeSeries = FlowrateTimeSeries; + this.Fluid = Fluid; + this.PressureTimeSeries = PressureTimeSeries; + this.UserDefinedPropertySource = UserDefinedPropertySource; + this.TemperatureSingleValue = TemperatureSingleValue; + this.WetBulbTemperatureSingleValue = WetBulbTemperatureSingleValue; + this.WetBulbTemperatureTimeSeries = WetBulbTemperatureTimeSeries; + this.TemperatureTimeSeries = TemperatureTimeSeries; + this.FlowrateSingleValue = FlowrateSingleValue; + this.FlowConditionSingleValue = FlowConditionSingleValue; + this.VelocitySingleValue = VelocitySingleValue; + this.PressureSingleValue = PressureSingleValue; + this.type = 3455213021; + } + } + IFC2X32.IfcFluidFlowProperties = IfcFluidFlowProperties; + class IfcFurnishingElementType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 4238390223; + } + } + IFC2X32.IfcFurnishingElementType = IfcFurnishingElementType; + class IfcFurnitureType extends IfcFurnishingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, AssemblyPlace) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.AssemblyPlace = AssemblyPlace; + this.type = 1268542332; + } + } + IFC2X32.IfcFurnitureType = IfcFurnitureType; + class IfcGeometricCurveSet extends IfcGeometricSet { + constructor(expressID, Elements) { + super(expressID, Elements); + this.Elements = Elements; + this.type = 987898635; + } + } + IFC2X32.IfcGeometricCurveSet = IfcGeometricCurveSet; + class IfcIShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.OverallWidth = OverallWidth; + this.OverallDepth = OverallDepth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.type = 1484403080; + } + } + IFC2X32.IfcIShapeProfileDef = IfcIShapeProfileDef; + class IfcLShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Depth, Width, Thickness, FilletRadius, EdgeRadius, LegSlope, CentreOfGravityInX, CentreOfGravityInY) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.Width = Width; + this.Thickness = Thickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.LegSlope = LegSlope; + this.CentreOfGravityInX = CentreOfGravityInX; + this.CentreOfGravityInY = CentreOfGravityInY; + this.type = 572779678; + } + } + IFC2X32.IfcLShapeProfileDef = IfcLShapeProfileDef; + class IfcLine extends IfcCurve { + constructor(expressID, Pnt, Dir) { + super(expressID); + this.Pnt = Pnt; + this.Dir = Dir; + this.type = 1281925730; + } + } + IFC2X32.IfcLine = IfcLine; + class IfcManifoldSolidBrep extends IfcSolidModel { + constructor(expressID, Outer) { + super(expressID); + this.Outer = Outer; + this.type = 1425443689; + } + } + IFC2X32.IfcManifoldSolidBrep = IfcManifoldSolidBrep; + class IfcObject extends IfcObjectDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 3888040117; + } + } + IFC2X32.IfcObject = IfcObject; + class IfcOffsetCurve2D extends IfcCurve { + constructor(expressID, BasisCurve, Distance, SelfIntersect) { + super(expressID); + this.BasisCurve = BasisCurve; + this.Distance = Distance; + this.SelfIntersect = SelfIntersect; + this.type = 3388369263; + } + } + IFC2X32.IfcOffsetCurve2D = IfcOffsetCurve2D; + class IfcOffsetCurve3D extends IfcCurve { + constructor(expressID, BasisCurve, Distance, SelfIntersect, RefDirection) { + super(expressID); + this.BasisCurve = BasisCurve; + this.Distance = Distance; + this.SelfIntersect = SelfIntersect; + this.RefDirection = RefDirection; + this.type = 3505215534; + } + } + IFC2X32.IfcOffsetCurve3D = IfcOffsetCurve3D; + class IfcPermeableCoveringProperties extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.OperationType = OperationType; + this.PanelPosition = PanelPosition; + this.FrameDepth = FrameDepth; + this.FrameThickness = FrameThickness; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 3566463478; + } + } + IFC2X32.IfcPermeableCoveringProperties = IfcPermeableCoveringProperties; + class IfcPlanarBox extends IfcPlanarExtent { + constructor(expressID, SizeInX, SizeInY, Placement) { + super(expressID, SizeInX, SizeInY); + this.SizeInX = SizeInX; + this.SizeInY = SizeInY; + this.Placement = Placement; + this.type = 603570806; + } + } + IFC2X32.IfcPlanarBox = IfcPlanarBox; + class IfcPlane extends IfcElementarySurface { + constructor(expressID, Position) { + super(expressID, Position); + this.Position = Position; + this.type = 220341763; + } + } + IFC2X32.IfcPlane = IfcPlane; + class IfcProcess extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2945172077; + } + } + IFC2X32.IfcProcess = IfcProcess; + class IfcProduct extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 4208778838; + } + } + IFC2X32.IfcProduct = IfcProduct; + class IfcProject extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.Phase = Phase; + this.RepresentationContexts = RepresentationContexts; + this.UnitsInContext = UnitsInContext; + this.type = 103090709; + } + } + IFC2X32.IfcProject = IfcProject; + class IfcProjectionCurve extends IfcAnnotationCurveOccurrence { + constructor(expressID, Item, Styles, Name) { + super(expressID, Item, Styles, Name); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 4194566429; + } + } + IFC2X32.IfcProjectionCurve = IfcProjectionCurve; + class IfcPropertySet extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, HasProperties) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.HasProperties = HasProperties; + this.type = 1451395588; + } + } + IFC2X32.IfcPropertySet = IfcPropertySet; + class IfcProxy extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, ProxyType, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.ProxyType = ProxyType; + this.Tag = Tag; + this.type = 3219374653; + } + } + IFC2X32.IfcProxy = IfcProxy; + class IfcRectangleHollowProfileDef extends IfcRectangleProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, XDim, YDim, WallThickness, InnerFilletRadius, OuterFilletRadius) { + super(expressID, ProfileType, ProfileName, Position, XDim, YDim); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.WallThickness = WallThickness; + this.InnerFilletRadius = InnerFilletRadius; + this.OuterFilletRadius = OuterFilletRadius; + this.type = 2770003689; + } + } + IFC2X32.IfcRectangleHollowProfileDef = IfcRectangleHollowProfileDef; + class IfcRectangularPyramid extends IfcCsgPrimitive3D { + constructor(expressID, Position, XLength, YLength, Height) { + super(expressID, Position); + this.Position = Position; + this.XLength = XLength; + this.YLength = YLength; + this.Height = Height; + this.type = 2798486643; + } + } + IFC2X32.IfcRectangularPyramid = IfcRectangularPyramid; + class IfcRectangularTrimmedSurface extends IfcBoundedSurface { + constructor(expressID, BasisSurface, U1, V1, U2, V2, Usense, Vsense) { + super(expressID); + this.BasisSurface = BasisSurface; + this.U1 = U1; + this.V1 = V1; + this.U2 = U2; + this.V2 = V2; + this.Usense = Usense; + this.Vsense = Vsense; + this.type = 3454111270; + } + } + IFC2X32.IfcRectangularTrimmedSurface = IfcRectangularTrimmedSurface; + class IfcRelAssigns extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.type = 3939117080; + } + } + IFC2X32.IfcRelAssigns = IfcRelAssigns; + class IfcRelAssignsToActor extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingActor = RelatingActor; + this.ActingRole = ActingRole; + this.type = 1683148259; + } + } + IFC2X32.IfcRelAssignsToActor = IfcRelAssignsToActor; + class IfcRelAssignsToControl extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingControl = RelatingControl; + this.type = 2495723537; + } + } + IFC2X32.IfcRelAssignsToControl = IfcRelAssignsToControl; + class IfcRelAssignsToGroup extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingGroup = RelatingGroup; + this.type = 1307041759; + } + } + IFC2X32.IfcRelAssignsToGroup = IfcRelAssignsToGroup; + class IfcRelAssignsToProcess extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProcess, QuantityInProcess) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingProcess = RelatingProcess; + this.QuantityInProcess = QuantityInProcess; + this.type = 4278684876; + } + } + IFC2X32.IfcRelAssignsToProcess = IfcRelAssignsToProcess; + class IfcRelAssignsToProduct extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProduct) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingProduct = RelatingProduct; + this.type = 2857406711; + } + } + IFC2X32.IfcRelAssignsToProduct = IfcRelAssignsToProduct; + class IfcRelAssignsToProjectOrder extends IfcRelAssignsToControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingControl = RelatingControl; + this.type = 3372526763; + } + } + IFC2X32.IfcRelAssignsToProjectOrder = IfcRelAssignsToProjectOrder; + class IfcRelAssignsToResource extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingResource) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingResource = RelatingResource; + this.type = 205026976; + } + } + IFC2X32.IfcRelAssignsToResource = IfcRelAssignsToResource; + class IfcRelAssociates extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.type = 1865459582; + } + } + IFC2X32.IfcRelAssociates = IfcRelAssociates; + class IfcRelAssociatesAppliedValue extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingAppliedValue) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingAppliedValue = RelatingAppliedValue; + this.type = 1327628568; + } + } + IFC2X32.IfcRelAssociatesAppliedValue = IfcRelAssociatesAppliedValue; + class IfcRelAssociatesApproval extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingApproval) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingApproval = RelatingApproval; + this.type = 4095574036; + } + } + IFC2X32.IfcRelAssociatesApproval = IfcRelAssociatesApproval; + class IfcRelAssociatesClassification extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingClassification) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingClassification = RelatingClassification; + this.type = 919958153; + } + } + IFC2X32.IfcRelAssociatesClassification = IfcRelAssociatesClassification; + class IfcRelAssociatesConstraint extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, Intent, RelatingConstraint) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.Intent = Intent; + this.RelatingConstraint = RelatingConstraint; + this.type = 2728634034; + } + } + IFC2X32.IfcRelAssociatesConstraint = IfcRelAssociatesConstraint; + class IfcRelAssociatesDocument extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingDocument) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingDocument = RelatingDocument; + this.type = 982818633; + } + } + IFC2X32.IfcRelAssociatesDocument = IfcRelAssociatesDocument; + class IfcRelAssociatesLibrary extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingLibrary) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingLibrary = RelatingLibrary; + this.type = 3840914261; + } + } + IFC2X32.IfcRelAssociatesLibrary = IfcRelAssociatesLibrary; + class IfcRelAssociatesMaterial extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingMaterial) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingMaterial = RelatingMaterial; + this.type = 2655215786; + } + } + IFC2X32.IfcRelAssociatesMaterial = IfcRelAssociatesMaterial; + class IfcRelAssociatesProfileProperties extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingProfileProperties, ProfileSectionLocation, ProfileOrientation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingProfileProperties = RelatingProfileProperties; + this.ProfileSectionLocation = ProfileSectionLocation; + this.ProfileOrientation = ProfileOrientation; + this.type = 2851387026; + } + } + IFC2X32.IfcRelAssociatesProfileProperties = IfcRelAssociatesProfileProperties; + class IfcRelConnects extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 826625072; + } + } + IFC2X32.IfcRelConnects = IfcRelConnects; + class IfcRelConnectsElements extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.type = 1204542856; + } + } + IFC2X32.IfcRelConnectsElements = IfcRelConnectsElements; + class IfcRelConnectsPathElements extends IfcRelConnectsElements { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RelatingPriorities, RelatedPriorities, RelatedConnectionType, RelatingConnectionType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.RelatingPriorities = RelatingPriorities; + this.RelatedPriorities = RelatedPriorities; + this.RelatedConnectionType = RelatedConnectionType; + this.RelatingConnectionType = RelatingConnectionType; + this.type = 3945020480; + } + } + IFC2X32.IfcRelConnectsPathElements = IfcRelConnectsPathElements; + class IfcRelConnectsPortToElement extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingPort = RelatingPort; + this.RelatedElement = RelatedElement; + this.type = 4201705270; + } + } + IFC2X32.IfcRelConnectsPortToElement = IfcRelConnectsPortToElement; + class IfcRelConnectsPorts extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedPort, RealizingElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingPort = RelatingPort; + this.RelatedPort = RelatedPort; + this.RealizingElement = RealizingElement; + this.type = 3190031847; + } + } + IFC2X32.IfcRelConnectsPorts = IfcRelConnectsPorts; + class IfcRelConnectsStructuralActivity extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedStructuralActivity) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedStructuralActivity = RelatedStructuralActivity; + this.type = 2127690289; + } + } + IFC2X32.IfcRelConnectsStructuralActivity = IfcRelConnectsStructuralActivity; + class IfcRelConnectsStructuralElement extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedStructuralMember) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedStructuralMember = RelatedStructuralMember; + this.type = 3912681535; + } + } + IFC2X32.IfcRelConnectsStructuralElement = IfcRelConnectsStructuralElement; + class IfcRelConnectsStructuralMember extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingStructuralMember = RelatingStructuralMember; + this.RelatedStructuralConnection = RelatedStructuralConnection; + this.AppliedCondition = AppliedCondition; + this.AdditionalConditions = AdditionalConditions; + this.SupportedLength = SupportedLength; + this.ConditionCoordinateSystem = ConditionCoordinateSystem; + this.type = 1638771189; + } + } + IFC2X32.IfcRelConnectsStructuralMember = IfcRelConnectsStructuralMember; + class IfcRelConnectsWithEccentricity extends IfcRelConnectsStructuralMember { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem, ConnectionConstraint) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingStructuralMember = RelatingStructuralMember; + this.RelatedStructuralConnection = RelatedStructuralConnection; + this.AppliedCondition = AppliedCondition; + this.AdditionalConditions = AdditionalConditions; + this.SupportedLength = SupportedLength; + this.ConditionCoordinateSystem = ConditionCoordinateSystem; + this.ConnectionConstraint = ConnectionConstraint; + this.type = 504942748; + } + } + IFC2X32.IfcRelConnectsWithEccentricity = IfcRelConnectsWithEccentricity; + class IfcRelConnectsWithRealizingElements extends IfcRelConnectsElements { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RealizingElements, ConnectionType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.RealizingElements = RealizingElements; + this.ConnectionType = ConnectionType; + this.type = 3678494232; + } + } + IFC2X32.IfcRelConnectsWithRealizingElements = IfcRelConnectsWithRealizingElements; + class IfcRelContainedInSpatialStructure extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedElements = RelatedElements; + this.RelatingStructure = RelatingStructure; + this.type = 3242617779; + } + } + IFC2X32.IfcRelContainedInSpatialStructure = IfcRelContainedInSpatialStructure; + class IfcRelCoversBldgElements extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedCoverings) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingBuildingElement = RelatingBuildingElement; + this.RelatedCoverings = RelatedCoverings; + this.type = 886880790; + } + } + IFC2X32.IfcRelCoversBldgElements = IfcRelCoversBldgElements; + class IfcRelCoversSpaces extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedSpace, RelatedCoverings) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedSpace = RelatedSpace; + this.RelatedCoverings = RelatedCoverings; + this.type = 2802773753; + } + } + IFC2X32.IfcRelCoversSpaces = IfcRelCoversSpaces; + class IfcRelDecomposes extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingObject = RelatingObject; + this.RelatedObjects = RelatedObjects; + this.type = 2551354335; + } + } + IFC2X32.IfcRelDecomposes = IfcRelDecomposes; + class IfcRelDefines extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.type = 693640335; + } + } + IFC2X32.IfcRelDefines = IfcRelDefines; + class IfcRelDefinesByProperties extends IfcRelDefines { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingPropertyDefinition = RelatingPropertyDefinition; + this.type = 4186316022; + } + } + IFC2X32.IfcRelDefinesByProperties = IfcRelDefinesByProperties; + class IfcRelDefinesByType extends IfcRelDefines { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingType = RelatingType; + this.type = 781010003; + } + } + IFC2X32.IfcRelDefinesByType = IfcRelDefinesByType; + class IfcRelFillsElement extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingOpeningElement, RelatedBuildingElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingOpeningElement = RelatingOpeningElement; + this.RelatedBuildingElement = RelatedBuildingElement; + this.type = 3940055652; + } + } + IFC2X32.IfcRelFillsElement = IfcRelFillsElement; + class IfcRelFlowControlElements extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedControlElements, RelatingFlowElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedControlElements = RelatedControlElements; + this.RelatingFlowElement = RelatingFlowElement; + this.type = 279856033; + } + } + IFC2X32.IfcRelFlowControlElements = IfcRelFlowControlElements; + class IfcRelInteractionRequirements extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, DailyInteraction, ImportanceRating, LocationOfInteraction, RelatedSpaceProgram, RelatingSpaceProgram) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.DailyInteraction = DailyInteraction; + this.ImportanceRating = ImportanceRating; + this.LocationOfInteraction = LocationOfInteraction; + this.RelatedSpaceProgram = RelatedSpaceProgram; + this.RelatingSpaceProgram = RelatingSpaceProgram; + this.type = 4189434867; + } + } + IFC2X32.IfcRelInteractionRequirements = IfcRelInteractionRequirements; + class IfcRelNests extends IfcRelDecomposes { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingObject = RelatingObject; + this.RelatedObjects = RelatedObjects; + this.type = 3268803585; + } + } + IFC2X32.IfcRelNests = IfcRelNests; + class IfcRelOccupiesSpaces extends IfcRelAssignsToActor { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingActor = RelatingActor; + this.ActingRole = ActingRole; + this.type = 2051452291; + } + } + IFC2X32.IfcRelOccupiesSpaces = IfcRelOccupiesSpaces; + class IfcRelOverridesProperties extends IfcRelDefinesByProperties { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition, OverridingProperties) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingPropertyDefinition = RelatingPropertyDefinition; + this.OverridingProperties = OverridingProperties; + this.type = 202636808; + } + } + IFC2X32.IfcRelOverridesProperties = IfcRelOverridesProperties; + class IfcRelProjectsElement extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedFeatureElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedFeatureElement = RelatedFeatureElement; + this.type = 750771296; + } + } + IFC2X32.IfcRelProjectsElement = IfcRelProjectsElement; + class IfcRelReferencedInSpatialStructure extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedElements = RelatedElements; + this.RelatingStructure = RelatingStructure; + this.type = 1245217292; + } + } + IFC2X32.IfcRelReferencedInSpatialStructure = IfcRelReferencedInSpatialStructure; + class IfcRelSchedulesCostItems extends IfcRelAssignsToControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingControl = RelatingControl; + this.type = 1058617721; + } + } + IFC2X32.IfcRelSchedulesCostItems = IfcRelSchedulesCostItems; + class IfcRelSequence extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingProcess, RelatedProcess, TimeLag, SequenceType) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingProcess = RelatingProcess; + this.RelatedProcess = RelatedProcess; + this.TimeLag = TimeLag; + this.SequenceType = SequenceType; + this.type = 4122056220; + } + } + IFC2X32.IfcRelSequence = IfcRelSequence; + class IfcRelServicesBuildings extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingSystem, RelatedBuildings) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSystem = RelatingSystem; + this.RelatedBuildings = RelatedBuildings; + this.type = 366585022; + } + } + IFC2X32.IfcRelServicesBuildings = IfcRelServicesBuildings; + class IfcRelSpaceBoundary extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedBuildingElement = RelatedBuildingElement; + this.ConnectionGeometry = ConnectionGeometry; + this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary; + this.InternalOrExternalBoundary = InternalOrExternalBoundary; + this.type = 3451746338; + } + } + IFC2X32.IfcRelSpaceBoundary = IfcRelSpaceBoundary; + class IfcRelVoidsElement extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedOpeningElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingBuildingElement = RelatingBuildingElement; + this.RelatedOpeningElement = RelatedOpeningElement; + this.type = 1401173127; + } + } + IFC2X32.IfcRelVoidsElement = IfcRelVoidsElement; + class IfcResource extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2914609552; + } + } + IFC2X32.IfcResource = IfcResource; + class IfcRevolvedAreaSolid extends IfcSweptAreaSolid { + constructor(expressID, SweptArea, Position, Axis, Angle) { + super(expressID, SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.Axis = Axis; + this.Angle = Angle; + this.type = 1856042241; + } + } + IFC2X32.IfcRevolvedAreaSolid = IfcRevolvedAreaSolid; + class IfcRightCircularCone extends IfcCsgPrimitive3D { + constructor(expressID, Position, Height, BottomRadius) { + super(expressID, Position); + this.Position = Position; + this.Height = Height; + this.BottomRadius = BottomRadius; + this.type = 4158566097; + } + } + IFC2X32.IfcRightCircularCone = IfcRightCircularCone; + class IfcRightCircularCylinder extends IfcCsgPrimitive3D { + constructor(expressID, Position, Height, Radius) { + super(expressID, Position); + this.Position = Position; + this.Height = Height; + this.Radius = Radius; + this.type = 3626867408; + } + } + IFC2X32.IfcRightCircularCylinder = IfcRightCircularCylinder; + class IfcSpatialStructureElement extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.type = 2706606064; + } + } + IFC2X32.IfcSpatialStructureElement = IfcSpatialStructureElement; + class IfcSpatialStructureElementType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3893378262; + } + } + IFC2X32.IfcSpatialStructureElementType = IfcSpatialStructureElementType; + class IfcSphere extends IfcCsgPrimitive3D { + constructor(expressID, Position, Radius) { + super(expressID, Position); + this.Position = Position; + this.Radius = Radius; + this.type = 451544542; + } + } + IFC2X32.IfcSphere = IfcSphere; + class IfcStructuralActivity extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 3544373492; + } + } + IFC2X32.IfcStructuralActivity = IfcStructuralActivity; + class IfcStructuralItem extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 3136571912; + } + } + IFC2X32.IfcStructuralItem = IfcStructuralItem; + class IfcStructuralMember extends IfcStructuralItem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 530289379; + } + } + IFC2X32.IfcStructuralMember = IfcStructuralMember; + class IfcStructuralReaction extends IfcStructuralActivity { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 3689010777; + } + } + IFC2X32.IfcStructuralReaction = IfcStructuralReaction; + class IfcStructuralSurfaceMember extends IfcStructuralMember { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Thickness = Thickness; + this.type = 3979015343; + } + } + IFC2X32.IfcStructuralSurfaceMember = IfcStructuralSurfaceMember; + class IfcStructuralSurfaceMemberVarying extends IfcStructuralSurfaceMember { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness, SubsequentThickness, VaryingThicknessLocation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Thickness = Thickness; + this.SubsequentThickness = SubsequentThickness; + this.VaryingThicknessLocation = VaryingThicknessLocation; + this.type = 2218152070; + } + } + IFC2X32.IfcStructuralSurfaceMemberVarying = IfcStructuralSurfaceMemberVarying; + class IfcStructuredDimensionCallout extends IfcDraughtingCallout { + constructor(expressID, Contents) { + super(expressID, Contents); + this.Contents = Contents; + this.type = 4070609034; + } + } + IFC2X32.IfcStructuredDimensionCallout = IfcStructuredDimensionCallout; + class IfcSurfaceCurveSweptAreaSolid extends IfcSweptAreaSolid { + constructor(expressID, SweptArea, Position, Directrix, StartParam, EndParam, ReferenceSurface) { + super(expressID, SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.Directrix = Directrix; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.ReferenceSurface = ReferenceSurface; + this.type = 2028607225; + } + } + IFC2X32.IfcSurfaceCurveSweptAreaSolid = IfcSurfaceCurveSweptAreaSolid; + class IfcSurfaceOfLinearExtrusion extends IfcSweptSurface { + constructor(expressID, SweptCurve, Position, ExtrudedDirection, Depth) { + super(expressID, SweptCurve, Position); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.ExtrudedDirection = ExtrudedDirection; + this.Depth = Depth; + this.type = 2809605785; + } + } + IFC2X32.IfcSurfaceOfLinearExtrusion = IfcSurfaceOfLinearExtrusion; + class IfcSurfaceOfRevolution extends IfcSweptSurface { + constructor(expressID, SweptCurve, Position, AxisPosition) { + super(expressID, SweptCurve, Position); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.AxisPosition = AxisPosition; + this.type = 4124788165; + } + } + IFC2X32.IfcSurfaceOfRevolution = IfcSurfaceOfRevolution; + class IfcSystemFurnitureElementType extends IfcFurnishingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1580310250; + } + } + IFC2X32.IfcSystemFurnitureElementType = IfcSystemFurnitureElementType; + class IfcTask extends IfcProcess { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TaskId, Status, WorkMethod, IsMilestone, Priority) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TaskId = TaskId; + this.Status = Status; + this.WorkMethod = WorkMethod; + this.IsMilestone = IsMilestone; + this.Priority = Priority; + this.type = 3473067441; + } + } + IFC2X32.IfcTask = IfcTask; + class IfcTransportElementType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2097647324; + } + } + IFC2X32.IfcTransportElementType = IfcTransportElementType; + class IfcActor extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheActor = TheActor; + this.type = 2296667514; + } + } + IFC2X32.IfcActor = IfcActor; + class IfcAnnotation extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 1674181508; + } + } + IFC2X32.IfcAnnotation = IfcAnnotation; + class IfcAsymmetricIShapeProfileDef extends IfcIShapeProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius, TopFlangeWidth, TopFlangeThickness, TopFlangeFilletRadius, CentreOfGravityInY) { + super(expressID, ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.OverallWidth = OverallWidth; + this.OverallDepth = OverallDepth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.TopFlangeWidth = TopFlangeWidth; + this.TopFlangeThickness = TopFlangeThickness; + this.TopFlangeFilletRadius = TopFlangeFilletRadius; + this.CentreOfGravityInY = CentreOfGravityInY; + this.type = 3207858831; + } + } + IFC2X32.IfcAsymmetricIShapeProfileDef = IfcAsymmetricIShapeProfileDef; + class IfcBlock extends IfcCsgPrimitive3D { + constructor(expressID, Position, XLength, YLength, ZLength) { + super(expressID, Position); + this.Position = Position; + this.XLength = XLength; + this.YLength = YLength; + this.ZLength = ZLength; + this.type = 1334484129; + } + } + IFC2X32.IfcBlock = IfcBlock; + class IfcBooleanClippingResult extends IfcBooleanResult { + constructor(expressID, Operator, FirstOperand, SecondOperand) { + super(expressID, Operator, FirstOperand, SecondOperand); + this.Operator = Operator; + this.FirstOperand = FirstOperand; + this.SecondOperand = SecondOperand; + this.type = 3649129432; + } + } + IFC2X32.IfcBooleanClippingResult = IfcBooleanClippingResult; + class IfcBoundedCurve extends IfcCurve { + constructor(expressID) { + super(expressID); + this.type = 1260505505; + } + } + IFC2X32.IfcBoundedCurve = IfcBoundedCurve; + class IfcBuilding extends IfcSpatialStructureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, ElevationOfRefHeight, ElevationOfTerrain, BuildingAddress) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.ElevationOfRefHeight = ElevationOfRefHeight; + this.ElevationOfTerrain = ElevationOfTerrain; + this.BuildingAddress = BuildingAddress; + this.type = 4031249490; + } + } + IFC2X32.IfcBuilding = IfcBuilding; + class IfcBuildingElementType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1950629157; + } + } + IFC2X32.IfcBuildingElementType = IfcBuildingElementType; + class IfcBuildingStorey extends IfcSpatialStructureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, Elevation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.Elevation = Elevation; + this.type = 3124254112; + } + } + IFC2X32.IfcBuildingStorey = IfcBuildingStorey; + class IfcCircleHollowProfileDef extends IfcCircleProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Radius, WallThickness) { + super(expressID, ProfileType, ProfileName, Position, Radius); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Radius = Radius; + this.WallThickness = WallThickness; + this.type = 2937912522; + } + } + IFC2X32.IfcCircleHollowProfileDef = IfcCircleHollowProfileDef; + class IfcColumnType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 300633059; + } + } + IFC2X32.IfcColumnType = IfcColumnType; + class IfcCompositeCurve extends IfcBoundedCurve { + constructor(expressID, Segments, SelfIntersect) { + super(expressID); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 3732776249; + } + } + IFC2X32.IfcCompositeCurve = IfcCompositeCurve; + class IfcConic extends IfcCurve { + constructor(expressID, Position) { + super(expressID); + this.Position = Position; + this.type = 2510884976; + } + } + IFC2X32.IfcConic = IfcConic; + class IfcConstructionResource extends IfcResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ResourceIdentifier = ResourceIdentifier; + this.ResourceGroup = ResourceGroup; + this.ResourceConsumption = ResourceConsumption; + this.BaseQuantity = BaseQuantity; + this.type = 2559216714; + } + } + IFC2X32.IfcConstructionResource = IfcConstructionResource; + class IfcControl extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 3293443760; + } + } + IFC2X32.IfcControl = IfcControl; + class IfcCostItem extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 3895139033; + } + } + IFC2X32.IfcCostItem = IfcCostItem; + class IfcCostSchedule extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, SubmittedBy, PreparedBy, SubmittedOn, Status, TargetUsers, UpdateDate, ID, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.SubmittedBy = SubmittedBy; + this.PreparedBy = PreparedBy; + this.SubmittedOn = SubmittedOn; + this.Status = Status; + this.TargetUsers = TargetUsers; + this.UpdateDate = UpdateDate; + this.ID = ID; + this.PredefinedType = PredefinedType; + this.type = 1419761937; + } + } + IFC2X32.IfcCostSchedule = IfcCostSchedule; + class IfcCoveringType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1916426348; + } + } + IFC2X32.IfcCoveringType = IfcCoveringType; + class IfcCrewResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ResourceIdentifier = ResourceIdentifier; + this.ResourceGroup = ResourceGroup; + this.ResourceConsumption = ResourceConsumption; + this.BaseQuantity = BaseQuantity; + this.type = 3295246426; + } + } + IFC2X32.IfcCrewResource = IfcCrewResource; + class IfcCurtainWallType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1457835157; + } + } + IFC2X32.IfcCurtainWallType = IfcCurtainWallType; + class IfcDimensionCurveDirectedCallout extends IfcDraughtingCallout { + constructor(expressID, Contents) { + super(expressID, Contents); + this.Contents = Contents; + this.type = 681481545; + } + } + IFC2X32.IfcDimensionCurveDirectedCallout = IfcDimensionCurveDirectedCallout; + class IfcDistributionElementType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3256556792; + } + } + IFC2X32.IfcDistributionElementType = IfcDistributionElementType; + class IfcDistributionFlowElementType extends IfcDistributionElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3849074793; + } + } + IFC2X32.IfcDistributionFlowElementType = IfcDistributionFlowElementType; + class IfcElectricalBaseProperties extends IfcEnergyProperties { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, EnergySequence, UserDefinedEnergySequence, ElectricCurrentType, InputVoltage, InputFrequency, FullLoadCurrent, MinimumCircuitCurrent, MaximumPowerInput, RatedPowerInput, InputPhase) { + super(expressID, GlobalId, OwnerHistory, Name, Description, EnergySequence, UserDefinedEnergySequence); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.EnergySequence = EnergySequence; + this.UserDefinedEnergySequence = UserDefinedEnergySequence; + this.ElectricCurrentType = ElectricCurrentType; + this.InputVoltage = InputVoltage; + this.InputFrequency = InputFrequency; + this.FullLoadCurrent = FullLoadCurrent; + this.MinimumCircuitCurrent = MinimumCircuitCurrent; + this.MaximumPowerInput = MaximumPowerInput; + this.RatedPowerInput = RatedPowerInput; + this.InputPhase = InputPhase; + this.type = 360485395; + } + } + IFC2X32.IfcElectricalBaseProperties = IfcElectricalBaseProperties; + class IfcElement extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1758889154; + } + } + IFC2X32.IfcElement = IfcElement; + class IfcElementAssembly extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, AssemblyPlace, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.AssemblyPlace = AssemblyPlace; + this.PredefinedType = PredefinedType; + this.type = 4123344466; + } + } + IFC2X32.IfcElementAssembly = IfcElementAssembly; + class IfcElementComponent extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1623761950; + } + } + IFC2X32.IfcElementComponent = IfcElementComponent; + class IfcElementComponentType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2590856083; + } + } + IFC2X32.IfcElementComponentType = IfcElementComponentType; + class IfcEllipse extends IfcConic { + constructor(expressID, Position, SemiAxis1, SemiAxis2) { + super(expressID, Position); + this.Position = Position; + this.SemiAxis1 = SemiAxis1; + this.SemiAxis2 = SemiAxis2; + this.type = 1704287377; + } + } + IFC2X32.IfcEllipse = IfcEllipse; + class IfcEnergyConversionDeviceType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2107101300; + } + } + IFC2X32.IfcEnergyConversionDeviceType = IfcEnergyConversionDeviceType; + class IfcEquipmentElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1962604670; + } + } + IFC2X32.IfcEquipmentElement = IfcEquipmentElement; + class IfcEquipmentStandard extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 3272907226; + } + } + IFC2X32.IfcEquipmentStandard = IfcEquipmentStandard; + class IfcEvaporativeCoolerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3174744832; + } + } + IFC2X32.IfcEvaporativeCoolerType = IfcEvaporativeCoolerType; + class IfcEvaporatorType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3390157468; + } + } + IFC2X32.IfcEvaporatorType = IfcEvaporatorType; + class IfcFacetedBrep extends IfcManifoldSolidBrep { + constructor(expressID, Outer) { + super(expressID, Outer); + this.Outer = Outer; + this.type = 807026263; + } + } + IFC2X32.IfcFacetedBrep = IfcFacetedBrep; + class IfcFacetedBrepWithVoids extends IfcManifoldSolidBrep { + constructor(expressID, Outer, Voids) { + super(expressID, Outer); + this.Outer = Outer; + this.Voids = Voids; + this.type = 3737207727; + } + } + IFC2X32.IfcFacetedBrepWithVoids = IfcFacetedBrepWithVoids; + class IfcFastener extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 647756555; + } + } + IFC2X32.IfcFastener = IfcFastener; + class IfcFastenerType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2489546625; + } + } + IFC2X32.IfcFastenerType = IfcFastenerType; + class IfcFeatureElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2827207264; + } + } + IFC2X32.IfcFeatureElement = IfcFeatureElement; + class IfcFeatureElementAddition extends IfcFeatureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2143335405; + } + } + IFC2X32.IfcFeatureElementAddition = IfcFeatureElementAddition; + class IfcFeatureElementSubtraction extends IfcFeatureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1287392070; + } + } + IFC2X32.IfcFeatureElementSubtraction = IfcFeatureElementSubtraction; + class IfcFlowControllerType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3907093117; + } + } + IFC2X32.IfcFlowControllerType = IfcFlowControllerType; + class IfcFlowFittingType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3198132628; + } + } + IFC2X32.IfcFlowFittingType = IfcFlowFittingType; + class IfcFlowMeterType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3815607619; + } + } + IFC2X32.IfcFlowMeterType = IfcFlowMeterType; + class IfcFlowMovingDeviceType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1482959167; + } + } + IFC2X32.IfcFlowMovingDeviceType = IfcFlowMovingDeviceType; + class IfcFlowSegmentType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1834744321; + } + } + IFC2X32.IfcFlowSegmentType = IfcFlowSegmentType; + class IfcFlowStorageDeviceType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1339347760; + } + } + IFC2X32.IfcFlowStorageDeviceType = IfcFlowStorageDeviceType; + class IfcFlowTerminalType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2297155007; + } + } + IFC2X32.IfcFlowTerminalType = IfcFlowTerminalType; + class IfcFlowTreatmentDeviceType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3009222698; + } + } + IFC2X32.IfcFlowTreatmentDeviceType = IfcFlowTreatmentDeviceType; + class IfcFurnishingElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 263784265; + } + } + IFC2X32.IfcFurnishingElement = IfcFurnishingElement; + class IfcFurnitureStandard extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 814719939; + } + } + IFC2X32.IfcFurnitureStandard = IfcFurnitureStandard; + class IfcGasTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 200128114; + } + } + IFC2X32.IfcGasTerminalType = IfcGasTerminalType; + class IfcGrid extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, UAxes, VAxes, WAxes) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.UAxes = UAxes; + this.VAxes = VAxes; + this.WAxes = WAxes; + this.type = 3009204131; + } + } + IFC2X32.IfcGrid = IfcGrid; + class IfcGroup extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2706460486; + } + } + IFC2X32.IfcGroup = IfcGroup; + class IfcHeatExchangerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1251058090; + } + } + IFC2X32.IfcHeatExchangerType = IfcHeatExchangerType; + class IfcHumidifierType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1806887404; + } + } + IFC2X32.IfcHumidifierType = IfcHumidifierType; + class IfcInventory extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, InventoryType, Jurisdiction, ResponsiblePersons, LastUpdateDate, CurrentValue, OriginalValue) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.InventoryType = InventoryType; + this.Jurisdiction = Jurisdiction; + this.ResponsiblePersons = ResponsiblePersons; + this.LastUpdateDate = LastUpdateDate; + this.CurrentValue = CurrentValue; + this.OriginalValue = OriginalValue; + this.type = 2391368822; + } + } + IFC2X32.IfcInventory = IfcInventory; + class IfcJunctionBoxType extends IfcFlowFittingType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4288270099; + } + } + IFC2X32.IfcJunctionBoxType = IfcJunctionBoxType; + class IfcLaborResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity, SkillSet) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ResourceIdentifier = ResourceIdentifier; + this.ResourceGroup = ResourceGroup; + this.ResourceConsumption = ResourceConsumption; + this.BaseQuantity = BaseQuantity; + this.SkillSet = SkillSet; + this.type = 3827777499; + } + } + IFC2X32.IfcLaborResource = IfcLaborResource; + class IfcLampType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1051575348; + } + } + IFC2X32.IfcLampType = IfcLampType; + class IfcLightFixtureType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1161773419; + } + } + IFC2X32.IfcLightFixtureType = IfcLightFixtureType; + class IfcLinearDimension extends IfcDimensionCurveDirectedCallout { + constructor(expressID, Contents) { + super(expressID, Contents); + this.Contents = Contents; + this.type = 2506943328; + } + } + IFC2X32.IfcLinearDimension = IfcLinearDimension; + class IfcMechanicalFastener extends IfcFastener { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NominalDiameter, NominalLength) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.NominalDiameter = NominalDiameter; + this.NominalLength = NominalLength; + this.type = 377706215; + } + } + IFC2X32.IfcMechanicalFastener = IfcMechanicalFastener; + class IfcMechanicalFastenerType extends IfcFastenerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2108223431; + } + } + IFC2X32.IfcMechanicalFastenerType = IfcMechanicalFastenerType; + class IfcMemberType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3181161470; + } + } + IFC2X32.IfcMemberType = IfcMemberType; + class IfcMotorConnectionType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 977012517; + } + } + IFC2X32.IfcMotorConnectionType = IfcMotorConnectionType; + class IfcMove extends IfcTask { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TaskId, Status, WorkMethod, IsMilestone, Priority, MoveFrom, MoveTo, PunchList) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TaskId, Status, WorkMethod, IsMilestone, Priority); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TaskId = TaskId; + this.Status = Status; + this.WorkMethod = WorkMethod; + this.IsMilestone = IsMilestone; + this.Priority = Priority; + this.MoveFrom = MoveFrom; + this.MoveTo = MoveTo; + this.PunchList = PunchList; + this.type = 1916936684; + } + } + IFC2X32.IfcMove = IfcMove; + class IfcOccupant extends IfcActor { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheActor = TheActor; + this.PredefinedType = PredefinedType; + this.type = 4143007308; + } + } + IFC2X32.IfcOccupant = IfcOccupant; + class IfcOpeningElement extends IfcFeatureElementSubtraction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3588315303; + } + } + IFC2X32.IfcOpeningElement = IfcOpeningElement; + class IfcOrderAction extends IfcTask { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TaskId, Status, WorkMethod, IsMilestone, Priority, ActionID) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TaskId, Status, WorkMethod, IsMilestone, Priority); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TaskId = TaskId; + this.Status = Status; + this.WorkMethod = WorkMethod; + this.IsMilestone = IsMilestone; + this.Priority = Priority; + this.ActionID = ActionID; + this.type = 3425660407; + } + } + IFC2X32.IfcOrderAction = IfcOrderAction; + class IfcOutletType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2837617999; + } + } + IFC2X32.IfcOutletType = IfcOutletType; + class IfcPerformanceHistory extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LifeCyclePhase) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LifeCyclePhase = LifeCyclePhase; + this.type = 2382730787; + } + } + IFC2X32.IfcPerformanceHistory = IfcPerformanceHistory; + class IfcPermit extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, PermitID) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PermitID = PermitID; + this.type = 3327091369; + } + } + IFC2X32.IfcPermit = IfcPermit; + class IfcPipeFittingType extends IfcFlowFittingType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 804291784; + } + } + IFC2X32.IfcPipeFittingType = IfcPipeFittingType; + class IfcPipeSegmentType extends IfcFlowSegmentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4231323485; + } + } + IFC2X32.IfcPipeSegmentType = IfcPipeSegmentType; + class IfcPlateType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4017108033; + } + } + IFC2X32.IfcPlateType = IfcPlateType; + class IfcPolyline extends IfcBoundedCurve { + constructor(expressID, Points) { + super(expressID); + this.Points = Points; + this.type = 3724593414; + } + } + IFC2X32.IfcPolyline = IfcPolyline; + class IfcPort extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 3740093272; + } + } + IFC2X32.IfcPort = IfcPort; + class IfcProcedure extends IfcProcess { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ProcedureID, ProcedureType, UserDefinedProcedureType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ProcedureID = ProcedureID; + this.ProcedureType = ProcedureType; + this.UserDefinedProcedureType = UserDefinedProcedureType; + this.type = 2744685151; + } + } + IFC2X32.IfcProcedure = IfcProcedure; + class IfcProjectOrder extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ID, PredefinedType, Status) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ID = ID; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.type = 2904328755; + } + } + IFC2X32.IfcProjectOrder = IfcProjectOrder; + class IfcProjectOrderRecord extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Records, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Records = Records; + this.PredefinedType = PredefinedType; + this.type = 3642467123; + } + } + IFC2X32.IfcProjectOrderRecord = IfcProjectOrderRecord; + class IfcProjectionElement extends IfcFeatureElementAddition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3651124850; + } + } + IFC2X32.IfcProjectionElement = IfcProjectionElement; + class IfcProtectiveDeviceType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1842657554; + } + } + IFC2X32.IfcProtectiveDeviceType = IfcProtectiveDeviceType; + class IfcPumpType extends IfcFlowMovingDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2250791053; + } + } + IFC2X32.IfcPumpType = IfcPumpType; + class IfcRadiusDimension extends IfcDimensionCurveDirectedCallout { + constructor(expressID, Contents) { + super(expressID, Contents); + this.Contents = Contents; + this.type = 3248260540; + } + } + IFC2X32.IfcRadiusDimension = IfcRadiusDimension; + class IfcRailingType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2893384427; + } + } + IFC2X32.IfcRailingType = IfcRailingType; + class IfcRampFlightType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2324767716; + } + } + IFC2X32.IfcRampFlightType = IfcRampFlightType; + class IfcRelAggregates extends IfcRelDecomposes { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingObject = RelatingObject; + this.RelatedObjects = RelatedObjects; + this.type = 160246688; + } + } + IFC2X32.IfcRelAggregates = IfcRelAggregates; + class IfcRelAssignsTasks extends IfcRelAssignsToControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl, TimeForTask) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingControl = RelatingControl; + this.TimeForTask = TimeForTask; + this.type = 2863920197; + } + } + IFC2X32.IfcRelAssignsTasks = IfcRelAssignsTasks; + class IfcSanitaryTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1768891740; + } + } + IFC2X32.IfcSanitaryTerminalType = IfcSanitaryTerminalType; + class IfcScheduleTimeControl extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ActualStart, EarlyStart, LateStart, ScheduleStart, ActualFinish, EarlyFinish, LateFinish, ScheduleFinish, ScheduleDuration, ActualDuration, RemainingTime, FreeFloat, TotalFloat, IsCritical, StatusTime, StartFloat, FinishFloat, Completion) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ActualStart = ActualStart; + this.EarlyStart = EarlyStart; + this.LateStart = LateStart; + this.ScheduleStart = ScheduleStart; + this.ActualFinish = ActualFinish; + this.EarlyFinish = EarlyFinish; + this.LateFinish = LateFinish; + this.ScheduleFinish = ScheduleFinish; + this.ScheduleDuration = ScheduleDuration; + this.ActualDuration = ActualDuration; + this.RemainingTime = RemainingTime; + this.FreeFloat = FreeFloat; + this.TotalFloat = TotalFloat; + this.IsCritical = IsCritical; + this.StatusTime = StatusTime; + this.StartFloat = StartFloat; + this.FinishFloat = FinishFloat; + this.Completion = Completion; + this.type = 3517283431; + } + } + IFC2X32.IfcScheduleTimeControl = IfcScheduleTimeControl; + class IfcServiceLife extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ServiceLifeType, ServiceLifeDuration) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ServiceLifeType = ServiceLifeType; + this.ServiceLifeDuration = ServiceLifeDuration; + this.type = 4105383287; + } + } + IFC2X32.IfcServiceLife = IfcServiceLife; + class IfcSite extends IfcSpatialStructureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, RefLatitude, RefLongitude, RefElevation, LandTitleNumber, SiteAddress) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.RefLatitude = RefLatitude; + this.RefLongitude = RefLongitude; + this.RefElevation = RefElevation; + this.LandTitleNumber = LandTitleNumber; + this.SiteAddress = SiteAddress; + this.type = 4097777520; + } + } + IFC2X32.IfcSite = IfcSite; + class IfcSlabType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2533589738; + } + } + IFC2X32.IfcSlabType = IfcSlabType; + class IfcSpace extends IfcSpatialStructureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, InteriorOrExteriorSpace, ElevationWithFlooring) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.InteriorOrExteriorSpace = InteriorOrExteriorSpace; + this.ElevationWithFlooring = ElevationWithFlooring; + this.type = 3856911033; + } + } + IFC2X32.IfcSpace = IfcSpace; + class IfcSpaceHeaterType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1305183839; + } + } + IFC2X32.IfcSpaceHeaterType = IfcSpaceHeaterType; + class IfcSpaceProgram extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, SpaceProgramIdentifier, MaxRequiredArea, MinRequiredArea, RequestedLocation, StandardRequiredArea) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.SpaceProgramIdentifier = SpaceProgramIdentifier; + this.MaxRequiredArea = MaxRequiredArea; + this.MinRequiredArea = MinRequiredArea; + this.RequestedLocation = RequestedLocation; + this.StandardRequiredArea = StandardRequiredArea; + this.type = 652456506; + } + } + IFC2X32.IfcSpaceProgram = IfcSpaceProgram; + class IfcSpaceType extends IfcSpatialStructureElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3812236995; + } + } + IFC2X32.IfcSpaceType = IfcSpaceType; + class IfcStackTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3112655638; + } + } + IFC2X32.IfcStackTerminalType = IfcStackTerminalType; + class IfcStairFlightType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1039846685; + } + } + IFC2X32.IfcStairFlightType = IfcStairFlightType; + class IfcStructuralAction extends IfcStructuralActivity { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.CausedBy = CausedBy; + this.type = 682877961; + } + } + IFC2X32.IfcStructuralAction = IfcStructuralAction; + class IfcStructuralConnection extends IfcStructuralItem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.type = 1179482911; + } + } + IFC2X32.IfcStructuralConnection = IfcStructuralConnection; + class IfcStructuralCurveConnection extends IfcStructuralConnection { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.type = 4243806635; + } + } + IFC2X32.IfcStructuralCurveConnection = IfcStructuralCurveConnection; + class IfcStructuralCurveMember extends IfcStructuralMember { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.type = 214636428; + } + } + IFC2X32.IfcStructuralCurveMember = IfcStructuralCurveMember; + class IfcStructuralCurveMemberVarying extends IfcStructuralCurveMember { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.type = 2445595289; + } + } + IFC2X32.IfcStructuralCurveMemberVarying = IfcStructuralCurveMemberVarying; + class IfcStructuralLinearAction extends IfcStructuralAction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.CausedBy = CausedBy; + this.ProjectedOrTrue = ProjectedOrTrue; + this.type = 1807405624; + } + } + IFC2X32.IfcStructuralLinearAction = IfcStructuralLinearAction; + class IfcStructuralLinearActionVarying extends IfcStructuralLinearAction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue, VaryingAppliedLoadLocation, SubsequentAppliedLoads) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.CausedBy = CausedBy; + this.ProjectedOrTrue = ProjectedOrTrue; + this.VaryingAppliedLoadLocation = VaryingAppliedLoadLocation; + this.SubsequentAppliedLoads = SubsequentAppliedLoads; + this.type = 1721250024; + } + } + IFC2X32.IfcStructuralLinearActionVarying = IfcStructuralLinearActionVarying; + class IfcStructuralLoadGroup extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.ActionType = ActionType; + this.ActionSource = ActionSource; + this.Coefficient = Coefficient; + this.Purpose = Purpose; + this.type = 1252848954; + } + } + IFC2X32.IfcStructuralLoadGroup = IfcStructuralLoadGroup; + class IfcStructuralPlanarAction extends IfcStructuralAction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.CausedBy = CausedBy; + this.ProjectedOrTrue = ProjectedOrTrue; + this.type = 1621171031; + } + } + IFC2X32.IfcStructuralPlanarAction = IfcStructuralPlanarAction; + class IfcStructuralPlanarActionVarying extends IfcStructuralPlanarAction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue, VaryingAppliedLoadLocation, SubsequentAppliedLoads) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.CausedBy = CausedBy; + this.ProjectedOrTrue = ProjectedOrTrue; + this.VaryingAppliedLoadLocation = VaryingAppliedLoadLocation; + this.SubsequentAppliedLoads = SubsequentAppliedLoads; + this.type = 3987759626; + } + } + IFC2X32.IfcStructuralPlanarActionVarying = IfcStructuralPlanarActionVarying; + class IfcStructuralPointAction extends IfcStructuralAction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.CausedBy = CausedBy; + this.type = 2082059205; + } + } + IFC2X32.IfcStructuralPointAction = IfcStructuralPointAction; + class IfcStructuralPointConnection extends IfcStructuralConnection { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.type = 734778138; + } + } + IFC2X32.IfcStructuralPointConnection = IfcStructuralPointConnection; + class IfcStructuralPointReaction extends IfcStructuralReaction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 1235345126; + } + } + IFC2X32.IfcStructuralPointReaction = IfcStructuralPointReaction; + class IfcStructuralResultGroup extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TheoryType, ResultForLoadGroup, IsLinear) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheoryType = TheoryType; + this.ResultForLoadGroup = ResultForLoadGroup; + this.IsLinear = IsLinear; + this.type = 2986769608; + } + } + IFC2X32.IfcStructuralResultGroup = IfcStructuralResultGroup; + class IfcStructuralSurfaceConnection extends IfcStructuralConnection { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.type = 1975003073; + } + } + IFC2X32.IfcStructuralSurfaceConnection = IfcStructuralSurfaceConnection; + class IfcSubContractResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity, SubContractor, JobDescription) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ResourceIdentifier = ResourceIdentifier; + this.ResourceGroup = ResourceGroup; + this.ResourceConsumption = ResourceConsumption; + this.BaseQuantity = BaseQuantity; + this.SubContractor = SubContractor; + this.JobDescription = JobDescription; + this.type = 148013059; + } + } + IFC2X32.IfcSubContractResource = IfcSubContractResource; + class IfcSwitchingDeviceType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2315554128; + } + } + IFC2X32.IfcSwitchingDeviceType = IfcSwitchingDeviceType; + class IfcSystem extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2254336722; + } + } + IFC2X32.IfcSystem = IfcSystem; + class IfcTankType extends IfcFlowStorageDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 5716631; + } + } + IFC2X32.IfcTankType = IfcTankType; + class IfcTimeSeriesSchedule extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ApplicableDates, TimeSeriesScheduleType, TimeSeries) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ApplicableDates = ApplicableDates; + this.TimeSeriesScheduleType = TimeSeriesScheduleType; + this.TimeSeries = TimeSeries; + this.type = 1637806684; + } + } + IFC2X32.IfcTimeSeriesSchedule = IfcTimeSeriesSchedule; + class IfcTransformerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1692211062; + } + } + IFC2X32.IfcTransformerType = IfcTransformerType; + class IfcTransportElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OperationType, CapacityByWeight, CapacityByNumber) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OperationType = OperationType; + this.CapacityByWeight = CapacityByWeight; + this.CapacityByNumber = CapacityByNumber; + this.type = 1620046519; + } + } + IFC2X32.IfcTransportElement = IfcTransportElement; + class IfcTrimmedCurve extends IfcBoundedCurve { + constructor(expressID, BasisCurve, Trim1, Trim2, SenseAgreement, MasterRepresentation) { + super(expressID); + this.BasisCurve = BasisCurve; + this.Trim1 = Trim1; + this.Trim2 = Trim2; + this.SenseAgreement = SenseAgreement; + this.MasterRepresentation = MasterRepresentation; + this.type = 3593883385; + } + } + IFC2X32.IfcTrimmedCurve = IfcTrimmedCurve; + class IfcTubeBundleType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1600972822; + } + } + IFC2X32.IfcTubeBundleType = IfcTubeBundleType; + class IfcUnitaryEquipmentType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1911125066; + } + } + IFC2X32.IfcUnitaryEquipmentType = IfcUnitaryEquipmentType; + class IfcValveType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 728799441; + } + } + IFC2X32.IfcValveType = IfcValveType; + class IfcVirtualElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2769231204; + } + } + IFC2X32.IfcVirtualElement = IfcVirtualElement; + class IfcWallType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1898987631; + } + } + IFC2X32.IfcWallType = IfcWallType; + class IfcWasteTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1133259667; + } + } + IFC2X32.IfcWasteTerminalType = IfcWasteTerminalType; + class IfcWorkControl extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identifier, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, WorkControlType, UserDefinedControlType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identifier = Identifier; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.WorkControlType = WorkControlType; + this.UserDefinedControlType = UserDefinedControlType; + this.type = 1028945134; + } + } + IFC2X32.IfcWorkControl = IfcWorkControl; + class IfcWorkPlan extends IfcWorkControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identifier, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, WorkControlType, UserDefinedControlType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identifier, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, WorkControlType, UserDefinedControlType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identifier = Identifier; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.WorkControlType = WorkControlType; + this.UserDefinedControlType = UserDefinedControlType; + this.type = 4218914973; + } + } + IFC2X32.IfcWorkPlan = IfcWorkPlan; + class IfcWorkSchedule extends IfcWorkControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identifier, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, WorkControlType, UserDefinedControlType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identifier, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, WorkControlType, UserDefinedControlType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identifier = Identifier; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.WorkControlType = WorkControlType; + this.UserDefinedControlType = UserDefinedControlType; + this.type = 3342526732; + } + } + IFC2X32.IfcWorkSchedule = IfcWorkSchedule; + class IfcZone extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 1033361043; + } + } + IFC2X32.IfcZone = IfcZone; + class Ifc2DCompositeCurve extends IfcCompositeCurve { + constructor(expressID, Segments, SelfIntersect) { + super(expressID, Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 1213861670; + } + } + IFC2X32.Ifc2DCompositeCurve = Ifc2DCompositeCurve; + class IfcActionRequest extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, RequestID) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.RequestID = RequestID; + this.type = 3821786052; + } + } + IFC2X32.IfcActionRequest = IfcActionRequest; + class IfcAirTerminalBoxType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1411407467; + } + } + IFC2X32.IfcAirTerminalBoxType = IfcAirTerminalBoxType; + class IfcAirTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3352864051; + } + } + IFC2X32.IfcAirTerminalType = IfcAirTerminalType; + class IfcAirToAirHeatRecoveryType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1871374353; + } + } + IFC2X32.IfcAirToAirHeatRecoveryType = IfcAirToAirHeatRecoveryType; + class IfcAngularDimension extends IfcDimensionCurveDirectedCallout { + constructor(expressID, Contents) { + super(expressID, Contents); + this.Contents = Contents; + this.type = 2470393545; + } + } + IFC2X32.IfcAngularDimension = IfcAngularDimension; + class IfcAsset extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, AssetID, OriginalValue, CurrentValue, TotalReplacementCost, Owner, User, ResponsiblePerson, IncorporationDate, DepreciatedValue) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.AssetID = AssetID; + this.OriginalValue = OriginalValue; + this.CurrentValue = CurrentValue; + this.TotalReplacementCost = TotalReplacementCost; + this.Owner = Owner; + this.User = User; + this.ResponsiblePerson = ResponsiblePerson; + this.IncorporationDate = IncorporationDate; + this.DepreciatedValue = DepreciatedValue; + this.type = 3460190687; + } + } + IFC2X32.IfcAsset = IfcAsset; + class IfcBSplineCurve extends IfcBoundedCurve { + constructor(expressID, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect) { + super(expressID); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.type = 1967976161; + } + } + IFC2X32.IfcBSplineCurve = IfcBSplineCurve; + class IfcBeamType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 819618141; + } + } + IFC2X32.IfcBeamType = IfcBeamType; + class IfcBezierCurve extends IfcBSplineCurve { + constructor(expressID, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect) { + super(expressID, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.type = 1916977116; + } + } + IFC2X32.IfcBezierCurve = IfcBezierCurve; + class IfcBoilerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 231477066; + } + } + IFC2X32.IfcBoilerType = IfcBoilerType; + class IfcBuildingElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3299480353; + } + } + IFC2X32.IfcBuildingElement = IfcBuildingElement; + class IfcBuildingElementComponent extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 52481810; + } + } + IFC2X32.IfcBuildingElementComponent = IfcBuildingElementComponent; + class IfcBuildingElementPart extends IfcBuildingElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2979338954; + } + } + IFC2X32.IfcBuildingElementPart = IfcBuildingElementPart; + class IfcBuildingElementProxy extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, CompositionType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.CompositionType = CompositionType; + this.type = 1095909175; + } + } + IFC2X32.IfcBuildingElementProxy = IfcBuildingElementProxy; + class IfcBuildingElementProxyType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1909888760; + } + } + IFC2X32.IfcBuildingElementProxyType = IfcBuildingElementProxyType; + class IfcCableCarrierFittingType extends IfcFlowFittingType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 395041908; + } + } + IFC2X32.IfcCableCarrierFittingType = IfcCableCarrierFittingType; + class IfcCableCarrierSegmentType extends IfcFlowSegmentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3293546465; + } + } + IFC2X32.IfcCableCarrierSegmentType = IfcCableCarrierSegmentType; + class IfcCableSegmentType extends IfcFlowSegmentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1285652485; + } + } + IFC2X32.IfcCableSegmentType = IfcCableSegmentType; + class IfcChillerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2951183804; + } + } + IFC2X32.IfcChillerType = IfcChillerType; + class IfcCircle extends IfcConic { + constructor(expressID, Position, Radius) { + super(expressID, Position); + this.Position = Position; + this.Radius = Radius; + this.type = 2611217952; + } + } + IFC2X32.IfcCircle = IfcCircle; + class IfcCoilType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2301859152; + } + } + IFC2X32.IfcCoilType = IfcCoilType; + class IfcColumn extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 843113511; + } + } + IFC2X32.IfcColumn = IfcColumn; + class IfcCompressorType extends IfcFlowMovingDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3850581409; + } + } + IFC2X32.IfcCompressorType = IfcCompressorType; + class IfcCondenserType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2816379211; + } + } + IFC2X32.IfcCondenserType = IfcCondenserType; + class IfcCondition extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2188551683; + } + } + IFC2X32.IfcCondition = IfcCondition; + class IfcConditionCriterion extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Criterion, CriterionDateTime) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Criterion = Criterion; + this.CriterionDateTime = CriterionDateTime; + this.type = 1163958913; + } + } + IFC2X32.IfcConditionCriterion = IfcConditionCriterion; + class IfcConstructionEquipmentResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ResourceIdentifier = ResourceIdentifier; + this.ResourceGroup = ResourceGroup; + this.ResourceConsumption = ResourceConsumption; + this.BaseQuantity = BaseQuantity; + this.type = 3898045240; + } + } + IFC2X32.IfcConstructionEquipmentResource = IfcConstructionEquipmentResource; + class IfcConstructionMaterialResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity, Suppliers, UsageRatio) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ResourceIdentifier = ResourceIdentifier; + this.ResourceGroup = ResourceGroup; + this.ResourceConsumption = ResourceConsumption; + this.BaseQuantity = BaseQuantity; + this.Suppliers = Suppliers; + this.UsageRatio = UsageRatio; + this.type = 1060000209; + } + } + IFC2X32.IfcConstructionMaterialResource = IfcConstructionMaterialResource; + class IfcConstructionProductResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ResourceIdentifier = ResourceIdentifier; + this.ResourceGroup = ResourceGroup; + this.ResourceConsumption = ResourceConsumption; + this.BaseQuantity = BaseQuantity; + this.type = 488727124; + } + } + IFC2X32.IfcConstructionProductResource = IfcConstructionProductResource; + class IfcCooledBeamType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 335055490; + } + } + IFC2X32.IfcCooledBeamType = IfcCooledBeamType; + class IfcCoolingTowerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2954562838; + } + } + IFC2X32.IfcCoolingTowerType = IfcCoolingTowerType; + class IfcCovering extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1973544240; + } + } + IFC2X32.IfcCovering = IfcCovering; + class IfcCurtainWall extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3495092785; + } + } + IFC2X32.IfcCurtainWall = IfcCurtainWall; + class IfcDamperType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3961806047; + } + } + IFC2X32.IfcDamperType = IfcDamperType; + class IfcDiameterDimension extends IfcDimensionCurveDirectedCallout { + constructor(expressID, Contents) { + super(expressID, Contents); + this.Contents = Contents; + this.type = 4147604152; + } + } + IFC2X32.IfcDiameterDimension = IfcDiameterDimension; + class IfcDiscreteAccessory extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1335981549; + } + } + IFC2X32.IfcDiscreteAccessory = IfcDiscreteAccessory; + class IfcDiscreteAccessoryType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2635815018; + } + } + IFC2X32.IfcDiscreteAccessoryType = IfcDiscreteAccessoryType; + class IfcDistributionChamberElementType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1599208980; + } + } + IFC2X32.IfcDistributionChamberElementType = IfcDistributionChamberElementType; + class IfcDistributionControlElementType extends IfcDistributionElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2063403501; + } + } + IFC2X32.IfcDistributionControlElementType = IfcDistributionControlElementType; + class IfcDistributionElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1945004755; + } + } + IFC2X32.IfcDistributionElement = IfcDistributionElement; + class IfcDistributionFlowElement extends IfcDistributionElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3040386961; + } + } + IFC2X32.IfcDistributionFlowElement = IfcDistributionFlowElement; + class IfcDistributionPort extends IfcPort { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, FlowDirection) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.FlowDirection = FlowDirection; + this.type = 3041715199; + } + } + IFC2X32.IfcDistributionPort = IfcDistributionPort; + class IfcDoor extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OverallHeight = OverallHeight; + this.OverallWidth = OverallWidth; + this.type = 395920057; + } + } + IFC2X32.IfcDoor = IfcDoor; + class IfcDuctFittingType extends IfcFlowFittingType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 869906466; + } + } + IFC2X32.IfcDuctFittingType = IfcDuctFittingType; + class IfcDuctSegmentType extends IfcFlowSegmentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3760055223; + } + } + IFC2X32.IfcDuctSegmentType = IfcDuctSegmentType; + class IfcDuctSilencerType extends IfcFlowTreatmentDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2030761528; + } + } + IFC2X32.IfcDuctSilencerType = IfcDuctSilencerType; + class IfcEdgeFeature extends IfcFeatureElementSubtraction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, FeatureLength) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.FeatureLength = FeatureLength; + this.type = 855621170; + } + } + IFC2X32.IfcEdgeFeature = IfcEdgeFeature; + class IfcElectricApplianceType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 663422040; + } + } + IFC2X32.IfcElectricApplianceType = IfcElectricApplianceType; + class IfcElectricFlowStorageDeviceType extends IfcFlowStorageDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3277789161; + } + } + IFC2X32.IfcElectricFlowStorageDeviceType = IfcElectricFlowStorageDeviceType; + class IfcElectricGeneratorType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1534661035; + } + } + IFC2X32.IfcElectricGeneratorType = IfcElectricGeneratorType; + class IfcElectricHeaterType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1365060375; + } + } + IFC2X32.IfcElectricHeaterType = IfcElectricHeaterType; + class IfcElectricMotorType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1217240411; + } + } + IFC2X32.IfcElectricMotorType = IfcElectricMotorType; + class IfcElectricTimeControlType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 712377611; + } + } + IFC2X32.IfcElectricTimeControlType = IfcElectricTimeControlType; + class IfcElectricalCircuit extends IfcSystem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 1634875225; + } + } + IFC2X32.IfcElectricalCircuit = IfcElectricalCircuit; + class IfcElectricalElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 857184966; + } + } + IFC2X32.IfcElectricalElement = IfcElectricalElement; + class IfcEnergyConversionDevice extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1658829314; + } + } + IFC2X32.IfcEnergyConversionDevice = IfcEnergyConversionDevice; + class IfcFanType extends IfcFlowMovingDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 346874300; + } + } + IFC2X32.IfcFanType = IfcFanType; + class IfcFilterType extends IfcFlowTreatmentDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1810631287; + } + } + IFC2X32.IfcFilterType = IfcFilterType; + class IfcFireSuppressionTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4222183408; + } + } + IFC2X32.IfcFireSuppressionTerminalType = IfcFireSuppressionTerminalType; + class IfcFlowController extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2058353004; + } + } + IFC2X32.IfcFlowController = IfcFlowController; + class IfcFlowFitting extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 4278956645; + } + } + IFC2X32.IfcFlowFitting = IfcFlowFitting; + class IfcFlowInstrumentType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4037862832; + } + } + IFC2X32.IfcFlowInstrumentType = IfcFlowInstrumentType; + class IfcFlowMovingDevice extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3132237377; + } + } + IFC2X32.IfcFlowMovingDevice = IfcFlowMovingDevice; + class IfcFlowSegment extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 987401354; + } + } + IFC2X32.IfcFlowSegment = IfcFlowSegment; + class IfcFlowStorageDevice extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 707683696; + } + } + IFC2X32.IfcFlowStorageDevice = IfcFlowStorageDevice; + class IfcFlowTerminal extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2223149337; + } + } + IFC2X32.IfcFlowTerminal = IfcFlowTerminal; + class IfcFlowTreatmentDevice extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3508470533; + } + } + IFC2X32.IfcFlowTreatmentDevice = IfcFlowTreatmentDevice; + class IfcFooting extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 900683007; + } + } + IFC2X32.IfcFooting = IfcFooting; + class IfcMember extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1073191201; + } + } + IFC2X32.IfcMember = IfcMember; + class IfcPile extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType, ConstructionType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.ConstructionType = ConstructionType; + this.type = 1687234759; + } + } + IFC2X32.IfcPile = IfcPile; + class IfcPlate extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3171933400; + } + } + IFC2X32.IfcPlate = IfcPlate; + class IfcRailing extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2262370178; + } + } + IFC2X32.IfcRailing = IfcRailing; + class IfcRamp extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, ShapeType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.ShapeType = ShapeType; + this.type = 3024970846; + } + } + IFC2X32.IfcRamp = IfcRamp; + class IfcRampFlight extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3283111854; + } + } + IFC2X32.IfcRampFlight = IfcRampFlight; + class IfcRationalBezierCurve extends IfcBezierCurve { + constructor(expressID, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, WeightsData) { + super(expressID, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.WeightsData = WeightsData; + this.type = 3055160366; + } + } + IFC2X32.IfcRationalBezierCurve = IfcRationalBezierCurve; + class IfcReinforcingElement extends IfcBuildingElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.type = 3027567501; + } + } + IFC2X32.IfcReinforcingElement = IfcReinforcingElement; + class IfcReinforcingMesh extends IfcReinforcingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.MeshLength = MeshLength; + this.MeshWidth = MeshWidth; + this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter; + this.TransverseBarNominalDiameter = TransverseBarNominalDiameter; + this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea; + this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea; + this.LongitudinalBarSpacing = LongitudinalBarSpacing; + this.TransverseBarSpacing = TransverseBarSpacing; + this.type = 2320036040; + } + } + IFC2X32.IfcReinforcingMesh = IfcReinforcingMesh; + class IfcRoof extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, ShapeType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.ShapeType = ShapeType; + this.type = 2016517767; + } + } + IFC2X32.IfcRoof = IfcRoof; + class IfcRoundedEdgeFeature extends IfcEdgeFeature { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, FeatureLength, Radius) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, FeatureLength); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.FeatureLength = FeatureLength; + this.Radius = Radius; + this.type = 1376911519; + } + } + IFC2X32.IfcRoundedEdgeFeature = IfcRoundedEdgeFeature; + class IfcSensorType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1783015770; + } + } + IFC2X32.IfcSensorType = IfcSensorType; + class IfcSlab extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1529196076; + } + } + IFC2X32.IfcSlab = IfcSlab; + class IfcStair extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, ShapeType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.ShapeType = ShapeType; + this.type = 331165859; + } + } + IFC2X32.IfcStair = IfcStair; + class IfcStairFlight extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NumberOfRiser, NumberOfTreads, RiserHeight, TreadLength) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.NumberOfRiser = NumberOfRiser; + this.NumberOfTreads = NumberOfTreads; + this.RiserHeight = RiserHeight; + this.TreadLength = TreadLength; + this.type = 4252922144; + } + } + IFC2X32.IfcStairFlight = IfcStairFlight; + class IfcStructuralAnalysisModel extends IfcSystem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, OrientationOf2DPlane, LoadedBy, HasResults) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.OrientationOf2DPlane = OrientationOf2DPlane; + this.LoadedBy = LoadedBy; + this.HasResults = HasResults; + this.type = 2515109513; + } + } + IFC2X32.IfcStructuralAnalysisModel = IfcStructuralAnalysisModel; + class IfcTendon extends IfcReinforcingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType, NominalDiameter, CrossSectionArea, TensionForce, PreStress, FrictionCoefficient, AnchorageSlip, MinCurvatureRadius) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.TensionForce = TensionForce; + this.PreStress = PreStress; + this.FrictionCoefficient = FrictionCoefficient; + this.AnchorageSlip = AnchorageSlip; + this.MinCurvatureRadius = MinCurvatureRadius; + this.type = 3824725483; + } + } + IFC2X32.IfcTendon = IfcTendon; + class IfcTendonAnchor extends IfcReinforcingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.type = 2347447852; + } + } + IFC2X32.IfcTendonAnchor = IfcTendonAnchor; + class IfcVibrationIsolatorType extends IfcDiscreteAccessoryType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3313531582; + } + } + IFC2X32.IfcVibrationIsolatorType = IfcVibrationIsolatorType; + class IfcWall extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2391406946; + } + } + IFC2X32.IfcWall = IfcWall; + class IfcWallStandardCase extends IfcWall { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3512223829; + } + } + IFC2X32.IfcWallStandardCase = IfcWallStandardCase; + class IfcWindow extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OverallHeight = OverallHeight; + this.OverallWidth = OverallWidth; + this.type = 3304561284; + } + } + IFC2X32.IfcWindow = IfcWindow; + class IfcActuatorType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2874132201; + } + } + IFC2X32.IfcActuatorType = IfcActuatorType; + class IfcAlarmType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3001207471; + } + } + IFC2X32.IfcAlarmType = IfcAlarmType; + class IfcBeam extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 753842376; + } + } + IFC2X32.IfcBeam = IfcBeam; + class IfcChamferEdgeFeature extends IfcEdgeFeature { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, FeatureLength, Width, Height) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, FeatureLength); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.FeatureLength = FeatureLength; + this.Width = Width; + this.Height = Height; + this.type = 2454782716; + } + } + IFC2X32.IfcChamferEdgeFeature = IfcChamferEdgeFeature; + class IfcControllerType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 578613899; + } + } + IFC2X32.IfcControllerType = IfcControllerType; + class IfcDistributionChamberElement extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1052013943; + } + } + IFC2X32.IfcDistributionChamberElement = IfcDistributionChamberElement; + class IfcDistributionControlElement extends IfcDistributionElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, ControlElementId) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.ControlElementId = ControlElementId; + this.type = 1062813311; + } + } + IFC2X32.IfcDistributionControlElement = IfcDistributionControlElement; + class IfcElectricDistributionPoint extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, DistributionPointFunction, UserDefinedFunction) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.DistributionPointFunction = DistributionPointFunction; + this.UserDefinedFunction = UserDefinedFunction; + this.type = 3700593921; + } + } + IFC2X32.IfcElectricDistributionPoint = IfcElectricDistributionPoint; + class IfcReinforcingBar extends IfcReinforcingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, NominalDiameter, CrossSectionArea, BarLength, BarRole, BarSurface) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.BarLength = BarLength; + this.BarRole = BarRole; + this.BarSurface = BarSurface; + this.type = 979691226; + } + } + IFC2X32.IfcReinforcingBar = IfcReinforcingBar; +})(IFC2X3 || (IFC2X3 = {})); +var IFC4; +(function(IFC42) { + class IfcAbsorbedDoseMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcAbsorbedDoseMeasure = IfcAbsorbedDoseMeasure; + class IfcAccelerationMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcAccelerationMeasure = IfcAccelerationMeasure; + class IfcAmountOfSubstanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcAmountOfSubstanceMeasure = IfcAmountOfSubstanceMeasure; + class IfcAngularVelocityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcAngularVelocityMeasure = IfcAngularVelocityMeasure; + class IfcArcIndex { + constructor(value) { + this.value = value; + } + } + IFC42.IfcArcIndex = IfcArcIndex; + class IfcAreaDensityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcAreaDensityMeasure = IfcAreaDensityMeasure; + class IfcAreaMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcAreaMeasure = IfcAreaMeasure; + class IfcBinary { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcBinary = IfcBinary; + class IfcBoolean { + constructor(v) { + this.type = 3; + this.value = v == "true" ? true : false; + } + } + IFC42.IfcBoolean = IfcBoolean; + class IfcBoxAlignment { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcBoxAlignment = IfcBoxAlignment; + class IfcCardinalPointReference { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcCardinalPointReference = IfcCardinalPointReference; + class IfcComplexNumber { + constructor(value) { + this.value = value; + } + } + IFC42.IfcComplexNumber = IfcComplexNumber; + class IfcCompoundPlaneAngleMeasure { + constructor(value) { + this.value = value; + } + } + IFC42.IfcCompoundPlaneAngleMeasure = IfcCompoundPlaneAngleMeasure; + class IfcContextDependentMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcContextDependentMeasure = IfcContextDependentMeasure; + class IfcCountMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcCountMeasure = IfcCountMeasure; + class IfcCurvatureMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcCurvatureMeasure = IfcCurvatureMeasure; + class IfcDate { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcDate = IfcDate; + class IfcDateTime { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcDateTime = IfcDateTime; + class IfcDayInMonthNumber { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcDayInMonthNumber = IfcDayInMonthNumber; + class IfcDayInWeekNumber { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcDayInWeekNumber = IfcDayInWeekNumber; + class IfcDescriptiveMeasure { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcDescriptiveMeasure = IfcDescriptiveMeasure; + class IfcDimensionCount { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcDimensionCount = IfcDimensionCount; + class IfcDoseEquivalentMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcDoseEquivalentMeasure = IfcDoseEquivalentMeasure; + class IfcDuration { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcDuration = IfcDuration; + class IfcDynamicViscosityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcDynamicViscosityMeasure = IfcDynamicViscosityMeasure; + class IfcElectricCapacitanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcElectricCapacitanceMeasure = IfcElectricCapacitanceMeasure; + class IfcElectricChargeMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcElectricChargeMeasure = IfcElectricChargeMeasure; + class IfcElectricConductanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcElectricConductanceMeasure = IfcElectricConductanceMeasure; + class IfcElectricCurrentMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcElectricCurrentMeasure = IfcElectricCurrentMeasure; + class IfcElectricResistanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcElectricResistanceMeasure = IfcElectricResistanceMeasure; + class IfcElectricVoltageMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcElectricVoltageMeasure = IfcElectricVoltageMeasure; + class IfcEnergyMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcEnergyMeasure = IfcEnergyMeasure; + class IfcFontStyle { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcFontStyle = IfcFontStyle; + class IfcFontVariant { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcFontVariant = IfcFontVariant; + class IfcFontWeight { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcFontWeight = IfcFontWeight; + class IfcForceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcForceMeasure = IfcForceMeasure; + class IfcFrequencyMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcFrequencyMeasure = IfcFrequencyMeasure; + class IfcGloballyUniqueId { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcGloballyUniqueId = IfcGloballyUniqueId; + class IfcHeatFluxDensityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcHeatFluxDensityMeasure = IfcHeatFluxDensityMeasure; + class IfcHeatingValueMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcHeatingValueMeasure = IfcHeatingValueMeasure; + class IfcIdentifier { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcIdentifier = IfcIdentifier; + class IfcIlluminanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcIlluminanceMeasure = IfcIlluminanceMeasure; + class IfcInductanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcInductanceMeasure = IfcInductanceMeasure; + class IfcInteger { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcInteger = IfcInteger; + class IfcIntegerCountRateMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcIntegerCountRateMeasure = IfcIntegerCountRateMeasure; + class IfcIonConcentrationMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcIonConcentrationMeasure = IfcIonConcentrationMeasure; + class IfcIsothermalMoistureCapacityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcIsothermalMoistureCapacityMeasure = IfcIsothermalMoistureCapacityMeasure; + class IfcKinematicViscosityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcKinematicViscosityMeasure = IfcKinematicViscosityMeasure; + class IfcLabel { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcLabel = IfcLabel; + class IfcLanguageId { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcLanguageId = IfcLanguageId; + class IfcLengthMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcLengthMeasure = IfcLengthMeasure; + class IfcLineIndex { + constructor(value) { + this.value = value; + } + } + IFC42.IfcLineIndex = IfcLineIndex; + class IfcLinearForceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcLinearForceMeasure = IfcLinearForceMeasure; + class IfcLinearMomentMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcLinearMomentMeasure = IfcLinearMomentMeasure; + class IfcLinearStiffnessMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcLinearStiffnessMeasure = IfcLinearStiffnessMeasure; + class IfcLinearVelocityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcLinearVelocityMeasure = IfcLinearVelocityMeasure; + class IfcLogical { + constructor(v) { + this.type = 3; + this.value = v == "true" ? true : false; + } + } + IFC42.IfcLogical = IfcLogical; + class IfcLuminousFluxMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcLuminousFluxMeasure = IfcLuminousFluxMeasure; + class IfcLuminousIntensityDistributionMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcLuminousIntensityDistributionMeasure = IfcLuminousIntensityDistributionMeasure; + class IfcLuminousIntensityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcLuminousIntensityMeasure = IfcLuminousIntensityMeasure; + class IfcMagneticFluxDensityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcMagneticFluxDensityMeasure = IfcMagneticFluxDensityMeasure; + class IfcMagneticFluxMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcMagneticFluxMeasure = IfcMagneticFluxMeasure; + class IfcMassDensityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcMassDensityMeasure = IfcMassDensityMeasure; + class IfcMassFlowRateMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcMassFlowRateMeasure = IfcMassFlowRateMeasure; + class IfcMassMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcMassMeasure = IfcMassMeasure; + class IfcMassPerLengthMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcMassPerLengthMeasure = IfcMassPerLengthMeasure; + class IfcModulusOfElasticityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcModulusOfElasticityMeasure = IfcModulusOfElasticityMeasure; + class IfcModulusOfLinearSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcModulusOfLinearSubgradeReactionMeasure = IfcModulusOfLinearSubgradeReactionMeasure; + class IfcModulusOfRotationalSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcModulusOfRotationalSubgradeReactionMeasure = IfcModulusOfRotationalSubgradeReactionMeasure; + class IfcModulusOfSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcModulusOfSubgradeReactionMeasure = IfcModulusOfSubgradeReactionMeasure; + class IfcMoistureDiffusivityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcMoistureDiffusivityMeasure = IfcMoistureDiffusivityMeasure; + class IfcMolecularWeightMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcMolecularWeightMeasure = IfcMolecularWeightMeasure; + class IfcMomentOfInertiaMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcMomentOfInertiaMeasure = IfcMomentOfInertiaMeasure; + class IfcMonetaryMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcMonetaryMeasure = IfcMonetaryMeasure; + class IfcMonthInYearNumber { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcMonthInYearNumber = IfcMonthInYearNumber; + class IfcNonNegativeLengthMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcNonNegativeLengthMeasure = IfcNonNegativeLengthMeasure; + class IfcNormalisedRatioMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcNormalisedRatioMeasure = IfcNormalisedRatioMeasure; + class IfcNumericMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcNumericMeasure = IfcNumericMeasure; + class IfcPHMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcPHMeasure = IfcPHMeasure; + class IfcParameterValue { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcParameterValue = IfcParameterValue; + class IfcPlanarForceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcPlanarForceMeasure = IfcPlanarForceMeasure; + class IfcPlaneAngleMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcPlaneAngleMeasure = IfcPlaneAngleMeasure; + class IfcPositiveInteger { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcPositiveInteger = IfcPositiveInteger; + class IfcPositiveLengthMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcPositiveLengthMeasure = IfcPositiveLengthMeasure; + class IfcPositivePlaneAngleMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcPositivePlaneAngleMeasure = IfcPositivePlaneAngleMeasure; + class IfcPositiveRatioMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcPositiveRatioMeasure = IfcPositiveRatioMeasure; + class IfcPowerMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcPowerMeasure = IfcPowerMeasure; + class IfcPresentableText { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcPresentableText = IfcPresentableText; + class IfcPressureMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcPressureMeasure = IfcPressureMeasure; + class IfcPropertySetDefinitionSet { + constructor(value) { + this.value = value; + } + } + IFC42.IfcPropertySetDefinitionSet = IfcPropertySetDefinitionSet; + class IfcRadioActivityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcRadioActivityMeasure = IfcRadioActivityMeasure; + class IfcRatioMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcRatioMeasure = IfcRatioMeasure; + class IfcReal { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcReal = IfcReal; + class IfcRotationalFrequencyMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcRotationalFrequencyMeasure = IfcRotationalFrequencyMeasure; + class IfcRotationalMassMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcRotationalMassMeasure = IfcRotationalMassMeasure; + class IfcRotationalStiffnessMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcRotationalStiffnessMeasure = IfcRotationalStiffnessMeasure; + class IfcSectionModulusMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcSectionModulusMeasure = IfcSectionModulusMeasure; + class IfcSectionalAreaIntegralMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcSectionalAreaIntegralMeasure = IfcSectionalAreaIntegralMeasure; + class IfcShearModulusMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcShearModulusMeasure = IfcShearModulusMeasure; + class IfcSolidAngleMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcSolidAngleMeasure = IfcSolidAngleMeasure; + class IfcSoundPowerLevelMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcSoundPowerLevelMeasure = IfcSoundPowerLevelMeasure; + class IfcSoundPowerMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcSoundPowerMeasure = IfcSoundPowerMeasure; + class IfcSoundPressureLevelMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcSoundPressureLevelMeasure = IfcSoundPressureLevelMeasure; + class IfcSoundPressureMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcSoundPressureMeasure = IfcSoundPressureMeasure; + class IfcSpecificHeatCapacityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcSpecificHeatCapacityMeasure = IfcSpecificHeatCapacityMeasure; + class IfcSpecularExponent { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcSpecularExponent = IfcSpecularExponent; + class IfcSpecularRoughness { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcSpecularRoughness = IfcSpecularRoughness; + class IfcTemperatureGradientMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcTemperatureGradientMeasure = IfcTemperatureGradientMeasure; + class IfcTemperatureRateOfChangeMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcTemperatureRateOfChangeMeasure = IfcTemperatureRateOfChangeMeasure; + class IfcText { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcText = IfcText; + class IfcTextAlignment { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcTextAlignment = IfcTextAlignment; + class IfcTextDecoration { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcTextDecoration = IfcTextDecoration; + class IfcTextFontName { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcTextFontName = IfcTextFontName; + class IfcTextTransformation { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcTextTransformation = IfcTextTransformation; + class IfcThermalAdmittanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcThermalAdmittanceMeasure = IfcThermalAdmittanceMeasure; + class IfcThermalConductivityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcThermalConductivityMeasure = IfcThermalConductivityMeasure; + class IfcThermalExpansionCoefficientMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcThermalExpansionCoefficientMeasure = IfcThermalExpansionCoefficientMeasure; + class IfcThermalResistanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcThermalResistanceMeasure = IfcThermalResistanceMeasure; + class IfcThermalTransmittanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcThermalTransmittanceMeasure = IfcThermalTransmittanceMeasure; + class IfcThermodynamicTemperatureMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcThermodynamicTemperatureMeasure = IfcThermodynamicTemperatureMeasure; + class IfcTime { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcTime = IfcTime; + class IfcTimeMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcTimeMeasure = IfcTimeMeasure; + class IfcTimeStamp { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcTimeStamp = IfcTimeStamp; + class IfcTorqueMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcTorqueMeasure = IfcTorqueMeasure; + class IfcURIReference { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC42.IfcURIReference = IfcURIReference; + class IfcVaporPermeabilityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcVaporPermeabilityMeasure = IfcVaporPermeabilityMeasure; + class IfcVolumeMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcVolumeMeasure = IfcVolumeMeasure; + class IfcVolumetricFlowRateMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcVolumetricFlowRateMeasure = IfcVolumetricFlowRateMeasure; + class IfcWarpingConstantMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcWarpingConstantMeasure = IfcWarpingConstantMeasure; + class IfcWarpingMomentMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC42.IfcWarpingMomentMeasure = IfcWarpingMomentMeasure; + class IfcActionRequestTypeEnum { + } + IfcActionRequestTypeEnum.EMAIL = { type: 3, value: "EMAIL" }; + IfcActionRequestTypeEnum.FAX = { type: 3, value: "FAX" }; + IfcActionRequestTypeEnum.PHONE = { type: 3, value: "PHONE" }; + IfcActionRequestTypeEnum.POST = { type: 3, value: "POST" }; + IfcActionRequestTypeEnum.VERBAL = { type: 3, value: "VERBAL" }; + IfcActionRequestTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActionRequestTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcActionRequestTypeEnum = IfcActionRequestTypeEnum; + class IfcActionSourceTypeEnum { + } + IfcActionSourceTypeEnum.DEAD_LOAD_G = { type: 3, value: "DEAD_LOAD_G" }; + IfcActionSourceTypeEnum.COMPLETION_G1 = { type: 3, value: "COMPLETION_G1" }; + IfcActionSourceTypeEnum.LIVE_LOAD_Q = { type: 3, value: "LIVE_LOAD_Q" }; + IfcActionSourceTypeEnum.SNOW_S = { type: 3, value: "SNOW_S" }; + IfcActionSourceTypeEnum.WIND_W = { type: 3, value: "WIND_W" }; + IfcActionSourceTypeEnum.PRESTRESSING_P = { type: 3, value: "PRESTRESSING_P" }; + IfcActionSourceTypeEnum.SETTLEMENT_U = { type: 3, value: "SETTLEMENT_U" }; + IfcActionSourceTypeEnum.TEMPERATURE_T = { type: 3, value: "TEMPERATURE_T" }; + IfcActionSourceTypeEnum.EARTHQUAKE_E = { type: 3, value: "EARTHQUAKE_E" }; + IfcActionSourceTypeEnum.FIRE = { type: 3, value: "FIRE" }; + IfcActionSourceTypeEnum.IMPULSE = { type: 3, value: "IMPULSE" }; + IfcActionSourceTypeEnum.IMPACT = { type: 3, value: "IMPACT" }; + IfcActionSourceTypeEnum.TRANSPORT = { type: 3, value: "TRANSPORT" }; + IfcActionSourceTypeEnum.ERECTION = { type: 3, value: "ERECTION" }; + IfcActionSourceTypeEnum.PROPPING = { type: 3, value: "PROPPING" }; + IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION = { type: 3, value: "SYSTEM_IMPERFECTION" }; + IfcActionSourceTypeEnum.SHRINKAGE = { type: 3, value: "SHRINKAGE" }; + IfcActionSourceTypeEnum.CREEP = { type: 3, value: "CREEP" }; + IfcActionSourceTypeEnum.LACK_OF_FIT = { type: 3, value: "LACK_OF_FIT" }; + IfcActionSourceTypeEnum.BUOYANCY = { type: 3, value: "BUOYANCY" }; + IfcActionSourceTypeEnum.ICE = { type: 3, value: "ICE" }; + IfcActionSourceTypeEnum.CURRENT = { type: 3, value: "CURRENT" }; + IfcActionSourceTypeEnum.WAVE = { type: 3, value: "WAVE" }; + IfcActionSourceTypeEnum.RAIN = { type: 3, value: "RAIN" }; + IfcActionSourceTypeEnum.BRAKES = { type: 3, value: "BRAKES" }; + IfcActionSourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActionSourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcActionSourceTypeEnum = IfcActionSourceTypeEnum; + class IfcActionTypeEnum { + } + IfcActionTypeEnum.PERMANENT_G = { type: 3, value: "PERMANENT_G" }; + IfcActionTypeEnum.VARIABLE_Q = { type: 3, value: "VARIABLE_Q" }; + IfcActionTypeEnum.EXTRAORDINARY_A = { type: 3, value: "EXTRAORDINARY_A" }; + IfcActionTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcActionTypeEnum = IfcActionTypeEnum; + class IfcActuatorTypeEnum { + } + IfcActuatorTypeEnum.ELECTRICACTUATOR = { type: 3, value: "ELECTRICACTUATOR" }; + IfcActuatorTypeEnum.HANDOPERATEDACTUATOR = { type: 3, value: "HANDOPERATEDACTUATOR" }; + IfcActuatorTypeEnum.HYDRAULICACTUATOR = { type: 3, value: "HYDRAULICACTUATOR" }; + IfcActuatorTypeEnum.PNEUMATICACTUATOR = { type: 3, value: "PNEUMATICACTUATOR" }; + IfcActuatorTypeEnum.THERMOSTATICACTUATOR = { type: 3, value: "THERMOSTATICACTUATOR" }; + IfcActuatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActuatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcActuatorTypeEnum = IfcActuatorTypeEnum; + class IfcAddressTypeEnum { + } + IfcAddressTypeEnum.OFFICE = { type: 3, value: "OFFICE" }; + IfcAddressTypeEnum.SITE = { type: 3, value: "SITE" }; + IfcAddressTypeEnum.HOME = { type: 3, value: "HOME" }; + IfcAddressTypeEnum.DISTRIBUTIONPOINT = { type: 3, value: "DISTRIBUTIONPOINT" }; + IfcAddressTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC42.IfcAddressTypeEnum = IfcAddressTypeEnum; + class IfcAirTerminalBoxTypeEnum { + } + IfcAirTerminalBoxTypeEnum.CONSTANTFLOW = { type: 3, value: "CONSTANTFLOW" }; + IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREDEPENDANT" }; + IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREINDEPENDANT" }; + IfcAirTerminalBoxTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirTerminalBoxTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcAirTerminalBoxTypeEnum = IfcAirTerminalBoxTypeEnum; + class IfcAirTerminalTypeEnum { + } + IfcAirTerminalTypeEnum.DIFFUSER = { type: 3, value: "DIFFUSER" }; + IfcAirTerminalTypeEnum.GRILLE = { type: 3, value: "GRILLE" }; + IfcAirTerminalTypeEnum.LOUVRE = { type: 3, value: "LOUVRE" }; + IfcAirTerminalTypeEnum.REGISTER = { type: 3, value: "REGISTER" }; + IfcAirTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcAirTerminalTypeEnum = IfcAirTerminalTypeEnum; + class IfcAirToAirHeatRecoveryTypeEnum { + } + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECOUNTERFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECROSSFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER = { type: 3, value: "FIXEDPLATEPARALLELFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL = { type: 3, value: "ROTARYWHEEL" }; + IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP = { type: 3, value: "RUNAROUNDCOILLOOP" }; + IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE = { type: 3, value: "HEATPIPE" }; + IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS = { type: 3, value: "TWINTOWERENTHALPYRECOVERYLOOPS" }; + IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONSEALEDTUBEHEATEXCHANGERS" }; + IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONCOILTYPEHEATEXCHANGERS" }; + IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcAirToAirHeatRecoveryTypeEnum = IfcAirToAirHeatRecoveryTypeEnum; + class IfcAlarmTypeEnum { + } + IfcAlarmTypeEnum.BELL = { type: 3, value: "BELL" }; + IfcAlarmTypeEnum.BREAKGLASSBUTTON = { type: 3, value: "BREAKGLASSBUTTON" }; + IfcAlarmTypeEnum.LIGHT = { type: 3, value: "LIGHT" }; + IfcAlarmTypeEnum.MANUALPULLBOX = { type: 3, value: "MANUALPULLBOX" }; + IfcAlarmTypeEnum.SIREN = { type: 3, value: "SIREN" }; + IfcAlarmTypeEnum.WHISTLE = { type: 3, value: "WHISTLE" }; + IfcAlarmTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAlarmTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcAlarmTypeEnum = IfcAlarmTypeEnum; + class IfcAnalysisModelTypeEnum { + } + IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D = { type: 3, value: "IN_PLANE_LOADING_2D" }; + IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D = { type: 3, value: "OUT_PLANE_LOADING_2D" }; + IfcAnalysisModelTypeEnum.LOADING_3D = { type: 3, value: "LOADING_3D" }; + IfcAnalysisModelTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAnalysisModelTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcAnalysisModelTypeEnum = IfcAnalysisModelTypeEnum; + class IfcAnalysisTheoryTypeEnum { + } + IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY = { type: 3, value: "FIRST_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY = { type: 3, value: "SECOND_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY = { type: 3, value: "THIRD_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY = { type: 3, value: "FULL_NONLINEAR_THEORY" }; + IfcAnalysisTheoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAnalysisTheoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcAnalysisTheoryTypeEnum = IfcAnalysisTheoryTypeEnum; + class IfcArithmeticOperatorEnum { + } + IfcArithmeticOperatorEnum.ADD = { type: 3, value: "ADD" }; + IfcArithmeticOperatorEnum.DIVIDE = { type: 3, value: "DIVIDE" }; + IfcArithmeticOperatorEnum.MULTIPLY = { type: 3, value: "MULTIPLY" }; + IfcArithmeticOperatorEnum.SUBTRACT = { type: 3, value: "SUBTRACT" }; + IFC42.IfcArithmeticOperatorEnum = IfcArithmeticOperatorEnum; + class IfcAssemblyPlaceEnum { + } + IfcAssemblyPlaceEnum.SITE = { type: 3, value: "SITE" }; + IfcAssemblyPlaceEnum.FACTORY = { type: 3, value: "FACTORY" }; + IfcAssemblyPlaceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcAssemblyPlaceEnum = IfcAssemblyPlaceEnum; + class IfcAudioVisualApplianceTypeEnum { + } + IfcAudioVisualApplianceTypeEnum.AMPLIFIER = { type: 3, value: "AMPLIFIER" }; + IfcAudioVisualApplianceTypeEnum.CAMERA = { type: 3, value: "CAMERA" }; + IfcAudioVisualApplianceTypeEnum.DISPLAY = { type: 3, value: "DISPLAY" }; + IfcAudioVisualApplianceTypeEnum.MICROPHONE = { type: 3, value: "MICROPHONE" }; + IfcAudioVisualApplianceTypeEnum.PLAYER = { type: 3, value: "PLAYER" }; + IfcAudioVisualApplianceTypeEnum.PROJECTOR = { type: 3, value: "PROJECTOR" }; + IfcAudioVisualApplianceTypeEnum.RECEIVER = { type: 3, value: "RECEIVER" }; + IfcAudioVisualApplianceTypeEnum.SPEAKER = { type: 3, value: "SPEAKER" }; + IfcAudioVisualApplianceTypeEnum.SWITCHER = { type: 3, value: "SWITCHER" }; + IfcAudioVisualApplianceTypeEnum.TELEPHONE = { type: 3, value: "TELEPHONE" }; + IfcAudioVisualApplianceTypeEnum.TUNER = { type: 3, value: "TUNER" }; + IfcAudioVisualApplianceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAudioVisualApplianceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcAudioVisualApplianceTypeEnum = IfcAudioVisualApplianceTypeEnum; + class IfcBSplineCurveForm { + } + IfcBSplineCurveForm.POLYLINE_FORM = { type: 3, value: "POLYLINE_FORM" }; + IfcBSplineCurveForm.CIRCULAR_ARC = { type: 3, value: "CIRCULAR_ARC" }; + IfcBSplineCurveForm.ELLIPTIC_ARC = { type: 3, value: "ELLIPTIC_ARC" }; + IfcBSplineCurveForm.PARABOLIC_ARC = { type: 3, value: "PARABOLIC_ARC" }; + IfcBSplineCurveForm.HYPERBOLIC_ARC = { type: 3, value: "HYPERBOLIC_ARC" }; + IfcBSplineCurveForm.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC42.IfcBSplineCurveForm = IfcBSplineCurveForm; + class IfcBSplineSurfaceForm { + } + IfcBSplineSurfaceForm.PLANE_SURF = { type: 3, value: "PLANE_SURF" }; + IfcBSplineSurfaceForm.CYLINDRICAL_SURF = { type: 3, value: "CYLINDRICAL_SURF" }; + IfcBSplineSurfaceForm.CONICAL_SURF = { type: 3, value: "CONICAL_SURF" }; + IfcBSplineSurfaceForm.SPHERICAL_SURF = { type: 3, value: "SPHERICAL_SURF" }; + IfcBSplineSurfaceForm.TOROIDAL_SURF = { type: 3, value: "TOROIDAL_SURF" }; + IfcBSplineSurfaceForm.SURF_OF_REVOLUTION = { type: 3, value: "SURF_OF_REVOLUTION" }; + IfcBSplineSurfaceForm.RULED_SURF = { type: 3, value: "RULED_SURF" }; + IfcBSplineSurfaceForm.GENERALISED_CONE = { type: 3, value: "GENERALISED_CONE" }; + IfcBSplineSurfaceForm.QUADRIC_SURF = { type: 3, value: "QUADRIC_SURF" }; + IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION = { type: 3, value: "SURF_OF_LINEAR_EXTRUSION" }; + IfcBSplineSurfaceForm.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC42.IfcBSplineSurfaceForm = IfcBSplineSurfaceForm; + class IfcBeamTypeEnum { + } + IfcBeamTypeEnum.BEAM = { type: 3, value: "BEAM" }; + IfcBeamTypeEnum.JOIST = { type: 3, value: "JOIST" }; + IfcBeamTypeEnum.HOLLOWCORE = { type: 3, value: "HOLLOWCORE" }; + IfcBeamTypeEnum.LINTEL = { type: 3, value: "LINTEL" }; + IfcBeamTypeEnum.SPANDREL = { type: 3, value: "SPANDREL" }; + IfcBeamTypeEnum.T_BEAM = { type: 3, value: "T_BEAM" }; + IfcBeamTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBeamTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcBeamTypeEnum = IfcBeamTypeEnum; + class IfcBenchmarkEnum { + } + IfcBenchmarkEnum.GREATERTHAN = { type: 3, value: "GREATERTHAN" }; + IfcBenchmarkEnum.GREATERTHANOREQUALTO = { type: 3, value: "GREATERTHANOREQUALTO" }; + IfcBenchmarkEnum.LESSTHAN = { type: 3, value: "LESSTHAN" }; + IfcBenchmarkEnum.LESSTHANOREQUALTO = { type: 3, value: "LESSTHANOREQUALTO" }; + IfcBenchmarkEnum.EQUALTO = { type: 3, value: "EQUALTO" }; + IfcBenchmarkEnum.NOTEQUALTO = { type: 3, value: "NOTEQUALTO" }; + IfcBenchmarkEnum.INCLUDES = { type: 3, value: "INCLUDES" }; + IfcBenchmarkEnum.NOTINCLUDES = { type: 3, value: "NOTINCLUDES" }; + IfcBenchmarkEnum.INCLUDEDIN = { type: 3, value: "INCLUDEDIN" }; + IfcBenchmarkEnum.NOTINCLUDEDIN = { type: 3, value: "NOTINCLUDEDIN" }; + IFC42.IfcBenchmarkEnum = IfcBenchmarkEnum; + class IfcBoilerTypeEnum { + } + IfcBoilerTypeEnum.WATER = { type: 3, value: "WATER" }; + IfcBoilerTypeEnum.STEAM = { type: 3, value: "STEAM" }; + IfcBoilerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBoilerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcBoilerTypeEnum = IfcBoilerTypeEnum; + class IfcBooleanOperator { + } + IfcBooleanOperator.UNION = { type: 3, value: "UNION" }; + IfcBooleanOperator.INTERSECTION = { type: 3, value: "INTERSECTION" }; + IfcBooleanOperator.DIFFERENCE = { type: 3, value: "DIFFERENCE" }; + IFC42.IfcBooleanOperator = IfcBooleanOperator; + class IfcBuildingElementPartTypeEnum { + } + IfcBuildingElementPartTypeEnum.INSULATION = { type: 3, value: "INSULATION" }; + IfcBuildingElementPartTypeEnum.PRECASTPANEL = { type: 3, value: "PRECASTPANEL" }; + IfcBuildingElementPartTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBuildingElementPartTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcBuildingElementPartTypeEnum = IfcBuildingElementPartTypeEnum; + class IfcBuildingElementProxyTypeEnum { + } + IfcBuildingElementProxyTypeEnum.COMPLEX = { type: 3, value: "COMPLEX" }; + IfcBuildingElementProxyTypeEnum.ELEMENT = { type: 3, value: "ELEMENT" }; + IfcBuildingElementProxyTypeEnum.PARTIAL = { type: 3, value: "PARTIAL" }; + IfcBuildingElementProxyTypeEnum.PROVISIONFORVOID = { type: 3, value: "PROVISIONFORVOID" }; + IfcBuildingElementProxyTypeEnum.PROVISIONFORSPACE = { type: 3, value: "PROVISIONFORSPACE" }; + IfcBuildingElementProxyTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBuildingElementProxyTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcBuildingElementProxyTypeEnum = IfcBuildingElementProxyTypeEnum; + class IfcBuildingSystemTypeEnum { + } + IfcBuildingSystemTypeEnum.FENESTRATION = { type: 3, value: "FENESTRATION" }; + IfcBuildingSystemTypeEnum.FOUNDATION = { type: 3, value: "FOUNDATION" }; + IfcBuildingSystemTypeEnum.LOADBEARING = { type: 3, value: "LOADBEARING" }; + IfcBuildingSystemTypeEnum.OUTERSHELL = { type: 3, value: "OUTERSHELL" }; + IfcBuildingSystemTypeEnum.SHADING = { type: 3, value: "SHADING" }; + IfcBuildingSystemTypeEnum.TRANSPORT = { type: 3, value: "TRANSPORT" }; + IfcBuildingSystemTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBuildingSystemTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcBuildingSystemTypeEnum = IfcBuildingSystemTypeEnum; + class IfcBurnerTypeEnum { + } + IfcBurnerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBurnerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcBurnerTypeEnum = IfcBurnerTypeEnum; + class IfcCableCarrierFittingTypeEnum { + } + IfcCableCarrierFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcCableCarrierFittingTypeEnum.CROSS = { type: 3, value: "CROSS" }; + IfcCableCarrierFittingTypeEnum.REDUCER = { type: 3, value: "REDUCER" }; + IfcCableCarrierFittingTypeEnum.TEE = { type: 3, value: "TEE" }; + IfcCableCarrierFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableCarrierFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCableCarrierFittingTypeEnum = IfcCableCarrierFittingTypeEnum; + class IfcCableCarrierSegmentTypeEnum { + } + IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT = { type: 3, value: "CABLELADDERSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT = { type: 3, value: "CABLETRAYSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT = { type: 3, value: "CABLETRUNKINGSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT = { type: 3, value: "CONDUITSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableCarrierSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCableCarrierSegmentTypeEnum = IfcCableCarrierSegmentTypeEnum; + class IfcCableFittingTypeEnum { + } + IfcCableFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcCableFittingTypeEnum.ENTRY = { type: 3, value: "ENTRY" }; + IfcCableFittingTypeEnum.EXIT = { type: 3, value: "EXIT" }; + IfcCableFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcCableFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcCableFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCableFittingTypeEnum = IfcCableFittingTypeEnum; + class IfcCableSegmentTypeEnum { + } + IfcCableSegmentTypeEnum.BUSBARSEGMENT = { type: 3, value: "BUSBARSEGMENT" }; + IfcCableSegmentTypeEnum.CABLESEGMENT = { type: 3, value: "CABLESEGMENT" }; + IfcCableSegmentTypeEnum.CONDUCTORSEGMENT = { type: 3, value: "CONDUCTORSEGMENT" }; + IfcCableSegmentTypeEnum.CORESEGMENT = { type: 3, value: "CORESEGMENT" }; + IfcCableSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCableSegmentTypeEnum = IfcCableSegmentTypeEnum; + class IfcChangeActionEnum { + } + IfcChangeActionEnum.NOCHANGE = { type: 3, value: "NOCHANGE" }; + IfcChangeActionEnum.MODIFIED = { type: 3, value: "MODIFIED" }; + IfcChangeActionEnum.ADDED = { type: 3, value: "ADDED" }; + IfcChangeActionEnum.DELETED = { type: 3, value: "DELETED" }; + IfcChangeActionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcChangeActionEnum = IfcChangeActionEnum; + class IfcChillerTypeEnum { + } + IfcChillerTypeEnum.AIRCOOLED = { type: 3, value: "AIRCOOLED" }; + IfcChillerTypeEnum.WATERCOOLED = { type: 3, value: "WATERCOOLED" }; + IfcChillerTypeEnum.HEATRECOVERY = { type: 3, value: "HEATRECOVERY" }; + IfcChillerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcChillerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcChillerTypeEnum = IfcChillerTypeEnum; + class IfcChimneyTypeEnum { + } + IfcChimneyTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcChimneyTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcChimneyTypeEnum = IfcChimneyTypeEnum; + class IfcCoilTypeEnum { + } + IfcCoilTypeEnum.DXCOOLINGCOIL = { type: 3, value: "DXCOOLINGCOIL" }; + IfcCoilTypeEnum.ELECTRICHEATINGCOIL = { type: 3, value: "ELECTRICHEATINGCOIL" }; + IfcCoilTypeEnum.GASHEATINGCOIL = { type: 3, value: "GASHEATINGCOIL" }; + IfcCoilTypeEnum.HYDRONICCOIL = { type: 3, value: "HYDRONICCOIL" }; + IfcCoilTypeEnum.STEAMHEATINGCOIL = { type: 3, value: "STEAMHEATINGCOIL" }; + IfcCoilTypeEnum.WATERCOOLINGCOIL = { type: 3, value: "WATERCOOLINGCOIL" }; + IfcCoilTypeEnum.WATERHEATINGCOIL = { type: 3, value: "WATERHEATINGCOIL" }; + IfcCoilTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoilTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCoilTypeEnum = IfcCoilTypeEnum; + class IfcColumnTypeEnum { + } + IfcColumnTypeEnum.COLUMN = { type: 3, value: "COLUMN" }; + IfcColumnTypeEnum.PILASTER = { type: 3, value: "PILASTER" }; + IfcColumnTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcColumnTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcColumnTypeEnum = IfcColumnTypeEnum; + class IfcCommunicationsApplianceTypeEnum { + } + IfcCommunicationsApplianceTypeEnum.ANTENNA = { type: 3, value: "ANTENNA" }; + IfcCommunicationsApplianceTypeEnum.COMPUTER = { type: 3, value: "COMPUTER" }; + IfcCommunicationsApplianceTypeEnum.FAX = { type: 3, value: "FAX" }; + IfcCommunicationsApplianceTypeEnum.GATEWAY = { type: 3, value: "GATEWAY" }; + IfcCommunicationsApplianceTypeEnum.MODEM = { type: 3, value: "MODEM" }; + IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE = { type: 3, value: "NETWORKAPPLIANCE" }; + IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE = { type: 3, value: "NETWORKBRIDGE" }; + IfcCommunicationsApplianceTypeEnum.NETWORKHUB = { type: 3, value: "NETWORKHUB" }; + IfcCommunicationsApplianceTypeEnum.PRINTER = { type: 3, value: "PRINTER" }; + IfcCommunicationsApplianceTypeEnum.REPEATER = { type: 3, value: "REPEATER" }; + IfcCommunicationsApplianceTypeEnum.ROUTER = { type: 3, value: "ROUTER" }; + IfcCommunicationsApplianceTypeEnum.SCANNER = { type: 3, value: "SCANNER" }; + IfcCommunicationsApplianceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCommunicationsApplianceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCommunicationsApplianceTypeEnum = IfcCommunicationsApplianceTypeEnum; + class IfcComplexPropertyTemplateTypeEnum { + } + IfcComplexPropertyTemplateTypeEnum.P_COMPLEX = { type: 3, value: "P_COMPLEX" }; + IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX = { type: 3, value: "Q_COMPLEX" }; + IFC42.IfcComplexPropertyTemplateTypeEnum = IfcComplexPropertyTemplateTypeEnum; + class IfcCompressorTypeEnum { + } + IfcCompressorTypeEnum.DYNAMIC = { type: 3, value: "DYNAMIC" }; + IfcCompressorTypeEnum.RECIPROCATING = { type: 3, value: "RECIPROCATING" }; + IfcCompressorTypeEnum.ROTARY = { type: 3, value: "ROTARY" }; + IfcCompressorTypeEnum.SCROLL = { type: 3, value: "SCROLL" }; + IfcCompressorTypeEnum.TROCHOIDAL = { type: 3, value: "TROCHOIDAL" }; + IfcCompressorTypeEnum.SINGLESTAGE = { type: 3, value: "SINGLESTAGE" }; + IfcCompressorTypeEnum.BOOSTER = { type: 3, value: "BOOSTER" }; + IfcCompressorTypeEnum.OPENTYPE = { type: 3, value: "OPENTYPE" }; + IfcCompressorTypeEnum.HERMETIC = { type: 3, value: "HERMETIC" }; + IfcCompressorTypeEnum.SEMIHERMETIC = { type: 3, value: "SEMIHERMETIC" }; + IfcCompressorTypeEnum.WELDEDSHELLHERMETIC = { type: 3, value: "WELDEDSHELLHERMETIC" }; + IfcCompressorTypeEnum.ROLLINGPISTON = { type: 3, value: "ROLLINGPISTON" }; + IfcCompressorTypeEnum.ROTARYVANE = { type: 3, value: "ROTARYVANE" }; + IfcCompressorTypeEnum.SINGLESCREW = { type: 3, value: "SINGLESCREW" }; + IfcCompressorTypeEnum.TWINSCREW = { type: 3, value: "TWINSCREW" }; + IfcCompressorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCompressorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCompressorTypeEnum = IfcCompressorTypeEnum; + class IfcCondenserTypeEnum { + } + IfcCondenserTypeEnum.AIRCOOLED = { type: 3, value: "AIRCOOLED" }; + IfcCondenserTypeEnum.EVAPORATIVECOOLED = { type: 3, value: "EVAPORATIVECOOLED" }; + IfcCondenserTypeEnum.WATERCOOLED = { type: 3, value: "WATERCOOLED" }; + IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE = { type: 3, value: "WATERCOOLEDBRAZEDPLATE" }; + IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL = { type: 3, value: "WATERCOOLEDSHELLCOIL" }; + IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE = { type: 3, value: "WATERCOOLEDSHELLTUBE" }; + IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE = { type: 3, value: "WATERCOOLEDTUBEINTUBE" }; + IfcCondenserTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCondenserTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCondenserTypeEnum = IfcCondenserTypeEnum; + class IfcConnectionTypeEnum { + } + IfcConnectionTypeEnum.ATPATH = { type: 3, value: "ATPATH" }; + IfcConnectionTypeEnum.ATSTART = { type: 3, value: "ATSTART" }; + IfcConnectionTypeEnum.ATEND = { type: 3, value: "ATEND" }; + IfcConnectionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcConnectionTypeEnum = IfcConnectionTypeEnum; + class IfcConstraintEnum { + } + IfcConstraintEnum.HARD = { type: 3, value: "HARD" }; + IfcConstraintEnum.SOFT = { type: 3, value: "SOFT" }; + IfcConstraintEnum.ADVISORY = { type: 3, value: "ADVISORY" }; + IfcConstraintEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConstraintEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcConstraintEnum = IfcConstraintEnum; + class IfcConstructionEquipmentResourceTypeEnum { + } + IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING = { type: 3, value: "DEMOLISHING" }; + IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING = { type: 3, value: "EARTHMOVING" }; + IfcConstructionEquipmentResourceTypeEnum.ERECTING = { type: 3, value: "ERECTING" }; + IfcConstructionEquipmentResourceTypeEnum.HEATING = { type: 3, value: "HEATING" }; + IfcConstructionEquipmentResourceTypeEnum.LIGHTING = { type: 3, value: "LIGHTING" }; + IfcConstructionEquipmentResourceTypeEnum.PAVING = { type: 3, value: "PAVING" }; + IfcConstructionEquipmentResourceTypeEnum.PUMPING = { type: 3, value: "PUMPING" }; + IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING = { type: 3, value: "TRANSPORTING" }; + IfcConstructionEquipmentResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcConstructionEquipmentResourceTypeEnum = IfcConstructionEquipmentResourceTypeEnum; + class IfcConstructionMaterialResourceTypeEnum { + } + IfcConstructionMaterialResourceTypeEnum.AGGREGATES = { type: 3, value: "AGGREGATES" }; + IfcConstructionMaterialResourceTypeEnum.CONCRETE = { type: 3, value: "CONCRETE" }; + IfcConstructionMaterialResourceTypeEnum.DRYWALL = { type: 3, value: "DRYWALL" }; + IfcConstructionMaterialResourceTypeEnum.FUEL = { type: 3, value: "FUEL" }; + IfcConstructionMaterialResourceTypeEnum.GYPSUM = { type: 3, value: "GYPSUM" }; + IfcConstructionMaterialResourceTypeEnum.MASONRY = { type: 3, value: "MASONRY" }; + IfcConstructionMaterialResourceTypeEnum.METAL = { type: 3, value: "METAL" }; + IfcConstructionMaterialResourceTypeEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcConstructionMaterialResourceTypeEnum.WOOD = { type: 3, value: "WOOD" }; + IfcConstructionMaterialResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IfcConstructionMaterialResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC42.IfcConstructionMaterialResourceTypeEnum = IfcConstructionMaterialResourceTypeEnum; + class IfcConstructionProductResourceTypeEnum { + } + IfcConstructionProductResourceTypeEnum.ASSEMBLY = { type: 3, value: "ASSEMBLY" }; + IfcConstructionProductResourceTypeEnum.FORMWORK = { type: 3, value: "FORMWORK" }; + IfcConstructionProductResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConstructionProductResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcConstructionProductResourceTypeEnum = IfcConstructionProductResourceTypeEnum; + class IfcControllerTypeEnum { + } + IfcControllerTypeEnum.FLOATING = { type: 3, value: "FLOATING" }; + IfcControllerTypeEnum.PROGRAMMABLE = { type: 3, value: "PROGRAMMABLE" }; + IfcControllerTypeEnum.PROPORTIONAL = { type: 3, value: "PROPORTIONAL" }; + IfcControllerTypeEnum.MULTIPOSITION = { type: 3, value: "MULTIPOSITION" }; + IfcControllerTypeEnum.TWOPOSITION = { type: 3, value: "TWOPOSITION" }; + IfcControllerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcControllerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcControllerTypeEnum = IfcControllerTypeEnum; + class IfcCooledBeamTypeEnum { + } + IfcCooledBeamTypeEnum.ACTIVE = { type: 3, value: "ACTIVE" }; + IfcCooledBeamTypeEnum.PASSIVE = { type: 3, value: "PASSIVE" }; + IfcCooledBeamTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCooledBeamTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCooledBeamTypeEnum = IfcCooledBeamTypeEnum; + class IfcCoolingTowerTypeEnum { + } + IfcCoolingTowerTypeEnum.NATURALDRAFT = { type: 3, value: "NATURALDRAFT" }; + IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT = { type: 3, value: "MECHANICALINDUCEDDRAFT" }; + IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT = { type: 3, value: "MECHANICALFORCEDDRAFT" }; + IfcCoolingTowerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoolingTowerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCoolingTowerTypeEnum = IfcCoolingTowerTypeEnum; + class IfcCostItemTypeEnum { + } + IfcCostItemTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCostItemTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCostItemTypeEnum = IfcCostItemTypeEnum; + class IfcCostScheduleTypeEnum { + } + IfcCostScheduleTypeEnum.BUDGET = { type: 3, value: "BUDGET" }; + IfcCostScheduleTypeEnum.COSTPLAN = { type: 3, value: "COSTPLAN" }; + IfcCostScheduleTypeEnum.ESTIMATE = { type: 3, value: "ESTIMATE" }; + IfcCostScheduleTypeEnum.TENDER = { type: 3, value: "TENDER" }; + IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES = { type: 3, value: "PRICEDBILLOFQUANTITIES" }; + IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES = { type: 3, value: "UNPRICEDBILLOFQUANTITIES" }; + IfcCostScheduleTypeEnum.SCHEDULEOFRATES = { type: 3, value: "SCHEDULEOFRATES" }; + IfcCostScheduleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCostScheduleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCostScheduleTypeEnum = IfcCostScheduleTypeEnum; + class IfcCoveringTypeEnum { + } + IfcCoveringTypeEnum.CEILING = { type: 3, value: "CEILING" }; + IfcCoveringTypeEnum.FLOORING = { type: 3, value: "FLOORING" }; + IfcCoveringTypeEnum.CLADDING = { type: 3, value: "CLADDING" }; + IfcCoveringTypeEnum.ROOFING = { type: 3, value: "ROOFING" }; + IfcCoveringTypeEnum.MOLDING = { type: 3, value: "MOLDING" }; + IfcCoveringTypeEnum.SKIRTINGBOARD = { type: 3, value: "SKIRTINGBOARD" }; + IfcCoveringTypeEnum.INSULATION = { type: 3, value: "INSULATION" }; + IfcCoveringTypeEnum.MEMBRANE = { type: 3, value: "MEMBRANE" }; + IfcCoveringTypeEnum.SLEEVING = { type: 3, value: "SLEEVING" }; + IfcCoveringTypeEnum.WRAPPING = { type: 3, value: "WRAPPING" }; + IfcCoveringTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoveringTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCoveringTypeEnum = IfcCoveringTypeEnum; + class IfcCrewResourceTypeEnum { + } + IfcCrewResourceTypeEnum.OFFICE = { type: 3, value: "OFFICE" }; + IfcCrewResourceTypeEnum.SITE = { type: 3, value: "SITE" }; + IfcCrewResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCrewResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCrewResourceTypeEnum = IfcCrewResourceTypeEnum; + class IfcCurtainWallTypeEnum { + } + IfcCurtainWallTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCurtainWallTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCurtainWallTypeEnum = IfcCurtainWallTypeEnum; + class IfcCurveInterpolationEnum { + } + IfcCurveInterpolationEnum.LINEAR = { type: 3, value: "LINEAR" }; + IfcCurveInterpolationEnum.LOG_LINEAR = { type: 3, value: "LOG_LINEAR" }; + IfcCurveInterpolationEnum.LOG_LOG = { type: 3, value: "LOG_LOG" }; + IfcCurveInterpolationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcCurveInterpolationEnum = IfcCurveInterpolationEnum; + class IfcDamperTypeEnum { + } + IfcDamperTypeEnum.BACKDRAFTDAMPER = { type: 3, value: "BACKDRAFTDAMPER" }; + IfcDamperTypeEnum.BALANCINGDAMPER = { type: 3, value: "BALANCINGDAMPER" }; + IfcDamperTypeEnum.BLASTDAMPER = { type: 3, value: "BLASTDAMPER" }; + IfcDamperTypeEnum.CONTROLDAMPER = { type: 3, value: "CONTROLDAMPER" }; + IfcDamperTypeEnum.FIREDAMPER = { type: 3, value: "FIREDAMPER" }; + IfcDamperTypeEnum.FIRESMOKEDAMPER = { type: 3, value: "FIRESMOKEDAMPER" }; + IfcDamperTypeEnum.FUMEHOODEXHAUST = { type: 3, value: "FUMEHOODEXHAUST" }; + IfcDamperTypeEnum.GRAVITYDAMPER = { type: 3, value: "GRAVITYDAMPER" }; + IfcDamperTypeEnum.GRAVITYRELIEFDAMPER = { type: 3, value: "GRAVITYRELIEFDAMPER" }; + IfcDamperTypeEnum.RELIEFDAMPER = { type: 3, value: "RELIEFDAMPER" }; + IfcDamperTypeEnum.SMOKEDAMPER = { type: 3, value: "SMOKEDAMPER" }; + IfcDamperTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDamperTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDamperTypeEnum = IfcDamperTypeEnum; + class IfcDataOriginEnum { + } + IfcDataOriginEnum.MEASURED = { type: 3, value: "MEASURED" }; + IfcDataOriginEnum.PREDICTED = { type: 3, value: "PREDICTED" }; + IfcDataOriginEnum.SIMULATED = { type: 3, value: "SIMULATED" }; + IfcDataOriginEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDataOriginEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDataOriginEnum = IfcDataOriginEnum; + class IfcDerivedUnitEnum { + } + IfcDerivedUnitEnum.ANGULARVELOCITYUNIT = { type: 3, value: "ANGULARVELOCITYUNIT" }; + IfcDerivedUnitEnum.AREADENSITYUNIT = { type: 3, value: "AREADENSITYUNIT" }; + IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT = { type: 3, value: "COMPOUNDPLANEANGLEUNIT" }; + IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT = { type: 3, value: "DYNAMICVISCOSITYUNIT" }; + IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT = { type: 3, value: "HEATFLUXDENSITYUNIT" }; + IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT = { type: 3, value: "INTEGERCOUNTRATEUNIT" }; + IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT = { type: 3, value: "ISOTHERMALMOISTURECAPACITYUNIT" }; + IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT = { type: 3, value: "KINEMATICVISCOSITYUNIT" }; + IfcDerivedUnitEnum.LINEARVELOCITYUNIT = { type: 3, value: "LINEARVELOCITYUNIT" }; + IfcDerivedUnitEnum.MASSDENSITYUNIT = { type: 3, value: "MASSDENSITYUNIT" }; + IfcDerivedUnitEnum.MASSFLOWRATEUNIT = { type: 3, value: "MASSFLOWRATEUNIT" }; + IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT = { type: 3, value: "MOISTUREDIFFUSIVITYUNIT" }; + IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT = { type: 3, value: "MOLECULARWEIGHTUNIT" }; + IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT = { type: 3, value: "SPECIFICHEATCAPACITYUNIT" }; + IfcDerivedUnitEnum.THERMALADMITTANCEUNIT = { type: 3, value: "THERMALADMITTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT = { type: 3, value: "THERMALCONDUCTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALRESISTANCEUNIT = { type: 3, value: "THERMALRESISTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT = { type: 3, value: "THERMALTRANSMITTANCEUNIT" }; + IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT = { type: 3, value: "VAPORPERMEABILITYUNIT" }; + IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT = { type: 3, value: "VOLUMETRICFLOWRATEUNIT" }; + IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT = { type: 3, value: "ROTATIONALFREQUENCYUNIT" }; + IfcDerivedUnitEnum.TORQUEUNIT = { type: 3, value: "TORQUEUNIT" }; + IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT = { type: 3, value: "MOMENTOFINERTIAUNIT" }; + IfcDerivedUnitEnum.LINEARMOMENTUNIT = { type: 3, value: "LINEARMOMENTUNIT" }; + IfcDerivedUnitEnum.LINEARFORCEUNIT = { type: 3, value: "LINEARFORCEUNIT" }; + IfcDerivedUnitEnum.PLANARFORCEUNIT = { type: 3, value: "PLANARFORCEUNIT" }; + IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT = { type: 3, value: "MODULUSOFELASTICITYUNIT" }; + IfcDerivedUnitEnum.SHEARMODULUSUNIT = { type: 3, value: "SHEARMODULUSUNIT" }; + IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT = { type: 3, value: "LINEARSTIFFNESSUNIT" }; + IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT = { type: 3, value: "ROTATIONALSTIFFNESSUNIT" }; + IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.ACCELERATIONUNIT = { type: 3, value: "ACCELERATIONUNIT" }; + IfcDerivedUnitEnum.CURVATUREUNIT = { type: 3, value: "CURVATUREUNIT" }; + IfcDerivedUnitEnum.HEATINGVALUEUNIT = { type: 3, value: "HEATINGVALUEUNIT" }; + IfcDerivedUnitEnum.IONCONCENTRATIONUNIT = { type: 3, value: "IONCONCENTRATIONUNIT" }; + IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT = { type: 3, value: "LUMINOUSINTENSITYDISTRIBUTIONUNIT" }; + IfcDerivedUnitEnum.MASSPERLENGTHUNIT = { type: 3, value: "MASSPERLENGTHUNIT" }; + IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFLINEARSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFROTATIONALSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.PHUNIT = { type: 3, value: "PHUNIT" }; + IfcDerivedUnitEnum.ROTATIONALMASSUNIT = { type: 3, value: "ROTATIONALMASSUNIT" }; + IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT = { type: 3, value: "SECTIONAREAINTEGRALUNIT" }; + IfcDerivedUnitEnum.SECTIONMODULUSUNIT = { type: 3, value: "SECTIONMODULUSUNIT" }; + IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT = { type: 3, value: "SOUNDPOWERLEVELUNIT" }; + IfcDerivedUnitEnum.SOUNDPOWERUNIT = { type: 3, value: "SOUNDPOWERUNIT" }; + IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT = { type: 3, value: "SOUNDPRESSURELEVELUNIT" }; + IfcDerivedUnitEnum.SOUNDPRESSUREUNIT = { type: 3, value: "SOUNDPRESSUREUNIT" }; + IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT = { type: 3, value: "TEMPERATUREGRADIENTUNIT" }; + IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT = { type: 3, value: "TEMPERATURERATEOFCHANGEUNIT" }; + IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT = { type: 3, value: "THERMALEXPANSIONCOEFFICIENTUNIT" }; + IfcDerivedUnitEnum.WARPINGCONSTANTUNIT = { type: 3, value: "WARPINGCONSTANTUNIT" }; + IfcDerivedUnitEnum.WARPINGMOMENTUNIT = { type: 3, value: "WARPINGMOMENTUNIT" }; + IfcDerivedUnitEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC42.IfcDerivedUnitEnum = IfcDerivedUnitEnum; + class IfcDirectionSenseEnum { + } + IfcDirectionSenseEnum.POSITIVE = { type: 3, value: "POSITIVE" }; + IfcDirectionSenseEnum.NEGATIVE = { type: 3, value: "NEGATIVE" }; + IFC42.IfcDirectionSenseEnum = IfcDirectionSenseEnum; + class IfcDiscreteAccessoryTypeEnum { + } + IfcDiscreteAccessoryTypeEnum.ANCHORPLATE = { type: 3, value: "ANCHORPLATE" }; + IfcDiscreteAccessoryTypeEnum.BRACKET = { type: 3, value: "BRACKET" }; + IfcDiscreteAccessoryTypeEnum.SHOE = { type: 3, value: "SHOE" }; + IfcDiscreteAccessoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDiscreteAccessoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDiscreteAccessoryTypeEnum = IfcDiscreteAccessoryTypeEnum; + class IfcDistributionChamberElementTypeEnum { + } + IfcDistributionChamberElementTypeEnum.FORMEDDUCT = { type: 3, value: "FORMEDDUCT" }; + IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER = { type: 3, value: "INSPECTIONCHAMBER" }; + IfcDistributionChamberElementTypeEnum.INSPECTIONPIT = { type: 3, value: "INSPECTIONPIT" }; + IfcDistributionChamberElementTypeEnum.MANHOLE = { type: 3, value: "MANHOLE" }; + IfcDistributionChamberElementTypeEnum.METERCHAMBER = { type: 3, value: "METERCHAMBER" }; + IfcDistributionChamberElementTypeEnum.SUMP = { type: 3, value: "SUMP" }; + IfcDistributionChamberElementTypeEnum.TRENCH = { type: 3, value: "TRENCH" }; + IfcDistributionChamberElementTypeEnum.VALVECHAMBER = { type: 3, value: "VALVECHAMBER" }; + IfcDistributionChamberElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDistributionChamberElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDistributionChamberElementTypeEnum = IfcDistributionChamberElementTypeEnum; + class IfcDistributionPortTypeEnum { + } + IfcDistributionPortTypeEnum.CABLE = { type: 3, value: "CABLE" }; + IfcDistributionPortTypeEnum.CABLECARRIER = { type: 3, value: "CABLECARRIER" }; + IfcDistributionPortTypeEnum.DUCT = { type: 3, value: "DUCT" }; + IfcDistributionPortTypeEnum.PIPE = { type: 3, value: "PIPE" }; + IfcDistributionPortTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDistributionPortTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDistributionPortTypeEnum = IfcDistributionPortTypeEnum; + class IfcDistributionSystemEnum { + } + IfcDistributionSystemEnum.AIRCONDITIONING = { type: 3, value: "AIRCONDITIONING" }; + IfcDistributionSystemEnum.AUDIOVISUAL = { type: 3, value: "AUDIOVISUAL" }; + IfcDistributionSystemEnum.CHEMICAL = { type: 3, value: "CHEMICAL" }; + IfcDistributionSystemEnum.CHILLEDWATER = { type: 3, value: "CHILLEDWATER" }; + IfcDistributionSystemEnum.COMMUNICATION = { type: 3, value: "COMMUNICATION" }; + IfcDistributionSystemEnum.COMPRESSEDAIR = { type: 3, value: "COMPRESSEDAIR" }; + IfcDistributionSystemEnum.CONDENSERWATER = { type: 3, value: "CONDENSERWATER" }; + IfcDistributionSystemEnum.CONTROL = { type: 3, value: "CONTROL" }; + IfcDistributionSystemEnum.CONVEYING = { type: 3, value: "CONVEYING" }; + IfcDistributionSystemEnum.DATA = { type: 3, value: "DATA" }; + IfcDistributionSystemEnum.DISPOSAL = { type: 3, value: "DISPOSAL" }; + IfcDistributionSystemEnum.DOMESTICCOLDWATER = { type: 3, value: "DOMESTICCOLDWATER" }; + IfcDistributionSystemEnum.DOMESTICHOTWATER = { type: 3, value: "DOMESTICHOTWATER" }; + IfcDistributionSystemEnum.DRAINAGE = { type: 3, value: "DRAINAGE" }; + IfcDistributionSystemEnum.EARTHING = { type: 3, value: "EARTHING" }; + IfcDistributionSystemEnum.ELECTRICAL = { type: 3, value: "ELECTRICAL" }; + IfcDistributionSystemEnum.ELECTROACOUSTIC = { type: 3, value: "ELECTROACOUSTIC" }; + IfcDistributionSystemEnum.EXHAUST = { type: 3, value: "EXHAUST" }; + IfcDistributionSystemEnum.FIREPROTECTION = { type: 3, value: "FIREPROTECTION" }; + IfcDistributionSystemEnum.FUEL = { type: 3, value: "FUEL" }; + IfcDistributionSystemEnum.GAS = { type: 3, value: "GAS" }; + IfcDistributionSystemEnum.HAZARDOUS = { type: 3, value: "HAZARDOUS" }; + IfcDistributionSystemEnum.HEATING = { type: 3, value: "HEATING" }; + IfcDistributionSystemEnum.LIGHTING = { type: 3, value: "LIGHTING" }; + IfcDistributionSystemEnum.LIGHTNINGPROTECTION = { type: 3, value: "LIGHTNINGPROTECTION" }; + IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE = { type: 3, value: "MUNICIPALSOLIDWASTE" }; + IfcDistributionSystemEnum.OIL = { type: 3, value: "OIL" }; + IfcDistributionSystemEnum.OPERATIONAL = { type: 3, value: "OPERATIONAL" }; + IfcDistributionSystemEnum.POWERGENERATION = { type: 3, value: "POWERGENERATION" }; + IfcDistributionSystemEnum.RAINWATER = { type: 3, value: "RAINWATER" }; + IfcDistributionSystemEnum.REFRIGERATION = { type: 3, value: "REFRIGERATION" }; + IfcDistributionSystemEnum.SECURITY = { type: 3, value: "SECURITY" }; + IfcDistributionSystemEnum.SEWAGE = { type: 3, value: "SEWAGE" }; + IfcDistributionSystemEnum.SIGNAL = { type: 3, value: "SIGNAL" }; + IfcDistributionSystemEnum.STORMWATER = { type: 3, value: "STORMWATER" }; + IfcDistributionSystemEnum.TELEPHONE = { type: 3, value: "TELEPHONE" }; + IfcDistributionSystemEnum.TV = { type: 3, value: "TV" }; + IfcDistributionSystemEnum.VACUUM = { type: 3, value: "VACUUM" }; + IfcDistributionSystemEnum.VENT = { type: 3, value: "VENT" }; + IfcDistributionSystemEnum.VENTILATION = { type: 3, value: "VENTILATION" }; + IfcDistributionSystemEnum.WASTEWATER = { type: 3, value: "WASTEWATER" }; + IfcDistributionSystemEnum.WATERSUPPLY = { type: 3, value: "WATERSUPPLY" }; + IfcDistributionSystemEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDistributionSystemEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDistributionSystemEnum = IfcDistributionSystemEnum; + class IfcDocumentConfidentialityEnum { + } + IfcDocumentConfidentialityEnum.PUBLIC = { type: 3, value: "PUBLIC" }; + IfcDocumentConfidentialityEnum.RESTRICTED = { type: 3, value: "RESTRICTED" }; + IfcDocumentConfidentialityEnum.CONFIDENTIAL = { type: 3, value: "CONFIDENTIAL" }; + IfcDocumentConfidentialityEnum.PERSONAL = { type: 3, value: "PERSONAL" }; + IfcDocumentConfidentialityEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDocumentConfidentialityEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDocumentConfidentialityEnum = IfcDocumentConfidentialityEnum; + class IfcDocumentStatusEnum { + } + IfcDocumentStatusEnum.DRAFT = { type: 3, value: "DRAFT" }; + IfcDocumentStatusEnum.FINALDRAFT = { type: 3, value: "FINALDRAFT" }; + IfcDocumentStatusEnum.FINAL = { type: 3, value: "FINAL" }; + IfcDocumentStatusEnum.REVISION = { type: 3, value: "REVISION" }; + IfcDocumentStatusEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDocumentStatusEnum = IfcDocumentStatusEnum; + class IfcDoorPanelOperationEnum { + } + IfcDoorPanelOperationEnum.SWINGING = { type: 3, value: "SWINGING" }; + IfcDoorPanelOperationEnum.DOUBLE_ACTING = { type: 3, value: "DOUBLE_ACTING" }; + IfcDoorPanelOperationEnum.SLIDING = { type: 3, value: "SLIDING" }; + IfcDoorPanelOperationEnum.FOLDING = { type: 3, value: "FOLDING" }; + IfcDoorPanelOperationEnum.REVOLVING = { type: 3, value: "REVOLVING" }; + IfcDoorPanelOperationEnum.ROLLINGUP = { type: 3, value: "ROLLINGUP" }; + IfcDoorPanelOperationEnum.FIXEDPANEL = { type: 3, value: "FIXEDPANEL" }; + IfcDoorPanelOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorPanelOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDoorPanelOperationEnum = IfcDoorPanelOperationEnum; + class IfcDoorPanelPositionEnum { + } + IfcDoorPanelPositionEnum.LEFT = { type: 3, value: "LEFT" }; + IfcDoorPanelPositionEnum.MIDDLE = { type: 3, value: "MIDDLE" }; + IfcDoorPanelPositionEnum.RIGHT = { type: 3, value: "RIGHT" }; + IfcDoorPanelPositionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDoorPanelPositionEnum = IfcDoorPanelPositionEnum; + class IfcDoorStyleConstructionEnum { + } + IfcDoorStyleConstructionEnum.ALUMINIUM = { type: 3, value: "ALUMINIUM" }; + IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL = { type: 3, value: "HIGH_GRADE_STEEL" }; + IfcDoorStyleConstructionEnum.STEEL = { type: 3, value: "STEEL" }; + IfcDoorStyleConstructionEnum.WOOD = { type: 3, value: "WOOD" }; + IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD = { type: 3, value: "ALUMINIUM_WOOD" }; + IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC = { type: 3, value: "ALUMINIUM_PLASTIC" }; + IfcDoorStyleConstructionEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcDoorStyleConstructionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorStyleConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDoorStyleConstructionEnum = IfcDoorStyleConstructionEnum; + class IfcDoorStyleOperationEnum { + } + IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT = { type: 3, value: "SINGLE_SWING_LEFT" }; + IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT = { type: 3, value: "SINGLE_SWING_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT = { type: 3, value: "DOUBLE_SWING_LEFT" }; + IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT = { type: 3, value: "DOUBLE_SWING_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING = { type: 3, value: "DOUBLE_DOOR_DOUBLE_SWING" }; + IfcDoorStyleOperationEnum.SLIDING_TO_LEFT = { type: 3, value: "SLIDING_TO_LEFT" }; + IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT = { type: 3, value: "SLIDING_TO_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING = { type: 3, value: "DOUBLE_DOOR_SLIDING" }; + IfcDoorStyleOperationEnum.FOLDING_TO_LEFT = { type: 3, value: "FOLDING_TO_LEFT" }; + IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT = { type: 3, value: "FOLDING_TO_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING = { type: 3, value: "DOUBLE_DOOR_FOLDING" }; + IfcDoorStyleOperationEnum.REVOLVING = { type: 3, value: "REVOLVING" }; + IfcDoorStyleOperationEnum.ROLLINGUP = { type: 3, value: "ROLLINGUP" }; + IfcDoorStyleOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorStyleOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDoorStyleOperationEnum = IfcDoorStyleOperationEnum; + class IfcDoorTypeEnum { + } + IfcDoorTypeEnum.DOOR = { type: 3, value: "DOOR" }; + IfcDoorTypeEnum.GATE = { type: 3, value: "GATE" }; + IfcDoorTypeEnum.TRAPDOOR = { type: 3, value: "TRAPDOOR" }; + IfcDoorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDoorTypeEnum = IfcDoorTypeEnum; + class IfcDoorTypeOperationEnum { + } + IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT = { type: 3, value: "SINGLE_SWING_LEFT" }; + IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT = { type: 3, value: "SINGLE_SWING_RIGHT" }; + IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING" }; + IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT" }; + IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT" }; + IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT = { type: 3, value: "DOUBLE_SWING_LEFT" }; + IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT = { type: 3, value: "DOUBLE_SWING_RIGHT" }; + IfcDoorTypeOperationEnum.DOUBLE_DOOR_DOUBLE_SWING = { type: 3, value: "DOUBLE_DOOR_DOUBLE_SWING" }; + IfcDoorTypeOperationEnum.SLIDING_TO_LEFT = { type: 3, value: "SLIDING_TO_LEFT" }; + IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT = { type: 3, value: "SLIDING_TO_RIGHT" }; + IfcDoorTypeOperationEnum.DOUBLE_DOOR_SLIDING = { type: 3, value: "DOUBLE_DOOR_SLIDING" }; + IfcDoorTypeOperationEnum.FOLDING_TO_LEFT = { type: 3, value: "FOLDING_TO_LEFT" }; + IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT = { type: 3, value: "FOLDING_TO_RIGHT" }; + IfcDoorTypeOperationEnum.DOUBLE_DOOR_FOLDING = { type: 3, value: "DOUBLE_DOOR_FOLDING" }; + IfcDoorTypeOperationEnum.REVOLVING = { type: 3, value: "REVOLVING" }; + IfcDoorTypeOperationEnum.ROLLINGUP = { type: 3, value: "ROLLINGUP" }; + IfcDoorTypeOperationEnum.SWING_FIXED_LEFT = { type: 3, value: "SWING_FIXED_LEFT" }; + IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT = { type: 3, value: "SWING_FIXED_RIGHT" }; + IfcDoorTypeOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorTypeOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDoorTypeOperationEnum = IfcDoorTypeOperationEnum; + class IfcDuctFittingTypeEnum { + } + IfcDuctFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcDuctFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcDuctFittingTypeEnum.ENTRY = { type: 3, value: "ENTRY" }; + IfcDuctFittingTypeEnum.EXIT = { type: 3, value: "EXIT" }; + IfcDuctFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcDuctFittingTypeEnum.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" }; + IfcDuctFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcDuctFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDuctFittingTypeEnum = IfcDuctFittingTypeEnum; + class IfcDuctSegmentTypeEnum { + } + IfcDuctSegmentTypeEnum.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" }; + IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" }; + IfcDuctSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDuctSegmentTypeEnum = IfcDuctSegmentTypeEnum; + class IfcDuctSilencerTypeEnum { + } + IfcDuctSilencerTypeEnum.FLATOVAL = { type: 3, value: "FLATOVAL" }; + IfcDuctSilencerTypeEnum.RECTANGULAR = { type: 3, value: "RECTANGULAR" }; + IfcDuctSilencerTypeEnum.ROUND = { type: 3, value: "ROUND" }; + IfcDuctSilencerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctSilencerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcDuctSilencerTypeEnum = IfcDuctSilencerTypeEnum; + class IfcElectricApplianceTypeEnum { + } + IfcElectricApplianceTypeEnum.DISHWASHER = { type: 3, value: "DISHWASHER" }; + IfcElectricApplianceTypeEnum.ELECTRICCOOKER = { type: 3, value: "ELECTRICCOOKER" }; + IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER = { type: 3, value: "FREESTANDINGELECTRICHEATER" }; + IfcElectricApplianceTypeEnum.FREESTANDINGFAN = { type: 3, value: "FREESTANDINGFAN" }; + IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER = { type: 3, value: "FREESTANDINGWATERHEATER" }; + IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER = { type: 3, value: "FREESTANDINGWATERCOOLER" }; + IfcElectricApplianceTypeEnum.FREEZER = { type: 3, value: "FREEZER" }; + IfcElectricApplianceTypeEnum.FRIDGE_FREEZER = { type: 3, value: "FRIDGE_FREEZER" }; + IfcElectricApplianceTypeEnum.HANDDRYER = { type: 3, value: "HANDDRYER" }; + IfcElectricApplianceTypeEnum.KITCHENMACHINE = { type: 3, value: "KITCHENMACHINE" }; + IfcElectricApplianceTypeEnum.MICROWAVE = { type: 3, value: "MICROWAVE" }; + IfcElectricApplianceTypeEnum.PHOTOCOPIER = { type: 3, value: "PHOTOCOPIER" }; + IfcElectricApplianceTypeEnum.REFRIGERATOR = { type: 3, value: "REFRIGERATOR" }; + IfcElectricApplianceTypeEnum.TUMBLEDRYER = { type: 3, value: "TUMBLEDRYER" }; + IfcElectricApplianceTypeEnum.VENDINGMACHINE = { type: 3, value: "VENDINGMACHINE" }; + IfcElectricApplianceTypeEnum.WASHINGMACHINE = { type: 3, value: "WASHINGMACHINE" }; + IfcElectricApplianceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricApplianceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcElectricApplianceTypeEnum = IfcElectricApplianceTypeEnum; + class IfcElectricDistributionBoardTypeEnum { + } + IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT = { type: 3, value: "CONSUMERUNIT" }; + IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD = { type: 3, value: "DISTRIBUTIONBOARD" }; + IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE = { type: 3, value: "MOTORCONTROLCENTRE" }; + IfcElectricDistributionBoardTypeEnum.SWITCHBOARD = { type: 3, value: "SWITCHBOARD" }; + IfcElectricDistributionBoardTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricDistributionBoardTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcElectricDistributionBoardTypeEnum = IfcElectricDistributionBoardTypeEnum; + class IfcElectricFlowStorageDeviceTypeEnum { + } + IfcElectricFlowStorageDeviceTypeEnum.BATTERY = { type: 3, value: "BATTERY" }; + IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK = { type: 3, value: "CAPACITORBANK" }; + IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER = { type: 3, value: "HARMONICFILTER" }; + IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK = { type: 3, value: "INDUCTORBANK" }; + IfcElectricFlowStorageDeviceTypeEnum.UPS = { type: 3, value: "UPS" }; + IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcElectricFlowStorageDeviceTypeEnum = IfcElectricFlowStorageDeviceTypeEnum; + class IfcElectricGeneratorTypeEnum { + } + IfcElectricGeneratorTypeEnum.CHP = { type: 3, value: "CHP" }; + IfcElectricGeneratorTypeEnum.ENGINEGENERATOR = { type: 3, value: "ENGINEGENERATOR" }; + IfcElectricGeneratorTypeEnum.STANDALONE = { type: 3, value: "STANDALONE" }; + IfcElectricGeneratorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricGeneratorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcElectricGeneratorTypeEnum = IfcElectricGeneratorTypeEnum; + class IfcElectricMotorTypeEnum { + } + IfcElectricMotorTypeEnum.DC = { type: 3, value: "DC" }; + IfcElectricMotorTypeEnum.INDUCTION = { type: 3, value: "INDUCTION" }; + IfcElectricMotorTypeEnum.POLYPHASE = { type: 3, value: "POLYPHASE" }; + IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS = { type: 3, value: "RELUCTANCESYNCHRONOUS" }; + IfcElectricMotorTypeEnum.SYNCHRONOUS = { type: 3, value: "SYNCHRONOUS" }; + IfcElectricMotorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricMotorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcElectricMotorTypeEnum = IfcElectricMotorTypeEnum; + class IfcElectricTimeControlTypeEnum { + } + IfcElectricTimeControlTypeEnum.TIMECLOCK = { type: 3, value: "TIMECLOCK" }; + IfcElectricTimeControlTypeEnum.TIMEDELAY = { type: 3, value: "TIMEDELAY" }; + IfcElectricTimeControlTypeEnum.RELAY = { type: 3, value: "RELAY" }; + IfcElectricTimeControlTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricTimeControlTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcElectricTimeControlTypeEnum = IfcElectricTimeControlTypeEnum; + class IfcElementAssemblyTypeEnum { + } + IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY = { type: 3, value: "ACCESSORY_ASSEMBLY" }; + IfcElementAssemblyTypeEnum.ARCH = { type: 3, value: "ARCH" }; + IfcElementAssemblyTypeEnum.BEAM_GRID = { type: 3, value: "BEAM_GRID" }; + IfcElementAssemblyTypeEnum.BRACED_FRAME = { type: 3, value: "BRACED_FRAME" }; + IfcElementAssemblyTypeEnum.GIRDER = { type: 3, value: "GIRDER" }; + IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT = { type: 3, value: "REINFORCEMENT_UNIT" }; + IfcElementAssemblyTypeEnum.RIGID_FRAME = { type: 3, value: "RIGID_FRAME" }; + IfcElementAssemblyTypeEnum.SLAB_FIELD = { type: 3, value: "SLAB_FIELD" }; + IfcElementAssemblyTypeEnum.TRUSS = { type: 3, value: "TRUSS" }; + IfcElementAssemblyTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElementAssemblyTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcElementAssemblyTypeEnum = IfcElementAssemblyTypeEnum; + class IfcElementCompositionEnum { + } + IfcElementCompositionEnum.COMPLEX = { type: 3, value: "COMPLEX" }; + IfcElementCompositionEnum.ELEMENT = { type: 3, value: "ELEMENT" }; + IfcElementCompositionEnum.PARTIAL = { type: 3, value: "PARTIAL" }; + IFC42.IfcElementCompositionEnum = IfcElementCompositionEnum; + class IfcEngineTypeEnum { + } + IfcEngineTypeEnum.EXTERNALCOMBUSTION = { type: 3, value: "EXTERNALCOMBUSTION" }; + IfcEngineTypeEnum.INTERNALCOMBUSTION = { type: 3, value: "INTERNALCOMBUSTION" }; + IfcEngineTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEngineTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcEngineTypeEnum = IfcEngineTypeEnum; + class IfcEvaporativeCoolerTypeEnum { + } + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER = { type: 3, value: "DIRECTEVAPORATIVEAIRWASHER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER = { type: 3, value: "INDIRECTEVAPORATIVEPACKAGEAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL = { type: 3, value: "INDIRECTEVAPORATIVEWETCOIL" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER = { type: 3, value: "INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION = { type: 3, value: "INDIRECTDIRECTCOMBINATION" }; + IfcEvaporativeCoolerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEvaporativeCoolerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcEvaporativeCoolerTypeEnum = IfcEvaporativeCoolerTypeEnum; + class IfcEvaporatorTypeEnum { + } + IfcEvaporatorTypeEnum.DIRECTEXPANSION = { type: 3, value: "DIRECTEXPANSION" }; + IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE = { type: 3, value: "DIRECTEXPANSIONSHELLANDTUBE" }; + IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE = { type: 3, value: "DIRECTEXPANSIONTUBEINTUBE" }; + IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE = { type: 3, value: "DIRECTEXPANSIONBRAZEDPLATE" }; + IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE = { type: 3, value: "FLOODEDSHELLANDTUBE" }; + IfcEvaporatorTypeEnum.SHELLANDCOIL = { type: 3, value: "SHELLANDCOIL" }; + IfcEvaporatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEvaporatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcEvaporatorTypeEnum = IfcEvaporatorTypeEnum; + class IfcEventTriggerTypeEnum { + } + IfcEventTriggerTypeEnum.EVENTRULE = { type: 3, value: "EVENTRULE" }; + IfcEventTriggerTypeEnum.EVENTMESSAGE = { type: 3, value: "EVENTMESSAGE" }; + IfcEventTriggerTypeEnum.EVENTTIME = { type: 3, value: "EVENTTIME" }; + IfcEventTriggerTypeEnum.EVENTCOMPLEX = { type: 3, value: "EVENTCOMPLEX" }; + IfcEventTriggerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEventTriggerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcEventTriggerTypeEnum = IfcEventTriggerTypeEnum; + class IfcEventTypeEnum { + } + IfcEventTypeEnum.STARTEVENT = { type: 3, value: "STARTEVENT" }; + IfcEventTypeEnum.ENDEVENT = { type: 3, value: "ENDEVENT" }; + IfcEventTypeEnum.INTERMEDIATEEVENT = { type: 3, value: "INTERMEDIATEEVENT" }; + IfcEventTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEventTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcEventTypeEnum = IfcEventTypeEnum; + class IfcExternalSpatialElementTypeEnum { + } + IfcExternalSpatialElementTypeEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH = { type: 3, value: "EXTERNAL_EARTH" }; + IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER = { type: 3, value: "EXTERNAL_WATER" }; + IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE = { type: 3, value: "EXTERNAL_FIRE" }; + IfcExternalSpatialElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcExternalSpatialElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcExternalSpatialElementTypeEnum = IfcExternalSpatialElementTypeEnum; + class IfcFanTypeEnum { + } + IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED = { type: 3, value: "CENTRIFUGALFORWARDCURVED" }; + IfcFanTypeEnum.CENTRIFUGALRADIAL = { type: 3, value: "CENTRIFUGALRADIAL" }; + IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED = { type: 3, value: "CENTRIFUGALBACKWARDINCLINEDCURVED" }; + IfcFanTypeEnum.CENTRIFUGALAIRFOIL = { type: 3, value: "CENTRIFUGALAIRFOIL" }; + IfcFanTypeEnum.TUBEAXIAL = { type: 3, value: "TUBEAXIAL" }; + IfcFanTypeEnum.VANEAXIAL = { type: 3, value: "VANEAXIAL" }; + IfcFanTypeEnum.PROPELLORAXIAL = { type: 3, value: "PROPELLORAXIAL" }; + IfcFanTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFanTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFanTypeEnum = IfcFanTypeEnum; + class IfcFastenerTypeEnum { + } + IfcFastenerTypeEnum.GLUE = { type: 3, value: "GLUE" }; + IfcFastenerTypeEnum.MORTAR = { type: 3, value: "MORTAR" }; + IfcFastenerTypeEnum.WELD = { type: 3, value: "WELD" }; + IfcFastenerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFastenerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFastenerTypeEnum = IfcFastenerTypeEnum; + class IfcFilterTypeEnum { + } + IfcFilterTypeEnum.AIRPARTICLEFILTER = { type: 3, value: "AIRPARTICLEFILTER" }; + IfcFilterTypeEnum.COMPRESSEDAIRFILTER = { type: 3, value: "COMPRESSEDAIRFILTER" }; + IfcFilterTypeEnum.ODORFILTER = { type: 3, value: "ODORFILTER" }; + IfcFilterTypeEnum.OILFILTER = { type: 3, value: "OILFILTER" }; + IfcFilterTypeEnum.STRAINER = { type: 3, value: "STRAINER" }; + IfcFilterTypeEnum.WATERFILTER = { type: 3, value: "WATERFILTER" }; + IfcFilterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFilterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFilterTypeEnum = IfcFilterTypeEnum; + class IfcFireSuppressionTerminalTypeEnum { + } + IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET = { type: 3, value: "BREECHINGINLET" }; + IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT = { type: 3, value: "FIREHYDRANT" }; + IfcFireSuppressionTerminalTypeEnum.HOSEREEL = { type: 3, value: "HOSEREEL" }; + IfcFireSuppressionTerminalTypeEnum.SPRINKLER = { type: 3, value: "SPRINKLER" }; + IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR = { type: 3, value: "SPRINKLERDEFLECTOR" }; + IfcFireSuppressionTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFireSuppressionTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFireSuppressionTerminalTypeEnum = IfcFireSuppressionTerminalTypeEnum; + class IfcFlowDirectionEnum { + } + IfcFlowDirectionEnum.SOURCE = { type: 3, value: "SOURCE" }; + IfcFlowDirectionEnum.SINK = { type: 3, value: "SINK" }; + IfcFlowDirectionEnum.SOURCEANDSINK = { type: 3, value: "SOURCEANDSINK" }; + IfcFlowDirectionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFlowDirectionEnum = IfcFlowDirectionEnum; + class IfcFlowInstrumentTypeEnum { + } + IfcFlowInstrumentTypeEnum.PRESSUREGAUGE = { type: 3, value: "PRESSUREGAUGE" }; + IfcFlowInstrumentTypeEnum.THERMOMETER = { type: 3, value: "THERMOMETER" }; + IfcFlowInstrumentTypeEnum.AMMETER = { type: 3, value: "AMMETER" }; + IfcFlowInstrumentTypeEnum.FREQUENCYMETER = { type: 3, value: "FREQUENCYMETER" }; + IfcFlowInstrumentTypeEnum.POWERFACTORMETER = { type: 3, value: "POWERFACTORMETER" }; + IfcFlowInstrumentTypeEnum.PHASEANGLEMETER = { type: 3, value: "PHASEANGLEMETER" }; + IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK = { type: 3, value: "VOLTMETER_PEAK" }; + IfcFlowInstrumentTypeEnum.VOLTMETER_RMS = { type: 3, value: "VOLTMETER_RMS" }; + IfcFlowInstrumentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFlowInstrumentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFlowInstrumentTypeEnum = IfcFlowInstrumentTypeEnum; + class IfcFlowMeterTypeEnum { + } + IfcFlowMeterTypeEnum.ENERGYMETER = { type: 3, value: "ENERGYMETER" }; + IfcFlowMeterTypeEnum.GASMETER = { type: 3, value: "GASMETER" }; + IfcFlowMeterTypeEnum.OILMETER = { type: 3, value: "OILMETER" }; + IfcFlowMeterTypeEnum.WATERMETER = { type: 3, value: "WATERMETER" }; + IfcFlowMeterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFlowMeterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFlowMeterTypeEnum = IfcFlowMeterTypeEnum; + class IfcFootingTypeEnum { + } + IfcFootingTypeEnum.CAISSON_FOUNDATION = { type: 3, value: "CAISSON_FOUNDATION" }; + IfcFootingTypeEnum.FOOTING_BEAM = { type: 3, value: "FOOTING_BEAM" }; + IfcFootingTypeEnum.PAD_FOOTING = { type: 3, value: "PAD_FOOTING" }; + IfcFootingTypeEnum.PILE_CAP = { type: 3, value: "PILE_CAP" }; + IfcFootingTypeEnum.STRIP_FOOTING = { type: 3, value: "STRIP_FOOTING" }; + IfcFootingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFootingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFootingTypeEnum = IfcFootingTypeEnum; + class IfcFurnitureTypeEnum { + } + IfcFurnitureTypeEnum.CHAIR = { type: 3, value: "CHAIR" }; + IfcFurnitureTypeEnum.TABLE = { type: 3, value: "TABLE" }; + IfcFurnitureTypeEnum.DESK = { type: 3, value: "DESK" }; + IfcFurnitureTypeEnum.BED = { type: 3, value: "BED" }; + IfcFurnitureTypeEnum.FILECABINET = { type: 3, value: "FILECABINET" }; + IfcFurnitureTypeEnum.SHELF = { type: 3, value: "SHELF" }; + IfcFurnitureTypeEnum.SOFA = { type: 3, value: "SOFA" }; + IfcFurnitureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFurnitureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcFurnitureTypeEnum = IfcFurnitureTypeEnum; + class IfcGeographicElementTypeEnum { + } + IfcGeographicElementTypeEnum.TERRAIN = { type: 3, value: "TERRAIN" }; + IfcGeographicElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGeographicElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcGeographicElementTypeEnum = IfcGeographicElementTypeEnum; + class IfcGeometricProjectionEnum { + } + IfcGeometricProjectionEnum.GRAPH_VIEW = { type: 3, value: "GRAPH_VIEW" }; + IfcGeometricProjectionEnum.SKETCH_VIEW = { type: 3, value: "SKETCH_VIEW" }; + IfcGeometricProjectionEnum.MODEL_VIEW = { type: 3, value: "MODEL_VIEW" }; + IfcGeometricProjectionEnum.PLAN_VIEW = { type: 3, value: "PLAN_VIEW" }; + IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW = { type: 3, value: "REFLECTED_PLAN_VIEW" }; + IfcGeometricProjectionEnum.SECTION_VIEW = { type: 3, value: "SECTION_VIEW" }; + IfcGeometricProjectionEnum.ELEVATION_VIEW = { type: 3, value: "ELEVATION_VIEW" }; + IfcGeometricProjectionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGeometricProjectionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcGeometricProjectionEnum = IfcGeometricProjectionEnum; + class IfcGlobalOrLocalEnum { + } + IfcGlobalOrLocalEnum.GLOBAL_COORDS = { type: 3, value: "GLOBAL_COORDS" }; + IfcGlobalOrLocalEnum.LOCAL_COORDS = { type: 3, value: "LOCAL_COORDS" }; + IFC42.IfcGlobalOrLocalEnum = IfcGlobalOrLocalEnum; + class IfcGridTypeEnum { + } + IfcGridTypeEnum.RECTANGULAR = { type: 3, value: "RECTANGULAR" }; + IfcGridTypeEnum.RADIAL = { type: 3, value: "RADIAL" }; + IfcGridTypeEnum.TRIANGULAR = { type: 3, value: "TRIANGULAR" }; + IfcGridTypeEnum.IRREGULAR = { type: 3, value: "IRREGULAR" }; + IfcGridTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGridTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcGridTypeEnum = IfcGridTypeEnum; + class IfcHeatExchangerTypeEnum { + } + IfcHeatExchangerTypeEnum.PLATE = { type: 3, value: "PLATE" }; + IfcHeatExchangerTypeEnum.SHELLANDTUBE = { type: 3, value: "SHELLANDTUBE" }; + IfcHeatExchangerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcHeatExchangerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcHeatExchangerTypeEnum = IfcHeatExchangerTypeEnum; + class IfcHumidifierTypeEnum { + } + IfcHumidifierTypeEnum.STEAMINJECTION = { type: 3, value: "STEAMINJECTION" }; + IfcHumidifierTypeEnum.ADIABATICAIRWASHER = { type: 3, value: "ADIABATICAIRWASHER" }; + IfcHumidifierTypeEnum.ADIABATICPAN = { type: 3, value: "ADIABATICPAN" }; + IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT = { type: 3, value: "ADIABATICWETTEDELEMENT" }; + IfcHumidifierTypeEnum.ADIABATICATOMIZING = { type: 3, value: "ADIABATICATOMIZING" }; + IfcHumidifierTypeEnum.ADIABATICULTRASONIC = { type: 3, value: "ADIABATICULTRASONIC" }; + IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA = { type: 3, value: "ADIABATICRIGIDMEDIA" }; + IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE = { type: 3, value: "ADIABATICCOMPRESSEDAIRNOZZLE" }; + IfcHumidifierTypeEnum.ASSISTEDELECTRIC = { type: 3, value: "ASSISTEDELECTRIC" }; + IfcHumidifierTypeEnum.ASSISTEDNATURALGAS = { type: 3, value: "ASSISTEDNATURALGAS" }; + IfcHumidifierTypeEnum.ASSISTEDPROPANE = { type: 3, value: "ASSISTEDPROPANE" }; + IfcHumidifierTypeEnum.ASSISTEDBUTANE = { type: 3, value: "ASSISTEDBUTANE" }; + IfcHumidifierTypeEnum.ASSISTEDSTEAM = { type: 3, value: "ASSISTEDSTEAM" }; + IfcHumidifierTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcHumidifierTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcHumidifierTypeEnum = IfcHumidifierTypeEnum; + class IfcInterceptorTypeEnum { + } + IfcInterceptorTypeEnum.CYCLONIC = { type: 3, value: "CYCLONIC" }; + IfcInterceptorTypeEnum.GREASE = { type: 3, value: "GREASE" }; + IfcInterceptorTypeEnum.OIL = { type: 3, value: "OIL" }; + IfcInterceptorTypeEnum.PETROL = { type: 3, value: "PETROL" }; + IfcInterceptorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcInterceptorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcInterceptorTypeEnum = IfcInterceptorTypeEnum; + class IfcInternalOrExternalEnum { + } + IfcInternalOrExternalEnum.INTERNAL = { type: 3, value: "INTERNAL" }; + IfcInternalOrExternalEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcInternalOrExternalEnum.EXTERNAL_EARTH = { type: 3, value: "EXTERNAL_EARTH" }; + IfcInternalOrExternalEnum.EXTERNAL_WATER = { type: 3, value: "EXTERNAL_WATER" }; + IfcInternalOrExternalEnum.EXTERNAL_FIRE = { type: 3, value: "EXTERNAL_FIRE" }; + IfcInternalOrExternalEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcInternalOrExternalEnum = IfcInternalOrExternalEnum; + class IfcInventoryTypeEnum { + } + IfcInventoryTypeEnum.ASSETINVENTORY = { type: 3, value: "ASSETINVENTORY" }; + IfcInventoryTypeEnum.SPACEINVENTORY = { type: 3, value: "SPACEINVENTORY" }; + IfcInventoryTypeEnum.FURNITUREINVENTORY = { type: 3, value: "FURNITUREINVENTORY" }; + IfcInventoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcInventoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcInventoryTypeEnum = IfcInventoryTypeEnum; + class IfcJunctionBoxTypeEnum { + } + IfcJunctionBoxTypeEnum.DATA = { type: 3, value: "DATA" }; + IfcJunctionBoxTypeEnum.POWER = { type: 3, value: "POWER" }; + IfcJunctionBoxTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcJunctionBoxTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcJunctionBoxTypeEnum = IfcJunctionBoxTypeEnum; + class IfcKnotType { + } + IfcKnotType.UNIFORM_KNOTS = { type: 3, value: "UNIFORM_KNOTS" }; + IfcKnotType.QUASI_UNIFORM_KNOTS = { type: 3, value: "QUASI_UNIFORM_KNOTS" }; + IfcKnotType.PIECEWISE_BEZIER_KNOTS = { type: 3, value: "PIECEWISE_BEZIER_KNOTS" }; + IfcKnotType.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC42.IfcKnotType = IfcKnotType; + class IfcLaborResourceTypeEnum { + } + IfcLaborResourceTypeEnum.ADMINISTRATION = { type: 3, value: "ADMINISTRATION" }; + IfcLaborResourceTypeEnum.CARPENTRY = { type: 3, value: "CARPENTRY" }; + IfcLaborResourceTypeEnum.CLEANING = { type: 3, value: "CLEANING" }; + IfcLaborResourceTypeEnum.CONCRETE = { type: 3, value: "CONCRETE" }; + IfcLaborResourceTypeEnum.DRYWALL = { type: 3, value: "DRYWALL" }; + IfcLaborResourceTypeEnum.ELECTRIC = { type: 3, value: "ELECTRIC" }; + IfcLaborResourceTypeEnum.FINISHING = { type: 3, value: "FINISHING" }; + IfcLaborResourceTypeEnum.FLOORING = { type: 3, value: "FLOORING" }; + IfcLaborResourceTypeEnum.GENERAL = { type: 3, value: "GENERAL" }; + IfcLaborResourceTypeEnum.HVAC = { type: 3, value: "HVAC" }; + IfcLaborResourceTypeEnum.LANDSCAPING = { type: 3, value: "LANDSCAPING" }; + IfcLaborResourceTypeEnum.MASONRY = { type: 3, value: "MASONRY" }; + IfcLaborResourceTypeEnum.PAINTING = { type: 3, value: "PAINTING" }; + IfcLaborResourceTypeEnum.PAVING = { type: 3, value: "PAVING" }; + IfcLaborResourceTypeEnum.PLUMBING = { type: 3, value: "PLUMBING" }; + IfcLaborResourceTypeEnum.ROOFING = { type: 3, value: "ROOFING" }; + IfcLaborResourceTypeEnum.SITEGRADING = { type: 3, value: "SITEGRADING" }; + IfcLaborResourceTypeEnum.STEELWORK = { type: 3, value: "STEELWORK" }; + IfcLaborResourceTypeEnum.SURVEYING = { type: 3, value: "SURVEYING" }; + IfcLaborResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLaborResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcLaborResourceTypeEnum = IfcLaborResourceTypeEnum; + class IfcLampTypeEnum { + } + IfcLampTypeEnum.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" }; + IfcLampTypeEnum.FLUORESCENT = { type: 3, value: "FLUORESCENT" }; + IfcLampTypeEnum.HALOGEN = { type: 3, value: "HALOGEN" }; + IfcLampTypeEnum.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" }; + IfcLampTypeEnum.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" }; + IfcLampTypeEnum.LED = { type: 3, value: "LED" }; + IfcLampTypeEnum.METALHALIDE = { type: 3, value: "METALHALIDE" }; + IfcLampTypeEnum.OLED = { type: 3, value: "OLED" }; + IfcLampTypeEnum.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" }; + IfcLampTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLampTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcLampTypeEnum = IfcLampTypeEnum; + class IfcLayerSetDirectionEnum { + } + IfcLayerSetDirectionEnum.AXIS1 = { type: 3, value: "AXIS1" }; + IfcLayerSetDirectionEnum.AXIS2 = { type: 3, value: "AXIS2" }; + IfcLayerSetDirectionEnum.AXIS3 = { type: 3, value: "AXIS3" }; + IFC42.IfcLayerSetDirectionEnum = IfcLayerSetDirectionEnum; + class IfcLightDistributionCurveEnum { + } + IfcLightDistributionCurveEnum.TYPE_A = { type: 3, value: "TYPE_A" }; + IfcLightDistributionCurveEnum.TYPE_B = { type: 3, value: "TYPE_B" }; + IfcLightDistributionCurveEnum.TYPE_C = { type: 3, value: "TYPE_C" }; + IfcLightDistributionCurveEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcLightDistributionCurveEnum = IfcLightDistributionCurveEnum; + class IfcLightEmissionSourceEnum { + } + IfcLightEmissionSourceEnum.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" }; + IfcLightEmissionSourceEnum.FLUORESCENT = { type: 3, value: "FLUORESCENT" }; + IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" }; + IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" }; + IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE = { type: 3, value: "LIGHTEMITTINGDIODE" }; + IfcLightEmissionSourceEnum.LOWPRESSURESODIUM = { type: 3, value: "LOWPRESSURESODIUM" }; + IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN = { type: 3, value: "LOWVOLTAGEHALOGEN" }; + IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN = { type: 3, value: "MAINVOLTAGEHALOGEN" }; + IfcLightEmissionSourceEnum.METALHALIDE = { type: 3, value: "METALHALIDE" }; + IfcLightEmissionSourceEnum.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" }; + IfcLightEmissionSourceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcLightEmissionSourceEnum = IfcLightEmissionSourceEnum; + class IfcLightFixtureTypeEnum { + } + IfcLightFixtureTypeEnum.POINTSOURCE = { type: 3, value: "POINTSOURCE" }; + IfcLightFixtureTypeEnum.DIRECTIONSOURCE = { type: 3, value: "DIRECTIONSOURCE" }; + IfcLightFixtureTypeEnum.SECURITYLIGHTING = { type: 3, value: "SECURITYLIGHTING" }; + IfcLightFixtureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLightFixtureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcLightFixtureTypeEnum = IfcLightFixtureTypeEnum; + class IfcLoadGroupTypeEnum { + } + IfcLoadGroupTypeEnum.LOAD_GROUP = { type: 3, value: "LOAD_GROUP" }; + IfcLoadGroupTypeEnum.LOAD_CASE = { type: 3, value: "LOAD_CASE" }; + IfcLoadGroupTypeEnum.LOAD_COMBINATION = { type: 3, value: "LOAD_COMBINATION" }; + IfcLoadGroupTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLoadGroupTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcLoadGroupTypeEnum = IfcLoadGroupTypeEnum; + class IfcLogicalOperatorEnum { + } + IfcLogicalOperatorEnum.LOGICALAND = { type: 3, value: "LOGICALAND" }; + IfcLogicalOperatorEnum.LOGICALOR = { type: 3, value: "LOGICALOR" }; + IfcLogicalOperatorEnum.LOGICALXOR = { type: 3, value: "LOGICALXOR" }; + IfcLogicalOperatorEnum.LOGICALNOTAND = { type: 3, value: "LOGICALNOTAND" }; + IfcLogicalOperatorEnum.LOGICALNOTOR = { type: 3, value: "LOGICALNOTOR" }; + IFC42.IfcLogicalOperatorEnum = IfcLogicalOperatorEnum; + class IfcMechanicalFastenerTypeEnum { + } + IfcMechanicalFastenerTypeEnum.ANCHORBOLT = { type: 3, value: "ANCHORBOLT" }; + IfcMechanicalFastenerTypeEnum.BOLT = { type: 3, value: "BOLT" }; + IfcMechanicalFastenerTypeEnum.DOWEL = { type: 3, value: "DOWEL" }; + IfcMechanicalFastenerTypeEnum.NAIL = { type: 3, value: "NAIL" }; + IfcMechanicalFastenerTypeEnum.NAILPLATE = { type: 3, value: "NAILPLATE" }; + IfcMechanicalFastenerTypeEnum.RIVET = { type: 3, value: "RIVET" }; + IfcMechanicalFastenerTypeEnum.SCREW = { type: 3, value: "SCREW" }; + IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR = { type: 3, value: "SHEARCONNECTOR" }; + IfcMechanicalFastenerTypeEnum.STAPLE = { type: 3, value: "STAPLE" }; + IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR = { type: 3, value: "STUDSHEARCONNECTOR" }; + IfcMechanicalFastenerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMechanicalFastenerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcMechanicalFastenerTypeEnum = IfcMechanicalFastenerTypeEnum; + class IfcMedicalDeviceTypeEnum { + } + IfcMedicalDeviceTypeEnum.AIRSTATION = { type: 3, value: "AIRSTATION" }; + IfcMedicalDeviceTypeEnum.FEEDAIRUNIT = { type: 3, value: "FEEDAIRUNIT" }; + IfcMedicalDeviceTypeEnum.OXYGENGENERATOR = { type: 3, value: "OXYGENGENERATOR" }; + IfcMedicalDeviceTypeEnum.OXYGENPLANT = { type: 3, value: "OXYGENPLANT" }; + IfcMedicalDeviceTypeEnum.VACUUMSTATION = { type: 3, value: "VACUUMSTATION" }; + IfcMedicalDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMedicalDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcMedicalDeviceTypeEnum = IfcMedicalDeviceTypeEnum; + class IfcMemberTypeEnum { + } + IfcMemberTypeEnum.BRACE = { type: 3, value: "BRACE" }; + IfcMemberTypeEnum.CHORD = { type: 3, value: "CHORD" }; + IfcMemberTypeEnum.COLLAR = { type: 3, value: "COLLAR" }; + IfcMemberTypeEnum.MEMBER = { type: 3, value: "MEMBER" }; + IfcMemberTypeEnum.MULLION = { type: 3, value: "MULLION" }; + IfcMemberTypeEnum.PLATE = { type: 3, value: "PLATE" }; + IfcMemberTypeEnum.POST = { type: 3, value: "POST" }; + IfcMemberTypeEnum.PURLIN = { type: 3, value: "PURLIN" }; + IfcMemberTypeEnum.RAFTER = { type: 3, value: "RAFTER" }; + IfcMemberTypeEnum.STRINGER = { type: 3, value: "STRINGER" }; + IfcMemberTypeEnum.STRUT = { type: 3, value: "STRUT" }; + IfcMemberTypeEnum.STUD = { type: 3, value: "STUD" }; + IfcMemberTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMemberTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcMemberTypeEnum = IfcMemberTypeEnum; + class IfcMotorConnectionTypeEnum { + } + IfcMotorConnectionTypeEnum.BELTDRIVE = { type: 3, value: "BELTDRIVE" }; + IfcMotorConnectionTypeEnum.COUPLING = { type: 3, value: "COUPLING" }; + IfcMotorConnectionTypeEnum.DIRECTDRIVE = { type: 3, value: "DIRECTDRIVE" }; + IfcMotorConnectionTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMotorConnectionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcMotorConnectionTypeEnum = IfcMotorConnectionTypeEnum; + class IfcNullStyle { + } + IfcNullStyle.NULL = { type: 3, value: "NULL" }; + IFC42.IfcNullStyle = IfcNullStyle; + class IfcObjectTypeEnum { + } + IfcObjectTypeEnum.PRODUCT = { type: 3, value: "PRODUCT" }; + IfcObjectTypeEnum.PROCESS = { type: 3, value: "PROCESS" }; + IfcObjectTypeEnum.CONTROL = { type: 3, value: "CONTROL" }; + IfcObjectTypeEnum.RESOURCE = { type: 3, value: "RESOURCE" }; + IfcObjectTypeEnum.ACTOR = { type: 3, value: "ACTOR" }; + IfcObjectTypeEnum.GROUP = { type: 3, value: "GROUP" }; + IfcObjectTypeEnum.PROJECT = { type: 3, value: "PROJECT" }; + IfcObjectTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcObjectTypeEnum = IfcObjectTypeEnum; + class IfcObjectiveEnum { + } + IfcObjectiveEnum.CODECOMPLIANCE = { type: 3, value: "CODECOMPLIANCE" }; + IfcObjectiveEnum.CODEWAIVER = { type: 3, value: "CODEWAIVER" }; + IfcObjectiveEnum.DESIGNINTENT = { type: 3, value: "DESIGNINTENT" }; + IfcObjectiveEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcObjectiveEnum.HEALTHANDSAFETY = { type: 3, value: "HEALTHANDSAFETY" }; + IfcObjectiveEnum.MERGECONFLICT = { type: 3, value: "MERGECONFLICT" }; + IfcObjectiveEnum.MODELVIEW = { type: 3, value: "MODELVIEW" }; + IfcObjectiveEnum.PARAMETER = { type: 3, value: "PARAMETER" }; + IfcObjectiveEnum.REQUIREMENT = { type: 3, value: "REQUIREMENT" }; + IfcObjectiveEnum.SPECIFICATION = { type: 3, value: "SPECIFICATION" }; + IfcObjectiveEnum.TRIGGERCONDITION = { type: 3, value: "TRIGGERCONDITION" }; + IfcObjectiveEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcObjectiveEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcObjectiveEnum = IfcObjectiveEnum; + class IfcOccupantTypeEnum { + } + IfcOccupantTypeEnum.ASSIGNEE = { type: 3, value: "ASSIGNEE" }; + IfcOccupantTypeEnum.ASSIGNOR = { type: 3, value: "ASSIGNOR" }; + IfcOccupantTypeEnum.LESSEE = { type: 3, value: "LESSEE" }; + IfcOccupantTypeEnum.LESSOR = { type: 3, value: "LESSOR" }; + IfcOccupantTypeEnum.LETTINGAGENT = { type: 3, value: "LETTINGAGENT" }; + IfcOccupantTypeEnum.OWNER = { type: 3, value: "OWNER" }; + IfcOccupantTypeEnum.TENANT = { type: 3, value: "TENANT" }; + IfcOccupantTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcOccupantTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcOccupantTypeEnum = IfcOccupantTypeEnum; + class IfcOpeningElementTypeEnum { + } + IfcOpeningElementTypeEnum.OPENING = { type: 3, value: "OPENING" }; + IfcOpeningElementTypeEnum.RECESS = { type: 3, value: "RECESS" }; + IfcOpeningElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcOpeningElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcOpeningElementTypeEnum = IfcOpeningElementTypeEnum; + class IfcOutletTypeEnum { + } + IfcOutletTypeEnum.AUDIOVISUALOUTLET = { type: 3, value: "AUDIOVISUALOUTLET" }; + IfcOutletTypeEnum.COMMUNICATIONSOUTLET = { type: 3, value: "COMMUNICATIONSOUTLET" }; + IfcOutletTypeEnum.POWEROUTLET = { type: 3, value: "POWEROUTLET" }; + IfcOutletTypeEnum.DATAOUTLET = { type: 3, value: "DATAOUTLET" }; + IfcOutletTypeEnum.TELEPHONEOUTLET = { type: 3, value: "TELEPHONEOUTLET" }; + IfcOutletTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcOutletTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcOutletTypeEnum = IfcOutletTypeEnum; + class IfcPerformanceHistoryTypeEnum { + } + IfcPerformanceHistoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPerformanceHistoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPerformanceHistoryTypeEnum = IfcPerformanceHistoryTypeEnum; + class IfcPermeableCoveringOperationEnum { + } + IfcPermeableCoveringOperationEnum.GRILL = { type: 3, value: "GRILL" }; + IfcPermeableCoveringOperationEnum.LOUVER = { type: 3, value: "LOUVER" }; + IfcPermeableCoveringOperationEnum.SCREEN = { type: 3, value: "SCREEN" }; + IfcPermeableCoveringOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPermeableCoveringOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPermeableCoveringOperationEnum = IfcPermeableCoveringOperationEnum; + class IfcPermitTypeEnum { + } + IfcPermitTypeEnum.ACCESS = { type: 3, value: "ACCESS" }; + IfcPermitTypeEnum.BUILDING = { type: 3, value: "BUILDING" }; + IfcPermitTypeEnum.WORK = { type: 3, value: "WORK" }; + IfcPermitTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPermitTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPermitTypeEnum = IfcPermitTypeEnum; + class IfcPhysicalOrVirtualEnum { + } + IfcPhysicalOrVirtualEnum.PHYSICAL = { type: 3, value: "PHYSICAL" }; + IfcPhysicalOrVirtualEnum.VIRTUAL = { type: 3, value: "VIRTUAL" }; + IfcPhysicalOrVirtualEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPhysicalOrVirtualEnum = IfcPhysicalOrVirtualEnum; + class IfcPileConstructionEnum { + } + IfcPileConstructionEnum.CAST_IN_PLACE = { type: 3, value: "CAST_IN_PLACE" }; + IfcPileConstructionEnum.COMPOSITE = { type: 3, value: "COMPOSITE" }; + IfcPileConstructionEnum.PRECAST_CONCRETE = { type: 3, value: "PRECAST_CONCRETE" }; + IfcPileConstructionEnum.PREFAB_STEEL = { type: 3, value: "PREFAB_STEEL" }; + IfcPileConstructionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPileConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPileConstructionEnum = IfcPileConstructionEnum; + class IfcPileTypeEnum { + } + IfcPileTypeEnum.BORED = { type: 3, value: "BORED" }; + IfcPileTypeEnum.DRIVEN = { type: 3, value: "DRIVEN" }; + IfcPileTypeEnum.JETGROUTING = { type: 3, value: "JETGROUTING" }; + IfcPileTypeEnum.COHESION = { type: 3, value: "COHESION" }; + IfcPileTypeEnum.FRICTION = { type: 3, value: "FRICTION" }; + IfcPileTypeEnum.SUPPORT = { type: 3, value: "SUPPORT" }; + IfcPileTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPileTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPileTypeEnum = IfcPileTypeEnum; + class IfcPipeFittingTypeEnum { + } + IfcPipeFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcPipeFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcPipeFittingTypeEnum.ENTRY = { type: 3, value: "ENTRY" }; + IfcPipeFittingTypeEnum.EXIT = { type: 3, value: "EXIT" }; + IfcPipeFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcPipeFittingTypeEnum.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" }; + IfcPipeFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcPipeFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPipeFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPipeFittingTypeEnum = IfcPipeFittingTypeEnum; + class IfcPipeSegmentTypeEnum { + } + IfcPipeSegmentTypeEnum.CULVERT = { type: 3, value: "CULVERT" }; + IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" }; + IfcPipeSegmentTypeEnum.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" }; + IfcPipeSegmentTypeEnum.GUTTER = { type: 3, value: "GUTTER" }; + IfcPipeSegmentTypeEnum.SPOOL = { type: 3, value: "SPOOL" }; + IfcPipeSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPipeSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPipeSegmentTypeEnum = IfcPipeSegmentTypeEnum; + class IfcPlateTypeEnum { + } + IfcPlateTypeEnum.CURTAIN_PANEL = { type: 3, value: "CURTAIN_PANEL" }; + IfcPlateTypeEnum.SHEET = { type: 3, value: "SHEET" }; + IfcPlateTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPlateTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPlateTypeEnum = IfcPlateTypeEnum; + class IfcPreferredSurfaceCurveRepresentation { + } + IfcPreferredSurfaceCurveRepresentation.CURVE3D = { type: 3, value: "CURVE3D" }; + IfcPreferredSurfaceCurveRepresentation.PCURVE_S1 = { type: 3, value: "PCURVE_S1" }; + IfcPreferredSurfaceCurveRepresentation.PCURVE_S2 = { type: 3, value: "PCURVE_S2" }; + IFC42.IfcPreferredSurfaceCurveRepresentation = IfcPreferredSurfaceCurveRepresentation; + class IfcProcedureTypeEnum { + } + IfcProcedureTypeEnum.ADVICE_CAUTION = { type: 3, value: "ADVICE_CAUTION" }; + IfcProcedureTypeEnum.ADVICE_NOTE = { type: 3, value: "ADVICE_NOTE" }; + IfcProcedureTypeEnum.ADVICE_WARNING = { type: 3, value: "ADVICE_WARNING" }; + IfcProcedureTypeEnum.CALIBRATION = { type: 3, value: "CALIBRATION" }; + IfcProcedureTypeEnum.DIAGNOSTIC = { type: 3, value: "DIAGNOSTIC" }; + IfcProcedureTypeEnum.SHUTDOWN = { type: 3, value: "SHUTDOWN" }; + IfcProcedureTypeEnum.STARTUP = { type: 3, value: "STARTUP" }; + IfcProcedureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProcedureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcProcedureTypeEnum = IfcProcedureTypeEnum; + class IfcProfileTypeEnum { + } + IfcProfileTypeEnum.CURVE = { type: 3, value: "CURVE" }; + IfcProfileTypeEnum.AREA = { type: 3, value: "AREA" }; + IFC42.IfcProfileTypeEnum = IfcProfileTypeEnum; + class IfcProjectOrderTypeEnum { + } + IfcProjectOrderTypeEnum.CHANGEORDER = { type: 3, value: "CHANGEORDER" }; + IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER = { type: 3, value: "MAINTENANCEWORKORDER" }; + IfcProjectOrderTypeEnum.MOVEORDER = { type: 3, value: "MOVEORDER" }; + IfcProjectOrderTypeEnum.PURCHASEORDER = { type: 3, value: "PURCHASEORDER" }; + IfcProjectOrderTypeEnum.WORKORDER = { type: 3, value: "WORKORDER" }; + IfcProjectOrderTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProjectOrderTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcProjectOrderTypeEnum = IfcProjectOrderTypeEnum; + class IfcProjectedOrTrueLengthEnum { + } + IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH = { type: 3, value: "PROJECTED_LENGTH" }; + IfcProjectedOrTrueLengthEnum.TRUE_LENGTH = { type: 3, value: "TRUE_LENGTH" }; + IFC42.IfcProjectedOrTrueLengthEnum = IfcProjectedOrTrueLengthEnum; + class IfcProjectionElementTypeEnum { + } + IfcProjectionElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProjectionElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcProjectionElementTypeEnum = IfcProjectionElementTypeEnum; + class IfcPropertySetTemplateTypeEnum { + } + IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY = { type: 3, value: "PSET_TYPEDRIVENONLY" }; + IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE = { type: 3, value: "PSET_TYPEDRIVENOVERRIDE" }; + IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN = { type: 3, value: "PSET_OCCURRENCEDRIVEN" }; + IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN = { type: 3, value: "PSET_PERFORMANCEDRIVEN" }; + IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY = { type: 3, value: "QTO_TYPEDRIVENONLY" }; + IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE = { type: 3, value: "QTO_TYPEDRIVENOVERRIDE" }; + IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN = { type: 3, value: "QTO_OCCURRENCEDRIVEN" }; + IfcPropertySetTemplateTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPropertySetTemplateTypeEnum = IfcPropertySetTemplateTypeEnum; + class IfcProtectiveDeviceTrippingUnitTypeEnum { + } + IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC = { type: 3, value: "ELECTRONIC" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC = { type: 3, value: "ELECTROMAGNETIC" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT = { type: 3, value: "RESIDUALCURRENT" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL = { type: 3, value: "THERMAL" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcProtectiveDeviceTrippingUnitTypeEnum = IfcProtectiveDeviceTrippingUnitTypeEnum; + class IfcProtectiveDeviceTypeEnum { + } + IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER = { type: 3, value: "CIRCUITBREAKER" }; + IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER = { type: 3, value: "EARTHLEAKAGECIRCUITBREAKER" }; + IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH = { type: 3, value: "EARTHINGSWITCH" }; + IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR = { type: 3, value: "FUSEDISCONNECTOR" }; + IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER = { type: 3, value: "RESIDUALCURRENTCIRCUITBREAKER" }; + IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH = { type: 3, value: "RESIDUALCURRENTSWITCH" }; + IfcProtectiveDeviceTypeEnum.VARISTOR = { type: 3, value: "VARISTOR" }; + IfcProtectiveDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProtectiveDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcProtectiveDeviceTypeEnum = IfcProtectiveDeviceTypeEnum; + class IfcPumpTypeEnum { + } + IfcPumpTypeEnum.CIRCULATOR = { type: 3, value: "CIRCULATOR" }; + IfcPumpTypeEnum.ENDSUCTION = { type: 3, value: "ENDSUCTION" }; + IfcPumpTypeEnum.SPLITCASE = { type: 3, value: "SPLITCASE" }; + IfcPumpTypeEnum.SUBMERSIBLEPUMP = { type: 3, value: "SUBMERSIBLEPUMP" }; + IfcPumpTypeEnum.SUMPPUMP = { type: 3, value: "SUMPPUMP" }; + IfcPumpTypeEnum.VERTICALINLINE = { type: 3, value: "VERTICALINLINE" }; + IfcPumpTypeEnum.VERTICALTURBINE = { type: 3, value: "VERTICALTURBINE" }; + IfcPumpTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPumpTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcPumpTypeEnum = IfcPumpTypeEnum; + class IfcRailingTypeEnum { + } + IfcRailingTypeEnum.HANDRAIL = { type: 3, value: "HANDRAIL" }; + IfcRailingTypeEnum.GUARDRAIL = { type: 3, value: "GUARDRAIL" }; + IfcRailingTypeEnum.BALUSTRADE = { type: 3, value: "BALUSTRADE" }; + IfcRailingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRailingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcRailingTypeEnum = IfcRailingTypeEnum; + class IfcRampFlightTypeEnum { + } + IfcRampFlightTypeEnum.STRAIGHT = { type: 3, value: "STRAIGHT" }; + IfcRampFlightTypeEnum.SPIRAL = { type: 3, value: "SPIRAL" }; + IfcRampFlightTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRampFlightTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcRampFlightTypeEnum = IfcRampFlightTypeEnum; + class IfcRampTypeEnum { + } + IfcRampTypeEnum.STRAIGHT_RUN_RAMP = { type: 3, value: "STRAIGHT_RUN_RAMP" }; + IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP = { type: 3, value: "TWO_STRAIGHT_RUN_RAMP" }; + IfcRampTypeEnum.QUARTER_TURN_RAMP = { type: 3, value: "QUARTER_TURN_RAMP" }; + IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP = { type: 3, value: "TWO_QUARTER_TURN_RAMP" }; + IfcRampTypeEnum.HALF_TURN_RAMP = { type: 3, value: "HALF_TURN_RAMP" }; + IfcRampTypeEnum.SPIRAL_RAMP = { type: 3, value: "SPIRAL_RAMP" }; + IfcRampTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRampTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcRampTypeEnum = IfcRampTypeEnum; + class IfcRecurrenceTypeEnum { + } + IfcRecurrenceTypeEnum.DAILY = { type: 3, value: "DAILY" }; + IfcRecurrenceTypeEnum.WEEKLY = { type: 3, value: "WEEKLY" }; + IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH = { type: 3, value: "MONTHLY_BY_DAY_OF_MONTH" }; + IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION = { type: 3, value: "MONTHLY_BY_POSITION" }; + IfcRecurrenceTypeEnum.BY_DAY_COUNT = { type: 3, value: "BY_DAY_COUNT" }; + IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT = { type: 3, value: "BY_WEEKDAY_COUNT" }; + IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH = { type: 3, value: "YEARLY_BY_DAY_OF_MONTH" }; + IfcRecurrenceTypeEnum.YEARLY_BY_POSITION = { type: 3, value: "YEARLY_BY_POSITION" }; + IFC42.IfcRecurrenceTypeEnum = IfcRecurrenceTypeEnum; + class IfcReflectanceMethodEnum { + } + IfcReflectanceMethodEnum.BLINN = { type: 3, value: "BLINN" }; + IfcReflectanceMethodEnum.FLAT = { type: 3, value: "FLAT" }; + IfcReflectanceMethodEnum.GLASS = { type: 3, value: "GLASS" }; + IfcReflectanceMethodEnum.MATT = { type: 3, value: "MATT" }; + IfcReflectanceMethodEnum.METAL = { type: 3, value: "METAL" }; + IfcReflectanceMethodEnum.MIRROR = { type: 3, value: "MIRROR" }; + IfcReflectanceMethodEnum.PHONG = { type: 3, value: "PHONG" }; + IfcReflectanceMethodEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcReflectanceMethodEnum.STRAUSS = { type: 3, value: "STRAUSS" }; + IfcReflectanceMethodEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcReflectanceMethodEnum = IfcReflectanceMethodEnum; + class IfcReinforcingBarRoleEnum { + } + IfcReinforcingBarRoleEnum.MAIN = { type: 3, value: "MAIN" }; + IfcReinforcingBarRoleEnum.SHEAR = { type: 3, value: "SHEAR" }; + IfcReinforcingBarRoleEnum.LIGATURE = { type: 3, value: "LIGATURE" }; + IfcReinforcingBarRoleEnum.STUD = { type: 3, value: "STUD" }; + IfcReinforcingBarRoleEnum.PUNCHING = { type: 3, value: "PUNCHING" }; + IfcReinforcingBarRoleEnum.EDGE = { type: 3, value: "EDGE" }; + IfcReinforcingBarRoleEnum.RING = { type: 3, value: "RING" }; + IfcReinforcingBarRoleEnum.ANCHORING = { type: 3, value: "ANCHORING" }; + IfcReinforcingBarRoleEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReinforcingBarRoleEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcReinforcingBarRoleEnum = IfcReinforcingBarRoleEnum; + class IfcReinforcingBarSurfaceEnum { + } + IfcReinforcingBarSurfaceEnum.PLAIN = { type: 3, value: "PLAIN" }; + IfcReinforcingBarSurfaceEnum.TEXTURED = { type: 3, value: "TEXTURED" }; + IFC42.IfcReinforcingBarSurfaceEnum = IfcReinforcingBarSurfaceEnum; + class IfcReinforcingBarTypeEnum { + } + IfcReinforcingBarTypeEnum.ANCHORING = { type: 3, value: "ANCHORING" }; + IfcReinforcingBarTypeEnum.EDGE = { type: 3, value: "EDGE" }; + IfcReinforcingBarTypeEnum.LIGATURE = { type: 3, value: "LIGATURE" }; + IfcReinforcingBarTypeEnum.MAIN = { type: 3, value: "MAIN" }; + IfcReinforcingBarTypeEnum.PUNCHING = { type: 3, value: "PUNCHING" }; + IfcReinforcingBarTypeEnum.RING = { type: 3, value: "RING" }; + IfcReinforcingBarTypeEnum.SHEAR = { type: 3, value: "SHEAR" }; + IfcReinforcingBarTypeEnum.STUD = { type: 3, value: "STUD" }; + IfcReinforcingBarTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReinforcingBarTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcReinforcingBarTypeEnum = IfcReinforcingBarTypeEnum; + class IfcReinforcingMeshTypeEnum { + } + IfcReinforcingMeshTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReinforcingMeshTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcReinforcingMeshTypeEnum = IfcReinforcingMeshTypeEnum; + class IfcRoleEnum { + } + IfcRoleEnum.SUPPLIER = { type: 3, value: "SUPPLIER" }; + IfcRoleEnum.MANUFACTURER = { type: 3, value: "MANUFACTURER" }; + IfcRoleEnum.CONTRACTOR = { type: 3, value: "CONTRACTOR" }; + IfcRoleEnum.SUBCONTRACTOR = { type: 3, value: "SUBCONTRACTOR" }; + IfcRoleEnum.ARCHITECT = { type: 3, value: "ARCHITECT" }; + IfcRoleEnum.STRUCTURALENGINEER = { type: 3, value: "STRUCTURALENGINEER" }; + IfcRoleEnum.COSTENGINEER = { type: 3, value: "COSTENGINEER" }; + IfcRoleEnum.CLIENT = { type: 3, value: "CLIENT" }; + IfcRoleEnum.BUILDINGOWNER = { type: 3, value: "BUILDINGOWNER" }; + IfcRoleEnum.BUILDINGOPERATOR = { type: 3, value: "BUILDINGOPERATOR" }; + IfcRoleEnum.MECHANICALENGINEER = { type: 3, value: "MECHANICALENGINEER" }; + IfcRoleEnum.ELECTRICALENGINEER = { type: 3, value: "ELECTRICALENGINEER" }; + IfcRoleEnum.PROJECTMANAGER = { type: 3, value: "PROJECTMANAGER" }; + IfcRoleEnum.FACILITIESMANAGER = { type: 3, value: "FACILITIESMANAGER" }; + IfcRoleEnum.CIVILENGINEER = { type: 3, value: "CIVILENGINEER" }; + IfcRoleEnum.COMMISSIONINGENGINEER = { type: 3, value: "COMMISSIONINGENGINEER" }; + IfcRoleEnum.ENGINEER = { type: 3, value: "ENGINEER" }; + IfcRoleEnum.OWNER = { type: 3, value: "OWNER" }; + IfcRoleEnum.CONSULTANT = { type: 3, value: "CONSULTANT" }; + IfcRoleEnum.CONSTRUCTIONMANAGER = { type: 3, value: "CONSTRUCTIONMANAGER" }; + IfcRoleEnum.FIELDCONSTRUCTIONMANAGER = { type: 3, value: "FIELDCONSTRUCTIONMANAGER" }; + IfcRoleEnum.RESELLER = { type: 3, value: "RESELLER" }; + IfcRoleEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC42.IfcRoleEnum = IfcRoleEnum; + class IfcRoofTypeEnum { + } + IfcRoofTypeEnum.FLAT_ROOF = { type: 3, value: "FLAT_ROOF" }; + IfcRoofTypeEnum.SHED_ROOF = { type: 3, value: "SHED_ROOF" }; + IfcRoofTypeEnum.GABLE_ROOF = { type: 3, value: "GABLE_ROOF" }; + IfcRoofTypeEnum.HIP_ROOF = { type: 3, value: "HIP_ROOF" }; + IfcRoofTypeEnum.HIPPED_GABLE_ROOF = { type: 3, value: "HIPPED_GABLE_ROOF" }; + IfcRoofTypeEnum.GAMBREL_ROOF = { type: 3, value: "GAMBREL_ROOF" }; + IfcRoofTypeEnum.MANSARD_ROOF = { type: 3, value: "MANSARD_ROOF" }; + IfcRoofTypeEnum.BARREL_ROOF = { type: 3, value: "BARREL_ROOF" }; + IfcRoofTypeEnum.RAINBOW_ROOF = { type: 3, value: "RAINBOW_ROOF" }; + IfcRoofTypeEnum.BUTTERFLY_ROOF = { type: 3, value: "BUTTERFLY_ROOF" }; + IfcRoofTypeEnum.PAVILION_ROOF = { type: 3, value: "PAVILION_ROOF" }; + IfcRoofTypeEnum.DOME_ROOF = { type: 3, value: "DOME_ROOF" }; + IfcRoofTypeEnum.FREEFORM = { type: 3, value: "FREEFORM" }; + IfcRoofTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRoofTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcRoofTypeEnum = IfcRoofTypeEnum; + class IfcSIPrefix { + } + IfcSIPrefix.EXA = { type: 3, value: "EXA" }; + IfcSIPrefix.PETA = { type: 3, value: "PETA" }; + IfcSIPrefix.TERA = { type: 3, value: "TERA" }; + IfcSIPrefix.GIGA = { type: 3, value: "GIGA" }; + IfcSIPrefix.MEGA = { type: 3, value: "MEGA" }; + IfcSIPrefix.KILO = { type: 3, value: "KILO" }; + IfcSIPrefix.HECTO = { type: 3, value: "HECTO" }; + IfcSIPrefix.DECA = { type: 3, value: "DECA" }; + IfcSIPrefix.DECI = { type: 3, value: "DECI" }; + IfcSIPrefix.CENTI = { type: 3, value: "CENTI" }; + IfcSIPrefix.MILLI = { type: 3, value: "MILLI" }; + IfcSIPrefix.MICRO = { type: 3, value: "MICRO" }; + IfcSIPrefix.NANO = { type: 3, value: "NANO" }; + IfcSIPrefix.PICO = { type: 3, value: "PICO" }; + IfcSIPrefix.FEMTO = { type: 3, value: "FEMTO" }; + IfcSIPrefix.ATTO = { type: 3, value: "ATTO" }; + IFC42.IfcSIPrefix = IfcSIPrefix; + class IfcSIUnitName { + } + IfcSIUnitName.AMPERE = { type: 3, value: "AMPERE" }; + IfcSIUnitName.BECQUEREL = { type: 3, value: "BECQUEREL" }; + IfcSIUnitName.CANDELA = { type: 3, value: "CANDELA" }; + IfcSIUnitName.COULOMB = { type: 3, value: "COULOMB" }; + IfcSIUnitName.CUBIC_METRE = { type: 3, value: "CUBIC_METRE" }; + IfcSIUnitName.DEGREE_CELSIUS = { type: 3, value: "DEGREE_CELSIUS" }; + IfcSIUnitName.FARAD = { type: 3, value: "FARAD" }; + IfcSIUnitName.GRAM = { type: 3, value: "GRAM" }; + IfcSIUnitName.GRAY = { type: 3, value: "GRAY" }; + IfcSIUnitName.HENRY = { type: 3, value: "HENRY" }; + IfcSIUnitName.HERTZ = { type: 3, value: "HERTZ" }; + IfcSIUnitName.JOULE = { type: 3, value: "JOULE" }; + IfcSIUnitName.KELVIN = { type: 3, value: "KELVIN" }; + IfcSIUnitName.LUMEN = { type: 3, value: "LUMEN" }; + IfcSIUnitName.LUX = { type: 3, value: "LUX" }; + IfcSIUnitName.METRE = { type: 3, value: "METRE" }; + IfcSIUnitName.MOLE = { type: 3, value: "MOLE" }; + IfcSIUnitName.NEWTON = { type: 3, value: "NEWTON" }; + IfcSIUnitName.OHM = { type: 3, value: "OHM" }; + IfcSIUnitName.PASCAL = { type: 3, value: "PASCAL" }; + IfcSIUnitName.RADIAN = { type: 3, value: "RADIAN" }; + IfcSIUnitName.SECOND = { type: 3, value: "SECOND" }; + IfcSIUnitName.SIEMENS = { type: 3, value: "SIEMENS" }; + IfcSIUnitName.SIEVERT = { type: 3, value: "SIEVERT" }; + IfcSIUnitName.SQUARE_METRE = { type: 3, value: "SQUARE_METRE" }; + IfcSIUnitName.STERADIAN = { type: 3, value: "STERADIAN" }; + IfcSIUnitName.TESLA = { type: 3, value: "TESLA" }; + IfcSIUnitName.VOLT = { type: 3, value: "VOLT" }; + IfcSIUnitName.WATT = { type: 3, value: "WATT" }; + IfcSIUnitName.WEBER = { type: 3, value: "WEBER" }; + IFC42.IfcSIUnitName = IfcSIUnitName; + class IfcSanitaryTerminalTypeEnum { + } + IfcSanitaryTerminalTypeEnum.BATH = { type: 3, value: "BATH" }; + IfcSanitaryTerminalTypeEnum.BIDET = { type: 3, value: "BIDET" }; + IfcSanitaryTerminalTypeEnum.CISTERN = { type: 3, value: "CISTERN" }; + IfcSanitaryTerminalTypeEnum.SHOWER = { type: 3, value: "SHOWER" }; + IfcSanitaryTerminalTypeEnum.SINK = { type: 3, value: "SINK" }; + IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN = { type: 3, value: "SANITARYFOUNTAIN" }; + IfcSanitaryTerminalTypeEnum.TOILETPAN = { type: 3, value: "TOILETPAN" }; + IfcSanitaryTerminalTypeEnum.URINAL = { type: 3, value: "URINAL" }; + IfcSanitaryTerminalTypeEnum.WASHHANDBASIN = { type: 3, value: "WASHHANDBASIN" }; + IfcSanitaryTerminalTypeEnum.WCSEAT = { type: 3, value: "WCSEAT" }; + IfcSanitaryTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSanitaryTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSanitaryTerminalTypeEnum = IfcSanitaryTerminalTypeEnum; + class IfcSectionTypeEnum { + } + IfcSectionTypeEnum.UNIFORM = { type: 3, value: "UNIFORM" }; + IfcSectionTypeEnum.TAPERED = { type: 3, value: "TAPERED" }; + IFC42.IfcSectionTypeEnum = IfcSectionTypeEnum; + class IfcSensorTypeEnum { + } + IfcSensorTypeEnum.COSENSOR = { type: 3, value: "COSENSOR" }; + IfcSensorTypeEnum.CO2SENSOR = { type: 3, value: "CO2SENSOR" }; + IfcSensorTypeEnum.CONDUCTANCESENSOR = { type: 3, value: "CONDUCTANCESENSOR" }; + IfcSensorTypeEnum.CONTACTSENSOR = { type: 3, value: "CONTACTSENSOR" }; + IfcSensorTypeEnum.FIRESENSOR = { type: 3, value: "FIRESENSOR" }; + IfcSensorTypeEnum.FLOWSENSOR = { type: 3, value: "FLOWSENSOR" }; + IfcSensorTypeEnum.FROSTSENSOR = { type: 3, value: "FROSTSENSOR" }; + IfcSensorTypeEnum.GASSENSOR = { type: 3, value: "GASSENSOR" }; + IfcSensorTypeEnum.HEATSENSOR = { type: 3, value: "HEATSENSOR" }; + IfcSensorTypeEnum.HUMIDITYSENSOR = { type: 3, value: "HUMIDITYSENSOR" }; + IfcSensorTypeEnum.IDENTIFIERSENSOR = { type: 3, value: "IDENTIFIERSENSOR" }; + IfcSensorTypeEnum.IONCONCENTRATIONSENSOR = { type: 3, value: "IONCONCENTRATIONSENSOR" }; + IfcSensorTypeEnum.LEVELSENSOR = { type: 3, value: "LEVELSENSOR" }; + IfcSensorTypeEnum.LIGHTSENSOR = { type: 3, value: "LIGHTSENSOR" }; + IfcSensorTypeEnum.MOISTURESENSOR = { type: 3, value: "MOISTURESENSOR" }; + IfcSensorTypeEnum.MOVEMENTSENSOR = { type: 3, value: "MOVEMENTSENSOR" }; + IfcSensorTypeEnum.PHSENSOR = { type: 3, value: "PHSENSOR" }; + IfcSensorTypeEnum.PRESSURESENSOR = { type: 3, value: "PRESSURESENSOR" }; + IfcSensorTypeEnum.RADIATIONSENSOR = { type: 3, value: "RADIATIONSENSOR" }; + IfcSensorTypeEnum.RADIOACTIVITYSENSOR = { type: 3, value: "RADIOACTIVITYSENSOR" }; + IfcSensorTypeEnum.SMOKESENSOR = { type: 3, value: "SMOKESENSOR" }; + IfcSensorTypeEnum.SOUNDSENSOR = { type: 3, value: "SOUNDSENSOR" }; + IfcSensorTypeEnum.TEMPERATURESENSOR = { type: 3, value: "TEMPERATURESENSOR" }; + IfcSensorTypeEnum.WINDSENSOR = { type: 3, value: "WINDSENSOR" }; + IfcSensorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSensorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSensorTypeEnum = IfcSensorTypeEnum; + class IfcSequenceEnum { + } + IfcSequenceEnum.START_START = { type: 3, value: "START_START" }; + IfcSequenceEnum.START_FINISH = { type: 3, value: "START_FINISH" }; + IfcSequenceEnum.FINISH_START = { type: 3, value: "FINISH_START" }; + IfcSequenceEnum.FINISH_FINISH = { type: 3, value: "FINISH_FINISH" }; + IfcSequenceEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSequenceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSequenceEnum = IfcSequenceEnum; + class IfcShadingDeviceTypeEnum { + } + IfcShadingDeviceTypeEnum.JALOUSIE = { type: 3, value: "JALOUSIE" }; + IfcShadingDeviceTypeEnum.SHUTTER = { type: 3, value: "SHUTTER" }; + IfcShadingDeviceTypeEnum.AWNING = { type: 3, value: "AWNING" }; + IfcShadingDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcShadingDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcShadingDeviceTypeEnum = IfcShadingDeviceTypeEnum; + class IfcSimplePropertyTemplateTypeEnum { + } + IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE = { type: 3, value: "P_SINGLEVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE = { type: 3, value: "P_ENUMERATEDVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE = { type: 3, value: "P_BOUNDEDVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE = { type: 3, value: "P_LISTVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE = { type: 3, value: "P_TABLEVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE = { type: 3, value: "P_REFERENCEVALUE" }; + IfcSimplePropertyTemplateTypeEnum.Q_LENGTH = { type: 3, value: "Q_LENGTH" }; + IfcSimplePropertyTemplateTypeEnum.Q_AREA = { type: 3, value: "Q_AREA" }; + IfcSimplePropertyTemplateTypeEnum.Q_VOLUME = { type: 3, value: "Q_VOLUME" }; + IfcSimplePropertyTemplateTypeEnum.Q_COUNT = { type: 3, value: "Q_COUNT" }; + IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT = { type: 3, value: "Q_WEIGHT" }; + IfcSimplePropertyTemplateTypeEnum.Q_TIME = { type: 3, value: "Q_TIME" }; + IFC42.IfcSimplePropertyTemplateTypeEnum = IfcSimplePropertyTemplateTypeEnum; + class IfcSlabTypeEnum { + } + IfcSlabTypeEnum.FLOOR = { type: 3, value: "FLOOR" }; + IfcSlabTypeEnum.ROOF = { type: 3, value: "ROOF" }; + IfcSlabTypeEnum.LANDING = { type: 3, value: "LANDING" }; + IfcSlabTypeEnum.BASESLAB = { type: 3, value: "BASESLAB" }; + IfcSlabTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSlabTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSlabTypeEnum = IfcSlabTypeEnum; + class IfcSolarDeviceTypeEnum { + } + IfcSolarDeviceTypeEnum.SOLARCOLLECTOR = { type: 3, value: "SOLARCOLLECTOR" }; + IfcSolarDeviceTypeEnum.SOLARPANEL = { type: 3, value: "SOLARPANEL" }; + IfcSolarDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSolarDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSolarDeviceTypeEnum = IfcSolarDeviceTypeEnum; + class IfcSpaceHeaterTypeEnum { + } + IfcSpaceHeaterTypeEnum.CONVECTOR = { type: 3, value: "CONVECTOR" }; + IfcSpaceHeaterTypeEnum.RADIATOR = { type: 3, value: "RADIATOR" }; + IfcSpaceHeaterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSpaceHeaterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSpaceHeaterTypeEnum = IfcSpaceHeaterTypeEnum; + class IfcSpaceTypeEnum { + } + IfcSpaceTypeEnum.SPACE = { type: 3, value: "SPACE" }; + IfcSpaceTypeEnum.PARKING = { type: 3, value: "PARKING" }; + IfcSpaceTypeEnum.GFA = { type: 3, value: "GFA" }; + IfcSpaceTypeEnum.INTERNAL = { type: 3, value: "INTERNAL" }; + IfcSpaceTypeEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcSpaceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSpaceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSpaceTypeEnum = IfcSpaceTypeEnum; + class IfcSpatialZoneTypeEnum { + } + IfcSpatialZoneTypeEnum.CONSTRUCTION = { type: 3, value: "CONSTRUCTION" }; + IfcSpatialZoneTypeEnum.FIRESAFETY = { type: 3, value: "FIRESAFETY" }; + IfcSpatialZoneTypeEnum.LIGHTING = { type: 3, value: "LIGHTING" }; + IfcSpatialZoneTypeEnum.OCCUPANCY = { type: 3, value: "OCCUPANCY" }; + IfcSpatialZoneTypeEnum.SECURITY = { type: 3, value: "SECURITY" }; + IfcSpatialZoneTypeEnum.THERMAL = { type: 3, value: "THERMAL" }; + IfcSpatialZoneTypeEnum.TRANSPORT = { type: 3, value: "TRANSPORT" }; + IfcSpatialZoneTypeEnum.VENTILATION = { type: 3, value: "VENTILATION" }; + IfcSpatialZoneTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSpatialZoneTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSpatialZoneTypeEnum = IfcSpatialZoneTypeEnum; + class IfcStackTerminalTypeEnum { + } + IfcStackTerminalTypeEnum.BIRDCAGE = { type: 3, value: "BIRDCAGE" }; + IfcStackTerminalTypeEnum.COWL = { type: 3, value: "COWL" }; + IfcStackTerminalTypeEnum.RAINWATERHOPPER = { type: 3, value: "RAINWATERHOPPER" }; + IfcStackTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStackTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcStackTerminalTypeEnum = IfcStackTerminalTypeEnum; + class IfcStairFlightTypeEnum { + } + IfcStairFlightTypeEnum.STRAIGHT = { type: 3, value: "STRAIGHT" }; + IfcStairFlightTypeEnum.WINDER = { type: 3, value: "WINDER" }; + IfcStairFlightTypeEnum.SPIRAL = { type: 3, value: "SPIRAL" }; + IfcStairFlightTypeEnum.CURVED = { type: 3, value: "CURVED" }; + IfcStairFlightTypeEnum.FREEFORM = { type: 3, value: "FREEFORM" }; + IfcStairFlightTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStairFlightTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcStairFlightTypeEnum = IfcStairFlightTypeEnum; + class IfcStairTypeEnum { + } + IfcStairTypeEnum.STRAIGHT_RUN_STAIR = { type: 3, value: "STRAIGHT_RUN_STAIR" }; + IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR = { type: 3, value: "TWO_STRAIGHT_RUN_STAIR" }; + IfcStairTypeEnum.QUARTER_WINDING_STAIR = { type: 3, value: "QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.QUARTER_TURN_STAIR = { type: 3, value: "QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.HALF_WINDING_STAIR = { type: 3, value: "HALF_WINDING_STAIR" }; + IfcStairTypeEnum.HALF_TURN_STAIR = { type: 3, value: "HALF_TURN_STAIR" }; + IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR = { type: 3, value: "TWO_QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR = { type: 3, value: "TWO_QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR = { type: 3, value: "THREE_QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR = { type: 3, value: "THREE_QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.SPIRAL_STAIR = { type: 3, value: "SPIRAL_STAIR" }; + IfcStairTypeEnum.DOUBLE_RETURN_STAIR = { type: 3, value: "DOUBLE_RETURN_STAIR" }; + IfcStairTypeEnum.CURVED_RUN_STAIR = { type: 3, value: "CURVED_RUN_STAIR" }; + IfcStairTypeEnum.TWO_CURVED_RUN_STAIR = { type: 3, value: "TWO_CURVED_RUN_STAIR" }; + IfcStairTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStairTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcStairTypeEnum = IfcStairTypeEnum; + class IfcStateEnum { + } + IfcStateEnum.READWRITE = { type: 3, value: "READWRITE" }; + IfcStateEnum.READONLY = { type: 3, value: "READONLY" }; + IfcStateEnum.LOCKED = { type: 3, value: "LOCKED" }; + IfcStateEnum.READWRITELOCKED = { type: 3, value: "READWRITELOCKED" }; + IfcStateEnum.READONLYLOCKED = { type: 3, value: "READONLYLOCKED" }; + IFC42.IfcStateEnum = IfcStateEnum; + class IfcStructuralCurveActivityTypeEnum { + } + IfcStructuralCurveActivityTypeEnum.CONST = { type: 3, value: "CONST" }; + IfcStructuralCurveActivityTypeEnum.LINEAR = { type: 3, value: "LINEAR" }; + IfcStructuralCurveActivityTypeEnum.POLYGONAL = { type: 3, value: "POLYGONAL" }; + IfcStructuralCurveActivityTypeEnum.EQUIDISTANT = { type: 3, value: "EQUIDISTANT" }; + IfcStructuralCurveActivityTypeEnum.SINUS = { type: 3, value: "SINUS" }; + IfcStructuralCurveActivityTypeEnum.PARABOLA = { type: 3, value: "PARABOLA" }; + IfcStructuralCurveActivityTypeEnum.DISCRETE = { type: 3, value: "DISCRETE" }; + IfcStructuralCurveActivityTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralCurveActivityTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcStructuralCurveActivityTypeEnum = IfcStructuralCurveActivityTypeEnum; + class IfcStructuralCurveMemberTypeEnum { + } + IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER = { type: 3, value: "RIGID_JOINED_MEMBER" }; + IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER = { type: 3, value: "PIN_JOINED_MEMBER" }; + IfcStructuralCurveMemberTypeEnum.CABLE = { type: 3, value: "CABLE" }; + IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER = { type: 3, value: "TENSION_MEMBER" }; + IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER = { type: 3, value: "COMPRESSION_MEMBER" }; + IfcStructuralCurveMemberTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralCurveMemberTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcStructuralCurveMemberTypeEnum = IfcStructuralCurveMemberTypeEnum; + class IfcStructuralSurfaceActivityTypeEnum { + } + IfcStructuralSurfaceActivityTypeEnum.CONST = { type: 3, value: "CONST" }; + IfcStructuralSurfaceActivityTypeEnum.BILINEAR = { type: 3, value: "BILINEAR" }; + IfcStructuralSurfaceActivityTypeEnum.DISCRETE = { type: 3, value: "DISCRETE" }; + IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR = { type: 3, value: "ISOCONTOUR" }; + IfcStructuralSurfaceActivityTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcStructuralSurfaceActivityTypeEnum = IfcStructuralSurfaceActivityTypeEnum; + class IfcStructuralSurfaceMemberTypeEnum { + } + IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT = { type: 3, value: "BENDING_ELEMENT" }; + IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT = { type: 3, value: "MEMBRANE_ELEMENT" }; + IfcStructuralSurfaceMemberTypeEnum.SHELL = { type: 3, value: "SHELL" }; + IfcStructuralSurfaceMemberTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcStructuralSurfaceMemberTypeEnum = IfcStructuralSurfaceMemberTypeEnum; + class IfcSubContractResourceTypeEnum { + } + IfcSubContractResourceTypeEnum.PURCHASE = { type: 3, value: "PURCHASE" }; + IfcSubContractResourceTypeEnum.WORK = { type: 3, value: "WORK" }; + IfcSubContractResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSubContractResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSubContractResourceTypeEnum = IfcSubContractResourceTypeEnum; + class IfcSurfaceFeatureTypeEnum { + } + IfcSurfaceFeatureTypeEnum.MARK = { type: 3, value: "MARK" }; + IfcSurfaceFeatureTypeEnum.TAG = { type: 3, value: "TAG" }; + IfcSurfaceFeatureTypeEnum.TREATMENT = { type: 3, value: "TREATMENT" }; + IfcSurfaceFeatureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSurfaceFeatureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSurfaceFeatureTypeEnum = IfcSurfaceFeatureTypeEnum; + class IfcSurfaceSide { + } + IfcSurfaceSide.POSITIVE = { type: 3, value: "POSITIVE" }; + IfcSurfaceSide.NEGATIVE = { type: 3, value: "NEGATIVE" }; + IfcSurfaceSide.BOTH = { type: 3, value: "BOTH" }; + IFC42.IfcSurfaceSide = IfcSurfaceSide; + class IfcSwitchingDeviceTypeEnum { + } + IfcSwitchingDeviceTypeEnum.CONTACTOR = { type: 3, value: "CONTACTOR" }; + IfcSwitchingDeviceTypeEnum.DIMMERSWITCH = { type: 3, value: "DIMMERSWITCH" }; + IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP = { type: 3, value: "EMERGENCYSTOP" }; + IfcSwitchingDeviceTypeEnum.KEYPAD = { type: 3, value: "KEYPAD" }; + IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH = { type: 3, value: "MOMENTARYSWITCH" }; + IfcSwitchingDeviceTypeEnum.SELECTORSWITCH = { type: 3, value: "SELECTORSWITCH" }; + IfcSwitchingDeviceTypeEnum.STARTER = { type: 3, value: "STARTER" }; + IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR = { type: 3, value: "SWITCHDISCONNECTOR" }; + IfcSwitchingDeviceTypeEnum.TOGGLESWITCH = { type: 3, value: "TOGGLESWITCH" }; + IfcSwitchingDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSwitchingDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSwitchingDeviceTypeEnum = IfcSwitchingDeviceTypeEnum; + class IfcSystemFurnitureElementTypeEnum { + } + IfcSystemFurnitureElementTypeEnum.PANEL = { type: 3, value: "PANEL" }; + IfcSystemFurnitureElementTypeEnum.WORKSURFACE = { type: 3, value: "WORKSURFACE" }; + IfcSystemFurnitureElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSystemFurnitureElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcSystemFurnitureElementTypeEnum = IfcSystemFurnitureElementTypeEnum; + class IfcTankTypeEnum { + } + IfcTankTypeEnum.BASIN = { type: 3, value: "BASIN" }; + IfcTankTypeEnum.BREAKPRESSURE = { type: 3, value: "BREAKPRESSURE" }; + IfcTankTypeEnum.EXPANSION = { type: 3, value: "EXPANSION" }; + IfcTankTypeEnum.FEEDANDEXPANSION = { type: 3, value: "FEEDANDEXPANSION" }; + IfcTankTypeEnum.PRESSUREVESSEL = { type: 3, value: "PRESSUREVESSEL" }; + IfcTankTypeEnum.STORAGE = { type: 3, value: "STORAGE" }; + IfcTankTypeEnum.VESSEL = { type: 3, value: "VESSEL" }; + IfcTankTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTankTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTankTypeEnum = IfcTankTypeEnum; + class IfcTaskDurationEnum { + } + IfcTaskDurationEnum.ELAPSEDTIME = { type: 3, value: "ELAPSEDTIME" }; + IfcTaskDurationEnum.WORKTIME = { type: 3, value: "WORKTIME" }; + IfcTaskDurationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTaskDurationEnum = IfcTaskDurationEnum; + class IfcTaskTypeEnum { + } + IfcTaskTypeEnum.ATTENDANCE = { type: 3, value: "ATTENDANCE" }; + IfcTaskTypeEnum.CONSTRUCTION = { type: 3, value: "CONSTRUCTION" }; + IfcTaskTypeEnum.DEMOLITION = { type: 3, value: "DEMOLITION" }; + IfcTaskTypeEnum.DISMANTLE = { type: 3, value: "DISMANTLE" }; + IfcTaskTypeEnum.DISPOSAL = { type: 3, value: "DISPOSAL" }; + IfcTaskTypeEnum.INSTALLATION = { type: 3, value: "INSTALLATION" }; + IfcTaskTypeEnum.LOGISTIC = { type: 3, value: "LOGISTIC" }; + IfcTaskTypeEnum.MAINTENANCE = { type: 3, value: "MAINTENANCE" }; + IfcTaskTypeEnum.MOVE = { type: 3, value: "MOVE" }; + IfcTaskTypeEnum.OPERATION = { type: 3, value: "OPERATION" }; + IfcTaskTypeEnum.REMOVAL = { type: 3, value: "REMOVAL" }; + IfcTaskTypeEnum.RENOVATION = { type: 3, value: "RENOVATION" }; + IfcTaskTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTaskTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTaskTypeEnum = IfcTaskTypeEnum; + class IfcTendonAnchorTypeEnum { + } + IfcTendonAnchorTypeEnum.COUPLER = { type: 3, value: "COUPLER" }; + IfcTendonAnchorTypeEnum.FIXED_END = { type: 3, value: "FIXED_END" }; + IfcTendonAnchorTypeEnum.TENSIONING_END = { type: 3, value: "TENSIONING_END" }; + IfcTendonAnchorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTendonAnchorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTendonAnchorTypeEnum = IfcTendonAnchorTypeEnum; + class IfcTendonTypeEnum { + } + IfcTendonTypeEnum.BAR = { type: 3, value: "BAR" }; + IfcTendonTypeEnum.COATED = { type: 3, value: "COATED" }; + IfcTendonTypeEnum.STRAND = { type: 3, value: "STRAND" }; + IfcTendonTypeEnum.WIRE = { type: 3, value: "WIRE" }; + IfcTendonTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTendonTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTendonTypeEnum = IfcTendonTypeEnum; + class IfcTextPath { + } + IfcTextPath.LEFT = { type: 3, value: "LEFT" }; + IfcTextPath.RIGHT = { type: 3, value: "RIGHT" }; + IfcTextPath.UP = { type: 3, value: "UP" }; + IfcTextPath.DOWN = { type: 3, value: "DOWN" }; + IFC42.IfcTextPath = IfcTextPath; + class IfcTimeSeriesDataTypeEnum { + } + IfcTimeSeriesDataTypeEnum.CONTINUOUS = { type: 3, value: "CONTINUOUS" }; + IfcTimeSeriesDataTypeEnum.DISCRETE = { type: 3, value: "DISCRETE" }; + IfcTimeSeriesDataTypeEnum.DISCRETEBINARY = { type: 3, value: "DISCRETEBINARY" }; + IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY = { type: 3, value: "PIECEWISEBINARY" }; + IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT = { type: 3, value: "PIECEWISECONSTANT" }; + IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS = { type: 3, value: "PIECEWISECONTINUOUS" }; + IfcTimeSeriesDataTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTimeSeriesDataTypeEnum = IfcTimeSeriesDataTypeEnum; + class IfcTransformerTypeEnum { + } + IfcTransformerTypeEnum.CURRENT = { type: 3, value: "CURRENT" }; + IfcTransformerTypeEnum.FREQUENCY = { type: 3, value: "FREQUENCY" }; + IfcTransformerTypeEnum.INVERTER = { type: 3, value: "INVERTER" }; + IfcTransformerTypeEnum.RECTIFIER = { type: 3, value: "RECTIFIER" }; + IfcTransformerTypeEnum.VOLTAGE = { type: 3, value: "VOLTAGE" }; + IfcTransformerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTransformerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTransformerTypeEnum = IfcTransformerTypeEnum; + class IfcTransitionCode { + } + IfcTransitionCode.DISCONTINUOUS = { type: 3, value: "DISCONTINUOUS" }; + IfcTransitionCode.CONTINUOUS = { type: 3, value: "CONTINUOUS" }; + IfcTransitionCode.CONTSAMEGRADIENT = { type: 3, value: "CONTSAMEGRADIENT" }; + IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE = { type: 3, value: "CONTSAMEGRADIENTSAMECURVATURE" }; + IFC42.IfcTransitionCode = IfcTransitionCode; + class IfcTransportElementTypeEnum { + } + IfcTransportElementTypeEnum.ELEVATOR = { type: 3, value: "ELEVATOR" }; + IfcTransportElementTypeEnum.ESCALATOR = { type: 3, value: "ESCALATOR" }; + IfcTransportElementTypeEnum.MOVINGWALKWAY = { type: 3, value: "MOVINGWALKWAY" }; + IfcTransportElementTypeEnum.CRANEWAY = { type: 3, value: "CRANEWAY" }; + IfcTransportElementTypeEnum.LIFTINGGEAR = { type: 3, value: "LIFTINGGEAR" }; + IfcTransportElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTransportElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTransportElementTypeEnum = IfcTransportElementTypeEnum; + class IfcTrimmingPreference { + } + IfcTrimmingPreference.CARTESIAN = { type: 3, value: "CARTESIAN" }; + IfcTrimmingPreference.PARAMETER = { type: 3, value: "PARAMETER" }; + IfcTrimmingPreference.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC42.IfcTrimmingPreference = IfcTrimmingPreference; + class IfcTubeBundleTypeEnum { + } + IfcTubeBundleTypeEnum.FINNED = { type: 3, value: "FINNED" }; + IfcTubeBundleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTubeBundleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcTubeBundleTypeEnum = IfcTubeBundleTypeEnum; + class IfcUnitEnum { + } + IfcUnitEnum.ABSORBEDDOSEUNIT = { type: 3, value: "ABSORBEDDOSEUNIT" }; + IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT = { type: 3, value: "AMOUNTOFSUBSTANCEUNIT" }; + IfcUnitEnum.AREAUNIT = { type: 3, value: "AREAUNIT" }; + IfcUnitEnum.DOSEEQUIVALENTUNIT = { type: 3, value: "DOSEEQUIVALENTUNIT" }; + IfcUnitEnum.ELECTRICCAPACITANCEUNIT = { type: 3, value: "ELECTRICCAPACITANCEUNIT" }; + IfcUnitEnum.ELECTRICCHARGEUNIT = { type: 3, value: "ELECTRICCHARGEUNIT" }; + IfcUnitEnum.ELECTRICCONDUCTANCEUNIT = { type: 3, value: "ELECTRICCONDUCTANCEUNIT" }; + IfcUnitEnum.ELECTRICCURRENTUNIT = { type: 3, value: "ELECTRICCURRENTUNIT" }; + IfcUnitEnum.ELECTRICRESISTANCEUNIT = { type: 3, value: "ELECTRICRESISTANCEUNIT" }; + IfcUnitEnum.ELECTRICVOLTAGEUNIT = { type: 3, value: "ELECTRICVOLTAGEUNIT" }; + IfcUnitEnum.ENERGYUNIT = { type: 3, value: "ENERGYUNIT" }; + IfcUnitEnum.FORCEUNIT = { type: 3, value: "FORCEUNIT" }; + IfcUnitEnum.FREQUENCYUNIT = { type: 3, value: "FREQUENCYUNIT" }; + IfcUnitEnum.ILLUMINANCEUNIT = { type: 3, value: "ILLUMINANCEUNIT" }; + IfcUnitEnum.INDUCTANCEUNIT = { type: 3, value: "INDUCTANCEUNIT" }; + IfcUnitEnum.LENGTHUNIT = { type: 3, value: "LENGTHUNIT" }; + IfcUnitEnum.LUMINOUSFLUXUNIT = { type: 3, value: "LUMINOUSFLUXUNIT" }; + IfcUnitEnum.LUMINOUSINTENSITYUNIT = { type: 3, value: "LUMINOUSINTENSITYUNIT" }; + IfcUnitEnum.MAGNETICFLUXDENSITYUNIT = { type: 3, value: "MAGNETICFLUXDENSITYUNIT" }; + IfcUnitEnum.MAGNETICFLUXUNIT = { type: 3, value: "MAGNETICFLUXUNIT" }; + IfcUnitEnum.MASSUNIT = { type: 3, value: "MASSUNIT" }; + IfcUnitEnum.PLANEANGLEUNIT = { type: 3, value: "PLANEANGLEUNIT" }; + IfcUnitEnum.POWERUNIT = { type: 3, value: "POWERUNIT" }; + IfcUnitEnum.PRESSUREUNIT = { type: 3, value: "PRESSUREUNIT" }; + IfcUnitEnum.RADIOACTIVITYUNIT = { type: 3, value: "RADIOACTIVITYUNIT" }; + IfcUnitEnum.SOLIDANGLEUNIT = { type: 3, value: "SOLIDANGLEUNIT" }; + IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT = { type: 3, value: "THERMODYNAMICTEMPERATUREUNIT" }; + IfcUnitEnum.TIMEUNIT = { type: 3, value: "TIMEUNIT" }; + IfcUnitEnum.VOLUMEUNIT = { type: 3, value: "VOLUMEUNIT" }; + IfcUnitEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC42.IfcUnitEnum = IfcUnitEnum; + class IfcUnitaryControlElementTypeEnum { + } + IfcUnitaryControlElementTypeEnum.ALARMPANEL = { type: 3, value: "ALARMPANEL" }; + IfcUnitaryControlElementTypeEnum.CONTROLPANEL = { type: 3, value: "CONTROLPANEL" }; + IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL = { type: 3, value: "GASDETECTIONPANEL" }; + IfcUnitaryControlElementTypeEnum.INDICATORPANEL = { type: 3, value: "INDICATORPANEL" }; + IfcUnitaryControlElementTypeEnum.MIMICPANEL = { type: 3, value: "MIMICPANEL" }; + IfcUnitaryControlElementTypeEnum.HUMIDISTAT = { type: 3, value: "HUMIDISTAT" }; + IfcUnitaryControlElementTypeEnum.THERMOSTAT = { type: 3, value: "THERMOSTAT" }; + IfcUnitaryControlElementTypeEnum.WEATHERSTATION = { type: 3, value: "WEATHERSTATION" }; + IfcUnitaryControlElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcUnitaryControlElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcUnitaryControlElementTypeEnum = IfcUnitaryControlElementTypeEnum; + class IfcUnitaryEquipmentTypeEnum { + } + IfcUnitaryEquipmentTypeEnum.AIRHANDLER = { type: 3, value: "AIRHANDLER" }; + IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT = { type: 3, value: "AIRCONDITIONINGUNIT" }; + IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER = { type: 3, value: "DEHUMIDIFIER" }; + IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM = { type: 3, value: "SPLITSYSTEM" }; + IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT = { type: 3, value: "ROOFTOPUNIT" }; + IfcUnitaryEquipmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcUnitaryEquipmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcUnitaryEquipmentTypeEnum = IfcUnitaryEquipmentTypeEnum; + class IfcValveTypeEnum { + } + IfcValveTypeEnum.AIRRELEASE = { type: 3, value: "AIRRELEASE" }; + IfcValveTypeEnum.ANTIVACUUM = { type: 3, value: "ANTIVACUUM" }; + IfcValveTypeEnum.CHANGEOVER = { type: 3, value: "CHANGEOVER" }; + IfcValveTypeEnum.CHECK = { type: 3, value: "CHECK" }; + IfcValveTypeEnum.COMMISSIONING = { type: 3, value: "COMMISSIONING" }; + IfcValveTypeEnum.DIVERTING = { type: 3, value: "DIVERTING" }; + IfcValveTypeEnum.DRAWOFFCOCK = { type: 3, value: "DRAWOFFCOCK" }; + IfcValveTypeEnum.DOUBLECHECK = { type: 3, value: "DOUBLECHECK" }; + IfcValveTypeEnum.DOUBLEREGULATING = { type: 3, value: "DOUBLEREGULATING" }; + IfcValveTypeEnum.FAUCET = { type: 3, value: "FAUCET" }; + IfcValveTypeEnum.FLUSHING = { type: 3, value: "FLUSHING" }; + IfcValveTypeEnum.GASCOCK = { type: 3, value: "GASCOCK" }; + IfcValveTypeEnum.GASTAP = { type: 3, value: "GASTAP" }; + IfcValveTypeEnum.ISOLATING = { type: 3, value: "ISOLATING" }; + IfcValveTypeEnum.MIXING = { type: 3, value: "MIXING" }; + IfcValveTypeEnum.PRESSUREREDUCING = { type: 3, value: "PRESSUREREDUCING" }; + IfcValveTypeEnum.PRESSURERELIEF = { type: 3, value: "PRESSURERELIEF" }; + IfcValveTypeEnum.REGULATING = { type: 3, value: "REGULATING" }; + IfcValveTypeEnum.SAFETYCUTOFF = { type: 3, value: "SAFETYCUTOFF" }; + IfcValveTypeEnum.STEAMTRAP = { type: 3, value: "STEAMTRAP" }; + IfcValveTypeEnum.STOPCOCK = { type: 3, value: "STOPCOCK" }; + IfcValveTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcValveTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcValveTypeEnum = IfcValveTypeEnum; + class IfcVibrationIsolatorTypeEnum { + } + IfcVibrationIsolatorTypeEnum.COMPRESSION = { type: 3, value: "COMPRESSION" }; + IfcVibrationIsolatorTypeEnum.SPRING = { type: 3, value: "SPRING" }; + IfcVibrationIsolatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcVibrationIsolatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcVibrationIsolatorTypeEnum = IfcVibrationIsolatorTypeEnum; + class IfcVoidingFeatureTypeEnum { + } + IfcVoidingFeatureTypeEnum.CUTOUT = { type: 3, value: "CUTOUT" }; + IfcVoidingFeatureTypeEnum.NOTCH = { type: 3, value: "NOTCH" }; + IfcVoidingFeatureTypeEnum.HOLE = { type: 3, value: "HOLE" }; + IfcVoidingFeatureTypeEnum.MITER = { type: 3, value: "MITER" }; + IfcVoidingFeatureTypeEnum.CHAMFER = { type: 3, value: "CHAMFER" }; + IfcVoidingFeatureTypeEnum.EDGE = { type: 3, value: "EDGE" }; + IfcVoidingFeatureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcVoidingFeatureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcVoidingFeatureTypeEnum = IfcVoidingFeatureTypeEnum; + class IfcWallTypeEnum { + } + IfcWallTypeEnum.MOVABLE = { type: 3, value: "MOVABLE" }; + IfcWallTypeEnum.PARAPET = { type: 3, value: "PARAPET" }; + IfcWallTypeEnum.PARTITIONING = { type: 3, value: "PARTITIONING" }; + IfcWallTypeEnum.PLUMBINGWALL = { type: 3, value: "PLUMBINGWALL" }; + IfcWallTypeEnum.SHEAR = { type: 3, value: "SHEAR" }; + IfcWallTypeEnum.SOLIDWALL = { type: 3, value: "SOLIDWALL" }; + IfcWallTypeEnum.STANDARD = { type: 3, value: "STANDARD" }; + IfcWallTypeEnum.POLYGONAL = { type: 3, value: "POLYGONAL" }; + IfcWallTypeEnum.ELEMENTEDWALL = { type: 3, value: "ELEMENTEDWALL" }; + IfcWallTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWallTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWallTypeEnum = IfcWallTypeEnum; + class IfcWasteTerminalTypeEnum { + } + IfcWasteTerminalTypeEnum.FLOORTRAP = { type: 3, value: "FLOORTRAP" }; + IfcWasteTerminalTypeEnum.FLOORWASTE = { type: 3, value: "FLOORWASTE" }; + IfcWasteTerminalTypeEnum.GULLYSUMP = { type: 3, value: "GULLYSUMP" }; + IfcWasteTerminalTypeEnum.GULLYTRAP = { type: 3, value: "GULLYTRAP" }; + IfcWasteTerminalTypeEnum.ROOFDRAIN = { type: 3, value: "ROOFDRAIN" }; + IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT = { type: 3, value: "WASTEDISPOSALUNIT" }; + IfcWasteTerminalTypeEnum.WASTETRAP = { type: 3, value: "WASTETRAP" }; + IfcWasteTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWasteTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWasteTerminalTypeEnum = IfcWasteTerminalTypeEnum; + class IfcWindowPanelOperationEnum { + } + IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND = { type: 3, value: "SIDEHUNGRIGHTHAND" }; + IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND = { type: 3, value: "SIDEHUNGLEFTHAND" }; + IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND = { type: 3, value: "TILTANDTURNRIGHTHAND" }; + IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND = { type: 3, value: "TILTANDTURNLEFTHAND" }; + IfcWindowPanelOperationEnum.TOPHUNG = { type: 3, value: "TOPHUNG" }; + IfcWindowPanelOperationEnum.BOTTOMHUNG = { type: 3, value: "BOTTOMHUNG" }; + IfcWindowPanelOperationEnum.PIVOTHORIZONTAL = { type: 3, value: "PIVOTHORIZONTAL" }; + IfcWindowPanelOperationEnum.PIVOTVERTICAL = { type: 3, value: "PIVOTVERTICAL" }; + IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL = { type: 3, value: "SLIDINGHORIZONTAL" }; + IfcWindowPanelOperationEnum.SLIDINGVERTICAL = { type: 3, value: "SLIDINGVERTICAL" }; + IfcWindowPanelOperationEnum.REMOVABLECASEMENT = { type: 3, value: "REMOVABLECASEMENT" }; + IfcWindowPanelOperationEnum.FIXEDCASEMENT = { type: 3, value: "FIXEDCASEMENT" }; + IfcWindowPanelOperationEnum.OTHEROPERATION = { type: 3, value: "OTHEROPERATION" }; + IfcWindowPanelOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWindowPanelOperationEnum = IfcWindowPanelOperationEnum; + class IfcWindowPanelPositionEnum { + } + IfcWindowPanelPositionEnum.LEFT = { type: 3, value: "LEFT" }; + IfcWindowPanelPositionEnum.MIDDLE = { type: 3, value: "MIDDLE" }; + IfcWindowPanelPositionEnum.RIGHT = { type: 3, value: "RIGHT" }; + IfcWindowPanelPositionEnum.BOTTOM = { type: 3, value: "BOTTOM" }; + IfcWindowPanelPositionEnum.TOP = { type: 3, value: "TOP" }; + IfcWindowPanelPositionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWindowPanelPositionEnum = IfcWindowPanelPositionEnum; + class IfcWindowStyleConstructionEnum { + } + IfcWindowStyleConstructionEnum.ALUMINIUM = { type: 3, value: "ALUMINIUM" }; + IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL = { type: 3, value: "HIGH_GRADE_STEEL" }; + IfcWindowStyleConstructionEnum.STEEL = { type: 3, value: "STEEL" }; + IfcWindowStyleConstructionEnum.WOOD = { type: 3, value: "WOOD" }; + IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD = { type: 3, value: "ALUMINIUM_WOOD" }; + IfcWindowStyleConstructionEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION = { type: 3, value: "OTHER_CONSTRUCTION" }; + IfcWindowStyleConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWindowStyleConstructionEnum = IfcWindowStyleConstructionEnum; + class IfcWindowStyleOperationEnum { + } + IfcWindowStyleOperationEnum.SINGLE_PANEL = { type: 3, value: "SINGLE_PANEL" }; + IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL = { type: 3, value: "DOUBLE_PANEL_VERTICAL" }; + IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL = { type: 3, value: "DOUBLE_PANEL_HORIZONTAL" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL = { type: 3, value: "TRIPLE_PANEL_VERTICAL" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM = { type: 3, value: "TRIPLE_PANEL_BOTTOM" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP = { type: 3, value: "TRIPLE_PANEL_TOP" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT = { type: 3, value: "TRIPLE_PANEL_LEFT" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT = { type: 3, value: "TRIPLE_PANEL_RIGHT" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL = { type: 3, value: "TRIPLE_PANEL_HORIZONTAL" }; + IfcWindowStyleOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWindowStyleOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWindowStyleOperationEnum = IfcWindowStyleOperationEnum; + class IfcWindowTypeEnum { + } + IfcWindowTypeEnum.WINDOW = { type: 3, value: "WINDOW" }; + IfcWindowTypeEnum.SKYLIGHT = { type: 3, value: "SKYLIGHT" }; + IfcWindowTypeEnum.LIGHTDOME = { type: 3, value: "LIGHTDOME" }; + IfcWindowTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWindowTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWindowTypeEnum = IfcWindowTypeEnum; + class IfcWindowTypePartitioningEnum { + } + IfcWindowTypePartitioningEnum.SINGLE_PANEL = { type: 3, value: "SINGLE_PANEL" }; + IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL = { type: 3, value: "DOUBLE_PANEL_VERTICAL" }; + IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL = { type: 3, value: "DOUBLE_PANEL_HORIZONTAL" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL = { type: 3, value: "TRIPLE_PANEL_VERTICAL" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM = { type: 3, value: "TRIPLE_PANEL_BOTTOM" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP = { type: 3, value: "TRIPLE_PANEL_TOP" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT = { type: 3, value: "TRIPLE_PANEL_LEFT" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT = { type: 3, value: "TRIPLE_PANEL_RIGHT" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL = { type: 3, value: "TRIPLE_PANEL_HORIZONTAL" }; + IfcWindowTypePartitioningEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWindowTypePartitioningEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWindowTypePartitioningEnum = IfcWindowTypePartitioningEnum; + class IfcWorkCalendarTypeEnum { + } + IfcWorkCalendarTypeEnum.FIRSTSHIFT = { type: 3, value: "FIRSTSHIFT" }; + IfcWorkCalendarTypeEnum.SECONDSHIFT = { type: 3, value: "SECONDSHIFT" }; + IfcWorkCalendarTypeEnum.THIRDSHIFT = { type: 3, value: "THIRDSHIFT" }; + IfcWorkCalendarTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWorkCalendarTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWorkCalendarTypeEnum = IfcWorkCalendarTypeEnum; + class IfcWorkPlanTypeEnum { + } + IfcWorkPlanTypeEnum.ACTUAL = { type: 3, value: "ACTUAL" }; + IfcWorkPlanTypeEnum.BASELINE = { type: 3, value: "BASELINE" }; + IfcWorkPlanTypeEnum.PLANNED = { type: 3, value: "PLANNED" }; + IfcWorkPlanTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWorkPlanTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWorkPlanTypeEnum = IfcWorkPlanTypeEnum; + class IfcWorkScheduleTypeEnum { + } + IfcWorkScheduleTypeEnum.ACTUAL = { type: 3, value: "ACTUAL" }; + IfcWorkScheduleTypeEnum.BASELINE = { type: 3, value: "BASELINE" }; + IfcWorkScheduleTypeEnum.PLANNED = { type: 3, value: "PLANNED" }; + IfcWorkScheduleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWorkScheduleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC42.IfcWorkScheduleTypeEnum = IfcWorkScheduleTypeEnum; + class IfcActorRole extends IfcLineObject { + constructor(expressID, Role, UserDefinedRole, Description) { + super(expressID); + this.Role = Role; + this.UserDefinedRole = UserDefinedRole; + this.Description = Description; + this.type = 3630933823; + } + } + IFC42.IfcActorRole = IfcActorRole; + class IfcAddress extends IfcLineObject { + constructor(expressID, Purpose, Description, UserDefinedPurpose) { + super(expressID); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.type = 618182010; + } + } + IFC42.IfcAddress = IfcAddress; + class IfcApplication extends IfcLineObject { + constructor(expressID, ApplicationDeveloper, Version, ApplicationFullName, ApplicationIdentifier) { + super(expressID); + this.ApplicationDeveloper = ApplicationDeveloper; + this.Version = Version; + this.ApplicationFullName = ApplicationFullName; + this.ApplicationIdentifier = ApplicationIdentifier; + this.type = 639542469; + } + } + IFC42.IfcApplication = IfcApplication; + class IfcAppliedValue extends IfcLineObject { + constructor(expressID, Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.AppliedValue = AppliedValue; + this.UnitBasis = UnitBasis; + this.ApplicableDate = ApplicableDate; + this.FixedUntilDate = FixedUntilDate; + this.Category = Category; + this.Condition = Condition; + this.ArithmeticOperator = ArithmeticOperator; + this.Components = Components; + this.type = 411424972; + } + } + IFC42.IfcAppliedValue = IfcAppliedValue; + class IfcApproval extends IfcLineObject { + constructor(expressID, Identifier, Name, Description, TimeOfApproval, Status, Level, Qualifier, RequestingApproval, GivingApproval) { + super(expressID); + this.Identifier = Identifier; + this.Name = Name; + this.Description = Description; + this.TimeOfApproval = TimeOfApproval; + this.Status = Status; + this.Level = Level; + this.Qualifier = Qualifier; + this.RequestingApproval = RequestingApproval; + this.GivingApproval = GivingApproval; + this.type = 130549933; + } + } + IFC42.IfcApproval = IfcApproval; + class IfcBoundaryCondition extends IfcLineObject { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 4037036970; + } + } + IFC42.IfcBoundaryCondition = IfcBoundaryCondition; + class IfcBoundaryEdgeCondition extends IfcBoundaryCondition { + constructor(expressID, Name, TranslationalStiffnessByLengthX, TranslationalStiffnessByLengthY, TranslationalStiffnessByLengthZ, RotationalStiffnessByLengthX, RotationalStiffnessByLengthY, RotationalStiffnessByLengthZ) { + super(expressID, Name); + this.Name = Name; + this.TranslationalStiffnessByLengthX = TranslationalStiffnessByLengthX; + this.TranslationalStiffnessByLengthY = TranslationalStiffnessByLengthY; + this.TranslationalStiffnessByLengthZ = TranslationalStiffnessByLengthZ; + this.RotationalStiffnessByLengthX = RotationalStiffnessByLengthX; + this.RotationalStiffnessByLengthY = RotationalStiffnessByLengthY; + this.RotationalStiffnessByLengthZ = RotationalStiffnessByLengthZ; + this.type = 1560379544; + } + } + IFC42.IfcBoundaryEdgeCondition = IfcBoundaryEdgeCondition; + class IfcBoundaryFaceCondition extends IfcBoundaryCondition { + constructor(expressID, Name, TranslationalStiffnessByAreaX, TranslationalStiffnessByAreaY, TranslationalStiffnessByAreaZ) { + super(expressID, Name); + this.Name = Name; + this.TranslationalStiffnessByAreaX = TranslationalStiffnessByAreaX; + this.TranslationalStiffnessByAreaY = TranslationalStiffnessByAreaY; + this.TranslationalStiffnessByAreaZ = TranslationalStiffnessByAreaZ; + this.type = 3367102660; + } + } + IFC42.IfcBoundaryFaceCondition = IfcBoundaryFaceCondition; + class IfcBoundaryNodeCondition extends IfcBoundaryCondition { + constructor(expressID, Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ) { + super(expressID, Name); + this.Name = Name; + this.TranslationalStiffnessX = TranslationalStiffnessX; + this.TranslationalStiffnessY = TranslationalStiffnessY; + this.TranslationalStiffnessZ = TranslationalStiffnessZ; + this.RotationalStiffnessX = RotationalStiffnessX; + this.RotationalStiffnessY = RotationalStiffnessY; + this.RotationalStiffnessZ = RotationalStiffnessZ; + this.type = 1387855156; + } + } + IFC42.IfcBoundaryNodeCondition = IfcBoundaryNodeCondition; + class IfcBoundaryNodeConditionWarping extends IfcBoundaryNodeCondition { + constructor(expressID, Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ, WarpingStiffness) { + super(expressID, Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ); + this.Name = Name; + this.TranslationalStiffnessX = TranslationalStiffnessX; + this.TranslationalStiffnessY = TranslationalStiffnessY; + this.TranslationalStiffnessZ = TranslationalStiffnessZ; + this.RotationalStiffnessX = RotationalStiffnessX; + this.RotationalStiffnessY = RotationalStiffnessY; + this.RotationalStiffnessZ = RotationalStiffnessZ; + this.WarpingStiffness = WarpingStiffness; + this.type = 2069777674; + } + } + IFC42.IfcBoundaryNodeConditionWarping = IfcBoundaryNodeConditionWarping; + class IfcConnectionGeometry extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 2859738748; + } + } + IFC42.IfcConnectionGeometry = IfcConnectionGeometry; + class IfcConnectionPointGeometry extends IfcConnectionGeometry { + constructor(expressID, PointOnRelatingElement, PointOnRelatedElement) { + super(expressID); + this.PointOnRelatingElement = PointOnRelatingElement; + this.PointOnRelatedElement = PointOnRelatedElement; + this.type = 2614616156; + } + } + IFC42.IfcConnectionPointGeometry = IfcConnectionPointGeometry; + class IfcConnectionSurfaceGeometry extends IfcConnectionGeometry { + constructor(expressID, SurfaceOnRelatingElement, SurfaceOnRelatedElement) { + super(expressID); + this.SurfaceOnRelatingElement = SurfaceOnRelatingElement; + this.SurfaceOnRelatedElement = SurfaceOnRelatedElement; + this.type = 2732653382; + } + } + IFC42.IfcConnectionSurfaceGeometry = IfcConnectionSurfaceGeometry; + class IfcConnectionVolumeGeometry extends IfcConnectionGeometry { + constructor(expressID, VolumeOnRelatingElement, VolumeOnRelatedElement) { + super(expressID); + this.VolumeOnRelatingElement = VolumeOnRelatingElement; + this.VolumeOnRelatedElement = VolumeOnRelatedElement; + this.type = 775493141; + } + } + IFC42.IfcConnectionVolumeGeometry = IfcConnectionVolumeGeometry; + class IfcConstraint extends IfcLineObject { + constructor(expressID, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.type = 1959218052; + } + } + IFC42.IfcConstraint = IfcConstraint; + class IfcCoordinateOperation extends IfcLineObject { + constructor(expressID, SourceCRS, TargetCRS) { + super(expressID); + this.SourceCRS = SourceCRS; + this.TargetCRS = TargetCRS; + this.type = 1785450214; + } + } + IFC42.IfcCoordinateOperation = IfcCoordinateOperation; + class IfcCoordinateReferenceSystem extends IfcLineObject { + constructor(expressID, Name, Description, GeodeticDatum, VerticalDatum) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.GeodeticDatum = GeodeticDatum; + this.VerticalDatum = VerticalDatum; + this.type = 1466758467; + } + } + IFC42.IfcCoordinateReferenceSystem = IfcCoordinateReferenceSystem; + class IfcCostValue extends IfcAppliedValue { + constructor(expressID, Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components) { + super(expressID, Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components); + this.Name = Name; + this.Description = Description; + this.AppliedValue = AppliedValue; + this.UnitBasis = UnitBasis; + this.ApplicableDate = ApplicableDate; + this.FixedUntilDate = FixedUntilDate; + this.Category = Category; + this.Condition = Condition; + this.ArithmeticOperator = ArithmeticOperator; + this.Components = Components; + this.type = 602808272; + } + } + IFC42.IfcCostValue = IfcCostValue; + class IfcDerivedUnit extends IfcLineObject { + constructor(expressID, Elements, UnitType, UserDefinedType) { + super(expressID); + this.Elements = Elements; + this.UnitType = UnitType; + this.UserDefinedType = UserDefinedType; + this.type = 1765591967; + } + } + IFC42.IfcDerivedUnit = IfcDerivedUnit; + class IfcDerivedUnitElement extends IfcLineObject { + constructor(expressID, Unit, Exponent) { + super(expressID); + this.Unit = Unit; + this.Exponent = Exponent; + this.type = 1045800335; + } + } + IFC42.IfcDerivedUnitElement = IfcDerivedUnitElement; + class IfcDimensionalExponents extends IfcLineObject { + constructor(expressID, LengthExponent, MassExponent, TimeExponent, ElectricCurrentExponent, ThermodynamicTemperatureExponent, AmountOfSubstanceExponent, LuminousIntensityExponent) { + super(expressID); + this.LengthExponent = LengthExponent; + this.MassExponent = MassExponent; + this.TimeExponent = TimeExponent; + this.ElectricCurrentExponent = ElectricCurrentExponent; + this.ThermodynamicTemperatureExponent = ThermodynamicTemperatureExponent; + this.AmountOfSubstanceExponent = AmountOfSubstanceExponent; + this.LuminousIntensityExponent = LuminousIntensityExponent; + this.type = 2949456006; + } + } + IFC42.IfcDimensionalExponents = IfcDimensionalExponents; + class IfcExternalInformation extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 4294318154; + } + } + IFC42.IfcExternalInformation = IfcExternalInformation; + class IfcExternalReference extends IfcLineObject { + constructor(expressID, Location, Identification, Name) { + super(expressID); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.type = 3200245327; + } + } + IFC42.IfcExternalReference = IfcExternalReference; + class IfcExternallyDefinedHatchStyle extends IfcExternalReference { + constructor(expressID, Location, Identification, Name) { + super(expressID, Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.type = 2242383968; + } + } + IFC42.IfcExternallyDefinedHatchStyle = IfcExternallyDefinedHatchStyle; + class IfcExternallyDefinedSurfaceStyle extends IfcExternalReference { + constructor(expressID, Location, Identification, Name) { + super(expressID, Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.type = 1040185647; + } + } + IFC42.IfcExternallyDefinedSurfaceStyle = IfcExternallyDefinedSurfaceStyle; + class IfcExternallyDefinedTextFont extends IfcExternalReference { + constructor(expressID, Location, Identification, Name) { + super(expressID, Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.type = 3548104201; + } + } + IFC42.IfcExternallyDefinedTextFont = IfcExternallyDefinedTextFont; + class IfcGridAxis extends IfcLineObject { + constructor(expressID, AxisTag, AxisCurve, SameSense) { + super(expressID); + this.AxisTag = AxisTag; + this.AxisCurve = AxisCurve; + this.SameSense = SameSense; + this.type = 852622518; + } + } + IFC42.IfcGridAxis = IfcGridAxis; + class IfcIrregularTimeSeriesValue extends IfcLineObject { + constructor(expressID, TimeStamp, ListValues) { + super(expressID); + this.TimeStamp = TimeStamp; + this.ListValues = ListValues; + this.type = 3020489413; + } + } + IFC42.IfcIrregularTimeSeriesValue = IfcIrregularTimeSeriesValue; + class IfcLibraryInformation extends IfcExternalInformation { + constructor(expressID, Name, Version, Publisher, VersionDate, Location, Description) { + super(expressID); + this.Name = Name; + this.Version = Version; + this.Publisher = Publisher; + this.VersionDate = VersionDate; + this.Location = Location; + this.Description = Description; + this.type = 2655187982; + } + } + IFC42.IfcLibraryInformation = IfcLibraryInformation; + class IfcLibraryReference extends IfcExternalReference { + constructor(expressID, Location, Identification, Name, Description, Language, ReferencedLibrary) { + super(expressID, Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.Description = Description; + this.Language = Language; + this.ReferencedLibrary = ReferencedLibrary; + this.type = 3452421091; + } + } + IFC42.IfcLibraryReference = IfcLibraryReference; + class IfcLightDistributionData extends IfcLineObject { + constructor(expressID, MainPlaneAngle, SecondaryPlaneAngle, LuminousIntensity) { + super(expressID); + this.MainPlaneAngle = MainPlaneAngle; + this.SecondaryPlaneAngle = SecondaryPlaneAngle; + this.LuminousIntensity = LuminousIntensity; + this.type = 4162380809; + } + } + IFC42.IfcLightDistributionData = IfcLightDistributionData; + class IfcLightIntensityDistribution extends IfcLineObject { + constructor(expressID, LightDistributionCurve, DistributionData) { + super(expressID); + this.LightDistributionCurve = LightDistributionCurve; + this.DistributionData = DistributionData; + this.type = 1566485204; + } + } + IFC42.IfcLightIntensityDistribution = IfcLightIntensityDistribution; + class IfcMapConversion extends IfcCoordinateOperation { + constructor(expressID, SourceCRS, TargetCRS, Eastings, Northings, OrthogonalHeight, XAxisAbscissa, XAxisOrdinate, Scale) { + super(expressID, SourceCRS, TargetCRS); + this.SourceCRS = SourceCRS; + this.TargetCRS = TargetCRS; + this.Eastings = Eastings; + this.Northings = Northings; + this.OrthogonalHeight = OrthogonalHeight; + this.XAxisAbscissa = XAxisAbscissa; + this.XAxisOrdinate = XAxisOrdinate; + this.Scale = Scale; + this.type = 3057273783; + } + } + IFC42.IfcMapConversion = IfcMapConversion; + class IfcMaterialClassificationRelationship extends IfcLineObject { + constructor(expressID, MaterialClassifications, ClassifiedMaterial) { + super(expressID); + this.MaterialClassifications = MaterialClassifications; + this.ClassifiedMaterial = ClassifiedMaterial; + this.type = 1847130766; + } + } + IFC42.IfcMaterialClassificationRelationship = IfcMaterialClassificationRelationship; + class IfcMaterialDefinition extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 760658860; + } + } + IFC42.IfcMaterialDefinition = IfcMaterialDefinition; + class IfcMaterialLayer extends IfcMaterialDefinition { + constructor(expressID, Material, LayerThickness, IsVentilated, Name, Description, Category, Priority) { + super(expressID); + this.Material = Material; + this.LayerThickness = LayerThickness; + this.IsVentilated = IsVentilated; + this.Name = Name; + this.Description = Description; + this.Category = Category; + this.Priority = Priority; + this.type = 248100487; + } + } + IFC42.IfcMaterialLayer = IfcMaterialLayer; + class IfcMaterialLayerSet extends IfcMaterialDefinition { + constructor(expressID, MaterialLayers, LayerSetName, Description) { + super(expressID); + this.MaterialLayers = MaterialLayers; + this.LayerSetName = LayerSetName; + this.Description = Description; + this.type = 3303938423; + } + } + IFC42.IfcMaterialLayerSet = IfcMaterialLayerSet; + class IfcMaterialLayerWithOffsets extends IfcMaterialLayer { + constructor(expressID, Material, LayerThickness, IsVentilated, Name, Description, Category, Priority, OffsetDirection, OffsetValues) { + super(expressID, Material, LayerThickness, IsVentilated, Name, Description, Category, Priority); + this.Material = Material; + this.LayerThickness = LayerThickness; + this.IsVentilated = IsVentilated; + this.Name = Name; + this.Description = Description; + this.Category = Category; + this.Priority = Priority; + this.OffsetDirection = OffsetDirection; + this.OffsetValues = OffsetValues; + this.type = 1847252529; + } + } + IFC42.IfcMaterialLayerWithOffsets = IfcMaterialLayerWithOffsets; + class IfcMaterialList extends IfcLineObject { + constructor(expressID, Materials) { + super(expressID); + this.Materials = Materials; + this.type = 2199411900; + } + } + IFC42.IfcMaterialList = IfcMaterialList; + class IfcMaterialProfile extends IfcMaterialDefinition { + constructor(expressID, Name, Description, Material, Profile, Priority, Category) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.Material = Material; + this.Profile = Profile; + this.Priority = Priority; + this.Category = Category; + this.type = 2235152071; + } + } + IFC42.IfcMaterialProfile = IfcMaterialProfile; + class IfcMaterialProfileSet extends IfcMaterialDefinition { + constructor(expressID, Name, Description, MaterialProfiles, CompositeProfile) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.MaterialProfiles = MaterialProfiles; + this.CompositeProfile = CompositeProfile; + this.type = 164193824; + } + } + IFC42.IfcMaterialProfileSet = IfcMaterialProfileSet; + class IfcMaterialProfileWithOffsets extends IfcMaterialProfile { + constructor(expressID, Name, Description, Material, Profile, Priority, Category, OffsetValues) { + super(expressID, Name, Description, Material, Profile, Priority, Category); + this.Name = Name; + this.Description = Description; + this.Material = Material; + this.Profile = Profile; + this.Priority = Priority; + this.Category = Category; + this.OffsetValues = OffsetValues; + this.type = 552965576; + } + } + IFC42.IfcMaterialProfileWithOffsets = IfcMaterialProfileWithOffsets; + class IfcMaterialUsageDefinition extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 1507914824; + } + } + IFC42.IfcMaterialUsageDefinition = IfcMaterialUsageDefinition; + class IfcMeasureWithUnit extends IfcLineObject { + constructor(expressID, ValueComponent, UnitComponent) { + super(expressID); + this.ValueComponent = ValueComponent; + this.UnitComponent = UnitComponent; + this.type = 2597039031; + } + } + IFC42.IfcMeasureWithUnit = IfcMeasureWithUnit; + class IfcMetric extends IfcConstraint { + constructor(expressID, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, Benchmark, ValueSource, DataValue, ReferencePath) { + super(expressID, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.Benchmark = Benchmark; + this.ValueSource = ValueSource; + this.DataValue = DataValue; + this.ReferencePath = ReferencePath; + this.type = 3368373690; + } + } + IFC42.IfcMetric = IfcMetric; + class IfcMonetaryUnit extends IfcLineObject { + constructor(expressID, Currency) { + super(expressID); + this.Currency = Currency; + this.type = 2706619895; + } + } + IFC42.IfcMonetaryUnit = IfcMonetaryUnit; + class IfcNamedUnit extends IfcLineObject { + constructor(expressID, Dimensions, UnitType) { + super(expressID); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.type = 1918398963; + } + } + IFC42.IfcNamedUnit = IfcNamedUnit; + class IfcObjectPlacement extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 3701648758; + } + } + IFC42.IfcObjectPlacement = IfcObjectPlacement; + class IfcObjective extends IfcConstraint { + constructor(expressID, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, BenchmarkValues, LogicalAggregator, ObjectiveQualifier, UserDefinedQualifier) { + super(expressID, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.BenchmarkValues = BenchmarkValues; + this.LogicalAggregator = LogicalAggregator; + this.ObjectiveQualifier = ObjectiveQualifier; + this.UserDefinedQualifier = UserDefinedQualifier; + this.type = 2251480897; + } + } + IFC42.IfcObjective = IfcObjective; + class IfcOrganization extends IfcLineObject { + constructor(expressID, Identification, Name, Description, Roles, Addresses) { + super(expressID); + this.Identification = Identification; + this.Name = Name; + this.Description = Description; + this.Roles = Roles; + this.Addresses = Addresses; + this.type = 4251960020; + } + } + IFC42.IfcOrganization = IfcOrganization; + class IfcOwnerHistory extends IfcLineObject { + constructor(expressID, OwningUser, OwningApplication, State, ChangeAction, LastModifiedDate, LastModifyingUser, LastModifyingApplication, CreationDate) { + super(expressID); + this.OwningUser = OwningUser; + this.OwningApplication = OwningApplication; + this.State = State; + this.ChangeAction = ChangeAction; + this.LastModifiedDate = LastModifiedDate; + this.LastModifyingUser = LastModifyingUser; + this.LastModifyingApplication = LastModifyingApplication; + this.CreationDate = CreationDate; + this.type = 1207048766; + } + } + IFC42.IfcOwnerHistory = IfcOwnerHistory; + class IfcPerson extends IfcLineObject { + constructor(expressID, Identification, FamilyName, GivenName, MiddleNames, PrefixTitles, SuffixTitles, Roles, Addresses) { + super(expressID); + this.Identification = Identification; + this.FamilyName = FamilyName; + this.GivenName = GivenName; + this.MiddleNames = MiddleNames; + this.PrefixTitles = PrefixTitles; + this.SuffixTitles = SuffixTitles; + this.Roles = Roles; + this.Addresses = Addresses; + this.type = 2077209135; + } + } + IFC42.IfcPerson = IfcPerson; + class IfcPersonAndOrganization extends IfcLineObject { + constructor(expressID, ThePerson, TheOrganization, Roles) { + super(expressID); + this.ThePerson = ThePerson; + this.TheOrganization = TheOrganization; + this.Roles = Roles; + this.type = 101040310; + } + } + IFC42.IfcPersonAndOrganization = IfcPersonAndOrganization; + class IfcPhysicalQuantity extends IfcLineObject { + constructor(expressID, Name, Description) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.type = 2483315170; + } + } + IFC42.IfcPhysicalQuantity = IfcPhysicalQuantity; + class IfcPhysicalSimpleQuantity extends IfcPhysicalQuantity { + constructor(expressID, Name, Description, Unit) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.type = 2226359599; + } + } + IFC42.IfcPhysicalSimpleQuantity = IfcPhysicalSimpleQuantity; + class IfcPostalAddress extends IfcAddress { + constructor(expressID, Purpose, Description, UserDefinedPurpose, InternalLocation, AddressLines, PostalBox, Town, Region, PostalCode, Country) { + super(expressID, Purpose, Description, UserDefinedPurpose); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.InternalLocation = InternalLocation; + this.AddressLines = AddressLines; + this.PostalBox = PostalBox; + this.Town = Town; + this.Region = Region; + this.PostalCode = PostalCode; + this.Country = Country; + this.type = 3355820592; + } + } + IFC42.IfcPostalAddress = IfcPostalAddress; + class IfcPresentationItem extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 677532197; + } + } + IFC42.IfcPresentationItem = IfcPresentationItem; + class IfcPresentationLayerAssignment extends IfcLineObject { + constructor(expressID, Name, Description, AssignedItems, Identifier) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.AssignedItems = AssignedItems; + this.Identifier = Identifier; + this.type = 2022622350; + } + } + IFC42.IfcPresentationLayerAssignment = IfcPresentationLayerAssignment; + class IfcPresentationLayerWithStyle extends IfcPresentationLayerAssignment { + constructor(expressID, Name, Description, AssignedItems, Identifier, LayerOn, LayerFrozen, LayerBlocked, LayerStyles) { + super(expressID, Name, Description, AssignedItems, Identifier); + this.Name = Name; + this.Description = Description; + this.AssignedItems = AssignedItems; + this.Identifier = Identifier; + this.LayerOn = LayerOn; + this.LayerFrozen = LayerFrozen; + this.LayerBlocked = LayerBlocked; + this.LayerStyles = LayerStyles; + this.type = 1304840413; + } + } + IFC42.IfcPresentationLayerWithStyle = IfcPresentationLayerWithStyle; + class IfcPresentationStyle extends IfcLineObject { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 3119450353; + } + } + IFC42.IfcPresentationStyle = IfcPresentationStyle; + class IfcPresentationStyleAssignment extends IfcLineObject { + constructor(expressID, Styles) { + super(expressID); + this.Styles = Styles; + this.type = 2417041796; + } + } + IFC42.IfcPresentationStyleAssignment = IfcPresentationStyleAssignment; + class IfcProductRepresentation extends IfcLineObject { + constructor(expressID, Name, Description, Representations) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.type = 2095639259; + } + } + IFC42.IfcProductRepresentation = IfcProductRepresentation; + class IfcProfileDef extends IfcLineObject { + constructor(expressID, ProfileType, ProfileName) { + super(expressID); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.type = 3958567839; + } + } + IFC42.IfcProfileDef = IfcProfileDef; + class IfcProjectedCRS extends IfcCoordinateReferenceSystem { + constructor(expressID, Name, Description, GeodeticDatum, VerticalDatum, MapProjection, MapZone, MapUnit) { + super(expressID, Name, Description, GeodeticDatum, VerticalDatum); + this.Name = Name; + this.Description = Description; + this.GeodeticDatum = GeodeticDatum; + this.VerticalDatum = VerticalDatum; + this.MapProjection = MapProjection; + this.MapZone = MapZone; + this.MapUnit = MapUnit; + this.type = 3843373140; + } + } + IFC42.IfcProjectedCRS = IfcProjectedCRS; + class IfcPropertyAbstraction extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 986844984; + } + } + IFC42.IfcPropertyAbstraction = IfcPropertyAbstraction; + class IfcPropertyEnumeration extends IfcPropertyAbstraction { + constructor(expressID, Name, EnumerationValues, Unit) { + super(expressID); + this.Name = Name; + this.EnumerationValues = EnumerationValues; + this.Unit = Unit; + this.type = 3710013099; + } + } + IFC42.IfcPropertyEnumeration = IfcPropertyEnumeration; + class IfcQuantityArea extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, AreaValue, Formula) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.AreaValue = AreaValue; + this.Formula = Formula; + this.type = 2044713172; + } + } + IFC42.IfcQuantityArea = IfcQuantityArea; + class IfcQuantityCount extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, CountValue, Formula) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.CountValue = CountValue; + this.Formula = Formula; + this.type = 2093928680; + } + } + IFC42.IfcQuantityCount = IfcQuantityCount; + class IfcQuantityLength extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, LengthValue, Formula) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.LengthValue = LengthValue; + this.Formula = Formula; + this.type = 931644368; + } + } + IFC42.IfcQuantityLength = IfcQuantityLength; + class IfcQuantityTime extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, TimeValue, Formula) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.TimeValue = TimeValue; + this.Formula = Formula; + this.type = 3252649465; + } + } + IFC42.IfcQuantityTime = IfcQuantityTime; + class IfcQuantityVolume extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, VolumeValue, Formula) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.VolumeValue = VolumeValue; + this.Formula = Formula; + this.type = 2405470396; + } + } + IFC42.IfcQuantityVolume = IfcQuantityVolume; + class IfcQuantityWeight extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, WeightValue, Formula) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.WeightValue = WeightValue; + this.Formula = Formula; + this.type = 825690147; + } + } + IFC42.IfcQuantityWeight = IfcQuantityWeight; + class IfcRecurrencePattern extends IfcLineObject { + constructor(expressID, RecurrenceType, DayComponent, WeekdayComponent, MonthComponent, Position, Interval, Occurrences, TimePeriods) { + super(expressID); + this.RecurrenceType = RecurrenceType; + this.DayComponent = DayComponent; + this.WeekdayComponent = WeekdayComponent; + this.MonthComponent = MonthComponent; + this.Position = Position; + this.Interval = Interval; + this.Occurrences = Occurrences; + this.TimePeriods = TimePeriods; + this.type = 3915482550; + } + } + IFC42.IfcRecurrencePattern = IfcRecurrencePattern; + class IfcReference extends IfcLineObject { + constructor(expressID, TypeIdentifier, AttributeIdentifier, InstanceName, ListPositions, InnerReference) { + super(expressID); + this.TypeIdentifier = TypeIdentifier; + this.AttributeIdentifier = AttributeIdentifier; + this.InstanceName = InstanceName; + this.ListPositions = ListPositions; + this.InnerReference = InnerReference; + this.type = 2433181523; + } + } + IFC42.IfcReference = IfcReference; + class IfcRepresentation extends IfcLineObject { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 1076942058; + } + } + IFC42.IfcRepresentation = IfcRepresentation; + class IfcRepresentationContext extends IfcLineObject { + constructor(expressID, ContextIdentifier, ContextType) { + super(expressID); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.type = 3377609919; + } + } + IFC42.IfcRepresentationContext = IfcRepresentationContext; + class IfcRepresentationItem extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 3008791417; + } + } + IFC42.IfcRepresentationItem = IfcRepresentationItem; + class IfcRepresentationMap extends IfcLineObject { + constructor(expressID, MappingOrigin, MappedRepresentation) { + super(expressID); + this.MappingOrigin = MappingOrigin; + this.MappedRepresentation = MappedRepresentation; + this.type = 1660063152; + } + } + IFC42.IfcRepresentationMap = IfcRepresentationMap; + class IfcResourceLevelRelationship extends IfcLineObject { + constructor(expressID, Name, Description) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.type = 2439245199; + } + } + IFC42.IfcResourceLevelRelationship = IfcResourceLevelRelationship; + class IfcRoot extends IfcLineObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 2341007311; + } + } + IFC42.IfcRoot = IfcRoot; + class IfcSIUnit extends IfcNamedUnit { + constructor(expressID, UnitType, Prefix, Name) { + super(expressID, new Handle(0), UnitType); + this.UnitType = UnitType; + this.Prefix = Prefix; + this.Name = Name; + this.type = 448429030; + } + } + IFC42.IfcSIUnit = IfcSIUnit; + class IfcSchedulingTime extends IfcLineObject { + constructor(expressID, Name, DataOrigin, UserDefinedDataOrigin) { + super(expressID); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.type = 1054537805; + } + } + IFC42.IfcSchedulingTime = IfcSchedulingTime; + class IfcShapeAspect extends IfcLineObject { + constructor(expressID, ShapeRepresentations, Name, Description, ProductDefinitional, PartOfProductDefinitionShape) { + super(expressID); + this.ShapeRepresentations = ShapeRepresentations; + this.Name = Name; + this.Description = Description; + this.ProductDefinitional = ProductDefinitional; + this.PartOfProductDefinitionShape = PartOfProductDefinitionShape; + this.type = 867548509; + } + } + IFC42.IfcShapeAspect = IfcShapeAspect; + class IfcShapeModel extends IfcRepresentation { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 3982875396; + } + } + IFC42.IfcShapeModel = IfcShapeModel; + class IfcShapeRepresentation extends IfcShapeModel { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 4240577450; + } + } + IFC42.IfcShapeRepresentation = IfcShapeRepresentation; + class IfcStructuralConnectionCondition extends IfcLineObject { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 2273995522; + } + } + IFC42.IfcStructuralConnectionCondition = IfcStructuralConnectionCondition; + class IfcStructuralLoad extends IfcLineObject { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 2162789131; + } + } + IFC42.IfcStructuralLoad = IfcStructuralLoad; + class IfcStructuralLoadConfiguration extends IfcStructuralLoad { + constructor(expressID, Name, Values, Locations) { + super(expressID, Name); + this.Name = Name; + this.Values = Values; + this.Locations = Locations; + this.type = 3478079324; + } + } + IFC42.IfcStructuralLoadConfiguration = IfcStructuralLoadConfiguration; + class IfcStructuralLoadOrResult extends IfcStructuralLoad { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 609421318; + } + } + IFC42.IfcStructuralLoadOrResult = IfcStructuralLoadOrResult; + class IfcStructuralLoadStatic extends IfcStructuralLoadOrResult { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 2525727697; + } + } + IFC42.IfcStructuralLoadStatic = IfcStructuralLoadStatic; + class IfcStructuralLoadTemperature extends IfcStructuralLoadStatic { + constructor(expressID, Name, DeltaTConstant, DeltaTY, DeltaTZ) { + super(expressID, Name); + this.Name = Name; + this.DeltaTConstant = DeltaTConstant; + this.DeltaTY = DeltaTY; + this.DeltaTZ = DeltaTZ; + this.type = 3408363356; + } + } + IFC42.IfcStructuralLoadTemperature = IfcStructuralLoadTemperature; + class IfcStyleModel extends IfcRepresentation { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 2830218821; + } + } + IFC42.IfcStyleModel = IfcStyleModel; + class IfcStyledItem extends IfcRepresentationItem { + constructor(expressID, Item, Styles, Name) { + super(expressID); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 3958052878; + } + } + IFC42.IfcStyledItem = IfcStyledItem; + class IfcStyledRepresentation extends IfcStyleModel { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 3049322572; + } + } + IFC42.IfcStyledRepresentation = IfcStyledRepresentation; + class IfcSurfaceReinforcementArea extends IfcStructuralLoadOrResult { + constructor(expressID, Name, SurfaceReinforcement1, SurfaceReinforcement2, ShearReinforcement) { + super(expressID, Name); + this.Name = Name; + this.SurfaceReinforcement1 = SurfaceReinforcement1; + this.SurfaceReinforcement2 = SurfaceReinforcement2; + this.ShearReinforcement = ShearReinforcement; + this.type = 2934153892; + } + } + IFC42.IfcSurfaceReinforcementArea = IfcSurfaceReinforcementArea; + class IfcSurfaceStyle extends IfcPresentationStyle { + constructor(expressID, Name, Side, Styles) { + super(expressID, Name); + this.Name = Name; + this.Side = Side; + this.Styles = Styles; + this.type = 1300840506; + } + } + IFC42.IfcSurfaceStyle = IfcSurfaceStyle; + class IfcSurfaceStyleLighting extends IfcPresentationItem { + constructor(expressID, DiffuseTransmissionColour, DiffuseReflectionColour, TransmissionColour, ReflectanceColour) { + super(expressID); + this.DiffuseTransmissionColour = DiffuseTransmissionColour; + this.DiffuseReflectionColour = DiffuseReflectionColour; + this.TransmissionColour = TransmissionColour; + this.ReflectanceColour = ReflectanceColour; + this.type = 3303107099; + } + } + IFC42.IfcSurfaceStyleLighting = IfcSurfaceStyleLighting; + class IfcSurfaceStyleRefraction extends IfcPresentationItem { + constructor(expressID, RefractionIndex, DispersionFactor) { + super(expressID); + this.RefractionIndex = RefractionIndex; + this.DispersionFactor = DispersionFactor; + this.type = 1607154358; + } + } + IFC42.IfcSurfaceStyleRefraction = IfcSurfaceStyleRefraction; + class IfcSurfaceStyleShading extends IfcPresentationItem { + constructor(expressID, SurfaceColour, Transparency) { + super(expressID); + this.SurfaceColour = SurfaceColour; + this.Transparency = Transparency; + this.type = 846575682; + } + } + IFC42.IfcSurfaceStyleShading = IfcSurfaceStyleShading; + class IfcSurfaceStyleWithTextures extends IfcPresentationItem { + constructor(expressID, Textures) { + super(expressID); + this.Textures = Textures; + this.type = 1351298697; + } + } + IFC42.IfcSurfaceStyleWithTextures = IfcSurfaceStyleWithTextures; + class IfcSurfaceTexture extends IfcPresentationItem { + constructor(expressID, RepeatS, RepeatT, Mode, TextureTransform, Parameter) { + super(expressID); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.Mode = Mode; + this.TextureTransform = TextureTransform; + this.Parameter = Parameter; + this.type = 626085974; + } + } + IFC42.IfcSurfaceTexture = IfcSurfaceTexture; + class IfcTable extends IfcLineObject { + constructor(expressID, Name, Rows, Columns) { + super(expressID); + this.Name = Name; + this.Rows = Rows; + this.Columns = Columns; + this.type = 985171141; + } + } + IFC42.IfcTable = IfcTable; + class IfcTableColumn extends IfcLineObject { + constructor(expressID, Identifier, Name, Description, Unit, ReferencePath) { + super(expressID); + this.Identifier = Identifier; + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.ReferencePath = ReferencePath; + this.type = 2043862942; + } + } + IFC42.IfcTableColumn = IfcTableColumn; + class IfcTableRow extends IfcLineObject { + constructor(expressID, RowCells, IsHeading) { + super(expressID); + this.RowCells = RowCells; + this.IsHeading = IsHeading; + this.type = 531007025; + } + } + IFC42.IfcTableRow = IfcTableRow; + class IfcTaskTime extends IfcSchedulingTime { + constructor(expressID, Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion) { + super(expressID, Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.DurationType = DurationType; + this.ScheduleDuration = ScheduleDuration; + this.ScheduleStart = ScheduleStart; + this.ScheduleFinish = ScheduleFinish; + this.EarlyStart = EarlyStart; + this.EarlyFinish = EarlyFinish; + this.LateStart = LateStart; + this.LateFinish = LateFinish; + this.FreeFloat = FreeFloat; + this.TotalFloat = TotalFloat; + this.IsCritical = IsCritical; + this.StatusTime = StatusTime; + this.ActualDuration = ActualDuration; + this.ActualStart = ActualStart; + this.ActualFinish = ActualFinish; + this.RemainingTime = RemainingTime; + this.Completion = Completion; + this.type = 1549132990; + } + } + IFC42.IfcTaskTime = IfcTaskTime; + class IfcTaskTimeRecurring extends IfcTaskTime { + constructor(expressID, Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion, Recurrence) { + super(expressID, Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.DurationType = DurationType; + this.ScheduleDuration = ScheduleDuration; + this.ScheduleStart = ScheduleStart; + this.ScheduleFinish = ScheduleFinish; + this.EarlyStart = EarlyStart; + this.EarlyFinish = EarlyFinish; + this.LateStart = LateStart; + this.LateFinish = LateFinish; + this.FreeFloat = FreeFloat; + this.TotalFloat = TotalFloat; + this.IsCritical = IsCritical; + this.StatusTime = StatusTime; + this.ActualDuration = ActualDuration; + this.ActualStart = ActualStart; + this.ActualFinish = ActualFinish; + this.RemainingTime = RemainingTime; + this.Completion = Completion; + this.Recurrence = Recurrence; + this.type = 2771591690; + } + } + IFC42.IfcTaskTimeRecurring = IfcTaskTimeRecurring; + class IfcTelecomAddress extends IfcAddress { + constructor(expressID, Purpose, Description, UserDefinedPurpose, TelephoneNumbers, FacsimileNumbers, PagerNumber, ElectronicMailAddresses, WWWHomePageURL, MessagingIDs) { + super(expressID, Purpose, Description, UserDefinedPurpose); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.TelephoneNumbers = TelephoneNumbers; + this.FacsimileNumbers = FacsimileNumbers; + this.PagerNumber = PagerNumber; + this.ElectronicMailAddresses = ElectronicMailAddresses; + this.WWWHomePageURL = WWWHomePageURL; + this.MessagingIDs = MessagingIDs; + this.type = 912023232; + } + } + IFC42.IfcTelecomAddress = IfcTelecomAddress; + class IfcTextStyle extends IfcPresentationStyle { + constructor(expressID, Name, TextCharacterAppearance, TextStyle, TextFontStyle, ModelOrDraughting) { + super(expressID, Name); + this.Name = Name; + this.TextCharacterAppearance = TextCharacterAppearance; + this.TextStyle = TextStyle; + this.TextFontStyle = TextFontStyle; + this.ModelOrDraughting = ModelOrDraughting; + this.type = 1447204868; + } + } + IFC42.IfcTextStyle = IfcTextStyle; + class IfcTextStyleForDefinedFont extends IfcPresentationItem { + constructor(expressID, Colour, BackgroundColour) { + super(expressID); + this.Colour = Colour; + this.BackgroundColour = BackgroundColour; + this.type = 2636378356; + } + } + IFC42.IfcTextStyleForDefinedFont = IfcTextStyleForDefinedFont; + class IfcTextStyleTextModel extends IfcPresentationItem { + constructor(expressID, TextIndent, TextAlign, TextDecoration, LetterSpacing, WordSpacing, TextTransform, LineHeight) { + super(expressID); + this.TextIndent = TextIndent; + this.TextAlign = TextAlign; + this.TextDecoration = TextDecoration; + this.LetterSpacing = LetterSpacing; + this.WordSpacing = WordSpacing; + this.TextTransform = TextTransform; + this.LineHeight = LineHeight; + this.type = 1640371178; + } + } + IFC42.IfcTextStyleTextModel = IfcTextStyleTextModel; + class IfcTextureCoordinate extends IfcPresentationItem { + constructor(expressID, Maps) { + super(expressID); + this.Maps = Maps; + this.type = 280115917; + } + } + IFC42.IfcTextureCoordinate = IfcTextureCoordinate; + class IfcTextureCoordinateGenerator extends IfcTextureCoordinate { + constructor(expressID, Maps, Mode, Parameter) { + super(expressID, Maps); + this.Maps = Maps; + this.Mode = Mode; + this.Parameter = Parameter; + this.type = 1742049831; + } + } + IFC42.IfcTextureCoordinateGenerator = IfcTextureCoordinateGenerator; + class IfcTextureMap extends IfcTextureCoordinate { + constructor(expressID, Maps, Vertices, MappedTo) { + super(expressID, Maps); + this.Maps = Maps; + this.Vertices = Vertices; + this.MappedTo = MappedTo; + this.type = 2552916305; + } + } + IFC42.IfcTextureMap = IfcTextureMap; + class IfcTextureVertex extends IfcPresentationItem { + constructor(expressID, Coordinates) { + super(expressID); + this.Coordinates = Coordinates; + this.type = 1210645708; + } + } + IFC42.IfcTextureVertex = IfcTextureVertex; + class IfcTextureVertexList extends IfcPresentationItem { + constructor(expressID, TexCoordsList) { + super(expressID); + this.TexCoordsList = TexCoordsList; + this.type = 3611470254; + } + } + IFC42.IfcTextureVertexList = IfcTextureVertexList; + class IfcTimePeriod extends IfcLineObject { + constructor(expressID, StartTime, EndTime) { + super(expressID); + this.StartTime = StartTime; + this.EndTime = EndTime; + this.type = 1199560280; + } + } + IFC42.IfcTimePeriod = IfcTimePeriod; + class IfcTimeSeries extends IfcLineObject { + constructor(expressID, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.type = 3101149627; + } + } + IFC42.IfcTimeSeries = IfcTimeSeries; + class IfcTimeSeriesValue extends IfcLineObject { + constructor(expressID, ListValues) { + super(expressID); + this.ListValues = ListValues; + this.type = 581633288; + } + } + IFC42.IfcTimeSeriesValue = IfcTimeSeriesValue; + class IfcTopologicalRepresentationItem extends IfcRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 1377556343; + } + } + IFC42.IfcTopologicalRepresentationItem = IfcTopologicalRepresentationItem; + class IfcTopologyRepresentation extends IfcShapeModel { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 1735638870; + } + } + IFC42.IfcTopologyRepresentation = IfcTopologyRepresentation; + class IfcUnitAssignment extends IfcLineObject { + constructor(expressID, Units) { + super(expressID); + this.Units = Units; + this.type = 180925521; + } + } + IFC42.IfcUnitAssignment = IfcUnitAssignment; + class IfcVertex extends IfcTopologicalRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 2799835756; + } + } + IFC42.IfcVertex = IfcVertex; + class IfcVertexPoint extends IfcVertex { + constructor(expressID, VertexGeometry) { + super(expressID); + this.VertexGeometry = VertexGeometry; + this.type = 1907098498; + } + } + IFC42.IfcVertexPoint = IfcVertexPoint; + class IfcVirtualGridIntersection extends IfcLineObject { + constructor(expressID, IntersectingAxes, OffsetDistances) { + super(expressID); + this.IntersectingAxes = IntersectingAxes; + this.OffsetDistances = OffsetDistances; + this.type = 891718957; + } + } + IFC42.IfcVirtualGridIntersection = IfcVirtualGridIntersection; + class IfcWorkTime extends IfcSchedulingTime { + constructor(expressID, Name, DataOrigin, UserDefinedDataOrigin, RecurrencePattern, Start, Finish) { + super(expressID, Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.RecurrencePattern = RecurrencePattern; + this.Start = Start; + this.Finish = Finish; + this.type = 1236880293; + } + } + IFC42.IfcWorkTime = IfcWorkTime; + class IfcApprovalRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, RelatingApproval, RelatedApprovals) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingApproval = RelatingApproval; + this.RelatedApprovals = RelatedApprovals; + this.type = 3869604511; + } + } + IFC42.IfcApprovalRelationship = IfcApprovalRelationship; + class IfcArbitraryClosedProfileDef extends IfcProfileDef { + constructor(expressID, ProfileType, ProfileName, OuterCurve) { + super(expressID, ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.OuterCurve = OuterCurve; + this.type = 3798115385; + } + } + IFC42.IfcArbitraryClosedProfileDef = IfcArbitraryClosedProfileDef; + class IfcArbitraryOpenProfileDef extends IfcProfileDef { + constructor(expressID, ProfileType, ProfileName, Curve) { + super(expressID, ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Curve = Curve; + this.type = 1310608509; + } + } + IFC42.IfcArbitraryOpenProfileDef = IfcArbitraryOpenProfileDef; + class IfcArbitraryProfileDefWithVoids extends IfcArbitraryClosedProfileDef { + constructor(expressID, ProfileType, ProfileName, OuterCurve, InnerCurves) { + super(expressID, ProfileType, ProfileName, OuterCurve); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.OuterCurve = OuterCurve; + this.InnerCurves = InnerCurves; + this.type = 2705031697; + } + } + IFC42.IfcArbitraryProfileDefWithVoids = IfcArbitraryProfileDefWithVoids; + class IfcBlobTexture extends IfcSurfaceTexture { + constructor(expressID, RepeatS, RepeatT, Mode, TextureTransform, Parameter, RasterFormat, RasterCode) { + super(expressID, RepeatS, RepeatT, Mode, TextureTransform, Parameter); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.Mode = Mode; + this.TextureTransform = TextureTransform; + this.Parameter = Parameter; + this.RasterFormat = RasterFormat; + this.RasterCode = RasterCode; + this.type = 616511568; + } + } + IFC42.IfcBlobTexture = IfcBlobTexture; + class IfcCenterLineProfileDef extends IfcArbitraryOpenProfileDef { + constructor(expressID, ProfileType, ProfileName, Curve, Thickness) { + super(expressID, ProfileType, ProfileName, Curve); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Curve = Curve; + this.Thickness = Thickness; + this.type = 3150382593; + } + } + IFC42.IfcCenterLineProfileDef = IfcCenterLineProfileDef; + class IfcClassification extends IfcExternalInformation { + constructor(expressID, Source, Edition, EditionDate, Name, Description, Location, ReferenceTokens) { + super(expressID); + this.Source = Source; + this.Edition = Edition; + this.EditionDate = EditionDate; + this.Name = Name; + this.Description = Description; + this.Location = Location; + this.ReferenceTokens = ReferenceTokens; + this.type = 747523909; + } + } + IFC42.IfcClassification = IfcClassification; + class IfcClassificationReference extends IfcExternalReference { + constructor(expressID, Location, Identification, Name, ReferencedSource, Description, Sort) { + super(expressID, Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.ReferencedSource = ReferencedSource; + this.Description = Description; + this.Sort = Sort; + this.type = 647927063; + } + } + IFC42.IfcClassificationReference = IfcClassificationReference; + class IfcColourRgbList extends IfcPresentationItem { + constructor(expressID, ColourList) { + super(expressID); + this.ColourList = ColourList; + this.type = 3285139300; + } + } + IFC42.IfcColourRgbList = IfcColourRgbList; + class IfcColourSpecification extends IfcPresentationItem { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 3264961684; + } + } + IFC42.IfcColourSpecification = IfcColourSpecification; + class IfcCompositeProfileDef extends IfcProfileDef { + constructor(expressID, ProfileType, ProfileName, Profiles, Label) { + super(expressID, ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Profiles = Profiles; + this.Label = Label; + this.type = 1485152156; + } + } + IFC42.IfcCompositeProfileDef = IfcCompositeProfileDef; + class IfcConnectedFaceSet extends IfcTopologicalRepresentationItem { + constructor(expressID, CfsFaces) { + super(expressID); + this.CfsFaces = CfsFaces; + this.type = 370225590; + } + } + IFC42.IfcConnectedFaceSet = IfcConnectedFaceSet; + class IfcConnectionCurveGeometry extends IfcConnectionGeometry { + constructor(expressID, CurveOnRelatingElement, CurveOnRelatedElement) { + super(expressID); + this.CurveOnRelatingElement = CurveOnRelatingElement; + this.CurveOnRelatedElement = CurveOnRelatedElement; + this.type = 1981873012; + } + } + IFC42.IfcConnectionCurveGeometry = IfcConnectionCurveGeometry; + class IfcConnectionPointEccentricity extends IfcConnectionPointGeometry { + constructor(expressID, PointOnRelatingElement, PointOnRelatedElement, EccentricityInX, EccentricityInY, EccentricityInZ) { + super(expressID, PointOnRelatingElement, PointOnRelatedElement); + this.PointOnRelatingElement = PointOnRelatingElement; + this.PointOnRelatedElement = PointOnRelatedElement; + this.EccentricityInX = EccentricityInX; + this.EccentricityInY = EccentricityInY; + this.EccentricityInZ = EccentricityInZ; + this.type = 45288368; + } + } + IFC42.IfcConnectionPointEccentricity = IfcConnectionPointEccentricity; + class IfcContextDependentUnit extends IfcNamedUnit { + constructor(expressID, Dimensions, UnitType, Name) { + super(expressID, Dimensions, UnitType); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Name = Name; + this.type = 3050246964; + } + } + IFC42.IfcContextDependentUnit = IfcContextDependentUnit; + class IfcConversionBasedUnit extends IfcNamedUnit { + constructor(expressID, Dimensions, UnitType, Name, ConversionFactor) { + super(expressID, Dimensions, UnitType); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Name = Name; + this.ConversionFactor = ConversionFactor; + this.type = 2889183280; + } + } + IFC42.IfcConversionBasedUnit = IfcConversionBasedUnit; + class IfcConversionBasedUnitWithOffset extends IfcConversionBasedUnit { + constructor(expressID, Dimensions, UnitType, Name, ConversionFactor, ConversionOffset) { + super(expressID, Dimensions, UnitType, Name, ConversionFactor); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Name = Name; + this.ConversionFactor = ConversionFactor; + this.ConversionOffset = ConversionOffset; + this.type = 2713554722; + } + } + IFC42.IfcConversionBasedUnitWithOffset = IfcConversionBasedUnitWithOffset; + class IfcCurrencyRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, RelatingMonetaryUnit, RelatedMonetaryUnit, ExchangeRate, RateDateTime, RateSource) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingMonetaryUnit = RelatingMonetaryUnit; + this.RelatedMonetaryUnit = RelatedMonetaryUnit; + this.ExchangeRate = ExchangeRate; + this.RateDateTime = RateDateTime; + this.RateSource = RateSource; + this.type = 539742890; + } + } + IFC42.IfcCurrencyRelationship = IfcCurrencyRelationship; + class IfcCurveStyle extends IfcPresentationStyle { + constructor(expressID, Name, CurveFont, CurveWidth, CurveColour, ModelOrDraughting) { + super(expressID, Name); + this.Name = Name; + this.CurveFont = CurveFont; + this.CurveWidth = CurveWidth; + this.CurveColour = CurveColour; + this.ModelOrDraughting = ModelOrDraughting; + this.type = 3800577675; + } + } + IFC42.IfcCurveStyle = IfcCurveStyle; + class IfcCurveStyleFont extends IfcPresentationItem { + constructor(expressID, Name, PatternList) { + super(expressID); + this.Name = Name; + this.PatternList = PatternList; + this.type = 1105321065; + } + } + IFC42.IfcCurveStyleFont = IfcCurveStyleFont; + class IfcCurveStyleFontAndScaling extends IfcPresentationItem { + constructor(expressID, Name, CurveFont, CurveFontScaling) { + super(expressID); + this.Name = Name; + this.CurveFont = CurveFont; + this.CurveFontScaling = CurveFontScaling; + this.type = 2367409068; + } + } + IFC42.IfcCurveStyleFontAndScaling = IfcCurveStyleFontAndScaling; + class IfcCurveStyleFontPattern extends IfcPresentationItem { + constructor(expressID, VisibleSegmentLength, InvisibleSegmentLength) { + super(expressID); + this.VisibleSegmentLength = VisibleSegmentLength; + this.InvisibleSegmentLength = InvisibleSegmentLength; + this.type = 3510044353; + } + } + IFC42.IfcCurveStyleFontPattern = IfcCurveStyleFontPattern; + class IfcDerivedProfileDef extends IfcProfileDef { + constructor(expressID, ProfileType, ProfileName, ParentProfile, Operator, Label) { + super(expressID, ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.ParentProfile = ParentProfile; + this.Operator = Operator; + this.Label = Label; + this.type = 3632507154; + } + } + IFC42.IfcDerivedProfileDef = IfcDerivedProfileDef; + class IfcDocumentInformation extends IfcExternalInformation { + constructor(expressID, Identification, Name, Description, Location, Purpose, IntendedUse, Scope, Revision, DocumentOwner, Editors, CreationTime, LastRevisionTime, ElectronicFormat, ValidFrom, ValidUntil, Confidentiality, Status) { + super(expressID); + this.Identification = Identification; + this.Name = Name; + this.Description = Description; + this.Location = Location; + this.Purpose = Purpose; + this.IntendedUse = IntendedUse; + this.Scope = Scope; + this.Revision = Revision; + this.DocumentOwner = DocumentOwner; + this.Editors = Editors; + this.CreationTime = CreationTime; + this.LastRevisionTime = LastRevisionTime; + this.ElectronicFormat = ElectronicFormat; + this.ValidFrom = ValidFrom; + this.ValidUntil = ValidUntil; + this.Confidentiality = Confidentiality; + this.Status = Status; + this.type = 1154170062; + } + } + IFC42.IfcDocumentInformation = IfcDocumentInformation; + class IfcDocumentInformationRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, RelatingDocument, RelatedDocuments, RelationshipType) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingDocument = RelatingDocument; + this.RelatedDocuments = RelatedDocuments; + this.RelationshipType = RelationshipType; + this.type = 770865208; + } + } + IFC42.IfcDocumentInformationRelationship = IfcDocumentInformationRelationship; + class IfcDocumentReference extends IfcExternalReference { + constructor(expressID, Location, Identification, Name, Description, ReferencedDocument) { + super(expressID, Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.Description = Description; + this.ReferencedDocument = ReferencedDocument; + this.type = 3732053477; + } + } + IFC42.IfcDocumentReference = IfcDocumentReference; + class IfcEdge extends IfcTopologicalRepresentationItem { + constructor(expressID, EdgeStart, EdgeEnd) { + super(expressID); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.type = 3900360178; + } + } + IFC42.IfcEdge = IfcEdge; + class IfcEdgeCurve extends IfcEdge { + constructor(expressID, EdgeStart, EdgeEnd, EdgeGeometry, SameSense) { + super(expressID, EdgeStart, EdgeEnd); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.EdgeGeometry = EdgeGeometry; + this.SameSense = SameSense; + this.type = 476780140; + } + } + IFC42.IfcEdgeCurve = IfcEdgeCurve; + class IfcEventTime extends IfcSchedulingTime { + constructor(expressID, Name, DataOrigin, UserDefinedDataOrigin, ActualDate, EarlyDate, LateDate, ScheduleDate) { + super(expressID, Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.ActualDate = ActualDate; + this.EarlyDate = EarlyDate; + this.LateDate = LateDate; + this.ScheduleDate = ScheduleDate; + this.type = 211053100; + } + } + IFC42.IfcEventTime = IfcEventTime; + class IfcExtendedProperties extends IfcPropertyAbstraction { + constructor(expressID, Name, Description, Properties2) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.Properties = Properties2; + this.type = 297599258; + } + } + IFC42.IfcExtendedProperties = IfcExtendedProperties; + class IfcExternalReferenceRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, RelatingReference, RelatedResourceObjects) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingReference = RelatingReference; + this.RelatedResourceObjects = RelatedResourceObjects; + this.type = 1437805879; + } + } + IFC42.IfcExternalReferenceRelationship = IfcExternalReferenceRelationship; + class IfcFace extends IfcTopologicalRepresentationItem { + constructor(expressID, Bounds) { + super(expressID); + this.Bounds = Bounds; + this.type = 2556980723; + } + } + IFC42.IfcFace = IfcFace; + class IfcFaceBound extends IfcTopologicalRepresentationItem { + constructor(expressID, Bound, Orientation) { + super(expressID); + this.Bound = Bound; + this.Orientation = Orientation; + this.type = 1809719519; + } + } + IFC42.IfcFaceBound = IfcFaceBound; + class IfcFaceOuterBound extends IfcFaceBound { + constructor(expressID, Bound, Orientation) { + super(expressID, Bound, Orientation); + this.Bound = Bound; + this.Orientation = Orientation; + this.type = 803316827; + } + } + IFC42.IfcFaceOuterBound = IfcFaceOuterBound; + class IfcFaceSurface extends IfcFace { + constructor(expressID, Bounds, FaceSurface, SameSense) { + super(expressID, Bounds); + this.Bounds = Bounds; + this.FaceSurface = FaceSurface; + this.SameSense = SameSense; + this.type = 3008276851; + } + } + IFC42.IfcFaceSurface = IfcFaceSurface; + class IfcFailureConnectionCondition extends IfcStructuralConnectionCondition { + constructor(expressID, Name, TensionFailureX, TensionFailureY, TensionFailureZ, CompressionFailureX, CompressionFailureY, CompressionFailureZ) { + super(expressID, Name); + this.Name = Name; + this.TensionFailureX = TensionFailureX; + this.TensionFailureY = TensionFailureY; + this.TensionFailureZ = TensionFailureZ; + this.CompressionFailureX = CompressionFailureX; + this.CompressionFailureY = CompressionFailureY; + this.CompressionFailureZ = CompressionFailureZ; + this.type = 4219587988; + } + } + IFC42.IfcFailureConnectionCondition = IfcFailureConnectionCondition; + class IfcFillAreaStyle extends IfcPresentationStyle { + constructor(expressID, Name, FillStyles, ModelorDraughting) { + super(expressID, Name); + this.Name = Name; + this.FillStyles = FillStyles; + this.ModelorDraughting = ModelorDraughting; + this.type = 738692330; + } + } + IFC42.IfcFillAreaStyle = IfcFillAreaStyle; + class IfcGeometricRepresentationContext extends IfcRepresentationContext { + constructor(expressID, ContextIdentifier, ContextType, CoordinateSpaceDimension, Precision, WorldCoordinateSystem, TrueNorth) { + super(expressID, ContextIdentifier, ContextType); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.CoordinateSpaceDimension = CoordinateSpaceDimension; + this.Precision = Precision; + this.WorldCoordinateSystem = WorldCoordinateSystem; + this.TrueNorth = TrueNorth; + this.type = 3448662350; + } + } + IFC42.IfcGeometricRepresentationContext = IfcGeometricRepresentationContext; + class IfcGeometricRepresentationItem extends IfcRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 2453401579; + } + } + IFC42.IfcGeometricRepresentationItem = IfcGeometricRepresentationItem; + class IfcGeometricRepresentationSubContext extends IfcGeometricRepresentationContext { + constructor(expressID, ContextIdentifier, ContextType, ParentContext, TargetScale, TargetView, UserDefinedTargetView) { + super(expressID, ContextIdentifier, ContextType, new IfcDimensionCount(0), null, new Handle(0), null); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.ParentContext = ParentContext; + this.TargetScale = TargetScale; + this.TargetView = TargetView; + this.UserDefinedTargetView = UserDefinedTargetView; + this.type = 4142052618; + } + } + IFC42.IfcGeometricRepresentationSubContext = IfcGeometricRepresentationSubContext; + class IfcGeometricSet extends IfcGeometricRepresentationItem { + constructor(expressID, Elements) { + super(expressID); + this.Elements = Elements; + this.type = 3590301190; + } + } + IFC42.IfcGeometricSet = IfcGeometricSet; + class IfcGridPlacement extends IfcObjectPlacement { + constructor(expressID, PlacementLocation, PlacementRefDirection) { + super(expressID); + this.PlacementLocation = PlacementLocation; + this.PlacementRefDirection = PlacementRefDirection; + this.type = 178086475; + } + } + IFC42.IfcGridPlacement = IfcGridPlacement; + class IfcHalfSpaceSolid extends IfcGeometricRepresentationItem { + constructor(expressID, BaseSurface, AgreementFlag) { + super(expressID); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.type = 812098782; + } + } + IFC42.IfcHalfSpaceSolid = IfcHalfSpaceSolid; + class IfcImageTexture extends IfcSurfaceTexture { + constructor(expressID, RepeatS, RepeatT, Mode, TextureTransform, Parameter, URLReference) { + super(expressID, RepeatS, RepeatT, Mode, TextureTransform, Parameter); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.Mode = Mode; + this.TextureTransform = TextureTransform; + this.Parameter = Parameter; + this.URLReference = URLReference; + this.type = 3905492369; + } + } + IFC42.IfcImageTexture = IfcImageTexture; + class IfcIndexedColourMap extends IfcPresentationItem { + constructor(expressID, MappedTo, Opacity, Colours, ColourIndex) { + super(expressID); + this.MappedTo = MappedTo; + this.Opacity = Opacity; + this.Colours = Colours; + this.ColourIndex = ColourIndex; + this.type = 3570813810; + } + } + IFC42.IfcIndexedColourMap = IfcIndexedColourMap; + class IfcIndexedTextureMap extends IfcTextureCoordinate { + constructor(expressID, Maps, MappedTo, TexCoords) { + super(expressID, Maps); + this.Maps = Maps; + this.MappedTo = MappedTo; + this.TexCoords = TexCoords; + this.type = 1437953363; + } + } + IFC42.IfcIndexedTextureMap = IfcIndexedTextureMap; + class IfcIndexedTriangleTextureMap extends IfcIndexedTextureMap { + constructor(expressID, Maps, MappedTo, TexCoords, TexCoordIndex) { + super(expressID, Maps, MappedTo, TexCoords); + this.Maps = Maps; + this.MappedTo = MappedTo; + this.TexCoords = TexCoords; + this.TexCoordIndex = TexCoordIndex; + this.type = 2133299955; + } + } + IFC42.IfcIndexedTriangleTextureMap = IfcIndexedTriangleTextureMap; + class IfcIrregularTimeSeries extends IfcTimeSeries { + constructor(expressID, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, Values) { + super(expressID, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.Values = Values; + this.type = 3741457305; + } + } + IFC42.IfcIrregularTimeSeries = IfcIrregularTimeSeries; + class IfcLagTime extends IfcSchedulingTime { + constructor(expressID, Name, DataOrigin, UserDefinedDataOrigin, LagValue, DurationType) { + super(expressID, Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.LagValue = LagValue; + this.DurationType = DurationType; + this.type = 1585845231; + } + } + IFC42.IfcLagTime = IfcLagTime; + class IfcLightSource extends IfcGeometricRepresentationItem { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity) { + super(expressID); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.type = 1402838566; + } + } + IFC42.IfcLightSource = IfcLightSource; + class IfcLightSourceAmbient extends IfcLightSource { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity) { + super(expressID, Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.type = 125510826; + } + } + IFC42.IfcLightSourceAmbient = IfcLightSourceAmbient; + class IfcLightSourceDirectional extends IfcLightSource { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity, Orientation) { + super(expressID, Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Orientation = Orientation; + this.type = 2604431987; + } + } + IFC42.IfcLightSourceDirectional = IfcLightSourceDirectional; + class IfcLightSourceGoniometric extends IfcLightSource { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity, Position, ColourAppearance, ColourTemperature, LuminousFlux, LightEmissionSource, LightDistributionDataSource) { + super(expressID, Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.ColourAppearance = ColourAppearance; + this.ColourTemperature = ColourTemperature; + this.LuminousFlux = LuminousFlux; + this.LightEmissionSource = LightEmissionSource; + this.LightDistributionDataSource = LightDistributionDataSource; + this.type = 4266656042; + } + } + IFC42.IfcLightSourceGoniometric = IfcLightSourceGoniometric; + class IfcLightSourcePositional extends IfcLightSource { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation) { + super(expressID, Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.Radius = Radius; + this.ConstantAttenuation = ConstantAttenuation; + this.DistanceAttenuation = DistanceAttenuation; + this.QuadricAttenuation = QuadricAttenuation; + this.type = 1520743889; + } + } + IFC42.IfcLightSourcePositional = IfcLightSourcePositional; + class IfcLightSourceSpot extends IfcLightSourcePositional { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation, Orientation, ConcentrationExponent, SpreadAngle, BeamWidthAngle) { + super(expressID, Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.Radius = Radius; + this.ConstantAttenuation = ConstantAttenuation; + this.DistanceAttenuation = DistanceAttenuation; + this.QuadricAttenuation = QuadricAttenuation; + this.Orientation = Orientation; + this.ConcentrationExponent = ConcentrationExponent; + this.SpreadAngle = SpreadAngle; + this.BeamWidthAngle = BeamWidthAngle; + this.type = 3422422726; + } + } + IFC42.IfcLightSourceSpot = IfcLightSourceSpot; + class IfcLocalPlacement extends IfcObjectPlacement { + constructor(expressID, PlacementRelTo, RelativePlacement) { + super(expressID); + this.PlacementRelTo = PlacementRelTo; + this.RelativePlacement = RelativePlacement; + this.type = 2624227202; + } + } + IFC42.IfcLocalPlacement = IfcLocalPlacement; + class IfcLoop extends IfcTopologicalRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 1008929658; + } + } + IFC42.IfcLoop = IfcLoop; + class IfcMappedItem extends IfcRepresentationItem { + constructor(expressID, MappingSource, MappingTarget) { + super(expressID); + this.MappingSource = MappingSource; + this.MappingTarget = MappingTarget; + this.type = 2347385850; + } + } + IFC42.IfcMappedItem = IfcMappedItem; + class IfcMaterial extends IfcMaterialDefinition { + constructor(expressID, Name, Description, Category) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.Category = Category; + this.type = 1838606355; + } + } + IFC42.IfcMaterial = IfcMaterial; + class IfcMaterialConstituent extends IfcMaterialDefinition { + constructor(expressID, Name, Description, Material, Fraction, Category) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.Material = Material; + this.Fraction = Fraction; + this.Category = Category; + this.type = 3708119e3; + } + } + IFC42.IfcMaterialConstituent = IfcMaterialConstituent; + class IfcMaterialConstituentSet extends IfcMaterialDefinition { + constructor(expressID, Name, Description, MaterialConstituents) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.MaterialConstituents = MaterialConstituents; + this.type = 2852063980; + } + } + IFC42.IfcMaterialConstituentSet = IfcMaterialConstituentSet; + class IfcMaterialDefinitionRepresentation extends IfcProductRepresentation { + constructor(expressID, Name, Description, Representations, RepresentedMaterial) { + super(expressID, Name, Description, Representations); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.RepresentedMaterial = RepresentedMaterial; + this.type = 2022407955; + } + } + IFC42.IfcMaterialDefinitionRepresentation = IfcMaterialDefinitionRepresentation; + class IfcMaterialLayerSetUsage extends IfcMaterialUsageDefinition { + constructor(expressID, ForLayerSet, LayerSetDirection, DirectionSense, OffsetFromReferenceLine, ReferenceExtent) { + super(expressID); + this.ForLayerSet = ForLayerSet; + this.LayerSetDirection = LayerSetDirection; + this.DirectionSense = DirectionSense; + this.OffsetFromReferenceLine = OffsetFromReferenceLine; + this.ReferenceExtent = ReferenceExtent; + this.type = 1303795690; + } + } + IFC42.IfcMaterialLayerSetUsage = IfcMaterialLayerSetUsage; + class IfcMaterialProfileSetUsage extends IfcMaterialUsageDefinition { + constructor(expressID, ForProfileSet, CardinalPoint, ReferenceExtent) { + super(expressID); + this.ForProfileSet = ForProfileSet; + this.CardinalPoint = CardinalPoint; + this.ReferenceExtent = ReferenceExtent; + this.type = 3079605661; + } + } + IFC42.IfcMaterialProfileSetUsage = IfcMaterialProfileSetUsage; + class IfcMaterialProfileSetUsageTapering extends IfcMaterialProfileSetUsage { + constructor(expressID, ForProfileSet, CardinalPoint, ReferenceExtent, ForProfileEndSet, CardinalEndPoint) { + super(expressID, ForProfileSet, CardinalPoint, ReferenceExtent); + this.ForProfileSet = ForProfileSet; + this.CardinalPoint = CardinalPoint; + this.ReferenceExtent = ReferenceExtent; + this.ForProfileEndSet = ForProfileEndSet; + this.CardinalEndPoint = CardinalEndPoint; + this.type = 3404854881; + } + } + IFC42.IfcMaterialProfileSetUsageTapering = IfcMaterialProfileSetUsageTapering; + class IfcMaterialProperties extends IfcExtendedProperties { + constructor(expressID, Name, Description, Properties2, Material) { + super(expressID, Name, Description, Properties2); + this.Name = Name; + this.Description = Description; + this.Properties = Properties2; + this.Material = Material; + this.type = 3265635763; + } + } + IFC42.IfcMaterialProperties = IfcMaterialProperties; + class IfcMaterialRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, RelatingMaterial, RelatedMaterials, Expression) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingMaterial = RelatingMaterial; + this.RelatedMaterials = RelatedMaterials; + this.Expression = Expression; + this.type = 853536259; + } + } + IFC42.IfcMaterialRelationship = IfcMaterialRelationship; + class IfcMirroredProfileDef extends IfcDerivedProfileDef { + constructor(expressID, ProfileType, ProfileName, ParentProfile, Label) { + super(expressID, ProfileType, ProfileName, ParentProfile, new Handle(0), Label); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.ParentProfile = ParentProfile; + this.Label = Label; + this.type = 2998442950; + } + } + IFC42.IfcMirroredProfileDef = IfcMirroredProfileDef; + class IfcObjectDefinition extends IfcRoot { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 219451334; + } + } + IFC42.IfcObjectDefinition = IfcObjectDefinition; + class IfcOpenShell extends IfcConnectedFaceSet { + constructor(expressID, CfsFaces) { + super(expressID, CfsFaces); + this.CfsFaces = CfsFaces; + this.type = 2665983363; + } + } + IFC42.IfcOpenShell = IfcOpenShell; + class IfcOrganizationRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, RelatingOrganization, RelatedOrganizations) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingOrganization = RelatingOrganization; + this.RelatedOrganizations = RelatedOrganizations; + this.type = 1411181986; + } + } + IFC42.IfcOrganizationRelationship = IfcOrganizationRelationship; + class IfcOrientedEdge extends IfcEdge { + constructor(expressID, EdgeElement, Orientation) { + super(expressID, new Handle(0), new Handle(0)); + this.EdgeElement = EdgeElement; + this.Orientation = Orientation; + this.type = 1029017970; + } + } + IFC42.IfcOrientedEdge = IfcOrientedEdge; + class IfcParameterizedProfileDef extends IfcProfileDef { + constructor(expressID, ProfileType, ProfileName, Position) { + super(expressID, ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.type = 2529465313; + } + } + IFC42.IfcParameterizedProfileDef = IfcParameterizedProfileDef; + class IfcPath extends IfcTopologicalRepresentationItem { + constructor(expressID, EdgeList) { + super(expressID); + this.EdgeList = EdgeList; + this.type = 2519244187; + } + } + IFC42.IfcPath = IfcPath; + class IfcPhysicalComplexQuantity extends IfcPhysicalQuantity { + constructor(expressID, Name, Description, HasQuantities, Discrimination, Quality, Usage) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.HasQuantities = HasQuantities; + this.Discrimination = Discrimination; + this.Quality = Quality; + this.Usage = Usage; + this.type = 3021840470; + } + } + IFC42.IfcPhysicalComplexQuantity = IfcPhysicalComplexQuantity; + class IfcPixelTexture extends IfcSurfaceTexture { + constructor(expressID, RepeatS, RepeatT, Mode, TextureTransform, Parameter, Width, Height, ColourComponents, Pixel) { + super(expressID, RepeatS, RepeatT, Mode, TextureTransform, Parameter); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.Mode = Mode; + this.TextureTransform = TextureTransform; + this.Parameter = Parameter; + this.Width = Width; + this.Height = Height; + this.ColourComponents = ColourComponents; + this.Pixel = Pixel; + this.type = 597895409; + } + } + IFC42.IfcPixelTexture = IfcPixelTexture; + class IfcPlacement extends IfcGeometricRepresentationItem { + constructor(expressID, Location) { + super(expressID); + this.Location = Location; + this.type = 2004835150; + } + } + IFC42.IfcPlacement = IfcPlacement; + class IfcPlanarExtent extends IfcGeometricRepresentationItem { + constructor(expressID, SizeInX, SizeInY) { + super(expressID); + this.SizeInX = SizeInX; + this.SizeInY = SizeInY; + this.type = 1663979128; + } + } + IFC42.IfcPlanarExtent = IfcPlanarExtent; + class IfcPoint extends IfcGeometricRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 2067069095; + } + } + IFC42.IfcPoint = IfcPoint; + class IfcPointOnCurve extends IfcPoint { + constructor(expressID, BasisCurve, PointParameter) { + super(expressID); + this.BasisCurve = BasisCurve; + this.PointParameter = PointParameter; + this.type = 4022376103; + } + } + IFC42.IfcPointOnCurve = IfcPointOnCurve; + class IfcPointOnSurface extends IfcPoint { + constructor(expressID, BasisSurface, PointParameterU, PointParameterV) { + super(expressID); + this.BasisSurface = BasisSurface; + this.PointParameterU = PointParameterU; + this.PointParameterV = PointParameterV; + this.type = 1423911732; + } + } + IFC42.IfcPointOnSurface = IfcPointOnSurface; + class IfcPolyLoop extends IfcLoop { + constructor(expressID, Polygon) { + super(expressID); + this.Polygon = Polygon; + this.type = 2924175390; + } + } + IFC42.IfcPolyLoop = IfcPolyLoop; + class IfcPolygonalBoundedHalfSpace extends IfcHalfSpaceSolid { + constructor(expressID, BaseSurface, AgreementFlag, Position, PolygonalBoundary) { + super(expressID, BaseSurface, AgreementFlag); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.Position = Position; + this.PolygonalBoundary = PolygonalBoundary; + this.type = 2775532180; + } + } + IFC42.IfcPolygonalBoundedHalfSpace = IfcPolygonalBoundedHalfSpace; + class IfcPreDefinedItem extends IfcPresentationItem { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 3727388367; + } + } + IFC42.IfcPreDefinedItem = IfcPreDefinedItem; + class IfcPreDefinedProperties extends IfcPropertyAbstraction { + constructor(expressID) { + super(expressID); + this.type = 3778827333; + } + } + IFC42.IfcPreDefinedProperties = IfcPreDefinedProperties; + class IfcPreDefinedTextFont extends IfcPreDefinedItem { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 1775413392; + } + } + IFC42.IfcPreDefinedTextFont = IfcPreDefinedTextFont; + class IfcProductDefinitionShape extends IfcProductRepresentation { + constructor(expressID, Name, Description, Representations) { + super(expressID, Name, Description, Representations); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.type = 673634403; + } + } + IFC42.IfcProductDefinitionShape = IfcProductDefinitionShape; + class IfcProfileProperties extends IfcExtendedProperties { + constructor(expressID, Name, Description, Properties2, ProfileDefinition) { + super(expressID, Name, Description, Properties2); + this.Name = Name; + this.Description = Description; + this.Properties = Properties2; + this.ProfileDefinition = ProfileDefinition; + this.type = 2802850158; + } + } + IFC42.IfcProfileProperties = IfcProfileProperties; + class IfcProperty extends IfcPropertyAbstraction { + constructor(expressID, Name, Description) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.type = 2598011224; + } + } + IFC42.IfcProperty = IfcProperty; + class IfcPropertyDefinition extends IfcRoot { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 1680319473; + } + } + IFC42.IfcPropertyDefinition = IfcPropertyDefinition; + class IfcPropertyDependencyRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, DependingProperty, DependantProperty, Expression) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.DependingProperty = DependingProperty; + this.DependantProperty = DependantProperty; + this.Expression = Expression; + this.type = 148025276; + } + } + IFC42.IfcPropertyDependencyRelationship = IfcPropertyDependencyRelationship; + class IfcPropertySetDefinition extends IfcPropertyDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 3357820518; + } + } + IFC42.IfcPropertySetDefinition = IfcPropertySetDefinition; + class IfcPropertyTemplateDefinition extends IfcPropertyDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 1482703590; + } + } + IFC42.IfcPropertyTemplateDefinition = IfcPropertyTemplateDefinition; + class IfcQuantitySet extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 2090586900; + } + } + IFC42.IfcQuantitySet = IfcQuantitySet; + class IfcRectangleProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, XDim, YDim) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.type = 3615266464; + } + } + IFC42.IfcRectangleProfileDef = IfcRectangleProfileDef; + class IfcRegularTimeSeries extends IfcTimeSeries { + constructor(expressID, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, TimeStep, Values) { + super(expressID, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.TimeStep = TimeStep; + this.Values = Values; + this.type = 3413951693; + } + } + IFC42.IfcRegularTimeSeries = IfcRegularTimeSeries; + class IfcReinforcementBarProperties extends IfcPreDefinedProperties { + constructor(expressID, TotalCrossSectionArea, SteelGrade, BarSurface, EffectiveDepth, NominalBarDiameter, BarCount) { + super(expressID); + this.TotalCrossSectionArea = TotalCrossSectionArea; + this.SteelGrade = SteelGrade; + this.BarSurface = BarSurface; + this.EffectiveDepth = EffectiveDepth; + this.NominalBarDiameter = NominalBarDiameter; + this.BarCount = BarCount; + this.type = 1580146022; + } + } + IFC42.IfcReinforcementBarProperties = IfcReinforcementBarProperties; + class IfcRelationship extends IfcRoot { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 478536968; + } + } + IFC42.IfcRelationship = IfcRelationship; + class IfcResourceApprovalRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, RelatedResourceObjects, RelatingApproval) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatedResourceObjects = RelatedResourceObjects; + this.RelatingApproval = RelatingApproval; + this.type = 2943643501; + } + } + IFC42.IfcResourceApprovalRelationship = IfcResourceApprovalRelationship; + class IfcResourceConstraintRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, RelatingConstraint, RelatedResourceObjects) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingConstraint = RelatingConstraint; + this.RelatedResourceObjects = RelatedResourceObjects; + this.type = 1608871552; + } + } + IFC42.IfcResourceConstraintRelationship = IfcResourceConstraintRelationship; + class IfcResourceTime extends IfcSchedulingTime { + constructor(expressID, Name, DataOrigin, UserDefinedDataOrigin, ScheduleWork, ScheduleUsage, ScheduleStart, ScheduleFinish, ScheduleContour, LevelingDelay, IsOverAllocated, StatusTime, ActualWork, ActualUsage, ActualStart, ActualFinish, RemainingWork, RemainingUsage, Completion) { + super(expressID, Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.ScheduleWork = ScheduleWork; + this.ScheduleUsage = ScheduleUsage; + this.ScheduleStart = ScheduleStart; + this.ScheduleFinish = ScheduleFinish; + this.ScheduleContour = ScheduleContour; + this.LevelingDelay = LevelingDelay; + this.IsOverAllocated = IsOverAllocated; + this.StatusTime = StatusTime; + this.ActualWork = ActualWork; + this.ActualUsage = ActualUsage; + this.ActualStart = ActualStart; + this.ActualFinish = ActualFinish; + this.RemainingWork = RemainingWork; + this.RemainingUsage = RemainingUsage; + this.Completion = Completion; + this.type = 1042787934; + } + } + IFC42.IfcResourceTime = IfcResourceTime; + class IfcRoundedRectangleProfileDef extends IfcRectangleProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, XDim, YDim, RoundingRadius) { + super(expressID, ProfileType, ProfileName, Position, XDim, YDim); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.RoundingRadius = RoundingRadius; + this.type = 2778083089; + } + } + IFC42.IfcRoundedRectangleProfileDef = IfcRoundedRectangleProfileDef; + class IfcSectionProperties extends IfcPreDefinedProperties { + constructor(expressID, SectionType, StartProfile, EndProfile) { + super(expressID); + this.SectionType = SectionType; + this.StartProfile = StartProfile; + this.EndProfile = EndProfile; + this.type = 2042790032; + } + } + IFC42.IfcSectionProperties = IfcSectionProperties; + class IfcSectionReinforcementProperties extends IfcPreDefinedProperties { + constructor(expressID, LongitudinalStartPosition, LongitudinalEndPosition, TransversePosition, ReinforcementRole, SectionDefinition, CrossSectionReinforcementDefinitions) { + super(expressID); + this.LongitudinalStartPosition = LongitudinalStartPosition; + this.LongitudinalEndPosition = LongitudinalEndPosition; + this.TransversePosition = TransversePosition; + this.ReinforcementRole = ReinforcementRole; + this.SectionDefinition = SectionDefinition; + this.CrossSectionReinforcementDefinitions = CrossSectionReinforcementDefinitions; + this.type = 4165799628; + } + } + IFC42.IfcSectionReinforcementProperties = IfcSectionReinforcementProperties; + class IfcSectionedSpine extends IfcGeometricRepresentationItem { + constructor(expressID, SpineCurve, CrossSections, CrossSectionPositions) { + super(expressID); + this.SpineCurve = SpineCurve; + this.CrossSections = CrossSections; + this.CrossSectionPositions = CrossSectionPositions; + this.type = 1509187699; + } + } + IFC42.IfcSectionedSpine = IfcSectionedSpine; + class IfcShellBasedSurfaceModel extends IfcGeometricRepresentationItem { + constructor(expressID, SbsmBoundary) { + super(expressID); + this.SbsmBoundary = SbsmBoundary; + this.type = 4124623270; + } + } + IFC42.IfcShellBasedSurfaceModel = IfcShellBasedSurfaceModel; + class IfcSimpleProperty extends IfcProperty { + constructor(expressID, Name, Description) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.type = 3692461612; + } + } + IFC42.IfcSimpleProperty = IfcSimpleProperty; + class IfcSlippageConnectionCondition extends IfcStructuralConnectionCondition { + constructor(expressID, Name, SlippageX, SlippageY, SlippageZ) { + super(expressID, Name); + this.Name = Name; + this.SlippageX = SlippageX; + this.SlippageY = SlippageY; + this.SlippageZ = SlippageZ; + this.type = 2609359061; + } + } + IFC42.IfcSlippageConnectionCondition = IfcSlippageConnectionCondition; + class IfcSolidModel extends IfcGeometricRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 723233188; + } + } + IFC42.IfcSolidModel = IfcSolidModel; + class IfcStructuralLoadLinearForce extends IfcStructuralLoadStatic { + constructor(expressID, Name, LinearForceX, LinearForceY, LinearForceZ, LinearMomentX, LinearMomentY, LinearMomentZ) { + super(expressID, Name); + this.Name = Name; + this.LinearForceX = LinearForceX; + this.LinearForceY = LinearForceY; + this.LinearForceZ = LinearForceZ; + this.LinearMomentX = LinearMomentX; + this.LinearMomentY = LinearMomentY; + this.LinearMomentZ = LinearMomentZ; + this.type = 1595516126; + } + } + IFC42.IfcStructuralLoadLinearForce = IfcStructuralLoadLinearForce; + class IfcStructuralLoadPlanarForce extends IfcStructuralLoadStatic { + constructor(expressID, Name, PlanarForceX, PlanarForceY, PlanarForceZ) { + super(expressID, Name); + this.Name = Name; + this.PlanarForceX = PlanarForceX; + this.PlanarForceY = PlanarForceY; + this.PlanarForceZ = PlanarForceZ; + this.type = 2668620305; + } + } + IFC42.IfcStructuralLoadPlanarForce = IfcStructuralLoadPlanarForce; + class IfcStructuralLoadSingleDisplacement extends IfcStructuralLoadStatic { + constructor(expressID, Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ) { + super(expressID, Name); + this.Name = Name; + this.DisplacementX = DisplacementX; + this.DisplacementY = DisplacementY; + this.DisplacementZ = DisplacementZ; + this.RotationalDisplacementRX = RotationalDisplacementRX; + this.RotationalDisplacementRY = RotationalDisplacementRY; + this.RotationalDisplacementRZ = RotationalDisplacementRZ; + this.type = 2473145415; + } + } + IFC42.IfcStructuralLoadSingleDisplacement = IfcStructuralLoadSingleDisplacement; + class IfcStructuralLoadSingleDisplacementDistortion extends IfcStructuralLoadSingleDisplacement { + constructor(expressID, Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ, Distortion) { + super(expressID, Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ); + this.Name = Name; + this.DisplacementX = DisplacementX; + this.DisplacementY = DisplacementY; + this.DisplacementZ = DisplacementZ; + this.RotationalDisplacementRX = RotationalDisplacementRX; + this.RotationalDisplacementRY = RotationalDisplacementRY; + this.RotationalDisplacementRZ = RotationalDisplacementRZ; + this.Distortion = Distortion; + this.type = 1973038258; + } + } + IFC42.IfcStructuralLoadSingleDisplacementDistortion = IfcStructuralLoadSingleDisplacementDistortion; + class IfcStructuralLoadSingleForce extends IfcStructuralLoadStatic { + constructor(expressID, Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ) { + super(expressID, Name); + this.Name = Name; + this.ForceX = ForceX; + this.ForceY = ForceY; + this.ForceZ = ForceZ; + this.MomentX = MomentX; + this.MomentY = MomentY; + this.MomentZ = MomentZ; + this.type = 1597423693; + } + } + IFC42.IfcStructuralLoadSingleForce = IfcStructuralLoadSingleForce; + class IfcStructuralLoadSingleForceWarping extends IfcStructuralLoadSingleForce { + constructor(expressID, Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ, WarpingMoment) { + super(expressID, Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ); + this.Name = Name; + this.ForceX = ForceX; + this.ForceY = ForceY; + this.ForceZ = ForceZ; + this.MomentX = MomentX; + this.MomentY = MomentY; + this.MomentZ = MomentZ; + this.WarpingMoment = WarpingMoment; + this.type = 1190533807; + } + } + IFC42.IfcStructuralLoadSingleForceWarping = IfcStructuralLoadSingleForceWarping; + class IfcSubedge extends IfcEdge { + constructor(expressID, EdgeStart, EdgeEnd, ParentEdge) { + super(expressID, EdgeStart, EdgeEnd); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.ParentEdge = ParentEdge; + this.type = 2233826070; + } + } + IFC42.IfcSubedge = IfcSubedge; + class IfcSurface extends IfcGeometricRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 2513912981; + } + } + IFC42.IfcSurface = IfcSurface; + class IfcSurfaceStyleRendering extends IfcSurfaceStyleShading { + constructor(expressID, SurfaceColour, Transparency, DiffuseColour, TransmissionColour, DiffuseTransmissionColour, ReflectionColour, SpecularColour, SpecularHighlight, ReflectanceMethod) { + super(expressID, SurfaceColour, Transparency); + this.SurfaceColour = SurfaceColour; + this.Transparency = Transparency; + this.DiffuseColour = DiffuseColour; + this.TransmissionColour = TransmissionColour; + this.DiffuseTransmissionColour = DiffuseTransmissionColour; + this.ReflectionColour = ReflectionColour; + this.SpecularColour = SpecularColour; + this.SpecularHighlight = SpecularHighlight; + this.ReflectanceMethod = ReflectanceMethod; + this.type = 1878645084; + } + } + IFC42.IfcSurfaceStyleRendering = IfcSurfaceStyleRendering; + class IfcSweptAreaSolid extends IfcSolidModel { + constructor(expressID, SweptArea, Position) { + super(expressID); + this.SweptArea = SweptArea; + this.Position = Position; + this.type = 2247615214; + } + } + IFC42.IfcSweptAreaSolid = IfcSweptAreaSolid; + class IfcSweptDiskSolid extends IfcSolidModel { + constructor(expressID, Directrix, Radius, InnerRadius, StartParam, EndParam) { + super(expressID); + this.Directrix = Directrix; + this.Radius = Radius; + this.InnerRadius = InnerRadius; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.type = 1260650574; + } + } + IFC42.IfcSweptDiskSolid = IfcSweptDiskSolid; + class IfcSweptDiskSolidPolygonal extends IfcSweptDiskSolid { + constructor(expressID, Directrix, Radius, InnerRadius, StartParam, EndParam, FilletRadius) { + super(expressID, Directrix, Radius, InnerRadius, StartParam, EndParam); + this.Directrix = Directrix; + this.Radius = Radius; + this.InnerRadius = InnerRadius; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.FilletRadius = FilletRadius; + this.type = 1096409881; + } + } + IFC42.IfcSweptDiskSolidPolygonal = IfcSweptDiskSolidPolygonal; + class IfcSweptSurface extends IfcSurface { + constructor(expressID, SweptCurve, Position) { + super(expressID); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.type = 230924584; + } + } + IFC42.IfcSweptSurface = IfcSweptSurface; + class IfcTShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, WebEdgeRadius, WebSlope, FlangeSlope) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.FlangeEdgeRadius = FlangeEdgeRadius; + this.WebEdgeRadius = WebEdgeRadius; + this.WebSlope = WebSlope; + this.FlangeSlope = FlangeSlope; + this.type = 3071757647; + } + } + IFC42.IfcTShapeProfileDef = IfcTShapeProfileDef; + class IfcTessellatedItem extends IfcGeometricRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 901063453; + } + } + IFC42.IfcTessellatedItem = IfcTessellatedItem; + class IfcTextLiteral extends IfcGeometricRepresentationItem { + constructor(expressID, Literal, Placement, Path) { + super(expressID); + this.Literal = Literal; + this.Placement = Placement; + this.Path = Path; + this.type = 4282788508; + } + } + IFC42.IfcTextLiteral = IfcTextLiteral; + class IfcTextLiteralWithExtent extends IfcTextLiteral { + constructor(expressID, Literal, Placement, Path, Extent, BoxAlignment) { + super(expressID, Literal, Placement, Path); + this.Literal = Literal; + this.Placement = Placement; + this.Path = Path; + this.Extent = Extent; + this.BoxAlignment = BoxAlignment; + this.type = 3124975700; + } + } + IFC42.IfcTextLiteralWithExtent = IfcTextLiteralWithExtent; + class IfcTextStyleFontModel extends IfcPreDefinedTextFont { + constructor(expressID, Name, FontFamily, FontStyle, FontVariant, FontWeight, FontSize) { + super(expressID, Name); + this.Name = Name; + this.FontFamily = FontFamily; + this.FontStyle = FontStyle; + this.FontVariant = FontVariant; + this.FontWeight = FontWeight; + this.FontSize = FontSize; + this.type = 1983826977; + } + } + IFC42.IfcTextStyleFontModel = IfcTextStyleFontModel; + class IfcTrapeziumProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, BottomXDim, TopXDim, YDim, TopXOffset) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.BottomXDim = BottomXDim; + this.TopXDim = TopXDim; + this.YDim = YDim; + this.TopXOffset = TopXOffset; + this.type = 2715220739; + } + } + IFC42.IfcTrapeziumProfileDef = IfcTrapeziumProfileDef; + class IfcTypeObject extends IfcObjectDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.type = 1628702193; + } + } + IFC42.IfcTypeObject = IfcTypeObject; + class IfcTypeProcess extends IfcTypeObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ProcessType = ProcessType; + this.type = 3736923433; + } + } + IFC42.IfcTypeProcess = IfcTypeProcess; + class IfcTypeProduct extends IfcTypeObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.type = 2347495698; + } + } + IFC42.IfcTypeProduct = IfcTypeProduct; + class IfcTypeResource extends IfcTypeObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.type = 3698973494; + } + } + IFC42.IfcTypeResource = IfcTypeResource; + class IfcUShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius, FlangeSlope) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.FlangeSlope = FlangeSlope; + this.type = 427810014; + } + } + IFC42.IfcUShapeProfileDef = IfcUShapeProfileDef; + class IfcVector extends IfcGeometricRepresentationItem { + constructor(expressID, Orientation, Magnitude) { + super(expressID); + this.Orientation = Orientation; + this.Magnitude = Magnitude; + this.type = 1417489154; + } + } + IFC42.IfcVector = IfcVector; + class IfcVertexLoop extends IfcLoop { + constructor(expressID, LoopVertex) { + super(expressID); + this.LoopVertex = LoopVertex; + this.type = 2759199220; + } + } + IFC42.IfcVertexLoop = IfcVertexLoop; + class IfcWindowStyle extends IfcTypeProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ConstructionType, OperationType, ParameterTakesPrecedence, Sizeable) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ConstructionType = ConstructionType; + this.OperationType = OperationType; + this.ParameterTakesPrecedence = ParameterTakesPrecedence; + this.Sizeable = Sizeable; + this.type = 1299126871; + } + } + IFC42.IfcWindowStyle = IfcWindowStyle; + class IfcZShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.type = 2543172580; + } + } + IFC42.IfcZShapeProfileDef = IfcZShapeProfileDef; + class IfcAdvancedFace extends IfcFaceSurface { + constructor(expressID, Bounds, FaceSurface, SameSense) { + super(expressID, Bounds, FaceSurface, SameSense); + this.Bounds = Bounds; + this.FaceSurface = FaceSurface; + this.SameSense = SameSense; + this.type = 3406155212; + } + } + IFC42.IfcAdvancedFace = IfcAdvancedFace; + class IfcAnnotationFillArea extends IfcGeometricRepresentationItem { + constructor(expressID, OuterBoundary, InnerBoundaries) { + super(expressID); + this.OuterBoundary = OuterBoundary; + this.InnerBoundaries = InnerBoundaries; + this.type = 669184980; + } + } + IFC42.IfcAnnotationFillArea = IfcAnnotationFillArea; + class IfcAsymmetricIShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, BottomFlangeWidth, OverallDepth, WebThickness, BottomFlangeThickness, BottomFlangeFilletRadius, TopFlangeWidth, TopFlangeThickness, TopFlangeFilletRadius, BottomFlangeEdgeRadius, BottomFlangeSlope, TopFlangeEdgeRadius, TopFlangeSlope) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.BottomFlangeWidth = BottomFlangeWidth; + this.OverallDepth = OverallDepth; + this.WebThickness = WebThickness; + this.BottomFlangeThickness = BottomFlangeThickness; + this.BottomFlangeFilletRadius = BottomFlangeFilletRadius; + this.TopFlangeWidth = TopFlangeWidth; + this.TopFlangeThickness = TopFlangeThickness; + this.TopFlangeFilletRadius = TopFlangeFilletRadius; + this.BottomFlangeEdgeRadius = BottomFlangeEdgeRadius; + this.BottomFlangeSlope = BottomFlangeSlope; + this.TopFlangeEdgeRadius = TopFlangeEdgeRadius; + this.TopFlangeSlope = TopFlangeSlope; + this.type = 3207858831; + } + } + IFC42.IfcAsymmetricIShapeProfileDef = IfcAsymmetricIShapeProfileDef; + class IfcAxis1Placement extends IfcPlacement { + constructor(expressID, Location, Axis) { + super(expressID, Location); + this.Location = Location; + this.Axis = Axis; + this.type = 4261334040; + } + } + IFC42.IfcAxis1Placement = IfcAxis1Placement; + class IfcAxis2Placement2D extends IfcPlacement { + constructor(expressID, Location, RefDirection) { + super(expressID, Location); + this.Location = Location; + this.RefDirection = RefDirection; + this.type = 3125803723; + } + } + IFC42.IfcAxis2Placement2D = IfcAxis2Placement2D; + class IfcAxis2Placement3D extends IfcPlacement { + constructor(expressID, Location, Axis, RefDirection) { + super(expressID, Location); + this.Location = Location; + this.Axis = Axis; + this.RefDirection = RefDirection; + this.type = 2740243338; + } + } + IFC42.IfcAxis2Placement3D = IfcAxis2Placement3D; + class IfcBooleanResult extends IfcGeometricRepresentationItem { + constructor(expressID, Operator, FirstOperand, SecondOperand) { + super(expressID); + this.Operator = Operator; + this.FirstOperand = FirstOperand; + this.SecondOperand = SecondOperand; + this.type = 2736907675; + } + } + IFC42.IfcBooleanResult = IfcBooleanResult; + class IfcBoundedSurface extends IfcSurface { + constructor(expressID) { + super(expressID); + this.type = 4182860854; + } + } + IFC42.IfcBoundedSurface = IfcBoundedSurface; + class IfcBoundingBox extends IfcGeometricRepresentationItem { + constructor(expressID, Corner, XDim, YDim, ZDim) { + super(expressID); + this.Corner = Corner; + this.XDim = XDim; + this.YDim = YDim; + this.ZDim = ZDim; + this.type = 2581212453; + } + } + IFC42.IfcBoundingBox = IfcBoundingBox; + class IfcBoxedHalfSpace extends IfcHalfSpaceSolid { + constructor(expressID, BaseSurface, AgreementFlag, Enclosure) { + super(expressID, BaseSurface, AgreementFlag); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.Enclosure = Enclosure; + this.type = 2713105998; + } + } + IFC42.IfcBoxedHalfSpace = IfcBoxedHalfSpace; + class IfcCShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Depth, Width, WallThickness, Girth, InternalFilletRadius) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.Width = Width; + this.WallThickness = WallThickness; + this.Girth = Girth; + this.InternalFilletRadius = InternalFilletRadius; + this.type = 2898889636; + } + } + IFC42.IfcCShapeProfileDef = IfcCShapeProfileDef; + class IfcCartesianPoint extends IfcPoint { + constructor(expressID, Coordinates) { + super(expressID); + this.Coordinates = Coordinates; + this.type = 1123145078; + } + } + IFC42.IfcCartesianPoint = IfcCartesianPoint; + class IfcCartesianPointList extends IfcGeometricRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 574549367; + } + } + IFC42.IfcCartesianPointList = IfcCartesianPointList; + class IfcCartesianPointList2D extends IfcCartesianPointList { + constructor(expressID, CoordList) { + super(expressID); + this.CoordList = CoordList; + this.type = 1675464909; + } + } + IFC42.IfcCartesianPointList2D = IfcCartesianPointList2D; + class IfcCartesianPointList3D extends IfcCartesianPointList { + constructor(expressID, CoordList) { + super(expressID); + this.CoordList = CoordList; + this.type = 2059837836; + } + } + IFC42.IfcCartesianPointList3D = IfcCartesianPointList3D; + class IfcCartesianTransformationOperator extends IfcGeometricRepresentationItem { + constructor(expressID, Axis1, Axis2, LocalOrigin, Scale) { + super(expressID); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.type = 59481748; + } + } + IFC42.IfcCartesianTransformationOperator = IfcCartesianTransformationOperator; + class IfcCartesianTransformationOperator2D extends IfcCartesianTransformationOperator { + constructor(expressID, Axis1, Axis2, LocalOrigin, Scale) { + super(expressID, Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.type = 3749851601; + } + } + IFC42.IfcCartesianTransformationOperator2D = IfcCartesianTransformationOperator2D; + class IfcCartesianTransformationOperator2DnonUniform extends IfcCartesianTransformationOperator2D { + constructor(expressID, Axis1, Axis2, LocalOrigin, Scale, Scale2) { + super(expressID, Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Scale2 = Scale2; + this.type = 3486308946; + } + } + IFC42.IfcCartesianTransformationOperator2DnonUniform = IfcCartesianTransformationOperator2DnonUniform; + class IfcCartesianTransformationOperator3D extends IfcCartesianTransformationOperator { + constructor(expressID, Axis1, Axis2, LocalOrigin, Scale, Axis3) { + super(expressID, Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Axis3 = Axis3; + this.type = 3331915920; + } + } + IFC42.IfcCartesianTransformationOperator3D = IfcCartesianTransformationOperator3D; + class IfcCartesianTransformationOperator3DnonUniform extends IfcCartesianTransformationOperator3D { + constructor(expressID, Axis1, Axis2, LocalOrigin, Scale, Axis3, Scale2, Scale3) { + super(expressID, Axis1, Axis2, LocalOrigin, Scale, Axis3); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Axis3 = Axis3; + this.Scale2 = Scale2; + this.Scale3 = Scale3; + this.type = 1416205885; + } + } + IFC42.IfcCartesianTransformationOperator3DnonUniform = IfcCartesianTransformationOperator3DnonUniform; + class IfcCircleProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Radius) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Radius = Radius; + this.type = 1383045692; + } + } + IFC42.IfcCircleProfileDef = IfcCircleProfileDef; + class IfcClosedShell extends IfcConnectedFaceSet { + constructor(expressID, CfsFaces) { + super(expressID, CfsFaces); + this.CfsFaces = CfsFaces; + this.type = 2205249479; + } + } + IFC42.IfcClosedShell = IfcClosedShell; + class IfcColourRgb extends IfcColourSpecification { + constructor(expressID, Name, Red, Green, Blue) { + super(expressID, Name); + this.Name = Name; + this.Red = Red; + this.Green = Green; + this.Blue = Blue; + this.type = 776857604; + } + } + IFC42.IfcColourRgb = IfcColourRgb; + class IfcComplexProperty extends IfcProperty { + constructor(expressID, Name, Description, UsageName, HasProperties) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.UsageName = UsageName; + this.HasProperties = HasProperties; + this.type = 2542286263; + } + } + IFC42.IfcComplexProperty = IfcComplexProperty; + class IfcCompositeCurveSegment extends IfcGeometricRepresentationItem { + constructor(expressID, Transition, SameSense, ParentCurve) { + super(expressID); + this.Transition = Transition; + this.SameSense = SameSense; + this.ParentCurve = ParentCurve; + this.type = 2485617015; + } + } + IFC42.IfcCompositeCurveSegment = IfcCompositeCurveSegment; + class IfcConstructionResourceType extends IfcTypeResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.type = 2574617495; + } + } + IFC42.IfcConstructionResourceType = IfcConstructionResourceType; + class IfcContext extends IfcObjectDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.Phase = Phase; + this.RepresentationContexts = RepresentationContexts; + this.UnitsInContext = UnitsInContext; + this.type = 3419103109; + } + } + IFC42.IfcContext = IfcContext; + class IfcCrewResourceType extends IfcConstructionResourceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 1815067380; + } + } + IFC42.IfcCrewResourceType = IfcCrewResourceType; + class IfcCsgPrimitive3D extends IfcGeometricRepresentationItem { + constructor(expressID, Position) { + super(expressID); + this.Position = Position; + this.type = 2506170314; + } + } + IFC42.IfcCsgPrimitive3D = IfcCsgPrimitive3D; + class IfcCsgSolid extends IfcSolidModel { + constructor(expressID, TreeRootExpression) { + super(expressID); + this.TreeRootExpression = TreeRootExpression; + this.type = 2147822146; + } + } + IFC42.IfcCsgSolid = IfcCsgSolid; + class IfcCurve extends IfcGeometricRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 2601014836; + } + } + IFC42.IfcCurve = IfcCurve; + class IfcCurveBoundedPlane extends IfcBoundedSurface { + constructor(expressID, BasisSurface, OuterBoundary, InnerBoundaries) { + super(expressID); + this.BasisSurface = BasisSurface; + this.OuterBoundary = OuterBoundary; + this.InnerBoundaries = InnerBoundaries; + this.type = 2827736869; + } + } + IFC42.IfcCurveBoundedPlane = IfcCurveBoundedPlane; + class IfcCurveBoundedSurface extends IfcBoundedSurface { + constructor(expressID, BasisSurface, Boundaries, ImplicitOuter) { + super(expressID); + this.BasisSurface = BasisSurface; + this.Boundaries = Boundaries; + this.ImplicitOuter = ImplicitOuter; + this.type = 2629017746; + } + } + IFC42.IfcCurveBoundedSurface = IfcCurveBoundedSurface; + class IfcDirection extends IfcGeometricRepresentationItem { + constructor(expressID, DirectionRatios) { + super(expressID); + this.DirectionRatios = DirectionRatios; + this.type = 32440307; + } + } + IFC42.IfcDirection = IfcDirection; + class IfcDoorStyle extends IfcTypeProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, OperationType, ConstructionType, ParameterTakesPrecedence, Sizeable) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.OperationType = OperationType; + this.ConstructionType = ConstructionType; + this.ParameterTakesPrecedence = ParameterTakesPrecedence; + this.Sizeable = Sizeable; + this.type = 526551008; + } + } + IFC42.IfcDoorStyle = IfcDoorStyle; + class IfcEdgeLoop extends IfcLoop { + constructor(expressID, EdgeList) { + super(expressID); + this.EdgeList = EdgeList; + this.type = 1472233963; + } + } + IFC42.IfcEdgeLoop = IfcEdgeLoop; + class IfcElementQuantity extends IfcQuantitySet { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, MethodOfMeasurement, Quantities) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.MethodOfMeasurement = MethodOfMeasurement; + this.Quantities = Quantities; + this.type = 1883228015; + } + } + IFC42.IfcElementQuantity = IfcElementQuantity; + class IfcElementType extends IfcTypeProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 339256511; + } + } + IFC42.IfcElementType = IfcElementType; + class IfcElementarySurface extends IfcSurface { + constructor(expressID, Position) { + super(expressID); + this.Position = Position; + this.type = 2777663545; + } + } + IFC42.IfcElementarySurface = IfcElementarySurface; + class IfcEllipseProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, SemiAxis1, SemiAxis2) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.SemiAxis1 = SemiAxis1; + this.SemiAxis2 = SemiAxis2; + this.type = 2835456948; + } + } + IFC42.IfcEllipseProfileDef = IfcEllipseProfileDef; + class IfcEventType extends IfcTypeProcess { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType, EventTriggerType, UserDefinedEventTriggerType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ProcessType = ProcessType; + this.PredefinedType = PredefinedType; + this.EventTriggerType = EventTriggerType; + this.UserDefinedEventTriggerType = UserDefinedEventTriggerType; + this.type = 4024345920; + } + } + IFC42.IfcEventType = IfcEventType; + class IfcExtrudedAreaSolid extends IfcSweptAreaSolid { + constructor(expressID, SweptArea, Position, ExtrudedDirection, Depth) { + super(expressID, SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.ExtrudedDirection = ExtrudedDirection; + this.Depth = Depth; + this.type = 477187591; + } + } + IFC42.IfcExtrudedAreaSolid = IfcExtrudedAreaSolid; + class IfcExtrudedAreaSolidTapered extends IfcExtrudedAreaSolid { + constructor(expressID, SweptArea, Position, ExtrudedDirection, Depth, EndSweptArea) { + super(expressID, SweptArea, Position, ExtrudedDirection, Depth); + this.SweptArea = SweptArea; + this.Position = Position; + this.ExtrudedDirection = ExtrudedDirection; + this.Depth = Depth; + this.EndSweptArea = EndSweptArea; + this.type = 2804161546; + } + } + IFC42.IfcExtrudedAreaSolidTapered = IfcExtrudedAreaSolidTapered; + class IfcFaceBasedSurfaceModel extends IfcGeometricRepresentationItem { + constructor(expressID, FbsmFaces) { + super(expressID); + this.FbsmFaces = FbsmFaces; + this.type = 2047409740; + } + } + IFC42.IfcFaceBasedSurfaceModel = IfcFaceBasedSurfaceModel; + class IfcFillAreaStyleHatching extends IfcGeometricRepresentationItem { + constructor(expressID, HatchLineAppearance, StartOfNextHatchLine, PointOfReferenceHatchLine, PatternStart, HatchLineAngle) { + super(expressID); + this.HatchLineAppearance = HatchLineAppearance; + this.StartOfNextHatchLine = StartOfNextHatchLine; + this.PointOfReferenceHatchLine = PointOfReferenceHatchLine; + this.PatternStart = PatternStart; + this.HatchLineAngle = HatchLineAngle; + this.type = 374418227; + } + } + IFC42.IfcFillAreaStyleHatching = IfcFillAreaStyleHatching; + class IfcFillAreaStyleTiles extends IfcGeometricRepresentationItem { + constructor(expressID, TilingPattern, Tiles, TilingScale) { + super(expressID); + this.TilingPattern = TilingPattern; + this.Tiles = Tiles; + this.TilingScale = TilingScale; + this.type = 315944413; + } + } + IFC42.IfcFillAreaStyleTiles = IfcFillAreaStyleTiles; + class IfcFixedReferenceSweptAreaSolid extends IfcSweptAreaSolid { + constructor(expressID, SweptArea, Position, Directrix, StartParam, EndParam, FixedReference) { + super(expressID, SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.Directrix = Directrix; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.FixedReference = FixedReference; + this.type = 2652556860; + } + } + IFC42.IfcFixedReferenceSweptAreaSolid = IfcFixedReferenceSweptAreaSolid; + class IfcFurnishingElementType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 4238390223; + } + } + IFC42.IfcFurnishingElementType = IfcFurnishingElementType; + class IfcFurnitureType extends IfcFurnishingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, AssemblyPlace, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.AssemblyPlace = AssemblyPlace; + this.PredefinedType = PredefinedType; + this.type = 1268542332; + } + } + IFC42.IfcFurnitureType = IfcFurnitureType; + class IfcGeographicElementType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4095422895; + } + } + IFC42.IfcGeographicElementType = IfcGeographicElementType; + class IfcGeometricCurveSet extends IfcGeometricSet { + constructor(expressID, Elements) { + super(expressID, Elements); + this.Elements = Elements; + this.type = 987898635; + } + } + IFC42.IfcGeometricCurveSet = IfcGeometricCurveSet; + class IfcIShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, FlangeSlope) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.OverallWidth = OverallWidth; + this.OverallDepth = OverallDepth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.FlangeEdgeRadius = FlangeEdgeRadius; + this.FlangeSlope = FlangeSlope; + this.type = 1484403080; + } + } + IFC42.IfcIShapeProfileDef = IfcIShapeProfileDef; + class IfcIndexedPolygonalFace extends IfcTessellatedItem { + constructor(expressID, CoordIndex) { + super(expressID); + this.CoordIndex = CoordIndex; + this.type = 178912537; + } + } + IFC42.IfcIndexedPolygonalFace = IfcIndexedPolygonalFace; + class IfcIndexedPolygonalFaceWithVoids extends IfcIndexedPolygonalFace { + constructor(expressID, CoordIndex, InnerCoordIndices) { + super(expressID, CoordIndex); + this.CoordIndex = CoordIndex; + this.InnerCoordIndices = InnerCoordIndices; + this.type = 2294589976; + } + } + IFC42.IfcIndexedPolygonalFaceWithVoids = IfcIndexedPolygonalFaceWithVoids; + class IfcLShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Depth, Width, Thickness, FilletRadius, EdgeRadius, LegSlope) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.Width = Width; + this.Thickness = Thickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.LegSlope = LegSlope; + this.type = 572779678; + } + } + IFC42.IfcLShapeProfileDef = IfcLShapeProfileDef; + class IfcLaborResourceType extends IfcConstructionResourceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 428585644; + } + } + IFC42.IfcLaborResourceType = IfcLaborResourceType; + class IfcLine extends IfcCurve { + constructor(expressID, Pnt, Dir) { + super(expressID); + this.Pnt = Pnt; + this.Dir = Dir; + this.type = 1281925730; + } + } + IFC42.IfcLine = IfcLine; + class IfcManifoldSolidBrep extends IfcSolidModel { + constructor(expressID, Outer) { + super(expressID); + this.Outer = Outer; + this.type = 1425443689; + } + } + IFC42.IfcManifoldSolidBrep = IfcManifoldSolidBrep; + class IfcObject extends IfcObjectDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 3888040117; + } + } + IFC42.IfcObject = IfcObject; + class IfcOffsetCurve2D extends IfcCurve { + constructor(expressID, BasisCurve, Distance, SelfIntersect) { + super(expressID); + this.BasisCurve = BasisCurve; + this.Distance = Distance; + this.SelfIntersect = SelfIntersect; + this.type = 3388369263; + } + } + IFC42.IfcOffsetCurve2D = IfcOffsetCurve2D; + class IfcOffsetCurve3D extends IfcCurve { + constructor(expressID, BasisCurve, Distance, SelfIntersect, RefDirection) { + super(expressID); + this.BasisCurve = BasisCurve; + this.Distance = Distance; + this.SelfIntersect = SelfIntersect; + this.RefDirection = RefDirection; + this.type = 3505215534; + } + } + IFC42.IfcOffsetCurve3D = IfcOffsetCurve3D; + class IfcPcurve extends IfcCurve { + constructor(expressID, BasisSurface, ReferenceCurve) { + super(expressID); + this.BasisSurface = BasisSurface; + this.ReferenceCurve = ReferenceCurve; + this.type = 1682466193; + } + } + IFC42.IfcPcurve = IfcPcurve; + class IfcPlanarBox extends IfcPlanarExtent { + constructor(expressID, SizeInX, SizeInY, Placement) { + super(expressID, SizeInX, SizeInY); + this.SizeInX = SizeInX; + this.SizeInY = SizeInY; + this.Placement = Placement; + this.type = 603570806; + } + } + IFC42.IfcPlanarBox = IfcPlanarBox; + class IfcPlane extends IfcElementarySurface { + constructor(expressID, Position) { + super(expressID, Position); + this.Position = Position; + this.type = 220341763; + } + } + IFC42.IfcPlane = IfcPlane; + class IfcPreDefinedColour extends IfcPreDefinedItem { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 759155922; + } + } + IFC42.IfcPreDefinedColour = IfcPreDefinedColour; + class IfcPreDefinedCurveFont extends IfcPreDefinedItem { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 2559016684; + } + } + IFC42.IfcPreDefinedCurveFont = IfcPreDefinedCurveFont; + class IfcPreDefinedPropertySet extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 3967405729; + } + } + IFC42.IfcPreDefinedPropertySet = IfcPreDefinedPropertySet; + class IfcProcedureType extends IfcTypeProcess { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ProcessType = ProcessType; + this.PredefinedType = PredefinedType; + this.type = 569719735; + } + } + IFC42.IfcProcedureType = IfcProcedureType; + class IfcProcess extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.type = 2945172077; + } + } + IFC42.IfcProcess = IfcProcess; + class IfcProduct extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 4208778838; + } + } + IFC42.IfcProduct = IfcProduct; + class IfcProject extends IfcContext { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.Phase = Phase; + this.RepresentationContexts = RepresentationContexts; + this.UnitsInContext = UnitsInContext; + this.type = 103090709; + } + } + IFC42.IfcProject = IfcProject; + class IfcProjectLibrary extends IfcContext { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.Phase = Phase; + this.RepresentationContexts = RepresentationContexts; + this.UnitsInContext = UnitsInContext; + this.type = 653396225; + } + } + IFC42.IfcProjectLibrary = IfcProjectLibrary; + class IfcPropertyBoundedValue extends IfcSimpleProperty { + constructor(expressID, Name, Description, UpperBoundValue, LowerBoundValue, Unit, SetPointValue) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.UpperBoundValue = UpperBoundValue; + this.LowerBoundValue = LowerBoundValue; + this.Unit = Unit; + this.SetPointValue = SetPointValue; + this.type = 871118103; + } + } + IFC42.IfcPropertyBoundedValue = IfcPropertyBoundedValue; + class IfcPropertyEnumeratedValue extends IfcSimpleProperty { + constructor(expressID, Name, Description, EnumerationValues, EnumerationReference) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.EnumerationValues = EnumerationValues; + this.EnumerationReference = EnumerationReference; + this.type = 4166981789; + } + } + IFC42.IfcPropertyEnumeratedValue = IfcPropertyEnumeratedValue; + class IfcPropertyListValue extends IfcSimpleProperty { + constructor(expressID, Name, Description, ListValues, Unit) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.ListValues = ListValues; + this.Unit = Unit; + this.type = 2752243245; + } + } + IFC42.IfcPropertyListValue = IfcPropertyListValue; + class IfcPropertyReferenceValue extends IfcSimpleProperty { + constructor(expressID, Name, Description, UsageName, PropertyReference) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.UsageName = UsageName; + this.PropertyReference = PropertyReference; + this.type = 941946838; + } + } + IFC42.IfcPropertyReferenceValue = IfcPropertyReferenceValue; + class IfcPropertySet extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, HasProperties) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.HasProperties = HasProperties; + this.type = 1451395588; + } + } + IFC42.IfcPropertySet = IfcPropertySet; + class IfcPropertySetTemplate extends IfcPropertyTemplateDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, TemplateType, ApplicableEntity, HasPropertyTemplates) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.TemplateType = TemplateType; + this.ApplicableEntity = ApplicableEntity; + this.HasPropertyTemplates = HasPropertyTemplates; + this.type = 492091185; + } + } + IFC42.IfcPropertySetTemplate = IfcPropertySetTemplate; + class IfcPropertySingleValue extends IfcSimpleProperty { + constructor(expressID, Name, Description, NominalValue, Unit) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.NominalValue = NominalValue; + this.Unit = Unit; + this.type = 3650150729; + } + } + IFC42.IfcPropertySingleValue = IfcPropertySingleValue; + class IfcPropertyTableValue extends IfcSimpleProperty { + constructor(expressID, Name, Description, DefiningValues, DefinedValues, Expression, DefiningUnit, DefinedUnit, CurveInterpolation) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.DefiningValues = DefiningValues; + this.DefinedValues = DefinedValues; + this.Expression = Expression; + this.DefiningUnit = DefiningUnit; + this.DefinedUnit = DefinedUnit; + this.CurveInterpolation = CurveInterpolation; + this.type = 110355661; + } + } + IFC42.IfcPropertyTableValue = IfcPropertyTableValue; + class IfcPropertyTemplate extends IfcPropertyTemplateDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 3521284610; + } + } + IFC42.IfcPropertyTemplate = IfcPropertyTemplate; + class IfcProxy extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, ProxyType, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.ProxyType = ProxyType; + this.Tag = Tag; + this.type = 3219374653; + } + } + IFC42.IfcProxy = IfcProxy; + class IfcRectangleHollowProfileDef extends IfcRectangleProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, XDim, YDim, WallThickness, InnerFilletRadius, OuterFilletRadius) { + super(expressID, ProfileType, ProfileName, Position, XDim, YDim); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.WallThickness = WallThickness; + this.InnerFilletRadius = InnerFilletRadius; + this.OuterFilletRadius = OuterFilletRadius; + this.type = 2770003689; + } + } + IFC42.IfcRectangleHollowProfileDef = IfcRectangleHollowProfileDef; + class IfcRectangularPyramid extends IfcCsgPrimitive3D { + constructor(expressID, Position, XLength, YLength, Height) { + super(expressID, Position); + this.Position = Position; + this.XLength = XLength; + this.YLength = YLength; + this.Height = Height; + this.type = 2798486643; + } + } + IFC42.IfcRectangularPyramid = IfcRectangularPyramid; + class IfcRectangularTrimmedSurface extends IfcBoundedSurface { + constructor(expressID, BasisSurface, U1, V1, U2, V2, Usense, Vsense) { + super(expressID); + this.BasisSurface = BasisSurface; + this.U1 = U1; + this.V1 = V1; + this.U2 = U2; + this.V2 = V2; + this.Usense = Usense; + this.Vsense = Vsense; + this.type = 3454111270; + } + } + IFC42.IfcRectangularTrimmedSurface = IfcRectangularTrimmedSurface; + class IfcReinforcementDefinitionProperties extends IfcPreDefinedPropertySet { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, DefinitionType, ReinforcementSectionDefinitions) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.DefinitionType = DefinitionType; + this.ReinforcementSectionDefinitions = ReinforcementSectionDefinitions; + this.type = 3765753017; + } + } + IFC42.IfcReinforcementDefinitionProperties = IfcReinforcementDefinitionProperties; + class IfcRelAssigns extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.type = 3939117080; + } + } + IFC42.IfcRelAssigns = IfcRelAssigns; + class IfcRelAssignsToActor extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingActor = RelatingActor; + this.ActingRole = ActingRole; + this.type = 1683148259; + } + } + IFC42.IfcRelAssignsToActor = IfcRelAssignsToActor; + class IfcRelAssignsToControl extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingControl = RelatingControl; + this.type = 2495723537; + } + } + IFC42.IfcRelAssignsToControl = IfcRelAssignsToControl; + class IfcRelAssignsToGroup extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingGroup = RelatingGroup; + this.type = 1307041759; + } + } + IFC42.IfcRelAssignsToGroup = IfcRelAssignsToGroup; + class IfcRelAssignsToGroupByFactor extends IfcRelAssignsToGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup, Factor) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingGroup = RelatingGroup; + this.Factor = Factor; + this.type = 1027710054; + } + } + IFC42.IfcRelAssignsToGroupByFactor = IfcRelAssignsToGroupByFactor; + class IfcRelAssignsToProcess extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProcess, QuantityInProcess) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingProcess = RelatingProcess; + this.QuantityInProcess = QuantityInProcess; + this.type = 4278684876; + } + } + IFC42.IfcRelAssignsToProcess = IfcRelAssignsToProcess; + class IfcRelAssignsToProduct extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProduct) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingProduct = RelatingProduct; + this.type = 2857406711; + } + } + IFC42.IfcRelAssignsToProduct = IfcRelAssignsToProduct; + class IfcRelAssignsToResource extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingResource) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingResource = RelatingResource; + this.type = 205026976; + } + } + IFC42.IfcRelAssignsToResource = IfcRelAssignsToResource; + class IfcRelAssociates extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.type = 1865459582; + } + } + IFC42.IfcRelAssociates = IfcRelAssociates; + class IfcRelAssociatesApproval extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingApproval) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingApproval = RelatingApproval; + this.type = 4095574036; + } + } + IFC42.IfcRelAssociatesApproval = IfcRelAssociatesApproval; + class IfcRelAssociatesClassification extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingClassification) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingClassification = RelatingClassification; + this.type = 919958153; + } + } + IFC42.IfcRelAssociatesClassification = IfcRelAssociatesClassification; + class IfcRelAssociatesConstraint extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, Intent, RelatingConstraint) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.Intent = Intent; + this.RelatingConstraint = RelatingConstraint; + this.type = 2728634034; + } + } + IFC42.IfcRelAssociatesConstraint = IfcRelAssociatesConstraint; + class IfcRelAssociatesDocument extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingDocument) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingDocument = RelatingDocument; + this.type = 982818633; + } + } + IFC42.IfcRelAssociatesDocument = IfcRelAssociatesDocument; + class IfcRelAssociatesLibrary extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingLibrary) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingLibrary = RelatingLibrary; + this.type = 3840914261; + } + } + IFC42.IfcRelAssociatesLibrary = IfcRelAssociatesLibrary; + class IfcRelAssociatesMaterial extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingMaterial) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingMaterial = RelatingMaterial; + this.type = 2655215786; + } + } + IFC42.IfcRelAssociatesMaterial = IfcRelAssociatesMaterial; + class IfcRelConnects extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 826625072; + } + } + IFC42.IfcRelConnects = IfcRelConnects; + class IfcRelConnectsElements extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.type = 1204542856; + } + } + IFC42.IfcRelConnectsElements = IfcRelConnectsElements; + class IfcRelConnectsPathElements extends IfcRelConnectsElements { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RelatingPriorities, RelatedPriorities, RelatedConnectionType, RelatingConnectionType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.RelatingPriorities = RelatingPriorities; + this.RelatedPriorities = RelatedPriorities; + this.RelatedConnectionType = RelatedConnectionType; + this.RelatingConnectionType = RelatingConnectionType; + this.type = 3945020480; + } + } + IFC42.IfcRelConnectsPathElements = IfcRelConnectsPathElements; + class IfcRelConnectsPortToElement extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingPort = RelatingPort; + this.RelatedElement = RelatedElement; + this.type = 4201705270; + } + } + IFC42.IfcRelConnectsPortToElement = IfcRelConnectsPortToElement; + class IfcRelConnectsPorts extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedPort, RealizingElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingPort = RelatingPort; + this.RelatedPort = RelatedPort; + this.RealizingElement = RealizingElement; + this.type = 3190031847; + } + } + IFC42.IfcRelConnectsPorts = IfcRelConnectsPorts; + class IfcRelConnectsStructuralActivity extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedStructuralActivity) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedStructuralActivity = RelatedStructuralActivity; + this.type = 2127690289; + } + } + IFC42.IfcRelConnectsStructuralActivity = IfcRelConnectsStructuralActivity; + class IfcRelConnectsStructuralMember extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingStructuralMember = RelatingStructuralMember; + this.RelatedStructuralConnection = RelatedStructuralConnection; + this.AppliedCondition = AppliedCondition; + this.AdditionalConditions = AdditionalConditions; + this.SupportedLength = SupportedLength; + this.ConditionCoordinateSystem = ConditionCoordinateSystem; + this.type = 1638771189; + } + } + IFC42.IfcRelConnectsStructuralMember = IfcRelConnectsStructuralMember; + class IfcRelConnectsWithEccentricity extends IfcRelConnectsStructuralMember { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem, ConnectionConstraint) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingStructuralMember = RelatingStructuralMember; + this.RelatedStructuralConnection = RelatedStructuralConnection; + this.AppliedCondition = AppliedCondition; + this.AdditionalConditions = AdditionalConditions; + this.SupportedLength = SupportedLength; + this.ConditionCoordinateSystem = ConditionCoordinateSystem; + this.ConnectionConstraint = ConnectionConstraint; + this.type = 504942748; + } + } + IFC42.IfcRelConnectsWithEccentricity = IfcRelConnectsWithEccentricity; + class IfcRelConnectsWithRealizingElements extends IfcRelConnectsElements { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RealizingElements, ConnectionType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.RealizingElements = RealizingElements; + this.ConnectionType = ConnectionType; + this.type = 3678494232; + } + } + IFC42.IfcRelConnectsWithRealizingElements = IfcRelConnectsWithRealizingElements; + class IfcRelContainedInSpatialStructure extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedElements = RelatedElements; + this.RelatingStructure = RelatingStructure; + this.type = 3242617779; + } + } + IFC42.IfcRelContainedInSpatialStructure = IfcRelContainedInSpatialStructure; + class IfcRelCoversBldgElements extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedCoverings) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingBuildingElement = RelatingBuildingElement; + this.RelatedCoverings = RelatedCoverings; + this.type = 886880790; + } + } + IFC42.IfcRelCoversBldgElements = IfcRelCoversBldgElements; + class IfcRelCoversSpaces extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedCoverings) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedCoverings = RelatedCoverings; + this.type = 2802773753; + } + } + IFC42.IfcRelCoversSpaces = IfcRelCoversSpaces; + class IfcRelDeclares extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingContext, RelatedDefinitions) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingContext = RelatingContext; + this.RelatedDefinitions = RelatedDefinitions; + this.type = 2565941209; + } + } + IFC42.IfcRelDeclares = IfcRelDeclares; + class IfcRelDecomposes extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 2551354335; + } + } + IFC42.IfcRelDecomposes = IfcRelDecomposes; + class IfcRelDefines extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 693640335; + } + } + IFC42.IfcRelDefines = IfcRelDefines; + class IfcRelDefinesByObject extends IfcRelDefines { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingObject) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingObject = RelatingObject; + this.type = 1462361463; + } + } + IFC42.IfcRelDefinesByObject = IfcRelDefinesByObject; + class IfcRelDefinesByProperties extends IfcRelDefines { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingPropertyDefinition = RelatingPropertyDefinition; + this.type = 4186316022; + } + } + IFC42.IfcRelDefinesByProperties = IfcRelDefinesByProperties; + class IfcRelDefinesByTemplate extends IfcRelDefines { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedPropertySets, RelatingTemplate) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedPropertySets = RelatedPropertySets; + this.RelatingTemplate = RelatingTemplate; + this.type = 307848117; + } + } + IFC42.IfcRelDefinesByTemplate = IfcRelDefinesByTemplate; + class IfcRelDefinesByType extends IfcRelDefines { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingType) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingType = RelatingType; + this.type = 781010003; + } + } + IFC42.IfcRelDefinesByType = IfcRelDefinesByType; + class IfcRelFillsElement extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingOpeningElement, RelatedBuildingElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingOpeningElement = RelatingOpeningElement; + this.RelatedBuildingElement = RelatedBuildingElement; + this.type = 3940055652; + } + } + IFC42.IfcRelFillsElement = IfcRelFillsElement; + class IfcRelFlowControlElements extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedControlElements, RelatingFlowElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedControlElements = RelatedControlElements; + this.RelatingFlowElement = RelatingFlowElement; + this.type = 279856033; + } + } + IFC42.IfcRelFlowControlElements = IfcRelFlowControlElements; + class IfcRelInterferesElements extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedElement, InterferenceGeometry, InterferenceType, ImpliedOrder) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.InterferenceGeometry = InterferenceGeometry; + this.InterferenceType = InterferenceType; + this.ImpliedOrder = ImpliedOrder; + this.type = 427948657; + } + } + IFC42.IfcRelInterferesElements = IfcRelInterferesElements; + class IfcRelNests extends IfcRelDecomposes { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingObject = RelatingObject; + this.RelatedObjects = RelatedObjects; + this.type = 3268803585; + } + } + IFC42.IfcRelNests = IfcRelNests; + class IfcRelProjectsElement extends IfcRelDecomposes { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedFeatureElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedFeatureElement = RelatedFeatureElement; + this.type = 750771296; + } + } + IFC42.IfcRelProjectsElement = IfcRelProjectsElement; + class IfcRelReferencedInSpatialStructure extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedElements = RelatedElements; + this.RelatingStructure = RelatingStructure; + this.type = 1245217292; + } + } + IFC42.IfcRelReferencedInSpatialStructure = IfcRelReferencedInSpatialStructure; + class IfcRelSequence extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingProcess, RelatedProcess, TimeLag, SequenceType, UserDefinedSequenceType) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingProcess = RelatingProcess; + this.RelatedProcess = RelatedProcess; + this.TimeLag = TimeLag; + this.SequenceType = SequenceType; + this.UserDefinedSequenceType = UserDefinedSequenceType; + this.type = 4122056220; + } + } + IFC42.IfcRelSequence = IfcRelSequence; + class IfcRelServicesBuildings extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingSystem, RelatedBuildings) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSystem = RelatingSystem; + this.RelatedBuildings = RelatedBuildings; + this.type = 366585022; + } + } + IFC42.IfcRelServicesBuildings = IfcRelServicesBuildings; + class IfcRelSpaceBoundary extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedBuildingElement = RelatedBuildingElement; + this.ConnectionGeometry = ConnectionGeometry; + this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary; + this.InternalOrExternalBoundary = InternalOrExternalBoundary; + this.type = 3451746338; + } + } + IFC42.IfcRelSpaceBoundary = IfcRelSpaceBoundary; + class IfcRelSpaceBoundary1stLevel extends IfcRelSpaceBoundary { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedBuildingElement = RelatedBuildingElement; + this.ConnectionGeometry = ConnectionGeometry; + this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary; + this.InternalOrExternalBoundary = InternalOrExternalBoundary; + this.ParentBoundary = ParentBoundary; + this.type = 3523091289; + } + } + IFC42.IfcRelSpaceBoundary1stLevel = IfcRelSpaceBoundary1stLevel; + class IfcRelSpaceBoundary2ndLevel extends IfcRelSpaceBoundary1stLevel { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary, CorrespondingBoundary) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedBuildingElement = RelatedBuildingElement; + this.ConnectionGeometry = ConnectionGeometry; + this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary; + this.InternalOrExternalBoundary = InternalOrExternalBoundary; + this.ParentBoundary = ParentBoundary; + this.CorrespondingBoundary = CorrespondingBoundary; + this.type = 1521410863; + } + } + IFC42.IfcRelSpaceBoundary2ndLevel = IfcRelSpaceBoundary2ndLevel; + class IfcRelVoidsElement extends IfcRelDecomposes { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedOpeningElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingBuildingElement = RelatingBuildingElement; + this.RelatedOpeningElement = RelatedOpeningElement; + this.type = 1401173127; + } + } + IFC42.IfcRelVoidsElement = IfcRelVoidsElement; + class IfcReparametrisedCompositeCurveSegment extends IfcCompositeCurveSegment { + constructor(expressID, Transition, SameSense, ParentCurve, ParamLength) { + super(expressID, Transition, SameSense, ParentCurve); + this.Transition = Transition; + this.SameSense = SameSense; + this.ParentCurve = ParentCurve; + this.ParamLength = ParamLength; + this.type = 816062949; + } + } + IFC42.IfcReparametrisedCompositeCurveSegment = IfcReparametrisedCompositeCurveSegment; + class IfcResource extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.type = 2914609552; + } + } + IFC42.IfcResource = IfcResource; + class IfcRevolvedAreaSolid extends IfcSweptAreaSolid { + constructor(expressID, SweptArea, Position, Axis, Angle) { + super(expressID, SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.Axis = Axis; + this.Angle = Angle; + this.type = 1856042241; + } + } + IFC42.IfcRevolvedAreaSolid = IfcRevolvedAreaSolid; + class IfcRevolvedAreaSolidTapered extends IfcRevolvedAreaSolid { + constructor(expressID, SweptArea, Position, Axis, Angle, EndSweptArea) { + super(expressID, SweptArea, Position, Axis, Angle); + this.SweptArea = SweptArea; + this.Position = Position; + this.Axis = Axis; + this.Angle = Angle; + this.EndSweptArea = EndSweptArea; + this.type = 3243963512; + } + } + IFC42.IfcRevolvedAreaSolidTapered = IfcRevolvedAreaSolidTapered; + class IfcRightCircularCone extends IfcCsgPrimitive3D { + constructor(expressID, Position, Height, BottomRadius) { + super(expressID, Position); + this.Position = Position; + this.Height = Height; + this.BottomRadius = BottomRadius; + this.type = 4158566097; + } + } + IFC42.IfcRightCircularCone = IfcRightCircularCone; + class IfcRightCircularCylinder extends IfcCsgPrimitive3D { + constructor(expressID, Position, Height, Radius) { + super(expressID, Position); + this.Position = Position; + this.Height = Height; + this.Radius = Radius; + this.type = 3626867408; + } + } + IFC42.IfcRightCircularCylinder = IfcRightCircularCylinder; + class IfcSimplePropertyTemplate extends IfcPropertyTemplate { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, TemplateType, PrimaryMeasureType, SecondaryMeasureType, Enumerators, PrimaryUnit, SecondaryUnit, Expression, AccessState) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.TemplateType = TemplateType; + this.PrimaryMeasureType = PrimaryMeasureType; + this.SecondaryMeasureType = SecondaryMeasureType; + this.Enumerators = Enumerators; + this.PrimaryUnit = PrimaryUnit; + this.SecondaryUnit = SecondaryUnit; + this.Expression = Expression; + this.AccessState = AccessState; + this.type = 3663146110; + } + } + IFC42.IfcSimplePropertyTemplate = IfcSimplePropertyTemplate; + class IfcSpatialElement extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.type = 1412071761; + } + } + IFC42.IfcSpatialElement = IfcSpatialElement; + class IfcSpatialElementType extends IfcTypeProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 710998568; + } + } + IFC42.IfcSpatialElementType = IfcSpatialElementType; + class IfcSpatialStructureElement extends IfcSpatialElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.type = 2706606064; + } + } + IFC42.IfcSpatialStructureElement = IfcSpatialStructureElement; + class IfcSpatialStructureElementType extends IfcSpatialElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3893378262; + } + } + IFC42.IfcSpatialStructureElementType = IfcSpatialStructureElementType; + class IfcSpatialZone extends IfcSpatialElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.PredefinedType = PredefinedType; + this.type = 463610769; + } + } + IFC42.IfcSpatialZone = IfcSpatialZone; + class IfcSpatialZoneType extends IfcSpatialElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, LongName) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.LongName = LongName; + this.type = 2481509218; + } + } + IFC42.IfcSpatialZoneType = IfcSpatialZoneType; + class IfcSphere extends IfcCsgPrimitive3D { + constructor(expressID, Position, Radius) { + super(expressID, Position); + this.Position = Position; + this.Radius = Radius; + this.type = 451544542; + } + } + IFC42.IfcSphere = IfcSphere; + class IfcSphericalSurface extends IfcElementarySurface { + constructor(expressID, Position, Radius) { + super(expressID, Position); + this.Position = Position; + this.Radius = Radius; + this.type = 4015995234; + } + } + IFC42.IfcSphericalSurface = IfcSphericalSurface; + class IfcStructuralActivity extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 3544373492; + } + } + IFC42.IfcStructuralActivity = IfcStructuralActivity; + class IfcStructuralItem extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 3136571912; + } + } + IFC42.IfcStructuralItem = IfcStructuralItem; + class IfcStructuralMember extends IfcStructuralItem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 530289379; + } + } + IFC42.IfcStructuralMember = IfcStructuralMember; + class IfcStructuralReaction extends IfcStructuralActivity { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 3689010777; + } + } + IFC42.IfcStructuralReaction = IfcStructuralReaction; + class IfcStructuralSurfaceMember extends IfcStructuralMember { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Thickness = Thickness; + this.type = 3979015343; + } + } + IFC42.IfcStructuralSurfaceMember = IfcStructuralSurfaceMember; + class IfcStructuralSurfaceMemberVarying extends IfcStructuralSurfaceMember { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Thickness = Thickness; + this.type = 2218152070; + } + } + IFC42.IfcStructuralSurfaceMemberVarying = IfcStructuralSurfaceMemberVarying; + class IfcStructuralSurfaceReaction extends IfcStructuralReaction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.PredefinedType = PredefinedType; + this.type = 603775116; + } + } + IFC42.IfcStructuralSurfaceReaction = IfcStructuralSurfaceReaction; + class IfcSubContractResourceType extends IfcConstructionResourceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 4095615324; + } + } + IFC42.IfcSubContractResourceType = IfcSubContractResourceType; + class IfcSurfaceCurve extends IfcCurve { + constructor(expressID, Curve3D, AssociatedGeometry, MasterRepresentation) { + super(expressID); + this.Curve3D = Curve3D; + this.AssociatedGeometry = AssociatedGeometry; + this.MasterRepresentation = MasterRepresentation; + this.type = 699246055; + } + } + IFC42.IfcSurfaceCurve = IfcSurfaceCurve; + class IfcSurfaceCurveSweptAreaSolid extends IfcSweptAreaSolid { + constructor(expressID, SweptArea, Position, Directrix, StartParam, EndParam, ReferenceSurface) { + super(expressID, SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.Directrix = Directrix; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.ReferenceSurface = ReferenceSurface; + this.type = 2028607225; + } + } + IFC42.IfcSurfaceCurveSweptAreaSolid = IfcSurfaceCurveSweptAreaSolid; + class IfcSurfaceOfLinearExtrusion extends IfcSweptSurface { + constructor(expressID, SweptCurve, Position, ExtrudedDirection, Depth) { + super(expressID, SweptCurve, Position); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.ExtrudedDirection = ExtrudedDirection; + this.Depth = Depth; + this.type = 2809605785; + } + } + IFC42.IfcSurfaceOfLinearExtrusion = IfcSurfaceOfLinearExtrusion; + class IfcSurfaceOfRevolution extends IfcSweptSurface { + constructor(expressID, SweptCurve, Position, AxisPosition) { + super(expressID, SweptCurve, Position); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.AxisPosition = AxisPosition; + this.type = 4124788165; + } + } + IFC42.IfcSurfaceOfRevolution = IfcSurfaceOfRevolution; + class IfcSystemFurnitureElementType extends IfcFurnishingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1580310250; + } + } + IFC42.IfcSystemFurnitureElementType = IfcSystemFurnitureElementType; + class IfcTask extends IfcProcess { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Status, WorkMethod, IsMilestone, Priority, TaskTime, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Status = Status; + this.WorkMethod = WorkMethod; + this.IsMilestone = IsMilestone; + this.Priority = Priority; + this.TaskTime = TaskTime; + this.PredefinedType = PredefinedType; + this.type = 3473067441; + } + } + IFC42.IfcTask = IfcTask; + class IfcTaskType extends IfcTypeProcess { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType, WorkMethod) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ProcessType = ProcessType; + this.PredefinedType = PredefinedType; + this.WorkMethod = WorkMethod; + this.type = 3206491090; + } + } + IFC42.IfcTaskType = IfcTaskType; + class IfcTessellatedFaceSet extends IfcTessellatedItem { + constructor(expressID, Coordinates) { + super(expressID); + this.Coordinates = Coordinates; + this.type = 2387106220; + } + } + IFC42.IfcTessellatedFaceSet = IfcTessellatedFaceSet; + class IfcToroidalSurface extends IfcElementarySurface { + constructor(expressID, Position, MajorRadius, MinorRadius) { + super(expressID, Position); + this.Position = Position; + this.MajorRadius = MajorRadius; + this.MinorRadius = MinorRadius; + this.type = 1935646853; + } + } + IFC42.IfcToroidalSurface = IfcToroidalSurface; + class IfcTransportElementType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2097647324; + } + } + IFC42.IfcTransportElementType = IfcTransportElementType; + class IfcTriangulatedFaceSet extends IfcTessellatedFaceSet { + constructor(expressID, Coordinates, Normals, Closed, CoordIndex, PnIndex) { + super(expressID, Coordinates); + this.Coordinates = Coordinates; + this.Normals = Normals; + this.Closed = Closed; + this.CoordIndex = CoordIndex; + this.PnIndex = PnIndex; + this.type = 2916149573; + } + } + IFC42.IfcTriangulatedFaceSet = IfcTriangulatedFaceSet; + class IfcWindowLiningProperties extends IfcPreDefinedPropertySet { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, TransomThickness, MullionThickness, FirstTransomOffset, SecondTransomOffset, FirstMullionOffset, SecondMullionOffset, ShapeAspectStyle, LiningOffset, LiningToPanelOffsetX, LiningToPanelOffsetY) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.LiningDepth = LiningDepth; + this.LiningThickness = LiningThickness; + this.TransomThickness = TransomThickness; + this.MullionThickness = MullionThickness; + this.FirstTransomOffset = FirstTransomOffset; + this.SecondTransomOffset = SecondTransomOffset; + this.FirstMullionOffset = FirstMullionOffset; + this.SecondMullionOffset = SecondMullionOffset; + this.ShapeAspectStyle = ShapeAspectStyle; + this.LiningOffset = LiningOffset; + this.LiningToPanelOffsetX = LiningToPanelOffsetX; + this.LiningToPanelOffsetY = LiningToPanelOffsetY; + this.type = 336235671; + } + } + IFC42.IfcWindowLiningProperties = IfcWindowLiningProperties; + class IfcWindowPanelProperties extends IfcPreDefinedPropertySet { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.OperationType = OperationType; + this.PanelPosition = PanelPosition; + this.FrameDepth = FrameDepth; + this.FrameThickness = FrameThickness; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 512836454; + } + } + IFC42.IfcWindowPanelProperties = IfcWindowPanelProperties; + class IfcActor extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheActor = TheActor; + this.type = 2296667514; + } + } + IFC42.IfcActor = IfcActor; + class IfcAdvancedBrep extends IfcManifoldSolidBrep { + constructor(expressID, Outer) { + super(expressID, Outer); + this.Outer = Outer; + this.type = 1635779807; + } + } + IFC42.IfcAdvancedBrep = IfcAdvancedBrep; + class IfcAdvancedBrepWithVoids extends IfcAdvancedBrep { + constructor(expressID, Outer, Voids) { + super(expressID, Outer); + this.Outer = Outer; + this.Voids = Voids; + this.type = 2603310189; + } + } + IFC42.IfcAdvancedBrepWithVoids = IfcAdvancedBrepWithVoids; + class IfcAnnotation extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 1674181508; + } + } + IFC42.IfcAnnotation = IfcAnnotation; + class IfcBSplineSurface extends IfcBoundedSurface { + constructor(expressID, UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect) { + super(expressID); + this.UDegree = UDegree; + this.VDegree = VDegree; + this.ControlPointsList = ControlPointsList; + this.SurfaceForm = SurfaceForm; + this.UClosed = UClosed; + this.VClosed = VClosed; + this.SelfIntersect = SelfIntersect; + this.type = 2887950389; + } + } + IFC42.IfcBSplineSurface = IfcBSplineSurface; + class IfcBSplineSurfaceWithKnots extends IfcBSplineSurface { + constructor(expressID, UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec) { + super(expressID, UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect); + this.UDegree = UDegree; + this.VDegree = VDegree; + this.ControlPointsList = ControlPointsList; + this.SurfaceForm = SurfaceForm; + this.UClosed = UClosed; + this.VClosed = VClosed; + this.SelfIntersect = SelfIntersect; + this.UMultiplicities = UMultiplicities; + this.VMultiplicities = VMultiplicities; + this.UKnots = UKnots; + this.VKnots = VKnots; + this.KnotSpec = KnotSpec; + this.type = 167062518; + } + } + IFC42.IfcBSplineSurfaceWithKnots = IfcBSplineSurfaceWithKnots; + class IfcBlock extends IfcCsgPrimitive3D { + constructor(expressID, Position, XLength, YLength, ZLength) { + super(expressID, Position); + this.Position = Position; + this.XLength = XLength; + this.YLength = YLength; + this.ZLength = ZLength; + this.type = 1334484129; + } + } + IFC42.IfcBlock = IfcBlock; + class IfcBooleanClippingResult extends IfcBooleanResult { + constructor(expressID, Operator, FirstOperand, SecondOperand) { + super(expressID, Operator, FirstOperand, SecondOperand); + this.Operator = Operator; + this.FirstOperand = FirstOperand; + this.SecondOperand = SecondOperand; + this.type = 3649129432; + } + } + IFC42.IfcBooleanClippingResult = IfcBooleanClippingResult; + class IfcBoundedCurve extends IfcCurve { + constructor(expressID) { + super(expressID); + this.type = 1260505505; + } + } + IFC42.IfcBoundedCurve = IfcBoundedCurve; + class IfcBuilding extends IfcSpatialStructureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, ElevationOfRefHeight, ElevationOfTerrain, BuildingAddress) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.ElevationOfRefHeight = ElevationOfRefHeight; + this.ElevationOfTerrain = ElevationOfTerrain; + this.BuildingAddress = BuildingAddress; + this.type = 4031249490; + } + } + IFC42.IfcBuilding = IfcBuilding; + class IfcBuildingElementType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1950629157; + } + } + IFC42.IfcBuildingElementType = IfcBuildingElementType; + class IfcBuildingStorey extends IfcSpatialStructureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, Elevation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.Elevation = Elevation; + this.type = 3124254112; + } + } + IFC42.IfcBuildingStorey = IfcBuildingStorey; + class IfcChimneyType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2197970202; + } + } + IFC42.IfcChimneyType = IfcChimneyType; + class IfcCircleHollowProfileDef extends IfcCircleProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Radius, WallThickness) { + super(expressID, ProfileType, ProfileName, Position, Radius); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Radius = Radius; + this.WallThickness = WallThickness; + this.type = 2937912522; + } + } + IFC42.IfcCircleHollowProfileDef = IfcCircleHollowProfileDef; + class IfcCivilElementType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3893394355; + } + } + IFC42.IfcCivilElementType = IfcCivilElementType; + class IfcColumnType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 300633059; + } + } + IFC42.IfcColumnType = IfcColumnType; + class IfcComplexPropertyTemplate extends IfcPropertyTemplate { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, UsageName, TemplateType, HasPropertyTemplates) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.UsageName = UsageName; + this.TemplateType = TemplateType; + this.HasPropertyTemplates = HasPropertyTemplates; + this.type = 3875453745; + } + } + IFC42.IfcComplexPropertyTemplate = IfcComplexPropertyTemplate; + class IfcCompositeCurve extends IfcBoundedCurve { + constructor(expressID, Segments, SelfIntersect) { + super(expressID); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 3732776249; + } + } + IFC42.IfcCompositeCurve = IfcCompositeCurve; + class IfcCompositeCurveOnSurface extends IfcCompositeCurve { + constructor(expressID, Segments, SelfIntersect) { + super(expressID, Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 15328376; + } + } + IFC42.IfcCompositeCurveOnSurface = IfcCompositeCurveOnSurface; + class IfcConic extends IfcCurve { + constructor(expressID, Position) { + super(expressID); + this.Position = Position; + this.type = 2510884976; + } + } + IFC42.IfcConic = IfcConic; + class IfcConstructionEquipmentResourceType extends IfcConstructionResourceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 2185764099; + } + } + IFC42.IfcConstructionEquipmentResourceType = IfcConstructionEquipmentResourceType; + class IfcConstructionMaterialResourceType extends IfcConstructionResourceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 4105962743; + } + } + IFC42.IfcConstructionMaterialResourceType = IfcConstructionMaterialResourceType; + class IfcConstructionProductResourceType extends IfcConstructionResourceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 1525564444; + } + } + IFC42.IfcConstructionProductResourceType = IfcConstructionProductResourceType; + class IfcConstructionResource extends IfcResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.type = 2559216714; + } + } + IFC42.IfcConstructionResource = IfcConstructionResource; + class IfcControl extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.type = 3293443760; + } + } + IFC42.IfcControl = IfcControl; + class IfcCostItem extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, CostValues, CostQuantities) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.CostValues = CostValues; + this.CostQuantities = CostQuantities; + this.type = 3895139033; + } + } + IFC42.IfcCostItem = IfcCostItem; + class IfcCostSchedule extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, SubmittedOn, UpdateDate) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.SubmittedOn = SubmittedOn; + this.UpdateDate = UpdateDate; + this.type = 1419761937; + } + } + IFC42.IfcCostSchedule = IfcCostSchedule; + class IfcCoveringType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1916426348; + } + } + IFC42.IfcCoveringType = IfcCoveringType; + class IfcCrewResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 3295246426; + } + } + IFC42.IfcCrewResource = IfcCrewResource; + class IfcCurtainWallType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1457835157; + } + } + IFC42.IfcCurtainWallType = IfcCurtainWallType; + class IfcCylindricalSurface extends IfcElementarySurface { + constructor(expressID, Position, Radius) { + super(expressID, Position); + this.Position = Position; + this.Radius = Radius; + this.type = 1213902940; + } + } + IFC42.IfcCylindricalSurface = IfcCylindricalSurface; + class IfcDistributionElementType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3256556792; + } + } + IFC42.IfcDistributionElementType = IfcDistributionElementType; + class IfcDistributionFlowElementType extends IfcDistributionElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3849074793; + } + } + IFC42.IfcDistributionFlowElementType = IfcDistributionFlowElementType; + class IfcDoorLiningProperties extends IfcPreDefinedPropertySet { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, ThresholdDepth, ThresholdThickness, TransomThickness, TransomOffset, LiningOffset, ThresholdOffset, CasingThickness, CasingDepth, ShapeAspectStyle, LiningToPanelOffsetX, LiningToPanelOffsetY) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.LiningDepth = LiningDepth; + this.LiningThickness = LiningThickness; + this.ThresholdDepth = ThresholdDepth; + this.ThresholdThickness = ThresholdThickness; + this.TransomThickness = TransomThickness; + this.TransomOffset = TransomOffset; + this.LiningOffset = LiningOffset; + this.ThresholdOffset = ThresholdOffset; + this.CasingThickness = CasingThickness; + this.CasingDepth = CasingDepth; + this.ShapeAspectStyle = ShapeAspectStyle; + this.LiningToPanelOffsetX = LiningToPanelOffsetX; + this.LiningToPanelOffsetY = LiningToPanelOffsetY; + this.type = 2963535650; + } + } + IFC42.IfcDoorLiningProperties = IfcDoorLiningProperties; + class IfcDoorPanelProperties extends IfcPreDefinedPropertySet { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, PanelDepth, PanelOperation, PanelWidth, PanelPosition, ShapeAspectStyle) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.PanelDepth = PanelDepth; + this.PanelOperation = PanelOperation; + this.PanelWidth = PanelWidth; + this.PanelPosition = PanelPosition; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 1714330368; + } + } + IFC42.IfcDoorPanelProperties = IfcDoorPanelProperties; + class IfcDoorType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, OperationType, ParameterTakesPrecedence, UserDefinedOperationType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.OperationType = OperationType; + this.ParameterTakesPrecedence = ParameterTakesPrecedence; + this.UserDefinedOperationType = UserDefinedOperationType; + this.type = 2323601079; + } + } + IFC42.IfcDoorType = IfcDoorType; + class IfcDraughtingPreDefinedColour extends IfcPreDefinedColour { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 445594917; + } + } + IFC42.IfcDraughtingPreDefinedColour = IfcDraughtingPreDefinedColour; + class IfcDraughtingPreDefinedCurveFont extends IfcPreDefinedCurveFont { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 4006246654; + } + } + IFC42.IfcDraughtingPreDefinedCurveFont = IfcDraughtingPreDefinedCurveFont; + class IfcElement extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1758889154; + } + } + IFC42.IfcElement = IfcElement; + class IfcElementAssembly extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, AssemblyPlace, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.AssemblyPlace = AssemblyPlace; + this.PredefinedType = PredefinedType; + this.type = 4123344466; + } + } + IFC42.IfcElementAssembly = IfcElementAssembly; + class IfcElementAssemblyType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2397081782; + } + } + IFC42.IfcElementAssemblyType = IfcElementAssemblyType; + class IfcElementComponent extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1623761950; + } + } + IFC42.IfcElementComponent = IfcElementComponent; + class IfcElementComponentType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2590856083; + } + } + IFC42.IfcElementComponentType = IfcElementComponentType; + class IfcEllipse extends IfcConic { + constructor(expressID, Position, SemiAxis1, SemiAxis2) { + super(expressID, Position); + this.Position = Position; + this.SemiAxis1 = SemiAxis1; + this.SemiAxis2 = SemiAxis2; + this.type = 1704287377; + } + } + IFC42.IfcEllipse = IfcEllipse; + class IfcEnergyConversionDeviceType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2107101300; + } + } + IFC42.IfcEnergyConversionDeviceType = IfcEnergyConversionDeviceType; + class IfcEngineType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 132023988; + } + } + IFC42.IfcEngineType = IfcEngineType; + class IfcEvaporativeCoolerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3174744832; + } + } + IFC42.IfcEvaporativeCoolerType = IfcEvaporativeCoolerType; + class IfcEvaporatorType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3390157468; + } + } + IFC42.IfcEvaporatorType = IfcEvaporatorType; + class IfcEvent extends IfcProcess { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, PredefinedType, EventTriggerType, UserDefinedEventTriggerType, EventOccurenceTime) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.PredefinedType = PredefinedType; + this.EventTriggerType = EventTriggerType; + this.UserDefinedEventTriggerType = UserDefinedEventTriggerType; + this.EventOccurenceTime = EventOccurenceTime; + this.type = 4148101412; + } + } + IFC42.IfcEvent = IfcEvent; + class IfcExternalSpatialStructureElement extends IfcSpatialElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.type = 2853485674; + } + } + IFC42.IfcExternalSpatialStructureElement = IfcExternalSpatialStructureElement; + class IfcFacetedBrep extends IfcManifoldSolidBrep { + constructor(expressID, Outer) { + super(expressID, Outer); + this.Outer = Outer; + this.type = 807026263; + } + } + IFC42.IfcFacetedBrep = IfcFacetedBrep; + class IfcFacetedBrepWithVoids extends IfcFacetedBrep { + constructor(expressID, Outer, Voids) { + super(expressID, Outer); + this.Outer = Outer; + this.Voids = Voids; + this.type = 3737207727; + } + } + IFC42.IfcFacetedBrepWithVoids = IfcFacetedBrepWithVoids; + class IfcFastener extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 647756555; + } + } + IFC42.IfcFastener = IfcFastener; + class IfcFastenerType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2489546625; + } + } + IFC42.IfcFastenerType = IfcFastenerType; + class IfcFeatureElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2827207264; + } + } + IFC42.IfcFeatureElement = IfcFeatureElement; + class IfcFeatureElementAddition extends IfcFeatureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2143335405; + } + } + IFC42.IfcFeatureElementAddition = IfcFeatureElementAddition; + class IfcFeatureElementSubtraction extends IfcFeatureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1287392070; + } + } + IFC42.IfcFeatureElementSubtraction = IfcFeatureElementSubtraction; + class IfcFlowControllerType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3907093117; + } + } + IFC42.IfcFlowControllerType = IfcFlowControllerType; + class IfcFlowFittingType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3198132628; + } + } + IFC42.IfcFlowFittingType = IfcFlowFittingType; + class IfcFlowMeterType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3815607619; + } + } + IFC42.IfcFlowMeterType = IfcFlowMeterType; + class IfcFlowMovingDeviceType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1482959167; + } + } + IFC42.IfcFlowMovingDeviceType = IfcFlowMovingDeviceType; + class IfcFlowSegmentType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1834744321; + } + } + IFC42.IfcFlowSegmentType = IfcFlowSegmentType; + class IfcFlowStorageDeviceType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1339347760; + } + } + IFC42.IfcFlowStorageDeviceType = IfcFlowStorageDeviceType; + class IfcFlowTerminalType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2297155007; + } + } + IFC42.IfcFlowTerminalType = IfcFlowTerminalType; + class IfcFlowTreatmentDeviceType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3009222698; + } + } + IFC42.IfcFlowTreatmentDeviceType = IfcFlowTreatmentDeviceType; + class IfcFootingType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1893162501; + } + } + IFC42.IfcFootingType = IfcFootingType; + class IfcFurnishingElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 263784265; + } + } + IFC42.IfcFurnishingElement = IfcFurnishingElement; + class IfcFurniture extends IfcFurnishingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1509553395; + } + } + IFC42.IfcFurniture = IfcFurniture; + class IfcGeographicElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3493046030; + } + } + IFC42.IfcGeographicElement = IfcGeographicElement; + class IfcGrid extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, UAxes, VAxes, WAxes, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.UAxes = UAxes; + this.VAxes = VAxes; + this.WAxes = WAxes; + this.PredefinedType = PredefinedType; + this.type = 3009204131; + } + } + IFC42.IfcGrid = IfcGrid; + class IfcGroup extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2706460486; + } + } + IFC42.IfcGroup = IfcGroup; + class IfcHeatExchangerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1251058090; + } + } + IFC42.IfcHeatExchangerType = IfcHeatExchangerType; + class IfcHumidifierType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1806887404; + } + } + IFC42.IfcHumidifierType = IfcHumidifierType; + class IfcIndexedPolyCurve extends IfcBoundedCurve { + constructor(expressID, Points, Segments, SelfIntersect) { + super(expressID); + this.Points = Points; + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 2571569899; + } + } + IFC42.IfcIndexedPolyCurve = IfcIndexedPolyCurve; + class IfcInterceptorType extends IfcFlowTreatmentDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3946677679; + } + } + IFC42.IfcInterceptorType = IfcInterceptorType; + class IfcIntersectionCurve extends IfcSurfaceCurve { + constructor(expressID, Curve3D, AssociatedGeometry, MasterRepresentation) { + super(expressID, Curve3D, AssociatedGeometry, MasterRepresentation); + this.Curve3D = Curve3D; + this.AssociatedGeometry = AssociatedGeometry; + this.MasterRepresentation = MasterRepresentation; + this.type = 3113134337; + } + } + IFC42.IfcIntersectionCurve = IfcIntersectionCurve; + class IfcInventory extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, Jurisdiction, ResponsiblePersons, LastUpdateDate, CurrentValue, OriginalValue) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.Jurisdiction = Jurisdiction; + this.ResponsiblePersons = ResponsiblePersons; + this.LastUpdateDate = LastUpdateDate; + this.CurrentValue = CurrentValue; + this.OriginalValue = OriginalValue; + this.type = 2391368822; + } + } + IFC42.IfcInventory = IfcInventory; + class IfcJunctionBoxType extends IfcFlowFittingType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4288270099; + } + } + IFC42.IfcJunctionBoxType = IfcJunctionBoxType; + class IfcLaborResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 3827777499; + } + } + IFC42.IfcLaborResource = IfcLaborResource; + class IfcLampType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1051575348; + } + } + IFC42.IfcLampType = IfcLampType; + class IfcLightFixtureType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1161773419; + } + } + IFC42.IfcLightFixtureType = IfcLightFixtureType; + class IfcMechanicalFastener extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NominalDiameter, NominalLength, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.NominalDiameter = NominalDiameter; + this.NominalLength = NominalLength; + this.PredefinedType = PredefinedType; + this.type = 377706215; + } + } + IFC42.IfcMechanicalFastener = IfcMechanicalFastener; + class IfcMechanicalFastenerType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, NominalLength) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.NominalLength = NominalLength; + this.type = 2108223431; + } + } + IFC42.IfcMechanicalFastenerType = IfcMechanicalFastenerType; + class IfcMedicalDeviceType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1114901282; + } + } + IFC42.IfcMedicalDeviceType = IfcMedicalDeviceType; + class IfcMemberType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3181161470; + } + } + IFC42.IfcMemberType = IfcMemberType; + class IfcMotorConnectionType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 977012517; + } + } + IFC42.IfcMotorConnectionType = IfcMotorConnectionType; + class IfcOccupant extends IfcActor { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheActor = TheActor; + this.PredefinedType = PredefinedType; + this.type = 4143007308; + } + } + IFC42.IfcOccupant = IfcOccupant; + class IfcOpeningElement extends IfcFeatureElementSubtraction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3588315303; + } + } + IFC42.IfcOpeningElement = IfcOpeningElement; + class IfcOpeningStandardCase extends IfcOpeningElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3079942009; + } + } + IFC42.IfcOpeningStandardCase = IfcOpeningStandardCase; + class IfcOutletType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2837617999; + } + } + IFC42.IfcOutletType = IfcOutletType; + class IfcPerformanceHistory extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LifeCyclePhase, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LifeCyclePhase = LifeCyclePhase; + this.PredefinedType = PredefinedType; + this.type = 2382730787; + } + } + IFC42.IfcPerformanceHistory = IfcPerformanceHistory; + class IfcPermeableCoveringProperties extends IfcPreDefinedPropertySet { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.OperationType = OperationType; + this.PanelPosition = PanelPosition; + this.FrameDepth = FrameDepth; + this.FrameThickness = FrameThickness; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 3566463478; + } + } + IFC42.IfcPermeableCoveringProperties = IfcPermeableCoveringProperties; + class IfcPermit extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.LongDescription = LongDescription; + this.type = 3327091369; + } + } + IFC42.IfcPermit = IfcPermit; + class IfcPileType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1158309216; + } + } + IFC42.IfcPileType = IfcPileType; + class IfcPipeFittingType extends IfcFlowFittingType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 804291784; + } + } + IFC42.IfcPipeFittingType = IfcPipeFittingType; + class IfcPipeSegmentType extends IfcFlowSegmentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4231323485; + } + } + IFC42.IfcPipeSegmentType = IfcPipeSegmentType; + class IfcPlateType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4017108033; + } + } + IFC42.IfcPlateType = IfcPlateType; + class IfcPolygonalFaceSet extends IfcTessellatedFaceSet { + constructor(expressID, Coordinates, Closed, Faces, PnIndex) { + super(expressID, Coordinates); + this.Coordinates = Coordinates; + this.Closed = Closed; + this.Faces = Faces; + this.PnIndex = PnIndex; + this.type = 2839578677; + } + } + IFC42.IfcPolygonalFaceSet = IfcPolygonalFaceSet; + class IfcPolyline extends IfcBoundedCurve { + constructor(expressID, Points) { + super(expressID); + this.Points = Points; + this.type = 3724593414; + } + } + IFC42.IfcPolyline = IfcPolyline; + class IfcPort extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 3740093272; + } + } + IFC42.IfcPort = IfcPort; + class IfcProcedure extends IfcProcess { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.PredefinedType = PredefinedType; + this.type = 2744685151; + } + } + IFC42.IfcProcedure = IfcProcedure; + class IfcProjectOrder extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.LongDescription = LongDescription; + this.type = 2904328755; + } + } + IFC42.IfcProjectOrder = IfcProjectOrder; + class IfcProjectionElement extends IfcFeatureElementAddition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3651124850; + } + } + IFC42.IfcProjectionElement = IfcProjectionElement; + class IfcProtectiveDeviceType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1842657554; + } + } + IFC42.IfcProtectiveDeviceType = IfcProtectiveDeviceType; + class IfcPumpType extends IfcFlowMovingDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2250791053; + } + } + IFC42.IfcPumpType = IfcPumpType; + class IfcRailingType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2893384427; + } + } + IFC42.IfcRailingType = IfcRailingType; + class IfcRampFlightType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2324767716; + } + } + IFC42.IfcRampFlightType = IfcRampFlightType; + class IfcRampType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1469900589; + } + } + IFC42.IfcRampType = IfcRampType; + class IfcRationalBSplineSurfaceWithKnots extends IfcBSplineSurfaceWithKnots { + constructor(expressID, UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec, WeightsData) { + super(expressID, UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec); + this.UDegree = UDegree; + this.VDegree = VDegree; + this.ControlPointsList = ControlPointsList; + this.SurfaceForm = SurfaceForm; + this.UClosed = UClosed; + this.VClosed = VClosed; + this.SelfIntersect = SelfIntersect; + this.UMultiplicities = UMultiplicities; + this.VMultiplicities = VMultiplicities; + this.UKnots = UKnots; + this.VKnots = VKnots; + this.KnotSpec = KnotSpec; + this.WeightsData = WeightsData; + this.type = 683857671; + } + } + IFC42.IfcRationalBSplineSurfaceWithKnots = IfcRationalBSplineSurfaceWithKnots; + class IfcReinforcingElement extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.type = 3027567501; + } + } + IFC42.IfcReinforcingElement = IfcReinforcingElement; + class IfcReinforcingElementType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 964333572; + } + } + IFC42.IfcReinforcingElementType = IfcReinforcingElementType; + class IfcReinforcingMesh extends IfcReinforcingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.MeshLength = MeshLength; + this.MeshWidth = MeshWidth; + this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter; + this.TransverseBarNominalDiameter = TransverseBarNominalDiameter; + this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea; + this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea; + this.LongitudinalBarSpacing = LongitudinalBarSpacing; + this.TransverseBarSpacing = TransverseBarSpacing; + this.PredefinedType = PredefinedType; + this.type = 2320036040; + } + } + IFC42.IfcReinforcingMesh = IfcReinforcingMesh; + class IfcReinforcingMeshType extends IfcReinforcingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing, BendingShapeCode, BendingParameters) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.MeshLength = MeshLength; + this.MeshWidth = MeshWidth; + this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter; + this.TransverseBarNominalDiameter = TransverseBarNominalDiameter; + this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea; + this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea; + this.LongitudinalBarSpacing = LongitudinalBarSpacing; + this.TransverseBarSpacing = TransverseBarSpacing; + this.BendingShapeCode = BendingShapeCode; + this.BendingParameters = BendingParameters; + this.type = 2310774935; + } + } + IFC42.IfcReinforcingMeshType = IfcReinforcingMeshType; + class IfcRelAggregates extends IfcRelDecomposes { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingObject = RelatingObject; + this.RelatedObjects = RelatedObjects; + this.type = 160246688; + } + } + IFC42.IfcRelAggregates = IfcRelAggregates; + class IfcRoofType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2781568857; + } + } + IFC42.IfcRoofType = IfcRoofType; + class IfcSanitaryTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1768891740; + } + } + IFC42.IfcSanitaryTerminalType = IfcSanitaryTerminalType; + class IfcSeamCurve extends IfcSurfaceCurve { + constructor(expressID, Curve3D, AssociatedGeometry, MasterRepresentation) { + super(expressID, Curve3D, AssociatedGeometry, MasterRepresentation); + this.Curve3D = Curve3D; + this.AssociatedGeometry = AssociatedGeometry; + this.MasterRepresentation = MasterRepresentation; + this.type = 2157484638; + } + } + IFC42.IfcSeamCurve = IfcSeamCurve; + class IfcShadingDeviceType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4074543187; + } + } + IFC42.IfcShadingDeviceType = IfcShadingDeviceType; + class IfcSite extends IfcSpatialStructureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, RefLatitude, RefLongitude, RefElevation, LandTitleNumber, SiteAddress) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.RefLatitude = RefLatitude; + this.RefLongitude = RefLongitude; + this.RefElevation = RefElevation; + this.LandTitleNumber = LandTitleNumber; + this.SiteAddress = SiteAddress; + this.type = 4097777520; + } + } + IFC42.IfcSite = IfcSite; + class IfcSlabType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2533589738; + } + } + IFC42.IfcSlabType = IfcSlabType; + class IfcSolarDeviceType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1072016465; + } + } + IFC42.IfcSolarDeviceType = IfcSolarDeviceType; + class IfcSpace extends IfcSpatialStructureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType, ElevationWithFlooring) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.PredefinedType = PredefinedType; + this.ElevationWithFlooring = ElevationWithFlooring; + this.type = 3856911033; + } + } + IFC42.IfcSpace = IfcSpace; + class IfcSpaceHeaterType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1305183839; + } + } + IFC42.IfcSpaceHeaterType = IfcSpaceHeaterType; + class IfcSpaceType extends IfcSpatialStructureElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, LongName) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.LongName = LongName; + this.type = 3812236995; + } + } + IFC42.IfcSpaceType = IfcSpaceType; + class IfcStackTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3112655638; + } + } + IFC42.IfcStackTerminalType = IfcStackTerminalType; + class IfcStairFlightType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1039846685; + } + } + IFC42.IfcStairFlightType = IfcStairFlightType; + class IfcStairType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 338393293; + } + } + IFC42.IfcStairType = IfcStairType; + class IfcStructuralAction extends IfcStructuralActivity { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.type = 682877961; + } + } + IFC42.IfcStructuralAction = IfcStructuralAction; + class IfcStructuralConnection extends IfcStructuralItem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.type = 1179482911; + } + } + IFC42.IfcStructuralConnection = IfcStructuralConnection; + class IfcStructuralCurveAction extends IfcStructuralAction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.ProjectedOrTrue = ProjectedOrTrue; + this.PredefinedType = PredefinedType; + this.type = 1004757350; + } + } + IFC42.IfcStructuralCurveAction = IfcStructuralCurveAction; + class IfcStructuralCurveConnection extends IfcStructuralConnection { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition, Axis) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.Axis = Axis; + this.type = 4243806635; + } + } + IFC42.IfcStructuralCurveConnection = IfcStructuralCurveConnection; + class IfcStructuralCurveMember extends IfcStructuralMember { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Axis = Axis; + this.type = 214636428; + } + } + IFC42.IfcStructuralCurveMember = IfcStructuralCurveMember; + class IfcStructuralCurveMemberVarying extends IfcStructuralCurveMember { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Axis = Axis; + this.type = 2445595289; + } + } + IFC42.IfcStructuralCurveMemberVarying = IfcStructuralCurveMemberVarying; + class IfcStructuralCurveReaction extends IfcStructuralReaction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.PredefinedType = PredefinedType; + this.type = 2757150158; + } + } + IFC42.IfcStructuralCurveReaction = IfcStructuralCurveReaction; + class IfcStructuralLinearAction extends IfcStructuralCurveAction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.ProjectedOrTrue = ProjectedOrTrue; + this.PredefinedType = PredefinedType; + this.type = 1807405624; + } + } + IFC42.IfcStructuralLinearAction = IfcStructuralLinearAction; + class IfcStructuralLoadGroup extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.ActionType = ActionType; + this.ActionSource = ActionSource; + this.Coefficient = Coefficient; + this.Purpose = Purpose; + this.type = 1252848954; + } + } + IFC42.IfcStructuralLoadGroup = IfcStructuralLoadGroup; + class IfcStructuralPointAction extends IfcStructuralAction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.type = 2082059205; + } + } + IFC42.IfcStructuralPointAction = IfcStructuralPointAction; + class IfcStructuralPointConnection extends IfcStructuralConnection { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition, ConditionCoordinateSystem) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.ConditionCoordinateSystem = ConditionCoordinateSystem; + this.type = 734778138; + } + } + IFC42.IfcStructuralPointConnection = IfcStructuralPointConnection; + class IfcStructuralPointReaction extends IfcStructuralReaction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 1235345126; + } + } + IFC42.IfcStructuralPointReaction = IfcStructuralPointReaction; + class IfcStructuralResultGroup extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TheoryType, ResultForLoadGroup, IsLinear) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheoryType = TheoryType; + this.ResultForLoadGroup = ResultForLoadGroup; + this.IsLinear = IsLinear; + this.type = 2986769608; + } + } + IFC42.IfcStructuralResultGroup = IfcStructuralResultGroup; + class IfcStructuralSurfaceAction extends IfcStructuralAction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.ProjectedOrTrue = ProjectedOrTrue; + this.PredefinedType = PredefinedType; + this.type = 3657597509; + } + } + IFC42.IfcStructuralSurfaceAction = IfcStructuralSurfaceAction; + class IfcStructuralSurfaceConnection extends IfcStructuralConnection { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.type = 1975003073; + } + } + IFC42.IfcStructuralSurfaceConnection = IfcStructuralSurfaceConnection; + class IfcSubContractResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 148013059; + } + } + IFC42.IfcSubContractResource = IfcSubContractResource; + class IfcSurfaceFeature extends IfcFeatureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3101698114; + } + } + IFC42.IfcSurfaceFeature = IfcSurfaceFeature; + class IfcSwitchingDeviceType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2315554128; + } + } + IFC42.IfcSwitchingDeviceType = IfcSwitchingDeviceType; + class IfcSystem extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2254336722; + } + } + IFC42.IfcSystem = IfcSystem; + class IfcSystemFurnitureElement extends IfcFurnishingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 413509423; + } + } + IFC42.IfcSystemFurnitureElement = IfcSystemFurnitureElement; + class IfcTankType extends IfcFlowStorageDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 5716631; + } + } + IFC42.IfcTankType = IfcTankType; + class IfcTendon extends IfcReinforcingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType, NominalDiameter, CrossSectionArea, TensionForce, PreStress, FrictionCoefficient, AnchorageSlip, MinCurvatureRadius) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.TensionForce = TensionForce; + this.PreStress = PreStress; + this.FrictionCoefficient = FrictionCoefficient; + this.AnchorageSlip = AnchorageSlip; + this.MinCurvatureRadius = MinCurvatureRadius; + this.type = 3824725483; + } + } + IFC42.IfcTendon = IfcTendon; + class IfcTendonAnchor extends IfcReinforcingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.PredefinedType = PredefinedType; + this.type = 2347447852; + } + } + IFC42.IfcTendonAnchor = IfcTendonAnchor; + class IfcTendonAnchorType extends IfcReinforcingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3081323446; + } + } + IFC42.IfcTendonAnchorType = IfcTendonAnchorType; + class IfcTendonType extends IfcReinforcingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, CrossSectionArea, SheathDiameter) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.SheathDiameter = SheathDiameter; + this.type = 2415094496; + } + } + IFC42.IfcTendonType = IfcTendonType; + class IfcTransformerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1692211062; + } + } + IFC42.IfcTransformerType = IfcTransformerType; + class IfcTransportElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1620046519; + } + } + IFC42.IfcTransportElement = IfcTransportElement; + class IfcTrimmedCurve extends IfcBoundedCurve { + constructor(expressID, BasisCurve, Trim1, Trim2, SenseAgreement, MasterRepresentation) { + super(expressID); + this.BasisCurve = BasisCurve; + this.Trim1 = Trim1; + this.Trim2 = Trim2; + this.SenseAgreement = SenseAgreement; + this.MasterRepresentation = MasterRepresentation; + this.type = 3593883385; + } + } + IFC42.IfcTrimmedCurve = IfcTrimmedCurve; + class IfcTubeBundleType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1600972822; + } + } + IFC42.IfcTubeBundleType = IfcTubeBundleType; + class IfcUnitaryEquipmentType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1911125066; + } + } + IFC42.IfcUnitaryEquipmentType = IfcUnitaryEquipmentType; + class IfcValveType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 728799441; + } + } + IFC42.IfcValveType = IfcValveType; + class IfcVibrationIsolator extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2391383451; + } + } + IFC42.IfcVibrationIsolator = IfcVibrationIsolator; + class IfcVibrationIsolatorType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3313531582; + } + } + IFC42.IfcVibrationIsolatorType = IfcVibrationIsolatorType; + class IfcVirtualElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2769231204; + } + } + IFC42.IfcVirtualElement = IfcVirtualElement; + class IfcVoidingFeature extends IfcFeatureElementSubtraction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 926996030; + } + } + IFC42.IfcVoidingFeature = IfcVoidingFeature; + class IfcWallType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1898987631; + } + } + IFC42.IfcWallType = IfcWallType; + class IfcWasteTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1133259667; + } + } + IFC42.IfcWasteTerminalType = IfcWasteTerminalType; + class IfcWindowType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, PartitioningType, ParameterTakesPrecedence, UserDefinedPartitioningType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.PartitioningType = PartitioningType; + this.ParameterTakesPrecedence = ParameterTakesPrecedence; + this.UserDefinedPartitioningType = UserDefinedPartitioningType; + this.type = 4009809668; + } + } + IFC42.IfcWindowType = IfcWindowType; + class IfcWorkCalendar extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, WorkingTimes, ExceptionTimes, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.WorkingTimes = WorkingTimes; + this.ExceptionTimes = ExceptionTimes; + this.PredefinedType = PredefinedType; + this.type = 4088093105; + } + } + IFC42.IfcWorkCalendar = IfcWorkCalendar; + class IfcWorkControl extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.type = 1028945134; + } + } + IFC42.IfcWorkControl = IfcWorkControl; + class IfcWorkPlan extends IfcWorkControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.PredefinedType = PredefinedType; + this.type = 4218914973; + } + } + IFC42.IfcWorkPlan = IfcWorkPlan; + class IfcWorkSchedule extends IfcWorkControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.PredefinedType = PredefinedType; + this.type = 3342526732; + } + } + IFC42.IfcWorkSchedule = IfcWorkSchedule; + class IfcZone extends IfcSystem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.type = 1033361043; + } + } + IFC42.IfcZone = IfcZone; + class IfcActionRequest extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.LongDescription = LongDescription; + this.type = 3821786052; + } + } + IFC42.IfcActionRequest = IfcActionRequest; + class IfcAirTerminalBoxType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1411407467; + } + } + IFC42.IfcAirTerminalBoxType = IfcAirTerminalBoxType; + class IfcAirTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3352864051; + } + } + IFC42.IfcAirTerminalType = IfcAirTerminalType; + class IfcAirToAirHeatRecoveryType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1871374353; + } + } + IFC42.IfcAirToAirHeatRecoveryType = IfcAirToAirHeatRecoveryType; + class IfcAsset extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, OriginalValue, CurrentValue, TotalReplacementCost, Owner, User, ResponsiblePerson, IncorporationDate, DepreciatedValue) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.OriginalValue = OriginalValue; + this.CurrentValue = CurrentValue; + this.TotalReplacementCost = TotalReplacementCost; + this.Owner = Owner; + this.User = User; + this.ResponsiblePerson = ResponsiblePerson; + this.IncorporationDate = IncorporationDate; + this.DepreciatedValue = DepreciatedValue; + this.type = 3460190687; + } + } + IFC42.IfcAsset = IfcAsset; + class IfcAudioVisualApplianceType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1532957894; + } + } + IFC42.IfcAudioVisualApplianceType = IfcAudioVisualApplianceType; + class IfcBSplineCurve extends IfcBoundedCurve { + constructor(expressID, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect) { + super(expressID); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.type = 1967976161; + } + } + IFC42.IfcBSplineCurve = IfcBSplineCurve; + class IfcBSplineCurveWithKnots extends IfcBSplineCurve { + constructor(expressID, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec) { + super(expressID, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.KnotMultiplicities = KnotMultiplicities; + this.Knots = Knots; + this.KnotSpec = KnotSpec; + this.type = 2461110595; + } + } + IFC42.IfcBSplineCurveWithKnots = IfcBSplineCurveWithKnots; + class IfcBeamType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 819618141; + } + } + IFC42.IfcBeamType = IfcBeamType; + class IfcBoilerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 231477066; + } + } + IFC42.IfcBoilerType = IfcBoilerType; + class IfcBoundaryCurve extends IfcCompositeCurveOnSurface { + constructor(expressID, Segments, SelfIntersect) { + super(expressID, Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 1136057603; + } + } + IFC42.IfcBoundaryCurve = IfcBoundaryCurve; + class IfcBuildingElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3299480353; + } + } + IFC42.IfcBuildingElement = IfcBuildingElement; + class IfcBuildingElementPart extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2979338954; + } + } + IFC42.IfcBuildingElementPart = IfcBuildingElementPart; + class IfcBuildingElementPartType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 39481116; + } + } + IFC42.IfcBuildingElementPartType = IfcBuildingElementPartType; + class IfcBuildingElementProxy extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1095909175; + } + } + IFC42.IfcBuildingElementProxy = IfcBuildingElementProxy; + class IfcBuildingElementProxyType extends IfcBuildingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1909888760; + } + } + IFC42.IfcBuildingElementProxyType = IfcBuildingElementProxyType; + class IfcBuildingSystem extends IfcSystem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, LongName) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.LongName = LongName; + this.type = 1177604601; + } + } + IFC42.IfcBuildingSystem = IfcBuildingSystem; + class IfcBurnerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2188180465; + } + } + IFC42.IfcBurnerType = IfcBurnerType; + class IfcCableCarrierFittingType extends IfcFlowFittingType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 395041908; + } + } + IFC42.IfcCableCarrierFittingType = IfcCableCarrierFittingType; + class IfcCableCarrierSegmentType extends IfcFlowSegmentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3293546465; + } + } + IFC42.IfcCableCarrierSegmentType = IfcCableCarrierSegmentType; + class IfcCableFittingType extends IfcFlowFittingType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2674252688; + } + } + IFC42.IfcCableFittingType = IfcCableFittingType; + class IfcCableSegmentType extends IfcFlowSegmentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1285652485; + } + } + IFC42.IfcCableSegmentType = IfcCableSegmentType; + class IfcChillerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2951183804; + } + } + IFC42.IfcChillerType = IfcChillerType; + class IfcChimney extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3296154744; + } + } + IFC42.IfcChimney = IfcChimney; + class IfcCircle extends IfcConic { + constructor(expressID, Position, Radius) { + super(expressID, Position); + this.Position = Position; + this.Radius = Radius; + this.type = 2611217952; + } + } + IFC42.IfcCircle = IfcCircle; + class IfcCivilElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1677625105; + } + } + IFC42.IfcCivilElement = IfcCivilElement; + class IfcCoilType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2301859152; + } + } + IFC42.IfcCoilType = IfcCoilType; + class IfcColumn extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 843113511; + } + } + IFC42.IfcColumn = IfcColumn; + class IfcColumnStandardCase extends IfcColumn { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 905975707; + } + } + IFC42.IfcColumnStandardCase = IfcColumnStandardCase; + class IfcCommunicationsApplianceType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 400855858; + } + } + IFC42.IfcCommunicationsApplianceType = IfcCommunicationsApplianceType; + class IfcCompressorType extends IfcFlowMovingDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3850581409; + } + } + IFC42.IfcCompressorType = IfcCompressorType; + class IfcCondenserType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2816379211; + } + } + IFC42.IfcCondenserType = IfcCondenserType; + class IfcConstructionEquipmentResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 3898045240; + } + } + IFC42.IfcConstructionEquipmentResource = IfcConstructionEquipmentResource; + class IfcConstructionMaterialResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 1060000209; + } + } + IFC42.IfcConstructionMaterialResource = IfcConstructionMaterialResource; + class IfcConstructionProductResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 488727124; + } + } + IFC42.IfcConstructionProductResource = IfcConstructionProductResource; + class IfcCooledBeamType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 335055490; + } + } + IFC42.IfcCooledBeamType = IfcCooledBeamType; + class IfcCoolingTowerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2954562838; + } + } + IFC42.IfcCoolingTowerType = IfcCoolingTowerType; + class IfcCovering extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1973544240; + } + } + IFC42.IfcCovering = IfcCovering; + class IfcCurtainWall extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3495092785; + } + } + IFC42.IfcCurtainWall = IfcCurtainWall; + class IfcDamperType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3961806047; + } + } + IFC42.IfcDamperType = IfcDamperType; + class IfcDiscreteAccessory extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1335981549; + } + } + IFC42.IfcDiscreteAccessory = IfcDiscreteAccessory; + class IfcDiscreteAccessoryType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2635815018; + } + } + IFC42.IfcDiscreteAccessoryType = IfcDiscreteAccessoryType; + class IfcDistributionChamberElementType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1599208980; + } + } + IFC42.IfcDistributionChamberElementType = IfcDistributionChamberElementType; + class IfcDistributionControlElementType extends IfcDistributionElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2063403501; + } + } + IFC42.IfcDistributionControlElementType = IfcDistributionControlElementType; + class IfcDistributionElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1945004755; + } + } + IFC42.IfcDistributionElement = IfcDistributionElement; + class IfcDistributionFlowElement extends IfcDistributionElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3040386961; + } + } + IFC42.IfcDistributionFlowElement = IfcDistributionFlowElement; + class IfcDistributionPort extends IfcPort { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, FlowDirection, PredefinedType, SystemType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.FlowDirection = FlowDirection; + this.PredefinedType = PredefinedType; + this.SystemType = SystemType; + this.type = 3041715199; + } + } + IFC42.IfcDistributionPort = IfcDistributionPort; + class IfcDistributionSystem extends IfcSystem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.PredefinedType = PredefinedType; + this.type = 3205830791; + } + } + IFC42.IfcDistributionSystem = IfcDistributionSystem; + class IfcDoor extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, OperationType, UserDefinedOperationType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OverallHeight = OverallHeight; + this.OverallWidth = OverallWidth; + this.PredefinedType = PredefinedType; + this.OperationType = OperationType; + this.UserDefinedOperationType = UserDefinedOperationType; + this.type = 395920057; + } + } + IFC42.IfcDoor = IfcDoor; + class IfcDoorStandardCase extends IfcDoor { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, OperationType, UserDefinedOperationType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, OperationType, UserDefinedOperationType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OverallHeight = OverallHeight; + this.OverallWidth = OverallWidth; + this.PredefinedType = PredefinedType; + this.OperationType = OperationType; + this.UserDefinedOperationType = UserDefinedOperationType; + this.type = 3242481149; + } + } + IFC42.IfcDoorStandardCase = IfcDoorStandardCase; + class IfcDuctFittingType extends IfcFlowFittingType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 869906466; + } + } + IFC42.IfcDuctFittingType = IfcDuctFittingType; + class IfcDuctSegmentType extends IfcFlowSegmentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3760055223; + } + } + IFC42.IfcDuctSegmentType = IfcDuctSegmentType; + class IfcDuctSilencerType extends IfcFlowTreatmentDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2030761528; + } + } + IFC42.IfcDuctSilencerType = IfcDuctSilencerType; + class IfcElectricApplianceType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 663422040; + } + } + IFC42.IfcElectricApplianceType = IfcElectricApplianceType; + class IfcElectricDistributionBoardType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2417008758; + } + } + IFC42.IfcElectricDistributionBoardType = IfcElectricDistributionBoardType; + class IfcElectricFlowStorageDeviceType extends IfcFlowStorageDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3277789161; + } + } + IFC42.IfcElectricFlowStorageDeviceType = IfcElectricFlowStorageDeviceType; + class IfcElectricGeneratorType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1534661035; + } + } + IFC42.IfcElectricGeneratorType = IfcElectricGeneratorType; + class IfcElectricMotorType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1217240411; + } + } + IFC42.IfcElectricMotorType = IfcElectricMotorType; + class IfcElectricTimeControlType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 712377611; + } + } + IFC42.IfcElectricTimeControlType = IfcElectricTimeControlType; + class IfcEnergyConversionDevice extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1658829314; + } + } + IFC42.IfcEnergyConversionDevice = IfcEnergyConversionDevice; + class IfcEngine extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2814081492; + } + } + IFC42.IfcEngine = IfcEngine; + class IfcEvaporativeCooler extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3747195512; + } + } + IFC42.IfcEvaporativeCooler = IfcEvaporativeCooler; + class IfcEvaporator extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 484807127; + } + } + IFC42.IfcEvaporator = IfcEvaporator; + class IfcExternalSpatialElement extends IfcExternalSpatialStructureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.PredefinedType = PredefinedType; + this.type = 1209101575; + } + } + IFC42.IfcExternalSpatialElement = IfcExternalSpatialElement; + class IfcFanType extends IfcFlowMovingDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 346874300; + } + } + IFC42.IfcFanType = IfcFanType; + class IfcFilterType extends IfcFlowTreatmentDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1810631287; + } + } + IFC42.IfcFilterType = IfcFilterType; + class IfcFireSuppressionTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4222183408; + } + } + IFC42.IfcFireSuppressionTerminalType = IfcFireSuppressionTerminalType; + class IfcFlowController extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2058353004; + } + } + IFC42.IfcFlowController = IfcFlowController; + class IfcFlowFitting extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 4278956645; + } + } + IFC42.IfcFlowFitting = IfcFlowFitting; + class IfcFlowInstrumentType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4037862832; + } + } + IFC42.IfcFlowInstrumentType = IfcFlowInstrumentType; + class IfcFlowMeter extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2188021234; + } + } + IFC42.IfcFlowMeter = IfcFlowMeter; + class IfcFlowMovingDevice extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3132237377; + } + } + IFC42.IfcFlowMovingDevice = IfcFlowMovingDevice; + class IfcFlowSegment extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 987401354; + } + } + IFC42.IfcFlowSegment = IfcFlowSegment; + class IfcFlowStorageDevice extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 707683696; + } + } + IFC42.IfcFlowStorageDevice = IfcFlowStorageDevice; + class IfcFlowTerminal extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2223149337; + } + } + IFC42.IfcFlowTerminal = IfcFlowTerminal; + class IfcFlowTreatmentDevice extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3508470533; + } + } + IFC42.IfcFlowTreatmentDevice = IfcFlowTreatmentDevice; + class IfcFooting extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 900683007; + } + } + IFC42.IfcFooting = IfcFooting; + class IfcHeatExchanger extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3319311131; + } + } + IFC42.IfcHeatExchanger = IfcHeatExchanger; + class IfcHumidifier extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2068733104; + } + } + IFC42.IfcHumidifier = IfcHumidifier; + class IfcInterceptor extends IfcFlowTreatmentDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4175244083; + } + } + IFC42.IfcInterceptor = IfcInterceptor; + class IfcJunctionBox extends IfcFlowFitting { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2176052936; + } + } + IFC42.IfcJunctionBox = IfcJunctionBox; + class IfcLamp extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 76236018; + } + } + IFC42.IfcLamp = IfcLamp; + class IfcLightFixture extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 629592764; + } + } + IFC42.IfcLightFixture = IfcLightFixture; + class IfcMedicalDevice extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1437502449; + } + } + IFC42.IfcMedicalDevice = IfcMedicalDevice; + class IfcMember extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1073191201; + } + } + IFC42.IfcMember = IfcMember; + class IfcMemberStandardCase extends IfcMember { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1911478936; + } + } + IFC42.IfcMemberStandardCase = IfcMemberStandardCase; + class IfcMotorConnection extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2474470126; + } + } + IFC42.IfcMotorConnection = IfcMotorConnection; + class IfcOuterBoundaryCurve extends IfcBoundaryCurve { + constructor(expressID, Segments, SelfIntersect) { + super(expressID, Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 144952367; + } + } + IFC42.IfcOuterBoundaryCurve = IfcOuterBoundaryCurve; + class IfcOutlet extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3694346114; + } + } + IFC42.IfcOutlet = IfcOutlet; + class IfcPile extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType, ConstructionType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.ConstructionType = ConstructionType; + this.type = 1687234759; + } + } + IFC42.IfcPile = IfcPile; + class IfcPipeFitting extends IfcFlowFitting { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 310824031; + } + } + IFC42.IfcPipeFitting = IfcPipeFitting; + class IfcPipeSegment extends IfcFlowSegment { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3612865200; + } + } + IFC42.IfcPipeSegment = IfcPipeSegment; + class IfcPlate extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3171933400; + } + } + IFC42.IfcPlate = IfcPlate; + class IfcPlateStandardCase extends IfcPlate { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1156407060; + } + } + IFC42.IfcPlateStandardCase = IfcPlateStandardCase; + class IfcProtectiveDevice extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 738039164; + } + } + IFC42.IfcProtectiveDevice = IfcProtectiveDevice; + class IfcProtectiveDeviceTrippingUnitType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 655969474; + } + } + IFC42.IfcProtectiveDeviceTrippingUnitType = IfcProtectiveDeviceTrippingUnitType; + class IfcPump extends IfcFlowMovingDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 90941305; + } + } + IFC42.IfcPump = IfcPump; + class IfcRailing extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2262370178; + } + } + IFC42.IfcRailing = IfcRailing; + class IfcRamp extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3024970846; + } + } + IFC42.IfcRamp = IfcRamp; + class IfcRampFlight extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3283111854; + } + } + IFC42.IfcRampFlight = IfcRampFlight; + class IfcRationalBSplineCurveWithKnots extends IfcBSplineCurveWithKnots { + constructor(expressID, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec, WeightsData) { + super(expressID, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.KnotMultiplicities = KnotMultiplicities; + this.Knots = Knots; + this.KnotSpec = KnotSpec; + this.WeightsData = WeightsData; + this.type = 1232101972; + } + } + IFC42.IfcRationalBSplineCurveWithKnots = IfcRationalBSplineCurveWithKnots; + class IfcReinforcingBar extends IfcReinforcingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, NominalDiameter, CrossSectionArea, BarLength, PredefinedType, BarSurface) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.BarLength = BarLength; + this.PredefinedType = PredefinedType; + this.BarSurface = BarSurface; + this.type = 979691226; + } + } + IFC42.IfcReinforcingBar = IfcReinforcingBar; + class IfcReinforcingBarType extends IfcReinforcingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, CrossSectionArea, BarLength, BarSurface, BendingShapeCode, BendingParameters) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.BarLength = BarLength; + this.BarSurface = BarSurface; + this.BendingShapeCode = BendingShapeCode; + this.BendingParameters = BendingParameters; + this.type = 2572171363; + } + } + IFC42.IfcReinforcingBarType = IfcReinforcingBarType; + class IfcRoof extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2016517767; + } + } + IFC42.IfcRoof = IfcRoof; + class IfcSanitaryTerminal extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3053780830; + } + } + IFC42.IfcSanitaryTerminal = IfcSanitaryTerminal; + class IfcSensorType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1783015770; + } + } + IFC42.IfcSensorType = IfcSensorType; + class IfcShadingDevice extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1329646415; + } + } + IFC42.IfcShadingDevice = IfcShadingDevice; + class IfcSlab extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1529196076; + } + } + IFC42.IfcSlab = IfcSlab; + class IfcSlabElementedCase extends IfcSlab { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3127900445; + } + } + IFC42.IfcSlabElementedCase = IfcSlabElementedCase; + class IfcSlabStandardCase extends IfcSlab { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3027962421; + } + } + IFC42.IfcSlabStandardCase = IfcSlabStandardCase; + class IfcSolarDevice extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3420628829; + } + } + IFC42.IfcSolarDevice = IfcSolarDevice; + class IfcSpaceHeater extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1999602285; + } + } + IFC42.IfcSpaceHeater = IfcSpaceHeater; + class IfcStackTerminal extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1404847402; + } + } + IFC42.IfcStackTerminal = IfcStackTerminal; + class IfcStair extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 331165859; + } + } + IFC42.IfcStair = IfcStair; + class IfcStairFlight extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NumberOfRisers, NumberOfTreads, RiserHeight, TreadLength, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.NumberOfRisers = NumberOfRisers; + this.NumberOfTreads = NumberOfTreads; + this.RiserHeight = RiserHeight; + this.TreadLength = TreadLength; + this.PredefinedType = PredefinedType; + this.type = 4252922144; + } + } + IFC42.IfcStairFlight = IfcStairFlight; + class IfcStructuralAnalysisModel extends IfcSystem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, OrientationOf2DPlane, LoadedBy, HasResults, SharedPlacement) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.OrientationOf2DPlane = OrientationOf2DPlane; + this.LoadedBy = LoadedBy; + this.HasResults = HasResults; + this.SharedPlacement = SharedPlacement; + this.type = 2515109513; + } + } + IFC42.IfcStructuralAnalysisModel = IfcStructuralAnalysisModel; + class IfcStructuralLoadCase extends IfcStructuralLoadGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose, SelfWeightCoefficients) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.ActionType = ActionType; + this.ActionSource = ActionSource; + this.Coefficient = Coefficient; + this.Purpose = Purpose; + this.SelfWeightCoefficients = SelfWeightCoefficients; + this.type = 385403989; + } + } + IFC42.IfcStructuralLoadCase = IfcStructuralLoadCase; + class IfcStructuralPlanarAction extends IfcStructuralSurfaceAction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.ProjectedOrTrue = ProjectedOrTrue; + this.PredefinedType = PredefinedType; + this.type = 1621171031; + } + } + IFC42.IfcStructuralPlanarAction = IfcStructuralPlanarAction; + class IfcSwitchingDevice extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1162798199; + } + } + IFC42.IfcSwitchingDevice = IfcSwitchingDevice; + class IfcTank extends IfcFlowStorageDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 812556717; + } + } + IFC42.IfcTank = IfcTank; + class IfcTransformer extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3825984169; + } + } + IFC42.IfcTransformer = IfcTransformer; + class IfcTubeBundle extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3026737570; + } + } + IFC42.IfcTubeBundle = IfcTubeBundle; + class IfcUnitaryControlElementType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3179687236; + } + } + IFC42.IfcUnitaryControlElementType = IfcUnitaryControlElementType; + class IfcUnitaryEquipment extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4292641817; + } + } + IFC42.IfcUnitaryEquipment = IfcUnitaryEquipment; + class IfcValve extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4207607924; + } + } + IFC42.IfcValve = IfcValve; + class IfcWall extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2391406946; + } + } + IFC42.IfcWall = IfcWall; + class IfcWallElementedCase extends IfcWall { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4156078855; + } + } + IFC42.IfcWallElementedCase = IfcWallElementedCase; + class IfcWallStandardCase extends IfcWall { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3512223829; + } + } + IFC42.IfcWallStandardCase = IfcWallStandardCase; + class IfcWasteTerminal extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4237592921; + } + } + IFC42.IfcWasteTerminal = IfcWasteTerminal; + class IfcWindow extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, PartitioningType, UserDefinedPartitioningType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OverallHeight = OverallHeight; + this.OverallWidth = OverallWidth; + this.PredefinedType = PredefinedType; + this.PartitioningType = PartitioningType; + this.UserDefinedPartitioningType = UserDefinedPartitioningType; + this.type = 3304561284; + } + } + IFC42.IfcWindow = IfcWindow; + class IfcWindowStandardCase extends IfcWindow { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, PartitioningType, UserDefinedPartitioningType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, PartitioningType, UserDefinedPartitioningType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OverallHeight = OverallHeight; + this.OverallWidth = OverallWidth; + this.PredefinedType = PredefinedType; + this.PartitioningType = PartitioningType; + this.UserDefinedPartitioningType = UserDefinedPartitioningType; + this.type = 486154966; + } + } + IFC42.IfcWindowStandardCase = IfcWindowStandardCase; + class IfcActuatorType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2874132201; + } + } + IFC42.IfcActuatorType = IfcActuatorType; + class IfcAirTerminal extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1634111441; + } + } + IFC42.IfcAirTerminal = IfcAirTerminal; + class IfcAirTerminalBox extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 177149247; + } + } + IFC42.IfcAirTerminalBox = IfcAirTerminalBox; + class IfcAirToAirHeatRecovery extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2056796094; + } + } + IFC42.IfcAirToAirHeatRecovery = IfcAirToAirHeatRecovery; + class IfcAlarmType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3001207471; + } + } + IFC42.IfcAlarmType = IfcAlarmType; + class IfcAudioVisualAppliance extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 277319702; + } + } + IFC42.IfcAudioVisualAppliance = IfcAudioVisualAppliance; + class IfcBeam extends IfcBuildingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 753842376; + } + } + IFC42.IfcBeam = IfcBeam; + class IfcBeamStandardCase extends IfcBeam { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2906023776; + } + } + IFC42.IfcBeamStandardCase = IfcBeamStandardCase; + class IfcBoiler extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 32344328; + } + } + IFC42.IfcBoiler = IfcBoiler; + class IfcBurner extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2938176219; + } + } + IFC42.IfcBurner = IfcBurner; + class IfcCableCarrierFitting extends IfcFlowFitting { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 635142910; + } + } + IFC42.IfcCableCarrierFitting = IfcCableCarrierFitting; + class IfcCableCarrierSegment extends IfcFlowSegment { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3758799889; + } + } + IFC42.IfcCableCarrierSegment = IfcCableCarrierSegment; + class IfcCableFitting extends IfcFlowFitting { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1051757585; + } + } + IFC42.IfcCableFitting = IfcCableFitting; + class IfcCableSegment extends IfcFlowSegment { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4217484030; + } + } + IFC42.IfcCableSegment = IfcCableSegment; + class IfcChiller extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3902619387; + } + } + IFC42.IfcChiller = IfcChiller; + class IfcCoil extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 639361253; + } + } + IFC42.IfcCoil = IfcCoil; + class IfcCommunicationsAppliance extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3221913625; + } + } + IFC42.IfcCommunicationsAppliance = IfcCommunicationsAppliance; + class IfcCompressor extends IfcFlowMovingDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3571504051; + } + } + IFC42.IfcCompressor = IfcCompressor; + class IfcCondenser extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2272882330; + } + } + IFC42.IfcCondenser = IfcCondenser; + class IfcControllerType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 578613899; + } + } + IFC42.IfcControllerType = IfcControllerType; + class IfcCooledBeam extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4136498852; + } + } + IFC42.IfcCooledBeam = IfcCooledBeam; + class IfcCoolingTower extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3640358203; + } + } + IFC42.IfcCoolingTower = IfcCoolingTower; + class IfcDamper extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4074379575; + } + } + IFC42.IfcDamper = IfcDamper; + class IfcDistributionChamberElement extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1052013943; + } + } + IFC42.IfcDistributionChamberElement = IfcDistributionChamberElement; + class IfcDistributionCircuit extends IfcDistributionSystem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.PredefinedType = PredefinedType; + this.type = 562808652; + } + } + IFC42.IfcDistributionCircuit = IfcDistributionCircuit; + class IfcDistributionControlElement extends IfcDistributionElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1062813311; + } + } + IFC42.IfcDistributionControlElement = IfcDistributionControlElement; + class IfcDuctFitting extends IfcFlowFitting { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 342316401; + } + } + IFC42.IfcDuctFitting = IfcDuctFitting; + class IfcDuctSegment extends IfcFlowSegment { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3518393246; + } + } + IFC42.IfcDuctSegment = IfcDuctSegment; + class IfcDuctSilencer extends IfcFlowTreatmentDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1360408905; + } + } + IFC42.IfcDuctSilencer = IfcDuctSilencer; + class IfcElectricAppliance extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1904799276; + } + } + IFC42.IfcElectricAppliance = IfcElectricAppliance; + class IfcElectricDistributionBoard extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 862014818; + } + } + IFC42.IfcElectricDistributionBoard = IfcElectricDistributionBoard; + class IfcElectricFlowStorageDevice extends IfcFlowStorageDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3310460725; + } + } + IFC42.IfcElectricFlowStorageDevice = IfcElectricFlowStorageDevice; + class IfcElectricGenerator extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 264262732; + } + } + IFC42.IfcElectricGenerator = IfcElectricGenerator; + class IfcElectricMotor extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 402227799; + } + } + IFC42.IfcElectricMotor = IfcElectricMotor; + class IfcElectricTimeControl extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1003880860; + } + } + IFC42.IfcElectricTimeControl = IfcElectricTimeControl; + class IfcFan extends IfcFlowMovingDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3415622556; + } + } + IFC42.IfcFan = IfcFan; + class IfcFilter extends IfcFlowTreatmentDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 819412036; + } + } + IFC42.IfcFilter = IfcFilter; + class IfcFireSuppressionTerminal extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1426591983; + } + } + IFC42.IfcFireSuppressionTerminal = IfcFireSuppressionTerminal; + class IfcFlowInstrument extends IfcDistributionControlElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 182646315; + } + } + IFC42.IfcFlowInstrument = IfcFlowInstrument; + class IfcProtectiveDeviceTrippingUnit extends IfcDistributionControlElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2295281155; + } + } + IFC42.IfcProtectiveDeviceTrippingUnit = IfcProtectiveDeviceTrippingUnit; + class IfcSensor extends IfcDistributionControlElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4086658281; + } + } + IFC42.IfcSensor = IfcSensor; + class IfcUnitaryControlElement extends IfcDistributionControlElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 630975310; + } + } + IFC42.IfcUnitaryControlElement = IfcUnitaryControlElement; + class IfcActuator extends IfcDistributionControlElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4288193352; + } + } + IFC42.IfcActuator = IfcActuator; + class IfcAlarm extends IfcDistributionControlElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3087945054; + } + } + IFC42.IfcAlarm = IfcAlarm; + class IfcController extends IfcDistributionControlElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 25142252; + } + } + IFC42.IfcController = IfcController; +})(IFC4 || (IFC4 = {})); +var IFC4X3; +(function(IFC4X32) { + class IfcAbsorbedDoseMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcAbsorbedDoseMeasure = IfcAbsorbedDoseMeasure; + class IfcAccelerationMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcAccelerationMeasure = IfcAccelerationMeasure; + class IfcAmountOfSubstanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcAmountOfSubstanceMeasure = IfcAmountOfSubstanceMeasure; + class IfcAngularVelocityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcAngularVelocityMeasure = IfcAngularVelocityMeasure; + class IfcArcIndex { + constructor(value) { + this.value = value; + } + } + IFC4X32.IfcArcIndex = IfcArcIndex; + class IfcAreaDensityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcAreaDensityMeasure = IfcAreaDensityMeasure; + class IfcAreaMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcAreaMeasure = IfcAreaMeasure; + class IfcBinary { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcBinary = IfcBinary; + class IfcBoolean { + constructor(v) { + this.type = 3; + this.value = v == "true" ? true : false; + } + } + IFC4X32.IfcBoolean = IfcBoolean; + class IfcBoxAlignment { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcBoxAlignment = IfcBoxAlignment; + class IfcCardinalPointReference { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcCardinalPointReference = IfcCardinalPointReference; + class IfcComplexNumber { + constructor(value) { + this.value = value; + } + } + IFC4X32.IfcComplexNumber = IfcComplexNumber; + class IfcCompoundPlaneAngleMeasure { + constructor(value) { + this.value = value; + } + } + IFC4X32.IfcCompoundPlaneAngleMeasure = IfcCompoundPlaneAngleMeasure; + class IfcContextDependentMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcContextDependentMeasure = IfcContextDependentMeasure; + class IfcCountMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcCountMeasure = IfcCountMeasure; + class IfcCurvatureMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcCurvatureMeasure = IfcCurvatureMeasure; + class IfcDate { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcDate = IfcDate; + class IfcDateTime { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcDateTime = IfcDateTime; + class IfcDayInMonthNumber { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcDayInMonthNumber = IfcDayInMonthNumber; + class IfcDayInWeekNumber { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcDayInWeekNumber = IfcDayInWeekNumber; + class IfcDescriptiveMeasure { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcDescriptiveMeasure = IfcDescriptiveMeasure; + class IfcDimensionCount { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcDimensionCount = IfcDimensionCount; + class IfcDoseEquivalentMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcDoseEquivalentMeasure = IfcDoseEquivalentMeasure; + class IfcDuration { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcDuration = IfcDuration; + class IfcDynamicViscosityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcDynamicViscosityMeasure = IfcDynamicViscosityMeasure; + class IfcElectricCapacitanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcElectricCapacitanceMeasure = IfcElectricCapacitanceMeasure; + class IfcElectricChargeMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcElectricChargeMeasure = IfcElectricChargeMeasure; + class IfcElectricConductanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcElectricConductanceMeasure = IfcElectricConductanceMeasure; + class IfcElectricCurrentMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcElectricCurrentMeasure = IfcElectricCurrentMeasure; + class IfcElectricResistanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcElectricResistanceMeasure = IfcElectricResistanceMeasure; + class IfcElectricVoltageMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcElectricVoltageMeasure = IfcElectricVoltageMeasure; + class IfcEnergyMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcEnergyMeasure = IfcEnergyMeasure; + class IfcFontStyle { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcFontStyle = IfcFontStyle; + class IfcFontVariant { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcFontVariant = IfcFontVariant; + class IfcFontWeight { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcFontWeight = IfcFontWeight; + class IfcForceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcForceMeasure = IfcForceMeasure; + class IfcFrequencyMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcFrequencyMeasure = IfcFrequencyMeasure; + class IfcGloballyUniqueId { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcGloballyUniqueId = IfcGloballyUniqueId; + class IfcHeatFluxDensityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcHeatFluxDensityMeasure = IfcHeatFluxDensityMeasure; + class IfcHeatingValueMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcHeatingValueMeasure = IfcHeatingValueMeasure; + class IfcIdentifier { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcIdentifier = IfcIdentifier; + class IfcIlluminanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcIlluminanceMeasure = IfcIlluminanceMeasure; + class IfcInductanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcInductanceMeasure = IfcInductanceMeasure; + class IfcInteger { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcInteger = IfcInteger; + class IfcIntegerCountRateMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcIntegerCountRateMeasure = IfcIntegerCountRateMeasure; + class IfcIonConcentrationMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcIonConcentrationMeasure = IfcIonConcentrationMeasure; + class IfcIsothermalMoistureCapacityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcIsothermalMoistureCapacityMeasure = IfcIsothermalMoistureCapacityMeasure; + class IfcKinematicViscosityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcKinematicViscosityMeasure = IfcKinematicViscosityMeasure; + class IfcLabel { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcLabel = IfcLabel; + class IfcLanguageId { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcLanguageId = IfcLanguageId; + class IfcLengthMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcLengthMeasure = IfcLengthMeasure; + class IfcLineIndex { + constructor(value) { + this.value = value; + } + } + IFC4X32.IfcLineIndex = IfcLineIndex; + class IfcLinearForceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcLinearForceMeasure = IfcLinearForceMeasure; + class IfcLinearMomentMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcLinearMomentMeasure = IfcLinearMomentMeasure; + class IfcLinearStiffnessMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcLinearStiffnessMeasure = IfcLinearStiffnessMeasure; + class IfcLinearVelocityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcLinearVelocityMeasure = IfcLinearVelocityMeasure; + class IfcLogical { + constructor(v) { + this.type = 3; + this.value = v == "true" ? true : false; + } + } + IFC4X32.IfcLogical = IfcLogical; + class IfcLuminousFluxMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcLuminousFluxMeasure = IfcLuminousFluxMeasure; + class IfcLuminousIntensityDistributionMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcLuminousIntensityDistributionMeasure = IfcLuminousIntensityDistributionMeasure; + class IfcLuminousIntensityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcLuminousIntensityMeasure = IfcLuminousIntensityMeasure; + class IfcMagneticFluxDensityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcMagneticFluxDensityMeasure = IfcMagneticFluxDensityMeasure; + class IfcMagneticFluxMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcMagneticFluxMeasure = IfcMagneticFluxMeasure; + class IfcMassDensityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcMassDensityMeasure = IfcMassDensityMeasure; + class IfcMassFlowRateMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcMassFlowRateMeasure = IfcMassFlowRateMeasure; + class IfcMassMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcMassMeasure = IfcMassMeasure; + class IfcMassPerLengthMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcMassPerLengthMeasure = IfcMassPerLengthMeasure; + class IfcModulusOfElasticityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcModulusOfElasticityMeasure = IfcModulusOfElasticityMeasure; + class IfcModulusOfLinearSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcModulusOfLinearSubgradeReactionMeasure = IfcModulusOfLinearSubgradeReactionMeasure; + class IfcModulusOfRotationalSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcModulusOfRotationalSubgradeReactionMeasure = IfcModulusOfRotationalSubgradeReactionMeasure; + class IfcModulusOfSubgradeReactionMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcModulusOfSubgradeReactionMeasure = IfcModulusOfSubgradeReactionMeasure; + class IfcMoistureDiffusivityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcMoistureDiffusivityMeasure = IfcMoistureDiffusivityMeasure; + class IfcMolecularWeightMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcMolecularWeightMeasure = IfcMolecularWeightMeasure; + class IfcMomentOfInertiaMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcMomentOfInertiaMeasure = IfcMomentOfInertiaMeasure; + class IfcMonetaryMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcMonetaryMeasure = IfcMonetaryMeasure; + class IfcMonthInYearNumber { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcMonthInYearNumber = IfcMonthInYearNumber; + class IfcNonNegativeLengthMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcNonNegativeLengthMeasure = IfcNonNegativeLengthMeasure; + class IfcNormalisedRatioMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcNormalisedRatioMeasure = IfcNormalisedRatioMeasure; + class IfcNumericMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcNumericMeasure = IfcNumericMeasure; + class IfcPHMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcPHMeasure = IfcPHMeasure; + class IfcParameterValue { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcParameterValue = IfcParameterValue; + class IfcPlanarForceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcPlanarForceMeasure = IfcPlanarForceMeasure; + class IfcPlaneAngleMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcPlaneAngleMeasure = IfcPlaneAngleMeasure; + class IfcPositiveInteger { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcPositiveInteger = IfcPositiveInteger; + class IfcPositiveLengthMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcPositiveLengthMeasure = IfcPositiveLengthMeasure; + class IfcPositivePlaneAngleMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcPositivePlaneAngleMeasure = IfcPositivePlaneAngleMeasure; + class IfcPositiveRatioMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcPositiveRatioMeasure = IfcPositiveRatioMeasure; + class IfcPowerMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcPowerMeasure = IfcPowerMeasure; + class IfcPresentableText { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcPresentableText = IfcPresentableText; + class IfcPressureMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcPressureMeasure = IfcPressureMeasure; + class IfcPropertySetDefinitionSet { + constructor(value) { + this.value = value; + } + } + IFC4X32.IfcPropertySetDefinitionSet = IfcPropertySetDefinitionSet; + class IfcRadioActivityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcRadioActivityMeasure = IfcRadioActivityMeasure; + class IfcRatioMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcRatioMeasure = IfcRatioMeasure; + class IfcReal { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcReal = IfcReal; + class IfcRotationalFrequencyMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcRotationalFrequencyMeasure = IfcRotationalFrequencyMeasure; + class IfcRotationalMassMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcRotationalMassMeasure = IfcRotationalMassMeasure; + class IfcRotationalStiffnessMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcRotationalStiffnessMeasure = IfcRotationalStiffnessMeasure; + class IfcSectionModulusMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcSectionModulusMeasure = IfcSectionModulusMeasure; + class IfcSectionalAreaIntegralMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcSectionalAreaIntegralMeasure = IfcSectionalAreaIntegralMeasure; + class IfcShearModulusMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcShearModulusMeasure = IfcShearModulusMeasure; + class IfcSolidAngleMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcSolidAngleMeasure = IfcSolidAngleMeasure; + class IfcSoundPowerLevelMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcSoundPowerLevelMeasure = IfcSoundPowerLevelMeasure; + class IfcSoundPowerMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcSoundPowerMeasure = IfcSoundPowerMeasure; + class IfcSoundPressureLevelMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcSoundPressureLevelMeasure = IfcSoundPressureLevelMeasure; + class IfcSoundPressureMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcSoundPressureMeasure = IfcSoundPressureMeasure; + class IfcSpecificHeatCapacityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcSpecificHeatCapacityMeasure = IfcSpecificHeatCapacityMeasure; + class IfcSpecularExponent { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcSpecularExponent = IfcSpecularExponent; + class IfcSpecularRoughness { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcSpecularRoughness = IfcSpecularRoughness; + class IfcTemperatureGradientMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcTemperatureGradientMeasure = IfcTemperatureGradientMeasure; + class IfcTemperatureRateOfChangeMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcTemperatureRateOfChangeMeasure = IfcTemperatureRateOfChangeMeasure; + class IfcText { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcText = IfcText; + class IfcTextAlignment { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcTextAlignment = IfcTextAlignment; + class IfcTextDecoration { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcTextDecoration = IfcTextDecoration; + class IfcTextFontName { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcTextFontName = IfcTextFontName; + class IfcTextTransformation { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcTextTransformation = IfcTextTransformation; + class IfcThermalAdmittanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcThermalAdmittanceMeasure = IfcThermalAdmittanceMeasure; + class IfcThermalConductivityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcThermalConductivityMeasure = IfcThermalConductivityMeasure; + class IfcThermalExpansionCoefficientMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcThermalExpansionCoefficientMeasure = IfcThermalExpansionCoefficientMeasure; + class IfcThermalResistanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcThermalResistanceMeasure = IfcThermalResistanceMeasure; + class IfcThermalTransmittanceMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcThermalTransmittanceMeasure = IfcThermalTransmittanceMeasure; + class IfcThermodynamicTemperatureMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcThermodynamicTemperatureMeasure = IfcThermodynamicTemperatureMeasure; + class IfcTime { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcTime = IfcTime; + class IfcTimeMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcTimeMeasure = IfcTimeMeasure; + class IfcTimeStamp { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcTimeStamp = IfcTimeStamp; + class IfcTorqueMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcTorqueMeasure = IfcTorqueMeasure; + class IfcURIReference { + constructor(value) { + this.value = value; + this.type = 1; + } + } + IFC4X32.IfcURIReference = IfcURIReference; + class IfcVaporPermeabilityMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcVaporPermeabilityMeasure = IfcVaporPermeabilityMeasure; + class IfcVolumeMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcVolumeMeasure = IfcVolumeMeasure; + class IfcVolumetricFlowRateMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcVolumetricFlowRateMeasure = IfcVolumetricFlowRateMeasure; + class IfcWarpingConstantMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcWarpingConstantMeasure = IfcWarpingConstantMeasure; + class IfcWarpingMomentMeasure { + constructor(v) { + this.type = 4; + this.value = parseFloat(v); + } + } + IFC4X32.IfcWarpingMomentMeasure = IfcWarpingMomentMeasure; + class IfcActionRequestTypeEnum { + } + IfcActionRequestTypeEnum.EMAIL = { type: 3, value: "EMAIL" }; + IfcActionRequestTypeEnum.FAX = { type: 3, value: "FAX" }; + IfcActionRequestTypeEnum.PHONE = { type: 3, value: "PHONE" }; + IfcActionRequestTypeEnum.POST = { type: 3, value: "POST" }; + IfcActionRequestTypeEnum.VERBAL = { type: 3, value: "VERBAL" }; + IfcActionRequestTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActionRequestTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcActionRequestTypeEnum = IfcActionRequestTypeEnum; + class IfcActionSourceTypeEnum { + } + IfcActionSourceTypeEnum.BRAKES = { type: 3, value: "BRAKES" }; + IfcActionSourceTypeEnum.BUOYANCY = { type: 3, value: "BUOYANCY" }; + IfcActionSourceTypeEnum.COMPLETION_G1 = { type: 3, value: "COMPLETION_G1" }; + IfcActionSourceTypeEnum.CREEP = { type: 3, value: "CREEP" }; + IfcActionSourceTypeEnum.CURRENT = { type: 3, value: "CURRENT" }; + IfcActionSourceTypeEnum.DEAD_LOAD_G = { type: 3, value: "DEAD_LOAD_G" }; + IfcActionSourceTypeEnum.EARTHQUAKE_E = { type: 3, value: "EARTHQUAKE_E" }; + IfcActionSourceTypeEnum.ERECTION = { type: 3, value: "ERECTION" }; + IfcActionSourceTypeEnum.FIRE = { type: 3, value: "FIRE" }; + IfcActionSourceTypeEnum.ICE = { type: 3, value: "ICE" }; + IfcActionSourceTypeEnum.IMPACT = { type: 3, value: "IMPACT" }; + IfcActionSourceTypeEnum.IMPULSE = { type: 3, value: "IMPULSE" }; + IfcActionSourceTypeEnum.LACK_OF_FIT = { type: 3, value: "LACK_OF_FIT" }; + IfcActionSourceTypeEnum.LIVE_LOAD_Q = { type: 3, value: "LIVE_LOAD_Q" }; + IfcActionSourceTypeEnum.PRESTRESSING_P = { type: 3, value: "PRESTRESSING_P" }; + IfcActionSourceTypeEnum.PROPPING = { type: 3, value: "PROPPING" }; + IfcActionSourceTypeEnum.RAIN = { type: 3, value: "RAIN" }; + IfcActionSourceTypeEnum.SETTLEMENT_U = { type: 3, value: "SETTLEMENT_U" }; + IfcActionSourceTypeEnum.SHRINKAGE = { type: 3, value: "SHRINKAGE" }; + IfcActionSourceTypeEnum.SNOW_S = { type: 3, value: "SNOW_S" }; + IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION = { type: 3, value: "SYSTEM_IMPERFECTION" }; + IfcActionSourceTypeEnum.TEMPERATURE_T = { type: 3, value: "TEMPERATURE_T" }; + IfcActionSourceTypeEnum.TRANSPORT = { type: 3, value: "TRANSPORT" }; + IfcActionSourceTypeEnum.WAVE = { type: 3, value: "WAVE" }; + IfcActionSourceTypeEnum.WIND_W = { type: 3, value: "WIND_W" }; + IfcActionSourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActionSourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcActionSourceTypeEnum = IfcActionSourceTypeEnum; + class IfcActionTypeEnum { + } + IfcActionTypeEnum.EXTRAORDINARY_A = { type: 3, value: "EXTRAORDINARY_A" }; + IfcActionTypeEnum.PERMANENT_G = { type: 3, value: "PERMANENT_G" }; + IfcActionTypeEnum.VARIABLE_Q = { type: 3, value: "VARIABLE_Q" }; + IfcActionTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcActionTypeEnum = IfcActionTypeEnum; + class IfcActuatorTypeEnum { + } + IfcActuatorTypeEnum.ELECTRICACTUATOR = { type: 3, value: "ELECTRICACTUATOR" }; + IfcActuatorTypeEnum.HANDOPERATEDACTUATOR = { type: 3, value: "HANDOPERATEDACTUATOR" }; + IfcActuatorTypeEnum.HYDRAULICACTUATOR = { type: 3, value: "HYDRAULICACTUATOR" }; + IfcActuatorTypeEnum.PNEUMATICACTUATOR = { type: 3, value: "PNEUMATICACTUATOR" }; + IfcActuatorTypeEnum.THERMOSTATICACTUATOR = { type: 3, value: "THERMOSTATICACTUATOR" }; + IfcActuatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcActuatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcActuatorTypeEnum = IfcActuatorTypeEnum; + class IfcAddressTypeEnum { + } + IfcAddressTypeEnum.DISTRIBUTIONPOINT = { type: 3, value: "DISTRIBUTIONPOINT" }; + IfcAddressTypeEnum.HOME = { type: 3, value: "HOME" }; + IfcAddressTypeEnum.OFFICE = { type: 3, value: "OFFICE" }; + IfcAddressTypeEnum.SITE = { type: 3, value: "SITE" }; + IfcAddressTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC4X32.IfcAddressTypeEnum = IfcAddressTypeEnum; + class IfcAirTerminalBoxTypeEnum { + } + IfcAirTerminalBoxTypeEnum.CONSTANTFLOW = { type: 3, value: "CONSTANTFLOW" }; + IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREDEPENDANT" }; + IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREINDEPENDANT" }; + IfcAirTerminalBoxTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirTerminalBoxTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAirTerminalBoxTypeEnum = IfcAirTerminalBoxTypeEnum; + class IfcAirTerminalTypeEnum { + } + IfcAirTerminalTypeEnum.DIFFUSER = { type: 3, value: "DIFFUSER" }; + IfcAirTerminalTypeEnum.GRILLE = { type: 3, value: "GRILLE" }; + IfcAirTerminalTypeEnum.LOUVRE = { type: 3, value: "LOUVRE" }; + IfcAirTerminalTypeEnum.REGISTER = { type: 3, value: "REGISTER" }; + IfcAirTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAirTerminalTypeEnum = IfcAirTerminalTypeEnum; + class IfcAirToAirHeatRecoveryTypeEnum { + } + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECOUNTERFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECROSSFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER = { type: 3, value: "FIXEDPLATEPARALLELFLOWEXCHANGER" }; + IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE = { type: 3, value: "HEATPIPE" }; + IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL = { type: 3, value: "ROTARYWHEEL" }; + IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP = { type: 3, value: "RUNAROUNDCOILLOOP" }; + IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONCOILTYPEHEATEXCHANGERS" }; + IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONSEALEDTUBEHEATEXCHANGERS" }; + IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS = { type: 3, value: "TWINTOWERENTHALPYRECOVERYLOOPS" }; + IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAirToAirHeatRecoveryTypeEnum = IfcAirToAirHeatRecoveryTypeEnum; + class IfcAlarmTypeEnum { + } + IfcAlarmTypeEnum.BELL = { type: 3, value: "BELL" }; + IfcAlarmTypeEnum.BREAKGLASSBUTTON = { type: 3, value: "BREAKGLASSBUTTON" }; + IfcAlarmTypeEnum.LIGHT = { type: 3, value: "LIGHT" }; + IfcAlarmTypeEnum.MANUALPULLBOX = { type: 3, value: "MANUALPULLBOX" }; + IfcAlarmTypeEnum.RAILWAYCROCODILE = { type: 3, value: "RAILWAYCROCODILE" }; + IfcAlarmTypeEnum.RAILWAYDETONATOR = { type: 3, value: "RAILWAYDETONATOR" }; + IfcAlarmTypeEnum.SIREN = { type: 3, value: "SIREN" }; + IfcAlarmTypeEnum.WHISTLE = { type: 3, value: "WHISTLE" }; + IfcAlarmTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAlarmTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAlarmTypeEnum = IfcAlarmTypeEnum; + class IfcAlignmentCantSegmentTypeEnum { + } + IfcAlignmentCantSegmentTypeEnum.BLOSSCURVE = { type: 3, value: "BLOSSCURVE" }; + IfcAlignmentCantSegmentTypeEnum.CONSTANTCANT = { type: 3, value: "CONSTANTCANT" }; + IfcAlignmentCantSegmentTypeEnum.COSINECURVE = { type: 3, value: "COSINECURVE" }; + IfcAlignmentCantSegmentTypeEnum.HELMERTCURVE = { type: 3, value: "HELMERTCURVE" }; + IfcAlignmentCantSegmentTypeEnum.LINEARTRANSITION = { type: 3, value: "LINEARTRANSITION" }; + IfcAlignmentCantSegmentTypeEnum.SINECURVE = { type: 3, value: "SINECURVE" }; + IfcAlignmentCantSegmentTypeEnum.VIENNESEBEND = { type: 3, value: "VIENNESEBEND" }; + IFC4X32.IfcAlignmentCantSegmentTypeEnum = IfcAlignmentCantSegmentTypeEnum; + class IfcAlignmentHorizontalSegmentTypeEnum { + } + IfcAlignmentHorizontalSegmentTypeEnum.BLOSSCURVE = { type: 3, value: "BLOSSCURVE" }; + IfcAlignmentHorizontalSegmentTypeEnum.CIRCULARARC = { type: 3, value: "CIRCULARARC" }; + IfcAlignmentHorizontalSegmentTypeEnum.CLOTHOID = { type: 3, value: "CLOTHOID" }; + IfcAlignmentHorizontalSegmentTypeEnum.COSINECURVE = { type: 3, value: "COSINECURVE" }; + IfcAlignmentHorizontalSegmentTypeEnum.CUBIC = { type: 3, value: "CUBIC" }; + IfcAlignmentHorizontalSegmentTypeEnum.HELMERTCURVE = { type: 3, value: "HELMERTCURVE" }; + IfcAlignmentHorizontalSegmentTypeEnum.LINE = { type: 3, value: "LINE" }; + IfcAlignmentHorizontalSegmentTypeEnum.SINECURVE = { type: 3, value: "SINECURVE" }; + IfcAlignmentHorizontalSegmentTypeEnum.VIENNESEBEND = { type: 3, value: "VIENNESEBEND" }; + IFC4X32.IfcAlignmentHorizontalSegmentTypeEnum = IfcAlignmentHorizontalSegmentTypeEnum; + class IfcAlignmentTypeEnum { + } + IfcAlignmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAlignmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAlignmentTypeEnum = IfcAlignmentTypeEnum; + class IfcAlignmentVerticalSegmentTypeEnum { + } + IfcAlignmentVerticalSegmentTypeEnum.CIRCULARARC = { type: 3, value: "CIRCULARARC" }; + IfcAlignmentVerticalSegmentTypeEnum.CLOTHOID = { type: 3, value: "CLOTHOID" }; + IfcAlignmentVerticalSegmentTypeEnum.CONSTANTGRADIENT = { type: 3, value: "CONSTANTGRADIENT" }; + IfcAlignmentVerticalSegmentTypeEnum.PARABOLICARC = { type: 3, value: "PARABOLICARC" }; + IFC4X32.IfcAlignmentVerticalSegmentTypeEnum = IfcAlignmentVerticalSegmentTypeEnum; + class IfcAnalysisModelTypeEnum { + } + IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D = { type: 3, value: "IN_PLANE_LOADING_2D" }; + IfcAnalysisModelTypeEnum.LOADING_3D = { type: 3, value: "LOADING_3D" }; + IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D = { type: 3, value: "OUT_PLANE_LOADING_2D" }; + IfcAnalysisModelTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAnalysisModelTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAnalysisModelTypeEnum = IfcAnalysisModelTypeEnum; + class IfcAnalysisTheoryTypeEnum { + } + IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY = { type: 3, value: "FIRST_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY = { type: 3, value: "FULL_NONLINEAR_THEORY" }; + IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY = { type: 3, value: "SECOND_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY = { type: 3, value: "THIRD_ORDER_THEORY" }; + IfcAnalysisTheoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAnalysisTheoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAnalysisTheoryTypeEnum = IfcAnalysisTheoryTypeEnum; + class IfcAnnotationTypeEnum { + } + IfcAnnotationTypeEnum.ASBUILTAREA = { type: 3, value: "ASBUILTAREA" }; + IfcAnnotationTypeEnum.ASBUILTLINE = { type: 3, value: "ASBUILTLINE" }; + IfcAnnotationTypeEnum.ASBUILTPOINT = { type: 3, value: "ASBUILTPOINT" }; + IfcAnnotationTypeEnum.ASSUMEDAREA = { type: 3, value: "ASSUMEDAREA" }; + IfcAnnotationTypeEnum.ASSUMEDLINE = { type: 3, value: "ASSUMEDLINE" }; + IfcAnnotationTypeEnum.ASSUMEDPOINT = { type: 3, value: "ASSUMEDPOINT" }; + IfcAnnotationTypeEnum.NON_PHYSICAL_SIGNAL = { type: 3, value: "NON_PHYSICAL_SIGNAL" }; + IfcAnnotationTypeEnum.SUPERELEVATIONEVENT = { type: 3, value: "SUPERELEVATIONEVENT" }; + IfcAnnotationTypeEnum.WIDTHEVENT = { type: 3, value: "WIDTHEVENT" }; + IfcAnnotationTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAnnotationTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAnnotationTypeEnum = IfcAnnotationTypeEnum; + class IfcArithmeticOperatorEnum { + } + IfcArithmeticOperatorEnum.ADD = { type: 3, value: "ADD" }; + IfcArithmeticOperatorEnum.DIVIDE = { type: 3, value: "DIVIDE" }; + IfcArithmeticOperatorEnum.MULTIPLY = { type: 3, value: "MULTIPLY" }; + IfcArithmeticOperatorEnum.SUBTRACT = { type: 3, value: "SUBTRACT" }; + IFC4X32.IfcArithmeticOperatorEnum = IfcArithmeticOperatorEnum; + class IfcAssemblyPlaceEnum { + } + IfcAssemblyPlaceEnum.FACTORY = { type: 3, value: "FACTORY" }; + IfcAssemblyPlaceEnum.SITE = { type: 3, value: "SITE" }; + IfcAssemblyPlaceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAssemblyPlaceEnum = IfcAssemblyPlaceEnum; + class IfcAudioVisualApplianceTypeEnum { + } + IfcAudioVisualApplianceTypeEnum.AMPLIFIER = { type: 3, value: "AMPLIFIER" }; + IfcAudioVisualApplianceTypeEnum.CAMERA = { type: 3, value: "CAMERA" }; + IfcAudioVisualApplianceTypeEnum.COMMUNICATIONTERMINAL = { type: 3, value: "COMMUNICATIONTERMINAL" }; + IfcAudioVisualApplianceTypeEnum.DISPLAY = { type: 3, value: "DISPLAY" }; + IfcAudioVisualApplianceTypeEnum.MICROPHONE = { type: 3, value: "MICROPHONE" }; + IfcAudioVisualApplianceTypeEnum.PLAYER = { type: 3, value: "PLAYER" }; + IfcAudioVisualApplianceTypeEnum.PROJECTOR = { type: 3, value: "PROJECTOR" }; + IfcAudioVisualApplianceTypeEnum.RECEIVER = { type: 3, value: "RECEIVER" }; + IfcAudioVisualApplianceTypeEnum.RECORDINGEQUIPMENT = { type: 3, value: "RECORDINGEQUIPMENT" }; + IfcAudioVisualApplianceTypeEnum.SPEAKER = { type: 3, value: "SPEAKER" }; + IfcAudioVisualApplianceTypeEnum.SWITCHER = { type: 3, value: "SWITCHER" }; + IfcAudioVisualApplianceTypeEnum.TELEPHONE = { type: 3, value: "TELEPHONE" }; + IfcAudioVisualApplianceTypeEnum.TUNER = { type: 3, value: "TUNER" }; + IfcAudioVisualApplianceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcAudioVisualApplianceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcAudioVisualApplianceTypeEnum = IfcAudioVisualApplianceTypeEnum; + class IfcBSplineCurveForm { + } + IfcBSplineCurveForm.CIRCULAR_ARC = { type: 3, value: "CIRCULAR_ARC" }; + IfcBSplineCurveForm.ELLIPTIC_ARC = { type: 3, value: "ELLIPTIC_ARC" }; + IfcBSplineCurveForm.HYPERBOLIC_ARC = { type: 3, value: "HYPERBOLIC_ARC" }; + IfcBSplineCurveForm.PARABOLIC_ARC = { type: 3, value: "PARABOLIC_ARC" }; + IfcBSplineCurveForm.POLYLINE_FORM = { type: 3, value: "POLYLINE_FORM" }; + IfcBSplineCurveForm.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC4X32.IfcBSplineCurveForm = IfcBSplineCurveForm; + class IfcBSplineSurfaceForm { + } + IfcBSplineSurfaceForm.CONICAL_SURF = { type: 3, value: "CONICAL_SURF" }; + IfcBSplineSurfaceForm.CYLINDRICAL_SURF = { type: 3, value: "CYLINDRICAL_SURF" }; + IfcBSplineSurfaceForm.GENERALISED_CONE = { type: 3, value: "GENERALISED_CONE" }; + IfcBSplineSurfaceForm.PLANE_SURF = { type: 3, value: "PLANE_SURF" }; + IfcBSplineSurfaceForm.QUADRIC_SURF = { type: 3, value: "QUADRIC_SURF" }; + IfcBSplineSurfaceForm.RULED_SURF = { type: 3, value: "RULED_SURF" }; + IfcBSplineSurfaceForm.SPHERICAL_SURF = { type: 3, value: "SPHERICAL_SURF" }; + IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION = { type: 3, value: "SURF_OF_LINEAR_EXTRUSION" }; + IfcBSplineSurfaceForm.SURF_OF_REVOLUTION = { type: 3, value: "SURF_OF_REVOLUTION" }; + IfcBSplineSurfaceForm.TOROIDAL_SURF = { type: 3, value: "TOROIDAL_SURF" }; + IfcBSplineSurfaceForm.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC4X32.IfcBSplineSurfaceForm = IfcBSplineSurfaceForm; + class IfcBeamTypeEnum { + } + IfcBeamTypeEnum.BEAM = { type: 3, value: "BEAM" }; + IfcBeamTypeEnum.CORNICE = { type: 3, value: "CORNICE" }; + IfcBeamTypeEnum.DIAPHRAGM = { type: 3, value: "DIAPHRAGM" }; + IfcBeamTypeEnum.EDGEBEAM = { type: 3, value: "EDGEBEAM" }; + IfcBeamTypeEnum.GIRDER_SEGMENT = { type: 3, value: "GIRDER_SEGMENT" }; + IfcBeamTypeEnum.HATSTONE = { type: 3, value: "HATSTONE" }; + IfcBeamTypeEnum.HOLLOWCORE = { type: 3, value: "HOLLOWCORE" }; + IfcBeamTypeEnum.JOIST = { type: 3, value: "JOIST" }; + IfcBeamTypeEnum.LINTEL = { type: 3, value: "LINTEL" }; + IfcBeamTypeEnum.PIERCAP = { type: 3, value: "PIERCAP" }; + IfcBeamTypeEnum.SPANDREL = { type: 3, value: "SPANDREL" }; + IfcBeamTypeEnum.T_BEAM = { type: 3, value: "T_BEAM" }; + IfcBeamTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBeamTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBeamTypeEnum = IfcBeamTypeEnum; + class IfcBearingTypeDisplacementEnum { + } + IfcBearingTypeDisplacementEnum.FIXED_MOVEMENT = { type: 3, value: "FIXED_MOVEMENT" }; + IfcBearingTypeDisplacementEnum.FREE_MOVEMENT = { type: 3, value: "FREE_MOVEMENT" }; + IfcBearingTypeDisplacementEnum.GUIDED_LONGITUDINAL = { type: 3, value: "GUIDED_LONGITUDINAL" }; + IfcBearingTypeDisplacementEnum.GUIDED_TRANSVERSAL = { type: 3, value: "GUIDED_TRANSVERSAL" }; + IfcBearingTypeDisplacementEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBearingTypeDisplacementEnum = IfcBearingTypeDisplacementEnum; + class IfcBearingTypeEnum { + } + IfcBearingTypeEnum.CYLINDRICAL = { type: 3, value: "CYLINDRICAL" }; + IfcBearingTypeEnum.DISK = { type: 3, value: "DISK" }; + IfcBearingTypeEnum.ELASTOMERIC = { type: 3, value: "ELASTOMERIC" }; + IfcBearingTypeEnum.GUIDE = { type: 3, value: "GUIDE" }; + IfcBearingTypeEnum.POT = { type: 3, value: "POT" }; + IfcBearingTypeEnum.ROCKER = { type: 3, value: "ROCKER" }; + IfcBearingTypeEnum.ROLLER = { type: 3, value: "ROLLER" }; + IfcBearingTypeEnum.SPHERICAL = { type: 3, value: "SPHERICAL" }; + IfcBearingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBearingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBearingTypeEnum = IfcBearingTypeEnum; + class IfcBenchmarkEnum { + } + IfcBenchmarkEnum.EQUALTO = { type: 3, value: "EQUALTO" }; + IfcBenchmarkEnum.GREATERTHAN = { type: 3, value: "GREATERTHAN" }; + IfcBenchmarkEnum.GREATERTHANOREQUALTO = { type: 3, value: "GREATERTHANOREQUALTO" }; + IfcBenchmarkEnum.INCLUDEDIN = { type: 3, value: "INCLUDEDIN" }; + IfcBenchmarkEnum.INCLUDES = { type: 3, value: "INCLUDES" }; + IfcBenchmarkEnum.LESSTHAN = { type: 3, value: "LESSTHAN" }; + IfcBenchmarkEnum.LESSTHANOREQUALTO = { type: 3, value: "LESSTHANOREQUALTO" }; + IfcBenchmarkEnum.NOTEQUALTO = { type: 3, value: "NOTEQUALTO" }; + IfcBenchmarkEnum.NOTINCLUDEDIN = { type: 3, value: "NOTINCLUDEDIN" }; + IfcBenchmarkEnum.NOTINCLUDES = { type: 3, value: "NOTINCLUDES" }; + IFC4X32.IfcBenchmarkEnum = IfcBenchmarkEnum; + class IfcBoilerTypeEnum { + } + IfcBoilerTypeEnum.STEAM = { type: 3, value: "STEAM" }; + IfcBoilerTypeEnum.WATER = { type: 3, value: "WATER" }; + IfcBoilerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBoilerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBoilerTypeEnum = IfcBoilerTypeEnum; + class IfcBooleanOperator { + } + IfcBooleanOperator.DIFFERENCE = { type: 3, value: "DIFFERENCE" }; + IfcBooleanOperator.INTERSECTION = { type: 3, value: "INTERSECTION" }; + IfcBooleanOperator.UNION = { type: 3, value: "UNION" }; + IFC4X32.IfcBooleanOperator = IfcBooleanOperator; + class IfcBridgePartTypeEnum { + } + IfcBridgePartTypeEnum.ABUTMENT = { type: 3, value: "ABUTMENT" }; + IfcBridgePartTypeEnum.DECK = { type: 3, value: "DECK" }; + IfcBridgePartTypeEnum.DECK_SEGMENT = { type: 3, value: "DECK_SEGMENT" }; + IfcBridgePartTypeEnum.FOUNDATION = { type: 3, value: "FOUNDATION" }; + IfcBridgePartTypeEnum.PIER = { type: 3, value: "PIER" }; + IfcBridgePartTypeEnum.PIER_SEGMENT = { type: 3, value: "PIER_SEGMENT" }; + IfcBridgePartTypeEnum.PYLON = { type: 3, value: "PYLON" }; + IfcBridgePartTypeEnum.SUBSTRUCTURE = { type: 3, value: "SUBSTRUCTURE" }; + IfcBridgePartTypeEnum.SUPERSTRUCTURE = { type: 3, value: "SUPERSTRUCTURE" }; + IfcBridgePartTypeEnum.SURFACESTRUCTURE = { type: 3, value: "SURFACESTRUCTURE" }; + IfcBridgePartTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBridgePartTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBridgePartTypeEnum = IfcBridgePartTypeEnum; + class IfcBridgeTypeEnum { + } + IfcBridgeTypeEnum.ARCHED = { type: 3, value: "ARCHED" }; + IfcBridgeTypeEnum.CABLE_STAYED = { type: 3, value: "CABLE_STAYED" }; + IfcBridgeTypeEnum.CANTILEVER = { type: 3, value: "CANTILEVER" }; + IfcBridgeTypeEnum.CULVERT = { type: 3, value: "CULVERT" }; + IfcBridgeTypeEnum.FRAMEWORK = { type: 3, value: "FRAMEWORK" }; + IfcBridgeTypeEnum.GIRDER = { type: 3, value: "GIRDER" }; + IfcBridgeTypeEnum.SUSPENSION = { type: 3, value: "SUSPENSION" }; + IfcBridgeTypeEnum.TRUSS = { type: 3, value: "TRUSS" }; + IfcBridgeTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBridgeTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBridgeTypeEnum = IfcBridgeTypeEnum; + class IfcBuildingElementPartTypeEnum { + } + IfcBuildingElementPartTypeEnum.APRON = { type: 3, value: "APRON" }; + IfcBuildingElementPartTypeEnum.ARMOURUNIT = { type: 3, value: "ARMOURUNIT" }; + IfcBuildingElementPartTypeEnum.INSULATION = { type: 3, value: "INSULATION" }; + IfcBuildingElementPartTypeEnum.PRECASTPANEL = { type: 3, value: "PRECASTPANEL" }; + IfcBuildingElementPartTypeEnum.SAFETYCAGE = { type: 3, value: "SAFETYCAGE" }; + IfcBuildingElementPartTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBuildingElementPartTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBuildingElementPartTypeEnum = IfcBuildingElementPartTypeEnum; + class IfcBuildingElementProxyTypeEnum { + } + IfcBuildingElementProxyTypeEnum.COMPLEX = { type: 3, value: "COMPLEX" }; + IfcBuildingElementProxyTypeEnum.ELEMENT = { type: 3, value: "ELEMENT" }; + IfcBuildingElementProxyTypeEnum.PARTIAL = { type: 3, value: "PARTIAL" }; + IfcBuildingElementProxyTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBuildingElementProxyTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBuildingElementProxyTypeEnum = IfcBuildingElementProxyTypeEnum; + class IfcBuildingSystemTypeEnum { + } + IfcBuildingSystemTypeEnum.EROSIONPREVENTION = { type: 3, value: "EROSIONPREVENTION" }; + IfcBuildingSystemTypeEnum.FENESTRATION = { type: 3, value: "FENESTRATION" }; + IfcBuildingSystemTypeEnum.FOUNDATION = { type: 3, value: "FOUNDATION" }; + IfcBuildingSystemTypeEnum.LOADBEARING = { type: 3, value: "LOADBEARING" }; + IfcBuildingSystemTypeEnum.OUTERSHELL = { type: 3, value: "OUTERSHELL" }; + IfcBuildingSystemTypeEnum.PRESTRESSING = { type: 3, value: "PRESTRESSING" }; + IfcBuildingSystemTypeEnum.REINFORCING = { type: 3, value: "REINFORCING" }; + IfcBuildingSystemTypeEnum.SHADING = { type: 3, value: "SHADING" }; + IfcBuildingSystemTypeEnum.TRANSPORT = { type: 3, value: "TRANSPORT" }; + IfcBuildingSystemTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBuildingSystemTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBuildingSystemTypeEnum = IfcBuildingSystemTypeEnum; + class IfcBuiltSystemTypeEnum { + } + IfcBuiltSystemTypeEnum.EROSIONPREVENTION = { type: 3, value: "EROSIONPREVENTION" }; + IfcBuiltSystemTypeEnum.FENESTRATION = { type: 3, value: "FENESTRATION" }; + IfcBuiltSystemTypeEnum.FOUNDATION = { type: 3, value: "FOUNDATION" }; + IfcBuiltSystemTypeEnum.LOADBEARING = { type: 3, value: "LOADBEARING" }; + IfcBuiltSystemTypeEnum.MOORING = { type: 3, value: "MOORING" }; + IfcBuiltSystemTypeEnum.OUTERSHELL = { type: 3, value: "OUTERSHELL" }; + IfcBuiltSystemTypeEnum.PRESTRESSING = { type: 3, value: "PRESTRESSING" }; + IfcBuiltSystemTypeEnum.RAILWAYLINE = { type: 3, value: "RAILWAYLINE" }; + IfcBuiltSystemTypeEnum.RAILWAYTRACK = { type: 3, value: "RAILWAYTRACK" }; + IfcBuiltSystemTypeEnum.REINFORCING = { type: 3, value: "REINFORCING" }; + IfcBuiltSystemTypeEnum.SHADING = { type: 3, value: "SHADING" }; + IfcBuiltSystemTypeEnum.TRACKCIRCUIT = { type: 3, value: "TRACKCIRCUIT" }; + IfcBuiltSystemTypeEnum.TRANSPORT = { type: 3, value: "TRANSPORT" }; + IfcBuiltSystemTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBuiltSystemTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBuiltSystemTypeEnum = IfcBuiltSystemTypeEnum; + class IfcBurnerTypeEnum { + } + IfcBurnerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcBurnerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcBurnerTypeEnum = IfcBurnerTypeEnum; + class IfcCableCarrierFittingTypeEnum { + } + IfcCableCarrierFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcCableCarrierFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcCableCarrierFittingTypeEnum.CROSS = { type: 3, value: "CROSS" }; + IfcCableCarrierFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcCableCarrierFittingTypeEnum.TEE = { type: 3, value: "TEE" }; + IfcCableCarrierFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcCableCarrierFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableCarrierFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCableCarrierFittingTypeEnum = IfcCableCarrierFittingTypeEnum; + class IfcCableCarrierSegmentTypeEnum { + } + IfcCableCarrierSegmentTypeEnum.CABLEBRACKET = { type: 3, value: "CABLEBRACKET" }; + IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT = { type: 3, value: "CABLELADDERSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT = { type: 3, value: "CABLETRAYSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT = { type: 3, value: "CABLETRUNKINGSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.CATENARYWIRE = { type: 3, value: "CATENARYWIRE" }; + IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT = { type: 3, value: "CONDUITSEGMENT" }; + IfcCableCarrierSegmentTypeEnum.DROPPER = { type: 3, value: "DROPPER" }; + IfcCableCarrierSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableCarrierSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCableCarrierSegmentTypeEnum = IfcCableCarrierSegmentTypeEnum; + class IfcCableFittingTypeEnum { + } + IfcCableFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcCableFittingTypeEnum.ENTRY = { type: 3, value: "ENTRY" }; + IfcCableFittingTypeEnum.EXIT = { type: 3, value: "EXIT" }; + IfcCableFittingTypeEnum.FANOUT = { type: 3, value: "FANOUT" }; + IfcCableFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcCableFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcCableFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCableFittingTypeEnum = IfcCableFittingTypeEnum; + class IfcCableSegmentTypeEnum { + } + IfcCableSegmentTypeEnum.BUSBARSEGMENT = { type: 3, value: "BUSBARSEGMENT" }; + IfcCableSegmentTypeEnum.CABLESEGMENT = { type: 3, value: "CABLESEGMENT" }; + IfcCableSegmentTypeEnum.CONDUCTORSEGMENT = { type: 3, value: "CONDUCTORSEGMENT" }; + IfcCableSegmentTypeEnum.CONTACTWIRESEGMENT = { type: 3, value: "CONTACTWIRESEGMENT" }; + IfcCableSegmentTypeEnum.CORESEGMENT = { type: 3, value: "CORESEGMENT" }; + IfcCableSegmentTypeEnum.FIBERSEGMENT = { type: 3, value: "FIBERSEGMENT" }; + IfcCableSegmentTypeEnum.FIBERTUBE = { type: 3, value: "FIBERTUBE" }; + IfcCableSegmentTypeEnum.OPTICALCABLESEGMENT = { type: 3, value: "OPTICALCABLESEGMENT" }; + IfcCableSegmentTypeEnum.STITCHWIRE = { type: 3, value: "STITCHWIRE" }; + IfcCableSegmentTypeEnum.WIREPAIRSEGMENT = { type: 3, value: "WIREPAIRSEGMENT" }; + IfcCableSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCableSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCableSegmentTypeEnum = IfcCableSegmentTypeEnum; + class IfcCaissonFoundationTypeEnum { + } + IfcCaissonFoundationTypeEnum.CAISSON = { type: 3, value: "CAISSON" }; + IfcCaissonFoundationTypeEnum.WELL = { type: 3, value: "WELL" }; + IfcCaissonFoundationTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCaissonFoundationTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCaissonFoundationTypeEnum = IfcCaissonFoundationTypeEnum; + class IfcChangeActionEnum { + } + IfcChangeActionEnum.ADDED = { type: 3, value: "ADDED" }; + IfcChangeActionEnum.DELETED = { type: 3, value: "DELETED" }; + IfcChangeActionEnum.MODIFIED = { type: 3, value: "MODIFIED" }; + IfcChangeActionEnum.NOCHANGE = { type: 3, value: "NOCHANGE" }; + IfcChangeActionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcChangeActionEnum = IfcChangeActionEnum; + class IfcChillerTypeEnum { + } + IfcChillerTypeEnum.AIRCOOLED = { type: 3, value: "AIRCOOLED" }; + IfcChillerTypeEnum.HEATRECOVERY = { type: 3, value: "HEATRECOVERY" }; + IfcChillerTypeEnum.WATERCOOLED = { type: 3, value: "WATERCOOLED" }; + IfcChillerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcChillerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcChillerTypeEnum = IfcChillerTypeEnum; + class IfcChimneyTypeEnum { + } + IfcChimneyTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcChimneyTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcChimneyTypeEnum = IfcChimneyTypeEnum; + class IfcCoilTypeEnum { + } + IfcCoilTypeEnum.DXCOOLINGCOIL = { type: 3, value: "DXCOOLINGCOIL" }; + IfcCoilTypeEnum.ELECTRICHEATINGCOIL = { type: 3, value: "ELECTRICHEATINGCOIL" }; + IfcCoilTypeEnum.GASHEATINGCOIL = { type: 3, value: "GASHEATINGCOIL" }; + IfcCoilTypeEnum.HYDRONICCOIL = { type: 3, value: "HYDRONICCOIL" }; + IfcCoilTypeEnum.STEAMHEATINGCOIL = { type: 3, value: "STEAMHEATINGCOIL" }; + IfcCoilTypeEnum.WATERCOOLINGCOIL = { type: 3, value: "WATERCOOLINGCOIL" }; + IfcCoilTypeEnum.WATERHEATINGCOIL = { type: 3, value: "WATERHEATINGCOIL" }; + IfcCoilTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoilTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCoilTypeEnum = IfcCoilTypeEnum; + class IfcColumnTypeEnum { + } + IfcColumnTypeEnum.COLUMN = { type: 3, value: "COLUMN" }; + IfcColumnTypeEnum.PIERSTEM = { type: 3, value: "PIERSTEM" }; + IfcColumnTypeEnum.PIERSTEM_SEGMENT = { type: 3, value: "PIERSTEM_SEGMENT" }; + IfcColumnTypeEnum.PILASTER = { type: 3, value: "PILASTER" }; + IfcColumnTypeEnum.STANDCOLUMN = { type: 3, value: "STANDCOLUMN" }; + IfcColumnTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcColumnTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcColumnTypeEnum = IfcColumnTypeEnum; + class IfcCommunicationsApplianceTypeEnum { + } + IfcCommunicationsApplianceTypeEnum.ANTENNA = { type: 3, value: "ANTENNA" }; + IfcCommunicationsApplianceTypeEnum.AUTOMATON = { type: 3, value: "AUTOMATON" }; + IfcCommunicationsApplianceTypeEnum.COMPUTER = { type: 3, value: "COMPUTER" }; + IfcCommunicationsApplianceTypeEnum.FAX = { type: 3, value: "FAX" }; + IfcCommunicationsApplianceTypeEnum.GATEWAY = { type: 3, value: "GATEWAY" }; + IfcCommunicationsApplianceTypeEnum.INTELLIGENTPERIPHERAL = { type: 3, value: "INTELLIGENTPERIPHERAL" }; + IfcCommunicationsApplianceTypeEnum.IPNETWORKEQUIPMENT = { type: 3, value: "IPNETWORKEQUIPMENT" }; + IfcCommunicationsApplianceTypeEnum.LINESIDEELECTRONICUNIT = { type: 3, value: "LINESIDEELECTRONICUNIT" }; + IfcCommunicationsApplianceTypeEnum.MODEM = { type: 3, value: "MODEM" }; + IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE = { type: 3, value: "NETWORKAPPLIANCE" }; + IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE = { type: 3, value: "NETWORKBRIDGE" }; + IfcCommunicationsApplianceTypeEnum.NETWORKHUB = { type: 3, value: "NETWORKHUB" }; + IfcCommunicationsApplianceTypeEnum.OPTICALLINETERMINAL = { type: 3, value: "OPTICALLINETERMINAL" }; + IfcCommunicationsApplianceTypeEnum.OPTICALNETWORKUNIT = { type: 3, value: "OPTICALNETWORKUNIT" }; + IfcCommunicationsApplianceTypeEnum.PRINTER = { type: 3, value: "PRINTER" }; + IfcCommunicationsApplianceTypeEnum.RADIOBLOCKCENTER = { type: 3, value: "RADIOBLOCKCENTER" }; + IfcCommunicationsApplianceTypeEnum.REPEATER = { type: 3, value: "REPEATER" }; + IfcCommunicationsApplianceTypeEnum.ROUTER = { type: 3, value: "ROUTER" }; + IfcCommunicationsApplianceTypeEnum.SCANNER = { type: 3, value: "SCANNER" }; + IfcCommunicationsApplianceTypeEnum.TELECOMMAND = { type: 3, value: "TELECOMMAND" }; + IfcCommunicationsApplianceTypeEnum.TELEPHONYEXCHANGE = { type: 3, value: "TELEPHONYEXCHANGE" }; + IfcCommunicationsApplianceTypeEnum.TRANSITIONCOMPONENT = { type: 3, value: "TRANSITIONCOMPONENT" }; + IfcCommunicationsApplianceTypeEnum.TRANSPONDER = { type: 3, value: "TRANSPONDER" }; + IfcCommunicationsApplianceTypeEnum.TRANSPORTEQUIPMENT = { type: 3, value: "TRANSPORTEQUIPMENT" }; + IfcCommunicationsApplianceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCommunicationsApplianceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCommunicationsApplianceTypeEnum = IfcCommunicationsApplianceTypeEnum; + class IfcComplexPropertyTemplateTypeEnum { + } + IfcComplexPropertyTemplateTypeEnum.P_COMPLEX = { type: 3, value: "P_COMPLEX" }; + IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX = { type: 3, value: "Q_COMPLEX" }; + IFC4X32.IfcComplexPropertyTemplateTypeEnum = IfcComplexPropertyTemplateTypeEnum; + class IfcCompressorTypeEnum { + } + IfcCompressorTypeEnum.BOOSTER = { type: 3, value: "BOOSTER" }; + IfcCompressorTypeEnum.DYNAMIC = { type: 3, value: "DYNAMIC" }; + IfcCompressorTypeEnum.HERMETIC = { type: 3, value: "HERMETIC" }; + IfcCompressorTypeEnum.OPENTYPE = { type: 3, value: "OPENTYPE" }; + IfcCompressorTypeEnum.RECIPROCATING = { type: 3, value: "RECIPROCATING" }; + IfcCompressorTypeEnum.ROLLINGPISTON = { type: 3, value: "ROLLINGPISTON" }; + IfcCompressorTypeEnum.ROTARY = { type: 3, value: "ROTARY" }; + IfcCompressorTypeEnum.ROTARYVANE = { type: 3, value: "ROTARYVANE" }; + IfcCompressorTypeEnum.SCROLL = { type: 3, value: "SCROLL" }; + IfcCompressorTypeEnum.SEMIHERMETIC = { type: 3, value: "SEMIHERMETIC" }; + IfcCompressorTypeEnum.SINGLESCREW = { type: 3, value: "SINGLESCREW" }; + IfcCompressorTypeEnum.SINGLESTAGE = { type: 3, value: "SINGLESTAGE" }; + IfcCompressorTypeEnum.TROCHOIDAL = { type: 3, value: "TROCHOIDAL" }; + IfcCompressorTypeEnum.TWINSCREW = { type: 3, value: "TWINSCREW" }; + IfcCompressorTypeEnum.WELDEDSHELLHERMETIC = { type: 3, value: "WELDEDSHELLHERMETIC" }; + IfcCompressorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCompressorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCompressorTypeEnum = IfcCompressorTypeEnum; + class IfcCondenserTypeEnum { + } + IfcCondenserTypeEnum.AIRCOOLED = { type: 3, value: "AIRCOOLED" }; + IfcCondenserTypeEnum.EVAPORATIVECOOLED = { type: 3, value: "EVAPORATIVECOOLED" }; + IfcCondenserTypeEnum.WATERCOOLED = { type: 3, value: "WATERCOOLED" }; + IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE = { type: 3, value: "WATERCOOLEDBRAZEDPLATE" }; + IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL = { type: 3, value: "WATERCOOLEDSHELLCOIL" }; + IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE = { type: 3, value: "WATERCOOLEDSHELLTUBE" }; + IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE = { type: 3, value: "WATERCOOLEDTUBEINTUBE" }; + IfcCondenserTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCondenserTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCondenserTypeEnum = IfcCondenserTypeEnum; + class IfcConnectionTypeEnum { + } + IfcConnectionTypeEnum.ATEND = { type: 3, value: "ATEND" }; + IfcConnectionTypeEnum.ATPATH = { type: 3, value: "ATPATH" }; + IfcConnectionTypeEnum.ATSTART = { type: 3, value: "ATSTART" }; + IfcConnectionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcConnectionTypeEnum = IfcConnectionTypeEnum; + class IfcConstraintEnum { + } + IfcConstraintEnum.ADVISORY = { type: 3, value: "ADVISORY" }; + IfcConstraintEnum.HARD = { type: 3, value: "HARD" }; + IfcConstraintEnum.SOFT = { type: 3, value: "SOFT" }; + IfcConstraintEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConstraintEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcConstraintEnum = IfcConstraintEnum; + class IfcConstructionEquipmentResourceTypeEnum { + } + IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING = { type: 3, value: "DEMOLISHING" }; + IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING = { type: 3, value: "EARTHMOVING" }; + IfcConstructionEquipmentResourceTypeEnum.ERECTING = { type: 3, value: "ERECTING" }; + IfcConstructionEquipmentResourceTypeEnum.HEATING = { type: 3, value: "HEATING" }; + IfcConstructionEquipmentResourceTypeEnum.LIGHTING = { type: 3, value: "LIGHTING" }; + IfcConstructionEquipmentResourceTypeEnum.PAVING = { type: 3, value: "PAVING" }; + IfcConstructionEquipmentResourceTypeEnum.PUMPING = { type: 3, value: "PUMPING" }; + IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING = { type: 3, value: "TRANSPORTING" }; + IfcConstructionEquipmentResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcConstructionEquipmentResourceTypeEnum = IfcConstructionEquipmentResourceTypeEnum; + class IfcConstructionMaterialResourceTypeEnum { + } + IfcConstructionMaterialResourceTypeEnum.AGGREGATES = { type: 3, value: "AGGREGATES" }; + IfcConstructionMaterialResourceTypeEnum.CONCRETE = { type: 3, value: "CONCRETE" }; + IfcConstructionMaterialResourceTypeEnum.DRYWALL = { type: 3, value: "DRYWALL" }; + IfcConstructionMaterialResourceTypeEnum.FUEL = { type: 3, value: "FUEL" }; + IfcConstructionMaterialResourceTypeEnum.GYPSUM = { type: 3, value: "GYPSUM" }; + IfcConstructionMaterialResourceTypeEnum.MASONRY = { type: 3, value: "MASONRY" }; + IfcConstructionMaterialResourceTypeEnum.METAL = { type: 3, value: "METAL" }; + IfcConstructionMaterialResourceTypeEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcConstructionMaterialResourceTypeEnum.WOOD = { type: 3, value: "WOOD" }; + IfcConstructionMaterialResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConstructionMaterialResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcConstructionMaterialResourceTypeEnum = IfcConstructionMaterialResourceTypeEnum; + class IfcConstructionProductResourceTypeEnum { + } + IfcConstructionProductResourceTypeEnum.ASSEMBLY = { type: 3, value: "ASSEMBLY" }; + IfcConstructionProductResourceTypeEnum.FORMWORK = { type: 3, value: "FORMWORK" }; + IfcConstructionProductResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConstructionProductResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcConstructionProductResourceTypeEnum = IfcConstructionProductResourceTypeEnum; + class IfcControllerTypeEnum { + } + IfcControllerTypeEnum.FLOATING = { type: 3, value: "FLOATING" }; + IfcControllerTypeEnum.MULTIPOSITION = { type: 3, value: "MULTIPOSITION" }; + IfcControllerTypeEnum.PROGRAMMABLE = { type: 3, value: "PROGRAMMABLE" }; + IfcControllerTypeEnum.PROPORTIONAL = { type: 3, value: "PROPORTIONAL" }; + IfcControllerTypeEnum.TWOPOSITION = { type: 3, value: "TWOPOSITION" }; + IfcControllerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcControllerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcControllerTypeEnum = IfcControllerTypeEnum; + class IfcConveyorSegmentTypeEnum { + } + IfcConveyorSegmentTypeEnum.BELTCONVEYOR = { type: 3, value: "BELTCONVEYOR" }; + IfcConveyorSegmentTypeEnum.BUCKETCONVEYOR = { type: 3, value: "BUCKETCONVEYOR" }; + IfcConveyorSegmentTypeEnum.CHUTECONVEYOR = { type: 3, value: "CHUTECONVEYOR" }; + IfcConveyorSegmentTypeEnum.SCREWCONVEYOR = { type: 3, value: "SCREWCONVEYOR" }; + IfcConveyorSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcConveyorSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcConveyorSegmentTypeEnum = IfcConveyorSegmentTypeEnum; + class IfcCooledBeamTypeEnum { + } + IfcCooledBeamTypeEnum.ACTIVE = { type: 3, value: "ACTIVE" }; + IfcCooledBeamTypeEnum.PASSIVE = { type: 3, value: "PASSIVE" }; + IfcCooledBeamTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCooledBeamTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCooledBeamTypeEnum = IfcCooledBeamTypeEnum; + class IfcCoolingTowerTypeEnum { + } + IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT = { type: 3, value: "MECHANICALFORCEDDRAFT" }; + IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT = { type: 3, value: "MECHANICALINDUCEDDRAFT" }; + IfcCoolingTowerTypeEnum.NATURALDRAFT = { type: 3, value: "NATURALDRAFT" }; + IfcCoolingTowerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoolingTowerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCoolingTowerTypeEnum = IfcCoolingTowerTypeEnum; + class IfcCostItemTypeEnum { + } + IfcCostItemTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCostItemTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCostItemTypeEnum = IfcCostItemTypeEnum; + class IfcCostScheduleTypeEnum { + } + IfcCostScheduleTypeEnum.BUDGET = { type: 3, value: "BUDGET" }; + IfcCostScheduleTypeEnum.COSTPLAN = { type: 3, value: "COSTPLAN" }; + IfcCostScheduleTypeEnum.ESTIMATE = { type: 3, value: "ESTIMATE" }; + IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES = { type: 3, value: "PRICEDBILLOFQUANTITIES" }; + IfcCostScheduleTypeEnum.SCHEDULEOFRATES = { type: 3, value: "SCHEDULEOFRATES" }; + IfcCostScheduleTypeEnum.TENDER = { type: 3, value: "TENDER" }; + IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES = { type: 3, value: "UNPRICEDBILLOFQUANTITIES" }; + IfcCostScheduleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCostScheduleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCostScheduleTypeEnum = IfcCostScheduleTypeEnum; + class IfcCourseTypeEnum { + } + IfcCourseTypeEnum.ARMOUR = { type: 3, value: "ARMOUR" }; + IfcCourseTypeEnum.BALLASTBED = { type: 3, value: "BALLASTBED" }; + IfcCourseTypeEnum.CORE = { type: 3, value: "CORE" }; + IfcCourseTypeEnum.FILTER = { type: 3, value: "FILTER" }; + IfcCourseTypeEnum.PAVEMENT = { type: 3, value: "PAVEMENT" }; + IfcCourseTypeEnum.PROTECTION = { type: 3, value: "PROTECTION" }; + IfcCourseTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCourseTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCourseTypeEnum = IfcCourseTypeEnum; + class IfcCoveringTypeEnum { + } + IfcCoveringTypeEnum.CEILING = { type: 3, value: "CEILING" }; + IfcCoveringTypeEnum.CLADDING = { type: 3, value: "CLADDING" }; + IfcCoveringTypeEnum.COPING = { type: 3, value: "COPING" }; + IfcCoveringTypeEnum.FLOORING = { type: 3, value: "FLOORING" }; + IfcCoveringTypeEnum.INSULATION = { type: 3, value: "INSULATION" }; + IfcCoveringTypeEnum.MEMBRANE = { type: 3, value: "MEMBRANE" }; + IfcCoveringTypeEnum.MOLDING = { type: 3, value: "MOLDING" }; + IfcCoveringTypeEnum.ROOFING = { type: 3, value: "ROOFING" }; + IfcCoveringTypeEnum.SKIRTINGBOARD = { type: 3, value: "SKIRTINGBOARD" }; + IfcCoveringTypeEnum.SLEEVING = { type: 3, value: "SLEEVING" }; + IfcCoveringTypeEnum.TOPPING = { type: 3, value: "TOPPING" }; + IfcCoveringTypeEnum.WRAPPING = { type: 3, value: "WRAPPING" }; + IfcCoveringTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCoveringTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCoveringTypeEnum = IfcCoveringTypeEnum; + class IfcCrewResourceTypeEnum { + } + IfcCrewResourceTypeEnum.OFFICE = { type: 3, value: "OFFICE" }; + IfcCrewResourceTypeEnum.SITE = { type: 3, value: "SITE" }; + IfcCrewResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCrewResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCrewResourceTypeEnum = IfcCrewResourceTypeEnum; + class IfcCurtainWallTypeEnum { + } + IfcCurtainWallTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcCurtainWallTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCurtainWallTypeEnum = IfcCurtainWallTypeEnum; + class IfcCurveInterpolationEnum { + } + IfcCurveInterpolationEnum.LINEAR = { type: 3, value: "LINEAR" }; + IfcCurveInterpolationEnum.LOG_LINEAR = { type: 3, value: "LOG_LINEAR" }; + IfcCurveInterpolationEnum.LOG_LOG = { type: 3, value: "LOG_LOG" }; + IfcCurveInterpolationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcCurveInterpolationEnum = IfcCurveInterpolationEnum; + class IfcDamperTypeEnum { + } + IfcDamperTypeEnum.BACKDRAFTDAMPER = { type: 3, value: "BACKDRAFTDAMPER" }; + IfcDamperTypeEnum.BALANCINGDAMPER = { type: 3, value: "BALANCINGDAMPER" }; + IfcDamperTypeEnum.BLASTDAMPER = { type: 3, value: "BLASTDAMPER" }; + IfcDamperTypeEnum.CONTROLDAMPER = { type: 3, value: "CONTROLDAMPER" }; + IfcDamperTypeEnum.FIREDAMPER = { type: 3, value: "FIREDAMPER" }; + IfcDamperTypeEnum.FIRESMOKEDAMPER = { type: 3, value: "FIRESMOKEDAMPER" }; + IfcDamperTypeEnum.FUMEHOODEXHAUST = { type: 3, value: "FUMEHOODEXHAUST" }; + IfcDamperTypeEnum.GRAVITYDAMPER = { type: 3, value: "GRAVITYDAMPER" }; + IfcDamperTypeEnum.GRAVITYRELIEFDAMPER = { type: 3, value: "GRAVITYRELIEFDAMPER" }; + IfcDamperTypeEnum.RELIEFDAMPER = { type: 3, value: "RELIEFDAMPER" }; + IfcDamperTypeEnum.SMOKEDAMPER = { type: 3, value: "SMOKEDAMPER" }; + IfcDamperTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDamperTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDamperTypeEnum = IfcDamperTypeEnum; + class IfcDataOriginEnum { + } + IfcDataOriginEnum.MEASURED = { type: 3, value: "MEASURED" }; + IfcDataOriginEnum.PREDICTED = { type: 3, value: "PREDICTED" }; + IfcDataOriginEnum.SIMULATED = { type: 3, value: "SIMULATED" }; + IfcDataOriginEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDataOriginEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDataOriginEnum = IfcDataOriginEnum; + class IfcDerivedUnitEnum { + } + IfcDerivedUnitEnum.ACCELERATIONUNIT = { type: 3, value: "ACCELERATIONUNIT" }; + IfcDerivedUnitEnum.ANGULARVELOCITYUNIT = { type: 3, value: "ANGULARVELOCITYUNIT" }; + IfcDerivedUnitEnum.AREADENSITYUNIT = { type: 3, value: "AREADENSITYUNIT" }; + IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT = { type: 3, value: "COMPOUNDPLANEANGLEUNIT" }; + IfcDerivedUnitEnum.CURVATUREUNIT = { type: 3, value: "CURVATUREUNIT" }; + IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT = { type: 3, value: "DYNAMICVISCOSITYUNIT" }; + IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT = { type: 3, value: "HEATFLUXDENSITYUNIT" }; + IfcDerivedUnitEnum.HEATINGVALUEUNIT = { type: 3, value: "HEATINGVALUEUNIT" }; + IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT = { type: 3, value: "INTEGERCOUNTRATEUNIT" }; + IfcDerivedUnitEnum.IONCONCENTRATIONUNIT = { type: 3, value: "IONCONCENTRATIONUNIT" }; + IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT = { type: 3, value: "ISOTHERMALMOISTURECAPACITYUNIT" }; + IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT = { type: 3, value: "KINEMATICVISCOSITYUNIT" }; + IfcDerivedUnitEnum.LINEARFORCEUNIT = { type: 3, value: "LINEARFORCEUNIT" }; + IfcDerivedUnitEnum.LINEARMOMENTUNIT = { type: 3, value: "LINEARMOMENTUNIT" }; + IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT = { type: 3, value: "LINEARSTIFFNESSUNIT" }; + IfcDerivedUnitEnum.LINEARVELOCITYUNIT = { type: 3, value: "LINEARVELOCITYUNIT" }; + IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT = { type: 3, value: "LUMINOUSINTENSITYDISTRIBUTIONUNIT" }; + IfcDerivedUnitEnum.MASSDENSITYUNIT = { type: 3, value: "MASSDENSITYUNIT" }; + IfcDerivedUnitEnum.MASSFLOWRATEUNIT = { type: 3, value: "MASSFLOWRATEUNIT" }; + IfcDerivedUnitEnum.MASSPERLENGTHUNIT = { type: 3, value: "MASSPERLENGTHUNIT" }; + IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT = { type: 3, value: "MODULUSOFELASTICITYUNIT" }; + IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFLINEARSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFROTATIONALSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFSUBGRADEREACTIONUNIT" }; + IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT = { type: 3, value: "MOISTUREDIFFUSIVITYUNIT" }; + IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT = { type: 3, value: "MOLECULARWEIGHTUNIT" }; + IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT = { type: 3, value: "MOMENTOFINERTIAUNIT" }; + IfcDerivedUnitEnum.PHUNIT = { type: 3, value: "PHUNIT" }; + IfcDerivedUnitEnum.PLANARFORCEUNIT = { type: 3, value: "PLANARFORCEUNIT" }; + IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT = { type: 3, value: "ROTATIONALFREQUENCYUNIT" }; + IfcDerivedUnitEnum.ROTATIONALMASSUNIT = { type: 3, value: "ROTATIONALMASSUNIT" }; + IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT = { type: 3, value: "ROTATIONALSTIFFNESSUNIT" }; + IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT = { type: 3, value: "SECTIONAREAINTEGRALUNIT" }; + IfcDerivedUnitEnum.SECTIONMODULUSUNIT = { type: 3, value: "SECTIONMODULUSUNIT" }; + IfcDerivedUnitEnum.SHEARMODULUSUNIT = { type: 3, value: "SHEARMODULUSUNIT" }; + IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT = { type: 3, value: "SOUNDPOWERLEVELUNIT" }; + IfcDerivedUnitEnum.SOUNDPOWERUNIT = { type: 3, value: "SOUNDPOWERUNIT" }; + IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT = { type: 3, value: "SOUNDPRESSURELEVELUNIT" }; + IfcDerivedUnitEnum.SOUNDPRESSUREUNIT = { type: 3, value: "SOUNDPRESSUREUNIT" }; + IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT = { type: 3, value: "SPECIFICHEATCAPACITYUNIT" }; + IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT = { type: 3, value: "TEMPERATUREGRADIENTUNIT" }; + IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT = { type: 3, value: "TEMPERATURERATEOFCHANGEUNIT" }; + IfcDerivedUnitEnum.THERMALADMITTANCEUNIT = { type: 3, value: "THERMALADMITTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT = { type: 3, value: "THERMALCONDUCTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT = { type: 3, value: "THERMALEXPANSIONCOEFFICIENTUNIT" }; + IfcDerivedUnitEnum.THERMALRESISTANCEUNIT = { type: 3, value: "THERMALRESISTANCEUNIT" }; + IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT = { type: 3, value: "THERMALTRANSMITTANCEUNIT" }; + IfcDerivedUnitEnum.TORQUEUNIT = { type: 3, value: "TORQUEUNIT" }; + IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT = { type: 3, value: "VAPORPERMEABILITYUNIT" }; + IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT = { type: 3, value: "VOLUMETRICFLOWRATEUNIT" }; + IfcDerivedUnitEnum.WARPINGCONSTANTUNIT = { type: 3, value: "WARPINGCONSTANTUNIT" }; + IfcDerivedUnitEnum.WARPINGMOMENTUNIT = { type: 3, value: "WARPINGMOMENTUNIT" }; + IfcDerivedUnitEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC4X32.IfcDerivedUnitEnum = IfcDerivedUnitEnum; + class IfcDirectionSenseEnum { + } + IfcDirectionSenseEnum.NEGATIVE = { type: 3, value: "NEGATIVE" }; + IfcDirectionSenseEnum.POSITIVE = { type: 3, value: "POSITIVE" }; + IFC4X32.IfcDirectionSenseEnum = IfcDirectionSenseEnum; + class IfcDiscreteAccessoryTypeEnum { + } + IfcDiscreteAccessoryTypeEnum.ANCHORPLATE = { type: 3, value: "ANCHORPLATE" }; + IfcDiscreteAccessoryTypeEnum.BIRDPROTECTION = { type: 3, value: "BIRDPROTECTION" }; + IfcDiscreteAccessoryTypeEnum.BRACKET = { type: 3, value: "BRACKET" }; + IfcDiscreteAccessoryTypeEnum.CABLEARRANGER = { type: 3, value: "CABLEARRANGER" }; + IfcDiscreteAccessoryTypeEnum.ELASTIC_CUSHION = { type: 3, value: "ELASTIC_CUSHION" }; + IfcDiscreteAccessoryTypeEnum.EXPANSION_JOINT_DEVICE = { type: 3, value: "EXPANSION_JOINT_DEVICE" }; + IfcDiscreteAccessoryTypeEnum.FILLER = { type: 3, value: "FILLER" }; + IfcDiscreteAccessoryTypeEnum.FLASHING = { type: 3, value: "FLASHING" }; + IfcDiscreteAccessoryTypeEnum.INSULATOR = { type: 3, value: "INSULATOR" }; + IfcDiscreteAccessoryTypeEnum.LOCK = { type: 3, value: "LOCK" }; + IfcDiscreteAccessoryTypeEnum.PANEL_STRENGTHENING = { type: 3, value: "PANEL_STRENGTHENING" }; + IfcDiscreteAccessoryTypeEnum.POINTMACHINEMOUNTINGDEVICE = { type: 3, value: "POINTMACHINEMOUNTINGDEVICE" }; + IfcDiscreteAccessoryTypeEnum.POINT_MACHINE_LOCKING_DEVICE = { type: 3, value: "POINT_MACHINE_LOCKING_DEVICE" }; + IfcDiscreteAccessoryTypeEnum.RAILBRACE = { type: 3, value: "RAILBRACE" }; + IfcDiscreteAccessoryTypeEnum.RAILPAD = { type: 3, value: "RAILPAD" }; + IfcDiscreteAccessoryTypeEnum.RAIL_LUBRICATION = { type: 3, value: "RAIL_LUBRICATION" }; + IfcDiscreteAccessoryTypeEnum.RAIL_MECHANICAL_EQUIPMENT = { type: 3, value: "RAIL_MECHANICAL_EQUIPMENT" }; + IfcDiscreteAccessoryTypeEnum.SHOE = { type: 3, value: "SHOE" }; + IfcDiscreteAccessoryTypeEnum.SLIDINGCHAIR = { type: 3, value: "SLIDINGCHAIR" }; + IfcDiscreteAccessoryTypeEnum.SOUNDABSORPTION = { type: 3, value: "SOUNDABSORPTION" }; + IfcDiscreteAccessoryTypeEnum.TENSIONINGEQUIPMENT = { type: 3, value: "TENSIONINGEQUIPMENT" }; + IfcDiscreteAccessoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDiscreteAccessoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDiscreteAccessoryTypeEnum = IfcDiscreteAccessoryTypeEnum; + class IfcDistributionBoardTypeEnum { + } + IfcDistributionBoardTypeEnum.CONSUMERUNIT = { type: 3, value: "CONSUMERUNIT" }; + IfcDistributionBoardTypeEnum.DISPATCHINGBOARD = { type: 3, value: "DISPATCHINGBOARD" }; + IfcDistributionBoardTypeEnum.DISTRIBUTIONBOARD = { type: 3, value: "DISTRIBUTIONBOARD" }; + IfcDistributionBoardTypeEnum.DISTRIBUTIONFRAME = { type: 3, value: "DISTRIBUTIONFRAME" }; + IfcDistributionBoardTypeEnum.MOTORCONTROLCENTRE = { type: 3, value: "MOTORCONTROLCENTRE" }; + IfcDistributionBoardTypeEnum.SWITCHBOARD = { type: 3, value: "SWITCHBOARD" }; + IfcDistributionBoardTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDistributionBoardTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDistributionBoardTypeEnum = IfcDistributionBoardTypeEnum; + class IfcDistributionChamberElementTypeEnum { + } + IfcDistributionChamberElementTypeEnum.FORMEDDUCT = { type: 3, value: "FORMEDDUCT" }; + IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER = { type: 3, value: "INSPECTIONCHAMBER" }; + IfcDistributionChamberElementTypeEnum.INSPECTIONPIT = { type: 3, value: "INSPECTIONPIT" }; + IfcDistributionChamberElementTypeEnum.MANHOLE = { type: 3, value: "MANHOLE" }; + IfcDistributionChamberElementTypeEnum.METERCHAMBER = { type: 3, value: "METERCHAMBER" }; + IfcDistributionChamberElementTypeEnum.SUMP = { type: 3, value: "SUMP" }; + IfcDistributionChamberElementTypeEnum.TRENCH = { type: 3, value: "TRENCH" }; + IfcDistributionChamberElementTypeEnum.VALVECHAMBER = { type: 3, value: "VALVECHAMBER" }; + IfcDistributionChamberElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDistributionChamberElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDistributionChamberElementTypeEnum = IfcDistributionChamberElementTypeEnum; + class IfcDistributionPortTypeEnum { + } + IfcDistributionPortTypeEnum.CABLE = { type: 3, value: "CABLE" }; + IfcDistributionPortTypeEnum.CABLECARRIER = { type: 3, value: "CABLECARRIER" }; + IfcDistributionPortTypeEnum.DUCT = { type: 3, value: "DUCT" }; + IfcDistributionPortTypeEnum.PIPE = { type: 3, value: "PIPE" }; + IfcDistributionPortTypeEnum.WIRELESS = { type: 3, value: "WIRELESS" }; + IfcDistributionPortTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDistributionPortTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDistributionPortTypeEnum = IfcDistributionPortTypeEnum; + class IfcDistributionSystemEnum { + } + IfcDistributionSystemEnum.AIRCONDITIONING = { type: 3, value: "AIRCONDITIONING" }; + IfcDistributionSystemEnum.AUDIOVISUAL = { type: 3, value: "AUDIOVISUAL" }; + IfcDistributionSystemEnum.CATENARY_SYSTEM = { type: 3, value: "CATENARY_SYSTEM" }; + IfcDistributionSystemEnum.CHEMICAL = { type: 3, value: "CHEMICAL" }; + IfcDistributionSystemEnum.CHILLEDWATER = { type: 3, value: "CHILLEDWATER" }; + IfcDistributionSystemEnum.COMMUNICATION = { type: 3, value: "COMMUNICATION" }; + IfcDistributionSystemEnum.COMPRESSEDAIR = { type: 3, value: "COMPRESSEDAIR" }; + IfcDistributionSystemEnum.CONDENSERWATER = { type: 3, value: "CONDENSERWATER" }; + IfcDistributionSystemEnum.CONTROL = { type: 3, value: "CONTROL" }; + IfcDistributionSystemEnum.CONVEYING = { type: 3, value: "CONVEYING" }; + IfcDistributionSystemEnum.DATA = { type: 3, value: "DATA" }; + IfcDistributionSystemEnum.DISPOSAL = { type: 3, value: "DISPOSAL" }; + IfcDistributionSystemEnum.DOMESTICCOLDWATER = { type: 3, value: "DOMESTICCOLDWATER" }; + IfcDistributionSystemEnum.DOMESTICHOTWATER = { type: 3, value: "DOMESTICHOTWATER" }; + IfcDistributionSystemEnum.DRAINAGE = { type: 3, value: "DRAINAGE" }; + IfcDistributionSystemEnum.EARTHING = { type: 3, value: "EARTHING" }; + IfcDistributionSystemEnum.ELECTRICAL = { type: 3, value: "ELECTRICAL" }; + IfcDistributionSystemEnum.ELECTROACOUSTIC = { type: 3, value: "ELECTROACOUSTIC" }; + IfcDistributionSystemEnum.EXHAUST = { type: 3, value: "EXHAUST" }; + IfcDistributionSystemEnum.FIREPROTECTION = { type: 3, value: "FIREPROTECTION" }; + IfcDistributionSystemEnum.FIXEDTRANSMISSIONNETWORK = { type: 3, value: "FIXEDTRANSMISSIONNETWORK" }; + IfcDistributionSystemEnum.FUEL = { type: 3, value: "FUEL" }; + IfcDistributionSystemEnum.GAS = { type: 3, value: "GAS" }; + IfcDistributionSystemEnum.HAZARDOUS = { type: 3, value: "HAZARDOUS" }; + IfcDistributionSystemEnum.HEATING = { type: 3, value: "HEATING" }; + IfcDistributionSystemEnum.LIGHTING = { type: 3, value: "LIGHTING" }; + IfcDistributionSystemEnum.LIGHTNINGPROTECTION = { type: 3, value: "LIGHTNINGPROTECTION" }; + IfcDistributionSystemEnum.MOBILENETWORK = { type: 3, value: "MOBILENETWORK" }; + IfcDistributionSystemEnum.MONITORINGSYSTEM = { type: 3, value: "MONITORINGSYSTEM" }; + IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE = { type: 3, value: "MUNICIPALSOLIDWASTE" }; + IfcDistributionSystemEnum.OIL = { type: 3, value: "OIL" }; + IfcDistributionSystemEnum.OPERATIONAL = { type: 3, value: "OPERATIONAL" }; + IfcDistributionSystemEnum.OPERATIONALTELEPHONYSYSTEM = { type: 3, value: "OPERATIONALTELEPHONYSYSTEM" }; + IfcDistributionSystemEnum.OVERHEAD_CONTACTLINE_SYSTEM = { type: 3, value: "OVERHEAD_CONTACTLINE_SYSTEM" }; + IfcDistributionSystemEnum.POWERGENERATION = { type: 3, value: "POWERGENERATION" }; + IfcDistributionSystemEnum.RAINWATER = { type: 3, value: "RAINWATER" }; + IfcDistributionSystemEnum.REFRIGERATION = { type: 3, value: "REFRIGERATION" }; + IfcDistributionSystemEnum.RETURN_CIRCUIT = { type: 3, value: "RETURN_CIRCUIT" }; + IfcDistributionSystemEnum.SECURITY = { type: 3, value: "SECURITY" }; + IfcDistributionSystemEnum.SEWAGE = { type: 3, value: "SEWAGE" }; + IfcDistributionSystemEnum.SIGNAL = { type: 3, value: "SIGNAL" }; + IfcDistributionSystemEnum.STORMWATER = { type: 3, value: "STORMWATER" }; + IfcDistributionSystemEnum.TELEPHONE = { type: 3, value: "TELEPHONE" }; + IfcDistributionSystemEnum.TV = { type: 3, value: "TV" }; + IfcDistributionSystemEnum.VACUUM = { type: 3, value: "VACUUM" }; + IfcDistributionSystemEnum.VENT = { type: 3, value: "VENT" }; + IfcDistributionSystemEnum.VENTILATION = { type: 3, value: "VENTILATION" }; + IfcDistributionSystemEnum.WASTEWATER = { type: 3, value: "WASTEWATER" }; + IfcDistributionSystemEnum.WATERSUPPLY = { type: 3, value: "WATERSUPPLY" }; + IfcDistributionSystemEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDistributionSystemEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDistributionSystemEnum = IfcDistributionSystemEnum; + class IfcDocumentConfidentialityEnum { + } + IfcDocumentConfidentialityEnum.CONFIDENTIAL = { type: 3, value: "CONFIDENTIAL" }; + IfcDocumentConfidentialityEnum.PERSONAL = { type: 3, value: "PERSONAL" }; + IfcDocumentConfidentialityEnum.PUBLIC = { type: 3, value: "PUBLIC" }; + IfcDocumentConfidentialityEnum.RESTRICTED = { type: 3, value: "RESTRICTED" }; + IfcDocumentConfidentialityEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDocumentConfidentialityEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDocumentConfidentialityEnum = IfcDocumentConfidentialityEnum; + class IfcDocumentStatusEnum { + } + IfcDocumentStatusEnum.DRAFT = { type: 3, value: "DRAFT" }; + IfcDocumentStatusEnum.FINAL = { type: 3, value: "FINAL" }; + IfcDocumentStatusEnum.FINALDRAFT = { type: 3, value: "FINALDRAFT" }; + IfcDocumentStatusEnum.REVISION = { type: 3, value: "REVISION" }; + IfcDocumentStatusEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDocumentStatusEnum = IfcDocumentStatusEnum; + class IfcDoorPanelOperationEnum { + } + IfcDoorPanelOperationEnum.DOUBLE_ACTING = { type: 3, value: "DOUBLE_ACTING" }; + IfcDoorPanelOperationEnum.FIXEDPANEL = { type: 3, value: "FIXEDPANEL" }; + IfcDoorPanelOperationEnum.FOLDING = { type: 3, value: "FOLDING" }; + IfcDoorPanelOperationEnum.REVOLVING = { type: 3, value: "REVOLVING" }; + IfcDoorPanelOperationEnum.ROLLINGUP = { type: 3, value: "ROLLINGUP" }; + IfcDoorPanelOperationEnum.SLIDING = { type: 3, value: "SLIDING" }; + IfcDoorPanelOperationEnum.SWINGING = { type: 3, value: "SWINGING" }; + IfcDoorPanelOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorPanelOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDoorPanelOperationEnum = IfcDoorPanelOperationEnum; + class IfcDoorPanelPositionEnum { + } + IfcDoorPanelPositionEnum.LEFT = { type: 3, value: "LEFT" }; + IfcDoorPanelPositionEnum.MIDDLE = { type: 3, value: "MIDDLE" }; + IfcDoorPanelPositionEnum.RIGHT = { type: 3, value: "RIGHT" }; + IfcDoorPanelPositionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDoorPanelPositionEnum = IfcDoorPanelPositionEnum; + class IfcDoorStyleConstructionEnum { + } + IfcDoorStyleConstructionEnum.ALUMINIUM = { type: 3, value: "ALUMINIUM" }; + IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC = { type: 3, value: "ALUMINIUM_PLASTIC" }; + IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD = { type: 3, value: "ALUMINIUM_WOOD" }; + IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL = { type: 3, value: "HIGH_GRADE_STEEL" }; + IfcDoorStyleConstructionEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcDoorStyleConstructionEnum.STEEL = { type: 3, value: "STEEL" }; + IfcDoorStyleConstructionEnum.WOOD = { type: 3, value: "WOOD" }; + IfcDoorStyleConstructionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorStyleConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDoorStyleConstructionEnum = IfcDoorStyleConstructionEnum; + class IfcDoorStyleOperationEnum { + } + IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING = { type: 3, value: "DOUBLE_DOOR_DOUBLE_SWING" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING = { type: 3, value: "DOUBLE_DOOR_FOLDING" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT" }; + IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING = { type: 3, value: "DOUBLE_DOOR_SLIDING" }; + IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT = { type: 3, value: "DOUBLE_SWING_LEFT" }; + IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT = { type: 3, value: "DOUBLE_SWING_RIGHT" }; + IfcDoorStyleOperationEnum.FOLDING_TO_LEFT = { type: 3, value: "FOLDING_TO_LEFT" }; + IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT = { type: 3, value: "FOLDING_TO_RIGHT" }; + IfcDoorStyleOperationEnum.REVOLVING = { type: 3, value: "REVOLVING" }; + IfcDoorStyleOperationEnum.ROLLINGUP = { type: 3, value: "ROLLINGUP" }; + IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT = { type: 3, value: "SINGLE_SWING_LEFT" }; + IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT = { type: 3, value: "SINGLE_SWING_RIGHT" }; + IfcDoorStyleOperationEnum.SLIDING_TO_LEFT = { type: 3, value: "SLIDING_TO_LEFT" }; + IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT = { type: 3, value: "SLIDING_TO_RIGHT" }; + IfcDoorStyleOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorStyleOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDoorStyleOperationEnum = IfcDoorStyleOperationEnum; + class IfcDoorTypeEnum { + } + IfcDoorTypeEnum.BOOM_BARRIER = { type: 3, value: "BOOM_BARRIER" }; + IfcDoorTypeEnum.DOOR = { type: 3, value: "DOOR" }; + IfcDoorTypeEnum.GATE = { type: 3, value: "GATE" }; + IfcDoorTypeEnum.TRAPDOOR = { type: 3, value: "TRAPDOOR" }; + IfcDoorTypeEnum.TURNSTILE = { type: 3, value: "TURNSTILE" }; + IfcDoorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDoorTypeEnum = IfcDoorTypeEnum; + class IfcDoorTypeOperationEnum { + } + IfcDoorTypeOperationEnum.DOUBLE_PANEL_DOUBLE_SWING = { type: 3, value: "DOUBLE_PANEL_DOUBLE_SWING" }; + IfcDoorTypeOperationEnum.DOUBLE_PANEL_FOLDING = { type: 3, value: "DOUBLE_PANEL_FOLDING" }; + IfcDoorTypeOperationEnum.DOUBLE_PANEL_LIFTING_VERTICAL = { type: 3, value: "DOUBLE_PANEL_LIFTING_VERTICAL" }; + IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING = { type: 3, value: "DOUBLE_PANEL_SINGLE_SWING" }; + IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT = { type: 3, value: "DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT" }; + IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT = { type: 3, value: "DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT" }; + IfcDoorTypeOperationEnum.DOUBLE_PANEL_SLIDING = { type: 3, value: "DOUBLE_PANEL_SLIDING" }; + IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT = { type: 3, value: "DOUBLE_SWING_LEFT" }; + IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT = { type: 3, value: "DOUBLE_SWING_RIGHT" }; + IfcDoorTypeOperationEnum.FOLDING_TO_LEFT = { type: 3, value: "FOLDING_TO_LEFT" }; + IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT = { type: 3, value: "FOLDING_TO_RIGHT" }; + IfcDoorTypeOperationEnum.LIFTING_HORIZONTAL = { type: 3, value: "LIFTING_HORIZONTAL" }; + IfcDoorTypeOperationEnum.LIFTING_VERTICAL_LEFT = { type: 3, value: "LIFTING_VERTICAL_LEFT" }; + IfcDoorTypeOperationEnum.LIFTING_VERTICAL_RIGHT = { type: 3, value: "LIFTING_VERTICAL_RIGHT" }; + IfcDoorTypeOperationEnum.REVOLVING_HORIZONTAL = { type: 3, value: "REVOLVING_HORIZONTAL" }; + IfcDoorTypeOperationEnum.REVOLVING_VERTICAL = { type: 3, value: "REVOLVING_VERTICAL" }; + IfcDoorTypeOperationEnum.ROLLINGUP = { type: 3, value: "ROLLINGUP" }; + IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT = { type: 3, value: "SINGLE_SWING_LEFT" }; + IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT = { type: 3, value: "SINGLE_SWING_RIGHT" }; + IfcDoorTypeOperationEnum.SLIDING_TO_LEFT = { type: 3, value: "SLIDING_TO_LEFT" }; + IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT = { type: 3, value: "SLIDING_TO_RIGHT" }; + IfcDoorTypeOperationEnum.SWING_FIXED_LEFT = { type: 3, value: "SWING_FIXED_LEFT" }; + IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT = { type: 3, value: "SWING_FIXED_RIGHT" }; + IfcDoorTypeOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDoorTypeOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDoorTypeOperationEnum = IfcDoorTypeOperationEnum; + class IfcDuctFittingTypeEnum { + } + IfcDuctFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcDuctFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcDuctFittingTypeEnum.ENTRY = { type: 3, value: "ENTRY" }; + IfcDuctFittingTypeEnum.EXIT = { type: 3, value: "EXIT" }; + IfcDuctFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcDuctFittingTypeEnum.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" }; + IfcDuctFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcDuctFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDuctFittingTypeEnum = IfcDuctFittingTypeEnum; + class IfcDuctSegmentTypeEnum { + } + IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" }; + IfcDuctSegmentTypeEnum.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" }; + IfcDuctSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDuctSegmentTypeEnum = IfcDuctSegmentTypeEnum; + class IfcDuctSilencerTypeEnum { + } + IfcDuctSilencerTypeEnum.FLATOVAL = { type: 3, value: "FLATOVAL" }; + IfcDuctSilencerTypeEnum.RECTANGULAR = { type: 3, value: "RECTANGULAR" }; + IfcDuctSilencerTypeEnum.ROUND = { type: 3, value: "ROUND" }; + IfcDuctSilencerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcDuctSilencerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcDuctSilencerTypeEnum = IfcDuctSilencerTypeEnum; + class IfcEarthworksCutTypeEnum { + } + IfcEarthworksCutTypeEnum.BASE_EXCAVATION = { type: 3, value: "BASE_EXCAVATION" }; + IfcEarthworksCutTypeEnum.CUT = { type: 3, value: "CUT" }; + IfcEarthworksCutTypeEnum.DREDGING = { type: 3, value: "DREDGING" }; + IfcEarthworksCutTypeEnum.EXCAVATION = { type: 3, value: "EXCAVATION" }; + IfcEarthworksCutTypeEnum.OVEREXCAVATION = { type: 3, value: "OVEREXCAVATION" }; + IfcEarthworksCutTypeEnum.PAVEMENTMILLING = { type: 3, value: "PAVEMENTMILLING" }; + IfcEarthworksCutTypeEnum.STEPEXCAVATION = { type: 3, value: "STEPEXCAVATION" }; + IfcEarthworksCutTypeEnum.TOPSOILREMOVAL = { type: 3, value: "TOPSOILREMOVAL" }; + IfcEarthworksCutTypeEnum.TRENCH = { type: 3, value: "TRENCH" }; + IfcEarthworksCutTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEarthworksCutTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcEarthworksCutTypeEnum = IfcEarthworksCutTypeEnum; + class IfcEarthworksFillTypeEnum { + } + IfcEarthworksFillTypeEnum.BACKFILL = { type: 3, value: "BACKFILL" }; + IfcEarthworksFillTypeEnum.COUNTERWEIGHT = { type: 3, value: "COUNTERWEIGHT" }; + IfcEarthworksFillTypeEnum.EMBANKMENT = { type: 3, value: "EMBANKMENT" }; + IfcEarthworksFillTypeEnum.SLOPEFILL = { type: 3, value: "SLOPEFILL" }; + IfcEarthworksFillTypeEnum.SUBGRADE = { type: 3, value: "SUBGRADE" }; + IfcEarthworksFillTypeEnum.SUBGRADEBED = { type: 3, value: "SUBGRADEBED" }; + IfcEarthworksFillTypeEnum.TRANSITIONSECTION = { type: 3, value: "TRANSITIONSECTION" }; + IfcEarthworksFillTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEarthworksFillTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcEarthworksFillTypeEnum = IfcEarthworksFillTypeEnum; + class IfcElectricApplianceTypeEnum { + } + IfcElectricApplianceTypeEnum.DISHWASHER = { type: 3, value: "DISHWASHER" }; + IfcElectricApplianceTypeEnum.ELECTRICCOOKER = { type: 3, value: "ELECTRICCOOKER" }; + IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER = { type: 3, value: "FREESTANDINGELECTRICHEATER" }; + IfcElectricApplianceTypeEnum.FREESTANDINGFAN = { type: 3, value: "FREESTANDINGFAN" }; + IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER = { type: 3, value: "FREESTANDINGWATERCOOLER" }; + IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER = { type: 3, value: "FREESTANDINGWATERHEATER" }; + IfcElectricApplianceTypeEnum.FREEZER = { type: 3, value: "FREEZER" }; + IfcElectricApplianceTypeEnum.FRIDGE_FREEZER = { type: 3, value: "FRIDGE_FREEZER" }; + IfcElectricApplianceTypeEnum.HANDDRYER = { type: 3, value: "HANDDRYER" }; + IfcElectricApplianceTypeEnum.KITCHENMACHINE = { type: 3, value: "KITCHENMACHINE" }; + IfcElectricApplianceTypeEnum.MICROWAVE = { type: 3, value: "MICROWAVE" }; + IfcElectricApplianceTypeEnum.PHOTOCOPIER = { type: 3, value: "PHOTOCOPIER" }; + IfcElectricApplianceTypeEnum.REFRIGERATOR = { type: 3, value: "REFRIGERATOR" }; + IfcElectricApplianceTypeEnum.TUMBLEDRYER = { type: 3, value: "TUMBLEDRYER" }; + IfcElectricApplianceTypeEnum.VENDINGMACHINE = { type: 3, value: "VENDINGMACHINE" }; + IfcElectricApplianceTypeEnum.WASHINGMACHINE = { type: 3, value: "WASHINGMACHINE" }; + IfcElectricApplianceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricApplianceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcElectricApplianceTypeEnum = IfcElectricApplianceTypeEnum; + class IfcElectricDistributionBoardTypeEnum { + } + IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT = { type: 3, value: "CONSUMERUNIT" }; + IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD = { type: 3, value: "DISTRIBUTIONBOARD" }; + IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE = { type: 3, value: "MOTORCONTROLCENTRE" }; + IfcElectricDistributionBoardTypeEnum.SWITCHBOARD = { type: 3, value: "SWITCHBOARD" }; + IfcElectricDistributionBoardTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricDistributionBoardTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcElectricDistributionBoardTypeEnum = IfcElectricDistributionBoardTypeEnum; + class IfcElectricFlowStorageDeviceTypeEnum { + } + IfcElectricFlowStorageDeviceTypeEnum.BATTERY = { type: 3, value: "BATTERY" }; + IfcElectricFlowStorageDeviceTypeEnum.CAPACITOR = { type: 3, value: "CAPACITOR" }; + IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK = { type: 3, value: "CAPACITORBANK" }; + IfcElectricFlowStorageDeviceTypeEnum.COMPENSATOR = { type: 3, value: "COMPENSATOR" }; + IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER = { type: 3, value: "HARMONICFILTER" }; + IfcElectricFlowStorageDeviceTypeEnum.INDUCTOR = { type: 3, value: "INDUCTOR" }; + IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK = { type: 3, value: "INDUCTORBANK" }; + IfcElectricFlowStorageDeviceTypeEnum.RECHARGER = { type: 3, value: "RECHARGER" }; + IfcElectricFlowStorageDeviceTypeEnum.UPS = { type: 3, value: "UPS" }; + IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcElectricFlowStorageDeviceTypeEnum = IfcElectricFlowStorageDeviceTypeEnum; + class IfcElectricFlowTreatmentDeviceTypeEnum { + } + IfcElectricFlowTreatmentDeviceTypeEnum.ELECTRONICFILTER = { type: 3, value: "ELECTRONICFILTER" }; + IfcElectricFlowTreatmentDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricFlowTreatmentDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcElectricFlowTreatmentDeviceTypeEnum = IfcElectricFlowTreatmentDeviceTypeEnum; + class IfcElectricGeneratorTypeEnum { + } + IfcElectricGeneratorTypeEnum.CHP = { type: 3, value: "CHP" }; + IfcElectricGeneratorTypeEnum.ENGINEGENERATOR = { type: 3, value: "ENGINEGENERATOR" }; + IfcElectricGeneratorTypeEnum.STANDALONE = { type: 3, value: "STANDALONE" }; + IfcElectricGeneratorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricGeneratorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcElectricGeneratorTypeEnum = IfcElectricGeneratorTypeEnum; + class IfcElectricMotorTypeEnum { + } + IfcElectricMotorTypeEnum.DC = { type: 3, value: "DC" }; + IfcElectricMotorTypeEnum.INDUCTION = { type: 3, value: "INDUCTION" }; + IfcElectricMotorTypeEnum.POLYPHASE = { type: 3, value: "POLYPHASE" }; + IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS = { type: 3, value: "RELUCTANCESYNCHRONOUS" }; + IfcElectricMotorTypeEnum.SYNCHRONOUS = { type: 3, value: "SYNCHRONOUS" }; + IfcElectricMotorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricMotorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcElectricMotorTypeEnum = IfcElectricMotorTypeEnum; + class IfcElectricTimeControlTypeEnum { + } + IfcElectricTimeControlTypeEnum.RELAY = { type: 3, value: "RELAY" }; + IfcElectricTimeControlTypeEnum.TIMECLOCK = { type: 3, value: "TIMECLOCK" }; + IfcElectricTimeControlTypeEnum.TIMEDELAY = { type: 3, value: "TIMEDELAY" }; + IfcElectricTimeControlTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElectricTimeControlTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcElectricTimeControlTypeEnum = IfcElectricTimeControlTypeEnum; + class IfcElementAssemblyTypeEnum { + } + IfcElementAssemblyTypeEnum.ABUTMENT = { type: 3, value: "ABUTMENT" }; + IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY = { type: 3, value: "ACCESSORY_ASSEMBLY" }; + IfcElementAssemblyTypeEnum.ARCH = { type: 3, value: "ARCH" }; + IfcElementAssemblyTypeEnum.BEAM_GRID = { type: 3, value: "BEAM_GRID" }; + IfcElementAssemblyTypeEnum.BRACED_FRAME = { type: 3, value: "BRACED_FRAME" }; + IfcElementAssemblyTypeEnum.CROSS_BRACING = { type: 3, value: "CROSS_BRACING" }; + IfcElementAssemblyTypeEnum.DECK = { type: 3, value: "DECK" }; + IfcElementAssemblyTypeEnum.DILATATIONPANEL = { type: 3, value: "DILATATIONPANEL" }; + IfcElementAssemblyTypeEnum.ENTRANCEWORKS = { type: 3, value: "ENTRANCEWORKS" }; + IfcElementAssemblyTypeEnum.GIRDER = { type: 3, value: "GIRDER" }; + IfcElementAssemblyTypeEnum.GRID = { type: 3, value: "GRID" }; + IfcElementAssemblyTypeEnum.MAST = { type: 3, value: "MAST" }; + IfcElementAssemblyTypeEnum.PIER = { type: 3, value: "PIER" }; + IfcElementAssemblyTypeEnum.PYLON = { type: 3, value: "PYLON" }; + IfcElementAssemblyTypeEnum.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY = { type: 3, value: "RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY" }; + IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT = { type: 3, value: "REINFORCEMENT_UNIT" }; + IfcElementAssemblyTypeEnum.RIGID_FRAME = { type: 3, value: "RIGID_FRAME" }; + IfcElementAssemblyTypeEnum.SHELTER = { type: 3, value: "SHELTER" }; + IfcElementAssemblyTypeEnum.SIGNALASSEMBLY = { type: 3, value: "SIGNALASSEMBLY" }; + IfcElementAssemblyTypeEnum.SLAB_FIELD = { type: 3, value: "SLAB_FIELD" }; + IfcElementAssemblyTypeEnum.SUMPBUSTER = { type: 3, value: "SUMPBUSTER" }; + IfcElementAssemblyTypeEnum.SUPPORTINGASSEMBLY = { type: 3, value: "SUPPORTINGASSEMBLY" }; + IfcElementAssemblyTypeEnum.SUSPENSIONASSEMBLY = { type: 3, value: "SUSPENSIONASSEMBLY" }; + IfcElementAssemblyTypeEnum.TRACKPANEL = { type: 3, value: "TRACKPANEL" }; + IfcElementAssemblyTypeEnum.TRACTION_SWITCHING_ASSEMBLY = { type: 3, value: "TRACTION_SWITCHING_ASSEMBLY" }; + IfcElementAssemblyTypeEnum.TRAFFIC_CALMING_DEVICE = { type: 3, value: "TRAFFIC_CALMING_DEVICE" }; + IfcElementAssemblyTypeEnum.TRUSS = { type: 3, value: "TRUSS" }; + IfcElementAssemblyTypeEnum.TURNOUTPANEL = { type: 3, value: "TURNOUTPANEL" }; + IfcElementAssemblyTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcElementAssemblyTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcElementAssemblyTypeEnum = IfcElementAssemblyTypeEnum; + class IfcElementCompositionEnum { + } + IfcElementCompositionEnum.COMPLEX = { type: 3, value: "COMPLEX" }; + IfcElementCompositionEnum.ELEMENT = { type: 3, value: "ELEMENT" }; + IfcElementCompositionEnum.PARTIAL = { type: 3, value: "PARTIAL" }; + IFC4X32.IfcElementCompositionEnum = IfcElementCompositionEnum; + class IfcEngineTypeEnum { + } + IfcEngineTypeEnum.EXTERNALCOMBUSTION = { type: 3, value: "EXTERNALCOMBUSTION" }; + IfcEngineTypeEnum.INTERNALCOMBUSTION = { type: 3, value: "INTERNALCOMBUSTION" }; + IfcEngineTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEngineTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcEngineTypeEnum = IfcEngineTypeEnum; + class IfcEvaporativeCoolerTypeEnum { + } + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER = { type: 3, value: "DIRECTEVAPORATIVEAIRWASHER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION = { type: 3, value: "INDIRECTDIRECTCOMBINATION" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER = { type: 3, value: "INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER = { type: 3, value: "INDIRECTEVAPORATIVEPACKAGEAIRCOOLER" }; + IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL = { type: 3, value: "INDIRECTEVAPORATIVEWETCOIL" }; + IfcEvaporativeCoolerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEvaporativeCoolerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcEvaporativeCoolerTypeEnum = IfcEvaporativeCoolerTypeEnum; + class IfcEvaporatorTypeEnum { + } + IfcEvaporatorTypeEnum.DIRECTEXPANSION = { type: 3, value: "DIRECTEXPANSION" }; + IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE = { type: 3, value: "DIRECTEXPANSIONBRAZEDPLATE" }; + IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE = { type: 3, value: "DIRECTEXPANSIONSHELLANDTUBE" }; + IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE = { type: 3, value: "DIRECTEXPANSIONTUBEINTUBE" }; + IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE = { type: 3, value: "FLOODEDSHELLANDTUBE" }; + IfcEvaporatorTypeEnum.SHELLANDCOIL = { type: 3, value: "SHELLANDCOIL" }; + IfcEvaporatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEvaporatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcEvaporatorTypeEnum = IfcEvaporatorTypeEnum; + class IfcEventTriggerTypeEnum { + } + IfcEventTriggerTypeEnum.EVENTCOMPLEX = { type: 3, value: "EVENTCOMPLEX" }; + IfcEventTriggerTypeEnum.EVENTMESSAGE = { type: 3, value: "EVENTMESSAGE" }; + IfcEventTriggerTypeEnum.EVENTRULE = { type: 3, value: "EVENTRULE" }; + IfcEventTriggerTypeEnum.EVENTTIME = { type: 3, value: "EVENTTIME" }; + IfcEventTriggerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEventTriggerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcEventTriggerTypeEnum = IfcEventTriggerTypeEnum; + class IfcEventTypeEnum { + } + IfcEventTypeEnum.ENDEVENT = { type: 3, value: "ENDEVENT" }; + IfcEventTypeEnum.INTERMEDIATEEVENT = { type: 3, value: "INTERMEDIATEEVENT" }; + IfcEventTypeEnum.STARTEVENT = { type: 3, value: "STARTEVENT" }; + IfcEventTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcEventTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcEventTypeEnum = IfcEventTypeEnum; + class IfcExternalSpatialElementTypeEnum { + } + IfcExternalSpatialElementTypeEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH = { type: 3, value: "EXTERNAL_EARTH" }; + IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE = { type: 3, value: "EXTERNAL_FIRE" }; + IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER = { type: 3, value: "EXTERNAL_WATER" }; + IfcExternalSpatialElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcExternalSpatialElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcExternalSpatialElementTypeEnum = IfcExternalSpatialElementTypeEnum; + class IfcFacilityPartCommonTypeEnum { + } + IfcFacilityPartCommonTypeEnum.ABOVEGROUND = { type: 3, value: "ABOVEGROUND" }; + IfcFacilityPartCommonTypeEnum.BELOWGROUND = { type: 3, value: "BELOWGROUND" }; + IfcFacilityPartCommonTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcFacilityPartCommonTypeEnum.LEVELCROSSING = { type: 3, value: "LEVELCROSSING" }; + IfcFacilityPartCommonTypeEnum.SEGMENT = { type: 3, value: "SEGMENT" }; + IfcFacilityPartCommonTypeEnum.SUBSTRUCTURE = { type: 3, value: "SUBSTRUCTURE" }; + IfcFacilityPartCommonTypeEnum.SUPERSTRUCTURE = { type: 3, value: "SUPERSTRUCTURE" }; + IfcFacilityPartCommonTypeEnum.TERMINAL = { type: 3, value: "TERMINAL" }; + IfcFacilityPartCommonTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFacilityPartCommonTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFacilityPartCommonTypeEnum = IfcFacilityPartCommonTypeEnum; + class IfcFacilityUsageEnum { + } + IfcFacilityUsageEnum.LATERAL = { type: 3, value: "LATERAL" }; + IfcFacilityUsageEnum.LONGITUDINAL = { type: 3, value: "LONGITUDINAL" }; + IfcFacilityUsageEnum.REGION = { type: 3, value: "REGION" }; + IfcFacilityUsageEnum.VERTICAL = { type: 3, value: "VERTICAL" }; + IfcFacilityUsageEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFacilityUsageEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFacilityUsageEnum = IfcFacilityUsageEnum; + class IfcFanTypeEnum { + } + IfcFanTypeEnum.CENTRIFUGALAIRFOIL = { type: 3, value: "CENTRIFUGALAIRFOIL" }; + IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED = { type: 3, value: "CENTRIFUGALBACKWARDINCLINEDCURVED" }; + IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED = { type: 3, value: "CENTRIFUGALFORWARDCURVED" }; + IfcFanTypeEnum.CENTRIFUGALRADIAL = { type: 3, value: "CENTRIFUGALRADIAL" }; + IfcFanTypeEnum.PROPELLORAXIAL = { type: 3, value: "PROPELLORAXIAL" }; + IfcFanTypeEnum.TUBEAXIAL = { type: 3, value: "TUBEAXIAL" }; + IfcFanTypeEnum.VANEAXIAL = { type: 3, value: "VANEAXIAL" }; + IfcFanTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFanTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFanTypeEnum = IfcFanTypeEnum; + class IfcFastenerTypeEnum { + } + IfcFastenerTypeEnum.GLUE = { type: 3, value: "GLUE" }; + IfcFastenerTypeEnum.MORTAR = { type: 3, value: "MORTAR" }; + IfcFastenerTypeEnum.WELD = { type: 3, value: "WELD" }; + IfcFastenerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFastenerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFastenerTypeEnum = IfcFastenerTypeEnum; + class IfcFilterTypeEnum { + } + IfcFilterTypeEnum.AIRPARTICLEFILTER = { type: 3, value: "AIRPARTICLEFILTER" }; + IfcFilterTypeEnum.COMPRESSEDAIRFILTER = { type: 3, value: "COMPRESSEDAIRFILTER" }; + IfcFilterTypeEnum.ODORFILTER = { type: 3, value: "ODORFILTER" }; + IfcFilterTypeEnum.OILFILTER = { type: 3, value: "OILFILTER" }; + IfcFilterTypeEnum.STRAINER = { type: 3, value: "STRAINER" }; + IfcFilterTypeEnum.WATERFILTER = { type: 3, value: "WATERFILTER" }; + IfcFilterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFilterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFilterTypeEnum = IfcFilterTypeEnum; + class IfcFireSuppressionTerminalTypeEnum { + } + IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET = { type: 3, value: "BREECHINGINLET" }; + IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT = { type: 3, value: "FIREHYDRANT" }; + IfcFireSuppressionTerminalTypeEnum.FIREMONITOR = { type: 3, value: "FIREMONITOR" }; + IfcFireSuppressionTerminalTypeEnum.HOSEREEL = { type: 3, value: "HOSEREEL" }; + IfcFireSuppressionTerminalTypeEnum.SPRINKLER = { type: 3, value: "SPRINKLER" }; + IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR = { type: 3, value: "SPRINKLERDEFLECTOR" }; + IfcFireSuppressionTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFireSuppressionTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFireSuppressionTerminalTypeEnum = IfcFireSuppressionTerminalTypeEnum; + class IfcFlowDirectionEnum { + } + IfcFlowDirectionEnum.SINK = { type: 3, value: "SINK" }; + IfcFlowDirectionEnum.SOURCE = { type: 3, value: "SOURCE" }; + IfcFlowDirectionEnum.SOURCEANDSINK = { type: 3, value: "SOURCEANDSINK" }; + IfcFlowDirectionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFlowDirectionEnum = IfcFlowDirectionEnum; + class IfcFlowInstrumentTypeEnum { + } + IfcFlowInstrumentTypeEnum.AMMETER = { type: 3, value: "AMMETER" }; + IfcFlowInstrumentTypeEnum.COMBINED = { type: 3, value: "COMBINED" }; + IfcFlowInstrumentTypeEnum.FREQUENCYMETER = { type: 3, value: "FREQUENCYMETER" }; + IfcFlowInstrumentTypeEnum.PHASEANGLEMETER = { type: 3, value: "PHASEANGLEMETER" }; + IfcFlowInstrumentTypeEnum.POWERFACTORMETER = { type: 3, value: "POWERFACTORMETER" }; + IfcFlowInstrumentTypeEnum.PRESSUREGAUGE = { type: 3, value: "PRESSUREGAUGE" }; + IfcFlowInstrumentTypeEnum.THERMOMETER = { type: 3, value: "THERMOMETER" }; + IfcFlowInstrumentTypeEnum.VOLTMETER = { type: 3, value: "VOLTMETER" }; + IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK = { type: 3, value: "VOLTMETER_PEAK" }; + IfcFlowInstrumentTypeEnum.VOLTMETER_RMS = { type: 3, value: "VOLTMETER_RMS" }; + IfcFlowInstrumentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFlowInstrumentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFlowInstrumentTypeEnum = IfcFlowInstrumentTypeEnum; + class IfcFlowMeterTypeEnum { + } + IfcFlowMeterTypeEnum.ENERGYMETER = { type: 3, value: "ENERGYMETER" }; + IfcFlowMeterTypeEnum.GASMETER = { type: 3, value: "GASMETER" }; + IfcFlowMeterTypeEnum.OILMETER = { type: 3, value: "OILMETER" }; + IfcFlowMeterTypeEnum.WATERMETER = { type: 3, value: "WATERMETER" }; + IfcFlowMeterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFlowMeterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFlowMeterTypeEnum = IfcFlowMeterTypeEnum; + class IfcFootingTypeEnum { + } + IfcFootingTypeEnum.CAISSON_FOUNDATION = { type: 3, value: "CAISSON_FOUNDATION" }; + IfcFootingTypeEnum.FOOTING_BEAM = { type: 3, value: "FOOTING_BEAM" }; + IfcFootingTypeEnum.PAD_FOOTING = { type: 3, value: "PAD_FOOTING" }; + IfcFootingTypeEnum.PILE_CAP = { type: 3, value: "PILE_CAP" }; + IfcFootingTypeEnum.STRIP_FOOTING = { type: 3, value: "STRIP_FOOTING" }; + IfcFootingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFootingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFootingTypeEnum = IfcFootingTypeEnum; + class IfcFurnitureTypeEnum { + } + IfcFurnitureTypeEnum.BED = { type: 3, value: "BED" }; + IfcFurnitureTypeEnum.CHAIR = { type: 3, value: "CHAIR" }; + IfcFurnitureTypeEnum.DESK = { type: 3, value: "DESK" }; + IfcFurnitureTypeEnum.FILECABINET = { type: 3, value: "FILECABINET" }; + IfcFurnitureTypeEnum.SHELF = { type: 3, value: "SHELF" }; + IfcFurnitureTypeEnum.SOFA = { type: 3, value: "SOFA" }; + IfcFurnitureTypeEnum.TABLE = { type: 3, value: "TABLE" }; + IfcFurnitureTypeEnum.TECHNICALCABINET = { type: 3, value: "TECHNICALCABINET" }; + IfcFurnitureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcFurnitureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcFurnitureTypeEnum = IfcFurnitureTypeEnum; + class IfcGeographicElementTypeEnum { + } + IfcGeographicElementTypeEnum.SOIL_BORING_POINT = { type: 3, value: "SOIL_BORING_POINT" }; + IfcGeographicElementTypeEnum.TERRAIN = { type: 3, value: "TERRAIN" }; + IfcGeographicElementTypeEnum.VEGETATION = { type: 3, value: "VEGETATION" }; + IfcGeographicElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGeographicElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcGeographicElementTypeEnum = IfcGeographicElementTypeEnum; + class IfcGeometricProjectionEnum { + } + IfcGeometricProjectionEnum.ELEVATION_VIEW = { type: 3, value: "ELEVATION_VIEW" }; + IfcGeometricProjectionEnum.GRAPH_VIEW = { type: 3, value: "GRAPH_VIEW" }; + IfcGeometricProjectionEnum.MODEL_VIEW = { type: 3, value: "MODEL_VIEW" }; + IfcGeometricProjectionEnum.PLAN_VIEW = { type: 3, value: "PLAN_VIEW" }; + IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW = { type: 3, value: "REFLECTED_PLAN_VIEW" }; + IfcGeometricProjectionEnum.SECTION_VIEW = { type: 3, value: "SECTION_VIEW" }; + IfcGeometricProjectionEnum.SKETCH_VIEW = { type: 3, value: "SKETCH_VIEW" }; + IfcGeometricProjectionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGeometricProjectionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcGeometricProjectionEnum = IfcGeometricProjectionEnum; + class IfcGeotechnicalStratumTypeEnum { + } + IfcGeotechnicalStratumTypeEnum.SOLID = { type: 3, value: "SOLID" }; + IfcGeotechnicalStratumTypeEnum.VOID = { type: 3, value: "VOID" }; + IfcGeotechnicalStratumTypeEnum.WATER = { type: 3, value: "WATER" }; + IfcGeotechnicalStratumTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGeotechnicalStratumTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcGeotechnicalStratumTypeEnum = IfcGeotechnicalStratumTypeEnum; + class IfcGlobalOrLocalEnum { + } + IfcGlobalOrLocalEnum.GLOBAL_COORDS = { type: 3, value: "GLOBAL_COORDS" }; + IfcGlobalOrLocalEnum.LOCAL_COORDS = { type: 3, value: "LOCAL_COORDS" }; + IFC4X32.IfcGlobalOrLocalEnum = IfcGlobalOrLocalEnum; + class IfcGridTypeEnum { + } + IfcGridTypeEnum.IRREGULAR = { type: 3, value: "IRREGULAR" }; + IfcGridTypeEnum.RADIAL = { type: 3, value: "RADIAL" }; + IfcGridTypeEnum.RECTANGULAR = { type: 3, value: "RECTANGULAR" }; + IfcGridTypeEnum.TRIANGULAR = { type: 3, value: "TRIANGULAR" }; + IfcGridTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcGridTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcGridTypeEnum = IfcGridTypeEnum; + class IfcHeatExchangerTypeEnum { + } + IfcHeatExchangerTypeEnum.PLATE = { type: 3, value: "PLATE" }; + IfcHeatExchangerTypeEnum.SHELLANDTUBE = { type: 3, value: "SHELLANDTUBE" }; + IfcHeatExchangerTypeEnum.TURNOUTHEATING = { type: 3, value: "TURNOUTHEATING" }; + IfcHeatExchangerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcHeatExchangerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcHeatExchangerTypeEnum = IfcHeatExchangerTypeEnum; + class IfcHumidifierTypeEnum { + } + IfcHumidifierTypeEnum.ADIABATICAIRWASHER = { type: 3, value: "ADIABATICAIRWASHER" }; + IfcHumidifierTypeEnum.ADIABATICATOMIZING = { type: 3, value: "ADIABATICATOMIZING" }; + IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE = { type: 3, value: "ADIABATICCOMPRESSEDAIRNOZZLE" }; + IfcHumidifierTypeEnum.ADIABATICPAN = { type: 3, value: "ADIABATICPAN" }; + IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA = { type: 3, value: "ADIABATICRIGIDMEDIA" }; + IfcHumidifierTypeEnum.ADIABATICULTRASONIC = { type: 3, value: "ADIABATICULTRASONIC" }; + IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT = { type: 3, value: "ADIABATICWETTEDELEMENT" }; + IfcHumidifierTypeEnum.ASSISTEDBUTANE = { type: 3, value: "ASSISTEDBUTANE" }; + IfcHumidifierTypeEnum.ASSISTEDELECTRIC = { type: 3, value: "ASSISTEDELECTRIC" }; + IfcHumidifierTypeEnum.ASSISTEDNATURALGAS = { type: 3, value: "ASSISTEDNATURALGAS" }; + IfcHumidifierTypeEnum.ASSISTEDPROPANE = { type: 3, value: "ASSISTEDPROPANE" }; + IfcHumidifierTypeEnum.ASSISTEDSTEAM = { type: 3, value: "ASSISTEDSTEAM" }; + IfcHumidifierTypeEnum.STEAMINJECTION = { type: 3, value: "STEAMINJECTION" }; + IfcHumidifierTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcHumidifierTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcHumidifierTypeEnum = IfcHumidifierTypeEnum; + class IfcImpactProtectionDeviceTypeEnum { + } + IfcImpactProtectionDeviceTypeEnum.BUMPER = { type: 3, value: "BUMPER" }; + IfcImpactProtectionDeviceTypeEnum.CRASHCUSHION = { type: 3, value: "CRASHCUSHION" }; + IfcImpactProtectionDeviceTypeEnum.DAMPINGSYSTEM = { type: 3, value: "DAMPINGSYSTEM" }; + IfcImpactProtectionDeviceTypeEnum.FENDER = { type: 3, value: "FENDER" }; + IfcImpactProtectionDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcImpactProtectionDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcImpactProtectionDeviceTypeEnum = IfcImpactProtectionDeviceTypeEnum; + class IfcInterceptorTypeEnum { + } + IfcInterceptorTypeEnum.CYCLONIC = { type: 3, value: "CYCLONIC" }; + IfcInterceptorTypeEnum.GREASE = { type: 3, value: "GREASE" }; + IfcInterceptorTypeEnum.OIL = { type: 3, value: "OIL" }; + IfcInterceptorTypeEnum.PETROL = { type: 3, value: "PETROL" }; + IfcInterceptorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcInterceptorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcInterceptorTypeEnum = IfcInterceptorTypeEnum; + class IfcInternalOrExternalEnum { + } + IfcInternalOrExternalEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcInternalOrExternalEnum.EXTERNAL_EARTH = { type: 3, value: "EXTERNAL_EARTH" }; + IfcInternalOrExternalEnum.EXTERNAL_FIRE = { type: 3, value: "EXTERNAL_FIRE" }; + IfcInternalOrExternalEnum.EXTERNAL_WATER = { type: 3, value: "EXTERNAL_WATER" }; + IfcInternalOrExternalEnum.INTERNAL = { type: 3, value: "INTERNAL" }; + IfcInternalOrExternalEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcInternalOrExternalEnum = IfcInternalOrExternalEnum; + class IfcInventoryTypeEnum { + } + IfcInventoryTypeEnum.ASSETINVENTORY = { type: 3, value: "ASSETINVENTORY" }; + IfcInventoryTypeEnum.FURNITUREINVENTORY = { type: 3, value: "FURNITUREINVENTORY" }; + IfcInventoryTypeEnum.SPACEINVENTORY = { type: 3, value: "SPACEINVENTORY" }; + IfcInventoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcInventoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcInventoryTypeEnum = IfcInventoryTypeEnum; + class IfcJunctionBoxTypeEnum { + } + IfcJunctionBoxTypeEnum.DATA = { type: 3, value: "DATA" }; + IfcJunctionBoxTypeEnum.POWER = { type: 3, value: "POWER" }; + IfcJunctionBoxTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcJunctionBoxTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcJunctionBoxTypeEnum = IfcJunctionBoxTypeEnum; + class IfcKnotType { + } + IfcKnotType.PIECEWISE_BEZIER_KNOTS = { type: 3, value: "PIECEWISE_BEZIER_KNOTS" }; + IfcKnotType.QUASI_UNIFORM_KNOTS = { type: 3, value: "QUASI_UNIFORM_KNOTS" }; + IfcKnotType.UNIFORM_KNOTS = { type: 3, value: "UNIFORM_KNOTS" }; + IfcKnotType.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC4X32.IfcKnotType = IfcKnotType; + class IfcLaborResourceTypeEnum { + } + IfcLaborResourceTypeEnum.ADMINISTRATION = { type: 3, value: "ADMINISTRATION" }; + IfcLaborResourceTypeEnum.CARPENTRY = { type: 3, value: "CARPENTRY" }; + IfcLaborResourceTypeEnum.CLEANING = { type: 3, value: "CLEANING" }; + IfcLaborResourceTypeEnum.CONCRETE = { type: 3, value: "CONCRETE" }; + IfcLaborResourceTypeEnum.DRYWALL = { type: 3, value: "DRYWALL" }; + IfcLaborResourceTypeEnum.ELECTRIC = { type: 3, value: "ELECTRIC" }; + IfcLaborResourceTypeEnum.FINISHING = { type: 3, value: "FINISHING" }; + IfcLaborResourceTypeEnum.FLOORING = { type: 3, value: "FLOORING" }; + IfcLaborResourceTypeEnum.GENERAL = { type: 3, value: "GENERAL" }; + IfcLaborResourceTypeEnum.HVAC = { type: 3, value: "HVAC" }; + IfcLaborResourceTypeEnum.LANDSCAPING = { type: 3, value: "LANDSCAPING" }; + IfcLaborResourceTypeEnum.MASONRY = { type: 3, value: "MASONRY" }; + IfcLaborResourceTypeEnum.PAINTING = { type: 3, value: "PAINTING" }; + IfcLaborResourceTypeEnum.PAVING = { type: 3, value: "PAVING" }; + IfcLaborResourceTypeEnum.PLUMBING = { type: 3, value: "PLUMBING" }; + IfcLaborResourceTypeEnum.ROOFING = { type: 3, value: "ROOFING" }; + IfcLaborResourceTypeEnum.SITEGRADING = { type: 3, value: "SITEGRADING" }; + IfcLaborResourceTypeEnum.STEELWORK = { type: 3, value: "STEELWORK" }; + IfcLaborResourceTypeEnum.SURVEYING = { type: 3, value: "SURVEYING" }; + IfcLaborResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLaborResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcLaborResourceTypeEnum = IfcLaborResourceTypeEnum; + class IfcLampTypeEnum { + } + IfcLampTypeEnum.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" }; + IfcLampTypeEnum.FLUORESCENT = { type: 3, value: "FLUORESCENT" }; + IfcLampTypeEnum.HALOGEN = { type: 3, value: "HALOGEN" }; + IfcLampTypeEnum.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" }; + IfcLampTypeEnum.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" }; + IfcLampTypeEnum.LED = { type: 3, value: "LED" }; + IfcLampTypeEnum.METALHALIDE = { type: 3, value: "METALHALIDE" }; + IfcLampTypeEnum.OLED = { type: 3, value: "OLED" }; + IfcLampTypeEnum.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" }; + IfcLampTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLampTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcLampTypeEnum = IfcLampTypeEnum; + class IfcLayerSetDirectionEnum { + } + IfcLayerSetDirectionEnum.AXIS1 = { type: 3, value: "AXIS1" }; + IfcLayerSetDirectionEnum.AXIS2 = { type: 3, value: "AXIS2" }; + IfcLayerSetDirectionEnum.AXIS3 = { type: 3, value: "AXIS3" }; + IFC4X32.IfcLayerSetDirectionEnum = IfcLayerSetDirectionEnum; + class IfcLightDistributionCurveEnum { + } + IfcLightDistributionCurveEnum.TYPE_A = { type: 3, value: "TYPE_A" }; + IfcLightDistributionCurveEnum.TYPE_B = { type: 3, value: "TYPE_B" }; + IfcLightDistributionCurveEnum.TYPE_C = { type: 3, value: "TYPE_C" }; + IfcLightDistributionCurveEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcLightDistributionCurveEnum = IfcLightDistributionCurveEnum; + class IfcLightEmissionSourceEnum { + } + IfcLightEmissionSourceEnum.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" }; + IfcLightEmissionSourceEnum.FLUORESCENT = { type: 3, value: "FLUORESCENT" }; + IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" }; + IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" }; + IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE = { type: 3, value: "LIGHTEMITTINGDIODE" }; + IfcLightEmissionSourceEnum.LOWPRESSURESODIUM = { type: 3, value: "LOWPRESSURESODIUM" }; + IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN = { type: 3, value: "LOWVOLTAGEHALOGEN" }; + IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN = { type: 3, value: "MAINVOLTAGEHALOGEN" }; + IfcLightEmissionSourceEnum.METALHALIDE = { type: 3, value: "METALHALIDE" }; + IfcLightEmissionSourceEnum.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" }; + IfcLightEmissionSourceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcLightEmissionSourceEnum = IfcLightEmissionSourceEnum; + class IfcLightFixtureTypeEnum { + } + IfcLightFixtureTypeEnum.DIRECTIONSOURCE = { type: 3, value: "DIRECTIONSOURCE" }; + IfcLightFixtureTypeEnum.POINTSOURCE = { type: 3, value: "POINTSOURCE" }; + IfcLightFixtureTypeEnum.SECURITYLIGHTING = { type: 3, value: "SECURITYLIGHTING" }; + IfcLightFixtureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLightFixtureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcLightFixtureTypeEnum = IfcLightFixtureTypeEnum; + class IfcLiquidTerminalTypeEnum { + } + IfcLiquidTerminalTypeEnum.HOSEREEL = { type: 3, value: "HOSEREEL" }; + IfcLiquidTerminalTypeEnum.LOADINGARM = { type: 3, value: "LOADINGARM" }; + IfcLiquidTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLiquidTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcLiquidTerminalTypeEnum = IfcLiquidTerminalTypeEnum; + class IfcLoadGroupTypeEnum { + } + IfcLoadGroupTypeEnum.LOAD_CASE = { type: 3, value: "LOAD_CASE" }; + IfcLoadGroupTypeEnum.LOAD_COMBINATION = { type: 3, value: "LOAD_COMBINATION" }; + IfcLoadGroupTypeEnum.LOAD_GROUP = { type: 3, value: "LOAD_GROUP" }; + IfcLoadGroupTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcLoadGroupTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcLoadGroupTypeEnum = IfcLoadGroupTypeEnum; + class IfcLogicalOperatorEnum { + } + IfcLogicalOperatorEnum.LOGICALAND = { type: 3, value: "LOGICALAND" }; + IfcLogicalOperatorEnum.LOGICALNOTAND = { type: 3, value: "LOGICALNOTAND" }; + IfcLogicalOperatorEnum.LOGICALNOTOR = { type: 3, value: "LOGICALNOTOR" }; + IfcLogicalOperatorEnum.LOGICALOR = { type: 3, value: "LOGICALOR" }; + IfcLogicalOperatorEnum.LOGICALXOR = { type: 3, value: "LOGICALXOR" }; + IFC4X32.IfcLogicalOperatorEnum = IfcLogicalOperatorEnum; + class IfcMarineFacilityTypeEnum { + } + IfcMarineFacilityTypeEnum.BARRIERBEACH = { type: 3, value: "BARRIERBEACH" }; + IfcMarineFacilityTypeEnum.BREAKWATER = { type: 3, value: "BREAKWATER" }; + IfcMarineFacilityTypeEnum.CANAL = { type: 3, value: "CANAL" }; + IfcMarineFacilityTypeEnum.DRYDOCK = { type: 3, value: "DRYDOCK" }; + IfcMarineFacilityTypeEnum.FLOATINGDOCK = { type: 3, value: "FLOATINGDOCK" }; + IfcMarineFacilityTypeEnum.HYDROLIFT = { type: 3, value: "HYDROLIFT" }; + IfcMarineFacilityTypeEnum.JETTY = { type: 3, value: "JETTY" }; + IfcMarineFacilityTypeEnum.LAUNCHRECOVERY = { type: 3, value: "LAUNCHRECOVERY" }; + IfcMarineFacilityTypeEnum.MARINEDEFENCE = { type: 3, value: "MARINEDEFENCE" }; + IfcMarineFacilityTypeEnum.NAVIGATIONALCHANNEL = { type: 3, value: "NAVIGATIONALCHANNEL" }; + IfcMarineFacilityTypeEnum.PORT = { type: 3, value: "PORT" }; + IfcMarineFacilityTypeEnum.QUAY = { type: 3, value: "QUAY" }; + IfcMarineFacilityTypeEnum.REVETMENT = { type: 3, value: "REVETMENT" }; + IfcMarineFacilityTypeEnum.SHIPLIFT = { type: 3, value: "SHIPLIFT" }; + IfcMarineFacilityTypeEnum.SHIPLOCK = { type: 3, value: "SHIPLOCK" }; + IfcMarineFacilityTypeEnum.SHIPYARD = { type: 3, value: "SHIPYARD" }; + IfcMarineFacilityTypeEnum.SLIPWAY = { type: 3, value: "SLIPWAY" }; + IfcMarineFacilityTypeEnum.WATERWAY = { type: 3, value: "WATERWAY" }; + IfcMarineFacilityTypeEnum.WATERWAYSHIPLIFT = { type: 3, value: "WATERWAYSHIPLIFT" }; + IfcMarineFacilityTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMarineFacilityTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcMarineFacilityTypeEnum = IfcMarineFacilityTypeEnum; + class IfcMarinePartTypeEnum { + } + IfcMarinePartTypeEnum.ABOVEWATERLINE = { type: 3, value: "ABOVEWATERLINE" }; + IfcMarinePartTypeEnum.ANCHORAGE = { type: 3, value: "ANCHORAGE" }; + IfcMarinePartTypeEnum.APPROACHCHANNEL = { type: 3, value: "APPROACHCHANNEL" }; + IfcMarinePartTypeEnum.BELOWWATERLINE = { type: 3, value: "BELOWWATERLINE" }; + IfcMarinePartTypeEnum.BERTHINGSTRUCTURE = { type: 3, value: "BERTHINGSTRUCTURE" }; + IfcMarinePartTypeEnum.CHAMBER = { type: 3, value: "CHAMBER" }; + IfcMarinePartTypeEnum.CILL_LEVEL = { type: 3, value: "CILL_LEVEL" }; + IfcMarinePartTypeEnum.COPELEVEL = { type: 3, value: "COPELEVEL" }; + IfcMarinePartTypeEnum.CORE = { type: 3, value: "CORE" }; + IfcMarinePartTypeEnum.CREST = { type: 3, value: "CREST" }; + IfcMarinePartTypeEnum.GATEHEAD = { type: 3, value: "GATEHEAD" }; + IfcMarinePartTypeEnum.GUDINGSTRUCTURE = { type: 3, value: "GUDINGSTRUCTURE" }; + IfcMarinePartTypeEnum.HIGHWATERLINE = { type: 3, value: "HIGHWATERLINE" }; + IfcMarinePartTypeEnum.LANDFIELD = { type: 3, value: "LANDFIELD" }; + IfcMarinePartTypeEnum.LEEWARDSIDE = { type: 3, value: "LEEWARDSIDE" }; + IfcMarinePartTypeEnum.LOWWATERLINE = { type: 3, value: "LOWWATERLINE" }; + IfcMarinePartTypeEnum.MANUFACTURING = { type: 3, value: "MANUFACTURING" }; + IfcMarinePartTypeEnum.NAVIGATIONALAREA = { type: 3, value: "NAVIGATIONALAREA" }; + IfcMarinePartTypeEnum.PROTECTION = { type: 3, value: "PROTECTION" }; + IfcMarinePartTypeEnum.SHIPTRANSFER = { type: 3, value: "SHIPTRANSFER" }; + IfcMarinePartTypeEnum.STORAGEAREA = { type: 3, value: "STORAGEAREA" }; + IfcMarinePartTypeEnum.VEHICLESERVICING = { type: 3, value: "VEHICLESERVICING" }; + IfcMarinePartTypeEnum.WATERFIELD = { type: 3, value: "WATERFIELD" }; + IfcMarinePartTypeEnum.WEATHERSIDE = { type: 3, value: "WEATHERSIDE" }; + IfcMarinePartTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMarinePartTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcMarinePartTypeEnum = IfcMarinePartTypeEnum; + class IfcMechanicalFastenerTypeEnum { + } + IfcMechanicalFastenerTypeEnum.ANCHORBOLT = { type: 3, value: "ANCHORBOLT" }; + IfcMechanicalFastenerTypeEnum.BOLT = { type: 3, value: "BOLT" }; + IfcMechanicalFastenerTypeEnum.CHAIN = { type: 3, value: "CHAIN" }; + IfcMechanicalFastenerTypeEnum.COUPLER = { type: 3, value: "COUPLER" }; + IfcMechanicalFastenerTypeEnum.DOWEL = { type: 3, value: "DOWEL" }; + IfcMechanicalFastenerTypeEnum.NAIL = { type: 3, value: "NAIL" }; + IfcMechanicalFastenerTypeEnum.NAILPLATE = { type: 3, value: "NAILPLATE" }; + IfcMechanicalFastenerTypeEnum.RAILFASTENING = { type: 3, value: "RAILFASTENING" }; + IfcMechanicalFastenerTypeEnum.RAILJOINT = { type: 3, value: "RAILJOINT" }; + IfcMechanicalFastenerTypeEnum.RIVET = { type: 3, value: "RIVET" }; + IfcMechanicalFastenerTypeEnum.ROPE = { type: 3, value: "ROPE" }; + IfcMechanicalFastenerTypeEnum.SCREW = { type: 3, value: "SCREW" }; + IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR = { type: 3, value: "SHEARCONNECTOR" }; + IfcMechanicalFastenerTypeEnum.STAPLE = { type: 3, value: "STAPLE" }; + IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR = { type: 3, value: "STUDSHEARCONNECTOR" }; + IfcMechanicalFastenerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMechanicalFastenerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcMechanicalFastenerTypeEnum = IfcMechanicalFastenerTypeEnum; + class IfcMedicalDeviceTypeEnum { + } + IfcMedicalDeviceTypeEnum.AIRSTATION = { type: 3, value: "AIRSTATION" }; + IfcMedicalDeviceTypeEnum.FEEDAIRUNIT = { type: 3, value: "FEEDAIRUNIT" }; + IfcMedicalDeviceTypeEnum.OXYGENGENERATOR = { type: 3, value: "OXYGENGENERATOR" }; + IfcMedicalDeviceTypeEnum.OXYGENPLANT = { type: 3, value: "OXYGENPLANT" }; + IfcMedicalDeviceTypeEnum.VACUUMSTATION = { type: 3, value: "VACUUMSTATION" }; + IfcMedicalDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMedicalDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcMedicalDeviceTypeEnum = IfcMedicalDeviceTypeEnum; + class IfcMemberTypeEnum { + } + IfcMemberTypeEnum.ARCH_SEGMENT = { type: 3, value: "ARCH_SEGMENT" }; + IfcMemberTypeEnum.BRACE = { type: 3, value: "BRACE" }; + IfcMemberTypeEnum.CHORD = { type: 3, value: "CHORD" }; + IfcMemberTypeEnum.COLLAR = { type: 3, value: "COLLAR" }; + IfcMemberTypeEnum.MEMBER = { type: 3, value: "MEMBER" }; + IfcMemberTypeEnum.MULLION = { type: 3, value: "MULLION" }; + IfcMemberTypeEnum.PLATE = { type: 3, value: "PLATE" }; + IfcMemberTypeEnum.POST = { type: 3, value: "POST" }; + IfcMemberTypeEnum.PURLIN = { type: 3, value: "PURLIN" }; + IfcMemberTypeEnum.RAFTER = { type: 3, value: "RAFTER" }; + IfcMemberTypeEnum.STAY_CABLE = { type: 3, value: "STAY_CABLE" }; + IfcMemberTypeEnum.STIFFENING_RIB = { type: 3, value: "STIFFENING_RIB" }; + IfcMemberTypeEnum.STRINGER = { type: 3, value: "STRINGER" }; + IfcMemberTypeEnum.STRUCTURALCABLE = { type: 3, value: "STRUCTURALCABLE" }; + IfcMemberTypeEnum.STRUT = { type: 3, value: "STRUT" }; + IfcMemberTypeEnum.STUD = { type: 3, value: "STUD" }; + IfcMemberTypeEnum.SUSPENDER = { type: 3, value: "SUSPENDER" }; + IfcMemberTypeEnum.SUSPENSION_CABLE = { type: 3, value: "SUSPENSION_CABLE" }; + IfcMemberTypeEnum.TIEBAR = { type: 3, value: "TIEBAR" }; + IfcMemberTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMemberTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcMemberTypeEnum = IfcMemberTypeEnum; + class IfcMobileTelecommunicationsApplianceTypeEnum { + } + IfcMobileTelecommunicationsApplianceTypeEnum.ACCESSPOINT = { type: 3, value: "ACCESSPOINT" }; + IfcMobileTelecommunicationsApplianceTypeEnum.BASEBANDUNIT = { type: 3, value: "BASEBANDUNIT" }; + IfcMobileTelecommunicationsApplianceTypeEnum.BASETRANSCEIVERSTATION = { type: 3, value: "BASETRANSCEIVERSTATION" }; + IfcMobileTelecommunicationsApplianceTypeEnum.E_UTRAN_NODE_B = { type: 3, value: "E_UTRAN_NODE_B" }; + IfcMobileTelecommunicationsApplianceTypeEnum.GATEWAY_GPRS_SUPPORT_NODE = { type: 3, value: "GATEWAY_GPRS_SUPPORT_NODE" }; + IfcMobileTelecommunicationsApplianceTypeEnum.MASTERUNIT = { type: 3, value: "MASTERUNIT" }; + IfcMobileTelecommunicationsApplianceTypeEnum.MOBILESWITCHINGCENTER = { type: 3, value: "MOBILESWITCHINGCENTER" }; + IfcMobileTelecommunicationsApplianceTypeEnum.MSCSERVER = { type: 3, value: "MSCSERVER" }; + IfcMobileTelecommunicationsApplianceTypeEnum.PACKETCONTROLUNIT = { type: 3, value: "PACKETCONTROLUNIT" }; + IfcMobileTelecommunicationsApplianceTypeEnum.REMOTERADIOUNIT = { type: 3, value: "REMOTERADIOUNIT" }; + IfcMobileTelecommunicationsApplianceTypeEnum.REMOTEUNIT = { type: 3, value: "REMOTEUNIT" }; + IfcMobileTelecommunicationsApplianceTypeEnum.SERVICE_GPRS_SUPPORT_NODE = { type: 3, value: "SERVICE_GPRS_SUPPORT_NODE" }; + IfcMobileTelecommunicationsApplianceTypeEnum.SUBSCRIBERSERVER = { type: 3, value: "SUBSCRIBERSERVER" }; + IfcMobileTelecommunicationsApplianceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMobileTelecommunicationsApplianceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcMobileTelecommunicationsApplianceTypeEnum = IfcMobileTelecommunicationsApplianceTypeEnum; + class IfcMooringDeviceTypeEnum { + } + IfcMooringDeviceTypeEnum.BOLLARD = { type: 3, value: "BOLLARD" }; + IfcMooringDeviceTypeEnum.LINETENSIONER = { type: 3, value: "LINETENSIONER" }; + IfcMooringDeviceTypeEnum.MAGNETICDEVICE = { type: 3, value: "MAGNETICDEVICE" }; + IfcMooringDeviceTypeEnum.MOORINGHOOKS = { type: 3, value: "MOORINGHOOKS" }; + IfcMooringDeviceTypeEnum.VACUUMDEVICE = { type: 3, value: "VACUUMDEVICE" }; + IfcMooringDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMooringDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcMooringDeviceTypeEnum = IfcMooringDeviceTypeEnum; + class IfcMotorConnectionTypeEnum { + } + IfcMotorConnectionTypeEnum.BELTDRIVE = { type: 3, value: "BELTDRIVE" }; + IfcMotorConnectionTypeEnum.COUPLING = { type: 3, value: "COUPLING" }; + IfcMotorConnectionTypeEnum.DIRECTDRIVE = { type: 3, value: "DIRECTDRIVE" }; + IfcMotorConnectionTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcMotorConnectionTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcMotorConnectionTypeEnum = IfcMotorConnectionTypeEnum; + class IfcNavigationElementTypeEnum { + } + IfcNavigationElementTypeEnum.BEACON = { type: 3, value: "BEACON" }; + IfcNavigationElementTypeEnum.BUOY = { type: 3, value: "BUOY" }; + IfcNavigationElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcNavigationElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcNavigationElementTypeEnum = IfcNavigationElementTypeEnum; + class IfcObjectTypeEnum { + } + IfcObjectTypeEnum.ACTOR = { type: 3, value: "ACTOR" }; + IfcObjectTypeEnum.CONTROL = { type: 3, value: "CONTROL" }; + IfcObjectTypeEnum.GROUP = { type: 3, value: "GROUP" }; + IfcObjectTypeEnum.PROCESS = { type: 3, value: "PROCESS" }; + IfcObjectTypeEnum.PRODUCT = { type: 3, value: "PRODUCT" }; + IfcObjectTypeEnum.PROJECT = { type: 3, value: "PROJECT" }; + IfcObjectTypeEnum.RESOURCE = { type: 3, value: "RESOURCE" }; + IfcObjectTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcObjectTypeEnum = IfcObjectTypeEnum; + class IfcObjectiveEnum { + } + IfcObjectiveEnum.CODECOMPLIANCE = { type: 3, value: "CODECOMPLIANCE" }; + IfcObjectiveEnum.CODEWAIVER = { type: 3, value: "CODEWAIVER" }; + IfcObjectiveEnum.DESIGNINTENT = { type: 3, value: "DESIGNINTENT" }; + IfcObjectiveEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcObjectiveEnum.HEALTHANDSAFETY = { type: 3, value: "HEALTHANDSAFETY" }; + IfcObjectiveEnum.MERGECONFLICT = { type: 3, value: "MERGECONFLICT" }; + IfcObjectiveEnum.MODELVIEW = { type: 3, value: "MODELVIEW" }; + IfcObjectiveEnum.PARAMETER = { type: 3, value: "PARAMETER" }; + IfcObjectiveEnum.REQUIREMENT = { type: 3, value: "REQUIREMENT" }; + IfcObjectiveEnum.SPECIFICATION = { type: 3, value: "SPECIFICATION" }; + IfcObjectiveEnum.TRIGGERCONDITION = { type: 3, value: "TRIGGERCONDITION" }; + IfcObjectiveEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcObjectiveEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcObjectiveEnum = IfcObjectiveEnum; + class IfcOccupantTypeEnum { + } + IfcOccupantTypeEnum.ASSIGNEE = { type: 3, value: "ASSIGNEE" }; + IfcOccupantTypeEnum.ASSIGNOR = { type: 3, value: "ASSIGNOR" }; + IfcOccupantTypeEnum.LESSEE = { type: 3, value: "LESSEE" }; + IfcOccupantTypeEnum.LESSOR = { type: 3, value: "LESSOR" }; + IfcOccupantTypeEnum.LETTINGAGENT = { type: 3, value: "LETTINGAGENT" }; + IfcOccupantTypeEnum.OWNER = { type: 3, value: "OWNER" }; + IfcOccupantTypeEnum.TENANT = { type: 3, value: "TENANT" }; + IfcOccupantTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcOccupantTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcOccupantTypeEnum = IfcOccupantTypeEnum; + class IfcOpeningElementTypeEnum { + } + IfcOpeningElementTypeEnum.OPENING = { type: 3, value: "OPENING" }; + IfcOpeningElementTypeEnum.RECESS = { type: 3, value: "RECESS" }; + IfcOpeningElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcOpeningElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcOpeningElementTypeEnum = IfcOpeningElementTypeEnum; + class IfcOutletTypeEnum { + } + IfcOutletTypeEnum.AUDIOVISUALOUTLET = { type: 3, value: "AUDIOVISUALOUTLET" }; + IfcOutletTypeEnum.COMMUNICATIONSOUTLET = { type: 3, value: "COMMUNICATIONSOUTLET" }; + IfcOutletTypeEnum.DATAOUTLET = { type: 3, value: "DATAOUTLET" }; + IfcOutletTypeEnum.POWEROUTLET = { type: 3, value: "POWEROUTLET" }; + IfcOutletTypeEnum.TELEPHONEOUTLET = { type: 3, value: "TELEPHONEOUTLET" }; + IfcOutletTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcOutletTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcOutletTypeEnum = IfcOutletTypeEnum; + class IfcPavementTypeEnum { + } + IfcPavementTypeEnum.FLEXIBLE = { type: 3, value: "FLEXIBLE" }; + IfcPavementTypeEnum.RIGID = { type: 3, value: "RIGID" }; + IfcPavementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPavementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPavementTypeEnum = IfcPavementTypeEnum; + class IfcPerformanceHistoryTypeEnum { + } + IfcPerformanceHistoryTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPerformanceHistoryTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPerformanceHistoryTypeEnum = IfcPerformanceHistoryTypeEnum; + class IfcPermeableCoveringOperationEnum { + } + IfcPermeableCoveringOperationEnum.GRILL = { type: 3, value: "GRILL" }; + IfcPermeableCoveringOperationEnum.LOUVER = { type: 3, value: "LOUVER" }; + IfcPermeableCoveringOperationEnum.SCREEN = { type: 3, value: "SCREEN" }; + IfcPermeableCoveringOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPermeableCoveringOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPermeableCoveringOperationEnum = IfcPermeableCoveringOperationEnum; + class IfcPermitTypeEnum { + } + IfcPermitTypeEnum.ACCESS = { type: 3, value: "ACCESS" }; + IfcPermitTypeEnum.BUILDING = { type: 3, value: "BUILDING" }; + IfcPermitTypeEnum.WORK = { type: 3, value: "WORK" }; + IfcPermitTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPermitTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPermitTypeEnum = IfcPermitTypeEnum; + class IfcPhysicalOrVirtualEnum { + } + IfcPhysicalOrVirtualEnum.PHYSICAL = { type: 3, value: "PHYSICAL" }; + IfcPhysicalOrVirtualEnum.VIRTUAL = { type: 3, value: "VIRTUAL" }; + IfcPhysicalOrVirtualEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPhysicalOrVirtualEnum = IfcPhysicalOrVirtualEnum; + class IfcPileConstructionEnum { + } + IfcPileConstructionEnum.CAST_IN_PLACE = { type: 3, value: "CAST_IN_PLACE" }; + IfcPileConstructionEnum.COMPOSITE = { type: 3, value: "COMPOSITE" }; + IfcPileConstructionEnum.PRECAST_CONCRETE = { type: 3, value: "PRECAST_CONCRETE" }; + IfcPileConstructionEnum.PREFAB_STEEL = { type: 3, value: "PREFAB_STEEL" }; + IfcPileConstructionEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPileConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPileConstructionEnum = IfcPileConstructionEnum; + class IfcPileTypeEnum { + } + IfcPileTypeEnum.BORED = { type: 3, value: "BORED" }; + IfcPileTypeEnum.COHESION = { type: 3, value: "COHESION" }; + IfcPileTypeEnum.DRIVEN = { type: 3, value: "DRIVEN" }; + IfcPileTypeEnum.FRICTION = { type: 3, value: "FRICTION" }; + IfcPileTypeEnum.JETGROUTING = { type: 3, value: "JETGROUTING" }; + IfcPileTypeEnum.SUPPORT = { type: 3, value: "SUPPORT" }; + IfcPileTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPileTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPileTypeEnum = IfcPileTypeEnum; + class IfcPipeFittingTypeEnum { + } + IfcPipeFittingTypeEnum.BEND = { type: 3, value: "BEND" }; + IfcPipeFittingTypeEnum.CONNECTOR = { type: 3, value: "CONNECTOR" }; + IfcPipeFittingTypeEnum.ENTRY = { type: 3, value: "ENTRY" }; + IfcPipeFittingTypeEnum.EXIT = { type: 3, value: "EXIT" }; + IfcPipeFittingTypeEnum.JUNCTION = { type: 3, value: "JUNCTION" }; + IfcPipeFittingTypeEnum.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" }; + IfcPipeFittingTypeEnum.TRANSITION = { type: 3, value: "TRANSITION" }; + IfcPipeFittingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPipeFittingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPipeFittingTypeEnum = IfcPipeFittingTypeEnum; + class IfcPipeSegmentTypeEnum { + } + IfcPipeSegmentTypeEnum.CULVERT = { type: 3, value: "CULVERT" }; + IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" }; + IfcPipeSegmentTypeEnum.GUTTER = { type: 3, value: "GUTTER" }; + IfcPipeSegmentTypeEnum.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" }; + IfcPipeSegmentTypeEnum.SPOOL = { type: 3, value: "SPOOL" }; + IfcPipeSegmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPipeSegmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPipeSegmentTypeEnum = IfcPipeSegmentTypeEnum; + class IfcPlateTypeEnum { + } + IfcPlateTypeEnum.BASE_PLATE = { type: 3, value: "BASE_PLATE" }; + IfcPlateTypeEnum.COVER_PLATE = { type: 3, value: "COVER_PLATE" }; + IfcPlateTypeEnum.CURTAIN_PANEL = { type: 3, value: "CURTAIN_PANEL" }; + IfcPlateTypeEnum.FLANGE_PLATE = { type: 3, value: "FLANGE_PLATE" }; + IfcPlateTypeEnum.GUSSET_PLATE = { type: 3, value: "GUSSET_PLATE" }; + IfcPlateTypeEnum.SHEET = { type: 3, value: "SHEET" }; + IfcPlateTypeEnum.SPLICE_PLATE = { type: 3, value: "SPLICE_PLATE" }; + IfcPlateTypeEnum.STIFFENER_PLATE = { type: 3, value: "STIFFENER_PLATE" }; + IfcPlateTypeEnum.WEB_PLATE = { type: 3, value: "WEB_PLATE" }; + IfcPlateTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPlateTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPlateTypeEnum = IfcPlateTypeEnum; + class IfcPreferredSurfaceCurveRepresentation { + } + IfcPreferredSurfaceCurveRepresentation.CURVE3D = { type: 3, value: "CURVE3D" }; + IfcPreferredSurfaceCurveRepresentation.PCURVE_S1 = { type: 3, value: "PCURVE_S1" }; + IfcPreferredSurfaceCurveRepresentation.PCURVE_S2 = { type: 3, value: "PCURVE_S2" }; + IFC4X32.IfcPreferredSurfaceCurveRepresentation = IfcPreferredSurfaceCurveRepresentation; + class IfcProcedureTypeEnum { + } + IfcProcedureTypeEnum.ADVICE_CAUTION = { type: 3, value: "ADVICE_CAUTION" }; + IfcProcedureTypeEnum.ADVICE_NOTE = { type: 3, value: "ADVICE_NOTE" }; + IfcProcedureTypeEnum.ADVICE_WARNING = { type: 3, value: "ADVICE_WARNING" }; + IfcProcedureTypeEnum.CALIBRATION = { type: 3, value: "CALIBRATION" }; + IfcProcedureTypeEnum.DIAGNOSTIC = { type: 3, value: "DIAGNOSTIC" }; + IfcProcedureTypeEnum.SHUTDOWN = { type: 3, value: "SHUTDOWN" }; + IfcProcedureTypeEnum.STARTUP = { type: 3, value: "STARTUP" }; + IfcProcedureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProcedureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcProcedureTypeEnum = IfcProcedureTypeEnum; + class IfcProfileTypeEnum { + } + IfcProfileTypeEnum.AREA = { type: 3, value: "AREA" }; + IfcProfileTypeEnum.CURVE = { type: 3, value: "CURVE" }; + IFC4X32.IfcProfileTypeEnum = IfcProfileTypeEnum; + class IfcProjectOrderTypeEnum { + } + IfcProjectOrderTypeEnum.CHANGEORDER = { type: 3, value: "CHANGEORDER" }; + IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER = { type: 3, value: "MAINTENANCEWORKORDER" }; + IfcProjectOrderTypeEnum.MOVEORDER = { type: 3, value: "MOVEORDER" }; + IfcProjectOrderTypeEnum.PURCHASEORDER = { type: 3, value: "PURCHASEORDER" }; + IfcProjectOrderTypeEnum.WORKORDER = { type: 3, value: "WORKORDER" }; + IfcProjectOrderTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProjectOrderTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcProjectOrderTypeEnum = IfcProjectOrderTypeEnum; + class IfcProjectedOrTrueLengthEnum { + } + IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH = { type: 3, value: "PROJECTED_LENGTH" }; + IfcProjectedOrTrueLengthEnum.TRUE_LENGTH = { type: 3, value: "TRUE_LENGTH" }; + IFC4X32.IfcProjectedOrTrueLengthEnum = IfcProjectedOrTrueLengthEnum; + class IfcProjectionElementTypeEnum { + } + IfcProjectionElementTypeEnum.BLISTER = { type: 3, value: "BLISTER" }; + IfcProjectionElementTypeEnum.DEVIATOR = { type: 3, value: "DEVIATOR" }; + IfcProjectionElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProjectionElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcProjectionElementTypeEnum = IfcProjectionElementTypeEnum; + class IfcPropertySetTemplateTypeEnum { + } + IfcPropertySetTemplateTypeEnum.PSET_MATERIALDRIVEN = { type: 3, value: "PSET_MATERIALDRIVEN" }; + IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN = { type: 3, value: "PSET_OCCURRENCEDRIVEN" }; + IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN = { type: 3, value: "PSET_PERFORMANCEDRIVEN" }; + IfcPropertySetTemplateTypeEnum.PSET_PROFILEDRIVEN = { type: 3, value: "PSET_PROFILEDRIVEN" }; + IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY = { type: 3, value: "PSET_TYPEDRIVENONLY" }; + IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE = { type: 3, value: "PSET_TYPEDRIVENOVERRIDE" }; + IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN = { type: 3, value: "QTO_OCCURRENCEDRIVEN" }; + IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY = { type: 3, value: "QTO_TYPEDRIVENONLY" }; + IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE = { type: 3, value: "QTO_TYPEDRIVENOVERRIDE" }; + IfcPropertySetTemplateTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPropertySetTemplateTypeEnum = IfcPropertySetTemplateTypeEnum; + class IfcProtectiveDeviceTrippingUnitTypeEnum { + } + IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC = { type: 3, value: "ELECTROMAGNETIC" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC = { type: 3, value: "ELECTRONIC" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT = { type: 3, value: "RESIDUALCURRENT" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL = { type: 3, value: "THERMAL" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcProtectiveDeviceTrippingUnitTypeEnum = IfcProtectiveDeviceTrippingUnitTypeEnum; + class IfcProtectiveDeviceTypeEnum { + } + IfcProtectiveDeviceTypeEnum.ANTI_ARCING_DEVICE = { type: 3, value: "ANTI_ARCING_DEVICE" }; + IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER = { type: 3, value: "CIRCUITBREAKER" }; + IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH = { type: 3, value: "EARTHINGSWITCH" }; + IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER = { type: 3, value: "EARTHLEAKAGECIRCUITBREAKER" }; + IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR = { type: 3, value: "FUSEDISCONNECTOR" }; + IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER = { type: 3, value: "RESIDUALCURRENTCIRCUITBREAKER" }; + IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH = { type: 3, value: "RESIDUALCURRENTSWITCH" }; + IfcProtectiveDeviceTypeEnum.SPARKGAP = { type: 3, value: "SPARKGAP" }; + IfcProtectiveDeviceTypeEnum.VARISTOR = { type: 3, value: "VARISTOR" }; + IfcProtectiveDeviceTypeEnum.VOLTAGELIMITER = { type: 3, value: "VOLTAGELIMITER" }; + IfcProtectiveDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcProtectiveDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcProtectiveDeviceTypeEnum = IfcProtectiveDeviceTypeEnum; + class IfcPumpTypeEnum { + } + IfcPumpTypeEnum.CIRCULATOR = { type: 3, value: "CIRCULATOR" }; + IfcPumpTypeEnum.ENDSUCTION = { type: 3, value: "ENDSUCTION" }; + IfcPumpTypeEnum.SPLITCASE = { type: 3, value: "SPLITCASE" }; + IfcPumpTypeEnum.SUBMERSIBLEPUMP = { type: 3, value: "SUBMERSIBLEPUMP" }; + IfcPumpTypeEnum.SUMPPUMP = { type: 3, value: "SUMPPUMP" }; + IfcPumpTypeEnum.VERTICALINLINE = { type: 3, value: "VERTICALINLINE" }; + IfcPumpTypeEnum.VERTICALTURBINE = { type: 3, value: "VERTICALTURBINE" }; + IfcPumpTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcPumpTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcPumpTypeEnum = IfcPumpTypeEnum; + class IfcRailTypeEnum { + } + IfcRailTypeEnum.BLADE = { type: 3, value: "BLADE" }; + IfcRailTypeEnum.CHECKRAIL = { type: 3, value: "CHECKRAIL" }; + IfcRailTypeEnum.GUARDRAIL = { type: 3, value: "GUARDRAIL" }; + IfcRailTypeEnum.RACKRAIL = { type: 3, value: "RACKRAIL" }; + IfcRailTypeEnum.RAIL = { type: 3, value: "RAIL" }; + IfcRailTypeEnum.STOCKRAIL = { type: 3, value: "STOCKRAIL" }; + IfcRailTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRailTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRailTypeEnum = IfcRailTypeEnum; + class IfcRailingTypeEnum { + } + IfcRailingTypeEnum.BALUSTRADE = { type: 3, value: "BALUSTRADE" }; + IfcRailingTypeEnum.FENCE = { type: 3, value: "FENCE" }; + IfcRailingTypeEnum.GUARDRAIL = { type: 3, value: "GUARDRAIL" }; + IfcRailingTypeEnum.HANDRAIL = { type: 3, value: "HANDRAIL" }; + IfcRailingTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRailingTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRailingTypeEnum = IfcRailingTypeEnum; + class IfcRailwayPartTypeEnum { + } + IfcRailwayPartTypeEnum.DILATATIONSUPERSTRUCTURE = { type: 3, value: "DILATATIONSUPERSTRUCTURE" }; + IfcRailwayPartTypeEnum.LINESIDESTRUCTURE = { type: 3, value: "LINESIDESTRUCTURE" }; + IfcRailwayPartTypeEnum.LINESIDESTRUCTUREPART = { type: 3, value: "LINESIDESTRUCTUREPART" }; + IfcRailwayPartTypeEnum.PLAINTRACKSUPERSTRUCTURE = { type: 3, value: "PLAINTRACKSUPERSTRUCTURE" }; + IfcRailwayPartTypeEnum.SUPERSTRUCTURE = { type: 3, value: "SUPERSTRUCTURE" }; + IfcRailwayPartTypeEnum.TRACKSTRUCTURE = { type: 3, value: "TRACKSTRUCTURE" }; + IfcRailwayPartTypeEnum.TRACKSTRUCTUREPART = { type: 3, value: "TRACKSTRUCTUREPART" }; + IfcRailwayPartTypeEnum.TURNOUTSUPERSTRUCTURE = { type: 3, value: "TURNOUTSUPERSTRUCTURE" }; + IfcRailwayPartTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRailwayPartTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRailwayPartTypeEnum = IfcRailwayPartTypeEnum; + class IfcRailwayTypeEnum { + } + IfcRailwayTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRailwayTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRailwayTypeEnum = IfcRailwayTypeEnum; + class IfcRampFlightTypeEnum { + } + IfcRampFlightTypeEnum.SPIRAL = { type: 3, value: "SPIRAL" }; + IfcRampFlightTypeEnum.STRAIGHT = { type: 3, value: "STRAIGHT" }; + IfcRampFlightTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRampFlightTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRampFlightTypeEnum = IfcRampFlightTypeEnum; + class IfcRampTypeEnum { + } + IfcRampTypeEnum.HALF_TURN_RAMP = { type: 3, value: "HALF_TURN_RAMP" }; + IfcRampTypeEnum.QUARTER_TURN_RAMP = { type: 3, value: "QUARTER_TURN_RAMP" }; + IfcRampTypeEnum.SPIRAL_RAMP = { type: 3, value: "SPIRAL_RAMP" }; + IfcRampTypeEnum.STRAIGHT_RUN_RAMP = { type: 3, value: "STRAIGHT_RUN_RAMP" }; + IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP = { type: 3, value: "TWO_QUARTER_TURN_RAMP" }; + IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP = { type: 3, value: "TWO_STRAIGHT_RUN_RAMP" }; + IfcRampTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRampTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRampTypeEnum = IfcRampTypeEnum; + class IfcRecurrenceTypeEnum { + } + IfcRecurrenceTypeEnum.BY_DAY_COUNT = { type: 3, value: "BY_DAY_COUNT" }; + IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT = { type: 3, value: "BY_WEEKDAY_COUNT" }; + IfcRecurrenceTypeEnum.DAILY = { type: 3, value: "DAILY" }; + IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH = { type: 3, value: "MONTHLY_BY_DAY_OF_MONTH" }; + IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION = { type: 3, value: "MONTHLY_BY_POSITION" }; + IfcRecurrenceTypeEnum.WEEKLY = { type: 3, value: "WEEKLY" }; + IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH = { type: 3, value: "YEARLY_BY_DAY_OF_MONTH" }; + IfcRecurrenceTypeEnum.YEARLY_BY_POSITION = { type: 3, value: "YEARLY_BY_POSITION" }; + IFC4X32.IfcRecurrenceTypeEnum = IfcRecurrenceTypeEnum; + class IfcReferentTypeEnum { + } + IfcReferentTypeEnum.BOUNDARY = { type: 3, value: "BOUNDARY" }; + IfcReferentTypeEnum.INTERSECTION = { type: 3, value: "INTERSECTION" }; + IfcReferentTypeEnum.KILOPOINT = { type: 3, value: "KILOPOINT" }; + IfcReferentTypeEnum.LANDMARK = { type: 3, value: "LANDMARK" }; + IfcReferentTypeEnum.MILEPOINT = { type: 3, value: "MILEPOINT" }; + IfcReferentTypeEnum.POSITION = { type: 3, value: "POSITION" }; + IfcReferentTypeEnum.REFERENCEMARKER = { type: 3, value: "REFERENCEMARKER" }; + IfcReferentTypeEnum.STATION = { type: 3, value: "STATION" }; + IfcReferentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReferentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcReferentTypeEnum = IfcReferentTypeEnum; + class IfcReflectanceMethodEnum { + } + IfcReflectanceMethodEnum.BLINN = { type: 3, value: "BLINN" }; + IfcReflectanceMethodEnum.FLAT = { type: 3, value: "FLAT" }; + IfcReflectanceMethodEnum.GLASS = { type: 3, value: "GLASS" }; + IfcReflectanceMethodEnum.MATT = { type: 3, value: "MATT" }; + IfcReflectanceMethodEnum.METAL = { type: 3, value: "METAL" }; + IfcReflectanceMethodEnum.MIRROR = { type: 3, value: "MIRROR" }; + IfcReflectanceMethodEnum.PHONG = { type: 3, value: "PHONG" }; + IfcReflectanceMethodEnum.PHYSICAL = { type: 3, value: "PHYSICAL" }; + IfcReflectanceMethodEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcReflectanceMethodEnum.STRAUSS = { type: 3, value: "STRAUSS" }; + IfcReflectanceMethodEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcReflectanceMethodEnum = IfcReflectanceMethodEnum; + class IfcReinforcedSoilTypeEnum { + } + IfcReinforcedSoilTypeEnum.DYNAMICALLYCOMPACTED = { type: 3, value: "DYNAMICALLYCOMPACTED" }; + IfcReinforcedSoilTypeEnum.GROUTED = { type: 3, value: "GROUTED" }; + IfcReinforcedSoilTypeEnum.REPLACED = { type: 3, value: "REPLACED" }; + IfcReinforcedSoilTypeEnum.ROLLERCOMPACTED = { type: 3, value: "ROLLERCOMPACTED" }; + IfcReinforcedSoilTypeEnum.SURCHARGEPRELOADED = { type: 3, value: "SURCHARGEPRELOADED" }; + IfcReinforcedSoilTypeEnum.VERTICALLYDRAINED = { type: 3, value: "VERTICALLYDRAINED" }; + IfcReinforcedSoilTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReinforcedSoilTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcReinforcedSoilTypeEnum = IfcReinforcedSoilTypeEnum; + class IfcReinforcingBarRoleEnum { + } + IfcReinforcingBarRoleEnum.ANCHORING = { type: 3, value: "ANCHORING" }; + IfcReinforcingBarRoleEnum.EDGE = { type: 3, value: "EDGE" }; + IfcReinforcingBarRoleEnum.LIGATURE = { type: 3, value: "LIGATURE" }; + IfcReinforcingBarRoleEnum.MAIN = { type: 3, value: "MAIN" }; + IfcReinforcingBarRoleEnum.PUNCHING = { type: 3, value: "PUNCHING" }; + IfcReinforcingBarRoleEnum.RING = { type: 3, value: "RING" }; + IfcReinforcingBarRoleEnum.SHEAR = { type: 3, value: "SHEAR" }; + IfcReinforcingBarRoleEnum.STUD = { type: 3, value: "STUD" }; + IfcReinforcingBarRoleEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReinforcingBarRoleEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcReinforcingBarRoleEnum = IfcReinforcingBarRoleEnum; + class IfcReinforcingBarSurfaceEnum { + } + IfcReinforcingBarSurfaceEnum.PLAIN = { type: 3, value: "PLAIN" }; + IfcReinforcingBarSurfaceEnum.TEXTURED = { type: 3, value: "TEXTURED" }; + IFC4X32.IfcReinforcingBarSurfaceEnum = IfcReinforcingBarSurfaceEnum; + class IfcReinforcingBarTypeEnum { + } + IfcReinforcingBarTypeEnum.ANCHORING = { type: 3, value: "ANCHORING" }; + IfcReinforcingBarTypeEnum.EDGE = { type: 3, value: "EDGE" }; + IfcReinforcingBarTypeEnum.LIGATURE = { type: 3, value: "LIGATURE" }; + IfcReinforcingBarTypeEnum.MAIN = { type: 3, value: "MAIN" }; + IfcReinforcingBarTypeEnum.PUNCHING = { type: 3, value: "PUNCHING" }; + IfcReinforcingBarTypeEnum.RING = { type: 3, value: "RING" }; + IfcReinforcingBarTypeEnum.SHEAR = { type: 3, value: "SHEAR" }; + IfcReinforcingBarTypeEnum.SPACEBAR = { type: 3, value: "SPACEBAR" }; + IfcReinforcingBarTypeEnum.STUD = { type: 3, value: "STUD" }; + IfcReinforcingBarTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReinforcingBarTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcReinforcingBarTypeEnum = IfcReinforcingBarTypeEnum; + class IfcReinforcingMeshTypeEnum { + } + IfcReinforcingMeshTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcReinforcingMeshTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcReinforcingMeshTypeEnum = IfcReinforcingMeshTypeEnum; + class IfcRoadPartTypeEnum { + } + IfcRoadPartTypeEnum.BICYCLECROSSING = { type: 3, value: "BICYCLECROSSING" }; + IfcRoadPartTypeEnum.BUS_STOP = { type: 3, value: "BUS_STOP" }; + IfcRoadPartTypeEnum.CARRIAGEWAY = { type: 3, value: "CARRIAGEWAY" }; + IfcRoadPartTypeEnum.CENTRALISLAND = { type: 3, value: "CENTRALISLAND" }; + IfcRoadPartTypeEnum.CENTRALRESERVE = { type: 3, value: "CENTRALRESERVE" }; + IfcRoadPartTypeEnum.HARDSHOULDER = { type: 3, value: "HARDSHOULDER" }; + IfcRoadPartTypeEnum.INTERSECTION = { type: 3, value: "INTERSECTION" }; + IfcRoadPartTypeEnum.LAYBY = { type: 3, value: "LAYBY" }; + IfcRoadPartTypeEnum.PARKINGBAY = { type: 3, value: "PARKINGBAY" }; + IfcRoadPartTypeEnum.PASSINGBAY = { type: 3, value: "PASSINGBAY" }; + IfcRoadPartTypeEnum.PEDESTRIAN_CROSSING = { type: 3, value: "PEDESTRIAN_CROSSING" }; + IfcRoadPartTypeEnum.RAILWAYCROSSING = { type: 3, value: "RAILWAYCROSSING" }; + IfcRoadPartTypeEnum.REFUGEISLAND = { type: 3, value: "REFUGEISLAND" }; + IfcRoadPartTypeEnum.ROADSEGMENT = { type: 3, value: "ROADSEGMENT" }; + IfcRoadPartTypeEnum.ROADSIDE = { type: 3, value: "ROADSIDE" }; + IfcRoadPartTypeEnum.ROADSIDEPART = { type: 3, value: "ROADSIDEPART" }; + IfcRoadPartTypeEnum.ROADWAYPLATEAU = { type: 3, value: "ROADWAYPLATEAU" }; + IfcRoadPartTypeEnum.ROUNDABOUT = { type: 3, value: "ROUNDABOUT" }; + IfcRoadPartTypeEnum.SHOULDER = { type: 3, value: "SHOULDER" }; + IfcRoadPartTypeEnum.SIDEWALK = { type: 3, value: "SIDEWALK" }; + IfcRoadPartTypeEnum.SOFTSHOULDER = { type: 3, value: "SOFTSHOULDER" }; + IfcRoadPartTypeEnum.TOLLPLAZA = { type: 3, value: "TOLLPLAZA" }; + IfcRoadPartTypeEnum.TRAFFICISLAND = { type: 3, value: "TRAFFICISLAND" }; + IfcRoadPartTypeEnum.TRAFFICLANE = { type: 3, value: "TRAFFICLANE" }; + IfcRoadPartTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRoadPartTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRoadPartTypeEnum = IfcRoadPartTypeEnum; + class IfcRoadTypeEnum { + } + IfcRoadTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRoadTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRoadTypeEnum = IfcRoadTypeEnum; + class IfcRoleEnum { + } + IfcRoleEnum.ARCHITECT = { type: 3, value: "ARCHITECT" }; + IfcRoleEnum.BUILDINGOPERATOR = { type: 3, value: "BUILDINGOPERATOR" }; + IfcRoleEnum.BUILDINGOWNER = { type: 3, value: "BUILDINGOWNER" }; + IfcRoleEnum.CIVILENGINEER = { type: 3, value: "CIVILENGINEER" }; + IfcRoleEnum.CLIENT = { type: 3, value: "CLIENT" }; + IfcRoleEnum.COMMISSIONINGENGINEER = { type: 3, value: "COMMISSIONINGENGINEER" }; + IfcRoleEnum.CONSTRUCTIONMANAGER = { type: 3, value: "CONSTRUCTIONMANAGER" }; + IfcRoleEnum.CONSULTANT = { type: 3, value: "CONSULTANT" }; + IfcRoleEnum.CONTRACTOR = { type: 3, value: "CONTRACTOR" }; + IfcRoleEnum.COSTENGINEER = { type: 3, value: "COSTENGINEER" }; + IfcRoleEnum.ELECTRICALENGINEER = { type: 3, value: "ELECTRICALENGINEER" }; + IfcRoleEnum.ENGINEER = { type: 3, value: "ENGINEER" }; + IfcRoleEnum.FACILITIESMANAGER = { type: 3, value: "FACILITIESMANAGER" }; + IfcRoleEnum.FIELDCONSTRUCTIONMANAGER = { type: 3, value: "FIELDCONSTRUCTIONMANAGER" }; + IfcRoleEnum.MANUFACTURER = { type: 3, value: "MANUFACTURER" }; + IfcRoleEnum.MECHANICALENGINEER = { type: 3, value: "MECHANICALENGINEER" }; + IfcRoleEnum.OWNER = { type: 3, value: "OWNER" }; + IfcRoleEnum.PROJECTMANAGER = { type: 3, value: "PROJECTMANAGER" }; + IfcRoleEnum.RESELLER = { type: 3, value: "RESELLER" }; + IfcRoleEnum.STRUCTURALENGINEER = { type: 3, value: "STRUCTURALENGINEER" }; + IfcRoleEnum.SUBCONTRACTOR = { type: 3, value: "SUBCONTRACTOR" }; + IfcRoleEnum.SUPPLIER = { type: 3, value: "SUPPLIER" }; + IfcRoleEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC4X32.IfcRoleEnum = IfcRoleEnum; + class IfcRoofTypeEnum { + } + IfcRoofTypeEnum.BARREL_ROOF = { type: 3, value: "BARREL_ROOF" }; + IfcRoofTypeEnum.BUTTERFLY_ROOF = { type: 3, value: "BUTTERFLY_ROOF" }; + IfcRoofTypeEnum.DOME_ROOF = { type: 3, value: "DOME_ROOF" }; + IfcRoofTypeEnum.FLAT_ROOF = { type: 3, value: "FLAT_ROOF" }; + IfcRoofTypeEnum.FREEFORM = { type: 3, value: "FREEFORM" }; + IfcRoofTypeEnum.GABLE_ROOF = { type: 3, value: "GABLE_ROOF" }; + IfcRoofTypeEnum.GAMBREL_ROOF = { type: 3, value: "GAMBREL_ROOF" }; + IfcRoofTypeEnum.HIPPED_GABLE_ROOF = { type: 3, value: "HIPPED_GABLE_ROOF" }; + IfcRoofTypeEnum.HIP_ROOF = { type: 3, value: "HIP_ROOF" }; + IfcRoofTypeEnum.MANSARD_ROOF = { type: 3, value: "MANSARD_ROOF" }; + IfcRoofTypeEnum.PAVILION_ROOF = { type: 3, value: "PAVILION_ROOF" }; + IfcRoofTypeEnum.RAINBOW_ROOF = { type: 3, value: "RAINBOW_ROOF" }; + IfcRoofTypeEnum.SHED_ROOF = { type: 3, value: "SHED_ROOF" }; + IfcRoofTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcRoofTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcRoofTypeEnum = IfcRoofTypeEnum; + class IfcSIPrefix { + } + IfcSIPrefix.ATTO = { type: 3, value: "ATTO" }; + IfcSIPrefix.CENTI = { type: 3, value: "CENTI" }; + IfcSIPrefix.DECA = { type: 3, value: "DECA" }; + IfcSIPrefix.DECI = { type: 3, value: "DECI" }; + IfcSIPrefix.EXA = { type: 3, value: "EXA" }; + IfcSIPrefix.FEMTO = { type: 3, value: "FEMTO" }; + IfcSIPrefix.GIGA = { type: 3, value: "GIGA" }; + IfcSIPrefix.HECTO = { type: 3, value: "HECTO" }; + IfcSIPrefix.KILO = { type: 3, value: "KILO" }; + IfcSIPrefix.MEGA = { type: 3, value: "MEGA" }; + IfcSIPrefix.MICRO = { type: 3, value: "MICRO" }; + IfcSIPrefix.MILLI = { type: 3, value: "MILLI" }; + IfcSIPrefix.NANO = { type: 3, value: "NANO" }; + IfcSIPrefix.PETA = { type: 3, value: "PETA" }; + IfcSIPrefix.PICO = { type: 3, value: "PICO" }; + IfcSIPrefix.TERA = { type: 3, value: "TERA" }; + IFC4X32.IfcSIPrefix = IfcSIPrefix; + class IfcSIUnitName { + } + IfcSIUnitName.AMPERE = { type: 3, value: "AMPERE" }; + IfcSIUnitName.BECQUEREL = { type: 3, value: "BECQUEREL" }; + IfcSIUnitName.CANDELA = { type: 3, value: "CANDELA" }; + IfcSIUnitName.COULOMB = { type: 3, value: "COULOMB" }; + IfcSIUnitName.CUBIC_METRE = { type: 3, value: "CUBIC_METRE" }; + IfcSIUnitName.DEGREE_CELSIUS = { type: 3, value: "DEGREE_CELSIUS" }; + IfcSIUnitName.FARAD = { type: 3, value: "FARAD" }; + IfcSIUnitName.GRAM = { type: 3, value: "GRAM" }; + IfcSIUnitName.GRAY = { type: 3, value: "GRAY" }; + IfcSIUnitName.HENRY = { type: 3, value: "HENRY" }; + IfcSIUnitName.HERTZ = { type: 3, value: "HERTZ" }; + IfcSIUnitName.JOULE = { type: 3, value: "JOULE" }; + IfcSIUnitName.KELVIN = { type: 3, value: "KELVIN" }; + IfcSIUnitName.LUMEN = { type: 3, value: "LUMEN" }; + IfcSIUnitName.LUX = { type: 3, value: "LUX" }; + IfcSIUnitName.METRE = { type: 3, value: "METRE" }; + IfcSIUnitName.MOLE = { type: 3, value: "MOLE" }; + IfcSIUnitName.NEWTON = { type: 3, value: "NEWTON" }; + IfcSIUnitName.OHM = { type: 3, value: "OHM" }; + IfcSIUnitName.PASCAL = { type: 3, value: "PASCAL" }; + IfcSIUnitName.RADIAN = { type: 3, value: "RADIAN" }; + IfcSIUnitName.SECOND = { type: 3, value: "SECOND" }; + IfcSIUnitName.SIEMENS = { type: 3, value: "SIEMENS" }; + IfcSIUnitName.SIEVERT = { type: 3, value: "SIEVERT" }; + IfcSIUnitName.SQUARE_METRE = { type: 3, value: "SQUARE_METRE" }; + IfcSIUnitName.STERADIAN = { type: 3, value: "STERADIAN" }; + IfcSIUnitName.TESLA = { type: 3, value: "TESLA" }; + IfcSIUnitName.VOLT = { type: 3, value: "VOLT" }; + IfcSIUnitName.WATT = { type: 3, value: "WATT" }; + IfcSIUnitName.WEBER = { type: 3, value: "WEBER" }; + IFC4X32.IfcSIUnitName = IfcSIUnitName; + class IfcSanitaryTerminalTypeEnum { + } + IfcSanitaryTerminalTypeEnum.BATH = { type: 3, value: "BATH" }; + IfcSanitaryTerminalTypeEnum.BIDET = { type: 3, value: "BIDET" }; + IfcSanitaryTerminalTypeEnum.CISTERN = { type: 3, value: "CISTERN" }; + IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN = { type: 3, value: "SANITARYFOUNTAIN" }; + IfcSanitaryTerminalTypeEnum.SHOWER = { type: 3, value: "SHOWER" }; + IfcSanitaryTerminalTypeEnum.SINK = { type: 3, value: "SINK" }; + IfcSanitaryTerminalTypeEnum.TOILETPAN = { type: 3, value: "TOILETPAN" }; + IfcSanitaryTerminalTypeEnum.URINAL = { type: 3, value: "URINAL" }; + IfcSanitaryTerminalTypeEnum.WASHHANDBASIN = { type: 3, value: "WASHHANDBASIN" }; + IfcSanitaryTerminalTypeEnum.WCSEAT = { type: 3, value: "WCSEAT" }; + IfcSanitaryTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSanitaryTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSanitaryTerminalTypeEnum = IfcSanitaryTerminalTypeEnum; + class IfcSectionTypeEnum { + } + IfcSectionTypeEnum.TAPERED = { type: 3, value: "TAPERED" }; + IfcSectionTypeEnum.UNIFORM = { type: 3, value: "UNIFORM" }; + IFC4X32.IfcSectionTypeEnum = IfcSectionTypeEnum; + class IfcSensorTypeEnum { + } + IfcSensorTypeEnum.CO2SENSOR = { type: 3, value: "CO2SENSOR" }; + IfcSensorTypeEnum.CONDUCTANCESENSOR = { type: 3, value: "CONDUCTANCESENSOR" }; + IfcSensorTypeEnum.CONTACTSENSOR = { type: 3, value: "CONTACTSENSOR" }; + IfcSensorTypeEnum.COSENSOR = { type: 3, value: "COSENSOR" }; + IfcSensorTypeEnum.EARTHQUAKESENSOR = { type: 3, value: "EARTHQUAKESENSOR" }; + IfcSensorTypeEnum.FIRESENSOR = { type: 3, value: "FIRESENSOR" }; + IfcSensorTypeEnum.FLOWSENSOR = { type: 3, value: "FLOWSENSOR" }; + IfcSensorTypeEnum.FOREIGNOBJECTDETECTIONSENSOR = { type: 3, value: "FOREIGNOBJECTDETECTIONSENSOR" }; + IfcSensorTypeEnum.FROSTSENSOR = { type: 3, value: "FROSTSENSOR" }; + IfcSensorTypeEnum.GASSENSOR = { type: 3, value: "GASSENSOR" }; + IfcSensorTypeEnum.HEATSENSOR = { type: 3, value: "HEATSENSOR" }; + IfcSensorTypeEnum.HUMIDITYSENSOR = { type: 3, value: "HUMIDITYSENSOR" }; + IfcSensorTypeEnum.IDENTIFIERSENSOR = { type: 3, value: "IDENTIFIERSENSOR" }; + IfcSensorTypeEnum.IONCONCENTRATIONSENSOR = { type: 3, value: "IONCONCENTRATIONSENSOR" }; + IfcSensorTypeEnum.LEVELSENSOR = { type: 3, value: "LEVELSENSOR" }; + IfcSensorTypeEnum.LIGHTSENSOR = { type: 3, value: "LIGHTSENSOR" }; + IfcSensorTypeEnum.MOISTURESENSOR = { type: 3, value: "MOISTURESENSOR" }; + IfcSensorTypeEnum.MOVEMENTSENSOR = { type: 3, value: "MOVEMENTSENSOR" }; + IfcSensorTypeEnum.OBSTACLESENSOR = { type: 3, value: "OBSTACLESENSOR" }; + IfcSensorTypeEnum.PHSENSOR = { type: 3, value: "PHSENSOR" }; + IfcSensorTypeEnum.PRESSURESENSOR = { type: 3, value: "PRESSURESENSOR" }; + IfcSensorTypeEnum.RADIATIONSENSOR = { type: 3, value: "RADIATIONSENSOR" }; + IfcSensorTypeEnum.RADIOACTIVITYSENSOR = { type: 3, value: "RADIOACTIVITYSENSOR" }; + IfcSensorTypeEnum.RAINSENSOR = { type: 3, value: "RAINSENSOR" }; + IfcSensorTypeEnum.SMOKESENSOR = { type: 3, value: "SMOKESENSOR" }; + IfcSensorTypeEnum.SNOWDEPTHSENSOR = { type: 3, value: "SNOWDEPTHSENSOR" }; + IfcSensorTypeEnum.SOUNDSENSOR = { type: 3, value: "SOUNDSENSOR" }; + IfcSensorTypeEnum.TEMPERATURESENSOR = { type: 3, value: "TEMPERATURESENSOR" }; + IfcSensorTypeEnum.TRAINSENSOR = { type: 3, value: "TRAINSENSOR" }; + IfcSensorTypeEnum.TURNOUTCLOSURESENSOR = { type: 3, value: "TURNOUTCLOSURESENSOR" }; + IfcSensorTypeEnum.WHEELSENSOR = { type: 3, value: "WHEELSENSOR" }; + IfcSensorTypeEnum.WINDSENSOR = { type: 3, value: "WINDSENSOR" }; + IfcSensorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSensorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSensorTypeEnum = IfcSensorTypeEnum; + class IfcSequenceEnum { + } + IfcSequenceEnum.FINISH_FINISH = { type: 3, value: "FINISH_FINISH" }; + IfcSequenceEnum.FINISH_START = { type: 3, value: "FINISH_START" }; + IfcSequenceEnum.START_FINISH = { type: 3, value: "START_FINISH" }; + IfcSequenceEnum.START_START = { type: 3, value: "START_START" }; + IfcSequenceEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSequenceEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSequenceEnum = IfcSequenceEnum; + class IfcShadingDeviceTypeEnum { + } + IfcShadingDeviceTypeEnum.AWNING = { type: 3, value: "AWNING" }; + IfcShadingDeviceTypeEnum.JALOUSIE = { type: 3, value: "JALOUSIE" }; + IfcShadingDeviceTypeEnum.SHUTTER = { type: 3, value: "SHUTTER" }; + IfcShadingDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcShadingDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcShadingDeviceTypeEnum = IfcShadingDeviceTypeEnum; + class IfcSignTypeEnum { + } + IfcSignTypeEnum.MARKER = { type: 3, value: "MARKER" }; + IfcSignTypeEnum.MIRROR = { type: 3, value: "MIRROR" }; + IfcSignTypeEnum.PICTORAL = { type: 3, value: "PICTORAL" }; + IfcSignTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSignTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSignTypeEnum = IfcSignTypeEnum; + class IfcSignalTypeEnum { + } + IfcSignalTypeEnum.AUDIO = { type: 3, value: "AUDIO" }; + IfcSignalTypeEnum.MIXED = { type: 3, value: "MIXED" }; + IfcSignalTypeEnum.VISUAL = { type: 3, value: "VISUAL" }; + IfcSignalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSignalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSignalTypeEnum = IfcSignalTypeEnum; + class IfcSimplePropertyTemplateTypeEnum { + } + IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE = { type: 3, value: "P_BOUNDEDVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE = { type: 3, value: "P_ENUMERATEDVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE = { type: 3, value: "P_LISTVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE = { type: 3, value: "P_REFERENCEVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE = { type: 3, value: "P_SINGLEVALUE" }; + IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE = { type: 3, value: "P_TABLEVALUE" }; + IfcSimplePropertyTemplateTypeEnum.Q_AREA = { type: 3, value: "Q_AREA" }; + IfcSimplePropertyTemplateTypeEnum.Q_COUNT = { type: 3, value: "Q_COUNT" }; + IfcSimplePropertyTemplateTypeEnum.Q_LENGTH = { type: 3, value: "Q_LENGTH" }; + IfcSimplePropertyTemplateTypeEnum.Q_NUMBER = { type: 3, value: "Q_NUMBER" }; + IfcSimplePropertyTemplateTypeEnum.Q_TIME = { type: 3, value: "Q_TIME" }; + IfcSimplePropertyTemplateTypeEnum.Q_VOLUME = { type: 3, value: "Q_VOLUME" }; + IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT = { type: 3, value: "Q_WEIGHT" }; + IFC4X32.IfcSimplePropertyTemplateTypeEnum = IfcSimplePropertyTemplateTypeEnum; + class IfcSlabTypeEnum { + } + IfcSlabTypeEnum.APPROACH_SLAB = { type: 3, value: "APPROACH_SLAB" }; + IfcSlabTypeEnum.BASESLAB = { type: 3, value: "BASESLAB" }; + IfcSlabTypeEnum.FLOOR = { type: 3, value: "FLOOR" }; + IfcSlabTypeEnum.LANDING = { type: 3, value: "LANDING" }; + IfcSlabTypeEnum.PAVING = { type: 3, value: "PAVING" }; + IfcSlabTypeEnum.ROOF = { type: 3, value: "ROOF" }; + IfcSlabTypeEnum.SIDEWALK = { type: 3, value: "SIDEWALK" }; + IfcSlabTypeEnum.TRACKSLAB = { type: 3, value: "TRACKSLAB" }; + IfcSlabTypeEnum.WEARING = { type: 3, value: "WEARING" }; + IfcSlabTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSlabTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSlabTypeEnum = IfcSlabTypeEnum; + class IfcSolarDeviceTypeEnum { + } + IfcSolarDeviceTypeEnum.SOLARCOLLECTOR = { type: 3, value: "SOLARCOLLECTOR" }; + IfcSolarDeviceTypeEnum.SOLARPANEL = { type: 3, value: "SOLARPANEL" }; + IfcSolarDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSolarDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSolarDeviceTypeEnum = IfcSolarDeviceTypeEnum; + class IfcSpaceHeaterTypeEnum { + } + IfcSpaceHeaterTypeEnum.CONVECTOR = { type: 3, value: "CONVECTOR" }; + IfcSpaceHeaterTypeEnum.RADIATOR = { type: 3, value: "RADIATOR" }; + IfcSpaceHeaterTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSpaceHeaterTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSpaceHeaterTypeEnum = IfcSpaceHeaterTypeEnum; + class IfcSpaceTypeEnum { + } + IfcSpaceTypeEnum.BERTH = { type: 3, value: "BERTH" }; + IfcSpaceTypeEnum.EXTERNAL = { type: 3, value: "EXTERNAL" }; + IfcSpaceTypeEnum.GFA = { type: 3, value: "GFA" }; + IfcSpaceTypeEnum.INTERNAL = { type: 3, value: "INTERNAL" }; + IfcSpaceTypeEnum.PARKING = { type: 3, value: "PARKING" }; + IfcSpaceTypeEnum.SPACE = { type: 3, value: "SPACE" }; + IfcSpaceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSpaceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSpaceTypeEnum = IfcSpaceTypeEnum; + class IfcSpatialZoneTypeEnum { + } + IfcSpatialZoneTypeEnum.CONSTRUCTION = { type: 3, value: "CONSTRUCTION" }; + IfcSpatialZoneTypeEnum.FIRESAFETY = { type: 3, value: "FIRESAFETY" }; + IfcSpatialZoneTypeEnum.INTERFERENCE = { type: 3, value: "INTERFERENCE" }; + IfcSpatialZoneTypeEnum.LIGHTING = { type: 3, value: "LIGHTING" }; + IfcSpatialZoneTypeEnum.OCCUPANCY = { type: 3, value: "OCCUPANCY" }; + IfcSpatialZoneTypeEnum.RESERVATION = { type: 3, value: "RESERVATION" }; + IfcSpatialZoneTypeEnum.SECURITY = { type: 3, value: "SECURITY" }; + IfcSpatialZoneTypeEnum.THERMAL = { type: 3, value: "THERMAL" }; + IfcSpatialZoneTypeEnum.TRANSPORT = { type: 3, value: "TRANSPORT" }; + IfcSpatialZoneTypeEnum.VENTILATION = { type: 3, value: "VENTILATION" }; + IfcSpatialZoneTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSpatialZoneTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSpatialZoneTypeEnum = IfcSpatialZoneTypeEnum; + class IfcStackTerminalTypeEnum { + } + IfcStackTerminalTypeEnum.BIRDCAGE = { type: 3, value: "BIRDCAGE" }; + IfcStackTerminalTypeEnum.COWL = { type: 3, value: "COWL" }; + IfcStackTerminalTypeEnum.RAINWATERHOPPER = { type: 3, value: "RAINWATERHOPPER" }; + IfcStackTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStackTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcStackTerminalTypeEnum = IfcStackTerminalTypeEnum; + class IfcStairFlightTypeEnum { + } + IfcStairFlightTypeEnum.CURVED = { type: 3, value: "CURVED" }; + IfcStairFlightTypeEnum.FREEFORM = { type: 3, value: "FREEFORM" }; + IfcStairFlightTypeEnum.SPIRAL = { type: 3, value: "SPIRAL" }; + IfcStairFlightTypeEnum.STRAIGHT = { type: 3, value: "STRAIGHT" }; + IfcStairFlightTypeEnum.WINDER = { type: 3, value: "WINDER" }; + IfcStairFlightTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStairFlightTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcStairFlightTypeEnum = IfcStairFlightTypeEnum; + class IfcStairTypeEnum { + } + IfcStairTypeEnum.CURVED_RUN_STAIR = { type: 3, value: "CURVED_RUN_STAIR" }; + IfcStairTypeEnum.DOUBLE_RETURN_STAIR = { type: 3, value: "DOUBLE_RETURN_STAIR" }; + IfcStairTypeEnum.HALF_TURN_STAIR = { type: 3, value: "HALF_TURN_STAIR" }; + IfcStairTypeEnum.HALF_WINDING_STAIR = { type: 3, value: "HALF_WINDING_STAIR" }; + IfcStairTypeEnum.LADDER = { type: 3, value: "LADDER" }; + IfcStairTypeEnum.QUARTER_TURN_STAIR = { type: 3, value: "QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.QUARTER_WINDING_STAIR = { type: 3, value: "QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.SPIRAL_STAIR = { type: 3, value: "SPIRAL_STAIR" }; + IfcStairTypeEnum.STRAIGHT_RUN_STAIR = { type: 3, value: "STRAIGHT_RUN_STAIR" }; + IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR = { type: 3, value: "THREE_QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR = { type: 3, value: "THREE_QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.TWO_CURVED_RUN_STAIR = { type: 3, value: "TWO_CURVED_RUN_STAIR" }; + IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR = { type: 3, value: "TWO_QUARTER_TURN_STAIR" }; + IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR = { type: 3, value: "TWO_QUARTER_WINDING_STAIR" }; + IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR = { type: 3, value: "TWO_STRAIGHT_RUN_STAIR" }; + IfcStairTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStairTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcStairTypeEnum = IfcStairTypeEnum; + class IfcStateEnum { + } + IfcStateEnum.LOCKED = { type: 3, value: "LOCKED" }; + IfcStateEnum.READONLY = { type: 3, value: "READONLY" }; + IfcStateEnum.READONLYLOCKED = { type: 3, value: "READONLYLOCKED" }; + IfcStateEnum.READWRITE = { type: 3, value: "READWRITE" }; + IfcStateEnum.READWRITELOCKED = { type: 3, value: "READWRITELOCKED" }; + IFC4X32.IfcStateEnum = IfcStateEnum; + class IfcStructuralCurveActivityTypeEnum { + } + IfcStructuralCurveActivityTypeEnum.CONST = { type: 3, value: "CONST" }; + IfcStructuralCurveActivityTypeEnum.DISCRETE = { type: 3, value: "DISCRETE" }; + IfcStructuralCurveActivityTypeEnum.EQUIDISTANT = { type: 3, value: "EQUIDISTANT" }; + IfcStructuralCurveActivityTypeEnum.LINEAR = { type: 3, value: "LINEAR" }; + IfcStructuralCurveActivityTypeEnum.PARABOLA = { type: 3, value: "PARABOLA" }; + IfcStructuralCurveActivityTypeEnum.POLYGONAL = { type: 3, value: "POLYGONAL" }; + IfcStructuralCurveActivityTypeEnum.SINUS = { type: 3, value: "SINUS" }; + IfcStructuralCurveActivityTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralCurveActivityTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcStructuralCurveActivityTypeEnum = IfcStructuralCurveActivityTypeEnum; + class IfcStructuralCurveMemberTypeEnum { + } + IfcStructuralCurveMemberTypeEnum.CABLE = { type: 3, value: "CABLE" }; + IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER = { type: 3, value: "COMPRESSION_MEMBER" }; + IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER = { type: 3, value: "PIN_JOINED_MEMBER" }; + IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER = { type: 3, value: "RIGID_JOINED_MEMBER" }; + IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER = { type: 3, value: "TENSION_MEMBER" }; + IfcStructuralCurveMemberTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralCurveMemberTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcStructuralCurveMemberTypeEnum = IfcStructuralCurveMemberTypeEnum; + class IfcStructuralSurfaceActivityTypeEnum { + } + IfcStructuralSurfaceActivityTypeEnum.BILINEAR = { type: 3, value: "BILINEAR" }; + IfcStructuralSurfaceActivityTypeEnum.CONST = { type: 3, value: "CONST" }; + IfcStructuralSurfaceActivityTypeEnum.DISCRETE = { type: 3, value: "DISCRETE" }; + IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR = { type: 3, value: "ISOCONTOUR" }; + IfcStructuralSurfaceActivityTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcStructuralSurfaceActivityTypeEnum = IfcStructuralSurfaceActivityTypeEnum; + class IfcStructuralSurfaceMemberTypeEnum { + } + IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT = { type: 3, value: "BENDING_ELEMENT" }; + IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT = { type: 3, value: "MEMBRANE_ELEMENT" }; + IfcStructuralSurfaceMemberTypeEnum.SHELL = { type: 3, value: "SHELL" }; + IfcStructuralSurfaceMemberTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcStructuralSurfaceMemberTypeEnum = IfcStructuralSurfaceMemberTypeEnum; + class IfcSubContractResourceTypeEnum { + } + IfcSubContractResourceTypeEnum.PURCHASE = { type: 3, value: "PURCHASE" }; + IfcSubContractResourceTypeEnum.WORK = { type: 3, value: "WORK" }; + IfcSubContractResourceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSubContractResourceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSubContractResourceTypeEnum = IfcSubContractResourceTypeEnum; + class IfcSurfaceFeatureTypeEnum { + } + IfcSurfaceFeatureTypeEnum.DEFECT = { type: 3, value: "DEFECT" }; + IfcSurfaceFeatureTypeEnum.HATCHMARKING = { type: 3, value: "HATCHMARKING" }; + IfcSurfaceFeatureTypeEnum.LINEMARKING = { type: 3, value: "LINEMARKING" }; + IfcSurfaceFeatureTypeEnum.MARK = { type: 3, value: "MARK" }; + IfcSurfaceFeatureTypeEnum.NONSKIDSURFACING = { type: 3, value: "NONSKIDSURFACING" }; + IfcSurfaceFeatureTypeEnum.PAVEMENTSURFACEMARKING = { type: 3, value: "PAVEMENTSURFACEMARKING" }; + IfcSurfaceFeatureTypeEnum.RUMBLESTRIP = { type: 3, value: "RUMBLESTRIP" }; + IfcSurfaceFeatureTypeEnum.SYMBOLMARKING = { type: 3, value: "SYMBOLMARKING" }; + IfcSurfaceFeatureTypeEnum.TAG = { type: 3, value: "TAG" }; + IfcSurfaceFeatureTypeEnum.TRANSVERSERUMBLESTRIP = { type: 3, value: "TRANSVERSERUMBLESTRIP" }; + IfcSurfaceFeatureTypeEnum.TREATMENT = { type: 3, value: "TREATMENT" }; + IfcSurfaceFeatureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSurfaceFeatureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSurfaceFeatureTypeEnum = IfcSurfaceFeatureTypeEnum; + class IfcSurfaceSide { + } + IfcSurfaceSide.BOTH = { type: 3, value: "BOTH" }; + IfcSurfaceSide.NEGATIVE = { type: 3, value: "NEGATIVE" }; + IfcSurfaceSide.POSITIVE = { type: 3, value: "POSITIVE" }; + IFC4X32.IfcSurfaceSide = IfcSurfaceSide; + class IfcSwitchingDeviceTypeEnum { + } + IfcSwitchingDeviceTypeEnum.CONTACTOR = { type: 3, value: "CONTACTOR" }; + IfcSwitchingDeviceTypeEnum.DIMMERSWITCH = { type: 3, value: "DIMMERSWITCH" }; + IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP = { type: 3, value: "EMERGENCYSTOP" }; + IfcSwitchingDeviceTypeEnum.KEYPAD = { type: 3, value: "KEYPAD" }; + IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH = { type: 3, value: "MOMENTARYSWITCH" }; + IfcSwitchingDeviceTypeEnum.RELAY = { type: 3, value: "RELAY" }; + IfcSwitchingDeviceTypeEnum.SELECTORSWITCH = { type: 3, value: "SELECTORSWITCH" }; + IfcSwitchingDeviceTypeEnum.STARTER = { type: 3, value: "STARTER" }; + IfcSwitchingDeviceTypeEnum.START_AND_STOP_EQUIPMENT = { type: 3, value: "START_AND_STOP_EQUIPMENT" }; + IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR = { type: 3, value: "SWITCHDISCONNECTOR" }; + IfcSwitchingDeviceTypeEnum.TOGGLESWITCH = { type: 3, value: "TOGGLESWITCH" }; + IfcSwitchingDeviceTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSwitchingDeviceTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSwitchingDeviceTypeEnum = IfcSwitchingDeviceTypeEnum; + class IfcSystemFurnitureElementTypeEnum { + } + IfcSystemFurnitureElementTypeEnum.PANEL = { type: 3, value: "PANEL" }; + IfcSystemFurnitureElementTypeEnum.SUBRACK = { type: 3, value: "SUBRACK" }; + IfcSystemFurnitureElementTypeEnum.WORKSURFACE = { type: 3, value: "WORKSURFACE" }; + IfcSystemFurnitureElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcSystemFurnitureElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcSystemFurnitureElementTypeEnum = IfcSystemFurnitureElementTypeEnum; + class IfcTankTypeEnum { + } + IfcTankTypeEnum.BASIN = { type: 3, value: "BASIN" }; + IfcTankTypeEnum.BREAKPRESSURE = { type: 3, value: "BREAKPRESSURE" }; + IfcTankTypeEnum.EXPANSION = { type: 3, value: "EXPANSION" }; + IfcTankTypeEnum.FEEDANDEXPANSION = { type: 3, value: "FEEDANDEXPANSION" }; + IfcTankTypeEnum.OILRETENTIONTRAY = { type: 3, value: "OILRETENTIONTRAY" }; + IfcTankTypeEnum.PRESSUREVESSEL = { type: 3, value: "PRESSUREVESSEL" }; + IfcTankTypeEnum.STORAGE = { type: 3, value: "STORAGE" }; + IfcTankTypeEnum.VESSEL = { type: 3, value: "VESSEL" }; + IfcTankTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTankTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTankTypeEnum = IfcTankTypeEnum; + class IfcTaskDurationEnum { + } + IfcTaskDurationEnum.ELAPSEDTIME = { type: 3, value: "ELAPSEDTIME" }; + IfcTaskDurationEnum.WORKTIME = { type: 3, value: "WORKTIME" }; + IfcTaskDurationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTaskDurationEnum = IfcTaskDurationEnum; + class IfcTaskTypeEnum { + } + IfcTaskTypeEnum.ADJUSTMENT = { type: 3, value: "ADJUSTMENT" }; + IfcTaskTypeEnum.ATTENDANCE = { type: 3, value: "ATTENDANCE" }; + IfcTaskTypeEnum.CALIBRATION = { type: 3, value: "CALIBRATION" }; + IfcTaskTypeEnum.CONSTRUCTION = { type: 3, value: "CONSTRUCTION" }; + IfcTaskTypeEnum.DEMOLITION = { type: 3, value: "DEMOLITION" }; + IfcTaskTypeEnum.DISMANTLE = { type: 3, value: "DISMANTLE" }; + IfcTaskTypeEnum.DISPOSAL = { type: 3, value: "DISPOSAL" }; + IfcTaskTypeEnum.EMERGENCY = { type: 3, value: "EMERGENCY" }; + IfcTaskTypeEnum.INSPECTION = { type: 3, value: "INSPECTION" }; + IfcTaskTypeEnum.INSTALLATION = { type: 3, value: "INSTALLATION" }; + IfcTaskTypeEnum.LOGISTIC = { type: 3, value: "LOGISTIC" }; + IfcTaskTypeEnum.MAINTENANCE = { type: 3, value: "MAINTENANCE" }; + IfcTaskTypeEnum.MOVE = { type: 3, value: "MOVE" }; + IfcTaskTypeEnum.OPERATION = { type: 3, value: "OPERATION" }; + IfcTaskTypeEnum.REMOVAL = { type: 3, value: "REMOVAL" }; + IfcTaskTypeEnum.RENOVATION = { type: 3, value: "RENOVATION" }; + IfcTaskTypeEnum.SAFETY = { type: 3, value: "SAFETY" }; + IfcTaskTypeEnum.SHUTDOWN = { type: 3, value: "SHUTDOWN" }; + IfcTaskTypeEnum.STARTUP = { type: 3, value: "STARTUP" }; + IfcTaskTypeEnum.TESTING = { type: 3, value: "TESTING" }; + IfcTaskTypeEnum.TROUBLESHOOTING = { type: 3, value: "TROUBLESHOOTING" }; + IfcTaskTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTaskTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTaskTypeEnum = IfcTaskTypeEnum; + class IfcTendonAnchorTypeEnum { + } + IfcTendonAnchorTypeEnum.COUPLER = { type: 3, value: "COUPLER" }; + IfcTendonAnchorTypeEnum.FIXED_END = { type: 3, value: "FIXED_END" }; + IfcTendonAnchorTypeEnum.TENSIONING_END = { type: 3, value: "TENSIONING_END" }; + IfcTendonAnchorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTendonAnchorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTendonAnchorTypeEnum = IfcTendonAnchorTypeEnum; + class IfcTendonConduitTypeEnum { + } + IfcTendonConduitTypeEnum.COUPLER = { type: 3, value: "COUPLER" }; + IfcTendonConduitTypeEnum.DIABOLO = { type: 3, value: "DIABOLO" }; + IfcTendonConduitTypeEnum.DUCT = { type: 3, value: "DUCT" }; + IfcTendonConduitTypeEnum.GROUTING_DUCT = { type: 3, value: "GROUTING_DUCT" }; + IfcTendonConduitTypeEnum.TRUMPET = { type: 3, value: "TRUMPET" }; + IfcTendonConduitTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTendonConduitTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTendonConduitTypeEnum = IfcTendonConduitTypeEnum; + class IfcTendonTypeEnum { + } + IfcTendonTypeEnum.BAR = { type: 3, value: "BAR" }; + IfcTendonTypeEnum.COATED = { type: 3, value: "COATED" }; + IfcTendonTypeEnum.STRAND = { type: 3, value: "STRAND" }; + IfcTendonTypeEnum.WIRE = { type: 3, value: "WIRE" }; + IfcTendonTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTendonTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTendonTypeEnum = IfcTendonTypeEnum; + class IfcTextPath { + } + IfcTextPath.DOWN = { type: 3, value: "DOWN" }; + IfcTextPath.LEFT = { type: 3, value: "LEFT" }; + IfcTextPath.RIGHT = { type: 3, value: "RIGHT" }; + IfcTextPath.UP = { type: 3, value: "UP" }; + IFC4X32.IfcTextPath = IfcTextPath; + class IfcTimeSeriesDataTypeEnum { + } + IfcTimeSeriesDataTypeEnum.CONTINUOUS = { type: 3, value: "CONTINUOUS" }; + IfcTimeSeriesDataTypeEnum.DISCRETE = { type: 3, value: "DISCRETE" }; + IfcTimeSeriesDataTypeEnum.DISCRETEBINARY = { type: 3, value: "DISCRETEBINARY" }; + IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY = { type: 3, value: "PIECEWISEBINARY" }; + IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT = { type: 3, value: "PIECEWISECONSTANT" }; + IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS = { type: 3, value: "PIECEWISECONTINUOUS" }; + IfcTimeSeriesDataTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTimeSeriesDataTypeEnum = IfcTimeSeriesDataTypeEnum; + class IfcTrackElementTypeEnum { + } + IfcTrackElementTypeEnum.BLOCKINGDEVICE = { type: 3, value: "BLOCKINGDEVICE" }; + IfcTrackElementTypeEnum.DERAILER = { type: 3, value: "DERAILER" }; + IfcTrackElementTypeEnum.FROG = { type: 3, value: "FROG" }; + IfcTrackElementTypeEnum.HALF_SET_OF_BLADES = { type: 3, value: "HALF_SET_OF_BLADES" }; + IfcTrackElementTypeEnum.SLEEPER = { type: 3, value: "SLEEPER" }; + IfcTrackElementTypeEnum.SPEEDREGULATOR = { type: 3, value: "SPEEDREGULATOR" }; + IfcTrackElementTypeEnum.TRACKENDOFALIGNMENT = { type: 3, value: "TRACKENDOFALIGNMENT" }; + IfcTrackElementTypeEnum.VEHICLESTOP = { type: 3, value: "VEHICLESTOP" }; + IfcTrackElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTrackElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTrackElementTypeEnum = IfcTrackElementTypeEnum; + class IfcTransformerTypeEnum { + } + IfcTransformerTypeEnum.CHOPPER = { type: 3, value: "CHOPPER" }; + IfcTransformerTypeEnum.COMBINED = { type: 3, value: "COMBINED" }; + IfcTransformerTypeEnum.CURRENT = { type: 3, value: "CURRENT" }; + IfcTransformerTypeEnum.FREQUENCY = { type: 3, value: "FREQUENCY" }; + IfcTransformerTypeEnum.INVERTER = { type: 3, value: "INVERTER" }; + IfcTransformerTypeEnum.RECTIFIER = { type: 3, value: "RECTIFIER" }; + IfcTransformerTypeEnum.VOLTAGE = { type: 3, value: "VOLTAGE" }; + IfcTransformerTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTransformerTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTransformerTypeEnum = IfcTransformerTypeEnum; + class IfcTransitionCode { + } + IfcTransitionCode.CONTINUOUS = { type: 3, value: "CONTINUOUS" }; + IfcTransitionCode.CONTSAMEGRADIENT = { type: 3, value: "CONTSAMEGRADIENT" }; + IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE = { type: 3, value: "CONTSAMEGRADIENTSAMECURVATURE" }; + IfcTransitionCode.DISCONTINUOUS = { type: 3, value: "DISCONTINUOUS" }; + IFC4X32.IfcTransitionCode = IfcTransitionCode; + class IfcTransportElementTypeEnum { + } + IfcTransportElementTypeEnum.CRANEWAY = { type: 3, value: "CRANEWAY" }; + IfcTransportElementTypeEnum.ELEVATOR = { type: 3, value: "ELEVATOR" }; + IfcTransportElementTypeEnum.ESCALATOR = { type: 3, value: "ESCALATOR" }; + IfcTransportElementTypeEnum.HAULINGGEAR = { type: 3, value: "HAULINGGEAR" }; + IfcTransportElementTypeEnum.LIFTINGGEAR = { type: 3, value: "LIFTINGGEAR" }; + IfcTransportElementTypeEnum.MOVINGWALKWAY = { type: 3, value: "MOVINGWALKWAY" }; + IfcTransportElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTransportElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTransportElementTypeEnum = IfcTransportElementTypeEnum; + class IfcTrimmingPreference { + } + IfcTrimmingPreference.CARTESIAN = { type: 3, value: "CARTESIAN" }; + IfcTrimmingPreference.PARAMETER = { type: 3, value: "PARAMETER" }; + IfcTrimmingPreference.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" }; + IFC4X32.IfcTrimmingPreference = IfcTrimmingPreference; + class IfcTubeBundleTypeEnum { + } + IfcTubeBundleTypeEnum.FINNED = { type: 3, value: "FINNED" }; + IfcTubeBundleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcTubeBundleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcTubeBundleTypeEnum = IfcTubeBundleTypeEnum; + class IfcUnitEnum { + } + IfcUnitEnum.ABSORBEDDOSEUNIT = { type: 3, value: "ABSORBEDDOSEUNIT" }; + IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT = { type: 3, value: "AMOUNTOFSUBSTANCEUNIT" }; + IfcUnitEnum.AREAUNIT = { type: 3, value: "AREAUNIT" }; + IfcUnitEnum.DOSEEQUIVALENTUNIT = { type: 3, value: "DOSEEQUIVALENTUNIT" }; + IfcUnitEnum.ELECTRICCAPACITANCEUNIT = { type: 3, value: "ELECTRICCAPACITANCEUNIT" }; + IfcUnitEnum.ELECTRICCHARGEUNIT = { type: 3, value: "ELECTRICCHARGEUNIT" }; + IfcUnitEnum.ELECTRICCONDUCTANCEUNIT = { type: 3, value: "ELECTRICCONDUCTANCEUNIT" }; + IfcUnitEnum.ELECTRICCURRENTUNIT = { type: 3, value: "ELECTRICCURRENTUNIT" }; + IfcUnitEnum.ELECTRICRESISTANCEUNIT = { type: 3, value: "ELECTRICRESISTANCEUNIT" }; + IfcUnitEnum.ELECTRICVOLTAGEUNIT = { type: 3, value: "ELECTRICVOLTAGEUNIT" }; + IfcUnitEnum.ENERGYUNIT = { type: 3, value: "ENERGYUNIT" }; + IfcUnitEnum.FORCEUNIT = { type: 3, value: "FORCEUNIT" }; + IfcUnitEnum.FREQUENCYUNIT = { type: 3, value: "FREQUENCYUNIT" }; + IfcUnitEnum.ILLUMINANCEUNIT = { type: 3, value: "ILLUMINANCEUNIT" }; + IfcUnitEnum.INDUCTANCEUNIT = { type: 3, value: "INDUCTANCEUNIT" }; + IfcUnitEnum.LENGTHUNIT = { type: 3, value: "LENGTHUNIT" }; + IfcUnitEnum.LUMINOUSFLUXUNIT = { type: 3, value: "LUMINOUSFLUXUNIT" }; + IfcUnitEnum.LUMINOUSINTENSITYUNIT = { type: 3, value: "LUMINOUSINTENSITYUNIT" }; + IfcUnitEnum.MAGNETICFLUXDENSITYUNIT = { type: 3, value: "MAGNETICFLUXDENSITYUNIT" }; + IfcUnitEnum.MAGNETICFLUXUNIT = { type: 3, value: "MAGNETICFLUXUNIT" }; + IfcUnitEnum.MASSUNIT = { type: 3, value: "MASSUNIT" }; + IfcUnitEnum.PLANEANGLEUNIT = { type: 3, value: "PLANEANGLEUNIT" }; + IfcUnitEnum.POWERUNIT = { type: 3, value: "POWERUNIT" }; + IfcUnitEnum.PRESSUREUNIT = { type: 3, value: "PRESSUREUNIT" }; + IfcUnitEnum.RADIOACTIVITYUNIT = { type: 3, value: "RADIOACTIVITYUNIT" }; + IfcUnitEnum.SOLIDANGLEUNIT = { type: 3, value: "SOLIDANGLEUNIT" }; + IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT = { type: 3, value: "THERMODYNAMICTEMPERATUREUNIT" }; + IfcUnitEnum.TIMEUNIT = { type: 3, value: "TIMEUNIT" }; + IfcUnitEnum.VOLUMEUNIT = { type: 3, value: "VOLUMEUNIT" }; + IfcUnitEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IFC4X32.IfcUnitEnum = IfcUnitEnum; + class IfcUnitaryControlElementTypeEnum { + } + IfcUnitaryControlElementTypeEnum.ALARMPANEL = { type: 3, value: "ALARMPANEL" }; + IfcUnitaryControlElementTypeEnum.BASESTATIONCONTROLLER = { type: 3, value: "BASESTATIONCONTROLLER" }; + IfcUnitaryControlElementTypeEnum.COMBINED = { type: 3, value: "COMBINED" }; + IfcUnitaryControlElementTypeEnum.CONTROLPANEL = { type: 3, value: "CONTROLPANEL" }; + IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL = { type: 3, value: "GASDETECTIONPANEL" }; + IfcUnitaryControlElementTypeEnum.HUMIDISTAT = { type: 3, value: "HUMIDISTAT" }; + IfcUnitaryControlElementTypeEnum.INDICATORPANEL = { type: 3, value: "INDICATORPANEL" }; + IfcUnitaryControlElementTypeEnum.MIMICPANEL = { type: 3, value: "MIMICPANEL" }; + IfcUnitaryControlElementTypeEnum.THERMOSTAT = { type: 3, value: "THERMOSTAT" }; + IfcUnitaryControlElementTypeEnum.WEATHERSTATION = { type: 3, value: "WEATHERSTATION" }; + IfcUnitaryControlElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcUnitaryControlElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcUnitaryControlElementTypeEnum = IfcUnitaryControlElementTypeEnum; + class IfcUnitaryEquipmentTypeEnum { + } + IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT = { type: 3, value: "AIRCONDITIONINGUNIT" }; + IfcUnitaryEquipmentTypeEnum.AIRHANDLER = { type: 3, value: "AIRHANDLER" }; + IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER = { type: 3, value: "DEHUMIDIFIER" }; + IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT = { type: 3, value: "ROOFTOPUNIT" }; + IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM = { type: 3, value: "SPLITSYSTEM" }; + IfcUnitaryEquipmentTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcUnitaryEquipmentTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcUnitaryEquipmentTypeEnum = IfcUnitaryEquipmentTypeEnum; + class IfcValveTypeEnum { + } + IfcValveTypeEnum.AIRRELEASE = { type: 3, value: "AIRRELEASE" }; + IfcValveTypeEnum.ANTIVACUUM = { type: 3, value: "ANTIVACUUM" }; + IfcValveTypeEnum.CHANGEOVER = { type: 3, value: "CHANGEOVER" }; + IfcValveTypeEnum.CHECK = { type: 3, value: "CHECK" }; + IfcValveTypeEnum.COMMISSIONING = { type: 3, value: "COMMISSIONING" }; + IfcValveTypeEnum.DIVERTING = { type: 3, value: "DIVERTING" }; + IfcValveTypeEnum.DOUBLECHECK = { type: 3, value: "DOUBLECHECK" }; + IfcValveTypeEnum.DOUBLEREGULATING = { type: 3, value: "DOUBLEREGULATING" }; + IfcValveTypeEnum.DRAWOFFCOCK = { type: 3, value: "DRAWOFFCOCK" }; + IfcValveTypeEnum.FAUCET = { type: 3, value: "FAUCET" }; + IfcValveTypeEnum.FLUSHING = { type: 3, value: "FLUSHING" }; + IfcValveTypeEnum.GASCOCK = { type: 3, value: "GASCOCK" }; + IfcValveTypeEnum.GASTAP = { type: 3, value: "GASTAP" }; + IfcValveTypeEnum.ISOLATING = { type: 3, value: "ISOLATING" }; + IfcValveTypeEnum.MIXING = { type: 3, value: "MIXING" }; + IfcValveTypeEnum.PRESSUREREDUCING = { type: 3, value: "PRESSUREREDUCING" }; + IfcValveTypeEnum.PRESSURERELIEF = { type: 3, value: "PRESSURERELIEF" }; + IfcValveTypeEnum.REGULATING = { type: 3, value: "REGULATING" }; + IfcValveTypeEnum.SAFETYCUTOFF = { type: 3, value: "SAFETYCUTOFF" }; + IfcValveTypeEnum.STEAMTRAP = { type: 3, value: "STEAMTRAP" }; + IfcValveTypeEnum.STOPCOCK = { type: 3, value: "STOPCOCK" }; + IfcValveTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcValveTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcValveTypeEnum = IfcValveTypeEnum; + class IfcVehicleTypeEnum { + } + IfcVehicleTypeEnum.CARGO = { type: 3, value: "CARGO" }; + IfcVehicleTypeEnum.ROLLINGSTOCK = { type: 3, value: "ROLLINGSTOCK" }; + IfcVehicleTypeEnum.VEHICLE = { type: 3, value: "VEHICLE" }; + IfcVehicleTypeEnum.VEHICLEAIR = { type: 3, value: "VEHICLEAIR" }; + IfcVehicleTypeEnum.VEHICLEMARINE = { type: 3, value: "VEHICLEMARINE" }; + IfcVehicleTypeEnum.VEHICLETRACKED = { type: 3, value: "VEHICLETRACKED" }; + IfcVehicleTypeEnum.VEHICLEWHEELED = { type: 3, value: "VEHICLEWHEELED" }; + IfcVehicleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcVehicleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcVehicleTypeEnum = IfcVehicleTypeEnum; + class IfcVibrationDamperTypeEnum { + } + IfcVibrationDamperTypeEnum.AXIAL_YIELD = { type: 3, value: "AXIAL_YIELD" }; + IfcVibrationDamperTypeEnum.BENDING_YIELD = { type: 3, value: "BENDING_YIELD" }; + IfcVibrationDamperTypeEnum.FRICTION = { type: 3, value: "FRICTION" }; + IfcVibrationDamperTypeEnum.RUBBER = { type: 3, value: "RUBBER" }; + IfcVibrationDamperTypeEnum.SHEAR_YIELD = { type: 3, value: "SHEAR_YIELD" }; + IfcVibrationDamperTypeEnum.VISCOUS = { type: 3, value: "VISCOUS" }; + IfcVibrationDamperTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcVibrationDamperTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcVibrationDamperTypeEnum = IfcVibrationDamperTypeEnum; + class IfcVibrationIsolatorTypeEnum { + } + IfcVibrationIsolatorTypeEnum.BASE = { type: 3, value: "BASE" }; + IfcVibrationIsolatorTypeEnum.COMPRESSION = { type: 3, value: "COMPRESSION" }; + IfcVibrationIsolatorTypeEnum.SPRING = { type: 3, value: "SPRING" }; + IfcVibrationIsolatorTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcVibrationIsolatorTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcVibrationIsolatorTypeEnum = IfcVibrationIsolatorTypeEnum; + class IfcVirtualElementTypeEnum { + } + IfcVirtualElementTypeEnum.BOUNDARY = { type: 3, value: "BOUNDARY" }; + IfcVirtualElementTypeEnum.CLEARANCE = { type: 3, value: "CLEARANCE" }; + IfcVirtualElementTypeEnum.PROVISIONFORVOID = { type: 3, value: "PROVISIONFORVOID" }; + IfcVirtualElementTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcVirtualElementTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcVirtualElementTypeEnum = IfcVirtualElementTypeEnum; + class IfcVoidingFeatureTypeEnum { + } + IfcVoidingFeatureTypeEnum.CHAMFER = { type: 3, value: "CHAMFER" }; + IfcVoidingFeatureTypeEnum.CUTOUT = { type: 3, value: "CUTOUT" }; + IfcVoidingFeatureTypeEnum.EDGE = { type: 3, value: "EDGE" }; + IfcVoidingFeatureTypeEnum.HOLE = { type: 3, value: "HOLE" }; + IfcVoidingFeatureTypeEnum.MITER = { type: 3, value: "MITER" }; + IfcVoidingFeatureTypeEnum.NOTCH = { type: 3, value: "NOTCH" }; + IfcVoidingFeatureTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcVoidingFeatureTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcVoidingFeatureTypeEnum = IfcVoidingFeatureTypeEnum; + class IfcWallTypeEnum { + } + IfcWallTypeEnum.ELEMENTEDWALL = { type: 3, value: "ELEMENTEDWALL" }; + IfcWallTypeEnum.MOVABLE = { type: 3, value: "MOVABLE" }; + IfcWallTypeEnum.PARAPET = { type: 3, value: "PARAPET" }; + IfcWallTypeEnum.PARTITIONING = { type: 3, value: "PARTITIONING" }; + IfcWallTypeEnum.PLUMBINGWALL = { type: 3, value: "PLUMBINGWALL" }; + IfcWallTypeEnum.POLYGONAL = { type: 3, value: "POLYGONAL" }; + IfcWallTypeEnum.RETAININGWALL = { type: 3, value: "RETAININGWALL" }; + IfcWallTypeEnum.SHEAR = { type: 3, value: "SHEAR" }; + IfcWallTypeEnum.SOLIDWALL = { type: 3, value: "SOLIDWALL" }; + IfcWallTypeEnum.STANDARD = { type: 3, value: "STANDARD" }; + IfcWallTypeEnum.WAVEWALL = { type: 3, value: "WAVEWALL" }; + IfcWallTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWallTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWallTypeEnum = IfcWallTypeEnum; + class IfcWasteTerminalTypeEnum { + } + IfcWasteTerminalTypeEnum.FLOORTRAP = { type: 3, value: "FLOORTRAP" }; + IfcWasteTerminalTypeEnum.FLOORWASTE = { type: 3, value: "FLOORWASTE" }; + IfcWasteTerminalTypeEnum.GULLYSUMP = { type: 3, value: "GULLYSUMP" }; + IfcWasteTerminalTypeEnum.GULLYTRAP = { type: 3, value: "GULLYTRAP" }; + IfcWasteTerminalTypeEnum.ROOFDRAIN = { type: 3, value: "ROOFDRAIN" }; + IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT = { type: 3, value: "WASTEDISPOSALUNIT" }; + IfcWasteTerminalTypeEnum.WASTETRAP = { type: 3, value: "WASTETRAP" }; + IfcWasteTerminalTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWasteTerminalTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWasteTerminalTypeEnum = IfcWasteTerminalTypeEnum; + class IfcWindowPanelOperationEnum { + } + IfcWindowPanelOperationEnum.BOTTOMHUNG = { type: 3, value: "BOTTOMHUNG" }; + IfcWindowPanelOperationEnum.FIXEDCASEMENT = { type: 3, value: "FIXEDCASEMENT" }; + IfcWindowPanelOperationEnum.OTHEROPERATION = { type: 3, value: "OTHEROPERATION" }; + IfcWindowPanelOperationEnum.PIVOTHORIZONTAL = { type: 3, value: "PIVOTHORIZONTAL" }; + IfcWindowPanelOperationEnum.PIVOTVERTICAL = { type: 3, value: "PIVOTVERTICAL" }; + IfcWindowPanelOperationEnum.REMOVABLECASEMENT = { type: 3, value: "REMOVABLECASEMENT" }; + IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND = { type: 3, value: "SIDEHUNGLEFTHAND" }; + IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND = { type: 3, value: "SIDEHUNGRIGHTHAND" }; + IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL = { type: 3, value: "SLIDINGHORIZONTAL" }; + IfcWindowPanelOperationEnum.SLIDINGVERTICAL = { type: 3, value: "SLIDINGVERTICAL" }; + IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND = { type: 3, value: "TILTANDTURNLEFTHAND" }; + IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND = { type: 3, value: "TILTANDTURNRIGHTHAND" }; + IfcWindowPanelOperationEnum.TOPHUNG = { type: 3, value: "TOPHUNG" }; + IfcWindowPanelOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWindowPanelOperationEnum = IfcWindowPanelOperationEnum; + class IfcWindowPanelPositionEnum { + } + IfcWindowPanelPositionEnum.BOTTOM = { type: 3, value: "BOTTOM" }; + IfcWindowPanelPositionEnum.LEFT = { type: 3, value: "LEFT" }; + IfcWindowPanelPositionEnum.MIDDLE = { type: 3, value: "MIDDLE" }; + IfcWindowPanelPositionEnum.RIGHT = { type: 3, value: "RIGHT" }; + IfcWindowPanelPositionEnum.TOP = { type: 3, value: "TOP" }; + IfcWindowPanelPositionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWindowPanelPositionEnum = IfcWindowPanelPositionEnum; + class IfcWindowStyleConstructionEnum { + } + IfcWindowStyleConstructionEnum.ALUMINIUM = { type: 3, value: "ALUMINIUM" }; + IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD = { type: 3, value: "ALUMINIUM_WOOD" }; + IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL = { type: 3, value: "HIGH_GRADE_STEEL" }; + IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION = { type: 3, value: "OTHER_CONSTRUCTION" }; + IfcWindowStyleConstructionEnum.PLASTIC = { type: 3, value: "PLASTIC" }; + IfcWindowStyleConstructionEnum.STEEL = { type: 3, value: "STEEL" }; + IfcWindowStyleConstructionEnum.WOOD = { type: 3, value: "WOOD" }; + IfcWindowStyleConstructionEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWindowStyleConstructionEnum = IfcWindowStyleConstructionEnum; + class IfcWindowStyleOperationEnum { + } + IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL = { type: 3, value: "DOUBLE_PANEL_HORIZONTAL" }; + IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL = { type: 3, value: "DOUBLE_PANEL_VERTICAL" }; + IfcWindowStyleOperationEnum.SINGLE_PANEL = { type: 3, value: "SINGLE_PANEL" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM = { type: 3, value: "TRIPLE_PANEL_BOTTOM" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL = { type: 3, value: "TRIPLE_PANEL_HORIZONTAL" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT = { type: 3, value: "TRIPLE_PANEL_LEFT" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT = { type: 3, value: "TRIPLE_PANEL_RIGHT" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP = { type: 3, value: "TRIPLE_PANEL_TOP" }; + IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL = { type: 3, value: "TRIPLE_PANEL_VERTICAL" }; + IfcWindowStyleOperationEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWindowStyleOperationEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWindowStyleOperationEnum = IfcWindowStyleOperationEnum; + class IfcWindowTypeEnum { + } + IfcWindowTypeEnum.LIGHTDOME = { type: 3, value: "LIGHTDOME" }; + IfcWindowTypeEnum.SKYLIGHT = { type: 3, value: "SKYLIGHT" }; + IfcWindowTypeEnum.WINDOW = { type: 3, value: "WINDOW" }; + IfcWindowTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWindowTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWindowTypeEnum = IfcWindowTypeEnum; + class IfcWindowTypePartitioningEnum { + } + IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL = { type: 3, value: "DOUBLE_PANEL_HORIZONTAL" }; + IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL = { type: 3, value: "DOUBLE_PANEL_VERTICAL" }; + IfcWindowTypePartitioningEnum.SINGLE_PANEL = { type: 3, value: "SINGLE_PANEL" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM = { type: 3, value: "TRIPLE_PANEL_BOTTOM" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL = { type: 3, value: "TRIPLE_PANEL_HORIZONTAL" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT = { type: 3, value: "TRIPLE_PANEL_LEFT" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT = { type: 3, value: "TRIPLE_PANEL_RIGHT" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP = { type: 3, value: "TRIPLE_PANEL_TOP" }; + IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL = { type: 3, value: "TRIPLE_PANEL_VERTICAL" }; + IfcWindowTypePartitioningEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWindowTypePartitioningEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWindowTypePartitioningEnum = IfcWindowTypePartitioningEnum; + class IfcWorkCalendarTypeEnum { + } + IfcWorkCalendarTypeEnum.FIRSTSHIFT = { type: 3, value: "FIRSTSHIFT" }; + IfcWorkCalendarTypeEnum.SECONDSHIFT = { type: 3, value: "SECONDSHIFT" }; + IfcWorkCalendarTypeEnum.THIRDSHIFT = { type: 3, value: "THIRDSHIFT" }; + IfcWorkCalendarTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWorkCalendarTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWorkCalendarTypeEnum = IfcWorkCalendarTypeEnum; + class IfcWorkPlanTypeEnum { + } + IfcWorkPlanTypeEnum.ACTUAL = { type: 3, value: "ACTUAL" }; + IfcWorkPlanTypeEnum.BASELINE = { type: 3, value: "BASELINE" }; + IfcWorkPlanTypeEnum.PLANNED = { type: 3, value: "PLANNED" }; + IfcWorkPlanTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWorkPlanTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWorkPlanTypeEnum = IfcWorkPlanTypeEnum; + class IfcWorkScheduleTypeEnum { + } + IfcWorkScheduleTypeEnum.ACTUAL = { type: 3, value: "ACTUAL" }; + IfcWorkScheduleTypeEnum.BASELINE = { type: 3, value: "BASELINE" }; + IfcWorkScheduleTypeEnum.PLANNED = { type: 3, value: "PLANNED" }; + IfcWorkScheduleTypeEnum.USERDEFINED = { type: 3, value: "USERDEFINED" }; + IfcWorkScheduleTypeEnum.NOTDEFINED = { type: 3, value: "NOTDEFINED" }; + IFC4X32.IfcWorkScheduleTypeEnum = IfcWorkScheduleTypeEnum; + class IfcActorRole extends IfcLineObject { + constructor(expressID, Role, UserDefinedRole, Description) { + super(expressID); + this.Role = Role; + this.UserDefinedRole = UserDefinedRole; + this.Description = Description; + this.type = 3630933823; + } + } + IFC4X32.IfcActorRole = IfcActorRole; + class IfcAddress extends IfcLineObject { + constructor(expressID, Purpose, Description, UserDefinedPurpose) { + super(expressID); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.type = 618182010; + } + } + IFC4X32.IfcAddress = IfcAddress; + class IfcAlignmentParameterSegment extends IfcLineObject { + constructor(expressID, StartTag, EndTag) { + super(expressID); + this.StartTag = StartTag; + this.EndTag = EndTag; + this.type = 2879124712; + } + } + IFC4X32.IfcAlignmentParameterSegment = IfcAlignmentParameterSegment; + class IfcAlignmentVerticalSegment extends IfcAlignmentParameterSegment { + constructor(expressID, StartTag, EndTag, StartDistAlong, HorizontalLength, StartHeight, StartGradient, EndGradient, RadiusOfCurvature, PredefinedType) { + super(expressID, StartTag, EndTag); + this.StartTag = StartTag; + this.EndTag = EndTag; + this.StartDistAlong = StartDistAlong; + this.HorizontalLength = HorizontalLength; + this.StartHeight = StartHeight; + this.StartGradient = StartGradient; + this.EndGradient = EndGradient; + this.RadiusOfCurvature = RadiusOfCurvature; + this.PredefinedType = PredefinedType; + this.type = 3633395639; + } + } + IFC4X32.IfcAlignmentVerticalSegment = IfcAlignmentVerticalSegment; + class IfcApplication extends IfcLineObject { + constructor(expressID, ApplicationDeveloper, Version, ApplicationFullName, ApplicationIdentifier) { + super(expressID); + this.ApplicationDeveloper = ApplicationDeveloper; + this.Version = Version; + this.ApplicationFullName = ApplicationFullName; + this.ApplicationIdentifier = ApplicationIdentifier; + this.type = 639542469; + } + } + IFC4X32.IfcApplication = IfcApplication; + class IfcAppliedValue extends IfcLineObject { + constructor(expressID, Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.AppliedValue = AppliedValue; + this.UnitBasis = UnitBasis; + this.ApplicableDate = ApplicableDate; + this.FixedUntilDate = FixedUntilDate; + this.Category = Category; + this.Condition = Condition; + this.ArithmeticOperator = ArithmeticOperator; + this.Components = Components; + this.type = 411424972; + } + } + IFC4X32.IfcAppliedValue = IfcAppliedValue; + class IfcApproval extends IfcLineObject { + constructor(expressID, Identifier, Name, Description, TimeOfApproval, Status, Level, Qualifier, RequestingApproval, GivingApproval) { + super(expressID); + this.Identifier = Identifier; + this.Name = Name; + this.Description = Description; + this.TimeOfApproval = TimeOfApproval; + this.Status = Status; + this.Level = Level; + this.Qualifier = Qualifier; + this.RequestingApproval = RequestingApproval; + this.GivingApproval = GivingApproval; + this.type = 130549933; + } + } + IFC4X32.IfcApproval = IfcApproval; + class IfcBoundaryCondition extends IfcLineObject { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 4037036970; + } + } + IFC4X32.IfcBoundaryCondition = IfcBoundaryCondition; + class IfcBoundaryEdgeCondition extends IfcBoundaryCondition { + constructor(expressID, Name, TranslationalStiffnessByLengthX, TranslationalStiffnessByLengthY, TranslationalStiffnessByLengthZ, RotationalStiffnessByLengthX, RotationalStiffnessByLengthY, RotationalStiffnessByLengthZ) { + super(expressID, Name); + this.Name = Name; + this.TranslationalStiffnessByLengthX = TranslationalStiffnessByLengthX; + this.TranslationalStiffnessByLengthY = TranslationalStiffnessByLengthY; + this.TranslationalStiffnessByLengthZ = TranslationalStiffnessByLengthZ; + this.RotationalStiffnessByLengthX = RotationalStiffnessByLengthX; + this.RotationalStiffnessByLengthY = RotationalStiffnessByLengthY; + this.RotationalStiffnessByLengthZ = RotationalStiffnessByLengthZ; + this.type = 1560379544; + } + } + IFC4X32.IfcBoundaryEdgeCondition = IfcBoundaryEdgeCondition; + class IfcBoundaryFaceCondition extends IfcBoundaryCondition { + constructor(expressID, Name, TranslationalStiffnessByAreaX, TranslationalStiffnessByAreaY, TranslationalStiffnessByAreaZ) { + super(expressID, Name); + this.Name = Name; + this.TranslationalStiffnessByAreaX = TranslationalStiffnessByAreaX; + this.TranslationalStiffnessByAreaY = TranslationalStiffnessByAreaY; + this.TranslationalStiffnessByAreaZ = TranslationalStiffnessByAreaZ; + this.type = 3367102660; + } + } + IFC4X32.IfcBoundaryFaceCondition = IfcBoundaryFaceCondition; + class IfcBoundaryNodeCondition extends IfcBoundaryCondition { + constructor(expressID, Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ) { + super(expressID, Name); + this.Name = Name; + this.TranslationalStiffnessX = TranslationalStiffnessX; + this.TranslationalStiffnessY = TranslationalStiffnessY; + this.TranslationalStiffnessZ = TranslationalStiffnessZ; + this.RotationalStiffnessX = RotationalStiffnessX; + this.RotationalStiffnessY = RotationalStiffnessY; + this.RotationalStiffnessZ = RotationalStiffnessZ; + this.type = 1387855156; + } + } + IFC4X32.IfcBoundaryNodeCondition = IfcBoundaryNodeCondition; + class IfcBoundaryNodeConditionWarping extends IfcBoundaryNodeCondition { + constructor(expressID, Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ, WarpingStiffness) { + super(expressID, Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ); + this.Name = Name; + this.TranslationalStiffnessX = TranslationalStiffnessX; + this.TranslationalStiffnessY = TranslationalStiffnessY; + this.TranslationalStiffnessZ = TranslationalStiffnessZ; + this.RotationalStiffnessX = RotationalStiffnessX; + this.RotationalStiffnessY = RotationalStiffnessY; + this.RotationalStiffnessZ = RotationalStiffnessZ; + this.WarpingStiffness = WarpingStiffness; + this.type = 2069777674; + } + } + IFC4X32.IfcBoundaryNodeConditionWarping = IfcBoundaryNodeConditionWarping; + class IfcConnectionGeometry extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 2859738748; + } + } + IFC4X32.IfcConnectionGeometry = IfcConnectionGeometry; + class IfcConnectionPointGeometry extends IfcConnectionGeometry { + constructor(expressID, PointOnRelatingElement, PointOnRelatedElement) { + super(expressID); + this.PointOnRelatingElement = PointOnRelatingElement; + this.PointOnRelatedElement = PointOnRelatedElement; + this.type = 2614616156; + } + } + IFC4X32.IfcConnectionPointGeometry = IfcConnectionPointGeometry; + class IfcConnectionSurfaceGeometry extends IfcConnectionGeometry { + constructor(expressID, SurfaceOnRelatingElement, SurfaceOnRelatedElement) { + super(expressID); + this.SurfaceOnRelatingElement = SurfaceOnRelatingElement; + this.SurfaceOnRelatedElement = SurfaceOnRelatedElement; + this.type = 2732653382; + } + } + IFC4X32.IfcConnectionSurfaceGeometry = IfcConnectionSurfaceGeometry; + class IfcConnectionVolumeGeometry extends IfcConnectionGeometry { + constructor(expressID, VolumeOnRelatingElement, VolumeOnRelatedElement) { + super(expressID); + this.VolumeOnRelatingElement = VolumeOnRelatingElement; + this.VolumeOnRelatedElement = VolumeOnRelatedElement; + this.type = 775493141; + } + } + IFC4X32.IfcConnectionVolumeGeometry = IfcConnectionVolumeGeometry; + class IfcConstraint extends IfcLineObject { + constructor(expressID, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.type = 1959218052; + } + } + IFC4X32.IfcConstraint = IfcConstraint; + class IfcCoordinateOperation extends IfcLineObject { + constructor(expressID, SourceCRS, TargetCRS) { + super(expressID); + this.SourceCRS = SourceCRS; + this.TargetCRS = TargetCRS; + this.type = 1785450214; + } + } + IFC4X32.IfcCoordinateOperation = IfcCoordinateOperation; + class IfcCoordinateReferenceSystem extends IfcLineObject { + constructor(expressID, Name, Description, GeodeticDatum, VerticalDatum) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.GeodeticDatum = GeodeticDatum; + this.VerticalDatum = VerticalDatum; + this.type = 1466758467; + } + } + IFC4X32.IfcCoordinateReferenceSystem = IfcCoordinateReferenceSystem; + class IfcCostValue extends IfcAppliedValue { + constructor(expressID, Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components) { + super(expressID, Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components); + this.Name = Name; + this.Description = Description; + this.AppliedValue = AppliedValue; + this.UnitBasis = UnitBasis; + this.ApplicableDate = ApplicableDate; + this.FixedUntilDate = FixedUntilDate; + this.Category = Category; + this.Condition = Condition; + this.ArithmeticOperator = ArithmeticOperator; + this.Components = Components; + this.type = 602808272; + } + } + IFC4X32.IfcCostValue = IfcCostValue; + class IfcDerivedUnit extends IfcLineObject { + constructor(expressID, Elements, UnitType, UserDefinedType, Name) { + super(expressID); + this.Elements = Elements; + this.UnitType = UnitType; + this.UserDefinedType = UserDefinedType; + this.Name = Name; + this.type = 1765591967; + } + } + IFC4X32.IfcDerivedUnit = IfcDerivedUnit; + class IfcDerivedUnitElement extends IfcLineObject { + constructor(expressID, Unit, Exponent) { + super(expressID); + this.Unit = Unit; + this.Exponent = Exponent; + this.type = 1045800335; + } + } + IFC4X32.IfcDerivedUnitElement = IfcDerivedUnitElement; + class IfcDimensionalExponents extends IfcLineObject { + constructor(expressID, LengthExponent, MassExponent, TimeExponent, ElectricCurrentExponent, ThermodynamicTemperatureExponent, AmountOfSubstanceExponent, LuminousIntensityExponent) { + super(expressID); + this.LengthExponent = LengthExponent; + this.MassExponent = MassExponent; + this.TimeExponent = TimeExponent; + this.ElectricCurrentExponent = ElectricCurrentExponent; + this.ThermodynamicTemperatureExponent = ThermodynamicTemperatureExponent; + this.AmountOfSubstanceExponent = AmountOfSubstanceExponent; + this.LuminousIntensityExponent = LuminousIntensityExponent; + this.type = 2949456006; + } + } + IFC4X32.IfcDimensionalExponents = IfcDimensionalExponents; + class IfcExternalInformation extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 4294318154; + } + } + IFC4X32.IfcExternalInformation = IfcExternalInformation; + class IfcExternalReference extends IfcLineObject { + constructor(expressID, Location, Identification, Name) { + super(expressID); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.type = 3200245327; + } + } + IFC4X32.IfcExternalReference = IfcExternalReference; + class IfcExternallyDefinedHatchStyle extends IfcExternalReference { + constructor(expressID, Location, Identification, Name) { + super(expressID, Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.type = 2242383968; + } + } + IFC4X32.IfcExternallyDefinedHatchStyle = IfcExternallyDefinedHatchStyle; + class IfcExternallyDefinedSurfaceStyle extends IfcExternalReference { + constructor(expressID, Location, Identification, Name) { + super(expressID, Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.type = 1040185647; + } + } + IFC4X32.IfcExternallyDefinedSurfaceStyle = IfcExternallyDefinedSurfaceStyle; + class IfcExternallyDefinedTextFont extends IfcExternalReference { + constructor(expressID, Location, Identification, Name) { + super(expressID, Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.type = 3548104201; + } + } + IFC4X32.IfcExternallyDefinedTextFont = IfcExternallyDefinedTextFont; + class IfcGridAxis extends IfcLineObject { + constructor(expressID, AxisTag, AxisCurve, SameSense) { + super(expressID); + this.AxisTag = AxisTag; + this.AxisCurve = AxisCurve; + this.SameSense = SameSense; + this.type = 852622518; + } + } + IFC4X32.IfcGridAxis = IfcGridAxis; + class IfcIrregularTimeSeriesValue extends IfcLineObject { + constructor(expressID, TimeStamp, ListValues) { + super(expressID); + this.TimeStamp = TimeStamp; + this.ListValues = ListValues; + this.type = 3020489413; + } + } + IFC4X32.IfcIrregularTimeSeriesValue = IfcIrregularTimeSeriesValue; + class IfcLibraryInformation extends IfcExternalInformation { + constructor(expressID, Name, Version, Publisher, VersionDate, Location, Description) { + super(expressID); + this.Name = Name; + this.Version = Version; + this.Publisher = Publisher; + this.VersionDate = VersionDate; + this.Location = Location; + this.Description = Description; + this.type = 2655187982; + } + } + IFC4X32.IfcLibraryInformation = IfcLibraryInformation; + class IfcLibraryReference extends IfcExternalReference { + constructor(expressID, Location, Identification, Name, Description, Language, ReferencedLibrary) { + super(expressID, Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.Description = Description; + this.Language = Language; + this.ReferencedLibrary = ReferencedLibrary; + this.type = 3452421091; + } + } + IFC4X32.IfcLibraryReference = IfcLibraryReference; + class IfcLightDistributionData extends IfcLineObject { + constructor(expressID, MainPlaneAngle, SecondaryPlaneAngle, LuminousIntensity) { + super(expressID); + this.MainPlaneAngle = MainPlaneAngle; + this.SecondaryPlaneAngle = SecondaryPlaneAngle; + this.LuminousIntensity = LuminousIntensity; + this.type = 4162380809; + } + } + IFC4X32.IfcLightDistributionData = IfcLightDistributionData; + class IfcLightIntensityDistribution extends IfcLineObject { + constructor(expressID, LightDistributionCurve, DistributionData) { + super(expressID); + this.LightDistributionCurve = LightDistributionCurve; + this.DistributionData = DistributionData; + this.type = 1566485204; + } + } + IFC4X32.IfcLightIntensityDistribution = IfcLightIntensityDistribution; + class IfcMapConversion extends IfcCoordinateOperation { + constructor(expressID, SourceCRS, TargetCRS, Eastings, Northings, OrthogonalHeight, XAxisAbscissa, XAxisOrdinate, Scale, ScaleY, ScaleZ) { + super(expressID, SourceCRS, TargetCRS); + this.SourceCRS = SourceCRS; + this.TargetCRS = TargetCRS; + this.Eastings = Eastings; + this.Northings = Northings; + this.OrthogonalHeight = OrthogonalHeight; + this.XAxisAbscissa = XAxisAbscissa; + this.XAxisOrdinate = XAxisOrdinate; + this.Scale = Scale; + this.ScaleY = ScaleY; + this.ScaleZ = ScaleZ; + this.type = 3057273783; + } + } + IFC4X32.IfcMapConversion = IfcMapConversion; + class IfcMaterialClassificationRelationship extends IfcLineObject { + constructor(expressID, MaterialClassifications, ClassifiedMaterial) { + super(expressID); + this.MaterialClassifications = MaterialClassifications; + this.ClassifiedMaterial = ClassifiedMaterial; + this.type = 1847130766; + } + } + IFC4X32.IfcMaterialClassificationRelationship = IfcMaterialClassificationRelationship; + class IfcMaterialDefinition extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 760658860; + } + } + IFC4X32.IfcMaterialDefinition = IfcMaterialDefinition; + class IfcMaterialLayer extends IfcMaterialDefinition { + constructor(expressID, Material, LayerThickness, IsVentilated, Name, Description, Category, Priority) { + super(expressID); + this.Material = Material; + this.LayerThickness = LayerThickness; + this.IsVentilated = IsVentilated; + this.Name = Name; + this.Description = Description; + this.Category = Category; + this.Priority = Priority; + this.type = 248100487; + } + } + IFC4X32.IfcMaterialLayer = IfcMaterialLayer; + class IfcMaterialLayerSet extends IfcMaterialDefinition { + constructor(expressID, MaterialLayers, LayerSetName, Description) { + super(expressID); + this.MaterialLayers = MaterialLayers; + this.LayerSetName = LayerSetName; + this.Description = Description; + this.type = 3303938423; + } + } + IFC4X32.IfcMaterialLayerSet = IfcMaterialLayerSet; + class IfcMaterialLayerWithOffsets extends IfcMaterialLayer { + constructor(expressID, Material, LayerThickness, IsVentilated, Name, Description, Category, Priority, OffsetDirection, OffsetValues) { + super(expressID, Material, LayerThickness, IsVentilated, Name, Description, Category, Priority); + this.Material = Material; + this.LayerThickness = LayerThickness; + this.IsVentilated = IsVentilated; + this.Name = Name; + this.Description = Description; + this.Category = Category; + this.Priority = Priority; + this.OffsetDirection = OffsetDirection; + this.OffsetValues = OffsetValues; + this.type = 1847252529; + } + } + IFC4X32.IfcMaterialLayerWithOffsets = IfcMaterialLayerWithOffsets; + class IfcMaterialList extends IfcLineObject { + constructor(expressID, Materials) { + super(expressID); + this.Materials = Materials; + this.type = 2199411900; + } + } + IFC4X32.IfcMaterialList = IfcMaterialList; + class IfcMaterialProfile extends IfcMaterialDefinition { + constructor(expressID, Name, Description, Material, Profile, Priority, Category) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.Material = Material; + this.Profile = Profile; + this.Priority = Priority; + this.Category = Category; + this.type = 2235152071; + } + } + IFC4X32.IfcMaterialProfile = IfcMaterialProfile; + class IfcMaterialProfileSet extends IfcMaterialDefinition { + constructor(expressID, Name, Description, MaterialProfiles, CompositeProfile) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.MaterialProfiles = MaterialProfiles; + this.CompositeProfile = CompositeProfile; + this.type = 164193824; + } + } + IFC4X32.IfcMaterialProfileSet = IfcMaterialProfileSet; + class IfcMaterialProfileWithOffsets extends IfcMaterialProfile { + constructor(expressID, Name, Description, Material, Profile, Priority, Category, OffsetValues) { + super(expressID, Name, Description, Material, Profile, Priority, Category); + this.Name = Name; + this.Description = Description; + this.Material = Material; + this.Profile = Profile; + this.Priority = Priority; + this.Category = Category; + this.OffsetValues = OffsetValues; + this.type = 552965576; + } + } + IFC4X32.IfcMaterialProfileWithOffsets = IfcMaterialProfileWithOffsets; + class IfcMaterialUsageDefinition extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 1507914824; + } + } + IFC4X32.IfcMaterialUsageDefinition = IfcMaterialUsageDefinition; + class IfcMeasureWithUnit extends IfcLineObject { + constructor(expressID, ValueComponent, UnitComponent) { + super(expressID); + this.ValueComponent = ValueComponent; + this.UnitComponent = UnitComponent; + this.type = 2597039031; + } + } + IFC4X32.IfcMeasureWithUnit = IfcMeasureWithUnit; + class IfcMetric extends IfcConstraint { + constructor(expressID, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, Benchmark, ValueSource, DataValue, ReferencePath) { + super(expressID, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.Benchmark = Benchmark; + this.ValueSource = ValueSource; + this.DataValue = DataValue; + this.ReferencePath = ReferencePath; + this.type = 3368373690; + } + } + IFC4X32.IfcMetric = IfcMetric; + class IfcMonetaryUnit extends IfcLineObject { + constructor(expressID, Currency) { + super(expressID); + this.Currency = Currency; + this.type = 2706619895; + } + } + IFC4X32.IfcMonetaryUnit = IfcMonetaryUnit; + class IfcNamedUnit extends IfcLineObject { + constructor(expressID, Dimensions, UnitType) { + super(expressID); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.type = 1918398963; + } + } + IFC4X32.IfcNamedUnit = IfcNamedUnit; + class IfcObjectPlacement extends IfcLineObject { + constructor(expressID, PlacementRelTo) { + super(expressID); + this.PlacementRelTo = PlacementRelTo; + this.type = 3701648758; + } + } + IFC4X32.IfcObjectPlacement = IfcObjectPlacement; + class IfcObjective extends IfcConstraint { + constructor(expressID, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, BenchmarkValues, LogicalAggregator, ObjectiveQualifier, UserDefinedQualifier) { + super(expressID, Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade); + this.Name = Name; + this.Description = Description; + this.ConstraintGrade = ConstraintGrade; + this.ConstraintSource = ConstraintSource; + this.CreatingActor = CreatingActor; + this.CreationTime = CreationTime; + this.UserDefinedGrade = UserDefinedGrade; + this.BenchmarkValues = BenchmarkValues; + this.LogicalAggregator = LogicalAggregator; + this.ObjectiveQualifier = ObjectiveQualifier; + this.UserDefinedQualifier = UserDefinedQualifier; + this.type = 2251480897; + } + } + IFC4X32.IfcObjective = IfcObjective; + class IfcOrganization extends IfcLineObject { + constructor(expressID, Identification, Name, Description, Roles, Addresses) { + super(expressID); + this.Identification = Identification; + this.Name = Name; + this.Description = Description; + this.Roles = Roles; + this.Addresses = Addresses; + this.type = 4251960020; + } + } + IFC4X32.IfcOrganization = IfcOrganization; + class IfcOwnerHistory extends IfcLineObject { + constructor(expressID, OwningUser, OwningApplication, State, ChangeAction, LastModifiedDate, LastModifyingUser, LastModifyingApplication, CreationDate) { + super(expressID); + this.OwningUser = OwningUser; + this.OwningApplication = OwningApplication; + this.State = State; + this.ChangeAction = ChangeAction; + this.LastModifiedDate = LastModifiedDate; + this.LastModifyingUser = LastModifyingUser; + this.LastModifyingApplication = LastModifyingApplication; + this.CreationDate = CreationDate; + this.type = 1207048766; + } + } + IFC4X32.IfcOwnerHistory = IfcOwnerHistory; + class IfcPerson extends IfcLineObject { + constructor(expressID, Identification, FamilyName, GivenName, MiddleNames, PrefixTitles, SuffixTitles, Roles, Addresses) { + super(expressID); + this.Identification = Identification; + this.FamilyName = FamilyName; + this.GivenName = GivenName; + this.MiddleNames = MiddleNames; + this.PrefixTitles = PrefixTitles; + this.SuffixTitles = SuffixTitles; + this.Roles = Roles; + this.Addresses = Addresses; + this.type = 2077209135; + } + } + IFC4X32.IfcPerson = IfcPerson; + class IfcPersonAndOrganization extends IfcLineObject { + constructor(expressID, ThePerson, TheOrganization, Roles) { + super(expressID); + this.ThePerson = ThePerson; + this.TheOrganization = TheOrganization; + this.Roles = Roles; + this.type = 101040310; + } + } + IFC4X32.IfcPersonAndOrganization = IfcPersonAndOrganization; + class IfcPhysicalQuantity extends IfcLineObject { + constructor(expressID, Name, Description) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.type = 2483315170; + } + } + IFC4X32.IfcPhysicalQuantity = IfcPhysicalQuantity; + class IfcPhysicalSimpleQuantity extends IfcPhysicalQuantity { + constructor(expressID, Name, Description, Unit) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.type = 2226359599; + } + } + IFC4X32.IfcPhysicalSimpleQuantity = IfcPhysicalSimpleQuantity; + class IfcPostalAddress extends IfcAddress { + constructor(expressID, Purpose, Description, UserDefinedPurpose, InternalLocation, AddressLines, PostalBox, Town, Region, PostalCode, Country) { + super(expressID, Purpose, Description, UserDefinedPurpose); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.InternalLocation = InternalLocation; + this.AddressLines = AddressLines; + this.PostalBox = PostalBox; + this.Town = Town; + this.Region = Region; + this.PostalCode = PostalCode; + this.Country = Country; + this.type = 3355820592; + } + } + IFC4X32.IfcPostalAddress = IfcPostalAddress; + class IfcPresentationItem extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 677532197; + } + } + IFC4X32.IfcPresentationItem = IfcPresentationItem; + class IfcPresentationLayerAssignment extends IfcLineObject { + constructor(expressID, Name, Description, AssignedItems, Identifier) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.AssignedItems = AssignedItems; + this.Identifier = Identifier; + this.type = 2022622350; + } + } + IFC4X32.IfcPresentationLayerAssignment = IfcPresentationLayerAssignment; + class IfcPresentationLayerWithStyle extends IfcPresentationLayerAssignment { + constructor(expressID, Name, Description, AssignedItems, Identifier, LayerOn, LayerFrozen, LayerBlocked, LayerStyles) { + super(expressID, Name, Description, AssignedItems, Identifier); + this.Name = Name; + this.Description = Description; + this.AssignedItems = AssignedItems; + this.Identifier = Identifier; + this.LayerOn = LayerOn; + this.LayerFrozen = LayerFrozen; + this.LayerBlocked = LayerBlocked; + this.LayerStyles = LayerStyles; + this.type = 1304840413; + } + } + IFC4X32.IfcPresentationLayerWithStyle = IfcPresentationLayerWithStyle; + class IfcPresentationStyle extends IfcLineObject { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 3119450353; + } + } + IFC4X32.IfcPresentationStyle = IfcPresentationStyle; + class IfcProductRepresentation extends IfcLineObject { + constructor(expressID, Name, Description, Representations) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.type = 2095639259; + } + } + IFC4X32.IfcProductRepresentation = IfcProductRepresentation; + class IfcProfileDef extends IfcLineObject { + constructor(expressID, ProfileType, ProfileName) { + super(expressID); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.type = 3958567839; + } + } + IFC4X32.IfcProfileDef = IfcProfileDef; + class IfcProjectedCRS extends IfcCoordinateReferenceSystem { + constructor(expressID, Name, Description, GeodeticDatum, VerticalDatum, MapProjection, MapZone, MapUnit) { + super(expressID, Name, Description, GeodeticDatum, VerticalDatum); + this.Name = Name; + this.Description = Description; + this.GeodeticDatum = GeodeticDatum; + this.VerticalDatum = VerticalDatum; + this.MapProjection = MapProjection; + this.MapZone = MapZone; + this.MapUnit = MapUnit; + this.type = 3843373140; + } + } + IFC4X32.IfcProjectedCRS = IfcProjectedCRS; + class IfcPropertyAbstraction extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 986844984; + } + } + IFC4X32.IfcPropertyAbstraction = IfcPropertyAbstraction; + class IfcPropertyEnumeration extends IfcPropertyAbstraction { + constructor(expressID, Name, EnumerationValues, Unit) { + super(expressID); + this.Name = Name; + this.EnumerationValues = EnumerationValues; + this.Unit = Unit; + this.type = 3710013099; + } + } + IFC4X32.IfcPropertyEnumeration = IfcPropertyEnumeration; + class IfcQuantityArea extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, AreaValue, Formula) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.AreaValue = AreaValue; + this.Formula = Formula; + this.type = 2044713172; + } + } + IFC4X32.IfcQuantityArea = IfcQuantityArea; + class IfcQuantityCount extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, CountValue, Formula) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.CountValue = CountValue; + this.Formula = Formula; + this.type = 2093928680; + } + } + IFC4X32.IfcQuantityCount = IfcQuantityCount; + class IfcQuantityLength extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, LengthValue, Formula) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.LengthValue = LengthValue; + this.Formula = Formula; + this.type = 931644368; + } + } + IFC4X32.IfcQuantityLength = IfcQuantityLength; + class IfcQuantityNumber extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, NumberValue, Formula) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.NumberValue = NumberValue; + this.Formula = Formula; + this.type = 2691318326; + } + } + IFC4X32.IfcQuantityNumber = IfcQuantityNumber; + class IfcQuantityTime extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, TimeValue, Formula) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.TimeValue = TimeValue; + this.Formula = Formula; + this.type = 3252649465; + } + } + IFC4X32.IfcQuantityTime = IfcQuantityTime; + class IfcQuantityVolume extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, VolumeValue, Formula) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.VolumeValue = VolumeValue; + this.Formula = Formula; + this.type = 2405470396; + } + } + IFC4X32.IfcQuantityVolume = IfcQuantityVolume; + class IfcQuantityWeight extends IfcPhysicalSimpleQuantity { + constructor(expressID, Name, Description, Unit, WeightValue, Formula) { + super(expressID, Name, Description, Unit); + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.WeightValue = WeightValue; + this.Formula = Formula; + this.type = 825690147; + } + } + IFC4X32.IfcQuantityWeight = IfcQuantityWeight; + class IfcRecurrencePattern extends IfcLineObject { + constructor(expressID, RecurrenceType, DayComponent, WeekdayComponent, MonthComponent, Position, Interval, Occurrences, TimePeriods) { + super(expressID); + this.RecurrenceType = RecurrenceType; + this.DayComponent = DayComponent; + this.WeekdayComponent = WeekdayComponent; + this.MonthComponent = MonthComponent; + this.Position = Position; + this.Interval = Interval; + this.Occurrences = Occurrences; + this.TimePeriods = TimePeriods; + this.type = 3915482550; + } + } + IFC4X32.IfcRecurrencePattern = IfcRecurrencePattern; + class IfcReference extends IfcLineObject { + constructor(expressID, TypeIdentifier, AttributeIdentifier, InstanceName, ListPositions, InnerReference) { + super(expressID); + this.TypeIdentifier = TypeIdentifier; + this.AttributeIdentifier = AttributeIdentifier; + this.InstanceName = InstanceName; + this.ListPositions = ListPositions; + this.InnerReference = InnerReference; + this.type = 2433181523; + } + } + IFC4X32.IfcReference = IfcReference; + class IfcRepresentation extends IfcLineObject { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 1076942058; + } + } + IFC4X32.IfcRepresentation = IfcRepresentation; + class IfcRepresentationContext extends IfcLineObject { + constructor(expressID, ContextIdentifier, ContextType) { + super(expressID); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.type = 3377609919; + } + } + IFC4X32.IfcRepresentationContext = IfcRepresentationContext; + class IfcRepresentationItem extends IfcLineObject { + constructor(expressID) { + super(expressID); + this.type = 3008791417; + } + } + IFC4X32.IfcRepresentationItem = IfcRepresentationItem; + class IfcRepresentationMap extends IfcLineObject { + constructor(expressID, MappingOrigin, MappedRepresentation) { + super(expressID); + this.MappingOrigin = MappingOrigin; + this.MappedRepresentation = MappedRepresentation; + this.type = 1660063152; + } + } + IFC4X32.IfcRepresentationMap = IfcRepresentationMap; + class IfcResourceLevelRelationship extends IfcLineObject { + constructor(expressID, Name, Description) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.type = 2439245199; + } + } + IFC4X32.IfcResourceLevelRelationship = IfcResourceLevelRelationship; + class IfcRoot extends IfcLineObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 2341007311; + } + } + IFC4X32.IfcRoot = IfcRoot; + class IfcSIUnit extends IfcNamedUnit { + constructor(expressID, Dimensions, UnitType, Prefix, Name) { + super(expressID, Dimensions, UnitType); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Prefix = Prefix; + this.Name = Name; + this.type = 448429030; + } + } + IFC4X32.IfcSIUnit = IfcSIUnit; + class IfcSchedulingTime extends IfcLineObject { + constructor(expressID, Name, DataOrigin, UserDefinedDataOrigin) { + super(expressID); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.type = 1054537805; + } + } + IFC4X32.IfcSchedulingTime = IfcSchedulingTime; + class IfcShapeAspect extends IfcLineObject { + constructor(expressID, ShapeRepresentations, Name, Description, ProductDefinitional, PartOfProductDefinitionShape) { + super(expressID); + this.ShapeRepresentations = ShapeRepresentations; + this.Name = Name; + this.Description = Description; + this.ProductDefinitional = ProductDefinitional; + this.PartOfProductDefinitionShape = PartOfProductDefinitionShape; + this.type = 867548509; + } + } + IFC4X32.IfcShapeAspect = IfcShapeAspect; + class IfcShapeModel extends IfcRepresentation { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 3982875396; + } + } + IFC4X32.IfcShapeModel = IfcShapeModel; + class IfcShapeRepresentation extends IfcShapeModel { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 4240577450; + } + } + IFC4X32.IfcShapeRepresentation = IfcShapeRepresentation; + class IfcStructuralConnectionCondition extends IfcLineObject { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 2273995522; + } + } + IFC4X32.IfcStructuralConnectionCondition = IfcStructuralConnectionCondition; + class IfcStructuralLoad extends IfcLineObject { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 2162789131; + } + } + IFC4X32.IfcStructuralLoad = IfcStructuralLoad; + class IfcStructuralLoadConfiguration extends IfcStructuralLoad { + constructor(expressID, Name, Values, Locations) { + super(expressID, Name); + this.Name = Name; + this.Values = Values; + this.Locations = Locations; + this.type = 3478079324; + } + } + IFC4X32.IfcStructuralLoadConfiguration = IfcStructuralLoadConfiguration; + class IfcStructuralLoadOrResult extends IfcStructuralLoad { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 609421318; + } + } + IFC4X32.IfcStructuralLoadOrResult = IfcStructuralLoadOrResult; + class IfcStructuralLoadStatic extends IfcStructuralLoadOrResult { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 2525727697; + } + } + IFC4X32.IfcStructuralLoadStatic = IfcStructuralLoadStatic; + class IfcStructuralLoadTemperature extends IfcStructuralLoadStatic { + constructor(expressID, Name, DeltaTConstant, DeltaTY, DeltaTZ) { + super(expressID, Name); + this.Name = Name; + this.DeltaTConstant = DeltaTConstant; + this.DeltaTY = DeltaTY; + this.DeltaTZ = DeltaTZ; + this.type = 3408363356; + } + } + IFC4X32.IfcStructuralLoadTemperature = IfcStructuralLoadTemperature; + class IfcStyleModel extends IfcRepresentation { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 2830218821; + } + } + IFC4X32.IfcStyleModel = IfcStyleModel; + class IfcStyledItem extends IfcRepresentationItem { + constructor(expressID, Item, Styles, Name) { + super(expressID); + this.Item = Item; + this.Styles = Styles; + this.Name = Name; + this.type = 3958052878; + } + } + IFC4X32.IfcStyledItem = IfcStyledItem; + class IfcStyledRepresentation extends IfcStyleModel { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 3049322572; + } + } + IFC4X32.IfcStyledRepresentation = IfcStyledRepresentation; + class IfcSurfaceReinforcementArea extends IfcStructuralLoadOrResult { + constructor(expressID, Name, SurfaceReinforcement1, SurfaceReinforcement2, ShearReinforcement) { + super(expressID, Name); + this.Name = Name; + this.SurfaceReinforcement1 = SurfaceReinforcement1; + this.SurfaceReinforcement2 = SurfaceReinforcement2; + this.ShearReinforcement = ShearReinforcement; + this.type = 2934153892; + } + } + IFC4X32.IfcSurfaceReinforcementArea = IfcSurfaceReinforcementArea; + class IfcSurfaceStyle extends IfcPresentationStyle { + constructor(expressID, Name, Side, Styles) { + super(expressID, Name); + this.Name = Name; + this.Side = Side; + this.Styles = Styles; + this.type = 1300840506; + } + } + IFC4X32.IfcSurfaceStyle = IfcSurfaceStyle; + class IfcSurfaceStyleLighting extends IfcPresentationItem { + constructor(expressID, DiffuseTransmissionColour, DiffuseReflectionColour, TransmissionColour, ReflectanceColour) { + super(expressID); + this.DiffuseTransmissionColour = DiffuseTransmissionColour; + this.DiffuseReflectionColour = DiffuseReflectionColour; + this.TransmissionColour = TransmissionColour; + this.ReflectanceColour = ReflectanceColour; + this.type = 3303107099; + } + } + IFC4X32.IfcSurfaceStyleLighting = IfcSurfaceStyleLighting; + class IfcSurfaceStyleRefraction extends IfcPresentationItem { + constructor(expressID, RefractionIndex, DispersionFactor) { + super(expressID); + this.RefractionIndex = RefractionIndex; + this.DispersionFactor = DispersionFactor; + this.type = 1607154358; + } + } + IFC4X32.IfcSurfaceStyleRefraction = IfcSurfaceStyleRefraction; + class IfcSurfaceStyleShading extends IfcPresentationItem { + constructor(expressID, SurfaceColour, Transparency) { + super(expressID); + this.SurfaceColour = SurfaceColour; + this.Transparency = Transparency; + this.type = 846575682; + } + } + IFC4X32.IfcSurfaceStyleShading = IfcSurfaceStyleShading; + class IfcSurfaceStyleWithTextures extends IfcPresentationItem { + constructor(expressID, Textures) { + super(expressID); + this.Textures = Textures; + this.type = 1351298697; + } + } + IFC4X32.IfcSurfaceStyleWithTextures = IfcSurfaceStyleWithTextures; + class IfcSurfaceTexture extends IfcPresentationItem { + constructor(expressID, RepeatS, RepeatT, Mode, TextureTransform, Parameter) { + super(expressID); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.Mode = Mode; + this.TextureTransform = TextureTransform; + this.Parameter = Parameter; + this.type = 626085974; + } + } + IFC4X32.IfcSurfaceTexture = IfcSurfaceTexture; + class IfcTable extends IfcLineObject { + constructor(expressID, Name, Rows, Columns) { + super(expressID); + this.Name = Name; + this.Rows = Rows; + this.Columns = Columns; + this.type = 985171141; + } + } + IFC4X32.IfcTable = IfcTable; + class IfcTableColumn extends IfcLineObject { + constructor(expressID, Identifier, Name, Description, Unit, ReferencePath) { + super(expressID); + this.Identifier = Identifier; + this.Name = Name; + this.Description = Description; + this.Unit = Unit; + this.ReferencePath = ReferencePath; + this.type = 2043862942; + } + } + IFC4X32.IfcTableColumn = IfcTableColumn; + class IfcTableRow extends IfcLineObject { + constructor(expressID, RowCells, IsHeading) { + super(expressID); + this.RowCells = RowCells; + this.IsHeading = IsHeading; + this.type = 531007025; + } + } + IFC4X32.IfcTableRow = IfcTableRow; + class IfcTaskTime extends IfcSchedulingTime { + constructor(expressID, Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion) { + super(expressID, Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.DurationType = DurationType; + this.ScheduleDuration = ScheduleDuration; + this.ScheduleStart = ScheduleStart; + this.ScheduleFinish = ScheduleFinish; + this.EarlyStart = EarlyStart; + this.EarlyFinish = EarlyFinish; + this.LateStart = LateStart; + this.LateFinish = LateFinish; + this.FreeFloat = FreeFloat; + this.TotalFloat = TotalFloat; + this.IsCritical = IsCritical; + this.StatusTime = StatusTime; + this.ActualDuration = ActualDuration; + this.ActualStart = ActualStart; + this.ActualFinish = ActualFinish; + this.RemainingTime = RemainingTime; + this.Completion = Completion; + this.type = 1549132990; + } + } + IFC4X32.IfcTaskTime = IfcTaskTime; + class IfcTaskTimeRecurring extends IfcTaskTime { + constructor(expressID, Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion, Recurrence) { + super(expressID, Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.DurationType = DurationType; + this.ScheduleDuration = ScheduleDuration; + this.ScheduleStart = ScheduleStart; + this.ScheduleFinish = ScheduleFinish; + this.EarlyStart = EarlyStart; + this.EarlyFinish = EarlyFinish; + this.LateStart = LateStart; + this.LateFinish = LateFinish; + this.FreeFloat = FreeFloat; + this.TotalFloat = TotalFloat; + this.IsCritical = IsCritical; + this.StatusTime = StatusTime; + this.ActualDuration = ActualDuration; + this.ActualStart = ActualStart; + this.ActualFinish = ActualFinish; + this.RemainingTime = RemainingTime; + this.Completion = Completion; + this.Recurrence = Recurrence; + this.type = 2771591690; + } + } + IFC4X32.IfcTaskTimeRecurring = IfcTaskTimeRecurring; + class IfcTelecomAddress extends IfcAddress { + constructor(expressID, Purpose, Description, UserDefinedPurpose, TelephoneNumbers, FacsimileNumbers, PagerNumber, ElectronicMailAddresses, WWWHomePageURL, MessagingIDs) { + super(expressID, Purpose, Description, UserDefinedPurpose); + this.Purpose = Purpose; + this.Description = Description; + this.UserDefinedPurpose = UserDefinedPurpose; + this.TelephoneNumbers = TelephoneNumbers; + this.FacsimileNumbers = FacsimileNumbers; + this.PagerNumber = PagerNumber; + this.ElectronicMailAddresses = ElectronicMailAddresses; + this.WWWHomePageURL = WWWHomePageURL; + this.MessagingIDs = MessagingIDs; + this.type = 912023232; + } + } + IFC4X32.IfcTelecomAddress = IfcTelecomAddress; + class IfcTextStyle extends IfcPresentationStyle { + constructor(expressID, Name, TextCharacterAppearance, TextStyle, TextFontStyle, ModelOrDraughting) { + super(expressID, Name); + this.Name = Name; + this.TextCharacterAppearance = TextCharacterAppearance; + this.TextStyle = TextStyle; + this.TextFontStyle = TextFontStyle; + this.ModelOrDraughting = ModelOrDraughting; + this.type = 1447204868; + } + } + IFC4X32.IfcTextStyle = IfcTextStyle; + class IfcTextStyleForDefinedFont extends IfcPresentationItem { + constructor(expressID, Colour, BackgroundColour) { + super(expressID); + this.Colour = Colour; + this.BackgroundColour = BackgroundColour; + this.type = 2636378356; + } + } + IFC4X32.IfcTextStyleForDefinedFont = IfcTextStyleForDefinedFont; + class IfcTextStyleTextModel extends IfcPresentationItem { + constructor(expressID, TextIndent, TextAlign, TextDecoration, LetterSpacing, WordSpacing, TextTransform, LineHeight) { + super(expressID); + this.TextIndent = TextIndent; + this.TextAlign = TextAlign; + this.TextDecoration = TextDecoration; + this.LetterSpacing = LetterSpacing; + this.WordSpacing = WordSpacing; + this.TextTransform = TextTransform; + this.LineHeight = LineHeight; + this.type = 1640371178; + } + } + IFC4X32.IfcTextStyleTextModel = IfcTextStyleTextModel; + class IfcTextureCoordinate extends IfcPresentationItem { + constructor(expressID, Maps) { + super(expressID); + this.Maps = Maps; + this.type = 280115917; + } + } + IFC4X32.IfcTextureCoordinate = IfcTextureCoordinate; + class IfcTextureCoordinateGenerator extends IfcTextureCoordinate { + constructor(expressID, Maps, Mode, Parameter) { + super(expressID, Maps); + this.Maps = Maps; + this.Mode = Mode; + this.Parameter = Parameter; + this.type = 1742049831; + } + } + IFC4X32.IfcTextureCoordinateGenerator = IfcTextureCoordinateGenerator; + class IfcTextureCoordinateIndices extends IfcLineObject { + constructor(expressID, TexCoordIndex, TexCoordsOf) { + super(expressID); + this.TexCoordIndex = TexCoordIndex; + this.TexCoordsOf = TexCoordsOf; + this.type = 222769930; + } + } + IFC4X32.IfcTextureCoordinateIndices = IfcTextureCoordinateIndices; + class IfcTextureCoordinateIndicesWithVoids extends IfcTextureCoordinateIndices { + constructor(expressID, TexCoordIndex, TexCoordsOf, InnerTexCoordIndices) { + super(expressID, TexCoordIndex, TexCoordsOf); + this.TexCoordIndex = TexCoordIndex; + this.TexCoordsOf = TexCoordsOf; + this.InnerTexCoordIndices = InnerTexCoordIndices; + this.type = 1010789467; + } + } + IFC4X32.IfcTextureCoordinateIndicesWithVoids = IfcTextureCoordinateIndicesWithVoids; + class IfcTextureMap extends IfcTextureCoordinate { + constructor(expressID, Maps, Vertices, MappedTo) { + super(expressID, Maps); + this.Maps = Maps; + this.Vertices = Vertices; + this.MappedTo = MappedTo; + this.type = 2552916305; + } + } + IFC4X32.IfcTextureMap = IfcTextureMap; + class IfcTextureVertex extends IfcPresentationItem { + constructor(expressID, Coordinates) { + super(expressID); + this.Coordinates = Coordinates; + this.type = 1210645708; + } + } + IFC4X32.IfcTextureVertex = IfcTextureVertex; + class IfcTextureVertexList extends IfcPresentationItem { + constructor(expressID, TexCoordsList) { + super(expressID); + this.TexCoordsList = TexCoordsList; + this.type = 3611470254; + } + } + IFC4X32.IfcTextureVertexList = IfcTextureVertexList; + class IfcTimePeriod extends IfcLineObject { + constructor(expressID, StartTime, EndTime) { + super(expressID); + this.StartTime = StartTime; + this.EndTime = EndTime; + this.type = 1199560280; + } + } + IFC4X32.IfcTimePeriod = IfcTimePeriod; + class IfcTimeSeries extends IfcLineObject { + constructor(expressID, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.type = 3101149627; + } + } + IFC4X32.IfcTimeSeries = IfcTimeSeries; + class IfcTimeSeriesValue extends IfcLineObject { + constructor(expressID, ListValues) { + super(expressID); + this.ListValues = ListValues; + this.type = 581633288; + } + } + IFC4X32.IfcTimeSeriesValue = IfcTimeSeriesValue; + class IfcTopologicalRepresentationItem extends IfcRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 1377556343; + } + } + IFC4X32.IfcTopologicalRepresentationItem = IfcTopologicalRepresentationItem; + class IfcTopologyRepresentation extends IfcShapeModel { + constructor(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items) { + super(expressID, ContextOfItems, RepresentationIdentifier, RepresentationType, Items); + this.ContextOfItems = ContextOfItems; + this.RepresentationIdentifier = RepresentationIdentifier; + this.RepresentationType = RepresentationType; + this.Items = Items; + this.type = 1735638870; + } + } + IFC4X32.IfcTopologyRepresentation = IfcTopologyRepresentation; + class IfcUnitAssignment extends IfcLineObject { + constructor(expressID, Units) { + super(expressID); + this.Units = Units; + this.type = 180925521; + } + } + IFC4X32.IfcUnitAssignment = IfcUnitAssignment; + class IfcVertex extends IfcTopologicalRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 2799835756; + } + } + IFC4X32.IfcVertex = IfcVertex; + class IfcVertexPoint extends IfcVertex { + constructor(expressID, VertexGeometry) { + super(expressID); + this.VertexGeometry = VertexGeometry; + this.type = 1907098498; + } + } + IFC4X32.IfcVertexPoint = IfcVertexPoint; + class IfcVirtualGridIntersection extends IfcLineObject { + constructor(expressID, IntersectingAxes, OffsetDistances) { + super(expressID); + this.IntersectingAxes = IntersectingAxes; + this.OffsetDistances = OffsetDistances; + this.type = 891718957; + } + } + IFC4X32.IfcVirtualGridIntersection = IfcVirtualGridIntersection; + class IfcWorkTime extends IfcSchedulingTime { + constructor(expressID, Name, DataOrigin, UserDefinedDataOrigin, RecurrencePattern, StartDate, FinishDate) { + super(expressID, Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.RecurrencePattern = RecurrencePattern; + this.StartDate = StartDate; + this.FinishDate = FinishDate; + this.type = 1236880293; + } + } + IFC4X32.IfcWorkTime = IfcWorkTime; + class IfcAlignmentCantSegment extends IfcAlignmentParameterSegment { + constructor(expressID, StartTag, EndTag, StartDistAlong, HorizontalLength, StartCantLeft, EndCantLeft, StartCantRight, EndCantRight, PredefinedType) { + super(expressID, StartTag, EndTag); + this.StartTag = StartTag; + this.EndTag = EndTag; + this.StartDistAlong = StartDistAlong; + this.HorizontalLength = HorizontalLength; + this.StartCantLeft = StartCantLeft; + this.EndCantLeft = EndCantLeft; + this.StartCantRight = StartCantRight; + this.EndCantRight = EndCantRight; + this.PredefinedType = PredefinedType; + this.type = 3752311538; + } + } + IFC4X32.IfcAlignmentCantSegment = IfcAlignmentCantSegment; + class IfcAlignmentHorizontalSegment extends IfcAlignmentParameterSegment { + constructor(expressID, StartTag, EndTag, StartPoint, StartDirection, StartRadiusOfCurvature, EndRadiusOfCurvature, SegmentLength, GravityCenterLineHeight, PredefinedType) { + super(expressID, StartTag, EndTag); + this.StartTag = StartTag; + this.EndTag = EndTag; + this.StartPoint = StartPoint; + this.StartDirection = StartDirection; + this.StartRadiusOfCurvature = StartRadiusOfCurvature; + this.EndRadiusOfCurvature = EndRadiusOfCurvature; + this.SegmentLength = SegmentLength; + this.GravityCenterLineHeight = GravityCenterLineHeight; + this.PredefinedType = PredefinedType; + this.type = 536804194; + } + } + IFC4X32.IfcAlignmentHorizontalSegment = IfcAlignmentHorizontalSegment; + class IfcApprovalRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, RelatingApproval, RelatedApprovals) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingApproval = RelatingApproval; + this.RelatedApprovals = RelatedApprovals; + this.type = 3869604511; + } + } + IFC4X32.IfcApprovalRelationship = IfcApprovalRelationship; + class IfcArbitraryClosedProfileDef extends IfcProfileDef { + constructor(expressID, ProfileType, ProfileName, OuterCurve) { + super(expressID, ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.OuterCurve = OuterCurve; + this.type = 3798115385; + } + } + IFC4X32.IfcArbitraryClosedProfileDef = IfcArbitraryClosedProfileDef; + class IfcArbitraryOpenProfileDef extends IfcProfileDef { + constructor(expressID, ProfileType, ProfileName, Curve) { + super(expressID, ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Curve = Curve; + this.type = 1310608509; + } + } + IFC4X32.IfcArbitraryOpenProfileDef = IfcArbitraryOpenProfileDef; + class IfcArbitraryProfileDefWithVoids extends IfcArbitraryClosedProfileDef { + constructor(expressID, ProfileType, ProfileName, OuterCurve, InnerCurves) { + super(expressID, ProfileType, ProfileName, OuterCurve); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.OuterCurve = OuterCurve; + this.InnerCurves = InnerCurves; + this.type = 2705031697; + } + } + IFC4X32.IfcArbitraryProfileDefWithVoids = IfcArbitraryProfileDefWithVoids; + class IfcBlobTexture extends IfcSurfaceTexture { + constructor(expressID, RepeatS, RepeatT, Mode, TextureTransform, Parameter, RasterFormat, RasterCode) { + super(expressID, RepeatS, RepeatT, Mode, TextureTransform, Parameter); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.Mode = Mode; + this.TextureTransform = TextureTransform; + this.Parameter = Parameter; + this.RasterFormat = RasterFormat; + this.RasterCode = RasterCode; + this.type = 616511568; + } + } + IFC4X32.IfcBlobTexture = IfcBlobTexture; + class IfcCenterLineProfileDef extends IfcArbitraryOpenProfileDef { + constructor(expressID, ProfileType, ProfileName, Curve, Thickness) { + super(expressID, ProfileType, ProfileName, Curve); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Curve = Curve; + this.Thickness = Thickness; + this.type = 3150382593; + } + } + IFC4X32.IfcCenterLineProfileDef = IfcCenterLineProfileDef; + class IfcClassification extends IfcExternalInformation { + constructor(expressID, Source, Edition, EditionDate, Name, Description, Specification, ReferenceTokens) { + super(expressID); + this.Source = Source; + this.Edition = Edition; + this.EditionDate = EditionDate; + this.Name = Name; + this.Description = Description; + this.Specification = Specification; + this.ReferenceTokens = ReferenceTokens; + this.type = 747523909; + } + } + IFC4X32.IfcClassification = IfcClassification; + class IfcClassificationReference extends IfcExternalReference { + constructor(expressID, Location, Identification, Name, ReferencedSource, Description, Sort) { + super(expressID, Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.ReferencedSource = ReferencedSource; + this.Description = Description; + this.Sort = Sort; + this.type = 647927063; + } + } + IFC4X32.IfcClassificationReference = IfcClassificationReference; + class IfcColourRgbList extends IfcPresentationItem { + constructor(expressID, ColourList) { + super(expressID); + this.ColourList = ColourList; + this.type = 3285139300; + } + } + IFC4X32.IfcColourRgbList = IfcColourRgbList; + class IfcColourSpecification extends IfcPresentationItem { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 3264961684; + } + } + IFC4X32.IfcColourSpecification = IfcColourSpecification; + class IfcCompositeProfileDef extends IfcProfileDef { + constructor(expressID, ProfileType, ProfileName, Profiles, Label) { + super(expressID, ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Profiles = Profiles; + this.Label = Label; + this.type = 1485152156; + } + } + IFC4X32.IfcCompositeProfileDef = IfcCompositeProfileDef; + class IfcConnectedFaceSet extends IfcTopologicalRepresentationItem { + constructor(expressID, CfsFaces) { + super(expressID); + this.CfsFaces = CfsFaces; + this.type = 370225590; + } + } + IFC4X32.IfcConnectedFaceSet = IfcConnectedFaceSet; + class IfcConnectionCurveGeometry extends IfcConnectionGeometry { + constructor(expressID, CurveOnRelatingElement, CurveOnRelatedElement) { + super(expressID); + this.CurveOnRelatingElement = CurveOnRelatingElement; + this.CurveOnRelatedElement = CurveOnRelatedElement; + this.type = 1981873012; + } + } + IFC4X32.IfcConnectionCurveGeometry = IfcConnectionCurveGeometry; + class IfcConnectionPointEccentricity extends IfcConnectionPointGeometry { + constructor(expressID, PointOnRelatingElement, PointOnRelatedElement, EccentricityInX, EccentricityInY, EccentricityInZ) { + super(expressID, PointOnRelatingElement, PointOnRelatedElement); + this.PointOnRelatingElement = PointOnRelatingElement; + this.PointOnRelatedElement = PointOnRelatedElement; + this.EccentricityInX = EccentricityInX; + this.EccentricityInY = EccentricityInY; + this.EccentricityInZ = EccentricityInZ; + this.type = 45288368; + } + } + IFC4X32.IfcConnectionPointEccentricity = IfcConnectionPointEccentricity; + class IfcContextDependentUnit extends IfcNamedUnit { + constructor(expressID, Dimensions, UnitType, Name) { + super(expressID, Dimensions, UnitType); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Name = Name; + this.type = 3050246964; + } + } + IFC4X32.IfcContextDependentUnit = IfcContextDependentUnit; + class IfcConversionBasedUnit extends IfcNamedUnit { + constructor(expressID, Dimensions, UnitType, Name, ConversionFactor) { + super(expressID, Dimensions, UnitType); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Name = Name; + this.ConversionFactor = ConversionFactor; + this.type = 2889183280; + } + } + IFC4X32.IfcConversionBasedUnit = IfcConversionBasedUnit; + class IfcConversionBasedUnitWithOffset extends IfcConversionBasedUnit { + constructor(expressID, Dimensions, UnitType, Name, ConversionFactor, ConversionOffset) { + super(expressID, Dimensions, UnitType, Name, ConversionFactor); + this.Dimensions = Dimensions; + this.UnitType = UnitType; + this.Name = Name; + this.ConversionFactor = ConversionFactor; + this.ConversionOffset = ConversionOffset; + this.type = 2713554722; + } + } + IFC4X32.IfcConversionBasedUnitWithOffset = IfcConversionBasedUnitWithOffset; + class IfcCurrencyRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, RelatingMonetaryUnit, RelatedMonetaryUnit, ExchangeRate, RateDateTime, RateSource) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingMonetaryUnit = RelatingMonetaryUnit; + this.RelatedMonetaryUnit = RelatedMonetaryUnit; + this.ExchangeRate = ExchangeRate; + this.RateDateTime = RateDateTime; + this.RateSource = RateSource; + this.type = 539742890; + } + } + IFC4X32.IfcCurrencyRelationship = IfcCurrencyRelationship; + class IfcCurveStyle extends IfcPresentationStyle { + constructor(expressID, Name, CurveFont, CurveWidth, CurveColour, ModelOrDraughting) { + super(expressID, Name); + this.Name = Name; + this.CurveFont = CurveFont; + this.CurveWidth = CurveWidth; + this.CurveColour = CurveColour; + this.ModelOrDraughting = ModelOrDraughting; + this.type = 3800577675; + } + } + IFC4X32.IfcCurveStyle = IfcCurveStyle; + class IfcCurveStyleFont extends IfcPresentationItem { + constructor(expressID, Name, PatternList) { + super(expressID); + this.Name = Name; + this.PatternList = PatternList; + this.type = 1105321065; + } + } + IFC4X32.IfcCurveStyleFont = IfcCurveStyleFont; + class IfcCurveStyleFontAndScaling extends IfcPresentationItem { + constructor(expressID, Name, CurveStyleFont, CurveFontScaling) { + super(expressID); + this.Name = Name; + this.CurveStyleFont = CurveStyleFont; + this.CurveFontScaling = CurveFontScaling; + this.type = 2367409068; + } + } + IFC4X32.IfcCurveStyleFontAndScaling = IfcCurveStyleFontAndScaling; + class IfcCurveStyleFontPattern extends IfcPresentationItem { + constructor(expressID, VisibleSegmentLength, InvisibleSegmentLength) { + super(expressID); + this.VisibleSegmentLength = VisibleSegmentLength; + this.InvisibleSegmentLength = InvisibleSegmentLength; + this.type = 3510044353; + } + } + IFC4X32.IfcCurveStyleFontPattern = IfcCurveStyleFontPattern; + class IfcDerivedProfileDef extends IfcProfileDef { + constructor(expressID, ProfileType, ProfileName, ParentProfile, Operator, Label) { + super(expressID, ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.ParentProfile = ParentProfile; + this.Operator = Operator; + this.Label = Label; + this.type = 3632507154; + } + } + IFC4X32.IfcDerivedProfileDef = IfcDerivedProfileDef; + class IfcDocumentInformation extends IfcExternalInformation { + constructor(expressID, Identification, Name, Description, Location, Purpose, IntendedUse, Scope, Revision, DocumentOwner, Editors, CreationTime, LastRevisionTime, ElectronicFormat, ValidFrom, ValidUntil, Confidentiality, Status) { + super(expressID); + this.Identification = Identification; + this.Name = Name; + this.Description = Description; + this.Location = Location; + this.Purpose = Purpose; + this.IntendedUse = IntendedUse; + this.Scope = Scope; + this.Revision = Revision; + this.DocumentOwner = DocumentOwner; + this.Editors = Editors; + this.CreationTime = CreationTime; + this.LastRevisionTime = LastRevisionTime; + this.ElectronicFormat = ElectronicFormat; + this.ValidFrom = ValidFrom; + this.ValidUntil = ValidUntil; + this.Confidentiality = Confidentiality; + this.Status = Status; + this.type = 1154170062; + } + } + IFC4X32.IfcDocumentInformation = IfcDocumentInformation; + class IfcDocumentInformationRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, RelatingDocument, RelatedDocuments, RelationshipType) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingDocument = RelatingDocument; + this.RelatedDocuments = RelatedDocuments; + this.RelationshipType = RelationshipType; + this.type = 770865208; + } + } + IFC4X32.IfcDocumentInformationRelationship = IfcDocumentInformationRelationship; + class IfcDocumentReference extends IfcExternalReference { + constructor(expressID, Location, Identification, Name, Description, ReferencedDocument) { + super(expressID, Location, Identification, Name); + this.Location = Location; + this.Identification = Identification; + this.Name = Name; + this.Description = Description; + this.ReferencedDocument = ReferencedDocument; + this.type = 3732053477; + } + } + IFC4X32.IfcDocumentReference = IfcDocumentReference; + class IfcEdge extends IfcTopologicalRepresentationItem { + constructor(expressID, EdgeStart, EdgeEnd) { + super(expressID); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.type = 3900360178; + } + } + IFC4X32.IfcEdge = IfcEdge; + class IfcEdgeCurve extends IfcEdge { + constructor(expressID, EdgeStart, EdgeEnd, EdgeGeometry, SameSense) { + super(expressID, EdgeStart, EdgeEnd); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.EdgeGeometry = EdgeGeometry; + this.SameSense = SameSense; + this.type = 476780140; + } + } + IFC4X32.IfcEdgeCurve = IfcEdgeCurve; + class IfcEventTime extends IfcSchedulingTime { + constructor(expressID, Name, DataOrigin, UserDefinedDataOrigin, ActualDate, EarlyDate, LateDate, ScheduleDate) { + super(expressID, Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.ActualDate = ActualDate; + this.EarlyDate = EarlyDate; + this.LateDate = LateDate; + this.ScheduleDate = ScheduleDate; + this.type = 211053100; + } + } + IFC4X32.IfcEventTime = IfcEventTime; + class IfcExtendedProperties extends IfcPropertyAbstraction { + constructor(expressID, Name, Description, Properties2) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.Properties = Properties2; + this.type = 297599258; + } + } + IFC4X32.IfcExtendedProperties = IfcExtendedProperties; + class IfcExternalReferenceRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, RelatingReference, RelatedResourceObjects) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingReference = RelatingReference; + this.RelatedResourceObjects = RelatedResourceObjects; + this.type = 1437805879; + } + } + IFC4X32.IfcExternalReferenceRelationship = IfcExternalReferenceRelationship; + class IfcFace extends IfcTopologicalRepresentationItem { + constructor(expressID, Bounds) { + super(expressID); + this.Bounds = Bounds; + this.type = 2556980723; + } + } + IFC4X32.IfcFace = IfcFace; + class IfcFaceBound extends IfcTopologicalRepresentationItem { + constructor(expressID, Bound, Orientation) { + super(expressID); + this.Bound = Bound; + this.Orientation = Orientation; + this.type = 1809719519; + } + } + IFC4X32.IfcFaceBound = IfcFaceBound; + class IfcFaceOuterBound extends IfcFaceBound { + constructor(expressID, Bound, Orientation) { + super(expressID, Bound, Orientation); + this.Bound = Bound; + this.Orientation = Orientation; + this.type = 803316827; + } + } + IFC4X32.IfcFaceOuterBound = IfcFaceOuterBound; + class IfcFaceSurface extends IfcFace { + constructor(expressID, Bounds, FaceSurface, SameSense) { + super(expressID, Bounds); + this.Bounds = Bounds; + this.FaceSurface = FaceSurface; + this.SameSense = SameSense; + this.type = 3008276851; + } + } + IFC4X32.IfcFaceSurface = IfcFaceSurface; + class IfcFailureConnectionCondition extends IfcStructuralConnectionCondition { + constructor(expressID, Name, TensionFailureX, TensionFailureY, TensionFailureZ, CompressionFailureX, CompressionFailureY, CompressionFailureZ) { + super(expressID, Name); + this.Name = Name; + this.TensionFailureX = TensionFailureX; + this.TensionFailureY = TensionFailureY; + this.TensionFailureZ = TensionFailureZ; + this.CompressionFailureX = CompressionFailureX; + this.CompressionFailureY = CompressionFailureY; + this.CompressionFailureZ = CompressionFailureZ; + this.type = 4219587988; + } + } + IFC4X32.IfcFailureConnectionCondition = IfcFailureConnectionCondition; + class IfcFillAreaStyle extends IfcPresentationStyle { + constructor(expressID, Name, FillStyles, ModelOrDraughting) { + super(expressID, Name); + this.Name = Name; + this.FillStyles = FillStyles; + this.ModelOrDraughting = ModelOrDraughting; + this.type = 738692330; + } + } + IFC4X32.IfcFillAreaStyle = IfcFillAreaStyle; + class IfcGeometricRepresentationContext extends IfcRepresentationContext { + constructor(expressID, ContextIdentifier, ContextType, CoordinateSpaceDimension, Precision, WorldCoordinateSystem, TrueNorth) { + super(expressID, ContextIdentifier, ContextType); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.CoordinateSpaceDimension = CoordinateSpaceDimension; + this.Precision = Precision; + this.WorldCoordinateSystem = WorldCoordinateSystem; + this.TrueNorth = TrueNorth; + this.type = 3448662350; + } + } + IFC4X32.IfcGeometricRepresentationContext = IfcGeometricRepresentationContext; + class IfcGeometricRepresentationItem extends IfcRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 2453401579; + } + } + IFC4X32.IfcGeometricRepresentationItem = IfcGeometricRepresentationItem; + class IfcGeometricRepresentationSubContext extends IfcGeometricRepresentationContext { + constructor(expressID, ContextIdentifier, ContextType, WorldCoordinateSystem, ParentContext, TargetScale, TargetView, UserDefinedTargetView) { + super(expressID, ContextIdentifier, ContextType, new IfcDimensionCount(0), null, WorldCoordinateSystem, null); + this.ContextIdentifier = ContextIdentifier; + this.ContextType = ContextType; + this.WorldCoordinateSystem = WorldCoordinateSystem; + this.ParentContext = ParentContext; + this.TargetScale = TargetScale; + this.TargetView = TargetView; + this.UserDefinedTargetView = UserDefinedTargetView; + this.type = 4142052618; + } + } + IFC4X32.IfcGeometricRepresentationSubContext = IfcGeometricRepresentationSubContext; + class IfcGeometricSet extends IfcGeometricRepresentationItem { + constructor(expressID, Elements) { + super(expressID); + this.Elements = Elements; + this.type = 3590301190; + } + } + IFC4X32.IfcGeometricSet = IfcGeometricSet; + class IfcGridPlacement extends IfcObjectPlacement { + constructor(expressID, PlacementRelTo, PlacementLocation, PlacementRefDirection) { + super(expressID, PlacementRelTo); + this.PlacementRelTo = PlacementRelTo; + this.PlacementLocation = PlacementLocation; + this.PlacementRefDirection = PlacementRefDirection; + this.type = 178086475; + } + } + IFC4X32.IfcGridPlacement = IfcGridPlacement; + class IfcHalfSpaceSolid extends IfcGeometricRepresentationItem { + constructor(expressID, BaseSurface, AgreementFlag) { + super(expressID); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.type = 812098782; + } + } + IFC4X32.IfcHalfSpaceSolid = IfcHalfSpaceSolid; + class IfcImageTexture extends IfcSurfaceTexture { + constructor(expressID, RepeatS, RepeatT, Mode, TextureTransform, Parameter, URLReference) { + super(expressID, RepeatS, RepeatT, Mode, TextureTransform, Parameter); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.Mode = Mode; + this.TextureTransform = TextureTransform; + this.Parameter = Parameter; + this.URLReference = URLReference; + this.type = 3905492369; + } + } + IFC4X32.IfcImageTexture = IfcImageTexture; + class IfcIndexedColourMap extends IfcPresentationItem { + constructor(expressID, MappedTo, Opacity, Colours, ColourIndex) { + super(expressID); + this.MappedTo = MappedTo; + this.Opacity = Opacity; + this.Colours = Colours; + this.ColourIndex = ColourIndex; + this.type = 3570813810; + } + } + IFC4X32.IfcIndexedColourMap = IfcIndexedColourMap; + class IfcIndexedTextureMap extends IfcTextureCoordinate { + constructor(expressID, Maps, MappedTo, TexCoords) { + super(expressID, Maps); + this.Maps = Maps; + this.MappedTo = MappedTo; + this.TexCoords = TexCoords; + this.type = 1437953363; + } + } + IFC4X32.IfcIndexedTextureMap = IfcIndexedTextureMap; + class IfcIndexedTriangleTextureMap extends IfcIndexedTextureMap { + constructor(expressID, Maps, MappedTo, TexCoords, TexCoordIndex) { + super(expressID, Maps, MappedTo, TexCoords); + this.Maps = Maps; + this.MappedTo = MappedTo; + this.TexCoords = TexCoords; + this.TexCoordIndex = TexCoordIndex; + this.type = 2133299955; + } + } + IFC4X32.IfcIndexedTriangleTextureMap = IfcIndexedTriangleTextureMap; + class IfcIrregularTimeSeries extends IfcTimeSeries { + constructor(expressID, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, Values) { + super(expressID, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.Values = Values; + this.type = 3741457305; + } + } + IFC4X32.IfcIrregularTimeSeries = IfcIrregularTimeSeries; + class IfcLagTime extends IfcSchedulingTime { + constructor(expressID, Name, DataOrigin, UserDefinedDataOrigin, LagValue, DurationType) { + super(expressID, Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.LagValue = LagValue; + this.DurationType = DurationType; + this.type = 1585845231; + } + } + IFC4X32.IfcLagTime = IfcLagTime; + class IfcLightSource extends IfcGeometricRepresentationItem { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity) { + super(expressID); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.type = 1402838566; + } + } + IFC4X32.IfcLightSource = IfcLightSource; + class IfcLightSourceAmbient extends IfcLightSource { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity) { + super(expressID, Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.type = 125510826; + } + } + IFC4X32.IfcLightSourceAmbient = IfcLightSourceAmbient; + class IfcLightSourceDirectional extends IfcLightSource { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity, Orientation) { + super(expressID, Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Orientation = Orientation; + this.type = 2604431987; + } + } + IFC4X32.IfcLightSourceDirectional = IfcLightSourceDirectional; + class IfcLightSourceGoniometric extends IfcLightSource { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity, Position, ColourAppearance, ColourTemperature, LuminousFlux, LightEmissionSource, LightDistributionDataSource) { + super(expressID, Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.ColourAppearance = ColourAppearance; + this.ColourTemperature = ColourTemperature; + this.LuminousFlux = LuminousFlux; + this.LightEmissionSource = LightEmissionSource; + this.LightDistributionDataSource = LightDistributionDataSource; + this.type = 4266656042; + } + } + IFC4X32.IfcLightSourceGoniometric = IfcLightSourceGoniometric; + class IfcLightSourcePositional extends IfcLightSource { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation) { + super(expressID, Name, LightColour, AmbientIntensity, Intensity); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.Radius = Radius; + this.ConstantAttenuation = ConstantAttenuation; + this.DistanceAttenuation = DistanceAttenuation; + this.QuadricAttenuation = QuadricAttenuation; + this.type = 1520743889; + } + } + IFC4X32.IfcLightSourcePositional = IfcLightSourcePositional; + class IfcLightSourceSpot extends IfcLightSourcePositional { + constructor(expressID, Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation, Orientation, ConcentrationExponent, SpreadAngle, BeamWidthAngle) { + super(expressID, Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation); + this.Name = Name; + this.LightColour = LightColour; + this.AmbientIntensity = AmbientIntensity; + this.Intensity = Intensity; + this.Position = Position; + this.Radius = Radius; + this.ConstantAttenuation = ConstantAttenuation; + this.DistanceAttenuation = DistanceAttenuation; + this.QuadricAttenuation = QuadricAttenuation; + this.Orientation = Orientation; + this.ConcentrationExponent = ConcentrationExponent; + this.SpreadAngle = SpreadAngle; + this.BeamWidthAngle = BeamWidthAngle; + this.type = 3422422726; + } + } + IFC4X32.IfcLightSourceSpot = IfcLightSourceSpot; + class IfcLinearPlacement extends IfcObjectPlacement { + constructor(expressID, PlacementRelTo, RelativePlacement, CartesianPosition) { + super(expressID, PlacementRelTo); + this.PlacementRelTo = PlacementRelTo; + this.RelativePlacement = RelativePlacement; + this.CartesianPosition = CartesianPosition; + this.type = 388784114; + } + } + IFC4X32.IfcLinearPlacement = IfcLinearPlacement; + class IfcLocalPlacement extends IfcObjectPlacement { + constructor(expressID, PlacementRelTo, RelativePlacement) { + super(expressID, PlacementRelTo); + this.PlacementRelTo = PlacementRelTo; + this.RelativePlacement = RelativePlacement; + this.type = 2624227202; + } + } + IFC4X32.IfcLocalPlacement = IfcLocalPlacement; + class IfcLoop extends IfcTopologicalRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 1008929658; + } + } + IFC4X32.IfcLoop = IfcLoop; + class IfcMappedItem extends IfcRepresentationItem { + constructor(expressID, MappingSource, MappingTarget) { + super(expressID); + this.MappingSource = MappingSource; + this.MappingTarget = MappingTarget; + this.type = 2347385850; + } + } + IFC4X32.IfcMappedItem = IfcMappedItem; + class IfcMaterial extends IfcMaterialDefinition { + constructor(expressID, Name, Description, Category) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.Category = Category; + this.type = 1838606355; + } + } + IFC4X32.IfcMaterial = IfcMaterial; + class IfcMaterialConstituent extends IfcMaterialDefinition { + constructor(expressID, Name, Description, Material, Fraction, Category) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.Material = Material; + this.Fraction = Fraction; + this.Category = Category; + this.type = 3708119e3; + } + } + IFC4X32.IfcMaterialConstituent = IfcMaterialConstituent; + class IfcMaterialConstituentSet extends IfcMaterialDefinition { + constructor(expressID, Name, Description, MaterialConstituents) { + super(expressID); + this.Name = Name; + this.Description = Description; + this.MaterialConstituents = MaterialConstituents; + this.type = 2852063980; + } + } + IFC4X32.IfcMaterialConstituentSet = IfcMaterialConstituentSet; + class IfcMaterialDefinitionRepresentation extends IfcProductRepresentation { + constructor(expressID, Name, Description, Representations, RepresentedMaterial) { + super(expressID, Name, Description, Representations); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.RepresentedMaterial = RepresentedMaterial; + this.type = 2022407955; + } + } + IFC4X32.IfcMaterialDefinitionRepresentation = IfcMaterialDefinitionRepresentation; + class IfcMaterialLayerSetUsage extends IfcMaterialUsageDefinition { + constructor(expressID, ForLayerSet, LayerSetDirection, DirectionSense, OffsetFromReferenceLine, ReferenceExtent) { + super(expressID); + this.ForLayerSet = ForLayerSet; + this.LayerSetDirection = LayerSetDirection; + this.DirectionSense = DirectionSense; + this.OffsetFromReferenceLine = OffsetFromReferenceLine; + this.ReferenceExtent = ReferenceExtent; + this.type = 1303795690; + } + } + IFC4X32.IfcMaterialLayerSetUsage = IfcMaterialLayerSetUsage; + class IfcMaterialProfileSetUsage extends IfcMaterialUsageDefinition { + constructor(expressID, ForProfileSet, CardinalPoint, ReferenceExtent) { + super(expressID); + this.ForProfileSet = ForProfileSet; + this.CardinalPoint = CardinalPoint; + this.ReferenceExtent = ReferenceExtent; + this.type = 3079605661; + } + } + IFC4X32.IfcMaterialProfileSetUsage = IfcMaterialProfileSetUsage; + class IfcMaterialProfileSetUsageTapering extends IfcMaterialProfileSetUsage { + constructor(expressID, ForProfileSet, CardinalPoint, ReferenceExtent, ForProfileEndSet, CardinalEndPoint) { + super(expressID, ForProfileSet, CardinalPoint, ReferenceExtent); + this.ForProfileSet = ForProfileSet; + this.CardinalPoint = CardinalPoint; + this.ReferenceExtent = ReferenceExtent; + this.ForProfileEndSet = ForProfileEndSet; + this.CardinalEndPoint = CardinalEndPoint; + this.type = 3404854881; + } + } + IFC4X32.IfcMaterialProfileSetUsageTapering = IfcMaterialProfileSetUsageTapering; + class IfcMaterialProperties extends IfcExtendedProperties { + constructor(expressID, Name, Description, Properties2, Material) { + super(expressID, Name, Description, Properties2); + this.Name = Name; + this.Description = Description; + this.Properties = Properties2; + this.Material = Material; + this.type = 3265635763; + } + } + IFC4X32.IfcMaterialProperties = IfcMaterialProperties; + class IfcMaterialRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, RelatingMaterial, RelatedMaterials, MaterialExpression) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingMaterial = RelatingMaterial; + this.RelatedMaterials = RelatedMaterials; + this.MaterialExpression = MaterialExpression; + this.type = 853536259; + } + } + IFC4X32.IfcMaterialRelationship = IfcMaterialRelationship; + class IfcMirroredProfileDef extends IfcDerivedProfileDef { + constructor(expressID, ProfileType, ProfileName, ParentProfile, Operator, Label) { + super(expressID, ProfileType, ProfileName, ParentProfile, Operator, Label); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.ParentProfile = ParentProfile; + this.Operator = Operator; + this.Label = Label; + this.type = 2998442950; + } + } + IFC4X32.IfcMirroredProfileDef = IfcMirroredProfileDef; + class IfcObjectDefinition extends IfcRoot { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 219451334; + } + } + IFC4X32.IfcObjectDefinition = IfcObjectDefinition; + class IfcOpenCrossProfileDef extends IfcProfileDef { + constructor(expressID, ProfileType, ProfileName, HorizontalWidths, Widths, Slopes, Tags, OffsetPoint) { + super(expressID, ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.HorizontalWidths = HorizontalWidths; + this.Widths = Widths; + this.Slopes = Slopes; + this.Tags = Tags; + this.OffsetPoint = OffsetPoint; + this.type = 182550632; + } + } + IFC4X32.IfcOpenCrossProfileDef = IfcOpenCrossProfileDef; + class IfcOpenShell extends IfcConnectedFaceSet { + constructor(expressID, CfsFaces) { + super(expressID, CfsFaces); + this.CfsFaces = CfsFaces; + this.type = 2665983363; + } + } + IFC4X32.IfcOpenShell = IfcOpenShell; + class IfcOrganizationRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, RelatingOrganization, RelatedOrganizations) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingOrganization = RelatingOrganization; + this.RelatedOrganizations = RelatedOrganizations; + this.type = 1411181986; + } + } + IFC4X32.IfcOrganizationRelationship = IfcOrganizationRelationship; + class IfcOrientedEdge extends IfcEdge { + constructor(expressID, EdgeStart, EdgeElement, Orientation) { + super(expressID, EdgeStart, new Handle(0)); + this.EdgeStart = EdgeStart; + this.EdgeElement = EdgeElement; + this.Orientation = Orientation; + this.type = 1029017970; + } + } + IFC4X32.IfcOrientedEdge = IfcOrientedEdge; + class IfcParameterizedProfileDef extends IfcProfileDef { + constructor(expressID, ProfileType, ProfileName, Position) { + super(expressID, ProfileType, ProfileName); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.type = 2529465313; + } + } + IFC4X32.IfcParameterizedProfileDef = IfcParameterizedProfileDef; + class IfcPath extends IfcTopologicalRepresentationItem { + constructor(expressID, EdgeList) { + super(expressID); + this.EdgeList = EdgeList; + this.type = 2519244187; + } + } + IFC4X32.IfcPath = IfcPath; + class IfcPhysicalComplexQuantity extends IfcPhysicalQuantity { + constructor(expressID, Name, Description, HasQuantities, Discrimination, Quality, Usage) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.HasQuantities = HasQuantities; + this.Discrimination = Discrimination; + this.Quality = Quality; + this.Usage = Usage; + this.type = 3021840470; + } + } + IFC4X32.IfcPhysicalComplexQuantity = IfcPhysicalComplexQuantity; + class IfcPixelTexture extends IfcSurfaceTexture { + constructor(expressID, RepeatS, RepeatT, Mode, TextureTransform, Parameter, Width, Height, ColourComponents, Pixel) { + super(expressID, RepeatS, RepeatT, Mode, TextureTransform, Parameter); + this.RepeatS = RepeatS; + this.RepeatT = RepeatT; + this.Mode = Mode; + this.TextureTransform = TextureTransform; + this.Parameter = Parameter; + this.Width = Width; + this.Height = Height; + this.ColourComponents = ColourComponents; + this.Pixel = Pixel; + this.type = 597895409; + } + } + IFC4X32.IfcPixelTexture = IfcPixelTexture; + class IfcPlacement extends IfcGeometricRepresentationItem { + constructor(expressID, Location) { + super(expressID); + this.Location = Location; + this.type = 2004835150; + } + } + IFC4X32.IfcPlacement = IfcPlacement; + class IfcPlanarExtent extends IfcGeometricRepresentationItem { + constructor(expressID, SizeInX, SizeInY) { + super(expressID); + this.SizeInX = SizeInX; + this.SizeInY = SizeInY; + this.type = 1663979128; + } + } + IFC4X32.IfcPlanarExtent = IfcPlanarExtent; + class IfcPoint extends IfcGeometricRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 2067069095; + } + } + IFC4X32.IfcPoint = IfcPoint; + class IfcPointByDistanceExpression extends IfcPoint { + constructor(expressID, DistanceAlong, OffsetLateral, OffsetVertical, OffsetLongitudinal, BasisCurve) { + super(expressID); + this.DistanceAlong = DistanceAlong; + this.OffsetLateral = OffsetLateral; + this.OffsetVertical = OffsetVertical; + this.OffsetLongitudinal = OffsetLongitudinal; + this.BasisCurve = BasisCurve; + this.type = 2165702409; + } + } + IFC4X32.IfcPointByDistanceExpression = IfcPointByDistanceExpression; + class IfcPointOnCurve extends IfcPoint { + constructor(expressID, BasisCurve, PointParameter) { + super(expressID); + this.BasisCurve = BasisCurve; + this.PointParameter = PointParameter; + this.type = 4022376103; + } + } + IFC4X32.IfcPointOnCurve = IfcPointOnCurve; + class IfcPointOnSurface extends IfcPoint { + constructor(expressID, BasisSurface, PointParameterU, PointParameterV) { + super(expressID); + this.BasisSurface = BasisSurface; + this.PointParameterU = PointParameterU; + this.PointParameterV = PointParameterV; + this.type = 1423911732; + } + } + IFC4X32.IfcPointOnSurface = IfcPointOnSurface; + class IfcPolyLoop extends IfcLoop { + constructor(expressID, Polygon) { + super(expressID); + this.Polygon = Polygon; + this.type = 2924175390; + } + } + IFC4X32.IfcPolyLoop = IfcPolyLoop; + class IfcPolygonalBoundedHalfSpace extends IfcHalfSpaceSolid { + constructor(expressID, BaseSurface, AgreementFlag, Position, PolygonalBoundary) { + super(expressID, BaseSurface, AgreementFlag); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.Position = Position; + this.PolygonalBoundary = PolygonalBoundary; + this.type = 2775532180; + } + } + IFC4X32.IfcPolygonalBoundedHalfSpace = IfcPolygonalBoundedHalfSpace; + class IfcPreDefinedItem extends IfcPresentationItem { + constructor(expressID, Name) { + super(expressID); + this.Name = Name; + this.type = 3727388367; + } + } + IFC4X32.IfcPreDefinedItem = IfcPreDefinedItem; + class IfcPreDefinedProperties extends IfcPropertyAbstraction { + constructor(expressID) { + super(expressID); + this.type = 3778827333; + } + } + IFC4X32.IfcPreDefinedProperties = IfcPreDefinedProperties; + class IfcPreDefinedTextFont extends IfcPreDefinedItem { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 1775413392; + } + } + IFC4X32.IfcPreDefinedTextFont = IfcPreDefinedTextFont; + class IfcProductDefinitionShape extends IfcProductRepresentation { + constructor(expressID, Name, Description, Representations) { + super(expressID, Name, Description, Representations); + this.Name = Name; + this.Description = Description; + this.Representations = Representations; + this.type = 673634403; + } + } + IFC4X32.IfcProductDefinitionShape = IfcProductDefinitionShape; + class IfcProfileProperties extends IfcExtendedProperties { + constructor(expressID, Name, Description, Properties2, ProfileDefinition) { + super(expressID, Name, Description, Properties2); + this.Name = Name; + this.Description = Description; + this.Properties = Properties2; + this.ProfileDefinition = ProfileDefinition; + this.type = 2802850158; + } + } + IFC4X32.IfcProfileProperties = IfcProfileProperties; + class IfcProperty extends IfcPropertyAbstraction { + constructor(expressID, Name, Specification) { + super(expressID); + this.Name = Name; + this.Specification = Specification; + this.type = 2598011224; + } + } + IFC4X32.IfcProperty = IfcProperty; + class IfcPropertyDefinition extends IfcRoot { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 1680319473; + } + } + IFC4X32.IfcPropertyDefinition = IfcPropertyDefinition; + class IfcPropertyDependencyRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, DependingProperty, DependantProperty, Expression) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.DependingProperty = DependingProperty; + this.DependantProperty = DependantProperty; + this.Expression = Expression; + this.type = 148025276; + } + } + IFC4X32.IfcPropertyDependencyRelationship = IfcPropertyDependencyRelationship; + class IfcPropertySetDefinition extends IfcPropertyDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 3357820518; + } + } + IFC4X32.IfcPropertySetDefinition = IfcPropertySetDefinition; + class IfcPropertyTemplateDefinition extends IfcPropertyDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 1482703590; + } + } + IFC4X32.IfcPropertyTemplateDefinition = IfcPropertyTemplateDefinition; + class IfcQuantitySet extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 2090586900; + } + } + IFC4X32.IfcQuantitySet = IfcQuantitySet; + class IfcRectangleProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, XDim, YDim) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.type = 3615266464; + } + } + IFC4X32.IfcRectangleProfileDef = IfcRectangleProfileDef; + class IfcRegularTimeSeries extends IfcTimeSeries { + constructor(expressID, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, TimeStep, Values) { + super(expressID, Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit); + this.Name = Name; + this.Description = Description; + this.StartTime = StartTime; + this.EndTime = EndTime; + this.TimeSeriesDataType = TimeSeriesDataType; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.Unit = Unit; + this.TimeStep = TimeStep; + this.Values = Values; + this.type = 3413951693; + } + } + IFC4X32.IfcRegularTimeSeries = IfcRegularTimeSeries; + class IfcReinforcementBarProperties extends IfcPreDefinedProperties { + constructor(expressID, TotalCrossSectionArea, SteelGrade, BarSurface, EffectiveDepth, NominalBarDiameter, BarCount) { + super(expressID); + this.TotalCrossSectionArea = TotalCrossSectionArea; + this.SteelGrade = SteelGrade; + this.BarSurface = BarSurface; + this.EffectiveDepth = EffectiveDepth; + this.NominalBarDiameter = NominalBarDiameter; + this.BarCount = BarCount; + this.type = 1580146022; + } + } + IFC4X32.IfcReinforcementBarProperties = IfcReinforcementBarProperties; + class IfcRelationship extends IfcRoot { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 478536968; + } + } + IFC4X32.IfcRelationship = IfcRelationship; + class IfcResourceApprovalRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, RelatedResourceObjects, RelatingApproval) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatedResourceObjects = RelatedResourceObjects; + this.RelatingApproval = RelatingApproval; + this.type = 2943643501; + } + } + IFC4X32.IfcResourceApprovalRelationship = IfcResourceApprovalRelationship; + class IfcResourceConstraintRelationship extends IfcResourceLevelRelationship { + constructor(expressID, Name, Description, RelatingConstraint, RelatedResourceObjects) { + super(expressID, Name, Description); + this.Name = Name; + this.Description = Description; + this.RelatingConstraint = RelatingConstraint; + this.RelatedResourceObjects = RelatedResourceObjects; + this.type = 1608871552; + } + } + IFC4X32.IfcResourceConstraintRelationship = IfcResourceConstraintRelationship; + class IfcResourceTime extends IfcSchedulingTime { + constructor(expressID, Name, DataOrigin, UserDefinedDataOrigin, ScheduleWork, ScheduleUsage, ScheduleStart, ScheduleFinish, ScheduleContour, LevelingDelay, IsOverAllocated, StatusTime, ActualWork, ActualUsage, ActualStart, ActualFinish, RemainingWork, RemainingUsage, Completion) { + super(expressID, Name, DataOrigin, UserDefinedDataOrigin); + this.Name = Name; + this.DataOrigin = DataOrigin; + this.UserDefinedDataOrigin = UserDefinedDataOrigin; + this.ScheduleWork = ScheduleWork; + this.ScheduleUsage = ScheduleUsage; + this.ScheduleStart = ScheduleStart; + this.ScheduleFinish = ScheduleFinish; + this.ScheduleContour = ScheduleContour; + this.LevelingDelay = LevelingDelay; + this.IsOverAllocated = IsOverAllocated; + this.StatusTime = StatusTime; + this.ActualWork = ActualWork; + this.ActualUsage = ActualUsage; + this.ActualStart = ActualStart; + this.ActualFinish = ActualFinish; + this.RemainingWork = RemainingWork; + this.RemainingUsage = RemainingUsage; + this.Completion = Completion; + this.type = 1042787934; + } + } + IFC4X32.IfcResourceTime = IfcResourceTime; + class IfcRoundedRectangleProfileDef extends IfcRectangleProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, XDim, YDim, RoundingRadius) { + super(expressID, ProfileType, ProfileName, Position, XDim, YDim); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.RoundingRadius = RoundingRadius; + this.type = 2778083089; + } + } + IFC4X32.IfcRoundedRectangleProfileDef = IfcRoundedRectangleProfileDef; + class IfcSectionProperties extends IfcPreDefinedProperties { + constructor(expressID, SectionType, StartProfile, EndProfile) { + super(expressID); + this.SectionType = SectionType; + this.StartProfile = StartProfile; + this.EndProfile = EndProfile; + this.type = 2042790032; + } + } + IFC4X32.IfcSectionProperties = IfcSectionProperties; + class IfcSectionReinforcementProperties extends IfcPreDefinedProperties { + constructor(expressID, LongitudinalStartPosition, LongitudinalEndPosition, TransversePosition, ReinforcementRole, SectionDefinition, CrossSectionReinforcementDefinitions) { + super(expressID); + this.LongitudinalStartPosition = LongitudinalStartPosition; + this.LongitudinalEndPosition = LongitudinalEndPosition; + this.TransversePosition = TransversePosition; + this.ReinforcementRole = ReinforcementRole; + this.SectionDefinition = SectionDefinition; + this.CrossSectionReinforcementDefinitions = CrossSectionReinforcementDefinitions; + this.type = 4165799628; + } + } + IFC4X32.IfcSectionReinforcementProperties = IfcSectionReinforcementProperties; + class IfcSectionedSpine extends IfcGeometricRepresentationItem { + constructor(expressID, SpineCurve, CrossSections, CrossSectionPositions) { + super(expressID); + this.SpineCurve = SpineCurve; + this.CrossSections = CrossSections; + this.CrossSectionPositions = CrossSectionPositions; + this.type = 1509187699; + } + } + IFC4X32.IfcSectionedSpine = IfcSectionedSpine; + class IfcSegment extends IfcGeometricRepresentationItem { + constructor(expressID, Transition) { + super(expressID); + this.Transition = Transition; + this.type = 823603102; + } + } + IFC4X32.IfcSegment = IfcSegment; + class IfcShellBasedSurfaceModel extends IfcGeometricRepresentationItem { + constructor(expressID, SbsmBoundary) { + super(expressID); + this.SbsmBoundary = SbsmBoundary; + this.type = 4124623270; + } + } + IFC4X32.IfcShellBasedSurfaceModel = IfcShellBasedSurfaceModel; + class IfcSimpleProperty extends IfcProperty { + constructor(expressID, Name, Specification) { + super(expressID, Name, Specification); + this.Name = Name; + this.Specification = Specification; + this.type = 3692461612; + } + } + IFC4X32.IfcSimpleProperty = IfcSimpleProperty; + class IfcSlippageConnectionCondition extends IfcStructuralConnectionCondition { + constructor(expressID, Name, SlippageX, SlippageY, SlippageZ) { + super(expressID, Name); + this.Name = Name; + this.SlippageX = SlippageX; + this.SlippageY = SlippageY; + this.SlippageZ = SlippageZ; + this.type = 2609359061; + } + } + IFC4X32.IfcSlippageConnectionCondition = IfcSlippageConnectionCondition; + class IfcSolidModel extends IfcGeometricRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 723233188; + } + } + IFC4X32.IfcSolidModel = IfcSolidModel; + class IfcStructuralLoadLinearForce extends IfcStructuralLoadStatic { + constructor(expressID, Name, LinearForceX, LinearForceY, LinearForceZ, LinearMomentX, LinearMomentY, LinearMomentZ) { + super(expressID, Name); + this.Name = Name; + this.LinearForceX = LinearForceX; + this.LinearForceY = LinearForceY; + this.LinearForceZ = LinearForceZ; + this.LinearMomentX = LinearMomentX; + this.LinearMomentY = LinearMomentY; + this.LinearMomentZ = LinearMomentZ; + this.type = 1595516126; + } + } + IFC4X32.IfcStructuralLoadLinearForce = IfcStructuralLoadLinearForce; + class IfcStructuralLoadPlanarForce extends IfcStructuralLoadStatic { + constructor(expressID, Name, PlanarForceX, PlanarForceY, PlanarForceZ) { + super(expressID, Name); + this.Name = Name; + this.PlanarForceX = PlanarForceX; + this.PlanarForceY = PlanarForceY; + this.PlanarForceZ = PlanarForceZ; + this.type = 2668620305; + } + } + IFC4X32.IfcStructuralLoadPlanarForce = IfcStructuralLoadPlanarForce; + class IfcStructuralLoadSingleDisplacement extends IfcStructuralLoadStatic { + constructor(expressID, Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ) { + super(expressID, Name); + this.Name = Name; + this.DisplacementX = DisplacementX; + this.DisplacementY = DisplacementY; + this.DisplacementZ = DisplacementZ; + this.RotationalDisplacementRX = RotationalDisplacementRX; + this.RotationalDisplacementRY = RotationalDisplacementRY; + this.RotationalDisplacementRZ = RotationalDisplacementRZ; + this.type = 2473145415; + } + } + IFC4X32.IfcStructuralLoadSingleDisplacement = IfcStructuralLoadSingleDisplacement; + class IfcStructuralLoadSingleDisplacementDistortion extends IfcStructuralLoadSingleDisplacement { + constructor(expressID, Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ, Distortion) { + super(expressID, Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ); + this.Name = Name; + this.DisplacementX = DisplacementX; + this.DisplacementY = DisplacementY; + this.DisplacementZ = DisplacementZ; + this.RotationalDisplacementRX = RotationalDisplacementRX; + this.RotationalDisplacementRY = RotationalDisplacementRY; + this.RotationalDisplacementRZ = RotationalDisplacementRZ; + this.Distortion = Distortion; + this.type = 1973038258; + } + } + IFC4X32.IfcStructuralLoadSingleDisplacementDistortion = IfcStructuralLoadSingleDisplacementDistortion; + class IfcStructuralLoadSingleForce extends IfcStructuralLoadStatic { + constructor(expressID, Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ) { + super(expressID, Name); + this.Name = Name; + this.ForceX = ForceX; + this.ForceY = ForceY; + this.ForceZ = ForceZ; + this.MomentX = MomentX; + this.MomentY = MomentY; + this.MomentZ = MomentZ; + this.type = 1597423693; + } + } + IFC4X32.IfcStructuralLoadSingleForce = IfcStructuralLoadSingleForce; + class IfcStructuralLoadSingleForceWarping extends IfcStructuralLoadSingleForce { + constructor(expressID, Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ, WarpingMoment) { + super(expressID, Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ); + this.Name = Name; + this.ForceX = ForceX; + this.ForceY = ForceY; + this.ForceZ = ForceZ; + this.MomentX = MomentX; + this.MomentY = MomentY; + this.MomentZ = MomentZ; + this.WarpingMoment = WarpingMoment; + this.type = 1190533807; + } + } + IFC4X32.IfcStructuralLoadSingleForceWarping = IfcStructuralLoadSingleForceWarping; + class IfcSubedge extends IfcEdge { + constructor(expressID, EdgeStart, EdgeEnd, ParentEdge) { + super(expressID, EdgeStart, EdgeEnd); + this.EdgeStart = EdgeStart; + this.EdgeEnd = EdgeEnd; + this.ParentEdge = ParentEdge; + this.type = 2233826070; + } + } + IFC4X32.IfcSubedge = IfcSubedge; + class IfcSurface extends IfcGeometricRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 2513912981; + } + } + IFC4X32.IfcSurface = IfcSurface; + class IfcSurfaceStyleRendering extends IfcSurfaceStyleShading { + constructor(expressID, SurfaceColour, Transparency, DiffuseColour, TransmissionColour, DiffuseTransmissionColour, ReflectionColour, SpecularColour, SpecularHighlight, ReflectanceMethod) { + super(expressID, SurfaceColour, Transparency); + this.SurfaceColour = SurfaceColour; + this.Transparency = Transparency; + this.DiffuseColour = DiffuseColour; + this.TransmissionColour = TransmissionColour; + this.DiffuseTransmissionColour = DiffuseTransmissionColour; + this.ReflectionColour = ReflectionColour; + this.SpecularColour = SpecularColour; + this.SpecularHighlight = SpecularHighlight; + this.ReflectanceMethod = ReflectanceMethod; + this.type = 1878645084; + } + } + IFC4X32.IfcSurfaceStyleRendering = IfcSurfaceStyleRendering; + class IfcSweptAreaSolid extends IfcSolidModel { + constructor(expressID, SweptArea, Position) { + super(expressID); + this.SweptArea = SweptArea; + this.Position = Position; + this.type = 2247615214; + } + } + IFC4X32.IfcSweptAreaSolid = IfcSweptAreaSolid; + class IfcSweptDiskSolid extends IfcSolidModel { + constructor(expressID, Directrix, Radius, InnerRadius, StartParam, EndParam) { + super(expressID); + this.Directrix = Directrix; + this.Radius = Radius; + this.InnerRadius = InnerRadius; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.type = 1260650574; + } + } + IFC4X32.IfcSweptDiskSolid = IfcSweptDiskSolid; + class IfcSweptDiskSolidPolygonal extends IfcSweptDiskSolid { + constructor(expressID, Directrix, Radius, InnerRadius, StartParam, EndParam, FilletRadius) { + super(expressID, Directrix, Radius, InnerRadius, StartParam, EndParam); + this.Directrix = Directrix; + this.Radius = Radius; + this.InnerRadius = InnerRadius; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.FilletRadius = FilletRadius; + this.type = 1096409881; + } + } + IFC4X32.IfcSweptDiskSolidPolygonal = IfcSweptDiskSolidPolygonal; + class IfcSweptSurface extends IfcSurface { + constructor(expressID, SweptCurve, Position) { + super(expressID); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.type = 230924584; + } + } + IFC4X32.IfcSweptSurface = IfcSweptSurface; + class IfcTShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, WebEdgeRadius, WebSlope, FlangeSlope) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.FlangeEdgeRadius = FlangeEdgeRadius; + this.WebEdgeRadius = WebEdgeRadius; + this.WebSlope = WebSlope; + this.FlangeSlope = FlangeSlope; + this.type = 3071757647; + } + } + IFC4X32.IfcTShapeProfileDef = IfcTShapeProfileDef; + class IfcTessellatedItem extends IfcGeometricRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 901063453; + } + } + IFC4X32.IfcTessellatedItem = IfcTessellatedItem; + class IfcTextLiteral extends IfcGeometricRepresentationItem { + constructor(expressID, Literal, Placement, Path) { + super(expressID); + this.Literal = Literal; + this.Placement = Placement; + this.Path = Path; + this.type = 4282788508; + } + } + IFC4X32.IfcTextLiteral = IfcTextLiteral; + class IfcTextLiteralWithExtent extends IfcTextLiteral { + constructor(expressID, Literal, Placement, Path, Extent, BoxAlignment) { + super(expressID, Literal, Placement, Path); + this.Literal = Literal; + this.Placement = Placement; + this.Path = Path; + this.Extent = Extent; + this.BoxAlignment = BoxAlignment; + this.type = 3124975700; + } + } + IFC4X32.IfcTextLiteralWithExtent = IfcTextLiteralWithExtent; + class IfcTextStyleFontModel extends IfcPreDefinedTextFont { + constructor(expressID, Name, FontFamily, FontStyle, FontVariant, FontWeight, FontSize) { + super(expressID, Name); + this.Name = Name; + this.FontFamily = FontFamily; + this.FontStyle = FontStyle; + this.FontVariant = FontVariant; + this.FontWeight = FontWeight; + this.FontSize = FontSize; + this.type = 1983826977; + } + } + IFC4X32.IfcTextStyleFontModel = IfcTextStyleFontModel; + class IfcTrapeziumProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, BottomXDim, TopXDim, YDim, TopXOffset) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.BottomXDim = BottomXDim; + this.TopXDim = TopXDim; + this.YDim = YDim; + this.TopXOffset = TopXOffset; + this.type = 2715220739; + } + } + IFC4X32.IfcTrapeziumProfileDef = IfcTrapeziumProfileDef; + class IfcTypeObject extends IfcObjectDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.type = 1628702193; + } + } + IFC4X32.IfcTypeObject = IfcTypeObject; + class IfcTypeProcess extends IfcTypeObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ProcessType = ProcessType; + this.type = 3736923433; + } + } + IFC4X32.IfcTypeProcess = IfcTypeProcess; + class IfcTypeProduct extends IfcTypeObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.type = 2347495698; + } + } + IFC4X32.IfcTypeProduct = IfcTypeProduct; + class IfcTypeResource extends IfcTypeObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.type = 3698973494; + } + } + IFC4X32.IfcTypeResource = IfcTypeResource; + class IfcUShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius, FlangeSlope) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.FlangeSlope = FlangeSlope; + this.type = 427810014; + } + } + IFC4X32.IfcUShapeProfileDef = IfcUShapeProfileDef; + class IfcVector extends IfcGeometricRepresentationItem { + constructor(expressID, Orientation, Magnitude) { + super(expressID); + this.Orientation = Orientation; + this.Magnitude = Magnitude; + this.type = 1417489154; + } + } + IFC4X32.IfcVector = IfcVector; + class IfcVertexLoop extends IfcLoop { + constructor(expressID, LoopVertex) { + super(expressID); + this.LoopVertex = LoopVertex; + this.type = 2759199220; + } + } + IFC4X32.IfcVertexLoop = IfcVertexLoop; + class IfcZShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.FlangeWidth = FlangeWidth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.type = 2543172580; + } + } + IFC4X32.IfcZShapeProfileDef = IfcZShapeProfileDef; + class IfcAdvancedFace extends IfcFaceSurface { + constructor(expressID, Bounds, FaceSurface, SameSense) { + super(expressID, Bounds, FaceSurface, SameSense); + this.Bounds = Bounds; + this.FaceSurface = FaceSurface; + this.SameSense = SameSense; + this.type = 3406155212; + } + } + IFC4X32.IfcAdvancedFace = IfcAdvancedFace; + class IfcAnnotationFillArea extends IfcGeometricRepresentationItem { + constructor(expressID, OuterBoundary, InnerBoundaries) { + super(expressID); + this.OuterBoundary = OuterBoundary; + this.InnerBoundaries = InnerBoundaries; + this.type = 669184980; + } + } + IFC4X32.IfcAnnotationFillArea = IfcAnnotationFillArea; + class IfcAsymmetricIShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, BottomFlangeWidth, OverallDepth, WebThickness, BottomFlangeThickness, BottomFlangeFilletRadius, TopFlangeWidth, TopFlangeThickness, TopFlangeFilletRadius, BottomFlangeEdgeRadius, BottomFlangeSlope, TopFlangeEdgeRadius, TopFlangeSlope) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.BottomFlangeWidth = BottomFlangeWidth; + this.OverallDepth = OverallDepth; + this.WebThickness = WebThickness; + this.BottomFlangeThickness = BottomFlangeThickness; + this.BottomFlangeFilletRadius = BottomFlangeFilletRadius; + this.TopFlangeWidth = TopFlangeWidth; + this.TopFlangeThickness = TopFlangeThickness; + this.TopFlangeFilletRadius = TopFlangeFilletRadius; + this.BottomFlangeEdgeRadius = BottomFlangeEdgeRadius; + this.BottomFlangeSlope = BottomFlangeSlope; + this.TopFlangeEdgeRadius = TopFlangeEdgeRadius; + this.TopFlangeSlope = TopFlangeSlope; + this.type = 3207858831; + } + } + IFC4X32.IfcAsymmetricIShapeProfileDef = IfcAsymmetricIShapeProfileDef; + class IfcAxis1Placement extends IfcPlacement { + constructor(expressID, Location, Axis) { + super(expressID, Location); + this.Location = Location; + this.Axis = Axis; + this.type = 4261334040; + } + } + IFC4X32.IfcAxis1Placement = IfcAxis1Placement; + class IfcAxis2Placement2D extends IfcPlacement { + constructor(expressID, Location, RefDirection) { + super(expressID, Location); + this.Location = Location; + this.RefDirection = RefDirection; + this.type = 3125803723; + } + } + IFC4X32.IfcAxis2Placement2D = IfcAxis2Placement2D; + class IfcAxis2Placement3D extends IfcPlacement { + constructor(expressID, Location, Axis, RefDirection) { + super(expressID, Location); + this.Location = Location; + this.Axis = Axis; + this.RefDirection = RefDirection; + this.type = 2740243338; + } + } + IFC4X32.IfcAxis2Placement3D = IfcAxis2Placement3D; + class IfcAxis2PlacementLinear extends IfcPlacement { + constructor(expressID, Location, Axis, RefDirection) { + super(expressID, Location); + this.Location = Location; + this.Axis = Axis; + this.RefDirection = RefDirection; + this.type = 3425423356; + } + } + IFC4X32.IfcAxis2PlacementLinear = IfcAxis2PlacementLinear; + class IfcBooleanResult extends IfcGeometricRepresentationItem { + constructor(expressID, Operator, FirstOperand, SecondOperand) { + super(expressID); + this.Operator = Operator; + this.FirstOperand = FirstOperand; + this.SecondOperand = SecondOperand; + this.type = 2736907675; + } + } + IFC4X32.IfcBooleanResult = IfcBooleanResult; + class IfcBoundedSurface extends IfcSurface { + constructor(expressID) { + super(expressID); + this.type = 4182860854; + } + } + IFC4X32.IfcBoundedSurface = IfcBoundedSurface; + class IfcBoundingBox extends IfcGeometricRepresentationItem { + constructor(expressID, Corner, XDim, YDim, ZDim) { + super(expressID); + this.Corner = Corner; + this.XDim = XDim; + this.YDim = YDim; + this.ZDim = ZDim; + this.type = 2581212453; + } + } + IFC4X32.IfcBoundingBox = IfcBoundingBox; + class IfcBoxedHalfSpace extends IfcHalfSpaceSolid { + constructor(expressID, BaseSurface, AgreementFlag, Enclosure) { + super(expressID, BaseSurface, AgreementFlag); + this.BaseSurface = BaseSurface; + this.AgreementFlag = AgreementFlag; + this.Enclosure = Enclosure; + this.type = 2713105998; + } + } + IFC4X32.IfcBoxedHalfSpace = IfcBoxedHalfSpace; + class IfcCShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Depth, Width, WallThickness, Girth, InternalFilletRadius) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.Width = Width; + this.WallThickness = WallThickness; + this.Girth = Girth; + this.InternalFilletRadius = InternalFilletRadius; + this.type = 2898889636; + } + } + IFC4X32.IfcCShapeProfileDef = IfcCShapeProfileDef; + class IfcCartesianPoint extends IfcPoint { + constructor(expressID, Coordinates) { + super(expressID); + this.Coordinates = Coordinates; + this.type = 1123145078; + } + } + IFC4X32.IfcCartesianPoint = IfcCartesianPoint; + class IfcCartesianPointList extends IfcGeometricRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 574549367; + } + } + IFC4X32.IfcCartesianPointList = IfcCartesianPointList; + class IfcCartesianPointList2D extends IfcCartesianPointList { + constructor(expressID, CoordList, TagList) { + super(expressID); + this.CoordList = CoordList; + this.TagList = TagList; + this.type = 1675464909; + } + } + IFC4X32.IfcCartesianPointList2D = IfcCartesianPointList2D; + class IfcCartesianPointList3D extends IfcCartesianPointList { + constructor(expressID, CoordList, TagList) { + super(expressID); + this.CoordList = CoordList; + this.TagList = TagList; + this.type = 2059837836; + } + } + IFC4X32.IfcCartesianPointList3D = IfcCartesianPointList3D; + class IfcCartesianTransformationOperator extends IfcGeometricRepresentationItem { + constructor(expressID, Axis1, Axis2, LocalOrigin, Scale) { + super(expressID); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.type = 59481748; + } + } + IFC4X32.IfcCartesianTransformationOperator = IfcCartesianTransformationOperator; + class IfcCartesianTransformationOperator2D extends IfcCartesianTransformationOperator { + constructor(expressID, Axis1, Axis2, LocalOrigin, Scale) { + super(expressID, Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.type = 3749851601; + } + } + IFC4X32.IfcCartesianTransformationOperator2D = IfcCartesianTransformationOperator2D; + class IfcCartesianTransformationOperator2DnonUniform extends IfcCartesianTransformationOperator2D { + constructor(expressID, Axis1, Axis2, LocalOrigin, Scale, Scale2) { + super(expressID, Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Scale2 = Scale2; + this.type = 3486308946; + } + } + IFC4X32.IfcCartesianTransformationOperator2DnonUniform = IfcCartesianTransformationOperator2DnonUniform; + class IfcCartesianTransformationOperator3D extends IfcCartesianTransformationOperator { + constructor(expressID, Axis1, Axis2, LocalOrigin, Scale, Axis3) { + super(expressID, Axis1, Axis2, LocalOrigin, Scale); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Axis3 = Axis3; + this.type = 3331915920; + } + } + IFC4X32.IfcCartesianTransformationOperator3D = IfcCartesianTransformationOperator3D; + class IfcCartesianTransformationOperator3DnonUniform extends IfcCartesianTransformationOperator3D { + constructor(expressID, Axis1, Axis2, LocalOrigin, Scale, Axis3, Scale2, Scale3) { + super(expressID, Axis1, Axis2, LocalOrigin, Scale, Axis3); + this.Axis1 = Axis1; + this.Axis2 = Axis2; + this.LocalOrigin = LocalOrigin; + this.Scale = Scale; + this.Axis3 = Axis3; + this.Scale2 = Scale2; + this.Scale3 = Scale3; + this.type = 1416205885; + } + } + IFC4X32.IfcCartesianTransformationOperator3DnonUniform = IfcCartesianTransformationOperator3DnonUniform; + class IfcCircleProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Radius) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Radius = Radius; + this.type = 1383045692; + } + } + IFC4X32.IfcCircleProfileDef = IfcCircleProfileDef; + class IfcClosedShell extends IfcConnectedFaceSet { + constructor(expressID, CfsFaces) { + super(expressID, CfsFaces); + this.CfsFaces = CfsFaces; + this.type = 2205249479; + } + } + IFC4X32.IfcClosedShell = IfcClosedShell; + class IfcColourRgb extends IfcColourSpecification { + constructor(expressID, Name, Red, Green, Blue) { + super(expressID, Name); + this.Name = Name; + this.Red = Red; + this.Green = Green; + this.Blue = Blue; + this.type = 776857604; + } + } + IFC4X32.IfcColourRgb = IfcColourRgb; + class IfcComplexProperty extends IfcProperty { + constructor(expressID, Name, Specification, UsageName, HasProperties) { + super(expressID, Name, Specification); + this.Name = Name; + this.Specification = Specification; + this.UsageName = UsageName; + this.HasProperties = HasProperties; + this.type = 2542286263; + } + } + IFC4X32.IfcComplexProperty = IfcComplexProperty; + class IfcCompositeCurveSegment extends IfcSegment { + constructor(expressID, Transition, SameSense, ParentCurve) { + super(expressID, Transition); + this.Transition = Transition; + this.SameSense = SameSense; + this.ParentCurve = ParentCurve; + this.type = 2485617015; + } + } + IFC4X32.IfcCompositeCurveSegment = IfcCompositeCurveSegment; + class IfcConstructionResourceType extends IfcTypeResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.type = 2574617495; + } + } + IFC4X32.IfcConstructionResourceType = IfcConstructionResourceType; + class IfcContext extends IfcObjectDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.Phase = Phase; + this.RepresentationContexts = RepresentationContexts; + this.UnitsInContext = UnitsInContext; + this.type = 3419103109; + } + } + IFC4X32.IfcContext = IfcContext; + class IfcCrewResourceType extends IfcConstructionResourceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 1815067380; + } + } + IFC4X32.IfcCrewResourceType = IfcCrewResourceType; + class IfcCsgPrimitive3D extends IfcGeometricRepresentationItem { + constructor(expressID, Position) { + super(expressID); + this.Position = Position; + this.type = 2506170314; + } + } + IFC4X32.IfcCsgPrimitive3D = IfcCsgPrimitive3D; + class IfcCsgSolid extends IfcSolidModel { + constructor(expressID, TreeRootExpression) { + super(expressID); + this.TreeRootExpression = TreeRootExpression; + this.type = 2147822146; + } + } + IFC4X32.IfcCsgSolid = IfcCsgSolid; + class IfcCurve extends IfcGeometricRepresentationItem { + constructor(expressID) { + super(expressID); + this.type = 2601014836; + } + } + IFC4X32.IfcCurve = IfcCurve; + class IfcCurveBoundedPlane extends IfcBoundedSurface { + constructor(expressID, BasisSurface, OuterBoundary, InnerBoundaries) { + super(expressID); + this.BasisSurface = BasisSurface; + this.OuterBoundary = OuterBoundary; + this.InnerBoundaries = InnerBoundaries; + this.type = 2827736869; + } + } + IFC4X32.IfcCurveBoundedPlane = IfcCurveBoundedPlane; + class IfcCurveBoundedSurface extends IfcBoundedSurface { + constructor(expressID, BasisSurface, Boundaries, ImplicitOuter) { + super(expressID); + this.BasisSurface = BasisSurface; + this.Boundaries = Boundaries; + this.ImplicitOuter = ImplicitOuter; + this.type = 2629017746; + } + } + IFC4X32.IfcCurveBoundedSurface = IfcCurveBoundedSurface; + class IfcCurveSegment extends IfcSegment { + constructor(expressID, Transition, Placement, SegmentStart, SegmentLength, ParentCurve) { + super(expressID, Transition); + this.Transition = Transition; + this.Placement = Placement; + this.SegmentStart = SegmentStart; + this.SegmentLength = SegmentLength; + this.ParentCurve = ParentCurve; + this.type = 4212018352; + } + } + IFC4X32.IfcCurveSegment = IfcCurveSegment; + class IfcDirection extends IfcGeometricRepresentationItem { + constructor(expressID, DirectionRatios) { + super(expressID); + this.DirectionRatios = DirectionRatios; + this.type = 32440307; + } + } + IFC4X32.IfcDirection = IfcDirection; + class IfcDirectrixCurveSweptAreaSolid extends IfcSweptAreaSolid { + constructor(expressID, SweptArea, Position, Directrix, StartParam, EndParam) { + super(expressID, SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.Directrix = Directrix; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.type = 593015953; + } + } + IFC4X32.IfcDirectrixCurveSweptAreaSolid = IfcDirectrixCurveSweptAreaSolid; + class IfcEdgeLoop extends IfcLoop { + constructor(expressID, EdgeList) { + super(expressID); + this.EdgeList = EdgeList; + this.type = 1472233963; + } + } + IFC4X32.IfcEdgeLoop = IfcEdgeLoop; + class IfcElementQuantity extends IfcQuantitySet { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, MethodOfMeasurement, Quantities) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.MethodOfMeasurement = MethodOfMeasurement; + this.Quantities = Quantities; + this.type = 1883228015; + } + } + IFC4X32.IfcElementQuantity = IfcElementQuantity; + class IfcElementType extends IfcTypeProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 339256511; + } + } + IFC4X32.IfcElementType = IfcElementType; + class IfcElementarySurface extends IfcSurface { + constructor(expressID, Position) { + super(expressID); + this.Position = Position; + this.type = 2777663545; + } + } + IFC4X32.IfcElementarySurface = IfcElementarySurface; + class IfcEllipseProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, SemiAxis1, SemiAxis2) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.SemiAxis1 = SemiAxis1; + this.SemiAxis2 = SemiAxis2; + this.type = 2835456948; + } + } + IFC4X32.IfcEllipseProfileDef = IfcEllipseProfileDef; + class IfcEventType extends IfcTypeProcess { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType, EventTriggerType, UserDefinedEventTriggerType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ProcessType = ProcessType; + this.PredefinedType = PredefinedType; + this.EventTriggerType = EventTriggerType; + this.UserDefinedEventTriggerType = UserDefinedEventTriggerType; + this.type = 4024345920; + } + } + IFC4X32.IfcEventType = IfcEventType; + class IfcExtrudedAreaSolid extends IfcSweptAreaSolid { + constructor(expressID, SweptArea, Position, ExtrudedDirection, Depth) { + super(expressID, SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.ExtrudedDirection = ExtrudedDirection; + this.Depth = Depth; + this.type = 477187591; + } + } + IFC4X32.IfcExtrudedAreaSolid = IfcExtrudedAreaSolid; + class IfcExtrudedAreaSolidTapered extends IfcExtrudedAreaSolid { + constructor(expressID, SweptArea, Position, ExtrudedDirection, Depth, EndSweptArea) { + super(expressID, SweptArea, Position, ExtrudedDirection, Depth); + this.SweptArea = SweptArea; + this.Position = Position; + this.ExtrudedDirection = ExtrudedDirection; + this.Depth = Depth; + this.EndSweptArea = EndSweptArea; + this.type = 2804161546; + } + } + IFC4X32.IfcExtrudedAreaSolidTapered = IfcExtrudedAreaSolidTapered; + class IfcFaceBasedSurfaceModel extends IfcGeometricRepresentationItem { + constructor(expressID, FbsmFaces) { + super(expressID); + this.FbsmFaces = FbsmFaces; + this.type = 2047409740; + } + } + IFC4X32.IfcFaceBasedSurfaceModel = IfcFaceBasedSurfaceModel; + class IfcFillAreaStyleHatching extends IfcGeometricRepresentationItem { + constructor(expressID, HatchLineAppearance, StartOfNextHatchLine, PointOfReferenceHatchLine, PatternStart, HatchLineAngle) { + super(expressID); + this.HatchLineAppearance = HatchLineAppearance; + this.StartOfNextHatchLine = StartOfNextHatchLine; + this.PointOfReferenceHatchLine = PointOfReferenceHatchLine; + this.PatternStart = PatternStart; + this.HatchLineAngle = HatchLineAngle; + this.type = 374418227; + } + } + IFC4X32.IfcFillAreaStyleHatching = IfcFillAreaStyleHatching; + class IfcFillAreaStyleTiles extends IfcGeometricRepresentationItem { + constructor(expressID, TilingPattern, Tiles, TilingScale) { + super(expressID); + this.TilingPattern = TilingPattern; + this.Tiles = Tiles; + this.TilingScale = TilingScale; + this.type = 315944413; + } + } + IFC4X32.IfcFillAreaStyleTiles = IfcFillAreaStyleTiles; + class IfcFixedReferenceSweptAreaSolid extends IfcDirectrixCurveSweptAreaSolid { + constructor(expressID, SweptArea, Position, Directrix, StartParam, EndParam, FixedReference) { + super(expressID, SweptArea, Position, Directrix, StartParam, EndParam); + this.SweptArea = SweptArea; + this.Position = Position; + this.Directrix = Directrix; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.FixedReference = FixedReference; + this.type = 2652556860; + } + } + IFC4X32.IfcFixedReferenceSweptAreaSolid = IfcFixedReferenceSweptAreaSolid; + class IfcFurnishingElementType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 4238390223; + } + } + IFC4X32.IfcFurnishingElementType = IfcFurnishingElementType; + class IfcFurnitureType extends IfcFurnishingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, AssemblyPlace, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.AssemblyPlace = AssemblyPlace; + this.PredefinedType = PredefinedType; + this.type = 1268542332; + } + } + IFC4X32.IfcFurnitureType = IfcFurnitureType; + class IfcGeographicElementType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4095422895; + } + } + IFC4X32.IfcGeographicElementType = IfcGeographicElementType; + class IfcGeometricCurveSet extends IfcGeometricSet { + constructor(expressID, Elements) { + super(expressID, Elements); + this.Elements = Elements; + this.type = 987898635; + } + } + IFC4X32.IfcGeometricCurveSet = IfcGeometricCurveSet; + class IfcIShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, FlangeSlope) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.OverallWidth = OverallWidth; + this.OverallDepth = OverallDepth; + this.WebThickness = WebThickness; + this.FlangeThickness = FlangeThickness; + this.FilletRadius = FilletRadius; + this.FlangeEdgeRadius = FlangeEdgeRadius; + this.FlangeSlope = FlangeSlope; + this.type = 1484403080; + } + } + IFC4X32.IfcIShapeProfileDef = IfcIShapeProfileDef; + class IfcIndexedPolygonalFace extends IfcTessellatedItem { + constructor(expressID, CoordIndex) { + super(expressID); + this.CoordIndex = CoordIndex; + this.type = 178912537; + } + } + IFC4X32.IfcIndexedPolygonalFace = IfcIndexedPolygonalFace; + class IfcIndexedPolygonalFaceWithVoids extends IfcIndexedPolygonalFace { + constructor(expressID, CoordIndex, InnerCoordIndices) { + super(expressID, CoordIndex); + this.CoordIndex = CoordIndex; + this.InnerCoordIndices = InnerCoordIndices; + this.type = 2294589976; + } + } + IFC4X32.IfcIndexedPolygonalFaceWithVoids = IfcIndexedPolygonalFaceWithVoids; + class IfcIndexedPolygonalTextureMap extends IfcIndexedTextureMap { + constructor(expressID, Maps, MappedTo, TexCoords, TexCoordIndices) { + super(expressID, Maps, MappedTo, TexCoords); + this.Maps = Maps; + this.MappedTo = MappedTo; + this.TexCoords = TexCoords; + this.TexCoordIndices = TexCoordIndices; + this.type = 3465909080; + } + } + IFC4X32.IfcIndexedPolygonalTextureMap = IfcIndexedPolygonalTextureMap; + class IfcLShapeProfileDef extends IfcParameterizedProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Depth, Width, Thickness, FilletRadius, EdgeRadius, LegSlope) { + super(expressID, ProfileType, ProfileName, Position); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Depth = Depth; + this.Width = Width; + this.Thickness = Thickness; + this.FilletRadius = FilletRadius; + this.EdgeRadius = EdgeRadius; + this.LegSlope = LegSlope; + this.type = 572779678; + } + } + IFC4X32.IfcLShapeProfileDef = IfcLShapeProfileDef; + class IfcLaborResourceType extends IfcConstructionResourceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 428585644; + } + } + IFC4X32.IfcLaborResourceType = IfcLaborResourceType; + class IfcLine extends IfcCurve { + constructor(expressID, Pnt, Dir) { + super(expressID); + this.Pnt = Pnt; + this.Dir = Dir; + this.type = 1281925730; + } + } + IFC4X32.IfcLine = IfcLine; + class IfcManifoldSolidBrep extends IfcSolidModel { + constructor(expressID, Outer) { + super(expressID); + this.Outer = Outer; + this.type = 1425443689; + } + } + IFC4X32.IfcManifoldSolidBrep = IfcManifoldSolidBrep; + class IfcObject extends IfcObjectDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 3888040117; + } + } + IFC4X32.IfcObject = IfcObject; + class IfcOffsetCurve extends IfcCurve { + constructor(expressID, BasisCurve) { + super(expressID); + this.BasisCurve = BasisCurve; + this.type = 590820931; + } + } + IFC4X32.IfcOffsetCurve = IfcOffsetCurve; + class IfcOffsetCurve2D extends IfcOffsetCurve { + constructor(expressID, BasisCurve, Distance, SelfIntersect) { + super(expressID, BasisCurve); + this.BasisCurve = BasisCurve; + this.Distance = Distance; + this.SelfIntersect = SelfIntersect; + this.type = 3388369263; + } + } + IFC4X32.IfcOffsetCurve2D = IfcOffsetCurve2D; + class IfcOffsetCurve3D extends IfcOffsetCurve { + constructor(expressID, BasisCurve, Distance, SelfIntersect, RefDirection) { + super(expressID, BasisCurve); + this.BasisCurve = BasisCurve; + this.Distance = Distance; + this.SelfIntersect = SelfIntersect; + this.RefDirection = RefDirection; + this.type = 3505215534; + } + } + IFC4X32.IfcOffsetCurve3D = IfcOffsetCurve3D; + class IfcOffsetCurveByDistances extends IfcOffsetCurve { + constructor(expressID, BasisCurve, OffsetValues, Tag) { + super(expressID, BasisCurve); + this.BasisCurve = BasisCurve; + this.OffsetValues = OffsetValues; + this.Tag = Tag; + this.type = 2485787929; + } + } + IFC4X32.IfcOffsetCurveByDistances = IfcOffsetCurveByDistances; + class IfcPcurve extends IfcCurve { + constructor(expressID, BasisSurface, ReferenceCurve) { + super(expressID); + this.BasisSurface = BasisSurface; + this.ReferenceCurve = ReferenceCurve; + this.type = 1682466193; + } + } + IFC4X32.IfcPcurve = IfcPcurve; + class IfcPlanarBox extends IfcPlanarExtent { + constructor(expressID, SizeInX, SizeInY, Placement) { + super(expressID, SizeInX, SizeInY); + this.SizeInX = SizeInX; + this.SizeInY = SizeInY; + this.Placement = Placement; + this.type = 603570806; + } + } + IFC4X32.IfcPlanarBox = IfcPlanarBox; + class IfcPlane extends IfcElementarySurface { + constructor(expressID, Position) { + super(expressID, Position); + this.Position = Position; + this.type = 220341763; + } + } + IFC4X32.IfcPlane = IfcPlane; + class IfcPolynomialCurve extends IfcCurve { + constructor(expressID, Position, CoefficientsX, CoefficientsY, CoefficientsZ) { + super(expressID); + this.Position = Position; + this.CoefficientsX = CoefficientsX; + this.CoefficientsY = CoefficientsY; + this.CoefficientsZ = CoefficientsZ; + this.type = 3381221214; + } + } + IFC4X32.IfcPolynomialCurve = IfcPolynomialCurve; + class IfcPreDefinedColour extends IfcPreDefinedItem { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 759155922; + } + } + IFC4X32.IfcPreDefinedColour = IfcPreDefinedColour; + class IfcPreDefinedCurveFont extends IfcPreDefinedItem { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 2559016684; + } + } + IFC4X32.IfcPreDefinedCurveFont = IfcPreDefinedCurveFont; + class IfcPreDefinedPropertySet extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 3967405729; + } + } + IFC4X32.IfcPreDefinedPropertySet = IfcPreDefinedPropertySet; + class IfcProcedureType extends IfcTypeProcess { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ProcessType = ProcessType; + this.PredefinedType = PredefinedType; + this.type = 569719735; + } + } + IFC4X32.IfcProcedureType = IfcProcedureType; + class IfcProcess extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.type = 2945172077; + } + } + IFC4X32.IfcProcess = IfcProcess; + class IfcProduct extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 4208778838; + } + } + IFC4X32.IfcProduct = IfcProduct; + class IfcProject extends IfcContext { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.Phase = Phase; + this.RepresentationContexts = RepresentationContexts; + this.UnitsInContext = UnitsInContext; + this.type = 103090709; + } + } + IFC4X32.IfcProject = IfcProject; + class IfcProjectLibrary extends IfcContext { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.Phase = Phase; + this.RepresentationContexts = RepresentationContexts; + this.UnitsInContext = UnitsInContext; + this.type = 653396225; + } + } + IFC4X32.IfcProjectLibrary = IfcProjectLibrary; + class IfcPropertyBoundedValue extends IfcSimpleProperty { + constructor(expressID, Name, Specification, UpperBoundValue, LowerBoundValue, Unit, SetPointValue) { + super(expressID, Name, Specification); + this.Name = Name; + this.Specification = Specification; + this.UpperBoundValue = UpperBoundValue; + this.LowerBoundValue = LowerBoundValue; + this.Unit = Unit; + this.SetPointValue = SetPointValue; + this.type = 871118103; + } + } + IFC4X32.IfcPropertyBoundedValue = IfcPropertyBoundedValue; + class IfcPropertyEnumeratedValue extends IfcSimpleProperty { + constructor(expressID, Name, Specification, EnumerationValues, EnumerationReference) { + super(expressID, Name, Specification); + this.Name = Name; + this.Specification = Specification; + this.EnumerationValues = EnumerationValues; + this.EnumerationReference = EnumerationReference; + this.type = 4166981789; + } + } + IFC4X32.IfcPropertyEnumeratedValue = IfcPropertyEnumeratedValue; + class IfcPropertyListValue extends IfcSimpleProperty { + constructor(expressID, Name, Specification, ListValues, Unit) { + super(expressID, Name, Specification); + this.Name = Name; + this.Specification = Specification; + this.ListValues = ListValues; + this.Unit = Unit; + this.type = 2752243245; + } + } + IFC4X32.IfcPropertyListValue = IfcPropertyListValue; + class IfcPropertyReferenceValue extends IfcSimpleProperty { + constructor(expressID, Name, Specification, UsageName, PropertyReference) { + super(expressID, Name, Specification); + this.Name = Name; + this.Specification = Specification; + this.UsageName = UsageName; + this.PropertyReference = PropertyReference; + this.type = 941946838; + } + } + IFC4X32.IfcPropertyReferenceValue = IfcPropertyReferenceValue; + class IfcPropertySet extends IfcPropertySetDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, HasProperties) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.HasProperties = HasProperties; + this.type = 1451395588; + } + } + IFC4X32.IfcPropertySet = IfcPropertySet; + class IfcPropertySetTemplate extends IfcPropertyTemplateDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, TemplateType, ApplicableEntity, HasPropertyTemplates) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.TemplateType = TemplateType; + this.ApplicableEntity = ApplicableEntity; + this.HasPropertyTemplates = HasPropertyTemplates; + this.type = 492091185; + } + } + IFC4X32.IfcPropertySetTemplate = IfcPropertySetTemplate; + class IfcPropertySingleValue extends IfcSimpleProperty { + constructor(expressID, Name, Specification, NominalValue, Unit) { + super(expressID, Name, Specification); + this.Name = Name; + this.Specification = Specification; + this.NominalValue = NominalValue; + this.Unit = Unit; + this.type = 3650150729; + } + } + IFC4X32.IfcPropertySingleValue = IfcPropertySingleValue; + class IfcPropertyTableValue extends IfcSimpleProperty { + constructor(expressID, Name, Specification, DefiningValues, DefinedValues, Expression, DefiningUnit, DefinedUnit, CurveInterpolation) { + super(expressID, Name, Specification); + this.Name = Name; + this.Specification = Specification; + this.DefiningValues = DefiningValues; + this.DefinedValues = DefinedValues; + this.Expression = Expression; + this.DefiningUnit = DefiningUnit; + this.DefinedUnit = DefinedUnit; + this.CurveInterpolation = CurveInterpolation; + this.type = 110355661; + } + } + IFC4X32.IfcPropertyTableValue = IfcPropertyTableValue; + class IfcPropertyTemplate extends IfcPropertyTemplateDefinition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 3521284610; + } + } + IFC4X32.IfcPropertyTemplate = IfcPropertyTemplate; + class IfcRectangleHollowProfileDef extends IfcRectangleProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, XDim, YDim, WallThickness, InnerFilletRadius, OuterFilletRadius) { + super(expressID, ProfileType, ProfileName, Position, XDim, YDim); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.XDim = XDim; + this.YDim = YDim; + this.WallThickness = WallThickness; + this.InnerFilletRadius = InnerFilletRadius; + this.OuterFilletRadius = OuterFilletRadius; + this.type = 2770003689; + } + } + IFC4X32.IfcRectangleHollowProfileDef = IfcRectangleHollowProfileDef; + class IfcRectangularPyramid extends IfcCsgPrimitive3D { + constructor(expressID, Position, XLength, YLength, Height) { + super(expressID, Position); + this.Position = Position; + this.XLength = XLength; + this.YLength = YLength; + this.Height = Height; + this.type = 2798486643; + } + } + IFC4X32.IfcRectangularPyramid = IfcRectangularPyramid; + class IfcRectangularTrimmedSurface extends IfcBoundedSurface { + constructor(expressID, BasisSurface, U1, V1, U2, V2, Usense, Vsense) { + super(expressID); + this.BasisSurface = BasisSurface; + this.U1 = U1; + this.V1 = V1; + this.U2 = U2; + this.V2 = V2; + this.Usense = Usense; + this.Vsense = Vsense; + this.type = 3454111270; + } + } + IFC4X32.IfcRectangularTrimmedSurface = IfcRectangularTrimmedSurface; + class IfcReinforcementDefinitionProperties extends IfcPreDefinedPropertySet { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, DefinitionType, ReinforcementSectionDefinitions) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.DefinitionType = DefinitionType; + this.ReinforcementSectionDefinitions = ReinforcementSectionDefinitions; + this.type = 3765753017; + } + } + IFC4X32.IfcReinforcementDefinitionProperties = IfcReinforcementDefinitionProperties; + class IfcRelAssigns extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.type = 3939117080; + } + } + IFC4X32.IfcRelAssigns = IfcRelAssigns; + class IfcRelAssignsToActor extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingActor = RelatingActor; + this.ActingRole = ActingRole; + this.type = 1683148259; + } + } + IFC4X32.IfcRelAssignsToActor = IfcRelAssignsToActor; + class IfcRelAssignsToControl extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingControl = RelatingControl; + this.type = 2495723537; + } + } + IFC4X32.IfcRelAssignsToControl = IfcRelAssignsToControl; + class IfcRelAssignsToGroup extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingGroup = RelatingGroup; + this.type = 1307041759; + } + } + IFC4X32.IfcRelAssignsToGroup = IfcRelAssignsToGroup; + class IfcRelAssignsToGroupByFactor extends IfcRelAssignsToGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup, Factor) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingGroup = RelatingGroup; + this.Factor = Factor; + this.type = 1027710054; + } + } + IFC4X32.IfcRelAssignsToGroupByFactor = IfcRelAssignsToGroupByFactor; + class IfcRelAssignsToProcess extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProcess, QuantityInProcess) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingProcess = RelatingProcess; + this.QuantityInProcess = QuantityInProcess; + this.type = 4278684876; + } + } + IFC4X32.IfcRelAssignsToProcess = IfcRelAssignsToProcess; + class IfcRelAssignsToProduct extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProduct) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingProduct = RelatingProduct; + this.type = 2857406711; + } + } + IFC4X32.IfcRelAssignsToProduct = IfcRelAssignsToProduct; + class IfcRelAssignsToResource extends IfcRelAssigns { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingResource) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatedObjectsType = RelatedObjectsType; + this.RelatingResource = RelatingResource; + this.type = 205026976; + } + } + IFC4X32.IfcRelAssignsToResource = IfcRelAssignsToResource; + class IfcRelAssociates extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.type = 1865459582; + } + } + IFC4X32.IfcRelAssociates = IfcRelAssociates; + class IfcRelAssociatesApproval extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingApproval) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingApproval = RelatingApproval; + this.type = 4095574036; + } + } + IFC4X32.IfcRelAssociatesApproval = IfcRelAssociatesApproval; + class IfcRelAssociatesClassification extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingClassification) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingClassification = RelatingClassification; + this.type = 919958153; + } + } + IFC4X32.IfcRelAssociatesClassification = IfcRelAssociatesClassification; + class IfcRelAssociatesConstraint extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, Intent, RelatingConstraint) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.Intent = Intent; + this.RelatingConstraint = RelatingConstraint; + this.type = 2728634034; + } + } + IFC4X32.IfcRelAssociatesConstraint = IfcRelAssociatesConstraint; + class IfcRelAssociatesDocument extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingDocument) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingDocument = RelatingDocument; + this.type = 982818633; + } + } + IFC4X32.IfcRelAssociatesDocument = IfcRelAssociatesDocument; + class IfcRelAssociatesLibrary extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingLibrary) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingLibrary = RelatingLibrary; + this.type = 3840914261; + } + } + IFC4X32.IfcRelAssociatesLibrary = IfcRelAssociatesLibrary; + class IfcRelAssociatesMaterial extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingMaterial) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingMaterial = RelatingMaterial; + this.type = 2655215786; + } + } + IFC4X32.IfcRelAssociatesMaterial = IfcRelAssociatesMaterial; + class IfcRelAssociatesProfileDef extends IfcRelAssociates { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingProfileDef) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingProfileDef = RelatingProfileDef; + this.type = 1033248425; + } + } + IFC4X32.IfcRelAssociatesProfileDef = IfcRelAssociatesProfileDef; + class IfcRelConnects extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 826625072; + } + } + IFC4X32.IfcRelConnects = IfcRelConnects; + class IfcRelConnectsElements extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.type = 1204542856; + } + } + IFC4X32.IfcRelConnectsElements = IfcRelConnectsElements; + class IfcRelConnectsPathElements extends IfcRelConnectsElements { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RelatingPriorities, RelatedPriorities, RelatedConnectionType, RelatingConnectionType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.RelatingPriorities = RelatingPriorities; + this.RelatedPriorities = RelatedPriorities; + this.RelatedConnectionType = RelatedConnectionType; + this.RelatingConnectionType = RelatingConnectionType; + this.type = 3945020480; + } + } + IFC4X32.IfcRelConnectsPathElements = IfcRelConnectsPathElements; + class IfcRelConnectsPortToElement extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingPort = RelatingPort; + this.RelatedElement = RelatedElement; + this.type = 4201705270; + } + } + IFC4X32.IfcRelConnectsPortToElement = IfcRelConnectsPortToElement; + class IfcRelConnectsPorts extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedPort, RealizingElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingPort = RelatingPort; + this.RelatedPort = RelatedPort; + this.RealizingElement = RealizingElement; + this.type = 3190031847; + } + } + IFC4X32.IfcRelConnectsPorts = IfcRelConnectsPorts; + class IfcRelConnectsStructuralActivity extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedStructuralActivity) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedStructuralActivity = RelatedStructuralActivity; + this.type = 2127690289; + } + } + IFC4X32.IfcRelConnectsStructuralActivity = IfcRelConnectsStructuralActivity; + class IfcRelConnectsStructuralMember extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingStructuralMember = RelatingStructuralMember; + this.RelatedStructuralConnection = RelatedStructuralConnection; + this.AppliedCondition = AppliedCondition; + this.AdditionalConditions = AdditionalConditions; + this.SupportedLength = SupportedLength; + this.ConditionCoordinateSystem = ConditionCoordinateSystem; + this.type = 1638771189; + } + } + IFC4X32.IfcRelConnectsStructuralMember = IfcRelConnectsStructuralMember; + class IfcRelConnectsWithEccentricity extends IfcRelConnectsStructuralMember { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem, ConnectionConstraint) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingStructuralMember = RelatingStructuralMember; + this.RelatedStructuralConnection = RelatedStructuralConnection; + this.AppliedCondition = AppliedCondition; + this.AdditionalConditions = AdditionalConditions; + this.SupportedLength = SupportedLength; + this.ConditionCoordinateSystem = ConditionCoordinateSystem; + this.ConnectionConstraint = ConnectionConstraint; + this.type = 504942748; + } + } + IFC4X32.IfcRelConnectsWithEccentricity = IfcRelConnectsWithEccentricity; + class IfcRelConnectsWithRealizingElements extends IfcRelConnectsElements { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RealizingElements, ConnectionType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ConnectionGeometry = ConnectionGeometry; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.RealizingElements = RealizingElements; + this.ConnectionType = ConnectionType; + this.type = 3678494232; + } + } + IFC4X32.IfcRelConnectsWithRealizingElements = IfcRelConnectsWithRealizingElements; + class IfcRelContainedInSpatialStructure extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedElements = RelatedElements; + this.RelatingStructure = RelatingStructure; + this.type = 3242617779; + } + } + IFC4X32.IfcRelContainedInSpatialStructure = IfcRelContainedInSpatialStructure; + class IfcRelCoversBldgElements extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedCoverings) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingBuildingElement = RelatingBuildingElement; + this.RelatedCoverings = RelatedCoverings; + this.type = 886880790; + } + } + IFC4X32.IfcRelCoversBldgElements = IfcRelCoversBldgElements; + class IfcRelCoversSpaces extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedCoverings) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedCoverings = RelatedCoverings; + this.type = 2802773753; + } + } + IFC4X32.IfcRelCoversSpaces = IfcRelCoversSpaces; + class IfcRelDeclares extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingContext, RelatedDefinitions) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingContext = RelatingContext; + this.RelatedDefinitions = RelatedDefinitions; + this.type = 2565941209; + } + } + IFC4X32.IfcRelDeclares = IfcRelDeclares; + class IfcRelDecomposes extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 2551354335; + } + } + IFC4X32.IfcRelDecomposes = IfcRelDecomposes; + class IfcRelDefines extends IfcRelationship { + constructor(expressID, GlobalId, OwnerHistory, Name, Description) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.type = 693640335; + } + } + IFC4X32.IfcRelDefines = IfcRelDefines; + class IfcRelDefinesByObject extends IfcRelDefines { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingObject) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingObject = RelatingObject; + this.type = 1462361463; + } + } + IFC4X32.IfcRelDefinesByObject = IfcRelDefinesByObject; + class IfcRelDefinesByProperties extends IfcRelDefines { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingPropertyDefinition = RelatingPropertyDefinition; + this.type = 4186316022; + } + } + IFC4X32.IfcRelDefinesByProperties = IfcRelDefinesByProperties; + class IfcRelDefinesByTemplate extends IfcRelDefines { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedPropertySets, RelatingTemplate) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedPropertySets = RelatedPropertySets; + this.RelatingTemplate = RelatingTemplate; + this.type = 307848117; + } + } + IFC4X32.IfcRelDefinesByTemplate = IfcRelDefinesByTemplate; + class IfcRelDefinesByType extends IfcRelDefines { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingType) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedObjects = RelatedObjects; + this.RelatingType = RelatingType; + this.type = 781010003; + } + } + IFC4X32.IfcRelDefinesByType = IfcRelDefinesByType; + class IfcRelFillsElement extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingOpeningElement, RelatedBuildingElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingOpeningElement = RelatingOpeningElement; + this.RelatedBuildingElement = RelatedBuildingElement; + this.type = 3940055652; + } + } + IFC4X32.IfcRelFillsElement = IfcRelFillsElement; + class IfcRelFlowControlElements extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedControlElements, RelatingFlowElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedControlElements = RelatedControlElements; + this.RelatingFlowElement = RelatingFlowElement; + this.type = 279856033; + } + } + IFC4X32.IfcRelFlowControlElements = IfcRelFlowControlElements; + class IfcRelInterferesElements extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedElement, InterferenceGeometry, InterferenceSpace, InterferenceType, ImpliedOrder) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedElement = RelatedElement; + this.InterferenceGeometry = InterferenceGeometry; + this.InterferenceSpace = InterferenceSpace; + this.InterferenceType = InterferenceType; + this.ImpliedOrder = ImpliedOrder; + this.type = 427948657; + } + } + IFC4X32.IfcRelInterferesElements = IfcRelInterferesElements; + class IfcRelNests extends IfcRelDecomposes { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingObject = RelatingObject; + this.RelatedObjects = RelatedObjects; + this.type = 3268803585; + } + } + IFC4X32.IfcRelNests = IfcRelNests; + class IfcRelPositions extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingPositioningElement, RelatedProducts) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingPositioningElement = RelatingPositioningElement; + this.RelatedProducts = RelatedProducts; + this.type = 1441486842; + } + } + IFC4X32.IfcRelPositions = IfcRelPositions; + class IfcRelProjectsElement extends IfcRelDecomposes { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedFeatureElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedFeatureElement = RelatedFeatureElement; + this.type = 750771296; + } + } + IFC4X32.IfcRelProjectsElement = IfcRelProjectsElement; + class IfcRelReferencedInSpatialStructure extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatedElements = RelatedElements; + this.RelatingStructure = RelatingStructure; + this.type = 1245217292; + } + } + IFC4X32.IfcRelReferencedInSpatialStructure = IfcRelReferencedInSpatialStructure; + class IfcRelSequence extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingProcess, RelatedProcess, TimeLag, SequenceType, UserDefinedSequenceType) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingProcess = RelatingProcess; + this.RelatedProcess = RelatedProcess; + this.TimeLag = TimeLag; + this.SequenceType = SequenceType; + this.UserDefinedSequenceType = UserDefinedSequenceType; + this.type = 4122056220; + } + } + IFC4X32.IfcRelSequence = IfcRelSequence; + class IfcRelServicesBuildings extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingSystem, RelatedBuildings) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSystem = RelatingSystem; + this.RelatedBuildings = RelatedBuildings; + this.type = 366585022; + } + } + IFC4X32.IfcRelServicesBuildings = IfcRelServicesBuildings; + class IfcRelSpaceBoundary extends IfcRelConnects { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedBuildingElement = RelatedBuildingElement; + this.ConnectionGeometry = ConnectionGeometry; + this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary; + this.InternalOrExternalBoundary = InternalOrExternalBoundary; + this.type = 3451746338; + } + } + IFC4X32.IfcRelSpaceBoundary = IfcRelSpaceBoundary; + class IfcRelSpaceBoundary1stLevel extends IfcRelSpaceBoundary { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedBuildingElement = RelatedBuildingElement; + this.ConnectionGeometry = ConnectionGeometry; + this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary; + this.InternalOrExternalBoundary = InternalOrExternalBoundary; + this.ParentBoundary = ParentBoundary; + this.type = 3523091289; + } + } + IFC4X32.IfcRelSpaceBoundary1stLevel = IfcRelSpaceBoundary1stLevel; + class IfcRelSpaceBoundary2ndLevel extends IfcRelSpaceBoundary1stLevel { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary, CorrespondingBoundary) { + super(expressID, GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingSpace = RelatingSpace; + this.RelatedBuildingElement = RelatedBuildingElement; + this.ConnectionGeometry = ConnectionGeometry; + this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary; + this.InternalOrExternalBoundary = InternalOrExternalBoundary; + this.ParentBoundary = ParentBoundary; + this.CorrespondingBoundary = CorrespondingBoundary; + this.type = 1521410863; + } + } + IFC4X32.IfcRelSpaceBoundary2ndLevel = IfcRelSpaceBoundary2ndLevel; + class IfcRelVoidsElement extends IfcRelDecomposes { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedOpeningElement) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingBuildingElement = RelatingBuildingElement; + this.RelatedOpeningElement = RelatedOpeningElement; + this.type = 1401173127; + } + } + IFC4X32.IfcRelVoidsElement = IfcRelVoidsElement; + class IfcReparametrisedCompositeCurveSegment extends IfcCompositeCurveSegment { + constructor(expressID, Transition, SameSense, ParentCurve, ParamLength) { + super(expressID, Transition, SameSense, ParentCurve); + this.Transition = Transition; + this.SameSense = SameSense; + this.ParentCurve = ParentCurve; + this.ParamLength = ParamLength; + this.type = 816062949; + } + } + IFC4X32.IfcReparametrisedCompositeCurveSegment = IfcReparametrisedCompositeCurveSegment; + class IfcResource extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.type = 2914609552; + } + } + IFC4X32.IfcResource = IfcResource; + class IfcRevolvedAreaSolid extends IfcSweptAreaSolid { + constructor(expressID, SweptArea, Position, Axis, Angle) { + super(expressID, SweptArea, Position); + this.SweptArea = SweptArea; + this.Position = Position; + this.Axis = Axis; + this.Angle = Angle; + this.type = 1856042241; + } + } + IFC4X32.IfcRevolvedAreaSolid = IfcRevolvedAreaSolid; + class IfcRevolvedAreaSolidTapered extends IfcRevolvedAreaSolid { + constructor(expressID, SweptArea, Position, Axis, Angle, EndSweptArea) { + super(expressID, SweptArea, Position, Axis, Angle); + this.SweptArea = SweptArea; + this.Position = Position; + this.Axis = Axis; + this.Angle = Angle; + this.EndSweptArea = EndSweptArea; + this.type = 3243963512; + } + } + IFC4X32.IfcRevolvedAreaSolidTapered = IfcRevolvedAreaSolidTapered; + class IfcRightCircularCone extends IfcCsgPrimitive3D { + constructor(expressID, Position, Height, BottomRadius) { + super(expressID, Position); + this.Position = Position; + this.Height = Height; + this.BottomRadius = BottomRadius; + this.type = 4158566097; + } + } + IFC4X32.IfcRightCircularCone = IfcRightCircularCone; + class IfcRightCircularCylinder extends IfcCsgPrimitive3D { + constructor(expressID, Position, Height, Radius) { + super(expressID, Position); + this.Position = Position; + this.Height = Height; + this.Radius = Radius; + this.type = 3626867408; + } + } + IFC4X32.IfcRightCircularCylinder = IfcRightCircularCylinder; + class IfcSectionedSolid extends IfcSolidModel { + constructor(expressID, Directrix, CrossSections) { + super(expressID); + this.Directrix = Directrix; + this.CrossSections = CrossSections; + this.type = 1862484736; + } + } + IFC4X32.IfcSectionedSolid = IfcSectionedSolid; + class IfcSectionedSolidHorizontal extends IfcSectionedSolid { + constructor(expressID, Directrix, CrossSections, CrossSectionPositions) { + super(expressID, Directrix, CrossSections); + this.Directrix = Directrix; + this.CrossSections = CrossSections; + this.CrossSectionPositions = CrossSectionPositions; + this.type = 1290935644; + } + } + IFC4X32.IfcSectionedSolidHorizontal = IfcSectionedSolidHorizontal; + class IfcSectionedSurface extends IfcSurface { + constructor(expressID, Directrix, CrossSectionPositions, CrossSections) { + super(expressID); + this.Directrix = Directrix; + this.CrossSectionPositions = CrossSectionPositions; + this.CrossSections = CrossSections; + this.type = 1356537516; + } + } + IFC4X32.IfcSectionedSurface = IfcSectionedSurface; + class IfcSimplePropertyTemplate extends IfcPropertyTemplate { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, TemplateType, PrimaryMeasureType, SecondaryMeasureType, Enumerators, PrimaryUnit, SecondaryUnit, Expression, AccessState) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.TemplateType = TemplateType; + this.PrimaryMeasureType = PrimaryMeasureType; + this.SecondaryMeasureType = SecondaryMeasureType; + this.Enumerators = Enumerators; + this.PrimaryUnit = PrimaryUnit; + this.SecondaryUnit = SecondaryUnit; + this.Expression = Expression; + this.AccessState = AccessState; + this.type = 3663146110; + } + } + IFC4X32.IfcSimplePropertyTemplate = IfcSimplePropertyTemplate; + class IfcSpatialElement extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.type = 1412071761; + } + } + IFC4X32.IfcSpatialElement = IfcSpatialElement; + class IfcSpatialElementType extends IfcTypeProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 710998568; + } + } + IFC4X32.IfcSpatialElementType = IfcSpatialElementType; + class IfcSpatialStructureElement extends IfcSpatialElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.type = 2706606064; + } + } + IFC4X32.IfcSpatialStructureElement = IfcSpatialStructureElement; + class IfcSpatialStructureElementType extends IfcSpatialElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3893378262; + } + } + IFC4X32.IfcSpatialStructureElementType = IfcSpatialStructureElementType; + class IfcSpatialZone extends IfcSpatialElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.PredefinedType = PredefinedType; + this.type = 463610769; + } + } + IFC4X32.IfcSpatialZone = IfcSpatialZone; + class IfcSpatialZoneType extends IfcSpatialElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, LongName) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.LongName = LongName; + this.type = 2481509218; + } + } + IFC4X32.IfcSpatialZoneType = IfcSpatialZoneType; + class IfcSphere extends IfcCsgPrimitive3D { + constructor(expressID, Position, Radius) { + super(expressID, Position); + this.Position = Position; + this.Radius = Radius; + this.type = 451544542; + } + } + IFC4X32.IfcSphere = IfcSphere; + class IfcSphericalSurface extends IfcElementarySurface { + constructor(expressID, Position, Radius) { + super(expressID, Position); + this.Position = Position; + this.Radius = Radius; + this.type = 4015995234; + } + } + IFC4X32.IfcSphericalSurface = IfcSphericalSurface; + class IfcSpiral extends IfcCurve { + constructor(expressID, Position) { + super(expressID); + this.Position = Position; + this.type = 2735484536; + } + } + IFC4X32.IfcSpiral = IfcSpiral; + class IfcStructuralActivity extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 3544373492; + } + } + IFC4X32.IfcStructuralActivity = IfcStructuralActivity; + class IfcStructuralItem extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 3136571912; + } + } + IFC4X32.IfcStructuralItem = IfcStructuralItem; + class IfcStructuralMember extends IfcStructuralItem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 530289379; + } + } + IFC4X32.IfcStructuralMember = IfcStructuralMember; + class IfcStructuralReaction extends IfcStructuralActivity { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 3689010777; + } + } + IFC4X32.IfcStructuralReaction = IfcStructuralReaction; + class IfcStructuralSurfaceMember extends IfcStructuralMember { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Thickness = Thickness; + this.type = 3979015343; + } + } + IFC4X32.IfcStructuralSurfaceMember = IfcStructuralSurfaceMember; + class IfcStructuralSurfaceMemberVarying extends IfcStructuralSurfaceMember { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Thickness = Thickness; + this.type = 2218152070; + } + } + IFC4X32.IfcStructuralSurfaceMemberVarying = IfcStructuralSurfaceMemberVarying; + class IfcStructuralSurfaceReaction extends IfcStructuralReaction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.PredefinedType = PredefinedType; + this.type = 603775116; + } + } + IFC4X32.IfcStructuralSurfaceReaction = IfcStructuralSurfaceReaction; + class IfcSubContractResourceType extends IfcConstructionResourceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 4095615324; + } + } + IFC4X32.IfcSubContractResourceType = IfcSubContractResourceType; + class IfcSurfaceCurve extends IfcCurve { + constructor(expressID, Curve3D, AssociatedGeometry, MasterRepresentation) { + super(expressID); + this.Curve3D = Curve3D; + this.AssociatedGeometry = AssociatedGeometry; + this.MasterRepresentation = MasterRepresentation; + this.type = 699246055; + } + } + IFC4X32.IfcSurfaceCurve = IfcSurfaceCurve; + class IfcSurfaceCurveSweptAreaSolid extends IfcDirectrixCurveSweptAreaSolid { + constructor(expressID, SweptArea, Position, Directrix, StartParam, EndParam, ReferenceSurface) { + super(expressID, SweptArea, Position, Directrix, StartParam, EndParam); + this.SweptArea = SweptArea; + this.Position = Position; + this.Directrix = Directrix; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.ReferenceSurface = ReferenceSurface; + this.type = 2028607225; + } + } + IFC4X32.IfcSurfaceCurveSweptAreaSolid = IfcSurfaceCurveSweptAreaSolid; + class IfcSurfaceOfLinearExtrusion extends IfcSweptSurface { + constructor(expressID, SweptCurve, Position, ExtrudedDirection, Depth) { + super(expressID, SweptCurve, Position); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.ExtrudedDirection = ExtrudedDirection; + this.Depth = Depth; + this.type = 2809605785; + } + } + IFC4X32.IfcSurfaceOfLinearExtrusion = IfcSurfaceOfLinearExtrusion; + class IfcSurfaceOfRevolution extends IfcSweptSurface { + constructor(expressID, SweptCurve, Position, AxisPosition) { + super(expressID, SweptCurve, Position); + this.SweptCurve = SweptCurve; + this.Position = Position; + this.AxisPosition = AxisPosition; + this.type = 4124788165; + } + } + IFC4X32.IfcSurfaceOfRevolution = IfcSurfaceOfRevolution; + class IfcSystemFurnitureElementType extends IfcFurnishingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1580310250; + } + } + IFC4X32.IfcSystemFurnitureElementType = IfcSystemFurnitureElementType; + class IfcTask extends IfcProcess { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Status, WorkMethod, IsMilestone, Priority, TaskTime, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Status = Status; + this.WorkMethod = WorkMethod; + this.IsMilestone = IsMilestone; + this.Priority = Priority; + this.TaskTime = TaskTime; + this.PredefinedType = PredefinedType; + this.type = 3473067441; + } + } + IFC4X32.IfcTask = IfcTask; + class IfcTaskType extends IfcTypeProcess { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType, WorkMethod) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ProcessType = ProcessType; + this.PredefinedType = PredefinedType; + this.WorkMethod = WorkMethod; + this.type = 3206491090; + } + } + IFC4X32.IfcTaskType = IfcTaskType; + class IfcTessellatedFaceSet extends IfcTessellatedItem { + constructor(expressID, Coordinates, Closed) { + super(expressID); + this.Coordinates = Coordinates; + this.Closed = Closed; + this.type = 2387106220; + } + } + IFC4X32.IfcTessellatedFaceSet = IfcTessellatedFaceSet; + class IfcThirdOrderPolynomialSpiral extends IfcSpiral { + constructor(expressID, Position, CubicTerm, QuadraticTerm, LinearTerm, ConstantTerm) { + super(expressID, Position); + this.Position = Position; + this.CubicTerm = CubicTerm; + this.QuadraticTerm = QuadraticTerm; + this.LinearTerm = LinearTerm; + this.ConstantTerm = ConstantTerm; + this.type = 782932809; + } + } + IFC4X32.IfcThirdOrderPolynomialSpiral = IfcThirdOrderPolynomialSpiral; + class IfcToroidalSurface extends IfcElementarySurface { + constructor(expressID, Position, MajorRadius, MinorRadius) { + super(expressID, Position); + this.Position = Position; + this.MajorRadius = MajorRadius; + this.MinorRadius = MinorRadius; + this.type = 1935646853; + } + } + IFC4X32.IfcToroidalSurface = IfcToroidalSurface; + class IfcTransportationDeviceType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3665877780; + } + } + IFC4X32.IfcTransportationDeviceType = IfcTransportationDeviceType; + class IfcTriangulatedFaceSet extends IfcTessellatedFaceSet { + constructor(expressID, Coordinates, Closed, Normals, CoordIndex, PnIndex) { + super(expressID, Coordinates, Closed); + this.Coordinates = Coordinates; + this.Closed = Closed; + this.Normals = Normals; + this.CoordIndex = CoordIndex; + this.PnIndex = PnIndex; + this.type = 2916149573; + } + } + IFC4X32.IfcTriangulatedFaceSet = IfcTriangulatedFaceSet; + class IfcTriangulatedIrregularNetwork extends IfcTriangulatedFaceSet { + constructor(expressID, Coordinates, Closed, Normals, CoordIndex, PnIndex, Flags) { + super(expressID, Coordinates, Closed, Normals, CoordIndex, PnIndex); + this.Coordinates = Coordinates; + this.Closed = Closed; + this.Normals = Normals; + this.CoordIndex = CoordIndex; + this.PnIndex = PnIndex; + this.Flags = Flags; + this.type = 1229763772; + } + } + IFC4X32.IfcTriangulatedIrregularNetwork = IfcTriangulatedIrregularNetwork; + class IfcVehicleType extends IfcTransportationDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3651464721; + } + } + IFC4X32.IfcVehicleType = IfcVehicleType; + class IfcWindowLiningProperties extends IfcPreDefinedPropertySet { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, TransomThickness, MullionThickness, FirstTransomOffset, SecondTransomOffset, FirstMullionOffset, SecondMullionOffset, ShapeAspectStyle, LiningOffset, LiningToPanelOffsetX, LiningToPanelOffsetY) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.LiningDepth = LiningDepth; + this.LiningThickness = LiningThickness; + this.TransomThickness = TransomThickness; + this.MullionThickness = MullionThickness; + this.FirstTransomOffset = FirstTransomOffset; + this.SecondTransomOffset = SecondTransomOffset; + this.FirstMullionOffset = FirstMullionOffset; + this.SecondMullionOffset = SecondMullionOffset; + this.ShapeAspectStyle = ShapeAspectStyle; + this.LiningOffset = LiningOffset; + this.LiningToPanelOffsetX = LiningToPanelOffsetX; + this.LiningToPanelOffsetY = LiningToPanelOffsetY; + this.type = 336235671; + } + } + IFC4X32.IfcWindowLiningProperties = IfcWindowLiningProperties; + class IfcWindowPanelProperties extends IfcPreDefinedPropertySet { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.OperationType = OperationType; + this.PanelPosition = PanelPosition; + this.FrameDepth = FrameDepth; + this.FrameThickness = FrameThickness; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 512836454; + } + } + IFC4X32.IfcWindowPanelProperties = IfcWindowPanelProperties; + class IfcActor extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheActor = TheActor; + this.type = 2296667514; + } + } + IFC4X32.IfcActor = IfcActor; + class IfcAdvancedBrep extends IfcManifoldSolidBrep { + constructor(expressID, Outer) { + super(expressID, Outer); + this.Outer = Outer; + this.type = 1635779807; + } + } + IFC4X32.IfcAdvancedBrep = IfcAdvancedBrep; + class IfcAdvancedBrepWithVoids extends IfcAdvancedBrep { + constructor(expressID, Outer, Voids) { + super(expressID, Outer); + this.Outer = Outer; + this.Voids = Voids; + this.type = 2603310189; + } + } + IFC4X32.IfcAdvancedBrepWithVoids = IfcAdvancedBrepWithVoids; + class IfcAnnotation extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.type = 1674181508; + } + } + IFC4X32.IfcAnnotation = IfcAnnotation; + class IfcBSplineSurface extends IfcBoundedSurface { + constructor(expressID, UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect) { + super(expressID); + this.UDegree = UDegree; + this.VDegree = VDegree; + this.ControlPointsList = ControlPointsList; + this.SurfaceForm = SurfaceForm; + this.UClosed = UClosed; + this.VClosed = VClosed; + this.SelfIntersect = SelfIntersect; + this.type = 2887950389; + } + } + IFC4X32.IfcBSplineSurface = IfcBSplineSurface; + class IfcBSplineSurfaceWithKnots extends IfcBSplineSurface { + constructor(expressID, UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec) { + super(expressID, UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect); + this.UDegree = UDegree; + this.VDegree = VDegree; + this.ControlPointsList = ControlPointsList; + this.SurfaceForm = SurfaceForm; + this.UClosed = UClosed; + this.VClosed = VClosed; + this.SelfIntersect = SelfIntersect; + this.UMultiplicities = UMultiplicities; + this.VMultiplicities = VMultiplicities; + this.UKnots = UKnots; + this.VKnots = VKnots; + this.KnotSpec = KnotSpec; + this.type = 167062518; + } + } + IFC4X32.IfcBSplineSurfaceWithKnots = IfcBSplineSurfaceWithKnots; + class IfcBlock extends IfcCsgPrimitive3D { + constructor(expressID, Position, XLength, YLength, ZLength) { + super(expressID, Position); + this.Position = Position; + this.XLength = XLength; + this.YLength = YLength; + this.ZLength = ZLength; + this.type = 1334484129; + } + } + IFC4X32.IfcBlock = IfcBlock; + class IfcBooleanClippingResult extends IfcBooleanResult { + constructor(expressID, Operator, FirstOperand, SecondOperand) { + super(expressID, Operator, FirstOperand, SecondOperand); + this.Operator = Operator; + this.FirstOperand = FirstOperand; + this.SecondOperand = SecondOperand; + this.type = 3649129432; + } + } + IFC4X32.IfcBooleanClippingResult = IfcBooleanClippingResult; + class IfcBoundedCurve extends IfcCurve { + constructor(expressID) { + super(expressID); + this.type = 1260505505; + } + } + IFC4X32.IfcBoundedCurve = IfcBoundedCurve; + class IfcBuildingStorey extends IfcSpatialStructureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, Elevation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.Elevation = Elevation; + this.type = 3124254112; + } + } + IFC4X32.IfcBuildingStorey = IfcBuildingStorey; + class IfcBuiltElementType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1626504194; + } + } + IFC4X32.IfcBuiltElementType = IfcBuiltElementType; + class IfcChimneyType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2197970202; + } + } + IFC4X32.IfcChimneyType = IfcChimneyType; + class IfcCircleHollowProfileDef extends IfcCircleProfileDef { + constructor(expressID, ProfileType, ProfileName, Position, Radius, WallThickness) { + super(expressID, ProfileType, ProfileName, Position, Radius); + this.ProfileType = ProfileType; + this.ProfileName = ProfileName; + this.Position = Position; + this.Radius = Radius; + this.WallThickness = WallThickness; + this.type = 2937912522; + } + } + IFC4X32.IfcCircleHollowProfileDef = IfcCircleHollowProfileDef; + class IfcCivilElementType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3893394355; + } + } + IFC4X32.IfcCivilElementType = IfcCivilElementType; + class IfcClothoid extends IfcSpiral { + constructor(expressID, Position, ClothoidConstant) { + super(expressID, Position); + this.Position = Position; + this.ClothoidConstant = ClothoidConstant; + this.type = 3497074424; + } + } + IFC4X32.IfcClothoid = IfcClothoid; + class IfcColumnType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 300633059; + } + } + IFC4X32.IfcColumnType = IfcColumnType; + class IfcComplexPropertyTemplate extends IfcPropertyTemplate { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, UsageName, TemplateType, HasPropertyTemplates) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.UsageName = UsageName; + this.TemplateType = TemplateType; + this.HasPropertyTemplates = HasPropertyTemplates; + this.type = 3875453745; + } + } + IFC4X32.IfcComplexPropertyTemplate = IfcComplexPropertyTemplate; + class IfcCompositeCurve extends IfcBoundedCurve { + constructor(expressID, Segments, SelfIntersect) { + super(expressID); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 3732776249; + } + } + IFC4X32.IfcCompositeCurve = IfcCompositeCurve; + class IfcCompositeCurveOnSurface extends IfcCompositeCurve { + constructor(expressID, Segments, SelfIntersect) { + super(expressID, Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 15328376; + } + } + IFC4X32.IfcCompositeCurveOnSurface = IfcCompositeCurveOnSurface; + class IfcConic extends IfcCurve { + constructor(expressID, Position) { + super(expressID); + this.Position = Position; + this.type = 2510884976; + } + } + IFC4X32.IfcConic = IfcConic; + class IfcConstructionEquipmentResourceType extends IfcConstructionResourceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 2185764099; + } + } + IFC4X32.IfcConstructionEquipmentResourceType = IfcConstructionEquipmentResourceType; + class IfcConstructionMaterialResourceType extends IfcConstructionResourceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 4105962743; + } + } + IFC4X32.IfcConstructionMaterialResourceType = IfcConstructionMaterialResourceType; + class IfcConstructionProductResourceType extends IfcConstructionResourceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.ResourceType = ResourceType; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 1525564444; + } + } + IFC4X32.IfcConstructionProductResourceType = IfcConstructionProductResourceType; + class IfcConstructionResource extends IfcResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.type = 2559216714; + } + } + IFC4X32.IfcConstructionResource = IfcConstructionResource; + class IfcControl extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.type = 3293443760; + } + } + IFC4X32.IfcControl = IfcControl; + class IfcCosineSpiral extends IfcSpiral { + constructor(expressID, Position, CosineTerm, ConstantTerm) { + super(expressID, Position); + this.Position = Position; + this.CosineTerm = CosineTerm; + this.ConstantTerm = ConstantTerm; + this.type = 2000195564; + } + } + IFC4X32.IfcCosineSpiral = IfcCosineSpiral; + class IfcCostItem extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, CostValues, CostQuantities) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.CostValues = CostValues; + this.CostQuantities = CostQuantities; + this.type = 3895139033; + } + } + IFC4X32.IfcCostItem = IfcCostItem; + class IfcCostSchedule extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, SubmittedOn, UpdateDate) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.SubmittedOn = SubmittedOn; + this.UpdateDate = UpdateDate; + this.type = 1419761937; + } + } + IFC4X32.IfcCostSchedule = IfcCostSchedule; + class IfcCourseType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4189326743; + } + } + IFC4X32.IfcCourseType = IfcCourseType; + class IfcCoveringType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1916426348; + } + } + IFC4X32.IfcCoveringType = IfcCoveringType; + class IfcCrewResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 3295246426; + } + } + IFC4X32.IfcCrewResource = IfcCrewResource; + class IfcCurtainWallType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1457835157; + } + } + IFC4X32.IfcCurtainWallType = IfcCurtainWallType; + class IfcCylindricalSurface extends IfcElementarySurface { + constructor(expressID, Position, Radius) { + super(expressID, Position); + this.Position = Position; + this.Radius = Radius; + this.type = 1213902940; + } + } + IFC4X32.IfcCylindricalSurface = IfcCylindricalSurface; + class IfcDeepFoundationType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1306400036; + } + } + IFC4X32.IfcDeepFoundationType = IfcDeepFoundationType; + class IfcDirectrixDerivedReferenceSweptAreaSolid extends IfcFixedReferenceSweptAreaSolid { + constructor(expressID, SweptArea, Position, Directrix, StartParam, EndParam, FixedReference) { + super(expressID, SweptArea, Position, Directrix, StartParam, EndParam, FixedReference); + this.SweptArea = SweptArea; + this.Position = Position; + this.Directrix = Directrix; + this.StartParam = StartParam; + this.EndParam = EndParam; + this.FixedReference = FixedReference; + this.type = 4234616927; + } + } + IFC4X32.IfcDirectrixDerivedReferenceSweptAreaSolid = IfcDirectrixDerivedReferenceSweptAreaSolid; + class IfcDistributionElementType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3256556792; + } + } + IFC4X32.IfcDistributionElementType = IfcDistributionElementType; + class IfcDistributionFlowElementType extends IfcDistributionElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3849074793; + } + } + IFC4X32.IfcDistributionFlowElementType = IfcDistributionFlowElementType; + class IfcDoorLiningProperties extends IfcPreDefinedPropertySet { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, ThresholdDepth, ThresholdThickness, TransomThickness, TransomOffset, LiningOffset, ThresholdOffset, CasingThickness, CasingDepth, ShapeAspectStyle, LiningToPanelOffsetX, LiningToPanelOffsetY) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.LiningDepth = LiningDepth; + this.LiningThickness = LiningThickness; + this.ThresholdDepth = ThresholdDepth; + this.ThresholdThickness = ThresholdThickness; + this.TransomThickness = TransomThickness; + this.TransomOffset = TransomOffset; + this.LiningOffset = LiningOffset; + this.ThresholdOffset = ThresholdOffset; + this.CasingThickness = CasingThickness; + this.CasingDepth = CasingDepth; + this.ShapeAspectStyle = ShapeAspectStyle; + this.LiningToPanelOffsetX = LiningToPanelOffsetX; + this.LiningToPanelOffsetY = LiningToPanelOffsetY; + this.type = 2963535650; + } + } + IFC4X32.IfcDoorLiningProperties = IfcDoorLiningProperties; + class IfcDoorPanelProperties extends IfcPreDefinedPropertySet { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, PanelDepth, PanelOperation, PanelWidth, PanelPosition, ShapeAspectStyle) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.PanelDepth = PanelDepth; + this.PanelOperation = PanelOperation; + this.PanelWidth = PanelWidth; + this.PanelPosition = PanelPosition; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 1714330368; + } + } + IFC4X32.IfcDoorPanelProperties = IfcDoorPanelProperties; + class IfcDoorType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, OperationType, ParameterTakesPrecedence, UserDefinedOperationType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.OperationType = OperationType; + this.ParameterTakesPrecedence = ParameterTakesPrecedence; + this.UserDefinedOperationType = UserDefinedOperationType; + this.type = 2323601079; + } + } + IFC4X32.IfcDoorType = IfcDoorType; + class IfcDraughtingPreDefinedColour extends IfcPreDefinedColour { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 445594917; + } + } + IFC4X32.IfcDraughtingPreDefinedColour = IfcDraughtingPreDefinedColour; + class IfcDraughtingPreDefinedCurveFont extends IfcPreDefinedCurveFont { + constructor(expressID, Name) { + super(expressID, Name); + this.Name = Name; + this.type = 4006246654; + } + } + IFC4X32.IfcDraughtingPreDefinedCurveFont = IfcDraughtingPreDefinedCurveFont; + class IfcElement extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1758889154; + } + } + IFC4X32.IfcElement = IfcElement; + class IfcElementAssembly extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, AssemblyPlace, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.AssemblyPlace = AssemblyPlace; + this.PredefinedType = PredefinedType; + this.type = 4123344466; + } + } + IFC4X32.IfcElementAssembly = IfcElementAssembly; + class IfcElementAssemblyType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2397081782; + } + } + IFC4X32.IfcElementAssemblyType = IfcElementAssemblyType; + class IfcElementComponent extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1623761950; + } + } + IFC4X32.IfcElementComponent = IfcElementComponent; + class IfcElementComponentType extends IfcElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2590856083; + } + } + IFC4X32.IfcElementComponentType = IfcElementComponentType; + class IfcEllipse extends IfcConic { + constructor(expressID, Position, SemiAxis1, SemiAxis2) { + super(expressID, Position); + this.Position = Position; + this.SemiAxis1 = SemiAxis1; + this.SemiAxis2 = SemiAxis2; + this.type = 1704287377; + } + } + IFC4X32.IfcEllipse = IfcEllipse; + class IfcEnergyConversionDeviceType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2107101300; + } + } + IFC4X32.IfcEnergyConversionDeviceType = IfcEnergyConversionDeviceType; + class IfcEngineType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 132023988; + } + } + IFC4X32.IfcEngineType = IfcEngineType; + class IfcEvaporativeCoolerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3174744832; + } + } + IFC4X32.IfcEvaporativeCoolerType = IfcEvaporativeCoolerType; + class IfcEvaporatorType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3390157468; + } + } + IFC4X32.IfcEvaporatorType = IfcEvaporatorType; + class IfcEvent extends IfcProcess { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, PredefinedType, EventTriggerType, UserDefinedEventTriggerType, EventOccurenceTime) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.PredefinedType = PredefinedType; + this.EventTriggerType = EventTriggerType; + this.UserDefinedEventTriggerType = UserDefinedEventTriggerType; + this.EventOccurenceTime = EventOccurenceTime; + this.type = 4148101412; + } + } + IFC4X32.IfcEvent = IfcEvent; + class IfcExternalSpatialStructureElement extends IfcSpatialElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.type = 2853485674; + } + } + IFC4X32.IfcExternalSpatialStructureElement = IfcExternalSpatialStructureElement; + class IfcFacetedBrep extends IfcManifoldSolidBrep { + constructor(expressID, Outer) { + super(expressID, Outer); + this.Outer = Outer; + this.type = 807026263; + } + } + IFC4X32.IfcFacetedBrep = IfcFacetedBrep; + class IfcFacetedBrepWithVoids extends IfcFacetedBrep { + constructor(expressID, Outer, Voids) { + super(expressID, Outer); + this.Outer = Outer; + this.Voids = Voids; + this.type = 3737207727; + } + } + IFC4X32.IfcFacetedBrepWithVoids = IfcFacetedBrepWithVoids; + class IfcFacility extends IfcSpatialStructureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.type = 24185140; + } + } + IFC4X32.IfcFacility = IfcFacility; + class IfcFacilityPart extends IfcSpatialStructureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.UsageType = UsageType; + this.type = 1310830890; + } + } + IFC4X32.IfcFacilityPart = IfcFacilityPart; + class IfcFacilityPartCommon extends IfcFacilityPart { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.UsageType = UsageType; + this.PredefinedType = PredefinedType; + this.type = 4228831410; + } + } + IFC4X32.IfcFacilityPartCommon = IfcFacilityPartCommon; + class IfcFastener extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 647756555; + } + } + IFC4X32.IfcFastener = IfcFastener; + class IfcFastenerType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2489546625; + } + } + IFC4X32.IfcFastenerType = IfcFastenerType; + class IfcFeatureElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2827207264; + } + } + IFC4X32.IfcFeatureElement = IfcFeatureElement; + class IfcFeatureElementAddition extends IfcFeatureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2143335405; + } + } + IFC4X32.IfcFeatureElementAddition = IfcFeatureElementAddition; + class IfcFeatureElementSubtraction extends IfcFeatureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1287392070; + } + } + IFC4X32.IfcFeatureElementSubtraction = IfcFeatureElementSubtraction; + class IfcFlowControllerType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3907093117; + } + } + IFC4X32.IfcFlowControllerType = IfcFlowControllerType; + class IfcFlowFittingType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3198132628; + } + } + IFC4X32.IfcFlowFittingType = IfcFlowFittingType; + class IfcFlowMeterType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3815607619; + } + } + IFC4X32.IfcFlowMeterType = IfcFlowMeterType; + class IfcFlowMovingDeviceType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1482959167; + } + } + IFC4X32.IfcFlowMovingDeviceType = IfcFlowMovingDeviceType; + class IfcFlowSegmentType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1834744321; + } + } + IFC4X32.IfcFlowSegmentType = IfcFlowSegmentType; + class IfcFlowStorageDeviceType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 1339347760; + } + } + IFC4X32.IfcFlowStorageDeviceType = IfcFlowStorageDeviceType; + class IfcFlowTerminalType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2297155007; + } + } + IFC4X32.IfcFlowTerminalType = IfcFlowTerminalType; + class IfcFlowTreatmentDeviceType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 3009222698; + } + } + IFC4X32.IfcFlowTreatmentDeviceType = IfcFlowTreatmentDeviceType; + class IfcFootingType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1893162501; + } + } + IFC4X32.IfcFootingType = IfcFootingType; + class IfcFurnishingElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 263784265; + } + } + IFC4X32.IfcFurnishingElement = IfcFurnishingElement; + class IfcFurniture extends IfcFurnishingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1509553395; + } + } + IFC4X32.IfcFurniture = IfcFurniture; + class IfcGeographicElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3493046030; + } + } + IFC4X32.IfcGeographicElement = IfcGeographicElement; + class IfcGeotechnicalElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 4230923436; + } + } + IFC4X32.IfcGeotechnicalElement = IfcGeotechnicalElement; + class IfcGeotechnicalStratum extends IfcGeotechnicalElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1594536857; + } + } + IFC4X32.IfcGeotechnicalStratum = IfcGeotechnicalStratum; + class IfcGradientCurve extends IfcCompositeCurve { + constructor(expressID, Segments, SelfIntersect, BaseCurve, EndPoint) { + super(expressID, Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.BaseCurve = BaseCurve; + this.EndPoint = EndPoint; + this.type = 2898700619; + } + } + IFC4X32.IfcGradientCurve = IfcGradientCurve; + class IfcGroup extends IfcObject { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2706460486; + } + } + IFC4X32.IfcGroup = IfcGroup; + class IfcHeatExchangerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1251058090; + } + } + IFC4X32.IfcHeatExchangerType = IfcHeatExchangerType; + class IfcHumidifierType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1806887404; + } + } + IFC4X32.IfcHumidifierType = IfcHumidifierType; + class IfcImpactProtectionDevice extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2568555532; + } + } + IFC4X32.IfcImpactProtectionDevice = IfcImpactProtectionDevice; + class IfcImpactProtectionDeviceType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3948183225; + } + } + IFC4X32.IfcImpactProtectionDeviceType = IfcImpactProtectionDeviceType; + class IfcIndexedPolyCurve extends IfcBoundedCurve { + constructor(expressID, Points, Segments, SelfIntersect) { + super(expressID); + this.Points = Points; + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 2571569899; + } + } + IFC4X32.IfcIndexedPolyCurve = IfcIndexedPolyCurve; + class IfcInterceptorType extends IfcFlowTreatmentDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3946677679; + } + } + IFC4X32.IfcInterceptorType = IfcInterceptorType; + class IfcIntersectionCurve extends IfcSurfaceCurve { + constructor(expressID, Curve3D, AssociatedGeometry, MasterRepresentation) { + super(expressID, Curve3D, AssociatedGeometry, MasterRepresentation); + this.Curve3D = Curve3D; + this.AssociatedGeometry = AssociatedGeometry; + this.MasterRepresentation = MasterRepresentation; + this.type = 3113134337; + } + } + IFC4X32.IfcIntersectionCurve = IfcIntersectionCurve; + class IfcInventory extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, Jurisdiction, ResponsiblePersons, LastUpdateDate, CurrentValue, OriginalValue) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.Jurisdiction = Jurisdiction; + this.ResponsiblePersons = ResponsiblePersons; + this.LastUpdateDate = LastUpdateDate; + this.CurrentValue = CurrentValue; + this.OriginalValue = OriginalValue; + this.type = 2391368822; + } + } + IFC4X32.IfcInventory = IfcInventory; + class IfcJunctionBoxType extends IfcFlowFittingType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4288270099; + } + } + IFC4X32.IfcJunctionBoxType = IfcJunctionBoxType; + class IfcKerbType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, Mountable) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.Mountable = Mountable; + this.type = 679976338; + } + } + IFC4X32.IfcKerbType = IfcKerbType; + class IfcLaborResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 3827777499; + } + } + IFC4X32.IfcLaborResource = IfcLaborResource; + class IfcLampType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1051575348; + } + } + IFC4X32.IfcLampType = IfcLampType; + class IfcLightFixtureType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1161773419; + } + } + IFC4X32.IfcLightFixtureType = IfcLightFixtureType; + class IfcLinearElement extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 2176059722; + } + } + IFC4X32.IfcLinearElement = IfcLinearElement; + class IfcLiquidTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1770583370; + } + } + IFC4X32.IfcLiquidTerminalType = IfcLiquidTerminalType; + class IfcMarineFacility extends IfcFacility { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.PredefinedType = PredefinedType; + this.type = 525669439; + } + } + IFC4X32.IfcMarineFacility = IfcMarineFacility; + class IfcMarinePart extends IfcFacilityPart { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.UsageType = UsageType; + this.PredefinedType = PredefinedType; + this.type = 976884017; + } + } + IFC4X32.IfcMarinePart = IfcMarinePart; + class IfcMechanicalFastener extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NominalDiameter, NominalLength, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.NominalDiameter = NominalDiameter; + this.NominalLength = NominalLength; + this.PredefinedType = PredefinedType; + this.type = 377706215; + } + } + IFC4X32.IfcMechanicalFastener = IfcMechanicalFastener; + class IfcMechanicalFastenerType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, NominalLength) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.NominalLength = NominalLength; + this.type = 2108223431; + } + } + IFC4X32.IfcMechanicalFastenerType = IfcMechanicalFastenerType; + class IfcMedicalDeviceType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1114901282; + } + } + IFC4X32.IfcMedicalDeviceType = IfcMedicalDeviceType; + class IfcMemberType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3181161470; + } + } + IFC4X32.IfcMemberType = IfcMemberType; + class IfcMobileTelecommunicationsApplianceType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1950438474; + } + } + IFC4X32.IfcMobileTelecommunicationsApplianceType = IfcMobileTelecommunicationsApplianceType; + class IfcMooringDeviceType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 710110818; + } + } + IFC4X32.IfcMooringDeviceType = IfcMooringDeviceType; + class IfcMotorConnectionType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 977012517; + } + } + IFC4X32.IfcMotorConnectionType = IfcMotorConnectionType; + class IfcNavigationElementType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 506776471; + } + } + IFC4X32.IfcNavigationElementType = IfcNavigationElementType; + class IfcOccupant extends IfcActor { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheActor = TheActor; + this.PredefinedType = PredefinedType; + this.type = 4143007308; + } + } + IFC4X32.IfcOccupant = IfcOccupant; + class IfcOpeningElement extends IfcFeatureElementSubtraction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3588315303; + } + } + IFC4X32.IfcOpeningElement = IfcOpeningElement; + class IfcOutletType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2837617999; + } + } + IFC4X32.IfcOutletType = IfcOutletType; + class IfcPavementType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 514975943; + } + } + IFC4X32.IfcPavementType = IfcPavementType; + class IfcPerformanceHistory extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LifeCyclePhase, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LifeCyclePhase = LifeCyclePhase; + this.PredefinedType = PredefinedType; + this.type = 2382730787; + } + } + IFC4X32.IfcPerformanceHistory = IfcPerformanceHistory; + class IfcPermeableCoveringProperties extends IfcPreDefinedPropertySet { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.OperationType = OperationType; + this.PanelPosition = PanelPosition; + this.FrameDepth = FrameDepth; + this.FrameThickness = FrameThickness; + this.ShapeAspectStyle = ShapeAspectStyle; + this.type = 3566463478; + } + } + IFC4X32.IfcPermeableCoveringProperties = IfcPermeableCoveringProperties; + class IfcPermit extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.LongDescription = LongDescription; + this.type = 3327091369; + } + } + IFC4X32.IfcPermit = IfcPermit; + class IfcPileType extends IfcDeepFoundationType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1158309216; + } + } + IFC4X32.IfcPileType = IfcPileType; + class IfcPipeFittingType extends IfcFlowFittingType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 804291784; + } + } + IFC4X32.IfcPipeFittingType = IfcPipeFittingType; + class IfcPipeSegmentType extends IfcFlowSegmentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4231323485; + } + } + IFC4X32.IfcPipeSegmentType = IfcPipeSegmentType; + class IfcPlateType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4017108033; + } + } + IFC4X32.IfcPlateType = IfcPlateType; + class IfcPolygonalFaceSet extends IfcTessellatedFaceSet { + constructor(expressID, Coordinates, Closed, Faces, PnIndex) { + super(expressID, Coordinates, Closed); + this.Coordinates = Coordinates; + this.Closed = Closed; + this.Faces = Faces; + this.PnIndex = PnIndex; + this.type = 2839578677; + } + } + IFC4X32.IfcPolygonalFaceSet = IfcPolygonalFaceSet; + class IfcPolyline extends IfcBoundedCurve { + constructor(expressID, Points) { + super(expressID); + this.Points = Points; + this.type = 3724593414; + } + } + IFC4X32.IfcPolyline = IfcPolyline; + class IfcPort extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 3740093272; + } + } + IFC4X32.IfcPort = IfcPort; + class IfcPositioningElement extends IfcProduct { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 1946335990; + } + } + IFC4X32.IfcPositioningElement = IfcPositioningElement; + class IfcProcedure extends IfcProcess { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.PredefinedType = PredefinedType; + this.type = 2744685151; + } + } + IFC4X32.IfcProcedure = IfcProcedure; + class IfcProjectOrder extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.LongDescription = LongDescription; + this.type = 2904328755; + } + } + IFC4X32.IfcProjectOrder = IfcProjectOrder; + class IfcProjectionElement extends IfcFeatureElementAddition { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3651124850; + } + } + IFC4X32.IfcProjectionElement = IfcProjectionElement; + class IfcProtectiveDeviceType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1842657554; + } + } + IFC4X32.IfcProtectiveDeviceType = IfcProtectiveDeviceType; + class IfcPumpType extends IfcFlowMovingDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2250791053; + } + } + IFC4X32.IfcPumpType = IfcPumpType; + class IfcRailType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1763565496; + } + } + IFC4X32.IfcRailType = IfcRailType; + class IfcRailingType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2893384427; + } + } + IFC4X32.IfcRailingType = IfcRailingType; + class IfcRailway extends IfcFacility { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.PredefinedType = PredefinedType; + this.type = 3992365140; + } + } + IFC4X32.IfcRailway = IfcRailway; + class IfcRailwayPart extends IfcFacilityPart { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.UsageType = UsageType; + this.PredefinedType = PredefinedType; + this.type = 1891881377; + } + } + IFC4X32.IfcRailwayPart = IfcRailwayPart; + class IfcRampFlightType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2324767716; + } + } + IFC4X32.IfcRampFlightType = IfcRampFlightType; + class IfcRampType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1469900589; + } + } + IFC4X32.IfcRampType = IfcRampType; + class IfcRationalBSplineSurfaceWithKnots extends IfcBSplineSurfaceWithKnots { + constructor(expressID, UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec, WeightsData) { + super(expressID, UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec); + this.UDegree = UDegree; + this.VDegree = VDegree; + this.ControlPointsList = ControlPointsList; + this.SurfaceForm = SurfaceForm; + this.UClosed = UClosed; + this.VClosed = VClosed; + this.SelfIntersect = SelfIntersect; + this.UMultiplicities = UMultiplicities; + this.VMultiplicities = VMultiplicities; + this.UKnots = UKnots; + this.VKnots = VKnots; + this.KnotSpec = KnotSpec; + this.WeightsData = WeightsData; + this.type = 683857671; + } + } + IFC4X32.IfcRationalBSplineSurfaceWithKnots = IfcRationalBSplineSurfaceWithKnots; + class IfcReferent extends IfcPositioningElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.type = 4021432810; + } + } + IFC4X32.IfcReferent = IfcReferent; + class IfcReinforcingElement extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.type = 3027567501; + } + } + IFC4X32.IfcReinforcingElement = IfcReinforcingElement; + class IfcReinforcingElementType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 964333572; + } + } + IFC4X32.IfcReinforcingElementType = IfcReinforcingElementType; + class IfcReinforcingMesh extends IfcReinforcingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.MeshLength = MeshLength; + this.MeshWidth = MeshWidth; + this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter; + this.TransverseBarNominalDiameter = TransverseBarNominalDiameter; + this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea; + this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea; + this.LongitudinalBarSpacing = LongitudinalBarSpacing; + this.TransverseBarSpacing = TransverseBarSpacing; + this.PredefinedType = PredefinedType; + this.type = 2320036040; + } + } + IFC4X32.IfcReinforcingMesh = IfcReinforcingMesh; + class IfcReinforcingMeshType extends IfcReinforcingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing, BendingShapeCode, BendingParameters) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.MeshLength = MeshLength; + this.MeshWidth = MeshWidth; + this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter; + this.TransverseBarNominalDiameter = TransverseBarNominalDiameter; + this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea; + this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea; + this.LongitudinalBarSpacing = LongitudinalBarSpacing; + this.TransverseBarSpacing = TransverseBarSpacing; + this.BendingShapeCode = BendingShapeCode; + this.BendingParameters = BendingParameters; + this.type = 2310774935; + } + } + IFC4X32.IfcReinforcingMeshType = IfcReinforcingMeshType; + class IfcRelAdheresToElement extends IfcRelDecomposes { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedSurfaceFeatures) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingElement = RelatingElement; + this.RelatedSurfaceFeatures = RelatedSurfaceFeatures; + this.type = 3818125796; + } + } + IFC4X32.IfcRelAdheresToElement = IfcRelAdheresToElement; + class IfcRelAggregates extends IfcRelDecomposes { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) { + super(expressID, GlobalId, OwnerHistory, Name, Description); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.RelatingObject = RelatingObject; + this.RelatedObjects = RelatedObjects; + this.type = 160246688; + } + } + IFC4X32.IfcRelAggregates = IfcRelAggregates; + class IfcRoad extends IfcFacility { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.PredefinedType = PredefinedType; + this.type = 146592293; + } + } + IFC4X32.IfcRoad = IfcRoad; + class IfcRoadPart extends IfcFacilityPart { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.UsageType = UsageType; + this.PredefinedType = PredefinedType; + this.type = 550521510; + } + } + IFC4X32.IfcRoadPart = IfcRoadPart; + class IfcRoofType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2781568857; + } + } + IFC4X32.IfcRoofType = IfcRoofType; + class IfcSanitaryTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1768891740; + } + } + IFC4X32.IfcSanitaryTerminalType = IfcSanitaryTerminalType; + class IfcSeamCurve extends IfcSurfaceCurve { + constructor(expressID, Curve3D, AssociatedGeometry, MasterRepresentation) { + super(expressID, Curve3D, AssociatedGeometry, MasterRepresentation); + this.Curve3D = Curve3D; + this.AssociatedGeometry = AssociatedGeometry; + this.MasterRepresentation = MasterRepresentation; + this.type = 2157484638; + } + } + IFC4X32.IfcSeamCurve = IfcSeamCurve; + class IfcSecondOrderPolynomialSpiral extends IfcSpiral { + constructor(expressID, Position, QuadraticTerm, LinearTerm, ConstantTerm) { + super(expressID, Position); + this.Position = Position; + this.QuadraticTerm = QuadraticTerm; + this.LinearTerm = LinearTerm; + this.ConstantTerm = ConstantTerm; + this.type = 3649235739; + } + } + IFC4X32.IfcSecondOrderPolynomialSpiral = IfcSecondOrderPolynomialSpiral; + class IfcSegmentedReferenceCurve extends IfcCompositeCurve { + constructor(expressID, Segments, SelfIntersect, BaseCurve, EndPoint) { + super(expressID, Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.BaseCurve = BaseCurve; + this.EndPoint = EndPoint; + this.type = 544395925; + } + } + IFC4X32.IfcSegmentedReferenceCurve = IfcSegmentedReferenceCurve; + class IfcSeventhOrderPolynomialSpiral extends IfcSpiral { + constructor(expressID, Position, SepticTerm, SexticTerm, QuinticTerm, QuarticTerm, CubicTerm, QuadraticTerm, LinearTerm, ConstantTerm) { + super(expressID, Position); + this.Position = Position; + this.SepticTerm = SepticTerm; + this.SexticTerm = SexticTerm; + this.QuinticTerm = QuinticTerm; + this.QuarticTerm = QuarticTerm; + this.CubicTerm = CubicTerm; + this.QuadraticTerm = QuadraticTerm; + this.LinearTerm = LinearTerm; + this.ConstantTerm = ConstantTerm; + this.type = 1027922057; + } + } + IFC4X32.IfcSeventhOrderPolynomialSpiral = IfcSeventhOrderPolynomialSpiral; + class IfcShadingDeviceType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4074543187; + } + } + IFC4X32.IfcShadingDeviceType = IfcShadingDeviceType; + class IfcSign extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 33720170; + } + } + IFC4X32.IfcSign = IfcSign; + class IfcSignType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3599934289; + } + } + IFC4X32.IfcSignType = IfcSignType; + class IfcSignalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1894708472; + } + } + IFC4X32.IfcSignalType = IfcSignalType; + class IfcSineSpiral extends IfcSpiral { + constructor(expressID, Position, SineTerm, LinearTerm, ConstantTerm) { + super(expressID, Position); + this.Position = Position; + this.SineTerm = SineTerm; + this.LinearTerm = LinearTerm; + this.ConstantTerm = ConstantTerm; + this.type = 42703149; + } + } + IFC4X32.IfcSineSpiral = IfcSineSpiral; + class IfcSite extends IfcSpatialStructureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, RefLatitude, RefLongitude, RefElevation, LandTitleNumber, SiteAddress) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.RefLatitude = RefLatitude; + this.RefLongitude = RefLongitude; + this.RefElevation = RefElevation; + this.LandTitleNumber = LandTitleNumber; + this.SiteAddress = SiteAddress; + this.type = 4097777520; + } + } + IFC4X32.IfcSite = IfcSite; + class IfcSlabType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2533589738; + } + } + IFC4X32.IfcSlabType = IfcSlabType; + class IfcSolarDeviceType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1072016465; + } + } + IFC4X32.IfcSolarDeviceType = IfcSolarDeviceType; + class IfcSpace extends IfcSpatialStructureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType, ElevationWithFlooring) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.PredefinedType = PredefinedType; + this.ElevationWithFlooring = ElevationWithFlooring; + this.type = 3856911033; + } + } + IFC4X32.IfcSpace = IfcSpace; + class IfcSpaceHeaterType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1305183839; + } + } + IFC4X32.IfcSpaceHeaterType = IfcSpaceHeaterType; + class IfcSpaceType extends IfcSpatialStructureElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, LongName) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.LongName = LongName; + this.type = 3812236995; + } + } + IFC4X32.IfcSpaceType = IfcSpaceType; + class IfcStackTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3112655638; + } + } + IFC4X32.IfcStackTerminalType = IfcStackTerminalType; + class IfcStairFlightType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1039846685; + } + } + IFC4X32.IfcStairFlightType = IfcStairFlightType; + class IfcStairType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 338393293; + } + } + IFC4X32.IfcStairType = IfcStairType; + class IfcStructuralAction extends IfcStructuralActivity { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.type = 682877961; + } + } + IFC4X32.IfcStructuralAction = IfcStructuralAction; + class IfcStructuralConnection extends IfcStructuralItem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.type = 1179482911; + } + } + IFC4X32.IfcStructuralConnection = IfcStructuralConnection; + class IfcStructuralCurveAction extends IfcStructuralAction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.ProjectedOrTrue = ProjectedOrTrue; + this.PredefinedType = PredefinedType; + this.type = 1004757350; + } + } + IFC4X32.IfcStructuralCurveAction = IfcStructuralCurveAction; + class IfcStructuralCurveConnection extends IfcStructuralConnection { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition, AxisDirection) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.AxisDirection = AxisDirection; + this.type = 4243806635; + } + } + IFC4X32.IfcStructuralCurveConnection = IfcStructuralCurveConnection; + class IfcStructuralCurveMember extends IfcStructuralMember { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Axis = Axis; + this.type = 214636428; + } + } + IFC4X32.IfcStructuralCurveMember = IfcStructuralCurveMember; + class IfcStructuralCurveMemberVarying extends IfcStructuralCurveMember { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.Axis = Axis; + this.type = 2445595289; + } + } + IFC4X32.IfcStructuralCurveMemberVarying = IfcStructuralCurveMemberVarying; + class IfcStructuralCurveReaction extends IfcStructuralReaction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.PredefinedType = PredefinedType; + this.type = 2757150158; + } + } + IFC4X32.IfcStructuralCurveReaction = IfcStructuralCurveReaction; + class IfcStructuralLinearAction extends IfcStructuralCurveAction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.ProjectedOrTrue = ProjectedOrTrue; + this.PredefinedType = PredefinedType; + this.type = 1807405624; + } + } + IFC4X32.IfcStructuralLinearAction = IfcStructuralLinearAction; + class IfcStructuralLoadGroup extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.ActionType = ActionType; + this.ActionSource = ActionSource; + this.Coefficient = Coefficient; + this.Purpose = Purpose; + this.type = 1252848954; + } + } + IFC4X32.IfcStructuralLoadGroup = IfcStructuralLoadGroup; + class IfcStructuralPointAction extends IfcStructuralAction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.type = 2082059205; + } + } + IFC4X32.IfcStructuralPointAction = IfcStructuralPointAction; + class IfcStructuralPointConnection extends IfcStructuralConnection { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition, ConditionCoordinateSystem) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.ConditionCoordinateSystem = ConditionCoordinateSystem; + this.type = 734778138; + } + } + IFC4X32.IfcStructuralPointConnection = IfcStructuralPointConnection; + class IfcStructuralPointReaction extends IfcStructuralReaction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.type = 1235345126; + } + } + IFC4X32.IfcStructuralPointReaction = IfcStructuralPointReaction; + class IfcStructuralResultGroup extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, TheoryType, ResultForLoadGroup, IsLinear) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.TheoryType = TheoryType; + this.ResultForLoadGroup = ResultForLoadGroup; + this.IsLinear = IsLinear; + this.type = 2986769608; + } + } + IFC4X32.IfcStructuralResultGroup = IfcStructuralResultGroup; + class IfcStructuralSurfaceAction extends IfcStructuralAction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.ProjectedOrTrue = ProjectedOrTrue; + this.PredefinedType = PredefinedType; + this.type = 3657597509; + } + } + IFC4X32.IfcStructuralSurfaceAction = IfcStructuralSurfaceAction; + class IfcStructuralSurfaceConnection extends IfcStructuralConnection { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedCondition = AppliedCondition; + this.type = 1975003073; + } + } + IFC4X32.IfcStructuralSurfaceConnection = IfcStructuralSurfaceConnection; + class IfcSubContractResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 148013059; + } + } + IFC4X32.IfcSubContractResource = IfcSubContractResource; + class IfcSurfaceFeature extends IfcFeatureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3101698114; + } + } + IFC4X32.IfcSurfaceFeature = IfcSurfaceFeature; + class IfcSwitchingDeviceType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2315554128; + } + } + IFC4X32.IfcSwitchingDeviceType = IfcSwitchingDeviceType; + class IfcSystem extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.type = 2254336722; + } + } + IFC4X32.IfcSystem = IfcSystem; + class IfcSystemFurnitureElement extends IfcFurnishingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 413509423; + } + } + IFC4X32.IfcSystemFurnitureElement = IfcSystemFurnitureElement; + class IfcTankType extends IfcFlowStorageDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 5716631; + } + } + IFC4X32.IfcTankType = IfcTankType; + class IfcTendon extends IfcReinforcingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType, NominalDiameter, CrossSectionArea, TensionForce, PreStress, FrictionCoefficient, AnchorageSlip, MinCurvatureRadius) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.TensionForce = TensionForce; + this.PreStress = PreStress; + this.FrictionCoefficient = FrictionCoefficient; + this.AnchorageSlip = AnchorageSlip; + this.MinCurvatureRadius = MinCurvatureRadius; + this.type = 3824725483; + } + } + IFC4X32.IfcTendon = IfcTendon; + class IfcTendonAnchor extends IfcReinforcingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.PredefinedType = PredefinedType; + this.type = 2347447852; + } + } + IFC4X32.IfcTendonAnchor = IfcTendonAnchor; + class IfcTendonAnchorType extends IfcReinforcingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3081323446; + } + } + IFC4X32.IfcTendonAnchorType = IfcTendonAnchorType; + class IfcTendonConduit extends IfcReinforcingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.PredefinedType = PredefinedType; + this.type = 3663046924; + } + } + IFC4X32.IfcTendonConduit = IfcTendonConduit; + class IfcTendonConduitType extends IfcReinforcingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2281632017; + } + } + IFC4X32.IfcTendonConduitType = IfcTendonConduitType; + class IfcTendonType extends IfcReinforcingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, CrossSectionArea, SheathDiameter) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.SheathDiameter = SheathDiameter; + this.type = 2415094496; + } + } + IFC4X32.IfcTendonType = IfcTendonType; + class IfcTrackElementType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 618700268; + } + } + IFC4X32.IfcTrackElementType = IfcTrackElementType; + class IfcTransformerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1692211062; + } + } + IFC4X32.IfcTransformerType = IfcTransformerType; + class IfcTransportElementType extends IfcTransportationDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2097647324; + } + } + IFC4X32.IfcTransportElementType = IfcTransportElementType; + class IfcTransportationDevice extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1953115116; + } + } + IFC4X32.IfcTransportationDevice = IfcTransportationDevice; + class IfcTrimmedCurve extends IfcBoundedCurve { + constructor(expressID, BasisCurve, Trim1, Trim2, SenseAgreement, MasterRepresentation) { + super(expressID); + this.BasisCurve = BasisCurve; + this.Trim1 = Trim1; + this.Trim2 = Trim2; + this.SenseAgreement = SenseAgreement; + this.MasterRepresentation = MasterRepresentation; + this.type = 3593883385; + } + } + IFC4X32.IfcTrimmedCurve = IfcTrimmedCurve; + class IfcTubeBundleType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1600972822; + } + } + IFC4X32.IfcTubeBundleType = IfcTubeBundleType; + class IfcUnitaryEquipmentType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1911125066; + } + } + IFC4X32.IfcUnitaryEquipmentType = IfcUnitaryEquipmentType; + class IfcValveType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 728799441; + } + } + IFC4X32.IfcValveType = IfcValveType; + class IfcVehicle extends IfcTransportationDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 840318589; + } + } + IFC4X32.IfcVehicle = IfcVehicle; + class IfcVibrationDamper extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1530820697; + } + } + IFC4X32.IfcVibrationDamper = IfcVibrationDamper; + class IfcVibrationDamperType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3956297820; + } + } + IFC4X32.IfcVibrationDamperType = IfcVibrationDamperType; + class IfcVibrationIsolator extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2391383451; + } + } + IFC4X32.IfcVibrationIsolator = IfcVibrationIsolator; + class IfcVibrationIsolatorType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3313531582; + } + } + IFC4X32.IfcVibrationIsolatorType = IfcVibrationIsolatorType; + class IfcVirtualElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2769231204; + } + } + IFC4X32.IfcVirtualElement = IfcVirtualElement; + class IfcVoidingFeature extends IfcFeatureElementSubtraction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 926996030; + } + } + IFC4X32.IfcVoidingFeature = IfcVoidingFeature; + class IfcWallType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1898987631; + } + } + IFC4X32.IfcWallType = IfcWallType; + class IfcWasteTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1133259667; + } + } + IFC4X32.IfcWasteTerminalType = IfcWasteTerminalType; + class IfcWindowType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, PartitioningType, ParameterTakesPrecedence, UserDefinedPartitioningType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.PartitioningType = PartitioningType; + this.ParameterTakesPrecedence = ParameterTakesPrecedence; + this.UserDefinedPartitioningType = UserDefinedPartitioningType; + this.type = 4009809668; + } + } + IFC4X32.IfcWindowType = IfcWindowType; + class IfcWorkCalendar extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, WorkingTimes, ExceptionTimes, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.WorkingTimes = WorkingTimes; + this.ExceptionTimes = ExceptionTimes; + this.PredefinedType = PredefinedType; + this.type = 4088093105; + } + } + IFC4X32.IfcWorkCalendar = IfcWorkCalendar; + class IfcWorkControl extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.type = 1028945134; + } + } + IFC4X32.IfcWorkControl = IfcWorkControl; + class IfcWorkPlan extends IfcWorkControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.PredefinedType = PredefinedType; + this.type = 4218914973; + } + } + IFC4X32.IfcWorkPlan = IfcWorkPlan; + class IfcWorkSchedule extends IfcWorkControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.CreationDate = CreationDate; + this.Creators = Creators; + this.Purpose = Purpose; + this.Duration = Duration; + this.TotalFloat = TotalFloat; + this.StartTime = StartTime; + this.FinishTime = FinishTime; + this.PredefinedType = PredefinedType; + this.type = 3342526732; + } + } + IFC4X32.IfcWorkSchedule = IfcWorkSchedule; + class IfcZone extends IfcSystem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.type = 1033361043; + } + } + IFC4X32.IfcZone = IfcZone; + class IfcActionRequest extends IfcControl { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.PredefinedType = PredefinedType; + this.Status = Status; + this.LongDescription = LongDescription; + this.type = 3821786052; + } + } + IFC4X32.IfcActionRequest = IfcActionRequest; + class IfcAirTerminalBoxType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1411407467; + } + } + IFC4X32.IfcAirTerminalBoxType = IfcAirTerminalBoxType; + class IfcAirTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3352864051; + } + } + IFC4X32.IfcAirTerminalType = IfcAirTerminalType; + class IfcAirToAirHeatRecoveryType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1871374353; + } + } + IFC4X32.IfcAirToAirHeatRecoveryType = IfcAirToAirHeatRecoveryType; + class IfcAlignmentCant extends IfcLinearElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, RailHeadDistance) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.RailHeadDistance = RailHeadDistance; + this.type = 4266260250; + } + } + IFC4X32.IfcAlignmentCant = IfcAlignmentCant; + class IfcAlignmentHorizontal extends IfcLinearElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 1545765605; + } + } + IFC4X32.IfcAlignmentHorizontal = IfcAlignmentHorizontal; + class IfcAlignmentSegment extends IfcLinearElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, DesignParameters) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.DesignParameters = DesignParameters; + this.type = 317615605; + } + } + IFC4X32.IfcAlignmentSegment = IfcAlignmentSegment; + class IfcAlignmentVertical extends IfcLinearElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 1662888072; + } + } + IFC4X32.IfcAlignmentVertical = IfcAlignmentVertical; + class IfcAsset extends IfcGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, OriginalValue, CurrentValue, TotalReplacementCost, Owner, User, ResponsiblePerson, IncorporationDate, DepreciatedValue) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.OriginalValue = OriginalValue; + this.CurrentValue = CurrentValue; + this.TotalReplacementCost = TotalReplacementCost; + this.Owner = Owner; + this.User = User; + this.ResponsiblePerson = ResponsiblePerson; + this.IncorporationDate = IncorporationDate; + this.DepreciatedValue = DepreciatedValue; + this.type = 3460190687; + } + } + IFC4X32.IfcAsset = IfcAsset; + class IfcAudioVisualApplianceType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1532957894; + } + } + IFC4X32.IfcAudioVisualApplianceType = IfcAudioVisualApplianceType; + class IfcBSplineCurve extends IfcBoundedCurve { + constructor(expressID, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect) { + super(expressID); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.type = 1967976161; + } + } + IFC4X32.IfcBSplineCurve = IfcBSplineCurve; + class IfcBSplineCurveWithKnots extends IfcBSplineCurve { + constructor(expressID, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec) { + super(expressID, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.KnotMultiplicities = KnotMultiplicities; + this.Knots = Knots; + this.KnotSpec = KnotSpec; + this.type = 2461110595; + } + } + IFC4X32.IfcBSplineCurveWithKnots = IfcBSplineCurveWithKnots; + class IfcBeamType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 819618141; + } + } + IFC4X32.IfcBeamType = IfcBeamType; + class IfcBearingType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3649138523; + } + } + IFC4X32.IfcBearingType = IfcBearingType; + class IfcBoilerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 231477066; + } + } + IFC4X32.IfcBoilerType = IfcBoilerType; + class IfcBoundaryCurve extends IfcCompositeCurveOnSurface { + constructor(expressID, Segments, SelfIntersect) { + super(expressID, Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 1136057603; + } + } + IFC4X32.IfcBoundaryCurve = IfcBoundaryCurve; + class IfcBridge extends IfcFacility { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.PredefinedType = PredefinedType; + this.type = 644574406; + } + } + IFC4X32.IfcBridge = IfcBridge; + class IfcBridgePart extends IfcFacilityPart { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.UsageType = UsageType; + this.PredefinedType = PredefinedType; + this.type = 963979645; + } + } + IFC4X32.IfcBridgePart = IfcBridgePart; + class IfcBuilding extends IfcFacility { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, ElevationOfRefHeight, ElevationOfTerrain, BuildingAddress) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.CompositionType = CompositionType; + this.ElevationOfRefHeight = ElevationOfRefHeight; + this.ElevationOfTerrain = ElevationOfTerrain; + this.BuildingAddress = BuildingAddress; + this.type = 4031249490; + } + } + IFC4X32.IfcBuilding = IfcBuilding; + class IfcBuildingElementPart extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2979338954; + } + } + IFC4X32.IfcBuildingElementPart = IfcBuildingElementPart; + class IfcBuildingElementPartType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 39481116; + } + } + IFC4X32.IfcBuildingElementPartType = IfcBuildingElementPartType; + class IfcBuildingElementProxyType extends IfcBuiltElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1909888760; + } + } + IFC4X32.IfcBuildingElementProxyType = IfcBuildingElementProxyType; + class IfcBuildingSystem extends IfcSystem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, LongName) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.LongName = LongName; + this.type = 1177604601; + } + } + IFC4X32.IfcBuildingSystem = IfcBuildingSystem; + class IfcBuiltElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1876633798; + } + } + IFC4X32.IfcBuiltElement = IfcBuiltElement; + class IfcBuiltSystem extends IfcSystem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, LongName) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.LongName = LongName; + this.type = 3862327254; + } + } + IFC4X32.IfcBuiltSystem = IfcBuiltSystem; + class IfcBurnerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2188180465; + } + } + IFC4X32.IfcBurnerType = IfcBurnerType; + class IfcCableCarrierFittingType extends IfcFlowFittingType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 395041908; + } + } + IFC4X32.IfcCableCarrierFittingType = IfcCableCarrierFittingType; + class IfcCableCarrierSegmentType extends IfcFlowSegmentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3293546465; + } + } + IFC4X32.IfcCableCarrierSegmentType = IfcCableCarrierSegmentType; + class IfcCableFittingType extends IfcFlowFittingType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2674252688; + } + } + IFC4X32.IfcCableFittingType = IfcCableFittingType; + class IfcCableSegmentType extends IfcFlowSegmentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1285652485; + } + } + IFC4X32.IfcCableSegmentType = IfcCableSegmentType; + class IfcCaissonFoundationType extends IfcDeepFoundationType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3203706013; + } + } + IFC4X32.IfcCaissonFoundationType = IfcCaissonFoundationType; + class IfcChillerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2951183804; + } + } + IFC4X32.IfcChillerType = IfcChillerType; + class IfcChimney extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3296154744; + } + } + IFC4X32.IfcChimney = IfcChimney; + class IfcCircle extends IfcConic { + constructor(expressID, Position, Radius) { + super(expressID, Position); + this.Position = Position; + this.Radius = Radius; + this.type = 2611217952; + } + } + IFC4X32.IfcCircle = IfcCircle; + class IfcCivilElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1677625105; + } + } + IFC4X32.IfcCivilElement = IfcCivilElement; + class IfcCoilType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2301859152; + } + } + IFC4X32.IfcCoilType = IfcCoilType; + class IfcColumn extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 843113511; + } + } + IFC4X32.IfcColumn = IfcColumn; + class IfcCommunicationsApplianceType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 400855858; + } + } + IFC4X32.IfcCommunicationsApplianceType = IfcCommunicationsApplianceType; + class IfcCompressorType extends IfcFlowMovingDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3850581409; + } + } + IFC4X32.IfcCompressorType = IfcCompressorType; + class IfcCondenserType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2816379211; + } + } + IFC4X32.IfcCondenserType = IfcCondenserType; + class IfcConstructionEquipmentResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 3898045240; + } + } + IFC4X32.IfcConstructionEquipmentResource = IfcConstructionEquipmentResource; + class IfcConstructionMaterialResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 1060000209; + } + } + IFC4X32.IfcConstructionMaterialResource = IfcConstructionMaterialResource; + class IfcConstructionProductResource extends IfcConstructionResource { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.Identification = Identification; + this.LongDescription = LongDescription; + this.Usage = Usage; + this.BaseCosts = BaseCosts; + this.BaseQuantity = BaseQuantity; + this.PredefinedType = PredefinedType; + this.type = 488727124; + } + } + IFC4X32.IfcConstructionProductResource = IfcConstructionProductResource; + class IfcConveyorSegmentType extends IfcFlowSegmentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2940368186; + } + } + IFC4X32.IfcConveyorSegmentType = IfcConveyorSegmentType; + class IfcCooledBeamType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 335055490; + } + } + IFC4X32.IfcCooledBeamType = IfcCooledBeamType; + class IfcCoolingTowerType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2954562838; + } + } + IFC4X32.IfcCoolingTowerType = IfcCoolingTowerType; + class IfcCourse extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1502416096; + } + } + IFC4X32.IfcCourse = IfcCourse; + class IfcCovering extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1973544240; + } + } + IFC4X32.IfcCovering = IfcCovering; + class IfcCurtainWall extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3495092785; + } + } + IFC4X32.IfcCurtainWall = IfcCurtainWall; + class IfcDamperType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3961806047; + } + } + IFC4X32.IfcDamperType = IfcDamperType; + class IfcDeepFoundation extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3426335179; + } + } + IFC4X32.IfcDeepFoundation = IfcDeepFoundation; + class IfcDiscreteAccessory extends IfcElementComponent { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1335981549; + } + } + IFC4X32.IfcDiscreteAccessory = IfcDiscreteAccessory; + class IfcDiscreteAccessoryType extends IfcElementComponentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2635815018; + } + } + IFC4X32.IfcDiscreteAccessoryType = IfcDiscreteAccessoryType; + class IfcDistributionBoardType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 479945903; + } + } + IFC4X32.IfcDistributionBoardType = IfcDistributionBoardType; + class IfcDistributionChamberElementType extends IfcDistributionFlowElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1599208980; + } + } + IFC4X32.IfcDistributionChamberElementType = IfcDistributionChamberElementType; + class IfcDistributionControlElementType extends IfcDistributionElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.type = 2063403501; + } + } + IFC4X32.IfcDistributionControlElementType = IfcDistributionControlElementType; + class IfcDistributionElement extends IfcElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1945004755; + } + } + IFC4X32.IfcDistributionElement = IfcDistributionElement; + class IfcDistributionFlowElement extends IfcDistributionElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3040386961; + } + } + IFC4X32.IfcDistributionFlowElement = IfcDistributionFlowElement; + class IfcDistributionPort extends IfcPort { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, FlowDirection, PredefinedType, SystemType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.FlowDirection = FlowDirection; + this.PredefinedType = PredefinedType; + this.SystemType = SystemType; + this.type = 3041715199; + } + } + IFC4X32.IfcDistributionPort = IfcDistributionPort; + class IfcDistributionSystem extends IfcSystem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.PredefinedType = PredefinedType; + this.type = 3205830791; + } + } + IFC4X32.IfcDistributionSystem = IfcDistributionSystem; + class IfcDoor extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, OperationType, UserDefinedOperationType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OverallHeight = OverallHeight; + this.OverallWidth = OverallWidth; + this.PredefinedType = PredefinedType; + this.OperationType = OperationType; + this.UserDefinedOperationType = UserDefinedOperationType; + this.type = 395920057; + } + } + IFC4X32.IfcDoor = IfcDoor; + class IfcDuctFittingType extends IfcFlowFittingType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 869906466; + } + } + IFC4X32.IfcDuctFittingType = IfcDuctFittingType; + class IfcDuctSegmentType extends IfcFlowSegmentType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3760055223; + } + } + IFC4X32.IfcDuctSegmentType = IfcDuctSegmentType; + class IfcDuctSilencerType extends IfcFlowTreatmentDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2030761528; + } + } + IFC4X32.IfcDuctSilencerType = IfcDuctSilencerType; + class IfcEarthworksCut extends IfcFeatureElementSubtraction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3071239417; + } + } + IFC4X32.IfcEarthworksCut = IfcEarthworksCut; + class IfcEarthworksElement extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1077100507; + } + } + IFC4X32.IfcEarthworksElement = IfcEarthworksElement; + class IfcEarthworksFill extends IfcEarthworksElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3376911765; + } + } + IFC4X32.IfcEarthworksFill = IfcEarthworksFill; + class IfcElectricApplianceType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 663422040; + } + } + IFC4X32.IfcElectricApplianceType = IfcElectricApplianceType; + class IfcElectricDistributionBoardType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2417008758; + } + } + IFC4X32.IfcElectricDistributionBoardType = IfcElectricDistributionBoardType; + class IfcElectricFlowStorageDeviceType extends IfcFlowStorageDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3277789161; + } + } + IFC4X32.IfcElectricFlowStorageDeviceType = IfcElectricFlowStorageDeviceType; + class IfcElectricFlowTreatmentDeviceType extends IfcFlowTreatmentDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2142170206; + } + } + IFC4X32.IfcElectricFlowTreatmentDeviceType = IfcElectricFlowTreatmentDeviceType; + class IfcElectricGeneratorType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1534661035; + } + } + IFC4X32.IfcElectricGeneratorType = IfcElectricGeneratorType; + class IfcElectricMotorType extends IfcEnergyConversionDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1217240411; + } + } + IFC4X32.IfcElectricMotorType = IfcElectricMotorType; + class IfcElectricTimeControlType extends IfcFlowControllerType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 712377611; + } + } + IFC4X32.IfcElectricTimeControlType = IfcElectricTimeControlType; + class IfcEnergyConversionDevice extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1658829314; + } + } + IFC4X32.IfcEnergyConversionDevice = IfcEnergyConversionDevice; + class IfcEngine extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2814081492; + } + } + IFC4X32.IfcEngine = IfcEngine; + class IfcEvaporativeCooler extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3747195512; + } + } + IFC4X32.IfcEvaporativeCooler = IfcEvaporativeCooler; + class IfcEvaporator extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 484807127; + } + } + IFC4X32.IfcEvaporator = IfcEvaporator; + class IfcExternalSpatialElement extends IfcExternalSpatialStructureElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.LongName = LongName; + this.PredefinedType = PredefinedType; + this.type = 1209101575; + } + } + IFC4X32.IfcExternalSpatialElement = IfcExternalSpatialElement; + class IfcFanType extends IfcFlowMovingDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 346874300; + } + } + IFC4X32.IfcFanType = IfcFanType; + class IfcFilterType extends IfcFlowTreatmentDeviceType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1810631287; + } + } + IFC4X32.IfcFilterType = IfcFilterType; + class IfcFireSuppressionTerminalType extends IfcFlowTerminalType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4222183408; + } + } + IFC4X32.IfcFireSuppressionTerminalType = IfcFireSuppressionTerminalType; + class IfcFlowController extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2058353004; + } + } + IFC4X32.IfcFlowController = IfcFlowController; + class IfcFlowFitting extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 4278956645; + } + } + IFC4X32.IfcFlowFitting = IfcFlowFitting; + class IfcFlowInstrumentType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 4037862832; + } + } + IFC4X32.IfcFlowInstrumentType = IfcFlowInstrumentType; + class IfcFlowMeter extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2188021234; + } + } + IFC4X32.IfcFlowMeter = IfcFlowMeter; + class IfcFlowMovingDevice extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3132237377; + } + } + IFC4X32.IfcFlowMovingDevice = IfcFlowMovingDevice; + class IfcFlowSegment extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 987401354; + } + } + IFC4X32.IfcFlowSegment = IfcFlowSegment; + class IfcFlowStorageDevice extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 707683696; + } + } + IFC4X32.IfcFlowStorageDevice = IfcFlowStorageDevice; + class IfcFlowTerminal extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2223149337; + } + } + IFC4X32.IfcFlowTerminal = IfcFlowTerminal; + class IfcFlowTreatmentDevice extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3508470533; + } + } + IFC4X32.IfcFlowTreatmentDevice = IfcFlowTreatmentDevice; + class IfcFooting extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 900683007; + } + } + IFC4X32.IfcFooting = IfcFooting; + class IfcGeotechnicalAssembly extends IfcGeotechnicalElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2713699986; + } + } + IFC4X32.IfcGeotechnicalAssembly = IfcGeotechnicalAssembly; + class IfcGrid extends IfcPositioningElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, UAxes, VAxes, WAxes, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.UAxes = UAxes; + this.VAxes = VAxes; + this.WAxes = WAxes; + this.PredefinedType = PredefinedType; + this.type = 3009204131; + } + } + IFC4X32.IfcGrid = IfcGrid; + class IfcHeatExchanger extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3319311131; + } + } + IFC4X32.IfcHeatExchanger = IfcHeatExchanger; + class IfcHumidifier extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2068733104; + } + } + IFC4X32.IfcHumidifier = IfcHumidifier; + class IfcInterceptor extends IfcFlowTreatmentDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4175244083; + } + } + IFC4X32.IfcInterceptor = IfcInterceptor; + class IfcJunctionBox extends IfcFlowFitting { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2176052936; + } + } + IFC4X32.IfcJunctionBox = IfcJunctionBox; + class IfcKerb extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, Mountable) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.Mountable = Mountable; + this.type = 2696325953; + } + } + IFC4X32.IfcKerb = IfcKerb; + class IfcLamp extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 76236018; + } + } + IFC4X32.IfcLamp = IfcLamp; + class IfcLightFixture extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 629592764; + } + } + IFC4X32.IfcLightFixture = IfcLightFixture; + class IfcLinearPositioningElement extends IfcPositioningElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.type = 1154579445; + } + } + IFC4X32.IfcLinearPositioningElement = IfcLinearPositioningElement; + class IfcLiquidTerminal extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1638804497; + } + } + IFC4X32.IfcLiquidTerminal = IfcLiquidTerminal; + class IfcMedicalDevice extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1437502449; + } + } + IFC4X32.IfcMedicalDevice = IfcMedicalDevice; + class IfcMember extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1073191201; + } + } + IFC4X32.IfcMember = IfcMember; + class IfcMobileTelecommunicationsAppliance extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2078563270; + } + } + IFC4X32.IfcMobileTelecommunicationsAppliance = IfcMobileTelecommunicationsAppliance; + class IfcMooringDevice extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 234836483; + } + } + IFC4X32.IfcMooringDevice = IfcMooringDevice; + class IfcMotorConnection extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2474470126; + } + } + IFC4X32.IfcMotorConnection = IfcMotorConnection; + class IfcNavigationElement extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2182337498; + } + } + IFC4X32.IfcNavigationElement = IfcNavigationElement; + class IfcOuterBoundaryCurve extends IfcBoundaryCurve { + constructor(expressID, Segments, SelfIntersect) { + super(expressID, Segments, SelfIntersect); + this.Segments = Segments; + this.SelfIntersect = SelfIntersect; + this.type = 144952367; + } + } + IFC4X32.IfcOuterBoundaryCurve = IfcOuterBoundaryCurve; + class IfcOutlet extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3694346114; + } + } + IFC4X32.IfcOutlet = IfcOutlet; + class IfcPavement extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1383356374; + } + } + IFC4X32.IfcPavement = IfcPavement; + class IfcPile extends IfcDeepFoundation { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType, ConstructionType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.ConstructionType = ConstructionType; + this.type = 1687234759; + } + } + IFC4X32.IfcPile = IfcPile; + class IfcPipeFitting extends IfcFlowFitting { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 310824031; + } + } + IFC4X32.IfcPipeFitting = IfcPipeFitting; + class IfcPipeSegment extends IfcFlowSegment { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3612865200; + } + } + IFC4X32.IfcPipeSegment = IfcPipeSegment; + class IfcPlate extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3171933400; + } + } + IFC4X32.IfcPlate = IfcPlate; + class IfcProtectiveDevice extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 738039164; + } + } + IFC4X32.IfcProtectiveDevice = IfcProtectiveDevice; + class IfcProtectiveDeviceTrippingUnitType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 655969474; + } + } + IFC4X32.IfcProtectiveDeviceTrippingUnitType = IfcProtectiveDeviceTrippingUnitType; + class IfcPump extends IfcFlowMovingDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 90941305; + } + } + IFC4X32.IfcPump = IfcPump; + class IfcRail extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3290496277; + } + } + IFC4X32.IfcRail = IfcRail; + class IfcRailing extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2262370178; + } + } + IFC4X32.IfcRailing = IfcRailing; + class IfcRamp extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3024970846; + } + } + IFC4X32.IfcRamp = IfcRamp; + class IfcRampFlight extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3283111854; + } + } + IFC4X32.IfcRampFlight = IfcRampFlight; + class IfcRationalBSplineCurveWithKnots extends IfcBSplineCurveWithKnots { + constructor(expressID, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec, WeightsData) { + super(expressID, Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec); + this.Degree = Degree; + this.ControlPointsList = ControlPointsList; + this.CurveForm = CurveForm; + this.ClosedCurve = ClosedCurve; + this.SelfIntersect = SelfIntersect; + this.KnotMultiplicities = KnotMultiplicities; + this.Knots = Knots; + this.KnotSpec = KnotSpec; + this.WeightsData = WeightsData; + this.type = 1232101972; + } + } + IFC4X32.IfcRationalBSplineCurveWithKnots = IfcRationalBSplineCurveWithKnots; + class IfcReinforcedSoil extends IfcEarthworksElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3798194928; + } + } + IFC4X32.IfcReinforcedSoil = IfcReinforcedSoil; + class IfcReinforcingBar extends IfcReinforcingElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, NominalDiameter, CrossSectionArea, BarLength, PredefinedType, BarSurface) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.SteelGrade = SteelGrade; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.BarLength = BarLength; + this.PredefinedType = PredefinedType; + this.BarSurface = BarSurface; + this.type = 979691226; + } + } + IFC4X32.IfcReinforcingBar = IfcReinforcingBar; + class IfcReinforcingBarType extends IfcReinforcingElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, CrossSectionArea, BarLength, BarSurface, BendingShapeCode, BendingParameters) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.NominalDiameter = NominalDiameter; + this.CrossSectionArea = CrossSectionArea; + this.BarLength = BarLength; + this.BarSurface = BarSurface; + this.BendingShapeCode = BendingShapeCode; + this.BendingParameters = BendingParameters; + this.type = 2572171363; + } + } + IFC4X32.IfcReinforcingBarType = IfcReinforcingBarType; + class IfcRoof extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2016517767; + } + } + IFC4X32.IfcRoof = IfcRoof; + class IfcSanitaryTerminal extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3053780830; + } + } + IFC4X32.IfcSanitaryTerminal = IfcSanitaryTerminal; + class IfcSensorType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 1783015770; + } + } + IFC4X32.IfcSensorType = IfcSensorType; + class IfcShadingDevice extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1329646415; + } + } + IFC4X32.IfcShadingDevice = IfcShadingDevice; + class IfcSignal extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 991950508; + } + } + IFC4X32.IfcSignal = IfcSignal; + class IfcSlab extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1529196076; + } + } + IFC4X32.IfcSlab = IfcSlab; + class IfcSolarDevice extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3420628829; + } + } + IFC4X32.IfcSolarDevice = IfcSolarDevice; + class IfcSpaceHeater extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1999602285; + } + } + IFC4X32.IfcSpaceHeater = IfcSpaceHeater; + class IfcStackTerminal extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1404847402; + } + } + IFC4X32.IfcStackTerminal = IfcStackTerminal; + class IfcStair extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 331165859; + } + } + IFC4X32.IfcStair = IfcStair; + class IfcStairFlight extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NumberOfRisers, NumberOfTreads, RiserHeight, TreadLength, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.NumberOfRisers = NumberOfRisers; + this.NumberOfTreads = NumberOfTreads; + this.RiserHeight = RiserHeight; + this.TreadLength = TreadLength; + this.PredefinedType = PredefinedType; + this.type = 4252922144; + } + } + IFC4X32.IfcStairFlight = IfcStairFlight; + class IfcStructuralAnalysisModel extends IfcSystem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, OrientationOf2DPlane, LoadedBy, HasResults, SharedPlacement) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.OrientationOf2DPlane = OrientationOf2DPlane; + this.LoadedBy = LoadedBy; + this.HasResults = HasResults; + this.SharedPlacement = SharedPlacement; + this.type = 2515109513; + } + } + IFC4X32.IfcStructuralAnalysisModel = IfcStructuralAnalysisModel; + class IfcStructuralLoadCase extends IfcStructuralLoadGroup { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose, SelfWeightCoefficients) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.PredefinedType = PredefinedType; + this.ActionType = ActionType; + this.ActionSource = ActionSource; + this.Coefficient = Coefficient; + this.Purpose = Purpose; + this.SelfWeightCoefficients = SelfWeightCoefficients; + this.type = 385403989; + } + } + IFC4X32.IfcStructuralLoadCase = IfcStructuralLoadCase; + class IfcStructuralPlanarAction extends IfcStructuralSurfaceAction { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.AppliedLoad = AppliedLoad; + this.GlobalOrLocal = GlobalOrLocal; + this.DestabilizingLoad = DestabilizingLoad; + this.ProjectedOrTrue = ProjectedOrTrue; + this.PredefinedType = PredefinedType; + this.type = 1621171031; + } + } + IFC4X32.IfcStructuralPlanarAction = IfcStructuralPlanarAction; + class IfcSwitchingDevice extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1162798199; + } + } + IFC4X32.IfcSwitchingDevice = IfcSwitchingDevice; + class IfcTank extends IfcFlowStorageDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 812556717; + } + } + IFC4X32.IfcTank = IfcTank; + class IfcTrackElement extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3425753595; + } + } + IFC4X32.IfcTrackElement = IfcTrackElement; + class IfcTransformer extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3825984169; + } + } + IFC4X32.IfcTransformer = IfcTransformer; + class IfcTransportElement extends IfcTransportationDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1620046519; + } + } + IFC4X32.IfcTransportElement = IfcTransportElement; + class IfcTubeBundle extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3026737570; + } + } + IFC4X32.IfcTubeBundle = IfcTubeBundle; + class IfcUnitaryControlElementType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3179687236; + } + } + IFC4X32.IfcUnitaryControlElementType = IfcUnitaryControlElementType; + class IfcUnitaryEquipment extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4292641817; + } + } + IFC4X32.IfcUnitaryEquipment = IfcUnitaryEquipment; + class IfcValve extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4207607924; + } + } + IFC4X32.IfcValve = IfcValve; + class IfcWall extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2391406946; + } + } + IFC4X32.IfcWall = IfcWall; + class IfcWallStandardCase extends IfcWall { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3512223829; + } + } + IFC4X32.IfcWallStandardCase = IfcWallStandardCase; + class IfcWasteTerminal extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4237592921; + } + } + IFC4X32.IfcWasteTerminal = IfcWasteTerminal; + class IfcWindow extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, PartitioningType, UserDefinedPartitioningType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.OverallHeight = OverallHeight; + this.OverallWidth = OverallWidth; + this.PredefinedType = PredefinedType; + this.PartitioningType = PartitioningType; + this.UserDefinedPartitioningType = UserDefinedPartitioningType; + this.type = 3304561284; + } + } + IFC4X32.IfcWindow = IfcWindow; + class IfcActuatorType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 2874132201; + } + } + IFC4X32.IfcActuatorType = IfcActuatorType; + class IfcAirTerminal extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1634111441; + } + } + IFC4X32.IfcAirTerminal = IfcAirTerminal; + class IfcAirTerminalBox extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 177149247; + } + } + IFC4X32.IfcAirTerminalBox = IfcAirTerminalBox; + class IfcAirToAirHeatRecovery extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2056796094; + } + } + IFC4X32.IfcAirToAirHeatRecovery = IfcAirToAirHeatRecovery; + class IfcAlarmType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 3001207471; + } + } + IFC4X32.IfcAlarmType = IfcAlarmType; + class IfcAlignment extends IfcLinearPositioningElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.PredefinedType = PredefinedType; + this.type = 325726236; + } + } + IFC4X32.IfcAlignment = IfcAlignment; + class IfcAudioVisualAppliance extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 277319702; + } + } + IFC4X32.IfcAudioVisualAppliance = IfcAudioVisualAppliance; + class IfcBeam extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 753842376; + } + } + IFC4X32.IfcBeam = IfcBeam; + class IfcBearing extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4196446775; + } + } + IFC4X32.IfcBearing = IfcBearing; + class IfcBoiler extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 32344328; + } + } + IFC4X32.IfcBoiler = IfcBoiler; + class IfcBorehole extends IfcGeotechnicalAssembly { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 3314249567; + } + } + IFC4X32.IfcBorehole = IfcBorehole; + class IfcBuildingElementProxy extends IfcBuiltElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1095909175; + } + } + IFC4X32.IfcBuildingElementProxy = IfcBuildingElementProxy; + class IfcBurner extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2938176219; + } + } + IFC4X32.IfcBurner = IfcBurner; + class IfcCableCarrierFitting extends IfcFlowFitting { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 635142910; + } + } + IFC4X32.IfcCableCarrierFitting = IfcCableCarrierFitting; + class IfcCableCarrierSegment extends IfcFlowSegment { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3758799889; + } + } + IFC4X32.IfcCableCarrierSegment = IfcCableCarrierSegment; + class IfcCableFitting extends IfcFlowFitting { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1051757585; + } + } + IFC4X32.IfcCableFitting = IfcCableFitting; + class IfcCableSegment extends IfcFlowSegment { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4217484030; + } + } + IFC4X32.IfcCableSegment = IfcCableSegment; + class IfcCaissonFoundation extends IfcDeepFoundation { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3999819293; + } + } + IFC4X32.IfcCaissonFoundation = IfcCaissonFoundation; + class IfcChiller extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3902619387; + } + } + IFC4X32.IfcChiller = IfcChiller; + class IfcCoil extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 639361253; + } + } + IFC4X32.IfcCoil = IfcCoil; + class IfcCommunicationsAppliance extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3221913625; + } + } + IFC4X32.IfcCommunicationsAppliance = IfcCommunicationsAppliance; + class IfcCompressor extends IfcFlowMovingDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3571504051; + } + } + IFC4X32.IfcCompressor = IfcCompressor; + class IfcCondenser extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2272882330; + } + } + IFC4X32.IfcCondenser = IfcCondenser; + class IfcControllerType extends IfcDistributionControlElementType { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ApplicableOccurrence = ApplicableOccurrence; + this.HasPropertySets = HasPropertySets; + this.RepresentationMaps = RepresentationMaps; + this.Tag = Tag; + this.ElementType = ElementType; + this.PredefinedType = PredefinedType; + this.type = 578613899; + } + } + IFC4X32.IfcControllerType = IfcControllerType; + class IfcConveyorSegment extends IfcFlowSegment { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3460952963; + } + } + IFC4X32.IfcConveyorSegment = IfcConveyorSegment; + class IfcCooledBeam extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4136498852; + } + } + IFC4X32.IfcCooledBeam = IfcCooledBeam; + class IfcCoolingTower extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3640358203; + } + } + IFC4X32.IfcCoolingTower = IfcCoolingTower; + class IfcDamper extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4074379575; + } + } + IFC4X32.IfcDamper = IfcDamper; + class IfcDistributionBoard extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3693000487; + } + } + IFC4X32.IfcDistributionBoard = IfcDistributionBoard; + class IfcDistributionChamberElement extends IfcDistributionFlowElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1052013943; + } + } + IFC4X32.IfcDistributionChamberElement = IfcDistributionChamberElement; + class IfcDistributionCircuit extends IfcDistributionSystem { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.LongName = LongName; + this.PredefinedType = PredefinedType; + this.type = 562808652; + } + } + IFC4X32.IfcDistributionCircuit = IfcDistributionCircuit; + class IfcDistributionControlElement extends IfcDistributionElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1062813311; + } + } + IFC4X32.IfcDistributionControlElement = IfcDistributionControlElement; + class IfcDuctFitting extends IfcFlowFitting { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 342316401; + } + } + IFC4X32.IfcDuctFitting = IfcDuctFitting; + class IfcDuctSegment extends IfcFlowSegment { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3518393246; + } + } + IFC4X32.IfcDuctSegment = IfcDuctSegment; + class IfcDuctSilencer extends IfcFlowTreatmentDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1360408905; + } + } + IFC4X32.IfcDuctSilencer = IfcDuctSilencer; + class IfcElectricAppliance extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1904799276; + } + } + IFC4X32.IfcElectricAppliance = IfcElectricAppliance; + class IfcElectricDistributionBoard extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 862014818; + } + } + IFC4X32.IfcElectricDistributionBoard = IfcElectricDistributionBoard; + class IfcElectricFlowStorageDevice extends IfcFlowStorageDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3310460725; + } + } + IFC4X32.IfcElectricFlowStorageDevice = IfcElectricFlowStorageDevice; + class IfcElectricFlowTreatmentDevice extends IfcFlowTreatmentDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 24726584; + } + } + IFC4X32.IfcElectricFlowTreatmentDevice = IfcElectricFlowTreatmentDevice; + class IfcElectricGenerator extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 264262732; + } + } + IFC4X32.IfcElectricGenerator = IfcElectricGenerator; + class IfcElectricMotor extends IfcEnergyConversionDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 402227799; + } + } + IFC4X32.IfcElectricMotor = IfcElectricMotor; + class IfcElectricTimeControl extends IfcFlowController { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1003880860; + } + } + IFC4X32.IfcElectricTimeControl = IfcElectricTimeControl; + class IfcFan extends IfcFlowMovingDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3415622556; + } + } + IFC4X32.IfcFan = IfcFan; + class IfcFilter extends IfcFlowTreatmentDevice { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 819412036; + } + } + IFC4X32.IfcFilter = IfcFilter; + class IfcFireSuppressionTerminal extends IfcFlowTerminal { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 1426591983; + } + } + IFC4X32.IfcFireSuppressionTerminal = IfcFireSuppressionTerminal; + class IfcFlowInstrument extends IfcDistributionControlElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 182646315; + } + } + IFC4X32.IfcFlowInstrument = IfcFlowInstrument; + class IfcGeomodel extends IfcGeotechnicalAssembly { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 2680139844; + } + } + IFC4X32.IfcGeomodel = IfcGeomodel; + class IfcGeoslice extends IfcGeotechnicalAssembly { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.type = 1971632696; + } + } + IFC4X32.IfcGeoslice = IfcGeoslice; + class IfcProtectiveDeviceTrippingUnit extends IfcDistributionControlElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 2295281155; + } + } + IFC4X32.IfcProtectiveDeviceTrippingUnit = IfcProtectiveDeviceTrippingUnit; + class IfcSensor extends IfcDistributionControlElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4086658281; + } + } + IFC4X32.IfcSensor = IfcSensor; + class IfcUnitaryControlElement extends IfcDistributionControlElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 630975310; + } + } + IFC4X32.IfcUnitaryControlElement = IfcUnitaryControlElement; + class IfcActuator extends IfcDistributionControlElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 4288193352; + } + } + IFC4X32.IfcActuator = IfcActuator; + class IfcAlarm extends IfcDistributionControlElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 3087945054; + } + } + IFC4X32.IfcAlarm = IfcAlarm; + class IfcController extends IfcDistributionControlElement { + constructor(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) { + super(expressID, GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag); + this.GlobalId = GlobalId; + this.OwnerHistory = OwnerHistory; + this.Name = Name; + this.Description = Description; + this.ObjectType = ObjectType; + this.ObjectPlacement = ObjectPlacement; + this.Representation = Representation; + this.Tag = Tag; + this.PredefinedType = PredefinedType; + this.type = 25142252; + } + } + IFC4X32.IfcController = IfcController; +})(IFC4X3 || (IFC4X3 = {})); + +// dist/helpers/log.ts +var LogLevel; +(function(LogLevel2) { + LogLevel2[LogLevel2["LOG_LEVEL_DEBUG"] = 0] = "LOG_LEVEL_DEBUG"; + LogLevel2[LogLevel2["LOG_LEVEL_INFO"] = 1] = "LOG_LEVEL_INFO"; + LogLevel2[LogLevel2["LOG_LEVEL_WARN"] = 2] = "LOG_LEVEL_WARN"; + LogLevel2[LogLevel2["LOG_LEVEL_ERROR"] = 3] = "LOG_LEVEL_ERROR"; + LogLevel2[LogLevel2["LOG_LEVEL_OFF"] = 4] = "LOG_LEVEL_OFF"; +})(LogLevel || (LogLevel = {})); +var WebIFCWasm; +if (typeof self !== "undefined" && self.crossOriginIsolated) { + try { + WebIFCWasm = require_web_ifc_mt(); + } catch (ex) { + WebIFCWasm = require_web_ifc(); + } +} else + WebIFCWasm = require_web_ifc(); + +/* eslint-disable */ +const _upVector = new Vector3$1(0, 1, 0); +const EPSILON = 1e-16; +// Modified version of js EdgesGeometry logic to handle silhouette edges +((function () { + const _v0 = new Vector3$1(); + const _v1 = new Vector3$1(); + const _normal = new Vector3$1(); + const _triangle = new Triangle(); + return function generateEdges(geometry, projectionDir, thresholdAngle = 1) { + const edges = []; + const precisionPoints = 4; + const precision = Math.pow(10, precisionPoints); + const thresholdDot = Math.cos(MathUtils.DEG2RAD * thresholdAngle); + const indexAttr = geometry.getIndex(); + const positionAttr = geometry.getAttribute('position'); + const indexCount = indexAttr ? indexAttr.count : positionAttr.count; + const indexArr = [0, 0, 0]; + const vertKeys = ['a', 'b', 'c']; + const hashes = new Array(3); + const edgeData = {}; + for (let i = 0; i < indexCount; i += 3) { + if (indexAttr) { + indexArr[0] = indexAttr.getX(i); + indexArr[1] = indexAttr.getX(i + 1); + indexArr[2] = indexAttr.getX(i + 2); + } + else { + indexArr[0] = i; + indexArr[1] = i + 1; + indexArr[2] = i + 2; + } + const { a, b, c } = _triangle; + a.fromBufferAttribute(positionAttr, indexArr[0]); + b.fromBufferAttribute(positionAttr, indexArr[1]); + c.fromBufferAttribute(positionAttr, indexArr[2]); + _triangle.getNormal(_normal); + // create hashes for the edge from the vertices + hashes[0] = `${Math.round(a.x * precision)},${Math.round(a.y * precision)},${Math.round(a.z * precision)}`; + hashes[1] = `${Math.round(b.x * precision)},${Math.round(b.y * precision)},${Math.round(b.z * precision)}`; + hashes[2] = `${Math.round(c.x * precision)},${Math.round(c.y * precision)},${Math.round(c.z * precision)}`; + // skip degenerate triangles + if (hashes[0] === hashes[1] || hashes[1] === hashes[2] || hashes[2] === hashes[0]) { + continue; + } + // iterate over every edge + for (let j = 0; j < 3; j++) { + // get the first and next vertex making up the edge + const jNext = (j + 1) % 3; + const vecHash0 = hashes[j]; + const vecHash1 = hashes[jNext]; + const v0 = _triangle[vertKeys[j]]; + const v1 = _triangle[vertKeys[jNext]]; + const hash = `${vecHash0}_${vecHash1}`; + const reverseHash = `${vecHash1}_${vecHash0}`; + if (reverseHash in edgeData && edgeData[reverseHash]) { + // if we found a sibling edge add it into the vertex array if + // it meets the angle threshold and delete the edge from the map. + const otherNormal = edgeData[reverseHash].normal; + const meetsThreshold = _normal.dot(otherNormal) <= thresholdDot; + const projectionThreshold = Math.sign(projectionDir.dot(_normal)) !== Math.sign(projectionDir.dot(otherNormal)); + if (meetsThreshold || projectionThreshold) { + const line = new Line3(); + line.start.copy(v0); + line.end.copy(v1); + edges.push(line); + } + edgeData[reverseHash] = null; + } + else if (!(hash in edgeData)) { + // if we've already got an edge here then skip adding a new one + edgeData[hash] = { + index0: indexArr[j], + index1: indexArr[jNext], + normal: _normal.clone() + }; + } + } + } + // iterate over all remaining, unmatched edges and add them to the vertex array + for (const key in edgeData) { + if (edgeData[key]) { + const { index0, index1 } = edgeData[key]; + _v0.fromBufferAttribute(positionAttr, index0); + _v1.fromBufferAttribute(positionAttr, index1); + const line = new Line3(); + line.start.copy(_v0); + line.end.copy(_v1); + edges.push(line); + } + } + return edges; + }; +}))(); +// outputs the overlapping segment of a coplanar line and triangle +const getOverlappingLine = (function () { + const _dir0 = new Vector3$1(); + const _dir1 = new Vector3$1(); + const _tempDir = new Vector3$1(); + const _orthoPlane = new Plane(); + const _line0 = new Line3(); + const _line1 = new Line3(); + const _tempLine = new Line3(); + return function getOverlappingLine(line, triangle, lineTarget = new Line3()) { + if (triangle.needsUpdate) { + triangle.needsUpdate(); + } + // if the triangle is degenerate then return no overlap + if (triangle.getArea() <= EPSILON) { + return null; + } + const { points, plane } = triangle; + _line0.copy(line); + _line0.delta(_dir0); + // if the line and triangle are not coplanar then return no overlap + const areCoplanar = plane.normal.dot(_dir0) === 0.0; + if (!areCoplanar) { + return null; + } + // a plane that's orthogonal to the triangle that the line lies on + _dir0.cross(plane.normal).normalize(); + _orthoPlane.setFromNormalAndCoplanarPoint(_dir0, _line0.start); + // find the line of intersection of the triangle along the plane if it exists + let intersectCount = 0; + for (let i = 0; i < 3; i++) { + const p1 = points[i]; + const p2 = points[(i + 1) % 3]; + _tempLine.start.copy(p1); + _tempLine.end.copy(p2); + if (_orthoPlane.distanceToPoint(_tempLine.end) === 0 && + _orthoPlane.distanceToPoint(_tempLine.start) === 0) { + // if the edge lies on the plane then take the line + _line1.copy(_tempLine); + intersectCount = 2; + break; + } + else if (_orthoPlane.intersectLine(_tempLine, intersectCount === 0 ? _line1.start : _line1.end)) { + let p; + if (intersectCount === 0) { + p = _line1.start; + } + else { + p = _line1.end; + } + if (p.distanceTo(p2) === 0.0) { + continue; + } + intersectCount++; + if (intersectCount === 2) { + break; + } + } + } + if (intersectCount === 2) { + // find the intersect line if any + _line0.delta(_dir0).normalize(); + _line1.delta(_dir1).normalize(); + // swap edges so they're facing in the same direction + if (_dir0.dot(_dir1) < 0) { + const tmp = _line1.start; + _line1.start = _line1.end; + _line1.end = tmp; + } + // check if the edges are overlapping + const s1 = _line0.start.dot(_dir0); + const e1 = _line0.end.dot(_dir0); + const s2 = _line1.start.dot(_dir0); + const e2 = _line1.end.dot(_dir0); + const separated1 = e1 < s2; + const separated2 = s1 < e2; + if (s1 !== e2 && s2 !== e1 && separated1 === separated2) { + return null; + } + // assign the target output + _tempDir.subVectors(_line0.start, _line1.start); + if (_tempDir.dot(_dir0) > 0) { + lineTarget.start.copy(_line0.start); + } + else { + lineTarget.start.copy(_line1.start); + } + _tempDir.subVectors(_line0.end, _line1.end); + if (_tempDir.dot(_dir0) < 0) { + lineTarget.end.copy(_line0.end); + } + else { + lineTarget.end.copy(_line1.end); + } + return lineTarget; + } + return null; + }; +})(); +// returns the the y value on the plane at the given point x, z +const getPlaneYAtPoint = (function () { + const testLine = new Line3(); + return function getPlaneYAtPoint(plane, point, target = null) { + testLine.start.copy(point); + testLine.end.copy(point); + testLine.start.y += 1e5; + testLine.end.y -= 1e5; + plane.intersectLine(testLine, target); + }; +})(); +// returns whether the given line is above the given triangle plane +((function () { + const _v0 = new Vector3$1(); + const _v1 = new Vector3$1(); + return function isLineAbovePlane(plane, line) { + _v0.lerpVectors(line.start, line.end, 0.5); + getPlaneYAtPoint(plane, _v0, _v1); + return _v1.y < _v0.y; + }; +}))(); +((function () { + const _tempDir = new Vector3$1(); + const _upVector = new Vector3$1(0, 1, 0); + return function isYProjectedLineDegenerate(line) { + line.delta(_tempDir).normalize(); + return Math.abs(_tempDir.dot(_upVector)) >= 1.0 - EPSILON; + }; +}))(); +// checks whether the y-projected triangle will be degerate +function isYProjectedTriangleDegenerate(tri) { + if (tri.needsUpdate) { + tri.update(); + } + return Math.abs(tri.plane.normal.dot(_upVector)) <= EPSILON; +} +// Extracts the normalized [0, 1] distances along the given line that overlaps with the provided triangle when +// projected along the y axis +((function () { + const _target = new Line3(); + const _tempDir = new Vector3$1(); + const _tempVec0 = new Vector3$1(); + const _tempVec1 = new Vector3$1(); + const _line = new Line3(); + const _tri = new ExtendedTriangle(); + return function getProjectedOverlaps(tri, line, overlapsTarget) { + _line.copy(line); + _tri.copy(tri); + // flatten them to a common plane + _line.start.y = 0; + _line.end.y = 0; + _tri.a.y = 0; + _tri.b.y = 0; + _tri.c.y = 0; + _tri.needsUpdate = true; + _tri.update(); + // if the line is meaningfully long and the we have an overlapping line then extract the + // distances along the original line to return + if (getOverlappingLine(_line, _tri, _target)) { + _line.delta(_tempDir); + _tempVec0.subVectors(_target.start, _line.start); + _tempVec1.subVectors(_target.end, _line.start); + let d0 = _tempVec0.length() / _tempDir.length(); + let d1 = _tempVec1.length() / _tempDir.length(); + d0 = Math.min(Math.max(d0, 0), 1); + d1 = Math.min(Math.max(d1, 0), 1); + if (!(Math.abs(d0 - d1) <= EPSILON)) { + overlapsTarget.push(new Float32Array([d0, d1])); + } + return true; + } + return false; + }; +}))(); +// Trim the provided line to just the section below the given triangle plane +((function () { + const _lineDirection = new Vector3$1(); + const _planeHit = new Vector3$1(); + const _centerPoint = new Vector3$1(); + const _planePoint = new Vector3$1(); + return function trimToBeneathTriPlane(tri, line, lineTarget) { + if (tri.needsUpdate) { + tri.update(); + } + lineTarget.copy(line); + // handle vertical triangles + const { plane } = tri; + if (isYProjectedTriangleDegenerate(tri)) { + return false; + } + // if the line and plane are coplanar then return that we can't trim + line.delta(_lineDirection); + const areCoplanar = plane.normal.dot(_lineDirection) === 0.0; + if (areCoplanar) { + return false; + } + // if the line does intersect the plane then trim + const doesLineIntersect = plane.intersectLine(line, _planeHit); + if (doesLineIntersect) { + const { start, end } = lineTarget; + // test the line side with the largest segment extending beyond the plane + let testPoint; + let flipped = false; + if (start.distanceTo(_planeHit) > end.distanceTo(_planeHit)) { + testPoint = start; + } + else { + testPoint = end; + flipped = true; + } + // get the center point of the line segment and the plane hit + _centerPoint.lerpVectors(testPoint, _planeHit, 0.5); + getPlaneYAtPoint(tri.plane, _centerPoint, _planePoint); + // adjust the appropriate line point align with the plane hit point + if (_planePoint.y < _centerPoint.y) { + if (flipped) + end.copy(_planeHit); + else + start.copy(_planeHit); + } + else if (flipped) + start.copy(_planeHit); + else + end.copy(_planeHit); + return true; + } + return false; + }; +}))(); +// Converts the given array of overlaps into line segments +((function () { + const newLine = new Line3(); + return function overlapsToLines(line, overlaps, target = []) { + compressEdgeOverlaps(overlaps); + const invOverlaps = [[0, 1]]; + for (let i = 0, l = overlaps.length; i < l; i++) { + const invOverlap = invOverlaps[i]; + const overlap = overlaps[i]; + invOverlap[1] = overlap[0]; + invOverlaps.push(new Float32Array([overlap[1], 1])); + } + for (let i = 0, l = invOverlaps.length; i < l; i++) { + const { start, end } = line; + newLine.start.lerpVectors(start, end, invOverlaps[i][0]); + newLine.end.lerpVectors(start, end, invOverlaps[i][1]); + target.push( + // @ts-ignore + new Float32Array([ + newLine.start.x, + newLine.start.y, + newLine.start.z, + newLine.end.x, + newLine.end.y, + newLine.end.z + ])); + } + return target; + }; +}))(); +// compresses the given edge overlaps into a minimal set of representative objects +function compressEdgeOverlaps(overlaps) { + overlaps.sort((a, b) => { + return a[0] - b[0]; + }); + for (let i = 1; i < overlaps.length; i++) { + const overlap = overlaps[i]; + const prevOverlap = overlaps[i - 1]; + if (overlap[0] <= prevOverlap[1]) { + prevOverlap[1] = Math.max(prevOverlap[1], overlap[1]); + overlaps.splice(i, 1); + i--; + } + } +} + +class Primitive { + constructor() { + /** + * All the selected items within this primitive. + */ + this.selected = new Selector(); + this._baseColor = new THREE$1.Color(0.5, 0.5, 0.5); + this._selectColor = new THREE$1.Color(1, 0, 0); + this.list = {}; + } + /** + * The list of ids of the {@link list} of items. + */ + get ids() { + const ids = []; + for (const id in this.list) { + ids.push(this.list[id].id); + } + return ids; + } + /** + * The color of all the points. + */ + get baseColor() { + return this._baseColor; + } + /** + * The color of all the points. + */ + set baseColor(color) { + this._baseColor.copy(color); + } + /** + * The color of all the selected points. + */ + get selectColor() { + return this._selectColor; + } + /** + * The color of all the selected points. + */ + set selectColor(color) { + this._selectColor.copy(color); + } + get _positionBuffer() { + return this.mesh.geometry.attributes.position; + } + get _colorBuffer() { + return this.mesh.geometry.attributes.color; + } + get _normalBuffer() { + return this.mesh.geometry.attributes.normal; + } + get _attributes() { + return Object.values(this.mesh.geometry.attributes); + } +} + +class Vertices extends Primitive { + /** + * The color of all the points. + */ + set baseColor(color) { + super.baseColor = color; + const allIDs = this.idMap.ids; + const unselected = this.selected.getUnselected(allIDs); + this.updateColor(unselected); + } + /** + * The color of all the selected points. + */ + set selectColor(color) { + super.selectColor = color; + this.updateColor(this.selected.data); + } + /** + * Creates a new instance of vertices + * @param size Visualization point size + */ + constructor(size = 0.1) { + super(); + /** The map between each vertex ID and its index. */ + this.idMap = new IdIndexMap(); + const geometry = new THREE$1.BufferGeometry(); + const material = new THREE$1.PointsMaterial({ + size, + vertexColors: true, + }); + this.mesh = new THREE$1.Points(geometry, material); + this.mesh.frustumCulled = false; + this._buffers = new BufferManager(geometry); + this._buffers.createAttribute("position"); + this._buffers.createAttribute("color"); + } + /** + * Gets the coordinates of the vertex with the given ID. + * @param id the id of the point to retrieve. + */ + get(id) { + const index = this.idMap.getIndex(id); + if (index === null) + return null; + return [ + this._positionBuffer.getX(index), + this._positionBuffer.getY(index), + this._positionBuffer.getZ(index), + ]; + } + /** + * Add new points + * @param ids the vertices to edit. + * @param coordinates the new coordinates for the vertex. + */ + set(ids, coordinates) { + const [x, y, z] = coordinates; + for (const id of ids) { + const index = this.idMap.getIndex(id); + if (index === null) + return; + this._positionBuffer.setXYZ(index, x, y, z); + } + this._positionBuffer.needsUpdate = true; + } + /** + * Add new points + * @param coordinates Points to add. + * @returns the list of ids of the created vertices. + */ + add(coordinates) { + this._buffers.resizeIfNeeded(coordinates.length); + const ids = []; + const { r, g, b } = this._baseColor; + for (let i = 0; i < coordinates.length; i++) { + const index = this.idMap.add(); + const id = this.idMap.getId(index); + ids.push(id); + const [x, y, z] = coordinates[i]; + this._positionBuffer.setXYZ(index, x, y, z); + this._colorBuffer.setXYZ(index, r, g, b); + } + this._buffers.updateCount(this.idMap.size); + this.mesh.geometry.computeBoundingSphere(); + this.mesh.geometry.computeBoundingBox(); + return ids; + } + /** + * Select or unselects the given vertices. + * @param active Whether to select or unselect. + * @param ids List of vertices IDs to select or deselect. If not + * defined, all vertices will be selected or deselected. + */ + select(active, ids = this.idMap.ids) { + const idsToUpdate = this.selected.select(active, ids, this.idMap.ids); + this.updateColor(idsToUpdate); + } + /** + * Applies a transformation to the selected vertices. + * @param matrix Transformation matrix to apply. + * @param ids IDs of the vertices to transform. + */ + transform(matrix, ids = this.selected.data) { + const vector = new THREE$1.Vector3(); + for (const id of ids) { + const index = this.idMap.getIndex(id); + if (index === null) + continue; + const x = this._positionBuffer.getX(index); + const y = this._positionBuffer.getY(index); + const z = this._positionBuffer.getZ(index); + vector.set(x, y, z); + vector.applyMatrix4(matrix); + this._positionBuffer.setXYZ(index, vector.x, vector.y, vector.z); + } + this._positionBuffer.needsUpdate = true; + } + /** + * Quickly removes all the points and releases all the memory used. + */ + clear() { + this._buffers.resetAttributes(); + this.selected.data.clear(); + this.idMap.reset(); + } + /** + * Removes the selected points from the list + */ + remove(ids = this.selected.data) { + for (const id of ids) { + for (const attribute of this._attributes) { + this.removeFromBuffer(id, attribute); + } + this.idMap.remove(id); + } + this.select(false, ids); + this._buffers.updateCount(this.idMap.size); + } + addAttribute(attribute) { + this._buffers.addAttribute(attribute); + } + removeFromBuffer(id, buffer) { + const lastIndex = this.idMap.getLastIndex(); + const index = this.idMap.getIndex(id); + if (index !== null) { + buffer.setXYZ(index, buffer.getX(lastIndex), buffer.getY(lastIndex), buffer.getZ(lastIndex)); + } + } + updateColor(ids = this.idMap.ids) { + const colorBuffer = this._colorBuffer; + for (const id of ids) { + const isSelected = this.selected.data.has(id); + const index = this.idMap.getIndex(id); + if (index === null) + continue; + const color = isSelected ? this._selectColor : this._baseColor; + colorBuffer.setXYZ(index, color.r, color.g, color.b); + } + colorBuffer.needsUpdate = true; + } +} + +class Lines extends Primitive { + /** + * The color of all the points. + */ + set baseColor(color) { + super.baseColor = color; + const allIDs = this.idMap.ids; + const unselected = this.selected.getUnselected(allIDs); + this.updateColor(unselected); + this.vertices.baseColor = color; + } + /** + * The color of all the selected points. + */ + set selectColor(color) { + super.selectColor = color; + this.updateColor(this.selected.data); + this.vertices.selectColor = color; + } + constructor() { + super(); + /** {@link Primitive.mesh } */ + this.mesh = new THREE$1.LineSegments(); + /** + * The list of segments. + */ + this.list = {}; + /** + * The geometric representation of the vertices that define this instance of lines. + */ + this.vertices = new Vertices(); + /** + * The map that keeps track of the segments ID and their position in the geometric buffer. + */ + this.idMap = new IdIndexMap(); + /** + * The list of points that define each line. + */ + this.points = {}; + const material = new THREE$1.LineBasicMaterial({ vertexColors: true }); + const geometry = new THREE$1.BufferGeometry(); + this.mesh = new THREE$1.LineSegments(geometry, material); + this._buffers = new BufferManager(geometry); + this.setupAttributes(); + } + /** + * Quickly removes all the lines and releases all the memory used. + */ + clear() { + this.selected.data.clear(); + this.mesh.geometry.dispose(); + this.mesh.geometry = new THREE$1.BufferGeometry(); + this.setupAttributes(); + this.vertices.clear(); + this.idMap.reset(); + this.list = {}; + this.points = {}; + } + /** + * Adds a segment between two {@link points}. + * @param ids - the IDs of the {@link points} that define the segments. + */ + add(ids) { + const createdIDs = []; + const newVerticesCount = (ids.length - 1) * 2; + this._buffers.resizeIfNeeded(newVerticesCount); + const { r, g, b } = this._baseColor; + for (let i = 0; i < ids.length - 1; i++) { + const startID = ids[i]; + const endID = ids[i + 1]; + const start = this.vertices.get(startID); + const end = this.vertices.get(endID); + if (start === null || end === null) + continue; + const index = this.idMap.add(); + const id = this.idMap.getId(index); + createdIDs.push(id); + const startPoint = this.points[startID]; + const endPoint = this.points[endID]; + startPoint.start.add(id); + endPoint.end.add(id); + this._positionBuffer.setXYZ(index * 2, start[0], start[1], start[2]); + this._positionBuffer.setXYZ(index * 2 + 1, end[0], end[1], end[2]); + this._colorBuffer.setXYZ(index * 2, r, g, b); + this._colorBuffer.setXYZ(index * 2 + 1, r, g, b); + this.list[id] = { id, start: startID, end: endID }; + } + const allVerticesCount = this.idMap.size * 2; + this._buffers.updateCount(allVerticesCount); + this.mesh.geometry.computeBoundingSphere(); + this.mesh.geometry.computeBoundingBox(); + return createdIDs; + } + get(id) { + const line = this.list[id]; + const start = this.vertices.get(line.start); + const end = this.vertices.get(line.end); + if (!start || !end) + return null; + return [start, end]; + } + /** + * Adds the points that can be used by one or many lines. + * @param points the list of (x, y, z) coordinates of the points. + */ + addPoints(points) { + const ids = this.vertices.add(points); + for (const id of ids) { + this.points[id] = { start: new Set(), end: new Set() }; + } + return ids; + } + /** + * Select or unselects the given lines. + * @param active Whether to select or unselect. + * @param ids List of lines IDs to select or unselect. If not + * defined, all lines will be selected or deselected. + */ + select(active, ids = this.ids) { + const allLines = this.idMap.ids; + const lineIDs = ids || allLines; + const idsToUpdate = this.selected.select(active, lineIDs, allLines); + this.updateColor(idsToUpdate); + const points = []; + for (const id of idsToUpdate) { + const line = this.list[id]; + points.push(line.start); + points.push(line.end); + } + this.selectPoints(active, points); + } + selectPoints(active, ids) { + this.vertices.select(active, ids); + } + /** + * Removes the specified lines. + * @param ids List of lines to remove. If no line is specified, + * removes all the selected lines. + */ + remove(ids = this.selected.data) { + const position = this._positionBuffer; + const color = this._colorBuffer; + const points = []; + for (const id of ids) { + const line = this.list[id]; + if (line === undefined) + continue; + this.removeFromBuffer(id, position); + this.removeFromBuffer(id, color); + this.idMap.remove(id); + const startPoint = this.points[line.start]; + points.push(line.start, line.end); + startPoint.start.delete(id); + const endPoint = this.points[line.end]; + endPoint.end.delete(id); + delete this.list[id]; + this.selected.data.delete(id); + } + position.needsUpdate = true; + color.needsUpdate = true; + this.selectPoints(false, points); + } + /** + * Removes the specified points and all lines that use them. + * @param ids List of points to remove. If no point is specified, + * removes all the selected points. + */ + removePoints(ids = this.vertices.selected.data) { + const lines = new Set(); + for (const id of ids) { + const point = this.points[id]; + if (!point) + continue; + for (const id of point.start) { + lines.add(id); + } + for (const id of point.end) { + lines.add(id); + } + } + this.vertices.remove(ids); + this.remove(lines); + } + /** + * Sets a point of the line to a specific position. + * @param id The point whose position to set. + * @param coordinates The new coordinates of the point. + */ + setPoint(id, coordinates) { + const indices = new Set(); + this.getPointIndices(id, indices); + this.setLines(coordinates, indices); + this.vertices.set([id], coordinates); + } + transform(matrix) { + const indices = new Set(); + const points = new Set(); + for (const id of this.vertices.selected.data) { + points.add(id); + this.getPointIndices(id, indices); + } + this.transformLines(matrix, indices); + this.vertices.transform(matrix, points); + } + getPointIndices(id, indices) { + const point = this.points[id]; + for (const id of point.start) { + const index = this.idMap.getIndex(id); + if (index === null) { + continue; + } + indices.add(index * 2); + } + for (const id of point.end) { + const index = this.idMap.getIndex(id); + if (index === null) { + continue; + } + indices.add(index * 2 + 1); + } + } + setupAttributes() { + this._buffers.createAttribute("position"); + this._buffers.createAttribute("color"); + } + removeFromBuffer(id, buffer) { + const index = this.idMap.getIndex(id); + if (index === null) + return; + const lastIndex = this.idMap.getLastIndex(); + const indices = [index * 2, index * 2 + 1]; + const lastIndices = [lastIndex * 2, lastIndex * 2 + 1]; + for (let i = 0; i < 2; i++) { + const x = buffer.getX(lastIndices[i]); + const y = buffer.getY(lastIndices[i]); + const z = buffer.getZ(lastIndices[i]); + buffer.setXYZ(indices[i], x, y, z); + } + buffer.count -= 2; + } + transformLines(matrix, indices) { + const vector = new THREE$1.Vector3(); + for (const index of indices) { + const x = this._positionBuffer.getX(index); + const y = this._positionBuffer.getY(index); + const z = this._positionBuffer.getZ(index); + vector.set(x, y, z); + vector.applyMatrix4(matrix); + this._positionBuffer.setXYZ(index, vector.x, vector.y, vector.z); + } + this._positionBuffer.needsUpdate = true; + } + setLines(coords, indices) { + const [x, y, z] = coords; + for (const index of indices) { + this._positionBuffer.setXYZ(index, x, y, z); + } + this._positionBuffer.needsUpdate = true; + } + updateColor(ids = this.ids) { + const colorAttribute = this._colorBuffer; + for (const id of ids) { + const line = this.list[id]; + const isSelected = this.selected.data.has(line.id); + const { r, g, b } = isSelected ? this._selectColor : this._baseColor; + const index = this.idMap.getIndex(id); + if (index === null) + continue; + colorAttribute.setXYZ(index * 2, r, g, b); + colorAttribute.setXYZ(index * 2 + 1, r, g, b); + } + colorAttribute.needsUpdate = true; + } +} + +class RoadNavigator extends Component { + constructor(components) { + super(components); + this.enabled = true; + this._lines = new Lines(); + // TODO: this should be handled better and allow to define lines per IFC model + this._defaultID = "RoadNavigator"; + this.components.tools.add(RoadNavigator.uuid, this); + const raycaster = this.components.raycaster.get(); + raycaster.params.Points = { threshold: 1 }; + this._lines.baseColor = new THREE$1.Color("#6528D7"); + const scene = components.scene.get(); + scene.add(this._lines.mesh); + scene.add(this._lines.vertices.mesh); + this.longSection = new Simple2DScene(components); + this._longProjection = new Lines(); + const longSection = this.longSection.get(); + longSection.add(this._longProjection.mesh, this._longProjection.vertices.mesh); + } + get() { + return this._lines; + } + drawPoint() { + const found = this.components.raycaster.castRay(); + if (!found) + return; + const { x, y, z } = found.point; + const [id] = this._lines.addPoints([[x, y, z]]); + this._lines.vertices.mesh.geometry.computeBoundingSphere(); + const selected = Array.from(this._lines.vertices.selected.data); + if (selected.length) { + const previousPoint = selected[0]; + this._lines.add([previousPoint, id]); + } + this._lines.selectPoints(false); + this._lines.selectPoints(true, [id]); + this.updateLongProjection(); + this.cache(); + } + select() { + this._lines.selectPoints(false); + // TODO: Fix cast ray type + const found = this.components.raycaster.castRay([ + this._lines.vertices.mesh, + ]); + if (found && found.index !== undefined) { + const id = this._lines.vertices.idMap.getId(found.index); + this._lines.selectPoints(true, [id]); + } + } + delete() { + this._lines.removePoints(); + // TODO: Clay bug: The selected point keeps existing in vertices + this._lines.vertices.selected.data.clear(); + this._lines.vertices.mesh.geometry.computeBoundingSphere(); + this.updateLongProjection(); + this.cache(); + } + // TODO: All fragment clases should include built-in caching in dexie + cache(id = this._defaultID) { + const points = []; + const lines = []; + const newPointIDMap = new Map(); + let pointCounter = 0; + for (const key in this._lines.points) { + const pointID = parseInt(key, 10); + const coords = this._lines.vertices.get(pointID); + if (!coords) + continue; + points.push(coords); + newPointIDMap.set(pointID, pointCounter); + pointCounter++; + } + for (const id in this._lines.list) { + const line = this._lines.list[id]; + const newStart = newPointIDMap.get(line.start); + const newEnd = newPointIDMap.get(line.end); + if (newStart !== undefined && newEnd !== undefined) { + lines.push([newStart, newEnd]); + } + } + localStorage.setItem(id, JSON.stringify({ lines, points })); + } + loadCached(id = this._defaultID) { + const cached = localStorage.getItem(id); + if (!cached) + return; + const parsed = JSON.parse(cached); + if (parsed.points && parsed.points.length) { + this._lines.addPoints(parsed.points); + } + if (parsed.lines && parsed.lines.length) { + for (const line of parsed.lines) { + this._lines.add(line); + } + } + } + updateLongProjection() { + // Assuming that the lines of the road axis are sorted + // TODO: Sort them in case they are not + this._longProjection.clear(); + const vertices = this._lines.mesh.geometry.attributes.position; + console.log(vertices); + const v1 = new THREE$1.Vector3(); + const v2 = new THREE$1.Vector3(); + const points = []; + let accumulatedX = 0; + for (let i = 0; i < vertices.count * 3 - 5; i += 6) { + const x1 = vertices.array[i]; + const y1 = vertices.array[i + 1]; + const z1 = vertices.array[i + 2]; + const x2 = vertices.array[i + 3]; + const y2 = vertices.array[i + 4]; + const z2 = vertices.array[i + 5]; + v1.set(x1, y1, z1); + v2.set(x2, y2, z2); + const length = v1.distanceTo(v2); + accumulatedX += length; + points.push([accumulatedX, y2, 0]); + } + const ids = this._longProjection.addPoints(points); + this._longProjection.add(ids); + } +} +/** {@link Component.uuid} */ +RoadNavigator.uuid = "85f2c89c-4c6b-4c7d-bc20-5b675874b228"; +ToolComponent.libraryUUIDs.add(RoadNavigator.uuid); + +export { AngleMeasurement, AreaMeasurement, ArrowAnnotation, AttributeSet, BaseRenderer, BaseSVGAnnotation, Button, Canvas, CheckboxInput, CircleAnnotation, CloudProcessor, ColorInput, CommandsMenu, Component, Components, CubeMap, DXFExporter, DimensionLabelClassName, DimensionPreviewClassName, Disposer, DragAndDropInput, DrawManager, Drawer, Dropdown, EdgesClipper, EdgesPlane, Event, FloatingWindow, FragmentBoundingBox, FragmentCacher, FragmentClassifier, FragmentClipStyler, FragmentExploder, FragmentHider, FragmentHighlighter, FragmentIfcLoader, FragmentManager, FragmentPlans, FragmentTree, GeometryVerticesMarker, IfcCategories, IfcCategoryMap, IfcElements, IfcJsonExporter, IfcPropertiesFinder, IfcPropertiesManager, IfcPropertiesProcessor, IfcPropertiesUtils, LengthMeasurement, LineIntersectionPicker, LocalCacher, MapboxWindow, MaterialManager, MiniMap, Modal, Mouse, OrthoPerspectiveCamera, PostproductionRenderer, PropertyTag, RangeInput, RectangleAnnotation, RoadNavigator, ScreenCuller, ShadowDropper, Simple2DMarker, Simple2DScene, SimpleCamera, SimpleClipper, SimpleDimensionLine, SimpleGrid, SimplePlane, SimpleRaycaster, SimpleRenderer, SimpleSVGViewport, SimpleScene, SimpleUICard, SimpleUIComponent, Spinner, TextAnnotation, TextArea, TextInput, ToastNotification, ToolComponent, Toolbar, TreeView, UIElement, UIManager, VertexPicker, ViewpointsManager, bufferGeometryToIndexed, generateExpressIDFragmentIDMap, generateIfcGUID, numberOfDigits, toCompositeID, tooeenRandomId }; diff --git a/src/settings.ts b/src/settings.ts new file mode 100644 index 0000000..848b5cf --- /dev/null +++ b/src/settings.ts @@ -0,0 +1,83 @@ +/* + * Power BI Visualizations + * + * Copyright (c) Microsoft Corporation + * All rights reserved. + * MIT License + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the ""Software""), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +"use strict"; + +import { formattingSettings } from "powerbi-visuals-utils-formattingmodel"; + +import FormattingSettingsCard = formattingSettings.Card; +import FormattingSettingsSlice = formattingSettings.Slice; +import FormattingSettingsModel = formattingSettings.Model; + +/** + * Data Point Formatting Card + */ +class DataPointCardSettings extends FormattingSettingsCard { + defaultColor = new formattingSettings.ColorPicker({ + name: "defaultColor", + displayName: "Default color", + value: { value: "" } + }); + + showAllDataPoints = new formattingSettings.ToggleSwitch({ + name: "showAllDataPoints", + displayName: "Show all", + value: true + }); + + fill = new formattingSettings.ColorPicker({ + name: "fill", + displayName: "Fill", + value: { value: "" } + }); + + fillRule = new formattingSettings.ColorPicker({ + name: "fillRule", + displayName: "Color saturation", + value: { value: "" } + }); + + fontSize = new formattingSettings.NumUpDown({ + name: "fontSize", + displayName: "Text Size", + value: 12 + }); + + name: string = "dataPoint"; + displayName: string = "Data colors"; + slices: Array = [this.defaultColor, this.showAllDataPoints, this.fill, this.fillRule, this.fontSize]; +} + +/** +* visual settings model class +* +*/ +export class VisualFormattingSettingsModel extends FormattingSettingsModel { + // Create formatting settings model formatting cards + dataPointCard = new DataPointCardSettings(); + + cards = [this.dataPointCard]; +} diff --git a/src/viewer/BimModel.ts b/src/viewer/BimModel.ts new file mode 100644 index 0000000..02d6e36 --- /dev/null +++ b/src/viewer/BimModel.ts @@ -0,0 +1,32 @@ +import * as THREE from "three"; +import { FragmentsGroup } from "bim-fragment"; + +import { Context } from "./core"; +import { MaterialManager } from "./material/MaterialManager"; +import { IfcLoader } from "./model/ifc/IfcLoader"; +export class BimModel { + /** + * + */ + scene: THREE.Scene = new THREE.Scene() + material: MaterialManager = new MaterialManager() + context!: Context; + ifcLoader: IfcLoader = new IfcLoader() + constructor( private container: HTMLDivElement, private canvas: HTMLCanvasElement ) { + this.context = new Context( this.scene, this.container, this.canvas, this.material ) + } + loadModel( buffer: Uint8Array, btn: HTMLButtonElement ) { + this.ifcLoader.ifcLoaded.on( ( model: FragmentsGroup ) => { + this.scene.add( model ) + btn.textContent = this.scene.children.length.toString() + } ) + this.ifcLoader?.loadFragment( buffer ); + } + private loadFragment = async ( dataBlob: Uint8Array ) => { + + this.ifcLoader.ifcLoaded.on( ( model: FragmentsGroup ) => { + this.scene.add( model ) + } ) + this.ifcLoader?.loadFragment( dataBlob ); + } +} \ No newline at end of file diff --git a/src/viewer/Event.ts b/src/viewer/Event.ts new file mode 100644 index 0000000..88e4441 --- /dev/null +++ b/src/viewer/Event.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/** + * Simple event handler by + * [Jason Kleban](https://gist.github.com/JasonKleban/50cee44960c225ac1993c922563aa540). + * Keep in mind that: + * - If you want to remove it later, you might want to declare the callback as + * an object. + * - If you want to maintain the reference to `this`, you will need to declare + * the callback as an arrow function. + */ +export class Event { + /** + * Add a callback to this event instance. + * @param handler - the callback to be added to this event. + */ + on( handler: T extends void ? { (): void } : { ( data: T ): void } ): void { + this.handlers.push( handler ); + } + + /** + * Removes a callback from this event instance. + * @param handler - the callback to be removed from this event. + */ + off( handler: T extends void ? { (): void } : { ( data: T ): void } ): void { + this.handlers = this.handlers.filter( ( h ) => h !== handler ); + } + + /** + * Triggers all the callbacks assigned to this event. + */ + trigger: T extends void ? { (): void } : { ( data?: T ): void } = ( ( + data?: T + ) => { + // @ts-ignore + this.handlers.slice( 0 ).forEach( ( h ) => h( data ) ); + } ) as any; + + /** + * Gets rid of all the suscribed events. + */ + reset() { + this.handlers.length = 0; + } + + private handlers: ( T extends void ? { (): void } : { ( data: T ): void } )[] = + []; +} \ No newline at end of file diff --git a/src/viewer/core/BoxCube.ts b/src/viewer/core/BoxCube.ts new file mode 100644 index 0000000..899b216 --- /dev/null +++ b/src/viewer/core/BoxCube.ts @@ -0,0 +1,471 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import fontJSON from "./droid_sans_bold.typeface.json"; +import { BoxGeometry, EdgesGeometry, LineSegments, Mesh, RingGeometry, Vector3, Scene } from "three"; +import { FontLoader } from "three/examples/jsm/loaders/FontLoader.js"; +import { TextGeometry } from "three/examples/jsm/geometries/TextGeometry.js"; +// this class create all item of box cube view +/** + * @param {Object three JS} scene + * @param {class or object} material => material manager + */ +export class BoxCube { + private _scene: Scene + private _material: any + private _loader: FontLoader = new FontLoader() + private _font: any; + + constructor( scene: Scene, material: any ) { + this._scene = scene; + this._material = material; + // load font json + this._font = this._loader.parse( fontJSON ); + // create 24 meshes + this.init() + } + /** + * release memories + */ + dispose() { + this._scene.children.forEach( ( child ) => { + if ( child.userData.dispose ) BoxCube.disposeItem( child ); + } ); + } + private init() { + this.initItem( "left", 96, 96, 16, 0, 0, 56 ); + this.initTextSide( "L", -20, -24, 64 ); + this.initItem( "right", 96, 96, 16, 0, 0, -56 ); + this.initTextSide( "R", -30, -24, 64 ); + + this.initItem( "top", 96, 16, 96, 0, 56, 0 ); + this.initTextSide( "T", -20, -24, 64 ); + + this.initItem( "bottom", 96, 16, 96, 0, -56, 0 ); + this.initTextSide( "BO", -55, -24, 64 ); + + this.initItem( "front", 16, 96, 96, 56, 0, 0 ); + this.initTextSide( "F", -30, -24, 64 ); + this.initItem( "back", 16, 96, 96, -56, 0, 0 ); + this.initTextSide( "B", -30, -24, 64 ); + + this.initTextRing( "W", -32, -62, 105 ); + this.initTextRing( "E", -16, -62, -105 ); + this.initTextRing( "N", -105, -62, 20 ); + this.initTextRing( "S", 105, -62, 20 ); + + this.initItem( "left_front", 16, 96, 16, 56, 0, 56 ); + this.initItem( "left_back", 16, 96, 16, -56, 0, 56 ); + this.initItem( "right_front", 16, 96, 16, 56, 0, -56 ); + this.initItem( "right_back", 16, 96, 16, -56, 0, -56 ); + + this.initItem( "top_left", 96, 16, 16, 0, 56, 56 ); + this.initItem( "top_right", 96, 16, 16, 0, 56, -56 ); + this.initItem( "top_front", 16, 16, 96, 56, 56, 0 ); + this.initItem( "top_back", 16, 16, 96, -56, 56, 0 ); + + this.initItem( "bottom_left", 96, 16, 16, 0, -56, 56 ); + this.initItem( "bottom_right", 96, 16, 16, 0, -56, -56 ); + this.initItem( "bottom_front", 16, 16, 96, 56, -56, 0 ); + this.initItem( "bottom_back", 16, 16, 96, -56, -56, 0 ); + + this.initItem( "top_left_front", 16, 16, 16, 56, 56, 56 ); + this.initItem( "top_left_back", 16, 16, 16, -56, 56, 56 ); + this.initItem( "top_right_front", 16, 16, 16, 56, 56, -56 ); + this.initItem( "top_right_back", 16, 16, 16, -56, 56, -56 ); + + this.initItem( "bottom_left_front", 16, 16, 16, 56, -56, 56 ); + this.initItem( "bottom_left_back", 16, 16, 16, -56, -56, 56 ); + this.initItem( "bottom_right_front", 16, 16, 16, 56, -56, -56 ); + this.initItem( "bottom_right_back", 16, 16, 16, -56, -56, -56 ); + this.initRing(); + this.initOutLine(); + } + /** + * + * @param {*} item + */ + static disposeItem( item: any ) { + item.geometry.dispose(); + item.geometry = null; + item.removeFromParent(); + item = null; + } + /** + * + * @param {*} name + * @param {*} x0 + * @param {*} y0 + * @param {*} z0 + * @param {*} x1 + * @param {*} y1 + * @param {*} z1 + * @returns + */ + private initItem( name: string, x0: number, y0: number, z0: number, x1: number, y1: number, z1: number ): Mesh { + const geometry = new BoxGeometry( x0, y0, z0 ); + geometry.translate( x1, y1, z1 ); + const mesh = new Mesh( geometry, this._material.normalCube ); + mesh.userData.Element = true; + mesh.userData.dispose = true; + mesh.name = name; + this._scene.add( mesh ); + return mesh; + } + /** + * + * @returns + */ + private initRing() { + const geometry = new RingGeometry( 100, 160, 30 ); + geometry.rotateX( -Math.PI / 2 ); + geometry.translate( 0, -65, 0 ); + const mesh = new Mesh( geometry, this._material.ring ); + mesh.userData.dispose = true; + + this._scene.add( mesh ); + return mesh; + } + /** + * + * @returns + */ + initOutLine() { + const geometry = new BoxGeometry( 128, 128, 128 ); + const edges = new EdgesGeometry( geometry ); + const outLine = new LineSegments( edges, this._material.outLineCube ); + outLine.userData.dispose = true; + + this._scene.add( outLine ); + return outLine; + } + /** + * + * @param {*} scene + * @param {*} name + * @param {*} x1 + * @param {*} y1 + * @param {*} z1 + * @returns + */ + initTextSide( name, x1, y1, z1 ) { + const parameters = { + font: this._font, + size: 60, + height: 2, + }; + const textCube = new TextGeometry( name, parameters ); + textCube.translate( x1, y1, z1 ); + this.rotateTextCube( name, textCube ); + const meshCube = new Mesh( textCube, this._material.textCube ); + meshCube.userData.dispose = true; + + this._scene.add( meshCube ); + return meshCube; + } + /** + * + * @param {*} scene + * @param {*} name + * @param {*} nameText + * @param {*} x1 + * @param {*} y1 + * @param {*} z1 + * @returns + */ + initTextRing( name, x1, y1, z1 ) { + const parameters = { + font: this._font, + size: 40, + height: 2, + }; + const textCube = new TextGeometry( name, parameters ); + this.rotateRing( name, textCube ); + textCube.translate( x1, y1, z1 ); + const meshCube = new Mesh( textCube, this._material.textRing ); + meshCube.userData.dispose = true; + meshCube.userData.Element = true; + this._scene.add( meshCube ); + return meshCube; + } + /** + * + * @param {*} name + * @param {*} textCube + */ + rotateRing( name: string, textCube: TextGeometry ) { + switch ( name ) { + case "W": + textCube.rotateX( Math.PI / 2 ); + break; + case "E": + textCube.rotateX( -Math.PI / 2 ); + break; + case "S": + textCube.rotateY( Math.PI / 2 ); + textCube.rotateZ( -Math.PI / 2 ); + break; + case "N": + textCube.rotateY( Math.PI / 2 ); + textCube.rotateZ( Math.PI / 2 ); + break; + default: + break; + } + } + /** + * + * @param {*} name + * @param {*} textCube + */ + rotateTextCube( name, textCube ) { + switch ( name ) { + case "L": + break; + case "R": + textCube.rotateY( Math.PI ); + break; + case "T": + textCube.rotateY( Math.PI / 2 ); + textCube.rotateZ( Math.PI / 2 ); + break; + case "BO": + textCube.rotateX( Math.PI / 2 ); + break; + case "F": + textCube.rotateY( Math.PI / 2 ); + break; + case "B": + textCube.rotateY( -Math.PI / 2 ); + break; + default: + break; + } + } + +} +/** + * + * @param {*} view + * @param {*} name + * @returns + */ +export function switchPick( contextCamera: any, name: any ) { + const { currentCamera, PerspectiveCamera, controls, radius, center } = contextCamera; + // var max = currentCamera.userData.max ? currentCamera.userData.max : new Vector3( radius, radius, radius ); + // var min = currentCamera.userData.min ? currentCamera.userData.min : new Vector3( -radius, -radius, -radius ); + // const fov = PerspectiveCamera.fov; + // const aspect = view.width / view.height; + // //get length model + // var length = Math.abs( max.x - min.x ); + // if ( areEqual( length, 0.0, 1e-3 ) ) length = radius; + // //get width model + // var width = Math.abs( max.z - min.z ); + // if ( areEqual( width, 0.0, 1e-3 ) ) width = radius; + // //get width model + // var height = Math.abs( max.y - min.y ); + // if ( areEqual( height, 0.0, 1e-3 ) ) height = radius; + + // function getDepth( length0, width0, height0 ) { + // var aspect1 = length0 / height0; + // var mainSide = aspect1 > aspect ? length0 : height0; + // return ( mainSide * 0.5 ) / Math.tan( ( fov * ( Math.PI / 180 ) ) / 2 ) + width0 / 2; + // } + // radius *= 2; + // var newPosition; + // switch ( name ) { + // case "left": + // newPosition = { + // x: cameraTarget.x, + // y: cameraTarget.y, + // z: cameraTarget.z + getDepth( length, width, height ), + // }; + // break; + // case "right": + // newPosition = { + // x: cameraTarget.x, + // y: cameraTarget.y, + // z: cameraTarget.z - getDepth( length, width, height ), + // }; + // break; + // case "top": + // newPosition = { + // x: cameraTarget.x, + // y: cameraTarget.y + getDepth( length, height, width ), + // z: cameraTarget.z, + // }; + // break; + // case "bottom": + // newPosition = { + // x: cameraTarget.x, + // y: cameraTarget.y - getDepth( length, height, width ), + // z: cameraTarget.z, + // }; + // break; + // case "front": + // newPosition = { + // x: cameraTarget.x + getDepth( width, length, height ), + // y: cameraTarget.y, + // z: cameraTarget.z, + // }; + // break; + // case "back": + // newPosition = { + // x: cameraTarget.x - getDepth( width, length, height ), + // y: cameraTarget.y, + // z: cameraTarget.z, + // }; + // break; + // case "left_front": + // newPosition = { + // x: cameraTarget.x + radius, + // y: cameraTarget.y, + // z: cameraTarget.z + radius, + // }; + // break; + // case "left_back": + // newPosition = { + // x: cameraTarget.x - radius, + // y: cameraTarget.y, + // z: cameraTarget.z + radius, + // }; + // break; + // case "right_front": + // newPosition = { + // x: cameraTarget.x + radius, + // y: cameraTarget.y, + // z: cameraTarget.z - radius, + // }; + // break; + // case "right_back": + // newPosition = { + // x: cameraTarget.x - radius, + // y: cameraTarget.y, + // z: cameraTarget.z - radius, + // }; + // break; + // case "top_left": + // newPosition = { + // x: cameraTarget.x, + // y: cameraTarget.y + radius, + // z: cameraTarget.z + radius, + // }; + // break; + // case "top_right": + // newPosition = { + // x: cameraTarget.x, + // y: cameraTarget.y + radius, + // z: cameraTarget.z - radius, + // }; + // break; + // case "top_front": + // newPosition = { + // x: cameraTarget.x + radius, + // y: cameraTarget.y + radius, + // z: cameraTarget.z, + // }; + // break; + // case "top_back": + // newPosition = { + // x: cameraTarget.x - radius, + // y: cameraTarget.y + radius, + // z: cameraTarget.z, + // }; + // break; + // case "bottom_left": + // newPosition = { + // x: cameraTarget.x, + // y: cameraTarget.y - radius, + // z: cameraTarget.z + radius, + // }; + // break; + // case "bottom_right": + // newPosition = { + // x: cameraTarget.x, + // y: cameraTarget.y - radius, + // z: cameraTarget.z - radius, + // }; + // break; + // case "bottom_front": + // newPosition = { + // x: cameraTarget.x + radius, + // y: cameraTarget.y - radius, + // z: cameraTarget.z, + // }; + // break; + // case "bottom_back": + // newPosition = { + // x: cameraTarget.x - radius, + // y: cameraTarget.y - radius, + // z: cameraTarget.z, + // }; + // break; + // case "top_left_front": + // newPosition = { + // x: cameraTarget.x + radius, + // y: cameraTarget.y + radius, + // z: cameraTarget.z + radius, + // }; + // break; + // case "top_left_back": + // newPosition = { + // x: cameraTarget.x - radius, + // y: cameraTarget.y + radius, + // z: cameraTarget.z + radius, + // }; + // break; + // case "top_right_front": + // newPosition = { + // x: cameraTarget.x + radius, + // y: cameraTarget.y + radius, + // z: cameraTarget.z - radius, + // }; + // break; + // case "top_right_back": + // newPosition = { + // x: cameraTarget.x - radius, + // y: cameraTarget.y + radius, + // z: cameraTarget.z - radius, + // }; + // break; + // case "bottom_left_front": + // newPosition = { + // x: cameraTarget.x + radius, + // y: cameraTarget.y - radius, + // z: cameraTarget.z + radius, + // }; + // break; + // case "bottom_left_back": + // newPosition = { + // x: cameraTarget.x - radius, + // y: cameraTarget.y - radius, + // z: cameraTarget.z + radius, + // }; + // break; + // case "bottom_right_front": + // newPosition = { + // x: cameraTarget.x + radius, + // y: cameraTarget.y - radius, + // z: cameraTarget.z - radius, + // }; + // break; + // case "bottom_right_back": + // newPosition = { + // x: cameraTarget.x - radius, + // y: cameraTarget.y - radius, + // z: cameraTarget.z - radius, + // }; + // break; + // default: + // break; + // } + // controls.setLookAt( + // newPosition.x, + // newPosition.y, + // newPosition.z, + // cameraTarget.x, + // cameraTarget.y, + // cameraTarget.z, + // true + // ); + // view.updateViewAnimation(cameraTarget, oldPosition, newPosition); +} diff --git a/src/viewer/core/Camera.ts b/src/viewer/core/Camera.ts new file mode 100644 index 0000000..574257a --- /dev/null +++ b/src/viewer/core/Camera.ts @@ -0,0 +1,104 @@ +import * as THREE from "three" +import CameraControls from "camera-controls"; +export class Camera { + maxFar: number = 10e6 + minFar: number = 0.1 + radius: number = 50 + + private _size: THREE.Vector2; + set size( size: THREE.Vector2 ) { + this._size = size.clone() + this._OrthographicCamera.left = size.x / -50; + this._OrthographicCamera.right = size.y / 50; + this._PerspectiveCamera.aspect = size.x / size.y; + this._OrthographicCamera.updateProjectionMatrix(); + this._PerspectiveCamera.updateProjectionMatrix(); + } + get size(): THREE.Vector2 { + return this._size + } + + + private _protection: boolean = true + set projection( projection: boolean ) { + this._protection = projection + this.currentCamera = projection ? this._PerspectiveCamera : this._OrthographicCamera + } + get projection() { + return this._protection + } + private static getSubsetOfThree() { + return { + MOUSE: THREE.MOUSE, + Vector2: THREE.Vector2, + Vector3: THREE.Vector3, + Vector4: THREE.Vector4, + Quaternion: THREE.Quaternion, + Matrix4: THREE.Matrix4, + Spherical: THREE.Spherical, + Box3: THREE.Box3, + Sphere: THREE.Sphere, + Raycaster: THREE.Raycaster, + MathUtils: THREE.MathUtils, + }; + } + private setupCameraControls() { + CameraControls.install( { THREE: Camera.getSubsetOfThree() } ); + const controls = new CameraControls( this.currentCamera, this._domElement ); + controls.smoothTime = 0.001; + controls.dollyToCursor = true; + controls.dollyDragInverted = true; + controls.infinityDolly = false; + controls.dollySpeed = 5; + controls.setTarget( 0, 0, 0 ); + controls.mouseButtons.left = CameraControls.ACTION.ROTATE; + controls.mouseButtons.right = CameraControls.ACTION.OFFSET; + controls.mouseButtons.middle = CameraControls.ACTION.ZOOM; + controls.mouseButtons.wheel = CameraControls.ACTION.ZOOM; + return controls; + } + + + private _domElement: HTMLDivElement | HTMLCanvasElement; + private _OrthographicCamera: THREE.OrthographicCamera + private _PerspectiveCamera: THREE.PerspectiveCamera + currentCamera!: THREE.PerspectiveCamera | THREE.OrthographicCamera + controls: CameraControls + private initPerspectiveCamera() { + const camera = new THREE.PerspectiveCamera( 45, this.size.x / this.size.y, 0.1, this.maxFar ); + camera.position.set( this.radius, this.radius, this.radius ) + camera.lookAt( new THREE.Vector3( 0, 0, 0 ) ); + return camera; + } + private initOrthographicCamera() { + const camera = new THREE.OrthographicCamera( + this.size.x / -50, + this.size.x / 50, + this.size.y / 50, + this.size.y / -50, + -1 * this.minFar, + this.maxFar + ); + camera.position.set( this.radius, this.radius, this.radius ) + camera.lookAt( new THREE.Vector3( 0, 0, 0 ) ); + return camera; + } + /** + * + */ + constructor( domElement: HTMLDivElement | HTMLCanvasElement, size: THREE.Vector2 ) { + this._domElement = domElement + this._size = size + this._PerspectiveCamera = this.initPerspectiveCamera() + this._OrthographicCamera = this.initOrthographicCamera() + this.projection = true + this.controls = this.setupCameraControls() + } + dispose() { + this.controls.dispose() + } + update( delta?: number ): void { + this.currentCamera.updateProjectionMatrix(); + this.controls.update( delta! ); + } +} \ No newline at end of file diff --git a/src/viewer/core/Context.ts b/src/viewer/core/Context.ts new file mode 100644 index 0000000..c8de726 --- /dev/null +++ b/src/viewer/core/Context.ts @@ -0,0 +1,198 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable no-unused-vars */ +import * as THREE from "three"; +import { Camera } from "./Camera"; +import { Renderer } from "./Renderer"; +import { RayCaster } from "./RayCaster"; +import { Event } from "../Event"; +import { CubeView } from "./CubeView"; +import { PostProduction } from "./PostProduction"; +import { ViewPoint } from "./ViewPoint"; +export class Context { + onInitialized: Event = new Event(); + private _clock: THREE.Clock = new THREE.Clock() + + private _axes!: THREE.AxesHelper + private initAxes() { + this._axes = new THREE.AxesHelper( 3 ); + ( this._axes.material as THREE.Material ).depthTest = false!; + this._axes.renderOrder = 1; + this._scene.add( this._axes ); + } + private _ambientLight!: THREE.AmbientLight + private initAmbientLight() { + this._ambientLight = new THREE.AmbientLight( 0xffffff, 2 ); + this._scene.add( this._ambientLight ); + } + private _directionalLight!: THREE.DirectionalLight + private initDirectionalLight() { + this._directionalLight = new THREE.DirectionalLight( 0xffffff, 2 ); + this._directionalLight.position.set( 100, 100, 100 ); + this._directionalLight.target.position.set( 0, 0, 0 ); + this._directionalLight.castShadow = true; + this._directionalLight.shadow.bias = -0.001; + this._directionalLight.shadow.mapSize.width = 2048; + this._directionalLight.shadow.mapSize.height = 2048; + this._directionalLight.shadow.camera.near = 0.1; + this._directionalLight.shadow.camera.far = 1000.0; + this._directionalLight.shadow.camera.left = 10; + this._directionalLight.shadow.camera.right = -10; + this._directionalLight.shadow.camera.top = 10; + this._directionalLight.shadow.camera.bottom = -10; + this._scene.add( this._directionalLight ); + this._scene.add( this._directionalLight.target ); + } + + private _size!: THREE.Vector2 + set size( size: THREE.Vector2 ) { + this._size = size.clone() + if ( this.renderer ) this.renderer.size = size + if ( this.camera ) this.camera.size = size + } + get size() { + return this._size + } + set OrbitPoint( point: THREE.Vector3 ) { + const newP = point ? point : this.viewSphere.center + if ( newP ) + this.camera.controls.setOrbitPoint( newP.x, newP.y, newP.z ); + } + + private _viewSphere: THREE.Sphere = new THREE.Sphere( new THREE.Vector3(), 30 ) + set viewSphere( viewSphere: THREE.Sphere ) { + this._viewSphere = viewSphere.clone(); + } + get viewSphere() { + return this._viewSphere; + } + fitToModelLoaded( sphere: THREE.Sphere ) { + this.viewSphere = sphere + this.fitToSphere( this.viewSphere ) + const center = this.viewSphere.center + this.OrbitPoint = center + } + + fitToSphere( sphere: THREE.Sphere ) { + if ( !this.camera.controls ) return; + this.camera.controls.fitToSphere( sphere, true ) + } + + renderer: Renderer + camera: Camera + RayCaster: RayCaster + private _scene: THREE.Scene + private _container: HTMLDivElement + private _material: any + private _canvas: HTMLCanvasElement + private _cubeView: CubeView + private _postProduction!: PostProduction + viewPoint!: ViewPoint + constructor( scene: THREE.Scene, container: HTMLDivElement, canvas: HTMLCanvasElement, material: any ) { + this._scene = scene; + this._container = container; + this._canvas = canvas; + this._material = material; + this.size = new THREE.Vector2( this._container.clientWidth, this._container.clientHeight ) + this.renderer = new Renderer( this._container, this.size, this._canvas ); + this.camera = new Camera( this.renderer.domElement, this.size ); + this.RayCaster = new RayCaster( this._scene, this.renderer, this.camera ); + this._postProduction = new PostProduction( this._scene, this.camera.currentCamera, this.size, this.renderer.renderer, this.renderer.domElement, this.camera.controls ) + this._postProduction.enabled = true + this._postProduction.setupEvents = true + this.viewPoint = new ViewPoint( this.renderer.domElement ) + this.initAxes() + this.initAmbientLight() + this.initDirectionalLight() + this._cubeView = new CubeView( this._container, this.camera, this._material ) + this._clock.start() + this.render() + this._scene.background = new THREE.Color( 0x202932 ); + + this.resize = true + this.keyEvent = true + + } + + // + dispose() { + this.resize = false + this.keyEvent = false + this.renderer.dispose(); + this.camera.dispose(); + this._container.remove() + this._canvas.remove() + if ( this._axes ) { + this._axes.geometry.dispose(); + ( this._axes.geometry as any ) = null; + this._axes.removeFromParent(); + ( this._axes.material as THREE.Material )?.dispose(); + ( this._axes.material as any ) = null; + ( this._axes as any ) = null; + } + if ( this._cubeView ) this._cubeView.dispose() + this._clock.stop() + if ( this._postProduction ) this._postProduction.dispose() + } + + // + /** + * resize window + */ + set resize( resize: boolean ) { + if ( resize ) { + window.addEventListener( "resize", this.onResize ); + } else { + window.removeEventListener( "resize", this.onResize ); + } + } + set keyEvent( keyEvent: boolean ) { + if ( keyEvent ) { + document.addEventListener( "keydown", this.onKeyDown ); + document.addEventListener( "keyup", this.onKeyUp ); + } else { + document.removeEventListener( "keydown", this.onKeyDown ); + document.removeEventListener( "keyup", this.onKeyUp ); + } + } + + + + onResize = ( e: any ) => { + const size = new THREE.Vector2( this._container.clientWidth, this._container.clientHeight ) + this.size = size + }; + keyShift = false + onKeyDown = ( e: any ) => { + if ( e.keyCode === 17 ) { + this.viewPoint.orbit = true + } + this.keyShift = ( e.keyCode === 16 ); + }; + onKeyUp = ( e: any ) => { + this.viewPoint.orbit = false + this.keyShift = false + }; + render() { + this._clock.start(); + this.update(); + this.onInitialized.trigger( this ); + } + private update = () => { + const delta = this._clock.getDelta(); + // Works the same as requestAnimationFrame, but let us use WebXR. + this.camera.update( delta ) + if ( this._postProduction && this._postProduction.enabled ) { + this._postProduction.composer.render() + } + else { + this.renderer.renderer.render( this._scene, this.camera.currentCamera ) + } + this.renderer.labelRenderer.render( this._scene, this.camera.currentCamera ) + + if ( this._cubeView ) this._cubeView.update() + + this.renderer.renderer.setAnimationLoop( this.update ); + } +} +// \ No newline at end of file diff --git a/src/viewer/core/CubeView.ts b/src/viewer/core/CubeView.ts new file mode 100644 index 0000000..14e628b --- /dev/null +++ b/src/viewer/core/CubeView.ts @@ -0,0 +1,252 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable no-unused-vars */ +import { + AmbientLight, + DirectionalLight, + PerspectiveCamera, + OrthographicCamera, + Raycaster, + Scene, + Vector2, + Vector3, + WebGLRenderer, +} from "three"; +import { BoxCube, switchPick } from "./BoxCube"; +import { Camera } from "."; +/** + * Cube View Class + */ +export class CubeView { + radius = 500; + + scene: Scene = new Scene(); + private canvas: HTMLCanvasElement + private initCanvas(): HTMLCanvasElement { + const canvas = document.createElement( 'canvas' ) + canvas.style.position = 'absolute' + canvas.style.width = '100%' + canvas.style.height = '100%' + return canvas + } + container: HTMLDivElement + private initContainer(): HTMLDivElement { + const container = document.createElement( 'div' ) + container.style.position = 'absolute' + container.style.width = '80px' + container.style.height = '80px' + container.style.right = '0px' + return container + } + _size: Vector2 = new Vector2() + set size( size: Vector2 ) { + this._size = size.clone() + } + get size() { + return this._size + } + _boxCube: BoxCube + + + renderer!: WebGLRenderer + /** + *initialize renderer + */ + private initRenderer() { + this.renderer = new WebGLRenderer( { canvas: this.canvas, alpha: true, antialias: true } ); + this.renderer.setSize( this.size.x, this.size.y ); + this.renderer.setPixelRatio( Math.min( window.devicePixelRatio, 2 ) ); + this.renderer.localClippingEnabled = true; + } + /** + * + */ + _PerspectiveCamera!: PerspectiveCamera + private initPerspectiveCamera() { + const perspectiveCamera = new PerspectiveCamera( 45, this.size.x / this.size.y, 1, 2000 ); + perspectiveCamera.userData.radius = this.radius; + perspectiveCamera.position.set( this.radius, this.radius, this.radius ) + return perspectiveCamera + } + _OrthographicCamera!: OrthographicCamera + private initOrthographicCamera() { + const aspect = 1; + const orthographicCamera = new OrthographicCamera( + this.size.x / -aspect, + this.size.x / aspect, + this.size.y / aspect, + this.size.y / -aspect, + -1000, + 1000 + ); + orthographicCamera.position.set( 120, 120, 120 ) + return orthographicCamera + } + camera!: PerspectiveCamera | OrthographicCamera + private initCamera() { + this._PerspectiveCamera = this.initPerspectiveCamera() + this._OrthographicCamera = this.initOrthographicCamera() + this.camera = this._contextCamera.projection ? this._PerspectiveCamera : this._OrthographicCamera + } + _contextContainer: HTMLDivElement + _contextCamera: Camera + _material: any + constructor( contextContainer: HTMLDivElement, contextCamera: Camera, material: any ) { + this._contextContainer = contextContainer; + this._contextCamera = contextCamera; + this._material = material; + this.container = this.initContainer(); + this.canvas = this.initCanvas() + this.container.appendChild( this.canvas ) + this._contextContainer.appendChild( this.container ) + this.size = new Vector2( this.container.clientWidth, this.container.clientHeight ) + this.initCamera() + this.initLight(); + this.initRenderer(); + this.initRayCaster(); + this._boxCube = new BoxCube( this.scene, this._material ); + this.event = true + } + /** + * release memories + */ + dispose() { + this.event = false + this.renderer.setAnimationLoop( null ); + this.renderer.renderLists.dispose(); + this._boxCube.dispose(); + this.canvas.remove() + this.container.remove() + } + + + /** + * initialize light + */ + _AmbientLight!: AmbientLight + _DirectionalLight!: DirectionalLight + private initLight() { + this._AmbientLight = new AmbientLight( 0xffffff, 2 ); + this.scene.add( this._AmbientLight ); + this._DirectionalLight = new DirectionalLight( 0xffffff, 2 ); + this._DirectionalLight.position.set( 350, 350, 350 ); + this._DirectionalLight.target.position.set( -0, 0, 0 ); + this._DirectionalLight.castShadow = true; + this._DirectionalLight.shadow.bias = -0.001; + this._DirectionalLight.shadow.mapSize.width = 2048; + this._DirectionalLight.shadow.mapSize.height = 2048; + this._DirectionalLight.shadow.camera.near = 0.1; + this._DirectionalLight.shadow.camera.far = 100.0; + this._DirectionalLight.shadow.camera.left = 10; + this._DirectionalLight.shadow.camera.right = -10; + this._DirectionalLight.shadow.camera.top = 10; + this._DirectionalLight.shadow.camera.bottom = -10; + this.scene.add( this._DirectionalLight ); + } + + + /** + *initialize raycaster + */ + mouse!: Vector2 + rayCaster!: Raycaster + initRayCaster() { + this.rayCaster = new Raycaster(); + // (this.rayCaster.firstHitOnly as boolean) = true; + this.mouse = new Vector2(); + } + /** + * + * @param {Event} event + * @returns {object} object to wanna cast + */ + cast( event ) { + const bounds = this.renderer.domElement.getBoundingClientRect(); + const x1 = event.clientX - bounds.left; + const y1 = event.clientY - bounds.top; + const x2 = bounds.right - bounds.left; + this.mouse.x = ( x1 / x2 ) * 2 - 1; + const y2 = bounds.bottom - bounds.top; + this.mouse.y = -( y1 / y2 ) * 2 + 1; + this.rayCaster.setFromCamera( this.mouse, this.camera ); + return this.rayCaster.intersectObjects( this.scene.children.filter( ( e ) => e.userData.Element ) ); + } + /** + *event when hover on Box + */ + set event( event: boolean ) { + const { domElement } = this.renderer + if ( event ) { + domElement.addEventListener( "mousemove", this.mousemove ); + domElement.addEventListener( "mouseout", this.mouseout ); + domElement.addEventListener( "click", this.onClick ); + } else { + domElement.removeEventListener( "mousemove", this.mousemove ); + domElement.removeEventListener( "mouseout", this.mouseout ); + domElement.removeEventListener( "click", this.onClick ); + } + } + mousemove = ( event: any ) => { + this.resetMaterial(); + this.found = event + } + mouseout = ( event: any ) => { + this.resetMaterial(); + } + onClick = ( event: any ) => { + console.log( this.found ); + } + _found: any | null + set found( event ) { + this._found = this.cast( event )[0]; + const { domElement } = this.renderer + if ( this._found ) { + domElement.style.cursor = "pointer"; + this._found.object.material = this._material.hoverCube; + } else { + domElement.style.cursor = "default"; + } + } + get found() { + return this._found + } + + + /** + * reset material with only object is children of scene has userData.Element=true or not null + */ + resetMaterial() { + const { normalCube } = this._material + this.scene.children.filter( ( child ) => child.userData.Element ).forEach( ( child: any ) => { + child.material = normalCube + } ) + + } + + /** + * + * @param {boolean} visible toggle visibility + */ + onVisibility( visible ) { + this.container.style.display = visible ? "block" : "none"; + } + /** + * must be called this function will + */ + update() { + //calculate the vector between camera.position and controls.target of main viewer + const position = this._contextCamera.controls.getPosition( new Vector3() ); + const target = this._contextCamera.controls.getTarget( new Vector3() ); + const vector = new Vector3( position.x - target.x, position.y - target.y, position.z - target.z ).normalize(); + //multiple from Vector3(0, 0,0) + const newV = new Vector3( 0, 0, 0 ).add( vector.multiplyScalar( this.camera.userData.radius ) ); + // set new Camera position + this.camera.position.x = newV.x; + this.camera.position.y = newV.y; + this.camera.position.z = newV.z; + this._DirectionalLight.position.set( newV.x, newV.y, newV.z ); + this.camera.lookAt( 0, 0, 0 ); + this.camera.updateProjectionMatrix(); + this.renderer.render( this.scene, this.camera ); + } +} diff --git a/src/viewer/core/PostProduction/PostProduction.ts b/src/viewer/core/PostProduction/PostProduction.ts new file mode 100644 index 0000000..5b03a69 --- /dev/null +++ b/src/viewer/core/PostProduction/PostProduction.ts @@ -0,0 +1,272 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import * as THREE from "three"; +import { EffectComposer } from "three/examples/jsm/postprocessing/EffectComposer"; +import { RenderPass } from "three/examples/jsm/postprocessing/RenderPass"; +import { N8AOPass } from "n8ao"; +import { ShaderPass } from "three/examples/jsm/postprocessing/ShaderPass"; +import { GammaCorrectionShader } from "three/examples/jsm/shaders/GammaCorrectionShader"; +import { CustomEffectsPass } from "./custom-effects-pass"; +import CameraControls from "camera-controls"; + + +// source: https://discourse.threejs.org/t/how-to-render-full-outlines-as-a-post-process-tutorial/22674 + +export class PostProduction { + excludedItems = new Set(); + + readonly composer: EffectComposer; + + private _enabled = false; + private _initialized = false; + + private _n8ao?: any; + private _customEffects?: CustomEffectsPass; + private _basePass?: RenderPass; + private _gammaPass?: ShaderPass; + private _depthTexture?: THREE.DepthTexture; + + + + private readonly _renderTarget: THREE.WebGLRenderTarget; + + get basePass() { + if ( !this._basePass ) { + throw new Error( "Custom effects not initialized!" ); + } + return this._basePass; + } + + get gammaPass() { + if ( !this._gammaPass ) { + throw new Error( "Custom effects not initialized!" ); + } + return this._gammaPass; + } + + get customEffects() { + if ( !this._customEffects ) { + throw new Error( "Custom effects not initialized!" ); + } + return this._customEffects; + } + + get n8ao() { + if ( !this._n8ao ) { + throw new Error( "Custom effects not initialized!" ); + } + return this._n8ao; + } + + get enabled() { + return this._enabled; + } + + set enabled( active: boolean ) { + if ( !this._initialized ) { + this.initialize(); + } + this._enabled = active; + } + + + + constructor( + private scene: THREE.Scene, + private camera: THREE.PerspectiveCamera | THREE.OrthographicCamera, + private size: THREE.Vector2, + private renderer: THREE.WebGLRenderer, + private domElement: HTMLDivElement | HTMLCanvasElement, + private controls: CameraControls + ) { + this._renderTarget = new THREE.WebGLRenderTarget( + window.innerWidth, + window.innerHeight + ); + this._renderTarget.texture.colorSpace = "srgb-linear"; + + this.composer = new EffectComposer( this.renderer, this._renderTarget ); + this.composer.setSize( window.innerWidth, window.innerHeight ); + + } + + + + dispose() { + this._renderTarget.dispose(); + this._depthTexture?.dispose(); + this._customEffects?.dispose(); + this._gammaPass?.dispose(); + this._n8ao?.dispose(); + this.excludedItems.clear(); + this.setupEvents = false + } + + + + setSize() { + if ( this._initialized ) { + const width = this.size.x + const height = this.size.y + this.composer.setSize( width, height ); + this.basePass.setSize( width, height ); + this.n8ao.setSize( width, height ); + this.customEffects.setSize( width, height ); + this.gammaPass.setSize( width, height ); + } + } + + update() { + if ( !this._enabled ) return; + this.composer.render(); + } + + updateCamera() { + // const camera = this.components.camera.get(); + // if ( this._n8ao ) { + // this._n8ao.camera = camera; + // } + // if ( this._customEffects ) { + // this._customEffects.renderCamera = camera; + // } + // if ( this._basePass ) { + // this._basePass.camera = camera; + // } + } + + private initialize() { + + this.renderer.outputColorSpace = "srgb"; + this.renderer.toneMapping = THREE.NoToneMapping; + + this.newBasePass(); + this.newSaoPass(); + this.newGammaPass(); + this.newCustomPass(); + + this._initialized = true; + this.updatePasses(); + } + + updateProjection( camera: THREE.Camera ) { + this.composer.passes.forEach( ( pass ) => { + // @ts-ignore + pass.camera = camera; + } ); + this.update(); + } + isUserControllingCamera = false; + isControlSleeping = true; + lastWheelUsed = 0; + lastResized = 0; + resizeDelay = 500; + visible = false; + + set setupEvents( setupEvents: boolean ) { + if ( setupEvents ) { + this.controls.addEventListener( "control", this.onControl ); + this.controls.addEventListener( "controlstart", this.onControlStart ); + this.controls.addEventListener( "wake", this.onWake ); + this.controls.addEventListener( "controlend", this.onControlEnd ); + this.controls.addEventListener( "sleep", this.onSleep ); + this.domElement.addEventListener( "wheel", this.onWheel ); + } else { + this.controls.removeEventListener( "control", this.onControl ); + this.controls.removeEventListener( "controlstart", this.onControlStart ); + this.controls.removeEventListener( "wake", this.onWake ); + this.controls.removeEventListener( "controlend", this.onControlEnd ); + this.controls.removeEventListener( "sleep", this.onSleep ); + this.domElement.removeEventListener( "wheel", this.onWheel ); + } + } + onControlStart = () => { + this.isUserControllingCamera = true; + }; + onWake = () => { + this.isControlSleeping = false; + }; + + onResize = () => { + if ( !this.enabled ) return; + this.lastResized = performance.now(); + this.visible = false; + + setTimeout( () => { + if ( performance.now() - this.lastResized >= this.resizeDelay ) { + this.visible = true; + } + }, this.resizeDelay ); + }; + + onControl = () => { + if ( !this.enabled ) return; + this.visible = false; + }; + + onControlEnd = () => { + if ( !this.enabled ) return; + this.isUserControllingCamera = false; + if ( !this.isUserControllingCamera && this.isControlSleeping ) { + this.visible = true; + } + }; + + onWheel = () => { + if ( !this.enabled ) return; + this.lastResized = performance.now(); + }; + + onSleep = () => { + // This prevents that this gets triggered a million times when zooming with the wheel + if ( !this.enabled ) return; + this.isControlSleeping = true; + const currentWheel = performance.now(); + setTimeout( () => { + if ( this.lastWheelUsed > currentWheel ) return; + if ( !this.isUserControllingCamera && this.isControlSleeping ) { + this.visible = true; + } + }, 200 ); + }; + private updatePasses() { + for ( const pass of this.composer.passes ) { + this.composer.removePass( pass ); + } + if ( this._basePass ) { + this.composer.addPass( this.basePass ); + } + this.composer.addPass( this.gammaPass ); + this.composer.addPass( this.n8ao ); + this.composer.addPass( this.customEffects ); + + } + + private newCustomPass() { + this._customEffects = new CustomEffectsPass( + this.size.clone(), + this.scene, this.camera + ); + } + + private newGammaPass() { + this._gammaPass = new ShaderPass( GammaCorrectionShader ); + } + + private newSaoPass() { + this._n8ao = new N8AOPass( this.scene, this.camera, this.size.x, this.size.y ); + // this.composer.addPass(this.n8ao); + const { configuration } = this._n8ao; + configuration.aoSamples = 16; + configuration.denoiseSamples = 1; + configuration.denoiseRadius = 13; + configuration.aoRadius = 1; + configuration.distanceFalloff = 4; + configuration.aoRadius = 1; + configuration.intensity = 4; + configuration.halfRes = true; + configuration.color = new THREE.Color().setHex( 0xcccccc, "srgb-linear" ); + } + + private newBasePass() { + this._basePass = new RenderPass( this.scene, this.camera ); + } +} diff --git a/src/viewer/core/PostProduction/custom-effects-pass.ts b/src/viewer/core/PostProduction/custom-effects-pass.ts new file mode 100644 index 0000000..62b3c27 --- /dev/null +++ b/src/viewer/core/PostProduction/custom-effects-pass.ts @@ -0,0 +1,531 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import * as THREE from "three"; +import { Pass, FullScreenQuad } from "three/examples/jsm/postprocessing/Pass"; +import { getPlaneDistanceMaterial } from "./plane-distance-shader"; +import { getProjectedNormalMaterial } from "./projected-normal-shader"; + +// Follows the structure of +// https://github.com/mrdoob/three.js/blob/master/examples/jsm/postprocessing/OutlinePass.js +export class CustomEffectsPass extends Pass { + resolution: THREE.Vector2; + renderScene: THREE.Scene; + renderCamera: THREE.Camera; + fsQuad: FullScreenQuad; + normalOverrideMaterial: THREE.ShaderMaterial; + glossOverrideMaterial: THREE.ShaderMaterial; + + planeBuffer: THREE.WebGLRenderTarget; + glossBuffer: THREE.WebGLRenderTarget; + outlineBuffer: THREE.WebGLRenderTarget; + + excludedMeshes: THREE.Mesh[] = []; + + outlinedMeshes: { + [name: string]: { + meshes: Set; + material: THREE.MeshBasicMaterial; + }; + } = {}; + + + private _outlineScene = new THREE.Scene(); + private _outlineEnabled = false; + + private _lineColor = 0x999999; + private _opacity = 0.4; + private _tolerance = 3; + private _glossEnabled = true; + + private _glossExponent = 1.9; + private _minGloss = -0.1; + private _maxGloss = 0.1; + + private _outlinesNeedsUpdate = false; + + get lineColor() { + return this._lineColor; + } + + set lineColor( lineColor: number ) { + this._lineColor = lineColor; + const material = this.fsQuad.material as THREE.ShaderMaterial; + material.uniforms.lineColor.value.set( lineColor ); + } + + get tolerance() { + return this._tolerance; + } + + set tolerance( value: number ) { + this._tolerance = value; + const material = this.fsQuad.material as THREE.ShaderMaterial; + material.uniforms.tolerance.value = value; + } + + get opacity() { + return this._opacity; + } + + set opacity( value: number ) { + this._opacity = value; + const material = this.fsQuad.material as THREE.ShaderMaterial; + material.uniforms.opacity.value = value; + } + + get glossEnabled() { + return this._glossEnabled; + } + + set glossEnabled( active: boolean ) { + if ( active === this._glossEnabled ) return; + this._glossEnabled = active; + const material = this.fsQuad.material as THREE.ShaderMaterial; + material.uniforms.glossEnabled.value = active ? 1 : 0; + } + + get glossExponent() { + return this._glossExponent; + } + + set glossExponent( value: number ) { + this._glossExponent = value; + const material = this.fsQuad.material as THREE.ShaderMaterial; + material.uniforms.glossExponent.value = value; + } + + get minGloss() { + return this._minGloss; + } + + set minGloss( value: number ) { + this._minGloss = value; + const material = this.fsQuad.material as THREE.ShaderMaterial; + material.uniforms.minGloss.value = value; + } + + get maxGloss() { + new THREE.MeshBasicMaterial().color.convertLinearToSRGB(); + return this._maxGloss; + } + + set maxGloss( value: number ) { + this._maxGloss = value; + const material = this.fsQuad.material as THREE.ShaderMaterial; + material.uniforms.maxGloss.value = value; + } + + get outlineEnabled() { + return this._outlineEnabled; + } + + set outlineEnabled( active: boolean ) { + if ( active === this._outlineEnabled ) return; + this._outlineEnabled = active; + const material = this.fsQuad.material as THREE.ShaderMaterial; + material.uniforms.outlineEnabled.value = active ? 1 : 0; + } + + constructor( resolution: THREE.Vector2, renderScene: THREE.Scene, renderCamera: THREE.PerspectiveCamera | THREE.OrthographicCamera ) { + super(); + + this.renderScene = renderScene; + this.renderCamera = renderCamera; + this.resolution = new THREE.Vector2( resolution.x, resolution.y ); + + this.fsQuad = new FullScreenQuad(); + this.fsQuad.material = this.createOutlinePostProcessMaterial(); + + this.planeBuffer = this.newRenderTarget(); + this.glossBuffer = this.newRenderTarget(); + this.outlineBuffer = this.newRenderTarget(); + + const normalMaterial = getPlaneDistanceMaterial(); + this.normalOverrideMaterial = normalMaterial; + + const glossMaterial = getProjectedNormalMaterial(); + this.glossOverrideMaterial = glossMaterial; + } + + dispose() { + this.planeBuffer.dispose(); + this.glossBuffer.dispose(); + this.outlineBuffer.dispose(); + this.normalOverrideMaterial.dispose(); + this.glossOverrideMaterial.dispose(); + this.fsQuad.dispose(); + + this.excludedMeshes = []; + this._outlineScene.children = []; + + for ( const name in this.outlinedMeshes ) { + const style = this.outlinedMeshes[name]; + + style.material.dispose(); + } + } + + setSize( width: number, height: number ) { + this.planeBuffer.setSize( width, height ); + this.glossBuffer.setSize( width, height ); + this.outlineBuffer.setSize( width, height ); + this.resolution.set( width, height ); + + const material = this.fsQuad.material as THREE.ShaderMaterial; + material.uniforms.screenSize.value.set( + this.resolution.x, + this.resolution.y, + 1 / this.resolution.x, + 1 / this.resolution.y + ); + } + + render( renderer: THREE.WebGLRenderer, writeBuffer: any, readBuffer: any ) { + // Turn off writing to the depth buffer + // because we need to read from it in the subsequent passes. + const depthBufferValue = writeBuffer.depthBuffer; + writeBuffer.depthBuffer = false; + + // 1. Re-render the scene to capture all normals in a texture. + + const previousOverrideMaterial = this.renderScene.overrideMaterial; + const previousBackground = this.renderScene.background; + this.renderScene.background = null; + + for ( const mesh of this.excludedMeshes ) { + mesh.visible = false; + } + + // Render normal pass + + renderer.setRenderTarget( this.planeBuffer ); + this.renderScene.overrideMaterial = this.normalOverrideMaterial; + renderer.render( this.renderScene, this.renderCamera ); + + // Render gloss pass + + if ( this._glossEnabled ) { + renderer.setRenderTarget( this.glossBuffer ); + this.renderScene.overrideMaterial = this.glossOverrideMaterial; + renderer.render( this.renderScene, this.renderCamera ); + } + + this.renderScene.overrideMaterial = previousOverrideMaterial; + + // Render outline pass + + if ( this._outlineEnabled ) { + let outlinedMeshesFound = false; + for ( const name in this.outlinedMeshes ) { + const style = this.outlinedMeshes[name]; + for ( const mesh of style.meshes ) { + outlinedMeshesFound = true; + mesh.userData.materialPreOutline = mesh.material; + mesh.material = style.material; + mesh.userData.groupsPreOutline = mesh.geometry.groups; + mesh.geometry.groups = []; + if ( mesh instanceof THREE.InstancedMesh ) { + mesh.userData.colorPreOutline = mesh.instanceColor; + mesh.instanceColor = null; + } + mesh.userData.parentPreOutline = mesh.parent; + this._outlineScene.add( mesh ); + } + } + + // This way, when there are no outlines meshes, it clears the outlines buffer only once + // and then skips this render + if ( outlinedMeshesFound || this._outlinesNeedsUpdate ) { + renderer.setRenderTarget( this.outlineBuffer ); + renderer.render( this._outlineScene, this.renderCamera ); + this._outlinesNeedsUpdate = outlinedMeshesFound; + } + + for ( const name in this.outlinedMeshes ) { + const style = this.outlinedMeshes[name]; + for ( const mesh of style.meshes ) { + mesh.material = mesh.userData.materialPreOutline; + mesh.geometry.groups = mesh.userData.groupsPreOutline; + if ( mesh instanceof THREE.InstancedMesh ) { + mesh.instanceColor = mesh.userData.colorPreOutline; + } + if ( mesh.userData.parentPreOutline ) { + mesh.userData.parentPreOutline.add( mesh ); + } + mesh.userData.materialPreOutline = undefined; + mesh.userData.groupsPreOutline = undefined; + mesh.userData.colorPreOutline = undefined; + mesh.userData.parentPreOutline = undefined; + } + } + } + + for ( const mesh of this.excludedMeshes ) { + mesh.visible = true; + } + + this.renderScene.background = previousBackground; + + const material = this.fsQuad.material as THREE.ShaderMaterial; + material.uniforms.planeBuffer.value = this.planeBuffer.texture; + material.uniforms.glossBuffer.value = this.glossBuffer.texture; + material.uniforms.outlineBuffer.value = this.outlineBuffer.texture; + material.uniforms.sceneColorBuffer.value = readBuffer.texture; + + if ( this.renderToScreen ) { + // If this is the last effect, then renderToScreen is true. + // So we should render to the screen by setting target null + // Otherwise, just render into the writeBuffer that the next effect will use as its read buffer. + renderer.setRenderTarget( null ); + this.fsQuad.render( renderer ); + } else { + renderer.setRenderTarget( writeBuffer ); + this.fsQuad.render( renderer ); + } + + // Reset the depthBuffer value so we continue writing to it in the next render. + writeBuffer.depthBuffer = depthBufferValue; + } + + get vertexShader() { + return ` + varying vec2 vUv; + void main() { + vUv = uv; + gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); + } + `; + } + + get fragmentShader() { + return ` + uniform sampler2D sceneColorBuffer; + uniform sampler2D planeBuffer; + uniform sampler2D glossBuffer; + uniform sampler2D outlineBuffer; + uniform vec4 screenSize; + uniform vec3 lineColor; + + uniform float outlineEnabled; + + uniform int width; + uniform float opacity; + uniform float tolerance; + uniform float glossExponent; + uniform float minGloss; + uniform float maxGloss; + uniform float glossEnabled; + + varying vec2 vUv; + + vec4 getValue(sampler2D buffer, int x, int y) { + return texture2D(buffer, vUv + screenSize.zw * vec2(x, y)); + } + + float normalDiff(vec3 normal1, vec3 normal2) { + return ((dot(normal1, normal2) - 1.) * -1.) / 2.; + } + + // Returns 0 if it's background, 1 if it's not + float getIsBackground(vec3 normal) { + float background = 1.0; + background *= step(normal.x, 0.); + background *= step(normal.y, 0.); + background *= step(normal.z, 0.); + background = (background - 1.) * -1.; + return background; + } + + void main() { + + vec4 sceneColor = getValue(sceneColorBuffer, 0, 0); + vec3 normSceneColor = normalize(sceneColor.rgb); + + vec4 plane = getValue(planeBuffer, 0, 0); + vec3 normal = plane.xyz; + float distance = plane.w; + + vec3 normalTop = getValue(planeBuffer, 0, width).rgb; + vec3 normalBottom = getValue(planeBuffer, 0, -width).rgb; + vec3 normalRight = getValue(planeBuffer, width, 0).rgb; + vec3 normalLeft = getValue(planeBuffer, -width, 0).rgb; + vec3 normalTopRight = getValue(planeBuffer, width, width).rgb; + vec3 normalTopLeft = getValue(planeBuffer, -width, width).rgb; + vec3 normalBottomRight = getValue(planeBuffer, width, -width).rgb; + vec3 normalBottomLeft = getValue(planeBuffer, -width, -width).rgb; + + float distanceTop = getValue(planeBuffer, 0, width).a; + float distanceBottom = getValue(planeBuffer, 0, -width).a; + float distanceRight = getValue(planeBuffer, width, 0).a; + float distanceLeft = getValue(planeBuffer, -width, 0).a; + float distanceTopRight = getValue(planeBuffer, width, width).a; + float distanceTopLeft = getValue(planeBuffer, -width, width).a; + float distanceBottomRight = getValue(planeBuffer, width, -width).a; + float distanceBottomLeft = getValue(planeBuffer, -width, -width).a; + + vec3 sceneColorTop = normalize(getValue(sceneColorBuffer, 1, 0).rgb); + vec3 sceneColorBottom = normalize(getValue(sceneColorBuffer, -1, 0).rgb); + vec3 sceneColorLeft = normalize(getValue(sceneColorBuffer, 0, -1).rgb); + vec3 sceneColorRight = normalize(getValue(sceneColorBuffer, 0, 1).rgb); + vec3 sceneColorTopRight = normalize(getValue(sceneColorBuffer, 1, 1).rgb); + vec3 sceneColorBottomRight = normalize(getValue(sceneColorBuffer, -1, 1).rgb); + vec3 sceneColorTopLeft = normalize(getValue(sceneColorBuffer, 1, 1).rgb); + vec3 sceneColorBottomLeft = normalize(getValue(sceneColorBuffer, -1, 1).rgb); + + // Checks if the planes of this texel and the neighbour texels are different + + float planeDiff = 0.0; + + planeDiff += step(0.001, normalDiff(normal, normalTop)); + planeDiff += step(0.001, normalDiff(normal, normalBottom)); + planeDiff += step(0.001, normalDiff(normal, normalLeft)); + planeDiff += step(0.001, normalDiff(normal, normalRight)); + planeDiff += step(0.001, normalDiff(normal, normalTopRight)); + planeDiff += step(0.001, normalDiff(normal, normalTopLeft)); + planeDiff += step(0.001, normalDiff(normal, normalBottomRight)); + planeDiff += step(0.001, normalDiff(normal, normalBottomLeft)); + + planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorTop)); + planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorBottom)); + planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorLeft)); + planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorRight)); + planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorTopRight)); + planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorTopLeft)); + planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorBottomRight)); + planeDiff += step(0.001, normalDiff(normSceneColor, sceneColorBottomLeft)); + + planeDiff += step(0.001, abs(distance - distanceTop)); + planeDiff += step(0.001, abs(distance - distanceBottom)); + planeDiff += step(0.001, abs(distance - distanceLeft)); + planeDiff += step(0.001, abs(distance - distanceRight)); + planeDiff += step(0.001, abs(distance - distanceTopRight)); + planeDiff += step(0.001, abs(distance - distanceTopLeft)); + planeDiff += step(0.001, abs(distance - distanceBottomRight)); + planeDiff += step(0.001, abs(distance - distanceBottomLeft)); + + // Add extra background outline + + int width2 = width + 1; + vec3 normalTop2 = getValue(planeBuffer, 0, width2).rgb; + vec3 normalBottom2 = getValue(planeBuffer, 0, -width2).rgb; + vec3 normalRight2 = getValue(planeBuffer, width2, 0).rgb; + vec3 normalLeft2 = getValue(planeBuffer, -width2, 0).rgb; + vec3 normalTopRight2 = getValue(planeBuffer, width2, width2).rgb; + vec3 normalTopLeft2 = getValue(planeBuffer, -width2, width2).rgb; + vec3 normalBottomRight2 = getValue(planeBuffer, width2, -width2).rgb; + vec3 normalBottomLeft2 = getValue(planeBuffer, -width2, -width2).rgb; + + planeDiff += -(getIsBackground(normalTop2) - 1.); + planeDiff += -(getIsBackground(normalBottom2) - 1.); + planeDiff += -(getIsBackground(normalRight2) - 1.); + planeDiff += -(getIsBackground(normalLeft2) - 1.); + planeDiff += -(getIsBackground(normalTopRight2) - 1.); + planeDiff += -(getIsBackground(normalBottomRight2) - 1.); + planeDiff += -(getIsBackground(normalBottomRight2) - 1.); + planeDiff += -(getIsBackground(normalBottomLeft2) - 1.); + + // Tolerance sets the minimum amount of differences to consider + // this texel an edge + + float line = step(tolerance, planeDiff); + + // Exclude background and apply opacity + + float background = getIsBackground(normal); + line *= background; + line *= opacity; + + // Add gloss + + vec3 gloss = getValue(glossBuffer, 0, 0).xyz; + float diffGloss = abs(maxGloss - minGloss); + vec3 glossExpVector = vec3(glossExponent,glossExponent,glossExponent); + gloss = min(pow(gloss, glossExpVector), vec3(1.,1.,1.)); + gloss *= diffGloss; + gloss += minGloss; + vec4 glossedColor = sceneColor + vec4(gloss, 1.) * glossEnabled; + + vec4 corrected = mix(sceneColor, glossedColor, background); + + // Draw lines + + corrected = mix(corrected, vec4(lineColor, 1.), line); + + // Add outline + + vec4 outlinePreview =getValue(outlineBuffer, 0, 0); + float outlineColorCorrection = 1. / max(0.2, outlinePreview.a); + vec3 outlineColor = outlinePreview.rgb * outlineColorCorrection; + + // thickness between 10 and 2, opacity between 1 and 0.2 + int outlineThickness = int(outlinePreview.a * 10.); + + float outlineDiff = 0.; + + outlineDiff += step(0.1, getValue(outlineBuffer, 0, 0).a); + outlineDiff += step(0.1, getValue(outlineBuffer, 1, 0).a); + outlineDiff += step(0.1, getValue(outlineBuffer, -1, 0).a); + outlineDiff += step(0.1, getValue(outlineBuffer, 0, -1).a); + outlineDiff += step(0.1, getValue(outlineBuffer, 0, 1).a); + outlineDiff += step(0.1, getValue(outlineBuffer, outlineThickness, 0).a); + outlineDiff += step(0.1, getValue(outlineBuffer, -outlineThickness, 0).a); + outlineDiff += step(0.1, getValue(outlineBuffer, 0, -outlineThickness).a); + outlineDiff += step(0.1, getValue(outlineBuffer, 0, outlineThickness).a); + outlineDiff += step(0.1, getValue(outlineBuffer, outlineThickness, outlineThickness).a); + outlineDiff += step(0.1, getValue(outlineBuffer, -outlineThickness, outlineThickness).a); + outlineDiff += step(0.1, getValue(outlineBuffer, -outlineThickness, -outlineThickness).a); + outlineDiff += step(0.1, getValue(outlineBuffer, outlineThickness, -outlineThickness).a); + + float outLine = step(4., outlineDiff) * step(outlineDiff, 12.) * outlineEnabled; + corrected = mix(corrected, vec4(outlineColor, 1.), outLine); + + gl_FragColor = corrected; + } + `; + } + + createOutlinePostProcessMaterial() { + return new THREE.ShaderMaterial( { + uniforms: { + opacity: { value: this._opacity }, + debugVisualize: { value: 0 }, + sceneColorBuffer: { value: null }, + tolerance: { value: this._tolerance }, + planeBuffer: { value: null }, + glossBuffer: { value: null }, + outlineBuffer: { value: null }, + glossEnabled: { value: 1 }, + minGloss: { value: this._minGloss }, + maxGloss: { value: this._maxGloss }, + outlineEnabled: { value: 0 }, + glossExponent: { value: this._glossExponent }, + width: { value: 1 }, + lineColor: { value: new THREE.Color( this._lineColor ) }, + screenSize: { + value: new THREE.Vector4( + this.resolution.x, + this.resolution.y, + 1 / this.resolution.x, + 1 / this.resolution.y + ), + }, + }, + vertexShader: this.vertexShader, + fragmentShader: this.fragmentShader, + } ); + } + + private newRenderTarget() { + const planeBuffer = new THREE.WebGLRenderTarget( + this.resolution.x, + this.resolution.y + ); + planeBuffer.texture.colorSpace = "srgb-linear"; + planeBuffer.texture.format = THREE.RGBAFormat; + planeBuffer.texture.type = THREE.HalfFloatType; + planeBuffer.texture.minFilter = THREE.NearestFilter; + planeBuffer.texture.magFilter = THREE.NearestFilter; + planeBuffer.texture.generateMipmaps = false; + planeBuffer.stencilBuffer = false; + return planeBuffer; + } +} diff --git a/src/viewer/core/PostProduction/index.ts b/src/viewer/core/PostProduction/index.ts new file mode 100644 index 0000000..00229b2 --- /dev/null +++ b/src/viewer/core/PostProduction/index.ts @@ -0,0 +1 @@ +export * from "./PostProduction" \ No newline at end of file diff --git a/src/viewer/core/PostProduction/plane-distance-shader.ts b/src/viewer/core/PostProduction/plane-distance-shader.ts new file mode 100644 index 0000000..c899355 --- /dev/null +++ b/src/viewer/core/PostProduction/plane-distance-shader.ts @@ -0,0 +1,51 @@ +import * as THREE from "three"; + +// Gets the plane information (ax + by + cz = d) of each face, where: +// - (a, b, c) is the normal vector of the plane +// - d is the signed distance to the origin + +export function getPlaneDistanceMaterial() { + return new THREE.ShaderMaterial({ + side: 2, + clipping: true, + uniforms: {}, + vertexShader: ` + varying vec4 vColor; + + #include + + void main() { + #include + + vec4 absPosition = vec4(position, 1.0); + vec3 trueNormal = normal; + + #ifdef USE_INSTANCING + absPosition = instanceMatrix * absPosition; + trueNormal = (instanceMatrix * vec4(normal, 0.)).xyz; + #endif + + absPosition = modelMatrix * absPosition; + trueNormal = (normalize(modelMatrix * vec4(trueNormal, 0.))).xyz; + + vec3 planePosition = absPosition.xyz / 40.; + float d = abs(dot(trueNormal, planePosition)); + vColor = vec4(abs(trueNormal), d); + gl_Position = projectionMatrix * viewMatrix * absPosition; + + #include + #include + } + `, + fragmentShader: ` + varying vec4 vColor; + + #include + + void main() { + #include + gl_FragColor = vColor; + } + `, + }); +} diff --git a/src/viewer/core/PostProduction/projected-normal-shader.ts b/src/viewer/core/PostProduction/projected-normal-shader.ts new file mode 100644 index 0000000..3f6916a --- /dev/null +++ b/src/viewer/core/PostProduction/projected-normal-shader.ts @@ -0,0 +1,61 @@ +import * as THREE from "three"; + +// Gets the plane information (ax + by + cz = d) of each face, where: +// - (a, b, c) is the normal vector of the plane +// - d is the signed distance to the origin + +export function getProjectedNormalMaterial() { + return new THREE.ShaderMaterial({ + side: 2, + clipping: true, + uniforms: {}, + vertexShader: ` + varying vec3 vCameraPosition; + varying vec3 vPosition; + varying vec3 vNormal; + + #include + + void main() { + #include + + vec4 absPosition = vec4(position, 1.0); + vNormal = normal; + + #ifdef USE_INSTANCING + absPosition = instanceMatrix * absPosition; + vNormal = (instanceMatrix * vec4(normal, 0.)).xyz; + #endif + + absPosition = modelMatrix * absPosition; + vNormal = (normalize(modelMatrix * vec4(vNormal, 0.))).xyz; + + gl_Position = projectionMatrix * viewMatrix * absPosition; + + vCameraPosition = cameraPosition; + vPosition = absPosition.xyz; + + #include + #include + } + `, + fragmentShader: ` + varying vec3 vCameraPosition; + varying vec3 vPosition; + varying vec3 vNormal; + + #include + + void main() { + #include + vec3 cameraPixelVec = normalize(vCameraPosition - vPosition); + float difference = abs(dot(vNormal, cameraPixelVec)); + + // This achieves a double gloss effect: when the surface is perpendicular and when it's parallel + difference = abs((difference * 2.) - 1.); + + gl_FragColor = vec4(difference, difference, difference, 1.); + } + `, + }); +} diff --git a/src/viewer/core/RayCaster.ts b/src/viewer/core/RayCaster.ts new file mode 100644 index 0000000..a30e14f --- /dev/null +++ b/src/viewer/core/RayCaster.ts @@ -0,0 +1,52 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-explicit-any */ + +import * as THREE from "three" +import { MeshType } from "../enum" +export class RayCaster { + private _scene: THREE.Scene + private _renderer: any + private _camera: any + private _rayCaster: THREE.Raycaster = new THREE.Raycaster() + private _mouse: THREE.Vector2 = new THREE.Vector2() + private setUpRaycaster(): void { + this._rayCaster.params!.Points!.threshold = 50 as number; + } + _filterType: MeshType = MeshType.model + set filterType( filterType: MeshType ) { + this._filterType = filterType + } + get filterType() { + return this._filterType + } + + + setRayCaster( event: MouseEvent ): void { + const bounds = this._renderer.domElement.getBoundingClientRect(); + const x1 = event.clientX - bounds.left; + const y1 = event.clientY - bounds.top; + const x2 = bounds.right - bounds.left; + const y2 = bounds.bottom - bounds.top; + this._mouse.x = ( x1 / x2 ) * 2 - 1; + this._mouse.y = -( y1 / y2 ) * 2 + 1; + this._rayCaster.setFromCamera( this._mouse, this._camera.currentCamera ); + } + getRayCastModel( event: MouseEvent, filterModel: [] ): any { + this.setRayCaster( event ); + return this._rayCaster.intersectObjects( filterModel )[0]; + } + getRayCastPlane( event: MouseEvent, plane: THREE.Plane ): any { + this.setRayCaster( event ); + return this._renderer.ray.intersectPlane( plane, new THREE.Vector3() ); + } + /** + * + */ + constructor( scene: THREE.Scene, renderer: any, camera: any ) { + this._scene = scene + this._renderer = renderer + this._camera = camera + this.setUpRaycaster() + } + +} \ No newline at end of file diff --git a/src/viewer/core/Renderer.ts b/src/viewer/core/Renderer.ts new file mode 100644 index 0000000..48826b2 --- /dev/null +++ b/src/viewer/core/Renderer.ts @@ -0,0 +1,71 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import * as THREE from "three"; +import { CSS2DRenderer } from "three/examples/jsm/renderers/CSS2DRenderer"; +export class Renderer { + private _size: THREE.Vector2; + set size( size: THREE.Vector2 ) { + this._size = size.clone() + this.renderer.setSize( size.x, size.y ); + this.labelRenderer.setSize( size.x, size.y ); + } + get size(): THREE.Vector2 { + return this._size + } + set theme( dark ) { + this.renderer.setClearAlpha( dark ? 1 : 0 ); + } + + private initRenderer( canvas: HTMLCanvasElement ) { + const renderer = new THREE.WebGLRenderer( { + canvas: canvas, + alpha: true, + antialias: true, + logarithmicDepthBuffer: true, + } ); + renderer.setSize( this.size.x, this.size.y ); + renderer.setPixelRatio( Math.min( window.devicePixelRatio, 2 ) ); + // set canvas to super whenever user press key "tab" + renderer.localClippingEnabled = true; + renderer.shadowMap.enabled = true; + return renderer + } + private initLabelRenderer() { + const labelRenderer = new CSS2DRenderer(); + labelRenderer.domElement.style.position = "absolute"; + labelRenderer.domElement.style.top = '0'; + labelRenderer.domElement.style.outline = "none"; + labelRenderer.domElement.style.border = "none"; + labelRenderer.setSize( this.size.x, this.size.y ); + ( labelRenderer.domElement as any ).dataType = true; + return labelRenderer + // container.appendChild(labelRenderer.domElement); + // this.domElement = labelRenderer.domElement; + } + renderer: THREE.WebGLRenderer + labelRenderer: CSS2DRenderer + domElement: HTMLDivElement | HTMLCanvasElement + private _container: HTMLDivElement + /** + * + */ + constructor( container: HTMLDivElement, size: THREE.Vector2, canvas: HTMLCanvasElement ) { + this._container = container + this._size = size + this.renderer = this.initRenderer( canvas ) + this.labelRenderer = this.initLabelRenderer() + this._container.appendChild( this.labelRenderer.domElement ); + this.domElement = ( this.labelRenderer.domElement as HTMLDivElement ) + this.theme = false + } + + + dispose() { + this.renderer.setAnimationLoop( null ); + this.renderer.renderLists.dispose(); + this.labelRenderer.domElement.remove(); + } + update( scene: THREE.Scene, camera: any ): void { + this.renderer.render( scene, camera ); + this.labelRenderer.render( scene, camera ); + } +} \ No newline at end of file diff --git a/src/viewer/core/ViewPoint.ts b/src/viewer/core/ViewPoint.ts new file mode 100644 index 0000000..1577c8e --- /dev/null +++ b/src/viewer/core/ViewPoint.ts @@ -0,0 +1,44 @@ +export class ViewPoint { + /** + * + */ + private static cursor = { + canvas: "canvas-cursor", + comment: "comment-cursor", + extrude: "extrude-cursor", + highlighter: "highlighter-cursor", + maker: "maker-cursor", + orbit: "orbit-cursor", + pen: "pen-cursor", + pencil: "pencil-cursor", + pointer: "pointer-cursor", + pan: "pan-cursor", + } + constructor( private domElement: HTMLDivElement | HTMLCanvasElement ) { + this.point = 'canvas' + } + _orbit = false + set orbit( orbit: boolean ) { + this._orbit = orbit + if ( orbit ) { + this.domElement.className = ViewPoint.cursor['orbit'] + } + else { + this.domElement.className = ViewPoint.cursor[this.point] + } + } + get orbit() { + return this._orbit + } + + + _point = "canvas"; + set point( point ) { + if ( this.orbit ) return + this._point = point + this.domElement.className = ViewPoint.cursor[point] + } + get point() { + return this._point + } +} \ No newline at end of file diff --git a/src/viewer/core/droid_sans_bold.typeface.json b/src/viewer/core/droid_sans_bold.typeface.json new file mode 100644 index 0000000..139d56f --- /dev/null +++ b/src/viewer/core/droid_sans_bold.typeface.json @@ -0,0 +1 @@ +{"glyphs":{"ǻ":{"x_min":58,"x_max":694,"ha":798,"o":"m 306 1189 l 306 1199 q 336 1229 320 1213 q 369 1263 353 1246 q 399 1298 385 1281 q 425 1331 414 1316 l 657 1331 l 657 1322 q 620 1292 646 1310 q 562 1255 594 1275 q 498 1218 530 1236 q 443 1189 466 1201 l 306 1189 m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 572 975 q 558 907 572 937 q 522 856 545 877 q 467 824 498 835 q 399 813 436 813 q 330 824 362 813 q 277 856 299 835 q 243 906 255 876 q 231 974 231 937 q 243 1041 231 1011 q 277 1091 255 1071 q 330 1123 299 1112 q 399 1135 362 1135 q 466 1123 435 1135 q 521 1091 497 1112 q 558 1041 544 1071 q 572 975 572 1012 m 467 974 q 448 1021 467 1004 q 401 1038 430 1038 q 354 1021 372 1038 q 335 974 335 1004 q 351 926 335 944 q 401 909 368 909 q 448 926 430 909 q 467 974 467 944 "},"Á":{"x_min":-0.25,"x_max":903.25,"ha":903,"o":"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 335 1071 l 335 1089 q 365 1134 349 1108 q 397 1187 381 1160 q 427 1242 413 1215 q 453 1293 442 1269 l 685 1293 l 685 1278 q 663 1250 677 1266 q 630 1214 649 1233 q 591 1175 612 1195 q 549 1136 570 1155 q 507 1100 527 1117 q 472 1071 488 1083 l 335 1071 "},"ĥ":{"x_min":109,"x_max":767,"ha":871,"o":"m 767 0 l 560 0 l 560 442 q 534 565 560 524 q 456 606 509 606 q 389 590 416 606 q 345 542 362 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 1055 l 315 1055 l 315 840 q 314 780 315 811 q 311 722 313 748 q 306 661 308 690 l 317 661 q 402 746 350 720 q 518 773 453 773 q 620 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 m 594 1109 q 522 1161 559 1131 q 449 1227 484 1190 q 377 1161 412 1190 q 307 1109 342 1131 l 170 1109 l 170 1127 q 209 1172 187 1146 q 252 1225 230 1198 q 294 1280 274 1253 q 330 1331 315 1307 l 571 1331 q 606 1280 586 1307 q 648 1225 626 1253 q 692 1172 670 1198 q 732 1127 715 1146 l 732 1109 l 594 1109 "},"Κ":{"x_min":125,"x_max":880.25,"ha":880,"o":"m 880 0 l 641 0 l 413 412 l 335 354 l 335 0 l 125 0 l 125 992 l 335 992 l 335 514 l 417 654 l 644 992 l 877 992 l 561 544 l 880 0 "},"»":{"x_min":58,"x_max":759,"ha":813,"o":"m 759 370 l 549 63 l 401 143 l 548 380 l 401 616 l 549 697 l 759 388 l 759 370 m 416 370 l 206 63 l 58 143 l 205 380 l 58 616 l 206 697 l 416 388 l 416 370 "},"∆":{"x_min":39,"x_max":820,"ha":859,"o":"m 39 120 l 311 996 l 549 996 l 820 119 l 820 0 l 39 0 l 39 120 m 457 701 q 451 726 455 709 q 442 764 446 744 q 434 800 437 783 q 429 823 430 817 q 425 800 429 817 q 417 764 422 783 q 409 726 413 744 q 403 700 405 708 l 253 174 l 606 174 l 457 701 "},"ў":{"x_min":-0.25,"x_max":749.25,"ha":749,"o":"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 m 702 1085 q 677 985 696 1030 q 618 909 657 941 q 518 859 580 877 q 367 842 457 842 q 215 858 275 842 q 117 907 154 875 q 64 983 81 939 q 44 1085 48 1028 l 230 1085 q 243 1020 233 1045 q 269 981 252 995 q 311 961 285 967 q 373 955 337 955 q 427 962 402 955 q 470 983 452 968 q 499 1023 488 998 q 515 1085 511 1048 l 702 1085 "},"ţ":{"x_min":32,"x_max":530,"ha":575,"o":"m 416 152 q 474 158 446 152 q 530 175 501 165 l 530 20 q 457 -4 500 5 q 364 -14 414 -14 q 271 -2 314 -14 q 198 38 229 9 q 148 115 166 67 q 131 237 131 164 l 131 604 l 32 604 l 32 691 l 145 759 l 205 919 l 337 919 l 337 758 l 521 758 l 521 604 l 337 604 l 337 238 q 359 173 337 194 q 416 152 381 152 m 174 -288 q 186 -242 180 -268 q 197 -188 192 -216 q 208 -134 203 -161 q 215 -85 213 -107 l 407 -85 l 407 -98 q 358 -198 386 -145 q 294 -307 330 -251 l 174 -307 l 174 -288 "},"«":{"x_min":56,"x_max":757,"ha":813,"o":"m 56 388 l 265 697 l 414 616 l 266 380 l 414 143 l 265 63 l 56 370 l 56 388 m 399 388 l 608 697 l 757 616 l 609 380 l 757 143 l 608 63 l 399 370 l 399 388 "},"í":{"x_min":99,"x_max":449,"ha":424,"o":"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 99 842 l 99 860 q 129 905 113 879 q 161 958 145 931 q 191 1013 177 986 q 217 1064 206 1040 l 449 1064 l 449 1049 q 427 1021 441 1037 q 394 985 413 1004 q 355 946 376 966 q 313 907 334 926 q 271 871 291 888 q 236 842 252 854 l 99 842 "},"ņ":{"x_min":109,"x_max":767,"ha":871,"o":"m 767 0 l 560 0 l 560 442 q 535 565 560 524 q 456 606 510 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 m 317 -288 q 329 -242 323 -268 q 340 -188 335 -216 q 351 -134 346 -161 q 358 -85 356 -107 l 550 -85 l 550 -98 q 501 -198 529 -145 q 437 -307 473 -251 l 317 -307 l 317 -288 "},"µ":{"x_min":109,"x_max":766,"ha":875,"o":"m 315 315 q 341 193 315 234 q 421 152 366 152 q 486 168 460 152 q 529 216 513 184 q 552 295 545 248 q 559 401 559 341 l 559 758 l 766 758 l 766 0 l 607 0 l 578 102 l 570 102 q 511 15 547 44 q 425 -14 476 -14 q 358 1 388 -14 q 309 47 328 17 q 312 -10 310 18 q 314 -64 313 -35 q 315 -117 315 -92 l 315 -334 l 109 -334 l 109 758 l 315 758 l 315 315 "},"ỳ":{"x_min":-0.25,"x_max":749.25,"ha":749,"o":"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 m 324 842 q 269 889 301 860 q 205 946 236 917 q 148 1004 174 976 q 112 1049 122 1031 l 112 1064 l 343 1064 q 369 1013 354 1040 q 399 958 383 986 q 431 905 415 931 q 462 860 447 879 l 462 842 l 324 842 "},"Ι":{"x_min":44.28125,"x_max":495.96875,"ha":541,"o":"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 "},"Ύ":{"x_min":-39,"x_max":1005.25,"ha":1004,"o":"m 599 583 l 778 992 l 1005 992 l 704 385 l 704 0 l 494 0 l 494 379 l 192 992 l 420 992 l 599 583 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 "},"ѕ":{"x_min":66,"x_max":614,"ha":668,"o":"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 "},"Ш":{"x_min":125,"x_max":1317,"ha":1442,"o":"m 825 174 l 1106 174 l 1106 992 l 1317 992 l 1317 0 l 125 0 l 125 992 l 335 992 l 335 174 l 615 174 l 615 992 l 825 992 l 825 174 "},"M":{"x_min":125,"x_max":1143,"ha":1268,"o":"m 523 0 l 305 778 l 299 778 q 306 657 303 715 q 308 605 307 632 q 310 553 309 579 q 311 503 311 527 q 312 461 312 480 l 312 0 l 125 0 l 125 992 l 410 992 l 625 233 l 629 233 l 856 992 l 1143 992 l 1143 0 l 947 0 l 947 469 q 947 509 947 487 q 948 556 947 531 q 950 607 949 581 q 951 657 951 633 q 956 776 954 714 l 951 776 l 716 0 l 523 0 "},"Ψ":{"x_min":74,"x_max":1088,"ha":1161,"o":"m 1088 667 q 1067 510 1088 578 q 1000 393 1046 441 q 882 321 954 346 q 706 296 809 296 l 674 296 l 674 0 l 487 0 l 487 296 l 455 296 q 279 320 351 296 q 160 391 206 344 q 94 507 115 439 q 74 664 74 576 l 74 992 l 270 992 l 270 665 q 283 566 270 605 q 321 504 296 526 q 383 472 347 481 q 468 462 420 462 l 487 462 l 487 992 l 674 992 l 674 462 l 692 462 q 771 471 735 462 q 835 502 808 479 q 876 563 861 524 q 892 662 892 602 l 892 992 l 1088 992 l 1088 667 "},"ũ":{"x_min":104,"x_max":762,"ha":871,"o":"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 322 906 q 288 890 301 906 q 268 840 276 874 l 167 840 q 184 934 171 894 q 220 999 198 973 q 272 1037 242 1024 q 337 1050 301 1050 q 391 1040 365 1050 q 444 1017 418 1030 q 495 995 470 1005 q 545 985 521 985 q 578 1001 566 985 q 599 1051 591 1017 l 701 1051 q 683 958 696 997 q 646 893 669 919 q 594 854 624 867 q 530 842 565 842 q 476 852 503 842 q 423 874 448 862 q 372 896 397 886 q 322 906 346 906 "},"ŭ":{"x_min":104,"x_max":762,"ha":871,"o":"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 678 1071 q 656 978 674 1020 q 608 906 639 936 q 532 858 576 875 q 429 842 487 842 q 325 858 369 842 q 250 904 280 874 q 204 976 220 934 q 186 1071 188 1018 l 301 1071 q 313 1024 304 1041 q 339 998 323 1007 q 378 987 355 989 q 430 985 401 985 q 477 988 455 985 q 516 1000 499 991 q 545 1026 534 1009 q 559 1071 557 1043 l 678 1071 "},"―":{"x_min":56,"x_max":1333,"ha":1389,"o":"m 56 296 l 56 452 l 1333 452 l 1333 296 l 56 296 "},"{":{"x_min":21,"x_max":492,"ha":505,"o":"m 195 183 q 150 277 195 249 q 21 304 105 304 l 21 467 q 96 473 63 467 q 151 494 129 479 q 185 532 173 509 q 195 587 196 555 l 195 803 q 207 889 195 853 q 254 947 220 924 q 345 981 287 970 q 492 992 403 992 l 492 838 q 442 833 464 838 q 405 819 420 829 q 382 790 390 808 q 374 743 374 772 l 374 540 q 215 390 369 414 l 215 382 q 334 333 293 370 q 374 232 376 295 l 374 29 q 382 -18 374 0 q 405 -47 390 -36 q 442 -61 420 -57 q 492 -66 464 -66 l 492 -220 q 345 -209 403 -220 q 254 -175 287 -198 q 207 -116 220 -152 q 195 -30 195 -80 l 195 183 "},"¼":{"x_min":32,"x_max":1141.203125,"ha":1224,"o":"m 929 992 l 378 0 l 216 0 l 767 992 l 929 992 m 365 397 l 204 397 l 204 700 q 204 734 204 713 q 205 776 204 755 q 207 814 206 797 q 209 840 208 832 q 198 828 205 835 q 185 813 192 820 q 171 799 178 805 q 158 787 164 792 l 105 746 l 32 832 l 235 992 l 365 992 l 365 397 m 1141 101 l 1056 101 l 1056 0 l 895 0 l 895 101 l 635 101 l 635 207 l 896 599 l 1056 599 l 1056 217 l 1141 217 l 1141 101 m 895 217 l 895 328 q 896 388 895 356 q 899 453 897 419 q 889 429 895 444 q 875 399 882 415 q 860 370 867 384 q 846 346 852 356 l 760 217 l 895 217 "},"Ḿ":{"x_min":125,"x_max":1143,"ha":1268,"o":"m 523 0 l 305 778 l 299 778 q 306 657 303 715 q 308 605 307 632 q 310 553 309 579 q 311 503 311 527 q 312 461 312 480 l 312 0 l 125 0 l 125 992 l 410 992 l 625 233 l 629 233 l 856 992 l 1143 992 l 1143 0 l 947 0 l 947 469 q 947 509 947 487 q 948 556 947 531 q 950 607 949 581 q 951 657 951 633 q 956 776 954 714 l 951 776 l 716 0 l 523 0 m 533 1073 l 533 1091 q 563 1136 547 1110 q 595 1189 579 1162 q 625 1244 611 1217 q 651 1295 640 1271 l 883 1295 l 883 1280 q 861 1252 875 1268 q 828 1216 847 1235 q 789 1177 810 1197 q 747 1138 768 1157 q 705 1102 725 1119 q 670 1073 686 1085 l 533 1073 "},"ι":{"x_min":109,"x_max":509,"ha":538,"o":"m 315 758 l 315 236 q 337 171 315 192 q 395 150 359 150 q 453 157 425 150 q 509 174 480 164 l 509 20 q 436 -4 479 5 q 342 -14 393 -14 q 250 -2 292 -14 q 176 37 207 9 q 126 115 144 66 q 109 237 109 163 l 109 758 l 315 758 "},"IJ":{"x_min":44.28125,"x_max":876,"ha":1000,"o":"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 539 -292 q 462 -287 495 -292 q 406 -277 429 -283 l 406 -103 q 458 -112 431 -108 q 518 -117 486 -117 q 576 -110 549 -117 q 623 -86 603 -103 q 654 -42 643 -70 q 665 27 665 -14 l 665 992 l 876 992 l 876 35 q 851 -111 876 -49 q 782 -213 826 -173 q 675 -273 737 -254 q 539 -292 614 -292 "},"Ê":{"x_min":125,"x_max":703,"ha":778,"o":"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 565 1071 q 493 1123 530 1093 q 420 1189 455 1152 q 348 1123 383 1152 q 278 1071 313 1093 l 141 1071 l 141 1089 q 180 1134 158 1108 q 223 1187 201 1160 q 265 1242 245 1215 q 301 1293 286 1269 l 542 1293 q 577 1242 557 1269 q 619 1187 597 1215 q 663 1134 641 1160 q 703 1089 686 1108 l 703 1071 l 565 1071 "},"Ά":{"x_min":-37,"x_max":903.25,"ha":903,"o":"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m -37 789 q -24 835 -30 809 q -13 889 -18 861 q -3 943 -7 916 q 4 993 1 970 l 196 993 l 196 978 q 147 879 175 932 q 83 771 119 826 l -37 771 l -37 789 "},")":{"x_min":41,"x_max":415,"ha":471,"o":"m 415 380 q 402 214 415 296 q 365 57 390 133 q 301 -89 340 -19 q 210 -220 263 -158 l 42 -220 q 125 -84 89 -156 q 186 64 162 -12 q 223 221 211 141 q 235 381 235 301 q 186 704 235 547 q 41 992 137 861 l 210 992 q 301 857 263 928 q 365 708 340 785 q 402 547 390 630 q 415 380 415 465 "},"ε":{"x_min":53,"x_max":677,"ha":729,"o":"m 531 464 l 531 316 l 432 316 q 299 292 340 316 q 259 221 259 267 q 268 187 259 202 q 297 161 277 172 q 348 145 317 150 q 424 139 379 139 q 498 144 462 139 q 566 159 533 150 q 626 180 598 168 q 676 203 654 191 l 676 38 q 557 0 627 14 q 400 -14 488 -14 q 242 1 308 -14 q 134 46 177 17 q 72 115 92 74 q 53 206 53 156 q 66 278 53 248 q 104 330 79 308 q 163 366 128 352 q 240 387 198 379 l 240 394 q 129 457 165 411 q 93 571 93 502 q 117 664 93 626 q 184 726 142 702 q 283 762 227 751 q 403 773 340 773 q 477 768 440 773 q 550 757 515 764 q 617 739 585 749 q 677 716 649 728 l 620 566 q 527 603 576 586 q 421 619 478 619 q 365 615 390 619 q 324 603 341 612 q 297 581 306 594 q 287 547 287 567 q 325 483 287 502 q 444 464 363 464 l 531 464 "},"э":{"x_min":50,"x_max":607,"ha":676,"o":"m 266 -14 q 147 -3 199 -14 q 50 32 96 7 l 50 193 q 144 154 95 170 q 250 139 194 139 q 351 177 312 139 q 395 303 389 216 l 148 303 l 148 451 l 395 451 q 267 619 386 619 q 185 606 224 619 q 112 576 145 593 l 54 718 q 99 738 74 728 q 153 755 124 747 q 214 768 182 763 q 280 773 246 773 q 409 754 349 773 q 513 691 469 735 q 581 572 556 646 q 607 387 607 498 q 584 209 607 284 q 518 83 561 133 q 411 10 474 34 q 266 -14 347 -14 "},"ш":{"x_min":109,"x_max":1195,"ha":1304,"o":"m 1195 0 l 109 0 l 109 758 l 315 758 l 315 153 l 549 153 l 549 758 l 755 758 l 755 153 l 988 153 l 988 758 l 1195 758 l 1195 0 "},"Я":{"x_min":-7.25,"x_max":743,"ha":868,"o":"m 449 381 l 226 0 l -7 0 l 270 444 q 210 478 240 457 q 155 532 179 499 q 116 609 131 564 q 101 716 101 654 q 193 923 101 854 q 470 992 286 992 l 743 992 l 743 0 l 532 0 l 532 381 l 449 381 m 532 817 l 449 817 q 347 787 383 817 q 311 690 311 758 q 345 586 311 624 q 453 547 380 547 l 532 547 l 532 817 "},"a":{"x_min":58,"x_max":694,"ha":798,"o":"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 "},"Ę":{"x_min":125,"x_max":696,"ha":778,"o":"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 520 -154 q 535 -196 520 -182 q 574 -209 550 -209 q 617 -205 595 -209 q 652 -197 638 -201 l 652 -318 q 605 -329 630 -324 q 546 -334 580 -334 q 475 -322 507 -334 q 422 -290 444 -310 q 388 -241 400 -269 q 377 -177 377 -212 q 386 -124 377 -148 q 412 -78 395 -99 q 451 -38 429 -57 q 499 0 473 -19 l 620 0 q 546 -81 573 -44 q 520 -154 520 -118 "},"Z":{"x_min":33,"x_max":716,"ha":749,"o":"m 716 0 l 33 0 l 33 137 l 453 817 l 45 817 l 45 992 l 703 992 l 703 855 l 283 174 l 716 174 l 716 0 "}," ":{"x_min":0,"x_max":0,"ha":231},"k":{"x_min":109,"x_max":819.25,"ha":819,"o":"m 307 412 l 383 527 l 568 758 l 801 758 l 527 429 l 819 0 l 580 0 l 396 291 l 315 235 l 315 0 l 109 0 l 109 1055 l 315 1055 l 315 584 l 305 412 l 307 412 "},"Ù":{"x_min":118,"x_max":876,"ha":994,"o":"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 479 1071 q 424 1118 456 1089 q 360 1175 391 1146 q 303 1233 329 1205 q 267 1278 277 1260 l 267 1293 l 498 1293 q 524 1242 509 1269 q 554 1187 538 1215 q 586 1134 570 1160 q 617 1089 602 1108 l 617 1071 l 479 1071 "},"Ů":{"x_min":118,"x_max":876,"ha":994,"o":"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 671 1231 q 657 1163 671 1193 q 621 1112 644 1133 q 566 1080 597 1091 q 498 1069 535 1069 q 430 1080 461 1069 q 377 1112 399 1091 q 343 1162 355 1132 q 331 1230 331 1193 q 343 1297 331 1267 q 377 1347 355 1327 q 430 1379 399 1368 q 498 1391 461 1391 q 566 1379 534 1391 q 620 1347 597 1368 q 657 1297 643 1327 q 671 1231 671 1268 m 565 1230 q 547 1278 565 1260 q 501 1295 529 1295 q 454 1278 472 1295 q 436 1230 436 1260 q 452 1182 436 1199 q 501 1164 468 1164 q 547 1182 529 1164 q 565 1230 565 1199 "},"¢":{"x_min":97,"x_max":672.984375,"ha":765,"o":"m 368 -14 l 368 126 q 255 160 305 134 q 170 230 205 185 q 115 343 134 276 q 97 504 97 411 q 115 668 97 599 q 170 783 134 737 q 256 855 206 829 q 368 889 306 880 l 368 1006 l 488 1006 l 488 895 q 540 890 514 894 q 590 881 565 887 q 635 869 614 876 q 672 855 656 863 l 614 705 q 582 718 600 711 q 545 729 564 724 q 507 737 526 734 q 472 741 488 741 q 396 727 427 741 q 344 685 365 713 q 316 613 324 656 q 307 510 307 570 q 346 339 307 393 q 472 284 384 284 q 572 297 524 284 q 654 326 620 309 l 654 164 q 577 133 619 144 q 488 122 535 123 l 488 -14 l 368 -14 "},"В":{"x_min":125,"x_max":818,"ha":892,"o":"m 125 992 l 415 992 q 579 978 508 992 q 697 936 649 965 q 768 858 744 906 q 793 740 793 810 q 782 662 793 698 q 752 597 772 625 q 705 551 733 569 q 640 526 677 532 l 640 519 q 709 496 677 511 q 766 454 742 480 q 804 386 790 427 q 818 287 818 345 q 794 166 818 219 q 726 76 770 113 q 618 19 681 39 q 474 0 554 0 l 125 0 l 125 992 m 335 599 l 444 599 q 509 606 483 599 q 552 627 536 613 q 575 662 568 641 q 582 711 582 683 q 547 792 582 768 q 434 817 511 817 l 335 817 l 335 599 m 335 432 l 335 174 l 459 174 q 529 184 501 174 q 575 211 557 193 q 600 253 592 228 q 607 309 607 278 q 600 359 607 336 q 574 398 592 382 q 527 423 556 414 q 454 432 497 432 l 335 432 "},"І":{"x_min":44.28125,"x_max":495.96875,"ha":541,"o":"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 "},"ē":{"x_min":69,"x_max":741,"ha":807,"o":"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 204 985 l 622 985 l 622 842 l 204 842 l 204 985 "},"β":{"x_min":109,"x_max":827,"ha":875,"o":"m 450 1063 q 579 1046 520 1063 q 681 996 638 1029 q 748 913 724 963 q 773 796 773 862 q 721 636 773 695 q 574 562 669 578 l 574 558 q 679 532 633 551 q 759 481 726 513 q 809 402 791 449 q 827 292 827 356 q 805 162 827 219 q 743 66 783 105 q 646 6 702 27 q 519 -14 589 -14 q 406 -3 458 -14 q 315 28 354 7 l 315 -334 l 109 -334 l 109 743 q 135 887 109 826 q 207 986 161 947 q 315 1044 252 1025 q 450 1063 377 1063 m 444 896 q 394 888 418 896 q 353 860 371 880 q 326 806 336 840 q 315 720 315 772 l 315 199 q 349 179 330 188 q 388 164 368 171 q 427 155 408 158 q 464 152 447 152 q 578 193 540 152 q 615 311 615 235 q 601 382 615 353 q 563 429 587 411 q 506 455 538 447 q 437 462 474 462 l 388 462 l 388 629 l 424 629 q 487 639 461 629 q 531 667 513 649 q 557 712 549 686 q 566 769 566 737 q 532 865 566 833 q 444 896 499 896 "},"≠":{"x_min":60,"x_max":705,"ha":765,"o":"m 367 284 l 281 97 l 145 154 l 204 284 l 60 284 l 60 433 l 273 433 l 327 546 l 60 546 l 60 695 l 395 695 l 484 885 l 620 827 l 557 695 l 705 695 l 705 546 l 490 546 l 436 433 l 705 433 l 705 284 l 367 284 "},"‼":{"x_min":79,"x_max":712,"ha":791,"o":"m 281 330 l 116 330 l 81 992 l 316 992 l 281 330 m 79 97 q 88 151 79 129 q 113 187 97 173 q 151 206 129 200 q 198 213 173 213 q 243 206 221 213 q 280 187 264 200 q 306 151 297 173 q 316 97 316 129 q 306 45 316 66 q 280 9 297 23 q 243 -11 264 -5 q 198 -18 221 -18 q 151 -11 173 -18 q 113 9 129 -5 q 88 45 97 23 q 79 97 79 66 m 677 330 l 512 330 l 477 992 l 712 992 l 677 330 m 475 97 q 484 151 475 129 q 509 187 493 173 q 547 206 525 200 q 594 213 569 213 q 639 206 617 213 q 676 187 660 200 q 702 151 693 173 q 712 97 712 129 q 702 45 712 66 q 676 9 693 23 q 639 -11 660 -5 q 594 -18 617 -18 q 547 -11 569 -18 q 509 9 525 -5 q 484 45 493 23 q 475 97 475 66 "},"¥":{"x_min":4.75,"x_max":776.25,"ha":765,"o":"m 390 583 l 563 992 l 776 992 l 530 485 l 662 485 l 662 364 l 496 364 l 496 271 l 662 271 l 662 150 l 496 150 l 496 0 l 286 0 l 286 150 l 117 150 l 117 271 l 286 271 l 286 364 l 117 364 l 117 485 l 247 485 l 4 992 l 219 992 l 390 583 "},"Ĥ":{"x_min":125,"x_max":882,"ha":1007,"o":"m 882 0 l 671 0 l 671 428 l 335 428 l 335 0 l 125 0 l 125 992 l 335 992 l 335 603 l 671 603 l 671 992 l 882 992 l 882 0 m 642 1071 q 570 1123 607 1093 q 497 1189 532 1152 q 425 1123 460 1152 q 355 1071 390 1093 l 218 1071 l 218 1089 q 257 1134 235 1108 q 300 1187 278 1160 q 342 1242 322 1215 q 378 1293 363 1269 l 619 1293 q 654 1242 634 1269 q 696 1187 674 1215 q 740 1134 718 1160 q 780 1089 763 1108 l 780 1071 l 642 1071 "},"U":{"x_min":118,"x_max":876,"ha":994,"o":"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 "},"Ñ":{"x_min":125,"x_max":963,"ha":1088,"o":"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 m 423 1135 q 389 1119 402 1135 q 369 1069 377 1103 l 268 1069 q 285 1163 272 1123 q 321 1228 299 1202 q 373 1266 343 1253 q 438 1279 402 1279 q 492 1269 466 1279 q 545 1246 519 1259 q 596 1224 571 1234 q 646 1214 622 1214 q 679 1230 667 1214 q 700 1280 692 1246 l 802 1280 q 784 1187 797 1226 q 747 1122 770 1148 q 695 1083 725 1096 q 631 1071 666 1071 q 577 1081 604 1071 q 524 1103 549 1091 q 473 1125 498 1115 q 423 1135 447 1135 "},"F":{"x_min":125,"x_max":693,"ha":762,"o":"m 330 0 l 125 0 l 125 992 l 693 992 l 693 817 l 330 817 l 330 564 l 667 564 l 667 389 l 330 389 l 330 0 "},"ϑ":{"x_min":28.03125,"x_max":933.140625,"ha":975,"o":"m 628 675 q 609 777 622 732 q 576 853 595 822 q 533 900 558 884 q 482 916 509 916 q 430 897 449 916 q 410 840 410 878 q 422 780 410 809 q 459 727 433 750 q 526 690 484 704 q 628 675 567 675 m 845 524 q 846 511 846 519 q 847 494 847 503 q 847 477 847 485 q 847 463 847 468 q 838 339 847 399 q 809 226 829 279 q 758 129 790 173 q 681 53 727 85 q 576 3 636 21 q 440 -14 516 -14 q 300 4 354 -14 q 215 55 246 23 q 174 127 185 86 q 163 210 163 167 q 167 281 163 246 q 171 346 171 317 q 162 384 171 374 q 135 393 152 393 q 103 387 120 393 q 76 374 87 380 l 28 500 q 119 541 68 523 q 233 560 170 560 q 332 528 296 560 q 367 437 367 496 q 362 349 367 394 q 357 256 357 304 q 363 215 357 234 q 382 182 369 196 q 416 160 396 168 q 467 152 437 152 q 593 230 550 152 q 635 478 635 309 q 635 486 635 480 q 635 498 635 492 q 635 511 635 505 q 634 521 634 517 q 433 552 515 523 q 300 628 351 581 q 226 732 249 674 q 204 849 204 790 q 219 938 204 897 q 269 1008 235 978 q 352 1053 302 1037 q 471 1070 403 1070 q 621 1040 558 1070 q 727 958 684 1011 q 796 833 771 906 q 834 675 822 761 l 933 675 l 933 524 l 845 524 "},"Ќ":{"x_min":125,"x_max":878.25,"ha":878,"o":"m 878 0 l 639 0 l 335 502 l 335 0 l 125 0 l 125 992 l 335 992 l 335 511 l 635 992 l 859 992 l 552 515 l 878 0 m 338 1071 l 338 1089 q 368 1134 352 1108 q 400 1187 384 1160 q 430 1242 416 1215 q 456 1293 445 1269 l 688 1293 l 688 1278 q 666 1250 680 1266 q 633 1214 652 1233 q 594 1175 615 1195 q 552 1136 573 1155 q 510 1100 530 1117 q 475 1071 491 1083 l 338 1071 "},"å":{"x_min":58,"x_max":694,"ha":798,"o":"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 571 1002 q 557 934 571 964 q 521 883 544 904 q 466 851 497 862 q 398 840 435 840 q 330 851 361 840 q 277 883 299 862 q 243 933 255 903 q 231 1001 231 964 q 243 1068 231 1038 q 277 1118 255 1098 q 330 1150 299 1139 q 398 1162 361 1162 q 466 1150 434 1162 q 520 1118 497 1139 q 557 1068 543 1098 q 571 1002 571 1039 m 465 1001 q 447 1049 465 1031 q 401 1066 429 1066 q 354 1049 372 1066 q 336 1001 336 1031 q 352 953 336 970 q 401 935 368 935 q 447 953 429 935 q 465 1001 465 970 "},"Ϋ":{"x_min":-0.25,"x_max":812.25,"ha":811,"o":"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 m 174 1182 q 181 1223 174 1206 q 201 1251 188 1240 q 231 1268 214 1263 q 268 1274 248 1274 q 305 1268 288 1274 q 335 1251 322 1263 q 356 1223 348 1240 q 364 1182 364 1206 q 356 1142 364 1159 q 335 1114 348 1125 q 305 1097 322 1102 q 268 1092 288 1092 q 231 1097 248 1092 q 201 1114 214 1102 q 181 1142 188 1125 q 174 1182 174 1159 m 447 1182 q 454 1223 447 1206 q 474 1251 461 1240 q 505 1268 487 1263 q 543 1274 522 1274 q 579 1268 562 1274 q 610 1251 596 1263 q 631 1223 623 1240 q 639 1182 639 1206 q 631 1142 639 1159 q 610 1114 623 1125 q 579 1097 596 1102 q 543 1092 562 1092 q 474 1114 502 1092 q 447 1182 447 1136 "},"0":{"x_min":43,"x_max":722,"ha":765,"o":"m 722 495 q 703 281 722 375 q 643 121 684 186 q 538 20 602 55 q 381 -14 473 -14 q 232 20 295 -14 q 126 121 168 55 q 63 281 84 186 q 43 495 43 375 q 61 710 43 615 q 120 871 80 805 q 225 972 161 937 q 381 1007 290 1007 q 530 972 467 1007 q 637 871 594 937 q 700 711 679 806 q 722 495 722 616 m 253 495 q 281 240 253 326 q 381 155 310 155 q 481 240 450 155 q 511 495 511 325 q 481 751 511 665 q 381 837 450 837 q 321 815 346 837 q 281 751 297 794 q 259 644 266 708 q 253 495 253 580 "},"ō":{"x_min":69,"x_max":762,"ha":832,"o":"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 206 985 l 624 985 l 624 842 l 206 842 l 206 985 "},"”":{"x_min":16,"x_max":601,"ha":615,"o":"m 284 977 q 261 898 274 939 q 232 815 248 857 q 198 731 216 772 q 164 652 181 690 l 16 652 q 35 737 25 692 q 54 827 45 782 q 71 913 63 871 q 83 992 78 956 l 273 992 l 284 977 m 601 977 q 578 898 591 939 q 548 815 564 857 q 515 731 532 772 q 481 652 498 690 l 332 652 q 352 737 342 692 q 371 827 362 782 q 387 913 380 871 q 400 992 395 956 l 590 992 l 601 977 "},"ö":{"x_min":69,"x_max":762,"ha":832,"o":"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 181 953 q 188 994 181 977 q 208 1022 195 1011 q 238 1039 221 1034 q 275 1045 255 1045 q 312 1039 295 1045 q 342 1022 329 1034 q 363 994 355 1011 q 371 953 371 977 q 363 913 371 930 q 342 885 355 896 q 312 868 329 873 q 275 863 295 863 q 238 868 255 863 q 208 885 221 873 q 188 913 195 896 q 181 953 181 930 m 454 953 q 461 994 454 977 q 481 1022 468 1011 q 512 1039 494 1034 q 550 1045 529 1045 q 586 1039 569 1045 q 617 1022 603 1034 q 638 994 630 1011 q 646 953 646 977 q 638 913 646 930 q 617 885 630 896 q 586 868 603 873 q 550 863 569 863 q 481 885 509 863 q 454 953 454 907 "},"ć":{"x_min":69,"x_max":664,"ha":693,"o":"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 m 314 842 l 314 860 q 344 905 328 879 q 376 958 360 931 q 406 1013 392 986 q 432 1064 421 1040 l 664 1064 l 664 1049 q 642 1021 656 1037 q 609 985 628 1004 q 570 946 591 966 q 528 907 549 926 q 486 871 506 888 q 451 842 467 854 l 314 842 "},"þ":{"x_min":109,"x_max":775,"ha":844,"o":"m 315 659 q 348 704 329 683 q 391 739 366 724 q 445 764 415 755 q 512 773 475 773 q 619 747 571 773 q 701 673 667 722 q 755 550 736 623 q 775 380 775 476 q 756 209 775 283 q 702 86 737 136 q 619 11 668 36 q 512 -14 571 -14 q 445 -6 475 -14 q 390 12 414 0 q 348 42 366 25 q 315 77 330 58 l 306 77 q 311 35 308 55 q 314 0 313 18 q 315 -27 315 -17 l 315 -334 l 109 -334 l 109 1055 l 315 1055 l 315 789 q 314 751 315 773 q 311 708 313 728 q 306 659 308 684 l 315 659 m 443 606 q 384 594 408 606 q 345 556 360 581 q 323 492 330 531 q 315 403 317 454 l 315 380 q 322 282 315 325 q 343 211 328 239 q 383 167 358 182 q 444 152 407 152 q 534 211 505 152 q 563 382 563 269 q 534 550 563 494 q 443 606 505 606 "},"]":{"x_min":35,"x_max":363,"ha":460,"o":"m 35 -76 l 183 -76 l 183 848 l 35 848 l 35 992 l 363 992 l 363 -220 l 35 -220 l 35 -76 "},"А":{"x_min":-0.25,"x_max":903.25,"ha":903,"o":"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 "},"′":{"x_min":90,"x_max":279.21875,"ha":370,"o":"m 279 992 l 251 634 l 117 634 l 90 992 l 279 992 "},"Ы":{"x_min":125,"x_max":1078,"ha":1203,"o":"m 769 310 q 746 179 769 237 q 678 81 724 121 q 560 21 631 42 q 390 0 489 0 l 125 0 l 125 992 l 335 992 l 335 613 l 408 613 q 569 590 501 613 q 681 527 637 568 q 747 432 726 487 q 769 310 769 376 m 335 174 l 393 174 q 462 182 431 174 q 514 205 492 189 q 547 247 536 221 q 558 310 558 273 q 546 374 558 349 q 510 413 534 399 q 453 432 487 427 q 378 438 420 438 l 335 438 l 335 174 m 1078 0 l 867 0 l 867 992 l 1078 992 l 1078 0 "},"ẁ":{"x_min":-0.25,"x_max":1120.25,"ha":1120,"o":"m 688 0 l 629 265 q 622 297 626 276 q 612 346 618 319 q 601 403 607 372 q 589 463 595 433 q 559 613 575 532 l 555 613 q 527 462 539 532 q 515 402 521 432 q 504 344 510 371 q 494 296 499 317 q 487 262 490 274 l 426 0 l 204 0 l 0 758 l 205 758 l 282 422 q 294 359 288 395 q 306 284 301 322 q 317 213 312 246 q 324 160 322 179 l 328 160 q 331 193 329 172 q 337 237 334 214 q 344 286 341 261 q 352 332 348 311 q 359 371 356 354 q 364 394 362 387 l 447 758 l 674 758 l 754 394 q 763 348 757 379 q 774 281 768 317 q 784 212 780 246 q 789 160 788 178 l 793 160 q 800 210 795 176 q 811 281 805 243 q 824 357 817 320 q 837 422 831 395 l 917 758 l 1120 758 l 913 0 l 688 0 m 529 842 q 474 889 506 860 q 410 946 441 917 q 353 1004 379 976 q 317 1049 327 1031 l 317 1064 l 548 1064 q 574 1013 559 1040 q 604 958 588 986 q 636 905 620 931 q 667 860 652 879 l 667 842 l 529 842 "},"ĭ":{"x_min":-34,"x_max":458,"ha":424,"o":"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 458 1071 q 436 978 454 1020 q 388 906 419 936 q 312 858 356 875 q 209 842 267 842 q 105 858 149 842 q 30 904 60 874 q -15 976 0 934 q -34 1071 -31 1018 l 81 1071 q 93 1024 84 1041 q 119 998 103 1007 q 158 987 135 989 q 210 985 181 985 q 257 988 235 985 q 296 1000 279 991 q 325 1026 314 1009 q 339 1071 337 1043 l 458 1071 "},"8":{"x_min":49,"x_max":717,"ha":765,"o":"m 383 1004 q 499 989 444 1004 q 595 944 554 974 q 661 869 637 914 q 686 764 686 825 q 672 683 686 720 q 635 618 658 647 q 579 565 611 588 q 508 523 546 542 q 585 476 547 502 q 652 418 623 450 q 699 346 681 386 q 717 256 717 306 q 692 144 717 195 q 624 59 668 94 q 518 5 580 24 q 383 -14 457 -14 q 240 4 303 -14 q 135 56 178 22 q 71 140 93 90 q 49 251 49 189 q 63 342 49 302 q 104 416 78 383 q 165 473 130 448 q 239 518 199 499 q 176 563 205 539 q 126 618 147 588 q 92 685 105 648 q 80 766 80 722 q 104 869 80 825 q 171 944 129 913 q 268 989 213 974 q 383 1004 323 1004 m 259 263 q 267 213 259 236 q 290 174 274 190 q 328 149 305 158 q 381 139 351 139 q 475 173 444 139 q 506 262 506 207 q 496 313 506 290 q 469 355 485 336 q 431 391 452 374 q 389 422 410 407 l 376 431 q 328 399 349 417 q 291 361 306 382 q 267 316 276 340 q 259 263 259 292 m 382 850 q 345 843 362 850 q 316 823 328 836 q 297 791 304 810 q 290 749 290 773 q 297 700 290 721 q 317 664 305 679 q 347 635 330 648 q 383 611 364 623 q 418 634 401 621 q 447 664 434 647 q 468 701 460 680 q 475 749 475 722 q 468 791 475 773 q 449 823 461 810 q 419 843 436 836 q 382 850 402 850 "},"R":{"x_min":125,"x_max":875.25,"ha":875,"o":"m 335 545 l 393 545 q 520 581 481 545 q 558 685 558 616 q 517 786 558 756 q 389 817 476 817 l 335 817 l 335 545 m 335 379 l 335 0 l 125 0 l 125 992 l 396 992 q 678 918 587 992 q 769 694 769 844 q 755 601 769 642 q 719 527 741 559 q 666 471 696 495 q 604 430 637 447 q 739 215 679 310 q 789 136 765 175 q 832 67 813 98 q 863 18 851 37 l 875 0 l 641 0 l 427 379 l 335 379 "},"Ż":{"x_min":33,"x_max":716,"ha":749,"o":"m 716 0 l 33 0 l 33 137 l 453 817 l 45 817 l 45 992 l 703 992 l 703 855 l 283 174 l 716 174 l 716 0 m 275 1183 q 283 1232 275 1213 q 307 1263 292 1251 q 343 1280 323 1275 q 387 1285 364 1285 q 430 1280 410 1285 q 466 1263 451 1275 q 490 1232 481 1251 q 500 1183 500 1213 q 490 1135 500 1155 q 466 1104 481 1115 q 430 1087 451 1092 q 387 1082 410 1082 q 343 1087 364 1082 q 307 1104 323 1092 q 283 1135 292 1115 q 275 1183 275 1155 "},"ħ":{"x_min":3,"x_max":767,"ha":871,"o":"m 767 0 l 560 0 l 560 400 q 534 522 560 482 q 456 563 509 563 q 389 547 416 563 q 345 498 362 530 q 322 420 329 467 q 315 314 315 374 l 315 0 l 109 0 l 109 808 l 3 808 l 3 946 l 109 946 l 109 1055 l 315 1055 l 315 946 l 529 946 l 529 808 l 315 808 l 315 796 q 314 736 315 767 q 311 678 313 705 l 306 617 l 317 617 q 402 703 350 677 q 518 730 453 730 q 620 714 575 730 q 699 664 666 698 q 749 577 731 630 q 767 452 767 525 l 767 0 "},"õ":{"x_min":69,"x_max":762,"ha":832,"o":"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 301 906 q 267 890 280 906 q 247 840 255 874 l 146 840 q 163 934 150 894 q 199 999 177 973 q 251 1037 221 1024 q 316 1050 280 1050 q 370 1040 344 1050 q 423 1017 397 1030 q 474 995 449 1005 q 524 985 500 985 q 557 1001 545 985 q 578 1051 570 1017 l 680 1051 q 662 958 675 997 q 625 893 648 919 q 573 854 603 867 q 509 842 544 842 q 455 852 482 842 q 402 874 427 862 q 351 896 376 886 q 301 906 325 906 "},"˙":{"x_min":100,"x_max":325,"ha":424,"o":"m 100 954 q 108 1003 100 984 q 132 1034 117 1022 q 168 1051 148 1046 q 212 1056 189 1056 q 255 1051 235 1056 q 291 1034 276 1046 q 315 1003 306 1022 q 325 954 325 984 q 315 906 325 926 q 291 875 306 886 q 255 858 276 863 q 212 853 235 853 q 168 858 189 853 q 132 875 148 863 q 108 906 117 886 q 100 954 100 926 "},"ê":{"x_min":69,"x_max":741,"ha":807,"o":"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 556 842 q 484 894 521 864 q 411 960 446 923 q 339 894 374 923 q 269 842 304 864 l 132 842 l 132 860 q 171 905 149 879 q 214 958 192 931 q 256 1013 236 986 q 292 1064 277 1040 l 533 1064 q 568 1013 548 1040 q 610 958 588 986 q 654 905 632 931 q 694 860 677 879 l 694 842 l 556 842 "},"″":{"x_min":90,"x_max":565.21875,"ha":656,"o":"m 279 992 l 251 634 l 117 634 l 90 992 l 279 992 m 565 992 l 537 634 l 403 634 l 376 992 l 565 992 "},"„":{"x_min":43,"x_max":628,"ha":720,"o":"m 312 145 q 289 67 302 108 q 259 -15 275 26 q 226 -99 243 -57 q 192 -179 209 -141 l 43 -179 q 63 -92 53 -137 q 82 -3 73 -48 q 98 82 91 40 q 111 161 106 125 l 301 161 l 312 145 m 628 145 q 605 67 618 108 q 575 -15 591 26 q 542 -99 559 -57 q 508 -179 525 -141 l 359 -179 q 379 -92 369 -137 q 398 -3 389 -48 q 414 82 407 40 q 427 161 422 125 l 617 161 l 628 145 "},"ч":{"x_min":83,"x_max":760,"ha":869,"o":"m 289 758 l 289 471 q 311 400 289 422 q 369 379 333 379 q 464 392 419 379 q 553 428 508 406 l 553 758 l 760 758 l 760 0 l 553 0 l 553 298 q 505 274 530 286 q 451 252 479 261 q 390 237 422 243 q 321 232 358 232 q 222 247 266 232 q 147 293 178 262 q 99 369 116 323 q 83 476 83 415 l 83 758 l 289 758 "},"δ":{"x_min":69,"x_max":762,"ha":832,"o":"m 314 622 q 261 666 287 642 q 217 719 236 691 q 186 782 197 748 q 175 854 175 815 q 195 943 175 904 q 253 1009 216 982 q 344 1049 291 1035 q 462 1063 397 1063 q 544 1057 506 1063 q 618 1042 583 1052 q 686 1019 652 1033 q 754 987 719 1005 l 679 841 q 568 891 621 872 q 461 909 515 909 q 418 904 435 909 q 390 889 401 898 q 374 867 379 879 q 369 841 369 855 q 380 805 369 823 q 412 769 390 788 q 466 730 434 750 q 541 686 498 709 q 708 538 655 622 q 762 346 762 455 q 737 185 762 253 q 666 73 712 117 q 556 7 620 28 q 412 -14 491 -14 q 274 6 337 -14 q 166 67 212 27 q 94 164 120 106 q 69 296 69 222 q 87 422 69 368 q 139 515 106 476 q 217 580 172 554 q 314 622 262 606 m 550 333 q 541 399 550 369 q 517 454 533 429 q 480 500 502 479 q 432 537 459 520 q 381 512 408 529 q 332 468 354 496 q 295 400 309 440 q 280 305 280 360 q 289 244 280 272 q 315 195 298 216 q 356 163 332 175 q 412 152 381 152 q 514 198 478 152 q 550 333 550 244 "},"Â":{"x_min":-0.25,"x_max":903.25,"ha":903,"o":"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 596 1071 q 524 1123 561 1093 q 451 1189 486 1152 q 379 1123 414 1152 q 309 1071 344 1093 l 172 1071 l 172 1089 q 211 1134 189 1108 q 254 1187 232 1160 q 296 1242 276 1215 q 332 1293 317 1269 l 573 1293 q 608 1242 588 1269 q 650 1187 628 1215 q 694 1134 672 1160 q 734 1089 717 1108 l 734 1071 l 596 1071 "},"Į":{"x_min":44.28125,"x_max":495.96875,"ha":541,"o":"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 272 -154 q 287 -196 272 -182 q 326 -209 302 -209 q 369 -205 347 -209 q 404 -197 390 -201 l 404 -318 q 357 -329 382 -324 q 298 -334 332 -334 q 227 -322 259 -334 q 174 -290 196 -310 q 140 -241 152 -269 q 129 -177 129 -212 q 138 -124 129 -148 q 164 -78 147 -99 q 203 -38 181 -57 q 251 0 225 -19 l 372 0 q 298 -81 325 -44 q 272 -154 272 -118 "},"ω":{"x_min":81,"x_max":1091,"ha":1171,"o":"m 798 -14 q 722 -3 755 -14 q 663 25 689 6 q 620 72 638 45 q 589 133 602 100 l 582 133 q 551 72 570 100 q 508 25 533 45 q 450 -3 483 6 q 374 -14 416 -14 q 245 14 300 -14 q 154 92 190 42 q 99 213 117 143 q 81 367 81 283 q 85 472 81 423 q 99 568 90 521 q 124 662 109 615 q 158 758 138 708 l 360 758 q 296 573 316 666 q 275 378 275 480 q 282 286 275 327 q 303 215 289 244 q 340 168 317 185 q 393 152 362 152 q 439 163 421 152 q 468 195 458 174 q 484 248 479 217 q 489 319 489 279 l 489 517 l 683 517 l 683 319 q 688 248 683 279 q 703 195 692 217 q 733 163 714 174 q 779 152 751 152 q 832 168 810 152 q 868 214 854 185 q 889 285 883 244 q 896 375 896 326 q 876 572 896 477 q 811 758 855 666 l 1012 758 q 1047 662 1032 708 q 1072 568 1062 615 q 1086 472 1082 521 q 1091 367 1091 423 q 1072 213 1091 283 q 1017 92 1053 143 q 925 14 980 42 q 798 -14 870 -14 "},"Ţ":{"x_min":28,"x_max":735,"ha":762,"o":"m 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 0 m 250 -288 q 262 -242 256 -268 q 273 -188 268 -216 q 284 -134 279 -161 q 291 -85 289 -107 l 483 -85 l 483 -98 q 434 -198 462 -145 q 370 -307 406 -251 l 250 -307 l 250 -288 "},"´":{"x_min":225,"x_max":575,"ha":802,"o":"m 225 842 l 225 860 q 255 905 239 879 q 287 958 271 931 q 317 1013 303 986 q 343 1064 332 1040 l 575 1064 l 575 1049 q 553 1021 567 1037 q 520 985 539 1004 q 481 946 502 966 q 439 907 460 926 q 397 871 417 888 q 362 842 378 854 l 225 842 "},"Ĉ":{"x_min":81,"x_max":836.296875,"ha":885,"o":"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 m 666 1071 q 594 1123 631 1093 q 521 1189 556 1152 q 449 1123 484 1152 q 379 1071 414 1093 l 242 1071 l 242 1089 q 281 1134 259 1108 q 324 1187 302 1160 q 366 1242 346 1215 q 402 1293 387 1269 l 643 1293 q 678 1242 658 1269 q 720 1187 698 1215 q 764 1134 742 1160 q 804 1089 787 1108 l 804 1071 l 666 1071 "},"И":{"x_min":125,"x_max":963,"ha":1088,"o":"m 125 992 l 312 992 l 312 522 q 311 484 312 505 q 310 440 311 463 q 309 395 310 417 q 307 350 308 372 q 302 248 304 300 l 306 248 l 712 992 l 963 992 l 963 0 l 775 0 l 775 466 q 777 554 775 505 q 781 646 779 602 q 788 750 784 698 l 782 750 l 375 0 l 125 0 l 125 992 "},"Љ":{"x_min":11,"x_max":1270,"ha":1332,"o":"m 837 613 l 910 613 q 1070 590 1003 613 q 1182 527 1138 568 q 1248 432 1227 487 q 1270 310 1270 376 q 1247 179 1270 237 q 1179 81 1225 121 q 1061 21 1132 42 q 892 0 990 0 l 627 0 l 627 817 l 471 817 q 453 677 463 753 q 433 525 444 601 q 412 380 423 449 q 390 258 401 310 q 355 142 376 193 q 303 56 335 91 q 226 3 272 21 q 115 -14 179 -14 q 59 -10 85 -14 q 11 1 33 -6 l 11 174 q 46 164 28 168 q 85 160 64 160 q 120 170 105 160 q 147 203 135 179 q 170 264 159 226 q 191 361 180 303 q 207 457 197 395 q 230 603 218 520 q 257 785 243 686 q 284 992 271 884 l 837 992 l 837 613 m 837 174 l 894 174 q 963 182 932 174 q 1015 205 993 189 q 1048 247 1036 221 q 1059 310 1059 273 q 1047 374 1059 349 q 1011 413 1034 399 q 954 432 988 427 q 880 438 921 438 l 837 438 l 837 174 "},"р":{"x_min":109,"x_max":775,"ha":844,"o":"m 507 -14 q 440 -5 470 -14 q 388 15 411 2 q 347 45 365 28 q 315 81 330 62 l 305 81 q 310 37 307 57 q 314 0 312 19 q 315 -27 315 -17 l 315 -334 l 109 -334 l 109 758 l 277 758 l 306 659 l 315 659 q 348 703 330 682 q 390 739 366 723 q 445 763 414 754 q 512 773 475 773 q 619 747 571 773 q 702 673 668 722 q 756 550 737 623 q 775 380 775 476 q 755 209 775 283 q 700 86 735 136 q 615 11 664 36 q 507 -14 566 -14 m 443 606 q 384 594 408 606 q 345 556 360 581 q 323 492 330 531 q 315 403 317 454 l 315 380 q 322 282 315 325 q 343 211 328 239 q 383 167 358 182 q 444 152 407 152 q 534 211 505 152 q 563 382 563 269 q 534 550 563 494 q 443 606 505 606 "},"Ω":{"x_min":37,"x_max":999,"ha":1031,"o":"m 518 832 q 344 759 399 832 q 290 547 290 686 q 299 434 290 487 q 329 336 308 381 q 384 253 350 290 q 470 189 419 217 l 470 0 l 37 0 l 37 176 l 289 176 q 200 248 240 206 q 132 343 160 290 q 89 459 104 396 q 74 591 74 521 q 102 762 74 685 q 187 893 130 838 q 326 977 243 948 q 518 1007 409 1007 q 709 977 627 1007 q 848 893 792 948 q 933 761 905 838 q 962 589 962 684 q 946 458 962 520 q 902 343 931 396 q 834 248 874 290 q 744 176 794 206 l 999 176 l 999 0 l 561 0 l 561 189 q 649 253 614 216 q 705 336 684 290 q 736 435 727 382 q 745 548 745 488 q 691 759 745 686 q 518 832 636 832 "},"т":{"x_min":32,"x_max":694,"ha":726,"o":"m 694 758 l 694 604 l 466 604 l 466 0 l 260 0 l 260 604 l 32 604 l 32 758 l 694 758 "},"П":{"x_min":125,"x_max":854,"ha":979,"o":"m 854 0 l 643 0 l 643 817 l 335 817 l 335 0 l 125 0 l 125 992 l 854 992 l 854 0 "},"Ö":{"x_min":81,"x_max":970,"ha":1050,"o":"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 291 1182 q 298 1223 291 1206 q 318 1251 305 1240 q 348 1268 331 1263 q 385 1274 365 1274 q 422 1268 405 1274 q 452 1251 439 1263 q 473 1223 465 1240 q 481 1182 481 1206 q 473 1142 481 1159 q 452 1114 465 1125 q 422 1097 439 1102 q 385 1092 405 1092 q 348 1097 365 1092 q 318 1114 331 1102 q 298 1142 305 1125 q 291 1182 291 1159 m 564 1182 q 571 1223 564 1206 q 591 1251 578 1240 q 622 1268 604 1263 q 660 1274 639 1274 q 696 1268 679 1274 q 727 1251 713 1263 q 748 1223 740 1240 q 756 1182 756 1206 q 748 1142 756 1159 q 727 1114 740 1125 q 696 1097 713 1102 q 660 1092 679 1092 q 591 1114 619 1092 q 564 1182 564 1136 "},"z":{"x_min":37,"x_max":595,"ha":635,"o":"m 595 0 l 37 0 l 37 117 l 347 604 l 58 604 l 58 758 l 582 758 l 582 628 l 281 153 l 595 153 l 595 0 "},"™":{"x_min":11,"x_max":978,"ha":1040,"o":"m 258 503 l 145 503 l 145 895 l 11 895 l 11 992 l 393 992 l 393 895 l 258 895 l 258 503 m 648 503 l 536 861 l 531 861 q 532 839 532 850 q 533 817 533 827 q 534 799 533 807 q 534 786 534 790 l 534 503 l 424 503 l 424 992 l 591 992 l 699 646 l 815 992 l 978 992 l 978 503 l 864 503 l 864 779 q 864 795 864 785 q 865 818 864 806 q 865 841 865 829 q 866 861 866 853 l 862 861 l 744 503 l 648 503 "},"Θ":{"x_min":81,"x_max":970,"ha":1050,"o":"m 674 589 l 674 414 l 377 414 l 377 589 l 674 589 m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 "},"Ř":{"x_min":125,"x_max":875.25,"ha":875,"o":"m 335 545 l 393 545 q 520 581 481 545 q 558 685 558 616 q 517 786 558 756 q 389 817 476 817 l 335 817 l 335 545 m 335 379 l 335 0 l 125 0 l 125 992 l 396 992 q 678 918 587 992 q 769 694 769 844 q 755 601 769 642 q 719 527 741 559 q 666 471 696 495 q 604 430 637 447 q 739 215 679 310 q 789 136 765 175 q 832 67 813 98 q 863 18 851 37 l 875 0 l 641 0 l 427 379 l 335 379 m 704 1274 q 664 1229 687 1255 q 620 1176 642 1203 q 578 1121 598 1148 q 543 1071 558 1094 l 302 1071 q 266 1121 287 1094 q 224 1176 246 1148 q 181 1229 202 1203 q 142 1274 159 1255 l 142 1293 l 279 1293 q 349 1240 314 1270 q 421 1174 384 1211 q 494 1240 456 1211 q 566 1293 531 1270 l 704 1293 l 704 1274 "},"Ň":{"x_min":125,"x_max":963,"ha":1088,"o":"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 m 816 1274 q 776 1229 799 1255 q 732 1176 754 1203 q 690 1121 710 1148 q 655 1071 670 1094 l 414 1071 q 378 1121 399 1094 q 336 1176 358 1148 q 293 1229 314 1203 q 254 1274 271 1255 l 254 1293 l 391 1293 q 461 1240 426 1270 q 533 1174 496 1211 q 606 1240 568 1211 q 678 1293 643 1270 l 816 1293 l 816 1274 "},"É":{"x_min":125,"x_max":696,"ha":778,"o":"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 288 1071 l 288 1089 q 318 1134 302 1108 q 350 1187 334 1160 q 380 1242 366 1215 q 406 1293 395 1269 l 638 1293 l 638 1278 q 616 1250 630 1266 q 583 1214 602 1233 q 544 1175 565 1195 q 502 1136 523 1155 q 460 1100 480 1117 q 425 1071 441 1083 l 288 1071 "},"и":{"x_min":109,"x_max":849,"ha":958,"o":"m 303 758 l 303 463 q 301 401 303 440 q 296 324 299 362 q 288 231 292 280 l 606 758 l 849 758 l 849 0 l 654 0 l 654 296 q 656 364 654 325 q 661 438 659 402 q 668 524 664 480 l 351 0 l 109 0 l 109 758 l 303 758 "},"³":{"x_min":40,"x_max":470,"ha":526,"o":"m 451 846 q 423 766 451 800 q 335 712 396 732 l 335 703 q 395 682 370 697 q 437 649 420 668 q 461 608 453 631 q 470 562 470 586 q 410 433 470 480 q 224 386 350 386 q 128 397 173 386 q 40 433 84 409 l 40 562 q 129 518 84 535 q 224 501 174 501 q 298 519 275 501 q 322 573 322 537 q 316 600 322 587 q 298 623 311 613 q 263 639 285 633 q 208 645 241 645 l 132 645 l 132 754 l 193 754 q 249 760 228 754 q 283 776 271 766 q 299 800 295 787 q 303 828 303 814 q 286 871 303 854 q 235 888 269 888 q 175 875 203 888 q 109 834 147 862 l 41 930 q 134 982 83 961 q 255 1004 185 1004 q 333 992 297 1004 q 395 961 369 981 q 436 911 421 940 q 451 846 451 882 "},"[":{"x_min":97,"x_max":425,"ha":460,"o":"m 425 -220 l 97 -220 l 97 992 l 425 992 l 425 848 l 276 848 l 276 -76 l 425 -76 l 425 -220 "},"ζ":{"x_min":69,"x_max":650,"ha":657,"o":"m 650 -25 q 642 -86 650 -55 q 622 -147 634 -117 q 595 -205 610 -177 q 563 -257 579 -233 l 355 -257 q 392 -202 374 -230 q 425 -147 411 -174 q 447 -98 439 -121 q 455 -56 455 -74 q 451 -40 455 -48 q 435 -24 447 -31 q 401 -9 423 -16 q 343 5 379 -2 q 228 41 279 17 q 142 104 177 66 q 87 195 106 142 q 69 315 69 247 q 96 484 69 404 q 172 639 124 565 q 282 781 219 713 q 413 913 344 849 q 385 907 402 909 q 348 904 367 905 q 311 902 329 903 q 282 901 293 901 l 108 901 l 108 1055 l 646 1055 l 646 929 q 504 788 563 853 q 404 665 444 722 q 339 559 363 608 q 301 468 314 510 q 284 391 288 426 q 280 326 280 355 q 292 245 280 275 q 326 196 304 214 q 381 169 349 178 q 452 151 412 159 q 546 121 508 138 q 607 81 583 103 q 640 32 630 59 q 650 -25 650 6 "},"∏":{"x_min":113,"x_max":917,"ha":1030,"o":"m 700 -310 l 700 817 l 329 817 l 329 -310 l 113 -310 l 113 992 l 917 992 l 917 -310 l 700 -310 "},"Έ":{"x_min":-39,"x_max":793,"ha":875,"o":"m 793 0 l 222 0 l 222 992 l 793 992 l 793 817 l 432 817 l 432 602 l 767 602 l 767 427 l 432 427 l 432 174 l 793 174 l 793 0 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 "},"Ρ":{"x_min":125,"x_max":769,"ha":831,"o":"m 335 526 l 377 526 q 513 561 467 526 q 558 674 558 596 q 517 782 558 747 q 389 817 476 817 l 335 817 l 335 526 m 769 682 q 749 557 769 616 q 684 451 729 497 q 565 379 639 406 q 383 352 492 352 l 335 352 l 335 0 l 125 0 l 125 992 l 400 992 q 565 970 496 992 q 680 909 635 949 q 747 812 725 869 q 769 682 769 754 "},"ğ":{"x_min":14,"x_max":735.140625,"ha":766,"o":"m 735 757 l 735 644 l 624 610 q 643 562 638 587 q 649 509 649 537 q 630 403 649 451 q 576 322 612 356 q 486 269 540 288 q 360 251 432 251 q 326 252 345 251 q 299 256 308 254 q 279 232 286 244 q 271 201 271 219 q 280 179 271 187 q 303 165 289 170 q 336 158 317 160 q 375 157 355 157 l 493 157 q 591 144 547 157 q 664 106 634 131 q 710 40 694 80 q 727 -54 727 0 q 701 -170 727 -118 q 624 -258 675 -222 q 497 -314 573 -295 q 322 -334 421 -334 q 187 -319 244 -334 q 91 -277 129 -304 q 33 -211 52 -249 q 14 -123 14 -172 q 28 -51 14 -81 q 66 0 42 -20 q 120 36 90 22 q 182 57 150 49 q 154 74 168 63 q 129 99 140 85 q 111 131 118 113 q 104 167 104 148 q 110 206 104 189 q 128 239 116 224 q 159 268 141 254 q 200 296 177 282 q 105 379 140 322 q 71 513 71 436 q 89 622 71 574 q 145 704 108 670 q 236 755 182 737 q 360 773 290 773 q 391 771 374 773 q 424 767 408 769 q 455 762 441 764 q 477 757 469 759 l 735 757 m 193 -107 q 200 -141 193 -125 q 224 -169 207 -157 q 266 -189 240 -181 q 331 -196 293 -196 q 490 -166 437 -196 q 543 -85 543 -135 q 510 -27 543 -42 q 408 -13 477 -13 l 312 -13 q 273 -17 294 -13 q 234 -33 252 -22 q 205 -62 217 -44 q 193 -107 193 -80 m 265 510 q 289 415 265 448 q 360 381 312 381 q 432 415 410 381 q 454 510 454 448 q 432 607 454 571 q 360 643 410 643 q 265 510 265 643 m 592 1071 q 570 978 588 1020 q 522 906 553 936 q 446 858 490 875 q 343 842 401 842 q 239 858 283 842 q 164 904 194 874 q 118 976 134 934 q 100 1071 102 1018 l 215 1071 q 227 1024 218 1041 q 253 998 237 1007 q 292 987 269 989 q 344 985 315 985 q 391 988 369 985 q 430 1000 413 991 q 459 1026 448 1009 q 473 1071 471 1043 l 592 1071 "},"ª":{"x_min":32,"x_max":444,"ha":504,"o":"m 351 518 l 330 592 q 264 531 303 553 q 181 510 226 510 q 120 519 147 510 q 73 546 92 528 q 42 594 53 565 q 32 661 32 622 q 46 730 32 701 q 88 776 60 758 q 155 803 115 794 q 246 815 195 812 l 307 818 q 287 876 307 859 q 230 894 267 894 q 170 883 203 894 q 102 855 137 872 l 58 947 q 150 986 100 969 q 262 1003 200 1003 q 342 989 308 1003 q 399 952 376 976 q 432 894 421 928 q 444 817 444 859 l 444 518 l 351 518 m 251 732 q 209 723 225 730 q 184 707 193 716 q 172 685 175 697 q 169 661 169 674 q 181 623 169 636 q 213 611 194 611 q 252 619 234 611 q 281 639 269 626 q 300 671 294 653 q 307 712 307 690 l 307 736 l 251 732 "},"ї":{"x_min":-21,"x_max":444,"ha":424,"o":"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m -21 953 q -13 994 -21 977 q 6 1022 -6 1011 q 36 1039 19 1034 q 73 1045 53 1045 q 110 1039 93 1045 q 140 1022 127 1034 q 161 994 153 1011 q 169 953 169 977 q 161 913 169 930 q 140 885 153 896 q 110 868 127 873 q 73 863 93 863 q 36 868 53 863 q 6 885 19 873 q -13 913 -6 896 q -21 953 -21 930 m 252 953 q 259 994 252 977 q 279 1022 266 1011 q 310 1039 292 1034 q 348 1045 327 1045 q 384 1039 367 1045 q 415 1022 401 1034 q 436 994 428 1011 q 444 953 444 977 q 436 913 444 930 q 415 885 428 896 q 384 868 401 873 q 348 863 367 863 q 279 885 307 863 q 252 953 252 907 "},"T":{"x_min":28,"x_max":735,"ha":762,"o":"m 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 0 "},"š":{"x_min":63,"x_max":625,"ha":668,"o":"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 m 625 1045 q 585 1000 608 1026 q 541 947 563 974 q 499 892 519 919 q 464 842 479 865 l 223 842 q 187 892 208 865 q 145 947 167 919 q 102 1000 123 974 q 63 1045 80 1026 l 63 1064 l 200 1064 q 270 1011 235 1041 q 342 945 305 982 q 415 1011 377 982 q 487 1064 452 1041 l 625 1064 l 625 1045 "},"є":{"x_min":69,"x_max":648.703125,"ha":693,"o":"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 759 482 773 q 648 722 597 746 l 588 575 q 501 607 543 595 q 422 619 459 619 q 324 578 358 619 q 280 451 290 536 l 527 451 l 527 303 l 280 303 q 322 179 288 219 q 419 139 355 139 q 527 154 479 139 q 627 193 576 169 l 627 35 q 532 -1 580 10 q 424 -14 484 -14 "},"Þ":{"x_min":125,"x_max":769,"ha":831,"o":"m 769 522 q 751 400 769 458 q 694 297 734 342 q 590 225 654 252 q 429 199 525 199 l 335 199 l 335 0 l 125 0 l 125 992 l 335 992 l 335 837 l 444 837 q 589 814 528 837 q 690 751 650 792 q 749 652 730 710 q 769 522 769 594 m 335 365 l 393 365 q 517 402 476 365 q 558 523 558 438 q 522 634 558 598 q 406 670 485 670 l 335 670 l 335 365 "},"j":{"x_min":-56,"x_max":324.5,"ha":424,"o":"m 68 -334 q 1 -329 36 -334 q -56 -317 -32 -324 l -56 -154 q -16 -164 -34 -161 q 24 -167 1 -167 q 56 -162 41 -167 q 83 -144 72 -157 q 101 -109 94 -131 q 108 -52 108 -87 l 108 758 l 315 758 l 315 -82 q 301 -180 315 -134 q 259 -260 288 -226 q 182 -314 229 -294 q 68 -334 135 -334 m 99 953 q 108 1002 99 983 q 132 1033 116 1021 q 168 1050 147 1045 q 211 1055 188 1055 q 255 1050 234 1055 q 290 1033 275 1045 q 315 1002 306 1021 q 324 953 324 983 q 315 905 324 925 q 290 874 306 885 q 255 857 275 862 q 211 852 234 852 q 168 857 188 852 q 132 874 147 862 q 108 905 116 885 q 99 953 99 925 "},"Σ":{"x_min":53,"x_max":721,"ha":768,"o":"m 53 0 l 53 165 l 347 519 l 61 831 l 61 992 l 681 992 l 681 819 l 416 819 q 381 821 404 819 q 337 823 358 822 q 282 827 311 825 l 565 521 l 266 165 q 336 169 303 167 q 365 170 350 170 q 394 172 380 171 q 419 173 407 172 q 438 173 430 173 l 721 173 l 721 0 l 53 0 "},"1":{"x_min":63,"x_max":555.25,"ha":765,"o":"m 555 0 l 345 0 l 345 574 q 345 616 345 591 q 346 668 345 641 q 348 721 347 694 q 350 771 349 749 q 338 759 347 767 q 320 741 330 751 q 299 721 310 731 q 278 702 288 711 l 164 611 l 63 737 l 382 992 l 555 992 l 555 0 "},"ϒ":{"x_min":-0.25,"x_max":817,"ha":821,"o":"m 404 578 q 436 667 420 622 q 470 752 453 711 q 504 830 487 793 q 539 895 521 866 q 572 941 555 921 q 610 973 589 960 q 657 993 631 987 q 717 1000 683 1000 q 770 995 746 1000 q 817 981 793 991 l 817 825 q 797 830 809 827 q 770 833 784 833 q 750 830 760 833 q 731 820 741 827 q 712 801 722 813 q 689 771 701 789 q 653 707 675 749 q 606 612 631 666 q 556 498 581 559 q 512 376 531 437 l 512 0 l 302 0 l 302 379 l 0 992 l 227 992 l 404 578 "},"ℓ":{"x_min":27.5625,"x_max":645,"ha":695,"o":"m 420 125 q 478 159 456 125 q 504 265 501 194 l 645 265 q 628 147 642 199 q 585 60 614 96 q 512 6 557 25 q 400 -12 466 -12 q 297 5 343 -12 q 218 55 250 22 q 168 140 185 89 q 151 258 151 191 l 151 344 q 93 328 125 336 q 27 311 62 320 l 27 445 q 91 463 60 453 q 151 482 122 472 l 151 761 q 166 872 151 825 q 213 947 182 918 q 291 990 244 976 q 399 1004 338 1004 q 493 988 451 1004 q 564 944 535 973 q 609 875 593 916 q 625 783 625 834 q 606 664 625 715 q 553 570 588 612 q 465 493 517 528 q 345 425 413 459 l 345 251 q 349 200 345 223 q 362 160 354 177 q 385 134 371 144 q 420 125 400 125 m 446 779 q 435 849 446 824 q 397 874 423 874 q 356 848 367 874 q 345 779 345 822 l 345 572 q 422 653 399 600 q 446 779 446 705 "},"ĉ":{"x_min":69,"x_max":677,"ha":693,"o":"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 m 539 842 q 467 894 504 864 q 394 960 429 923 q 322 894 357 923 q 252 842 287 864 l 115 842 l 115 860 q 154 905 132 879 q 197 958 175 931 q 239 1013 219 986 q 275 1064 260 1040 l 516 1064 q 551 1013 531 1040 q 593 958 571 986 q 637 905 615 931 q 677 860 660 879 l 677 842 l 539 842 "},"ī":{"x_min":4,"x_max":422,"ha":424,"o":"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 4 985 l 422 985 l 422 842 l 4 842 l 4 985 "},"О":{"x_min":81,"x_max":970,"ha":1050,"o":"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 "},"ξ":{"x_min":69,"x_max":650,"ha":657,"o":"m 69 297 q 82 382 69 344 q 122 453 96 421 q 182 509 147 484 q 260 550 218 533 l 260 557 q 150 616 189 573 q 112 727 112 658 q 123 792 112 764 q 158 843 135 821 q 220 882 182 865 q 308 910 257 898 q 227 906 265 908 q 196 904 212 905 q 166 903 180 903 q 140 902 151 902 q 123 901 129 901 l 108 901 l 108 1055 l 613 1055 l 613 910 l 568 910 q 474 899 519 910 q 394 867 428 888 q 339 814 359 846 q 318 739 318 782 q 326 688 318 710 q 352 650 333 665 q 402 627 371 635 q 480 620 433 620 l 577 620 l 577 482 l 475 482 q 326 439 372 482 q 280 310 280 396 q 292 239 280 266 q 326 195 304 212 q 381 169 349 178 q 452 151 412 159 q 546 121 508 138 q 607 81 583 103 q 640 32 630 59 q 650 -25 650 5 q 642 -86 650 -55 q 622 -147 634 -117 q 595 -205 610 -177 q 563 -257 579 -233 l 355 -257 q 392 -202 374 -230 q 425 -147 411 -174 q 447 -98 439 -121 q 455 -57 455 -74 q 451 -40 455 -48 q 435 -24 447 -31 q 401 -9 423 -16 q 343 5 379 -1 q 228 41 279 17 q 142 101 177 65 q 87 186 106 138 q 69 297 69 235 "},"Ď":{"x_min":125,"x_max":892,"ha":973,"o":"m 892 505 q 857 285 892 379 q 758 127 823 190 q 600 31 693 63 q 386 0 506 0 l 125 0 l 125 992 l 415 992 q 612 960 524 992 q 762 868 700 929 q 858 715 824 806 q 892 505 892 624 m 681 499 q 665 641 681 581 q 616 740 648 701 q 538 798 584 779 q 432 817 492 817 l 335 817 l 335 174 l 413 174 q 614 255 547 174 q 681 499 681 336 m 739 1274 q 699 1229 722 1255 q 655 1176 677 1203 q 613 1121 633 1148 q 578 1071 593 1094 l 337 1071 q 301 1121 322 1094 q 259 1176 281 1148 q 216 1229 237 1203 q 177 1274 194 1255 l 177 1293 l 314 1293 q 384 1240 349 1270 q 456 1174 419 1211 q 529 1240 491 1211 q 601 1293 566 1270 l 739 1293 l 739 1274 "},"&":{"x_min":56,"x_max":1000,"ha":1003,"o":"m 1000 0 l 744 0 l 678 67 q 559 8 624 30 q 415 -14 493 -14 q 267 6 333 -14 q 154 63 201 26 q 81 152 107 100 q 56 267 56 204 q 68 361 56 320 q 104 435 81 402 q 160 495 127 468 q 233 547 193 523 q 190 607 208 578 q 161 664 172 636 q 145 720 150 692 q 141 779 141 748 q 161 874 141 832 q 219 945 182 915 q 307 990 256 974 q 419 1006 358 1006 q 527 991 477 1006 q 611 950 576 977 q 667 882 647 922 q 688 790 688 841 q 672 704 688 743 q 632 632 657 665 q 572 571 607 598 q 498 519 538 543 l 673 337 q 716 432 697 382 q 747 532 734 481 l 959 532 q 935 450 948 493 q 903 364 921 407 q 861 278 885 321 q 809 197 838 236 l 1000 0 m 267 287 q 278 233 267 257 q 309 193 289 209 q 355 168 329 177 q 413 159 382 159 q 490 170 455 159 q 555 200 525 180 l 346 423 q 288 362 308 395 q 267 287 267 330 m 493 762 q 486 798 493 783 q 469 822 480 812 q 445 836 458 831 q 418 840 432 840 q 389 836 404 840 q 362 823 374 832 q 343 798 350 814 q 335 761 335 783 q 351 694 335 725 q 393 632 366 663 q 468 691 442 662 q 493 762 493 721 "},"G":{"x_min":81,"x_max":895,"ha":1006,"o":"m 502 557 l 895 557 l 895 42 q 815 18 855 29 q 732 1 775 8 q 642 -9 689 -5 q 542 -14 595 -14 q 345 18 431 -14 q 200 116 259 51 q 111 276 142 181 q 81 497 81 372 q 114 708 81 613 q 214 868 148 802 q 377 970 281 934 q 599 1006 474 1006 q 754 989 678 1006 q 893 944 830 972 l 823 776 q 719 815 777 799 q 597 831 661 831 q 473 806 528 831 q 378 738 418 782 q 318 632 339 694 q 297 492 297 569 q 311 358 297 419 q 357 253 326 298 q 438 185 388 209 q 555 160 487 160 q 631 165 600 160 q 689 174 662 169 l 689 382 l 502 382 l 502 557 "},"ΰ":{"x_min":97,"x_max":780,"ha":861,"o":"m 426 -12 q 266 15 330 -12 q 165 91 202 42 q 112 205 127 139 q 97 345 97 270 l 97 758 l 303 758 l 303 340 q 335 197 303 241 q 432 154 366 154 q 493 168 467 154 q 537 213 520 182 q 564 295 555 244 q 573 417 573 345 q 569 503 573 461 q 559 586 566 545 q 544 670 553 628 q 524 758 535 712 l 732 758 q 752 670 744 712 q 767 587 761 629 q 776 502 773 545 q 780 410 780 459 q 757 221 780 301 q 689 90 734 141 q 579 13 645 38 q 426 -12 513 -12 m 151 953 q 173 1023 151 1001 q 231 1044 195 1044 q 290 1023 267 1044 q 313 953 313 1001 q 290 885 313 907 q 231 863 267 863 q 173 885 195 863 q 151 953 151 907 m 537 953 q 559 1023 537 1001 q 618 1044 581 1044 q 677 1023 654 1044 q 700 953 700 1001 q 677 885 700 907 q 618 863 654 863 q 559 885 581 863 q 537 953 537 907 m 355 959 q 367 1006 361 980 q 379 1059 373 1032 q 389 1114 385 1087 q 397 1164 394 1141 l 575 1164 l 575 1150 q 520 1050 553 1104 q 448 942 487 996 l 355 942 l 355 959 "},"`":{"x_min":225,"x_max":575,"ha":802,"o":"m 437 842 q 382 889 414 860 q 318 946 349 917 q 261 1004 287 976 q 225 1049 235 1031 l 225 1064 l 456 1064 q 482 1013 467 1040 q 512 958 496 986 q 544 905 528 931 q 575 860 560 879 l 575 842 l 437 842 "},"ŏ":{"x_min":69,"x_max":762,"ha":832,"o":"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 660 1071 q 638 978 656 1020 q 590 906 621 936 q 514 858 558 875 q 411 842 469 842 q 307 858 351 842 q 232 904 262 874 q 186 976 202 934 q 168 1071 170 1018 l 283 1071 q 295 1024 286 1041 q 321 998 305 1007 q 360 987 337 989 q 412 985 383 985 q 459 988 437 985 q 498 1000 481 991 q 527 1026 516 1009 q 541 1071 539 1043 l 660 1071 "},"ý":{"x_min":-0.25,"x_max":749.25,"ha":749,"o":"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 m 267 842 l 267 860 q 297 905 281 879 q 329 958 313 931 q 359 1013 345 986 q 385 1064 374 1040 l 617 1064 l 617 1049 q 595 1021 609 1037 q 562 985 581 1004 q 523 946 544 966 q 481 907 502 926 q 439 871 459 888 q 404 842 420 854 l 267 842 "},"º":{"x_min":39,"x_max":472,"ha":511,"o":"m 472 756 q 456 652 472 697 q 413 574 441 606 q 344 526 384 543 q 254 510 304 510 q 168 526 207 510 q 99 574 128 543 q 54 652 70 606 q 39 756 39 697 q 54 861 39 815 q 97 938 69 907 q 166 986 125 970 q 257 1003 206 1003 q 342 986 303 1003 q 410 938 381 970 q 455 861 439 907 q 472 756 472 815 m 176 757 q 194 653 176 688 q 256 618 213 618 q 316 653 297 618 q 335 757 335 688 q 316 860 335 826 q 256 894 297 894 q 194 860 213 894 q 176 757 176 826 "},"∞":{"x_min":77,"x_max":905,"ha":982,"o":"m 905 486 q 889 398 905 440 q 845 325 873 357 q 777 275 816 294 q 690 256 738 256 q 580 286 630 256 q 487 376 530 315 q 397 292 447 324 q 294 261 348 261 q 207 277 247 261 q 137 323 167 293 q 92 395 108 353 q 77 490 77 437 q 92 579 77 537 q 136 651 108 620 q 205 700 165 682 q 294 718 245 718 q 399 690 350 718 q 491 600 449 663 q 580 684 531 654 q 690 715 628 715 q 777 698 738 715 q 845 652 816 682 q 889 580 873 622 q 905 486 905 537 m 307 400 q 362 422 336 400 q 413 490 388 444 q 363 556 389 534 q 305 578 337 578 q 272 571 287 578 q 247 551 257 564 q 230 523 236 539 q 225 488 225 507 q 230 455 225 471 q 245 427 235 439 q 271 407 255 415 q 307 400 286 400 m 675 574 q 566 487 619 574 q 618 420 591 444 q 676 396 646 396 q 709 403 694 396 q 734 422 724 410 q 750 451 744 435 q 756 486 756 468 q 750 521 756 505 q 734 549 744 537 q 708 567 723 561 q 675 574 693 574 "},"ź":{"x_min":37,"x_max":595,"ha":635,"o":"m 595 0 l 37 0 l 37 117 l 347 604 l 58 604 l 58 758 l 582 758 l 582 628 l 281 153 l 595 153 l 595 0 m 212 842 l 212 860 q 242 905 226 879 q 274 958 258 931 q 304 1013 290 986 q 330 1064 319 1040 l 562 1064 l 562 1049 q 540 1021 554 1037 q 507 985 526 1004 q 468 946 489 966 q 426 907 447 926 q 384 871 404 888 q 349 842 365 854 l 212 842 "},"я":{"x_min":-0.25,"x_max":673,"ha":782,"o":"m 223 0 l 0 0 l 196 305 q 141 337 166 317 q 96 384 115 357 q 66 446 77 411 q 56 524 56 481 q 76 624 56 580 q 135 697 97 668 q 226 742 173 727 q 343 758 279 758 l 673 758 l 673 0 l 466 0 l 466 283 l 385 283 l 223 0 m 262 521 q 293 447 262 473 q 372 421 323 421 l 466 421 l 466 610 l 350 610 q 311 603 328 610 q 284 584 295 596 q 268 555 273 571 q 262 521 262 539 "},"Ё":{"x_min":125,"x_max":696,"ha":778,"o":"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 186 1182 q 193 1223 186 1206 q 213 1251 200 1240 q 243 1268 226 1263 q 280 1274 260 1274 q 317 1268 300 1274 q 347 1251 334 1263 q 368 1223 360 1240 q 376 1182 376 1206 q 368 1142 376 1159 q 347 1114 360 1125 q 317 1097 334 1102 q 280 1092 300 1092 q 243 1097 260 1092 q 213 1114 226 1102 q 193 1142 200 1125 q 186 1182 186 1159 m 459 1182 q 466 1223 459 1206 q 486 1251 473 1240 q 517 1268 499 1263 q 555 1274 534 1274 q 591 1268 574 1274 q 622 1251 608 1263 q 643 1223 635 1240 q 651 1182 651 1206 q 643 1142 651 1159 q 622 1114 635 1125 q 591 1097 608 1102 q 555 1092 574 1092 q 486 1114 514 1092 q 459 1182 459 1136 "},"ń":{"x_min":109,"x_max":767,"ha":871,"o":"m 767 0 l 560 0 l 560 442 q 535 565 560 524 q 456 606 510 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 m 320 842 l 320 860 q 350 905 334 879 q 382 958 366 931 q 412 1013 398 986 q 438 1064 427 1040 l 670 1064 l 670 1049 q 648 1021 662 1037 q 615 985 634 1004 q 576 946 597 966 q 534 907 555 926 q 492 871 512 888 q 457 842 473 854 l 320 842 "}," ":{"x_min":0,"x_max":0,"ha":347},"Г":{"x_min":125,"x_max":696,"ha":724,"o":"m 696 992 l 696 817 l 335 817 l 335 0 l 125 0 l 125 992 l 696 992 "},"Ь":{"x_min":125,"x_max":769,"ha":831,"o":"m 769 310 q 746 179 769 237 q 678 81 724 121 q 560 21 631 42 q 390 0 489 0 l 125 0 l 125 992 l 335 992 l 335 613 l 408 613 q 569 590 501 613 q 681 527 637 568 q 747 432 726 487 q 769 310 769 376 m 335 174 l 393 174 q 462 182 431 174 q 514 205 492 189 q 547 247 536 221 q 558 310 558 273 q 546 374 558 349 q 510 413 534 399 q 453 432 487 427 q 378 438 420 438 l 335 438 l 335 174 "},"¤":{"x_min":62,"x_max":703,"ha":765,"o":"m 114 490 q 123 561 114 527 q 149 624 133 594 l 62 710 l 162 810 l 249 724 q 312 750 278 741 q 381 760 347 760 q 451 750 418 760 q 515 722 483 741 l 601 810 l 703 713 l 615 625 q 642 562 632 597 q 652 490 652 527 q 642 419 652 452 q 615 355 633 386 l 700 271 l 601 173 l 515 257 q 452 232 485 241 q 381 223 418 223 q 310 231 344 223 q 247 257 276 239 l 162 174 l 63 272 l 149 357 q 114 490 114 418 m 262 490 q 272 440 262 464 q 297 399 281 417 q 335 372 313 382 q 381 362 356 362 q 428 372 406 362 q 467 399 450 382 q 493 440 484 417 q 503 490 503 464 q 493 541 503 518 q 467 582 484 565 q 428 610 450 599 q 381 620 406 620 q 335 610 356 620 q 297 582 313 599 q 272 541 281 565 q 262 490 262 518 "},"Ĝ":{"x_min":81,"x_max":895,"ha":1006,"o":"m 502 557 l 895 557 l 895 42 q 815 18 855 29 q 732 1 775 8 q 642 -9 689 -5 q 542 -14 595 -14 q 345 18 431 -14 q 200 116 259 51 q 111 276 142 181 q 81 497 81 372 q 114 708 81 613 q 214 868 148 802 q 377 970 281 934 q 599 1006 474 1006 q 754 989 678 1006 q 893 944 830 972 l 823 776 q 719 815 777 799 q 597 831 661 831 q 473 806 528 831 q 378 738 418 782 q 318 632 339 694 q 297 492 297 569 q 311 358 297 419 q 357 253 326 298 q 438 185 388 209 q 555 160 487 160 q 631 165 600 160 q 689 174 662 169 l 689 382 l 502 382 l 502 557 m 690 1071 q 618 1123 655 1093 q 545 1189 580 1152 q 473 1123 508 1152 q 403 1071 438 1093 l 266 1071 l 266 1089 q 305 1134 283 1108 q 348 1187 326 1160 q 390 1242 370 1215 q 426 1293 411 1269 l 667 1293 q 702 1242 682 1269 q 744 1187 722 1215 q 788 1134 766 1160 q 828 1089 811 1108 l 828 1071 l 690 1071 "},"p":{"x_min":109,"x_max":775,"ha":844,"o":"m 507 -14 q 440 -5 470 -14 q 388 15 411 2 q 347 45 365 28 q 315 81 330 62 l 305 81 q 310 37 307 57 q 314 0 312 19 q 315 -27 315 -17 l 315 -334 l 109 -334 l 109 758 l 277 758 l 306 659 l 315 659 q 348 703 330 682 q 390 739 366 723 q 445 763 414 754 q 512 773 475 773 q 619 747 571 773 q 702 673 668 722 q 756 550 737 623 q 775 380 775 476 q 755 209 775 283 q 700 86 735 136 q 615 11 664 36 q 507 -14 566 -14 m 443 606 q 384 594 408 606 q 345 556 360 581 q 323 492 330 531 q 315 403 317 454 l 315 380 q 322 282 315 325 q 343 211 328 239 q 383 167 358 182 q 444 152 407 152 q 534 211 505 152 q 563 382 563 269 q 534 550 563 494 q 443 606 505 606 "},"Ю":{"x_min":125,"x_max":1350,"ha":1430,"o":"m 1350 496 q 1324 287 1350 382 q 1248 126 1299 193 q 1118 22 1196 59 q 932 -14 1040 -14 q 760 17 834 -14 q 634 105 686 48 q 554 245 583 163 q 518 427 525 326 l 335 427 l 335 0 l 125 0 l 125 992 l 335 992 l 335 602 l 522 602 q 562 769 532 695 q 644 897 593 844 q 767 978 694 949 q 934 1007 840 1007 q 1119 970 1040 1007 q 1248 867 1197 934 q 1324 706 1299 800 q 1350 496 1350 612 m 734 496 q 746 355 734 417 q 782 250 758 293 q 845 184 807 207 q 934 160 882 160 q 1024 184 986 160 q 1086 250 1061 207 q 1122 355 1110 293 q 1133 496 1133 417 q 1122 636 1133 574 q 1086 742 1110 698 q 1025 808 1062 785 q 935 832 987 832 q 846 808 883 832 q 783 742 808 785 q 746 636 758 698 q 734 496 734 574 "},"ο":{"x_min":69,"x_max":762,"ha":832,"o":"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 "},"S":{"x_min":63.46875,"x_max":668,"ha":728,"o":"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 "},"/":{"x_min":9.75,"x_max":567.25,"ha":574,"o":"m 567 992 l 197 0 l 9 0 l 379 992 l 567 992 "},"Ŧ":{"x_min":28,"x_max":735,"ha":762,"o":"m 487 0 l 277 0 l 277 404 l 116 404 l 116 576 l 277 576 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 576 l 648 576 l 648 404 l 487 404 l 487 0 "},"ђ":{"x_min":3,"x_max":767,"ha":871,"o":"m 521 -334 q 454 -329 488 -334 q 396 -317 419 -324 l 396 -154 q 435 -164 417 -161 q 476 -167 453 -167 q 509 -162 494 -167 q 535 -144 524 -157 q 553 -109 547 -131 q 560 -52 560 -87 l 560 414 q 533 526 560 489 q 456 563 506 563 q 389 547 416 563 q 345 498 362 530 q 322 420 329 467 q 315 314 315 374 l 315 0 l 109 0 l 109 808 l 3 808 l 3 946 l 109 946 l 109 1055 l 315 1055 l 315 946 l 529 946 l 529 808 l 315 808 l 315 796 q 314 736 315 768 q 311 679 313 705 l 306 618 l 317 618 q 402 703 350 677 q 518 730 453 730 q 620 714 575 730 q 699 664 666 698 q 749 577 731 630 q 767 452 767 525 l 767 -82 q 753 -180 767 -134 q 711 -260 740 -226 q 634 -314 681 -294 q 521 -334 587 -334 "},"y":{"x_min":-0.25,"x_max":749.25,"ha":749,"o":"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 "},"Π":{"x_min":125,"x_max":854,"ha":979,"o":"m 854 0 l 643 0 l 643 817 l 335 817 l 335 0 l 125 0 l 125 992 l 854 992 l 854 0 "},"‗":{"x_min":-3,"x_max":574,"ha":571,"o":"m 574 -314 l -3 -314 l -3 -219 l 574 -219 l 574 -314 m 574 -125 l -3 -125 l -3 -31 l 574 -31 l 574 -125 "},"–":{"x_min":56,"x_max":639,"ha":695,"o":"m 56 296 l 56 452 l 639 452 l 639 296 l 56 296 "},"ë":{"x_min":69,"x_max":741,"ha":807,"o":"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 181 953 q 188 994 181 977 q 208 1022 195 1011 q 238 1039 221 1034 q 275 1045 255 1045 q 312 1039 295 1045 q 342 1022 329 1034 q 363 994 355 1011 q 371 953 371 977 q 363 913 371 930 q 342 885 355 896 q 312 868 329 873 q 275 863 295 863 q 238 868 255 863 q 208 885 221 873 q 188 913 195 896 q 181 953 181 930 m 454 953 q 461 994 454 977 q 481 1022 468 1011 q 512 1039 494 1034 q 550 1045 529 1045 q 586 1039 569 1045 q 617 1022 603 1034 q 638 994 630 1011 q 646 953 646 977 q 638 913 646 930 q 617 885 630 896 q 586 868 603 873 q 550 863 569 863 q 481 885 509 863 q 454 953 454 907 "},"б":{"x_min":69,"x_max":766,"ha":851,"o":"m 69 454 q 90 677 69 579 q 158 844 111 774 q 278 959 205 915 q 455 1022 351 1003 q 595 1045 524 1035 q 742 1067 666 1056 l 766 886 q 694 876 732 882 q 617 865 656 871 q 542 853 578 859 q 477 843 507 847 q 394 821 429 835 q 334 779 358 807 q 296 706 309 752 q 280 590 284 661 l 288 590 q 318 630 300 610 q 362 667 336 651 q 421 695 388 684 q 494 706 454 706 q 607 684 556 706 q 692 622 657 663 q 747 519 728 581 q 766 374 766 457 q 740 204 766 277 q 669 83 715 131 q 558 10 622 34 q 416 -14 494 -14 q 272 16 336 -14 q 163 106 208 47 q 93 253 118 166 q 69 454 69 340 m 427 152 q 479 162 455 152 q 519 196 502 173 q 545 259 536 220 q 554 355 554 298 q 547 437 554 400 q 528 499 541 473 q 492 538 514 524 q 439 552 470 552 q 384 539 410 552 q 337 508 358 526 q 301 470 316 490 q 280 435 286 450 q 287 331 280 382 q 311 240 294 279 q 356 176 327 200 q 427 152 384 152 "},"ƒ":{"x_min":120,"x_max":714,"ha":765,"o":"m 491 -81 q 478 -180 491 -134 q 435 -260 465 -225 q 359 -314 406 -294 q 245 -334 312 -334 q 177 -329 212 -334 q 120 -317 143 -324 l 120 -154 q 159 -164 140 -161 q 200 -167 177 -167 q 232 -162 217 -167 q 259 -143 247 -156 q 278 -108 271 -130 q 285 -51 285 -86 l 285 547 l 171 547 l 171 646 l 285 701 l 285 756 q 302 877 285 829 q 352 953 320 925 q 431 994 385 982 q 535 1006 478 1006 q 641 996 598 1006 q 714 974 684 986 l 665 822 q 621 835 644 829 q 567 841 598 841 q 509 815 526 841 q 493 748 493 789 l 493 701 l 647 701 l 647 547 l 493 547 l 491 -81 "},"у":{"x_min":-0.25,"x_max":749.25,"ha":749,"o":"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 "},"J":{"x_min":-135,"x_max":335,"ha":460,"o":"m -1 -292 q -78 -287 -45 -292 q -135 -277 -111 -283 l -135 -103 q -82 -112 -109 -108 q -22 -117 -54 -117 q 35 -110 8 -117 q 82 -86 62 -103 q 113 -42 102 -70 q 124 27 124 -14 l 124 992 l 335 992 l 335 35 q 310 -111 335 -49 q 241 -213 285 -173 q 134 -273 196 -254 q -1 -292 73 -292 "},"ŷ":{"x_min":-0.25,"x_max":749.25,"ha":749,"o":"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 m 519 842 q 447 894 484 864 q 374 960 409 923 q 302 894 337 923 q 232 842 267 864 l 95 842 l 95 860 q 134 905 112 879 q 177 958 155 931 q 219 1013 199 986 q 255 1064 240 1040 l 496 1064 q 531 1013 511 1040 q 573 958 551 986 q 617 905 595 931 q 657 860 640 879 l 657 842 l 519 842 "},"ŕ":{"x_min":109,"x_max":580,"ha":603,"o":"m 504 773 q 522 772 512 773 q 541 771 532 772 q 558 769 550 770 q 570 766 565 768 l 570 572 q 555 575 564 574 q 535 578 545 576 q 514 579 524 579 q 497 579 504 579 q 423 569 457 579 q 366 536 390 559 q 329 476 342 513 q 315 386 315 439 l 315 0 l 109 0 l 109 758 l 265 758 l 296 644 l 306 644 q 341 697 322 673 q 383 738 360 721 q 436 763 407 754 q 504 773 466 773 m 230 842 l 230 860 q 260 905 244 879 q 292 958 276 931 q 322 1013 308 986 q 348 1064 337 1040 l 580 1064 l 580 1049 q 558 1021 572 1037 q 525 985 544 1004 q 486 946 507 966 q 444 907 465 926 q 402 871 422 888 q 367 842 383 854 l 230 842 "},"ώ":{"x_min":81,"x_max":1091,"ha":1171,"o":"m 798 -14 q 722 -3 755 -14 q 663 25 689 6 q 620 72 638 45 q 589 133 602 100 l 582 133 q 551 72 570 100 q 508 25 533 45 q 450 -3 483 6 q 374 -14 416 -14 q 245 14 300 -14 q 154 92 190 42 q 99 213 117 143 q 81 367 81 283 q 85 472 81 423 q 99 568 90 521 q 124 662 109 615 q 158 758 138 708 l 360 758 q 296 573 316 666 q 275 378 275 480 q 282 286 275 327 q 303 215 289 244 q 340 168 317 185 q 393 152 362 152 q 439 163 421 152 q 468 195 458 174 q 484 248 479 217 q 489 319 489 279 l 489 517 l 683 517 l 683 319 q 688 248 683 279 q 703 195 692 217 q 733 163 714 174 q 779 152 751 152 q 832 168 810 152 q 868 214 854 185 q 889 285 883 244 q 896 375 896 326 q 876 572 896 477 q 811 758 855 666 l 1012 758 q 1047 662 1032 708 q 1072 568 1062 615 q 1086 472 1082 521 q 1091 367 1091 423 q 1072 213 1091 283 q 1017 92 1053 143 q 925 14 980 42 q 798 -14 870 -14 m 521 860 q 533 906 527 880 q 544 960 539 932 q 555 1014 550 987 q 562 1064 559 1041 l 754 1064 l 754 1049 q 705 950 733 1003 q 641 842 677 897 l 521 842 l 521 860 "},"˘":{"x_min":154,"x_max":646,"ha":802,"o":"m 646 1071 q 624 978 642 1020 q 576 906 607 936 q 500 858 544 875 q 397 842 455 842 q 293 858 337 842 q 218 904 248 874 q 172 976 188 934 q 154 1071 156 1018 l 269 1071 q 281 1024 272 1041 q 307 998 291 1007 q 346 987 323 989 q 398 985 369 985 q 445 988 423 985 q 484 1000 467 991 q 513 1026 502 1009 q 527 1071 525 1043 l 646 1071 "},"D":{"x_min":125,"x_max":892,"ha":973,"o":"m 892 505 q 857 285 892 379 q 758 127 823 190 q 600 31 693 63 q 386 0 506 0 l 125 0 l 125 992 l 415 992 q 612 960 524 992 q 762 868 700 929 q 858 715 824 806 q 892 505 892 624 m 681 499 q 665 641 681 581 q 616 740 648 701 q 538 798 584 779 q 432 817 492 817 l 335 817 l 335 174 l 413 174 q 614 255 547 174 q 681 499 681 336 "},"ł":{"x_min":0.203125,"x_max":458.6875,"ha":458,"o":"m 331 630 l 379 659 l 458 526 l 331 450 l 331 0 l 125 0 l 125 323 l 76 294 l 0 427 l 125 503 l 125 1055 l 331 1055 l 331 630 "},"ĺ":{"x_min":109,"x_max":472,"ha":424,"o":"m 315 0 l 109 0 l 109 1055 l 315 1055 l 315 0 m 122 1110 l 122 1128 q 152 1173 136 1147 q 184 1226 168 1199 q 214 1281 200 1254 q 240 1332 229 1308 l 472 1332 l 472 1317 q 450 1289 464 1305 q 417 1253 436 1272 q 378 1214 399 1234 q 336 1175 357 1194 q 294 1139 314 1156 q 259 1110 275 1122 l 122 1110 "},"ц":{"x_min":109,"x_max":894,"ha":914,"o":"m 783 151 l 894 151 l 894 -272 l 715 -272 l 715 0 l 109 0 l 109 758 l 315 758 l 315 155 l 576 155 l 576 758 l 783 758 l 783 151 "},"Л":{"x_min":11,"x_max":854,"ha":979,"o":"m 854 0 l 643 0 l 643 817 l 470 817 q 452 677 462 753 q 432 525 443 601 q 411 380 422 449 q 389 258 400 310 q 355 142 375 193 q 303 56 334 91 q 225 3 271 21 q 114 -14 179 -14 q 59 -10 85 -14 q 11 1 33 -6 l 11 174 q 46 164 28 168 q 84 160 63 160 q 119 170 104 160 q 146 203 134 179 q 169 264 159 226 q 190 361 179 303 q 206 457 196 395 q 229 603 217 520 q 256 785 242 686 q 283 992 270 884 l 854 992 l 854 0 "},"$":{"x_min":66,"x_max":720,"ha":765,"o":"m 720 310 q 702 216 720 259 q 648 140 684 172 q 559 86 612 107 q 437 58 507 65 l 437 -80 l 345 -80 l 345 56 q 261 61 300 57 q 190 72 223 65 q 126 90 157 80 q 67 114 96 101 l 67 293 q 129 266 95 279 q 199 242 163 253 q 272 224 235 232 q 345 215 309 217 l 345 430 q 333 435 339 432 q 322 439 327 437 q 313 443 317 441 q 204 492 251 466 q 127 550 158 518 q 81 620 96 582 q 66 708 66 659 q 85 800 66 759 q 140 873 104 842 q 228 923 176 904 q 345 948 280 942 l 345 1055 l 437 1055 l 437 953 q 558 936 496 949 q 688 893 620 922 l 619 734 q 527 766 575 752 q 437 783 479 780 l 437 584 l 464 575 q 576 526 528 551 q 656 470 625 501 q 704 400 688 439 q 720 310 720 361 m 515 306 q 511 334 515 322 q 497 357 507 346 q 473 375 488 367 q 437 393 458 384 l 437 222 q 496 249 477 228 q 515 306 515 269 m 270 712 q 288 659 270 681 q 345 624 305 638 l 345 782 q 289 761 307 778 q 270 712 270 745 "},"w":{"x_min":-0.25,"x_max":1120.25,"ha":1120,"o":"m 688 0 l 629 265 q 622 297 626 276 q 612 346 618 319 q 601 403 607 372 q 589 463 595 433 q 559 613 575 532 l 555 613 q 527 462 539 532 q 515 402 521 432 q 504 344 510 371 q 494 296 499 317 q 487 262 490 274 l 426 0 l 204 0 l 0 758 l 205 758 l 282 422 q 294 359 288 395 q 306 284 301 322 q 317 213 312 246 q 324 160 322 179 l 328 160 q 331 193 329 172 q 337 237 334 214 q 344 286 341 261 q 352 332 348 311 q 359 371 356 354 q 364 394 362 387 l 447 758 l 674 758 l 754 394 q 763 348 757 379 q 774 281 768 317 q 784 212 780 246 q 789 160 788 178 l 793 160 q 800 210 795 176 q 811 281 805 243 q 824 357 817 320 q 837 422 831 395 l 917 758 l 1120 758 l 913 0 l 688 0 "},"о":{"x_min":69,"x_max":762,"ha":832,"o":"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 "},"Д":{"x_min":7,"x_max":978,"ha":1006,"o":"m 7 174 l 84 174 q 158 338 122 252 q 226 523 195 424 q 281 738 256 622 q 324 992 307 854 l 846 992 l 846 174 l 978 174 l 978 -289 l 772 -289 l 772 0 l 212 0 l 212 -289 l 7 -289 l 7 174 m 490 817 q 463 663 480 745 q 421 497 445 581 q 367 331 397 413 q 305 174 338 248 l 635 174 l 635 817 l 490 817 "},"Ç":{"x_min":81,"x_max":836.296875,"ha":885,"o":"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 m 628 -169 q 617 -239 628 -208 q 582 -290 606 -269 q 517 -322 558 -311 q 418 -334 477 -334 q 363 -329 387 -334 q 319 -319 338 -325 l 319 -205 q 341 -210 329 -208 q 367 -215 354 -213 q 393 -218 380 -217 q 416 -220 406 -220 q 450 -210 435 -220 q 465 -178 465 -201 q 440 -133 465 -153 q 352 -105 414 -114 l 405 0 l 536 0 l 517 -41 q 558 -59 538 -48 q 593 -87 578 -71 q 618 -124 608 -103 q 628 -169 628 -144 "},"Ŝ":{"x_min":63.46875,"x_max":668,"ha":728,"o":"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 m 530 1071 q 458 1123 495 1093 q 385 1189 420 1152 q 313 1123 348 1152 q 243 1071 278 1093 l 106 1071 l 106 1089 q 145 1134 123 1108 q 188 1187 166 1160 q 230 1242 210 1215 q 266 1293 251 1269 l 507 1293 q 542 1242 522 1269 q 584 1187 562 1215 q 628 1134 606 1160 q 668 1089 651 1108 l 668 1071 l 530 1071 "},"C":{"x_min":81,"x_max":836.296875,"ha":885,"o":"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 "},"Ḁ":{"x_min":-0.25,"x_max":903.25,"ha":903,"o":"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 622 -244 q 608 -312 622 -282 q 572 -363 595 -342 q 517 -395 548 -384 q 449 -407 486 -407 q 381 -395 412 -407 q 328 -363 350 -384 q 294 -313 306 -343 q 282 -245 282 -283 q 294 -178 282 -208 q 328 -128 306 -148 q 381 -96 350 -107 q 449 -85 412 -85 q 517 -96 485 -85 q 571 -128 548 -107 q 608 -178 594 -148 q 622 -244 622 -207 m 516 -245 q 498 -197 516 -215 q 452 -180 480 -180 q 405 -197 423 -180 q 387 -245 387 -215 q 403 -293 387 -276 q 452 -311 419 -311 q 498 -293 480 -311 q 516 -245 516 -276 "},"Ĵ":{"x_min":-135,"x_max":508,"ha":460,"o":"m -1 -292 q -78 -287 -45 -292 q -135 -277 -111 -283 l -135 -103 q -82 -112 -109 -108 q -22 -117 -54 -117 q 35 -110 8 -117 q 82 -86 62 -103 q 113 -42 102 -70 q 124 27 124 -14 l 124 992 l 335 992 l 335 35 q 310 -111 335 -49 q 241 -213 285 -173 q 134 -273 196 -254 q -1 -292 73 -292 m 370 1071 q 298 1123 335 1093 q 225 1189 260 1152 q 153 1123 188 1152 q 83 1071 118 1093 l -54 1071 l -54 1089 q -14 1134 -36 1108 q 28 1187 6 1160 q 70 1242 50 1215 q 106 1293 91 1269 l 347 1293 q 382 1242 362 1269 q 424 1187 402 1215 q 468 1134 446 1160 q 508 1089 491 1108 l 508 1071 l 370 1071 "},"È":{"x_min":125,"x_max":696,"ha":778,"o":"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 388 1071 q 333 1118 365 1089 q 269 1175 300 1146 q 212 1233 238 1205 q 176 1278 186 1260 l 176 1293 l 407 1293 q 433 1242 418 1269 q 463 1187 447 1215 q 495 1134 479 1160 q 526 1089 511 1108 l 526 1071 l 388 1071 "},"fi":{"x_min":28,"x_max":863.359375,"ha":961,"o":"m 503 604 l 348 604 l 348 0 l 142 0 l 142 604 l 28 604 l 28 703 l 142 758 l 142 813 q 159 934 142 886 q 209 1010 177 982 q 288 1051 242 1039 q 392 1063 334 1063 q 497 1053 454 1063 q 570 1030 540 1043 l 521 877 q 477 890 500 884 q 422 896 454 896 q 365 871 382 896 q 348 804 348 845 l 348 758 l 503 758 l 503 604 m 638 953 q 647 1002 638 983 q 671 1033 655 1021 q 707 1050 686 1045 q 750 1055 727 1055 q 794 1050 773 1055 q 829 1033 814 1045 q 854 1002 845 1021 q 863 953 863 983 q 854 905 863 925 q 829 874 845 885 q 794 857 814 862 q 750 852 773 852 q 707 857 727 852 q 671 874 686 862 q 647 905 655 885 q 638 953 638 925 m 853 0 l 647 0 l 647 758 l 853 758 l 853 0 "},"X":{"x_min":-0.25,"x_max":871.25,"ha":871,"o":"m 871 0 l 631 0 l 428 375 l 224 0 l 0 0 l 301 511 l 20 992 l 252 992 l 438 635 l 620 992 l 847 992 l 563 500 l 871 0 "},"ô":{"x_min":69,"x_max":762,"ha":832,"o":"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 557 842 q 485 894 522 864 q 412 960 447 923 q 340 894 375 923 q 270 842 305 864 l 133 842 l 133 860 q 172 905 150 879 q 215 958 193 931 q 257 1013 237 986 q 293 1064 278 1040 l 534 1064 q 569 1013 549 1040 q 611 958 589 986 q 655 905 633 931 q 695 860 678 879 l 695 842 l 557 842 "},"Ė":{"x_min":125,"x_max":696,"ha":778,"o":"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 296 1164 q 304 1213 296 1194 q 328 1244 313 1232 q 364 1261 344 1256 q 408 1266 385 1266 q 451 1261 431 1266 q 487 1244 472 1256 q 511 1213 502 1232 q 521 1164 521 1194 q 511 1116 521 1136 q 487 1085 502 1096 q 451 1068 472 1073 q 408 1063 431 1063 q 364 1068 385 1063 q 328 1085 344 1073 q 304 1116 313 1096 q 296 1164 296 1136 "},"г":{"x_min":109,"x_max":590,"ha":623,"o":"m 590 758 l 590 604 l 315 604 l 315 0 l 109 0 l 109 758 l 590 758 "},"Ŀ":{"x_min":125,"x_max":696,"ha":743,"o":"m 125 0 l 125 992 l 335 992 l 335 174 l 696 174 l 696 0 l 125 0 m 452 509 q 460 558 452 539 q 484 589 469 577 q 520 606 500 601 q 564 611 541 611 q 607 606 587 611 q 643 589 628 601 q 667 558 658 577 q 677 509 677 539 q 667 461 677 481 q 643 430 658 441 q 607 413 628 418 q 564 408 587 408 q 520 413 541 408 q 484 430 500 418 q 460 461 469 441 q 452 509 452 481 "},"х":{"x_min":6.75,"x_max":754.25,"ha":761,"o":"m 263 387 l 19 758 l 254 758 l 380 530 l 508 758 l 743 758 l 495 387 l 754 0 l 519 0 l 380 245 l 241 0 l 6 0 l 263 387 "},"ŋ":{"x_min":109,"x_max":767,"ha":871,"o":"m 521 -334 q 454 -329 489 -334 q 397 -317 420 -324 l 397 -154 q 435 -164 417 -161 q 476 -167 453 -167 q 509 -162 494 -167 q 535 -143 524 -156 q 553 -108 547 -130 q 560 -51 560 -86 l 560 458 q 533 569 560 532 q 456 606 507 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 -82 q 753 -180 767 -134 q 711 -260 740 -226 q 634 -314 681 -294 q 521 -334 588 -334 "},"Ч":{"x_min":74,"x_max":831,"ha":956,"o":"m 831 0 l 620 0 l 620 383 q 545 356 581 368 q 475 337 509 345 q 408 326 441 330 q 341 322 375 322 q 229 339 278 322 q 144 389 179 356 q 92 471 110 422 q 74 581 74 519 l 74 992 l 284 992 l 284 641 q 312 533 284 569 q 408 496 341 496 q 509 509 458 496 q 620 547 559 522 l 620 992 l 831 992 l 831 0 "},"ü":{"x_min":104,"x_max":762,"ha":871,"o":"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 200 953 q 207 994 200 977 q 227 1022 214 1011 q 257 1039 240 1034 q 294 1045 274 1045 q 331 1039 314 1045 q 361 1022 348 1034 q 382 994 374 1011 q 390 953 390 977 q 382 913 390 930 q 361 885 374 896 q 331 868 348 873 q 294 863 314 863 q 257 868 274 863 q 227 885 240 873 q 207 913 214 896 q 200 953 200 930 m 473 953 q 480 994 473 977 q 500 1022 487 1011 q 531 1039 513 1034 q 569 1045 548 1045 q 605 1039 588 1045 q 636 1022 622 1034 q 657 994 649 1011 q 665 953 665 977 q 657 913 665 930 q 636 885 649 896 q 605 868 622 873 q 569 863 588 863 q 500 885 528 863 q 473 953 473 907 "},"ь":{"x_min":109,"x_max":762,"ha":818,"o":"m 315 467 l 449 467 q 685 411 609 467 q 762 242 762 356 q 744 142 762 187 q 688 65 726 97 q 591 17 650 34 q 447 0 531 0 l 109 0 l 109 758 l 315 758 l 315 467 m 555 239 q 525 300 555 281 q 436 319 495 319 l 315 319 l 315 147 l 438 147 q 522 168 490 147 q 555 239 555 189 "},"Ÿ":{"x_min":-0.25,"x_max":812.25,"ha":811,"o":"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 m 174 1182 q 181 1223 174 1206 q 201 1251 188 1240 q 231 1268 214 1263 q 268 1274 248 1274 q 305 1268 288 1274 q 335 1251 322 1263 q 356 1223 348 1240 q 364 1182 364 1206 q 356 1142 364 1159 q 335 1114 348 1125 q 305 1097 322 1102 q 268 1092 288 1092 q 231 1097 248 1092 q 201 1114 214 1102 q 181 1142 188 1125 q 174 1182 174 1159 m 447 1182 q 454 1223 447 1206 q 474 1251 461 1240 q 505 1268 487 1263 q 543 1274 522 1274 q 579 1268 562 1274 q 610 1251 596 1263 q 631 1223 623 1240 q 639 1182 639 1206 q 631 1142 639 1159 q 610 1114 623 1125 q 579 1097 596 1102 q 543 1092 562 1092 q 474 1114 502 1092 q 447 1182 447 1136 "},"€":{"x_min":45,"x_max":755.671875,"ha":765,"o":"m 520 829 q 405 781 450 829 q 345 644 360 734 l 584 644 l 584 523 l 335 523 q 334 512 335 517 q 333 500 333 506 q 333 488 333 494 q 333 468 333 475 q 335 447 333 461 l 542 447 l 542 326 l 346 326 q 410 197 364 238 q 533 155 457 155 q 631 167 586 155 q 717 199 676 179 l 717 26 q 630 -3 678 6 q 518 -14 582 -14 q 261 74 355 -14 q 137 326 167 162 l 45 326 l 45 447 l 125 447 q 122 469 122 458 q 122 488 122 480 q 122 507 122 498 q 123 523 123 517 l 45 523 l 45 644 l 135 644 q 178 793 148 727 q 257 904 209 859 q 370 974 305 950 q 516 999 435 999 q 643 984 586 999 q 755 943 701 970 l 690 786 q 604 817 644 806 q 520 829 563 829 "},"в":{"x_min":109,"x_max":791,"ha":853,"o":"m 767 560 q 729 457 767 500 q 615 402 691 414 l 615 397 q 688 378 655 392 q 743 342 720 364 q 778 291 765 320 q 791 228 791 262 q 773 136 791 178 q 717 64 755 94 q 619 17 679 34 q 475 0 560 0 l 109 0 l 109 758 l 473 758 q 590 747 537 758 q 683 714 644 737 q 744 653 722 691 q 767 560 767 616 m 579 241 q 549 306 579 286 q 458 326 519 326 l 315 326 l 315 147 l 461 147 q 509 152 487 147 q 546 168 530 157 q 570 198 561 180 q 579 241 579 216 m 555 543 q 463 610 555 610 l 315 610 l 315 464 l 442 464 q 527 482 498 464 q 555 543 555 501 "},"Η":{"x_min":125,"x_max":882,"ha":1007,"o":"m 882 0 l 671 0 l 671 428 l 335 428 l 335 0 l 125 0 l 125 992 l 335 992 l 335 603 l 671 603 l 671 992 l 882 992 l 882 0 "},"С":{"x_min":81,"x_max":836.296875,"ha":885,"o":"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 "},"ß":{"x_min":109,"x_max":897,"ha":946,"o":"m 805 841 q 791 765 805 798 q 755 706 776 732 q 709 661 734 680 q 662 625 683 641 q 627 594 641 609 q 612 565 612 580 q 621 540 612 551 q 647 515 629 528 q 692 484 665 501 q 758 441 720 467 q 817 398 791 420 q 860 350 843 376 q 887 292 878 323 q 897 220 897 261 q 817 45 897 104 q 584 -14 738 -14 q 469 -4 518 -14 q 379 28 420 5 l 379 192 q 419 170 395 181 q 468 151 442 160 q 521 138 494 143 q 571 133 548 133 q 655 154 625 133 q 685 218 685 175 q 680 250 685 236 q 661 278 675 264 q 622 309 648 292 q 557 348 597 325 q 485 394 514 373 q 438 437 456 416 q 413 481 420 458 q 405 532 405 505 q 419 594 405 567 q 454 641 433 620 q 499 679 475 662 q 545 715 524 697 q 580 753 566 733 q 593 801 593 774 q 560 870 593 844 q 460 896 526 896 q 351 864 388 896 q 315 761 315 831 l 315 0 l 109 0 l 109 772 q 134 901 109 846 q 205 991 159 955 q 317 1045 251 1027 q 461 1063 382 1063 q 602 1048 539 1063 q 711 1005 666 1033 q 781 936 756 977 q 805 841 805 894 "},"њ":{"x_min":109,"x_max":1143,"ha":1198,"o":"m 737 467 l 829 467 q 1066 411 989 467 q 1143 242 1143 356 q 1125 142 1143 187 q 1069 65 1107 97 q 971 17 1031 34 q 828 0 912 0 l 531 0 l 531 310 l 315 310 l 315 0 l 109 0 l 109 758 l 315 758 l 315 468 l 531 468 l 531 758 l 737 758 l 737 467 m 936 239 q 906 300 936 281 q 817 319 876 319 l 737 319 l 737 147 l 819 147 q 903 168 871 147 q 936 239 936 189 "},"Ű":{"x_min":118,"x_max":876,"ha":994,"o":"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 272 1071 l 272 1089 q 302 1134 286 1108 q 334 1187 318 1160 q 364 1242 350 1215 q 389 1293 379 1269 l 594 1293 l 594 1278 q 572 1250 586 1266 q 539 1214 558 1233 q 500 1175 521 1195 q 457 1136 478 1155 q 416 1100 436 1117 q 381 1071 396 1083 l 272 1071 m 541 1071 l 541 1089 q 571 1134 555 1108 q 603 1187 587 1160 q 633 1242 619 1215 q 658 1293 648 1269 l 863 1293 l 863 1278 q 841 1250 855 1266 q 808 1214 827 1233 q 769 1175 790 1195 q 727 1136 748 1155 q 686 1100 705 1117 q 650 1071 666 1083 l 541 1071 "},"c":{"x_min":69,"x_max":648.703125,"ha":693,"o":"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 "},"¶":{"x_min":77,"x_max":792,"ha":910,"o":"m 792 -176 l 682 -176 l 682 919 l 569 919 l 569 -176 l 460 -176 l 460 379 q 361 367 418 367 q 244 384 296 367 q 154 441 191 401 q 97 546 117 481 q 77 706 77 611 q 99 873 77 806 q 161 980 121 939 q 258 1038 201 1021 q 382 1055 314 1055 l 792 1055 l 792 -176 "},"Ή":{"x_min":-39,"x_max":965,"ha":1091,"o":"m 965 0 l 754 0 l 754 428 l 418 428 l 418 0 l 208 0 l 208 992 l 418 992 l 418 603 l 754 603 l 754 992 l 965 992 l 965 0 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 "},"Ὅ":{"x_min":-269,"x_max":1026,"ha":1106,"o":"m 1026 496 q 999 287 1026 382 q 917 126 972 193 q 778 22 862 59 q 581 -14 695 -14 q 383 22 467 -14 q 245 126 299 59 q 163 288 190 193 q 137 498 137 382 q 163 707 137 613 q 245 867 190 801 q 384 970 300 934 q 582 1007 467 1007 q 779 970 696 1007 q 917 867 863 934 q 999 706 972 800 q 1026 496 1026 612 m 353 496 q 366 355 353 417 q 408 250 380 293 q 479 184 436 207 q 581 160 522 160 q 685 184 641 160 q 755 250 728 207 q 796 355 783 293 q 809 496 809 417 q 796 636 809 574 q 755 742 783 698 q 685 808 728 785 q 582 832 642 832 q 480 808 523 832 q 408 742 436 785 q 366 636 380 698 q 353 496 353 574 m -269 858 q -258 904 -269 881 q -223 947 -247 927 q -162 980 -199 966 q -70 1003 -124 995 l -70 952 q -143 925 -119 937 q -166 893 -166 912 q -154 874 -166 880 q -126 862 -141 868 q -98 848 -111 857 q -86 820 -86 839 q -107 780 -86 795 q -173 765 -128 765 q -210 770 -193 765 q -241 787 -228 775 q -261 816 -254 798 q -269 858 -269 834 m -34 788 q -21 834 -28 808 q -5 887 -13 859 q 9 942 1 915 q 21 993 16 969 l 199 993 l 199 979 q 172 930 188 956 q 137 876 156 904 q 98 822 119 849 q 58 771 77 795 l -34 771 l -34 788 "},"γ":{"x_min":0.75,"x_max":747.25,"ha":747,"o":"m 483 12 q 452 -76 466 -29 q 430 -167 439 -122 q 417 -255 421 -213 q 412 -334 412 -298 l 201 -334 q 206 -264 201 -305 q 220 -176 211 -223 q 242 -82 229 -130 q 268 8 254 -34 l 0 758 l 215 758 l 314 423 q 332 359 323 395 q 350 286 342 322 q 365 218 359 249 q 374 168 371 186 l 378 168 q 384 218 380 189 q 397 278 389 246 q 413 345 404 310 q 433 413 422 379 l 531 758 l 747 758 l 483 12 "},"­":{"x_min":41,"x_max":406,"ha":447,"o":"m 41 287 l 41 457 l 406 457 l 406 287 l 41 287 "},":":{"x_min":79,"x_max":316,"ha":396,"o":"m 79 97 q 88 151 79 129 q 113 187 97 173 q 151 206 129 200 q 198 213 173 213 q 243 206 221 213 q 280 187 264 200 q 306 151 297 173 q 316 97 316 129 q 306 45 316 66 q 280 9 297 23 q 243 -11 264 -5 q 198 -18 221 -18 q 151 -11 173 -18 q 113 9 129 -5 q 88 45 97 23 q 79 97 79 66 m 79 657 q 88 711 79 689 q 113 747 97 733 q 151 766 129 760 q 198 773 173 773 q 243 766 221 773 q 280 747 264 760 q 306 711 297 733 q 316 657 316 689 q 306 604 316 626 q 280 568 297 582 q 243 548 264 554 q 198 542 221 542 q 151 548 173 542 q 113 568 129 554 q 88 604 97 582 q 79 657 79 626 "},"ś":{"x_min":66,"x_max":614,"ha":668,"o":"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 m 232 842 l 232 860 q 262 905 246 879 q 294 958 278 931 q 324 1013 310 986 q 350 1064 339 1040 l 582 1064 l 582 1049 q 560 1021 574 1037 q 527 985 546 1004 q 488 946 509 966 q 446 907 467 926 q 404 871 424 888 q 369 842 385 854 l 232 842 "}," ":{"x_min":0,"x_max":0,"ha":361},"У":{"x_min":-0.25,"x_max":851.25,"ha":851,"o":"m 851 992 l 563 290 q 503 162 534 218 q 431 66 473 105 q 332 6 389 27 q 194 -14 275 -14 q 120 -8 159 -14 q 46 6 80 -3 l 46 185 q 118 166 79 171 q 194 160 158 160 q 253 169 229 160 q 294 195 277 178 q 322 232 311 211 q 343 279 334 254 l 0 992 l 222 992 l 409 563 q 420 538 414 553 q 431 509 426 524 q 441 482 437 495 q 446 465 446 470 l 454 465 q 458 483 455 471 q 465 510 461 496 q 473 538 469 524 q 482 562 478 552 l 634 992 l 851 992 "},"¾":{"x_min":61,"x_max":1161.203125,"ha":1224,"o":"m 977 992 l 426 0 l 264 0 l 815 992 l 977 992 m 1161 101 l 1076 101 l 1076 0 l 915 0 l 915 101 l 655 101 l 655 207 l 916 599 l 1076 599 l 1076 217 l 1161 217 l 1161 101 m 915 217 l 915 328 q 916 388 915 356 q 919 453 917 419 q 909 429 915 444 q 895 399 902 415 q 880 370 887 384 q 866 346 872 356 l 780 217 l 915 217 m 472 846 q 444 766 472 800 q 356 712 417 732 l 356 703 q 416 682 391 697 q 458 649 441 668 q 482 608 474 631 q 491 562 491 586 q 431 433 491 480 q 245 386 371 386 q 149 397 194 386 q 61 433 105 409 l 61 562 q 150 518 105 535 q 245 501 195 501 q 319 519 296 501 q 343 573 343 537 q 337 600 343 587 q 319 623 332 613 q 284 639 306 633 q 229 645 262 645 l 153 645 l 153 754 l 214 754 q 270 760 249 754 q 304 776 292 766 q 320 800 316 787 q 324 828 324 814 q 307 871 324 854 q 256 888 290 888 q 196 875 224 888 q 130 834 168 862 l 62 930 q 155 982 104 961 q 276 1004 206 1004 q 354 992 318 1004 q 416 961 390 981 q 457 911 442 940 q 472 846 472 882 "},"Ί":{"x_min":-39,"x_max":666.96875,"ha":711,"o":"m 666 0 l 215 0 l 215 119 l 336 174 l 336 817 l 215 872 l 215 992 l 666 992 l 666 872 l 546 817 l 546 174 l 666 119 l 666 0 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 "},"ʼn":{"x_min":16,"x_max":937,"ha":1040,"o":"m 937 0 l 730 0 l 730 442 q 705 565 730 524 q 626 606 680 606 q 558 590 585 606 q 515 542 531 574 q 492 463 499 510 q 485 356 485 416 l 485 0 l 279 0 l 279 758 l 437 758 l 464 661 l 476 661 q 516 711 492 690 q 567 746 539 732 q 626 766 595 760 q 690 773 657 773 q 791 757 745 773 q 869 707 836 741 q 919 620 901 673 q 937 494 937 568 l 937 0 m 273 992 l 284 977 q 261 898 274 939 q 232 815 248 857 q 198 731 216 772 q 164 652 181 690 l 16 652 q 35 737 25 692 q 54 827 45 782 q 71 913 63 871 q 83 992 78 956 l 273 992 "},"Ģ":{"x_min":81,"x_max":895,"ha":1006,"o":"m 502 557 l 895 557 l 895 42 q 815 18 855 29 q 732 1 775 8 q 642 -9 689 -5 q 542 -14 595 -14 q 345 18 431 -14 q 200 116 259 51 q 111 276 142 181 q 81 497 81 372 q 114 708 81 613 q 214 868 148 802 q 377 970 281 934 q 599 1006 474 1006 q 754 989 678 1006 q 893 944 830 972 l 823 776 q 719 815 777 799 q 597 831 661 831 q 473 806 528 831 q 378 738 418 782 q 318 632 339 694 q 297 492 297 569 q 311 358 297 419 q 357 253 326 298 q 438 185 388 209 q 555 160 487 160 q 631 165 600 160 q 689 174 662 169 l 689 382 l 502 382 l 502 557 m 427 -288 q 439 -242 433 -268 q 450 -188 445 -216 q 461 -134 456 -161 q 468 -85 466 -107 l 660 -85 l 660 -98 q 611 -198 639 -145 q 547 -307 583 -251 l 427 -307 l 427 -288 "},"m":{"x_min":109,"x_max":1204,"ha":1308,"o":"m 759 0 l 553 0 l 553 442 q 528 565 553 524 q 452 606 504 606 q 386 590 412 606 q 344 542 360 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 345 711 322 690 q 395 746 368 732 q 452 766 422 760 q 514 773 483 773 q 646 746 592 773 q 730 661 701 719 l 747 661 q 786 711 763 690 q 837 746 809 732 q 896 766 865 760 q 958 773 927 773 q 1142 706 1080 773 q 1204 494 1204 640 l 1204 0 l 997 0 l 997 442 q 972 565 997 524 q 896 606 948 606 q 791 548 822 606 q 759 380 759 489 l 759 0 "},"Е":{"x_min":125,"x_max":696,"ha":778,"o":"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 "},"ž":{"x_min":37,"x_max":612,"ha":635,"o":"m 595 0 l 37 0 l 37 117 l 347 604 l 58 604 l 58 758 l 582 758 l 582 628 l 281 153 l 595 153 l 595 0 m 612 1045 q 572 1000 595 1026 q 528 947 550 974 q 486 892 506 919 q 451 842 466 865 l 210 842 q 174 892 195 865 q 132 947 154 919 q 89 1000 110 974 q 50 1045 67 1026 l 50 1064 l 187 1064 q 257 1011 222 1041 q 329 945 292 982 q 402 1011 364 982 q 474 1064 439 1041 l 612 1064 l 612 1045 "},"á":{"x_min":58,"x_max":694,"ha":798,"o":"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 300 842 l 300 860 q 330 905 314 879 q 362 958 346 931 q 392 1013 378 986 q 418 1064 407 1040 l 650 1064 l 650 1049 q 628 1021 642 1037 q 595 985 614 1004 q 556 946 577 966 q 514 907 535 926 q 472 871 492 888 q 437 842 453 854 l 300 842 "},"×":{"x_min":73.9375,"x_max":691.796875,"ha":765,"o":"m 276 490 l 73 694 l 176 799 l 380 596 l 587 799 l 691 697 l 484 490 l 689 285 l 587 181 l 380 386 l 176 183 l 75 286 l 276 490 "},"п":{"x_min":109,"x_max":755,"ha":864,"o":"m 755 758 l 755 0 l 548 0 l 548 604 l 315 604 l 315 0 l 109 0 l 109 758 l 755 758 "},"Ǻ":{"x_min":-0.25,"x_max":903.25,"ha":903,"o":"m 622 991 q 614 936 622 961 q 590 891 605 911 l 903 0 l 690 0 l 619 225 l 282 225 l 212 0 l 0 0 l 311 891 q 282 990 282 931 q 294 1058 282 1028 q 328 1108 306 1088 q 381 1140 350 1129 q 450 1152 413 1152 q 517 1140 486 1152 q 572 1108 548 1129 q 609 1058 595 1088 q 622 991 622 1029 m 574 400 l 510 596 q 498 631 506 606 q 480 687 489 657 q 463 747 471 717 q 451 798 455 777 q 444 767 449 785 q 434 728 440 748 q 422 687 428 708 q 411 648 416 666 q 401 616 405 630 q 394 596 396 602 l 331 400 l 574 400 m 368 1189 l 368 1199 q 398 1229 382 1213 q 431 1263 415 1246 q 461 1298 447 1281 q 486 1331 475 1316 l 718 1331 l 718 1322 q 681 1292 707 1310 q 624 1255 656 1275 q 561 1218 593 1236 q 505 1189 529 1201 l 368 1189 m 518 990 q 500 1038 518 1020 q 452 1055 481 1055 q 405 1038 424 1055 q 386 990 386 1020 q 401 943 386 961 q 445 925 415 926 l 458 925 q 501 943 484 926 q 518 990 518 961 "},"K":{"x_min":125,"x_max":880.25,"ha":880,"o":"m 880 0 l 641 0 l 413 412 l 335 354 l 335 0 l 125 0 l 125 992 l 335 992 l 335 514 l 417 654 l 644 992 l 877 992 l 561 544 l 880 0 "},"7":{"x_min":37,"x_max":721,"ha":765,"o":"m 140 0 l 493 815 l 37 815 l 37 990 l 721 990 l 721 859 l 359 0 l 140 0 "},"¨":{"x_min":168,"x_max":633,"ha":802,"o":"m 168 953 q 175 994 168 977 q 195 1022 182 1011 q 225 1039 208 1034 q 262 1045 242 1045 q 299 1039 282 1045 q 329 1022 316 1034 q 350 994 342 1011 q 358 953 358 977 q 350 913 358 930 q 329 885 342 896 q 299 868 316 873 q 262 863 282 863 q 225 868 242 863 q 195 885 208 873 q 175 913 182 896 q 168 953 168 930 m 441 953 q 448 994 441 977 q 468 1022 455 1011 q 499 1039 481 1034 q 537 1045 516 1045 q 573 1039 556 1045 q 604 1022 590 1034 q 625 994 617 1011 q 633 953 633 977 q 625 913 633 930 q 604 885 617 896 q 573 868 590 873 q 537 863 556 863 q 468 885 496 863 q 441 953 441 907 "},"Y":{"x_min":-0.25,"x_max":812.25,"ha":811,"o":"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 "},"E":{"x_min":125,"x_max":696,"ha":778,"o":"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 "},"Ô":{"x_min":81,"x_max":970,"ha":1050,"o":"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 662 1071 q 590 1123 627 1093 q 517 1189 552 1152 q 445 1123 480 1152 q 375 1071 410 1093 l 238 1071 l 238 1089 q 277 1134 255 1108 q 320 1187 298 1160 q 362 1242 342 1215 q 398 1293 383 1269 l 639 1293 q 674 1242 654 1269 q 716 1187 694 1215 q 760 1134 738 1160 q 800 1089 783 1108 l 800 1071 l 662 1071 "},"Є":{"x_min":81,"x_max":836.296875,"ha":885,"o":"m 543 831 q 450 814 492 831 q 376 766 408 797 q 324 689 344 735 q 298 586 304 644 l 676 586 l 676 411 l 297 411 q 367 225 304 290 q 544 160 429 160 q 666 174 604 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 767 765 q 655 811 711 791 q 543 831 598 831 "},"Ï":{"x_min":37,"x_max":502,"ha":541,"o":"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 37 1182 q 44 1223 37 1206 q 64 1251 51 1240 q 94 1268 77 1263 q 131 1274 111 1274 q 168 1268 151 1274 q 198 1251 185 1263 q 219 1223 211 1240 q 227 1182 227 1206 q 219 1142 227 1159 q 198 1114 211 1125 q 168 1097 185 1102 q 131 1092 151 1092 q 94 1097 111 1092 q 64 1114 77 1102 q 44 1142 51 1125 q 37 1182 37 1159 m 310 1182 q 317 1223 310 1206 q 337 1251 324 1240 q 368 1268 350 1263 q 406 1274 385 1274 q 442 1268 425 1274 q 473 1251 459 1263 q 494 1223 486 1240 q 502 1182 502 1206 q 494 1142 502 1159 q 473 1114 486 1125 q 442 1097 459 1102 q 406 1092 425 1092 q 337 1114 365 1092 q 310 1182 310 1136 "},"ġ":{"x_min":14,"x_max":735.140625,"ha":766,"o":"m 735 757 l 735 644 l 624 610 q 643 562 638 587 q 649 509 649 537 q 630 403 649 451 q 576 322 612 356 q 486 269 540 288 q 360 251 432 251 q 326 252 345 251 q 299 256 308 254 q 279 232 286 244 q 271 201 271 219 q 280 179 271 187 q 303 165 289 170 q 336 158 317 160 q 375 157 355 157 l 493 157 q 591 144 547 157 q 664 106 634 131 q 710 40 694 80 q 727 -54 727 0 q 701 -170 727 -118 q 624 -258 675 -222 q 497 -314 573 -295 q 322 -334 421 -334 q 187 -319 244 -334 q 91 -277 129 -304 q 33 -211 52 -249 q 14 -123 14 -172 q 28 -51 14 -81 q 66 0 42 -20 q 120 36 90 22 q 182 57 150 49 q 154 74 168 63 q 129 99 140 85 q 111 131 118 113 q 104 167 104 148 q 110 206 104 189 q 128 239 116 224 q 159 268 141 254 q 200 296 177 282 q 105 379 140 322 q 71 513 71 436 q 89 622 71 574 q 145 704 108 670 q 236 755 182 737 q 360 773 290 773 q 391 771 374 773 q 424 767 408 769 q 455 762 441 764 q 477 757 469 759 l 735 757 m 193 -107 q 200 -141 193 -125 q 224 -169 207 -157 q 266 -189 240 -181 q 331 -196 293 -196 q 490 -166 437 -196 q 543 -85 543 -135 q 510 -27 543 -42 q 408 -13 477 -13 l 312 -13 q 273 -17 294 -13 q 234 -33 252 -22 q 205 -62 217 -44 q 193 -107 193 -80 m 265 510 q 289 415 265 448 q 360 381 312 381 q 432 415 410 381 q 454 510 454 448 q 432 607 454 571 q 360 643 410 643 q 265 510 265 643 m 251 954 q 259 1003 251 984 q 283 1034 268 1022 q 319 1051 299 1046 q 363 1056 340 1056 q 406 1051 386 1056 q 442 1034 427 1046 q 466 1003 457 1022 q 476 954 476 984 q 466 906 476 926 q 442 875 457 886 q 406 858 427 863 q 363 853 386 853 q 319 858 340 853 q 283 875 299 863 q 259 906 268 886 q 251 954 251 926 "},"έ":{"x_min":53,"x_max":677,"ha":729,"o":"m 531 464 l 531 316 l 432 316 q 299 292 340 316 q 259 221 259 267 q 268 187 259 202 q 297 161 277 172 q 348 145 317 150 q 424 139 379 139 q 498 144 462 139 q 566 159 533 150 q 626 180 598 168 q 676 203 654 191 l 676 38 q 557 0 627 14 q 400 -14 488 -14 q 242 1 308 -14 q 134 46 177 17 q 72 115 92 74 q 53 206 53 156 q 66 278 53 248 q 104 330 79 308 q 163 366 128 352 q 240 387 198 379 l 240 394 q 129 457 165 411 q 93 571 93 502 q 117 664 93 626 q 184 726 142 702 q 283 762 227 751 q 403 773 340 773 q 477 768 440 773 q 550 757 515 764 q 617 739 585 749 q 677 716 649 728 l 620 566 q 527 603 576 586 q 421 619 478 619 q 365 615 390 619 q 324 603 341 612 q 297 581 306 594 q 287 547 287 567 q 325 483 287 502 q 444 464 363 464 l 531 464 m 323 860 q 335 906 329 880 q 346 960 341 932 q 357 1014 352 987 q 364 1064 361 1041 l 556 1064 l 556 1049 q 507 950 535 1003 q 443 842 479 897 l 323 842 l 323 860 "}," ":{"x_min":0,"x_max":0,"ha":463},"ϋ":{"x_min":97,"x_max":780,"ha":861,"o":"m 426 -12 q 266 15 330 -12 q 165 91 202 42 q 112 205 127 139 q 97 345 97 270 l 97 758 l 303 758 l 303 340 q 335 197 303 241 q 432 154 366 154 q 493 168 467 154 q 537 213 520 182 q 564 295 555 244 q 573 417 573 345 q 569 503 573 461 q 559 586 566 545 q 544 670 553 628 q 524 758 535 712 l 732 758 q 752 670 744 712 q 767 587 761 629 q 776 502 773 545 q 780 410 780 459 q 757 221 780 301 q 689 90 734 141 q 579 13 645 38 q 426 -12 513 -12 m 199 953 q 206 994 199 977 q 226 1022 213 1011 q 256 1039 239 1034 q 293 1045 273 1045 q 330 1039 313 1045 q 360 1022 347 1034 q 381 994 373 1011 q 389 953 389 977 q 381 913 389 930 q 360 885 373 896 q 330 868 347 873 q 293 863 313 863 q 256 868 273 863 q 226 885 239 873 q 206 913 213 896 q 199 953 199 930 m 472 953 q 479 994 472 977 q 499 1022 486 1011 q 530 1039 512 1034 q 568 1045 547 1045 q 604 1039 587 1045 q 635 1022 621 1034 q 656 994 648 1011 q 664 953 664 977 q 656 913 664 930 q 635 885 648 896 q 604 868 621 873 q 568 863 587 863 q 499 885 527 863 q 472 953 472 907 "},"й":{"x_min":109,"x_max":849,"ha":958,"o":"m 303 758 l 303 463 q 301 401 303 440 q 296 324 299 362 q 288 231 292 280 l 606 758 l 849 758 l 849 0 l 654 0 l 654 296 q 656 364 654 325 q 661 438 659 402 q 668 524 664 480 l 351 0 l 109 0 l 109 758 l 303 758 m 806 1085 q 781 985 800 1030 q 722 909 761 941 q 622 859 684 877 q 471 842 561 842 q 319 858 379 842 q 221 907 258 875 q 168 983 185 939 q 148 1085 152 1028 l 334 1085 q 347 1020 337 1045 q 373 981 356 995 q 415 961 389 967 q 477 955 441 955 q 531 962 506 955 q 574 983 556 968 q 603 1023 592 998 q 619 1085 615 1048 l 806 1085 "},"b":{"x_min":109,"x_max":775,"ha":844,"o":"m 512 773 q 619 747 571 773 q 701 673 667 722 q 755 550 736 623 q 775 380 775 476 q 755 209 775 282 q 701 85 736 135 q 616 11 665 36 q 507 -14 567 -14 q 440 -5 469 -14 q 387 15 410 2 q 347 46 364 29 q 315 82 330 64 l 301 82 l 267 0 l 109 0 l 109 1055 l 315 1055 l 315 809 q 314 761 315 787 q 311 712 313 734 q 307 659 309 686 l 315 659 q 348 704 330 683 q 390 739 366 724 q 445 764 414 755 q 512 773 475 773 m 443 606 q 384 594 408 606 q 345 556 360 581 q 323 492 330 531 q 315 403 317 454 l 315 380 q 322 282 315 325 q 343 211 328 239 q 383 167 358 182 q 444 152 407 152 q 534 211 505 152 q 563 382 563 269 q 534 550 563 494 q 443 606 505 606 "},"ύ":{"x_min":97,"x_max":780,"ha":861,"o":"m 426 -12 q 266 15 330 -12 q 165 91 202 42 q 112 205 127 139 q 97 345 97 270 l 97 758 l 303 758 l 303 340 q 335 197 303 241 q 432 154 366 154 q 493 168 467 154 q 537 213 520 182 q 564 295 555 244 q 573 417 573 345 q 569 503 573 461 q 559 586 566 545 q 544 670 553 628 q 524 758 535 712 l 732 758 q 752 670 744 712 q 767 587 761 629 q 776 502 773 545 q 780 410 780 459 q 757 221 780 301 q 689 90 734 141 q 579 13 645 38 q 426 -12 513 -12 m 354 860 q 366 906 360 880 q 377 960 372 932 q 388 1014 383 987 q 395 1064 392 1041 l 587 1064 l 587 1049 q 538 950 566 1003 q 474 842 510 897 l 354 842 l 354 860 "},"fl":{"x_min":28,"x_max":853.859375,"ha":961,"o":"m 503 604 l 348 604 l 348 0 l 142 0 l 142 604 l 28 604 l 28 703 l 142 758 l 142 813 q 159 934 142 886 q 209 1010 177 982 q 288 1051 242 1039 q 392 1063 334 1063 q 497 1053 454 1063 q 570 1030 540 1043 l 521 877 q 477 890 500 884 q 422 896 454 896 q 365 871 382 896 q 348 804 348 845 l 348 758 l 503 758 l 503 604 m 853 0 l 647 0 l 647 1055 l 853 1055 l 853 0 "},"ф":{"x_min":69,"x_max":1034,"ha":1103,"o":"m 651 762 q 815 722 744 753 q 935 641 887 691 q 1009 525 984 591 q 1034 379 1034 458 q 1010 232 1034 299 q 938 115 986 165 q 818 34 890 66 q 651 -5 747 3 l 651 -334 l 457 -334 l 457 -5 q 291 35 364 3 q 170 116 219 66 q 94 233 120 167 q 69 379 69 299 q 92 527 69 460 q 163 645 115 595 q 284 725 211 694 q 457 762 357 755 l 457 1055 l 651 1055 l 651 762 m 280 378 q 292 292 280 331 q 327 222 304 252 q 382 173 349 192 q 457 148 415 154 l 457 608 q 383 582 415 602 q 327 532 350 562 q 292 463 305 502 q 280 378 280 424 m 822 378 q 810 463 822 424 q 776 532 798 502 q 722 580 754 562 q 651 606 691 599 l 651 148 q 724 173 692 154 q 777 222 755 192 q 810 292 799 252 q 822 378 822 331 "},"Ŋ":{"x_min":113,"x_max":950,"ha":1063,"o":"m 634 -292 q 557 -287 590 -292 q 501 -277 524 -283 l 501 -103 q 553 -112 526 -108 q 614 -117 581 -117 q 670 -111 643 -117 q 719 -92 697 -106 q 756 -55 741 -78 q 775 2 771 -32 l 293 750 l 287 750 q 294 646 291 698 q 298 554 296 602 q 300 466 300 505 l 300 0 l 113 0 l 113 992 l 378 992 l 768 387 l 772 387 q 768 489 770 439 q 766 534 767 511 q 764 579 765 556 q 763 623 763 602 q 762 661 762 644 l 762 992 l 950 992 l 950 0 q 926 -130 950 -75 q 862 -221 903 -186 q 763 -274 821 -257 q 634 -292 705 -292 "},"Ũ":{"x_min":118,"x_max":876,"ha":994,"o":"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 382 1135 q 348 1119 361 1135 q 328 1069 336 1103 l 227 1069 q 244 1163 231 1123 q 280 1228 258 1202 q 332 1266 302 1253 q 397 1279 361 1279 q 451 1269 425 1279 q 504 1246 478 1259 q 555 1224 530 1234 q 605 1214 581 1214 q 638 1230 626 1214 q 659 1280 651 1246 l 761 1280 q 743 1187 756 1226 q 706 1122 729 1148 q 654 1083 684 1096 q 590 1071 625 1071 q 536 1081 563 1071 q 483 1103 508 1091 q 432 1125 457 1115 q 382 1135 406 1135 "},"Щ":{"x_min":125,"x_max":1464,"ha":1492,"o":"m 825 174 l 1106 174 l 1106 992 l 1317 992 l 1317 166 l 1464 147 l 1464 -289 l 1258 -289 l 1258 0 l 125 0 l 125 992 l 335 992 l 335 174 l 615 174 l 615 992 l 825 992 l 825 174 "},"L":{"x_min":125,"x_max":696,"ha":743,"o":"m 125 0 l 125 992 l 335 992 l 335 174 l 696 174 l 696 0 l 125 0 "},"ď":{"x_min":69,"x_max":1031,"ha":844,"o":"m 329 -14 q 224 11 271 -14 q 141 85 176 36 q 88 208 107 134 q 69 377 69 281 q 88 549 69 475 q 142 672 107 622 q 227 747 178 722 q 335 773 276 773 q 402 764 372 773 q 457 741 433 756 q 500 706 481 726 q 534 663 520 687 l 541 663 q 534 716 537 690 q 528 765 530 739 q 526 813 526 791 l 526 1055 l 735 1055 l 735 0 l 575 0 l 534 99 l 526 99 q 493 54 512 75 q 451 18 475 34 q 397 -5 427 3 q 329 -14 367 -14 m 406 152 q 467 164 442 152 q 508 202 492 177 q 531 266 524 228 q 540 355 539 304 l 540 378 q 533 476 540 433 q 511 547 526 519 q 470 591 496 576 q 404 606 444 606 q 310 547 340 606 q 280 376 280 489 q 310 208 280 264 q 406 152 341 152 m 798 851 q 810 898 804 872 q 821 951 816 924 q 832 1006 827 979 q 839 1056 837 1033 l 1031 1056 l 1031 1042 q 982 942 1010 996 q 918 834 954 888 l 798 834 l 798 851 "},"Ο":{"x_min":81,"x_max":970,"ha":1050,"o":"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 "},"Ĭ":{"x_min":22,"x_max":514,"ha":541,"o":"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 514 1300 q 492 1207 510 1249 q 444 1135 475 1165 q 368 1087 412 1104 q 265 1071 323 1071 q 161 1087 205 1071 q 86 1133 116 1103 q 40 1205 56 1163 q 22 1300 24 1247 l 137 1300 q 149 1253 140 1270 q 175 1227 159 1236 q 214 1216 191 1218 q 266 1214 237 1214 q 313 1217 291 1214 q 352 1229 335 1220 q 381 1255 370 1238 q 395 1300 393 1272 l 514 1300 "},"ŧ":{"x_min":32,"x_max":530,"ha":575,"o":"m 416 152 q 474 158 446 152 q 530 175 501 165 l 530 20 q 457 -4 500 5 q 364 -14 414 -14 q 271 -2 314 -14 q 198 37 229 8 q 148 114 166 66 q 131 234 131 162 l 131 334 l 44 334 l 44 472 l 131 472 l 131 604 l 32 604 l 32 692 l 145 759 l 205 924 l 337 924 l 337 758 l 521 758 l 521 604 l 337 604 l 337 472 l 498 472 l 498 334 l 337 334 l 337 236 q 359 172 337 193 q 416 152 381 152 "},"À":{"x_min":-0.25,"x_max":903.25,"ha":903,"o":"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 429 1071 q 374 1118 406 1089 q 310 1175 341 1146 q 253 1233 279 1205 q 217 1278 227 1260 l 217 1293 l 448 1293 q 474 1242 459 1269 q 504 1187 488 1215 q 536 1134 520 1160 q 567 1089 552 1108 l 567 1071 l 429 1071 "},"Ϊ":{"x_min":37,"x_max":502,"ha":541,"o":"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 37 1182 q 44 1223 37 1206 q 64 1251 51 1240 q 94 1268 77 1263 q 131 1274 111 1274 q 168 1268 151 1274 q 198 1251 185 1263 q 219 1223 211 1240 q 227 1182 227 1206 q 219 1142 227 1159 q 198 1114 211 1125 q 168 1097 185 1102 q 131 1092 151 1092 q 94 1097 111 1092 q 64 1114 77 1102 q 44 1142 51 1125 q 37 1182 37 1159 m 310 1182 q 317 1223 310 1206 q 337 1251 324 1240 q 368 1268 350 1263 q 406 1274 385 1274 q 442 1268 425 1274 q 473 1251 459 1263 q 494 1223 486 1240 q 502 1182 502 1206 q 494 1142 502 1159 q 473 1114 486 1125 q 442 1097 459 1102 q 406 1092 425 1092 q 337 1114 365 1092 q 310 1182 310 1136 "},"ḁ":{"x_min":58,"x_max":694,"ha":798,"o":"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 563 -244 q 549 -312 563 -282 q 513 -363 536 -342 q 458 -395 489 -384 q 390 -407 427 -407 q 322 -395 353 -407 q 269 -363 291 -384 q 235 -313 247 -343 q 223 -245 223 -283 q 235 -178 223 -208 q 269 -128 247 -148 q 322 -96 291 -107 q 390 -85 353 -85 q 458 -96 426 -85 q 512 -128 489 -107 q 549 -178 535 -148 q 563 -244 563 -207 m 457 -245 q 439 -197 457 -215 q 393 -180 421 -180 q 346 -197 364 -180 q 328 -245 328 -215 q 344 -293 328 -276 q 393 -311 360 -311 q 439 -293 421 -311 q 457 -245 457 -276 "},"½":{"x_min":32,"x_max":1164.28125,"ha":1224,"o":"m 929 992 l 378 0 l 216 0 l 767 992 l 929 992 m 365 397 l 204 397 l 204 700 q 204 734 204 713 q 205 776 204 755 q 207 814 206 797 q 209 840 208 832 q 198 828 205 835 q 185 813 192 820 q 171 799 178 805 q 158 787 164 792 l 105 746 l 32 832 l 235 992 l 365 992 l 365 397 m 1164 0 l 725 0 l 725 111 l 877 260 q 930 313 909 290 q 963 354 951 335 q 981 388 976 372 q 986 422 986 404 q 970 462 986 448 q 926 476 953 476 q 869 462 899 476 q 803 418 839 449 l 719 521 q 818 584 763 560 q 947 609 873 609 q 1029 597 992 609 q 1092 564 1066 586 q 1133 511 1118 543 q 1148 438 1148 479 q 1139 379 1148 406 q 1112 323 1131 351 q 1065 265 1094 295 q 996 197 1037 234 l 925 132 l 1164 132 l 1164 0 "},"'":{"x_min":90,"x_max":279.21875,"ha":370,"o":"m 279 992 l 251 634 l 117 634 l 90 992 l 279 992 "},"ij":{"x_min":100.1875,"x_max":721.5,"ha":821,"o":"m 100 953 q 109 1002 100 983 q 133 1033 117 1021 q 169 1050 148 1045 q 212 1055 189 1055 q 256 1050 235 1055 q 291 1033 276 1045 q 316 1002 307 1021 q 325 953 325 983 q 316 905 325 925 q 291 874 307 885 q 256 857 276 862 q 212 852 235 852 q 169 857 189 852 q 133 874 148 862 q 109 905 117 885 q 100 953 100 925 m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 465 -334 q 398 -329 433 -334 q 341 -317 364 -324 l 341 -154 q 380 -164 362 -161 q 421 -167 398 -167 q 453 -162 438 -167 q 480 -144 469 -157 q 498 -109 491 -131 q 505 -52 505 -87 l 505 758 l 712 758 l 712 -82 q 698 -180 712 -134 q 656 -260 685 -226 q 579 -314 626 -294 q 465 -334 532 -334 m 496 953 q 505 1002 496 983 q 529 1033 513 1021 q 565 1050 544 1045 q 608 1055 585 1055 q 652 1050 631 1055 q 687 1033 672 1045 q 712 1002 703 1021 q 721 953 721 983 q 712 905 721 925 q 687 874 703 885 q 652 857 672 862 q 608 852 631 852 q 565 857 585 852 q 529 874 544 862 q 505 905 513 885 q 496 953 496 925 "},"Р":{"x_min":125,"x_max":769,"ha":831,"o":"m 335 526 l 377 526 q 513 561 467 526 q 558 674 558 596 q 517 782 558 747 q 389 817 476 817 l 335 817 l 335 526 m 769 682 q 749 557 769 616 q 684 451 729 497 q 565 379 639 406 q 383 352 492 352 l 335 352 l 335 0 l 125 0 l 125 992 l 400 992 q 565 970 496 992 q 680 909 635 949 q 747 812 725 869 q 769 682 769 754 "},"˛":{"x_min":7,"x_max":282,"ha":286,"o":"m 150 -154 q 165 -196 150 -182 q 204 -209 180 -209 q 247 -205 225 -209 q 282 -197 268 -201 l 282 -318 q 235 -329 260 -324 q 176 -334 210 -334 q 105 -322 137 -334 q 52 -290 74 -310 q 18 -241 30 -269 q 7 -177 7 -212 q 16 -124 7 -148 q 42 -78 25 -99 q 81 -38 59 -57 q 129 0 103 -19 l 250 0 q 176 -81 203 -44 q 150 -154 150 -118 "},"Ć":{"x_min":81,"x_max":836.296875,"ha":885,"o":"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 m 434 1071 l 434 1089 q 464 1134 448 1108 q 496 1187 480 1160 q 526 1242 512 1215 q 552 1293 541 1269 l 784 1293 l 784 1278 q 762 1250 776 1266 q 729 1214 748 1233 q 690 1175 711 1195 q 648 1136 669 1155 q 606 1100 626 1117 q 571 1071 587 1083 l 434 1071 "},"Т":{"x_min":28,"x_max":735,"ha":762,"o":"m 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 0 "},"£":{"x_min":56,"x_max":739,"ha":765,"o":"m 461 1006 q 596 989 535 1006 q 711 950 656 973 l 649 794 q 563 824 602 813 q 482 836 524 836 q 413 810 438 836 q 388 719 388 784 l 388 589 l 608 589 l 608 441 l 388 441 l 388 344 q 379 279 388 306 q 355 231 369 251 q 322 198 340 211 q 285 174 304 184 l 739 174 l 739 0 l 56 0 l 56 166 q 107 193 84 179 q 145 227 129 207 q 169 275 161 247 q 178 342 178 303 l 178 441 l 57 441 l 57 589 l 178 589 l 178 721 q 199 852 178 798 q 258 940 220 906 q 347 990 295 974 q 461 1006 399 1006 "},"ů":{"x_min":104,"x_max":762,"ha":871,"o":"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 604 1002 q 590 934 604 964 q 554 883 577 904 q 499 851 530 862 q 431 840 468 840 q 363 851 394 840 q 310 883 332 862 q 276 933 288 903 q 264 1001 264 964 q 276 1068 264 1038 q 310 1118 288 1098 q 363 1150 332 1139 q 431 1162 394 1162 q 499 1150 467 1162 q 553 1118 530 1139 q 590 1068 576 1098 q 604 1002 604 1039 m 498 1001 q 480 1049 498 1031 q 434 1066 462 1066 q 387 1049 405 1066 q 369 1001 369 1031 q 385 953 369 970 q 434 935 401 935 q 480 953 462 935 q 498 1001 498 970 "},"Ō":{"x_min":81,"x_max":970,"ha":1050,"o":"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 316 1214 l 734 1214 l 734 1071 l 316 1071 l 316 1214 "},"а":{"x_min":58,"x_max":694,"ha":798,"o":"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 "},"Ğ":{"x_min":81,"x_max":895,"ha":1006,"o":"m 502 557 l 895 557 l 895 42 q 815 18 855 29 q 732 1 775 8 q 642 -9 689 -5 q 542 -14 595 -14 q 345 18 431 -14 q 200 116 259 51 q 111 276 142 181 q 81 497 81 372 q 114 708 81 613 q 214 868 148 802 q 377 970 281 934 q 599 1006 474 1006 q 754 989 678 1006 q 893 944 830 972 l 823 776 q 719 815 777 799 q 597 831 661 831 q 473 806 528 831 q 378 738 418 782 q 318 632 339 694 q 297 492 297 569 q 311 358 297 419 q 357 253 326 298 q 438 185 388 209 q 555 160 487 160 q 631 165 600 160 q 689 174 662 169 l 689 382 l 502 382 l 502 557 m 782 1300 q 760 1207 778 1249 q 712 1135 743 1165 q 636 1087 680 1104 q 533 1071 591 1071 q 429 1087 473 1071 q 354 1133 384 1103 q 308 1205 324 1163 q 290 1300 292 1247 l 405 1300 q 417 1253 408 1270 q 443 1227 427 1236 q 482 1216 459 1218 q 534 1214 505 1214 q 581 1217 559 1214 q 620 1229 603 1220 q 649 1255 638 1238 q 663 1300 661 1272 l 782 1300 "},"v":{"x_min":-0.25,"x_max":749.25,"ha":749,"o":"m 268 0 l 0 758 l 216 758 l 341 326 q 361 245 353 287 q 372 170 370 204 l 376 170 q 387 247 378 206 q 407 326 395 287 l 532 758 l 749 758 l 480 0 l 268 0 "},"Ї":{"x_min":37,"x_max":502,"ha":541,"o":"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 37 1182 q 44 1223 37 1206 q 64 1251 51 1240 q 94 1268 77 1263 q 131 1274 111 1274 q 168 1268 151 1274 q 198 1251 185 1263 q 219 1223 211 1240 q 227 1182 227 1206 q 219 1142 227 1159 q 198 1114 211 1125 q 168 1097 185 1102 q 131 1092 151 1092 q 94 1097 111 1092 q 64 1114 77 1102 q 44 1142 51 1125 q 37 1182 37 1159 m 310 1182 q 317 1223 310 1206 q 337 1251 324 1240 q 368 1268 350 1263 q 406 1274 385 1274 q 442 1268 425 1274 q 473 1251 459 1263 q 494 1223 486 1240 q 502 1182 502 1206 q 494 1142 502 1159 q 473 1114 486 1125 q 442 1097 459 1102 q 406 1092 425 1092 q 337 1114 365 1092 q 310 1182 310 1136 "},"û":{"x_min":104,"x_max":762,"ha":871,"o":"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 571 842 q 499 894 536 864 q 426 960 461 923 q 354 894 389 923 q 284 842 319 864 l 147 842 l 147 860 q 186 905 164 879 q 229 958 207 931 q 271 1013 251 986 q 307 1064 292 1040 l 548 1064 q 583 1013 563 1040 q 625 958 603 986 q 669 905 647 931 q 709 860 692 879 l 709 842 l 571 842 "},"Ź":{"x_min":33,"x_max":716,"ha":749,"o":"m 716 0 l 33 0 l 33 137 l 453 817 l 45 817 l 45 992 l 703 992 l 703 855 l 283 174 l 716 174 l 716 0 m 264 1071 l 264 1089 q 294 1134 278 1108 q 326 1187 310 1160 q 356 1242 342 1215 q 382 1293 371 1269 l 614 1293 l 614 1278 q 592 1250 606 1266 q 559 1214 578 1233 q 520 1175 541 1195 q 478 1136 499 1155 q 436 1100 456 1117 q 401 1071 417 1083 l 264 1071 "},"ˉ":{"x_min":178,"x_max":596,"ha":774,"o":"m 178 985 l 596 985 l 596 842 l 178 842 l 178 985 "},"Ĺ":{"x_min":125,"x_max":696,"ha":743,"o":"m 125 0 l 125 992 l 335 992 l 335 174 l 696 174 l 696 0 l 125 0 m 182 1071 l 182 1089 q 212 1134 196 1108 q 244 1187 228 1160 q 274 1242 260 1215 q 300 1293 289 1269 l 532 1293 l 532 1278 q 510 1250 524 1266 q 477 1214 496 1233 q 438 1175 459 1195 q 396 1136 417 1155 q 354 1100 374 1117 q 319 1071 335 1083 l 182 1071 "},"₤":{"x_min":56,"x_max":739,"ha":765,"o":"m 461 1006 q 596 989 535 1006 q 711 950 656 973 l 649 794 q 563 824 602 813 q 483 836 525 836 q 414 810 439 836 q 389 720 389 784 l 389 644 l 597 644 l 597 523 l 389 523 l 389 447 l 597 447 l 597 326 l 388 326 q 376 269 386 293 q 352 227 367 245 q 321 197 338 210 q 287 176 304 185 l 739 176 l 739 0 l 56 0 l 56 168 q 104 192 83 179 q 142 223 126 205 q 166 266 157 242 q 178 326 175 291 l 57 326 l 57 447 l 178 447 l 178 523 l 57 523 l 57 644 l 178 644 l 178 722 q 199 852 178 798 q 258 940 220 906 q 347 990 295 974 q 461 1006 399 1006 "},"Č":{"x_min":81,"x_max":836.296875,"ha":885,"o":"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 m 808 1274 q 768 1229 791 1255 q 724 1176 746 1203 q 682 1121 702 1148 q 647 1071 662 1094 l 406 1071 q 370 1121 391 1094 q 328 1176 350 1148 q 285 1229 306 1203 q 246 1274 263 1255 l 246 1293 l 383 1293 q 453 1240 418 1270 q 525 1174 488 1211 q 598 1240 560 1211 q 670 1293 635 1270 l 808 1293 l 808 1274 "},"x":{"x_min":6.75,"x_max":754.25,"ha":761,"o":"m 263 387 l 19 758 l 254 758 l 380 530 l 508 758 l 743 758 l 495 387 l 754 0 l 519 0 l 380 245 l 241 0 l 6 0 l 263 387 "},"è":{"x_min":69,"x_max":741,"ha":807,"o":"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 392 842 q 337 889 369 860 q 273 946 304 917 q 216 1004 242 976 q 180 1049 190 1031 l 180 1064 l 411 1064 q 437 1013 422 1040 q 467 958 451 986 q 499 905 483 931 q 530 860 515 879 l 530 842 l 392 842 "},"Ń":{"x_min":125,"x_max":963,"ha":1088,"o":"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 m 417 1071 l 417 1089 q 447 1134 431 1108 q 479 1187 463 1160 q 509 1242 495 1215 q 535 1293 524 1269 l 767 1293 l 767 1278 q 745 1250 759 1266 q 712 1214 731 1233 q 673 1175 694 1195 q 631 1136 652 1155 q 589 1100 609 1117 q 554 1071 570 1083 l 417 1071 "},"ḿ":{"x_min":109,"x_max":1204,"ha":1308,"o":"m 759 0 l 553 0 l 553 442 q 528 565 553 524 q 452 606 504 606 q 386 590 412 606 q 344 542 360 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 345 711 322 690 q 395 746 368 732 q 452 766 422 760 q 514 773 483 773 q 646 746 592 773 q 730 661 701 719 l 747 661 q 786 711 763 690 q 837 746 809 732 q 896 766 865 760 q 958 773 927 773 q 1142 706 1080 773 q 1204 494 1204 640 l 1204 0 l 997 0 l 997 442 q 972 565 997 524 q 896 606 948 606 q 791 548 822 606 q 759 380 759 489 l 759 0 m 546 842 l 546 860 q 576 905 560 879 q 608 958 592 931 q 638 1013 624 986 q 664 1064 653 1040 l 896 1064 l 896 1049 q 874 1021 888 1037 q 841 985 860 1004 q 802 946 823 966 q 760 907 781 926 q 718 871 738 888 q 683 842 699 854 l 546 842 "},"μ":{"x_min":109,"x_max":766,"ha":875,"o":"m 315 315 q 341 193 315 234 q 421 152 366 152 q 486 168 460 152 q 529 216 513 184 q 552 295 545 248 q 559 401 559 341 l 559 758 l 766 758 l 766 0 l 607 0 l 578 102 l 570 102 q 511 15 547 44 q 425 -14 476 -14 q 358 1 388 -14 q 309 47 328 17 q 312 -10 310 18 q 314 -64 313 -35 q 315 -117 315 -92 l 315 -334 l 109 -334 l 109 758 l 315 758 l 315 315 "},".":{"x_min":79,"x_max":316,"ha":396,"o":"m 79 97 q 88 151 79 129 q 113 187 97 173 q 151 206 129 200 q 198 213 173 213 q 243 206 221 213 q 280 187 264 200 q 306 151 297 173 q 316 97 316 129 q 306 45 316 66 q 280 9 297 23 q 243 -11 264 -5 q 198 -18 221 -18 q 151 -11 173 -18 q 113 9 129 -5 q 88 45 97 23 q 79 97 79 66 "},"‘":{"x_min":16,"x_max":284,"ha":298,"o":"m 25 652 l 16 666 q 38 744 25 703 q 67 828 51 786 q 100 912 83 870 q 135 992 118 954 l 284 992 q 263 905 273 950 q 244 816 254 861 q 228 730 235 772 q 215 652 220 687 l 25 652 "},"π":{"x_min":17,"x_max":936,"ha":985,"o":"m 840 148 q 886 154 864 148 q 928 171 908 160 l 928 23 q 899 9 915 15 q 862 -2 882 2 q 821 -10 842 -7 q 778 -14 799 -14 q 691 -1 730 -14 q 625 38 652 11 q 584 108 599 65 q 570 209 570 150 l 570 604 l 381 604 l 381 0 l 175 0 l 175 604 l 17 604 l 17 690 l 137 758 l 936 758 l 936 604 l 776 604 l 776 216 q 795 164 776 181 q 840 148 813 148 "},"9":{"x_min":43,"x_max":715,"ha":765,"o":"m 715 568 q 707 425 715 496 q 679 290 699 355 q 625 170 659 226 q 538 73 590 114 q 412 9 485 32 q 239 -14 338 -14 q 208 -13 225 -14 q 174 -11 191 -12 q 140 -8 156 -10 q 112 -4 124 -7 l 112 163 q 165 152 136 156 q 224 148 194 148 q 373 171 315 148 q 467 235 432 194 q 516 333 501 276 q 533 459 530 390 l 525 459 q 492 413 511 434 q 448 377 473 392 q 390 352 422 361 q 318 344 357 344 q 202 365 254 344 q 116 426 151 386 q 61 524 80 466 q 43 658 43 582 q 65 802 43 739 q 130 911 88 866 q 232 979 172 955 q 366 1003 292 1003 q 503 976 439 1003 q 614 897 567 950 q 687 761 660 843 q 715 568 715 679 m 373 833 q 324 823 347 833 q 286 792 302 813 q 262 738 270 770 q 253 661 253 705 q 282 548 253 590 q 371 506 311 506 q 425 518 401 506 q 468 550 450 530 q 495 594 485 569 q 504 643 504 618 q 496 711 504 677 q 471 772 488 745 q 430 816 455 799 q 373 833 406 833 "},"l":{"x_min":109,"x_max":315.859375,"ha":424,"o":"m 315 0 l 109 0 l 109 1055 l 315 1055 l 315 0 "},"Ъ":{"x_min":28,"x_max":920,"ha":982,"o":"m 920 310 q 897 179 920 237 q 829 81 875 121 q 711 21 782 42 q 542 0 640 0 l 277 0 l 277 817 l 28 817 l 28 992 l 487 992 l 487 613 l 560 613 q 720 590 653 613 q 832 527 788 568 q 898 432 877 487 q 920 310 920 376 m 487 174 l 544 174 q 613 182 583 174 q 665 205 644 189 q 698 247 687 221 q 709 310 709 273 q 697 374 709 349 q 661 413 685 399 q 605 432 638 427 q 530 438 572 438 l 487 438 l 487 174 "}," ":{"x_min":0,"x_max":0,"ha":139},"Ś":{"x_min":63.46875,"x_max":668,"ha":728,"o":"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 m 278 1071 l 278 1089 q 308 1134 292 1108 q 340 1187 324 1160 q 370 1242 356 1215 q 396 1293 385 1269 l 628 1293 l 628 1278 q 606 1250 620 1266 q 573 1214 592 1233 q 534 1175 555 1195 q 492 1136 513 1155 q 450 1100 470 1117 q 415 1071 431 1083 l 278 1071 "},"Ü":{"x_min":118,"x_max":876,"ha":994,"o":"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 267 1182 q 274 1223 267 1206 q 294 1251 281 1240 q 324 1268 307 1263 q 361 1274 341 1274 q 398 1268 381 1274 q 428 1251 415 1263 q 449 1223 441 1240 q 457 1182 457 1206 q 449 1142 457 1159 q 428 1114 441 1125 q 398 1097 415 1102 q 361 1092 381 1092 q 324 1097 341 1092 q 294 1114 307 1102 q 274 1142 281 1125 q 267 1182 267 1159 m 540 1182 q 547 1223 540 1206 q 567 1251 554 1240 q 598 1268 580 1263 q 636 1274 615 1274 q 672 1268 655 1274 q 703 1251 689 1263 q 724 1223 716 1240 q 732 1182 732 1206 q 724 1142 732 1159 q 703 1114 716 1125 q 672 1097 689 1102 q 636 1092 655 1092 q 567 1114 595 1092 q 540 1182 540 1136 "},"à":{"x_min":58,"x_max":694,"ha":798,"o":"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 375 842 q 320 889 352 860 q 256 946 287 917 q 199 1004 225 976 q 163 1049 173 1031 l 163 1064 l 394 1064 q 420 1013 405 1040 q 450 958 434 986 q 482 905 466 931 q 513 860 498 879 l 513 842 l 375 842 "},"η":{"x_min":109,"x_max":767,"ha":871,"o":"m 560 -334 l 560 438 q 534 564 560 522 q 454 606 509 606 q 388 590 415 606 q 345 542 362 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 345 710 322 689 q 395 745 368 732 q 452 766 422 759 q 515 773 483 773 q 704 702 642 773 q 767 487 767 632 l 767 -334 l 560 -334 "},"ó":{"x_min":69,"x_max":762,"ha":832,"o":"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 294 842 l 294 860 q 324 905 308 879 q 356 958 340 931 q 386 1013 372 986 q 412 1064 401 1040 l 644 1064 l 644 1049 q 622 1021 636 1037 q 589 985 608 1004 q 550 946 571 966 q 508 907 529 926 q 466 871 486 888 q 431 842 447 854 l 294 842 "},"¦":{"x_min":309,"x_max":457.53125,"ha":765,"o":"m 309 1051 l 457 1051 l 457 499 l 309 499 l 309 1051 m 309 238 l 457 238 l 457 -315 l 309 -315 l 309 238 "},"Ő":{"x_min":81,"x_max":970,"ha":1050,"o":"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 310 1071 l 310 1089 q 340 1134 324 1108 q 372 1187 356 1160 q 402 1242 388 1215 q 427 1293 417 1269 l 632 1293 l 632 1278 q 610 1250 624 1266 q 577 1214 596 1233 q 538 1175 559 1195 q 495 1136 516 1155 q 454 1100 474 1117 q 419 1071 434 1083 l 310 1071 m 579 1071 l 579 1089 q 609 1134 593 1108 q 641 1187 625 1160 q 671 1242 657 1215 q 696 1293 686 1269 l 901 1293 l 901 1278 q 879 1250 893 1266 q 846 1214 865 1233 q 807 1175 828 1195 q 765 1136 786 1155 q 724 1100 743 1117 q 688 1071 704 1083 l 579 1071 "},"Ž":{"x_min":33,"x_max":716,"ha":749,"o":"m 716 0 l 33 0 l 33 137 l 453 817 l 45 817 l 45 992 l 703 992 l 703 855 l 283 174 l 716 174 l 716 0 m 645 1274 q 605 1229 628 1255 q 561 1176 583 1203 q 519 1121 539 1148 q 484 1071 499 1094 l 243 1071 q 207 1121 228 1094 q 165 1176 187 1148 q 122 1229 143 1203 q 83 1274 100 1255 l 83 1293 l 220 1293 q 290 1240 255 1270 q 362 1174 325 1211 q 435 1240 397 1211 q 507 1293 472 1270 l 645 1293 l 645 1274 "},"е":{"x_min":69,"x_max":741,"ha":807,"o":"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 "},"Î":{"x_min":-11,"x_max":551,"ha":541,"o":"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 413 1071 q 341 1123 378 1093 q 268 1189 303 1152 q 196 1123 231 1152 q 126 1071 161 1093 l -11 1071 l -11 1089 q 28 1134 6 1108 q 71 1187 49 1160 q 113 1242 93 1215 q 149 1293 134 1269 l 390 1293 q 425 1242 405 1269 q 467 1187 445 1215 q 511 1134 489 1160 q 551 1089 534 1108 l 551 1071 l 413 1071 "},"e":{"x_min":69,"x_max":741,"ha":807,"o":"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 "},"ό":{"x_min":69,"x_max":762,"ha":832,"o":"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 343 860 q 355 906 349 880 q 366 960 361 932 q 377 1014 372 987 q 384 1064 381 1041 l 576 1064 l 576 1049 q 527 950 555 1003 q 463 842 499 897 l 343 842 l 343 860 "},"Ĕ":{"x_min":125,"x_max":696,"ha":778,"o":"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 658 1300 q 636 1207 654 1249 q 588 1135 619 1165 q 512 1087 556 1104 q 409 1071 467 1071 q 305 1087 349 1071 q 230 1133 260 1103 q 184 1205 200 1163 q 166 1300 168 1247 l 281 1300 q 293 1253 284 1270 q 319 1227 303 1236 q 358 1216 335 1218 q 410 1214 381 1214 q 457 1217 435 1214 q 496 1229 479 1220 q 525 1255 514 1238 q 539 1300 537 1272 l 658 1300 "},"ļ":{"x_min":82,"x_max":315.859375,"ha":424,"o":"m 315 0 l 109 0 l 109 1055 l 315 1055 l 315 0 m 82 -288 q 94 -242 88 -268 q 105 -188 100 -216 q 116 -134 111 -161 q 123 -85 121 -107 l 315 -85 l 315 -98 q 266 -198 294 -145 q 202 -307 238 -251 l 82 -307 l 82 -288 "}," ":{"x_min":0,"x_max":0,"ha":695},"Ѓ":{"x_min":125,"x_max":696,"ha":724,"o":"m 696 992 l 696 817 l 335 817 l 335 0 l 125 0 l 125 992 l 696 992 m 288 1071 l 288 1089 q 318 1134 302 1108 q 350 1187 334 1160 q 380 1242 366 1215 q 406 1293 395 1269 l 638 1293 l 638 1278 q 616 1250 630 1266 q 583 1214 602 1233 q 544 1175 565 1195 q 502 1136 523 1155 q 460 1100 480 1117 q 425 1071 441 1083 l 288 1071 "},"ò":{"x_min":69,"x_max":762,"ha":832,"o":"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 396 842 q 341 889 373 860 q 277 946 308 917 q 220 1004 246 976 q 184 1049 194 1031 l 184 1064 l 415 1064 q 441 1013 426 1040 q 471 958 455 986 q 503 905 487 931 q 534 860 519 879 l 534 842 l 396 842 "},"ffl":{"x_min":28,"x_max":1389.859375,"ha":1498,"o":"m 503 604 l 348 604 l 348 0 l 142 0 l 142 604 l 28 604 l 28 703 l 142 758 l 142 813 q 159 934 142 886 q 209 1010 177 982 q 288 1051 242 1039 q 392 1063 334 1063 q 497 1053 454 1063 q 570 1030 540 1043 l 521 877 q 477 890 500 884 q 422 896 454 896 q 365 871 382 896 q 348 804 348 845 l 348 758 l 503 758 l 503 604 m 1041 604 l 886 604 l 886 0 l 680 0 l 680 604 l 566 604 l 566 703 l 680 758 l 680 813 q 697 934 680 886 q 747 1010 715 982 q 826 1051 780 1039 q 930 1063 872 1063 q 1035 1053 992 1063 q 1108 1030 1078 1043 l 1059 877 q 1015 890 1038 884 q 960 896 992 896 q 903 871 920 896 q 886 804 886 845 l 886 758 l 1041 758 l 1041 604 m 1389 0 l 1183 0 l 1183 1055 l 1389 1055 l 1389 0 "},"^":{"x_min":5,"x_max":736,"ha":739,"o":"m 5 353 l 302 997 l 399 997 l 736 353 l 573 353 l 355 788 q 259 569 308 679 q 165 353 211 458 l 5 353 "},"ⁿ":{"x_min":69,"x_max":500,"ha":560,"o":"m 363 518 l 363 792 q 346 865 363 843 q 296 887 329 887 q 256 880 273 887 q 227 857 238 874 q 211 813 216 841 q 206 744 206 785 l 206 518 l 69 518 l 69 992 l 180 992 l 199 937 l 207 937 q 262 986 230 970 q 341 1003 295 1003 q 500 833 500 1003 l 500 518 l 363 518 "},"к":{"x_min":109,"x_max":818.25,"ha":818,"o":"m 563 758 l 791 758 l 522 394 l 818 0 l 583 0 l 315 384 l 315 0 l 109 0 l 109 758 l 315 758 l 315 389 l 563 758 "},"":{"x_min":57,"x_max":1346,"ha":1389,"o":"m 57 823 l 57 1030 l 262 1030 l 262 954 l 132 954 l 132 823 l 57 823 m 1139 954 l 1139 1030 l 1346 1030 l 1346 823 l 1272 823 l 1272 954 l 1139 954 m 57 -260 l 57 -54 l 132 -54 l 132 -186 l 262 -186 l 262 -260 l 57 -260 m 1139 -260 l 1139 -186 l 1272 -186 l 1272 -54 l 1346 -54 l 1346 -260 l 1139 -260 m 875 -260 l 875 -186 l 1060 -186 l 1060 -260 l 875 -260 m 345 -260 l 345 -186 l 528 -186 l 528 -260 l 345 -260 m 345 954 l 345 1030 l 528 1030 l 528 954 l 345 954 m 1346 26 l 1272 26 l 1272 210 l 1346 210 l 1346 26 m 1346 558 l 1272 558 l 1272 742 l 1346 742 l 1346 558 m 610 -260 l 610 -186 l 794 -186 l 794 -260 l 610 -260 m 132 26 l 57 26 l 57 210 l 132 210 l 132 26 m 610 954 l 610 1030 l 794 1030 l 794 954 l 610 954 m 875 954 l 875 1030 l 1060 1030 l 1060 954 l 875 954 m 132 291 l 57 291 l 57 476 l 132 476 l 132 291 m 132 558 l 57 558 l 57 742 l 132 742 l 132 558 m 1346 291 l 1272 291 l 1272 476 l 1346 476 l 1346 291 m 408 224 q 276 277 322 224 q 231 427 231 331 q 276 577 231 525 q 408 631 322 630 q 540 578 494 631 q 586 427 586 525 q 540 277 586 331 q 408 224 494 224 m 408 294 q 478 329 457 294 q 499 427 499 364 q 478 525 499 490 q 408 559 457 559 q 339 525 361 559 q 317 427 317 490 q 339 329 317 364 q 408 294 361 294 m 643 626 l 759 626 q 871 603 833 626 q 909 524 909 580 q 893 468 909 491 q 847 439 878 445 l 847 437 q 903 406 886 429 q 921 344 921 383 q 884 259 921 289 q 783 229 847 229 l 643 229 l 643 626 m 726 469 l 770 469 q 814 480 801 469 q 826 513 826 491 q 812 546 826 536 q 766 556 798 556 l 726 556 l 726 469 m 726 402 l 726 298 l 776 298 q 822 312 809 298 q 834 352 834 327 q 821 388 834 374 q 773 402 809 402 l 726 402 m 956 231 l 956 300 q 978 297 967 298 q 1002 295 989 295 q 1044 307 1028 295 q 1061 353 1061 319 l 1061 626 l 1146 626 l 1146 356 q 1110 258 1146 292 q 1011 225 1075 225 q 956 231 969 225 "},"ū":{"x_min":104,"x_max":762,"ha":871,"o":"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 224 985 l 642 985 l 642 842 l 224 842 l 224 985 "},"ˆ":{"x_min":119,"x_max":681,"ha":802,"o":"m 543 842 q 471 894 508 864 q 398 960 433 923 q 326 894 361 923 q 256 842 291 864 l 119 842 l 119 860 q 158 905 136 879 q 201 958 179 931 q 243 1013 223 986 q 279 1064 264 1040 l 520 1064 q 555 1013 535 1040 q 597 958 575 986 q 641 905 619 931 q 681 860 664 879 l 681 842 l 543 842 "},"Ẅ":{"x_min":-0.25,"x_max":1287.25,"ha":1287,"o":"m 1048 0 l 809 0 l 687 489 q 681 517 684 499 q 672 559 677 536 q 663 607 667 582 q 654 656 658 632 q 647 700 650 679 q 642 732 644 720 q 638 700 641 720 q 631 656 635 679 q 622 608 627 633 q 613 559 618 582 q 605 517 609 536 q 598 487 601 498 l 477 0 l 238 0 l 0 992 l 206 992 l 319 450 q 325 418 321 439 q 333 372 328 398 q 343 318 338 346 q 353 262 348 289 q 361 211 357 235 q 368 173 366 188 q 373 211 370 188 q 381 260 377 234 q 390 314 385 286 q 399 366 395 342 q 407 409 404 390 q 413 436 411 428 l 551 992 l 735 992 l 873 436 q 879 409 875 428 q 887 366 882 390 q 896 314 891 342 q 905 260 901 286 q 913 211 910 234 q 919 173 917 188 q 925 211 921 188 q 933 262 929 235 q 943 318 938 289 q 953 372 948 346 q 962 418 958 398 q 967 450 965 439 l 1080 992 l 1287 992 l 1048 0 m 410 1182 q 417 1223 410 1206 q 437 1251 424 1240 q 467 1268 450 1263 q 504 1274 484 1274 q 541 1268 524 1274 q 571 1251 558 1263 q 592 1223 584 1240 q 600 1182 600 1206 q 592 1142 600 1159 q 571 1114 584 1125 q 541 1097 558 1102 q 504 1092 524 1092 q 467 1097 484 1092 q 437 1114 450 1102 q 417 1142 424 1125 q 410 1182 410 1159 m 683 1182 q 690 1223 683 1206 q 710 1251 697 1240 q 741 1268 723 1263 q 779 1274 758 1274 q 815 1268 798 1274 q 846 1251 832 1263 q 867 1223 859 1240 q 875 1182 875 1206 q 867 1142 875 1159 q 846 1114 859 1125 q 815 1097 832 1102 q 779 1092 798 1092 q 710 1114 738 1092 q 683 1182 683 1136 "},"č":{"x_min":69,"x_max":687,"ha":693,"o":"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 m 687 1045 q 647 1000 670 1026 q 603 947 625 974 q 561 892 581 919 q 526 842 541 865 l 285 842 q 249 892 270 865 q 207 947 229 919 q 164 1000 185 974 q 125 1045 142 1026 l 125 1064 l 262 1064 q 332 1011 297 1041 q 404 945 367 982 q 477 1011 439 982 q 549 1064 514 1041 l 687 1064 l 687 1045 "},"’":{"x_min":16,"x_max":284,"ha":298,"o":"m 273 992 l 284 977 q 261 898 274 939 q 232 815 248 857 q 198 731 216 772 q 164 652 181 690 l 16 652 q 35 737 25 692 q 54 827 45 782 q 71 913 63 871 q 83 992 78 956 l 273 992 "},"Ν":{"x_min":125,"x_max":963,"ha":1088,"o":"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 "},"-":{"x_min":41,"x_max":406,"ha":447,"o":"m 41 287 l 41 457 l 406 457 l 406 287 l 41 287 "},"Q":{"x_min":81,"x_max":999.25,"ha":1050,"o":"m 970 496 q 956 345 970 416 q 916 215 943 274 q 849 112 889 157 q 754 36 809 66 l 999 -236 l 729 -236 l 547 -12 q 538 -13 542 -12 q 531 -14 535 -14 q 525 -14 527 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 "},"ј":{"x_min":-56,"x_max":324.5,"ha":424,"o":"m 68 -334 q 1 -329 36 -334 q -56 -317 -32 -324 l -56 -154 q -16 -164 -34 -161 q 24 -167 1 -167 q 56 -162 41 -167 q 83 -144 72 -157 q 101 -109 94 -131 q 108 -52 108 -87 l 108 758 l 315 758 l 315 -82 q 301 -180 315 -134 q 259 -260 288 -226 q 182 -314 229 -294 q 68 -334 135 -334 m 99 953 q 108 1002 99 983 q 132 1033 116 1021 q 168 1050 147 1045 q 211 1055 188 1055 q 255 1050 234 1055 q 290 1033 275 1045 q 315 1002 306 1021 q 324 953 324 983 q 315 905 324 925 q 290 874 306 885 q 255 857 275 862 q 211 852 234 852 q 168 857 188 852 q 132 874 147 862 q 108 905 116 885 q 99 953 99 925 "},"ě":{"x_min":69,"x_max":741,"ha":807,"o":"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 698 1045 q 658 1000 681 1026 q 614 947 636 974 q 572 892 592 919 q 537 842 552 865 l 296 842 q 260 892 281 865 q 218 947 240 919 q 175 1000 196 974 q 136 1045 153 1026 l 136 1064 l 273 1064 q 343 1011 308 1041 q 415 945 378 982 q 488 1011 450 982 q 560 1064 525 1041 l 698 1064 l 698 1045 "},"œ":{"x_min":69,"x_max":1222,"ha":1289,"o":"m 922 -14 q 774 11 842 -14 q 657 90 706 36 q 551 11 612 37 q 413 -14 489 -14 q 274 12 337 -14 q 166 88 211 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 335 773 q 548 746 488 773 q 653 667 608 719 q 759 746 698 720 q 895 773 821 773 q 1031 750 970 773 q 1134 683 1092 727 q 1199 574 1176 639 q 1222 427 1222 510 l 1222 327 l 757 327 l 757 321 q 808 187 761 235 q 936 139 854 139 q 1001 143 970 139 q 1062 154 1032 146 q 1120 172 1091 161 q 1179 198 1149 184 l 1179 39 q 1124 15 1151 25 q 1066 -1 1096 5 q 1000 -10 1035 -7 q 922 -14 965 -14 m 280 380 q 312 209 280 267 q 416 152 344 152 q 519 210 487 152 q 551 380 551 267 q 519 550 551 494 q 414 606 487 606 q 312 550 343 606 q 280 380 280 494 m 896 625 q 844 616 868 625 q 803 586 821 606 q 775 536 786 567 q 761 465 764 506 l 1027 465 q 1018 529 1026 499 q 993 579 1010 558 q 953 613 977 601 q 896 625 928 625 "},"#":{"x_min":31,"x_max":867,"ha":897,"o":"m 677 574 l 645 414 l 821 414 l 821 275 l 619 275 l 567 0 l 417 0 l 470 275 l 339 275 l 287 0 l 142 0 l 192 275 l 31 275 l 31 414 l 218 414 l 250 574 l 80 574 l 80 714 l 275 714 l 328 990 l 476 990 l 424 714 l 558 714 l 611 990 l 757 990 l 704 714 l 867 714 l 867 574 l 677 574 m 365 414 l 498 414 l 530 574 l 397 574 l 365 414 "},"Џ":{"x_min":125,"x_max":854,"ha":979,"o":"m 854 0 l 593 0 l 593 -289 l 388 -289 l 388 0 l 125 0 l 125 992 l 335 992 l 335 174 l 643 174 l 643 992 l 854 992 l 854 0 "},"Å":{"x_min":-0.25,"x_max":903.25,"ha":903,"o":"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 622 1062 q 608 994 622 1024 q 572 943 595 964 q 517 911 548 922 q 449 900 486 900 q 381 911 412 900 q 328 943 350 922 q 294 993 306 963 q 282 1061 282 1024 q 294 1128 282 1098 q 328 1178 306 1158 q 381 1210 350 1199 q 449 1222 412 1222 q 517 1210 485 1222 q 571 1178 548 1199 q 608 1128 594 1158 q 622 1062 622 1099 m 516 1061 q 498 1109 516 1091 q 452 1126 480 1126 q 405 1109 423 1126 q 387 1061 387 1091 q 403 1013 387 1030 q 452 995 419 995 q 498 1013 480 995 q 516 1061 516 1030 "},"ș":{"x_min":66,"x_max":614,"ha":668,"o":"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 m 218 -288 q 230 -242 224 -268 q 241 -188 236 -216 q 252 -134 247 -161 q 259 -85 257 -107 l 451 -85 l 451 -98 q 402 -198 430 -145 q 338 -307 374 -251 l 218 -307 l 218 -288 "},"¸":{"x_min":-25,"x_max":284,"ha":285,"o":"m 284 -169 q 273 -239 284 -208 q 238 -290 262 -269 q 173 -322 214 -311 q 74 -334 133 -334 q 19 -329 43 -334 q -25 -319 -5 -325 l -25 -205 q -2 -210 -14 -208 q 23 -215 10 -213 q 49 -218 36 -217 q 72 -220 62 -220 q 106 -210 91 -220 q 121 -178 121 -201 q 96 -133 121 -153 q 8 -105 70 -114 l 61 0 l 192 0 l 173 -41 q 214 -59 194 -48 q 249 -87 234 -71 q 274 -124 264 -103 q 284 -169 284 -144 "},"=":{"x_min":60,"x_max":705,"ha":765,"o":"m 60 546 l 60 695 l 705 695 l 705 546 l 60 546 m 60 284 l 60 433 l 705 433 l 705 284 l 60 284 "},"ρ":{"x_min":82,"x_max":754,"ha":823,"o":"m 754 379 q 733 211 754 284 q 676 88 713 138 q 584 12 638 38 q 464 -14 530 -14 q 369 0 415 -14 q 288 38 323 15 l 278 38 q 283 -22 280 9 q 287 -80 285 -48 q 288 -143 288 -112 l 288 -334 l 82 -334 l 82 380 q 106 547 82 474 q 174 670 130 620 q 281 746 218 720 q 422 773 344 773 q 554 746 494 773 q 660 670 615 720 q 729 546 704 619 q 754 379 754 472 m 417 606 q 360 594 384 606 q 320 556 336 582 q 296 489 304 529 q 288 390 288 448 l 288 210 q 347 166 314 181 q 417 152 381 152 q 474 165 450 152 q 513 205 497 178 q 535 276 528 233 q 542 379 542 318 q 535 483 542 440 q 513 554 528 526 q 474 594 497 581 q 417 606 450 606 "},"Ћ":{"x_min":28,"x_max":989,"ha":1063,"o":"m 778 0 l 778 348 q 755 432 778 408 q 677 457 731 457 l 487 457 l 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 728 992 l 728 817 l 487 817 l 487 632 l 692 632 q 817 614 762 632 q 910 561 872 596 q 969 477 949 526 q 989 364 989 427 l 989 0 l 778 0 "},"ú":{"x_min":104,"x_max":762,"ha":871,"o":"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 313 842 l 313 860 q 343 905 327 879 q 375 958 359 931 q 405 1013 391 986 q 431 1064 420 1040 l 663 1064 l 663 1049 q 641 1021 655 1037 q 608 985 627 1004 q 569 946 590 966 q 527 907 548 926 q 485 871 505 888 q 450 842 466 854 l 313 842 "},"˚":{"x_min":231,"x_max":571,"ha":802,"o":"m 571 1002 q 557 934 571 964 q 521 883 544 904 q 466 851 497 862 q 398 840 435 840 q 330 851 361 840 q 277 883 299 862 q 243 933 255 903 q 231 1001 231 964 q 243 1068 231 1038 q 277 1118 255 1098 q 330 1150 299 1139 q 398 1162 361 1162 q 466 1150 434 1162 q 520 1118 497 1139 q 557 1068 543 1098 q 571 1002 571 1039 m 465 1001 q 447 1049 465 1031 q 401 1066 429 1066 q 354 1049 372 1066 q 336 1001 336 1031 q 352 953 336 970 q 401 935 368 935 q 447 953 429 935 q 465 1001 465 970 "},"д":{"x_min":20,"x_max":860,"ha":879,"o":"m 542 153 l 542 604 l 428 604 q 382 365 411 478 q 300 153 352 252 l 542 153 m 860 -272 l 681 -272 l 681 0 l 198 0 l 198 -272 l 20 -272 l 20 153 l 83 153 q 150 280 121 210 q 199 428 178 350 q 233 589 220 505 q 255 758 247 673 l 749 758 l 749 153 l 860 153 l 860 -272 "},"¯":{"x_min":-4,"x_max":699,"ha":695,"o":"m 699 1056 l -4 1056 l -4 1192 l 699 1192 l 699 1056 "},"u":{"x_min":104,"x_max":762,"ha":871,"o":"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 "},"З":{"x_min":63.859375,"x_max":784,"ha":844,"o":"m 753 759 q 735 668 753 709 q 687 598 718 628 q 614 548 656 568 q 521 521 572 529 l 521 517 q 632 491 583 510 q 715 441 681 471 q 766 371 748 411 q 784 281 784 331 q 758 162 784 216 q 684 68 733 108 q 562 7 634 29 q 395 -14 490 -14 q 210 0 290 -14 q 72 39 130 13 l 72 215 q 136 188 101 200 q 208 169 171 177 q 281 157 245 161 q 349 152 318 152 q 520 190 467 152 q 573 296 573 227 q 554 357 573 332 q 499 399 535 382 q 413 423 464 415 q 300 431 363 431 l 220 431 l 220 598 l 290 598 q 415 606 366 598 q 494 632 465 615 q 535 672 523 649 q 547 727 547 696 q 507 808 547 778 q 390 839 467 839 q 264 816 322 839 q 154 757 206 794 l 63 897 q 136 942 99 922 q 217 976 174 962 q 311 998 260 991 q 424 1006 363 1006 q 563 987 501 1006 q 666 936 624 969 q 730 858 708 903 q 753 759 753 813 "},"Α":{"x_min":-0.25,"x_max":903.25,"ha":903,"o":"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 "},"⅝":{"x_min":61,"x_max":1183,"ha":1224,"o":"m 273 789 q 358 776 319 789 q 426 739 397 764 q 472 679 455 715 q 489 597 489 644 q 424 441 489 496 q 236 386 360 386 q 141 394 187 386 q 61 421 94 403 l 61 551 q 98 538 78 544 q 140 528 119 532 q 183 521 162 523 q 223 518 205 518 q 309 538 276 518 q 341 604 341 558 q 311 666 341 645 q 226 687 281 687 q 185 683 209 687 q 145 675 162 680 l 71 703 l 96 992 l 448 992 l 448 859 l 207 859 l 196 783 q 230 787 210 785 q 273 789 249 789 m 960 992 l 409 0 l 247 0 l 798 992 l 960 992 m 951 607 q 1033 597 995 607 q 1100 569 1071 588 q 1144 523 1128 551 q 1161 458 1161 495 q 1153 413 1161 434 q 1132 376 1146 393 q 1102 347 1119 360 q 1064 323 1084 334 q 1108 295 1087 309 q 1146 263 1129 281 q 1172 221 1162 244 q 1183 169 1183 198 q 1166 95 1183 129 q 1119 36 1149 61 q 1046 -2 1088 11 q 951 -16 1003 -16 q 851 -2 894 -16 q 778 34 808 10 q 734 92 749 58 q 719 165 719 126 q 727 218 719 195 q 751 259 736 241 q 785 291 765 277 q 825 317 804 305 q 792 345 807 330 q 764 376 776 359 q 746 414 752 393 q 740 458 740 434 q 756 523 740 495 q 802 569 773 550 q 869 597 831 587 q 951 607 908 607 m 866 169 q 887 114 866 135 q 949 92 908 92 q 1013 114 991 92 q 1035 169 1035 135 q 1012 223 1035 201 q 948 261 989 246 l 939 264 q 885 226 904 248 q 866 169 866 203 m 949 498 q 903 482 919 498 q 887 447 887 467 q 906 403 887 420 q 951 373 924 387 q 975 386 964 379 q 995 402 987 393 q 1008 422 1003 411 q 1013 447 1013 433 q 998 482 1013 467 q 949 498 983 498 "},"é":{"x_min":69,"x_max":741,"ha":807,"o":"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 304 842 l 304 860 q 334 905 318 879 q 366 958 350 931 q 396 1013 382 986 q 422 1064 411 1040 l 654 1064 l 654 1049 q 632 1021 646 1037 q 599 985 618 1004 q 560 946 581 966 q 518 907 539 926 q 476 871 496 888 q 441 842 457 854 l 304 842 "},"Ş":{"x_min":63.46875,"x_max":668,"ha":728,"o":"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 m 510 -169 q 499 -239 510 -208 q 464 -290 488 -269 q 399 -322 440 -311 q 300 -334 359 -334 q 245 -329 269 -334 q 201 -319 220 -325 l 201 -205 q 223 -210 211 -208 q 249 -215 236 -213 q 275 -218 262 -217 q 298 -220 288 -220 q 332 -210 317 -220 q 347 -178 347 -201 q 322 -133 347 -153 q 234 -105 296 -114 l 287 0 l 418 0 l 399 -41 q 440 -59 420 -48 q 475 -87 460 -71 q 500 -124 490 -103 q 510 -169 510 -144 "},"B":{"x_min":125,"x_max":818,"ha":892,"o":"m 125 992 l 415 992 q 579 978 508 992 q 697 936 649 965 q 768 858 744 906 q 793 740 793 810 q 782 662 793 698 q 752 597 772 625 q 705 551 733 569 q 640 526 677 532 l 640 519 q 709 496 677 511 q 766 454 742 480 q 804 386 790 427 q 818 287 818 345 q 794 166 818 219 q 726 76 770 113 q 618 19 681 39 q 474 0 554 0 l 125 0 l 125 992 m 335 599 l 444 599 q 509 606 483 599 q 552 627 536 613 q 575 662 568 641 q 582 711 582 683 q 547 792 582 768 q 434 817 511 817 l 335 817 l 335 599 m 335 432 l 335 174 l 459 174 q 529 184 501 174 q 575 211 557 193 q 600 253 592 228 q 607 309 607 278 q 600 359 607 336 q 574 398 592 382 q 527 423 556 414 q 454 432 497 432 l 335 432 "},"…":{"x_min":79,"x_max":1109,"ha":1188,"o":"m 79 97 q 88 151 79 129 q 113 187 97 173 q 151 206 129 200 q 198 213 173 213 q 243 206 221 213 q 280 187 264 200 q 306 151 297 173 q 316 97 316 129 q 306 45 316 66 q 280 9 297 23 q 243 -11 264 -5 q 198 -18 221 -18 q 151 -11 173 -18 q 113 9 129 -5 q 88 45 97 23 q 79 97 79 66 m 475 97 q 484 151 475 129 q 509 187 493 173 q 547 206 525 200 q 595 213 569 213 q 640 206 618 213 q 677 187 661 200 q 703 151 694 173 q 713 97 713 129 q 703 45 713 66 q 677 9 694 23 q 640 -11 661 -5 q 595 -18 618 -18 q 547 -11 569 -18 q 509 9 525 -5 q 484 45 493 23 q 475 97 475 66 m 872 97 q 881 151 872 129 q 906 187 890 173 q 944 206 922 200 q 991 213 966 213 q 1036 206 1014 213 q 1073 187 1057 200 q 1099 151 1090 173 q 1109 97 1109 129 q 1099 45 1109 66 q 1073 9 1090 23 q 1036 -11 1057 -5 q 991 -18 1014 -18 q 944 -11 966 -18 q 906 9 922 -5 q 881 45 890 23 q 872 97 872 66 "},"H":{"x_min":125,"x_max":882,"ha":1007,"o":"m 882 0 l 671 0 l 671 428 l 335 428 l 335 0 l 125 0 l 125 992 l 335 992 l 335 603 l 671 603 l 671 992 l 882 992 l 882 0 "},"î":{"x_min":-70,"x_max":492,"ha":424,"o":"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 354 842 q 282 894 319 864 q 209 960 244 923 q 137 894 172 923 q 67 842 102 864 l -70 842 l -70 860 q -30 905 -52 879 q 12 958 -9 931 q 54 1013 34 986 q 90 1064 75 1040 l 331 1064 q 366 1013 346 1040 q 408 958 386 986 q 452 905 430 931 q 492 860 475 879 l 492 842 l 354 842 "},"ν":{"x_min":3.75,"x_max":731,"ha":785,"o":"m 3 758 l 216 758 l 345 337 q 356 301 350 322 q 367 258 362 280 q 378 217 373 237 q 387 183 384 197 l 393 183 q 453 294 428 235 q 494 423 478 353 q 516 576 509 493 q 524 758 524 659 l 731 758 q 718 545 731 645 q 674 353 705 446 q 589 174 642 261 q 454 0 536 87 l 268 0 l 3 758 "},"Ό":{"x_min":-39,"x_max":1026,"ha":1106,"o":"m 1026 496 q 999 287 1026 382 q 917 126 972 193 q 778 22 862 59 q 581 -14 695 -14 q 383 22 467 -14 q 245 126 299 59 q 163 288 190 193 q 137 498 137 382 q 163 707 137 613 q 245 867 190 801 q 384 970 300 934 q 582 1007 467 1007 q 779 970 696 1007 q 917 867 863 934 q 999 706 972 800 q 1026 496 1026 612 m 353 496 q 366 355 353 417 q 408 250 380 293 q 479 184 436 207 q 581 160 522 160 q 685 184 641 160 q 755 250 728 207 q 796 355 783 293 q 809 496 809 417 q 796 636 809 574 q 755 742 783 698 q 685 808 728 785 q 582 832 642 832 q 480 808 523 832 q 408 742 436 785 q 366 636 380 698 q 353 496 353 574 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 "},"−":{"x_min":60,"x_max":705,"ha":765,"o":"m 60 415 l 60 564 l 705 564 l 705 415 l 60 415 "},"⅜":{"x_min":40,"x_max":1183,"ha":1224,"o":"m 451 846 q 423 766 451 800 q 335 712 396 732 l 335 703 q 395 682 370 697 q 437 649 420 668 q 461 608 453 631 q 470 562 470 586 q 410 433 470 480 q 224 386 350 386 q 128 397 173 386 q 40 433 84 409 l 40 562 q 129 518 84 535 q 224 501 174 501 q 298 519 275 501 q 322 573 322 537 q 316 600 322 587 q 298 623 311 613 q 263 639 285 633 q 208 645 241 645 l 132 645 l 132 754 l 193 754 q 249 760 228 754 q 283 776 271 766 q 299 800 295 787 q 303 828 303 814 q 286 871 303 854 q 235 888 269 888 q 175 875 203 888 q 109 834 147 862 l 41 930 q 134 982 83 961 q 255 1004 185 1004 q 333 992 297 1004 q 395 961 369 981 q 436 911 421 940 q 451 846 451 882 m 960 992 l 409 0 l 247 0 l 798 992 l 960 992 m 951 607 q 1033 597 995 607 q 1100 569 1071 588 q 1144 523 1128 551 q 1161 458 1161 495 q 1153 413 1161 434 q 1132 376 1146 393 q 1102 347 1119 360 q 1064 323 1084 334 q 1108 295 1087 309 q 1146 263 1129 281 q 1172 221 1162 244 q 1183 169 1183 198 q 1166 95 1183 129 q 1119 36 1149 61 q 1046 -2 1088 11 q 951 -16 1003 -16 q 851 -2 894 -16 q 778 34 808 10 q 734 92 749 58 q 719 165 719 126 q 727 218 719 195 q 751 259 736 241 q 785 291 765 277 q 825 317 804 305 q 792 345 807 330 q 764 376 776 359 q 746 414 752 393 q 740 458 740 434 q 756 523 740 495 q 802 569 773 550 q 869 597 831 587 q 951 607 908 607 m 866 169 q 887 114 866 135 q 949 92 908 92 q 1013 114 991 92 q 1035 169 1035 135 q 1012 223 1035 201 q 948 261 989 246 l 939 264 q 885 226 904 248 q 866 169 866 203 m 949 498 q 903 482 919 498 q 887 447 887 467 q 906 403 887 420 q 951 373 924 387 q 975 386 964 379 q 995 402 987 393 q 1008 422 1003 411 q 1013 447 1013 433 q 998 482 1013 467 q 949 498 983 498 "},"ǰ":{"x_min":-70,"x_max":492,"ha":424,"o":"m 68 -334 q 1 -329 36 -334 q -56 -317 -32 -324 l -56 -154 q -16 -164 -34 -161 q 24 -167 1 -167 q 56 -162 41 -167 q 83 -144 72 -157 q 101 -109 94 -131 q 108 -52 108 -87 l 108 758 l 315 758 l 315 -82 q 301 -180 315 -134 q 259 -260 288 -226 q 182 -314 229 -294 q 68 -334 135 -334 m 492 1045 q 452 1000 475 1026 q 408 947 430 974 q 366 892 386 919 q 331 842 346 865 l 90 842 q 54 892 75 865 q 12 947 34 919 q -30 1000 -9 974 q -70 1045 -52 1026 l -70 1064 l 67 1064 q 137 1011 102 1041 q 209 945 172 982 q 282 1011 244 982 q 354 1064 319 1041 l 492 1064 l 492 1045 "},"ā":{"x_min":58,"x_max":694,"ha":798,"o":"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 189 985 l 607 985 l 607 842 l 189 842 l 189 985 "},"ĵ":{"x_min":-70,"x_max":492,"ha":424,"o":"m 68 -334 q 1 -329 36 -334 q -56 -317 -32 -324 l -56 -154 q -16 -164 -34 -161 q 24 -167 1 -167 q 56 -162 41 -167 q 83 -144 72 -157 q 101 -109 94 -131 q 108 -52 108 -87 l 108 758 l 315 758 l 315 -82 q 301 -180 315 -134 q 259 -260 288 -226 q 182 -314 229 -294 q 68 -334 135 -334 m 354 842 q 282 894 319 864 q 209 960 244 923 q 137 894 172 923 q 67 842 102 864 l -70 842 l -70 860 q -30 905 -52 879 q 12 958 -9 931 q 54 1013 34 986 q 90 1064 75 1040 l 331 1064 q 366 1013 346 1040 q 408 958 386 986 q 452 905 430 931 q 492 860 475 879 l 492 842 l 354 842 "},"Ĩ":{"x_min":3,"x_max":537,"ha":541,"o":"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 158 1135 q 124 1119 137 1135 q 104 1069 112 1103 l 3 1069 q 20 1163 7 1123 q 56 1228 34 1202 q 108 1266 78 1253 q 173 1279 137 1279 q 227 1269 201 1279 q 280 1246 254 1259 q 331 1224 306 1234 q 381 1214 357 1214 q 414 1230 402 1214 q 435 1280 427 1246 l 537 1280 q 519 1187 532 1226 q 482 1122 505 1148 q 430 1083 460 1096 q 366 1071 401 1071 q 312 1081 339 1071 q 259 1103 284 1091 q 208 1125 233 1115 q 158 1135 182 1135 "},"*":{"x_min":42.8125,"x_max":714.546875,"ha":757,"o":"m 467 1055 l 439 805 l 692 875 l 714 704 l 483 688 l 635 487 l 481 405 l 375 617 l 282 406 l 122 487 l 272 688 l 42 706 l 69 875 l 316 805 l 289 1055 l 467 1055 "},"ă":{"x_min":58,"x_max":694,"ha":798,"o":"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 654 1071 q 632 978 650 1020 q 584 906 615 936 q 508 858 552 875 q 405 842 463 842 q 301 858 345 842 q 226 904 256 874 q 180 976 196 934 q 162 1071 164 1018 l 277 1071 q 289 1024 280 1041 q 315 998 299 1007 q 354 987 331 989 q 406 985 377 985 q 453 988 431 985 q 492 1000 475 991 q 521 1026 510 1009 q 535 1071 533 1043 l 654 1071 "},"Χ":{"x_min":-0.25,"x_max":871.25,"ha":871,"o":"m 871 0 l 631 0 l 428 375 l 224 0 l 0 0 l 301 511 l 20 992 l 252 992 l 438 635 l 620 992 l 847 992 l 563 500 l 871 0 "},"†":{"x_min":83,"x_max":633,"ha":717,"o":"m 633 628 l 408 649 l 445 0 l 256 0 l 294 649 l 83 628 l 83 792 l 294 772 l 256 1055 l 445 1055 l 408 772 l 633 792 l 633 628 "},"°":{"x_min":63,"x_max":532,"ha":595,"o":"m 63 771 q 81 862 63 819 q 131 936 99 904 q 206 987 163 968 q 297 1006 248 1006 q 389 987 346 1006 q 463 936 432 968 q 513 862 495 904 q 532 771 532 819 q 513 679 532 722 q 463 605 495 637 q 389 555 432 573 q 297 538 346 538 q 206 555 248 538 q 131 605 163 573 q 81 679 99 637 q 63 771 63 722 m 211 771 q 218 735 211 752 q 236 705 224 718 q 263 685 248 692 q 297 677 279 677 q 330 685 314 677 q 358 705 346 692 q 376 735 369 718 q 383 771 383 752 q 376 807 383 790 q 358 838 369 825 q 330 858 346 851 q 297 866 314 866 q 263 858 279 866 q 236 838 248 851 q 218 807 224 825 q 211 771 211 790 "},"Ξ":{"x_min":55,"x_max":682,"ha":737,"o":"m 138 602 l 598 602 l 598 427 l 138 427 l 138 602 m 83 992 l 654 992 l 654 817 l 83 817 l 83 992 m 682 174 l 682 0 l 55 0 l 55 174 l 682 174 "},"Ķ":{"x_min":125,"x_max":880.25,"ha":880,"o":"m 880 0 l 641 0 l 413 412 l 335 354 l 335 0 l 125 0 l 125 992 l 335 992 l 335 514 l 417 654 l 644 992 l 877 992 l 561 544 l 880 0 m 300 -288 q 312 -242 306 -268 q 323 -188 318 -216 q 334 -134 329 -161 q 341 -85 339 -107 l 533 -85 l 533 -98 q 484 -198 512 -145 q 420 -307 456 -251 l 300 -307 l 300 -288 "},"ŵ":{"x_min":-0.25,"x_max":1120.25,"ha":1120,"o":"m 688 0 l 629 265 q 622 297 626 276 q 612 346 618 319 q 601 403 607 372 q 589 463 595 433 q 559 613 575 532 l 555 613 q 527 462 539 532 q 515 402 521 432 q 504 344 510 371 q 494 296 499 317 q 487 262 490 274 l 426 0 l 204 0 l 0 758 l 205 758 l 282 422 q 294 359 288 395 q 306 284 301 322 q 317 213 312 246 q 324 160 322 179 l 328 160 q 331 193 329 172 q 337 237 334 214 q 344 286 341 261 q 352 332 348 311 q 359 371 356 354 q 364 394 362 387 l 447 758 l 674 758 l 754 394 q 763 348 757 379 q 774 281 768 317 q 784 212 780 246 q 789 160 788 178 l 793 160 q 800 210 795 176 q 811 281 805 243 q 824 357 817 320 q 837 422 831 395 l 917 758 l 1120 758 l 913 0 l 688 0 m 702 842 q 630 894 667 864 q 557 960 592 923 q 485 894 520 923 q 415 842 450 864 l 278 842 l 278 860 q 317 905 295 879 q 360 958 338 931 q 402 1013 382 986 q 438 1064 423 1040 l 679 1064 q 714 1013 694 1040 q 756 958 734 986 q 800 905 778 931 q 840 860 823 879 l 840 842 l 702 842 "},"΄":{"x_min":319,"x_max":552,"ha":802,"o":"m 319 860 q 331 906 325 880 q 342 960 337 932 q 353 1014 348 987 q 360 1064 357 1041 l 552 1064 l 552 1049 q 503 950 531 1003 q 439 842 475 897 l 319 842 l 319 860 "},"ǽ":{"x_min":58,"x_max":1159,"ha":1225,"o":"m 860 -14 q 698 20 771 -14 q 578 125 625 54 q 521 62 549 89 q 459 19 492 36 q 384 -5 426 2 q 287 -14 342 -14 q 199 0 241 -14 q 126 44 157 15 q 76 119 94 74 q 58 226 58 164 q 135 404 58 346 q 367 467 212 461 l 488 471 l 488 528 q 460 598 488 575 q 384 620 433 620 q 289 606 335 620 q 195 568 242 592 l 128 705 q 254 755 185 737 q 399 774 323 774 q 618 685 544 774 q 832 773 704 773 q 968 750 907 773 q 1071 683 1029 727 q 1136 574 1113 639 q 1159 427 1159 510 l 1159 327 l 694 327 q 708 248 696 283 q 744 189 721 213 q 799 152 767 165 q 873 139 831 139 q 996 154 937 139 q 1116 199 1056 168 l 1116 39 q 1061 15 1089 25 q 1003 -1 1034 5 q 937 -10 972 -7 q 860 -14 902 -14 m 488 351 l 419 348 q 348 337 377 347 q 302 312 320 328 q 277 274 285 296 q 269 226 269 252 q 292 159 269 178 q 353 139 316 139 q 406 149 382 139 q 449 177 431 158 q 477 225 467 197 q 488 289 488 252 l 488 351 m 833 625 q 740 586 777 625 q 698 465 704 548 l 964 465 q 955 529 963 499 q 931 579 947 558 q 890 613 915 601 q 833 625 866 625 m 513 842 l 513 860 q 543 905 527 879 q 575 958 559 931 q 605 1013 591 986 q 631 1064 620 1040 l 863 1064 l 863 1049 q 841 1021 855 1037 q 808 985 827 1004 q 769 946 790 966 q 727 907 748 926 q 685 871 705 888 q 650 842 666 854 l 513 842 "},"Β":{"x_min":125,"x_max":818,"ha":892,"o":"m 125 992 l 415 992 q 579 978 508 992 q 697 936 649 965 q 768 858 744 906 q 793 740 793 810 q 782 662 793 698 q 752 597 772 625 q 705 551 733 569 q 640 526 677 532 l 640 519 q 709 496 677 511 q 766 454 742 480 q 804 386 790 427 q 818 287 818 345 q 794 166 818 219 q 726 76 770 113 q 618 19 681 39 q 474 0 554 0 l 125 0 l 125 992 m 335 599 l 444 599 q 509 606 483 599 q 552 627 536 613 q 575 662 568 641 q 582 711 582 683 q 547 792 582 768 q 434 817 511 817 l 335 817 l 335 599 m 335 432 l 335 174 l 459 174 q 529 184 501 174 q 575 211 557 193 q 600 253 592 228 q 607 309 607 278 q 600 359 607 336 q 574 398 592 382 q 527 423 556 414 q 454 432 497 432 l 335 432 "},"Ļ":{"x_min":125,"x_max":696,"ha":743,"o":"m 125 0 l 125 992 l 335 992 l 335 174 l 696 174 l 696 0 l 125 0 m 268 -288 q 280 -242 274 -268 q 291 -188 286 -216 q 302 -134 297 -161 q 309 -85 307 -107 l 501 -85 l 501 -98 q 452 -198 480 -145 q 388 -307 424 -251 l 268 -307 l 268 -288 "},"Õ":{"x_min":81,"x_max":970,"ha":1050,"o":"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 415 1135 q 381 1119 394 1135 q 361 1069 369 1103 l 260 1069 q 277 1163 264 1123 q 313 1228 291 1202 q 365 1266 335 1253 q 430 1279 394 1279 q 484 1269 458 1279 q 537 1246 511 1259 q 588 1224 563 1234 q 638 1214 614 1214 q 671 1230 659 1214 q 692 1280 684 1246 l 794 1280 q 776 1187 789 1226 q 739 1122 762 1148 q 687 1083 717 1096 q 623 1071 658 1071 q 569 1081 596 1071 q 516 1103 541 1091 q 465 1125 490 1115 q 415 1135 439 1135 "},"№":{"x_min":92,"x_max":1321,"ha":1372,"o":"m 807 0 l 577 0 l 272 710 l 262 710 q 271 608 267 659 q 276 516 274 565 q 279 426 279 467 l 279 0 l 92 0 l 92 992 l 321 992 l 625 286 l 636 286 q 627 379 631 332 q 622 468 624 420 q 619 559 619 516 l 619 992 l 807 992 l 807 0 m 901 0 l 901 132 l 1306 132 l 1306 0 l 901 0 m 1321 438 q 1305 333 1321 379 q 1262 256 1290 287 q 1193 207 1233 224 q 1102 191 1152 191 q 1016 207 1056 191 q 948 256 977 224 q 903 333 919 287 q 888 438 888 379 q 903 542 888 497 q 946 619 918 588 q 1015 667 974 651 q 1105 684 1055 684 q 1190 667 1151 684 q 1259 619 1230 651 q 1304 542 1287 588 q 1321 438 1321 497 m 1058 438 q 1069 334 1058 369 q 1104 299 1080 299 q 1139 334 1128 299 q 1150 438 1150 369 q 1139 541 1150 507 q 1104 575 1128 575 q 1069 541 1080 575 q 1058 438 1058 507 "},"χ":{"x_min":-33.1875,"x_max":789.25,"ha":781,"o":"m 155 768 q 235 756 202 768 q 291 721 268 745 q 332 661 314 698 q 365 573 349 624 l 412 423 l 581 758 l 789 758 l 501 236 l 625 -87 q 644 -126 634 -111 q 666 -151 654 -141 q 693 -164 678 -160 q 725 -167 707 -167 q 753 -166 738 -167 q 789 -159 767 -164 l 789 -313 q 761 -322 774 -319 q 733 -328 748 -326 q 701 -332 718 -331 q 664 -334 685 -334 q 586 -321 620 -334 q 527 -284 552 -308 q 482 -222 501 -259 q 447 -135 462 -184 l 379 85 l 187 -334 l -33 -334 l 286 270 l 202 511 q 183 555 194 538 q 161 583 173 573 q 136 597 149 593 q 108 601 122 601 q 76 599 95 601 q 36 588 57 596 l 36 747 q 92 761 64 755 q 155 768 120 768 "},"ί":{"x_min":109,"x_max":509,"ha":538,"o":"m 315 758 l 315 236 q 337 171 315 192 q 395 150 359 150 q 453 157 425 150 q 509 174 480 164 l 509 20 q 436 -4 479 5 q 342 -14 393 -14 q 250 -2 292 -14 q 176 37 207 9 q 126 115 144 66 q 109 237 109 163 l 109 758 l 315 758 m 140 860 q 152 906 146 880 q 163 960 158 932 q 174 1014 169 987 q 181 1064 178 1041 l 373 1064 l 373 1049 q 324 950 352 1003 q 260 842 296 897 l 140 842 l 140 860 "},"Ζ":{"x_min":33,"x_max":716,"ha":749,"o":"m 716 0 l 33 0 l 33 137 l 453 817 l 45 817 l 45 992 l 703 992 l 703 855 l 283 174 l 716 174 l 716 0 "},"Ľ":{"x_min":125,"x_max":696,"ha":743,"o":"m 125 0 l 125 992 l 335 992 l 335 174 l 696 174 l 696 0 l 125 0 m 444 788 q 456 835 450 809 q 467 888 462 861 q 478 943 473 916 q 485 993 483 970 l 677 993 l 677 979 q 628 879 656 933 q 564 771 600 825 l 444 771 l 444 788 "},"ť":{"x_min":32,"x_max":654,"ha":575,"o":"m 416 152 q 474 158 446 152 q 530 175 501 165 l 530 20 q 457 -4 500 5 q 364 -14 414 -14 q 271 -2 314 -14 q 198 38 229 9 q 148 115 166 67 q 131 237 131 164 l 131 604 l 32 604 l 32 691 l 145 759 l 205 919 l 337 919 l 337 758 l 521 758 l 521 604 l 337 604 l 337 238 q 359 173 337 194 q 416 152 381 152 m 421 865 q 433 912 427 886 q 444 965 439 938 q 455 1020 450 993 q 462 1070 460 1047 l 654 1070 l 654 1056 q 605 956 633 1010 q 541 848 577 902 l 421 848 l 421 865 "},"5":{"x_min":58,"x_max":707,"ha":765,"o":"m 405 634 q 524 614 469 634 q 620 556 579 594 q 683 461 660 518 q 707 331 707 405 q 681 186 707 250 q 607 78 656 122 q 486 9 559 33 q 320 -14 414 -14 q 246 -10 283 -14 q 176 0 210 -7 q 112 15 142 5 q 58 39 82 26 l 58 220 q 113 194 81 206 q 178 174 144 182 q 245 160 211 165 q 310 155 279 155 q 449 193 401 155 q 496 313 496 231 q 450 425 496 387 q 306 464 403 464 q 268 462 288 464 q 229 456 248 460 q 192 449 209 453 q 161 442 174 446 l 78 486 l 115 992 l 639 992 l 639 817 l 297 817 l 280 619 q 331 629 302 624 q 405 634 360 634 "},"o":{"x_min":69,"x_max":762,"ha":832,"o":"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 "},"Ѕ":{"x_min":63.46875,"x_max":668,"ha":728,"o":"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 "},"�":{"x_min":57.328125,"x_max":1331.03125,"ha":1389,"o":"m 693 1055 l 1331 419 l 693 -216 l 57 419 l 693 1055 m 737 249 l 737 280 q 748 331 737 310 q 811 392 759 352 q 904 488 878 443 q 931 592 931 532 q 914 676 931 639 q 866 737 897 712 q 791 775 835 762 q 692 789 747 789 q 632 783 662 789 q 572 769 601 778 q 514 747 542 759 q 464 722 487 736 l 519 601 q 608 640 565 624 q 689 656 651 656 q 753 636 732 656 q 774 584 774 616 q 761 528 774 551 q 692 461 747 505 q 620 384 645 425 q 595 289 595 343 l 595 249 l 737 249 m 577 62 q 601 -4 577 20 q 672 -29 625 -29 q 742 -4 718 -29 q 767 62 767 20 q 742 130 767 105 q 672 155 718 155 q 601 130 625 155 q 577 62 577 105 "},"d":{"x_min":69,"x_max":735,"ha":844,"o":"m 329 -14 q 224 11 271 -14 q 141 85 176 36 q 88 208 107 134 q 69 377 69 281 q 88 549 69 475 q 142 672 107 622 q 227 747 178 722 q 335 773 276 773 q 402 764 372 773 q 457 741 433 756 q 500 706 481 726 q 534 663 520 687 l 541 663 q 534 716 537 690 q 528 765 530 739 q 526 813 526 791 l 526 1055 l 735 1055 l 735 0 l 575 0 l 534 99 l 526 99 q 493 54 512 75 q 451 18 475 34 q 397 -5 427 3 q 329 -14 367 -14 m 406 152 q 467 164 442 152 q 508 202 492 177 q 531 266 524 228 q 540 355 539 304 l 540 378 q 533 476 540 433 q 511 547 526 519 q 470 591 496 576 q 404 606 444 606 q 310 547 340 606 q 280 376 280 489 q 310 208 280 264 q 406 152 341 152 "},",":{"x_min":43,"x_max":312,"ha":403,"o":"m 312 145 q 289 67 302 108 q 259 -15 275 26 q 226 -99 243 -57 q 192 -179 209 -141 l 43 -179 q 63 -92 53 -137 q 82 -3 73 -48 q 98 82 91 40 q 111 161 106 125 l 301 161 l 312 145 "},"\"":{"x_min":90,"x_max":565.21875,"ha":656,"o":"m 279 992 l 251 634 l 117 634 l 90 992 l 279 992 m 565 992 l 537 634 l 403 634 l 376 992 l 565 992 "},"ľ":{"x_min":109,"x_max":611,"ha":424,"o":"m 315 0 l 109 0 l 109 1055 l 315 1055 l 315 0 m 378 851 q 390 898 384 872 q 401 951 396 924 q 412 1006 407 979 q 419 1056 417 1033 l 611 1056 l 611 1042 q 562 942 590 996 q 498 834 534 888 l 378 834 l 378 851 "},"ė":{"x_min":69,"x_max":741,"ha":807,"o":"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 296 954 q 304 1003 296 984 q 328 1034 313 1022 q 364 1051 344 1046 q 408 1056 385 1056 q 451 1051 431 1056 q 487 1034 472 1046 q 511 1003 502 1022 q 521 954 521 984 q 511 906 521 926 q 487 875 502 886 q 451 858 472 863 q 408 853 431 853 q 364 858 385 853 q 328 875 344 863 q 304 906 313 886 q 296 954 296 926 "},"Í":{"x_min":44.28125,"x_max":510,"ha":541,"o":"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 160 1071 l 160 1089 q 190 1134 174 1108 q 222 1187 206 1160 q 252 1242 238 1215 q 278 1293 267 1269 l 510 1293 l 510 1278 q 488 1250 502 1266 q 455 1214 474 1233 q 416 1175 437 1195 q 374 1136 395 1155 q 332 1100 352 1117 q 297 1071 313 1083 l 160 1071 "},"Ú":{"x_min":118,"x_max":876,"ha":994,"o":"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 387 1071 l 387 1089 q 417 1134 401 1108 q 449 1187 433 1160 q 479 1242 465 1215 q 505 1293 494 1269 l 737 1293 l 737 1278 q 715 1250 729 1266 q 682 1214 701 1233 q 643 1175 664 1195 q 601 1136 622 1155 q 559 1100 579 1117 q 524 1071 540 1083 l 387 1071 "}," ":{"x_min":0,"x_max":0,"ha":278},"Ŷ":{"x_min":-0.25,"x_max":812.25,"ha":811,"o":"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 m 548 1071 q 476 1123 513 1093 q 403 1189 438 1152 q 331 1123 366 1152 q 261 1071 296 1093 l 124 1071 l 124 1089 q 163 1134 141 1108 q 206 1187 184 1160 q 248 1242 228 1215 q 284 1293 269 1269 l 525 1293 q 560 1242 540 1269 q 602 1187 580 1215 q 646 1134 624 1160 q 686 1089 669 1108 l 686 1071 l 548 1071 "},"Ý":{"x_min":-0.25,"x_max":812.25,"ha":811,"o":"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 m 287 1071 l 287 1089 q 317 1134 301 1108 q 349 1187 333 1160 q 379 1242 365 1215 q 405 1293 394 1269 l 637 1293 l 637 1278 q 615 1250 629 1266 q 582 1214 601 1233 q 543 1175 564 1195 q 501 1136 522 1155 q 459 1100 479 1117 q 424 1071 440 1083 l 287 1071 "},"ŝ":{"x_min":66,"x_max":633,"ha":668,"o":"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 m 495 842 q 423 894 460 864 q 350 960 385 923 q 278 894 313 923 q 208 842 243 864 l 71 842 l 71 860 q 110 905 88 879 q 153 958 131 931 q 195 1013 175 986 q 231 1064 216 1040 l 472 1064 q 507 1013 487 1040 q 549 958 527 986 q 593 905 571 931 q 633 860 616 879 l 633 842 l 495 842 "}," ":{"x_min":0,"x_max":0,"ha":1389},"ą":{"x_min":58,"x_max":702,"ha":798,"o":"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 570 -154 q 585 -196 570 -182 q 624 -209 600 -209 q 667 -205 645 -209 q 702 -197 688 -201 l 702 -318 q 655 -329 680 -324 q 596 -334 630 -334 q 525 -322 557 -334 q 472 -290 494 -310 q 438 -241 450 -269 q 427 -177 427 -212 q 436 -124 427 -148 q 462 -78 445 -99 q 501 -38 479 -57 q 549 0 523 -19 l 670 0 q 596 -81 623 -44 q 570 -154 570 -118 "},"​":{"x_min":0,"x_max":0,"ha":0},"ã":{"x_min":58,"x_max":694,"ha":798,"o":"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 289 906 q 255 890 268 906 q 235 840 243 874 l 134 840 q 151 934 138 894 q 187 999 165 973 q 239 1037 209 1024 q 304 1050 268 1050 q 358 1040 332 1050 q 411 1017 385 1030 q 462 995 437 1005 q 512 985 488 985 q 545 1001 533 985 q 566 1051 558 1017 l 668 1051 q 650 958 663 997 q 613 893 636 919 q 561 854 591 867 q 497 842 532 842 q 443 852 470 842 q 390 874 415 862 q 339 896 364 886 q 289 906 313 906 "},"æ":{"x_min":58,"x_max":1159,"ha":1225,"o":"m 860 -14 q 698 20 771 -14 q 578 125 625 54 q 521 62 549 89 q 459 19 492 36 q 384 -5 426 2 q 287 -14 342 -14 q 199 0 241 -14 q 126 44 157 15 q 76 119 94 74 q 58 226 58 164 q 135 404 58 346 q 367 467 212 461 l 488 471 l 488 528 q 460 598 488 575 q 384 620 433 620 q 289 606 335 620 q 195 568 242 592 l 128 705 q 254 755 185 737 q 399 774 323 774 q 618 685 544 774 q 832 773 704 773 q 968 750 907 773 q 1071 683 1029 727 q 1136 574 1113 639 q 1159 427 1159 510 l 1159 327 l 694 327 q 708 248 696 283 q 744 189 721 213 q 799 152 767 165 q 873 139 831 139 q 996 154 937 139 q 1116 199 1056 168 l 1116 39 q 1061 15 1089 25 q 1003 -1 1034 5 q 937 -10 972 -7 q 860 -14 902 -14 m 488 351 l 419 348 q 348 337 377 347 q 302 312 320 328 q 277 274 285 296 q 269 226 269 252 q 292 159 269 178 q 353 139 316 139 q 406 149 382 139 q 449 177 431 158 q 477 225 467 197 q 488 289 488 252 l 488 351 m 833 625 q 740 586 777 625 q 698 465 704 548 l 964 465 q 955 529 963 499 q 931 579 947 558 q 890 613 915 601 q 833 625 866 625 "},"ĩ":{"x_min":-55,"x_max":479,"ha":424,"o":"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 100 906 q 66 890 79 906 q 46 840 54 874 l -55 840 q -37 934 -50 894 q -1 999 -23 973 q 50 1037 20 1024 q 115 1050 79 1050 q 169 1040 143 1050 q 222 1017 196 1030 q 273 995 248 1005 q 323 985 299 985 q 356 1001 344 985 q 377 1051 369 1017 l 479 1051 q 461 958 474 997 q 424 893 447 919 q 372 854 402 867 q 308 842 343 842 q 254 852 281 842 q 201 874 226 862 q 150 896 175 886 q 100 906 124 906 "},"~":{"x_min":60,"x_max":705,"ha":765,"o":"m 358 417 q 313 435 333 428 q 278 447 294 443 q 248 453 262 452 q 218 455 234 455 q 177 449 198 455 q 136 431 156 442 q 96 405 116 420 q 60 373 77 390 l 60 530 q 137 585 94 566 q 233 604 180 604 q 271 602 253 604 q 307 595 288 600 q 350 582 326 591 q 406 560 374 574 q 451 542 432 549 q 487 531 471 535 q 518 525 503 526 q 547 523 532 523 q 587 529 566 523 q 629 547 608 536 q 668 573 649 558 q 705 605 688 588 l 705 448 q 531 375 636 375 q 493 376 511 375 q 457 382 476 378 q 414 395 438 387 q 358 417 390 404 "},"ŀ":{"x_min":109,"x_max":620,"ha":603,"o":"m 315 0 l 109 0 l 109 1055 l 315 1055 l 315 0 m 395 471 q 403 520 395 501 q 427 551 412 539 q 463 568 443 563 q 507 573 484 573 q 550 568 530 573 q 586 551 571 563 q 610 520 601 539 q 620 471 620 501 q 610 423 620 443 q 586 392 601 403 q 550 375 571 380 q 507 370 530 370 q 463 375 484 370 q 427 392 443 380 q 403 423 412 403 q 395 471 395 443 "},"Ċ":{"x_min":81,"x_max":836.296875,"ha":885,"o":"m 546 831 q 439 807 485 831 q 361 740 392 784 q 313 633 329 696 q 297 492 297 571 q 311 351 297 413 q 356 247 326 289 q 433 183 386 205 q 546 160 481 160 q 667 174 606 160 q 799 213 727 188 l 799 36 q 734 13 766 23 q 669 -1 702 4 q 601 -10 636 -7 q 526 -14 566 -14 q 327 22 411 -14 q 188 125 243 59 q 107 285 133 192 q 81 494 81 379 q 111 700 81 606 q 201 862 142 794 q 346 968 260 930 q 546 1006 433 1006 q 694 987 620 1006 q 836 936 768 968 l 768 765 q 656 811 712 791 q 546 831 600 831 m 424 1183 q 432 1232 424 1213 q 456 1263 441 1251 q 492 1280 472 1275 q 536 1285 513 1285 q 579 1280 559 1285 q 615 1263 600 1275 q 639 1232 630 1251 q 649 1183 649 1213 q 639 1135 649 1155 q 615 1104 630 1115 q 579 1087 600 1092 q 536 1082 559 1082 q 492 1087 513 1082 q 456 1104 472 1092 q 432 1135 441 1115 q 424 1183 424 1155 "},"¡":{"x_min":79,"x_max":316,"ha":397,"o":"m 113 410 l 278 410 l 313 -250 l 79 -250 l 113 410 m 316 642 q 306 588 316 610 q 281 552 297 566 q 243 533 265 539 q 196 527 221 527 q 151 533 173 527 q 114 552 130 539 q 88 588 97 566 q 79 642 79 610 q 88 695 79 673 q 114 731 97 717 q 151 751 130 745 q 196 758 173 758 q 243 751 221 758 q 281 731 265 745 q 306 695 297 717 q 316 642 316 673 "},"ẅ":{"x_min":-0.25,"x_max":1120.25,"ha":1120,"o":"m 688 0 l 629 265 q 622 297 626 276 q 612 346 618 319 q 601 403 607 372 q 589 463 595 433 q 559 613 575 532 l 555 613 q 527 462 539 532 q 515 402 521 432 q 504 344 510 371 q 494 296 499 317 q 487 262 490 274 l 426 0 l 204 0 l 0 758 l 205 758 l 282 422 q 294 359 288 395 q 306 284 301 322 q 317 213 312 246 q 324 160 322 179 l 328 160 q 331 193 329 172 q 337 237 334 214 q 344 286 341 261 q 352 332 348 311 q 359 371 356 354 q 364 394 362 387 l 447 758 l 674 758 l 754 394 q 763 348 757 379 q 774 281 768 317 q 784 212 780 246 q 789 160 788 178 l 793 160 q 800 210 795 176 q 811 281 805 243 q 824 357 817 320 q 837 422 831 395 l 917 758 l 1120 758 l 913 0 l 688 0 m 327 953 q 334 994 327 977 q 354 1022 341 1011 q 384 1039 367 1034 q 421 1045 401 1045 q 458 1039 441 1045 q 488 1022 475 1034 q 509 994 501 1011 q 517 953 517 977 q 509 913 517 930 q 488 885 501 896 q 458 868 475 873 q 421 863 441 863 q 384 868 401 863 q 354 885 367 873 q 334 913 341 896 q 327 953 327 930 m 600 953 q 607 994 600 977 q 627 1022 614 1011 q 658 1039 640 1034 q 696 1045 675 1045 q 732 1039 715 1045 q 763 1022 749 1034 q 784 994 776 1011 q 792 953 792 977 q 784 913 792 930 q 763 885 776 896 q 732 868 749 873 q 696 863 715 863 q 627 885 655 863 q 600 953 600 907 "},"К":{"x_min":125,"x_max":878.25,"ha":878,"o":"m 878 0 l 639 0 l 335 502 l 335 0 l 125 0 l 125 992 l 335 992 l 335 511 l 635 992 l 859 992 l 552 515 l 878 0 "},"Γ":{"x_min":125,"x_max":696,"ha":724,"o":"m 696 992 l 696 817 l 335 817 l 335 0 l 125 0 l 125 992 l 696 992 "},"P":{"x_min":125,"x_max":769,"ha":831,"o":"m 335 526 l 377 526 q 513 561 467 526 q 558 674 558 596 q 517 782 558 747 q 389 817 476 817 l 335 817 l 335 526 m 769 682 q 749 557 769 616 q 684 451 729 497 q 565 379 639 406 q 383 352 492 352 l 335 352 l 335 0 l 125 0 l 125 992 l 400 992 q 565 970 496 992 q 680 909 635 949 q 747 812 725 869 q 769 682 769 754 "},"%":{"x_min":43,"x_max":1181,"ha":1224,"o":"m 213 695 q 229 566 213 608 q 278 523 244 523 q 327 565 311 523 q 343 695 343 607 q 278 865 343 865 q 229 823 244 865 q 213 695 213 781 m 514 695 q 500 564 514 622 q 457 465 486 505 q 383 404 427 425 q 276 383 338 383 q 175 404 219 383 q 102 465 131 425 q 57 564 72 505 q 43 695 43 622 q 56 826 43 769 q 98 924 70 884 q 171 984 127 963 q 276 1006 215 1006 q 379 984 335 1006 q 453 924 423 963 q 498 826 483 884 q 514 695 514 769 m 967 992 l 416 0 l 254 0 l 805 992 l 967 992 m 880 299 q 896 170 880 213 q 945 128 911 128 q 994 170 978 128 q 1010 299 1010 212 q 945 469 1010 469 q 896 427 911 469 q 880 299 880 386 m 1181 300 q 1167 168 1181 226 q 1123 70 1153 110 q 1050 9 1094 30 q 943 -12 1005 -12 q 842 9 885 -12 q 769 70 798 30 q 724 168 739 110 q 710 300 710 226 q 723 430 710 373 q 765 528 737 488 q 838 588 794 567 q 943 610 882 610 q 1046 588 1001 610 q 1120 528 1090 567 q 1165 430 1150 488 q 1181 300 1181 373 "},"ϖ":{"x_min":35.03125,"x_max":1310.578125,"ha":1346,"o":"m 886 -14 q 810 -3 843 -14 q 751 25 777 6 q 708 72 726 45 q 677 133 690 100 l 670 133 q 640 72 658 100 q 596 25 621 45 q 538 -3 571 6 q 462 -14 505 -14 q 334 9 389 -14 q 243 79 279 33 q 188 190 206 124 q 170 341 170 256 q 181 474 170 407 q 212 604 193 541 l 35 604 l 35 689 l 148 758 l 1310 758 l 1310 604 l 1135 604 q 1166 474 1154 541 q 1179 341 1179 407 q 1160 190 1179 256 q 1105 79 1141 124 q 1013 9 1068 33 q 886 -14 958 -14 m 984 348 q 973 474 984 409 q 944 604 963 540 l 403 604 q 374 477 384 541 q 364 350 364 413 q 392 200 364 249 q 481 152 420 152 q 527 163 509 152 q 557 195 546 174 q 572 248 567 217 q 577 320 577 279 l 577 412 l 771 412 l 771 320 q 776 248 771 279 q 791 195 780 217 q 821 163 802 174 q 867 152 839 152 q 956 200 929 152 q 984 348 984 249 "},"_":{"x_min":-3,"x_max":574,"ha":571,"o":"m 574 -219 l -3 -219 l -3 -125 l 574 -125 l 574 -219 "},"ñ":{"x_min":109,"x_max":767,"ha":871,"o":"m 767 0 l 560 0 l 560 442 q 535 565 560 524 q 456 606 510 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 m 324 906 q 290 890 303 906 q 270 840 278 874 l 169 840 q 186 934 173 894 q 222 999 200 973 q 274 1037 244 1024 q 339 1050 303 1050 q 393 1040 367 1050 q 446 1017 420 1030 q 497 995 472 1005 q 547 985 523 985 q 580 1001 568 985 q 601 1051 593 1017 l 703 1051 q 685 958 698 997 q 648 893 671 919 q 596 854 626 867 q 532 842 567 842 q 478 852 505 842 q 425 874 450 862 q 374 896 399 886 q 324 906 348 906 "},"Ŕ":{"x_min":125,"x_max":875.25,"ha":875,"o":"m 335 545 l 393 545 q 520 581 481 545 q 558 685 558 616 q 517 786 558 756 q 389 817 476 817 l 335 817 l 335 545 m 335 379 l 335 0 l 125 0 l 125 992 l 396 992 q 678 918 587 992 q 769 694 769 844 q 755 601 769 642 q 719 527 741 559 q 666 471 696 495 q 604 430 637 447 q 739 215 679 310 q 789 136 765 175 q 832 67 813 98 q 863 18 851 37 l 875 0 l 641 0 l 427 379 l 335 379 m 310 1071 l 310 1089 q 340 1134 324 1108 q 372 1187 356 1160 q 402 1242 388 1215 q 428 1293 417 1269 l 660 1293 l 660 1278 q 638 1250 652 1266 q 605 1214 624 1233 q 566 1175 587 1195 q 524 1136 545 1155 q 482 1100 502 1117 q 447 1071 463 1083 l 310 1071 "},"‚":{"x_min":43,"x_max":312,"ha":403,"o":"m 312 145 q 289 67 302 108 q 259 -15 275 26 q 226 -99 243 -57 q 192 -179 209 -141 l 43 -179 q 63 -92 53 -137 q 82 -3 73 -48 q 98 82 91 40 q 111 161 106 125 l 301 161 l 312 145 "},"⅞":{"x_min":45,"x_max":1145,"ha":1224,"o":"m 109 397 l 336 859 l 45 859 l 45 992 l 498 992 l 498 882 l 270 397 l 109 397 m 899 992 l 348 0 l 186 0 l 737 992 l 899 992 m 913 607 q 995 597 957 607 q 1062 569 1033 588 q 1106 523 1090 551 q 1123 458 1123 495 q 1115 413 1123 434 q 1094 376 1108 393 q 1064 347 1081 360 q 1026 323 1046 334 q 1070 295 1049 309 q 1108 263 1091 281 q 1134 221 1124 244 q 1145 169 1145 198 q 1128 95 1145 129 q 1081 36 1111 61 q 1008 -2 1050 11 q 913 -16 965 -16 q 813 -2 856 -16 q 740 34 770 10 q 696 92 711 58 q 681 165 681 126 q 689 218 681 195 q 713 259 698 241 q 747 291 727 277 q 787 317 766 305 q 754 345 769 330 q 726 376 738 359 q 708 414 714 393 q 702 458 702 434 q 718 523 702 495 q 764 569 735 550 q 831 597 793 587 q 913 607 870 607 m 828 169 q 849 114 828 135 q 911 92 870 92 q 975 114 953 92 q 997 169 997 135 q 974 223 997 201 q 910 261 951 246 l 901 264 q 847 226 866 248 q 828 169 828 203 m 911 498 q 865 482 881 498 q 849 447 849 467 q 868 403 849 420 q 913 373 886 387 q 937 386 926 379 q 957 402 949 393 q 970 422 965 411 q 975 447 975 433 q 960 482 975 467 q 911 498 945 498 "},"Æ":{"x_min":0,"x_max":1198,"ha":1280,"o":"m 1198 0 l 628 0 l 628 235 l 315 235 l 213 0 l 0 0 l 444 992 l 1198 992 l 1198 817 l 838 817 l 838 602 l 1173 602 l 1173 427 l 838 427 l 838 174 l 1198 174 l 1198 0 m 392 410 l 628 410 l 628 810 l 562 810 l 392 410 "},"₣":{"x_min":24,"x_max":693,"ha":765,"o":"m 335 299 l 518 299 l 518 178 l 335 178 l 335 0 l 125 0 l 125 178 l 24 178 l 24 299 l 125 299 l 125 992 l 693 992 l 693 822 l 335 822 l 335 592 l 667 592 l 667 422 l 335 422 l 335 299 "},"Ū":{"x_min":118,"x_max":876,"ha":994,"o":"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 287 1214 l 705 1214 l 705 1071 l 287 1071 l 287 1214 "},"ы":{"x_min":109,"x_max":1031,"ha":1139,"o":"m 315 467 l 407 467 q 644 411 567 467 q 721 242 721 356 q 703 142 721 187 q 647 65 685 97 q 550 17 609 34 q 405 0 490 0 l 109 0 l 109 758 l 315 758 l 315 467 m 514 239 q 484 300 514 281 q 395 319 454 319 l 315 319 l 315 147 l 397 147 q 444 152 423 147 q 481 168 466 156 q 505 196 496 179 q 514 239 514 214 m 1031 0 l 824 0 l 824 758 l 1031 758 l 1031 0 "},"ѓ":{"x_min":109,"x_max":590,"ha":623,"o":"m 590 758 l 590 604 l 315 604 l 315 0 l 109 0 l 109 758 l 590 758 m 231 842 l 231 860 q 261 905 245 879 q 293 958 277 931 q 323 1013 309 986 q 349 1064 338 1040 l 581 1064 l 581 1049 q 559 1021 573 1037 q 526 985 545 1004 q 487 946 508 966 q 445 907 466 926 q 403 871 423 888 q 368 842 384 854 l 231 842 "},"Œ":{"x_min":81,"x_max":1228,"ha":1310,"o":"m 1228 0 l 657 0 q 594 -10 627 -6 q 525 -14 561 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 412 1007 q 596 1003 563 1007 q 660 992 629 999 l 1228 992 l 1228 817 l 868 817 l 868 602 l 1203 602 l 1203 427 l 868 427 l 868 174 l 1228 174 l 1228 0 m 526 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 599 167 566 160 q 658 187 632 174 l 658 804 q 600 824 632 817 q 526 832 567 832 "},"΅":{"x_min":126,"x_max":675,"ha":802,"o":"m 126 953 q 148 1023 126 1001 q 206 1044 170 1044 q 265 1023 242 1044 q 288 953 288 1001 q 265 885 288 907 q 206 863 242 863 q 148 885 170 863 q 126 953 126 907 m 512 953 q 534 1023 512 1001 q 593 1044 556 1044 q 652 1023 629 1044 q 675 953 675 1001 q 652 885 675 907 q 593 863 629 863 q 534 885 556 863 q 512 953 512 907 m 330 959 q 342 1006 336 980 q 354 1059 348 1032 q 364 1114 360 1087 q 372 1164 369 1141 l 550 1164 l 550 1150 q 495 1050 528 1104 q 423 942 462 996 l 330 942 l 330 959 "},"Ą":{"x_min":-0.25,"x_max":903.25,"ha":903,"o":"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 712 -154 q 727 -196 712 -182 q 766 -209 742 -209 q 809 -205 787 -209 q 844 -197 830 -201 l 844 -318 q 797 -329 822 -324 q 738 -334 772 -334 q 667 -322 699 -334 q 614 -290 636 -310 q 580 -241 592 -269 q 569 -177 569 -212 q 578 -124 569 -148 q 604 -78 587 -99 q 643 -38 621 -57 q 691 0 665 -19 l 812 0 q 738 -81 765 -44 q 712 -154 712 -118 "},"Њ":{"x_min":125,"x_max":1274,"ha":1336,"o":"m 1274 310 q 1251 179 1274 237 q 1183 81 1229 121 q 1066 21 1137 42 q 896 0 994 0 l 632 0 l 632 429 l 335 429 l 335 0 l 125 0 l 125 992 l 335 992 l 335 604 l 632 604 l 632 992 l 842 992 l 842 612 l 915 612 q 1075 589 1008 612 q 1187 527 1142 567 q 1252 431 1231 487 q 1274 310 1274 376 m 842 174 l 899 174 q 967 182 937 174 q 1019 205 998 189 q 1052 247 1041 221 q 1063 311 1063 274 q 1051 375 1063 350 q 1015 414 1038 400 q 959 434 992 429 q 885 439 926 439 l 842 439 l 842 174 "},"›":{"x_min":55,"x_max":413,"ha":469,"o":"m 413 370 l 203 63 l 55 143 l 202 380 l 55 616 l 203 697 l 413 388 l 413 370 "},"ћ":{"x_min":3,"x_max":767,"ha":871,"o":"m 767 0 l 560 0 l 560 400 q 534 522 560 482 q 456 563 509 563 q 389 547 416 563 q 345 498 362 530 q 322 420 329 467 q 315 314 315 374 l 315 0 l 109 0 l 109 808 l 3 808 l 3 946 l 109 946 l 109 1055 l 315 1055 l 315 946 l 529 946 l 529 808 l 315 808 l 315 796 q 314 736 315 768 q 311 679 313 705 l 306 618 l 317 618 q 402 703 350 677 q 518 730 453 730 q 620 714 575 730 q 699 664 666 698 q 749 577 731 630 q 767 452 767 525 l 767 0 "},"<":{"x_min":60,"x_max":705,"ha":765,"o":"m 705 138 l 60 434 l 60 531 l 705 868 l 705 705 l 268 490 l 705 300 l 705 138 "},"¬":{"x_min":60,"x_max":705,"ha":765,"o":"m 705 168 l 556 168 l 556 415 l 60 415 l 60 564 l 705 564 l 705 168 "},"t":{"x_min":32,"x_max":530,"ha":575,"o":"m 416 152 q 474 158 446 152 q 530 175 501 165 l 530 20 q 457 -4 500 5 q 364 -14 414 -14 q 271 -2 314 -14 q 198 38 229 9 q 148 115 166 67 q 131 237 131 164 l 131 604 l 32 604 l 32 691 l 145 759 l 205 919 l 337 919 l 337 758 l 521 758 l 521 604 l 337 604 l 337 238 q 359 173 337 194 q 416 152 381 152 "},"Ц":{"x_min":125,"x_max":1002,"ha":1030,"o":"m 855 166 l 1002 147 l 1002 -289 l 796 -289 l 796 0 l 125 0 l 125 992 l 335 992 l 335 174 l 644 174 l 644 992 l 855 992 l 855 166 "},"ù":{"x_min":104,"x_max":762,"ha":871,"o":"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 395 842 q 340 889 372 860 q 276 946 307 917 q 219 1004 245 976 q 183 1049 193 1031 l 183 1064 l 414 1064 q 440 1013 425 1040 q 470 958 454 986 q 502 905 486 931 q 533 860 518 879 l 533 842 l 395 842 "},"ï":{"x_min":-21,"x_max":444,"ha":424,"o":"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m -21 953 q -13 994 -21 977 q 6 1022 -6 1011 q 36 1039 19 1034 q 73 1045 53 1045 q 110 1039 93 1045 q 140 1022 127 1034 q 161 994 153 1011 q 169 953 169 977 q 161 913 169 930 q 140 885 153 896 q 110 868 127 873 q 73 863 93 863 q 36 868 53 863 q 6 885 19 873 q -13 913 -6 896 q -21 953 -21 930 m 252 953 q 259 994 252 977 q 279 1022 266 1011 q 310 1039 292 1034 q 348 1045 327 1045 q 384 1039 367 1045 q 415 1022 401 1034 q 436 994 428 1011 q 444 953 444 977 q 436 913 444 930 q 415 885 428 896 q 384 868 401 873 q 348 863 367 863 q 279 885 307 863 q 252 953 252 907 "},"Ф":{"x_min":62,"x_max":1077,"ha":1139,"o":"m 663 305 l 671 305 q 763 321 724 305 q 828 366 802 337 q 867 433 854 394 q 881 516 881 471 q 869 592 881 556 q 834 656 858 629 q 774 700 810 684 q 688 717 738 717 l 663 717 l 663 305 m 476 -14 l 476 139 l 462 139 q 328 155 387 139 q 225 199 269 171 q 149 264 181 227 q 99 343 118 301 q 70 429 79 385 q 62 514 62 472 q 84 649 62 583 q 153 768 106 716 q 272 852 200 820 q 442 884 343 884 l 476 884 l 476 1006 l 663 1006 l 663 884 l 696 884 q 867 852 795 884 q 985 768 938 820 q 1054 649 1032 716 q 1077 514 1077 583 q 1068 429 1077 472 q 1039 343 1059 385 q 989 264 1020 301 q 913 199 958 227 q 810 155 869 171 q 676 139 751 139 l 663 139 l 663 -14 l 476 -14 m 476 717 l 451 717 q 365 700 401 717 q 305 656 328 684 q 269 592 281 629 q 258 516 258 556 q 271 433 258 471 q 310 366 284 394 q 375 321 336 337 q 467 305 414 305 l 476 305 l 476 717 "},"Ò":{"x_min":81,"x_max":970,"ha":1050,"o":"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 495 1071 q 440 1118 472 1089 q 376 1175 407 1146 q 319 1233 345 1205 q 283 1278 293 1260 l 283 1293 l 514 1293 q 540 1242 525 1269 q 570 1187 554 1215 q 602 1134 586 1160 q 633 1089 618 1108 l 633 1071 l 495 1071 "},"I":{"x_min":44.28125,"x_max":495.96875,"ha":541,"o":"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 "},"˝":{"x_min":106,"x_max":697,"ha":802,"o":"m 106 842 l 106 860 q 136 905 120 879 q 168 958 152 931 q 198 1013 184 986 q 223 1064 213 1040 l 428 1064 l 428 1049 q 406 1021 420 1037 q 373 985 392 1004 q 334 946 355 966 q 291 907 312 926 q 250 871 270 888 q 215 842 230 854 l 106 842 m 375 842 l 375 860 q 405 905 389 879 q 437 958 421 931 q 467 1013 453 986 q 492 1064 482 1040 l 697 1064 l 697 1049 q 675 1021 689 1037 q 642 985 661 1004 q 603 946 624 966 q 561 907 582 926 q 520 871 539 888 q 484 842 500 854 l 375 842 "},"·":{"x_min":79,"x_max":316,"ha":396,"o":"m 79 490 q 88 544 79 522 q 113 580 97 566 q 151 599 129 593 q 198 606 173 606 q 243 599 221 606 q 280 580 264 593 q 306 544 297 566 q 316 490 316 522 q 306 437 316 459 q 280 401 297 415 q 243 381 264 387 q 198 375 221 375 q 151 381 173 375 q 113 401 129 387 q 88 437 97 415 q 79 490 79 459 "},"¿":{"x_min":45,"x_max":628,"ha":638,"o":"m 465 410 l 465 359 q 457 297 465 325 q 436 243 450 269 q 398 194 421 218 q 342 145 375 171 q 294 105 314 122 q 262 70 274 87 q 245 34 250 53 q 239 -9 239 15 q 266 -73 239 -48 q 345 -98 292 -98 q 446 -78 392 -98 q 558 -30 501 -58 l 628 -180 q 564 -213 598 -197 q 492 -239 529 -228 q 417 -258 455 -251 q 343 -265 379 -265 q 218 -248 274 -265 q 125 -200 163 -231 q 65 -123 86 -168 q 45 -19 45 -77 q 54 56 45 22 q 82 118 63 89 q 129 174 101 147 q 194 231 157 201 q 240 270 222 253 q 268 301 258 286 q 282 332 278 316 q 285 370 285 349 l 285 410 l 465 410 m 487 642 q 477 588 487 610 q 452 552 468 566 q 414 533 436 539 q 367 527 392 527 q 322 533 344 527 q 285 552 301 539 q 259 588 268 566 q 250 642 250 610 q 259 695 250 673 q 285 731 268 717 q 322 751 301 745 q 367 758 344 758 q 414 751 392 758 q 452 731 436 745 q 477 695 468 717 q 487 642 487 673 "},"ſ":{"x_min":109,"x_max":537,"ha":504,"o":"m 389 896 q 332 870 349 896 q 315 804 315 844 l 315 0 l 109 0 l 109 814 q 126 934 109 886 q 176 1010 144 982 q 255 1051 209 1039 q 358 1063 301 1063 q 464 1053 421 1063 q 537 1030 507 1043 l 488 877 q 444 890 467 884 q 389 896 421 896 "},"Ђ":{"x_min":28,"x_max":989,"ha":1063,"o":"m 713 -12 q 642 -6 677 -12 q 575 13 606 0 l 575 184 q 636 162 606 170 q 691 154 666 154 q 724 157 708 154 q 752 171 740 160 q 771 202 764 182 q 778 260 778 223 l 778 346 q 755 431 778 407 q 677 456 731 456 l 487 456 l 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 728 992 l 728 817 l 487 817 l 487 631 l 692 631 q 817 613 762 631 q 910 560 872 595 q 969 476 949 526 q 989 363 989 426 l 989 276 q 919 61 989 134 q 713 -12 850 -12 "},"ű":{"x_min":104,"x_max":804,"ha":871,"o":"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 213 842 l 213 860 q 243 905 227 879 q 275 958 259 931 q 305 1013 291 986 q 330 1064 320 1040 l 535 1064 l 535 1049 q 513 1021 527 1037 q 480 985 499 1004 q 441 946 462 966 q 398 907 419 926 q 357 871 377 888 q 322 842 337 854 l 213 842 m 482 842 l 482 860 q 512 905 496 879 q 544 958 528 931 q 574 1013 560 986 q 599 1064 589 1040 l 804 1064 l 804 1049 q 782 1021 796 1037 q 749 985 768 1004 q 710 946 731 966 q 668 907 689 926 q 627 871 646 888 q 591 842 607 854 l 482 842 "},"Ǽ":{"x_min":0,"x_max":1198,"ha":1280,"o":"m 1198 0 l 628 0 l 628 235 l 315 235 l 213 0 l 0 0 l 444 992 l 1198 992 l 1198 817 l 838 817 l 838 602 l 1173 602 l 1173 427 l 838 427 l 838 174 l 1198 174 l 1198 0 m 392 410 l 628 410 l 628 810 l 562 810 l 392 410 m 666 1071 l 666 1089 q 696 1134 680 1108 q 728 1187 712 1160 q 758 1242 744 1215 q 784 1293 773 1269 l 1016 1293 l 1016 1278 q 994 1250 1008 1266 q 961 1214 980 1233 q 922 1175 943 1195 q 880 1136 901 1155 q 838 1100 858 1117 q 803 1071 819 1083 l 666 1071 "},"φ":{"x_min":69,"x_max":1003,"ha":1072,"o":"m 808 397 q 802 481 808 442 q 783 551 796 521 q 748 599 770 582 q 696 616 727 616 q 642 589 661 616 q 622 497 622 563 l 622 145 q 699 169 665 149 q 758 223 734 190 q 795 300 782 256 q 808 397 808 345 m 428 -334 l 428 -8 q 285 26 351 0 q 172 98 220 52 q 96 213 124 145 q 69 376 69 282 q 80 489 69 435 q 112 592 91 543 q 162 687 133 641 q 226 775 191 732 l 375 677 q 328 605 349 641 q 293 533 307 570 q 271 456 278 496 q 263 370 263 416 q 276 277 263 316 q 311 211 289 238 q 363 168 333 184 q 428 145 393 152 l 428 497 q 447 615 428 564 q 501 700 467 666 q 583 752 536 735 q 688 770 631 770 q 819 744 760 770 q 918 671 877 719 q 981 555 959 623 q 1003 401 1003 487 q 971 230 1003 304 q 888 106 940 157 q 766 27 835 56 q 622 -8 697 0 l 622 -334 l 428 -334 "},";":{"x_min":43,"x_max":316,"ha":403,"o":"m 301 161 l 312 145 q 289 67 302 108 q 259 -15 275 26 q 226 -99 243 -57 q 192 -179 209 -141 l 43 -179 q 63 -92 53 -137 q 82 -3 73 -48 q 98 82 91 40 q 111 161 106 125 l 301 161 m 79 657 q 88 711 79 689 q 113 747 97 733 q 151 766 129 760 q 198 773 173 773 q 243 766 221 773 q 280 747 264 760 q 306 711 297 733 q 316 657 316 689 q 306 604 316 626 q 280 568 297 582 q 243 548 264 554 q 198 542 221 542 q 151 548 173 542 q 113 568 129 554 q 88 604 97 582 q 79 657 79 626 "},"Ș":{"x_min":63.46875,"x_max":668,"ha":728,"o":"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 m 238 -288 q 250 -242 244 -268 q 261 -188 256 -216 q 272 -134 267 -161 q 279 -85 277 -107 l 471 -85 l 471 -98 q 422 -198 450 -145 q 358 -307 394 -251 l 238 -307 l 238 -288 "},"Ġ":{"x_min":81,"x_max":895,"ha":1006,"o":"m 502 557 l 895 557 l 895 42 q 815 18 855 29 q 732 1 775 8 q 642 -9 689 -5 q 542 -14 595 -14 q 345 18 431 -14 q 200 116 259 51 q 111 276 142 181 q 81 497 81 372 q 114 708 81 613 q 214 868 148 802 q 377 970 281 934 q 599 1006 474 1006 q 754 989 678 1006 q 893 944 830 972 l 823 776 q 719 815 777 799 q 597 831 661 831 q 473 806 528 831 q 378 738 418 782 q 318 632 339 694 q 297 492 297 569 q 311 358 297 419 q 357 253 326 298 q 438 185 388 209 q 555 160 487 160 q 631 165 600 160 q 689 174 662 169 l 689 382 l 502 382 l 502 557 m 437 1183 q 445 1232 437 1213 q 469 1263 454 1251 q 505 1280 485 1275 q 549 1285 526 1285 q 592 1280 572 1285 q 628 1263 613 1275 q 652 1232 643 1251 q 662 1183 662 1213 q 652 1135 662 1155 q 628 1104 643 1115 q 592 1087 613 1092 q 549 1082 572 1082 q 505 1087 526 1082 q 469 1104 485 1092 q 445 1135 454 1115 q 437 1183 437 1155 "},"6":{"x_min":52,"x_max":724,"ha":765,"o":"m 52 420 q 59 562 52 492 q 87 698 67 633 q 141 818 107 762 q 228 915 176 874 q 354 979 281 956 q 526 1003 428 1003 q 558 1002 541 1003 q 592 1000 574 1001 q 625 997 609 999 q 655 992 642 995 l 655 826 q 600 836 629 832 q 542 840 571 840 q 393 817 451 840 q 299 753 334 794 q 250 655 265 712 q 233 528 236 598 l 241 528 q 273 574 254 553 q 318 611 293 595 q 376 635 344 626 q 448 644 408 644 q 563 622 512 644 q 650 561 615 601 q 705 463 686 521 q 724 329 724 405 q 701 185 724 249 q 636 77 678 121 q 534 9 594 32 q 400 -14 475 -14 q 263 12 327 -14 q 152 91 199 38 q 78 227 105 145 q 52 420 52 308 m 393 155 q 442 165 420 155 q 480 197 464 176 q 504 250 496 218 q 513 327 513 282 q 484 440 513 398 q 396 481 455 481 q 341 469 366 481 q 298 437 316 457 q 271 394 281 418 q 262 345 262 369 q 270 277 262 311 q 295 216 278 243 q 336 172 311 189 q 393 155 360 155 "},"n":{"x_min":109,"x_max":767,"ha":871,"o":"m 767 0 l 560 0 l 560 442 q 535 565 560 524 q 456 606 510 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 "},"ά":{"x_min":69,"x_max":834,"ha":864,"o":"m 399 152 q 457 165 433 152 q 495 204 480 177 q 516 272 509 231 q 524 369 523 312 l 524 377 q 518 475 524 432 q 497 546 512 517 q 458 589 482 575 q 397 604 434 604 q 308 546 337 604 q 280 375 280 487 q 309 207 280 263 q 399 152 337 152 m 332 -14 q 224 11 273 -14 q 141 85 175 36 q 87 207 106 134 q 69 376 69 280 q 88 546 69 473 q 143 670 107 620 q 231 745 179 720 q 346 771 282 771 q 411 763 382 771 q 464 742 440 756 q 506 706 487 728 q 540 656 525 685 l 550 656 q 569 708 557 680 q 600 758 581 736 l 784 758 q 768 702 776 735 q 752 628 759 669 q 740 542 745 588 q 736 451 736 497 l 736 239 q 740 201 736 216 q 753 176 745 185 q 771 163 761 167 q 793 159 781 159 q 815 162 802 159 q 834 166 828 164 l 834 3 q 816 -2 828 0 q 790 -8 805 -5 q 761 -12 776 -10 q 734 -14 747 -14 q 667 -8 697 -14 q 614 10 637 -3 q 573 45 590 23 q 542 100 555 67 l 529 100 q 497 56 516 77 q 455 19 478 35 q 401 -5 431 3 q 332 -14 370 -14 m 367 860 q 379 906 373 880 q 390 960 385 932 q 401 1014 396 987 q 408 1064 405 1041 l 600 1064 l 600 1049 q 551 950 579 1003 q 487 842 523 897 l 367 842 l 367 860 "},"ϊ":{"x_min":3,"x_max":509,"ha":538,"o":"m 315 758 l 315 236 q 337 171 315 192 q 395 150 359 150 q 453 157 425 150 q 509 174 480 164 l 509 20 q 436 -4 479 5 q 342 -14 393 -14 q 250 -2 292 -14 q 176 37 207 9 q 126 115 144 66 q 109 237 109 163 l 109 758 l 315 758 m 3 953 q 10 994 3 977 q 30 1022 17 1011 q 60 1039 43 1034 q 97 1045 77 1045 q 134 1039 117 1045 q 164 1022 151 1034 q 185 994 177 1011 q 193 953 193 977 q 185 913 193 930 q 164 885 177 896 q 134 868 151 873 q 97 863 117 863 q 60 868 77 863 q 30 885 43 873 q 10 913 17 896 q 3 953 3 930 m 276 953 q 283 994 276 977 q 303 1022 290 1011 q 334 1039 316 1034 q 372 1045 351 1045 q 408 1039 391 1045 q 439 1022 425 1034 q 460 994 452 1011 q 468 953 468 977 q 460 913 468 930 q 439 885 452 896 q 408 868 425 873 q 372 863 391 863 q 303 885 331 863 q 276 953 276 907 "},"":{"x_min":0,"x_max":0,"ha":0},"ģ":{"x_min":14,"x_max":735.140625,"ha":766,"o":"m 735 757 l 735 644 l 624 610 q 643 562 638 587 q 649 509 649 537 q 630 403 649 451 q 576 322 612 356 q 486 269 540 288 q 360 251 432 251 q 326 252 345 251 q 299 256 308 254 q 279 232 286 244 q 271 201 271 219 q 280 179 271 187 q 303 165 289 170 q 336 158 317 160 q 375 157 355 157 l 493 157 q 591 144 547 157 q 664 106 634 131 q 710 40 694 80 q 727 -54 727 0 q 701 -170 727 -118 q 624 -258 675 -222 q 497 -314 573 -295 q 322 -334 421 -334 q 187 -319 244 -334 q 91 -277 129 -304 q 33 -211 52 -249 q 14 -123 14 -172 q 28 -51 14 -81 q 66 0 42 -20 q 120 36 90 22 q 182 57 150 49 q 154 74 168 63 q 129 99 140 85 q 111 131 118 113 q 104 167 104 148 q 110 206 104 189 q 128 239 116 224 q 159 268 141 254 q 200 296 177 282 q 105 379 140 322 q 71 513 71 436 q 89 622 71 574 q 145 704 108 670 q 236 755 182 737 q 360 773 290 773 q 391 771 374 773 q 424 767 408 769 q 455 762 441 764 q 477 757 469 759 l 735 757 m 193 -107 q 200 -141 193 -125 q 224 -169 207 -157 q 266 -189 240 -181 q 331 -196 293 -196 q 490 -166 437 -196 q 543 -85 543 -135 q 510 -27 543 -42 q 408 -13 477 -13 l 312 -13 q 273 -17 294 -13 q 234 -33 252 -22 q 205 -62 217 -44 q 193 -107 193 -80 m 265 510 q 289 415 265 448 q 360 381 312 381 q 432 415 410 381 q 454 510 454 448 q 432 607 454 571 q 360 643 410 643 q 265 510 265 643 m 497 1045 q 484 999 490 1025 q 473 945 478 973 q 462 891 467 918 q 455 842 457 864 l 264 842 l 264 856 q 312 955 284 902 q 376 1064 340 1008 l 497 1064 l 497 1045 "},"∂":{"x_min":40,"x_max":761,"ha":807,"o":"m 761 623 q 749 477 761 552 q 715 331 738 402 q 656 198 691 260 q 571 88 620 135 q 459 13 522 40 q 318 -14 396 -14 q 183 9 236 -14 q 97 73 129 33 q 52 164 65 112 q 40 270 40 215 q 48 359 40 311 q 74 456 56 408 q 122 549 93 504 q 194 628 151 594 q 292 683 236 662 q 420 704 348 704 q 549 676 492 704 q 508 798 541 756 q 412 839 474 839 q 367 834 391 839 q 317 818 343 828 q 264 794 291 808 q 212 761 237 779 l 212 944 q 323 990 266 974 q 439 1006 380 1006 q 594 974 532 1006 q 692 889 656 942 q 745 767 729 836 q 761 623 761 698 m 321 152 q 395 179 361 152 q 457 251 429 206 q 504 356 484 297 q 535 480 524 415 q 497 533 525 515 q 433 550 470 550 q 375 536 401 550 q 329 499 350 522 q 294 446 309 476 q 270 383 280 416 q 256 317 260 350 q 251 255 251 284 q 267 179 251 206 q 321 152 283 152 "},"κ":{"x_min":109,"x_max":819,"ha":819,"o":"m 307 383 l 393 515 l 580 758 l 801 758 l 527 421 l 819 0 l 585 0 l 396 283 l 315 227 l 315 0 l 109 0 l 109 758 l 315 758 l 315 559 q 314 501 315 532 q 310 444 312 470 q 305 383 307 412 l 307 383 "},"‡":{"x_min":84,"x_max":648,"ha":730,"o":"m 423 378 l 648 399 l 648 234 l 423 256 l 460 0 l 271 0 l 309 256 l 84 234 l 84 399 l 309 378 l 277 533 l 309 677 l 84 656 l 84 820 l 309 800 l 271 1055 l 460 1055 l 423 800 l 648 820 l 648 656 l 423 677 l 454 533 l 423 378 "},"ň":{"x_min":109,"x_max":767,"ha":871,"o":"m 767 0 l 560 0 l 560 442 q 535 565 560 524 q 456 606 510 606 q 388 590 415 606 q 345 542 361 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 346 711 322 690 q 397 746 369 732 q 456 766 425 760 q 520 773 487 773 q 621 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 m 717 1045 q 677 1000 700 1026 q 633 947 655 974 q 591 892 611 919 q 556 842 571 865 l 315 842 q 279 892 300 865 q 237 947 259 919 q 194 1000 215 974 q 155 1045 172 1026 l 155 1064 l 292 1064 q 362 1011 327 1041 q 434 945 397 982 q 507 1011 469 982 q 579 1064 544 1041 l 717 1064 l 717 1045 "},"√":{"x_min":25,"x_max":865,"ha":762,"o":"m 450 -10 l 326 -10 l 144 491 l 25 491 l 25 635 l 245 635 l 384 249 l 716 1192 l 865 1192 l 450 -10 "},"ę":{"x_min":69,"x_max":741,"ha":807,"o":"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 536 -140 q 551 -182 536 -168 q 590 -195 566 -195 q 633 -191 611 -195 q 668 -183 654 -187 l 668 -304 q 621 -315 646 -310 q 562 -320 596 -320 q 491 -308 523 -320 q 438 -276 460 -296 q 404 -227 416 -255 q 393 -163 393 -198 q 402 -110 393 -134 q 428 -64 411 -85 q 467 -24 445 -43 q 515 14 489 -5 l 636 14 q 562 -67 589 -30 q 536 -140 536 -104 "},"į":{"x_min":73,"x_max":348,"ha":424,"o":"m 100 953 q 109 1002 100 983 q 133 1033 117 1021 q 169 1050 148 1045 q 212 1055 189 1055 q 256 1050 235 1055 q 291 1033 276 1045 q 316 1002 307 1021 q 325 953 325 983 q 316 905 325 925 q 291 874 307 885 q 256 857 276 862 q 212 852 235 852 q 169 857 189 852 q 133 874 148 862 q 109 905 117 885 q 100 953 100 925 m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 216 -154 q 231 -196 216 -182 q 270 -209 246 -209 q 313 -205 291 -209 q 348 -197 334 -201 l 348 -318 q 301 -329 326 -324 q 242 -334 276 -334 q 171 -322 203 -334 q 118 -290 140 -310 q 84 -241 96 -269 q 73 -177 73 -212 q 82 -124 73 -148 q 108 -78 91 -99 q 147 -38 125 -57 q 195 0 169 -19 l 316 0 q 242 -81 269 -44 q 216 -154 216 -118 "},"Τ":{"x_min":28,"x_max":735,"ha":762,"o":"m 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 0 "},"≈":{"x_min":60,"x_max":705,"ha":765,"o":"m 358 551 q 313 569 333 562 q 278 581 294 577 q 248 587 262 586 q 218 589 234 589 q 177 583 198 589 q 136 565 156 576 q 96 539 116 554 q 60 507 77 524 l 60 664 q 137 719 94 700 q 233 738 180 738 q 271 736 253 738 q 307 729 288 734 q 350 716 326 725 q 406 694 374 708 q 451 676 432 683 q 487 665 471 669 q 518 659 503 660 q 547 657 532 657 q 587 663 566 657 q 629 681 608 670 q 668 707 649 692 q 705 739 688 722 l 705 582 q 531 509 636 509 q 493 510 511 509 q 457 516 476 512 q 414 529 438 521 q 358 551 390 538 m 358 280 q 313 298 333 291 q 278 310 294 306 q 248 316 262 315 q 218 318 234 318 q 177 312 198 318 q 136 294 156 305 q 96 268 116 283 q 60 236 77 253 l 60 393 q 137 448 94 429 q 233 467 180 467 q 271 465 253 467 q 307 458 288 463 q 350 445 326 454 q 406 423 374 437 q 451 405 432 412 q 487 394 471 398 q 518 388 503 389 q 547 386 532 386 q 587 392 566 386 q 629 410 608 399 q 668 436 649 421 q 705 468 688 451 l 705 311 q 531 238 636 238 q 493 239 511 238 q 457 245 476 241 q 414 258 438 250 q 358 280 390 267 "},"ΐ":{"x_min":-38,"x_max":511,"ha":538,"o":"m 315 758 l 315 236 q 337 171 315 192 q 395 150 359 150 q 453 157 425 150 q 509 174 480 164 l 509 20 q 436 -4 479 5 q 342 -14 393 -14 q 250 -2 292 -14 q 176 37 207 9 q 126 115 144 66 q 109 237 109 163 l 109 758 l 315 758 m -38 953 q -15 1023 -38 1001 q 42 1044 6 1044 q 101 1023 78 1044 q 124 953 124 1001 q 101 885 124 907 q 42 863 78 863 q -15 885 6 863 q -38 953 -38 907 m 348 953 q 370 1023 348 1001 q 429 1044 392 1044 q 488 1023 465 1044 q 511 953 511 1001 q 488 885 511 907 q 429 863 465 863 q 370 885 392 863 q 348 953 348 907 m 166 959 q 178 1006 172 980 q 190 1059 184 1032 q 200 1114 196 1087 q 208 1164 205 1141 l 386 1164 l 386 1150 q 331 1050 364 1104 q 259 942 298 996 l 166 942 l 166 959 "},"ĸ":{"x_min":109,"x_max":819,"ha":819,"o":"m 307 383 l 393 515 l 580 758 l 801 758 l 527 421 l 819 0 l 585 0 l 396 283 l 315 227 l 315 0 l 109 0 l 109 758 l 315 758 l 315 559 q 314 501 315 532 q 310 444 312 470 q 305 383 307 412 l 307 383 "},"g":{"x_min":14,"x_max":735.140625,"ha":766,"o":"m 735 757 l 735 644 l 624 610 q 643 562 638 587 q 649 509 649 537 q 630 403 649 451 q 576 322 612 356 q 486 269 540 288 q 360 251 432 251 q 326 252 345 251 q 299 256 308 254 q 279 232 286 244 q 271 201 271 219 q 280 179 271 187 q 303 165 289 170 q 336 158 317 160 q 375 157 355 157 l 493 157 q 591 144 547 157 q 664 106 634 131 q 710 40 694 80 q 727 -54 727 0 q 701 -170 727 -118 q 624 -258 675 -222 q 497 -314 573 -295 q 322 -334 421 -334 q 187 -319 244 -334 q 91 -277 129 -304 q 33 -211 52 -249 q 14 -123 14 -172 q 28 -51 14 -81 q 66 0 42 -20 q 120 36 90 22 q 182 57 150 49 q 154 74 168 63 q 129 99 140 85 q 111 131 118 113 q 104 167 104 148 q 110 206 104 189 q 128 239 116 224 q 159 268 141 254 q 200 296 177 282 q 105 379 140 322 q 71 513 71 436 q 89 622 71 574 q 145 704 108 670 q 236 755 182 737 q 360 773 290 773 q 391 771 374 773 q 424 767 408 769 q 455 762 441 764 q 477 757 469 759 l 735 757 m 193 -107 q 200 -141 193 -125 q 224 -169 207 -157 q 266 -189 240 -181 q 331 -196 293 -196 q 490 -166 437 -196 q 543 -85 543 -135 q 510 -27 543 -42 q 408 -13 477 -13 l 312 -13 q 273 -17 294 -13 q 234 -33 252 -22 q 205 -62 217 -44 q 193 -107 193 -80 m 265 510 q 289 415 265 448 q 360 381 312 381 q 432 415 410 381 q 454 510 454 448 q 432 607 454 571 q 360 643 410 643 q 265 510 265 643 "},"ǿ":{"x_min":69,"x_max":762,"ha":832,"o":"m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 339 -7 374 -14 q 271 11 304 0 l 233 -51 l 123 9 l 169 84 q 95 209 122 134 q 69 380 69 283 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 498 764 459 773 q 572 739 537 755 l 605 793 l 713 728 l 671 661 q 738 541 714 612 q 762 380 762 470 m 280 380 q 288 278 280 322 l 480 589 q 414 606 453 606 q 312 550 343 606 q 280 380 280 494 m 550 380 q 546 457 550 424 l 365 162 q 389 154 376 156 q 415 152 401 152 q 518 210 486 152 q 550 380 550 267 m 294 842 l 294 860 q 324 905 308 879 q 356 958 340 931 q 386 1013 372 986 q 412 1064 401 1040 l 644 1064 l 644 1049 q 622 1021 636 1037 q 589 985 608 1004 q 550 946 571 966 q 508 907 529 926 q 466 871 486 888 q 431 842 447 854 l 294 842 "},"²":{"x_min":31.578125,"x_max":476.28125,"ha":526,"o":"m 476 397 l 37 397 l 37 508 l 189 657 q 242 710 221 687 q 275 751 263 732 q 293 785 288 769 q 298 819 298 801 q 282 859 298 845 q 238 873 265 873 q 181 859 211 873 q 115 815 151 846 l 31 918 q 130 981 75 957 q 259 1006 185 1006 q 341 994 304 1006 q 404 961 378 983 q 445 908 430 940 q 460 835 460 876 q 451 776 460 803 q 424 720 443 748 q 377 662 406 692 q 308 594 349 631 l 237 529 l 476 529 l 476 397 "},"Ã":{"x_min":-0.25,"x_max":903.25,"ha":903,"o":"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 342 1135 q 308 1119 321 1135 q 288 1069 296 1103 l 187 1069 q 204 1163 191 1123 q 240 1228 218 1202 q 292 1266 262 1253 q 357 1279 321 1279 q 411 1269 385 1279 q 464 1246 438 1259 q 515 1224 490 1234 q 565 1214 541 1214 q 598 1230 586 1214 q 619 1280 611 1246 l 721 1280 q 703 1187 716 1226 q 666 1122 689 1148 q 614 1083 644 1096 q 550 1071 585 1071 q 496 1081 523 1071 q 443 1103 468 1091 q 392 1125 417 1115 q 342 1135 366 1135 "},"Ј":{"x_min":-135,"x_max":335,"ha":460,"o":"m -1 -292 q -78 -287 -45 -292 q -135 -277 -111 -283 l -135 -103 q -82 -112 -109 -108 q -22 -117 -54 -117 q 35 -110 8 -117 q 82 -86 62 -103 q 113 -42 102 -70 q 124 27 124 -14 l 124 992 l 335 992 l 335 35 q 310 -111 335 -49 q 241 -213 285 -173 q 134 -273 196 -254 q -1 -292 73 -292 "},"©":{"x_min":68,"x_max":1088,"ha":1156,"o":"m 606 699 q 504 645 540 699 q 468 495 468 591 q 501 344 468 397 q 606 291 534 291 q 690 302 645 291 q 774 331 735 312 l 774 212 q 695 187 735 196 q 603 178 655 178 q 476 201 530 178 q 385 266 422 224 q 331 366 349 308 q 313 497 313 425 q 330 625 313 567 q 383 725 348 683 q 473 789 419 766 q 597 813 526 813 q 706 799 654 813 q 804 765 758 786 l 754 659 q 606 699 677 699 m 68 495 q 86 631 68 566 q 137 753 104 696 q 217 856 170 809 q 320 936 264 903 q 442 987 377 969 q 578 1006 507 1006 q 713 987 648 1006 q 835 936 778 969 q 938 856 892 903 q 1018 753 985 809 q 1069 631 1051 696 q 1088 495 1088 566 q 1069 359 1088 425 q 1018 238 1051 294 q 938 134 985 181 q 835 55 892 88 q 713 3 778 21 q 578 -14 648 -14 q 442 3 507 -14 q 320 55 377 21 q 217 134 264 88 q 137 238 170 181 q 86 359 104 294 q 68 495 68 425 m 164 496 q 196 334 164 409 q 285 203 229 259 q 416 114 341 147 q 578 82 491 82 q 739 114 664 82 q 870 203 814 147 q 959 334 926 259 q 991 496 991 409 q 959 657 991 582 q 870 788 926 732 q 739 877 814 844 q 578 909 664 909 q 416 877 491 909 q 285 788 341 844 q 196 657 229 732 q 164 496 164 582 "},"≥":{"x_min":60,"x_max":705,"ha":765,"o":"m 60 0 l 60 148 l 705 148 l 705 0 l 60 0 m 60 341 l 496 531 l 60 746 l 60 909 l 705 573 l 705 475 l 60 179 l 60 341 "},"Ă":{"x_min":-0.25,"x_max":903.25,"ha":903,"o":"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 698 1300 q 676 1207 694 1249 q 628 1135 659 1165 q 552 1087 596 1104 q 449 1071 507 1071 q 345 1087 389 1071 q 270 1133 300 1103 q 224 1205 240 1163 q 206 1300 208 1247 l 321 1300 q 333 1253 324 1270 q 359 1227 343 1236 q 398 1216 375 1218 q 450 1214 421 1214 q 497 1217 475 1214 q 536 1229 519 1220 q 565 1255 554 1238 q 579 1300 577 1272 l 698 1300 "},"ґ":{"x_min":109,"x_max":619,"ha":669,"o":"m 315 0 l 109 0 l 109 758 l 440 758 l 440 965 l 619 965 l 619 604 l 315 604 l 315 0 "},"ÿ":{"x_min":-0.25,"x_max":749.25,"ha":749,"o":"m 0 758 l 226 758 l 348 331 q 364 256 359 296 q 371 184 369 216 l 375 184 q 378 219 376 200 q 384 257 381 238 q 392 296 388 277 q 401 331 396 316 l 521 758 l 749 758 l 449 -96 q 334 -275 407 -217 q 152 -334 261 -334 q 91 -330 116 -334 q 47 -322 65 -326 l 47 -158 q 83 -164 61 -161 q 128 -167 104 -167 q 184 -158 161 -167 q 224 -133 207 -149 q 252 -95 240 -117 q 273 -44 264 -72 l 286 -6 l 0 758 m 143 953 q 150 994 143 977 q 170 1022 157 1011 q 200 1039 183 1034 q 237 1045 217 1045 q 274 1039 257 1045 q 304 1022 291 1034 q 325 994 317 1011 q 333 953 333 977 q 325 913 333 930 q 304 885 317 896 q 274 868 291 873 q 237 863 257 863 q 200 868 217 863 q 170 885 183 873 q 150 913 157 896 q 143 953 143 930 m 416 953 q 423 994 416 977 q 443 1022 430 1011 q 474 1039 456 1034 q 512 1045 491 1045 q 548 1039 531 1045 q 579 1022 565 1034 q 600 994 592 1011 q 608 953 608 977 q 600 913 608 930 q 579 885 592 896 q 548 868 565 873 q 512 863 531 863 q 443 885 471 863 q 416 953 416 907 "},"Ł":{"x_min":1.5625,"x_max":696,"ha":743,"o":"m 125 0 l 125 333 l 78 306 l 1 439 l 125 514 l 125 992 l 335 992 l 335 641 l 432 701 l 511 568 l 335 461 l 335 173 l 696 173 l 696 0 l 125 0 "}," ":{"x_min":0,"x_max":0,"ha":372},"∫":{"x_min":0.234375,"x_max":572.65625,"ha":572,"o":"m 465 881 q 410 856 430 881 q 390 788 390 832 l 390 -76 q 371 -193 390 -144 q 319 -272 353 -241 q 238 -319 285 -304 q 132 -334 190 -334 q 61 -326 94 -334 q 0 -306 28 -319 l 0 -133 q 51 -152 23 -144 q 107 -160 79 -160 q 164 -135 147 -160 q 182 -64 182 -110 l 182 798 q 200 914 182 866 q 253 994 219 963 q 334 1040 287 1025 q 440 1055 382 1055 q 572 1027 514 1055 l 572 855 q 520 873 548 865 q 465 881 492 881 "},"\\":{"x_min":7.75,"x_max":566.25,"ha":574,"o":"m 195 992 l 566 0 l 378 0 l 7 992 l 195 992 "},"Ì":{"x_min":29,"x_max":495.96875,"ha":541,"o":"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 241 1071 q 186 1118 218 1089 q 122 1175 153 1146 q 65 1233 91 1205 q 29 1278 39 1260 l 29 1293 l 260 1293 q 286 1242 271 1269 q 316 1187 300 1215 q 348 1134 332 1160 q 379 1089 364 1108 l 379 1071 l 241 1071 "},"ъ":{"x_min":32,"x_max":927,"ha":983,"o":"m 479 758 l 479 467 l 612 467 q 850 411 773 467 q 927 242 927 356 q 909 142 927 187 q 853 65 891 97 q 756 17 815 34 q 611 0 696 0 l 273 0 l 273 604 l 32 604 l 32 758 l 479 758 m 720 239 q 690 300 720 281 q 600 319 660 319 l 479 319 l 479 147 l 603 147 q 650 152 629 147 q 687 168 671 156 q 711 196 702 179 q 720 239 720 214 "},"ς":{"x_min":69,"x_max":650,"ha":657,"o":"m 69 335 q 94 544 69 460 q 166 679 119 628 q 278 751 212 730 q 424 773 344 773 q 540 758 482 773 q 649 718 598 744 l 589 562 q 502 594 544 581 q 424 606 461 606 q 314 540 348 606 q 280 340 280 473 q 292 264 280 293 q 327 216 305 234 q 381 188 349 198 q 453 168 413 177 q 546 137 508 155 q 607 95 584 118 q 640 44 630 72 q 650 -15 650 16 q 642 -78 650 -46 q 622 -142 634 -111 q 595 -202 610 -173 q 563 -257 579 -231 l 355 -257 q 392 -199 374 -228 q 425 -141 411 -169 q 447 -88 439 -113 q 455 -46 455 -64 q 451 -27 455 -36 q 435 -10 447 -18 q 401 5 423 -2 q 343 21 379 12 q 228 60 279 34 q 142 125 177 86 q 87 216 106 164 q 69 335 69 268 "},"Ē":{"x_min":125,"x_max":696,"ha":778,"o":"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 202 1214 l 620 1214 l 620 1071 l 202 1071 l 202 1214 "},"!":{"x_min":79,"x_max":316,"ha":397,"o":"m 281 330 l 116 330 l 81 992 l 316 992 l 281 330 m 79 97 q 88 151 79 129 q 113 187 97 173 q 151 206 129 200 q 198 213 173 213 q 243 206 221 213 q 280 187 264 200 q 306 151 297 173 q 316 97 316 129 q 306 45 316 66 q 280 9 297 23 q 243 -11 264 -5 q 198 -18 221 -18 q 151 -11 173 -18 q 113 9 129 -5 q 88 45 97 23 q 79 97 79 66 "},"ç":{"x_min":69,"x_max":648.703125,"ha":693,"o":"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 m 528 -169 q 517 -239 528 -208 q 482 -290 506 -269 q 417 -322 458 -311 q 318 -334 377 -334 q 263 -329 287 -334 q 219 -319 238 -325 l 219 -205 q 241 -210 229 -208 q 267 -215 254 -213 q 293 -218 280 -217 q 316 -220 306 -220 q 350 -210 335 -220 q 365 -178 365 -201 q 340 -133 365 -153 q 252 -105 314 -114 l 305 0 l 436 0 l 417 -41 q 458 -59 438 -48 q 493 -87 478 -71 q 518 -124 508 -103 q 528 -169 528 -144 "},"Й":{"x_min":125,"x_max":963,"ha":1088,"o":"m 125 992 l 312 992 l 312 522 q 311 484 312 505 q 310 440 311 463 q 309 395 310 417 q 307 350 308 372 q 302 248 304 300 l 306 248 l 712 992 l 963 992 l 963 0 l 775 0 l 775 466 q 777 554 775 505 q 781 646 779 602 q 788 750 784 698 l 782 750 l 375 0 l 125 0 l 125 992 m 864 1314 q 839 1214 858 1259 q 780 1138 819 1170 q 680 1088 742 1106 q 529 1071 619 1071 q 377 1087 437 1071 q 279 1136 316 1104 q 226 1212 243 1168 q 206 1314 210 1257 l 392 1314 q 405 1249 395 1274 q 431 1210 414 1224 q 473 1190 447 1196 q 535 1184 499 1184 q 589 1191 564 1184 q 632 1212 614 1197 q 661 1252 650 1227 q 677 1314 673 1277 l 864 1314 "},"Б":{"x_min":125,"x_max":769,"ha":831,"o":"m 335 613 l 408 613 q 569 590 501 613 q 681 527 637 568 q 747 432 726 487 q 769 310 769 376 q 746 179 769 237 q 678 81 724 121 q 560 21 631 42 q 390 0 489 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 613 m 335 174 l 393 174 q 462 182 431 174 q 514 205 492 189 q 547 247 536 221 q 558 310 558 273 q 546 374 558 349 q 510 413 534 399 q 453 432 487 427 q 378 438 420 438 l 335 438 l 335 174 "},"đ":{"x_min":69,"x_max":841,"ha":844,"o":"m 331 -14 q 224 9 272 -14 q 142 80 176 33 q 88 196 107 127 q 69 356 69 265 q 88 518 69 448 q 143 635 107 588 q 228 706 178 682 q 337 730 277 730 q 404 721 373 730 q 459 698 434 713 q 502 662 483 683 q 536 618 522 642 l 543 618 q 536 673 539 645 q 530 724 532 696 q 528 776 528 751 l 528 811 l 315 811 l 315 946 l 528 946 l 528 1055 l 735 1055 l 735 946 l 841 946 l 841 811 l 735 811 l 735 0 l 576 0 l 536 97 l 528 97 q 495 54 513 74 q 453 18 477 33 q 399 -5 429 3 q 331 -14 369 -14 m 407 150 q 469 162 444 150 q 510 196 495 173 q 534 254 526 219 q 542 335 541 289 l 542 354 q 535 443 542 405 q 513 508 528 482 q 471 548 497 534 q 406 561 445 561 q 310 508 341 561 q 280 353 280 455 q 310 201 280 252 q 407 150 341 150 "},"ċ":{"x_min":69,"x_max":648.703125,"ha":693,"o":"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 m 302 954 q 310 1003 302 984 q 334 1034 319 1022 q 370 1051 350 1046 q 414 1056 391 1056 q 457 1051 437 1056 q 493 1034 478 1046 q 517 1003 508 1022 q 527 954 527 984 q 517 906 527 926 q 493 875 508 886 q 457 858 478 863 q 414 853 437 853 q 370 858 391 853 q 334 875 350 863 q 310 906 319 886 q 302 954 302 926 "},"Ā":{"x_min":-0.25,"x_max":903.25,"ha":903,"o":"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 243 1214 l 661 1214 l 661 1071 l 243 1071 l 243 1214 "},"Ẃ":{"x_min":-0.25,"x_max":1287.25,"ha":1287,"o":"m 1048 0 l 809 0 l 687 489 q 681 517 684 499 q 672 559 677 536 q 663 607 667 582 q 654 656 658 632 q 647 700 650 679 q 642 732 644 720 q 638 700 641 720 q 631 656 635 679 q 622 608 627 633 q 613 559 618 582 q 605 517 609 536 q 598 487 601 498 l 477 0 l 238 0 l 0 992 l 206 992 l 319 450 q 325 418 321 439 q 333 372 328 398 q 343 318 338 346 q 353 262 348 289 q 361 211 357 235 q 368 173 366 188 q 373 211 370 188 q 381 260 377 234 q 390 314 385 286 q 399 366 395 342 q 407 409 404 390 q 413 436 411 428 l 551 992 l 735 992 l 873 436 q 879 409 875 428 q 887 366 882 390 q 896 314 891 342 q 905 260 901 286 q 913 211 910 234 q 919 173 917 188 q 925 211 921 188 q 933 262 929 235 q 943 318 938 289 q 953 372 948 346 q 962 418 958 398 q 967 450 965 439 l 1080 992 l 1287 992 l 1048 0 m 553 1071 l 553 1089 q 583 1134 567 1108 q 615 1187 599 1160 q 645 1242 631 1215 q 671 1293 660 1269 l 903 1293 l 903 1278 q 881 1250 895 1266 q 848 1214 867 1233 q 809 1175 830 1195 q 767 1136 788 1155 q 725 1100 745 1117 q 690 1071 706 1083 l 553 1071 "},"ø":{"x_min":69,"x_max":762,"ha":832,"o":"m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 339 -7 374 -14 q 271 11 304 0 l 233 -51 l 123 9 l 169 84 q 95 209 122 134 q 69 380 69 283 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 498 764 459 773 q 572 739 537 755 l 605 793 l 713 728 l 671 661 q 738 541 714 612 q 762 380 762 470 m 280 380 q 288 278 280 322 l 480 589 q 414 606 453 606 q 312 550 343 606 q 280 380 280 494 m 550 380 q 546 457 550 424 l 365 162 q 389 154 376 156 q 415 152 401 152 q 518 210 486 152 q 550 380 550 267 "},"â":{"x_min":58,"x_max":694,"ha":798,"o":"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 544 841 q 472 893 509 863 q 399 959 434 922 q 327 893 362 922 q 257 841 292 863 l 120 841 l 120 859 q 159 904 137 878 q 202 957 180 930 q 244 1012 224 985 q 280 1063 265 1039 l 521 1063 q 556 1012 536 1039 q 598 957 576 985 q 642 904 620 930 q 682 859 665 878 l 682 841 l 544 841 "},"}":{"x_min":21,"x_max":492,"ha":505,"o":"m 318 -30 q 305 -116 318 -80 q 258 -175 292 -152 q 167 -209 225 -198 q 21 -220 109 -220 l 21 -66 q 69 -61 48 -66 q 106 -47 91 -57 q 130 -18 122 -36 q 138 29 138 0 l 138 232 q 178 333 136 295 q 296 382 219 370 l 296 390 q 138 540 143 414 l 138 743 q 130 790 138 772 q 106 819 122 808 q 69 833 91 829 q 21 838 48 838 l 21 992 q 167 981 109 992 q 258 947 225 970 q 305 889 292 924 q 318 803 318 853 l 318 587 q 328 532 317 555 q 361 494 339 509 q 416 473 383 479 q 492 467 449 467 l 492 304 q 362 277 407 304 q 318 183 318 249 l 318 -30 "},"Δ":{"x_min":39,"x_max":820,"ha":859,"o":"m 39 120 l 311 996 l 549 996 l 820 119 l 820 0 l 39 0 l 39 120 m 457 701 q 451 726 455 709 q 442 764 446 744 q 434 800 437 783 q 429 823 430 817 q 425 800 429 817 q 417 764 422 783 q 409 726 413 744 q 403 700 405 708 l 253 174 l 606 174 l 457 701 "},"‰":{"x_min":43,"x_max":1695,"ha":1738,"o":"m 967 992 l 416 0 l 254 0 l 805 992 l 967 992 m 880 299 q 896 170 880 213 q 945 128 911 128 q 994 170 978 128 q 1010 299 1010 212 q 945 469 1010 469 q 896 427 911 469 q 880 299 880 386 m 1181 300 q 1167 168 1181 226 q 1123 70 1153 110 q 1050 9 1094 30 q 943 -12 1005 -12 q 842 9 885 -12 q 769 70 798 30 q 724 168 739 110 q 710 300 710 226 q 723 430 710 373 q 765 528 737 488 q 838 588 794 567 q 943 610 882 610 q 1046 588 1001 610 q 1120 528 1090 567 q 1165 430 1150 488 q 1181 300 1181 373 m 1394 299 q 1410 170 1394 213 q 1458 128 1425 128 q 1508 170 1492 128 q 1524 299 1524 212 q 1458 469 1524 469 q 1410 427 1425 469 q 1394 299 1394 386 m 1695 300 q 1681 168 1695 226 q 1638 70 1667 110 q 1564 9 1608 30 q 1457 -12 1519 -12 q 1356 9 1400 -12 q 1283 70 1312 30 q 1238 168 1253 110 q 1224 300 1224 226 q 1237 430 1224 373 q 1279 528 1251 488 q 1352 588 1308 567 q 1457 610 1396 610 q 1560 588 1515 610 q 1634 528 1604 567 q 1679 430 1664 488 q 1695 300 1695 373 m 213 695 q 229 566 213 608 q 278 523 244 523 q 327 565 311 523 q 343 695 343 607 q 278 865 343 865 q 229 823 244 865 q 213 695 213 781 m 514 695 q 500 564 514 622 q 457 465 486 505 q 383 404 427 425 q 276 383 338 383 q 175 404 219 383 q 102 465 131 425 q 57 564 72 505 q 43 695 43 622 q 56 826 43 769 q 98 924 70 884 q 171 984 127 963 q 276 1006 215 1006 q 379 984 335 1006 q 453 924 423 963 q 498 826 483 884 q 514 695 514 769 "},"Ä":{"x_min":-0.25,"x_max":903.25,"ha":903,"o":"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 m 220 1182 q 227 1223 220 1206 q 247 1251 234 1240 q 277 1268 260 1263 q 314 1274 294 1274 q 351 1268 334 1274 q 381 1251 368 1263 q 402 1223 394 1240 q 410 1182 410 1206 q 402 1142 410 1159 q 381 1114 394 1125 q 351 1097 368 1102 q 314 1092 334 1092 q 277 1097 294 1092 q 247 1114 260 1102 q 227 1142 234 1125 q 220 1182 220 1159 m 493 1182 q 500 1223 493 1206 q 520 1251 507 1240 q 551 1268 533 1263 q 589 1274 568 1274 q 625 1268 608 1274 q 656 1251 642 1263 q 677 1223 669 1240 q 685 1182 685 1206 q 677 1142 685 1159 q 656 1114 669 1125 q 625 1097 642 1102 q 589 1092 608 1092 q 520 1114 548 1092 q 493 1182 493 1136 "},"ř":{"x_min":57,"x_max":619,"ha":603,"o":"m 504 773 q 522 772 512 773 q 541 771 532 772 q 558 769 550 770 q 570 766 565 768 l 570 572 q 555 575 564 574 q 535 578 545 576 q 514 579 524 579 q 497 579 504 579 q 423 569 457 579 q 366 536 390 559 q 329 476 342 513 q 315 386 315 439 l 315 0 l 109 0 l 109 758 l 265 758 l 296 644 l 306 644 q 341 697 322 673 q 383 738 360 721 q 436 763 407 754 q 504 773 466 773 m 619 1045 q 579 1000 602 1026 q 535 947 557 974 q 493 892 513 919 q 458 842 473 865 l 217 842 q 181 892 202 865 q 139 947 161 919 q 96 1000 117 974 q 57 1045 74 1026 l 57 1064 l 194 1064 q 264 1011 229 1041 q 336 945 299 982 q 409 1011 371 982 q 481 1064 446 1041 l 619 1064 l 619 1045 "},"—":{"x_min":56,"x_max":1333,"ha":1389,"o":"m 56 296 l 56 452 l 1333 452 l 1333 296 l 56 296 "},"N":{"x_min":125,"x_max":963,"ha":1088,"o":"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 "},"⁄":{"x_min":-267.25,"x_max":445.25,"ha":180,"o":"m 445 992 l -105 0 l -267 0 l 283 992 l 445 992 "},"2":{"x_min":53.296875,"x_max":720.8125,"ha":765,"o":"m 720 0 l 56 0 l 56 145 l 287 397 q 367 485 331 444 q 428 563 403 525 q 468 640 454 601 q 482 725 482 679 q 452 803 482 775 q 372 831 422 831 q 269 804 318 831 q 166 729 220 778 l 53 864 q 117 917 83 892 q 190 962 150 942 q 278 994 230 982 q 386 1006 326 1006 q 513 986 457 1006 q 610 930 570 966 q 671 842 650 894 q 693 726 693 790 q 672 614 693 668 q 617 510 652 561 q 535 408 581 459 q 436 305 489 358 l 317 185 l 317 176 l 720 176 l 720 0 "},"М":{"x_min":125,"x_max":1143,"ha":1268,"o":"m 523 0 l 305 778 l 299 778 q 306 657 303 715 q 308 605 307 632 q 310 553 309 579 q 311 503 311 527 q 312 461 312 480 l 312 0 l 125 0 l 125 992 l 410 992 l 625 233 l 629 233 l 856 992 l 1143 992 l 1143 0 l 947 0 l 947 469 q 947 509 947 487 q 948 556 947 531 q 950 607 949 581 q 951 657 951 633 q 956 776 954 714 l 951 776 l 716 0 l 523 0 "},"Ó":{"x_min":81,"x_max":970,"ha":1050,"o":"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 400 1071 l 400 1089 q 430 1134 414 1108 q 462 1187 446 1160 q 492 1242 478 1215 q 518 1293 507 1269 l 750 1293 l 750 1278 q 728 1250 742 1266 q 695 1214 714 1233 q 656 1175 677 1195 q 614 1136 635 1155 q 572 1100 592 1117 q 537 1071 553 1083 l 400 1071 "},"˜":{"x_min":134,"x_max":668,"ha":802,"o":"m 289 906 q 255 890 268 906 q 235 840 243 874 l 134 840 q 151 934 138 894 q 187 999 165 973 q 239 1037 209 1024 q 304 1050 268 1050 q 358 1040 332 1050 q 411 1017 385 1030 q 462 995 437 1005 q 512 985 488 985 q 545 1001 533 985 q 566 1051 558 1017 l 668 1051 q 650 958 663 997 q 613 893 636 919 q 561 854 591 867 q 497 842 532 842 q 443 852 470 842 q 390 874 415 862 q 339 896 364 886 q 289 906 313 906 "}," ":{"x_min":0,"x_max":0,"ha":695},"ˇ":{"x_min":119,"x_max":681,"ha":802,"o":"m 681 1045 q 641 1000 664 1026 q 597 947 619 974 q 555 892 575 919 q 520 842 535 865 l 279 842 q 243 892 264 865 q 201 947 223 919 q 158 1000 179 974 q 119 1045 136 1026 l 119 1064 l 256 1064 q 326 1011 291 1041 q 398 945 361 982 q 471 1011 433 982 q 543 1064 508 1041 l 681 1064 l 681 1045 "},"ų":{"x_min":104,"x_max":762,"ha":871,"o":"m 603 0 l 576 96 l 565 96 q 524 46 548 67 q 473 12 501 26 q 414 -7 445 -1 q 350 -14 383 -14 q 249 1 295 -14 q 171 51 204 17 q 121 137 139 85 q 104 263 104 190 l 104 758 l 310 758 l 310 314 q 335 191 310 232 q 414 150 360 150 q 482 167 455 150 q 525 215 509 183 q 548 293 541 247 q 555 401 555 340 l 555 758 l 762 758 l 762 0 l 603 0 m 625 -154 q 640 -196 625 -182 q 679 -209 655 -209 q 722 -205 700 -209 q 757 -197 743 -201 l 757 -318 q 710 -329 735 -324 q 651 -334 685 -334 q 580 -322 612 -334 q 527 -290 549 -310 q 493 -241 505 -269 q 482 -177 482 -212 q 491 -124 482 -148 q 517 -78 500 -99 q 556 -38 534 -57 q 604 0 578 -19 l 725 0 q 651 -81 678 -44 q 625 -154 625 -118 "},"Ў":{"x_min":-0.25,"x_max":851.25,"ha":851,"o":"m 851 992 l 563 290 q 503 162 534 218 q 431 66 473 105 q 332 6 389 27 q 194 -14 275 -14 q 120 -8 159 -14 q 46 6 80 -3 l 46 185 q 118 166 79 171 q 194 160 158 160 q 253 169 229 160 q 294 195 277 178 q 322 232 311 211 q 343 279 334 254 l 0 992 l 222 992 l 409 563 q 420 538 414 553 q 431 509 426 524 q 441 482 437 495 q 446 465 446 470 l 454 465 q 458 483 455 471 q 465 510 461 496 q 473 538 469 524 q 482 562 478 552 l 634 992 l 851 992 m 753 1314 q 728 1214 747 1259 q 669 1138 708 1170 q 569 1088 631 1106 q 418 1071 508 1071 q 266 1087 326 1071 q 168 1136 205 1104 q 115 1212 132 1168 q 95 1314 99 1257 l 281 1314 q 294 1249 284 1274 q 320 1210 303 1224 q 362 1190 336 1196 q 424 1184 388 1184 q 478 1191 453 1184 q 521 1212 503 1197 q 550 1252 539 1227 q 566 1314 562 1277 l 753 1314 "},"Ŭ":{"x_min":118,"x_max":876,"ha":994,"o":"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 741 1300 q 719 1207 737 1249 q 671 1135 702 1165 q 595 1087 639 1104 q 492 1071 550 1071 q 388 1087 432 1071 q 313 1133 343 1103 q 267 1205 283 1163 q 249 1300 251 1247 l 364 1300 q 376 1253 367 1270 q 402 1227 386 1236 q 441 1216 418 1218 q 493 1214 464 1214 q 540 1217 518 1214 q 579 1229 562 1220 q 608 1255 597 1238 q 622 1300 620 1272 l 741 1300 "},"ĝ":{"x_min":14,"x_max":735.140625,"ha":766,"o":"m 735 757 l 735 644 l 624 610 q 643 562 638 587 q 649 509 649 537 q 630 403 649 451 q 576 322 612 356 q 486 269 540 288 q 360 251 432 251 q 326 252 345 251 q 299 256 308 254 q 279 232 286 244 q 271 201 271 219 q 280 179 271 187 q 303 165 289 170 q 336 158 317 160 q 375 157 355 157 l 493 157 q 591 144 547 157 q 664 106 634 131 q 710 40 694 80 q 727 -54 727 0 q 701 -170 727 -118 q 624 -258 675 -222 q 497 -314 573 -295 q 322 -334 421 -334 q 187 -319 244 -334 q 91 -277 129 -304 q 33 -211 52 -249 q 14 -123 14 -172 q 28 -51 14 -81 q 66 0 42 -20 q 120 36 90 22 q 182 57 150 49 q 154 74 168 63 q 129 99 140 85 q 111 131 118 113 q 104 167 104 148 q 110 206 104 189 q 128 239 116 224 q 159 268 141 254 q 200 296 177 282 q 105 379 140 322 q 71 513 71 436 q 89 622 71 574 q 145 704 108 670 q 236 755 182 737 q 360 773 290 773 q 391 771 374 773 q 424 767 408 769 q 455 762 441 764 q 477 757 469 759 l 735 757 m 193 -107 q 200 -141 193 -125 q 224 -169 207 -157 q 266 -189 240 -181 q 331 -196 293 -196 q 490 -166 437 -196 q 543 -85 543 -135 q 510 -27 543 -42 q 408 -13 477 -13 l 312 -13 q 273 -17 294 -13 q 234 -33 252 -22 q 205 -62 217 -44 q 193 -107 193 -80 m 265 510 q 289 415 265 448 q 360 381 312 381 q 432 415 410 381 q 454 510 454 448 q 432 607 454 571 q 360 643 410 643 q 265 510 265 643 m 504 842 q 432 894 469 864 q 359 960 394 923 q 287 894 322 923 q 217 842 252 864 l 80 842 l 80 860 q 119 905 97 879 q 162 958 140 931 q 204 1013 184 986 q 240 1064 225 1040 l 481 1064 q 516 1013 496 1040 q 558 958 536 986 q 602 905 580 931 q 642 860 625 879 l 642 842 l 504 842 "},"Ω":{"x_min":37,"x_max":999,"ha":1031,"o":"m 518 832 q 344 759 399 832 q 290 547 290 686 q 299 434 290 487 q 329 336 308 381 q 384 253 350 290 q 470 189 419 217 l 470 0 l 37 0 l 37 176 l 289 176 q 200 248 240 206 q 132 343 160 290 q 89 459 104 396 q 74 591 74 521 q 102 762 74 685 q 187 893 130 838 q 326 977 243 948 q 518 1007 409 1007 q 709 977 627 1007 q 848 893 792 948 q 933 761 905 838 q 962 589 962 684 q 946 458 962 520 q 902 343 931 396 q 834 248 874 290 q 744 176 794 206 l 999 176 l 999 0 l 561 0 l 561 189 q 649 253 614 216 q 705 336 684 290 q 736 435 727 382 q 745 548 745 488 q 691 759 745 686 q 518 832 636 832 "},"s":{"x_min":66,"x_max":614,"ha":668,"o":"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 "},"?":{"x_min":17,"x_max":601,"ha":638,"o":"m 180 330 l 180 380 q 187 442 180 414 q 208 496 194 470 q 246 545 223 521 q 302 595 269 569 q 351 635 331 617 q 383 670 370 653 q 400 706 395 687 q 406 750 406 725 q 380 814 406 789 q 299 839 353 839 q 198 819 252 839 q 86 771 144 800 l 17 921 q 80 953 46 938 q 151 980 114 968 q 226 999 188 992 q 301 1006 264 1006 q 426 989 370 1006 q 520 940 482 972 q 580 863 559 909 q 601 760 601 818 q 591 683 601 717 q 563 621 582 650 q 516 566 544 592 q 451 509 488 539 q 404 470 422 487 q 376 439 386 453 q 362 408 366 424 q 359 370 359 392 l 359 330 l 180 330 m 158 97 q 167 151 158 129 q 192 187 176 173 q 230 206 208 200 q 278 213 252 213 q 323 206 301 213 q 360 187 344 200 q 386 151 377 173 q 396 97 396 129 q 386 45 396 66 q 360 9 377 23 q 323 -11 344 -5 q 278 -18 301 -18 q 230 -11 252 -18 q 192 9 208 -5 q 167 45 176 23 q 158 97 158 66 "},"Ņ":{"x_min":125,"x_max":963,"ha":1088,"o":"m 963 0 l 697 0 l 305 750 l 299 750 q 306 646 303 698 q 310 554 308 602 q 312 466 312 505 l 312 0 l 125 0 l 125 992 l 389 992 l 781 248 l 785 248 q 780 350 783 300 q 778 395 779 372 q 777 440 777 417 q 776 484 776 463 q 775 522 775 505 l 775 992 l 963 992 l 963 0 m 385 -288 q 397 -242 391 -268 q 408 -188 403 -216 q 419 -134 414 -161 q 426 -85 424 -107 l 618 -85 l 618 -98 q 569 -198 597 -145 q 505 -307 541 -251 l 385 -307 l 385 -288 "},"Ī":{"x_min":44.28125,"x_max":495.96875,"ha":541,"o":"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 62 1214 l 480 1214 l 480 1071 l 62 1071 l 62 1214 "},"Μ":{"x_min":125,"x_max":1143,"ha":1268,"o":"m 523 0 l 305 778 l 299 778 q 306 657 303 715 q 308 605 307 632 q 310 553 309 579 q 311 503 311 527 q 312 461 312 480 l 312 0 l 125 0 l 125 992 l 410 992 l 625 233 l 629 233 l 856 992 l 1143 992 l 1143 0 l 947 0 l 947 469 q 947 509 947 487 q 948 556 947 531 q 950 607 949 581 q 951 657 951 633 q 956 776 954 714 l 951 776 l 716 0 l 523 0 "},"•":{"x_min":66,"x_max":455,"ha":522,"o":"m 66 507 q 80 606 66 566 q 121 673 95 647 q 183 711 148 699 q 260 723 219 723 q 336 711 300 723 q 398 673 371 699 q 439 606 424 647 q 455 507 455 566 q 439 409 455 450 q 398 342 424 368 q 336 304 371 316 q 260 292 300 292 q 183 304 219 292 q 121 342 148 316 q 80 409 95 368 q 66 507 66 450 "},"н":{"x_min":109,"x_max":770,"ha":878,"o":"m 315 758 l 315 466 l 563 466 l 563 758 l 770 758 l 770 0 l 563 0 l 563 312 l 315 312 l 315 0 l 109 0 l 109 758 l 315 758 "},"(":{"x_min":56,"x_max":430,"ha":471,"o":"m 56 380 q 68 547 56 465 q 105 708 80 630 q 169 857 130 785 q 260 992 207 928 l 430 992 q 284 704 333 861 q 235 381 235 547 q 247 221 235 301 q 284 64 259 141 q 345 -84 308 -12 q 428 -220 381 -156 l 260 -220 q 169 -89 207 -158 q 105 57 130 -19 q 68 214 80 133 q 56 380 56 296 "},"◊":{"x_min":60,"x_max":749,"ha":810,"o":"m 749 498 l 443 0 l 365 0 l 60 498 l 365 999 l 443 999 l 749 498 m 569 498 l 404 776 l 239 498 l 404 221 l 569 498 "},"α":{"x_min":69,"x_max":834,"ha":864,"o":"m 399 152 q 457 165 433 152 q 495 204 480 177 q 516 272 509 231 q 524 369 523 312 l 524 377 q 518 475 524 432 q 497 546 512 517 q 458 589 482 575 q 397 604 434 604 q 308 546 337 604 q 280 375 280 487 q 309 207 280 263 q 399 152 337 152 m 332 -14 q 224 11 273 -14 q 141 85 175 36 q 87 207 106 134 q 69 376 69 280 q 88 546 69 473 q 143 670 107 620 q 231 745 179 720 q 346 771 282 771 q 411 763 382 771 q 464 742 440 756 q 506 706 487 728 q 540 656 525 685 l 550 656 q 569 708 557 680 q 600 758 581 736 l 784 758 q 768 702 776 735 q 752 628 759 669 q 740 542 745 588 q 736 451 736 497 l 736 239 q 740 201 736 216 q 753 176 745 185 q 771 163 761 167 q 793 159 781 159 q 815 162 802 159 q 834 166 828 164 l 834 3 q 816 -2 828 0 q 790 -8 805 -5 q 761 -12 776 -10 q 734 -14 747 -14 q 667 -8 697 -14 q 614 10 637 -3 q 573 45 590 23 q 542 100 555 67 l 529 100 q 497 56 516 77 q 455 19 478 35 q 401 -5 431 3 q 332 -14 370 -14 "},"Ħ":{"x_min":0,"x_max":1007,"ha":1007,"o":"m 1007 860 l 1007 722 l 882 722 l 882 0 l 671 0 l 671 428 l 335 428 l 335 0 l 125 0 l 125 722 l 0 722 l 0 860 l 125 860 l 125 992 l 335 992 l 335 860 l 671 860 l 671 992 l 882 992 l 882 860 l 1007 860 m 671 603 l 671 722 l 335 722 l 335 603 l 671 603 "},"м":{"x_min":109,"x_max":1036,"ha":1145,"o":"m 1036 0 l 841 0 l 841 597 q 831 554 837 583 q 816 491 825 526 q 795 415 807 455 q 770 338 784 376 l 645 0 l 498 0 l 373 341 q 349 415 360 378 q 330 488 339 453 q 315 551 321 522 q 303 597 308 579 l 303 0 l 109 0 l 109 758 l 399 758 l 516 434 q 539 360 529 398 q 555 290 549 322 q 565 233 561 258 q 571 198 569 209 q 578 234 573 210 q 589 290 582 259 q 606 358 596 322 q 628 429 616 393 l 748 758 l 1036 758 l 1036 0 "},"з":{"x_min":53,"x_max":676,"ha":729,"o":"m 288 464 q 428 481 379 464 q 477 544 477 498 q 445 601 477 582 q 338 619 412 619 q 285 616 313 619 q 229 606 257 612 q 173 591 201 600 q 120 571 145 583 l 58 716 q 121 738 88 728 q 192 757 154 749 q 271 768 229 764 q 364 773 314 773 q 474 760 421 773 q 567 723 527 748 q 631 660 607 698 q 656 568 656 621 q 617 458 656 499 q 514 399 578 417 l 514 393 q 577 371 548 384 q 628 338 606 358 q 663 289 650 318 q 676 218 676 260 q 654 129 676 172 q 590 55 633 87 q 481 4 547 23 q 324 -14 415 -14 q 169 -2 238 -14 q 53 31 99 8 l 53 197 q 100 176 74 186 q 156 157 126 165 q 220 144 186 149 q 288 139 253 139 q 359 143 326 139 q 416 158 392 148 q 455 185 441 169 q 469 226 469 202 q 425 294 469 272 q 288 316 380 316 l 221 316 l 221 464 l 288 464 "},"Ґ":{"x_min":125,"x_max":723,"ha":751,"o":"m 335 0 l 125 0 l 125 992 l 535 992 l 535 1202 l 723 1202 l 723 817 l 335 817 l 335 0 "},"Û":{"x_min":118,"x_max":876,"ha":994,"o":"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 639 1071 q 567 1123 604 1093 q 494 1189 529 1152 q 422 1123 457 1152 q 352 1071 387 1093 l 215 1071 l 215 1089 q 254 1134 232 1108 q 297 1187 275 1160 q 339 1242 319 1215 q 375 1293 360 1269 l 616 1293 q 651 1242 631 1269 q 693 1187 671 1215 q 737 1134 715 1160 q 777 1089 760 1108 l 777 1071 l 639 1071 "},"і":{"x_min":100.1875,"x_max":325.359375,"ha":424,"o":"m 100 953 q 109 1002 100 983 q 133 1033 117 1021 q 169 1050 148 1045 q 212 1055 189 1055 q 256 1050 235 1055 q 291 1033 276 1045 q 316 1002 307 1021 q 325 953 325 983 q 316 905 325 925 q 291 874 307 885 q 256 857 276 862 q 212 852 235 852 q 169 857 189 852 q 133 874 148 862 q 109 905 117 885 q 100 953 100 925 m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 "},"V":{"x_min":-0.25,"x_max":847.25,"ha":847,"o":"m 634 992 l 847 992 l 537 0 l 308 0 l 0 992 l 212 992 l 380 394 q 389 356 383 383 q 401 296 395 329 q 414 231 408 263 q 423 176 420 198 q 433 231 427 198 q 446 296 439 263 q 459 355 453 328 q 469 394 465 382 l 634 992 "},"Ŗ":{"x_min":125,"x_max":875.25,"ha":875,"o":"m 335 545 l 393 545 q 520 581 481 545 q 558 685 558 616 q 517 786 558 756 q 389 817 476 817 l 335 817 l 335 545 m 335 379 l 335 0 l 125 0 l 125 992 l 396 992 q 678 918 587 992 q 769 694 769 844 q 755 601 769 642 q 719 527 741 559 q 666 471 696 495 q 604 430 637 447 q 739 215 679 310 q 789 136 765 175 q 832 67 813 98 q 863 18 851 37 l 875 0 l 641 0 l 427 379 l 335 379 m 332 -288 q 344 -242 338 -268 q 355 -188 350 -216 q 366 -134 361 -161 q 373 -85 371 -107 l 565 -85 l 565 -98 q 516 -198 544 -145 q 452 -307 488 -251 l 332 -307 l 332 -288 "},"@":{"x_min":69,"x_max":1134,"ha":1203,"o":"m 1134 509 q 1118 382 1134 445 q 1072 269 1103 319 q 994 188 1041 219 q 883 158 946 158 q 834 164 857 158 q 793 182 812 170 q 760 210 774 194 q 738 245 746 226 l 728 245 q 698 212 715 228 q 661 184 682 196 q 614 165 640 172 q 559 158 589 158 q 459 177 503 158 q 385 232 415 196 q 340 317 356 267 q 325 427 325 367 q 346 556 325 497 q 406 656 367 614 q 501 722 445 699 q 627 746 558 746 q 690 742 658 746 q 753 733 723 739 q 810 721 783 728 q 855 708 836 714 l 841 423 q 840 394 840 408 q 840 376 840 380 q 844 329 840 347 q 855 300 848 311 q 872 286 863 290 q 891 282 881 282 q 932 300 915 282 q 961 349 950 318 q 979 422 973 381 q 985 511 985 464 q 959 665 985 597 q 888 780 933 733 q 779 851 842 827 q 642 875 716 875 q 459 841 538 875 q 327 744 380 806 q 247 598 274 682 q 219 412 219 513 q 243 246 219 318 q 313 125 266 174 q 428 50 360 76 q 586 25 497 25 q 664 30 624 25 q 744 43 704 35 q 822 62 783 51 q 895 87 860 74 l 895 -42 q 753 -87 831 -70 q 588 -104 676 -104 q 368 -69 465 -104 q 205 31 272 -34 q 104 192 139 97 q 69 408 69 287 q 87 569 69 492 q 140 712 105 646 q 224 832 174 778 q 338 924 274 886 q 478 983 401 962 q 642 1004 555 1004 q 839 969 749 1004 q 995 871 929 935 q 1097 715 1060 807 q 1134 509 1134 624 m 482 425 q 508 315 482 349 q 576 282 533 282 q 625 295 604 282 q 659 332 646 308 q 679 390 672 356 q 688 465 686 423 l 696 615 q 665 620 683 618 q 627 622 646 622 q 560 605 587 622 q 515 560 532 588 q 490 497 497 533 q 482 425 482 461 "},"ʼ":{"x_min":16,"x_max":284,"ha":298,"o":"m 273 992 l 284 977 q 261 898 274 939 q 232 815 248 857 q 198 731 216 772 q 164 652 181 690 l 16 652 q 35 737 25 692 q 54 827 45 782 q 71 913 63 871 q 83 992 78 956 l 273 992 "},"℅":{"x_min":43,"x_max":1020,"ha":1063,"o":"m 837 992 l 313 0 l 150 0 l 674 992 l 837 992 m 1020 232 q 1004 128 1020 173 q 961 50 989 82 q 892 2 932 19 q 802 -14 852 -14 q 716 2 755 -14 q 647 50 676 19 q 602 128 618 82 q 587 232 587 173 q 602 337 587 291 q 645 414 617 383 q 714 462 673 446 q 805 479 754 479 q 890 462 851 479 q 958 414 929 446 q 1003 337 987 383 q 1020 232 1020 291 m 757 233 q 768 153 757 179 q 804 126 779 126 q 838 153 827 126 q 849 233 849 179 q 838 312 849 286 q 804 338 827 338 q 768 312 779 338 q 757 233 757 286 m 270 513 q 178 527 220 513 q 106 572 136 542 q 59 647 76 602 q 43 752 43 692 q 59 866 43 819 q 107 942 76 912 q 179 985 137 971 q 270 999 221 999 q 342 988 306 999 q 409 956 378 977 l 377 830 q 332 850 354 843 q 290 858 309 858 q 231 830 250 858 q 213 754 213 801 q 231 679 213 706 q 287 653 249 653 q 346 661 319 653 q 396 682 373 668 l 396 551 q 340 523 372 534 q 270 513 307 513 "},"i":{"x_min":100.1875,"x_max":325.359375,"ha":424,"o":"m 100 953 q 109 1002 100 983 q 133 1033 117 1021 q 169 1050 148 1045 q 212 1055 189 1055 q 256 1050 235 1055 q 291 1033 276 1045 q 316 1002 307 1021 q 325 953 325 983 q 316 905 325 925 q 291 874 307 885 q 256 857 276 862 q 212 852 235 852 q 169 857 189 852 q 133 874 148 862 q 109 905 117 885 q 100 953 100 925 m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 "},"ќ":{"x_min":109,"x_max":818.25,"ha":818,"o":"m 563 758 l 791 758 l 522 394 l 818 0 l 583 0 l 315 384 l 315 0 l 109 0 l 109 758 l 315 758 l 315 389 l 563 758 m 330 842 l 330 860 q 360 905 344 879 q 392 958 376 931 q 422 1013 408 986 q 448 1064 437 1040 l 680 1064 l 680 1049 q 658 1021 672 1037 q 625 985 644 1004 q 586 946 607 966 q 544 907 565 926 q 502 871 522 888 q 467 842 483 854 l 330 842 "},"≤":{"x_min":60,"x_max":706.34375,"ha":765,"o":"m 60 0 l 60 148 l 705 148 l 705 0 l 60 0 m 706 179 l 61 475 l 61 573 l 706 909 l 706 746 l 270 531 l 706 341 l 706 179 "},"ё":{"x_min":69,"x_max":741,"ha":807,"o":"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 181 953 q 188 994 181 977 q 208 1022 195 1011 q 238 1039 221 1034 q 275 1045 255 1045 q 312 1039 295 1045 q 342 1022 329 1034 q 363 994 355 1011 q 371 953 371 977 q 363 913 371 930 q 342 885 355 896 q 312 868 329 873 q 275 863 295 863 q 238 868 255 863 q 208 885 221 873 q 188 913 195 896 q 181 953 181 930 m 454 953 q 461 994 454 977 q 481 1022 468 1011 q 512 1039 494 1034 q 550 1045 529 1045 q 586 1039 569 1045 q 617 1022 603 1034 q 638 994 630 1011 q 646 953 646 977 q 638 913 646 930 q 617 885 630 896 q 586 868 603 873 q 550 863 569 863 q 481 885 509 863 q 454 953 454 907 "},"υ":{"x_min":97,"x_max":780,"ha":861,"o":"m 426 -12 q 266 15 330 -12 q 165 91 202 42 q 112 205 127 139 q 97 345 97 270 l 97 758 l 303 758 l 303 340 q 335 197 303 241 q 432 154 366 154 q 493 168 467 154 q 537 213 520 182 q 564 295 555 244 q 573 417 573 345 q 569 503 573 461 q 559 586 566 545 q 544 670 553 628 q 524 758 535 712 l 732 758 q 752 670 744 712 q 767 587 761 629 q 776 502 773 545 q 780 410 780 459 q 757 221 780 301 q 689 90 734 141 q 579 13 645 38 q 426 -12 513 -12 "},"ĕ":{"x_min":69,"x_max":741,"ha":807,"o":"m 414 625 q 322 586 358 625 q 279 465 285 548 l 546 465 q 537 529 545 499 q 512 579 529 558 q 471 613 496 601 q 414 625 447 625 m 441 -14 q 291 9 359 -14 q 173 81 222 33 q 96 202 123 129 q 69 373 69 275 q 94 548 69 473 q 164 672 119 622 q 272 747 209 722 q 413 773 336 773 q 549 750 489 773 q 653 683 610 727 q 718 574 695 639 q 741 427 741 510 l 741 327 l 275 327 q 289 248 277 283 q 325 189 302 213 q 380 152 348 165 q 454 139 412 139 q 520 143 489 139 q 580 154 551 146 q 638 172 609 161 q 697 198 667 184 l 697 39 q 642 15 669 25 q 584 -1 614 5 q 518 -10 553 -7 q 441 -14 483 -14 m 651 1071 q 629 978 647 1020 q 581 906 612 936 q 505 858 549 875 q 402 842 460 842 q 298 858 342 842 q 223 904 253 874 q 177 976 193 934 q 159 1071 161 1018 l 274 1071 q 286 1024 277 1041 q 312 998 296 1007 q 351 987 328 989 q 403 985 374 985 q 450 988 428 985 q 489 1000 472 991 q 518 1026 507 1009 q 532 1071 530 1043 l 651 1071 "},"ffi":{"x_min":28,"x_max":1399.359375,"ha":1498,"o":"m 503 604 l 348 604 l 348 0 l 142 0 l 142 604 l 28 604 l 28 703 l 142 758 l 142 813 q 159 934 142 886 q 209 1010 177 982 q 288 1051 242 1039 q 392 1063 334 1063 q 497 1053 454 1063 q 570 1030 540 1043 l 521 877 q 477 890 500 884 q 422 896 454 896 q 365 871 382 896 q 348 804 348 845 l 348 758 l 503 758 l 503 604 m 1041 604 l 886 604 l 886 0 l 680 0 l 680 604 l 566 604 l 566 703 l 680 758 l 680 813 q 697 934 680 886 q 747 1010 715 982 q 826 1051 780 1039 q 930 1063 872 1063 q 1035 1053 992 1063 q 1108 1030 1078 1043 l 1059 877 q 1015 890 1038 884 q 960 896 992 896 q 903 871 920 896 q 886 804 886 845 l 886 758 l 1041 758 l 1041 604 m 1174 953 q 1183 1002 1174 983 q 1207 1033 1191 1021 q 1243 1050 1222 1045 q 1286 1055 1263 1055 q 1330 1050 1309 1055 q 1365 1033 1350 1045 q 1390 1002 1381 1021 q 1399 953 1399 983 q 1390 905 1399 925 q 1365 874 1381 885 q 1330 857 1350 862 q 1286 852 1309 852 q 1243 857 1263 852 q 1207 874 1222 862 q 1183 905 1191 885 q 1174 953 1174 925 m 1389 0 l 1183 0 l 1183 758 l 1389 758 l 1389 0 "},"ż":{"x_min":37,"x_max":595,"ha":635,"o":"m 595 0 l 37 0 l 37 117 l 347 604 l 58 604 l 58 758 l 582 758 l 582 628 l 281 153 l 595 153 l 595 0 m 214 954 q 222 1003 214 984 q 246 1034 231 1022 q 282 1051 262 1046 q 326 1056 303 1056 q 369 1051 349 1056 q 405 1034 390 1046 q 429 1003 420 1022 q 439 954 439 984 q 429 906 439 926 q 405 875 420 886 q 369 858 390 863 q 326 853 349 853 q 282 858 303 853 q 246 875 262 863 q 222 906 231 886 q 214 954 214 926 "},"Э":{"x_min":48.359375,"x_max":784,"ha":865,"o":"m 348 831 q 229 812 287 831 q 115 766 171 793 l 48 936 q 192 987 116 968 q 354 1006 268 1006 q 536 971 457 1006 q 671 871 616 937 q 755 710 726 805 q 784 494 784 615 q 757 285 784 379 q 676 125 731 192 q 537 22 621 59 q 338 -14 453 -14 q 263 -10 299 -14 q 195 -1 228 -7 q 130 13 162 4 q 66 36 98 23 l 66 213 q 199 174 137 188 q 321 160 260 160 q 499 223 436 160 q 567 411 562 285 l 188 411 l 188 586 l 566 586 q 548 689 564 644 q 504 766 532 735 q 436 814 475 797 q 348 831 396 831 "},"ő":{"x_min":69,"x_max":774,"ha":832,"o":"m 280 380 q 312 209 280 267 q 415 152 344 152 q 518 210 486 152 q 550 380 550 267 q 518 550 550 494 q 414 606 486 606 q 312 550 343 606 q 280 380 280 494 m 762 380 q 737 212 762 285 q 668 88 713 138 q 558 12 623 38 q 413 -14 494 -14 q 275 12 338 -14 q 166 88 212 38 q 94 212 120 138 q 69 380 69 285 q 93 548 69 474 q 162 671 117 621 q 271 747 207 721 q 417 773 336 773 q 555 747 492 773 q 664 671 618 721 q 736 548 710 621 q 762 380 762 474 m 183 842 l 183 860 q 213 905 197 879 q 245 958 229 931 q 275 1013 261 986 q 300 1064 290 1040 l 505 1064 l 505 1049 q 483 1021 497 1037 q 450 985 469 1004 q 411 946 432 966 q 368 907 389 926 q 327 871 347 888 q 292 842 307 854 l 183 842 m 452 842 l 452 860 q 482 905 466 879 q 514 958 498 931 q 544 1013 530 986 q 569 1064 559 1040 l 774 1064 l 774 1049 q 752 1021 766 1037 q 719 985 738 1004 q 680 946 701 966 q 638 907 659 926 q 597 871 616 888 q 561 842 577 854 l 452 842 "},"Ŏ":{"x_min":81,"x_max":970,"ha":1050,"o":"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 m 770 1300 q 748 1207 766 1249 q 700 1135 731 1165 q 624 1087 668 1104 q 521 1071 579 1071 q 417 1087 461 1071 q 342 1133 372 1103 q 296 1205 312 1163 q 278 1300 280 1247 l 393 1300 q 405 1253 396 1270 q 431 1227 415 1236 q 470 1216 447 1218 q 522 1214 493 1214 q 569 1217 547 1214 q 608 1229 591 1220 q 637 1255 626 1238 q 651 1300 649 1272 l 770 1300 "},"ю":{"x_min":109,"x_max":1114,"ha":1184,"o":"m 1114 380 q 1090 212 1114 285 q 1024 88 1067 138 q 919 12 981 38 q 779 -14 856 -14 q 657 5 713 -14 q 558 66 601 25 q 488 168 516 106 q 452 313 461 229 l 315 313 l 315 0 l 109 0 l 109 758 l 315 758 l 315 467 l 454 467 q 492 597 464 540 q 562 693 519 654 q 660 752 604 732 q 783 773 716 773 q 916 747 855 773 q 1020 671 976 721 q 1089 548 1064 621 q 1114 380 1114 474 m 658 380 q 687 209 658 267 q 781 152 716 152 q 873 209 845 152 q 902 380 902 267 q 873 550 902 494 q 779 606 845 606 q 687 550 716 606 q 658 380 658 494 "},"İ":{"x_min":44.28125,"x_max":495.96875,"ha":541,"o":"m 495 0 l 44 0 l 44 119 l 165 174 l 165 817 l 44 872 l 44 992 l 495 992 l 495 872 l 375 817 l 375 174 l 495 119 l 495 0 m 154 1183 q 162 1232 154 1213 q 186 1263 171 1251 q 222 1280 202 1275 q 266 1285 243 1285 q 309 1280 289 1285 q 345 1263 330 1275 q 369 1232 360 1251 q 379 1183 379 1213 q 369 1135 379 1155 q 345 1104 360 1115 q 309 1087 330 1092 q 266 1082 289 1082 q 222 1087 243 1082 q 186 1104 202 1092 q 162 1135 171 1115 q 154 1183 154 1155 "},"Ě":{"x_min":124,"x_max":696,"ha":778,"o":"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 686 1274 q 646 1229 669 1255 q 602 1176 624 1203 q 560 1121 580 1148 q 525 1071 540 1094 l 284 1071 q 248 1121 269 1094 q 206 1176 228 1148 q 163 1229 184 1203 q 124 1274 141 1255 l 124 1293 l 261 1293 q 331 1240 296 1270 q 403 1174 366 1211 q 476 1240 438 1211 q 548 1293 513 1270 l 686 1293 l 686 1274 "},"‹":{"x_min":55,"x_max":413,"ha":469,"o":"m 55 388 l 264 697 l 413 616 l 265 380 l 413 143 l 264 63 l 55 370 l 55 388 "},"ķ":{"x_min":109,"x_max":819.25,"ha":819,"o":"m 307 412 l 383 527 l 568 758 l 801 758 l 527 429 l 819 0 l 580 0 l 396 291 l 315 235 l 315 0 l 109 0 l 109 1055 l 315 1055 l 315 584 l 305 412 l 307 412 m 303 -288 q 315 -242 309 -268 q 326 -188 321 -216 q 337 -134 332 -161 q 344 -85 342 -107 l 536 -85 l 536 -98 q 487 -198 515 -145 q 423 -307 459 -251 l 303 -307 l 303 -288 "},"ì":{"x_min":-29,"x_max":321,"ha":424,"o":"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 m 183 842 q 128 889 160 860 q 64 946 95 917 q 7 1004 33 976 q -29 1049 -18 1031 l -29 1064 l 202 1064 q 228 1013 213 1040 q 258 958 242 986 q 290 905 274 931 q 321 860 306 879 l 321 842 l 183 842 "},"±":{"x_min":60.09375,"x_max":705.765625,"ha":765,"o":"m 309 457 l 60 457 l 60 606 l 309 606 l 309 856 l 457 856 l 457 606 l 705 606 l 705 457 l 457 457 l 457 209 l 309 209 l 309 457 m 60 0 l 60 148 l 705 148 l 705 0 l 60 0 "},"|":{"x_min":309,"x_max":457.53125,"ha":765,"o":"m 309 1051 l 457 1051 l 457 -315 l 309 -315 l 309 1051 "},"§":{"x_min":72,"x_max":607,"ha":675,"o":"m 82 546 q 89 601 82 576 q 108 648 96 626 q 137 686 121 669 q 172 715 154 703 q 105 782 129 742 q 82 873 82 822 q 101 954 82 917 q 157 1016 121 990 q 244 1056 193 1042 q 356 1070 294 1070 q 485 1054 425 1070 q 602 1013 545 1038 l 547 884 q 453 923 501 906 q 353 941 405 941 q 273 925 298 941 q 248 877 248 909 q 256 845 248 860 q 282 818 264 831 q 327 791 299 804 q 392 762 354 778 q 480 720 440 743 q 547 669 519 697 q 591 606 575 641 q 607 530 607 572 q 583 421 607 462 q 522 354 560 379 q 585 291 564 327 q 607 205 607 255 q 585 114 607 155 q 526 45 564 74 q 432 1 487 17 q 308 -14 377 -14 q 176 0 234 -14 q 72 39 119 14 l 72 181 q 129 155 98 167 q 190 134 159 144 q 252 120 222 125 q 309 114 282 114 q 372 120 347 114 q 412 137 397 127 q 434 162 427 148 q 440 193 440 177 q 435 224 440 210 q 415 250 430 237 q 372 277 400 262 q 300 310 345 291 q 207 353 248 331 q 139 402 166 375 q 96 464 111 430 q 82 546 82 499 m 234 561 q 272 485 234 518 q 390 418 310 452 l 400 414 q 420 431 411 421 q 437 453 430 441 q 449 480 445 465 q 454 512 454 495 q 447 552 454 534 q 422 588 440 571 q 373 622 404 605 q 295 656 342 639 q 272 642 283 651 q 253 620 261 632 q 239 593 244 608 q 234 561 234 578 "},"џ":{"x_min":109,"x_max":783,"ha":892,"o":"m 109 0 l 109 758 l 315 758 l 315 153 l 576 153 l 576 758 l 783 758 l 783 0 l 531 0 l 531 -272 l 353 -272 l 353 0 l 109 0 "},"љ":{"x_min":0,"x_max":1143,"ha":1198,"o":"m 530 0 l 530 604 l 392 604 q 358 319 378 437 q 308 127 339 201 q 231 20 277 54 q 118 -14 185 -14 q 0 6 46 -14 l 0 165 q 31 155 14 159 q 66 152 48 152 q 97 162 82 152 q 126 198 112 172 q 152 268 140 224 q 175 380 164 312 q 196 540 186 447 q 214 758 205 633 l 736 758 l 736 467 l 829 467 q 1066 411 989 467 q 1143 242 1143 356 q 1125 142 1143 187 q 1069 65 1107 97 q 971 17 1031 34 q 827 0 911 0 l 530 0 m 936 239 q 906 300 936 281 q 816 319 876 319 l 736 319 l 736 147 l 819 147 q 903 168 870 147 q 936 239 936 189 "},"q":{"x_min":69,"x_max":735,"ha":844,"o":"m 407 152 q 470 164 444 152 q 511 202 495 177 q 534 265 526 227 q 542 354 541 303 l 542 379 q 535 476 542 434 q 513 548 529 519 q 471 591 497 577 q 406 606 445 606 q 311 548 341 606 q 280 378 280 489 q 311 208 280 264 q 407 152 342 152 m 331 -14 q 224 11 272 -14 q 141 85 176 36 q 87 208 106 134 q 69 377 69 281 q 88 548 69 474 q 143 672 107 622 q 228 747 178 722 q 337 773 277 773 q 405 764 375 773 q 460 741 436 756 q 504 706 485 726 q 538 663 523 687 l 543 663 l 560 758 l 735 758 l 735 -334 l 528 -334 l 528 -13 q 529 19 528 0 q 532 57 531 39 q 536 101 534 79 l 528 101 q 496 56 514 78 q 453 19 478 35 q 399 -4 429 4 q 331 -14 369 -14 "},"˳":{"x_min":60,"x_max":400,"ha":463,"o":"m 400 -244 q 386 -312 400 -282 q 350 -363 373 -342 q 295 -395 326 -384 q 227 -407 264 -407 q 159 -395 190 -407 q 106 -363 128 -384 q 72 -313 84 -343 q 60 -245 60 -283 q 72 -178 60 -208 q 106 -128 84 -148 q 159 -96 128 -107 q 227 -85 190 -85 q 295 -96 263 -85 q 349 -128 326 -107 q 386 -178 372 -148 q 400 -244 400 -207 m 294 -245 q 276 -197 294 -215 q 230 -180 258 -180 q 183 -197 201 -180 q 165 -245 165 -215 q 181 -293 165 -276 q 230 -311 197 -311 q 276 -293 258 -311 q 294 -245 294 -276 "},"ή":{"x_min":109,"x_max":767,"ha":871,"o":"m 560 -334 l 560 438 q 534 564 560 522 q 454 606 509 606 q 388 590 415 606 q 345 542 362 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 758 l 267 758 l 294 661 l 306 661 q 345 710 322 689 q 395 745 368 732 q 452 766 422 759 q 515 773 483 773 q 704 702 642 773 q 767 487 767 632 l 767 -334 l 560 -334 m 366 860 q 378 906 372 880 q 389 960 384 932 q 400 1014 395 987 q 407 1064 404 1041 l 599 1064 l 599 1049 q 550 950 578 1003 q 486 842 522 897 l 366 842 l 366 860 "},"Ж":{"x_min":-0.25,"x_max":1254.25,"ha":1254,"o":"m 324 516 l 18 992 l 235 992 l 529 512 l 529 992 l 725 992 l 725 512 l 1018 992 l 1235 992 l 929 516 l 1254 0 l 1029 0 l 725 503 l 725 0 l 529 0 l 529 503 l 224 0 l 0 0 l 324 516 "},"®":{"x_min":68,"x_max":1088,"ha":1156,"o":"m 785 614 q 758 513 785 550 q 688 456 732 475 l 848 185 l 676 185 l 555 414 l 523 414 l 523 185 l 368 185 l 368 806 l 547 806 q 727 758 670 806 q 785 614 785 711 m 523 528 l 545 528 q 609 547 590 528 q 629 611 629 566 q 623 650 629 635 q 608 675 618 666 q 581 688 597 684 q 543 692 565 692 l 523 692 l 523 528 m 68 495 q 86 631 68 566 q 137 753 104 696 q 217 856 170 809 q 320 936 264 903 q 442 987 377 969 q 578 1006 507 1006 q 713 987 648 1006 q 835 936 778 969 q 938 856 892 903 q 1018 753 985 809 q 1069 631 1051 696 q 1088 495 1088 566 q 1069 359 1088 425 q 1018 238 1051 294 q 938 134 985 181 q 835 55 892 88 q 713 3 778 21 q 578 -14 648 -14 q 442 3 507 -14 q 320 55 377 21 q 217 134 264 88 q 137 238 170 181 q 86 359 104 294 q 68 495 68 425 m 164 496 q 196 334 164 409 q 285 203 229 259 q 416 114 341 147 q 578 82 491 82 q 739 114 664 82 q 870 203 814 147 q 959 334 926 259 q 991 496 991 409 q 959 657 991 582 q 870 788 926 732 q 739 877 814 844 q 578 909 664 909 q 416 877 491 909 q 285 788 341 844 q 196 657 229 732 q 164 496 164 582 "},"Н":{"x_min":125,"x_max":882,"ha":1007,"o":"m 882 0 l 671 0 l 671 428 l 335 428 l 335 0 l 125 0 l 125 992 l 335 992 l 335 603 l 671 603 l 671 992 l 882 992 l 882 0 "},"Ε":{"x_min":125,"x_max":696,"ha":778,"o":"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 "},"₧":{"x_min":125,"x_max":1172,"ha":1211,"o":"m 321 527 l 363 527 q 498 562 453 527 q 544 675 544 597 q 503 782 544 747 q 375 817 462 817 l 321 817 l 321 527 m 740 682 q 720 557 740 617 q 655 452 700 498 q 537 380 610 407 q 355 353 463 353 l 321 353 l 321 0 l 125 0 l 125 992 l 372 992 q 537 970 467 992 q 651 909 606 949 q 718 812 696 869 q 740 682 740 755 m 1070 138 q 1123 145 1099 138 q 1172 162 1147 151 l 1172 20 q 1101 -4 1142 5 q 1010 -14 1059 -14 q 923 -2 962 -14 q 855 35 883 8 q 812 107 827 62 q 797 218 797 151 l 797 436 l 699 436 l 699 507 l 812 575 l 878 735 l 992 735 l 992 574 l 1163 574 l 1163 436 l 992 436 l 992 225 q 998 189 992 205 q 1015 161 1004 173 q 1039 144 1025 150 q 1070 138 1053 138 "},"л":{"x_min":0,"x_max":746,"ha":855,"o":"m 746 0 l 539 0 l 539 604 l 392 604 q 358 319 378 437 q 308 127 339 201 q 231 20 277 54 q 118 -14 185 -14 q 0 7 46 -14 l 0 173 q 31 163 14 167 q 66 159 48 159 q 97 169 82 159 q 126 205 112 179 q 152 274 140 231 q 175 384 164 318 q 196 543 186 451 q 214 758 205 635 l 746 758 l 746 0 "},"σ":{"x_min":69,"x_max":845,"ha":872,"o":"m 774 314 q 750 184 774 244 q 683 80 727 124 q 572 11 638 36 q 419 -14 505 -14 q 275 10 340 -14 q 165 83 211 34 q 94 203 119 131 q 69 369 69 275 q 97 548 69 474 q 177 669 125 622 q 305 738 230 716 q 474 760 380 760 l 845 760 l 845 593 l 653 593 q 699 538 678 567 q 738 474 721 508 q 764 400 754 440 q 774 314 774 360 m 280 362 q 288 276 280 315 q 314 210 297 237 q 358 167 331 182 q 422 152 384 152 q 485 166 459 152 q 529 206 512 180 q 554 267 545 231 q 562 347 562 303 q 543 486 562 428 q 487 593 523 544 l 458 593 q 378 582 412 593 q 322 543 344 570 q 290 471 301 516 q 280 362 280 427 "},"θ":{"x_min":69,"x_max":761,"ha":831,"o":"m 761 528 q 742 300 761 401 q 681 129 723 199 q 573 22 639 59 q 413 -14 507 -14 q 261 22 326 -14 q 153 129 196 59 q 90 300 111 199 q 69 528 69 401 q 87 757 69 656 q 148 927 106 857 q 255 1034 189 997 q 413 1071 320 1071 q 566 1034 501 1071 q 674 928 631 998 q 739 758 718 859 q 761 528 761 657 m 413 133 q 514 212 483 133 q 549 454 545 292 l 280 454 q 313 213 282 294 q 413 133 343 133 m 415 923 q 316 845 347 923 q 281 608 286 766 l 549 608 q 514 845 545 766 q 415 923 482 923 "}," ":{"x_min":0,"x_max":0,"ha":361},"∑":{"x_min":28,"x_max":869,"ha":876,"o":"m 28 -310 l 28 -194 l 418 371 l 38 879 l 38 992 l 829 992 l 829 825 l 316 825 l 651 375 l 299 -135 l 869 -135 l 869 -310 l 28 -310 "},"Ώ":{"x_min":-39,"x_max":1060,"ha":1092,"o":"m 579 832 q 405 759 460 832 q 351 547 351 686 q 360 434 351 487 q 390 336 369 381 q 445 253 411 290 q 531 189 480 217 l 531 0 l 98 0 l 98 176 l 350 176 q 261 248 301 206 q 193 343 221 290 q 150 459 165 396 q 135 591 135 521 q 163 762 135 685 q 248 893 191 838 q 387 977 304 948 q 579 1007 470 1007 q 770 977 688 1007 q 909 893 853 948 q 994 761 966 838 q 1023 589 1023 684 q 1007 458 1023 520 q 963 343 992 396 q 895 248 935 290 q 805 176 855 206 l 1060 176 l 1060 0 l 622 0 l 622 189 q 710 253 675 216 q 766 336 745 290 q 797 435 788 382 q 806 548 806 488 q 752 759 806 686 q 579 832 697 832 m -39 789 q -26 835 -32 809 q -15 889 -20 861 q -5 943 -9 916 q 2 993 0 970 l 194 993 l 194 978 q 145 879 173 932 q 81 771 117 826 l -39 771 l -39 789 "},"ẃ":{"x_min":-0.25,"x_max":1120.25,"ha":1120,"o":"m 688 0 l 629 265 q 622 297 626 276 q 612 346 618 319 q 601 403 607 372 q 589 463 595 433 q 559 613 575 532 l 555 613 q 527 462 539 532 q 515 402 521 432 q 504 344 510 371 q 494 296 499 317 q 487 262 490 274 l 426 0 l 204 0 l 0 758 l 205 758 l 282 422 q 294 359 288 395 q 306 284 301 322 q 317 213 312 246 q 324 160 322 179 l 328 160 q 331 193 329 172 q 337 237 334 214 q 344 286 341 261 q 352 332 348 311 q 359 371 356 354 q 364 394 362 387 l 447 758 l 674 758 l 754 394 q 763 348 757 379 q 774 281 768 317 q 784 212 780 246 q 789 160 788 178 l 793 160 q 800 210 795 176 q 811 281 805 243 q 824 357 817 320 q 837 422 831 395 l 917 758 l 1120 758 l 913 0 l 688 0 m 453 842 l 453 860 q 483 905 467 879 q 515 958 499 931 q 545 1013 531 986 q 571 1064 560 1040 l 803 1064 l 803 1049 q 781 1021 795 1037 q 748 985 767 1004 q 709 946 730 966 q 667 907 688 926 q 625 871 645 888 q 590 842 606 854 l 453 842 "},"+":{"x_min":60.09375,"x_max":705.765625,"ha":765,"o":"m 309 415 l 60 415 l 60 564 l 309 564 l 309 814 l 457 814 l 457 564 l 705 564 l 705 415 l 457 415 l 457 168 l 309 168 l 309 415 "},"Ë":{"x_min":125,"x_max":696,"ha":778,"o":"m 696 0 l 125 0 l 125 992 l 696 992 l 696 817 l 335 817 l 335 602 l 670 602 l 670 427 l 335 427 l 335 174 l 696 174 l 696 0 m 186 1182 q 193 1223 186 1206 q 213 1251 200 1240 q 243 1268 226 1263 q 280 1274 260 1274 q 317 1268 300 1274 q 347 1251 334 1263 q 368 1223 360 1240 q 376 1182 376 1206 q 368 1142 376 1159 q 347 1114 360 1125 q 317 1097 334 1102 q 280 1092 300 1092 q 243 1097 260 1092 q 213 1114 226 1102 q 193 1142 200 1125 q 186 1182 186 1159 m 459 1182 q 466 1223 459 1206 q 486 1251 473 1240 q 517 1268 499 1263 q 555 1274 534 1274 q 591 1268 574 1274 q 622 1251 608 1263 q 643 1223 635 1240 q 651 1182 651 1206 q 643 1142 651 1159 q 622 1114 635 1125 q 591 1097 608 1102 q 555 1092 574 1092 q 486 1114 514 1092 q 459 1182 459 1136 "},"Š":{"x_min":63.46875,"x_max":668,"ha":728,"o":"m 668 275 q 645 155 668 208 q 578 64 622 102 q 471 6 535 26 q 326 -14 408 -14 q 187 0 254 -14 q 63 45 120 15 l 63 241 q 129 211 96 225 q 196 185 162 197 q 265 167 231 174 q 333 160 299 160 q 392 168 368 160 q 432 190 417 176 q 455 223 448 203 q 462 264 462 242 q 450 314 462 292 q 417 354 438 335 q 365 390 396 372 q 298 427 335 408 q 228 467 267 444 q 155 524 189 490 q 98 607 121 558 q 75 723 75 655 q 97 842 75 790 q 159 931 119 895 q 258 987 200 968 q 388 1006 316 1006 q 458 1001 424 1006 q 526 987 492 996 q 594 965 560 978 q 663 936 627 953 l 596 772 q 539 797 565 786 q 487 816 512 808 q 438 827 462 823 q 389 831 414 831 q 308 802 336 831 q 280 727 280 774 q 288 683 280 702 q 316 646 297 663 q 364 612 334 630 q 435 572 393 594 q 529 517 486 545 q 603 454 572 488 q 651 376 634 420 q 668 275 668 333 m 655 1274 q 615 1229 638 1255 q 571 1176 593 1203 q 529 1121 549 1148 q 494 1071 509 1094 l 253 1071 q 217 1121 238 1094 q 175 1176 197 1148 q 132 1229 153 1203 q 93 1274 110 1255 l 93 1293 l 230 1293 q 300 1240 265 1270 q 372 1174 335 1211 q 445 1240 407 1211 q 517 1293 482 1270 l 655 1293 l 655 1274 "}," ":{"x_min":0,"x_max":0,"ha":1389},"ð":{"x_min":50,"x_max":744,"ha":802,"o":"m 310 887 q 260 917 286 901 q 205 949 234 934 l 270 1065 q 363 1018 320 1041 q 445 969 407 995 l 599 1063 l 667 959 l 549 887 q 634 787 598 840 q 695 673 671 734 q 731 540 719 611 q 744 388 744 470 q 719 217 744 291 q 649 91 695 142 q 539 12 604 39 q 394 -14 475 -14 q 256 9 319 -14 q 147 76 193 32 q 75 184 101 120 q 50 331 50 248 q 72 478 50 414 q 133 585 94 541 q 228 652 173 629 q 350 675 284 675 q 461 653 415 675 q 529 598 507 631 l 543 599 q 490 711 524 659 q 411 802 456 764 l 254 704 l 185 810 l 310 887 m 532 360 q 524 421 532 392 q 500 472 516 450 q 458 508 483 495 q 398 521 432 521 q 293 474 324 521 q 261 330 261 426 q 269 252 261 287 q 293 192 277 217 q 336 153 310 167 q 398 139 362 139 q 501 194 469 139 q 532 360 532 249 "},"щ":{"x_min":109,"x_max":1307,"ha":1327,"o":"m 1196 149 l 1307 149 l 1307 -272 l 1128 -272 l 1128 0 l 109 0 l 109 758 l 315 758 l 315 153 l 549 153 l 549 758 l 755 758 l 755 153 l 989 153 l 989 758 l 1196 758 l 1196 149 "},"℮":{"x_min":69,"x_max":789,"ha":860,"o":"m 429 -24 q 273 7 341 -24 q 161 92 206 39 q 92 215 115 146 q 69 359 69 284 q 83 480 69 426 q 124 577 98 534 q 185 651 150 620 q 259 702 219 682 q 343 733 299 723 q 429 743 386 743 q 571 716 506 743 q 685 639 637 689 q 761 518 734 589 q 789 358 789 447 l 227 358 l 227 117 q 264 86 242 101 q 312 60 286 71 q 368 41 338 48 q 429 34 398 34 q 518 45 479 34 q 590 76 558 56 q 648 126 622 96 q 697 193 674 155 l 746 165 q 693 92 721 126 q 628 31 665 58 q 542 -9 590 5 q 429 -24 493 -24 m 632 417 l 632 605 q 599 633 619 618 q 553 659 579 647 q 495 678 527 671 q 428 686 463 686 q 363 679 393 686 q 309 661 334 673 q 264 636 284 650 q 227 606 244 622 l 227 417 l 632 417 "},"Φ":{"x_min":62,"x_max":1077,"ha":1139,"o":"m 663 305 l 671 305 q 763 321 724 305 q 828 366 802 337 q 867 433 854 394 q 881 516 881 471 q 869 592 881 556 q 834 656 858 629 q 774 700 810 684 q 688 717 738 717 l 663 717 l 663 305 m 476 -14 l 476 139 l 462 139 q 328 155 387 139 q 225 199 269 171 q 149 264 181 227 q 99 343 118 301 q 70 429 79 385 q 62 514 62 472 q 84 649 62 583 q 153 768 106 716 q 272 852 200 820 q 442 884 343 884 l 476 884 l 476 1006 l 663 1006 l 663 884 l 696 884 q 867 852 795 884 q 985 768 938 820 q 1054 649 1032 716 q 1077 514 1077 583 q 1068 429 1077 472 q 1039 343 1059 385 q 989 264 1020 301 q 913 199 958 227 q 810 155 869 171 q 676 139 751 139 l 663 139 l 663 -14 l 476 -14 m 476 717 l 451 717 q 365 700 401 717 q 305 656 328 684 q 269 592 281 629 q 258 516 258 556 q 271 433 258 471 q 310 366 284 394 q 375 321 336 337 q 467 305 414 305 l 476 305 l 476 717 "},"ş":{"x_min":66,"x_max":614,"ha":668,"o":"m 614 225 q 592 120 614 165 q 530 45 570 75 q 433 0 490 15 q 305 -14 376 -14 q 236 -11 268 -14 q 176 -3 204 -9 q 121 9 147 1 q 67 30 94 17 l 67 201 q 127 176 95 187 q 189 156 158 164 q 249 143 220 148 q 304 139 279 139 q 351 144 331 139 q 383 158 370 149 q 401 179 395 167 q 407 205 407 191 q 402 230 407 219 q 382 254 398 242 q 337 283 367 267 q 256 322 307 299 q 171 366 207 344 q 112 415 135 388 q 77 477 88 442 q 66 561 66 512 q 86 653 66 614 q 144 720 106 693 q 234 759 181 746 q 351 773 286 773 q 480 757 419 773 q 605 710 541 741 l 543 564 q 445 604 492 588 q 352 619 398 619 q 291 604 310 619 q 272 563 272 589 q 277 539 272 550 q 296 518 282 529 q 336 493 310 506 q 403 461 362 480 q 490 419 451 440 q 556 372 528 398 q 599 310 584 345 q 614 225 614 275 m 473 -169 q 462 -239 473 -208 q 427 -290 451 -269 q 362 -322 403 -311 q 263 -334 322 -334 q 208 -329 232 -334 q 164 -319 183 -325 l 164 -205 q 186 -210 174 -208 q 212 -215 199 -213 q 238 -218 225 -217 q 261 -220 251 -220 q 295 -210 280 -220 q 310 -178 310 -201 q 285 -133 310 -153 q 197 -105 259 -114 l 250 0 l 381 0 l 362 -41 q 403 -59 383 -48 q 438 -87 423 -71 q 463 -124 453 -103 q 473 -169 473 -144 "}," ":{"x_min":0,"x_max":0,"ha":765},"ı":{"x_min":109,"x_max":315.859375,"ha":424,"o":"m 315 0 l 109 0 l 109 758 l 315 758 l 315 0 "},"ä":{"x_min":58,"x_max":694,"ha":798,"o":"m 548 0 l 508 104 l 502 104 q 457 51 479 73 q 408 14 434 28 q 349 -7 382 0 q 272 -14 316 -14 q 187 0 226 -14 q 119 44 148 15 q 74 119 90 74 q 58 226 58 164 q 135 404 58 347 q 366 467 212 461 l 487 472 l 487 529 q 460 598 487 575 q 384 620 432 620 q 289 606 335 620 q 196 568 242 592 l 129 705 q 255 755 186 737 q 400 774 324 774 q 618 707 542 774 q 694 505 694 641 l 694 0 l 548 0 m 487 351 l 418 348 q 348 337 377 347 q 302 312 319 328 q 277 274 285 296 q 269 226 269 253 q 292 159 269 178 q 353 139 315 139 q 406 149 381 139 q 448 177 430 158 q 476 225 466 197 q 487 289 487 253 l 487 351 m 173 953 q 180 994 173 977 q 200 1022 187 1011 q 230 1039 213 1034 q 267 1045 247 1045 q 304 1039 287 1045 q 334 1022 321 1034 q 355 994 347 1011 q 363 953 363 977 q 355 913 363 930 q 334 885 347 896 q 304 868 321 873 q 267 863 287 863 q 230 868 247 863 q 200 885 213 873 q 180 913 187 896 q 173 953 173 930 m 446 953 q 453 994 446 977 q 473 1022 460 1011 q 504 1039 486 1034 q 542 1045 521 1045 q 578 1039 561 1045 q 609 1022 595 1034 q 630 994 622 1011 q 638 953 638 977 q 630 913 638 930 q 609 885 622 896 q 578 868 595 873 q 542 863 561 863 q 473 885 501 863 q 446 953 446 907 "},"¹":{"x_min":63,"x_max":396.421875,"ha":526,"o":"m 396 397 l 235 397 l 235 700 q 235 734 235 713 q 236 776 235 755 q 238 814 237 797 q 240 840 239 832 q 229 828 236 835 q 216 813 223 820 q 202 799 209 805 q 189 787 195 792 l 136 746 l 63 832 l 266 992 l 396 992 l 396 397 "},"W":{"x_min":-0.25,"x_max":1287.25,"ha":1287,"o":"m 1048 0 l 809 0 l 687 489 q 681 517 684 499 q 672 559 677 536 q 663 607 667 582 q 654 656 658 632 q 647 700 650 679 q 642 732 644 720 q 638 700 641 720 q 631 656 635 679 q 622 608 627 633 q 613 559 618 582 q 605 517 609 536 q 598 487 601 498 l 477 0 l 238 0 l 0 992 l 206 992 l 319 450 q 325 418 321 439 q 333 372 328 398 q 343 318 338 346 q 353 262 348 289 q 361 211 357 235 q 368 173 366 188 q 373 211 370 188 q 381 260 377 234 q 390 314 385 286 q 399 366 395 342 q 407 409 404 390 q 413 436 411 428 l 551 992 l 735 992 l 873 436 q 879 409 875 428 q 887 366 882 390 q 896 314 891 342 q 905 260 901 286 q 913 211 910 234 q 919 173 917 188 q 925 211 921 188 q 933 262 929 235 q 943 318 938 289 q 953 372 948 346 q 962 418 958 398 q 967 450 965 439 l 1080 992 l 1287 992 l 1048 0 "},"λ":{"x_min":4.75,"x_max":806,"ha":813,"o":"m 4 0 l 305 716 l 283 779 q 256 836 270 815 q 226 870 242 858 q 190 886 209 882 q 145 890 170 890 q 110 887 127 890 q 81 881 93 884 l 81 1052 q 103 1056 90 1054 q 131 1060 116 1059 q 161 1062 146 1061 q 188 1064 176 1064 q 295 1047 251 1064 q 373 1000 340 1031 q 430 923 406 968 q 473 820 453 878 l 653 296 q 681 226 667 253 q 707 184 694 199 q 734 164 721 169 q 761 159 746 159 q 782 161 770 159 q 806 166 794 163 l 806 6 q 783 -1 797 2 q 753 -7 770 -5 q 720 -12 737 -10 q 691 -14 704 -14 q 621 -3 651 -14 q 570 28 592 7 q 532 76 547 48 q 503 140 516 105 l 441 324 q 413 409 425 369 q 394 484 400 450 l 389 484 q 379 445 385 466 q 368 405 374 425 q 356 365 362 384 q 344 328 350 345 l 219 0 l 4 0 "},">":{"x_min":60,"x_max":705,"ha":765,"o":"m 60 300 l 496 490 l 60 705 l 60 868 l 705 531 l 705 434 l 60 138 l 60 300 "},"τ":{"x_min":27,"x_max":666.140625,"ha":720,"o":"m 424 604 l 424 238 q 446 173 424 194 q 503 152 468 152 q 561 158 534 152 q 618 175 589 165 l 618 20 q 545 -4 588 5 q 451 -14 502 -14 q 359 -2 402 -14 q 285 38 316 9 q 236 115 254 67 q 218 237 218 164 l 218 604 l 27 604 l 27 689 l 140 758 l 666 758 l 666 604 l 424 604 "},"Ų":{"x_min":118,"x_max":876,"ha":994,"o":"m 876 992 l 876 349 q 852 205 876 272 q 781 90 829 139 q 661 13 733 41 q 492 -14 589 -14 q 331 12 401 -14 q 213 86 261 38 q 142 202 166 134 q 118 352 118 269 l 118 992 l 328 992 l 328 367 q 339 272 328 311 q 371 208 349 233 q 424 172 392 184 q 498 160 455 160 q 626 212 586 160 q 665 368 665 264 l 665 992 l 876 992 m 514 -154 q 529 -196 514 -182 q 568 -209 544 -209 q 611 -205 589 -209 q 646 -197 632 -201 l 646 -318 q 599 -329 624 -324 q 540 -334 574 -334 q 469 -322 501 -334 q 416 -290 438 -310 q 382 -241 394 -269 q 371 -177 371 -212 q 380 -124 371 -148 q 406 -78 389 -99 q 445 -38 423 -57 q 493 0 467 -19 l 614 0 q 540 -81 567 -44 q 514 -154 514 -118 "},"Ŵ":{"x_min":-0.25,"x_max":1287.25,"ha":1287,"o":"m 1048 0 l 809 0 l 687 489 q 681 517 684 499 q 672 559 677 536 q 663 607 667 582 q 654 656 658 632 q 647 700 650 679 q 642 732 644 720 q 638 700 641 720 q 631 656 635 679 q 622 608 627 633 q 613 559 618 582 q 605 517 609 536 q 598 487 601 498 l 477 0 l 238 0 l 0 992 l 206 992 l 319 450 q 325 418 321 439 q 333 372 328 398 q 343 318 338 346 q 353 262 348 289 q 361 211 357 235 q 368 173 366 188 q 373 211 370 188 q 381 260 377 234 q 390 314 385 286 q 399 366 395 342 q 407 409 404 390 q 413 436 411 428 l 551 992 l 735 992 l 873 436 q 879 409 875 428 q 887 366 882 390 q 896 314 891 342 q 905 260 901 286 q 913 211 910 234 q 919 173 917 188 q 925 211 921 188 q 933 262 929 235 q 943 318 938 289 q 953 372 948 346 q 962 418 958 398 q 967 450 965 439 l 1080 992 l 1287 992 l 1048 0 m 785 1071 q 713 1123 750 1093 q 640 1189 675 1152 q 568 1123 603 1152 q 498 1071 533 1093 l 361 1071 l 361 1089 q 400 1134 378 1108 q 443 1187 421 1160 q 485 1242 465 1215 q 521 1293 506 1269 l 762 1293 q 797 1242 777 1269 q 839 1187 817 1215 q 883 1134 861 1160 q 923 1089 906 1108 l 923 1071 l 785 1071 "},"‛":{"x_min":16,"x_max":284,"ha":298,"o":"m 215 992 q 228 913 220 956 q 244 827 235 871 q 263 737 254 782 q 284 652 273 692 l 135 652 q 100 731 118 690 q 67 815 83 772 q 38 898 51 857 q 16 977 25 939 l 25 992 l 215 992 "},"Ð":{"x_min":32.078125,"x_max":892,"ha":973,"o":"m 32 577 l 125 577 l 125 992 l 415 992 q 612 960 524 992 q 762 868 700 929 q 858 715 824 806 q 892 505 892 624 q 857 285 892 379 q 758 127 823 190 q 600 31 693 63 q 386 0 506 0 l 125 0 l 125 402 l 32 402 l 32 577 m 681 499 q 665 641 681 581 q 616 740 648 701 q 538 798 584 779 q 432 817 492 817 l 335 817 l 335 577 l 495 577 l 495 402 l 335 402 l 335 174 l 413 174 q 614 255 547 174 q 681 499 681 336 "},"Λ":{"x_min":-0.25,"x_max":847.25,"ha":847,"o":"m 469 597 q 459 637 466 610 q 446 696 453 664 q 433 761 439 728 q 423 815 427 793 q 414 760 420 793 q 401 695 408 728 q 389 636 395 663 q 380 597 383 609 l 212 0 l 0 0 l 308 992 l 537 992 l 847 0 l 634 0 l 469 597 "},"·":{"x_min":79,"x_max":316,"ha":396,"o":"m 79 489 q 88 543 79 521 q 113 579 97 565 q 151 598 129 592 q 198 605 173 605 q 243 598 221 605 q 280 579 264 592 q 306 543 297 565 q 316 489 316 521 q 306 437 316 458 q 280 401 297 415 q 243 380 264 386 q 198 374 221 374 q 151 380 173 374 q 113 401 129 386 q 88 437 97 415 q 79 489 79 458 "},"Х":{"x_min":-0.25,"x_max":871.25,"ha":871,"o":"m 871 0 l 631 0 l 428 375 l 224 0 l 0 0 l 301 511 l 20 992 l 252 992 l 438 635 l 620 992 l 847 992 l 563 500 l 871 0 "},"Υ":{"x_min":-0.25,"x_max":812.25,"ha":811,"o":"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 "},"r":{"x_min":109,"x_max":570,"ha":603,"o":"m 504 773 q 522 772 512 773 q 541 771 532 772 q 558 769 550 770 q 570 766 565 768 l 570 572 q 555 575 564 574 q 535 578 545 576 q 514 579 524 579 q 497 579 504 579 q 423 569 457 579 q 366 536 390 559 q 329 476 342 513 q 315 386 315 439 l 315 0 l 109 0 l 109 758 l 265 758 l 296 644 l 306 644 q 341 697 322 673 q 383 738 360 721 q 436 763 407 754 q 504 773 466 773 "},"ж":{"x_min":-0.25,"x_max":1171.25,"ha":1171,"o":"m 489 389 l 489 758 l 695 758 l 695 389 l 930 758 l 1145 758 l 900 394 l 1171 0 l 950 0 l 695 384 l 695 0 l 489 0 l 489 384 l 220 0 l 0 0 l 284 394 l 25 758 l 239 758 l 489 389 "},"Ø":{"x_min":81,"x_max":970,"ha":1050,"o":"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 316 27 403 -14 l 268 -51 l 154 11 l 209 102 q 112 270 144 170 q 81 498 81 371 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 640 995 588 1007 q 737 963 693 984 l 784 1038 l 897 973 l 843 886 q 938 720 906 819 q 970 496 970 621 m 297 496 q 329 296 297 374 l 639 802 q 526 832 592 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 699 q 297 496 297 574 m 753 496 q 724 691 753 612 l 415 188 q 465 169 438 175 q 525 162 492 162 q 629 185 585 162 q 699 251 672 208 q 740 356 727 294 q 753 496 753 418 "},"Ỳ":{"x_min":-0.25,"x_max":812.25,"ha":811,"o":"m 406 583 l 585 992 l 812 992 l 511 385 l 511 0 l 301 0 l 301 379 l 0 992 l 227 992 l 406 583 m 362 1071 q 307 1118 339 1089 q 243 1175 274 1146 q 186 1233 212 1205 q 150 1278 160 1260 l 150 1293 l 381 1293 q 407 1242 392 1269 q 437 1187 421 1215 q 469 1134 453 1160 q 500 1089 485 1108 l 500 1071 l 362 1071 "},"÷":{"x_min":60,"x_max":705,"ha":765,"o":"m 60 415 l 60 564 l 705 564 l 705 415 l 60 415 m 288 224 q 295 259 288 245 q 315 282 302 273 q 346 294 328 290 q 382 298 363 298 q 418 294 401 298 q 448 282 435 290 q 469 259 461 273 q 477 224 477 245 q 469 190 477 204 q 448 167 461 176 q 418 154 435 158 q 382 150 401 150 q 346 154 363 150 q 315 167 328 158 q 295 190 302 176 q 288 224 288 204 m 288 754 q 295 789 288 775 q 315 812 302 803 q 346 825 328 821 q 382 829 363 829 q 418 825 401 829 q 448 812 435 821 q 469 789 461 803 q 477 754 477 775 q 469 720 477 734 q 448 697 461 706 q 418 684 435 688 q 382 680 401 680 q 346 684 363 680 q 315 697 328 688 q 295 720 302 706 q 288 754 288 734 "},"с":{"x_min":69,"x_max":648.703125,"ha":693,"o":"m 424 -14 q 277 8 342 -14 q 165 78 211 30 q 93 198 118 125 q 69 375 69 272 q 94 564 69 488 q 166 687 119 641 q 278 753 212 733 q 424 773 343 773 q 540 758 482 773 q 648 718 597 744 l 588 562 q 502 594 544 581 q 423 606 461 606 q 314 549 348 606 q 280 376 280 491 q 314 206 280 261 q 421 152 348 152 q 528 167 480 152 q 627 206 576 182 l 627 35 q 578 13 601 23 q 530 -1 554 4 q 480 -10 506 -7 q 424 -14 453 -14 "},"h":{"x_min":109,"x_max":767,"ha":871,"o":"m 767 0 l 560 0 l 560 442 q 534 565 560 524 q 456 606 509 606 q 389 590 416 606 q 345 542 362 574 q 322 463 329 510 q 315 356 315 416 l 315 0 l 109 0 l 109 1055 l 315 1055 l 315 840 q 314 780 315 811 q 311 722 313 748 q 306 661 308 690 l 317 661 q 402 746 350 720 q 518 773 453 773 q 620 757 575 773 q 699 707 666 741 q 749 620 731 673 q 767 494 767 568 l 767 0 "},"f":{"x_min":28,"x_max":570,"ha":538,"o":"m 503 604 l 348 604 l 348 0 l 142 0 l 142 604 l 28 604 l 28 703 l 142 758 l 142 813 q 159 934 142 886 q 209 1010 177 982 q 288 1051 242 1039 q 392 1063 334 1063 q 497 1053 454 1063 q 570 1030 540 1043 l 521 877 q 477 890 500 884 q 422 896 454 896 q 365 871 382 896 q 348 804 348 845 l 348 758 l 503 758 l 503 604 "},"“":{"x_min":16,"x_max":601,"ha":615,"o":"m 332 666 q 355 744 341 703 q 384 828 368 786 q 417 912 400 870 q 452 992 435 954 l 601 992 q 580 905 590 950 q 561 816 570 861 q 545 730 552 772 q 532 652 537 687 l 342 652 l 332 666 m 16 666 q 38 744 25 703 q 67 828 51 786 q 100 912 83 870 q 135 992 118 954 l 284 992 q 263 905 273 950 q 244 816 254 861 q 228 730 235 772 q 215 652 220 687 l 25 652 l 16 666 "},"A":{"x_min":-0.25,"x_max":903.25,"ha":903,"o":"m 690 0 l 623 238 l 280 238 l 212 0 l 0 0 l 322 996 l 579 996 l 903 0 l 690 0 m 574 413 l 510 629 q 498 669 506 642 q 480 731 489 697 q 463 798 471 764 q 451 856 455 832 q 444 821 449 841 q 434 778 440 800 q 422 732 428 755 q 411 688 416 709 q 401 652 405 668 q 394 629 396 637 l 331 413 l 574 413 "},"O":{"x_min":81,"x_max":970,"ha":1050,"o":"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 327 22 411 -14 q 189 126 243 59 q 107 288 134 193 q 81 498 81 382 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 723 970 640 1007 q 861 867 807 934 q 943 706 916 800 q 970 496 970 612 m 297 496 q 310 355 297 417 q 352 250 324 293 q 423 184 380 207 q 525 160 466 160 q 629 184 585 160 q 699 250 672 207 q 740 355 727 293 q 753 496 753 417 q 740 636 753 574 q 699 742 727 698 q 629 808 672 785 q 526 832 586 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 698 q 297 496 297 574 "},"Đ":{"x_min":32.078125,"x_max":892,"ha":973,"o":"m 32 577 l 125 577 l 125 992 l 415 992 q 612 960 524 992 q 762 868 700 929 q 858 715 824 806 q 892 505 892 624 q 857 285 892 379 q 758 127 823 190 q 600 31 693 63 q 386 0 506 0 l 125 0 l 125 402 l 32 402 l 32 577 m 681 499 q 665 641 681 581 q 616 740 648 701 q 538 798 584 779 q 432 817 492 817 l 335 817 l 335 577 l 495 577 l 495 402 l 335 402 l 335 174 l 413 174 q 614 255 547 174 q 681 499 681 336 "},"3":{"x_min":39,"x_max":711,"ha":765,"o":"m 682 768 q 665 675 682 717 q 619 603 648 634 q 552 551 591 572 q 467 520 513 531 l 467 516 q 649 443 587 501 q 711 287 711 385 q 687 167 711 222 q 615 71 664 112 q 493 8 567 31 q 320 -14 420 -14 q 170 0 240 -14 q 39 39 99 12 l 39 217 q 103 188 69 200 q 171 166 137 175 q 237 153 204 157 q 299 148 270 148 q 396 159 357 148 q 458 190 435 170 q 490 237 481 210 q 500 298 500 265 q 488 353 500 329 q 447 396 475 378 q 374 423 419 413 q 262 432 328 432 l 192 432 l 192 580 l 260 580 q 362 591 321 580 q 427 622 402 602 q 461 667 451 641 q 471 722 471 693 q 439 806 471 776 q 336 836 406 836 q 276 829 304 836 q 224 813 248 823 q 180 792 200 803 q 145 768 161 780 l 40 908 q 102 946 68 929 q 175 977 135 964 q 259 998 214 991 q 356 1006 305 1006 q 489 989 429 1006 q 592 943 549 973 q 658 869 635 913 q 682 768 682 825 "},"Ǿ":{"x_min":81,"x_max":970,"ha":1050,"o":"m 970 496 q 943 287 970 382 q 861 126 916 193 q 722 22 806 59 q 525 -14 639 -14 q 316 27 403 -14 l 268 -51 l 154 11 l 209 102 q 112 270 144 170 q 81 498 81 371 q 107 707 81 613 q 189 867 134 801 q 328 970 244 934 q 526 1007 411 1007 q 640 995 588 1007 q 737 963 693 984 l 784 1038 l 897 973 l 843 886 q 938 720 906 819 q 970 496 970 621 m 297 496 q 329 296 297 374 l 639 802 q 526 832 592 832 q 424 808 467 832 q 352 742 380 785 q 310 636 324 699 q 297 496 297 574 m 753 496 q 724 691 753 612 l 415 188 q 465 169 438 175 q 525 162 492 162 q 629 185 585 162 q 699 251 672 208 q 740 356 727 294 q 753 496 753 418 m 400 1071 l 400 1089 q 430 1134 414 1108 q 462 1187 446 1160 q 492 1242 478 1215 q 518 1293 507 1269 l 750 1293 l 750 1278 q 728 1250 742 1266 q 695 1214 714 1233 q 656 1175 677 1195 q 614 1136 635 1155 q 572 1100 592 1117 q 537 1071 553 1083 l 400 1071 "},"⅛":{"x_min":40,"x_max":1159,"ha":1224,"o":"m 373 397 l 212 397 l 212 700 q 212 734 212 713 q 213 776 212 755 q 215 814 214 797 q 217 840 216 832 q 206 828 213 835 q 193 813 200 820 q 179 799 186 805 q 166 787 172 792 l 113 746 l 40 832 l 243 992 l 373 992 l 373 397 m 913 992 l 362 0 l 200 0 l 751 992 l 913 992 m 927 607 q 1009 597 971 607 q 1076 569 1047 588 q 1120 523 1104 551 q 1137 458 1137 495 q 1129 413 1137 434 q 1108 376 1122 393 q 1078 347 1095 360 q 1040 323 1060 334 q 1084 295 1063 309 q 1122 263 1105 281 q 1148 221 1138 244 q 1159 169 1159 198 q 1142 95 1159 129 q 1095 36 1125 61 q 1022 -2 1064 11 q 927 -16 979 -16 q 827 -2 870 -16 q 754 34 784 10 q 710 92 725 58 q 695 165 695 126 q 703 218 695 195 q 727 259 712 241 q 761 291 741 277 q 801 317 780 305 q 768 345 783 330 q 740 376 752 359 q 722 414 728 393 q 716 458 716 434 q 732 523 716 495 q 778 569 749 550 q 845 597 807 587 q 927 607 884 607 m 842 169 q 863 114 842 135 q 925 92 884 92 q 989 114 967 92 q 1011 169 1011 135 q 988 223 1011 201 q 924 261 965 246 l 915 264 q 861 226 880 248 q 842 169 842 203 m 925 498 q 879 482 895 498 q 863 447 863 467 q 882 403 863 420 q 927 373 900 387 q 951 386 940 379 q 971 402 963 393 q 984 422 979 411 q 989 447 989 433 q 974 482 989 467 q 925 498 959 498 "},"4":{"x_min":3,"x_max":741.625,"ha":765,"o":"m 741 205 l 622 205 l 622 0 l 412 0 l 412 205 l 3 205 l 3 351 l 423 992 l 622 992 l 622 368 l 741 368 l 741 205 m 412 368 l 412 536 q 412 562 412 545 q 413 599 412 578 q 415 643 414 620 q 417 686 416 665 q 419 721 418 706 q 420 743 420 736 l 414 743 q 387 683 402 715 q 352 619 372 651 l 187 368 l 412 368 "},"Ẁ":{"x_min":-0.25,"x_max":1287.25,"ha":1287,"o":"m 1048 0 l 809 0 l 687 489 q 681 517 684 499 q 672 559 677 536 q 663 607 667 582 q 654 656 658 632 q 647 700 650 679 q 642 732 644 720 q 638 700 641 720 q 631 656 635 679 q 622 608 627 633 q 613 559 618 582 q 605 517 609 536 q 598 487 601 498 l 477 0 l 238 0 l 0 992 l 206 992 l 319 450 q 325 418 321 439 q 333 372 328 398 q 343 318 338 346 q 353 262 348 289 q 361 211 357 235 q 368 173 366 188 q 373 211 370 188 q 381 260 377 234 q 390 314 385 286 q 399 366 395 342 q 407 409 404 390 q 413 436 411 428 l 551 992 l 735 992 l 873 436 q 879 409 875 428 q 887 366 882 390 q 896 314 891 342 q 905 260 901 286 q 913 211 910 234 q 919 173 917 188 q 925 211 921 188 q 933 262 929 235 q 943 318 938 289 q 953 372 948 346 q 962 418 958 398 q 967 450 965 439 l 1080 992 l 1287 992 l 1048 0 m 594 1071 q 539 1118 571 1089 q 475 1175 506 1146 q 418 1233 444 1205 q 382 1278 392 1260 l 382 1293 l 613 1293 q 639 1242 624 1269 q 669 1187 653 1215 q 701 1134 685 1160 q 732 1089 717 1108 l 732 1071 l 594 1071 "},"Ť":{"x_min":28,"x_max":735,"ha":762,"o":"m 487 0 l 277 0 l 277 817 l 28 817 l 28 992 l 735 992 l 735 817 l 487 817 l 487 0 m 664 1274 q 624 1229 647 1255 q 580 1176 602 1203 q 538 1121 558 1148 q 503 1071 518 1094 l 262 1071 q 226 1121 247 1094 q 184 1176 206 1148 q 141 1229 162 1203 q 102 1274 119 1255 l 102 1293 l 239 1293 q 309 1240 274 1270 q 381 1174 344 1211 q 454 1240 416 1211 q 526 1293 491 1270 l 664 1293 l 664 1274 "},"ψ":{"x_min":97,"x_max":1047,"ha":1128,"o":"m 662 1054 l 662 142 q 747 162 711 148 q 806 205 782 177 q 841 278 829 234 q 852 389 852 323 q 837 571 852 481 q 798 758 821 661 l 993 758 q 1034 571 1021 660 q 1047 389 1047 482 q 1017 208 1047 283 q 935 86 987 134 q 813 16 883 39 q 662 -12 743 -7 l 662 -334 l 468 -334 l 468 -12 q 318 12 387 -9 q 201 80 250 34 q 124 199 152 126 q 97 376 97 272 l 97 758 l 291 758 l 291 368 q 300 267 291 308 q 330 199 309 225 q 384 159 351 172 q 468 141 418 145 l 468 1054 l 662 1054 "},"ŗ":{"x_min":77,"x_max":570,"ha":603,"o":"m 504 773 q 522 772 512 773 q 541 771 532 772 q 558 769 550 770 q 570 766 565 768 l 570 572 q 555 575 564 574 q 535 578 545 576 q 514 579 524 579 q 497 579 504 579 q 423 569 457 579 q 366 536 390 559 q 329 476 342 513 q 315 386 315 439 l 315 0 l 109 0 l 109 758 l 265 758 l 296 644 l 306 644 q 341 697 322 673 q 383 738 360 721 q 436 763 407 754 q 504 773 466 773 m 77 -288 q 89 -242 83 -268 q 100 -188 95 -216 q 111 -134 106 -161 q 118 -85 116 -107 l 310 -85 l 310 -98 q 261 -198 289 -145 q 197 -307 233 -251 l 77 -307 l 77 -288 "}},"cssFontWeight":"bold","ascender":1290,"underlinePosition":-154,"cssFontStyle":"normal","boundingBox":{"yMin":-407,"xMin":-269,"yMax":1391,"xMax":1695},"resolution":1000,"original_font_information":{"postscript_name":"DroidSans-Bold","version_string":"Version 1.00 build 107","vendor_url":"http://www.ascendercorp.com/","full_font_name":"Droid Sans Bold","font_family_name":"Droid Sans","copyright":"Digitized data copyright © 2006, Google Corporation.","description":"Droid Sans is a humanist sans serif typeface designed for user interfaces and electronic communication.","trademark":"Droid is a trademark of Google and may be registered in certain jurisdictions.","designer":"","designer_url":"http://www.ascendercorp.com/typedesigners.html","unique_font_identifier":"Ascender - Droid Sans Bold","license_url":"http://ascendercorp.com/eula10.html","license_description":"This font software is the valuable property of Ascender Corporation and/or its suppliers and its use by you is covered under the terms of a license agreement. This font software is licensed to you by Ascender Corporation for your personal or business use on up to five personal computers. You may not use this font software on more than five personal computers unless you have obtained a license from Ascender to do so. Except as specifically permitted by the license, you may not copy this font software.\n\nIf you have any questions, please review the license agreement you received with this font software, and/or contact Ascender Corporation. \n\nContact Information:\nAscender Corporation\nWeb http://www.ascendercorp.com/","manufacturer_name":"Ascender Corporation","font_sub_family_name":"Bold"},"descender":-328,"familyName":"Droid Sans","lineHeight":1617,"underlineThickness":102} \ No newline at end of file diff --git a/src/viewer/core/index.ts b/src/viewer/core/index.ts new file mode 100644 index 0000000..3dddbc5 --- /dev/null +++ b/src/viewer/core/index.ts @@ -0,0 +1,5 @@ +export * from "./Camera" +export * from "./RayCaster" +export * from "./Renderer" +export * from "./Context" +export * from "./CubeView" \ No newline at end of file diff --git a/src/viewer/enum.ts b/src/viewer/enum.ts new file mode 100644 index 0000000..a50e388 --- /dev/null +++ b/src/viewer/enum.ts @@ -0,0 +1,10 @@ +export enum ViewType { + ThreeD = 0, + Floor = 1, + Section = 2, + Elevation = 3, +} +export enum MeshType { + model = 0, + fragment = 1, +} \ No newline at end of file diff --git a/src/viewer/material/DefaultMaterial.ts b/src/viewer/material/DefaultMaterial.ts new file mode 100644 index 0000000..72a0d8c --- /dev/null +++ b/src/viewer/material/DefaultMaterial.ts @@ -0,0 +1,61 @@ +import { MeshLambertMaterial, MeshBasicMaterial, DoubleSide } from "three"; +import { LightColor } from "./LightColor"; +//---------------------------------------------------------------- +export function createMaterial( color: string | null = null, transparent = false, opacity = 1 ) { + return new MeshLambertMaterial( { + transparent: transparent, + opacity: opacity, + color: color ? color : "#" + Math.floor( Math.random() * 16777215 ).toString( 16 ), + side: DoubleSide, + depthWrite: true, + depthTest: false, + } ); +} + +export const CubeViewMaterial = { + normalCube: new MeshLambertMaterial( { + transparent: true, + opacity: 0.9, + color: LightColor.normalCube, + depthTest: true, + side: DoubleSide, + depthWrite: true, + } ), + hoverCube: new MeshLambertMaterial( { + transparent: true, + opacity: 1, + color: "green", + depthTest: true, + } ), + textCube: new MeshLambertMaterial( { + transparent: true, + opacity: 0.7, + color: "blue", + depthTest: true, + } ), + + ring: new MeshLambertMaterial( { + transparent: true, + opacity: 0.3, + color: "blue", + side: DoubleSide, + depthWrite: true, + depthTest: true, + } ), + textRing: new MeshLambertMaterial( { + transparent: true, + opacity: 1, + color: "red", + side: DoubleSide, + depthWrite: true, + depthTest: true, + } ), + outLineCube: new MeshBasicMaterial( { + transparent: true, + opacity: 1, + color: "black", + side: DoubleSide, + depthWrite: true, + depthTest: true, + } ), +}; diff --git a/src/viewer/material/LightColor.ts b/src/viewer/material/LightColor.ts new file mode 100644 index 0000000..49b577b --- /dev/null +++ b/src/viewer/material/LightColor.ts @@ -0,0 +1,17 @@ +import { Color } from "three"; + +export const LightColor = { + light: 0x404040, + normalCube: new Color( "rgb(255, 255, 255)" ), + hoverCube: new Color( "rgb(14, 237, 51)" ), + textCube: new Color( "rgb(255, 0, 0)" ), + refPlan: new Color( "rgb(245, 245, 245)" ), + ring: new Color( "rgb(255, 0, 0)" ), +}; +export function getColorRGB( r, g, b ) { + const color = new Color(); + color.r = r; + color.g = g; + color.b = b; + return color; +} diff --git a/src/viewer/material/MaterialManager.ts b/src/viewer/material/MaterialManager.ts new file mode 100644 index 0000000..20c7126 --- /dev/null +++ b/src/viewer/material/MaterialManager.ts @@ -0,0 +1,62 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { MeshLambertMaterial, MeshBasicMaterial } from "three"; +import { CubeViewMaterial, createMaterial } from "./DefaultMaterial"; + +import { LineMaterial } from "three/examples/jsm/lines/LineMaterial"; +// manage material for all materials of models except ifcModel +export class MaterialManager { + highlight: MeshLambertMaterial + select: MeshLambertMaterial + normalCube: MeshLambertMaterial + hoverCube: MeshLambertMaterial + textCube: MeshLambertMaterial + ring: MeshLambertMaterial + textRing: MeshLambertMaterial + outLineCube: MeshBasicMaterial + dimension: LineMaterial + modelMaterials: [] + constructor() { + this.highlight = createMaterial( "red", true, 0.51 ); + this.select = createMaterial( "#08c73b", true, 1 ); + this.normalCube = CubeViewMaterial.normalCube; + this.hoverCube = CubeViewMaterial.hoverCube; + this.textCube = CubeViewMaterial.textCube; + this.ring = CubeViewMaterial.ring; + this.textRing = CubeViewMaterial.textRing; + this.outLineCube = CubeViewMaterial.outLineCube; + // use this for setting line with for every camera position + this.dimension = new LineMaterial( { + linewidth: 4, // in world units with size attenuation, pixels otherwise + vertexColors: true, + + //resolution: // to be set by renderer, eventually + // dashes + dashed: false, + alphaToCoverage: true, + depthTest: false, + } ); + this.modelMaterials = [] + } + /** + * release all materials memory + */ + dispose() { + MaterialManager.disposeMaterial( this.highlight ); + MaterialManager.disposeMaterial( this.select ); + MaterialManager.disposeMaterial( this.normalCube ); + MaterialManager.disposeMaterial( this.hoverCube ); + MaterialManager.disposeMaterial( this.textCube ); + MaterialManager.disposeMaterial( this.textRing ); + MaterialManager.disposeMaterial( this.outLineCube ); + MaterialManager.disposeMaterial( this.dimension ); + this.modelMaterials = []; + } + /** + * release the material memory + * @param {} material + */ + static disposeMaterial( material: any ) { + material.dispose(); + material = null; + } +} diff --git a/src/viewer/material/index.ts b/src/viewer/material/index.ts new file mode 100644 index 0000000..5e290b8 --- /dev/null +++ b/src/viewer/material/index.ts @@ -0,0 +1,2 @@ +export * from "./MaterialManager" +export * from "./LightColor" \ No newline at end of file diff --git a/src/viewer/model/ModelSetting.ts b/src/viewer/model/ModelSetting.ts new file mode 100644 index 0000000..9f89119 --- /dev/null +++ b/src/viewer/model/ModelSetting.ts @@ -0,0 +1,32 @@ +import * as WEBIFC from "web-ifc"; + +/** Configuration of the IFC-fragment conversion. */ +export class ModelSetting { + /** Whether to extract the IFC properties into a JSON. */ + includeProperties = true; + + /** + * Generate the geometry for categories that are not included by default, + * like IFCSPACE. + */ + optionalCategories: number[] = [WEBIFC.IFCSPACE]; + + /** Path of the WASM for [web-ifc](https://github.com/ifcjs/web-ifc). */ + wasm = { + path: "/", + absolute: false, + }; + + /** List of categories that won't be converted to fragments. */ + excludedCategories = new Set(); + + /** Whether to save the absolute location of all IFC items. */ + saveLocations = false; + + /** Loader settings for [web-ifc](https://github.com/ifcjs/web-ifc). */ + webIfc: WEBIFC.LoaderSettings = { + COORDINATE_TO_ORIGIN: true, + USE_FAST_BOOLS: true, + OPTIMIZE_PROFILES: true, + }; +} \ No newline at end of file diff --git a/src/viewer/model/Utils/BVH.ts b/src/viewer/model/Utils/BVH.ts new file mode 100644 index 0000000..33d27ee --- /dev/null +++ b/src/viewer/model/Utils/BVH.ts @@ -0,0 +1,31 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { BufferGeometry, Mesh } from 'three'; + +export class BvhManager { + private computeBoundsTree?: any; + private disposeBoundsTree?: any; + private acceleratedRaycast?: any; + + initializeMeshBVH( computeBoundsTree: any, disposeBoundsTree: any, acceleratedRaycast: any ) { + this.computeBoundsTree = computeBoundsTree; + this.disposeBoundsTree = disposeBoundsTree; + this.acceleratedRaycast = acceleratedRaycast; + this.setupThreeMeshBVH(); + } + + applyThreeMeshBVH( geometry: BufferGeometry ) { + if ( this.computeBoundsTree ) + //@ts-ignore + geometry.computeBoundsTree(); + } + + private setupThreeMeshBVH() { + if ( !this.computeBoundsTree || !this.disposeBoundsTree || !this.acceleratedRaycast ) return; + //@ts-ignore + BufferGeometry.prototype.computeBoundsTree = this.computeBoundsTree; + //@ts-ignore + BufferGeometry.prototype.disposeBoundsTree = this.disposeBoundsTree; + Mesh.prototype.raycast = this.acceleratedRaycast; + } +} \ No newline at end of file diff --git a/src/viewer/model/Utils/BoundingBox.ts b/src/viewer/model/Utils/BoundingBox.ts new file mode 100644 index 0000000..b2d2391 --- /dev/null +++ b/src/viewer/model/Utils/BoundingBox.ts @@ -0,0 +1,137 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import * as THREE from "three"; +import { Fragment, FragmentsGroup } from "bim-fragment"; + +/** + * A simple implementation of bounding box that works for fragments. The resulting bbox is not 100% precise, but + * it's fast, and should suffice for general use cases such as camera zooming. + */ +export class BoundingBox { + enabled = true; + + private _absoluteMin: THREE.Vector3; + private _absoluteMax: THREE.Vector3; + + constructor() { + this._absoluteMin = BoundingBox.newBound( true ); + this._absoluteMax = BoundingBox.newBound( false ); + } + + static getDimensions( bbox: THREE.Box3 ) { + const { min, max } = bbox; + const width = Math.abs( max.x - min.x ); + const height = Math.abs( max.y - min.y ); + const depth = Math.abs( max.z - min.z ); + const center = new THREE.Vector3(); + center.subVectors( max, min ).divideScalar( 2 ).add( min ); + return { width, height, depth, center }; + } + + static newBound( positive: boolean ) { + const factor = positive ? 1 : -1; + return new THREE.Vector3( + factor * Number.MAX_VALUE, + factor * Number.MAX_VALUE, + factor * Number.MAX_VALUE + ); + } + + static getBounds( + points: THREE.Vector3[], + min?: THREE.Vector3, + max?: THREE.Vector3 + ) { + const maxPoint = max || this.newBound( false ); + const minPoint = min || this.newBound( true ); + for ( const point of points ) { + if ( point.x < minPoint.x ) minPoint.x = point.x; + if ( point.y < minPoint.y ) minPoint.y = point.y; + if ( point.z < minPoint.z ) minPoint.z = point.z; + if ( point.x > maxPoint.x ) maxPoint.x = point.x; + if ( point.y > maxPoint.y ) maxPoint.y = point.y; + if ( point.z > maxPoint.z ) maxPoint.z = point.z; + } + return new THREE.Box3( min, max ); + } + + get() { + const min = this._absoluteMin.clone(); + const max = this._absoluteMax.clone(); + return new THREE.Box3( min, max ); + } + + getMesh() { + const bbox = new THREE.Box3( this._absoluteMin, this._absoluteMax ); + const dimensions = BoundingBox.getDimensions( bbox ); + const { width, height, depth, center } = dimensions; + const box = new THREE.BoxGeometry( width, height, depth ); + const mesh = new THREE.Mesh( box ); + mesh.position.copy( center ); + return mesh; + } + + reset() { + this._absoluteMin = BoundingBox.newBound( false ); + this._absoluteMax = BoundingBox.newBound( true ); + } + + add( group: FragmentsGroup ) { + for ( const frag of group.items ) { + this.addFragment( frag ); + } + } + + addFragment( fragment: any ) { + const bbox = BoundingBox.getFragmentBounds( fragment ); + console.log( bbox ); + const instanceTransform = new THREE.Matrix4(); + for ( let i = 0; i < fragment.mesh.count; i++ ) { + fragment.getInstance( i, instanceTransform ); + const min = bbox.min.clone(); + const max = bbox.max.clone(); + + min.applyMatrix4( instanceTransform ); + max.applyMatrix4( instanceTransform ); + if ( min.x < this._absoluteMin.x ) this._absoluteMin.x = min.x; + if ( min.y < this._absoluteMin.y ) this._absoluteMin.y = min.y; + if ( min.z < this._absoluteMin.z ) this._absoluteMin.z = min.z; + if ( max.x > this._absoluteMax.x ) this._absoluteMax.x = max.x; + if ( max.y > this._absoluteMax.y ) this._absoluteMax.y = max.y; + if ( max.z > this._absoluteMax.z ) this._absoluteMax.z = max.z; + } + } + getSphere() { + const min = this._absoluteMin.clone(); + const max = this._absoluteMax.clone(); + const dx = Math.abs( ( max.x - min.x ) / 2 ); + const dy = Math.abs( ( max.y - min.y ) / 2 ); + const dz = Math.abs( ( max.z - min.z ) / 2 ); + const center = new THREE.Vector3( min.x + dx, min.y + dy, min.z + dz ); + const radius = center.distanceTo( min ); + return new THREE.Sphere( center, radius ); + } + private static getFragmentBounds( fragment: Fragment ) { + const position = fragment.mesh.geometry.attributes.position; + + const maxNum = Number.MAX_VALUE; + const minNum = -maxNum; + const min = new THREE.Vector3( maxNum, maxNum, maxNum ); + const max = new THREE.Vector3( minNum, minNum, minNum ); + + const indices = Array.from( fragment.mesh.geometry.index.array ); + + for ( const index of indices ) { + const x = position.getX( index ); + const y = position.getY( index ); + const z = position.getZ( index ); + + if ( x < min.x ) min.x = x; + if ( y < min.y ) min.y = y; + if ( z < min.z ) min.z = z; + if ( x > max.x ) max.x = x; + if ( y > max.y ) max.y = y; + if ( z > max.z ) max.z = z; + } + return new THREE.Box3( min, max ); + } +} diff --git a/src/viewer/model/Utils/DataConverter.ts b/src/viewer/model/Utils/DataConverter.ts new file mode 100644 index 0000000..6b45716 --- /dev/null +++ b/src/viewer/model/Utils/DataConverter.ts @@ -0,0 +1,300 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import * as THREE from "three"; +import * as WEBIFC from "web-ifc"; +import * as FRAGS from "bim-fragment"; +import { BufferGeometry } from "three"; +import { mergeGeometries } from "three/examples/jsm/utils/BufferGeometryUtils"; + +import { IfcGeometries } from "./GeometryReader"; +import { ModelSetting } from "../ModelSetting"; +import { IfcCategories, IfcItemsCategories } from "./IfcCategories"; +import { BoundingBox } from "./BoundingBox"; +import { IfcJsonExporter } from "./IfcJsonExporter"; +import { toCompositeID } from "./Misc"; +import { SpatialStructure } from "./SpatialStructure"; + +export class DataConverter { + settings = new ModelSetting(); + categories: IfcItemsCategories = {}; + + private _model = new FRAGS.FragmentsGroup(); + private _ifcCategories = new IfcCategories(); + private _bbox = new BoundingBox(); + + private _fragmentKey = 0; + + private _keyFragmentMap: { [key: number]: string } = {}; + private _itemKeyMap: { [expressID: string]: number[] } = {}; + private _propertyExporter = new IfcJsonExporter(); + private readonly _spatialTree = new SpatialStructure(); + + constructor() { } + + cleanUp() { + this._fragmentKey = 0; + this.categories = {}; + this._model = new FRAGS.FragmentsGroup(); + this._ifcCategories = new IfcCategories(); + this._keyFragmentMap = {}; + this._itemKeyMap = {}; + } + + saveIfcCategories( webIfc: WEBIFC.IfcAPI ) { + this.categories = this._ifcCategories.getAll( webIfc, 0 ); + } + + async generate( webIfc: WEBIFC.IfcAPI, geometries: IfcGeometries ) { + this.createAllFragments( geometries ); + await this.saveModelData( webIfc ); + return this._model; + } + + private async saveModelData( webIfc: WEBIFC.IfcAPI ) { + const itemsData = this.getFragmentsGroupData(); + this._model.keyFragments = this._keyFragmentMap; + this._model.data = itemsData; + this._model.coordinationMatrix = this.getCoordinationMatrix( webIfc ); + this._model.properties = await this.getModelProperties( webIfc ); + this._model.uuid = this.getProjectID( webIfc ) || this._model.uuid; + this._model.ifcMetadata = this.getIfcMetadata( webIfc ); + this._model.boundingBox = this.getBoundingBox(); + } + + private getBoundingBox() { + this._bbox.add( this._model ); + const result = this._bbox.get(); + this._bbox.reset(); + return result; + } + + private getIfcMetadata( webIfc: WEBIFC.IfcAPI ) { + const { FILE_NAME, FILE_DESCRIPTION } = WEBIFC; + const name = this.getMetadataEntry( webIfc, FILE_NAME ); + const description = this.getMetadataEntry( webIfc, FILE_DESCRIPTION ); + const schema = ( webIfc.GetModelSchema( 0 ) as FRAGS.IfcSchema ) || "IFC2X3"; + const maxExpressID: number = webIfc.GetMaxExpressID( 0 ); + return { name, description, schema, maxExpressID }; + } + + private getMetadataEntry( webIfc: WEBIFC.IfcAPI, type: number ) { + let description = ""; + const descriptionData = webIfc.GetHeaderLine( 0, type ) || ""; + if ( !descriptionData ) return description; + for ( const arg of descriptionData.arguments ) { + if ( arg === null || arg === undefined ) { + continue; + } + if ( Array.isArray( arg ) ) { + for ( const subArg of arg ) { + description += `${subArg.value}|`; + } + } else { + description += `${arg.value}|`; + } + } + return description; + } + + private getProjectID( webIfc: WEBIFC.IfcAPI ) { + const projectsIDs = webIfc.GetLineIDsWithType( 0, WEBIFC.IFCPROJECT ); + const projectID = projectsIDs.get( 0 ); + const project = webIfc.GetLine( 0, projectID ); + return project.GlobalId.value; + } + + private getCoordinationMatrix( webIfc: WEBIFC.IfcAPI ) { + const coordArray = webIfc.GetCoordinationMatrix( 0 ); + return new THREE.Matrix4().fromArray( coordArray ); + } + + private async getModelProperties( webIfc: WEBIFC.IfcAPI ) { + if ( !this.settings.includeProperties ) { + return {}; + } + return new Promise( ( resolve ) => { + this._propertyExporter.propertiesSerialized.on( ( properties: any ) => { + resolve( properties ); + } ); + this._propertyExporter.export( webIfc, 0 ); + } ); + } + + private createAllFragments( geometries: IfcGeometries ) { + const uniqueItems: { + [matID: string]: { + material: THREE.MeshLambertMaterial; + geometries: THREE.BufferGeometry[]; + expressIDs: string[]; + }; + } = {}; + + const matrix = new THREE.Matrix4(); + const color = new THREE.Color(); + + for ( const id in geometries ) { + const { buffer, instances } = geometries[id]; + + const transparent = instances[0].color.w !== 1; + const opacity = transparent ? 0.4 : 1; + const material = new THREE.MeshLambertMaterial( { transparent, opacity } ); + + // This prevents z-fighting for ifc spaces + if ( opacity !== 1 ) { + material.depthWrite = false; + material.polygonOffset = true; + material.polygonOffsetFactor = 5; + material.polygonOffsetUnits = 1; + } + + if ( instances.length === 1 ) { + const instance = instances[0]; + const { x, y, z, w } = instance.color; + const matID = `${x}-${y}-${z}-${w}`; + if ( !uniqueItems[matID] ) { + material.color = new THREE.Color().setRGB( x, y, z, "srgb" ); + uniqueItems[matID] = { material, geometries: [], expressIDs: [] }; + } + matrix.fromArray( instance.matrix ); + buffer.applyMatrix4( matrix ); + uniqueItems[matID].geometries.push( buffer ); + uniqueItems[matID].expressIDs.push( instance.expressID.toString() ); + continue; + } + + const fragment = new FRAGS.Fragment( buffer, material, instances.length ); + this._keyFragmentMap[this._fragmentKey] = fragment.id; + + const previousIDs = new Set(); + + for ( let i = 0; i < instances.length; i++ ) { + const instance = instances[i]; + matrix.fromArray( instance.matrix ); + const { expressID } = instance; + + let instanceID = expressID.toString(); + let isComposite = false; + if ( !previousIDs.has( expressID ) ) { + previousIDs.add( expressID ); + } else { + if ( !fragment.composites[expressID] ) { + fragment.composites[expressID] = 1; + } + const count = fragment.composites[expressID]; + instanceID = toCompositeID( expressID, count ); + isComposite = true; + fragment.composites[expressID]++; + } + + fragment.setInstance( i, { + ids: [instanceID], + transform: matrix, + } ); + + const { x, y, z } = instance.color; + color.setRGB( x, y, z, "srgb" ); + fragment.mesh.setColorAt( i, color ); + + if ( !isComposite ) { + this.saveExpressID( expressID.toString() ); + } + } + + fragment.mesh.updateMatrix(); + this._model.items.push( fragment ); + this._model.add( fragment.mesh ); + this._fragmentKey++; + } + + const transform = new THREE.Matrix4(); + for ( const matID in uniqueItems ) { + const { material, geometries, expressIDs } = uniqueItems[matID]; + + const geometriesByItem: { [expressID: string]: BufferGeometry[] } = {}; + for ( let i = 0; i < expressIDs.length; i++ ) { + const id = expressIDs[i]; + if ( !geometriesByItem[id] ) { + geometriesByItem[id] = []; + } + geometriesByItem[id].push( geometries[i] ); + } + + const sortedGeometries: BufferGeometry[] = []; + const sortedIDs: string[] = []; + for ( const id in geometriesByItem ) { + sortedIDs.push( id ); + const geometries = geometriesByItem[id]; + if ( geometries.length ) { + const merged = mergeGeometries( geometries ); + sortedGeometries.push( merged ); + } else { + sortedGeometries.push( geometries[0] ); + } + for ( const geometry of geometries ) { + geometry.dispose(); + } + } + + const geometry = FRAGS.GeometryUtils.merge( [sortedGeometries], true ); + const fragment = new FRAGS.Fragment( geometry, material, 1 ); + this._keyFragmentMap[this._fragmentKey] = fragment.id; + + for ( const id of sortedIDs ) { + this.saveExpressID( id ); + } + this._fragmentKey++; + + fragment.setInstance( 0, { ids: sortedIDs, transform } ); + this._model.items.push( fragment ); + this.setupModel() + this._model.add( fragment.mesh ); + } + } + private setupModel() { + + this._model.items.forEach( ( item: FRAGS.Fragment ) => { + this.setupFragment( item ) + } ) + } + private setupFragment = ( fragment: FRAGS.Fragment ) => { + // model is loaded then have receive shadows? + fragment.mesh.castShadow = true; + fragment.mesh.receiveShadow = true; + // compute geometry + fragment.mesh.geometry.computeBoundingBox(); + fragment.mesh.geometry.computeBoundingSphere(); + fragment.mesh.geometry.computeVertexNormals(); + // set model type for cast element + // storage modelMaterials + // if ( Array.isArray( fragment.mesh.material ) ) { + // fragment.mesh.material.forEach( ( material ) => { + // material.clipShadows = true; + // } ); + // } else { + // fragment.mesh.material.clipShadows = true; + // } + + } + private saveExpressID( expressID: string ) { + if ( !this._itemKeyMap[expressID] ) { + this._itemKeyMap[expressID] = []; + } + this._itemKeyMap[expressID].push( this._fragmentKey ); + } + + private getFragmentsGroupData() { + const itemsData: { [expressID: number]: [number[], number[]] } = {}; + for ( const id in this._itemKeyMap ) { + const keys: number[] = []; + const rels: number[] = []; + const idNum = parseInt( id, 10 ); + const level = this._spatialTree.itemsByFloor[idNum] || 0; + const category = this.categories[idNum] || 0; + rels.push( level, category ); + for ( const key of this._itemKeyMap[id] ) { + keys.push( key ); + } + itemsData[idNum] = [keys, rels]; + } + return itemsData; + } +} diff --git a/src/viewer/model/Utils/GeometryReader.ts b/src/viewer/model/Utils/GeometryReader.ts new file mode 100644 index 0000000..89272f2 --- /dev/null +++ b/src/viewer/model/Utils/GeometryReader.ts @@ -0,0 +1,143 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import * as THREE from "three"; +import * as WEBIFC from "web-ifc"; +import { BvhManager } from "./BVH"; +import { acceleratedRaycast, computeBoundsTree, disposeBoundsTree } from 'three-mesh-bvh'; + +export interface IfcGeometries { + [id: string]: { + buffer: THREE.BufferGeometry; + instances: { color: WEBIFC.Color; matrix: number[]; expressID: number }[]; + }; +} +export class GeometryReader { + private _api!: WEBIFC.IfcAPI; + + saveLocations = false; + + items: IfcGeometries = {}; + locations: { [itemID: number]: [number, number, number] } = {}; + BVH: BvhManager = new BvhManager() + get api() { + if ( !this._api ) { + return null + } + return this._api; + } + + /** + * + */ + constructor() { + this.BVH.initializeMeshBVH( computeBoundsTree, disposeBoundsTree, acceleratedRaycast ) + } + + cleanUp() { + this.items = {}; + this.locations = {}; + ( this._api as any ) = null; + } + + + + streamMesh( + webifc: WEBIFC.IfcAPI, + mesh: WEBIFC.FlatMesh, + forceTransparent = false + ) { + this._api = webifc; + const size = mesh.geometries.size(); + + const totalTransform = new THREE.Vector3(); + const tempMatrix = new THREE.Matrix4(); + const tempVector = new THREE.Vector3(); + + for ( let i = 0; i < size; i++ ) { + const geometry = mesh.geometries.get( i ); + const geometryID = geometry.geometryExpressID; + + if ( this.saveLocations ) { + tempVector.set( 0, 0, 0 ); + tempMatrix.fromArray( geometry.flatTransformation ); + tempVector.applyMatrix4( tempMatrix ); + totalTransform.add( tempVector ); + } + + // Transparent geometries need to be separated + const isColorTransparent = geometry.color.w !== 1; + const isTransparent = isColorTransparent || forceTransparent; + const prefix = isTransparent ? "-" : "+"; + const idWithTransparency = prefix + geometryID; + if ( forceTransparent ) geometry.color.w = 0.1; + + if ( !this.items[idWithTransparency] ) { + const buffer = this.newBufferGeometry( geometryID ); + if ( !buffer ) continue; + this.items[idWithTransparency] = { buffer, instances: [] }; + } + + this.items[idWithTransparency].instances.push( { + color: { ...geometry.color }, + matrix: geometry.flatTransformation, + expressID: mesh.expressID, + } ); + } + + if ( this.saveLocations ) { + const { x, y, z } = totalTransform.divideScalar( size ); + this.locations[mesh.expressID] = [x, y, z]; + } + } + + private newBufferGeometry( geometryID: number ) { + const geometry = this._api.GetGeometry( 0, geometryID ); + const verts = this.getVertices( geometry ); + if ( !verts.length ) return null; + const indices = this.getIndices( geometry ); + if ( !indices.length ) return null; + const buffer = this.constructBuffer( verts, indices ); + // @ts-ignore + geometry.delete(); + return buffer; + } + + private getIndices( geometryData: WEBIFC.IfcGeometry ) { + const indices = this._api.GetIndexArray( + geometryData.GetIndexData(), + geometryData.GetIndexDataSize() + ) as Uint32Array; + return indices; + } + + private getVertices( geometryData: WEBIFC.IfcGeometry ) { + const verts = this._api.GetVertexArray( + geometryData.GetVertexData(), + geometryData.GetVertexDataSize() + ) as Float32Array; + return verts; + } + + private constructBuffer( vertexData: Float32Array, indexData: Uint32Array ) { + const geometry = new THREE.BufferGeometry(); + + const posFloats = new Float32Array( vertexData.length / 2 ); + const normFloats = new Float32Array( vertexData.length / 2 ); + + for ( let i = 0; i < vertexData.length; i += 6 ) { + posFloats[i / 2] = vertexData[i]; + posFloats[i / 2 + 1] = vertexData[i + 1]; + posFloats[i / 2 + 2] = vertexData[i + 2]; + + normFloats[i / 2] = vertexData[i + 3]; + normFloats[i / 2 + 1] = vertexData[i + 4]; + normFloats[i / 2 + 2] = vertexData[i + 5]; + } + + geometry.setAttribute( "position", new THREE.BufferAttribute( posFloats, 3 ) ); + geometry.setAttribute( "normal", new THREE.BufferAttribute( normFloats, 3 ) ); + geometry.setIndex( new THREE.BufferAttribute( indexData, 1 ) ); + + return geometry; + } +} \ No newline at end of file diff --git a/src/viewer/model/Utils/IfcCategories.ts b/src/viewer/model/Utils/IfcCategories.ts new file mode 100644 index 0000000..a88e485 --- /dev/null +++ b/src/viewer/model/Utils/IfcCategories.ts @@ -0,0 +1,26 @@ +import * as WEBIFC from "web-ifc"; +import { IfcElements } from "./IfcElements"; + +// TODO: Export elements and category maps from web-ifc + +export interface IfcItemsCategories { + [itemID: number]: number; +} + +export class IfcCategories { + getAll( webIfc: WEBIFC.IfcAPI, modelID: number ) { + const elementsCategories: IfcItemsCategories = {}; + const categoriesIDs = Object.keys( IfcElements ).map( ( e ) => parseInt( e, 10 ) ); + + for ( let i = 0; i < categoriesIDs.length; i++ ) { + const element = categoriesIDs[i]; + const lines = webIfc.GetLineIDsWithType( modelID, element ); + const size = lines.size(); + for ( let i = 0; i < size; i++ ) { + elementsCategories[lines.get( i )] = element; + } + } + + return elementsCategories; + } +} \ No newline at end of file diff --git a/src/viewer/model/Utils/IfcCategoryMap.ts b/src/viewer/model/Utils/IfcCategoryMap.ts new file mode 100644 index 0000000..31003f5 --- /dev/null +++ b/src/viewer/model/Utils/IfcCategoryMap.ts @@ -0,0 +1,818 @@ +export const IfcCategoryMap: { [key: number]: string } = { + 3821786052: "IFCACTIONREQUEST", + 2296667514: "IFCACTOR", + 3630933823: "IFCACTORROLE", + 4288193352: "IFCACTUATOR", + 2874132201: "IFCACTUATORTYPE", + 618182010: "IFCADDRESS", + 1635779807: "IFCADVANCEDBREP", + 2603310189: "IFCADVANCEDBREPWITHVOIDS", + 3406155212: "IFCADVANCEDFACE", + 1634111441: "IFCAIRTERMINAL", + 177149247: "IFCAIRTERMINALBOX", + 1411407467: "IFCAIRTERMINALBOXTYPE", + 3352864051: "IFCAIRTERMINALTYPE", + 2056796094: "IFCAIRTOAIRHEATRECOVERY", + 1871374353: "IFCAIRTOAIRHEATRECOVERYTYPE", + 3087945054: "IFCALARM", + 3001207471: "IFCALARMTYPE", + 325726236: "IFCALIGNMENT", + 749761778: "IFCALIGNMENT2DHORIZONTAL", + 3199563722: "IFCALIGNMENT2DHORIZONTALSEGMENT", + 2483840362: "IFCALIGNMENT2DSEGMENT", + 3379348081: "IFCALIGNMENT2DVERSEGCIRCULARARC", + 3239324667: "IFCALIGNMENT2DVERSEGLINE", + 4263986512: "IFCALIGNMENT2DVERSEGPARABOLICARC", + 53199957: "IFCALIGNMENT2DVERTICAL", + 2029264950: "IFCALIGNMENT2DVERTICALSEGMENT", + 3512275521: "IFCALIGNMENTCURVE", + 1674181508: "IFCANNOTATION", + 669184980: "IFCANNOTATIONFILLAREA", + 639542469: "IFCAPPLICATION", + 411424972: "IFCAPPLIEDVALUE", + 130549933: "IFCAPPROVAL", + 3869604511: "IFCAPPROVALRELATIONSHIP", + 3798115385: "IFCARBITRARYCLOSEDPROFILEDEF", + 1310608509: "IFCARBITRARYOPENPROFILEDEF", + 2705031697: "IFCARBITRARYPROFILEDEFWITHVOIDS", + 3460190687: "IFCASSET", + 3207858831: "IFCASYMMETRICISHAPEPROFILEDEF", + 277319702: "IFCAUDIOVISUALAPPLIANCE", + 1532957894: "IFCAUDIOVISUALAPPLIANCETYPE", + 4261334040: "IFCAXIS1PLACEMENT", + 3125803723: "IFCAXIS2PLACEMENT2D", + 2740243338: "IFCAXIS2PLACEMENT3D", + 1967976161: "IFCBSPLINECURVE", + 2461110595: "IFCBSPLINECURVEWITHKNOTS", + 2887950389: "IFCBSPLINESURFACE", + 167062518: "IFCBSPLINESURFACEWITHKNOTS", + 753842376: "IFCBEAM", + 2906023776: "IFCBEAMSTANDARDCASE", + 819618141: "IFCBEAMTYPE", + 4196446775: "IFCBEARING", + 3649138523: "IFCBEARINGTYPE", + 616511568: "IFCBLOBTEXTURE", + 1334484129: "IFCBLOCK", + 32344328: "IFCBOILER", + 231477066: "IFCBOILERTYPE", + 3649129432: "IFCBOOLEANCLIPPINGRESULT", + 2736907675: "IFCBOOLEANRESULT", + 4037036970: "IFCBOUNDARYCONDITION", + 1136057603: "IFCBOUNDARYCURVE", + 1560379544: "IFCBOUNDARYEDGECONDITION", + 3367102660: "IFCBOUNDARYFACECONDITION", + 1387855156: "IFCBOUNDARYNODECONDITION", + 2069777674: "IFCBOUNDARYNODECONDITIONWARPING", + 1260505505: "IFCBOUNDEDCURVE", + 4182860854: "IFCBOUNDEDSURFACE", + 2581212453: "IFCBOUNDINGBOX", + 2713105998: "IFCBOXEDHALFSPACE", + 644574406: "IFCBRIDGE", + 963979645: "IFCBRIDGEPART", + 4031249490: "IFCBUILDING", + 3299480353: "IFCBUILDINGELEMENT", + 2979338954: "IFCBUILDINGELEMENTPART", + 39481116: "IFCBUILDINGELEMENTPARTTYPE", + 1095909175: "IFCBUILDINGELEMENTPROXY", + 1909888760: "IFCBUILDINGELEMENTPROXYTYPE", + 1950629157: "IFCBUILDINGELEMENTTYPE", + 3124254112: "IFCBUILDINGSTOREY", + 1177604601: "IFCBUILDINGSYSTEM", + 2938176219: "IFCBURNER", + 2188180465: "IFCBURNERTYPE", + 2898889636: "IFCCSHAPEPROFILEDEF", + 635142910: "IFCCABLECARRIERFITTING", + 395041908: "IFCCABLECARRIERFITTINGTYPE", + 3758799889: "IFCCABLECARRIERSEGMENT", + 3293546465: "IFCCABLECARRIERSEGMENTTYPE", + 1051757585: "IFCCABLEFITTING", + 2674252688: "IFCCABLEFITTINGTYPE", + 4217484030: "IFCCABLESEGMENT", + 1285652485: "IFCCABLESEGMENTTYPE", + 3999819293: "IFCCAISSONFOUNDATION", + 3203706013: "IFCCAISSONFOUNDATIONTYPE", + 1123145078: "IFCCARTESIANPOINT", + 574549367: "IFCCARTESIANPOINTLIST", + 1675464909: "IFCCARTESIANPOINTLIST2D", + 2059837836: "IFCCARTESIANPOINTLIST3D", + 59481748: "IFCCARTESIANTRANSFORMATIONOPERATOR", + 3749851601: "IFCCARTESIANTRANSFORMATIONOPERATOR2D", + 3486308946: "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", + 3331915920: "IFCCARTESIANTRANSFORMATIONOPERATOR3D", + 1416205885: "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM", + 3150382593: "IFCCENTERLINEPROFILEDEF", + 3902619387: "IFCCHILLER", + 2951183804: "IFCCHILLERTYPE", + 3296154744: "IFCCHIMNEY", + 2197970202: "IFCCHIMNEYTYPE", + 2611217952: "IFCCIRCLE", + 2937912522: "IFCCIRCLEHOLLOWPROFILEDEF", + 1383045692: "IFCCIRCLEPROFILEDEF", + 1062206242: "IFCCIRCULARARCSEGMENT2D", + 1677625105: "IFCCIVILELEMENT", + 3893394355: "IFCCIVILELEMENTTYPE", + 747523909: "IFCCLASSIFICATION", + 647927063: "IFCCLASSIFICATIONREFERENCE", + 2205249479: "IFCCLOSEDSHELL", + 639361253: "IFCCOIL", + 2301859152: "IFCCOILTYPE", + 776857604: "IFCCOLOURRGB", + 3285139300: "IFCCOLOURRGBLIST", + 3264961684: "IFCCOLOURSPECIFICATION", + 843113511: "IFCCOLUMN", + 905975707: "IFCCOLUMNSTANDARDCASE", + 300633059: "IFCCOLUMNTYPE", + 3221913625: "IFCCOMMUNICATIONSAPPLIANCE", + 400855858: "IFCCOMMUNICATIONSAPPLIANCETYPE", + 2542286263: "IFCCOMPLEXPROPERTY", + 3875453745: "IFCCOMPLEXPROPERTYTEMPLATE", + 3732776249: "IFCCOMPOSITECURVE", + 15328376: "IFCCOMPOSITECURVEONSURFACE", + 2485617015: "IFCCOMPOSITECURVESEGMENT", + 1485152156: "IFCCOMPOSITEPROFILEDEF", + 3571504051: "IFCCOMPRESSOR", + 3850581409: "IFCCOMPRESSORTYPE", + 2272882330: "IFCCONDENSER", + 2816379211: "IFCCONDENSERTYPE", + 2510884976: "IFCCONIC", + 370225590: "IFCCONNECTEDFACESET", + 1981873012: "IFCCONNECTIONCURVEGEOMETRY", + 2859738748: "IFCCONNECTIONGEOMETRY", + 45288368: "IFCCONNECTIONPOINTECCENTRICITY", + 2614616156: "IFCCONNECTIONPOINTGEOMETRY", + 2732653382: "IFCCONNECTIONSURFACEGEOMETRY", + 775493141: "IFCCONNECTIONVOLUMEGEOMETRY", + 1959218052: "IFCCONSTRAINT", + 3898045240: "IFCCONSTRUCTIONEQUIPMENTRESOURCE", + 2185764099: "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", + 1060000209: "IFCCONSTRUCTIONMATERIALRESOURCE", + 4105962743: "IFCCONSTRUCTIONMATERIALRESOURCETYPE", + 488727124: "IFCCONSTRUCTIONPRODUCTRESOURCE", + 1525564444: "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", + 2559216714: "IFCCONSTRUCTIONRESOURCE", + 2574617495: "IFCCONSTRUCTIONRESOURCETYPE", + 3419103109: "IFCCONTEXT", + 3050246964: "IFCCONTEXTDEPENDENTUNIT", + 3293443760: "IFCCONTROL", + 25142252: "IFCCONTROLLER", + 578613899: "IFCCONTROLLERTYPE", + 2889183280: "IFCCONVERSIONBASEDUNIT", + 2713554722: "IFCCONVERSIONBASEDUNITWITHOFFSET", + 4136498852: "IFCCOOLEDBEAM", + 335055490: "IFCCOOLEDBEAMTYPE", + 3640358203: "IFCCOOLINGTOWER", + 2954562838: "IFCCOOLINGTOWERTYPE", + 1785450214: "IFCCOORDINATEOPERATION", + 1466758467: "IFCCOORDINATEREFERENCESYSTEM", + 3895139033: "IFCCOSTITEM", + 1419761937: "IFCCOSTSCHEDULE", + 602808272: "IFCCOSTVALUE", + 1973544240: "IFCCOVERING", + 1916426348: "IFCCOVERINGTYPE", + 3295246426: "IFCCREWRESOURCE", + 1815067380: "IFCCREWRESOURCETYPE", + 2506170314: "IFCCSGPRIMITIVE3D", + 2147822146: "IFCCSGSOLID", + 539742890: "IFCCURRENCYRELATIONSHIP", + 3495092785: "IFCCURTAINWALL", + 1457835157: "IFCCURTAINWALLTYPE", + 2601014836: "IFCCURVE", + 2827736869: "IFCCURVEBOUNDEDPLANE", + 2629017746: "IFCCURVEBOUNDEDSURFACE", + 1186437898: "IFCCURVESEGMENT2D", + 3800577675: "IFCCURVESTYLE", + 1105321065: "IFCCURVESTYLEFONT", + 2367409068: "IFCCURVESTYLEFONTANDSCALING", + 3510044353: "IFCCURVESTYLEFONTPATTERN", + 1213902940: "IFCCYLINDRICALSURFACE", + 4074379575: "IFCDAMPER", + 3961806047: "IFCDAMPERTYPE", + 3426335179: "IFCDEEPFOUNDATION", + 1306400036: "IFCDEEPFOUNDATIONTYPE", + 3632507154: "IFCDERIVEDPROFILEDEF", + 1765591967: "IFCDERIVEDUNIT", + 1045800335: "IFCDERIVEDUNITELEMENT", + 2949456006: "IFCDIMENSIONALEXPONENTS", + 32440307: "IFCDIRECTION", + 1335981549: "IFCDISCRETEACCESSORY", + 2635815018: "IFCDISCRETEACCESSORYTYPE", + 1945343521: "IFCDISTANCEEXPRESSION", + 1052013943: "IFCDISTRIBUTIONCHAMBERELEMENT", + 1599208980: "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", + 562808652: "IFCDISTRIBUTIONCIRCUIT", + 1062813311: "IFCDISTRIBUTIONCONTROLELEMENT", + 2063403501: "IFCDISTRIBUTIONCONTROLELEMENTTYPE", + 1945004755: "IFCDISTRIBUTIONELEMENT", + 3256556792: "IFCDISTRIBUTIONELEMENTTYPE", + 3040386961: "IFCDISTRIBUTIONFLOWELEMENT", + 3849074793: "IFCDISTRIBUTIONFLOWELEMENTTYPE", + 3041715199: "IFCDISTRIBUTIONPORT", + 3205830791: "IFCDISTRIBUTIONSYSTEM", + 1154170062: "IFCDOCUMENTINFORMATION", + 770865208: "IFCDOCUMENTINFORMATIONRELATIONSHIP", + 3732053477: "IFCDOCUMENTREFERENCE", + 395920057: "IFCDOOR", + 2963535650: "IFCDOORLININGPROPERTIES", + 1714330368: "IFCDOORPANELPROPERTIES", + 3242481149: "IFCDOORSTANDARDCASE", + 526551008: "IFCDOORSTYLE", + 2323601079: "IFCDOORTYPE", + 445594917: "IFCDRAUGHTINGPREDEFINEDCOLOUR", + 4006246654: "IFCDRAUGHTINGPREDEFINEDCURVEFONT", + 342316401: "IFCDUCTFITTING", + 869906466: "IFCDUCTFITTINGTYPE", + 3518393246: "IFCDUCTSEGMENT", + 3760055223: "IFCDUCTSEGMENTTYPE", + 1360408905: "IFCDUCTSILENCER", + 2030761528: "IFCDUCTSILENCERTYPE", + 3900360178: "IFCEDGE", + 476780140: "IFCEDGECURVE", + 1472233963: "IFCEDGELOOP", + 1904799276: "IFCELECTRICAPPLIANCE", + 663422040: "IFCELECTRICAPPLIANCETYPE", + 862014818: "IFCELECTRICDISTRIBUTIONBOARD", + 2417008758: "IFCELECTRICDISTRIBUTIONBOARDTYPE", + 3310460725: "IFCELECTRICFLOWSTORAGEDEVICE", + 3277789161: "IFCELECTRICFLOWSTORAGEDEVICETYPE", + 264262732: "IFCELECTRICGENERATOR", + 1534661035: "IFCELECTRICGENERATORTYPE", + 402227799: "IFCELECTRICMOTOR", + 1217240411: "IFCELECTRICMOTORTYPE", + 1003880860: "IFCELECTRICTIMECONTROL", + 712377611: "IFCELECTRICTIMECONTROLTYPE", + 1758889154: "IFCELEMENT", + 4123344466: "IFCELEMENTASSEMBLY", + 2397081782: "IFCELEMENTASSEMBLYTYPE", + 1623761950: "IFCELEMENTCOMPONENT", + 2590856083: "IFCELEMENTCOMPONENTTYPE", + 1883228015: "IFCELEMENTQUANTITY", + 339256511: "IFCELEMENTTYPE", + 2777663545: "IFCELEMENTARYSURFACE", + 1704287377: "IFCELLIPSE", + 2835456948: "IFCELLIPSEPROFILEDEF", + 1658829314: "IFCENERGYCONVERSIONDEVICE", + 2107101300: "IFCENERGYCONVERSIONDEVICETYPE", + 2814081492: "IFCENGINE", + 132023988: "IFCENGINETYPE", + 3747195512: "IFCEVAPORATIVECOOLER", + 3174744832: "IFCEVAPORATIVECOOLERTYPE", + 484807127: "IFCEVAPORATOR", + 3390157468: "IFCEVAPORATORTYPE", + 4148101412: "IFCEVENT", + 211053100: "IFCEVENTTIME", + 4024345920: "IFCEVENTTYPE", + 297599258: "IFCEXTENDEDPROPERTIES", + 4294318154: "IFCEXTERNALINFORMATION", + 3200245327: "IFCEXTERNALREFERENCE", + 1437805879: "IFCEXTERNALREFERENCERELATIONSHIP", + 1209101575: "IFCEXTERNALSPATIALELEMENT", + 2853485674: "IFCEXTERNALSPATIALSTRUCTUREELEMENT", + 2242383968: "IFCEXTERNALLYDEFINEDHATCHSTYLE", + 1040185647: "IFCEXTERNALLYDEFINEDSURFACESTYLE", + 3548104201: "IFCEXTERNALLYDEFINEDTEXTFONT", + 477187591: "IFCEXTRUDEDAREASOLID", + 2804161546: "IFCEXTRUDEDAREASOLIDTAPERED", + 2556980723: "IFCFACE", + 2047409740: "IFCFACEBASEDSURFACEMODEL", + 1809719519: "IFCFACEBOUND", + 803316827: "IFCFACEOUTERBOUND", + 3008276851: "IFCFACESURFACE", + 807026263: "IFCFACETEDBREP", + 3737207727: "IFCFACETEDBREPWITHVOIDS", + 24185140: "IFCFACILITY", + 1310830890: "IFCFACILITYPART", + 4219587988: "IFCFAILURECONNECTIONCONDITION", + 3415622556: "IFCFAN", + 346874300: "IFCFANTYPE", + 647756555: "IFCFASTENER", + 2489546625: "IFCFASTENERTYPE", + 2827207264: "IFCFEATUREELEMENT", + 2143335405: "IFCFEATUREELEMENTADDITION", + 1287392070: "IFCFEATUREELEMENTSUBTRACTION", + 738692330: "IFCFILLAREASTYLE", + 374418227: "IFCFILLAREASTYLEHATCHING", + 315944413: "IFCFILLAREASTYLETILES", + 819412036: "IFCFILTER", + 1810631287: "IFCFILTERTYPE", + 1426591983: "IFCFIRESUPPRESSIONTERMINAL", + 4222183408: "IFCFIRESUPPRESSIONTERMINALTYPE", + 2652556860: "IFCFIXEDREFERENCESWEPTAREASOLID", + 2058353004: "IFCFLOWCONTROLLER", + 3907093117: "IFCFLOWCONTROLLERTYPE", + 4278956645: "IFCFLOWFITTING", + 3198132628: "IFCFLOWFITTINGTYPE", + 182646315: "IFCFLOWINSTRUMENT", + 4037862832: "IFCFLOWINSTRUMENTTYPE", + 2188021234: "IFCFLOWMETER", + 3815607619: "IFCFLOWMETERTYPE", + 3132237377: "IFCFLOWMOVINGDEVICE", + 1482959167: "IFCFLOWMOVINGDEVICETYPE", + 987401354: "IFCFLOWSEGMENT", + 1834744321: "IFCFLOWSEGMENTTYPE", + 707683696: "IFCFLOWSTORAGEDEVICE", + 1339347760: "IFCFLOWSTORAGEDEVICETYPE", + 2223149337: "IFCFLOWTERMINAL", + 2297155007: "IFCFLOWTERMINALTYPE", + 3508470533: "IFCFLOWTREATMENTDEVICE", + 3009222698: "IFCFLOWTREATMENTDEVICETYPE", + 900683007: "IFCFOOTING", + 1893162501: "IFCFOOTINGTYPE", + 263784265: "IFCFURNISHINGELEMENT", + 4238390223: "IFCFURNISHINGELEMENTTYPE", + 1509553395: "IFCFURNITURE", + 1268542332: "IFCFURNITURETYPE", + 3493046030: "IFCGEOGRAPHICELEMENT", + 4095422895: "IFCGEOGRAPHICELEMENTTYPE", + 987898635: "IFCGEOMETRICCURVESET", + 3448662350: "IFCGEOMETRICREPRESENTATIONCONTEXT", + 2453401579: "IFCGEOMETRICREPRESENTATIONITEM", + 4142052618: "IFCGEOMETRICREPRESENTATIONSUBCONTEXT", + 3590301190: "IFCGEOMETRICSET", + 3009204131: "IFCGRID", + 852622518: "IFCGRIDAXIS", + 178086475: "IFCGRIDPLACEMENT", + 2706460486: "IFCGROUP", + 812098782: "IFCHALFSPACESOLID", + 3319311131: "IFCHEATEXCHANGER", + 1251058090: "IFCHEATEXCHANGERTYPE", + 2068733104: "IFCHUMIDIFIER", + 1806887404: "IFCHUMIDIFIERTYPE", + 1484403080: "IFCISHAPEPROFILEDEF", + 3905492369: "IFCIMAGETEXTURE", + 3570813810: "IFCINDEXEDCOLOURMAP", + 2571569899: "IFCINDEXEDPOLYCURVE", + 178912537: "IFCINDEXEDPOLYGONALFACE", + 2294589976: "IFCINDEXEDPOLYGONALFACEWITHVOIDS", + 1437953363: "IFCINDEXEDTEXTUREMAP", + 2133299955: "IFCINDEXEDTRIANGLETEXTUREMAP", + 4175244083: "IFCINTERCEPTOR", + 3946677679: "IFCINTERCEPTORTYPE", + 3113134337: "IFCINTERSECTIONCURVE", + 2391368822: "IFCINVENTORY", + 3741457305: "IFCIRREGULARTIMESERIES", + 3020489413: "IFCIRREGULARTIMESERIESVALUE", + 2176052936: "IFCJUNCTIONBOX", + 4288270099: "IFCJUNCTIONBOXTYPE", + 572779678: "IFCLSHAPEPROFILEDEF", + 3827777499: "IFCLABORRESOURCE", + 428585644: "IFCLABORRESOURCETYPE", + 1585845231: "IFCLAGTIME", + 76236018: "IFCLAMP", + 1051575348: "IFCLAMPTYPE", + 2655187982: "IFCLIBRARYINFORMATION", + 3452421091: "IFCLIBRARYREFERENCE", + 4162380809: "IFCLIGHTDISTRIBUTIONDATA", + 629592764: "IFCLIGHTFIXTURE", + 1161773419: "IFCLIGHTFIXTURETYPE", + 1566485204: "IFCLIGHTINTENSITYDISTRIBUTION", + 1402838566: "IFCLIGHTSOURCE", + 125510826: "IFCLIGHTSOURCEAMBIENT", + 2604431987: "IFCLIGHTSOURCEDIRECTIONAL", + 4266656042: "IFCLIGHTSOURCEGONIOMETRIC", + 1520743889: "IFCLIGHTSOURCEPOSITIONAL", + 3422422726: "IFCLIGHTSOURCESPOT", + 1281925730: "IFCLINE", + 3092502836: "IFCLINESEGMENT2D", + 388784114: "IFCLINEARPLACEMENT", + 1154579445: "IFCLINEARPOSITIONINGELEMENT", + 2624227202: "IFCLOCALPLACEMENT", + 1008929658: "IFCLOOP", + 1425443689: "IFCMANIFOLDSOLIDBREP", + 3057273783: "IFCMAPCONVERSION", + 2347385850: "IFCMAPPEDITEM", + 1838606355: "IFCMATERIAL", + 1847130766: "IFCMATERIALCLASSIFICATIONRELATIONSHIP", + 3708119000: "IFCMATERIALCONSTITUENT", + 2852063980: "IFCMATERIALCONSTITUENTSET", + 760658860: "IFCMATERIALDEFINITION", + 2022407955: "IFCMATERIALDEFINITIONREPRESENTATION", + 248100487: "IFCMATERIALLAYER", + 3303938423: "IFCMATERIALLAYERSET", + 1303795690: "IFCMATERIALLAYERSETUSAGE", + 1847252529: "IFCMATERIALLAYERWITHOFFSETS", + 2199411900: "IFCMATERIALLIST", + 2235152071: "IFCMATERIALPROFILE", + 164193824: "IFCMATERIALPROFILESET", + 3079605661: "IFCMATERIALPROFILESETUSAGE", + 3404854881: "IFCMATERIALPROFILESETUSAGETAPERING", + 552965576: "IFCMATERIALPROFILEWITHOFFSETS", + 3265635763: "IFCMATERIALPROPERTIES", + 853536259: "IFCMATERIALRELATIONSHIP", + 1507914824: "IFCMATERIALUSAGEDEFINITION", + 2597039031: "IFCMEASUREWITHUNIT", + 377706215: "IFCMECHANICALFASTENER", + 2108223431: "IFCMECHANICALFASTENERTYPE", + 1437502449: "IFCMEDICALDEVICE", + 1114901282: "IFCMEDICALDEVICETYPE", + 1073191201: "IFCMEMBER", + 1911478936: "IFCMEMBERSTANDARDCASE", + 3181161470: "IFCMEMBERTYPE", + 3368373690: "IFCMETRIC", + 2998442950: "IFCMIRROREDPROFILEDEF", + 2706619895: "IFCMONETARYUNIT", + 2474470126: "IFCMOTORCONNECTION", + 977012517: "IFCMOTORCONNECTIONTYPE", + 1918398963: "IFCNAMEDUNIT", + 3888040117: "IFCOBJECT", + 219451334: "IFCOBJECTDEFINITION", + 3701648758: "IFCOBJECTPLACEMENT", + 2251480897: "IFCOBJECTIVE", + 4143007308: "IFCOCCUPANT", + 590820931: "IFCOFFSETCURVE", + 3388369263: "IFCOFFSETCURVE2D", + 3505215534: "IFCOFFSETCURVE3D", + 2485787929: "IFCOFFSETCURVEBYDISTANCES", + 2665983363: "IFCOPENSHELL", + 3588315303: "IFCOPENINGELEMENT", + 3079942009: "IFCOPENINGSTANDARDCASE", + 4251960020: "IFCORGANIZATION", + 1411181986: "IFCORGANIZATIONRELATIONSHIP", + 643959842: "IFCORIENTATIONEXPRESSION", + 1029017970: "IFCORIENTEDEDGE", + 144952367: "IFCOUTERBOUNDARYCURVE", + 3694346114: "IFCOUTLET", + 2837617999: "IFCOUTLETTYPE", + 1207048766: "IFCOWNERHISTORY", + 2529465313: "IFCPARAMETERIZEDPROFILEDEF", + 2519244187: "IFCPATH", + 1682466193: "IFCPCURVE", + 2382730787: "IFCPERFORMANCEHISTORY", + 3566463478: "IFCPERMEABLECOVERINGPROPERTIES", + 3327091369: "IFCPERMIT", + 2077209135: "IFCPERSON", + 101040310: "IFCPERSONANDORGANIZATION", + 3021840470: "IFCPHYSICALCOMPLEXQUANTITY", + 2483315170: "IFCPHYSICALQUANTITY", + 2226359599: "IFCPHYSICALSIMPLEQUANTITY", + 1687234759: "IFCPILE", + 1158309216: "IFCPILETYPE", + 310824031: "IFCPIPEFITTING", + 804291784: "IFCPIPEFITTINGTYPE", + 3612865200: "IFCPIPESEGMENT", + 4231323485: "IFCPIPESEGMENTTYPE", + 597895409: "IFCPIXELTEXTURE", + 2004835150: "IFCPLACEMENT", + 603570806: "IFCPLANARBOX", + 1663979128: "IFCPLANAREXTENT", + 220341763: "IFCPLANE", + 3171933400: "IFCPLATE", + 1156407060: "IFCPLATESTANDARDCASE", + 4017108033: "IFCPLATETYPE", + 2067069095: "IFCPOINT", + 4022376103: "IFCPOINTONCURVE", + 1423911732: "IFCPOINTONSURFACE", + 2924175390: "IFCPOLYLOOP", + 2775532180: "IFCPOLYGONALBOUNDEDHALFSPACE", + 2839578677: "IFCPOLYGONALFACESET", + 3724593414: "IFCPOLYLINE", + 3740093272: "IFCPORT", + 1946335990: "IFCPOSITIONINGELEMENT", + 3355820592: "IFCPOSTALADDRESS", + 759155922: "IFCPREDEFINEDCOLOUR", + 2559016684: "IFCPREDEFINEDCURVEFONT", + 3727388367: "IFCPREDEFINEDITEM", + 3778827333: "IFCPREDEFINEDPROPERTIES", + 3967405729: "IFCPREDEFINEDPROPERTYSET", + 1775413392: "IFCPREDEFINEDTEXTFONT", + 677532197: "IFCPRESENTATIONITEM", + 2022622350: "IFCPRESENTATIONLAYERASSIGNMENT", + 1304840413: "IFCPRESENTATIONLAYERWITHSTYLE", + 3119450353: "IFCPRESENTATIONSTYLE", + 2417041796: "IFCPRESENTATIONSTYLEASSIGNMENT", + 2744685151: "IFCPROCEDURE", + 569719735: "IFCPROCEDURETYPE", + 2945172077: "IFCPROCESS", + 4208778838: "IFCPRODUCT", + 673634403: "IFCPRODUCTDEFINITIONSHAPE", + 2095639259: "IFCPRODUCTREPRESENTATION", + 3958567839: "IFCPROFILEDEF", + 2802850158: "IFCPROFILEPROPERTIES", + 103090709: "IFCPROJECT", + 653396225: "IFCPROJECTLIBRARY", + 2904328755: "IFCPROJECTORDER", + 3843373140: "IFCPROJECTEDCRS", + 3651124850: "IFCPROJECTIONELEMENT", + 2598011224: "IFCPROPERTY", + 986844984: "IFCPROPERTYABSTRACTION", + 871118103: "IFCPROPERTYBOUNDEDVALUE", + 1680319473: "IFCPROPERTYDEFINITION", + 148025276: "IFCPROPERTYDEPENDENCYRELATIONSHIP", + 4166981789: "IFCPROPERTYENUMERATEDVALUE", + 3710013099: "IFCPROPERTYENUMERATION", + 2752243245: "IFCPROPERTYLISTVALUE", + 941946838: "IFCPROPERTYREFERENCEVALUE", + 1451395588: "IFCPROPERTYSET", + 3357820518: "IFCPROPERTYSETDEFINITION", + 492091185: "IFCPROPERTYSETTEMPLATE", + 3650150729: "IFCPROPERTYSINGLEVALUE", + 110355661: "IFCPROPERTYTABLEVALUE", + 3521284610: "IFCPROPERTYTEMPLATE", + 1482703590: "IFCPROPERTYTEMPLATEDEFINITION", + 738039164: "IFCPROTECTIVEDEVICE", + 2295281155: "IFCPROTECTIVEDEVICETRIPPINGUNIT", + 655969474: "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", + 1842657554: "IFCPROTECTIVEDEVICETYPE", + 3219374653: "IFCPROXY", + 90941305: "IFCPUMP", + 2250791053: "IFCPUMPTYPE", + 2044713172: "IFCQUANTITYAREA", + 2093928680: "IFCQUANTITYCOUNT", + 931644368: "IFCQUANTITYLENGTH", + 2090586900: "IFCQUANTITYSET", + 3252649465: "IFCQUANTITYTIME", + 2405470396: "IFCQUANTITYVOLUME", + 825690147: "IFCQUANTITYWEIGHT", + 2262370178: "IFCRAILING", + 2893384427: "IFCRAILINGTYPE", + 3024970846: "IFCRAMP", + 3283111854: "IFCRAMPFLIGHT", + 2324767716: "IFCRAMPFLIGHTTYPE", + 1469900589: "IFCRAMPTYPE", + 1232101972: "IFCRATIONALBSPLINECURVEWITHKNOTS", + 683857671: "IFCRATIONALBSPLINESURFACEWITHKNOTS", + 2770003689: "IFCRECTANGLEHOLLOWPROFILEDEF", + 3615266464: "IFCRECTANGLEPROFILEDEF", + 2798486643: "IFCRECTANGULARPYRAMID", + 3454111270: "IFCRECTANGULARTRIMMEDSURFACE", + 3915482550: "IFCRECURRENCEPATTERN", + 2433181523: "IFCREFERENCE", + 4021432810: "IFCREFERENT", + 3413951693: "IFCREGULARTIMESERIES", + 1580146022: "IFCREINFORCEMENTBARPROPERTIES", + 3765753017: "IFCREINFORCEMENTDEFINITIONPROPERTIES", + 979691226: "IFCREINFORCINGBAR", + 2572171363: "IFCREINFORCINGBARTYPE", + 3027567501: "IFCREINFORCINGELEMENT", + 964333572: "IFCREINFORCINGELEMENTTYPE", + 2320036040: "IFCREINFORCINGMESH", + 2310774935: "IFCREINFORCINGMESHTYPE", + 160246688: "IFCRELAGGREGATES", + 3939117080: "IFCRELASSIGNS", + 1683148259: "IFCRELASSIGNSTOACTOR", + 2495723537: "IFCRELASSIGNSTOCONTROL", + 1307041759: "IFCRELASSIGNSTOGROUP", + 1027710054: "IFCRELASSIGNSTOGROUPBYFACTOR", + 4278684876: "IFCRELASSIGNSTOPROCESS", + 2857406711: "IFCRELASSIGNSTOPRODUCT", + 205026976: "IFCRELASSIGNSTORESOURCE", + 1865459582: "IFCRELASSOCIATES", + 4095574036: "IFCRELASSOCIATESAPPROVAL", + 919958153: "IFCRELASSOCIATESCLASSIFICATION", + 2728634034: "IFCRELASSOCIATESCONSTRAINT", + 982818633: "IFCRELASSOCIATESDOCUMENT", + 3840914261: "IFCRELASSOCIATESLIBRARY", + 2655215786: "IFCRELASSOCIATESMATERIAL", + 826625072: "IFCRELCONNECTS", + 1204542856: "IFCRELCONNECTSELEMENTS", + 3945020480: "IFCRELCONNECTSPATHELEMENTS", + 4201705270: "IFCRELCONNECTSPORTTOELEMENT", + 3190031847: "IFCRELCONNECTSPORTS", + 2127690289: "IFCRELCONNECTSSTRUCTURALACTIVITY", + 1638771189: "IFCRELCONNECTSSTRUCTURALMEMBER", + 504942748: "IFCRELCONNECTSWITHECCENTRICITY", + 3678494232: "IFCRELCONNECTSWITHREALIZINGELEMENTS", + 3242617779: "IFCRELCONTAINEDINSPATIALSTRUCTURE", + 886880790: "IFCRELCOVERSBLDGELEMENTS", + 2802773753: "IFCRELCOVERSSPACES", + 2565941209: "IFCRELDECLARES", + 2551354335: "IFCRELDECOMPOSES", + 693640335: "IFCRELDEFINES", + 1462361463: "IFCRELDEFINESBYOBJECT", + 4186316022: "IFCRELDEFINESBYPROPERTIES", + 307848117: "IFCRELDEFINESBYTEMPLATE", + 781010003: "IFCRELDEFINESBYTYPE", + 3940055652: "IFCRELFILLSELEMENT", + 279856033: "IFCRELFLOWCONTROLELEMENTS", + 427948657: "IFCRELINTERFERESELEMENTS", + 3268803585: "IFCRELNESTS", + 1441486842: "IFCRELPOSITIONS", + 750771296: "IFCRELPROJECTSELEMENT", + 1245217292: "IFCRELREFERENCEDINSPATIALSTRUCTURE", + 4122056220: "IFCRELSEQUENCE", + 366585022: "IFCRELSERVICESBUILDINGS", + 3451746338: "IFCRELSPACEBOUNDARY", + 3523091289: "IFCRELSPACEBOUNDARY1STLEVEL", + 1521410863: "IFCRELSPACEBOUNDARY2NDLEVEL", + 1401173127: "IFCRELVOIDSELEMENT", + 478536968: "IFCRELATIONSHIP", + 816062949: "IFCREPARAMETRISEDCOMPOSITECURVESEGMENT", + 1076942058: "IFCREPRESENTATION", + 3377609919: "IFCREPRESENTATIONCONTEXT", + 3008791417: "IFCREPRESENTATIONITEM", + 1660063152: "IFCREPRESENTATIONMAP", + 2914609552: "IFCRESOURCE", + 2943643501: "IFCRESOURCEAPPROVALRELATIONSHIP", + 1608871552: "IFCRESOURCECONSTRAINTRELATIONSHIP", + 2439245199: "IFCRESOURCELEVELRELATIONSHIP", + 1042787934: "IFCRESOURCETIME", + 1856042241: "IFCREVOLVEDAREASOLID", + 3243963512: "IFCREVOLVEDAREASOLIDTAPERED", + 4158566097: "IFCRIGHTCIRCULARCONE", + 3626867408: "IFCRIGHTCIRCULARCYLINDER", + 2016517767: "IFCROOF", + 2781568857: "IFCROOFTYPE", + 2341007311: "IFCROOT", + 2778083089: "IFCROUNDEDRECTANGLEPROFILEDEF", + 448429030: "IFCSIUNIT", + 3053780830: "IFCSANITARYTERMINAL", + 1768891740: "IFCSANITARYTERMINALTYPE", + 1054537805: "IFCSCHEDULINGTIME", + 2157484638: "IFCSEAMCURVE", + 2042790032: "IFCSECTIONPROPERTIES", + 4165799628: "IFCSECTIONREINFORCEMENTPROPERTIES", + 1862484736: "IFCSECTIONEDSOLID", + 1290935644: "IFCSECTIONEDSOLIDHORIZONTAL", + 1509187699: "IFCSECTIONEDSPINE", + 4086658281: "IFCSENSOR", + 1783015770: "IFCSENSORTYPE", + 1329646415: "IFCSHADINGDEVICE", + 4074543187: "IFCSHADINGDEVICETYPE", + 867548509: "IFCSHAPEASPECT", + 3982875396: "IFCSHAPEMODEL", + 4240577450: "IFCSHAPEREPRESENTATION", + 4124623270: "IFCSHELLBASEDSURFACEMODEL", + 3692461612: "IFCSIMPLEPROPERTY", + 3663146110: "IFCSIMPLEPROPERTYTEMPLATE", + 4097777520: "IFCSITE", + 1529196076: "IFCSLAB", + 3127900445: "IFCSLABELEMENTEDCASE", + 3027962421: "IFCSLABSTANDARDCASE", + 2533589738: "IFCSLABTYPE", + 2609359061: "IFCSLIPPAGECONNECTIONCONDITION", + 3420628829: "IFCSOLARDEVICE", + 1072016465: "IFCSOLARDEVICETYPE", + 723233188: "IFCSOLIDMODEL", + 3856911033: "IFCSPACE", + 1999602285: "IFCSPACEHEATER", + 1305183839: "IFCSPACEHEATERTYPE", + 3812236995: "IFCSPACETYPE", + 1412071761: "IFCSPATIALELEMENT", + 710998568: "IFCSPATIALELEMENTTYPE", + 2706606064: "IFCSPATIALSTRUCTUREELEMENT", + 3893378262: "IFCSPATIALSTRUCTUREELEMENTTYPE", + 463610769: "IFCSPATIALZONE", + 2481509218: "IFCSPATIALZONETYPE", + 451544542: "IFCSPHERE", + 4015995234: "IFCSPHERICALSURFACE", + 1404847402: "IFCSTACKTERMINAL", + 3112655638: "IFCSTACKTERMINALTYPE", + 331165859: "IFCSTAIR", + 4252922144: "IFCSTAIRFLIGHT", + 1039846685: "IFCSTAIRFLIGHTTYPE", + 338393293: "IFCSTAIRTYPE", + 682877961: "IFCSTRUCTURALACTION", + 3544373492: "IFCSTRUCTURALACTIVITY", + 2515109513: "IFCSTRUCTURALANALYSISMODEL", + 1179482911: "IFCSTRUCTURALCONNECTION", + 2273995522: "IFCSTRUCTURALCONNECTIONCONDITION", + 1004757350: "IFCSTRUCTURALCURVEACTION", + 4243806635: "IFCSTRUCTURALCURVECONNECTION", + 214636428: "IFCSTRUCTURALCURVEMEMBER", + 2445595289: "IFCSTRUCTURALCURVEMEMBERVARYING", + 2757150158: "IFCSTRUCTURALCURVEREACTION", + 3136571912: "IFCSTRUCTURALITEM", + 1807405624: "IFCSTRUCTURALLINEARACTION", + 2162789131: "IFCSTRUCTURALLOAD", + 385403989: "IFCSTRUCTURALLOADCASE", + 3478079324: "IFCSTRUCTURALLOADCONFIGURATION", + 1252848954: "IFCSTRUCTURALLOADGROUP", + 1595516126: "IFCSTRUCTURALLOADLINEARFORCE", + 609421318: "IFCSTRUCTURALLOADORRESULT", + 2668620305: "IFCSTRUCTURALLOADPLANARFORCE", + 2473145415: "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", + 1973038258: "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION", + 1597423693: "IFCSTRUCTURALLOADSINGLEFORCE", + 1190533807: "IFCSTRUCTURALLOADSINGLEFORCEWARPING", + 2525727697: "IFCSTRUCTURALLOADSTATIC", + 3408363356: "IFCSTRUCTURALLOADTEMPERATURE", + 530289379: "IFCSTRUCTURALMEMBER", + 1621171031: "IFCSTRUCTURALPLANARACTION", + 2082059205: "IFCSTRUCTURALPOINTACTION", + 734778138: "IFCSTRUCTURALPOINTCONNECTION", + 1235345126: "IFCSTRUCTURALPOINTREACTION", + 3689010777: "IFCSTRUCTURALREACTION", + 2986769608: "IFCSTRUCTURALRESULTGROUP", + 3657597509: "IFCSTRUCTURALSURFACEACTION", + 1975003073: "IFCSTRUCTURALSURFACECONNECTION", + 3979015343: "IFCSTRUCTURALSURFACEMEMBER", + 2218152070: "IFCSTRUCTURALSURFACEMEMBERVARYING", + 603775116: "IFCSTRUCTURALSURFACEREACTION", + 2830218821: "IFCSTYLEMODEL", + 3958052878: "IFCSTYLEDITEM", + 3049322572: "IFCSTYLEDREPRESENTATION", + 148013059: "IFCSUBCONTRACTRESOURCE", + 4095615324: "IFCSUBCONTRACTRESOURCETYPE", + 2233826070: "IFCSUBEDGE", + 2513912981: "IFCSURFACE", + 699246055: "IFCSURFACECURVE", + 2028607225: "IFCSURFACECURVESWEPTAREASOLID", + 3101698114: "IFCSURFACEFEATURE", + 2809605785: "IFCSURFACEOFLINEAREXTRUSION", + 4124788165: "IFCSURFACEOFREVOLUTION", + 2934153892: "IFCSURFACEREINFORCEMENTAREA", + 1300840506: "IFCSURFACESTYLE", + 3303107099: "IFCSURFACESTYLELIGHTING", + 1607154358: "IFCSURFACESTYLEREFRACTION", + 1878645084: "IFCSURFACESTYLERENDERING", + 846575682: "IFCSURFACESTYLESHADING", + 1351298697: "IFCSURFACESTYLEWITHTEXTURES", + 626085974: "IFCSURFACETEXTURE", + 2247615214: "IFCSWEPTAREASOLID", + 1260650574: "IFCSWEPTDISKSOLID", + 1096409881: "IFCSWEPTDISKSOLIDPOLYGONAL", + 230924584: "IFCSWEPTSURFACE", + 1162798199: "IFCSWITCHINGDEVICE", + 2315554128: "IFCSWITCHINGDEVICETYPE", + 2254336722: "IFCSYSTEM", + 413509423: "IFCSYSTEMFURNITUREELEMENT", + 1580310250: "IFCSYSTEMFURNITUREELEMENTTYPE", + 3071757647: "IFCTSHAPEPROFILEDEF", + 985171141: "IFCTABLE", + 2043862942: "IFCTABLECOLUMN", + 531007025: "IFCTABLEROW", + 812556717: "IFCTANK", + 5716631: "IFCTANKTYPE", + 3473067441: "IFCTASK", + 1549132990: "IFCTASKTIME", + 2771591690: "IFCTASKTIMERECURRING", + 3206491090: "IFCTASKTYPE", + 912023232: "IFCTELECOMADDRESS", + 3824725483: "IFCTENDON", + 2347447852: "IFCTENDONANCHOR", + 3081323446: "IFCTENDONANCHORTYPE", + 3663046924: "IFCTENDONCONDUIT", + 2281632017: "IFCTENDONCONDUITTYPE", + 2415094496: "IFCTENDONTYPE", + 2387106220: "IFCTESSELLATEDFACESET", + 901063453: "IFCTESSELLATEDITEM", + 4282788508: "IFCTEXTLITERAL", + 3124975700: "IFCTEXTLITERALWITHEXTENT", + 1447204868: "IFCTEXTSTYLE", + 1983826977: "IFCTEXTSTYLEFONTMODEL", + 2636378356: "IFCTEXTSTYLEFORDEFINEDFONT", + 1640371178: "IFCTEXTSTYLETEXTMODEL", + 280115917: "IFCTEXTURECOORDINATE", + 1742049831: "IFCTEXTURECOORDINATEGENERATOR", + 2552916305: "IFCTEXTUREMAP", + 1210645708: "IFCTEXTUREVERTEX", + 3611470254: "IFCTEXTUREVERTEXLIST", + 1199560280: "IFCTIMEPERIOD", + 3101149627: "IFCTIMESERIES", + 581633288: "IFCTIMESERIESVALUE", + 1377556343: "IFCTOPOLOGICALREPRESENTATIONITEM", + 1735638870: "IFCTOPOLOGYREPRESENTATION", + 1935646853: "IFCTOROIDALSURFACE", + 3825984169: "IFCTRANSFORMER", + 1692211062: "IFCTRANSFORMERTYPE", + 2595432518: "IFCTRANSITIONCURVESEGMENT2D", + 1620046519: "IFCTRANSPORTELEMENT", + 2097647324: "IFCTRANSPORTELEMENTTYPE", + 2715220739: "IFCTRAPEZIUMPROFILEDEF", + 2916149573: "IFCTRIANGULATEDFACESET", + 1229763772: "IFCTRIANGULATEDIRREGULARNETWORK", + 3593883385: "IFCTRIMMEDCURVE", + 3026737570: "IFCTUBEBUNDLE", + 1600972822: "IFCTUBEBUNDLETYPE", + 1628702193: "IFCTYPEOBJECT", + 3736923433: "IFCTYPEPROCESS", + 2347495698: "IFCTYPEPRODUCT", + 3698973494: "IFCTYPERESOURCE", + 427810014: "IFCUSHAPEPROFILEDEF", + 180925521: "IFCUNITASSIGNMENT", + 630975310: "IFCUNITARYCONTROLELEMENT", + 3179687236: "IFCUNITARYCONTROLELEMENTTYPE", + 4292641817: "IFCUNITARYEQUIPMENT", + 1911125066: "IFCUNITARYEQUIPMENTTYPE", + 4207607924: "IFCVALVE", + 728799441: "IFCVALVETYPE", + 1417489154: "IFCVECTOR", + 2799835756: "IFCVERTEX", + 2759199220: "IFCVERTEXLOOP", + 1907098498: "IFCVERTEXPOINT", + 1530820697: "IFCVIBRATIONDAMPER", + 3956297820: "IFCVIBRATIONDAMPERTYPE", + 2391383451: "IFCVIBRATIONISOLATOR", + 3313531582: "IFCVIBRATIONISOLATORTYPE", + 2769231204: "IFCVIRTUALELEMENT", + 891718957: "IFCVIRTUALGRIDINTERSECTION", + 926996030: "IFCVOIDINGFEATURE", + 2391406946: "IFCWALL", + 4156078855: "IFCWALLELEMENTEDCASE", + 3512223829: "IFCWALLSTANDARDCASE", + 1898987631: "IFCWALLTYPE", + 4237592921: "IFCWASTETERMINAL", + 1133259667: "IFCWASTETERMINALTYPE", + 3304561284: "IFCWINDOW", + 336235671: "IFCWINDOWLININGPROPERTIES", + 512836454: "IFCWINDOWPANELPROPERTIES", + 486154966: "IFCWINDOWSTANDARDCASE", + 1299126871: "IFCWINDOWSTYLE", + 4009809668: "IFCWINDOWTYPE", + 4088093105: "IFCWORKCALENDAR", + 1028945134: "IFCWORKCONTROL", + 4218914973: "IFCWORKPLAN", + 3342526732: "IFCWORKSCHEDULE", + 1236880293: "IFCWORKTIME", + 2543172580: "IFCZSHAPEPROFILEDEF", + 1033361043: "IFCZONE", +}; diff --git a/src/viewer/model/Utils/IfcElements.ts b/src/viewer/model/Utils/IfcElements.ts new file mode 100644 index 0000000..e2091a2 --- /dev/null +++ b/src/viewer/model/Utils/IfcElements.ts @@ -0,0 +1,139 @@ +export const IfcElements: { [key: number]: string } = { + 103090709: "IFCPROJECT", + 4097777520: "IFCSITE", + 4031249490: "IFCBUILDING", + 3124254112: "IFCBUILDINGSTOREY", + 3856911033: "IFCSPACE", + 1674181508: "IFCANNOTATION", + 25142252: "IFCCONTROLLER", + 32344328: "IFCBOILER", + 76236018: "IFCLAMP", + 90941305: "IFCPUMP", + 177149247: "IFCAIRTERMINALBOX", + 182646315: "IFCFLOWINSTRUMENT", + 263784265: "IFCFURNISHINGELEMENT", + 264262732: "IFCELECTRICGENERATOR", + 277319702: "IFCAUDIOVISUALAPPLIANCE", + 310824031: "IFCPIPEFITTING", + 331165859: "IFCSTAIR", + 342316401: "IFCDUCTFITTING", + 377706215: "IFCMECHANICALFASTENER", + 395920057: "IFCDOOR", + 402227799: "IFCELECTRICMOTOR", + 413509423: "IFCSYSTEMFURNITUREELEMENT", + 484807127: "IFCEVAPORATOR", + 486154966: "IFCWINDOWSTANDARDCASE", + 629592764: "IFCLIGHTFIXTURE", + 630975310: "IFCUNITARYCONTROLELEMENT", + 635142910: "IFCCABLECARRIERFITTING", + 639361253: "IFCCOIL", + 647756555: "IFCFASTENER", + 707683696: "IFCFLOWSTORAGEDEVICE", + 738039164: "IFCPROTECTIVEDEVICE", + 753842376: "IFCBEAM", + 812556717: "IFCTANK", + 819412036: "IFCFILTER", + 843113511: "IFCCOLUMN", + 862014818: "IFCELECTRICDISTRIBUTIONBOARD", + 900683007: "IFCFOOTING", + 905975707: "IFCCOLUMNSTANDARDCASE", + 926996030: "IFCVOIDINGFEATURE", + 979691226: "IFCREINFORCINGBAR", + 987401354: "IFCFLOWSEGMENT", + 1003880860: "IFCELECTRICTIMECONTROL", + 1051757585: "IFCCABLEFITTING", + 1052013943: "IFCDISTRIBUTIONCHAMBERELEMENT", + 1062813311: "IFCDISTRIBUTIONCONTROLELEMENT", + 1073191201: "IFCMEMBER", + 1095909175: "IFCBUILDINGELEMENTPROXY", + 1156407060: "IFCPLATESTANDARDCASE", + 1162798199: "IFCSWITCHINGDEVICE", + 1329646415: "IFCSHADINGDEVICE", + 1335981549: "IFCDISCRETEACCESSORY", + 1360408905: "IFCDUCTSILENCER", + 1404847402: "IFCSTACKTERMINAL", + 1426591983: "IFCFIRESUPPRESSIONTERMINAL", + 1437502449: "IFCMEDICALDEVICE", + 1509553395: "IFCFURNITURE", + 1529196076: "IFCSLAB", + 1620046519: "IFCTRANSPORTELEMENT", + 1634111441: "IFCAIRTERMINAL", + 1658829314: "IFCENERGYCONVERSIONDEVICE", + 1677625105: "IFCCIVILELEMENT", + 1687234759: "IFCPILE", + 1904799276: "IFCELECTRICAPPLIANCE", + 1911478936: "IFCMEMBERSTANDARDCASE", + 1945004755: "IFCDISTRIBUTIONELEMENT", + 1973544240: "IFCCOVERING", + 1999602285: "IFCSPACEHEATER", + 2016517767: "IFCROOF", + 2056796094: "IFCAIRTOAIRHEATRECOVERY", + 2058353004: "IFCFLOWCONTROLLER", + 2068733104: "IFCHUMIDIFIER", + 2176052936: "IFCJUNCTIONBOX", + 2188021234: "IFCFLOWMETER", + 2223149337: "IFCFLOWTERMINAL", + 2262370178: "IFCRAILING", + 2272882330: "IFCCONDENSER", + 2295281155: "IFCPROTECTIVEDEVICETRIPPINGUNIT", + 2320036040: "IFCREINFORCINGMESH", + 2347447852: "IFCTENDONANCHOR", + 2391383451: "IFCVIBRATIONISOLATOR", + 2391406946: "IFCWALL", + 2474470126: "IFCMOTORCONNECTION", + 2769231204: "IFCVIRTUALELEMENT", + 2814081492: "IFCENGINE", + 2906023776: "IFCBEAMSTANDARDCASE", + 2938176219: "IFCBURNER", + 2979338954: "IFCBUILDINGELEMENTPART", + 3024970846: "IFCRAMP", + 3026737570: "IFCTUBEBUNDLE", + 3027962421: "IFCSLABSTANDARDCASE", + 3040386961: "IFCDISTRIBUTIONFLOWELEMENT", + 3053780830: "IFCSANITARYTERMINAL", + 3079942009: "IFCOPENINGSTANDARDCASE", + 3087945054: "IFCALARM", + 3101698114: "IFCSURFACEFEATURE", + 3127900445: "IFCSLABELEMENTEDCASE", + 3132237377: "IFCFLOWMOVINGDEVICE", + 3171933400: "IFCPLATE", + 3221913625: "IFCCOMMUNICATIONSAPPLIANCE", + 3242481149: "IFCDOORSTANDARDCASE", + 3283111854: "IFCRAMPFLIGHT", + 3296154744: "IFCCHIMNEY", + 3304561284: "IFCWINDOW", + 3310460725: "IFCELECTRICFLOWSTORAGEDEVICE", + 3319311131: "IFCHEATEXCHANGER", + 3415622556: "IFCFAN", + 3420628829: "IFCSOLARDEVICE", + 3493046030: "IFCGEOGRAPHICELEMENT", + 3495092785: "IFCCURTAINWALL", + 3508470533: "IFCFLOWTREATMENTDEVICE", + 3512223829: "IFCWALLSTANDARDCASE", + 3518393246: "IFCDUCTSEGMENT", + 3571504051: "IFCCOMPRESSOR", + 3588315303: "IFCOPENINGELEMENT", + 3612865200: "IFCPIPESEGMENT", + 3640358203: "IFCCOOLINGTOWER", + 3651124850: "IFCPROJECTIONELEMENT", + 3694346114: "IFCOUTLET", + 3747195512: "IFCEVAPORATIVECOOLER", + 3758799889: "IFCCABLECARRIERSEGMENT", + 3824725483: "IFCTENDON", + 3825984169: "IFCTRANSFORMER", + 3902619387: "IFCCHILLER", + 4074379575: "IFCDAMPER", + 4086658281: "IFCSENSOR", + 4123344466: "IFCELEMENTASSEMBLY", + 4136498852: "IFCCOOLEDBEAM", + 4156078855: "IFCWALLELEMENTEDCASE", + 4175244083: "IFCINTERCEPTOR", + 4207607924: "IFCVALVE", + 4217484030: "IFCCABLESEGMENT", + 4237592921: "IFCWASTETERMINAL", + 4252922144: "IFCSTAIRFLIGHT", + 4278956645: "IFCFLOWFITTING", + 4288193352: "IFCACTUATOR", + 4292641817: "IFCUNITARYEQUIPMENT", + 3009204131: "IFCGRID", +}; diff --git a/src/viewer/model/Utils/IfcGeometryTypes.ts b/src/viewer/model/Utils/IfcGeometryTypes.ts new file mode 100644 index 0000000..d5065a6 --- /dev/null +++ b/src/viewer/model/Utils/IfcGeometryTypes.ts @@ -0,0 +1,25 @@ +export const GeometryTypes = new Set( [ + 1123145078, 574549367, 1675464909, 2059837836, 3798115385, 32440307, + 3125803723, 3207858831, 2740243338, 2624227202, 4240577450, 3615266464, + 3724593414, 220341763, 477187591, 1878645084, 1300840506, 3303107099, + 1607154358, 1878645084, 846575682, 1351298697, 2417041796, 3049322572, + 3331915920, 1416205885, 776857604, 3285139300, 3958052878, 2827736869, + 2732653382, 673634403, 3448662350, 4142052618, 2924175390, 803316827, + 2556980723, 1809719519, 2205249479, 807026263, 3737207727, 1660063152, + 2347385850, 3940055652, 2705031697, 3732776249, 2485617015, 2611217952, + 1704287377, 2937912522, 2770003689, 1281925730, 1484403080, 3448662350, + 4142052618, 3800577675, 4006246654, 3590301190, 1383045692, 2775532180, + 2047409740, 370225590, 3593883385, 2665983363, 4124623270, 812098782, + 3649129432, 987898635, 1105321065, 3510044353, 1635779807, 2603310189, + 3406155212, 1310608509, 4261334040, 2736907675, 3649129432, 1136057603, + 1260505505, 4182860854, 2713105998, 2898889636, 59481748, 3749851601, + 3486308946, 3150382593, 1062206242, 3264961684, 15328376, 1485152156, + 370225590, 1981873012, 2859738748, 45288368, 2614616156, 2732653382, + 775493141, 2147822146, 2601014836, 2629017746, 1186437898, 2367409068, + 1213902940, 3632507154, 3900360178, 476780140, 1472233963, 2804161546, + 3008276851, 738692330, 374418227, 315944413, 3905492369, 3570813810, + 2571569899, 178912537, 2294589976, 1437953363, 2133299955, 572779678, + 3092502836, 388784114, 2624227202, 1425443689, 3057273783, 2347385850, + 1682466193, 2519244187, 2839578677, 3958567839, 2513912981, 2830218821, + 427810014, +] ); diff --git a/src/viewer/model/Utils/IfcJsonExporter.ts b/src/viewer/model/Utils/IfcJsonExporter.ts new file mode 100644 index 0000000..a48dc7a --- /dev/null +++ b/src/viewer/model/Utils/IfcJsonExporter.ts @@ -0,0 +1,131 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import * as WEBIFC from "web-ifc"; +import { GeometryTypes } from "./IfcGeometryTypes"; +import { Event } from "../../Event"; + +/** + * Object to export all the properties from an IFC to a JS object. + */ +export class IfcJsonExporter { + loadProgress = new Event<{ progress: number; total: number }>(); + propertiesSerialized = new Event(); + size?: number; + + private _progress = 0; + + /** + * Exports all the properties of an IFC into an array of JS objects. + * @webIfc The instance of [web-ifc]{@link https://github.com/ifcjs/web-ifc} to use. + * @modelID ID of the IFC model whose properties to extract. + */ + async export( webIfc: WEBIFC.IfcAPI, modelID: number ) { + const geometriesIDs = await this.getAllGeometriesIDs( modelID, webIfc ); + let properties: any = {}; + properties.coordinationMatrix = webIfc.GetCoordinationMatrix( modelID ); + const allLinesIDs = await webIfc.GetAllLines( modelID ); + const linesCount = allLinesIDs.size(); + + this._progress = 0.1; + + let counter = 0; + for ( let i = 0; i < linesCount; i++ ) { + const id = allLinesIDs.get( i ); + if ( !geometriesIDs.has( id ) ) { + try { + properties[id] = await webIfc.GetLine( modelID, id ); + } catch ( e ) { + console.log( `Properties of the element ${id} could not be processed` ); + } + counter++; + } + + if ( this.size !== undefined && counter > this.size ) { + this.propertiesSerialized.trigger( properties ); + properties = null; + properties = {}; + counter = 0; + } + + if ( i / linesCount > this._progress ) { + this.loadProgress.trigger( { + progress: i, + total: linesCount, + } ); + this._progress += 0.1; + } + } + + this.propertiesSerialized.trigger( properties ); + properties = null; + } + + private async getAllGeometriesIDs( modelID: number, webIfc: WEBIFC.IfcAPI ) { + // Exclude location info of spatial structure + + const placementIDs = new Set(); + + const structures = new Set(); + this.getStructure( WEBIFC.IFCPROJECT, structures, webIfc ); + this.getStructure( WEBIFC.IFCSITE, structures, webIfc ); + this.getStructure( WEBIFC.IFCBUILDING, structures, webIfc ); + this.getStructure( WEBIFC.IFCBUILDINGSTOREY, structures, webIfc ); + this.getStructure( WEBIFC.IFCSPACE, structures, webIfc ); + + for ( const id of structures ) { + const properties = webIfc.GetLine( 0, id ); + + const placementRef = properties.ObjectPlacement; + if ( !placementRef || placementRef.value === null ) { + continue; + } + const placementID = placementRef.value; + placementIDs.add( placementID ); + + const placementProps = webIfc.GetLine( 0, placementID ); + + const relPlacementID = placementProps.RelativePlacement; + if ( !relPlacementID || relPlacementID.value === null ) { + continue; + } + + placementIDs.add( relPlacementID.value ); + const relPlacement = webIfc.GetLine( 0, relPlacementID.value ); + + const location = relPlacement.Location; + + if ( location && location.value !== null ) { + placementIDs.add( location.value ); + } + } + + const geometriesIDs = new Set(); + const geomTypesArray = Array.from( GeometryTypes ); + for ( let i = 0; i < geomTypesArray.length; i++ ) { + const category = geomTypesArray[i]; + // eslint-disable-next-line no-await-in-loop + const ids = await webIfc.GetLineIDsWithType( modelID, category ); + const idsSize = ids.size(); + for ( let j = 0; j < idsSize; j++ ) { + const id = ids.get( j ); + if ( placementIDs.has( id ) ) { + continue; + } + geometriesIDs.add( id ); + } + } + return geometriesIDs; + } + + private getStructure( + type: number, + result: Set, + webIfc: WEBIFC.IfcAPI + ) { + const found = webIfc.GetLineIDsWithType( 0, type ); + const size = found.size(); + for ( let i = 0; i < size; i++ ) { + const id = found.get( i ); + result.add( id ); + } + } +} diff --git a/src/viewer/model/Utils/IfcPropertiesUtils.ts b/src/viewer/model/Utils/IfcPropertiesUtils.ts new file mode 100644 index 0000000..16c23af --- /dev/null +++ b/src/viewer/model/Utils/IfcPropertiesUtils.ts @@ -0,0 +1,197 @@ +import * as WEBIFC from "web-ifc"; +import { IfcProperties } from "bim-fragment"; +import { IfcCategoryMap } from "./IfcCategoryMap"; + +export class IfcPropertiesUtils { + static getUnits( properties: IfcProperties ) { + const { IFCUNITASSIGNMENT } = WEBIFC; + const allUnits = this.findItemOfType( properties, IFCUNITASSIGNMENT ); + if ( !allUnits ) return 1; + for ( const unitRef of allUnits.Units ) { + if ( unitRef.value === undefined || unitRef.value === null ) continue; + const unit = properties[unitRef.value]; + if ( !unit.UnitType || !unit.UnitType.value ) continue; + const value = unit.UnitType.value; + if ( value !== "LENGTHUNIT" ) continue; + let factor = 1; + let unitValue = 1; + if ( unit.Name.value === "METRE" ) unitValue = 1; + if ( unit.Name.value === "FOOT" ) unitValue = 0.3048; + if ( unit.Prefix?.value === "MILLI" ) factor = 0.001; + return unitValue * factor; + } + return 1; + } + + static findItemByGuid( properties: IfcProperties, guid: string ) { + for ( const id in properties ) { + const property = properties[id]; + if ( property.GlobalId?.value === guid ) { + return property; + } + } + return null; + } + + static findItemOfType( properties: IfcProperties, type: number ) { + for ( const id in properties ) { + const property = properties[id]; + if ( property.type === type ) { + return property; + } + } + return null; + } + + static getAllItemsOfType( properties: IfcProperties, type: number ) { + const found: any[] = []; + for ( const id in properties ) { + const property = properties[id]; + if ( property.type === type ) { + found.push( property ); + } + } + return found; + } + + static getRelationMap( + properties: IfcProperties, + relationType: number, + onElementsFound?: ( relatingID: number, relatedIDs: number[] ) => void + ) { + const defaultCallback = () => { }; + const _onElementsFound = onElementsFound ?? defaultCallback; + const result: { [relatingID: number]: number[] } = {}; + for ( const expressID in properties ) { + const prop = properties[expressID]; + if ( prop === undefined ) { + continue; + } + const isRelation = prop.type === relationType; + const relatingKey = Object.keys( prop ).find( ( key ) => + key.startsWith( "Relating" ) + ); + const relatedKey = Object.keys( prop ).find( ( key ) => + key.startsWith( "Related" ) + ); + if ( !( isRelation && relatingKey && relatedKey ) ) continue; + const relating = properties[prop[relatingKey]?.value]; + const related = prop[relatedKey]; + if ( relating === undefined || related === undefined ) { + continue; + } + if ( !( related && Array.isArray( related ) ) ) continue; + const elements = related.map( ( el: any ) => { + return el.value; + } ); + _onElementsFound( relating.expressID, elements ); + result[relating.expressID] = elements; + } + return result; + } + + static getQsetQuantities( + properties: IfcProperties, + expressID: number, + onQuantityFound?: ( expressID: number ) => void + ): number[] | null { + const defaultCallback = () => { }; + const _onQuantityFound = onQuantityFound ?? defaultCallback; + const pset = properties[expressID]; + if ( pset?.type !== WEBIFC.IFCELEMENTQUANTITY ) return null; + const quantities = pset.Quantities ?? [{}]; + const qtos = quantities.map( ( prop: any ) => { + if ( prop.value ) _onQuantityFound( prop.value ); + return prop.value; + } ); + return qtos.filter( ( prop: any ) => prop !== null ); + } + + static getPsetProps( + properties: IfcProperties, + expressID: number, + onPropFound?: ( expressID: number ) => void + ): number[] | null { + const defaultCallback = () => { }; + const _onPropFound = onPropFound ?? defaultCallback; + const pset = properties[expressID]; + if ( pset?.type !== WEBIFC.IFCPROPERTYSET ) return null; + const hasProperties = pset.HasProperties ?? [{}]; + const props = hasProperties.map( ( prop: any ) => { + if ( prop.value ) _onPropFound( prop.value ); + return prop.value; + } ); + return props.filter( ( prop: any ) => prop !== null ); + } + + static getPsetRel( properties: IfcProperties, psetID: number ) { + const arrayProperties = Object.values( properties ); + if ( !properties[psetID] ) return null; + const rel = arrayProperties.find( ( data ) => { + const isRelation = data.type === WEBIFC.IFCRELDEFINESBYPROPERTIES; + const relatesToPset = data.RelatingPropertyDefinition?.value === psetID; + return isRelation && relatesToPset; + } ); + return rel ? ( rel.expressID as number ) : null; + } + + static getQsetRel( properties: IfcProperties, qsetID: number ) { + return IfcPropertiesUtils.getPsetRel( properties, qsetID ); + } + + static getEntityName( properties: IfcProperties, entityID: number ) { + const entity = properties[entityID]; + const key = Object.keys( entity ).find( ( key ) => key.endsWith( "Name" ) ) ?? null; + const name = key ? ( entity[key].value as string ) : null; + return { key, name }; + } + + static getQuantityValue( properties: IfcProperties, quantityID: number ) { + const quantity = properties[quantityID]; + const key = + Object.keys( quantity ).find( ( key ) => key.endsWith( "Value" ) ) ?? null; + let value; + if ( key === null ) { + value = null; + } else if ( quantity[key] === undefined || quantity[key] === null ) { + value = null; + } else { + value = quantity[key].value as number; + } + + return { key, value }; + } + + static isRel( expressID: number ) { + const entityName = IfcCategoryMap[expressID]; + return entityName.startsWith( "IFCREL" ); + } + + static attributeExists( + properties: IfcProperties, + expressID: number, + attribute: string + ) { + const entity = properties[expressID]; + if ( !entity ) return false; + return Object.keys( properties[expressID] ).includes( attribute ); + } + + static groupEntitiesByType( + properties: IfcProperties, + expressIDs: Set | number[] + ) { + const categoriesMap = new Map>(); + for ( const expressID of expressIDs ) { + const entity = properties[expressID]; + if ( !entity ) continue; + const key = entity.type; + const set = categoriesMap.get( key ); + if ( !set ) categoriesMap.set( key, new Set() ); + categoriesMap.get( key )?.add( expressID ); + } + return categoriesMap; + } + + +} diff --git a/src/viewer/model/Utils/Misc.ts b/src/viewer/model/Utils/Misc.ts new file mode 100644 index 0000000..c0778d8 --- /dev/null +++ b/src/viewer/model/Utils/Misc.ts @@ -0,0 +1,237 @@ +import { Fragment } from "bim-fragment"; +import * as THREE from "three"; + +export function numberOfDigits( x: number ) { + return Math.max( Math.floor( Math.log10( Math.abs( x ) ) ), 0 ) + 1; +} + +export function toCompositeID( id: number, count: number ) { + const factor = 0.1 ** numberOfDigits( count ); + id += count * factor; + let idString = id.toString(); + // add missing zeros + if ( count % 10 === 0 ) { + for ( let i = 0; i < factor; i++ ) { + idString += "0"; + } + } + return idString; +} + +// Temporal id generator until the IFC id algorithm is implemented. +export function tooeenRandomId() { + const characters = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + let id = ""; + + for ( let i = 0; i < 10; i++ ) { + const randomIndex = Math.floor( Math.random() * characters.length ); + id += characters.charAt( randomIndex ); + } + + return id; +} + +export function generateExpressIDFragmentIDMap( fragmentsList: Fragment[] ) { + const map: { [fragmentID: string]: Set } = {}; + fragmentsList.forEach( ( fragment ) => { + map[fragment.id] = new Set( fragment.items ); + } ); + return map; +} + +// Would need to review this! +export function generateIfcGUID() { + const base64Chars = [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "A", + "B", + "C", + "D", + "E", + "F", + "G", + "H", + "I", + "J", + "K", + "L", + "M", + "N", + "O", + "P", + "Q", + "R", + "S", + "T", + "U", + "V", + "W", + "X", + "Y", + "Z", + "a", + "b", + "c", + "d", + "e", + "f", + "g", + "h", + "i", + "j", + "k", + "l", + "m", + "n", + "o", + "p", + "q", + "r", + "s", + "t", + "u", + "v", + "w", + "x", + "y", + "z", + "_", + "$", + ]; + + const guid = THREE.MathUtils.generateUUID(); + + const tailBytes = ( ( guid ) => { + const bytes: number[] = []; + guid.split( "-" ).map( ( number ) => { + const bytesInChar = number.match( /.{1,2}/g ); + if ( bytesInChar ) { + return bytesInChar.map( ( byte ) => bytes.push( parseInt( byte, 16 ) ) ); + } + return null; + } ); + return bytes; + } )( guid ); + + const headBytes = ( ( guid ) => { + const bytes: string[] = []; + guid.split( "-" ).map( ( number ) => { + const bytesInChar = number.match( /.{1,2}/g ); + if ( bytesInChar ) { + return bytesInChar.map( ( byte ) => bytes.push( byte ) ); + } + return null; + } ); + return bytes; + } )( guid ); + + const cvTo64 = ( + number: number, + result: string[], + start: number, + len: number + ) => { + let num = number; + const n = len; + let i; + + for ( i = 0; i < n; i += 1 ) { + result[start + len - i - 1] = + base64Chars[parseInt( ( num % 64 ).toString(), 10 )]; + num /= 64; + } + return result; + }; + + const toUInt16 = ( bytes: string[], index: number ) => + parseInt( + bytes.slice( index, index + 2 ).reduce( ( str, v ) => str + v, "" ), + 16 + ) >>> 0; + + const toUInt32 = ( bytes: string[], index: number ) => + parseInt( + bytes.slice( index, index + 4 ).reduce( ( str, v ) => str + v, "" ), + 16 + ) >>> 0; + + const num: number[] = []; + let str: string[] = []; + let i; + let n = 2; + let pos = 0; + + num[0] = toUInt32( headBytes, 0 ) / 16777216; + num[1] = toUInt32( headBytes, 0 ) % 16777216; + num[2] = ( toUInt16( headBytes, 4 ) * 256 + toUInt16( headBytes, 6 ) / 256 ) >>> 0; + num[3] = + ( ( toUInt16( headBytes, 6 ) % 256 ) * 65536 + + tailBytes[8] * 256 + + tailBytes[9] ) >>> + 0; + num[4] = ( tailBytes[10] * 65536 + tailBytes[11] * 256 + tailBytes[12] ) >>> 0; + num[5] = ( tailBytes[13] * 65536 + tailBytes[14] * 256 + tailBytes[15] ) >>> 0; + + for ( i = 0; i < 6; i++ ) { + str = cvTo64( num[i], str, pos, n ); + pos += n; + n = 4; + } + + return str.join( "" ); +} + +export function bufferGeometryToIndexed( geometry: THREE.BufferGeometry ) { + const bufferAttribute = geometry.getAttribute( "position" ); + const size = bufferAttribute.itemSize; + const positions = bufferAttribute.array; + const indices: number[] = []; + const vertices: string[] = []; + const outVertices: number[] = []; + + for ( let i = 0; i < positions.length; i += size ) { + const x = positions[i]; + const y = positions[i + 1]; + let vertex: string = `${x},${y}`; + const z = positions[i + 2]; + if ( size >= 3 ) { + vertex += `,${z}`; + } else { + vertex += `,0`; + } + const w = positions[i + 3]; + if ( size === 4 ) { + vertex += `,${w}`; + } + + if ( vertices.indexOf( vertex ) === -1 ) { + vertices.push( vertex ); + indices.push( vertices.length - 1 ); + const split = vertex.split( "," ); + split.forEach( ( component ) => outVertices.push( Number( component ) ) ); + } else { + const index = vertices.indexOf( vertex ); + indices.push( index ); + } + } + + const outIndices = new Uint16Array( indices ); + const realVertices = new Float32Array( outVertices ); + + geometry.setAttribute( + "position", + new THREE.BufferAttribute( realVertices, size === 2 ? 3 : size ) + ); + geometry.setIndex( new THREE.BufferAttribute( outIndices, 1 ) ); + geometry.getAttribute( "position" ).needsUpdate = true; +} diff --git a/src/viewer/model/Utils/SpatialStructure.ts b/src/viewer/model/Utils/SpatialStructure.ts new file mode 100644 index 0000000..b606932 --- /dev/null +++ b/src/viewer/model/Utils/SpatialStructure.ts @@ -0,0 +1,121 @@ +import * as WEBIFC from "web-ifc"; +import { Units } from "./Unit"; +import { IfcItemsCategories } from "./IfcCategories"; + +export class SpatialStructure { + itemsByFloor: IfcItemsCategories = {}; + + private _units = new Units(); + + // TODO: Maybe make this more flexible so that it also support more exotic spatial structures? + async setUp( webIfc: WEBIFC.IfcAPI ) { + this._units.setUp( webIfc ); + this.cleanUp(); + try { + const spatialRels = webIfc.GetLineIDsWithType( + 0, + WEBIFC.IFCRELCONTAINEDINSPATIALSTRUCTURE + ); + + const allRooms = new Set(); + const rooms = webIfc.GetLineIDsWithType( 0, WEBIFC.IFCSPACE ); + for ( let i = 0; i < rooms.size(); i++ ) { + allRooms.add( rooms.get( i ) ); + } + + // First add rooms (if any) to floors + const aggregates = webIfc.GetLineIDsWithType( 0, WEBIFC.IFCRELAGGREGATES ); + const aggregatesSize = aggregates.size(); + for ( let i = 0; i < aggregatesSize; i++ ) { + const id = aggregates.get( i ); + const properties = webIfc.GetLine( 0, id ); + if ( + !properties || + !properties.RelatingObject || + !properties.RelatedObjects + ) { + continue; + } + const parentID = properties.RelatingObject.value; + const childsIDs = properties.RelatedObjects; + for ( const child of childsIDs ) { + const childID = child.value; + if ( allRooms.has( childID ) ) { + this.itemsByFloor[childID] = parentID; + } + } + } + + // Now add items contained in floors and rooms + // If items contained in room, look for the floor where that room is and assign it to it + const itemsContainedInRooms: { [roomID: number]: number[] } = {}; + + const spatialRelsSize = spatialRels.size(); + for ( let i = 0; i < spatialRelsSize; i++ ) { + const id = spatialRels.get( i ); + const properties = webIfc.GetLine( 0, id ); + if ( + !properties || + !properties.RelatingStructure || + !properties.RelatedElements + ) { + continue; + } + const structureID = properties.RelatingStructure.value; + const relatedItems = properties.RelatedElements; + if ( allRooms.has( structureID ) ) { + for ( const related of relatedItems ) { + if ( !itemsContainedInRooms[structureID] ) { + itemsContainedInRooms[structureID] = []; + } + const id = related.value; + itemsContainedInRooms[structureID].push( id ); + } + } else { + for ( const related of relatedItems ) { + const id = related.value; + this.itemsByFloor[id] = structureID; + } + } + } + + for ( const roomID in itemsContainedInRooms ) { + const roomFloor = this.itemsByFloor[roomID]; + if ( roomFloor !== undefined ) { + const items = itemsContainedInRooms[roomID]; + for ( const item of items ) { + this.itemsByFloor[item] = roomFloor; + } + } + } + + // Finally, add nested items (e.g. elements of curtain walls) + for ( let i = 0; i < aggregatesSize; i++ ) { + const id = aggregates.get( i ); + const properties = webIfc.GetLine( 0, id ); + if ( + !properties || + !properties.RelatingObject || + !properties.RelatedObjects + ) { + continue; + } + const parentID = properties.RelatingObject.value; + const childsIDs = properties.RelatedObjects; + for ( const child of childsIDs ) { + const childID = child.value; + const parentStructure = this.itemsByFloor[parentID]; + if ( parentStructure !== undefined ) { + this.itemsByFloor[childID] = parentStructure; + } + } + } + } catch ( e ) { + console.log( "Could not get floors." ); + } + } + + cleanUp() { + this.itemsByFloor = {}; + } +} diff --git a/src/viewer/model/Utils/Unit.ts b/src/viewer/model/Utils/Unit.ts new file mode 100644 index 0000000..71ea6ab --- /dev/null +++ b/src/viewer/model/Utils/Unit.ts @@ -0,0 +1,52 @@ +import * as WEBIFC from "web-ifc"; +import * as THREE from "three"; + +export class Units { + factor = 1; + complement = 1; + + apply( matrix: THREE.Matrix4 ) { + const scale = this.getScaleMatrix(); + const result = scale.multiply( matrix ); + matrix.copy( result ); + } + + setUp( webIfc: WEBIFC.IfcAPI ) { + this.factor = 1; + const length = this.getLengthUnits( webIfc ); + const isLengthNull = length === undefined || length === null; + const isValueNull = length.Name === undefined || length.Name === null; + if ( isLengthNull || isValueNull ) { + return; + } + if ( length.Name.value === "FOOT" ) { + this.factor = 0.3048; + } else if ( length.Prefix?.value === "MILLI" ) { + this.complement = 0.001; + } + } + + private getLengthUnits( webIfc: WEBIFC.IfcAPI ) { + try { + const allUnits = webIfc.GetLineIDsWithType( 0, WEBIFC.IFCUNITASSIGNMENT ); + const units = allUnits.get( 0 ); + const unitsProps = webIfc.GetLine( 0, units ); + const lengthUnitsID = unitsProps.Units[0].value; + return webIfc.GetLine( 0, lengthUnitsID ); + } catch ( e ) { + console.log( "Could not get units" ); + return null; + } + } + + private getScaleMatrix() { + const f = this.factor; + // prettier-ignore + return new THREE.Matrix4().fromArray( [ + f, 0, 0, 0, + 0, f, 0, 0, + 0, 0, f, 0, + 0, 0, 0, 1, + ] ); + } +} diff --git a/src/viewer/model/Utils/index.ts b/src/viewer/model/Utils/index.ts new file mode 100644 index 0000000..9cd37ab --- /dev/null +++ b/src/viewer/model/Utils/index.ts @@ -0,0 +1,5 @@ +export * from "./DataConverter" +export * from "./GeometryReader" +export * from "./Misc" +export * from "./IfcPropertiesUtils" +export * from "./BoundingBox" \ No newline at end of file diff --git a/src/viewer/model/fragment/FragmentHighlighter.ts b/src/viewer/model/fragment/FragmentHighlighter.ts new file mode 100644 index 0000000..1c09cd3 --- /dev/null +++ b/src/viewer/model/fragment/FragmentHighlighter.ts @@ -0,0 +1,247 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +import * as THREE from "three"; +import { Fragment } from "bim-fragment"; +import { FragmentMesh } from "bim-fragment/fragment-mesh"; +import { FragmentManager } from "./FragmentManager"; +import { toCompositeID } from "../Utils"; +import { Event } from "../../Event"; + +// TODO: Clean up and document +interface FragmentIdMap { + [fragmentID: string]: Set; +} +interface HighlightEvents { + [highlighterName: string]: { + onHighlight: Event; + onClear: Event; + }; +} + +interface HighlightMaterials { + [name: string]: THREE.Material[] | undefined; +} + +export class FragmentHighlighter { + enabled = true; + highlightMats: HighlightMaterials = {}; + events: HighlightEvents = {}; + + private tempMatrix = new THREE.Matrix4(); + selection: { + [selectionID: string]: FragmentIdMap; + } = {}; + + private _fragmentManager: FragmentManager; + + constructor( fragmentManager: FragmentManager ) { + this._fragmentManager = fragmentManager; + } + + + + dispose() { + + this.highlightMats = {}; + } + + add( name: string, material?: THREE.Material[] ) { + if ( this.highlightMats[name] ) { + throw new Error( "A highlight with this name already exists." ); + } + + this.highlightMats[name] = material; + this.selection[name] = {}; + this.events[name] = { + onHighlight: new Event(), + onClear: new Event(), + }; + + this.update(); + } + + update() { + for ( const fragmentID in this._fragmentManager.list ) { + const fragment = this._fragmentManager.list[fragmentID]; + this.addHighlightToFragment( fragment ); + } + } + + highlight( name: string, result: any, removePrevious = true ) { + if ( !this.enabled ) return null; + this.checkSelection( name ); + + const fragments: Fragment[] = []; + // const meshes = this._fragmentManager.meshes; + // const result = this._components.raycaster.castRay( meshes ); + + if ( !result ) { + this.clear( name ); + return null; + } + + const mesh = result.object as FragmentMesh; + const geometry = mesh.geometry; + const index = result.face?.a; + const instanceID = result.instanceId; + if ( !geometry || index === undefined || instanceID === undefined ) { + return null; + } + + if ( removePrevious ) { + this.clear( name ); + } + + if ( !this.selection[name][mesh.uuid] ) { + this.selection[name][mesh.uuid] = new Set(); + } + + fragments.push( mesh.fragment ); + const blockID = mesh.fragment.getVertexBlockID( geometry, index ); + + const itemID = mesh.fragment + .getItemID( instanceID, blockID ) + .replace( /\..*/, "" ); + + const idNum = parseInt( itemID, 10 ); + this.selection[name][mesh.uuid].add( itemID ); + this.addComposites( mesh, idNum, name ); + this.updateFragmentHighlight( name, mesh.uuid ); + + const group = mesh.fragment.group; + if ( group ) { + const keys = group.data[idNum][0]; + for ( let i = 0; i < keys.length; i++ ) { + const fragKey = keys[i]; + const fragID = group.keyFragments[fragKey]; + const fragment = this._fragmentManager.list[fragID]; + fragments.push( fragment ); + if ( !this.selection[name][fragID] ) { + this.selection[name][fragID] = new Set(); + } + this.selection[name][fragID].add( itemID ); + this.addComposites( fragment.mesh, idNum, name ); + this.updateFragmentHighlight( name, fragID ); + } + } + + return { id: itemID, fragments }; + } + + highlightByID( + name: string, + ids: { [fragmentID: string]: Set | string[] }, + removePrevious = true + ) { + if ( !this.enabled ) return; + if ( removePrevious ) { + this.clear( name ); + } + const styles = this.selection[name]; + for ( const fragID in ids ) { + if ( !styles[fragID] ) { + styles[fragID] = new Set(); + } + const fragment = this._fragmentManager.list[fragID]; + + const idsNum = new Set(); + for ( const id of ids[fragID] ) { + styles[fragID].add( id ); + idsNum.add( parseInt( id, 10 ) ); + } + for ( const id of idsNum ) { + this.addComposites( fragment.mesh, id, name ); + } + this.updateFragmentHighlight( name, fragID ); + } + } + + /** + * Clears any selection previously made by calling {@link highlight}. + */ + clear( name?: string ) { + const names = name ? [name] : Object.keys( this.selection ); + for ( const name of names ) { + this.clearStyle( name ); + } + } + + private addComposites( mesh: FragmentMesh, itemID: number, name: string ) { + const composites = mesh.fragment.composites[itemID]; + if ( composites ) { + for ( let i = 1; i < composites; i++ ) { + const compositeID = toCompositeID( itemID, i ); + this.selection[name][mesh.uuid].add( compositeID ); + } + } + } + + private clearStyle( name: string ) { + for ( const fragID in this.selection[name] ) { + const fragment = this._fragmentManager.list[fragID]; + if ( !fragment ) continue; + const selection = fragment.fragments[name]; + if ( selection ) { + selection.mesh.removeFromParent(); + } + } + this.events[name].onClear.trigger(); + this.selection[name] = {}; + } + + private updateFragmentHighlight( name: string, fragmentID: string ) { + const ids = this.selection[name][fragmentID]; + const fragment = this._fragmentManager.list[fragmentID]; + if ( !fragment ) return; + const selection = fragment.fragments[name]; + if ( !selection ) return; + + // #region Old child/parent code + // const scene = this._components.scene.get(); + // scene.add(selection.mesh); //If we add selection.mesh directly to the scene, it won't be coordinated unless we do so manually. + // #endregion + + // #region New child/parent code + const fragmentParent = fragment.mesh.parent; + if ( !fragmentParent ) return; + fragmentParent.add( selection.mesh ); + // #endregion + + const isBlockFragment = selection.blocks.count > 1; + if ( isBlockFragment ) { + fragment.getInstance( 0, this.tempMatrix ); + selection.setInstance( 0, { + ids: Array.from( fragment.ids ), + transform: this.tempMatrix, + } ); + selection.blocks.setVisibility( true, ids, true ); + } else { + let i = 0; + for ( const id of ids ) { + selection.mesh.count = i + 1; + const { instanceID } = fragment.getInstanceAndBlockID( id ); + fragment.getInstance( instanceID, this.tempMatrix ); + selection.setInstance( i, { ids: [id], transform: this.tempMatrix } ); + i++; + } + } + this.events[name].onHighlight.trigger( this.selection[name] ); + } + + private checkSelection( name: string ) { + if ( !this.selection[name] ) { + throw new Error( `Selection ${name} does not exist.` ); + } + } + + private addHighlightToFragment( fragment: Fragment ) { + for ( const name in this.highlightMats ) { + if ( !fragment.fragments[name] ) { + const material = this.highlightMats[name]; + const subFragment = fragment.addFragment( name, material ); + subFragment.mesh.renderOrder = 2; + subFragment.mesh.frustumCulled = false; + } + } + } +} diff --git a/src/viewer/model/fragment/FragmentManager.ts b/src/viewer/model/fragment/FragmentManager.ts new file mode 100644 index 0000000..0f6059c --- /dev/null +++ b/src/viewer/model/fragment/FragmentManager.ts @@ -0,0 +1,97 @@ +import { Fragment, FragmentsGroup, Serializer } from "bim-fragment"; +import * as THREE from "three"; +import { Event } from "../../Event"; + +/** + * Object that can efficiently load binary files that contain + * [fragment geometry](https://github.com/ifcjs/fragment). + */ +export class FragmentManager { + + + /** All the created [fragments](https://github.com/ifcjs/fragment). */ + list: { [guid: string]: Fragment } = {}; + + groups: FragmentsGroup[] = []; + + onFragmentsLoaded: Event = new Event(); + + + + private _loader = new Serializer(); + + /** The list of meshes of the created fragments. */ + get meshes() { + const allMeshes: THREE.Mesh[] = []; + for ( const fragID in this.list ) { + allMeshes.push( this.list[fragID].mesh ); + } + return allMeshes; + } + + + + + + /** {@link Component.get} */ + dispose() { + for ( const group of this.groups ) { + group.dispose( true ); + } + this.groups = []; + this.list = {}; + } + + disposeGroup( group: FragmentsGroup ) { + for ( const fragment of group.items ) { + this.removeFragmentMesh( fragment ); + delete this.list[fragment.id]; + } + group.dispose( true ); + const index = this.groups.indexOf( group ); + this.groups.splice( index, 1 ); + + } + + /** Disposes all existing fragments */ + reset() { + for ( const id in this.list ) { + const fragment = this.list[id]; + fragment.dispose(); + } + this.list = {}; + } + + /** + * Loads one or many fragments into the scene. + * @param data - the bytes containing the data for the fragments to load. + * @returns the list of IDs of the loaded fragments. + */ + load( data: Uint8Array ) { + const group = this._loader.import( data ); + const ids: string[] = []; + for ( const fragment of group.items ) { + fragment.group = group; + this.list[fragment.id] = fragment; + ids.push( fragment.id ); + } + this.groups.push( group ); + this.onFragmentsLoaded.trigger( group ); + return group; + } + + /** + * Export the specified fragments. + * @param group - the fragments group to be exported. + * @returns the exported data as binary buffer. + */ + export( group: FragmentsGroup ) { + return this._loader.export( group ); + } + + + + private removeFragmentMesh( fragment: Fragment ) { + + } +} diff --git a/src/viewer/model/fragment/index.ts b/src/viewer/model/fragment/index.ts new file mode 100644 index 0000000..cdbae52 --- /dev/null +++ b/src/viewer/model/fragment/index.ts @@ -0,0 +1,2 @@ +export * from "./FragmentManager" +export * from "./FragmentHighlighter" \ No newline at end of file diff --git a/src/viewer/model/ifc/IfcLoader.ts b/src/viewer/model/ifc/IfcLoader.ts new file mode 100644 index 0000000..3824a22 --- /dev/null +++ b/src/viewer/model/ifc/IfcLoader.ts @@ -0,0 +1,103 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import * as THREE from "three" +import * as WEBIFC from "web-ifc"; +import { FragmentsGroup } from "bim-fragment"; +import { DataConverter, GeometryReader } from "../Utils"; +import { Event } from "../../Event"; +import { FragmentHighlighter, FragmentManager } from "../fragment"; +import { FragmentMesh } from "bim-fragment/fragment-mesh"; +export class IfcLoader { + ifcLoaded: Event = new Event(); + locationsSaved = new Event<{ [id: number]: number[] }>(); + api: WEBIFC.IfcAPI + private readonly _geometryReader = new GeometryReader(); + private readonly _dataConverter = new DataConverter(); + private readonly _fragmentManager: FragmentManager = new FragmentManager() + FragmentHighlighter: FragmentHighlighter + get settings() { + return this._dataConverter.settings; + } + /** + * + */ + get meshes() { + return this._fragmentManager.meshes + } + get groups() { + return this._fragmentManager.groups + } + get sphere() { + if ( this.groups.length === 0 ) return new THREE.Sphere( new THREE.Vector3( 0, 0, 0 ), 40 ) + const spheres = this.groups.filter( ( g: FragmentsGroup ) => g.boundingBox ).map( ( g: FragmentsGroup ) => IfcLoader.getSphere( g.boundingBox ) ) + return IfcLoader.getSphereFromSpheres( spheres ) + } + get corner() { + if ( this.groups.length === 0 ) return new THREE.Vector3( 40, 40, 40 ) + const max = this.groups.filter( ( g: FragmentsGroup ) => g.boundingBox ).map( ( g: FragmentsGroup ) => g.boundingBox.max ) + const x = Math.max( ...max.map( m => m.x ) ) + const y = Math.max( ...max.map( m => m.y ) ) + const z = Math.max( ...max.map( m => m.z ) ) + return new THREE.Vector3( x, y, z ) + } + constructor() { + this.api = new WEBIFC.IfcAPI(); + this.FragmentHighlighter = new FragmentHighlighter( this._fragmentManager ) + } + dispose() { + this._geometryReader.cleanUp(); + this._dataConverter.cleanUp(); + ( this.api as any ) = null; + ( this._geometryReader as any ) = null; + ( this._dataConverter as any ) = null; + this.FragmentHighlighter.dispose() + this._fragmentManager.dispose() + this.spatialTree = [] + this.ifcLoaded.reset() + } + spatialTree = [] + loadFragment( data: Uint8Array ) { + const model = this._fragmentManager.load( data ) + // this.FragmentHighlighter.update() + // IfcLoader.setupModelLoader( model ) + this.ifcLoaded.trigger( model ) + } + + private static setupModelLoader( ifcModel: FragmentsGroup ) { + // model is loaded then have receive shadows? + ifcModel.children.forEach( ( child: FragmentMesh ) => { + child.castShadow = true; + child.receiveShadow = true; + } ) + + } + private static getSpatialTree( properties: any ) { + const spatialTree = {} + Object.keys( properties.spatialTree ).forEach( key => { + if ( !spatialTree[properties.spatialTree[key]] ) spatialTree[properties.spatialTree[key]] = [] + if ( properties[key].type !== "IFCSPACE" ) + spatialTree[properties.spatialTree[key]].push( properties[key] ) + } ) + return Object.keys( spatialTree ).map( key => { + return { + buildingStorey: properties[key], + children: [...spatialTree[key]] + } + } ) + } + + static getSphereFromSpheres( spheres: THREE.Sphere[] ): THREE.Sphere { + const centers = spheres.map( ( s: THREE.Sphere ) => s.center ) + const x = centers.reduce( ( r: number, c: THREE.Vector3 ) => r += c.x, 0 ) / centers.length + const y = centers.reduce( ( r: number, c: THREE.Vector3 ) => r += c.y, 0 ) / centers.length + const z = centers.reduce( ( r: number, c: THREE.Vector3 ) => r += c.z, 0 ) / centers.length + const radius = Math.max( ...spheres.map( ( s: THREE.Sphere ) => s.radius ) ) + return new THREE.Sphere( new THREE.Vector3( x, y, z ), radius ) + } + static getSphere( boundingBox: THREE.Box3 ): THREE.Sphere { + const { max, min } = boundingBox; + const dir = max.clone().sub( min.clone() ).normalize() + const dis = max.distanceTo( min ) + const center = max.clone().add( dir.multiplyScalar( -dis * 0.5 ) ) + return new THREE.Sphere( center, dis * 0.5 ) + } +} \ No newline at end of file diff --git a/src/viewer/model/ifc/IfcPropertiesManager.ts b/src/viewer/model/ifc/IfcPropertiesManager.ts new file mode 100644 index 0000000..56ee716 --- /dev/null +++ b/src/viewer/model/ifc/IfcPropertiesManager.ts @@ -0,0 +1,25 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +import * as WEBIFC from "web-ifc"; +import { FragmentsGroup } from "bim-fragment"; +import { Event } from "../../Event"; +import { generateIfcGUID, IfcPropertiesUtils } from "../Utils"; +import { IfcCategoryMap } from "../Utils/IfcCategoryMap"; + + + +export class IfcPropertiesManager { + + + + + + _api: WEBIFC.IfcAPI = new WEBIFC.IfcAPI() + constructor() { + } + + + + + +} diff --git a/src/viewer/model/ifc/index.ts b/src/viewer/model/ifc/index.ts new file mode 100644 index 0000000..d99aad2 --- /dev/null +++ b/src/viewer/model/ifc/index.ts @@ -0,0 +1,2 @@ +export * from "./IfcLoader" +export * from "./IfcPropertiesManager" \ No newline at end of file diff --git a/src/viewer/model/index.ts b/src/viewer/model/index.ts new file mode 100644 index 0000000..a3589bb --- /dev/null +++ b/src/viewer/model/index.ts @@ -0,0 +1 @@ +export * from "./ifc" \ No newline at end of file diff --git a/src/visual.ts b/src/visual.ts new file mode 100644 index 0000000..e5b10a3 --- /dev/null +++ b/src/visual.ts @@ -0,0 +1,98 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ + + +import powerbi from "powerbi-visuals-api"; + +import VisualConstructorOptions = powerbi.extensibility.visual.VisualConstructorOptions; +import VisualUpdateOptions = powerbi.extensibility.visual.VisualUpdateOptions; +import IVisual = powerbi.extensibility.visual.IVisual; +import { BimModel } from "./viewer/BimModel"; + + +export class Visual implements IVisual { + private target: HTMLElement; + private updateCount: number; + + constructor( options: VisualConstructorOptions ) { + console.log( 'Visual constructor', options ); + this.target = options.element; + this.updateCount = 0; + + } + + public update( options: VisualUpdateOptions ) { + + if ( this.target && document ) { + this.initContainer(); + this.initScene() + } + } + canvas!: HTMLCanvasElement + container!: HTMLDivElement + private initContainer() { + this.canvas = document.createElement( 'canvas' ) + this.canvas.style.width = '100%' + this.canvas.style.height = '100%' + this.canvas.style.position = 'absolute' + + this.container = document.createElement( 'div' ) + this.container.style.width = '100%' + this.container.style.height = '100%' + this.container.style.position = 'relative' + this.container.appendChild( this.canvas ) + this.target.appendChild( this.container ) + } + + + bimModel!: BimModel + private initScene() { + this.bimModel = new BimModel( this.container, this.canvas ) + this.initButton() + } + private initButton() { + const divBtn = document.createElement( 'div' ) + divBtn.style.position = 'absolute' + divBtn.style.zIndex = '1000' + const btn = document.createElement( 'button' ) + btn.style.outline = 'none' + btn.style.border = 'none' + btn.style.cursor = 'pointer' + divBtn.appendChild( btn ) + this.container.appendChild( divBtn ) + btn.textContent = this.bimModel.scene.children.length.toString() + btn.addEventListener( 'click', () => { + this.loadFileLocal( btn ) + } ) + } + private loadFileLocal( btn: HTMLButtonElement ) { + const input = document.createElement( "input" ); + input.setAttribute( "type", "file" ); + input.setAttribute( "accept", ".frag" ); + input.click(); + const bimModel = this.bimModel + input.onchange = async function ( e: any ) { + const file = e.target.files[0] as File; + const reader = new FileReader(); + + reader.onload = () => { + const dataBlob = reader.result as ArrayBuffer + const buffer = new Uint8Array( dataBlob ); + bimModel.loadModel( buffer, btn ) + + }; + reader.onerror = () => { + btn.textContent = "Error" + } + reader.readAsArrayBuffer( file ); + }; + input.remove(); + } + + // /** + // * Returns properties pane formatting model content hierarchies, properties and latest formatting values, Then populate properties pane. + // * This method is called once every time we open properties pane or when the user edit any format property. + // */ + // public getFormattingModel(): powerbi.visuals.FormattingModel { + // return this.formattingSettingsService.buildFormattingModel(this.formattingSettings); + // } +} \ No newline at end of file diff --git a/style/styles.css b/style/styles.css new file mode 100644 index 0000000..c5644a8 --- /dev/null +++ b/style/styles.css @@ -0,0 +1,1676 @@ +@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;600;700;800&display=swap'); + +:root { + --primary-color: #BCF124; + --secondary-color: #6528D7; + /* TODO: Probably this needs to be called background-color */ + --secondary-color-100: #000000bb; + --secondary-color-120: #1a2128; +} + +* { + background-color: transparent; +} + +/* ! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com */ + +/* +1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) +2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) +*/ + +*, +::before, +::after { + box-sizing: border-box; + /* 1 */ + border-width: 0; + /* 2 */ + border-style: solid; + /* 2 */ + border-color: #e5e7eb; + /* 2 */ +} + +::before, +::after { + --tw-content: ''; +} + +/* +1. Use a consistent sensible line-height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +3. Use a more readable tab size. +4. Use the user's configured `sans` font-family by default. +5. Use the user's configured `sans` font-feature-settings by default. +6. Use the user's configured `sans` font-variation-settings by default. +*/ + +html { + line-height: 1.5; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + -moz-tab-size: 4; + /* 3 */ + -o-tab-size: 4; + tab-size: 4; + /* 3 */ + font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + /* 4 */ + font-feature-settings: normal; + /* 5 */ + font-variation-settings: normal; + /* 6 */ +} + +/* +1. Remove the margin in all browsers. +2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. +*/ + +body { + margin: 0; + /* 1 */ + line-height: inherit; + /* 2 */ +} + +/* +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +3. Ensure horizontal rules are visible by default. +*/ + +hr { + height: 0; + /* 1 */ + color: inherit; + /* 2 */ + border-top-width: 1px; + /* 3 */ +} + +/* +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr:where([title]) { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} + +/* +Remove the default font size and weight for headings. +*/ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/* +Reset links to optimize for opt-in styling instead of opt-out. +*/ + +a { + color: inherit; + text-decoration: inherit; +} + +/* +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/* +1. Use the user's configured `mono` font family by default. +2. Correct the odd `em` font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/* +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/* +Prevent `sub` and `sup` elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +3. Remove gaps between table borders by default. +*/ + +table { + text-indent: 0; + /* 1 */ + border-color: inherit; + /* 2 */ + border-collapse: collapse; + /* 3 */ +} + +/* +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +3. Remove default padding in all browsers. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 */ + font-feature-settings: inherit; + /* 1 */ + font-variation-settings: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + font-weight: inherit; + /* 1 */ + line-height: inherit; + /* 1 */ + color: inherit; + /* 1 */ + margin: 0; + /* 2 */ + padding: 0; + /* 3 */ +} + +/* +Remove the inheritance of text transform in Edge and Firefox. +*/ + +button, +select { + text-transform: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Remove default button styles. +*/ + +button, +[type='button'], +[type='reset'], +[type='submit'] { + -webkit-appearance: button; + /* 1 */ + background-color: transparent; + /* 2 */ + background-image: none; + /* 2 */ +} + +/* +Use the modern Firefox focus style for all focusable elements. +*/ + +:-moz-focusring { + outline: auto; +} + +/* +Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/* +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/* +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/* +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/* +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to `inherit` in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/* +Removes the default spacing and border for appropriate elements. +*/ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +fieldset { + margin: 0; + padding: 0; +} + +legend { + padding: 0; +} + +ol, +ul, +menu { + list-style: none; + margin: 0; + padding: 0; +} + +/* +Reset default styling for dialogs. +*/ + +dialog { + padding: 0; +} + +/* +Prevent resizing textareas horizontally by default. +*/ + +textarea { + resize: vertical; +} + +/* +1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) +2. Set the default placeholder color to the user's configured gray 400 color. +*/ + +input::-moz-placeholder, textarea::-moz-placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +input::placeholder, +textarea::placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +/* +Set the default cursor for buttons. +*/ + +button, +[role="button"] { + cursor: pointer; +} + +/* +Make sure disabled buttons don't get the pointer cursor. +*/ + +:disabled { + cursor: default; +} + +/* +1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) +2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) + This can trigger a poorly considered lint error in some tools but is included by design. +*/ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; + /* 1 */ + vertical-align: middle; + /* 2 */ +} + +/* +Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) +*/ + +img, +video { + max-width: 100%; + height: auto; +} + +/* Make elements with the HTML hidden attribute stay hidden by default */ + +[hidden] { + display: none; +} + +html { + font-family: 'Plus Jakarta Sans', sans-serif; +} + +*, ::before, ::after{ + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; +} + +::backdrop{ + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; +} + +.\!container{ + width: 100% !important; +} + +.container{ + width: 100%; +} + +@media (min-width: 640px){ + .\!container{ + max-width: 640px !important; + } + + .container{ + max-width: 640px; + } +} + +@media (min-width: 768px){ + .\!container{ + max-width: 768px !important; + } + + .container{ + max-width: 768px; + } +} + +@media (min-width: 1024px){ + .\!container{ + max-width: 1024px !important; + } + + .container{ + max-width: 1024px; + } +} + +@media (min-width: 1280px){ + .\!container{ + max-width: 1280px !important; + } + + .container{ + max-width: 1280px; + } +} + +@media (min-width: 1536px){ + .\!container{ + max-width: 1536px !important; + } + + .container{ + max-width: 1536px; + } +} + +.sr-only{ + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.pointer-events-none{ + pointer-events: none; +} + +.pointer-events-auto{ + pointer-events: auto; +} + +.visible{ + visibility: visible; +} + +.invisible{ + visibility: hidden; +} + +.collapse{ + visibility: collapse; +} + +.static{ + position: static; +} + +.absolute{ + position: absolute; +} + +.relative{ + position: relative; +} + +.bottom-0{ + bottom: 0px; +} + +.bottom-4{ + bottom: 1rem; +} + +.bottom-8{ + bottom: 2rem; +} + +.left-0{ + left: 0px; +} + +.left-1\/2{ + left: 50%; +} + +.left-5{ + left: 1.25rem; +} + +.left-8{ + left: 2rem; +} + +.right-0{ + right: 0px; +} + +.right-8{ + right: 2rem; +} + +.top-0{ + top: 0px; +} + +.top-5{ + top: 1.25rem; +} + +.top-8{ + top: 2rem; +} + +.isolate{ + isolation: isolate; +} + +.z-10{ + z-index: 10; +} + +.z-20{ + z-index: 20; +} + +.z-50{ + z-index: 50; +} + +.m-4{ + margin: 1rem; +} + +.mx-auto{ + margin-left: auto; + margin-right: auto; +} + +.my-2{ + margin-top: 0.5rem; + margin-bottom: 0.5rem; +} + +.mb-2{ + margin-bottom: 0.5rem; +} + +.mb-4{ + margin-bottom: 1rem; +} + +.ml-3{ + margin-left: 0.75rem; +} + +.ml-4{ + margin-left: 1rem; +} + +.ml-auto{ + margin-left: auto; +} + +.mr-2{ + margin-right: 0.5rem; +} + +.mr-4{ + margin-right: 1rem; +} + +.mr-auto{ + margin-right: auto; +} + +.mt-1{ + margin-top: 0.25rem; +} + +.mt-auto{ + margin-top: auto; +} + +.box-border{ + box-sizing: border-box; +} + +.block{ + display: block; +} + +.flex{ + display: flex; +} + +.inline-flex{ + display: inline-flex; +} + +.grid{ + display: grid; +} + +.hidden{ + display: none; +} + +.h-2{ + height: 0.5rem; +} + +.h-2\.5{ + height: 0.625rem; +} + +.h-4{ + height: 1rem; +} + +.h-40{ + height: 10rem; +} + +.h-8{ + height: 2rem; +} + +.h-\[15px\]{ + height: 15px; +} + +.h-\[48px\]{ + height: 48px; +} + +.h-\[60px\]{ + height: 60px; +} + +.h-\[8px\]{ + height: 8px; +} + +.h-fit{ + height: -moz-fit-content; + height: fit-content; +} + +.h-full{ + height: 100%; +} + +.h-screen{ + height: 100vh; +} + +.max-h-8{ + max-height: 2rem; +} + +.max-h-\[300px\]{ + max-height: 300px; +} + +.max-h-full{ + max-height: 100%; +} + +.min-h-\[30px\]{ + min-height: 30px; +} + +.min-h-\[40px\]{ + min-height: 40px; +} + +.min-h-\[80px\]{ + min-height: 80px; +} + +.w-2{ + width: 0.5rem; +} + +.w-2\.5{ + width: 0.625rem; +} + +.w-4{ + width: 1rem; +} + +.w-8{ + width: 2rem; +} + +.w-80{ + width: 20rem; +} + +.w-\[15px\]{ + width: 15px; +} + +.w-\[350px\]{ + width: 350px; +} + +.w-\[60px\]{ + width: 60px; +} + +.w-\[8px\]{ + width: 8px; +} + +.w-fit{ + width: -moz-fit-content; + width: fit-content; +} + +.w-full{ + width: 100%; +} + +.w-max{ + width: -moz-max-content; + width: max-content; +} + +.w-screen{ + width: 100vw; +} + +.min-w-\[150px\]{ + min-width: 150px; +} + +.min-w-\[300px\]{ + min-width: 300px; +} + +.min-w-\[4\.5rem\]{ + min-width: 4.5rem; +} + +.max-w-full{ + max-width: 100%; +} + +.max-w-xs{ + max-width: 20rem; +} + +.flex-1{ + flex: 1 1 0%; +} + +.flex-shrink-0{ + flex-shrink: 0; +} + +.grow{ + flex-grow: 1; +} + +.-translate-x-1\/2{ + --tw-translate-x: -50%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.-translate-y-12{ + --tw-translate-y: -3rem; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.transform{ + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +@keyframes spin{ + to{ + transform: rotate(360deg); + } +} + +.animate-spin{ + animation: spin 1s linear infinite; +} + +.cursor-move{ + cursor: move; +} + +.cursor-pointer{ + cursor: pointer; +} + +.select-none{ + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + +.resize{ + resize: both; +} + +.flex-row{ + flex-direction: row; +} + +.flex-col{ + flex-direction: column; +} + +.flex-wrap{ + flex-wrap: wrap; +} + +.items-start{ + align-items: flex-start; +} + +.items-center{ + align-items: center; +} + +.justify-start{ + justify-content: flex-start; +} + +.justify-end{ + justify-content: flex-end; +} + +.justify-center{ + justify-content: center; +} + +.justify-between{ + justify-content: space-between; +} + +.gap-4{ + gap: 1rem; +} + +.gap-x-2{ + -moz-column-gap: 0.5rem; + column-gap: 0.5rem; +} + +.gap-x-3{ + -moz-column-gap: 0.75rem; + column-gap: 0.75rem; +} + +.gap-y-2{ + row-gap: 0.5rem; +} + +.gap-y-3{ + row-gap: 0.75rem; +} + +.gap-y-4{ + row-gap: 1rem; +} + +.self-end{ + align-self: flex-end; +} + +.overflow-auto{ + overflow: auto; +} + +.overflow-visible{ + overflow: visible; +} + +.overflow-x-hidden{ + overflow-x: hidden; +} + +.whitespace-nowrap{ + white-space: nowrap; +} + +.rounded{ + border-radius: 0.25rem; +} + +.rounded-\[10px\]{ + border-radius: 10px; +} + +.rounded-full{ + border-radius: 9999px; +} + +.rounded-lg{ + border-radius: 0.5rem; +} + +.rounded-md{ + border-radius: 0.375rem; +} + +.border{ + border-width: 1px; +} + +.border-0{ + border-width: 0px; +} + +.border-1{ + border-width: 1px; +} + +.border-2{ + border-width: 2px; +} + +.border-b-2{ + border-bottom-width: 2px; +} + +.border-solid{ + border-style: solid; +} + +.border-dashed{ + border-style: dashed; +} + +.border-\[\#3A444E\]{ + --tw-border-opacity: 1; + border-color: rgb(58 68 78 / var(--tw-border-opacity)); +} + +.border-gray-300{ + --tw-border-opacity: 1; + border-color: rgb(209 213 219 / var(--tw-border-opacity)); +} + +.border-ifcjs-120{ + border-color: var(--secondary-color-120); +} + +.border-red-500{ + --tw-border-opacity: 1; + border-color: rgb(239 68 68 / var(--tw-border-opacity)); +} + +.border-red-600{ + --tw-border-opacity: 1; + border-color: rgb(220 38 38 / var(--tw-border-opacity)); +} + +.border-transparent{ + border-color: transparent; +} + +.bg-\[\#201491DD\]{ + background-color: #201491DD; +} + +.bg-\[\#212121\]{ + --tw-bg-opacity: 1; + background-color: rgb(33 33 33 / var(--tw-bg-opacity)); +} + +.bg-\[\#3CE6FEDD\]{ + background-color: #3CE6FEDD; +} + +.bg-\[\#BD4BF3DD\]{ + background-color: #BD4BF3DD; +} + +.bg-ifcjs-100{ + background-color: var(--secondary-color-100); +} + +.bg-ifcjs-120{ + background-color: var(--secondary-color-120); +} + +.bg-ifcjs-200{ + background-color: var(--primary-color); +} + +.bg-ifcjs-300{ + background-color: var(--secondary-color); +} + +.bg-red-600{ + --tw-bg-opacity: 1; + background-color: rgb(220 38 38 / var(--tw-bg-opacity)); +} + +.bg-transparent{ + background-color: transparent; +} + +.fill-black{ + fill: #0D0D0D; +} + +.fill-white{ + fill: #F2F2F2; +} + +.p-1{ + padding: 0.25rem; +} + +.p-2{ + padding: 0.5rem; +} + +.p-3{ + padding: 0.75rem; +} + +.p-4{ + padding: 1rem; +} + +.px-3{ + padding-left: 0.75rem; + padding-right: 0.75rem; +} + +.px-4{ + padding-left: 1rem; + padding-right: 1rem; +} + +.px-6{ + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.py-1{ + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} + +.py-1\.5{ + padding-top: 0.375rem; + padding-bottom: 0.375rem; +} + +.py-2{ + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.py-3{ + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.py-\[5px\]{ + padding-top: 5px; + padding-bottom: 5px; +} + +.pb-4{ + padding-bottom: 1rem; +} + +.pb-6{ + padding-bottom: 1.5rem; +} + +.pl-4{ + padding-left: 1rem; +} + +.pl-\[22px\]{ + padding-left: 22px; +} + +.pr-3{ + padding-right: 0.75rem; +} + +.pr-4{ + padding-right: 1rem; +} + +.pt-4{ + padding-top: 1rem; +} + +.pt-5{ + padding-top: 1.25rem; +} + +.text-center{ + text-align: center; +} + +.text-2xl{ + font-size: 22px; + line-height: 2rem; +} + +.text-base{ + font-size: 16px; + line-height: 1.5rem; +} + +.text-sm{ + font-size: 14px; + line-height: 1.25rem; +} + +.text-xl{ + font-size: 20px; + line-height: 1.75rem; +} + +.text-xs{ + font-size: 12px; + line-height: 1rem; +} + +.font-bold{ + font-weight: 700; +} + +.font-medium{ + font-weight: 500; +} + +.font-normal{ + font-weight: 400; +} + +.font-semibold{ + font-weight: 600; +} + +.uppercase{ + text-transform: uppercase; +} + +.leading-6{ + line-height: 1.5rem; +} + +.tracking-\[1\.25px\]{ + letter-spacing: 1.25px; +} + +.text-gray-100{ + --tw-text-opacity: 1; + color: rgb(243 244 246 / var(--tw-text-opacity)); +} + +.text-gray-400{ + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity)); +} + +.text-gray-500{ + --tw-text-opacity: 1; + color: rgb(107 114 128 / var(--tw-text-opacity)); +} + +.text-ifcjs-100{ + color: var(--secondary-color-100); +} + +.text-ifcjs-200{ + color: var(--primary-color); +} + +.text-ifcjs-300{ + color: var(--secondary-color); +} + +.text-white{ + --tw-text-opacity: 1; + color: rgb(242 242 242 / var(--tw-text-opacity)); +} + +.accent-ifcjs-300{ + accent-color: var(--secondary-color); +} + +.opacity-0{ + opacity: 0; +} + +.\!shadow{ + --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1) !important; + --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color) !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; +} + +.shadow{ + --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-md{ + --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-sm{ + --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.outline{ + outline-style: solid; +} + +.ring-1{ + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} + +.ring-gray-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity)); +} + +.blur{ + --tw-blur: blur(8px); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.invert{ + --tw-invert: invert(100%); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.\!filter{ + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important; +} + +.filter{ + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.backdrop-blur-xl{ + --tw-backdrop-blur: blur(24px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} + +.transition{ + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-all{ + transition-property: all; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-none{ + transition-property: none; +} + +.transition-opacity{ + transition-property: opacity; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-transform{ + transition-property: transform; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.duration-300{ + transition-duration: 300ms; +} + +.ease-in-out{ + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} + +.material-icons.md-18 { + font-size: 18px; +} + +.material-icons.md-16 { + font-size: 16px; +} + +h3{ + font-size: 24px; + line-height: 2.25rem; + font-weight: 500; + color: var(--primary-color); +} + +dialog{ + overflow: visible; +} + +dialog::backdrop{ + --tw-backdrop-blur: blur(12px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} + +.full-screen, #app { + width: 100vw; + height: 100vh; + position: relative; + overflow: hidden; +} + +::-webkit-scrollbar { + width: 8px; +} + +::-webkit-scrollbar-track { + background-color: var(--secondary-color-100); +} + +::-webkit-scrollbar-thumb { + background-color: var(--secondary-color); + border-radius: 9999px; +} + +.placeholder\:text-gray-400::-moz-placeholder{ + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity)); +} + +.placeholder\:text-gray-400::placeholder{ + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity)); +} + +.hover\:cursor-pointer:hover{ + cursor: pointer; +} + +.hover\:border-ifcjs-200:hover{ + border-color: var(--primary-color); +} + +.hover\:bg-error:hover{ + --tw-bg-opacity: 1; + background-color: rgb(255 82 82 / var(--tw-bg-opacity)); +} + +.hover\:bg-ifcjs-120:hover{ + background-color: var(--secondary-color-120); +} + +.hover\:bg-ifcjs-200:hover{ + background-color: var(--primary-color); +} + +.hover\:bg-success:hover{ + --tw-bg-opacity: 1; + background-color: rgb(76 175 80 / var(--tw-bg-opacity)); +} + +.hover\:fill-black:hover{ + fill: #0D0D0D; +} + +.hover\:text-black:hover{ + --tw-text-opacity: 1; + color: rgb(13 13 13 / var(--tw-text-opacity)); +} + +.hover\:text-ifcjs-100:hover{ + color: var(--secondary-color-100); +} + +.hover\:text-ifcjs-200:hover{ + color: var(--primary-color); +} + +.hover\:backdrop-blur-xl:hover{ + --tw-backdrop-blur: blur(24px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} + +.focus\:outline-none:focus{ + outline: 2px solid transparent; + outline-offset: 2px; +} + +.focus\:ring-ifcjs-200:focus{ + --tw-ring-color: var(--primary-color); +} + +.focus\:ring-ifcjs-300:focus{ + --tw-ring-color: var(--secondary-color); +} + +.disabled\:cursor-default:disabled{ + cursor: default; +} + +.disabled\:bg-gray-600:disabled{ + --tw-bg-opacity: 1; + background-color: rgb(75 85 99 / var(--tw-bg-opacity)); +} + +.disabled\:text-gray-400:disabled{ + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity)); +} + +.data-\[active\=true\]\:cursor-pointer[data-active=true]{ + cursor: pointer; +} + +.data-\[active\=true\]\:bg-ifcjs-200[data-active=true]{ + background-color: var(--primary-color); +} + +.data-\[active\=true\]\:text-black[data-active=true]{ + --tw-text-opacity: 1; + color: rgb(13 13 13 / var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark){ + .dark\:border-gray-600{ + --tw-border-opacity: 1; + border-color: rgb(75 85 99 / var(--tw-border-opacity)); + } + + .dark\:bg-blue-800{ + --tw-bg-opacity: 1; + background-color: rgb(30 64 175 / var(--tw-bg-opacity)); + } + + .dark\:bg-gray-700{ + --tw-bg-opacity: 1; + background-color: rgb(55 65 81 / var(--tw-bg-opacity)); + } + + .dark\:bg-gray-800{ + --tw-bg-opacity: 1; + background-color: rgb(31 41 55 / var(--tw-bg-opacity)); + } + + .dark\:text-blue-200{ + --tw-text-opacity: 1; + color: rgb(191 219 254 / var(--tw-text-opacity)); + } + + .dark\:text-gray-400{ + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity)); + } + + .dark\:hover\:border-gray-500:hover{ + --tw-border-opacity: 1; + border-color: rgb(107 114 128 / var(--tw-border-opacity)); + } + + .dark\:hover\:bg-gray-600:hover{ + --tw-bg-opacity: 1; + background-color: rgb(75 85 99 / var(--tw-bg-opacity)); + } +} \ No newline at end of file diff --git a/style/visual.less b/style/visual.less new file mode 100644 index 0000000..9b1f1dd --- /dev/null +++ b/style/visual.less @@ -0,0 +1,9 @@ +p { + font-size: 20px; + font-weight: bold; + em { + background: yellow; + padding: 5px; + + } +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..f70bc51 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "allowJs": false, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "target": "es2022", + "sourceMap": true, + "outDir": "./.tmp/build/", + "moduleResolution": "node", + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, + "typeRoots": ["./typings", "./node_modules/@types"], + "declaration": true, + "lib": [ + "es2022", + "dom" + ] + }, + "files": [ + "./src/visual.ts" + ] +} \ No newline at end of file diff --git a/tslint.json b/tslint.json new file mode 100644 index 0000000..8eb111c --- /dev/null +++ b/tslint.json @@ -0,0 +1,79 @@ +{ + "rules": { + "class-name": true, + "comment-format": [ + true, + "check-space" + ], + "indent": [ + true, + "spaces" + ], + "no-duplicate-variable": true, + "no-eval": true, + "no-internal-module": false, + "no-trailing-whitespace": true, + "no-unsafe-finally": true, + "no-var-keyword": true, + "one-line": [ + true, + "check-open-brace", + "check-whitespace" + ], + "quotemark": [ + false, + "double" + ], + "semicolon": [ + true, + "always" + ], + "triple-equals": [ + true, + "allow-null-check" + ], + "typedef-whitespace": [ + true, + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + } + ], + "variable-name": [ + true, + "ban-keywords" + ], + "whitespace": [ + true, + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type" + ], + "insecure-random": true, + "no-banned-terms": true, + "no-cookies": true, + "no-delete-expression": true, + "no-disable-auto-sanitization": true, + "no-document-domain": true, + "no-document-write": true, + "no-exec-script": true, + "no-function-constructor-with-string-args": true, + "no-http-string": [true, "http://www.example.com/?.*", "http://www.examples.com/?.*"], + "no-inner-html": true, + "no-octal-literal": true, + "no-reserved-keywords": true, + "no-string-based-set-immediate": true, + "no-string-based-set-interval": true, + "no-string-based-set-timeout": true, + "non-literal-require": true, + "possible-timing-attack": true, + "react-anchor-blank-noopener": true, + "react-iframe-missing-sandbox": true, + "react-no-dangerous-html": true + } +} diff --git a/typings/CSS2DRenderer.d.ts b/typings/CSS2DRenderer.d.ts new file mode 100644 index 0000000..f39b089 --- /dev/null +++ b/typings/CSS2DRenderer.d.ts @@ -0,0 +1,6 @@ +// CSS2DRenderer.d.ts + +declare module 'three/examples/jsm/renderers/CSS2DRenderer' { + import { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer'; + export default CSS2DRenderer; +} \ No newline at end of file